用于在MP4中支持AVC的方法和设备.pdf

上传人:32 文档编号:531742 上传时间:2018-02-21 格式:PDF 页数:78 大小:2.87MB
返回 下载 相关 举报
摘要
申请专利号:

CN03809248.4

申请日:

2003.02.24

公开号:

CN1650627A

公开日:

2005.08.03

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04N7/24

主分类号:

H04N7/24

申请人:

索尼电子有限公司;

发明人:

M·Z·维沙拉姆; A·塔巴塔拜; T·瓦尔克

地址:

美国新泽西州

优先权:

2002.02.25 US 60/359,606; 2002.03.05 US 60/361,773; 2002.03.08 US 60/363,643; 2003.02.21 US 10/371,434

专利代理机构:

中国专利代理(香港)有限公司

代理人:

李亚非;王勇

PDF下载: PDF下载
内容摘要

创建定义与多媒体数据有关的交换抽样集的交换抽样元数据。每个交换抽样集包含具有相同解码值的抽样。此外,形成与多媒体数据有关的文件。该文件包含交换抽样元数据以及与多媒体数据有关的其它信息。

权利要求书

1: 一种方法,包括: 创建定义与多媒体数据有关的多个交换抽样集的交换抽样元数 据,多个交换抽样集中的每一个包含具有相同解码值的抽样;和 形成一个与多媒体数据有关的文件,所述文件包括所述交换抽样 元数据。
2: 根据权利要求1的方法,其中,所述多个交换抽样集每一个中 的抽样使用不同的参考抽样。
3: 根据权利要求1的方法,其中,创建交换抽样元数据包括: 接收具有已编码多媒体数据的文件; 检查所述多媒体数据以便识别多个交换抽样集;以及 识别多个交换抽样集每一个中的抽样。
4: 根据权利要求1的方法,其中,创建交换抽样元数据包括:将 交换抽样元数据组织为一种预定数据结构。
5: 根据权利要求4的方法,其中,创建交换抽样元数据进一步包 括: 将所述预定数据结构内数据的每个重复序列转换为到序列事件 的参考和多个事件。
6: 根据权利要求4的方法,其中,所述预定数据结构是包含一组 嵌套表的表盒。
7: 根据权利要求1的方法,进一步包括: 将与多媒体数据有关的文件发送到解码系统; 在所述解码系统接收与多媒体数据有关的文件;和 在所述解码系统从与多媒体数据有关的文件中提取交换抽样元 数据,所提取的交换抽样元数据随后被用来寻找特定抽样的移位 (replacement)。
8: 一种方法,包括: 接收与多媒体数据有关的文件,所述文件包括定义与多媒体数据 有关的多个交换抽样集的交换抽样元数据;和 从所述文件中提取交换抽样元数据,所述交换抽样元数据随后被 用来寻找特定抽样的移位。
9: 根据权利要求8的方法,其中,当使用不同参考抽样时,多个 交换抽样集中的每一个包含具有相同解码值的抽样。
10: 根据权利要求8方法,进一步包括: 在多个交换抽样集中寻找包含特定抽样的交换抽样集;和 从找到的交换抽样集中选择一个可替换抽样。
11: 根据权利要求8的方法,其中,所提取的交换抽样元数据被 组织为一种预定数据结构。
12: 根据权利要求12的方法,其中,所述预定数据结构是一个包 含一组嵌套表的表盒。
13: 一种方法,包括: 创建定义多媒体数据每个抽样内多个子抽样的子抽样元数据; 创建识别多媒体数据多个部分的一个或多个参数集的参数集元 数据; 创建定义与多媒体数据有关的多个交换抽样集的交换抽样元数 据;和 形成与多媒体数据有关的文件,所述文件包括子抽样元数据、参 数集元数据和交换抽样元数据。
14: 根据权利要求13的方法,其中,创建子抽样元数据包括: 将所述子抽样元数据组织为一组预定数据结构,所述预定数据结 构包括:包含关于子抽样大小信息的第一数据结构,包含关于每个抽 样中子抽样数目信息的第二数据结构,和包含描述每个子抽样信息的 第三数据结构。
15: 根据权利要求13的方法,其中,所述多媒体数据多个部分的 每一个是多媒体数据内抽样和子抽样中的任意一个。
16: 根据权利要求13的方法,其中,创建参数集元数据包括: 将所述参数集元数据组织为一组预定数据结构,所述预定数据结 构包括:包含关于一个或多个参数集的描述性信息的第一数据结构, 包含定义一个或多个参数集与多媒体数据多个部分之间联结的信息 的第二数据结构。
17: 根据权利要求13的方法,其中,当使用不同参考抽样时,多 个交换抽样集中的每一个包含具有相同解码值的抽样。
18: 根据权利要求13的方法,其中,创建交换抽样元数据包括: 将交换抽样元数据组织为表示为包含一组嵌套表的表盒的预定 数据结构。
19: 根据权利要求13的方法,进一步包括: 将与多媒体数据有关的文件发送到解码系统; 在所述解码系统接收与多媒体数据有关的文件;和 在所述解码系统从与多媒体数据有关的文件中提取子抽样元数 据、参数集元数据和交换抽样元数据。
20: 一种方法,包括: 接收与多媒体数据有关的文件,所述文件包括定义多媒体数据每 个抽样内多个子抽样的子抽样元数据、识别多媒体数据一个或多个参 数集的参数集元数据、和定义与多媒体数据有关的多个交换抽样集的 交换抽样元数据,和 从所述文件提取子抽样元数据、参数集元数据和交换抽样元数 据,所提取的子抽样元数据随后被用于存取多个子抽样中任何一个, 接着,所提取的参数集元数据被用于确定一个或多个参数集与多媒体 数据多个部分之间的关系,以及所提取的交换抽样元数据随后被用来 寻找特定抽样的移位。
21: 根据权利要求20的方法,其中,所述多媒体数据的多个部分 中的每一个是多媒体数据内抽样和子抽样中的任意一个。
22: 根据权利要求20的方法,其中,所提取的参数集元数据被组 成一组预定数据结构,所述数据结构包括:包含关于一个或多个参数 集的描述性信息的第一数据结构,和包含定义一个或多个参数集与多 媒体数据多个部分之间联结的信息的第二数据结构。
23: 根据权利要求20的方法,其中,所提取的子抽样元数据被组 成一组预定数据结构,所述预定数据结构包括:包含关于子抽样大小 信息的第一数据结构,包含关于每个抽样中子抽样数目信息的第二数 据结构,和包含描述每个子抽样的信息的第三数据结构。
24: 根据权利要求20的方法,其中,当使用不同参考抽样时,多 个交换抽样集的每一个包含具有相同解码值的抽样。
25: 根据权利要求20的方法,其中,所提取的交换抽样元数据被 组织成表示为包含一组嵌套表的表盒的预定数据结构。
26: 一种方法,包括: 创建定义多媒体数据每个抽样内多个子抽样的子抽样元数据; 创建定义与多媒体数据有关的多个交换抽样集的交换抽样元数 据;和 形成与多媒体数据有关的文件,所述文件包括子抽样元数据和交 换抽样元数据。
27: 根据权利要求26的方法,其中,创建子抽样元数据包括: 将所述子抽样元数据组织为一组预定数据结构,所述预定数据结 构包括:包含关于子抽样大小信息的第一数据结构,包含关于每个抽 样中子抽样数目信息的第二数据结构,和包含描述每个子抽样的信息 的第三数据结构。
28: 根据权利要求26的方法,其中,当使用不同参考抽样时,多 个交换抽样集的每一个包含具有相同解码值的抽样。
29: 根据权利要求26的方法,其中,创建交换抽样元数据包括: 将交换抽样元数据组织为表示为包含一组嵌套表的表盒的预定 数据结构。
30: 根据权利要求26的方法,进一步包括: 将与多媒体数据有关的文件发送到解码系统; 在所述解码系统接收与多媒体数据有关的文件;和 在所述解码系统从与多媒体数据有关的文件中提取子抽样元数 据和交换抽样元数据。
31: 一种方法,包括: 接收与多媒体数据有关的文件,所述文件包括定义多媒体数据每 个抽样内多个子抽样的子抽样元数据,和定义与多媒体数据有关的多 个交换抽样集的交换抽样元数据,和 从所述文件提取子抽样元数据和交换抽样元数据,所提取的子抽 样元数据随后被用于存取多个子抽样中任何一个,以及所提取的交换 抽样元数据随后被用来寻找特定抽样的移位。
32: 根据权利要求31的方法,其中,所提取的子抽样元数据被组 成一组预定数据结构,所述预定数据结构包括:包含关于子抽样大小 信息的第一数据结构,包含关于每个抽样中子抽样数目信息的第二数 据结构,和包含描述每个子抽样的信息的第三数据结构。
33: 根据权利要求31的方法,其中,当使用不同参考抽样时,多 个交换抽样集的每一个包含具有相同解码值的抽样。
34: 根据权利要求31的方法,其中,所提取的交换抽样元数据被 组织成表示为包含一组嵌套表的表盒的预定数据结构。
35: 一种用于存储由在数据处理系统上执行的应用程序存取的数 据的存储器,包括: 保存在所述存储器中的数据结构,所述数据结构位于所述应用程 序使用的文件中,所述文件与多媒体数据相关,并且包含定义与多媒 体数据有关的多个交换抽样集的交换抽样元数据。
36: 根据权利要求35的存储器,其中,当使用不同参考抽样时, 所述多个交换抽样集中的每一个包含具有相同解码值的抽样。
37: 根据权利要求35的存储器,其中,包含交换抽样元数据的文 件还包含相关的多媒体数据。
38: 根据权利要求35的存储器,其中,包含交换抽样元数据的文 件包含到包含相关多媒体数据的文件的参考。
39: 根据权利要求35的存储器,其中,所述数据结构是一个包含 一组嵌套表的表盒。
40: 一种用于存储由在数据处理系统上执行的应用程序存取的数 据的存储器,包括: 保存在所述存储器中的多个数据结构,所述多个数据结构位于所 述应用程序使用的文件中,所述文件与多媒体数据相关,并且包含 定义多媒体数据每个抽样内多个子抽样的子抽样元数据, 定义多媒体数据多个部分的一个或多个参数集的参数集元数 据,和 定义与多媒体数据有关的多个交换抽样集的交换抽样元数据。
41: 一种用于存储由在数据处理系统上执行的应用程序存取的数 据的存储器,包括: 保存在所述存储器中的多个数据结构,所述多个数据结构位于所 述应用程序使用的文件中,所述文件与多媒体数据相关,并且包含 定义多媒体数据每个抽样内多个子抽样的子抽样元数据,和 定义与多媒体数据有关的多个交换抽样集的交换抽样元数据。
42: 一种设备,包括: 元数据产生器,用于创建定义与多媒体数据有关的多个交换抽样 集的交换抽样元数据,所述多个交换抽样集中的每一个包含具有相同 解码值的抽样;和 文件创建器,用于形成与多媒体数据有关的文件,所述文件包括 交换抽样元数据。
43: 根据权利要求42的设备,其中,所述多个交换抽样集每一个 中的抽样使用不同的参考抽样。
44: 根据权利要求42的设备,其中,所述文件创建器通过接收具 有已编码多媒体数据的文件、检查所述多媒体数据以便识别所述多个 交换抽样集、以及识别多个交换抽样集的每一个中的抽样来创建交换 抽样元数据。
45: 根据权利要求42的设备,进一步包括: 元数据提取器,用于在解码系统中接收与多媒体数据有关的文 件,以及从所述与多媒体数据有关的文件中提取交换抽样元数据;和 媒体数据流处理器,用于使用所提取的交换抽样元数据来寻找特 定抽样的移位。
46: 一种设备,包括: 元数据提取器,接收与多媒体数据有关的文件并且从所述文件中 提取交换抽样元数据,所述文件包括定义与多媒体数据有关的多个交 换抽样集的交换抽样元数据,和 媒体数据流处理器,使用交换抽样元数据来寻找特定抽样的移 位。
47: 根据权利要求46的设备,其中,当使用不同参考抽样时,多 个交换抽样集的每一个包含具有相同解码值的抽样。
48: 根据权利要求46的设备,其中,所述媒体数据流处理器进一 步在所述多个交换抽样集中寻找包含特定抽样的交换抽样集,并且从 找到的交换抽样集中选择一个可替换的抽样。
49: 一种设备,包括: 元数据产生器,用于创建定义多媒体数据每个抽样内多个子抽样 的子抽样元数据、创建识别多媒体数据多个部分的一个或多个参数集 的参数集元数据、以及创建定义与多媒体数据有关的多个交换抽样集 的交换抽样元数据;和 文件创建器,用于形成与多媒体数据有关的文件,所述文件包括 子抽样元数据、参数集元数据和交换抽样元数据。
50: 一种设备,包括: 元数据提取器,用于接收与多媒体数据有关的文件,所述文件包 括定义多媒体数据每个抽样内多个子抽样的子抽样元数据、识别多媒 体数据的一个或多个参数集的参数集元数据,和定义与多媒体数据有 关的多个交换抽样集的交换抽样元数据,还用于从所述文件中提取所 述子抽样元数据、参数集元数据和交换抽样元数据,;和 媒体数据流处理器,使用所提取的子抽样元数据来存取多个子抽 样中任何一个、使用所提取的参数集元数据来确定一个或多个参数集 与多媒体数据多个部分之间关系、以及使用所提取的交换抽样元数据 来寻找特定抽样的移位。
51: 一种设备,包括: 元数据产生器,用于创建定义多媒体数据每个抽样内多个子抽样 的子抽样元数据、以及创建定义与多媒体数据有关的多个交换抽样集 的交换抽样元数据;和 文件创建器,用于形成与多媒体数据有关的文件,所述文件包括 子抽样元数据和交换抽样元数据。
52: 一种设备,包括: 元数据提取器,用于接收与多媒体数据有关的文件,所述文件包 括定义多媒体数据每个抽样内多个子抽样的子抽样元数据、和定义与 多媒体数据有关的多个交换抽样集的交换抽样元数据,还用于从所述 文件中提取所述子抽样元数据和交换抽样元数据;和 媒体数据流处理器,使用所提取的子抽样元数据来存取多个子抽 样中任何一个、以及使用所提取的交换抽样元数据来寻找特定抽样的 移位。
53: 一种设备,包括: 用于创建定义与多媒体数据有关的多个交换抽样集的交换抽样 元数据的装置,多个交换抽样集的每一个包含具有相同解码值的抽 样;和 用于形成与多媒体数据有关的文件的装置,所述文件包括所述交 换抽样元数据。
54: 一种设备,包括: 用于接收与多媒体数据有关的文件的装置,所述文件包括定义与 多媒体数据有关的多个交换抽样集的交换抽样元数据;和 用于从所述文件中提取交换抽样元数据的装置,所述交换抽样元 数据随后被用来寻找特定抽样的移位。
55: 一种设备,包括: 用于创建定义多媒体数据每个抽样内多个子抽样的子抽样元数 据的装置; 用于创建识别多媒体数据多个部分的一个或多个参数集的参数 集元数据的装置; 用于创建定义与多媒体数据有关的多个交换抽样集的交换抽样 元数据的装置;和 用于形成与多媒体数据有关的文件的装置,所述文件包括子抽样 元数据、参数集元数据和交换抽样元数据。
56: 一种设备,包括: 用于接收与多媒体数据有关的文件的装置,所述文件包括定义多 媒体数据每个抽样内多个子抽样的子抽样元数据,识别多媒体数据一 个或多个参数集的参数集元数据,和定义与多媒体数据有关的多个抽 样集的交换抽样元数据,和 用于从所述文件提取子抽样元数据、参数集元数据和交换抽样元 数据的装置,所提取的子抽样元数据随后被用于存取多个子抽样中任 何一个,所提取的参数集元数据随后被用于确定一个或多个参数集与 多媒体数据多个部分之间的关系,以及所提取的交换抽样元数据随后 被用来寻找特定抽样的移位。
57: 一种设备,包括: 用于创建定义多媒体数据每个抽样内多个子抽样的子抽样元数 据的装置; 用于创建定义与多媒体数据有关的多个交换抽样集的交换抽样 元数据的装置;和 用于形成与多媒体数据有关的文件的装置;所述文件包括子抽样 元数据和交换抽样元数据。
58: 一种设备,包括: 用于接收与多媒体数据有关的文件的装置,所述文件包括定义多 媒体数据每个抽样内多个子抽样的子抽样元数据,和定义与多媒体数 据有关的多个抽样集的交换抽样元数据,和 用于从所述文件提取子抽样元数据和交换抽样元数据的装置,所 提取的子抽样元数据随后被用于存取多个子抽样中任何一个,以及所 提取的交换抽样元数据随后被用来寻找特定抽样的移位。

