CN105027571A - 三维视频译码中导出的视差向量 - Google Patents
三维视频译码中导出的视差向量 Download PDFInfo
- Publication number
- CN105027571A CN105027571A CN201480012000.1A CN201480012000A CN105027571A CN 105027571 A CN105027571 A CN 105027571A CN 201480012000 A CN201480012000 A CN 201480012000A CN 105027571 A CN105027571 A CN 105027571A
- Authority
- CN
- China
- Prior art keywords
- ddv
- piece
- block
- disparity vector
- section
- 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/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
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- 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/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
视频译码器存储用于视频数据的当前图片的切片的仅一个导出的视差向量DDV。所述视频译码器在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量。此外,所述视频译码器存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
Description
本申请案主张2013年3月6日申请的美国临时专利申请案第61/773,680号和2013年4月5日申请的美国临时专利申请案第61/809,174号的权利,其中的每一者的全部内容被以引用的方式并入。
技术领域
本发明涉及用于视频译码的技术,且更具体地说,涉及用于三维(3D)视频译码的技术。
背景技术
可将数字视频能力并入到广泛范围的装置内,包含数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主控台、蜂窝式或卫星无线电电话、视频电话会议装置和类似者。数字视频装置实施视频压缩技术(例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分先进视频译码(AVC)、高效率视频译码(HEVC)标准定义的标准和这些标准的扩展中描述的技术),以发射、接收和存储数字视频信息。视频装置可通过实施这些视频压缩技术较有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。图片的帧内译码(I)切片中的视频块是使用关于同一图片中的相邻块中的参考样本的空间预测编码的。图片的帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测导致用于待译码的块的预测性块。残差数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量编码帧间译码的块,且残差数据指示经译码的块与预测性块之间的差。根据帧内译码模式和残差数据编码帧内译码的块。为了进一步压缩,可将残差数据从像素域变换到变换域,从而导致接着可量化的残差系数。可扫描一开始按二维阵列排列的经量化的系数以便产生系数的一维向量,且可应用熵译码以达成甚至更多的压缩。
前述标准(包含H.264/AVC)中的一些的扩展提供用于多视图视频译码以便产生立体或三维(“3D”)视频的技术。明确地说,已提议用于多视图译码的技术用于在AVC中使用,包含多视频视频译码(MVC)标准(其已变为H.264/AVC的多视图扩展)。可调式视频译码(SVC)标准也已经开发为H.264/AVC的扩展。
通常,使用两个视图(例如,左视图和右视图)来达成立体视频。可实质上同时地将左视图的图片与右视图的图片一起显示以达成三维视频效应。例如,用户可佩戴滤波左视图与右视图的经偏光的被动眼镜。在其它实例中,可快速连续地展示两个视图的图片,且用户可佩戴按同一频率快速关上左眼和右眼的快门但具有90度相移的主动眼镜。
发明内容
一般来说,本发明描述用于3D视频译码的技术。明确地说,本发明与视差向量导出有关。根据本发明的一些技术,视频译码器可存储用于当前图片的切片的导出的视差向量(DDV)。视频译码器可至少部分基于用于所述切片的DDV导出用于所述切片的第一块的基于相邻块的视差向量(NBDV)。视频译码器可至少部分基于用于所述第一块的NBDV译码第一块。此外,视频译码器可存储用于第一块的NBDV作为用于所述切片的DDV。在存储用于第一块的NBDV作为用于所述切片的DDV后,视频译码器可至少部分基于用于所述切片的DDV导出用于所述切片的第二块的NBDV。此外,视频译码器可至少部分基于用于所述第二块的NBDV译码第二块。在一些情况下,视频译码器可存储用于第二块的NBDV作为用于所述切片的DDV。视频译码器可针对所述切片的额外块继续此过程。
在一个实例中,本发明描述一种解码视频数据的方法,所述方法包括:存储用于所述视频数据的当前图片的切片的仅一个DDV,其中所述切片包含多个块;在NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;和存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
在另一实例中,本发明描述一种编码视频数据的方法,所述方法包括:存储用于所述视频数据的当前图片的切片的仅一个DDV,其中所述切片包含多个块;在NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;和存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
在另一实例中,本发明描述一种视频译码装置,所述视频译码装置包括:存储器,其存储视频数据;和一或多个处理器,其经配置以:存储用于所述视频数据的当前图片的切片的仅一个DDV,其中所述切片包含多个块;在NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;和存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
在另一实例中,本发明描述一种经配置以译码视频数据的视频译码装置,所述视频译码装置包括:用于存储用于所述视频数据的当前图片的切片的仅一个DDV的装置,其中所述切片包含多个块;用于在NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量的装置,其中所述特定块为所述切片的所述块中的一者;和用于存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV的装置。
在另一实例中,本发明描述一种非暂时性计算机可读媒体,其具有存储于其上的指令,所述指令当经执行时使视频译码装置的一或多个处理器:存储用于视频数据的当前图片的切片的仅一个DDV,其中所述切片包含多个块;在NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;和存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
在随附图式和以下描述中阐明了一或多个实例的细节。从描述、图式和权利要求书,其它特征、目标和优势将显而易见。
附图说明
图1为说明可利用本发明中描述的技术的实例视频编码和解码系统的框图。
图2为说明用于多视图译码的实例预测结构的概念图。
图3为说明实例多视图解码次序的概念图。
图4为基于反向变形的基于块的视图合成预测VSP(B-VSP)的实例概念观测。
图5为说明用于基于相邻块的视差向量(NBDV)导出过程的实例空间相邻块的概念图。
图6为说明用于NBDV导出过程的实例时间相邻块的概念图。
图7为说明可实施本发明的一或多个技术的实例视频编码器的框图。
图8为说明可实施本发明的一或多个技术的实例视频解码器的框图。
图9A为说明根据本发明的实例的视频编码器的实例操作的流程图。
图9B为说明根据本发明的实例的视频解码器的实例操作的流程图。
图10为说明根据本发明的实例的实例视差向量导出操作的流程图。
具体实施方式
一般来说,本发明描述用于基于先进编码解码器的多视图视频译码的技术,包含通过H.264/先进视频译码(AVC)编码解码器译码两个或两个以上视图(例如,在H.264 AVC的多视图视频译码(MVC)扩展中)。本发明提议与视差向量导出有关的技术。基于3D AVC的视频译码(即,3D-AVC)为针对三维(3D)视频译码的H.264/AVC的AVC兼容视频加深度扩展。类似于H.264/AVC的MVC加深度(MVC+D)扩展,3D-AVC支持纹理和深度图分量的译码。然而,本发明的技术可一般性地适用于任何多视图视频译码技术,包含高效率视频译码(HEVC)标准的多视图扩展。
在多视图视频译码中,不同视图的视频内容可表示不同透视。例如,在第一视图中的图片中的视频块可包含类似于第二视图中的图片中的视频块的视频内容。在此实例中,视频块在第一视图中的图片中的位置与视频块在第二视图中的图片中的位置可不同。例如,在不同视图中,在视频块的位置之间可存在某一位移(即,视差)。在多视图视频译码中,可实现基于用于不同视图的重构建的视图分量的视图间预测。视图间预测可通过采用以下事实来达成译码增益:每一视图的表示视频的同一时间执行个体的图片可包含类似视频内容。
当使用视图间预测译码当前图片中的视频块时,所述块可具有指示视图间参考图片中的位置的运动向量。视图间参考图片可为在与当前图片相同的时间执行个体中(即,与所述时间执行个体相关联)但在与当前图片不同的视图中(即,与不同视图相关联)的参考图片。如果块的运动向量指示视图间参考图片中的位置,那么运动向量可被称作视差运动向量。视频译码器(例如,视频编码器或视频解码器)可使用当前块的视差运动向量确定用于当前块的预测性块。如果视频译码器为视频编码器,那么视频译码器可使用用于当前块的预测性块来产生用于当前块的残差数据。如果视频译码器为视频解码器,那么视频译码器可使用用于当前块的预测性块和用于当前块的残差数据来重构建用于当前视频块的样本值。
此外,特定图片中的块可具有类似于视图间参考图片中的对应的块的运动信息或残差数据的运动信息或残差数据。因此,视频译码器可基于视图间参考图片中的对应的块的运动信息或残差数据预测当前图片中的当前块的运动信息或残差数据。视频译码器可确定当前块的视差向量以便确定在对应的块在视图间参考图片内的位置。视频译码器可基于视图间参考图片中的对应的块的运动信息或残差数据预测当前块的运动信息或残差数据,而与当前块是否具有视差运动向量无关。因此,如果基于视图间参考图片中的对应的块的运动信息或残差数据预测当前块的运动信息或残差数据,那么当前块被称的为具有视差向量。当将视差向量用于稍后译码的块的视差向量导出过程时,视差向量可被称作隐含视差向量(IDV)。用于当前块的视差向量可等于用于先前块中的一者的视差向量。
视频译码器可使用基于相邻块的视差向量(NBDV)导出过程导出用于当前块的视差向量。在NBDV导出过程中,视频译码器可检查邻接当前块的块。相邻块可包含空间相邻块和时间相邻块。空间相邻块在与当前块相同的图片(即,当前图片)中。时间相邻块在与当前图片不同的一或多个图片中。当视频译码器检查相邻块时,所述视频译码器可确定所述相邻块是否具有视差运动向量。当视频译码器确定所述相邻块中的一者具有视差运动向量时,视频译码器可停止检查相邻块且可将相邻块的视差运动向量转换成用于当前块的视差向量。此外,如果相邻块中无一者具有视差运动向量,那么视频译码器可确定所述空间相邻块中的任一者是否具有IDV。当视频译码器确定所述空间相邻块中的一者具有IDV时,视频译码器可停止检查相邻块且可将相邻块的IDV转换成用于当前块的视差向量。
关于现有NBDV导出过程,存在若干问题。例如,IDV在NBDV导出过程中的使用可能需要存储要求和存储器存取的数目的增加。本发明的技术可解决关于NBDV导出过程的这些问题。例如,根据本发明的技术,视频译码器可至少部分基于用于视频数据的当前图片的切片的导出的视差向量(DDV)导出用于所述切片的第一块的NBDV。所述切片可包含视频数据的一或多个块。视频译码器可至少部分基于用于所述第一块的NBDV译码第一块。此外,视频译码器可存储用于第一块的NBDV作为用于所述切片的经更新的DDV。在存储用于第一块的NBDV作为经更新的DDV后,视频译码器可至少部分基于经更新的DDV导出用于所述切片的第二块的NBDV。此外,视频译码器可至少部分基于用于所述第二块的NBDV译码第二块。此过程可针对切片中的每一块而继续。明确地说,可基于先前译码的块的NBDV更新用于所述切片的DDV,且接着使用经更新的DDV导出用于下一个块的NBDV。通过以此方式使用DDV,视频译码器可能能够确定用于所述切片的块的更准确的视差向量。增加视差向量的准确度可减小位流大小。
图1为说明可利用本发明中描述的技术的实例视频编码和解码系统10的框图。如本文中所使用,术语“视频译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般指视频编码或视频解码。
如在图1中所示,系统10包含源装置12,其产生在稍后时间将由目的地装置14解码的经编码的视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码的视频数据。因此,目的地装置14可被称作视频译码装置或视频解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。
源装置12和目的地装置14可包括广泛范围的装置中的任何者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓的“智能型”手机)、电视、摄像机、显示装置、数字媒体播放器、视频游戏主控台、视频流式传输装置或类似者。在一些情况下,源装置12和目的地装置14可经装备,用于无线通信。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些实例中,输出接口22包含调制器/解调制器(调制解调器)和/或一发射器。视频源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)显示器或另一类型的显示装置。
如上指示,目的地装置14可经由链路16接收待解码的经编码的视频数据。链路16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的类型的媒体或装置。在一个实例中,链路16可包括通信媒体以使源装置12能够实时地将经编码的视频数据直接传输到目的地装置14。经编码的视频数据可根据通信标准(例如,无线通信协议)来调制,且传输到目的地装置14。通信媒体可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成例如局域网、广域网或全球网络(例如,因特网)的基于封包的网络的部分。通信媒体可包含路由器、交换器、基站或可用于有助于从源装置12到目的地装置14的通信的任一其它装备。
替代地,经编码的数据可从输出接口22输出到存储装置34。类似地,经编码的数据可由输入装置28从存储装置34存取。存储装置34可包含各种各样分散式或局部存取的数据存储媒体中的任一者,例如,硬盘机、Blu-ray碟、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码的视频数据的任一其它合适数字存储媒体。在再一实例中,存储装置34可对应于文件服务器或可保持由源装置12产生的经编码的视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置34存取存储的视频数据。文件服务器可为能够存储经编码的视频数据且将彼经编码的视频数据传输到目的地装置14的任一类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件转移协议(FTP)服务器、网络附接式存储(NAS)装置、本地碟机或将数据提供到其它计算装置的其它类型的装置或系统。目的地装置14可经由任一标准数据连接(包含因特网连接)存取经编码的视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或适合于存取存储于文件服务器上的经编码的视频数据的两者的组合。经编码的视频数据从存储装置34的传输可为流式传输、下载传输或两者的组合。
本发明的技术未必限于无线应用或环境。所述技术可应用于支持各种各样的多媒体应用(例如,空中电视广播、有线电视传输、卫星电视传输、流式传输视频传输(例如,经由因特网)、用于在数据存储媒体上存储的数字视频的编码、存储于数据存储媒体上的数字视频的解码或其它应用)中的任何者的视频译码。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
尽管在图1中未图示,但在一些方面中,视频编码器20和视频解码器30每一者可与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件,以处置在共同数据流或分开数据流中的音频和视频两者的编码。在一些实例中,如果可应用,那么MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30每一者可实施为各种各样的合适编码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且可使用一或多个处理器执行硬件中的指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
本发明可通常指视频编码器20将某些信息“传信”到另一装置(例如,视频解码器30)。术语“传信”可通常指语法元素和/或用以解码经压缩的视频数据的传达。此通信可实时或准实时地发生。替代地,此通信可在时间跨度上发生,例如,可当在编码时以经编码的位流将语法元素存储到计算机可读存储媒体时发生,所述语法元素接着可由解码装置在存储到此媒体后的任何时间检索。因此,传信可大体指在经编码的位流中提供信息以用于在处理和/或解码经编码的位流过程中使用。
在一些实例中,视频编码器20和视频解码器30根据例如ISO/IEC MPEG-4 Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC)(包含其可调式视频译码(SVC)扩展、多视图视频译码(MVC)扩展和基于MVC的3DV扩展)的视频压缩标准操作。此外,存在产生到H.264/AVC的三维视频(3DV)译码扩展(即,基于AVC的3DV或“3D-AVC”)的正在进行中的努力。H.264的MVC扩展的联合草案描述于2010年3月ITU-T建议案H.264的“针对一般视听服务的先进视频译码(Advanced video coding for genericaudiovisual services)”(下文称作H.264/AVC规范)中。在其它实例中,视频编码器20和视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IECMPEG-2 Visual和ITU-T H.263、ISO/IEC-4 Visual操作。然而,本发明的技术不限于任一特定译码标准。
如上所指示,VCEG和MPEG的关于3D视频译码的联合合作团队(JCT-3C)当前正开发基于H.264/AVC的3DV标准,即,3D-AVC。对于3D-AVC,已包含且支持除了MVC中的视图间预测外的新译码工具。从2014年3月3日起,用于3D-AVC的软件(即,3D-ATM)可从以下链接下载:[3D-ATM version 6.2]:http://mpeg3dv.research.nokia.com/svn/mpeg3dv/tags/3DV-ATMv6.2/。3D-AVC的草案版本可公开获得:汉努克塞拉(Hannuksela)等人的“3D-AVC草案文本5(3D-AVC draft text 5)”(JCT3V-C1002,2013年1月,瑞士日内瓦)(下文称作“3D-AVC草案文本5(3D-AVC draft text 5)”),其全部内容被以引用的方式并入本文中。从2014年3月3日起,3D-AVC草案文本5可从以下链接获得:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1002-v3.zip。
在其它实例中,视频编码器20和视频解码器30可根据由ITU-T视频译码专业团体(VCEG)与ISO/IEC动画专业团体(MPEG)的关于视频译码的联合合作团队(JCT-VC)开发的高效率视频译码(HEVC)标准或HEVC的扩展操作。布罗斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案9(High Efficiency Video Coding(HEVC)text specificationdraft 9)”(2012年10月10日到19日,中国上海,第11次会议,文件JCTVC-K1003)提供HEVC标准的工作草案,被称作“HEVC工作草案9(HEVC Working Draft 9)”。从2014年3月3日起,HEVC工作草案9可在http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v12.zip处下载利用。
此外,存在产生用于HEVC的多视图译码和3DV扩展的正在进行中的努力。换句话说,VCEG和MPEG的关于3D视频译码的联合合作团队(JCT-3C)正开发基于HEVC的3DV标准,针对其的标准化努力的部分包含基于HEVC的多视图视频编码解码器(MV-HEVC)和基于HEVC的3D视频译码(3D-HEVC)的另一部分的标准化。视频编码器20和视频解码器30可根据对HEVC标准的这些扩展操作。HEVC的多视图译码扩展可被称作MV-HEVC。泰克(Tech)等人的“MV-HEVC工作草案1(MV-HEVC Working Draft1)”(JCT3V-A1004,ITU-T SG 16WP 3与ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日,瑞典斯德哥尔摩,第1次会议)(下文称作“JCT3V-A1004”或“MV-HEVC工作草案1(MV-HEVC Working Draft 1)”)提供用于MV-HEVC的工作草案。泰克等人的“MV-HEVC工作草案2(MV-HEVC WorkingDraft 2)”(JCT3V-B1004,ITU-T SG 16WP 3与ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年10月13日到19日,中国上海,第2次会议)(下文称作“MV-HEVC工作草案2(MV-HEVC Working Draft 2)”)提供用于MV-HEVC的另一工作草案。
HEVC的3DV扩展可被称作3D-HEVC。泰克等人的“3D-HEVC测试模型描述草案的草案(Draft of 3D-HEVC Test Model Description Draft)”(JCT3V-B1005,ITU-T SG 16WP3与ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日,瑞典斯德哥尔摩,第1次会议)(下文称作“3D-HEVC测试模型1(3D-HEVC Test Model 1)”)提供参考软件以及用于3D-HEVC的工作草案。泰克等人的“3D-HEVC测试模型描述草案2(3D-HEVC Test Model Description draft 2)”(JCT3V-B1005,ITU-T SG 16WP 3与ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年10月,中国上海,第2次会议)(下文称作“3D-HEVC测试模型2(3D-HEVC Test Model 2)”)包含参考软件描述以及3D-HEVC的另一工作草案。
视频序列通常包含一系列视频帧。视频编码器20通常对个别视频帧内的视频块操作以便编码视频数据。本发明可使用术语“视频块”或“块”指一或多个样本块和用以译码样本的所述一或多个块(即,“样本块”)中的样本的语法结构。块的实例类型包含宏块、宏块分割区、子宏块、译码单元、预测单元、译码树型块等等。
视频块的样本块可具有固定或变化的大小,且大小可根据指定的译码标准而不同。样本(即,“样本值”)可指示像素的色彩分量(例如,亮度或色度分量)。在一些情况下,样本可指示深度值。
在H.264/AVC中,图片群组(GOP)通常包括一系列一或多个视频帧。GOP可在GOP的标头、GOP的一或多个帧的标头中或在其它处包含语法数据,所述语法数据描述包含于GOP中的帧的数目。每一帧可包含描述相应帧的编码模式的帧语法数据。
此外,在H.264/AVC中,视频块可对应于宏块(MB)或宏块的分割区(即,宏块分割区)。MB为具有三个样本阵列的图片的亮度样本的16×16块和色度样本的两个对应的块,或单色图片或使用三个分开的色彩平面译码的图片的样本的16×16块。MB分割区为从宏块的分割以用于针对具有三个样本阵列的图片的帧间预测而产生的亮度样本的块和色度样本的两个对应的块,或从宏块的分割以用于单色图片或使用三个分开的色彩平面译码的图片的帧间预测而产生的亮度样本的块。在H.264/AVC中,可按四个不同方式来分割每一帧间预测的宏块:一个16×16宏块分割区、两个16×8宏块分割区、两个8×16宏块分割区和四个8×8宏块分割区。一个MB中的不同MB分割区可具有针对每一预测方向的不同参考索引值(即,RefPicList0或RefPicList1)。
H.264/AVC中的宏块的概念不存在于HEVC中。相反地,宏块由基于一般四叉树方案的高度灵活阶层式结构替换。在此方案内,定义三个类型的块,即,译码单元(CU)、预测单元(PU)和变换单元(TU)。CU为块分裂的基本单元。CU的概念类似于宏块的概念,但CU不限于最大大小,且CU允许递归地分裂成四个同等大小的CU以改善内容自适应性。PU为帧间/帧内预测的基本单元。在一些实例中,PU可在单一PU中含有多个任意形状的分割区以有效地译码不规则图像图案。TU为变换的基本单元。可与CU的PU独立地定义CU的TU。然而,TU的大小限于TU所属的CU。块结构到三个不同概念的此分开可允许每一者根据其角色而优化,其可导致改善的译码效率。
为了在HEVC中产生图片的经编码的表示,视频编码器20可产生一组译码树型单元(CTU)。CTU也可被称作“树型块”或“最大译码单元”(LCU)。CTU中的每一者可包括亮度样本的译码树型块、色度样本的两个对应的译码树型块和用以译码所述译码树型块的样本的语法结构。在单色图片或具有三个分开的色彩平面的图片中,CTU可包括单一译码树型块和用以译码所述译码树型块的样本的语法结构。译码树型块可为N×N样本块。因此,HEVC的测试模型描述可将视频帧或图片分成包含亮度和色度样本两者的一连串树型块或LCU。HEVC的CTU可广泛地与例如H.264/AVC的其它标准的宏块相似。然而,CTU未必限于特定大小,且可包含一或多个CU。
为了在HEVC中产生经译码的CTU,视频编码器20可对CTU的译码树型块递归地执行四叉树分割,以将所述译码树型块分成译码块,因此,名为“译码树型单元”。换句话说,每一译码树型块可根据四叉树分裂成CU。例如,作为四叉树的根节点的译码树型块可分裂成四个子节点,且每一子节点可又为母节点且分裂成另四个子节点。作为四叉树的叶节点的最终未分裂子节点包括译码节点,即,经译码视频块。与经译码的位流相关联的语法数据可定义树块可分裂的最大次数,且也可定义译码节点的最小大小。
译码块为N×N样本块。CU可包括具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的译码块和色度样本的两个对应的译码块,和用以译码所述译码块的样本的语法结构。在单色图片或具有三个分开的色彩平面的图片中,CU可包括单一译码块和用以译码所述译码块的样本的语法结构。CU的大小通常对应于CU的译码块的大小且在形状上通常为正方形。CU的大小可范围从8×8个像素,直到具有64×64个像素或更大的最大大小的CTU的大小。
视频编码器20可将CU的译码块分割成一或多个预测块。一般来说,PU包含与预测过程有关的数据。CU的PU可包括亮度样本的预测块、色度样本的两个对应的预测块,和用以预测所述预测块样本的语法结构。在单色图片或具有三个分开的色彩平面的图片中,PU可包括单一译码块和用以译码所述预测块的语法结构。预测块可为对其应用相同预测的样本的矩形(例如,M×N,其中M可或可不等于N)块。因此,可将PU分割成形状非正方形。在HEVC和其它视频译码标准的情况下,术语“视频块”或“块”可应用于LCU、CU或PU。
作为一实例,用于HEVC的测试模型支持在各种PU大小下的预测。假定,特定CU的大小为2N×2N,用于HEVC的测试模型支持在2N×2N或N×N的PU大小下的帧内预测和在2N×2N、2N×N、N×2N或N×N的对称的PU大小下的帧间预测。用于HEVC的测试模型也支持用于在2N×nU、2N×nD、nL×2N和nR×2N的PU大小下的帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向被分割成25%和75%。对应于25%分割区的CU的部分由“n”继之以“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”指在顶部具有2N×0.5N PU且在底部具有2N×1.5N PU的水平分割的2N×2N CU。
在本发明中,“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。
视频编码器20可针对CU的每一PU的预测块(例如,亮度、Cb和Cr预测块)产生预测性块(例如,亮度、Cb和Cr块)。因此,在本发明中,CU可被称的为分割成一或多个PU。为了易于解释,本发明可将PU的预测块的大小简称作PU的大小。与CU相关联的语法元素可描述(例如)将CU分割成一或多个PU。分割模式在CU经跨越或直接模式编码、帧内预测模式编码或是帧间预测模式编码之间可不同。
在一些实例中,当例如MB、MB分割区、CU、PU等的视频块在跳过模式中译码时,无残差数据经针对视频块传信。例如,在H.264/AVC中,经跳过的MB为除了待将所述MB解码为“经跳过”的指示外不针对其译码数据的MB。在一些实例中,当使用直接模式译码视频块时,无运动向量经针对视频块译码。例如,在H.264/AVC,直接预测为针对不解码其运动向量的块(即,样本的M×N阵列)的帧间预测。
视频帧或图片可分割成一或多个切片。一切片可包含按译码次序(例如,光栅扫描次序)连续排序的整数数目个视频块。在H.264/AVC中,切片可包含按译码次序连续排序的整数数目个宏块。在HEVC中,切片可包含按译码次序连续排序的整数数目个CTU。图片的每一切片可包含描述相应切片的编码模式的切片语法数据。经译码的切片或包括切片标头和切片数据。切片的切片标头可为包含提供关于所述切片的信息的语法元素的语法结构。切片数据可包含所述切片的经译码的视频块。视频编码器20通常对个别切片(即,“视频切片”)内的视频块操作以便编码视频数据。
视频译码标准定义各种类型的切片。例如,H.264/AVC和HEVC定义I切片、P切片和B切片。一般来说,I切片为仅使用帧内预测解码的切片。一般来说,P切片为可使用帧内预测或帧间预测解码的切片,其使用至多一个运动向量和一个参考索引来预测每一块的样本值。一般来说,B切片(即,b预测性切片)为可使用帧内预测或帧间预测解码的切片,其使用至多两个运动向量和参考索引来预测每一块的样本值。此外,H.264/AVC定义额外切片类型,例如,SI切片和SP切片。SI切片为仅使用帧内预测且使用预测样本的量化译码的切片。因此,在H.264/AVC中,I切片为并非仅使用帧内预测解码的SI切片的切片。SP切片为可使用帧内预测或帧间预测通过预测样本的量化译码的切片,其使用至多一个运动向量和参考索引来预测每一块的样本值。因此,在H.264/AVC中,P切片为并非可使用帧内预测或帧间预测解码的SP切片的切片,其使用至多一个运动向量和一个参考索引来预测每一块的样本值。
当视频编码器20编码当前视频块时,视频编码器20可产生对应于当前视频块的预测性块。视频编码器20可执行帧内预测或帧间预测以产生预测性块。例如,视频编码器20可使用帧间预测或帧内预测编码宏块。当视频编码器20执行针对当前视频块的帧内预测时,视频编码器20可基于与当前视频块相同的图片内的样本产生用于当前视频块的预测性块。例如,当视频编码器20使用帧内预测编码宏块时,视频编码器20可基于当前图片中的样本产生用于所述宏块的一或多个预测性块。使用帧内预测编码的宏块可被称作帧内宏块。然而,H.264提供九个帧内预测编码模式,HEVC可提供多达三十三个帧内预测编码模式。当PU经帧内模式编码时,PU可包含描述用于PU的帧内预测模式的数据。
当视频编码器20执行帧间预测以产生用于当前视频块的预测性块时,视频编码器20可基于一或多个参考图片内的样本产生预测性块。参考图片可为不同于含有当前视频块的图片的图片。
在H.264/AVC的情况下,当视频编码器20使用帧间预测编码宏块时,视频编码器20基于不同于当前图片(即,含有所述宏块的图片)的一或多个图片的样本产生用于所述宏块的一或多个预测性块。使用帧间预测编码的宏块可被称作帧间宏块。
在HEVC的情况下,当PU经帧间模式编码时,PU可包含定义用于PU的运动向量的数据。定义用于PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动向量指向的参考图片和/或运动向量的参考图片列表(例如,列表0、列表1或列表C),运动向量可由预测方向指示。
在视频编码器20产生用于当前视频块的预测性块后,视频编码器20可产生用于当前视频块的残差块。残差块中的每一样本可基于当前视频块和用于当前视频块的预测性块的亮度或色度块中的对应的样本之间的差。例如,在HEVC的情况下,残差数据可对应于未编码的图片的像素与对应于CU的预测值之间的像素差。视频编码器20可将变换应用于残差块的样本以产生变换系数块。视频编码器20可将各种变换应用到残差块。例如,在HEVC的情况下,在使用CU的PU的帧内预测或帧间预测译码后,视频编码器20可计算由CU的TU指定的变换应用于的残差数据。换句话说,视频编码器20可形成用于CU的残差数据,且接着变换残差数据以产生变换系数。在一些实例中,视频编码器20可将例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换的变换应用到残差块。
视频编码器20可量化变换系数块以进一步减少用以表示当前视频块的位的数目。在产生变换系数的任何变换后,视频编码器20可执行变换系数的量化。量化通常指变换系数经量化以可能地减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可减小与所述系数中的一些或所有者相关联的位深度。例如,在量化期间可将n位值舍去到m位值,其中n大于m。
在一些实例中,视频编码器20可在量化变换系数块后扫描经量化的变换系数以形成经量化的变换分量的1维向量(即,串行化的向量)。在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化的变换系数,以产生串行化的向量。在其它实例中,视频编码器20可执行自适应扫描。可熵编码表示经量化的变换系数的语法元素。换句话说,在扫描了经量化的变换系数以形成一维向量后,视频编码器20可熵编码所述一维向量。
HEVC标准允许根据TU的变换,对于不同CU,其可不同。一般来说,将TU用于变换和量化过程。具有一或多个PU的给定CU也可包含一或多个TU。在预测后,视频编码器20可根据PU自由译码节点识别的视频块计算残差值。接着更新译码节点以参考残差值,而非原始视频块。残差值可包括可使用变换和TU中指定的其它变换信息变换成变换系数、量化和扫描以产生用于熵译码的串行化变换系数的像素差值。可再一次更新译码节点以参考这些串行化变换系数。
视频编码器20可熵编码表示变换系数块中的变换系数的语法元素和与当前视频块相关联的其它语法元素。例如,视频编码器20可对语法元素执行上下文自适应性二进制算术译码(CABAC)、上下文自适应性可变长度译码(CAVLC)、指数哥伦布译码(exponential-Golomb coding)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率间隔分割熵(PIPE)或另一类型的熵编码。视频编码器20可输出包含经熵编码的语法元素和与当前视频块相关联的其它语法元素的位流。
在HEVC中,视频编码器20可使用四叉树分割将CU的一或多个残差块(例如,CU的亮度、Cb和Cr残差块)分解成一或多个变换块(例如,亮度、Cb和Cr变换块)。变换块为对其应用同一变换的样本的矩形(例如,正方形或非正方形)块。CU的TU可包括亮度样本的变换块、色度样本的两个对应的变换块,和用以变换所述变换块样本的语法结构。因此,CU的每一TU可与亮度变换块、Cb变换块和Cr变换块相关联。与TU相关联的亮度变换块可为CU的亮度残差块的子块。Cb变换块可为CU的Cb残差块的子块。Cr变换块可为CU的Cr残差块的子块。在单色图片或具有三个分开的色彩平面的图片中,TU可包括单一变换块和用以变换所述变换块的样本的语法结构。以此方式,使用被称为“残差四叉树”(RQT)的四叉树结构,可将对应于CU的残差样本再分成较小单元。RQT的叶节点可被称作TU。与CU相关联的语法元素也可描述(例如)根据四叉树将CU分割成一或多个TU。
在一些实例中,针对经分割的LCU定义的CU的TU经基于CU的PU的大小定大小,但情况并非始终如此。在一些实例中,TU为相同大小或小于PU。
此外,在HEVC中,视频编码器20可将一或多个变换应用到TU的变换块以产生用于TU的系数块。系数块可为变换系数的二维阵列。例如,视频编码器20可将一或多个变换应用到TU的亮度变换块以产生用于TU的亮度系数块。变换系数可为纯量。视频编码器20可将一或多个变换应用到TU的Cb变换块以产生用于TU的Cb系数块。视频编码器20可将一或多个变换应用到TU的Cr变换块以产生用于TU的Cr系数块。以此方式,与TU相关联的像素差值可经变换以产生可量化的变换系数。
位流可包含形成经译码的图片和相关联的数据的表示的一连串位。位流可包括一连串网络抽象层(NAL)单元。NAL单元中的每一者包含NAL单元标头且囊封原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封于NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
不同类型的NAL单元可囊封不同类型的RBSP。例如,第一类型的NAL单元可囊封用于图片参考集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码的切片的RBSP,第三类型的NAL单元可囊封用于补充增强信息(SEI)的RBSP,等等。囊封用于视频译码数据的RBSP(如与用于参数集和SEI消息的RBSP相反)的NAL单元可被称作视频译码层(VCL)NAL单元。囊封经译码的切片的NAL单元可被称作经译码的切片NAL单元。
视频解码器30可接收包含视频数据的经编码的表示的位流。视频解码器30可剖析位流以从位流提取语法元素。作为从位流提取语法元素的部分,视频解码器30可熵解码位流的部分。视频解码器30可至少部分基于与当前视频块(例如,MB或MB分割区等)相关联的语法元素执行帧间或帧内预测以产生预测性块。此外,视频解码器30可量化变换系数块的变换系数且可将一或多个反变换应用到变换系数块以产生残差块。视频解码器30可接着至少部分基于残差块和预测性块重构建当前视频块的亮度和色度块。以此方式,通过重构建图片的每一视频块的亮度和色度块,视频解码器30可重构建所述图片。
如上提到,视频编码器20可执行帧间预测以针对特定视频块产生预测性块。更具体地说,视频编码器20可执行单向帧间预测或双向帧间预测以产生预测性块。
当视频编码器20执行针对当前视频块(例如,MB、MB分割区、PU等)的单向帧间预测时,视频编码器20可搜索单一参考图片列表(例如,“列表0”或“RefPicList0”)中的参考图片内的参考块。参考块可为类似于当前视频块的亮度和色度块的亮度样本的块和色度样本的对应的块。此外,当视频编码器20执行单向帧间预测时,视频编码器20可产生用于所述特定视频块的运动信息。用于所述特定视频块的运动信息可包含运动向量和参考索引。运动向量可指示当前视频块的样本块的当前图片内的位置与参考块的参考图片内的位置之间的空间位移。参考索引指示含有参考块的参考图片在参考图片列表内的位置。用于当前视频块的预测性块中的样本可等于参考块中的对应的样本。
当视频编码器20执行针对当前视频块(例如,MB、MB分割区、PU等)的双向帧间预测时,视频编码器20可搜索在第一参考图片列表(“列表0”或“RefPicList0”)中的参考图片内的第一参考块,且可搜索在第二参考图片列表(“列表1”或“RefPicList1”)中的参考图片内的第二参考块。视频编码器20可至少部分基于第一和第二参考块产生用于当前视频块的预测性块。此外,视频编码器20可产生第一运动向量,其指示当前视频块的样本块与第一参考块之间的空间位移。视频编码器20也可产生第一参考索引,其识别含有第一参考块的参考图片在第一参考图片列表内的位置。此外,视频编码器20可产生第二运动向量,其指示当前视频块的块与第二参考块之间的空间位移。视频编码器20也可产生第二参考索引,其识别包含第二参考块的参考图片在第二参考图片列表内的位置。
当视频编码器20执行针对当前视频块(例如,MB、MB分割区、PU等)的单向帧间预测时,视频解码器30可使用当前视频块的运动信息识别所述当前视频块的参考块。视频解码器30可接着基于当前视频块的参考块产生用于当前视频块的预测性块。当视频编码器20执行针对当前视频块的双向帧间预测时,视频解码器30可使用用于所述当前视频块的运动信息识别所述当前视频块的两个参考块。视频解码器30可基于当前视频块的两个参考块产生当前视频块的预测性块。
在H.264/AVC中,当MB未分割成四个8×8MB分割区时,所述MB可针对整个MB分割区在每一预测方向(即,RefPicList0或RefPicList1)上仅具有一个运动向量。当将MB分割成四个8×8MB分割区时,每一8×8MB分割区可进一步分割成子块。存在从8×8MB分割区分割子块的四个不同方式:一个8×8子块、两个8×4子块、两个4×8子块或四个4×4子块。每一子块可在每一预测方向上具有不同运动向量。将8×8MB分割区分割成子块的方式可叫作子块分割区。
多视图视频译码(MVC)为H.264/AVC的扩展。在多视图译码中,存在来自不视点的同一场景的多个视图。在多视图译码的情况下,术语“存取单元”可指对应于同一时间执行个体的一组图片。因此,视频数据可概念化为一系列随时间出现的存取单元。
在多视图译码中,位流可具有多个层。所述层中的每一者可对应于不同视图。在多视图译码中,如果视频解码器(例如,视频解码器30)可不参考任一其它视图中的图片来解码视图中的图片,那么可将所述视图称作“基层视图”。如果视图的解码取决于在一或多个其它视图中的图片的解码,那么所述视图可被称作非基本视图。
图2为说明用于多视图译码的实例预测结构的概念图。用于多视图视频译码的典型MVC预测(包含在每一视图内的图片间预测和视图间预测两者)结构展示于图2中,其中预测由箭头指示,指向到的物件使用指向自的物件用于预测参考。
图2的多视图预测结构包含时间和视图间预测。在图2的实例中,每一正方形对应于一视图分量。在图2的实例中,将存取单元标为T0……T11,且将视图标为S0……S7。标为“I”的正方形为帧内预测的视图分量。标为“P”的正方形为单向帧间预测的视图分量。标为“B”或“b”的正方形为双向帧间预测的视图分量。标为“b”的正方形可使用标为“B”的正方形作为参考图片。从第一正方形指向第二正方形的箭头指示第一正方形可在帧间预测中作为用于第二正方形的参考图片。如由图2中的垂直箭头指示,在同一存取单元的不同视图中的视图分量可用作参考图片。将存取单元的一个视图分量用作用于同一存取单元的另一视图分量的参考图片可被称作视图间预测。
在MVC中,在于同一存取单元的不同视图中捕获的图片间执行视图间预测(即,在同一时间执行个体内)以去除视图之间的相关性。可将通过视图间预测译码的图片添加到用于其它非基本视图的视图间预测的参考图片列表。可按与帧间预测参考图片相同的方式将视图间预测参考图片置于参考图片列表的任一位置中。
在多视图视频译码的情况下,存在两种运动向量。一种运动向量为指向时间参考图片(即,在与当前图片不同的时间执行个体中的图片)的法向运动向量。对应于法向时间运动向量的帧间预测的类型可被称作“运动补偿的预测”或“MCP”。当将视图间预测参考图片用于运动补偿时,对应的运动向量可被称作“视差运动向量”。换句话说,视差运动向量指向在不同视图中的图片(即,视差参考图片或视图间参考图片)。对应于视差运动向量的帧间预测的类型可被称作“视差补偿的预测”或“DCP”。
图3为说明一实例多视图解码次序的概念图。换句话说,典型的MVC解码次序(即,位流次序)展示于图3中。所述解码次序布置被称作时间优先解码。注意,存取单元的解码次序可不与输出或显示次序相同。在图3中,S0-S7各指多视图视频的不同视图。T1-T9各表示一个输出时间执行个体。存取单元可包含用于一个输出时间执行个体的所有视图的经译码的图片。例如,第一存取单元可包含对于时间执行个体T1的所有视图S0-S7,第二存取单元可包含对于时间执行个体T2的所有视图S0-S7,等等。
以下章节大体论述多视图和3D视频译码。在多视图和3D视频译码的情况下,“视图分量”可为在单一存取单元中的视图的经译码表示。当视图包含经译码的纹理和深度表示时,视图分量可包括纹理视图分量和深度视图分量(例如,由纹理视图分量和深度视图分量组成)。因此,每一纹理视图分量可具有对应的深度视图分量。一般来说,纹理视图分量包含视频内容(例如,像素值的亮度和色度分量),且深度视图分量可指示在纹理视图分量内的像素的相对深度。因此,用于每一视图的多个视频图片可被称作纹理视图分量。在本发明中,“视图”可指与同一视图识别符相关联的一连串视图分量。
更具体地说,纹理视图分量(即,纹理图片)可为在单一存取单元中的视图的纹理的经译码表示。纹理视图分量包含显示的实际图像内容。例如,纹理视图分量可包含亮度(Y)和色度(Cb和Cr)分量。纹理视图可为与视图次序索引的识别值相关联的一连串纹理视图分量。视图的视图次序索引可指示所述视图相对于其它视图的相机位置。
本发明的技术涉及通过译码纹理和深度数据来译码3D视频数据。一般来说,术语“纹理”用以描述图像的亮度(luminance)(即,亮度(brightness)或“luma”)值和图像的色度(即,色彩或“chroma”)值。在一些实例中,纹理图像可包含用于蓝色调(Cb)和红色调(Cr)的一组亮度数据和两组色度数据。在某些色度采样格式(例如,4:2:2或4:2:0)中,相对于亮度数据减少采样色度数据。即,色度像素的空间分辨率可低于对应的亮度像素的空间分辨率,例如,亮度分辨率的一半或四分之一。
深度视图分量(即,深度图片)可为在单一存取单元中的视图的深度的经译码表示。深度视图可为与视图次序索引的识别值相关联的一连串深度视图分量。深度视图分量可指示像素在其对应的纹理视图分量中的相对深度。作为一个实例,深度视图分量为包含仅亮度值的灰阶图像。换句话说,深度视图分量可不传送任何图像内容,而相反,提供像素在纹理视图分量中的相对深度的测量。
在一些实例中,在深度视图分量中的纯白像素指示从检视者的角度看来,在对应的纹理视图分量中的其对应的像素更靠近,且在深度视图分量中的纯黑像素指示从检视者的角度看来,在对应的纹理视图分量中的其对应的像素更远。在黑与白之间的灰阶的各种阴影指示不同深度等级。例如,在深度视图分量中的深灰像素可指示在纹理视图分量中的其对应的像素比在深度视图分量中的浅灰像素更远。因为仅需要灰阶来识别像素的深度,所以深度视图分量不需要包含色度分量,这是由于用于深度视图分量的色彩值可不用来满足任何目的。仅使用亮度值(例如,强度值)识别深度的深度视图分量是为了说明目的而提供,且不应被视为限制性。在其它实例中,可利用任一技术来指示像素在纹理视图分量中的相对深度。
深度数据通常描述对应的纹理数据的深度值。例如,深度图像可包含各描述对应的纹理数据的深度的一组深度像素。深度数据可用以确定对应的纹理数据的水平视差。因此,接收纹理和深度数据的装置可针对一个视图(例如,左眼视图)显示第一纹理图像,且可使用深度数据修改第一纹理图像以通过按基于深度值确定的水平视差值使第一图像的像素值偏移来针对另一视图(例如,右眼视图)显示第二纹理图像。一般来说,水平视差(或简称为“视差”)描述第一视图中的像素到第二视图中的对应的像素的水平空间偏移,其中两个像素对应于如在两个视图中表示的同一物件的同一部分。
在再其它实例中,在与图像平面垂直的z维度上针对像素定义深度数据,使得相对于针对图像定义的零视差值定义与给定像素相关联的深度。此深度可用以创造用于显示像素的水平视差,使得取决于像素相对于零视差平面的z维度深度值针对左眼和右眼不同地显示像素。零视差平面可针对视频序列的不同部分改变,且相对于零视差平面的深度的量也可改变。可针对左眼和右眼类似地定义位于零视差平面上的像素。可针对左眼和右眼在不同位置中显示位于零视差平面前的像素(例如,通过水平视差),以便创造像素显得来自在垂直于图像平面的z方向上的图像的察觉。位于零视差平面后的像素可通过稍微的模糊来显示,以呈现深度的稍微察觉,或可针对左眼和右眼在不同位置中显示(例如,通过与位于零视差平面前的像素的水平视差相对的水平视差)。也可使用许多其它技术来传达或定义用于图像的深度数据。
对于深度视图分量中的每一像素,在纹理视图分量中可存在一或多个对应的像素。例如,如果深度视图分量与纹理视图分量的空间分辨率相同,深度视图分量中的每一像素对应于纹理视图分量中的一个像素。如果深度视图分量的空间分辨率小于纹理视图分量的空间分辨率,那么深度视图分量中的每一像素对应于纹理视图分量中的多个像素。深度视图分量中的像素的值可指示纹理视图中的对应的一或多个像素的相对深度。
在一些实例中,视频编码器传信用于纹理视图分量的视频数据和用于视图中的每一者的对应的深度视图分量。视频解码器30可利用纹理视图分量和深度视图分量两者的视频数据来解码用于显示的视图的视频内容。显示器接着显示多视图视频以产生3D视频。
返回参看图3,视图中的每一者包含图片的集合。例如,视图S0包含图片0、8、16、24、32、40、48、56和64的集合,且视图S1包含图片1、9、17、25、33、41、49、57和65的集合,等等。每一集合包含两个图片:一个图片被称作纹理视图分量,且另一图片被称作深度视图分量。可将在视图的图片集合内的纹理视图分量和深度视图分量视为彼此对应。例如,将在视图的图片集合内的纹理视图分量视为对应于在所述视图的所述图片的集合内的深度视图分量(即,深度视图分量对应于所述集合中的其纹理视图分量,且反之亦然)。如本发明中所使用,可将对应于深度视图分量的纹理视图分量视为纹理视图分量和深度视图分量为单一存取单元的同一视图的部分。
本发明的下一个章节论述基于AVC的3D视频译码标准(即,3D-AVC)。以下论述在3D-AVC中的视图分量的译码次序。3D-AVC按以下方式与H.264/AVC兼容:基本视图的纹理部分完全可针对H.264/AVC解码器解码。对于3D-AVC中的增强型视图分量,可在纹理前译码深度,且可基于来自深度视图分量的信息译码纹理视图分量,其也被称为深度优先译码。相比之下,按纹理优先译码次序,在相应深度视图分量前译码每一纹理视图分量。例如,在3D-AVC中的纹理和深度视图分量的译码次序可举例说明如下;其中T0和D0分别指基本视图的纹理和深度视图分量,且Ti和Di分别指第i个相依视图的纹理和深度视图分量。在以下实例中,存在三个视图:
-T0 D0 D1 D2 T1 T2:按纹理优先译码次序译码基本视图(T0和D0),而按深度优先译码次序译码相依视图。当前在3D-AVC的普通测试条件中使用混合译码次序。
-T0 D0 T1 D1 T2 D2:按纹理优先译码次序译码所有视图分量。
如果针对Ti启用视图间预测,那么将参考纹理视图定义为包含视图间参考图片的视图,且将对应的深度视图定义为具有与参考纹理视图的视图次序索引相同的视图次序索引的参考深度视图。
视频译码器可将视差向量(DV)用作两个视图之间的视差的估计量。因为在视频译码中相邻块共享几乎相同的运动/视差信息,所以当前块可将相邻块中的运动向量信息用作良好预测值。现在论述经由深度图的3D-AVC视差向量导出。用于导出视差向量的技术可随每一低阶译码工具而变化,但通常,归因于深度优先译码次序,将相依视图的深度数据用于纹理视图分量译码。
3D-AVC中的基于回路内块的视图合成视图间预测(BVSP)和基于深度的运动向量预测(D-MVP)为低阶译码工具,主要使用从相依帧中的深度图的深度值转换的视差向量。通常,在3D-AVC软件中,从实际深度图值到对特定视图的视差的转换过程的结果与摄像机参数一起存储于查找表中。
可在3D-AVC中启用BVSP。BVSP原先提议于苏(Su)等人的“3DV-CE1.a:针对3DV-ATM的基于块的视图合成预测(3DV-CE1.a:Block-based View Synthesis Predictionfor 3DV-ATM)”(ITU-T SG 16 WP 3与ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日,瑞典斯德哥尔摩,第1次会议)(下文称作“JCT3V-A0107”)中,从2014年3月3日起,JCT3V-A0107可从以下链接下载:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/1_Stockholm/wg11/JCT3V-A0107-v1.zip。
图4为基于反向变形的BVSP的实例概念观测。参看图4,假定利用以下译码次序:(T0、D0、D1、T1)。纹理分量T0为基本视图,且T1为通过VSP译码的相依视图。深度图分量D0和D1为与T0和T1相关联的相应深度图。
在相依视图T1中,从由基本视图T0的样本值组成的参考区R(Cb)预测当前块Cb的样本值。从与当前译码的纹理样本相关联的深度图值,将经译码的样本与参考样本之间的位移向量表示为T1与T0之间的导出的视差向量。
在一些实例中,视频译码器可使用以下方程式来执行从深度值到视差向量的转换过程:
其中j和i为在Cb内的局部空间坐标,d(Cb(j,i))为在视图#1的深度图图像中的深度图值,Z为d(Cb(j,i))的实际深度值,且D为对特定视图#0的导出的视差向量的水平分量。参数f、b、Znear和Zfar为指定摄像机设置的参数,即,使用的焦距(f)、视图#1与视图#0之间的摄像机分隔(b),且深度范围(Znear、Zfar)表示深度图转换的参数。
在一些实例中,导出的视差向量的垂直分量始终设定为等于0。在3D-AVC的当前实施方案(即,3DV-ATM实施方案)中,方程式(1)和(2)已经针对每一深度图值(0……255)预先计算,且存储为查找表。因此,视频译码器可使用查找表在不计算以上提供的方程式(1)和(2)的情况下将深度值转换到视差向量。
与BVSP有关的一个实施方案问题涉及BVSP块的指示。在一些实例中,如下指示BVSP块。在MB级的一个旗标传信当前MB是否通过常规跳过/直接模式译码或当前MB是否通过跳过/直接模式译码但从合成参考分量预测。对于每一MB分割区(从16×16到8×8),对应于参考图片列表的参考索引传信参考图片列表中的参考图片。当视频编码器使用BVSP模式编码MB分割区时,视频编码器不传信MB分割区的运动向量差(MVD),因为不存在用于BVSP译码的块的运动向量。当旗标或参考索引指示使用合成参考分量译码MB分割区时,视频译码器可调用一个分割区的预测,如下所描述。
与BVSP有关的另一实施方案问题涉及预测导出过程。N×M可表示MB分割区的大小,其中N或M等于8或16。如果通过BVSP模式译码MB分割区,那么所述MB分割区进一步分割成具有等于K×K的大小的若干个子区域,其中K可为4×4、2×2或1×1。对于MB分割区的每一子区域,视频译码器导出分开的导出的视差向量。此外,对于MB分割区的每一相应子区域,视频译码器使用导出的视差向量找出在视图间参考图片中的对应的块(即,图4中的R(cb))的位置。视频译码器可从相应子区域的对应的块预测相应子区域。BVSP的一个实例是基于具有4×4的大小的块的反向变形(意味着K等于4)。未针对BVSP译码的块存储导出的视差向量,这是因为不存在使用这些向量的译码工具。
另一实施方案问题涉及视差向量导出过程。当应用深度优先译码次序时,视频译码器可通过转换在对应的非基本深度视图中的对应的深度块的深度值来获得导出的视差向量,如图4中所示。可应用若干技术来选择一个深度块的深度值,例如,深度块的中心位置的深度值、在一个深度块内的所有深度值中的最大值、在一个深度块内的四个角像素的最大值和深度块/深度MB的右下部像素的深度值。当应用纹理优先译码次序时,视频译码器可停用BVSP模式,这是因为当解码非基本纹理视图时,对应的非基本深度视图不可用。
现在论述对于常规帧间模式在3D-AVC中的基于深度的运动向量预测(D-MVP)。D-MVP为在当前视图中并有相关联的深度图数据的运动向量预测方法,归因于深度优先译码次序,所述方法可用。视频译码器可通过相依(即,非基本)视图中的纹理视图分量应用D-MVP。
在3D-AVC中,将D-MVP方法并入到H.264/AVC中的基于常规中值函数的运动向量预测。具体地说,首先按检查相邻块中的运动向量的参考索引以知晓运动预测的类型的方式识别待预测的运动向量的类型(即,时间运动向量或是视差运动向量)。
相邻块按次序包含相对于当前块的左块、上方块、右上方块和左上方块。在一些实例中,当其它三个相邻块(即,左块、上方块和右上方块)中的一者不含有运动向量且因此被视为不可用时,视频译码器可仅使用左上方块中的运动向量。
然后,如果三个相邻块可用,那么视频译码器可将三个相邻块中的运动向量用于当前块的运动向量的运动向量预测。在时间预测中,如果三个相邻块的运动向量皆具有同一类型且皆具有相同的参考索引,那么视频译码器可直接使用中值滤波器,如在H.264/AVC中所描述。否则(如果三个相邻块的运动向量属于不同类型且三个相邻块具有不同参考索引),那么视频译码器可进一步导出用于当前块的运动向量。当当前参考图片为视图间参考图片时,视频译码器可检查运动向量类型和其在相邻参考位置中的参考索引。如果运动向量皆具有同一类型且相同的参考索引,那么视频译码器可应用中值滤波器。在两个情况下,如果不足三个相邻块可用,那么视频译码器可进一步导出用于不可用块的运动向量,使得三个相邻块变得可用。
针对相邻块导出的运动向量可被称作导出的运动向量。为了导出当前块的运动向量,视频译码器可确定当前运动向量(即,相邻块的运动向量)是否为视差运动向量,相邻块的运动向量是否具有与当前运动向量的类型不同的类型,或相邻块的运动向量不可用。如果这些条件中的任一者适用,那么视频译码器可将当前块的导出的运动向量设定为视差运动向量,视频译码器可从对应的深度视图分量转换视差运动向量。视频译码器可将同一视图的深度视图分量的对应的块的四个角落的深度值中的最大值转换到视差值。视频译码器可将视差值设定到导出的运动向量的水平分量。视频译码器可将导出的运动向量的垂直分量设定为零。
如果当前运动向量为时间运动向量,那么视频译码器可使用视差值(如上所提到类似地导出)来确定参考(基本)视图中的参考块的时间运动向量。视频译码器可将导出的运动向量设定为时间运动向量。如果将时间运动向量视为不可用(例如,时间相邻块在帧内块中,或时间相邻块的运动向量不指向参考视图中与当前参考图片对准的参考图片),那么视频译码器可将导出的运动向量设定为零。
现在论述针对跳过和直接模式在3D-AVC中的视图间运动预测。如在H.264/AVC规范的章节7.3.5和7.4.5中所描述,用于宏块的macroblock_layer语法结构可包含指定所述宏块的宏块类型的mb_type语法元素。mb_type语法元素的语义取决于含有所述宏块的切片的切片类型。如果切片为P切片,那么宏块类型包含P_Skip类型。当宏块的宏块类型为P_Skip时,位流中不存在进一步的数据用于宏块。如果所述切片为B切片,那么宏块类型包含B_Skip模式和B_Direct_16×16模式(即,B-16×16直接模式)。当宏块的宏块类型为B_Skip时,位流中不存在进一步的数据用于宏块。当宏块的宏块类型为B_Direct_16×16时,位流中不存在运动向量差或参考索引用于宏块。此外,当宏块的宏块类型为B_Direct_16×16时,函数MbPartWidth(B_Direct_16×16)和MbPartHeight(B_Direct_16×16)在导出过程中用于H.264/AVC规范的子条款8.4.1中的运动向量和参考帧索引,以用于直接模式预测。
此外,macroblock_layer语法结构可包含一或多个sub_mb_pred语法结构。sub_mb_pred语法结构可包含指定子宏块类型的四个sub_mb_type语法元素。子宏块类型包含B_Direct_8×8模式(即,B-8×8直接模式)。当子宏块的子宏块类型为B_Direct_8×8时,位流中不存在运动向量差或参考索引用于子宏块。函数SubMbPartWidth(B_Direct_8×8)和SubMbPartHeight(B_Direct_8×8)在导出过程中用于H.264/AVC规范的子条款8.4.1中的运动向量和参考帧索引,以用于直接模式预测。
视频译码器可在P跳过、B跳过、B-16×16直接模式和B-8×8直接模式中执行在3D-AVC中的视图间运动预测。为了执行视图间运动预测,视频译码器可首先从相邻块导出用于当前块的视差向量,以及导出从同一视图的深度视图分量的深度值转换的视差向量。如果一个可用空间相邻块含有视差运动向量,那么视频译码器可确定此视差运动向量为用于当前块的视差向量。否则,当相邻块中无一者具有视差运动向量时,视频译码器可从深度值转换块的视差运动向量(类似于在D-MVP中的转换)。然后,视频译码器可将中值滤波器应用到三个相邻块以确定用于当前块的视差向量。
视频译码器可使用用于当前块的视差向量来确定在参考(例如,基本)视图中的参考块的时间运动向量。如果时间运动向量不可用,视频译码器可首先导出参考索引,且视频译码器可应用如上所论述的D-MVP来产生运动向量预测值。
3D-AVC和HEVC的多视图扩展可使用基于相邻块的视差向量(NBDV)导出过程来导出块的视差向量。一般来说,NBDV导出过程将相邻视差信息用于估计用于当前块的视差向量。一开始定义若干空间和时间相邻候选块。视频译码器可按预定义的次序检查相邻块中的每一者。可通过当前块与相邻块之间的相关性的优先权确定预定义的次序。一旦视频译码器确定相邻块具有视差运动向量(即,相邻块的运动向量指向视图间参考图片),那么视频译码器可将所述视差运动向量转换到用于当前块的视差向量。
一般来说,当执行NBDV导出过程时,视频译码器可使用两组相邻块。一组相邻块来自空间相邻块,且另一组相邻块来自时间相邻块。在一些实例中,如果使用NBDV导出过程导出块的视差向量,那么术语NBDV用以指块的视差向量。
视频译码器可将NBDV导出过程用作3D-HEVC中的视差运动导出方法,其针对所有视图使用纹理优先译码次序。在当前3D-HEVC设计中,视频译码器可也使用NBDV导出过程从参考视图的深度图检索深度数据。3D-HEVC首先采用在张(Zhang)等人的“视差向量产生结果(Disparity vector generation results)”(ITU-T SG 16 WP 3与ISO/IEC JTC1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日,瑞典斯德哥尔摩,第1次会议)(下文称作JCT3V-A0097)中提议的方法。隐含视差向量与简化的NBDV一起包含于JCT3V-A0126:宋(Sung)等人的“3D-CE5.h:针对基于HEVC的3D视频译码的视差向量导出的简化(3D-CE5.h:Simplification of disparity vectorderivation for HEVC-based 3D video coding)”(ITU-T SG 16 WP 3与ISO/IEC JTC 1/SC29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日,瑞典斯德哥尔摩,第1次会议,文件JCT3V-A0126(下文称作JCT3V-A0126))中。此外,在康(Kang)等人的“3D-CE5.h相关:针对视差向量导出的改善(3D-CE5.h related:Improvements for disparity vector derivation)”(ITU-T SG 16 WP 3与ISO/IEC JTC 1/SC29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年10月13日到19日,中国上海,第2次会议,文件JCT3V-B0047(下文称作JCT3V-B0047))中,通过去除存储于经解码图片缓冲器中的隐含视差向量进一步简化NBDV导出过程,同时通过随机存取图片(RAP)选择达成改善的译码增益。
在一些NBDV导出过程中,视频译码器使用五个空间相邻块用于视差向量导出。五个空间相邻块为当前PU的由A0、A1、B0、B1和B2表示的左下方块、左块、右上方块、上方块和左上方块。在提议的NBDV导出过程中使用的五个空间相邻块可为在HEVC中在合并模式中使用的相同的五个空间相邻块。因此,在一些实例中,不需要额外存储器存取来存取五个空间相邻块。
为了检查时间相邻块,视频译码器可首先执行候选图片列表的构建过程。视频译码器可将来自当前视图的所有参考图片作为候选图片对待。视频译码器可首先将所谓的共置型参考图片插入到候选图片列表内,接着为按参考索引的升序的候选图片中的其余者(即,当前视图中的参考图片)。即,视频译码器可根据剩余候选图片出现在当前图片的参考图片列表(例如,RefPicList0和RefPicList1)中的次序将剩余候选图片插入到候选图片列表内。在含有当前块的切片的切片标头中的一或多个语法元素可指示共置型图片。在一些实例中,当在两个参考图片列表(例如,RefPicList0和RefPicList1)中的具有相同参考索引的参考图片可用于在NBDV导出过程中使用时,在与共置型图片相同的参考图片列表中的参考图片在候选图片列表中在其它参考图片之前。
当视频译码器通过视图间运动预测译码块时,视频译码器可导出视差向量以用于选择不同视图中的对应的块。术语“隐含视差向量”或“IDV”(或在一些情况下,“导出的视差向量”)可指在视图间运动预测中导出的视差向量。例如,即使视频译码器可通过运动预测(即,时间运动预测)译码块,视频译码器仍不抛弃导出的视差向量。相反地,视频译码器可将所述视差向量用于译码接下来的块的目的。具体地说,视频译码器可将所述视差向量作为隐含视差向量对待,且可在NBDV导出过程中使用隐含视差向量来确定用于一或多个其它块的视差向量。
通常,当视频译码器执行NBDV导出过程时,视频译码器按次序检查时间相邻块中的视差运动向量、空间相邻块中的视差运动向量且接着隐含视差向量。一旦视频译码器找到视差向量,那么所述视频译码器可终止NBDV导出过程。
可在3D-HEVC中启用反向VSP。在3D-HEVC中,当视频译码器应用纹理优先译码次序时,视频译码器可针对每一PU从NBDV导出过程导出视差向量,考虑或不考虑参考深度视图中的深度值。在视频译码器获得视差向量后,如果一个PU的4×4子区域经通过BVSP模式译码,那么所述视频译码器可进一步针对所述PU的每一4×4子区域精细化所述视差向量。
精细化过程可包含两个步骤。在第一步骤中,视频译码器可从参考深度视图中的4×4深度块选择一个最大深度值。视频译码器可使用导出的视差向量找出4×4深度块的位置。在第二步骤中,视频译码器可将深度值转换到经精细化的视差向量的水平分量,同时保持经精细化的视差向量的垂直分量为0。在针对一个PU的一个4×4子区域精细化视差向量后,视频译码器可使用经精细化的视差向量找出参考纹理视图中的一个块的位置以用于运动补偿。
如上所指示,3D-HEVC可使用NBDV导出过程来导出视差向量。被以引用的方式并入本文中的在2013年2月26日申请的美国临时专利申请案第61/769,716号(下文称作'716申请案)描述针对3D-AVC的NBDV导出过程。如在'716申请案中所描述,视频译码器可使用MB级NBDV导出过程来导出用于当前MB的视差向量。视频译码器可进一步将用于当前MB的视差向量用于运动向量预测。如在'716申请案中所描述,一旦视频译码器识别视差运动向量(即,一旦视频译码器识别使用视图间参考图片的时间或空间相邻块),那么所述视频译码器可返回所述视差运动向量作为用于当前MB的视差向量。
图5为说明用于NBDV导出过程的实例空间相邻块的概念图。在'716申请案中,当视频译码器在NBDV导出过程中检查空间相邻块时,视频译码器可检查所述视频译码器在AVC运动预测过程中检查的空间相邻块。当视频译码器在于'716申请案中提议的NBDV导出过程中检查空间相邻块时,所述视频译码器可按A(左)、B(上)、C(右上)和D(左上)的次序检查空间相邻块,如图5的实例中所示。换句话说,将在AVC运动预测过程中检查的空间相邻块在提议的NBDV过程中是按A(左)、B(上)、C(右上)和D(左上)的次序检查。
此外,在于'716申请案中提议的NBDV导出过程中,视频译码器可检查时间相邻块。图6为说明用于NBDV导出过程的实例时间相邻块的概念图。所述视频译码器可检查来自与当前图片相同的视图中的多达两个参考图片的块:(对于B切片,RefPicList1[0]和RefPicList0[0],且对于P切片,RefPicList0[0])。当前,视频译码器可逐个图片地检查三个时间块。对于每一图片,视频译码器可按BR(右下)、CT3(中间3)和CO2(角落2)的次序(如在图6的实例中所指示)检查相对于共置型MB的共置型块,如下所指示。
此外,在'716申请案中,NBDV导出过程的终止描述如下。视频译码器可按次序检查以上提到的相邻块。类似于3D-HEVC,视频译码器可首先检查时间相邻块,且稍后检查空间相邻块。一旦视频译码器确定块含有可用的视差运动向量,那么所述视频译码器可终止导出过程。
当与MVC+D相比时,在'716申请案中提议的方法的译码增益展示于下表中。
'716申请案的提议方法启用仅纹理译码,其未在3D-AVC中得到有效率地支持。当启用相同的仅纹理配置时,来自当前3D-AVC的译码增益仅为1%。
在一些实例中,存取参考视图的深度视图分量的NBDV导出过程用于3D-AVC中。如在2013年2月27日申请的美国临时专利申请案61/770,268('268申请案)(其全部内容被以引用的方式并入本文中)中所描述,可通过存取基本/参考视图的深度视图分量来进一步改善NBDV导出过程。如在'268申请案中所描述,视频译码器可使用从相邻块导出的视差向量找出深度视图分量中的深度像素的位置,使得视频译码器可进一步精细化视差向量。下表展示当与MVC+D相比时'268申请案的提议的方法的译码增益。
如上展示,'268申请案的提议的方法提供5%多的译码增益,但仍需要存取深度视图分量。
针对3D-AVC开发的NBDV导出方法可具有以下问题。首先,当利用'716申请案中提议的NBDV导出方法时,包含D-MVP和BVSP的译码工具可变得不够有效率,主要归因于视差向量不够准确的原因。其次,当利用'268申请案中提议的NBDV导出方法时,始终需要存取深度视图分量。甚至在此情况下,从相邻块获得的初始视差向量可也防止视频译码器识别深度视图分量中的更准确区。第三,可通过存取如在3D-HEVC中的IDV来改善视差向量。然而,这些IDV的使用可需要用于空间相邻块和时间相邻块两者的额外存储。在类似于运动场的大小的等级中,用于空间和时间相邻块的IDV的存储可显著需要更多存储,和更多存储器存取。
本发明提议改善的NBDV过程。具体地说,本发明的技术可提供对通过存储用于整个切片的一或多个导出的视差向量(DDV)来改善NBDV产生(即,NBDV导出过程)的解决方案。本发明的技术可主要针对NBDV方法设计,如在'716申请案和'268申请案中所描述。
根据本发明的一或多个技术,视频译码器(例如,视频编码器20或视频解码器30)可存储一或多个DDV。视频译码器可将DDV用于预测随后译码的视频块的视差向量。换句话说,存储来自先前块的一或多个DDV,用于更好地预测未来块的视差向量。
在一些实例中,如果当前块为深度视图分量且视频译码器导出DDV所来自的块为纹理视图分量,那么视频译码器不使用DDV预测当前块的视差向量。此外,如果当前块为纹理视图分量且视频译码器导出DDV所来自的块为深度视图分量,那么视频译码器不使用DDV预测当前块的视差向量。例如,不使用DDV预测不同于不含有当前MB的视图分量的任一视图分量的任一块的视差向量。换句话说,不使用DDV预测不含有当前MB的任一视图分量的任一块的视差向量。
此外,在一些实例中,如果当前块和视频译码器导出DDV所来自的块在不同切片中,那么视频译码器不使用DDV预测当前块的视差向量。例如,不使用DDV预测不同于不含有当前MB的切片的任一切片的任一块的视差向量。
如上所指示,视频译码器可维护用于切片的一或多个DDV。在一些实例中,由视频译码器针对切片维护的DDV的数目不与当前图片的宽度、当前图片的高度或当前切片中的块的数目成比例。换句话说,待维护的DDV的数目不与图片宽度、图片高度或切片具有的块的数目成比例。相反,在一些实例中,由视频译码器维护的DDV的数目与一个MB、一个CU或一个LCU中的块的数目成比例。
在本发明的一些实例中,视频译码器存储仅一个DDV。例如,一旦视频译码器解码切片的第一(按译码次序)MB,那么视频译码器可将所述MB的视差向量存储到DDV。当译码当前MB时,视频译码器可在NBDV导出过程中使用存储的DDV来导出用于后续MB的视差向量。换句话说,当译码当前MB时,当译码先前MB(其通常为左MB)时产生的先前存储的DDV用于MBDV。
以此方式,在一些实例中,视频译码器可存储用于视频数据的当前图片的切片的DDV。此外,视频译码器可至少部分基于用于视频数据的当前图片的切片的DDV导出用于所述切片的第一块的NBDV。视频译码器可至少部分基于用于所述第一块的NBDV译码第一块。此外,视频译码器可存储用于第一块的NBDV作为DDV。例如,一旦视频译码器译码切片的第一MB(即,在此之后),那么视频译码器可存储所述MB的视差向量作为DDV。因此,在一些实例中,视频译码器可存储用于视频数据的当前图片的一切片的仅一个DDV,其中所述切片包含多个块。此外,在这些实例中,视频译码器可在NBDV导出过程中使用用于所述切片的DDV来确定用于特定块的视差向量,其中所述特定块为所述切片的块中的一者。在这些实例中,视频译码器可存储用于特定块的视差向量作为用于所述切片的DDV。
在存储用于第一块的NBDV作为DDV后,视频译码器可至少部分基于所述DDV导出用于所述切片的第二块的NBDV。在一些实例中,第一块紧靠第二块的左边。此外,视频译码器可至少部分基于用于所述第二块的NBDV译码第二块。在这些实例中,第一块可为宏块,且第二块也可为宏块。在其它情况下,第一块和第二块可为CU,第一块和第二块可为PU,或第一块和第二块可为LCU。
在一些实例中,视频译码器可更新DDV以指定当前MB的视差向量。例如,仅当视频译码器使用视图间运动预测译码当前MB时,视频译码器可更新DDV以指定当前MB的视差向量。换句话说,仅当通过使用NBDV结果(例如,使用视图间运动预测)译码当前MB时,更新DDV。在另一实例中,仅当帧间译码当前MB时,视频译码器更新DDV以指定当前MB的视差向量。换句话说,仅当帧间译码当前MB时更新DDV。在另一实例中,仅当当前MB在经帧间译码的切片(例如,P切片或B切片)中时,视频译码器更新DDV以指定当前MB的视差向量。因此,在此实例中,仅当帧间译码当前切片时更新DDV。在另一实例中,仅当通过跳过模式或直接模式译码当前MB时,视频译码器更新DDV以指定当前MB的视差向量。换句话说,仅当通过跳过模式或直接模式译码当前MB时更新DDV。
此外,在一些实例中,视频译码器可响应于确定用于块的视差向量的量值大于DDV的量值来存储用于所述块的视差向量,作为DDV。例如,仅如果当前MB的视差向量的水平分量大于DDV的水平分量时,视频译码器可更新DDV以指定当前MB的视差向量。换句话说,仅如果当前MB的导出的视差向量大于先前存储的DDV时,进一步存储/更新所述DDV。此处,比较视差向量的水平分量的绝对值。
在一些实例中,仅如果DDV为零时,视频译码器更新DDV以指定当前块的视差向量。在一些实例中,当DDV的两个分量皆等于零时,视频译码器可将DDV识别为零。在其它实例中,当DDV的水平分量等于零时,视频译码器可将DDV识别为零。因此,在这些实例中,仅如果DDV为零(由两个分量识别为零或仅水平分量为零)时,进一步存储或更新所述DDV。
在一些实例中,仅当存储的DDV指定用于在当前块的左边的块的视差向量时,视频译码器可从存储的DDV导出用于当前块的视差向量。例如,如果视频译码器导出DDV所来自的MB不邻近当前MB的左侧,那么视频译码器不使用所述DDV来导出用于当前MB的视差向量。换句话说,如果用以产生DDV的先前MB并非位于当前MB的左侧的MB,那么所述DDV不用以导出当前MB的NBDV。
因此,在以上和本发明的其它处提供的本发明的各种实例中,视频译码器可响应于满足条件来更新DDV以指定用于块的NBDV,所述条件为以下中的一者:使用视图间运动预测译码第一块,帧间译码第一块,帧间译码切片,通过跳过模式或直接模式译码第一块,用于第一块的NBDV的量值大于DDV的量值,和DDV为非零。
视频译码器可至少部分基于存储的DDV、用于时间相邻块的视差运动向量(TDV)和用于空间相邻块的视差运动向量(SDV)来导出用于当前块的NBDV。即,可以各种方式将DDV与来自时间相邻块的可能的视差运动向量(表示为TDV)和来自空间相邻块的视差运动向量(表示为SDV)一起使用。因此,导出用于第一块的NBDV可包括使用所述DDV、用于时间相邻块的视差运动向量和用于空间相邻块的视差运动向量来导出用于块的NBDV。
例如,当视频译码器不能够识别任何TDV或SDV时,视频译码器可将当前块的视差向量设定为DDV。换句话说,在识别无可用的TDV或SDV后,将视差向量设定到DDV。因此,响应于确定TDV或SDV中无一者可用于在确定用于当前块的NBDV过程中使用,视频译码器可确定用于当前块的NBDV等于存储的DDV。
在一些实例中,仅如果不存在可用的TDV或SDV且DDV为非零时,视频译码器将用于当前块的视差向量设定为DDV。当DDV的分量中的任一者为非零时,视频译码器可确定所述DDV为非零。替代地,当DDV的水平分量为非零时,视频译码器可确定所述DDV为非零。在此实例中,如果DDV为零,那么视频译码器可将用于当前块的视差向量设定为零。换句话说,当时间和空间邻居不提供可用视差运动向量时,如果DDV为非零(由两个分量识别为零或仅水平分量为零),那么返回非零DDV作为NBDV;否则,返回零视差向量。
此外,在视频译码器执行除了检查DDV外也检查TDV和SDV的NBDV导出过程的一些实例中,视频译码器可按各种次序检查TDV、SDV和DDV。换句话说,按给定预定义的次序检查视差向量。一旦视频译码器识别到可用且为非零(由两个分量识别为非零或仅水平分量为非零)的视差运动向量,那么所述视频译码器可从识别的视差运动向量导出当前块的视差向量。例如,当视频译码器从存储的DDV、TDV和SDV间识别可用的非零视差运动向量同时按预定义的次序检查存储的DDV、TDV和SDV时,视频译码器可确定用于当前块的视差向量等于可用的非零视差向量。可能的预定义的检查次序可包含:
■TDV、SDV和DDV;
■SDV、TDV和DDV;
■DDV、SDV和TDV;
■DDV、TDV和SDV;
■TDV、DDV和SDV;和
■SDV、DDV和TDV。
例如,如果视频译码器使用TDV、SDV和DDV或SDV、TDV和DDV的次序,那么导出用于块的NBDV可包括在确定时间相邻块不具有视差运动向量后且在确定空间相邻块不具有视差运动向量后将用于所述块的NBDV设定为DDV。
更具体地说,如果视频译码器使用TDV、SDV和DDV的次序,那么视频译码器可确定时间相邻块是否具有视差运动向量。此外,响应于确定时间相邻块具有视差运动向量,视频译码器可基于时间相邻块的视差运动向量导出用于所述块的NBDV。响应于确定时间相邻块不具有视差运动向量,视频译码器可确定在多个空间相邻块中的任一空间相邻块是否具有视差运动向量。响应于确定在多个空间相邻块中的特定空间相邻块具有视差运动向量,所述视频译码器可基于所述特定空间相邻块的视差运动向量导出用于所述块的NBDV。响应于确定多个空间相邻块中无空间相邻块具有视差运动向量,视频译码器可导出用于所述块的NBDV作为DDV。
在一些实例中,视频译码器导出两个或两个以上DDV。在这些实例中,视频译码器可按某一次序形成DDV。在一些这些实例中,视频译码器可按与以上在实例中所描述相同的预定义的次序共同地考虑DDV与TDV和SDV,其中视频译码器通过重新执行仅具有多个DDV的DDV来执行除了检查DDV外也检查TDV和SDV的NBDV导出过程。例如,当从TDV、SDV和两个或两个以上存储的DDV间识别可用的非零视差向量同时按预定义的检查次序检查TDV、SDV和两个或两个以上存储的DDV时,视频译码器可确定用于当前块的视差向量等于可用的非零视差向量,其中按预定义的检查次序,根据特定次序检查两个或两个以上存储的DDV。
在视频译码器导出两个或两个以上DDV的一些实例中,如果DDV并非从当前块的相邻MB产生,那么从用以预测当前MB的视差向量的DDV排除所述DDV。
此外,在一些实例中,视频译码器导出两个DDV:DDV 1和DDV 2。一开始可将DDV 1和DDV 2设定为相同。然而,一旦译码为当前MB的右相邻MB的当前MB,那么更新DDV 1,且一旦译码为当前MB的上方相邻MB的当前MB,那么更新DDV 2。即,一旦译码作为先前连续译码的MB的右相邻MB的当前MB,那么更新DDV 1,且一旦译码作为先前连续译码的MB的底部相邻MB的当前MB,那么更新DDV 2。当视频译码器译码当前MB时,视频译码器可译码DDV 1和DDV 2两者,其中DDV 1具有比DDV 2高的优先权。换句话说,视频译码器检查DDV 1比检查DDV 2早。在另一实例中,如果DDV 1从在当前块的左边的块导出,那么视频译码器仅使用DDV 1导出当前块的视差向量。例如,仅如果DDV 1从左边相邻MB导出时,使用DDV 1导出视差向量。此外,如果DDV 2从在当前块上方的块导出,那么视频译码器可使用DDV 2导出用于当前块的视差向量。例如,如果DDV 2从上方相邻MB导出,那么使用DDV 2导出视差向量。
在一些实例中,当允许存取基本/参考视图深度视图分量时,就使用DDV来说,两个或两个以上替代方法是可能的。在一方法中,当不允许存取深度视图分量时,视频译码器仅使用DDV。例如,响应于确定不允许存取深度视图分量时,视频译码器可基于一或多个存储的DDV导出用于当前块的视差向量。
在允许存取基本/参考视图深度视图分量的另一实例中,视频译码器使用DDV确定如上描述的初始视差向量。然后,视频译码器进一步使用初始视差向量识别潜在地更准确的深度块以精细化视差运动向量。例如,当允许存取基本/参考视图深度视图分量时,视频译码器可基于一或多个存储的DDV确定用于当前块的初始NBDV,且可使用用于当前块的初始视差向量识别潜在地更准确的深度块以精细化用于当前块的初始视差向量。
此外,在允许存取基本/参考视图深度视图分量的一些实例中,视频译码器可通过使用如在'268申请案中描述的精细化的视差向量来改善DDV。例如,当允许存取基本/参考视图深度视图分量时,视频译码器可精细化一或多个存储的DDV。在一些实例中,视频译码器存储在MB级精细化的视差向量作为DDV。在另一实例中,视频译码器存储在比MB级小的块级精细化的视差向量作为DDV。例如,视频译码器可存储在MB内的右下角的精细化的视差向量作为DDV。以此方式,视频译码器可基于深度视图分量中的深度像素精细化用于块的NBDV,且当视频译码器存储用于所述块的NBDV作为DDV时,视频译码器可更新DDV以指定用于所述块的精细化的NBDV。
以下为本发明的提议的技术(例如,方法)到3D-HEVC的一般化。在提议的技术到3D-HEVC的一般化的第一点中,本发明的上述技术也可应用于其中MB由PU、CU或LCU替换的3D-HEVC。在本发明的提议的技术到3D-HEVC的一般化的第二点中,当本发明的提议的技术用于3D-HEVC中时,视频译码器可不需要存储IDV。换句话说,在3D-AVC、3D-HEVC和潜在地其它视频译码标准和规范中,根据本发明的一些实例,视频译码器可不存储用于切片的任一块的IDV。
在提议的技术到3D-HEVC的一般化的第三点中,对于每一LCU或CU,视频译码器可存储大于或等于最小译码单元(例如,4×4或8×8)的单元中的最右边块的DDV。当译码当前PU时,视频译码器可使用视频译码器从左LCU的当前PU的左块导出的DDV预测当前PU的视差向量。例如,当LCU为64×64且最小译码单元为4×4时,视频译码器可存储多达16个DDV。存储的DDV中的一些可相同,这是因为存储的DDV属于同一PU的块。
此外,对于LCU或CU,视频译码器可存储从所述LCU或CU内的PU中的一者导出的仅一个DDV。当译码当前PU时,视频译码器可使用当前PU的左LCU/CU的DDV预测当前PU的视差向量。在一个实例中,视频译码器可经由一个LCU或CU内的PU的所有可用DDV的功能选择待存储的所述LCU或CU的DDV。
以此方式,视频编码器20可存储来自切片的一或多个先前译码的块的一或多个DDV。此外,视频编码器20可基于一或多个存储的DDV导出用于所述切片的当前块的NBDV。视频编码器20可至少部分基于用于所述当前块的NBDV编码当前块。类似地,视频解码器20可存储来自切片的一或多个先前译码的块的一或多个DDV。此外,视频解码器20可至少部分基于一或多个存储的DDV导出用于所述切片的当前块的NBDV。视频解码器30可至少部分基于用于所述当前块的NBDV解码当前块。
在本发明的提议的技术到3D-HEVC的一般化的另一点中,视频译码器针对每一切片可维护仅一个DDV。一旦CU经译码,那么视频译码器可更新DDV。在不同实例中,视频译码器可以不同方式更新DDV。
例如,当切片未帧内译码时,视频译码器可针对每一CU调用NBDV导出过程,而与CU使用从NBDV导出过程产生的视差向量无关。换句话说,一旦切片未帧内译码,那么针对每一CU调用NBDV,而与所述CU是否使用NBDV结果无关。视频译码器可使用NBDV结果更新DDV,其意味着视频译码器可设定DDV等于由NBDV导出过程导出的视差向量。
在当本发明的技术一般化到3D-HEVC时视频译码器可更新DDV的方式的另一实例中,在视频译码器使用帧间预测译码CU后,所述视频译码器可调用NBDV导出过程。换句话说,一旦CU经帧间译码,那么针对所述CU调用NBDV。视频译码器可使用NBDV结果(即,由NBDV导出过程导出的视差向量)更新DDV。否则,如果视频译码器不使用帧间预测译码CU,那么视频译码器不更新DDV。
在当本发明的技术一般化到3D-HEVC时视频译码器可更新DDV的方式的另一实例中,当视频译码器使用NBDV结果(即,由NBDV导出过程导出的视差向量)译码CU内的PU时,视频译码器可使用所述NBDV结果更新DDV。在此实例中,当视频译码器未使用NBDV结果译码PU时,视频译码器不更新DDV。换句话说,一旦使用NBDV结果译码CU内的PU,那么使用NBDV结果更新DDV,否则不更新DDV。
在当本发明的技术一般化到3D-HEVC时视频译码器可更新DDV的方式的另一实例中,当视频译码器通过跳过模式译码CU的至少一个PU时,所述视频译码器可更新DDV以指定NBDV结果(即,由NBDV导出过程导出的视差向量)。换句话说,在此实例中,一旦通过跳过模式译码CU内的至少一个PU,那么使用NBDV结果更新DDV。
在本发明的提议的技术到3D-HEVC的一般化的另一实例点中,在一些实例中,视频译码器可仅针对每一切片维护一个DDV,且视频译码器可仅一旦PU经译码时更新DDV。因此,在本发明的各种实例中,针对所述切片维护仅一个DDV,且针对所述切片的在译码所述切片的第一块后译码的每一块(宏块、CU、PU等),将DDV更新一次。在一些实例中,视频译码器可以各种方式更新DDV。例如,当切片未帧内译码时,视频译码器可针对所述切片的每一相应PU调用NBDV导出过程,而与所述视频译码器是否使用NBDV结果译码相应PU无关。在此实例中,视频译码器可使用NBDV结果更新DDV。换句话说,一旦切片未帧内译码,那么针对每一PU调用NBDV,而与所述PU是否使用NBDV结果无关。
在当视频译码器针对每一切片维护仅一个DDV时视频译码器可更新DDV的方式的另一实例中,如果视频译码器已使用帧间预测译码PU,那么所述视频译码器可调用NBDV导出过程。在此实例中,视频译码器可使用NBDV结果更新DDV。否则,如果视频译码器不使用帧间预测译码PU,那么视频译码器不使用NBDV结果更新DDV。换句话说,一旦PU经帧间译码,那么针对所述PU调用NBDV。使用NBDV结果更新DDV,否则不更新DDV。
在当视频译码器针对每一切片维护仅一个DDV时视频译码器可更新DDV的方式的另一实例中,当视频译码器使用NBDV结果译码PU时,所述视频译码器可使用NBDV结果更新DDV。在此实例中,当视频译码器不使用NBDV结果译码PU时,视频译码器不使用NBDV结果更新DDV。换句话说,一旦使用NBDV结果译码PU,那么使用NBDV结果更新DDV,否则不更新DDV。
在当视频译码器针对每一切片维护仅一个DDV时视频译码器可更新DDV的方式的另一实例中,当视频译码器使用跳过模式译码PU时,所述视频译码器可使用NBDV结果更新DDV。换句话说,一旦通过跳过模式译码PU,那么使用NBDV结果更新DDV。
在本发明的技术一般化到3D-HEVC的一些实例中,视频译码器针对每一切片维护一个DDV,且一旦视频译码器译码CU或一旦视频译码器译码PU,那么视频译码器更新DDV,当块的空间和时间相邻块不具有视差运动向量时,视频译码器可使用DDV导出所述块的视差向量(即,NBDV)。换句话说,当空间和时间相邻块不含有视差运动向量时,使用DDV导出NBDV。在此情况中,视频译码器可将NBDV设定为相等,作为DDV。然后,视频译码器可进一步通过存取参考视图的深度来精细化设定为DDV的NBDV。在一些实例中,视频译码器可设定DDV等于使用原始NBDV(即,块的未精细化的视差向量)从存取参考视图的深度视图分量产生的精细化的视差向量。
此外,在本发明的技术应用于3D-AVC或3D-HEVC的一些实例中,视频译码器可仅存储且更新DDV的水平分量,同时视频译码器可始终将DDV的垂直分量设定到0。
本发明的一或多个实例技术可一般化到任一视频编码解码器。例如,可针对每一块导出变量。所述变量经使用且有必要用于解码当前块。在解码每一块后,可更新所述变量。如可由先前块更新的变量用以预测当前块。所述变量仅从相邻块预测,且不直接或间接(例如,使用差分译码)传信。
图7为说明可实施本发明的一或多个技术的实例视频编码器20的框图。在图7的实例中,视频编码器20包含预测处理单元48、求和器50、变换处理单元52、量化单元54、熵编码单元56、反量化单元58、反变换处理单元60、求和器62、滤波器单元64和参考图片存储器66。预测处理单元48包含运动估计单元68(即,运动和视差补偿单元)、运动补偿单元70(即,运动和视差补偿单元)和帧内预测处理单元72。
如在图7中所示,视频编码器20接收视频数据,且将数据分割成视频块。此分割也可包含将图片分割成切片、标题或其它较大单元,以及视频块分割,例如,根据LCU和CU的四叉树结构或通过在HEVC的情况下分割宏块。视频编码器20大体说明编码待编码的切片内的视频块的分量。切片可分成多个视频块(且可能分成被称作标题的数组视频块)。
预测处理单元48可基于误差结果(例如,译码率和失真度)选择多个可能译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者或视图间译码模式)用于当前视频块。预测处理单元48可执行切片内的视频块的帧内译码和帧间译码。帧间译码(即,时间帧间预测)可依赖于时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内译码(即,“帧内模式”或“I模式”)可指若干基于空间的压缩模式中的任一者。例如单向预测(即,“单向预测”或“P模式”)或双向预测(即,“双向预测”或“B模式”)的帧间模式可指若干基于时间的压缩模式中的任一者。此外,预测处理单元48可执行在不同视图中的图片之间的视图间预测,如上所述。预测处理单元48可将所得帧内或帧间译码的块提供到求和器50以产生残差块数据,且提供到求和器62以重构建原始块,用于用作参考图片。
在预测处理单元48内的帧内预测处理单元72可执行相对于同一帧或切片中的一或多个相邻块的当前视频块(作为待译码的当前块)的帧内预测译码(即,帧内译码)以提供空间压缩。换句话说,帧内译码依赖于空间预测减少或去除在给定视频帧或图片内的视频中的空间冗余。在预测处理单元48内的运动估计单元68与运动补偿单元70执行相对于一或多个参考图片和/或参考视图中的一或多个预测块的当前视频块的帧间预测性译码和/或视图间译码以提供时间和视图间压缩。
预测处理单元48可根据用于视频序列的预定型样确定用于切片的帧间预测模式和/或视图间预测模式。预定型样可将序列中的切片指明为P切片或B切片。运动估计单元68与运动补偿单元70可经高度集成,但为了概念上的目的,分开地加以说明。运动估计单元68可执行运动估计和/或视差估计。运动估计包括产生运动向量的过程,所述运动向量估计视频块的运动。例如,运动向量可指示在当前视频帧或图片内的当前块(例如,PU、MB、MB分割区等)相对于在参考图片内的预测性块的位移。视差估计为产生视差向量的过程,视差向量可用以从在不同视图中的块预测当前译码的块。
预测性块可为就像素差来说发现紧密匹配待译码的当前块(例如,PU、MB、MB分割区等)的块,像素差可由绝对差的总和(SAD)、平方差的总和(SSD)或其它差度量确定。在一些实例中,视频编码器20可针对存储于参考图片存储器66中的参考图片的子整数像素位置计算值。参考图片存储器66也可被称作经解码图片缓冲器。例如,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元68可执行相对于完全像素位置和分数像素位置的运动搜索,且输出具有分数像素精确度的运动向量。
预测处理单元48可通过比较在经帧间译码或视图间预测的切片中的块(例如,PU、MB、MB分割区等)的位置与参考图片的预测性块的位置来计算所述块的运动向量(对于运动补偿的预测)和/或视差向量(对于视差补偿的预测)。可从第一参考图片列表(列表0)或第二参考图片列表(列表1)选择参考图片,所述图片列表中的每一者识别存储于参考图片存储器66中的一或多个参考图片。对于视图间预测,参考图片在不同视图中。运动估计单元68可将计算的运动向量和/或视差向量发送到熵编码单元56和运动补偿单元70。
运动补偿单元70可执行运动补偿和/或视差补偿。运动补偿和/或视差补偿可涉及基于通过运动估计和/或视差估计确定的运动向量接取或产生预测性块,可能执行到子像素精确度的内插。在接收到用于块(例如,PU、MB、MB分割区等)的运动向量和/或视差后,运动补偿单元70可找出在参考图片列表中的一者中运动向量和/或视差向量指向的预测性块的位置。预测处理单元48也可产生与视频块和切片相关联的语法元素,用于由视频解码器30在解码切片的视频块过程中使用。
求和器50可通过从正译码的当前视频块的对应的像素值减去预测性块的像素值形成残差视频块,由此形成像素差值。像素差值形成用于当前视频块的残差数据。像素差值可包含亮度差值和色度差值两者。求和器50可表示执行此减法运算的所述或所述组件。
帧内预测处理单元72可执行帧内预测以产生用于当前视频块的一或多个预测性块,作为对如上所述的由运动估计单元68和运动补偿单元70执行的帧间预测的替代。例如,帧内预测处理单元72可确定帧内预测模式以用以产生用于当前视频块的一或多个预测性块。在确定(即,选择)用于当前视频块的帧内预测模式后,帧内预测处理单元72可将指示用于当前视频块的选定帧内预测模式的信息(例如,语法元素)提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。
在一些实例中,帧内预测处理单元72可使用各种帧内预测模式编码当前视频块(即,帧内预测处理单元72可产生用于当前视频块的一或多个预测性块)。例如,帧内预测处理单元72可在分开的编码遍次期间产生用于当前视频块的预测性块。帧内预测处理单元72可从测试的模式选择适当帧内预测模式使用。例如,帧内预测处理单元72可使用针对各种测试的帧内预测模式的速率失真分析来计算速率失真值,且在测试的帧内预测模式间选择具有最佳速率失真特性的帧内预测模式。一般来说,速率失真分析确定经编码的块与经编码以产生经编码的块的原始的未编码的块之间的失真(或误差)的量,以及用以产生经编码的块的位率(即,位的数目)。帧内预测处理单元72可从失真和速率计算各种经编码的块的比率以确定哪一帧内预测模式展现预测性块的最佳速率失真值。
在一些实例中,运动估计单元68可确定用于当前视频块的视差向量。运动估计单元68可使用用于当前块的视差向量执行针对当前视频块的运动向量预测。例如,运动估计单元68可使用用于当前块的视差向量确定视图间参考图片中的对应的块。此外,运动估计单元68可针对当前视频块产生运动向量候选列表(例如,合并候选列表或AMVP候选列表)。运动向量候选列表可包含指定对应的视图间参考块的一或多个运动向量的一或多个候选者。运动补偿单元70可基于候选者确定预测性块,且可基于预测性块的速率失真分析和其它数据选择所述候选者中的一者。运动补偿单元70可产生指示选定候选者的一或多个语法元素。此外,在一些实例中,运动补偿单元70可使用用于当前视频块的视差向量执行针对当前视频块的残差预测(例如,先进残差预测)。因此,在这些实例中,最终由运动补偿单元70产生的预测性块可基于用于当前视频块的预测性块与用于当前视频块的残差预测值之间的差。
运动估计单元68可使用NBDV导出过程确定用于当前视频块的视差向量。根据本发明的一或多个技术,运动估计单元68可初始化用于当前切片的一或多个DDV。运动估计单元68可在NBDV导出过程中使用用于当前切片的一或多个DDV确定用于当前视频块的视差向量。在一些实例中,运动估计单元68初始化用于当前切片的单一DDV且更新所述DDV,使得对于当前切片的在当前切片的第一视频块后的每一相应视频块,用于当前切片的DDV指定用于按译码次序紧接出现在相应视频块前的视频块的视差向量。
以此方式,运动估计单元68可存储用于当前图片的当前切片的DDV。此外,运动估计单元68可至少部分基于DDV导出用于当前切片的第一视频块的NBDV。运动补偿单元70和视频编码器20的其它单元可至少部分基于用于第一视频块的NBDV编码第一视频块。此外,运动估计单元68可存储用于第一视频块的NBDV作为DDV,由此更新DDV。在存储用于第一视频块的NBDV作为DDV后,运动估计单元68可至少部分基于经更新的DDV导出用于所述当前切片的第二视频块的NBDV。运动补偿单元70和视频编码器20的其它单元可至少部分基于用于第二视频块的NBDV编码第二视频块。运动估计单元68、运动补偿单元70和视频编码器20的其它单元可继续针对当前切片的额外视频块执行这些动作。
在预测处理单元48经由帧间预测或帧内预测产生用于当前视频块的预测性块后,求和器50可通过从当前视频块的对应的样本值减去预测性块的样本值而形成残差块。残差块中的残差视频数据可包含于一或多个TU中。变换处理单元52可使用变换将残差视频数据变换成残差变换系数。例如,变换处理单元52可使用离散余弦变换(DCT)或概念上类似的变换来变换残差视频数据。在一些实例中,变换处理单元52可将残差视频数据从像素域转换到变换域(例如,频域)。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化由变换处理单元52产生的变换系数以进一步减小位率。量化过程可减小与所述系数中的一些或所有者相关联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化单元54可执行包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化后,熵编码单元56可熵编码经量化的变换系数。换句话说,熵编码单元56可熵编码表示经量化的变换系数的语法元素。例如,熵编码单元56可通过执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率间隔分割熵(PIPE)译码或另一熵编码方法或技术来熵编码经量化的变换系数。熵编码单元56也可熵编码用于正译码的当前切片的其它语法元素。
视频编码器20可输出包含视频数据的经编码表示的经编码的位流。位流可包含由熵编码单元56产生的经熵编码的语法元素和其它熵译码或未熵译码的语法元素。经编码的位流可传输到视频解码器30或经存档用于稍后由视频解码器30传输或检索。
反量化单元58和反变换处理单元60可分别应用反量化和反变换以重构建像素域中的残差块,用于稍后用作参考图片的参考块。求和器62可通过将由反变换处理单元60产生的残差块中的样本添加到由预测处理单元48产生的一或多个预测性块的对应的样本来重构建样本块。在一些实例中,求和器62将重构建的残差块添加到预测性块(例如,由运动补偿单元44产生的经运动补偿的预测性块)以产生参考块用于存储于参考图片存储器66中。因此,参考图片存储器66可为存储视频数据的存储器。运动估计单元68和运动补偿单元70可将所述参考块用作参考块来帧间预测在后续视频帧或图片中的块。运动补偿单元70可通过将残差块添加到在参考图片列表中的一者内的参考图片中的一者的预测块来计算参考块。运动补偿单元70也可将一或多个内插滤波器应用到重构建的残差块以计算用于在运动估计中使用的子整数像素值。
在图7的实例中,滤波器单元64可将一或多个滤波器应用到由求和器62产生的样本块。例如,滤波器单元64可应用解块滤波器以滤波块边界以从重构建的视频去除方块效应伪影。在一些实例中,除了解块滤波器的外,滤波器单元64也使用额外回路滤波器(回路内或回路后)。
图8为说明可实施本发明的一或多个技术的一实例视频解码器30的框图。在图8的实例中,视频解码器30包含熵解码单元80、预测处理单元82、反量化单元84、反变换处理单元86、求和器88和参考图片存储器90。预测处理单元82包含运动补偿单元92(即,运动和视差补偿单元)和帧内预测处理单元94。在一些实例中,视频解码器30可执行大体与关于来自图7的视频编码器20描述的编码遍次互逆的解码遍次。
视频解码器30从视频编码器20接收表示经编码的切片的视频块和相关联的语法元素的经编码的视频位流。视频解码器30的熵解码单元80可熵解码所述位流以产生经量化的系数、运动向量、视差向量和其它语法元素。更具体地说,熵解码单元80可执行剖析过程以从视频位流获得语法元素。作为执行剖析过程的部分,熵解码单元80可熵解码在位流中传信的经熵编码的语法元素。熵解码单元80可将与运动向量、视差向量和其它信息相关联的语法元素转递到预测处理单元82。视频解码器30可在视频切片级别和/或视频块级别接收语法元素。
当将当前切片译码为帧内译码切片(例如,I切片、SI切片等)时,预测处理单元82的帧内预测处理单元94可基于传信的帧内预测模式和来自当前帧或图片的先前解码的块的数据产生用于当前切片的视频块的预测数据。当当前切片经帧间译码(例如,P切片、B切片、SP切片等)时,预测处理单元82的运动补偿单元92可基于运动向量、视差向量和从熵解码单元80接收的语法元素产生(produce)(即,产生(generate))用于当前切片的视频块的预测性块。
视频解码器30的预测处理单元82可基于存储于参考图片存储器90(其也被称作经解码图片缓冲器(DPB))中的参考图片使用(例如,默认)构建技术来构建参考帧列表——列表0和列表1。运动补偿单元92可从参考图片列表中的一或多者内的一或多个参考图片产生预测性块。
运动补偿单元92可通过剖析运动向量和其它语法元素来确定用于当前切片的视频块的预测信息,且可使用预测信息产生用于正解码的当前视频块的预测性块。例如,运动补偿单元92可使用接收的语法元素中的一些确定用以译码切片的视频块的预测模式(例如,帧内或帧间预测)、确定帧间预测或视图间预测切片类型(例如,B切片、P切片或GPB切片)的语法元素、确定针对切片的参考图片列表中的一或多者的构建信息的语法元素、确定用于切片的每一帧间编码的视频块的运动向量和/或视差向量的语法元素、确定用于切片的每一帧间译码的视频块的帧间预测状态的语法元素和确定解码当前切片中的视频块的其它信息的语法元素。
运动补偿单元92也可基于内插滤波器来执行内插。运动补偿单元92可使用如由视频编码器20在视频块的编码期间使用的内插滤波器计算用于参考块的子整数像素的内插值。在一些实例中,运动补偿单元92可从接收的语法元素确定由视频编码器20使用的内插滤波器,且可使用所述内插滤波器产生预测性块。
在一些实例中,运动补偿单元92可确定用于当前视频块的视差向量。运动补偿单元92可使用用于当前块的视差向量执行针对当前视频块的运动向量预测。例如,运动补偿单元92可使用用于当前块的视差向量确定视图间参考图片中的对应的块。此外,运动补偿单元92可针对当前视频块产生运动向量候选列表(例如,合并候选列表或AMVP候选列表)。运动向量候选列表可包含指定对应的视图间参考块的一或多个运动向量的一或多个候选者。运动补偿单元92可基于从位流获得的一或多个语法元素确定候选列表中的选定候选者。运动补偿单元92可接着基于由选定候选者指定的一或多个运动向量确定用于当前视频块的一或多个运动向量。例如,如果候选列表为合并候选列表,那么运动补偿单元92可确定当前视频块的运动向量匹配由选定候选者指定的运动向量。如果候选列表为AMVP候选列表,那么运动补偿单元92可确定当前视频块的运动向量等于在位流中传信的运动向量差(MVD)与由选定候选者指定的运动向量的总和。
在一些实例中,运动补偿单元70可使用用于当前视频块的视差向量执行针对当前视频块的残差预测(例如,先进残差预测)。在这些实例中,运动补偿单元92可使用视差向量确定用于当前块的残差预测值。最终由运动补偿单元92产生的预测性块可基于用于当前视频块的预测性块与用于当前视频块的残差预测值之间的差。
运动补偿单元92可使用NBDV导出过程确定用于当前视频块的视差向量。根据本发明的一或多个技术,运动补偿单元92可初始化用于当前切片的一或多个DDV。运动补偿单元92可在NBDV导出过程中使用用于当前切片的一或多个DDV确定用于当前视频块的视差向量。在一些实例中,运动补偿单元92初始化用于当前切片的单一DDV且更新所述DDV,使得对于当前切片的在当前切片的第一视频块后的每一相应视频块,用于当前切片的DDV指定用于按译码次序紧接出现在相应视频块前的视频块的视差向量。
以此方式,运动补偿单元92可存储用于当前图片的当前切片的DDV。此外,运动补偿单元92可至少部分基于DDV导出用于当前切片的第一视频块的NBDV。运动补偿单元92和视频解码器30的其它单元可至少部分基于用于第一视频块的NBDV解码第一视频块。此外,运动补偿单元92可存储用于第一视频块的NBDV作为DDV,由此更新DDV。在存储用于第一视频块的NBDV作为DDV后,运动补偿单元92可至少部分基于经更新的DDV导出用于所述当前切片的第二视频块的NBDV。运动补偿单元92和视频解码器30的其它单元可至少部分基于用于第二视频块的NBDV解码第二视频块。运动补偿单元92和视频解码器30的其它单元可继续针对当前切片的额外视频块执行这些动作。
反量化单元84可执行反量化过程以反量化(即,去量化)在位流中传信的经量化的变换系数。反量化过程可包含使用由视频编码器20针对当前切片中的每一视频块计算的量化参数确定量化的程度,且同样地确定应被应用的反量化的程度。反变换处理单元86可将反变换应用到变换系数以便产生像素域中的残差块。例如,反变换处理单元86可应用反DCT、反整数变换或概念上类似的反变换过程以变换所述变换系数。
在运动补偿单元92产生用于当前视频块的预测性块后,视频解码器30可通过将由反变换处理单元86产生的残差块的样本值与由运动补偿单元92产生的预测性块的对应的样本值求和来形成经解码的视频块。求和器88表示执行此求和运算的所述或所述组件。
视需要,也可应用解块滤波器以滤波经解码的块以便去除方块效应伪影。其它回路滤波器(在译码回路中或在译码回路后)也可用以使像素转变平滑,或另外改善视频质量。在给定帧或图片中的经解码的视频块接着存储于参考图片存储器90(有时叫作经解码图片缓冲器)中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器90也可存储经解码的视频数据,用于在显示装置(例如,图1的显示装置32)上呈现。因此,参考图片存储器90可为存储视频数据的存储器。
图9A为说明根据本发明的实例的视频编码器20的实例操作的流程图。在其它实例中,视频编码器20可执行类似于图9A的操作但包含更多、更少或不同动作的操作。例如,在其它实例中,图9A的一或多个动作可被省略、重新排列或重复。参看图7解释图9A。然而,图9A的实例不受如此限制。
在图9A的实例中,预测处理单元48可存储用于视频数据的当前图片的一切片的仅一个DDV(152)。所述切片包含多个块。此外,预测处理单元48可在NBDV导出过程中使用用于所述切片的DDV确定用于特定块的视差向量(154)。特定块为切片的块中的一者。此外,预测处理单元48可存储用于特定块的视差向量(即,NBDV)作为用于所述切片的DDV(156)。
此外,在图9A的实例中,视频编码器20可至少部分基于用于特定块的视差向量编码特定块(158)。例如,视频编码器20可使用用于特定块的NBDV执行视图间运动预测和/或视图间残差预测以产生特定块的经编码表示。在一些实例中,视频编码器20关于所述切片的额外块继续图9A的操作。此外,在一些实例中,在存储了用于特定块(即,第一块)的视差向量作为用于所述切片的DDV后,预测处理单元48可在NBDV导出过程中使用用于所述切片的DDV确定用于所述切片的第二块的视差向量。视频编码器20可至少部分基于用于第二块的视差向量编码第二块。在一些实例中,第一块和第二块为宏块。在其它实例中,第一块和第二块为CU,第一块和第二块为PU,或第一块和第二块为LCU。
图9B为说明根据本发明的实例的视频解码器30的实例操作的流程图。在其它实例中,视频解码器30可执行类似于图9B的操作但包含更多、更少或不同动作的操作。例如,在其它实例中,图9A的一或多个动作可被省略、重新排列或重复。参看图8解释图9B。然而,图9B的实例不受如此限制。
在图9B的实例中,预测处理单元82可存储用于视频数据的当前图片的切片的仅一个DDV(172)。所述切片包含多个块。此外,预测处理单元82可在NBDV导出过程中使用用于所述切片的DDV确定用于特定块的视差向量(174)。特定块为切片的块中的一者。此外,预测处理单元82可存储用于特定块的视差向量(即,NBDV)作为用于所述切片的DDV(176)。
此外,在图9B的实例中,视频解码器30可至少部分基于用于特定块的视差向量(即,NBDV)解码特定块(178)。例如,视频解码器30可使用用于特定块的视差向量执行视图间运动预测和/或视图间残差预测作为重构建用于特定块的样本的一块的过程的部分。在一些实例中,在存储了用于特定块(即,第一块)的视差向量作为用于所述切片的DDV后,预测处理单元82可在NBDV导出过程中使用用于所述切片的DDV确定用于所述切片的第二块的视差向量。视频解码器30可至少部分基于用于第二块的视差向量解码第二块。例如,视频解码器30可使用用于第二块的视差向量(即,NBDV)执行视图间运动预测和/或视图间残差预测作为重构建用于第二块的样本的块的过程的部分。在一些实例中,特定块(即,第一块)和第二块为宏块。在其它实例中,第一块和第二块为CU,第一块和第二块为PU,或第一块和第二块为LCU。在一些实例中,视频解码器30可关于所述切片的额外块继续图9B的操作。
图10为说明根据本发明的实例的实例视差向量导出操作的流程图。在其它实例中,视频译码器可执行类似于图10的操作但包含更多、更少或不同动作的操作。例如,在其它实例中,图10的一或多个动作可被省略、重新排列或重复。例如视频编码器20或视频解码器30的视频译码器可执行图10的实例视差向量导出操作。视频译码器可执行图10的操作以确定用于当前图片的当前切片的当前块的视差向量。在不同实例中,当前块可为宏块、CU、PU、LCU或另一类型的块或视频块。
在图10的实例中,视频译码器可确定当前块的时间相邻块(200)。时间相邻块可为在与当前图片不同的存取单元中的参考图片的块。此外,视频译码器可确定时间相邻块是否具有视差运动向量(202)。响应于确定时间相邻块具有视差运动向量(202的“是”),视频译码器可基于时间相邻块的视差运动向量设定用于当前块的视差向量(204)。例如,视频译码器可将用于当前块的视差向量的水平分量设定到时间相邻块的视差运动向量的水平分量,且可将用于当前块的视差向量的垂直分量设定到0。在其它实例中,视频译码器可设定用于当前块的视差向量等于用于时间相邻块的视差运动向量。
另一方面,响应于确定时间相邻块不具有视差运动向量(202的“否”),视频译码器可确定空间相邻块是否具有视差运动向量(206)。空间相邻块可为覆盖图5中的位置A、B、C或D中的一或多者的块。响应于确定空间相邻块具有视差运动向量(206的“是”),视频译码器可基于时间相邻块的视差运动向量设定用于当前块的视差向量(208)。例如,视频译码器可将用于当前块的视差向量的水平分量设定到空间相邻块的视差运动向量的水平分量,且可将用于当前块的视差向量的垂直分量设定到0。在其它实例中,视频译码器可设定用于当前块的视差向量等于用于空间相邻块的视差运动向量。
响应于确定空间相邻块不具有视差运动向量(206的“否”),视频译码器可确定是否存在任何剩余空间相邻块要检查(210)。响应于确定存在一或多个剩余空间相邻块(210的“是”),视频译码器可关于另一空间相邻块重复动作(206),且如果适当地,重复动作(208)。以此方式,视频译码器可检查空间相邻块中的每一者,直到视频解码器确定空间相邻块中的一者具有视差运动向量或不存在剩余的空间相邻块要检查。响应于确定不存在剩余空间相邻块要检查(210的“否”),视频译码器可基于DDV设定用于当前块的视差向量(212)。例如,视频译码器可将用于当前块的视差向量同等地设定为DDV。
在于(204)、(208)或(212)中设定了视差向量后,视频译码器可将DDV设定到用于当前块的视差向量(214)。以此方式,视频译码器更新DDV,用于由当前切片中的随后块使用。
以下为根据本发明的一或多个技术的额外实例。
实例1.一种根据本文中揭示的实施例中的任一者的编码视频数据的方法。
实例2.一种根据本文中揭示的实施例中的任一者的解码视频数据的方法。
实例3.一种计算机可读媒体,其具有存储于其上的指令,所述指令当经执行时执行实例1到2的方法中的任一者。
实例4.一种设备,其包括处理器,其中所述处理器经配置以执行实例1到2的方法中的任一者。
实例5.一种编码视频数据的方法,所述方法包括:存储来自切片的一或多个先前译码的块的一或多个导出的视差向量(DDV);至少部分基于所述一或多个存储的DDV导出用于所述切片的当前块的基于相邻块的视差向量(NBDV);和至少部分基于用于所述当前块的所述NBDV编码所述当前块。
实例6.如实例5的方法,其中:所述存储的DDV包含用于在所述当前块的左边的块的存储的DDV,且导出用于所述当前块的所述NBDV包括至少部分基于用于在所述当前块的左边的所述块的所述存储的DDV导出用于所述当前块的所述NBDV。
实例7.如实例5的方法,其中:所述方法进一步包括确定所述一或多个存储的DDV是否包含用于在所述当前块的左边的块的存储的DDV;且导出用于所述当前块的所述NBDV包括响应于确定所述一或多个存储的DDV包含用于在所述当前块的左边的所述块的所述存储的DDV,至少部分基于用于在所述当前块的左边的所述块的所述存储的DDV确定用于所述当前块的所述NBDV。
实例8.如实例5的方法,其中存储所述一或多个DDV包括响应于确定所述块的所述DDV的量值大于先前存储的DDV的量值,存储用于块的DDV。
实例9.如实例5的方法,其中导出用于所述当前块的所述NBDV包括至少部分基于存储的DDV、用于时间相邻块的视差运动向量(TDV)和用于空间相邻块的视差运动向量(SDV)导出用于所述当前块的所述NBDV。
实例10.如实例9的方法,其中导出用于所述当前块的所述NBDV包括响应于确定所述TDV或所述SDV中无一者可用于在确定用于所述当前块的所述NBDV过程中使用,确定用于所述当前块的所述NBDV等于所述存储的DDV。
实例11.如实例9的方法,其中导出用于所述当前块的所述NBDV包括当从所述存储的DDV、所述TDV和所述SDV间识别可用非零视差向量同时按预定义的次序检查所述存储的DDV、所述TDV和所述SDV时,确定用于所述当前块的所述NBDV等于所述可用非零视差向量。
实例12.如实例5的方法,其中:存储所述一或多个DDV包括存储来自所述切片的两个或两个以上先前译码的块的两个或两个以上DDV,所述两个或两个以上存储的DDV具有特定次序,且导出用于所述当前块的所述NBDV包括当从TDV、SDV和所述两个或两个以上存储的DDV间识别可用非零视差向量同时按预定义的检查次序检查所述TDV、所述SDV和所述两个或两个以上存储的DDV时,确定用于所述当前块的所述NBDV等于所述可用非零视差向量,其中按所述预定义的检查次序,根据所述特定次序检查所述两个或两个以上存储的DDV。
实例13.如实例5的方法,其中导出用于所述当前块的所述NBDV包括响应于确定不允许存取深度视图分量,至少部分基于所述一或多个存储的DDV导出用于所述当前块的所述NBDV。
实例14.如实例5的方法,其中导出用于所述当前块的所述NBDV包括:当允许存取基本/参考视图深度视图分量时,至少部分基于所述一或多个存储的DDV确定用于所述当前块的初始NBDV;和使用用于所述当前块的所述初始NBDV识别潜在更准确的深度块以精细化用于所述当前块的所述初始NBDV。
实例15.如实例5的方法,其进一步包括当允许存取基本/参考视图深度视图分量时,精细化所述一或多个存储的DDV。
实例16.如实例5的方法,其中所述当前块为宏块、预测单元(PU)、译码单元(CU)或最大译码单元(LCU)。
实例17.如实例5的方法,其中存储的DDV的数目与在宏块、译码单元或最大译码单元(LCU)中的块的数目成比例。
实例18.如实例5的方法,其中存储的DDV的所述数目不与相关联于所述当前块的图片的宽度或高度或在所述切片中的块的数目成比例。
实例19.如实例5的方法,其中所述方法进一步包括仅当使用NBDV结果译码所述当前块时更新存储的DDV。
实例20.如实例5的方法,其进一步包括仅当帧间译码所述当前块时更新存储的DDV。
实例21.如实例5的方法,其进一步包括仅当帧间译码所述切片时更新存储的DDV。
实例22.如实例5的方法,其进一步包括当通过跳过/直接模式译码所述当前块时更新存储的DDV。
实例23.如实例5的方法,其中针对所述切片维护仅一个DDV,且一旦译码单元(CU)经译码,那么更新所述DDV。
实例24.如实例23的方法,其进一步包括:当所述切片未经帧内译码时,针对所述切片的每一相应CU调用NBDV,而与所述相应CU是否使用NBDV无关,且使用NBDV结果更新所述DDV。
实例25.如实例23的方法,其进一步包括:当所述CU经帧间译码时,调用用于所述CU的NBDV以确定NBDV结果,且使用所述NBDV结果更新所述DDV;当所述CU未经帧间译码时,抑制更新所述DDV。
实例26.如实例23的方法,其进一步包括:当使用NBDV结果译码在所述CU内的预测单元(PU)时,使用所述NBDV结果更新所述DDV;和当未使用所述NBDV结果译码所述PU时,抑制更新所述DDV。
实例27.如实例23的方法,其进一步包括:当通过跳过模式译码在所述CU内的至少一个PU时,使用NBDV结果更新所述DDV。
实例28.如实例5的方法,其中针对所述切片维护仅一个DDV,且一旦PU经译码,那么更新所述DDV。
实例29.如实例28的方法,其进一步包括:当所述切片未经帧内译码时,针对所述切片的每一相应PU调用NBDV,而与所述相应PU是否使用NBDV无关,且使用NBDV结果更新所述DDV。
实例30.如实例28的方法,其进一步包括:当所述PU经帧间译码时,调用用于所述PU的NBDV以确定NBDV结果,且使用所述NBDV结果更新所述DDV;当所述PU未经帧间译码时,抑制更新所述DDV。
实例31.如实例28的方法,其进一步包括:当使用NBDV结果译码所述PU时,使用所述NBDV结果更新所述DDV;和当未使用所述NBDV结果译码所述PU时,抑制更新所述DDV。
实例32.如实例28的方法,其进一步包括:当通过跳过模式译码所述PU时,使用NBDV结果更新所述DDV。
实例33.如实例23或28的方法,其进一步包括当空间和时间相邻块不含有视差运动向量时,使用所述DDV导出NBDV,其中将所述NBDV设定为等于所述DDV。
实例34.如实例33的方法,其进一步包括通过存取参考视图的深度精细化所述NBDV。
实例35.如实例33的方法,其进一步包括:通过使用所述NBDV存取参考视图的深度来产生精细化的视差向量;和将所述DDV设定为等于所述精细化的视差向量。
实例36.如实例5的方法,其中存储所述一或多个DDV包括存储所述一或多个DDV的仅水平分量和设定所述一或多个DDV的垂直分量等于0。
实例37.一种方法,其包括如实例5到36的任何组合。
实例38.一种解码视频数据的方法,所述方法包括:存储来自切片的一或多个先前译码的块的一或多个导出的视差向量(DDV);至少部分基于所述一或多个存储的DDV导出用于所述切片的当前块的基于相邻块的视差向量(NBDV);和至少部分基于用于所述当前块的所述NBDV解码所述当前块。
实例39.如实例38的方法,其中:所述存储的DDV包含用于在所述当前块的左边的块的存储的DDV,且导出用于所述当前块的所述NBDV包括至少部分基于用于在所述当前块的左边的所述块的所述存储的DDV导出用于所述当前块的所述NBDV。
实例40.如实例38的方法,其中:所述方法进一步包括确定所述一或多个存储的DDV是否包含用于在所述当前块的左边的块的存储的DDV;且导出用于所述当前块的所述NBDV包括响应于确定所述一或多个存储的DDV包含用于在所述当前块的左边的所述块的所述存储的DDV,至少部分基于用于在所述当前块的左边的所述块的所述存储的DDV确定用于所述当前块的所述NBDV。
实例41.如实例38的方法,其中存储所述一或多个DDV包括响应于确定所述块的所述DDV的量值大于先前存储的DDV的量值,存储用于块的DDV。
实例42.如实例38的方法,其中导出用于所述当前块的所述NBDV包括至少部分基于存储的DDV、用于时间相邻块的视差运动向量(TDV)和用于空间相邻块的视差运动向量(SDV)导出用于所述当前块的所述NBDV。
实例43.如实例42的方法,其中导出用于所述当前块的所述NBDV包括响应于确定所述TDV或所述SDV中无一者可用于在确定用于所述当前块的所述NBDV过程中使用,确定用于所述当前块的所述NBDV等于所述存储的DDV。
实例44.如实例42的方法,其中导出用于所述当前块的所述NBDV包括当从所述存储的DDV、所述TDV和所述SDV间识别可用非零视差向量同时按预定义的次序检查所述存储的DDV、所述TDV和所述SDV时,确定用于所述当前块的所述NBDV等于所述可用非零视差向量。
实例45.如实例38的方法,其中:存储所述一或多个DDV包括存储来自所述切片的两个或两个以上先前译码的块的两个或两个以上DDV,所述两个或两个以上存储的DDV具有特定次序,且导出用于所述当前块的所述NBDV包括当从TDV、SDV和所述两个或两个以上存储的DDV间识别可用非零视差向量同时按预定义的检查次序检查所述TDV、所述SDV和所述两个或两个以上存储的DDV时,确定用于所述当前块的所述NBDV等于所述可用非零视差向量,其中按所述预定义的检查次序,根据所述特定次序检查所述两个或两个以上存储的DDV。
实例46.如实例38的方法,其中导出用于所述当前块的所述NBDV包括响应于确定不允许存取深度视图分量,至少部分基于所述一或多个存储的DDV导出用于所述当前块的所述NBDV。
实例47.如实例38的方法,其中导出用于所述当前块的所述NBDV包括:当允许存取基本/参考视图深度视图分量时,至少部分基于所述一或多个存储的DDV确定用于所述当前块的初始NBDV;和使用用于所述当前块的所述初始NBDV识别潜在更准确的深度块以精细化用于所述当前块的所述初始NBDV。
实例48.如实例38的方法,其进一步包括当允许存取基本/参考视图深度视图分量时,精细化所述一或多个存储的DDV。
实例49.如实例38的方法,其中所述当前块为宏块、预测单元(PU)、译码单元(CU)或最大译码单元(LCU)。
实例50.如实例38的方法,其中存储的DDV的数目与在一个宏块、译码单元或最大译码单元(LCU)中的块的数目成比例。
实例51.如实例38的方法,其中存储的DDV的所述数目不与相关联于所述当前块的图片的宽度或高度或在所述切片中的块的数目成比例。
实例52.如实例38的方法,其中针对所述切片维护仅一个DDV,且一旦译码单元(CU)经译码,那么更新所述DDV。
实例53.如实例52的方法,其进一步包括:当所述切片未经帧内译码时,针对所述切片的每一相应CU调用NBDV,而与所述相应CU是否使用NBDV无关,且使用NBDV结果更新所述DDV。
实例54.如实例52的方法,其进一步包括:当所述CU经帧间译码时,调用用于所述CU的NBDV以确定NBDV结果,且使用所述NBDV结果更新所述DDV;当所述CU未经帧间译码时,抑制更新所述DDV。
实例55.如实例52的方法,其进一步包括:当使用NBDV结果译码在所述CU内的预测单元(PU)时,使用所述NBDV结果更新所述DDV;和当未使用所述NBDV结果译码所述PU时,抑制更新所述DDV。
实例56.如实例52的方法,其进一步包括:当通过跳过模式译码在所述CU内的至少一个PU时,使用NBDV结果更新所述DDV。
实例57.如实例38的方法,其中针对所述切片维护仅一个DDV,且一旦PU经译码,那么更新所述DDV。
实例58.如实例57的方法,其进一步包括:当所述切片未经帧内译码时,针对所述切片的每一相应PU调用NBDV,而与所述相应PU是否使用NBDV无关,且使用NBDV结果更新所述DDV。
实例59.如实例57的方法,其进一步包括:当所述PU经帧间译码时,调用用于所述PU的NBDV以确定NBDV结果,且使用所述NBDV结果更新所述DDV;当所述PU未经帧间译码时,抑制更新所述DDV。
实例60.如实例57的方法,其进一步包括:当使用NBDV结果译码所述PU时,使用所述NBDV结果更新所述DDV;和当未使用所述NBDV结果译码所述PU时,抑制更新所述DDV。
实例61.如实例57的方法,其进一步包括:当通过跳过模式译码所述PU时,使用NBDV结果更新所述DDV。
实例62.如实例52或57的方法,其进一步包括当空间和时间相邻块不含有视差运动向量时,使用所述DDV导出NBDV,其中将所述NBDV设定为等于所述DDV。
实例63.如实例62的方法,其进一步包括通过存取参考视图的深度精细化所述NBDV。
实例64.如实例62的方法,其进一步包括:通过使用所述NBDV存取参考视图的深度来产生精细化的视差向量;和将所述DDV设定为等于所述精细化的视差向量。
实例65.如实例38的方法,其中存储所述一或多个DDV包括存储所述一或多个DDV的仅水平分量和设定所述一或多个DDV的垂直分量等于0。
实例66.一种方法,其包括如实例38到65的任何组合。
实例67.一种设备,其经配置以编码视频数据,所述设备包括:用于存储来自切片的一或多个先前译码的块的一或多个导出的视差向量(DDV)的装置;用于至少部分基于所述一或多个存储的DDV导出用于所述切片的当前块的基于相邻块的视差向量(NBDV)的装置;和用于至少部分基于用于所述当前块的所述NBDV编码所述当前块的装置。
实例68.如实例67的设备,其进一步包括用于执行如实例6到36的方法中的任何者的装置。
实例69.一种设备,其经配置以解码视频数据,所述设备包括:用于存储来自切片的一或多个先前译码的块的一或多个导出的视差向量(DDV)的装置;用于至少部分基于所述一或多个存储的DDV导出用于所述切片的当前块的基于相邻块的视差向量(NBDV)的装置;和用于至少部分基于用于所述当前块的所述NBDV解码所述当前块的装置。
实例70.如实例69的设备,其进一步包括用于执行如实例38到65的方法中的任何者的装置。
实例71.一种视频编码装置,其包括经配置以实施实例1到36中的任一者的方法的一或多个处理器。
实例72.一种视频解码装置,其包括经配置以实施实例38到65中的任一者的方法的一或多个处理器。
实例73.一种计算机可读存储媒体,其具有存储于其上的指令,所述指令当由视频编码设备执行时配置所述视频编码设备执行实例1到36中的任一者的方法。
实例74.一种计算机可读存储媒体,其具有存储于其上的指令,所述指令当由视频解码设备执行时配置所述视频编码设备执行实例38到65中的任一者的方法。
实例75.一种用于解码视频数据的方法,所述方法包括:基于一或多个相邻块导出用于图片的当前块的变量,其中所述变量不直接或间接在位流中传信;使用所述变量解码所述当前块;和在解码所述当前块后更新所述变量。
实例76.一种装置,其包括视频解码器,所述视频解码器经配置以:基于一或多个相邻块导出用于图片的当前块的变量,其中所述变量不直接或间接在位流中传信;使用所述变量解码所述当前块;和在解码所述当前块后更新所述变量。
实例77.一种装置,其包括用于基于一或多个相邻块导出用于图片的当前块的变量的装置,其中所述变量不直接或间接在位流中传信;用于使用所述变量解码所述当前块的装置;和用于在解码所述当前块后更新所述变量的装置。
实例78.一种计算机可读存储媒体,其具有存储于其上的指令,所述指令当经执行时配置视频解码装置以:基于一或多个相邻块导出用于图片的当前块的变量,其中所述变量不直接或间接在位流中传信;使用所述变量解码所述当前块;和在解码所述当前块后更新所述变量。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何合适组合实施。如果以软件实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或在计算机可读媒体上传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议有助于计算机程序从一处转移到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于在本发明中描述的技术的实施方案的指令、代码和/或数据结构的任何可利用媒体。计算机程序产品可包含计算机可读媒体。
通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用以存储呈指令或数据结构的形式的所要的程序代码且可由计算机存取的任何其它媒体。又,将任何连接恰当地称为计算机可读媒体。例如,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电和微波)而从一网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接件、载波、信号或其它暂时性媒体,而实情为,是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软碟和Blu-ray光盘,其中磁盘通常以磁性的方式再生数据,而光盘通过激光以光学的方式再生数据。以上的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码和解码的专用硬件和/或软件模块内,或被并入组合的编码解码器中。同样,所述技术可完全地实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛的各种各样的装置或设备中,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。各种组件、模块或单元在本发明中经描述以强调经配置以执行揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。相反,如上所述,各种单元可组合于编码解码器硬件单元中或由互操作的硬件单元(包含如上所述的一或多个处理器)结合合适的软件和/或固件的集合提供。
已描述各种实例。这些和其它实例处于下列权利要求书的范围内。
Claims (42)
1.一种解码视频数据的方法,所述方法包括:
存储用于所述视频数据的当前图片的切片的仅一个导出的视差向量DDV,其中所述切片包含多个块;
在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;以及
存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
2.根据权利要求1所述的方法,其进一步包括至少部分基于用于所述特定块的所述视差向量解码所述特定块。
3.根据权利要求1所述的方法,其中所述特定块为第一块,且所述方法进一步包括在存储用于所述第一块的所述视差向量作为用于所述切片的所述DDV后:
在NBDV导出过程中使用用于所述切片的所述DDV确定用于第二块的视差向量,其中所述第二块为所述切片的所述块中的一者;以及
至少部分基于用于所述第二块的所述视差向量解码所述第二块。
4.根据权利要求3所述的方法,其中所述第一块紧接在所述第二块左边。
5.根据权利要求3所述的方法,其中所述第一块为宏块,且所述第二块为宏块。
6.根据权利要求3所述的方法,其中所述第一块和所述第二块为译码单元CU,所述第一块和所述第二块为预测单元PU,或所述第一块和所述第二块为最大译码单元LCU。
7.根据权利要求1所述的方法,其中在所述NBDV导出过程中使用用于所述切片的所述DDV包括使用用于所述切片的所述DDV、用于时间相邻块的视差运动向量和用于空间相邻块的视差运动向量导出用于所述特定块的所述视差向量。
8.根据权利要求7所述的方法,其中在所述NBDV导出过程中使用用于所述切片的所述DDV包括:
在确定所述时间相邻块不具有视差运动向量后且在确定所述空间相邻块不具有视差运动向量后将用于所述特定块的所述视差向量设定为等于用于所述切片的所述DDV。
9.根据权利要求8所述的方法,其中在所述NBDV导出过程中使用用于所述切片的所述DDV包括:
确定所述时间相邻块是否具有视差运动向量;
响应于确定所述时间相邻块具有视差运动向量,基于所述时间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;
响应于确定所述时间相邻块不具有视差运动向量,确定在多个空间相邻块中的任一空间相邻块是否具有视差运动向量;
响应于确定在所述多个空间相邻块中的特定空间相邻块具有视差运动向量,基于所述特定空间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;以及
响应于确定所述多个空间相邻块中无空间相邻块具有视差运动向量,导出用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
10.根据权利要求1所述的方法,其进一步包括对于在所述特定块后译码的所述切片的每一块,将用于所述切片的所述DDV更新一次。
11.根据权利要求1所述的方法,其中存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV包括响应于满足条件更新用于所述切片的所述DDV以指定用于所述特定块的所述视差向量,所述条件为以下中的一者:
使用视图间运动预测译码所述特定块;
帧间译码所述特定块;
帧间译码所述切片;
通过跳过模式或直接模式译码所述特定块;
用于所述特定块的所述视差向量的量值大于用于所述切片的所述DDV的量值;以及
用于所述切片的所述DDV为非零。
12.根据权利要求1所述的方法,其进一步包括基于深度视图分量中的深度像素精细化用于所述特定块的所述视差向量,
其中存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV包括更新用于所述切片的所述DDV以指定用于所述特定块的所述精细化的视差向量。
13.根据权利要求1所述的方法,其中所述方法进一步包括不存储用于所述切片的所述块中的任一者的隐含视差向量。
14.一种编码视频数据的方法,所述方法包括:
存储用于所述视频数据的当前图片的切片的仅一个导出的视差向量DDV,其中所述切片包含多个块;
在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;以及
存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
15.根据权利要求14所述的方法,其进一步包括至少部分基于用于所述特定块的所述视差向量编码所述特定块。
16.根据权利要求14所述的方法,其中所述特定块为第一块,且所述方法进一步包括在存储用于所述第一块的所述视差向量作为用于所述切片的所述DDV后:
在NBDV导出过程中使用用于所述切片的所述DDV确定用于第二块的视差向量,其中所述第二块为所述切片的所述块中的一者;以及
至少部分基于用于所述第二块的所述视差向量编码所述第二块。
17.根据权利要求16所述的方法,其中所述第一块紧接在所述第二块左边。
18.根据权利要求16所述的方法,其中所述第一块为宏块,且所述第二块为宏块。
19.根据权利要求16所述的方法,其中所述第一块和所述第二块为译码单元CU,所述第一块和所述第二块为预测单元PU,或所述第一块和所述第二块为最大译码单元LCU。
20.根据权利要求14所述的方法,其中针对所述特定块在所述NBDV导出过程中使用用于所述切片的所述DDV包括使用用于所述切片的所述DDV、用于时间相邻块的视差运动向量和用于空间相邻块的视差运动向量导出用于所述特定块的所述视差向量。
21.根据权利要求20所述的方法,其中在所述NBDV导出过程中使用用于所述切片的所述DDV包括:
在确定所述时间相邻块不具有视差运动向量后且在确定所述空间相邻块不具有视差运动向量后将用于所述特定块的所述视差向量设定为等于用于所述切片的所述DDV。
22.根据权利要求21所述的方法,其中在所述NBDV导出过程中使用用于所述切片的所述DDV包括:
确定所述时间相邻块是否具有视差运动向量;
响应于确定所述时间相邻块具有视差运动向量,基于所述时间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;
响应于确定所述时间相邻块不具有视差运动向量,确定在多个空间相邻块中的任一空间相邻块是否具有视差运动向量;
响应于确定在所述多个空间相邻块中的特定空间相邻块具有视差运动向量,基于所述特定空间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;以及
响应于确定所述多个空间相邻块中无空间相邻块具有视差运动向量,导出用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
23.根据权利要求14所述的方法,其进一步包括对于在所述特定块后译码的所述切片的每一块,将用于所述切片的所述DDV更新一次。
24.根据权利要求14所述的方法,其中存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV包括响应于满足条件更新用于所述切片的所述DDV以指定用于所述特定块的所述视差向量,所述条件为以下中的一者:
使用视图间运动预测译码所述特定块;
帧间译码所述特定块;
帧间译码所述切片;
通过跳过模式或直接模式译码所述特定块;
用于所述特定块的所述视差向量的量值大于用于所述切片的所述DDV的量值;以及
用于所述切片的所述DDV为非零。
25.根据权利要求14所述的方法,其进一步包括基于深度视图分量中的深度像素精细化用于所述特定块的所述视差向量,
其中存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV包括更新用于所述切片的所述DDV以指定用于所述特定块的所述精细化的视差向量。
26.根据权利要求14所述的方法,其中所述方法进一步包括不存储用于所述切片的所述块中的任一者的隐含视差向量。
27.一种视频译码装置,其包括:
存储器,其存储视频数据;以及
一或多个处理器,其经配置以:
存储用于所述视频数据的当前图片的切片的仅一个导出的视差向量DDV,其中所述切片包含多个块;
在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;以及
存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
28.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以至少部分基于用于所述特定块的所述视差向量编码所述特定块。
29.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以至少部分基于用于所述特定块的所述视差向量解码所述特定块。
30.根据权利要求27所述的视频译码装置,其中所述特定块为第一块,且所述一或多个处理器经进一步配置使得在存储用于所述第一块的所述视差向量作为用于所述切片的所述DDV后,所述一或多个处理器:
在NBDV导出过程中使用用于所述切片的所述DDV确定用于第二块的视差向量,其中所述第二块为所述切片的所述块中的一者;以及
至少部分基于用于所述第二块的所述视差向量译码所述第二块。
31.根据权利要求27所述的视频译码装置,其中所述第一块紧接在所述第二块左边。
32.根据权利要求27所述的视频译码装置,其中所述第一块为宏块,且所述第二块为宏块。
33.根据权利要求27所述的视频译码装置,其中所述第一块和所述第二块为译码单元CU,所述第一块和所述第二块为预测单元PU,或所述第一块和所述第二块为最大译码单元LCU。
34.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以使用用于所述切片的所述DDV、用于时间相邻块的视差运动向量和用于空间相邻块的视差运动向量导出用于所述特定块的所述视差向量。
35.根据权利要求34所述的视频译码装置,其中所述一或多个处理器经配置以在确定所述时间相邻块不具有视差运动向量后且在确定所述空间相邻块不具有视差运动向量后将用于所述特定块的所述视差向量设定为等于用于所述切片的所述DDV。
36.根据权利要求35所述的视频译码装置,其中所述一或多个处理器经配置以:
确定所述时间相邻块是否具有视差运动向量;
响应于确定所述时间相邻块具有视差运动向量,基于所述时间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;
响应于确定所述时间相邻块不具有视差运动向量,确定在多个空间相邻块中的任一空间相邻块是否具有视差运动向量;
响应于确定在所述多个空间相邻块中的特定空间相邻块具有视差运动向量,基于所述特定空间相邻块的所述视差运动向量导出用于所述特定块的所述视差向量;以及
响应于确定所述多个空间相邻块中无空间相邻块具有视差运动向量,导出用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
37.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以对于在所述第一块后译码的所述切片的每一块,将所述DDV更新一次。
38.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以响应于满足条件更新用于所述切片的所述DDV以指定用于所述特定块的所述视差向量,所述条件为以下中的一者:
使用视图间运动预测译码所述特定块;
帧间译码所述特定块;
帧间译码所述切片;
通过跳过模式或直接模式译码所述特定块;
用于所述特定块的所述视差向量的量值大于用于所述切片的所述DDV的量值;以及
用于所述切片的所述DDV为非零。
39.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以基于深度视图分量中的深度像素精细化用于所述特定块的所述视差向量;且
其中所述一或多个处理器经配置以更新用于所述切片的所述DDV以指定用于所述特定块的所述精细化的视差向量。
40.根据权利要求27所述的视频译码装置,其中所述一或多个处理器经配置以不存储用于所述切片的任一块的隐含视差向量。
41.一种视频译码装置,其经配置以译码视频数据,所述视频译码装置包括:
用于存储用于所述视频数据的当前图片的切片的仅一个导出的视差向量DDV的装置,其中所述切片包含多个块;
用于在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量的装置,其中所述特定块为所述切片的所述块中的一者;以及
用于存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV的装置。
42.一种非暂时性计算机可读媒体,其具有存储于其上的指令,所述指令当经执行时使视频译码装置的一或多个处理器:
存储用于视频数据的当前图片的切片的仅一个导出的视差向量DDV,其中所述切片包含多个块;
在基于相邻块的视差向量NBDV导出过程中使用用于所述切片的所述DDV确定用于特定块的视差向量,其中所述特定块为所述切片的所述块中的一者;以及
存储用于所述特定块的所述视差向量作为用于所述切片的所述DDV。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361773680P | 2013-03-06 | 2013-03-06 | |
US61/773,680 | 2013-03-06 | ||
US201361809174P | 2013-04-05 | 2013-04-05 | |
US61/809,174 | 2013-04-05 | ||
US14/198,442 | 2014-03-05 | ||
US14/198,442 US9521389B2 (en) | 2013-03-06 | 2014-03-05 | Derived disparity vector in 3D video coding |
PCT/US2014/021343 WO2014138450A1 (en) | 2013-03-06 | 2014-03-06 | Derived disparity vector in 3d video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027571A true CN105027571A (zh) | 2015-11-04 |
CN105027571B CN105027571B (zh) | 2018-08-28 |
Family
ID=51487789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480012000.1A Expired - Fee Related CN105027571B (zh) | 2013-03-06 | 2014-03-06 | 三维视频译码中导出的视差向量 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9521389B2 (zh) |
EP (1) | EP2965522B1 (zh) |
JP (1) | JP6227678B2 (zh) |
KR (1) | KR101780434B1 (zh) |
CN (1) | CN105027571B (zh) |
ES (1) | ES2636967T3 (zh) |
HU (1) | HUE032800T2 (zh) |
TW (1) | TWI539791B (zh) |
WO (1) | WO2014138450A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111103829A (zh) * | 2019-12-11 | 2020-05-05 | 旋智电子科技(上海)有限公司 | 一种电机控制装置和方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014166063A1 (en) * | 2013-04-09 | 2014-10-16 | Mediatek Inc. | Default vector for disparity vector derivation for 3d video coding |
US9667990B2 (en) | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
WO2015005749A1 (ko) * | 2013-07-12 | 2015-01-15 | 삼성전자 주식회사 | 인터 레이어 비디오 복호화 및 부호화 장치 및 방법을 위한 블록 기반 디스패리티 벡터 예측 방법 |
CN105637871B (zh) * | 2013-10-17 | 2018-08-10 | 联发科技股份有限公司 | 三维或多视图视频编码方法 |
US10063887B2 (en) * | 2013-10-18 | 2018-08-28 | Lg Electronics Inc. | Video decoding apparatus and method for decoding multi-view video |
CN111193929B (zh) * | 2013-12-16 | 2022-04-12 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
US10560718B2 (en) | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
US11146821B2 (en) * | 2016-05-25 | 2021-10-12 | Arris Enterprises Llc | JVET coding block structure with asymmetrical partitioning |
JP2019535202A (ja) * | 2016-10-06 | 2019-12-05 | エルジー エレクトロニクス インコーポレイティド | インター予測モードベースの画像処理方法及びそのための装置 |
EP3685113B1 (en) | 2017-09-19 | 2022-06-08 | Ecolab USA Inc. | Method for cooling water monitoring and control |
US10368071B2 (en) * | 2017-11-03 | 2019-07-30 | Arm Limited | Encoding data arrays |
PL3707457T3 (pl) | 2017-11-10 | 2023-01-09 | Ecolab USA, Inc. | Sposób monitorowania i regulacji wody chłodzącej |
US10587885B2 (en) * | 2018-06-04 | 2020-03-10 | Tencent America LLC | Method and apparatus for merge mode with additional middle candidates in video coding |
US10679668B2 (en) * | 2018-08-31 | 2020-06-09 | Gopro, Inc. | Systems and methods for editing videos |
US11665365B2 (en) * | 2018-09-14 | 2023-05-30 | Google Llc | Motion prediction coding with coframe motion vectors |
WO2020219400A1 (en) * | 2019-04-22 | 2020-10-29 | Leia Inc. | Time-multiplexed backlight, multiview display, and method |
US11496151B1 (en) * | 2020-04-24 | 2022-11-08 | Tencent America LLC | Neural network model compression with block partitioning |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3693407B2 (ja) * | 1996-04-04 | 2005-09-07 | シャープ株式会社 | 多視点画像符号化装置および復号装置 |
US20040260827A1 (en) | 2003-06-19 | 2004-12-23 | Nokia Corporation | Stream switching based on gradual decoder refresh |
EP2030450B1 (en) * | 2006-06-19 | 2015-01-07 | LG Electronics Inc. | Method and apparatus for processing a video signal |
KR20080066522A (ko) * | 2007-01-11 | 2008-07-16 | 삼성전자주식회사 | 다시점 영상의 부호화, 복호화 방법 및 장치 |
TWI355205B (en) * | 2007-01-24 | 2011-12-21 | Lg Electronics Inc | A method and an apparatus for processing a video s |
EP2135454A4 (en) * | 2007-03-02 | 2010-09-01 | Lg Electronics Inc | METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL |
EP2174506A1 (en) * | 2007-08-06 | 2010-04-14 | Thomson Licensing | Methods and apparatus for motion skip mode with multiple inter-view reference pictures |
KR20100058471A (ko) * | 2007-08-15 | 2010-06-03 | 톰슨 라이센싱 | 다시점 코딩된 비디오에서의 오류 은폐를 위한 방법 및 장치 |
BRPI0815108A2 (pt) * | 2007-08-15 | 2015-01-27 | Thomson Licensing | Métodos e aparelho para modo de avanço de movimento em vídeo codificado de multi-visitas com o uso de vetores de disparidade regional |
EP2392138A4 (en) | 2009-01-28 | 2012-08-29 | Nokia Corp | METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING |
TW201210325A (en) | 2010-07-21 | 2012-03-01 | Nokia Corp | Method and apparatus for indicating switching points in a streaming session |
CN103597837B (zh) | 2011-06-15 | 2018-05-04 | 寰发股份有限公司 | 推导运动和视差矢量的方法及装置 |
BR112013033333B1 (pt) * | 2011-06-30 | 2022-07-26 | Sony Corporation | Dispositivo e método de processamento de imagem |
KR20170005464A (ko) | 2011-08-30 | 2017-01-13 | 노키아 테크놀로지스 오와이 | 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램 |
CN107454426A (zh) * | 2012-07-27 | 2017-12-08 | 寰发股份有限公司 | 三维视频编码或解码方法 |
US9544612B2 (en) * | 2012-10-04 | 2017-01-10 | Intel Corporation | Prediction parameter inheritance for 3D video coding |
US9635357B2 (en) | 2013-02-26 | 2017-04-25 | Qualcomm Incorporated | Neighboring block disparity vector derivation in 3D video coding |
US9237345B2 (en) | 2013-02-26 | 2016-01-12 | Qualcomm Incorporated | Neighbor block-based disparity vector derivation in 3D-AVC |
US9667990B2 (en) | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
-
2014
- 2014-03-05 US US14/198,442 patent/US9521389B2/en active Active
- 2014-03-06 JP JP2015561669A patent/JP6227678B2/ja not_active Expired - Fee Related
- 2014-03-06 EP EP14712957.1A patent/EP2965522B1/en active Active
- 2014-03-06 WO PCT/US2014/021343 patent/WO2014138450A1/en active Application Filing
- 2014-03-06 CN CN201480012000.1A patent/CN105027571B/zh not_active Expired - Fee Related
- 2014-03-06 KR KR1020157027073A patent/KR101780434B1/ko active IP Right Grant
- 2014-03-06 TW TW103107770A patent/TWI539791B/zh not_active IP Right Cessation
- 2014-03-06 HU HUE14712957A patent/HUE032800T2/en unknown
- 2014-03-06 ES ES14712957.1T patent/ES2636967T3/es active Active
Non-Patent Citations (2)
Title |
---|
LI ZHANG: "3D-CE5.h related: Disparity vector derivation for multiview video and 3DV", 《INTERNATIONAL ORGANISATION FOR STANDARDISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO》 * |
Y-L CHANG ET AL.: "3D-CE5.h related: Depth-Oriented Neighboring Block Disparity Vector(DoNBDV) with virtual depth", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111103829A (zh) * | 2019-12-11 | 2020-05-05 | 旋智电子科技(上海)有限公司 | 一种电机控制装置和方法 |
CN111103829B (zh) * | 2019-12-11 | 2024-05-17 | 旋智电子科技(上海)有限公司 | 一种电机控制装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI539791B (zh) | 2016-06-21 |
EP2965522B1 (en) | 2017-05-10 |
TW201448566A (zh) | 2014-12-16 |
EP2965522A1 (en) | 2016-01-13 |
CN105027571B (zh) | 2018-08-28 |
US9521389B2 (en) | 2016-12-13 |
KR20150122772A (ko) | 2015-11-02 |
WO2014138450A1 (en) | 2014-09-12 |
JP6227678B2 (ja) | 2017-11-08 |
KR101780434B1 (ko) | 2017-09-21 |
US20140254682A1 (en) | 2014-09-11 |
ES2636967T3 (es) | 2017-10-10 |
HUE032800T2 (en) | 2017-11-28 |
JP2016513919A (ja) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027571B (zh) | 三维视频译码中导出的视差向量 | |
CN105379282B (zh) | 用于纹理译码的先进残余预测(arp)的方法和设备 | |
CN105556969B (zh) | 视频译码中使用视差向量的块识别 | |
CN104025602B (zh) | 三维视频译码中用信号通知视图合成预测支持 | |
CN105393536B (zh) | 使用位移向量从预测性块的帧内预测 | |
CN105122812B (zh) | 用于三维(3d)视频译码的高级合并模式 | |
CN104170380B (zh) | 视频译码中的视差矢量预测 | |
CN105874788B (zh) | 对3d视频译码中较大预测块的逐段dc译码的简化 | |
CN105230022A (zh) | 使用基于相邻者的视差向量导出的用于3d视频译码的并行经导出视差向量 | |
CN104813668A (zh) | 在三维视频译码中的自适应性明度补偿 | |
CN104041047A (zh) | 在使用深度的3d视频译码中的多重假设差异向量构建 | |
CN105052145A (zh) | 剖析三维视频译码中的语法元素 | |
CN105580364A (zh) | Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计 | |
CN105580365A (zh) | Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计 | |
CN104838651A (zh) | 可缩放及多视角视频译码中的高级残差预测 | |
CN104396250A (zh) | 用于3d视频译码的深度图的帧内译码 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN104871543A (zh) | 视差矢量推导 | |
CN105052147A (zh) | 用于3d-hevc的深度数据的深度译码模式信令 | |
CN104769949A (zh) | 用于视差向量导出的图片的选择 | |
CN104685883A (zh) | 用于3d视频的经视图间预测运动向量 | |
CN105103559A (zh) | 用于3d-hevc的深度数据的深度译码模式信令 | |
CN105052146A (zh) | 对3d视频译码中的视差向量导出和运动向量预测的简化 | |
CN104335586A (zh) | 运动向量舍入 | |
CN105308956A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180828 Termination date: 20210306 |