来自多个源的多媒体数据的流式传输的制作方法

文档序号:7992802阅读:329来源:国知局
来自多个源的多媒体数据的流式传输的制作方法
【专利摘要】在一个例子中,设备包括:多个接口,其中所述接口中的每一个接口通信地耦合到多个源中的相应一个源;流管理单元,其被配置为使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中清单文件包括指示多媒体内容的多个表示的信息,其中多个表示包括所选择的表示,其中针对所述表示的多媒体数据是从多个源可获得的,以及其中流管理单元被配置为选择多个源中的一个源以从其获取针对所选择的表示的多媒体数据;以及源组件,其被配置为经由所述接口中通信地耦合到所选择的源的一个接口来从所选择的源获取针对所选择的表示的多媒体数据。
【专利说明】来自多个源的多媒体数据的流式传输
[0001]本申请要求享有于2011年9月7日递交的美国临时申请N0.61/531,879的优先权,故以引用方式将其全部内容并入本文。

【技术领域】
[0002]本公开内容涉及编码的多媒体数据的传输。

【背景技术】
[0003]数字视频能力可被合并入多种设备,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数字照相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝电话或卫星无线电话、视频电话会议设备等。数字视频设备实现视频压缩技术(例如在由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分、高级视频编码(AVC)定义的标准以及这些标准的扩展中描述的那些技术)以较有效地发送和接收数字视频信息。
[0004]视频压缩技术执行空间预测和/或时间预测以减少或移除视频序列中的固有冗余。对于基于块的视频编码来说,视频帧或片可以被划分成宏块。每个宏块可以被进一步划分。帧内编码的(I)帧或片中的宏块使用针对相邻宏块的空间预测来进行编码。帧间编码的(P或B)帧或片中的宏块可以使用针对在同一帧或片中的相邻宏块的空间预测或针对其它参考帧的时间预测。
[0005]在已编码视频数据后,可以打包视频数据以便传输或存储。视频数据可以被组装入符合各种标准中的任一种标准(例如,国际标准化组织(ISO)基本媒体文件格式及其扩展(例如ITU-T H.264/AVC))的视频文件中。这些打包的视频数据可以以各种方式来传输或存储,例如使用网络流式传输在计算机网络上传输或者存储在诸如DVD或蓝光光盘的本地数据存储介质上。


【发明内容】

[0006]概括地说,本公开内容描述了用于改进媒体数据的流式传输的技术。本公开内容提供了用于将媒体数据的流式传输扩展到除了使用超文本传输协议(HTTP)来提供网络流式传输的源以外的源的技术。例如,可以根据HTTP动态自适应流式传输(DASH)但通过空中广播源从除了 HTTP服务器以外的或可替代HTTP服务器的源(例如广播网络传输源)以及从本地存储介质传输媒体数据。虽然媒体数据和相关联的数据结构可能通常符合DASH的规范,但实际上可以从除了实现HTTP的网络服务器以外的源获取媒体数据。
[0007]在一个例子中,用于获取视频数据的方法包括:使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的;选择所述多个源中的一个源以从其获取针对所选择的表示的多媒体数据;以及从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分。
[0008]在另一个例子中,设备包括:多个接口,其中所述接口中的每一个接口通信地耦合到多个源中的相应一个源;流管理单元,其被配置为使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,其中针对所述表示的多媒体数据是从所述多个源可获得的,以及其中所述流管理单元被配置为选择所述源中的一个源以从其获取针对所选择的表示的多媒体数据;以及源组件,其被配置为经由所述接口中通信地耦合到所选择的源的一个接口来从所选择的源获取针对所选择的表示的多媒体数据。
[0009]在另一个例子中,用于获取多媒体数据的设备包括:用于使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据的单元,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的;用于选择所述源中的一个源以从其获取针对所选择的表示的多媒体数据的单元;以及用于从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分的单元。
[0010]在另一个例子中,计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有在其上存储的指令,所述指令在被执行时使处理器进行以下操作:使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的;选择所述源中的一个源以从其获取针对所选择的表示的多媒体数据;以及从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分。
[0011]在附图和以下描述中阐述了一个或多个例子的细节。通过该描述、附图和权利要求书,其它的特征、目标和优点将变得显而易见。

【专利附图】

【附图说明】
[0012]图1是示出了实施用于流式传输来自各种源的媒体数据的技术的示例性系统的框图。
[0013]图2是示出了实施用于流式传输来自各种源的媒体数据的技术的另一个示例性系统的框图。
[0014]图3是示出了用于多源获取单元的示例性组件集合的框图。
[0015]图4是示出了示例性多媒体内容的元素的概念图。
[0016]图5是示出了可与多媒体内容的表示的区段相对应的示例性视频文件的元素的框图。
[0017]图6是示出了用于从多种不同的源的一个或多个获取多媒体数据的示例性方法的流程图。
[0018]图7是更为详细地示出了用于从多种源中的一个或多个获取多媒体内容的数据的示例性方法的流程图。
[0019]图8是示出了其中流式传输管理器从通信地耦合到相应源的各种接口接收源通知的概念性时序图的流程图。
[0020]图9是示出了用于根据HTTP动态自适应流式传输(DASH)来初始化流的示例性方法的流程图,根据本公开内容的技术所述示例性方法可以被应用于初始化来自一个或多个各种源的流。
[0021]图10是示出了用于获取用于多媒体内容的表示的数据单元(例如区段)的信息的示例性方法的流程图。
[0022]图11是示出了用于适应可用的网络带宽上的变化的示例性方法(例如执行速率重新选择)的流程图。

