CN113574900B - 用于对媒体内容中的实体进行分组的方法和装置 - Google Patents

用于对媒体内容中的实体进行分组的方法和装置 Download PDF

Info

Publication number
CN113574900B
CN113574900B CN202080021113.3A CN202080021113A CN113574900B CN 113574900 B CN113574900 B CN 113574900B CN 202080021113 A CN202080021113 A CN 202080021113A CN 113574900 B CN113574900 B CN 113574900B
Authority
CN
China
Prior art keywords
media
representation
entity
adaptation
packet
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
CN202080021113.3A
Other languages
English (en)
Other versions
CN113574900A (zh
Inventor
M·汉努克塞拉
S·S·梅特
E·阿克苏
K·坎玛奇·斯雷德哈
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 CN113574900A publication Critical patent/CN113574900A/zh
Application granted granted Critical
Publication of CN113574900B publication Critical patent/CN113574900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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/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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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
    • 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/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/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

Abstract

方法、装置和计算机程序产品创建具有第一表示集和第二表示集的媒体呈现描述。第一表示集属于第一适配集,并且第二表示集属于第二适配集,以及第一表示集与第一媒体实体相关联,并且第二表示集与第二媒体实体相关联。方法、装置和计算机程序产品在媒体呈现描述中对适配和表示分组描述符进行编码。适配和表示分组描述符基于分组类型,将第一表示集与第二表示集分组。

Description

用于对媒体内容中的实体进行分组的方法和装置
技术领域
一些实施例整体涉及用于对媒体内容中的实体进行分组的方法、装置和计算机程序产品。
背景技术
虚拟现实视听内容(诸如360°视频和其他类似内容)在喜欢或以其他方式享受可从这样的内容获得的沉浸式观看体验的观众和内容创作者中变得越来越流行。虚拟现实内容的流行推动了观众对提供高质量观看体验的流媒体虚拟现实内容的需求。
沉浸式多媒体的消费,诸如针对虚拟现实和其他应用的全向内容消费,对于客户端来说比二维内容的消费更复杂。复杂性增大归因于客户端在消费沉浸式多媒体时可以获得更高的自由度。虽然增强了用户体验,但是更高的自由度导致不确定性增加。
全向媒体应用格式(OMAF)版本1(v1)标准定义了具有三个自由度的内容的全向流传输。OMAF定义了支持全向媒体访问和交付的格式。媒体组件被分布在不同的比特流之间(例如,多个分辨率、比特率/质量)来为应用提供在不同的比特流之间进行选择的自由度,以解决各种系统挑战,诸如网络带宽、用户交互的时间上和空间上的随机访问。
发明内容
根据一些实施例提供了方法、装置和计算机程序产品来促进对媒体内容中的实体进行分组。
在一个示例实施例中,提供了方法,方法包括利用第一表示集和第二表示集来创建媒体呈现描述。第一表示集属于第一适配集,并且第二表示集属于第二适配集,并且其中第一表示集与第一媒体实体相关联,并且第二表示集与第二媒体实体相关联。方法还包括将适配和表示分组描述符进行编码在媒体呈现描述中。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。
在这样的方法的一些实现方式中,方法还包括将第一媒体实体和第二媒体实体编码在容器文件中。在一些实施例中,方法还包括基于分组类型将第一实体分组进行编码在容器文件中。第一实体分组基于由分组类型定义的特性将第一媒体实体和第二媒体实体分组。在一些实施例中,方法还包括引起容器文件的存储。在一些实施例中,适配和表示分组描述符存在于时段级别。在一些实施例中,适配和表示分组描述符存在于媒体呈现描述级别。
在另一示例实施例中,提供了方法,方法包括:从容器文件的媒体呈现描述解析第一表示集和第二表示集,所述第一表示集属于容器文件的第一适配集,所述第二表示集属于容器文件的第二适配集。方法还包括:从媒体呈现描述解析适配和表示分组描述符。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。方法还包括选择第一表示集和第二表示集。方法还包括:使第一表示集和第二表示集基于第一实体分组或适配和表示分组描述符被播放。
在另一示例实施例中,提供了装置,装置包括处理电路和至少一个存储器,至少一个存储器包括用于一个或多个程序的计算机程序代码,其中至少一个存储器和计算机程序代码被配置为与处理电路一起使装置至少:通过第一表示集和第二表示集来创建媒体呈现描述。第一表示集属于第一适配集,第二表示集属于第二适配集,并且第一表示集与第一媒体实体相关联,第二表示集与第二媒体实体相关联。计算机程序代码还被配置为与至少一个处理器一起使装置将适配和表示分组描述符编码在媒体呈现描述中。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。
在这样的装置的一些实现方式中,计算机程序代码还被配置为与至少一个处理器一起使装置将第一媒体实体和第二媒体实体编码在容器文件中。在一些实施例中,计算机程序代码还被配置为与至少一个处理器一起使装置基于分组类型将第一实体分组编码在容器文件中。第一实体分组基于由分组类型定义的特性将第一媒体实体和第二媒体实体分组。在一些实施例中,计算机程序代码还被配置为与至少一个处理器一起使装置引起容器文件的存储。在一些实施例中,适配和表示分组描述符存在于时段级别。在一些实施例中,适配和表示分组描述符存在于媒体呈现描述级别。
在另一示例实施例中提供了一种装置,装置包括处理电路和至少一个存储器,至少一个存储器包括用于一个或多个程序的计算机程序代码,其中至少一个存储器和计算机程序代码被配置为与处理电路一起使装置至少从容器文件的媒体呈现描述中解析第一表示集和第二表示集,所述第一表示集属于容器文件的第一适配集,所述第二表示集属于容器文件的第二适配集。计算机程序代码还被配置为与至少一个处理器一起使装置从媒体呈现描述中解析适配和表示分组描述符。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。计算机程序代码还被配置为与至少一个处理器一起使装置选择第一表示集和第二表示集。计算机程序代码还被配置为与至少一个处理器一起使装置使第一表示集和第二表示集基于第一实体分组或适配和表示分组描述符被播放。
在另一示例实施例中,提供了一种装置,装置包括用于通过第一表示集和第二表示集来创建媒体呈现描述的部件。第一表示集属于第一适配集,第二表示集属于第二适配集,并且第一表示集与第一媒体实体相关联,第二表示集与第二媒体实体相关联。装置还包括用于将适配和表示分组描述符编码在媒体呈现描述中的部件。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。
在这样的装置的一些实现方式中,装置还包括用于将第一媒体实体和第二媒体实体编码在容器文件中的部件。在一些实施例中,装置还包括用于基于分组类型将第一实体分组编码在容器文件中的部件。第一实体分组基于由分组类型定义的特性将第一媒体实体和第二媒体实体分组。在一些实施例中,装置还包括用于引起容器文件的存储的部件。在一些实施例中,适配和表示分组描述符存在于时段级别。在一些实施例中,适配和表示分组描述符存在于媒体呈现描述级别。
在另一示例实施例中,提供了一种装置,装置包括用于从容器文件的媒体呈现描述中解析第一表示集和第二表示集的部件,所述第一表示集属于容器文件的第一适配集,所述第二表示集属于容器文件的第二适配集。装置还包括用于从媒体呈现描述中解析适配和表示分组描述符的部件。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。装置还包括用于选择第一表示集和第二表示集的部件。装置还包括用于使第一表示集和第二表示集基于第一实体分组或适配和表示分组描述符被播放的部件。
在另一示例实施例中,提供了计算机程序产品,计算机程序产品包括其中存储有计算机可执行程序代码指令的至少一个非暂时性计算机可读存储介质,其中计算机可执行程序代码指令包括在执行时被配置为通过第一表示集和第二表示集来创建媒体呈现描述的程序代码指令。第一表示集属于第一适配集,第二表示集属于第二适配集,并且第一表示集与第一媒体实体相关联,第二表示集与第二媒体实体相关联。计算机可执行程序代码指令包括被进一步配置为在执行时,将适配和表示分组描述符编码在媒体呈现描述中的程序代码指令。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。
在这样的计算机程序产品的一些实现方式中,计算机可执行程序代码指令包括进一步被配置为在执行时,将第一媒体实体和第二媒体实体编码在容器文件中的程序代码指令。在一些实施例中,计算机可执行程序代码指令包括进一步被配置为在执行时,基于分组类型将第一实体分组编码在容器文件中的程序代码指令。第一实体分组基于由分组类型定义的特性将第一媒体实体和第二媒体实体分组。在一些实施例中,计算机可执行程序代码指令包括进一步被配置为在执行时,引起容器文件的存储的程序代码指令。在一些实施例中,装置还包括用于引起容器文件的存储的部件。在一些实施例中,适配和表示分组描述符存在于时段级别。在一些实施例中,适配和表示分组描述符存在于媒体呈现描述级别。
在另一示例实施例中,提供了计算机程序产品,计算机程序产品包括其中存储有计算机可执行程序代码指令的非暂时性计算机可读存储介质,其中计算机可执行程序代码指令包括在执行时,被配置为从容器文件的媒体呈现描述中解析第一表示集和第二表示集的程序代码指令,所述第一表示集属于容器文件的第一适配集,所述第二表示集属于容器文件的第二适配集。计算机可执行程序代码指令包括进一步被配置为在执行时,从媒体呈现描述中解析适配和表示分组描述符的程序代码指令。适配和表示分组描述符基于分组类型将第一表示集与第二表示集分组。计算机可执行程序代码指令包括进一步被配置为在执行时,选择第一表示集和第二表示集的程序代码指令。计算机可执行程序代码指令包括进一步被配置为在执行时,使第一表示集和第二表示集基于第一实体分组或适配和表示分组描述符被播放的程序代码指令。
附图说明
已如此概括地描述了本公开的某些示例实施例,下文将参照附图,附图不一定按比例绘制,并且其中:
图1A和图1B是结合描述本文包含的一些示例实施例而参照的用户的视场在全向媒体内容回放期间旋转的实例的图形表示;
图2是根据本发明的一个示例实施例的可以具体配置的装置的框图;
图3是图示了根据本发明的一个示例实施例的诸如由图2的装置执行的操作集的流程图;以及
图4是图示了根据本发明的一个示例实施例的例如由图2的装置执行的操作集的流程图。
具体实施方式
下文将参照附图来更全面地描述一些实施例,其中示出了本发明的一些但不是全部的实施例。实际上,本发明的各种实施例可以以许多不同的形式实施并且不应被解释为限于本文中阐述的实施例;相反,提供这些实施例使得本公开将满足适用的法律要求。相同的附图标记始终指代相同的元素。如本文中所使用的,术语“数据”、“内容”、“信息”和类似术语可以互换使用来指代能够根据本发明的实施例被发送、接收和/或存储的数据。因此,任何此类术语的使用不应被认为是限制本发明的实施例的精神和范围。
附加地,如本文所使用的,术语“电路系统”指代(a)纯硬件电路实现方式(例如,模拟电路和/或数字电路中的实现方式);(b)电路和(多个)计算机程序产品的组合,计算机程序产品包括在一个或多个计算机可读存储器上存储的软件和/或固件指令,软件和/或固件指令一起工作而使装置执行本文所述的一个或多个功能;以及(c)即使软件或固件在物理上不存在,也需要软件或固件进行操作的电路,诸如例如(多个)微处理器或(多个)微处理器的一部分。“电路系统”的该定义适用于该术语在本文中(包括在任何权利要求中)的所有使用。作为另一示例,如本文所使用的,术语“电路系统”还包括具有一个或多个处理器和/或其(多个)部分以及随附软件和/或固件的实现方式。作为另一示例,本文中使用的术语“电路系统”还包括例如用于移动电话的基带集成电路或应用处理器集成电路或者服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。
如本文所定义的,指代非暂时性物理存储介质(例如,易失性或非易失性存储器设备)的“计算机可读存储介质”可以与指代电磁信号的“计算机可读传输介质”区分开。
如本文中所使用的,术语“全向内容”(omnidirectional content)指代与演示内容的设备的视场相比,具有更大空间范围的媒体内容。全向内容可以例如在水平维度上基本覆盖360度并且在竖直维度上基本覆盖180度,但是全向也可以指代在水平方向上覆盖小于360度的视场和/或在竖直方向上覆盖180度视场的内容。
如本文所使用的,术语“观察点或视点”(observation point or viewpoint)指三维空间中用于虚拟现实音频/视频采集或回放的体积。视点是围绕用于全向音频/视频采集的设备或装备的中心点以及观察者头部在音频和视频轨道所处的三维空间中的位置的轨迹,诸如圆、区域或体积。在某些情况下,除了头部旋转之外,观察者的头部位置还被跟踪并且渲染针对头部移动来调整,并且然后视点可以被理解为观察者头部的初始或参考位置。在利用DASH(基于HTTP的动态适配流媒体)的实现方式中,每个观察点可以通过视点属性描述符而被定义为视点。定义可以被存储在ISOBMFF(国际标准组织(ISO)基本媒体文件格式(ISO/IEC 14496-12))或者OMAF类型的文件格式中。除了DASH之外,交付还可以是HLS(HTTP实时流媒体)、RTSP/RTP(实时流媒体协议/实时传输协议)流媒体。
如本文所使用的,术语“视点组”(viewpoint group)指空间相关或逻辑相关的一个或多个视点。视点组中的视点可以基于每个视点相对于组的指定原点定义的相对位置来定义。每个视点组还可以包括默认视点,默认视点反映了在不选择视点的情况下,当用户开始消费视点组中的视听内容用于回放时的默认回放起点。默认视点可以与指定原点相同。在一些实施例中,一个视点可以被包括在多个视点组中。
如本文所使用的,术语“空间相关视点组”(spatially related viewpointgroup)指在它们之间具有空间关系的内容的视点。例如,VR相机在同一篮球场的不同位置处捕获的内容或者在舞台上不同位置捕获的音乐会。
如本文所使用的,术语“逻辑相关视点组”(logically related viewpointgroup)指没有明确空间关系、但在逻辑上相关的相关视点。逻辑相关视点的相对位置基于创作意图来描述。例如,作为逻辑相关视点组成员的两个视点可以对应于来自表演区和更衣室的内容。另一示例可以是来自两支竞争球队更衣室的两个视点,两个视点形成逻辑相关视点组,以允许用户在两支球队之间穿梭来查看球员的反应。
如本文所使用的,术语“静态视点”(static viewpoint)指在一个虚拟现实音频/视频采集和回放会话期间保持静止的视点。例如,静态视点可以对应于由固定相机执行的虚拟现实音频/视频采集。
如本文所使用的,术语“动态视点”(dynamic viewpoint)指在一个虚拟现实音频/视频采集和回放会话期间不保持静止的视点。例如,动态视点可以对应于通过在轨道上移动相机或者在飞行无人机上移动相机而执行的虚拟现实音频/视频采集。
如本文所使用的,术语“查看设置”(viewing setup)指一个或多个视点和查看取向的设置。在只有一个视点可用的演示的上下文中,不需要为查看设置明确指示或总结视点。如果演示具有多个视点可用,则视点将基于一个或多个视点组来设置,并且在查看设置中指示每个视点组中视点之间的空间或逻辑关系。
根据一些实施例提供了方法、装置和计算机程序产品来促进媒体内容中的实体分组。方法、装置和计算机程序产品可以结合多种视频格式和/或各种视频多媒体文件格式来使用,视频格式包括高效视频编码标准(HEVC或H.265/HEVC)、高级视频编码标准(AVC或H.264/AVC)、即将推出的通用视频编码标准(VVC或H.266/VVC),视频多媒体文件格式包括国际标准组织(ISO)基本媒体文件格式(ISO/IEC 14496-12,可以缩写为ISOBMFF)、运动图像专家组(MPEG)-4文件格式(ISO/IEC 14496-14,也被称为MP4格式)、NAL(网络抽象层)单元结构视频文件格式(ISO/IEC 14496-15)和第三代合作伙伴计划(3GPP文件格式)(3GPP技术规范26.244,也被称为3GP格式)。ISOBMFF是上述所有文件格式这些衍生物的基础。
本公开的一些方面涉及容器文件格式,诸如国际标准组织(ISO)基本媒体文件格式(ISO/IEC 14496-12,可缩写为ISOBMFF)、运动图像专家组(MPEG)-4文件格式(ISO/IEC14496-14,也被称为MP4格式)、NAL(网络抽象层)单元结构化视频文件格式(ISO/IEC14496-15)和第三代合作伙伴计划(3GPP文件格式)(3GPP技术规范26.244,也被称为3GP格式)。结合ISOBMFF或其衍生物描述了示例实施例,然而,本公开不限于ISOBMFF,而是针对本公开的一些实施例可以被部分或全部实现的一个可能基础而给出描述。
ISO基本媒体文件格式中的基本构建块被称为框。每个框具有报头和有效载荷。框报头以字节来表示框的类型和框的大小。框的类型通常由无符号32位整数来标识,被解释为四字符代码(4CC)。框可以包封其他框,并且ISO文件格式指定在特定类型的框内允许哪些框类型。此外,某些框在每个文件中的存在可以是强制性的,而其他框的存在可以是可选的。附加地,对于某些框类型,可能允许在文件中存在多于一个的框。因此,可以考虑使用ISO基本媒体文件格式来指定框的分层结构。
在符合ISO基本媒体文件格式的文件中,媒体数据可以被提供在MediaDataBox(“mdat”)的一个或多个实例中,并且MovieBox('moov')可以被用于包封定时媒体的元数据。在某些情况下,对于可操作的文件,可能需要同时存在“mdat”和“moov”框。“moov”框可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的TrackBox(“trak”)中。每个轨道与处理程序(handler)相关联,处理程序由四字符代码来标识,以指定轨道类型。视频、音频和图像序列轨道可以被统称为媒体轨道,并且它们包含基本媒体流。其他轨道类型包括提示轨道和定时元数据轨道。
轨道包括样本,诸如音频或视频帧。针对视频轨道,媒体样本可以对应于经编码的图片或访问单元。
媒体轨道指根据媒体压缩格式(及其对ISO基本媒体文件格式的封装)被格式化的样本(其也可以被称为媒体样本)。提示轨道指提示样本,包含用于构建通过指定的通信协议进行传输的分组的食谱指令。定时元数据轨道可以指描述所参照的媒体的样本和/或提示样本。
“trak”框在其框的分层结构中包括SampleDescriptionBox,其给出与所使用的编码类型有关的详细信息以及该编码所需的任何初始化信息。SampleDescriptionBox包含条目计数和条目计数所指示的尽可能多的样本条目。样本条目的格式是轨道类型特定的,但衍生自通用类(例如,VisualSampleEntry、AudioSampleEntry)。使用哪个类型的样本条目表单来衍生轨道类型特定的样本条目格式由轨道的媒体处理程序来确定。
轨道参照机制可以被用于将轨道彼此关联。TrackReferenceBox包括(多个)框,每个框提供从包含轨道到其他轨道的集合的引用。这些参照借助所包含的(多个)框的框类型(例如,框的四字符代码)来标记。
ISO基本媒体文件格式包含用于可与特定样本相关联的定时元数据的三个机制:样本组、定时元数据轨道和样本辅助信息。所衍生的规范可以利用这三个机制中的一个或多个来提供类似的功能。
ISO基本媒体文件格式及其衍生物(诸如高级视频编码(AVC)文件格式和可扩展视频编码(SVC)文件格式)中的样本分组可以基于分组指标(grouping criterion)而被定义为轨道中的每个样本成为一个样本组的成员的分配。样本分组中的样本组不限于是连续样本,并且还可以包含不相邻的样本。由于轨道中的样本可能有多于一个的样本分组,因此每个样本分组可以具有类型字段来指示分组的类型。样本分组可以由两个链接的数据结构来表示:(1)SampleToGroupBox(sbgp框)表示样本到样本组的分配;(2)SampleGroupDescriptionBox(sgpd框)包含每个样本组中描述该组的属性的样本组条目。基于不同的分组指标,可能存在SampleToGroupBox和SampleGroupDescriptionBox的多个实例。这些可以通过用于指示分组类型的类型字段来区分。SampleToGroupBox可以包括可以被用于例如指示分组的子类型的grouping_type_parameter字段。
在ISOMBFF中,编辑列表提供了演示时间线和媒体时间线之间的映射。其中,编辑列表提供了轨道中样本演示的线性偏移、提供了空闲时间的指示并且提供了待驻留在特定时间段的特定样本。演示时间线可以被相应地修改来提供循环,诸如提供场景的各个区域的循环视频。以下提供了包括编辑列表的框的一个示例EditListBox:
在ISOBMFF中,EditListBox可以被包含在EditBox中,EditBox被包含在TrackBox(“trak”)中。
在编辑列表框的该示例中,标志(flag)指定编辑列表的重复。例如,将框标志内的特定位(最低有效位,例如,ANSI-C记号(notation)中的标志&1,其中&指示按位AND运算)设置为等于0指定了编辑列表不重复,而将特定位(例如,ANSI-C记号中的标志&1)设置为等于1指定编辑列表重复。大于1的框标志值可以被定义为保留用于将来的扩展。因此,当编辑列表框指示回放零个或一个样本时,(标志&1)可以等于零。当编辑列表重复时,编辑列表产生的时间为0的媒体紧跟在编辑列表产生的时间最长的媒体之后,使得编辑列表无缝重复。
在ISOBMFF中,轨道组使得能够基于某些特性或组内具有特定关系的轨道来对轨道进行分组。但是,轨道分组不允许组中有任何图像项。
ISOBMFF中的TrackGroupBox的语法如下:
Track_group_type指示grouping_type并且可以被设置为以下值之一,或者经注册的值,或者来自衍生规范或注册的值:“msrc”指示该轨道属于多源演示(其可以被称为特性)。在track_group_type“msrc”的TrackGroupTypeBox中具有相同track_group_id值的轨道被映射为源自同一源。例如,视频电话呼叫的录音可以同时具有两个参与方的音频和视频,并且与一个参与方的音频轨道和视频轨道相关联的track_group_id的值和与另一参与方的轨道相关联的track_group_id的值不同。track_group_id和track_group_type对(pair of track_group_id and track_group_type)标识文件内的轨道组。包含具有相同track_group_id和track_group_type值的特定TrackGroupTypeBox的轨道属于同一轨道组。
实体分组类似于轨道分组,但是使得能够将轨道和项(例如,图像项)分组在同一组中。
实体分组类似于轨道分组,但是使得能够将轨道和图像项均分组在同一组中。ISOBMFF中EntityToGroupBox的语法可以如下:
group_id是分配给特定分组的非负整数,它可以不等于任何其他EntityToGroupBox的任何group_id值、包含GroupsListBox的分层级别(文件、电影或轨道)的任何item_ID值或者任何Track_ID值(当GroupsListBox被包含在文件级别中时)。num_entities_in_group指定映射到该实体组的entity_id值的数量。当item_ID等于entity_id的项存在于包含GroupsListBox的分层级别(文件、电影或轨道)中时,或者当Track_ID等于entity_id的轨道存在并且GroupsListBox被包含在文件级别中时,entity_id被解析为项。
符合ISOBMFF的文件可以在元框(四字符代码:“meta”)中包含任何非定时对象,该非定时对象被称为项、元项或元数据项。虽然元框的名称指元数据,但是项通常可以包含元数据或媒体数据。元框可以驻留于文件的顶层、电影框(四字符代码:“moov”)内和轨道框(四字符代码:“trak”)内,但是最多一个元框可能发生在每个文件级别、电影级别或轨道级别处。元框可能需要包含HandlerBox(“hdlr”)框来指示“元”框内容的结构或格式。元框可以列出和表征可以被引用的任意数量的项,并且它们中的每一个可以与文件名称相关联并且通过作为整数值的项标识符(item_id)来利用filef唯一地标识。元数据项可以例如被存储在元框的Item Data Box(“idat”)框中或者“mdat”框中或者驻留在单独的文件中。如果元数据位于文件外部,则其位置可以由DataInformationBox(四字符代码:“dinf”)来声明。在元数据使用可扩展标记语言(XML)语法被格式化并需要被直接存储在MetaBox中的特定情况下,元数据可以被封装到XMLBox(四字符代码:“xml”)或BinaryXMLBox(四字符代码:“bxml”)中。项可以被存储为连续的字节范围,或者它可以被存储在几个范围(extent)内,每个范围是连续的字节范围。换言之,项可以被分段成范围来存储,例如以使得能够交错。范围是资源字节的连续子集。资源可以通过将范围级联来形成。ItemPropertiesBox使得能够将任何项与有序的项属性集相关联。项属性可以被视为小数据记录。ItemPropertiesBox由两部分组成:包含项属性的隐式索引列表ItemPropertyContainerBox,以及将项与项属性相关联的一个或多个ItemPropertyAssociationBox。
高效图像文件格式(HEIF)是由运动图像专家组(MPEG)开发的用于存储图像和图像序列的标准。其中,标准有助于对根据高效视频编码(HEVC)标准编码的数据进行文件封装。HEIF包括建立在所使用的ISO基本媒体文件格式(ISOBMFF)之上的特征。
ISOBMFF结构和特征在很大程度上用于HEIF的设计。HEIF的基本设计包括作为项存储的静止图像和作为轨道存储的图像序列。
在HEIF的上下文中,以下框可以被包含在根级“meta”框内并且可以如下文所述来使用。在HEIF中,“meta”框的Handler框的处理程序值为“pict”。包含编码媒体数据的资源(无论是在同一文件中,还是在由统一资源标识符标识的外部文件中)借助数据信息(“dinf”)框来解析,而项位置(“iloc”)框存储参照文件(reference file)中每个项的位置和大小。项引用(“iref”)框使用类型化参照来记录项之间的关系。如果项集合中的某个项与其他项相比在某些方面被认为是最重要的,则该项由主项(“pitm”)框发出信号。除了此处提到的框之外,“meta”框还可以灵活地包括可能需要的其他框来描述项。
在同一文件中可以包括任意数量的图像项。给定使用“meta”框方法存储的图像集合,有时必须鉴定(qualify)图像之间的某些关系。这样的关系的示例包括指示集合的封面图像、提供集合中的一些或所有图像的缩略图图像以及将集合中的一些或所有图像与诸如阿尔法平面的辅助图像相关联。图像集合中的封面图像使用“pitm”框来指示。缩略图或辅助图像分别使用“thmb”或“auxl”类型的项参照而被链接到主图像项。
覆盖水平360度视场和竖直180度视场的全景图像可以由已使用等距柱状投影(ERP)映射到二维图像平面的球体来表示。在该情况下,水平坐标可以被认为等同于经度,而竖直坐标可以被认为等同于纬度,不应用变换或缩放。在某些情况下,具有360度水平视场但小于180度竖直视场的全景内容可以被视为等距柱状投影的特殊情况,其中球体的极区尚未被映射到二维图像平面上。在某些情况下,全景内容可以具有小于360度的水平视场和高达180度的竖直视场,同时具有等距柱状投影格式的特性。
在立方体映射投影格式中,球形视频被投影到立方体的六个面(也被称为侧面)上。立方体映射可以例如通过首先从视点渲染球形场景六次而被生成,其中视图由90度视锥体来限定,视锥体表示每个立方体面。立方体侧面可以被帧封装到同一帧中,或者每个立方体侧面可以被单独处理(例如,在编码中)。将立方体侧面定位到帧上有多种可能的顺序和/或立方体侧面可以被旋转或镜像。用于帧封装的帧宽度和高度可以被选择为例如在3x2立方体侧面网格处“紧密地”拟合(fit)立方体侧面,或者可以例如在4x3立方体侧面网格处包括未使用的组成帧(constituent frames)。
一般而言,360度内容可以被映射到不同类型的立体几何结构上,诸如多面体(即,包含平坦多边形面、直边和尖角或顶点的三维立体对象,例如,立方体或棱锥体)、圆柱体(如上所述使用等距柱状投影,通过将球形图像投影到圆柱体上)、圆柱体(直接投影而不首先投影到球体上)、圆锥体等,并且然后被展开为二维图像平面。二维图像平面也可以被看作是几何结构。换言之,360度内容可以被映射到第一几何结构上,并且被进一步展开到第二几何结构。然而,也可以直接从原始360度内容或者其他广角视觉内容中获取到第二几何结构的变换。通常,全向投影格式可以被定义为在二维图像平面上表示(多达)360度内容的格式。全向投影格式的示例包括等距柱状投影格式和立方体映射投影格式。
视口可以被定义为适合用户显示和观看的全向图像或视频的区域。当前视口(有时可以被简称为视口)可以被定义为当前显示的球形视频的一部分,并且因此可以被(多个)用户查看。在任何时间点,由头戴式显示器(HMD)上的应用程序渲染的视频都会渲染360度视频的一部分,它被称为视口。同样,当在常规显示器上查看360度内容的空间部分时,当前显示的空间部分是视口。视口是经由渲染显示器显示的全向视频中表示的360度世界上的窗口。视口的特征在于水平视场(VHFoV)和竖直视场(VVFoV)。在下文中,视口的水平视场将被缩写为HFoV,并且视口的竖直视场将被缩写为VFoV。
球体区域可以被定义为球体上可以由四个大圆或由两个方位圆和两个仰角圆以及附加地由倾斜角指定的区域,倾斜角指示沿源自球体原点的轴旋转而经过球体区域的中心点。大圆可以被定义为球体与通过球体中心点的平面的交(intersection)。大圆也被称为正射圆或黎曼圆。方位圆可以被定义为球体上将具有相同方位角值的所有点连接的圆。仰角圆可以被定义为球体上将具有相同仰角值的所有点连接的圆。
全向媒体格式(“OMAF”)标准(ISO/IEC 23090-2)指定针对球体区域的通用定时元数据语法。定时元数据轨道的用途由轨道样本条目类型来指示。所指定的球体区域的所有元数据轨道的样本格式以公共部分开始,并且随后可以是特定于元数据轨道样本条目的扩展部分。每个样本指定球体区域。
OMAF中指定的特定球体区域定时元数据轨道之一被称为推荐视口定时元数据轨道,其指示当用户无法控制观看取向或已释放对观看取向的控制时应显示的视口。推荐视口定时元数据轨道可以被用于基于“导演剪辑”或基于观看统计的测量来指示推荐视口。推荐视口的文本描述可以被提供在示例条目中。推荐视口的类型可以在样本条目中指示并且可以是每个导演剪辑的推荐视口,例如,根据内容作者或内容提供者的创作意图建议的视口。
视频和/或图像可以被叠加在全向视频和/或图像上。经编码的叠加视频可以是单独的流或当前渲染的360度视频/图像的比特流的一部分。全向流系统可以将视频/图像叠加在正在被渲染的全向视频/图像之上。被叠加的二维视频/图像可以具有矩形网格或非矩形网格。叠加过程可以覆盖叠加的视频/图像或视频/图像的一部分,或者可能存在某种程度的透明度/不透明度或多于一个级别的透明度/不透明度,其中被叠加的视频/图像可以在叠加的视频/图像下看到但是具有较低亮度。换言之,可能存在与前景叠加中的视频/图像和背景中的视频/图像(VR场景的视频/图像)相对应的关联透明度级别。术语不透明度(opacity)和透明度(transparency)可以互换使用。
叠加区域可以具有一个级别或多于一个级别的透明度。例如,叠加区域可以具有不同透明度的不同部分。根据一些实施例,透明度级别可以被定义为在某个范围内,诸如从0到1,使得值越小,透明度越小,反之亦然。附加地,内容提供方可以选择将同一全向视频的一部分叠加在用户的当前视口上。内容提供方可能希望基于用户的观看条件来叠加视频。例如,如果用户的视口与内容提供方推荐的视口不匹配,则叠加可以被执行。在该情况下,客户端播放器逻辑将内容提供方推荐的视口(作为预览窗口)叠加在用户的当前视口上。如果用户的当前视口不匹配,也可以叠加推荐视口,使得叠加视频的位置基于用户正在观看的方向。例如,如果推荐视口在用户当前视口的左侧,则将推荐视口叠加到显示器的左侧。也可以叠加整个360度视频。又一示例是使用叠加的视觉信息作为引导机制来引导用户(例如引导听力受损的人)朝向推荐视口。
关于何时以及如何显示视觉叠加可以有一个或多个条件。因此,渲染设备可能需要接收信息,渲染设备可以使用这些信息来执行由信号通知的信息指示的叠加。
一个或多个叠加可以被承载在单个视觉媒体轨道或单个图像项中。当多于一个的叠加被承载在单个轨道或图像项中时,或者当叠加与其他媒体(例如,背景)一起被承载时,例如在OverlayStruct中或与OverlayStruct相关联,可以提供从轨道或图像项的样本到叠加元数据的区域映射。
当若干轨道或图像项共同承载一个或多个叠加和/或背景视觉媒体时,轨道和图像项的组可以在容器文件中被指示。例如,ISOBMFF的实体组可以被用于该目的。
叠加可能落在用户的视场(FOV)之外,例如,用户的视口变得与叠加不重叠。例如,如图1A和图1B所示,在用户10在全向媒体内容回放期间旋转之后,用户10的视口12变得不与视觉叠加14重叠。根据具体情况,当用户没有观看叠加时,可能需要继续或暂停叠加的回放。例如,可能期望暂停叠加回放的时间线,直到叠加与用户的视口再次重叠。即使叠加在用户的视口之外,也可能期望继续播放叠加。因此,支持多个回放时间线的机制将是有利的,该机制进而实现独立于基本内容的自定义叠加回放/暂停。因此,根据一些实施例提供了方法、装置和计算机程序产品,以在具有叠加的全向媒体内容的回放中实现多时间线支持,这进而根据叠加与用户的视口是否重叠而实现了自定义叠加回放行为。
OMAF v2中的ISOBMFF扩展指定了OverlaySwitchAlternativesBox、grouping_type等于“oval”的实体分组,实体分组基于叠加轨道和图像项是否旨在作为同一实体组中的另一叠加的用户可切换的替代品(alternative)而对叠加轨道和图像项进行分组。OverlaySwitchAlternativesBox的语法可以如下所示:aligned(8)class OverlaySwitchAlternativesBox(version,flags)
ref_overlay_id[i]指定来自轨道或图像项的由entity_id标识的overlay_id,该overlay_id作为该组中的可切换的叠加。第i个被参照的轨道或图像项可以具有等于ref_overlay_id[i]的overlay_id。如果由该实体组的entity_id值标识的每个轨道和图像项恰好包含一个叠加,则ref_layer_id[i]语法元素可能存在、也可能不存在。否则,可能存在ref_layer_id[i]语法元素。
叠加和背景分组是grouping_type等于“ovbg”的另一实体分组,其指定包含打算一起呈现的叠加和背景视觉媒体的轨道和图像项。
OverlayAndBackgroundGroupingBox的语法可以如下所示:
overlay_flag[i]等于0指定实体不包含任何叠加。overlay_flag[i]等于1指定实体包含一个或多个叠加。background_flag[i]等于0指定实体不包含背景视觉媒体。background_flag[i]等于1指定实体包含背景视觉媒体。针对0到num_entities_in_group-1范围内的每个i值(含本数),overlay_flag[i]和background_flag[i]之一或两者可以等于1。
Matroska文件格式能够(但不限于)在一个文件中存储任何视频、音频、图片或字幕轨道。Matroska文件扩展名包括针对视频(带字幕和音频)的.mkv、针对立体视频的.mk3d、针对纯音频文件的.mka和仅针对字幕的.mks。Matroska可以被用作衍生文件格式(诸如WebM)的基础格式。
Matroska使用可扩展二进制元语言(EBML)作为基础。EBML指定受XML原理启发的二进制和八位组(字节)对齐格式。EBML本身是对二进制标记技术的概括描述。Matroska文件由构成EBML“文档”的元素组成。元素并入了元素ID、针对元素大小的描述符以及二进制数据本身。元素可以被嵌套。
Matroska的段元素(Segment Element)是其他顶级(级别1)元素的容器。Matroska文件可以包括一个段(但不限于由一个段组成)。Matroska文件中的多媒体数据被组织为集群(Cluster)(或集群元素),每个集群通常包含几秒钟的多媒体数据。集群包括块组(BlockGroup)元素,而块组元素进而包含块元素(Block Element)。提示元素(CueElement)包括可以帮助随机访问或搜索的元数据,并且可以包括文件指针或搜索点的相应时间戳。
统一资源标识符(URI)可以被定义为用于标识资源名称的字符串。这样的标识使得能够使用特定协议、通过网络来与资源的表示交互。URI是通过为URI指定具体语法和相关协议的方案来定义。统一资源定位符(URL)和统一资源名称(URN)是URI的形式。URL可以被定义为URI,其标识Web资源并且指定对资源进行操作或获取资源表示的方式,从而指定其主要访问机制和网络位置两者。URN可以被定义为URI,URI在特定的名称空间中通过名称来标识资源。URN可以被用于在无需暗示其位置或如何访问它的情况下标识资源。
超文本传输协议(HTTP)已被广泛用于通过互联网来传送实时多媒体内容,诸如在视频流应用中。基于HTTP的适配流的若干商业解决方案(诸如SmoothStreaming、/>Adaptive HTTP Live Streaming和/>Dynamic Streaming)已启动,并且标准化项目已执行。适配HTTP流(AHS)首次在第三代合作伙伴计划(3GPP)分组交换流(PSS)服务(3GPP TS 26.234第9版:“Transparent end-to-end packet-switchedstreaming service(PSS);protocols and codecs”(透明的端到端分组交换流传输服务(PSS);协议和编解码器))中被标准化。MPEG将3GPP AHS第9版作为MPEG DASH标准(ISO/IEC23009-1:“Dynamic adaptive streaming over HTTP(DASH)-Part 1:Media presentationdescription and segment formats”(基于HTTP的动态适配流媒体(DASH)-第1部分:媒体呈现描述和段格式))的起点。MPEG DASH和3GP-DASH在技术上彼此接近,并且因此可以被统称为DASH。以下将DASH的一些概念、格式和操作作为视频流系统的示例进行描述,其中可以实现示例实施例。本公开的某些实施例的各方面不限于DASH,而是针对本公开的某些实施例可以被部分或完全实现的一个可能的基础给出描述。
在DASH中,多媒体内容可以被存储在HTTP服务器上并且可以使用HTTP来传送。内容可以分为两部分被存储在服务器上:媒体呈现描述(MPD),其描述了可用内容的清单、其各种替代品、它们的URL地址和其他特性;以及段,其在单个或多个文件中包含语块(chunk)形式的实际多媒体比特流。MPD为客户端提供必要信息,以通过HTTP建立动态适配流传输。MPD包含描述媒体呈现的信息,诸如每个段的HTTP-统一资源定位符(URL),以发出GETSegment请求。
为了播放内容,DASH客户端可以通过使用例如HTTP、电子邮件、拇指驱动器、广播或其他传输方法来获取MPD。通过解析MPD,DASH客户端可以了解节目时间、媒体内容可用性、媒体类型、分辨率、最小和最大带宽,以及多媒体组件的各种编码替代品的存在、可访问性特征和所需的数字权限管理(DRM)、网络上的媒体组件位置以及其他内容特性。例如,使用该信息,DASH客户端可以选择适当的编码替代品,并且通过使用HTTP GET请求来获取段,从而开始将内容进行流传输。在适当缓冲以允许网络吞吐量变化之后,客户端可以继续获取后续段并且还监视网络带宽波动。客户端可以通过获取不同替代品(具有较低或较高比特率)的段来决定如何适配可用带宽,以保持足够的缓冲。
在DASH的上下文中可以使用以下定义:媒体内容组件或媒体组件可以被定义为媒体内容中具有所分配的媒体组件类型的一个连续组件,媒体组件类型可以被单独编码为媒体流。媒体内容可以被定义为一个媒体内容时段或连续的媒体内容时段序列。媒体内容组件类型可以被定义为单个类型的媒体内容,诸如音频、视频或文本。媒体流可以被定义为媒体内容组件的编码版本。
在DASH中,分层数据模型被用于如下构造媒体呈现。媒体呈现由一个或多个时段(Period)序列组成,每个时段包含一个或多个组(Group),每个组包含一个或多个适配集(Adaptation Set),每个适配集包含一个或多个表示(Representation),每个表示包含一个或多个段(Segment)。组可以被定义为不希望被同时演示的适配集的集合。适配集可以被定义为一个或多个媒体内容组件的可互换编码版本集。表示是媒体内容或其子集的替代选择之一,其通常因编码选择(诸如因比特率、分辨率、语言、编解码等)而不同。段包含某个持续时间的媒体数据以及用于解码和演示所包括的媒体内容的元数据。段由URI标识,并且通常可以通过HTTP GET请求进行请求。段可以被定义为与HTTP-URL相关联的数据单元,并且可选地被定义为与由MPD指定的字节范围相关联的数据单元。
DASH MPD符合可扩展标记语言(XML),并且因此借助XML中定义的元素和属性来指定。MPD可以使用以下惯例来指定:XML文档中的元素可以由大写的第一个字母来标识,并且可以以粗体显示为Element。为了表示元素Element1被包含在另一元素Element2中,可以编写为Element2.Element1。如果元素的名称由两个或多个组合词组成,则可以使用驼峰式大小写,诸如ImportantElement。元素可以只出现一次,或者最小和最大出现次数可以由<minOccurs>...<maxOccurs>来限定。例如,XML文档中的属性可以由小写的首字母来标识,以及它们也可以由“@”符号开头,例如@attribute。为了指向元素Element中包含的特定属性@attribute,可以编写Element@attribute。如果属性名称由两个或多个组合词组成,则可以在第一个词之后使用驼峰式大小写,诸如例如@veryImportantAttribute。属性可以在XML中被分配强制(M)、可选(O)、可选默认值(OD)和有条件强制(CM)的状态。
在DASH中,所有描述符元素通常以相同方式构造,因为它们包含提供URI来标识方案的@schemeIdUri属性、可选属性@value以及可选属性@id。元素的语义特定于所采用的方案。标识方案的URI可以是URN或URL。某些描述符在MPEG-DASH(ISO/IEC 23009-1)中指定,而描述符可以附加地或替代地在其他规范中指定。当在MPEG-DASH以外的规范中指定时,MPD不提供有关如何使用描述符元素的任何特定信息。由采用DASH格式的应用或规范来实例化具有适当方案信息的描述元素。使用这些元素之一的应用或规范以URI的形式定义了方案标识符,以及使用该方案标识符时元素的值空间。方案标识符出现在@schemeIdUri属性中。在需要简单的枚举值集合的情况下,可以针对每个值来定义文本字符串,并且该字符串可以被包括在@value属性中。如果需要结构化数据,则任何扩展元素或属性可以在单独的名称空间中定义。@id值可以被用于指唯一的描述符或描述符组。在后一种情况下,针对属性@id具有相同值的描述符可能需要是同义的,例如,处理具有相同@id值的描述符之一就足够了。如果元素名称、@schemeIdUri的值和@value属性的值等效,则DescriptorType类型的两个元素等效。如果@schemeIdUri是URN,则等效可以指代RFC 2141第5条中定义的词法等效。如果@schemeIdUri是URL,则等效可以指在RFC3986的第6.2.1条中定义的基于字符对字符的相等性。如果@value属性不存在,则等效可以仅由@schemeIdUri的等效来确定。扩展名称空间中的属性和元素可以不被用于确定等效。针对等效的确定,@id属性可以被忽略。
MPEG-DASH指定描述符EssentialProperty和SupplementalProperty。对于元素EssentialProperty,媒体呈现(Media Presentation)作者表示,除非元素与另一EssentialProperty元素共享相同的@id,否则成功处理描述符对于正确使用包含该描述符的父元素中的信息至关重要。如果EssentialProperty元素共享相同的@id,则处理具有相同@id值的EssentialProperty元素之一就足够了。预计每个不同的@id值的至少一个EssentialProperty元素将被处理。如果EssentialProperty描述符的方案或值无法识别,则DASH客户端应忽略包含该描述符的父元素。MPD中可能存在具有相同@id值和不同@id值的多个EssentialProperty元素。
对于元素SupplementalProperty,媒体呈现作者表示,描述符包含可以由DASH客户端进行优化处理的补充信息。如果SupplementalProperty描述符的方案或值无法被识别,则DASH客户端应忽略描述符。MPD中可能存在多个SupplementalProperty元素。
MPEG-DASH指定了被格式化为性质描述符的Viewpoint(视点)元素。Viewpoint元素的@schemeIdUri属性被用于标识所采用的视点方案。包含非等效Viewpoint元素值的适配集包含不同的媒体内容组件。Viewpoint元素同样可以被应用于非视频的媒体内容类型。具有等效Viewpoint元素值的适配集旨在被一起演示。该处理应同等应用于已识别和未识别的@schemeIdUri值。
SRD(空间关系描述)在MPEG-DASH的规范性附件H中被指定。SRD方案允许媒体呈现描述作者表达空间对象(Spatial Objects)之间的空间关系。空间对象由适配集或子表示(Sub-Representation)来表示。例如,空间关系可以表示,视频表示另一全帧视频的空间部分(例如,感兴趣区域或图块)。
@schemeIdUri等于“urn:mpeg:dash:srd:2014”的SupplementalProperty和/或EssentialProperty描述符被用于提供与包含空间对象相关联的空间关系信息。SRD可能只被包含在这两个MPD元素(AdaptationSet和SubRepresentation)中。
子表示级SRD可以被用于表示一个表示(诸如HEVC图块流)中的空间对象。在该情况下,SRD描述符可能出现在适配集以及子表示级别。
使用SRD方案的SupplementalProperty或EssentialProperty元素的@value是针对SRD参数的逗号分隔值列表。SRD参数source_id、object_x、object_y、object_width和object_height必须存在,并且SRD参数total_width、total_height和spatial_set_id有条件地或可选地存在。
source_id是十进制表示的非负整数,提供内容源的标识符。source_id参数在时段内为内容源提供唯一标识符。它隐含地定义了与该源相关联的坐标系。该坐标系使用任意原点(0;0);x轴从左到右,并且y轴从上到下。共享相同source_id值的所有SRD具有相同的原点和轴方向。使用具有不同source_id值的SRD的空间对象的空间关系未被定义。
对于给定的source_id值,定义参照空间,参照空间对应于涵盖整个源内容的矩形区域,矩形区域的左上角位于坐标系的原点处。SRD中的total_width和total_height值提供了以任意单位表示的该参照空间的大小。total_width是十进制表示的非负整数,以任意单位表示参照空间的宽度。total_height是十进制表示的非负整数,以任意单位表示参照空间的高度。例如当整个源内容由两个单独的视频表示时,允许MPD中不存在覆盖整个内容源的空间对象。
object_x是十进制表示的非负整数,以任意单位表示空间对象的左上角的水平位置。object_y是十进制表示的非负整数,以任意单位表示空间对象左上角的竖直位置。object_width是十进制表示的非负整数,以任意单位表示空间对象的宽度。object_height是十进制表示的非负整数,以任意单位表示空间对象的高度。object_x和object_y参数(分别是object_width和object_height)表示关联空间对象在与源相关联的坐标系中的2D位置(分别是2D大小)。object_x、object_y、object_width和object_height参数的值相对于total_width和total_height参数的值如上文所定义。在考虑参照空间的大小之后,例如,在object_x和object_width值除以total_width值并且object_y和object_height值除以其相应描述符的total_height值之后,共享相同source_id值的SRD的位置(object_x、object_y)和大小(object_width、object_height)可以进行比较。不同的total_width和total_height值可以在不同的描述符中使用,以针对相同的参照空间,以不同单位来提供位置和大小信息。
spatial_set_id是十进制表示的非负整数,为空间对象组提供标识符。当不存在时,与该描述符相关联的空间对象不属于任何空间集并且空间集信息未给出。MPD作者可以使用spatial_set_id参数来表示给定source_id内的某些空间对象具有特定的空间关系。例如,MPD作者可以将与相同分辨率级别的图块相对应的所有适配集分组。因此,spatial_set_id参数可以由DASH客户端使用来快速选择空间相关的空间对象。
初始化段(Initialization Segment)可以被定义为包含演示媒体段中封装的媒体流所必需的元数据的段。在基于ISOBMFF的段格式中,初始化段可以包括Movie Box(“moov”),该Movie Box可能不包括针对任何样本的元数据,例如,样本的任何元数据均在“moof”框中提供。
媒体段(Media Segment)包含用于以正常速度回放的特定持续时间的媒体数据,这样的持续时间被称为媒体段持续时间或段持续时间。内容制作方或服务提供方可以根据服务的期望特性来选择段持续时间。例如,相对较短的段持续时间可以在直播服务中使用,以实现较短的端到端延迟。原因是段持续时间通常是DASH客户端感知的端到端延迟的下限,因为段是针对DASH生成媒体数据的离散单位。内容生成通常以使得整个媒体数据段可用于服务器的方式来完成。此外,许多客户端实现方式使用段作为GET请求的单位。因此,在直播服务的典型布置中,仅当媒体段的整个持续时间可用以及被编码和封装到段中时,段才可以由DASH客户端请求。对于按需服务,可以使用不同的段持续时间选择策略。
例如,段可以被进一步划分为子段(Subsegment),以使得能够以多个部分下载段。子段可能需要包含完整的访问单元。子段可以由段索引框来索引,段索引框包含针对每个子段来映射演示时间范围和字节范围的信息。段索引框还可以通过使用信号通知它们的持续时间和字节偏移来描述段中的子段和流访问点。DASH客户端可以使用从(多个)段索引框获得的信息来使用字节范围HTTP请求为特定子段发出HTTP GET请求。如果相对较长的段持续时间被使用,则字段可以被用来保持HTTP响应的大小合理且灵活,以适应比特率。段的索引信息可以被放置在该段开头的单个框中,也可以分布在段中的多个索引框之间。不同的传播方法(诸如分层式、菊花链式和混合式)是可能的。该技术可以避免在段的开头添加大框,并且因此可以防止可能的初始下载延迟。
子表示被嵌入在常规表示中并且由子表示元素来描述。子表示元素被包含在表示元素中。子表示元素描述了嵌入在表示中的一个或多个媒体内容组件的性质。例如,它可以描述嵌入音频组件(例如,编解码、采样率等)、嵌入字幕(诸如例如,编解码)的确切性质,或者它可以描述一些嵌入的低质量视频层(诸如例如,某些较低的帧速率等)。子表示和表示共享一些公共的属性和元素。如果@level属性存在于子表示元素中,则子表示提供访问包含它们的表示的较低质量版本的能力。在这种情况下,子表示例如允许以多路复用的表示提取音频轨道,或者如果提供较低的帧速率,则可以允许有效的快进或倒带操作。
初始化段和/或媒体段和/或索引段可以提供足够的信息,使得数据可以借助HTTP部分GET请求而被容易地访问。与提供这样的信息有关的详细信息由使用的媒体格式来定义。当使用ISOBMFF段时以下适用:1)初始化段包含级别分配框。2)每个子段都有子段索引框(“ssix”)。3)属性@level指定了所描述的子表示在子段索引中关联的级别。表示、子表示和级别分配(“leva”)框中的信息包含与将媒体数据分配到级别的信息。4)媒体数据应具有顺序,使得每个级别与较低级别相比提供增强。
如果@level属性不存在,则SubRepresentation元素仅用于为表示中嵌入的媒体流提供更详细的描述。
ISOBMFF包括用于指定文件子集的级别机制。级别遵循相关性分层结构,使得映射到级别n的样本可能与级别m的任何样本相关,其中m<=n,并且与级别p的任何样本不相关,其中p>n。例如,级别可以根据时间子层(例如,HEVC的TemporalId)来指定。级别可以在电影扩展(“mvex”)框中包含的级别分配(“leva”)框中声明。无法为初始电影指定级别。当存在级别分配框时,它适用于初始电影之后的所有电影片段。对于级别分配框的上下文,片断被定义为由一个或多个电影片段框以及相关联的媒体数据框组成,可能仅包括最后一个媒体数据框的初始部分。在片断(fraction)内,每个级别的数据连续出现。片断内级别的数据以级别值的升序出现。片断中的所有数据被分配给级别。“级别分配”(Level Assignment)框提供了从特征(诸如可伸缩性层或时间子层)到级别的映射。特征可以通过轨道、轨道内的子轨道或轨道的样本分组来指定。例如,时间级别(Temporal Level)样本分组可以被用于指示图片到时间级别的映射,其等效于HEVC中的时间子层。即,某个TemporalId值的HEVC图片可以使用时间级别样本分组而被映射到特定时间级别(并且可以对所有TemporalId值重复相同的操作)。级别分配框然后可以在所指示的级别映射中引用时间级别样本分组。
子段索引框(“ssix”)提供从级别(如由级别分配框所指定)到索引子段的字节范围的映射。换言之,该框提供了紧凑的索引,用于说明子段中的数据如何根据级别来排序为部分子段。它使得客户端能够通过下载子段中的数据范围而轻松访问部分子段的数据。当子段索引框存在时,子段中的每个字节被分配到级别。如果范围不与级别分配中的任何信息相关联,则可以使用未包括在级别分配中的任何级别。每个段索引框存在0或1个子段索引框,它们仅索引叶子段(leaf subsegment),例如,仅索引子段而没有段索引。子段索引框(如果存在)是相关段索引框之后的下一框。子段索引框记录紧接在前面段索引框中指示的子段。每一级别可以被精确分配给一个部分子段,例如,一个级别的字节范围是连续的。部分子段的级别通过增加子段内的数字来分配,例如,部分子段的样本可能与同一子段中先前部分子段的任何样本相关,但反之则不然。例如,每个部分子段包含具有相同时间子层的样本,并且部分子段在子段内以递增的时间子层顺序出现。当部分子段以这种方式被访问时,最终的媒体数据框可能不完整,即,访问的数据少于媒体数据框指示的长度所指示存在的数据。媒体数据框的长度可能需要调整,或者使用填充。级别分配框中的padding_flag表示这个缺失的数据是否可以由零来替换。如否,则针对分配给未访问级别的样本的样本数据不存在。
MPEG-DASH定义了针对ISOBMFF和MPEG-2传输流两者的段容器格式。其他规范可以基于其他容器格式来指定段格式。例如,基于Matroska容器文件格式的段格式可以总结如下。当Matroska文件作为DASH段等被承载时,DASH单元和Matroska单元的关联可以指定如下。(DASH的)子段可以被定义为Matroska封装内容的一个或多个连续集群。DASH的初始化段可能需要包括EBML报头、(Matroska的)段报头、(Matroska的)段信息和轨道,并且可以可选地包括其他level1元素和填充。DASH的段索引可以包括Matroska的提示元素。
DASH预选(DASH Preselection)定义了期望由单个解码器实例联合消费的MPD的媒体组件子集,其中消费可以包括解码和渲染。包含用于预选的主要媒体组件的适配集被称为主适配集。附加地,每个预选可以包括一个或多个部分适配集。部分适配集可能需要与主适配集组合处理。主适配集和部分适配集可以通过以下两种方式之一来指示:预选描述符或预选元素。
OMAF定义了用于关联各种DASH元素的MPEG-DASH元素。@schemeIdUri属性等于“urn:mpeg:mpegI:omaf:2018:assoc”的SupplementalProperty元素被称为关联描述符。一个或多个关联描述符可以存在于适配集级别、表示级别和/或预选级别。适配集/表示/预选元素内包括的关联描述符指示该元素的描述符的父元素(例如,适配集/表示/预选元素)与由omaf2:Association元素中的XPath查询指示的MPD中的一个或多个元素以及由omaf2:@associationKindList指示的关联类型相关联。
在OMAF DASH MPD中,@schemeIdUri属性等于“urn:mpeg:mpegI:omaf:2018:vwpt”的视点元素被称为视点信息(VWPT)描述符。
至多一个VWPT描述符可以存在于适配集级别并且没有VWPT描述符可以存在于任何其他级别处。当媒体呈现中没有适配集包含VWPT描述符时,媒体呈现被推断为仅包含一个视点。
@value指定视点的视点ID。ViewPointInfo是容器元素,其子元素和属性提供有关视点的信息。ViewPointInfo@label属性指定为视点提供人类可读标签的字符串。该元素的ViewPointInfo.Position属性指定视点的位置信息。
当前,MPEG-DASH中没有对轨道/实体进行分组的机制,例如,基于特定特性或与ISOBMFF中的轨道或实体分组类似的关系来对对应的适配集/表示集进行分组。
MPEG-DASH中用于声明关系或关联的现有机制在其功能上是有限的,例如,公共组数据需要在所有级别处重复。在OMAF v2 WD3条款8.4.2中指定了用于将媒体组件关联/分组的关联描述符的使用。但是,要使用DASH条款5.3.8中指定的子集,播放器不会接收与为什么某些适配集(AS)被拆分为子集有关的任何信息。此外,只能通过子集声明一个AS拆分。因此,子集仅对应于一个类型的实体或轨道组。如果多个不同类型的实体或轨道组被使用,则子集不够。此外,允许在许多DASH配置文件中忽略子集元素。DASH条款5.3.11中指定的预选可以被视为另一选择。然而,预选与将来自多个适配集的数据合并到一个解码器实例的想法相关联。例如,在OMAF叠加中,这不适用于实体组的使用方式。
因此,需要用于对实体进行分组的替代机制。
现在参考图2,一些实施例的装置20包括如图2所示的处理电路22、存储器24、通信接口26以及可选的用户接口28,或者装置20与这些部件相关联,或者装置20以其他方式与这些部件通信。一些实施例的装置可以由多种计算设备中的任一个来提供,计算设备包括例如视频编码器、视频解码器、计算机工作站、服务器等,或者由诸如移动终端的多种移动计算设备(例如智能手机、平板电脑、视频游戏机等)中的任一种来提供。替代地,装置可以通过虚拟现实系统来实施,诸如能够接收一个或多个数据流并且渲染可以演示给用户的视觉和视听内容的虚拟现实体验机。
处理电路22可以经由用于在装置20的组件之间传递信息的总线与存储器设备24通信。存储器设备可以是非暂时性的并且可以包括例如一个或多个易失性和/或非易失性存储器。换言之,例如,存储器设备可以是电子存储设备(例如,计算机可读存储介质),电子存储设备包括被配置为存储可由机器(例如,与处理电路类似的计算设备)检索的数据(例如,比特)的门。根据本公开的一些实施例,存储器设备可以被配置为存储信息、数据、内容、应用程序、指令等,以使得装置能够执行各种功能。例如,存储器设备可以被配置为缓冲输入数据来供处理电路处理。附加地或替代地,存储器设备可以被配置为存储由处理电路执行的指令。
在一些实施例中,装置20可以被实施在如上所述的各种计算设备中。然而,在一些实施例中,装置可以被实施为芯片或芯片组。换言之,装置可以包括一个或多个物理封装(例如,芯片),一个或多个物理封装在结构组件(例如,基板)上包括材料、组件和/或电线。结构组件可以为其上包括的组件电路提供物理强度、尺寸的保持和/或电相互作用的限制。因此,在一些情况下,装置可以被配置为在单个芯片上或作为单个“片上系统”来实现本发明的一些实施例。因此,在一些情况下,芯片或芯片组可以构成用于执行一个或多个操作来提供本文描述的功能的部件。
处理电路22可以以多种不同的方式来实施。例如,处理电路可以被实施为各种硬件处理部件中的一个或多个,诸如协处理器、微处理器、控制器、数字信号处理器(DSP)、具有或不具有伴随DSP的处理元件或者各种其他电路(包括集成电路,诸如例如ASIC(专用集成电路))、FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。因此,在一些实施例中,处理电路可以包括被配置为独立执行的一个或多个处理核心(core)。多核处理电路可以在单个物理封装内实现多处理。附加地或替代地,处理电路可以包括经由总线串联配置来实现指令、管线和/或多线程的独立执行的一个或多个处理器。
在一些实施例中,处理电路22可以被配置为执行存储器设备24中存储的或者处理电路可访问的指令。替代地或附加地,处理电路可以被配置为执行硬编码功能。因此,无论是由硬件或软件方法,还是由其组合进行配置,处理电路均可以表示在相应地配置时,能够执行根据本公开的一些实施例的操作的实体(例如,物理地实施在电路中)。因此,例如,当处理电路被体现为ASIC、FPGA等时,处理电路可以是用于进行本文中描述的操作的专门配置的硬件。替代地,作为另一示例,当处理电路被实施为指令的执行器时,指令可以将处理器具体地配置为在指令被执行时,执行本文中描述的算法和/或操作。然而,在一些情况下,处理电路可以是特定设备(例如,图像或视频处理系统)的处理器,特定设备被配置为通过用于执行本文中描述的算法和/或操作的指令来进一步配置处理电路,从而采用本发明的一些实施例。处理电路可以包括时钟、算术逻辑单元(ALU)和被配置为支持处理电路的操作的逻辑门等。
通信接口26可以是任何部件,诸如在硬件或硬件和软件的组合中实施的、被配置为接收和/或传输数据的设备或电路,数据包括视频或图像文件形式的视觉内容、一个或多个音频轨道等。在这点上,通信接口可以包括例如天线(或多个天线)和支持硬件和/或软件,从而使得能够实现与无线通信网络的通信。附加地或替代地,通信接口可以包括用于与(多个)天线交互,以使得信号经由(多个)天线传输或者处理经由(多个)天线接收的信号的接收的电路。在一些环境中,通信接口可以替代地或者也支持有线通信。因此,例如,通信接口可以包括通信调制解调器和/或用于支持经由电缆、数字用户线(DSL)、通用串行总线(USB)或其他机制的通信的其他硬件/软件。
在一些实施例中,诸如在装置20被配置为处理视频或图像文件形式的视觉内容并且渲染视频或图像文件形式的视觉内容的情况下,装置20可以可选地包括用户接口28,用户接口28进而可以与处理电路22通信,以诸如通过渲染视频或图像文件形式的视觉内容来向用户提供输出,并且在一些实施例中,接收用户输入的指示。因此,用户接口可以包括显示器,并且在一些实施例中,还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机制。替代地或附加地,处理电路可以包括用户接口电路,用户接口电路被配置为控制一个或多个用户接口元件(诸如显示器)的至少一些功能,并且在一些实施例中,控制扬声器、振铃器、麦克风等。处理电路和/或包括处理电路的用户接口电路可以被配置为借助在处理电路可访问的存储器(例如,存储器设备24等)上存储的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一个或多个功能。
现在参考图3,描绘了诸如由图2的装置20所执行的操作,装置20由源计算设备实施或以其他方式与源计算设备相关联。如框30所示,装置包括用于将第一媒体实体和第二媒体实体编码在容器文件中的部件,诸如处理电路22、存储器24等。第一媒体实体和第二实体可以采用以下一项或多项的形式:一个或多个图像项、一个或多个轨道等。
作为框30的替代,容器文件可以被接收,其中容器文件包括第一媒体实体和第二媒体实体。
如框32所示,装置包括用于在容器文件中基于分组类型对第一实体分组进行编码的部件,诸如处理电路22、存储器24等。第一实体分组基于由分组类型定义的特性来对第一媒体实体和第二媒体实体进行分组。例如,在一些实施例中,分组类型“msrc”指示轨道属于多源演示并且分组类型“ovbg”指定一个或多个轨道并且包含叠加和背景视觉媒体的图像项旨在被一起演示。
作为框32的替代,所接收的容器文件可以包括基于分组类型的第一实体分组。
如框34所示,装置包括用于通过第一表示集和第二表示集来创建媒体呈现描述的部件,诸如处理电路22、存储器24等。第一表示集属于第一适配集,而第二表示集属于第二适配集。并且第一表示集与第一媒体实体相关联,而第二表示集与第二媒体实体相关联。
如框36所示,装置包括用于在媒体呈现描述中对适配和表示分组描述符进行编码的部件,诸如处理电路22、存储器24等。适配和表示分组描述符基于分组类型,将第一表示集与第二表示集分组。
框38在装置的操作中可以是可选的。如框38所示,装置包括用于使得存储容器文件的部件,诸如处理电路22、存储器24等。
在一些实施例中,适配和表示分组描述符存在于时段级别。在一些实施例中,适配和表示分组描述符存在于媒体表示描述级别。在一些实施例中,框30、32和38可以由文件编写器执行并且框34和36可以由媒体呈现描述编写器来执行。在一些实施例中,文件编写器和媒体呈现描述编写器可以由相同的装置来实施。在一些实施例中,文件编写器和媒体呈现描述编写器可以由不同的装置来实施现。
现在从客户端计算设备的角度参照图4的框40,与客户端计算设备实施或以其他方式关联的装置20包括用于从容器文件的媒体呈现描述中解析属于容器文件的第一适配集的第一表示集和属于容器文件的第二适配集的第二表示集的部件,诸如处理电路22、存储器24等。
如框42所示,装置包括用于从媒体呈现描述中解析适配和表示分组描述符的部件,诸如处理电路22、存储器24等。适配和表示分组描述符基于分组类型而将第一表示集与第二表示集分组。
如框44所示,装置包括用于选择第一表示集和第二表示集的部件,诸如处理电路22、存储器24等。
在一个实施例中,作为选择第一表示集和第二表示集的结果,用于接收第一表示集和第二表示集的(子)段的请求被发布(issue)。请求例如可以是HTTP GET请求。
框46在装置的操作中可以是可选的。如框46所示,装置包括用于从容器文件中解析第一实体分组的部件,诸如处理电路22、存储器24等。第一实体分组基于由分组类型定义的特性来对第一媒体实体和第二媒体实体进行分组。
如框48所示,装置包括用于基于第一实体分组或适配和表示分组描述符来使得播放第一表示集和第二表示集的部件,诸如处理电路22、存储器24等。
在一些实施例中,第一实体分组可以在具有SupplementalProperty和/或EssentialProperty描述符的MPD中被承载,MPD与已声明了分组的适配集/表示集具有关联/关系。在一些实施例中,适配和表示分组描述符可以采用EntityToGroup描述符的形式,其可以指示适配集/表示集的分组。@schemeIdUri属性等于具体定义的URN的EssentialProperty或SupplementalProperty EntityToGroup元素,诸如“urn:mpeg:mpegI:isobmff:2019:etgb”,被称为EntityToGroup描述符。在一些实施例中,一个或多个EntityToGroup描述符可以存在于时段级别或MPD级别。在一些实施例中,EntityToGroup描述符的@value属性可能不存在。EntityToGroup描述符可以包括一个或多个EntityGroup元素,其中属性如下指定:EntityGroup@group_type属性指示分组的类型;EntityGroup@group_id属性是分配给分组的非负整数,它可以不等于任何其他EntityGroup元素的任何EntityGroup@group_id值;具有两个属性EntityIdList@asid和EntityIdList@rsid的一个或多个EntityIdList元素列出了所有适配集的标识符(id)对(pair)和作为组的一部分的对应表示集。在一些实施例中,如果EntityToGroup描述符存在于MPD级别,则EntityIdList元素包含指示时段的id的附加属性EntityIdList@pid。EntityIdList@pid、EntityIdList@asid和EntityIdList@rsid的组合指定了作为组的一部分的唯一实体。
在一些实施例中,一个或多个EntityToGroup描述符可以存在于适配集级别或表示集级别或预选级别,并且没有EntityToGroup描述符可以存在于MPD或时段级别。当EntityToGroup描述符出现在适配集级别或表示集级别或预选级别时,EntityGroup@group_id和EntityGroup@group_type的对(pair)标识了MPD内的唯一实体组。包含具有相同EntityGroup@group_id和EntityGroup@group_type值的特定EntityToGroup描述符的适配集或表示集属于同一实体组。
示例EntityToGroup描述符可以包括如下表中指定的元素和属性。“用途”栏可以被定义为在OMAF工作草案中使用的那样。
/>
EntityGroup的一个示例XML方案如下所示。
以下示出了在MPD的时段级别存在的示例EntityToGroup描述符。
/>
在一些实施例中,EntityGroup@group_type等于“oval”并且指定相应轨道和图像项中包含叠加的表示集,叠加旨在作为同一实体组中的另一叠加的用户可切换的替代品被演示。
在一些实施例中,EntityGroup@ref_overlay_id属性针对EntityToGroup描述符,在特别定义的名称空间(诸如“urn:mpeg:mpegI:omaf:2018”)下被定义。在一个实施例中,EntityGroup@ref_overlay_id属性是逗号分隔的列表,其指示来自表示集中的、作为该组中的可切换叠加的每个overlay_id。第i个被参照的表示集可以具有与EntityGroup@ref_overlay_id中的列表的第i项相等的overlay_id。如果该EntityGroup的EntityIdList标识的每个表示集仅包含一个叠加,则EntityGroup@ref_overlay_id属性可能存在也可能不存在。否则,EntityGroup@ref_overlay_id属性可能存在。在一些实施例中,由EntityGroup@ref_overlay_id属性承载的叠加ID列表是有序列表。有序列表可以指示叠加被播放器切换和演示的偏好顺序。
具有EntityGroup@ref_overlay_id属性的示例EntityToGroup描述符在下表中被指定。
/>
EntityGroup的示例XML方案如下所示。
以下示出了在MPD的时段级别处存在的示例EntityToGroup描述符。
/>
/>
在一些实施例中,EntityGroup@group_type等于“ovbg”并且指定相应轨道和图像项中包含旨在一起演示的叠加和背景视觉媒体的表示集。
在一些实施例中,@group_type等于“ovbg”的EntityGroup可以包含背景视觉媒体轨道的表示集或背景图像项的表示集,但不能同时包含两者。此外,同一“ovbg”实体组中对应背景视觉媒体轨道或图像项的任意两个表示集可以作为彼此的替代品,被包括在同一适配集中。
在一些实施例中,当一个或多个叠加和背景视觉媒体被按区域封装到同一表示集并且被包括在“ovbg”实体组中时,该同一“ovbg”实体组可以不包含包括背景视觉媒体的其他表示集。
在一些实施例中,EntityGroup.EntityIDList@overlay_flag属性和EntityGroup.EntityIDList@background_flag属性针对EntityToGroup描述符,被定义在名称空间“urn:mpeg:mpegI:omaf:2018”下。EntityGroup.EntityIDList@overlay_flag属性指示EntityIdList中指示的表示集包含叠加,并且如果值为0则指示EntityIdList中指示的表示集不包含叠加。同样EntityGroup.EntityIDList@background_flag属性指示EntityIdList中指示的表示集包含背景,并且如果值为0则指示EntityIdList中指示的表示集不包含背景。
具有EntityGroup.EntityIDList@overlay_flag和EntityGroup.EntityIDList@background_flag属性的EntityToGroup描述符在下表中被指定。
EntityGroup的一个示例XML方案如下所示。
以下示出了在MPD的时段级别处存在的一个示例EntityToGroup描述符:
/>
在一些实施例中,实体分组可以被承载在具有OMAF的关联描述符的MPD中。当包含叠加的适配集与包含另一叠加的一个或多个适配集相关联时,媒体旨在作为用户可切换的替代品来演示,关联描述符应作为包含叠加的每个AdaptationSet元素下的子元素来演示。在该情况下,关联描述符应包括以下两项:
关联(Association)元素中的XPath字符串,其评估包含用户可切换的替代品叠加媒体的一个或多个AdaptationSet元素。
关联元素的Association@associationKindList属性只有一个“oval”值。在该情况下:
当Association@associationKindList包括一个“oval”值并且以上关联元素中的XPath字符串评估的元素数量大于1时,叠加共同应用于用户可切换的替代品叠加媒体(例如,如果用户可切换的替代品叠加媒体经由多个适配集来用信号通知且每个适配集对应于子图片)。
当Association@associationKindList包括一个“oval”值并且以上关联元素中的XPath字符串评估的元素数量等于1时,叠加单独应用于用户可切换的替代品叠加媒体。
在包含叠加的适配集内可以存在多个这样的关联描述符。
虽然以上结合使用MPEG OMAF和ISOBMFF的一些实施例进行了描述,但是其他示例实施例的方法、装置20和计算机程序产品不需要使用MPEG OMAF和ISOBMFF,而是可以使用其他格式。此外,虽然以上结合客户端-服务器架构提供了方法、装置和计算机程序产品,但是其他示例实施例的方法、装置和计算机程序产品可以由包括点对点会话架构、点对多点(多播或广播)架构、对等架构等其他类型的架构来支持。
如上所述,图3和图4是根据某些示例实施例的装置20、方法和计算机程序产品的流程图。应当理解,流程图的每个框以及流程图中的框的组合可以通过各种方式(诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他设备)来实现。例如,上述过程中的一个或多个可以由计算机程序指令来体现。在这点上,实施上述过程的计算机程序指令可以由采用本发明的一些实施例的装置的存储器24存储并且由装置的处理电路22执行。应当理解,任何这样的计算机程序指令可以被加载到计算机或其他可编程装置(例如,硬件)上来生产机器,使得所得到的计算机或其他可编程装置实现流程图框中指定的功能。这些计算机程序指令也可以被存储在计算机可读存储器中,计算机可读存储器可以指导计算机或其他可编程装置以特定方式运行,使得计算机可读存储器中存储的指令产生制品,制品的执行实现了流程图框中指定的功能。计算机程序指令也可以被加载到计算机或其他可编程装置上,以使得计算机或其他可编程装置上执行一系列操作,从而产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图框中指定的功能的操作。
计算机程序产品因此在这样的情况下被定义,其中计算机程序指令(诸如计算机可读程序代码部分)由具有计算机程序指令的至少一个非暂时性计算机可读存储介质存储,诸如计算机可读程序代码部分被配置为在执行时执行诸如以上结合图3和图4的流程图所述的功能。在其他实施例中,计算机程序指令,诸如计算机可读程序代码部分不需要由非暂时性计算机可读存储介质存储或以其他方式实施,而是可以由具有计算机程序指令的暂时性介质体现,诸如计算机可读程序代码部分仍然被配置为在执行时执行上述功能。
因此,流程图的框支持用于执行指定功能的部件的组合以及用于执行指定功能的操作的组合。还应当理解,流程图的一个或多个框以及流程图中的框的组合可以由执行指定功能的基于专用硬件的计算机系统或专用硬件和计算机指令的组合来实现。
在一些实施例中,上述操作中的某些操作可以被修改或进一步放大。对上述操作的修改、添加或放大可以以任何顺序和任何组合来执行。
受益于前述描述和相关附图中呈现的教导,本发明所属领域的技术人员将想到本文中阐述的本发明的许多修改和其他实施例。因此,应当理解,本发明不限于所公开的具体实施例,并且修改和其他实施例旨在被包括在所附权利要求的范围内。此外,虽然前述描述和相关附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当理解,在不脱离所附权利要求的范围的情况下,替代性实施例可以提供元件和/或功能的不同组合。在这点上,例如,如可以在所附权利要求中的一些中阐述的,还可以设想与以上明确描述的那些不同的元件和/或功能的组合。尽管本文中使用了特定术语,但它们仅用于一般性和描述性意义,而不是出于限制的目的。

Claims (15)

1.一种用于处理媒体内容的方法,包括:
通过第一表示集和第二表示集来创建媒体呈现描述,其中所述第一表示集属于第一适配集,并且所述第二表示集属于第二适配集,并且其中所述第一表示集与第一媒体实体相关联,并且所述第二表示集与第二媒体实体相关联;以及
将适配和表示分组描述符编码在所述媒体呈现描述中,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,所述分组类型用于在容器文件中形成第一实体分组,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染。
2.根据权利要求1所述的方法,还包括:
使得进行对来自所述容器文件的所述第一媒体实体和所述第二媒体实体的解析;以及
基于来自所述容器文件的所述分组类型,使得进行对所述第一实体分组的解析。
3.根据权利要求1或2所述的方法,其中所述适配和表示分组描述符存在于时段级别。
4.根据权利要求1或2所述的方法,其中所述适配和表示分组描述符存在于媒体呈现描述级别。
5.一种用于处理媒体内容的方法,包括:
从容器文件的媒体呈现描述中解析第一表示集和第二表示集,所述第一表示集属于所述容器文件的第一适配集,所述第二表示集属于所述容器文件的第二适配集;
从所述媒体呈现描述中解析适配和表示分组描述符,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,其中所述第一表示集与第一媒体实体相关联,并且所述第二表示集与第二媒体实体相关联,其中所述分组类型是被指示的用于在容器文件中形成第一实体分组的分组类型,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染;
选择所述第一表示集和所述第二表示集;以及
使所述第一表示集和所述第二表示集基于第一实体分组或所述适配和表示分组描述符被播放。
6.一种用于处理媒体内容的装置,包括:
用于通过第一表示集和第二表示集来创建媒体呈现描述的部件,其中所述第一表示集属于第一适配集,并且所述第二表示集属于第二适配集,并且其中所述第一表示集与第一媒体实体相关联,并且第二表示集与第二媒体实体相关联;以及
用于将适配和表示分组描述符编码在所述媒体呈现描述中的部件,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,所述分组类型用于在容器文件中形成第一实体分组,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染。
7.根据权利要求6所述的装置,还包括:
用于触发对来自所述容器文件的所述第一媒体实体和所述第二媒体实体的解析的部件;以及
用于基于来自所述容器文件的所述分组类型,触发对所述第一实体分组的解析的部件。
8.根据权利要求6或7所述的装置,其中所述适配和表示分组描述符存在于时段级别。
9.根据权利要求6或7所述的装置,其中所述适配和表示分组描述符存在于媒体呈现描述级别。
10.一种用于处理媒体内容的装置,包括:
用于从容器文件的媒体呈现描述中解析第一表示集和第二表示集的部件,所述第一表示集属于所述容器文件的第一适配集,所述第二表示集属于所述容器文件的第二适配集;
用于从所述媒体呈现描述中解析适配和表示分组描述符的部件,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,其中所述第一表示集与第一媒体实体相关联,并且所述第二表示集与第二媒体实体相关联,其中所述分组类型是被指示的用于在容器文件中形成第一实体分组的分组类型,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染;
用于选择所述第一表示集和所述第二表示集的部件;以及
用于使所述第一表示集和所述第二表示集基于第一实体分组或所述适配和表示分组描述符被播放的部件。
11.一种非暂时性计算机可读存储介质,存储有计算机可执行程序代码指令,其中所述计算机可执行程序代码指令被配置为在被装置执行时使所述装置:
通过第一表示集和第二表示集来创建媒体呈现描述,其中所述第一表示集属于第一适配集,并且所述第二表示集属于第二适配集,并且其中所述第一表示集与第一媒体实体相关联,并且所述第二表示集与第二媒体实体相关联;以及
将适配和表示分组描述符编码在所述媒体呈现描述中,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,所述分组类型用于在容器文件中形成第一实体分组,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染。
12.根据权利要求11所述的非暂时性计算机可读存储介质,其中所述计算机可执行程序代码指令被进一步配置为在被所述装置执行时使所述装置:
触发对来自所述容器文件的所述第一媒体实体和所述第二媒体实体的解析;以及
基于来自所述容器文件的所述分组类型,触发对所述第一实体分组的解析。
13.根据权利要求11或12所述的非暂时性计算机可读存储介质,其中所述适配和表示分组描述符存在于时段级别。
14.根据权利要求11或12所述的非暂时性计算机可读存储介质,其中所述适配和表示分组描述符存在于媒体呈现描述级别。
15.一种非暂时性计算机可读存储介质,存储有计算机可执行程序代码指令,其中所述计算机可执行程序代码指令被配置为在被装置执行时使所述装置:
从容器文件的媒体呈现描述中解析第一表示集和第二表示集,所述第一表示集属于所述容器文件的第一适配集,所述第二表示集属于所述容器文件的第二适配集;
从所述媒体呈现描述中解析适配和表示分组描述符,其中所述适配和表示分组描述符基于分组类型将所述第一表示集与所述第二表示集分组,其中所述第一表示集与第一媒体实体相关联,并且所述第二表示集与第二媒体实体相关联,其中所述分组类型是被指示的用于在容器文件中形成第一实体分组的分组类型,其中所述第一实体分组被配置为基于呈现特性将所述第一媒体实体和所述第二媒体实体分组,所述呈现特性被使用所述分组类型来定义,所述呈现特性被配置为使得多个媒体实体被一起呈现,其中使用所述分组类型定义的所述呈现特性被配置为指示所述第一实体分组包括一个或多个用户可切换叠加,其中所述一个或多个用户可切换叠加包括一个或多个媒体实体,所述一个或多个媒体实体被配置为叠加一个或多个其他媒体实体用于一起渲染;
选择所述第一表示集和所述第二表示集;以及
使所述第一表示集和所述第二表示集基于第一实体分组或所述适配和表示分组描述符被播放。
CN202080021113.3A 2019-03-15 2020-02-21 用于对媒体内容中的实体进行分组的方法和装置 Active CN113574900B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962819228P 2019-03-15 2019-03-15
US62/819,228 2019-03-15
PCT/FI2020/050113 WO2020188142A1 (en) 2019-03-15 2020-02-21 Method and apparatus for grouping entities in media content

Publications (2)

Publication Number Publication Date
CN113574900A CN113574900A (zh) 2021-10-29
CN113574900B true CN113574900B (zh) 2024-03-15

Family

ID=72519795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080021113.3A Active CN113574900B (zh) 2019-03-15 2020-02-21 用于对媒体内容中的实体进行分组的方法和装置

Country Status (4)

Country Link
US (1) US20220150296A1 (zh)
EP (1) EP3939327A4 (zh)
CN (1) CN113574900B (zh)
WO (1) WO2020188142A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
US20220201308A1 (en) * 2020-12-18 2022-06-23 Lg Electronics Inc. Media file processing method and device therefor

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101802823A (zh) * 2007-08-20 2010-08-11 诺基亚公司 用于流式多媒体数据的分段的元数据和位标
CN107251521A (zh) * 2015-01-07 2017-10-13 三星电子株式会社 用于在通信系统中发送和接收媒体信息的方法和装置
CN107409234A (zh) * 2015-03-04 2017-11-28 高通股份有限公司 基于lct利用dash格式的基于文件格式的流式传输
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
CN107534801A (zh) * 2015-02-10 2018-01-02 诺基亚技术有限公司 用于处理图像序列轨道的方法、装置和计算机程序产品
CN107852532A (zh) * 2015-06-03 2018-03-27 诺基亚技术有限公司 用于视频编码的方法、装置和计算机程序
WO2019009319A1 (en) * 2017-07-06 2019-01-10 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR VIEWING INFORMATION SIGNALING FOR VIRTUAL REALITY APPLICATIONS
CN109218734A (zh) * 2017-07-07 2019-01-15 诺基亚技术有限公司 用于视频编码和解码的方法、装置和计算机程序产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101324427B1 (ko) * 2009-12-22 2013-10-31 한국전자통신연구원 장면 기술자를 이용하여 mpeg-2 전송스트림을 포함하는 콘텐츠 저작/재생 장치 및 방법
GB2558086B (en) * 2014-03-25 2019-02-20 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
US9865305B2 (en) * 2015-08-21 2018-01-09 Samsung Electronics Co., Ltd. System and method for interactive 360-degree video creation
WO2017203098A1 (en) * 2016-05-24 2017-11-30 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101802823A (zh) * 2007-08-20 2010-08-11 诺基亚公司 用于流式多媒体数据的分段的元数据和位标
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
CN107251521A (zh) * 2015-01-07 2017-10-13 三星电子株式会社 用于在通信系统中发送和接收媒体信息的方法和装置
CN107534801A (zh) * 2015-02-10 2018-01-02 诺基亚技术有限公司 用于处理图像序列轨道的方法、装置和计算机程序产品
CN107409234A (zh) * 2015-03-04 2017-11-28 高通股份有限公司 基于lct利用dash格式的基于文件格式的流式传输
CN107852532A (zh) * 2015-06-03 2018-03-27 诺基亚技术有限公司 用于视频编码的方法、装置和计算机程序
WO2019009319A1 (en) * 2017-07-06 2019-01-10 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR VIEWING INFORMATION SIGNALING FOR VIRTUAL REALITY APPLICATIONS
CN109218734A (zh) * 2017-07-07 2019-01-15 诺基亚技术有限公司 用于视频编码和解码的方法、装置和计算机程序产品

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
20190114-20190118 ; MARRAKECH ; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no.n18227》.2019,8.1 OMAF中DASH交付的体系结构-8.2.3.4叠加DASH关联. *
YE-KUI WANG ET AL.WD of ISO/IEC 23090-2 2nd edition OMAF.《MPEG MEETING *
基于HTTP的动态自适应流技术综述;朱晓晨;沈苏彬;;系统仿真学报(11);全文 *
流文件MP4文件的核心技术;郑翔, 周秉峰, 叶志远, 司端锋, 方喜锋;计算机应用;20040528(05);全文 *

