一种支持多视点视频合成的网络流媒体播放器及方法

文档序号:7652188阅读:143来源:国知局
专利名称:一种支持多视点视频合成的网络流媒体播放器及方法
技术领域
本发明涉及多视点视频处理和网络流媒体技术领域,特别是关于一种支持多视点视频合成的网络流媒体播放器及方法。
背景技术
目前,基于个人计算机的网络流媒体播放器已获得广泛的应用。如图1所示,现有技术的流媒体播放器的架构主要由数据接收模块、解码模块和呈现模块组成,各模块之间的数据流动是通过在发送者模块的输出接口与接收者模块的输入接口之间建立一条数据通路来完成的。除了数据通路之外,模块间没有更多的耦合,能够实现较好的模块封装。各模块的功能具体描述如下数据接收模块主要负责通过网络与流媒体服务器进行交互并接收媒体数据。如图2所示,在该模块中包含一个输入接口、一个视频帧组装子模块和一个输出接口。输入接口负责从网络接收组成压缩视频数据的IP包,视频帧组装子模块负责解析接收到的IP包并将其组装成为一个个的压缩视频帧,输出接口负责缓存组装后的压缩视频帧数据,并将其发送到下一个模块(解码模块)的输入接口。
解码模块负责将接收到的压缩视频帧数据进行解码,然后以最快的速度将解码后的原始视频帧数据传递给呈现模块。该过程是在上一模块(数据接收模块)中输出接口的驱动下完成的。
呈现模块负责将解码后的原始视频帧数据送交显示设备进行显示和播放。其中需要利用每一帧数据的时间戳来进行时间同步,以控制每一帧的显示时间。该过程是在上一模块(解码模块)中输出接口的驱动下完成的。
上述现有技术的流媒体播放器能够满足传统单视点视频服务的需求,但它仅适用于单视点视频流的接收和播放,即同时只能通过IP网络从流媒体服务器接收含有一路视频信号的媒体数据然后进行解码和播放,用户同时只能够观看到来自流媒体服务器的一路视频。然而随着近年来视频服务的不断升级,多视点视频技术应运而生。相对于传统的单点视频来说,多视点视频可以提供某一事物或场景不同角度、不同层面的信息,并且可以把这些信息进行合成,生成多角度、全方位的自由或立体视觉。多视点视频的原始数据一般是由多个摄像机组成的集合采集而成。由于组成集合的摄像机大都距离固定,拍摄的场景也大致相同,因此多视点视频数据往往表现了同一场景或物体不同角度的信息,使得用户可以任意选择其中之一进行观看,或者根据相邻几个摄像机所拍摄的视频序列合成出一个虚拟的中间场景来进行观看,并实现多个视点之间的无缝自由浏览和切换,即所谓的自由视点视频。如果用户同时选择了多个相邻摄像机所拍摄的视频序列,并想在客户端将其合成为一个虚拟的中间视点来进行观看时,现有技术的流媒体播放器就无法满足这种需求。

