CN103024453B - 非直接获取视频应用场合拼接视频同步播放方法及装置 - Google Patents
非直接获取视频应用场合拼接视频同步播放方法及装置 Download PDFInfo
- Publication number
- CN103024453B CN103024453B CN201210576325.5A CN201210576325A CN103024453B CN 103024453 B CN103024453 B CN 103024453B CN 201210576325 A CN201210576325 A CN 201210576325A CN 103024453 B CN103024453 B CN 103024453B
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- sequence number
- frame sequence
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000001514 detection method Methods 0.000 claims description 38
- 238000012360 testing method Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 11
- 108010001267 Protein Subunits Proteins 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 abstract description 20
- 239000007943 implant Substances 0.000 abstract description 9
- 230000003139 buffering effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
Abstract
本发明实施例公开了一种非直接获取视频应用场合拼接视频同步播放的方法及装置,可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。
Description
技术领域
本发明实施例涉及视频处理领域,具体涉及一种非直接获取视频应用场合拼接视频同步播放方法及装置。
背景技术
在直接获取视频的应用场合,比如直接通过PCI/PCI-E卡获取视频数据,或者直接通过以太网获取视频数据以及通过其他数据接口直接获取视频数据的情况下,用户很容易把除视频以外的附加信息传递给获取端。
然而在某些情况下,用户并不是直接获取视频数据,而是通过不可控的中间件来获取视频数据的,比如通过显卡获取PC的视频数据,PC视频源是可控的,但显卡是不可控的。在通过显卡获取视频数据的应用场合里,因为显卡的输出只有纯粹的RGB图像数据,并没有额外的数据,因此我们不能在显卡里面采集到自定义的数据。但是很多时候我们需要实时与图像帧有关联的信息,比如帧序号来实现视频同步,在不同的应用场合中,我们可能还需要将其他数据附加到每一帧视频上。
在非直接获取视频数据的应用场合,只能通过更改图像信息的办法来加入自定义数据,比如把图像固定位置某些字节的值替换为自己的数据,然后通过PC常用接口来传送帧附加数据,在这种情况下,由于视频的传输与附加数据的传输是异步进行,如果要做到每一帧视频对应其相应的数据,那必须在PC端场信号切换的时间空隙来保证异步的视频帧数据以及附加数据同时到达接收端。然而,由于显示器刷新率过低,导致场空隙时间过短,并且在PC中识别并等待场信号刷新的时间间隔不准确,在等待后还要进行帧视频输出,结果是视频很容易发生撕裂,而且实际上也达不到在接收端同步获取到一一对应的视频帧及其附加数据的目的。
发明内容
本发明实施例提供了一种非直接获取视频应用场合拼接视频同步播放的方法及装置,可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频。同时通过异步缓存,降低了实时性要求,有效解决了视频拼接同步的问题,大大提高了视频同步播放效果,而且具有适用性广的特点。
本发明实施例中的非直接获取视频应用场合拼接视频同步播放的方法,包括:
视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
视频源端存储被替换的固定字节及所述帧序号;
视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;
FPGA获取每帧视频中植入的帧序号数据;
FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
FPGA输出还原后的视频。
可选地,所述FPGA获取每帧视频中植入的帧序号数据之后和所述FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原之前还包括:
FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
可选地,所述FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理包括:
(1)FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失;
(2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4);
(3)FPGA删除第N+1帧的数据,并触发步骤(2);
(4)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则触发步骤(2),否则报告出现帧丢失。
本发明实施例中的非直接获取视频应用场合拼接视频同步播放的方法,包括:
(1)主设备检测设备数量;
(2)主设备接收所述设备进行同步视频处理后输出的同步信号;
(3)主设备判断是否所有设备输出同步信号,若是则执行步骤(4);否则进入计时状态并执行步骤(5);
(4)主设备向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;
(5)当计时值等于预设的等待时间值时,主设备判断是否上述所有设备输出同步信号,若是则执行步骤(4);否则重新启动。
可选地,所述设备进行同步视频处理包括:
视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
视频源端存储被替换的固定字节及所述帧序号;
视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;
FPGA获取图像中植入的帧序号数据;
FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原。
本发明实施例中的非直接获取视频应用场合拼接视频同步播放的装置,包括:
替换单元,用于用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
存储单元,用于存储被替换的固定字节及所述帧序号;
关联单元,用于把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
缓冲单元,用于缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
发送单元,用于发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;
获取单元,用于获取图像中植入的帧序号数据;
还原单元,用于根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
输出单元,用于输出还原后的视频。
可选地,所述装置还包括:
帧处理单元,用于检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
可选地,所述帧处理单元包括:
第一检测子单元,用于检测接收到的第一帧视频的帧序号是否为1;
第二检测子单元,用于当检测接收到的第一帧视频的帧序号是为1时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
删除子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为0时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
第三检测子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差为1时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0。
本发明实施例中的非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括:
检测单元,用于检测设备数量;
接收单元,用于接收所述设备进行同步视频处理后输出的同步信号;
第一判断单元,用于判断是否所有设备输出同步信号;
发送单元,用于当确定所有设备输出同步信号时,向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;
第二判断单元,用于当计时值等于预设的等待时间值时,判断是否所述所有设备输出同步信号。
本发明实施例中,视频源端首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节,然后存储被替换的固定字节及帧序号,接着把帧序号和被替换的固定字节关联成数组并存储上述数组,然后缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组,接着发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到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、a)、(2、b)、(3、c)、(4、d)和(5、e)的方式将帧序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。
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、a)、(2、b)、(3、c)、(4、d)和(5、e)的方式将帧序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。
204、视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组;
视频源端可以缓冲预设帧数,可以是10帧,也可以根据实际情况进行设定帧数的视频及与预设帧数的视频相对应的帧序号及数组。
205、视频源端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA接收端;
视频源端缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,可以向FPGA接收端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组。
206、FPGA获取每帧视频中植入的帧序号数据;
FPGA接收端接收到预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,可以获取每帧视频中植入的帧序号数据。
207、FPGA检测接收到的视频是否存在丢帧或重复帧,并对重复帧进行过滤帧处理。
FPGA检测接收到的视频是否存在丢帧或重复帧的具体过程可以为:
(1)FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失;
(2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4);
(3)FPGA删除第N+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,用于检测接收到的第一帧视频的帧序号是否为1;
第二检测子单元4092,用于当检测接收到的第一帧视频的帧序号是为1时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
删除子单元4093,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为0时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
第三检测子单元4094,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差为1时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0。
替换单元401首先按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;上述帧序号数据包括帧序号和附加信息;
规则和帧序号数据可以预置在视频源端内,规则可以为:用帧序号数据替换每帧视频固定位置的固定字节,可以是左上角4个字节的图像数据,其中的帧序号数据的第一个字节,在视频帧数很多的情况下可以在第二个字节或第三个字节中包含帧序号,上述的帧序号不是视频自带,而是由视频源端编制的,具体可以为:帧序号数据为4个字节的数据,一个字节为8位二进制数,当视频数据相对较少的情况下,可以用第一个字节中的前4位二进制数来表示帧序号,用剩下的字节来表示附加信息。上述所说的规则,帧序号数据都可以根据实际情况进行设定,而不限于本实施例中提到的部分。
替换单元401按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节之后,存储单元402可以存储被替换的固定字节及上述的帧序号。
存储单元402存储被替换的固定字节及帧序号之后,关联单元403可以把帧序号和被替换的固定字节关联成数组,具体可以为:假设前5帧的帧序号分别为1、2、3、4和5,被替换的固定字节分别为a、b、c、d和e,可以用(1、a)、(2、b)、(3、c)、(4、d)和(5、e)的方式将帧序号和被替换的固定字节关联成数组,然后将上述的数组进行存储。
接着缓冲单元404可以缓冲预设帧数,可以是10帧,也可以根据实际情况进行设定帧数的视频及与预设帧数的视频相对应的帧序号及数组。
缓冲单元404缓冲预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,发送单元405可以向FPGA接收端发送预设帧数的视频及与预设帧数的视频相对应的帧序号及数组。
FPGA接收端接收到预设帧数的视频及与预设帧数的视频相对应的帧序号及数组之后,获取单元406可以获取每帧视频中植入的帧序号数据。
接着FPGA检测接收到的视频是否存在丢帧或重复帧,帧处理单元409对重复帧进行过滤帧处理。FPGA检测接收到的视频是否存在丢帧或重复帧的具体过程可以为:
(1)第一检测子单元4091检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失;
(2)第二检测子单元4092检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4);
(3)删除子单元4093删除第N+1帧的数据,并触发步骤(2);
(4)第三检测子单元4094检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则触发步骤(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向所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出,否则重新启动。所以可以在非直接获取视频的应用场合中,向视频植入数据,获取数据以及恢复视频的基础上实现多设备同步视频并在大屏幕同步输出功能,大大增强了本方法的适用性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种非直接获取视频应用场合拼接视频同步播放方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,包括:
视频源端按预置的规则用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
视频源端存储被替换的固定字节及所述帧序号;
视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA的接收端;
FPGA获取每帧视频中植入的帧序号数据;
FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
FPGA输出还原后的视频。
2.根据权利要求1所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述FPGA获取每帧视频中植入的帧序号数据步骤之后和所述FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原步骤之前还包括:
FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
3.根据权利要求2所述的非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,所述FPGA检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理包括:
(1)FPGA检测接收到的第一帧视频的帧序号是否为1,若是则触发步骤(2),否则报告出现帧丢失;
(2)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0,若是则报告出现重复帧并触发步骤(3),否则触发步骤(4);
(3)FPGA删除第N+1帧的数据,并触发步骤(2);
(4)FPGA检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为1,若是则令N=N+1,触发步骤(2),否则报告出现帧丢失。
4.一种非直接获取视频应用场合拼接视频同步播放的方法,其特征在于,包括:
(1)主设备检测设备数量;
(2)主设备接收所述设备进行同步视频处理后输出的同步信号;
所述设备进行同步视频处理包括:
视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
视频源端存储被替换的固定字节及所述帧序号;
视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA的接收端;
FPGA获取每帧视频中植入的帧序号数据;
FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
(3)主设备判断是否所有设备输出同步信号,若是则执行步骤(4);否则进入计时状态并执行步骤(5);
(4)主设备向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;
(5)当计时值等于预设的等待时间值时,主设备判断是否所述所有设备输出同步信号,若是则执行步骤(4);否则重新启动。
5.一种非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括:
替换单元,用于用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
存储单元,用于存储被替换的固定字节及所述帧序号;
关联单元,用于把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
缓冲单元,用于缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
发送单元,用于发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA的接收端;
获取单元,用于获取每帧视频中植入的帧序号数据;
还原单元,用于根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
输出单元,用于输出还原后的视频。
6.根据权利要求5所述的非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,所述装置还包括:
帧处理单元,用于检测接收到的视频是否存在丢帧或重复帧,并对所述重复帧进行过滤帧处理。
7.根据权利要求6所述的非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,所述帧处理单元包括:
第一检测子单元,用于检测接收到的第一帧视频的帧序号是否为1;
第二检测子单元,用于当检测接收到的第一帧视频的帧序号是为1时,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
删除子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为0时,删除第N+1帧的数据,并继续检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0;
第三检测子单元,用于当检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是为1时,令N=N+1,检测接收到的第N+1帧的帧序号与第N帧的帧序号之差是否为0。
8.一种非直接获取视频应用场合拼接视频同步播放的装置,其特征在于,包括:
检测单元,用于检测设备数量;
接收单元,用于接收所述设备进行同步视频处理后输出的同步信号;
所述设备进行同步视频处理包括:
视频源端用预设的帧序号数据替换每帧视频固定位置的固定字节;
所述帧序号数据包括帧序号和附加信息;
视频源端存储被替换的固定字节及所述帧序号;
视频源端把所述帧序号和所述被替换的固定字节关联成数组,并存储所述数组;
视频源端缓冲预设帧数的视频及与所述预设帧数的视频相对应的帧序号及数组;
视频源端发送所述预设帧数的视频及与预设帧数的视频相对应的帧序号及数组到FPGA的接收端;
FPGA获取每帧视频中植入的帧序号数据;
FPGA根据所述帧序号查找数组中每一帧视频对应的缺失图像数据,并进行还原;
第一判断单元,用于判断是否所有设备输出同步信号;
发送单元,用于当确定所有设备输出同步信号时,向所述所有设备发送统一同步命令,告知所有设备收到命令后进行同步输出;
第二判断单元,用于当计时值等于预设的等待时间值时,判断是否所述所有设备输出同步信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210576325.5A CN103024453B (zh) | 2012-12-26 | 2012-12-26 | 非直接获取视频应用场合拼接视频同步播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210576325.5A CN103024453B (zh) | 2012-12-26 | 2012-12-26 | 非直接获取视频应用场合拼接视频同步播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103024453A CN103024453A (zh) | 2013-04-03 |
CN103024453B true CN103024453B (zh) | 2016-06-01 |
Family
ID=47972513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210576325.5A Expired - Fee Related CN103024453B (zh) | 2012-12-26 | 2012-12-26 | 非直接获取视频应用场合拼接视频同步播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024453B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549933B (zh) * | 2015-12-16 | 2019-01-29 | 广东威创视讯科技股份有限公司 | 显卡信号同步方法和系统 |
CN106789917B (zh) * | 2016-11-25 | 2019-10-01 | 北京百家互联科技有限公司 | 数据包处理方法及装置 |
CN108322774A (zh) * | 2018-03-01 | 2018-07-24 | 郑州云海信息技术有限公司 | 一种视频数据的传输方法、装置及介质 |
CN110636219B (zh) * | 2019-09-03 | 2020-12-01 | 北京三快在线科技有限公司 | 一种视频数据流的传输方法及装置 |
CN112184739B (zh) * | 2020-11-25 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种图像检测方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0883291A2 (en) * | 1997-06-03 | 1998-12-09 | Samsung Electronics Co., Ltd. | Frame synchronizing device and method therefor |
CN101616331A (zh) * | 2009-07-27 | 2009-12-30 | 北京汉邦高科数字技术有限公司 | 一种对视频帧率及音视频同步性能进行测试的方法 |
CN101697577A (zh) * | 2009-10-27 | 2010-04-21 | 中兴通讯股份有限公司 | 视频发送/接收装置和方法 |
CN102637120A (zh) * | 2012-03-29 | 2012-08-15 | 重庆海康威视科技有限公司 | 一种控制拼接屏幕同步显示的系统及方法 |
-
2012
- 2012-12-26 CN CN201210576325.5A patent/CN103024453B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0883291A2 (en) * | 1997-06-03 | 1998-12-09 | Samsung Electronics Co., Ltd. | Frame synchronizing device and method therefor |
CN101616331A (zh) * | 2009-07-27 | 2009-12-30 | 北京汉邦高科数字技术有限公司 | 一种对视频帧率及音视频同步性能进行测试的方法 |
CN101697577A (zh) * | 2009-10-27 | 2010-04-21 | 中兴通讯股份有限公司 | 视频发送/接收装置和方法 |
CN102637120A (zh) * | 2012-03-29 | 2012-08-15 | 重庆海康威视科技有限公司 | 一种控制拼接屏幕同步显示的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103024453A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103024453B (zh) | 非直接获取视频应用场合拼接视频同步播放方法及装置 | |
CN101516015B (zh) | 多路视频数据采集处理和传输的方法 | |
CN102426514B (zh) | 一种大屏幕拼接墙同步显示方法及装置 | |
CN106713805B (zh) | 一种基于fpga的数字视频显示接口模块及其通信方法 | |
CN104717442A (zh) | 多视频格式向VESA协议1600X1200分辨率60Hz帧率视频的自动转换方法 | |
CN104717444A (zh) | 多视频格式向VESA协议1920X1440分辨率75Hz帧率视频的自动转换方法 | |
CN109788214A (zh) | 一种基于fpga的多路视频无缝切换系统和方法 | |
CN101001375A (zh) | 一种图像采集的方法和装置 | |
CN103685983B (zh) | 一种上位机、环通拼接模块、视频信号传输方法和系统 | |
CN104735448A (zh) | Arinc818发送节点数据采集及控制方法 | |
CN102158655B (zh) | 一种dvi/hdmi/dp/vga信号的后级无抖校正系统 | |
CN108538266B (zh) | Lvds信号转可选lcos接口格式信号的转换装置 | |
CN101998135A (zh) | 移动电视信号采集及播放系统、控制方法 | |
CN109587421A (zh) | 一种hd-sdi/3g-sdi收发及实时画中画切换输出处理方法 | |
CN112995559B (zh) | 视频处理方法、装置及系统、显示控制器和显示控制系统 | |
CN112422835B (zh) | 图像的高速采集方法、系统、设备及存储介质 | |
CN112309311B (zh) | 显示控制方法、装置和显示控制卡以及计算机可读介质 | |
CN113206957B (zh) | 一种用于内窥镜的图像处理方法和系统、存储介质 | |
CN113141487A (zh) | 视频传输模组、方法、显示装置和电子设备 | |
CN115412651A (zh) | 视频处理装置、视频处理方法和显示系统 | |
CN112992023A (zh) | 一种输入信号的自检方法和自检电路 | |
CN104717445A (zh) | 多视频格式向bt.656协议ntsc制式视频的自动转换方法 | |
CN113923381B (zh) | 一种可实现多种视频接口切换器及其测量方法 | |
CN216014244U (zh) | 车辆主机测试装置及测试系统 | |
CN108234818B (zh) | 一种视频帧存轮寻操作算法的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Kezhu road high tech Industrial Development Zone, Guangzhou city of Guangdong Province, No. 233 510670 Patentee after: VTRON GROUP Co.,Ltd. Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No. Patentee before: VTRON TECHNOLOGIES Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160601 |