CN105409219A - 高效率视频译码扩展中的目标输出层的选择 - Google Patents
高效率视频译码扩展中的目标输出层的选择 Download PDFInfo
- Publication number
- CN105409219A CN105409219A CN201480039022.7A CN201480039022A CN105409219A CN 105409219 A CN105409219 A CN 105409219A CN 201480039022 A CN201480039022 A CN 201480039022A CN 105409219 A CN105409219 A CN 105409219A
- Authority
- CN
- China
- Prior art keywords
- layer
- output layer
- video
- target output
- target
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明涉及一种用于处理视频数据的方法、设备及制造。接收视频位流中的输出层集合的列表,及接收到输出层集合的所述列表中的至少一目标输出层集合的索引。接下来,基于所述索引确定所述至少一目标输出层集合中的目标输出层。解码来自所述视频位流的至少所述目标输出层。随后,输出所述经解码目标输出层,而不输出目标非用于输出的层。
Description
本申请案主张2013年7月12日申请的第61/845,837号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明大体上涉及处理视频数据,且更确切地说,涉及处理用于视频数据中的操作点。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播广播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及类似者。数字视频装置实施视频译码技术,例如描述于由以下各项定义的标准中的那些技术:MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4(第10部分)、高级视频译码(AVC)、高效率视频译码(HEVC)及此等标准的扩展。视频装置可通过实施此等视频译码技术来更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频译码技术包含空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割成视频块(其也可被称作树块)、译码单元(CU)及/或译码节点。可使用相对于同一图片中的邻近块中的参考样本的空间预测来编码图片的经帧内译码(I)的切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的邻近块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码帧间译码块。帧内译码块是根据帧内译码模式及残余数据来编码。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以达成甚至更多压缩。
发明内容
一般来说,本发明描述用于选择由目标输出层集合指定的输出操作点以及用于多层HEVC扩展的时间ID的技术。所述技术可提供发信与操作点相关联的信息的改进效率,且解决关于识别在解码期间待输出的层的问题。
在一个实例中,解码视频数据的方法包含:接收到输出层集合的列表中的至少一目标输出层集合的索引;基于所述索引确定至少一目标输出层集合中的目标输出层;解码至少目标输出层;及输出经解码目标输出层而不输出目标非用于输出的层。
在另一实例中,一种用于解码视频数据的装置包含:存储器,其经配置以存储数据;及一或多个处理器,其与存储器通信且经配置以:接收到输出集合的列表中的至少一目标输出层集合的索引;基于所述索引确定至少一目标输出层集合中的目标输出层;解码至少目标输出层;及输出经解码目标输出层而不输出目标非用于输出的层。
在另一实例中,一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使至少一处理器进行以下操作:接收到输出集合的列表中的至少一目标输出层集合的索引;基于所述索引确定至少一目标输出层集合中的目标输出层;解码至少目标输出层;及输出经解码目标输出层而不输出目标非用于输出的层。
在另一实例中,一种用于解码视频数据的装置,所述装置包含:用于接收到输出层集合的列表中的至少一目标输出层集合的索引的装置;用于基于所述索引确定所述至少一目标输出层集合中的目标输出层的装置;用于解码至少所述目标输出层的装置;及用于输出所述经解码目标输出层而不输出目标非用于输出的层的装置。
在另一实例中,一种用于处理视频数据的方法包含:确定目标用于输出的层集合;确定到输出层集合的列表中的目标输出层集合的索引,使得所述目标输出层集合表示目标用于输出的所确定层集合;及发送所述索引到视频解码器。
在另一实例中,一种用于解码视频数据的装置包含:存储器,其经配置以存储数据;及一或多个处理器,其与存储器通信且经配置以接收到输出的列表中的至少一目标输出层集合的索引;确定目标用于输出的层集合;确定输出层集合的列表中的目标输出层集合的索引,使得所述目标输出层集合表示目标用于输出的所确定层集合;及发送所述索引到视频解码器。
在另一实例中,一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使至少一处理器进行以下操作:确定目标用于输出的层集合;确定到输出层集合的列表中的目标输出层集合的索引,使得目标输出层集合表示目标用于输出的所确定层集合;及发送所述索引到视频解码器。
在以下附图及描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述描述及附图以及权利要求书而显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频编码及解码系统的框图。
图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图3为根据本发明的技术的说明实例多视图解码次序的概念图。
图4为根据本发明的技术的用于多视图视频译码的MVC预测结构的一个实例的图。
图5为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图6为说明形成网络的一部分的一组实例装置的框图。
图7为说明进一步包含媒体应用程序的实例目的地装置的框图。
图8为说明用于处理视频数据的实例过程的流程图。
图9为说明解码视频数据的实例过程的流程图。
具体实施方式
一般来说,本发明描述与选择由目标输出层集合指定的输出操作点以及用于多层HEVC扩展的时间ID相关的技术。
位流可具有多个经译码视图。位流也可支持时间可扩充性,即不同帧速率。术语“操作点”指待解码的特定视图集合以及待采用的时间子集(例如,帧速率)。在一些状况下,不同的层或视图可为同一图片的具有不同图像分辨率的多个版本,例如一层处于720p及另一层处于1080p。作为一实例,原始位流可包含处于不同空间分辨率的三个层或视图及处于不同帧速率的两个时间可调式层。在此实例中,原始位流包含六个操作点,其中三个空间分辨率中的每一者在任一帧速率处可用。
除了表示不同视图或图像分辨率以外,不同层还可表示不同质量表示。举例来说,基层可为低质量的720p分辨率视频,其中增强层也为处于720p分辨率的相同视频但处于较高质量且取决于用于参考的基层。
术语“输出操作点”指待输出的特定视图集合、待解码的视图集合以及待采用的时间子集。“层识别符列表”可用以识别待包含在操作点中的层,其中每一层对应于单独空间可调式层、视图或类似者。层识别符列表可包含在视频参数集(VPS)中。层识别符列表可包含nuh_layer_id值的列表,其中nuh_layer_id值可为非负整数,其中每一层具有独特nuh_layer_id值,使得每一nuh_layer_id值识别特定对应层。最高temporalID可用以定义时间子集。层识别符列表及目标最高temporalID可用作输入以从位流提取操作点。
更确切地说,“操作点”为可从在时间上可调式的原始位流提取及/或具有多个层及/或视图的子位流。即,操作点为通过操作将另一位流、目标最高temporalID及目标层识别符列表作为输入的子位流提取过程而从另一位流产生的位流。位流包含一或多个视图,包含操作点的多个视图。目标最高temporalID定义时间子集。目标层列表包含层集合:待解码用于操作点的层集合及待输出用于输出操作点的层集合。输出操作点尤其与输出层集合相关联,即在输出层集合中识别的层,其为待输出的层。
术语“层集合”用于指待解码的层集合。“层集合”类似于“操作点”,不同之处在于“层集合”包含关于待解码的层的信息且并不包含关于时间可扩充性的信息。可以与从位流导出操作点相同的方式而从位流导出层集合,但最高temporalID并非可适用的。
术语“输出层集合”指待输出的层集合、识别所述集合中的层的层识别符列表及对应层集合的识别(其中对应层集合识别待解码的层)。输出层集合类似于层集合,不同之处在于输出层集合识别目标用于输出的层(除了指示对应层集合以外)。在一些实例中,输出层集合通过包含对应层集合的索引而识别对应层集合,其中对应层集合识别待解码的层。在其它实例中,输出层集合以某一其它方式来识别对应层集合。
层集合中目标并非用于输出的层仍可经解码,例如,当用于层间(或视图间)预测时。目标用于输出的层为待解码的层的子集,待解码的层中的一者、一些或全部可目标用于输出。应理解,术语“子集”不必意谓待输出的层为待解码的层的严格子集。即,在一些实例中,待解码的层及待输出的层为相同的。“输出层集合”类似于“输出操作点”,不同之处在于“输出层集合”包含关于待输出的层的信息,且不包含关于时间可扩充性的信息。
可基于层识别符(识别用于输出操作点的层)及时间子层识别符(识别用于输出操作点的时间子集)的值(其识别位流的输出操作点)而从位流提取子位流。在位流内的视频参数集(VPS)中发信输出操作点。对于所述操作点中的每一者,操作点语法结构指定用以识别属于给定操作点的子位流的位流中的网络抽象层(NAL)单元的层集合识别符。以此方式,可基于NAL单元的层识别符及与输出操作点相关联的最高时间ID而从原始位流提取构成给定输出操作点的子位流的NAL单元。NAL单元为经译码视频数据的组件;经译码视频数据经组织为NAL单元。
本发明中所描述的技术包含导出在输出层集合的列表中的特定目标输出层集合的索引,及将所述索引发送到视频解码器。所述索引可用以定义在解码过程期间使用的目标输出层集合,尤其解码过程的解码图片缓冲操作。而且,在一些实例中,所述索引用于选择用于DPB操作的适当经解码图片缓冲器(DPB)大小(或子DPB大小)来作为假想参考解码器(HRD)操作及其它操作的部分,如下文较详细论述。
在一些实例中,由于在位流自身中包含索引而不将所述索引发送到解码器,但经由一些“外部装置”,即经由位流的外部将视频自身发送到视频解码器。如下文较详细论述,在各种实例中,索引可由服务器/源装置或由客户端/目的地装置上的一或多个组件导出,且可在不同实例中以不同方式发送到视频解码器,在一些实例中包含MPEGTS或DASHMPD(媒体呈现描述),如下文较详细论述。在一些实例中,可经由“外部装置”来将索引发送到视频解码器而非发送在位流中的索引,使得位流可在多个操作点而非位流中给定的一个操作点处操作。在一些实例中,如果视频解码器不接收索引,那么存在例如通过仅解码及输出层零而进行的默认假设。
在一些实例中,为方便会话协商,本发明中所描述的技术进一步包含复制在传输层规范中的VPS中发信的输出操作点的信息。在一个实例中,传输层规范可为清单文件,例如HTTP上的动态自适应流式传输(DASH)中的MPD(媒体呈现描述),例如包含在文件格式信息中的视频解码器配置及/或在MPEG-2TS中的描述符。作为另一实例,清单文件可包括会话描述协议(SDP)消息。对于每一输出操作点,可发信目标输出视图、额外依赖视图及最低适用最高temporalID。
基于定义在HEVC可调式/多视图/3D扩展中可能的索引的外部装置,可在传输层中使用不同过程;两个此等实例不同过程包含:一个用于流式传输及一个用于协商的SDP提供/回答方式。
在流式传输应用中,例如,DASH及实时流协议(RTSP)流式传输,可应用如下内容。客户端装置接收媒体呈现的描述,其中所述描述包含关于输出层集合及可能基于时间子集的输出操作点的信息。客户端装置可剖析所述描述及选择所述输出操作点中的一者,且向服务器装置请求所述输出操作点。服务器装置可将所请求输出操作点信息转换为最高temporalID及特定目标输出层集合的索引,且将此信息传递到视频解码器作为从外部装置的输入。服务器装置可发送对应于输出操作点的所请求数据。
在使用会话描述协议(SDP)提供/回答类型的协商的应用中,可应用以下内容。发送器装置可发送邀请到多个接收器(包含接收器A及接收器B),其中所述邀请含有发送器可提供的输出操作点是什么(例如,在输出视图方面)的描述。接收器可选择相应输出操作点。举例来说,接收器A可选择视图集合以输出,及接收器B也可选择视图集合以输出。发送器装置可编码包含所述接收器所选择的所有视图的位流,包含输出层集合以及可能基于时间子集的输出操作点的描述,且发送所述描述到接收器。在媒体呈现的描述中发信所需输出操作点。每一接收器确定输出层集合的索引,其要求且传递最高temporalID及输出层集合列表中的输出层集合的索引到接收器的解码器。在此实例中,将索引用作视频解码器中的外部装置。
视频译码标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual及ITU-TH.264(也称为ISO/IECMPEG-4AVC)。视频译码标准进一步包含ITU-TH.264的可调式视频译码(SVC)及多视图视频译码(MVC)扩展。
另外,存在新的视频译码标准,即ITU-T视频译码专家群组(VCEG)及ISO/IEC动画专家群组(MPEG)的视频译码联合合作小组(JCT-VC)已定案的高效率视频译码(HEVC)。最新HEVC草案规范为工作草案10(在本文中被称作“HEVCWD10”),以引用的方式全部并入本文中,Bross等人的高效率视频译码(HEVC)文本规范草案10(2013年4月,Incheon)从2013年7月12日起可从http://phenix.it-sudparis.eu/jct/doc_end_user/ documents/13_Incheon/wg11/JCTVC-M0432-v3.zip获得。尽管本发明中所描述的技术关于HEVC标准来描述,但本发明的方面并未如此限制且可扩展到其它视频译码标准以及专有视频译码技术。
存在针对HEVC可用且经开发的扩展。举例来说,HEVC的多视图扩展(即MV-HEVC)也由JCT-3V开发。MV-HEVC的最近工作草案(WD)为WD4(在本文中被称作“MV-HEVCWD4”),以引用的方式全部并入本文中,Tech等人的MV-HEVC草案文本4(2013年4月,Incheon)从2013年7月12日起可从http://phenix.it-sudparis.eu/jct2/ doc_end_user/documents/4_Incheon/wg11/JCT3V-D1004-v4.zip获得。HEVC的可调式扩展(即SHVC)也由JCT-VC开发。SHVC的最近工作草案为SHVC工作草案2(在本文中被称作“SHVCWD2”),以引用的方式全部并入本文中,Chen等人的SHVC工作草案2(2013年4月,Incheon)从2013年7月12日起可从http://phenix.it-sudparis.eu/jct/doc_end_user/ documents/13_Incheon/wg11/JCTVC-M1008-v3.zip获得。
图1为说明可利用本发明中所描述的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其产生稍后时间将由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些状况下,源装置12及目的地装置14可能经装备以用于无线通信。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置32。在其它实例中,源装置12及目的地装置14可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
图1的所说明系统10仅为一个实例。本发明的技术可由任何数字视频编码及/或解码装置执行。尽管所述技术大体上由视频编码装置或视频解码装置执行,但所述技术还可由视频编码器/解码器(通常被称为“编解码器(CODEC)”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为源装置12在其中产生经译码视频数据以供发射到目的地装置14的此等译码装置的实例。在一些实例中,装置12、14可以实质上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传播以例如用于视频流式传输、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如视频相机、含有先前俘获的视频的视频存档及/或用以从视频内容提供者接收视频的视频馈送接口。作为另一替代,视频源18可产生基于计算机图形的数据,作为源视频或直播视频、存档视频及计算机产生的视频的组合。在一些状况下,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。
在每一状况下,可由视频编码器20编码所俘获、经预先俘获或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据也可(或者)存储到存储装置上以供稍后由目的地装置14或其它装置存取以用于解码及/或播放。
链路16可包含暂态媒体(例如无线广播或有线网络传输)或存储媒体(即,非暂时性存储媒体)(例如硬盘、闪盘、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体)。在一些实例中,网络服务器可从源装置12接收经编码视频数据,且例如经由网络传输将所述经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,可将链路16理解为包含各种形式的一或多个计算机可读媒体。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,且将经编码的视频数据发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可以用于促进从源装置12到目的地装置14的通信的设备。
目的地装置14的输入接口28从链路16接收信息,链路16可为计算机可读媒体。来自链路16的信息可包含由视频编码器20定义的语法信息,其也由视频解码器30使用,包含描述块及其它经译码单元(例如GOP)的特性及/或处理的语法元素。显示装置32可与目的地装置14集成或在目的地装置14外部。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
替代地,可从输出接口22将经编码数据输出到存储装置34。类似地,可通过输入接口从存储装置34存取经编码数据。存储装置34可包含各种分布式或本地存取的数据存储媒体中的任一者,例如,硬盘、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置34可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载而从存储装置34存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或两者的组合。经编码视频数据从存储装置34的传输可为流式传输、下载传输或两者的组合。
本发明的技术不必限于无线应用或设定。所述技术可适用于支持多种多媒体应用(例如,(例如)经由因特网的空中电视广播、有线电视传输、卫星电视传输、流式视频传输)中的任一者的视频译码、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
视频编码器20及视频解码器30可根据例如HEVCWD10标准等视频译码标准来操作,且可符合HEVC测试模型(HM)。此外,视频编码器20及视频解码器30可根据HEVC扩展(例如MV-HEVCWD4及SHVCWD2)来操作。替代地,视频编码器20及视频解码器30可根据其它专有或工业标准(例如,ITU-TH.264标准,或者被称作MPEG-4,第10部分,高级视频译码(AVC))或此等标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2及ITU-TH.263。在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。如果适用,那么MUX-DEMUX单元可遵照ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-TH.264/MPEG-4(AVC)标准由ITU-T视频译码专家群组(VCEG)连同ISO/IEC动画专家群组(MPEG)一起制定为被称为联合视频小组(JVT)的集体合作的产品。在一些方面中,本发明中所描述的技术可适用于大体符合H.264标准的装置。H.264标准由ITU-T研究小组且在日期为2005年3月描述于ITU-T推荐H.264(用于一般视听服务的高级视频译码)中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)持续致力于扩展H.264/MPEG-4AVC。
视频编码器20及视频解码器30各自可实施为多种合适编码器及解码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。当所述技术部分地在软件中实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器及/或无线通信装置(例如蜂窝式电话)。
JCT-VC开发HEVC标准且致力于对HEVC的扩展。HEVC标准化努力是基于视频译码装置的演进型模型(称作HEVC测试模型(HM))。HM根据(例如)ITU-TH.264/AVC假定视频译码装置相对于现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。
一般来说,HM的工作模型描述视频帧或图片可划分成包含明度样本及色度样本两者的树块或最大译码单元(LCU)的序列。位流内的语法数据可定义LCU的大小,LCU在像素的数目方面为最大译码单元。切片包含按译码次序的数个连续树块。可将视频帧或图片分割成一或多个切片。每一树块可根据四叉树而分裂成若干译码单元(CU)。一般来说,四叉树数据结构每CU包含一个节点,其中根节点对应于树块。如果CU分裂成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。
所述四叉树数据结构中的每一节点可提供针对对应CU的语法数据。举例来说,所述四叉树中的节点可包含分裂旗标,从而指示对应于所述节点的CU是否分裂成子CU。针对CU的语法元素可经递归地定义,且可取决于所述CU是否分裂成子CU。如果CU未进一步分裂,那么其被称作叶CU。在本发明中,即使不存在原始叶CU的明显分裂,叶CU的四个子CU还将被称作叶CU。举例来说,如果16x16大小的CU未进一步分裂,那么四个8x8子CU也将被称作叶CU,尽管所述16x16CU从未分裂。
除CU不具有大小区别外,CU具有与H.264标准的宏块类似的用途。举例来说,可树块可分裂成四个子节点(也称作子CU),且每一子节点又可为上代节点且可被分裂成另外四个子节点。被称作四叉树的叶节点的最终的未分裂子节点包括译码节点,所述译码节点也被称作叶CU。与经译码位流相关联的语法数据可定义可分裂树块的最大次数(其被称作最大CU深度),且也可定义所述译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明使用术语“块”来指HEVC的上下文中的CU、PU或TU中的任一者或其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小可在从8x8像素高达具有最大64x64像素或大于64x64像素的树块的大小的范围内。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)CU到一或多个PU的分割。分割模式可在CU经跳过或直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间而不同。PU的形状可分割成非正方形。与CU相关联的语法数据还可描述(例如)CU根据四叉树到一或多个TU的分割。TU的形状可为正方形或非正方形(例如,矩形)。
HEVC标准允许根据TU进行变换,所述变换对于不同CU来说可为不同的。通常基于在针对已分割LCU所定义的给定CU内的PU的大小来对TU设定大小,尽管可能并非总是此状况。TU通常与PU大小相同或小于PU。在一些实例中,可使用被称为“残余四叉树”(RQT)的四叉树结构而将对应于CU的残余样本再分为较小单元。可将RQT的叶节点称作变换单元(TU)。与TU相关联的像素差值可经变换以产生可加以量化的变换系数。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于对应CU的所有或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,PU的数据可包含于残余四叉树(RQT)中,所述RQT可包含描述用于对应于所述PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一或多个PU的叶CU也可包含一或多个变换单元(TU)。如上文所论述,可使用RQT(也称作TU四叉树结构)来指定所述变换单元。举例来说,分裂旗标可指示叶CU是否分裂成四个变换单元。接着,可将每一变换单元进一步分裂为进一步的子TU。当TU未进一步分裂时,可将其称作叶TU。大体上,对于帧内译码来说,属于叶CU的所有叶TU共享相同的帧内预测模式。即,一般应用相同帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式将每一叶TU的残余值计算为在CU的对应于所述TU的部分与原始块之间的差。TU不必限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,PU可与用于同一CU的对应叶TU位于相同位置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。
此外,叶CU的TU也可与相应四叉树数据结构(称作残余四叉树(RQT))相关联。即,叶CU可包含指示所述叶CU如何被分割成TU的四叉树。TU四叉树的根节点大体对应于叶CU,而CU四叉树的根节点大体对应于树块(或LCU)。将RQT的未被分裂的TU称作叶TU。一般来说,除非另有指示,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)大体上包括一系列视频图片中的一或多者。GOP可包含GOP的标头、图片中的一或多者的标头或别处的语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述所述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
作为一实例,HM支持各种PU大小的预测。假定特定CU的大小为2Nx2N,那么HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持2NxnU、2NxnD、nLx2N及nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。CU的对应于25%分割的部分由“n”其后接着“上”、“下”、“左”或“右”的指示来指示。因此,举例来说,“2NxnU”指水平分割的2Nx2NCU,其中顶部为2Nx0.5NPU,且底部为2Nx1.5NPU。
在本发明中,“NxN”与“N乘N”可互换地使用以指视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块在垂直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,NxN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按行及列来布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括NxM像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包括在对残余视频数据应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后变换域中的系数。所述残余数据可对应于未经编码的图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
在任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化通常指将变换系数量化以可能地减少用以表示所述系数的数据的量从而提供进一步压缩的过程。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
在量化之后,视频编码器可扫描所述变换系数,从而从包含所述量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数置于阵列前部,及将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵编码方法来对一维向量进行熵编码。视频编码器20还可熵编码与经编码的视频数据相关联的供由视频解码器30用于解码视频数据的语法元素。
为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。所述上下文可能涉及(例如)符号的邻近值是否为非零。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。可将VLC中的码字建构成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,相对于(例如)针对待发射的每一符号使用相等长度码字,使用VLC可达成位节省。机率确定可基于指派给符号的上下文而进行。
视频编码器20可(例如)在帧标头、块标头、切片标头或GOP标头中进一步将语法数据(例如,基于块的语法数据、基于帧的语法数据,及基于GOP的语法数据)发送到视频解码器30。GOP语法数据可描述相应GOP中的帧数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。
HEVCWD10还允许借助于“配置文件”及“层级”来规定语法的子集的限制数目。HEVCWD10经设计以在其用于广泛范围的应用、位速率、分辨率、质量及服务的意义上为通用的。应用应尤其涵盖数字存储媒体、电视广播及实时通信。在产生HEVCWD10的过程中,已考虑来自典型应用的各种需求,已开发必要的算法元素且已将此些算法元素集成到单一语法中。因此,HEVCWD10将促进在不同应用中的视频数据交换。然而,考虑到实施HEVCWD10的完整语法的实践性,配置文件及层级提供针对语法的有限数目个子集的装置。
“配置文件”经定义为整个位流语法的由HEVCWD10指定的子集。在由给定配置文件的语法强加的界限内,其仍可能需要取决于位流中的语法元素所取的值的编码器及解码器的性能的非常大的变化。举例来说,指定大小的解码图片可能需要编码器及解码器的性能中的非常大的变化。在许多应用中,实施能够处理特定配置文件内的语法的所有假想用途的解码器当前既不实际也不经济。
为了处理此问题,在各自配置文件内指定“层”及“层级”。层的层级为强加于位流中的语法元素的值的指定约束集合。此些约束可为对值的简单限制。或者其可呈对值的算术组合(例如,图片宽度乘以图片高度乘以每秒解码的图片数目)的约束的形式。针对较低层指定的层级比针对较高层指定的层级经较多约束。针对所有配置文件定义相同层级集合,其中每一层级的定义的大部分方面跨越不同配置文件为共同的。在指定约束内,个别实施可支持每一支持配置文件的不同层级。在不同上下文中,层级为在按比例调整之前的变换系数的值。在HEVCWD10的附录A中更详细地描述配置文件及层级。
HEVCWD10定义子层作为时间可调式位流的时间可调式层,所述时间可调式位流由具有temporalID变量的特定值的视频译码层(VCL)网络抽象层(NAL)单元及相关联非VCLNAL单元组成。HEVCWD10进一步定义子层表示作为由特定子层及下部子层的NAL单元组成的位流的子集。
HEVCWD10的子条款10.1描述位流子集及用以产生子位流的提取过程。一般来说,HEVCWD10描述基于识别位流的操作点的层识别符及时间子层识别符的值而从位流提取子位流。
操作点为通过操作将另一位流、目标最高temporalID及目标层识别符列表作为输入的子位流提取过程而从另一位流产生的位流。操作点可由nuh_layer_id值集合(表示为OpLayerIdSet)及temporalID值(表示为OpTid)识别,且经导出为如在HEVCWD10中指定的将OpTid及OpLayerIdSet作为输入的子位流提取过程的输出的相关联位流子集可独立地解码。如果操作点的目标最高temporalID等于与目标层识别列表相关联的层集合中的temporalID的最大值,那么操作点与所述层集合相同。否则所述操作点为层集合的子集。
在一些实例中,子位流提取过程为指定过程,通过所述过程将位流中的不属于由目标最高temporalID及目标层识别符列表layerIdListTarget确定的目标集合的NAL单元从位流移除,其中输出子位流由位流中的属于所述目标集合的NAL单元组成。在一些实例中,子位流提取过程的输入为变量tIdTarget及列表targetDecLayerIdSet,且子位流提取过程的输出为子位流。可通过从位流移除temporalID大于tIdTarget或nuh_layer_id不在targetDecLayerIdSet中的值中的所有NAL单元而导出子位流。
包含在HEVCWD10的子条款10.1中所指定的子位流提取过程的输出中的任何子位流(其中tIdTarget等于0到6的包含性范围内的任一值,及其中targetDecLayerIdSet含有值0)符合HEVCWD10。符合HEVCWD10的位流可含有一或多个经译码切片NAL单元,其中nuh_layer_id等于0及temporalID等于0。
当前MV-HEVC及SHVC规范具有关于识别待在解码期间输出的层的问题。第一,尽管在VPS中发信多个输出层集合,但解码过程不知道选择哪一输出层集合。因此,在由TargetDecLayerIdList给定的待解码的层中,不清楚属于哪一层的哪些图片可总是经设定为并非用于输出(其中PicOutputFlag等于0),且属于哪一层的哪些图片为待输出的。
第二,尽管外部装置可与在MVC中类似而指定待输出的目标层集合,但此机制可在两方面中具有缺点:将输出层集合与目标输出层集合匹配的复杂情况,以及归因于未能够在一个回合中达成成功会话初始化的可能性的不稳定性。
如果经由外部装置发信目标输出层集合,那么不仅客户端(其可为视频编码器20)与解码器(其可为视频解码器30)之间的接口消耗稍微较多数据,而且在解码器处,需要其将目标输出层与VPS中的输出层集合含有的输出层匹配。此过程可在解码器处引入不必要的复杂情况。
解码器还需要考虑当目标输出层(如由外部装置导出)不匹配任何输出层集合时的状况。在此状况下,解码过程可智能地终止或导出“接近”目标输出层的输出层集合。然而,此可能并非客户端想要的操作点,且因此需要会话协商的另一回合。
在本发明中包含以下技术来处理关于操作点的选择的以上缺点。第一,可通过外部装置(例如,源装置或媒体应用程序或目的地装置上的其它组件)导出到特定目标输出层集合的索引。所述索引可用以定义在解码过程期间(尤其关于经解码图片缓冲器(DPB)操作)使用的目标输出层集合。另外,所述索引可用于选择用于DPB操作的适当DPB大小(或子DPB大小)作为HRD操作的部分。
第二,在一些实例中,为了会话协商的便利性,可在传输层规范中复制在VPS中发信的输出操作点的信息,例如在HTTP上的动态自适应流式传输(DASH)中的媒体呈现描述(MPD)、文件格式中的解码器配置及MPEG-2传输流(TS)中的描述符。更直接地,在一些实例中,对于每一输出操作点,发信目标输出视图、额外依赖视图及最低适用最高temporalID。
第三,在一些实例中,基于在HEVC可调式/多视图/3D扩展中可能的外部装置;两个此等实例不同过程包含:一个用于流式传输及一个用于协商的SDP提供/回答方式。
在流式传输应用中,例如,DASH及实时流协议(RTSP)流式传输,可应用如下内容:
i.客户端获得媒体呈现(例如,清单文件)的描述,其中所述描述包含关于输出层集合及可能基于时间子集的输出操作点的信息。
ii.客户端剖析所述描述及选择所述输出操作点中的一者且请求所述输出操作点。
iii.服务器将所请求输出操作点信息转换为最高temporalID及特定输出层集合的索引,且将此信息传递到视频解码器作为从外部装置的输入。
iv.服务器发送对应于所述输出操作点的所请求数据。
清单文件可包含(例如)媒体呈现描述(MPD)或SDP消息。
在使用SDP提供/回答类型的协商的应用中,可应用以下内容:
i.发送器发送邀请到多个接收器(包含接收器A及接收器B),其中所述邀请含有发送器可提供的输出操作点是什么(例如,在输出视图方面)的描述。
ii.接收器可决定相应输出操作点。举例来说,接收器A选择一视图集合来输出,及接收器B选择一视图集合来输出。
iii.发送器编码包含所述接收器所选择的所有视图的位流,包含输出层集合以及可能基于时间子集的输出操作点的描述,且发送所述描述到接收器。在媒体呈现的描述中发信所需输出操作点。
iv.每一接收器算出输出层集合的索引,其要求且传递最高temporalID及输出层集合的索引到接收器的解码器。所述索引用作解码器中的外部装置。
在一些实例中,源装置12可为包含视频编码器20的相同装置。在其它实例中,视频编码器20可包含在单独装置中。源装置12可存储及管理通过单独装置中的视频编码器而编码的视频数据,之后所述经编码视频数据由源装置12接收。举例来说,上文关于流式传输应用所论述的服务器或上文关于SDP提供/回答类型的协商所描述的发送器未必具有编码器且可不自身编码视频,但在一些实例中其可具有编码器且可自身编码视频。
尽管图1中未展示,但目的地装置14可进一步包含媒体应用程序。包含媒体应用程序的目的地装置14的实施例展示于图7中且在下文更详细地论述。可在不同实施例中的不同地方执行子位流提取,例如在源装置12中、在目的地装置的媒体应用程序中、在目的地装置的视频解码器30中、在上游媒体感知网络元件(MANE)中或某一其它位置。在上文流式传输应用的一些实例中,客户端的媒体应用程序与服务器通信,其中所述服务器可为(例如)源装置12。如上文所论述,源装置12未必含有视频编码器;视频可在存储于源装置12中之前经编码。而且,在上文所论述SDP提供/回答类型的协商的一些实例中,发送器可为(例如)源装置12,及接收器可为目的地装置14的实施例,其中SDP提供/回答类型的协商发生在源装置12与目的地装置中的每一者的媒体应用程序之间。
图2为说明可实施本发明中所描述的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的译码模式中的任一者。
如图2中所示,视频编码器20接收待编码的视频图帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54及熵译码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测处理单元46及分割单元48。为了视频块重新建构,视频编码器20还包含反量化单元58、反变换处理单元60及求和器62。还可包含解块滤波器以对块边界进行滤波,从经重建构视频移除块效应假影。如果需要,解块滤波器将通常对求和器62的输出进行滤波。也可使用除解块滤波器以外的额外滤波器(回路内或回路后)。为简洁起见未图示此等滤波器,但如果需要,此等滤波器可对求和器50的输出进行滤波(作为回路内滤波器)。
在编码过程期间,视频编码器20接收待译码视频帧或切片。可将所述帧或切片划分成多个视频块。运动估计单元42及运动补偿单元44执行接收的视频块相对于一或多个参考帧中的一或多个块的帧间预测性译码以提供时间预测。帧内预测处理单元46可替代地执行接收的视频块相对于与待译码块相同的帧或切片中的一或多个邻近块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次,(例如)以选择用于视频数据的每一块的适当译码模式。
此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割为子块。举例来说,分割单元48可初始地将帧或切片分割成LCU,且基于速率-失真分析(例如,速率-失真最佳化)来将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示将LCU分割为子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU及一或多个TU。
模式选择单元40可(例如)基于误差结果而选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码块或经帧间译码块提供到求和器50以产生残余块数据,及提供到求和器62以重建构经编码块以用作参考帧。模式选择单元40还将语法元素(例如运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵译码单元56。
运动估计单元42及运动补偿单元44可高度集成,但为概念目的而分别说明。由运动估计单元42执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。举例来说,运动向量可指示在当前视频帧或图片内的视频块的PU相对于在参考帧(或其它经译码单元)内的预测性块相对于在所述当前帧(或其它经译码单元)内正经译码的当前块的位移。预测性块为依据像素差被发现紧密地匹配于待译码块的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量予以确定。在一些实例中,视频编码器20可计算存储于参考帧存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插所述参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置而计算帧间译码切片中的视频块的PU的运动向量。所述参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),列表0或列表1中的每一者识别存储于参考帧存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵译码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42所确定的运动向量来提取或产生所述预测性块。再次,在一些实例中,运动估计单元42及运动补偿单元44可在功能上集成。在接收当前视频块的PU的运动向量之后,运动补偿单元44即可在参考图片列表中的一者中定位运动向量所指向的预测性块。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,运动估计单元42相对于明度分量而执行运动估计,且运动补偿单元44将基于所述明度分量所计算的运动向量用于色度分量与明度分量两者。模式选择单元40还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
如上文所描述,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代,帧内预测单元46可对当前块进行帧内预测。详细来说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在单独的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测处理单元46(或在一些实例中,模式选择单元40)可从所测试的模式选择待使用的适当帧内预测模式。
举例来说,帧内预测处理单元46可使用对于各种所测试的帧内预测模式的速率-失真分析来计算速率-失真值,且在所测试的模式的中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始、未编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可根据各种经编码块的失真及速率来计算比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。
在对于一块选择帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的所选择帧内预测模式的信息提供到熵译码单元56。熵译码单元56可编码指示所述所选择的帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据,其可包含以下各者:多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称作码字映射表);各种块的编码上下文的定义;及待用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示。
视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件或多个组件。变换处理单元52将变换(例如离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何状况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数块。所述转换可将残余信息从像素值域转换到变换域,例如,频域。变换处理单元52可将所得变换系数发送到量化单元54。
量化单元54量化变换系数以进一步减小位速率。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵译码单元56可执行所述扫描。
在量化之后,熵译码单元56对经量化变换系数进行熵译码。举例来说,熵译码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于邻近块。在由熵译码单元56进行熵译码之后,可将经编码位流发射到另一装置(例如,视频解码器30)或加以存档以供稍后发射或检索。
反量化单元58及反变换单元60分别应用反量化及反变换以在像素域中重建构残差块(例如)以供稍后用作参考块。运动补偿单元44可通过将所述残余块加上参考帧存储器64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可对所述经重建构的残余块应用一或多个内插滤波器以计算用于在运动估计中使用的子整数像素值。求和器62将所述经重建构的残余块加上由运动补偿单元44产生的经运动补偿预测块以产生经重建构的视频块以用于存储于参考帧存储器64中。所述经重建构的视频块可由运动估计单元42及运动补偿单元44用作参考块以帧间译码在后续视频帧中的块。
图2的视频编码器20表示经配置以实施本文所述的技术中的一或多者的视频编码器的实例。在一些实例中,视频编码器20在与位流相关联的视频参数集(VPS)中发信操作点。操作点指可从在时间上可调式及/或具有多个层或视图的原始位流提取的子位流。在HEVC中,操作点可由nuh_layer_id值集合(表示为OpLayerIdSet)及temporalID值(表示为OpTid)识别。作为一实例,原始位流可包含处于不同空间分辨率的三个层或视图及处于不同帧速率的两个时间可调式层。在此实例中,原始位流包含六个操作点,其中三个空间分辨率中的每一者在任一帧速率处可用。
在一些实例中,视频编码器20产生位流。视频编码器20所产生的位流可包含可作为子位流从位流提取的多个输出操作点。举例来说,输出操作点可包含多个层及/或视图以及多个帧速率。视频编码器20可编码指示VPS中的输出操作点的信息。在一些实例中,对于视频编码器20在与位流相关联的VPS中发信的操作点中的每一者,操作点语法结构指定用以识别所述位流中的属于给定操作点的子位流的网络抽象层(NAL)单元的层识别符集合(ID)。以此方式,可基于NAL单元的层识别符从原始位流提取构成给定操作点的子位流的NAL单元。
在一些状况下,视频编码器20可进一步编码与操作点中的一或多者相关的假想参考解码器(HRD)参数,如下文较详细论述。在此状况下,视频编码器20在VPS中发信HRD参数信息。如下文较详细论述,对于具有HRD参数的一或多个操作点中的每一者,HRD参数语法结构可指定定义用以检查给定操作点的子位流的一致性的HRD的HRD参数集合。
图3为根据本发明的技术的说明实例多视图解码次序的概念图。多视图视频译码(MVC)为H.264/AVC的扩展。图3中展示典型MVC解码次序(即位流次序)。解码次序布置被称作时间优先译码。每一存取单元可经定义以含有用于一个输出时间实例的所有视图的经译码图片。应注意存取单元的解码次序可并不与输出或显示次序相同。
图4为用于多视图视频译码的MVC(MVC)预测结构的一个实例的图。MVC为H.264/AVC的扩展。图4说明用于多视图视频译码的典型MVC预测结构(包含每一视图内的帧间图片预测以及视图间预测两者)。MVC预测结构包含每一视图内的帧间图片预测及视图间预测两者。在图4中,预测由箭头指示,其中指向目标使用指出目标来用于预测参考。图4的MVC预测结构可结合时间优先解码次序布置来使用。在时间优先解码次序中,每一存取单元可经定义以含有用于一个输出时间实例的所有视图的译码图片。存取单元的解码次序未必与输出或显示次序相同。
在MVC中,视图间预测由视差运动补偿支持,其使用H.264/AVC运动补偿的语法,但允许不同视图中的图片经置放为参考图片。两视图的译码还可由MVC支持。MVC编码器可用两个以上视图作为3D视频输入,及MVC解码器可解码多视图表示。具有MVC解码器的演现器可解码具有多个视图的3D视频内容。
相同存取单元中的图片(即,具有相同时间实例)可在MVC中经视图间预测。当译码非基础视图中的一者中的图片时,如果图片处于不同视图中但具有相同时间实例,那么可将图片添加到参考图片列表中。可将视图间预测参考图片置于参考图片列表的任何位置中,正如任何帧间预测参考图片一般。
如图4中所示,视图分量可使用其它视图中的视图分量以用于参考。在MVC中,如同另一视图中的视图分量为帧间预测预测参考而实现视图间预测。可在序列参数集(SPS)MVC扩展中发信潜在视图间参考。潜在视图间参考可由参考图片列表建构过程修改,其能够实现帧间预测或视图间预测参考的灵活排序。下方表1展示实例SPSMVC扩展。
表1-实例SPSMVC扩展
在SPSMVC扩展中,对于每一视图,发信可用以形成参考图片列表0及参考图片列表1的视图数目。如在SPSMVC扩展中发信的用于锚定图片的预测关系可与用于同一视图的非锚定图片(在SPSMVC扩展中发信)的预测关系不同。
为了选择MVC中的目标输出视图,假定目标输出视图为外部装置已知的。外部装置已知的此些目标输出视图可(例如)由于会话协商而导出,且通过某一接口从客户端转送到MVC解码器。
相比之下,HEVC具有用于MV-HEVCWD4及SHVCWD2的视频参数集(VPS)扩展。在MV-HEVCWD4及SHVCWD2的VPS扩展中,以针对(待解码的层的)给定层集合的方式来发信数个输出层集合,可通过失败哪些层为目标输出层(output_layer_flag[lsIdx][j])来发信多个输出层集合。在如下方表2所示的VPS扩展语法表中展示根据MV-HEVCWD4及SHVCWD2的视频参数集(VPS)扩展的详细语法设计。对于索引0到vps_number_layer_sets_minus1的输出层集合,对应层集合分别为索引为0到vps_number_layer_sets_minus1的那些层集合。在MV-HEVCWD4及SHVCWD2的视频参数集(VPS)扩展中,基于default_one_target_output_layer_flag的值来推断此些输出层集合的目标输出层。根据MV-HEVCWD4及SHVCWD2的视频参数集(VPS)扩展,如果default_one_target_output_layer_flag等于0,那么此些输出层集合中的所有层为目标输出层;如果default_one_target_output_layer_flag等于1,那么那些输出层集合中的仅具有最高层id的层为目标输出层。
表2-视频参数集(VPS)扩展语法
目标输出层的层识别符列表由在VPS扩展中发信的输出层的索引(outPutLayerIdx)识别。
层识别符列表为与层集合或操作点相关联的nuh_layer_id值列表,且可用作子位流提取过程的输入。
层集合为通过操作将另一位流、等于6的目标最高temporalID及等于与层集合相关联的层识别符列表的目标层识别符列表作为输入的子位流提取过程而从另一位流产生的位流内表示的层集合。层集合为待解码的层的集合。
输出层集合为与输出层集合相关联的层集合,且其也识别对应层集合。层集合识别待解码的层集合,且所述输出层集合识别待输出的层集合(以及识别对应层集合)。
输出操作点为通过操作将另一位流、目标最高temporalID及目标层识别符列表作为输入的子位流提取过程而从另一位流产生且与目标输出层集合相关联的位流。因此,每一输出操作点与目标输出层集合相关联。
操作点为通过操作将另一位流、目标最高temporalID及目标层识别符列表作为输入的子位流提取过程而从另一位流产生且与层集合相关联的位流。因此,每一操作点与层集合相关联。输出操作点与输出层集合相关联,且操作点与层集合相关联。
输出层集合的许多排列对于给定位流可为可能的。举例来说,假设从包含图4的八个视图的位流提取子位流。子位流可具有三个层(视图),其中nuh_layer_id值为0、1及2。在一个实例中,单独输出所述层中的任一者可为可能的,或输出层0及层1两者,或输出层0及层2,或输出层1及层2两者,或输出所有三个层0、1及2。在此状况下,可存在高达七个输出层集合:一个识别层0作为唯一输出层,一个识别层1作为唯一输出层,一个识别层2作为唯一输出层,一个识别层0及层1作为输出层,一个识别层0及层2为输出层,一个识别层1及2作为输出层,及一个识别层0、1及2作为输出层。在一个实例中,层0可为视图间参考层,其必须经解码以便解码层1或层2。在一个实例中,如果输出层集合识别层2作为唯一输出层,那么层0必须仍经解码以用于视图间参考。在此特定实例中,输出层集合识别层2作为输出层,及层集合识别层0及层2。输出层集合还识别对应层集合。应注意因为层1并非用作层0或2中的任一者的参考视图,所以操作点可经定义包含仅层0及2(如果层2包含在输出层集合中)。
在以上实例中,存在七个输出层集合,但在其它实例中,可存在小于七个输出集合,例如取决于可同时输出哪些层及多少层。
实例视频参数集(VPS)原始字节序列有效负载(RBSP)语义如下。旗标layer_id_included_flag[i][j]等于1指定nuh_layer_id的值等于j包含在层识别符列表layerSetLayerIdListt[i]中。旗标layer_id_included_flag[i][j]等于0指定nuh_layer_id的值等于j不包含在层识别符列表layerSetLayerIdList[i]中。
设定numLayersInIdList[0]的值等于1,及设定layerSetLayerIdList[0][0]的值等于0。
对于在1到vps_num_layer_sets_minus1包含性范围内的i的每一值,变量numLayersInIdList[i]及层识别符列表layerSetLayerIdList[i]如下导出:
对于在1到vps_num_layer_sets_minus1包含性范围内的i的每一值,numLayersInIdList[i]应在1到vps_max_layers_minus1+1包含性范围内。
当numLayersInIdList[iA]等于numLayersInIdList[iB](任何iA及iB在0到vps_num_layer_sets_minus1包含性范围内,其中iA不等于iB)时,layerSetLayerIdList[iA][n]的值不应等于layerSetLayerIdList[iB][n],n的至少一值在0到numLayersInIdList[iA]包含性范围内。
层集合由相关联层识别符列表识别。VPS所指定的第i层集合与层识别符列表layerSetLayerIdList[i]相关联,i在0到vps_num_layer_sets_minus1包含性范围内。
以上算法通过针对nuh_layer_id的每一可能值确定所述层是否包含在层集合中而识别包含在层集合中的层。
层集合由与同一层识别符列表相关联的所有操作点组成。
图5为说明可实施本发明中所描述的技术的视频解码器30的实例的框图。在图5的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测处理单元74、反量化单元76、反变换处理单元78、参考帧存储器82及求和器80。在一些实例中,视频解码器30可执行大体上与关于如图2中所示的视频编码器20描述的编码遍次互逆的解码遍次。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30可从网络实体29接收经编码视频位流。网络实体29可(例如)为服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或经配置以实施上述技术中的一或多者的其它此类装置。网络实体29可包含经配置以执行本发明的技术的外部装置。如上文所描述,本发明中所描述的技术中的一些可在网络实体29将经编码视频位流发射到视频解码器30之前由网络实体29实施。在一些视频解码系统中,网络实体29及视频解码器30可为单独装置的部分,而在其它情况下,关于网络实体29描述的功能性可由包括视频解码器30的相同装置执行。
视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转递到运动补偿单元72。视频解码器30可接收视频切片层级及/或视频块层级处的语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测处理单元74可基于发信帧内预测模式及来自当前帧或图片的先前经解码块的数据来产生用于当前视频切片的视频块的预测数据。当视频帧经译码为帧间译码(即,B、P或GPB)切片时,运动补偿单元72基于运动向量及从熵解码单元70接收的其它语法元素而产生用于当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储于参考帧存储器82中的参考图片使用默认建构技术来建构参考帧列表,列表0及列表1。
运动补偿单元72通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些以确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于所述切片的参考图片列表中的一或多者的建构信息、用于所述切片的每一经帧间编码视频块的运动向量、用于所述切片的每一经帧间译码视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。在此状况下,运动补偿单元72可根据接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
反量化单元76反量化(即,解量化)位流中所提供并由熵解码单元70解码的经量化的变换系数。反量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算的量化参数QPY以确定应应用的量化程度和同样反量化程度。反变换处理单元78对变换系数应用反变换,例如逆DCT、逆整数变换或概念地类似的反变换过程,以便产生像素域中的残余块。
在运动补偿单元72基于运动向量及其它语法元素而产生用于当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元78的残余块与运动补偿单元72所产生的对应预测性块求和而形成经解码视频块。求和器90表示可执行此求和运算的组件或多个组件。如果需要,还可应用解块滤波器来对经解码块滤波以便移除块效应假影。还可使用其它回路滤波器(在译码回路中或在译码回路之后)以使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储在参考帧存储器82中,参考帧存储器82存储参考图片用于后续运动补偿。参考帧存储器82还存储经解码视频用于稍后在显示装置(例如图1的显示装置32)上呈现。
在下文中更详细地提供视频解码器30可使用的一般解码过程。在图9中说明及在下文中更详细地论述可由视频解码器30执行的一个实例过程。
图6为说明形成网络100的一部分的一组实例装置的框图。在此实例中,网络100包含路由装置104A、104B(路由装置104)及转码装置106。路由装置104及转码装置106意欲表示可形成网络100的一部分的少数装置。例如交换器、集线器、网关、防火墙、桥接器及其它此等装置等其它网络装置还可包含在网络100内。此外,可沿着服务器装置102与客户端装置108之间的网络路径提供额外网络装置。在一些实例中,服务器装置102可对应于源装置12(图1),而客户端装置108可对应于目的地装置14(图1)。
一般来说,路由装置104实施一或多个路由协议以经由网络100交换网络数据。在一些实例中,路由装置104可经配置以执行代理或高速缓存操作。因此,在一些实例中,路由装置104可被称为代理装置。一般来说,路由装置104执行路由协议以发现经由网络100的路线。通过执行此等路由协议,路由装置104B可发现从自身经由路由装置104A到服务器装置102的网络路线。
图7为说明进一步包含媒体应用程序(124)的目的地装置/客户端装置14的实例的框图。
目的地装置14还包含控制单元120及用户接口130。控制单元120可表示一或多个基于硬件的处理单元,例如一或多个通用微处理器、处理核心、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路(单独或以任何组合)。同样地,归因于控制单元120的功能性可独自或以硬件、软件及/或固件的任何组合实施,控制单元120包含控制单元120内的单元或模块(例如中间件单元122及媒体应用程序124)。当以软件或固件实施时,假定控制单元120包含必要硬件,例如,用于存储指令的一或多个计算机可读媒体及用于执行所述指令的一或多个基于硬件的处理器。
用户接口130可包含一或多个用户接口,例如显示器、触摸屏、扬声器、麦克风、例如鼠标或触控板等指标装置、键盘或类似者。尽管图7中展示用于视频解码器30的一个特定配置,但目的地装置14可包含在与图7中所展示不同的一或多个位置中的视频解码器30,例如控制单元120内、或与控制单元120分离及在控制单元120与用户接口130之间。替代地,视频解码器30可提供在中间件单元122与媒体应用程序124之间。
在一些实例中,控制单元120包含中间件单元122及媒体应用程序124。媒体应用程序124可对应于用于播放媒体数据(例如,视频及/或音频数据)的应用程序。在播放媒体数据时,媒体应用程序124可将经解码媒体数据发送到用户接口130用于输出。此外,媒体应用程序124可从中间件单元122检索媒体数据。举例来说,媒体应用程序124可经配置以执行DASH,例如,以使用DASH的技术从中间件单元122检索媒体数据。中间件单元122可大体上充当媒体应用程序124与网络接口112之间的中间单元,使得用于经由网络104、106从服务器装置102获得媒体数据的功能性可从媒体应用程序124提取。即,媒体应用程序124无需与有关于网络104、106的模块或单元(例如,网络接口112)交互。实情为,媒体应用程序124可与中间件单元122交互,且中间件单元122可代表媒体应用程序124负责控制经由网络接口112的网络交互。
在一些实例中,媒体应用程序124可执行子位流提取,如上文及下文更详细地论述。
媒体应用程序124可在发生在发送视频数据之前的会话协商期间与服务器装置(例如,图1的源装置10)通信,如上文及下文更详细地论述。
图8为说明用于处理视频数据的实例过程(890)的流程图。在开始块之后,所述过程进行到块891,其中确定目标用于输出的层集合。所述过程随后移动到块892,其中确定到输出层集合列表中的目标输出层集合的索引,使得所述目标输出层集合表示目标用于输出的所确定层集合。过程随后前进到块893,其中将索引发送到视频解码器。所述过程随后进行到返回块,其中恢复其它处理。
举例来说,过程890可由服务器装置及/或源装置(例如,图1的源装置12)执行。过程890从服务器/源装置的透视图说明实例过程,所述过程可为服务器/源装置与媒体应用程序(例如,图7的媒体应用程序124)之间的通信的一部分。
在一些实例中,在会话开始之前且在发送任何视频数据之前,会话协商可发生在(例如)源装置(例如,图1的源装置12)与目的地装置(例如,图1的目的地装置14或图7的目的地装置14)之间。在一些实例中,会话协商可在源装置与客户端装置的媒体应用程序(例如,图7的媒体应用程序124)之间执行。举例来说,协商会话可通过目的地装置进行对源装置的询问而开始。响应于所述询问,源装置可将例如与可针对特定视频数据提供的可能输出操作点相关的选项的信息发送到解码器。此可包含以下信息,例如,关于可支持哪些层、位流具有多少层、支持哪些帧速率及/或类似者的信息。
作为响应,目的地装置可基于(例如)目的地装置的需要与需求而选择输出操作点。举例来说,所述选择可基于何操作点可由解码器解码,及基于关于可经解码的那些操作点中的哪些应较佳地输出的可控制设定。举例来说,目的地装置确定客户端装置的解码及呈现能力。解码能力可包含何编解码器可用以及由所述解码器支持的编解码器的配置文件及层级。呈现能力可包含可由显示器输出多少视图、帧速率、屏幕大小(用于分辨率)等。在确定此情形之后,客户端确定哪些输出操作点满足此些需求。在一些实例中,目的地装置还可确定用于各种表示的可用带宽与位速率,且选择具有不超过所述可用带宽的最高位速率的表示。举例来说,基于此些因素中的一或多者,目的地装置选择输出操作点。
在一些实例中,在选择输出操作点之后,目的地装置可将选定输出操作点传达到源装置。在一些实例中,源装置12接收从目的地装置的输出操作点的选择,源装置可将输出层集合列表、到输出层集合列表中的基于选定输出操作点的目标输出层集合的索引以及对应于选定输出操作点的最高temporalID发送到目的地装置的视频解码器。
替代地,在一些实例中,代替目的地装置将选定输出操作装置传达到源装置,以及源装置基于所述选择而发送包含到输出层集合列表中的目标输出层集合的索引的信息到视频译码器,可存在在文件格式层级(例如,DASH中的MPD)处的指示对应于选定操作点的文件的URL(及在那些文件内的字节范围)的信息。举例来说,如果客户端装置选择层0及2用于输出,那么MPD可识别哪些文件对应于用于那些层的数据。如果仅一子集的可用时间层为所要的,那么MPD还可描述对应于那些时间层的文件的字节范围。
在各种实例中,可以不同方式将到输出层集合列表的目标输出层集合的索引导出并发送到解码器。
在一些实例中,服务器发送媒体呈现的媒体应用程序描述,其中所述描述包含关于输出层集合及/或输出操作点的信息,媒体应用程序剖析所述描述且接着选择输出操作点及/或输出层集合中的一者。媒体应用程序随后将输出操作点及/或输出层集合的选择传达到服务器。服务器随后将选定输出操作点及/或输出层集合转换为到输出层集合列表的目标输出层集合的索引,且服务器随后将索引传递到视频解码器。
虽然以上实例论述媒体应用程序选择输出操作点及/或输出层集合中的一者,但在一些实例中,其选择可通过某一其它能力/与目的地装置14内的其它组件的消息交换来确定。
在其它实例中,服务器发送媒体呈现的媒体应用程序描述,其中所述描述包含信息及输出层集合及/或输出操作点,媒体应用程序剖析所述描述且接着选择输出操作点及/或输出层集合中的一者。媒体应用程序随后将选定输出操作点及/或输出层集合转换为到输出层集合列表的目标输出层集合的索引。媒体应用程序随后发送索引到视频解码器。
如上文所论述,在一些实例中,所述索引通过服务器装置/源装置基于来自目的地装置的特定请求来确定,及在其它实例中,所述索引通过目的地装置的客户端应用程序及/或一或多个其它组件基于由目的地装置从服务器装置/源装置接收的清单文件来确定。
输出层集合的列表为一列表。所述列表含有可同时输出的层的群组的所有有效排列的指示作为元素,其中单独元件用于可同时输出的层的群组的每一有效排列。在一些实例中,层集合由nuh_layer_id值识别,其中nuh_layer_id值为非负整数,每一层针对其而具有独特nuh_layer_id值。举例来说,假设存在具有三个层的位流,其中nuh_layer_id值为0、1及2。进一步假设可能单独输出所述层中的任一者,或输出层0及层1两者,或输出层1及层2两者。在此状况下,输出层集合的列表将包含五个元素:一个识别层0作为唯一输出层,一个识别层1作为唯一输出层,一个识别层2作为唯一输出层,一个识别层0及层1作为输出层,及另一者识别层0及层2作为输出层。然而,列表的每一元素还包含关于对应层集合的信息。
更确切地说,在一些实例中,输出层列表中的每一元素还包含对应于到输出层集合的层集合的索引。如先前论述,输出层集合自身识别待输出的层。所述层集合识别待解码的层。输出的每个层必须经解码,但可存在经解码但不输出的层。输出层集合识别待输出的层,且还以某一方式识别对应层集合,例如通过包含对应层集合的索引。对应层集合识别待解码的层。待输出的层为待解码的层的子集。举例来说,在一些状况下,可能不可能在不解码基层的情况下解码增强层,这是因为增强层可取决于基层。
采用其中输出层集合的列表将包含五个元素的前述实例:一个识别层0作为唯一输出层,一个识别层1作为唯一输出层,一个识别层2作为唯一输出层,一个识别层0及层1作为输出层,及另一者识别层0及层2作为输出层。假设为了解码层1或层2,必须解码层0。在此实例中,输出层集合包含五个元素:一个识别层0作为唯一输出层,且包含到识别层0作为唯一待解码的层的对应层集合的索引;一个识别层1作为唯一输出层,且包含到识别层0及层1作为待解码的层的对应层集合的索引;一个识别层2作为唯一输出层,且包含到识别层0及层2作为待解码的层的对应层集合的索引;一个识别层0及层1作为输出层,且包含到识别层0及层1作为待解码的层的对应层集合的索引;及另一者识别层0层及层2作为输出层,且包含到识别层0及层2作为待解码的层的对应层集合的索引。
源装置发送位流到客户端装置,及客户端装置的媒体应用程序可基于所述位流、输出层集合的列表,及到输出层集合的列表的目标输出层集合的索引而从所述位流提取子位流。对于子位流提取,相关的是哪些层待解码而非哪些层待输出,但如所论述,到输出层集合列表的索引及输出层集合列表还用以导出待解码的层。待解码的层与子位流提取过程相关。将经提取子位流、输出层集合的列表、最高temporalID及到输出层集合的列表的目标输出层集合的索引发送到解码器以解码所述经提取子位流。
在此些实例中,解码器基本上需要以下信息:经提取子位流、应解码哪些层、应解码哪些帧速率及应输出哪些层。在一些实例中,源装置因此向解码器发送:位流、输出层集合的列表、最高TemporalID(其指示应解码多少帧速率)及到输出层集合的索引(其结合输出层集合的列表指示应输出哪些输出层,且经由所述列表还含有的到输出层集合的对应层集合的索引而指示应解码哪些层)。在一些实例中,在位流自身的VPS中包含输出层的列表,而以某一其它方式将到输出层集合的索引及最高temporalID发送到解码器,例如经由传输层,如上文所论述。
在一些实例中,源装置在位流的VPS中及/或经由传输层或某一其它装置发送用于选定输出操作点的一或多个语法元素。一或多个语法元素可包含用于目标输出视图的一或多个识别符、用于依赖视图的一或多个识别符及最低适用最高temporalID。
图9为说明解码视频数据的实例过程(995)的流程图。在一些实例中,图9的过程可(例如)通过图5的视频解码器30执行。在开始块之后,过程进行到块996,其中接收到输出层集合的列表中的至少一目标输出层集合的索引。过程随后移动到块997,其中基于所述索引来确定至少一目标输出层集合中的目标输出层。过程随后前进到块998,其中解码至少所述目标输出层。过程随后进行到块999,其中输出经解码目标输出层而不输出目标非用于输出的层。过程随后移动到返回块,其中将恢复其它处理。
如上文所论述,在一些实例中,视频解码器从源装置及/或媒体应用程序接收:经提取子位流、输出层集合的列表、最高TemporalID(其指示应解码多少帧速率)及到输出层集合的索引(其结合输出层集合的列表指示应输出哪些输出层,且经由所述列表还含有的到输出层集合的对应层集合的索引而指示应解码哪些层)。
到输出层集合的列表的目标输出集合的索引可用以产生用于位流提取过程的一或多个层识别符列表。到输出输出层集合的列表的目标输出层集合的索引还可用以识别目标输出层集合的对应层集合,其中对应层集合识别待解码的层集合。目标输出层集合自身可用以识别应输出经解码层中的哪些。最高temporalID可用以确定用以解码的帧速率。经解码但未包含于目标用于输出的层集合中的任何层并未输出,而是经丢弃。输出层集合中的待输出的层,而不输出目标未用于输出的层。
在一些实例中,每一输出操作点由待输出的所有图片的nuh_layer_id值(按nuh_layer_id值的递增次序)的列表(表示为OptLayerIdList)及变量OpTid识别,变量OpTid等于包含于输出操作点中的所有NAL单元的最高temporalID。在一些实例中,与列表OptLayerIdList相关联的层识别符列表(表示为OpLayerIdList)由包含于输出操作点中的所有NAL单元的nuh_layer_id值(按nuh_layer_id值的递增次序)的列表组成。在一些实例中,与由OpLayerIdList及OpTid识别的输出操作点相关联的位流子集为将位流、等于OpTid的目标最高temporalID及等于OpLayerIdList的目标层识别符列表作为输入的子位流提取过程的输出。还可将识别输出操作点的OpLayerIdList及OpTid分别称为与输出操作点相关联的OpLayerIdList及OpTid。
如下提供媒体应用程序124及视频解码器30可根据一些实例使用的一般解码过程。此过程的输入为位流。此过程的输出为经解码图片的列表。
在一些实例中,可通过媒体应用程序124导出变量OutputLayerSetIdx。在其它实例中,可通过视频解码器30导出变量OutputLayerSetIdx。如下指定变量OutputLayerSetIdx,其指定目标输出层集合的由VPS指定的到输出层集合的列表的索引:
-如果本说明书中未指定的某一外部装置可用以设定OutputLayerSetIdx,那么通过所述外部装置设定OutputLayerSetIdx。
-否则,如果如子条款C.1中所指定在位流一致性测试中调用解码过程,那么如子条款C.1中所指定来设定OutputLayerSetIdx。
-否则,将OutputLayerSetIdx设定为等于0。
“子条款C.1”指HEVCWD10的子条款C.1,及“子条款C.1”的内容也在下文论述。在一些实例中,解码器不仅执行解码过程,而且测试位流是否一致。子条款C.1论述如何测试位流是否一致。且子条款C.1的一致性测试包含确定所有可能输出层集合是否满足所有约束。如子条款C.1中及在下文中更详细地论述,关于根据子条款C.1的一致性测试,连续测试每一输出层集合以确定位流是否可解码。
在一些实例中,如下指定层识别符列表TargetOptLayerIdList(其指定待输出图片的nuh_layer_id值的列表,按nuh_layer_id值的递增次序)及层识别符列表TargetDecLayerIdList(其指定待解码的NAL单元的nuh_layer_id值的列表,按nuh_layer_id值的递增次序):
在一些实例中,此算法通过连续经历可能nuh_layer_id值中的每一者而使用包含待输出的nuh_layer_id值的层识别符列表(此列表称为TargetOptLayerIdList)及包含待解码的nuh_layer_id值的层识别符列表(此列表称为TargetDecLayerIdList)而用以确定待解码的层及待输出的层。以此方式,此算法将到输出层集合的列表的目标输出层集合的索引转译为位流可使用之物。在一些实例中,此算法可通过媒体应用程序124执行,及在其它实例中通过视频解码器30执行。
在一些实例中,如下指定识别待解码的最高时间子层的变量HighestTid:
-如果本说明书中未指定的某一外部装置可用以设定HighestTid,那么通过所述外部装置设定HighestTid。
-否则,如果如子条款C.1中所指定在位流一致性测试中调用解码过程,那么如子条款C.1中所指定来设定HighestTid。
-否则,将HighestTid设定为等于sps_max_sub_layers_minus1。
在一些实例中,应用其中将位流、HighestTid及TargetDecLayerIdList作为输入的子位流提取过程,及将输出指派到称为BitstreamToDecode的位流。在一些实例中,通过图7的媒体应用程序124执行子位流提取过程,所述过程接收位流、HighestTid及TargetDecLayerIdList作为输入,且输出随后发送到视频解码器30以解码的子位流BitstreamToDecode。在其它实例中,视频解码器30自身执行子位流提取。在其它实例中,源装置10执行子位流提取且将经提取子位流发送到目的地装置14。在其它实例中,某一其它组件,例如上游媒体感知网络元件(MANE)可执行子位流提取。
图5的视频解码器30执行视频解码,解码输入经提取的子位流BitstreamToDecode以输出解码图片,如下文较详细论述。
在一些实例中,指定解码过程以使得所有解码器将产生数值相同的经裁剪解码图片。在此些实例中,产生与本文所述的过程所产生的那些经裁剪解码图片相同的经裁剪解码图片的任何解码过程(具有如所指定的正确输出次序或输出时序)符合本发明的解码过程需求。
在一些实例中旗标PicOutputFlag指示BitStreamToDecode中的当前图片(CurrPic)是否输出。实例PicOutputFlag可如下使用。如果将输出当前图片,那么PicOutputFlag为1,及如果将不输出当前图片,那么为0。举例来说,如果图片为将不输出的层的一部分,那么将PicOutputFlag设定为0。对于在解码过程期间的当前图片CurrPic,如下设定PicOutputFlag:
-如果当前图片为RASL图片及相关联IRAP图片的NoRaslOutputFlag等于1,那么将PicOutputFlag设定为等于0。
-否则,如果nuh_layer_id不存在于TargetOptLayerIdList中,且未对此输出层集合启用替代输出过程,那么将PicOutputFlag设定为等于0。
-否则如果nuh_layer_id不存在于TargetOptLayerIdList中,且对此输出层集合启用替代输出过程,如果外部提供nuh_layer_id,那么将PicOutputFlag设定为等于1,如果未外部提供nuh_layer_id,那么设定为0。
-否则,将PicOutputFlag设定为等于pic_output_flag。
对于假想参考解码器(HRD),可使用两类型的HRD参数集(NALHRD参数及VCLHRD参数)。在一些实例中,经由hrd_parameters()语法结构发信HRD参数集,hrd_parameters()语法结构可为SPS语法结构或VPS语法结构的一部分。
表3提供实例视频参数集扩展语法。在根据此实例的视频参数集扩展语法中,变量numOutputLayerSets改变为可在本发明中的其它地方使用的全域变量。
表3--视频参数集(VPS)扩展语法
如先前论述,所述索引不仅可用以定义在解码过程期间使用的目标输出层集合,而且用以确定DPB缓冲器的大小。当视频解码器一次解码一个图片时,其可将其存储于DPB中。取决于哪些层正经解码及哪些层正经输出两者,DPB的最佳大小可改变。因此,可通过视频解码器基于到输出层集合的列表中的目标输出层集合的索引来选择DPB大小。
如上文所论述,在一些实例中,解码器不仅执行解码过程,而且测试位流是否一致,如下所述。一致性测试包含确定所有可能输出层集合是否满足所有约束。每一输出层集合经连续测试以确定位流是否可解码。在下文中更详细地解释根据此些实例的此过程。
可需要多个测试来检查位流的一致性,其被称作受测试的位流。对于每一测试,按所列出次序应用以下步骤:
1.选择由OutputLayerSetIdx识别的目标输出层集合及目标最高temporalID值HighestTid。OutputLayerSetIdx的值应在0到NumOutputLayerSets-1的包含性范围内。HighestTid的值应在0到vps_max_sub_layers_minus1的包含性范围内。随后如方程式8-1中所指定而导出TargetOptLayerIdList及TargetDecLayerIdList。受测试的操作点具有等于TargetOptLayerIdList的OptLayerIdList、等于TargetDecLayerIdList的OpLayerIdList及等于HighestTid的OpTid。
2.将HighestTid及TargetDecLayerIdList作为输入,通过受测试的位流调用子位流提取过程,及将输出指派到BitstreamToDecode。
3.选择适用于TargetOp的hrd_parameters()语法结构及sub_layer_hrd_parameters()语法结构。如果TargetDecLayerIdList含有存在于受测试的位流中的所有nuh_layer_id值,那么选择作用中SPS中(或经由本说明书中未指定的外部装置提供)的hrd_parameters()语法结构。否则,选择适用于TargetOp的作用中VPS中(或经由本说明书中未指定的某一外部装置提供)的hrd_parameters()语法结构。在选定hrd_parameters()语法结构内,如果BitstreamToDecode为I型位流,那么选择紧跟在条件“if(vcl_hrd_parameters_present_flag)”之后的sub_layer_hrd_parameters(HighestTid)语法结构且将变量NalHrdModeFlag设定为等于0;否则(BitstreamToDecode为II型位流),选择紧跟在条件“if(vcl_hrd_parameters_present_flag)”(在此状况下,变量NalHrdModeFlag设定为等于0)或条件“if(nal_hrd_parameters_present_flag)”(在此状况下变量NalHrdModeFlag设定为等于1)之后的sub_layer_hrd_parameters(HighestTid)语法结构。当BitstreamToDecode为II型位流且NalHrdModeFlag等于0时,从BitstreamToDecode丢弃除了填充符数据NAL单元之外的所有非VCLNAL单元及从NAL单元流(如附录B中所指定)形成字节流的所有leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes及trailing_zero_8bits语法元素(当存在时),且将剩余位流指派到BitstreamToDecode。
4.选择与适用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或可经由本说明书中未指定的外部装置可用)相关联的存取单元作为HRD初始化点且称为存取单元0。
5.对于从存取单元0开始的BitstreamToDecode中的每一存取单元,选择与存取单元相关联且适用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或可经由本说明书中未指定的外部装置可用),选择与存取单元相关联且适用于TargetOp的图片时序SEI消息(存在于BitstreamToDecode中或可经由本说明书中未指定的外部装置可用),及当SubPicHrdFlag等于1且sub_pic_cpb_params_in_pic_timing_sei_flag等于0时,选择与存取单元中的解码单元相关联且适用于TargetOp的解码单元信息SEI消息(存在于BitstreamToDecode中或可经由本说明书中未指定的外部装置可用)。
6.选择SchedSelIdx的值。选定SchedSelIdx应在0到cpb_cnt_minus1[HighestTid]的包含性范围内,其中cpb_cnt_minus1[HighestTid]存在于如上所选择的sub_layer_hrd_parameters(HighestTid)语法结构中。
7.当存取单元0中的译码图片具有等于CRA_NUT或BLA_W_LP的nal_unit_type且选定缓冲周期补充增强信息(SEI)消息中的irap_cpb_params_present_flag等于1时,应用以下各项中的任一者用于选择初始CPB移除延迟及延迟偏移:
-如果NalHrdModeFlag等于1,那么选择分别由选定缓冲周期SEI消息中的nal_initial_cpb_removal_delay[SchedSelIdx]及nal_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB移除延迟及延迟偏移。否则,选择分别由选定缓冲周期SEI消息中的vcl_initial_cpb_removal_delay[SchedSelIdx]及vcl_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB移除延迟及延迟偏移。将变量DefaultInitCpbParamsFlag设定为等于1。
-如果NalHrdModeFlag等于1,那么选择分别由选定缓冲周期SEI消息中的nal_initial_alt_cpb_removal_delay[SchedSelIdx]及nal_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB移除延迟及延迟偏移。否则,选择分别由选定缓冲周期SEI消息中的vcl_initial_alt_cpb_removal_delay[SchedSelIdx]及vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB移除延迟及延迟偏移。将变量DefaultInitCpbParamsFlag设定为等于0,且从BitstreamToDecode丢弃与存取单元0相关联的随机存取跳跃前沿(RASL)存取单元,且将剩余位流指派到BitstreamToDecode。
8.当选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag等于1时,CPB经调度以在存取单元层级(在此状况下变量SubPicHrdFlag设定为等于0)或在子图片层级(在此状况下变量SubPicHrdFlag设定为等于1)中的任一者处操作。
如本发明中所描述,“视频译码器”可用以大体上指视频编码装置及视频解码装置两者。另外,“视频译码”可指视频编码或视频解码。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以一不同序列执行、可添加、合并或完全省略(例如,对于实践所述技术来说并非所有所描述的动作或实践皆为必要的)。此外,在某些实例中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执行。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。本发明的实例可包含其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使至少一处理器执行例如描述于本发明中的过程中的一或多者等过程。
通过实例而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是针对非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所述的功能性可在经配置用于编码及解码的专用硬件及/或软件模块内提供,或并入于组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元的实现。实情为,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件及/或固件来提供所述单元。
已描述各种实例。此些及其它实例属于以下权利要求书的范围内。
Claims (33)
1.一种解码视频数据的方法,所述方法包括:
接收视频位流中的输出层集合的列表;
接收到输出层集合的所述列表中的至少一目标输出层集合的索引;
基于所述索引确定所述至少一目标输出层集合中的目标输出层;
从所述视频位流解码至少所述目标输出层;及
输出所述经解码目标输出层,而不输出目标非用于输出的层。
2.根据权利要求1所述的方法,其进一步包括:
至少部分基于所述索引而选择经解码图片缓冲器DPB大小或子DPB大小。
3.根据权利要求1所述的方法,其中所述目标输出层集合包含nuh_layer_id值集合,且其中解码至少所述目标输出层包含解码用于对应于所述目标输出层集合中的所述nuh_layer_id值的图片的数据。
4.根据权利要求1所述的方法,其中所述层中的每一者对应于视图、图像分辨率或质量表示中的至少一者。
5.根据权利要求1所述的方法,其中解码至少所述目标输出层包含解码所述目标输出层,且进一步包含当所述目标输出层中的至少一者取决于并不包含于所述目标输出层集合中的参考层时,解码所述参考层。
6.根据权利要求1所述的方法,其进一步包括:
基于发信输出操作点的所述视频位流的视频图片序列VPS中的一或多个语法元素而解码至少所述目标输出层。
7.根据权利要求6所述的方法,其中所述一或多个语法元素包含输出层集合的所述列表。
8.根据权利要求1所述的方法,其中输出层集合的所述列表在输出层集合的所述列表中的每一输出层集合中包含到对应于所述输出层集合的层集合的另一索引,且其中解码至少所述目标输出层包含解码所述对应层集合中的每一层。
9.根据权利要求8所述的方法,其中所述对应层集合识别所述待解码的层中的每一者,所述目标输出层集合识别目标用于输出的所述层中的每一者,且其中目标用于输出的层为所述待解码的层的子集。
10.根据权利要求1所述的方法,其中接收所述索引包含接收传输层中的所述索引。
11.根据权利要求10所述的方法,其中到输出层集合的所述列表中的所述目标输出层集合的所述索引与选自输出操作点集合的特定输出操作点相关联,所述输出操作点集合与包含关于所述目标输出层集合的信息的清单文件相关联。
12.根据权利要求11所述的方法,其中所述清单文件包含媒体呈现描述MPD。
13.根据权利要求11所述的方法,其中所述清单文件包含会话描述协议SDP消息。
14.根据权利要求11所述的方法,其中传输流包含超文本传送协议HTTP上的动态自适应流式传输DASH、实时传输协议RTP或实时流协议RTSP中的一者。
15.一种用于解码视频数据的装置,其包括:
存储器,其经配置以存储数据;及
一或多个处理器,其与所述存储器通信且经配置以:
从视频位流接收所述视频位流中的输出层集合的列表;
接收到输出层集合的所述列表中的至少一目标输出层集合的索引;
基于所述索引确定所述至少一目标输出层集合中的目标输出层;
解码至少所述目标输出层;及
输出所述经解码目标输出层,而不输出目标非用于输出的层。
16.根据权利要求15所述的装置,其中所述装置包括以下各者中的至少一者:
集成电路;
微处理器;或
无线通信装置。
17.根据权利要求15所述的装置,其中所述一或多个处理器经进一步配置以:
至少部分基于所述索引而选择经解码图片缓冲器DPB大小或子DPB大小。
18.根据权利要求15所述的装置,其中所述目标输出层集合包含nuh_layer_id值集合,且其中解码至少所述目标输出层包含解码用于对应于所述目标输出层集合中的所述nuh_layer_id值的图片的数据。
19.根据权利要求15所述的装置,其中所述层中的每一者对应于视图或图像分辨率中的至少一者。
20.根据权利要求15所述的装置,其中解码至少所述目标输出层包含解码所述目标输出层,且进一步包含当所述目标输出层中的至少一者取决于并不包含于所述目标输出层集合中的参考层时,解码所述参考层。
21.根据权利要求15所述的装置,其中所述一或多个处理器经进一步配置以:
基于发信输出操作点的所述位流的视频图片序列VPS中的一或多个语法元素而提取所述输出操作点。
22.根据权利要求21所述的装置,其中所述一或多个语法元素包含输出层集合的所述列表。
23.根据权利要求21所述的装置,其中输出层集合的所述列表在输出层集合的所述列表中的每一输出层集合中包含到对应于所述输出层集合的层集合的另一索引,且其中解码至少所述目标输出层包含解码所述对应层集合中的每一层。
24.根据权利要求23所述的装置,其中所述对应层集合识别所述待解码的层中的每一者,所述目标输出层集合识别目标用于输出的所述层中的每一者,且其中目标用于输出的层为所述待解码的层的子集。
25.一种具有存储于其上的指令的非暂时性计算机可读存储媒体,所述指令在执行时使至少一处理器:
接收视频位流中的输出层集合的列表;
接收到输出层集合的所述列表中的至少一目标输出层集合的索引;
基于所述索引确定所述至少一目标输出层集合中的目标输出层;
从所述视频位流解码至少所述目标输出层;及
输出所述经解码目标输出层,而不输出目标非用于输出的层。
26.一种用于解码视频数据的装置,所述装置包括:
用于接收视频位流中的输出层集合的列表的装置;
用于接收到输出层集合的所述列表中的至少一目标输出层集合的索引的装置;
用于基于所述索引确定所述至少一目标输出层集合中的目标输出层的装置;
用于从所述视频位流解码至少所述目标输出层的装置;及
用于输出所述经解码目标输出层而不输出目标非用于输出的层的装置。
27.一种用于处理视频数据的方法,所述方法包括:
确定目标用于输出的层集合;
确定到输出层集合的列表中的目标输出层集合的索引,使得所述目标输出层集合识别目标用于输出的所述所确定层集合;及
将所述索引发送到视频解码器。
28.根据权利要求27所述的方法,其中至少一输出操作点与所述目标输出层集合相关联。
29.根据权利要求27所述的方法,其中由与所述目标输出层集合相关联的待输出的每一图片的nuh_layer_id值集合来识别所述目标输出层集合。
30.根据权利要求27所述的方法,其中当用以接收所述索引的传输层符合会话描述协议SDP时,已由接收器装置基于包含由所述接收器装置选择的视频数据视图的经编码位流、输出层集合的描述及基于时间子集的操作点而确定所述索引。
31.根据权利要求27所述的方法,其进一步包括:
传达操作点信息;
在传达所述操作点信息之后,接收输出操作点的选择;及
至少部分基于所述输出操作点的所述选择而确定目标用于输出的所述层集合。
32.一种用于处理视频数据的装置,其包括:
存储器,其经配置以存储数据;及
一或多个处理器,其与所述存储器通信且经配置以:
接收到输出的列表中的至少一目标输出层集合的索引;
确定目标用于输出的层集合;
确定到输出层集合的列表中的目标输出层集合的索引,使得所述目标输出层集合识别目标用于输出的所述所确定层集合;及
将所述索引发送到视频解码器。
33.一种具有存储于其上的指令的非暂时性计算机可读存储媒体,所述指令在执行时使至少一处理器:
确定目标用于输出的层集合;
确定到输出层集合的列表中的目标输出层集合的索引,使得所述目标输出层集合识别目标用于输出的所述所确定层集合;及
将所述索引发送到视频解码器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361845837P | 2013-07-12 | 2013-07-12 | |
US61/845,837 | 2013-07-12 | ||
US14/328,406 US10595031B2 (en) | 2013-07-12 | 2014-07-10 | Selection of target output layers in high efficiency video coding extensions |
US14/328,406 | 2014-07-10 | ||
PCT/US2014/046319 WO2015006674A1 (en) | 2013-07-12 | 2014-07-11 | Selection of target output layers in high efficiency video coding extensions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105409219A true CN105409219A (zh) | 2016-03-16 |
CN105409219B CN105409219B (zh) | 2019-08-02 |
Family
ID=52277086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480039022.7A Active CN105409219B (zh) | 2013-07-12 | 2014-07-11 | 高效率视频译码扩展中的目标输出层的选择 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10595031B2 (zh) |
EP (1) | EP3020195A1 (zh) |
JP (1) | JP6509842B2 (zh) |
KR (1) | KR102151834B1 (zh) |
CN (1) | CN105409219B (zh) |
TW (1) | TWI633780B (zh) |
WO (1) | WO2015006674A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113812158A (zh) * | 2019-10-08 | 2021-12-17 | 腾讯美国有限责任公司 | 可缩放视频流的输出层集的信令方法 |
CN114503591A (zh) * | 2019-09-24 | 2022-05-13 | 华为技术有限公司 | 支持空间可适性和snr可适性的ols |
CN115002474A (zh) * | 2019-09-24 | 2022-09-02 | 华为技术有限公司 | 支持多视图可适性的ols |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493459B (zh) * | 2011-04-01 | 2016-08-24 | 英特尔公司 | 一种用于接收自适应多媒体流送的方法和设备 |
WO2015053597A1 (ko) * | 2013-10-12 | 2015-04-16 | 삼성전자 주식회사 | 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치 |
US10284858B2 (en) * | 2013-10-15 | 2019-05-07 | Qualcomm Incorporated | Support of multi-mode extraction for multi-layer video codecs |
KR102294092B1 (ko) | 2014-01-02 | 2021-08-27 | 한국전자통신연구원 | 영상의 복호화 방법 및 이를 이용하는 장치 |
CN106031164A (zh) * | 2014-02-26 | 2016-10-12 | 株式会社理光 | 通信装置、通信系统、通信控制方法以及程序 |
WO2015137432A1 (ja) * | 2014-03-14 | 2015-09-17 | シャープ株式会社 | 画像復号装置、及び画像復号方法 |
US20180213216A1 (en) * | 2015-06-16 | 2018-07-26 | Lg Electronics Inc. | Media data transmission device, media data reception device, media data transmission method, and media data rececption method |
US10034010B2 (en) * | 2015-10-14 | 2018-07-24 | Qualcomm Incorporated | Alignment of operation point sample group in multi-layer bitstreams file format |
US10575018B2 (en) * | 2017-07-10 | 2020-02-25 | Qualcomm Incorporated | Enhanced high-level signaling for fisheye virtual reality video in dash |
WO2019017928A1 (en) | 2017-07-19 | 2019-01-24 | Cummins Inc. | TECHNIQUES FOR TRANSIENT ESTIMATION AND COMPENSATION OF CONTROL PARAMETERS FOR DEDICATED EGR ENGINES |
US11109069B2 (en) * | 2019-09-20 | 2021-08-31 | Tencent America LLC | Signaling of scalability parameters in video bitstream |
MX2022003561A (es) * | 2019-09-24 | 2022-06-14 | Huawei Tech Co Ltd | Gestión de mensajes de sei de anidamiento escalable. |
WO2021134019A1 (en) | 2019-12-26 | 2021-07-01 | Bytedance Inc. | Constraints on coding of layered video |
KR20220115958A (ko) | 2019-12-26 | 2022-08-19 | 바이트댄스 아이엔씨 | 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들 |
WO2021134055A1 (en) | 2019-12-27 | 2021-07-01 | Bytedance Inc. | Subpicture signaling in parameter sets |
CN115211120A (zh) * | 2019-12-30 | 2022-10-18 | Lg电子株式会社 | 基于包括ols dpb参数索引的图像信息对图像进行解码的方法及其设备 |
CN115004669A (zh) * | 2020-01-09 | 2022-09-02 | 字节跳动有限公司 | 不同sei消息的解码顺序 |
CN115516860A (zh) * | 2020-05-04 | 2022-12-23 | Lg电子株式会社 | 图像解码方法及其设备 |
WO2022065875A1 (ko) * | 2020-09-22 | 2022-03-31 | 엘지전자 주식회사 | 동작점 정보와 출력 계층 세트 정보를 시그널링하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일을 저장한 컴퓨터 판독 가능한 기록 매체 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5686594B2 (ja) | 2007-04-12 | 2015-03-18 | トムソン ライセンシングThomson Licensing | スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置 |
US9716920B2 (en) | 2010-08-05 | 2017-07-25 | Qualcomm Incorporated | Signaling attributes for network-streamed video data |
RU2641470C2 (ru) | 2012-06-28 | 2018-01-17 | Сони Корпорейшн | Устройство передачи/приема, способ и устройство кодирования/декодирования |
US20140301477A1 (en) | 2013-04-07 | 2014-10-09 | Sharp Laboratories Of America, Inc. | Signaling dpb parameters in vps extension and dpb operation |
WO2015004924A1 (en) | 2013-07-10 | 2015-01-15 | Sharp Kabushiki Kaisha | Scaling list signaling and parameter sets activation |
US10284858B2 (en) | 2013-10-15 | 2019-05-07 | Qualcomm Incorporated | Support of multi-mode extraction for multi-layer video codecs |
-
2014
- 2014-07-10 US US14/328,406 patent/US10595031B2/en active Active
- 2014-07-11 KR KR1020167001982A patent/KR102151834B1/ko active IP Right Grant
- 2014-07-11 TW TW103124045A patent/TWI633780B/zh active
- 2014-07-11 CN CN201480039022.7A patent/CN105409219B/zh active Active
- 2014-07-11 WO PCT/US2014/046319 patent/WO2015006674A1/en active Application Filing
- 2014-07-11 EP EP14745048.0A patent/EP3020195A1/en not_active Ceased
- 2014-07-11 JP JP2016525802A patent/JP6509842B2/ja active Active
Non-Patent Citations (2)
Title |
---|
DAVID SINGER (APPLE) 等: "《ISO/IEC 14496-15/FDIS + Cor1Cor2 + Amd1》", 《INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ORGANISATION INTERNATIONALE DE NORMALISATION,ISO/IEC JTC1/SC29/WG11,CODING OF MOVING PICTURES AND AUDIO,MPEG06/N10952,OCT 2009, XI"AN, CHINA》 * |
YE-KUI WANG 等: "《MV-HEVC/SHVC HLS: On VPS and SPS in HEVC 3DV and scalable extensions》", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,4TH MEETING: INCHEON, KR, 20–26 APR. 2013,JCT3V-D0047》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114503591A (zh) * | 2019-09-24 | 2022-05-13 | 华为技术有限公司 | 支持空间可适性和snr可适性的ols |
CN115002474A (zh) * | 2019-09-24 | 2022-09-02 | 华为技术有限公司 | 支持多视图可适性的ols |
CN115002474B (zh) * | 2019-09-24 | 2023-04-11 | 华为技术有限公司 | 一种由解码器实现的方法、译码设备、可读介质和解码器 |
CN114503591B (zh) * | 2019-09-24 | 2023-11-17 | 华为技术有限公司 | 支持空间可适性和snr可适性的ols |
CN113812158A (zh) * | 2019-10-08 | 2021-12-17 | 腾讯美国有限责任公司 | 可缩放视频流的输出层集的信令方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6509842B2 (ja) | 2019-05-08 |
KR20160031499A (ko) | 2016-03-22 |
US10595031B2 (en) | 2020-03-17 |
EP3020195A1 (en) | 2016-05-18 |
JP2016529781A (ja) | 2016-09-23 |
CN105409219B (zh) | 2019-08-02 |
KR102151834B1 (ko) | 2020-09-03 |
TWI633780B (zh) | 2018-08-21 |
US20150016532A1 (en) | 2015-01-15 |
TW201515446A (zh) | 2015-04-16 |
WO2015006674A1 (en) | 2015-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105409219A (zh) | 高效率视频译码扩展中的目标输出层的选择 | |
CN104823449A (zh) | 在视频译码中用信号表示关注区和逐渐解码刷新 | |
CN104584557B (zh) | 对视频数据进行编码、解码的方法、装置以及计算机可读介质 | |
CN104509115A (zh) | 用于高效视频译码(hevc)和扩展的视频参数集 | |
CN105191310A (zh) | 用于视频译码的并行处理 | |
CN104685887A (zh) | 于视频译码中发信用于操作点的层识别符 | |
CN104471942A (zh) | 重新使用参数集用于视频译码 | |
CN105340276A (zh) | 对多层视频译码的层间预测信令的优化 | |
CN105284113A (zh) | 分量间滤波 | |
CN104704843A (zh) | 视频性质的指示 | |
CN104641652A (zh) | 用于视频译码的帧封装立体三维(3d)视频数据的指示 | |
CN104769948A (zh) | 在视频译码中执行残差预测 | |
CN104685875A (zh) | 用于视频译码中的4:2:2样本格式的帧内译码 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN105052152A (zh) | 用于仅高级语法可缩放视频译码的层间参考图片限制 | |
CN104737537A (zh) | 用于可缩放视频译码的加权预测模式 | |
CN104412591A (zh) | 用于差域帧内预测的帧内模式扩展 | |
CN104221387A (zh) | 在视频译码中的低延迟视频缓冲 | |
CN104704841A (zh) | 错误弹性解码单元关联 | |
CN105075258A (zh) | 针对具有不同纵横比的空间可缩放性的层间参考图片建构 | |
CN104396257A (zh) | 在视频译码中长期参考图片的随机存取和发信 | |
CN104604224A (zh) | 可缩放视频译码中的变换基底调整 | |
CN104365106A (zh) | 发信用于视频译码的长期参考图片的数据 | |
CN105052153B (zh) | 用于视频信息的可缩放译码的装置和方法 | |
CN104782131A (zh) | 视频译码中的目标输出层 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |