首页 / 专利库 / 图形技术 / 色度 / 一种多视频实时拼接方法及装置

一种多视频实时拼接方法及装置

阅读:2发布:2020-06-30

专利汇可以提供一种多视频实时拼接方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 属于信息处理技术领域,具体涉及一种多视频实时拼接方法及装置。该拼接方法包括以下步骤:接收至少包含第一视频数据和第二视频数据的视频信息;将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;读取所述第一缓冲区中的所述第一视频数据,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,得到包含第二视频当前图像信息的解码数据;拼接第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。该拼接方法可用于多视频的实时性拼接,其拼接流程简单、效率较高、灵活性较大。,下面是一种多视频实时拼接方法及装置专利的具体信息内容。

1.一种多视频实时拼接方法,其包括以下步骤:
接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息;
将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;
读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据;
拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息;
所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据;
所述合并像素YUV数据信息是平合并像素YUV数据信息,获得水平合并像素YUV数据信息的步骤包括:
从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据;
将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据;
将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
2.根据权利要求1所述的多视频实时拼接方法,其特征在于,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,获得垂直合并像素YUV数据信息的步骤包括:
从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据;
将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据;
将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
3.根据权利要求1所述的多视频实时拼接方法,其特征在于,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;拼接所述第一视频当前图像信息和第二视频当前图像信息之前,还包括:
判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致;
如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。
4.一种多视频实时拼接装置,其包括:
接收模,用于接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息;
存储模块,用于将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;
解码模块,用于读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据;
拼接模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息;
所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据;
所述合并像素YUV数据信息是水平合并像素YUV数据信息,且所述拼接模块包括:
获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据;
水平合并单元,用于将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据;
所述水平合并单元,还用于将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
5.根据权利要求4所述的多视频实时拼接装置,其特征在于,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,且所述拼接模块包括:
获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据;
垂直合并单元,用于将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据;
所述垂直合并单元,还用于将将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
6.根据权利要求4所述的多视频实时拼接装置,其特征在于,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;且所述多视频实时拼接装置还包括:
判断模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息之前,判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致;
处理模块,用于如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。

说明书全文

一种多视频实时拼接方法及装置

技术领域

[0001] 本发明属于信息处理技术领域,具体涉及一种多视频实时拼接方法及装置。

背景技术

[0002] 随着网络越来越发达,人们在进行社交、娱乐过程中,很多是通过网络进行信息交流。其中的视频聊天或视频直播尤其是同时显示多路视频的技术,极大地方便了人与人之间的信息沟通。另外,当前的能够同时显示多路监控视频的技术也越来越受人们的青睐。
[0003] 不管是显示多路视频的视频聊天或者视频监控技术,人们的需求不仅仅是将多路视频进行同时显示,也不限于要保证每个画面的清晰度,更是对多路视频进行同时显示的实时性提出了很高的要求,而当前的视频拼接技术存在流程复杂、效率较低、灵活性不大等不足,很大程度地限制了实时性的提高。

发明内容

[0004] 为了解决上述的技术问题,本发明提供一种多视频实时拼接方法及装置,该拼接方法流程简单、效率较高、灵活性较大,可以很大程度地提高视频拼接的实时性。
[0005] 一方面,本发明提供一种多视频实时拼接方法,其包括以下步骤:
[0006] 接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息;
[0007] 将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;
[0008] 读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据;
[0009] 拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。
[0010] 优选的是,所述的多视频实时拼接方法中,所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据。
[0011] 进一步优选的是,所述多视频实时拼接方法中,所述合并像素YUV数据信息是平合并像素YUV数据信息,获得水平合并像素YUV数据信息的步骤包括:
[0012] 从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据;
[0013] 将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据;
[0014] 将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
[0015] 较佳地,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,获得垂直合并像素YUV数据信息的步骤包括:
[0016] 从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据;
[0017] 将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据;
[0018] 将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
[0019] 优选的是,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;拼接所述第一视频当前图像信息和第二视频当前图像信息之前,还包括:
[0020] 判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致;
[0021] 如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。
[0022] 另一方面,本发明还提供一种多视频实时拼接装置,其包括:
[0023] 接收模,用于接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息;
[0024] 存储模块,用于将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;
[0025] 解码模块,用于读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据;
[0026] 拼接模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。
[0027] 优选的是,所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据。
[0028] 所述多视频实时拼接装置,较佳的是,所述合并像素YUV数据信息是水平合并像素YUV数据信息,且所述拼接模块包括:
[0029] 获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据;
[0030] 水平合并单元,用于将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据;
[0031] 所述水平合并单元,还用于将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
[0032] 所述多视频实时拼接方法,优选的是,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,且所述拼接模块包括:
[0033] 获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据;
[0034] 垂直合并单元,用于将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据;
[0035] 所述垂直合并单元,还用于将将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
[0036] 优选的是,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;且所述多视频实时拼接装置还包括:
[0037] 判断模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息之前,判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致;
[0038] 处理模块,用于如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。
[0039] 本发明实施例中的多视频实时拼接方法,可以将视频采集端采集到的当前图像信息实时发送给服务器,服务器收到第一视频数据和第二视频数据的视频信息后,为了加快处理速度,先将第一视频数据和第二视频数据分别存储到与其对应的缓冲区中,以方便及时读取到第一视频数据和第二视频数据;经过解码,可以得到第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据,得到的解码数据可用于对图像信息进行拼接;经过拼接,可以得到第一视频当前图像和第二视频当前图像的当前拼接图像信息,通过对第一视频和第二视频多个连续的当前图像进行拼接,即可得到连续的拼接图像信息,即可实现对第一视频数据和第二视频数据进行实时拼接。本发明实施例拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性。附图说明
[0040] 图1为本发明一优选实施例中的多视频实时拼接方法的流程图
[0041] 图2为本发明一优选实施例中的基于图1所示的视频实时拼接方法的部分流程图。
[0042] 图3为本发明另一优选实施例中的基于图1所示的视频实时拼接方法的部分流程图。
[0043] 图4为本发明另一优选实施例中的基于图1所示的视频实时拼接方法的部分流程图。
[0044] 图5为本发明一优选实施例中的多视频实时拼接装置的结构图。
[0045] 图6为本发明一优选实施例中的基于图1所示的多视频实时拼接装置的结构图。
[0046] 图7为本发明另一优选实施例中的基于图1所示的多视频实时拼接装置的结构图。
[0047] 图8为本发明另一优选实施例中的基于图1所示的多视频实时拼接装置的结构图。

具体实施方式

[0048] 为了更加清楚地了解本发明的技术方案,下面结合附图对本发明进行详细介绍。本发明的实施例具有示例性的作用,本领域技术人员在本发明实施例基础上做出的无实质性的改进,都应属于本发明的保护范围。
[0049] 如图1所述的多视频实时拼接方法,其可应用于服务器端,包括以下步骤:
[0050] S101:接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息。
[0051] 当视频采集端采集到视频数据时,需要上传给服务器,经服务器对当前视频数据的处理后,发送给视频显示端,由视频显示端同时显示多路视频。具体可以是:当第一用户与第二用户进行视频沟通时,由第一客户端采集第一视频数据,并将第一视频数据上传给服务器,由第二客户端采集第二视频数据,并将第二视频数据上传给服务器,服务器接收到第一视频数据和第二视频数据的视频信息后,对视频数据进行处理,再将处理后的视频信息分别发送给第一客户端和第二客户端。当然,也可以两个以上的用户同时进行视频沟通。或者,在进行视频监控时,由多个监控端分别采集多个视频数据,并分别将采集到的多个视频数据上传给服务器,服务器接收到多个视频数据后,对视频数据进行处理,再将处理后的视频信息发送给视频显示端,由视频显示端同时显示多路视频。
[0052] 所述第一视频当前图像信息,是指第一视频采集端当前采集到的图像信息;所述第二视频当前图像信息,是指第二视频采集端当前采集到的图像信息。视频采集端把当前采集到的图像信息发送给服务器,经服务器处理后,可以在显示端实时显示多个采集端采集到的图像信息。
[0053] 通常,为了加快传输速度及实时显示,每个采集端在发送视频数据时,可以只包含当前图像信息,当然为了满足不同需求,视频数据中也可以包含除当前图像信息之外的其他图像信息。另外,服务器可以同时接收两路视频信息或三路视频信息或者更多的视频信息。
[0054] S102:将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区。
[0055] 可以事先为第一视频数据和第二视频数据分配相对应的缓冲区,当服务器接收到第一视频数据和第二视频数据后,将第一视频数据存储到第一缓冲区,将第二视频数据存储到第二缓冲区,以备服务器拼接视频数据之前,快速从缓冲区中读取相对应的视频数据。
[0056] S103:读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据。
[0057] 为了加快采集端与服务器之间的传输速率,采集端在进行发送视频数据之前,通常对视频数据进行压缩处理,如:采集端采集到视频数据后,可以把采集到的视频数据转换成I420格式(即YUV标准格式4:2:0)或YV12格式,然后对I420格式或YV12格式的YUV数据进行编码压缩,具体可以压缩成H264码流,并对H264码流进行RTP封装,然后以RTP协议发送到服务器。H264,是一种高度压缩数字视频编解码器标准。RTP(Real-time Transport Protocol,实时传输协议)是一个网络传输协议。YUV数据中的“Y” 表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色
[0058] 经服务器解码获得的第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据,是采集端压缩之前的格式数据。如果采集端是对I420格式或YV12格式的YUV数据进行编码压缩,经服务器解码获得的第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据是I420格式或YV12格式的YUV数据。
[0059] S104:拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。
[0060] 拼接所述第一视频当前图像信息和第二视频当前图像信息,具体可以是将第一视频当前图像信息和第二视频当前图像信息进行水平拼接或者垂直拼接或者对拼接或者其他形式的拼接。
[0061] 所述第一视频数据中通常还包括第一视频当前图像的来源信息,所述第二视频数据中通常还包括第二视频当前图像的来源信息。一般,在拼接所述第一视频当前图像信息和第二视频当前图像信息之前,还包括:根据第一视频当前图像的来源信息和第二视频当前图像的来源信息及预先设定的编排规则,编排所述当前拼接图像信息中所述第一视频当前图像信息和所述第二视频当前图像信息的顺序。所述预先设定的编排规则,通常是根据具体情况而设定的规则,例如:若是水平拼接,预先设定的编排规则可以是:将第一视频当前图像设置在左边显示,将第二视频当前图像设置在右边显示;若是垂直拼接,预先设定的编排规则可以是:将第一视频当前图像设置在上边显示,将第二视频当前图像设置在下边显示;若是对角拼接,预先设定的编排规则可以是:将第一视频当前图像设置在左上角显示,将第二视频当前图像设置在右下角显示。当然,这里的“左”、“右”、“上”、“下”、“左上角”、“右下角”都是第一视频当前图像和第二视频当前图像之间相对而言的。
[0062] 另外,若第一视频当前图像信息和第二视频当前图像信息进行水平拼接,则得到的当前拼接图像信息是水平拼接图像信息,服务器将该水平拼接图像信息传输给视频显示端后,在视频显示端可以同时显示出第一视频当前图像和第二视频当前图像,且第一视频当前图像和第二视频当前图像是进行水平排列的。若第一视频当前图像信息和第二视频当前图像信息进行垂直拼接,则得到的当前拼接图像信息是垂直拼接图像信息,服务器将该垂直拼接图像信息传输给视频显示端后,在视频显示端可以同时显示出第一视频当前图像和第二视频当前图像,且第一视频当前图像和第二视频当前图像是进行垂直排列的。
[0063] 通常为了方便对第一视频当前图像信息和第二视频当前图像信息进行解码,在对第一视频当前图像信息和第二视频当前图像信息进行编码时,应采用相同的编码方法,以便于采用相同的解码方法进行解码,可以加快解码效率,进而进一步提高拼接效率。另外,第一视频当前图像和第二视频当前图像的分辨率要相同,以便于采用相同的编码方法。
[0064] 本发明实施例中的服务器具体可以用两个线程来处理,分别是主线程与子线程;主线程负责接收至少包含第一视频数据和第二视频数据的视频信息,并将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区。子线程负责视频拼接处理,可以包括:从主线程的第一缓冲区、第二缓冲区中分别读取第一视频数据和第二视频数据数据,并对第一视频数据和第二视频数据分别进行解封装,得到第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据,通过拼接技术将第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据进行拼接,可以得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。
[0065] 本发明实施例中的多视频实时拼接方法,其可以将视频采集端采集到的当前图像信息实时发送给服务器,服务器收到第一视频数据和第二视频数据的视频信息后,为了加快处理速度,先将第一视频数据和第二视频数据分别存储到与其对应的缓冲区中,以方便及时读取到第一视频数据和第二视频数据;经过服务器解码,可以得到第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据,得到的解码数据可用于对图像信息进行拼接;经过拼接,可以得到第一视频当前图像和第二视频当前图像的当前拼接图像信息,通过对第一视频和第二视频多个连续的当前图像进行拼接,即可得到连续的拼接图像信息,即可实现对第一视频数据和第二视频数据进行实时拼接。本发明实施例拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性。
[0066] 在图1所示的多视频实时拼接方法的基础上,较佳地,所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据。
[0067] 服务器接收到的第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息、第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息,即可以是:采集端把采集到的第一视频(或第二视频)当前图像的像素数据信息转换成I420格式(即YUV标准格式4:2:0)或YV12格式,即是第一视频(或第二视频)当前图像的像素YUV数据信息,然后对第一视频(或第二视频)当前图像的像素YUV数据信息进行编码压缩,将压缩后的第一视频(或第二视频)当前图像的像素YUV数据信息传送给服务器,即是采用压缩后的像素YUV数据信息进行传输,相对于采用RGB格式的数据进行传输,减小了数据大小,可以提高传输速率,进一步提高拼接的实时性。
[0068] 进一步,在图1所示的多视频实时拼接方法的基础上,如图2所示,其中,所述合并像素YUV数据信息是水平合并像素YUV数据信息,获得水平合并像素YUV数据信息的步骤包括:
[0069] S201:从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据。
[0070] 其中,第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,是指每一行像素中的每一个像素的明亮度数据和色度数据;第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据,是指每一行像素中的每一个像素的明亮度数据和色度数据。如:第一视频当前图像的像素是704*288,一般表明该图像的像素是288行,每行有704个像素,而该第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,是指每一行像素中的704个像素的各自的明亮度数据和色度数据。
[0071] S202:将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据。
[0072] 所述相对应行,是依据预先设定的行规则将第一视频当前图像的行像素与第二视频当前图像的行像素进行相对应;预先设定的行规则可以是:如果第一视频当前图像的像素行数与第二视频当前图像的像素行数相同,则第一视频当前图像的第一行像素与第二视频当前图像的第一行像素相对应、第一视频当前图像的第二行像素与第二视频当前图像的第二行像素相对应、第一视频当前图像的第三行像素与第二视频当前图像的第三行像素相对应,以此类推,直到第一视频当前图像的最后一行像素与第二视频当前图像的最后一行像素相对应。或者,如果第一视频当前图像的像素行数大于第二视频当前图像的像素行数,则第一视频当前图像的第一行像素与第二视频当前图像的第一行像素相对应、第一视频当前图像的第二行像素与第二视频当前图像的第二行像素相对应,以此类推,直到第一视频当前图像的第N行像素与第二视频当前图像的最后一行像素相对应,此时,第一视频当前图像的第N+1行像素、第N+2行像素……第一视频当前图像的最后一行像素不用进行水平合并,这些行像素可以直接作为水平合并像素明亮度数据使用,以便于能够将所述第一视频当前图像完整地显示出来;其中N是第二视频当前图像的像素行数。或者,如果第一视频当前图像的像素行数大于第二视频当前图像的像素行数,则第一视频当前图像的第M行像素与第二视频当前图像的第一行像素相对应、第一视频当前图像的第M+1行像素与第二视频当前图像的第二行像素相对应,以此类推,直到第一视频当前图像的第M+N行像素与第二视频当前图像的最后一行像素相对应,此时,第一视频当前图像的第一行像素、第一视频当前图像的第二行像素……第一视频当前图像的第M-1行像素以及第一视频当前图像的第M+N+1行像素、第一视频当前图像的第M+N+2行像素……第一视频当前图像的最后一行像素,这些行像素不用进行水平合并,可以直接作为水平合并像素明亮度数据使用,以便于能够将所述第一视频当前图像完整地显示出来;其中N是第二视频当前图像的像素行数,M是根据需要设定的需要与第二视频当前图像的第一行像素相对应的行数。当然,上述的行规则也可以适用于第二视频当前图像的像素行数大于第一视频当前图像的像素行数,且根据需要也可设定其他行规则。
[0073] 所述水平合并像素明亮度数据,是指在水平方向上增加了像素的明亮度数据。例如:第一视频当前图像的像素是704*288,且第一视频当前图像的第一行像素的明亮度数据分别是a1、a2、a3……a704;第二视频当前图像的像素是704*288,且第二视频当前图像的第一行像素的明亮度数据分别是b1、b2、b3……b704;经水平合并后,得到的第一行水平合并像素明亮度数据为:a1、a2、a3……a704、b1、b2、b3……b704;据此,可以得到第二行水平合并像素明亮度数据、第三行水平合并像素明亮度数据等等。
[0074] S203:将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
[0075] 所述水平合并像素色度数据,是指在水平方向上增加了像素的色度数据。例如:第一视频当前图像的像素是704*288,且第一视频当前图像的第一行像素的色度数据分别是c1、c2、c3……c704;第二视频当前图像的像素是704*288,且第二视频当前图像的第一行像素的色度数据分别是d1、d2、d3……d704;经水平合并后,得到的第一行水平合并像素色度数据:c1、c2、c3……c704、d1、d2、d3……d704,据此,可以得到第二行水平合并像素色度数据、第三行水平合并像素色度数据等等。
[0076] 本发明实施例的多视频实时拼接方法中采用的水平拼接,该拼接方法拼接出来的视频图像在高度方面是与拼接之前第一视频当前图像与第二视频当前图像中最高的那个图像相同,在宽度方面是拼接之前第一视频当前图像与第二视频当前图像的宽度之和。本发明实施例拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性,同时,本发明实施例的拼接方法拼接出来的视频可以在显示端屏幕高度不足以同时显示第一视频与第二视频、且屏幕宽度可以同时显示第一视频与第二视频时进行拼接。
[0077] 在图1所示的多视频实时拼接方法的基础上,如图3所示,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,获得垂直合并像素YUV数据信息的步骤包括:
[0078] S301:从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据。
[0079] 其中,第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,是包含该图像中的每一个像素的明亮度数据和色度数据;第二视频当前图像的全部像素的第二明亮度数据和第二色度数据,是包含该图像中的每一个像素的明亮度数据和色度数据。如:第一视频当前图像的像素是704*288,一般可以表明该图像的像素是704列,每列有288个像素,而该第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,是包含704*288个像素的明亮度数据和色度数据。
[0080] S302:将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据。
[0081] 所述垂直合并像素明亮度数据,是指在垂直方向上增加了像素的明亮度数据。例如:第一视频当前图像的像素是704*288,且第一视频当前图像的全部像素的明亮度数据分别是e1、e2、e3……e704*288;第二视频当前图像的像素是704*288,且第二视频当前图像的全部像素的明亮度数据分别是f1、f2、f3……f704*288;经垂直合并后,得到的垂直合并像素明亮度数据为:e1、e2、e3……e704*288、f1、f2、f3……f704*288。
[0082] S303:将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
[0083] 所述垂直合并像素色度数据,是指在垂直方向上增加了像素的色度数据。例如:第一视频当前图像的像素是704*288,且第一视频当前图像的全部像素的色度数据分别是g1、g2、g3……g704*288;第二视频当前图像的像素是704*288,且第二视频当前图像的全部像素的色度数据分别是h1、h2、h3……h704*288;经垂直合并后,得到的垂直合并像素色度数据:g1、g2、g3……g704*288、h1、h2、h3……h704*288。
[0084] 本发明实施例的多视频实时拼接方法中采用的垂直拼接,该拼接方法拼接出来的视频图像在宽度方面是与拼接之前第一视频当前图像与第二视频当前图像中最宽的那个图像相同,在高度方面是拼接之前第一视频当前图像与第二视频当前图像的高度之和。本发明实施例拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性,同时,本发明实施例的拼接方法拼接出来的视频可以在显示端屏幕宽度不足以同时显示第一视频与第二视频、且屏幕高度可以同时显示第一视频与第二视频时进行拼接。
[0085] 优选的是,在图1所示的多视频实时拼接方法的基础上,如图4所示,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;拼接所述第一视频当前图像信息和第二视频当前图像信息之前,还包括:
[0086] S1041:判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致。
[0087] S1042:如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。
[0088] 通常,所述形状尺寸包括图像的高度和宽度,若图像的高度一致,则可以进行水平拼接;若图像的宽度一致,则可以进行垂直拼接。以避免拼接的图像有凹凸结构。若图像的高度和宽度均不一致,则可以根据需要对图像的形状尺寸进行调整。当然,图像的形状尺寸也可以有其他形状,如:圆形、三角形、梯形等,根据不同的拼接需求,可以对图像的形状尺寸进行调整。
[0089] 如图5所示的多视频实时拼接装置,其包括:
[0090] 接收模块,用于接收至少包含第一视频数据和第二视频数据的视频信息;所述第一视频数据包括第一视频当前图像信息,所述第二视频数据包括第二视频当前图像信息;
[0091] 存储模块,用于将所述第一视频数据和第二视频数据分别存储到与其对应的第一缓冲区、第二缓冲区;
[0092] 解码模块,用于读取所述第一缓冲区中的所述第一视频数据,并对所述第一视频数据进行解码,得到包含第一视频当前图像信息的解码数据;读取所述第二缓冲区中的所述第二视频数据,并对所述第二视频数据进行解码,得到包含第二视频当前图像信息的解码数据;
[0093] 拼接模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息,得到第一视频当前图像和第二视频当前图像的当前拼接图像信息。
[0094] 所述第一视频数据中通常还包括第一视频当前图像的来源信息,所述第二视频数据中通常还包括第二视频当前图像的来源信息。一般,所述多视频实时拼接装置还包括:编排模块,用于在拼接所述第一视频当前图像信息和第二视频当前图像信息之前,根据第一视频当前图像的来源信息和第二视频当前图像的来源信息及预先设定的编排规则,编排所述当前拼接图像信息中所述第一视频当前图像信息和所述第二视频当前图像信息的顺序。
[0095] 本发明实施例中的多视频实时拼接装置,可以实现上述多视频实时拼接方法,其可以将视频采集端采集到的当前图像信息实时发送给服务器,服务器收到第一视频数据和第二视频数据的视频信息后,为了加快处理速度,先将第一视频数据和第二视频数据分别存储到与其对应的缓冲区中,以方便及时读取到第一视频数据和第二视频数据;经过服务器解码,可以得到第一视频当前图像信息的解码数据和第二视频当前图像信息的解码数据,得到的解码数据可用于对图像信息进行拼接;经过拼接,可以得到第一视频当前图像和第二视频当前图像的当前拼接图像信息,通过对第一视频和第二视频多个连续的当前图像进行拼接,即可得到连续的拼接图像信息,即可实现对第一视频数据和第二视频数据进行实时拼接。使用本发明实施例拼接装置,可以使拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性。
[0096] 较佳的是,所述第一视频当前图像信息包括第一视频当前图像的像素YUV数据信息,所述第二视频当前图像信息包括第二视频当前图像的像素YUV数据信息;所述当前拼接图像信息包括所述第一视频当前图像的像素YUV数据信息和所述第二视频当前图像的像素YUV数据信息的合并像素YUV数据信息;所述像素YUV数据信息包括像素的明亮度数据和色度数据。
[0097] 在如图5所示的多视频实时拼接装置的基础上,如图6所示,其中,所述合并像素YUV数据信息是水平合并像素YUV数据信息,且所述拼接模块包括:
[0098] 获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的每一行像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的每一行像素的第二明亮度数据和第二色度数据;
[0099] 水平合并单元,用于将所述第一视频当前图像的每一行像素的第一明亮度数据分别与所述第二视频当前图像的相对应行像素的第二明亮度数据进行水平合并,得到水平合并像素明亮度数据;
[0100] 所述水平合并单元,还用于将所述第一视频当前图像的每一行像素的第一色度数据分别与所述第二视频当前图像的相对应行像素的第二色度数据进行水平合并,得到水平合并像素色度数据。
[0101] 本发明实施例的多视频实时拼接装置可用于水平拼接,该水平拼接拼接出来的视频图像在高度方面是与拼接之前第一视频当前图像与 第二视频当前图像中最高的那个图像相同,在宽度方面是拼接之前第一视频当前图像与第二视频当前图像的宽度之和。采用该装置进行拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性,同时,本发明实施例的拼接装置拼接出来的视频可以在显示端屏幕高度不足以同时显示第一视频与第二视频、且屏幕宽度可以同时显示第一视频与第二视频时进行拼接。
[0102] 在如图5所示的多视频实时拼接装置的基础上,如图7所示,其中,所述合并像素YUV数据信息是垂直合并像素YUV数据信息,且所述拼接模块包括:
[0103] 获得单元,用于从第一视频当前图像的像素YUV数据信息中获得第一视频当前图像的全部像素的第一明亮度数据和第一色度数据,从第二视频当前图像的像素YUV数据信息中获得第二视频当前图像的全部像素的第二明亮度数据和第二色度数据;
[0104] 垂直合并单元,用于将所述第一视频当前图像的全部像素的第一明亮度数据分别与所述第二视频当前图像的全部像素的第二明亮度数据进行垂直合并,得到垂直合并像素明亮度数据;
[0105] 所述垂直合并单元,还用于将将所述第一视频当前图像的全部像素的第一色度数据分别与所述第二视频当前图像的全部像素的第二色度数据进行垂直合并,得到垂直合并像素色度数据。
[0106] 本发明实施例的多视频实时拼接装置法可以进行垂直拼接,该拼接装置拼接出来的视频图像在宽度方面是与拼接之前第一视频当前图像与 第二视频当前图像中最宽的那个图像相同,在高度方面是拼接之前第一视频当前图像与第二视频当前图像的高度之和。采用本发明实施例的拼接装置拼接流程简单、效率较高、灵活性较大,很大程度地提高了多视频拼接的实时性,同时,本发明实施例的拼接装置拼接出来的视频可以在显示端屏幕宽度不足以同时显示第一视频与第二视频、且屏幕高度可以同时显示第一视频与第二视频时进行拼接。
[0107] 在如图5所示的多视频实时拼接装置的基础上,如图8所示,所述第一视频当前图像信息包括第一视频当前图像的形状尺寸,所述第二视频当前图像信息包括第二视频当前图像的形状尺寸;且所述多视频实时拼接装置还包括:
[0108] 判断模块,用于拼接所述第一视频当前图像信息和第二视频当前图像信息之前,判断第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸是否一致;
[0109] 处理模块,用于如果第一视频当前图像的形状尺寸和第二视频当前图像的形状尺寸不一致,则将所述第一视频当前图像和第二视频当前图像中形状尺寸较大的图像进行剪裁处理或者将所述第一视频当前图像和第二视频当前图像中形状尺寸较小的图像进行放大处理,使得所述第一视频当前图像和第二视频当前图像的形状尺寸保持一致。
[0110] 以上所述,仅为本发明的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