发明内容
针对上述问题,本发明的目的是提供一种支持多视点视频合成的网络流媒体播放器及方法。
为实现上述目的,本发明采取以下技术方案一种支持多视点视频合成的网络流媒体播放器,它包括一个数据接收模块和一个呈现模块,其特征在于它还包括一个以上解码模块和一个合成模块;所述数据接收模块一方面通过一条以上IP网络连接从流媒体服务器接收源自一个以上摄像机视点的压缩视频码流,另一方面与一个以上解码模块相连,并向后者转发接收到的不同视点的压缩视频帧数据,所述数据接收模块还从用户界面接收视点切换命令并向合成模块转发;所述解码模块一方面与数据接收模块相连,从中接收针对所选定视点组装好的压缩视频帧数据并解码,另一方面与合成模块相连,向后者转发解码后的原始视频帧数据;所述合成模块一方面与一个以上解码模块相连,从中接收解码后的原始视频帧数据并进行虚拟视合成,另一方面与呈现模块相连,向后者转发合成后的虚拟视频帧数据,所述合成模块还从数据接收模块接收视点切换命令;所述呈现模块一方面与合成模块相连,从中接收合成后的虚拟视频帧数据,另一方面与显示设备相连。
所述数据接收模块由一个以上输入接口、一个以上视频帧组装子模块、一个以上输出接口和一个视点切换监听子模块所组成;所述每个输入接口一方面通过IP网络与流媒体服务器建立连接,并以连续IP包的形式从后者接收一路摄像机视点的压缩视频码流,另一方面与一个视频帧组装子模块相连,并将接收到的连续IP包向后者转发,所述每个输入接口还与视点切换监听子模块相连,从中接收视点切换命令并根据命令执行相应的视点切换操作;所述每个视频帧组装子模块一方面与一个输入接口相连,从中接收连续的IP包,然后解析并组装为一个个的压缩视频帧,另一方面与一个输出接口相连,向后者转发组装好的压缩视频帧数据;所述每个输出接口一方面与一个视频帧组装子模块相连,从中接收组装好的压缩视频帧数据,另一方面与一个解码模块相连,向后者转发接收到的压缩视频帧数据;所述视点切换监听子模块一方面监听并接收来自用户接口的视点切换命令,另一方面将该视点切换命令信息向各个输入接口和合成模块转发。
所述合成模块由一个主控输入接口、至少一个普通输入接口、至少一个视频帧缓冲队列、一个虚拟视合成子模块和一个输出接口组成;所述主控输入接口一方面与第一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与虚拟视合成子模块相连,直接驱动该子模块的运行并以输入参数的形式向其提供一路主控原始视频帧数据;所述每个普通输入接口一方面与一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与一个视频帧缓冲队列相连并将接收到的原始视频帧数据向后者转发;所述每个视频帧缓冲队列是一个先进先出型队列,它一方面与一个普通输入接口相连并将其所接收到的原始视频帧数据加入队列进行缓存,另一方面与虚拟视合成子模块相连,并以输入参数的形式向其提供一路原始视频帧数据;所述虚拟视合成子模块一方面与主控输入接口和至少一个视频帧缓冲队列相连,从中接收用于虚拟视合成的一个以上输入视频帧并在主控输入接口的驱动下调用虚拟视合成算法,另一方面与输出接口相连并向后者转发合成后的虚拟视频帧,所述虚拟视合成子模块还与数据接收模块中的视点切换监听子模块相连,从后者接收视点切换命令并解析出各个视点之间的比例关系等信息作为虚拟视合成算法的输入参数;所述每个输出接口一方面与虚拟视合成子模块相连,从中接收合成后的虚拟视频帧数据,另一方面与呈现模块相连并向后者转发接收到的虚拟视频帧数据。
所述视点切换命令中包含流媒体服务器位置,视点切换后重新进行虚拟视合成时所涉及到的各实际摄像机视点码流及其位置和比例关系等信息。
对于矩形摄像机阵列,如果每次最多采用相邻的上下左右4个实际视点来合成一个虚拟视,则采用一个如下形式的统一资源定位符(URL)来表示一个视点切换命令ftv://ServerName;Nlt.sdp;Nrt.sdp;Nlb.sdp;Nrb.sdp;Rlr;Rtb,其中,ServerName表示流媒体服务器的域名,Nlt.sdp、Nrt.sdp、Nlb.sdp和Nrb.sdp分别表示当前所选左上角、右上角、左下角和右下角视点在流媒体服务器上的媒体描述文件名,Rlr和Rtb分别表示左右视点和上下视点在合成时所占的比例关系,其取值范围为0~1。
一种支持多视点视频合成的网络流媒体播放器方法,其特征在于播放过程操作步骤如下(1)数据接收模块中的视点切换监听子模块每次监听并接收到来自用户界面的视点切换命令后,根据其中流媒体服务器域名和切换后各视点码流的媒体描述文件名组成相应的流媒体URL并发送至相应的输入接口,同时将其中的比例关系信息发送至合成模块中的虚拟视合成子模块;(2)数据接收模块中的每个输入接口在接收到与其对应的新的流媒体URL后,关闭与流媒体服务器之间的原有连接并使用该新的URL与流媒体服务器重新建立网络连接,然后连续不断地接收含有压缩视频数据的IP包并向对应的视频帧组装子模块转发;(3)数据接收模块中的每个视频帧组装子模块连续不断地从对应的输入接口接收IP包,并在组装好一个完整的压缩视频帧后向对应的输出接口转发;(4)数据接收模块中的每个输出接口连续不断地将接收到的压缩视频帧数据转发至对应的解码模块;(5)每个解码模块连续不断地从数据接收模块中对应的输出接口处接收压缩视频帧数据并解码,然后将解码后的原始视频帧数据向合成模块中对应的主控输入接口或者普通输入接口进行转发;(6)合成模块中的每个普通输入接口连续不断地将从对应的解码模块处接收到的原始视频帧数据加入到对应的视频帧缓冲队列;(7)合成模块中的主控输入接口连续不断地从对应的解码模块处接收原始视频帧,每接收到一个视频帧后以该视频帧的时间戳为基准从所有视频帧缓冲队列中各取出一个与该基准时间戳相匹配的视频帧,然后以所有这些视频帧以及从数据接收模块接收到的各视点比例关系信息作为输入参数调用虚拟视合成子模块来生成一个虚拟视频帧;(8)合成模块中的输出接口连续不断地将从虚拟视合成子模块输出的虚拟视频帧发送至呈现模块;(9)呈现模块连续不断地从合成模块接收虚拟视频帧并送至显示设备进行显示。
本发明由于采取以上技术方案,其具有以下优点能够在一个播放器框架下同时与流媒体服务器建立多条网络连接并同时接收和解码多个视频码流,从而可在解码器端实现基于多视点视频流的虚拟视合成,既减轻了服务器端的计算压力,又增强了系统的灵活性;视点切换监听模块的使用使得视点切换不影响到其它模块甚至本模块中的其它子模块,也无须重置播放器框架结构和状态,从而能够以较小的开销实现快速视点切换;采用时间戳机制对多条视频码流中的视频帧进行时间同步,有效避免了因网络丢包等原因所造成的多视点视频不匹配现象。


图1是现有技术网络流媒体播放器的系统结构2是现有技术网络流媒体播放器中数据接收模块结构示意3是本发明提供的支持多视点视频合成的网络流媒体播放器系统结构4是本发明提供的支持多视点视频合成的网络流媒体播放器中数据接收模块结构5是本发明提供的支持多视点视频合成的网络流媒体播放器中合成模块结构图具体实施方式
下面结合附图和实施例,对本发明进行详细的描述。
如图3所示,本发明提供的支持多视点视频合成的网络流媒体播放器由一个数据接收模块100、一个以上解码模块200、一个合成模块300和一个呈现模块400所组成,图中实线箭头代表数据流的方向,虚线箭头代表控制流的方向。
数据接收模块100一方面通过一条以上IP网络连接从流媒体服务器接收源自多个摄像机视点的压缩视频码流,另一方面与一个以上解码模块200相连,并向后者转发接收到的不同视点的压缩视频帧数据。此外,数据接收模块100还从用户界面接收视点切换命令并向合成模块转发。其中,视点切换命令中包含流媒体服务器位置,以及视点切换后重新进行虚拟视合成时所涉及到的各实际摄像机视点码流及其位置和比例关系等信息。例如对于矩形摄像机阵列,如果每次最多采用相邻的上下左右4个实际视点来合成一个虚拟视,则采用如下形式的统一资源定位符(URL)来表示一个视点切换命令ftv://ServerName;Nlt.sdp;Nrt.sdp;Nlb.sdp;Nrb.sdp;Rlr;Rtb其中,ServerName表示流媒体服务器的域名,Nlt.sdp、Nrt.sdp、Nlb.sdp和Nrb.sdp分别表示当前所选左上角、右上角、左下角和右下角视点在流媒体服务器中的媒体描述文件名,Rlr和Rtb分别表示左右视点和上下视点在合成时所占的比例关系,其取值范围为0~1。
所述解码模块200一方面与数据接收模块100相连,从中接收针对某个视点组装好的压缩视频帧数据并解码,另一方面与合成模块300相连,向后者转发解码后的原始视频帧数据。除了其输出接口所连接的下一个模块是合成模块300而不是呈现模块400之外,解码模块200与现有技术播放器中的解码模块完全相同。
合成模块300一方面与一个以上解码模块200相连,从中接收解码后的原始视频帧数据并进行虚拟视合成,另一方面与呈现模块400相连,向后者转发合成后的虚拟视频帧数据。此外,合成模块300还从数据接收模块100接收视点切换命令,其中所包含的切换后各视点比例关系信息将作为该模块中虚拟视合成算法的输入参数。
呈现模块400一方面与合成模块300相连,从中接收合成后的虚拟视频帧数据,另一方面与显示设备相连。除了其输出接口所连接的上一个模块是合成模块300而不是解码模块200之外,呈现模块400与现有技术播放器中的呈现模块完全相同。
如图4所示,本发明提供的支持多视点视频合成的流媒体播放器中数据接收模块100由一个以上输入接口101、一个以上视频帧组装子模块102、一个以上输出接口103和一个视点切换监听子模块104所组成,图中实线箭头代表数据流的方向,虚线箭头代表控制流的方向。
每个输入接口101一方面通过IP网络与流媒体服务器建立连接,并以连续IP包的形式从后者接收一路摄像机视点的压缩视频码流,另一方面与一个视频帧组装子模块102相连,并将接收到的连续IP包向后者转发。此外,输入接口101还与视点切换监听子模块104相连,从中接收视点切换命令并根据命令执行相应的视点切换操作。
每个视频帧组装子模块102一方面与一个输入接口101相连,从中接收连续的IP包然后解析并组装为一个个的压缩视频帧,另一方面与一个输出接口103相连,向后者转发组装好的压缩视频帧数据。
每个输出接口103一方面与一个视频帧组装子模块102相连,从中接收组装好的压缩视频帧数据,另一方面与一个解码模块200相连,向后者转发接收到的压缩视频帧数据。
视点切换监听子模块104一方面监听并接收来自用户接口的视点切换命令,另一方面将该视点切换命令信息向各个输入接口101和合成模块300转发。
如图5所示,本发明提供的支持多视点视频合成的流媒体播放器中合成模块300由一个主控输入接口301、至少一个普通输入接口302、至少一个视频帧缓冲队列303、一个虚拟视合成子模块304和一个输出接口305组成,图中实线箭头代表数据流的方向,虚线箭头代表控制流的方向。
主控输入接口301一方面与第一个解码模块200相连并从中接收解码后的原始视频帧数据,另一方面与虚拟视合成子模块304相连,直接驱动该子模块的运行并以输入参数的形式向其提供一路主控原始视频帧数据。
每个普通输入接口302一方面与一个解码模块200相连并从中接收解码后的原始视频帧数据,另一方面与一个视频帧缓冲队列303相连并将接收到的原始视频帧数据向后者转发。
每个视频帧缓冲队列303是一个先进先出型队列,它一方面与一个普通输入接口302相连并将其所接收到的每一个原始视频帧数据加入队列进行缓存,另一方面与虚拟视合成子模块304相连,并以输入参数的形式向其提供一路原始视频帧数据。
虚拟视合成子模块304一方面与主控输入接口301和至少一个视频帧缓冲队列303相连,从中接收用于虚拟视合成的一个以上输入视频帧并在主控输入接口301的驱动下调用虚拟视合成算法,另一方面与输出接口305相连并向后者转发合成后的虚拟视频帧。此外,虚拟视合成子模块304还与数据接收模块100中的视点切换监听子模块104相连,从后者接收视点切换命令并解析出各个视点之间的比例关系等信息作为虚拟视合成算法的输入参数。
每个输出接口305一方面与虚拟视合成子模块304相连,从中接收合成好的虚拟视频帧数据,另一方面与呈现模块400相连并向后者转发接收到的虚拟视频帧数据。
本发明一种支持多视点视频合成的网络流媒体播放器方法,其操作过程如下(1)数据接收模块100中的视点切换监听子模块104每次监听并接收到来自用户界面的视点切换命令后,根据其中流媒体服务器域名和切换后各视点码流的媒体描述文件名组成多个相应的流媒体URL(例如RTSP://ftv.pk.com/Nlt.sdp)并发送至相应的输入接口101,同时将其中的比例关系信息发送至合成模块300中的虚拟视合成子模块304;(2)每个输入接口101在接收到与其对应的新的流媒体URL后,关闭与流媒体服务器之间的原有连接并使用该新的URL与流媒体服务器重新建立网络连接,然后连续不断地接收含有压缩视频数据的IP包并向对应的视频帧组装子模块102转发;(3)每个视频帧组装子模块102连续不断地从对应的输入接口101接收IP包,并在组装好一个完整的压缩视频帧后向对应的输出接口103转发;(4)每个输出接口103连续不断地将接收到的压缩视频帧数据转发至对应的解码模块200;(5)每个解码模块200连续不断地从数据接收模块中对应的输出接口103处接收压缩视频帧数据并解码,将解码后原始视频帧数据向合成模块300中对应的主控输入接口301或者普通输入接口302进行转发;(6)合成模块300中的每个普通输入接口302连续不断地将从对应的解码模块200处接收到的原始视频帧数据加入到对应的视频帧缓冲队列303;(7)合成模块300中的主控输入接口301连续不断地从对应的解码模块200处接收原始视频帧,每接收到一个视频帧后以该视频帧的时间戳为基准从所有视频帧缓冲队列303中各取出一个与该基准时间戳相匹配的视频帧,然后以所有这些视频帧以及从数据接收模块100接收到的各视点比例关系信息作为输入参数调用虚拟视合成子模块304来生成一个虚拟视频帧;(8)合成模块300中的输出接口305连续不断地将从虚拟视合成子模块输出的虚拟视频帧发送至呈现模块400;(9)呈现模块400连续不断地从合成模块300接收虚拟视频帧并送至显示设备进行显示。
权利要求
1.一种支持多视点视频合成的网络流媒体播放器,它包括一个数据接收模块和一个呈现模块,其特征在于它还包括一个以上解码模块和一个合成模块;所述数据接收模块一方面通过一条以上IP网络连接从流媒体服务器接收源自一个以上摄像机视点的压缩视频码流,另一方面与一个以上解码模块相连,并向后者转发接收到的不同视点的压缩视频帧数据,所述数据接收模块还从用户界面接收视点切换命令并向合成模块转发;所述解码模块一方面与数据接收模块相连,从中接收针对所选定视点组装好的压缩视频帧数据并解码,另一方面与合成模块相连,向后者转发解码后的原始视频帧数据;所述合成模块一方面与一个以上解码模块相连,从中接收解码后的原始视频帧数据并进行虚拟视合成,另一方面与呈现模块相连,向后者转发合成后的虚拟视频帧数据,所述合成模块还从数据接收模块接收视点切换命令;所述呈现模块一方面与合成模块相连,从中接收合成后的虚拟视频帧数据,另一方面与显示设备相连。
2.如权利要求1所述的支持多视点视频合成的网络流媒体播放器,其特征在于所述数据接收模块由一个以上输入接口、一个以上视频帧组装子模块、一个以上输出接口和一个视点切换监听子模块所组成;所述每个输入接口一方面通过IP网络与流媒体服务器建立连接,并以连续IP包的形式从后者接收一路摄像机视点的压缩视频码流,另一方面与一个视频帧组装子模块相连,并将接收到的连续IP包向后者转发,所述每个输入接口还与视点切换监听子模块相连,从中接收视点切换命令并根据命令执行相应的视点切换操作;所述每个视频帧组装子模块一方面与一个输入接口相连,从中接收连续的IP包,然后解析并组装为一个个的压缩视频帧,另一方面与一个输出接口相连,向后者转发组装好的压缩视频帧数据;所述每个输出接口一方面与一个视频帧组装子模块相连,从中接收组装好的压缩视频帧数据,另一方面与一个解码模块相连,向后者转发接收到的压缩视频帧数据;所述视点切换监听子模块一方面监听并接收来自用户接口的视点切换命令,另一方面将该视点切换命令信息向各个输入接口和合成模块转发。
3.如权利要求1所述的支持多视点视频合成的网络流媒体播放器,其特征在于所述合成模块由一个主控输入接口、至少一个普通输入接口、至少一个视频帧缓冲队列、一个虚拟视合成子模块和一个输出接口组成;所述主控输入接口一方面与第一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与虚拟视合成子模块相连,直接驱动该子模块的运行并以输入参数的形式向其提供一路主控原始视频帧数据;所述每个普通输入接口一方面与一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与一个视频帧缓冲队列相连并将接收到的原始视频帧数据向后者转发;所述每个视频帧缓冲队列是一个先进先出型队列,它一方面与一个普通输入接口相连并将其所接收到的原始视频帧数据加入队列进行缓存,另一方面与虚拟视合成子模块相连,并以输入参数的形式向其提供一路原始视频帧数据;所述虚拟视合成子模块一方面与主控输入接口和至少一个视频帧缓冲队列相连,从中接收用于虚拟视合成的一个以上输入视频帧并在主控输入接口的驱动下调用虚拟视合成算法,另一方面与输出接口相连并向后者转发合成后的虚拟视频帧,所述虚拟视合成子模块还与数据接收模块中的视点切换监听子模块相连,从后者接收视点切换命令并解析出各个视点之间的比例关系等信息作为虚拟视合成算法的输入参数;所述每个输出接口一方面与虚拟视合成子模块相连,从中接收合成后的虚拟视频帧数据,另一方面与呈现模块相连并向后者转发接收到的虚拟视频帧数据。
4.如权利要求2所述的支持多视点视频合成的网络流媒体播放器,其特征在于所述合成模块由一个主控输入接口、至少一个普通输入接口、至少一个视频帧缓冲队列、一个虚拟视合成子模块和一个输出接口组成;所述主控输入接口一方面与第一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与虚拟视合成子模块相连,直接驱动该子模块的运行并以输入参数的形式向其提供一路主控原始视频帧数据;所述每个普通输入接口一方面与一个解码模块相连并从中接收解码后的原始视频帧数据,另一方面与一个视频帧缓冲队列相连并将接收到的原始视频帧数据向后者转发;所述每个视频帧缓冲队列是一个先进先出型队列,它一方面与一个普通输入接口相连并将其所接收到的原始视频帧数据加入队列进行缓存,另一方面与虚拟视合成子模块相连,并以输入参数的形式向其提供一路原始视频帧数据;所述虚拟视合成子模块一方面与主控输入接口和至少一个视频帧缓冲队列相连,从中接收用于虚拟视合成的多个输入视频帧并在主控输入接口的驱动下调用虚拟视合成算法,另一方面与输出接口相连并向后者转发合成后的虚拟视频帧,所述虚拟视合成子模块还与数据接收模块中的视点切换监听子模块相连,从后者接收视点切换命令并解析出各个视点之间的比例关系等信息作为虚拟视合成算法的输入参数;所述每个输出接口一方面与虚拟视合成子模块相连,从中接收合成后的虚拟视频帧数据,另一方面与呈现模块相连并向后者转发接收到的虚拟视频帧数据。
5.如权利要求2或3或4所述的支持多视点视频合成的网络流媒体播放器,其特征在于所述视点切换命令中包含流媒体服务器位置,视点切换后重新进行虚拟视合成时所涉及到的各实际摄像机视点码流及其位置和比例关系等信息。
6.如权利要求5所述的支持多视点视频合成的网络流媒体播放器,其特征在于对于矩形摄像机阵列,如果每次最多采用相邻的上下左右4个实际视点来合成一个虚拟视,则采用一个如下形式的统一资源定位符(URL)来表示一个视点切换命令ftv//ServerName;Nlt.sdp;Nrt.sdp;Nlb.sdp;Nrb.sdp;Rlr;Rtb,其中,ServerName表示流媒体服务器的域名,Nlt.sdp、Nrt.sdp、Nlb.sdp和Nrb.sdp分别表示当前所选左上角、右上角、左下角和右下角视点在流媒体服务器上的媒体描述文件名,Rlr和Rtb分别表示左右视点和上下视点在合成时所占的比例关系,其取值范围为0~1。
7.一种支持多视点视频合成的网络流媒体播放器方法,其特征在于播放过程操作步骤如下(1)数据接收模块中的视点切换监听子模块每次监听并接收到来自用户界面的视点切换命令后,根据其中流媒体服务器域名和切换后各视点码流的媒体描述文件名组成相应的流媒体URL并发送至相应的输入接口,同时将其中的比例关系信息发送至合成模块中的虚拟视合成子模块;(2)数据接收模块中的每个输入接口在接收到与其对应的新的流媒体URL后,关闭与流媒体服务器之间的原有连接并使用该新的URL与流媒体服务器重新建立网络连接,然后连续不断地接收含有压缩视频数据的IP包并向对应的视频帧组装子模块转发;(3)数据接收模块中的每个视频帧组装子模块连续不断地从对应的输入接口接收IP包,并在组装好一个完整的压缩视频帧后向对应的输出接口转发;(4)数据接收模块中的每个输出接口连续不断地将接收到的压缩视频帧数据转发至对应的解码模块;(5)每个解码模块连续不断地从数据接收模块中对应的输出接口处接收压缩视频帧数据并解码,然后将解码后的原始视频帧数据向合成模块中对应的主控输入接口或者普通输入接口进行转发;(6)合成模块中的每个普通输入接口连续不断地将从对应的解码模块处接收到的原始视频帧数据加入到对应的视频帧缓冲队列;(7)合成模块中的主控输入接口连续不断地从对应的解码模块处接收原始视频帧,每接收到一个视频帧后以该视频帧的时间戳为基准从所有视频帧缓冲队列中各取出一个与该基准时间戳相匹配的视频帧,然后以所有这些视频帧以及从数据接收模块接收到的各视点比例关系信息作为输入参数调用虚拟视合成子模块来生成一个虚拟视频帧;(8)合成模块中的输出接口连续不断地将从虚拟视合成子模块输出的虚拟视频帧发送至呈现模块;(9)呈现模块连续不断地从合成模块接收虚拟视频帧并送至显示设备进行显示。
全文摘要
本发明涉及一种支持多视点视频合成的网络流媒体播放器,它包括一个数据接收模块和一个呈现模块,其特征在于它还包括一个以上解码模块和一个合成模块;所述数据接收模块通过一条以上IP连接接收压缩视频码流,并将所接收数据向一个以上解码模块转发,此外它还从用户界面接收视点切换命令并向合成模块转发;所述解码模块从数据接收模块接收压缩视频帧数据并解码,并向合成模块转发解码后的原始视频帧数据;所述合成模块从一个以上解码模块接收原始视频帧数据并进行虚拟视合成,另一方面将合成结果向呈现模块转发,此外它还从数据接收模块接收视点切换命令;所述呈现模块从合成模块接收虚拟视频帧并向显示设备进行转发。本发明能够在一个播放器框架下同时与流媒体服务器建立多条网络连接并同时接收和解码多个视频码流。
文档编号H04L29/06GK101047848SQ20071009882
公开日2007年10月3日 申请日期2007年4月27日 优先权日2007年4月27日
发明者霍龙社, 王振宇, 曾炜, 刘雪蕾, 高文 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1