Also Published As

Publication number Publication date
CN113574900A (zh) 2021-10-29
EP3939327A1 (en) 2022-01-19
EP3939327A4 (en) 2022-12-21
US20220150296A1 (en) 2022-05-12
WO2020188142A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
JP6735415B2 (ja) オーディオビジュアルコンテンツの観察点および観察向きの制御された選択のための方法および装置
CN111417008B (zh) 用于虚拟现实的方法、装置和计算机可读介质
US11094130B2 (en) Method, an apparatus and a computer program product for video encoding and video decoding
US11651752B2 (en) Method and apparatus for signaling user interactions on overlay and grouping overlays to background for omnidirectional content
US11805303B2 (en) Method and apparatus for storage and signaling of media segment sizes and priority ranks
EP3695611A1 (en) Method, device, and computer program for generating timed media data
EP3777137A1 (en) Method and apparatus for signaling of viewing extents and viewing space for omnidirectional content
US11438731B2 (en) Method and apparatus for incorporating location awareness in media content
CN113574900B (zh) 用于对媒体内容中的实体进行分组的方法和装置
US11722751B2 (en) Method, an apparatus and a computer program product for video encoding and video decoding
EP3777219B1 (en) Method and apparatus for signaling and storage of multiple viewpoints for omnidirectional audiovisual content

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40064167

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant