多视角视频码流的实时传输同步控制方法

文档序号:7697077阅读:215来源:国知局
专利名称:多视角视频码流的实时传输同步控制方法
技术领域
本发明涉及一种图像通信技术领域的控制方法,具体是一种多视角视频码流 的实时传输同步控制方法。
背景技术
网络立体电视系统除涉及到立体电视相关的节目制作、立体电视视频格式、 立体视频压縮编码及码流的系统复用、立体电视视频码流的解码、立体电视显示 等多个环节外,由于立体视频比传统的平面二维视频具有更多视角的同步视频需 要编码、传输,在与网络电视传输技术结合时,更涉及到多视角同步立体视频信 号的网络同步可信传输与控制。基于向下兼容性的考虑,即多视角立体视频不仅 要能满足自由视立体显示终端的要求,同时也要满足戴眼镜的双视立体显示终端 或传统平面电视终端的要求,同时考虑接入网络传输带宽的利用效率,多视角立 体视频码流传输时必须做到传输带宽与各类异构终端的自匹配,即要求各个视角 编码后的视频码流能够分离独立传输,终端可以选择性地接收单个视角、其中两 个视角或者全部视角的视频码流。针对这一点,多视角立体视频传输方法大致分 两类, 一类可以称为软分离,即通过设置包头标记以区分码流中来自不同视角的 数据包,但这种方法并没有实现真正的多视角立体视频码流分离,而是采用时分 复用的模式通过单个实时传输流进行传输。另一类可以称为硬分离,即将各个视 角的码流分离后通过不同的实时传输流发送,但需要解决各视角码流间的同步问 题。在终端,多视角码流只有同步接收、解码并播放,才能产生良好的立体效果。 但由于包交换网络的复杂性、时延差异存在的客观性,以及不同的阻塞状况而产 生的时延、抖动和丢包,很难保证多视角码流的同步接收。所以,无论是软分离 还是硬分离方案,多视角独立传输系统都需要使用一套同步控制机制,包括应用 RTP(Real-time Transport Protocol 实时传输协议)协议的同步机制,来协调 各个视角码流的同步问题。
经典的MVP (Multi-View Profile多视角档次)方案只支持两个视角,主视角以普通MPEG-2方式编码,第二个视角信息作为增强层与主视角合成后直接通 过MPEG-2的TS流传输。在这种方案中两个视角是高度耦合的,优点在于不需要 额外的同步机制,两个视角码流天然同步,直接依赖传统单视角传输方案传输。 缺点是不能实现视角分离,给传统单视角用户带来额外的网络负担。同时,这种 方案由于增强层数量的有限,也就限制了视角数目的扩展,无法适应两个以上视 角的应用。
经对现有技术文献的检索发现,在应用MVC (Multi-View Coding多视角视 频编码)方案的多视角系统中,普遍的各视角视频同步方法具有代表性的比如 Jongryool Kim禾卩JongWon Kim于2008年5月在IEEE Transactions on Consumer Electronics (IEEE消费电子学报)(vol.54, No. 2)上发表的"Real-Time Synchronous Multi-View Video Transport System"(实时多视角视频传输系 统同步方法)一文,针对多视传输方案进行了探讨,并设计了一套多视码流同步 控制机制,同步方法简述如下,各视角视频之间依靠视频采集时增加硬件同步时 钟的方法来实现,网络传输时采用软分离的方式,简单地依靠实时传输流协议 (RTP协议)中的包序号来进行各视角视频码流的内部同步。该设计方案在特定 实验环境下可以应用,但存在如下缺点1、该方案各视角视频码流间同步完全 依赖硬件同步时钟,视频采集时必须配备精确的硬件同步设备,系统造价高昂。 2、该方案采用软分离的方式进行多视角码流分离,只能在四层协议以上才能区 分视角,而一般的路由交换设备只能解析到三层协议,这对整个传输路径中的路 由设备提高了要求。3、该方案简单采用时分复用模式,传统平面解码显示终端 接收单视角码流时,接收瞬时码率呈现方块效应,码流极不稳定,需要终端网络 接收设备有更强的抗抖动能力。4、传输流参数扩展设置只支持左右视码流,不 适用两个以上视角的多视视频码流的传输,限制的系统的应用范围。

