非直接获取视频应用场合拼接视频同步播放方法及装置的制作方法

文档序号:7870395阅读:175来源:国知局
专利名称:非直接获取视频应用场合拼接视频同步播放方法及装置的制作方法
技术领域
本发明实施例涉及视频处理领域,具体涉及一种非直接获取视频应用场合拼接视频同步播放方法及装置。
背景技术
在直接获取视频的应用场合,比如直接通过PCI/PC1-E卡获取视频数据,或者直接通过以太网获取视频数据以及通过其他数据接口直接获取视频数据的情况下,用户很容易把除视频以外的附加信息传递给获取端。然而在某些情况下,用户并不是直接获取视频数据,而是通过不可控的中间件来 获取视频数据的,比如通过显卡获取PC的视频数据,PC视频源是可控的,但显卡是不可控的。在通过显卡获取视频数据的应用场合里,因为显卡的输出只有纯粹的RGB图像数据,并没有额外的数据,因此我们不能在显卡里面采集到自定义的数据。但是很多时候我们需要实时与图像帧有关联的信息,比如帧序号来实现视频同步,在不同的应用场合中,我们可能还需要将其他数据附加到每一帧视频上。在非直接获取视频数据的应用场合,只能通过更改图像信息的办法来加入自定义数据,比如把图像固定位置某些字节的值替换为自己的数据,然后通过PC常用接口来传送帧附加数据,在这种情况下,由于视频的传输与附加数据的传输是异步进行,如果要做到每一帧视频对应其相应的数据,那必须在PC端场信号切换的时间空隙来保证异步的视频帧数据以及附加数据同时到达接收端。然而,由于显示器刷新率过低,导致场空隙时间过短,并且在PC中识别并等待场信号刷新的时间间隔不准确,在等待后还要进行帧视频输出,结果是视频很容易发生撕裂,而且实际上也达不到在接收端同步获取到一一对应的视频帧及其附加数据的目的。

发明内容
本发明实施例提供了一种非直接获取视频应用场合拼接视频同步播放的方法及装置,可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。本发明实施例中的非直接获取视频应用场合拼接视频同步播放的方法,包括视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;所述帧序号数据包括帧序号和附加信息;视频源端存储被替换的固定字节及所述帧序号;视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;FPGA获取每帧视频中植入的帧序号数据;FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;FPGA输出还原后的视频。可选地,所述FPGA获取每帧视频中植入的帧序号数据之后和所述FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原之前还包括FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处
理。 可选地,所述FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理包括(I) FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现巾贞丢失;(2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3 ),否则触发步骤(4);(3) 6八删除第奸1帧的数据,并触发步骤(2);(4)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则触发步骤(2),否则报告出现帧丢失。本发明实施例中的非直接获取视频应用场合拼接视频同步播放的方法,包括( I)主设备检测设备数量;(2)主设备接收所述设备进行同步视频处理后输出的同步信号;(3)主设备判断是否所有设备输出同步信号,若是则执行步骤(4);否则进入计时状态并执行步骤(5);(4)主设备向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;(5)当计时值等于预设的等待时间值时,主设备判断是否上述所有设备输出同步信号,若是则执行步骤(4);否则重新启动。可选地,所述设备进行同步视频处理包括视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节;所述帧序号数据包括帧序号和附加信息;视频源端存储被替换的固定字节及所述帧序号;视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;FPGA获取图像中植入的帧序号数据;FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原。本发明实施例中的非直接获取视频应用场合拼接视频同步播放的装置,包括
替换单元,用于用预设的帧序号数据替换每帧视频固定位置的固定字节;所述帧序号数据包括帧序号和附加信息;存储单元,用于存储被替换的固定字节及所述帧序号;关联单元,用于把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;缓冲单元,用于缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组; 发送单元,用于发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;获取单元,用于获取图像中植入的帧序号数据;还原单元,用于根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;输出单元,用于输出还原后的视频。可选地,所述装置还包括帧处理单元,用于检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。可选地,所述帧处理单元包括第一检测子单元,用于检测接收到的第一帧视频的帧序号是否为I ;第二检测子单元,用于当检测接收到的第一帧视频的帧序号是为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ;删除子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为O时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ;第三检测子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O。本发明实施例中的非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括检测单元,用于检测设备数量;接收单元,用于接收所述设备进行同步视频处理后输出的同步信号;第一判断单元,用于判断是否所有设备输出同步信号;发送单元,用于当确定所有设备输出同步信号时,向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;第二判断单元,用于当计时值等于预设的等待时间值时,判断是否所述所有设备输出同步信号。本发明实施例中,视频源端首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节,然后存储被替换的固定字节及帧序号,接着把帧序号和被替换的固定字节关联成数组并存储上述数组,然后缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组,接着发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端,FPGA接收端接收之后获取每帧视频中植入的帧序号数据,然后会根据帧序号查找数组中每一帧视频对应的缺失图像数据并进行还原,最后FPGA输出还原后的视频。因此可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。


图1为本发明实施例中非直接获取视频应用场合拼接视频同步播放的方法第一实施例流程图;图2为本发明实施例中非直接获取视频应用场合拼接视频同步播放的方法第二实施例流程图;图3为本发明实施例中非直接获取视频应用场合拼接视频同步播放的方法第三实施例流程图;图4为本发明实施例中非直接获取视频应用场合拼接视频同步播放的装置第一实施例结构图;图5为本发明实施例中非直接获取视频应用场合拼接视频同步播放的装置第二实施例结构图。
具体实施例方式本发明实施例提供了一种非直接获取视频应用场合拼接视频同步播放的方法及装置,可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。请参阅图1,本发明实施例中非直接获取视频应用场合拼接视频同步播放的方法的第一实施例包括101、视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;上述帧序号数据包括帧序号和附加信息;规则和帧序号数据可以预置在视频源端内,规则可以为用帧序号数据替换每帧视频固定位置的固定字节,可以是左上角4个字节的图像数据,其中的帧序号数据的第一个字节,在视频帧数很多的情况下可以在第二个字节或第三个字节中包含帧序号,上述的帧序号不是视频自带,而是由视频源端编制的,具体可以为帧序号数据为4个字节的数据,一个字节为8位二进制数,当视频数据相对较少的情况下,可以用第一个字节中的前4位二进制数来表示帧序号,用剩下的字节来表示附加信息。上述所说的规则,帧序号数据都可以根据实际情况进行设定,而不限于本实施例中提到的部分。102、视频源端存储被替换的固定字节及帧序号;视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节之后,可以存储被替换的固定字节及上述的帧序号。103、视频源端把帧序号和被替换的固定字节关联成数组, 并存储数组;
视频源端存储被替换的固定字节及帧序号之后,可以把帧序号和被替换的固定字节关联成数组,具体可以为假设前5帧的帧序号分别为1、2、3、4和5,被替换的固定字节分别为a、b、C、d和e,可以用(1、8)、(2、13)、(3、(3)、(4、(1)和(5、6)的方式将巾贞序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。104、视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组;视频源端可以缓冲预设帧数,可以是10帧,也可以根据实际情况进行设定帧数的视频及与预设帧数的视频相对应的帧序号及数组。105、视频源端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后, 可以向FPGA接收端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组。106、FPGA获取每帧视频中植入的帧序号数据;FPGA接收端接收到预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,可以获取每帧视频中植入的帧序号数据。107、FPGA根据帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;FPGA获取每帧视频中植入的帧序号数据之后,可以进行还原视频操作,首先根据接收到的帧序号和数组,按照它们之间一一对应关系查找数组中每一帧视频对应的缺失图像数据,然后用缺失图像数据对应替换视频中植入的帧序号数据即可完成对视频的还原操作。108、FPGA输出还原后的视频。FPGA完成对视频的还原操作后,可以对还原后的视频进行输出。本发明实施例中,视频源端首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节,然后存储被替换的固定字节及帧序号,接着把帧序号和被替换的固定字节关联成数组并存储上述数组,然后缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组,接着发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端,FPGA接收端接收之后获取每帧视频中植入的帧序号数据,然后会根据帧序号查找数组中每一帧视频对应的缺失图像数据并进行还原,最后FPGA输出还原后的视频。因此可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。上面简单介绍了本发明非直接获取视频应用场合拼接视频同步播放的方法的第一实施例,下面对本发明非直接获取视频应用场合拼接视频同步播放的方法的第二实施例进行详细的描述,请参阅图2,本发明实施例中非直接获取视频应用场合拼接视频同步播放的方法的第二实施例包括201、视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;上述帧序号数据包括帧序号和附加信息;规则和帧序号数据可以预置在视频源端内,规则可以为用帧序号数据替换每帧视频固定位置的固定字节,可以是左上角4个字节的图像数据,其中的帧序号数据的第一个字节,在视频帧数很多的情况下可以在第二个字节或第三个字节中包含帧序号,上述的帧序号不是视频自带,而是由视频源端编制的,具体可以为帧序号数据为4个字节的数据,一个字节为8位二进制数,当视频数据相对较少的情况下,可以用第一个字节中的前4位二进制数来表示帧序号,用剩下的字节来表示附加信息。上述所说的规则,帧序号数据都可以根据实际情况进行设定,而不限于本实施例中提到的部分。202、视频源端存储被替换的固定字节及帧序号;视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节之后,可以存储被替换的固定字节及上述的帧序号。203、视频源端把所述帧序号和被替换的固定字节关联成数组,并存储数组; 视频源端存储被替换的固定字节及帧序号之后,可以把帧序号和被替换的固定字节关联成数组,具体可以为假设前5帧的帧序号分别为1、2、3、4和5,被替换的固定字节分别为a、b、C、d和e,可以用(1、8)、(2、13)、(3、(3)、(4、(1)和(5、6)的方式将巾贞序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。204、视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组;视频源端可以缓冲预设帧数,可以是10帧,也可以根据实际情况进行设定帧数的视频及与预设帧数的视频相对应的帧序号及数组。205、视频源端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,可以向FPGA接收端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组。206、FPGA获取每帧视频中植入的帧序号数据;FPGA接收端接收到预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,可以获取每帧视频中植入的帧序号数据。207、FPGA检测接收到的视频是否存在丢帧或重复帧,并对重复帧进行过滤帧处理。FPGA检测接收到的视频是否存在丢帧或重复帧的具体过程可以为(I) FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现巾贞丢失;(2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3 ),否则触发步骤(4);(3) 6八删除第奸1帧的数据,并触发步骤(2);(4)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则触发步骤(2),否则报告出现帧丢失;完成上述检测过程可以确定接收到的帧数据是否完整。208、FPGA根据帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;FPGA确定接收到的帧数据是完整的之后,可以进行还原视频操作,首先根据接收到的帧序号和数组,按照它们之间一一对应关系查找数组中每一帧视频对应的缺失图像数据,然后用缺失图像数据对应替换视频中植入的帧序号数据即可完成对视频的还原操作。209、FPGA输出还原后的视频。FPGA完成对视频的还原操作后,可以对还原后的视频进行输出。本发明实施例中,视频源端首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节,然后存储被替换的固定字节及帧序号,接着把帧序号和被替换的固定字节关联成数组并存储上述数组,然后缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组,接着发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端,FPGA接收端接收之后获取每帧视频中植入的帧序号数据,然后会检测接收到的视频是否存在丢帧或重复帧,并对重复帧进行过滤帧处理,确定视频完整后会根据帧序号查找数组中每一帧视频对应的缺失图像数据并进行还原,最后FPGA输出还原后的视频。 因此可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点,帧检测处理的加入大大增强了视频的可靠性。上面详细介绍了本发明非直接获取视频应用场合拼接视频同步播放方法的第二实施例,特别是其中检测帧的过程,下面对本发明非直接获取视频应用场合拼接视频同步播放方法的第三实施例进行描述,请参阅图3,本发明实施例中非直接获取视频应用场合拼接视频同步播放方法的第三实施例包括301、主设备检测设备数量;主设备可以检测设备的数量,以用来确定步骤302中同步信号的个数,上述的设备可以包括PC视频源端,FPGA同步板,显示单元,RS232串口,以及DVI视频接口 ;上述的主设备可以是设备加上控制模块。其中,PC视频源端负责制作视频源,保存固定位置像素值,更改固定位置为帧序号信息并将数据关联成数组进行缓存;RS232串口负责将关联数组信息传送给FPGA端,同时PC端具有两个DVI视频输出接口,将制作好并缓存的固定帧视频数据通过两个DVI分别输到FPGA同步板卡进行处理;FPGA同步板负责接收缓存关联数组及固定视频数据,以及接收像素同步时钟或者场同步信号等同步数据,进行视频同步处理,在同步输出端缓存视频数据,以及固定位置像素还原,通过两个DVI接口分别将还原的视频数据输出到显示单元;显示单元负责接收FPGA同步板处理后的视频信息,并通过DVI连接分别显示。302、主设备接收设备进行同步视频处理后输出的同步信号;上述设备进行同步视频处理可以包括视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节之后,可以存储被替换的固定字节及帧序号,接着视频源端把帧序号和被替换的固定字节关联成数组,并存储该数组,然后视频源端会缓冲预设帧数,可以为10帧的视频及与上述预设帧数的视频相对应的帧序号及数组,最后将预设帧数的视频及与预设帧数的视频相对应的帧序号及数组发送到FPGA接收端;FPGA接收到上述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组后,可以获取图像中植入的帧序号数据,然后根据帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原。
设备进行同步视频处理后,会向主设备输出同步信号。303、主设备判断是否所有设备输出同步信号,若是则执行步骤304;否则进入计时状态并执行步骤305 ;主设备接收各设备输出的同步信号,当确定接收到所有设备的同步信号时,执行步骤304,否则进入计时状态并执行步骤305。304、主设备向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出。主设备确定接收到所有设备的同步信号后,会向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出。
305、当计时值等于预设的等待时间值时,主设备判断是否所有设备输出同步信号,若是则执行步骤304 ;否则重新启动。当计时值等于预设的等待时间值时,主设备判断是否所有设备输出同步信号,若是则执行步骤向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;否则重新启动。本发明实施例中,主设备首先检测设备的数量,然后接收设备进行同步视频处理后输出的同步信号;接着判断是否所有设备输出同步信号,若是则向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;否则进入计时状态,当计时值等于预设的等待时间值时,主设备判断是否所有设备输出同步信号,若是则向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出,否则重新启动。所以可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频的基础上实现多设备同步视频并在大屏幕同步输出功能,大大增强了本方法的适用性。上面详细介绍了本发明非直接获取视频应用场合拼接视频同步播放的方法的第三实施例,,特别是其中对各设备输出视频进行同步的过程,下面对本发明非直接获取视频应用场合拼接视频同步播放装置的第一实施例进行详细的描述,请参阅图4,本发明实施例中非直接获取视频应用场合拼接视频同步播放装置的第一实施例包括替换单元401,用于用预设的帧序号数据替换每帧视频固定位置的固定字节;帧序号数据包括帧序号和附加信息;存储单元402,用于存储被替换的固定字节及帧序号;关联单元403,用于把帧序号和被替换的固定字节关联成数组,并存储数组;缓冲单元404,用于缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组;发送单元405,用于发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;获取单元406,用于获取图像中植入的帧序号数据;还原单元407,用于根据帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;输出单元408,用于输出还原后的视频。所述装置还包括帧处理单元409,用于检测接收到的视频是否存在丢帧或重复帧,并对重复帧进行过滤帧处理。所述帧处理单元409包括第一检测子单元4091,用于检测接收到的第一帧视频的帧序号是否为I ;第二检测子单元4092,用于当检测接收到的第一帧视频的帧序号是为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ;删除子单元4093,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为O时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ;第三检测子单元4094,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O。 替换单元401首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;上述帧序号数据包括帧序号和附加信息;规则和帧序号数据可以预置在视频源端内,规则可以为用帧序号数据替换每帧视频固定位置的固定字节,可以是左上角4个字节的图像数据,其中的帧序号数据的第一个字节,在视频帧数很多的情况下可以在第二个字节或第三个字节中包含帧序号,上述的帧序号不是视频自带,而是由视频源端编制的,具体可以为帧序号数据为4个字节的数据,一个字节为8位二进制数,当视频数据相对较少的情况下,可以用第一个字节中的前4位二进制数来表示帧序号,用剩下的字节来表示附加信息。上述所说的规则,帧序号数据都可以根据实际情况进行设定,而不限于本实施例中提到的部分。替换单元401按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节之后,存储单元402可以存储被替换的固定字节及上述的帧序号。存储单元402存储被替换的固定字节及帧序号之后,关联单元403可以把帧序号和被替换的固定字节关联成数组,具体可以为假设前5帧的帧序号分别为1、2、3、4和5,被替换的固定字节分别为a、b、C、d和e,可以用(1、8)、(2、13)、(3、(3)、(4、(1)和(5、0)的方式将帧序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。接着缓冲单元404可以缓冲预设帧数,可以是10帧,也可以根据实际情况进行设定帧数的视频及与预设帧数的视频相对应的帧序号及数组。缓冲单元404缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,发送单元405可以向FPGA接收端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组。FPGA接收端接收到预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,获取单元406可以获取每帧视频中植入的帧序号数据。接着FPGA检测接收到的视频是否存在丢帧或重复帧,帧处理单元409对重复帧进行过滤帧处理。FPGA检测接收到的视频是否存在丢帧或重复帧的具体过程可以为(I)第一检测子单元4091检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失;(2)第二检测子单元4092检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4);(3)删除子单元4093删除第N+1帧的数据,并触发步骤(2);
(4)第三检测子单元4094检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为I,若是则触发步骤(2 ),否则报告出现帧丢失。完成上述检测过程可以确定接收到的帧数据是否完整。FPGA确定接收到的帧数据是完整的之后,还原单元407可以进行还原视频操作,首先根据接收到的帧序号和数组,按照它们之间一一对应关系查找数组中每一帧视频对应的缺失图像数据,然后用缺失图像数据对应替换视频中植入的帧序号数据即可完成对视频的还原操作。还原单元407完成对视频的还原操作后,输出单元408可以对还原后的视频进行输出。本发明实施例中,首先替换单元401按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节,然后存储单元402存储被替换的固定字节及帧序号,接着关联单元403把帧序号和被替换的固定字节关联成数组并存储上述数组,然后缓冲单元404缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组,接着发送单元405发送预 设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端,FPGA接收端接收之后,获取单元406获取每帧视频中植入的帧序号数据,然后帧处理单元409会检测接收到的视频是否存在丢帧或重复帧,并对重复帧进行过滤帧处理,确定视频完整后还原单元407会根据帧序号查找数组中每一帧视频对应的缺失图像数据并进行还原,最后输出单元408输出还原后的视频。因此可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点,帧检测处理的加入大大增强了视频的可靠性。上面详细介绍了本发明非直接获取视频应用场合拼接视频同步播放装置的第一实施例,特别是其中检测帧的过程,下面对本发明非直接获取视频应用场合拼接视频同步播放装置的第二实施例进行描述,请参阅图5,本发明实施例中非直接获取视频应用场合拼接视频同步播放装置的第二实施例包括检测单元501,用于检测设备数量;接收单元502,用于接收设备进行同步视频处理后输出的同步信号;第一判断单元503,用于判断是否所有设备输出同步信号;发送单元504,用于当确定所有设备输出同步信号时,向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出。第二判断单元505,用于当计时值等于预设的等待时间值时,判断是否所有设备输出同步信号。检测单元501可以检测设备的数量,以用来确定各设备进行同步视频处理后输出的同步信号的个数,上述的设备可以包括PC视频源端,FPGA同步板,显示单元,RS232串口,以及DVI视频接口 ;上述的主设备可以是设备加上控制模块。其中,PC视频源端负责制作视频源,保存固定位置像素值,更改固定位置为帧序号信息并将数据关联成数组进行缓存;RS232串口负责将关联数组信息传送给FPGA端,同时PC端具有两个DVI视频输出接口,将制作好并缓存的固定帧视频数据通过两个DVI分别输到FPGA同步板卡进行处理;FPGA同步板负责接收缓存关联数组及固定视频数据,以及接收像素同步时钟或者场同步信号等同步数据,进行视频同步处理,在同步输出端缓存视频数据,以及固定位置像素还原,通过两个DVI接口分别将还原的视频数据输出到显示单元;显示单元负责接收FPGA同步板处理后的视频信息,并通过DVI连接分别显示。接着接收单元502接收设备进行同步视频处理后输出的同步信号;上述设备进行同步视频处理可以包括视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节之后,可以存储被替换的固定字节及帧序号,接着视频源端把帧序号和被替换的固定字节关联成数组,并存储该数组,然后视频源端会缓冲预设帧数,可以为10帧的视频及与上述预设帧数的视频相对应的帧序号及数组,最后将预设帧数的视频及与预设帧数的视频相对应的帧序号及数组发送到FPGA接收端;FPGA接收到上述预设帧数的视频及与预设帧数的视频相对应的帧 序号及数组后,可以获取图像中植入的帧序号数据,然后根据帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原。设备进行同步视频处理后,会向主设备输出同步信号。然后第一判断单元503判断是否所有设备输出同步信号,若是则发送单元504向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;否则进入计时状态。当计时值等于预设的等待时间值时,第二判断单元505判断是否所有设备输出同步信号,若是则发送单元504向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;否则重新启动。本发明实施例中,检测单元501首先检测设备的数量,然后接收单元502接收设备进行同步视频处理后输出的同步信号;接着第一判断单元503判断是否所有设备输出同步信号,若是则发送单元504向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;否则进入计时状态,当计时值等于预设的等待时间值时,第二判断单元505判断是否所有设备输出同步信号,若是则发送单元504向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出,否则重新启动。所以可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频的基础上实现多设备同步视频并在大屏幕同步输出功能,大大增强了本方法的适用性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种非直接获取视频应用场合拼接视频同步播放方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,包括 视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节; 所述帧序号数据包括帧序号和附加信息; 视频源端存储被替换的固定字节及所述帧序号; 视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组; 视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组; 视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端; FPGA获取每帧视频中植入的帧序号数据; FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原; FPGA输出还原后的视频。
2.根据权利要求1所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述FPGA获取每帧视频中植入的帧序号数据步骤之后和所述FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原步骤之前还包括 FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
3.根据权利要求2所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理包括 (1)FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失; (2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4); (3)FPGA删除第N+1帧的数据,并触发步骤(2); (4)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则触发步骤(2),否则报告出现帧丢失。
4.一种非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,包括 (1)主设备检测设备数量; (2)主设备接收所述设备进行同步视频处理后输出的同步信号; (3)主设备判断是否所有设备输出同步信号,若是则执行步骤(4);否则进入计时状态并执行步骤(5); (4)主设备向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出; (5)当计时值等于预设的等待时间值时,主设备判断是否所述所有设备输出同步信号,若是则执行步骤(4);否则重新启动。
5.根据权利要求4所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述设备进行同步视频处理包括 视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节; 所述帧序号数据包括帧序号和附加信息; 视频源端存储被替换的固定字节及所述帧序号;视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组; 视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组; 视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端; FPGA获取图像中植入的帧序号数据; FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原。
6.一种非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括 替换单元,用于用预设的帧序号数据替换每帧视频固定位置的固定字节; 所述帧序号数据包括帧序号和附加信息; 存储单元,用于存储被替换的固定字节及所述帧序号; 关联单元,用于把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组; 缓冲单元,用于缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组; 发送单元,用于发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端; 获取单元,用于获取图像中植入的帧序号数据; 还原单元,用于根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原; 输出单兀,用于输出还原后的视频。
7.根据权利要求6所述的非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,所述装置还包括 帧处理单元,用于检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
8.根据权利要求7所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述帧处理单元包括 第一检测子单元,用于检测接收到的第一帧视频的帧序号是否为I ; 第二检测子单元,用于当检测接收到的第一帧视频的帧序号是为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ; 删除子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为O时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O ; 第三检测子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为I时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为O。
9.一种非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括 检测单元,用于检测设备数量; 接收单元,用于接收所述设备进行同步视频处理后输出的同步信号; 第一判断单元,用于判断是否所有设备输出同步信号; 发送单元,用于当确定所有设备输出同步信号时,向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出; 第二判断单元,用于当计时值等于预设的等待时间值时,判断是否所述所有设备输出同步信号。
全文摘要
本发明实施例公开了一种非直接获取视频应用场合拼接视频同步播放的方法及装置,可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。
文档编号H04N21/236GK103024453SQ20121057632
公开日2013年4月3日 申请日期2012年12月26日 优先权日2012年12月26日
发明者梁博文, 彭昌辉 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1