CN110870323A - 使用全向媒体格式处理媒体数据 - Google Patents

使用全向媒体格式处理媒体数据 Download PDF

Info

Publication number
CN110870323A
CN110870323A CN201880045523.4A CN201880045523A CN110870323A CN 110870323 A CN110870323 A CN 110870323A CN 201880045523 A CN201880045523 A CN 201880045523A CN 110870323 A CN110870323 A CN 110870323A
Authority
CN
China
Prior art keywords
track
sample
data
video data
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880045523.4A
Other languages
English (en)
Other versions
CN110870323B (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110870323A publication Critical patent/CN110870323A/zh
Application granted granted Critical
Publication of CN110870323B publication Critical patent/CN110870323B/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • 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
    • 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
    • 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/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种装置,其包含处理器,所述处理器经配置以处理具有第一合成时间的第一轨的第一样本,确定与所述第一轨相关联的第二轨在所述第一合成时间处是否具有可用样本,当所述第二轨在所述第一合成时间处具有所述可用样本时,选择所述第二轨的所述可用样本作为与所述第一样本的所述第一合成时间具有共同合成时间的第二样本,当所述第二轨在所述第一合成时间处不具有所述可用样本时,选择具有为最近可用前一合成时间的合成时间的所述第二轨的样本作为与所述第一样本的所述第一合成时间具有所述共同合成时间的所述第二样本,且响应于选择所述第二样本而处理所述第二样本。

Description

使用全向媒体格式处理媒体数据
本申请案请求2017年7月10日提交的美国临时申请案第62/530,746号及2018年7月5日提交的美国申请案第16/028,248号的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及经编码视频数据的存储及传送。
背景技术
数字媒体能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265(也称为高效率视频译码(HEVC))所界定的标准及这些标准的扩展(例如,可调式扩展及多视图扩展)中描述的视频压缩技术,以更有效地发射并接收数字视频信息。
在媒体数据已编码之后,可将媒体数据封包化以用于发射或存储。可以将媒体数据汇编成符合多种标准中的任一者的媒体文件,所述标准例如国际标准化组织(International Organization for Standardization,ISO)基本媒体文件格式(BMFF)及其扩展,例如AVC。
发明内容
一般来说,本发明描述与处理及发射(例如,发送及/或接收或检索)媒体数据以用于虚拟实境(virtual reality,VR)、扩增实境及/或360度视频应用中相关的技术。特定地说,本发明描述用于处理符合全向媒体格式的媒体数据的技术。
在一个实例中,处理媒体数据的方法包含:处理媒体文件的第一轨的第一样本,第一轨具有第一合成时间;确定第二轨在第一合成时间处是否具有可用样本,所述第二轨与第一轨相关联;当第二轨在第一合成时间处具有可用样本时,选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;当第二轨在第一合成时间处不具有可用样本时,选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;且响应于选择第二样本而处理第二样本。
在另一实例中,用于处理媒体数据的装置包含经配置以存储视频数据的存储器,及经配置以进行以下操作的包括电路系统的处理器:处理具有第一合成时间的第一轨的第一样本;确定与第一轨相关联的第二轨在第一合成时间处是否具有可用样本;当第二轨在第一合成时间处具有可用样本时,选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;当第二轨在第一合成时间处不具有可用样本时,选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;且响应于选择第二样本而处理第二样本。
在另一实例中,用于处理媒体数据的装置包含:用于处理媒体文件的第一轨的第一样本的装置,所述第一轨具有第一合成时间;用于确定媒体文件的第二轨在第一合成时间处是否具有可用样本的装置,所述第二轨与第一轨相关联;用于在第二轨在第一合成时间处具有可用样本时,选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本的装置;用于在第二轨在第一合成时间处不具有可用样本时,选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本的装置;以及用于响应于选择第二样本而处理第二样本的装置。
在另一实例中,计算机可读存储媒体在其上存储有指令,所述指令在执行时使得处理器进行以下操作:处理第一轨的第一样本,第一轨具有第一合成时间;确定所述媒体文件的第二轨在第一合成时间处是否具有可用样本,所述第二轨与第一轨相关联;当第二轨在第一合成时间处具有可用样本时,选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;当第二轨在第一合成时间处不具有可用样本时,选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;且响应于选择第二样本而处理第二样本。
在以下附图及描述中阐述一或多个实例的细节。其它特征、目标及优点将从实施方式及图式以及权利要求书显而易见。
附图说明
图1为说明实例系统的框图,所述实例系统实施用于经由网络来流式传输媒体数据的技术。
图2为说明检索单元的实例组件的集合的框图。
图3为说明实例多媒体内容的元素的概念图。
图4为说明实例视频文件的元素的框图,所述实例视频文件可对应于表示的区段。
图5为说明根据本发明的技术处理媒体数据的实例方法的流程图。
具体实施方式
本发明的技术可应用于符合根据ISO基本媒体文件格式(ISOBMFF)、对ISOBMFF的扩展、可调式视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、高效视频译码(HEVC)文件格式、第三代合作伙伴计划(3GPP)文件格式及/或多视图视频译码(MVC)文件格式或其它视频文件格式中的任一者封装的视频数据的视频文件。ISO BMFF的草案指定于ISO/IEC14496-12中,可从phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zip获得。另一实例文件格式MPEG-4文件格式的草案指定于ISO/IEC 14496-15中,可从wg11.sc29.org/doc_end_user/documents/115_Geneva/wg11/w16169-v2-w16169.zip获得。
ISOBMFF用作许多编解码器封装格式(例如AVC文件格式)以及用于许多多媒体容器格式(例如MPEG-4文件格式、3GPP文件格式(3GP)及数字视频广播(DVB)文件格式)的基础。
除例如音频及视频的连续媒体之外,例如图像的静态媒体以及元数据可存储于符合ISOBMFF的文件中。根据ISOBMFF结构化的文件可用于许多用途,包含本地媒体文件播放、远程文件的渐进式下载、用于经由HTTP的动态自适应流式传输(DASH)的区段、用于待流式传输的内容及其封包化指令的容器及所接收的实时媒体流的记录。
逻辑框(box)为ISOBMFF中的基本语法结构,包含四字符译码逻辑框类型、逻辑框的字节计数及有效负载。ISOBMFF文件包含一系列逻辑框,且逻辑框可含有其它逻辑框。根据ISOBMFF,电影逻辑框(“moov”)含有存在于文件中的连续媒体流的元数据,每一连续媒体流在文件中表示为轨。根据ISOBMFF,将用于轨的元数据围封于轨逻辑框(“trak”)中,而将轨的媒体内容围封于媒体数据逻辑框(“mdat”)中或直接设置于单独文件中。用于轨的媒体内容包含一系列样本,例如音频或视频存取单元。
ISOBMFF指定以下类型的轨:媒体轨,其含有基本媒体流;提示轨,其包含媒体发射指令或表示所接收的封包化流;及计时元数据轨,其包括时间同步的元数据。
尽管最初是针对存储而设计,但已证明ISOBMFF对于流式传输(例如,用于渐进式下载或DASH)极有价值。为了流式传输目的,可使用在ISOBMFF中定义的电影片段。
每一轨的元数据包含样本描述项的列表,每一项提供在轨中使用的译码或封装格式及对于处理所述格式需要的初始化数据。各样本与轨的样本描述项中的一者相关联。
ISOBMFF实现通过各种机构指定样本特定元数据。样本表逻辑框(“stbl”)内的特定逻辑框已经标准化以响应普通需求。举例来说,同步样本逻辑框(“stss”)用以列举轨的随机存取样本。样本分群机构实现根据四字符分群类型将样本映射到共享在文件中指定为样本群组描述项的同一性质的样本群组。已在ISOBMFF中指定若干分群类型。
虚拟实境(VR)为虚拟地存在于通过再现自然及/或合成图像及与沉浸用户的运动相关的声音而建立的虚拟非实体世界中,从而允许与所述虚拟世界交互的能力。在再现装置(例如头戴式显示器(HMD))及VR视频(常常也称作360度视频)创建中做出的最新进展下,可提供质量显著的体验。VR应用包含游戏、训练、教育、运动视频、线上购物、夹带等。
典型VR系统包含如下组件及步骤:
1)相机套件,其通常包含指向不同方向的多个个别相机,理想地共同覆盖所述相机套件周围的所有视点。
2)图像拼接,其中通过多个个别相机拍摄的视频图片在时间域中经同步并在空间域中拼接,以形成球体视频,但映射到矩形格式,例如等矩形(如世界地图)或立方体映射。
3)所映射矩形格式中的视频使用视频编解码器,例如H.265/HEVC或H.264/AVC,来编码/压缩。
4)经压缩的视频位流可以媒体格式存储及/或封装且经由网络发射(可能仅覆盖用户所见区域的子组,有时称为检视区)到接收装置(例如,客户端装置)。
5)接收装置接收可能以文件格式封装的视频位流或其部分,并将经解码视频信号或其部分发送到再现装置(其可作为接收装置包含于同一客户端装置中)。
6)再现装置可为例如HMD,其可跟踪头部运动及甚至眼睛运动时刻,且可再现视频的对应部分,以使得向用户提供沉浸式体验。
全向媒体格式(OMAF)由动画专家组(Moving Pictures Experts Group,MPEG)开发以定义实现全向媒体应用的媒体格式,其聚焦于具有360度视频及相关联音频的VR应用。OMAF指定可用于将球体或360度视频转换成二维矩形视频的一系列投影方法,以及如何使用ISO基本媒体文件格式(ISOBMFF)存储全向媒体及相关联元数据,及如何使用HTTP动态自适应流式传输(DASH)封装、发信及流式传输全向媒体,及最终哪些视频及音频编解码器以及媒体译码配置可用于压缩及播放全向媒体信号。OMAF将成为ISO/IEC 23090-2,且规范草案可从wg11.sc29.org/doc_end_user/documents/119_Torino/wg11/m40849-v1-m40849_OMAF_text_Berlin_output.zip获得。
在例如DASH的HTTP流式传输协议中,频繁使用的操作包含HEAD、GET及部分GET。HEAD操作检索与给定的统一资源定位符(URL)或统一资源名称(URN)相关联的文件的标头,但不检索与URL或URN相关联的有效负载。GET操作检索与给定URL或URN相关的整个文件。部分GET操作接收字节范围作为输入参数且检索文件的连续数目个字节,其中字节的数目对应于所接收字节范围。因此,可提供电影片段以用于HTTP流式传输,这是因为部分GET操作能够得到一或多个单独的电影片段。在电影片段中,可能存在不同轨的若干轨片段。在HTTP流式传输中,媒体呈现可为客户端可存取的数据的结构化集合。客户端可请求且下载媒体数据信息以向用户呈现流式传输服务。
DASH指定于ISO/IEC 23009-1中,且为用于HTTP(自适应性)流式传输应用的标准。ISO/IEC 23009-1主要指定媒体呈现描述(MPD)的格式(也称为清单或清单文件)及媒体区段格式。MPD描述服务器装置上可用的媒体且在适当媒体时间处使DASH客户端自主地下载适当媒体版本。
在使用HTTP流式传输来流式传输3GPP数据的实例中,可能存在多媒体内容的视频及/或音频数据的多个表示。如下文所解释,不同表示可对应于不同译码特性(例如,视频译码标准的不同配置文件或层级)、不同译码标准或译码标准的扩展(例如多视图及/或可缩放扩展)或不同位速率。这些表示的清单可在媒体呈现描述(MPD)数据结构中定义。媒体呈现可对应于HTTP流式传输客户端装置可存取的数据的结构化集合。HTTP流式传输客户端装置可请求且下载媒体数据信息以向客户端装置的用户呈现流式传输服务。媒体呈现可在MPD数据结构中描述,MPD数据结构可包含MPD的更新。
媒体呈现可含有一系列一或多个周期。每一周期可延伸直到下一周期开始为止,或在最后一个周期的情况下,直到媒体呈现结束为止。每一周期可含有针对同一媒体内容的一或多个表示。表示可为音频、视频、计时文本或其它这类数据的数个替代性经编码版本中的一者。表示可因编码类型而异(例如,对于视频数据,因位速率、分辨率及/或编解码器而异,及对于音频数据,因位速率、语言及/或编解码器而异)。术语表示可用以指代经编码音频或视频数据对应于多媒体内容的特定周期且以特定方式编码的部分。
特定周期的表示可指配到由MPD中的属性(其指示表示所属的适应集合)指示的群组。同一适应集合中的表示通常被视为彼此的替代,这是因为客户端装置可在这些表示之间动态地且顺畅地切换,例如执行带宽适应。举例来说,特定周期的视频数据的每一表示可指配到同一适应集合,以使得可选择所述表示中的任一者进行解码以呈现对应周期的多媒体内容的媒体数据(例如视频数据或音频数据)。在一些实例中,一个周期内的媒体内容可由来自群组0(如果存在)的一个表示来表示,或由来自每一非零群组的最多一个表示的组合来表示。周期的每一表示的定时数据可相对于所述周期的开始时间来表达。
表示可包含一或多个区段。每一表示可包含初始化区段,或表示的每一区段可自初始化。当存在时,初始化区段可含有用于存取表示的初始化信息。一般来说,初始化区段不含有媒体数据。区段可由识别符唯一地参考,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源识别符(URI)。MPD可为每一区段提供识别符。在一些实例中,MPD还可提供呈范围属性形式的字节范围,所述范围属性可对应于可通过URL、URN或URI存取的文件内的区段的数据。
可选择不同表示以用于大体上同时检索不同类型的媒体数据。举例来说,客户端装置可选择进行区段检索的音频表示、视频表示及计时文本表示。在一些实例中,客户端装置可选择特定适应集合以用于执行带宽适应。即,客户端装置可选择包含视频表示的适应集合、包含音频表示的适应集合及/或包含计时文本的适应集合。或者,客户端装置可选择某些类型的媒体(例如,视频)的适应集合,并直接选择其它类型的媒体(例如,音频及/或计时文本)的表示。
用于基于DASH的HTTP流式传输的典型程序包含以下步骤:
1)DASH客户端获取流式传输内容的MPD,例如,影片。MPD包含关于流式传输内容的不同替代表示(例如,位速率、视频分辨率、帧速率、音频语言)以及HTTP资源的URL(初始化区段及媒体区段)的信息。
2)基于MPD中的信息及可供DASH客户端使用的本地信息,例如网络带宽、解码/显示能力及用户偏好,DASH客户端请求期望的表示,每次一个片段(或其一部分)。
3)当所述DASH客户端检测到网络带宽变化时,其请求具有较好匹配位速率的不同表示的区段,理想地从以随机存取点开始的区段开始。
HTTP流式传输“会话”期间,为对用户请求作出响应以反向搜索过去位置或正向搜索未来位置,所述DASH客户端请求始于接近所要位置且理想地开始于随机存取点的区段的过去或未来区段。用户还可请求快进内容,其可通过请求足够用于解码仅经帧内译码视频图片或仅视频流的时间子组的数据来实现。
视频数据可根据各种视频译码标准编码。这类视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IECMPEG-4Visual、ITU-T H.264或ISO/IEC MPEG-4AVC(包含其可调式视频译码(SVC)及多视图视频译码(MVC)扩展)及高效视频译码(HEVC)(还被称作ITU-T H.265及ISO/IEC23008-2,包含其可调式译码扩展(即,可调式高效视频译码,SHVC)及多视图扩展(即,多视图高效视频译码,MV-HEVC))。
本发明描述可能添加到OMAF规范草案的各种约束,以改进媒体数据的处理(例如封装、解封、编码及/或解码)。一般来说,这类约束使得装置能够通过数据汇编器/构造器(例如内容准备装置或服务器装置)或通过数据解析器(例如客户端装置,例如文件处理单元或解封单元)来推断媒体位流的特征,从而使得不必考虑根据约束不会发生的事件。举例来说,如果约束指定某些数据仅可在条件为真时存在,如果条件为假,那么不必处理受约束的数据。另外或替代地,如果数据存在,那么所述条件可推断为真。更特定地说,可形成对应于位流的上下文背景无关文法,其考虑各种条件来指定后续数据是否对应于受约束的数据。同样,可根据上下文背景无关文法实施并配置数据产生单元及数据解析单元。
图1为说明实例系统10的框图,所述实例系统实施用于经由网络流式传输媒体数据的技术。在这个实例中,系统10包含内容准备装置20、服务器装置60及客户端装置40。客户端装置40及服务器装置60通过网络74以通信方式耦合,网络74可包括因特网。在一些实例中,内容准备装置20与服务器装置60还可通过网络74或另一网络耦合,或可直接以通信方式耦合。在一些实例中,内容准备装置20及服务器装置60可包括相同装置。
在图1的实例中,内容准备装置20包括音频源22及视频源24。音频源22可包括(例如)麦克风,其产生表示待通过音频编码器26编码的所检索音频数据的电信号。或者,音频源22可包括存储先前记录的音频数据的存储媒体、音频数据产生器(例如,计算机化的合成器)或任何其它音频数据源。视频源24可包括:摄像机,其产生待通过视频编码器28编码的视频数据;存储媒体,其编码有先前记录的视频数据;视频数据产生单元,例如计算机图形源;或任何其它视频数据源。内容准备装置20未必在所有实例中均以通信方式耦合到服务器装置60,而可将多媒体内容存储到由服务器装置60读取的单独媒体。
原始音频及视频数据可包括模拟或数字数据。模拟数据在通过音频编码器26及/或视频编码器28编码之前可被数字化。音频源22可在说话参与者正在说话时从说话参与者获得音频数据,且视频源24可同时获取说话参与者的视频数据。在其它实例中,音频源22可包括包含所存储的音频数据的计算机可读存储媒体,且视频源24可包括包含所存储的视频数据的计算机可读存储媒体。以这种方式,本发明中所描述的技术可应用于实况、流式传输、实时音频及视频数据或所存档的、预先记录的音频及视频数据。
对应于视频帧的音频帧通常为含有通过音频源22检索(或产生)的音频数据的音频帧,音频数据同时伴随含于视频帧内的通过视频源24检索(或产生)的视频数据。举例来说,当说话参与者通常通过说话而产生音频数据时,音频源22检索音频数据,且视频源24同时(即,在音频源22正检索音频数据的同时)检索说话参与者的视频数据。因此,音频帧在时间上可对应于一或多个特定视频帧。因此,对应于视频帧的音频帧大体上对应于同时检索到的音频数据及视频数据且音频帧及视频帧分别包括同时检索到的音频数据及视频数据的情形。
在一些实例中,音频编码器26可对每一经编码音频帧中表示记录经编码音频帧的音频数据的时间的时戳进行编码,且类似地,视频编码器28可对每一经编码视频帧中表示记录经编码视频帧的视频数据的时间的时戳进行编码。在这些实例中,对应于视频帧的音频帧可包括:包括时戳的音频帧及包括相同时戳的视频帧。内容准备装置20可包含内部时钟,音频编码器26及/或视频编码器28可根据所述内部时钟产生时戳,或音频源22及视频源24可使用所述内部时钟以分别使音频数据及视频数据与时戳相关联。
在一些实例中,音频源22可向音频编码器26发送对应于记录音频数据的时间的数据,且视频源24可向视频编码器28发送对应于记录视频数据的时间的数据。在一些实例中,音频编码器26可对经编码音频数据中的序列识别符进行编码以指示经编码音频数据的相对时间排序,但未必指示记录音频数据的绝对时间,且相似地,视频编码器28还可使用序列识别符来指示经编码视频数据的相对时间排序。类似地,在一些实例中,序列识别符可经映射或以其它方式与时戳相关。
音频编码器26通常产生经编码音频数据流,而视频编码器28产生经编码视频数据流。每一个别数据流(不论音频或视频)可被称作基本流。基本流为表示的单个经数字译码(可能经压缩)的分量。举例来说,表示的经译码视频或音频部分可为基本流。基本流可在被封装于视频文件内之前被转换成封包化基本流(PES)。在相同表示内,可使用流ID来区分属于一个基本流的PES包与属于其它基本流的PES包。基本流的数据的基本单元为经封包化基本流(PES)数据包。因此,经译码视频数据大体对应于基本视频流。类似地,音频数据对应于一或多个相应基本流。
许多视频译码标准(例如,ITU-T H.264/高级视频译码(AVC)及ITU-T H.265/高效视频译码(HEVC))界定无误差位流的语法、语义及解码过程,所述无误差位流中的任一者符合特定配置文件或层级。视频译码标准通常并不指定编码器,但编码器具有保证所产生的位流对于一致解码器而言为标准相容的任务。在视频译码标准的上下文背景中,“配置文件”对应于算法、特征或工具及应用于算法、特征或工具的约束的子集。如由H.264标准所定义,例如“配置文件”为由H.264标准指定的完整位流语法的子集。“层级”对应于解码器资源消耗,例如解码器存储器及计算的限制,所述限制涉及图片分辨率、位速率及块处理速率。配置文件可用profile_idc(配置文件指示符)值传信,而层级可用level_idc(层级指示符)值传信。
举例来说,H.264标准认为,在由给定配置文件的语法所强加的界限内,仍然可能要求编码器及解码器的性能有较大变化,这取决于位流中的语法元素(例如,经解码图片的指定大小)所取的值。H.264标准进一步认为,在许多应用中,实施能够处理特定配置文件内的语法的所有假设使用的解码器既不实际又不经济。因此,H.264标准将“层级”定义为强加于位流中的语法元素的值上的约束的指定集。这些约束可为对值的简单限制。或者,这些约束条件可呈对值的算术组合(例如,图片宽度乘以图片高度乘以每秒解码的图片数目)的约束的形式。H.264标准进一步规定,对于每一所支持配置文件,个别实施方案可支持不同层级。
符合配置文件的解码器一般支持配置文件中所定义的所有特征。举例来说,作为译码特征,B图片译码在H.264/AVC的基线配置文件中不被支持,但在H.264/AVC的其它配置文件中被支持。符合某一层级的解码器应能够对不需要超出所述层级中所定义的限制的资源的任何位流进行解码。配置文件及层级的定义可对可解译性有帮助。举例来说,在视频发射期间,可针对整个发射工作阶段协商及同意一对配置文件定义及层级定义。更确切地说,在H.264/AVC中,层级可定义对需要处理的宏块数目、经解码图片缓冲器(DPB)大小、经译码图片缓冲器(CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最大数目以及B块是否可具有小于8×8像素的子宏块分区的限制。以这种方式,解码器可确定解码器是否能够适当地对位流进行解码。
在图1的实例中,内容准备装置20的封装单元30从视频编码器28接收包括经译码视频数据的基本流且从音频编码器26接收包括经译码音频数据的基本。在一些实例中,视频编码器28及音频编码器26可各自包含用于从经编码数据形成PES包的封包化器。在其它实例中,视频编码器28及音频编码器26可各自与用于从经编码数据形成PES包的相应封包化器介接。在另外其它实例中,封装单元30可包含用于从经编码音频及视频数据形成PES包的封包化器。
视频编码器28可以多种方式对多媒体内容的视频数据进行编码,从而以各种位速率且以各种特性产生多媒体内容的不同表示,所述特性例如像素分辨率、帧速率、对各种译码标准的符合性、对各种译码标准的各种配置文件及/或配置文件层级的符合性、具有一或多个视图的表示(例如,对于二维或三维播放)或其它这类特性。如本发明中所使用,表示可包括音频数据、视频数据、文本数据(例如,用于封闭字幕)或其它这类数据中的一者。表示可包含例如音频基本流或视频基本流的基本流。每一PES包可包含识别PES包所属的基本流的stream_id。封装单元30负责将基本流汇编成各种表示的视频文件(例如,区段)。
封装单元30从音频编码器26及视频编码器28接收表示的基本流的PES包且从所述PES包形成对应的网络抽象层(NAL)单元。译码视频区段可经组织成NAL单元,其提供“网络友好”视频表示定址应用,例如视频电话、存储器、广播或流式传输。NAL单元可分类为视频译码层(VCL)NAL单元及非VCL NAL单元。VCL单元可含有核心压缩引擎,且可包含块、宏块及/或切片层级数据。其它NAL单元可为非VCL NAL单元。在一些实例中,一个时间执行个体中的经译码图片(通常呈现为初级译码图片)可含于存取单元中,所述存取单元可包含一或多个NAL单元。
非VCL NAL单元可尤其包含参数集NAL单元及SEI NAL单元。参数集可含有序列层级标头信息(在序列参数集(SPS)中)及不频繁改变的图片层级标头信息(在图片参数集(PPS)中)。对于参数集(例如,PPS及SPS),不频繁改变的信息不需要关于每一序列或图片重复,因此可改进译码效率。此外,使用参数集可实现重要标头信息的带外发射,从而避免对用于抗误码的冗余发射的需要。在带外发射实例中,参数集NAL单元可在与其它NAL单元(例如,SEI NAL单元)不同的信道上发射。
补充增强信息(SEI)可含有对于对来自VCL NAL单元的经译码图片样本进行解码并非必需的信息,但可辅助与解码、显示、抗误码及其它目的相关的过程。SEI消息可含于非VCL NAL单元中。SEI消息为一些标准规范的标准化部分,且因此对于标准相容的解码器实施方案并非始终必选的。SEI消息可为序列层级SEI消息或图片层级SEI消息。某一序列层级信息可含于SEI消息中,例如SVC的实例中的可缩放性信息SEI消息,及MVC中的视图可缩放性信息SEI消息。这些实例SEI消息可传达关于例如操作点的提取及操作点的特性的信息。另外,封装单元30可形成清单文件,例如描述表示的特征的媒体呈现描述符(MPD)。封装单元30可根据可扩展标示语言(XML)来格式化MPD。
封装单元30可向输出接口32提供多媒体内容的一或多个表示的数据以及清单文件(例如,MPD)。输出接口32可包括网络接口或用于对存储媒体进行写入的接口,例如通用串行总线(USB)接口、CD或DVD写入器或烧录器、到磁性或闪存存储媒体的接口,或用于存储或发射媒体数据的其它接口。封装单元30可向输出接口32提供多媒体内容的表示中的每一者的数据,所述输出接口可经由网络发射或存储媒体向服务器装置60发送所述数据。在图1的实例中,服务装置60包含存储各种多媒体内容64的存储媒体62,每一多媒体内容64包含相应清单文件66及一或多个表示68A到68N(表示68)。在一些实例中,输出接口32还可将数据直接发送到网络74。
在一些实例中,表示68可分成若干适应集合。即,表示68的各种子集可包含相应共同特性集合,例如编解码器、配置文件及层级、分辨率、视图数目、区段的文件格式、可识别待与待解码及呈现的表示及/或音频数据(例如,由扬声器发出)一起显示的文本的语言或其它特性的文本类型信息、可描述适应集合中的表示的场景的相机角度或真实世界相机视角的相机角度信息、描述对于特定观众的内容适合性的分级信息,或其类似信息。
清单文件66可包含指示对应于特定适应集合的表示68的子集以及所述适应集合的共同特性的数据。清单文件66还可包含表示适应集合的个别表示的个别特性(例如位速率)的数据。以这种方式,适应集合可提供简化网络带宽适应。适应集合中的表示可使用清单文件66的适应集合元素的子代元素来指示。
服务器装置60包含请求处理单元70及网络接口72。在一些实例中,服务器装置60可包含多个网络接口。此外,服务器装置60的特征中的任一者或全部可在内容递送网络的其它装置(例如,路由器、桥接器、代理装置、交换器或其它装置)上实施。在一些实例中,内容递送网络的中间装置可高速缓存多媒体内容64的数据,且包含大体上符合服务器装置60的那些组件的组件。一般来说,网络接口72经配置以经由网络74来发送及接收数据。
请求处理单元70经配置以从客户端装置,例如客户端装置40接收对存储媒体62的数据的网络请求。举例来说,请求处理单元70可实施超文本传送协议(HTTP)版本1.1,如RFC2616中由R.Fielding等人的“超文本传输协议—HTTP/1.1(Hypertext TransferProtocol-HTTP/1.1)”,网络工作组(Network Working Group),IETF,1999年6月中所描述。即,请求处理单元70可经配置以接收HTTP GET或部分GET请求,且响应于所述请求而提供多媒体内容64的数据。请求可指定表示68中的一者的区段,例如使用区段的URL指定。在一些实例中,所述请求还可指定区段的一或多个字节范围,因此包括部分GET请求。请求处理单元70可经进一步配置以服务于HTTP HEAD请求以提供表示68中的一者的区段的标头数据。在任何情况下,请求处理单元70可经配置以处理所述请求以向请求装置(例如客户端装置40)提供所请求的数据。
另外地或替代地,请求处理单元70可经配置以经由例如eMBMS的广播或多播协议而递送媒体数据。内容准备装置20可以与所描述大体上相同的方式产生DASH区段及/或子区段,但服务器装置60可使用eMBMS或另一广播或多播网络传送协议来递送这些区段或子区段。举例来说,请求处理单元70可经配置以从客户端装置40接收多播群组加入请求。即,服务器装置60可向客户端装置(包含客户端装置40)通告与多播群组相关联的因特网协议(IP)地址,其与特定媒体内容(例如,实况事件的广播)相关联。客户端装置40转而可呈送加入多播群组的请求。所述请求可遍及网络74(例如,构成网络74的路由器)传播,以促使所述路由器将去往与多播群组相关的IP地址的业务导向到订用的客户端装置(例如客户端装置40)。
如图1的实例中所说明,多媒体内容64包含清单文件66,所述清单文件66可对应于媒体呈现描述(MPD)。清单文件66可含有不同替代表示68(例如,具有不同质量的视频服务)的描述,且所述描述可包含例如表示68的编解码器信息、配置文件值、层级值、位速率及其它描述性特性。客户端装置40可检索媒体呈现的MPD以确定如何存取表示68的区段。
具体来说,检索单元52可检索客户端装置40的配置数据(未展示)以确定视频解码器48的解码能力及视频输出端44的再现能力。配置数据还可包含由客户端装置40的用户选择的语言偏好、对应于由客户端装置40的用户设定的深度偏好的一或多个相机视角及/或由客户端装置40的用户选择的分级偏好中的任一者或全部。举例来说,检索单元52可包括经配置以呈送HTTP GET及部分GET请求的网页浏览器或媒体客户端。检索单元52可对应于由客户端装置40的一或多个处理器或处理单元(未展示)执行的软件指令。在一些实例中,关于检索单元52所描述的功能性的全部或部分可在硬件或硬件、软件及/或固件的组合中实施,其中可提供必需的硬件以执行软件或固件的指令。
检索单元52可将客户端装置40的解码及再现能力与由清单文件66的信息所指示的表示68的特性进行比较。检索单元52可最初检索清单文件66的至少一部分以确定表示68的特性。举例来说,检索单元52可请求描述一或多个适应集合的特性的清单文件66的一部分。检索单元52可选择表示68(例如,适应集)的具有可由客户端装置40的译码及再现能力所满足的特征的子集。检索单元52可接着确定用于适应集合中的表示的位速率,确定网络带宽的当前可用量,且从具有网络带宽可满足的位速率的表示中的一者检索区段。
一般来说,较高位速率表示可产生较高质量的视频播放,而较低位速率表示可在可用网络带宽减少时提供足够质量的视频播放。因此,当可用网络带宽相对高时,检索单元52可从相对高位速率的表示检索数据,而当可用网络带宽较低时,检索单元52可从相对低位速率的表示检索数据。以这种方式,客户端装置40可经由网络74流式传输多媒体数据,同时还适应网络74的变化网络带宽可用性。
另外或替代地,检索单元52可经配置以根据例如eMBMS或IP多播的广播或多播网络协议来接收数据。在这些实例中,检索单元52可呈送加入与特定媒体内容相关联的多播网络群组的请求。在加入多播群组之后,检索单元52可在其它请求未发出到服务器装置60或内容准备装置20的情况下接收多播群组的数据。检索单元52可呈送当不再需要多播群组的数据时离开多播群组的请求,例如停止播放或将信道改变到不同多播群组。
网络接口54可接收所选表示的区段的数据且将所述数据提供到检索单元52,所述检索单元转而可将所述数据提供到文件处理单元50。文件处理单元50可将视频文件的元素解封为组成性PES流,将所述PES流解封包化以检索经编码数据,且取决于经编码数据为音频流的部分或视频流的部分(例如如由所述流的PES包标头所指示)而将经编码数据发送到音频解码器46或视频解码器48。音频解码器46解码经编码音频数据,且将经解码音频数据发送到音频输出端42,而视频解码器48解码经编码视频数据,且将经解码视频数据发送到视频输出端44,经解码视频数据可包含流的多个视图。
适用时,视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52及文件格式处理单元50各自可经实施为多种合适的处理电路系统中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器28及视频解码器48中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可经集成为组合式视频编码器/解码器(CODEC)的部分。同样地,音频编码器26及音频解码器46中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可经集成为组合式CODEC的部分。包含视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52及/或文件格式处理单元50的设备可包括集成电路、微处理器及/或例如蜂窝式电话的无线通信装置。
客户端装置40、服务器装置60及/或内容准备装置20可经配置以根据本发明的技术操作。出于实例的目的,本发明关于客户端装置40及服务器装置60描述这些技术。然而,应理解,替代服务器装置60(或除此之外),内容准备装置20可经配置以执行这些技术。
封装单元30可形成包括识别NAL单元所属的程序的标头的NAL单元以及有效负载,例如音频数据、视频数据或描述NAL单元对应的传送或程序流的数据。举例来说,在H.264/AVC中,NAL单元包含1字节标头及不同大小的有效负载。在有效负载中包含视频数据的NAL单元可包括各种粒度水准的视频数据。举例来说,NAL单元可包括视频数据块、多个块、视频数据的切片或视频数据的整个图片。封装单元30可从视频编码器28接收呈基本流的PES包形式的经编码视频数据。封装单元30可使每一基本流与对应程序相关联。
封装单元30还可汇编来自多个NAL单元的存取单元。一般来说,存取单元可包括用于表示视频数据的帧以及对应于所述帧的音频数据(当所述音频数据可用时)的一或多个NAL单元。存取单元通常包含一个输出时间执行个体的所有NAL单元,例如一个时间执行个体的所有音频及视频数据。举例来说,如果每一视图具有20帧/秒(fps)的帧速率,那么每一时间执行个体可对应于0.05秒的时间间隔。在这个时间间隔期间,可同时呈现相同存取单元(相同时间执行个体)的所有视图的特定帧。在一个实例中,存取单元可包括一个时间执行个体中的经译码图片,其可呈现为初级经译码图片。
因此,存取单元可包括共同时间执行个体的所有音频帧及视频帧,例如对应于时间X的所有视图。本发明还将特定视图的经编码图片称为“视图分量”。即,视图分量可包括在特定时间针对特定视图的经编码图片(或帧)。因此,存取单元可定义为包括共同时间执行个体的所有视图分量。存取单元的解码次序未必与输出或显示次序相同。
媒体呈现可包含媒体呈现描述(MPD),所述媒体呈现描述可含有不同替代表示(例如,具有不同质量的视频服务)的描述,且所述描述可包含例如编解码器信息、配置文件值及层级值。MPD为清单文件(例如清单文件66)的一个实例。客户端装置40可检索媒体呈现的MPD以确定如何存取各种呈现的电影片段。电影片段可位于视频文件的电影片段逻辑框(moof逻辑框)中。
清单文件66(其可包括例如MPD)可通告表示68的区段的可用性。即,MPD可包含指示表示68中的一者的第一区段变得可用时的挂钟时间的信息,以及指示表示68内的区段的持续时间的信息。以这种方式,客户端装置40的检索单元52可基于开始时间以及在特定区段之前的区段的持续时间而确定每一区段可用的时间。
在封装单元30已基于所接收的数据将NAL单元及/或存取单元汇编成视频文件之后,封装单元30将视频文件传递到输出接口32以用于输出。在一些实例中,封装单元30可将视频文件存储在本地,或经由输出接口32将视频文件发送到远程服务器,而非将视频文件直接发送到客户端装置40。输出接口32可包括例如发射器、收发器、用于将数据写入到例如光驱、磁性媒体驱动器(例如,软盘驱动器)的计算机可读媒体的装置、通用串行总线(USB)端、网络接口,或其它输出接口。输出接口32将视频文件输出到计算机可读媒体,例如发射信号、磁性媒体、光学媒体、存储器、闪存盘或其它计算机可读媒体。
网络接口54可经由网络74来接收NAL单元或存取单元,且经由检索单元52来将NAL单元或存取单元提供到文件处理单元50。文件处理单元50可将视频文件的元素解封为组成性PES流,将所述PES流解封包化以检索经编码数据,且取决于经编码数据为音频流的部分或视频流的部分(例如如由所述流的PES包标头所指示)而将经编码数据发送到音频解码器46或视频解码器48。音频解码器46解码经编码音频数据,且将经解码音频数据发送到音频输出端42,而视频解码器48解码经编码视频数据,且将经解码视频数据发送到视频输出端44,经解码视频数据可包含流的多个视图。
OMAF规范草案的第3.1项,“时间平行样本”的定义如下:
时间平行样本:具有相同解码时间的相关轨中的样本,或当具有相同解码时间的样本不可用时,具有相对于轨中的特定样本的解码时间最近的前一解码时间的相关轨中的样本。
所述术语用于OMAF规范草案的第7.1.1项中指定的子图片合成轨。然而,使用子图片合成轨的所述定义将需要文件合成器(例如封装单元30)或甚至视频编码器(例如视频编码器28)为属于同一合成图片的所有子图片产生相同的解码时间。这可能并非所要的,因为从视频译码观点来看,子图片位流通常彼此独立。
因此,内容准备装置20、服务器装置60及/或客户端装置40可根据如下“时间平行样本”的定义经配置:
时间平行样本:具有相同合成时间的相关轨中的样本,或当具有相同合成时间的样本不可用时,具有相对于轨中的特定样本的合成时间最近的前一合成时间的相关轨中的样本。
将改变的术语(或与基于合成时间(也被称作呈现时间)的相同或类似定义不同的术语)用于子图片合成轨。以这种方式,封装单元30及视频编码器28将不需要为属于同一合成图片的所有子图片产生相同的解码时间,充分允许子图片位流在视频译码观点上完全彼此独立。以这种方式,封装单元30、视频编码器28、检索单元52、文件处理单元50及/或视频解码器48可将第一样本及时间平行样本处理为具有相同或类似合成时间但未必具有相同解码时间的第一样本。
特定地说,封装单元30及/或文件处理单元50可处理媒体文件的第一轨的第一样本。第一样本具有第一合成(即呈现)时间。封装单元30及/或文件处理单元50可接着确定与第一轨相关联的媒体文件的第二轨在第一合成时间处是否具有可用样本。当第二轨在第一合成时间处具有可用样本时,封装单元30及/或文件处理单元50可选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本。然而,当第二轨在第一合成时间处不具有可用样本时,封装单元30及/或文件处理单元50可选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本。在任一情况下,响应于选择第二样本,封装单元30及/或文件处理单元50可处理第二样本。
OMAF规范草案的第7.1.2项指定合成限制逻辑框。所述逻辑框的存在指示轨不打算在无其它可见轨的情况下单独存在。当所述逻辑框不存在时,轨可能或可能不打算在无其它可见轨存在的情况下单独存在。本发明认识到,不必将合成限制逻辑框包含于不属于子图片合成轨群组或并非单元片轨的轨的样本项中。这是因为仅由属于子图片合成轨群组或单元片轨的轨携载的视频流可含有有意义地单独存在的不充分视频材料。然而,常规地,合成限制逻辑框可包含于任何可见轨的样本项中。
因此,除上文所论述的技术之外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据指定以下内容的约束经配置:样本项含有其合成限制逻辑框的轨应属于子图片合成轨群组或应为单元片轨。约束可进一步指定,在后一种情况下(包含合成限制逻辑框的轨为单元片轨),合成限制逻辑框的存在指示单元片轨连同相关的单元片基本轨不适用于呈现,即使在所述轨的数据可解码时也是如此。
因此,当轨包含合成限制逻辑框时,内容准备装置20、服务器装置60及/或客户端装置40中的任一者或所有可经配置以推断关于轨的特征,例如确定轨属于子图片合成轨群组或轨为单元片轨。另外或替代地,当相应轨不属于子图片合成轨群组且不为单元片轨时,内容准备装置20、服务器装置60及/或客户端装置40可经配置以避免处理对应于合成限制逻辑框的数据(例如,可推断合成限制逻辑框不存在)。
OMAF规范草案的第7.2.3项指定投影全向视频逻辑框。所述逻辑框提供关于投影类型及其它这类数据的信息。OMAF规范草案将所述逻辑框定义为Box()结构的扩展,如下所示:
Figure BDA0002358060540000161
然而,本发明认识到,所述定义不允许不同版本的投影全向视频逻辑框,以及其它缺点。因此,除上文所论述的技术以外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据投影全向视频逻辑框的定义配置为FullBox()结构的扩展,如下所示:
Figure BDA0002358060540000171
OMAF规范草案的第7.2.5项指定逐区域封装(region-wise packing,RWP)逻辑框。RWP使得能够操控(调整大小、改变位置、旋转及镜像处理)投影图片的任何矩形区域。目前,投影图片的区域可重叠。然而,本发明认识到,不存在允许重叠的技术益处。因此,允许这类重叠将使设计更复杂,这增加实施方案成本以及用于测试实施方案的成本。
因此,除上文所论述的技术之外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据避免重叠投影区域的限制,例如根据以下约束经配置:
通过proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]及proj_reg_left[i]指定的矩形应不与通过proj_reg_width[j]、proj_reg_height[j]、proj_reg_top[j]及proj_reg_left[j]指定的矩形重叠,j的任何值在0到i-1(包含端点)的范围内。
OMAF规范草案的第7.2.6项指定全局覆盖信息逻辑框。当不存在逐区域封装逻辑框时,内容覆盖整个球面。因此,本发明认识到,在这种情况下,全局覆盖信息逻辑框不必存在。然而,目前,全局覆盖信息逻辑框可在逐区域封装逻辑框不存在时存在。
因此,除上文所论述的技术之外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据指定以下内容的约束经配置:当逐区域封装逻辑框不存在时,全局覆盖信息框不应存在。或者,所述约束可能需要全局覆盖信息逻辑框指示:当逐区域封装逻辑框不存在时,覆盖度为整个球面。
OMAF规范草案的第8.2.1项指定投影格式(PF)描述符。OMAF规范草案的第8.2.2项指定逐区域封装(RWPK)描述符。OMAF规范草案指定逐区域封装仅适用于投影全向视频。因此,本发明认识到,当PF描述符不存在时,不必存在RWPK描述符。然而,目前,当PF描述符不存在时,RWPK描述符仍可能存在。
因此,除上文所论述的技术之外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据以下关于RWPK描述符的存在的约束中的任一者或所有来配置:
1)当PF描述符不直接存在于MPD中时,不应有RWPK描述符直接存在于MPD中。
2)当PF描述符不直接存在于MPD中且不直接存在于AdaptationSet元素中时,不应有RWPK描述符直接存在于AdaptationSet元素中。
3)当PF描述符不直接存在于Representation元素中,不直接存在于含有Representation元素的AdaptationSet元素中,且不直接存在于MPD中时,不应有RWPK描述符直接存在于Representation元素中。
OMAF规范草案的第8.2.1项指定投影格式(PF)描述符。OMAF规范草案的第8.2.3项指定内容覆盖(CC)描述符。仅对于投影全向视频而言存在文件格式层级的覆盖传信。因此,本发明认识到,当PF描述符不存在时,不必存在CC描述符。然而,目前,当PF描述符不存在时,CC描述符仍可能存在。
因此,除上文所论述的技术之外或替代地,内容准备装置20、服务器装置60及/或客户端装置40可根据以下关于CC描述符的存在的约束来配置:
当PF描述符不直接存在于MPD或AdaptationSet元素中时,不应有RWPK描述符存在于AdaptationSet元素中。
即,当PF描述符不直接存在于媒体文件的一或多个轨的MPD或AdaptationSet元素中时,内容准备装置20、服务器装置60及/或客户端装置40可经配置以避免处理MPD的AdaptationSet元素的RWPK描述符。为避免处理RWPK描述符,内容准备装置20、服务器装置60及/或客户端装置40可经配置以跳过处理RWPK描述符,且将常规地在RWPK描述符之前的数据之后的数据视为常规地在RWPK描述符之后的数据。
图2为更详细地说明图1的检索单元52的组件的实例集合的框图。在这个实例中,检索单元52包含eMBMS中间件单元100、DASH客户端110及媒体应用112。
在这个实例中,eMBMS中间件单元100进一步包含eMBMS接收单元106、高速缓冲存储器104及服务器单元102。在这个实例中,eMBMS接收单元106经配置以经由eMBMS接收数据,例如,根据T.Paila等人的“FLUTE—经由单向传送的文件递送(FLUTE-File Deliveryover Unidirectional Transport)”,网络工作组(Network Working Group),RFC 6726,2012年11月(可于http://tools.ietf.org/html/rfc6726获得)中所描述的经由单向传送的文件递送(FLUTE)。即,eMBMS接收单元106可经由广播而从(例如)服务器装置60(其可充当BM-SC)接收文件。
当eMBMS中间件单元100接收文件的数据时,eMBMS中间件单元可将所接收的数据存储于高速缓冲存储器104中。高速缓冲存储器104可包括计算机可读存储媒体,例如闪存存储器、硬盘、RAM或任何其它合适的存储媒体。
本地服务器单元102可充当DASH客户端110的服务器。举例来说,本地服务器单元102可将MPD文件或其它清单文件提供到DASH客户端110。本地服务器单元102可通告MPD文件中的区段的可用性时间,以及可检索所述区段的超链接。这些超链接可包含对应于客户端装置40的本机主机地址前缀(例如,IPv4的127.0.0.1)。以这种方式,DASH客户端110可使用HTTP GET或部分GET请求向本机服务器单元102请求区段。举例来说,对于可从链接http://127.0.0.1/rep1/seg3获得的区段,DASH客户端110可构建包含针对http://127.0.0.1/rep1/seg3的请求的HTTP GET请求,且将请求呈送到本地服务器单元102。本地服务器102可从高速缓冲存储器104检索所请求的数据且响应于这些请求而将数据提供到DASH客户端110。
图3为说明实例多媒体内容120的元素的概念图。多媒体内容120可对应于多媒体内容64(图1),或对应于存储于存储媒体62中的另一多媒体内容。在图3的实例中,多媒体内容120包含媒体呈现描述(MPD)122及多个表示124A到124N(表示124)。表示124A包含可选标头数据126及区段128A到128N(区段128),而表示124N包含可选标头数据130及区段132A到132N(区段132)。为了方便起见,使用字母N来指定表示124中的每一者中的最后一个电影片段。在一些实例中,表示124之间可存在不同数目的电影片段。
MPD 122可包括与表示124分开的数据结构。MPD 122可对应于图1的清单文件66。同样,表示124可对应于图2的表示68。一般来说,MPD 122可包含大体上描述表示124的特征的数据,例如译码及再现特征、适应集合、MPD 122所对应的配置文件、文本类型信息、相机角度信息、分级信息、特技模式信息(例如,指示包含时间子序列的表示的信息)及/或用于检索远程周期(例如,用于在播放期间将针对性广告插入到媒体内容中)的信息。
标头数据126(当存在时)可描述区段128的特性,例如,随机存取点(RAP,其还被称作流存取点(SAP))的时间位置、区段128中的哪一者包含随机存取点、与区段128内的随机存取点偏移的字节、区段128的统一资源定位符(URL),或区段128的其它方面。标头数据130(当存在时)可描述区段132的类似特性。另外或替代地,这些特性可完全包含于MPD 122内。
区段128、132包含一或多个经译码视频样本,其中的每一者可包含视频数据的帧或切片。区段128的经译码视频样本中的每一者可具有类似特性,例如,高度、宽度及带宽要求。这类特性可通过MPD 122的数据来描述,但所述数据在图3的实例中未说明。MPD 122可包含如3GPP规范所描述的特性,并且添加了本发明中所描述的发信信息中的任一者或全部。
区段128、132中的每一者可与唯一的统一资源定位符(URL)相关联。因此,区段128、132中的每一者可使用流式传输网络协议(例如,DASH)来独立地检索。以这种方式,例如客户端装置40的目的地装置可使用HTTP GET请求来检索区段128或132。在一些实例中,客户端装置40可使用HTTP部分GET请求来检索区段128或132的特定字节范围。
MPD 122可包含根据本发明的技术中的任一者或所有(单独地或以任何组合)构造的数据。举例来说,MPD 122可包含描述适应集合的适应集合元素,其可包含可彼此切换用于带宽适应的表示124中的一或多者。此外,MPD 122可包含投影格式(PF)描述符。在一些实例中,当PF描述符不直接存在于MPD 122或其适应集元素中时,MPD 122在适应集合中可能缺少逐区域封装(RWPK)描述符。即,当MPD 122不直接包含PF描述符或包含在适应集合元素中的PF描述符时,内容准备装置20可避免添加RWPK描述符,且文件处理单元50可避免尝试处理RWPK描述符。
图4为说明实例视频文件150的元素的框图,所述实例视频文件可对应于表示的区段,例如,图3的区段114、124中的一者。视频文件150还表示媒体文件的实例。区段128、132中的每一者可包含大体上符合图4的实例中所说明的数据布置的数据。据称视频文件150可封装区段。如上所述,根据ISO基本媒体文件格式及其扩展的视频文件将数据存储于一系列对象(称为“逻辑框”)中。在图4的实例中,视频文件150包含文件类型(FTYP)逻辑框152、电影(MOOV)逻辑框154、区段索引(sidx)逻辑框162、电影片段(MOOF)逻辑框164及电影片段随机存取(MFRA)逻辑框166。尽管图4表示视频文件的实例,但应理解,根据ISO基本媒体文件格式及其扩展,其它媒体文件可包含在结构上类似于媒体文件150的数据的其它类型的媒体数据(例如,音频数据、计时文本数据或其类似者)。
文件类型(FTYP)逻辑框152通常描述视频文件150的文件类型。文件类型逻辑框152可包含识别描述视频文件150的最佳用途的规范的数据。文件类型逻辑框152可替代地放置在MOOV逻辑框154、电影片段逻辑框164及/或MFRA逻辑框166之前。
在一些实例中,区段(例如,视频文件150)可包含在FTYP逻辑框152之前的MPD更新逻辑框(未展示)。MPD更新逻辑框可包含指示对应于包含视频文件150的表示的MPD待更新的信息,以及用于更新MPD的信息。举例来说,MPD更新逻辑框可提供待用以更新MPD的资源的URI或URL。作为另一实例,MPD更新逻辑框可包含用于更新MPD的数据。在一些实例中,MPD更新逻辑框可紧接在视频文件150的区段类型(STYP)逻辑框(未图示)之后,其中STYP逻辑框可定义视频文件150的区段类型。在下文更详细地论述的图7提供关于MPD更新逻辑框的额外信息。
在图4的实例中,MOOV逻辑框154包含电影标头(MVHD)逻辑框156、轨(TRAK)逻辑框158及一或多个电影扩展(MVEX)逻辑框160。一般来说,MVHD逻辑框156可描述视频文件150的一般特征。举例来说,MVHD逻辑框156可包含描述视频文件150最初建立的时间、视频文件150最后经修改的时间、视频文件150的时间标度、视频文件150的播放持续时间的数据,或大体上描述视频150的其它数据。
TRAK逻辑框158可包含视频文件150的轨的数据。TRAK框158可包含描述对应于TRAK逻辑框158的轨的特征的轨标头(TKHD)逻辑框。在一些实例中,TRAK逻辑框158可包含经译码视频图片,而在其它实例中,轨的经译码视频图片可包含于电影片段164中,其可由TRAK逻辑框158及/或sidx逻辑框162的数据参考。
在一些实例中,视频文件150可包含超过一个轨。相应地,MOOV逻辑框154可包含等于视频文件150中的轨数目的数个TRAK逻辑框。TRAK逻辑框158可描述视频文件150的对应轨的特性。举例来说,TRAK逻辑框158可描述相对应轨的时间及/或空间信息。当封装单元30(图3)包含视频文件(例如,视频文件150)中的参数集轨时,与MOOV逻辑框154的TRAK逻辑框158类似的TRAK逻辑框可描述参数集轨的特性。封装单元30可在描述参数集轨的TRAK逻辑框内传信序列层级SEI消息在参数集轨中的存在。
MVEX逻辑框160可描述对应电影片段164的特性,例如,以传信除包含于MOOV逻辑框154内的视频数据之外(如果存在),视频文件150还包含电影片段164。在流式传输视频数据的情况下,经译码视频图片可包含于电影片段164中,而非包含于MOOV逻辑框154中。相应地,所有经译码视频样本可包含于电影片段164中,而非包含于MOOV逻辑框154中。
MOOV逻辑框154可包含等于视频文件150中的电影片段164的数目的数个MVEX逻辑框160。MVEX逻辑框160中的每一者可描述电影片段164中的对应电影片段的特性。举例来说,每一MVEX逻辑框可包含描述电影片段164中的对应电影片段的时间持续的电影扩展标头逻辑框(MEHD)逻辑框。
如上文所指出,封装单元30可存储不包含实际经译码视频数据的视频样本中的序列数据集。视频样本可大体上对应于存取单元,其为特定时间执行个体下的经译码图片的表示。在AVC的上下文中,经译码图片包含一或多个VCL NAL单元及其它相关联非VCL NAL单元(例如,SEI消息),所述VCL NAL单元含有用以构造存取单元的所有像素的信息。因此,封装单元30可包含序列数据集,其可包含电影片段164中的一者中的序列层级SEI消息。封装单元30可进一步将序列数据集及/或序列层级SEI消息的存在传信为存在于对应于一个电影片段164的一个MVEX逻辑框160内的一个电影片段164中。
SIDX逻辑框162为视频文件150的可选元素。即,符合3GPP文件格式或其它这类文件格式的视频文件未必包含SIDX逻辑框162。根据3GPP文件格式的实例,SIDX逻辑框可用以识别区段(例如,含于视频文件150内的区段)的子区段。3GPP文件格式将子区段定义为“具有对应媒体数据逻辑框的一或多个连续电影片段逻辑框的自含式集合,且含有由电影片段逻辑框参考的数据的媒体数据逻辑框必须跟在所述电影片段逻辑框之后并在含有关于同一轨的信息的下一个电影片段逻辑框之前”。3GPP文件格式还指示SIDX逻辑框“含有对由所述逻辑框记录的(子)区段中的子区段的参考顺序。所参考的子区段在呈现时间上为连续的。类似地,由区段索引逻辑框参考的字节在片段内始终连续。所参考大小给出所参考材料中的字节的数目的计数”。
SIDX逻辑框162通常提供表示包含于视频文件150中的区段的一或多个子区段的信息。举例来说,这类信息可包含子区段开始及/或结束处的播放时间、子区段的字节偏移、子区段是否包含(例如,始于)流存取点(SAP)、SAP的类型(例如,SAP是否为瞬时解码器刷新(IDR)图片、清洁随机存取(CRA)图片、断链存取(BLA)图片,或其类似者)、SAP在子区段中的位置(就播放时间及/或字节偏移而言),及其类似者。
电影片段164可包含一或多个经译码视频图片。在一些实例中,电影片段164可包含一或多个图片群组(group of pictures,GOP),其中的每一者可包含数个经译码视频图片,例如帧或图片。另外,如上文所描述,在一些实例中,电影片段164可包含序列数据集。电影片段164中的每一者可包含电影片段标头逻辑框(MFHD,图4中未展示)。MFHD逻辑框可描述对应电影片段的特性,例如电影片段的序号。电影片段164可按序号次序包含于视频文件150中。
MFRA逻辑框166可描述视频文件150的电影片段164内的随机存取点。这可辅助执行特技模式,例如执行对由视频文件150封装的区段内的特定时间位置(即,播放时间)的寻找。在一些实例中,MFRA框166通常为可选的且无需包含于视频文件中。同样,客户端装置(例如客户端装置40)未必需要参考MFRA逻辑框166来对视频文件150的视频数据进行正确解码及显示。MFRA逻辑框166可包含等于视频文件150的轨的数目或在一些实例中等于视频文件150的媒体轨(例如,非提示轨)的数目的数个轨片段随机存取(TFRA)逻辑框(图中未示)。
在一些实例中,电影片段164可包含一或多个流存取点(SAP),例如IDR图片。同样地,MFRA逻辑框166可提供对SAP在视频文件150内的位置的指示。因此,视频文件150的时间子序列可由视频文件150的SAP形成。时间子序列还可包含其它图片,例如取决于SAP的P帧及/或B帧。时间子序列的帧及/或切片可布置于区段内,以使得时间子序列的取决于子序列中的其它帧/切片的帧/切片可被恰当地解码。举例来说,在数据的阶层式布置中,用于其它数据的预测的数据也可包含于时间子序列中。
视频文件150可包含根据本发明的技术中的任一者或所有(单独地或以任何组合形式)构造的数据。举例来说,视频文件150可包含至少两个彼此相关联的轨。在一些实例中,可认为在一个轨的样本具有第一合成时间,且与第一轨相关联的另一轨的样本具有同一第一合成时间或在所述样本不可用的情况下具有第一合成时间之前最近的合成时间时,相关联的轨的样本具有共同合成时间。
一般来说,当两个轨之间存在相关性时,可认为两个轨相关联。举例来说,可从轨中的一者的视频数据预测轨中的另一者的视频数据。作为一个实例,轨中的一者可包含SVC的基层视频数据,且轨中的另一者可包含SVC的增强层视频数据。作为另一实例,轨中的一者可包含MVC的视频数据的基本视图,且轨中的另一者可包含MVC的视频数据的另一视图。作为又一实例,基本单元片轨可具有相关联的单元片轨。在一些实例中,轨可包含立体视图对的相应视图的视频数据。在另外其它实例中,元数据轨、音频轨及/或计时文本轨可与相应的视频轨相关联。
另外或替代地,样本项含有合成限制逻辑框的视频文件150的轨可属于子图片合成轨群组或为单元片轨。在所述轨为单元片轨的情况下,合成限制逻辑框的存在可指示单元片轨,且相关联的单元片基本轨不适用于呈现,但单元片轨及单元片基本轨的媒体数据仍为可解码的。
另外或替代地,视频文件150可包含扩展ISO BMFF的FullBox数据结构的投影全向视频逻辑框(ProjectedOmniVideoBox)。在一些实例中,投影全向视频逻辑框可包括于MOOV逻辑框154中。通过扩展FullBox数据结构而非ISO BMFF的Box数据结构,投影全向视频逻辑框可允许不同版本的投影全向视频逻辑框用于例如视频文件150的视频文件的各种实例中。
另外或替代地,当视频文件150含有逐区域封装逻辑框时,视频文件150可仅含有全局覆盖信息逻辑框。因此,当逐区域封装逻辑框不包含于视频文件150中时,可假定视频文件150不含有全局覆盖信息逻辑框。因此,当未检测到逐区域封装逻辑框时,文件解析器可解译在全局覆盖信息逻辑框将作为不同逻辑框出现的位置处的数据。
图5为说明根据本发明的技术处理媒体数据的实例方法的流程图。大体上参照图1的客户端装置40的文件处理单元50来解释图5的方法。然而,应理解,其它装置可经配置以执行类似方法。举例来说,如下所提及,内容准备装置20的封装单元30可经配置以执行这种方法或类似方法。
首先,文件处理单元50可处理特定合成时间处的媒体文件的轨的样本(200)。样本可为例如电影片段,例如电影片段164中的一者(图4)。电影片段可为一或多个图片。为处理样本,文件处理单元50可从媒体文件提取样本且将所提取的样本传递到视频解码器48(图1)以解码样本的视频数据。或者,当方法由内容准备装置20执行时,封装单元30可接收视频数据的一或多个经编码图片且形成包含所接收的一或多个经编码图片的样本。封装单元30可进一步将样本封装于媒体文件的轨中。
文件处理单元50可接着确定媒体文件的相关联轨是否在相同合成时间处具有样本(202)。如上文所提及,合成时间还可被称为呈现时间。原始轨可为基本单元片轨,且相关联轨可为与基本单元片轨相关联的单元片轨。
当相关联的轨在同一合成时间处具有样本时(202的“是”分支),文件处理单元50可从同一合成时间处的相关联轨选择样本(204)。或者,当相关联的轨在同一合成时间处不具有样本时(202的“否”分支),文件处理单元50可从最近可用的前一合成时间处的相关联轨选择样本(206)。在任一情况下,文件处理单元50可继续处理所选择的样本(208)。所选择的样本可表示相对于原始轨的样本的时间平行样本,如上文根据本发明的技术所定义。同样,处理可包含提取样本(当由文件处理单元50执行时)或将样本封装于媒体文件内(当由封装单元30执行时)。
以这种方式,图5的方法表示方法的实例,所述方法包含:处理媒体文件的第一轨的第一样本,第一轨具有第一合成时间;确定与第一轨相关联的第二轨在第一合成时间处是否具有可用样本;当第二轨在第一合成时间处具有可用样本时,选择第二轨的可用样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;当第二轨在第一合成时间处不具有可用样本时,选择具有为最近可用前一合成时间的合成时间的第二轨的样本作为与第一样本的第一合成时间具有共同合成时间的第二样本;且响应于选择第二样本而处理第二样本。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,所述通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以这种方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程式产品可包含计算机可读媒体。
借助于实例且非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存存储器或可用于存储呈指令或数据结构形式的所要程序码且可由计算机存取的任何其它媒体。此外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是关于非暂时性有形存储媒体。如本文中所使用的磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘用激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,所述处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入组合编解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)结合适合的软件及/或固件的集合来提供所述单元。
各种实例已予以描述。这些及其它实例在以下权利要求书的范围内。

Claims (38)

1.一种处理媒体数据的方法,所述方法包括:
处理媒体文件的第一轨的第一样本,所述第一轨具有第一合成时间;
确定所述媒体文件的第二轨在所述第一合成时间处是否具有可用样本,所述第二轨与所述第一轨相关联;
当所述第二轨在所述第一合成时间处具有所述可用样本时,选择所述第二轨的所述可用样本作为与所述第一样本的所述第一合成时间具有共同合成时间的第二样本;
当所述第二轨在所述第一合成时间处不具有所述可用样本时,选择具有为最近可用前一合成时间的合成时间的所述第二轨的样本作为与所述第一样本的所述第一合成时间具有所述共同合成时间的所述第二样本;以及
响应于选择所述第二样本而处理所述第二样本。
2.根据权利要求1所述的方法,其中所述第一样本及所述第二样本具有不同解码时间。
3.根据权利要求1所述的方法,其进一步包括,当投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD或AdapatationSet元素中时,避免处理所述AdaptationSet元素的逐区域封装RWPK描述符。
4.根据权利要求1所述的方法,其进一步包括响应于确定对应于所述第一轨的样本项含有合成限制逻辑框而确定所述第一轨是属于子图片合成轨组还是为单元片轨。
5.根据权利要求1所述的方法,其进一步包括响应于确定对应于所述第二轨的样本项含有合成限制逻辑框而确定所述第二轨是属于子图片合成轨组还是为单元片轨。
6.根据权利要求1所述的方法,其进一步包括,当所述第一轨或所述第二轨中的至少一者为基于具有对应的具有合成限制逻辑框的样本项的单元片轨时,避免呈现所述第一轨或所述第二轨中的所述至少一者的媒体数据。
7.根据权利要求1所述的方法,其进一步包括处理媒体数据的投影全向视频逻辑框,所述全向视频逻辑框包括FullBox数据结构的扩展。
8.根据权利要求1所述的方法,其进一步包括避免由逐区域封装逻辑框指示的所述第一轨或所述第二轨中的至少一者的媒体数据的投影区域重叠,其中所述投影区域包括:第一投影区域,其包括通过proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]及proj_reg_left[i]指定的矩形;以及第二投影区域,其包括通过proj_reg_width[j]、proj_reg_height[j]、proj_reg_top[j]及proj_reg_left[j]指定的矩形,j的任何值在包含端点的0到i-1的范围内。
9.根据权利要求1所述的方法,其进一步包括当逐区域封装逻辑框不存在于所述第一轨或所述第二轨中的至少一者的媒体数据中时,避免处理所述第一轨或所述第二轨中的所述至少一者的所述媒体数据的全局覆盖信息逻辑框。
10.根据权利要求1所述的方法,其进一步包括,当所述第一轨或所述第二轨中的至少一者的媒体数据的逐区域封装逻辑框不存在时,确定所述第一轨或所述第二轨中的所述至少一者的所述媒体数据的全局覆盖信息逻辑框指示覆盖度为整个球面。
11.根据权利要求1所述的方法,其进一步包括以下中的至少一者:
当投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD中时,避免处理所述MPD的逐区域封装RWPK描述符;
当所述PF描述符不直接存在于所述MPD中且不直接存在于AdaptationSet元素中时,避免处理所述AdaptationSet元素的RWPK描述符;或
当所述PF描述符不直接存在于表示元素中,不直接存在于含有所述表示元素的所述AdaptationSet元素中,且不直接存在于所述MPD中时,避免处理所述表示元素的RWPK描述符。
12.根据权利要求1所述的方法,
其中处理所述第一样本包括封装所述第一样本,所述第一样本包括第一编码视频数据,且
其中处理所述第二样本包括封装所述第二样本,所述第二样本包括第二编码视频数据。
13.根据权利要求1所述的方法,
其中处理所述第一样本包括:解封所述第一样本,所述第一样本包括第一编码视频数据;以及将所述第一编码视频数据发送到视频解码器;且
其中处理所述第二样本包括:解封所述第二样本,所述第二样本包括第二编码视频数据;以及将所述第二编码视频数据发送到所述视频解码器。
14.根据权利要求1所述的方法,其中所述第一轨包括单元片基础轨,且所述第二轨包括与所述单元片基础轨相关联的单元片轨。
15.一种用于处理媒体数据的装置,所述装置包括:
存储器,其经配置以存储媒体数据;及
包括电路系统的处理器,其经配置以:
处理媒体文件的第一轨的第一样本,所述第一轨具有第一合成时间,所述第一样本包含第一媒体数据;
确定所述媒体文件的第二轨在所述第一合成时间处是否具有可用样本,所述第二轨与所述第一轨相关联;
当所述第二轨在所述第一合成时间处具有所述可用样本时,选择所述第二轨的所述可用样本作为与所述第一样本的所述第一合成时间具有共同合成时间的第二样本;
当所述第二轨在所述第一合成时间处不具有所述可用样本时,选择具有为最近可用前一合成时间的合成时间的所述第二轨的样本作为与所述第一样本的所述第一合成时间具有所述共同合成时间的所述第二样本;以及
响应于选择所述第二样本,处理所述第二样本,所述第二样本包含第二媒体数据。
16.根据权利要求15所述的装置,其中所述第一样本及所述第二样本具有不同解码时间。
17.根据权利要求15所述的装置,其中所述处理器进一步经配置以:当投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD或AdapatationSet元素中时,避免处理所述AdaptationSet元素的逐区域封装RWPK描述符。
18.根据权利要求15所述的装置,其中所述处理器进一步经配置以响应于确定对应于所述第一轨的样本项含有合成限制逻辑框而确定所述第一轨是属于子图片合成轨组还是为单元片轨。
19.根据权利要求15所述的装置,其中所述处理器进一步经配置以响应于确定对应于所述第二轨的样本项含有合成限制逻辑框而确定所述第二轨是属于子图片合成轨群还是为单元片轨。
20.根据权利要求15所述的装置,其中所述处理器进一步经配置以:当所述第一轨或所述第二轨中的至少一者为基于具有对应的具有合成限制逻辑框的样本项的单元片轨时,避免呈现所述第一轨或所述第二轨中的所述至少一者的媒体数据。
21.根据权利要求15所述的装置,其中所述处理器进一步经配置以处理媒体数据的投影全向视频逻辑框,所述全向视频逻辑框包括FullBox数据结构的扩展。
22.根据权利要求15所述的装置,其中所述处理器进一步经配置以避免由逐区域封装逻辑框指示的所述第一轨或所述第二轨中的至少一者的媒体数据的投影区域重叠,其中所述投影区域包括:第一投影区域,其包括通过proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]及proj_reg_left[i]指定的矩形;以及第二投影区域,其包括通过proj_reg_width[j]、proj_reg_height[j]、proj_reg_top[j]及proj_reg_left[j]指定的矩形,j的任何值在包含端点的0到i-1的范围内。
23.根据权利要求15所述的装置,其中所述处理器进一步经配置以:当逐区域封装逻辑框不存在于所述第一轨或所述第二轨中的至少一者的媒体数据中时,避免处理所述第一轨或所述第二轨中的所述至少一者的所述媒体数据的全局覆盖信息逻辑框。
24.根据权利要求15所述的装置,其中所述处理器进一步经配置以:当所述第一轨或所述第二轨中的至少一者的媒体数据的逐区域封装逻辑框不存在时,确定所述第一轨或所述第二轨中的所述至少一者的所述媒体数据的全局覆盖信息逻辑框指示覆盖度为整个球面。
25.根据权利要求15所述的装置,其中所述处理器进一步经配置以进行以下中的至少一者:
当投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD中时,避免处理所述MPD的逐区域封装RWPK描述符;
当所述PF描述符不直接存在于所述MPD中且不直接存在于AdaptationSet元素中时,避免处理所述AdaptationSet元素的RWPK描述符;或
当所述PF描述符不直接存在于表示元素中,不直接存在于含有所述表示元素的所述AdaptationSet元素中,且不直接存在于所述MPD中时,避免处理所述表示元素的RWPK描述符。
26.根据权利要求15所述的装置,其进一步包括视频编码器,所述视频编码器经配置以编码第一视频数据以形成第一编码视频数据且编码第二视频数据以形成第二编码视频数据,所述第一媒体数据包括所述第一编码视频数据,且所述第二媒体数据包括所述第二编码视频数据,
其中为处理所述第一样本,所述处理器经配置以封装所述第一样本,所述第一样本包括所述第一编码视频数据,且
其中为处理所述第二样本,所述处理器经配置以封装所述第二样本,所述第二样本包括所述第二编码视频数据。
27.根据权利要求15所述的装置,其进一步包括经配置以解码视频数据的视频解码器,
其中为处理所述第一样本,所述处理器经配置以解封所述第一样本,所述第一样本包括第一编码视频数据,所述第一媒体数据包括所述第一编码视频数据;且将所述第一编码视频数据发送到所述视频解码器;且
其中为处理所述第二样本,所述处理器经配置以解封所述第二样本,所述第二样本包括第二编码视频数据,所述第二媒体数据包括所述第二编码视频数据;且将所述第二编码视频数据发送到所述视频解码器。
28.根据权利要求15所述的装置,其中所述装置包括以下中的至少一者:
集成电路;
微处理器;或
无线通信装置。
29.一种用于处理媒体数据的装置,所述装置包括:
用于处理媒体文件的第一轨的第一样本的装置,所述第一轨具有第一合成时间;
用于确定所述媒体文件的第二轨在所述第一合成时间处是否具有可用样本的装置,所述第二轨与所述第一轨相关联;
用于在所述第二轨在所述第一合成时间处具有所述可用样本时,选择所述第二轨的所述可用样本作为与所述第一样本的所述第一合成时间具有共同合成时间的第二样本的装置;
用于在所述第二轨在所述第一合成时间处不具有所述可用样本时,选择具有为最近可用前一合成时间的合成时间的所述第二轨的样本作为与所述第一样本的所述第一合成时间具有所述共同合成时间的所述第二样本的装置;以及
用于响应于选择所述第二样本而处理所述第二样本的装置。
30.根据权利要求29所述的装置,其中所述第一样本及所述第二样本具有不同解码时间。
31.根据权利要求29所述的装置,其进一步包括用于在投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD或AdapatationSet元素中时,避免处理所述AdaptationSet元素的逐区域封装RWPK描述符的装置。
32.根据权利要求29所述的装置,其进一步包括视频编码器,所述视频编码器经配置以编码第一视频数据以形成第一编码视频数据且编码第二视频数据以形成第二编码视频数据,
其中用于处理所述第一样本的所述装置包括用于封装所述第一样本的装置,所述第一样本包括所述第一编码视频数据,且
其中用于处理所述第二样本的所述装置包括用于封装所述第二样本的装置,所述第二样本包括所述第二编码视频数据。
33.根据权利要求29所述的装置,其进一步包括视频解码器,
其中用于处理所述第一样本的所述装置包括用于解封所述第一样本的装置,所述第一样本包括第一编码视频数据;及用于将所述第一编码视频数据发送到所述视频解码器的装置,且
其中用于处理所述第二样本的所述装置包括用于解封所述第二样本的装置,所述第二样本包括第二编码视频数据;及用于将所述第二经编码视频数据发送到所述视频解码器的装置。
34.一种其上存储有指令的计算机可读存储媒体,所述指令在执行时使得处理器:
处理媒体文件的第一轨的第一样本,所述第一轨具有第一合成时间;
确定所述媒体文件的第二轨在所述第一合成时间处是否具有可用样本,所述第二轨与所述第一轨相关联;
当所述第二轨在所述第一合成时间处具有所述可用样本时,选择所述第二轨的所述可用样本作为与所述第一样本的所述第一合成时间具有共同合成时间的第二样本;
当所述第二轨在所述第一合成时间处不具有所述可用样本时,选择具有为最近可用前一合成时间的合成时间的所述第二轨的样本作为与所述第一样本的所述第一合成时间具有所述共同合成时间的所述第二样本;以及
响应于选择所述第二样本而处理所述第二样本。
35.根据权利要求34所述的计算机可读存储媒体,其中所述第一样本及所述第二样本具有不同解码时间。
36.根据权利要求34所述的计算机可读存储媒体,其进一步包括使得所述处理器进行以下操作的指令:当投影格式PF描述符不直接存在于所述第一轨及所述第二轨的媒体呈现描述MPD或AdapatationSet元素中时,避免处理所述AdaptationSet元素的逐区域封装RWPK描述符。
37.根据权利要求34所述的计算机可读存储媒体,
其中使得所述处理器处理所述第一样本的所述指令包括使得所述处理器封装所述第一样本的指令,所述第一样本包括第一编码视频数据,且
其中使得所述处理器处理所述第二样本的所述指令包括使得所述处理器封装所述第二样本的指令,所述第二样本包括第二编码视频数据。
38.根据权利要求34所述的计算机可读存储媒体,
其中使得所述处理器处理所述第一样本的所述指令包括使得所述处理器解封所述第一样本以及将第一编码视频数据发送到视频解码器的指令,所述第一样本包括所述第一编码视频数据;且
其中使得所述处理器处理所述第二样本的所述指令包括使得所述处理器解封所述第二样本以及将第二编码视频数据发送到所述视频解码器的指令,所述第二样本包括所述第二编码视频数据。
CN201880045523.4A 2017-07-10 2018-07-06 使用全向媒体格式处理媒体数据 Active CN110870323B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762530746P 2017-07-10 2017-07-10
US62/530,746 2017-07-10
US16/028,248 2018-07-05
US16/028,248 US10587904B2 (en) 2017-07-10 2018-07-05 Processing media data using an omnidirectional media format
PCT/US2018/041106 WO2019014067A1 (en) 2017-07-10 2018-07-06 PROCESSING MEDIA DATA USING AN OMNIDIRECTIONAL MEDIA FORMAT

Publications (2)

Publication Number Publication Date
CN110870323A true CN110870323A (zh) 2020-03-06
CN110870323B CN110870323B (zh) 2020-10-27

Family

ID=64903019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880045523.4A Active CN110870323B (zh) 2017-07-10 2018-07-06 使用全向媒体格式处理媒体数据

Country Status (9)

Country Link
US (1) US10587904B2 (zh)
EP (1) EP3652959A1 (zh)
KR (1) KR102117805B1 (zh)
CN (1) CN110870323B (zh)
AU (1) AU2018301313B2 (zh)
BR (1) BR112020000195A2 (zh)
SG (1) SG11201911560PA (zh)
TW (1) TWI700917B (zh)
WO (1) WO2019014067A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11412200B2 (en) * 2019-01-08 2022-08-09 Samsung Electronics Co., Ltd. Method of processing and transmitting three-dimensional content
CN110476429B (zh) * 2019-07-03 2021-03-09 北京小米移动软件有限公司 用于构建虚拟现实环境的方法、系统和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069799A (zh) * 2010-07-15 2013-04-24 高通股份有限公司 发信号通知用于多路复用视频分量的数据
CN104704829A (zh) * 2012-10-04 2015-06-10 高通股份有限公司 用于视频数据的文件格式
CN105556981A (zh) * 2013-07-23 2016-05-04 佳能株式会社 使用针对编码依赖性的通用信号通知来封装分区定时媒体数据的方法、装置和计算机程序
CN105637885A (zh) * 2013-10-23 2016-06-01 高通股份有限公司 多层视频文件格式设计
US20170195697A1 (en) * 2015-12-15 2017-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Media distribution with sample variants for normalized encryption

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539054B1 (en) * 1998-09-18 2003-03-25 Matsushita Electric Industrial Co., Ltd. Image output apparatus, image reproduction method, object composition apparatus, object composition method, and data storage medium
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
US8935425B2 (en) * 2011-10-05 2015-01-13 Qualcomm Incorporated Switching between representations during network streaming of coded multimedia data
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
US9653117B2 (en) * 2013-08-29 2017-05-16 Avid Technology, Inc. Interconnected multimedia systems with synchronized playback of media streams
KR20150043656A (ko) * 2013-10-14 2015-04-23 현대자동차주식회사 터보 차저
US9897450B2 (en) * 2015-05-20 2018-02-20 Nokia Technologies Oy Method and apparatus to obtain differential location information
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069799A (zh) * 2010-07-15 2013-04-24 高通股份有限公司 发信号通知用于多路复用视频分量的数据
CN104704829A (zh) * 2012-10-04 2015-06-10 高通股份有限公司 用于视频数据的文件格式
CN105556981A (zh) * 2013-07-23 2016-05-04 佳能株式会社 使用针对编码依赖性的通用信号通知来封装分区定时媒体数据的方法、装置和计算机程序
CN105637885A (zh) * 2013-10-23 2016-06-01 高通股份有限公司 多层视频文件格式设计
US20170195697A1 (en) * 2015-12-15 2017-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Media distribution with sample variants for normalized encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO/IEC: "《ISO/IEC 14496-12》", 15 December 2015 *

Also Published As

Publication number Publication date
KR20200024834A (ko) 2020-03-09
EP3652959A1 (en) 2020-05-20
AU2018301313A1 (en) 2020-01-16
US20190014361A1 (en) 2019-01-10
CN110870323B (zh) 2020-10-27
WO2019014067A1 (en) 2019-01-17
KR102117805B1 (ko) 2020-06-01
US10587904B2 (en) 2020-03-10
TW201909624A (zh) 2019-03-01
AU2018301313B2 (en) 2021-01-14
SG11201911560PA (en) 2020-01-30
BR112020000195A2 (pt) 2020-07-07
TWI700917B (zh) 2020-08-01

Similar Documents

Publication Publication Date Title
AU2023200083B2 (en) Signaling important video information in network video streaming using mime type parameters
CN109076229B (zh) 在图片中最感兴趣的区域
KR102342274B1 (ko) 이미지에서 가장 관심있는 영역의 진보된 시그널링
US10587934B2 (en) Virtual reality video signaling in dynamic adaptive streaming over HTTP
CN110089122B (zh) 用于检索媒体数据的方法、媒体装置及计算机可读存储媒体
CN110832872B (zh) 使用用于文件格式方框的通用描述符处理媒体数据
US10567734B2 (en) Processing omnidirectional media with dynamic region-wise packing
CN110870323B (zh) 使用全向媒体格式处理媒体数据
KR102654999B1 (ko) 강화된 영역별 패킹 및 뷰포트 독립적 hevc 미디어 프로파일

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: 40016389

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant