包括rtp分组的数据流、及编/解码该数据流的方法和设备的制作方法

文档序号:7710928阅读:139来源:国知局
专利名称:包括rtp分组的数据流、及编/解码该数据流的方法和设备的制作方法
技术领域
本发明涉及包括多层应用的应用数据在内的分组实时协议(RTP)数据流。具体地,本发明涉及基于RTP的可縮放视频传输。
背景技术
存在不同的多层多媒体应用,如可縮放视频、可縮放音频等。通常通过分组数据流来传输多媒体数据,由此,将单独层的多媒体数据时间复用到单个数据流中。具体地,H.264/AVC标准的可縮放视频编码(SVC)扩展使用三种类型的可縮放性时间的、空间的和质量的。在H.264/AVC中很好地支持时间可縮放性,并且有意地将SVC的基本层设计为遵循H.264/AVC。
典型地,互联网和移动网络上的实时视频传输基于RTP/IP。IETF提出了针对SVC视频的RTP有效负荷格式。然而,可做出进一步的改进以便于对基于RTP的SVC比特流进行解码和呈现,由此,传输方案可以与普通的标准解码器保持一致。
解码器可能需要一些初始信息,例如在可縮放视频的情况下的总体空间和质量可縮放性层数。例如,该初始信息可以帮助解码器初始化存储器分配和相关的参数配置。诸如层相关性或帧类型之类的其他信息还可以帮助解码器变得更高效和更具鲁棒性。
然而,通常传输信道是易出错的。如果在这种易出错的信道上传输的过程中发生分组丢失,则一些解码器可执行错误隐藏过程。然而,解码器通常依赖于传送流的格式,如RTP。举例来说,标准的RTP报头包含定时信息和RTP分组号,所述定时信息和RTP分组号可以用于确保以正确的顺序对分组进行解码。然而,需要其它协议来检测分组是否丢失。尽管针对普通的互联网应用使用TCP,然而TCP对于实时应用来说太慢了。因此,在具有实时能力的系统中,应用解码器必须掌控数据丢失情况,并且必须单独发现丢失了哪些数据。这 可能对应用解码器造成干扰,并且在某些情况下甚至可能需要将应用 解码器重新初始化。

发明内容
对于多层应用,己发现应用解码器具有不同的选项以根据丢失 数据分组的类型以及所关注的应用层对数据丢失作出反应。然而,通 常不知道遗漏的分组属于哪个应用层。传统的多层应用解码器需要一 些处理时间来弥补这种情况。越快知道丢失数据的类型,解码器越能 更好地作出反应。本发明将要解决的一个问题是,具体地对于所关注 的应用发生传送分组丢失的情况下,向解码器提供更早并且更详细的 与丢失数据的类型有关的信息。
本发明在基于分组的架构内提供了一种特殊语法,该特殊语法
基于在RTP分组被馈送至多层应用解码器之前,对所述RTP分组 之间的关系以及所述RTP分组所承载的应用层/帧加以识别和指示。 这有助于解码器及时使用合适的错误隐藏技术,并且防止在解码器中 进行不必要的处理。
本发明提供了一种解决上述问题的数据流格式,以及对应的编码 方法和设备以及解码方法和设备。
根据本发明的一方面, 一种数据流包括包含多层应用的应用数 据在内的RTP分组,其中,至少一个RTP分组(按发送顺序)包含 与下一个RTP分组的内容有关的第一应用层信息以及与前一个RTP 分组的内容有关的第二应用层信息。
根据本发明的另一方面, 一种使用RTP分组对多层应用数据进 行编码的方法,包括步骤
将多层应用数据的第一部分、第二部分和第三部分分别打包成 第一RTP分组、第二RTP分组和第三RTP分组,其中应用数据的第 一部分、第二部分和第三部分涉及应用的第一层、第二层和第三层;
7将至少第一数据和第二数据添加到第二rtp分组中,其中,所述 第一数据限定了第一分组所涉及的应用的第一层,所述第二数据限定 了第三分组所涉及的应用的第三层;以及
(按照这个发送顺序)发送第一rtp分组、第二rtp分组和第 三rtp分组。
一种用于使用rtp分组对多层应用数据进行编码的相应设备,包 括用于将多层应用数据的第一部分、第二部分和第三部分分别打包 成第一rtp分组、第二rtp分组和第三rtp分组的插入装置,其中
应用数据的第一部分、第二部分和第三部分涉及应用的第一层、第二 层和第三层;用于将至少第一数据和第二数据添加(320)到第二rtp 分组中的插入装置,其中,所述第一数据限定了第一分组所涉及的应 用的第一层,所述第二数据限定了第三分组所涉及的应用的第三层; 发送装置,用于(按照这个发送顺序)发送第一 rtp分组、第二 rtp 分组和第三rtp分组。
根据本发明的另一方面, 一种对包括多层应用数据在内的rtp 分组进行解码(或对解码做准备)的方法,包括步骤
接收至少第一 rtp分组和后续的第二 rtp分组;
从第一 rtp分组的主体提取多层应用数据的第一部分,以及从 第一 rtp分组的填充字节提取第一相邻信息;
从第二 rtp分组的主体提取多层应用数据的第二部分,以及从 第二 rtp分组的填充字节提取第二相邻信息;
确定第一 rtp分组和第二 rtp分组中多层应用数据的类型;
将所确定的第二 rtp分组中多层应用数据的类型与从第一 rtp 分组提取的第一相邻信息相比较,或将所确定的第一rtp分组中多层 应用数据的类型与从第二 rtp分组提取的第二相邻信息相比较,或两 者皆可;
将从第一 rtp分组提取的第一相邻信息与从第二 rtp分组提取 的第二相邻信息相比较;以及
向用于所述多层应用的解码器提供所述提取和比较步骤的结果。一种用于对包括多层应用数据在内的RTP分组进行解码(或对解
码做准备)的相应设备,包括
接收装置,用于接收至少第一RTP分组以及后续的第二RTP分
组;
第一提取装置,用于从第一 RTP分组的主体提取多层应用数据 的第一部分,以及从第一 RTP分组的填充字节提取第一相邻信息;
第二提取装置,用于从第二 RTP分组的主体提取多层应用数据 的第二部分,以及从第二 RTP分组的填充字节提取第二相邻信息;
确定装置,用于确定第一 RTP分组和第二 RTP分组中多层应用 数据的类型;
第一比较装置,用于将所确定的第二 RTP分组中多层应用数据 的类型与从第一 RTP分组提取的第一相邻信息相比较,或用于将所 确定的第一 RTP分组中多层应用数据的类型与从第二 RTP分组提取 的第二相邻信息相比较;
第二比较装置,用于将从第一 RTP分组提取的第一相邻信息与 从第二RTP分组提取的第二相邻信息相比较;以及
提供装置,用于将第一提取装置和第二提取装置以及第一比较 装置和第二比较装置的结果提供给用于所述多层应用的解码器。
示例性地,多层应用数据可以是分级数据,具有基本层和一个 或更多增强层。
在从属权利要求、随后的描述和附图中公开了本发明有利实施方式。


参考附图对本发明的示例性实施方式进行描述,在附图中
图1示出了根据本发明的数据流结构;
图2示出了具有填充字节的RTP分组格式;
图3示出了编码的方框图; 图4示出了解码准备的方框图;以及
图5是根据本发明的一个方面的RTCP分组的格式。
9
具体实施例方式
图l示出了分组数据流的结构。数据流中连续的分组pl、 p2、 p3 包括多层应用的应用数据第一分组pl包括第一应用层VCLp的应用 数据,而后续的第二和第三分组p2、 p3分别包括第二应用层VCLc和 第三应用层VCLn的应用数据。如所描述的,以接连顺序发送/接收分 组。如果例如将实时协议(RTP)用作传输协议,则分组具有RTP分 组号。因此,接收机可以以正确的序列顺序带来分组,然而如果例如 在传输期间第二分组p2丢失,则解码器不会知道遗漏的数据属于哪 个应用层。在本发明中,提出了将更多信息添加到传送分组的开销的 方案,以提高解码和错误隐藏的效率。这使得解码器可以以更灵活的 方式做出反应。例如,解码器可以发现遗漏的分组属于多层应用的增 强层,并然后能够继续对基本层进行解码。从而用户可能体验到暂时 的质量损失,而通常应用将被中断。相反,在例如较低分辨率等基本 模式下应用继续运行。
如图1所示,本发明包括具有多层应用的应用数据的传送分组 不仅包括对其自己的层进行指定的信息,而且包括两种类型的相邻信 息, 一种是对前面(f-前一个)传送分组中应用数据的层VCLf进行 指定的NBf, 一种是对后面(n-下一个)传送分组中应用数据的层 VCU进行指定的NBn。因此,如果丢失了一个或两个RTP分组(这 是最有可能发生的情况),则可以发现遗漏的哪种类型的应用数据。
下面描述基于SVC的实施方式。如上说明的,本发明还可应用 到其它多层多媒体应用。如同任何其它视频解码器一样,SVC解码 器对传输错误敏感。针对基于RTP的SVC视频传输,如果没有使用 有效的错误隐藏技术,则分组丢失对于解码器来说可能是致命的。几 乎对于每一种错误隐藏方法来说,快速得知丢失的数据属于哪个片/ 层/帧都是非常重要的。传统地,这是可以通过对接收到的分组进行解
码来确定的,然而这看起来是一种不必要的复杂途径。此外,这导致 解码器中会有出现软件问题的危险,例如崩溃。该问题的另一方面在
10于,针对现有的系统(如RTP),需要一种不需要改变分组格式的解 决方案。
根据本发明,将一些开销信息插入RTP分组的填充字节,以帮助 接收机在数据被馈送至SVC解码器之前得到丢失分组的识别信息。 因此,解码器可以比使用常规方法更早地确定如何继续进行不同的解 决方案。例如, 一个可能的反应是放弃与所丢失的分组相关的整个 片,取而代之地使用前一幅图像中同一位置处的片,例如将该片复制 到当前的图像缓冲器中。
有利地,这意味着解码器的稳定处理和不必要计算的减少。
通过将识别信息放入填充字节,该方案可以与完全不管填充字 节如何并从而不管识别信息如何的普通标准SVC解码器保持一致。 所提出的方法可以支持多层解码器中的错误隐藏。原则上,在当前的 RTP分组中保存当前RTP分组之后的下一个RTP分组和之前的前一 个RTP分组的基本SVC信息。使用该方法,SVC解码器可以更早且 更容易地执行错误隐藏处理。
图2a)示出了根据本发明的RTP分组的结构概图。图2b)和c) 示出了该分组的更多细节。图2中的每行是由具有32比特的分组构成 的一个字。如以下指出的,第1到第5个字包含普通的报头信息。
H.264和SVC使用所谓的网络提取层(NAL)将编码视频数据处 理并格式化成分组,称之为NAL单元。通常以解码顺序将NAL单元 映射到传送分组,如用于传输的RTP分组。定义了不同类型的NAL 单元。如果NAL单元的nal—type等于1、 5或20,则该NAL单元承 载从宏块产生的实际图像数据。当nal—type不等于这些值时,NAL承 载控制信息,如序列参数集(SPS)或图像参数集(PPS)。在SVC 中,将每个帧编码进nal—type等于1、 5或20的一个或更多个NAL 单元。如果在传递过程中这种类型的RTP分组以及从而的NAL单元 丢失,则不会正确解码相应的帧。由于这是重要信息,所以预先添加 单独的标志以通知解码器丢失了 naljype等于1、 5或20的NAL。
V是版本字段。示例性地,在图2中将V设置为V=2。 P是指示 在RTP分组的末端的附加填充字节的1比特标志。如果P4,分组在末端包含一个或更多附加填充字节。M是指示RTP分组是否特殊 (如,是否是当前片的最后RTP分组)的1比特标志。RTP分组报头
中的其它传统字段是payload type字段、time stamp字段、同步源ID (SSRC)字段和贡献源(CSRC)字段。有效负荷(payload)包含实
际的视频数据。尽管示例性地示出了两个有效负荷字,然而分组通常
承载更多的有效负荷。在有效负荷之后是如P标志所指示的填充字节。
根据本发明,将与前一个和下一个RTP分组有关的附加的应用 相关信息存储在填充字节中,例如,SVC定义了表1所示的结构以及 对应的结构相关参数。

dependency—id=2质量层;quality—id=l 空间分辨率4CIF(704x576)F
质量层;quality_id=0 空间分辨率4CIF (704x576)E
dependency—id= 1质量层;quality—id=0 空间分辨率CIF (352x288)D
dependency—id=0质量层;quality—id=2 空间分辨率QCIF (176x144)C
质量层;quality—id=l 空间分辨率QCIF (176x144)B
质量层;quality—id=0 空间分辨率QCIF (176x144)A
表r: SVC中的示例性可縮放性结构 表l所示的结构是示例。总共有7层A-F。基本层是A、 D、 E。 所有的质量层B、 C、 F都具有与它们各自的基本层相同的空间分辨 率。空间层D、 E具有与它们的基本层不同的空间分辨率。
12称作"质量层"的层是由质量可縮放性产生的,其中所述质量可
縮放性是SVC中的一种可縮放性。SVC要求质量层具有与其基本层
相同的空间分辨率。质量可縮放性层的编码类型与空间可縮放性层的
编码类型不同。因此,用于对质量层数据的NAL单元丢失加以掌控 的解码途径和方法与用于对空间可縮放性数据的NAL单元丢失加以 掌控的解码途径和方法不同。"quality—id"是对SVC比特流中每个 质量层的ID加以指示的语法元素。
在SVC中使用"dependency—id"指示空间层。可以有八个空间 层。如果存在基本层,则空间层的空间分辨率与其基本层(或参考层) 的不同。利用语法元素"dependency—id"可以知道当前层属于哪个空 间层。如果quality_id=0,则这意味着当前层是空间层并且应作为空 间层对当前层进行解码。否则,应作为质量层来对当前层解码。
原则上,"dependency—id "指示空间分辨率的变化,而 "quality—id"指示编码途径的变化。
在SVC解码器中具有该信息是有用的。
在本发明的一个实施方式中,在填充字节中包含以下信息(下标 n和f分别涉及下一个分组和前一个分组)
Vn: 1比特标志。Vn=l指示下一个RTP分组(以发送的顺序) 所承载的NAL单元的nal—type等于l、 5或20。这意味着下一个分组 包含宏块数据,即,实际图像数据。将每个视频帧编码进 nal一type-l、 5或20的一个或更多个NAL单元中。
Qn: 1比特标志。Qn=l指示后面的RTP分组所承载的下一个 NAL单元属于质量层(quality—id>0)。否则,Qn=0并且后面的RTP 分组属于空间层。
Dn: 1比特标志。Dn=l指示后面的RTP分组所承载的下一个 NAL与当前NAL具有相同的dependencyjd值。否则,Dn=0。
POCn: IO比特无符号整数,指示后面的RTP分组所承载的下一 个NAL的POC号。PIC一idxn: 10比特无符号整数,指示后面RTP分组所承载的下 一个NAL的IDR号。每当处理具有nal—type=5的新NAL时, PIC—idxn递增1。 PIC一idxn在到达最大值1023时返回零。
当Vn-1时,这意味着下一个RTP分组(发送顺序)所承载的 NAL的nal—type等于1、 5或20。 Vn、 Qn、 Dn、 POCn以及PIC—idxn 标志的所有值都与下一个RTP分组中的NAL相关。否则,如果 Vn-0,则所有这些值都与后面的RTP分组中的下一个NAL (SVC比 特流中的保存顺序)相关。
Vf: 1比特标志。Vf=l指示前一个RTP分组(即,按照发送顺 序紧接在前面的分组)所承载的NAL的nal—type等于1、 5或20。
Qf: l比特标志。Qf-l指示前一个RTP分组所承载的NAL属于 质量层(quality—id>0)。否则,Qf=0。
Df:l比特标志。Df^指示前一个RTP分组所承载的NAL具有和 当前NAL相同的dependency—id值。否则,Df=0;
POCf: IO比特无符号整数,指示前一个RTP分组所承载的NAL 的POC号。
PIC一idxf: 10比特无符号整数,指示前一个RTP分组所承载的 NAL的IDR号。每当处理具有nal—type=5的新NAL时,PIC—idxf递 增1。 PIC—idxf在到达最大值1023时返回零。
另一个可选的参数是Padding length。 Padding length是包括其 本身在内的填充字节的数目。填充字节不一定在32比特边界对齐。
标志Vx (x=n或f)指示下一个/前一个RTP分组的NAL是否是 VCLNAL。利用标志Qx提供的信息,解码器可以容易地得知下一个 /前一个RTP分组中的NAL是否属于质量层。利用标志Dx,可以容 易地得到空间/CGS层。
如果丢失了单个RTP分组,则SVC-解码器应当在Vn=l且Qn=0 (即,具有图像数据的空间层)的情况下执行错误隐藏。在这种情况 下,遗漏了所需要的图像数据。可以根据POCn来确定丢失的NAL 所属的帧,并且可以在SVC解码器中使用简单快速的错误隐藏算 法。
14如果丢失了若干连续的RTP分组,则SVC解码器应当在Vn=l 且Qn-O或者Vf=l且Qf=l的情况下执行错误隐藏。利用在第一个丢 失的RTP分组之前的RTP中的Dn、 POCn和PIC—idxn信息以及在最 后一个丢失的RTP分组之后的RTP中的Df、 POCf和PIC—idxf信息, 可以确定丢失图像的数目及其GOP和层信息,然后可以将这些信息 提供给SVC解码器。这些信息将帮助SVC解码器执行简单且快速的 错误隐藏。
图3示出了根据本发明的一个方面进行编码的方框图。在一个实 施方式中,编码方法包括如下步骤至少将多层应用数据的连续的第 一部分、第二部分和第三部分打包成或插入305相应的第一 RTP分 组、第二RTP分组和第三RTP分组p。 p2、 p3。如上所述,应用数据 的不同部分涉及应用的第一层、第二层和第三层VCLf、 VOU和 VCLn。这些层可以是不同的,或者任何两个分组或所有三个分组可 以涉及同一层。
在下一步骤320中,至少将对应用的第一层(前面的第一分组所 涉及的)加以限定的第一数据Vf和对应用的第三层(后面的第三分 组所涉及的)加以限定的第二数据Vn添加到第二RTP分组中。具体 地,如上所述,将该信息添加到填充字节中。在第三步骤中,(按照 这个顺序)发送325第一 RTP分组、第二 RTP分组和第三RTP分组。
然而,在另一个实施方式中,只要得到与相应的前一个和下一 个所插入的分组有关的、可以暂时缓存的应用层信息,那么一次编码 单独一个分组就足够了。
还可将图3理解为示出了根据本发明的一方面的编码器的一般结 构。用于使用RTP分组对多层应用数据进行编码的这种编码器包括 插入装置305,用于将多层应用数据的第一部分、第二部分和第三部 分分别打包成第一 RTP分组、第二 RTP分组和第三RTP分组Pl、 p2、 p3,其中多层应用数据的第一部分、第二部分和第三部分涉及细 一应用层、第二应用层和第三应用层;插入装置320,用于至少将涉 及第一 (=前一个)分组的第一应用层数据以及涉及第三(=下一个) 分组的第二应用层数据添加到第二 RTP分组中;以及发送装置340,用于(按照这个顺序)发送第一 RTP分组、第二 RTP分组和第三RTP 分组。
图4示出了将在实际的应用层解码之前执行的解码准备的原理的 方框图。实际的实现可能更复杂或例如集成在解码器中。
该方法对包括多层应用数据的RTP分组进行解码做准备,包括 以下步骤接收401至少第一 RTP分组和后续的第二 RTP分组,从 第一 RTP分组的主体提取410多层应用数据的第一部分415,从第一 RTP分组的填充字节提取410第一相邻信息NBn,以及以同样的方式 从第二 RTP分组的主体提取420多层应用数据的第二部分425,从第 二RTP分组的填充字节提取420第二相邻信息NBf。如上所述,在考 虑下一个分组的情况下,相邻信息包括Vn、 Qn、 Dn、 POCn和 PIC—idxn当中的至少一个,在考虑前一个分组的情况下,相邻信息包 括Vf、 Qf、 Df、 POCf和PIC—idxf当中的至少一个。
在下一步骤中,确定430、 440第一RTP分组中多层应用数据的 类型typn以及第二 RTP分组中多层应用数据的类型typn+1。
下一步骤是将所确定的第二 RTP分组中多层应用数据的类型 typn+1与从第一 RTP分组提取的第一相邻信息NBn相比较450,和域 将所确定的第一 RTP分组中多层应用数据的类型typn与从第二 RTP 分组提取的第二相邻信息NBf相比较460。如下所述,如果这两个比 较都执行,则这两个比较可以得到三种结果。
在下一步中,将从第一 RTP分组提取的第一相邻信息NBn与从 第二 RTP分组提取的第二相邻信息NBf相比较470。如果两者相等并 且遗漏了分组,则可以断定仅遗漏了一个分组。如果两者不同并且遗 漏了分组,则可以断定遗漏了多于一个的分组。
然后,将所述提取和比较的结果提供给针对所述多层应用的解 码器,由于不需要对遗漏的信息进行长时间的分析,所以该解码器可 以以适当的方式非常快速地作出反应。
一个比较结果信号455指示当前分组的类型是否如后面的分组 所指示的。 一个比较结果信号465指示当前分组的分组类型是否如 前面的分组所指示的。将这两个信号455、 465视为一阶比较结果,因
16为这两个信号指示是否遗漏了数据。 一个比较结果信号475指示前
面分组中指示为"下一个"的分组类型与当前分组中指示为"前一个" 的分组类型是否相等。这是二阶比较结果,因为这仅在遗漏了数据的 情况下相关。
在一个实施方式中,将所有这些比较结果信号与所期望的下一
个分组类型typn和前一个分组类型typn+1 —起传递到多层应用解码 器。该解码器可以如下所述使用这些信息。
示例性地,描述了仅对两个连续分组的接收和评估,因为就两 个接收到的分组而言,可发生三种不同情况
在第一种情况中,第一分组中的"下一个"信息等于第二分组的 分组类型,并且第二分组中的"前一个"信息等于第一分组的分组类 型。在这种情况下, 一阶比较结果信号455和465指示一切正常并且 没有丢失分组。
在第二种情况中,第一分组中的"下一个"信息与第二分组的实 际分组类型不同(或第二分组中的"前一个"信息与第一分组的实际 分组类型不同),此外,第一分组中的"下一个"信息与第二分组中 的"前一个"信息相等。换言之, 一阶信号455、 465当中的至少一个 指示遗漏了数据,二阶信号475指示两个分组指示了相同类型的遗漏 数据。在这种情况下,可以断定在第一分组与第二分组之间仅遗漏了 一个分组,并且该分组的类型是从"下一个"信息和"前一个"信息 得知的。
在第三种情况中,第一分组中的"下一个"信息与第二分组的实 际分组类型不同(或第二分组中的"前一个"信息与第一分组的实际 分组类型不同),此外,第二分组中的"前一个"信息与第一分组中 的"下一个"信息不同。换言之, 一阶信号455、 465当中的至少一个 指示遗漏了数据,二阶信号475指示两个分组指示了不同类型的遗漏 数据。在这种情况下,可以断定在第一分组与第二分组之间遗漏了至 少两个分组。
利用所提供的这些信息,多层应用解码器可以根据当前情况非 常快速地作出反应。在一个实施方式中,通过附加的分组向解码器提供另外的帮
助。在RTP协议中,可以出于这个目的来使用RTCP分组。图5示出 了如何高效地使用RTCP分组向解码器发送附加信息。有利地,采用 这种方式可以发送结构信息,所述结构信息使得可以实现更快速的解 码器初始化。
在一个实施方式中,在应用限定的RTCP分组内将层(空间和/ 或质量)的数目发送到接收机。这旨在方便解码器的初始化,为了进 行随机接入,可以周期性地将该信息发送出去,例如,像IDR帧或 SPS—样频繁地发送。图5示出了这种RTCP分组的格式,下面对该 格式中的若干字段进行说明。
"Subtype":可与"Name"字段一起使用以识别分组的内容。 "Length":以32比特字减一的形式给出该RTCP分组的长度, 包括报头。默认是2。
"Name":解释为四个ASCII字符的序列,其中将大写字符与 小写字符区别对待。可以将"Name"用于指示SVC相关的、基于RTP 的应用。为了初始化SVC解码器或解码过程,接收机可以快速得到 所接收的SVC比特流的整体信息。对于RTCP分组中的SVC解码器 初始化,有两种可以插入信息的方法。
情况1: "Subtype"字段总是与"Name"字段一起使用以识别分 组的内容。如果"Name"字段指示RTP分组中的有效负荷是SVC比 特流,那么任何三个比特都可以用于指示SVC比特流中语法元素 "dependency—id"的最大值。示例性地,如图5b)所示,使用前三个 比特来保存该值。maxD—id是无符号三比特整数,用于指示SVC比 特流中要发送的"dependency—id"的最大值。"d印endencyjd"的最 大值指示SVC比特流中总的空间/CGS层。该值对于SVC解码器的基 本初始化来说是非常重要的。对于本地比特流播放,可以通过检验 SVC比特流相关性来得到该值。然而,对于易出错的(如基于网络的) SVC应用,通过检验SVC比特流相关性而得到的"dependency—id" 的最大值可能因为分组丢失而是错误的。接收机可以使用maxD—id的 值来初始化SVC解码器。如图5c)所示,另一种初始传递层信息的方式是在"Name"字 段的末尾添加额外的有效负荷。maxD—id如上所述。maxTJd具有三 比特,用于指示SVC比特流中的语法元素"temporal—id"的最大值。 maxQ_id具有四比特,用于指示SVC比特流中的语法元素"quality—id"
的最大值。
"Length"的默认值是2。当"Name"指示SVC相关的应用并且 "Length"不等于默认值时,"Name"字段之后紧接着的10比特对 maxD—id、 maxT—id和maxQ—id进行保存。在接收机侧,maxD—id可 以用于SVC解码器的基本初始化,maxT一id和maxQ一id可以用于增 强的SVC解码器初始化。解码器的优点在于该解码器不需要为了在 实际的解码开始前确定参数而分析数据流。因此,初始化更快,并且 可以更早地开始解码。
应该理解,仅以示例的方式描述了本发明,在不背离本发明的 范围的前提下可以进行细节的修改。在说明书(适当的地方)以及权 利要求和附图中所公开的每个特征都是独立地或以适当组合的形式来 提供的。可以在合适的地方以硬件、软件或二者结合的方式来实现这 些特征。在可应用之处,连接可实现为无线连接或有线(不一定是直 接或专用的)连接。
权利要求中的参考数字仅以说明的方式出现,并且不应对权利要 求的范围造成限制影响。
19
权利要求
1、一种数据流,包括RTP分组(p1、p2、p3),其中,所述RTP分组包括多层应用的应用数据,并且一个RTP分组包括与下一个RTP分组的内容有关第一应用层信息(NBn)以及与前一个RTP分组的内容有关的第二应用层信息(NBf)。
2、 根据权利要求1所述的数据流,其中,所述应用数据是可缩 放视频数据,所述应用层是可縮放视频层。
3、 根据权利要求1或2所述的数据流,其中,所述应用层信息 包括NAL类型指示(Vn、 Vf)、质量信息(Qn、 Qf)、相关性信息(Dn、 Df) 、 IDR号(PIC—idxn、 PIC—idxf)以及图像顺序号(POCn、 POCf)信息当中至少一个。
4、 根据权利要求1、 2或3所述的数据流,其中,与下一个RTP 分组有关的应用层信息以及与前一个RTP分组有关的应用层信息存 储于所述RTP分组的填充字节中。
5、 一种使用RTP分组对多层应用数据进行编码的方法,所述方 法包括步骤将多层应用数据的第一部分、第二部分和第三部分分别打包 (305)成第一RTP分组、第二RTP分组和第三RTP分组(Pl、 p2、 p3),其中应用数据的第一部分、第二部分和第三部分涉及应用的第 一层、第二层和第三层(VCLf、 VCLC、 VCLn);将至少第一数据(vf)和第二数据(vn)添加(320)到第二RTP 分组中,其中,所述第一数据(vf)限定了第一分组所涉及的应用的 第一层,所述第二数据(vn)限定了第三分组所涉及的应用的第三层; 以及按照该顺序发送(325)第一 RTP分组、第二 RTP分组和第三 RTP分组。
6、 根据权利要求5所述的方法,其中,将所述第一数据和第二 数据添加到第二分组的填充字节中。
7、 根据权利要求5或6所述的方法,其中,对应用的第一层 (VCLf)加以限定的第一数据(Vf)以及对应用的第三层(VCLn)加以限定的第二数据(vn)包括NAL类型指示(Vn、 Vf)、质量信息 (Qn、 Qf)、相关性信息(Dn、 Df) 、 IDR号(PIC—idxn、 PIC—idxf) 以及图像顺序号(POCn、 POCf)信息当中的一个或更多。
8、 根据权利要求7所述的方法,其中,所述第一数据(Vf)或所 述第二数据(vn)包括标志(Vn、 Vf),所述标志(Vn、 Vf)指示 前一个分组或下一个分组的应用数据涉及一个或更多具体NAL类 型。
9、 根据权利要求5-8.中任意一项所述的方法,其中,以接连顺 序发送第一分组、第二分组和第三分组。
10、 一种对包括多层应用数据在内的RTP分组进行解码做准备的 方法,所述方法包括步骤接收(401)至少第一RTP分组和后续的第二RTP分组; 从第一 RTP分组的主体提取(410)多层应用数据的第一部分(415),以及从第一RTP分组的填充字节提取(410)第一相邻信息(NBn);从第二 RTP分组的主体提取(420)多层应用数据的第二部分 (425),以及从第二RTP分组的填充字节提取(420)第二相邻信息 (NBf);确定(430、 440)第一RTP分组和第二RTP分组中多层应用数 据的类型(typn+1、 typn+1);将所确定的第二RTP分组中多层应用数据的类型(tyPn+1)与从 第一RTP分组提取的第一相邻信息(NBn)相比较(450);将所确定的第一RTP分组中多层应用数据的类型(typn)与从第 二RTP分组提取的第二枏邻信息(NBf)相比较(460);将从第一 RTP分组提取的第一相邻信息(NBn)与从第二 RTP 分组提取的第二相邻信息(NBf)相比较(470);以及向用于所述多层应用的解码器提供所述提取(430、 440)和比较 (450、 460、 470)步骤的结果。
11、 根据权利要求IO所述的方法,其中,第一RTP分组和第二 RTP分组中的相邻信息包括NAL类型指示(Vn、 Vf)、质量信息(Qn、 Qf)、预测相关性信息(Dn、 Df)、 IDR号(PIC—idxn、 PIC—idxf)以及图像顺序号(POCn、 POCf)信息当中的一个或更多。
12、 一种使用RTP分组对多层应用数据进行编码的设备,包括插入装置(305),用于将多层应用数据的第一部分、第二部分 和第三部分分别打包成第一 RTP分组、第二 RTP分组和第三RTP分 组(P,、 p2、 p3),其中应用数据的第一部分、第二部分和第三部分涉 及应用的第一层、第二层和第三层(VCLf、 VCLe、 VCLn);插入装置(320),用于将至少第一数据(vf)和第二数据(vn) 添加(320)到第二 RTP分组中,其中,所述第一数据(vf)限定了 第一分组所涉及的应用的第一层,所述第二数据(vn)限定了第三分 组所涉及的应用的第三层;发送装置340,用于按照该顺序发送第一 RTP分组、第二 RTP 分组和第三RTP分组。
13、 根据权利要求12所述的设备,其中,将所述第一数据和所 述第二数据添加到第二分组的填充字节中。
14、 一种用于对包括多层应用数据在内的RTP分组进行解码做准 备的设备(400),所述设备包括接收装置(401),用于接收至少第一RTP分组以及后续的第二 RTP分组;第一提取装置(410),用于从第一RTP分组的主体提取多层应 用数据的第一部分(415),以及从第一 RTP分组的填充字节提取第 一相邻信息(NBn);第二提取装置(420),用于从第二RTP分组的主体提取多层应 用数据的第二部分(425),以及从第二 RTP分组的填充字节提取第 二相邻信息(NBf);确定装置(430、 440),用于确定第一 RTP分组和第二 RTP分 组中多层应用数据的类型(tyPn+1、 typn+1);第一比较装置(450),用于将所确定的第二RTP分组中多层应 用数据的类型(typn+1)与从第一 RTP分组提取的第一相邻信息(NBn) 相比较;第二比较装置(460),用于将所确定的第一RTP分组中多层应 用数据的类型(typn)与从第二RTP分组提取的第二相邻信息(NBf) 相比较;第三比较装置(470),用于将从第一RTP分组提取的第一相邻 信息(NBn)与从第二RTP分组提取的第二相邻信息(NBf)相比较; 以及提供装置,用于将第一提取装置和第二提取装置(430、 440)以 及第一比较装置、第二比较装置和第三比较装置(450、 460、 470)的结果提供给用于所述多层应用的解码器。
15、根据权利要求14所述的设备,其中,第一RTP分组和第二 RTP分组中的相邻信息(NBn、 NBf)包括NAL类型指示(Vn、 Vf)、 质量信息(Qn、 Qf)、预测相关性信息(Dn、 Df)、 IDR号(PIC—idxn、 PIC—idXf)以及图像顺序号(POCn、 POCf)信息当中的一个或更多。
全文摘要
本发明提供了包括RTP分组的数据流、及编/解码该数据流的方法和设备。在基于分组的架构内提供了一种特殊语法,该特殊语法基于在RTP分组被馈送至多层应用解码器之前,对所述RTP分组之间的关系所述RTP分组所承载的应用层数据加以识别和指示。这有助于解码器及时使用合适的错误隐藏技术,并且防止在解码器中进行不必要的处理。数据流包括包含多层应用的应用数据在内的RTP分组,其中,RTP分组包含两种应用层信息,一种与下一个RTP分组有关,而一种与前一个RTP分组有关。在分组丢失的情况下,解码器立即确定遗漏数据的数量和类型。
文档编号H04L12/56GK101640640SQ200910161279
公开日2010年2月3日 申请日期2009年7月28日 优先权日2008年7月28日
发明者夏志进, 武宇文, 陈志波 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1