CN104335589B - 用于视频译码的视图间预测的视差向量产生 - Google Patents
用于视频译码的视图间预测的视差向量产生 Download PDFInfo
- Publication number
- CN104335589B CN104335589B CN201380027793.XA CN201380027793A CN104335589B CN 104335589 B CN104335589 B CN 104335589B CN 201380027793 A CN201380027793 A CN 201380027793A CN 104335589 B CN104335589 B CN 104335589B
- Authority
- CN
- China
- Prior art keywords
- adjacent
- current
- block
- mer
- 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.)
- Expired - Fee Related
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/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/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/436—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 using parallelised computational 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
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)
Abstract
在一个实例中,一种视频译码器(例如,视频编码器或视频解码器)经配置以:确定当前视频数据块是使用视差运动向量译码的,其中所述当前块在容纳块内;基于对所述当前块的相邻块也在所述容纳块内的确定,在候选列表中用在所述容纳块外部并且与所述容纳块相邻的块替代所述相邻块;从所述候选列表中的多个块中的一个中选择视差运动向量预测子;以及基于所述视差运动向量预测子对所述视差运动向量进行译码。以此方式,本发明的技术可以允许并行地对所述容纳块内的块进行译码。
Description
本申请案要求于2012年4月20日提交的第61/636,554号美国临时申请案的权益,所述美国临时申请案的整个内容通过引用并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直接广播***、无线广播***、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能手机”)、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频译码技术,例如在通过MPEG-2、MPEG-4、ITU-T H.263、ITU-T H264/MPEG-4第10部分(高级视频译码(AVC))、目前正在开发的高效视频译码(HEVC)标准和此些标准的扩展部分所定义的标准中描述的视频译码技术。HEVC正在由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发。HEVC的草案可以从http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip查阅到。H.264/AVC包含可缩放视频译码(SVC)和多视图视频译码(MVC)扩展部分,其描述于“用于通用音频视频服务的高级视频译码(Advanced video coding for genericaudiovisual services)”,ITU-T建议H.264,2010年3月。通过实施此些视频译码技术,视频装置可以更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(例如,视频帧或视频帧的一部分)可以分割成视频块,视频块也可以称为树块、译码单元(CU)和/或译码节点。使用相对于相同图片中的相邻块的参考样本的空间预测对图片的经帧内译码(I)的切片中的视频块进行编码。图片的经帧间译码(P或B)的切片中的视频块可以使用相对于相同图片中的相邻块的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可以称为帧,并且参考图片可以称为参考帧。
空间或时间预测产生用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量对经帧间译码的块进行编码,并且残余数据指示经译码的块与预测性块之间的差。经帧内译码的块是根据帧内译码模式和残余数据编码的。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可以对残余系数进行量化。可以扫描经量化的变换系数(起初布置成二维阵列),以便产生变换系数的一维向量,并且可以应用熵译码以实现甚至更大的压缩。
发明内容
总的来说,本发明描述了与基于高级编解码器的多视图视频译码有关的技术,例如经配置以执行即将来临的高效率视频译码(HEVC)标准的技术的编解码器。此些高级编解码器可以经配置以根据HEVC对两个或更多个视图进行译码,其中可以基本上同时地渲染所述视图的图像以产生三维(3D)视频效应。更具体来说,本发明描述与视差运动向量产生有关的技术。
在一个实例中,一种对视频数据进行解码的方法包含:确定当前视频数据块是使用视差运动向量编码的,其中当前块在容纳块内;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用在容纳块外部并且与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个选择视差运动向量预测子;并且基于所述视差运动向量预测子对视差运动向量进行解码。
在另一实例中,一种用于对视频数据进行解码的装置包含视频解码器,所述视频解码器经配置以:确定当前视频数据块是使用视差运动向量编码的,其中所述当前块在容纳块内;基于对所述当前块的相邻块也在所述容纳块内的确定,在候选列表中用在所述容纳块外部并且与所述容纳块相邻的块替代所述相邻块;从所述候选列表中的多个块中的一个选择视差运动向量预测子;以及基于所述视差运动向量预测子对所述视差运动向量进行解码。
在另一实例中,一种用于对视频数据进行解码的装置包含:用于确定当前视频数据块是使用视差运动向量编码的装置,其中当前块在容纳块内;用于基于对当前块的相邻块也在容纳块内的确定,在候选列表中用在容纳块外部并且与容纳块相邻的块替代所述相邻块的装置;用于从候选列表中的多个块中的一个选择视差运动向量预测子的装置;以及用于基于所述视差运动向量预测子对视差运动向量进行解码的装置。
在另一实例中,一种计算机可读存储媒体上存储有指令,所述指令在被执行时致使一或多个处理器:确定当前视频数据块是使用视差运动向量编码的,其中所述当前块在容纳块内;基于对所述当前块的相邻块也在所述容纳块内的确定,在候选列表中用在所述容纳块外部并且与所述容纳块相邻的块替代所述相邻块;从所述候选列表中的多个块中的一个选择视差运动向量预测子;以及基于所述视差运动向量预测子对所述视差运动向量进行解码。
在另一实例中,一种对视频数据进行编码的方法包含:使用视差运动向量对容纳块内的当前视频数据块进行编码;基于确定与当前块相邻的块也在容纳块内,在候选列表中用在容纳块外部并且与容纳块相邻的块替代相邻块;从候选列表中的多个块中的一个中选择视差运动向量预测子;以及基于视差运动向量预测子对视差运动向量进行编码。
在另一实例中,一种用于对视频数据进行编码的装置包含视频编码器,所述视频编码器经配置以:使用视差运动向量对容纳块内的当前视频数据块进行编码;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用在容纳块外部并且与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个中选择视差运动向量预测子;以及基于视差运动向量预测子对视差运动向量进行编码。
附图中和下面的描述中阐述了一或多个实例的细节。通过描述和图式并且通过权利要求书,将明白其它特征、目的和优点。
附图说明
图1是图解说明利用用于产生视差向量以进行视图间预测的技术的实例视频编码与解码***的框图。
图2是图解说明可以实施用于产生视差向量以进行视图间预测的技术的视频编码器的实例的框图。
图3是图解说明可以实施用于产生视差向量以进行视图间预测的技术的视频解码器的实例的框图。
图4是图解说明实例多视图视频译码(MVC)预测样式的概念图。
图5是图解说明当前预测单元(PU)和空间上相邻块A0、A1、B0、B1和B2的实例的框图。
图6是图解说明各种图片组(GOP)的图片的概念图,其中所述图片是不同类型的。
图7是图解说明块行中的运动数据压缩的概念图。
图8是图解说明用于在包含PU的运动估计范围(MER)之外的替代物的实例的概念图。
图9是图解说明对其检验视差向量的PU的实例的概念图。
图10是图解说明在包含PU的MER之外的替代物的替代性实例的概念图。
图11是图解说明用于PU的视差向量的一或多个候选块处在包含PU的CU内的实例的概念图。
图12是图解说明用于视差产生块单元的视差向量产生的实例的概念图。
图13是图解说明在组合成一个区域时的相邻块的扫描次序的实例的概念图。
图14是图解说明用于时间视差向量检验的实例方法的概念图。
图15是图解说明根据本发明的技术对视差运动向量进行编码的实例方法的流程图。
图16是图解说明根据本发明的技术对视差运动向量进行解码的实例方法的流程图。
具体实施方式
总的来说,在视频译码中,视频译码器使用空间预测(或帧内预测)或时间预测(或帧间预测)对成序列的图片进行预测性译码。为了实现三维(3D)效果,可以基本上同时呈现两个(或更多个)图片,使得来自不同视图的不同图片被观看者的每只眼睛感知到。对应于特定相机角度或水平相机位置的成序列的图片是指3D视频数据的视图。在3D视频译码中,作为对时间预测的补充或替代,可以对图片进行视图间预测。
在ISO/IEC动画专家组(MPEG)和ITU-T视频译码专家组(VCEG)的视频译码联合合作小组(JCT-VC)中正在对高效率视频译码(HEVC)进行视频译码标准化努力。HEVC的工作草案描述于JCTVC-H1003中,“高效率视频译码(HEVC)文本规范草案6(High efficiencyvideo coding(HEVC)text specification draft 6)”,第8届大会:美国,加州,圣何塞市,2012年2月,可在http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip查阅到。
本发明的技术总体上涉及基于HEVC的3D视频译码,也称为3DV。具体来说,本发明提供用于在3DV中实现视图合成模式的技术。如下文更详细地解释的,在HEVC中,例如视频编码器和视频解码器等视频译码器使用基于块的单元(称为译码单元(CU))对图片进行译码。可以使用各种译码模式对CU进行译码。
在一种称为视差补偿预测(DCP)的译码模式中,可以使用视差向量对视频数据块(例如CU或CU的预测单元(PU))进行预测。视差向量可以将来自相同时间例子的不同视图中的密切匹配的块识别为包含当前CU的图片。“视差”总体上是指一个场景中的基本上相同对象的两个块的水平偏移,这个水平偏移是因为在捕获或产生对象的图像时相机视角的水平偏移造成的。视差向量总体上对应于用来相对于不同视图中的图片对CU或CU的PU进行译码的向量。
用于执行视差向量构造的常规HEVC技术已经遇到了某些问题。举例来说,当使用运动估计区域(MER)时,用于获得空间视差向量的空间相邻块可能无法使用,因为那些块处在相同MER中。在这种情况下,最终视差向量可以不可用,或者不太准确。而且,一些视图间预测技术(例如,残余预测)是在CU等级上进行的,而一些视图间预测技术(例如,运动预测)是在PU等级上进行的。因此,可能需要多次进行视差向量产生,因为对块单元的不同等级应用不同的视图间预测技术。当MER包含正对其执行视差运动向量预测的CU或PU时,MER可以称为容纳块,而当CU包含正对其执行视差预测运动向量预测的PU时,CU可以称为容纳块。
此外,即使可能对每一PU都需要视差向量构造,这个PU的时间视差向量也可能类似于相同CU中的其它PU的时间视差向量。此外,当检验时间视差向量时,可能要检验大量PU。即使当可能将视图间参考图片块视为时间的时,也未必将运动向量压缩成16x16块单元。
本发明的技术目的是克服这些问题中的一或多个。这些技术可以简化和统一当前的视差向量产生技术。在一些实例中,当使用MER并且MER比PU大时,对PU的视图间预测可以是基于与当前MER相邻的块的空间视差向量。在一些实例中,即使当视图间预测是在PU等级上进行时,也可以对含有PU的CU进行视差向量产生。在一些实例中,为了为PU产生更加准确的视差向量,可以改善在CU等级上产生的视差向量。所述改善可以如下发生:仅仅进一步检验含有当前PU的CU的空间相邻块。替代地或者另外,改善可以如下发生:仅进一步检验含有当前PU的MER的空间相邻块。替代地或者另外,改善可以如下发生:仅进一步检验当前PU的空间相邻块。
图1是图解说明可以利用用于产生视差向量以进行视图间预测的技术的实例视频编码与解码***10的框图。如图1所示,***10包含源装置12,其提供有待稍后被目的地装置14解码的经编码的视频数据。具体来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括多种多样的装置中的任一种,包含台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些情况下,源装置12和目的地装置14可以被装备成用于无线通信。
目的地装置14可以经由计算机可读媒体16接收有待解码的经编码的视频数据。计算机可读媒体16可包括任何类型的能够将经编码的视频数据从源装置12移动到目的地装置14的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够将经编码的视频数据实时地直接发射到目的地装置14的通信媒体。可以根据通信标准(例如无线通信协议)对经编码的视频数据进行调制,并且将经编码的视频数据发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线路。所述通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的一部分。通信媒体可包含路由器、交换机、基站或任何其它可用于便于从源装置12到目的地装置14的通信的设备。
在一些实例中,可以将经编码的数据从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码的数据。存储装置可包含多种分布式或局部存取的数据存储媒体中的任一种,例如硬驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或另一中间存储装置,其可以存储由源装置12产生的经编码的视频。目的地装置14可以经由流式传输或下载从存储装置存取所存储的视频数据。所述文件服务器可以是能够存储经编码的视频数据并且将所述经编码的视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本机磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)存取经编码的视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或者适合于存取存储在文件服务器上的经编码的视频数据的无线信道与有线连接的任何组合。从存储装置发射经编码的视频数据可以是流式传输发射、下载发射或其组合。
本发明的技术未必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一种的视频译码,例如空中电视广播、有线电视传输、***发射、因特网流式传输视频发射、例如经由HTTP的动态自适应流式传输(DASH)、被编码到数据存储媒体上的数字视频、对存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,***10可以经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可以经配置以应用用于产生视差向量以进行视图间预测的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可以从外部视频源18(例如,外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而不是包含集成的显示装置。
图1的所图解说明的***10仅为一个实例。可以通过任何数字视频编码和/或解码装置执行用于产生视差向量以进行视图间预测的技术。虽然总体上通过视频编码装置执行本发明的技术,但是也可以通过视频编码器/解码器(通常称为“编解码器”)来执行所述技术。此外,也可以通过视频预处理器执行本发明的技术。源装置12和目的装置14仅为此些译码装置的实例,其中源装置12产生用于发射到目的装置14的经译码的视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一个包含视频编码和解码组件。因此,***10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前捕获的视频的视频档案和/或用以从视频内容提供商接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是摄像机,那么源装置12和目的装置14可形成所谓的相机电话或视频电话。然而,如上文提到的,本发明中描述的技术可以适用于总体上的视频译码,并且可以应用于无线和/或有线应用。在每种情况下,可以通过视频编码器20对捕获到的、预捕获到的或计算机产生的视频进行编码。接着可以通过输出接口22将经编码的视频信息输出到计算机可读媒体16上。
计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络传输,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码的视频数据,并且例如经由网络传输将经编码的视频数据提供到目的地装置14。类似地,媒体制造设施(例如,光盘压制设施)的计算装置可以从源装置12接收经编码的视频数据,并且制造含有经编码的视频数据的光盘。因此,在各种实例中,可以将计算机可读媒体16理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息(也由视频解码器30使用),所述语法信息包含描述块和其它经译码的单元(例如,GOP)的特性和/或对块和其它经译码的单元的处理的语法元素。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一种,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可以根据视频译码标准(例如目前正在开发的高效视频译码(HEVC)标准)操作,并且可以符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它私有或行业标准操作,例如ITU-T H.264标准(也称为MPEG4,第10部分,高级视频译码(AVC))或此些标准的扩展。然而,本发明的技术不限于任何特定的译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,多路复用器-多路分用器单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准是由ITU-T视频译码专家组(Video CodingExperts Group,VCEG)连同ISO/IEC动画专家组(MPEG)制定以作为被称为联合视频小组(Joint Video Team,JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用音频视频服务的高级视频译码(Advanced Video Coding for generic audiovisualservices)”中描述了H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4 AVC的扩展。
视频编码器20和视频解码器30各自可经实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当所述技术部分地是用软件实施时,那么装置可以将用于软件的指令存储在合适的非暂时性计算机可读媒体中,并且使用一或多个处理器在硬件中执行指令以执行本发明的技术。视频编码器20和视频解码器30中的每一个都可以包含在一或多个编码器或解码器中,其中的任一个可以作为组合编码器/解码器(编解码器)集成在相应的装置中。
JCT-VC正在致力于HEVC标准的开发。HEVC标准化努力是基于一种称为HEVC测试模型(HM)的视频译码装置的演进模型。HM假设视频译码装置相对于根据例如ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九种帧内预测编码模式,而HM可以提供多达三十三种帧内预测编码模式。
总地来说,HM的工作模型描述视频帧或图片可以分成树块或最大译码单元(LCU)(也称为“译码树单元”或“CTU”,其包含亮本样本和色度样本两者)的序列。位流内的语法数据可以定义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具有与H.264标准的宏块相似的用途,区别是CU不具有大小差别。举例来说,树块可以***成四个子节点(也称为子CU),并且每一子节点又可以是父节点,并且可以***成另外四个子节点。最终未***的子节点(称为四叉树的叶节点)包括译码节点,也称为叶CU。与经译码的位流相关联的语法数据可以定义树块可以***的最大次数,称为最大CU深度,并且还可以定义译码节点的最小大小。因此,位流还可以定义最小译码单元(SCU)。本发明使用术语“块”来指代HEVC的情境中的CU、PU或TU中的任一个,或者其它标准的情境中的类似数据结构(例如,H.264/AVC中的宏块和子块)。
CU包含译码节点和预测单元(PU)以及与译码节点相关联的变换单元(TU)。CU的大小对应于译码节点的大小,并且必须是正方形的形状。CU的大小可以在从8x8像素到具有最多64x64像素或更大的树块大小的范围内。每一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相关联的像素差值可以被变换以产生变换系数,可以将变换系数量化。
叶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”是指水平地分割的2Nx2N CU,上面2Nx0.5N PU,并且下面2Nx1.5N PU。
在本发明中,“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和视频解码器30可以经配置以执行任何或者所有本发明的技术。举例来说,视频编码器20和视频解码器30可以经配置以使用运动估计区域(MER)并行地对视频数据进行译码。根据本发明的技术,当视频编码器20和视频解码器30使用大于现在被译码的PU的MER时,视频编码器20和视频解码器30可以经配置以基于与当前MER相邻的块而不是MER内的块的空间视差向量而为PU执行视图间预测。下文相对于图8-10更详细地描述此些技术的实例。
另外或者替代地,当视频编码器20和视频解码器30经配置以在PU等级上执行视图间预测时,视频编码器20和视频解码器30仍然可以为含有PU的CU执行视差向量产生。下文相对于图11更详细地描述此些技术的实例。同样,视频编码器20和视频解码器30可以经配置以改善在CU等级上产生的视差向量以便为PU产生更准确的视差向量。举例来说,视频编码器20和视频解码器30可以检验含有当前PU的CU的空间相邻块以实现改善。作为另一实例,视频编码器20和视频解码器30可以检验含有当前PU的MER的空间相邻块以实现改善。作为又一实例,视频编码器20和视频解码器30可以检验当前PU的空间相邻块以实现改善。
因此,视频编码器20可以经配置以使用视差运动向量对容纳块内的当前视频数据块进行编码。举例来说,视频编码器20可以确定使用视图间预测对当前块进行编码会得出最好的或者至少可接受的速率失真优化(RDO)特性。而且,当前块可以在容纳块(例如,运动估计区域(MER))内发生。替代地,当前块可包括在CU内发生的PU。
在任何情况下,基于对当前块的相邻块也在容纳块内的确定,视频编码器20可以在候选列表中用在容纳块外部并且与容纳块相邻的块替代相邻块。也就是说,为了执行运动向量编码(例如,在视图间预测的情况下是视差运动向量编码),视频编码器20可以构造候选列表,包含候选运动向量预测子的列表。总地来说,视频编码器20可以从当前块的空间和/或时间相邻块中选择运动向量作为要包含在列表中的候选运动向量预测子。根据本发明的技术,视频编码器20可以用容纳块外部的块的运动向量替代容纳块内的块的运动向量,以允许对容纳块内的视频数据进行并行编码(以及同样进行并行解码)。
视频编码器20可以接着从候选列表中的多个块中的一个中选择视差运动向量预测子。举例来说,视频编码器20可以选择列表中的候选运动向量预测子中最密切地匹配当前块的视差运动向量(例如,通过向量差计算而确定的)的一个候选运动向量预测子。视频编码器20可以接着基于视差运动向量预测子对视差运动向量进行编码。举例来说,视频编码器20可以使用合并模式或者高级运动向量预测(AMVP)技术对视差运动向量进行编码。
在合并模式中,视频编码器20可以发信号通知识别要从中检索运动信息的相邻块的合并索引值,以便使得视频解码器30使用那个相邻块的运动信息作为用于当前块的运动信息。根据本发明的技术,如果发信号通知的相邻块在容纳块外部,那么此信令可以提示视频解码器30检索用于替代块的运动信息以用作用于当前块的运动信息。从对应于合并索引的块继承的运动信息可以进一步包含对应于参考图片的参考图片列表和参考图片索引。为了利用HEVC的仅高级别语法(HLS)扩展,视频编码器20可以经配置以发信号通知视图间参考图片作为长期参考图片,并且发信号通知视图内参考图片作为短期参考图片,在这种情况下,参考图片索引和参考图片列表信令可以与用于单视图译码的HEVC技术保持基本上相同或者完全一样。
在AMVP中,视频编码器20可以发信号通知AMVP索引,其识别要从其检索运动信息的相邻块,其可以用基本上与用于合并模式的合并索引相同的方式对应于相邻块。然而,视频编码器20可以另外对运动向量差值进行编码,其表示视差运动向量与对应于AMVP索引的块的运动向量预测子之间的差。根据本发明的技术,当AMVP索引对应于当前块的也在容纳块内的相邻块时,可以实际上从容纳块外部的块检索定义运动向量预测子的运动信息。视频编码器20还可以发信号通知表示参考图片列表和参考索引的数据。而且,视频解码器30可以使用视差运动向量对当前块进行编码。
因此,视频解码器30可以经配置以执行与视频编码器20的技术基本上相反的技术。举例来说,视频解码器30可以经配置以确定当前视频数据块是使用视差运动向量编码的,其中当前块在容纳块内,基于对当前块的相邻块也在容纳块内的确定,在候选列表中用容纳块外部的与容纳块相邻的块替代所述相邻块,从候选列表中的多个块中的一个选择视差运动向量预测子,并且基于所述视差运动向量预测子对视差运动向量进行解码。
举例来说,视频解码器30可以接收指示当前块是使用视差运动向量编码的信令数据。视频解码器30可以进一步确定当前块在容纳块内的位置,以及当前块的相邻块的位置,以确定是将相邻块还是容纳块外部的与容纳块相邻的块添加到候选列表。
视频解码器30可以接收识别符(例如,合并索引或者AMVP索引),其识别使用哪个相邻块对视差运动向量进行解码。根据本发明的技术,如果发信号通知的相邻块在含有当前块的容纳块内,那么视频解码器30可以实际上从容纳块的在容纳块外部的相邻块检索运动信息。视频解码器30可以接着使用从对应于识别符的块中检索的运动向量预测子对视差运动向量进行解码。同样,视频解码器30可以使用视差运动向量对当前块进行解码。
视频编码器20和视频解码器30各自可在适用的情况下实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合的多种合适的编码器或解码器电路中的任一者。视频编码器20和视频解码器30中的每一个都可以包含在一或多个编码器或解码器中,其中的任一个可以被集成作为组合视频编码器/解码器(编解码器)的一部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝电话。
图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。还可以包含解块滤波器(图2未展示)以对块边界进行滤波,以便从经重建的视频中移除成块假影。如果期望的话,解块滤波器通常将对求和器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)中选出,所述参考图片列表中的每一个识别存储在参考图片存储器64中的一或多个参考图片。在一些实例中,可以作为长期参考图片发信号通知视图间参考图片,而可以作为短期参考图片发信号通知时间参考图片。替代地,可以作为短期参考图片发信号通知视图间参考图片,而可以作为长期参考图片发信号通知时间参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。
运动补偿单元44所执行的运动补偿可以涉及基于运动估计单元42确定的运动向量而取出或产生预测性块。同样,在一些实例中,运动估计单元42和运动补偿单元44可以在功能上集成。在接收到用于当前视频块的PU的运动向量后,运动补偿单元44可以在参考图片列表中的一个中定位运动向量所指向的预测性块。求和器50形成残余视频块,方法是通过从正被译码的当前视频块的像素值减去预测性块的像素值,从而形成像素差值,如下所述。总地来说,运动估计单元42相对于亮度分量执行运动估计,并且运动补偿单元44对色度分量和亮度分量两者使用基于亮度分量计算出的运动向量。模式选择单元40还可以产生与视频块和视频切片相关联的语法元素,以供视频解码器30在对视频切片的视频块进行解码时使用。
此外,视频编码器20可以例如使用合并模式或AMVP中的一种对运动向量进行编码。根据本发明的技术,其中当前块容纳在容纳块(例如,MER)内,当当前块的相邻块在容纳块内时,视频编码器20可以对当前块应用容纳块的相邻块的运动向量,假设容纳块定义了能够被并行译码的区域。也就是说,当当前块在容纳块内时,并且当与当前块相邻的块也在容纳块内时,视频编码器20可以用容纳块外部并且与容纳块相邻的块替代当前块的相邻块以用于运动向量译码的目的。
为了解释根据本发明的运动向量译码技术,当相邻块在含有当前块的容纳块外部时,应将术语“相邻块”理解为是指与当前块相邻的块,但是当原本的相邻块在容纳块内时,应将术语“相邻块”理解为是指与容纳块相邻的并且在容纳块外部的块。在合并模式中,视频编码器20可以对当前块(例如,当前PU)应用相邻块的运动向量。在AMVP模式中,视频编码器20可以计算当前块的运动向量与相邻块的运动向量之间的运动向量差,并且熵编码单元56可以对表示运动向量差的数据进行编码。而且,在合并模式中,熵编码单元56可以对定义识别相邻块的合并索引的数据进行编码,而在AMVP中,熵编码单元56可以对定义识别相邻块的AMVP索引的数据进行编码。合并索引和AMVP索引代表相邻块识别符的实例。
更具体来说,视频编码器20可以构造候选列表,其包含当前块(例如,当前PU)的一或多个空间相邻块的识别符。下面在图5中展示空间相邻块的实例。然而,假设当前块在容纳块内(并且所述容纳块定义了允许并行译码的一个区域),那么视频编码器20可以确定对当前块的也在容纳块内的相邻块中的任一个的替代。图8到11中展示了替代方案的实例。
总地来说,视频编码器20可以用容纳块外部的类似定位的块替代当前块的在容纳块内的相邻块。举例来说,在一些实例中,如果容纳块内的相邻块在当前块的特定拐角处,那么替代块可以在容纳块的相同拐角处。作为另一实例,如果相邻块在当前块的左侧,那么替代块可以具有相同的垂直位置但是将替代块放置在容纳块外部但是靠近容纳块的水平位置。类似地,如果相邻块在当前块的顶侧,那么替代块可以具有相同的水平位置但是将替代块放置在容纳块外部但是靠近容纳块的垂直位置。视频编码器20可以对表示容纳块外部的相邻块的数据进行编码,就仿佛相邻块是在容纳块内并且与当前块相邻一样。然而,如下文相对于图3所论述,当相邻块原本将在容纳块内时,视频解码器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代表视频编码器的一个实例,所述视频编码器经配置以:使用视差运动向量对容纳块内的当前视频数据块进行编码;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用容纳块外部的与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个中选择视差运动向量预测子;以及基于视差运动向量预测子对视差运动向量进行编码。
图3是图解说明可以实施用于产生视差向量以进行视图间预测的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82和求和器80。在一些实例中,视频解码器30可以执行总体上与相对于视频编码器20(图2)描述的编码编次相反的解码编次。运动补偿单元72可以基于从熵解码单元70接收到的时间或视差运动向量产生预测数据,而帧内预测单元74可以基于从熵解码单元70接收到的帧内预测模式指示符产生预测数据。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码的视频切片的视频块和相关联的语法元素的经编码的视频位流。视频解码器30的熵解码单元70对位流进行熵解码,以产生经量化的系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元70将运动向量(时间和/或视差)和与帧间预测(时间或视图间)有关的其它语法元素转发到运动补偿单元72。视频解码器30可以在视频切片等级和/或视频块等级上接收语法元素。
当视频切片被译码为经帧内译码的(I)切片时,帧内预测单元74可以基于发信号通知的帧内预测模式和来自当前帧或图片的先前解码的块的数据为当前视频切片的视频块产生预测数据。当视频帧被译码为经帧间译码的(即,时间B、时间P或视图间)切片时,运动补偿单元72基于从熵解码单元70接收到的运动向量和其它语法元素为当前视频切片的视频块产生预测性块。可以从参考图片列表中的一个内的参考图片中的一个产生预测性块。视频解码器30可以使用默认构造技术基于存储在参考图片存储器82中的参考图片构造参考帧列表,列表0和列表1。
运动补偿单元72通过剖析运动向量和其它语法元素而为当前视频切片的视频块确定预测信息,并且使用预测信息为正被解码的当前视频块产生预测性块。举例来说,运动补偿单元72使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测、时间帧间预测或视图间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的参考图片列表中的一或多个的构造信息、用于切片的每一经帧间编码的视频块的运动向量、用于切片的每一经帧间译码的视频块的帧间预测状态,和用以对当前视频切片中的视频块进行解码的其它信息。
根据本发明的技术,运动补偿单元72可以接收指示如何再现用于当前块的运动信息的语法元素。运动补偿单元72可以接收一或多个语法元素,其指示从其检索用于对用于当前块的运动信息进行解码的运动信息的空间或时间相邻块的识别符。此些语法元素可包含(举例来说)合并索引或AMVP索引。当前块可以在容纳块内(例如,其中当前块可包括MER内的CU或PU,或CU内的PU),并且语法元素所指示的空间相邻块可以对应于当前块的也在容纳块内的相邻块。
在此情况下,根据本发明的技术,运动补偿单元72可以用容纳块的在容纳块外部的相邻块替代识别符所指示的当前块的相邻块(其中识别符可以对应于语法元素中的一个,例如合并索引或AMVP索引)。举例来说,如果识别符对应于在当前块的拐角处的相邻块,则运动补偿单元72可以用容纳块的对应拐角处的块替代,例如,如下文相对于图8所论述。替代地,如果识别符对应于当前块的拐角处的相邻块,则运动补偿单元72可以用相似的水平或垂直位置处但是垂直地或水平地移位到当前块外部的块替代,例如,如下文相对于图10所论述。总地来说,视频解码器30可以经配置以用与视频编码器20使用的相同的方式用容纳块的相邻块替代当前块的此些相邻块,以便能适当地对运动信息进行解码。
更具体来说,运动补偿单元72可以汇编一个候选列表,其包含可从其检索运动信息的一或多个候选相邻块(空间或时间)。根据本发明的技术,当当前块的相邻块在含有当前块的容纳块内时,视频解码器30可以在候选列表中用容纳块的相邻块替代当前块的相邻块。识别从其检索预测性运动信息的识别符(例如,合并索引或AMVP索引)可以对应于候选列表中的条目。
容纳块可以定义并行解码区域。通过使用容纳块外部的数据(例如,使用合并模式或AMVP模式)为当前块预测运动信息,不需要在对用于当前块的运动信息进行解码之前对容纳块内的信息进行解码。以此方式,运动补偿单元72可以对用于容纳块内的两个或更多个块的运动信息进行解码。因此,可以说容纳块定义并行解码区域。换句话说,本发明的技术可以允许视频解码器30并行地对容纳块内的数据进行解码,这可以允许基本上同时地对容纳块内的两个或更多个块进行解码。
运动补偿单元72还可以基于内插滤波器执行内插。运动补偿单元72可以使用视频编码器20在对视频块进行编码期间使用的内插滤波器来计算用于参考块的子整数像素的内插值。在这种情况下,运动补偿单元72可以根据接收到的语法元素确定视频编码器20使用的内插滤波器,并且使用内插滤波器产生预测性块。
逆量化单元76对在位流中提供并且被熵解码单元70解码的经量化的变换系数进行逆量化(即,解量化)。逆量化过程可包含对视频切片中的每一视频块使用视频解码器30计算出的量化参数QPY来确定量化程度和(同样)应当应用的逆量化程度。逆变换单元78对变换系数应用逆变换,例如,逆DCT、逆整数变换或概念上类似的逆变换过程,以便在像素域中产生残余块。
在运动补偿单元72基于运动向量和其它语法元素为当前视频块产生预测性块之后,视频解码器30通过将来自逆变换单元78的残余块与运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行这个求和运算的一个组件或多个组件。如果期望的话,还可以应用解块滤波器对经解码的块进行滤波以便移除成块假影。也可以使用其它环路滤波器(在译码环路中或在译码环路之后)使像素转变平滑,或者以其它方式改进视频质量。接着将给定帧或图片中的经解码的视频块存储在参考图片存储器82中,参考图片存储器82存储参考图片以用于随后的运动补偿。参考图片存储器82还存储经解码的视频以供以后在显示装置(例如,图1的显示装置32)上呈现。
以此方式,图3的视频解码器30表示视频解码器的一个实例,所述视频解码器经配置以:确定当前视频数据块是使用视差运动向量编码的,其中当前块在容纳块内;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用容纳块外部的与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个选择视差运动向量预测子;并且基于所述视差运动向量预测子对视差运动向量进行解码。
图4是图解说明实例MVC预测样式的概念图。多视图视频译码(MVC)是ITU-TH.264/AVC的扩展。可以对HEVC应用类似的技术。在图4的实例中,图解说明了八个视图(具有视图ID“S0”到“S7”),并且针对每一视图图解说明了十二个时间位置(“T0”到“T11”)。也就是说,图4中的每一行对应于一个视图,而每一列指示一个时间位置。
虽然MVC具有可通过H.264/AVC解码器解码的所谓的基础视图,并且MVC也可以支持立体视图对,但是MVC的一个优点是,其可以支持使用两个以上视图作为3D视频输入并且对多个视图所表示的3D视频进行解码的实例。具有MVC解码器的客户端的渲染器可以期望具有多个视图的3D视频内容。
典型MVC解码次序称为时间第一译码。存取单元可以包含用于一个输出时间例子的所有视图的经译码的图片。举例来说,时间T0的图片中的每一个可以包含在共用存取单元中,时间T1的图片中的每一个可以包含在第二共用存取单元中,以此类推。解码次序未必与输出或显示次序一样。
使用包含字母的阴影框在图4中的每一行与每一列的交叉点指示图4中的帧,字母表示对应帧是经帧内译码的(也就是说,I帧),还是在一个方向上帧间译码的(也就是说,作为P帧)或者是在多个方向上帧间译码的(也就是说,作为B帧)。总地来说,通过箭头指示预测,其中被指向的帧使用箭头来源的对象作为预测参考。举例来说,根据时间位置T0处的视图S0的I帧预测时间位置T0处的视图S2的P帧。
对于单视图视频编码,可以相对于不同时间位置的帧对多视图视频译码视频序列的帧进行预测性编码。举例来说,时间位置T1处的视图S0的b帧具有从时间位置T0处的视图S0的I帧指向其的箭头,指示b帧是根据I帧预测的。然而,另外,在多视图视频编码的上下文中,帧可以是被视图间预测的。也就是说,视图分量可以使用其它视图中的视图分量进行参考。在MVC中,举例来说,实现视图间预测,仿佛另一视图中的视图分量是帧间预测参考。在序列参数集(SPS)MVC扩展中发信号通知潜在视图间参考,并且可以通过参考图片列表构造过程修改潜在视图间参考,这使得能够灵活地为帧间预测或视图间预测参考排序。
在H.264/AVC的MVC扩展中,作为一个实例,视差运动补偿支持视图间预测,视差运动补偿使用H.264/AVC运动补偿的语法,但是允许使用不同视图中的图片作为参考图片。MVC可以支持对两个视图的译码,所述两个视图总体上称为立体视图。MVC的优点中的一个是,MVC编码器可以采用两个以上视图作为3D视频输入,并且MVC解码器可以对此多视图表示进行解码。因此,具有MVC解码器的渲染装置可以预期具有两个以上视图的3D视频内容。
在MVC中,在相同存取单元中(也就是说,具有相同时间例子)的图片之间允许视图间预测(IVP)。存取单元总体上是包含用于共同时间例子的所有视图分量(例如,所有NAL单元)的数据单元。因此,在MVC中,准许相同存取单元中的图片之间的视图间预测。当对非基础视图中的一个中的图片进行译码时,如果图片是在不同视图中但具有相同时间例子(例如,相同POC值,并且因此在相同存取单元中),那么可以将所述图片添加到参考图片列表中。可以将视图间预测参考图片放置在参考图片列表的任何位置中,就像任何帧间预测参考图片一样。
在多视图视频译码的上下文中,有两种运动向量。一种是指向时间参考图片的普通运动向量,并且对应的帧间预测模式称为运动补偿预测(MCP)。另一种是指向不同视图中的图片的视差运动向量,并且对应的视图间预测模式称为经视差补偿的预测(DCP)。
在常规HEVC中,有用于预测运动参数的两种模式:一种是合并模式,并且另一种是高级运动向量预测(AMVP)。在合并模式中,构造运动参数(参考图片和运动向量)的候选列表,其中候选参数可以来自空间或时间相邻块。空间和时间相邻块可以形成候选列表,也就是说,可以从中选择运动预测信息的一组候选块。因此,可以通过将索引译码到候选列表中而发信号通知被选择为运动预测信息的运动参数。在解码器侧,一旦对索引进行了解码,就可以在合并模式中继承索引所指向的对应块的所有运动参数。
在AMVP(相应的常规HEVC)中,基于经译码的参考索引导出用于每一运动假设的运动向量预测子的候选列表。这个列表包含与相同参考索引相关联的相邻块的运动向量,以及基于时间参考图片中的位于同一位置的块的相邻块的运动参数导出的时间运动向量预测子。通过将索引发射到候选列表中而发信号通知所选的运动向量。此外,还发信号通知参考索引值和运动向量差。
此外,在HEVC中定义了两种运动数据压缩方法。相对于下面的图6更详细地描述这些方法。
图4提供了视图间预测的各种实例。在图4的实例中,将视图S1的帧图解说明为是根据视图S1的不同时间位置处的帧预测的,并且是根据相同时间位置处的视图S0和S2的帧的帧被视图间预测的。举例来说,根据时间位置T0和T2处的视图S1的B帧以及时间位置T1处的视图S0和S2的b帧来预测时间位置T1处的视图S1的b帧。
在图4的实例中,大写的“B”和小写的“b”意在指示帧之间的不同层级关系,而不是不同的编码方法。总的来说,大写“B”帧比小写“b”帧的预测层级相对更高。图4还使用不同阴影程度图解说明了预测层级的变动,其中阴影量较大的(也就是说,相对较暗的)帧的预测层级高于具有较少阴影的(也就是说,相对较亮的)那些帧。举例来说,图4中的所有I帧都用完全阴影来图解说明,而P帧具有稍微亮的阴影,并且B帧(和小写的b帧)具有相对于彼此的各种阴影程度,但是始终比P帧和I帧的阴影亮。
总的来说,预测层级与视图次序索引有关,因为应当在对层级相对较低的帧进行解码之前对预测层级相对较高的帧进行解码,使得层级相对较高的那些帧可以在对层级相对较低的帧的解码期间用作参考帧。视图次序索引是指示对存取单元中的视图分量的解码次序的索引。在H.264/AVC(MVC修订)的附录H中规定,SPS MVC扩展中暗示了视图次序索引。在SPS中,针对每一索引i,发信号通知对应的view_id。在一些实例中,对视图分量的解码应遵照视图次序索引的升序。如果呈现了所有视图,那么视图次序索引遵照从0到num_views_minus_1的连续次序。
以此方式,可以在对参照参考帧编码的帧进行解码之前对用作参考帧的帧进行解码。视图次序索引是指示对存取单元中的视图分量的解码次序的索引。对于每一视图次序索引i,发信号通知对应的view_id。对视图分量的解码遵照视图次序索引的升序。如果呈现了所有视图,那么所述组视图次序索引可包括从零到比视图的完整数目小一的连续排序的组。
对于层级的相等等级上的某些帧,解码次序可能对彼此没有影响。举例来说,使用时间位置T0处的视图S0的I帧作为时间位置T0处的视图S2的P帧的参考帧,时间位置T0处的视图S2的P帧又用作时间位置T0处的视图S4的P帧的参考帧。因此,时间位置T0处的视图S0的I帧应当在时间位置T0处的视图S2的P帧之前解码,时间位置T0处的视图S2的P帧应当在时间位置T0处的视图S4的P帧之前解码。然而,在视图S1与S3之间,解码次序不重要,因为视图S1与S3不依赖于彼此进行预测,而是仅从预测层级更高的视图预测。此外,视图S1可以在视图S4之前解码,只要视图S1是在视图S0和S2之后解码即可。
以此方式,可以使用层级排序来描述视图S0到S7。假设记法SA>SB意味着视图SA应当在视图SB之前解码。使用这种记法,在图4的实例中,S0>S2>S4>S6>S7。此外,相对于图4的实例,S0>S1、S2>S1、S2>S3、S4>S3、S4>S5并且S6>S5。视图的任何解码次序,只要不违反这些要求,都是可能的。因此,可能有许多不同的解码次序,只有某些限制。
根据本发明的技术,视频编码器20和视频解码器30可以经配置以并行地对一个块(例如,容纳块)内的数据进行译码。为了实现这一点,视频编码器20和视频解码器30可以经配置不使用容纳块内的数据来预测容纳块内的其它数据。举例来说,视频编码器20和视频解码器30可以经配置以使用来自当前块外部的块的预测性运动信息对容纳块内的当前块的运动信息进行译码。因此,视频编码器20和视频解码器30可以用运动预测候选项作为替代对例如时间和/或视差运动向量进行译码。以此方式,视频编码器20和视频解码器30可以使用本发明的技术对例如图4的时间和/或视差运动向量进行编码。
图5是图解说明当前PU和空间上相邻块A0、A1、B0、B1和B2的实例的框图。图5描绘了当前PU与其空间上相邻的PU之间的关系。为了本论述的目的,定义下面的符号:
可以使用亮度位置(xP,yP)(也就是说,亮度分量)相对于当前图片的左上方的样本指定当前PU的左上方的亮度样本。
变量nPSW和nPSH可以表示用于亮度(也就是说,在亮度分量中)的当前PU的宽度和高度。
在这个实例中,相对于当前图片的左上方样本的当前预测单元N的左上方亮度样本是(xN,yN)。接着可以分别将(xN,yN)(其中用A0、A1、B0、B1或B2取代N)定义为(xP-1,yP+nPSH)、(xP-1,yP+nPSH-1)、(xP+nPSW,yP-1)、(xP+nPSW-1,yP-1)或(xP-1,yP-1)。
如上所述,在一些实例中,例如视频编码器20或视频解码器30等视频译码器可以执行时间运动向量预测。也就是说,可以相对于时间运动向量预测子(TMVP)对当前PU的运动向量进行译码。为了获得TMVP,首先,视频译码器可以识别位于同一位置的图片(例如,与当前图片相同的存取单元内的图片)。如果当前图片的切片是B切片,那么可以在切片标头中发信号通知collocated_from_l0_flag,以指示位于同一位置的图片是来自RefPicList0还是RefPicList1。
此外,对于B切片,可以在已经构造了最终参考图片列表(RefPicList0和RefPicList1)之后构造组合列表(RefPicListC)。如果对组合列表存在参考图片列表修改语法,那么可以进一步修改组合列表。
在识别出参考图片列表之后,可以使用在切片标头中发信号通知的collocated_ref_idx识别列表中的图片中的图片。可以接着通过检验位于同一位置的图片而识别位于同一位置的PU。可以使用含有这个PU的CU的右上方PU的运动,或含有这个PU的CU的中央PU内的右上方PU的运动。
当使用通过上述过程识别的运动向量产生用于AMVP或合并模式的运动候选项时,可以基于时间位置(通过用于图片的图片次序计数(POC)值反映)对其进行缩放。在HEVC中,图片参数集(PPS)包含旗标enable_temporal_mvp_flag。当具有temporal_id等于0的特定图片参考具有enable_temporal_mvp_flag等于0的PPS时,可以将DPB中的所有参考图片标记为“不用于时间运动向量预测”,并且在对特定图片或按照解码次序在所述特定图片之后的图片进行解码时,将不使用来自按照解码次序在所述特定图片前面的图片的运动向量作为时间运动向量预测子。
图6是图解说明各种图片组(GOP)的图片的概念图,其中所述图片是不同类型的。具体来说,图6展示了前一GOP 100、当前GOP 102和下一GOP 104。前一GOP 100包含图片106、108。当前GOP 102包含图片110–124(其中图片124表示图6的实例中的干净随机存取图片(CRA)的实例)。下一GOP 104包含图片126、128。
图片106–128中的每一个包含表示对应图片的POC值的数值。应注意,解码次序可能不同于POC值所指示的显示次序。图6中的箭头表示潜在预测。具体来说,箭头起源的图片可以使用箭头所指向的图片作为参考图片。举例来说,可以使用图片108(具有POC值16)作为用于预测图片116(具有POC值20)的参考图片。
在HEVC中,有可以通过网络抽象层(NAL)单元类型识别的四种图片类型。这些类型是瞬时解码刷新(IDR)图片、干净随机存取(CRA)图片、时间层存取(TLA)图片和并非IDR、CRA或TLA图片的经译码的图片。在这个实例中,具有POC值24的图片是CRA图片。
IDR和经译码的图片是基本上从H.264/AVC规范遗传的图片类型。CRA和TLA图片类型是HEVC中新有的,并且在H.264/AVC规范中不可用。CRA图片是有利于从视频序列中间的任何随机存取点开始解码的图片类型,这比***IDR图片更高效。在HEVC中,从这些CRA图片开始的位流也是符合的位流。TLA图片是可以用于指示有效时间层切换点的图片类型。
在视频应用(例如广播和流式传输(例如,经由网络,例如根据HTTP动态自适应流式传输(DASH)、实时传送协议(RTP)或实时流式传输协议(RTSP))),需要一个重要的特征,即用户要以最小的延迟在不同信道之间切换,并且跳到视频的特定部分。通过在视频位流中的规律的时间间隔下具有随机存取图片,可以实现这个特征。可以使用在H.264/AVC和HEVC两者中指定的IDR图片进行随机存取。然而,由于IDR图片开始经译码的视频序列并且总是清除经解码图片缓冲器(DPB),所以按照解码次序在IDR后面的图片不能使用在IDR图片前面解码的图片作为参考。因此,依赖于IDR图片进行随机存取的位流的译码效率可能显著降低(例如,6%)。为了改进译码效率,HEVC中的CRA图片允许按照解码次序在CRA图片后面但是按照输出次序在其前面的图片使用在CRA图片前面解码的图片作为参考图片。
图6中展示了围绕CRA图片(图片124)的实例预测结构。CRA图片124(具有POC24)属于当前GOP 102,其含有按照解码次序在CRA图片124后面但是按照输出次序在CRA图片124前面的其它图片110–122(具有POC值17到23)。也就是说,因为图6的实例中的图片110–122(具有POC值17到23)可能依赖于图片124,或者依赖于一个又依赖于图片124的图片,所以,必须在图片110-122之前对图片124进行解码。因此,称图片110–122为CRA图片124的前导图片,并且如果解码是从当前CRA图片前面的IDR或CRA图片开始的,那么可以正确地对图片110-122进行解码。然而,当发生从CRA图片124的随机存取时,不能正确地对前导图片进行解码。也就是说,如图6的实例中所示,前导图片可以依赖于位流中早先的图片,例如图片108。因此,在随机存取解码期间通常会丢弃前导图片110–122。
为了防止来自依据解码开始的位置可能不可用的参考图片的错误传播,可以对如图6所示的下一GOP 104中按照解码次序和输出次序都在CRA图片124后面的所有图片进行译码,以便不使用按照解码次序或输出次序在CRA图片124前面的任何图片(其包含所有POC值17–23的前导图片110–122)作为参考。
在H.264/AVC中用恢复点SEI消息支持类似的随机存取功能性。H.264/AVC译码器实施方案可能支持或者可能不支持所述功能性。在HEVC中,将从CRA图片开始的位流视为符合的位流。当位流从CRA图片开始时,CRA图片的前导图片可能会参考不可用并且因此不能被正确地解码的参考图片。然而,HEVC指定不输出开始CRA图片的前导图片,因此得来名称“干净的随机存取”。为了确立位流符合要求,HEVC指定解码过程产生不能用于对非输出前导图片进行解码的参考图片。然而,符合译码器实施方案不是必须遵照所述解码过程,只要其与从位流开始处执行解码过程时相比能产生相同的输出即可。
值得注意的是,在HEVC中,符合位流可能根本不包含IDR图片,并且因此,可能含有经译码视频序列的子集或者不完全的经译码视频序列。
图7是图解说明块行中的运动数据压缩的概念图。具体来说,所述块通过16x16块边界150A–150E分开。在图7的实例中,可以将用于阴影块的运动信息存储在行缓冲器中。无阴影的块可以共享相邻块的运动信息。因此,成对块152A–152I中的每一对可以共享运动信息。HEVC中的运动向量存储压缩方法经过设计以减少在为合并/跳过模式和AMVP存储和加载时间运动向量方面花费的存储器带宽。16x压缩方法基本上在水平和垂直两个方向上以四为因子对运动向量场进行下取样,从而为每一16x16区域产生相同的运动向量。
运动数据总体上包含帧间预测方向(例如,对于具有较早显示时间的图片(列表0),是具有较晚显示时间的图片(列表1),或者是双向的)、参考图片索引(例如,到参考图片列表中的索引)和运动向量(MV),其可包含水平和垂直分量。对于需要存取上部LCU行的运动数据的每一PU,仅可以存取行缓冲器中的压缩的运动数据。图7展示了一个行的2:1运动数据压缩。对于每四个4x4块,将第一和最后4x4块的运动数据存储在行缓冲器中。第一块的运动数据表示最前面两个块的运动数据。最后块的运动数据表示最后面两个块的运动数据。以此方式,只需要一半的存储空间。
在HEVC中,LCU可以划分成并行运动估计区域(MER),并且仅允许在合并/跳过MVP列表构造过程中包含属于与当前PU不同的MER的那些相邻PU。可以在图片参数集(PPS)中作为log2_parallel_merge_level_minus2发信号通知MER的大小。当MER大小大于NxN(其中2Nx2N是最小CU大小)时,MER可以用空间相邻块(如果其在与当前PU相同的MER内部)被视为不可获得的方式生效。
MPEG中的基于HEVC的3D视频译码(3D-HEVC)编解码器是基于在m22570(HeikoSchwarz、Christian Bartnik、Sebastian Bosse、Heribert Brust、Tobias Hinz、Haricharan Lakshman、Detlev Marpe、Philipp Merkle、Karsten Müller、Hunn Rhee、Gerhard Tech、Martin Winken、Thomas Wiegand,“弗劳恩霍夫HHI的3D视频技术提案说明(Description of 3D Video Technology Proposal by Fraunhofer HHI)(HEVC兼容;配置A)”,ISO/IEC JTC1/SC29/WG11MPEG2011/m22570,瑞士,日内瓦,2011年11月)和m22571中提议的解决方案。对3D-HEVC的参考软件的说明可参见Heiko Schwarz、Krzysztof Wegner,“可考虑的用于基于HEVC的3D视频译码的测试模型(Test Model under Considerationfor HEVC based 3D video coding)”,ISO/IEC JTC1/SC29/WG11MPEG2011/N12559,美国,圣何塞,2012年2月。称为HTM的参考软件可查阅https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/trunk。
在陈(Chen)等人的“用于3D-HEVC的视差向量构造方法(Disparity VectorConstruction Method for 3D-HEVC)”(代理人案号121833U1/1212:178USP1和121833U2/1212:178USP2,2012年3月14日提交的第61/610,961号美国临时申请案,和2012年4月11日提交的第61/623,041号美国临时申请案)中,对视图间模式预测描述了根据空间视差向量(SDV)、时间视差向量(TDV)或隐式视差向量(IDV)的视差向量产生(构造)方法。如本文中所定义,SDV是指向视图间参考的当前PU的空间相邻PU的运动向量。TDV可以是来自具有相同存取单元的任何参考图片或视图间图片中的位于同一位置的PU或位于同一位置的LCU的视差运动向量。替代地,如果来自用于TMVP的图片的位于同一位置的PU的运动向量或由TMVP产生的运动向量是视差向量,那么也可以将其视为TDV。如果当前PU的空间或时间相邻PU使用了视图间运动预测,那么用于相邻PU的视差向量可以是IDV。可以使用来自上述三个种类的视差向量构造视差向量候选列表,并且可以基于某种准则选择其中的一个,并且将其直接用于IMP。
可以对AMVP和MERGE两种模式应用视图间运动预测。对于每一PU,用于视图间运动预测(DVIVMP)的视差向量是所构造的视差向量,并且可以用于视图间运动预测。为了包含视图间运动预测,AMVP模式已经用可以将视图间运动向量预测子添加到候选列表的方式扩展。基于对于当前块的中间样本的深度估计,可以如上所述确定视差向量和参考视图中的参考块。如果用于当前块的参考索引是参考视图间参考图片,那么将视图间运动向量预测子设置成等于对应的视差向量。如果当前参考索引是参考时间参考图片,并且参考块使用参考相同存取单元作为当前参考索引的运动假设,那么可以使用与这个运动假设相关联的运动向量作为视图间运动向量预测子。在其它情况下,可以将所述视图间运动向量预测子标记为无效的,并且不在运动向量预测子候选列表中包含所述视图间运动向量预测子。
类似于AMVP模式,可以通过可以使用视图间运动预测获得的运动参数集来扩展运动参数的候选列表。对于每一潜在的运动假设,可以用给定次序调查参考图片列表的最前面两个参考索引。可以用与针对AMVP模式相同的方式导出用于参考索引0的候选运动向量。如果所导出的运动向量是有效的,那么可以针对所考虑的假设使用参考索引0和所导出的运动向量。否则,可以用相同方式测试参考索引1。如果它还产生无效的运动向量,那么可以将运动假设标记为不可使用。为了优选时间预测,如果第一索引参考视图间参考图片,那么可以将对参考索引进行测试的次序颠倒。如果所有潜在运动假设都被标记为不可使用,那么不能选择视图间候选项。
在3D-HEVC中支持视图间残余预测(IRP)。基于当前图片的对应深度图(其可以是估计深度图),可以为当前块确定视差向量。可以接着使用视差向量在参考视图(残余参考块)中定位残余块。当为一个块启用了残余预测时,除了用于这个块的经运动补偿的预测子和发信号通知的残余之外,还可以添加残余参考块。
在陈等人的“用于多视图视频的运动参数预测和译码(Motion ParameterPrediction and Coding for Multiview Video)”(代理人案号为122144P1/1212:203USP1,2012年4月9日提交的第61/621,929号美国临时申请案)中为IMP和IRP两者描述了根据空间和时间相邻块的视差向量产生方法。如下定义所述解决方案中的一种。
候选空间相邻块可以与在AMVP期间检验的那些相同,并且候选空间相邻块的次序是A0、A1、B0、B1或B2,如图5所描绘。如果经排序的空间相邻块中的一个的运动向量是视差运动向量,那么其可以用于产生视差向量。可以基于一组参考图片(称为候选图片)为每一候选图片导出来自时间相邻块的运动向量的时间视差向量(TDV),可以检验一组不同的块。
可以用参考索引的升序检验候选图片。当一个参考索引对应于RefPicList0和RefPicList1中的两个图片时,来自RefPicListX的图片在另一个图片前面,其中X等于另一图片前面的collocated_from_l0_flag。可以为每一候选图片选择三个候选区域。当一个区域覆盖多个PU或16x16区域时,可以用光栅扫描次序扫描此候选区域的每一16x16区域的PU或左上方的4x4块。否则,可以为视差向量导出选择左上方的4x4块。CPU可以对应于当前PU的位于同一位置的区域;CLCU可以对应于覆盖当前PU的位于同一位置的区域的最大译码单元(LCU);并且BR可以对应于右下方的4x4块。当分别对IMP或IRP使用视差向量时,可以在PU或CU等级中执行视差向量产生过程。
最高效的译码工具之一是视图间运动预测(IMP),其中基于相同存取单元中的其它视图的已经译码的运动参数来预测或推断依赖视图中的块的运动参数。
图8是图解说明用于在包含PU的运动估计范围(MER)之外的代替物的实例的概念图。在图8的实例中,PU 162、164和166在MER 160内。也就是说,MER 160表示含有PU 162、164和166的容纳块的实例。根据本发明的技术,例如视频编码器20和/或视频解码器30等视频译码器可以经配置以执行空间视差向量检验。在一些实例中,视频译码器在对PU进行译码时可以使用MER。以此方式,视频译码器可能不能够使用MER内部的块获得空间视差向量。在这种情况下,可以使用替代块。
PU 162、164和166具有对应于图5的块A0、A1、B0、B1和B2的相邻块。举例来说,PU162与相邻块172A、176B、176C、176D和176E相邻。作为另一实例,PU 164与相邻块174A–174E相邻。作为又一实例,PU 166与相邻块178A–178E相邻。此外,MER 160具有其自身的相邻块,块172A–172E。总的来说,末尾具有字母“A”的相邻块对应于图5的块B2,末尾具有字母“B”的相邻块对应于图5的块B1,末尾具有字母“C”的相邻块对应于图5的块B0,末尾具有字母“D”的相邻块对应于图5的块A1,并且末尾具有字母“E”的相邻块对应于图5的块A0。
当如图8所描绘的PU的A0或A1相邻(左上方)块在MER 160内部时(例如,块174D和174E),可以将那些块视为不可使用。因此,可以将MER 160的A0或A1相邻块(块172D和172E)用作替代。如图8中针对PU 164所示,PU 164的A0和A1块是块174D和174E,并且在这个实例中被视为不可使用,因为这些块在还包含PU 164的MER 160内部。因而,视频编码器20和视频解码器30可以用块172D替代块174D,并且用块172E替代块174E。
以此方式,块174D和174E表示在当前块(在这个实例中是PU 164)左下方的相邻块。此外,在这个实例中,视频编码器20和视频解码器30可以分别用块172D和172E替代块174D和174E。这个替代表示用MER 160左侧的相邻块(例如,块172D、172E)替代当前块左下方的相邻块(例如,PU 164的块174D、174E)的实例。
当PU的B0或B1相邻(右上方)块在MER 160内部时,可以将那些块视为不可使用。举例来说,可以将与PU 166相邻的相邻块178B、178C和与PU 164相邻的相邻块174B、174C视为不可使用。因此,可以将MER 160的B0或B1相邻块(在这个实例中,是块172B、172C)用作替代块。如图8中针对PU 166所示,在这个实例中,块178B和178C是不可使用的,因为这些块在MER 160内部,MER 160还包含PU 166。因此,视频编码器29和视频解码器30可以用相邻块172B、172C(MER 160的相邻块)替代相邻块178B、178C。同样,视频编码器20和视频解码器30可以用相邻块172B、172C(MER 160的相邻块)替代PU 164的相邻块174B、174C。
这个替代表示一个实例,其中,当还含有当前块(例如PU 164、166中的一个)的容纳块中的相邻块对应于当前块右上方的相邻块(例如,174B、174C、178B、178C中的一个)时,视频编码器20和视频解码器30可以用右上方相邻块(例如,块172B、172C中的一个)替代用于当前块(例如,PU 164、166中的一个)右上方的相邻块(例如,174B、174C、178B、178C中的一个)的MER 160。图8中在相邻块之间描绘的箭头表示替代。
当PU的B2相邻(左上方)块在还包含PU(例如,PU 164的相邻块174A)的MER 160内部时,可以将相邻块视为不可使用。因此,视频编码器20和视频解码器30可以用MER 160的B2相邻块(例如,相邻块172A)作为对PU 164的相邻块174A的替代。这个替代表示一个实例,其中,当相邻块对应于当前块左上方的相邻块时,视频编码器20和/或视频解码器30可以用MER左上方的相邻块替代当前块左上方的相邻块。
当PU的所有相邻块都在包含PU的MER外部时,不需要替代。对于图8的实例中的PU162的相邻块172A、176B–176E是这样的情况。
图9是图解说明对其检验视差向量的PU 210的实例的概念图。图9使用每一位置定义下方的箭头和数字图解说明相对相邻位置。PU 210具有相邻空间块212–220和相邻时间块222。请注意,执行视差向量产生的视频译码器除了图9的空间相邻视差向量之外还可以检验其它类型的视差向量,例如,时间视差向量,如陈等人的“用于多视图视频的运动参数预测和译码”中描述,如上所述。图9的实例描述了当从相邻块212–220检验空间视差向量的情况,这些空间视差向量恰好与在AMVP或MERGE中检验的那些空间视差向量相同。在此情况下,当使用MER时,可以引入替代,如上文相对于图8所论述。其它过程可以保持不变。
替代地,当空间相邻块在MER内部时,可以检验在MER的边界处的水平或垂直对准的块,而不是检验在MER内部的那些块。对于块220、218(分别对应于块A0、A1),可以使用在MER的左边界处的水平对准的块作为替代。对于块216、214(分别对应于块B0、B1),可以使用在MER的顶部边界处的垂直对准的块作为替代。对于块212(对应于块B2),可以使用在MER的左边界处的水平对准的块和在MER的顶部边界处的垂直对准的块两者作为替代。
图10是图解说明在包含PU的MER外部的替代物的替代性实例的概念图。图10的实例图解说明了包含PU 232、236的PU。PU 232具有空间相邻块234A–234E。PU 236具有空间相邻块238A–238E。如图10中描绘,当PU的A0或A1相邻块在包含PU的MER内部时,可以将A0或A1相邻块视为不可使用。因此,可以使用在水平方向上在MER外部的对准块(也就是说,垂直对准的块)作为替代。如图10中针对PU 232所示,PU 232的块234D和234E(对应于块A0和A1)是不可使用的,因为所述块在还包含PU 232的MER 230内部。因此,视频编码器20和视频解码器30可以分别用块244D、244E替代块234D、234E。在这个实例中,块244D、244E具有与块234D、234E相同的垂直位置,但是在MER 230外部并且与MER 230相邻。
以此方式,用块244D和244E替代块234D和234E表示一个实例,其中,当当前块(例如,PU 232)的相邻块对应于当前块的左下方相邻块(块234D、234E)时,视频编码器20和视频解码器30可以用MER 230的左侧相邻块(例如,块244D、244E中的相应一个)替代当前块左下方的相邻块(例如,块234D、234E中的一个),使得MER的左侧相邻块具有与当前块的左下方的相邻块相同的垂直位置。具体来说,在这个实例中,块244D具有与块234D相同的垂直位置,并且块244E具有与块234E相同的垂直位置。
当PU的B0或B1相邻(右上方)块在包含PU的MER内部时,可以将所述块视为不可使用。因此,可以使用在垂直方向上在MER外部的对准块(也就是说,水平对准的块)作为替代。举例来说,如针对图10中的PU 236所示,PU 236的相邻块238B、238C是不可使用的,因为所述块在包含PU 236的MER 230的内部。因此,视频编码器20和视频解码器30可以用块246B、246C替代块238B、238C,其中块246B、246C分别具有与块238B、238C相同的水平位置,但是具有将块246B、246C放置在MER 230外部的垂直位置。对于PU 232(具体来说是PU 232的相邻块234B、234C)来说也是这种情况,视频编码器20和视频解码器30可以分别用块244B、244C替代相邻块234B、234C。
因此,分别用于块238B、238C、234B、234C的替代块246B、246C、244B、244C表示一个实例,其中,当当前块的相邻块对应于当前块的右上方的相邻块时,视频编码器20和视频解码器30可以用MER上方的相邻块替代当前块右上方的相邻块,使得MER的上方相邻块具有与当前块右上方的相邻块相同的水平位置。
当PU的B2相邻(左上方)块在MER内部时,可以将所述块视为不可使用的。视频编码器20和视频解码器30可以用在水平或垂直方向上但是在MER 230外部的对准的块来替代。对于图10中的PU 232的相邻块234A是这样的情况,可以用块240、242作为对相邻块234A的替代。块234A的替代块240表示一个实例,其中,当当前块的相邻块对应于当前块的左上方的相邻块时,视频编码器20和视频解码器30可以用MER的左侧相邻块取代当前块左上方的相邻块,使得MER的左侧相邻块具有与当前块的左上方相邻块相同的垂直位置。块234A的替代块242表示一个实例,其中,当当前块的相邻块对应于当前块的左上方的相邻块时,用MER的上方相邻块替代当前块左上方的相邻块,使得MER的上方相邻块具有与当前块的左上方相邻块相同的水平位置。
以此方式,作为图8的实例的替代方案,视频编码器20和视频解码器30执行的视差运动产生方法可以检验各个相邻块。在这种情况下,当PU的相邻块在MER内部时,视频编码器20和视频解码器30可以用在含有所述PU的MER的类似位置或方向上的相邻块替代在MER内部的所述PU的相邻块。
图11是图解说明用于PU的视差向量的一或多个候选块处在包含PU的CU内的实例的概念图。这个实例是关于将PU等级视差向量产生与CU等级视差产生统一。在这个实例中,对于给定PU(例如,当前PU 260),不是检验空间相邻块266、274、278,而是可以只检验含有当前PU 260的CU 280的空间相邻块。
相对于图11中所示的实例,本应检验的当前PU 260的相邻块266、274、278现在不被检验,因为可能不存在CU 280的相邻块,或者可能不属于CU的B0、B1、B2、A0、A1位置中的任一个(位置B0、B1、B2、A0、A1是相对于图9的论述所定义的)。视差向量产生可以检验其它类型的视差向量,例如时间视差向量,如上文论述的陈等人的“用于多视图视频的运动参数预测和译码”中所描述。以此方式,这个实例可以统一用于PU和CU的空间相邻块,使得此些空间相邻块可以共用用于空间视差向量检验的相同过程,并且得出相同结果。
因此,CU 280表示含有当前PU 260的容纳块的实例。视频编码器20和视频解码器30可以用块264替代块266,用块272替代块274,并且用块276替代块278,以便对当前PU 260的运动向量进行译码。以此方式,可以并行地对PU 260、262进行译码。
在一些实例中,视频译码器可以执行与图11针对MER情况(例如,针对MER内部的PU)解释的技术相似的技术,对于所述PU的空间视差向量检验的过程和结果可以与对于含有PU的MER的过程和结果相同。
在一些实例中,可以统一MER和PU/CU视差向量产生技术。可以选择MER和CU的最大大小作为用于空间视差向量检验的视差产生块单元的大小。与上述实例类似,MER或CU内部的每一PU或CU可以共用空间视差向量检验的相同过程和结果。
举例来说,假设当前CU大小是16x16,而MER的大小是32x32。在这种情况下,用于获得空间视差向量的视差产生块单元具有32x32的大小,并且覆盖当前PU,并且这个32x32块单元内部的每一CU和PU共用空间视差向量检验的相同过程和结果。
作为另一实例,假设当前CU大小是16x16,而MER的大小是4x4。在这种情况下,用于获得空间视差向量的视差产生块单元具有16x16的大小,并且覆盖当前PU,并且这个16x16译码单元内部的每一PU共用空间视差向量检验的相同过程和结果。
图12是图解说明用于视差产生块单元的视差向量产生的实例的概念图。在这个实例中,可以将视差产生块单元定义为当前CU和含有任何PU的MER中的较大的一个。假设视差产生块单元具有2Mx2M像素的大小,并且左上方像素坐标是(x0,y0)。可以使用视差产生块单元(DGBU)300的顶部相邻(4x4)块(在T0 312和T1 314中)和左侧相邻块(在L0 316和L1318中)来预测给定PU。
顶部相邻块可以分成两个部分:T0 312和T1 314,其中T0 312覆盖DGBU 300(M)的宽度的第一半内的块,并且T1 314覆盖包含DGBU 300(M)的宽度的第二半的块和另外一个块,即DGBU 300的右上方相邻块。
左侧相邻块可以分成两个部分:L0 316和L1 318,其中L0 316覆盖DGBU 300(M)的高度的第一半内的块,并且T1 318覆盖包含DGBU 300(M)的高度的第二半的块和另外一个块,即DGBU 300的左下方相邻块。
左上方块(标记为B 310)可以是T0 312或L0 314的一部分,这取决于例如区域变焦区0 302、变焦区1 304、变焦区2 306、变焦区3 308中的一个内的PU或CU的位置。替代地,B 310可以始终属于T0 312。替代地,B可以始终属于L0 316。因此,可以针对相邻区域标记T0 312、T1 314、L0 316和L1 318。
所述四个区域的检验次序可以取决于中央PU或CU的所选像素相对于DGBU 300左上方的像素(x0,y0)的相对位置,标示为(dx,dy)。所选像素可以来自PU或CU的中间。首先,DGBU 300可以分成四个变焦区(变焦区0 302、变焦区1 304、变焦区2 306、变焦区3 308),其各自用左上方像素位置和右下方像素位置的相对坐标标示,如下(在图12中描绘):变焦区0 302:(0,0)和(M,M);变焦区1 304:(M+1,0)和(2M-1,M);变焦区2 306:(0,M+1)和(M,2M-1);以及变焦区3 308:(M+1,M+1)和(2M-1,2M-1)。替代地,所选的像素可以在PU或CU的左上角,并且可以相应地重新定义4个变焦区。
可以如下定义T0 312、T1 314、L0 316和L1 318的次序:如果(dx,dy)在变焦区0312中,并且dx=dy,那么次序可以是L0 316、T0 312 312、L1 318 318、T1 314 314。替代地,L0 316 316和T0 312 312的次序可以切换,并且L1 318 318和T1 314 314的次序可以切换。如果(dx,dy)在变焦区0 302中并且dx<dy,那么次序可以是L0 316、T0 312、L1 318、T1 314,替代地,次序可以是L0 316、L1 318、T0 312、T1 314。如果(dx,dy)在变焦区0 302中并且dx>dy,那么次序可以是T0 312、L0 316、T1 314、L1 318,替代地,次序可以是T0312、T1 314、L0 316、L1 318。如果(dx,dy)在变焦区1 304中,那么次序可以是T1 314、T0312、L0 316、L1 318。如果(dx,dy)在变焦区2 306中并且dx=dy,那么次序可以是L1 318、T1 314、L0 316、T0 312,替代地,L0 316和T0 312的次序可以切换,并且L1 318和T1 314的次序可以切换。如果(dx,dy)在变焦区3 308中并且dx<dy,那么次序可以是L1 318、T1 314、L0 316、T0 312,替代地,次序可以是L1 318、T1 314、L0 316、T0 312。如果(dx,dy)在变焦区3中并且dx>dy,那么次序可以是T1 314、L1 318、T0 312、L0 316,替代地,次序可以是T1314、T0 312、L1 318、L0 316。
对于每一区域,视频译码器可以从左到右或者从上到下检验所有块(4x4),这取决于所述块是属于顶部区域还是左侧区域。一旦可以获得视差向量,就产生视差向量,并且对整个区域的扫描结束,并且产生过程可以返回这个视差向量。如果不可用视差向量,那么产生过程可以返回空。
如果满足下列条件,则可以将视差向量的可获得性定义为可以获得:块中的至少一个运动向量是视差运动向量,并且视差运动向量在参考视图和目标视图方面与目标视差向量匹配。替代地,如果块中的至少一个运动向量是视差运动向量,则可以将视差向量的可获得性定义为可以获得。
视频译码器可以经配置以为任何PU产生空间视差向量。首先,可以产生并且暂时存储用于每一区域的视差向量,因此在这个实例中,可以有多达4个视差向量。对于每一PU或CU,由于可以如上所述确定L0 316、L1 318、T0 312、T1 314的次序,所以可以用给定次序检验每一区域。当检验了所述区域中的每一个,并且其对应视差向量(已经产生或者已知为空)不是空的时,可以将所述视差向量设置成PU或CU的视差向量,并且整个过程可以停止。如果未找到视差向量,那么整个过程可以返回空(不可用的视差向量)。
视频译码器还可以分配左上方块“B 310”。上述一种替代方法涉及块B属于哪个区域可能取决于区域次序。在一个实例中,视频译码器依据首先检验哪个区域而向L0 316或T0 312分配B 310。
在替代实例中,L0 316和L1 318可以组合成L,并且T0 312和T1 314可以组合成T。同时,如果应用的话,可以从T或L中移除B 310。(dx,dy)仍然可以是所选像素的相对坐标。可以将所检验的区域的次序定义为B;如果(dx<=dy),则定义为L,否则为T;并且如果(dx<=dy),则定义为T,否则为L。替代地,所检验的区域的次序可以是:如果(dx<=dy)则为L,否则为T;如果(dx<=dy)则为T,否则为L;以及B。
在另一替代方案中,L或T内部的扫描次序不是只从左到右或从上到下。(dx,dy)仍然是所选像素的相对坐标。如果dx<=M,则T中的块的扫描次序可以是从左到右,否则为从右到左。如果dy<=M,则L中的块的扫描次序可以是从上到下,否则为从下到上。
在另一替代方案中,L0 316、L1 318、T0 312或T1 314内部的扫描次序不是只从左到右或从上到下。L0 316、L1 318、T0 312或T1 314内部的次序可以依据所选像素的相对坐标(dx,dy)而颠倒。举例来说,如果M/2<dx<=M,则T0 312内部的块的扫描次序可以是从右到左。
在另一替代方案中,并不扫描L0 316、L1 318、T0 312或T1 314中的所有块,可以只扫描每一区域(L0 316、L1 318、T0 312和T1 314)的中间块。所有坐标可以是相对于(x0,y0)。对于L0 316,中间块从M/2的相对y坐标开始。对于L1 318,中间块从M*3/2的相对y坐标开始。对于T0 312,中间块从M/2的相对x坐标开始。对于T1 314,中间块从M*3/2的相对x坐标开始。在这种情况下,可以额外添加B。因此,总共在视差向量产生期间可以只检验4或5个块以寻找空间块。
替代地,可以只扫描上述每一组合区域(L和T)的中间块。对于L,中间块可以从M的相对y坐标开始;对于T,中间块可以从M的相对x坐标开始;此外,可以添加B。因此,总共可以只检验2或3个块。
替代地,可以只扫描每一区域(L和T)的中间块。此处,L或T可包含B。
在另一替代方案中,T0 312、T1 314、L0 316和L1 318的次序可以对于视差产生块单元中的所有PU或CU是固定的。检验次序可以是:L1 318、L0 316、T1 314、T0 312、B。替代地,可以应用上述次序的任何置换。对于L1 318或L0 316中的块,检验次序可以是从上到下或从下到上。对于T1 314或T0 312中的块,检验次序可以是从左到右或从右到左。
替代地,L或T内部的扫描次序可能不只是从左到右或从上到下。举例来说,可以从右到左扫描L,并且可以从上到右扫描T。替代地,可以应用扫描次序的任何其它置换。
图13是图解说明在组合成一个区域时的相邻块的扫描次序的实例的概念图。图13的实例类似于图12的上面的实例,只不过图12的L、T和B区域进一步组合以形成区域N 332。视频译码器可以从下到上(到图12的B 310位置)并且接着从左到右扫描N 332,如图13所示。
替代地,L、T和B区域可以进一步组合成区域N,并且可以从颠倒的次序扫描N(例如,从右到左,接着从上到下)。
替代地,所述次序可以颠倒成从右到左(在顶部块中)并且从上到下(在左侧块中),并且可以通过是否dx<=dy来决定其是原始次序还是颠倒次序。举例来说,如果(dx<=dy),则视频译码器可以使用原始次序,否则视频译码器可以使用颠倒次序。
图14是图解说明用于时间视差向量检验的实例方法的概念图。图14图解说明了一个实例,其中针对空间相邻块将PU等级的视差向量产生与CU等级统一。因此,这个实例涉及将PU等级视差向量产生与CU等级视差产生统一。
对于当前图片352的LCU 360中的CU 362的给定PU 364(其中PU 364是使用视差运动向量366预测的),可以始终例如通过视频译码器(例如,视频编码器20或视频解码器30)检验位于同一位置的CU(CCU)。针对当前图片352的CU中的每一PU或每一CU,可以识别被标示为CCU 356的CU的位于同一位置的区域。如图14所示,可以将含有CCU 356的最大CU(标示为CLCU 354)以及CCU 356的右下方4x4块(由BR'358标示)用作时间相邻块。
请注意,上面三个区域的次序可以类似于在陈等人的“用于多视图视频的运动参数预测和译码”中提到的次序。举例来说,所述次序可以是CCU 356、CLCU 354和BR'358或BR'358、CCU 356和CLCU 354。
当检验包含多个块的CCU或CLCU时,可以用光栅扫描次序检验每一CCU的16x16块或CLCU。一旦可以获得视差向量,检验过程就可以结束。替代地,可以用CCU中的中间4x4块中的一个取代BR'。替代地,可以用CCU中的任何其它4x4块取代BR'。替代地,可以将BR'设置成不可获得并且不予检验。替代地,可以将BR'和CCU两者设置成不可获得并且不予检验。
请注意,视差向量产生可以检验其它类型的视差向量,例如空间视差向量,如陈等人的“用于多视图视频的运动参数预测和译码”中所描述。图14的实例可以统一用于PU和CU的时间相邻块,使得其可以共用用于时间视差向量检验的相同过程和相同结果。候选图片选择方法可以与陈等人的“用于多视图视频的运动参数预测和译码”中描述的相同。
作为替代方案,如果CU大小小于16x16,则可以将CCU扩展成含有这个CU的16x16块。其余过程可以是相同的但是应用于扩展的CCU。
作为替代方案,过程可以类似于陈等人的“用于多视图视频的运动参数预测和译码”中所描述的过程,但是如果PU大小小于16x16,则可以将CPU扩展成含有这个CU的16x16块。其余过程可以是相同的但是应用于扩展的CCU。
图15是图解说明根据本发明的技术对视差运动向量进行编码的实例方法的流程图。虽然是相对于视频编码器20解释的,但是应注意,其它装置或组件可以经配置以执行图15的方法。而且,虽然只展示了一个例子,但是应理解,可以对共用容纳块的多个块(例如,MER或共用CU的多个PU)基本上同时地(例如,并行地)执行图15的方法的多个例子。
在这个实例中,视频编码器20可以首先使用视图间预测对容纳块中的当前块进行编码(380)。举例来说,在执行了各种试验编码编次之后,视频编码器20可以最终确定应使用视图间预测对当前块进行编码。因此,视频编码器20可以使用指向视图间参考图片的视差运动向量对当前块进行编码。
视频编码器20可以接着对视差运动向量进行编码。为了这样做,视频编码器20可以形成包含用于视差运动向量的候选运动向量预测子的候选列表。具体来说,根据本发明的技术,视频编码器20可以确定当前块的特定相邻块是否在包含当前块的容纳块中(382)。如果相邻块不在容纳块中(382的“否”分支),则视频编码器20可以将当前块的相邻块添加到候选列表(384)。另一方面,如果相邻块在还包含当前块的容纳块中(382的“是”分支),则视频编码器20可以将容纳块的相邻块添加到候选列表(386)。换句话说,视频编码器20可以用容纳块的相邻块替代当前块的相邻块。视频编码器20可以根据上文例如相对于图8到11描述的各种实例执行这个替代,或者其它替代方案。
视频编码器20可以接着确定前一相邻块是不是要被考虑添加到候选列表的最后相邻块(388)。如果前一相邻块不是要考虑的最后相邻块(388的“否”分支),则视频编码器20可以考虑下一相邻块,并且具体来说考虑是否用容纳块的相邻块替代当前块的下一相邻块,如上所述。然而,如果前一相邻块是最后相邻块(388的“是”分支),则视频编码器20可以从候选列表中选择视差运动向量预测子(390),在一些实例中,可能在修剪候选列表之后。视频编码器20可以接着例如使用合并模式或AMVP模式使用视差运动向量预测子对视差运动向量进行编码(392)。
以此方式,图15的方法表示一种方法的实例,其包含:使用视差运动向量对容纳块内的当前视频数据块进行编码;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用在容纳块外部并且与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个中选择视差运动向量预测子;以及基于视差运动向量预测子对视差运动向量进行编码。
图16是图解说明根据本发明的技术对视差运动向量进行解码的实例方法的流程图。虽然是相对于视频解码器30解释的,但是应注意,其它装置或组件可以经配置以执行图16的方法。而且,虽然只展示了一个例子,但是应理解,可以对共用容纳块的多个块(例如,MER或共用CU的多个PU)基本上同时地(例如,并行地)执行图16的方法的多个例子。
首先,视频解码器30可以确定容纳块中的当前块是使用视图间预测编码的(400)。因此,视频解码器30可以确定一个视差运动向量有待被解码。因此,视频解码器30可以用基本上与上文相对于图15描述的相同的方式构造候选列表。举例来说,视频解码器30可以形成包含用于视差运动向量的候选运动向量预测子的候选列表。具体来说,根据本发明的技术,视频解码器30可以确定当前块的特定相邻块是否在包含当前块的容纳块中(402)。如果相邻块不在容纳块中(402的“否”分支),则视频解码器30可以将当前块的相邻块添加到候选列表(404)。另一方面,如果相邻块在还包含当前块的容纳块中(402的“是”分支),则视频解码器30可以将容纳块的相邻块添加到候选列表(406)。换句话说,视频解码器30可以用容纳块的相邻块替代当前块的相邻块。视频解码器30可以根据上文例如相对于图8到11描述的各种实例执行这个替代,或者其它替代方案。
视频解码器30可以接着确定前一相邻块是不是要被考虑添加到候选列表的最后相邻块(408)。如果前一相邻块不是要考虑的最后相邻块(388的“否”分支),则视频解码器30可以考虑下一相邻块,并且具体来说考虑是否用容纳块的相邻块替代当前块的下一相邻块,如上所述。然而,如果前一相邻块是最后相邻块(408的“是”分支),则视频解码器30可以从候选列表中选择视差运动向量预测子(410),在一些实例中,可能在修剪候选列表之后。举例来说,视频解码器30可以对合并索引或AMVP索引(表示进入候选列表中的索引)进行解码,并且从对应于进入候选列表中的索引的相邻块的运动信息选择视差运动向量预测子。
视频解码器30可以接着例如使用合并模式或AMVP模式使用视差运动向量预测子对视差运动向量进行解码(412)。举例来说,在合并模式中,视频解码器30可以确定用于当前块的视差运动向量等效于在步骤410中选择的视差运动向量预测子。替代地,在AMVP模式中,视频解码器30可以进一步对定义运动向量差值的数据进行解码,并且视频解码器30可以通过将运动向量差值加到视差运动向量预测子而再现视差运动向量。
在任何情况下,视频解码器30可以接着使用经解码的视差运动向量预测子对当前块进行解码(414)。也就是说,视频解码器30可以从视差运动向量识别的视图间参考块产生经预测的块,对定义经量化的变换系数的语法元素进行解码,对这些系数进行逆量化和逆变换以再现残余块,并且将经预测的块与残余块组合(通过将经预测的块的像素值加到残余块的像素值)以最终得出当前块。
以此方式,图16的方法表示一种方法的实例,包含:确定当前视频数据块是使用视差运动向量编码的,其中当前块在容纳块内;基于对当前块的相邻块也在容纳块内的确定,在候选列表中用在容纳块外部并且与容纳块相邻的块替代所述相邻块;从候选列表中的多个块中的一个选择视差运动向量预测子;并且基于所述视差运动向量预测子对视差运动向量进行解码。
应认识到,依据所述实例,可以用不同顺序执行本文中描述的技术中的任一种的某些动作或事件,可以添加、合并或完全忽略这些本文中描述的技术中的任一种的某些动作或事件(例如,并不是所有所描述的动作或事件对于实践所述技术都是必要的)。而且,在某些实例中,可以例如通过多线程处理、中断处理或多个处理器同时地而不是循序地执行动作或事件。
在一或多个实例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或在其上传输并且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形的媒体,或者包含任何有助于例如根据通信协议将计算机程序从一处传递到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体总体上可以对应于(1)非暂时性的有形的计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可以是可以由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以便实施本发明中描述的技术的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
举例来说,并且并非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机存取的任何其它媒体。此外,任何连接都恰当地称为计算机可读媒体。举例来说,如果是使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么可以将同轴电缆、光纤电缆、双绞线、DSL或例如红外、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是针对非暂时性的有形的存储媒体。本文中使用的磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘使用激光光学地再现数据。上述各项的组合也应包含在计算机可读媒体的范围内。
可以由一或多个处理器执行指令,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,本文中使用的术语“处理器”可以指代前述结构中的任一个或者任何其它适合于实施本文中描述的技术的结构。此外,在一些方面中,本文中描述的功能性可以在经配置用于编码和解码或者并入在组合编解码器的专用硬件和/或软件模块内提供。此外,所述技术可以完全在一或多个电路或逻辑元件中实施。
本发明的技术可以在多种多样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的功能性方面,但是各种组件、模块或单元未必需要由不同硬件单元来实现。实情为,如上所述,各种单元可以在编解码器硬件单元中组合,或者由互操作性硬件单元的集合来提供,包含如上所述的一或多个处理器结合合适的硬件和/或固件。
已经描述了各种实例。这些和其它实例属于所附权利要求书的范围内。
Claims (47)
1.一种对视频数据进行解码的方法,所述方法包括:
确定视频数据的当前视图的当前预测单元PU是使用运动向量编码的,其中所述当前PU处于译码单元CU内;
基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息;
基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表,其中所述参考视图的所述PU是使用所述视差运动向量确定的;
从所述第二集合运动信息中选择运动向量预测子;以及
基于所述运动向量预测子对所述运动向量进行解码。
2.根据权利要求1所述的方法,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
3.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左下方相邻PU替代所述当前PU的所述左下方相邻PU。
4.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左下方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左下方相邻PU相同的垂直位置。
5.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的右上方相邻PU替代所述当前PU的所述右上方相邻PU。
6.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述右上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述右上方相邻PU相同的水平位置。
7.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左上方相邻PU替代所述当前PU的所述左上方相邻PU。
8.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左上方相邻PU相同的垂直位置。
9.根据权利要求2所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述左上方相邻PU相同的水平位置。
10.根据权利要求1所述的方法,其进一步包括使用所述运动向量对视频数据的所述当前PU进行解码。
11.根据权利要求1所述的方法,其中对所述运动向量进行解码包括:
对运动向量差值进行解码;以及
将所述运动向量差值加到所述运动向量预测子以再现所述运动向量。
12.一种用于对视频数据进行解码的装置,所述装置包括:
存储器,所述存储器经配置以存储视频数据;以及
视频解码器,所述视频解码器经配置以:
确定所述视频数据的当前视图的当前预测单元PU是使用视差运动向量编码的,其中所述当前PU在译码单元CU内,
基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息,
基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表,其中所述参考视图的所述PU是使用所述视差运动向量确定的,
从所述第二集合运动信息中选择运动向量预测子,以及
基于所述运动向量预测子对所述运动向量进行解码。
13.根据权利要求12所述的装置,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
14.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左下方相邻PU替代所述当前PU的所述左下方相邻PU。
15.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左下方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左下方相邻PU相同的垂直位置。
16.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的右上方相邻PU替代所述当前PU的所述右上方相邻PU。
17.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述右上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述右上方相邻PU相同的水平位置。
18.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左上方相邻PU替代所述当前PU的所述左上方相邻PU。
19.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左上方相邻PU相同的垂直位置。
20.根据权利要求13所述的装置,其中所述视频解码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述左上方相邻PU相同的水平位置。
21.根据权利要求12所述的装置,其中所述视频解码器进一步经配置以使用所述运动向量对视频数据的所述当前PU进行解码。
22.根据权利要求12所述的装置,其中所述视频解码器经配置以对运动向量差值进行解码,并且将所述运动向量差值加到所述运动向量预测子以再现所述运动向量。
23.根据权利要求12所述的装置,其中所述装置包括下面中的至少一个:
集成电路;
微处理器;以及
无线通信装置。
24.一种用于对视频数据进行解码的装置,所述装置包括:
用于确定视频数据的当前视图的当前预测单元PU是使用运动向量编码的装置,其中所述当前PU处于译码单元CU内;
用于基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息的装置;
用于基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表的装置,其中所述参考视图的所述PU是使用所述视差运动向量确定的;
用于从所述第二集合运动信息中选择运动向量预测子的装置;以及
用于基于所述运动向量预测子对所述运动向量进行解码的装置。
25.根据权利要求24所述的装置,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
26.一种计算机可读存储媒体,所述计算机可读存储媒体上存储有指令,所述指令在被执行时致使一或多个处理器:
确定视频数据的当前视图的当前预测单元PU是使用运动向量编码的,其中所述当前PU处于译码单元CU内;
基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息;
基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表,其中所述参考视图的所述PU是使用所述视差运动向量确定的;
从所述第二集合运动信息中选择运动向量预测子;以及
基于所述运动向量预测子对所述运动向量进行解码。
27.根据权利要求26所述的计算机可读存储媒体,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
28.一种对视频数据进行编码的方法,所述方法包括:
使用运动向量对译码单元CU内的视频数据的当前视图的当前预测单元PU进行编码;
基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息;
基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表,其中所述参考视图的所述PU是使用所述视差运动向量确定的;
从所述第二集合运动信息中选择运动向量预测子;以及
基于所述运动向量预测子对所述运动向量进行编码。
29.根据权利要求28所述的方法,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
30.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左下方相邻PU替代所述当前PU的所述左下方相邻PU。
31.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左下方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左下方相邻PU相同的垂直位置。
32.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的右上方相邻PU替代所述当前PU的所述右上方相邻PU。
33.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述右上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述右上方相邻PU相同的水平位置。
34.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左上方相邻PU替代所述当前PU的所述左上方相邻PU。
35.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左上方相邻PU相同的垂直位置。
36.根据权利要求29所述的方法,其中检索包括当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述左上方相邻PU相同的水平位置。
37.根据权利要求28所述的方法,其中对所述运动向量进行编码包括:
计算所述运动向量与所述运动向量预测子之间的差;以及
对所述差进行编码。
38.一种用于对视频数据进行编码的装置,所述装置包括:
视频编码器,所述视频编码器经配置以:
使用运动向量对译码单元CU内的视频数据的当前视图的当前预测单元PU进行编码,
基于对所述当前PU的相邻PU也在所述CU内的确定,检索在所述CU外部并且与所述CU相邻的PU的第一集合运动信息,
基于对在所述CU外部的所述PU的所述第一集合运动信息界定视差运动向量的确定,将来自于参考视图的PU的第二集合运动信息增加到所述当前PU的候选列表,其中所述参考视图的所述PU是使用所述视差运动向量确定的,
从所述第二集合运动信息中选择运动向量预测子,以及
基于所述运动向量预测子对所述运动向量进行编码。
39.根据权利要求38所述的装置,其中所述当前PU在运动估计区域MER内,并且其中在所述CU外部的所述PU在所述MER外部。
40.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左下方相邻PU替代所述当前PU的所述左下方相邻PU。
41.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的左下方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左下方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左下方相邻PU相同的垂直位置。
42.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的右上方相邻PU替代所述当前PU的所述右上方相邻PU。
43.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的右上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述右上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述右上方相邻PU相同的水平位置。
44.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左上方相邻PU替代所述当前PU的所述左上方相邻PU。
45.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的左边相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述左边相邻PU具有与所述当前PU的所述左上方相邻PU相同的垂直位置。
46.根据权利要求39所述的装置,其中所述视频编码器经配置以当所述相邻PU对应于所述当前PU的左上方相邻PU时,用所述MER的上方相邻PU替代所述当前PU的所述左上方相邻PU,使得所述MER的所述上方相邻PU具有与所述当前PU的所述左上方相邻PU相同的水平位置。
47.根据权利要求38所述的装置,其中所述装置包括下面中的至少一个:
集成电路;
微处理器;以及
无线通信装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261636554P | 2012-04-20 | 2012-04-20 | |
US61/636,554 | 2012-04-20 | ||
US13/865,894 US9549180B2 (en) | 2012-04-20 | 2013-04-18 | Disparity vector generation for inter-view prediction for video coding |
US13/865,894 | 2013-04-18 | ||
PCT/US2013/037442 WO2013159038A1 (en) | 2012-04-20 | 2013-04-19 | Disparity vector generation for inter-view prediction for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104335589A CN104335589A (zh) | 2015-02-04 |
CN104335589B true CN104335589B (zh) | 2017-10-31 |
Family
ID=48325898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380027793.XA Expired - Fee Related CN104335589B (zh) | 2012-04-20 | 2013-04-19 | 用于视频译码的视图间预测的视差向量产生 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9549180B2 (zh) |
EP (1) | EP2839657A1 (zh) |
JP (1) | JP2015515227A (zh) |
KR (1) | KR20150015462A (zh) |
CN (1) | CN104335589B (zh) |
WO (1) | WO2013159038A1 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6039178B2 (ja) * | 2011-09-15 | 2016-12-07 | シャープ株式会社 | 画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム |
EP2805492B1 (en) * | 2012-01-19 | 2018-11-14 | VID SCALE, Inc. | System and method of video coding quantization and dynamic range control |
US9609341B1 (en) * | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
US9860555B2 (en) * | 2012-05-22 | 2018-01-02 | Lg Electronics Inc. | Method and apparatus for processing video signal |
EP3247116A1 (en) * | 2012-07-27 | 2017-11-22 | HFI Innovation Inc. | Method of constrain disparity vector derivation in 3d video coding |
US9491461B2 (en) * | 2012-09-27 | 2016-11-08 | Qualcomm Incorporated | Scalable extensions to HEVC and temporal motion vector prediction |
US10075728B2 (en) * | 2012-10-01 | 2018-09-11 | Inria Institut National De Recherche En Informatique Et En Automatique | Method and device for motion information prediction refinement |
KR102248074B1 (ko) * | 2012-10-07 | 2021-05-04 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
CN102883163B (zh) * | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN102946535B (zh) * | 2012-10-09 | 2015-05-13 | 华为技术有限公司 | 预测块的视差矢量预测值获取的方法和装置 |
KR101680674B1 (ko) * | 2012-11-07 | 2016-11-29 | 엘지전자 주식회사 | 다시점 비디오 신호의 처리 방법 및 이에 대한 장치 |
US9955177B2 (en) * | 2012-11-15 | 2018-04-24 | Mediatek Inc. | Inter-layer texture coding with adaptive transform and multiple inter-layer motion candidates |
WO2014163466A1 (ko) * | 2013-04-05 | 2014-10-09 | 삼성전자 주식회사 | 정수 픽셀의 위치와 관련하여 비디오의 부호화 및 복호화를 수행하는 방법과 그 장치 |
WO2014166063A1 (en) * | 2013-04-09 | 2014-10-16 | Mediatek Inc. | Default vector for disparity vector derivation for 3d video coding |
PL2984841T3 (pl) * | 2013-04-12 | 2016-12-30 | Tworzenie list międzywarstwowych obrazów referencyjnych | |
WO2014175647A1 (ko) * | 2013-04-23 | 2014-10-30 | 삼성전자 주식회사 | 시점 합성 예측을 이용한 다시점 비디오 부호화 방법 및 그 장치, 다시점 비디오 복호화 방법 및 그 장치 |
US10356426B2 (en) * | 2013-06-27 | 2019-07-16 | Google Llc | Advanced motion estimation |
EP3061253A1 (en) | 2013-10-25 | 2016-08-31 | Microsoft Technology Licensing, LLC | Hash-based block matching in video and image coding |
CN105684409B (zh) | 2013-10-25 | 2019-08-13 | 微软技术许可有限责任公司 | 在视频和图像编码和解码中使用散列值来表示各块 |
WO2015089721A1 (en) * | 2013-12-17 | 2015-06-25 | Mediatek Singapore Pte. Ltd. | Improved advanced residual prediction in 3dvc |
CN103747265B (zh) * | 2014-01-03 | 2017-04-12 | 华为技术有限公司 | 一种nbdv获取方法及视频解码装置 |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
WO2015131325A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
JP6345805B2 (ja) * | 2014-05-06 | 2018-06-20 | 寰發股▲ふん▼有限公司HFI Innovation Inc. | Intraブロックコピーモード符号化のブロックベクトル予測の方法 |
EP3155812B1 (en) | 2014-06-16 | 2023-04-05 | QUALCOMM Incorporated | Simplified shifting merge candidate and merge list derivation in 3d-hevc |
KR102287779B1 (ko) | 2014-06-23 | 2021-08-06 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정 |
EP3416386B1 (en) | 2014-09-30 | 2021-01-13 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
JP2016127372A (ja) * | 2014-12-26 | 2016-07-11 | Kddi株式会社 | 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US10284869B2 (en) | 2017-09-28 | 2019-05-07 | Google Llc | Constrained motion field estimation for hardware efficiency |
WO2019036080A1 (en) * | 2017-08-15 | 2019-02-21 | Google Llc | ESTIMATION OF CONSTRAINED MOTION FIELD FOR INTERPRETING |
US10880573B2 (en) | 2017-08-15 | 2020-12-29 | Google Llc | Dynamic motion vector referencing for video coding |
JP2018164265A (ja) * | 2018-05-14 | 2018-10-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出 |
US10469869B1 (en) | 2018-06-01 | 2019-11-05 | Tencent America LLC | Method and apparatus for video coding |
US10587885B2 (en) * | 2018-06-04 | 2020-03-10 | Tencent America LLC | Method and apparatus for merge mode with additional middle candidates in video coding |
US10798394B2 (en) * | 2018-06-27 | 2020-10-06 | Avago Technologies International Sales Pte. Limited | Low complexity affine merge mode for versatile video coding |
CN110944184B (zh) * | 2018-09-25 | 2022-05-31 | 华为技术有限公司 | 视频解码方法及视频解码器 |
WO2020098807A1 (en) | 2018-11-17 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Controlling merge with motion vector differencing mode |
EP3664451B1 (en) * | 2018-12-06 | 2020-10-21 | Axis AB | Method and device for encoding a plurality of image frames |
CN110832869B (zh) * | 2019-01-02 | 2023-04-14 | 深圳市大疆创新科技有限公司 | 用于视频编码或解码的运动信息获取方法与装置 |
WO2020192726A1 (en) | 2019-03-27 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | History-based motion vector prediction |
EP3963890A4 (en) | 2019-06-04 | 2022-11-02 | Beijing Bytedance Network Technology Co., Ltd. | BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION |
KR20220016839A (ko) | 2019-06-04 | 2022-02-10 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 기하학적 분할 모드 코딩을 갖는 모션 후보 리스트 |
EP3967040A4 (en) | 2019-06-06 | 2022-11-30 | Beijing Bytedance Network Technology Co., Ltd. | CONSTRUCTION OF MOTION CANDIDATE LISTS FOR VIDEO ENCODING |
EP3984215A4 (en) | 2019-07-14 | 2022-08-24 | Beijing Bytedance Network Technology Co., Ltd. | TRANSFORM BLOCK SIZE RESTRICTION IN VIDEO CODING |
WO2021057996A1 (en) | 2019-09-28 | 2021-04-01 | Beijing Bytedance Network Technology Co., Ltd. | Geometric partitioning mode in video coding |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101999228A (zh) * | 2007-10-15 | 2011-03-30 | 诺基亚公司 | 针对多视角视频内容的运动跳跃和单环路编码 |
CN102017627A (zh) * | 2008-04-25 | 2011-04-13 | 汤姆森许可贸易公司 | 使用基于深度信息的视差估计的多视点视频编码 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5612735A (en) * | 1995-05-26 | 1997-03-18 | Luncent Technologies Inc. | Digital 3D/stereoscopic video compression technique utilizing two disparity estimates |
US6970206B1 (en) | 2000-04-20 | 2005-11-29 | Ati International Srl | Method for deinterlacing interlaced video by a graphics processor |
JP4262014B2 (ja) | 2003-07-31 | 2009-05-13 | キヤノン株式会社 | 画像撮影装置および画像処理方法 |
KR100888962B1 (ko) | 2004-12-06 | 2009-03-17 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US8854486B2 (en) | 2004-12-17 | 2014-10-07 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for processing multiview videos for view synthesis using skip and direct modes |
US8644386B2 (en) | 2005-09-22 | 2014-02-04 | Samsung Electronics Co., Ltd. | Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method |
KR101276720B1 (ko) | 2005-09-29 | 2013-06-19 | 삼성전자주식회사 | 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체 |
TWI344792B (en) | 2006-07-12 | 2011-07-01 | Lg Electronics Inc | A method and apparatus for processing a signal |
GB2445008B (en) | 2006-12-20 | 2008-12-31 | Sony Comp Entertainment Europe | Image compression and/or decompression |
US20080159407A1 (en) | 2006-12-28 | 2008-07-03 | Yang Nick Y | Mechanism for a parallel processing in-loop deblock filter |
JP5249242B2 (ja) | 2007-01-24 | 2013-07-31 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号処理方法及び装置 |
US8953684B2 (en) | 2007-05-16 | 2015-02-10 | Microsoft Corporation | Multiview coding with geometry-based disparity prediction |
CN101816180B (zh) | 2007-08-06 | 2013-01-16 | 汤姆森特许公司 | 利用多个视图间参考画面的运动跳跃模式的方法和装置 |
JP2010016454A (ja) * | 2008-07-01 | 2010-01-21 | Sony Corp | 画像符号化装置および方法、画像復号装置および方法、並びにプログラム |
US9479786B2 (en) * | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
WO2010043773A1 (en) * | 2008-10-17 | 2010-04-22 | Nokia Corporation | Sharing of motion vector in 3d video coding |
WO2010120033A1 (ko) | 2009-04-17 | 2010-10-21 | 엘지전자 주식회사 | 다시점 비디오 신호의 처리 방법 및 장치 |
KR20110090511A (ko) | 2010-02-04 | 2011-08-10 | 삼성전자주식회사 | 통신 기기에서 3차원 영상을 위한 영상 처리 방법 및 장치 |
PT2594077E (pt) | 2010-07-15 | 2016-03-01 | Ge Video Compression Llc | Codificação de vídeo híbrida para suporte a síntese de visualização intermédia |
WO2012096164A1 (ja) | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
US20120189060A1 (en) | 2011-01-20 | 2012-07-26 | Industry-Academic Cooperation Foundation, Yonsei University | Apparatus and method for encoding and decoding motion information and disparity information |
US20120236115A1 (en) * | 2011-03-14 | 2012-09-20 | Qualcomm Incorporated | Post-filtering in full resolution frame-compatible stereoscopic video coding |
US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
US9247266B2 (en) | 2011-04-18 | 2016-01-26 | Texas Instruments Incorporated | Temporal motion data candidate derivation in video coding |
US9247249B2 (en) | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
EP2721825A4 (en) | 2011-06-15 | 2014-12-24 | Mediatek Inc | METHOD AND DEVICE FOR MOTION AND DISPARITY VECTOR PREDICTION AND COMPENSATION IN 3D VIDEO CODING |
WO2013001748A1 (ja) | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置 |
EP3739886A1 (en) | 2011-11-18 | 2020-11-18 | GE Video Compression, LLC | Multi-view coding with efficient residual handling |
EP2824920A4 (en) | 2012-03-06 | 2016-02-17 | Panasonic Ip Corp America | VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO COORDING DEVICE, VIDEO CODING DEVICE AND VIDEO CODING / DECODING DEVICE |
US9445076B2 (en) | 2012-03-14 | 2016-09-13 | Qualcomm Incorporated | Disparity vector construction method for 3D-HEVC |
US9525861B2 (en) | 2012-03-14 | 2016-12-20 | Qualcomm Incorporated | Disparity vector prediction in video coding |
CN104365102B (zh) | 2012-05-10 | 2018-01-02 | Lg 电子株式会社 | 处理视频信号的方法和装置 |
US20130336405A1 (en) | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Disparity vector selection in video coding |
US9237345B2 (en) * | 2013-02-26 | 2016-01-12 | Qualcomm Incorporated | Neighbor block-based disparity vector derivation in 3D-AVC |
-
2013
- 2013-04-18 US US13/865,894 patent/US9549180B2/en not_active Expired - Fee Related
- 2013-04-19 CN CN201380027793.XA patent/CN104335589B/zh not_active Expired - Fee Related
- 2013-04-19 JP JP2015507229A patent/JP2015515227A/ja active Pending
- 2013-04-19 WO PCT/US2013/037442 patent/WO2013159038A1/en active Application Filing
- 2013-04-19 KR KR1020147032261A patent/KR20150015462A/ko not_active Application Discontinuation
- 2013-04-19 EP EP13721181.9A patent/EP2839657A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101999228A (zh) * | 2007-10-15 | 2011-03-30 | 诺基亚公司 | 针对多视角视频内容的运动跳跃和单环路编码 |
CN102017627A (zh) * | 2008-04-25 | 2011-04-13 | 汤姆森许可贸易公司 | 使用基于深度信息的视差估计的多视点视频编码 |
Non-Patent Citations (3)
Title |
---|
CU-based Merge Candidate List Construction;Hui Yong Kim等;《JCTVC-G416》;20111108;摘要、第1-2节,图3 * |
Non-CE9:improvement on parallelized merge/skip mode;Yongjoon Jeon等;《JCTVC-G164》;20111108;第2节,图1 * |
Yongjoon Jeon等.AHG10:Unified design on parallel merge/skip.《JCTVC-H0090》.2012,第1-2节,图1. * |
Also Published As
Publication number | Publication date |
---|---|
US20130287108A1 (en) | 2013-10-31 |
WO2013159038A1 (en) | 2013-10-24 |
CN104335589A (zh) | 2015-02-04 |
EP2839657A1 (en) | 2015-02-25 |
JP2015515227A (ja) | 2015-05-21 |
US9549180B2 (en) | 2017-01-17 |
KR20150015462A (ko) | 2015-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104335589B (zh) | 用于视频译码的视图间预测的视差向量产生 | |
EP3596925B1 (en) | Affine motion information derivation | |
CN104685883B (zh) | 用于3d视频的经视图间预测运动向量 | |
CN105379288B (zh) | 处理对视频译码的照明补偿 | |
CN105556969B (zh) | 视频译码中使用视差向量的块识别 | |
CN104662909B (zh) | 用于3d视频的视图间运动预测 | |
CN104769949B (zh) | 用于视差向量导出的图片的选择的方法和装置 | |
CN104170380B (zh) | 视频译码中的视差矢量预测 | |
CN104838651B (zh) | 可缩放及多视角视频译码中的高级残差预测 | |
CN104904217B (zh) | 用于视频译码扩展的时间运动向量预测 | |
CN105122812B (zh) | 用于三维(3d)视频译码的高级合并模式 | |
CN105874797B (zh) | 视频数据的编解码方法、装置、设备和存储媒体 | |
CN104904218B (zh) | 视差矢量推导 | |
CN104170381B (zh) | 在高效率视频译码及其扩展中的运动矢量译码及双向预测 | |
CN104584558B (zh) | 用于3d视频的视图间预测的运动向量 | |
CN105027571B (zh) | 三维视频译码中导出的视差向量 | |
CN105075265B (zh) | 3d视频译码中针对跳过和直接模式的视差向量导出 | |
CN104303502B (zh) | 对多视图视频数据进行编码、解码和译码的方法、装置及计算机可读存储介质 | |
CN104756499B (zh) | 用于视频译码的方法、设备及计算机可读存储媒体 | |
CN105379282B (zh) | 用于纹理译码的先进残余预测(arp)的方法和设备 | |
CN105144715B (zh) | 后向视图合成预测 | |
CN104365103B (zh) | 视频译码中的视差向量选择 | |
CN105850135B (zh) | 用于视频译码的视差向量和/或高级残差预测 | |
CN109891890A (zh) | 视频译码中基于子pu的双向运动补偿 | |
CN105874788B (zh) | 对3d视频译码中较大预测块的逐段dc译码的简化 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171031 Termination date: 20190419 |
|
CF01 | Termination of patent right due to non-payment of annual fee |