首页> 中国专利> 替换丢失的媒体数据以进行网络流式传输

替换丢失的媒体数据以进行网络流式传输

摘要

在一个例子中,一种设备包括一个或多个处理器,所述处理器被配置为:在经由根据基于HTTP的动态自适应流式传输(DASH)的网络传输接收了媒体数据的片段的其余部分之后,确定所述媒体数据的所述片段的至少一部分的数据已经丢失;基于所述确定,在对所述媒体数据进行解码之前,向所述片段添加默认数据来替换已经被确定为丢失的所述数据,以便形成替换片段;以及输出所述替换片段的媒体数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-01

    授权

    授权

  • 2015-08-19

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130726

    实质审查的生效

  • 2015-04-08

    公开

    公开

说明书

技术领域

本公开内容涉及经编码的多媒体数据的存储和传输。

背景技术

数字视频功能可以被纳入到许多不同的设备中,包括:数字电视、数 字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、 数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控 制台、蜂窝式或卫星无线电话、视频电话会议设备等。数字视频设备实现 视频压缩技术以便更加高效地发送和接收数字视频信息,视频压缩技术例 如,在依据MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第 10部分高级视频编码(AVC)、即将到来的高效视频编码(HEVC)标准以 及这些标准的扩展所定义的标准中描述的那些技术。

视频压缩技术执行空间预测和/或时间预测来减少或去除视频序列中固 有的冗余。对于基于块的视频编码而言,可以将视频帧或条带划分成块。 还可以对每个块进行进一步划分。使用相对于相邻块的空间预测对帧内编 码(I)帧或条带中的块进行编码。可以使用相对于相同帧或条带中的相邻 块的空间预测对帧间编码(P或B)帧或条带中的块进行编码,或者可以使 用相对于其它参考帧的时间预测。

在对视频数据进行编码之后,可以对视频数据进行分组以便传输或存 储。可以将视频数据组合成符合诸如国际标准化组织(ISO)基础媒体文件 格式及其扩展、MP4文件格式以及高级视频编码(AVC)文件格式之类的 多种标准中的任何一种标准的视频文件。可以用诸如使用网络流式传输通 过计算机网络进行传输之类的多种方式来传输这样的经分组的视频数据。

发明内容

概括地说,本公开内容描述了关于减轻通过网络来对媒体数据进行流 式传输的境况中的错误的技术。例如,当使用基于HTTP的动态自适应流 式传输(dynamic adaptive streaming over HTTP,DASH)对媒体数据进行流 式传输时,可以使用这些技术。使用DASH的媒体数据的流式传输可以使 用例如单播(例如,使用TCP/IP上的HTTP)、多播或广播(例如,使用增 强型多媒体广播和多播服务(eMBMS))来实现。

通常将媒体数据划分成被称为片段的单个媒体文件以便于通过网络来 流式传输。可以使用一个或多个网络分组,通过网络来发送这些片段中的 每个片段。在一些情况下,片段的这些分组中的一个或多个分组可能丢失, 例如,当分组根本没有到达、当分组没有按时到达或者当分组的数据被破 坏时。本公开内容的技术包括:通过利用一组默认数据(例如,默认音频 数据和/或视频数据)去替换丢失的数据来减轻这样的错误。例如,丢失的 片段的全部或一部分可由默认音频数据和/或视频数据来替换。

在一个例子中,一种用于呈现媒体数据的方法包括:在经由根据基于 HTTP的动态自适应流式传输(DASH)的网络传输接收了媒体数据的片段 的其余部分之后,确定所述媒体数据的所述片段的至少一部分的数据已经 丢失;基于所述确定,在对所述媒体数据进行解码之前,向所述片段添加 默认数据来替换已经被确定为丢失的所述数据,以便形成替换片段;以及 输出所述替换片段的媒体数据。

在另一例子中,一种用于呈现媒体数据信息的设备包括一个或多个处 理器,所述处理器被配置为:在经由根据基于HTTP的动态自适应流式传 输(DASH)的网络传输接收了媒体数据的片段的其余部分之后,确定所述 媒体数据的所述片段的至少一部分的数据已经丢失;基于所述确定,在对 所述媒体数据进行解码之前,向所述片段添加默认数据来替换已经被确定 为丢失的所述数据,以便形成替换片段;以及输出所述替换片段的媒体数 据。

在另一例子中,一种用于呈现媒体数据信息的设备包括:用于在经由 根据基于HTTP的动态自适应流式传输(DASH)的网络传输接收了媒体数 据的片段的其余部分之后,确定所述媒体数据的所述片段的至少一部分的 数据已经丢失的单元;用于基于所述确定,在对所述媒体数据进行解码之 前,向所述片段添加默认数据来替换已经被确定为丢失的所述数据,以便 形成替换片段的单元;以及用于输出所述替换片段的媒体数据的单元。

在另一例子中,一种计算机程序产品包括计算机可读存储介质,所述 计算机可读存储介质包括当被执行时使一个或多个处理器执行以下操作的 指令:在经由根据基于HTTP的动态自适应流式传输(DASH)的网络传输 接收了媒体数据的片段的其余部分之后,确定所述媒体数据的所述片段的 至少一部分的数据已经丢失;基于所述确定,在对所述媒体数据进行解码 之前,向所述片段添加默认数据来替换已经被确定为丢失的所述数据,以 便形成替换片段;以及输出所述替换片段的媒体数据。

在另一例子中,一种用于发送媒体数据信息的方法包括:确定将要向 至少一个客户端设备发送的媒体内容的表示;确定与所确定的表示相对应 的默认数据;向所述至少一个客户端设备发送所确定的默认数据,以使所 述至少一个客户端设备利用所述默认数据来替换丢失的数据;以及在向所 述至少一个客户端设备发送所确定的默认数据之后,向所述至少一个客户 端设备发送所确定的表示的媒体数据。

在另一例子中,一种用于发送媒体数据信息的设备包括一个或多个处 理器,其被配置为:确定将要向至少一个客户端设备发送的媒体内容的表 示;以及确定与所确定的表示相对应的默认数据;以及一个或多个网络接 口,其被配置为:向所述至少一个客户端设备发送所确定的默认数据,以 使所述至少一个客户端设备利用所述默认数据来替换丢失的数据;以及在 向所述至少一个客户端设备发送所确定的默认数据之后,向所述至少一个 客户端设备发送所确定的表示的媒体数据。

在另一例子中,一种用于发送媒体数据信息的设备包括:用于确定将 要向至少一个客户端设备发送的媒体内容的表示的单元;用于确定与所确 定的表示相对应的默认数据的单元;用于向所述至少一个客户端设备发送 所确定的默认数据,以使所述至少一个客户端设备利用所述默认数据来替 换丢失的数据的单元;以及用于在向所述至少一个客户端设备发送所确定 的默认数据之后,向所述至少一个客户端设备发送所确定的表示的媒体数 据的单元。

在另一例子中,一种计算机程序产品包括计算机可读存储介质,所述 计算机可读存储介质包括使一个或多个处理器执行以下操作的指令:确定 将要向至少一个客户端设备发送的媒体内容的表示;确定与所确定的表示 相对应的默认数据;向所述至少一个客户端设备发送所确定的默认数据, 以使所述至少一个客户端设备利用所述默认数据来替换丢失的数据;以及 在向所述至少一个客户端设备发送所确定的默认数据之后,向所述至少一 个客户端设备发送所确定的表示的媒体数据。

在附图和下面的描述中阐述了一个或多个例子的细节。通过这些描述 和附图并通过权利要求,其它特征、目标和优点将是显而易见的。

附图说明

图1是示出了实现用于通过网络来对媒体数据进行流式传输的技术的 示例性系统的框图。

图2是示出了表示由客户端设备接收的数据的图形80以及表示由客户 端设备呈现的数据的图形86的概念图。

图3是示出了示例性多媒体内容的元素的概念图。

图4是示出了示例性视频文件的元素的框图,示例性视频文件可以与 多媒体内容的表示的片段相对应。

图5是示出了用于提供和使用模板数据来替换丢失的媒体数据的示例 性方法的流程图。

具体实施方式

概括地说,本公开内容描述了关于通过网络对诸如音频数据和视频数 据之类的多媒体数据进行流式传输的技术。本公开内容的技术可以结合基 于HTTP的动态自适应流式传输(DASH)来使用。本公开内容描述了可以 结合网络流式传输来执行的各种技术,这些技术中的任何或全部技术可以 被单独地或以任意组合的形式实现。如同下面更详细描述的,执行网络流 式传输的各种设备可以被配置为实现本公开内容的技术。

根据DASH和用于通过网络来流式传输数据的类似技术,多媒体内容 (例如,电影或其它媒体内容,其还可以包括音频数据、视频数据、文本 叠加或其它数据)可以以多种方式来进行编码并且具有多种特性。内容准 备设备可以形成对相同的多媒体内容的多种表示。每种表示可以与一组特 定的特性(例如编码和呈现特性)相对应,以便提供可由具有各种编码和 呈现能力的多种不同的客户端设备使用的数据。

此外,具有各种比特速率的表示可以虑及带宽适配。例如,客户端设 备可以确定当前可用的带宽的量,并基于可用带宽的量连同该客户端设备 的编码和呈现能力来选择表示。使用DASH来执行带宽适配的客户端设备 可以使用诸如HTTP之类的单播网络协议来取回媒体数据。或者或另外, 服务器设备可以针对广播或多播选择合适的表示。例如,服务器设备可以 向与多播组相关联的互联网协议(IP)地址发送这些表示中的一种表示的媒 体数据,并且客户端设备可以请求加入该组以便接收该媒体数据。

