CN107534801A - 用于处理图像序列轨道的方法、装置和计算机程序产品 - Google Patents

用于处理图像序列轨道的方法、装置和计算机程序产品 Download PDF

Info

Publication number
CN107534801A
CN107534801A CN201680020701.9A CN201680020701A CN107534801A CN 107534801 A CN107534801 A CN 107534801A CN 201680020701 A CN201680020701 A CN 201680020701A CN 107534801 A CN107534801 A CN 107534801A
Authority
CN
China
Prior art keywords
track
project
image
packet
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680020701.9A
Other languages
English (en)
Other versions
CN107534801B (zh
Inventor
V·K·马拉马尔瓦达基塔尔
M·汉努卡塞拉
J·莱内马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN107534801A publication Critical patent/CN107534801A/zh
Application granted granted Critical
Publication of CN107534801B publication Critical patent/CN107534801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications

Abstract

公开了用于视频编码的各种方法、装置和计算机程序产品。根据一个实施例,一种编码方法包括:将静态媒体项目包含在容器文件中;将一个或多个媒体轨道包含在所述容器文件中;在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;以及在所述文件中指示所述组的分组类型。根据一个实施例,一种解码方法包括:从容器文件中解析静态媒体项目和一个或多个实体形成一个组;从所述容器文件中解析所述组的分组类型;基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。

Description

用于处理图像序列轨道的方法、装置和计算机程序产品
技术领域
本发明涉及图像文件格式,更具体地说,涉及处理语义上相关的图像序列轨道(image sequence tracks)。
背景技术
本节旨在为权利要求中引述的发明提供背景和上下文。这里的描述可以包括可追求的概念,但不一定是先前被设想或追求的概念。因此,除非本文另有说明,否则本节所述内容不属于本申请的说明书和权利要求书的现有技术,并且不被承认为包含在本节中的现有技术。
MPEG-H图像文件格式是ISO基础媒体文件格式(ISOBMFF)的派生规范。其目前被指定为包含(通过包含和/或通过参考)HEVC编码的静止图像和图像序列。与ISOBMFF类似的图像文件格式使用面向对象的机制,其中每个对象称为“盒(box)”。所有媒体数据及其相关元数据都封装在盒中。每个盒由四字符代码(4CC)标识并以标头开始,该标头通知有关盒的类型和大小。
ISOBMFF包括替代组(alternate group)机制、轨道组(track group)机制以及样本分组(sample grouping)机制。替代组机制可用于指示轨道可以彼此替代。轨道分组机制可用于指示轨道根据所指示的分组准则而被分组。样本分组机制可用于指示某些属性适用于轨道内的指示样本组。
需要一种用于将项目、项目和轨道的组合、或较小的组分组成更大的组的改进的解决方法。
发明内容
一些实施例提供了一种用于编码和解码视频信息的方法。
本发明的示例的多个方面在具体实施方式中说明。
根据第一方面,提供了一种方法,包括:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;
以及
-在所述文件中指示所述组的分组类型。
根据第二方面,提供了一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置执行至少以下操作:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;
以及
-在所述文件中指示所述组的分组类型。
根据第三方面,提供了一种编码有指令的非临时性计算机可读介质,当被计算机执行时,所述指令执行以下操作:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;
以及
-在所述文件中指示所述组的分组类型。
根据一个实施例,一个或多个实体选自:
·所述一个或多个轨道的指示轨道(indicated track);
·所述一个或多个轨道的指示组(indicated group);
·指示子轨道(indicated sub-track);
·轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
·被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
·另一静态媒体项目。
根据一个实施例,所述一个或多个轨道的指示组是以下中的一者:替代轨道组,或具有特定指定类型的轨道组。
根据一个实施例,所述分组指示以下一者或多者:分组后的项目和轨道彼此可替代;已识别的项目或轨道用于另一已识别的项目或轨道的预览目的;项目或轨道具有相同的起源;所述分组后的项目或轨道表示不同视点的同一场景;分组后的派生图像项目已被用作用于编码分组后的编码图像项目的输入;分组后的项目和轨道是相同的。
根据一个实施例,彼此可替代的分组后的项目和轨道指示以下一者或多者:动画和静止图像互为替代;派生图像的可选操作;预先计算的派生图像和相应的派生图像互为替代。
根据一个实施例,将替代图片的信息包含到所述容器文件中。
根据一个实施例,向实体分配标识符。
根据一个实施例,将第一标识符值分配给第一实体,以及将第二标识符值分配给第二实体。
根据一个实施例,替代图片的信息基于以下特征之一而与替代图片组相关:不同空间分辨率;不同图片长宽比;不同位深度;不同色域。
根据第四方面,提供了一种解码方法,包括:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
根据第五方面,提供了一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置执行至少以下操作:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
根据第六方面,提供了一种编码有指令的非临时性计算机可读介质,当被计算机执行时,所述指令执行以下操作:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
根据一个实施例,实体是以下中的一者:
·所述一个或多个轨道的指示轨道;
·所述一个或多个轨道的指示组;
·指示子轨道;
·轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
·被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
·另一静态媒体项目。
根据一个实施例,分组指示以下一者或多者:分组后的项目和轨道彼此可替代;已识别的项目或轨道用于另一已识别的项目或轨道的预览目的;项目或轨道具有相同的起源;所述分组后的项目或轨道表示不同视点的同一场景;分组后的派生图像项目已被用作用于编码分组后的编码图像项目的输入;分组后的项目和轨道是相同的。
根据一个实施例,所述分组类型指示分组后的项目和轨道彼此可替代,并且所述确定包括选择所述静态媒体项目和所述一个或多个实体中的一者以便显示。
根据一个实施例,彼此可替代的分组后的项目和轨道指示以下一者或多者:动画和静止图像互为替代;派生图像的可选操作;预先计算的派生图像和相应的派生图像互为替代。
根据一个实施例,从所述容器文件中解析替代图片的信息。
根据一个实施例,通过解析与第一图片相关联的第一值和与第二图片相关联的第二值具有相同的值来确定所述第一图片和所述第二图片互为替代。
根据一个实施例,从所述容器文件中解析形成替代组所依据的媒体文件特征以及与所述特征相关的图片特定信息。
附图说明
为了更全面地理解本发明的示例实施例,现在结合附图参考下面的描述,其中:
图1示出根据一个实施例的视频编码系统的框图;
图2示出根据一个实施例的装置的布局;
图3示出根据一个实施例的包括多个装置、网络和网络元件的视频编码的布置;
图4示出根据一个实施例的视频编码器的框图;
图5示出根据一个实施例的视频解码器的框图;
图6a-b示出图像及其项目ID,以及项目的不同分组;
图7示出根据一个实施例的“grpl”盒的内容;
图8示出轨道基础媒体和基于项目的媒体以及它们的关系的一个示例;
图9示出根据一个实施例的“grpl”盒的内容;
图10示出图像项目的分组的一个示例;
图11示出根据一个实施例的“grpl”盒的内容;
图12示出输出有效可显示图像的媒体项目和派生图像项目的分组的一个示例;
图13示出根据一个实施例的“grpl”盒的内容;
图14示出预先计算的派生图像项目和属于该派生图像的项目的分组的一个示例;
图15示出根据一个实施例的“grpl”盒的内容;
图16是根据一个实施例的用于编码的方法的流程图;以及
图17是根据一个实施例的用于解码的方法的流程图。
具体实施方式
图1示出根据一个实施例的作为装置或电子设备50的示意性框图的视频编码系统。电子设备50可以结合根据一个实施例的编解码器。图2示出根据一个实施例的装置的布局。接下来将说明图1和图2的元件。
电子设备50例如可以是无线通信系统的移动终端或用户设备。然而,应当理解,本发明的实施例可以在可能需要编码和解码,或编码或解码视频图像的任何电子设备或装置内实现。
装置50可以包括用于结合和保护设备的外壳30。装置50进一步可以包括采取液晶显示器形式的显示器32。在其它实施例中,显示器可以是适合于显示图像或视频的任何合适的显示技术。装置50可以进一步包括小键盘34。根据一个实施例,可以采用任何合适的数据或用户接口机制。例如,用户接口可以被实现为作为触敏显示器的一部分的虚拟键盘或数据输入系统。该装置可以包括麦克风36或可以是数字或模拟信号输入端的任何合适的音频输入端。装置50可以进一步包括音频输出设备,根据一个实施例,音频输出设备可以是以下任一者:听筒38、扬声器或模拟音频或数字音频输出连接。装置50还可以包括电池40(或者在一个实施例中,该装置可以由诸如太阳能电池、燃料电池或发条发电机之类的任何合适的移动能量设备来供电)。该装置可以进一步包括能够记录或捕获图像和/或视频的摄像机42。根据一个实施例,装置50可以进一步包括与其它设备的短距离视线通信的红外端口。根据一个实施例,装置50可以进一步包括任何合适的短距离通信解决方案,例如蓝牙无线连接或USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或处理器。控制器56可以连接到存储器58,存储器58根据一个实施例可以存储采取图像和音频数据的形式的数据,和/或也可以存储用于在控制器56上实现的指令。控制器56可以进一步连接到适于执行音频和/或视频数据的编码和解码或协助由控制器56执行的编码和解码的编解码器电路54。
装置50可以进一步包括读卡器48和智能卡46,例如UICC和UICC读取器,该读取器用于提供用户信息并且适合于提供用于网络上的用户的认证和授权的认证信息。
装置50可以进一步包括无线电接口电路52,该电路连接到控制器并且适于生成例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信的无线通信信号。装置50可以进一步包括天线44,该天线连接到无线电接口电路52以便将在无线电接口电路52处生成的射频信号发送到其它装置(多个)并从其它装置(多个)接收射频信号。
根据一个实施例,装置50包括能够记录或检测个体帧的摄像机,这些帧然后被传送到编解码器54或控制器进行处理。根据一个实施例,该装置可以在传输和/或存储之前从另一设备接收要处理的视频图像数据。根据一个实施例,装置50可以无线地或通过有线连接接收要编码/解码的图像。
图3示出根据一个实施例的包括多个装置、网络和网络元件的视频编码的布置。关于图3,示出了可以利用本发明的实施例的系统的一个示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,其中包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等)、诸如由IEEE 802.x标准定义的无线局域网(WLAN)、蓝牙个人区域网络、以太网局域网、令牌环局域网,广域网和因特网。
系统10可以包括适合于实现各实施例的有线和无线通信设备或装置50。例如,图3所示的系统示出移动电话网络11和因特网28的表示。到因特网28的连接可以包括但不限于长距离无线连接、短距离无线连接和各种包括但不限于以下项的连接:即,电话线、电缆线、电力线和类似的通信路径。
系统10中示出的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话14、PDA16、集成消息传送设备(IMD)18、桌面计算机20、笔记本计算机22的任意组合。当被移动的个人携带时,装置50可以是静止的或移动的。装置50还可以处于运输模式中,其中包括但不限于汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或任何类似的合适运输模式。
一些或另外的装置可以发送和接收呼叫和消息,并且通过到基站24的无线连接25与服务提供方进行通信。基站24可以连接到网络服务器26,该网络服务器26允许移动电话网络11和因特网28之间的通信。所述系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,其中包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)传输控制协议-互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息传送服务(MMS)电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。参与实现本发明的各种实施例的通信设备可使用各种媒体进行通信,其中包括但不限于无线电、红外线、激光、电缆连接和任何合适的连接。
视频编码器可以包括将输入视频变换成适合于存储/传输的压缩表示的编码器,并且解码器能够将压缩后的视频表示解压缩回可查看的形式。编码器可以丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,较低的比特率)来表示视频。可以使用视频编码器来编码随后定义的图像序列,并且可以使用视频解码器对编码后的图像序列进行解码。视频编码器或视频编码器或图像编码器的帧内编码部分可用于对图像进行编码,并且可以使用视频解码器或视频解码器或图像解码器的帧间解码部分来对编码图像进行解码。
图4示出编码过程。图4示出视频编码器的一个示例,其中In:要编码的图像;P′n:图像块的预测表示;Dn:预测误差信号;D′n:重构后的预测误差信号;I′n:初步重构图像;R′n:最终重构图像;T、T-1:变换和逆变换;Q、Q-1:量化和逆量化;E:熵编码;RFM:参考帧存储器;Pinter:帧间预测;Pintra:帧内预测;MS:模式选择;F:滤波。
图5示出解码过程。图5示出视频解码器的框图,其中P′n:图像块的预测表示;D′n:重构后的预测误差信号;I′n:初步重构图像;R′n:最终重构图像;T-1:逆变换;Q-1:逆量化;E-1:熵解码;RFM:参考帧存储器;P:预测(帧间或帧内);F:滤波。
高级视频编码(H.264/AVC,又名AVC)标准由国际电信联盟(ITU-T)电信标准化部门的视频编码专家组(VCEG)的联合视频组(JVT)以及国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组(MPEG)开发。H.264/AVC标准同时由这两个父标准化组织公布,被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也称为MPEG-4第10部分高级视频编码(AVC)。已经有多个版本的H.264/AVC标准,从而将新的扩展或功能集成到规范中。这些扩展包括可伸缩视频编码(SVC)和多视角视频编码(MVC)。
高效率视频编码(H.265/HEVC,又名HEVC)标准的第1版由VCEG和MPEG的联合协作小组-视频编码(JCT-VC)开发。该标准同时由这两个父标准化组织公布,被称为ITU-T推荐H.265和ISO/IEC国际标准23008-2,也称为MPEG-H第2部分高效率视频编码(HEVC)。H.265/HEVC第2版包括可伸缩、多视角和保真度范围扩展,它们可以分别缩写为SHVC、MV-HEVC和REXT。H.265/HEVC的第2版被预公布为ITU-T H.265推荐H.265(10/2014),并可能在2015年被公布为ISO/IEC 23008-2的第2版。目前正在进行的标准化项目开发H.265/HEVC的进一步扩展,其中包括三维和屏幕内容编码扩展,它们可分别缩写为3D-HEVC和SCC。
统一资源标识符(URI)可以被定义为用于标识资源的名称的字符串。此类标识使得能够使用特定协议与网络上的资源的表示进行交互。URI通过指定URI的具体语法和关联协议的方案而被定义。统一资源定位符(URL)和统一资源名称(URN)是URI的多种形式。URL可被定义为标识web资源的URI,并且指定对资源表示采取操作或获得资源表示的方式,从而指定其主要访问机制和网络位置。可以将URN定义为在特定命名空间中通过名称标识资源的URI。URN可用于识别资源而无需暗示其位置或访问方式。
可用的媒体文件格式标准包括ISO基础媒体文件格式(ISO/IEC14496-12,可以缩写为ISOBMFF)以及从ISOBMFF派生的标准,诸如MPEG-4文件格式(ISO/IEC 14496-14,也称为MP4格式)、NAL单元结构化视频的文件格式(ISO/IEC 14496-15)和3GPP文件格式(3GPPTS26.244,也称为3GP格式)。ISO/IEC 14496-15规定了H.264/AVC和/或HEVC和/或它们在ISOBMFF兼容文件中的扩展的位流的存储。所提到的文件格式(包括ISO文件格式本身)以及从ISOBMFF派生的其它文件格式可以称为ISO系列文件格式。
下面描述实现所述实施例所基于的ISOBMFF的一些概念、结构和规范作为容器文件格式的一个示例。本发明的各方面不限于ISOBMFF,而是描述了部分或完全地实现本发明所基于的一个可能的基础。
ISO基础媒体文件格式的一个构造块称为盒。每个盒可能有标头和有效负载。盒标头表示盒的类型和盒的大小(以字节为单位)。盒可以包含其它盒,ISO文件格式指定在一个特定类型的盒中允许哪些盒类型。此外,每个文件中可能强制存在一些盒,而其它盒的存在可能是可选的。另外,对于某些盒类型,可能允许文件中存在多个盒。因此,可以考虑ISO基础媒体文件格式来指定盒的层次结构。ISO基础媒体文件的每个盒可以由四字符代码(4CC)标识。一个四字符代码可以由一个32位无符号整数(通过假定特定字符到8位值的变换、特定位的字节顺序和特定字节的字节顺序)来可互换地表示。标头可以提供有关盒的类型和大小的信息。
根据ISO系列文件格式,文件可以包括可包含在单独盒中的媒体数据和元数据。在一个示例实施例中,可以在媒体数据(mdat)盒中提供媒体数据,并且可以使用电影(moov)盒来包含元数据。在某些情况下,要使文件可操作,mdat和moov盒都必须存在。电影(moov)盒可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的轨道(trak)盒中。每个轨道与一个由四字符代码标识的处理机相关联,从而指定轨道类型。视频、音频和图像序列轨道可以统称为媒体轨道,并且它们包含基础媒体流。其它轨道类型包括提示轨道和定时元数据轨道。轨道包含样本(sample),例如音频或视频帧。媒体轨道指根据媒体压缩格式(以及其对ISO基础媒体文件格式的封装)设置格式的样本(也可以称为媒体样本)。提示轨道指提示样本,其中包含用于构造在专用通信协议上传输的分组的简明手册指令(cookbook instruction)。简明手册指令可以包括分组标头构造的指导,并且可以包括分组有效负载构造。在分组有效负载构造中,可以引用驻留在其它轨道或项目中的数据。因此,例如,驻留在其它轨道或项目中的数据可以通过引用来指示特定轨道或项目中的哪条数据被命令在分组构造过程期间复制到分组中。定时元数据轨道可以引用描述参考媒体和/或提示样本的样本。为了呈现一种媒体类型,可以选择一个媒体轨道。轨道的样本可以隐式地与样本编号关联,这些样本编号可以例如以指示的样本解码顺序递增1。轨道中的第一个样本可以与样本编号1关联。
“trak”盒包含样本表盒(Sample Table box)。样本表盒例如包括轨道中的媒体样本的所有时间和数据索引。需要样本表盒来包含样本描述盒(Sample Description box)。样本表盒包括条目计数字段,其指定包括在该盒中的样本条目数。需要样本描述盒来包含至少一个样本条目。样本条目格式依赖于轨道的处理机类型。样本条目给出有关所使用的编码类型的详细信息以及该编码所需的任何初始化信息。
ISO基础媒体文件格式未将呈现限于包含在一个文件中。因此,呈现可被包含在多个文件中。例如,一个文件可以包括整个呈现的元数据,从而包括所有媒体数据以使得呈现自包含。其它文件(如果使用)可能不需要被格式化为ISO基础媒体文件格式,并且可被用于包括媒体数据,并且也可以包括未使用的媒体数据或其它信息。ISO基础媒体文件格式仅涉及呈现文件的结构。媒体数据文件的格式可能受到ISO基础媒体文件格式或其派生格式约束,这只是因为媒体文件中的媒体数据按照ISO基础媒体文件格式或其派生格式中规定的那样被格式化。
引用外部文件的能力可以通过数据引用来实现。在一些示例中,包括在每个轨道中的样本描述盒可以提供样本条目的列表,每个样本条目提供有关所使用的编码类型的详细信息,以及该编码所需的任何初始化信息。块的所有样本和轨道片段的所有样本可以使用相同的样本条目。一个块可以被定义为一个轨道的一组连续样本。也可以包括在每个轨道中的数据引用(dref)盒可以定义统一资源定位符(URL)、统一资源名称(URN)和/或对包含元数据的文件的自引用的索引列表。样本条目可以指向数据引用盒(Data Referencebox)的一个索引,从而指示包含相应块或轨道片段的样本的文件。
例如当将内容记录到ISO文件时可以使用电影片段,以便例如在发生记录应用崩溃、存储空间用完或某个其它事件时避免丢失数据。如果没有电影片段,则可能发生数据丢失,因为文件格式通常可能需要将所有元数据(例如,电影盒)写入文件的一个连续区域中。此外,当记录文件时,可能没有足够量的存储空间(例如,RAM)来缓冲可用存储装置大小的电影盒,并且当电影关闭时重新计算电影盒的内容可能太慢。此外,电影片段可以使用常规ISO文件解析器实现文件的同时记录和重放。此外,与具有相同媒体内容但在没有电影片段的情况下结构化的文件相比,当使用电影片段并且初始电影盒较小时,需要较小的初始缓冲持续时间来实现循序式下载(例如,文件的同时接收和重放)。
电影片段特性可以使能将元数据(否则驻留在电影盒中)分成多个片段。每个片段可以对应于轨道的某一时间段。换言之,电影片段特性可以使能文件元数据和媒体数据交错。因此,可以限制电影盒的大小并且实现上述用例。
在某些示例中,电影片段的媒体样本可能驻留在mdat盒中,前提是它们与moov盒在同一文件中。但是,对于电影片段的元数据,可以提供moof盒。moof盒可以包括先前已在moov盒中的某一重放持续时间的信息。moov盒仍然可以独立地表示有效电影,但此外,它可以包括指示同一文件中随后是电影片段的mvex盒。电影片段可以及时扩展与moov盒关联的呈现。
在电影片段内,可以具有一组轨道片段,每个轨道包括0个到多个片段。轨道片段又可以包括0个到多个轨道路线(track run),每个文档是该轨道的样本的连续路线。在这些结构内,许多字段是可选的并且可以是默认的。可以包括在moof盒中的元数据可以被限于可包括在moov盒中的元数据的子集,并且在某些情况下可以以不同的方式进行编码。可以从ISO基础媒体文件格式规范中找到关于可以被包含在moof盒中的盒的详细信息。自包含电影片段可以被定义为由moof bxo和mdat盒组成,这两个盒在文件顺序中是连续的,并且mdat盒包含moof盒提供其元数据的电影片段样本,并且不包含任何其它电影片段(即,任何其它moof盒)的样本。
ISO基础媒体文件格式包含用于能够与特定样本关联的定时元数据的三种机制:样本组;定时元数据轨道,以及样本辅助信息。派生规范可以提供这三种机制中的一者或多者的类似功能。
可以基于分组准则,将ISO基础媒体文件格式及其派生格式(例如AVC文件格式和SVC文件格式)中的样本分组定义为轨道中的每个样本的分配以便成为一个样本组的成员。样本分组中的样本组并不限于是连续样本,并且可能包含非相邻样本。因为轨道中的样本可能具有多于一个样本分组,每个样本分组可以具有类型字段以指示分组类型。样本分组可以由两个关联的数据结构表示:(1)SampleToGroup盒(sbgp盒),其表示样本到样本组的分配;以及(2)SampleGroupDescription盒(sgpd盒),其包含描述组属性的每个样本组的样本组条目。基于不同的分组准则,可以存在SampleToGroup和SampleGroupDescription盒的多个实例。这些实例通过用于指示分组类型的类型字段来区分。“sbgp”和“sgpd”盒可以使用grouping_type的值被关联,在某些盒版本中也可以使用grouping_type_parameter的值被关联。“sbgp”盒指示特定样本所属的样本组描述条目的索引。
符合ISOBMFF的文件可以在元盒(meta box)(四字符代码:“meta”)中包含称为项目、元项目或元数据项目的任何非定时对象。虽然元盒的名称指元数据,但项目通常能够包含元数据或媒体数据。元盒可以驻留在文件的顶层、在电影盒(四字符代码:“moov”)内、以及在轨道盒内(四字符代码:“trak”),但最多只有一个元盒可在文件级别、电影级别或轨道级别的每一级别上出现。可能需要元盒来包含“hdlr”盒,从而指示“元”盒内容的结构或格式。元盒可以列出任意数量的项目并描述其特征,这些项目可以被引用并且其中的每一个可以与文件名相关联,并且通过是整数值的项目标识符(item_id)使用文件被唯一地标识。元数据项目例如可以存储在元盒的“idat”盒中或在“mdat”盒中或驻留在单独的文件中。如果元数据位于文件外部,则其位置可以由DataInformationBox(四字符代码:“dinf”)声明。在元数据使用XML语法设置格式并且需要直接存储在元盒中的特定情况下,元数据可以被封装在XMLBox(四字符代码:“xml”)或BinaryXMLBox(四字符代码:“bxml”)中。一个项目可以存储为一个连续的字节范围,或者它可以存储在几个区段(extent)内,每个区段是一个连续的字节范围。换言之,项目可以被分段存储在多个区段内以例如允许交织。区段是资源的字节的连续子集;资源可以通过串接区段来形成。
为了在层次结构(文件、电影或轨道)的任何级别上支持多于一个的元盒,可以将元盒容器盒(“meco”)用作一种ISO基础媒体文件格式。元盒容器盒可以在层次结构(文件、电影或轨道)的任何级别上携带任意数量的附加元盒。这可以允许例如相同的元数据被呈现在两个不同的替代元数据系统中。元盒关系盒(“mere”)可以使能描述不同的元盒如何相互关联,例如它们是否包含完全相同的元数据(但是用不同的方案被描述),或者一个元盒是否代表另一个元盒的超集。
可以针对特定内容类型指定URL片段标识符(也可以被称为URL形式),以便访问由URL的基础部分(没有片段标识符)指示的资源(例如文件)的一部分。URL片段标识符可以例如通过URL内的井号(“#”)字符来标识。对于ISOBMFF,可以指定URL片段“#X”指track_ID等于X的轨道,“#item_ID=”和“#item_name=”指文件级别元盒(多个),“#/item_ID=”和“#/item_name=”指电影盒中的元盒(多个),以及“#track_ID=X/item_ID=”和“#track_ID=X/item_name=”指track_ID等于X的轨道中的元盒,其中包括可能在电影片段中找到的元盒。
Matroska文件格式能够(但不限于)将任何视频、音频、图片、或者副标题轨道存储在一个文件中。Matroska可以用作派生文件格式(例如WebM)的基础格式。Matroska使用可扩展二进制元语言(EBML)作为基础。EBML指定由XML原理启发的二进制和八位字节(字节)对齐格式。EBML本身是二进制标记技术的广义描述。Matroska文件由构成EBML“文档”的元素组成。元素引入元素ID、元素大小的描述符、以及二进制数据本身。元素可以被嵌套。Matroska的段元素是其它的顶层(级别1)元素的容器。Matroska文件可以包括一个段(但不限于由一个段组成)。Matroska文件中的多媒体数据以集群(或集群元素)组织,每个集群通常包含几秒钟的多媒体数据。集群包括BlockGroup元素,BlockGroup元素又包括块元素(Block Element)。提示元素(Cue Element)包括元数据,元数据可以有助于随机访问或搜索,并且可以包括用于搜索点的文件指针或相应时间戳。
MPEG-H图像文件格式(ISO/IEC 23008-12)是ISO基础媒体文件格式(ISOBMFF)的派生规范。在撰写本专利申请时,ISO/IEC 23008-12是草案标准,因此需要理解,该标准的名称和/或昵称因此可能在标准的最终版本中发生变化。已经考虑了诸如ISO图像文件格式(ISOIFF)和MPEG图像文件格式的名称。在标准规范本身内(或者当上下文清楚时),名称“图像文件格式”可用于指ISO/IEC 23008-12。
下面描述了实现所述实施例所基于的MPEG-H图像文件格式的一些概念、结构和规范作为容器文件格式的一个示例。本发明的各方面不限于MPEG-H图像文件格式,而是描述了部分或完整地实现本发明所基于的一个可能的基础。
MPEG-H图像文件格式从ISOBMFF派生出其基础结构。因此,类似于ISOBMFF,MPEG-H图像文件格式使用面向对象的机制,其中每个对象称为盒。所有媒体数据及其相关元数据都封装在盒中。每个盒由四字符代码(4CC)标识,并以通知有关该盒的类型和大小的标头开始。
根据MPEG-H图像文件格式,静止图像被存储为项目。可能需要包含编码图像的图像项目是独立编码的,并且不依赖于其解码中的任何其它项目。
在MPEG-H图像文件格式的上下文中,以下盒可以被包含在根级“元”盒内,并且可以如下所述使用。在MPEG-H图像文件格式中,“元”盒的处理机盒的处理机值为“pict”。通过数据信息(“dinf”)盒解析包含编码媒体数据的资源(无论是在同一个文件中,还是在由统一资源标识符标识的外部文件中),而项目位置(“iloc”)盒存储被引用文件中每个项目的位置和大小。项目引用(“iref”)盒记录使用类型引用的项目之间的关系。如果与其它项目相比,一些项目集中有一个项目被认为是最重要的项目,则该项目由主项目(“pitm”)盒表示。除了这里提及的盒,“元”盒还可以灵活地包括描述项目所需的其它盒。
给定通过使用“元”盒方法存储的集合图像,则有时有必要对图像之间的某些关系进行限定。此类关系的示例包括指示用于集合的封面图像,从而提供集合中的部分或全部图像的缩略图像,以及将集合中的部分或全部图像与诸如阿尔法平面之类的辅助图像进行关联。图像集合中的封面图像使用“pitm”盒指示。缩略图像或辅助图像分别使用类型“thmb”或“auxl”的项目引用与主图像项目进行关联。
MPEG-H图像文件格式支持派生图像。当项目包含对另一项目的“dimg”项目引用时,该项目是派生图像。通过对指定的输入图像执行诸如旋转之类的指定操作来获得派生图像。通过执行以获得派生图像的操作由项目的item_type来标识。用作派生图像的输入的图像项目可以是编码图像,例如,项目类型为“hvc1”,或者它们可以是其它派生的图像项目。
MPEG-H图像文件格式规范包括清洁光圈(即,修剪)操作、用于多个90度旋转的旋转操作、以及图像叠加操作的规范。图像叠加“iovl”派生图像在较大画布内以给定分层顺序定位一个或多个输入图像。
MPEG-H图像文件格式的派生图像特性是可扩展的,以使得外部规范以及图像文件格式本身的更高版本能够指定新操作。
可以例如在MPEG-H图像文件格式或类似文件格式的上下文中使用以下定义。编码图像可以被定义为图像的编码表示。派生图像可以被定义为这样的图像:其通过对所指示图像的所指示操作在文件中表示,并且可以通过对所指示图像执行所指示操作来获得。取决于使用术语图像的上下文,图像可以被定义为编码图像、派生图像、或者具有不同颜色分量的一个或多个像素阵列。图像集合可以被定义为根据MPEG-H图像文件格式(或类似文件格式)存储为单个文件的项目的图像集。辅助图像可以被定义为这样的图像:其可能不打算被显示,但提供补充相应主图像的补充信息,例如透明度数据。封面图像可以被定义为这样的图像:其表示图像集合或图像序列,并且当针对图像集合或图像序列的优选显示方法没有其它信息可用时应该被显示。预计算的派生图像可以被定义为已从一个或多个其它图像派生的编码图像。主图像可以被定义为这样的图像:其存储为项并且不是辅助图像或缩略图像。缩略图像可以被定义为主图像的较小分辨率表示。
图像序列可以被定义为这样的图像序列:其可以与建议定时关联,并且其中图像可以被帧间预测。在MPEG-H图像文件格式中,根据ISOBMFF的轨道机制存储图像序列。如果图像之间具有编码依赖性或者图像的重放被定时,则使用图像序列轨道。图像序列轨道中的定时可以被定义为针对播放器的建议。为了区分图像序列与运动视频,已在MPEG-H图像文件格式中引入新的处理机类型“pict”。
MPEG-H图像文件格式包括将HEVC编码的静态图像和图像序列封装(通过包含和/或通过引用)到符合MPEG-H图像文件格式的文件中的规范。可以指定具有其它编码格式编码的图像和图像序列到符合MPEG-H图像文件格式的文件中的封装。
分组机制尚不可用于“元”盒中的项目。此外,存在使用“元”盒结构定义的图像集和使用轨道结构定义的图像序列(或其它定时媒体)能够在语义上相关的情况。尚未通过MPEG-H图像文件格式来定义指示不同编码的结构之间的该语义相关性的方式。
在MPEG-H图像文件格式的当前规范中,没有一致的方式来处理在语义上相关的静止图像组和图像序列轨道。例如,图像捕获设备也可以连同高质量图像的捕获一起记录短连拍图像。图像连拍和高质量图像均可以以图像文件格式存储。然而,目前没有办法提示图像连拍和高质量图像在语义上相关,并且因此能够决定文件内容的呈现方式。
在另一示例中,内容提供方可以决定将多视图图像存储为一组独立编码的图像。当以MPEG-H图像文件格式存储时,这些视图中的每一者可以使用HEVC静止图像简档进行编码。然而,目前还没有办法告诉读者存储在文件中的图像集能够被呈现为多视图图像。
目前,可以使用ISOBMFF的替代组机制来指示轨道可以互为替代。轨道标头盒(Track Header box)包含alternate_group语法元素。当alternate_group的值对于两个或更多个轨道相等时,这些轨道属于同一替代轨道组,并且能够被定义为彼此的替代。应选择替代组中的仅一个轨道进行播放。
替代组中的所有轨道是媒体选择的候选者,但在会话期间或播放期间在这些轨道中的部分轨道之间切换可能是无意义的。例如,可以允许以不同的比特率在视频轨道之间切换并保持帧大小,但不允许在具有不同帧大小的轨道之间切换。以相同的方式,可能需要在具有不同的视频编解码器或不同的音频语言的轨道之间使能选择而不是切换。用于选择和切换的轨道之间的区别可以通过将轨道分配给替代组之外的切换组来解决。一个替代组可能包含一个或多个切换组。替代组中的所有轨道是媒体选择的候选者,而切换组中的轨道还可用于在会话期间进行切换。可以考虑不同的切换组来表示不同的操作点,例如不同的帧尺寸、高/低质量等。
ISOBMFF的子轨道特征可用于按照将(整个)轨道分配给替代组和交换组的相同方式将轨道的各部分分配给交替和切换组,以指示这些轨道是否可彼此替代,以及在会话期间在轨道之间切换是否有意义。子轨道适用于分层介质,其中子轨道可以包含由轨道表示的层的子集。通过在子轨道级别定义替代组和切换组,可以使用现有的规则来进行媒体选择和此类分层编解码器的切换。子轨道级别替换组和切换组使用与轨道级别组相同的编号。编号在所有轨道上是全局性的,以便能够跨轨道和子轨道边界定义组。编码数据到子轨道的映射可以取决于所使用的媒体编码。
ISOBMFF的轨道分组机制可用于指示轨道根据所指示的分组准则进行分组。轨道盒中包含的轨道组盒使能指示轨道组,其中每个组共享一个特定的特征,或者组内的轨道具有特定的关系。盒包含0个或更多个盒,并且特定的特征或关系由所包含的盒的盒类型来指示。所包含的盒包括标识符(32位无符号整数),该标识符可以用于推断属于同一轨道组的轨道。在轨道组盒中包含相同类型的所包含盒并在这些所包含盒中具有相同标识符值的轨道属于同一轨道组。
然而,轨道的替代组机制和轨道分组机制都不能指示项目与轨道的关系。
此外,ISOBMFF的样本分组机制可用于指示某些属性适用于轨道内的指示样本组。该机制不可用于静态项目。
在下文中将提供一些示例。
根据当前各实施例,容器文件格式包括使能可以逻辑地布置在轨道中的静态媒体项目(例如,图像)和定时媒体(例如,视频)的分组的机制。
根据一个实施例的方法在图16中被示为流程图。所述方法包括:将静态媒体项目包含在容器文件中;将媒体轨道包含在所述容器文件中;在所述文件中指示所述静态媒体项目和所述媒体轨道形成一个组;以及在所述文件中指示所述组的分组类型。
根据另一实施例的方法在图17中被示为流程图。所述方法包括:从容器文件中解析静态媒体项目和媒体轨道形成一个组;从所述容器文件中解析所述组的分组类型;基于所述组和所述分组类型确定所述静态媒体项目和所述媒体轨道的处理。
在一个实施例中,一种方法包括:将静态媒体项目包含在容器文件中;将一个或多个轨道包含在所述容器文件中;在所述文件中指示所述静态媒体项目和一个或多个以下实体形成一个组:
-所述一个或多个轨道的指示轨道;
-所述一个或多个轨道的指示组,其例如可以是轨道的替代组(例如可以由ISOBMFF的alternate_group语法元素或类似的语法元素的值来标识)或特定指示类型的轨道组;
-指示子轨道;
-轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
-被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
-另一静态媒体项目;
以及在所述文件中指示所述组的分组类型。
在一个实施例中,一种方法包括:从容器文件中解析静态媒体项目和一个或多个以下实体形成一个组:
-所述一个或多个轨道的指示轨道;
-所述一个或多个轨道的指示组,其例如可以是轨道的替代组(例如可以由ISOBMFF的alternate_group语法元素或类似的语法元素的值来标识)或特定指示类型的轨道组;
-指示子轨道;
-轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
-被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
-另一静态媒体项目;
从所述容器文件中解析所述组的分组类型;以及基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个以下实体的处理。
术语实体可以统一指项目、轨道、轨道组、子轨道、映射到样本分组的集合样本、以及映射到样本分组的特定样本组描述条目的样本集的任何子集。一个实体可以是项目,另一实体可以是轨道。每个实体可以具有标识符,诸如32位无符号整数值。实体可以包括一组其它实体。
在一个实施例中,实体包括静态媒体项目、轨道、轨道组、轨道的样本组或子轨道;并且一种方法包括将第一实体包括在容器文件中;将第二个实体包括在所述容器文件中;在所述文件中指示第一实体和第二实体组成一个组;以及在所述文件中指示所述组的分组类型。
在一个实施例中,实体例如通过将标识符包括在所述实体的数据结构内来与诸如32位无符号整数之类的标识符相关联。所述方法还包括向所述第一实体分配第一标识符值和向所述第二实体分配第二标识符值,所述第一标识符值与所述第二标识符值不同,而与所述第一实体和所述第二实体的类型无关。可以认为,当在所述文件中指示实体分组时,无论所述实体的类型如何,所述实体的标识符值都使用相同的值空间。
在一个实施例中,实体包括静态媒体项目、轨道、轨道组、轨道的样本组或子轨道;一种方法包括从容器文件中解析第一实体和第二实体形成一个组;从所述容器文件中解析所述组的分组类型;以及基于所述组和所述分组类型来确定所述第一实体和所述第二实体的处理。
在一个实施例中,URL片段标识符被指定用于指示组和/或实体。例如,URL片段“#entity_ID=”指诸如项目或轨道之类的实体,该实体可以具有之前描述的任何类型。包括#entity_ID片段的URL的一个示例可以具有以下形式:http://www.example.com/file.mp4#entity_ID=100。在另一示例中,URL片段“#group=4cc.id”指具有类型4cc和group_id id的实体分组。包括#entity_ID片段的URL的一个示例可以具有以下形式:http://www.example.com/file.mp4#group=altr.99。客户端例如可以在HTTP GET请求中使用上述URL片段来请求包括特定实体或特定实体组的文件的子集。服务器、发送方、网关或类似装置可以通过在解析的URL(例如,在HTTP GET响应的有效负载中)中包括文件的子集(包括所请求的实体或所请求的实体的组)来解析包括上述URL片段的URL。
当使用图像文件格式(例如,MPEG-H)来封装图像和图像序列时,存在需要独立编码的图像项目的分组(当仅使用元盒结构时)或独立编码的图像项目和图像序列的轨道的分组的用例。本实施例提供具有使能此类分组机制的信令结构的图像文件格式。信令结构本质上是通用的,以便允许当前和将来的用例所需的任何可想到的分组。
分组机制包括指示分组的类型的方式。分组的类型可以(但不限于)是以下一者或多者:
-替代分组,其指示分组后的项目和轨道彼此可替代,并且通常只应当处理(例如解码和显示)它们中的一个。
-预览分组,其指示已识别的项目或轨道用于另一已识别项目或轨道的预览目的。例如,视频轨道和静止图像都可以以后续或重叠的方式被捕获,并且可以指示视频轨道可以用作静止图像的预览视图,或者相反,静止图像可以用作视频轨道的预览或封面图片。
-这样的分组,其指示项目或轨道具有相同的起源,例如指示已经从同一输入图像派生出预先计算的派生图像的集合。这可以例如用于具有不同曝光时间的相同场景的相同图像集的不同版本。
-多视图分组,其指示分组后的项目或轨道表示来自不同视角的相同场景。
-这样的分组,其指示等同项目或轨道,即表示相同图像内容的项目或轨道。该分组可被用于或仅允许用于这样的情况:其中只有一个派生图像被映射到该分组,并且已经通过使用派生图像作为编码的输入来编码图像分组的每个编码图像,因此是派生图像的编码表示。
-这样的分组,其指示映射到组中的项目或轨道包含完全相同的编码图像数据。该分组可用于以下情况:其中将图像作为项目和轨道样本(仅包含一个样本)包含在文件中,该文件可被用于指示相对于包括在文件中的定时媒体的图像定时。
替代分组可以(但不限于)被用于以下目的或用例中的一者或多者:
指示从中选择要解码和显示的一个实体(例如,一个项目或轨道)的替代组。
指示动画(或类似物)和静止图像互为替代:例如,如果动画和静止图像是要显示的替代物,则可以使用替代物,并且玩家例如可以基于其解码动画的能力选择要显示的动画还是静止图像。
指示派生图像的可选操作:第一派生图像和第二派生图像可以被指示为彼此的替代,而第一派生图像和第二派生图像仅在输入和操作方面不同,从而使得第一派生图像具有比第二派生图像更少的操作。因此,与第二派生图像相比在第一派生图像中缺少的操作可以被认为是可选操作,这意味着可以在不执行所述缺失操作的情况下获得可接受的图像(第二派生图像)。因此,替代分组机制能够被用于指示派生图像的可选操作。
指示预先计算的派生图像和相应的派生图像互为替代:对派生图像和相应编解码器图像进行分组(为此,派生图像或与派生图像基本相似的图像已经是用于编码的输入)。预先计算的派生图像在其重构中可能需要比派生图像更少的处理,但是它可能涉及一些编码伪像(artefacts)。另一方面,派生图像可用作指示如何构造预先计算的派生图像的元数据,并且在需要进一步的派生(为了避免其中预先计算的派生图像的编码伪像)的情况下能够被用作输入。
在一个实施例中,分组项目和/或轨道的顺序(例如在列出分组后的项目和/或轨道的数据结构中)可以包含语义,诸如偏好顺序。语义可取决于分组类型。
根据实体分组机制的一个实施例,称为GroupList盒(“grpl”)的新容器盒被包含在文件中,例如,作为文件级“元”盒中的可选盒之一。可能需要存在至多一个“grpl”盒。此盒的功能是包含一个或多个称为EntityToGroup盒的其它盒,这些盒完整地定义在文件中使用的所有不同实体分组。每个EntityToGroup盒专门针对一个特定的分组,该分组由唯一的四字符代码值区分。“grpl”盒中可以包括具有相同四字符代码值的多个盒,从而指示文件中具有相同分组类型的多个实体集。
在一个实施例中,可以使用group_id来识别组本身。该group_id是有用的,因为它可被用于将该组中的实体包含在更大的组中。组的成员是一系列标识符,其中每个标识符是有效实体标识符值,其例如可以是item_id、track_id或group_id。
GroupsListBox和EntityToGroupBox的语法例如可以指定如下。在该示例中,group_id语法元素被包含在EntityToGroupBox中。需要理解的是,可以在没有group_id语法元素的情况下类似地实现本实施例。
在一个实施例中,EntityToGroupBox的语义例如可以指定如下:
-grouping_type是表示分组类型的四字符代码。每个grouping_type代码与描述该分组的语义相关联。
-group_id是被分配给特定分组的唯一非负整数。group_id选自与item_id或track_id相同的数字空间。
-entity_id是分别属于该组的轨道、图像或其它组的track_id、item_id或其它group_id。
在一个实施例中,EntityToGroupBox的语义例如可以指定如下:
-grouping_type是表示分组类型的四字符代码。每个grouping_type代码与描述该分组的语义相关联。
-group_id是被分配给特定分组的非负整数。
-entity_id被解析为项目或轨道的替代组或子轨道,如下所示:
o当存在item_id等于entity_id的项目时,该项目映射到该特定分组。
o当grouping_type等于“altr”时,具有等于entity_id的alternate_group的每个轨道或子轨道是该组的一部分。
在一个实施例中,附加参数可以被包含在文件中或者从用于分组的文件中解析,以便完全描述其性质的特征。为此,在一个示例实现中,作为抽象基类GroupingParameters的继承对象的grouping_parameters字段被包含在EntityToGroup盒中。grouping_parameters对象中的字段可以按每个分组(即,针对每个唯一的grouping_type值)进行定义,并且是可选的,因为仅当由EntityToGroup盒定义的grouping_type需要时才被包含在EntityToGroup盒中。例如,可以使用以下语法。在该示例中,group_id语法元素被包含在EntityToGroupBox中。需要理解的是,可以在没有group_id语法元素的情况下类似地实现本实施例。
在另一示例实现中,附加参数可以作为属性列表被包含在EntityToGroup盒中。属性列表的存在可以取决于分组类型,例如,可以仅针对替代分组(例如由“altr”四字符代码指示)存在。属性的数量可以被包含在EntityToGroup盒中(例如下面的语法中的num_attributes),例如指示描述该分组的语义的描述性或区分性属性的数量。列表中的每个属性例如可以是四字符代码。例如,可以使用以下语法:
文件编写者可以在文件中包含有关图像项目是否用于显示的信息。例如,与图像项目关联的初始化项目或元数据项目中的标志(例如,可以被称为item_in_presentation)可被用于此目的。当item_in_presentation等于0时,图像项目不是呈现的一部分,即不被显示。当item_in_presentation大于0时,图像项目是呈现的一部分,即可以被显示。等于0的item_in_presentation可被用于这样的派生图像:该派生图像是被用作用于派生旨在显示的另一派生图像的输入的中间图像。文件读取器可以从该文件中解析有关图像项目是否用于显示的信息。例如,可以从与图像项目关联的初始化项目或元数据项目中解析志(例如,可以被称为item_in_presentation)。
在一个实施例中,各实施例中的基于所述组和所述分组类型确定处理的步骤包括确定哪些实体(例如项目或轨道)被解码和显示。在一个示例实施例中,能够处理图像项目而非图像序列轨道的读取器根据以下有序步骤中的一个或多个执行操作。在该示例实施例中,假设上面的示例语法中的entity_id指示item_id或alternate_group。需要理解,可以针对允许的实体类型的其它选项、语法的其它选项以及用于确定步骤的其它顺序或内容来形成确定要显示的实体的类似过程。
-如果文件被预览,例如在文件浏览器应用中,则显示封面图像或封面图像的缩略图(如果有)中最适合该应用或用例的一者。
-否则,如果读取器仅支持显示一个图像,或者如果应用或用例仅显示一个图像,则显示封面图像。
-否则(读取器支持显示多个图像,应用或用例能够显示多个图像),按照下面的方式解析显示图像集,然后以最适合应用或用例的方式显示该显示图像集,例如显示图像网格:
o所有图像项目首先被包含在显示图像集中。
o缩略图图像和辅助图像被从显示图像集中排除。
o item_in_presentation等于0的图像项目被从显示图像集中排除。
o解析图像项目的替代组。仅在显示图像集中保留读取器能够解码和播放并适合应用或用例的每个替代组的第一图像项目,而替代组的其它图像被从显示图像集中排除。
在一个示例实施例中,当包含图像项目(多个)和图像序列轨道(多个)两者的文件被作为输入给出时,能够处理图像项目和图像序列轨道的读取器根据以下有序步骤中的一个或多个执行操作。在该示例实施例中,假设上面的示例语法中的entity_id指示item_id或alternate_group。需要理解,可以针对允许的实体类型的其它选项、语法的其它选项以及用于确定步骤的其它顺序或内容来形成确定要显示的实体的类似过程。
-如果文件被预览,例如在文件浏览器应用中,并且应用或用例不支持预览中的定时播放,则应该显示封面图像或封面图像的缩略图中最适合应用或用例的一者。
-否则,如果文件被预览,并且应用或用例支持预览中的定时播放,则应用以下规则:
o如果封面图像是替代组(“altr”)的一部分,则应该显示封面图像的缩略图或可以解码和显示的替代组中的第一实体中最适合应用或用例的目的中的一者。
o否则,应该显示封面图像或封面图像的缩略图中最适合应用或用例中的一者。
-否则,按照下面的方式解析显示实体集,并以最适合应用或用例的方式显示该显示实体集,
o所有图像项目和图像序列轨道首先被包含在显示实体集中。
o缩略图和辅助图像被从显示实体集中排除。
o item_in_presentation等于0的图像项目被从显示实体集中排除。
o不希望显示的图像序列轨道被从显示实体集中排除。例如,在Track_in_preview等于1的ISOBMFF轨道中,等于0的Track_in_movie或等于0的Track_enabled被从显示实体集中排除。可能需要辅助视频或图像序列轨道的Track_in_movie等于0,或者辅助视频或图像序列轨道可以被显式地从显示实体集中排除。
o解析轨道的替代组。只在显示实体集中保留最适合应用或用例的每个替代组的一个轨道,而其它轨道被从显示实体集中排除。
o解析实体的替代组。只在显示实体集中保留读取器可以解码和播放并适合应用或用例的每个替代组的第一图像项目,而替代组的其它实体被从显示图像集中排除。如果显示实体是轨道的替代组,则由于之前的要点,它已被解析成单个轨道。
作为使用标志(例如,指示项目是否可查看的item_in_presentation)的替代或补充,可能需要或建议不显示并非主项目并且未映射到任何分组类型“altr”的图像项目。
在一个实施例中,各实施例中的基于所述组和所述分组类型确定处理的步骤包括确定哪些实体(例如项目或轨道)被解码和显示。在一个示例实施例中,能够处理图像项目而非图像序列轨道的读取器根据以下有序步骤中的一个或多个执行操作。在该示例实施例中,假设上面的示例语法中的entity_id指示item_id或alternate_group。需要理解,可以针对允许的实体类型的其它选项、语法的其它选项以及用于所述确定步骤的其它顺序或内容来形成确定要显示的实体的类似过程。
-如果读取器支持仅显示一个图像,或者如果应用或用例仅显示一个图像,则应该显示以下图像或其缩略图像中可以解码并且最适合应用或用例的一者:
o主项目,
o来自包括主项目的替代组('altr')的图像。
-否则(读取器支持显示多个图像,并且应用或用例可以显示多个图像),按照下面的方式解析显示图像集,并以最适合应用或用例的方式显示该显示图像集,例如显示图像网格:
o解析图像项目的替代组。只在显示图像集中包含读取器可以解码和播放并且适合应用或用例的每个替代组的第一图像项目。
o当主项目不在任何替代组中时,它被包含在显示图像集中。
在一个示例实施例中,当包含图像项目(多个)和图像序列轨道(多个)两者的文件被作为输入给出时,能够处理图像项目和图像序列轨道的读取器根据以下有序步骤中的一个或多个执行操作。在该示例实施例中,假设上面的示例语法中的entity_id指示item_id或alternate_group。需要理解,可以针对允许的实体类型的其它选项,语法的其它选项以及用于所述确定步骤的其它顺序或内容来形成确定要显示的实体的类似过程。
-如果读取器支持仅显示一个图像或图像序列,或者如果应用或用例仅显示一个图像或图像序列,则应该显示以下图像或其缩略图像中可以解码并且最适合应用或用例的一者:
o主项目,
o来自包括主项目的替代组('altr')的图像。
-否则,按照下面的方式解析显示实体集,并以最适合应用或用例的方式显示该显示实体集,
o解析实体的替代组。只在显示实体集中包含读取器可以解码和播放并且适合应用或用例的每个替代组的第一实体,而替代组的其它实体被从显示图像集中排除。如果显示实体是轨道的替代组,则由于之前的要点,它已被解析成单个轨道。
o解析未被包含在实体的任何替代组中或作为要显示的实体在之前的要点中选择的轨道的那些替代组。每个替代组中只有一个最适合应用或用例的轨道被包含在显示实体集中。
o当主项目不在任何替代组中并且可解码时,它被包括在显示图像集中。
o当轨道未被指示为任何轨道的替代组的一部分(即ISOBMFF中的alternate_group等于0、可播放(即,在ISOBMFF中,Track_in_movie等于1,并且Track_enabled等于1)并且可解码时,它被包含在显示实体集中。
作为第一用例的一个示例,公开了图像项目的信号替代表示(signalalternative representation)。彼此可替代的图像可以使用项目-组向文件读取器指示组中的项目彼此可替代,并且可以选择组中能够最佳呈现的任何项目。
例如,考虑包括三个图像(图像0、图像1、图像2)的图像集,其中如图6a所示,每个图像以三个不同的空间分辨率(分辨率0、分辨率1、分辨率2)被编码。这些图像使用“元”结构而被存储为项目(I0、I1、I2、I3、I4、I5、I6、I7、I8)。图像的不同空间分辨率被存储在文件中,因为内容提供方希望读取器使用最适合其显示能力的图像。如图6b所示,分组(G0、G1、G2)可用于信号替代表示,其中分组本身的信令使用本发明的实施例。
使用本申请所提供的分组机制,上述项目分组可以通过使用具有四字符代码值“alti”的新分组来实现。每个“alti”盒将作为彼此的替代表示的项目进行分组。然后将所有“alti”盒收集到“grpl”盒中。这在示出“grpl”盒的内容的Error!Reference source notfound.7(错误!没有找到引用源。7)中示出。
作为第二用例的一个示例,公开了替代媒体表示的信令。分组机制也可用于对两种不同的媒体类型进行分组。考虑一个示例:其中摄像机连同高分辨率图像一起拍摄小图像序列以捕获场景。图像序列和高分辨率图像均存储在同一文件中。然后,读取器选择最佳呈现的媒体类型,或向用户提供选择想要呈现的媒体的选项。该示例的图示在图8中示出,其中轨道基础媒体(轨道T0)和基于项目的媒体(项目I0)彼此相关并且可以被视为一个组(组G0)。
使用本申请所提供的分组机制,项目和轨道的组合的分组可以通过使用具有四字符代码值“altm”的新分组来实现。每个“altm”盒对作为彼此的替代表示的项目和轨道进行分组。然后将所有“altm”盒收集到“grpl”盒中。这在示出“grpl”盒的内容的图9中示出。
作为第三用例的一个示例,公开了多视图组的信令。图像项目(项目-I0、项目-I1、项目-I2、项目-I3)也可以被分为一组(组-G0)来表示它们属于多视图组。图像本身都是独立编码的,因此它们都能够由普通图像呈现器个别地呈现。然而,如果读取器能够提供图像集合的多视图呈现(通过使用视图插值技术),则可以使用本申请所提供的分组方法。图10示出这样的分组。对以不同视角拍摄同一场景的图像项目进行分组。这些图像项目全部形成一个组,多视图图像呈现器可以使用该组来呈现输出图像。
使用本申请所提供的分组机制,可以使用具有四字符代码值“mlvw”的新分组将以多个角度呈现同一场景的图像集合表示为多视角组。每个“mlvw”盒将属于多视图组的项目进行分组。然后将所有“mlvw”盒收集到“grpl”盒中。这在示出“grpl”框的内容图11中示出。
此分组需要grouping_parameters字段来用信号通知内部摄像机参数。内部摄像机参数将图像点的像素坐标与摄像机参考帧中的相应坐标进行关联。ISO/IEC 14496-10附录H给出了与摄像机光学元件引起的几何失真有关的焦距和参数的规范。
语义:
-prec_focal_length指定由2-prec_focal_length给出的focal_length_x和focal_length_y的最大允许截断误差的指数。prec_focal_length的值应在0到31的范围内,包括0和31。
-prec_principal_point指定由2-prec_principal_point给出的principal_point_x和principal_point_y的最大允许截断误差的指数。prec_principal_point的值应在0到31的范围内,包括0和31。
-prec_skew_factor指定由2prec_skew_factor给出的扭曲因子的最大允许截断误差的指数。prec_skew_factor的值应在0到31的范围内,包括0和31。
-exponent_focal_length_x指定水平方向焦距的指数部分。exponent_focal_length_x的值应在0到62的范围内,包括0和62。保留值63以供ITU T|ISO/IEC将来使用。解码器应将值63视为指示未指定的焦距。
-mantissa_focal_length_x指定水平方向上第i台摄像机的焦距的尾数部分。
-exponent_focal_length_y指定垂直方向焦距的指数部分。exponent_focal_length_y的值应在0到62之间,包括0和62。保留值63以供ITU T|ISO/IEC将来使用。解码器应将值63视为指示未指定的焦距。
-mantissa_focal_length_y指定垂直方向焦距的尾数部分。
-mantissa_principal_point_x指定水平方向主点的尾数部分。
-exponent_principal_point_y指定垂直方向主点(principal point)的指数部分。exponent_principal_point_y的值应在0到62的范围内,包括0和62。值63保留供ITU T|ISO/IEC将来使用。解码器应将值63视为指示未指定的主点。
-mantissa_principal_point_y指定垂直方向主点的尾数部分。
-exponent_skew_factor指定扭曲因子的指数部分。exponent_skew_factor的值应在0到62的范围内,包括0和62。保留值63以供ITU T|ISO/IEC将来使用。解码器应将值63视为指示未指定的扭曲因子。
-mantissa_skew_factor指定扭曲因子的尾数部分。
摄像机的内部矩阵A可以表示如下:
内部矩阵的每个分量从表1中规定的变量中获得,其变量x计算如下:
-如果0<e<63,x=2e-31*(1+n÷2v),且v=max(0,e+p-31)
-如果e等于0,x=2-(30+v)*n,且v=max(0,p-30)
下面的表1示出摄像机参数变量和语法元素之间的关联:
x e n p
focalLengthX exponent_focal_length_x mantissa_focal_length_x prec_focal_length
focalLengthY exponent_focal_length_y mantissa_focal_length_y prec_focal_length
principalPointX exponent_principal_point_x mantissa_principal_point_x prec_principal_point
principalPointY exponent_principal_point_y mantissa_principal_point_y prec_principal_point
skewFactor exponent_skew_factor mantissa_skew_factor prec_skew_factor
作为第四用例的一个示例,公开了可呈现的图像项目组的信令。
在本申请所提供的分组机制中,编码图像项目和提供用于派生另一图像的指令的项目可以被分组,以表示该组中的项目形成在读取器希望显示时能够被显示的图像。该分组可用于向读取器指示沿着图像派生链的特定项目组合并非旨在被呈现。此类分组可以是多层次的;即较大的组可以由较小的组组成。
图12示出输出有效可显示图像的图像项目和派生图像项目的分组。在该示例中,假设项目-I0和项目-I1是编码图像。项目-I2通过剪切项目-I0的图像(使用派生的图像项目类型“clap”)来修改项目-I0。项目-I3从项目-I1中派生旋转图像(使用派生图像项目类型“irot”)。项目-I4组合了在项目-I2和项目-I3的输出端处获得的派生图像以形成重叠图像(使用项目类型“iovl”)。为了向读取器指示哪个项目组合导致可呈现图像,可以形成组。
在使用分组机制来表示导致可呈现图像的项目组合的该示例中,可以构造具有四字符代码值“oput”的新分组。每个“oput”盒对组合以在输出端生成图片的项目进行分组。然后将所有“oput”盒收集到“grpl”盒中。这在示出“grpl”盒的内容的图13中示出。
作为第五用例的一个示例,公开了进行分组以通知派生图像及其预先计算的图像替代。
在一些用例中,派生图像(与被用于派生其它图像的指令结合的图像项目)和已经被预先计算的版本可以被包含在同一文件中。这是为了使编辑者有工具来回溯在原始图像上施加的编辑步骤,并且可能修改派生过程中的步骤,同时仍然允许简单的图像呈现器采用预先计算的图像并显示(以避免复杂的派生过程)。本申请中公开的分组方法可被用于向文件读取实体发信号通知被包含在文件中的替代物。
为了以示例的方式来说明,先前的可呈现项目组的示例被扩展为包括另一图像项目“项目-I5”,该项目预先计算在对项目-I4执行叠加操作之后获得的派生图像。这在图14中示出。图15列出“grpl”盒的内容。
在可以独立地应用或与其它实施例一起应用的一个实施例中,文件创建器可以在文件中包含替代图片的信息,和/或文件播放器可以从文件中解析有关替代图片的信息。
当仅一个文件播放器应显示两个或更多个图片中的仅一个图片时,两个或更多个图片可以被定义为彼此的替代。
图片的替代组可以被定义为彼此可替代的一组图片。
替代组可以具有子类型,从而指示区分第二图片和第一图片的特征和/或准则。
根据一个实施例,第一图片可以在所述文件中与替代组标识符的第一值相关联,第二图片可以在所述文件中与替代组标识符的第二值相关联。文件创建器可以通过将所述第一值和所述第二值设定为相同的值来指示所述第一图片和所述第二图片互为替代。文件创建器可以通过将所述第一值和所述第二值设定为彼此不同的值来指示所述第一图片和所述第二图片并非互为替代。文件播放器可以通过从所述文件中解析所述第一值等于所述第二值来确定所述第一图片和所述第二图片互为替代。文件播放器可以通过从所述文件中解析所述第一值不等于所述第二值来确定所述第一图片和所述第二图片并非互为替代。
根据一个实施例,文件创建器可以在所述文件中包含有关一个以上的图片的替代组的信息。在一个实施例中,图片可以属于一个以上的替代组。在一个实施例中,文件创建器可以在所述文件中包含形成替代组所依据的特征和/或准则。例如,可以指示替代组表示相同图像内容的不同空间分辨率和/或图像宽高比。在另一示例中,可以指示替代组表示相同图片内容的不同位深和/或色度。在一个实施例中,文件播放器可以从文件中解析形成替代组所依据的特征和/或准则,并且,如果所述特征和/或准则对于文件播放器从所述替代组中的图片选择图片很重要,则文件播放器可以从所述文件中解析与所述特征和/或标准相关的图片特定的信息,并根据所述图片特定的信息从所述替代组中选择图片。
根据一个实施例,文件创建器可以指示一个或多个(个体)图片和一个或多个图像序列互为替代。例如,文件创建器可以指示诸如电影片段之类的动画是静止图片的替代。在图像文件格式或其它ISOBMFF派生格式中,文件创建器可以指示表示图片的一个或多个元项目是通常表示图像序列或视频的一个或多个轨道的替代。
根据一个实施例,文件播放器可以从文件中解析一个或多个(个体)图像和一个或多个图像序列互为替代。例如,文件解析器可以从所述文件中解析诸如电影片段之类的动画是静止图片的替代。在图像文件格式或其它ISOBMFF派生格式中,文件解析器可以从所述文件中解析表示图片的一个或多个元项目是通常表示图像序列或视频的一个或多个轨道的替代。
在适用于图像文件格式或其它ISOBMFF派生格式的一个实施例中,诸如元项目和轨道之类的实体可以被指示为具有从相同值空间保留的标识符值(分别为item_id值和track_id值)。换言之,当被指示时,item_id值和track_id值不允许相等。该指示例如可以被包含在品牌要求中,以使得例如每当图像文件格式品牌被包含为主要品牌或兼容品牌时,所述元项目和轨道可以被指示为具有从相同值空间保留的标识符值(分别为item_id值和track_id值)。
根据一个实施例,替代组可以被指示为一组标识符值,这些标识符值能够被解析为item_id值或track_id值,前提是可以将所述元项目和轨道指示为具有从相同值空间保留的标识符值(分别为item_id值和track_id值)。
根据一个实施例,对替代图片或图片序列的引用被指示为一个或多个标识符值。所述标识符值(多个)能够被解析为item_id值或track_id值,前提是所述元项目和轨道可以被指示为具有从相同值空间保留的标识符值(分别为item_id值和track_id值)。在一些实施例中,引用是被推广为也适用于轨道的项目引用;在一些实施例中,引用是被推广为也适用于项目的轨道引用;在一些实施例中,引用能够是项目引用和轨道引用两者。
本发明的实施例提供了多个优点。这些实施例提供了将项目、项目和轨道的组合或更小的组分组成表示某些通用语义的更大的组的机制。文件读取器能够使用所述分组来决定所述文件的最佳使用。
在上文中,已经参考特定语法和/或特定语义描述了一些实施例。需要理解,所述实施例不限于这些特定的语法和/或语义,而是可以用其它语法或语义来类似地实现。
在上文中,已经针对MPEG-H图像文件格式和/或ISO基础媒体文件格式描述了一些实施例。需要理解,所述实施例不限于这些文件格式,而是可以类似地针对诸如Matroska之类的其它文件格式进行描述。
在上文中,已经关于图像项目描述了一些实施例。需要理解,所述实施例可以应用于任何类型的项目和/或其它实体。例如,可以使用包含根据可交换图像文件格式(Exif)元数据设置格式的元数据的第一项目以及包含根据可扩展元数据平台(XMP)规范设置格式的元数据的第二项目来存储照片元数据。当所述第一项目和所述第二项目表示相同的元数据时,可以使用实体分组机制(例如,上述“eqvl”分组类型)将它们指示为等同。可以通过其它分组类型指定其它关系,例如超集关系,其中同一分组中第一列出的项目在语义上是第二列出项目的超集。
在上文中,已经关于播放器或文件播放器描述了一些实施例。需要理解,可以互换地使用其它术语,如读取器、解析器、用户代理或客户端。需要理解,播放器不需要是独立的应用。播放器可以嵌入例如Web浏览器中和/或能够是媒体处理的链或过滤器图中的组件。
在上文中,已经关于文件创建器描述了一些实施例。需要理解,可以互换地使用其它术语,如编写器、文件编写器、文件生成器或内容提供方。需要理解,创建器不需要是独立的应用。文件创建器可以嵌入例如Web浏览器中(例如使用脚本)和/或能够是媒体处理的链或过滤器图中的组件。
本发明的各种实施例能够借助位于存储器中的计算机程序代码来实现,并使相关装置实现本发明。例如,设备可以包括用于在存储器中处理、接收和发送数据、计算机程序代码的电路和电子设备,以及处理器,当运行所述计算机程序代码时,所述处理器使所述设备实现一个实施例的特征。此外,诸如服务器之类的网络设备可以包括用于在存储器中处理、接收和发送数据、计算机程序代码的电路和电子设备,以及处理器,当运行所述计算机程序代码时,所述处理器使所述网络设备实现一个实施例的特征。
各实施例能够进一步由计算机程序产品实现,所述计算机程序产品包括承载与计算机结合使用的计算机程序代码的计算机可读介质,所述计算机程序代码包括:将静态媒体项目包含在容器文件中;将媒体轨道包含在所述容器文件中;在所述文件中指示所述静态媒体项目和所述媒体轨道形成一个组;以及在所述文件中指示所述组的分组类型。另外,各实施例能够进一步由计算机程序产品实现,所述计算机程序产品包括承载与计算机结合使用的计算机程序代码的计算机可读介质,所述计算机程序代码包括:从容器文件解中析静态媒体项目和媒体轨道形成一个组;从所述容器文件中解析所述组的分组类型;基于所述组和所述分组类型所述确定所述静态媒体项目和所述媒体轨道的处理。
各实施例能够进一步由以下装置实现:所述装置包括:用于处理的部件;用于编码的部件;用于将静态媒体项目包含在容器文件中的部件;用于将媒体轨道包含在所述容器文件中的部件;用于在所述文件中指示所述静态媒体项目和所述媒体轨道形成一个组的部件;以及用于在所述文件中指示所述组的分组类型的部件。另外,各实施例能够进一步由以下装置实现:所述装置包括:用于处理的部件;用于解码的部件;用于从容器文件中解析静态媒体项目和媒体轨道形成一个组的部件;用于从所述容器文件中解析所述组的分组类型的部件;以及用于基于所述组和所述分组类型确定所述静态媒体项和所述媒体轨道的处理的部件。
显而易见的是,本发明不仅限于上述实施例,而是能够在所附权利要求的范围内被修改。

Claims (21)

1.一种编码方法,包括:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;以及
-在所述文件中指示所述组的分组类型。
2.根据权利要求1所述的方法,其中一个或多个实体选自:
·所述一个或多个轨道的指示轨道;
·所述一个或多个轨道的指示组;
·指示子轨道;
·轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
·被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
·另一静态媒体项目。
3.根据权利要求2所述的方法,其中所述一个或多个轨道的指示组是以下中的一者:替代轨道组,或具有特定指定类型的轨道组。
4.根据权利要求1所述的方法,其中所述分组指示以下一者或多者:分组后的项目和轨道彼此可替代;已识别的项目或轨道用于另一已识别的项目或轨道的预览目的;项目或轨道具有相同的起源;所述分组后的项目或轨道表示不同视点的同一场景;分组后的派生图像项目已被用作用于编码分组后的编码图像项目的输入;分组后的项目和轨道是相同的。
5.根据权利要求4所述的方法,其中彼此可替代的分组后的项目和轨道指示以下一者或多者:动画和静止图像互为替代;派生图像的可选操作;预先计算的派生图像和相应的派生图像互为替代。
6.根据权利要求1所述的方法,包括将替代图片的信息包含到所述容器文件中。
7.根据权利要求1所述的方法,进一步包括向实体分配标识符。
8.根据权利要求7所述的方法,将第一标识符值分配给第一实体,以及将第二标识符值分配给第二实体。
9.根据权利要求6所述的方法,其中替代图片的信息基于以下特征之一而与替代图片组相关:不同空间分辨率;不同图片长宽比;不同位深度;不同色域。
10.一种解码方法,包括:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
11.根据权利要求9所述的方法,其中实体是以下中的一者:
·所述一个或多个轨道的指示轨道;
·所述一个或多个轨道的指示组;
·指示子轨道;
·轨道的指示样本分组,其引用被映射到该样本分组的任何样本组描述条目的所有样本;
·被映射到指示轨道的指示样本分组的一个或多个特定指示样本组描述条目的样本;
·另一静态媒体项目。
12.根据权利要求10所述的方法,其中所述分组指示以下一者或多者:分组后的项目和轨道彼此可替代;已识别的项目或轨道用于另一已识别的项目或轨道的预览目的;项目或轨道具有相同的起源;所述分组后的项目或轨道表示不同视点的同一场景;分组后的派生图像项目已被用作用于编码分组后的编码图像项目的输入;分组后的项目和轨道是相同的。
13.根据权利要求12所述的方法,其中所述分组类型指示分组后的项目和轨道彼此可替代,并且所述确定包括选择所述静态媒体项目和所述一个或多个实体中的一者以便显示。
14.根据权利要求12所述的方法,其中彼此可替代的分组后的项目和轨道指示以下一者或多者:动画和静止图像互为替代;派生图像的可选操作;预先计算的派生图像和相应的派生图像互为替代。
15.根据权利要求10所述的方法,包括从所述容器文件中解析替代图片的信息。
16.根据权利要求15所述的方法,通过解析与第一图片相关联的第一值和与第二图片相关联的第二值具有相同的值来确定所述第一图片和所述第二图片互为替代。
17.根据权利要求15所述的方法,从所述容器文件中解析形成替代组所依据的媒体文件特征以及与所述特征相关的图片特定信息。
18.一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置执行至少以下操作:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;以及
-在所述文件中指示所述组的分组类型。
19.一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置执行至少以下操作:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
20.一种编码有指令的非临时性计算机可读介质,当被计算机执行时,所述指令执行以下操作:
-将静态媒体项目包含在容器文件中;
-将一个或多个媒体轨道包含在所述容器文件中;
-在所述文件中指示所述静态媒体项目和一个或多个实体形成一个组;以及
-在所述文件中指示所述组的分组类型。
21.一种编码有指令的非临时性计算机可读介质,当被计算机执行时,所述指令执行以下操作:
-从容器文件中解析静态媒体项目和一个或多个实体形成一个组;
-从所述容器文件中解析所述组的分组类型;
-基于所述组和所述分组类型确定所述静态媒体项目和所述一个或多个实体的处理。
CN201680020701.9A 2015-02-10 2016-02-02 用于处理图像序列轨道的方法、装置和计算机程序产品 Active CN107534801B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/618,650 US9922680B2 (en) 2015-02-10 2015-02-10 Method, an apparatus and a computer program product for processing image sequence tracks
US14/618,650 2015-02-10
PCT/FI2016/050064 WO2016128613A1 (en) 2015-02-10 2016-02-02 A method, an apparatus and a computer program product for processing image sequence tracks

Publications (2)

Publication Number Publication Date
CN107534801A true CN107534801A (zh) 2018-01-02
CN107534801B CN107534801B (zh) 2020-04-24

Family

ID=56567004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680020701.9A Active CN107534801B (zh) 2015-02-10 2016-02-02 用于处理图像序列轨道的方法、装置和计算机程序产品

Country Status (9)

Country Link
US (1) US9922680B2 (zh)
EP (1) EP3257261B1 (zh)
JP (1) JP6496033B2 (zh)
KR (1) KR102014628B1 (zh)
CN (1) CN107534801B (zh)
ES (1) ES2888673T3 (zh)
PH (1) PH12017501443B1 (zh)
PL (1) PL3257261T3 (zh)
WO (1) WO2016128613A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804256A (zh) * 2021-02-09 2021-05-14 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN113170236A (zh) * 2018-12-10 2021-07-23 诺基亚技术有限公司 用于在容器文件格式中以信号发送信息的装置和方法
CN113170088A (zh) * 2018-10-08 2021-07-23 三星电子株式会社 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置
CN113542907A (zh) * 2020-04-16 2021-10-22 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
CN113574900A (zh) * 2019-03-15 2021-10-29 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
WO2021244132A1 (zh) * 2020-06-04 2021-12-09 腾讯科技(深圳)有限公司 沉浸媒体的数据处理方法、装置、设备及计算机存储介质
TWI793743B (zh) * 2020-08-31 2023-02-21 新加坡商聯發科技(新加坡)私人有限公司 處理多媒體資料的方法和裝置
WO2023024839A1 (zh) * 2021-08-23 2023-03-02 腾讯科技(深圳)有限公司 媒体文件封装与解封装方法、装置、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
JP7239029B2 (ja) * 2017-09-15 2023-03-14 ソニーグループ株式会社 画像処理装置およびファイル生成装置
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
JP7090730B2 (ja) * 2018-04-05 2022-06-24 キヤノン株式会社 ファイル内に画像をカプセル化するための方法及び装置
WO2019197723A1 (en) * 2018-04-11 2019-10-17 Nokia Technologies Oy Method and apparatus for signaling grouping types in an image container file
JP7218105B2 (ja) * 2018-06-20 2023-02-06 キヤノン株式会社 ファイル生成装置、ファイル生成方法、処理装置、処理方法、及びプログラム
GB2575074B (en) 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
WO2020065129A1 (en) * 2018-09-28 2020-04-02 Nokia Technologies Oy Method and apparatus for enabling multiple timeline support for omnidirectional content playback
JP7303625B2 (ja) 2018-12-18 2023-07-05 キヤノン株式会社 画像ファイル生成装置、画像ファイル生成方法、及びプログラム
US11457231B2 (en) 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
US11245926B2 (en) * 2019-03-19 2022-02-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for track derivation for immersive media data tracks
EP3744088A1 (en) 2019-04-01 2020-12-02 Google LLC Techniques to capture and edit dynamic depth images
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
WO2021002165A1 (ja) * 2019-07-01 2021-01-07 キヤノン株式会社 画像ファイル作成装置、画像ファイル作成方法、及びプログラム
EP4066513A4 (en) * 2019-11-29 2023-01-25 ZTE Corporation METHOD AND DEVICE FOR VIDEO EDITING WITH MULTIPLE VIEWS

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210618A (ja) * 1993-10-29 1995-08-11 Eastman Kodak Co 磁気トランザクションカードの画像の圧縮、記憶及び取り出し方法とその装置
US6405283B1 (en) * 1999-11-23 2002-06-11 Roxio, Inc. Method for handling buffer under-run during disc recording
JP2006510140A (ja) * 2002-12-10 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報を読み取るためのチルト制御
CN101518087A (zh) * 2006-08-24 2009-08-26 诺基亚公司 用于指示媒体文件中轨道关系的系统和方法
CN102132562A (zh) * 2008-07-16 2011-07-20 诺基亚公司 用于轨道和轨道子集归组的方法和设备
US20110182366A1 (en) * 2008-10-07 2011-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Multi-View Media Data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0302778D0 (sv) * 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
JP4203812B2 (ja) * 2003-12-29 2009-01-07 ソニー株式会社 ファイル記録装置、ファイル記録方法、ファイル記録方法のプログラム、ファイル記録方法のプログラムを記録した記録媒体、ファイル再生装置、ファイル再生方法、ファイル再生方法のプログラム及びファイル再生方法のプログラムを記録した記録媒体
US8365060B2 (en) * 2006-08-24 2013-01-29 Nokia Corporation System and method for indicating track relationships in media files
CN103957448B (zh) * 2009-04-09 2017-05-17 瑞典爱立信有限公司 生成媒体容器文件的方法、媒体内容服务器、以及媒体处理方法和媒体处理服务器
JP2011049927A (ja) * 2009-08-28 2011-03-10 Sanyo Electric Co Ltd 画像処理装置、およびそれを搭載した撮像装置
KR20120055462A (ko) * 2010-11-21 2012-05-31 휴먼 모니터링 리미티드 미디어 컨텐츠를 인코딩 및 디코딩하는 방법 및 시스템
US9357199B2 (en) * 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210618A (ja) * 1993-10-29 1995-08-11 Eastman Kodak Co 磁気トランザクションカードの画像の圧縮、記憶及び取り出し方法とその装置
US6405283B1 (en) * 1999-11-23 2002-06-11 Roxio, Inc. Method for handling buffer under-run during disc recording
JP2006510140A (ja) * 2002-12-10 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報を読み取るためのチルト制御
CN101518087A (zh) * 2006-08-24 2009-08-26 诺基亚公司 用于指示媒体文件中轨道关系的系统和方法
CN102132562A (zh) * 2008-07-16 2011-07-20 诺基亚公司 用于轨道和轨道子集归组的方法和设备
US20110182366A1 (en) * 2008-10-07 2011-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Multi-View Media Data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO: ""Information Technology-MPEG systems technologies-Part 12:image file format"", 《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11606576B2 (en) 2018-10-08 2023-03-14 Samsung Electronics Co., Ltd. Method and apparatus for generating media file comprising 3-dimensional video content, and method and apparatus for replaying 3-dimensional video content
CN113170088A (zh) * 2018-10-08 2021-07-23 三星电子株式会社 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置
CN113170088B (zh) * 2018-10-08 2023-10-03 三星电子株式会社 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置
CN113170236A (zh) * 2018-12-10 2021-07-23 诺基亚技术有限公司 用于在容器文件格式中以信号发送信息的装置和方法
CN113574900B (zh) * 2019-03-15 2024-03-15 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN113574900A (zh) * 2019-03-15 2021-10-29 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN113542907A (zh) * 2020-04-16 2021-10-22 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
WO2021244132A1 (zh) * 2020-06-04 2021-12-09 腾讯科技(深圳)有限公司 沉浸媒体的数据处理方法、装置、设备及计算机存储介质
TWI793743B (zh) * 2020-08-31 2023-02-21 新加坡商聯發科技(新加坡)私人有限公司 處理多媒體資料的方法和裝置
US11743441B2 (en) 2020-08-31 2023-08-29 Mediatek Singapore Pte. Ltd. Methods and apparatus for selecting and switching input video tracks using track derivations
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN112804256A (zh) * 2021-02-09 2021-05-14 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
WO2023024839A1 (zh) * 2021-08-23 2023-03-02 腾讯科技(深圳)有限公司 媒体文件封装与解封装方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2018513574A (ja) 2018-05-24
CN107534801B (zh) 2020-04-24
EP3257261A4 (en) 2018-12-26
PH12017501443A1 (en) 2018-01-15
KR20170113657A (ko) 2017-10-12
US9922680B2 (en) 2018-03-20
KR102014628B1 (ko) 2019-08-26
PH12017501443B1 (en) 2018-01-15
JP6496033B2 (ja) 2019-04-03
US20160232939A1 (en) 2016-08-11
PL3257261T3 (pl) 2021-12-13
WO2016128613A1 (en) 2016-08-18
EP3257261A1 (en) 2017-12-20
ES2888673T3 (es) 2022-01-05
EP3257261B1 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
CN107534801A (zh) 用于处理图像序列轨道的方法、装置和计算机程序产品
KR102185811B1 (ko) 컨테이너 파일들 및 비디오 비트스트림들의 관심 영역들의 강화된 시그널링
US10979691B2 (en) Circular fisheye video in virtual reality
KR102614206B1 (ko) 비디오 코딩을 위한 서브-픽처 비트스트림들을 포함한 비디오 컨텐츠의 시그널링
RU2746934C9 (ru) Межуровневое предсказание для масштабируемого кодирования и декодирования видеоинформации
US11532128B2 (en) Advanced signaling of regions of interest in omnidirectional visual media
CN102132562B (zh) 用于轨道和轨道子集归组的方法和设备
CN108702503A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN107852532A (zh) 用于视频编码的方法、装置和计算机程序
CN109155861A (zh) 用于编码媒体内容的方法和装置以及计算机程序
CN108605168A (zh) 在媒体文件中虚拟现实视频的存储
CN105659607A (zh) 多层视频文件格式设计
CN107431810A (zh) 用于图像编码和解码的装置、方法和计算机程序
CN110089126B (zh) 处理视频数据的方法、设备及计算机可读媒体
CN104221386A (zh) 译码视频及存储视频内容的方法
CN103026721A (zh) 布置用于串流传输视频数据的子轨道片段
CN110178379A (zh) 以文件格式用信号表示重要视频信息
CN107005715A (zh) 图像序列编码和解码的装置、方法和计算机程序
WO2023057903A1 (en) Method, apparatus and computer program product for implementing mechanisms for carriage of renderable text

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant