CN1981492A - 用于多媒体流中速率适配的缓冲器水平信令 - Google Patents
用于多媒体流中速率适配的缓冲器水平信令 Download PDFInfo
- Publication number
- CN1981492A CN1981492A CN200580019381.7A CN200580019381A CN1981492A CN 1981492 A CN1981492 A CN 1981492A CN 200580019381 A CN200580019381 A CN 200580019381A CN 1981492 A CN1981492 A CN 1981492A
- Authority
- CN
- China
- Prior art keywords
- unit
- decoded
- server
- grouping
- packet
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
Abstract
在多媒体流传输网络中,客户端具有接收器缓冲器存储从服务器接收到的分组以补偿服务器的数据传输量和客户端的数据使用量之间的差值,服务器应该能够基于接收器缓冲器的状态来适配数据传输率。为了速率适配的目的,服务器基于由客户端提供的信息在接收器缓冲器内重构分组的列表。被发送到服务器的信息表示将要被解码的下一个单元以及将要被解码的下一个单元所属于的分组的序列号、或在客户端将要被解码的下一个分组、下一个NAL的DON号或携带将要被解码的下一个NAL的分组的序列号以及表示下一个NAL单元的解码顺序的DON。
Description
技术领域
本发明一般地涉及多媒体流,并且更特别地,涉及多媒体流服务中服务器和客户端之间的速率适配。
背景技术
在多媒体流服务中,包括三个参与方:流服务器、流客户端和传输信道或基础网络。就吞吐量和可靠性(即,如果没有采取吞吐量比特率保证)而言,通常传输信道是该项业务的瓶颈,但吞吐量限制也可发生在客户端和/或服务器处。
在实时的流传输系统中,由于信道、客户端和服务器的动态改变吞吐量特性,流递送需要是自适应的以便为用户维持实时回放的体验。服务器应该将传输速率适配到系统变化的吞吐量。这种速率适配系统的示例可在Haskell等人的专利(美国专利No.5,565.924,“Encoder/Decoder Buffer Control for variable Channel”)中找到。
流客户端提供用于在将进入的数据传递到媒体解码器以便播放之前将其存储的接收器缓冲。接收器缓冲器用于对源编码速率(也称为采样速率)和传输速率之间的差值进行补偿(预解码器缓冲)。它还用于对信道上分组传输延迟变化进行补偿(抖动缓冲)。一般地,假定这两个功能合并在单个的接收器缓冲器中。然而,它们也可以用接收器内的两个分离的缓冲器来实现,尽管从延迟的观点看这样的实施不是最适宜的。接收器缓冲还可消除适配不精确性(即,如果系统吞吐量没有与服务器输出恰好匹配)。
如果接收器缓冲器变为空(即,缓冲器下溢),这意味着解码器用光了解码的数据,客户端在重新开始之前需要中止播放并且再次缓冲进入的数据。另一方面,如果进入的数据率快于播放的速率,则接收器缓冲器的空间将被耗尽(即,缓冲器溢出),这将导致从缓冲器丢弃分组以便为新进入的分组腾出空间。当分组被丢弃时,视频质量被恶化。为了确保平滑和无瑕疵的播放,客户端的接收器缓冲器应该被保持在某个充满度范围内。为了确保接收器缓冲器不会下溢或溢出,在服务器处的传输和采样的以及在客户端处的传输和采样的比特率必须被适当地控制。
如在3GPP TS26.234中定义的3GPP速率适配信令是基于以RTCP APP(应用定义的实时控制协议)分组的形式从接收器发送到发送方的反馈。该分组包括接收器缓冲器内最旧的分组的序列号(SN)。该序列号被称为OBSN(最旧缓冲的序列号)。
OBSN的信令允许发送方执行必需的适配。然而,如果解码顺序和显示顺序是不同的,则发送方可能无法导出缓冲器的状态并且信令的目的受挫。利用在版本5中支持的PSS(分组交换流媒体服务)视频编解码器,因为它们的分组传输顺序等于解码顺序,所以这将不是问题。
在版本6中,H.264(也即已知的MPEG-4 AVC)将被添加到PSS编解码器的列表中。利用H.264,因为在有效载荷级(在IETF H.264RTP有效载荷格式草案中规定)的交错分组化,传输顺序和解码顺序可以不同。
相同的属性还存在于许多的音频和语音编解码器的帧交错传输,例如AMR-NB、AMR-WB、AMR-WB+、AAC和AAC加(对于后者,在RFC 3640中定义的交错方法被使用)。
以下示出的问题假设服务器传输一系列的分组,其RTP序列号被表示为x、x+1、x+2、x+3、......。让我们进一步假设这些RTP中的每一个携带两个单元。从使用的编解码器和有效载荷格式,这些单元中的每一个被映射到解码顺序y。解码顺序y定义如下:如果分组具有解码顺序y,其为要解码的第一个分组。即,当当前分组具有解码顺序y时,这还意味着在当前分组被提供给解码器的时刻,(y-1)分组已经被解码。例如,在H.264的情况下,由H.264 RTP有效载荷格式所定义的DON(解码顺序号)可用于导出在每个分组内接收到的NAL单元的解码顺序。
下面的示例示出了单元的序列,其中对于每个单元赋予了其所属于的分组的序列号、其单元号(即,其为分组中的第一单元还是第二单元)以及其解码顺序。
SN | 单元号 | 解码顺序 |
xxx+1x+1x+2x+2x+3x+3x+4x+4x+5x+5x+6x+6...x+49x+49x+50x+50x+51x+51 | 01010101010101...010101 | yy+1y+2y+3y+4y+5y+6y+7y+100y+8y+9y+10y+11y+12...y+97y+98y+99y+101y+102y+103 |
在上面给出的示例中,对于从具有从x到x+3的SN的分组接收到的每个单元,解码顺序以1递增。然而,对于分组x+4该规则被打破。例如,分组x+4的第一单元属于将仅在未来被解码的帧。
另外,由H.26L有效载荷格式所定义的DON(解码顺序号)将序列号映射到解码顺序y。然而,尽管y值是从DON值导出的,这两个值不总是相同的。
现在让我们观察接收器缓冲器的进展并且假设在某个时刻,接收器已经接收到分组x、x+1、x+2、x+3。在这种情况下,在缓冲器中最旧的序列号(OBSN)是x,在RTCP RR报告中发送的最高接收序列号(HSN)是x+3。随着时间的推进,SN x的分组已经被解码并且SN x+4的分组已经被接收。因此,服务器将OBSN=x+1(缓冲器内新的“最旧”序列号)和HSN=x+4(接收到的新的“最近”SN)通过信号发送到客户端。
随着时间的进一步推进,例如分组x+1、x+2和x+3的单元已经被播放并且x+5、x+6和x+7已经被接收。在此,缓冲器的状态是x+4、x+5、x+6和x+7。因此,客户端将OBSN=x+4和HSN=x+7通过信号发送到服务器。大约在此刻将出现问题,因为在x+5之后,对于下面的分组x+6、x+7等的解码顺序号小于分组x+4的第一单元的解码顺序号。因此,当前的速率适配信令OBSN将保持在x+4直到该单元被播放并且分组x+50被接收,在此时刻OBSN将被更新。因为OBSN没有被根据解码更新并且从接收器缓冲器除去了分组,所以服务器将失去接收器缓冲器状态的跟踪。
另一个限制来源于这样的事实,即由于多个单元可以用单个的分组发送,例如当接收器将关于OBSN是x+2通过信号发送到发送方时,发送方无法确定该分组的第一单元是否仍在缓冲器中或是否仅该分组的第二单元在缓冲器内。
对于AMR-NB和AMR-WB,RFC 3267定义如何能够使用交错。对于AMR-WB+,针对AMR-WB应用定义了相同的交错规则。存在发送到有效载荷报头内部的两个相关参数:ILL和ILP。此外,每AMR分组的帧的数目固定于某个数(例如为N)。这三个值定义了数学上确定的方法,该方法用于定义将要在存在于AMR RTP分组内部的RTP有效载荷内存在的帧的顺序。
可以看出如同在H.26L中,在AMR中不存在硬编码(hard-coded)的DON的概念,因为基于发送到RTP有效载荷报头内的ILL、ILP和N值,每个帧具有确定性的解码顺序。由客户端和服务器通过使用发送到RTSP PLAY响应内的第一RTP序列号并利用(ILL,ILP,N)三元组,AMR-方式的DON被解译。对于AMR-NB,AMR-WB和AMR-WB+的交错流,针对H.26L情况所提到的相同问题陈述是有效的。
总之,速率适配信令的现有技术的方法是基于当前接收器播放缓冲器内的最旧分组,允许发送方来估计接收器缓冲器内的字节数以及播放缓冲器的持续时间。该信息由发送方使用以执行适配从而避免接收器下溢(播放中断)或接收器溢出(分组丢失)。然而,因为在某些场合下,解码顺序和传输顺序是不相同的并且多个单元可位于同一个分组内,所以发送方可能丢失接收器缓冲器的跟踪。
图1中示出了典型的RTP分组。RTP分组包括MTAP16类型的多时间集合分组以及两个多时间集合单元。图2示出了位于分组第一行中的RTP报头。如图2中所示,在RTP报头的第一行内示出分组的序列号(SN)。如图1所示,聚集型分组将多个网络抽取层(NAL)单元聚集到单个的RTP有效载荷中。特别地,在MTAP16中,NAL单元有效载荷包括16比特的无符号解码顺序号(DON)基数,或DONB(参见分组的第二行)。DONB包含第一NAL单元的DON的值,从而所有其它的NAL的DON的值可以以DOND表达,或某个NAL中的DON的值与DONB之间的差值。
H.264编解码器的RTP有效载荷格式可以在IETF音频可视化传输工作组因特网草案draft-ietf-avt-rtp-h264-05(2004年4月)中找到。
发明内容
本发明提供了一种机制,由于多媒体流传输网络中的服务器设备,该服务器发送流数据分组到客户端以在客户端设备中播放并重构存储在接收器缓冲器内的数据分组列表。基于该重构,服务器设备调整提供给客户端设备的流数据量,从而控制接收器缓冲器的水平(level of receiver buffer)。
本发明的第一方面提供一种用于在多媒体流传输网络中控制客户端中的接收器缓冲器的水平的方法,该流传输网络包括用于向该客户端提供多个分组中的流数据的服务器,其中该至少一些数据分组存储在接收器缓冲器内以补偿服务器的数据传输量与客户端的数据使用量之间的差值,并且其中以基于与在客户端中的播放顺序关联的多个解码顺序值的解码顺序将分组解码。该方法包括:
基于解码顺序值在客户端中确定在接收器缓冲器的分组之中的将要被解码的下一个分组;以及
向服务器发送表示将要被解码的所述下一个分组的信息,从而允许客户端基于该信息调整提供给客户端的流数据量。
根据本发明,分组与包括将要被解码的下一个单元的多个单元关联,并且其中将要被解码的下一个分组是将要被解码的下一个单元所属于的分组。单元中的每一个具有单元号并且数据分组中的每一个具有对于客户端和服务器都是已知的序列号,并且发送到服务器的信息表示将要被解码的所述下一个单元的单元号以及所述下一个单元所属于的分组的序列号。
根据本发明,服务器保留已经被发送的单元的列表以及单元号和发送单元所属于的分组的序列号以及所述序列号和单元号之间到解码顺序的映射的记录,以便基于所述映射确定在接收器缓冲器内的数据单元,从而基于所述确定在服务器中调整提供给客户端的流数据量。
根据本发明,发送到服务器的信息另外表示了将要被解码的所述下一个单元的安排的播放时间与所述下一个单元的解码时间之间的差值。
根据本发明,发送到服务器的信息另外表示了由客户端接收到的最高序列号从而允许服务器确定接收器缓冲器内的数据分组。
根据本发明,每个单元具有时间戳并且每个数据分组具有对于客户端和服务器都已知的序列号,并且发送到服务器的信息表示将要被解码的所述下一个单元的时间戳以及所述下一个单元所属于的分组的序列号。
本发明的第二方面提供一种多媒体流传输网络,包括:
至少一个客户端;以及
用于向客户端提供在多个分组内的流数据的服务器,其中客户端包括:
接收器缓冲器,用于存储将要被解码的至少一些数据分组以便补偿服务器的数据传输量和客户端的数据使用量之间的差值,并且其中以基于与在客户端内的播放顺序关联的多个解码值的解码顺序将分组解码,以及
一种机制,用于基于解码顺序值向服务器发送表示在缓冲器的分组之中的将要被解码的下一个分组的信息以便允许服务器调整提供给客户端的流数据的速率。
根据本发明,分组与包括将要被解码的下一个单元的多个单元关联,并且其中将要被解码的下一个分组是将要被解码的下一个单元所属于的分组。每个单元具有单元号并且每个数据分组具有对于客户端和服务器都已知的序列号,并且发送到服务器的信息表示将要被解码的所述下一个单元的单元号以及所述下一个单元所属于的分组的序列号。
根据本发明,服务器保留已经被发送的单元的列表以及单元号和发送单元所属于的分组的序列号以及所述序列号和单元号之间到解码顺序的映射的记录,以便基于所述映射确定在接收器缓冲器内的数据单元,从而基于所述确定在服务器中调整提供给客户端的流数据量。
根据本发明的第三方面,提供了一种多媒体流传输网络中的客户端设备,该流传输网络包括用于向客户端设备提供多个分组内的流数据的服务器设备,其中以基于与客户端设备中的播放顺序关联的多个解码值的解码顺序将分组解码。该客户端设备包括:
接收器缓冲器,用于存储将要被解码的至少一些数据分组以便补偿服务器设备的数据传输量和客户端设备的数据使用量之间的差值;以及
一种机制,用于基于解码顺序值向服务器设备发送表示在接收器缓冲器的分组之中的将要被解码的下一个分组的信息以便允许服务器设备调整提供给客户端设备的流数据。
根据本发明,分组与包括将要被解码的下一个单元的多个单元关联,并且其中将要被解码的下一个分组是将要被解码的下一个单元所属于的分组。每个单元具有单元号并且每个数据分组具有对于客户端设备和服务器设备都已知的序列号,并且发送到服务器设备的信息表示将要被解码的所述下一个单元的单元号以及所述下一个单元所属于的分组的序列号。
根据本发明,客户端设备进一步包括具有可执行代码的软件程序以确定:
基于解码顺序值的接收器缓冲器中的数据分组的解码顺序,以及
基于解码顺序值的接收器缓冲器内的数据分组之中的将要被解码的下一个分组。
本发明的第四个方面提供了一种服务器设备,该设备用于在多媒体流传输网络中提供流数据,该多媒体流传输网络包括至少一个客户端设备,用于接收多个数据分组中的流数据以及以基于与播放顺序关联的多个解码顺序值的解码顺序将数据分组解码,其中客户端设备具有接收器缓冲器,用于存储至少一些数据分组,以补偿服务器设备的数据传输量和客户端设备的数据使用量之间的差值。该服务器设备包括:
一种机制,用于基于客户端设备中的解码顺序值从客户端设备接收表示在接收器缓冲器的分组之中的将要被解码的下一个分组的信息;以及
一种软件程序,用于基于该信息确定接收器缓冲器中的分组,以调整提供给客户端设备的流数据量以便控制接收器缓冲器的水平。
根据本发明,分组与包括将要被解码的下一个单元的多个单元关联,并且其中将要被解码的下一个分组是将要被解码的下一个单元所属于的分组。每个单元具有单元号并且每个数据分组具有对于客户端设备和服务器设备都已知的序列号,并且发送到服务器设备的信息表示将要被解码的所述下一个单元的单元号以及所述下一个单元所属于的分组的序列号。
本发明的第五方面另外提供了一种软件产品,该产品嵌入到计算机可读介质中以便在多媒体流传输网络的客户端设备中使用,该流传输网络包括用于向客户端设备提供多个分组中的流数据的服务器设备,其中以基于与客户端设备内的播放顺序关联的多个解码值的解码顺序将分组解码,并且其中客户端设备包括接收器缓冲器,用于存储将要被解码的至少一些数据分组,以补偿数据传输之间的差值。该软件产品包括:
一种代码,用于基于解码顺序值确定接收器缓冲器中数据分组的解码顺序;以及
一种代码,用于基于该解码顺序值确定接收器缓冲器数据中的数据分组之中的将要被解码的下一个分组,从而向服务器设备提供表示将要被解码的所述下一个分组的信息,允许服务器设备基于该信息调整提供给客户端设备的流数据量以控制接收器缓冲器的水平。
根据本发明,分组与包括将要被解码的下一个单元的多个单元关联,并且其中将要被解码的下一个分组是将要被解码的下一个单元所属于的分组。每个单元具有单元号并且每个数据分组具有对于客户端设备和服务器设备都已知的序列号,并且发送到服务器设备的信息表示将要被解码的所述下一个单元的单元号以及所述下一个单元所属于的分组的序列号。
本发明的第六方面,提供了一种软件产品,该产品嵌入到计算机可读介质中以便在多媒体流传输网络中提供流数据的服务器设备中使用,多媒体网络至少包括客户端设备,用于接收多个数据分组中的流数据并且以基于与播放顺序关联的多个解码顺序值的解码顺序将数据分组解码,其中客户端设备具有接收器缓冲器,用于存储至少一些数据分组以补偿服务器设备的传输量与客户端设备的数据使用量之间的差值。该软件产品包括:
一种代码,用于将解码顺序与已经被发送到客户端设备的数据分组的序列号联系;以及
一种代码,用于基于所述联系和由客户端设备提供的表示在客户端设备中将要被解码的下一个分组的信息,确定接收器缓冲器中的数据分组,从而允许服务器设备调整提供给客户端设备的流数据量以控制接收器缓冲器的水平。
附图说明
图1是表示典型的RTP分组的框图;
图2是表示典型的RTP报头的框图;
图3是表示具有可根据本发明执行速率适配方法的服务器设备和客户端设备的多媒体流系统的框图。
具体实施方式
本发明提供缓冲器水平信令(buffer level signaling)的方法以便允许多媒体流传输网络中的服务器在H.264的编解码器中执行速率配适,对于编解码器分组传输顺序不同于解码顺序。根据本发明的缓冲器水平信令方法是基于有关将要被解码的下一个单元的信息。将要被解码的下一个单元所属于的分组的序列号(SN)在这里称为NDSN。
在根据本发明的缓冲器水平信令的方法中,接收器向发送方报告将要被解码的下一个单元的信息。该单元是可在RTP有效载荷格式中定义的可识别解码单元。更特别地,可识别单元可由分组内的NDSN和单元号(NDU)标识。在音频编解码器的情况下,可识别编码单元通常是帧。在H.264编解码器的情况下,可识别解码单元是NAL(网络抽取层)单元。例如,将要被传递到解码器的下一个NAL单元是在具有SN=100的分组中发现的第三个NAL,则接收器将值100和2发送到发送方。
接收器基于最小的y值向发送方报告将要解码的下一个单元的信息。基于接收到的NDSN和NDU,服务器可识别下一个将被解码的单元。如此,发送方可导出接收器缓冲器的正确状态。利用在背景部分给出的一组x和y值,该实施可如下示出:
当分组x+4、x+5、x+6和x+7已被接收时,在这些分组中携带的单元的解码顺序是y+100、y+8、y+9、y+10、y+11、y+12、y+13和y+14。因此,分组x+4的第二单元具有y+8的最小解码顺序值。因此,将要被解码的下一个单元可被明确地通过属于的分组的SN(x+4)和相应的单元号(NDU=1)发送到发送方。接收器还总是设置HSN=x+7,因为这是最晚接收到的序列号。上面讨论的情况在表1中示出:
解码顺序值 | 接收器缓冲器的分组 | NDSN | HSN | NDU |
.........y+5y+6y+7y+8y+9y+10y+11......... | .........x+2、x+3、x+4x+3、x+4、x+5x+3、x+4、x+5x+4、x+5、x+6x+4、x+5、x+6x+4、x+5、x+6、x+7x+4、x+6、x+7、x+8......... | .........x+2x+3x+3x+4x+5x+5x+6......... | .........x+4x+5x+5x+6x+6x+7x+8......... | ...1011010... |
表1
注:当解码顺序值=y+6时,NDSN=x+3并且NDU=0;当解码顺序值=y+7时,NDSN=x+3并且NDU=1。
注:接收器缓冲器中的分组的一些数据单元可被解码并且从缓冲器中移去。然而,缓冲器中的每一个分组具有保留在缓冲器中的至少一个数据单元。
基于接收到的NDSN和NDU,发送方可获得关于哪些分组存在于接收器缓冲器中的精确估计,并且对于接收器缓冲器中的每个分组,哪些数据单元位于接收器缓冲器内。
在接收器侧:
-计算当前位于缓冲器中的编码单元的解码顺序(y值);
-找到将要被解码的下一个单元(具有最小y值的单元);以及
-发送将要被解码的下一个单元的单元号(NDU)和该单元所属于的下一个分组的序列号(称其为NDSN)。
在发送方侧:
-保留已被发送的单元列表(L)。对于每个单元保留其中单元被发送的分组的序列号(SN)、指示分组中单元的顺序的单元号以及单元号和顺序号到解码顺序号(即其y值)的映射的记录。
-在RTCP RR或SR报告中查找由接收器发送的NDU、NDSN和HSN;
-通过在L中查找其记录信息符合下面要求的所有单元,在接收器缓冲器中重构单元列表:
1)列表中的解码号高于映射到发送的NDSN和NDU的解码顺序,以及
2)序列号小于接收到的最高序列号(HSN)。
应该注意到当比较解码号和序列号时应当考虑到回绕。例如,由于RTP序列号在信令中是利用16比特表示的,被发送的最大值是65535。接着下一个值0实际上表示65536的序列号。
可选地,特定值也可用于NDU字段(例如如果字段是两个字节,则为0xFFFF)以便提供没有单元信息的信号。在这种情况下,仅单元所属于的分组的序列号被提供。服务器将不能精确地估计当前哪些单元位于接收器缓冲器内。
下面描述几个其它的实施:
实施1:
接收器基于最小的y值向发送方报告将要解码的下一个分组的信息。基于接收到的NDSN,服务器可识别将下一个被解码的分组。如此,发送方可导出接收器缓冲器的正确状态。利用在背景部分给出的一组x和y值,该实施可如下示出:
当分组x+4、x+5、x+6和x+7已被接收时,它们相应的解码顺序是y+100、y+101、y+4和y+5。因此,x+6具有y+4的最小解码顺序值。因此,将要被解码的下一个分组和相应的NDSN是x+6。接收器还总是设置HSN=x+7,因为这是最晚接收到的序列号。上面讨论的情况在表2中示出:
解码顺序值 | 接收器缓冲器的分组 | NDSN | HSN | 未解码的最小SN |
.........y+2y+3y+4y+5...... | .........x+2,x+3,x+4,x+5x+3,x+4,x+5,x+6x+4,x+5,x+6,x+7x+4,x+5,x+7,x+8...... | .........x+2x+3x+6x+7...... | .........x+5x+6x+7x+8...... | ...x+2x+3x+4x+4.. |
表2
注:当解码顺序值=y+3时,NDON=由分组x+3携带的NAL单元的DON;当解码顺序值=y+4时,NDON=由分组x+6携带的NAL单元的DON。
基于接收到的NDSN,发送方可获得关于哪些分组位于接收器缓冲器中的精确估计,因为它能够将序列号本地的映射到它们的解码顺序-发送方保留了序列号和这些序列号被映射到解码号的方式的列表。在这个示例中,发送方知道x+4具有高于x+7的解码顺序。这就可断定x+4位于缓冲器内并且确定哪些其它分组当前位于缓冲器内。
此外,发送方可通过可选播放延迟参数的信令得到更为精确的接收器缓冲器持续时间的测量。播放延迟定义为要解码的下一个分组的安排的播放时间和该分组(即,序列号NDSN的分组)的解码时间之间的差值。
因此实施1可总结如下:
在接收器侧:
-计算当前位于缓冲器内的分组的解码顺序(y值);
-找到将要被解码的下一个分组(具有最小y值的分组);以及
-发送将要被解码的下一个分组的序列号(称其为NDSN)。
在发送方侧:
-保留已被发送的分组序列号列表(L),以及从序列号到解码顺序的映射。
-在RTCP RR或SR报告中查找由接收器发送的NDSN和HSN;
-通过在L中查找其序列号满足下面要求的所有分组,在接收器缓冲器中重构分组列表:1)列表中与序列号关联的解码顺序高于映射到NDSN序列号的解码顺序,以及2)序列号小于接收到的最高序列号(HSN)。
实施2
关于实施1,如果使用MTAP(多时间聚集分组,在H.264有效载荷格式中定义),则还能存在不确定性。聚集分组类型用于将多个NAL(网络抽取层)单元聚集到单个的RTP有效载荷中。所有的NAL单元包括八位组类型的单个NAL单元,其还联合用作该RTP有效载荷格式的有效载荷报头。在MTAP中,NAL单元有效载荷包括16比特无符号解码号顺序基数(DONB)以及一个或多个多时间聚集单元。DONB必须以在MTAP的NAL单元之中的NAL单元解码顺序包括第一NAL单元的DON的值。由于这样的事实将出现问题,即来自不同帧的NAL可被包括在同一个RTP分组中并因此具有相同的SN。随后,当报告NDSN时,哪一些分组NAL将下一个被解码不是已知的。如果属于同一个分组的不同NAL之间的可能采样时间差是有限的,则实施1可导致缓冲器估计中的某些不精确性。当发送方分组化使得在同一个分组内的NAL的采样时间之间存在高的差值时,则根据实施1的估计可完全失败。
在实施2中,通过发送要解码的下一个NAL(NDON)的DON而不是序列号来解决该不确定性。
在实施1中所描述的那些相同的发送方和接收器算法可被使用。实施2和实施1不同之处在于发送NDON而不是NDSN(见表2下的注)。因此,实施2可总结如下:
在接收器侧:
-计算当前位于缓冲器内的NAL的解码顺序(y值);
-找到将要被解码的下一个分组(具有最小y值的分组);以及
-发送将要被解码的下一个分组的DON(称其为NDON)。
在发送方侧:
-保留已被发送的NAL的列表(L),对于每个NAL,保留其中NAL被发送的分组的序列号(SN)、它的DON值和从NAL到解码顺序的映射的记录;
-查找由接收器发送的NDON和HSN;以及
-通过在L中查找记录的信息符合下面要求的所有NAL,在接收器缓冲器中重构NAL列表:1)与L中的NAL关联的解码顺序高于映射到发送的NDON的解码顺序,以及2)序列号小于接收到的最高序列号(HSN)。
对于AMR(-NB,-WB和-WB+),DON的计算执行如下:
假设:
-对于以语音帧块“n”开始的交错组,ILL=L
-交错组的第一有效载荷分组是“s”,n的RTP序列号为“SN”
-每个有效载荷中携带的语音帧块的数目是N。
-第一AMR音频分组的序列号是“SN0”
AMR有效载荷(该交错组的第一分组)
ILL=L,ILP=0,
携带的帧块:n、n+(L+1)、n+2×(L+1)、...、n+(N-1)×(L+1)
有效载荷s+1(该交错组的第二分组)
ILL=L,ILP=1,
帧块:n+1、n+1+(L+1)、n+1+2×(L+1)、..、n+1+(N-1)×(L+1)
有效载荷s+L(该交错组的最后一个分组)
ILL=L,ILP=L,
帧块:n+L、n+L+(L+1)、n+L+2×(L+1)、n+1+(N-1)×(L+1)
下一个交错组将以帧块n+×(L+1)开始
在以语音帧块n开始的交错组中,在具有ILP=I的AMR有效载荷中,第i个AMR帧的解码顺序是:
DON(i)=(n+j)+i×(L+1)
其中
i=0,...,N-1并且是整数
j=0,...,L,并且是整数
n可基于ILL、N、初始和当前AMR有效载荷的序列号如下计算:
n=(Floor[(SN-SN0)/(L+1)])×N×(L+1)并且n是整数。
对于接收到的第一个AMR分组,第一个AMR帧的DON是零。由于客户端和服务器都知道第一个RTP序列号(服务器通过发送它,客户端通过检查RTSP PLAY响应和RTP信息报头的“seqnum”字段),因此将直接做出这样的标记。接着,每个AMR帧的DON将通过利用ILL、ILP和N来计算。
实施3
如H.264编解器中所定义的,当发送MTAP中的DON的值时,传送顺序中第一NAL单元的DON值可以被设置成任何值。DON的值包含在0到65535的范围内。在到达最大值之后,DON的值回绕到0。因此,结合实施2,DON可以回绕,这将在服务器处造成不确定性。这是因为DON字段具有比SN字段较小的比特并且DON可以是稀少的(发送方可以由于某种原因在连续的NAL之间使用高的DON增量)
在实施3中,接收器通过其中携带的分组SN和DON值来唯一地识别下一个NAL。因此,接收器发送携带下一个NAL单元的分组的序列号和表示下一个NAL单元的解码顺序的DON号到服务器。如果分组中没有其它的NAL,则DON不需要被发送。
实施3可总结如下:
在接收器侧:
-计算当前位于缓冲器内的NAL的解码顺序(y值);
-找到将要被解码的下一个分组(具有最小y值的分组);以及
-发送将要被解码的下一个分组的DON(称其为NDON)以及将要被解码的下一个分组的序列号(称其为NDSN)。
在发送方侧:
-保留已被发送的NAL的列表(L),对于每个NAL,保留其中NAL被发送的分组的序列号(SN)、它的DON值和从NAL到解码顺序的映射的记录;
-查找由接收器发送的NDON、NDSN和HSN;以及
-通过在L中查找记录信息符合下面要求的所有NAL,在接收器缓冲器中重构NAL列表:1)在L的NAL中关联的解码顺序高于映射到发送的NDON和发送的NDSN的解码顺序,以及2)序列号小于接收到的最高序列号(HSN)。
为了示出如何实施用于速率配适的缓冲器水平信令的方法,图3中示出了多媒体流系统。如图所示,多媒体流系统1具有用于从流客户端60发送缓冲器水平信令到流服务器10的装置。
流服务器10包括应用级信令引擎20、速率控制器20和服务缓冲器40。流客户端60包括应用级信令引擎70,相当于并且适合于与流服务器10中的应用级信令引擎20通信。其另外包括客户端缓冲器80,在图3示出的本发明的实施方式中,该客户端缓冲器80包括抖动缓冲器82和预解码缓冲器84,集成为单个的单元。在本发明的另一个实施方式中,流客户端60可包括分开实施的抖动缓冲器和预解码缓冲器。流客户端另外包括媒体解码器90、后解码缓冲器100、缓冲器控制器110和显示/播放设备120。
在图3中示出的系统另外表示出包括位于流服务器10和流客户端60之间的“信道缓冲器”50,表示发生在从流服务器到客户端的数据分组的传输期间的变化的传输延迟。
服务器的速率控制器30操作于将速率适配在媒体数据从流服务器发送的速率。服务器还具有用于对将要发送到客户端的分组添加时间戳的传输时钟32。其通过根据传输信道上变化的比特率调整发送数据速率来操作,考虑客户端对于传输时间偏移的请求,因此试图避免由于预编码缓冲器的下溢而导致客户端处的播放的中止或由于缓冲器溢出而导致在客户端丢弃分组。
在数据分组从流服务器通过传输信道发送到流客户端60之前,服务缓冲器40暂时地存储该数据分组。在“直播”的流传输方案中,其中数据分组被实时地采样,服务器缓冲器确实为物理的缓冲器,在此数据分组在采样时被置于其中并且在传输时被提取。在“预编码”流方案中,其中数据分组不是实时采样但存储在预编码文件中并且在传输时从该文件读取,服务器缓冲器是虚拟的缓冲器,其代表了数据分组的采样时间(当预编码文件的第一数据分组被发送时,参考在流服务器处启动的采样时钟)和传输时间之间的差值。
在流客户端处,来自传输信道的媒体数据被接收并且被缓冲在客户端缓冲器80中。预解码缓冲器84和抖动缓冲器82的参数由缓冲器控制器110设置。参数被选择做为几个推荐的预编码缓冲参数的聚集和由客户端估计所需的额外缓冲。客户端估计需要以容许在可用的传输信道上的期望的分组传输延迟变化(即,抖动)。这样的聚集受客户端最大缓冲能力的约束。媒体解码器90从客户端缓冲器中提取媒体数据并且以合适的方式对所述媒体类型的媒体数据解码。应该理解,通常媒体数据将包括多个不同的媒体类型。例如,如果从服务器发送的媒体数据代表视频序列,其除了视频数据以外可能包括至少音频分量。因此可以理解如图1中所示出的媒体解码器90实际上可包括多于一个的解码器,例如根据特定视频编码标准实施的视频解码器和关联的音频解码器。在媒体数据由媒体解码器90解码后,其被输出到后解码缓冲器100,其在此被暂时地存储直到其安排的播放时间,在这一点上其在缓冲器控制器110的控制下从后解码缓冲器传递到显示/播放缓冲器120。
根据本发明,缓冲器控制器110适于向应用级信令引擎70提供将被解码的下一个单元的指示。接着应用级信令引擎适于将关于要被解码的下一个单元的信息发送到流服务器,如图3中的标号300所表示出的。发送的信息指示出将要被解码的下一个单元的单元号(称为NDU)和该单元所属于的分组的序列号(称为NDSN)。在H.264有效载荷的情况下,该单元是NAL。如图1中所示,流客户端60具有软件程序112,该软件程序包括用于计算当前存在于缓冲器80内的编码的单元的解码顺序(y值)以及基于最小的y值确定将要被解码的下一个单元。基于该发现,应用级信令引擎70可发送下一个单元的单元号和该下一个单元所属于的分组的序列号到流服务器10。
为了执行该实施1、2和3,缓冲器控制器110适于向应用级信令引擎70提供将要被解码的下一个分组的指示。接着应用级信令引擎适于将关于要被解码的下一个单元的信息发送到流服务器,如图3中的标号300所表示。发送的信息可指示出关于将要被解码的下一个分组的序列号。在H.264有效载荷的情况下,发送的信息指示出下一个NAL的DON。可选地,携带下一个NAL和下一个NAL的DON的分组的序列号被发送到服务器。如图1中所示,流客户端60具有软件程序112,该软件程序包括用于计算当前存在于缓冲器80内的分组的解码顺序(y值)以及基于最小的y值确定将要被解码的下一个分组。基于该发现,应用级信令引擎70可发送将要被解码的下一个分组的序列号到流服务器10。
在服务器10处,软件程序36用于从单元SN列表34确定单元的列表或分组的列表以及由客户端60提供的信息。
应该注意到在上述的实施方式中,接收器发送将要被解码的下一个单元所属于的分组的SN以及单元号。可选地,接收器可发送将要被解码的下一个单元的时间戳来代替它的单元号。只要在同一个分组中每个单元具有不同的时间戳,则发送方可从发送的时间戳和序列号明确地识别出该单元。然而,在同一个分组中一些单元可能具有相同的时间戳。在这种情况下,该信令不会允许发送方与单元号的信令同样精确地导出接收器缓冲器状态的状态,其中最大估计误差为帧的数据量。
另外,除了交错有效载荷格式以外,H.26L还将解码顺序和输出顺序解耦合。换句话说,图片的解码顺序可以与它们的输出顺序不同。在先前的编码标准中,解码顺序和输出顺序仅针对所谓的B帧允许不同,对于B帧用于中间预测的两个参考帧被使用,输出顺序中的先前帧和跟随帧(即,解码顺序中的两个先前帧)。B帧没有用于版本5编解码器的任何配置文件中。在H.26L中解码顺序和输出顺序对于任何帧可以不同。这些还对估计缓冲器具有影响。然而,本发明适用于涉及B帧的解码,并且更一般地,适用于预测通路向后前进的情况。在这些情况下,任意时间帧从未来帧预测(在采样域中),接收器缓冲器持续时间将小于从OBSN和播放延迟信令所导出的持续时间。
至于利用RFC3640发送的AAC、AAC+和其它MPEG-4音频流,AU-Index和AU-Index-Delta参数为每一个音频接入单元或片断定义了唯一的索引号。DON完全与该索引相同。因此,本发明的实施2还适用于使用RFC3640发送的这些音频流方案。
尽管结合本发明的一个或多个实施方式对本发明进行了描述,但本领域的技术人员将理解可以做出本发明形式和详细的上述和各种其它的改变、省略和偏差而不会脱离本发明的范围。
Claims (56)
1.一种方法,用于在多媒体流传输网络中控制客户端中的接收器缓冲器的水平,该流传输网络包括用于向该客户端提供多个分组中的流数据的服务器,其中至少一些数据分组存储在该接收器缓冲器内以补偿该服务器的数据传输量与该客户端的数据使用量之间的差值,并且其中以基于与在该客户端中的播放顺序关联的多个解码顺序值的解码顺序将该分组解码,所述方法包括:
基于该解码顺序值在该客户端中确定在该接收器缓冲器的分组之中的将要被解码的下一个分组;以及
向该服务器发送表示将要被解码的所述下一个分组的信息,从而允许该客户端基于该信息调整提供给该客户端的该流数据量。
2.根据权利要求1所述的方法,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
3.根据权利要求2所述的方法,其中该每一个数据分组具有对于该客户端和该服务器都已知的序列号,并且其中被发送到该服务器的该信息表示将要被解码的下一个分组的该序列号。
4.根据权利要求2所述的方法,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端和该服务器都是已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
5.根据权利要求4所述的方法,其中该服务器保留已经被发送的单元的列表以及单元号和该发送的单元所属于的该分组的该序列号以及所述序列号和单元号之间到该解码顺序的映射的记录,以便基于所述映射确定在该接收器缓冲器中的该数据单元,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
6.根据权利要求4所述的方法,其中发送到该服务器的该信息另外表示了将要被解码的所述下一个单元的安排的播放时间与所述下一个单元的解码时间之间的差值。
7.根据权利要求3所述的方法,其中该服务器保留已经被发送的分组序列号的列表以及所述序列号和该解码顺序之间的映射,以便基于所述映射确定该接收器缓冲器内的该数据分组,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
8.根据权利要求3所述的方法,其中发送到该服务器的该信息另外表示将要被解码的所述下一个分组的安排的播放时间与所述下一个分组的解码时间之间的差值。
9.根据权利要求6或7所述的方法,其中发送到该服务器的该信息另外表示由该客户端接收到的最高序列号从而允许该服务器确定该接收器缓冲器内的该数据分组。
10.根据权利要求2所述的方法,其中该每一个单元具有时间戳并且该每一个数据分组具有对于该客户端和该服务器都已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
11.根据权利要求1所述的方法,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器的该信息表示与将要被解码的所述下一个NAL关联的该DON。
12.根据权利要求11所述的方法,其中该服务器保留已经被发送的NAL单元的列表以及所述NAL单元和该解码顺序之间的映射,以便基于所述映射确定该接收器缓冲器内的该数据分组,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
13.根据权利要求1所述的方法,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL解码顺序关联的DON的该数据分组的该序列号。
14.一种多媒体流传输网络,包括:
至少一个客户端;以及
用于向该客户端提供在多个分组中的流数据的服务器,其中该客户端包括:
接收器缓冲器,用于存储将要被解码的至少一些数据分组,以便补偿该服务器的数据传输量和该客户端的数据使用量之间的差值,并且其中以基于与在该客户端中的播放顺序关联的多个解码值的解码顺序将该分组解码,以及
一种机制,用于基于该解码顺序值向该服务器发送表示在该缓冲器的该分组之中的将要被解码的该下一个分组的信息,以便允许该服务器调整提供给该客户端的该流数据的速率。
15.根据权利要求14所述的流传输网络,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
16.根据权利要求14所述的流传输网络,其中该每一个单元具有对于该客户端和该服务器都已知的序列号,并且其中被发送到该服务器的该信息表示将要被解码的下一个分组的该序列号。
17.根据权利要求15所述的流传输网络,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端和该服务器都已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
18.根据权利要求17所述的流传输网络,其中该服务器保留已经被发送的单元的列表以及单元号和该发送的单元所属于的该分组的该序列号以及所述序列号和单元号之间到解码顺序的映射的记录,以便基于所述映射确定在该接收器缓冲器中的该数据单元,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
19.根据权利要求17所述的流传输网络,其中发送到该服务器的该信息另外表示将要被解码的所述下一个单元的安排的播放时间与所述下一个单元的解码时间之间的差值。
20.根据权利要求17所述的流传输网络,其中发送到该服务器的该信息另外表示由该客户端接收到的最高序列号从而允许该服务器确定该接收器缓冲器内的该数据分组。
21.根据权利要求15所述的流传输网络,其中该每个单元具有时间戳并且该每个数据分组具有对于该客户端和该服务器都已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
22.根据权利要求16所述的流传输网络,其中该服务器保留已经被发送的分组序列号的列表以及所述序列号和该解码顺序之间的映射,以便基于所述映射确定该接收器缓冲器内的该数据分组,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
23.根据权利要求16所述的流传输网络,其中发送到该服务器的该信息另外表示将要被解码的所述下一个分组的安排的播放时间与所述下一个分组的解码时间之间的差值。
24.根据权利要求22所述的流传输网络,其中发送到该服务器的该信息另外表示由该客户端接收到的最高序列号从而允许该服务器确定该接收器缓冲器内的该数据分组。
25.根据权利要求14所述的流传输网络,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器的该信息表示与将要被解码的所述下一个NAL关联的该DON。
26.根据权利要求25所述的流传输网络,其中该服务器保留已经被发送的NAL单元的列表以及所述NAL单元和该解码顺序之间的映射,以便基于所述映射确定该接收器缓冲器内的该数据分组,从而基于所述确定在该服务器中调整提供给该客户端的该流数据量。
27.根据权利要求24所述的流传输网络,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL的解码顺序关联的DON的该数据分组的该序列号。
28.一种多媒体流传输网络中的客户端设备,该流传输网络包括用于向该客户端设备提供多个分组中的流数据的服务器设备,其中以基于与在该客户端设备中的播放顺序关联的多个解码值的解码顺序将该分组解码,所述客户端设备包括:
接收器缓冲器,用于存储将要被解码的至少一些数据分组,以便补偿该服务器设备的数据传输量和该客户端设备的数据使用量之间的差值;以及
一种机制,用于基于该解码顺序值向该服务器设备发送表示在该接收器缓冲器的该分组之中的将要被解码的该下一个分组的信息,以便允许该服务器设备调整提供给该客户端设备的该流数据量。
29.根据权利要求28所述的客户端设备,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
30.根据权利要求29所述的客户端设备,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
31.根据权利要求29所述的客户端设备,其中该每个单元具有时间戳并且该每个数据分组具有对于该客户端和该服务器都已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
32.根据权利要求28所述的客户端设备,进一步包括:
具有可执行代码的软件程序以确定:
基于该解码顺序值的该接收器缓冲器中的该数据分组的该解码顺序,以及
基于该解码顺序值的该接收器缓冲器内的该数据分组之中的将要被解码的该下一个分组。
33.根据权利要求28所述的客户端设备,其中该每个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个分组的该序列号。
34.根据权利要求28所述的客户端设备,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器设备的该信息表示与将要被解码的所述下一个NAL关联的该DON。
35.根据权利要求28所述的客户端设备,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中发送到该服务器设备的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL的解码顺序关联的DON的该数据分组的该序列号。
36.一种服务器设备,用于在多媒体流传输网络中提供流数据,该多媒体流传输网络包括至少一个客户端设备,用于接收多个数据分组中的该流数据以及以基于与播放顺序关联的多个解码顺序值的解码顺序将该数据分组解码,其中该客户端设备具有接收器缓冲器,用于存储该至少一些数据分组,以补偿该服务器设备的数据传输量和该客户端设备的数据使用量之间的差值,所述服务器设备包括:
一种机制,用于基于该客户端设备中的该解码顺序值从该客户端设备接收表示在该接收器缓冲器的该分组之中的将要被解码的该下一个分组的信息;以及
一种软件程序,用于基于该信息确定该接收器缓冲器中的该分组,以调整提供给该客户端设备的该流数据量以便控制该接收器缓冲器的水平。
37.根据权利要求36所述的服务器设备,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
38.根据权利要求37所述的服务器设备,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
39.根据权利要求37所述的服务器设备,其中该每一个单元具有时间戳并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
40.根据权利要求36所述的服务器设备,其中该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中从该客户端设备接收到的该信息表示将要被解码的所述下一个分组的该序列号。
41.根据权利要求36所述的服务器设备,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中从该客户端设备接收到的该信息表示与将要被解码的所述下一个NAL关联的该DON。
42.根据权利要求36所述的服务器设备,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中从该客户端设备接收到的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL的解码顺序关联的DON的该数据分组的该序列号。
43.一种软件产品,嵌入到计算机可读介质中以便在多媒体流传输网络的客户端设备中使用,该流传输网络包括用于向该客户端设备提供多个分组中的流数据的服务器设备,其中以基于与在该客户端设备内的播放顺序关联的多个解码值的解码顺序将所述分组解码,并且其中该客户端设备包括接收器缓冲器,该接收器缓冲器用于存储将要被解码的该至少一些数据分组,以补偿数据传输之间的差值,该软件产品包括:
一种代码,用于基于该解码顺序值确定该接收器缓冲器中的该数据分组的该解码顺序;以及
一种代码,用于基于该解码顺序值确定该接收器缓冲器中的该数据分组之中的将要被解码的该下一个分组,从而向该服务器设备提供表示将要被解码的所述下一个分组的信息,允许该服务器设备基于该信息调整提供给该客户端设备的该流数据量,以控制接收器缓冲器的水平。
44.根据权利要求43所述的软件产品,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
45.根据权利要求44所述的软件产品,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
46.根据权利要求44所述的软件产品,其中该每一个单元具有时间戳并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
47.根据权利要求43所述的软件产品,其中该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中提供给该服务器设备的该信息表示将要被解码的所述下一个分组的该序列号。
48.根据权利要求43所述的软件产品,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中提供给该服务器设备的该信息表示与将要被解码的所述下一个NAL关联的该DON。
49.根据权利要求43所述的软件产品,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中提供给该服务器设备的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL解码顺序关联的DON的该数据分组的该序列号。
50.一种软件产品,嵌入到计算机可读介质中以便在多媒体流传输网络中提供流数据的服务器设备中使用,该多媒体网络至少包括客户端设备,用于接收多个数据分组中的该流数据并且以基于与播放顺序关联的多个解码顺序值的解码顺序将该数据分组解码,其中该客户端设备具有接收器缓冲器,用于存储该至少一些数据分组以补偿该服务器设备的传输量与该客户端设备的数据使用量之间的差值,所述软件产品包括:
一种代码,用于将该解码顺序与已经被发送到该客户端设备的该数据分组的该序列号联系;以及
一种代码,用于基于所述联系以及由该客户端设备提供的表示在该客户端设备中将要被解码的该下一个分组的信息,确定在该接收器缓冲器中的该数据分组,从而允许该服务器设备调整提供给该客户端设备的该流数据量以控制该接收器缓冲器的水平。
51.根据权利要求50所述的软件产品,其中该分组与包括将要被解码的该下一个单元的多个单元关联,并且其中将要被解码的该下一个分组是将要被解码的该下一个单元所属于的该分组。
52.根据权利要求50所述的软件产品,其中该每一个单元具有单元号并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该单元号以及所述下一个单元所属于的该分组的该序列号。
53.根据权利要求50所述的软件产品,其中该每一个单元具有时间戳并且该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中发送到该服务器设备的该信息表示将要被解码的所述下一个单元的该时间戳以及所述下一个单元所属于的该分组的该序列号。
54.根据权利要求50所述的软件产品,其中该每一个数据分组具有对于该客户端设备和该服务器设备都已知的序列号,并且其中由该客户端设备提供的该信息表示将要被解码的所述下一个分组的该序列号。
55.根据权利要求50所述的软件产品,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中由该客户端设备提供的该信息表示与将要被解码的所述下一个NAL关联的该DON。
56.根据权利要求50所述的软件产品,其中该数据分组携带多个网络抽取层(NAL)单元,每个NAL单元具有解码顺序和表示用于传输的有效载荷结构中的NAL单元解码顺序的解码顺序号(DON),并且其中由该客户端设备提供的该信息表示携带将要被解码的该下一个NAL的以及与所述下一个NAL的解码顺序关联的DON的该数据分组的该序列号。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/844,062 | 2004-05-12 | ||
US10/844,062 US7542435B2 (en) | 2004-05-12 | 2004-05-12 | Buffer level signaling for rate adaptation in multimedia streaming |
US10/901,015 | 2004-07-28 | ||
US10/901,015 US20050254499A1 (en) | 2004-05-12 | 2004-07-28 | Buffer level signaling for rate adaptation in multimedia streaming |
PCT/IB2005/001278 WO2005112367A1 (en) | 2004-05-12 | 2005-05-11 | Buffer level signaling for rate adaptation in multimedia streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1981492A true CN1981492A (zh) | 2007-06-13 |
CN1981492B CN1981492B (zh) | 2010-09-22 |
Family
ID=35309301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580019381.7A Active CN1981492B (zh) | 2004-05-12 | 2005-05-11 | 用于多媒体流中速率适配的缓冲器水平信令 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7542435B2 (zh) |
CN (1) | CN1981492B (zh) |
MY (1) | MY138660A (zh) |
TW (1) | TWI357243B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095366A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 流量控制方法及装置 |
CN103716114B (zh) * | 2012-09-28 | 2018-02-23 | 华为技术有限公司 | 数据传输业务中参数设置方法、终端和基站 |
CN113645192A (zh) * | 2021-07-16 | 2021-11-12 | 青岛小鸟看看科技有限公司 | Rtp数据包处理方法及装置 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974200B2 (en) * | 2000-11-29 | 2011-07-05 | British Telecommunications Public Limited Company | Transmitting and receiving real-time data |
JP2005503722A (ja) * | 2001-09-21 | 2005-02-03 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | 輻輳制御用に伝送レートを計算するためにバッファサイズの受領を用いるデータ通信方法とシステム |
EP1359722A1 (en) * | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | Data streaming system and method |
KR100759954B1 (ko) * | 2003-02-13 | 2007-09-19 | 노키아 코포레이션 | 멀티미디어 스트리밍에서 클라이언트 레이트 능력을시그널링하는 방법 |
US8089911B2 (en) | 2004-05-01 | 2012-01-03 | Neocific, Inc. | Methods and apparatus for cellular broadcasting and communication system |
EP1672865A1 (en) * | 2004-12-20 | 2006-06-21 | Alcatel | Network unit for exchanging a signal with priority, fragmentation and/or aggregation information |
WO2006096104A1 (en) * | 2005-03-07 | 2006-09-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Multimedia channel switching |
JP2006270696A (ja) * | 2005-03-25 | 2006-10-05 | Funai Electric Co Ltd | Av伝送システム |
JP4681044B2 (ja) * | 2005-04-11 | 2011-05-11 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データパケットの送信を動的に制御する技術 |
WO2006108435A1 (en) * | 2005-04-11 | 2006-10-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for controlling data packet transmissions of variable bit rate data |
CN101091390B (zh) | 2005-06-09 | 2011-01-12 | 桥扬科技有限公司 | 用于高功率效率的广播和通信系统的方法和设备 |
US7933294B2 (en) | 2005-07-20 | 2011-04-26 | Vidyo, Inc. | System and method for low-delay, interactive communication using multiple TCP connections and scalable coding |
US8289370B2 (en) * | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
US7701851B2 (en) * | 2005-07-20 | 2010-04-20 | Vidyo, Inc. | System and method for the control of the transmission rate in packet-based digital communications |
WO2007105618A1 (ja) * | 2006-03-14 | 2007-09-20 | Nec Corporation | バッファ制御方法、中継装置、通信システム |
TWI554053B (zh) * | 2006-05-11 | 2016-10-11 | Cfph股份有限公司 | 使用及管理電子檔案的方法和設備 |
US7779142B1 (en) * | 2007-01-23 | 2010-08-17 | Juniper Networks, Inc. | Bandwidth allocation to support fast buffering |
US20090125636A1 (en) * | 2007-11-13 | 2009-05-14 | Qiong Li | Payload allocation methods for scalable multimedia servers |
US20090259756A1 (en) * | 2008-04-11 | 2009-10-15 | Mobitv, Inc. | Transmitting media stream bursts |
JP5109787B2 (ja) * | 2008-05-02 | 2012-12-26 | 富士通株式会社 | データ伝送システム、プログラム及び方法 |
WO2010111261A1 (en) | 2009-03-23 | 2010-09-30 | Azuki Systems, Inc. | Method and system for efficient streaming video dynamic rate adaptation |
US8301794B2 (en) | 2010-04-16 | 2012-10-30 | Microsoft Corporation | Media content improved playback quality |
KR101721268B1 (ko) * | 2010-04-29 | 2017-03-29 | 한국전자통신연구원 | 광대역 근거리 무선 통신 장치 및 방법 |
WO2011136605A2 (ko) * | 2010-04-29 | 2011-11-03 | 한국전자통신연구원 | 광대역 근거리 무선 통신 장치 및 방법 |
US8521899B2 (en) * | 2010-05-05 | 2013-08-27 | Intel Corporation | Multi-out media distribution system and method |
WO2012050838A1 (en) | 2010-09-28 | 2012-04-19 | Neocific, Inc. | Methods and apparatus for flexible use of frequency bands |
US9253105B2 (en) * | 2010-12-30 | 2016-02-02 | Nokia Technologies Oy | Methods and apparatuses for facilitating determination of a state of a receiver buffer |
WO2012122246A1 (en) | 2011-03-10 | 2012-09-13 | Vidyo, Inc. | Dependency parameter set for scalable video coding |
US9319453B2 (en) * | 2011-07-15 | 2016-04-19 | Shmuel Ur | User-controlled download duration time |
US9313486B2 (en) | 2012-06-20 | 2016-04-12 | Vidyo, Inc. | Hybrid video coding techniques |
JP2014093655A (ja) | 2012-11-02 | 2014-05-19 | Sony Corp | 情報処理装置、情報処理方法及びプログラム |
TWI520590B (zh) * | 2012-12-17 | 2016-02-01 | 財團法人工業技術研究院 | 影音串流傳輸方法、影音裝置以及影音提供裝置 |
US9667959B2 (en) * | 2013-03-29 | 2017-05-30 | Qualcomm Incorporated | RTP payload format designs |
US9350781B2 (en) | 2013-05-31 | 2016-05-24 | Qualcomm Incorporated | Single network abstraction layer unit packets with decoding order number for video coding |
CN109889888B (zh) * | 2013-06-05 | 2022-04-01 | 太阳专利托管公司 | 再现方法、装置及生成方法、装置 |
GB2521104B (en) | 2013-08-28 | 2017-05-31 | Metaswitch Networks Ltd | Data processing |
JP6580380B2 (ja) * | 2015-06-12 | 2019-09-25 | オリンパス株式会社 | 画像処理装置および画像処理方法 |
WO2020053477A2 (en) * | 2018-09-12 | 2020-03-19 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5543853A (en) | 1995-01-19 | 1996-08-06 | At&T Corp. | Encoder/decoder buffer control for variable bit-rate channel |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US6292834B1 (en) * | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
US6175871B1 (en) * | 1997-10-01 | 2001-01-16 | 3Com Corporation | Method and apparatus for real time communication over packet networks |
EP1058997A1 (en) * | 1999-01-06 | 2000-12-13 | Koninklijke Philips Electronics N.V. | System for the presentation of delayed multimedia signals packets |
FI113124B (fi) * | 1999-04-29 | 2004-02-27 | Nokia Corp | Tiedonsiirto |
US20030023746A1 (en) * | 2001-07-26 | 2003-01-30 | Koninklijke Philips Electronics N.V. | Method for reliable and efficient support of congestion control in nack-based protocols |
US7047308B2 (en) * | 2001-08-31 | 2006-05-16 | Sharp Laboratories Of America, Inc. | System and method for simultaneous media playout |
US20030236904A1 (en) * | 2002-06-19 | 2003-12-25 | Jonathan Walpole | Priority progress multicast streaming for quality-adaptive transmission of data |
RU2332705C2 (ru) | 2002-07-16 | 2008-08-27 | Нокиа Корпорейшн | Способ предоставления возможности компенсации задержки передачи пакетов при потоковой передаче мультимедийных данных |
FI116498B (fi) | 2002-09-23 | 2005-11-30 | Nokia Corp | Kaistanleveyden mukauttaminen |
US7190670B2 (en) | 2002-10-04 | 2007-03-13 | Nokia Corporation | Method and apparatus for multimedia streaming in a limited bandwidth network with a bottleneck link |
SG111978A1 (en) * | 2002-11-20 | 2005-06-29 | Victor Company Of Japan | An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control |
KR100759954B1 (ko) | 2003-02-13 | 2007-09-19 | 노키아 코포레이션 | 멀티미디어 스트리밍에서 클라이언트 레이트 능력을시그널링하는 방법 |
CN100568964C (zh) * | 2003-02-18 | 2009-12-09 | 诺基亚有限公司 | 图像解码方法 |
KR100711635B1 (ko) * | 2003-02-18 | 2007-04-25 | 노키아 코포레이션 | 화상 부호화 방법 |
US20050008240A1 (en) * | 2003-05-02 | 2005-01-13 | Ashish Banerji | Stitching of video for continuous presence multipoint video conferencing |
US20050201471A1 (en) * | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
US8018850B2 (en) * | 2004-02-23 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
-
2004
- 2004-05-12 US US10/844,062 patent/US7542435B2/en active Active
- 2004-07-28 US US10/901,015 patent/US20050254499A1/en not_active Abandoned
-
2005
- 2005-05-09 TW TW094114823A patent/TWI357243B/zh active
- 2005-05-10 MY MYPI20052096A patent/MY138660A/en unknown
- 2005-05-11 CN CN200580019381.7A patent/CN1981492B/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716114B (zh) * | 2012-09-28 | 2018-02-23 | 华为技术有限公司 | 数据传输业务中参数设置方法、终端和基站 |
WO2016095366A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 流量控制方法及装置 |
CN113645192A (zh) * | 2021-07-16 | 2021-11-12 | 青岛小鸟看看科技有限公司 | Rtp数据包处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20050254427A1 (en) | 2005-11-17 |
CN1981492B (zh) | 2010-09-22 |
US20050254499A1 (en) | 2005-11-17 |
US7542435B2 (en) | 2009-06-02 |
TW200607280A (en) | 2006-02-16 |
TWI357243B (en) | 2012-01-21 |
MY138660A (en) | 2009-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1981492B (zh) | 用于多媒体流中速率适配的缓冲器水平信令 | |
KR101449710B1 (ko) | 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법 | |
RU2601442C2 (ru) | Способ и устройство передачи/приема мультимедиа-содержимого в системе мультимедиа | |
US7920492B1 (en) | Devices, softwares and methods for redundantly encoding a data stream for network transmission with adjustable redundant-coding delay | |
JP4980567B2 (ja) | 動的なネットワーク損失状態に対する簡単な適応を備えたマルチメディアサーバ | |
US7447983B2 (en) | Systems and methods for decoding forward error correcting codes | |
US8127040B2 (en) | Signaling buffer parameters indicative of receiver buffer architecture | |
EP2058968A1 (en) | Method and apparatus for FEC encoding and decoding | |
US20100064054A1 (en) | Remote fast forward and rewind functionality for client devices | |
KR20070114308A (ko) | 스트리밍 배달의 버퍼링 | |
KR20120042833A (ko) | 역방향의 강력한 헤더 압축 수신기 | |
CN100521646C (zh) | 计算每个流的可用带宽和比特流协调的发送多数据流的数据通信方法和系统 | |
CN101103566B (zh) | 传送数据流的方法和装置、接收方法和接收器 | |
JP2008199606A (ja) | ネットワークジッターを測定するメディアレートを検出する方法 | |
JP2007028241A (ja) | 映像符号化・送信装置,映像符号化・送信方法,映像符号化・送信プログラムおよびその記録媒体 | |
WO2009155871A1 (zh) | 一种数据包处理方法、装置和系统 | |
WO2009099357A1 (en) | Method and device for transport delay analysis | |
Yahia et al. | When HTTP/2 rescues DASH: Video frame multiplexing | |
CN1197256C (zh) | 通信系统,发射机,保护传输差错的方法 | |
JP2005033556A (ja) | データ送信装置、データ送信方法、データ受信装置、データ受信方法 | |
CN104025605A (zh) | 用于多媒体内容的复用流传输的系统和方法 | |
KR100865955B1 (ko) | 멀티미디어 스트리밍의 속도 적응을 위한 버퍼 레벨시그널링 | |
Belda et al. | Hybrid FLUTE/DASH video delivery over mobile wireless networks | |
CN101984667B (zh) | 码率控制方法及码率控制器 | |
US20120144443A1 (en) | System and method for executing source buffering for multiple independent group transmission of real-time encoded scalabe video contents |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160206 Address after: Espoo, Finland Patentee after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Patentee before: Nokia Oyj |