首页> 中国专利> 二元分割模式的推导方法及装置

二元分割模式的推导方法及装置

摘要

公开了一种解码视频数据的方法、设备以及计算机可读存储介质。该方法包括:获得视频块的参考样本数组,获得所述参考样本数组之和;通过对所述和进行算术右移以计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较所述参考样本数组与所述阈值确定所述二元分割模式。

著录项

  • 公开/公告号CN105637766A

    专利类型发明专利

  • 公开/公告日2016-06-01

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201480041095.X

  • 发明设计人 顾舟叶;郑建铧;林楠;菲利普·张;

    申请日2014-07-21

  • 分类号H03M7/40;H04N19/60;

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-18 15:42:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    授权

    授权

  • 2016-06-29

    实质审查的生效 IPC(主分类):H03M7/40 申请日:20140721

    实质审查的生效

  • 2016-06-01

    公开

    公开

说明书

相关申请案交叉申请

本申请要求于2014年7月18日递交的作者为ZhouyeGu等人、发明名称为“二元分割模式的推导方法及装置”的第14/335,403号美国专利申请案的在先申请优先权,其要求于2013年7月19日递交的作者为ZhouyeGu等、发明名称为“深度建模模型的简化”的第61/856,554号美国临时专利申请案的在先申请优先权,于2013年8月16日递交的作者为ZhouyeGu等、发明名称为“深度建模模型的简化”的第61/866,941号美国临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。

共同研究协议各方名称

本发明系华为技术有限公司与圣克拉拉学院董事会与董事长的成果,圣克拉拉学院为圣克拉拉学院的前身。

技术领域

本发明涉及视频编码。

背景技术

数字视频功能能够应用于许多设备中,如数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、笔记本电脑或台式计算机、平板电脑、电子书阅读器、数码相机、数码录音设备、数字媒体播放器、视频游戏设备、电子游戏机、蜂窝式或卫星无线电话、所谓的“智能手机”、视频会议设备以及视频流设备等。数字视频设备实现了视频编码技术,如MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264MPEG-4、Part10、高级视频编码(AVC)、高效视频编码(HEVC)等定义的目前仍在开发的标准,及这些标准的扩展所描述的技术。通过实现这些视频编码技术,数字视频设备可以更有效地传输、接收、编码、解码、和/或存储数字视频信息。

作者为Bross等人的文件JCTVC-L1003_v34(即,2013年1月14至23日瑞士日内瓦第12次会议:JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3与ISO/IECJTC1/SC29/WG11共同讨论出的“HighEfficiencyVideoCoding(HEVC)textspecificationdraft10(forFDIS&Consent)”)描述了即将出现的HEVC标准的近期草案,称之为“HEVC工作草案10”或“WD10”,且该文件自2013日7月18日起可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip下载。JCTVC-L1003_v34的内容以引入的方式并入本文。

视频编码技术包括空域(图内)预测和/或时序(图间)预测,用以减少或去除视频序列固有的冗余。针对基于块的视频编码,视频条带(如,视频帧或视频帧的一部分)可以分割为视频块,其也可以称为树块、编码单元(CU)和/或编码节点。采用相对于同一图相邻块的参考样本的空域预测,对图的帧内编码(I)条带中的视频块进行编码。帧的帧间编码(P或B帧)条带中的视频块可采用关于同一图中相邻块的参考样本的空域预测或相对于其他参考图中参考样本的时序预测。图可暗指为帧,参考图也可暗指为参考帧。

空域或时序预测产生待编码的块的预测块。残差数据表示待编码的原始块与预测块的像素差。根据指向组成预测块的参考样本的块的运动矢量,对帧内编码块进行编码,其中残差数据是指编码块与预测块之差。根据帧内编码模式与残差数据,对帧内编码块进行编码。对于进一步压缩,冗余数据可以从像素域转换至转换域,产生残差变换系数,之后残差变换系数可以量化。量化的变换系数最初以二维数组排列,经扫描可产生变换系数的一维矢量,且可应用熵编码进行更进一步地压缩。

发明内容

本发明总体上描述了用于编码视频数据的技术。本发明尤其描述了用于编码视频数据的二元分割模式的推导技术。

一方面,提供了一种用于编码视频数据的二元分割模式的推导方法。该方法包括:获得视频块的参考样本数组;

获得该参考样本数组之和;通过对该和进行算术右移以计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式。

另一方面,提供了一种用于解码视频数据的设备。该设备包括视频解码器,用于:获得视频块的参考样本数组,获得该参考样本数组之和;通过对该和进行算术右移以计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式。

另一方面,提供了一种用于解码视频数据的设备。该设备包括:获得视频块的参考样本数组的构件;获得该参考样本数组之和的构件;通过对该和进行算术右移以计算阈值的构件,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式的构件。

另一方面,计算机可读存储介质存储了指令,在执行指令时,使得处理器:获得视频块的参考样本数组,获得该参考样本数组之和;通过对该和进行算术右移计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式。

在上述各方面的一些示例中,该视频块的大小信息由以下任一项表示:块大小,表示该块大小的比特数,该块大小的对数表征,该块大小对应的该视频块的编码树深度值。

在上述各方面的一些示例中,通过将所述视频块的大小信息的表征视为输入参数来确定所述移位量。

在上述各方面的一些示例中,根据以下表达式确定该移位量:Shiftvalue=BlockSizeInBit*ratio,其中,BlockSizeInBit为该视频块的块大小的比特表征,ratio为整数。

下述附图与说明将对一个或多个示例进行详细阐释。其他特征、目的及优势在描述、附图及权利要求中显而易见。

附图说明

为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。

图1示出了示例性的进行视频编码与解码的系统;

图2示出了示例性的视频编码器;

图3示出了示例性的视频解码器;

图4A示出了块的楔形分割的示例;

图4B示出了块的轮廓分割的示例;

图5示出了二元分割模式的推导算法示例;

图6A示出了示例性的二元分割模式的推导的实验结果;

图6B示出了另一个示例性的二元分割模式的推导的实验结果;

图7是示例性电子设备的示意图。

具体实施方式

本发明的技术通常可涉及三维(3D)视频编码。即,可提供通过这些技术进行编码的视频数据,并显示该数据以产生三维效果。例如,可以同时充分地显示不同视角(即,从水平位置略微不同的两个摄像头的角度)的两个图像,以使观察者的左眼看到一个图像,观察者的右眼看到另一个图像。

3D效果可通过,如,立体显示器或自动立体显示器,来实现。立体显示器可与相应地过滤了两个图像的眼镜配合使用。例如,被动式眼镜可用偏光镜片或不同颜色的镜片过滤图像,以确保眼睛恰好看到合适的图像。作为另一个示例,主动式眼镜可以在立体显示器的配合下快速关闭交替镜片,其可在交替显示左眼图像与右眼图像。自动立体显示器在不需要眼镜的情况下显示这两个图像。例如,自动立体显示器可包括镜子或棱镜,用于使每个图像投射到观察者对应的双眼。

本发明的技术涉及通过编码纹理与深度数据来编码3D视频数据。一般来说,术语“纹理”用于描述图像的亮度(即,辉度或“亮”)值,及图像的色度(即,色彩或“色度”)值。在一些示例中,纹理图像可包括一组亮度数据以及蓝色(Cb)和红色(Cr)的两组色度数据。在某些色度格式中,如,4:2:2或4:2:0,色度数据是相对于亮度数据向下采样得到的。即,色度像素的空域分辨率可能低于相应的亮度像素的空域分辨率,如,色度像素的空域分辨率是亮度像素的空域分辨率的二分之一或四分之一。

深度数据一般描述了相应纹理数据的深度值。例如,深度图像可包括一组深度像素,每个深度像素描述了相应纹理数据的深度。深度数据可用于确定相应纹理数据的水平视差。因此,接收纹理与深度数据的设备可显示一个视角(如,左眼视角)的第一纹理图像,并可通过由基于深度值确定的水平视差值补偿第一图像的像素值,来使用深度数据修改第一纹理图像以产生另一视角(如,右眼视角)的第二纹理图像。一般情况下,水平视差(或简称为“视差”)描述了第一视角中的像素对右眼视角中相应像素的水平空域补偿,其中,两个像素对应两个视角中呈现的同一物体的同一部分。

在其他示例中,可以为垂直于图像平面的z轴中的像素定义深度数据,以相对于为图像定义的零视差平面定义与给定像素相关的深度。该深度可用于创建显示像素的水平视差,这样根据相对于零视差平面的像素的z轴深度值,对左眼与右眼显示不同的像素。零视差平面可以针对视频序列的不同部分变化,而相对于零视差平面的深度值也会变化。针对左右眼,位于零视差平面的像素可相似。针对左右眼(如,左右眼有水平视差),位于零视差平面前的像素可以显示在不同的位置,以营造一种该像素是来自垂直于图像平面的z轴中的图像的感觉。位于零视差平面后的像素可以稍显模糊以减轻对深度的感知,或可以针对左右眼(如,左右眼的水平视差与位于零视差平面前的像素的水平视差相对)显示在不同位置。其他技术也可以用来为图像传达或定义深度数据。

二维视频数据一般会编码为离散图的序列,每一个图对应一个特定时序实例。即,每一图有一个相对于序列中其他图像的播放时间的关联播放时间。这些图可以视为纹理图或纹理图像。基于深度的3D视频编码,序列中的每个纹理图也可以对应于深度图。即,纹理图对应的深度图描述了对应的纹理图的深度数据。多视角视频数据可包括各种不同视角的数据,其中每个视角可以包括各自的纹理图序列以及对应的深度帧序列。

如上所述,每个图像可对应一个特定时序实例。视频数据可通过一系列存取单元呈现,其中每个存取单元包括所有对应特定时序实例的所有数据。因此,例如,多视角视频数据加深度,普通时序实例下的每个视角中的纹理图像加上每个纹理图像的深度图都可包含在特定的存取单元内。存取单元可包括纹理图像对应的纹理分量的数据,以及深度图对应的深度分量的数据。在这种方式中,3D视频数据可以以多视角视频数据加深度的格式呈现,其中,采集的或产生的画面(纹理)与相应的深度图相关联。此外,在3D视频编码中,可以对纹理与深度图进行编码及复用以得到3D视频比特流。深度图可以编码为灰度图像,其中深度图的“亮度”样本(即,像素)表示深度值。传统的帧内编码和帧间编码方法可以应用于深度图编码中。

深度图的主要特征是锐边(表示物体的边)以及大范围的几乎不变或缓慢变化的样本值(表示物体的区域)。虽然HEVC帧内预测和变换编码非常适合几乎不变的区域,但是它会造成锐边上的严重的编码不自然,在中间视点合成后可见。为了更好的表征深度图的边,以下增加了四种新型深度编码的帧内预测模式,并将对其做更详细的描述。在四个模式中,将块分成两个非矩形区域的模型趋近于深度块,其中,每个区域由一个常量值表示。该模型需要的信息包括两个元素,即,分割信息,规定每个样本所属的区域;以及区域值信息,规定对应区域的样本的常量值。该区域值是指下述的常数分割值(CPV)。使用两个不同的分割类型,即楔形和轮廓分割。它们的不同在于是否进行了深度块分割,以下将做更详细的描述。可以对深度建模模式进行整合,以将其作为HEVC中的参考帧内预测模式的替换模式。与帧内预测模式相似,残差表示近似值与初始深度信号之差,且能通过转换编码传输。以下将对用四个新型深度建模模式得出的深度块的近似值做更详细的描述。

在基于HEVC的三维(3D)视频编码机制中,块分割模式(BPM),例如,深度建模模式(DMM)和/或区域边界链模式(RBCM)和HEVC帧内编码机制一起用于深度图的帧内编码。

除分割信息外,在楔形分割或轮廓分割形式中,深度块的信号的建模需要的第二信息是两个区域中的每个区域的CPV。对于给定的分割,通过将对应区域的初始深度信号的平均值作为CPV来最终得出最优近似值。

已经增加了四种深度建模模式(DMM),它们的区别在于是否已进行了分割以及传输:

模式1:显式楔形信令;

模式2:帧内预测楔形分割;

模式3:分量间预测楔形分割;

模式4:分量间预测轮廓分割。

以下将对这些深度建模模式、模式的信令以及常数分割值进行描述。

模式1,即显式楔形信令,的基本原理是找到编码器上的最匹配的楔形分割并以比特流传输分割信息。在解码器上,通过传输的分割信息重建块的信号。此模式的楔形分割信息并未预测出。在编码器上,通过将当前块的初始深度信号作为参考来搜索一组楔形分割。搜索时,选择在初始信号与楔形近似值间产生的失真最小的楔形分割。然后通过参考模式决策过程来估计产生的预测信号。在进行深度编码的过程中,快速搜索最匹配的分割对于使用楔形模型来说很重要。

模式2,即帧内预测楔形分割,的基本原理是预测来自同一图上的前一编码的块的数据里的楔形分割,也即通过图内预测。为了得到更优的近似值,通过改变行尾位置来优化预测的分割。只有行尾位置的补偿是通过比特流传输的,在解码器上,块的信号是通过预测后的分割与传输补偿的组合产生的分割信息重建的。

模式3,即分量间预测楔形分割,的基本原理是,是预测来自关联的共置块的楔形分割,即视频图的纹理参考块的楔形分割。这种预测是指分量间预测。与时序或视角间预测不同,由于纹理参考图展现了同一时刻同一视角的场景,所以这种预测不用移动或视差进行补偿。此种模式下,不进行楔形分割信息传输,因此,分量间预测将重建的视频图作为参考。为了进行有效的处理,只考虑参考块的亮度信号,因其通常包括预测深度块的分割最重要的信息,即物体的边。

模式4,即分量间预测轮廓分割,的基本原理是通过分量间预测来预测来自纹理参考块的轮廓分割。与楔形分割模式的分量间预测一样,关联视频图的共置块的重建亮度信号会作为参考。与楔形分割相反,轮廓分割的预测是通过阈值法实现的。此处将纹理参考块的平均值设置为阈值,且根据样本是在样本位置的上方还是下方,将纹理参考块的平均值标记在产生的轮廓分割模式的区域P1或P2中。

在编码过程中,针对帧内编码CU,选择所述深度建模模式之一或是参考帧内预测模式。若选择了深度建模模式,除明确规定的深度建模模式用法的语法元素之外,选择的模式和关联的预测数据需通过比特流示出。以下定义了四种深度建模模式:

Wedgelet_ModelIntra:楔形块分割帧内建模;

Wedgelet_PredIntra:楔形块分割帧内预测;

Wedgelet_PredTexture:楔形块分割分量间预测;

Contour_PredTexture:轮廓块分割分量间预测。

在有或者没有CPV变量时,四个模式中的每一个模式都能应用并能产生8个不同的模式标识符,以指示解码器,这种处理类型必须用于预测或重建块。

深度建模模式下,进行楔形和/或轮廓分割的推导时,纹理块或深度块像素的平均值可用于确定深度分割模式。可在深度帧内预测中对单独的深度块执行该动作。需要承认的是,目前,本发明中3D-HEVC中的深度分割模式的推导设计可能会引起某些问题。例如,平均运算需要使用高存取速率,且对应的除法运算提高了硬件实现的复杂性。本发明描述了各种各样与改善分割模式推导相关的技术,例如,3D-HEVC,但是,需要理解的是实现这些技术时也要考虑其他视频编码标准。3D-HEVC的示例中描述技术的目的仅在于阐释,且所述技术不限于3D-HEVC。

图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可通过包括互联网连接的任一标准数据连接获得编码视频数据。标准数据连接可包括无线信道(例如,无线连接),有线连接(例如,DSL、光缆调制解调器等),或适于访问文件服务器上存储的编码视频数据的无线信道与有线连接的组合。来自存储设备的已编码视频数据的传输可以是流式传输,下载传输,或是流式传输与下载传输的组合。

本发明的技术不局限于无线应用或设置。该技术可应用于支持任一种以下多媒体应用的视频编码:如,地面电视广播、有线电视传输、卫星电视传输、因特网流视频传输,如基于HTTP的动态自适应流(DASH);编码至数据存储介质的数字视频、在在数据存储介质上的数字视频的解码;或其他应用。在一些示例中,系统10可用于支持一路或两路视频传输来支持视频流、视频播放、视频播报和/或视频电话学等应用。

在图1的示例中,源设备12包括视频源18、视频编码器20以及输出接口22。目的设备14包括输入接口28、视频解码器30以及显示设备32。根据本发明,源设备12的视频编码器20可用于应用标示对深度图进行编码的深度建模模式的技术。在其他示例中,源设备和目的设备可包括其他组件或配置。例如,源设备12可接收来自外部视频源18,如外部摄像头的视频数据。同样,目的设备14可与外部显示设备通过接口连接,而不包括集成的显示设备。

图1的示例性系统10仅是一个示例。标示对深度图进行编码的深度建模模式的技术可由任一数字视频编码和/或解码设备执行。本发明的技术一般由视频编码设备执行,也可由视频编码器/解码器(通常指“CODEC”)执行。进一步地,本发明的技术也可由视频预处理器执行。视频编码器和/或解码器可以是Nvidia和AMD等供应商提供的图形处理单元(GPU)。Nvidia的主要GPU产品系列的标签为“GeForce”,与AMD的“Radeon”产品相竞争。

源设备12和目的设备14仅是这些编码设备的示例,其中源设备12产生了用于传输至目的设备14的编码视频数据。在一些示例中,设备12、14可以以大致对称的方式进行操作,这样,设备12与14中都包括视频编码和解码组件。因此,系统10可支持视频设备12与14间的一路或两路视频传输,例如视频流、视频播放、视频播报和/或视频电话学。

源设备12的视频源18可包括视频捕获设备,如摄像机、包括之前捕获视频的视频档案和/或接收视频内容提供者的视频的视频馈送接口。可选地,视频源18可产生基于计算机绘图的数据,如源视频,或实况视频、存档视频以及计算机产生的视频的组合。

在某些情况下,若视频源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-TH.264标准(也称MPEG-4、Part10、高级视频编码(AVC)),或这些标准的扩展工作。然而,本发明的技术不限定于任一特定的编码标准。其他视频编码标准的示例包括MPEG-2和ITU-TH.263。虽然图1中未示出,在某些方面,视频编码器20和视频解码器30可分别与音频编码器和解码器组合,并可包括合适的MUX-DEMUX单元,或其他硬件与软件,以共同数据流或各自数据流中音频和视频编码。若适用,MUX-DEMUX单元可遵照ITUH.223复用协议,或其他协议,如用户数据报协议(UDP)。

视频编码器20和视频解码器30可以分别是各种合适的编码电路装置中的一种,如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、软件、硬件、固件或其任一组合。当软件实现了部分技术时,设备可存储针对合适的非瞬时性计算机可读介质中的软件的指令,并通过由一个或多个处理器执行本发明的技术来执行硬件中的指令。视频编码器20和视频解码器30可分别包含在一个或多个编码器或多个解码器内,并可分别在各设备中集成为组合编码/解码器(CODEC)的一部分。包括视频编码器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分割为子编码单元(sub-CU)。模式选择单元40可进一步产生四叉树数据结构,其表示将LCU分割为sub-CU。四叉树的叶节点CU可包括一个或多个预测单元(PU)以及一个或多个转换单元(TU)。

本发明使用的术语“块”指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可能是方形或非方形(例如,矩形)。

模式选择单元40可选择编码模式中的一个,例如,基于错误结果的帧内编码模式或帧间编码模式,并向加法器50提供产生的帧内编码或帧间编码模块,以产生残差块数据,并向加法器62提供产生的帧内编码或帧间编码模块,以重建用作参考帧的编码块。模式选择单元40也向熵编码单元56提供语法元素,如运动矢量、模式内指标、分割信息,以及其他该种语法信息。

运动估值单元42和运动补偿单元44可以是高度集成的,为方便理解,对其分别进行了解释。运动估值单元42执行的运动估值,是个产生运动矢量的过程,其估计视频块的运动。例如,运动矢量可指当前视频帧或图中的视频块的PU相对于当前帧(或其他编码单元)中正在编码的当前块的位移相对于参考帧(或其他编码单元)中的预测块的位移。发现预测块非常接近待编码的块,且像素差量可由绝对差异和(SAD)、平方差总和(SSD)或其他差量度量确定。在一些示例中,视频编码器20可计算参考帧存储器64中存储的参考图的分段整数像素位置的值。例如,视频编码器20可插入参考图的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值。因此,运动估值单元42可进行相对于全像素位置和分数像素位置的移动搜索并根据分数像素精度输出运动矢量。

通过比较PU的位置和参考图的预测块的位置,运动估值单元42计算帧内编码条带中视频块的PU的运动矢量。可从第一参考图列表(List0)或第二参考图列表(List1)中选择参考图,每个列表都显示了存储在参考帧存储器64中的一个或多个参考图。运动估值单元42向熵编码单元56与运动补偿单元44发送计算的运动矢量。

运动补偿单元44执行的运动补偿可包括基于运动估值单元42确定的运动矢量获取或产生预测块。此外,在一些示例中,运动估值单元42与运动补偿单元44可进行功能性的集成。运动补偿单元44接收到当前视频块的PU的运动矢量后,可定位预测块的位置,其中,参考图列表中的一个参考图的运动矢量指向该预测块。通过用正在编码的当前视频块的像素值减去预测块的像素值,加法器50产生了残差视频块,并产生了像素差量值,如下将进行描述。一般情况下,运动估值单元42执行相对照明分量的运动估值,运动补偿单元44将基于照明分量计算的运动矢量用于色度分量与照明分量。模式选择单元40也可产生与视频块和视频条带关联的语法元素,其中,视频块和视频条带用于视频解码器30解码视频条带的视频块。

帧内预测单元46可帧内预测当前块,并且可替代运动估值单元42与运动补偿单元44执行的间预测,如上所述。帧内预测单元46尤其可确定帧内预测模式以用于编码当前块。在一些示例中,在各自的编码过程中,帧内预测单元46可通过各种帧内预测模式编码当前块,且帧内预测单元46(或一些示例中的模式选择单元40)可从测试模式中选择要使用的合适的帧内预测模式。

例如,帧内预测单元46可通过各种测试帧内预测模式的率失真分析计算率失真值,且可从测试模式中选择有最优率失真特征的帧内预测模式。率失真分析一般确定了编码块和初始未编码块间的失真(或错误)量,将未编码块编码以产生编码块,以及用于产生已编码块的比特率(即,比特数)。帧内预测单元46可计算各种编码块的失真与各种编码块的率的比,以确定帧内预测模式显示块的最优率失真的值。

除此之外,帧内预测单元46可用于通过深度建模模式(DMM)编码深度图的深度块。模式选择单元40可判断可用的DMM模式是否会通过率失真优化(RDO)产生比帧内预测模式以及其他DMM模式更好的编码结果。深度图对应的纹理图像的数据可以存储在参考帧存储器64中。运动估值单元42与运动补偿单元44也可用于间预测深度图的深度块。

选择块的帧内预测模式(如,传统帧内预测模式或DMM模式的一个模式)之后,帧内预测单元46可向熵编码单元56提供用以指示选择的块的帧内预测模式的信息。熵编码单元56可编码指示选择的帧内预测模式的信息。视频编码器20可包括传输的比特流装置数据,其可包括许多帧内预测模式索引表以及许多修改的帧内预测模式索引表(也称为代码字匹配表)、多种块的编码语境的定义、最可能的帧内预测模式的标示、帧内预测模式索引表、以及用于每个语境的修改的帧内预测模式索引表。

通过用正在编码的初始视频块减去模式选择单元40的预测数据,视频编码器20产生了残差视频块。加法器50代表一个组件或多个用于执行减法运算的组件。

转换处理单元52向残差块应用变换,如离散余弦变换(DCT)或概念上类似的变换,产生包括残差变换系数值的视频块。转换处理单元52可执行概念上类似DCT的其他变换。也可采用小波变换、整数变换、子频带变换或其他类型的变换。

转换处理单元52向残差块的应用变换,产生残差变换系数的块。该变换可将来自像素值域的冗余信息转化为转换域,如频域。转换处理单元52可向量化单元54发送产生的变换系数。量化单元54对变换系数进行量化以进一步减少比特率。量化过程可减少与一些或所有系数关联的比特深度。通过调整量化参数可改变量化的程度。在一些示例中,量化单元54则可扫描包括量化的变换系数的矩阵。可选地,熵编码单元56可进行扫描。

量化之后,熵编码单元56对量化的变换系数进行熵编码。例如,熵编码单元56可执行上下文自适应可变长编码(CAVLC)、上下文自适应二元算法编码(CABAC)、基于语法的上下文自适应二元算法编码(SBAC)、概率区间分割熵(PIPE)编码或其他熵编码技术。在基于语境的熵编码的情况下,其中,语境可基于相邻的块。熵编码单元56进行熵编码之后,编码比特流可传输至其他设备(如,视频解码器30)或可存档以备之后传输或检索。

逆量化单元58和逆变换单元60分别采用逆量化与逆变换,来重建像素域中的残差块,其之后可用作参考块。通过将残差块与参考帧存储器64的一个帧的预测块相加,运动补偿单元44可计算参考块。运动补偿单元44可将一个或多个内插滤波器应用到重建的残差块,来计算用于运动估值的分段整数像素值。加法器62将重建的残差块添加到运动补偿单元44产生的运动补偿预测块,以产生存储于参考帧存储器64的重建的视频块。运动估值单元42与运动补偿单元44可将重建的视频块作为参考块,以在后续的视频帧中进行帧内编码块。

图3是示例性的视频解码器30的方框图,该解码器可实现标示对深度图进行编码的深度建模模式的技术。在图3的示例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆转换单元78、参考帧存储器82以及加法器80。在一些示例中,相对于视频编码器20(图2),视频解码器30一般可执行与编码过程互惠的解码过程,。运动补偿单元72可产生基于熵解码单元70接收的运动矢量的预测数据,然而帧内预测单元74可产生基于从熵解码单元70接收的帧内预测模式指标的预测数据。

在解码过程中,视频解码器30接收编码视频比特流,该比特流表示编码视频条带的视频块,以及来自视频编码器20的相关联的语法元素。视频解码器30的熵解码单元70解码比特流,以产生量化系数、运动矢量或帧内预测模式指标以及其他语法元素。熵解码单元70向运动补偿单元72转发运动矢量以及其他语法元素。视频解码器30可接收在视频条带水平和/或视频块水平的语法元素。

将视频条带编码为帧内编码(I)条带时,基于标示的帧内预测模式以及当前帧或图之前解编码的块的数据,帧内预测单元74可产生现有视频条带的视频块的预测数据。将视频帧编码为帧间编码(即,B,P或GPB)条带时,基于运动矢量以及从熵解码单元70接收的其他语法元素,运动补偿单元72产生现有视频条带的视频块的预测块。预测块可由一个参考图列表的一个参考图中产生。通过基于存储于参考帧存储器92中的参考帧的默认构建技术,视频解码器30可以构建参考图列表,List0和List1。

根据本发明的技术,熵解码单元70可用于熵解码语法数据,该数据指用于编码深度块的DMM模式。

运动补偿单元72通过解析运动矢量和其他语法元素确定现有视频条带的视频块的预测信息,并使用预测信息产生当前正在解码的视频块的预测块。例如,运动补偿单元72使用一些接收的语法元素来确定用于编码视频条带的视频块的预测模式(如,帧内或间预测),帧间预测条带类型(如,B条带、P条带、或GPB条带),条带的一个或多个参考图列表中的构建信息,条带的每个帧间编码视频块的运动矢量,条带的每个帧间编码视频块的帧间预测状态,以及解码现有视频条带中的视频块的其他信息。

运动补偿单元72也可以基于内插滤波器执行内插。运动补偿单元72可将内插滤波器作为视频编码器20在编码视频块的过程中计算参考块的分段整数像素的内插值。此时,运动补偿单元72可确定来自接收的语法元素的视频编码器20使用的内插滤波器,并采用内插滤波器来生产预测块。

根据本发明的技术,帧内预测单元74可用于通过深度建模模式(DMM)编码深度图的深度块。深度图对应的纹理图像的数据可以存储在参考帧存储器82中。运动补偿单元72也可用于帧内预测深度图的深度块。

根据本发明的技术,帧内预测单元74可用于推导出二元(例如,楔形和/或轮廓)分割模式,以下将进行更完整地描述。

在一个示例中,二元分割模式可如以下说明推导出:

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(Block[xB+x][yB+y]>threshold),

wedgeletPattern[x][y]可以是二元分割模式,其定义了深度块分割。Block[xB+x][yB+y]可应用为纹理块或深度块。Block[xB+x][yB+y]可能是初始纹理块、初始深度块、重建的纹理块、重建的深度块、参考纹理块、参考深度块、共置的纹理块或共置的深度块。nT表示目标块的大小。阈值可如以下说明推导出:

变量sumBlockVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumBlockVals+=Block[xB+x][yB+y]

threshold=sumBlockVals/(numberofblockpixels)。

在本发明中,可对每个块进行除法/平均运算以确定深度分割模式。因此,计算复杂性可能增加,可能需要除法运算以获得阈值,增加了硬件实现的复杂性。可进行简化以减少进行深度图编码的硬件实现的复杂性。据悉,本发明中的这种简化对编码效率无害。

本发明提供了以下简化示例以避免阈值确定中的除法运算。

在一个示例中,阈值可如以下说明推导出:

threshold=sumBlockVals>>(6-ctDepth)*2。

变量ctDepth作为块大小的指标。“>>”表示算术右移运算。CU中,不同大小对应不同的编码树深度。表1示出了块大小与ctDepth的对应关系。

表1块大小与分割深度关系

在另一个示例中,轮廓分割是由分量间预测通过纹理参考块预测的。与楔形分割模式的分量间预测一样,关联视频图的共置块的重建亮度信号会作为参考。与楔形分割相反,轮廓分割的预测可以是通过阈值法实现的。此处可将纹理参考块的平均值设置为阈值,且根据样本是高于还是低于该阈值,样本位置可以标记为产生的轮廓分割模式的区域P1或P2中的一部分。

变量textThresh代表阈值。recTextPic的分段可如以下说明推导出:

变量sumTextPicVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumTextPicVals+=recTextPic[xB+x][yB+y]。

变量wedgeletPattern[x][y](其中,x,y=0..nT-1,)指二元分割模式,如以下说明推导出。

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(recTextPic[xB+x][yB+y]>textThresh),

其中,textThresh=sumTextPicVals>>(6-ctDepth)*2,ctDepth指当前块的编码树深度,textThresh指推导出深度分割模式的阈值。

在另一个示例中,深度分割模式可由深度参考块的平均值的估算获得。变量RefDepthThresh指阈值,因为深度参考块的分段可如以下说明推导出:

变量sumRefDepthVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumRefDepthVals+=RefDepth[xB+x][yB+y]。

变量RefDepthThresh设为sumRefDepthVals>>(6-ctDepth)*2。

变量wedgeletPattern[x][y](其中,x,y=0..nT-1,)指二元分割模式,如以下说明推导出:

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(RefDepth[xB+x][yB+y]>RefDepthThresh),

其中,ctDepth指当前块的编码树深度,RefDepthThresh指推导出深度分割模式的阈值。

在另一个示例中,阈值可设为

sumVals>>((6-ctDepth)<<alpha+delta),变量alpha和delta可离线预定义。

在另一个示例中,由于块大小与编码树深度之间的对应关系,当前块大小信息也可用于确定深度分割模式。

在另一个示例中,阈值可设为sumVals>>BlockSizeInBit*2。变量BlockSizeInBit为块大小二元信息,也可是分别对应块8x8、块16x16、块32x32和块64x64的3、4、5、6。

在另一个示例中,阈值可表达为:

threshold=sumBlockVals>>(MaxBlockSizeInBit-ctDepth)*2,或

threshold=sumBlockVals>>(MaxCUSizeInBit-ctDepth)*2

其中,变量MaxBlockSizeInBit定义的最大块大小的二元信息,是分别对应块8x8、块16x16、块32x32和块64x64的3、4、5、6;MaxCUSizeInBit指现有编码装置的最大CU大小。块可指编码单元或编码块。

在另一个示例中,阈值可表达为:

threshold=sumBlockVals>>(MaxBlockPartitionDepth–ctDepth+offset)*2,

其中,变量MaxBlockPartitionDepth指编码树块中的最深编码深度,其值为1、2、3、4,对应的最大大小分别为8x8、16x16、32x32和64x64。“补偿”是补偿给BlockPartitionDepth的值。例如,若MaxBlockPartitionDepth的值为4,当最大CU块大小等于64x64时,补偿为2时,阈值可以推导出为:

Threshold=sumBlockVals>>(MaxBlockPartitionDepth–ctDepth+2)*2。

在上述非限制性示例中,深度建模模式(DMM)和区域边界链模式可以是示例,其表示HEVC中正式编码模式以外的深度编码模式。所述的简化可进一步地应用于其他深度编码模式,以对块进行平均运算。

逆量化单元76,逆量化,即,解量化比特流中由熵解码单元80提供与解码的量化的变换系数。逆量化过程可包括针对视频条带中的每个视频块的,使用视频解码器30计算的量化参数QPy来确定量化的程度,同样,逆量化的程度也应适用。

为在像素域中产生残差块,逆变换单元78对变换系数应用了逆变换,例如,逆向DCT、逆向整数变换或概念上类似的逆变换的过程。

在运动补偿单元82或帧内预测单元74基于运动矢量或其他语法元素产生当前视频块(如,纹理块或深度块)的预测块后,通过将来自逆转换单元78的残差块与运动补偿单元82或帧内预测单元74产生的相应的预测块加和,视频解码器30组成了解码视频块。加法器90表示一个或多个执行加法运算的组件。若需要,去区块滤波器也可应用于过滤解码块,以去除块不自然。其他环形滤波器(在编码环中或编码环后)也可用于使像素平滑过渡,或者提高视频质量。之后,将给定帧或图中的解码视频块储存在参考帧存储器92中,该存储器中也存储了用于后续运动补偿的参考图。参考帧存储器82也存储了之后显示在显示设备(如图1的显示设备32)上的已解码视频。

图4A是示例性块的楔形分割的方框图,连续(左)和分散信号空域(中)以及对应的分割模式(右)。楔形与轮廓分割有区别。如图4A所示,对于楔形分割,两个区域由直线分开,其中两个区域分别标记为P1和P2。分离线由起点S与终点P确定,两者皆定位在块的不同边上。对于连续的信号空域(参照图4A,左侧),分离线可由直线方程表述。图4A中间的图像示出了分散样本空域的分割。此处,该块包括大小为uB×vB的样本的数组,且起止点对应于边界样本。虽然分离线也可由线性方程表述,但此处区域P1与P2的定义是不同的,只有完整的样本才能够作为两个区域中任一区域的一部分。针对在编码过程中使用楔形块分割,分割信息以分割模式的形式储存。这种模式包括大小为uB×vB的数组,每个元素包含了对应的样本是否属于区域P1或P2的二元信息。区域P1和P2分别由图4A(右)所示的黑与白样本表示。

图4B是示例性块的轮廓分割的方框图,连续(左)和分散信号空域(中)以及对应的分割模式(右)。与楔形不同,用几何函数对块的轮廓分割的两个区域间的分离线无法简单进行描述。如图4B所示,两个区域中的P1和P2可能是任意形状的,甚至可能包括多个部分。除以上所述,轮廓分割与楔形分割的属性十分相似。针对在编码过程中使用轮廓块分割,为来自参考块的信号的每个块推导出分割模式(如图4B示例所示,右侧)。由于缺少区域分离线的功能性描述,不存在模式查找列表,因此不存在最优匹配分割以用于轮廓分割。

图5示出了示例性的视频解码器30执行的二元分割模式的推导算法。

在图5的示例中,视频解码器30可获得视频块(510)的参考样本数组。之后,视频解码器30可获得参考样本数组(520)之和。视频解码器30之后可通过对该和(530)进行算术右移计算阈值。算术右移的移位量可根据视频块的大小信息确定。视频解码器30则可通过比较该参考样本数组与该阈值(540)确定该二元分割模式。

在一个示例中,视频解码器30可具体由下式得到二元分割模式:

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(Block[xB+x][yB+y]>threshold),

wedgeletPattern[x][y]可以是二元分割模式,其定义了深度块分割。Block[xB+x][yB+y]可应用为纹理块或深度块。Block[xB+x][yB+y]可能是初始纹理块、初始深度块、重建的纹理块、重建的深度块、参考纹理块、参考深度块、共置的纹理块或共置的深度块。nT表示目标块的大小。阈值可如以下说明推导出:

变量sumBlockVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumBlockVals+=Block[xB+x][yB+y]

threshold=sumBlockVals/(numberofblockpixels)。

在其他示例中,视频解码器30可如以下说明推导出阈值:

threshold=sumBlockVals>>(6-ctDepth)*2。

变量ctDepth作为块大小的指标。“>>”表示算术右移运算。CU中,不同大小对应不同的编码树深度。表1示出了块大小与ctDepth的对应关系。

表1块大小与分割深度关系

在另一个示例中,轮廓分割是由分量间预测通过纹理参考块预测的。与楔形分割模式的分量间预测一样,关联视频帧的共置块的重建亮度信号会作为参考。与楔形分割相反,轮廓分割的预测可以是通过阈值法实现的。此处可将纹理参考块的平均值设置为阈值,且根据样本是高于还是低于该阈值,样本位置可以标记为产生的轮廓分割模式的区域P1或P2中的一部分。

变量textThresh代表阈值。recTextPic的分段可如以下说明推导出:

变量sumTextPicVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumTextPicVals+=recTextPic[xB+x][yB+y]。

变量wedgeletPattern[x][y](其中,x,y=0..nT-1,)指二元分割模式,可如以下说明推导出。

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(recTextPic[xB+x][yB+y]>textThresh),

其中,textThresh=sumTextPicVals>>(6-ctDepth)*2,ctDepth指当前块的编码树深度,textThresh指推导出深度分割模式的阈值。

在另一个示例中,深度分割模式可由深度参考块的平均值的估算获得。变量RefDepthThresh指阈值,因为深度参考块的分段可如以下说明推导出:

变量sumRefDepthVals设为0,

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

sumRefDepthVals+=RefDepth[xB+x][yB+y]。

变量RefDepthThresh设为sumRefDepthVals>>(6-ctDepth)*2。

变量wedgeletPattern[x][y](其中,x,y=0..nT-1,)指二元分割模式,可如以下说明推导出:

在下述公式中,x=0..nT-1,

在下述公式中,y=0..nT-1,

wedgeletPattern[x][y]=(RefDepth[xB+x][yB+y]>RefDepthThresh),

其中,ctDepth指当前块的编码树深度,RefDepthThresh指推导出深度分割模式的阈值。

在另一个示例中,阈值可设为

sumVals>>((6-ctDepth)<<alpha+delta),变量alpha和delta可离线预定义。

在另一个示例中,由于块大小与编码树深度之间的对应关系,当前块大小信息可用于确定深度分割模式。

在另一个示例中,阈值可设为sumVals>>BlockSizeInBit*2。变量BlockSizeInBit为块大小二元信息,也可是分别对应块8x8、块16x16、块32x32和块64x64的3、4、5、6。

在另一个示例中,阈值可表达为:

threshold=sumBlockVals>>(MaxBlockSizeInBit-ctDepth)*2,或

threshold=sumBlockVals>>(MaxCUSizeInBit-ctDepth)*2

其中,变量MaxBlockSizeInBit定义的最大块大小的二元信息,是分别对应块8x8、块16x16、块32x32和块64x64的3、4、5、6;MaxCUSizeInBit指现有编码装置的最大CU大小。块可指编码单元或编码块。

在另一个示例中,阈值可表达为:

threshold=sumBlockVals>>(MaxBlockPartitionDepth–ctDepth+offset)*2,

其中,变量MaxBlockPartitionDepth指编码树块中的最深编码深度,其值为1、2、3、4,对应的最大大小分别为8x8、16x16、32x32和64x64。“补偿”是补偿给BlockPartitionDepth的值。例如,若MaxBlockPartitionDepth的值为4,当最大CU块大小等于64x64时,补偿为2时,阈值可以推导出为:

threshold=sumBlockVals>>(MaxBlockPartitionDepth–ctDepth+2)*2。

在另一个示例中,根据以下表达式确定移位量:

threshold=sumBlockVals>>(BlockSizeInBit*ratio),

其中,BlockSizeInBit为块大小的比特表征,ratio为整数。

在上述示例中,深度建模模式(DMM)和区域边界链模式可以是示例,其表示HEVC中正式编码模式以外的深度编码模式。现有简化可进一步地应用于其他深度编码模式,以对视频块进行平均运算。

在一个或多个示例中,上述函数可在硬件、软件、固件或它们的组合中来实现。若在软件中实施,函数可以以一个或多个指令或计算机可读介质中的代码的形式存储或传输,其中指令与编码由基于硬件的处理单元执行。计算机可读介质可包括与有形介质相对应的计算机可读取储存介质(如数据存储介质),或通讯介质,其包括根据通讯协议方便计算机程序从一个地方传递到另一个地方的任一介质。在这个方式中,计算机可读介质总体上可对应(1)非瞬时性的有形计算机可读存储介质或(2)通讯介质,如信号或载波。数据存储介质可以是任一可用的介质,其能通过一个或多个计算机或一个或多个处理器获得,以撤回用于本发明描述的技术的实施的指令、代码和/或数据结构。计算机程序产品可包括计算机可读介质。

作为一个非限制性示例,该计算机可读存储介质可能包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器、或其他磁性存储设备、闪存、或其他用于以指令或数据结构形式存储需要的且能由计算机获得的程序编码的介质。以及,任一可以称作计算机可读介质的连接。例如,若通过同轴电缆、光线电缆、双绞线、数字用户线路(DSL)或如红外、无线电和微波等的无线技术传输网络、服务器、或其他远程设备的指令,则同轴电缆、光线电缆、双绞线、DSL或如红外、无线电和微波等的无线技术包含在介质的定义范围内。然而,应该理解的是:计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时性介质,而是指非瞬时性有形存储介质。此处所用磁盘和光盘,包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常通过磁性复制数据,而光盘则是用激光复制数据。上述光盘与磁盘的组合也应该包括在计算机可读介质的范围内。

指令的执行者可以是一个或多个处理器,如一个或多个数字信号处理器(DSP)、通用型微处理器、专用集成电路(ASIC)、现场可编程逻辑数组(FPGA)或其他等效的集成或离散逻辑电路。相应地,此处所用“处理器”可指以上结构或其他适用于此处描述的技术的实施的结构中的任一个。除此之外,在一些方面,此处描述的功能可由用于编码和解码的专用硬件和/或软件模块提供,或并入组合的编解码器中。同时,这些技术可以在一个或多个电路或逻辑单元中完全实现。

本发明的技术可以在多种设备或装置中实现,包括无线耳机、集成电路(IC)或一组IC(例如,芯片组)。本发明所描述的各种组件、模块、或单元强调了用于执行所述技术的设备的功能,但不局限于由不同硬件单元实现。如上所述,确切的说,可在编解码硬件单元中组合各种单元,或可由一系列交互操作硬件单元(包括如上所述的一个或多个处理器,以及合适的软件和/或固件)提供各种单元。

图6A示出了示例性的二元分割模式的推导的实验结果。图6A所示的实验结果表明了3D-HEVC随机存取(CTC)配置下的编码性能。

图6B示出了另一个示例性的二元分割模式的推导的实验结果。图6B所示的实验结果表明了所有内配置下的编码性能。

应注意的是,本发明提供的深度帧内编码模式的简化方法不影响编码效率。除此之外,由于在确定指定楔形分割模式的阈值时,可能不需要DC值或像素值的平均值,因此之后可去除需要获得DC值或像素值的平均值的除法运算。该简化能减少硬件实现的复杂性。

以下提供了一些示例。

第一示例提供了一种用于编码视频数据的二元分割模式的推导方法。该方法包括:

获得视频块的参考样本数组;

获得参考样本数组之和;

通过对该和进行算术右移计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;

通过比较该参考样本数组与该阈值确定该二元分割模式。

第二示例提供了解码视频数据的设备。该设备包括视频解码器,用于:获得视频块的参考样本数组,获得该参考样本数组之和;通过对该和进行算术右移计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式。

第三示例提供了解码视频数据的设备。该设备包括:获得视频块的参考样本数组的方法;获得该参考样本数组之和的方法;通过对该和进行算术右移计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定的方法;通过比较该参考样本数组与该阈值确定该二元分割模式的方法。

第四示例提供了计算机可读存储介质,其存储了指令,当执行时,指令使处理器:获得视频块的参考样本数组,获得该参考样本数组之和;通过对该和进行算术右移计算阈值,其中,所述算术右移的移位量根据所述视频块的大小信息确定;通过比较该参考样本数组与该阈值确定该二元分割模式。

在第一到第四个示例的一些实施例中,视频块为以下任一块:该视频数据的纹理分量块,以及该视频数据的深度分量块。

在第一到第四个示例的一些实施例中,该视频块的大小信息由以下任一项表示:块大小,表示该块大小的比特表征,该块大小的对数表征,该块大小对应的该视频块的编码树深度值。

在第一到第四个示例的一些实施例中,二元分割模式是用于深度编码的轮廓分割模式。

在第一到第四个示例的一些实施例中,二元分割模式是用于深度编码的楔形分割模式。

在第一到第四个示例的一些实施例中,二元分割模式是用于深度编码分量间预测中的深度编码的轮廓分割模式。

在第一到第四个示例的一些实施例中,参考样本数组涉及该视频块的变换块。

在第一到第四个示例的一些实施例中,视频块为以下任一大小的视频块:4x4像素块,8x8像素块,16x16像素块,32x32像素块,以及64x64像素块。

在第一到第四个示例的一些实施例中,比数应用于基值以确定所述移位量。在第一到第四个示例的一些实施例中,该比数是2。在第一到第四个示例的一些实施例中,基值使用该视频块的大小信息。

在第一到第四个示例的一些实施例中,通过将该视频块的大小信息的表征视为输入参数来确定该移位量。

在第一到第四个示例的一些实施例中,将使用所述视频块的大小信息的函数的因子视为输入参数来确定所述移位量。

在第一到第四个示例的一些实施例中,根据以下表达式确定该移位量:

Shiftvalue=(MaxBlockSizeInBit-ctDepth)*ratio,

其中,MaxBlockSizeInBit为最大块大小的比特表征,ctDepth是该视频块的编码树深度,ctDepth对应该视频块的块大小,ratio为整数。

在第一到第四个示例的一些实施例中,该参考样本数组为平方数组,根据以下表达式确定该阈值:

threshold=sumBlockVals>>(6-ctDepth)*2,

其中,sumBlockVals是该参考样本数组之和,>>表示算术右移运算,ctDepth是该视频块的编码树深度,ctDepth对应该视频块的块大小。

在第一到第四个示例的一些实施例中,根据以下表达式确定该移位量:

shiftvalue=BlockSizeInBit*ratio,

其中,BlockSizeInBit为块大小的比特表征,ratio为整数。

上述实施例中描述的至少一部分特征、方法或编解码器,如方法可在任一通用型电子设备上实现,如具有处理自身必要工作负荷所需的足够的处理能力、存储器资源及网络吞吐能力的计算机系统或组件电子装置。电子设备,例如,可以是无线通讯系统的移动终端或用户设备。然而,要理解的是,本发明的实施例可在任一电子设备或装置中实现,该设备或装置可能需要编码与解码,或编码或解码视频图像。

图7示出了示例性的通用型电子设备700,该通用型电子设备700适用于实现此处所述组件的一个或多个实施例。该通用型电子设备700包括处理器702(可被称作中央处理器或CPU),可与包括辅助存储器704、只读存储器(ROM)706、随机存取存储器(RAM)708、输入/输出(I/O)设备710和可选的网络连通设备712的存储设备进行通信。该处理器702可用作一个或多个CPU芯片、核芯(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP),和/或可用作一个或多个ASIC的一部分。该处理器702可用于实现前述的模式选择实施例中的任一实施例。处理器702可通过硬件或硬件和软件的组合来实现。

辅助存储器704通常包括一个或多个磁盘驱动器或磁带机,用于数据的非易失性存储,并且在RAM708不能容纳所有工作数据时用作溢出数据的存储设备。当选择执行载入RAM708的程序时,该辅助存储器704可用于储存这些程序。所述ROM706可用于储存指令,或在程序执行期间读取的可能的数据。ROM706为一种非易失性存储设备,与拥有更大存储能力的辅助存储器704相比,其通常具有较小的存储能力。RAM708用于储存易失性数据或可能储存指令。访问ROM706和RAM708通常要比访问辅助存储器704的速度更快。

所述网络连通设备712可用作电子设备700的输出和/或输入设备。所述网络连通设备712的表现形式有调制解调器、调制解调器库、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网(WLAN)卡、无线收发卡例如码分多址接入(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX)和/或其他空中界面协议无线收发器卡,以及其他知名网络设备。这些网络连通设备712使得所述处理器702可与互联网和/或一个或多个内联网和/或一个或多个用户端设备进行通信。I/O设备710可包括视频监视器、液晶显示屏(LCD)、触摸屏显示器或用于显示视频的其他类型视频显示器,和/或包括用于采集视频的视频录音设备。I/O设备710也可以包括一个或多个键盘、鼠标、轨迹球或其他知名的输入设备。

应了解,通过编程和/或加载可执行指令至所述电子设备700,所述处理器702、所述ROM706和所述RAM708中至少有一个会发生变化,可将所述计算机系统700在某种程度上转变为一种具有本发明所公开的具有创新功能的特定机器或装置,例如HEVC编解码器。对于电气工程和软件工程技术至关重要的是,能够按照公认的设计规则将功能转换为硬件实现方式,所述功能可通过将可执行软件加载到计算机来实现。在软件还是硬件中实现某一概念通常取决于对于待生产单元设计稳定性和数量的考虑,而并非考虑任何涉及从软件领域到硬件领域的转换问题。通常,经常变化的设计可以优先在软件中实现,因为重编硬件实施方式要比重编软件实施方式更加昂贵。通常,稳定性好且大批量生产的设计可以优先在硬件中实现,例如,在ASIC中,由于大批量生产的运行使得硬件实施比软件实施更廉价。通常,一项设计可以以软件的形式进行开发和测试,之后根据公认的设计规则转变为专用集成电路中等效的硬件实施方式,在专用集成电路中用硬件来控制所述软件的指令。按照相同的方式,由新型ASIC控制的机器即为一种特定机器或装置,同样地,已被编程和/或加载可执行指令的计算机可被视为一种特定的机器或装置。

本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,只要公开具有下限Rl和上限Ru的数字范围,则明确公开了此范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=Rl+k*(Ru–Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%……50%、51%、52%……95%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字R定义的任何数字范围也是明确公开的。除非另有说明,否则术语“约”是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其他细节。

虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其他项也可以采用电方式、机械方式或其他方式通过某一接口、设备或中间部件间接地耦合或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号