概括地说,DASH提供用于通过网络对媒体数据进行流式传输的技术。 例如,如同上面所讨论的,可以结合单播、广播或多播网络协议来使用 DASH。在一些情况下,导致媒体数据丢失的错误可能发生。例如,当分组 没有被送达,或者当分组的数据被破坏时,媒体数据的丢失可能发生。对 于广播或多播网络会话而言,服务器设备通常被配置为继续进行对广播会 话的分组的流式传输,因此,客户端设备可能没有机会请求来自服务器设 备的对丢失或被破坏的分组的重传。此外,等待直到重传的分组到达可能 导致回放的延时,这会对用户体验造成负面影响。因此,在许多情况下, 当一个或多个分组丢失或被破坏时,客户端设备将简单地显示没有音频的 空白屏幕,然后,在接收到没有错误的后续分组之后恢复回放。

本公开内容的技术通常涉及在根据DASH或类似的流式传输网络协议 发送(例如,单播、多播或广播)媒体数据的场景中提升用户体验。客户 端设备可以被配置为:当数据丢失时,使用预先确定的(或默认)音频数 据和/或视频数据来进行呈现,而不是当一个或多个分组丢失时显示没有音 频的空白屏幕。以这种方式,当客户端设备检测到分组丢失或破坏时,客 户端设备可以切换到预先确定的音频数据和/或视频数据。该预先确定的音 频数据和/或视频数据可以包括:例如,网络徽标屏幕、网络主题曲、季节 性相关显示、与内容有关的显示(例如,对于足球比赛而言是足球场)或 其它这样的数据。本公开内容通常涉及已经“丢失”的数据,如包括来自 从未到达的分组、到达太晚以至于没用的分组以及到达但已经被破坏的分 组中的数据。同样地,预先确定的音频数据可以包括与内容有关的音频, 例如,对于体育事件而言是人群的嘈杂声。

在一些情况下,可能丢失了音频数据而没有丢失视频数据,在这种情 况下,可以显示所接收的视频数据而没有音频。或者,如果当尚未接收到 音频时就接收了隐藏字幕数据,那么当音频数据已经丢失时,客户端设备 可以自动地开始显示隐藏字幕。同样地,可能丢失了视频数据而没有丢失 音频数据,在这种情况下,可以显示默认视频并且可以呈现所接收的音频 数据。以这种方式,这些技术可以在分组丢失或分组破坏的情况下提升用 户体验。

在各个例子中,将要呈现的音频数据和/或视频数据可以被:预先存储 在客户端设备上(例如,在客户端设备的配置数据中);最初从服务器设备 向客户端设备发送(例如,在广播开始时);周期性发送(其可以是周期性 发送的相同的默认数据,或者是可以在每个周期发送的新的默认数据);在 广播或多播期间作为边信息发送(即,作为单独传输,例如,响应于单播 请求);或者从服务器设备向客户端设备发送一次或多次。

通常,媒体数据被安排成一系列片段。每个片段可以与媒体数据的特 定时间部分相对应,并且可以具有特定持续时间(例如,两秒)。片段可以 包括多个媒体分段,其可以与视频数据的单个帧或条带相对应。片段还可 以包括描述媒体分段的位置的报头数据,例如,相对于媒体分段的字节偏 移以及媒体分段的相应时间位置。片段可以与(例如,回放持续时间为两 秒至十秒或者更长的)单个文件相对应。这些文件中的每个文件可由用于 单播的特定的统一资源定位符(URL)来寻址。在单播的例子中,客户端 设备可以提交针对在特定URL处的文件的HTTP GET请求以便取回文件。

可以将片段的数据封装在单独的分组中。根据本公开内容的技术,当 接收到片段的分组中的一些而非全部分组时,客户端设备可以尝试使用尽 可能多的片段,并且利用默认音频数据和/或视频数据来填充(与丢失的数 据相对应的)片段的其余部分。例如,这可以包括读取所接收分组的未被 破坏的数据以便确定其媒体数据的标识信息。

因此,客户端设备可以被配置为具有与默认音频数据和视频数据相对 应的模板。当来自片段的一个或多个分组的数据丢失时(例如,由于没有 到达,到达太晚或破坏),客户端设备可以使用该模板,通过在与丢失的数 据相对应的位置处插入默认音频数据和视频数据,来构建片段的其余部分。 模板可以提供字段,在这些字段中插入当重新构建片段时客户端设备可以 填入的定时信息。客户端设备还可以修改片段的报头数据来反映默认数据 的添加,例如,以便确保从经修改的片段中正确取回数据。

例如,通常使用帧编号(frame_num)值和图像顺序计数(picture order  count,POC)值中的任一个或二者来标识经编码的视频序列的图像,其中, frame_num值通常指示图像的解码顺序,而POC值通常指示图像的输出或 显示顺序。为了使用默认视频数据,客户端设备可以使用所接收的视频数 据的frame_num值和/或POC值来确定默认视频数据的合适的frame_num 值和/或POC值。在一些例子中,默认视频数据可以从对应于瞬时解码器刷 新(IDR)图像的随机访问点(RAP)开始。根据相关的视频编码标准,客 户端设备可以相应地设置IDR图像的frame_num值。例如,ITU-T  H.264/AVC(高级视频编码)标准规定IDR图像应当具有为“0”的frame_num 值。此外,将要插入的默认数据的量可以取决于丢失的或被破坏的数据的 量。因此,所使用的POC值的范围还可以取决于将用作丢失的或被破坏的 数据的替换数据的默认视频数据的图像的数量。

如同上面所讨论的,本公开内容的技术可以与诸如DASH之类的流式 传输网络协议结合使用。DASH对于通过多种移动网络进行流式内容的传 送而言是有用的。事实上,DASH可以有效地用于像eMBMS(增强型多媒 体广播多播服务)的广播网络,其中,DASH片段可以通过网络向多播服 务客户端(其可以在客户端设备上实现)广播,并且然后使用HTTP流式 传输到DASH客户端。在由Stockhammer等人于2012年4月4日递交的序 列号为No.13/439,556的美国专利申请“NETWORK STREAMING OF  VIDEO DATA USING BYTE RANGE REQUESTS”中描述了在多播网络中 使用DASH的技术的例子。

然而,如同上面所讨论的,广播网络像其它计算机网络一样可能遭受 分组丢失,这可能导致丢失的片段。这会导致糟糕的用户体验。在存在随 机错误的情况下,多播服务客户端可能无法向DASH客户端传送片段,并 且DASH HTTP接口可能不具有本公开内容的技术之外的向DASH客户端 指示这样的丢失的机制。因此,本公开内容的技术可以用于提供简单、清 楚的机制来克服分组和片段错误,以便向终端用户提供改进的用户体验。

具体而言,根据本公开内容的技术,在存在随机网络错误的情况下, 多播服务客户端可以接收DASH片段的分组中的一些分组,但不是整个片 段。在一些例子中,多播服务客户端可以向DASH客户端发送HTTP响应 “404”消息,以指示没有接收到完整的DASH片段。然后,DASH客户端 和多媒体播放器可以引入跳跃或差错恢复来克服片段丢失。然而,根据本 公开内容的技术,多播服务客户端可以执行多个步骤来克服分组丢失。

例如,在片段错误的情况下,多播服务客户端可以发送存储在非易失 性存储装置中的默认片段的数据。因此,当DASH客户端接收默认片段时, 它可以启用差错恢复措施。作为另一例子,当空白屏幕被另外呈现扩展的 时间段时,可以呈现存储在非易失性存储器中的默认片段。即,多媒体播 放器可以检测到没有接收到用于呈现某个数量的帧的媒体数据,并且因此 可以开始播放默认媒体数据,而不是继续在执行该媒体播放器的设备的显 示器上呈现空白屏幕。作为又一例子,在接收到DASH片段的一些部分但 存在缺失部分的情况下,多播服务客户端可以使用片段的所接收的分组和 存储的默认片段来生成DASH片段的插入版本,其在本文中也被称为替换 片段。可以向DASH客户端发送替换片段,这可以使得媒体播放器播放替 换片段的数据。在一些例子中,多播服务客户端可以保持接收片段的历史 记录,并生成DASH片段的缺失部分的插入版本。

诸如媒体内容的表示的片段之类的视频文件可以符合根据以下格式中 的任意一种格式进行封装的视频数据:ISO基础媒体文件格式、可适性视频 编码(Scalable Video Coding,SVC)文件格式、高级视频编码(AVC)文 件格式、第三代合作伙伴计划(3GPP)文件格式和/或多视图视频编码 (Multiview Video Coding,MVC)文件格式或者其它类似的视频文件格式。

ISO基础媒体文件格式被设计为包含用于以促进媒体的互换、管理、编 辑和呈现的灵活、可扩展格式来呈现的定时媒体信息。在MPEG-4第12部 分,ISO/IEC JTC1/SC29/WG11,“ISO/IEC 14496—Coding of Audio-Visual  Objects”,ISO基础媒体文件格式,2010,中规定了ISO基础媒体文件格式 (ISO/IEC 14496-12:2004),其定义了基于时间的媒体文件的通用结构。ISO 基础媒体文件格式用作诸如为支持H.264/MPEG-4AVC视频压缩所定义的 AVC文件格式(ISO/IEC 14496-15)、3GPP文件格式、SVC文件格式和MVC 文件格式之类的家族中的其它文件的基础。3GPP文件格式和MVC文件格 式是AVC文件格式的扩展。ISO基础媒体文件格式包含媒体数据的定时序 列的定时、结构和媒体信息,例如音频视频呈现。文件结构可以是面向对 象的。可以很容易地将文件分解成基本对象,并且对象的类型隐含着对象 的结构。

符合ISO基础媒体文件格式(及其扩展)的文件可以形成一系列对象, 其被称为“盒”。盒中可以包含ISO基础媒体文件格式中的数据,从而没有 其它数据需要被包含在文件中,并且在文件中的盒外面不需要有数据。这 包括特定文件格式所需要的初始签名。“盒”可以是由唯一类型标识符和长 度定义的面向对象的构件。通常,呈现被包含在一个文件中,并且媒体呈 现是自包含的。电影容器(电影盒)可以包含媒体的元数据,并且视频和 音频帧可以被包含在媒体数据容器中,而且可以在其它文件中。

表示(运动序列)可以被包含在若干文件中,有时被称为片段。定时 信息和帧(位置和大小)信息通常在ISO基础媒体文件中,并且辅助文件 基本上可以使用任何格式。对于包含该呈现的系统而言,这个呈现可以是 “本地的”,或者可以通过网络或其它流传送机制来提供。

当通过流式传输协议传送媒体时,可能需要将媒体从其在文件中的表 达的方式转换。这样的一个例子是当媒体通过实时传输协议(RTP)发送时。 在文件中,例如,将视频的每个帧连续地存储为文件格式的采样。在RTP 中,必须遵守所使用的编解码器专用的分组化规则来将这些帧置于RTP分 组中。流式传输服务器可以被配置为:在运行时计算这样的分组化。然而, 存在对流式传输服务器的辅助的支持。

例如,根据基于HTTP的动态自适应流式传输(DASH),本公开内容 的技术可以适用于诸如HTTP流式传输之类的网络流式传输协议。在HTTP 流式传输中,频繁使用的操作包括GET和部分GET。GET操作取回与给定 的统一资源定位符(URL)或其它标识符(例如URI)相关联的整个文件。 部分GET操作接收字节范围作为输入参数,并取回与所接收的字节范围相 对应的文件的连续多个字节。因此,可以提供电影分段用于HTTP流式传 输,这是因为部分GET操作可以得到一个或多个单独的电影分段。注意: 在电影分段中,可能存在不同轨道的若干轨道分段。在HTTP流式传输中, 媒体表示可以是客户端可访问的数据的结构化集合。客户端可以请求并下 载媒体数据信息,以便向用户呈现流式传输服务。

在使用HTTP流式传输来流式传输3GPP数据的例子中,可以存在针对 多媒体内容的视频数据和/或音频数据多个表示。可以在媒体呈现描述 (MPD)的数据结构中定义这些表示的清单。媒体表示可以与HTTP流式 传输客户端设备可访问的数据的结构化集合相对应。HTTP流式传输客户端 设备可以请求并下载媒体数据信息,以便向该客户端设备的用户呈现流式 传输服务。媒体表示可以在MPD数据结构中描述,其可以包括MPD的更 新。

每个时段可以包含针对相同媒体内容的一个或多个表示。表示可以是 音频数据或视频数据的多个可替换的经编码版本中的一个版本。表示可以 根据诸如编码类型之类的各种特性而不同,例如,根据视频数据的比特速 率、分辨率和/或编解码器,以及音频数据的比特速率、语言和/或编解码器。 术语“表示”可以用于指代与多媒体内容的特定时段相对应的、并且以特 定方式编码的经编码的音频数据或视频数据的一部分。

特定时段的表示可以分配给组,其可以由MPD中的组属性来指示。相 同组中的表示通常被认为可以相互替代。例如,可以将特定时段的视频数 据的每个表示分配给同一组,从而可以选择这些表示中的任何一个表示用 于解码,以便显示该相应时段的多媒体内容的视频数据。一个时段内的媒 体内容可由来自组0的任何一个表示来表示(如果存在的话),或者在一些 例子中,由来自每个非零组的最多一个表示的组合来表示。可以相对于时 段的开始时刻来表达时段的每个表示的定时数据。

表示可以包括一个或多个片段。每个表示可以包括初始化片段,或者 表示的每个片段可以是自初始化的。当呈现时,初始化片段可以包含用于 访问表示的初始化信息。概括地说,初始化片段并不包含媒体数据。片段 可由诸如统一资源定位符(URL)之类的标识符唯一引用。MPD可以为每 个片段提供标识符。在一些例子中,MPD还可以以范围属性的形式提供字 节范围,该属性可以与可由URL访问的文件内的片段的数据相对应。

每个表示还可以包括一个或多个媒体成分,其中,每个媒体成分可以 与一种单独媒体类型(例如,音频、视频和/或定时文本(例如,用于隐藏 字幕))的经编码的版本相对应。媒体成分可以是跨越一个表示内的连续媒 体片段的边界时间连续的。因此,表示可以与单个文件或一系列片段相对 应,其每一个可以包括相同的编码和渲染特性。

应当理解的是:用于利用模板数据(例如,默认音频数据和视频数据) 来替换丢失的数据的本公开内容的技术可以在媒体片段上执行,媒体片段 可以以一个或多个网络分组的形式被发送。当分组的数据被破坏时,本公 开内容的技术可以包括:利用模板的默认数据来替换被破坏的分组的该部 分的音频数据和/或视频数据。因此,默认数据可以是单独的、独立的音频 数据和/或视频数据,而不是尝试使用诸如前向纠错(FEC)之类的其它技 术来对破坏或丢失进行纠正。

此外,替换数据(即,默认数据)可以与实际接收并可被正确解码的 周围数据相对无关,即,不是潜在、一般的主题关系(例如,基于媒体内 容的主题来确定默认数据)。例如,丢失的媒体数据可由(例如,在实际媒 体数据之前)单独发送的默认数据替换,而不是通过重复或重播一个或多 个经正确解码的图像或经正确解码的音频采样来替换丢失的或被破坏的数 据。因此,在片段层处检测到数据丢失的情况下,在该片段层处,可以由 客户端设备或其它相对下游的网络设备将默认数据注入比特流。此外,通 过利用模板数据来替换丢失的媒体数据,视频解码器或音频解码器可以正 常地对默认音频数据或视频数据进行解码,而不需要在解码器层处确定发 生了任何丢失。

图1是示出了实现用于通过网络对媒体数据进行流式传输的技术的示 例性系统10的框图。在这个例子中,系统10包括:内容准备设备20、服 务器设备60以及客户端设备40。客户端设备40和服务器设备60通过网络 74以通信的方式被耦合,网络74可以包括互联网。在一些例子中,内容准 备设备20和服务器设备60还可以通过网络74或另一网络被耦合,或者可 以直接地以通信的方式被耦合。在一些例子中,内容准备设备20和服务器 设备60可以包括相同的设备。在一些例子中,内容准备设备20可以向包 括服务器设备60的多个服务器设备分发准备的内容。类似地,在一些例子 中,客户端设备40可以与包括服务器设备60的多个服务器设备通信。

在图1的例子中,内容准备设备20包括音频源22和视频源24。音频 源22可以例如包括产生表示将要由音频编码器26编码的所捕获的音频数 据的电信号的麦克风。或者,音频源22可以包括:存储之前记录的音频数 据的存储介质、诸如计算机合成器之类的音频数据生成器或者任何其它的 音频数据源。视频源24可以包括:产生将要由视频编码器28编码的视频 数据的视频摄像机、使用之前记录的视频数据编码的存储介质、诸如计算 机图形源之类的视频数据生成单元、或者任何其它的视频数据源。内容准 备设备20不必在全部例子中都以通信的方式耦合到服务器设备60,但可以 将多媒体内容存储到被服务器设备60(例如,直接通过存储介质或通过另 一服务器设备)读取的单独的介质。

原始音频数据和视频数据可以包括模拟或数字数据。模拟数据可以在 被音频编码器26和/或视频编码器28编码之前被数字化。当说话参与者正 在说话时,音频源22可以获得来自说话参与者的音频数据,而且视频源24 可以同时获得该说话参与者的视频数据。在其它例子中,音频源22可以包 括:包括所存储的音频数据的计算机可读存储介质;而视频源24可以包括: 包括所存储的视频数据的计算机可读存储介质。以这种方式,本公开内容 中描述的技术可以应用于直播的、流式传输的、实时的音频数据和视频数 据,或者存档的、预先记录的音频数据和视频数据。

与视频帧相对应的音频帧通常是包含由音频源22在与视频源24捕获 包含在视频帧中的视频数据的同时捕获的音频数据的音频帧。例如,当说 话参与者通常通过说话来产生音频数据时,音频源22捕获音频数据而视频 源24同时(即,在音频源22捕获音频数据的同时)捕获说话参与者的视 频数据。故音频帧可以在时间上与一个或多个特定视频帧相对应。因此, 与视频帧相对应的音频帧通常与以下情况相对应:在该情况中,音频数据 和视频数据同时被捕获,并且对于该情况而言,音频帧和视频帧分别包括 同时捕获的音频数据和视频数据。

在一些例子中,音频编码器26可以将表示记录经编码的音频帧的音频 数据的时刻的时间戳编码到每个经编码的音频帧中,并且类似地,视频编 码器28可以将表示记录经编码的视频帧的视频数据的时刻的时间戳编码到 每个经编码的视频帧中。在这些例子中,与视频帧相对应的音频帧可以包 括:包括时间戳的音频帧以及包括相同时间戳的视频帧。内容准备设备20 可以包括内部时钟,音频编码器26和/或视频编码器28可以根据该内部时 钟生成时间戳,或者音频编码器26和视频编码器28可以使用该内部时钟 来将音频数据和视频数据分别与时间戳相关联。

在一些例子中,音频源22可以向与音频数据被记录的时刻相对应的音 频编码器26发送数据,并且视频源24可以向与视频数据被记录的时刻相 对应的视频编码器28发送数据。在一些例子中,音频编码器26可以将顺 序标识符编码到经编码的音频数据中,以便指示经编码的音频数据的相对 时间顺序,而不必指示音频数据被记录的绝对时刻,并且类似地,视频编 码器28也可以使用顺序标识符来指示经编码的视频数据的相对时间顺序。 类似地,在一些例子中,顺序标识符可以映射到时间戳,或者关联到时间 戳。

音频编码器26通常产生经编码的音频数据的流,而视频编码器28产 生经编码的视频数据的流。数据(无论是音频还是视频)的每个单独的流 可以被称为基本流。基本流是表示的单个、数字化编码(可能经压缩)的 成分。例如,表示的经编码的视频或音频部分可以是基本流。基本流可以 在被封装到视频文件内之前被转换成分组化基本流(packetized elementary  stream,PES)。在相同的表示内,流ID可以用于从其它基本流中流区分属 于一个基本流的PES分组。基本流的数据的基本单元是分组化基本流(PES) 分组。因此,经编码的视频数据通常与基本视频流相对应。类似地,音频 数据与一个或多个相应的基本流相对应。

举例而言,像很多视频编码标准一样,H.264/AVC定义了用于无错比 特流的语法、语义和解码过程,其中的任何一项符合某种配置(profile)或 级别(level)。H.264/AVC未指定编码器,但编码器的任务是保证所生成的 比特流对于解码器而言是符合标准的。在视频编码标准的上下文中,“配置” 与应用于它们的算法、特征、或工具以及约束的子集相对应。例如,如同 H.264标准所定义的,“配置”是由H.264标准规定的整个比特流语法的子 集。“级别”对应于对解码器资源消耗(诸如,例如,解码器存储和运算) 的限制,其与图像的分辨率、比特速率和宏块(MB)处理速率有关。配置 可以使用profile_idc(配置指示符)值以信号形式被发送,而级别可以使用 level_idc(级别指示符)值以信号形式被发送。

例如,H.264标准认识到:在由给定配置的语法所施加的范围内,根据 比特流中的语法元素所采取的值,例如所规定的经解码的图像的大小,仍 然可能要求编码器和解码器的性能的大变化。H.264标准还认识到:在许多 应用中,实现能够处理特定配置中的语法的全部假设使用的解码器既不现 实也不经济。因此,H.264标准将“级别”定义为对比特流中的语法元素的 值所施加的一组特定约束。这些约束可以是对值的简单限制。或者,这些 约束可以采取对值的算术组合的约束的形式(例如,图像宽度乘以图像高 度乘以每秒解码的图像的数量)。H.264标准还规定:单个实现可以针对每 个支持的配置支持不同的级别。可以提供多媒体内容的各种表示以便适应 H.264内的编码的各种配置和级别,以及适应其它编码标准,例如,即将到 来的高效视频编码(HEVC)标准。

