一种基于拼接式全景摄像机的实时视频流传输方法与流程

文档序号:12839318阅读:532来源:国知局
一种基于拼接式全景摄像机的实时视频流传输方法与流程

本发明涉及计算机编解码技术和计算机图形学技术,特别涉及一种基于拼接式全景摄像机的实时视频流传输方法。



背景技术:

拼接式全景摄像机的成像过程是指将多个摄像头按照空间位置关系,固定安装在支架上,每个摄像头可以独立、高清地捕捉固定角度的图像。全景图像拼接技术是将不同相机在不同的时间、不同方向拍摄的图像,拼接到同一坐标系下进行全景展示。

拼接式全景摄像头采集的视频流路数取决于摄像头的个数,每一个摄像头都独立的采集单一方向的视频流。当流媒体服务器直接以多线程的方式对多路视频流进行分流发送,接收端对视频流处理的复杂度较高,同时在解码绘制后往往出现图像不同步的现象,导致全景展示的效果较差。



技术实现要素:

针对上述难题,本发明提供一种基于拼接式全景摄像机的实时视频流传输方法。

本发明提供一种基于拼接式全景摄像机的实时视频流传输方法,其包括如下步骤:

(a)通过全景摄像机实时获取多路视频流;

(b)对每一路视频流的每一帧图像进行划分,得到多个h264图像包,并获取对应的时间戳信息;

(c)按照时间戳信息对多路视频流的多个h264图像包进行重新排序,并整合成单路全景视频流;

(d)在整合后的单路全景视频流中添加附加编码以及指令并转发;以及

(e)接收端接收转发的该单路全景视频流,按照附加编码及指令对该单路全景视频流进行分流解码,并绘制全景图像。

步骤(a)中通过全景摄像机获取多路视频流具体为通过拼接式全景摄像机采集同一时间、不同方向的多路视频流,其中视频流的格式为h.264。

所述步骤(c)按照时间戳信息对多路视频流的多个h264图像包进行重新排序,并整合成单路全景视频流具体为:

流媒体服务器将多路视频流按照时间戳信息进行拆分排序,使同一时间段下的多个h264图像包按照摄像头序号进行排列。

所述步骤(d)在整合后的单路全景视频流中添加附加编码以及指令并转发具体为:

首先,在每一个h264图像包前添加包头信息、摄像头序号信息以及包长信息,并且在每一个h264图像包后添加刷新指令,其中,所述包头信息用于每一路视频流中不同h264图像包之间的划分和辨别,所述摄像头序号信息代表该h264图像包对应的图像采集的来源,所述包长信息用于记录该h264图像包的存储长度;所述刷新指令用于告知接收端进行多路图像的实时绘制;

其次,流媒体服务器将多路视频流合并后的单路全景视频流进行转发。

步骤(e)具体包括以下步骤:

(e1)接收端读取来自流媒体服务器转发的单路全景视频流;

(e2)按照摄像头序号信息对单路全景视频流中的多个h264图像包进行分流解码;

(e3)对一个h264图像包解码后,读取该h264图像包后的刷新指令并根据该刷新指令绘制图像,从而得到全景视频图像;

(e4)重复步骤(e1)至步骤(e3),完成全景视频流的实时更新。

所述步骤(e1)具体为:接收端通过tcp/ipsocket通信机制获取来自流媒体服务器发送的单路全景视频流。

所述步骤(e2)具体为:接收端依次读取单路全景视频流中的编码指令以及h264图像包数据,并根据摄像头序号信息对单路全景视频流进行重新分流,同时调用多路解码器对相应的h264图像包进行解码。

所述步骤(e3)具体为:每对一个h264图像包解码后,读取该h264图像包中的刷新指令,并更新对应该摄像头序号信息的视频流图像。

所述步骤(e4)具体为:依次读取实时转发的单路全景视频流的编码信息,按照步骤(e2)至步骤(e3)处理,即可完成全景图像的实时刷新。

相较于现有技术,本方法具有以下优点:第一,通过时间戳信息对多路视频流进行拆分排序,可以保证多路视频流图像传输的同步性;第二,将不同摄像头采集的多路视频流通过拆分排序、添加附加编码及指令的方式整合为单路全景视频流并发送,可以降低接收端处理数据的复杂度;第三,通过与拼接式全景摄像机相结合,可以实现全景图像的实时传输及更新。

附图说明

图1是本发明所述基于拼接式全景摄像机的实时视频流传输方法的流程图。

图2为本发明将多路视频流合并为单路视频流的传输示意图。

图3为本发明所述接收端处理单路全景视频流的示意图。

图4为本发明实施例1的android端vr全景影像效果图。

具体实施方式

下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

请参阅图1,本发明提供一种基于拼接式全景摄像机的实时视频流传输方法,其包括如下步骤:

(a)通过全景摄像机实时获取多路视频流;

(b)对每一路视频流的每一帧图像进行划分,得到多个h264图像包,并获取对应的时间戳信息;

(c)按照时间戳信息对多路视频流的多个h264图像包进行重新排序,并整合成单路全景视频流;

(d)在整合后的单路全景视频流中添加附加编码以及指令并转发;

(e)接收端接收转发的该单路全景视频流,按照附加编码及指令对该单路全景视频流进行分流解码,并绘制全景图像。

在步骤(a)中,通过拼接式全景摄像机采集同一时间、不同方向的多路视频流,其中视频流的格式为h.264。

步骤(b)至步骤(d),流媒体服务器将不同摄像头采集的多路视频流通过拆分排序以及添加附加指令的方式整合为单路全景视频流并进行转发,请参阅图2。

步骤(c)具体包括:流媒体服务器将多路视频流按照时间戳信息进行拆分排序,使同一时间段下的多个h264图像包按照摄像头序号进行排列。该时间段可设置为0.05ms。若当前时间段下某路视频流无对应的h264图像包,则自动忽略。该步骤用于保证多路视频流传输的时间同步性。

步骤(d)具体包括:

首先,在每一个h264图像包前添加包头信息、摄像头序号信息以及包长信息,并且在每一个h264图像包后添加刷新指令。其中,所述包头信息用于每一路视频流中不同h264图像包之间的划分和辨别。所述包头信息为四个字节的存储空间,内容为:0x50,0x53,0x45,0x47,其ascii码值为:pseg,表示不同h264图像包之间的划分,在网络传输中用于矫正丢包以及传输错误码的现象。所述摄像头序号信息代表该h264图像包对应的图像采集的来源。所述摄像头序号信息为一个字节的存储空间,值分别为:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,作为多路视频流的序号。所述摄像头序号信息用于告知接收端打开对应序号的解码器进行h.264解码。所述包长信息为四个字节的存储空间,是一个int数据格式的整数。所述包长信息用于记录该h264图像包的存储长度。刷新指令为四个字节的存储空间,内容为:0x00,0x00,0x00,0xff。所述刷新指令用于告知接收端进行图像的实时绘制。

其次,流媒体服务器将h.264格式的多路视频流合并后的单路全景视频流进行转发。每发送完一个时间段下的多个h264图像包、上述的附加编码及指令,即代表一帧全景图像转发完毕。

在步骤(e)中,接收端对所述单路全景视频流进行分流解码以及全景绘制。请参阅图3,主要如下:

(e1)接收端读取来自流媒体服务器转发的单路全景视频流;

(e2)按照摄像头序号信息对单路全景视频流中的多个h264图像包进行分流解码;

(e3)对一个h264图像包解码后,读取该h264图像包后的刷新指令并根据该刷新指令绘制图像,从而得到全景视频图像。

(c4)重复步骤(c1)至步骤(c3),完成全景视频流的实时更新。

所述步骤(e1)具体为:接收端通过tcp/ipsocket通信机制获取来自流媒体服务器发送的单路全景视频流。

所述步骤(e2)具体包括:首先,接收端依次读取每一个h264图像包中的包头信息、摄像头序号信息、包长信息以及包体信息;其次,按照摄像头序号信息对该多个h264图像包进行重新分流;最后,接收端通过多路解码器对具有相同的摄像头序号信息的h264图像包进行解码。

所述步骤(e3)具体为:每对一个h264图像包解码后,会接着读取该h264图像包中的刷新指令,接收端根据该刷新指令绘制对应于该摄像头序号信息的图像。当对应于所有摄像头序号信息的多个图像全部绘制完毕后,即可更新出一帧全景视频图像。

所述步骤(e4)具体为:依次读取实时转发的单路全景视频流中的编码信息,接收端按照步骤(e2)至步骤(e3)循环重复处理,即可完成全景图像的实时更新。

相较于现有技术,本方法具有以下优点:第一,通过时间戳信息对多路视频流进行拆分排序,可以保证多路视频流图像传输的同步性;第二,将不同相机采集的多路视频流通过拆分排序、添加附加编码及指令的方式整合为单路全景视频流并发送,可以降低接收端处理数据的复杂度;第三,通过与拼接式全景摄像机相结合,可以实现全景图像的实时传输及更新。

下面结合具体实施例对本发明提出的一种基于拼接式全景摄像机的实时视频流传输方法进行说明:

实施例1

所述基于拼接式全景摄像机的实时视频流传输方法可与拼接式全景相机相结合,实现全景视频流的传输。具体以pc端的全景服务器向android客户端转发实时视频流为例。该设计方法包括如下步骤:

(a)通过全景摄像机获取多路视频流;

(b)搭建pc端全景服务器对每一路视频流的每一帧图像进行划分,得到多个h264图像包,并获取对应的时间戳信息;

(c)按照时间戳信息对多路视频流的多个h264图像包进行重新排序,并整合 成单路全景视频流;

(d)在整合后的单路全景视频流中添加附加编码以及指令并转发;

(e)android客户端按照编码指令进行分流解码并绘制全景图像;

(f)利用二分屏技术以及陀螺仪传感器将全景影像信息与手机vr设备相结合,实现沉浸式的虚拟现实体验。

步骤(a)中,通过拼接式全景摄像机采集同一时间、不同方向的多路视频流,其中视频流的格式为h.264。

步骤(b)至步骤(d)中,在pc端搭建全景服务器获取实时的多路视频流。为每一路视频流添加附加编码指令,最终根据时间戳信息将多路视频流进行拆分重组,合成单路全景视频流并转发。

步骤(e)具体为:在android端完成对转发的单路全景视频流进行分流解码,最终绘制成球体全景图像。

在步骤(f)中,对所述球体全景图像进一步采取二分屏技术,利用双目视觉立体成像原理在脑海中呈现全景视频的立体成像感,给用户带来全景影像信息的沉浸式体验。为了加强全景实时视频与用户之间的交互感,还对移动端的陀螺仪传感器进行了进一步的研究。利用陀螺仪来实现全景影像信息的多角度观测,最终结合vr设备完成方向可控的虚拟现实场景体验。效果图请参阅图4。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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