视频数据拷贝、拼接方法和系统与流程

文档序号:12628012阅读:502来源:国知局
视频数据拷贝、拼接方法和系统与流程

本发明涉及视频信号处理技术领域,特别是涉及视频数据拷贝、拼接方法和系统。



背景技术:

拼接墙等大屏显示设备已经广泛应用到我们的日常生活中,比如,利用大屏显示设备对作战中心、公交管理中心、的士调试以及铁路管理中心等场景进行监控或者记录,可以较大程度提高上述监控或者记录的效果。在大屏显示设备进行相应视频(如监控视频或者记录视频)显示的过程中,需要在大屏显示设备的显示屏上进行开窗处理,形成多个显示窗口,再分别向各个显示窗口发送拷贝至大屏显示设备的各帧图像数据,以实现各帧图像数据在相应显示窗口的显示。

传统方案需要在大屏处理设备对其需要显示的视频数据进行解码后,分别对上述视频数据中各帧图像数据的每个像素点进行识别,在识别到上述像素点属于哪个显示窗口后,将上述像素点拷贝至相应的显示窗口的动态存储空间,以使各帧图像数据被拷贝至相应显示窗口对应的动态存储空间,拼接成完整的视频数据进行显示。上述分别对每个像素点进行拷贝的过程需要消耗过长的时间和大量的CPU(中央处理器)空间,影响图像数据的拷贝效率,甚至可能使后续相应视频数据的拼接延时,导致相应视频数据的拼接效果差。



技术实现要素:

基于此,有必要针对传统方案影响图像数据的拷贝效率,甚至可能使后续视频数据的拼接延时,导致拼接效果差问题,提供一种视频数据拷贝、拼接方法和系统。

一种视频数据拷贝方法,包括如下步骤:

在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址;

获取用于显示视频数据的各个显示窗口的位置信息,根据所述位置信息确定显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;

获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度;

根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间。

一种视频数据拷贝系统,包括:

第一获取模块,用于在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址;

第二获取模块,用于获取用于显示视频数据的各个显示窗口的位置信息,根据所述位置信息确定显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;

第三获取模块,用于获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度;

拷贝模块,用于根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间。

上述视频数据拷贝方法和系统,可以在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址、显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;再获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度,以根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间;有效提高了视频数据中各帧图像数据的拷贝效率,从而提高视频数据的拷贝效率,还可以提高相应视频数据的拼接效果。

一种视频数据拼接方法,包括如下步骤:

利用上述视频数据拷贝方法分别将多路视频数据拷贝至控制系统分配的存储空间;

在所述存储空间对拷贝后的多路视频数据进行拼接。

一种视频数据拼接系统,包括:

多路视频拷贝模块,用于利用上述视频数据拷贝系统分别将多路视频数据拷贝至控制系统分配的存储空间;

拼接模块,用于在所述存储空间对拷贝后的多路视频数据进行拼接。

上述视频数据拼接方法和系统,利用具有更高效率的视频数据拷贝方案进行视频数据中各帧图像数据的拷贝,有效保证了视频数据的拷贝效率,可以避免后续视频数据拼接过程中产生延时的技术问题,从而提高了视频拼接的效果。

附图说明

图1为一个实施例的视频数据拷贝方法流程图;

图2为一个实施例的视频数据拷贝系统结构示意图;

图3为一个实施例的视频数据拼接方法流程图;

图4为一个实施例的视频数据拼接系统结构示意图。

具体实施方式

下面结合附图对本发明的视频数据拷贝、拼接方法和系统的具体实施方式作详细描述。

参考图1,图1所示为一个实施例的视频数据拷贝方法流程图,包括如下步骤:

S10,在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址;

上述步骤中,拼接墙等大屏显示设备的控制系统在对视频数据进行解码后,为视频数据分配用于动态存储解码后的视频数据的存储空间。控制系统可以调用相关函数(如的首地址读取函数)对存储空间的目的首地址进行读取。

在一个实施例中,上述步骤S10,在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址dstaddr的过程可以包括:

在视频数据解码后,调用目的首地址读取函数,利用所述目的首地址读取函数从控制系统中读取用于动态存储视频数据的存储空间的首地址,得到目的首地址。

本实施例的目的首地址读取函数可以包括mallok等可以对用于动态存储视频数据的存储空间的首地址进行读取的函数,以提高上述目的首地址dstaddr的读取效率,保证所读取的目的首地址dstaddr的准确性。

S20,获取用于显示视频数据的各个显示窗口的位置信息,根据所述位置信息确定显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;

在一个实施例中,上述获取用于显示视频数据的各个显示窗口的位置信息,根据所述位置信息确定显示窗口的目的偏移地址的过程可以包括:

获取用于显示视频数据的各个显示窗口的位置信息;

在所述位置信息中选取总参考位置信息;

获取待拷贝至存储空间的视频数据的YUV信息;

根据所述总参考位置信息和YUV信息确定显示窗口的目的偏移地址。

上述显示窗口的位置信息包括显示窗口在显示屏上述位置和坐标等信息。总参考位置信息可以为某个显示窗口中具有代表性的某位置的位置信息,比如上述总参考位置信息为位于显示屏左上角的显示窗口上,左上角处的位置信息。

上述YUV信息中,“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。

作为一个实施例,上述子偏移地址的确定过程可以包括:

选取各个显示窗口分别对应的子参考位置信息;

根据所述子参考位置信息和总参考位置信息确定各个显示窗口对应的子偏移地址。

上述子参考位置信息与显示窗口一一对应,子参考位置信息可以为相应显示窗口上的左上角处的位置信息。

S30,获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度;

上述视频数据包括多帧图像数据,在将视频数据拷贝至相应存储空间的过程中,需要依次将各帧图像数据进行拷贝。

在一个实施例中,上述步骤S30,获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度的过程包括:

获取当前拷贝的一帧视频数据的像素首地址;

根据所述像素首地址查找所述视频数据对应的显示窗口;

对当前拷贝的一帧视频数据中各个像素点进行识别,获取拷贝至所述显示窗口的最后一个像素点对应的像素末地址;

根据所述像素首地址和像素末地址确定显示窗口的数据长度。

本实施例确定显示窗口可以显示的视频数据的数据长度后,对于同一个视频数据,均可以使用上述数据长度进行视频数据中各帧图像数据的拷贝。

S40,根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间。

在一个实施例中,上述步骤S40,根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间的过程可以包括:

调用控制系统中的内存拷贝函数;

将所述目的首地址、目的偏移地址、子偏移地址、像素首地址和数据长度代入所述内存拷贝函数,使以像素首地址为起点的数据长度内的图像数据拷贝至存储空间。

上述内存拷贝函数可以包括memcpy;将所述目的首地址、目的偏移地址、子偏移地址、像素首地址和数据长度代入所述内存拷贝函数,即执行memcpy(dstaddr+dstoffset,srcaddr+srcoffset,length),使以像素首地址为起点的数据长度内的图像数据拷贝至存储空间。dstaddr为目的首地址,dstoffset为像素首地址(当前拷贝的一帧图像数据的首地址),srcaddr为目的偏移地址,srcoffset为子偏移地址。

上述视频数据拷贝方法中,针对拼接墙等大屏显示设备的窗口位置很少移动的特点,每一次拷贝,只需要改变Dstaddr和srcaddr即可,拷贝表中dstoffset和srcoffset和length都不会变。从一开始就分析和记录上述保持不变的项,接下来的叠加只需要根据上述记录的项进行拷贝便可以实现整个视频数据的拷贝,进行后续视频数据的叠加或者拼接等处理。上述Dstaddr和srcaddr等参数是分配内存时返回的,可以由控制系统的系统函数提供。

本发明提供的视频数据拷贝方法,可以在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址、显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;再获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度,以根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间;有效提高了视频数据中各帧图像数据的拷贝效率,从而提高视频数据的拷贝效率,还可以提高相应视频数据的拼接效果。

参考图2所示,图2为一个实施例的视频数据拷贝系统结构示意图,包括:

第一获取模块10,用于在视频数据解码后,获取控制系统为视频数据分配的存储空间的目的首地址;

第二获取模块20,用于获取用于显示视频数据的各个显示窗口的位置信息,根据所述位置信息确定显示窗口的目的偏移地址,以及各个显示窗口对应的子偏移地址;

第三获取模块30,用于获取视频数据中当前拷贝的一帧图像数据的像素首地址,以及所述图像数据对应的显示窗口的数据长度;

拷贝模块40,用于根据所述目的首地址、目的偏移地址和子偏移地址将以像素首地址为起点的数据长度内的图像数据拷贝至控制系统为视频数据分配的存储空间。

在一个实施例中,上述第一获取模块可以进一步用于:

在视频数据解码后,调用目的首地址读取函数,利用所述目的首地址读取函数从控制系统中读取用于动态存储视频数据的存储空间的首地址,得到目的首地址。

本发明提供的视频数据拷贝系统与本发明提供的视频数据拷贝方法一一对应,在所述视频数据拷贝方法的实施例阐述的技术特征及其有益效果均适用于视频数据拷贝系统的实施例中,特此声明。

参考图3,图3所示为一个实施例的视频数据拼接方法流程图,包括如下步骤:

S80,利用上述视频数据拷贝方法分别将多路视频数据拷贝至控制系统分配的存储空间;

S90,在所述存储空间对拷贝后的多路视频数据进行拼接。

本实施例提供的视频数据拼接方法,利用具有更高效率的视频数据拷贝方案进行视频数据中各帧图像数据的拷贝,有效保证了视频数据的拷贝效率,可以避免后续视频数据拼接过程中产生延时的技术问题,从而提高了视频拼接的效果。

参考图4,图4所示为一个实施例的视频数据拼接系统结构示意图,包括:

多路视频拷贝模块70,用于利用上述视频数据拷贝系统分别将多路视频数据拷贝至控制系统分配的存储空间;

拼接模块80,用于在所述存储空间对拷贝后的多路视频数据进行拼接。

本发明提供的视频数据拼接系统与本发明提供的视频数据拼接方法一一对应,在所述视频数据拼接方法的实施例阐述的技术特征及其有益效果均适用于视频数据拼接系统的实施例中,特此声明。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1