处理媒体数据结构制造技术

技术编号:27356720 阅读:38 留言:0更新日期:2021-02-19 13:36
一种从运行在接收装置上的媒体引擎播放媒体的方法,所述方法包括:在所述接收装置处接收媒体数据结构,所述媒体数据结构包括被格式化成多个层的音频或视频内容,所述多个层至少包括第一层和第二层,所述第一层包括分别根据音频或视频编码方案进行编码的所述音频或视频内容,并且所述第二层根据媒体容器格式将经编码的内容封装在一个或多个媒体容器中;确定所述媒体容器中的至少一个媒体容器进一步封装有用于处理所述媒体数据结构的格式化中的至少一些格式化的可运行代码,以支持所述媒体引擎对所述音频或视频内容的播放;在所述接收装置的代码引擎上运行所述代码,以执行对所述媒体数据结构的所述处理而用于输入到所述媒体引擎。媒体引擎。媒体引擎。

【技术实现步骤摘要】
【国外来华专利技术】处理媒体数据结构
[0001]相关申请的交叉引用
[0002]本申请要求以下优先权申请的优先权:于2018年7月5日提交的美国临时申请62/694,107(参考号:D18049USP1)和于2018年7月5日提交的欧洲申请18181820.4(参考号:D18049EP),所述申请通过援引并入本文。


[0003]本公开涉及用于封装经编码的音频和/或视频内容的如ISOBMFF的媒体容器格式。

技术介绍

[0004]“媒体容器”是媒体数据的传输和存储领域的术语。媒体容器是指这样的数据结构,其用于包装如音频和/或视频(“AV”)内容的内容,以用于通过传输介质进行传输或存储在数据存储介质上。例如,传输介质可以包括如因特网或蜂窝网络的网络;或者存储介质可以包括如硬盘驱动器的磁性存储设备、如固态驱动器或记忆棒的电子介质、或如CD的光学介质。如记忆棒或可移除驱动器的存储设备还可以用作将数据从一个设备传输到另一个设备的装置。
[0005]音频和视频媒体数据通常被格式化成多个层以用于传输或存储。这些层可以被称为协议层或格式化的层。在这样的第一层处,根据音频或视频编码方案对音频或视频内容进行编码,所述编码包括内容的压缩。编码方案还可以称为编码格式。编码方案通常是标准化方案。例如,对于音频,编码方案可以包括MP3、AC-4、MPEG-D USAC或MPEG-H音频标准;或者对于视频,编码可以包括H.264、HEVC等。用于根据给定方案对音频或视频媒体进行编码和解码的设备、软件或规范有时被称为编解码器(编码器-解码器)
[0006]在更高的第二层处,然后根据媒体容器格式(有时也被称为包装器格式)将经编码的媒体内容封装在媒体容器中。媒体容器格式指定元数据,其用于被包括在容器中以包装经封装的内容(容器的有效载荷)。元数据描述了媒体和/或数据中的一个或多个项目是如何布置在容器内的。例如,容器元数据可以指定编码格式I(例如,AC-4)的音频轨道从字节X开始持续Y个字节,和/或编码格式II(例如,HEVC)的视频轨道从字节V开始持续W个字节等。另外,元数据通常列出编码格式的更多细节,如(在音频方面)声道数和采样率或(在视频方面)纵横比和每秒帧数等。媒体容器格式的示例是ISOBMFF(ISO基础媒体文件格式),所述ISOBMFF通过ISO/IEC 14496-12进行标准化并且还涵盖其许多扩展。出于本专利技术目的,对ISOBMFF的引用是指ISO/IEC 14496-12或由其衍生的扩展中的任何扩展,如MP4、3GP、3G2、Motion JPEG 2000等。容器格式的另一个示例是MPEG-2传输流(TS)格式。
[0007]在通过网络传输的情况下,一种传输形式是流式传输(streaming)。这意味着当接收到比特流时,在接收设备上播放所述比特流,即,因此接收到的一部分流被播放,而稍后的另一部分流仍然在被下载到接收设备(与在播放之前等待所有内容的下载相反)。对于流式传输,比特流被分解成更小的片,所述片有时被称为片段或文件数据块。每个这样的片段或数据块根据如ISOBMFF或MPEG-2TS(ISO/IEC 13818-1)的媒体容器格式被封装在媒体容
器中。在第二层之上(在容器格式之上)的第三层处,提供了流式传输协议来支持所述流的呈片(例如,片段或文件数据块)传输。流式传输协议指定了媒体演示描述文件的格式,其中,此描述文件包括指向流的各个片(例如,各个片段或文件数据块)的指针。流式传输协议的描述文件在启动流式传输时被下载到接收设备,并且然后用于以流式传输的方式从传送设备(例如,服务器)连续获取所述流的不同数据块。描述文件还可以稍后在流式传输期间再次下载,以在某个事件(如时间用完)发生时刷新描述文件。流式传输协议的示例包括MPEG-DASH(基于HTTP的动态自适应流式传输)和HLS(HTTP实时流式传输)。
[0008]除了音频和视频内容外,如今,如流式传输的电视节目或曲子(tune)的媒体项目还可以包括嵌入式数据轨道。传统上这用于提供附加内容。例如,这可以包括如字幕的时控文本、如演员简介的附加媒体、和/或交互式内容。这种数据可以被嵌入如ISOBMFF的媒体容器格式的容器中。

技术实现思路

[0009]媒体数据结构的问题是格式化存在不同的可能变体,例如,不同的容器格式标准或不同的音频或视频编码方案。这意味着在接收侧处的给定媒体引擎根据其兼容性可以能够或可能不能完全处理接收到的数据结构以播放其中包含的音频和/或视频内容。在一些情况下,只有部分播放可以是可能的,或者在其他情况下,播放可能根本不可行。目前,为了解决这个问题,内容提供商必须创建相同内容的不同格式化版本,以预测接收侧的不同能力的可能性。就存储或处理资源而言,这是浪费的:提供商必须预先生成并存储给定内容项目(例如,给定节目或曲子)的两个或更多个不同版本,这浪费了存储空间;或者,当由接收器请求资源时,提供商必须即时动态地转换格式化,这在传送侧产生了大量的处理资源。
[0010]如所提及的,媒体容器文件支持包括补充数据以及AV内容的能力。传统上,这用于提供如字幕的附加内容等。然而,数据轨道可以用于嵌入其他种类的数据,甚至是嵌入用于在接收侧的浏览器中运行的如脚本的可运行代码(例如,JavaScript)。在本文中认识到,可以使用这种能力来包括要在接收侧运行以用于适应数据结构的格式化的代码。这可以用于使提供商能够向仅支持不同的格式化的接收装置提供媒体数据结构的给定版本。例如,这可以用于提供数据结构的一个版本,以用于支持不同格式的不同接收装置接收。
[0011]根据本文所公开的一方面,提供了一种从运行在接收装置上的媒体引擎播放媒体的方法。所述方法包括:在所述接收装置处接收媒体数据结构,所述媒体数据结构包括格式化成多个层的音频或视频内容,所述多个层至少包括第一层和第二层,所述第一层包括分别根据音频或视频编码方案进行编码的所述音频或视频内容,并且所述第二层根据媒体容器格式将经编码的内容封装在一个或多个媒体容器中。所述方法进一步包括:确定所述媒体容器中的至少一个媒体容器进一步封装有用于处理所述媒体数据结构的格式化中的至少一些格式化的可运行代码,以支持所述媒体引擎对所述音频或视频内容的播放;以及在所述接收装置的代码引擎上运行所述代码,以执行对所述媒体数据结构的所述处理而用于输入到所述媒体引擎。在通过至少所述代码进行处理之后,将所述数据结构的经处理版本输入到所述媒体引擎,以播放所述媒体内容。
[0012]在实施例中,方法可以包括识别媒体引擎缺乏处理媒体数据结构的格式化的能力,并且所述确定可以包括确定封装在接收到的容器文件中的可运行代码支持所述缺乏的
能力。在实施例中,代码的所述运行可以在所述识别和所述确定的条件下执行。
[0013]在实施例中,输送的代码可以替换媒体引擎的对应部件(例如,解码器或解封装部件)或者可以补充这样的部件(例如,以用于对编码方案进行转码或转换容器格式)。
[0014]在实施例中,所述一个或多个媒体容器可以包括一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种从运行在接收装置上的媒体引擎播放媒体的方法,所述方法包括:在所述接收装置处接收媒体数据结构,所述媒体数据结构包括被格式化成多个层的音频或视频内容,所述多个层至少包括第一层和第二层,所述第一层包括分别根据音频或视频编码方案进行编码的所述音频或视频内容,并且所述第二层根据媒体容器格式将经编码的内容封装在一个或多个媒体容器中;确定所述媒体容器中的至少一个媒体容器进一步封装有用于处理所述媒体数据结构的所述格式化中的至少一些格式化的可运行代码,以支持所述媒体引擎对所述音频或视频内容的播放;在所述接收装置的代码引擎上运行所述代码,以执行对所述媒体数据结构的所述处理而用于输入到所述媒体引擎;以及在通过至少所述代码进行所述处理之后,将所述数据结构的经处理版本输入到所述媒体引擎,以播放媒体内容。2.如任一前述权利要求所述的方法,其中,所述处理包括:处理所述第一层的格式化中的至少一部分格式化。3.如权利要求2所述的方法,其中,所述媒体引擎不包括能够对在接收到的媒体资源中使用的所述编码方案进行解码的解码器;并且其中,所述处理包括以下各项中的任一项:通过所述媒体引擎对所述内容进行解码以进行播放、或者将所述媒体内容转码至所述媒体引擎能够解码的第二编码方案。4.如权利要求2或3所述的方法,其中,所述媒体数据结构包括多个音频流或多个视频流,并且其中,所述处理包括:将所述多个音频流多路复用成同一音频流以通过所述媒体引擎的同一音频缓冲器进行播放,或者...

【专利技术属性】
技术研发人员:C
申请(专利权)人:杜比国际公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1