CN105637878A - 在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信 - Google Patents
在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信 Download PDFInfo
- Publication number
- CN105637878A CN105637878A CN201480055054.6A CN201480055054A CN105637878A CN 105637878 A CN105637878 A CN 105637878A CN 201480055054 A CN201480055054 A CN 201480055054A CN 105637878 A CN105637878 A CN 105637878A
- Authority
- CN
- China
- Prior art keywords
- sub
- dpb
- picture
- parameter
- video
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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
-
- 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/70—Methods 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)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种解码视频数据的方法,其包含接收包含多个图片的经编码视频位流,和将所述多个图片存储于一或多个子DPB中。所述方法进一步包含针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合,针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层,和根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
Description
本申请案主张2013年10月10日申请的美国临时申请案号61/889,515和2013年10月14日申请的美国临时申请案号61/890,841的权利,所述案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频性能可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置,和其类似者。数字视频装置实施视频译码技术,例如在通过MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分先进视频译码(AVC)所定义的标准、目前在开发中的高效率视频译码(HEVC)标准和这些标准的扩展中所述的技术。视频装置可通过实施这些视频译码技术而更有效地发射、接收、编码、解码,和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。针对基于块的视频译码,视频片段(例如,视频帧或视频帧的一部分)可分割为视频块(其也可被称为树型块)、译码单元(CU)和/或译码节点。图片的帧内译码(I)片段中的视频块使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间译码(P或B)片段中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
空间或时间预测产生针对待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。帧间译码块是根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的视差的残余数据来编码。帧内译码块是根据帧内译码模式和残余数据来编码。针对进一步压缩,残余数据可从像素域变换到变换域,从而产生残余变换系数,所述残余变换系数接着可得以量化。最初以二维阵列布置的经量化变换系数可经扫描,以便产生变换系数的一维向量,且熵译码可经应用以达成甚至更多的压缩。
发明内容
大体来说,本发明描述视频译码技术。明确地说,所述技术与可应用于子解码图片缓冲器(子DPB)的视频译码和传信技术相关。在本发明的一或多个实例中,用于针对一或多个层和/或一或多个子层传信DPB和子DPB参数的技术得以描述。通过利用本发明的技术,传信效率可针对包含一或多个子层的多层视频位流增加。
在本发明的一个实例中,一种解码视频数据的方法包括:接收包含多个图片的经编码视频位流;将所述多个图片存储于一或多个子DPB中;针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
在本发明的另一实例中,一种经配置以解码视频数据的设备包括:一或多个子DPB,其经配置以存储视频数据;以及视频解码器,其经配置以:接收包含多个图片的经编码视频位流;将所述多个图片存储于所述一或多个子DPB中;针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
在本发明的另一实例中,一种经配置以解码视频数据的设备包括:用于接收包含多个图片的经编码视频位流的装置;用于将所述多个图片存储于一或多个子DPB中的装置;用于针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合的装置;用于针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层的装置;以及用于根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程的装置。
在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在被执行时使得经配置以解码视频数据的装置的一或多个处理器:接收包含多个图片的经编码视频位流;将所述多个图片存储于所述一或多个子DPB中;针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
在本发明的另一实例中,一种编码视频数据的方法包括:重构建经编码视频位流的多个图片;将所述多个图片存储于一或多个子DPB中;针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及在所述经编码视频位流中传信子DPB参数的所述相应集合。
在本发明的另一实例中,一种经配置以编码视频数据的设备包括:一或多个子DPB,其经配置以存储视频数据;以及视频编码器,其经配置以:重构建经编码视频位流的多个图片;将所述多个图片存储于一或多个子DPB中;针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及在所述经编码视频位流中传信子DPB参数的所述相应集合。
在本发明的另一实例中,一种经配置以编码视频数据的设备包括:用于重构建经编码视频位流的多个图片的装置;用于将所述多个图片存储于一或多个子DPB中的装置;用于针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合的装置;用于针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层的装置;用于根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程的装置;以及用于在所述经编码视频位流中传信子DPB参数的所述相应集合的装置。
在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在被执行时使得经配置以编码视频数据的装置的一或多个处理器:重构建经编码视频位流的多个图片;将所述多个图片存储于一或多个子DPB中;针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及在所述经编码视频位流中传信子DPB参数的所述相应集合。
一或多个实例的细节阐述于随附图式和以下描述中。其它特征、目标和优点将从描述和图式和从权利要求书显而易见。
附图说明
图1为说明可利用本发明中所述的技术的实例视频编码和解码系统的框图。
图2为说明实例多视图解码次序的概念图。
图3为说明用于多视图译码的实例预测结构的概念图。
图4为说明实例可缩放视频译码层的概念图。
图5为展示根据本发明的实例的实例解码图片缓冲器(DPB)的概念图。
图6为说明可实施本发明中所述的技术的实例视频编码器的框图。
图7为说明可实施本发明中所述的技术的实例视频解码器的框图。
图8为展示根据本发明的技术的实例的实例编码方法的流程图。
图9为展示根据本发明的技术的实例的实例解码方法的流程图。
具体实施方式
大体来说,本发明描述用于在多层视频译码中与解码图片缓冲器(DPB)相关的参数的传信的技术。明确地说,本发明描述用于传信关于DPB的子单元(也称作子DPB)的管理的参数的各种技术。如下文将更详细地描述,本发明的技术包含用于针对多层视频位流的一或多个层和一或多个子层传信子DPB参数的技术。通过利用本发明的技术,传信效率可针对包含一或多个子层的多层视频位流增加。
在本发明的上下文中,层可为可缩放视频译码过程中的基础层或一或多个增强层。实例可缩放视频译码过程包含H.264/SVC(可缩放视频译码)和高效率视频译码(HEVC)标准的可缩放扩展,例如可缩放HEVC(SHVC)。另外,层可指多视图或3D视频译码中的一或多个纹理视图。另外,3D视频译码中的深度视图也可被视为层。作为另一实例,层可对应于包含纹理视图分量和深度视图分量两者的单一视图。实例多视图译码过程包含H.264/MVC(多视图译码)和HEVC标准的多视图扩展,例如多视图HEVC(MV-HEVC)。更一般来说,层可指具有同一层识别(例如,nuh_layer_id)的网络抽象层(NAL)单元的集合。
因此,术语“层”在本发明中一般用以在可缩放视频译码的意义上指基础层和/或增强层,或在3D和多视图视频译码的意义上指视图(包含纹理视图分量和/或深度视图分量)。因此,术语多层视频译码一般指可缩放视频译码技术、多视图视频译码技术,和3D视频译码技术,包含多视图加深度译码。本发明的技术可适用于任何这些视频译码情境,包含HEVC和/或H.264/AVC的多视图扩展、3D视频扩展,和可缩放扩展。
在本发明的上下文中,术语“子层”指时间可缩放位流的时间可缩放层。即,一或多个不同的子层可经解码来以不同的帧速率输出视频的位流。层可包含一或多个子层。
下文所述的技术可基于先进的编解码器应用于可缩放、多视图和3D视频译码技术,包含通过深度图对图片的两个或两个以上视图的译码。视频译码标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual和ITU-TH.264(也称为ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。另外,新的视频译码标准(即,高效率视频译码(HEVC))已通过ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的关于视频译码的联合协作团队(JCT-VC)开发。HEVC标准描述于ITU-TH.265,H系列:视听和多媒体系统,视听服务的基础设施——移动视频的译码,“高效率视频译码(HighEfficiencyVideoCoding)”,2013年4月(下文中,“HEVC”)中。
HEVC的各种扩展已得以提出。一个此扩展为描述于“高效率视频译码(HEVC)范围扩展文本规范:草案4(HighEfficiencyVideoCoding(HEVC)RangeExtensionstextspecification:Draft4)”,JCTVC-N1005_v1,2013年4月(下文中,“JCTVC-N1005”)中的HEVC范围扩展。题为“高效率视频译码(HEVC)可缩放扩展草案3(Highefficiencyvideocoding(HEVC)scalableextensiondraft3)”(ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),第14次会议:奥地利维也纳,2013年7月25日-8月2日且下文中被称为SHVCWD3)的可缩放HEVC(SHVC)的近期工作草案(WD)从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC- N1008-v3.zip可得。对HEVC的多视图扩展(即,MV-HEVC)也正通过JCT-3V开发。MV-HEVC的一个工作草案(下文中,WD4)从http://phenix.it-sudparis.eu/jct2/doc_end_user/ documents/4_Incheon/wg11/JCT3V-D1004-v3.zip可得。题为“MV-HEVC草案文本8(MV-HEVCDraftText8)”(ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D译码扩展的联合合作团队,第8次会议:西班牙巴伦西亚,2014年3月29日-4月4日)的MV-HEVC的更近期工作草案从http://phenix.it-sudparis.eu/jct3v/doc_end_user/documents/8_Valencia/wg11/JCT3V-H0002-v1.zip可得。
图1为说明可利用用于本发明中所描述的多层视频译码过程中的解码图片缓冲器(DPB)管理和传信的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含产生待由目的地装置14在稍后时间解码的经编码视频数据的源装置12。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或其类似者。在一些状况下,源装置12和目的地装置14可经配备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够将经编码视频数据直接实时地发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)调制,且发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多根物理发射线。通信媒体可形成基于封包的网络(例如,局域网、广域网,或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,经编码数据可从输出接口22输出到存储装置34。类似地,经编码数据可由输入接口从存储装置34存取。存储装置34可包含多种散布式或局域存取的数据存储媒体中的任一者,例如硬盘、Blu-ray光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在又一实例中,存储装置34可对应于可保持通过源装置12所产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置34存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将那个经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置,或本地磁盘机。目的地装置14可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等),或两者的组合。经编码视频数据从存储装置34的发射可为流式传输发射、下载发射,或两者的组合。
用于多层视频译码过程中的DPB管理和传信的本发明的技术(例如,SHVC、MV-HEVC或3D-HEVC作为实例)不必限于无线应用或设置。所述技术可应用于支持多种多媒体应用(例如,(例如)经由因特网的空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射)中的任一者的视频译码、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射来支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些状况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频捕捉装置(例如,摄像机、含有先前捕捉的视频的视频封存档、从视频内容提供者接收视频的视频馈入接口)的源,和/或用于产生计算机图形数据作为源视频的计算机图形系统的源,或这些源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。
经捕捉、预先捕捉或计算机产生的视频可由视频编码器20编码。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置34上以供目的地装置14或其它装置稍后存取,以用于解码和/或播放。
目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置34上提供的经编码视频数据可包含通过视频编码器20所产生的多种语法元素,以供例如视频解码器30的视频解码器在解码视频数据时使用。这些语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且也经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频压缩标准(例如,高效率视频译码(HEVC)标准)操作,且可符合HEVC测试模型(HM)。明确地说,在一些实例中,视频编码器20和视频解码器可根据支持可缩放、多视图和/或多视图加深度视频译码的HEVC的扩展操作。在其它实例中,视频编码器20和视频解码器30可根据其它专有或行业标准(例如,ITU-TH.264标准,替代地被称为MPEG-4第10部分先进视频译码(AVC))或这些标准的扩展(包含H.264/SVC)操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-TH.263。明确地说,根据本发明的技术,视频编码器20和视频解码器30可根据能够进行可缩放(例如,SHVC)和/或多视图编码(例如,MV-HEVC或3D-HEVC)的视频译码标准操作。
尽管未展示于图1中,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITUH.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
本发明的以下章节将提供HEVC标准的背景。HEVC标准化努力是基于视频译码装置的被称为HEVC测试模型(HM)的演进模型。HM根据(例如)ITU-TH.264/AVC假设视频译码装置相对于现有装置的若干额外性能。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。
一般来说,HM的工作模型描述视频帧或图片可划分为包含明度和色度样本两者的树型块(也被称作译码树型块(CTB)或最大译码单元(LCU))的序列。树型块具有与H.264标准的宏块类似的目的。片段包含按译码次序的数个接连的树型块。视频帧或图片可分割为一或多个片段。每一树型块可根据四叉树(quadtree)分裂为多个译码单元(CU)。举例来说,树型块(作为四叉树的根节点)可分裂为四个子节点,且每一子节点可又为父节点且分裂为另外四个子节点。最后未分裂的子节点(作为四叉树的叶节点)包括译码节点,即,经译码视频块。与经译码位流相关联的语法数据可定义树型块可分裂的最大次数,且也可定义译码节点的最小大小。
CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小一般对应于译码节点的大小且必须通常在形状上为正方形。CU的大小的范围可为从8×8个像素达到具有最大64×64个像素或大于64×64个像素的树型块的大小。每一CU可含有一或多个PU和一或多个TU。与CU相关联的语法数据可描述(例如)CU转为一或多个PU的分割。分割模式可在CU经跳过或直接模式编码、经帧内预测模式编码或是经帧间预测模式编码之间不同。PU在形状上可分割为非正方形。与CU相关联的语法数据也可描述(例如)CU根据四叉树转为一或多个TU的分割。TU在形状上可为正方形或非正方形。
HEVC标准允许根据TU的变换,所述变换针对不同的CU可为不同的。TU通常是基于在针对经分割LCU所定义的给定CU内的PU的大小来定大小,但可能并非总是此状况。TU通常为与PU相同的大小或小于PU。在一些实例中,对应于CU的残余样本可使用称为“残余四叉树”(RQT)的四叉树结构再分为更小的单元。RQT的叶节点可被称为变换单元(TU)。与TU相关联的像素差值可经变换以产生可经量化的变换系数。
一般来说,PU包含与预测过程相关的数据。举例来说,当PU经帧内模式编码时,PU可包含描述针对所述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义针对所述PU的运动向量的数据。定义针对PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、针对运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或针对运动向量的参考图片列表(例如,List0、List1或ListC),其可通过预测方向指示。
一般来说,TU用于变换和量化过程。具有一或多个PU的给定CU也可包含一或多个变换单元(TU)。在预测之后,视频编码器20可根据PU从通过译码节点所识别的视频块计算残余值。译码节点接着经更新以参考残余值而非原始视频块。残余值包括像素差值,所述像素差值可使用在TU中所指定的变换和其它变换信息变换为变换系数、经量化且经扫描以产生用于熵译码的串行化变换系数。译码节点可再次经更新以指这些串行化变换系数。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定状况下,本发明也可使用术语“视频块”来指包含译码节点以及PU和TU的树型块(即,CTB、LCU或CU)。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列视频图片中的一或多者。GOP可包含GOP的标头、图片中的一或多者的标头或别处的语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一片段可包含描述针对所述相应片段的编码模式的片段语法数据。视频编码器20通常对个别视频片段内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小上不同。
作为实例,HM支持以各种PU大小的预测。假设特定CU的大小为2N×2N,那么HM支持以2N×2N或N×N的PU大小的帧内预测,和以2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM也支持针对以2N×nU、2N×nD、nL×2N和nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向分割为25%和75%。CU对应于25%分割区的部分由“n”继之以“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,举例来说,“2N×nU”指在水平上以顶部的2N×0.5NPU和底部的2N×1.5NPU分割的2N×2NCU。
在本发明中,“N×N”与“N乘N”可互换地使用以指视频块在垂直维度和水平维度方面的像素尺寸,例如,16×16个像素或16乘16个像素。一般来说,16×16块在垂直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,N×N块一般在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可以列和行来布置。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可计算由CU的TU所指定的变换所施加到的残余数据。残余数据可对应于未经编码图片的像素与对应于CU的预测值之间的像素差。视频编码器20可形成用于CU的残余数据,且接着变换残余数据以产生变换系数。
在任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化一般指变换系数经量化以可能地减小用以表示所述系数的数据的量从而提供进一步压缩的过程。量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间降值舍位到m位值,其中n大于m。
在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应性二进制算术译码(CABAC)或另一熵编码方法熵编码一维向量。为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。上下文可与(例如)符号的相邻值是否为非零的相关。视频编码器20也可熵编码与经编码视频数据相关联的供视频解码器30在解码视频数据时使用的语法元素。
HEVC扩展也当前在JCT-3V和JCT-VC中处于开发中。在JCT-3V中,两个多视图相关HEVC扩展(多视图扩展(MV-HEVC)和3D视频扩展(3D-HEVC))正被开发。另外,两个AVC扩展(MVC+D和3D-AVC)正被开发。
进行中的标准的实例版本列出如下:
-T.铃木、M.M.汉努克塞拉、Y.陈、S.服部、G.沙利文,“针对深度地图的包含的MVC扩展草案文本6(MVCExtensionforInclusionofDepthMapsDraftText6)”,JCT3V-C1001,ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D视频译码的联合合作团队,第4次会议,在http://phenix.int-evry.fr/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1001-v3.zip处可得。
-M.M.汉努克塞拉、Y.陈、T.铃木、J.-R.欧姆、G.沙利文,“3D-AVC草案文本8(3D-AVCDraftText8)”,JCT3V-F1002,ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D视频译码扩展开发的联合合作团队,第6次会议,在http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1002-v3.zip处可得。
-JCT3V-F1004,“MV-HEVC草案文本6(MV-HEVCDraftText6)”,G.泰克、K.瓦格纳、Y.陈、M.汉努克塞拉,ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D视频译码扩展开发的联合合作团队,第6次会议,在http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1004-v6.zip处可得。
-杰拉德·泰克、克日什托夫·瓦格纳、陈英(YingChen)、叶世勋,“3D-HEVC草案文本2(3D-HEVCDraftText2)”,JCT3V-F1001,ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D视频译码扩展开发的联合合作团队,第6次会议,在http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1001-v2处可得。
现将论述H.264/先进视频译码(AVC)标准的扩展的多视图视频译码技术。然而,本发明的技术可适用于支持针对刚出现的HEVC标准(例如,MV-HEVC和3D-HEVC)的多视图译码和/或3D译码多视图建议的任何视频译码标准。
多视图视频译码(MVC)为H.264/AVC的扩展。典型MVC解码次序(即,位流次序)展示于图2中。解码次序布置被称为时间优先译码。注意,存取单元的解码次序可能并不与存取单元的输出次序或显示次序相同。在图2中,S0到S7各自指多视图视频的不同的视图。T1到T9各自表示一个输出时间例项。存取单元可包含针对一个输出时间例项的所有视图的经译码图片。举例来说,第一存取单元可包含针对时间例项T1的所有视图S0到S7,第二存取单元可包含针对时间例项T2的所有视图S0到S7,等等。
为简要的目的,本发明可使用以下定义:
视图分量:单一存取单元中的视图的经译码表示。当视图包含经译码纹理表示和深度表示两者时,视图分量可包含纹理视图分量和深度视图分量。
纹理视图分量:单一存取单元中的视图的纹理的经译码表示。
深度视图分量:单一存取单元中的视图的深度的经译码表示。
如上文所论述,在本发明的上下文中,视图分量、纹理视图分量和深度视图分量中的每一者可一般被称为层。在图2中,视图中的每一者包含图片的集合。举例来说,视图S0包含图片0、8、16、24、32、40、48、56和64的集合,视图S1包含图片1、9、17、25、33、41、49、57和65的集合,等等。每一集合包含两种类型的图片:一个图片被称为纹理视图分量,且另一图片被称为深度视图分量。视图的图片的集合内的纹理视图分量和深度视图分量可被视为彼此对应。举例来说,视图的图片的集合内的纹理视图分量被视为对应于视图的图片的集合内的深度视图分量,且反之亦然(即,深度视图分量对应于集合中的其纹理视图分量,且反之亦然)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为与单一存取单元中的深度分量相同的视图的部分。
纹理视图分量包含所显示的实际图像内容。举例来说,纹理视图分量可包含明度(Y)和色度(Cb和Cr)分量。深度视图分量可指示深度视图分量的对应的纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量为仅包含明度值的灰度图像。换句话说,深度视图分量可不输送任何图像内容,而是提供对应的纹理视图分量中的像素的相对深度的测量。
举例来说,深度视图分量中的纯白色像素指示对应的纹理视图分量中的其对应像素从检视者的观点来说更接近,且深度视图分量中的纯黑色像素指示对应的纹理视图分量中的其对应像素从检视者的观点来说更远离。在黑色与白色中间的灰色的各种阴影指示不同的深度等级,使得在深度视图中的像素的灰色的阴影的暗度的增加指示与纹理视图中的对应像素相关联的深度的等级的增加。举例来说,深度视图分量中的极灰像素指示纹理视图分量中的其对应的像素与深度视图分量中的稍灰像素相比更远离。因为仅需要灰度来识别像素的深度,所以深度视图分量无需包含色度分量,这是由于针对深度视图分量的色彩值可能不服务任何目的。
仅使用明度值(例如,强度值)来识别深度的深度视图分量是为说明目的而提供且不应被视为限制性的。在其它实例中,任何技术可用以指示纹理视图分量中的像素的相对深度。
用于多视图视频译码的典型MVC预测结构(包含每一视图内的图片间预测和视图间预测两者)展示于图3中。图3的预测结构也可与由箭头所指示的MV-HEVC>预测方向一起使用,指向物件使用指从物件作为预测参考。在MVC中,视图间预测由视差运动补偿来支持,所述视差运动补偿使用H.264/AVC运动补偿的语法但允许不同视图中的图片用作参考图片。
在图3的实例中,说明八个视图(具有视图ID“S0”到“S7”),且针对每一视图说明十二个时间位置(“T0”到“T11”)。即,图3中的每一列对应于视图,而每一行指示时间位置。
尽管MVC具有所谓的基础视图(其可由H.264/AVC解码器解码)且立体视图对也可由MVC支持,但MVC的优点在于MVC可支持使用两个以上视图作为3D视频输入且解码通过多个视图所表示的此3D视频的实例。具有MVC解码器的客户端的渲染器可预期具有多个视图的3D视频内容。
图3中的图片在每一列与每一行的交叉处指示。H.264/AVC标准可使用术语帧来表示视频的一部分。本发明可互换地使用术语图片和帧。
图3中的图片是使用包含字母的框来说明,字母指定对应图片经帧内译码(即,I图片),或是在一个方向上经帧间译码(即,作为P图片)或在多个方向上经帧间译码(即,作为B图片)。一般来说,预测由箭头指示,其中指向图片使用指自的图片进行预测参考。举例来说,在时间位置T0处的视图S2的P图片是从在时间位置T0处的视图S0的I图片预测。
如同单视图视频编码,多视图视频译码视频序列的图片可关于在不同的时间位置处的图片预测性地编码。举例来说,在时间位置T1处的视图S0的b图片具有从时间位置T0处的视图S0的I图片指向其的箭头,从而指示b图片是从I图片预测。然而,另外,在多视图视频编码的上下文中,图片可经视图间预测。即,视图分量可使用其它视图中的视图分量用于参考。在MVC中,举例来说,视图间预测得以实现,如同另一视图中的视图分量为帧间预测参考一般。潜在视图间参考是在序列参数集合(SPS)MVC扩展中传信且可通过参考图片列表构建过程修改,此实现帧间预测或视图间预测参考的灵活排序。视图间预测也为HEVC的所建议多视图扩展(包含3D-HEVC(多视图加深度))的特征。
图3提供视图间预测的各种实例。在图3的实例中,视图S1的图片说明为从视图S1的不同的时间位置处的图片进行预测,以及从相同的时间位置处的视图S0和S2的图片进行视图间预测。举例来说,在时间位置T1处的视图S1的b图片是从在时间位置T0和T2处的视图S1的B图片中的每一者以及在时间位置T1处的视图S0和S2的b图片进行预测。
在一些实例中,图3可被视为说明纹理视图分量。举例来说,图3中所说明的I图片、P图片、B图片和b图片可被视为针对视图中的每一者的纹理视图分量。根据本发明中所述的技术,针对图3中所说明的纹理视图分量中的每一者,存在对应的深度视图分量。在一些实例中,深度视图分量可以类似于针对对应的纹理视图分量在图3中所说明的方式的方式来预测。
两个视图的译码也可由MVC支持。MVC的优点中的一者在于MVC编码器可采用两个以上视图作为3D视频输入且MVC解码器可解码此多视图表示。同样,具有MVC解码器的任何渲染器可解码具有两个以上视图的3D视频内容。
如上文所论述,在MVC(或MV-HEVC)中,视图间预测在同一存取单元(在一些例子中,意味着具有同一时间例项)中的图片当中是允许的。当译码非基础视图中的一者中的图片时,图片可添加到参考图片列表中(如果其在不同视图中但在同一时间例项内)。视图间预测参考图片可置于参考图片列表的任何位置,正如任何帧间预测参考图片。如图3中所示,视图分量可使用其它视图中的视图分量用于参考。在MVC中,视图间预测得以实现,如同另一视图中的视图分量为帧间预测参考一般。
如图3中所示,视图分量可使用其它视图中的视图分量用于参考。此被称作视图间预测。在MVC中,视图间预测得以实现,如同另一视图中的视图分量为帧间预测参考一般。然而,潜在视图间参考是在序列参数集合(SPS)MVC扩展(如下文的表1中所示)中传信且可通过参考图片列表构建过程修改,此实现帧间预测或视图间预测参考的灵活排序。
表1-SPSMVC扩展语法表
在SPSMVC扩展中,针对每一视图,可用以形成参考图片列表0和参考图片列表1的视图的数目得以传信。针对锚定图片的预测关系(如在SPSMVC扩展中传信)可不同于针对同一视图的非锚定图片(在SPSMVC扩展中传信)的预测关系。
下一章节将论述关于HEVC的多视图和3D视频译码。明确地说,当译码两个或两个以上视图时,本发明的实例技术为适用的。针对每一视图的多个视频图片可被称为纹理视图分量。针对3D-HEVC,每一纹理视图分量可具有对应的深度视图分量。MV-HEVC不使用深度视图分量。纹理视图分量包含视频内容(例如,像素值的明度和色度分量),且深度视图分量(例如,针对3D-HEVC)可指示纹理视图分量内的像素的相对深度。
本发明的实例技术涉及通过译码纹理数据或纹理数据和深度数据而译码3D视频数据。一般来说,术语“纹理”用以描述图像的明度(即,亮度或“明度”)值和图像的色度(即,色彩或“色度”)值。在一些实例中,纹理图像可包含一组明度数据和两组色度数据(针对蓝色色调(Cb)和红色色调(Cr))。在某些色度格式(例如,4:2:2或4:2:0)中,色度数据相对于明度数据减少采样。即,色度分量的空间分辨率低于对应的明度分量的空间分辨率,例如,明度分辨率的一半或四分之一。
深度数据一般描述针对对应的纹理数据的深度值。举例来说,深度图像可包含各自描述针对对应的纹理数据的深度的一组深度像素。深度数据可用以确定针对对应的纹理数据的水平视差。因此,接收纹理和深度数据的装置可显示针对一个视图(例如,左眼视图)的第一纹理图像且使用深度数据来修改第一纹理图像,以通过将第一图像的像素值偏移基于深度值所确定的水平视差值而产生针对另一视图(例如,右眼视图)的第二纹理图像。一般来说,水平视差(或简单地,“视差”)描述第一视图中的像素对第二视图中的对应像素的水平空间偏移),其中所述两个像素对应于如两个视图中所表示的同一物件的同一部分。
在再其它实例中,深度数据可针对在垂直于图像平面的z维度上的像素定义,使得与给定像素相关联的深度相对于针对图像所界定的零视差平面来定义。此深度可用以产生用于显示像素的水平视差以使得像素针对左眼和右眼不同地显示,此取决于像素相对于零视差平面的z维度深度值。零视差平面可针对视频序列的不同的部分改变,且深度相对于零视差平面的量也可改变。位于零视差平面上的像素可针对左眼和右眼类似地定义。位于零视差平面前方的像素可针对左眼和右眼在不同的位置显示(例如,具有水平视差),以便产生像素表现为出从垂直于图像平面的z方向上的图像的感觉。位于零视差平面后方的像素可在稍微模糊的情况下显示以呈现深度的轻微感觉,或可针对左眼和右眼在不同的位置显示(例如,具有与位于零视差平面前方的像素的水平视差相对的水平视差)。许多其它技术也可用以输送或定义针对图像的深度数据。
针对深度视图分量中的每一像素,在纹理视图分量中可存在一或多个对应的像素。举例来说,如果深度视图分量与纹理视图分量的空间分辨率相同,那么深度视图分量中的每一像素对应于纹理视图分量中的一个像素。如果深度视图分量的空间分辨率小于纹理视图分量的空间分辨率,那么深度视图分量中的每一像素对应于纹理视图分量中的多个像素。深度视图分量中的像素的值可指示纹理视图中的对应的一或多个像素的相对深度。
在一些实例中,视频编码器针对视图中的每一者传信针对纹理视图分量和对应的深度视图分量的视频数据。视频解码器利用纹理视图分量和深度视图分量的视频数据两者以解码视图的视频内容以供显示。显示器接着显示多视图视频以产生3D视频。
HEVC的可缩放扩展也可由JCT-VC开发。图4为说明可缩放视频译码的一个实例的概念图。尽管图4关于H.264/AVC和SVC描述,但应理解,类似的层可使用其它多层视频译码方案(包含HEVC的可缩放扩展)来译码。图4的实例展示使用同一编解码器所译码的层。在其它实例中,层可使用多标准编解码器来译码。举例来说,基础层可使用H.264/AVC来译码,而增强层可使用对HEVC的可缩放扩展来译码。因此,对下文SVC的参考一般可适用于可缩放视频译码,且不限于H.264/AVC的可缩放扩展。
在SVC中,可缩放性可在三个维度上实现,所述维度包含(例如)空间、时间和质量(表示为位速率或信噪比(SNR))维度。一般来说,更好的表示可通常通过添加到任何维度上的表示而达成。举例来说,在图4的实例中,层0在具有帧速率7.5Hz和位速率64千字节/秒(KBPS)的四分之一通用中间格式(QCIF)下译码。另外,层1在具有帧速率15Hz和位速率64KBPS的QCIF下译码,层2在具有帧速率15Hz和位速率256KBPS的CIF下译码,层3在具有帧速率7.5Hz和位速率512KBPS的QCIF下译码,且层4在具有帧速率30Hz和百万字节/秒(MBPS)的位速率的4CIF下译码。应理解,图4中所示的层的特定数目、内容和布置仅为实例的目的而提供。
在任何状况下,一旦视频编码器(例如,视频编码器20)已以此可缩放方式编码内容,那么视频解码器(例如,视频解码器30)可使用提取器工具来根据应用要求调适实际递送内容,此可取决于(例如)客户端或发射信道。
在SVC中,具有最低空间和质量层的图片通常与H.264/AVC兼容。在图4的实例中,具有最低空间和质量层的图片(例如,在层0和层1中的图片,具有QCIF分辨率)可与H.264/AVC兼容。在其当中,最低时间层级的那些图片形成时间基础层(例如,层0)。此时间基础层(例如,层0)可通过较高时间层级(例如,层1)的图片来增强。
除了H.264/AVC兼容层之外,若干空间和/或质量增强层也可经添加以提供空间和/或质量可缩放性。每一空间或质量增强层自身可为时间可缩放的,其中同一时间可缩放性结构作为H.264/AVC兼容层。
如上文所述,术语“层”在本发明中一般用以指在可缩放视频译码的意义上的个别基础层或个别增强层,或在3D和多视图视频译码的意义上的纹理视图和/或深度视图。一旦针对层(例如,MV-HEVC层或SHVC层)中的每一者的图片(例如)由视频解码器30或视频编码器20的重构建回路解码,那么针对经解码层的图片存储于DPB中。DPB为用以存储图片(和在本发明内,在使用多层视频译码技术时经解码层的图片)的缓冲器或存储器。经解码层的存储于DPB中的图片可用作用于帧间预测(包含运动补偿、视图间和层间预测)、用于输出重排序和输出延迟的参考。
根据本发明的各种实例,DPB可分割为子单元(例如,被称作子DPB)。针对特定层类型,每一子DPB可接着经配置以存储(多个)图片,或更一般来说,图片信息。举例来说,DPB可经分割,使得一个子DPB经配置以针对可缩放视频译码过程存储基础层的图片。另一子DPB可经配置以存储可缩放视频译码过程的第一增强层的图片。又一子DPB可经配置以存储可缩放视频译码过程的第二增强层的图片,等等。
根据本发明的各种实例,如下文将更详细地描述,(例如)在标记图片以用于从DPB去除、经解码图片从DPB的去除以及针对每一子DPB的大小的分配方面,视频编码器20也可经配置以彼此独立地管理每一子DPB。然而,(例如)基于与每一经解码图片相关联的相应输出时间和/或图片次序计数(POC)值,视频编码器20可连结来自不同的子DPB的经解码图片的输出。
视频编码器20和视频解码器30(和/或其一或多个组件)中的一者或两者可实施基于子DPB的操作的多个不同的模式。举例来说,在图片与每一子DPB相关联的方式方面,基于子DPB的操作的两个模式可不同。根据第一模式(本文中被称为“层特定模式”),操作点中的每一层可与单独子DPB相关联,且子DPB的数目可等于对应于操作点的层集合中的层的数目。根据第二模式(本文中被称为“分辨率特定模式”),共享同一分辨率、色度格式和位深度的所有图片共享同一子DPB。视频编码器20可相对容易地指定层特定模式。然而,当与分辨率特定模式相比时,层特定模式在DPB存储器使用方面可为较不有效率的。
图5为展示经配置以存储不同的子单元中的不同的经解码层组分(例如,针对不同的层类型的图片)的DPB900的概念图。DPB900可形成视频解码器和/或视频编码器(例如,视频编码器20和视频解码器30)的部分。子DPB910A到910D中的每一者表示针对不同类型的经解码层的图片的存储位置。举例来说,子DPB910A可经配置以存储针对MV-HEVC兼容视频位流的基础视图的一或多个纹理图片,而子DPB910B可用于存储针对MV-HEVC兼容视频位流的独立视图的纹理图片。类似地,子DPB910C可用于在可缩放视频译码过程(例如,SHVC)中存储基础层的图片,而子DPB910D可用于在可缩放视频译码过程中存储针对增强层的一个层级的图片。额外子DPB可经配置以存储增强层的额外层级的图片或额外纹理独立视图的图片。子DPB910A-D中的每一者含有经配置以存储针对与所述子DPB相关联的特定层类型的经解码层的一或多个图片的单独单元。应注意,通过MV-HEVC译码的视频数据和通过SHVC译码的视频数据未必同时解码。即,SHVC和MV-HEVC译码的视频数据并非通常处于同一经编码视频位流中,而是通常单独地译码。
视频解码器30可经进一步配置以从所述多个子DPB910A-D去除经解码层的图片。在一些实例中,图片从每一给定子DPB(例如,子DPB910A)的去除可单独地管理(即,图片可独立于其它图片从其它子DPB的去除而从一个子DPB去除)。在其它实例中,图片可基于操作点从一或多个子DPB去除。特定操作点与针对待输出的特定图片所解码的特定数目个层相关联。举例来说,针对SHVC,一个操作点可仅要求基础层的图片被解码。在针对SHVC的另一操作点中,基础层的图片和一或多个增强层的图片可经解码以产生输出图片。在要求基础层的图片和一或多个增强层的图片两者的操作点中,图片的去除可针对用于那个操作点的每一子DPB(即,存储针对用于待输出的图片的层的图片的每一子DPB)来执行。即,与给定操作点相关联的基础层的图片和一或多个增强层的对应图片可同时从其相应子DPB去除。
视频编码器20和视频解码器30可经进一步配置以将经解码层组件(例如,层的图片)标记为未用于参考或在所述多个子DPB910A-D中用于参考。又,用于将图片标记为未用于参考的过程可针对每一子DPB单独地执行。即,视频编码器20和视频解码器30可经配置以对所述多个子DPB中的每一者中的图片独立地执行标记过程,其中标记过程将图片标记为用于参考或将图片标记为未用于参考。在另一实例中,标记过程可针对存储针对与特定操作点相关的特定数目个层的图片的所有子DPB执行。
在HEVC和其它视频译码标准中,DPB900的操作常常关于假定参考解码器(HRD)指定。视频编码器20和视频解码器30可经配置以管理DPB900执行各种移动,包含将存储于DPB900中的经解码图片标记为“未用于参考”(即,不能够用作用于帧间预测过程的参考图片)、标记经解码图片以用于输出(例如,到显示装置32)和标记经解码图片以用于从DPB900去除(也称作“提升”)。在HEVC中,提升过程包含标记图片以用于输出和标记图片以用于去除两者。当图片不再需要作为用于帧间预测的参考图片且不再需要用于输出时,图片通常从DPB900去除(即,提升)。
位流的一致性是通过定义HRD的行为来指定。DPB900可被视为HRD的组件。如上文所述,DPB900可实施为一或多个存储器单元,所述一或多个存储器单元经配置以存储视频编码器(例如,视频编码器20)中的重构建图片或视频解码器(例如,视频解码器30)中的经解码图片。在针对SHVC和MV-HEVC的一些建议中,DPB操作并未清楚地指定,但简单的假设在于具有同一输出时间的所有图片在同一时刻到达DPB900(即,存储于DPB900中)。图片从DPB900的输出是基于HRD参数经定义的方式来确定。
举例来说,HRD参数可针对输出次序一致性得以定义。作为一个实例,经解码层图片的输出次序可由其值指定针对特定层存在的图片的数目的一或多个语法元素来指定。作为另一实例,针对输出时间一致性,输出时间可由其值指示图片输出时间的一或多个语法元素来指定。视频解码器30可经配置以从在经编码视频位流中所传信的参数的值得出HRD设置。HRD参数可在数据格式结构(例如,被称作hrd_parameters())中传信。实例参数可包含缓冲时段补充增强信息(SEI)消息和图片时序SEI消息。在一些实例中,解码单元(DU)信息SEI消息也可得以定义。在一些实例中,DPB900中的图片的输出发生,使得与同一输出时间相关联的所有图片在同一时刻输出。在本发明的实例中,不同的子DPB中的图片可在那些图片(即,不同的子DPB中的图片)中的每一者与同一输出时间相关联的状况下在同一时间输出。
在针对HEVC的一些实例建议中,与DPB操作相关的参数是在序列参数集合(SPS)和/或视频参数集合(VPS)中的一或多者中传信。SPS为含有语法元素的语法结构,所述语法元素适用于如由在图片参数集合(PPS)和/或片段标头中所找到的语法元素的值所指示的零个或零个以上整个经译码视频序列(CVS)。VPS为含有语法元素的语法结构,所述语法元素适用于如由在SPS、PPS和/或片段标头中所找到的语法元素的值所确定的零个或零个以上整个CVS。一般来说,在VPS中所传信的语法元素与在SPS中所传信的语法元素适用于的图片的数目相比将适用于更大数目个图片。如HEVC中所定义,CVS为存取单元的序列,所述序列以解码次序由含有与等于值0的nuh_layer_id和与等于值1的NoRaslOutputFlag相关联的帧内随机存取图片(IRAP)的存取单元(AU)继之以零个或零个以上其它AU组成,直到以解码次序的含有具有等于值0的nuh_layer_id和等于值1的NoRaslOutputFlag的IRAP图片之下一AU(即,达到但不包含下一AU)为止。存取单元为以解码次序接连的网络抽象层(NAL)单元的集合且含有各自具有同一输出时间的一或多个经译码图片。
与DPB操作相关的实例语法元素包含(但不限于)可各自在SPS中和/或在VPS中传信的max_dec_pic_buffering_minus1语法元素、max_num_reorder_pics语法元素和max_latency_increase_plus1语法元素。max_dec_pic_buffering_minus1语法元素、max_num_reorder_pics语法元素和max_latency_increase_plus1语法元素可统称为DPB参数和/或子DPB参数。
max_dec_pic_buffering_minus1语法元素的值针对图片缓冲器的单元中的CVS指定DPB或子DPB的最大允许大小。即,DPB或子DPB可分割为一或多个图片缓冲器,其中每一图片缓冲器存储图片(例如,与特定层相关联的图片)。在一些实例中,max_dec_pic_buffering_minus1的值限于从0到某一预定最大DPB和/或子DPB大小的范围。
max_num_reorder_pics语法元素的值指定可存储于DPB和/或子DPB中和可以解码次序先于CVS中的任何图片且以输出次序跟随那个同一图片的图片的最大允许数目。max_latency_increase_plus1语法元素的值在不等于零时(即,基于为不同于零的值的max_latency_increase_plus1语法元素的值)为潜伏时间的指示,所述潜伏时间用以确定可存储于DPB和/或子DPB中的可以输出次序先于CVS中的任何图片且以解码次序跟随那个同一图片的图片的最大数目。如果DPB和/或子DPB中的图片的数目超过通过max_num_reorder_pics语法元素的值或从max_latency_increase_plus1语法元素的值所确定的值所指示的图片的最大数目,那么一或多个图片必须从DPB和/或子DPB去除。
在一个实例中,视频编码器20可经配置以(例如)在(即,基于)门控语法元素(例如,sub_layer_ordering_info_present_flag)的值等于1的情况下针对每一子层产生且传信前述DPB参数和/或子DPB参数。如上文所述,子层为时间可缩放位流的时间可缩放层。根据此实例,当子层传信未经允许时,仅一个值是针对语法元素中的每一者传信,且这些子DPB参数语法元素(即,max_dec_pic_buffering_minus1语法元素、max_num_reorder_pics语法元素和max_latency_increase_plus1语法元素)中的每一者的经传信值针对所有时间子层推断(即,在未接收明确传信的情况下确定)为相同的。另外,当子层传信被允许(例如,语法元素sub_layer_ordering_info_present_flag的值等于0)时,子DPB参数语法元素的值针对每一子层明确地传信。SPS中的子DPB参数的传信在下文的表2中以斜体强调。类似传信可在VPS中使用。
表2-SPS中的DPB参数
在HEVC的基础版本(有时称作HEVC1)中,仅单一层存在(例如,如由具有等于0的值的语法元素nuh_layer_id所指示),且因此,经解码的层集合与经输出的层集合是相同的。在多层视频译码(例如,SHVC或MV-HEVC)的情况下,层集合与输出层集合的数目未必相同,这是由于总数目个层集合可能并非针对每一操作点全部输出。即,SHVC操作点常常包含基础层和一或多个增强层的解码。类似地,MV-HEVC操作点常常包含两个或两个以上视图的解码。然而,并非所有层或视图可用以输出给定图片。
现将论述用于图片从DPB的去除的技术。用于HEVC的实例技术涉及指定图片从DPB的去除的两种方式。其包含基于图片的DPB去除过程和基于AU的DPB去除过程。在基于图片的DPB去除过程中,一个AU中的图片可在不同的时间个别地去除。在基于AU的DPB去除操作中,AU中的所有图片同时得以去除。针对用于SHVC和MV-HEVC的DPB去除操作的当前建议并未清楚地指定图片将被去除的方式。
针对传信DPB参数的先前建议可为次最优的,所述参数包含用于子DPB操作的参数(即,子DPB参数),例如在拉马萨布拉马尼(Ramasubramonian)等人的“MV-HEVC/SHVCHLS:关于DPB操作(MV-HEVC/SHVCHLS:OnDPBOperations)”,ITU-TSG16WP3与ISO/IECJTC1/SC29/WG11的关于3D视频译码扩展的联合合作团队,第5次会议:奥地利维也纳,2013年7月27日到8月2日(下文中,JCTVC-N0093_v4)中所提出的参数。作为实例,根据JCTVC-N0093_v4中用于基于子DPB的操作的传信方案,与DPB和子DPB相关的三个参数(即,上文所述的max_dec_pic_buffering_minus1语法元素、max_num_reorder_pics语法元素和max_latency_increase_plus1语法元素)针对每一输出层集合、输出层集合中的每一层和针对每一层内的每一时间子层来传信。此传信方案可为次最优的。
明确地说,传信指示重排序图片的最大数目和针对每一输出层集合中的每一层的最大潜伏时间的语法元素可为冗余的,从而可能引起计算资源(例如,处理器资源、存储容量等)和/或网络频宽的浪费。举例来说,存取单元(AU)中的输出层集合的一或多个图片的输出可为同时的。此外,在第一AU中的所有图片被输出之前从第二AU输出图片可为不允许的。因此,针对输出层集合中的每一层传信子DPB参数可为冗余的,这是由于针对子DPB参数的不同的值可能并非可能的。同样,针对输出层集合中的每一层发送重排序和/或潜伏时间信息可为冗余的。
为了减轻或消除通过经传信数据的此冗余所引起的低效率和其它可能问题,视频编码器20和/或视频解码器30可实施本文所述的技术中的一或多者。在本发明的一或多个实例中,视频编码器20可经配置以针对对应于操作点的每一输出层集合传信子DPB参数的一个集合。针对每一输出层集合所传信的子DPB参数的单集合接着通过视频解码器30针对每一输出层集合中的每一相应层使用。以此方式,传信效率增加,这是由于子DPB参数的冗余传信得以避免。另外,子DPB参数的值可跨越输出层集合的所有层来调和。
在本发明的一个实例中,针对每一操作点的输出层集合,视频编码器20可经配置以在VPS中产生和传信指示重排序图片的最大数目的语法元素的仅一个值(即,单一值)和指示最大潜伏时间的语法元素的仅一个值(即,单一值)。即,针对与特定VPS相关的每一操作点,视频编码器20产生一个最大数目重排序图片语法元素和一个最大潜伏时间语法元素。因此,每一VPS中的总数目重排序图片语法元素和最大潜伏时间语法元素取决于针对视频位流所定义的操作点的数目。同样,与对重排序图片语法元素和最大潜伏时间语法元素针对每一输出层集合、输出层集合中的每一层和针对每一层内的每一时间子层传信的HEVC的先前建议相比,重排序图片语法元素和最大潜伏时间语法元素的较少例项为单一的。
如下文将参考第一实例实施方案更详细地描述,指示重排序图片的最大数目的语法元素和指示最大潜伏时间的语法元素可在DPB大小表中传信且可在VPS中发射。在本发明的其它实例中,指示重排序图片的最大数目的语法元素和指示最大潜伏时间的语法元素可在包含PPS的其它数据结构中发射。
在指示重排序图片的最大数目的语法元素和指示最大潜伏时间的语法元素的接收后,视频解码器30即可针对特定操作点将指示重排序图片的最大数目和指示最大潜伏时间的语法元素的相应值施加到输出层集合。
在一个实例中,指示重排序图片的最大数目和指示最大潜伏时间的语法元素可对应于输出层的仅一个层。举例来说,语法元素可对应于具有最高层id(例如,如通过nuh_layer_id语法元素所指示)的层。在此实例中,视频编码器20可经配置以传信旗标来向视频解码器30指示重排序图片的最大数目的一个值和最大潜伏时间的一个值是否与在操作点中具有nuh_layer_id的最大值的层相关联。视频解码器30将经配置以将针对输出层集合的语法元素的值推断为与针对具有最高层id的层所接收的值相同。
在本发明的另一实例中,视频编码器20可传信id值(例如,使用nuh_layer_id语法元素)以向视频解码器30指示重排序图片的最大数目的一个值和最大潜伏时间的一个值所相关联的层。再次,视频解码器30将经配置以将针对输出层集合的语法元素的值推断为与针对具有最高层id的层所接收的值相同。
在本发明的另一实例中,针对每一操作点,视频编码器20可经配置以传信旗标来向视频解码器30指示子DPB参数(例如,指示重排序图片的最大数目的语法元素和/或指示最大潜伏时间的语法元素)是否仅针对在输出层集合中具有nuh_layer_id的最大值的层(即,最高层)传信,或子DPB参数是否针对输出层集合中的每一层传信。如果旗标的值指示(即,基于指示以下内容的旗标)子DPB参数仅针对最高层传信,那么视频解码器30可经配置以将针对输出层集合的子DPB参数的值推断为与针对最高层的子DPB参数相同的值。
在本发明的另一实例中,针对每一输出层集合,视频编码器20可传信旗标以向视频解码器30指定子DPB参数(例如,指示子DPB大小、重排序图片的最大数目和/或最大潜伏时间的语法元素)针对仅一个子层(例如,具有等于0的时间ID的子层)或是针对一个以上子层传信。举例来说,视频编码器20可产生旗标到第一值以指示子DPB参数信息针对仅一个子层传信。在此状况下,视频解码器30将接着将针对所有其它子层的子DPB参数的值推断为与针对所述一个子层(例如,具有等于0的时间ID的子层)实际传信的子DPB参数相同的值。
相反,视频编码器20可将旗标设定为第二值以指示子DPB参数可针对多个子层传信。在一个实例中,当旗标的值指示(即,基于指示以下内容的旗标)子DPB参数可针对多个子层传信时,视频编码器20可经配置以针对用于输出层集合的每一子层的子DPB参数产生语法元素。在另一实例中,如下文将参考表3和4更详细地解释,视频编码器20可经配置以产生第二旗标,所述第二旗标针对输出层集合的每一子层指示额外子DPB参数是否针对特定子层传信。当第二旗标指示额外子DPB参数待针对特定子层传信时,视频编码器20针对特定子层产生和传信额外子DPB参数。如果第二旗标指示无额外子DPB参数将针对特定子层传信,那么视频解码器30可经配置以从针对输出层集合的先前传信的子DPB参数(例如,从针对具有等于0的时间ID的子层的子DPB参数,或从针对先前子层的子DPB参数)推断针对特定子层的子DPB参数的值。在一些实例中,当第二旗标指示子DPB参数并未针对特定子层传信时,在那个特定子层之后的子层的子DPB参数也并未传信,且视频解码器30可经配置以从针对输出层集合的先前传信的子DPB参数推断针对那些后续子层的子DPB参数的值。
视频解码器30可经进一步配置以根据本发明的子DPB参数传信技术执行子DPB管理过程(例如,标记图片以用于输出、将图片标记为未用于参考、输出图片,和/或去除图片)。举例来说,视频解码器30可经配置以对存取单元层级而非对图片层级执行提升过程。这是因为,根据本发明的技术,子DPB参数适用于整个输出层集合而非仅层的子集。又,就此来说,检查针对特定层ID的子DPB参数的值的必要性得以去除,这是由于特定输出层集合的每一层共享相同的子DPB参数。根据本发明的技术的DPB管理过程的更多细节在下文参考第一实例实施方案来描述。
以下技术为用于传信子DPB参数的传信技术的额外实例。在一个实例中,针对每一操作点,视频编码器20可传信旗标以向视频解码器30指定子DPB参数是否经传信。替代地,在视频编码器20不传信旗标的例子中,视频解码器30可推断旗标的值。在另一实例中,针对每一操作点,视频编码器20可传信旗标以向视频解码器30指示:a)子DPB大小是否仅针对最高索引的子DPB和针对推断为等于具有最高索引的子DPB的大小的其它子DPB传信,或b)子DPB大小是否针对操作点中的每一子DPB传信。
以下章节关于HEVC译码技术描述本发明的技术的实例实施方案。所述实例实施方案将使用HEVC、SHVC、MV-HEVC和/或3D-HEVC规范的术语和定义来描述。下文并未明确地定义的任何术语的定义可在如上文所参考的HEVC、SHVC、MV-HEVC和/或3D-HEVC规范中找到。
在本文所述的技术的第一实例实施方案中,用于传信DPB和子DPB参数的技术得以描述。与第一实例实施方案相关联的实例语法元素展示于下文的表3和4中。与本发明的技术相关的语法元素经由在表3和表4中区分。对先前HEVC贡献的删除是通过来展示。表1和2的加下划线部分是针对由实例实施方案#1对现有语法所引入的改变。
表3-视频参数集合扩展语法
如表3中所示,视频编码器20可经配置以传信VPS扩展语法中的DPB大小表(dpb_size_table())。DPB大小表可包含DPB和子DPB相关参数,包含具有指示子DPB大小、重排序图片的最大数目和/或最大潜伏时间的值的语法元素(子DPB参数)。
表4-DPB大小表语法
如表4中所示,视频编码器20经配置以传信DPB大小表,所述表包含值指定子DPB大小(max_vps_dec_pic_buffering_minus1[i][k][j])、重排序图片的最大数目(max_vps_num_reorder_pics[i][j])和最大子DPB潜伏时间(max_vps_latency_increase_plus1[i][j])的语法元素。for循环“for(i=1;i<NumOutputLayerSets;i++)”指定子DPB大小、重排序图片的最大数目和最大子DPB潜伏时间针对每一输出层集合i(即,针对每一操作点)传信达到最大数目个输出层集合(NumOutputLayerSets)。因此,视频解码器30经配置以针对操作点的输出层集合中的每一层施加所接收的最大子DPB大小、最大数目个重排序图片和最大子DPB潜伏时间。
此外,如表4中所示,视频编码器20也可经配置以产生和传信旗标(sub_layer_flag_info_present_flag[i]),所述旗标指示指示最大子DPB大小、重排序图片的最大数目和最大子DPB潜伏时间的所传信值针对每一层的仅一个子层或是针对层的一个以上子层传信。举例来说,如果sub_layer_flag_info_present_flag[i]的值为1,那么指示最大子DPB大小、重排序图片的最大数目和最大子DPB潜伏时间的语法元素的值将用于每一子层。然而,如果sub_layer_flag_info_present_flag[i]的值为0,那么值指示最大子DPB大小、重排序图片的最大数目和最大子DPB潜伏时间的单独的语法元素可针对一个以上子层传信。在此实例中,基于相应语法元素的值,视频解码器30可经配置以针对两个或两个以上不同的子层使用用于最大子DPB大小、重排序图片的最大数目和最大子DPB潜伏时间的不同的值。
在sub_layer_flag_info_present_flag[i]的值为1(指示子DPB参数将针对一个以上子层传信)的状况下,视频编码器20可经进一步配置以针对每一子DPB中的每一子层传信额外语法元素(sub_layer_dpb_info_present_flag[i][j]),所述语法元素指示子DPB参数是否将针对特定子层传信。
在表4的实例中,if语句(“if(j>0&&sub_layer_flag_info_present_flag[i]&&sub_layer_dpb_info_present_flag[i][j-1]))要求视频编码器20仅在sub_layer_flag_info_present_flag[i]的值为1且前一子层的值sub_layer_dpb_info_present_flag(sub_layer_dpb_info_present_flag[i][j-1])具有值1的情况下针对特定子层传信sub_layer_dpb_info_present_flag[i][j]。即,如果子DPB参数并未针对前一子层传信,那么视频编码器20并不传信sub_layer_dpb_info_present_flag或任何子DPB参数。
在本发明的一个实例中,针对前一子层检查sub_layer_dpb_info_present_flag的值的要求被去除。实情为,sub_layer_dpb_info_present_flag可针对每一子层传信,而不管sub_layer_dpb_info_present_flag的任何先前值。
与上文的表4的语法元素相关联的语义描述如下。如本文所使用,NumSubDpbs[i]可表示针对第i个输出层集合所要求的子DPB的数目。
语法元素sub_layer_flag_info_present_flag[i]的值等于1指示sub_layer_dpb_info_present_flag[i][j]针对第i个输出层集合中的所有子层存在。子层的最大数目是由语法元素vps_max_sub_layers_minus1的值来指示。换句话说,当视频编码器20产生具有值1的sub_layer_flag_info_present_flag[i]时,视频解码器30确定额外旗标(即,sub_layer_dpb_info_present_flag[i][j])将针对第i个输出层集合的所有子层传信。
相反,如果视频编码器20产生具有等于0的值的sub_layer_flag_info_present_flag[i]语法元素,那么视频解码器30可确定sub_layer_flag_info_present_flag[i]语法元素指定,针对大于0的j的每一值,sub_layer_dpb_info_present_flag[i][j]不存在,且视频解码器30可将所述值推断为等于0。同样,视频编码器20将针对每一子层使用子DPB参数(即,max_vps_dec_pic_buffering_minus1[i][k][j]、max_vps_num_reorder_pics[i][j]和max_vps_latency_increase_plus1[i][j])的最初传信值。
如上文所述,如果视频编码器20产生具有值1的sub_layer_flag_info_present_flag[i],那么视频编码器20也针对输出层集合的每一子层产生sub_layer_dpb_info_present_flag[i][j]。如果sub_layer_dpb_info_present_flag[i][j]语法元素的值等于1,那么视频解码器30可针对在0到最大数目个子DPB(NumSubDpbs[i]-1)的范围内(包含性的)的每一子DPBk的子层j进一步接收子DPB大小(max_vps_dec_pic_buffering_minus1[i][k][j])。视频解码器30经配置以也接收指示针对子层j的最大潜伏时间(max_vps_latency_increase_plus1[i][j])和重排序图片的最大数目(max_vps_num_reorder_pics[i][j])的语法元素。
另一方面,如果视频解码器30确定sub_layer_dpb_info_present_flag[i][j]语法元素的值等于0,那么视频解码器30可确定sub_layer_dpb_info_present_flag[i][j]语法元素指定max_vps_dec_pic_buffering_minus1[i][k][j]的值针对在0到(NumSubDpbs[i]-1)的范围内(包含性的)的k等于max_vps_dec_pic_buffering_minus1[i][k][j-1](即,等于针对输出层集合中之前一子层的DPB大小语法元素的值)。又,视频解码器30可进一步确定针对子层j的最大数目重排序图片语法元素(max_vps_num_reorder_pics[i][j])和最大潜伏时间语法元素(max_vps_latency_increase_plus1[i][j])的值设定为等于针对输出层集合中之前一子层的那些语法元素(即,分别为max_vps_num_reorder_pics[i][j-1]和max_vps_latency_increase_plus1[i][j-1])的值。另外,视频解码器30可将针对i的任何可能值的sub_layer_dpb_info_present_flag[i][0]语法元素的值推断为等于1。即,视频解码器30可经配置以针对输出层集合的第0个(即,第一)子层的sub_layer_dpb_info_present_flag推断值1。另外,视频解码器30可针对在j+1到vps_max_sub_layers_minus1的范围内(包含性的)的k将sub_layer_dpb_info_present_flag[i][k]语法元素的值推断为等于0。
语法元素max_vps_dec_pic_buffering_minus1[i][k][j]加1在HighestTid等于j时以图片存储缓冲器为单位针对第i个输出层集合中的CVS指定第k个子DPB的最大所要求大小。当j大于0时,视频解码器30可确定max_vps_dec_pic_buffering_minus1[i][k][j]大于或等于max_vps_dec_pic_buffering_minus1[i][k][j-1]的值。当max_vps_dec_pic_buffering_minus1[i][k][j]针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在时,视频解码器30可将max_vps_dec_pic_buffering_minus1[i][k][j]的值推断为等于max_vps_dec_pic_buffering_minus1[i][k][j-1]的值。
语法元素max_vps_num_reorder_pics[i][j]指示重排序图片的最大数目。即,当HighestTid等于j时,可以解码次序在CVS中的第i个输出层集合中先于任何 且以输出次序跟随 的最大允许数目。当max_vps_num_reorder_pics[i][j]归因于sub_layer_dpb_info_present_flag[i][j]等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在时,视频解码器30可将max_vps_num_reorder_pics[i][j]语法元素的值推断为等于max_vps_num_reorder_pics[i][j-1]的值。
语法元素max_vps_latency_increase_plus1[i][j]的值指示最大潜伏时间。不等于0的语法元素max_vps_latency_increase_plus1[i][j]用以计算VpsMaxLatencyPictures[i][k][j]语法元素的值,其值指定在HighestTid等于j时可以输出次序在CVS中先于任何 且以解码次序跟随 的在第i个输出层集合中的 的最大数目。在max_vps_latency_increase_plus1[i][j]归因于sub_layer_dpb_info_present_flag[i][j]等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在的例子中,视频解码器30可将max_vps_latency_increase_plus1[i][j]的值推断为等于max_vps_latency_increase_plus1[i][j-1]。
当max_vps_latency_increase_plus1[i][j]不等于0时,视频编码器20可指定VpsMaxLatencyPictures[i][k][j]的值如下:
VpsMaxLatencyPictures[i][j]=max_vps_num_reorder_pics[i][j]+max_vps_latency_increase_plus1[i][j]-1
即,潜伏时间图片的最大数目等于重排序图片的最大数目加最大潜伏时间语法元素的值。
当max_vps_latency_increase_plus1[i][j]等于0时,无对应限制得以表达。max_vps_latency_increase_plus1[i][j]的值应在0到[(2^32)-2]的范围内(包含性的)。
以下内容展示相对于HEVC子条款F.13.5.2.2对图片输出和去除过程的改变,以便实施本发明的实例技术。又,添加物是通过展示,且删除物是通过展示。
在当前图片由视频解码器30解码之前(但在剖析当前图片的第一片段的片段标头之后)图片从DPB的输出和去除在当前图片的第一解码单元从CPB去除时即刻地发生且进行如下:如在子条款F.8.3.2中所指定的用于RPS的解码过程得以调用。
-如果当前图片为具有等于1的NoRaslOutputFlag且具有等于0的nuh_layer_id的并非图片0的IRAP图片,那么视频解码器30可应用以下有序步骤:
1.视频解码器30可在测试下得出用于所述解码器的变量NoOutputOfPriorPicsFlag如下:
-如果当前图片为CRA图片,那么视频解码器30可将NoOutputOfPriorPicsFlag设定为等于1(不管no_output_of_prior_pics_flag的值)。
-另外,如果得自作用中SPS的pic_width_in_luma_samples、pic_height_in_luma_samples或sps_max_dec_pic_buffering_minus1[HighestTid]的值分别不同于得自针对以解码次序具有与当前图片相同的nuh_layer_id值的先前图片为作用中的SPS的pic_width_in_luma_samples、pic_height_in_luma_samples或sps_max_dec_pic_buffering_minus1[HighestTid]的值,那么视频解码器30可在测试下将NoOutputOfPriorPicsFlag设定为1,而不管no_output_of_prior_pics_flag的值。然而,在优选实例中,视频解码器30在在此项目符号中所指定的条件下于测试下可能不将NoOutputOfPriorPicsFlag设定为1。注意-尽管将NoOutputOfPriorPicsFlag设定为等于no_output_of_prior_pics_flag在这些条件下可为优选的,但视频解码器30在测试下被允许在这些条件下将NoOutputOfPriorPicsFlag设定为1。
-另外,视频解码器30可将NoOutputOfPriorPicsFlag设定为等于no_output_of_prior_pics_flag。
2.视频解码器30可应用在针对HRD所应用的测试下得出的NoOutputOfPriorPicsFlag的值如下:
-如果NoOutputOfPriorPicsFlag等于1,那么视频解码器30可清空DPB中的所有子DPB中的所有图片存储缓冲器(在无含于清空的图片存储缓冲器中的图片的输出的情况下),且视频解码器30可针对所有子DPB将子DPB充满度设定为等于0。
-否则(即,NoOutputOfPriorPicsFlag等于0),视频解码器30可清空含有标记为“无需用于输出”和“未用于参考”的图片(未输出)的所有图片存储缓冲器,且视频解码器30可通过重复地调用在子条款F.13.5.2.4中所指定的“提升”过程而清空所有非空图片存储缓冲器,且视频解码器30可将DPB充满度设定为等于0。
-另外(例如,如果当前图片并非具有等于1的NoRaslOutputFlag或具有不等于0的nuh_layer_id的IRAP图片),视频解码器30可清空含有标记为“无需用于输出”和“未用于参考”的图片(未输出)的所有图片存储缓冲器。针对经清空的每一图片存储缓冲器,视频解码器30可使与那个图片存储缓冲器相关联的子DPB的子DPB充满度递减1。变量currLayerId设定为等于当前解码图片的nuh_layer_id,变量currSubDpbId设定为等于与当前解码图片相关联的子DPB的索引,且当以下条件中的一或多者成立时,在子条款F.13.5.2.4中所指定的“提升”过程经重复地调用同时针对经清空的每一额外图片存储缓冲器进一步使DPB充满度递减1,直到以下条件中无一者成立为止:
-标记为“需要用于输出”的 的数目大于来自作用中SPS的sps_max_num_reorder_pics[HighestTid] 或针对currLayerId的值来自作用层VPS的max_vps_num_reorder_pics[TargetOutputLayerId][HighestTid]
-作用中SPS的sps_max_latency_increase_plus1[HighestTid] 或作用中VPS的VpsMaxLatencyPictures[TargetOutputLayerId][HighestTid] 不等于0且在DPB中存在至少一个 ,针对其,相关联的变量PicLatencyCount[currLayerId]大于或等于得自作用中SPS的SpsMaxLatencyPictures[HighestTid] 或针对currLayerId的值来自作用中VPS的VpsMaxLatencyPictures[TargetOutputLayerId][HighestTid]
-在相关联的子DPB中的具有等于currLayerId的nuh_layer_id的图片的数目大于或等于来自作用中SPS的sps_max_dec_pic_buffering_minus1[HighestTid]+ 或max_vps_dec_pic_buffering_minus1[TargetOutputLayerId][currSubDpbId][HighestTid]+1
如上文在经标记的添加物和删除物中所示,图片输出和去除过程(也称作“提升”)经更新以反映本发明的子DPB参数传信技术。一个改变在于用于继续提升过程的条件是基于存取单元而非图片。这是因为,根据本发明的技术,子DPB参数适用于输出层。又,就此来说,检查针对特定层ID(例如,LayerIdxInVps和currLayerId)的子DPB参数的值的必要性得以去除,这是由于特定输出层集合的每一层共享那些相同的子DPB参数。
以下内容展示相对于HEVC子条款C.1.1.1.1对图片解码、标记、额外提升和存储过程的改变,以便实施本发明的实例技术。又,添加物是通过展示,且删除物是通过展示。
在此子条款中所指定的过程在视频编码器20和/或视频解码器30从CPB去除含有当前图片的存取单元n的最后解码单元时即刻地发生。视频编码器20和/或视频解码器30可将变量currLayerId设定为等于当前解码图片的nuh_layer_id,且可将currSubDpbId设定为等于与当前图片所关联的层相关联的子DPB的索引。由本发明的技术对所指定的图片解码、标记、额外提升和存储过程所引入的改变在下文使用加下划线和加删除线文字表示。
另外,视频解码器30可将当前解码图片标记为“用于短期参考”。
当以下条件中的一或多者成立时,视频解码器30可重复地/反复地调用在子条款F.13.5.2.4中所指定的“提升”过程,指示以下条件中无一者成立为止:
-标记为“需要用于输出”的大于来自作用中SPS的sps_max_num_reorder_pics[HighestTid] 或针对currLayerId的值来自作用中VPS的max_vps_num_reorder_pics[TargetOutputLayerId][HighestTid]
-sps_max_latency_increase_plus1[HighestTid]不等于0 或作用中VPS的VpsMaxLatencyPictures[TargetOutputLayerId][HighestTid] 不等于0且存在至少 ,针对其,相关联的变量PicLatencyCount大于或等于得自作用中SPS的SpsMaxLatencyPictures[HighestTid] 或针对currLayerId的值来自作用中VPS的VpsMaxLatencyPictures[TargetOutputLayerId][HighestTid]
如上文在经标记的添加物和删除物中所示,图片输出和去除过程(也称作“提升”)经更新以反映本发明的子DPB参数传信技术。一个改变在于,用于继续提升过程的条件是基于存取单元而非图片。这是因为,根据本发明的技术,子DPB参数适用于整个输出层集合而非仅层的子集。
以下内容为第二实例实施方案相对于上文所述的第一实例实施方案的描述。与第一实例实施方案对比,根据第二实例实施方案,视频编码器20可传信层ID,所述层ID指定max_vps_num_reorder_pics[i][j]和max_vps_latency_increase_plus1[i][j]的值所关联的层。由第二实例实施所引入的对语法和语义的改变在下文中使用和 格式化(如上文所示)来区分。根据第二实例实施,其它语法元素的语法和语义(即,由未加下划线也未加删除线的文字所表示)保持相同。
表5-DPB大小表语法
上文的表5描述通过第二实例实施方案所引入的相对于第一实例实施方案的语法改变。如通过第二实例实施方案所引入的对语义的改变在下文中得以描述。
视频解码器30可确定reorder_info_layer_id[i][j]语法元素指定max_vps_num_reorder_pics[i][j]和max_vps_latency_increase_plus1[i][j]的值所适用于的属于第i个输出层集合的层的nuh_layer_id值。在reorder_info_layer_id[i][j]语法元素不存在的例子中,视频解码器30可将reorder_info_layer_id[i][j]的值推断为等于0。替代地,在一些实例中,当reorder_info_layer_id[i][j]不存在时,视频解码器30可将reorder_info_layer_id[i][j]的值推断为等于第i个输出层集合中的最高层的nuh_layer_id。替代地,在一些实例中,视频编码器20可传信向视频解码器30指定reorder_info_layer_id[i][j]语法元素是否经传信的旗标。
视频解码器30可确定max_vps_num_reorder_pics[i][j]语法元素指示可以解码次序先于CVS中的第i个输出层集合中具有等于reorder_info_layer_id[i][j]的nuh_layer_id的任何图片且以输出次序跟随具有等于reorder_info_layer_id[i][j]的nuh_layer_id的那个图片(且在HighestTid等于j时)的具有等于reorder_info_layer_id[i] [j]的nuh_layer_id的图片的最大允许数目。当max_vps_num_reorder_pics[i][j]归因于sub_layer_dpb_info_present_flag[i][j]等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在时,视频解码器30可将max_vps_num_reorder_pics[i][j]语法元素的值推断为等于max_vps_num_reorder_pics[i][j-1]。
在max_vps_latency_increase_plus1[i][j]的值不等于0的例子中,视频解码器30可使用max_vps_latency_increase_plus1[i][j]语法元素的值来计算VpsMaxLatencyPictures[i][k][j]的值。VpsMaxLatencyPictures[i][k][j]语法元素的值又可指定可以输出次序先于CVS中具有等于reorder_info_layer_id[i][j]的nuh_layer_id的任何图片且以解码次序跟随具有等于reorder_info_layer_id[i][j]的nuh_layer_id的那个图片(当HighestTid等于j时)的在第i个输出层集合中具有等于reorder_info_ layer_id[i][j]的nuh_layer_id的图片的最大数目。在max_vps_latency_increase_plus1[i][j]归因于sub_layer_dpb_info_present_flag[i][j]的值等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在的实例中,视频解码器30可将max_vps_latency_increase_plus1[i][j]的值推断为等于max_vps_latency_increase_plus1[i][j-1]。
在max_vps_latency_increase_plus1[i][j]不等于0的例子中,VpsMaxLatencyPictures[i][k][j]的值通过公式指定如下:
VpsMaxLatencyPictures[i][j]=max_vps_num_reorder_pics[i][j]+max_vps_latency_increase_plus1[i][j]-1
相反地,在max_vps_latency_increase_plus1[i][j]等于0的实例中,无对应限制得以表达。在这些实例中,视频编码器20和/或视频解码器30可确定max_vps_latency_increase_plus1[i][j]的值在0到(2^32-2)的范围内(包含性的)。
以下内容相对于第一实例实施方案描述第三实例实施方案。然而,与第一实例实施方案对比,根据第三实例实施方案,视频编码器20可传信旗标以指定重排序图片的最大数目和最大潜伏时间是否针对输出层集合中的每一层传信。举例来说,根据第三实例实施方案,视频编码器20可将旗标设定为第一值以指示重排序图片的最大数目和最大潜伏时间针对输出层集合中的每一层传信,和设定为第二值以指示重排序图片的最大数目和最大潜伏时间并不针对输出层集合中的每一层传信。与通过第一实例实施方案所提供的语法相比,通过第三实例实施方案所引入的改变在下文的表6中通过来区分。
表6-DPB大小表语法
与第一实例实施方案相比,由第三实例实施方案关于表6的DPB大小表所引入的新的语义在下文中得以描述。并未在下文中关于第三实例实施方案描述的任何语义保持为与第一实例实施方案中相同。
在视频编码器20将sub_layer_flag_info_present_flag[i]设定为等于1的实例中,sub_layer_flag_info_present_flag[i]指定sub_layer_dpb_info_present_flag[i][j]针对vps_max_sub_layers_minus1子层而存在。相反,在视频编码器20将sub_layer_flag_info_present_flag[i]设定为等于0的实例中,sub_layer_flag_info_present_flag[i]指定,针对大于0的j的每一值,sub_layer_dpb_info_present_flag[i][j]不存在。在视频编码器20将sub_layer_flag_info_present_flag[i]设定为0的一些实例中,视频解码器30可将sub_layer_dpb_info_present_flag[i][j]的值推断为等于0。
在视频编码器将sub_layer_dpb_info_present_flag[i][j]设定为等于1的实例中,sub_layer_dpb_info_present_flag[i][j]向视频解码器30指定max_vps_dec_pic_buffering_minus1[i][k][j](针对在0到(NumSubDpbs[i]-1)的范围内(包含性的)的k)和reorder_info_only_highest_layer_flag[i][j]针对第j个子层存在。另一方面,在视频编码器20将sub_layer_dpb_info_present_flag[i][j]设定为等于0的实例中,sub_layer_dpb_info_present_flag[i][j]向视频解码器30指定max_vps_dec_pic_buffering_minus1[i][k][j]的值等于max_vps_dec_pic_buffering_minus1[i][k][j-1](针对在0到(NumSubDpbs[i]-1)的范围内(包含性的)的k),且max_vps_num_reorder_pics[i][k][j]和max_vps_latency_increase_plus1[i][k][j]的值设定为分别等于max_vps_num_reorder_pics[i][k][j-1]和max_vps_latency_increase_plus1[i][k][j-1](针对在0到(NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1)的范围内(包含性的)的k)。视频解码器30可将针对i的任何可能值的sub_layer_dpb_info_present_flag[i][0]的值推断为等于1。
max_vps_dec_pic_buffering_minus1[i][k][j]的值加1在HighestTid等于j时以图片存储缓冲器为单位针对第i个输出层集合中的CVS指定第k个子DPB的最大所要求大小。当j大于0时,max_vps_dec_pic_buffering_minus1[i][k][j]应大于或等于max_vps_dec_pic_buffering_minus1[i][k][j-1]。当max_vps_dec_pic_buffering_minus1[i][k][j]针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在时,视频解码器30可将max_vps_dec_pic_buffering_minus1[i][k][j]推断为等于max_vps_dec_pic_buffering_minus1[i][k][j-1]。
在reorder_info_only_highest_layer_flag[i][j]等于1的实例中,reorder_info_only_highest_layer_flag[i][j]向视频解码器30指示语法元素max_vps_num_reorder_pics[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j]和max_vps_latency_increase_plus1[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j]存在,且max_vps_num_reorder_pics[i][k][j]和max_vps_latency_increase_plus1[i][k][j](针对在0到(NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-2)的范围内(包含性的)的k)推断(例如,通过视频解码器30)为分别等于max_vps_num_reorder_pics[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j]和max_vps_latency_increase_plus1[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j]。另一方面,在reorder_info_only_highest_layer_flag[i][j]等于0的实例中,reorder_info_only_highest_layer_flag[i][j]向视频解码器30指示语法元素max_vps_num_reorder_pics[i][k][j]和max_vps_latency_increase_plus1[i][k][j]针对在0到(NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1)的范围内(包含性的)的k而传信(例如,通过视频编码器20)。
max_vps_num_reorder_pics[i][k][j]语法元素指示(例如,向视频解码器30)可以解码次序先于CVS中的第i个输出层集合中具有等于layer_id_in_nuh[k]的nuh_layer_id的任何图片且以输出次序跟随具有等于layer_id_in_nuh[k]的nuh_layer_id的那个图片(且在HighestTid等于j时)的具有等于layer_id_in_nuh[k]的nuh_layer_id的图片的最大允许数目。当max_vps_num_reorder_pics[i][k][j]归因于sub_layer_dpb_info_present_flag[i][j]等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在时,其推断(例如,通过视频解码器30)为等于max_vps_num_reorder_pics[i][k][j-1]。相反,在max_vps_num_reorder_pics[i][k][j]归因于sub_layer_dpb_info_present_flag[i][j]等于1和reorder_info_only_highest_layer_flag[i][j]等于0而针对在0到(NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-2)的范围内(包含性的)的k不存在的实例中,视频解码器30可将max_vps_num_reorder_pics[i][k][j]推断为等于max_vps_num_reorder_pics[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j-1]。
在max_vps_latency_increase_plus1[i][k][j]不等于0的实例中,视频解码器30可使用max_vps_latency_increase_plus1[i][k][j]来计算VpsMaxLatencyPictures[i][k][j]的值,其指定可以输出次序先于CVS中具有等于layer_id_in_nuh[k]的nuh_layer_id的任何图片且以解码次序跟随具有等于layer_id_in_nuh[k]的nuh_layer_id的那个图片(当HighestTid等于j时)的在第i个输出层集合中具有等于layer_id_in_nuh[k]的nuh_layer_id的图片的最大数目。在max_vps_latency_increase_plus1[i][k][j]归因于sub_layer_dpb_info_present_flag[i][j]等于0而针对在1到(vps_max_sub_layers_minus1-1)的范围内(包含性的)的j不存在的实例中,视频解码器30可将max_vps_latency_increase_plus1[i][k][j]推断为等于max_vps_latency_increase_plus1[i][k][j-1]。在max_vps_latency_increase_plus1[i][k][j]归因于sub_layer_dpb_info_present_flag[i][j]等于1和reorder_info_only_highest_layer_flag[i][j]等于0而针对在0到(NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-2)的范围内(包含性的)的k不存在的实例中,视频解码器30可将max_vps_latency_increase_plus1[i][k][j]推断为等于max_vps_latency_increase_plus1[i][NumLayersInIdList[output_layer_set_idx_minus1[i]+1]-1][j]。
在max_vps_latency_increase_plus1[i][k][j]不等于0的例子中,VpsMaxLatencyPictures[i][k][j]的值通过公式指定如下:
VpsMaxLatencyPictures[i][k][j]=max_vps_num_reorder_pics[i][k][j]+max_vps_latency_increase_plus1[i][k][j]-1
在max_vps_latency_increase_plus1[i][k][j]等于0的例子中,无对应限制得以表达。在这些实例中,max_vps_latency_increase_plus1[i][k][j]的值应在0到(2^32-2)的范围内(包含性的)。
图6为说明可实施本发明中所述的用于子DPB参数传信的技术的实例视频编码器20的框图。视频编码器20可经配置以根据任何视频编码技术编码视频数据,所述技术包含HEVC和H.264/AVC,以及这些标准的可缩放多视图和3D扩展。图6的实例将参考HEVC来解释。就此来说,图6中所示的视频编码回路可应用于可缩放视频编码过程的每一层(即,基础层和增强层)、多视图视频译码过程的每一视图,或3D视频译码过程的纹理和深度视图两者。
视频编码器20可执行视频片段内的视频块的帧内和帧间译码。帧内译码依赖于空间预测以减小或去除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减小或去除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。另外,视频编码器20可在不同的视图或层之间执行视图间预测和/或层间预测,如上文所述。
在图6的实例中,视频编码器20包含视频数据存储器40、预测处理单元41、DPB64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包含运动和视差估计单元42、运动和视差补偿单元44和帧内预测处理单元46。针对视频块重构建,视频编码器20也包含逆量化单元58、逆变换处理单元60和求和器62。解块滤波器(图6中未展示)也可得以包含以对块边界进行滤波来自经重构建视频去除方块效应伪影。如果需要,那么解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器之外,额外回路滤波器(回路内或回路后)也可得以使用。
视频数据存储器40可存储待由视频编码器20的组件编码的视频数据。存储于视频数据存储器40中的视频数据可(例如)从视频源18获得。DPB64为存储参考视频数据以供在由视频编码器20编码视频数据时使用(例如,在帧内或帧间译码模式中,也被称为帧内或帧间预测译码模式)的解码图片缓冲器(DPB)的一个实例。视频数据存储器40和DPB64可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻性RAM(RRAM)或其它类型的存储器装置。视频数据存储器40和DPB64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器40与视频编码器20的其它组件可为芯片上的,或相对于那些组件为芯片外的。
如图6中所示,视频编码器20接收视频数据且可经配置以将数据分割为视频块。(例如)根据LCU和CU的四叉树结构,此分割也可包含分割为片段、图像块,或其它较大单元,以及视频块分割。视频编码器20大体上说明编码待编码的视频片段内的视频块的组件。片段可划分为多个视频块(和可能地划分为被称为图像块的视频块的集合)。针对基于错误结果(例如,译码速率和失真等级)的当前视频块,预测处理单元41可选择多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式或视图间译码模式中的一者。预测处理单元41可将所得的帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构建经编码块以供用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块相同的帧或片段中的一或多个相邻块执行当前视频块的帧内预测性译码以提供空间压缩。预测处理单元41内的运动和视差估计单元42以及运动和视差补偿单元44相对于一或多个参考图片、参考图片层和/或参考视图中的一或多个预测性块执行当前视频块的帧间预测性译码和/或视图间译码,以提供时间和视图间预测。
运动和视差估计单元42可经配置以根据针对视频序列的预定型样而针对视频片段确定帧间预测模式和/或视图间预测模式。预定型样可将序列中的视频片段指定为P片段或B片段。运动和视差估计单元42以及运动和视差补偿单元44可为高集成的,但为概念目的而单独地说明。由运动和视差估计单元42所执行的运动估计为产生运动向量的过程,所述运动向量估计针对视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。由运动和视差估计单元42所执行的视差估计为产生视差向量的过程,所述视差向量可用以从不同视图中的块预测当前译码块。
预测性块为被发现在像素差方面紧密匹配于待译码的视频块的PU的块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它不同的度量来确定。在一些实例中,视频编码器20可计算针对存储于DPB64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索且输出具有分数像素精度的运动向量。
运动和视差估计单元42通过比较帧间译码或视图间预测片段中的视频块的PU的位置与参考图片的预测性块的位置针对所述PU计算运动向量(用于运动补偿预测)和/或视差向量(用于视差补偿预测)。参考图片可选自第一参考图片列表(List0)或第二参考图片列表(List1),其中每一者识别存储于DPB64中的一或多个参考图片。针对视图间预测,参考图片处于不同视图中。运动和视差估计单元42将所计算的运动向量和/或视差向量发送到熵编码单元56以及运动和视差补偿单元44。
由运动和视差补偿单元44所执行的运动补偿和/或视差补偿可涉及基于由运动估计和/或视差估计所确定的运动向量取得或产生预测性块,从而可能地执行内插到子像素精度。在接收针对当前视频块的PU的运动向量和/或视差后,运动和视差补偿单元44即可定位运动向量和/或视差向量在参考图片列表中的一者中指向的预测性块。视频编码器20通过从正译码的当前视频块的像素值减去预测性块的像素值而形成残余视频块,从而形成像素差值。像素差值形成针对块的残余数据,且可包含明度差分量和色度差分量两者。求和器50表示执行此减去运算的组件。运动和视差补偿单元44也可产生与视频块和视频片段相关联的语法元素以供视频解码器30在解码视频片段的视频块时使用。
作为对由运动和视差估计单元42以及运动和视差补偿单元44所执行的帧间预测的替代(如上文所述),帧内预测处理单元46可帧内预测当前块。明确地说,帧内预测处理单元46可确定帧内预测模式来使用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在单独的编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46(或在一些实例中,模式选择单元)可从经测试模式选择适当的帧内预测模式来使用。举例来说,帧内预测处理单元46可使用针对各种经测试的帧内预测模式的速率-失真分析来计算速率-失真值,且在经测试模式当中选择具有最好的速率-失真特性的帧内预测模式。速率-失真分析一般确定经编码块与经编码以产生经编码块的原始的未经编码块之间的失真(或误差)的量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可从针对各种经编码块的失真和速率计算比率以确定哪一帧内预测模式展现针对所述块的最好的速率-失真值。
在任何状况下,在针对块选择帧内预测模式之后,帧内预测处理单元46可将指示针对所述块的所选择帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术编码指示所选择帧内预测模式的信息。视频编码器20可在所发射的位流中包含以下各者:配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也被称为码字映射表);针对各种块的编码上下文的定义;以及待用于上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示。
在预测处理单元41经由帧间预测或是帧内预测针对当前视频块产生预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且应用于变换处理单元52。变换处理单元52使用变换(例如,离散余弦变换(DCT)或概念上类似的变换)将残余视频数据变换为残余变换系数。变换处理单元52可将残余视频数据从像素域转换为变换域(例如,频域)。
变换处理单元52可将所得的变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步降低位速率。量化过程可减小与所述系数中的一些或全部相关联的位深度。量化的程度可通过调整量化参数来修改。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56熵编码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率间隔分割熵(PIPE)译码或另一熵编码方法或技术。在通过熵编码单元56的熵编码之后,经编码位流可发射到视频解码器30,或经存档以供稍后发射或由视频解码器30检索。熵编码单元56也可熵编码针对正译码的当前视频片段的运动向量和其它语法元素。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换,以在像素域中重构建残余块以供稍后用作参考图片的参考块。视频编码器20的此部分有时被称作重构建回路,且有效地解码经编码视频块以供在帧间预测中用作参考图片。经重构建图片和/或经重构建层图片存储于DPB64中。
运动和视差补偿单元44可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测性块而计算参考块。运动和视差补偿单元44也可将一或多个内插滤波器应用于经重构建残余块以计算次整数像素值以供在运动估计中使用。求和器62将经重构建残余块添加到通过运动补偿单元44所产生的运动补偿预测块以产生参考块以供存储于DPB64中。参考块可由运动和视差估计单元42以及运动和视差补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
如上文参看图5所论述,DPB64可分割为多个子DPB,其中每一子DPB经配置以在多层视频译码过程中针对不同类型的层存储图片。如上文所论述和下文将参看图8更详细地论述,视频编码器20可经配置以执行本发明的子DPB参数传信技术。
图7为说明可实施本发明中所述的子DPB参数传信技术的实例视频解码器30的框图。在图7的实例中,视频解码器30包含视频数据存储器69、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90和DPB92。预测处理单元81包含运动和视差补偿单元82和帧内预测处理单元84。在一些实例中,视频解码器30可执行与关于来自图6的视频编码器20所述的编码遍次大体上互逆的解码遍次。
视频数据存储器69可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器69中的视频数据可(例如)从存储装置34、从局域视频源(例如,摄影机)、经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得。视频数据存储器69可从经编码视频位流形成存储经编码视频数据的经译码图片缓冲器(CPB)。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频片段的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元80熵解码位流以产生经量化系数、运动向量、视差向量和其它语法元素。熵解码单元80将运动向量、视差向量和其它语法元素转递到预测处理单元81。视频解码器30可在视频片段层级和/或视频块层级处接收语法元素。
当视频片段译码为帧内译码(I)片段时,预测处理单元81的帧内预测处理单元84可基于经传信的帧内预测模式和来自当前帧或图片的先前解码块的数据针对当前视频片段的视频块产生预测数据。当视频帧译码为帧间译码(即,B或P)片段或视图间预测片段时,预测处理单元81的运动和视差补偿单元82基于从熵解码单元80所接收的运动向量、视差向量和其它语法元素针对当前视频片段的视频块产生预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储于DPB92中的参考图片使用默认构建技术来构建参考帧列表List0和List1。
运动和视差补偿单元82通过剖析运动向量和其它语法元素针对当前视频片段的视频块确定预测信息,且使用预测信息来针对正解码的当前视频块产生预测性块。举例来说,运动和视差补偿单元82使用所接收语法元素中的一些来确定用以译码视频片段的视频块的预测模式(例如,帧内或帧间预测)、帧间预测或视图间预测片段类型(例如,B片段或P片段)、针对片段的参考图片列表中的一或多者的构建信息、针对片段的每一帧间编码视频块的运动向量和/或视差向量、针对片段的每一帧间译码视频块的帧间预测状态和其它信息以解码当前视频片段中的视频块。
运动和视差补偿单元82也可基于内插滤波器执行内插。运动和视差补偿单元82可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来针对参考块的次整数像素计算内插值。在此状况下,运动和视差补偿单元82可从所接收语法元素确定由视频编码器20所使用的内插滤波器且使用内插滤波器来产生预测性块。
逆量化单元86逆量化(即,解量化)位流中所提供且通过熵解码单元80所解码的经量化变换系数。逆量化过程可包含由视频编码器20所计算的量化参数针对视频片段中的每一视频块的使用,以确定量化的程度和(同样)应应用的逆量化的程度。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。
在运动和视差补偿单元82基于运动向量和/或视差向量和其它语法元素针对当前视频块产生预测性块之后,视频解码器30通过对来自逆变换处理单元88的残余块与通过运动补偿单元82所产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的组件。如果需要,那么解块滤波器也可被应用以对经解码块进行滤波以便去除方块效应伪影。其它回路滤波器(在译码回路中或是在译码回路之后)也可用以使像素转变平滑,或以其它方式改善视频质量。
给定帧或图片中的经解码视频接着存储于DPB92中,DPB92存储用于后续运动补偿的参考图片块(或在多层视频译码过程中的层图片)。DPB92也存储经解码视频以供在显示装置(例如,图1的显示装置32)上呈现。如上文参看图5所论述,DPB92可分割为多个子DPB,其中每一子DPB经配置以在多层视频译码过程中针对不同类型的层存储图片。如上文所论述和下文将参看图9更详细地论述,视频解码器300可经配置以执行本发明的子DPB参数传信技术。
图8为展示根据本发明的技术的实例编码方法的流程图。图8的技术可通过视频编码器20的一或多个硬件单元实施,包含DPB64。
在本发明的一个实例中,视频编码器20可经配置以重构建经编码视频位流的多个图片(800),且将所述多个图片存储于一或多个子DPB中(802)。即,DPB64可划分为一或多个子DBP。视频编码器20可经进一步配置以针对经编码视频位流的每一相应操作点产生子DPB参数的相应集合(804),针对每一相应操作点将子DPB参数的相应集合应用于输出层集合的所有层(806),和根据子DPB参数的所产生的相应单集合对一或多个子DPB执行子DPB管理过程(808)。在本发明的一个实例中,子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素和指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。视频编码器20可经进一步配置以在经编码视频位流中传信子DPB参数的相应集合(810)。
在本发明的另一实例中,视频编码器20可经配置以在视频参数集合(VPS)中产生子DPB参数的相应集合。在本发明的另一实例中,视频编码器20可经配置以产生指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。在本发明的另一实例中,视频编码器20可经配置以在第一子层语法元素指示子DPB参数可针对特定输出层集合的每一子层传信的状况下,产生指示子DPB参数是否针对特定输出层集合的相应子层传信的第二相应子层语法元素。在本发明的另一实例中,视频编码器20可经配置以在第二相应子层语法元素指示子DPB参数针对特定子层传信的状况下,针对特定子层产生子DPB参数的额外集合。
在本发明的另一实例中,子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出和从子DPB去除图片中的至少一者,且其中执行子DPB管理过程包括使用子DPB参数的所接收的相应集合对存取单元层级执行子DPB管理过程。视频编码器20可经配置以通过以下操作对存取单元层级执行子DPB管理过程:基于DPB中含有标记为需要用于输出的至少一图片的存取单元的数目输出图片;在每层层级上(例如,独立地针对每一层)将图片标记为未用于参考;和在每层层级上(例如,独立地针对每一层)从子DPB去除图片。
图9为展示根据本发明的技术的实例解码方法的流程图。图9的技术可通过视频解码器30的一或多个硬件单元实施,包含DPB92。
在本发明的一个实例中,视频解码器30可经配置以接收包含多个图片的经编码视频位流(900),和将所述多个图片存储于一或多个子DPB中(902)。即,DPB92可划分为一或多个子DBP。视频解码器30可经进一步配置以针对经编码视频位流的每一相应操作点接收子DPB参数的相应集合(904),针对每一相应操作点将子DPB参数的相应集合应用于输出层集合的所有层(906),和根据子DPB参数的所接收的相应单集合对一或多个子DPB执行子DPB管理过程(908)。在本发明的一个实例中,子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素和指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。
在本发明的另一实例中,视频解码器30可经配置以在视频参数集合(VPS)中接收子DPB参数的相应集合。在本发明的另一实例中,视频解码器30可经配置以接收指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。
在本发明的另一实例中,视频解码器30可经配置以在第一子层语法元素指示子DPB参数并未针对特定输出层集合的每一子层传信的状况下,将子DPB参数的相应集合应用于特定输出层集合的所有子层。在本发明的另一实例中,视频解码器30可经配置以在第一子层语法元素指示子DPB参数可针对特定输出层集合的每一子层传信的状况下,接收指示子DPB参数是否针对特定输出层集合的相应子层传信的第二相应子层语法元素。
在本发明的另一实例中,视频解码器30可经配置以在第二相应子层语法元素指示子DPB参数并未针对特定子层传信的状况下,针对特定子层应用子DPB参数的所接收的相应集合。此外,在第二相应子层语法元素指示子DPB参数针对特定子层传信的状况下,视频解码器30可经配置以针对特定子层接收子DPB参数的额外集合。
在本发明的另一实例中,视频解码器30可经配置以在第二相应子层语法元素指示子DPB参数并未针对具有子层IDX的特定子层传信的状况下,针对具有大于X的子层ID的子层应用子DPB参数的最近接收的相应集合。
在本发明的另一实例中,子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出和从子DPB去除图片中的至少一者,且其中执行子DPB管理过程包括使用子DPB参数的所接收的相应集合对存取单元层级执行子DPB管理过程。视频解码器30可经配置以通过以下操作对存取单元层级执行子DPB管理过程:基于DPB中含有标记为需要用于输出的至少一图片的存取单元的数目输出图片;在每层层级上(例如,独立地针对每一层)将图片标记为未用于参考;和在每层层级上(例如,独立地针对每一层)从子DPB去除图片。
应认识到,取决于实例,本文所述的技术中的任一者的某些动作或事件可以不同序列执行、可增添、合并或完全省略(例如,针对技术的实践,并非所有所描述的动作或事件都是必要的)。此外,在某些实例中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执行。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或程序代码存储于计算机可读媒体上或经由计算机可读媒体来发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、程序代码和/或数据结构以用于本发明中所述的技术的实施的任何可用媒体。计算机程序产品可包含计算机可读媒体。如本文所使用,术语“传信”可包含存储或以其它方式包含具有经编码位流的数据。换句话说,在根据本发明的各种实例中,术语“传信”可与数据的实时通信或替代地并未实时执行的通信相关联。
通过实例且非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电和微波)从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而替代地针对非暂时性有形存储媒体。如本文所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光盘、数字影音光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上内容的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文所使用的术语“处理器”可指前述结构或适用于本文所述的技术的实施的任何其它结构中的任一者。另外,在一些方面中,本文所述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可以广泛多种装置或设备来实施,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。各种组件、模块或单元在本发明中得以描述以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同的硬件单元来实现。相反地,如上文所述,各种单元可组合于编解码器硬件单元中,或由互操作性硬件单元(包含如上文所述的一或多个处理器)的集合结合合适的软件和/或固件来提供。
各种实例已得以描述。这些和其它实例是在以下权利要求书的范围内。
Claims (40)
1.一种解码视频数据的方法,所述方法包括:
接收包含多个图片的经编码视频位流;
将所述多个图片存储于一或多个子解码图片缓冲器DPB中;
针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及
根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
2.根据权利要求1所述的方法,其中所述子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素或指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。
3.根据权利要求1所述的方法,其中接收子DPB参数的所述相应集合包括在视频参数集合VPS中接收子DPB参数的所述相应集合。
4.根据权利要求1所述的方法,其进一步包括:
接收指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。
5.根据权利要求4所述的方法,其进一步包括:
基于指示子DPB参数并未针对特定输出层集合的每一子层传信的所述第一子层语法元素,将子DPB参数的所述相应集合应用于所述特定输出层集合的所有子层。
6.根据权利要求4所述的方法,其进一步包括:
基于指示子DPB参数可针对特定输出层集合的每一子层传信的所述第一子层语法元素,接收指示子DPB参数是否针对所述特定输出层集合的相应子层传信的第二相应子层语法元素。
7.根据权利要求6所述的方法,其进一步包括:
基于指示子DPB参数并未针对特定子层传信的所述第二相应子层语法元素,针对所述特定子层应用子DPB参数的最近接收的相应集合;以及
基于指示子DPB参数针对所述特定子层传信的所述第二相应子层语法元素,针对所述特定子层接收子DPB参数的额外集合。
8.根据权利要求6所述的方法,其进一步包括:
基于指示子DPB参数并未针对具有子层IDX的特定子层传信的所述第二相应子层语法元素,针对具有大于X的所述子层ID的子层应用子DPB参数的最近接收的相应集合。
9.根据权利要求1所述的方法,其中所述子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出或从所述子DPB去除图片中的至少一者,且其中所述执行所述子DPB管理过程包括使用子DPB参数的所述所接收的相应集合对存取单元层级执行所述子DPB管理过程。
10.根据权利要求9所述的方法,其中对所述存取单元层级执行所述子DPB管理过程包括:
基于DPB中含有标记为需要用于输出的至少一个图片的存取单元的数目输出图片;
在每层层级上将图片标记为未用于参考;以及
在每层层级上从所述子DPB去除图片。
11.一种经配置以解码视频数据的设备,所述设备包括:
一或多个存储器装置,其包括经配置以存储视频数据的一或多个子解码图片缓冲器DPB;以及
视频解码器,其经配置以:
接收包含多个图片的经编码视频位流;
将所述多个图片存储于所述一或多个子DPB中;
针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及
根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
12.根据权利要求11所述的设备,其中所述子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素或指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。
13.根据权利要求11所述的设备,其中所述视频解码器经配置以在视频参数集合VPS中接收子DPB参数的所述相应集合。
14.根据权利要求11所述的设备,其中所述视频解码器经进一步配置以:
接收指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。
15.根据权利要求14所述的设备,其中所述视频解码器经进一步配置以:
基于指示子DPB参数并未针对特定输出层集合的每一子层传信的所述第一子层语法元素,将子DPB参数的所述相应集合应用于所述特定输出层集合的所有子层。
16.根据权利要求14所述的设备,其中所述视频解码器经进一步配置以:
基于指示子DPB参数可针对特定输出层集合的每一子层传信的所述第一子层语法元素,接收指示子DPB参数是否针对所述特定输出层集合的相应子层传信的第二相应子层语法元素。
17.根据权利要求16所述的设备,其中所述视频解码器经进一步配置以:
基于指示子DPB参数并未针对特定子层传信的所述第二相应子层语法元素,针对所述特定子层应用子DPB参数的最近接收的相应集合;以及
基于指示子DPB参数针对所述特定子层传信的所述第二相应子层语法元素,针对所述特定子层接收子DPB参数的额外集合。
18.根据权利要求16所述的设备,其中所述视频解码器经进一步配置以:
基于指示子DPB参数并未针对具有子层IDX的特定子层传信的所述第二相应子层语法元素,针对具有大于X的所述子层ID的子层应用子DPB参数的最近接收的相应集合。
19.根据权利要求11所述的设备,其中所述子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出或从所述子DPB去除图片中的至少一者,且其中所述执行所述子DPB管理过程包括使用子DPB参数的所述所接收的相应集合对存取单元层级执行所述子DPB管理过程。
20.根据权利要求19所述的设备,其中所述视频解码器经进一步配置以:
基于DPB中含有标记为需要用于输出的至少一个图片的存取单元的数目输出图片;
在每层层级上将图片标记为未用于参考;以及
在每层层级上从所述子DPB去除图片。
21.一种经配置以解码视频数据的设备,所述设备包括:
用于接收包含多个图片的经编码视频位流的装置;
用于将所述多个图片存储于一或多个子解码图片缓冲器DPB中的装置;
用于针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合的装置;
用于针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层的装置;以及
用于根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程的装置。
22.一种存储指令的计算机可读存储媒体,所述指令在被执行时使得经配置以解码视频数据的装置的一或多个处理器:
接收包含多个图片的经编码视频位流;
将所述多个图片存储于一或多个子DPB中;
针对所述经编码视频位流的每一相应操作点接收子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;以及
根据子DPB参数的所述所接收的相应单集合对所述一或多个子DPB执行子DPB管理过程。
23.一种编码视频数据的方法,所述方法包括:
重构建经编码视频位流的多个图片;
将所述多个图片存储于一或多个子解码图片缓冲器DPB中;
针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;
根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及
在所述经编码视频位流中传信子DPB参数的所述相应集合。
24.根据权利要求23所述的方法,其中所述子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素或指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。
25.根据权利要求23所述的方法,其中产生子DPB参数的所述相应集合包括在视频参数集合VPS中产生子DPB参数的所述相应集合。
26.根据权利要求23所述的方法,其进一步包括:
产生指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。
27.根据权利要求26所述的方法,其进一步包括:
基于指示子DPB参数可针对特定输出层集合的每一子层传信的所述第一子层语法元素,产生指示子DPB参数是否针对所述特定输出层集合的相应子层传信的第二相应子层语法元素。
28.根据权利要求27所述的方法,其进一步包括:
基于指示子DPB参数针对所述特定子层传信的所述第二相应子层语法元素,针对所述特定子层产生子DPB参数的额外集合。
29.根据权利要求23所述的方法,其中所述子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出或从所述子DPB去除图片中的至少一者,且其中所述执行所述子DPB管理过程包括使用子DPB参数的所述所接收的相应集合对存取单元层级执行所述子DPB管理过程。
30.根据权利要求29所述的方法,其中对所述存取单元层级执行所述子DPB管理过程包括:
基于DPB中含有标记为需要用于输出的至少一个图片的存取单元的数目输出图片;
在每层层级上将图片标记为未用于参考;以及
在每层层级上从所述子DPB去除图片。
31.一种经配置以编码视频数据的设备,所述设备包括:
一或多个存储器装置,其包括经配置以存储视频数据的一或多个子解码图片缓冲器DPB;以及
视频编码器,其经配置以:
重构建经编码视频位流的多个图片;
将所述多个图片存储于一或多个子解码图片缓冲器DPB中;
针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;
根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及
在所述经编码视频位流中传信子DPB参数的所述相应集合。
32.根据权利要求31所述的设备,其中所述子DPB参数包含指示针对所述一或多个子DPB所允许的重排序图片的最大数目的语法元素或指示针对所述一或多个子DPB所允许的最大潜伏时间的语法元素中的至少一者。
33.根据权利要求31所述的设备,其中所述视频编码器经配置以在视频参数集合VPS中产生子DPB参数的所述相应集合。
34.根据权利要求31所述的设备,其中所述视频编码器经进一步配置以:
产生指示子DPB参数是否针对每一相应输出层集合的每一子层传信的第一相应子层语法元素。
35.根据权利要求34的设备,其中所述视频编码器经进一步配置以:
基于指示子DPB参数可针对特定输出层集合的每一子层传信的所述第一子层语法元素,产生指示子DPB参数是否针对所述特定输出层集合的相应子层传信的第二相应子层语法元素。
36.根据权利要求35所述的设备,其中所述视频编码器经进一步配置以:
基于指示子DPB参数针对所述特定子层传信的所述第二相应子层语法元素,针对所述特定子层产生子DPB参数的额外集合。
37.根据权利要求31所述的设备,其中所述子DPB管理过程包含将图片标记为未用于参考、标记图片以用于输出或从所述子DPB去除图片中的至少一者,且其中所述执行所述子DPB管理过程包括使用子DPB参数的所述所接收的相应集合对存取单元层级执行所述子DPB管理过程。
38.根据权利要求37所述的设备,其中所述视频编码器经进一步配置以:
基于DPB中含有标记为需要用于输出的至少一个图片的存取单元的数目输出图片;
在每层层级上将图片标记为未用于参考;以及
在每层层级上从所述子DPB去除图片。
39.一种经配置以编码视频数据的设备,所述设备包括:
用于重构建经编码视频位流的多个图片的装置;
用于将所述多个图片存储于一或多个子解码图片缓冲器DPB中的装置;
用于针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合的装置;
用于针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层的装置;
用于根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程的装置;以及
用于在所述经编码视频位流中传信子DPB参数的所述相应集合的装置。
40.一种存储指令的计算机可读存储媒体,所述指令在被执行时使得经配置以编码视频数据的装置的一或多个处理器:
重构建经编码视频位流的多个图片;
将所述多个图片存储于一或多个子解码图片缓冲器DPB中;
针对所述经编码视频位流的每一相应操作点产生子DPB参数的相应集合;
针对每一相应操作点将子DPB参数的所述相应集合应用于输出层集合的所有层;
根据子DPB参数的所述所产生的相应单集合对所述一或多个子DPB执行子DPB管理过程;以及
在所述经编码视频位流中传信子DPB参数的所述相应集合。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361889515P | 2013-10-10 | 2013-10-10 | |
US61/889,515 | 2013-10-10 | ||
US201361890841P | 2013-10-14 | 2013-10-14 | |
US61/890,841 | 2013-10-14 | ||
US14/509,797 US9819941B2 (en) | 2013-10-10 | 2014-10-08 | Signaling for sub-decoded picture buffer (sub-DPB) based DPB operations in video coding |
US14/509,797 | 2014-10-08 | ||
PCT/US2014/059925 WO2015054509A1 (en) | 2013-10-10 | 2014-10-09 | Signaling for sub-decoded picture buffer (sub-dpb) based dpb operations in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105637878A true CN105637878A (zh) | 2016-06-01 |
CN105637878B CN105637878B (zh) | 2019-06-11 |
Family
ID=52809625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480055054.6A Active CN105637878B (zh) | 2013-10-10 | 2014-10-09 | 在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信 |
Country Status (11)
Country | Link |
---|---|
US (1) | US9819941B2 (zh) |
EP (1) | EP3056003B1 (zh) |
JP (1) | JP6400691B2 (zh) |
KR (1) | KR101904625B1 (zh) |
CN (1) | CN105637878B (zh) |
BR (1) | BR112016007916B1 (zh) |
CA (1) | CA2924397C (zh) |
ES (1) | ES2780688T3 (zh) |
HU (1) | HUE047141T2 (zh) |
TW (1) | TWI652940B (zh) |
WO (1) | WO2015054509A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114424572A (zh) * | 2019-09-24 | 2022-04-29 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
CN114514749A (zh) * | 2019-10-07 | 2022-05-17 | 华为技术有限公司 | 避免多层视频码流中的冗余指示 |
CN115516860A (zh) * | 2020-05-04 | 2022-12-23 | Lg电子株式会社 | 图像解码方法及其设备 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102246546B1 (ko) * | 2013-10-12 | 2021-04-30 | 삼성전자주식회사 | 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치 |
WO2015053596A1 (ko) * | 2013-10-12 | 2015-04-16 | 삼성전자 주식회사 | 멀티 레이어 비디오의 복호화 및 부호화를 위한 버퍼 관리 방법 및 장치 |
US20150103924A1 (en) * | 2013-10-13 | 2015-04-16 | Sharp Laboratories Of America, Inc. | On operation of decoded picture buffer for interlayer pictures |
US10284858B2 (en) | 2013-10-15 | 2019-05-07 | Qualcomm Incorporated | Support of multi-mode extraction for multi-layer video codecs |
US9794558B2 (en) * | 2014-01-08 | 2017-10-17 | Qualcomm Incorporated | Support of non-HEVC base layer in HEVC multi-layer extensions |
US10045038B2 (en) | 2015-05-28 | 2018-08-07 | Hfi Innovation Inc. | Method and apparatus for using a current picture as a reference picture |
US11025933B2 (en) | 2016-06-09 | 2021-06-01 | Apple Inc. | Dynamic video configurations |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
WO2020249530A1 (en) * | 2019-06-14 | 2020-12-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Layered video data stream |
WO2021061392A1 (en) | 2019-09-24 | 2021-04-01 | Futurewei Technologies, Inc. | Error mitigation for sublayers in video coding |
CN115211120A (zh) * | 2019-12-30 | 2022-10-18 | Lg电子株式会社 | 基于包括ols dpb参数索引的图像信息对图像进行解码的方法及其设备 |
CN115152233A (zh) * | 2019-12-30 | 2022-10-04 | Lg电子株式会社 | 包括dpb管理处理的图像解码方法及其设备 |
WO2021137589A1 (ko) * | 2019-12-30 | 2021-07-08 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
WO2021137596A1 (ko) * | 2019-12-30 | 2021-07-08 | 엘지전자 주식회사 | Dpb 파라미터를 코딩하는 영상 디코딩 방법 및 그 장치 |
WO2021137597A1 (ko) * | 2019-12-30 | 2021-07-08 | 엘지전자 주식회사 | Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 |
US11272214B2 (en) * | 2020-01-27 | 2022-03-08 | Tencent America LLC | Method for picture output with output layer set |
KR20220143936A (ko) * | 2020-02-28 | 2022-10-25 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인코더, 디코더 및 파라미터 세트의 시그널링 및 의미론적 대응 방법 |
WO2021197979A1 (en) * | 2020-03-31 | 2021-10-07 | Interdigital Vc Holdings France | Method and apparatus for video encoding and decoding |
KR20230019845A (ko) | 2020-06-08 | 2023-02-09 | 바이트댄스 아이엔씨 | 코딩된 비디오 픽처에서 슬라이스 카운트의 제약들 |
US11729381B2 (en) * | 2020-07-23 | 2023-08-15 | Qualcomm Incorporated | Deblocking filter parameter signaling |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070086521A1 (en) * | 2005-10-11 | 2007-04-19 | Nokia Corporation | Efficient decoded picture buffer management for scalable video coding |
CN103327341A (zh) * | 2009-10-05 | 2013-09-25 | 索尼公司 | 图像处理装置以及图像处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059051A1 (en) * | 2012-10-09 | 2014-04-17 | Rodriguez Arturo A | Providing a common set of parameters for sub-layers of coded video |
US9591321B2 (en) * | 2013-04-07 | 2017-03-07 | Dolby International Ab | Signaling change in output layer sets |
CN109729364A (zh) * | 2013-04-07 | 2019-05-07 | 杜比国际公司 | 用信号通知输出层集的改变 |
US20140301477A1 (en) * | 2013-04-07 | 2014-10-09 | Sharp Laboratories Of America, Inc. | Signaling dpb parameters in vps extension and dpb operation |
US9794579B2 (en) | 2013-07-15 | 2017-10-17 | Qualcomm Incorporated | Decoded picture buffer operations for video coding |
-
2014
- 2014-10-08 US US14/509,797 patent/US9819941B2/en active Active
- 2014-10-09 JP JP2016521693A patent/JP6400691B2/ja active Active
- 2014-10-09 CA CA2924397A patent/CA2924397C/en active Active
- 2014-10-09 WO PCT/US2014/059925 patent/WO2015054509A1/en active Application Filing
- 2014-10-09 KR KR1020167010671A patent/KR101904625B1/ko active IP Right Grant
- 2014-10-09 CN CN201480055054.6A patent/CN105637878B/zh active Active
- 2014-10-09 EP EP14789468.7A patent/EP3056003B1/en active Active
- 2014-10-09 ES ES14789468T patent/ES2780688T3/es active Active
- 2014-10-09 HU HUE14789468A patent/HUE047141T2/hu unknown
- 2014-10-09 BR BR112016007916-7A patent/BR112016007916B1/pt active IP Right Grant
- 2014-10-09 TW TW103135272A patent/TWI652940B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070086521A1 (en) * | 2005-10-11 | 2007-04-19 | Nokia Corporation | Efficient decoded picture buffer management for scalable video coding |
CN103327341A (zh) * | 2009-10-05 | 2013-09-25 | 索尼公司 | 图像处理装置以及图像处理方法 |
Non-Patent Citations (2)
Title |
---|
MV-HEVC/SHVC HLS ON DPB OPERATIONS: "MV-HEVC/SHVC HLS On DPB operations", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 14TH MEETING,JCTVC-N0093》 * |
SACHIN DESHPANDE: "On Signaling DPB Parameters and DPB Operation", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 13TH MEETING,JCTVC-M0210》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114586368B (zh) * | 2019-09-24 | 2023-09-12 | 华为技术有限公司 | 用于多层视频码流的编码方法、解码方法及装置 |
CN114424572A (zh) * | 2019-09-24 | 2022-04-29 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
US12075078B2 (en) | 2019-09-24 | 2024-08-27 | Huawei Technologies Co., Ltd. | Signaling of DPB parameters for multi-layer video bitstreams |
CN114586368A (zh) * | 2019-09-24 | 2022-06-03 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
US11849134B2 (en) | 2019-09-24 | 2023-12-19 | Huawei Technologies Co., Ltd. | Signaling of DPB parameters for multi-layer video bitstreams |
CN114424572B (zh) * | 2019-09-24 | 2023-08-22 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
CN114556947B (zh) * | 2019-10-07 | 2023-10-20 | 华为技术有限公司 | 避免多层视频码流中的冗余指示 |
CN114514749A (zh) * | 2019-10-07 | 2022-05-17 | 华为技术有限公司 | 避免多层视频码流中的冗余指示 |
US12022125B2 (en) | 2019-10-07 | 2024-06-25 | Huawei Technologies Co., Ltd. | Error avoidance in sub-bitstream extraction |
CN114514749B (zh) * | 2019-10-07 | 2023-10-20 | 华为技术有限公司 | 避免多层视频码流中的冗余指示 |
CN114556947A (zh) * | 2019-10-07 | 2022-05-27 | 华为技术有限公司 | 避免多层视频码流中的冗余指示 |
US12096034B2 (en) | 2019-10-07 | 2024-09-17 | Huawei Technologies Co., Ltd. | Avoidance of redundant signaling in multi-layer video bitstreams |
US12096035B2 (en) | 2019-10-07 | 2024-09-17 | Huawei Technologies Co., Ltd. | SPS error avoidance in sub-bitstream extraction |
CN115516860A (zh) * | 2020-05-04 | 2022-12-23 | Lg电子株式会社 | 图像解码方法及其设备 |
Also Published As
Publication number | Publication date |
---|---|
JP6400691B2 (ja) | 2018-10-03 |
EP3056003B1 (en) | 2019-12-25 |
KR20160068805A (ko) | 2016-06-15 |
KR101904625B1 (ko) | 2018-10-04 |
TW201531096A (zh) | 2015-08-01 |
BR112016007916B1 (pt) | 2023-05-02 |
ES2780688T3 (es) | 2020-08-26 |
US20150103884A1 (en) | 2015-04-16 |
CA2924397C (en) | 2020-01-28 |
CA2924397A1 (en) | 2015-04-16 |
TWI652940B (zh) | 2019-03-01 |
BR112016007916A2 (zh) | 2017-08-01 |
JP2016539537A (ja) | 2016-12-15 |
HUE047141T2 (hu) | 2020-04-28 |
EP3056003A1 (en) | 2016-08-17 |
US9819941B2 (en) | 2017-11-14 |
WO2015054509A1 (en) | 2015-04-16 |
CN105637878B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105637878B (zh) | 在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信 | |
CN106464917B (zh) | 用信号表示用于位流分区的hrd参数 | |
CN105409220B (zh) | 用于视频译码的经解码图片缓冲器操作 | |
CN105393536B (zh) | 使用位移向量从预测性块的帧内预测 | |
CN105122812B (zh) | 用于三维(3d)视频译码的高级合并模式 | |
CN105637882B (zh) | 用于视频信息的可缩放译码的装置和方法 | |
CN105874797B (zh) | 视频数据的编解码方法、装置、设备和存储媒体 | |
CN103975597B (zh) | 纹理及深度视图分量当中的内部视图运动预测 | |
CN103828374B (zh) | 参考图片信令和经解码图片缓冲器管理 | |
CN104025602B (zh) | 三维视频译码中用信号通知视图合成预测支持 | |
CN104885459B (zh) | 用于多层译码的多分辨率经解码图片缓冲器管理 | |
CN105122814B (zh) | 可包含未对准irap图片的多层位流的跨层poc对准 | |
CN110100436A (zh) | 使用导出色度模式译码视频数据 | |
CN105850138B (zh) | 在多层译码中译码恢复点补充增强信息(sei)消息和区刷新信息sei消息的方法 | |
CN105580374B (zh) | 一种对多层视频数据进行编解码的方法、视频解码设备及存储媒体 | |
CN105103560A (zh) | 用于仅高级语法可缩放视频译码的层间参考图片限制 | |
CN105052156A (zh) | Irap存取单元与位流切换及拼接 | |
CN104041047A (zh) | 在使用深度的3d视频译码中的多重假设差异向量构建 | |
CN104396253A (zh) | 用于高效视频译码(hevc)和扩展的视频参数集 | |
CN105379288A (zh) | 处理对视频译码的照明补偿 | |
CN104170380A (zh) | 视频译码中的视差矢量预测 | |
CN104471942A (zh) | 重新使用参数集用于视频译码 | |
CN104969551A (zh) | 可缩放及多视角视频译码中的高级残差预测 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN104885458A (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 |