CN109076264A - 样本条目和随机存取 - Google Patents

样本条目和随机存取 Download PDF

Info

Publication number
CN109076264A
CN109076264A CN201780027752.9A CN201780027752A CN109076264A CN 109076264 A CN109076264 A CN 109076264A CN 201780027752 A CN201780027752 A CN 201780027752A CN 109076264 A CN109076264 A CN 109076264A
Authority
CN
China
Prior art keywords
sample
track
video
video data
data
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
CN201780027752.9A
Other languages
English (en)
Other versions
CN109076264B (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 CN109076264A publication Critical patent/CN109076264A/zh
Application granted granted Critical
Publication of CN109076264B publication Critical patent/CN109076264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/23439Processing 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 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/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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

在一个实例中,一种用于检索视频数据的装置,所述装置包含经配置以进行以下操作的一或多个处理器:响应于确定多个轨道中的最低轨道将包含用于指示便利随机存取经启用的样本的样本条目类型值,设定用于包含视频数据的所述多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,所述最低轨道包含携载所述视频数据的最低子层的所述视频数据的基础层,和产生包含所述多个轨道的文件,以使得用于所述多个轨道中的所述轨道的所述样本条目类型值指示便利随机存取经启用。

Description

样本条目和随机存取
本申请案主张2016年5月24日申请的美国临时申请案第62/340,886号的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及用于例如视频位流的媒体位流的存储和输送的文件格式。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4,第10部分,先进视频译码(AVC)定义的标准和这些标准的扩展中所描述的那些技术,以更有效地发射和接收数字视频信息。
视频压缩技术执行空间预测和/或时间预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频帧或图块分割成宏块。可进一步分割每一宏块。使用相对于相邻宏块的空间预测来编码经帧内译码(I)的帧或图块中的宏块。经帧间译码(P或B)帧或图块中的宏块可使用相对于同一帧或图块中的相邻宏块的空间预测或相对于其它参考帧的时间预测。
在视频数据已经编码之后,可将视频数据打包以用于发射或存储。可将视频数据组译成符合多种标准中的任一个的视频文件,所述标准例如为国际标准化组织(ISO)基本媒体文件格式和其扩展,例如AVC文件格式。
发明内容
大体来说,本发明描述用于针对将单层或多层位流存储于一或多个轨道中的文件启用便利随机存取操作的技术。本发明提供关于针对将单层或多层位流存储于一或多个轨道中的文件启用便利随机存取操作的样本条目设计的方法、装置和计算机程序产品。
在一个实例中,一种检索视频数据的方法包含接收描述视频位流的样本的样本条目类型的数据,所述样本条目类型为‘hev1’或‘hev2’中的一个,其中样本包括根据高效视频译码(HEVC)或分层式HEVC(L-HEVC)中的一个编码的视频数据,且其中一或多个其它样本包含按解码次序在视频位流中的样本之前的视频数据,且响应于样本条目类型为‘hev1’或‘hev2’且所述样本包括根据HEVC或L-HEVC中的一个编码的视频数据,检索所述样本以使用样本执行随机存取,而不检索在样本之前的一或多个其它样本中的任一个的视频数据,且不检索按解码次序的视频位流的任何前述样本的参数集。
在另一实例中,一种用于检索视频数据的装置包含经配置以接收描述视频位流的样本的样本条目类型的数据的一或多个处理器,所述样本条目类型为‘hev1’或‘hev2’中的一个,其中所述样本包括根据高效视频译码(HEVC)或分层式HEVC(L-HEVC)中的一个编码的视频数据,且其中一或多个其它样本包含按解码次序在视频位流中的样本之前的视频数据,且响应于样本条目类型为‘hev1’或‘hev2’且所述样本包括根据HEVC或L-HEVC中的一个编码的视频数据,检索所述样本以使用样本执行随机存取,而不检索在样本之前的一或多个其它样本中的任一个的视频数据,且不检索按解码次序的视频位流的任何前述样本的参数集。
在另一实例中,一种用于检索视频数据的装置包含:用于接收描述视频位流的样本的样本条目类型的数据的装置,所述样本条目类型为‘hev1’或‘hev2’中的一个,其中所述样本包括根据高效视频译码(HEVC)或分层式HEVC(L-HEVC)中的一个编码的视频数据,且其中一或多个其它样本包含按解码次序在视频位流中的样本之前的视频数据;和用于响应于样本条目类型为‘hev1’或‘hev2’且所述样本包括根据HEVC或L-HEVC中的一个编码的视频数据,检索样本以使用样本执行随机存取的装置,而不检索在样本之前的一或多个其它样本中的任一个的视频数据,且不检索按解码次序的视频位流的任何前述样本的参数集。
在另一实例中,一种其上存储有指令的计算机可读存储媒体,当执行所述指令时,使得处理器接收描述视频位流的样本的样本条目类型的数据,所述样本条目类型为‘hev1’或‘hev2’中的一个,其中所述样本包括根据高效视频译码(HEVC)或分层式HEVC(L-HEVC)中的一个编码的视频数据,且其中包含视频数据的一或多个其它样本按解码次序在视频位流中的样本之前,且响应于样本条目类型为‘hev1’或‘hev2’且所述样本包括根据HEVC或L-HEVC中的一个编码的视频数据,检索样本以使用样本执行随机存取,而不检索在样本之前的一或多个其它样本中的任一个的视频数据,且不检索按解码次序的视频位流的任何前述样本的参数集。
在另一实例中,一种产生包含视频数据的文件的方法包含:响应于确定多个轨道中的最低轨道(所述最低轨道包含携载视频数据的最低子层的视频数据的基础层)将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,且产生包含多个轨道的文件,以使得多个轨道的轨道样本条目类型值指示便利随机存取经启用。
在另一实例中,一种用于产生包含视频数据的文件的装置包含存储器,其经配置以存储视频数据;和一或多个处理器,其经实施于电路中且经配置以:响应于确定多个轨道中的最低轨道(所述最低轨道包含携载视频数据的最低子层的视频数据的基础层)将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,且产生包含多个轨道的文件,以使得多个轨道的轨道样本条目类型值指示便利随机存取经启用。
在另一实例中,一种用于产生包含视频数据的文件的装置包含用于响应于确定多个轨道中的最低轨道(所述最低轨道包含携载视频数据的最低子层的视频数据的基础层)将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用的装置,和用于产生包含多个轨道的文件以使得多个轨道的轨道的样本条目类型值指示便利随机存取经启用的装置。
在另一实例中,一种计算机可读存储媒体,其上存储有当经执行时使得处理器进行以下各者的指令:响应于确定多个轨道中的最低轨道(所述最低轨道包含携载视频数据的最低子层的视频数据的基础层)将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,且产生包含多个轨道的文件以使得多个轨道的轨道的样本条目类型值指示便利随机存取经启用。
一或多个实例的细节阐述于附图和以下说明中。其它特征、目标和优势从描述和图式且从权利要求书将显而易见。
附图说明
图1为说明实施用于通过网络流式传输媒体数据的技术的实例系统的框图。
图2为说明检索单元的一组实例组件的框图。
图3为说明实例多媒体内容的元素的概念图。
图4为说明实例视频文件的元素的框图。
图5为说明处理数据的实例技术的流程图。
图6为说明处理数据的实例技术的流程图。
图7为说明产生包含视频数据的文件的实例技术的流程图。
具体实施方式
大体来说,本发明描述用于针对将单层或多层位流存储于一或多个轨道中的文件启用便利随机存取操作的技术。便利随机存取可经定义为不需要从先前样本搜索和/或提取参数集的随机存取。换句话说,当客户端装置可请求样本和后续样本而不需搜索和/或提取先前样本的参数集时,便利随机存取经启用用于视频位流的样本。由此,所有必要参数集可包含于样本自身或对应于样本的样本条目中。
本发明描述关于针对将单层或多层位流存储于一或多个轨道中的文件启用便利随机存取操作的样本条目设计的方法。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264或ISO/IEC MPEG-4AVC(包含其可调式视频译码(SVC)和多视图视频译码(MVC)扩展)和也被称作ITU-T H.265和ISO/IEC 23008-2的高效视频译码(HEVC),所述高效视频译码包含其可调式译码扩展(即,可调式高效视频译码SHVC)、多视图扩展(即,多视图高效视频译码MV-HEVC)和3D扩展(即,3D高效视频译码3D-HEVC)。
文件格式标准包含ISO基本媒体文件格式(ISOBMFF、ISO/IEC 14496-12)和从ISOBMFF衍生的其它标准,包含MPEG-4文件格式(ISO/IEC 14496-15)、3GPP文件格式(3GPPTS 26.244),和含有用于AVC和其扩展的文件格式以及用于HEVC和其扩展的文件格式的ISO/IEC 14496-15。ISO/IEC 14496-12和14496-15的最新版本的草案文本可分别在http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zip和http://wg11.sc29.org/doc_end_user/documents/114_San%20Diego/wg11/w15928-v2-w15928.zip处得到。
本发明的技术可应用于符合根据以下各者中的任一个囊封的视频数据的视频文件:ISO基本媒体文件格式、可调式视频译码(SVC)文件格式、先进视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式和/或多视图视频译码(MVC)文件格式或其它类似视频文件格式。
在HTTP流式传输中,频繁使用的操作包含HEAD、GET和部分GET。HEAD操作检索与给定的统一资源定位符(URL)或统一资源名称(URN)相关联的文件的标头,而不检索与URL或URN相关联的有效负载。GET操作检索与给定URL或URN相关联的整个文件。部分GET操作接收作为输入参数的字节范围且检索文件的连续数目个字节,其中字节的数目对应于所接收字节范围。因此,可为HTTP流式传输提供电影片段,这是因为部分GET操作可得到一或多个单独的电影片段。在电影片段中,可存在不同轨道的若干轨道片段。在HTTP流式传输中,媒体表示可为客户端可存取的数据的结构化集合。客户端可请求且下载媒体数据信息以向用户呈现流式传输服务。
在使用HTTP流式传输来流式传输3GPP数据的实例中,可存在多媒体内容的视频和/或音频数据的多个表示。如下文所解释,不同表示可对应于不同译码特性(例如,视频译码标准的不同简档或层级)、不同译码标准或译码标准的扩展(例如多视图和/或可调式扩展)或不同位率。这些表示的信息清单可定义于媒体呈现描述(Media PresentationDescription;MPD)数据结构中。媒体呈现可对应于HTTP流式传输客户端装置可存取的数据的结构化集合。HTTP流式传输客户端装置可请求且下载媒体数据信息以向客户端装置的用户呈现流式传输服务。媒体呈现可在MPD数据结构中描述,MPD数据结构可包含MPD的更新。
媒体呈现可含有一或多个周期的序列。每一周期可延长直到下一周期开始为止,或在最后一个周期的情况下,直到媒体呈现结束为止。每一周期可含有同一媒体内容的一或多个表示。表示可为音频、视频、计时文本或其它此类数据的多个替代性经编码版本中的一个。表示可在编码类型上不同,例如,用于视频数据的位率、分辨率和/或编解码器,和用于音频数据的位率、语言和/或编解码器。术语表示可用于指代对应于多媒体内容的特定周期且以特定方式编码的经编码音频或视频数据的一部分。
特定周期的表示可指派到由指示表示所属的调适集MPD中的属性所指示的群组。同一调适集中的表示通常视为彼此的替代,这是因为客户端装置可在这些表示之间动态地且顺畅地切换以(例如)执行带宽调适。举例来说,特定周期的视频数据的每一表示可指派到同一调适集,以使得可选择所述表示中的任一个进行解码以呈现对应周期的多媒体内容的媒体数据(例如视频数据或音频数据)。在一些实例中,一个周期内的媒体内容可由来自群组0(如果存在)的一个表示或由来自每一非零群组的到多一个表示的组合来表示。周期的每一表示的时序数据可相对于所述周期的开始时间来表达。
表示可包含一或多个片段。每一表示可包含初始化段,或表示的每一段可自初始化。当存在时,初始化段可含有用于存取表示的初始化信息。一般来说,初始化段不含媒体数据。段可由标识符唯一地参考,所述标识符例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。MPD可为各段提供标识符。在一些实例中,MPD也可以范围属性形式提供字节范围,所述范围属性可对应于由URL、URN或URI可存取的文件内的段的数据。
可选择不同表示以用于大体上同时检索不同类型的媒体数据。举例来说,客户端装置可选择音频表示、视频表示和计时文本表示,从所述表示检索段。在一些实例中,客户端装置可选择特定调适集以用于执行带宽调适。即,客户端装置可选择包含视频表示的调适集、包含音频表示的调适集和/或包含计时文本的调适集。可替代地,客户端装置可选择用于某些类型的媒体(例如,视频)的调试集,且直接选择用于其它类型的媒体(例如,音频和/或计时文本)的表示。
图1为说明实施用于通过网络的流式传输媒体数据的技术的实例系统10的框图。在这个实例中,系统10包含内容准备装置20、服务器装置60和客户端装置40。客户端装置40与服务器装置60由网络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和即将来临的高效视频译码(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)单元。在H.264/AVC(先进视频译码)的实例中,经译码视频段被组织成NAL单元,所述单元提供处理例如视频电话、存储、广播或流式传输的应用的“网络友好”视频表示。NAL单元可分类为视频译码层(VCL)NAL单元和非VCL NAL单元。VCL单元可含有核心压缩引擎,且可包含块、宏块和/或图块层级数据。其它NAL单元可为非VCLNAL单元。在一些实例中,一个时间实例中的经译码图片(通常呈现为初级经译码图片)可含于存取单元中,所述存取单元可包含一或多个NAL单元。
非VCL NAL单元可尤其包含参数集NAL单元和SEI NAL单元。参数集可含有序列层级标头信息(在序列参数集(SPS)中)和不频繁改变的图片层级标头信息(在图片参数集(PPS)中)。具有参数集(例如,PPS和SPS),不频繁改变的信息不需要关于每一序列或图片重复,因此可改善译码效率。此外,使用参数集可启用重要标头信息的带外发射,从而避免对于用于抗误码的冗余发射的需要。在带外发射实例中,参数集NAL单元可在与其它NAL单元(例如,SEI NAL单元)不同的信道上发射。
补充增强信息(SEI)可含有对于解码来自VCL NAL单元的经译码图片样本并非必要的信息,但可辅助与解码、显示、抗误码和其它目的相关的过程。SEI消息可含于非VCLNAL单元中。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,每一多媒体内容包含相应信息清单文件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,如网络工作组,IETF,R.菲尔丁(Fielding)等人,1999年6月在RFC 2616“超文本传送协议-HTTP/1.1(Hypertext Transfer Protocol-HTTP/1.1)”中所描述。即,请求处理单元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,其可对应于媒体呈现描述(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可选择具有通过客户端装置40的译码和转译能力可满足的特性的表示68的子集(例如,调适集)。检索单元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(或除了服务器装置60之外),内容准备装置20可经配置以执行这些技术。
囊封单元30可形成NAL单元,所述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发送经解码视频数据,所述经解码视频数据可包含流式传输的多个视图。
内容准备装置20(例如,经由囊封单元30)和客户端装置40(例如,经由文件格式处理单元50)可利用多种文件格式中的一或多个来囊封和/或解囊封视频内容。将ISOBMFF用作用于多种编解码器囊封格式(例如,AVC文件格式)以及用于多种多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)和DVB文件格式)的基础。
除例如音频和视频的连续媒体之外,例如图像的静态媒体以及元数据可存储于符合ISOBMFF的文件中。根据ISOBMFF结构化的文件可用于多种目的,包含本地媒体文件播放、远程文件的逐渐下载、用于HTTP上的动态自适应流式传输(DASH)的段、用于待流式传输的内容和其打包指令的容器和所接收实时媒体流的记录。
逻辑框为ISOBMFF中的基本语法结构,ISOBMFF包含经四字符译码的逻辑框类型、逻辑框的字节计数和有效负载。ISOBMFF文件由逻辑框的序列组成,且逻辑框可含有其它逻辑框。电影逻辑框(“moov”)含有用于存在于文件中的连续媒体流的元数据,每一媒体流在文件中表示为轨道。将用于轨道的元数据围封于轨道逻辑框(“trak”)中,而将轨道的媒体内容围封于媒体数据逻辑框(“mdat”)中或直接围封于独立文件中。用于轨道的媒体内容由样本(例如音频或视频存取单元)的序列组成。
ISOBMFF指定以下类型的轨道:媒体轨道,其含有基本媒体流;提示轨道,其包含媒体发射指令或表示所接收包流式传输;和时序元数据轨道,其包括时间同步的元数据。
尽管原先针对存储而设计,但ISOBMFF已经证实用于流式传输(例如,用于逐渐下载或DASH)是极有价值的。为了流式传输的目的,可使用在ISOBMFF中定义的电影片段。
每一轨道的元数据包含样本描述条目的列表,每一样本描述条目提供在轨道中使用的译码或囊封格式和处理那个格式所需的初始化数据。每一样本与轨道的样本描述条目中的一个相关联。
ISOBMFF启用通过不同机制指定的样本特定元数据。样本表逻辑框(“stbl”)内的特定逻辑框已经标准化以响应共同需求。举例来说,同步样本逻辑框(“stss”)用以列举轨道的随机存取样本。样本分群机制启用根据四字符分群类型将样本映射成共享指定为文件中的样本群组描述条目的相同特性的样本的群组。已在ISOBMFF中指定若干分群类型。
ISOBMFF规范指定用于与DASH一起使用的六种类型流式传输存取点(SAP)。前两个SAP类型(类型1和类型2)对应于H.264/AVC和HEVC中的IDR图片。第三SAP类型(类型3)对应于开放GOP随机存取点,因此对应于HEVC中的BLA或CRA图片。第四SAP类型(类型4)对应于GDR随机存取点。
在ISO/IEC 14496-15中,指定各种样本条目类型(也被称作样本条目名称)。
在HEVC文件格式(ISO/IEC 14496-15的第8项)中,指定样本条目类型‘hvc1’和‘hev1’。样本条目类型‘hev1’的约束系如下所指定:
当样本条目名称为‘hev1’时,应用以下条件:
如果样本为随机存取点,那么解码那个样本所需的所有参数集应包含于样本条目中或样本自身中。
另外(样本不为随机存取点),解码样本所需的所有参数集应包含于样本条目中或所述样本中的任一个中,这是由于样本自身包括前述随机存取点。
本约束的目的也为启用从为随机存取点的样本的便利随机存取,而不需从先前样本搜索和提取参数集。
在分层式HEVC(L-HEVC)文件格式(ISO/IEC 14496-15的第9项)中,指定样本条目类型‘hvc2’、‘hev2’、‘lhv1’和‘lhe1’。样本条目类型‘lhe1’的约束如下所指定:
当样本条目名称为‘lhe1’时,应用以下条件:
下文的约束强加限制于带外参数集(在样本条目中)和带内参数集(在样本中)的放置,以便至少在一些层中启用从含有IRAP图片的存取单元的便利随机存取。通过这些约束,初始化样本条目且从其中所有图片为IRAP图片的存取单元向前滚动的文件读取器将具有其需要的所有参数集。
对于特定轨道中的任何特定样本,在另一轨道中时间上并列的样本经定义为具有与此特定样本相同的解码时间的样本。
对于给定样本、轨道和层的IRAP图片,解码IRAP图片所需的每一参数集应包含于以下各者中的一个中:
a.应用于给定轨道中的给定样本的样本条目
b.携载给定层的参考层的轨道的初始样本的样本条目,其中所述初始样本为给定样本的时间上并列的样本(当时间上并列的样本含有所述参考层的IRAP图片时)或含有所述参考层的IRAP图片之前述样本
c.给定样本自身,可能通过使用提取器
d.当存在时,携载给定层的参考层的轨道的任何时间上并列的样本,可能通过使用提取器
对于给定样本、轨道和层的非IRAP图片,解码那个图片所需的每一参数集应包含于以下各者中的一个中:
a.应用于给定轨道中的给定样本的样本条目
b.携载给定层的参考层的轨道的初始样本的样本条目,其中所述初始样本为给定样本的时间上并列的样本(当时间上并列的样本含有所述参考层的IRAP图片时)或含有所述参考层的IRAP图片之前述样本
c.给定轨道中的样本中的任一个,这是由于给定样本自身包括含有给定层中的IRAP图片之前述样本,可能通过使用提取器
d.当存在时,携载给定层的参考层的轨道中的样本中的任一个,这是由于给定样本的时间上并列的样本包括含有给定层中的IRAP图片之前述样本的时间上并列的样本,可能通过使用提取器
此约束的目的也为启用便利随机存取(除了用于含有多个层的位流),如上文所详细描述作为本约束的描述的部分。
ISO/IEC 14496-15的表10(复制如下)展示样本条目的所有可能用途、配置和用于HEVC和L-HEVC轨道的L-HEVC工具:
本发明认为用于HEVC和L-HEVC的文件格式中(例如,ISO/IEC 14496-15的第8项和第9项中)的样本条目类型的当前设计可存在不同问题。举例来说:
为描述第一潜在问题,应指出ISO/IEC 14496-15的表10的列2表述:
同时,ISO/IEC 14496-15的表10的列4表述:
当样本条目类型为‘hvc1’、‘hev1’、‘hvc2’或‘hev2’,且相同条目含有HEVC配置和L-HEVC配置两者时,轨道携载基础层和一或多个增强层两者的数据。
然而,启用便利随机存取(除了用于含有多个层的位流)的约束仅经指定用于样本条目类型‘lhe1’。这意味着当多层L-HEVC位流使用样本条目类型‘hvc1’、‘hev1’、‘hvc2’和‘hev2’中的任一个而经存储时,不存在保证且指示启用便利随机存取(不需搜索且从先前样本提取参数集等等)的方式。
本发明的技术可用于解决上文所述的第一潜在问题。明确地说,在一个实例中,当样本条目含有HEVC和L-HEVC配置两者时,启用便利随机存取(不需搜索且从含有多个层的数据的轨道的先前样本提取参数集)的约束经指定用于样本条目类型‘hev1’和‘hev2’。因此,内容准备装置20可保证必要参数集具备样本条目和/或具有样本条目类型‘hev1’和‘hev2’的样本,以使得不要求对从先前样本的参数集进行搜索和提取。同样地,客户端装置40可检索样本条目和具有样本条目类型‘hev1’或‘hev2’的样本且执行随机存取,而不检索视频解码次序中的任何前述样本的参数集。
为描述第二潜在问题,应指出ISO/IEC 14496-15的表10的列3表述:
当样本条目类型为‘hvc2’或‘hev2’,且相同条目仅含有HEVC配置时,可出现以下情境中的任一个:(1)轨道携载全部单层HEVC位流,其中VCL NAL单元均具有等于0的nuh_layer_id,且存在一些提取器和/或聚集器;或(2)轨道携载此类单层HEVC位流的子集,且所述子集含有仅具有TemporalId大于0的VCL NAL单元(不管是否存在提取器和/或聚集器)。
然而,样本条目类型‘hvc2’和‘hev2’中的两者中无一已经约束为启用便利随机存取,对于样本条目类型‘hev1’情况类似。这意味着对于上文两种情境,不存在保证和指示启用便利随机存取(不需搜索且从先前样本提取参数集)的方式。
本发明也描述可用于解决第二潜在问题的技术。明确地说,约束可经指定以启用便利随机存取(不需搜索且从仅含有全部单层HEVC位流或其子集的轨道的先前样本提取参数集),当样本条目仅含有HEVC配置时,应使用那个样本条目类型‘hev2’。因此,当样本条目仅含有HEVC配置时,内容准备装置20可指定样本条目类型‘hev2’。同样地,客户端装置40可确定:可针对具有样本条目类型‘hev2’的样本启用便利随机存取;且此外,样本包含仅根据HEVC配置而非L-HEVC配置经编码的视频数据。
为描述第三潜在问题,应指出,当多层L-HEVC位流的每一整个层系存储于独立轨道中时,根据当前规范,基础轨道使用仅具有HEVC配置的样本条目类型‘hev1’,且其它轨道使用仅具有L-HEVC配置的样本条目类型‘lhv1’是可能的,且基础轨道使用仅具有HEVC配置的样本条目类型‘hvc1’,且其它轨道使用仅具有L-HEVC配置的样本条目类型‘lhe1’也是可能的。
在第一情境中,便利随机存取经指示用于基础轨道,但不用于其它轨道。在第二情境中,便利随机存取未针对基础轨道经指示,但针对其它轨道经指示。针对第一情境可存在似乎合理的原因,例如当为了携载增强层的轨道的较低额外负担做出舍弃便利随机存取的妥协被视为良好取舍时,所述基础轨道足够重要以证明启用便利随机存取的额外负担。然而,第二情境并不具有意义,这是因为针对携载增强层的轨道启用便利随机存取将实际上要求针对基础轨道启用便利随机存取,且如果针对基础轨道而启用便利随机存取,那么没有理由不通过使用正确的样本条目类型,即‘hev1’来指示随机便利存取。
类似地,当含有多个时间子层的单层HEVC位流通过多个轨道经携载时,第三潜在问题也可应用,其中携载最低子层(其的VCL NAL单元具有等于0的TemporalId)的轨道使用指示便利随机存取经启用的样本条目类型,而另一轨道使用并不指示便利随机存取经启用的样本条目类型,或反之亦然。
本发明的技术也可解决所述第三潜在问题。明确地说,约束可经指定以要求:对于携载单层或多层位流(通过HEVC、L-HEVC或任何其它编解码器译码)的所有轨道,所有轨道使用指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置),或所有轨道使用并不指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置)。因此,内容准备装置20可保证:对于携载单层或多层位流的轨道,所有轨道均使用指示便利随机存取经启用的样本条目类型,或所有轨道均使用指示便利随机存取未经启用的样本条目类型。以这种方式,如果针对所述轨道中的一个启用便利随机存取,那么客户端装置40可确定针对所述轨道中的每一个启用便利随机存取。
替代地,约束可经指定以要求:对于携载单层或多层位流(通过HEVC、L-HEVC或任何其它编解码器译码)的所有轨道,当携载基础层的最低子层(其的VCL NAL单元具有等于0的TemporalId)的轨道使用指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置)时,所有其它轨道应使用指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置)。因此,内容准备装置20可保证:对于携载单层或多层位流的轨道,当携载基础层的最低时间子层的轨道使用指示便利随机存取经启用的样本条目类型时,所有轨道均使用指示便利随机存取经启用的样本条目类型,或替代地,如果便利随机存取未针对基础层的最低时间子层启用,那么所述轨道中无一者使用指示便利随机存取经启用的样本条目类型。以这种方式,如果便利随机存取针对包含基础层的最低时间子层的轨道经启用,那么客户端装置40可确定便利随机存取针对所述轨道中的每一个经启用。
客户端装置40可使用本发明的技术来以各种方式执行便利随机存取。举例来说,客户端装置40可使用网络流式传输协议(例如DASH)通过请求来自服务器装置60的数据来执行便利随机存取。在其它实例中,客户端装置40可使用本发明的技术来执行便利随机存取以检索来自固定计算机可读存储媒体(例如数字多功能光盘、蓝光光盘、硬盘驱动器、闪存或类似者)的媒体数据。因此,尽管图1说明包含基于网络的流式传输的实例,但应理解本发明的技术可应用于其它情境以及上下文中。
图2为更详细地说明图1的检索单元52的组件的实例集合的框图。在这个实例中,检索单元52包含eMBMS中间软件单元100、DASH客户端110和媒体应用程序112。
在这实例中,eMBMS中间软件单元100进一步包含eMBMS接收单元106、高速缓冲存储器104和服务器单元102。在这个实例中,eMBMS接收单元106经配置以经由eMBMS接收数据,例如,根据网络工作组,T.帕伊拉(T.Paila)等人,RFC 6726,2012年11月“FLUTE——单向输送文件递送(FLUTE-File Delivery over Unidirectional Transport)”中所描述的单向输送文件递送(File Delivery over Unidirectional Transport;FLUTE),可于http://tools.ietf.org/html/rfc6726获得。即,eMBMS接收单元106可经由广播而从(例如)服务器装置60(其可充当BM-SC)接收文件。
当eMBMS中间软件单元100接收用于文件的数据,eMBMS中间软件单元可将所接收的数据存储于高速缓冲存储器104中。高速缓冲存储器104可包括计算机可读存储媒体(例如闪存)、硬盘、RAM或任何其它合适的存储媒体。
本地服务器单元102可充当用于DASH客户端110的服务器。举例来说,本地服务器单元102可向DASH客户端110提供MPD文件或其它信息清单文件。本地服务器单元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的特定字节范围。
图4为说明实例视频文件150的元素的框图,实例视频文件可对应于表示的段,例如图3的段114、124中的一个。段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可包含轨道标头(TKHD)逻辑框,其描述对应于TRAK逻辑框158的轨道的特性。在一些实例中,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的特性(例如)以信令视频文件150除包含于MOOV逻辑框154(如果存在)内的视频数据之外也包含电影片段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消息)。相应地,囊封单元30可包含电影片段164中的一个中的序列数据集,其可包含序列层级SEI消息。囊封单元30可进一步信令存在于电影片段164中的一个中的序列数据集和/或序列层级SEI消息存在于对应于电影片段164中的一个的MVEX逻辑框160中的一个内。
SIDX逻辑框162为视频文件150的任选元素。即,符合3GPP文件格式或其它这些文件格式的视频文件未必包含SIDX逻辑框162。根据3GPP文件格式的实例,SIDX逻辑框可用以识别段(例如,含于视频文件150内的段)的子段。3GPP文件格式将子段定义为“具有一或多个对应媒体数据逻辑框和含有通过电影片段逻辑框参考的数据的媒体数据逻辑框的一或多个连续电影片段逻辑框的自含式集合必须跟在那个电影片段逻辑框之后,并在含有关于同一轨道的信息之下一个电影片段逻辑框之前”。3GPP文件格式也指示SIDX逻辑框“含有对由逻辑框记录的(子)段的子段的参考的序列。所参考的子段在呈现时间上连续。类似地,由段索引逻辑框指代的字节始终在段内连续。所参考大小给出所参考材料中的字节的数目的计数”。
SIDX逻辑框162大体上提供表示包含于视频文件150中的段的一或多个子段的信息。举例来说,此信息可包含子段开始和/或结束的播放时间、子段的字节偏移、子段是否包含(例如,开始于)流式传输存取点(SAP)、SAP的类型(例如,SAP是否为瞬时解码器再新(IDR)图片、清晰随机存取(CRA)图片、断链存取(BLA)图片等)、SAP在子段中的位置(就播放时间和/或字节偏移来说)等。
电影片段164可包含一或多个经译码视频图片。在一些实例中,电影片段164可包含一或多个图片群组(GOP),其中的每一个可包含多个经译码视频图片,例如帧或图片。另外,如上文所描述,在一些实例中,电影片段164可包含序列数据集。电影片段164中的每一个可包含电影片段标头逻辑框(MFHD,图4中未展示)。MFHD逻辑框可描述对应电影片段的特性,例如电影片段的序列号。电影片段164可按序列号次序包含于视频文件150中。
MFRA逻辑框166可描述视频文件150的电影片段164内的随机存取点。此可辅助执行特技模式,例如执行对由视频文件150囊封的段内的特定时间位置(即,播放时间)的寻找。在一些实例中,MFRA逻辑框166通常是任选的且不需要包含于视频文件中。同样地,客户端装置(例如,客户端装置40)未必需要参考MFRA逻辑框166以恰当地解码且显示视频文件150的视频数据。MFRA逻辑框166可包含多个轨道片段随机存取(TFRA)逻辑框(未图示),其等于视频文件150的轨道的数目,或在一些实例中等于视频文件150的媒体轨道(例如,非索引轨道)的数目。
在一些实例中,电影片段164可包含一或多个流式传输存取点(SAP),例如IDR图片。同样地,MFRA逻辑框166可提供对SAP在视频文件150内的位置的指示。因此,视频文件150的时间子序列可由视频文件150的SAP形成。时间子序列也可包含其它图片,例如依赖于SAP的P帧和/或B帧。时间子序列的帧和/或图块可布置于段内,以使得取决于子序列的其它帧/图块的时间子序列的帧/图块可被恰当地解码。举例来说,在数据的阶层式布置中,用于其它数据的预测的数据也可包含于时间子序列中。
在这个实例中,视频文件150也含有样本描述逻辑框168。明确地说,在这个实例中,样本描述逻辑框168包含于TRAK逻辑框158内。实例样本描述逻辑框168可如下所定义:
样本条目和逻辑框类型:‘hvc2’、‘hev2’、‘lhv1’、‘lhe1’、‘lhvC’
·容器:样本描述逻辑框(‘stsd’)
·必选:‘hvc1’、‘hev1’、‘hvc2’、‘hev2’、‘lhv1’或‘lhe1’样本条目是必选的
·数量:一或多个样本条目可存在
在样本描述逻辑框168的这个实例定义中,当样本条目名称为‘lhv1’时,对于所有类型的参数集的阵列,array_completeness的默认和必选值为1,且对于所有其它阵列为0。当样本条目名称为‘lhe1’时,对于所有阵列,array_completeness的默认值为0。
在样本描述逻辑框168的此实例定义中,当样本条目名称为‘hev2’且样本条目仅含有HEVC配置时,应用样本条目名称‘hev1’的如第8.4.3项中所指定的相同约束。
在样本描述逻辑框168的此实例定义中,当样本条目名称为‘lhe1’时,或当样本条目名称为‘hev1’或‘hev2’且样本条目含有HEVC和L-HEVC配置两者时,应用以下内容:
下文的实例约束强加限制于带外参数集(在样本条目中)和带内参数集(在样本中)的放置,以便启用从含有至少在一些层中的IRAP图片的存取单元的便利随机存取。通过这些约束,初始化样本条目且从其中所有图片为IRAP图片的存取单元向前滚动的文件读取器将具有其需要的所有参数集。
在样本描述逻辑框168的此实例定义中,对于特定轨道中的任一特定样本,另一轨道中的时间上并列的样本经定义为具有与此特定样本相同解码时间的样本。
在样本描述逻辑框168的此实例定义中,对于给定样本、轨道和层的IRAP图片,解码IRAP图片所需的每一参数集应包含于以下内容中的一个中:
a.应用于给定轨道中的给定样本的样本条目
b.携载给定层的参考层的轨道的初始样本的样本条目,其中所述初始样本为给定样本的时间上并列的样本(当时间上并列的样本含有所述参考层的IRAP图片时)或含有所述参考层的IRAP图片之前述样本
c.给定样本自身,可能通过使用提取器
d.当存在时,携载给定层的参考层的轨道的任何时间上并列的样本,可能通过使用提取器
在样本描述逻辑框168的此实例定义中,对于给定样本、轨道和层的非IRAP图片,解码那个图片所需的每一参数集应包含于以下内容中的一个中:
a.应用于给定轨道中的给定样本的样本条目
b.携载给定层的参考层的轨道的初始样本的样本条目,其中所述初始样本为给定样本的时间上并列的样本(当时间上并列的样本含有所述参考层的IRAP图片时)或含有所述参考层的IRAP图片之前述样本
c.给定轨道中的样本中的任一个,这是由于给定样本自身包括含有给定层中的IRAP图片之前述样本,可能通过使用提取器
d.当存在时,携载给定层的参考层的轨道中的样本中的任一个,这是由于给定样本的时间上并列的样本包括含有给定层中的IRAP图片之前述样本的时间上并列的样本,可能通过使用提取器
在样本描述逻辑框168的此实例定义中,对于携载于超过一个轨道中的HEVC或L-HEVC位流,当基础轨道的样本条目名称为‘hvc1’或‘hvc2’时,其它轨道的样本条目名称应为‘hvc2’或‘lhv1’,且当基础轨道的样本条目名称为‘hev1’或‘hev2’时,其它轨道的样本条目名称应为‘hev2’或‘lhe1’。所述基础轨道为具有本身存在的基础层的最低时间子层(其的VCL NAL单元具有等于0的TemporalId)的轨道。
在这个实例中,上文的约束要求便利随机存取启用且针对携载HEVC或L-HEVC位流的所有轨道或所述轨道中无一者而指示。
在这个实例中,如果轨道的样本含有HEVC兼容的基础层,那么应使用‘hvc1’、‘hev1’、‘hvc2’或‘hev2’样本条目。此处,所述条目应首先含有HEVC配置逻辑框,可能接着为如下文所定义的L-HEVC配置逻辑框。HEVC配置逻辑框记录简档、层、层级,且也可能记录如由HEVCDecoderConfigurationRecord所定义的HEVC兼容的基础层的参数集。L-HEVC配置逻辑框可能记录如通过LHEVCDecoderConfigurationRecord所定义的L-HEVC兼容的增强层的参数集,LHEVCDecoderConfigurationRecord存储于L-HEVC配置逻辑框中。
如果轨道的样本并不含有HEVC基础层,那么应使用样本条目类型‘lhv1’或‘lhe1’且样本条目应含有L-HEVC配置逻辑框,如下文所定义。此包含如(例如)ISO/IEC 14496-15中所定义的HEVCDecoderConfigurationRecord。
图5为说明根据本发明的技术形成且发送媒体数据的实例方法的流程图。图5的方法可由(例如)图1的内容准备装置20和/或图1的服务器装置60、归因于内容准备装置20和服务器装置60经配置以执行功能性的装置等执行。出于解释的目的,关于内容准备装置20和服务器装置60两者来论述图5的技术。
一开始,囊封单元30接收来自(例如)音频编码器26和/或视频编码器28的经编码媒体数据(200)。在这个实例中,囊封单元30囊封各种样本中的视频数据,其中的一些表示随机存取样本。所述视频数据可以HEVC或L-HEVC来经编码。为启用便利随机存取,囊封单元30向囊封随机存取点媒体数据的样本指派‘hev1’或‘hev2’的样本条目类型值(202),且也向参数集提供样本条目或随机存取样本(204)。所述随机存取点可对应于瞬时解码器再新(IDR)帧,所述瞬时解码器再新(IDR)帧可对应于使用帧内预测经编码的帧(I帧)。所述参数集可包含视频参数集(VPS)、序列参数集(SPS)和/或图片参数集(SPS)中的任一个或全部。一般来说,囊封单元30可保证所有必要参数集具备随机存取样本和/或对应于所述随机存取样本的样本条目以启用便利随机存取。
囊封单元30接着可(例如)根据ISO/IEC 14496-15形成一或多个文件,其包含样本和参数集(206)。明确地说,囊封单元30可形成文件以使得参数集与样本条目类型‘hev1’或‘hev2’和/或对应于这些样本条目类型的样本包含在一起以启用便利随机存取。内容准备装置20接着可输出随机存取样本的样本条目类型数据(208)。在一些实例中,此输出可连同剩余文件送到固定媒体,例如数字多功能光盘(DVD)或蓝光光盘。在其它实例中,此输出可发送到服务器装置60,所述服务器装置接着可将样本条目类型数据发送到客户端装置,例如图1的客户端装置40。
在图5的实例中,服务器装置60将样本条目类型数据发送到客户端装置40,这使客户端装置40执行便利随机存取。因此,图1的服务器装置60的请求处理单元70从客户端装置40接收随机存取样本的请求(210),所述随机存取样本的样本条目类型为‘hev1’或‘hev2’。作为响应,请求处理单元70将所请求的随机存取样本和参数集(VPS、SPS和/或PPS)发送到客户端装置40(212)。明确地说,此数据可经布置以使得参数集与样本条目或对应于样本条目数据的样本一起放置,以使得客户端装置40无需搜索且提取比随机存取样本更早的样本的参数集。以这种方式,图5的技术可启用客户端装置40的便利随机存取,由此减少对服务器装置60和客户端装置40的处理要求,减小与便利随机存取未经启用的情况相比的此数据交换的带宽消耗量,且改善客户端装置40接收来自用户的请求媒体数据的输入的时间与客户端装置40可将所请求的媒体数据呈现到用户的时间之间的时延。
图6是说明根据本发明的技术执行随机存取的实例方法的流程图。出于实例的目的,图6的方法是关于图1的客户端装置40解释。
在这个实例中,客户端装置40的检索单元52首先请求随机存取点样本的样本条目类型数据(220)。举例来说,检索单元52可根据DASH传送对样本条目类型数据的HTTP请求。接收样本条目类型数据之后,客户端装置40的文件格式处理单元50根据(例如)HEVC或L-HEVC中的一个确定样本条目类型数据指示用于包含经编码视频数据的相关联样本的样本条目类型‘hev1’或‘hev2’(222)。相应地,客户端装置40可确定可用于便利随机存取的样本。即,客户端装置40可检索包含样本的媒体数据或样本的样本条目的样本和参数集,而不搜索且提取按解码次序的更早样本的参数集。在这个实例中,应理解包含样本的视频位流也包含比按解码次序的样本更早的一或多个其它样本。
作为响应,客户端装置40检索样本媒体数据和对应参数集(226)。客户端装置40不必搜索和提取更早样本的参数集,但实情为,所检索的参数集包含用于解码所检索的样本的媒体数据所需的所有参数集数据,这是由于便利随机存取。因此,文件格式处理单元50解囊封来自包含检索样本的文件的视频数据,且向视频解码器48提供经解囊封媒体数据。视频解码器48使用参数集来解码视频数据,且向视频输出44提供经解码视频数据,所述视频输出呈现媒体数据(228)。检索单元52可另外请求按解码次序的后续样本(230),且视频解码器48可接着解码所述后续样本的视频数据且视频输出44可呈现经解码视频数据。此程序可继续直到结束对应媒体呈现为止,或直到(例如)由用户请求媒体数据的新集合为止。
以这种方式,图6的方法表示处理视频数据的方法的实例,包含接收描述视频位流的样本的样本条目类型的数据,所述样本条目类型为‘hev1’或‘hev2’中的一个,其中样本包括根据高效视频译码(HEVC)或分层式HEVC(L-HEVC)中的一个的经编码视频数据,且其中包含视频数据的一或多个其它样本按解码次序在视频位流中的样本之前,且响应于样本条目类型为‘hev1’或‘hev2’且所述样本包括根据HEVC或L-HEVC中的一个的经编码视频数据,检索样本以使用样本执行随机存取,而不检索在样本之前的一或多个其它样本中的任一个的视频数据,且不检索按解码次序的视频位流的任何前述样本的参数集。
图7为说明产生包含视频数据的文件的实例技术的流程图。图7的方法经描述为由图1的囊封单元30来执行。然而,应理解,一般来说,图7的方法可由其它装置以及(例如)由服务器装置60的组件来执行。此外,图7的技术可与如上所述的图5的文件产生技术一起经执行。
一开始,囊封单元30接收经编码媒体数据(250)。囊封单元30可接收来自(例如)视频编码器28的经编码媒体数据,所述视频编码器可根据HEVC、L-HEVC或另一此类视频译码标准来编码媒体数据。明确地说,经编码媒体数据可包含针对(例如)MV-HEVC、3D-HEVC、SHVC等(例如其它视频编码标准的分层式扩展)的多个层。
囊封单元30可通常形成呈多个轨道形式的包含经编码媒体数据的文件。囊封单元30可形成文件的轨道以使得包含视频数据的每一轨道包含多层视频数据的一或多个层(252)。轨道内的多个层可对应于(例如)不同时间可调性层。包含不同层的轨道可对应于(例如)针对MV-HEVC或3D-HEVC的不同视图、或针对SHVC(例如,空间分辨率可调性、位深度可调性、峰值信噪比(PSNR)可调性等)的不同可调性层。
在图7的实例中,囊封单元30随后确定是否启用便利随机存取(254)。举例来说,囊封单元30可接收来自用户(例如,管理员)的配置数据。根据本发明中所提出的限制,当便利随机存取针对多个轨道中的最低轨道经启用时,所述最低轨道包含携载视频数据的最低子层的视频数据的基础层,囊封单元30针对包含视频数据的多个轨道中的每一其它轨道启用便利随机存取(256)。替代地,如果便利随机存取针对最低轨道经停用,那么囊封单元30针对多个轨道中的其它轨道停用便利随机存取(258)。在其它实例中,囊封单元30可根据如上文所述的替代性约束启用或停用便利随机存取(即,对携载单层或多层位流(通过HEVC、L-HEVC或任何其它编解码器译码)的所有轨道,当携载基础层的最低子层(其的VCL NAL单元具有等于0的TemporalId)的轨道使用指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置)时,所有其它轨道应使用指示便利随机存取经启用的样本条目类型(连同呈现HEVC和/或L-HEVC配置))。
囊封单元30随后向针对包含视频数据的轨道的样本的样本条目指派指示便利随机存取是否启用的样本条目类型值(260)。举例来说,作为样本条目类型值的‘hev1’和‘hev2’可指示针对包含参看如此数据的轨道的便利随机存取经启用囊封单元30也形成包含如上文所确定的轨道和样本条目类型值的文件(262)。
以这种方式,图7的方法表示产生包含视频数据的文件的方法的实例,所述视频数据包含,响应于确定多个轨道中的最低轨道(所述最低轨道包含携载视频数据的最低子层的视频数据的基础层)应包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的多个轨道中的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,且产生包含多个轨道的文件,以使得多个轨道的轨道的样本条目类型值指示便利随机存取经启用。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或通过计算机可读媒体发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体(其包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体)。以这种方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例,且非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置、闪存或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。此外,将任何连接件适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字用户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,但实际上指向非暂时性有形存储媒体。如本文中所使用的磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软碟和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各者的组合应也包含于计算机可读媒体的范围内。
可由一或多个处理器执行指令,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文所使用的术语“处理器”可指前述结构或适用于实施本文中所描述的技术的任一其它结构中的任一个。另外,在一些方面中,可在经配置用于编码和解码的专用硬件和/或软件模块内提供本文中所描述的功能性,或将本文中所描述的功能性并入组合式编解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在多种装置或设备中实施,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。相反地,如上文所描述,可将各种单元组合于编解码器硬件单元中,或由互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件和/或固件来提供所述单元。
已描述各种实例。这些和其它实例在所附权利要求书的范围内。

Claims (16)

1.一种产生包含视频数据的文件的方法,所述方法包括:
响应于确定多个轨道中的最低轨道将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的所述多个轨道的其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,所述最低轨道包含携载所述视频数据的最低子层的视频数据的基础层;以及
产生包含所述多个轨道的文件,以使得所述多个轨道中的所述轨道的所述样本条目类型值指示便利随机存取经启用。
2.根据权利要求1所述的方法,其中所述最低轨道和所述其它轨道的所述样本条目类型值包括‘hev1’或‘hev2’中的一个。
3.根据权利要求1所述的方法,其中所述视频数据根据高效视频译码HEVC或分层式HEVC L-HEVC中的一个来编码。
4.根据权利要求1所述的方法,其进一步包括:
将所述样本条目类型值中的至少一个发送到客户端装置;
在发送所述样本条目类型值中的所述至少一个之后,接收来自所述客户端装置的随机存取样本的请求;以及
响应于所述请求,将所述随机存取样本发送到所述客户端装置,所述发送包含发送描述所述样本且包含于以下中的至少一个中的参数集:对应于所述样本的样本条目中或所述样本中。
5.一种用于产生包含视频数据的文件的装置,所述装置包括:
存储器,其经配置以存储视频数据;以及
一或多个处理器,其在电路系统中实施且经配置以:
响应于确定多个轨道中的最低轨道将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的所述多个轨道中的所述其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,所述最低轨道包含携载所述视频数据的最低子层的所述视频数据的基础层;以及
产生包含所述多个轨道的文件,以使得所述多个轨道中的所述轨道的所述样本条目类型值指示便利随机存取经启用。
6.根据权利要求5所述的装置,其中所述最低轨道和所述其它轨道的所述样本条目类型值包括‘hev1’或‘hev2’中的一个。
7.根据权利要求5所述的装置,其中所述视频数据根据高效视频译码HEVC或分层式HEVC L-HEVC中的一个来编码。
8.根据权利要求5所述的装置,其中所述一或多个处理器经进一步配置以:
将所述样本条目类型值中的至少一个发送到客户端装置;
在发送所述样本条目类型值中的所述至少一个之后,接收来自所述客户端装置的随机存取样本的请求;以及
响应于所述请求,将所述随机存取样本发送到所述客户端装置,所述发送包含发送描述所述样本且包含于以下中的至少一个中的参数集:对应于所述样本的样本条目中或所述样本中。
9.一种用于产生包含视频数据的文件的装置,所述装置包括:
用于响应于确定多个轨道中的最低轨道将包含指示便利随机存取经启用的样本的样本条目类型值而设定包含视频数据的所述多个轨道中的所述其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用的装置,所述最低轨道包含携载所述视频数据的最低子层的视频数据的基础层;以及
用于产生包含所述多个轨道的文件以使得所述多个轨道中的所述轨道的所述样本条目类型值指示便利随机存取经启用的装置。
10.根据权利要求9所述的装置,其中所述最低轨道和所述其它轨道的所述样本条目类型值包括‘hev1’或‘hev2’中的一个。
11.根据权利要求9所述的装置,其中所述视频数据根据高效视频译码HEVC或分层式HEVC L-HEVC中的一个来编码。
12.根据权利要求9所述的装置,其进一步包括:
用于将所述样本条目类型值中的至少一个发送到客户端装置的装置;
用于在发送所述样本条目类型值中的所述至少一个之后接收来自所述客户端装置的随机存取样本的请求的装置;以及
用于响应于所述请求将所述随机存取样本发送到所述客户端装置的装置,所述发送包含发送描述所述样本且包含于以下中的至少一个中的参数集:对应于所述样本的样本条目中或所述样本中。
13.一种上面存储有指令的计算机可读存储媒体,所述指令在执行时使处理器进行以下操作:
响应于确定多个轨道中的最低轨道将包含指示便利随机存取经启用的样本的样本条目类型值,设定包含视频数据的所述多个轨道中的所述其它轨道中的每一个的样本的样本条目类型值以指示便利随机存取经启用,所述最低轨道包含携载所述视频数据的最低子层的视频数据的基础层;以及
产生包含所述多个轨道的文件,以使得所述多个轨道中的所述轨道的所述样本条目类型值指示便利随机存取经启用。
14.根据权利要求13所述的计算机可读存储媒体,其中所述最低轨道和所述其它轨道的所述样本条目类型值包括‘hev1’或‘hev2’中的一个。
15.根据权利要求13所述的计算机可读存储媒体,其中所述视频数据根据高效视频译码HEVC或分层式HEVC L-HEVC中的一个来编码。
16.根据权利要求13所述的计算机可读存储媒体,其进一步包括使所述处理器进行以下各者的指令:
将所述样本条目类型值中的至少一个发送到客户端装置;
在发送所述样本条目类型值中的所述至少一个之后,接收来自所述客户端装置的随机存取样本的请求;以及
响应于所述请求,将所述随机存取样本发送到所述客户端装置,所述发送包含发送描述所述样本且包含于以下中的至少一个中的参数集:对应于所述样本的样本条目中或所述样本中。
CN201780027752.9A 2016-05-24 2017-05-24 样本条目和随机存取 Active CN109076264B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662340886P 2016-05-24 2016-05-24
US62/340,886 2016-05-24
US15/602,962 US10652630B2 (en) 2016-05-24 2017-05-23 Sample entries and random access
US15/602,962 2017-05-23
PCT/US2017/034296 WO2017205522A1 (en) 2016-05-24 2017-05-24 Sample entries and random access

Publications (2)

Publication Number Publication Date
CN109076264A true CN109076264A (zh) 2018-12-21
CN109076264B CN109076264B (zh) 2020-12-29

Family

ID=59054204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780027752.9A Active CN109076264B (zh) 2016-05-24 2017-05-24 样本条目和随机存取

Country Status (10)

Country Link
US (1) US10652630B2 (zh)
EP (1) EP3466096B1 (zh)
JP (1) JP2019520742A (zh)
KR (1) KR102434299B1 (zh)
CN (1) CN109076264B (zh)
AU (1) AU2017269958B9 (zh)
BR (1) BR112018073936A2 (zh)
ES (1) ES2821382T3 (zh)
TW (1) TW201743614A (zh)
WO (1) WO2017205522A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652631B2 (en) 2016-05-24 2020-05-12 Qualcomm Incorporated Sample entries and random access
US10999605B2 (en) 2017-01-10 2021-05-04 Qualcomm Incorporated Signaling of important video information in file formats
JP7414856B2 (ja) * 2019-06-21 2024-01-16 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオコーディングレイヤアップスイッチング指示
US11711518B2 (en) 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103039087A (zh) * 2010-06-29 2013-04-10 高通股份有限公司 发信号通知用于串流视频数据的随机存取点
US20140032987A1 (en) * 2012-07-29 2014-01-30 Thadi M. Nagaraj Replacing lost media data for network streaming
CN103843301A (zh) * 2011-10-05 2014-06-04 高通股份有限公司 经译码多媒体数据的网络串流期间的表示之间的切换
US20140192151A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Indication of presence of texture and depth views in tracks for multiview coding plus depth
WO2015025289A2 (en) * 2013-08-21 2015-02-26 Artplus, Inc. System and method for tracking and controlling ownership of digital works and rewarding authors, artists and/or their representatives over time
US20150110192A1 (en) * 2013-10-23 2015-04-23 Qualcomm Incorporated Multi-layer video file format designs
CN104919812A (zh) * 2013-11-25 2015-09-16 华为技术有限公司 处理视频的设备和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
US20130195171A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content
EP3713234A1 (en) * 2014-01-07 2020-09-23 Canon Kabushiki Kaisha Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
US10652631B2 (en) 2016-05-24 2020-05-12 Qualcomm Incorporated Sample entries and random access

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103039087A (zh) * 2010-06-29 2013-04-10 高通股份有限公司 发信号通知用于串流视频数据的随机存取点
CN103843301A (zh) * 2011-10-05 2014-06-04 高通股份有限公司 经译码多媒体数据的网络串流期间的表示之间的切换
US20140032987A1 (en) * 2012-07-29 2014-01-30 Thadi M. Nagaraj Replacing lost media data for network streaming
US20140192151A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Indication of presence of texture and depth views in tracks for multiview coding plus depth
CN104919801A (zh) * 2013-01-04 2015-09-16 高通股份有限公司 用于多视图译码加深度的纹理及深度视图的分轨存储
WO2015025289A2 (en) * 2013-08-21 2015-02-26 Artplus, Inc. System and method for tracking and controlling ownership of digital works and rewarding authors, artists and/or their representatives over time
US20150110192A1 (en) * 2013-10-23 2015-04-23 Qualcomm Incorporated Multi-layer video file format designs
CN104919812A (zh) * 2013-11-25 2015-09-16 华为技术有限公司 处理视频的设备和方法

Also Published As

Publication number Publication date
JP2019520742A (ja) 2019-07-18
AU2017269958B9 (en) 2021-06-03
KR102434299B1 (ko) 2022-08-18
ES2821382T3 (es) 2021-04-26
US20170347165A1 (en) 2017-11-30
AU2017269958A1 (en) 2018-11-08
US10652630B2 (en) 2020-05-12
KR20190010568A (ko) 2019-01-30
CN109076264B (zh) 2020-12-29
TW201743614A (zh) 2017-12-16
EP3466096A1 (en) 2019-04-10
AU2017269958B2 (en) 2021-05-27
EP3466096B1 (en) 2020-06-24
WO2017205522A1 (en) 2017-11-30
BR112018073936A2 (pt) 2019-02-26

Similar Documents

Publication Publication Date Title
KR102614207B1 (ko) Mime 타입 파라미터들을 이용하는 네트워크 비디오 스트리밍에서의 중요 비디오 정보 시그널링
CN109076238A (zh) 通过http在动态自适应流式传输中用信号传送虚拟现实视频
CN109155865A (zh) 在图像中的最感兴趣的区域的先进信号传送
CN109155876A (zh) 样本条目和随机存取
CN110447234A (zh) 作为分隔符及可寻址资源标识符的区段类型
CN110089122A (zh) 对于用于流式处理媒体数据的预取支持的数据发信
CN109479158A (zh) 检索及存取用于媒体流式处理的段区块
CN110832872B (zh) 使用用于文件格式方框的通用描述符处理媒体数据
CN105744295A (zh) 提供用于串流传输视频数据的序列数据集
CN109076264A (zh) 样本条目和随机存取
CN111602406B (zh) 一种处理媒体数据的方法、装置和计算机可读存储媒体
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
GR01 Patent grant
GR01 Patent grant