【具体实施方式】
[0023]概括地说,本公开内容描述了用于传输多媒体数据(例如音频和视频数据)的技术。本公开内容的技术可以结合HTTP动态自适应流式传输(DASH)来使用。本公开内容描述了可以结合网络流式传输来执行的各种技术。如以下更为详细地描述的,执行网络流式传输的各种设备可以被配置为实施本公开内容的技术。
[0024]根据DASH和用于流式传输多媒体数据的类似技术,多媒体内容(例如电影或其它音频/视频内容,其还可以包括文本叠加或其它数据)可以以多种方式来编码并且具有多种特性。内容准备设备可以形成同一多媒体内容的多个表示。每个表示可以对应于特定的特性集合(例如编码和呈现特性)以提供可由具有各种编码和呈现能力的多种不同的客户端设备使用的数据。此外,具有各种比特速率的表示允许带宽自适应。也就是说,客户端设备可以确定当前可用的带宽量并且基于可用带宽量以及客户端设备的编码和呈现能力来选择表示。
[0025]在一些例子中,内容准备设备可以指示表示的集合具有共同特性的集合。内容准备设备随后可以指示集合中的表示形成表示组,因为集合中的表示可以被用于带宽自适应。也就是说,集合中的表示可以在比特速率上不同,但除此以外共享基本相同的特性。以这一方式,客户端设备可以确定针对多媒体内容的表示组的各种共同特性的集合,并且基于客户端设备的编码和呈现能力来选择表示组。随后,客户端设备可以基于带宽可用性在所选择的表示组中的表示之间自适应地切换。
[0026]根据本公开内容的技术,内容准备设备可以向除了 HTTP服务器设备以外的设备提供针对多媒体内容的数据。例如,内容准备设备可以向广播网络服务器设备、用于生成物理的计算机可读存储介质(例如DVD、蓝光光盘和闪存驱动器)的设备或系统、或其它设备提供针对多媒体内容的数据。最后,接收设备(例如客户端设备或内容传送网络的路由器)可以使用本公开内容的技术从源中的任何一个源获取数据。
[0027]接收设备可以从可用源的一个或多个中获取数据。例如,接收设备可以确定源中的哪一个可用于提供特定的表示,并且选择可最有效地提供该表示的源。以这一方式,不同类型的多个源可以彼此提供冗余,使得如果源中的一个是不可用的,则接收设备仍然可以从不同的源存取多媒体内容。
[0028]或者,接收设备可以基本同时地或依次从两个或多个源获取数据,例如利用由一个源获取的数据来扩充从另一个源获取的数据。例如,在显示有特色的呈现之前,DVD可以指定将呈现广告或预告。DVD可以包括用于从外部源(例如HTTP服务器设备或广播服务器设备)获取针对广告或预告的数据的信息,而不是将针对广告或预告的数据存储到DVD本身。以这一方式,不论何时播放DVD,广告或预告可以保持相对新近的。类似的技术可以被用于添加或更改广播网络传输的广告。例如,可以使用广播网络传输来传送主要的多媒体内容,而可以从HTTP服务器设备获取广告。可以指示客户端设备获取将目标定为客户端设备的用户的广告,例如基于用户的人口统计信息和/或用户的互联网浏览行为,当用户将权限设置为允许与外部设备共享人口统计信息和/或互联网浏览行为时。
[0029]举另一个例子,DVD可以包括具有特定评级的表示。评级可以描述内容对于特定观众的适合性。例如,在美国,美国电影协会规定了包括G、PG、PG-13、R和NC-17的评级。举另一个例子,在英国,英国电影分级委员会规定了包括U、PG、12A、12、15、18和R18的评级。举另一个例子,在中国台湾,电影的类别包括普通观众级、保护级、家长指导级和限制级。在某些情况下,DVD的评级可以被确定为不适合当前观众或不期望针对当前观众。然而,可以使用例如使用HTTP流式传输或广播网络传输而获取的数据来扩充DVD的内容以便修改DVD的内容使得所修改的内容为当前观众所接受。类似的技术可以被用于修改广播网络传输的多媒体内容的评级。
[0030]举另一个例子,DVD可以包括具有二维视频内容的表示。用户可能期望三维视频回放。用户可以指示期望观看三维视频,而不是购买又一张DVD。使用本公开内容的技术,可以获取第二视图(其可与包括在DVD上的视频数据的视图形成立体视图对)并且基本同时地播放第二视图与DVD的数据以生成三维视频回放。类似的技术可以被用于提供针对多媒体内容的表示的广播网络传输的三维视频。例如,可以使用HTTP流式传输或通过第二广播来获取形成立体视图对的第二视图。
[0031]再举另一个例子,本地存储的数据版本可以具有特定的质量等级。例如,本地存储的数据版本可以对应于可伸缩视频编码(SVC)数据的基础层。存储数据的客户端设备可以包括具有相对有限存储容量的移动设备。因此,客户端设备可以简单地存储基础层的副本,而不是存储完整的、高质量的多媒体内容的表示。当网络连接可用时,客户端设备可以请求与基础层相对应的一个或多个增强层。然而,当网络连接不可用时,客户端设备可以简单地显示与基础层相对应的数据。
[0032]举另一个例子,广播服务器设备可以广播针对多媒体内容的表示的数据,所述多媒体内容具有随机存取点(RAP),所述随机存取点在表示中具有特定的频率。然而,客户端设备可以最初使用HTTP请求来开始从服务器设备获取多媒体内容的不同表示的数据而不是立即获取正广播的表示的数据,其中所述不同表示可以具有相对更频繁的RAP。在缓冲来自不同表示的足够数量的数据之后,客户端设备可以切换到由广播服务器设备广播的表
/Jn ο
[0033]此外,本公开内容的技术也可以被用于扩充多媒体内容的其它元素。例如,客户端设备可以被配置为获取、解码和显示来自例如广播网络传输或DVD的视频数据。客户端设备可以从不同的源获取音频数据,例如当广播网络传输不包括客户端设备的用户所期望的语言的音频数据时。举另一个例子,客户端设备可以被配置为从不同的源获取诸如隐藏字幕之类的文本叠加,例如当在广播网络传输的表示数据中未提供隐藏字幕文本时或者当期望语言的隐藏字幕文本在广播网络传输内不可获得时。
[0034]视频文件(例如媒体内容的表示的区段)可符合根据ISO基本媒体文件格式、可伸缩视频编码(SVC)文件格式、高级视频编码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式和/或多视图视频编码(MVC)文件格式、或其它类似视频文件格式中的任意一种格式而封装的视频数据。
[0035]ISO基本媒体文件格式被设计为包含用于以灵活、可扩展的格式呈现的计时媒体信息,所述格式促进媒体的互换、管理、编辑及呈现。在定义用于基于时间的媒体文件的一般结构的MPEG-4第12部分中规定了 ISO基本媒体文件格式(IS0/IEC14496-12:2004)。ISO基本媒体文件格式用作为在诸如被定义为支持H.264/MPEG-4AVC视频压缩的AVC文件格式(IS0/IEC14496-15)、3GPP文件格式、SVC文件格式和MVC文件格式之类系列中的其它文件格式的基础。3GPP文件格式和MVC文件格式是AVC文件格式的扩展。ISO基本媒体文件格式包含用于媒体数据的计时序列(例如,视听呈现)的定时、结构和媒体信息。文件结构可以是面向对象的。可非常简单地将文件分解为基本对象,并且通过所述对象的类型暗示所述对象的结构。
[0036]符合ISO基本媒体文件格式(及其扩展)的文件可形成为一系列的对象,被称为“盒”。ISO基本媒体文件格式的数据可以包含在盒中,使得其它数据不必包含在该文件内并且不必存在位于文件内、盒外面的数据。这包括特定的文件格式所需的任何初始签名。“盒”可以是由独特的类型标识符和长度限定的面向对象的构建块。通常,呈现内容包含在一个文件中,并且媒体呈现内容是自包含的。电影容器(电影盒)可以包含媒体的元数据并且视频和音频帧可以包含在媒体数据容器中以及可以是在其它文件中。
[0037]表示(运动序列)可以包含在多个文件中,有时被称为区段。定时和成帧(位置和大小)信息一般是在ISO基本媒体文件中,而辅助文件基本上可以使用任何格式。该呈现内容对于包含呈现内容的系统可以是“本地”的,或者可以经由网络或其它流传送机制来提供。
[0038]可选的元数据轨道可以被用于以它具有的“感兴趣的特性”来标记每个轨道,对于“感兴趣的特性”来说它的值可以不同于组的其它成员(例如,它的比特速率、屏幕大小或语言)。轨道内的一些样本可以具有特殊的特性或者可以被单独地标识。特性的一个例子是同步点(通常是视频I帧)。这些点可以通过每个轨道中的特殊表来标识。更一般地,轨道样本之间的依赖性的性质也可以使用元数据来记录。元数据可以被结构化为一系列的文件格式样本,就像视频轨道。这样的轨道可以被称为元数据轨道。每个元数据样本可以被结构化为元数据声明。存在各种各样的声明,对应于各种问题,这些问题可能被问及相应的文件格式样本或其组成样本。
[0039]当通过流式传输协议传送媒体时,媒体可能需要从它被表示在文件中的方式加以转化。这方面的一个例子是当通过实时传输协议(RTP)来发送媒体时。在文件中,例如,每个视频帧被连续地存储为文件格式样本。在RTP中,必须遵守特定于所使用的编解码器的打包规则以将这些帧置放在RTP分组中。流式传输服务器可以被配置为在运行时计算这样的打包情况。然而,存在对流式传输服务器的协助的支持。
[0040]本公开内容的技术可以适用于网络流式传输协议(诸如HTTP流式传输,例如根据HTTP动态自适应流式传输(DASH))。在HTTP流式传输中,频繁使用的操作包括GET和部分GET。GET操作获取整个文件相关联的给定的统一资源定位符(URL)或其它标识符(例如URI)。部分GET操作接收字节范围作为输入参数并且获取与所接收的字节范围相对应的文件的连续数量的字节。因此,电影片段可以被提供用于HTTP流式传输,因为部分GET操作可以获得一个或多个单独的电影片段。注意,在电影片段中,可以存在不同轨道的多个轨道片段。在HTTP流式传输中,媒体表示可以是数据的结构化集合,其对于客户端是可访问的。客户端可以请求并下载媒体数据信息以向用户呈现流式传输服务。
[0041]在使用HTTP流式传输来流式传输3GPP数据的例子中,可存在针对多媒体内容的视频和/或音频数据的多个表示。这些表示的清单文件可以以媒体呈现描述(MPD)数据结构来定义。媒体表示可以对应于数据的结构化集合,其对于HTTP流式传输客户端设备是可访问的。HTTP流式传输客户端设备可以请求并下载媒体数据信息以向客户端设备的用户呈现流式传输服务。媒体表示可以用Mro数据结构(其可以包括Mro的更新)来描述。
[0042]多媒体内容可以包含一个或多个时段的序列。时段可以通过MPD中的Per1d(时段)元素来定义。每个时段可以具有MH)中的属性start (开始)。MH)可以包括针对每个时段的start (开始)属性以及availableStartTime(可用的起始时间)属性。对于实况服务来说,时段的start属性与MPD属性availableStartTime的总和可以以UTC格式来指定时段的可用性时间,尤其是在相应时段中每个表示的第一媒体区段。对于按需服务来说,第一时段的start属性可以是O。对于任何其它时段,start属性可以指定相应时段的起始时间相对于第一时段的起始时间之间的时间偏移。每个时段可以延伸直到下一个时段的开始为止,或者在最后时段的情况下直到媒体呈现的结束为止。时段起始时间可以是精确的。它们可以反映由于播放所有先前时段的媒体而引起的实际时序。
[0043]每个时段可包含针对同一媒体内容的一个或多个表示。表示可以是音频或视频数据的若干个替代的经编码版本中的一个。表示可通过各种特性(例如编码类型)而区分,例如,通过用于视频数据的比特速率、分辨率和/或编解码器以及用于音频数据的比特速率、语言和/或编解码器而区分。术语“表示(representat1n)”可用于指代与多媒体内容的特定时段相对应且以特定方式编码的经编码的音频或视频数据的部分。
[0044]可将特定时段的表示分配给组,所述组可通过MPD中的group (组)属性来指示。同一组中的表示通常被视为彼此的替代例。例如,可将针对特定时段的视频数据的每个表示分配给同一组,使得所述表示中的任何一个表示可被选择以供解码以显示针对相应时段的多媒体内容的视频数据。在一个时段内的媒体内容可通过来自组0(如果存在的话)的一个表示来表示,或在一些例子中通过来自每个非O组的至多一个表示的组合来表示。可相对于时段的起始时间来表达用于所述时段的每个表示的时序数据。
[0045]表示可以包括一个或多个区段。每个表示可以包括初始化区段,或者表示的每个区段可以是自初始化的。当初始化区段存在时,初始化区段可包含用于存取表示的初始化信息。一般来说,初始化区段不包含媒体数据。可通过诸如统一资源定位符(URL)的标识符来唯一地引用区段。Mro可以提供用于每个区段的标识符。在一些例子中,Mro还可以提供具有range (范围)属性的形式的字节范围,range属性可以与在可由URL或URI存取的文件内的区段的数据相对应。
[0046]每个表不还可以包括一个或多个媒体分量,其中每个媒体分量可以与一个单独媒体类型(例如,音频、视频和/或计时文本(例如,用于隐藏式字幕))的经编码版本相对应。媒体分量可以是一个表示内的连续媒体区段的时间上连续跨越的边界。
[0047]图1是示出了实施用于流式传输来自各种不同源的媒体数据的技术的示例性系统10的框图。在该例子中,系统10包括内容准备设备20、服务器设备60、广播服务器设备
62、物理介质生产设施64、网络14和客户端设备40A。客户端设备40A和服务器设备60通过网络14(其可以包括互联网)而通信地耦合。在一些例子中,内容准备设备20、服务器设备60、广播服务器设备62和物理介质生产设施64也可以通过网络14或另外的网络相耦合,或者可以直接通信地耦合。在一些例子中,内容准备设备20、服务器设备60、广播服务器设备62和物理介质生产设施64中的任何一个或全部可以包括同一设备或设施。此外,内容准备设备20不必在所有例子中都通信地耦合到服务器设备60、广播服务器设备62和/或物理介质生产设施64,而是可以将多媒体内容存储到由服务器设备60、广播服务器设备62和/或物理介质生产设施64中的任何一个或全部所读取的单独的介质上。
[0048]在图1的例子中,内容准备设备20包括音频源22和视频源24。音频源22可以包括例如产生电信号的麦克风,所述电信号表示待由音频编码器26编码的所捕获的音频数据。或者,音频源22可以包括存储先前记录的音频数据的存储介质、诸如计算机化的合成器之类的音频数据生成器、或任何其它音频数据源。视频源24可以包括产生待由视频编码器28编码的视频数据的摄像机、经编码具有先前记录的视频数据的存储介质、诸如计算机图形源之类的视频数据生成单元、或任何其它视频数据源。
[0049]原始的音频和视频数据可以包括模拟或数字数据。模拟数据可以在由音频编码器26和/或视频编码器28编码之前被数字化。音频源22可以在讲话参与者正在讲话的同时从讲话参与者获得音频数据,并且视频源24可以同时获得讲话参与者的视频数据。在其它例子中,音频源22可以包括计算机可读存储介质,所述计算机可读存储介质包括存储的音频数据,而视频源24可以包括计算机可读存储介质,所述计算机可读存储介质包括存储的视频数据。以这一方式,可将本公开内容中描述的技术应用于实况、流式传输、实时音频和视频数据,或应用于经归档的预先记录的音频和视频数据。
[0050]对应于视频帧的音频帧通常是包含由音频源22捕获的音频数据的音频帧,所述音频数据是与包含在所述视频帧内的由视频源24捕获的视频数据同时被捕获的。例如,当讲话参与者通常通过讲话而产生音频数据时,音频源22捕获音频数据,而与此同时(也就是说,在音频源22正在捕获音频数据的同时)视频源24捕获讲话参与者的视频数据。因此,音频帧可以在时间上对应于一个或多个特定视频帧。因此,对应于视频帧的音频帧通常对应于一情形:在所述情形中,同时捕获音频数据和视频数据,并且对于所述情形,音频帧和视频帧分别包括同时捕获的音频数据及视频数据。
[0051]在一些例子中,音频编码器26可以将时间戳编码在每个经编码的音频帧中,所述时间戳表示针对经编码的音频帧的音频数据被记录的时间,并且类似地,视频编码器28可以将时间戳编码在每个经编码的视频帧中,所述时间戳表示针对经编码的视频帧的视频数据被记录的时间。在这些例子中,对应于视频帧的音频帧可以包括:包括时间戳的音频帧和包括相同时间戳的视频帧。内容准备设备20可以包括内部时钟,音频编码器26和/或视频编码器28可通过所述内部时钟产生时间戳,或者音频源22及视频源24可使用所述内部时钟来分别将音频数据和视频数据与时间戳相关联。
[0052]在一些例子中,音频源22可以将对应于音频数据被记录的时间的数据发送给音频编码器26,而视频源24可以将对应于视频数据被记录的时间的数据发送给视频编码器
28。在一些例子中,音频编码器26可对经编码的音频数据中的序列标识符进行编码以指示经编码的音频数据的相对时间排序,但未必指示音频数据被记录的绝对时间,并且类似地,视频编码器28也可使用序列标识符来指示经编码的视频数据的相对时间排序。类似地,在一些例子中,序列标识符可被映射或以其它方式与时间戳相关。
[0053]音频编码器26通常产生经编码的音频数据的流,而视频编码器28产生经编码的视频数据的流。数据(无论是音频还是视频)的每个单独的流可以被称作为基本流。基本流是表示的单个经数字编码(可能经压缩)的分量。例如,表示的经编码的视频或音频部分可以是基本流。基本流可在被封装于视频文件内之前被转换为打包的基本流(PES)。在同一表不内,流ID可以被用于区别属于一个基本流的PES分组与属于另一基本流的PES分组。基本流的基本数据单元是打包的基本流(PES)分组。因此,经编码的视频数据通常对应于基本视频流。类似地,音频数据对应于一个或多个相应的基本流。
[0054]在图1的例子中,内容准备设备20的封装单元30接收包括来自视频编码器28的经编码的视频数据的基本流以及包括来自音频编码器26的经编码的音频数据的基本流。在一些例子中,视频编码器28和音频编码器26可以均包括用于从经编码的数据形成PES分组的打包器。在其它例子中,视频编码器28和音频编码器26可以各自与用于从经编码的数据形成PES分组的相应打包器相连接。依然在其它例子中,封装单元30可以包括用于从经编码的音频和视频数据形成PES分组的打包器。
[0055]视频编码器28可以以多种方式编码多媒体内容的视频数据,以便产生在各种比特速率下且具有各种特性(例如,像素分辨率、帧速率、对各种编码标准的符合性、对用于各种编码标准的各种配置文件和/或配置文件等级的符合性、具有一个或多个视图的表示(例如,针对二维或三维回放)、或其它此种特性)的多媒体内容的不同表示。如本公开内容中所使用的,表示可以包括音频数据和视频数据的组合,例如,一个或多个音频基本流和一个或多个视频基本流。每个PES分组可以包括标识所述PES分组所属的基本流的stream_id(流ID)。封装单元30负责将基本流组装成各种表示的视频文件。
[0056]封装单元30从音频编码器26和视频编码器28接收针对表示的基本流的PES分组并且从PES分组形成相应的网络抽象层(NAL)单元。在H.264/AVC(高级视频编码)的例子中,将经编码的视频区段组织为NAL单元,NAL单元提供处理例如视频电话、存储、广播或流式传输等应用的“网络友好”视频表示。可以将NAL单元分类为视频编码层(VCL)NAL单元和非VCL NAL单元。VCL单元可以包含核心压缩引擎并且可以包括块、宏块和/或片级数据。其它NAL单元可以是非VCL NAL单元。在一些例子中,在一个时刻的经编码的图像(通常呈现为主要经编码的图像)可以包含在存取单元中,所述存取单元可以包括一个或多个NAL单元。
[0057]非VCL NAL单元可以包括参数集NAL单元和SEI NAL单元以及其它。参数集可以包含序列等级报头信息(在序列参数集(SPS)中)和不频繁改变的图像等级报头信息(在图像参数集(PPS)中)。利用参数集(例如,PPS和SPS),不需要针对每个序列或图像来重复不频繁改变的信息,因此可以改进译码效率。此外,参数集的使用可以使得能够进行重要报头信息的带外传输,从而不需要用于错误恢复的冗余传输。在带外传输的例子中,参数集NAL单元相比于其它NAL单元(例如SEI NAL单元)可在不同信道上发送。
[0058]补充增强信息(SEI)可以包含对于解码来自VCL NAL单元的经编码的图像样本来说并非必要但是可以有助于与解码、显示、错误恢复及其它目的相关的过程的信息。SEI消息可以包含在非VCL NAL单元中。SEI消息是一些标准规范的规范化部分,以及因此对于符合标准的解码器实施方案并非总是强制的。SEI消息可以是序列等级SEI消息或图像等级SEI消息。一些序列等级信息可以包含在SEI消息中,例如,在SVC的例子中的可伸缩信息SEI消息和在MVC中的视图可伸缩信息SEI消息。这些示例性SEI消息可以传达关于例如操作点的提取和操作点的特性的信息。此外,封装单元30可以形成清单文件,例如,描述表示的特性的媒体呈现描述符(MPD)。封装单元30可以根据可扩展标记语言(XML)来格式化MPD。
[0059]封装单元30可将针对多媒体内容的一个或多个表示的数据连同清单文件(例如MPD) 一起提供给输出接口 32。输出接口 32可以包括网络接口或用于向存储介质进行写入的接口,例如,通用串行总线(USB)接口、CD或DVD写入器或烧录器、到磁存储介质或闪存介质的接口、或用于存储或发送媒体数据的其它接口。封装单元30可以将多媒体内容的表示中的每个表示的数据提供给输出接口 32,输出接口 32可以经由网络传输或存储介质向服务器设备60、广播服务器设备62和/或物理介质生产设施64发送数据。
[0060]MPD可以引用MPD更新、MPD扩展的外部位置(例如由服务器设备60主持的网络位置)或外部时段(例如用于附加的或替代的多媒体数据)。例如,存储在由物理介质生产设施64生产的物理介质上的、由广播服务器设备62发送的、由服务器设备60提供的或由另外的源提供的多媒体数据可以对应于主要多媒体数据。外部时段可以与可用于增强、修改、代替或以其它方式扩充主要多媒体数据的替代源的数据相对应。如以下更为详细地说明的,外部时段可以广告多媒体数据或其它附加的多媒体数据、用于例如适应所存储的多媒体数据的评级的或者用于提供其它替代内容(例如备选的结局或导演的剪辑)的替代多媒体数据。
[0061]外部时段可以额外地或替代地提供对主要多媒体数据的扩展或增强。例如,在可伸缩视频编码(SVC)的上下文中,主要多媒体数据可以对应于SVC的基础层,而外部时段可以包括针对与基础层相对应的增强层的数据。举另一个例子,在多视图视频编码(MVC)的上下文中,主要多媒体数据可以包括一个或多个视图,而外部时段可以包括针对一个或多个附加视图的数据。或者,主要多媒体数据可以包括针对至少一个视图的数据,而外部时段可以包括针对与主要多媒体数据的视图相对应的深度图的数据。
[0062]以这一方式,内容准备设备20可以准备符合DASH的多媒体数据,并且向服务器设备60、广播服务器设备62和物理介质生产设施64 (以及其它可以传输或以其它方式输出数据的源)提供针对多媒体内容的表示的数据。因此,如以下更为详细地说明的,由除了 HTTP服务器以外的源(例如服务器设备60)输出的数据可以符合DASH。虽然DASH技术通常由实现HTTP的设备来执行,但本公开内容提供了用于提供除了 HTTP服务器以外的源以使得客户端设备(例如客户端设备40A)可以从其获取符合DASH的多媒体数据的技术。
[0063]在图1的例子中,服务器设备60可以实现HTTP/1.1以便从客户端设备(例如客户端设备40A)接收HTTP获得(HTTP Get)和部分获得请求,并且向发出请求的客户端设备提供所请求的数据。以这一方式,服务器设备60可以向一个或多个客户端设备(例如客户端设备40A)提供单播服务。为了从服务器设备60获取数据,客户端设备40A可以向服务器设备60发布HTTP获得或部分获得请求。接口 54可以包括实现HTTP栈以便与服务器设备60通信的网络接口卡(NIC)。接口 54的NIC可以包括有线NIC、实现诸如一个或多个IEEE802.11协议之类的无线协议的无线NIC、和/或蜂窝分组无线接口。
[0064]广播服务器设备62可以向一个或多个客户端设备(例如客户端设备40A)发送分组,以便广播媒体数据。例如,广播服务器设备62可以实现演进型多媒体广播多播服务(eMBMS)以便使用广播或多播来向一个或多个客户端设备(例如客户端设备40A)传送多媒体数据。以这一方式,客户端设备40A可以使用eMBMS来接收符合DASH的多媒体数据。或者,广播服务器设备62可以实现互联网协议(IP)多播以向一个或多个客户端设备(例如客户端设备40A)发送多媒体数据。以这一方式,广播服务器设备62代表了除了 HTTP服务器以外的源的例子,从所述源可以获取符合DASH的多媒体数据。为了从广播服务器设备62获取多媒体数据,客户端设备40A可以确定与多播相关联的多播组地址并且例如根据互联网组管理协议(IGMP)联结IP多播组地址。接口 54可以包括实现eMBMS的网络接口卡(NIC)、和/或实现用于加入与广播服务器设备62相关联的IP多播组的IP栈的NIC。
[0065]物理介质生产设施64可以生产物理介质,例如,DVD、蓝光光盘、闪存驱动器、或用于存储多媒体数据的其它物理介质。存储介质可以经运送并最终到达客户端设备40A的物理位置。如上文所讨论的,可以根据DASH来对物理介质生产设施64存储到物理介质的多媒体数据进行格式化。例如,物理介质可以包括媒体呈现描述描述(MPD)或其它清单文件。以这一方式,由物理介质生产设施64生产的物理介质代表了除了 HTTP服务器以外的源的例子,从所述源可以获取符合DASH的多媒体数据。客户端设备40A的用户可以将物理介质耦合到客户端设备40A,例如,通过将光盘插入相应的光读取器或将闪存驱动器连接到通用串行总线(USB)端口,其中的任一种方式或两种方式可以包括在客户端设备40A的接口 54内。
[0066]在图1的例子中,客户端设备40A包括多源获取单元50A和接口 54。如上文所讨论的,接口 54可以被配置为从服务器设备60、广播服务器设备62、由物理介质生产设施64生产的物理存储介质、或其它源中的任何一个或全部获取多媒体数据。例如,接口 54可以额外地或替代地包括用于接收空中电视广播信号的调谐卡。
[0067]多源获取单元50A通常可以被配置为:确定一个或多个源,其中从所确定的源中获取多媒体数据,以及选择多媒体内容的一个或多个表示。例如,多源获取单元50A可以获取客户端设备40A的配置数据(未示出)以确定视频解码器48的解码能力和视频输出44的呈现能力。所述配置数据还可以包括由客户端设备40A的用户选择的语言偏好、与由客户端设备40A的用户设置的深度偏好相对应的一个或多个照相机视角、和/或由客户端设备40A的用户选择的评级偏好中的任何一个或全部。多源获取单元50A可以与客户端设备40A的一个或多个处理器或处理单元(未示出)执行的软件指令相对应。在一些例子中,针对多源获取单元50A所描述的功能的全部或部分可以在硬件中、或硬件、软件和/或固件的组合中实现,其中可提供必要的硬件以执行用于软件或固件的指令。
[0068]多源获取单元50A可以将客户端设备40A的解码和呈现能力与由用于多媒体内容的清单文件(例如媒体呈现描述(MPD)文件)的信息指示的多媒体内容的表示的特性相比较。多源获取单元50A可以最初获取清单文件以确定多媒体内容的表示的特性。例如,多源获取单元50A可以请求清单文件,所述清单文件可以描述一个或多个适配集的特性。清单文件可以额外地描述从其可获得多媒体内容的数据的源。或者,单独的数据结构可以提供对从其可获得多媒体内容的数据的源的指示。
[0069]多源获取单元50A可以选择多媒体内容的表示的子集(例如适配集),所述子集具有可由客户端设备40的编码和呈现能力满足的特性。多源获取单元50A随后可以确定适配集中的针对表示的比特速率、确定当前可用的网络带宽量以便使用HTTP流式传输来获取数据,并且从具有可由网络带宽满足的比特速率的表示中的一个表示来获取区段。或者,多源获取单元50A可以确定是否从广播服务器设备62或本地存储(例如闪存驱动器、DVD、或由物理介质生产设施64生产的蓝光光盘)获取多媒体内容的数据。
[0070]多源获取单元50A可以与接口 54通信以确定与某些源(例如服务器设备60和广播服务器设备62)的通信是否可用。同样地,多源获取单元50A可以被配置为确定从其可获得特定表示的源。根据本公开内容的技术,多源获取单元50A可以被配置为从一个或多个源获取来自多媒体内容的一个或多个表示的数据,其中所述源可以以不同方式向客户端设备40A提供数据,例如,使用彼此不同的技术或不同的协议。
[0071 ] 多源获取单元50A还可以响应于网络带宽的波动的可用性而使用这些技术来适应经由网络14对数据的获取。一般来说,较高比特速率的表示可以产生较高质量的视频回放,而当可用网络带宽减少时,较低比特速率的表示可以提供足够质量的视频回放。因此,当可用网络带宽是相对的高时,多源获取单元50A可以从相对高比特速率的表示获取数据,而当可用网络带宽是低的时,多源获取单元50A可以从相对低比特速率的表示获取数据。此外,根据本公开内容的技术,多源获取单元50A可以基于网络14的带宽可用性在从各种源获取针对多媒体内容的数据之间(例如在服务器设备60和广播服务器设备62之间)自适应地切换。以这一方式,客户端设备40A可以通过网络14流式传输多媒体数据,同时还自适应于网络14的变化的网络带宽可用性。
[0072]在一些例子中,多源获取单元50A可以确定清单文件的一部分(例如用于多媒体内容的MH)文件)将被更新。多源获取单元50A可以被配置为分析每个区段的特定部分(例如区段的报头部分或其它初始部分)以确定所述区段是否指示清单文件将被更新。当清单文件将被更新时,多源获取单元50A可以更新清单文件的本地存储的副本,使用区段的数据或通过获取数据来更新来自远程位置(例如来自服务器60)的清单文件。在更新了清单文件之后,多源获取单元50A可以基于更新的清单文件的数据而提交对表示的数据的未来请求。
[0073]举例而言,内容准备设备20可以对通常为实况广播或近乎实况而非预先录制的实况媒体数据(例如实况体育事件、政治事件或其它值得报道的事件)进行编码。在这些情况下,与达到特定时间的媒体数据相对应的区段可以被分配标识符(例如URL),所述标识符包括在初始的清单文件中。然而,在一段时间已经过去了之后,跟在特定时间后面的区段可以被编码并被分配标识符(例如URL)。内容准备设备20的封装单元30可以将用于跟在特定时间后面的区段的URL提供给更新的清单文件。因此,为了确定如何获取跟在特定时间后面的区段,客户端设备40可以接收指示更新的清单文件的信息,以便构建用于获取跟在特定时间后面的区段的请求。类似地,内容准备设备20可以提供数据,所述数据指示从其它源(例如广播源设备62)可获得针对多媒体内容的数据。
[0074]接口 54可以进行接收并且向多源获取单元50A提供所选择的表示的区段的数据。多源获取单元50A可以包括解封装器以将视频文件的单元解封装为组成PES流、将PES流拆包以获取经编码的数据,以及取决于经编码的数据是音频流还是视频流的一部分(例如,如流的PES分组报头所指示的),将经编码的数据发送给音频解码器46或视频解码器
48。音频解码器46对经编码的音频数据进行解码并且向音频输出42发送经解码的音频数据,而视频解码器48对经编码的视频数据进行解码并且向视频输出44发送经解码的视频数据(其可以包括流的多个视图)。视频解码器48、音频解码器46、音频输出42和视频输出44可以被统称为多媒体框架,并且通常可以负责实现对音频及视频数据的多媒体解码和呈现。
[0075]视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30和多源获取单元50A各自可以实现为多种适当的处理电路中的任意一种(如适用的话),例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑电路、软件、硬件、固件或其任意组合。视频编码器28和视频解码器48中的每一个可以包括在一个或多个编码器或解码器中,其中的任何一个可以集成为组合的视频编码器/解码器(CODEC)的一部分。同样地,音频编码器26和音频解码器46中的每一个可以包括在一个或多个编码器或解码器中,其中的任何一个可以集成为组合的CODEC的一部分。包括视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30和/或多源获取单元50的装置可以包括集成电路、微处理器和/或无线通信设备(例如蜂窝电话)。
[0076]图2是示出了实施用于流式传输来自多种不同的源的媒体数据的技术的另一个示例性系统12的框图。在该例子中,系统12包括内容准备设备20、服务器设备60、广播服务器设备62和物理介质生产设施64,这些设备与图1的相同编号的设备基本一致。系统12还包括客户端设备40B和获取设备70。
[0077]客户端设备40B与图1的客户端设备40A基本一致,除了客户端设备40B包括接口 58和解复用单元56。客户端设备40B与获取设备70交互,而不是包括多源获取单元,获取设备70被配置为从一个或多个各种源获取多媒体数据。在图2的例子中,获取设备70包括多源获取单元50B,多源获取单元50B与图1的多源获取单元50A基本一致。获取设备70还包括接口 72,接口 72与图1的接口 54基本一致。
[0078]在该例子中,获取设备70以类似于针对图1的客户端设备50A所描述的那样的方式来获取多媒体数据。但是,在图2的例子中,获取设备70在解复用之前向客户端设备40B提供所获取的经编码的多媒体数据。获取设备70可以包括例如内容传送网络的路由设备。客户端设备40B的接口 58可以从获取设备70接收经编码的多媒体数据并且向解封装单元56传送数据。或者,多源获取单元50B可以解复用数据并且经由接口 58向客户端设备40B传送经编码的多媒体数据的单独的流(例如音频和视频数据),在这种情况下接口 58可以直接向音频解码器46和视频解码器48提供数据。
[0079]图3是示出了多源获取单元50的示例性组件集合的框图。图3的多源获取单元50可以对应于多源获取单元50A(图1)或多源获取单元50B (图2),或者包括在另一个不同的获取设备中。在该例子中,多源获取单元50包括流管理单元80和源组件90。流管理单元80包括获取控制单元82和源接口 84,而源组件90包括媒体文件存储处理单元92、MPD解析单元94、媒体文件解复用(DEMUX)单元96和源接口 98。
[0080]在图3的例子中,源接口 84和源接口 98与接口 73通信,接口 73包括HTTP接收机和栈74、广播接收机和栈76以及本地存储器78。接口 73通常可以对应于接口 54(图1)或接口 72(图2)。如省略号所指示的,接口 73可以包括用于从除了服务器设备60、广播服务器设备62和由物理介质生产设施64生产的物理介质以外或替代服务器设备60、广播服务器设备62和由物理介质生产设施64生产的物理介质的其它源获取多媒体数据的附加的接口。
[0081]接口 73中的每一个可以包括用于使用特定通信协议来通信或与特定物理介质交互的硬件和/或软件。例如,HTTP接收机和栈74可以实现HTTP并且使用HTTP栈来接收数据,HTTP栈可以包括TCP/IP以及用于网络的其它层的其它通信协议。HTTP接收机和栈74还可以生成对来自例如服务器60的区段(或区段的部分)的HTTP获得或部分获得请求。广播接收机和栈76可以实现广播或多播协议(例如eMBMS或IP多播)以接收来自广播或多播网络传输的数据。广播接收机和栈76可以被配置为订阅广播或多播网络传输以便获取传输的数据。本地存储器78可以与到本地存储的数据(例如,在存储器、固态驱动器或闪存驱动器、DVD、蓝光光盘、或(例如)客户端设备40A(图1)或获取设备70(图2)的其它物理介质上)的接口相对应。
[0082]源组件90可以经由源接口 98从一个或多个源接收多媒体内容的数据,继而可以从接口 73中的一个或多个接收数据。最初,源组件90可以接收清单文件,例如MPD文件。MPD解析单元94可以解析MPD文件以确定多媒体内容的可用表示、以及包括具有共同特性的表示组的适配集和表示的特性。偶尔地,源组件90可以接收针对当前多媒体内容的经更新的MPD,在这种情况下MPD解析单元94可以解析经更新的MPD并且向流管理单元80提供经更新的信息。在一些例子中,源组件90可以选择表示中的至少一个,而在其它例子中,源组件90可以向流管理单元80提供表示信息。在这种例子中,流管理单元80可以选择表示中的至少一个。在任何一种情况下,源组件90可以向流管理单元80发送针对发送用于获取针对多媒体内容的数据的下载信息的请求。
[0083]流管理单元80可以被配置为选择源73中的一个源以从其获取所选择的表示的数据。接口 73中的每一个可以向流管理单元80提供源通知,使得流管理单元80将选择从其获取数据的特定源。例如,HTTP接收机和栈74可以向流管理单元80提供可用网络带宽的估计量以用于HTTP传输。广播接收机和栈76可以提供对与所选择的表示相对应的用于广播传输的URL是否可用以及所述广播是否在覆盖中的指示。本地存储器78可以提供对URL是否可用于与所选择的表示相对应的本地存储的数据的指示。源接口 84可以表示流管理单元80的一个或多个接口以用于从通信地耦合到源的各种接口接收源通知。此外,流管理单元80可以接收来自无线设备(例如客户端设备40A)的一个或多个无线电设备的无线信号强度信息(RSSI)以确定无线信号的强度(例如用于接收网络数据)。
[0084]流管理单元80的获取控制单元82分析经由源接口 84接收的源通知来选择源中的一个或多个源以从其获取针对多媒体内容的数据。在一些例子中,获取控制单元82还选择多媒体内容的表示。获取控制单元82可以从源组件90接收信息,例如从MPD文件中提取的表示特性以及针对表示的区段的URL。所述信息还可以包括对缓存占用和/或可用空间以及多媒体内容的当前回放时间的指示。使用该信息连同从接口 73接收的源通知,获取控制单元82可以选择从其中获取针对多媒体内容的数据的源,例如当前所选择的表示的数据。获取控制单元82可以在表示和/或源之间自适应地切换以从所述表示和/或源随时获取针对同一多媒体内容的表示的数据。
[0085]获取控制单元82可以向源组件90提供对所选择的源(以及在某些情况下,所选择的表示)的指示。此外,获取控制单元82可以制定下载命令,所述下载命令包括用于从所选择的源获取所选择的表示的数据的信息。例如,下载命令可以包括对源类型和源特定信息的指示。例如,对于HTTP/1.1,下载命令可以指定所选择的表示的区段的URL的完整路径将包括在获得或部分获得命令中。举另一个例子,对于广播或多播网络传输,下载命令可以指定广播或多播组的网络地址以接收所选择的表示的区段。以这一方式,流管理单元80可以基于从源组件90和接口 73(还被称为源接收机)接收的信息来确定从其获取数据的适当源以及要接收的表示的适当的区段。
[0086]源组件90可以基于从流管理单元80接收的下载命令信息来制定适当的命令以从所选择的源获取所选择的表示的数据。例如,源组件90可以生成HTTP获得或部分获得请求、用于加入广播或多播组的请求或用于获取本地存储介质的数据的请求。源组件90还可以经由源接口 98向接口 73中适当的一个接口发布命令。也就是说,源组件90可以向接口73中通信地耦合到由流管理单元80选择的源的一个接口发送命令。
[0087]响应于命令,接口 73中发布所述命令的一个接口可以从所选择的源接收所选择的表示的所请求的多媒体数据。接口 73可以被配置为向源组件90转发所获取的数据。在图3的例子中,源组件90包括媒体文件解复用单元96,媒体文件解复用单元96可以解复用所接收的数据,例如解复用成相应的音频和视频流。媒体文件存储处理单元92可以将所接收的数据缓存在包括多源获取单元50的设备的存储器(未示出)中。媒体文件存储处理单元92还可以向例如音频解码器46和视频解码器48 (图1)提供解复用的数据。或者,在不解复用数据的情况下,媒体文件存储处理单元92可以向客户端设备40B提供所获取的媒体数据。
[0088]以这一方式,客户端设备40A(图1)和获取设备70 (图2)代表了被配置为从一个或多个各种源获取符合DASH的多媒体数据的设备的例子。在这些例子中,设备均包括多个接口,其中接口中的每一个通信地耦合到多个源中相应的一个。例如,客户端设备40A包括通信地耦合到源设备60、广播源设备62和由物理介质生产设施64生产的存储介质的接口
54。如上文所说明的,接口也可以通信地耦合到其它源,例如空中广播源。
[0089]因此,接口可以被配置为根据不同的通信协议来进行操作。例如,接口中的一个可以包括被配置为根据传输控制协议/互联网协议(TCP/IP)来进行操作的网络接口。同一网络接口(例如网络接口的不同单元)或不同接口可以被配置为根据IP多播或eMBMS、或者其它的广播或多播网络协议来接收数据。另一个接口可以被配置为从物理介质接收数据。这样的接口可以包括通用串行总线(USB)接口、DVD读取器、蓝光播放器或用于从物理介质获取数据的其它此种接口。
[0090]客户端设备40A(图1)和获取设备70 (图2)还代表了包括源组件(例如,图3的源组件90)的设备的例子,所述源组件被配置为使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取多媒体内容的多媒体数据。清单文件可以包括指示多媒体内容的多个表示的信息,并且所述多个表示可以包括表示中所选择的一个表示。当然,应当理解,如上文所说明的,流管理单元还可以被配置为选择表示,而不是由源组件进行选择。此外,在一些例子中,源组件和流管理单元可以是功能上集成的。针对表示的多媒体数据可以从多个源(例如服务器设备60、广播服务器设备62和由物理介质生产设施64生产的物理介质)获得。
[0091]客户端设备40A(图1)和获取设备70(图2)还代表了包括流管理单元的设备的例子,所述流管理单元被配置为选择多个源中的一个源以从其获取针对所选择的表示的多媒体数据。如上文所讨论的,流管理单元80可以分析从接口 73接收的源通知、来自移动设备的无线电的RSSI信息、表示特性、针对表示的区段的区段信息以及其它此种信息来选择源,其中从所选择的源中获取针对多媒体内容中的所选择的表示的数据。
[0092]最后,源组件可以被配置为经由接口中通信地耦合到所选择的源的一个接口从所选择的源获取针对所选择的表示的多媒体数据。例如,如果流管理单元80选择服务器设备60作为多媒体数据的源,则源组件90可以经由HTTP接收机和栈74来获取所述多媒体数据。举另一个例子,如果流管理单元80选择广播服务器设备62作为多媒体数据的源,则源组件90可以经由广播接收机和栈76来获取所述多媒体数据。再举另一个例子,如果流管理单元80选择本地存储介质作为多媒体数据的源,则源组件90可以经由本地存储器78来获取所述多媒体数据。
[0093]以这一方式,客户端设备40A和获取设备70代表了可以实施本公开内容中用于从多种不同的源获取同一多媒体内容的多媒体数据的技术的设备的例子,其中所述多媒体内容可以符合DASH。在多种场景下,用于从不同的源获取针对多媒体内容的数据的能力可以是有利的。举例而言,针对同一内容的多个源可以提供冗余,使得客户端设备可以确定:当另一个源不可用时,特定的源是否可用。
[0094]举另一个例子,某些表示可以仅由某些源存储。例如,相对高质量的表示可以经由广播获得,而相对低质量的表示可以经由单播获得。客户端设备可以最初经由单播来获取相对低质量的表示的数据,在缓存足够数量的单播表示的数据以达到广播表示的随机存取点(RAP)之后,随后切换到广播或多播传输。
[0095]在一些情况下,客户端设备可以通过从另一个源获取数据来增强从一个源接收的数据。例如,客户端设备可以从第一源获取多媒体数据,并且从不同的第二源获取用于共同时间的回放时段的附加的多媒体数据。客户端设备可以获取替代的或附加的数据以替换或补充从特定源接收的数据。举例而言,在生产DVD的时候,DVD通常包括针对即将推出的电影的预告。根据本公开内容的技术,客户端设备可以从服务器设备而非DVD本身获取针对预告的多媒体数据,使得预告是相对新近的。类似地,可以使用这些技术来扩充DVD或其它本地存取的数据存储介质的内容以提供备选的结局、导演的剪辑、花絮、删除的场景、或对DVD的视频数据的其它补充或修改。
[0096]举另一个例子,DVD或其它存储介质可以存储特定质量的数据,例如可伸缩视频编码(SVC)数据的基础层。客户端设备可以确定附加的源(例如网络源)是否可用以获取一个或多个增强层来增强基础层。在没有网络连接是可用的情况下,客户端设备可以仍然解码并呈现基础层。然而,如果网络连接是可用的,则客户端设备可以获取一个或多个增强层的数据。
[0097]举另一个例子,DVD或其它存储介质可以包括视频数据的单个视图(例如用于支持二维(2D)视频回放)。根据本公开内容,客户端设备可以从例如网络源获取替代的视图,而不是购买单独的DVD来支持三维(3D)视频回放,并且显示所述两个视图作为立体视图对以提供三维视频回放。当然,根据多视图视频编码(MVC),客户端设备也可以获取用于多视图视频回放的附加的视图。
[0098]再举另一个例子,DVD可以包括特定分级的电影(例如,G、PG、PG-13、R),其中所述分级描述内容对于特定观众的适合性。本公开内容的技术可以被用于实施家长控制。例如,如果DVD上的电影不适合当前观众,则家长或其他监护人将客户端设备配置为获取替代的视频和/或音频数据以替换不合适的场景。或者,DVD可以存储相对无害的视频内容,并且客户端设备可以被配置为从可能在其它方面不适合特定观众的网络源获取补充的音频和/或视频数据。
[0099]图4是示出了示例性多媒体内容100的元素的概念图。在图4的例子中,多媒体内容100包括媒体呈现描述(MPD) 102和多个表示110-120。表示110包括可选的报头数据112和区段114A-114N(区段114),而表示120包括可选的报头数据122和区段124A_124N(区段124)。为了方便起见,字母N被用于标示在表示110、120中的每一个表示的最后的电影片段。在一些例子中,在表示110、120之间可以存在不同数量的电影片段。
[0100]MPD102可以包括与表示110 - 120分开的数据结构。MPD102可以对应于图1的清单文件66。一般来说,MPD102可以包括通常描述表示110 - 120的特性的数据,例如,编码和呈现特性、表示组、MPD102所对应的配置文件、文本类型信息、照相机角度信息、评级信息、技巧模式信息(例如指示包括时间子序列的表示的信息)、和/或用于获取间接时段(remote per1d)(例如用于在回放期间将针对性的广告插入媒体内容)的信息。间接时段也可以被称作为外部时段。
[0101]报头数据112 (当其存在时)可以描述区段114的特性(例如,随机存取点的时间位置、哪一个区段114包括随机存取点、到区段114内的随机存取点的字节偏移、区段114的统一资源定位符(URL)或区段114的其它方面)。报头数据122 (当其存在时)可以描述区段124的类似特性。此外或可选地,这些特性可以完全地包括在MPD102内。
[0102]区段114包括一个或多个经编码的视频样本,每一个经编码的视频样本可以包括视频数据的帧或片。区段114的经编码的视频样本中的每一个可以具有类似的特性,例如,高度、宽度和带宽需求。这些特性可以用MPD102的数据来描述,虽然这些数据未示出在图4的例子中。MPD102可以包括如3GPP规范所描述的特性加上在本公开内容中描述的信号形式的信息中的任何一个或全部。
[0103]区段114、124中的每一个可以与独特的统一资源标识符(URI)(例如,统一资源定位符(URL))相关联。因此,区段114、124中的每一个可以是使用流式传输网络协议(例如DASH)独立可获取的。以这一方式,目的设备(例如客户端设备40)可以使用HTTP获得请求来获取区段114或124。在一些例子中,客户端设备40可以使用HTTP部分获得请求来获取区段114或124的特定字节范围。例如,如果广播或来自本地存储介质的一些数据丢失或受损,则在一些例子中,客户端设备40可以从广播或本地存储介质获取尽可能多的未受损数据并且使用HTTP部分获得请求来获取针对受损数据的替代数据。
[0104]在一些例子中,MPD102可以引用外部时段(也被称作为间接时段)的数据。时段通常对应于多媒体内容的特定时间部分。每个时段可以包括一个或多个表示,例如表示110 - 120。然而,可以将外部时段插入在多媒体内容100的时段内或时段之间。外部时段可以包括除了多媒体内容的多媒体数据以外的多媒体数据。例如,外部时段可以包括广告数据。
[0105]时段可以用它们的持续时间来限定,也就是说,时段的起始时间可以取决于先前时段的持续时间。客户端设备可以将外部时段映射到Mro结构。对于实况服务,利用适当的更新过程,MH)的链接(concatenat1n)可以通过在服务器(例如服务器设备60)上动态地创建MH)来实现。也可以使用其它的网页技术。可以对用于外部定义时段的URL进行实时地处理以生成包含以客户端设备40的用户为目标的广告的新时段。客户端设备40可以利用请求来补充可用于广告定位的附加信息,例如,用户标识符、用户偏好、用户人口统计信息或其它信息。
[0106]以下的表1不出了在MPD102中可提供的、用于描述多媒体内容的一个或多个时段以及用于指示外部时段的存在的示例性信息集合:
[0107]表1一MPD时段信息
[0108]

【权利要求】
1.一种用于获取多媒体数据的方法,所述方法包括: 使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的; 选择所述多个源中的一个源以从其获取针对所选择的表示的多媒体数据;以及 从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分。
2.根据权利要求1所述的方法,其中,所述多个源包括单播服务器设备、广播服务器设备和本地存储介质中的一个或多个。
3.根据权利要求1所述的方法,其中,所述清单文件包括根据可扩展标记语言(XML)来格式化的媒体呈现描述(MPD)文件,其中所述MH)文件包括指示所述表示的区段的统一资源定位符(URL)和所述表示的特性的信息。
4.根据权利要求1所述的方法,还包括:从所述源中除了所选择的源以外的第二源获取附加的多媒体数据,其中所述多媒体数据和所述附加的多媒体数据对应于共同时间的回放时段。
5.根据权利要求4所述的方法,其中,针对所述表示中所选择的一个表示的所述多媒体数据包括与基本视图相对应的视频数据,以及其中所述附加的多媒体数据包括增强层的视频数据。
6.根据权利要求4所述 的方法,其中,所述附加的多媒体数据包括与所述多媒体内容相关的外部时段。
7.根据权利要求4所述的方法,其中,所述附加的多媒体数据包括广告多媒体数据。
8.根据权利要求1所述的方法,还包括: 使用所述清单文件的数据来确定所述表示的可用性;以及 通过所述清单文件来确定所述表示的编码特性、显示特性和比特速率, 其中选择多个表示中的一个表示包括:基于所述表示的编码特性、所述表示的显示特性和所述表示的比特速率来选择所述表示。
9.根据权利要求8所述的方法,还包括: 确定客户端设备的编码能力;以及 确定所述客户端设备的呈现能力, 其中选择多个表示中的一个表示包括:选择所述一个表示使得所述客户端设备的编码能力满足所述表示的编码特性以及使得所述客户端设备的呈现能力满足所述表示的显示特性。
10.根据权利要求1所述的方法,还包括:基于从所述源接收的信息来确定所述源的可用性,其中选择所述源中的一个源包括:选择可用源中的一个源。
11.一种设备,包括: 多个接口,其中所述接口中的每一个接口通信地耦合到多个源中的相应一个源; 流管理单元,其被配置为使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,其中针对所述表示的多媒体数据是从所述多个源可获得的,以及其中所述流管理单元被配置为选择所述多个源中的一个源以从其获取针对所选择的表示的多媒体数据;以及 源组件,其被配置为经由所述接口中通信地耦合到所选择的源的一个接口来从所选择的源获取针对所选择的表示的多媒体数据。
12.根据权利要求11所述的设备,还包括: 计算机可读存储介质,其包括用于属于所述源组件和所述流管理单元的功能的指令;以及 一个或多个处理器,其被配置为执行用于所述源组件和所述流管理单元的指令。
13.根据权利要求11所述的设备,其中,所述多个接口包括以下各接口的一个或多个:实现超文本传输协议(HTTP)栈的第一网络接口、实现用于接收广播网络传输的广播栈的第二网络接口和用于从计算机可读存储介质获取数据的计算机可读存储介质接口。
14.根据权利要求13所述的设备,其中,所述计算机可读存储介质包括数字视频光盘(DVD)或蓝光光盘。
15.根据权利要求13所述的设备,其中,所述流管理单元被配置为:确定网络连接是否可用;当所述网络连接被确定为可用时,选择所述源中通信地耦合到所述第一网络接口或所述第二网络接口的一个源;以及当所述网络连接被确定为不可用时,选择所述源中通信地率禹合到所述计算机可读存储介质接口的一个源。
16.根据权利要求13所述的设备,其中,所述流管理单元被配置为:从所述第一网络接口接收预测的带宽信息,从所述第二网络接口接收指示广播是否可用以及针对所述广播的URL是否可用的信息,以及从所述计算机可读存储介质接口接收针对所述多媒体数据的URL是否可用的信息,以及其中所述流管理单元被配置为至少部分地基于所接收的信息来选择所述源中的一个源。
17.根据权利要求11所述的设备, 其中所述流管理单元被配置为选择来自所述源中除了所选择的源以外的第二源的附加的多媒体数据,其中所述多媒体数据和所述附加的多媒体数据对应于共同时间的回放时段,以及 其中所述源组件被配置为经由通信地耦合到所述第二源的接口来获取所述附加的多媒体数据。
18.一种用于获取多媒体数据的设备,所述设备包括: 用于使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据的单元,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的; 用于选择所述多个源中的一个源以从其获取针对所选择的表示的多媒体数据的单元;以及 用于从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分的单元。
19.根据权利要求18所述的设备,其中所述多个源包括单播服务器设备、广播服务器设备和本地存储介质中的一个或多个。
20.根据权利要求18所述的设备,其中,所述清单文件包括根据可扩展标记语言(XML)来格式化的媒体呈现描述(MPD)文件,其中所述Mro文件包括指示所述表示的区段的统一资源定位符(URL)和所述表示的特性的信息。
21.根据权利要求18所述的设备,还包括:用于从所述源中除了所选择的源以外的第二源获取附加的多媒体数据的单元,其中所述多媒体数据和所述附加的多媒体数据对应于共同时间的回放时段。
22.根据权利要求21所述的设备,其中,针对所述表示中所选择的一个表示的所述多媒体数据包括与基本视图相对应的视频数据,以及其中所述附加的多媒体数据包括增强层的视频数据。
23.根据权利要求21所述的设备,其中,所述附加的多媒体数据包括与所述多媒体内容相关的外部时段。
24.根据权利要求21所述的设备,其中,所述附加的多媒体数据包括广告多媒体数据。
25.根据权利要求18所述的设备,还包括: 用于使用所述清单文件的数据来确定所述表示的可用性的单元;以及 用于通过所述清单文件来确定所述表示的编码特性、显示特性和比特速率的单元, 其中所述用于选择多个表示中的一个表示的单元包括:用于基于所述表示的编码特性、所述表示的显示特性和所述表示的比特速率来选择所述表示的单元。
26.根据权利要求25所述的设备,还包括: 用于确定所述设备的编码能力的单元;以及 用于确定所述设备的呈现能力的单元, 其中所述用于选择多个表示中的一个表示的单元包括:用于选择所述一个表示使得所述设备的编码能力满足所述表示的编码特性以及使得所述设备的呈现能力满足所述表示的显示特性的单元。
27.根据权利要求18所述的设备,还包括:用于基于从所述源接收的信息来确定所述源的可用性的单元,其中所述用于选择所述源中的一个源的单元包括:用于选择可用源中的一个源的单元。
28.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有在其上存储的指令,所述指令在被执行时使处理器进行以下操作: 使用针对多媒体内容的清单文件来选择多个表示中的一个表示以从其获取所述多媒体内容的多媒体数据,其中所述清单文件包括指示所述多媒体内容的所述多个表示的信息,其中所述多个表示包括所述表示中所选择的一个表示,以及其中针对所述表示的多媒体数据是从多个源可获得的; 选择所述多个源中的一个源以从其获取针对所选择的表示的多媒体数据;以及 从所选择的源获取针对所选择的表示的所述多媒体数据的至少一部分。
29.根据权利要求28所述的计算机程序产品,其中,所述多个源包括单播服务器设备、广播服务器设备和本地存储介质中的一个或多个。
30.根据权利要求28所述的计算机程序产品,其中,所述清单文件包括根据可扩展标记语言(XML)来格式化的媒体呈现描述(MPD)文件,其中所述MPD文件包括指示所述表示的区段的统一资源定位符(URL)和所述表示的特性的信息。
31.根据权利要求28所述的计算机程序产品,还包括用于使所述处理器进行以下操作的指令:从所述源中除了所选择的源以外的第二源获取附加的多媒体数据,其中所述多媒体数据和所述附加的多媒体数据对应于共同时间的回放时段。
32.根据权利要求31所述的计算机程序产品,其中,针对所述表示中所选择的一个表示的所述多媒体数据包括与基本视图相对应的视频数据,以及其中所述附加的多媒体数据包括增强层的视频数据。
33.根据权利要求31所述的计算机程序产品,其中,所述附加的多媒体数据包括与所述多媒体内容相关的外部时段。
34.根据权利要求31所述的计算机程序产品,其中,所述附加的多媒体数据包括广告多媒体数据。
35.根据权利要求28所述的计算机程序产品,还包括用于使所述处理器进行以下操作的指令: 使用所述清单文件的数据来确定所述表示的可用性;以及 通过所述清单文件来确定所述表示的编码特性、显示特性和比特速率, 其中所述用于使所述处理器选择多个表示中的一个表示的指令包括用于使所述处理器进行以下操作的指令:基于所述表示的编码特性、所述表示的显示特性和所述表示的比特速率来选择所述表示。
36.根据权利要求35所述的计算机程序产品,还包括用于使所述处理器进行以下操作的指令: 确定客户端设备的编码能力;以及 确定所述客户端设备的呈现能力, 其中所述用于使所述处理器选择多个表示中的一个表示的指令包括用于使所述处理器进行以下操作的指令:选择所述一个表示使得所述客户端设备的编码能力满足所述表示的编码特性以及使得所述客户端设备的呈现能力满足所述表示的显示特性。
37.根据权利要求28所述的计算机程序产品,还包括用于使所述处理器进行以下操作的指令:基于从所述源接收的信息来确定所述源的可用性,其中所述用于使所述处理器选择所述源中的一个源的指令包括用于使所述处理器选择可用源中的一个源的指令。
【文档编号】H04L29/06GK104081785SQ201280052559
【公开日】2014年10月1日 申请日期:2012年8月31日 优先权日:2011年9月7日
【发明者】T·M·纳佳拉杰, J·P·巴龙, R·纳拉亚南, G·卡帕利 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1