用于在多媒体传输系统中接收媒体数据的装置及方法与流程

文档序号:15878442发布日期:2018-11-09 17:25阅读:269来源:国知局
用于在多媒体传输系统中接收媒体数据的装置及方法与流程

本公开涉及多媒体传输系统,而且更具体地,涉及用于发送和接收多媒体数据的方法和装置。

背景技术

术语“多媒体服务”是指诸如视频通话的呼叫服务、诸如视频点播(vod)服务的流媒体服务、或者诸如组播和广播服务的服务。实时多媒体服务可以依赖于服务类型被划分为呼叫服务、交互式服务和流传输服务,并且也可以依赖于参与用户的数目被划分为单播、组播和广播。

传统的广播网络通常使用运动图像专家组-2传输流(mpeg-2ts),来对多媒体内容进行传输。mpeg-2ts被用作在充斥错误的传输环境中发送比特流的典型的传输技术,利用该技术复用多个广播节目(或多个编码的视频比特流)。mpeg-2ts适合用于多媒体时代中的数字tv广播等。

mpeg-2ts可以在支持多媒体服务方面存在一些限制。换句话说,mpeg-2ts可以具有诸如单向通信、由于固定帧大小导致的传输低效率、以及在使用特定于音频/视频的传输协议和网际协议(ip)发送数据时发生的不必要的开销的限制。

因此,mpeg最新提出mpeg媒体传输(mmt)标准作为用于支持基于mpeg技术的多媒体服务的多媒体传输技术之一。例如,mmt标准可以被应用于通过异构网络有效发送混合内容。如本文所用的术语“混合内容”可以指具有与视频/音频/应用相对应的多媒体元素的内容的集合。异构网络可以是,例如,广播网络和移动通信网络共存于其中的网络。

mmt标准旨在定义ip友好的传输技术,其是用于多媒体服务的传输网络中的基本技术。为此,需要mmt传送分组的结构,以用于在改变的多媒体服务环境中更有效地传递包括编码的媒体数据的各种格式的逻辑数据对象。



技术实现要素:

技术问题

本公开的实施例的一方面提供了一种在多媒体传输系统中有效地发送和接收编码的媒体数据的方法和装置。

本公开的实施例的另一方面提供了一种在多媒体传输系统中发送和接收各种格式的逻辑数据对象的方法和装置。

本公开的实施例的另一方面提供了一种在支持基于ip的多媒体服务的广播系统中配置异构多媒体数据分组的方法和装置。

技术方案

根据本公开的实施例的一方面,提供了一种在多媒体传输系统中发送数据的方法。该方法包括:从封装功能层接收具有一个或多个第一数据单元的第二数据单元;通过分析第二数据单元的报头(header)信息,配置包括有效载荷类型和配置信息的有效载荷报头信息;基于第一数据单元的大小,配置来自第二数据单元的一个或多个有效载荷;通过组合与每个有效载荷相对应有效载荷报头信息来配置多媒体数据分组;以及将多媒体数据分组发送到对方实体。

根据本公开的实施例的另一方面,提供了一种在多媒体传输系统中接收数据的方法。该方法包括:从对方实体接收具有有效载荷、以及包括有效载荷类型和配置信息的有效载荷报头信息的多媒体数据分组;以及从多媒体数据分组检测由封装功能层生成的一个或多个第一数据单元、以及具有所述一个或多个第一数据单元的第二数据单元的至少一部分。

根据本公开的实施例的再一方面,提供了一种在多媒体传输系统中发送数据的装置。该装置包括:数据生成单元,被配置为输出具有一个或多个第一数据单元的第二数据单元;数据配置单元,被配置为通过分析第二数据单元的报头信息来配置包括有效载荷类型和配置信息的有效载荷报头信息,基于第一数据单元的大小来配置来自第二数据单元的一个或多个有效载荷,通过组合与每个有效载荷相对应有效载荷报头信息来配置多媒体数据分组;以及数据传输单元,被配置为将多媒体数据分组发送到对方实体。

根据本公开的实施例的又一方面,提供了一种在多媒体传输系统中接收数据的装置。该装置包括:接收单元,被配置为从对方实体接收具有有效载荷、以及包括有效载荷类型和配置信息的有效载荷报头信息的多媒体数据分组;以及解释单元,被配置为从多媒体数据分组检测由封装功能层生成的一个或多个第一数据单元、以及具有所述一个或多个第一数据单元的第二数据单元的至少一部分。

有效载荷可以包括与包括一个第一数据单元的第一类型、包括一个第一数据单元的报头信息的第二类型、包括一个第一数据单元的报头信息和数据的一部分或者仅包括数据的一部分的第三类型、包括第二数据单元的报头信息的第四类型、和包括第二数据单元的全部的第五类型中的任一个相对应的至少一个有效载荷元素。

附图说明

图1示出了根据本公开的实施例的mmt系统的分层结构。

图2示出了根据本公开的实施例的mmt有效载荷的结构。

图3示出了根据本公开的实施例的mmt包的逻辑结构。

图4示出了根据本公开的实施例的在mmt系统中配置和发送包含mmt有效载荷的多媒体数据分组的流程图。

图5示出根据本公开的实施例的生成多媒体数据分组的操作。

具体实施方式

现在,将参照附图详细描述本公开的优选实施例。在本公开的以下描述中,当并入本文的公知的功能和配置的详细描述可能模糊本公开的主题时将被省略。本文所用的术语是通过考虑其在本公开中的功能而定义的,并可以根据用户、操作者的意图或通常的实践而改变。因此,该定义应当基于遍及整个说明书的内容来做出。

将在下文描述在mmt标准中定义的分层结构。本公开的实施例提供了多媒体数据分组的结构。为此,将详细描述mmt标准中定义的分层结构中的用于生成多媒体数据分组的层。如本文所用的术语“多媒体数据分组”可以指用于mmt服务的传递帧。

mmt协议(mmtp)定义了用于通过ip网络传递被配置在mmt有效载荷格式(pf)中的传递帧的应用层协议。mmt有效载荷被设计为通过被配置在mmt有效载荷格式中来有效地传递。为了通过异构ip网络有效地传递mpeg媒体数据,mmt定义了封装格式、传递协议和信令消息格式。

图1示出了根据本公开的实施例的mmt系统的分层结构。

参照图1,示出了媒体编码层110、封装功能层(层e)120、传递功能层(层d)130、传送协议层140、网际协议(ip)层150、和控制功能层(层c)100,它们用于配置多媒体数据分组和发送经配置的多媒体数据分组。

按照本公开的实施例,媒体编码层110和封装功能层120可以作为多媒体数据生成单元进行操作,该多媒体数据生成单元用于生成基于多媒体内容和/或多媒体服务的多媒体数据。传递功能层130可以作为多媒体数据配置单元进行操作,该多媒体数据配置单元用于基于从多媒体数据生成单元接收到的多媒体数据来配置多媒体数据分组。与多媒体数据配置单元相对应的传递功能层130可以通过识别从多媒体数据生成单元提供的至少一个多媒体数据来配置报头信息,并通过组合报头信息和至少一个多媒体数据来配置多媒体数据分组。

在媒体编码层110中压缩的多媒体数据可以通过封装功能层120以类似于文件格式的形式被分包(packetize)。封装功能层120可以通过接收从媒体编码层110提供的编码的媒体数据或者存储的媒体数据来生成数据段,它是mmt服务的小单元,并且可以使用数据段生成mmt服务的访问单元(accessunit)。封装功能层120可以通过组合和/或划分访问单元来生成用于生成/存储和传输混合内容的分组格式。

传递功能层130可以将从封装功能层120输出的(多个)数据单元转换为mmt有效载荷格式,然后将mmt传送数据分组报头添加到mmt有效载荷格式以配置mmt传送数据分组,或者可以使用现有的传送协议,实时协议(rtp),来配置rtp分组。

在传递功能层130中配置的数据分组可以在经历诸如用户数据报协议(udp)或传送控制协议(tcp)的传送协议层140之后,最后在ip层150中被ip分包(ip-packetized)。传送协议层140和ip层150可以作为数据传输单元进行操作。控制功能层100,它是可选的,可以生成数据传输所需的控制信息或信令信息,将所生成的信息添加到数据,并发送数据,或者可以通过单独的信令手段发送数据。

在传递功能层130中生成的mmt有效载荷格式可以定义将通过mmt协议或rtp传递的(多个)媒体单元的逻辑结构。mmt有效载荷可以由如下有效载荷格式来指定:该有效载荷格式通过mmt层协议或其他现有应用的传输协议来传递封装的数据单元或其它信息。mmt有效载荷可以提供关于流传输的信息和关于文件传输的信息。在流传输中,数据单元可以是mmt媒体片段单元(mfu)或mmt处理单元(mpu)。在文件传输中,数据单元可以是mmt资源(asset)和mmt包(package)。

图2示出了根据本公开的实施例的mmt有效载荷的结构。

参照图2,mmt有效载荷200可以被配置为包括至少一个mmtmfu210、至少一个mmtmpu220、至少一个mmt资源230、以及至少一个mmt包240中的至少一个。

mfu210可以是包括编码的媒体数据的通用容器格式,它是独立于任何媒体编解码器,并且可以由媒体解码器独立处理。mfu210,它代表mpu220的分段数据的一部分,可以是能够被独立解码的最小单元。作为一个例子,如果通过使用一个帧作为访问单元来执行编码,则mfu210可以是一个视频帧。在另一情况下,mfu210可以是包含在一个帧中的一个切片(slice)。

mpu220,它是包括一个或多个mfu以及附加的传递和处理相关的信息的容器格式,可以包括从多个不同的访问单元生成的各种数目的mfu。mpu220,它指能够完全和独立地被mmt兼容实体处理的编码的媒体数据单元,依赖于应用环境可以具有特定大小(例如,在视频的情况下,一个画面组(onegroupofpicture,gop))。作为一个例子,mpu220可以具有(或包括)构成一个gop(例如,1秒视频)的多个画面帧,并且mfu210可以包括每个画面帧。

mmt资源230,它是具有一个或多个mpu的数据实体,可以是相同成分信息和传送特性被应用到其中的最大数据单元。mmt资源230可以仅包括一种类型的数据,包括分包的或复用的数据。例如,音频的基本流(es)的至少一部分、视频的es的至少一部分、mpeg-ui(用户界面)窗口小部件包的至少一部分,mpeg-2传送流(ts)的至少一部分、mpeg-4(mp4)文件的至少一部分、并且mmt包的全部或至少一部分都可以是mmt资源230。

es,它由特定媒体编解码器定义,在逻辑上可以是一个或多个mmt资源。支持分层编解码器和多视图编解码器的mmt资源230可以与其他mmt资源重叠。

mmt成分信息(mmt-ci)指定义mmt资源的空间和时间关系的信息,而且mmt传送特性(mmt-tc)定义了传递mmt资源所要求的服务质量(qos)。对于特定传递环境,mmt-tc可以被表达为资源传递特性(adc)。

mmt包240可以被定义为由mmt兼容实体处理的编码的媒体数据及其相关信息的集合。

图3示出了根据本公开的实施例的mmt包的逻辑结构。如图所示,mmt包300可以具有(和/或包括)一个或多个mmt资源320、mmt成分信息310、以及代表mmt传送特性的一个或多个adc330。mmt包300(其可与图2中所示的mmt包240类似)可以包括诸如标识符的描述信息,和mmt资源320的位置,而且mmt包300中的mmt资源320可以被复用和/或级联。

mmt包300可以以mpu为单位进行处理,并且mmt资源320可以是具有相同mmt资源id的一个或多个mpu的集合。与每个mmt资源320有关的传送特性可以由adc330来表示。adc330可以被对mmt包进行分包的实体用来配置mmt有效载荷的参数以及下面描述的mmt包的报头信息。

在可以包括在mmt包的逻辑实体当中,mpu可以包括基于给定定义的报头字段,而且这些字段中的一些对处理mpu而言可能是必要的。在mpu的有效载荷中的mfu的边界外的一部分被切除的情况下,如果分组丢失,则错误可能传播更长时间。在要求低时延的媒体数据中,mfu需要在其生成时立即发送。在这种情况下,为了防止传输延迟,可以将传输顺序确定为:在发送所生成的mfu数据之后发送mpu的报头字段信息。

