流传送中的缓存的制作方法

文档序号:7636703阅读:127来源:国知局
专利名称:流传送中的缓存的制作方法
技术领域
本发明涉及緩存用于从传输设备到接收设备的传输的媒体流的 包。本发明还涉及系统、传输设备、接收设备、服务器、无线通信 系统、信号、网关设备和计算机程序产品。
背景技术
诸如音频信号、视频信号、静止图像等媒体信息的传输通常是 基于封包化的,即将待传输的信息构成包。然后,将该包作为一个或多个包流进行传输。可以作为RTP(实时协议)包或者作为不必是 RTP包的其他协议的包传输包流。在传输期间,出于某些原因丟失一 些包是可能发生的。例如,可以削弱承载包流的信号并且引起包流 丢失的干扰可以影响传输信道。在传输阶段,对包流添加一些可以 在接收阶段用以恢复丢失的包的错误恢复信息是可能的。 一个已知 的方法是基于前向纠错(FEC),其中将携带错误恢复信息的额外的 包插入到包流中。在此描述中,这样额外的包被称作修理包,即携 带错误恢复信息的包。在应该由修理包保护的那些包的基础上组成 修理包。例如,在包的数据上执行按位X0R操作并且将计算的FEC 值封包以组成修理包。修理包和在组成修理包中4吏用的包组成FEC 块。因此,包括在FEC块中的任何包的包丟失可以通过使用相同的 FEC块的修理包信息恢复。也可以在所谓的协议栈的不同层上应用封包化。众所周知的0SI 模型描述了七层结构,其中物理层在底部并且应用层在协议栈的顶 部。0SI模型的其他层是物理层之上的数据链路层、网络层、传输层、 会话层和应用层之下的表示层。RTP包可以被看作应用层的包(因此, 在此情况下,应用层可以被称作"RTP层")。 很多视频通信系统提供用于数据传输速率和緩存的控制装置。 在 一 对 一 系统中,接收者可以将它的緩冲器占用状态发送到起始者, 然后,其可以相应地调整传输速率(例如,在3GPP分组-交换流中 采用的速率)。在单向系统中,通常传输的流必须符合接收器的已 知緩存模型。包括指定接收者緩存模型的緩存系统的示例包括MPEG-2系统、3GPP分组-交换流的附录G ( 3GPP技术规范26. 234 ) 和3GPP多J 某体广播/多播系统(MBMS, 3GPP才支术规范26.346 )。发 送者必须保证传输的流符合緩存模型,即不引起缓冲器的下溢或上 溢。接收者应该能够接收有效流并且可以使用虚拟緩冲器模型的緩 冲器大小用于实际緩冲器的分配。图2中的框图描述了用于DVB-H上的IP数据广播的简化系统。 内容服务器向IP封装器提供IP网络上的多媒体内容。IP封装器将 MPEG-2传输流顶部上的IP流封装,通过DVB-H网络将其传递到4妄收 终端。在图7中,描述了 DVB网络701中的々某体传输的一个示例。在 DVB系统中,多路复用702是多路复用集中的并且承载在一个传输流 上的DVB服务703的集合。可以在DVB网络701中传输不同多路复 用702的传输流。包括DVB服务的组件(例如视频组件、音频组件、 文本组件)作为每个承载一个DVB服务703的一个组件的数据的基 本流704。可以将DVB服务的组件封装为包含IP数据包的IP (因特 网协议)流705。对于DVB系统,已经引入所谓的多协议封装(MPE )。试图将MPE 用于将网络层(0SI-模型层3)数据报(IP包)编码成为传输流。 通常将每个IP数据才艮编码成单个MPE段。单个基本流可以包含多个 MPE段流。承载MPE段的基本流也可以承载纠错数据,即用于支持 MPE段净荷上的数据包的纠错的MPE FEC史。MPE段可以被看作OSI 协议栈的数据链路层的包。某些视频编码标准中的假设参考解码器(HRD)被用于检验产生 的比特流是否符合标准以及解码器是否产生符合标准的输出。要求
符合标准的解码器能够输入符合HRD的流。使用HRD阻止"不利的" 比特流,即它制约根据存储器使用和计算复杂性两者的解码器中的 资源消耗。到HRD的输入是不变的比特率或者0的分段函数和不变 的比特率。还使用HRD以允许视频比特率波动,其几乎能够允许恒 定的图片速率和质量。当以多路复用的方式发送媒体流时,虚拟多路复用分离器必须 与虚拟媒体解码器的要求兼容。否则,不能保证对于媒体解码器緩 冲器模型的兼容性。MPE FEC帧的FEC解码需要接收终端中的初始緩存(从MPE FEC 帧的第一包的接收直到媒体解码的开始),因为如果当接收了第一 包时接收器立刻开始解码源RTP包(即媒体RTP包),则任何丢失 的源RTP包将在解码中引起延迟直到接收到MPE FEC帧的修理列。 因而,这将相应地引起回放暂停。而且,如以下内容解释的,较少暂停回i文可以要求第一MPEFEC 帧接收之外的额外的初始緩存。假设t。, (n)是传输顺序中索引n的 MPE FEC帧的第一比特的接收时间,并且假设ta/ (n)是MPE FEC帧的 最后比特的接收时间。而且假设b ( n )是MPE FEC帧n内媒体流的 RTP净荷中比特的数量,并且r (n)是媒体流的比特率(其被用于 HRD符合性的确认)。如果,对于n的所有取值,b( n )/ r( n )= t 。, (n+1) -t。,(n),那么初始緩存持续时间将总是0。然而,由于某些下列原因 将不会出现该情况第一,打孔(每MPE FEC帧的"媒体"列的数量)、FEC码率(每 MPE FEC帧的FEC列的数量)和填充的量可以改变。第二,时间片突发的调度可以没有上面方程中要求的精确,但是很第三,基本流和时间片可以包含来自于多IP流的包。符合用于时 间片内每个IP流的精确比特预算对于诸如视频的可变比特率媒体是具 有挑战性的目标。总而言之, 一个MPE FEC帧的初始緩存完全不是保证无暂停解码
和回放的充分条件。因此,发送器必须给接收器允许初始缓存足够 的但不是耗尽的量的信息。ETSI EN 301 192 vl. 4. 1的13节指定了用于DVB数据广播的解 码器模型。该模型由传输缓冲器和可选的主缓冲器组成。传输缓沖 器是小(512字节)缓冲器以移除MPEG-2 TS包的副本。使用主缓冲 器平滑比特率以适合媒体解码器。主缓冲器的操作可以通过指定 MPEG-2系统的smoothing —buffer —descriptor语法结构中的输出字 节速率来控制。然而,在主缓沖器中不存在信号通知并且应用初始 缓存延迟的机制,并且因此主缓冲器不适合与MPE FEC解码结合使 用。由于DVB-H IP数据广播是多播/广播服务,新的接收器可以在 流的中间"收听",即新的接收器可以在比传输了流的第一包较晚 的时间开始接收该流。最佳的(最小的)初始缓存延迟通常不是恒 定地遍布该流。FEC解码缓冲器的大小如上所示,^接收的用于MPE FEC帧的包必须在可以开始FEC包 的解码之前缓存。在此描述中,这样的缓冲器被称作FEC解码缓冲 器。FEC解码缓冲器的缓冲器占用水平除其他因素之外取决于1) 基本流的传输调度、2)在开始清空缓沖器之前初始缓存的量、3) 在FEC解码缓冲器内部建立FEC矩阵的方法、以及4 )从FEC解码缓 冲器输出数据的速率。最大缓冲器占用水平确定用于流的需要的缓 沖器大小。很明显,在不同的接收设备实现方式中,彼此相比较, 可以不同地实现FEC解码和相关缓存。例如,播放器可以具有用于 输出速率处理的不同方法-只要缓冲器"下游"(例如,解码器输入 缓冲器)允许, 一个设备就可以从FEC解码缓冲器推出数据,并且 当解码需要下一片数据时,另 一 个设备可以及时从FEC解码缓冲器 抽出数据。因此,在不同实现方式中,最大缓冲器占用水平可以改 变,并且因而在不是虚拟缓冲器模型的情况下,确定所需要的特殊 流的FEC解码缓沖器大小是有问题的。
当执行FEC解码和传输调度时,解码器和传输器还应该知道所支持的所有接收器的FEC解码緩沖器大小。 发明内容本发明在媒体流中实现了虚拟解码器緩存模型。可以使用该模型 确定对于接收器/解码器能够处理至少所有虚拟模型能够处理的流 的最小要求。解码器和传输器使用虚拟解码器緩存模型以检验传输 的流没有在虚拟解码緩冲器中引起上溢和下溢。此申请中呈现的緩存模型包含两个緩沖器, 一个用于MPE-FEC 帧的解封装和虚拟FEC解码,并且另一个用于消除由FEC解码的突 发输出引起的数据速率变化。根据本发明的第 一 方面,提供一种用于緩存媒体流的包的方法, 包括-在流生成器中从至少 一种媒体信息组成媒体包;-在将要传输的媒体包的基,础上生成至少 一 个传输帧; -从至少 一 个传输帧组成将要传输的包;-生成用于将要传输的包的传输调度;并且 -根据传输调度执行虚拟解码的第一步骤,包括-将根据传输调度将要传输的包緩存到第 一虚拟解码緩冲器; 以及-在传输帧的基础上从第一虚拟解码緩冲器输出包; -执行虚拟解码的第二步骤,包括-緩存在从第 一虚拟解码緩冲器的输出的基础上所组成的包; -通过控制以下内容的至少 一个来控制第 一虛拟解码緩冲器和第 二虚拟解码緩沖器的緩冲器占用水平 -流生成器的操作; -至少一个传输帧的生成; -传输调度。根据本发明的第二方面,提供一种用于緩存用于从传输设备到接
收设备的传输的媒体流的系统,该传输设备包括-第 一封包器,用于从媒体流的至少 一种媒体信息中组成媒体包;-帧生成器,用于在将要传输的媒体包的基础上生成至少一个传输帧;-第二封包器,用于从至少一个传输帧组成将要传输的包;以及-调度器,用于生成用于将要传输的包的传输调度;以及 -虚拟解码器,用于在根据传输调度的传输期间执行虚拟解码, 包括-第一虚拟解码缓沖器,用于緩存根据传输调度将要传输的包;-输出,用于在传输帧的基础上从第一虚拟解码緩冲器输出包;-第二虚拟緩沖器,用于緩存在来自第 一虚拟解码緩冲器的 输出的基础上形成的包;以及-控制器,用于通过控制以下内容的至少一个来控制第一虚 拟解码緩冲器和第二虚拟解码緩冲器的緩冲器占用水平 流生成器的操作; 至少一个传输帧的生成; 传输调度。根据本发明的第三方面,提供一种传输设备,该传输设备包括用 于緩存用于从传输设备到接收设备的传输的媒体流的緩沖器,该传 输设备还包括-流生成器,包括-第 一封包器,用于从媒体流的至少 一种媒体信息中组成媒 体包;-帧生成器,用于在将要传输的媒体包的基础上生成至少一 个传输帧; -第二封包器,用于从至少 一 个传输帧组成将要传输的包;以及-调度器,用于生成用于将要传输的包的传输调度;以及 -虚拟解码器,用于在根据传输调度的传输期间执行虚拟解码, 包括-第一虚拟解码緩冲器,用于緩存根据传输调度将要传输的 包;以及-输出,用于在传输帧的基础上从第一虛拟解码緩冲器输出包;_第二虚拟緩冲器,用于緩存在来自第 一虛拟解码緩冲器的 输出的基础上形成的包;以及-控制器,用于通过控制以下内容的至少一个来控制第一虚 拟解码緩冲器和第二虚拟解码緩冲器的緩沖器占用水平 流生成器的操作; 至少一个传输帧的生成; 传输调度。根据本发明的第四方面,提供一种无线通信设备,该无线通信 设备包括用于緩存用于从无线通信设备到接收设备的传输的媒体流 的緩冲器,该无线通信设备还包括 -流生成器,包括-第 一封包器,用于从媒体流的至少一种媒体信息中组成媒 体包;-帧生成器,用于在将要传输的媒体包的基础上生成至少一 个传输帧;-第二封包器,用于从至少一个传输帧组成将要传输的包;以及-调度器,用于生成用于将要传输的包的传输调度;以及 -虚拟解码器,用于在根据传输调度的传输期间执行虚拟解码, 包括 -第一虚拟解码緩冲器,用于緩存根据传输调度将要传输的包;以及-输出,用于在传输帧的基础上从第 一虚拟解码緩冲器输出包;-第二虚拟緩沖器,用于緩存在来自第一虚拟解码缓冲器的输出的基础上形成的包;以及-控制器,用于通过控制以下内容的至少 一个来控制第 一虚 拟解码緩冲器和第二虚拟解码緩冲器的缓冲器占用水平 流生成器的操作; 至少一个传输帧的生成; 传输调度。根据本发明的第五方面,提供一种服务器,该服务器包括用于 緩存用于从服务器到接收设备的传输的媒体流的緩冲器,该服务器 还包括-流生成器,包括-第 一封包器,用于从媒体流的至少 一种媒体信息中组成媒 体包;-帧生成器,用于在将要传输的媒体包的基础上生成至少一 个传输帧;-第二封包器,用于从至少一个传输帧组成将要传输的包;以及-调度器,用于生成用于将要传输的包的传输调度;以及 -虚拟解码器,用于在根据传输调度的传输期间执行虚拟解码, 包括-第一虚拟解码緩冲器,用于緩存根据传输调度将要传输的 包;以及-输出,用于在传输帧的基础上从第一虚拟解码緩冲器输出包;-第二虛拟緩冲器,用于緩存在来自第一虛拟解码緩冲器的输出的基础上形成的包;以及-控制器,用于通过控制以下内容的至少一个来控制第 一虚 拟解码緩冲器和第二虚拟解码緩冲器的緩冲器占用水平 流生成器的操作; 至少一个传输帧的生成; 传输调度; -传输器,用于将包传输到接收设备。根据本发明的第六方面,提供一种多媒体广播/多播服务服务 器,该多媒体广播/多播服务服务器包括用于緩存用于从服务器到接 收设备的传输的媒体流的緩冲器,该服务器还包括 -流生成器,包括-第 一封包器,用于从媒体流的至少一种媒体信息中组成媒 体包;-帧生成器,用于在将要传输的媒体包的基础上生成至少一 个传输帧;-第二封包器,用于从至少 一个传输帧组成将要传输的包;以及-调度器,用于生成用于将要传输的包的传输调度; -虚拟解码器,用于在根据传输调度的传输期间执行虚拟解码, 包括-第一虚拟解码緩沖器,用于緩存根据传输调度将要传输的 包;以及-输出,用于在传输帧的基础上从第一虚拟解码緩冲器输出包;-第二虚拟緩冲器,用于緩存在来自第 一虛拟解码緩冲器的 输出的基础上形成的包;以及-控制器,用于通过控制以下内容的至少一个来控制第 一虚 拟解码緩冲器和第二虚拟解码緩沖器的緩冲器占用水平 流生成器的操作; 至少一个传输帧的生成; 传输调度;-传输器,用于传输包作为多媒体广播/多播服务。 根据本发明的第七方面,提供一种接收设备,该接收设备用于 接收具有传输调度并且包括从其已经组成传输的包的至少一个传输 帧,所述至少 一 个传输帧包括在媒体流的至少 一种媒体信息的基础上组成的媒体包,该接收设备包括-接收器,用于接收传输的包,该传输的包包括在该包的接收的开始除用于延迟包的解码的初始緩存量的信息; -第一解包器,用于从接收的包重建媒体包; -緩冲器,用于緩存媒体包信息; -解码器,用于解码媒体包的媒体信息;以及 -控制器,用于根据初始緩存量的信息延迟解码。 根据本发明的第八方面,提供一种与媒体流相关的信号,包括在媒体流的至少 一 种媒体信息的基础上组成的媒体包,媒体包包括在至少一个传输帧中,从传输帧已经组成将要传输的具有传输调度的包,其中信号包括在接收媒体流的开始处用于延迟包的解码的这 样初始緩存量的信息,以使得在任何传输帧中的媒体流的每个媒体 包在其解码时间或者在其解码时间之前可用。根据本发明的第九方面,提供一种计算机程序产品,包括计算 机程序,该计算机程序产品包括当在机器上执行时用于通过以下步 骤緩存媒体流的包的机器可执行步骤-在传输设备的流生成器中,从至少 一种媒体信息组成媒体包;-在将要传输的媒体包的基础上生成至少一个传输帧;-将要传输的包由至少 一 个传输帧组成;-生成传输调度用于将要传输的包;-根据传输调度执行虚拟解码的第 一 步骤,包括机器可执行步骤-将根据传输调度将要传输的包緩存到第一虚拟解码緩冲
器;以及-在传输帧的基础上从第一虚拟解码緩冲器输出包; -执行虚拟解码的第二步骤,包括-緩存在从第一虚拟解码緩沖器输出的基础上所组成的包; -通过控制以下内容中的至少一个来控制第 一虚拟解码緩冲器 和第二虚拟解码緩沖器的緩沖器占用水平-流生成器的操作;-至少一个传输帧的生成;-传输调度。


在以下内容中,将参考其中的附图更加详细地描述本发明 图1描述了根据本发明的示例性实施例的系统, 图2示出了用于DVB-H上的IP广播的简化系统, 图3示出了 MPE-FEC帧的结构,图4以简化的框图示出了根据本发明的示例性实施例的传输设备,图5示出了计算RSDT的过程,图6描述了根据本发明的示例性实施例的系统中的緩存模型,以及图7描述了 DVB网络中的媒体传输的示例。
具体实施方式
在下文中,参考图1和图6,根据本发明的示例性实施例更详细 地描述系统。图1的系统包括传输设备1、传输信道2和接收设备3。 传输设备1可以例如是服务器、无线通信设备、个人计算机等。接 收设备3可以例如是无线通信设备、个人计算机、TV等。传输设备l包括用于从一个或多个DVB服务703(包含媒体组件 或者其他IP流)组成传输流702的流生成器1. 0。在此实施例中,流生成器1.0包括当必要时用于编码媒体信息的编码器1.1、RTP/UDP/IP封包器1. 2、多协议封装器L3、 FEC编码緩冲器1.4、 FEC编码器块1.6、和传输调度块1.8。编码器l.l创建数据流Dl, 其包含编码的比特流。将数据流Dl传输到封包器1. 2,其中根据格 式的净荷规范将数据流Dl封装在IP数据报净荷R2中。接下来,在 多协议封装器块1. 3中进一步处理这些源IP数据报(图1中的数据 流D2 ),其通过将源IP数据报D2封装成帧的MPE段结构来组成MPE 段。MPE段(数据流D3)存储在FEC编码緩冲器1. 4中。为了支持丢失的传输包的错误恢复,必须组成必需的错误恢复 信息。在此实施例中,以下列方式组成修理包。FEC编码器块1.6 在这些MPE段上计算纠错代码并且组成用于包含用于源IP数据报D2 的纠错代码的》f理包的MPE-FEC #爻。MPE-FEC段(数据流D6 )也存 储在FEC编码緩冲器1.4中。传输调度块1.8决定用于传输MPE段包的步长。DVB-H上的IP 数据广播通常应用时间片,其中在突发中传输基本流以便当接收器 接收不到突发时利用控制信号保持不活动状态。如果使用等于媒体 解码比特率的比特率传输了数据,则以相比于需要的比特率高得多 的比特率发送该突发。比较于其中无线接收器一直保持活动状态的 接收器,时间片可以达到相当的电源消耗节省。包调度器1. 8控制MPE段包的输出以便根据在使用中的调度处 理,将在合适的时机传输每个MPE段包。MPE段包可以是这样的顺序, 例如,在传输一个或多个修理包块之前传输一个FEC块的所有的源 MPE段包。然而,显然排序可以不同于应用的。例如,源MPE段包和 修理包可以是交叉的。包调度器1. 8将MPE段包作为MPEG-2传输流(TS )的包进行传 输。换句话说,将MPE段包分割成MPEG-2传输流包。当执行必需的 传输协议转换时,可以通过同样公知的设备1的传输器1. 13将包传 输到传输信道2。传输可以是无线或者有线传输或者有线和无线传输 两者都可以应用在传输路径的不同链路中。传输信道可以包括 一 个
或多个通过其传输包流的节点、基站等。传输信道和传输方法的细 节同样是公知的并且不必在此更详细地描述它们。在执行调度处理过程之后不必传输包,但是包也可能存储在存 储器中,例如作为文件。该文件也可以与额外的信息一起被包括。在根据本发明的系统中,还将MPEG-2传输流包传输到虚拟解码器1.9 (数据流D9a)。在此描述中,稍后更详细地描述虚拟解码器 1. 9的操作。虛拟FEC解码器可以控制传输调度的步长、创建的修理 包(每个FEC块)的数量和每个FEC块中源MPE段包的数量(IP数 据报)。这些操作在图1中使用虚线指示。在以下内容中,更详细地描述设备3的操作。接收器3. 1接收 承载传输的包流的信号并且执行需要的解调操作,其中接收器3.1 向接收调度块3. 2输出解调信息。接收调度块3. 2确定何时打开接 收器接收希望的时间片突发。在接收调度块3.2中,解调信息被转 换成MPE段包流。当必要时,接收调度块3. 2可以执行某些协议转 换和解密操作,以重建MPE段包流(数据流D13)。接收调度块转发 MEP段到FEC解码l爰冲器3. 4。如果在FEC块中至少存在一个缺失的源包,则接收设备3将试 图如下纠正丟失FEC解码器3.6使用合适的FEC解码算法以重新生 成丢失的源MPE段并且将它们存储回到FEC解码緩冲器3.4。多协议解封装块3. 7从FEC解码緩冲器3. 4取回MPE段包。在 多协议解封装块3. 7中,通过获得MPE段的净荷组成RTP/UDP/IP包, 并且如果需要,从若干MPE段重新组装RTP/UDP/IP包。在此操作之 后,RTP/UDP/IP数据报包流(数据流D19)符合媒体格式的净荷规 范并且可以被传输到解封包器3. 8。解封包器3. 8对RTP/UDP/IP数据报包流D19解封包并且根据媒 体格式的媒体净荷规范将净荷从源RTP/UDP/IP数据报包中分离出 来。这构成比特流或应用数据单元(ADU,数据流D20)的流。应用 数据单元是媒体编码格式的基本单元,例如H. 264/AVC编码标准或 者编码音频框架的网络抽象层(NAL)单元。那么,可以将媒体比特 流或者ADU.的流解码用于进一步的处理。 虚拟解码器在以下内容中,将更详细地描述虚拟FEC解码器1.9的#:作。 虚拟接收器包含图6中描述的緩冲器。在此,认为虛拟FEC解码器 由传输緩冲器611、多协议解封装緩沖器612和RTP解封装緩冲器 613组成。认为虚拟媒体解码器由编码数据緩冲器614和解码数据緩 冲器615组成。传输緩冲器611 (图6)接收MPEG-2 TS包并且移除任何复制的 包。它的操作类似于在ETSI EN301 192和MPEG-2系统中所描述的。 多协议解封装緩冲器612用于虚拟FEC解码和MPE段到IP数据报的 解封装。RTP解封装緩沖器613用于RTP和RTP净荷报头的解封装并 且用于平滑时间片的突发性质以稳定用于媒体解码器的比特率输 入。在媒体解码器规范中指定了编码数据緩冲器614和解码数据緩 冲器615。每个MPEG-2 TS多路复用702有一个传输緩沖器611,每个基 本流704有一个多协议解封装緩冲器612,每个IP流705有一个RTP 解封装緩冲器613,每个IP流内承载的基本媒体流有一个编码数据 緩沖器614,以及通常每个IP流内承载的基本媒体流有一个解码数 据緩沖器615。下面描述多协议解封装緩冲器612和RTP解封装緩冲器613。 多协议解封装(MPD)緩冲器模型应用于承载IP流705的时间 片基本流704。时间片的时间分片(time-slicing)元素和FEC标识符描述符的值可以等于时间分片的基本流的值。如下指定MPD緩沖器模型。MPD緩冲器612初始是空的。数据传 输以时间片的传输顺序从第一MPEG-2TS包开始。从传输緩冲器611 输出的每个MPEG-2 TS包被插入到MPD緩冲器中(没有TS包头)。 当时间片的mpe —fee元素和FEC标识符描述符的值等于00b时, MPEG-2 TS包完成MPE段,并且完整的MPE段完成数据报(即,最后 段号的值等于MPE段头中的段号的值)。从MPD緩冲器612移除MPE
段并且输出MPE段中承载的数据才艮。当时间片的mpe-fec元素和FEC 标识符描述符的值等于Olb并且MPEG-2 TS包是时间片中的第一个 时,在MPD緩冲器中,如ETSIEN 301 192vl. 4. 1的9. 3. 1节指定 地组成MPE-FEC帧。当时间片的mpe-fec元素和FEC标识符描述符 的值等于01b时,如ETSI EN 301 192vl, 4. 1的9. 3. 1节指定地将 每个MPEG-2 TS包插入到在MPD緩冲器中的MPE-FEC帧中。当时间 片的mpe —fee元素和FEC标识符描述符的值等于Gib并且MPEG-2 TS 包是包含MPD緩冲器612中的MPE-DEC帧的数据的最后一个时,那 么输出MPE-FEC帧的MPE段中承载的数据报并且从MPD緩冲器612 移除该MPE-FEC帧。RTP解封装緩冲器RTP解封装緩冲器模型应用于从多协议解封装緩冲器612输出 的数据报并且包含RTP包。RTP解封装緩冲器模型是IP流专用的。RTP解封装缓冲器613初始是空的。没有UDP和IP报头但是从 MPD緩冲器612输出时立即包括RTP头的每个RTP包^皮插入到RTP 解封装緩沖器613。在用信号通知的初始緩存延迟(由于第一RTP 包的插入)已经过期之前没有从RTP解封装緩沖器613中移除RTP 包。在此申请中,稍后指定用于初始緩存延迟的信令装置。以它们 解码的顺序从RTP解封装緩冲器613输出应用数据单元(ADU)。对 于H. 264/AVC流,ADU定义为NAL单元并且在RFC3984中指定它们的 解码顺序。对于AAC流,ADU与RFC3640中指定的访问单元相同。当 初始緩存延迟过期时,以解码顺序立即输出第一 ADU。当在RTP解封 装缓冲器613中它成为可用时,以解码顺序输出每个后续ADU,并且 由于移除前面的AUD,下列时间(以秒计)已经流逝了 8*(以字节 为单位的先前的ADU的大小)/ ( 1000* (用于流的"b-AS" SDP属性 值))。当输出了 RTP解封装緩冲器包含的所有ADU时,从RTP解 封装緩冲器移除RTP包。初始緩存延迟的信令初始緩存延迟用信号通知从RTP包的插入到RTP解封装緩沖器613的以挂钟时间(以毫秒为单位)的延迟,直到可以将以解码顺序的第一 ADU信号从RTP解封装緩沖器613输出。信号通知的延迟保 证无暂停(pauseless)解码和回放。该值是网络字节顺序的无符号 16-比特整数。在以下内容中,将呈现用于初始緩存信令的语法和语义示例的 某些细节。RFC3611指定的RTCP扩展报告(XR )是将RTCP上承载的信息扩 展到发送器和接收器报告内容之外的机制。在RFC 3611中指定了 RTCP XR报告的七个报告块类型,并且提供扩展机制以包括额外的报 告块类型。为了传递初始緩存延迟可以指定新的RTCP XR报告块类 型 在每个MPE FEC帧中应该传递RTCP发送器报告以在从MPE FEC 帧开始接收的接收器中支持正确地音频-视频同步。因此,可以将提 出的初始緩存延迟扩展报告合并到相同RTCP包中作为发送器报告。 因而,不需要UDP/IP/MPE段开销用于承载初始緩存信息。可选地,如下指定的,初始緩存延迟元素可以存在于RTP包中。 当初始緩存延迟元素没有存在于RTP包中时,则对RTP包应用初始 緩存延迟的先前的值。如果没有可用的初始緩存延迟元素的先前的 值,则推断初始緩存延迟是O。当RTP头中的填充比特等于1时,则 填充的最后八位字节的值大于2,并且填充最后八位字节的前面八位 字节的值等于0x80时,存在初始緩存延迟元素。初始緩存延迟的值 在RTP填充的两个最后八位字节之前。可选地,在对MPEG-2传输流多路复用的描述符中指定额外的初 始緩存延迟字段。可选地,指定新的MPE段结构或者附加现有的MPE段或者 MPE-FEC段结构以包括初始緩存延迟元素。FEC块的生成排列MPE-FEC帧为具有255列和可变数量的行的矩阵。当前, 定义256、 512、 768、 1024字节的行大小。图3示出了 MPE-FEC帧的结构。矩阵中的每个位置表示一个信息字节。第一191列代表承载IP数据^^艮和可能填充的MPE段。MPE-FEC帧的这部分被称作应用 数据表(ADT)。保留MPE-FEC帧的下一个64列用于Reed-Solomon (RS) FEC编码的奇偶信息,并且被称作RS数据表(RSDT)。可以使用数据报完全或部分地填充ADT。当部分地填充ADT时, 使用G字节填充剩余的列并且剩余的列被称作填充列。当在MPE-FEC 帧中没有留下更多的空间以填充下一个完整的数据报时,也完成了 填充。使用RS ( 255, 191) FEC代码交叉ADT的每行来计算RSDT。 图5示出了计算RSDT的过程。不必计算RSDT的全部64列并且可以完全丢弃它的某些最右列 并且此过程被称为打孔。在传输信道上不发送填充的和打孔的列。一致性要求例如IP封装器的传输设备1将检验虚拟FEC解码器1. 9中的緩 冲器占用水平是否没有超过需要的緩冲器大小。如果有必要,则虚 拟FEC解码器1. 9可以控制流生成器1. 0以改变某些参数从而影响 緩沖器占用水平。例如,虚拟FEC解码器1. 9可以控制组成媒体包 的频率和/或数量、组成修理包的频率和数量、和/或媒体和修理包 的传输调度。而且,传输设备1应该实现以便虚拟FEC解码器1. 9 的输出符合媒体格式的媒体净荷和解码规范。在某些实现方式中,解码緩冲器的大小可以不是恒定的,但是 它可以根据需要改变。虚拟FEC解码器1.9可以确定FEC解码緩冲 器需要的緩存大小。然后,可以向可以为緩存保留足够存储器的接 收设备3指示确定的大小。虚拟解码器l. 9可以包括用于执行上述操作的控制器(未示出), 或者可以使用传输设备的控制器1.14作为虚拟解码器1.9的控制 器。当存在的緩存模型包含多协议解封装緩沖器并且应用RTP解封 装緩沖器时,传输设备将检验承栽IP流的任何时间片的基本流是否 符合緩存存在的模型和以下要求
-对于任何基本流,多协议解封装緩冲器612的緩沖器占用水平 将不超过字节的第一号指示的第一参数(A)的值。-对于任何承载在基本流中的IP流,RTP解封装緩冲器的输出将符合媒体格式的解码规范。-对于任何承载在基本流中的IP流,RTP解封装緩冲器613的緩 沖器占用水平将不超过字节的第二号指示的第二参数(B)的值。第一 A和第二参数B的值与最大的MPE-FEC帧的大小是成比例 的。当确定第二参数B的值时,应该考虑某些界限以平滑比特率的 变化以及时间片间隔。例如DVB-H客户端的接收设备3将能够接收符合虚拟FEC解码 器1. 9的MPEG-2传输流。而且,当接收设备3符合MPEG-2传输包 流的媒体解码要求时,它将能够解封包并且解码MPEG-2传输包流并 且以正确的速率输出解码的数据。
权利要求
1.一种用于缓存媒体流的包的方法,包括-在流生成器中,从至少一种媒体信息组成媒体包;-在待传输的媒体包的基础上生成至少一个传输帧;-从所述至少一个传输帧组成待传输的包;-生成传输调度用于待传输的包;-根据所述传输调度执行虚拟解码的第一步骤,包括-将根据所述传输调度待传输的包缓存到第一虚拟解码缓冲器;以及-在传输帧的基础上从所述第一虚拟解码缓冲器输出包;-执行虚拟解码的第二步骤,包括-缓存在从所述第一虚拟解码缓冲器输出的基础上所组成的包;-通过控制以下至少一个来控制所述第一虚拟解码缓冲器和所述第二虚拟解码缓冲器的缓冲器占用水平-所述流生成器的操作;-至少一个传输帧的生成;-所述传输调度。
2. 根据权利要求1所述的方法,包括-在所述媒体包的基础上组成前向纠错数据; -在所述前向纠错数据的基础上组成一个或多个修理包; -将至少 一个所述修理包包括到待传输的包中。
3. 根据权利要求1所述的方法,包括-在第 一 包输入到第二虚拟解码緩冲器之后,定义用于延迟虚拟 解码的所述第二步骤的初始缓存量。
4. 根据权利要求3所述的方法,其中虚拟解码的所述第二步骤 还包括-当用于延迟虚拟解码的所述第二步骤的初始緩存量到期时,从所述第二虚拟解码緩冲器中移除一个基本媒体单元。
5. 根据权利要求1所述的方法,还包括确定用于所述第一虚拟 解码緩冲器和所述第二虚拟解码緩冲器中至少 一个的大小,以便緩 冲器占用不超过确定的大小。
6. 根据权利要求2所述的方法,其中所述虚拟解码緩冲器的大小是预定的,其中所述方法包括通过控制以下至少 一 个来控制所述緩冲器占用水平不超过所述确定的大小 -所组成的媒体包的频率, -所组成的修理包的数量,以及 -媒体和修理包的传输调度。
7. —种用于緩存用于从传输设备到接收设备的传输的媒体流的 系统,所述传输设备包括-流生成器,包括-第 一封包器,用于从所述媒体流的至少 一种媒体信息中组 成媒体包;-帧生成器,用于在待传输的媒体包的基础上生成至少一个 传输帧;-第二封包器,用于从所述至少一个传输帧组成待传输的包;以及-调度器,用于生成用于待传输的包的传输调度;以及 -虚拟解码器,用于在根据所述传输调度的传输期间执行虚拟解 码,包括 '-第 一虚拟解码緩冲器,用于緩存根据所述传输调度的待传 输的所述包;-输出,用于在传输帧的基础上从所述第一虚拟解码緩沖器 输出包;-第二虛拟緩沖器,用于緩存在来自所述第一虚拟解码緩沖 器的输出的基础上形成的包;以及-控制器,用于通过控制以下至少 一 个来控制所述第 一 虚拟 解码緩冲器和所述第二虚拟解码緩冲器的緩沖器占用水平 所述流生成器的操作; 至少一个传输帧的所述生成; 所述传输调度。
8. 根据权利要求7所述的系统,包括-纠错码定义器,用于在所述媒体包的基础上组成前向纠错数 据;以及-第二封包器,用于在所述前向纠错数据的基础上组成一个或多 个》多理包;其中配置所述系统以在待传输的包中包括至少 一个所述修理包。
9. 根据权利要求7所述的系统,其中-在将所述第一包输入到所述第二虚拟解码緩冲器之后,定义用 于延迟虚拟解码的第二步骤的初始緩存量。
10. 根据权利要求9所述的系统,其中所述虚拟解码器适合于 -当用于延迟虚拟解码的第二步骤的所述初始緩存量过期时,从所述第二虚拟解码緩冲器移除一个基本媒体单元。
11. 根据权利要求7所述的系统,配置所述系统以确定所述第 一虚拟解码緩冲器和所述第二虚拟解码緩冲器的至少一个的大小, 以便緩冲器占用不超过确定的大小。
12. 根据权利要求8所述的系统,其中所述虚拟解码緩冲器的 大小是预定的,其中所述虚拟解码器适合于通过控制以下至少一个 来控制緩冲器占用水平不超过确定的大小-所组成的々某体包的频率,-所组成的修理包的数量,以及-媒体和修理包的所述传输调度。
13. —种传输设备,包括用于緩存用于从所述传输设备到接收 设备的传输的媒体流的緩冲器,所述传输设备还包括-流生成器,包括 -第 一封包器,用于从所述媒体流的至少 一种媒体信息中组成々某体包;-帧生成器,用于在待传输的媒体包的基础上生成至少一个 传输帧;-第二封包器,用于从所述至少一个传输帧组成待传输的包;以及-调度器,用于生成用于待传输的包的传输调度;以及 -虚拟解码器,用于在根据所述传输调度的传输期间执行虚拟解 码,包括-第一虚拟解码緩冲器,用于緩存根据所述传输调度待传输 的所述包;以及-输出,用于在传输帧的基础上从所述第 一 虚拟解码緩冲器 输出包;-第二虛拟緩沖器,用于緩存在来自所述第一虚拟解码緩冲 器的输出的基础上形成的包;以及-控制器,用于通过控制以下至少 一 个来控制所述第 一 虚拟 解码緩沖器和所述第二虚拟解码緩冲器的緩冲器占用水平 所述流生成器的操作; 至少一个传输帧的生成; 传输调度。
14. 一种无线通信设备,包括用于緩存用于从所述无线通信设 备到接收设备的传输的媒体流的緩冲器,所述无线通信设备还包括 -流生成器,包括-第 一封包器,用于从所述媒体流的至少一种媒体信息中组 成媒体包;-帧生成器,用于在待传输的媒体包的基础上生成至少一个 传输帧;-第二封包器,用于从所述至少 一 个传输帧组成待传输的包;以及-调度器,用于生成用于待传输的包的传输调度;以及-虚拟解码器,用于在根据所述传输调度的传输期间执行虚拟解码,包括-第一虚拟解码緩冲器,用于緩存根据所述传输调度待传输的所述包;以及-输出,用于在传输帧的基础上从所述第 一虛拟解码緩沖器 输出包;-第二虚拟緩冲器,用于緩存在来自所述第一虚拟解码緩冲 器的输出的基础上形成的包;以及-控制器,用于通过控制以下至少一个来控制所述第一虚拟 解码緩冲器和所述第二虚拟解码緩冲器的緩沖器占用水平 .所述流生成器的操作; 至少一个传输帧的生成; 传输调度。
15. —种服务器,包括用于緩存用于从所述服务器到接收设备 的传输的媒体流的緩沖器,所述服务器还包括 -流生成器,包括-第 一封包器,用于从所述媒体流的至少 一种媒体信息中组 成媒体包;-帧生成器,用于在待传输的媒体包的基础上生成至少一个 传输帧;-第二封包器,用于从所述至少一个传输帧组成待传输的包;以及-调度器,用于生成用于待传输的包的传输调度;以及 -虚拟解码器,用于在根据所述传输调度的传输期间执行虚拟解 码,包括-第一虚拟解码緩冲器,用于緩存根据所述传输调度待传输 的所述包;以及-输出,用于在传输帧的基础上从所述第 一虚拟解码緩冲器输出包;-第二虚拟緩冲器,用于緩存在来自所述第一虚拟解码緩冲器的输出的基础上形成的包;以及-控制器,用于通过控制以下至少 一 个来控制所述第 一 虚拟 解码緩沖器和所述第二虚拟解码緩沖器的緩沖器占用水平 所述流生成器的操作; 至少一个传输帧的生成; 传输调度; -传输器,用于将所述包传输到所述接收设备。
16. —种多媒体广播/多播服务服务器,包括用于緩存用于从所 述服务器到接收设备的传输的媒体流的緩冲器,所述服务器还包括 -流生成器,包括-第 一封包器,用于从所述媒体流的至少一种媒体信息中组 成媒体包;-帧生成器,用于在待传输的媒体包的基础上生成至少一个 传專餘帧;-第二封包器,用于从所述至少 一 个传输帧组成待传输的包;以及-调度器,用于生成用于待传输的包的传输调度; -虚拟解码器,用于在根据所述传输调度的传输期间执行虚拟解 码,包括-第一虛拟解码緩沖器,用于緩存根据所述传输调度待传输 的所述包;以及-输出,用于在传输帧的基础上从所述第 一虚拟解码緩冲器 输出包;-第二虚拟緩冲器,用于緩存在来自所述第一虚拟解码緩冲 器的输出的基础上形成的包;以及-控制器,用于通过控制以下至少 一 个来控制所述第 一 虚拟 解码緩沖器和所述第二虚拟解码緩冲器的緩冲器占用水平 所述流生成器的操作; 至少一个传输帧的生成; 传输调度;-传输器,用于传输所述包作为多媒体广播/多播服务。
17. —种接收设备,所述接收设备用于接收具有传输调度并且 包括从其已经组成传输的包的至少 一 个传输帧,所述至少 一 个传输 帧包括在媒体流的至少 一 种媒体信息的基础上组成的媒体包,所述 接收设备包括-接收器,用于接收传输的包,所述传输的包包括在所述包的接 收的开始除用于延迟所述包的解码的初始緩存量的信息; -第一解包器,用于从所述接收的包重建所述媒体包; -緩冲器,用于緩存所述媒体包信息; -解码器,用于解码所述媒体包的媒体信息;以及-控制器,用于根据所述初始緩存量的信息延迟所述解码。
18. —种与媒体流相关的信号,包括在所述媒体流的至少一种 媒体信息的基础上组成的媒体包,所述媒体包包括在至少 一 个传输帧中,从所述传输帧已经组成待传输的具有传输调度的待包,其中 所述信号包括在接收所述媒体流的开始处用于延迟所述包的解码的 这样初始緩存量的信息,以使得在任何传输帧中的所述媒体流的每 个媒体包在其解码时间或者在其解码时间之前可用。
19. 根据权利要求18所述的信号,其中至少一个修理包与传输 帧相关并且所述至少 一 个修理包对于在所述传输帧中的任何媒体包 的所述解码时间之前的解码是可用的。
20. —种计算机程序产品,包括存储在计算机可读介质上的计 算机程序,其包括当在机器上执行时用于通过以下步骤緩存媒体流 的包的机器可执行步骤-在传输设备的流生成器中,从至少一种媒体信息组成媒体包; -在待传输的媒体包的基础上生成至少 一 个传输帧; -《寺传ir的包由所述至少 一 个传#r帧组成;-生成传输调度用于待传输的包;-根据所述传输调度执行虚拟解码的第 一 步骤,包括机器可执行步骤-将根据所述传输调度待传输的包緩存到第 一 虚拟解码緩沖器;以及-在传输帧的基础上从所述第 一 虚拟解码缓冲器输出包; -执行虚拟解码的第二步骤,包括-緩存在从所述第一虛拟解码緩冲器输出的基础上所组成 的包;-通过控制以下至少 一 个来控制所述第 一 虚拟解码緩沖器和所 述第二虚拟解码緩冲器的緩冲器占用水平 -所述流生成器的操作; -至少一个传输帧的生成; -所述传输调度。
21.根据权利要求20所述的计算机程序产品,所述控制包括机器可执行步骤-在媒体包的基础上组成前向纠错数据;-在所述前向纠错数据的基础上组成 一 个或多个修理包;-将至少 一个所述修理包包括到待传输的包中。
全文摘要
缓存用于从传输设备向接收设备传输的媒体流的包。在流生成器中,媒体包由至少一种媒体信息组成;在将要传输的媒体包的基础上生成至少一个传输帧;将要传输的包由至少一个传输帧组成;生成传输调度用于将要传输的包。另外,还执行虚拟解码的第一步骤和第二步骤。根据传输调度执行虚拟解码的第一步骤并且虚拟解码的第一步骤包括将根据传输调度将要传输的包缓存到第一虚拟解码缓冲器;并且在传输帧的基础上从第一虚拟解码缓冲器输出包。虚拟解码的第二步骤包括通过控制以下内容中的至少一个来控制第一虚拟解码缓冲器和第二虚拟解码缓冲器的缓冲器占有水平流生成器的操作;至少一个传输帧的生成;传输调度。
文档编号H04N7/24GK101151829SQ200680010783
公开日2008年3月26日 申请日期2006年4月5日 优先权日2005年4月7日
发明者M·安尼克塞拉 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1