符合配置的解码器通常支持该配置中定义的全部特征。例如,作为编 码特征,在H.264/AVC的基线配置中不支持B-图像编码,但在H.264/AVC 的其它配置中支持B-图像编码。符合特定级别的解码器应当能够对不要求 超过该级别中定义的限制的资源的任何比特流进行解码。配置和级别的定 义可以有助于可解释性。例如,在视频传输期间,针对整个传输会话,可 以协商一对配置和级别的定义,并达成一致。更具体而言,在H.264/AVC 中,级别可以定义,例如,对以下各项的限制:需要处理的块的数量、解 码图像缓冲(decoded picture buffer,DPB)大小、编码图像缓冲(coded picture  buffer,CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最 大数量以及B-块是否可以具有小于8x8像素的子块分块。以这种方式,解 码器可以确定该解码器是否能够正确地解码比特流。

诸如ITU-T H.261、H.262、H.263、MPEG-1、MPEG-2、H.264/MPEG-4 第10部分以及即将到来的高效视频编码(HEVC)标准之类的视频压缩标 准使用运动补偿的时间预测来减少时间冗余。编码器(例如,视频编码器 28)可以使用来自一些之前编码的图像(在本文中也被称为帧)的运动补 偿的预测,根据运动向量来对当前的经编码的图像进行预测。在典型的视 频编码中存在三种主要的图像类型。它们是帧内编码图像(“I-图像”或“I- 帧”)、预测图像(“P-图像”或“P-帧”)和双向预测图像(“B-图像”或“B- 帧“)。P-图像可以使用在时间顺序上在当前图像之前的参考图像。在B- 图像中,可以利用一个或两个参考图像来预测B-图像的每个块。在时间顺 序上,这些参考图像可以位于当前图像之前或之后。

在图1的例子中,内容准备设备20的封装单元30从视频编码器28接 收包括经编码的视频数据的基本流,并且从音频编码器26接收包括经编码 的音频数据的基本流。在一些例子中,视频编码器28和音频编码器26均 可以包括用于利用经编码的数据形成PES分组的分组器。在其它例子中, 视频编码器28和音频编码器26均可以与用于利用经编码的数据形成PES 分组的相应分组器对接。在其它例子中,封装单元30可以包括:用于利用 经编码的音频数据和视频数据形成PES分组的分组器。根据本公开内容的 技术,视频编码器28可以对将要用作丢失的视频数据的替代者的默认视频 数据进行编码,并且音频编码器26可以对将要用作丢失的音频数据的替代 者的默认音频数据进行编码。因此,如同下面所解释的,在媒体数据的片 段的一个或多个分组丢失的情况下(例如,被破坏或者没有能够有用地按 时到达),客户端设备40可以用默认音频数据和/或视频数据来替代丢失的 音频数据和/或视频数据。

视频编码器28可以以多种方式对多媒体内容的视频数据进行编码,以 便产生具有不同比特速率以及具有例如以下各种特性的对多媒体内容的不 同表示:像素分辨率、帧速率、对各种编码标准的符合、对各种编码标准 的各种配置和/或配置的级别的符合、具有一个或多个视图的表示(例如, 用于二维或三维回放)或者其它这样的特性。如同本公开内容中所使用的, 表示可以包括音频数据和视频数据的组合,例如,一个或多个音频基本流 和一个或多个视频基本流。每个PES分组可以包括标识了PES分组所属的 基本流的stream_id(流_id)。封装单元30负责将基本流组装成各种表示的 视频文件。

封装单元30从音频编码器26和视频编码器28接收表示的基本流的 PES分组,并利用这些PES分组形成相应的网络抽象层(NAL)单元。在 H.264/AVC(高级视频编码)的例子中,经编码的视频条带被组织成NAL 单元,其提供“网络友好的”视频表示寻址应用,例如视频电话、存储、 广播或流式传输。NAL单元可以被分类成视频编码层(VCL)NAL单元和 非VCL NAL单元。VCL单元可以包含用于核心压缩引擎的数据,并且可 以包括块和/或条带级别数据。其它NAL单元可以是非VCL NAL单元。在 一些例子中,一个时间点处的、通常呈现为基本编码图像的经编码的图像 可以被包含在接入单元中,其可以包括一个或多个NAL单元。

参数集可以(在序列参数集(SPS)中)包含序列级别报头信息,以 及(在图像参数集(PPS)中)包含偶尔变化的图像级别报头信息。对于 参数集(例如PPS和SPS),不需要针对每个序列或图像来重复偶尔变化的 信息,因此可以提升编码效率。此外,参数集的使用可以使得能够进行重 要报头信息的带外传输,从而避免了对用于差错恢复的冗余传输的需要。 在带外传输的例子中,可以在与其它NAL单元(例如,SEI NAL单元)不 同的信道上发送参数集NAL单元。

补充增强信息(SEI)可以包含对解码来自VCL NAL单元的经编码的 图像采样而言不是必要的,但可以对与解码、显示、差错恢复和其它目的 相关的过程进行协助的信息。SEI消息可以被包含在非VCL NAL单元中。 SEI消息是一些标准规范的规范化部分,因此对于符合标准的解码器实现而 言,并不总是强制的。SEI消息可以是序列级别SEI消息或图像级别SEI 消息。一些序列级别信息可以被包含在SEI消息中,例如在SVC的例子中 的可适性信息SEI消息,以及在MVC中的视图可适性信息SEI消息。这些 示例性SEI消息可以传递关于例如操作点的提取和操作点的特性的信息。 另外,封装单元30可以形成清单文件,例如描述表示的特性的媒体呈现描 述符(MPD)。封装单元30可以根据可扩展标记语言(XML)对MPD进 行格式化。

封装单元30可以向输出接口32提供多媒体内容的一个或多个表示的 数据以及清单文件(例如,MPD)。输出接口32可以包括网络接口或用于 向存储介质写入的接口,例如通用串行总线(USB)接口、CD或DVD刻 录机或烧录机、到磁存储介质或闪速存储介质的接口、或者用于存储或发 送媒体数据的其它接口。封装单元30可以向输出接口32提供多媒体内容 的每个表示的数据,输出接口32可以经由网络传输、直接传输或存储介质 向服务器设备60发送该数据。在图1的例子中,服务器设备60包括存储 各种多媒体内容64的存储介质62,每个多媒体内容64包括相应的清单文 件66和一个或多个表示68(例如,表示68A–68N)。

根据本公开内容的技术,模板可以用于指示在媒体数据丢失的情况下 将呈现的默认音频数据和/或视频数据。在一些例子中,可以提供多个模板。 模板数据可以被存储在存储介质62中,并被(一次性或周期性地)发送到 客户端设备40。在一些例子中,清单文件66可以包括:指示用于表示68 中的一个表示或者表示68的特定部分的相关模板的数据。例如,MPD,实 例化清单文件66,可以规定针对一个或多个时间段的一个或多个模板。因 此,如果针对相应时间段中的一个时间段的媒体数据丢失,那么客户端设 备40可以确定合适的模板,并使用该模板来替换丢失的媒体数据,例如, 丢失的音频数据或视频数据中的一项或二者。

或者或另外,PPS、SPS或SEI消息可以用于指示相关的模板数据。例 如,SEI消息可以包括:标识用于跟随该SEI消息的一系列视频数据的模板 的模板ID。可以在例如可由专门分配给模板数据的一个或多个唯一NAL 单元标识的单独的通信中发送模板和相应的默认音频数据和视频数据。

在一些例子中,模板数据可以作为外部时段来对待。服务器设备60可 以在向客户端设备40发送表示68中的一个表示的数据之前向客户端设备 40发送外部时段的数据(即,模板数据,包括默认的视频数据和音频数据 以及指示如何将音频数据和/或视频数据插入比特流的定时数据)。服务器设 备60还可以周期性地发送模板数据—例如,每个周期一次、每个片段一次、 每N个分钟、周期或片段一次(其中,N是整数或有理数)—或者以其它 间隔或以其它非周期方式。

在一些例子中,内容准备设备20可以提供模板数据,其可以包括默认 的音频数据和视频数据。即,内容准备设备20可以对媒体内容的默认音频 数据和/或视频数据进行编码,并向服务器设备60发送包括该默认音频数据 和视频数据的模板数据。在其它例子中,服务器设备60可以提供例如来自 之前编码的默认音频数据和/或视频数据的模板数据。在其它例子中,内容 准备设备20和服务器设备60二者都可以提供模板数据。例如,内容准备 设备20可以产生多组不同的模板数据,并且服务器设备60可以从这多组 模板数据中选择合适的一组。在任何情况下,服务器设备60都可以根据本 公开内容的技术向客户端设备40提供模板数据。

服务器设备60包括请求处理单元70和网络接口72。在一些例子中, 服务器设备60可以包括多个网络接口,包括网络接口72。此外,服务器设 备60的特征中的任意或全部特征可以在内容分发网络的其它设备(例如, 路由器、桥路、代理设备、开关或其它设备)上实现。在一些例子中,内 容分发网络的中间设备可以对多媒体内容64的数据进行高速缓存,并且包 括与服务器设备60的组件实质上相配的组件。通常,网络接口72被配置 为:经由网络74来发送和接收数据。

请求处理单元70被配置为:从客户端设备(例如客户端设备40)接收 针对存储介质72的数据的网络请求。例如,如同R.Fielding等人于1999 年6月在IETF的网络工作组上提出的RFC 2616“超文本传输协议— HTTP/1.1(Hypertext Transfer Protocol–HTTP/1.1)”中所描述的,请求处理 单元70可以实现超文本传输协议(HTTP)版本1.1。即,请求处理单元70 可以被配置为:接收HTTP GET或部分GET请求,并响应于这些请求提供 多媒体内容64的数据。这些请求可以例如使用片段的URL来指定表示68 中的一个表示的片段。在一些例子中,请求还可以指定片段的一个或多个 字节范围。在一些例子中,可以使用部分GET请求来指定片段的字节范围。 请求处理单元70还可以被配置为:服务HTTP HEAD请求以便提供表示68 中的一个表示的片段的报头数据。在任何情况下,请求处理单元70都可以 被配置为:处理这些请求以便向进行请求的设备(例如,客户端设备40) 提供所请求的数据。

在一些例子中,客户端设备40可以被配置为:请求针对所选择的多媒 体内容的模板数据,例如,针对多媒体内容64的模板数据。在其它例子中, 服务器设备60可以例如一次性或周期性地向客户端设备40发送模板数据, 而不管客户端设备40是否专门请求了该模板数据。例如,假定客户端设备 40使用单播网络连接来取回多媒体内容64的数据,那么清单文件66可以 指示针对表示68中的一个或多个表示的模板数据。因此,客户端设备40 可以最初请求模板数据,从而在片段的数据丢失的情况下,客户端设备40 可以利用模板的默认音频数据和/或视频数据来替换丢失的数据。

或者,服务器设备60可以被配置为:对多媒体内容64的数据(例如 表示68中的一个表示的数据)进行广播或多播。在这个例子中,服务器设 备60可以周期性地发送模板数据,例如,每N个片段一次,其中,N是整 数值。在一些例子中,模板数据可以作为单独的片段被发送,而在其它例 子中,模板数据可以被包括在这些片段中的一个片段中。

如上面所提到的,模板数据可以包括默认音频数据和/或视频数据。例 如,模板数据可以包括默认的视频数据,其可以包括将要在与丢失的视频 数据相对应的时间的整个持续时间期间显示的单个图像。或者,默认的视 频数据可以包括动画场景。同样,模板数据可以包括默认的音频数据,例 如音乐。

如图1中的例子所示,多媒体内容64包括清单文件66,其可以与媒体 呈现描述(MPD)相对应。清单文件66可以包含对不同的替代表示68的 描述(例如,具有不同质量的视频服务),并且描述可以包括,例如,编解 码器信息、配置值、级别值、比特速率和表示68的其它描述性特性。客户 端设备40可以取回媒体呈现的MPD以便确定如何访问表示68的片段。在 常规DASH中,存在用于规定字节范围的两种方式。第一种方式是:将字 节范围明确地放入各个分段定义中,将字节范围存储在MPD XML中。第 二种方式是从MPEG文件中的片段索引(SIDX)盒取回字节范围信息,并 使用该SIDX字节范围信息来发出针对媒体的字节范围请求。

客户端设备40的网络应用52可以包括由客户端设备40的基于硬件的 处理单元执行的网络浏览器,或者这样的网络浏览器的插件。对网络应用 52的引用通常应当被理解为包括诸如网络浏览器、独立视频播放器之类的 网络应用或者并入了网络浏览器的回放插件的网络浏览器。网络应用52可 以取回客户端设备40的配置数据(未示出)以便确定视频解码器48的解 码能力和客户端设备40的视频输出44的渲染能力。

配置数据还可以包括以下各项中的任何一项或全部项:由客户端设备 40的用户所选择的语言偏好、与由客户端设备40的用户设置的深度偏好相 对应的一个或多个摄像头视角和/或由客户端设备40的用户所选择的速率 偏好。网络应用52可以包括例如被配置为提交HTTP GET和部分GET请 求的媒体客户端或者网络浏览器。网络应用52可以与由客户端设备40的 一个或多个处理器或处理单元(未示出)执行的软件指令相对应。在一些 例子中,针对网络应用52描述的功能的全部或部分可以用硬件或者硬件、 软件和/或固件的组合来实现,其中,可以提供必要的硬件来执行软件或固 件的指令。

网络应用52可以将客户端设备40的解码和渲染能力与由清单文件66 的信息所指示的表示68的特性相比较。网络应用52可以在最初取回清单 文件66的至少一部分以便确定表示68的特性。例如,网络应用52可以请 求描述一个或多个适配集合的特性的清单文件66的一部分。网络应用52 可以选择具有可令客户端设备40的编码和呈现能力满足的特性的表示68 的子集(例如,适配集合)。然后,网络应用52可以确定该适配集合中的 表示的比特速率,确定当前可用的网络带宽的量以及从具有可令网络带宽 满足的比特速率的表示中的一个表示取回片段(或字节范围)。

通常,较高比特速率的表示可以产生较高质量的视频回放,但当可用 网络带宽减少时,较低比特速率的表示可以提供足够质量的视频回放。因 此,当可用网络带宽相对高时,网络应用52可以从相对高的比特速率的表 示取回数据,而当可用网络带宽较低时,网络应用52可以从相对低的比特 速率的表示取回数据。以这种方式,客户端设备40可以通过网络74来对 多媒体数据进行流式传输,同时也适应网络74的变化的网络带宽可用性。

如上面所提到的,在一些例子中,客户端设备40可以向例如服务器设 备60或内容分发网络的其它设备提供用户信息。用户信息可以采取浏览器 cookie的形式,或者可以采取其它形式。例如,网络应用52可以收集用户 标识符、用户标识符、用户偏好和/或用户人口统计信息,并向服务器设备 60提供这样的用户信息。然后,网络应用52可以接收与目标广告媒体内容 相关联的清单文件,以便用来在回放期间将来自目标广告媒体内容的数据 插入至所请求的媒体内容的媒体数据中。该数据可以作为针对清单文件或 清单子文件的请求的结果被直接接收,或者可以经由重新定向到替代的清 单文件或子文件的HTTP来接收该数据(基于所提供的浏览器cookie,用 于存储用户人口统计和其它目标信息)。

有时,客户端设备40的用户可以使用客户端设备40的用户接口(例 如,键盘、鼠标、指示笔(stylus)、触摸屏接口、按钮或其它接口)与网络 应用52进行交互,以便请求多媒体内容,例如多媒体内容64。响应于来自 用户的这些请求,网络应用52可以基于例如客户端设备40的解码和渲染 能力来选择表示68中的一个表示。为了取回表示68中的一个所选择的表 示的数据,网络应用52随后可以请求表示68中的这个所选择的表示的特 定字节范围。以这种方式,而不是通过一个请求接收完整的文件,网络应 用52可以随后通过多个请求来接收文件的一些部分。

响应于由网络应用52向服务器设备60提交的请求,网络接口54可以 接收并向网络应用52提供所选择的表示的已接收的片段的数据。或者,服 务器设备60可以使用多播或广播向客户端设备40发送片段,在这种情况 下,网络应用52可以表示DASH客户端和多播服务客户端(其可由客户端 设备40的一个或多个处理器执行)二者。在这个例子中,DASH客户端可 以使用HTTP GET请求向多播服务客户端请求片段,并且多播服务客户端 可以使用经由多播或广播从服务器设备60接收的片段的数据对这些请求进 行响应。

根据本公开内容的技术,网络应用52可以确定一个或多个片段或其数 据是否丢失。例如,网络应用52(或网络接口54的元件)可以对片段的分 组的序列号进行分析,以便确定一个或多个分组是否丢失。同样地,网络 应用52(或网络接口54的元件)可以对分组的校验和进行分析以在不可能 执行前向纠错(FEC)的情况下确定分组的数据是否被破坏,以便确定片段 的数据是否应当被认为丢失。

在一些例子中,网络中的分组可能从未到达它们的目的地。在一些例 子中,分组可以到达客户端设备40,但可能到达得太晚,即,在分组本来 会有用的时刻之后。例如,客户端设备40可以对所接收的分组的数据进行 缓冲,例如,以便重新安排分组的顺序,以便在网络带宽使用飙升的情况 下或者出于其它类似的原因构建媒体数据的缓冲器。在客户端设备40确定 缓冲器将要“下溢”,即,需要移除从该点直至特定分组的点的全部数据, 并且该分组尚未到达的情况下,客户端设备40可以确定该分组丢失,并且 继续处理后续分组的数据。因此,如果分组在该点之后到达,将会认为分 组到达得太晚以至于没用了。在其它例子中,例如,由于信道噪声、沿网 络路径的不正常工作的网络设备或者由于其它错误,分组的数据可能被破 坏。

在任何情况下,当上述错误中的一个或多个错误发生时,客户端设备 40可以认为片段的数据“丢失”了。在丢失片段数据的情况下,客户端设 备40可以根据本公开内容的技术利用模板数据(例如,默认音频数据和/ 或视频数据)来替换丢失的片段数据。例如,网络应用52可以一次性或周 期性地从服务器设备60接收模板数据,例如,响应于单播请求或者在没有 特定请求的情况下。网络应用52可以在客户端设备40的存储器(未示出) 中存储模板数据。当网络应用52检测到丢失的片段数据时,网络应用52 可以利用模板数据来替换丢失的片段数据。在一些例子中,网络应用52可 以确定整个片段丢失,在这种情况下,网络应用52可以利用模板数据来替 换整个片段。

在其它例子中,网络应用52可以确定片段的一部分丢失,而片段的另 一部分被接收到。在这种情况下,网络应用52可以利用模板数据来替换片 段的丢失部分,但完整保留片段的已接收的部分。在一些例子中,当网络 应用52向片段注入默认音频数据和/或视频数据以替换片段的丢失部分时, 网络应用52可能需要对数据的某些字段的值进行设置。例如,网络应用52 可能需要为默认数据构建报头或报头的一部分,例如向默认视频数据的图 像分配帧编号(frame_num)值和/或图像顺序计数(POC)值。Frame_num 值通常指示相应图像的解码顺序,而POC值通常指示相应图像的显示顺序。 以这种方式,客户端设备40可以确保片段的已接收的、未遭破坏的数据可 被正确解码并且可以与模板数据一起显示。当网络应用52利用包括模板数 据的片段来替换片段的全部或部分时,该片段可以被称为“替换片段”。

在任何情况下,网络应用52都可以向解封装单元50提供所接收的片 段的数据(或者根据本公开内容的技术的替换片段)。解封装单元50可以 将视频文件的元素解封装成构成的PES流,对PES流解分组以便取回经编 码的数据,并且取决于,例如,如同由流的PES分组报头所指示的,经编 码的数据是音频流还是视频流的一部分,将经编码的数据发送到音频解码 器46或者视频解码器48。音频解码器46对经编码的音频数据进行解码, 并将经解码的音频数据发送到音频输出42,而视频解码器48对经编码的视 频数据进行解码,并将经解码的视频数据(其可以包括流的多个视图)发 送到视频输出44。

如适用的话,视频编码器28、视频解码器48、音频编码器26、音频解 码器46、封装单元30、网络应用52和解封装单元50分别可以被实现为多 种合适的处理电路中的任意一种,例如一个或多个微处理器、数字信号处 理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立 逻辑电路、软件、硬件、固件或它们的任意组合。视频编码器28和视频解 码器48中的每一个可以被包括在一个或多个编码器或解码器中,其中的任 意一个可以被集成为组合视频编码器/解码器(编解码器)的一部分。同样 地,音频编码器26和音频解码器46中的每一个可以被包括在一个或多个 编码器或解码器中,其中的任意一个可以被集成为组合编解码器的一部分。 包括视频编码器28、视频解码器48、音频编码器26、音频解码器46、封 装单元30、网络应用52和/或解封装单元50的装置可以包括集成电路、微 处理器和/或诸如蜂窝电话或平板计算机之类的无线通信设备。

以这种方式,客户端设备40代表用于呈现媒体数据的设备的例子,包 括被配置为执行以下操作的一个或多个处理器:在经由根据基于HTTP的 动态自适应流式传输(DASH)的网络传输接收了媒体数据的片段的其余部 分之后,确定所述媒体数据的片段的至少一部分的数据已经丢失;基于所 述确定,在对所述媒体数据进行解码之前,向所述片段添加默认数据来替 换已经被确定为丢失的数据,以便形成替换片段;以及输出所述替换片段 的媒体数据。

此外,服务器设备60代表用于发送视频数据的信息的设备的例子,包 括一个或多个处理器和一个或多个网络接口,所述处理器被配置为执行以 下操作:确定将要被发送给至少一个客户端设备的媒体内容的表示;以及 确定与所确定的表示相对应的默认数据;所述一个或多个网络接口被配置 为:向所述至少一个客户端设备发送所确定的默认数据,以使得所述至少 一个客户端设备利用所述默认数据来替换丢失的数据;以及在向所述至少 一个客户端设备发送所述所确定的默认数据之后,向所述至少一个客户端 设备发送所确定的表示的媒体数据。

图2是示出了表示由客户端设备接收的数据的图形80以及表示由客户 端设备呈现的数据的图形86的概念图。客户端设备可以包括客户端设备40 (图1)。在这个例子中,客户端设备40接收所接收的数据82A、所接收的 数据82B以及所接收的数据82C。如图2中所示,存在表示被客户端设备 40确定为丢失的数据的间隙84A、84B。例如,基于对所接收的数据82A、 所接收的数据82B和所接收的数据82C的所接收的分组的序列号的分析, 和/或基于与间隙84A、84B相对应的分组的校验和,客户端设备40可以确 定针对间隙84A、84B的数据丢失,例如,由于没有到达或者被破坏。

根据本公开内容的技术,在接收所接收的数据82A之前,客户端设备 40可以接收模板数据,其可以包括默认音频数据和/或视频数据。因此,如 图形86中所示,客户端设备40可以呈现:与所接收的数据82A相对应的 经解码的数据88A、与所接收的数据82B相对应的经解码的数据88B以及 与所接收的数据82C相对应的经解码的数据88C。此外,客户端设备40可 以呈现分别与间隙84A、84B相对应的模板数据90A、90B,而不是呈现与 间隙84A、84B相对应的空白屏幕。所呈现的模板数据90A、90B可以包括 经解码的默认音频数据和/或视频数据,或者随后将被解码的经编码的默认 音频数据和/或视频数据。通过呈现默认数据,客户端设备40可以为客户端 设备40的终端用户提供更加愉悦的体验。

图3是示出了示例性多媒体内容100的元素的概念图。多媒体内容100 可以与多媒体内容64(图1)或者存储在存储介质62中的另一多媒体内容 相对应。在图3的例子中,多媒体内容100包括媒体呈现描述(MPD)102 和多个表示110–120。表示110包括可选报头数据112和片段114A–114N (片段114),而表示120包括可选报头数据122和片段124A–124N(片 段124)。表示110与表示120之间的椭圆旨在表示图3中未示出的额外表 示,其可以包括相应的报头数据和片段。为方便起见,字母N用于指定表 示110–120中的每个表示中的最后的片段。在一些例子中,在表示110– 120中存在不同数量的片段。

MPD 102可以包括与表示110–120分离的数据结构。MPD 102可以与 图1的清单文件66相对应。同样地,表示110–120可以与图1的表示68 相对应。通常,MPD 102可以包括:对表示110–120的特性进行概括性描 述的数据,这些特性例如编码和渲染特性、适配集合、文本输入信息、摄 像头角度信息、速率信息、技巧模式信息(例如,指示包括用于技巧模式 的时间子序列的表示的信息,例如快进和倒回)和/或用于取回模板数据的 信息。

根据本公开内容的技术,模板数据可以包括用于替换丢失的媒体数据 的默认音频数据和/或视频数据,以及指示这样的替换将如何发生的数据(例 如,将要由客户端设备填入的字段,例如视频数据的图像的帧编号字段和/ 或POC值字段)。MPD 102可以包括针对表示110–120中的一个或多个表 示的信息,其指示与表示110–120中的每个表示相对应的模板。如同下面 所解释的,表示110–120中的每个表示可以具有单独的一组模板数据,并 且针对不同表示的模板数据可以是不同的。或者,同样如同下面所解释的, 相同的一组模板数据可以应用于多个表示,例如,应用于适配集合的表示 中的每个表示。MPD 102还可以包括用于取回模板数据的信息,例如,当 模板数据可用于经由单播的取回时。在一些例子中,客户端设备(例如客 户端设备40)可以被配置为:甚至当客户端设备经由广播或多播接收媒体 数据时,经由单播独立地取回模板数据。

在一些例子中,可以针对表示110–120中的每个表示提供不同的默认 音频数据和/或视频数据。例如,默认视频数据可以具有相应表示的相同的 编码和渲染特性。对于具有三维视频数据的表示而言,默认视频数据也可 以包括三维视频数据。默认视频数据还可以具有与相应表示的空间分辨率 相同的空间分辨率。

在一些例子中,可以为单个适配集合提供包括默认音频数据和视频数 据的模板数据。因此,可以针对每个适配集合存在一组默认音频数据和视 频数据,而不是针对每个表示具有唯一一组默认音频数据和视频数据。因 此,默认音频数据和视频数据可以具有与相应的适配集合相同的编码和渲 染特性,但并不必具有与该适配集合内的表示相同的比特速率,例如针对 单播、广播或多播的当前选择的表示。

报头数据112(当存在时)可以描述片段114的特性,例如,随机访问 点的时间位置,片段114的这些特性包括:随机访问点、片段114内相对 于随机访问点的字节偏移、片段114的统一资源定位符(URL)或者片段 114的其它方面。报头数据122(当存在时)可以描述片段124的类似特性。 或者或另外,这些特性可以被全部包括在MPD 102内。同样地,根据本公 开内容的技术,报头数据112可以包括:在片段114丢失(例如,没有到 达、到达得太晚或者在传输中被破坏)的情况下,对要使用的相关模板的 指示。

片段114包括一个或多个经编码的视频采样,其中的每一个可以包括 视频数据的帧或条带。片段114的经编码的视频采样中的每个采样可以具 有类似的特性,例如,高度、宽度和带宽要求。这些特性可由MPD 102的 数据描述,虽然这样的数据没有在图3的例子中示出。MPD 102可以包括 如同由3GPP规范所描述的特性,外加本公开内容中描述的以信号形式发送 的信息中的任意或全部信息。在一些例子中,根据本公开内容的技术,片 段114中的一个或多个片段可以包括:在数据丢失的情况下,例如,一个 或多个分组没有到达、到达得太晚或者包括被破坏的数据,可以用于替换 片段114中的其它片段的数据的模板的默认数据。类似地,片段124中的 一个或多个片段也可以包括模板数据。或者,默认音频数据和视频数据可 以与表示110–120的数据分开,在单独的传输中被发送。

片段114、124中的每个片段可以与唯一的统一资源标识符(URI)相 关联,URI例如统一资源定位符(URL)。因此,可以使用诸如DASH之类 的流式传输网络协议独立地取回片段114、124中的每个片段。以这种方式, 目标设备(例如客户端设备40)可以使用HTTP GET请求来取回片段114 或124。在一些例子中,客户端设备40可以使用HTTP部分GET请求来取 回片段114或124的特定字节范围。或者,服务器设备(例如服务器设备 60(图1))可以对表示的片段进行多播或广播,从而使得客户端设备40仅 需要例如通过加入多播组来请求接收该多播或广播的数据。

图4是示出了示例性视频文件150的元素的框图,示例性视频文件可 以对应于表示的片段,例如图3的片段114、124中的一个片段。片段114、 124中的每个片段可以包括本质上符合在图4的例子中示出的数据的安排的 数据。如上所述,根据ISO基础媒体文件格式及其扩展的视频文件将数据 存储在被称为“盒”的一系列对象中。在图4的例子中,视频文件150包 括:文件类型(FTYP)盒152、电影(MOOV)盒154、电影分段164(也 被称为电影分段盒(MOOF))以及电影分段随机访问(MFRA)盒164。

视频文件150通常代表多媒体内容的片段的例子,其可以被包括在表 示110–120(图3)中的一个表示中。以这种方式,视频文件150可以与 片段114中的一个片段、片段124中的一个片段或者另一表示的片段相对 应。根据本公开内容的技术,丢失的媒体数据(例如视频文件150的数据) 可被模板媒体数据替换。可以在本质上符合视频文件150的视频文件中发 送模板数据。假定视频文件150表示所选择的表示的媒体数据,那么在表 示视频文件150的一个或多个分组可能没有到达或可能到达得太晚以至于 没用的情况下,数据可能“丢失”,或者与电影分段164相对应的数据可能 被破坏。

在整个片段(例如,整个视频文件)丢失的情况下,客户端设备40可 以利用包括模板数据(例如,默认音频数据和/或视频数据)的替换片段来 替换整个片段。在片段的一部分(例如,电影分段164中的一个或多个分 段)被破坏的情况下,客户端设备40可以利用模板数据仅替换片段的该部 分。例如,如果一系列电影分段164被破坏,或者如果与一系列电影分段 164相对应的一个或多个分组丢失,那么客户端设备40可以根据本公开内 容的技术,利用模板数据(例如,默认音频数据和/或视频数据)来替换电 影分段164的丢失的或被破坏的数据。

在图4的例子中,视频文件150包括一个片段索引(SIDX)盒161。 在一些例子中,视频文件150可以包括额外的SIDX盒,例如,在电影分段 164之间。SIDX盒(例如,SIDX盒162)通常包括描述电影分段164中的 一个或多个电影分段的字节范围的信息。在其它例子中,可以在MOOV盒 154之内、MOOV盒154之后、MFRA盒166之前或之后、或者视频文件 150中的其它地方提供SIDX盒162和/或其它SIDX盒。

文件类型(FTYP)盒152通常描述视频文件150的文件类型。文件类 型盒152可以包括标识描述视频文件150的最佳使用的规范的数据。文件 类型盒152可以置于MOOV盒154、电影分段盒162以及MFRA盒166之 前。

在图4的例子中,MOOV盒154包括电影报头(MVHD)盒156、轨 道(TRAK)盒158以及一个或多个电影扩展(MVEX)盒160。通常,MVHD 盒156可以描述视频文件150的一般特性。例如,MVHD盒156可以包括 描述以下各项的数据:视频文件150最初创建的时间、视频文件150最后 修改的时间、视频文件150的时标、视频文件150的回放的持续时间,或 者通常描述视频文件150的其它数据。

TRAK盒158可以包括针对视频文件150的轨道的数据。TRAK盒158 可以包括描述与TRAK盒158相对应的轨道的特性的轨道报头(TKHD) 盒。在一些例子中,TRAK盒158可以包括经编码的视频图像,而在其它 例子中,轨道的经编码的视频图像可以被包括在电影分段164中,其可以 由TRAK盒158的数据引用。

在一些例子中,视频文件150可以包括一个以上的轨道,尽管这对于 DASH协议的工作而言不是必要的。因此,MOOV盒154可以包括与视频 文件150中的轨道的数量相等的多个TRAK盒。TRAK盒158可以描述视 频文件150的相应轨道的特性。例如,TRAK盒158可以描述相应轨道的 时间信息和/或空间信息。当封装单元30(图1)包括视频文件(例如,视 频文件150)中的参数集轨道时,与MOOV盒154的TRAK盒158类似的 TRAK盒可以描述参数集轨道的特性。封装单元30可以在描述参数集轨道 的TRAK盒内的参数集轨道中以信号形式传达序列级别SEI消息的存在。

MVEX盒160可以描述相应电影分段164的特性,例如,以便以信号 形式传达:除了被包括在MOOV盒154内的视频数据之外(如果有的话), 视频文件150还包括电影分段164。在流式传输视频数据的上下文中,经编 码的视频图像可以被包括在电影分段164中而不是在MOOV盒154中。因 此,全部经编码的视频采样可以被包括在电影分段164中而不是在MOOV 盒154中。

MOOV盒154可以包括与视频文件150中的电影分段164的数量相等 的多个MVEX盒160。TRAK盒160中的每个MVEX盒可以描述电影分段 164中的相应一个电影分段的特性。例如,每个MVEX盒可以包括:描述 电影分段164中的相应一个电影分段的持续时间的电影扩展报头盒 (MEHD)盒。

电影分段164可以包括:一个或多个经编码的视频图像、以及经编码 的音频数据(也被称为经编码的音频采样)、文本覆盖(例如,用于隐藏字 幕)或者其它媒体数据。在一些例子中,电影分段164可以包括一个或多 个图像组(GOP),其每一组可以包括多个经编码的视频图像,例如,帧或 图像。电影分段164中的每个电影分段可以包括电影分段报头盒(MFHD, 图4中未示出)。MFHD盒可以描述相应的电影分段的特性,例如该电影分 段的序列号。电影分段164可以按序列号的顺序被包括在视频文件150中。

MFRA盒166可以描述视频文件150的电影分段164内的随机访问点。 这可以协助执行技巧模式,例如执行寻找视频文件150内的特定时间位置, 以及快进或倒回模式。MFRA盒166通常是可选的,并且不需要被包括在 视频文件中。同样地,客户端设备(例如,客户端设备40)并不必需要参 考MFRA盒166来对视频文件150的视频数据进行正确地解码和显示。 MFRA盒166可以包括与视频文件150的轨道的数量相等,或者在一些例 子中,与视频文件150的媒体轨道(例如,非暗示轨道)的数量相等的多 个轨道分段随机访问(TFRA)盒(未示出)。

图5是示出了用于提供和使用模板数据来替换丢失的媒体数据的示例 性方法的流程图。如本文所提到的,模板数据可以包括默认视频数据和/或 音频数据。在图5的例子中,客户端设备(例如,客户端设备40)和服务 器设备(例如,服务器设备60)参与本方法。在其它例子中,额外的或替 代设备也可以参与本方法。

在图5的例子中,客户端设备40可以最初请求媒体内容的清单文件 (200)。例如,对于单播,该请求可以被送往服务器设备60,或者用于向 多播组订阅的间接请求。如图5的例子中所示,服务器设备60可以响应于 该请求向客户端设备40发送清单文件(202)。或者,针对网络多播,服务 器设备60可以最初向多播组提供清单文件。在任何情况下,客户端设备40 可以接收清单文件(204),并基于该清单文件来请求媒体数据(206)。例 如,客户端设备40可以基于由该清单文件描述的编码和渲染特性以及表示 的比特速率来选择表示,并请求所选择的表示的片段。或者,在多播或广 播的境况中,可以仅有一种可用的表示,即,由服务器设备60选择的表示。 在一些例子中,清单文件可以包括:与媒体内容相关联的多播组的IP地址, 或者用于接收多播数据的其它信息。

在这个例子中,服务器设备60可以发送针对所请求的媒体数据的模板 数据(208)。在媒体数据是经由广播或多播发送的例子中,发送的模板数 据可以与由服务器设备60选择的表示相对应。模板数据可以包括默认音频 数据和视频数据,以及用于使用默认音频/视频数据的任何其它信息。例如, 模板数据可以包括:指示将要被填入的报头数据的一个或多个字段的信息 (例如,frame_num值和/或POC值)以及任何其它相关信息(例如,PPS、 SPS和或与模板数据相关的SEI消息)。模板数据可以被封装为单独的片段, 例如本质上符合视频文件150(图4)的模板片段。或者,模板数据可以被 包括在包括相应媒体内容的媒体数据的片段中。

在一些例子中,清单文件可以包括:包括模板数据的片段的URL。在 这样的例子中,客户端设备40还可以例如使用单独的HTTP GET或部分 GET请求来提交请求以便取回模板数据。因此,模板数据可以经由单播、 广播或多播网络传输来发送,并且可以在具有所请求的媒体数据的频带中 或在频带之外发送,即,作为与所请求的媒体数据分开的网络传输,所请 求的媒体数据可以经由单独的、物理的或逻辑的通信信道来发送。在任何 情况下,客户端设备40可以从服务器设备60接收模板数据(210)。在一 些例子中,客户端设备40可以从单独的服务器设备而不是提供媒体数据的 服务器设备接收模板数据。虽然在图5的例子中被示为单独的步骤,但应 当理解的是:发送针对媒体内容的模板数据(例如,步骤208)与发送所请 求的媒体数据(例如,步骤212)可以并行发生,或者可以作为单个步骤发 生。例如,所请求的媒体数据的片段(或者媒体内容的另一部分)可以包 括模板数据。

服务器设备60还可以发送所请求的媒体数据的片段(212)。在单播传 输中,服务器设备60可以发送与HTTP GET或部分GET请求中规定的URL 相对应的片段(或片段的一部分),而在多播或广播传输中,服务器设备60 可以在不等待来自客户端设备的请求的情况下发送下一个可用片段。客户 端设备40然后可以确定片段的数据是否丢失(214)。例如,客户端设备40 可以对所接收的分组的序列号进行分析,以便确定预期片段的一个或多个 分组是根本没有到达还是没有及时到达以至于没用了。作为另一例子,客 户端设备40可以例如使用分组的校验和来确定片段的一个或多个分组是否 包括被破坏的数据。

在任何情况下,当客户端设备40确定片段的数据丢失时(214的“是” 分支),客户端设备40可以通过利用与在步骤210处接收的模板数据相对 应的模板数据替换丢失的数据来构建替换片段(216)。例如,如果分组的 全部数据都没有到达,那么客户端设备40可以利用模板数据的默认音频数 据和/或视频数据来替换整个片段。或者,如果片段的一部分到达了但片段 的另一部分没有到达,那么客户端设备40可以利用模板数据的默认音频数 据和/或视频数据来替换片段的没有到达的部分。

然后,客户端设备40可以向解封装单元50发送替换片段,解封装单 元50进而可以向音频解码器46提供经解封装的、经编码的音频数据,以 及向视频解码器48提供经解封装的、经编码的视频数据(218)。另一方面, 如果片段的数据没有丢失(214的“否”分支),那么客户端设备40可以向 解封装单元50发送已接收的片段,解封装单元50进而可以向音频解码器 46提供经解封装的、经编码的音频数据,以及向视频解码器48提供经解封 装的、经编码的视频数据(220)。不管片段是替换片段还是未经修改的、 已接收的片段,音频解码器46都可以对经编码的音频数据进行解码,而视 频解码器48可以对片段的经编码的视频数据进行解码(222)。因此,从音 频解码器46和视频解码器48的角度来看,片段的数据将不会显得是已经 被修改过或者被默认数据替换过。相反地,片段的数据将会显得是预期的 经编码的音频数据或视频数据。例如,对于替换片段的视频数据而言,客 户端设备40可以提供frame_num值和/或POC值的正确值,以便确保视频 解码器48能够正确解码默认视频数据。

在解码之后,客户端设备40可以呈现经解码的音频数据和视频数据 (224)。例如,音频输出42可以呈现经解码的音频数据,而视频输出44 可以显示经解码的视频数据。如上面所提到的,在片段的数据丢失的情况 下,在发送的媒体数据与所呈现的媒体数据之间可能存在微小的不连续, 但这种情况下呈现的媒体数据提供了比在默认视频数据的情况下简单地呈 现空白屏幕更好的用户体验。

以这种方式,图5代表用于呈现媒体数据的方法的例子,该方法包括: 在经由根据基于HTTP的动态自适应流式传输(DASH)的网络传输接收了 媒体数据的片段的其余部分之后,确定媒体数据的所述片段的至少一部分 的数据已经丢失;基于所述确定,在对所述媒体数据进行解码之前,向所 述片段添加默认数据来替换已经被确定为丢失的所述数据,以便形成替换 片段;以及输出所述替换片段的媒体数据。

图5还代表用于发送媒体数据的信息的方法的例子,该方法包括:确 定将要向至少一个客户端设备发送的媒体内容的表示;确定与所确定的表 示相对应的默认数据;向所述至少一个客户端设备发送所确定的默认数据, 以使所述至少一个客户端设备利用所述默认数据来替换丢失的数据;以及 在向所述至少一个客户端设备发送所确定的默认数据之后,向所述至少一 个客户端设备发送所确定的表示的媒体数据。

在一个或多个例子中,可以用硬件、软件、固件或它们的任意组合来 实现所描述的功能。如果用软件来实现,则这些功能可以作为一条或多条 指令或代码存储在计算机可读介质上,或者通过计算机可读介质发送,并 且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储 介质,其与有形介质或通信介质相对应,有形介质例如数据存储介质,通 信介质包括例如根据通信协议便于将计算机程序从一个地方传送到另一个 地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂 时性的有形计算机可读存储介质或者(2)诸如信号或载波之类的通信介质。 数据存储介质可以是可以由一个或多个计算机或一个或多个处理器存取以 便取回用于实现本公开内容中描述的技术的指令、代码和/或数据结构的任 何可用介质。计算机程序产品可以包括计算机可读介质。

通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、 ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、 闪存或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够 由计算机存取的任何其它介质。另外,可以将任何连接适当地称作计算机 可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字订 户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务 器或其它远程源发送的,则同轴电缆、光纤光缆、双绞线、DSL或者诸如 红外线、无线电和微波之类的无线技术被包括在介质的定义中。然而,应 当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或 其它暂时性介质,而是针对非暂时性的、有形的存储介质。如本文所使用 的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘 (DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用 激光来光学地复制数据。上面的组合也应当被包括在计算机可读介质的范 围之内。

指令可由一个或多个处理器来执行,一个或多个处理器例如一个或多 个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场 可编程逻辑阵列(FPGA)或其它等效的集成或分立的逻辑电路。因此,如 本文中所使用的,术语“处理器”可以指代前述结构或适于本文中所描述 的技术的实现的任何其它结构中的任何一个。另外,在一些方面中,可以 在被配置用于编码和解码或者被并入组合编解码器中的专用硬件和/或软件 模块内提供本文中描述的功能。此外,这些技术可以在一个或多个电路或 逻辑单元中全部实现。

本公开内容的技术可以在多种不同的设备或装置中实现,这些设备或 装置包括无线手持设备、集成电路(IC)或一组IC(例如,芯片组)。本公 开内容中描述了各种组件、模块或单元以强调被配置为执行所公开技术的 设备的功能方面,但不必要求由不同的硬件单元来实现。相反地,如上所 述,各个单元可以组合在编解码器硬件单元中,或者由可互操作的硬件单 元的集合来提供,包括结合合适的软件和/或固件的如上所述的一个或多个 处理器。

本文已对各个例子进行了描述。这些例子和其它例子在所附权利要求 的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号