CN104243920A - 一种基于基本流视频数据封装的图像拼接方法及装置 - Google Patents
一种基于基本流视频数据封装的图像拼接方法及装置 Download PDFInfo
- Publication number
- CN104243920A CN104243920A CN201410448899.3A CN201410448899A CN104243920A CN 104243920 A CN104243920 A CN 104243920A CN 201410448899 A CN201410448899 A CN 201410448899A CN 104243920 A CN104243920 A CN 104243920A
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- splicing
- stream
- map picture
- 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.)
- Granted
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于基本流视频数据封装的图像拼接方法及装置,该方法首先确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;然后把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组;最后将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。本发明同时公开了对应该方法的装置,包括接收模块、拼接模块和输出模块。本发明的方法及装置基于基本流视频数据进行封装,以拼接码流进行传输和存储,从而有效支持了图像拼接的转发、存储和回放业务。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种基于基本流视频数据封装的图像拼接方法及装置。
背景技术
视频监控是安全防范系统的重要组成部分,视频监控以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控的普及化趋势越来越明显。
在视频监控中,常常采用多个摄像机分别监控同一地段的不同角度,获得同一地段的不同角度的多幅视频图像,然后在解码端对多幅视频图像进行图像拼接,将多幅视频图像完美地结合为一副完整的视频图像。通过图像拼接,能够提供监控场景的全景图像,整个监控视野更加清晰完整。并且多幅视频图像之间不是简单的合并,而是相同画面的覆盖裁边后,得到真实监控场景的全景图像。
当前的图像拼接主要体现在多个视频源的图像对接拼合上,由解码端实现并显示。一般需要先在客户端上进行拼接配置,选择需要进行拼接的视频源,即摄像机等图像采集设备,配置成拼接资源。之后可直接对此拼接资源建立实时监控,视频源将图像打包成码流发送到解码端,解码端完成拼接和显示。例如公开号为CN 103634555A的发明专利公开了一种全景视频通信的方法及系统,通过多个摄像头采集图像信息,提取所述图像信息中的同步图像帧,将提取的同步图像帧进行拼接,获取全景视频,发送给通信终端。
现有技术仅仅是解码端将实时接收到的参与图像拼接的各路视频码流解码后拼接为最终显示的合成后的视频图像,其拼接前的各视频源的视频码流分别保存和传输。由于存储的是来自各视频源的原始码流,因此不能提供合成后的视频图像拼接码流的存储和回放方案,只能在解码端实时接收各路参与图像拼接的原始码流并进行拼接显示。如果要存储和回放合成后的视频图像,则需要对合成后的视频图像重新进行压缩编码,这将需要巨大的性能开销,如果同时进行多个图像拼接的合成后的视频图像重新压缩编码、存储,性能压力更大。
发明内容
本发明的目的是提供一种基于基本流视频数据封装的图像拼接方法及装置,对于应用场景的各路数据流基于基本流视频数据进行封装,形成拼接图像帧组,再封装为网络报文进行传输和存储,支持转发、存储和回放业务。
为了实现上述目的,本发明技术方案如下:
一种基于基本流视频数据封装的图像拼接方法,应用于图像拼接服务器,用于对需要进行图像拼接的各路视频源的数据流进行图像拼接,所述图像拼接方法包括步骤:
确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;
把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组,所述预设方法处理为,分别解析出各路基本流视频数据图像组的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,所述基准流图像组的原始I帧的时间作为拼接图像帧组时间;
将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
其中,所述以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,具体包括:
以基准流的I帧在前,与基准流的I帧同时到达的其它路数据流的I帧或P帧按照预设顺序依次封装在基准流的I帧之后的顺序组成拼接图像帧组的I帧部分,以基准流的P帧在前,与基准流的P帧同时到达的其它路数据流的I帧或P帧按照所述预设顺序依次封装在基准流P帧之后的顺序,组成拼接图像帧组的P帧部分,以拼接图像帧组的I帧部分在前,拼接图像帧组的P帧部分按到达顺序依次排在拼接图像帧组的I帧部分之后的顺序,组成拼接图像帧组。
本发明中所述整体拼接信息包括所述图像拼接对应的拼接数据流的个数以及拼接类型;所述拼接定位信息包括所述数据流对应的位置信息和标定值,所述标定值用于后续拼接时的图像裁边处理。这些信息主要是在解码时用于拼接出显示图像。
进一步地,所述图像拼接对应有拼接ID,所述拼接定位信息、整体拼接信息以图像拼接ID为索引保存在数据库,所述拼接服务器进行图像拼接时,根据拼接ID从数据库动态获取所述拼接定位信息、整体拼接信息。所述拼接ID还在后续的实况、回放业务中代替原来这些业务调度中的摄像机ID,用来实现实况、回放业务的调度。
进一步地,图像拼接服务器将拼接后的码流发给解码端,解码端收到拼接码流后,将拼接图像帧组的各个码流的I帧和P帧还原,并按照拼接图像帧组中携带的整体拼接信息和拼接定位信息进行解码显示;
图像拼接服务器将输出的拼接码流进行存储,所述存储的拼接码流以其拼接图像帧组时间为索引时间,所述拼接图像帧组时间为对应基准流的时间。
本发明还同时提出了一种基于基本流视频数据封装的图像拼接装置,应用于图像拼接服务器,用于对需要进行图像拼接的各路视频源的数据流进行图像拼接,所述图像拼接装置包括:
接收模块,用于确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;
拼接模块,用于把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组,所述预设方法处理为,分别解析出各路基本流视频数据图像组的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,所述基准流图像组的原始I帧的时间作为拼接图像帧组时间;
输出模块,用于将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
本发明提出的一种基于基本流视频数据封装的图像拼接方法及装置,通过对应用场景的各路视频源的数据流基于基本流视频数据进行封装,形成拼接图像帧组,再封装为网络报文进行传输和存储,从而支持转发、存储和回放业务。由于存储的是拼接码流,支持以拼接ID代替摄像机ID的实况或回放业务,不需要对合成后视频图像重新进行图像压缩编码,节省性能开销。在解码端对拼接码流进行还原后,不仅可以对拼接图像进行显示播放,还可以对单路的视频数据流进行单独的显示播放,应用更加灵活。
附图说明
图1a为排序拼接类型对应的显示图像样式;
图1b为画中画拼接类型对应的显示图像样式;
图1c为任意位置拼接类型对应的一种显示图像样式;
图2为本发明基于基本流编码的图像拼接方法流程图;
图3为基本流的帧结构示意图;
图4为本发明实施例一的拼接图像帧组封装示意图;
图5为本发明实施例二的拼接图像帧组封装示意图;
图6为本发明基于基本流编码的图像拼接装置结构示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
本实施例以视频监控系统中的图像拼接为例,来描述本发明基于基本流视频数据封装的图像拼接方法。在视频监控系统中,经常存在采用多个摄像机从不同角度来监控同一监控场景,然后对多个摄像机拍摄的视频图像进行拼接显示,以达到监控整个地段全貌的应用。在这种应用中,多个摄像机拍摄的视频图像,通过编码器编码为传送流TS流或PS流,然后加上用于在IP网络中传输的UDP/TCP/RTP等网络报文头部信息以便在网络上以网络报文形式的数据流进行传输。本实施例主要是基于去除掉UDP/TCP/RTP、TS/PS/ONVIF等头部信息后的基本流视频数据(ElementaryStream)来进行图像拼接,对于图像拼接前后的进行传输和存储的数据流,仍然需要加上TS/PS/ONVIF、UDP/TCP/RTP等头部信息,以下对此不再赘述。视频图像的基本流视频数据,通常是基于MPEG或H26X的压缩视频流,基本流视频数据包括压缩编码后的I帧和P帧。而图像组GOP(Groupof Pictures)是随机存取视频单位,一个GOP由一串I、B、P帧组成,GOP的长度是一个I帧到下一个I帧的间隔。在MPEG中也没有规定GOP的结构,帧反复方式可以是IP,IB,IBP,IBBP,甚至只有I帧。由于现有技术的视频监控实际应用中,B帧基本不被用到,所示本实施例不考虑B帧的情况。
本实施例对于视频图像基于基本流视频数据进行图像拼接的应用,首先需要在视频监控系统中根据当前图像拼接的实际情况设置以下内容:对应于该当前图像拼接的拼接ID,拼接名称,拼接类型,基准流,以及用来拼接的各路数据流的流ID及其位置信息,还可以根据实际情况设置标定值及其他信息。设置后形成图像拼接列表存放在数据库中,如表1a和表1b所示:
表1a
表1b
表1b接表1a,其中,对应于监控场景的当前图像拼接,为该当前图像拼接设定了一个拼接名称和拼接ID,拼接名称一般就是该当前图像拼接的名称,拼接ID是其对应的编号。该监控场景部署的每台摄像机对应于一路数据流,每路数据流的流ID即其对应的摄像机的ID,各路数据流被图像拼接服务器接收后,在图像拼接服务器中进行基于基本流视频数据封装的图像拼接。拼接服务器可以是视频监控系统中单独的服务器设备,也可以作为一个部件部署在视频监控服务器或者其它设备上,本方案对于拼接服务器的存在形式和位置不进行限制。
选择一路数据流为该拼接ID的基准流,基准流的主要作用是用作时间标定,即以基准流的I帧作为时间处理的标准,与基准流I帧同时到达的其他流的I帧或者P帧属于同时间点的图像。
对应于不同的监控场景和部署的摄像机,各路数据流拼接后的图像显示不同,根据图像显示的样式,设定的拼接类型包括:排序拼接、画中画拼接、任意位置拼接等,分别对应如图1a,图1b,图1c。
例如图1a为排序拼接,三路数据流进行横向位置拼接。在此类拼接中需要使用“标定值”,以便在图像解码时用于拼接裁边计算,此参数在配置时由用户给出,配置后写在数据库中,图像拼接服务器合并数据流时写入数据流中的私有位置,例如I帧头的前面。排序拼接中每一数据流的位置信息(x,y,m,n)没有关键作用,只是取得处理的一致性,需要配置并填写数据库,这样也便于解码端解析处理。
图1b为画中画拼接,画中画拼接是大的图像中嵌入小的图像,一般将大图像的数据流作为基准流,即处于最底层的画面中,上面叠加小图像。画中画拼接中大图像的位置信息没有关键作用,小图像的位置信息用于在解码时确定小图像在大图像中的叠加位置。
图1c是任意位置拼接的一种示意图,基准流一般为坐标最小的图像,在图1c中为视频1,其他视频画面都需要将相对位置信息记录在数据库的图像拼接列表中。
位置信息是指其对应的数据流在拼接图像中的相对位置,在配置时也由用户提供。图1a、图1b、图1c中(xi,yi,mi,ni)表示位置信息,i为图像的标号,分别表示图像左上角的坐标和图像右下角的坐标。位置信息和标定值都属于拼接定位信息,在解码显示图像的时候需要用到。
基于以上设置,采用图像拼接服务器进行各路数据流的接收和拼接。如图2所示,本发明基于基本流视频数据封装的图像拼接方法,应用于图像拼接服务器,包括如下步骤:
步骤201、确定图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据。
图像拼接服务器对于需要进行图像拼接的监控场景,根据数据库中的图像拼接列表确定其对应的拼接ID,并进一步确定该拼接ID对应的基准流。然后开始接收来自该拼接ID对应的各路数据流。
本实施例以基准流视频数据的I帧时间为基准,在基准流视频数据的I帧到达图像拼接服务器后,开始进行各路数据流的处理,即剥离各路视频源数据流的头部信息,还原出各路数据流的基本流视频数据的I帧或P帧。对于基准流I帧之前到达图像拼接服务器的数据流不予处理。
由于数据流是以网络报文的形式传输的,图像拼接服务器在接收到数据流后,首先对网络报文剥离头部信息,即剥离UDP/TCP/RTP、PS/TS/ONVIF等头部信息,从而得到基本流视频数据,根据压缩视频流的编解码规则,基本流视频数据包括I帧和P帧。
实际上,基本流ES是不分段的连续码流,但在实际的应用中是将基本流ES分段后加上相应的头部信息打包形成基本流PES,PES包和包之间可以是不连续的。在传输时将PES包再分段打成有固定长度的传送流TS或可变长度的节目流PS。因此在接收时,需要根据相反的方法进行拼接得到基本流ES,这里不再赘述。
如图3所示,以三路数据流来举例说明。每一路数据流在网络中通过一个一个网络报文来传送,每个网络报文包括UDP/TCP/RTP、PS/TS/ONVIF头部信息。对于数据流1来说,其I帧I1被分解在多个网络报文中传送,到达图像拼接服务器后还原为完整的I帧。同理,P帧也一一被还原,这里不再赘述。
步骤202、把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组。
本实施例预设方法处理为,分别解析出各路基本流视频数据图像组GOP的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,以基准流图像组的原始I帧的时间作为拼接图像帧组时间。
对于三路来自不同摄像机的基本流视频数据,首先以基准流的I帧为基准,本实施例基准流为流1,以流1的I帧时间作为拼接后的拼接图像帧组的时间。即在收到基准流的I帧开始,进行后续的拼接图像帧组的封装。具体封装方法分为以下两种情况:
实施例一、与基准流(流1)的I帧同时到达的流2、流3都是I帧。
对于实施例一,其拼接后的基本流视频数据如图4所示。具体进行组合的步骤如下:
1)、在基准流的I帧头之前添加本路数据流对应的拼接定位信息,在I帧尾添加帧间分隔符。
具体地,就是在流1的I帧I1之前添加流1对应的位置信息(0,0,0,0),在I1帧尾添加帧间分隔符。对于排序拼接,还需要在流1的I帧I1之前添加标定值。
2)、依次将其他各路数据流的I帧做同样处理后添加到基准流的I帧之后。
即将流2的I帧I2、流3的I帧I3作同样处理后,排在I1帧之后。
3)、对于后续到达的各路数据流的P帧,在帧尾添加帧间分隔符后,按照I帧的排列顺序依次排列。
各路数据流的P帧,不需要在帧头添加信息,仅在帧尾添加帧间分割符,然后按照I帧的排列顺序依次排列。例如三路流的I帧的排列顺序是I1、I2、I3,则P帧的排列顺序为P1-1、P2-1、P3-1。
4)在所有I帧和P帧组合完成后,在整个拼接图像帧组之前封装整体拼接信息。
整体拼接信息包括本次拼接ID对应的所有拼接数据流的个数,以及拼接类型信息。
实施例二、与基准流(流1)的I帧同时到达的流2、流3有P帧。
对于实施例二,其拼接后的基本流视频数据如图5所示。具体进行组合的步骤如下:
(1)、在基准流的I帧头之前添加本路数据流对应的拼接定位信息,在I帧尾添加帧间分隔符。
具体地,就是在流1的I帧I1之前添加流1对应的位置信息(0,0,0,0),在I1帧尾添加帧间分隔符。对于排序拼接,还需要在流1的I帧I1之前添加标定值。
(2)、将与基准流I帧同时到达的其他各路数据流的I帧做同样处理,将与基准流I帧同时到达的其他各路数据流的P帧尾添加帧间分隔符后,依次添加到基准流的I帧之后。
即对于流2和流3,例如同时到达的是流2的P帧P2-2、流3的I帧I3,则对I3作I1同样的处理,将P2-2帧尾添加帧间分隔符后,排在I1帧之后。
(3)、对于后续到达的各路数据流的I帧和P帧,分别作同样处理后,依次排列。
对于后续到达的各路数据流的P帧,不需要在帧头添加信息,仅在帧尾添加帧间分割符;对于后续到达的各路数据流的I帧,同样在I帧头之前添加本路数据流对应的拼接定位信息,在I帧尾添加帧间分隔符。
例如与基准流的I帧同时到达的帧的排列顺序是I1、P2-2、I3,则后续到达的帧的排列顺序为P1-1、P2-3、P3-1,如图4所示。
(4)在所有I帧和P帧组合完成后,在整个拼接图像帧组之前封装整体拼接信息。
可见,实施例一和实施例二的拼接图像帧组的封装步骤本没有区别,都是首先对与基准流的I帧同时到达的其他数据流的I帧或P帧进行组合,然后依次对后续到达的各路数据流的I帧或P帧进行组合,直到基准流GOP图像组的最后一帧及与其同时到达的其他路数据流的I帧或P帧组合,封装为一个拼接图像帧组。
与实施例一不同的是,实施例二在解码端的处理不同,实施例二在解码时,当解码端收到第一组报文,解码第一个拼接图像帧组时发现基准流I帧之后为P帧(图5中流2是第2个P帧P2-2),则需要在这个拼接图像帧组中找到流2的I帧,将I2缓存起来,并且不对这个拼接图像帧组进行解码。等待下一个拼接图像帧组到来时,使用缓存的I2方可对P2-2进行解码显示,以此类推,依然需要再次缓存流2在这个拼接图像帧组中的I帧,用来为这个拼接图像帧组中流2中I帧后面P帧的解码和下个拼接图像帧组中P帧的解码。
需要说明的是,对于摄像机每一幅视频图像对应一个I帧,因此本实施例三路数据流的情况,一个拼接图像帧组包括三个摄像机的同时间点的图像。依次对摄像机拍摄的视频图像进行封装为连续的拼接图像帧组,形成连续的拼接图像数据流。
步骤203、将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
图像拼接服务器在拼接图像帧组中封装的私有数据都是数据层面的信息,这里的私有数据是指加在拼接图像帧组头部的整体拼接信息和I帧头部的拼接定位信息。将拼接图像帧组进行媒体封装和网络封装,这个过程与拼帧过程相反,图像拼接服务器将拼接图像帧组按照PS或TS、ONVIF协议要求长度进行截取分段,在分段的数据之上封装媒体信息,之后再打上TCP、UDP或RTP头形成拼接码流,进行网络传输或存储。
具体地,对于实时监控来说,需要在解码端实时显示拼接后的图像。则图像拼接服务器将输出的拼接码流发给解码端,解码端收到拼接码流后,解析出来的是拼接后的数据流,将拼接图像帧组中各路视频源数据流的I帧和P帧还原出来,按照拼接图像帧组带有的整体拼接信息、拼接定位信息进行解码显示。由于这里将各路视频源数据流的I帧和P帧还原出来,则可以对每路视频源数据流进行单独的显示播放,应用更加灵活。
在实况、回放业务的调度中,拼接ID将代替原有实况、回放业务中的摄像机ID,复用原有业务调度流程。即用来进行实况或回放业务的客户端在进行实况或回放业务时,以拼接ID代替摄像机ID发起业务调度,媒体服务器根据该拼接ID来将对应的拼接码流转发给客户端完成业务的调度。
具体地,本实施例可以对拼接码流进行存储,当需要进行存储时,将拼接码流作为一个独立整体,分配存储空间,存储拼接码流。并且存储的拼接码流的时间以其拼接图像帧组时间为索引时间,即以该拼接图像帧组的基准流的I帧时间作为索引时间。
同理,对于拼接码流的回放请求,则由客户端发送RTSP SETUP给媒体服务器,由媒体服务器从存储设备中根据时间索引找到相应拼接码流的位置,读出录像数据,发送给客户端,并使用RTSP PLAY等方法实现回放控制。
图6示出了实现上述方法的基于基本流视频数据封装的图像拼接装置,包括接收模块、拼接模块和输出模块,其中:
接收模块,用于确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;
拼接模块,用于把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组,所述预设方法处理为,分别解析出各路基本流视频数据图像组的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,所述基准流图像组的原始I帧的时间作为拼接图像帧组时间;
输出模块,用于将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
本实施例拼接模块在以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组时,具体执行如下步骤:
以基准流的I帧在前,与基准流的I帧同时到达的其它路数据流的I帧或P帧按照预设顺序依次封装在基准流的I帧之后的顺序组成拼接图像帧组的I帧部分,以基准流的P帧在前,与基准流的P帧同时到达的其它路数据流的I帧或P帧按照所述预设顺序依次封装在基准流P帧之后的顺序,组成拼接图像帧组的P帧部分,以拼接图像帧组的I帧部分在前,拼接图像帧组的P帧部分按到达顺序依次排在拼接图像帧组的I帧部分之后的顺序,组成拼接图像帧组。
其中整体拼接信息包括图像拼接对应的拼接数据流的个数以及拼接类型;拼接定位信息包括数据流对应的位置信息和标定值,该标定值用于后续拼接时的图像裁边处理。
图像拼接对应有拼接ID,所述拼接定位信息、整体拼接信息以拼接ID为索引保存在数据库,拼接服务器进行图像拼接时,根据拼接ID从数据库动态获取所述拼接定位信息、整体拼接信息。
本实施例的输出模块将输出的拼接码流进行存储,存储的拼接码流以其拼接图像帧组时间为索引时间,拼接图像帧组时间为对应基准流的时间。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种基于基本流视频数据封装的图像拼接方法,应用于图像拼接服务器,用于对需要进行图像拼接的各路视频源的数据流进行图像拼接,其特征在于,所述图像拼接方法包括步骤:
确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;
把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组,所述预设方法处理为,分别解析出各路基本流视频数据图像组的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,所述基准流图像组的原始I帧的时间作为拼接图像帧组时间;
将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
2.根据权利要求1所述的图像拼接方法,其特征在于,所述以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,具体包括:
以基准流的I帧在前,与基准流的I帧同时到达的其它路数据流的I帧或P帧按照预设顺序依次封装在基准流的I帧之后的顺序组成拼接图像帧组的I帧部分,以基准流的P帧在前,与基准流的P帧同时到达的其它路数据流的I帧或P帧按照所述预设顺序依次封装在基准流P帧之后的顺序,组成拼接图像帧组的P帧部分,以拼接图像帧组的I帧部分在前,拼接图像帧组的P帧部分按到达顺序依次排在拼接图像帧组的I帧部分之后的顺序,组成拼接图像帧组。
3.根据权利要求1或2所述的图像拼接方法,其特征在于,所述整体拼接信息包括所述图像拼接对应的拼接数据流的个数以及拼接类型;所述拼接定位信息包括所述数据流对应的位置信息和标定值,所述标定值用于后续拼接时的图像裁边处理。
4.根据权利要求1所述的图像拼接方法,其特征在于,所述图像拼接对应有拼接ID,所述拼接定位信息、整体拼接信息以拼接ID为索引保存在数据库,所述拼接服务器进行图像拼接时,根据拼接ID从数据库动态获取所述拼接定位信息、整体拼接信息。
5.根据权利要求1所述的图像拼接方法,其特征在于,所述方法还包括:
图像拼接服务器将输出的拼接码流发给解码端,解码端收到拼接码流后,将拼接图像帧组的各路视频源数据流的I帧和P帧还原,并按照拼接图像帧组中携带的整体拼接信息和拼接定位信息进行解码显示;
图像拼接服务器将拼接码流进行存储,所述存储的拼接码流以其拼接图像帧组时间为索引时间。
6.一种基于基本流视频数据封装的图像拼接装置,应用于图像拼接服务器,用于对需要进行图像拼接的各路视频源的数据流进行图像拼接,其特征在于,所述图像拼接装置包括:
接收模块,用于确定所述图像拼接的基准流,接收该图像拼接对应的各路视频源的数据流,剥离各路视频源的数据流的头部信息,还原出各路数据流的基本流视频数据;
拼接模块,用于把当前获取的基准流图像组、与参与图像拼接的其他路视频源的基本流视频数据的图像组,经过预设方法处理,组合成拼接图像帧组,所述预设方法处理为,分别解析出各路基本流视频数据图像组的原始I帧、原始P帧,在各路基本流视频数据的原始I帧头之前添加拼接定位信息,在原始I帧尾和原始P帧尾添加帧间分割符,以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组,并在拼接图像帧组之前封装整体拼接信息,所述基准流图像组的原始I帧的时间作为拼接图像帧组时间;
输出模块,用于将拼接图像帧组封装头部信息后输出拼接码流进行网络传输或存储。
7.根据权利要求6所述的图像拼接装置,其特征在于,所述拼接模块在以基准流I帧在前,基准流P帧、非基准流的I帧、P帧在后的顺序,封装为一个拼接图像帧组时,具体执行如下步骤:
以基准流的I帧在前,与基准流的I帧同时到达的其它路数据流的I帧或P帧按照预设顺序依次封装在基准流的I帧之后的顺序组成拼接图像帧组的I帧部分,以基准流的P帧在前,与基准流的P帧同时到达的其它路数据流的I帧或P帧按照所述预设顺序依次封装在基准流P帧之后的顺序,组成拼接图像帧组的P帧部分,以拼接图像帧组的I帧部分在前,拼接图像帧组的P帧部分按到达顺序依次排在拼接图像帧组的I帧部分之后的顺序,组成拼接图像帧组。
8.根据权利要求6或7所述的图像拼接装置,其特征在于,所述整体拼接信息包括所述图像拼接对应的拼接数据流的个数以及拼接类型;所述拼接定位信息包括所述数据流对应的位置信息和标定值,所述标定值用于后续拼接时的图像裁边处理。
9.根据权利要求6所述的图像拼接装置,其特征在于,所述图像拼接对应有拼接ID,所述拼接定位信息、整体拼接信息以拼接ID为索引保存在数据库,所述拼接服务器进行图像拼接时,根据拼接ID从数据库动态获取所述拼接定位信息、整体拼接信息。
10.根据权利要求6所述的图像拼接装置,其特征在于,所述输出模块将输出的拼接码流进行存储,所述存储的拼接码流以其拼接图像帧组时间为索引时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448899.3A CN104243920B (zh) | 2014-09-04 | 2014-09-04 | 一种基于基本流视频数据封装的图像拼接方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448899.3A CN104243920B (zh) | 2014-09-04 | 2014-09-04 | 一种基于基本流视频数据封装的图像拼接方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243920A true CN104243920A (zh) | 2014-12-24 |
CN104243920B CN104243920B (zh) | 2017-09-26 |
Family
ID=52231156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410448899.3A Active CN104243920B (zh) | 2014-09-04 | 2014-09-04 | 一种基于基本流视频数据封装的图像拼接方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243920B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357531A (zh) * | 2015-12-15 | 2016-02-24 | 北京网博视界科技股份有限公司 | 基于视频局部编码快速切割封装方法 |
CN106534716A (zh) * | 2016-11-17 | 2017-03-22 | 三星电子(中国)研发中心 | 一种全景视频的传输和显示方法 |
CN107241323A (zh) * | 2017-06-01 | 2017-10-10 | 上海寰视网络科技有限公司 | 拼帧方法及设备 |
CN108063976A (zh) * | 2017-11-20 | 2018-05-22 | 北京奇艺世纪科技有限公司 | 一种视频处理方法及装置 |
CN108933920A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 一种视频画面的输出、查看方法及装置 |
CN109429073A (zh) * | 2017-09-01 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 发送多媒体数据、播放多媒体数据的方法、装置及系统 |
CN110719496A (zh) * | 2018-07-11 | 2020-01-21 | 杭州海康威视数字技术股份有限公司 | 一种多路码流封装、播放方法、装置及系统 |
WO2020135527A1 (zh) * | 2018-12-25 | 2020-07-02 | 杭州海康威视数字技术股份有限公司 | 多媒体数据处理 |
CN111510717A (zh) * | 2019-01-31 | 2020-08-07 | 杭州海康威视数字技术股份有限公司 | 图像拼接方法和装置 |
CN112152753A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 一种与下位机传输数据的方法及装置 |
CN115706808A (zh) * | 2021-08-06 | 2023-02-17 | 北京猿力未来科技有限公司 | 视频处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5422674A (en) * | 1993-12-22 | 1995-06-06 | Digital Equipment Corporation | Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof |
EP1005042A2 (en) * | 1998-11-26 | 2000-05-31 | Sony Corporation | Method and apparatus for recording and reproducing video signals |
US20050151743A1 (en) * | 2000-11-27 | 2005-07-14 | Sitrick David H. | Image tracking and substitution system and methodology for audio-visual presentations |
US20050185047A1 (en) * | 2004-02-19 | 2005-08-25 | Hii Desmond Toh O. | Method and apparatus for providing a combined image |
US20060188016A1 (en) * | 2005-02-24 | 2006-08-24 | Gould Theodore J | Method and apparatus for dynamic determination of frames required to build a complete picture in an MPEG video stream |
CN101207809A (zh) * | 2006-12-19 | 2008-06-25 | 浙江工业大学 | 基于视频帧拆分的实时流媒体传输方法及系统 |
CN101409831A (zh) * | 2008-07-10 | 2009-04-15 | 浙江师范大学 | 一种多媒体视频对象处理方法 |
CN101464471A (zh) * | 2009-01-15 | 2009-06-24 | 清华大学 | 实体模型表面流场实时量测系统及其后处理方法 |
CN101505420A (zh) * | 2008-12-02 | 2009-08-12 | 深圳市同洲电子股份有限公司 | 一种视频压缩数据的封装方法 |
-
2014
- 2014-09-04 CN CN201410448899.3A patent/CN104243920B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5422674A (en) * | 1993-12-22 | 1995-06-06 | Digital Equipment Corporation | Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof |
EP1005042A2 (en) * | 1998-11-26 | 2000-05-31 | Sony Corporation | Method and apparatus for recording and reproducing video signals |
US20050151743A1 (en) * | 2000-11-27 | 2005-07-14 | Sitrick David H. | Image tracking and substitution system and methodology for audio-visual presentations |
US20050185047A1 (en) * | 2004-02-19 | 2005-08-25 | Hii Desmond Toh O. | Method and apparatus for providing a combined image |
US20060188016A1 (en) * | 2005-02-24 | 2006-08-24 | Gould Theodore J | Method and apparatus for dynamic determination of frames required to build a complete picture in an MPEG video stream |
CN101207809A (zh) * | 2006-12-19 | 2008-06-25 | 浙江工业大学 | 基于视频帧拆分的实时流媒体传输方法及系统 |
CN101409831A (zh) * | 2008-07-10 | 2009-04-15 | 浙江师范大学 | 一种多媒体视频对象处理方法 |
CN101505420A (zh) * | 2008-12-02 | 2009-08-12 | 深圳市同洲电子股份有限公司 | 一种视频压缩数据的封装方法 |
CN101464471A (zh) * | 2009-01-15 | 2009-06-24 | 清华大学 | 实体模型表面流场实时量测系统及其后处理方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357531A (zh) * | 2015-12-15 | 2016-02-24 | 北京网博视界科技股份有限公司 | 基于视频局部编码快速切割封装方法 |
CN105357531B (zh) * | 2015-12-15 | 2018-07-20 | 北京网博视界科技股份有限公司 | 基于视频局部编码快速切割封装方法 |
CN106534716A (zh) * | 2016-11-17 | 2017-03-22 | 三星电子(中国)研发中心 | 一种全景视频的传输和显示方法 |
CN106534716B (zh) * | 2016-11-17 | 2019-10-08 | 三星电子(中国)研发中心 | 一种全景视频的传输和显示方法 |
CN108933920B (zh) * | 2017-05-25 | 2023-02-17 | 中兴通讯股份有限公司 | 一种视频画面的输出、查看方法及装置 |
CN108933920A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 一种视频画面的输出、查看方法及装置 |
CN107241323A (zh) * | 2017-06-01 | 2017-10-10 | 上海寰视网络科技有限公司 | 拼帧方法及设备 |
CN109429073A (zh) * | 2017-09-01 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 发送多媒体数据、播放多媒体数据的方法、装置及系统 |
CN108063976B (zh) * | 2017-11-20 | 2021-11-09 | 北京奇艺世纪科技有限公司 | 一种视频处理方法及装置 |
CN108063976A (zh) * | 2017-11-20 | 2018-05-22 | 北京奇艺世纪科技有限公司 | 一种视频处理方法及装置 |
CN110719496A (zh) * | 2018-07-11 | 2020-01-21 | 杭州海康威视数字技术股份有限公司 | 一种多路码流封装、播放方法、装置及系统 |
WO2020135527A1 (zh) * | 2018-12-25 | 2020-07-02 | 杭州海康威视数字技术股份有限公司 | 多媒体数据处理 |
CN111510717A (zh) * | 2019-01-31 | 2020-08-07 | 杭州海康威视数字技术股份有限公司 | 图像拼接方法和装置 |
CN111510717B (zh) * | 2019-01-31 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 图像拼接方法和装置 |
CN112152753A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 一种与下位机传输数据的方法及装置 |
CN115706808A (zh) * | 2021-08-06 | 2023-02-17 | 北京猿力未来科技有限公司 | 视频处理方法及装置 |
CN115706808B (zh) * | 2021-08-06 | 2024-06-11 | 北京猿力未来科技有限公司 | 视频处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104243920B (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243920B (zh) | 一种基于基本流视频数据封装的图像拼接方法及装置 | |
US11405699B2 (en) | Using GLTF2 extensions to support video and audio data | |
KR102269311B1 (ko) | 송신 장치, 송신 방법, 수신 장치 및 수신 방법 | |
US11729465B2 (en) | System and method providing object-oriented zoom in multimedia messaging | |
US11381867B2 (en) | Multiple decoder interface for streamed media data | |
US20050248802A1 (en) | Image data delivery system, image data transmitting device thereof, and image data receiving device thereof | |
CN107005729A (zh) | 用于多媒体和文件传输的传输接口 | |
CN111107299A (zh) | 一种多路视频合成的方法及装置 | |
CN103986960A (zh) | 一种单视频画面分割多路由远传精确同步拼接显示的方法 | |
US20110090970A1 (en) | Terminal and relay node for video conference system | |
WO2022262858A1 (zh) | 图像传输方法、图像显示及处理设备、及图像传输系统 | |
CN113891117B (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
CN111124333A (zh) | 电子白板显示内容同步的方法、装置、设备以及存储介质 | |
CN112866725A (zh) | 一种直播控制方法及装置 | |
CN109544879B (zh) | 一种报警数据的处理方法和系统 | |
CN111726598B (zh) | 图像处理方法和装置 | |
WO2022226502A1 (en) | Anchoring a scene description to a user environment for streaming immersive media content | |
CN110830185B (zh) | 一种数据传输的方法及装置 | |
CN109660595B (zh) | 一种实时街景的远程操作方法和装置 | |
WO2020135527A1 (zh) | 多媒体数据处理 | |
CN113950825A (zh) | 数据传输、处理方法、可移动平台、终端设备及芯片 | |
JP5367771B2 (ja) | 映像伝送システム | |
US20220335694A1 (en) | Anchoring a scene description to a user environment for streaming immersive media content | |
CN114760455B (zh) | 一种基于avs3编码框架下的多路视频多视角场景编解码方法 | |
US11758108B2 (en) | Image transmission method, image display device, image processing device, image transmission system, and image transmission system with high-transmission efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |