CN111213384B - 用于生成定时媒体数据的方法、装置和计算机可读存储介质 - Google Patents

用于生成定时媒体数据的方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN111213384B
CN111213384B CN201880066437.1A CN201880066437A CN111213384B CN 111213384 B CN111213384 B CN 111213384B CN 201880066437 A CN201880066437 A CN 201880066437A CN 111213384 B CN111213384 B CN 111213384B
Authority
CN
China
Prior art keywords
track
group
tracks
attributes
box
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.)
Active
Application number
CN201880066437.1A
Other languages
English (en)
Other versions
CN111213384A (zh
Inventor
弗雷德里克·梅兹
内尔·奥德拉奥果
弗兰克·德诺奥
乔纳森·泰奎特
简·勒菲弗
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN111213384A publication Critical patent/CN111213384A/zh
Application granted granted Critical
Publication of CN111213384B publication Critical patent/CN111213384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • 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/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/8133Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
    • 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/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

提供一种用于生成定时媒体数据的装置和方法,所述定时媒体数据包括样本,所述方法包括:获得所述定时媒体数据的样本;创建各自包括所获得的样本至少之一的轨;以及生成包括与所创建的轨相关联的描述性元数据的呈现文件,其中所述描述性元数据包括描述至少一组所创建的轨的至少一个轨组框,所有的轨属于共享属性的同一组,其中在所述呈现文件中在单一位置中声明现有轨组的列表,以及其中,在所述呈现文件中在相同的单个位置处声明由所述列表的组的轨共享的属性。

Description

用于生成定时媒体数据的方法、装置和计算机可读存储介质
技术领域
本发明通常涉及如下领域:例如根据如MPEG标准化组织所定义的ISO 基媒体文件格式来对定时媒体数据进行封装和解析,以提供便于媒体数据的互换、管理、编辑和呈现的灵活且可扩展的格式并且改善流管理。
更具体地,本发明涉及用于生成、封装和解析定时媒体数据的方法和装置。
背景技术
本发明涉及例如根据如MPEG标准化组织所定义的ISO基媒体文件格式来对媒体内容进行封装、解析和流传输,以提供便于一组媒体内容的互换、管理、编辑和呈现的灵活且可扩展的格式并且改善该组媒体内容例如在使用自适应http流传输协议的因特网等的IP网络上的传递。
国际标准化组织基媒体文件格式(ISO BMFF,ISO/IEC 14496-12)是描述供本地存储或者供经由网络或经由另一位流传递机制进行传输的编码定时媒体数据位流的众所周知的灵活且可扩展的格式。该文件格式具有描述用于各种基于NAL(网络抽象层)单元的视频编码格式的封装工具的数个扩展(例如,Part-5,ISO/IEC 14496-15)。这种编码格式的示例是AVC(高级视频编码)、 SVC(可分级视频编码)、HEVC(高效率视频编码)或L-HEVC(分层HEVC)。文件格式扩展的另一示例是描述静止图像或静止图像序列(诸如HEVC静止图像等)的封装工具的ISO/IEC 23008-12。该文件格式是面向对象的。该文件格式包括被称为框(box)的构建块(或以四个字符码为特征的数据结构),其中这些框是顺次或层级组织的,并且定义编码定时媒体数据位流的诸如定时参数和结构参数等的参数。在该文件格式中,随时间经过的整个呈现被称为动画(movie)。动画由媒体或呈现文件的顶层的动画框(具有四个字符码“moov”) 来描述。该动画框表示包含描述呈现的各种框的集合的初始化信息容器。该动画框在逻辑上被分割成由轨框(具有四个字符码“trak”)表示的轨。(由轨标识符(track_ID)唯一地标识的)各轨表示属于呈现的媒体数据(例如,视频的帧) 的定时序列。在各轨内,数据的各定时单元被称为样本;这可以是视频、音频或定时元数据的帧。样本按顺序隐含地编号。实际样本数据在处于与动画框相同级别的被称为媒体数据框(具有四个字符码“mdat”)的框中。动画也可以在时间上被组织为动画框,该动画框包含整个呈现的信息、之后是几个动画片段(movie fragment)和媒体数据框的列表。在动画片段(具有四个字符码“moof”的框)内,存在轨片段的集合(具有四个字符码“traf”的框),针对各动画片段存在零个或多个轨片段。而轨片段包含零个或多个轨运行框(‘trun’),各轨运行框记录该轨片段的样本的连续运行。
在文件格式中,媒体或呈现文件还可以包含在与动画框相同的级别的元框(“meta”)内描述的一个或多个静态项(例如,一个或多个静止图像)。该元框可以包含描述静态项的描述性信息,该描述性信息被组织在数个框(例如,项信息框(“iinf”)中的项的列表和项位置框(“iloc”)中的数据项的(在数据框中的)位置)中,各项由项标识符(item_ID)唯一地标识。实际项数据存储在元框内的项数据框(“idat”)中或者存储在文件顶层的媒体数据框(“mdat”)中。
ISOBMFF可以包含多个编码定时媒体数据位流、或者编码定时媒体数据位流的形成多个轨和/或多个静态项的子部分。ISOBMFF及其扩展包括用以将轨、静态项或样本分组在一起的数个分组机制。组通常共享共同的语义和/或特性。
例如,ISOBMFF包括实体组机制、轨组机制和样本分组机制。实体分组机制可用于表示根据指示分组类型或语义来对轨和/或静态项进行分组。轨分组机制可用于表示根据指示分组类型或语义来对轨进行分组。样本分组机制可用于表示与指示分组类型或语义相关联的特定属性适用于轨内的指示样本组。
本发明人在使用现有分组机制描述和表示ISOBMFF中的一组组件时,注意到了数个问题,组件是项(例如,静止图像)、轨(例如,音频、视频或元数据)或它们的组(例如,轨组或实体组)。
例如,问题是与给定组件相关联的或者属于一组组件的所有组件共同的属性的信令可能产生开销和复杂度。
另一困难是组件或一组组件共同的属性随时间的经过不是动态的或者不是非常动态的。
此外,另一问题涉及属于一组组件的组件列表的随时间经过的动态性。
一般来说,现有的解决方案不允许该动态性。
发明内容
本发明是为了解决上述担忧中的一个或多个而设计的。
在该上下文中,提供了一种用于基于定时媒体数据来生成一个或多个媒体文件的方法,所述定时媒体数据包括样本,所述方法包括:
获得包括所述样本的所述定时媒体数据;
创建各自包括所获得的样本至少之一的至少一部分的轨;
生成与所创建的轨相关联的描述性元数据;以及
基于所述轨和所述描述性元数据来生成所述一个或多个媒体文件,
其中,所述描述性元数据包括至少一个TrackGroupBox,所述至少一个TrackGroupBox包括至少一个轨组标识符,并且所述至少一个TrackGroupBox 通过使用所述至少一个轨组标识符来描述所创建的轨的至少一个组,
其中,所述描述性元数据还包括所创建的轨的多个属性集合,以及
其中,所述描述性元数据还包括SampleToGroupBox,所述SampleToGroupBox包括与用于识别来自所述多个属性集合中的属性集合的组描述索引相关联的所述至少一个轨组标识符。
在从属权利要求中进一步定义了本发明的可选特征。
根据实施例,所述多个属性集合的至少一部分包括在所述描述性元数据中的SampleGroupDescriptionBox中。
根据实施例,针对各轨生成一个SampleGroupDescriptionBox。
根据实施例,与同一轨组标识符相对应的一个或多个轨同来自所述多个属性集合中的同一属性集合相关联。
根据实施例,所述单个位置位于呈现文件中的比轨级别高的级别。
根据实施例,所述轨组框指示与描述用于形成轨组的至少一个标准的语义相关的分组类型。
根据实施例,对所述定时媒体数据进行分区,使得时间样本至少之一包括子样本。
根据实施例,至少一个轨组是包括属于所述组的不同轨的子样本的复合组。
根据实施例,所述轨组框指示所述组的标识符,所述标识符在呈现文件中是唯一的。
根据实施例,现有轨组的列表和由各组的轨共享的属性是在所述呈现文件中在动画级别定义的。
根据实施例,对于至少一个轨,在所述呈现文件中在轨级别定义特定于该轨的其它属性。
根据实施例,动画级别的组定义通过相同的唯一组标识符与处于轨级别的组定义相关联。
根据实施例,对于至少一个轨,在呈现文件中在所述相同的单个位置处定义特定于该轨的其它属性。
根据实施例,特定于一个轨的属性是在现有轨组的列表中直接定义的。
根据实施例,各属性能够取不同的值,以及其中,特定于轨的各属性的值随时间的经过而变化。
根据实施例,特定于所述轨的各属性的值是针对所述轨内的一个或多个样本而定义的。
根据实施例,所述描述性元数据还包括至少一个框,所述至少一个框描述属于同一轨组的轨内的样本,所述至少一个框定义能够随时间的经过而取特定属性的不同可能值。
根据实施例,所述至少一个框指示与描述用于形成样本组的至少一个标准的语义相关联的分组类型。
根据实施例,连续样本的属性所取的值遵循重复模式,并且所述至少一个框定义重复模式本身及其重复。
根据实施例,各属性能够取不同的值,以及呈现文件被分成片段,使得所述至少一个轨组是在片段级别定义的,并且组成轨组的轨集合随时间的经过而变化。
根据实施例,所述轨组框包括指示所述至少一个轨组的定义是否能够随时间的经过而变化的标志。
根据实施例,所述至少一个轨组的定义包括:由所述组的轨共享的属性、能够取各属性的值、以及/或者组成所述组的轨。
根据本发明的另一实施例,提供一种用于基于定时媒体数据来生成一个或多个媒体文件的装置,所述定时媒体数据包括样本,所述装置被配置为:
获得包括所述样本的所述定时媒体数据;
创建各自包括所获得的样本至少之一的至少一部分的轨;
生成与所创建的轨相关联的描述性元数据;以及
基于所述轨和所述描述性元数据来生成所述一个或多个媒体文件,
其中,所述描述性元数据包括至少一个TrackGroupBox,所述至少一个TrackGroupBox包括至少一个轨组标识符,并且所述至少一个TrackGroupBox 通过使用所述至少一个轨组标识符来描述所创建的轨的至少一个组,
其中,所述描述性元数据还包括所创建的轨的多个属性集合,以及
其中,所述描述性元数据还包括SampleToGroupBox,所述SampleToGroupBox包括与用于识别来自所述多个属性集合中的属性集合的组描述索引相关联的所述至少一个轨组标识符。
根据实施例,各属性能够取不同的值,以及特定于轨的各属性的值随时间的经过而变化。
根据实施例,各属性能够取不同的值,以及呈现文件被分成片段,使得所述至少一个轨组是在片段级别定义的,并且组成轨组的轨集合随时间的经过而变化。
根据实施例,所述轨组框包括指示所述至少一个轨组的定义是否能够随时间的经过而变化的标志。
本发明的第二方面具有与上述第一方面类似的特征和优点。
由于本发明可以以软件来实现,因此本发明可以体现为计算机可读代码以提供至可编程设备的任何适当载体介质、并且特别为适当的有形载体介质或适当的瞬态载体介质上。有形载体介质可以包括诸如软盘、CD-ROM、硬盘驱动器、磁带装置或固态存储器装置等的存储介质。瞬态载体介质可以包括诸如电气信号、电子信号、光学信号、声学信号、磁信号或者例如微波或 RF信号的电磁信号等的信号。
附图说明
在研究附图和具体实施方式时,本领域技术人员将明白本发明的更多优点。意图这里包含了任何附加优点。
以下将仅通过示例方式并且参考以下附图来说明本发明的实施例,其中:
图1示出可以使用本发明的实施例的典型客户端服务器系统;
图2a示出可以使用本发明的实施例的第一方案;
图2b示出可以使用本发明的实施例的第二方案;
图3是用于实现本发明的一个或多个实施例的计算装置的示意框图;以及
图4至图14示出空间关系轨组的使用的不同示例。
具体实施方式
在以下的说明中,动画在时间上被划分成数个部分,各部分被称为“片段”。各片段包括在具有关联的描述性元数据的一个或多个轨中。因此,片段可被视为轨部分。
实际上,在ISOBMFF文件中,元数据包含在动画框(“moov”)中并且位流包括在媒体数据框(“mdat”)中。动画框可以包括数个轨的描述(例如,音频轨和视频轨)。
使用片段允许将媒体数据分片段成数个部分。一个片段由一对动画片段框(“moof”)和媒体数据框(“mdat”)表示,该动画片段框描述关联的媒体数据框的内容。
因而,在片段式ISOBMFF文件中,将存在一连串框“moov”、“moof”和“mdat”、“moof”和“mdat”、“moof”和“mdat”等。第一个框“moov”包括整个 ISOBMFF文件共同的数据。
在以下的说明中,片段式ISOBMFF文件的轨(“trak”)的等同物是“traf”。
在本发明的上下文中,可以根据共同的属性(即,组的所有轨呈现的属性)来对轨进行分组。另外,各轨可以具有特定于该轨(即,不与组中的所有轨共享)的其它属性。
根据第一实施例,呈现文件包括至少一个轨组框,该轨组框描述属于同一组的所有轨共享共同属性的轨组。在呈现文件中的单一位置中声明现有轨组的列表,并且在呈现文件中的该单一位置处还声明由组的轨共享的共同属性。
根据第二实施例,特定于轨(即,不由组的所有轨共享)的属性随时间的经过而取不同的值。
根据第三实施例,组成一轨组的轨集合随时间的经过而变化。
根据第四实施例,轨组框包括指示至少一轨组的定义是否随时间的经过而变化的标志。该定义可以在以下方面有所不同:由组的轨共享的属性(即,分组标准)、可以取(特定于各轨的或组的所有轨共同的)各属性的值、以及/ 或者组成组的轨。
图1示出可以使用本发明的典型客户端服务器系统。本发明不限于这样的系统,因为本发明可以涉及可以以任何方式分发(而不仅仅是通过通信网络上的流传输)的媒体文件的生成。
该系统在服务器侧包括:媒体编码器100(特别是视频编码器)、媒体打包器110和媒体服务器120。媒体打包器110包括NALU解析器111、存储器112 和ISOBMFF(ISOBMFF)写入器113。媒体服务器120可以生成清单文件(也称为媒体呈现描述(MPD)文件)121和媒体分段122。该系统在客户端侧还包括具有如下的不同模块的媒体客户端150:ISOMBFF解析器152;媒体解码器153 (特别是视频解码器);显示器154;以及HTTP客户端151,用于支持自适应HTTP流传输,特别是流式清单159的解析,以控制媒体分段190的流传输。该系统还包含能够对编码位流和/或解码图片进行操作的模块:变换模块155。
通常,媒体客户端150请求清单文件121,以便获得在媒体服务器120上可用的组成媒体呈现的不同媒体表现的描述。因此,媒体客户端150然后请求其感兴趣的媒体分段122。这些请求经由HTTP模块151进行。然后,所接收到的媒体分段由ISOBMFF解析器152解析,由视频解码器153解码,可选地通过变换单元155变换以在显示器154上播放。
视频序列通常由视频编码器100编码,以便由媒体打包器110封装到一个或数个文件中。媒体服务器120使所生成的文件对客户端可用。
根据本发明的一些实施例,另一模块作为媒体打包器的一部分或在媒体打包器的外部包括在系统中:生成单元130。该单元允许用户观看封装后的媒体轨,并且通过对样本应用各种图像操作来编辑和修改这些封装后的媒体轨。在用户想要将他的复合结果作为附加轨插入ISOBMFF写入器所产生的媒体文件中时,该生成单元与媒体打包器交互。
媒体服务器在本发明主要应对通过对一个或多个媒体轨的复合、派生、合成、变换或聚合而产生的轨的媒体封装和构建/描述的意义上是可选的。对于媒体服务器,传输部分(HTTP模块和清单解析器)在本发明也适用于包括简单媒体播放器的媒体客户端的意义上是可选的,其中向该简单媒体播放器提供了封装后的媒体文件以供渲染。媒体文件可以通过完全下载、通过渐进式下载、通过自适应流传输、或者仅通过在盘上或从存储器读取媒体文件来提供。
根据本发明的方法由媒体打包器模块110进行,并且更具体地由 ISOBMFF写入器模块113与复合单元130协作地进行,其中该方法在由如图3 所示的服务器设备的CPU 301执行时包括软件代码。
通常,封装模块负责读取例如包括压缩视频、音频或元数据的编码定时媒体数据位流的高级句法,以提取和识别位流的不同基本单元(例如,来自视频位流的NALU),并且根据ISOBMFF框层级结构将包含编码视频位流的 ISOBMFF文件或ISOBMFF分段122中的编码数据组织为具有描述性元数据的一个或多个轨。
根据特定实施例,根据封装文件格式(例如,ISO基媒体文件格式(ISO/IEC 14496-12和ISO/IEC 14496-15)、全向媒体格式(OMAF)(ISO/IEC 23090-2)和关联规范),将编码定时媒体数据位流封装到文件或小的时间分段文件中,或者可能地,根据如由MPEG标准组织定义的图像文件格式(ISO/IEC 23008-12),将编码定时媒体数据位流连同一个或多个静止图像位流一起封装。
编码位流(例如,HEVC、AVC)以及可能的其子位流(例如,区块化HEVC、 MV-HEVC、可分级HEVC)可被封装为单一轨。可替代地,在空间上相关的(即,作为全景图像的子空间部分的)多个编码位流可被封装为数个子图片轨。可替代地,包括数个子位流(区块、视图、层)的编码位流(例如,区块化HEVC、 MV-HEVC、可分级HEVC)可被封装为多个子图片轨。
子图片轨是嵌入有图片或图像的子部分的数据的轨。一个子图片轨可以与其它子图片轨有关,或者与描述该子图片被提取于的完整图片(也称为全景图片)的轨有关。例如,子图片轨可以是区块轨。子图片轨可以由AVC轨、 HEVC轨、HEVC区块轨或被封装为样本序列的任何压缩视频位流来表示。
区块轨是与图像的空间部分或者与图像或图片的子图片相对应的定时视频样本的序列。区块轨例如可以是图像中的关注区域或该图像中的任意区域。与区块轨相对应的数据可以来自于视频位流,或者可以来自于视频位流的子部分。例如,区块轨可以是AVC或HEVC兼容的位流,或者可以是AVC 或HEVC或任何编码位流的子部分,例如HEVC区块那样。在优选实施例中,区块轨是可独立解码的(编码器注意从其它区块去除运动预测)。在区块轨对应于利用区块以HEVC编码的视频位流时,该区块轨可被封装到如在ISO/IEC 14496-15第四版中所述的、表示为“hvt1”轨的HEVC区块轨中。然后,该区块轨可以参考区块基轨以获得参数集、高级信息以设置视频解码器。该区块轨也可以通过在各区块轨中包括和重复参数集(也称为系统区块)而被封装到可独立解码的HEVC轨“hvc1”或“hev1”轨中。区块轨可用于将子图片空间复合成更大的图像或图片。
区块基轨是一个或多个区块轨共同的轨,其中该一个或多个区块轨包含在这些一个或多个轨之间共享的数据或元数据。区块基轨可以包含用于从一个或多个区块轨组成图像的指示。区块轨可以依赖于区块基轨以进行完全解码或渲染。在区块基轨源自于利用区块以HEVC编码的视频位流时,该区块基轨被封装到表示为“hvc2”或“hev2”轨的HEVC轨中。另外,该区块基轨由 HEVC区块轨经由轨参考“tbas”来参考,并且该区块基轨应表示如在ISO/IEC 14496-15第四版中所述的、使用向HEVC区块轨的“sabt”轨参考的区块排序。
复合轨(也表示为参考轨)是参考其它轨来组成图像的轨。复合轨的一个示例在视频轨的情况下是将子图片轨组成为更大图像的轨。这可以通过例如在源自于视频轨的如下轨中的解码后操作来进行,其中该轨提供变换和变换参数以将来自各视频轨的图像组成为更大的图像。复合轨还可以是具有提取器NAL单元的轨,这些提取器NAL单元提供用以从其它视频轨或区块轨提取 NAL单元以在解码通过子位流级联产生的位流之前形成的指示。复合轨也可以是例如通过向其它轨的轨参考来隐含地提供复合指示的轨。
图2a示出根据本发明实施例的图像(表示为完整图像)向数个子空间部分的划分可以随时间的经过而变化的第一方案。例如,图像210、220、230和 240代表不同时间瞬间的相同完整图像。例如,从时间t=N(图像210)到时间 t=N+M(图像220),分区网格可以在四个子图片221、222、223、224之间等分,所有子图片具有相同的高度和宽度大小。然后,从时间t=N+M+1(图像 230)到时间t=N+M+Z(图像240),改变分区网格和各子图片221、222、223和 224的大小,以获得新的子图片分别为231、232、233和234,而复合图片的大小(由composition_height和composition_width表示的)保持不变。在该方案中,复合图片是完整图像。随时间经过的各相应子图片(例如,221和231)形成子图片轨,对于该子图片轨,空间属性(例如,空间坐标:左上角的水平位置和垂直位置(x,y)、宽度和高度)在某些时间瞬时下可能有所变化。
图2b示出第二方案:在不同的时间瞬时250、260、270、280上表示的图像(完整图像)的分区网格随时间的经过不变。然而,相反,组成表示为G1的给定组的子图片的子图片列表随时间的经过而变化。例如,从时间t=N(图像 250)到时间t=N+M(图像260),一组子图片G1251、261、271、281由第一列和第二列与第二行和第三行的交点处的子图片组成。然后,从时间t=N+M+1 (图像270)到时间t=N+M+Z(图像280),组成组的子图片列表变为第二列和第三列与第三行和第四行的交点处的子图片。在该图2b中,composition_height 和composition_width指示表示完整图像内的子图片复合的复合图片G1的大小。随时间经过的(例如,第二列和第三行262和272处的)各相应子图片形成子图片轨,对于该子图片轨,空间属性(左上角的水平位置和垂直位置(x,y)、宽度和高度)在完整图像的范围中没有随时间的经过而改变,但在子图片组 G1的范围中有所不同。同样,在该方案中,子图片组G1的空间属性(x、y、宽度和高度)在完整图像250、260、270、280的范围中可能有所不同。
子图片和复合图片的各个大小例如可以用亮度像素或标准化坐标表示。
在第三方案中,分区网格和组成一组子图片的子图片列表也可以同时随时间的经过而变化。
本发明是为了解决上述方案中的一个或多个而设计的。
ISO/IEC 14496-12提供位于轨级别(即,ISOBMFF框层级的“trak”框内) 以描述轨组的框“trgr”,其中各组共享特定特性或者组内的轨具有特定关系。该轨组框是如下定义的空容器:
BoxType:‘trgr′
Container:TrackBox(′trak′)
Mandatory:No
Quantity:Zero or one
aligned(8)class TrackGroupBox extends Box(′trgr′){
}
该轨组框可以包含如下定义的轨组类型框的集合:
Figure BDA0002446259580000131
由该轨组类型框的实例声明的特定特性或关系由框类型 (track_group_type)表示。该框还包括可用于确定属于相同轨组的轨的标识符 (track_group_id)。具有轨组类型框有相同的track_group_type值和 track_group_id值的轨组框的所有轨是相同轨组的一部分。该框还允许声明与特定轨组类型的轨相关联的特定参数。例如,如以下所定义的,MPEG OMAF 标准(ISO/IEC 23090-2)将供空间复合用的特定轨组定义为类型“spco”的TrackGroupTypeBox(轨组类型框)。
Figure BDA0002446259580000132
其中:track_x、track_y是空间复合内的轨的坐标,track_width和 track_height定义空间复合内的轨的亮度像素的大小,并且composition_width 和composition_height指示整个空间复合的亮度像素的大小。
可以将“spco”轨组中的各轨的样本与来自该相同组中的其它轨的(相同的复合或解码时间处的)样本进行空间复合,以生成更大的图像。
轨分组的另一示例是组成立体媒体内容的轨对的信令,例如如以下定义的类型“ster”的TrackGroupTypeBox:
Figure BDA0002446259580000141
其中:left_view_flag表示哪个轨是左(值1)视图或右(值0)视图。
如上所述描述轨组存在数个缺点:
-播放器在能够知晓现有轨组是哪些轨组以及哪个轨属于哪个轨组之前,必须解析与呈现中的所有轨相关联的所有轨组框。在播放器想要仅播放属于给定组的轨的情况下,这不是最高效的处理。
-属于同一组的所有轨共同的参数或属性必须在组成该组的所有轨中的相应轨组类型框中重复。这会产生无用的数据冗余。
-由于轨组框是在位于媒体或呈现文件的顶层的动画框(具有四个字符码“moov”)中在轨级别定义的,因此该信息对于整个呈现是静态的,并且与给定组中的给定轨相关联的参数或属性(例如,“spco”轨组中的track_x、track_y、 track_width和track_width)不能随时间的经过而改变。
根据第一实施例,在媒体或呈现文件的较高级别的单一位置中声明现有轨组的列表,并且在该相同的单一位置中声明组成轨组的所有轨共同的组参数或属性,而不是在所有轨上重复这些组参数或属性。
本实施例可以依赖于如在ISO/IEC 14496-12:2015Amd2中定义的实体组机制。如以下所定义的,位于文件级别元框(“meta”)中的空容器框(组列表框 (“grpl”))可以包含被称为EntityToGroupBox(实体到组框)的组描述框的列表:
Figure BDA0002446259580000151
其中:框类型(group_type)指示实体组(或组件组)的分组类型。如前面所述,实体等同于组件。
在替代方案中,在不存在动画框的情况下,可以在文件级别动画框 (“moov”)或文件级别元框(“meta”)中定义该空容器框(组列表框(“grpl”))。
与TrackGroupTypeBox中的track_group_type类似,各grouping_type码均与描述分组的语义相关联。
group_id是整个呈现的范围中的唯一标识符,并且不应等于任何其它EntityToGroupBox的任何group_id值、包含GroupsListBox(组列表框)的层次级别(文件、动画或轨)的任何item_ID值、或者(在GroupsListBox包含在文件级别中的情况下的)任何track_ID值。
num_entities_in_group指定映射到该实体组的组件标识符值(即,item_ID、track_ID、组件组识别符(例如,group_id、track_group_id))的数量。
entity_id如下:
-在包含GroupsListBox的层级级别(文件、动画或轨)存在item_ID等于 entity_id的项的情况下,对应于项;或者
-在存在track_ID等于entity_id的轨并且GroupsListBox包含在文件级别的情况下,对应于轨;或者
-在存在具有相同的grouping_type且group_id等于entity_id的EntityToGroupBox、或者track_group_type等于grouping_type且track_group_id 等于entity_id的TrackGroupTypeBox、并且GroupsListBox包含在文件级别的情况下,对应于组件组。
因而,在EntityToGroupBox@grouping_type等于 TrackGroupTypeBox@track_group_type且EntityToGroupBox@group_id等于 TrackGroupTypeBox@track_group_id这两者的情况下,通过将 EntityToGroupBox与TrackGroupTypeBoxes相关联,来在两个不同的级别定义类型“spco”的特定空间复合组。
首先,在动画级别,如下在GroupsListBox中定义类型“spco”(称为SubPictureCompositionGroupBox(子图片复合组框))的专用EntityToGroupBox:
Figure BDA0002446259580000161
然后,将使用EntityToGroupBox的entity_id的列表来提供组成该空间复合组的轨列表。使该组中的所有轨共同的属性成为共有,并且通过在SubPictureCompositionGroupBox中定义新的SubPictureCompositionRegionBox(子图片复合区域框)来定义一次。
composition_width和composition_height提供了亮度像素的复合大小。
其次,在轨级别,如以下所定义的,在组成同一空间组的所有轨中定义具有类型“spco”(称为子图片复合框)的TrackGroupTypeBox的轨组。
Figure BDA0002446259580000171
第三,通过定义相同的组标识符来关联动画级别和轨级别的组定义(即,相同组由其成对的用于EntityToGroupBox的grouping_type/group_id或用于 TrackGroupTypeBox的track_group_type/track_group_id来定义)。例如,对于空间复合组,在参数SubPictureCompositionBox@track_group_id等于 SubPictureCompositionGroupBox@group_id并且 SubPictureCompositionBox@track_group_type等于SubPictureCompositionGroupBox@grouping_type的情况下,这两个结构属于同一组。
作为前述示例的替代,代替将动画级别的现有框(例如, EntityToGroupBox)与轨级别的现有框(例如,TrackGroupTypeBox)组合,还可以定义在单一场所包含与一组组件有关的所有信息的新EntityToGroupBox框 (例如,ComponentToGroupBox(组件到组框))。组件组的集合包含在位于高级别框(例如,文件级别、动画级别或动画片段级别的“moov”、“moof”或“meta”,或者还称为“udta”)的空容器框(例如,组列表框(“grpl”))中。ComponentToGroupBox包含组成组件组的组件列表(项、轨、组件组)、与组的所有构件共享的组相关联的属性、以及针对各构件的特定于组件组内的该构件的属性。可以如下将ComponentToGroupBox定义为类 GroupOfComponents(组件组):
Figure BDA0002446259580000181
其中:groupOfComponent_type是表现组件组的特征的类型,group_id是呈现的范围中的组的唯一标识符,num_component_in_sets是组中的组件数量 (例如,组中的轨的数量),referenceToComponent()是用以识别属于组的组件的信息(例如,组件的唯一标识符),optionalComponentProperties()是组中的组件的可选属性,并且optionalGroupOfComponentProperties()是组的所有组件所共享的可选属性。
还可以如下根据ISOBMFF语法定义ComponentToGroupBox:
Figure BDA0002446259580000191
其中,框类型(grouping_type)表示组件组的分组类型。
group_id和component_id分别是整个呈现的范围中的组和属于组的组件的唯一标识符。group_id不应等于任何其它ComponentToGroupBox的任何 group_id值、包含GroupsListBox的层级级别(文件、动画或轨)的任何item_ID 值、或者(在GroupsListBox包含在文件级别的情况下的)任何track_ID值。
component_id如下:
-在包含GroupsListBox的层级级别(文件、动画或轨)存在item_ID等于component_id的项的情况下,对应于项;或者
-在存在track_ID等于component_id并且GroupsListBox包含在文件级别的情况下,对应于轨;或者
-在存在具有相同的grouping_type且group_id等于component_id的ComponentToGroupBox、并且GroupsListBox包含在文件级别的情况下,对应于组件组。
ComponentInComponentToGroupBox(组件到组框中的组件)允许定义与类型grouping_type的组的给定组件(由component_id标识)相关联的可选特定参数。这些特定参数的值应用在具有标识符group_id和类型grouping_type的嵌入组的范围中。
同样,ComponentToGroupBox允许定义与属于类型grouping_type的组的所有组件共享的、与该组相关联的可选参数。
例如,可以如下描述声明立体视频对的组:
Figure BDA0002446259580000201
其中,属性component_is_left与属于类型“ster”的组件组的各组件相关联,以表示该组件是否是左视图或右视图。
在另一替代中,可以如下根据ISOBMFF句法定义ComponentToGroupBox:
Figure BDA0002446259580000211
其中:
group_id是整个呈现的范围中的类型grouping_type的组的唯一标识符。
property_container包含与类型grouping_type的组相关联的共同的组件特定属性定义的所有实例。该PropertyContainerBox(属性容器框)包含隐式索引的属性列表。
num_components_in_group是属于该组件组的组件数量。
component_id是整个呈现的范围中的属于组的组件的唯一标识符。
association_count是与组中的给定组件(component_id)相关联的属性的数量。
essential在设置为1时,表示关联属性是组件或组必需的,否则不是必需的。
property_index是表示无属性关联的0(essential指示符也应为0),或者是同一ComponentToGroupBox中所包含的PropertyContainerBox中的关联属性框的基于1的索引。
num_common_properties_in_group是与组相关联的共同或共享属性的数量。
common_property_index是表示无属性关联的0(essential指示符也应为0),或者是同一ComponentToGroupBox中所包含的PropertyContainerBox中的关联属性框的基于1的索引。
根据ComponentToGroupBox的该替代,如下定义PropertyContainerBox和嵌入式属性:
Figure BDA0002446259580000221
其中,Property框导出自ComponentProperty(组件属性)或ComponentFullProperty(组件完整属性)以填充框。
通过定义规则以组合EntityToGroupBox和TrackGroupTypeBox、或者定义包含如上所述的给定组内的组定义、公共组属性和组件属性的新的分组框ComponentToGroupBox,可以在不必解析所有轨的情况下可能地动画级别声明所有现有组的列表,并且在无冗余的情况下使轨组内的公共属性在单个位置处成为共有。
根据第二实施例,如在先前实施例中所述,将实体组机制和轨组机制组合,并且另外,使用样本分组机制来允许与轨组内的轨相关联的属性随时间的经过而变化。
样本分组机制允许与指示分组类型相对应的特定属性与轨中的样本组相关联。
该机制依赖于以下两个框的使用:
-SampleToGroup(样本到组)框(“sbgp”),其描述将样本分配到样本组;以及
-SampleGroupDescription(样本组描述)框(“sgpd”),其描述特定样本组内的样本的公共属性。SampleGroupDescription框(“sgpd”)包含 SampleGroupEntry(样本组条目)(视频内容的VisualSampleGroupEntry(视觉样本组条目))的列表,SampleGroupEntry的各实例提供针对特定样本组(由其“grouping_type”标识)定义的公共属性的不同值。
经由类型字段(“grouping_type”)通过一个SampleToGroup框和一个SampleGroupDescription框的组合来定义特定类型的样本分组。
多个样本分组实例(即,SampleToGroup框和SampleGroupDescription框的对)可以基于不同的分组标准而存在。
如下定义SampleToGroup框:
Figure BDA0002446259580000241
其中:grouping_type识别样本分组的类型(即,用于形成样本组的标准),并将该类型链接到具有分组类型的相同值的样本组描述表。
sample_count指示与该组中的样本组条目相关联的连续样本数量。
group_description_index提供描述该组中的样本的样本组条目的索引。
在一些情况下,样本分组中的连续样本可以遵循一些重复模式,例如,在帧内帧I之后重复地是N个帧间帧P,例如IPPPIPPP。
在这种情况下,可能期望基于将SampleToGroup框列出为样本计数的模式以及模式重复来使用更紧凑的SampleToGroup框。
因而,如下定义更紧凑的SampleToGroup框的替代:
Figure BDA0002446259580000242
Figure BDA0002446259580000251
其中:
grouping_type是用于标识样本分组的类型(即,用于形成样本组的标准) 并将该类型链接到其具有grouping_type的相同值的样本组描述表的整数。对于轨,至多应存在具有grouping_type的相同值(并且在使用的情况下为 grouping_type_parameter)的该框的一次发生。
grouping_type_parameter是分组的子类型的指示。该参数是可选的,并且仅在flags&1=1时才存在。
field_size是指示用于对sample_group_description_index字段进行编码的位数的整数值。值0意味着索引被编码在7位上,值1意味着索引被编码在15 位上,值2意味着索引被编码在23位上,并且值3意味着索引被编码在31位上。
repeat_count_size是指示用于对repeat_count字段进行编码的位数的整数值。值0意味着重复计数未被编码(0位,模式不重复),值1意味着重复计数被编码在8位上,值2意味着重复计数被编码在24位上,并且值3意味着重复计数被编码在32位上。
last_pattern_is_last_only是位标志,其在设置为1时,表示模式列表中的最后一个模式仅适用于轨/traf中的最后K个样本(K是在最后一个模式中识别的样本的数量)。这允许以不同的方式管理样本分组的结束。这提供用以解决模式的方法,诸如A,B,C,A,B,C,A,D等,其中样本的最后一次运行不是重复样本的一部分。在设置了last_pattern_is_last_only的情况下,使用最后定义的模式来映射轨/traf的最后样本,并且将模式的其余部分(nb_patterns–1)对剩余样本重复与repeat_count的值相等的次数(在超过或剩余被映射到0的中间样本的情况下潜在地被截断)。
repeat_count指示应重复所列出的模式多少次;值0指示存在至多一次模式的完整发生。如果last_pattern_is_last_only被设置为0,则将模式列表重复 repeat_count,直到轨/traf中的最后一个样本为止;如果存在比重复模式所覆盖的样本少的样本,则模式重复仅直到最后一个样本为止有效;否则,剩余样本与默认样本组描述索引(在存在的情况下)相关联,或者未被映射到这样的grouping_type/grouping_type_parameter的任何组。如果 last_pattern_is_last_only被设置为1,则将排除该列表中的最后一个条目的模式列表重复repeat_count,直到轨/traf中的第一个样本被列表中的最后一个模式映射为止;如果存在比重复模式所覆盖的样本少的样本,则模式重复仅直到第一个样本被列表中的最后一个模式映射为止有效;否则,剩余样本与默认样本组描述索引(在存在的情况下)相关联,或者未被映射到这样的 grouping_type/grouping_type_parameter的任何组。
sample_count_minus_one指示减去该模式中所存在的一个的样本数量。
is_traf_sgp在设置为1(个别为0)时,表示所给出的样本组描述索引是traf 中(个别为样本表中)所存在的SampleGroupDescriptionBox(样本组描述框)中的索引。
sample_group_description_index是给出描述该组中的样本的样本组条目的索引的整数。该索引的范围为从1到SampleGroupDescriptionBox中的样本组条目的数量,或者取值0,以表示该样本不是该类型的组的构件。
在替代例中,删除参数is_traf_sgpd并且将以下规则应用于 sample_group_description_index值;在动画片段中的CompactSampleToGroupBox(紧凑样本到组框)内,在相同片段内定义的组的组描述索引(sample_group_description_index)从0x10001(即,索引值1)开始,其中值1在前16位中。否则,对于低于0x10001的值,组描述索引是指MovieBox(动画框)中的样本表中所存在的SampleGroupDescriptionBox中的索引。这意味着,在MovieBox(动画框)的样本表中,针对该轨和分组类型的组定义必须不少于65536个。
该指示模式在映射到样本时,将重复等于repeat_count的次数(0意味着模式仅发生一次)。在重复模式超过轨/traf中的样本数量的情况下,重复模式被截断。如果重复模式较少,则剩余样本被映射到默认组索引或者未被映射。
该CompactSampleToGroupBox的定义当前支持/保留默认样本分组机制,即未被映射到给定grouping_type的任何样本组描述条目的样本被映射到在该grouping_type的SampleGroupDescriptionBox中定义的索引 default_sample_description_index所提供的样本组描述条目。
可以有利地使用该新的CompactSampleToGroupBox,例如以利用在 ISO/IEC14496-12中定义的通用时间级别样本分组(“tele”)或利用在ISO/IEC 14496-1中定义的HEVC时间层样本分组(“tscl”)表示时间子层中的模式。
例如,时间级别示例分组(“tele”)允许将给定的通用时间级别标识符(在这种情况下,使用样本组描述索引,索引值中的顺序提供重要度级别)与表示该级别是否可独立解码的标志“level_independently_decodable”相关联。因而,客户端可以根据其关联的级别和标志来知晓可以丢弃哪个样本集合。
在需要的情况下,HEVC临时层样本分组(“tscl”)通过为各样本分配给定时间层(temporalLayerId(时间层Id))并由此根据与给定时间层标识符相关联的属性来判断是否可以丢弃样本,来在HEVC编码的上下文中提供更精确的信息。
根据第二实施例,将随时间的经过而变化的组内的轨的属性定义为grouping_type等于关联组的grouping_type的SampleGroupDescription框 (“sgpd”)中的样本组条目(EntityToGroupBox@grouping_type和/或 TrackGroupTypeBox@grouping_type)。另外,相应SampleToGroup框具有相同的grouping_type,并且grouping_type_parameter等于组标识符 (EntityToGroupBox@group_id和/或TrackGroupTypeBox@track_group_id),以将样本分组与给定轨组相关联。
在轨内,在具有分别等于grouping_type_parameter的相同grouping_type 和track_group_id的TrackGroupTypeBox和VisualSampleGroupEntry这两者中定义相同参数的情况下,VisualSampleGroupEntry的参数值取代 TrackGroupTypeBox的参数值。
例如,为了解决图2a的方案,如下定义grouping_type等于“spco”的新样本组条目SubPictureRegionEntry(子图片区域条目):
Figure BDA0002446259580000281
该SubPictureRegionEntry提供由EntityToGroupBox@group_id、TrackGroupTypeBox@track_group_id和 SampleToGroup@grouping_type_parameter相等的 SubPictureCompositionGroupBox和/或SubPictureCompositionBox(子图片复合框)描述的空间复合组内的轨所承载的一个或多个子图片的、可能随时间的经过而变化的坐标(track_x,track_y)和大小(track_width,track_height)。
作为替代,上述的样本分组机制也可以与ComponentToGroupBox组合,以沿着与组件组内的组件相关联的时间参数变化。同样,在轨内, SampleToGroup框具有相同的grouping_type并且grouping_type_parameter等于组标识符(ComponentToGroupBox@group_id),以将样本分组与给定组件组相关联。在给定轨中的具有相同grouping_type的ComponentInComponentToGroupBox和VisualSampleGroupEntry这两者中定义相同的参数且该组内的组件标识符 ComponentInComponentToGroupBox@component_id等于轨标识符track_ID、并且ComponentInComponentToGroupBox属于group_id等于 grouping_type_parameter的组的情况下,VisualSampleGroupEntry的参数值取代ComponentInComponentToGroupBox的参数值。
通过如上所述定义规则以组合EntityToGroupBox、TrackGroupTypeBox 和样本分组机制,可以使与特定轨组内的轨相关联的一些属性随时间的经过而变化。
图14示出如下的另一替代方案:还可以通过如下定义分组类型“srd”来描述仅使用轨分组1400以及样本分组1401和1402的多个轨之间的空间关系。
“srd”track_grouping_type表示该轨属于与视频的空间部分相对应的轨组。track_group_type“srd”的TrackGroupTypeBox内的track_group_id的值相同的轨被映射为源自于相同的源。例如,出于复杂度的原因,分辨率非常高的视频可能已被分割成子图片轨。然后,各子图片轨在源视频中传送其位置和大小。“srd”轨组可以传送源视频的大小。
如下定义SpatialRelationshipDescriptionBox(空间关系描述框)(或 SpatialRelationshipTrackGroupBox(空间关系轨组框)1403,这里名称仅是示例):
Figure BDA0002446259580000301
其中:
total_width以亮度样本为单位指定该轨组视频源所描述的区域的以像素为单位的宽度。在存在的情况下,total_width的值在track_group_id的值相同和sub_group_id的值相同的SpatialRelationshipDescriptionBox的所有实例中应相同。
total_height以亮度样本为单位指定视频源的高度。total_height的值在track_group_id的值相同和sub_group_id的值相同的 SpatialRelationshipDescriptionBox的所有实例中应相同。
另外,针对子图片轨定义样本分组的“srd”grouping_type,以声明这些子图片轨在空间关系中的位置和大小。在SpatialRelationshipDescriptionBox的版本1在使用中的情况下,应将SampleToGroupBox(样本到组框)的版本1连同识别相应“srd”sub_group_id的grouping_type_parameter值一起使用。在 SpatialRelationshipDescriptionBox的版本0在使用中的情况下,可以使用 SampleToGroupBox的版本0或者grouping_type_parameter设置为0的版本1。
定义特定VisualSampleGroupEntry:SpatialRelationshipGroupEntry(空间关系组条目)(“srd”)如下所示,并且在图14上被示出为1400:
Figure BDA0002446259580000311
其中:object_x、object_y、object_width、object_height指示由total_width 和total_height定义的参考中的轨的移动坐标。
“srd”轨组和子组分别允许完整视频源或部分视频源的重建。如下进行重建:
1)在属于版本0的“srd”轨组或版本1的子组的所有轨中,从各备选组中拾取一个轨。
2)针对所拾取的各个轨,以下规则适用:
a.针对0~object_width–1(包括端点)的范围内的i的各值、并且针对 0~object_height–1(包括端点)的范围内的j的各值,亮度样本位置((i+ track_x)%total_width,(j+track_y)%total_height)处的复合图片的亮度样本被设置成等于亮度样本位置(i,j)处的该轨的子图片的亮度样本。
b.根据所使用的色度子采样,以相同方式导出色度分量。
属于spatial_set_id相同的相同“srd”轨组并且属于不同备选组(即,alternate_group等于0或具有不同的alternate_group值)的所有轨的子图片矩形应不重叠且不应具有间隙,使得在针对视频源的上述导出处理中,各亮度样本位置(x,y)(其中,x在0~total_width–1(包括端点)的范围内并且y在 0~total_height–1(包括端点)的范围内)被准确地遍历一次。
在另一替代中,SpatialRelationshipDescriptionBox被定义成匹配如在经由HTTP的动态自适应流传输(DASH)协议(ISO/IEC 23009-1第3版)中定义的空间关系描述符“SRD”的定义,以表示视频轨之间的空间关系。
如在下表中提供的,所提出的方案提供ISOBMFF中和DASH SRD级别中的空间关系描述之间的直接映射。
ISOBMFF参数 DASH SRD参数
trgr::track_group_id (未映射)
‘sgpd’::object_x object_x
‘sgpd’::object_y object_y
‘sgpd’::object_width object_width
‘sgpd’::object_height object_height
trgr::‘srd’::total_width total_width
trgr::‘srd’::total_height total_height
trgr::‘srd‘::source_id source_id
trgr::‘srd‘::spatial_set_id spatial_set_id
具有“srd”track_grouping_type的TrackGroupTypeBox表示轨属于与视频的空间部分相对应的轨组。track_group_type“srd”的TrackGroupTypeBox内的 source_id的值相同的轨被映射为源自于相同源。例如,出于复杂度的原因,分辨率非常高的视频已被分割成子图片轨。然后,各子图片轨在源视频中传送其位置和大小。“srd”轨组可以传送源视频的大小。
如下定义SpatialRelationshipDescriptionBox。
Figure BDA0002446259580000321
其中:
total_width以亮度样本为单位指定由该轨组描述的区域的像素的宽度。在存在的情况下,total_width的值在track_group_id(或source_id)的值相同和 spatial_set_id的值相同的SpatialRelationshipDescriptionBox的所有实例中应相同。
total_height以亮度样本为单位指定视频源的高度。total_height的值在track_group_id(或source_id)的值相同和spatial_set_id的值相同的 SpatialRelationshipDescriptionBox的所有实例中应相同。
source_id参数提供内容的源的唯一标识符。source_id参数隐含地定义与该源相关联的坐标系。共享相同的source_id值的所有轨具有相同的源和轴取向。
spatial_set_id指定作为具有相同source_id的相同“srd”组的一部分的轨的子集的唯一标识符。该标识符的范围对于文件是全局的。保留值0。
如先前替代那样,针对子图片轨定义样本分组的“srd”grouping_type,以声明这些子图片轨在空间关系中的位置和大小。在grouping_type是具有标识相应“srd”track_group_id的grouping_type_parameter值的“srd”的情况下,应使用SampleToGroupBox的版本1。
图4提供根据本发明的“srd”轨组的使用示例。
考虑描述单个视频400的媒体文件。将称为源视频的该单个视频400分割并编码成两个子图片轨集合401和402。第一集合401是将源视频分割成4个子图片轨(具有ID=1~4的轨),而第二集合402是将同一源视频分割成16个子图片轨(具有ID=11~26的轨)。两个空间关系轨组403和404描述这些空间关系,其中一个轨组是针对各分割级别的。各轨组提供与如何将轨渲染到源视频405或406中的指示。各轨包含一个“trgr”框,该“trgr”框包含“轨组”框403或404 中所存在的信息。各轨通过样本分组在(继承自VisualSampleGroupEntry 的)SpatialRelationshipGroupEntry“srd”中声明其在源视频400中的位置和大小(x,y,w,h)。“srd”轨组描述空间相关轨的组织。“srd”轨组不提供复合指示。从图4可以看出,(403或404中的)轨组参数的大部分在各轨组中复制(参数的 2/3)。然而,毫无疑义地,各轨组可以通过其track_group_id来引用。在图5 中示出图4所示的示例的替代实施例。
在本示例中,为了与moov级别的轨组描述一起使用,可以以更紧凑的形式500(5/12压紧)来描述两个初始轨组403和404。由于轨组500描述单个源视频400的空间分解,因此将track_group_id设置为source_ID值。由于将该单个源视频分割成不同的子图片轨集合,因此在该单个轨组中定义两个 spatial_set_ids以识别这些不同的子图片轨集合。
图6示出轨组中的空间关系描述的使用的另一示例。
媒体文件描述单个视频600的质量方面的两个替代版本。各替代方案被分割成4个子图片轨602和603。第一子图片轨集合(具有ID=11~14)以低质量 602可用,例如在HEVC中编码,在具有ID=21~24的轨中Qp=32。第二子图片轨集合603以更高质量可用,例如在具有ID=21~24的轨中Qp=20。定义两个轨组,其中一个轨组针对各质量级别。这样得到与图4所示的先前示例(2/3 开销)类似的轨组。可以应用与图5的示例相同的优化。
图7示出用以描述单个视频的不同分辨率级别700和701的相同源的轨组中的空间关系描述的另一使用示例。
各替代方案被分割成4个子图片轨703和704。4K分辨率级别包含具有 ID=11~14的4个轨,而例如在HD中,第二分辨率级别包含具有ID=21~24的4 个子图片轨704。对于各分辨率级别,利用空间关系描述参数来声明轨组(705 和706)。
在该示例中,仅1/3的参数被复制。各轨组可以使用track_group_id来唯一地标识。可以通过如图8所示定义具有两个子集的组列表框中的单个轨组 800来使轨组描述更加紧凑了25%。
由于轨组从内容方面描述相同视频源的空间分解,因此可以将 track_group_id设置为source_ID值。
这样在组列表框中得到单个轨组定义。由于该单个源视频被分割成不同的子图片轨集合705和706,因此在该单个轨组800中定义两个spatial_set_id以识别子图片轨的集合。与先前示例的不同之处是各空间集合除了定义其唯一标识符之外,还定义其自身的total_width和total_height。
图9示出描述以不同质量级别编码的单个视频源的媒体文件900。
首先,将视频分割成3×3个子图片。中央的子图片是以高质量编码的,并且周围的子图片各自是以两个质量级别编码的。
这允许在保持中央部分处于高质量(例如,关注区域)的同时,在质量上进行调整。这样得到具有一个子图片轨的两个子图片轨空间集合,其中一个子图片轨空间集合是针对作为这两个空间集合的一部分的具有ID=15的关注区域的。具有ID=11~19的轨是以高质量编码的。具有ID=21~29的轨是以低质量编码的。
再次地,可以定义两个轨组,各轨组提供轨组标识符、源标识符和空间集合标识符加上源视频的total_width和total_height。具有ID=15的轨在是两个轨组中共享的轨。值得一提的是,使用样本分组“srd”来提供各轨的位置和大小。共有轨(ID=15)包含两个“srd”轨组框“trgr”,其它轨包含在轨组框上:具有ID=11~14和16~19的轨包含具有ID=100的“srd”轨组。具有ID=21~24和 16~29的轨组包含具有ID=200的“srd”轨组。如图10所示,该描述901和902可以在GroupList(组列表)框中优化为单个轨组1000。
图11示出具有描述单个视频的媒体文件1100的另一示例。该视频被分割成两个子图片集合。
针对分割级别2分解级别定义两个轨组1101和1102。尽管轨组1101提供源视频中的子图片轨的空间关系,但轨组1102从相同的子图片轨集合(具有 ID=111的轨组)描述该源视频1110的部分重建1120(例如,具有ID 26、27、30 和31的轨)的空间关系。该轨组引入如新的source_id值这样的新的源。 spatial_set_id表示其提供与组1101中相同的子图片轨集合。这里仅使用子图片轨的子集。具有ID 26、27、30和31的轨是两个组的一部分:这两个组必须在不同的source_id中定义不同的位置和大小,即参考。为此,位置和大小参数的各组合必须与track_group_id相关联(在1130中)。在上述示例中,可以为track_group_id或source_id。这是利用 SampleToGroupBox::grouping_type_parameter进行的。定义了与轨组数量一样多的grouping_type“srd”的SampleToGroupBox,因此SampleGroupDescriptionBox中存在与轨组数量一样多的grouping_type“srd”的条目。类型“srd”的各SampleToGroup映射到相应“sgpd”中的条目,并且在给定SampleToGroupBox中,grouping_type_parameter提供(x,y,w,h)和轨组之间的映射。例如,具有ID=26的轨在具有track_group_id=11的组中具有x,y,w,h 参数,而在具有的track_group_id=111组中具有x_prime、y_prime、w_prime、 h_prime。
图12示出代替亮度样本单位而是用标准化坐标表示空间关系描述参数的“srd”轨组的示例。
将与图4所示相同的轨组连同具有track_group_id=300的第三轨组1200一起呈现1201和1202在文件中,该第三轨组1200允许产生完全覆盖具有 source_id=2的新源的部分重建。部分重建的轨位置在这里用标准化坐标表示:在“srd”框中表示的“w”和“h”与在object_width和object_height中用像素表示的“w”和“h”不相同。在这种情况下,标准化的比是轨头部中的“w”的值与 track_width之间以及h与track_height之间的(四舍五入)比。这些比应相等。通过将比与在轨组1200中声明的标准化的total_width和total_height相乘来分别推断出组的以亮度样本为单位的total_width值或total_height值。在图12所示的示例中,部分重建1204还组合具有(来自两个不同的分割级别的)不同的空间形状但(在空间采样方面)具有相同的空间分辨率的轨。
图13示出具有track_group_id=300的轨组1300也用标准化坐标(如图12所示)来表示。在该示例中,第三轨组1300使用与两个其它轨组相同的源。
这表示应在与源相同的参考(相同的原点、相同的尺寸)进行渲染。然而,使用partial_reconstruction标志1310等于1来表示轨组仅包含源的子部分:仅部分渲染源。该附加参数是媒体播放器的指示。该附加参数可以是形状的文本描述,例如,“矩形”、“正方形”、“三角形”等。
在图4~13所示的示例中,x对应于object_x,y对应于object_y,并且w和h 分别对应于来自SpatialRelationshipGroupEntry的object_width和object_height。
在替代实施例中,区分两个类型的空间关系描述:描述性和规定性。各类型的空间关系描述具有可用在track_grouping_type中的保留唯一四字符代码。具有不同的track_grouping_type允许描述来自原始源(描述性)或空间复合 (规定性)的空间关系。进行该区分允许对复合进行更轻松的空间关系描述,其中由于复合可能导致来自原始源视频的不同视频,因此可能不再需要 source_id参数。
在另一实施例中,用于空间关系描述的轨组不包含spatial_set_id。在本实施例中,spatial_set_id值与track_group_id值相同。在准备基于区块或关注区域流传输(例如DASH)的内容时,可以在流传输清单(例如,具有SRD描述符的DASH媒体呈现描述)中或者在会话描述协议文件中暴露这些空间关系, spatial_set_id被设置为track_group_id的值。同样,在轨属性为动态并且利用具有grouping_type=“srd”的样本组来描述时,grouping_type参数使用该 track_group_id。
在另一实施例中,SpatialRelationGroupEntry可以不包含子图片轨的大小 (w,h),而是仅包含其位置(x和y)。在这种情况下,应考虑轨头部中的轨宽度和高度。在这种情况下,坐标应被视为用亮度样本单位而不是任意或标准化单位表示。
也可以在“trgr”框中或者可替代地在组列表框(“grpl”)中描述 SpatialRelationshipDescriptionGroupEntry(空间关系描述组条目)和“srd”轨。在“srd”轨组为静态的情况下,可以将“srd”轨组和 SpatialRelationshipGroupEntry“srd”这两者分别合并为GroupList Box(组列表框)的一个条目中的轨属性。在“srd”轨组为动态的情况下,仅来自轨组的参数移动到GroupList Box中的一个条目,而SpatialDescriptionGroupEntry保持在子图片轨中。
根据第三实施例,除了文件级别Meta Box(元框)(“meta”)之外,还可以在片段级别Meta Box(“meta”)中定义组列表框(“grpl”),即可以沿着时间跨 ISOBMFF片段重新定义EntityToGroupBox。
在(“moof”框下的)片段中定义的EntityToGroupBox取代先前定义的具有相同的grouping_type和相同的group_id的任何EntityToGroupBox。 EntityToGroupBox还使在所有轨中都具有相同的grouping_type且 track_group_id等于group_id的所有先前轨组定义无效。
通过在片段中定义EntityToGroupBox,可以进行具有给定grouping_type 和group_id的轨组(包括公共属性)的定义的完全重置,其结果是必须针对组成该轨组的各轨在片段级别重新定义与属于该更新后的轨组的轨相关联的所有属性。
为了允许此,提出了通过如下授权片段级别的轨组定义来扩展轨组:
Box Type:‘trgr′
Container:TrackBox(′trak′)or TrackFragmentBox(′traf′)
Mandatory:No
Quantity:Zero or one
aligned(8)class TrackGroupBox extends Box(′trgr′){
}
其中:该框包含描述轨片段正属于的轨组集合的TrackGroupTypeBox的集合。
如前面实施例那样定义TrackGroupTypeBox。
这对于按片段粒度随着时间更新与轨组内的轨相关联的参数是有用的。这使用如前面所述的样本分组机制来提供(“track”框中的)轨级别的静态定义和样本级别的完全动态之间的参数的中间粒度。
在TrackFragmentBox(轨片段框)(“traf”)中定义该TrackGroupBox(轨组框)(“trgr”)时,其内容(即,TrackGroupTypeBox的集合)取代先前片段中或相应TrackBox(轨框)(“trak”)(即,具有相同track_ID)中与该轨相关联的轨组的所有指示。如果在TrackFragmentBox(“traf”)中容器TrackGroupBox(“trgr”)为空,则片段不属于任何组。如果在TrackFragmentBox(“traf”)中未定义 TrackGroupBox(“trgr”),则“moov”框中与该轨相关联的轨组定义(即,在关联“trak”框中定义的“trgr”框)在存在的情况下适用。
在TrackFragmentBox(“traf”)中定义的TrackGroupBox(“trgr”)使得轨组的指示针对给定轨片段有效。轨片段中的Track Group Box(“trgr”)的范围局限于包含轨片段以应对轨模式并寻求一些片段可能丢失或未被客户端请求的管理。在这样的情况下,客户端必须不依赖于仅在先前片段中定义的信息。
这使得能够沿着时间相对于轨组添加或删除轨。
作为替代,如以上定义的TrackGroupBox(“trgr”)也可以与ComponentToGroupBox组合,以使轨属于的组集合以及可能的与给定组内的轨相关联的参数沿着时间变化。同样,在TrackFragmentBox(“traf”)中定义 TrackGroupBox框(“trgr”)时,其内容(即,TrackGroupTypeBox的集合)取代由 component_id等于轨片段的track_ID的任何 ComponentInComponentToGroupBox定义的所有信息。
根据第四实施例,可以在先前定义的框EntityToGroupBox、 TrackGroupTypeBox、ComponentToGroupBox和 ComponentInComponentToGroupBox中的任一个中定义一个或多个附加标志,以表示组的成员数量和/或组所共享的属性和/或与组内的实体或组件相关联的属性沿着时间是静态还是动态的。该一个或多个标志允许在应准备进一步解析轨片段中的子级别轨组或样本分组框(例如,CompactSampleToGroupBox 或SampleToGroup、以及SampleGroupDescriptionBox)以沿着时间确定所有现有的组和关联属性的情况下、或者在呈现的开始时静态地定义所有的组相关信息的情况下,用信号通知客户端解析器。
例如,EntityToGroupBox或ComponentToGroupBox信号中的1位标志(例如,static_grouping_flag)在设置为1时,表示组件组或实体在整个多媒体呈现持续时间内是静态的,并且在设置为0时,组件组或实体可以在轨片段级别 (例如,在片段级别使用轨分组机制或样本分组)改变。
在另一示例中,TrackGroupTypeBox或 ComponentInComponentToGroupBox中的1位标志(例如,static_properties_flag) 在设置为1时,表示在嵌入框中定义的属性(分别为TrackGroupTypeBox或 ComponentInComponentToGroupBox)(在被定义在文件级别框(例如,“moov”、“meta”框)中的情况下)在呈现的整个持续时间内、或者(在被定义在片段级别框(例如,“moof”、“meta”或“traf”框)中的情况下)在片段的持续时间内保持相同,并且在设置为0时,表示属性可以使用轨分组或片段级别的样本分组机制改变。
在先前示例的替代例中,可以使用2位标志(例如, dynamic_properties_flag)来精确地判断动态性是使用片段级别的轨分组机制还是样本分组机制或者可能使用这两者来实现的:
-dynamic_properties_flag=0,这意味着无动态性;
-dynamic_properties_flag=1,这意味着使用片段级别的轨分组的片段粒度的动态性;
-dynamic_properties_flag=2,这意味着使用样本分组机制的样本粒度的动态性;
-dynamic_properties_flag=3,这意味着使用轨分组和/或样本分组机制的可能在片段和样本粒度这两者的动态性。
同时使用上述标志可以允许如下定义动态性的层级结构:
-EntityToGroupBox或ComponentToGroupBox中的标志可以表示其在轨片段级别是否存在动态性,以及
-片段级别的TrackGroupTypeBox中的标志可以表示其在给定轨片段内在样本级别是否存在动态性。
在替代实施例中,可以使用上述的1位或2位标志的多个实例来单独表示以下信息的动态性:
-组成组的组件的列表是动态还是静态的;
-与组相关联的公共属性的集合是动态还是静态的;
-与组中的给定组件相关联的属性集合是动态还是静态的。
在替代例中,可选地,可以在先前定义的框EntityToGroupBox、TrackGroupTypeBox、ComponentToGroupBox和 ComponentInComponentToGroupBox中的任一个中定义另一参数(例如, static_group_id),以表示该框的内容与具有相同的grouping_type或 track_group_type和group_id或track_group_id的同一框的先前实例相比是否已确实改变。对于上述框中的各框,每当分别利用相同的group_id或 track_group_id以及grouping_type或track_grouping_type对来定义上述框的新实例时,该static_group_id增大,并且该框与先前实例相比定义组件的不同属性或列表。该参数static_group_id表示版本编号的种类。在框内容(即,分组组件和/或属性的集合)与先前定义完全相同的情况下,该框可以重复使用先前的static_group_id参数值。该参数允许客户端解析器在解析整个框之前知晓是否有东西发生了改变。
图3是用于实现本发明的一个或多个实施例的计算装置300的示意框图。计算装置300可以是诸如微计算机、工作站或轻型便携式装置等的装置。计算装置300包括通信总线,其中该通信总线连接至以下组件:
-诸如微处理器等的中央处理单元(CPU)301;
-随机存取存储器(RAM)302以及寄存器,其中所述随机存取存储器 (RAM)302用于存储本发明实施例的方法的可执行代码,这些寄存器被配置为记录实现用于读取和写入清单以及/或者对视频进行编码以及/或者读取或生成采用给定文件格式的数据的方法所需的变量和参数,其存储器容量例如可以利用连接至扩展端口的可选RAM来扩展;
-只读存储器(ROM)303,用于存储实现本发明实施例所用的计算机程序;
-网络接口304,其通常连接至发送或接收要处理的数字数据所经由的通信网络。网络接口304可以是单个网络接口、或者包括不同的网络接口的集合(例如,有线接口和无线接口或者不同种类的有线接口或无线接口)。在CPU 301中运行的软件应用的控制下,将数据写入网络接口以供发送或者从网络接口读取数据以供接收;
-用户接口(UI)305,用于从用户接收输入或向用户显示信息;
-硬盘(HD)306;
-I/O模块307,用于相对于诸如视频源或显示器等的外部装置进行数据的接收/发送。
可执行代码可以存储在只读存储器303中、硬盘306上或者例如盘等的可移除数字介质上。根据变形例,程序的可执行代码可以在执行之前利用通信网络经由网络接口304来接收,从而存储在通信装置300的诸如硬盘306等的存储部件其中之一内。
中央处理单元301被配置为控制和引导根据本发明实施例的程序的指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件其中之一内。在通电之后,CPU 301例如能够在从程序ROM 303或硬盘(HD)306加载了来自主RAM存储器302的与软件应用有关的指令之后,执行这些指令。这种软件应用在由CPU 301执行的情况下,使得进行上述附图所示的流程图的各步骤。
在本实施例中,该设备是使用软件来实现本发明的可编程设备。然而,可替代地,本发明可以以硬件形式(例如,以专用集成电路或ASIC的形式)来实现。
尽管以上已经参考具体实施例说明了本发明,但本发明不限于这些具体实施例,并且本领域技术人员将明白存在于本发明的范围内的变形。
例如,本发明可以嵌入用作TV或多媒体显示器的远程控制器的如照相机、智能电话、头戴式显示器或平板终端那样的装置中,以例如放大到特定关注区域上。还可以从相同装置使用本发明,以通过选择特定关注区域来获得多媒体呈现的个性化浏览体验。用户根据这些装置和方法的另一用途是与其它所连接的装置共享他所喜好的视频中的一些选中的子部分。本发明还可用在智能电话或平板终端中以监视在处于监控下的建筑物的特定区域中发生了什么,只要监控照相机支持根据本发明的用于提供数据的方法即可。
在参考仅以示例方式给出且并不意图限制本发明范围的前述例示实施例的情况下,许多其它修改和改变对本领域普通技术人员是不言自明的,其中所述范围仅由所附权利要求书来确定。特别地,在适当情况下,可以互换来自不同实施例的不同特征。

Claims (25)

1.一种用于基于定时媒体数据来生成一个或多个媒体文件的方法,所述定时媒体数据包括样本,所述方法包括:
获得包括所述样本的所述定时媒体数据;
创建各自包括所获得的样本至少之一的至少一部分的轨;
生成与所创建的轨相关联的描述性元数据;以及
基于所述轨和所述描述性元数据来生成所述一个或多个媒体文件,
其中,所述描述性元数据包括至少一个TrackGroupBox,所述至少一个TrackGroupBox包括至少一个轨组标识符,并且所述至少一个TrackGroupBox通过使用所述至少一个轨组标识符来描述所创建的轨的至少一个组,
其中,所述描述性元数据还包括所创建的轨的多个属性集合,
其中,所述描述性元数据包括包含分组类型参数的SampleToGroupBox,以及所述描述性元数据还包括来自所述多个属性集合的与所创建的轨之一的样本相关联的属性集合,
其中,所述分组类型参数的值等于所述至少一个轨组标识符,以及
其中,相关联的所述属性集合应用于利用所述分组类型参数所识别的轨组内的样本。
2.根据权利要求1所述的方法,其中,所述多个属性集合的至少一部分包括在所述描述性元数据中的SampleGroupDescriptionBox中。
3.根据权利要求1所述的方法,其中,针对各轨生成一个SampleGroupDescriptionBox。
4.根据权利要求1所述的方法,其中,与同一轨组标识符相对应的一个或多个轨同来自所述多个属性集合中的同一属性集合相关联。
5.根据权利要求1所述的方法,其中,所述TrackGroupBox指示与描述用于形成轨组的至少一个标准的语义相关的分组类型。
6.根据权利要求1所述的方法,其中,对所述定时媒体数据进行分区,使得定时样本至少之一包括子样本。
7.根据权利要求6所述的方法,其中,至少一个轨组是包括属于所述组的不同轨的子样本的复合组。
8.根据权利要求1所述的方法,其中,所述TrackGroupBox指示所述组的标识符。
9.根据权利要求8所述的方法,其中,现有轨组的列表和由各组的轨共享的属性是在所述描述性元数据中在动画级别定义的。
10.根据权利要求9所述的方法,其中,对于至少一个轨,在所述描述性元数据中在轨级别定义特定于该轨的其它属性。
11.根据权利要求10所述的方法,其中,动画级别的组定义通过相同的唯一组标识符与处于轨级别的组定义相关联。
12.根据权利要求11所述的方法,其中,特定于一个轨的属性是在现有轨组的列表中直接定义的。
13.根据权利要求10所述的方法,其中,各属性能够取不同的值,以及其中,特定于轨的各属性的值随时间的经过而变化。
14.根据权利要求13所述的方法,其中,特定于所述轨的各属性的值是针对所述轨内的一个或多个样本而定义的。
15.根据权利要求14所述的方法,其中,所述描述性元数据还包括至少一个框,所述至少一个框描述属于同一轨组的轨内的样本,所述至少一个框定义能够随时间的经过而取特定属性的不同可能值。
16.根据权利要求15所述的方法,其中,所述至少一个框指示与描述用于形成样本组的至少一个标准的语义相关联的分组类型。
17.根据权利要求15所述的方法,其中,连续样本的属性所取的值遵循重复模式,并且所述至少一个框定义重复模式本身及其重复。
18.根据权利要求1所述的方法,其中,各属性能够取不同的值,以及其中,所述描述性元数据被分成片段,使得所述至少一个轨组是在片段级别定义的,并且组成轨组的轨集合随时间的经过而变化。
19.根据权利要求1所述的方法,其中,所述TrackGroupBox包括指示所述至少一个轨组的定义是否能够随时间的经过而变化的标志。
20.根据权利要求19所述的方法,其中,所述至少一个轨组的定义包括:由所述组的轨共享的属性、能够取各属性的值、以及/或者组成所述组的轨。
21.一种用于基于定时媒体数据来生成一个或多个媒体文件的装置,所述定时媒体数据包括样本,所述装置被配置为:
获得包括所述样本的所述定时媒体数据;
创建各自包括所获得的样本至少之一的至少一部分的轨;
生成与所创建的轨相关联的描述性元数据;以及
基于所述轨和所述描述性元数据来生成所述一个或多个媒体文件,
其中,所述描述性元数据包括至少一个TrackGroupBox,所述至少一个TrackGroupBox包括至少一个轨组标识符,并且所述至少一个TrackGroupBox通过使用所述至少一个轨组标识符来描述所创建的轨的至少一个组,
其中,所述描述性元数据还包括所创建的轨的多个属性集合,
其中,所述描述性元数据包括包含分组类型参数的SampleToGroupBox,以及所述描述性元数据还包括来自所述多个属性集合的与所创建的轨之一的样本相关联的属性集合,
其中,所述分组类型参数的值等于所述至少一个轨组标识符,以及
其中,相关联的所述属性集合应用于利用所述分组类型参数所识别的轨组内的样本。
22.根据权利要求21所述的装置,其中,各属性能够取不同的值,以及其中,特定于轨的各属性的值随时间的经过而变化。
23.根据权利要求21所述的装置,其中,各属性能够取不同的值,以及其中,所述描述性元数据被分成片段,使得所述至少一个轨组是在片段级别定义的,并且组成轨组的轨集合随时间的经过而变化。
24.根据权利要求21所述的装置,其中,所述TrackGroupBox包括指示所述至少一个轨组的定义是否能够随时间的经过而变化的标志。
25.一种存储有计算机程序的指令的计算机可读存储介质,所述指令用于使处理器实现根据权利要求1所述的方法。
CN201880066437.1A 2017-10-12 2018-10-09 用于生成定时媒体数据的方法、装置和计算机可读存储介质 Active CN111213384B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1716760.2A GB2567625B (en) 2017-10-12 2017-10-12 Method, device, and computer program for generating timed media data
GB1716760.2 2017-10-12
PCT/EP2018/077391 WO2019072795A1 (en) 2017-10-12 2018-10-09 METHOD, DEVICE, AND COMPUTER PROGRAM FOR GENERATING TIMED PARTITIONED MULTIMEDIA DATA

Publications (2)

Publication Number Publication Date
CN111213384A CN111213384A (zh) 2020-05-29
CN111213384B true CN111213384B (zh) 2022-09-23

Family

ID=60419205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880066437.1A Active CN111213384B (zh) 2017-10-12 2018-10-09 用于生成定时媒体数据的方法、装置和计算机可读存储介质

Country Status (7)

Country Link
US (2) US11477542B2 (zh)
EP (2) EP4340375A3 (zh)
JP (1) JP7072645B2 (zh)
KR (1) KR102406887B1 (zh)
CN (1) CN111213384B (zh)
GB (1) GB2567625B (zh)
WO (1) WO2019072795A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
GB2582025B (en) * 2019-03-08 2023-01-04 Canon Kk Method and apparatus for encapsulating groups of images in a file
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
KR20220114088A (ko) * 2019-12-31 2022-08-17 노키아 테크놀로지스 오와이 비디오 인코딩 및 비디오 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 제품
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
GB2596325B (en) * 2020-06-24 2023-04-19 Canon Kk Method and apparatus for encapsulating annotated region in ISOBMFF tracks
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
US20220086385A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Profile, tier, level and general constraints indication in coded video
US11930295B2 (en) * 2020-09-17 2024-03-12 Lemon Inc. Handling of non-VCL NAL units in picture unit construction
US11871143B2 (en) 2020-09-17 2024-01-09 Lemon Inc. Subpicture tracks in coded video
GB2599171A (en) * 2020-09-29 2022-03-30 Canon Kk Method and apparatus for encapsulating video data into a file
WO2022131801A1 (ko) * 2020-12-15 2022-06-23 엘지전자 주식회사 레이어 정보를 포함하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법
US20240040169A1 (en) * 2020-12-21 2024-02-01 Lg Electronics Inc. Media file processing method and device therefor
WO2022148729A1 (en) * 2021-01-06 2022-07-14 Canon Kabushiki Kaisha Method and apparatus for encapsulating uncompressed images and uncompressed video data into a file
US20220345725A1 (en) * 2021-04-15 2022-10-27 Lemon Inc. Level Indicator For Sub-Picture Entity Group
WO2023194816A1 (en) * 2022-04-07 2023-10-12 Nokia Technologies Oy Method and apparatus for tracking group entry information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981563A (zh) * 2008-03-26 2011-02-23 Sri国际公司 结合媒体选择用于显示的相关内容的方法和装置
CN106664446A (zh) * 2014-07-01 2017-05-10 佳能株式会社 用于封装hevc分层媒体数据的方法、设备和计算机程序
GB201704882D0 (en) * 2017-03-27 2017-05-10 Canon Kk Method and apparatus for encoding media data comprising generated content

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5462259B2 (ja) * 2008-07-16 2014-04-02 シズベル インターナショナル エス.アー. トラックおよびトラックサブセットグループ化の方法および装置
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
JP5863254B2 (ja) 2011-02-24 2016-02-16 Necパーソナルコンピュータ株式会社 変換装置、情報配信装置、通信システム、制御方法及びプログラム
CN109587573B (zh) 2013-01-18 2022-03-18 佳能株式会社 生成设备和方法、显示设备和方法以及存储介质
GB2546027B (en) 2013-04-09 2017-12-20 Canon Kk Method, device, and computer program for encapsulating partioned timed media data
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
GB2519746B (en) 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
EP3092772B1 (en) * 2014-01-07 2019-07-31 Nokia Technologies Oy Media encapsulating and decapsulating
EP3223526B1 (en) 2014-11-20 2019-01-30 Panasonic Intellectual Property Corporation of America Transmission method, reception method, transmission device, and reception device
EP3234775A4 (en) * 2014-12-19 2018-11-07 Nokia Technologies Oy Media encapsulating and decapsulating
US9922680B2 (en) * 2015-02-10 2018-03-20 Nokia Technologies Oy Method, an apparatus and a computer program product for processing image sequence tracks
US9897450B2 (en) * 2015-05-20 2018-02-20 Nokia Technologies Oy Method and apparatus to obtain differential location information
WO2016204481A1 (ko) 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
US11206386B2 (en) * 2016-01-13 2021-12-21 Sony Corporation Information processing apparatus and information processing method
EP3448044B1 (en) * 2016-05-20 2023-05-10 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
US10602239B2 (en) * 2017-03-23 2020-03-24 Mediatek Inc. Method and apparatus for track composition
US10778993B2 (en) * 2017-06-23 2020-09-15 Mediatek Inc. Methods and apparatus for deriving composite tracks with track grouping
US10893256B2 (en) * 2017-06-26 2021-01-12 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
US11082719B2 (en) * 2017-07-03 2021-08-03 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
US11178377B2 (en) * 2017-07-12 2021-11-16 Mediatek Singapore Pte. Ltd. Methods and apparatus for spherical region presentation
EP3687178B1 (en) * 2017-09-26 2023-03-15 LG Electronics Inc. Overlay processing method in 360 video system, and device thereof
US10944977B2 (en) * 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
US11146802B2 (en) * 2018-04-12 2021-10-12 Mediatek Singapore Pte. Ltd. Methods and apparatus for providing two-dimensional spatial relationships

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981563A (zh) * 2008-03-26 2011-02-23 Sri国际公司 结合媒体选择用于显示的相关内容的方法和装置
CN106664446A (zh) * 2014-07-01 2017-05-10 佳能株式会社 用于封装hevc分层媒体数据的方法、设备和计算机程序
GB201704882D0 (en) * 2017-03-27 2017-05-10 Canon Kk Method and apparatus for encoding media data comprising generated content

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yongsheng Liang ; Xu Chen ; Wei Liu ; Jihong Zhang.Progressive Description of Video Streaming Media Based on Subjective Perception.《2011 First International Conference on Instrumentation, Measurement, Computer, Communication and Control》.2012, *
基于对象-关系模型的多媒体数据模型设计;杨开英等;《武汉理工大学学报(信息与管理工程版)》;20050228(第01期);全文 *

Also Published As

Publication number Publication date
US11805304B2 (en) 2023-10-31
EP3695611A1 (en) 2020-08-19
GB201716760D0 (en) 2017-11-29
US20200245041A1 (en) 2020-07-30
KR102406887B1 (ko) 2022-06-10
KR20200051718A (ko) 2020-05-13
CN111213384A (zh) 2020-05-29
JP2020537376A (ja) 2020-12-17
EP4340375A3 (en) 2024-06-12
US11477542B2 (en) 2022-10-18
GB2567625B (en) 2020-07-15
GB2567625A (en) 2019-04-24
JP7072645B2 (ja) 2022-05-20
US20220408166A1 (en) 2022-12-22
WO2019072795A1 (en) 2019-04-18
EP4340375A2 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
CN111213384B (zh) 用于生成定时媒体数据的方法、装置和计算机可读存储介质
US11700434B2 (en) Method and apparatus for generating media data
US11743558B2 (en) Method, device, and computer program for encapsulating and parsing timed media data
CN105556981B (zh) 使用针对编码依赖性的通用信号通知来封装分区定时媒体数据的方法、装置和计算机程序
CN109257624B (zh) 用于生成以及处理媒体文件的方法和设备及存储介质
CN109618235B (zh) 生成设备和方法、处理设备和方法以及存储介质
CN109982154B (zh) 用于再现空间区域的图像的方法、设备及存储介质
CN105900401B (zh) 用于对层间依赖性进行编码的方法、装置和计算机程序
CN110800311B (zh) 用于传输媒体内容的方法、装置和计算机程序
GB2564731A (en) Description of image composition with HEVC still image file format

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