System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于优化低延迟应用中的媒体内容数据封装的方法、装置和计算机程序制造方法及图纸_技高网

用于优化低延迟应用中的媒体内容数据封装的方法、装置和计算机程序制造方法及图纸

技术编号:41373961 阅读:3 留言:0更新日期:2024-05-20 10:18
用于将媒体数据封装为片段的方法的至少一个实施例,各个片段包括元数据和媒体数据,元数据描述媒体数据的封装。在获得了要封装在第二片段内的第二媒体数据和描述第二媒体数据的封装的第二元数据之后,确定第二元数据中的一些与属于第一片段且描述第一媒体数据在第一片段内的封装的第一元数据中的一些是否相同。如果是这种情况,并且如果第二片段不被独立解析,则将第二媒体数据和一部分第二元数据封装在第二片段内,第二片段还包括指示以用信号通知第二片段的元数据部分仅包括解析第二片段的媒体数据所需的一部分元数据。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术涉及用于改进媒体数据的封装和解析的方法、装置和计算机程序,使得可以在低延迟应用中改进媒体内容数据的封装。


技术介绍

1、iso基本媒体文件格式(isobmff,也称为文件格式)是形成许多其他更具体的文件格式的基础的通用格式。isobmff被国际标准化组织标准化为iso/iec 14496-12。这种格式包含媒体数据的特性,如媒体数据的定时序列(诸如视听呈现等)的定时、大小或媒体信息。与媒体数据(或数据)相对,这些特性通常被称为元数据(或结构数据)。iso基本媒体文件(也称为媒体文件或动画文件或媒体呈现)可以作为包含整个呈现的一个文件,或者作为多个分段文件,其中各个分段包含呈现的时间部分。iso基本媒体文件被结构化为“框”,各个框由四字符码(也表示为fourcc或4cc)标识。在文件格式中,整个呈现被称为动画。在逻辑上被分割成轨,其中各个轨表示媒体的定时序列(例如视频帧的定时序列)。在各个轨中,各个定时单元被称为样本。各个轨具有一个或多于一个样本描述。轨中的各个样本通过引用而与描述相关联。所有的结构数据或元数据(包括定义媒体的放置和定时的结构数据或元数据)被包含在结构化框中。媒体数据(例如视频帧或音频样本)被该结构数据或元数据引用。各个轨的总持续时间在结构数据中被定义。各个样本具有定义的持续时间。样本的精确解码时间戳通过将在先样本的持续时间相加来定义。

2、图1例示了根据iso基本媒体文件格式在时间上组织为一个或多于一个媒体文件中的片段化呈现的经封装媒体数据的示例。

3、封装在媒体文件100中的媒体数据从filetypebox(“ftyp”)框(101)开始,该框提供用于标识经封装媒体数据所符合的精确规范的类别集合,读取器使用这些类别来确定是否可以处理经封装媒体数据。“ftyp”框后面是标记为105的moviebox(“moov”)框。moviebox框提供读取器启动经封装媒体数据的处理所需的初始化信息。特别地,moviebox框提供了呈现内容的描述、轨的数量以及关于它们各自的时间线和特性的信息。为了说明,moviebox框可以指示呈现包括具有等于1的标识符track_id的一个轨。

4、片段化的iso基本媒体文件100是媒体分段文件集合,在该媒体分段文件中moviebox(“moov”)框105不包含动画的整个持续时间的信息。特别地,该框的轨(轨由“trak”框135描述)中可能有很少或没有样本。对于该最小或空动画,在被称为动画片段(例如动画片段100-1和100-2)的结构中添加额外的样本,这些结构由框的层级(主要是一对“moof”框(例如“moof”框110或120)和“mdat”框(例如“mdat”框115或125))描述。各个动画片段包括存储在moviefragmentbox(“moof”)框(及其子框)中的元数据和存储在mediadatabox(“mdat”)框(或所标识的媒体数据框“imda”)中的媒体数据。媒体文件中动画片段的存在与否由movieextendsbox(“mvex”)框130在文件的早期指示。当存在时,包含在该框中的信息警告读取器可能存在后续动画片段,并且必须按照给定的顺序找到并扫描这些动画片段,以获得轨的所有样本。为此,包含在该框中的信息应与moviebox框的其他信息相结合。movieextendsbox框130可以包含在moviebox“moov”框105中定义的针对每个轨的一个trackextendsbox(“trex”)框和可选的movieextendsheaderbox(“mehd”)框。当存在时,movieextendsheaderbox框提供片段化动画的总持续时间。各个trackextendsbox框定义了轨片段的样本的描述的默认参数值(类型、大小、持续时间、控制标志等)。

5、为了说明,媒体文件100包括第一动画片段100-1,该第一动画片段100-1包含并描述用等于1(如在“tfhd”框中所指示)的track_id标识的轨的样本1至n。该第一动画片段100-1由“moof”框110和“mdat”框115组成。仍然为了说明,媒体文件100包括第二动画片段100-2,该第二动画片段100-2包含并描述用等于1的track_id标识的轨的样本n+1至n+m。如第一动画片段那样,第二动画片段100-2由“moof”框(标记为120)和“mdat”框(标记为125)组成。

6、经封装媒体数据可以被片段化成单个媒体文件或多个媒体分段文件(被称为分段文件)。当封装到多个分段文件中时,filetypebox和moviebox框(在下面也表示为初始化片段)被包含在初始化分段文件(也表示为初始化分段)中,其中在初始化分段中,一个或多于一个轨不包含任何样本。随后的分段文件包含如动画片段100-1和动画片段100-2那样的一个或多于一个动画片段。这些一个或多于一个动画片段可以构成isobmff分段、dash分段、dash媒体分段或cmaf片段。

7、动画片段的使用与实时编码和实时打包特别相关,因为这种封装模式需要封装模块的较少的缓冲能力。这也与低延迟流式传输(例如,如dash或hls(http实时流式传输)的通过http的自适应流式传输)相关,因为一旦动画片段被编码和封装,编码媒体就可以可用。

8、诸如动画片段100-1和100-2等的动画片段具有不同于“moov”框下的框层级的框层级。类似地,轨片段(在例如“traf”框111和121的trackfragmentbox(“traf”)框中描述)具有不同于trackbox框(例如不同于“trak”框135)的框层级。如图所示,trackbox框135在其框层级中包含sampletablebox(“stbl”)框,该框进而包含轨的媒体样本的描述性和定时信息。注意,在媒体文件100被片段化的情况下,可能没有在sampletablebox(“stbl”)框(如提供样本大小或定时信息的框那样)下的框中描述的样本。然而,sampletablebox(“stbl”)框包含sampledescriptionbox(“stsd”)框,该sampledescriptionbox(“stsd”)框包含一个或多于一个sampleentry框,该sampleentry框给出了关于样本的编码格式的描述性信息(编码格式用特定的4cc(如“xxxx”字符所示)标识)、以及根据编码格式配置解码器所需的初始化信息。

9、为了说明,具有设置为“vvc1”或“vvi1”的四字符类型的sampleentry框用信号通知相关联的样本包含根据通用视频编码(vvc)格式所编码的媒体数据,并且具有设置为“hvc1”或“hev1”的四字符类型的sampleentry框用信号通知相关联的样本包含根据高效视频编码(hevc)格式所编码的媒体数据。sampleentry框可以包含其他框,这些其他框包含适用于与该sampleentry框相关联的所有样本的信息。样本经由sample_description_index参数与sampleentr本文档来自技高网...

【技术保护点】

1.一种用于将媒体数据封装为一个或多于一个媒体文件的多个片段的方法,各个片段包括元数据部分和媒体数据部分,所述元数据部分的元数据描述所述媒体数据在所述媒体数据部分中的封装,所述方法由服务器执行并且包括:

2.根据权利要求1所述的方法,还包括:确定为所述第二片段将不被独立解析,其中,确定为所述第二片段将不被独立解析是基于片段持续时间的。

3.根据权利要求2所述的方法,其中,所述片段持续时间是根据客户端接收片段的延迟而确定的。

4.根据权利要求2所述的方法,其中,所述片段持续时间是根据用于对经封装媒体数据进行解码的同步点而确定的。

5.根据权利要求2至4中任一项所述的方法,其中,确定为所述第二片段将不被独立解析还包括:将所述第二媒体数据的定时信息项与先前封装的媒体数据的定时信息项进行比较。

6.根据权利要求5所述的方法,其中,将所述第二媒体数据的定时信息项和先前封装的媒体数据的定时信息项与阈值进行比较,以控制媒体数据内的随机访问点、流访问点或流切换点的位置。

7.根据权利要求1至6中任一项所述的方法,其中,所述第一元数据和所述第二元数据被存储在ISOBMFF中所定义的“moof”框中。

8.根据权利要求1至7中任一项所述的方法,其中,所述指示被存储为所述第二片段的元数据部分的结构的版本。

9.根据权利要求1至8中任一项所述的方法,其中,所述片段是共同媒体应用格式分块即CMAF分块。

10.根据权利要求1至9中任一项所述的方法,其中,所述第一片段和所述第二片段属于同一媒体文件。

11.一种用于解析经封装媒体数据的方法,所述媒体数据被封装为一个或多于一个媒体文件的多个片段,各个片段包括元数据部分和媒体数据部分,所述元数据部分的元数据描述所述媒体数据在所述媒体数据部分中的封装,所述方法由客户端执行并且包括:

12.根据权利要求11所述的方法,还包括:在要解析的经封装媒体数据属于能够被独立解析的片段的情况下,对描述媒体数据的封装的当前元数据进行重置。

13.根据权利要求11或12所述的方法,还包括:在要解析的当前经封装媒体数据属于不能被独立解析的片段的情况下,对描述媒体数据的封装的元数据的子集进行替换。

14.根据权利要求11至13中任一项所述的方法,其中,所述第一元数据和所述第二元数据被存储在ISOBMFF中所定义的“moof”框中。

15.根据权利要求11至14中任一项所述的方法,其中,所述指示被存储为所述第二片段的元数据部分的结构的版本。

16.根据权利要求11至15中任一项所述的方法,其中,所述片段是共同媒体应用格式分块即CMAF分块。

17.根据权利要求11至16中任一项所述的方法,其中,所述第一片段和所述第二片段属于同一媒体文件。

18.一种用于可编程设备的计算机程序产品,所述计算机程序产品包括指令,所述指令用于在所述程序被可编程设备加载并执行时执行根据权利要求1至17中任一项所述的方法的各个步骤。

19.一种非暂态计算机可读存储介质,其存储用于实现根据权利要求1至17中任一项所述的方法的计算机程序的指令。

20.一种处理装置,其包括被配置用于执行根据权利要求1至17中任一项所述的方法的各个步骤的处理单元。

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于将媒体数据封装为一个或多于一个媒体文件的多个片段的方法,各个片段包括元数据部分和媒体数据部分,所述元数据部分的元数据描述所述媒体数据在所述媒体数据部分中的封装,所述方法由服务器执行并且包括:

2.根据权利要求1所述的方法,还包括:确定为所述第二片段将不被独立解析,其中,确定为所述第二片段将不被独立解析是基于片段持续时间的。

3.根据权利要求2所述的方法,其中,所述片段持续时间是根据客户端接收片段的延迟而确定的。

4.根据权利要求2所述的方法,其中,所述片段持续时间是根据用于对经封装媒体数据进行解码的同步点而确定的。

5.根据权利要求2至4中任一项所述的方法,其中,确定为所述第二片段将不被独立解析还包括:将所述第二媒体数据的定时信息项与先前封装的媒体数据的定时信息项进行比较。

6.根据权利要求5所述的方法,其中,将所述第二媒体数据的定时信息项和先前封装的媒体数据的定时信息项与阈值进行比较,以控制媒体数据内的随机访问点、流访问点或流切换点的位置。

7.根据权利要求1至6中任一项所述的方法,其中,所述第一元数据和所述第二元数据被存储在isobmff中所定义的“moof”框中。

8.根据权利要求1至7中任一项所述的方法,其中,所述指示被存储为所述第二片段的元数据部分的结构的版本。

9.根据权利要求1至8中任一项所述的方法,其中,所述片段是共同媒体应用格式分块即cmaf分块。

10.根据权利要求1至9中任一项所述的方法,其中,所述第一片段和所述第二片段属于同一媒体文件。

11.一种用于解析经封装媒体...

【专利技术属性】
技术研发人员:弗兰克·德诺奥弗雷德里克·梅兹内尔·奥德拉奥果简·勒菲弗
申请(专利权)人:佳能株式会社
类型:发明
国别省市:

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

1