鉴于上述特性,mmt有效载荷需要被配置为保持mpu数据分组和mfu分组之间的兼容性。

图4示出了根据本公开的实施例的在mmt系统中配置和发送包含mmt有效载荷的多媒体数据分组的流程图。图4中所示的操作可以通过图1中的层当中的传递功能层130来执行。

参照图4,在操作410中,传递功能层130可以接收从封装功能层120提供的多媒体数据。封装功能层120可以提供配置多媒体数据分组所必须的多媒体数据、以及与每个多媒体数据有关的信息。

在操作420中,传递功能层130可以基于多媒体数据的报头信息,配置与多媒体数据分组的mmt有效载荷有关的有效载荷报头信息。作为一个例子,有效载荷报头信息可以提供mmt有效载荷的长度、有效载荷数据的类型、以及与分段和聚集有关的信息,而且有效载荷报头格式可以由系统操作员或协议标准来定义。

在操作430中,传递功能层130可以生成用于传递多媒体数据的多媒体数据分组的有效载荷。换句话说,传递功能层130可以通过将在操作410中接收到的多媒体数据中的至少一部分与在操作420中配置的有效载荷报头信息进行组合,来配置mmt有效载荷。

在操作440,mmt分组,它是包括mmt有效载荷的多媒体数据分组,可以通过给定的传送协议发送到对方实体(例如,接收器)。

现在将描述在本公开的实施例中提出的由负责mmt服务的多媒体数据的传输的传递功能层来配置多媒体数据分组的详细过程,而且还将描述有效载荷格式。具体地,可以提供基于在封装功能层120中生成的数据的类型的传送数据结构。对于多媒体数据分组的配置,可以根据给定格式生成将被记录在报头区域中的有效载荷报头信息和将被记录在有效载荷区域中的多媒体数据。

图5示出根据本公开的实施例的生成多媒体数据分组的操作。

参照图5,mpu文件510指封装功能层期望发送的数据,而且mpu/mfu构建块520具有用于配置传输数据的数据结构。mpu文件510可以包括:报头信息512,诸如指示文件的类型的文件类型(ftyp)框、指示mpu的结构的mmpu框、指示编解码器设置信息的moov框、和电影片段(moof)框;以及具有视频样本(vs)516和mmt提示样本(hs)518的mdat框514。mmpu框指示存储在mdat框中的数据的类型为mpu,而且moov框包含关于存储在mdat框中的媒体帧的信息。mpu/mfu构建块520可以包括诸如ftyp、mmpu、moov和moof的mpu元数据522,以及具有相关hs526和vs528的mfu524。

mmt有效载荷可以基于mpu/mfu构建块520来配置,并且在mmt分组中携带或发送。

用于配置mmt有效载荷的详细过程如下。

数据配置单元可以分析从数据生成单元提供并且期望被发送的mpu文件形式的数据510,以从mpu数据510的报头信息512确定类型信息、mpu的配置信息、编解码器的设置信息、数据的开始点和大小(或长度)信息。数据配置单元可以分析构成mpu数据510的mfu(相应于图5中的vs)516和mfuhs518的结构,以确定包含每个mfu的大小、相互重要性和互连(长度等)信息的mfu报头以及作为实际媒体数据的mfu数据,并且还可以通过指示每个mfu的起始偏移和长度的mfuhs518来分析每个mfu的大小。

基于分析的mpu格式,可以对用于配置传送信息分组的mpu/mfu构建块520进行配置。mfuhs518可以是mpu/mfu构建块520的mfu报头。

数据配置单元可以基于从mfuhs518分析的每个mfu的大小,将每个mfu配置为传送单元。在这种情况下,依赖于mfu的大小,可以配置一个或多个有效载荷。每个有效载荷的最初、中间或最后部分可以由start_end_indicator(它是可选的比特)来指示。mpu元数据522还可以被视为mpu/mfu构建块520的一个配置单元。

每个有效载荷元素的数据类型可以呈现如下。

i.具有ftyp、mmpu、moov、moof和mdat的一个有效载荷522的类型被称为mpu_partial(),并且可以被配置为仅包含mpu报头。

ii.如果一个mfu被配置为一个有效载荷,则有效载荷的类型被称为mfu_set()。

iii.在一个mfu被配置为多个有效载荷的情况下,如果mfu仅包括mfu报头,则每个有效载荷的类型是mfu_partial(),并且如果mfu包括mfu报头和mfu数据的一部分,或者包括mfu数据的一部分,则每个有效载荷的类型是mfu_chunk()。

iv.mpu_partial()可以指仅包括mpu报头的有效载荷的类型。

v.mpu_set()可以指完全包括mpu的有效载荷的类型。

下面示出了根据本公开的实施例的mmt有效载荷的语法。下面的mmt有效载荷格式可以用于udp传送,点对点组块(chunk)的交换,以及文件的传送。

如上所述,mmt有效载荷可以包括指示有效载荷的数据类型的类型字段,以及指示有效载荷(mpu或mfu)所属的资源的标识符的asset_id。asset_id可以存在以复用mmt比特流。如果mmt有效载荷通过rtp传递而且使用了单个资源,则asset_id可以省略。

依赖于类型字段,元素的下列各种情况可以被包含在mmt有效载荷中。

如果mmt有效载荷包含将被发送的数据的配置数据,则可以使用情况0。如果asset_id=0,则mmt有效载荷可以包括包配置数据。否则,资源配置数据可以被包括。

当mmt有效载荷携带mfu数据的配置数据(报头信息)时,可以使用与情况1相对应的mfu_partial()元素。当mmt有效载荷包含mfu数据的一部分连同mfu数据的配置数据(报头信息)或者携带mfu数据的全部或一部分时,可以使用与情况2相对应的mfu_chunk()元素。当mmt有效载荷包含mfu数据的全部(报头和数据)时,可以使用与情况3相对应的mfu_set()元素。当mmt有效载荷包含mpu的数据时,可以使用与情况4相对应的mpu_partial()元素。当mmt有效载荷包含mpu数据的全部(报头和数据)时,可以使用与情况5相对应的mpu_set()元素。

此外,mmt有效载荷还可以包括其他单元,例如文件单元、控制层的信令信息和保护消息。

当mfu的大小超过最大传输单元(mtu)的大小时,mfu_partial()可以被定义为:被添加到有效载荷字节的起始处并且被定义在mfu中的所有报头的集合。

mfu_chunk()可以被定义用于在mfu_partial()分组中发送的报头的、mfu的有效载荷的中间或最后部分。

mfu_set()可以被定义为包括预定数目的完整mfu的分组。

mpu_partial()可以被定义为被添加到附加mfu_partial()元素的所有报头的集合,所述附加mfu_set()元素被添加到可选的mfu_partial()元素并且在mpu中定义。可以依赖于分组的剩余字节和mfu长度来确定附加元素的存在/不存在。

现在将描述mpu和mfu元素的例子以及mmt有效载荷格式和mmt传送分组之间的映射。本文将省略本领域已知的或与本公开的实施例无关的参数字段的描述,但是应注意的是,这样的参数字段不限制本公开的范围。

以下代表mfu元素的一个例子。

在上面的例子中,start_end_indicator(起始结尾指示符)可以是可选的比特,其指示有效载荷是mfu的起始、中间或结尾。此外,start_end_indicator可以指示mfu包括随机存取点(rap)数据,并且可以包括最佳比特,其指示解码数据的起始和/或结尾位置。rap_fragment_indicator(rap片段指示符)可以是可选的比特,如果有效载荷包含可随机访问的数据的起始点,则rap_fragment_indicator指示可以直接解码的数据的起始点的地址。

如果有效载荷被加密,则scrambling_key_index(加扰密钥索引)可以包含关于能够解密加密的一系列值的信息。

layer_dependency_info(层依赖性信息)可以是指示画面层之间的依赖性的信息。此外,它还可以包括层标识符(layerid)、依赖性计数、类似于mpeg-2ts分组的信号滚动键(signalrollingkey)等。

以下代表mpu元素的一个例子。

在上面的例子中,start_end_indicator可以是可选的比特,其指示有效载荷是mfu的起始、中间或结尾。如果mpu具有多个mfu,则multiple_mfu_flag(多mfu标记)可以被设置为“1”。如果像在文件传输的情况下在mpu数据中没有包括mfu,则no_mfu(无mfu)可以被设置为“1”。

timing_flag(定时标记)可以被用于,在先前的分组丢失的情况下,通过指示当前mfu是否属于与前一mfu相同的访问单元来校正时间戳。如果有效载荷具有编解码器配置信息,则codec_update_flag(编解码器更新标记)可以被设置为“1”。如果有效载荷开始于媒体数据的报头信息,则header_first(开始于报头)可以被设置为“1”。如果有效载荷具有将被呈现给用户的事件列表,则event_list_flag可以被设置。事件列表可以列出属于内容的事件。

如果有效载荷包含多个帧,multiple_aus_flag(多aus标记)可以被设置为“1”。如果使用诸如高级音频编码(aac)的编解码器,则用于频带内编解码器配置的单元可以被包括在mpu元素中。

codec_update_flag可以包括指示编解码器配置信息的大小的codec_config_size(编解码器配置大小)和指示编解码器配置信息的codec_config_data(编解码器配置数据)。在可替换的实施例中,在多媒体流传输服务的开始时或中间,如果编解码器基于编解码器配置信息而改变,或者如果编解码器配置信息被修改,则可以通过codec_update_flag来设置所述信息的存在/不存在。如果编解码器配置信息被划分成多个有效载荷,则downcounter(递减计数器)可以被用于指示在当前有效载荷之后存在另外一些包含编解码器配置信息的有效载荷。作为一个例子,如果编解码器配置信息被划分为多个段而且downcounter被设置为“3”,则接收器可以确定后面还需要具有2、1和0的downcounter的有效载荷以完成编解码器配置信息。当接收到downcounter0的有效载荷时,接收器可以确定与编解码器配置信息相关的所有有效载荷的传输已完成。

如果event_list_flag(事件列表标记)被设置,则可以存在将要通过传输单元传递的事件列表,而且事件列表可以包括指示事件的数目的num_events(事件数目)和至少一个事件数据。在可替换的实施例中,如果使用已经被发送的事件数据,则可以通过仅包括事件标识符“eventid”而不包括事件数据来表达事件。在另一可替换的实施例中,可以在发送有效载荷之前使用预定的传送手段预先发送事件数据。列出的事件可以在与帧的显示同步之后执行。在可能的实施例中,在播放视频数据的过程中可以可选地通过事件列表改变音频。

如果multiple_mfu_flag被设置,则指示有效载荷具有多少个mfu的num_mfus可以存在于mpu元素中。如果multiple_mfu_flag没有被设置,则num_mfus被设置为“1”,而且header_first和multiple_aus_flag被设置为“0”。在可能的实施例中,如果期望被发送的多媒体数据单元具有多个帧,或者在单个帧中具有多个切片,则可以设置用于设置多个实体的数目的信息。

如果timing_flag被设置,则用于mpu中的单元的定时信息可以被包括在mpu元素中。

此外,与num_mfus一样多的mfu可以在mpu元素中列出。因为mfu的顺序可以不同于从解码器输入的顺序,所以可以可选地包括指示mfu被输入到解码器的顺序的decode_order_number(解码器顺序号)。

如果multiple_mfu_flag被设置为“1”,则还可以包括指示每个mfu的大小的mfu_size(mfu大小)。在本说明书中,假定输入到数据配置单元的mfu具有相同的大小。

如果headers_first没有被设置为“1”,则可以包括一个mmt_mfu_element()。

如果headers_first被设置为“1”,则与num_mfus一样多的mmt_mfu_element()可以被包括在mpu元素中。

根据本公开的实施例配置的接收器可以包括被配置为从对方实体接收多媒体数据分组的接收单元,和被配置为依赖于mmt有效载荷的上述格式来提取和解释多媒体数据分组或至少其一部分中包括的至少一个mfu或mpu的解释单元。

mmt有效载荷的上述格式可以使能mfu或mpu的有效传送和聚集/分段。

虽然已经参照本公开的某些示例性实施例示出和描述了本公开,但是本领域术人员应当理解,可以在形式和细节上对其做出各种改变而不脱离由所附权利要求及其等同物定义的本公开的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1