说明书


用于在MP4中支持AVC的方法和设备

    相关申请

    本申请与2002年2月25日提交的60/359,606和2002年3月5日提交的60/361,773以及2002年3月8日提交的60/363,643的美国临时专利申请相关,并且要求其优先权,这些临时专利申请在此引用作为参考。

    【发明领域】

    本发明通常涉及以多媒体文件格式存储和重现视听内容,尤其是与ISO媒体文件格式兼容的文件格式。

    版权通告/许可

    本专利文献的公开部分包含受到版权保护的材料(material)。版权所有者不反对当该专利文献或专利公开在专利和商标局的专利文档或记录上发表时,任何人对其进行传真或复制,然而,在别的方面却保留所有的版权权利。下述通告将适用于如下所述的软件和数据以及所附的附图中:Copyright2001,索尼电子有限公司,版权所有不得翻印(Copyright2001,Sony Electronics,Inc.,AllRightsReserved)。

    【发明背景】

    在对网络、多媒体、数据库及其它数字容量的需求快速增长之后,演化出很多多媒体编码和存储方案。众所周知的用于编码和存储视听数据的文件格式的一种是由苹果计算机公司开发的QuickTime文件格式。QuickTime文件格式被用作创建国际标准化组织(ISO)信息技术(视听对象的编码)第12部分ISO/IEC 14496-12:多媒体文件格式的出发点:ISO媒体文件格式(又名ISO文件格式)进而又被用作两个标准文件格式地模板:(1)用于被称为MP4(ISO/IEC14496-14,信息技术(视听对象的编码)第14部分:MP4文件格式)由运动图像专家组开发的MPEG-4文件格式;和(2)用于由联合图像专家组(JPEG)开发的JPEG 2000文件格式(ISO/IEC 15444-1)。

    ISO媒体文件格式由被称为盒(box)(也被称为原子或对象)的面向对象结构组成。两个重要的顶层盒包含媒体数据或者元数据。大部分盒描述规定关于实际媒体数据结构和时间信息说明的元数据的层次。盒的这个收集被包含在被称为电影盒的盒中。媒体数据本身可以位于媒体数据盒内部或者外部。每个媒体数据流被称作轨道(track)(又名基本流或简单地称为流)。

    原始元数据是电影对象。电影盒包含轨道盒,其描述时间上呈现的媒体数据。轨道的媒体数据可以是各种类型(例如,视频数据、音频数据、二进制格式屏幕说明(BIFS),等等)。每个轨道进一步被分成抽样(又名存取单元或画面)。一个抽样表示在特定时间点的一个媒体数据单元。抽样元数据被包含在一组抽样盒中。每个轨道盒包含一个抽样表盒元数据盒,其包含规定每个抽样时间、它在字节中的大小和对于它的媒体数据它的位置(文件的外部或内部的)等等的盒。抽样是可以表示时间、位置和其它元数据信息的最小数据实体。

    最近,MPEG的视频组和国际电信联盟(ITU)视频编码专家小组(VCEG)作为连接视频队(JVT))开始合作以便开发被认为是ITU建议H.264或MPEG-4-Part 10、高级视频信号编解码(AVC)或JVT编解码的新视频编/解码(codec)标准。诸如H.264、JVT和AVC之类的这些术语和它们的缩写在这里被可替交地使用。

    JVT编解码在两个不同概念层即视频编码层(VCL)和网络抽象层(NAL)之间有区别地设计。VCL包含有关编解码部分相关的编码,诸如运动补偿、系数的变换编码和熵编码之类的。VCL的输出是每个包含一系列宏块和相关的头信息的片段。NAL从用于承载VCL数据的传输层细节中提取VCL。它在片断级上定义信息的一般和传输无关的表示。NAL定义视频编解码本身和外部空间之间的接口。在内部,NAL使用NAL分组。NAL分组包括表明有效负载类型加一组位于有效负载中位的类型的类型字段。单个片段中的数据可以被进一步分为不同数据部分(部分)。

    在多个现有视频编码格式中,编码的数据流包括各类包含控制解码过程的参数的头。例如,MPEG-2视频标准包含序列头、图象的提高组(GOP)、和相应于那些项目的视频数据之前的图象头。在JVT中,解码VCL数据所要的信息被分组为参数集。每个参数集被给定一个随后被用作来自于片段的参考(reference)的标识符。代替发送流内部(带内的)的参数集,他们可以在流外部(带外)被发送。

    现有文件格式不提供用于存储与编码的元数据有关的参数集功能;也不提供用于有效地连接媒体数据(也就是抽样或子抽样)到参数集以便参数集可以被有效地重现和发送的手段。

    在ISO媒体文件格式中,在不必分析媒体数据的情况下可以被存取的最小单元是一个抽样,也就是AVC中的整个图象。在多个编码格式中,抽样可以被进一步分为称作子抽样(也称为抽样段(fragment)或存取单元段)的更小单元。在AVC的情况下,子抽样相应于一个片段。然而,现有文件格式不支持存取抽样的子部分。对于需要将存储在文件中的数据灵活地形成为分组以便流传送的系统,缺少对子抽样的存取阻碍了为流传送而对JVT媒体数据进行的灵活的分组化。

    现有存储格式的另一个限制是当流传送媒体数据时响应于变化的网络状态不得不处理具有不同带宽的存储流之间的切换。在典型的流传送情况中,键要求的之一是响应于变化的网络状态换算压缩数据的比特率。典型地,这是由编码多个具有用于表示网络状态的不同带宽和质量设置的流并且在一个或多个文件中存储它们来获得的。然后响应于网络状态所述服务器可以在这些预先编码的流之中进行切换。在现有文件格式中,流之间的切换仅仅在对于再建时不依赖在前抽样的抽样是可能的。这种抽样被称为I帧。当前没有提供对流之间的在依赖于用于再建的在前抽样的抽样上进行交换进行支持(也就是依赖于用于参考的多个抽样的P帧或B帧)。

    AVC标准提供一个被称为交换图象的工具(称作SI并且SP图象)从而使能有效地在流之间进行交换、随机访问、并且差错恢复以及其它特征。交换图象是一个其重构值正好等于它被期望切换到的图象的特殊型图象。交换图象可以使用不同于被用于预测他们匹配的图象的参考图像,因此提供比使用I帧更有效的编码。为了有效地使用保存在文件中的交换图象,必须知道哪组图像相等并且必须知道哪些图象被用于预测。现有文件格式不提供这些信息,因此这些信息必须通过分析编码流而被提取,这是低效并且缓慢的。

    因此,需要提高存储方法以便解决正在形成的视频编码标准提供的新的能力并且解决那些存储方法的现有局限。

    发明概述

    创建定义与多媒体数据有关的交换抽样集的交换抽样元数据。每个交换抽样集包含具有相同解码值的抽样。此外,形成与多媒体数据有关的文件。该文件包含交换抽样元数据以及与多媒体数据有关的其它信息。

    【附图说明】

    在附图中通过示例而不是限制的方式对本发明进行阐述,其中相同的参考数字是指相同的元件,其中:

    图1是编码系统的一个实施例的框图;

    图2是解码系统的一个实施例的框图。

    图3是适合于实施本发明的计算机环境的框图;

    图4是一个用于在编码系统中存储子抽样元数据的方法的流程图;

    图5是一个用于在解码系统中应用子抽样元数据的方法的流程图;

    图6举例说明具有子抽样的扩展MP4媒体流模型;

    图7A-7K举例说明示用于存储子抽样元数据的示范性数据结构;

    图8是一个用于在编码系统中存储参数集元数据的方法的流程图;

    图9是一个用于在解码系统中应用参数集元数据的方法的流程图;

    图10A-10E举例说明用于存储参数集元数据的示范性数据结构;

    图11举例说明一个示范性的增强图像组(GOP);

    图12是一个用于在编码系统中存储序列元数据的方法的流程图;

    图13是一个用于在解码系统中应用序列元数据的方法的流程图;

    图14A-14E举例说明用于存储序列元数据的示范性数据结构;

    图15A和15B举例说明使用用于比特流交换的交换抽样集;

    图15C是一个用于确定两个比特流之间的交换将在哪个点执行的方法的一个实施例的流程图;

    图16是一个用于在编码系统中存储交换抽样元数据的方法的流程图;

    图17是一个用于在解码系统中应用交换抽样元数据的方法的流程图;

    图18举例说明用于存储交换抽样元数据的示范性数据结构;

    图19A和19B举例说明使用交换抽样集以便方便地访问到比特流的入口点;

    图19C是一个用于确定抽样的随机访问点的方法的一个实施例的流程图;

    图20A和20B举例说明使用一个交换抽样集以便易于差错恢复;和

    图20C是一个当发送抽样时易于差错恢复的方法的一个实施例的流程图。

                    发明的详细说明

    下面参考附图详细说明本发明实施例,在所述附图中相同的参考符号表示相同元件,并且在下面的描述中,通过举例说明的方式说明了本发明可以实施的特定实施例。这些实施例被充分详细地描述以便使本领域的普通技术人员能够实施本发明,并且应当理解,其它实施例可以被使用,并且可以进行逻辑的、机械的、电子的、功能及其它方面的改变,而这都是不脱离本发明范围的。因此,以下详细说明不应当被认为是一个限制的观念,并且本发明的范围仅仅由附加的权利要求来进行定义。

                            综述

    从本发明操作的概述开始,图1举例说明编码系统100的实施例。该编码系统100包含媒体编码器104、元数据产生器106和文件创建器108。媒体编码器104接收媒体数据,所述媒体数据可以包括视频数据(例如,从自然源视频场景中产生的视频对象和其它外部视频对象)、音频数据(例如、从自然源音频场景中产生的音频对象及其它外部音频对象)、合成对象,或上述任一组合。媒体编码器104可以由多个独立编码器组成或包括子编码器组成以便处理各种类型的媒体数据。该媒体编码器104编码媒体数据并且将其传给元数据产生器106。元数据产生器106根据媒体文件格式产生提供关于媒体数据信息的元数据。媒体文件格式可能源自于ISO媒体文件格式(或它的任何衍生物诸如MPEG-4、JPEG 2000,等等)、QuickTime或任何其它媒体文件格式,并且还包括一些附加数据结构。在一个实施例中,定义附加数据结构以便存储与媒体数据中子抽样有关的元数据。在另一个实施例中,定义附加数据结构以便存储将部分媒体数据(例如,抽样或子抽样)连接到相应参数集的元数据,所述参数集包含传统上被保存在媒体数据中的解码信息。在另一个实施例中,定义附加数据结构以便存储与元数据中各种抽样组有关的元数据,所述元数据基于媒体数据中抽样的内相关而产生。在仍然另一个实施例中,附加数据结构被定义以便存储与交换抽样集有关的元数据,所述的交换抽样集与媒体数据相关。交换抽样集是指具有相同解码值但是可以依赖不同抽样的一组抽样。在仍然其它实施例中,附加数据结构的不同组合在正在使用的文件格式中被定义。下面将非常详细地描述这些附加数据结构和它们的功能。

    文件创建器108在其结构被媒体文件格式定义的文件中存储元数据。在一个实施例中,所述文件包含编码的媒体数据和与那个媒体数据有关的元数据。可替换地,编码的媒体数据被部分地或全部包含在一个单独文件中并且通过包含在元数据文件(例如经由URL)中的参考与元数据连接。由文件创建器108创建的文件在存储或发送信道110上可用。

    图2举例说明解码系统200的一个实施例。该解码系统200包括元数据提取器204、媒体数据流处理器206、媒体解码器210、组合器212和再现器(render)214。该解码系统200可以位于客户设备上并且被用于本地重放。可替换地,该解码系统200可以被用于流传送数据并且具有在网络(例如互联网)208上相互通信的服务器部分和客户部分。该服务器部分可以包括元数据提取器204和媒体数据流处理器206。该客户部分可以包括媒体解码器210、组合器212和再现器214。

    元数据提取器204负责从保存在数据库216中的或在网络(例如从编码系统100)上接收的文件中提取数据。文件可以包含或可以不包含与正被提取的元数据有关的媒体数据。从文件提取的元数据包括一个或多个如上所述的附加数据结构。

    被提取的元数据被传到也接收有关的已编码媒体数据的媒体数据流处理器206。媒体数据流处理器206使用元数据以便形成将被发送给解码器210的媒体数据流。在一个实施例中,媒体数据流处理器206使用与子抽样有关的元数据以便在媒体数据中定位子抽样(例如为了分组化)。在另一个实施例中,媒体数据流处理器206使用与参数集有关的元数据以便连接部分媒体数据到它相应的参数集。在另一个实施例中,媒体数据流处理器206使用定义元数据中各个抽样组的元数据来存取某个组中的抽样(例如,为了可分级性(scalability),响应于传送条件,通过丢弃包含没有其它抽样依赖于它的采样的组,从而降低传送比特率)。在另一个实施例中,元数据流处理器206使用定义交换采样集的元数据来定位与这样的抽样具有相同解码值的交换抽样,即,期望交换到该抽样但它不依赖于作为结果而产生的采样将依赖的采样(例如,允许在P帧或B帧交换到具有不同比特率的流)。

    一旦形成媒体数据流,它就要么直接(例如对于本地重放)要么在网络208上(例如对于流传送数据)被发给媒体解码器210来进行解码。组合器212接收媒体解码器210的输出并且组成一个然后通过再现器214在用户显示设备上再现的场景。

    图3的以下描述意图是提供一个适合实现本发明的计算机硬件和其它操作元件的概括,但是不希望限制适当的环境。图3举例说明适合用作图1的元数据产生器106和/或文件创建器108或图2的元数据提取器204和/或媒体数据流处理器206的计算机系统的一个实施例。

    计算机系统340包含处理器350、存储器355和与系统总线365耦合的输入/输出能力360。该存储器355被配置为存储指令,当所述的指令通过处理器350被执行时,执行在这里描述的方法。输入/输出端360也包含各种类型计算机可读介质,所述介质包括可被处理器350存取的任何类型存储装置。本领域普通技术人员将马上认识到术语“计算机-可读介质/媒体”进一步包含编码数据信号的载波。也可以理解系统340被在存储器355中执行的操作系统软件控制。输入/输出端和相关的媒体360存储用于本发明的操作系统和方法的计算机可执行指令。图1和图2所示的元数据产生器106、文件创建器108,元数据提取器204和媒体数据流处理器206的每一个可以是耦合到处理器350的独立元件,也可以体现在处理器350执行的计算机-可执行指令中。在一个实施例中,计算机系统340可以是ISP(国际互联网络服务提供者)的一部分或通过输入/输出端360耦合到ISP从而在Internet上发送或接收媒体数据。显而易见,本发明并不局限于互联网访问和基于互联网的web地址;还预期包括直接耦合的和专用网。

    可以理解,计算机系统340是具有不同结构的多个可能的计算机系统的一个例子。一典型的计算机系统通常包含至少一个处理器、存储器,和一个将存储器耦合到处理器的总线。本领域的普通技术人员马上理解本发明可以使用包含多处理机系统、小型计算机、主计算机等等的其它计算机系统配置来实施。本发明还可以在其中任务是由通过通信网连接的远程处理设备执行的分布计算环境中实施。

    子抽样可访问性

    图4和图5举例说明分别由编码系统100和解码系统200执行的存储和重现子抽样元数据的过程。该过程可以由包含硬件(例如电路、专用逻辑电路等等)、软件(诸如在通用计算机系统或专用机器上运行的)或两者组合的处理逻辑来执行。对于软件实现的过程,流程图的描述使本领域的普通技术人员能够开发包含指令的这种程序以便在合适配置的计算机(执行来自于包括存储器的计算机可读介质的指令的计算机处理器)上执行该过程。计算机可执行指令可以以计算机程序设计语言来编写或可以被体现在固件逻辑电路中。如果以符合公认标准的程序设计语言来编写,那么这种指令可以在各种硬件平台上执行并且用于与各种操作系统对接。此外,本发明的实施例没有参考任何特定程序设计语言进行描述。应当理解,各种程序设计语言都可被用于实现这里描述的教导。此外,在本领域中,当采取一个动作或引起一个结果时,以一种方式或另一种方式谈到软件(例如程序、过程、进程、应用、模块、逻辑......)是公知的。这种表述仅仅是说明由计算机执行软件引起计算机的处理器执行一个动作或产生一个结果的简写方式。应当理解,更多或更少的操作可以被并入图4和图5图示的过程,并且这里示出和描述的块的排列没有隐含特定顺序,这并没有脱离本发明的范围。

    图4是一个用于在编码系统100中创建子抽样元数据的方法400的一个实施例的流程图。最初,方法400从接收具有编码媒体数据的文件的处理逻辑开始(程序方块图402)。接下来,处理逻辑提取识别媒体数据中子抽样边界的信息(程序方块图404)。根据使用的文件格式,可以附着时间属性的数据流的最小单元被称为抽样(如ISO媒体文件格式或QuickTime定义的)、一个存取单元(如MPEG-4定义的)或图片(如JVT定义的)等等。子抽样表示抽样级之下连续的数据流部分。子抽样的定义取决于编码格式,但是通常子抽样是有意义的抽样子单元,所述抽样可以作为单独实体或作为子单元组合被解码以便获得抽样的部分重建。子抽样也可能被称作存取单元段。子抽样经常表示抽样数据流的划分以便每个子抽样与相同抽样中其它子抽样相关度很低或不相关。例如,在JVT中,子抽样是一个NAL分组。相似地,对于MPEG-4视频,子抽样将是一个视频分组。

    在一个实施例中,编码系统100在如上所述的JVT定义的网络抽象层中操作。JVT媒体数据流由一系列NAL分组组成,其中每个NAL分组(也称为NAL单元)包含一个报头部分和一个有效负载部分。NAL分组的一种类型被用于包含用于每个片段编码VCL数据或片段的单个数据部分。此外,NAL分组可以是一个包括补充增强信息(SEI)消息的信息分组。SEI消息表示用于解码相应片段的可选数据。在JVT中,子抽样可以是一个具有报头和有效负载的完整NAL分组。

    在程序方块图406中,处理逻辑创建定义媒体数据中子抽样的子抽样元数据。在一个实施例中,子抽样元数据被组成一组预定数据结构(例如一组盒(box))。预定数据结构集可以包括包含关于每个子抽样大小信息的数据结构、包含关于每个抽样中子抽样总数信息的数据结构、包含描述每个子抽样(例如什么被定义为子抽样)信息的数据结构或包含与子抽样有关的数据的其它数据结构。

    接下来,在一个实施例中,处理逻辑确定是否任何数据结构都包含数据重复序列(判定框408)。如果该确定是肯定的,那么处理逻辑将数据的每个重复序列转换为到序列事件(sequence occurrence)的参考和重复序列发生的次数(程序方块图410)。

    此后,在程序方块图412、处理逻辑使用特定媒体文件格式(例如JVT文件格式)将子抽样元数据包括到与媒体数据相关的文件中。根据媒体文件格式,子抽样元数据可以和抽样元数据一起被存储(例如子抽样数据结构可以被包括在包含抽样数据结构的抽样表盒中)或独立于抽样元数据。

    图5是在解码系统200中应用子抽样元数据的方法500的一个实施例的流程图;最初,方法500从处理逻辑接收与编码的媒体数据有关的文件开始(程序方块图502)。可以从数据库(本地或外部)、编码系统100或网络上的任何其它设备上接收该文件。该文件包括定义媒体数据中子抽样的子抽样元数据。

    接下来,处理逻辑从文件中提取子抽样元数据(程序方块图504)。正如以上的讨论,子抽样元数据可以被保存在一组数据结构中(例如一组盒(box))。

    进一步,在程序方块图506,处理逻辑使用提取的元数据识别编码的媒体数据中的子抽样(保存在相同文件或不同文件中),并且将不同的子抽样组合为分组以便被发给媒体解码器,因此,能使用于流传送的媒体数据灵活分包(例如支持错误恢复力、可分级性等等)。

    示范性子抽样元数据结构现在将参考扩展ISO媒体文件格式(称为扩展的MP4)进行描述。对于精通本领域的人来说,其它媒体文件格式可以很容易地被扩展为包括用于存储子抽样元数据的相似数据结构是显而易见的。

    图6举例说明具有子抽样的扩展MP4媒体流模型。显示数据(例如包含同步音频和视频的显示)是通过影片602表示的。该影片602包括一组轨道604。每个轨道604表示一个媒体数据流。每个轨道604被分成抽样606。每个抽样表示在特定时间点的媒体数据单元。抽样606进一步被被分成子抽样608。在JVT标准中,子抽样608可以表示NAL分组或单元,诸如图象的单个片段、具有多个数据部分的片段的一个数据部分、一个带内参数集、或一个SEI信息分组。可替换地,子抽样606可以表示诸如表示媒体数据的空间或时间区域的编码数据之类的任何其它抽样构成元素。在一个实施例中,根据某些结构或语义标准编码媒体数据的任何部分可以被当做一个子抽样。

    图7A-7L举例说明用于存储子抽样元数据的示范性数据结构。

    参看图7A,包含ISO媒体文件格式定义的抽样元数据盒的抽样表盒700被扩展为包括诸如子抽样大小盒702、子抽样描述联结盒704、子抽样到抽样盒706和子抽样描述盒708之类的子抽样存取盒。在一个实施例中,子抽样存取盒的使用是可选的。

    参看图7B,举例来说,抽样710可以被分为诸如片段712之类的片段、诸如部分714之类的数据部分和诸如ROI716之类的感兴趣区(ROI)。这些例子的每一个都表示将抽样分为子抽样的不同类型。单个抽样中的子抽样可以具有不同的大小。

    子抽样大小盒718包含规定子抽样大小盒718版本的版本字段、规定默认子抽样大小的子抽样大小字段、规定轨道中的子抽样数目的子抽样计数字段和规定每个子抽样大小的条目大小字段。如果子抽样大小字段被设置为0,那么子抽样具有被保存在子抽样大小表720中的不同大小。如果子抽样大小字段没有被设置为0,那么它规定常数子抽样大小,表明子抽样大小表720是空的。表720可能具有表示子抽样大小的32位固定大小或可变长度字段。如果该字段是变化长度,那么子抽样表包含表明子抽样大小字段字节长度的一个字段。

    参看图7C,子抽样到抽样盒722包括规定子抽样到抽样盒722版本的版本字段、规定表723中的条目数目的条目计数字段。子抽样到抽样表中的每个条目包含规定第一抽样在共享相同数目的每一抽样子抽样的抽样游程中的索引的第一抽样字段和提供抽样游程中每个抽样中的子抽样数目的每个抽样的子抽样字段。

    表723可以被用于通过计算多少抽样在游程中、将该数目和适当的每一抽样的子抽样相乘并且将所有游程的结果相加来找到轨道中子抽样的总数。

    参看图7D,子抽样描述联结盒724包括规定子抽样描述联结盒724版本的版本字段、表明被描述的子抽样类型的描述类型标识符(例如,NAL分组、感兴趣区等等)和规定表726中条目数目的条目计数字段。表726中的每个条目包括表明子抽样描述ID的子抽样描述类型标识符和给出子抽样游程中的第一子抽样索引的第一子抽样字段,所述子抽样共享相同子抽样描述ID。

    子抽样描述类型标识符控制子抽样描述ID字段的使用。也就是,根据描述类型标识符中规定的类型,子抽样描述ID字段可以自己规定直接编码ID本身内部子抽样描述的描述ID或者子抽样描述ID字段可以作为一个到不同表(即,如下所述的子抽样描述表)的索引。例如,如果描述类型标识符表明一个JVT描述,那么子抽样描述ID字段可以包括规定JVT子抽样特征的代码。在这种情况下,子抽样描述ID字段可以是一个32位字段,其中最不重要的8位用作位屏蔽(mask)从而表示子抽样内部预定数据部分的存在,和高阶24位用于表示NAL分组类型或者用于进一步的扩展。

    参看图7E,子抽样描述盒728包括规定子抽样描述盒728版本的版本字段,规定在表730中条目数目的条目计数字段、规定子抽样描述字段描述类型的描述类型标识符字段,和一个包含一个或多个子抽样描述条目730的表,其中子抽样描述字段提供关于子抽样特性的信息。子抽样描述类型识别描述信息相关的类型并且相应于子抽样描述联结表724中的相同字段。表730中的每个条目包含具有关于与该描述条目有关的子抽样特征信息的子抽样描述条目。描述条目的信息和格式取决于描述类型字段。例如,当描述类型是参数集时,每个描述条目将包含参数集的值。

    描述信息可以涉及参数集信息、与ROI有关的信息或表征子抽样所需要的任何其它信息。对于参数集,子抽样描述联结表724表明与每个子抽样有关的参数集。在这种情况下,子抽样描述ID相应于参数集标识符。相似地,子抽样可以表示如下不同的内部区域。定义子抽样作为一个或多个编码的宏块,然后使用子抽样描述联结表来表示将视频帧和图像的编码宏块分为不同区域。例如,在一个帧中的编码宏块可以被分为具有分别表明分配给前景和背景区域的两个子抽样描述ID(例如1和2的子抽样描述ID)的前景和背景宏块。

    图7F举例说明不同类型的子抽样。子抽样可以表示没有部分的片段732、具有多个数据部分的片段734、在一个片段中的头736、在一个片段中间的数据部分738、片段的最后数据部分740、SEI信息包742等等。子抽样类型的每一个可以与图7G中所示的8位屏蔽744的特定值有关。如以上所述,8位屏蔽可以形成32位子抽样描述ID字段的8个最不重要的位。

    图7H举例说明具有描述类型标识符等于“jvtd”的子抽样描述联结盒724。图7G中举例说明的表726包括存储值的32位子抽样描述ID字段。

    图7H-7K举例说明在子抽样描述联结表中的数据压缩。

    关于图7I,未压缩表726包括重复(repeat)序列748的子抽样描述ID的序列750。在压缩表746中,重复的顺序750已经被压缩成到序列748和该序列出现的次数的参考。

    在图7J举例说明的一个实施例中,序列事件可以在子抽样描述ID字段中通过使用作为序列标志754的游程的它的最高有效位、作为事件(occurrence)索引756的下一个23位以及作为事件长度758的它最低有效位而被编码。如果标志754被设置为1,那么它表明该条目是重复顺序的事件。否则,该条目是子抽样描述ID。事件索引756是序列第一事件的子抽样描述联结盒724中的索引,并且长度758表明重复顺序事件的长度。

    在图7K举例说明的另一个实施例中,重复序列事件表760被用于表示重复序列事件。子抽样描述ID字段最高有效位被用作表明条目是子抽样描述ID还是重复序列事件表760中条目的序列索引764的序列游程标志762,它是子抽样描述联结盒724的一部分。该重复序列事件表760包括一个事件索引字段以便规定重复序列中第一项目的子抽样描述联结盒724中的索引,和一个规定重复序列的长度的长度字段。

                          参数集

    在诸如JVT之类的某些媒体格式中,包含需要媒体数据适当解码的关键控制值的“头”信息被从剩余编码数据中分开/去耦,并且被保存在参数集中。然后,胜于将流中这些控制值和编码数据进行混合,编码数据可以使用诸如唯一标识符之类的机制来查阅必需参数集。该方法从编码数据中去耦高层编码参数的传送。同时,它也通过共享控制值的公共集作为参数集来减少冗余。

    为了支持使用参数集的存储媒体流的有效发送,发送机或唱机必须能够快速地连接编码数据到相应参数以便知道什么时候和什么地方参数集必须被发送或存取。本发明的一个实施例通过存储规定在参数集和作为媒体文件格式中参数集元数据的媒体数据相应部分之间的联结来提供这个能力。

    图8和图9举例说明分别由编码系统100和解码系统200执行的存储和重现参数集元数据的过程。该过程可以由包含硬件(例如电路、专用逻辑电路等等)、软件(诸如在通用计算机系统或专用机器上运行的)或两者组合的处理逻辑来执行。

    图8是一个用于在编码系统100创建参数集元数据方法800的一个实施例的流程图。最初,方法800从处理逻辑接收具有编码媒体数据的文件开始(程序方块图802)。该文件包括规定如何解码部分媒体数据的编码参数集。接下来,处理逻辑检查称为参数集的编码参数集和媒体数据的相应部分之间的关系(程序方块图804),并且创建定义参数集和它们与媒体数据部分联结的参数集元数据(程序方块图806)。媒体数据部分可以由抽样或子抽样表示。

    在一个实施例中,参数集元数据被编成一组预定数据结构(例如一组盒(box))。该预定数据结构集可以包括包含关于参数集的描述信息的数据结构,和包含定义抽样和相应参数集之间联结的信息的数据结构。在一个实施例中,预定数据结构集也包括包含定义子抽样和相应参数集之间联结的信息的数据结构。包含子抽样到参数集联结信息的数据结构可以清除或可以不清除(override)包含抽样到参数集联结信息的数据结构。

    接下来,在一个实施例中,处理逻辑确定是否任何参数集数据结构都包含数据的重复序列(判定框808)。如果该确定是肯定的,那么处理逻辑将每个数据重复序列转换为到序列事件的参考和重复序列发生的次数(程序方块图410)。

    后来,在程序方块图812,处理逻辑包括与使用特定媒体文件格式(例如JVT文件格式)的媒体数据相关的文件中的参数集元数据。根据媒体文件格式,参数集元数据可以和轨道元数据和/或抽样元数据(例如包含关于参数集描述信息的数据结构可以被包括在一个轨道盒中,和包含联结信息的一个或多个数据结构可以被包括在抽样表盒中)一起被存储,或者参数集元数据可以独立于轨道元数据和/或抽样元数据。

    图9是在解码系统200中应用参数集元数据的方法900的一个实施例的流程图;最初,方法900从处理逻辑接收与编码的媒体数据有关的文件开始(程序方块图902)。

    可以从数据库(本地或外部)、编码系统100或网络上的任何其它设备上接收所述文件。所述文件包括定义媒体数据参数集和参数集与媒体数据相应部分(例如,相应的抽样或子抽样)之间的联结的参数集元数据。

    接下来,处理逻辑从文件中提取参数集元数据(程序方块图904)。正如以上的讨论,参数集元数据可以被保存在一组数据结构中(例如一组盒(box))。

    接下来,处理逻辑从文件中提取参数集元数据(处理方块图904)。如上所述,参数集元数据可以被保存在一组数据结构中(例如,一组盒)。

    进一步,在程序方块图906,处理逻辑使用提取的元数据以便确定哪些参数集与特定媒体数据部分相关(例如,一个抽样或一个子抽样)。然后这个信息可以被用于控制媒体数据部分和相应参数集的传输时间。也就是,被用于解码特定抽样或子抽样的参数集必须在包含在包含抽样或子抽样的分组或具有包含抽样或子抽样分组的分组之前被发送。

    因此,参数集元数据的使用使参数集能在更可靠的信道上独立传输,这减少了引起部分媒体流被损失的错误或数据丢失的可能。

    现在将参考扩展ISO媒体文件格式(称为扩展的ISO)描述示范性参数集元数据结构。然而,应当指出,其它媒体文件格式可以被扩展以便联结存储参数集元数据的各种数据结构。

    图10A-10E举例说明示用于存储参数集元数据的示范性数据结构。

    参考图10A,包含由ISO文件格式定义的轨道元数据盒的轨道盒1002被扩展为包括参数集描述盒1004。此外,包含由ISO文件格式定义的抽样元数据盒的抽样表盒1006被扩展为包括抽样到参数集描述盒1008。在一个实施例中,如下面更详细论述的,抽样表盒1006包括一个子抽样到参数集盒,其中该参数集盒可以覆盖(override)抽样到参数集盒1008。

    在一个实施例中,该参数集元数据盒1004和1008是必须的。在另一个实施例中,仅仅参数集描述盒1004是必须的。在另一实施例中,所有的参数集元数据盒是可选的。

    参考图10B,参数集描述盒1010包含规定参数集描述盒1010版本的版本字段、规定表1012中条目数目的参数集描述计数字段和包含参数集本身条目的参数集条目字段。

    可以从抽样级或子抽样级来参考参数集。参考图10C,抽样到参数集盒1014提供从抽样级到参数集的参考。抽样到参数集盒1014包括规定抽样到参数集盒1014版本的版本字段、规定缺省参数集的缺省参数集ID字段、提供表1016中条目数目的条目计数字段。表1016中的每个条目包含提供共享相同参数集的抽样游程中第一抽样索引的第一抽样字段、和规定索引到参数集描述盒1010的参数集索引。如果缺省参数集ID等于0,那么抽样具有保存在表1016中的不同参数集。否则,恒定参数集被使用并且没有阵列跟随。

    在一个实施例中,表1016中的数据通过将每个重复序列转换为到初始序列和该序列次数的参考而被压缩,如上面联结子抽样描述联结表的详细描述。

    可以通过定义参数集和子抽样之间的联结以便从子抽样级来参考参数集。在一个实施例中,参数集和子抽样之间的联结使用上述子抽样描述联结盒来被定义。图10D举例说明具有关于参数集的描述类型标识符的子抽样描述联结盒1018(例如,描述类型标识符等于“pars”)。基于该描述类型标识符,表1020中的子抽样描述ID表明参数集描述盒1010中的索引。

    在一个实施例中,当显示具有关于参数集的描述类型标识符的子抽样描述联结盒1018时,它清除抽样到参数集盒1014。

    参数集可以创建参数集的时间以及参数集被用于解码媒体数据的相应部分的时间之间变化。如果这种变化出现,那么解码系统200接收规定变换为参数集的参数更新分组。参数集元数据包括识别更新之前和更新之后的参数集状态的数据。

    参考图10E,参数集描述盒1010包括一个在时间t0创建的最初参数集1022的条目和一个响应于在时间t1接收的参数更新分组1026创建的更新参数集1024的条目。子抽样描述联结盒1018将具有相应子抽样的两个参数集联结。

                      抽样组

    当轨道内的抽样可以具有序列(可能非连续的)中抽样的不同逻辑组(部分)时,已有的文件格式不提供表示和存储这种组的方便机制,其中的序列表示媒体数据中高层结构。例如,诸如JVT的高级编码格式基于它们的内相关将单轨道内的抽样组织为组。当网络状态需要时,这些组(这里被称为序列或抽样组)可被用于识别可处理抽样的链(chain),因此支持临时可分级性。存储定义一个文件格式中抽样组的元数据使媒体的发送机容易地和有效地实现上述特征。

    抽样组的一个例子是一组其内帧相关性允许它们独立于其它抽样被解码的抽样。在JVT中,这种抽样组称为提高的图象组(提高的GOP)。在提高GOP中,抽样可以被分为子序列。每个子序列包括一组相互依赖并可以作为一个单元被处理的一组抽样。此外,提高GOP的抽样可以被分级地构成为层以便使得在较高层中的抽样仅仅从较低层的抽样预测,因此允许最高层的抽样被处理而不影响解码其它抽样的能力。包括不依赖任何其它层中的抽样的最低层被称为基本层。不称为基本层的任何其它层被称为增强层。

    图11举例说明一个示范性的提高GOP,其中抽样被分成两个层,一个基本层1102和一个增强层1104,和两个子序列1106和1108。两个子序列1106和1108的每一个可以被相互独立地清除。

    图12和图13举例说明分别由编码系统100和解码系统200执行的存储和重现抽样组元数据的过程。该过程可以由包含硬件(例如电路、专用逻辑电路等等)、软件(诸如在通用计算机系统或专用机器上运行的)或两者组合的处理逻辑来执行。

    图12是一个用于在编码系统100中创建抽样组元数据方法1200的一个实施例的流程图。最初,方法1200从处理逻辑接收与编码媒体数据有关的文件开始(程序方块图1202)。媒体数据轨道内的抽样具有某个内相关。例如,轨道可以包括不依赖任何其它抽样的I帧,依赖单个在先抽样的P帧,和依赖包括I帧、P帧和B帧任何组合的两个在先抽样的B帧。基于它们的内相关性,在轨道内的抽样可以在逻辑上被合并成抽样组(例如,提高的GOP、层、子序列、等等)。

    接下来,处理逻辑检查媒体数据以便识别每个轨道中的抽样组(程序方块图1204),并创建描述抽样组和定义哪个抽样被包含在每个抽样组中的抽样组元数据(程序方块图1206)。在一个实施例中,抽样组元数据被组织为一组预定数据结构(例如一组盒(box))。预定数据结构集可以包括包含关于每个抽样组描述信息的数据结构和包含识别每个抽样组中包含的抽样的信息的数据结构。

    接下来,在一个实施例中,处理逻辑确定是否每个抽样组数据结构都包含数据的重复序列(判定框1208)。如果该确定是肯定的,那么处理逻辑将数据的每个重复序列转换为到序列事件的参考和重复序列发生的次数(程序方块图1210)。

    后来,在程序方块图1212,处理逻辑包括使用特定媒体文件格式(例如JVT文件格式)将抽样组元数据转换为与媒体数据相关的文件。根据媒体文件格式,子抽样元分组数据可以和抽样元分组数据一起被存储(例如子抽样分组数据结构可以被包括在抽样表盒中)或独立于抽样元数据被存储。

    图13是在解码系统200中应用抽样组元数据的方法1300的一个实施例的流程图;最初,方法1300从处理逻辑接收与编码媒体数据有关的文件开始(程序方块图1302)。可以从数据库(本地或外部)、编码系统100或网络上的任何其它设备上接收该文件。该文件包括定义媒体数据中抽样组的抽样组元数据。

    接下来,处理逻辑从文件中提取抽样组元数据(程序方块图1304)。正如以上讨论的,抽样组元数据可以被保存在一组数据结构中(例如一组盒(box))。

    进一步,在程序方块图1306,处理逻辑使用提取的抽样组元数据来识别可以在不影响解码其它抽样的能力的情况下处理的抽样链。在一个实施例中,该信息可能被用于存取特定抽样组中的抽样,并响应于网络容量的变化确定哪个抽样可以被丢弃。在其它实施例中,抽样组元数据被用于过滤抽样以便一个轨道中的仅仅一部分抽样被处理或再现。

    因此,该抽样组元数据便于选择性地存取抽样和可分级性。

    现在将参考扩展ISO媒体文件格式(称为扩展的MP4)描述示范性抽样组元数据结构。然而,应当注意,其它媒体文件格式可以被扩展以便联结存储抽样组元数据的不同数据结构。

    图14A-14E举例说明示用于存储抽样组元数据的示范性数据结构。

    参考图14A,包含由MP4定义的抽样元数据盒的抽样表盒1400被扩展为包括抽样组盒1402和抽样组描述盒1404。在一个实施例中,抽样组元数据盒1402和1404是可选的。

    参考图14B,抽样组盒1406被用来寻找一组包含在特定抽样组中的抽样。抽样组盒1406的多个实例被允许和抽样组的不同类型(例如,增强GOP、子序列、层、参数集等等)相对应。抽样组盒1406包含一个规定抽样组盒1406版本的版本字段、一个提供在表1408中条目的数目的条目计数字段、一个识别抽样组类型的抽样组标识符字段、一个提供第一抽样在包含在相同抽样组中的抽样游程中的索引的第一抽样字段、和一个规定到抽样组描述盒的索引的抽样组描述索引。

    参考图14C,抽样组描述盒1410提供关于抽样组特性的信息。该抽样组描述盒1410包含一个规定抽样组描述盒1410版本的版本字段、一个提供表1412中的条目数目的条目计数字段、一个识别抽样组类型的抽样组标识符字段、和一个提供抽样组描述符的抽样组描述字段。

    参考图14D,举例说明对于层(″layr″)抽样组类型的抽样组盒1416的使用。基于抽样的内相关性,抽样1到11被分成三层。在层0(基本层),抽样(抽样1、6和11)仅仅相互依赖而不是依赖任何其它层中的抽样。在层1,抽样(抽样2、5、7,10)依赖较低层的抽样(也就是层0)和层1内的抽样。在层2,抽样(抽样3、4、8、9)依赖较低层(层0和1)抽样和层2内的抽样。因此,层的抽样2可以被处理而不影响解码来自于较低的层0和1的抽样的能力。

    在抽样组盒1416中的数据图示了抽样和层之间的上述联结。如所示的,如上面更详细地描述,这些数据包括重复层模式1414,它可以通过将每个重复层模式转换为到初始层模式和该模式出现次数的参考而被压缩。

    参考图14E,举例说明对于子序列(″sseq″)抽样组类型的抽样组盒1418的使用。基于抽样的内相关性,抽样1到11被分成四个子序列。除了层0中的子序列0,每个子序列都括没有其它子序列依赖的抽样。因此,当需要时,在子序列中的抽样序可以作为一个单元被处理。

    在抽样组盒1418中的数据图示了在抽样和子序列之间的联结。该数据允许在相应子序列的开始随机存取抽样。

                          流交换

    在典型的流传送情况下,一个关键的要求是响应于改变网络状态换算压缩数据的比特率。获得这个的最简单方式是编码多个流具有不同位速率和对表示网络状态的质量设置。因此服务器能响应于网络状态在这些预编码的流之间进行交换。

    JVT标准提供一个新型图象,在不要求两个图象使用用于预测的相同帧的情况下,允许一个图象等同另一个进行重建。尤其是,JVT提供两类交换图象:类似于I帧的SI图象,独立于任何其它图象被编码;和参考其它图象被编码的SP图象。响应于改变传送条件,交换图象可用于实现具有不同位速率和质量设置的流之间的交换,从而提供差错恢复,并且实现如快进的和倒带的技巧模式。

    然而,为了在实现流交换、差错恢复力、技巧模式和其它特征时有效地使用JVT交换图象,播放机必须知道存储媒体数据中哪个抽样具有可替换表示以及它们的相关性是什么。现有文件格式不提供这种能力。

    本发明的一个实施例通过定义交换抽样集来解决上述限制。一个交换抽样集表示一组其解码值相同但是可以使用不同参考抽样的抽样。参考抽样是用于预测另一个抽样值的抽样。交换抽样集的每一部分(member)都被认为是一个交换抽样。图15A举例说明用于比特流交换的交换抽样集的使用;

    参考图15A,流1和流是具有不同质量和位速率参数的相同内容的两种编码。抽样S12是一个不出现在任何流中的SP图象,用于实现从流1到流2(交换是一个方向性)的交换。抽样S12和S2被包含在交换抽样集中。从轨道1的抽样P12中预测S1和S12以及从轨道2中的抽样P22中预测S2。虽然抽样S12和S2使用不同参考抽样,但是它们的解码值是相等的。因此,从流1到流2的交换(在流1中的抽样S1和流2中的抽样S2)可以经由交换抽样S12获得。

    图16和图17举例说明由编码系统100和解码系统200分别执行的存储和重现交换抽样元数据的过程。该过程可以由包含硬件(例如电路、专用逻辑电路等等)、软件(诸如在通用计算机系统或专用机器上运行的)或两者组合的处理逻辑来执行。

    图16是一个用于在编码系统100创建交换抽样元数据的方法1600的一个实施例的流程图。最初,方法1600从处理逻辑接收与编码的媒体数据有关的文件开始(程序方块图1602)。该文件包含一个或多个用于媒体数据的可替换编码(例如,用于表示网络状态的不同带宽和质量设置)。该可替换编码包含一个或多个交换图象。这种图象可以被包含在可替换媒体数据流或作为实现诸如差错恢复或技巧模式之类的特定特征的独立实体内部。用于创建这些轨道和交换图象的方法不是通过该发明来进行限定的,但是对精通本领域技术人员来说各种可能性是显而易见的。例如,包含可替换编码的每对轨道之间的交换抽样的周期(例如每1秒)安排(placement)。

    接下来,当使用不同参考抽样时,处理逻辑检查该文件以便创建包含具有相同解码值的那些抽样的交换抽样集(程序方块图1604),并且创建定义用于媒体数据的交换抽样集和描述交换抽样集内抽样的交换抽样元数据(程序方块图1606)。在一个实施例中,交换抽样元数据被组织成诸如包含一组嵌套(nested)表的表盒之类的预定数据结构。

    接下来,在一个实施例中,处理逻辑确定是否交换抽样元数据结构包含数据的重复序列(判定框1608)。如果该确定是肯定的,处理逻辑将数据的每个重复序列转换为到序列事件的参考和重复序列发生的次数(程序方块图1610)。

    后来,在程序方块图1612,处理逻辑包括使用特定媒体文件格式(例如JVT文件格式)将交换抽样组元数据转换为与媒体数据相关的文件。在一个实施例中,交换抽样元数据可以被保存在指定用于流交换的独立轨道中。在另一个实施例中,交换抽样元数据和抽样元数据一起被存储(例如,序列数据结构可以被包含在抽样表盒中)。

    图17是在解码系统200中应用交换抽样组元数据的方法1700的一个实施例的流程图;最初,方法1700从处理逻辑接收与编码的媒体数据有关的文件开始(程序方块图1702)。可以从数据库(本地或外部)、编码系统100或网络上的任何其它设备上接收该文件。所述文件包括定义与媒体数据有关的交换抽样集的交换抽样元数据。

    接下来,处理逻辑从文件中提取交换抽样组元数据(程序方块图1704)。如上所述,交换抽样元数据可以被保存在诸如包含一组嵌套(nested)表的表盒之类的预定数据结构中。

    进一步,在程序方块图1706,处理逻辑使用提取的元数据从而发现包含一个特定抽样的交换抽样集并且从交换抽样集中选择可替换的抽样。响应于改变网络状态,然后具有作为初始抽样的相同解码值的可替换抽样可以被用于交换两个被不同地编码的比特流之间的交换,从而提供到比特流的随机访问入口点,以便便于差错校正等等。

    现在将参考扩展ISO媒体文件格式(称为扩展的MP4)描述示范性交换抽样元数据结构。然而,应当注意,可以扩展其它媒体文件格式以便联结存储交换抽样元数据的各种数据结构。

    图18举例说明用于存储交换抽样元数据的示范性数据结构。该示范性数据结构是包含一组嵌套表的交换抽样表盒的形式。表1802中的每个条目识别一个交换抽样集。每个交换抽样集由一组其重现是客观上一样的但是可以从不同参考抽样中预测的一组交换抽样组成的,其中所述的参考抽样可以也可以不如交换抽样一样在相同轨道中(流)。表1802中的每个条目连接到相应表1804。表1804识别包含在交换样本集中的每个交换抽样。表1804中的每个条目进一步与定义交换抽样(也就是它的轨道并且抽样号码)位置、包含由交换抽样使用的参考抽样的轨道、交换抽样使用的参考抽样的总数和交换抽样使用的每个参考抽样的相应表1806相关联。

    如图15A中的举例说明的,在一个实施例中,交换抽样元数据可能被用于在相同内容的不同编码版本之间进行交换。在MP4中,每个可替换编码被存为独立的MP4轨道并且轨道头中的“可替换组”表明它是一个特定内容的可替换编码。

    图15B举例说明包含定义根据图15A由抽样S2和S12组成的交换抽样集1502的元数据的表。

    图15C是一个用于确定两个比特流之间的执行交换的点的方法1510的一个实施例的流程图;假定交换是从流1到流2被执行的,那么方法1510从搜索交换抽样元数据从而发现包含一个具有流1参考轨道的交换抽样和具有流2的交换抽样轨道的交换抽样的所有交换抽样集开始。接下来,评估所得到的交换抽样集以便选择一个交换抽样,在所述的交换抽样中具有流1的参考轨道的交换抽样的所有参考抽样是可用的(程序方块图1514)。例如,如果具有流1参考轨道的交换抽样被一个P帧,那么在交换之前需要一个抽样是可用的。进一步,在所选择的交换抽样集中的抽样被用于确定交换点(程序方块图1516)。也就是,交换点被认为是紧跟具有流1参考轨道的交换抽样的最高参考抽样之后,经由具有流1参考轨道的交换抽样,到紧紧跟随具有流2交换抽样轨道的交换抽样的抽样。

    在另一个实施例中,如在图19A-19C中举例说明的,交换抽样元数据可以用于使到比特流的随机存取入口点容易。

    参考图19A和19B,交换抽样1902由抽样S2和S12组成。S2是从P22预测的P帧,并且通常在流重放期间使用。S12被用作一个随机存取点(例如,用于接合(splicing))。一旦S12被解码,流重放就继续P24的解码,就像P24在S2之后被解码。

    图19C是一个用于确定抽样的随机存取点(例如,轨道T上的抽样S)的方法1910的一个实施例的流程图。方法1910从搜索交换抽样元数据从而发现包含具有交换抽样轨道T的交换抽样的所有交换抽样集开始(程序方块图1912)。接下来,评估所得到的交换抽样集以便选择一个交换抽样集,在所述的交换抽样集中具有交换抽样轨道T的交换抽样是解码顺序中在抽样S之前最近的抽样(程序方块图1914)。进一步,不同于具有交换抽样轨道T的交换抽样的交换抽样(抽样SS)是从用于抽样S的随机访问点的所选择的交换抽样集中选择的(程序方块图)。在流重放期间,代替抽样S抽样SS被解码(紧跟在抽样SS条目中规定的任一抽样的解码之后)。

    在另一实施例中的,如图20A-20C中的举例说明的,交换抽样元数据可能被用于使差错校正变得容易。

    参考图20A和20B,交换抽样2002由抽样S2、S12S和S22组成。从抽样P4中预测抽样S2。从抽样S1中预测抽样S12。如果抽样P2和P4之间出现差错,那么交换抽样S12可以代替抽样S2被解码。然后,流照旧继续抽样P6。如果一个差错也影响抽样S1,那么交换抽样S22可以代替抽样S2被解码,然后流将照旧继续抽样P6。

    图20C是一种用于在发送抽样(例如抽样S)时,使差错校正变得容易的方法2010的一个实施例的流程图。方法2010从搜索交换抽样元数据从而发现包含等于抽样S或在解码顺序中跟随抽样S的交换抽样的所有交换抽样集(程序方块图2012)开始。接下来,评估所得到的交换抽样集以便选择一个交换抽样集,所述的交换抽样集具有最接近抽样S并且其参考抽样巳知(通过重放或者一些其它信息源)是正确的交换抽样SS(程序方块图2014)。进一步,交换抽样SS代替抽样S被发送(程序方块图2016)。

    已经描述了视听元数据的存储与重现。虽然这里已经举例说明和描述了特定的实施例但是本领域的普通的技术人员应当理解打算获得相同目的的任何配置可以代替所示的特定实施例。该申请意图是覆盖本发明的任何修改或变化。

用于在MP4中支持AVC的方法和设备.pdf_第1页
第1页 / 共78页
用于在MP4中支持AVC的方法和设备.pdf_第2页
第2页 / 共78页
用于在MP4中支持AVC的方法和设备.pdf_第3页
第3页 / 共78页
点击查看更多>>
资源描述

《用于在MP4中支持AVC的方法和设备.pdf》由会员分享,可在线阅读,更多相关《用于在MP4中支持AVC的方法和设备.pdf(78页珍藏版)》请在专利查询网上搜索。

创建定义与多媒体数据有关的交换抽样集的交换抽样元数据。每个交换抽样集包含具有相同解码值的抽样。此外,形成与多媒体数据有关的文件。该文件包含交换抽样元数据以及与多媒体数据有关的其它信息。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1