CN101640640B - 包括rtp分组的数据流、及编/解码该数据流的方法和设备 - Google Patents

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

Info

Publication number
CN101640640B
CN101640640B CN200910161279.0A CN200910161279A CN101640640B CN 101640640 B CN101640640 B CN 101640640B CN 200910161279 A CN200910161279 A CN 200910161279A CN 101640640 B CN101640640 B CN 101640640B
Authority
CN
China
Prior art keywords
rtp
grouping
rtp grouping
data
information
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.)
Expired - Fee Related
Application number
CN200910161279.0A
Other languages
English (en)
Other versions
CN101640640A (zh
Inventor
武宇文
陈志波
夏志进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital VC Holdings Inc
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101640640A publication Critical patent/CN101640640A/zh
Application granted granted Critical
Publication of CN101640640B publication Critical patent/CN101640640B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了包括RTP分组的数据流、及编/解码该数据流的方法和设备。在基于分组的架构内提供了一种特殊语法,该特殊语法基于:在RTP分组被馈送至多层应用解码器之前,对所述RTP分组之间的关系所述RTP分组所承载的应用层数据加以识别和指示。这有助于解码器及时使用合适的错误隐藏技术,并且防止在解码器中进行不必要的处理。数据流包括:包含多层应用的应用数据在内的RTP分组,其中,RTP分组包含两种应用层信息,一种与下一个RTP分组有关,而一种与前一个RTP分组有关。在分组丢失的情况下,解码器立即确定遗漏数据的数量和类型。

Description

包括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分组,其中应用数据的第一部分、第二部分和第三部分涉及应用的第一层、第二层和第三层;
将至少第一数据和第二数据添加到第二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分组的格式。
具体实施方式
图1示出了分组数据流的结构。数据流中连续的分组p1、p2、p3包括多层应用的应用数据:第一分组p1包括第一应用层VCLp的应用数据,而后续的第二和第三分组p2、p3分别包括第二应用层VCLc和第三应用层VCLn的应用数据。如所描述的,以接连顺序发送/接收分组。如果例如将实时协议(RTP)用作传输协议,则分组具有RTP分组号。因此,接收机可以以正确的序列顺序带来分组,然而如果例如在传输期间第二分组p2丢失,则解码器不会知道遗漏的数据属于哪个应用层。在本发明中,提出了将更多信息添加到传送分组的开销的方案,以提高解码和错误隐藏的效率。这使得解码器可以以更灵活的方式做出反应。例如,解码器可以发现遗漏的分组属于多层应用的增强层,并然后能够继续对基本层进行解码。从而用户可能体验到暂时的质量损失,而通常应用将被中断。相反,在例如较低分辨率等基本模式下应用继续运行。
如图1所示,本发明包括:具有多层应用的应用数据的传送分组不仅包括对其自己的层进行指定的信息,而且包括两种类型的相邻信息,一种是对前面(f=前一个)传送分组中应用数据的层VCLf进行指定的NBf,一种是对后面(n=下一个)传送分组中应用数据的层VCLn进行指定的NBn。因此,如果丢失了一个或两个RTP分组(这是最有可能发生的情况),则可以发现遗漏的哪种类型的应用数据。
下面描述基于SVC的实施方式。如上说明的,本发明还可应用到其它多层多媒体应用。如同任何其它视频解码器一样,SVC解码器对传输错误敏感。针对基于RTP的SVC视频传输,如果没有使用有效的错误隐藏技术,则分组丢失对于解码器来说可能是致命的。几乎对于每一种错误隐藏方法来说,快速得知丢失的数据属于哪个片/层/帧都是非常重要的。传统地,这是可以通过对接收到的分组进行解码来确定的,然而这看起来是一种不必要的复杂途径。此外,这导致解码器中会有出现软件问题的危险,例如崩溃。该问题的另一方面在于,针对现有的系统(如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单元丢失,则不会正确解码相应的帧。由于这是重要信息,所以预先添加单独的标志以通知解码器丢失了nal_type等于1、5或20的NAL。
V是版本字段。示例性地,在图2中将V设置为V=2。P是指示在RTP分组的末端的附加填充字节的1比特标志。如果P=1,分组在末端包含一个或更多附加填充字节。M是指示RTP分组是否特殊(如,是否是当前片的最后RTP分组)的1比特标志。RTP分组报头中的其它传统字段是payload type字段、time stamp字段、同步源ID(SSRC)字段和贡献源(CSRC)字段。有效负荷(payload)包含实际的视频数据。尽管示例性地示出了两个有效负荷字,然而分组通常承载更多的有效负荷。在有效负荷之后是如P标志所指示的填充字节。
根据本发明,将与前一个和下一个RTP分组有关的附加的应用相关信息存储在填充字节中,例如,SVC定义了表1所示的结构以及对应的结构相关参数。
Figure G2009101612790D00071
表1:SVC中的示例性可缩放性结构
表1所示的结构是示例。总共有7层:A-F。基本层是A、D、E。所有的质量层B、C、F都具有与它们各自的基本层相同的空间分辨率。空间层D、E具有与它们的基本层不同的空间分辨率。
称作“质量层”的层是由质量可缩放性产生的,其中所述质量可缩放性是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=1指示下一个RTP分组(以发送的顺序)所承载的NAL单元的nal_type等于1、5或20。这意味着下一个分组包含宏块数据,即,实际图像数据。将每个视频帧编码进nal_type=1、5或20的一个或更多个NAL单元中。
Qn:1比特标志。Qn=1指示后面的RTP分组所承载的下一个NAL单元属于质量层(quality_id>0)。否则,Qn=0并且后面的RTP分组属于空间层。
Dn:1比特标志。Dn=1指示后面的RTP分组所承载的下一个NAL与当前NAL具有相同的dependency_id值。否则,Dn=0。
POCn:10比特无符号整数,指示后面的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=1指示前一个RTP分组(即,按照发送顺序紧接在前面的分组)所承载的NAL的nal_type等于1、5或20。
Qf:1比特标志。Qf=1指示前一个RTP分组所承载的NAL属于质量层(quality_id>0)。否则,Qf=0。
Df:1比特标志。Df=1指示前一个RTP分组所承载的NAL具有和当前NAL相同的dependency_id值。否则,Df=0;
POCf:10比特无符号整数,指示前一个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是否是VCL NAL。利用标志Qx提供的信息,解码器可以容易地得知下一个/前一个RTP分组中的NAL是否属于质量层。利用标志Dx,可以容易地得到空间/CGS层。
如果丢失了单个RTP分组,则SVC解码器应当在Vn=1且Qn=0(即,具有图像数据的空间层)的情况下执行错误隐藏。在这种情况下,遗漏了所需要的图像数据。可以根据POCn来确定丢失的NAL所属的帧,并且可以在SVC解码器中使用简单快速的错误隐藏算法。
如果丢失了若干连续的RTP分组,则SVC解码器应当在Vn=1且Qn=0或者Vf=1且Qf=1的情况下执行错误隐藏。利用在第一个丢失的RTP分组之前的RTP中的Dn、POCn和PIC_idxn信息以及在最后一个丢失的RTP分组之后的RTP中的Df、POCf和PIC_idxf信息,可以确定丢失图像的数目及其GOP和层信息,然后可以将这些信息提供给SVC解码器。这些信息将帮助SVC解码器执行简单且快速的错误隐藏。
图3示出了根据本发明的一个方面进行编码的方框图。在一个实施方式中,编码方法包括如下步骤:至少将多层应用数据的连续的第一部分、第二部分和第三部分打包成或插入305相应的第一RTP分组、第二RTP分组和第三RTP分组p1、p2、p3。如上所述,应用数据的不同部分涉及应用的第一层、第二层和第三层VCLf、VCLc和VCLn。这些层可以是不同的,或者任何两个分组或所有三个分组可以涉及同一层。
在下一步骤320中,至少将对应用的第一层(前面的第一分组所涉及的)加以限定的第一数据Vf和对应用的第三层(后面的第三分组所涉及的)加以限定的第二数据Vn添加到第二RTP分组中。具体地,如上所述,将该信息添加到填充字节中。在第三步骤中,(按照这个顺序)发送325第一RTP分组、第二RTP分组和第三RTP分组。
然而,在另一个实施方式中,只要得到与相应的前一个和下一个所插入的分组有关的、可以暂时缓存的应用层信息,那么一次编码单独一个分组就足够了。
还可将图3理解为示出了根据本发明的一方面的编码器的一般结构。用于使用RTP分组对多层应用数据进行编码的这种编码器包括:插入装置305,用于将多层应用数据的第一部分、第二部分和第三部分分别打包成第一RTP分组、第二RTP分组和第三RTP分组p1、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视为一阶比较结果,因为这两个信号指示是否遗漏了数据。一个比较结果信号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”的最大值。“dependency_id”的最大值指示SVC比特流中总的空间/CGS层。该值对于SVC解码器的基本初始化来说是非常重要的。对于本地比特流播放,可以通过检验SVC比特流相关性来得到该值。然而,对于易出错的(如基于网络的)SVC应用,通过检验SVC比特流相关性而得到的“dependency_id”的最大值可能因为分组丢失而是错误的。接收机可以使用maxD_id的值来初始化SVC解码器。
如图5c)所示,另一种初始传递层信息的方式是在“Name”字段的末尾添加额外的有效负荷。maxD_id如上所述。maxT_id具有三比特,用于指示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解码器初始化。解码器的优点在于:该解码器不需要为了在实际的解码开始前确定参数而分析数据流。因此,初始化更快,并且可以更早地开始解码。
应该理解,仅以示例的方式描述了本发明,在不背离本发明的范围的前提下可以进行细节的修改。在说明书(适当的地方)以及权利要求和附图中所公开的每个特征都是独立地或以适当组合的形式来提供的。可以在合适的地方以硬件、软件或二者结合的方式来实现这些特征。在可应用之处,连接可实现为无线连接或有线(不一定是直接或专用的)连接。
权利要求中的参考数字仅以说明的方式出现,并且不应对权利要求的范围造成限制影响。

Claims (11)

1.一种使用RTP分组对多层应用数据进行编码的方法,所述方法包括步骤: 
将多层应用数据的第一部分、第二部分和第三部分分别打包(305)成第一RTP分组、第二RTP分组和第三RTP分组(P1、p2、P3),其中应用数据的第一部分、第二部分和第三部分涉及应用的第一层、第二层和第三层(VCLf、VCLc、VCLn); 
将至少第一数据(vf)和第二数据(Vn)添加(320)到第二RTP分组中,其中,所述第一数据(vf)限定了第一RTP分组所涉及的应用的第一层,所述第二数据(Vn)限定了第三RTP分组所涉及的应用的第三层;以及 
顺序发送(325)第一RTP分组、第二RTP分组和第三RTP分组。 
2.根据权利要求1所述的方法,其中,将所述第一数据和第二数据添加到第二RTP分组的填充字节中。 
3.根据权利要求1或2所述的方法,其中,对应用的第一层(VCLf)加以限定的第一数据(vf)以及对应用的第三层(VCLn)加以限定的第二数据(Vn)包括:NAL类型指示(Vn、Vf)、质量信息(Qn、Qf)、相关性信息(Dn、Df)、IDR号(PIC_idxn、PIC_idxf)以及图像顺序号(POCn、POCf)信息当中的一个或更多。 
4.根据权利要求3所述的方法,其中,所述第一数据(vf)或所述第二数据(Vn)包括标志(Vn、Vf),所述标志(Vn、Vf)指示:前一个分组或下一个分组的应用数据涉及一个或更多具体NAL类型。 
5.根据权利要求1所述的方法,其中,以接连顺序发送第一RTP分组、第二RTP分组和第三RTP分组。 
6.一种对包括多层应用数据在内的RTP分组进行解码做准备的方法,所述方法包括步骤: 
接收(401)至少第一RTP分组和后续的第二RTP分组; 
从第一RTP分组的主体提取(410)多层应用数据的第一部分(415),以及从第一RTP分组的填充字节提取(410)第一相邻信息(NBn); 
从第二RTP分组的主体提取(420)多层应用数据的第二部分(425),以及从第二RTP分组的填充字节提取(420)第二相邻信息(NBf); 
确定(430、440)第一RTP分组和第二RTP分组中多层应用数据的类型(typn、typn+1); 
将所确定的第二RTP分组中多层应用数据的类型(typn+1)与从第一RTP分组提取的第一相邻信息(NBn)相比较(450); 
将所确定的第一RTP分组中多层应用数据的类型(typn)与从第二RTP分组提取的第二相邻信息(NBf)相比较(460); 
将从第一RTP分组提取的第一相邻信息(NBn)与从第二RTP分组提取的第二相邻信息(NBf)相比较(470);以及 
向用于所述多层应用的解码器提供所述确定(430、440)和比较(450、460、470)步骤的结果。 
7.根据权利要求6所述的方法,其中,第一RTP分组和第二RTP分组中的相邻信息包括:NAL类型指示(Vn、Vf)、质量信息(Qn、Qf)、预测相关性信息(Dn、Df)、IDR号(PIC_idxn、PIC_idxf)以及图像顺序号(POCn、POCf)信息当中的一个或更多。 
8.一种使用RTP分组对多层应用数据进行编码的设备,包括: 
插入装置(305),用于将多层应用数据的第一部分、第二部分和第三部分分别打包成第一RTP分组、第二RTP分组和第三RTP分组(P1、p2、P3),其中应用数据的第一部分、第二部分和第三部分涉及应用的第一层、第二层和第三层(VCLf、VCLc、VCLn); 
插入装置(320),用于将至少第一数据(vf)和第二数据(Vn)添加(320)到第二RTP分组中,其中,所述第一数据(vf)限定了第 一RTP分组所涉及的应用的第一层,所述第二数据(Vn)限定了第三RTP分组所涉及的应用的第三层; 
发送装置340,用于顺序发送第一RTP分组、第二RTP分组和第三RTP分组。 
9.根据权利要求8所述的设备,其中,将所述第一数据和所述第二数据添加到第二RTP分组的填充字节中。 
10.一种用于对包括多层应用数据在内的RTP分组进行解码做准备的设备(400),所述设备包括: 
接收装置(401),用于接收至少第一RTP分组以及后续的第二RTP分组; 
第一提取装置(410),用于从第一RTP分组的主体提取多层应用数据的第一部分(415),以及从第一RTP分组的填充字节提取第一相邻信息(NBn); 
第二提取装置(420),用于从第二RTP分组的主体提取多层应用数据的第二部分(425),以及从第二RTP分组的填充字节提取第二相邻信息(NBf); 
确定装置(430、440),用于确定第一RTP分组和第二RTP分组中多层应用数据的类型(typn、typn+1); 
第一比较装置(450),用于将所确定的第二RTP分组中多层应用数据的类型(typn+1)与从第一RTP分组提取的第一相邻信息(NBn)相比较; 
第二比较装置(460),用于将所确定的第一RTP分组中多层应用数据的类型(typn)与从第二RTP分组提取的第二相邻信息(NBf)相比较; 
第三比较装置(470),用于将从第一RTP分组提取的第一相邻信息(NBn)与从第二RTP分组提取的第二相邻信息(NBf)相比较;以及 
提供装置,用于将确定装置(430、440)以及第一比较装置、第二比较装置和第三比较装置(450、460、470)的结果提供给用于所述多层应用的解码器。 
11.根据权利要求10所述的设备,其中,第一RTP分组和第二RTP分组中的相邻信息(NBn、NBf)包括:NAL类型指示(Vn、Vf)、质量信息(Qn、Qf)、预测相关性信息(Dn、Df)、IDR号(PIC_idxn、PIC_idxf)以及图像顺序号(POCn、POCf)信息当中的一个或更多。 
CN200910161279.0A 2008-07-28 2009-07-28 包括rtp分组的数据流、及编/解码该数据流的方法和设备 Expired - Fee Related CN101640640B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305424A EP2150022A1 (en) 2008-07-28 2008-07-28 Data stream comprising RTP packets, and method and device for encoding/decoding such data stream
EP08305424.7 2008-07-28

Publications (2)

Publication Number Publication Date
CN101640640A CN101640640A (zh) 2010-02-03
CN101640640B true CN101640640B (zh) 2014-01-29

Family

ID=40220088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910161279.0A Expired - Fee Related CN101640640B (zh) 2008-07-28 2009-07-28 包括rtp分组的数据流、及编/解码该数据流的方法和设备

Country Status (6)

Country Link
US (1) US20100020865A1 (zh)
EP (2) EP2150022A1 (zh)
JP (1) JP5686506B2 (zh)
KR (1) KR101650571B1 (zh)
CN (1) CN101640640B (zh)
TW (1) TWI497982B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058470A1 (en) * 2005-11-15 2007-05-24 Electronics And Telecommunications Research Institute A method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same
CN102752670B (zh) * 2012-06-13 2015-11-25 广东威创视讯科技股份有限公司 减少网络视频传输中马赛克现象的方法、装置及系统
WO2014051410A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 랜덤 액세스를 위한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US8959414B2 (en) * 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
CN105141961B (zh) * 2015-08-03 2017-12-22 中国人民解放军信息工程大学 一种基于视频隐写的空间数据双协议传输方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247131A (ja) * 1996-03-07 1997-09-19 Toshiba Corp データ通信装置
CN1207860C (zh) * 1997-08-01 2005-06-22 Ntt移动通信网株式会社 数据序列发生器、发射机、信息数据解码器、接收机、发送-接收机、数据序列产生方法、信息数据解码方法
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
CN1311424C (zh) * 2001-03-06 2007-04-18 株式会社Ntt都科摩 音频数据内插、关联信息制作、内插信息发送装置和方法
AU2002366687A1 (en) * 2001-12-11 2003-06-23 Koninklijke Philips Electronics N.V. System for transmitting additional information via a network
US7061942B2 (en) * 2002-05-31 2006-06-13 Skystream Networks Inc. Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
JP2004056169A (ja) * 2002-07-16 2004-02-19 Matsushita Electric Ind Co Ltd 画像データ受信装置、画像データ送信装置
US20050275752A1 (en) * 2002-10-15 2005-12-15 Koninklijke Philips Electronics N.V. System and method for transmitting scalable coded video over an ip network
JP4336792B2 (ja) * 2003-03-13 2009-09-30 日本電気株式会社 パケット送信方法および無線アクセスネットワーク
JP4078544B2 (ja) * 2003-03-31 2008-04-23 サクサ株式会社 音声データの伝送装置および音声データの受信装置
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
DE102005001286A1 (de) * 2005-01-11 2006-07-20 Siemens Ag Verfahren und Vorrichtung zur Übertragung von skalierbaren Daten
AU2006223287C1 (en) * 2005-03-10 2010-10-21 Qualcomm Incorporated A decoder architecture for optimized error management in streaming multimedia
EP1773063A1 (en) * 2005-06-14 2007-04-11 Thomson Licensing Method and apparatus for encoding video data, and method and apparatus for decoding video data
EP1742476A1 (en) * 2005-07-06 2007-01-10 Thomson Licensing Scalable video coding streaming system and transmission mechanism of the same system
FR2898754B1 (fr) * 2006-03-17 2008-06-13 Thales Sa Procede de protection de donnees multimedia au moyen de couches d'abstraction reseau (nal) supplementaires
WO2008094279A1 (en) * 2006-06-06 2008-08-07 Cts Media A method and system for dynamic management of multiple media data streams
JP5184527B2 (ja) * 2006-07-25 2013-04-17 トムソン ライセンシング スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークでのバーストパケット損失からの回復
US20080040498A1 (en) * 2006-08-10 2008-02-14 Nokia Corporation System and method of XML based content fragmentation for rich media streaming
JP2009065259A (ja) * 2007-09-04 2009-03-26 Sanyo Electric Co Ltd 受信装置
JP2009118151A (ja) * 2007-11-06 2009-05-28 Fujitsu Ltd 通信システム、送信装置、中継装置、受信装置及び送信プログラム
WO2009127961A1 (en) * 2008-04-16 2009-10-22 Nokia Corporation Decoding order recovery in session multiplexing

Also Published As

Publication number Publication date
JP2010045775A (ja) 2010-02-25
TW201006255A (en) 2010-02-01
JP5686506B2 (ja) 2015-03-18
CN101640640A (zh) 2010-02-03
EP2150024B1 (en) 2016-05-18
US20100020865A1 (en) 2010-01-28
TWI497982B (zh) 2015-08-21
KR20100012830A (ko) 2010-02-08
EP2150024A1 (en) 2010-02-03
EP2150022A1 (en) 2010-02-03
KR101650571B1 (ko) 2016-08-23

Similar Documents

Publication Publication Date Title
US8374176B2 (en) Method and apparatus for providing internet protocol datacasting (IPDC) service, and method and apparatus for processing IPDC service
CN105594219B (zh) 用于广播信号的发射/接收处理的设备和方法
CN101069427B (zh) 容忍丢失多媒体组播的方法和系统
CN1820507B (zh) 用于数字多媒体广播的系统和方法
CN101505316B (zh) 重排和复用属于互相关会话的多媒体流的包的方法和设备
US8432937B2 (en) System and method for recovering the decoding order of layered media in packet-based communication
TWI325706B (en) Method and apparatus for processing multimedia data
CN103891282B (zh) 加水印的内容分段
CN101640640B (zh) 包括rtp分组的数据流、及编/解码该数据流的方法和设备
EP2869569A1 (en) Method and apparatus for transmitting adaptive media structure in multimedia system
KR20090021104A (ko) 디지털 방송 시스템 및 데이터 처리 방법
CN105765943B (zh) 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法和接收广播信号的方法
CN101102506A (zh) 一种多媒体广播数据传输方法、装置及系统
US8774069B2 (en) Method and system for synchronized mapping of data packets in an ATSC data stream
CN105745899A (zh) 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法和接收广播信号的方法
US8718131B2 (en) Method and apparatus for generating and processing packet in MPEG-2 transport stream
CN102316360A (zh) 视频刷新方法、装置及系统
US20100186464A1 (en) Laundry refresher unit and laundry treating apparatus having the same
CN103916714B (zh) 一种无线网络视频流抗丢包预处理及恢复方法
US7307553B2 (en) MPEG-4 encoding/decoding method, medium, and system
CN103959796A (zh) 数字视频码流的解码方法拼接方法和装置
WO2017104519A1 (ja) 送信装置、送信方法、受信装置および受信方法
US20120144443A1 (en) System and method for executing source buffering for multiple independent group transmission of real-time encoded scalabe video contents
US7538693B2 (en) Method and apparatus for updating decoder configuration
CN117099375A (zh) 通过实时传输协议传输经heif格式化的图像

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne - Bilang Kurt

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20190606

Address after: American Delaware

Patentee after: Interactive Digital VC Holdings

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140129

Termination date: 20200728

CF01 Termination of patent right due to non-payment of annual fee