发明内容
本发明的目的在于克服现有技术的不足,提供一种有效的多视角视频码流实 时传输同步控制方法。本发明在匿C多视角视频码流分离编码的基础上,对各个 视角视频码流进行缓冲平滑重整,从根本上有效改善视频码流传输时由于视角各 异造成的巨大码率抖动,提高多视角视频码流实时传输质量。
本发明是通过以下技术方案实现的,本发明包括以下步骤第一步对编码器生成的多视角复用码流进行解析,将各码流分离后分别缓 冲到为各个视角独立设置的缓冲队列;
第二步为每个视角码流开辟独立的实时传输流,并对实时传输流RTP协议 头部进行扩展标记,记录视角编号(View_ID)和主视角参考编号(Main_SEQ) 作为同步控制标签;
第三步为每个视角的实时传输流开辟独立的信道,将各码流独立传输;
第四步根据各视角平均码率异步同时发送各个视角码流,从而平滑各个视 角码流的码率,降低终端网络抖动,同时获得主视角参考编号(Main一SEQ);
第五步终端缓存数据包,根据实时传输流协议头部扩展信息对接收到的数
据包进行排序,恢复原始多视角复用码流顺序,并输出到解码器。
第二步中所述的对实时传输流RTP协议头部进行扩展是指,扩展包括视角编 号(View—ID)和主视角参考编号(Main—SEQ)在内的同步控制标签供多视角码 流同步使用。视角编号(View—ID)用于标记不同视角数据, 一般可以参考第一 步码流解析中对不同视角的区分策略。主视角参考编号(Main—SEQ)指主视角码 流中已经发送的最后一帧所在的最后一个RTP包的序列号(Sequence Nuraber)。 终端使用RTP数据包自有的序列号,结合扩展的主视角参考编号和视角编号可以 准确地对接收到的数据包进行排序恢复原始复用码流序列。
第三步中所述的为每个视角的实时传输流开辟独立的信道是指,在网络协议 第三层为不同视角实时传输流建立传输信道,为路由转发设备或者终端接收设备 创造区分不同视角实时传输流的可能性。本发明通过对IPv4协议头部进行扩展, 将视角编号写入IPv4包头部,从而为转发路由提供视角区分依据。此外,对于 以组播方式推送立体电视节目的方式,也可以通过不同视角码流建立独立的组播 组的方式实现,接收终端通过加入不同组播组的方式选择性接收各视角码流。
第四步中所述的平滑多视角码流是为了从根本上避免多视角码流中由于各 视角码流的码率不同而造成的方块效应,利用第一步码流解析得到的多视角码流 独立输出缓存队列,结合多线程技术对多视角码流在同一个帧类型循环周期内的 码流根据各视角平均码率不同进行平滑重整后同时发送,从而使总码率和单视角 码率都能够基本稳定。所述一个帧类型循环周期指在多视角码流中,各个视角帧 按照视角编号不同循环出现,一个帧类型循环周期指从任意一个主视角帧开始到下一个主视角帧到达之前的这段码流。所述采用异步发送模式是指将主视角码流 提前一个帧时间开始发送,以获得其他视角码流与主视角码流的参考信息。主视
角码流第一帧发送完毕后记录最后一个实时传输流RTP包序号,即第二步所述主 视角参考编号(Main_SEQ),供该帧类型循环周期内其他视角码流做同步标签。
第五步中所述的恢复原始多视角复用码流顺序指依据第二步定义的同步控 制标签,依次根据实时传输流中的主视角参考编号(Main_SEQ)、视角编号 (View—ID)、 RTP包序列号(Sequence Number)分三个层次对接收到的RTP数 据包进行排序后,再解析RTP负载恢复出原始码流顺序。所述缓存数据包指接收 端缓存一个或几个有限帧时间周期内接收到的来自所有视角的实时传输流RTP 数据,以便对缓冲范围内的RTP数据包进行排序重整。
与现有技术相比,本发明具有以下有益的效果本发明提供了软件方法实现 多视角码流同步控制,无须依赖精密的硬件同步时钟,降低了系统成本也提高了 系统的稳定性和灵活性。本发明有效的解决了多视角视频网络传输中单视基码流 传输码率的方块现象,从根本上改善了码流抖动,减轻了接收终端抗抖动负担。 本发明设计了一套基于实时传输流RTP参数扩展的多视角码流间同步方法,终端 可以轻松的恢复原始复用码流同步关系。


图l是本发明方法流程图2是原始多视角复用码流示意图3是本发明的码流分离的结构示意图; '
图4是本发明实时传输流协议头部扩展参数的示意图5是本发明异步同时发送的结构示意图6是本发明终端同步原始复用码流的示意图。
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案 为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护 范围不限于下述的实施例。
如图1所示,本实施例的系统分为三个部分,码流发送端,独立信道传输端 和接收终端,本实施例包括以下步骤第一步RTP发送服务器获取编码器生成的多视角复用码流,根据多视角码
流系统层复用为MPEG2-TS流时建立的视角解析策略进行解析,根据不同视角, 将码流分离后分别缓冲到为各个视角独立设置的缓冲队列,等待发送;
第二步RTP发送服务器为每个视角码流开辟独立的实时传输流,并对实时 传输流协议头部进行扩展标记,记录视角编号(View—ID)和主视角参考编号 (Main_SEQ)作为同步控制标签;
第三步RTP发送服务器将各视角码流按照其平均码率同时发送,从而能够 平滑各个视角码流的码率,降低终端网络抖动。同时采用异步发送策略,以便获 得主视角参考编号(Main_SEQ),供多视角码流同步使用。异步发送策略实施例 参见图4说明;
第四步独立信道传输端根据接收端显示设备类型不同,选择性将相应视角
码流传输到接收终端。即向立体视用户发送多视TS流(包括主视角码流和视角 2码流和其他视角码流),向双目视用户发送双目TS流(即主视角码流和视角2 码流),向单视用户发送主视角TS流。
第五步接收终端缓存数据包,根据实时传输流协议头部扩展信息对接收到 的数据包进行排序,解析负载信息恢复原始多视角复用码流顺序,并输出到解码
器。排序策略实施例参见图5说明;
如图2所示,II、 Pl、 B1代表主视角的I、 P、 B帧;12、 P2、 B2代表视角 2的I、 P、 B帧;13、 P3、 B3代表其他视角的I、 P、 B帧。
如图3所示,本实施例根据视角不同,将多视角复用码流进行多视角分离, 将主视角码流、视角2码流和和其他视角码流分别缓冲到各自的发送缓冲队列等 待发送,即将主视角码流缓冲到主视角缓冲队列,视角2码流缓冲到视角2缓冲 队列,其他视角码流缓冲到其他视角缓冲队列。原始多视角复用码流中数据顺序 按照Il、 12、 13、 Pl、 P2、 P3、 Bl、 B2、 B3的顺序出现。多视角分离后将II、 Pl、 Bl帧数据包提取并缓冲;将12、 P2、 B2帧数据包提取并缓冲;将13、 P3、 B3帧数据包提取并缓冲;
如图4所示,本实施例为实现码流间同步控制,对实时传输流协议头部进行 扩展,开辟payload最前端32bit,前4bit用于记录视角编号(View一ID),后 16位用于记录主视角参考编号(Main—SEQ)。实时传输流协议头部其他字段定义在RFC3550。
V: Version,版本。识别RTP版本。
P: Padding,间隙。设置时,数据包包含一个或多个附加间隙位组,其中这 部分不属于有效载荷。
X: Extension,扩展位。设置时,在固定头后面,根据指定格式设置一个扩 展头。
CC: CSRC Count,包含CSRC标识符(在固定头后)的编号。
M: Marker,标记。标记的解释由Profile文件定义。允许重要事件如帧边 界在数据包流中进行标记。
PT: Payload Type,识别RTP有效载荷的格式,并通过应用程序决定其解 释。Profile文件规定了从Payload编码到Payload格式的缺省静态映射。另 外的Payload Type编码可能通过非RTP方法实现动态定义。
Sequence Number:每发送一个RTP数据包,序列号增加1。接收方可以依 次检测数据包的丢失并恢复数据包序列。
Timesta即反映RTP数据包中的第一个八位组的采样时间。采样时间必须 通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。
SSRC:同步源。该标识符随机选择,旨在确保在同一个RTP会话中不存在 两个同步源具有相同的SSRC标识符。
CSRC:贡献源标识符。识别该数据包中的有效载荷的贡献源。
Payload:负载数据。
如图5所示,II、 Pl、 B1代表主视角的I、 P、 B帧分别所在的TS数据包; 12、 P2、 B2代表视角2的I、 P、 B帧分别所在的TS数据包;13、 P3、 B3代表其 他视角的I、 P、 B帧分别所在的TS数据包;异步发送策略描述如下主视角码 流提前一个帧时间发送,即先开始发送主视角缓冲队列,每7个TS包封装到一 个RTP包,发送I1帧数据包完毕后,取最后一个RTP包的序列号作为主视角参 考编号供I2、 13帧使用;然后开始发送视角2缓冲队列的I2帧、其他视角缓冲 队列的13帧和主视角缓冲队列Pl帧。发送Pl帧数据包完毕后,取最后一个RTP 包的序列号作为主视角参考编号供P2、 P3帧使用;主视角缓冲队列始始终比其 他视角提前至少一帧数据,从而其他视角可以及时获得主视角参考编号。如图6所示,本实施例终端依据实时传输流RTP同步扩展参数对接收到的实 时传输流RTP数据包进行排序。图中每个数据包中同步参数由三位组成,第一位 代表主视角参考编号,第二位代表视角编号,第三位代表数据包自身序列号。原 始码流顺序如图中第一组所示。假设在复杂网络环境下终端接收到的码流顺序如 第二组所示,需要经过同步策略排序恢复到第一组顺序。排序步骤如下第一步 依照主视角参考编号排序,即恢复101和202的顺序,这里二者顺序没变,不需 要进行调整。第二步根据主视角参考编号将辅视视角数据包插入主视数据包队列 中参考数据包(即序列号等于该主视角参考编号的数据包)之后,即将所有U5 号包和118号包插入到101后面,将所有216号包和219号包插入到202后面, 本实施例中将216号包调整到202后面。第三步对每个参考数据包后面的辅视视 角数据包即对所有101号包、115号包和118号包,根据视角编号进行排序,本 实施例中将128和115互换。最后在同一视角数据包内部根据数据包自身序列号 排序。
权利要求
1.一种多视角视频码流的实时传输同步控制方法,其特征在于,包括以下步骤第一步对编码器生成的多视角复用码流进行解析,将各码流分离后分别缓冲到为各个视角独立设置的缓冲队列;第二步为每个视角码流开辟独立的实时传输流,并对实时传输流协议头部进行扩展标记;第三步为每个视角的实时传输流开辟独立的信道,将各码流独立传输;第四步根据各视角平均码率异步同时发送各个视角码流,从而平滑各个视角码流的码率,降低终端网络抖动,同时获得主视角Main_SEQ参考编号;第五步终端缓存数据包,根据实时传输流协议头部扩展信息对接收到的数据包进行排序,恢复原始多视角复用码流顺序,并输出到解码器。
2、 根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特 征是,第二步中所述的对实时传输流协议头部进行扩展标记是指记录View—ID 视角编号和主视角Main—SEQ参考编号作为同步控制标签。
3、 根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特 征是,第三步中所述的为每个视角的实时传输流开辟独立的信道是指在网络协 议第三层为不同视角码流建立传输信道。
4、 根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特征是,第四步中所述的异步同时发送是指将主视角码流提前一个帧时间开始发送,获得其他视角码流与主视角码流的参考信息。
5、 根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特征是,第四步中所述的平滑各视角码流的码率是指利用第一步码流解析得到的多视角码流独立输出的缓冲队列,对多视角码流在同一个帧类型循环周期内的码 流根据各视角平均码率不同进行平滑重整。
6、 根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特征是,第五步中所述的恢复原始多视角复用码流顺序是指依次根据实时传输流中的主视角Main—SEQ参考编号、View—ID视角编号、RTP包序列号分三个层次对接收到的RTP数据包进行排序后,再解析RTP负载恢复出原始码流顺序。
7、根据权利要求1所述的多视角视频码流的实时传输同步控制方法,其特 征是,第五步中所述的缓存数据包是指终端缓存一个或几个有限帧时间周期内接收到的来自所有视角的实时传输流RTP数据。
全文摘要
一种图像通信领域的多视角视频码流的实时传输同步控制方法。本发明包括以下步骤对编码器生成的多视复用码流进行解析,分离各个视角码流数据并分别缓存到各个视角对应的发送缓冲队列;为每个视角码流开辟独立的实时传输流,并对RTP协议头部进行扩展标记;为每个视角的实时传输流开辟独立信道;采用多线程技术异步同时发送各个视角码流;终端缓存接收数据包,根据同步扩展信息对接收到的数据包进行排序,恢复原始多视复用码流顺序。本发明提供了软件方法实现多视角码流同步控制,降低了系统成本也提高了系统的稳定性和灵活性。解决了多视角视频网络传输中单视基码流传输码率的方块现象,从根本减轻了接收终端抗抖动负担。
文档编号H04N7/24GK101600099SQ20091004901
公开日2009年12月9日 申请日期2009年4月9日 优先权日2009年4月9日
发明者何子由, 军 周, 许冠宇 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1