CN106688238A - 改进后的深度图帧内编码的参考像素点选择和滤波 - Google Patents

改进后的深度图帧内编码的参考像素点选择和滤波 Download PDF

Info

Publication number
CN106688238A
CN106688238A CN201480057368.XA CN201480057368A CN106688238A CN 106688238 A CN106688238 A CN 106688238A CN 201480057368 A CN201480057368 A CN 201480057368A CN 106688238 A CN106688238 A CN 106688238A
Authority
CN
China
Prior art keywords
sample
subregion
current block
block
ntbs
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
Application number
CN201480057368.XA
Other languages
English (en)
Other versions
CN106688238B (zh
Inventor
顾舟叶
郑建铧
林楠
张臣雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority claimed from PCT/US2014/060873 external-priority patent/WO2015057947A1/en
Publication of CN106688238A publication Critical patent/CN106688238A/zh
Application granted granted Critical
Publication of CN106688238B publication Critical patent/CN106688238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频编解码器,用于接收当前块和多个相邻像素点,其中所述当前块包括第一分区和第二分区,从所述多个相邻像素点中选择至少一个参考像素点,并且基于所述参考像素点对位于第二分区的多个像素点进行预测。

Description

改进后的深度图帧内编码的参考像素点选择和滤波
相关申请案交叉申请
本申请要求于2013年10月17日提交的作者为Zhouye Gu等人、发明名称为“深度图帧内编码模式的简化DC预测器”的第61/892,342号美国临时专利申请以及于2014年1月2日提交的作者为Zhouye Gu等人、发明名称为“深度图帧内编码的相邻参考像素点选择”的第61/923,124号美国临时专利申请的在先申请的优先权,所述两个申请的全部内容通过引用结合在本申请中。
关于由联邦政府赞助研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
数字视频功能能够应用于许多设备中,如数字电视、数字直播***、无线广播***、个人数字助理(简称PDA)、笔记本电脑或台式计算机、数码相机、数码录音设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝式或卫星无线电话以及视频会议设备等。数字视频设备实现各种视频压缩技术从而更有效地传输和接收数字视频信息。部分视频压缩技术在一些标准中有所描述,包括活动图像专家组(简称MPEG)-2、MPEG-4、国际电联(简称ITU)电信标准化部门(简称ITU-T)H.263、ITU-T H.264/MPEG-4、Part 10、高级视频编码(简称AVC)以及这些标准的扩展,所有这些以引用的方式并入本文中。新的视频标准也在继续出现和演变。例如,高性能视频编码(简称HEVC)标准,有时也称为H.265,目前正由MPEG和ITU-T联合成立的视频编码联合协作组(简称JCT-VC)开发。
发明内容
在一实施例中,本发明包括一种视频编解码器,用于接收当前块和多个相邻像素点,其中所述当前块包括第一分区和第二分区,从所述多个相邻像素点中选择一个或多个参考像素点,并且基于所述参考像素点对位于所述第二分区的多个像素点进行预测。
在另一实施例中,本发明包括一种用于视频编码的装置,包括处理器,用于:接收包含第一分区和第二分区的当前块,其中所述第一分区至少包括所述当前块的右上、左上和左下角的样本;从所述当前块的右上相邻块和所述当前块的左下相邻块中选择一个参考样本;通过从所述右上相邻块和所述左下相邻块中选择的所述参考样本对第二分区的样本进行预测。
在又一个实施例中,本发明包括一种3维HEVC(简称3D-HEVC)的帧内预测方法,所述方法包括:接收相对于当前块的多个相邻样本,其中所述相邻样本包括位于左下相邻块的右下角的第一样本和位于右上相邻块的右下角的第二样本;接收指示将所述当前块分割为分区0和分区1的分割模式,其中所述分区0包括所述当前块的右上、左上和左下角的样本中至少一个;选择所述第一样本和所述第二样本中的一个作为分区1帧内预测的参考样本。
以下结合附图和权利要求对以上以及其他特征做更清晰明了的详细描述。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1为说明了HEVC软件模型(简称HM)允许的35种帧内预测模式的帧内预测方案的示意图;
图2A至2C为楔形分割方案的实施例的示意图;
图3A至3C为轮廓分割方案的实施例的示意图;
图4A为将一个块分割为两个区域P1和P2的示意图;
图4B是为图4A生成的三种常数分割值(CPV)的示意图;
图5A和5B分别为一种较佳的楔形分区和轮廓分区的示意图;
图6A至6D分别为称作情形1至4的4种不同的分割模式的示意图;
图7A为一种深度图帧内预测方案的实施例的示意图;
图7B至7C为进一步阐述图7A中方案背后的原理的参考样本选择方案的示意图;
图8A和8B为参考样本选择方案的附加实施例的示意图;
图9A和9B示出了通过参考样本选择和滤波技术获得的仿真结果;
图10为一种视频编码器的实施例的示意图;
图11为一种视频解码器的实施例的示意图;
图12为一种帧内预测方法的实施例的流程图;
图13为一种通用计算机***的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的***和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
视频压缩技术进行空域预测和/或时序预测,以减少或去除视频序列固有的冗余。对于基于块的视频编码,一个视频帧或条带被划分或分割为多个块,称作宏块或者编码单元(简称CU)。除了CU可能没有大小区分之外,HEVC标准的CU和H.264标准的宏块用途相似。帧内编码帧或条带(又称为帧内帧(I))的CU可以通过使用相对于位于同一帧或条带的相邻CU的空域预测进行编码。帧间编码帧或条带(又称为预测帧(P)或者双边预测帧(B))的CU可以使用相对于位于同一帧或条带的相邻CU的空域预测,或者使用相对于其它参考帧的时序预测。
此处公开了参考样本选择和滤波技术,用以提高对深度图帧进行压缩或编码时的帧内预测质量。在3D-HEVC中,当前正在编码的块(即,当前块)可以按照特定的帧内预测模式分割为两个区域或分区。在此处公开的实施例中,基于所述两个区域的分割方式选择一个或多个参考样本进行帧内预测。例如,如果第一分区占据了当前块的右上、左上和左下角样本(这种模式有时称作情形1),则第二分区预测的参考样本要么是位于左下相邻块中的右下角的第一样本,要么就是位于右上相邻块中的右下角的第二样本。进一步地,计算并比较相邻样本之间的绝对差值,以最终确定使用哪个参考样本作为第二分区的平均值(有时称作直流(DC)值)。在本发明公开的其它实施例中,在帧内预测之前可以对多个参考样本进行滤波,而是否对参考样本进行滤波取决于多种因素,如帧内预测模式、当前块大小和信令标志。
从更宽泛的范围来说,本发明研究了委员会草案(简称CD)之后对HEVC存在质疑的问题。这些问题包括深度建模模式(简称DMM)、深度查找表(简称DLT)、预测模式选择、视图合成优化和/或HEVC扩展。本发明还研究了通过研究编码增益和计算复杂度之间的平衡来提升编码技术的方法。所公开的帧内预测实施例已经经过测量Bjontegaard增量比率(Bjontegaard Delta(简称BD)-rate)的性能的测试。仿真结果表明所公开的DC预测技术在3D-HEVC随机访问(在公共测试条件(简称CTC)下)以及全I帧配置下可以提升编码效率。
一个图片或视频帧可以包含大量的样本或像素点(例如,一个1920×1080的帧有2,073,600个像素点)。因此,对每个像素点独立进行编码和解码(以下简称编码)非常麻烦且效率低下。为了提高编码效率,将一个视频帧分解成矩形块,用作进行编码、预测、变换和量化等处理的基本单元。例如,通常N×N的块包含N2个像素点,其中,N为大于1的整数且通常为4的倍数。与之前编码标准中使用的宏块相比,HEVC中已经引入了新的块的概念。例如,编码单元(简称CU)是指将视频帧再分割为具有相同或可变大小的矩形块。根据帧间或帧内预测模式,CU包括一个或多个预测单元(简称PU),每个预测单元作为预测的基本单元。例如,一个64×64的CU可以对称地分成4个32×32的PU以进行帧内预测。又例如,一个64×64的CU可以非对称地分割成一个16×64的PU和一个48×64的PU以进行帧间预测。类似地,一个PU可以包括一个或者多个变换单元(简称TU),每个变换单元作为变换和/或量化的基本单元。例如,一个32×32的PU可以对称地分成4个16×16的TU。一个PU的多个TU可以共用一个预测模式,但可以分别进行变换。这里,根据上下文,术语“块”通常可以是任何宏块、CU、PU或者TU。
块通过帧间预测编码方法或帧内预测编码方法进行编码。在帧内预测中,如果与当前块处于同一帧的相邻块已经编码,可以使用该相邻块对当前块(例如,当前正在编码的PU)进行预测。通常,一个帧的块按照从左向右、从上向下或者按照Z字型扫描顺序进行编码。因此,所述当前的块可以通过一个或多个参考样本进行预测,这些参考样本可以位于当前块上方或左侧的任何相邻的块。帧内预测编码中的块大小变化范围较大,例如,在一个较小的大小(如,4×4)和一个较大的大小(如,128×128)之间。帧内预测的方向(即,从已经编码的块到当前块的方向)决定帧内预测的模式。
图1示出了一种帧内预测方案100,说明了HEVC软件模型(简称HM)允许的35种帧内预测模式。所述35种模式包括33种不同的帧内预测的方向模式、一种平面模式(planarmode)和一种DC模式。如图1所示,所述33种帧内预测定向模式中的每一种对应一个外推方向,该外推方向按照顺时针方向与水平面呈45度到-135度角。所述33种定向模式以大约180度角向外延伸,其角分辨率约为5.625度。所述角度指从参考像素点到当前块的像素点的外推方向。在包含平面模式(表示为模式0)和DC模式(表示为模式1)的非方向模式中,特定的相邻像素点采样可用于预测所述当前块的像素点。3D-HEVC分别运用传统的HEVC帧内预测模式和新型的DMM模式来对深度图进行帧内编码。具体来说,3D-HEVC采用各种基于分区的深度图编码方法,包括:深度建模模式(简称DMM)、分段DC编码(简称SDC)(之前称作简化深度编码,也称为SDC_DMM1)、区域边界链(简称RBC)模式以及链式编码(Chain Coding)。相邻的参考像素点可以分别用于传统帧内预测模式和新型的帧内预测模式。
在HEVC帧内预测编码过程中,各种因素可能会影响和降低预测准确性。例如,随着PU大小的增加,离预测像素点较远的像素点的预测准确性可能会下降。预测准确性下降会导致出现更多的残差数据,这些残差数据反过来会产生更多需要编码、传输和/或存储的数据。为了提高预测准确性,可以在用于块预测的参考像素点(预测者像素点)上使用平滑滤波器。然而,在某些情况下,不需要对参考像素点使用任何平滑滤波器也能达到更好的结果。当前的标准使用自适应帧内平滑技术来进行纹理帧编码。
在3D-HEVC中,相同的自适应帧内平滑技术可用于对深度图进行帧内编码。深度图的特征可以是锐利的边缘(表示物体的边界)以及其中的样本值几乎不变或缓慢变化的的大区域(表示物体的区域)。虽然HEVC帧内预测和变换编码技术适用于几乎不变的区域,但是它会造成锐边上的严重的编码失真。这些失真在合成后的中间视点就会可见,从而降低视频质量。为了更好地显示深度图的边缘,具体设计了4种新型的帧内预测模式用于深度图帧内编码。这4种新的模式被称为深度建模模式(简称DMM),或者简称为DMM1-DMM4。可以对DMM进行整合,以将其作为HEVC中的传统帧内预测模式的替换模式。有了DMM,用于纹理帧编码的参考样本选择方案可能总是无法适合深度帧编码。有必要为深度图帧内预测开发新的参考像素点选择算法。在新的深度帧内预测模式(如,DMM1-4)中,被滤波或没有被滤波相邻参考像素点能够被用于帧内预测。与帧内预测模式相似,表示近似与原始深度信号之差的残差可以通过变换编码进行编码并传输。
在所有四种DMM模式中,深度块被将块所在的区域分割成两个部分、分区或区域的模型近似,其中,每个矩形或非矩形区域由一个常量值表示。这种模型需要的信息包括:分割信息,用于规定每个样本所属的区域;以及区域值信息,用于规定对应区域的样本的常量值。所述区域值信息有时称为常数分割值(简称CPV)。楔形分割和轮廓分割是将当前块分割成两个区域的两种不同的方法。
图2A至2C示出了一种楔形分割方案的实施例,在该方案中两个区域由一条直线隔开。所述两个区域标记为P1和P2。分隔线由起点S与终点E确定,两者皆位于当前块的不同边界上。对于图2A所示的连续的信号区域200,分隔线可由直线方程表述。图2B示出了分散样本区域230的分割。此处,该块包括大小为uB×vB的样本的数组,其中,uB表示块宽度,vB表示块高度。标记为S的起始样本、标记为E的结束样本以及中间的粗直线对应于边界样本。虽然分隔线也可由线性方程表述,但在分散样本区域230中区域P1与P2的定义是不同的,只有完整的样本才能够作为两个区域中任一区域的一部分。为了在编码过程中使用楔形块分割,分割信息以分割模式的形式储存。这种模式包括大小为uB×vB的数组,每个元素包含了对应的样本是否属于区域P1或P2的二进制信息。区域P1和P2可分别由图2C所示的块250中的黑色和白色样本表示。在一实施例中,可为区域P1中的白色样本分配一个分割值1,为区域P2中的黑色样本分配一个分割值0;反之亦然。
图3A至3C示出了轮廓分割方案的实施例。将两个区域分隔的不规则线条无法简单地用几何函数来描述。具体地,图3A示出了一种连续的信号区域310,其中,P1和P2两个区域可以为任何形状。图3B示出了从连续的信号区域310到离散的信号区域330的变换。图3C示出了块350的分割模式,其中,二进制信息表示为白色和黑色样本。一个区,比如P2,可以包括多个不连续的部分。除了所述分割模式以外,轮廓分割与楔形分割的属性十分相似。为了在编码过程中使用轮廓块分割,为来自参考块的信号的每个块推导出分割模式(例如,如图3C所示)。在轮廓分割中,由于缺少区域分隔线的功能描述,没有模板查找表,因此不存在最优匹配分区的搜索。
图4A说明了由一个方框400分割为两个区域P1和P2。图4B示出了沿着虚线A-A的3种CPV类型,包括原始的、预测的和增量CPV。无论是以楔形分割还是轮廓分割,深度块的信号的建模需要的第二信息为两个区域中的每个区域的CPV。CPV编码方法对上述介绍的所有4种模式来说是一样的,因为它并不区分分区类型,而是假定为当前的深度块给定一个分割模式。图4B示意性地说明了计算原始CPV作为对应区域所覆盖的样本的平均值。尽管对于给定的分区,所述原始CPV可以带来最优的相近,但是由于原始样本没有传输给解码器,所以无法从解码器上获得所述原始CPV。另一方面,预测的CPV不需要所述解码器上的原始样本。相反,所述预测的CPV可以从所述解码器上的可用信息中推导出来。这种信息包括位于左边相邻块和/或顶部相邻块的相邻样本。例如,图4A说明了顶部参考样本行或左边参考样本列包括第一个样本、最后一个样本和中间的样本。在预测DC分割值时,可以根据不同的情况选择所述三个样本(从顶部一行或左侧一列)中的两个来生成一个DC预测(将所述参考样本用作分区的平均值)。要注意的是,每次需要两个以上的样本来对DC预测进行计算。
图5A示出了一种较佳的楔形分区500,其中,该分区的两个部分由一条粗直线分隔,分别表示为P0和P1。图5B示出了另一种较佳的轮廓分区530,其中P0和P1两个部分由非直线分隔。在3D-HEVC中,基于分区的方法包括DMM、SDC_DMM1和链式编码,被应用于深度图帧内编码。根据基于分区的深度图帧内编码方法,一个深度块可以分成两个部分或区域。图5A和5B中的每个部分、分区或区域表示为单个DC值(可表示为DC0或者DC1)。每个分区的DC值通过一个或两个重建的相邻参考样本来预测。进一步地,每个分区(P0和P1)的DC值能够进一步通过增量DC/残差值来补偿。所述残差值在比特流中显式发送。
选择使用哪个参考样本进行帧内预测可以取决于分割模式(例如,边界线的位置)。图6A至6D分别示出了4种不同的分割模式600、630、650和670。所述分割模式600、630、650和670有时也分别称作情形1-4。这4种模式或情况的主要区别在于当前块的3个角落样本的分割值,包括左上角落样本、右上角样本和左下角样本。具体来说,图6A中,所有的角落样本602、604和606都位于同一个分区P0。图6B中,角落样本632位于分区P0,而角落样本634和636位于分区P1。图6C中,角落样本652和654位于分区P0,而角落样本656位于分区P1。图6D中,角落样本672和676位于分区P0,而角落样本674位于分区P1。所述当前块可以是任何合适的大小,例如,图6A-6D中使用的当前块的大小为8×8,样本值表示为Cx,y,其中,x=0..7,y=0..7。
在图6A-6D中,可以使用两个以上的重建相邻参考样本来预测分区P0和P1。通常,为了优化深度图帧内预测的准确性,选择一个参考样本或多个样本尽量与与尽可能多的分区样本保持接近。假设所述重建的相邻参考样本表示为pi,j,其中,i=-1,j=-1..7以及i=0..7,j=-1。再假设左上角样本(c0,0)的分割值为X,其中,X=0或1;并且假设分割模式bPatternx,y,其中x=0..N-1,y=0..N-1,且N表示当前块的大小。基于上述假设,预测的DC值(如,DC0和DC1)可以通过以下运算得出:
设置bT=(bPattern0,0!=bPatternN-1,0)?1:0;设置bL=(bPattern0,0!=bPattern0,N-1)?1:0
若bT等于bL
DCX=(p-1,0+p0,-1)>>1 (1)
DC1-X=bL?(p-1,N-1+pN-1,-1)>>1:2B-1 (2)
否则
DCX=bL?p(N-1)>>1,-1:p-1,(N-1)>>1 (3)
DC1-X=bL?p-1,N-1:pN-1,-1 (4)
基于上述所列的步骤,本领域技术人员应该理解图6A使用参考样本p-1,0和p0,-1来预测分区P0(注意分区P1缺少参考样本)。图6B使用参考样本p-1,0和p0,-1来预测分区P0,使用参考样本p-1,7和p7,-1来预测分区P1。图6C使用参考样本p3,-1来预测分区P0,使用参考样本p-1,7来预测分区P1。图6D使用参考样本p-1,3来预测分区P0,使用参考样本p7,-1来预测分区P1。参考图6A,由于分区P1没有直接相邻样本,传统方法采用预设DC值来预测分区P-1。结果,图6A中的分区P1的帧内预测不采用相邻参考样本。此处公开的实施例通过将参考样本的选择扩展至位于延伸的相邻块(如,编码单元)的参考像素点来解决这一问题。简单地说,在进行DMM分区或区域边界链(REC)分区的DC预测时,可以从左边参考块的延伸像素点或从顶部参考块的延伸像素点中选择用于预测每个分区部分的DC值的参考像素点。
图7A示出了深度图帧内预测方案700的实施例,该方案用于选择参考样本来预测图6A中的分区P1。如上所述,为了预测当前块710的左上部分(例如,白色样本所示的分区P0),所述方案700使用分别位于上方相邻块720和左侧相邻块730中的参考像素点722(如,p-1,0)和参考像素点732(如,p0,-1)。进一步地,基于相邻参考像素点的可用性,所述方案700使用延伸的相邻块预测所述右下方区域(如,黑色样本所示的分区P1)。在一实施例中,如果当前块的大小为N×N,所述方案700首先检查像素点742(如,p-1,2*N-1)和像素点752(如,p2*N-1,-1)是否可用。像素点742位于左下相邻块740的右下角,像素点752位于右上相邻块750的右下角。如图7A所示,块740和750都与当前块710成对角线相邻。
如果像素点742和752都可用,那么所述方案700计算像素点742和722之间的差值的绝对值,其中,所述绝对差值表示为abs(p-1,2*N-1-p-1,0)。类似地,所述方案700计算像素点752和732之间的差值的绝对值,其中,所述绝对差值表示为abs(p2*N-1,-1-p0,-1)。然后,所述方案700比较这两个绝对值。如果abs(p-1,2*N-1-p-1,0)大于abs(p2*N-1,-1-p0,-1),则将所述像素点742(即,p-1,2*N-1)的值用作分区P1的DC预测值。相反,如果abs(p-1,2*N-1-p-1,0)小于等于abs(p2*N-1,-1-p0,-1),则将所述像素点752(即,p2*N-1,-1)的值用作分区P1的DC预测值。进一步地,如果所述像素点742和752中的一个不可用,则将另一个用作所述参考像素点。如果所述像素点742和752都不可用,则使用最接近的可用的相邻像素点来填补像素点742和752。
在一实施例中,方案700所述的DC估计算法表示为以下运算:
若p-1,2*N-1和p2*N-1,-1都可用,
DC1-X=abs(p-1,2*N-1-p-1,0)>abs(p2*N-1,-1-p0,-1)?p-1,2*N-1:p2*N-1,-1
(5)
图7B和7C分别示出了参考样本选择方案770和790来进一步说明运算(5)背后的原理。图7B和7C类似于图7A,都属于情形1,其中,当前块中的4个角落像素点中的3个属于同一个分区P0。图7B示出了分区P0和P1之间几乎水平的边界的极端情况。在图7B中,样本772(p0,-1)与左上分区P0相邻,样本774(p15,1)与分区P0相近但距离右下方的分区P1较远。样本778与分区P1相对较近。由于分区边界通常用于反映锐利边缘,位于边界线771同一侧的样本可能具有相似的亮度/色度值,而位于所述边界线771相对一侧的样本可能具有完全不同的亮度/色度值。因此,根据所述边界线771的方向来判断,p15,-1的亮度/色度值可能和p0,-1相似,p0,-1的亮度/色度值可能和p-1,0不一样。由于参考样本778(即,与图7A中的像素点或样本742位于同一位置的p-1,15)和所述分区P1位于所述边界线771的同一侧,所以应该选择p-1,15来预测分区P1的DC值。等式(5)通过计算绝对差值abs(p-1,15-p-1,0)和abs(p15,-1-p0,-1)来确认该原理,因为图7B中abs(p-1,15-p-1,0)很可能大于abs(p15,-1-p0,-1)。
类似地,图7C示出了分区P0和P1之间几乎垂直的边界的另一种极端情况。由于分区边界通常用于反映锐利边缘,位于边界线791同一侧的样本可能具有相似的亮度/色度值,而位于所述边界线791相对一侧的样本可能具有完全不同的亮度/色度值。因此,p15,-1的亮度/色度值可能和p0,-1不同,p-1,15的亮度/色度值可能和p-1,0相似。由于与图7A中的样本752位于同一位置的参考样本p-1,15和所述分区P1位于所述边界线791的同一侧,所以应该选择p15,-1来预测分区P1的DC值。等式(5)通过计算绝对差值abs(p-1,15-p-1,0)和abs(p15,-1-p0,-1)来确定该原理,因为图7C中的abs(p15,-1-p0,-1)很可能大于abs(p-1,15-p-1,0)。
如相对于图6A的以上描述,当所述3个角落样本602、604和606都属于同一个分区P0时,方案700、770和790用于情形1。在这种情况下,等式(5)可以等同地变换成3个单独的运算:
vertAbsDiff=Abs(p[-1][0]-p[-1][nTbS*2-1]) (6)
horAbsDiff=Abs(p[0][-1]-p[nTbS*2-1][-1]) (7)
dcValBR=(horAbsDiff>vertAbsDiff)?p[nTbS*2-1][-1]:p[-1][nTbS*2-1])(8)
本领域技术人员应理解,运算(6-8)中使用的变量由HEVC标准规定,并以引用的方式并入本文。根据HEVC标准中“深度分割值的推导和分配过程”这一节,可以使用以下运算和流程来对当前块进行编码。要注意的是,编码过程中的输入有:(1)x=-1,y=-1..nTbS*2-1以及x=0..nTbS*2–1,y=-1的相邻样本p[x][y];(2)x,y=0..nTbS–1的二进制数组分割模式[x][y],说明分区0和分区1上的预测块的分割;(3)样本位置(xTb,yTb),说明当前图片的左上样本相对的当前块的左上样本;(4)变量nTbS,说明变换块的大小。上述编码过程的输出为x,y=0..nTbS–1的预测样本predSamples[x][y]。
在一实施例中,变量vertEdgeFlag和horEdgeFlag可如以下说明推导出:
vertEdgeFlag=(partitionPattern[0][0]!=partitionPattern[nTbS-1][0])(I-61)
horEdgeFlag=(partitionPattern[0][0]!=partitionPattern[0][nTbS-1])(I-62)
变量dcValBR和dcValLT可如以下说明推导出:
若vertEdgeFlag等于horEdgeFlag,适用以下:
变量dcValBR可如以下说明推导出:
若horEdgeFlag等于1,适用以下:
dcValBR=((p[-1][nTbS-1]+p[nTbS-1][-1])>>1)(I-63)
否则,(horEdgeFlag等于0),适用以下:
vertAbsDiff=Abs(p[-1][0]-p[-1][nTbS*2-1]) (I-64)
horAbsDiff=Abs(p[0][-1]-p[nTbS*2-1][-1]) (I-65)
dcValBR=(horAbsDiff>vertAbsDiff)?p[nTbS*2-1][-1]:p[-1][nTbS*2-1])(I-66)
变量dcValLT可如以下说明推导出:
dcValLT=(p[-1][0]+p[0][-1])>>1 (I-67)
否则,(horEdgeFlag不等于vertEdgeFlag),适用以下:
dcValBR=horEdgeFlag?p[-1][nTbS-1]:p[nTbS-1][-1]
(I-68)
dcValLT=horEdgeFlag?p[(nTbS-1)>>1][-1]:p[-1][(nTbS-1)>>1] (I-69)
预测样本值predSamples[x][y]可如以下说明推导出:
针对0到(nTbS-1)这个范围内的x,适用以下:
针对0到(nTbS-1)这个范围内的y,适用以下:
变量predDcVal和dcOffset可如以下说明推导出:
predDcVal=(partitionPattern[x][y]==partitionPattern[0][0])?dcValLT:dcValBR (I-70)
dcOffset=DcOffset[xTb][yTb][partitionPattern[x][y]] (I-71)
若DltFlag[nuh_layer_id]等于0,适用以下:
predSamples[x][y]=predDcVal+dcOffset (I-72)
否则(DltFlag[nuh_layer_id]等于1,适用以下:
predSamples[x][y]=Idx2DepthValue[Clip1Y(DepthValue2Idx[predDcVal]+dcOffset)] (I-73)
要注意的是,能够用于DC预测的参考像素点不限于图7A-7C中所示的位置。任何参考像素点的加权组合可用于进行DC预测。下面给出一种较佳的组合:
DC=a1*px1,y1+a2*px2,y2+a3*px3,y3+…an*pxn,yn,
其中a1…an为加权系数,px1,y1…pxn,yn为相邻参考像素点,DC为分区的预测后的值。
在一实施例中,通过下面的算法使用p-1,N-1和pN-1,-1的加权平均值来预测右下方的分区P1
DCright-bottom=a1*p-1,N-1+a2*pN-1,-1
其中,a1和a2为加权系数。
在该实施例中,右上和左下块中的参考像素点可用于对图6A-6D中的任何情形(不限于情形1)进行DC预测。下面给出一种较佳的算法:
DC=a1*px1,y1+a2*px2,y2+a3*px3,y3+…aM*pxM,yM,
其中,xM和yM可以大于所述块的大小N。
参考图6C中的情形3,在一实施例中,可以按照下面的算法使用p-1,0,p(N-1)>>1,-1,p0,-1和pN-1,-1的加权平均值来预测顶部分区P0的DC值:
DCup=a1*p-1,0+a2*p(N-1)>>1,-1+a3*p0,-1+a4*pN-1,-1,
其中,a1、a2、为加权系数。
例如,按照下面的算法使用pN-1,-1和pN,-1来预测图6D中情形4的DC值:
DCright=a1*pN,-1+a2*pN-1,-1.
除了方案700以外,其它可选的方案也可用于选择一个或多个最佳参考像素点来预测所述分区P1。图8A和8B分别阐述了参考样本选择方案800和850的实施例。图8A和8B中的分割模式尽管看起来不一样,但是仍然都属于情形1(如图6A一样)。它们的共同特征在于,假设一个块的大小为N×N,右上像素点(c0,N-1)的分割值与左上像素点(c0,0)的相同,左下像素点(cN-1,0)的分割值与左上像素点(c0,0)相同。相应地,在一实施例中,轮廓分区P1中的像素点(图8A和8B中的黑色像素点)的DC值可以按照图6A中右下方分区P1相同的方式确定。然而,分割模式800和850的特殊特征使得其它像素点称为更好的DC参考样本。
图8A示出了情形1的子情形(Case 1a),其中(c0,0),(c7,0),和(c0,7)具有相同的分割值,但是这种分割值与(c3,0)的分割值不同。图8B示出了情形1的另一个子情形(Case1b),其中(c0,0),(c7,0),和(c0,7)具有相同的分割值,但是这种分割值与(c0,3)的分割值不同。实际中,如果顶部一行(c0,0)和(cN,0)的任何一个分割值与图8A所示的(c0,0)的二进制分割值不同,则意味着该分割图形按照DMM4模式进行预测(通常,DMM1-4都可用于情形1的情况)。类似地,如果左侧一列的(c0,0)和(c0,N)之间的任何一个分割值与图8B所示的(c0,0)不同,则意味着该分割模式也是按照DMM4模式进行预测的。考虑到图8A-8B和图6A的差别,p0,-1和pN,-1或者p-1,0和p-1,N之间的参考像素点(例如,参考像素点p3,-1和p-1,3)可以取得更好的DC预测值。在所述方案800的一个实施例中,将所述轮廓分区P1中的像素点的DC值设置为中间参考像素点(p(N-1)>>1,-1)或(pN>>1,-1)的值。类似地,在所述方案850的一个实施例中,将所述分区P1的DC值设置为中间参考像素点(p-1,(N-1)>>1)或(p-1,N>>1)的值。
在一实施例中,如果当前块中上像素点(c(N-1)>>1,0)的分割值与左上样本(c0,0)的分割值不同,如图8A所示,则选择中上参考像素点(p(N-1)>>1,-1)作为所述轮廓分区P1的DC预测值。可选地,如果当前块左侧纵列的左中的像素点(c0,(N-1)>>1)的分割值与左上像素点(c0,0)的分割值不同,如图8B所示,则选择左中的参考像素点(p-1,(N-1)>>1)作为所述轮廓分区P1的DC值。尽管图8A或8B中没有示出,但是如果左中的像素点(c0,(N-1)>>1)的分割值与中上像素点(c(N-1)>>1,0)的分割值相同,则可以将左中的参考像素点(p-1,(N-1)>>1)和中上参考像素点(p(N-1)>>1,-1)的平均值作为所述轮廓分区P1的DC预测值。
上述情形1下的DC估计算法的实施例可以通过下面运算来描述:
设置bTM=(bPattern0,0!=bPattern(N-1)>>1,0)?1:0,并且 (9)
设置bLM=(bPattern0,0!=bPattern0,(N-1)>>1)?1:0。 (10)
若bTM不等于bLM,
DCright-bottom=bLM?p-1,(N-1)>>1:p(N-1)>>1,-1; (11)
否则,
DCright-bottom=(p-1,(N-1)>>1+p(N-1)>>1,-1)>>1. (12)
图6A所示的情形1可以包括另一种情况(表示为情况2),其中,左中的像素点(c0,(N-1)>>1)的分割值与中上像素点(c(N-1)>>1,0)的分割值相同,或者(c0,(N-1)>>1)和(c(N-1)>>1,0)都与(c0,0)相等。在情况2的另一实施例中,仍然使用上述方法(例如,结合运算(5))来预测右下方的分区P1
如上所述,所示35种帧内预测模式中的任何一种以及新的深度帧内预测模式可用于3D-HEVC深度图的帧内预测。当解码器进行深度图帧内预测时,相邻块的被解码放入边界样本用作在未进行图间预测的区域中进行空域预测的参考数据。PU内的所有TU可针对一个亮度分量和两个色度分量使用相同的关联的帧间预测模式。编码器从35个选项中选择每个PU最佳的亮度帧间预测模式。如图1所示的33种定向预测模式、1种DC模式以及1种平面模式。对于亮度分量,可以在帧间预测过程之前对相邻参考样本进行滤波。滤波由给定的帧间预测模式和/或变换块大小控制。例如,可以这样设计滤波规则:如果所述帧间预测模式为DC或者所述变换块大小等于4×4,则不对相邻样本进行滤波;进一步地,如果给定的帧间预测模式和垂直模式(或水平模式)之间的距离大于预定义的阈值,则开始进行滤波。表1详细说明了预定义的阈值的实例,其中nT表示块(如,变换单元)大小。
表1各种变换块大小的预定义阈值的说明
nT=8 nT=16 nT=32
阈值 7 1 0
任何适合的滤波设计都可用于进行参考样本滤波。例如,可以使用[1,2,1]滤波和双线性滤波进行相邻样本滤波。在一实施例中,如果下面所有的条件都满足,则可以使用所述双线性滤波:
强_帧间_平滑_使能_标志(strong_intra_smoothing_enable_flag)等于1;
变换块大小等于32;
Abs(p[-1][-1]+p[nT*2-1][-1]–2*p[nT-1][-1])<(1<<(BitDepthY-5));以及
Abs(p[-1][-1]+p[-1][nT*2-1]–2*p[-1][nT-1])<(1<<(BitDepthY-5))。
上面所述的相邻样本的滤波过程可以在深度图帧间编码中进行。此处(包括下文)公开的参考样本滤波的实施例可以实现更加准确的DC预测并且可以提升深度图编码性能。在一实施例中,将滤波或平滑化应用于用于进行深度图帧内预测的参考像素点上依赖于帧内预测模式(例如,方向或角度)和/或块大小。例如,如果PU的宽度和高度小于或等于8(即,PUwidth/height≤8),则在可以不进行相邻样本的滤波,以维持相邻样本上的锐边。PUwidth/height是一个指示PU/块大小的变量,表示宽度或者高度。如果块的宽度值与高度值不等,则该块不是正方形。否则,如果块的宽度值与高度值相等,则该块是正方形。
用于做出参考样本滤波决定的PU宽度/高度不限于PUwidth/height≤8。也就是说,任何预定义范围的PU宽度/高度(例如,a≤PUwidth/height≤b;或PUwidth/height≤a以及b≤PUwidth/height,其中a和b为整数且b>a)都可以用来做出参考样本滤波的决定。例如,若a=4,b=16,滤波情况可以是:若4≤PUwidth/height≤16,则不用滤波。又例如,若a=4,b=16,滤波情况可以是:若PUwidth/height≤4或者16≤PUwidth/height,则不用滤波。再例如,若a=4,b=8,滤波情况可以是:若4≤PUwidth/height≤8,则不用滤波。
在一实施例中,将特定的帧内预测模式预设为总是选择滤波后的参考样本来进行帧内预测。例如,所述平面模式和所述DC模式总是使用滤波后的参考样本来进行帧内预测。可选的,所述滤波规则可以设计为:如果所述帧内预测模式的索引在某个预先定义的范围内,则可以跳过参考像素点滤波过程。例如,如果帧内预测模式ID为0或1,则所述参考像素点滤波过程可以跳过。在另一个实施例中,参考样本滤波的决定取决于PU宽度/高度和帧内模式的组合。例如,若4≤PUwidth/height≤16且当前的预测模式为平面或DC模式,则可以跳过参考样本滤波。
此外,对用于平滑化的滤波器的选择独立于模式。也就是说,并不是所有的帧内预测模式都可以使用相同的滤波器。任何适合的滤波系数都可用于进行相邻样本滤波。换言之,任何参考像素点的加权组合都可用于对深度图帧内预测进行相邻样本滤波。下面给出一种较佳的组合:
Px3,y3=a1*px1,y1+a2*px2,y2+a3*px3,y3+…an*pxn,yn,
其中,Px3,y3为滤波后的参考像素点,px1,y1、px2,y2、px3,y3…..pxn,yn为滤波前的参考像素点,a1、a2、a3…an和为1的系数。
在一实施例中,如果选择多个参考像素点作为块分区的预测值,可以对所述多个参考像素点使用一个简单的像素滤波器,如系数为[1,1]或[1,2,1]的滤波器。此外,对于帧内预测模式的参考像素点滤波决定,参考像素点不限于相邻块的某一行和某一列。可以使用一个或多个相邻参考块上的多行、多列以及其组合来进行帧内预测。下面给出了一种较佳的组合:
Px3,y3=a1*px1,y1+a2*px2,y2+a3*px3,y3+…aM*pxM,yM,
其中,Px3,y3为滤波后的参考像素点,xM和yM可以小于-1,表示相邻参考块的行和列不止一个。
进一步地,有时是否采用平滑化的决定基于帧内预测模式、PU/块大小和平滑标志的组合。在一实施例中,表示滤波器开/关(或者启用/禁用)状态的标志通过比特流传输。例如,把标志设为“0”表示滤波关闭或禁用,而把标志设为“1”表示滤波开启或启用;反之亦然。所述标志可以在块语法或图像层语法中传输。或者,所述信令标志可以是隐性推导出来的。此时,比特流中不需要有标志比特。例如,如果参考像素滤波对编码器和/或解码器(编解码器)中的深度图关闭,则无必要在图像层语法或块语法中传输标志。否则,如果参考像素点滤波开启,则所述标志通过一些PU特性如PU大小和/或所述PU所用的帧内预测模式来暗示。例如,在帧内预测模式为定向预测模式(索引2-35)时,可以推断深度参考像素点滤波标志打开或启用,在非定向模式下(平面和DC模式)时,可推断所述标志关闭或禁用。
能够用于检查块分区是否为轮廓分区的分割值不限于中上分割值(c(N-1)>>1,0)或者左中分割值(c0,(N-1)>>1),其他任何合适的样本及其加权组合都可用于确定块分区是否为轮廓分区。例如,如果图6A中分割值(c(N-1)>>2,0)不等于(c0,0),则所述块分区P1会归为轮廓分区。
在一实施例中,通过分割值不仅可以检查图6A中情形1的轮廓分区,也可以检查图6B-6D中情形2-4的轮廓分区。然后可以相应地进行DC预测。例如,如果在图6C的情形3中,所述中上分割值(c(N-1)>>1,0)和左上分割值(c0,0)不同,则所述块的分区属于轮廓分区P1。此时,不应该再使用中上参考像素值(p(N-1)>>1,-1)作为上分区P0的DC预测值。相反,可以使用右上参考像素点(pN-1,-1)和左上参考像素点(p0,-1)的平均值作为上分区P0的DC预测值。
图9A和9B在此示出了通过参考样本选择和滤波技术获得的仿真结果。具体地,图9A示出了仅在帧内条件下的3视图情形的BD比率结果,图9B示出了公共测试条件下的3视图情形的BD比率结果。基于上述结果,所描述的深度图参考像素点选择和滤波技术在3D-HEVC随机访问(在CTC下)以及所有帧内配置下可以提升编码效率。例如,如图9A所示,视频峰值信噪比(PSNR)/总比特率平均下降了0.03%,综合PSNR/总比特率平均下降了0.01%。如图9B所示,所述视频PSNR/总比特率平均下降了0.1%,综合PSNR/总比特率平均下降了0.1%。
图10示出了视频编码器1000的实施例,用来实现已公开的帧内预测实施例(例如,上述方案700、770、790、800和850)。要注意的是,所述公开的实施例也可以通过其他视频编解码器来实现。所述视频编码器1000包括如图10所示排列的比率失真优化(RDO)模块1010、预测模块1020、变换模块1030、量化模块1040、熵编码器1050、反量化模块1060、反变换模块1070和重建模块1080。在操作中,所述视频编码器1000可以接收包含视频帧(或条带)序列的输入视频。这里,帧可以是指任何被预测的帧(P帧)、帧内编码帧(I帧)或者双边预测帧(B帧)。类似地,条带可以指任何P条带、I条带或者B条带。
所述RDO模块1010可用于对一个或者多个其他模块进行整合或做逻辑判断。例如,基于一个或多个上一编码的帧,所述RDO模块1010可以确定当前正在编码的帧(或条带)如何分割成多个编码单元(CU)以及一个CU如何分割为一个或多个预测单元(PU)和变换单元(TU)。CU、PU和TU是HEVC中使用的各种类型的块。此外,所述RDO模块1010可以确定当前帧是如何被预测的。所述当前帧可以通过帧间和/或帧内预测的方式进行预测。对于帧内预测来说,HEVC中有多个可用的预测模式或方向(例如,图1中的35种模式和DMM模式),所述RDO模块1010可以确定出最佳模式。例如,所述RDO模块1010可以为每个预测模式计算绝对误差总和(SAE),并选择产生最小SAE的预测模式。
所述预测模块1020可以利用参考帧来进行帧间预测或者利用当前帧中的参考像素点来进行帧内预测。在一实施例中,所述预测模块1020用于为来自所述输入视频的当前块计算一个预测块。所述预测块包括多个预测样本,每个预测样本可以基于位于所述当前块的左侧和上方的相邻块(已解码的)的多个重建样本生成。
在生成所述预测块后,所述预测块减去所述当前块,或反之亦然,从而生成残差块。所述残差块可以送入所述变换模块1030中,由所述变换模块1030将残差色度样本变换为变换系数矩阵。所述变换可以是二维正交变换,如离散余弦变换(DCT)。然后,所述变换系数矩阵在送入所述熵编码器1050之前由所述量化模块1040进行量化。所述量化模块1040可以改变所述变换系数的大小并使它们成为取整,这可以降低非零变换系数的数量。这样,可以增加压缩比率。所述熵编码器1050对量化的变换系数进行扫描并编译为编码比特流。进一步地,为了方便色度块的持续编码,将所述量化的变换系数送入所述反量化模块1060中以恢复所述变换系数的原始大小。然后,所述反变换模块1070可以执行所述变换模块1030的相反操作并生成所述原始残差块的嘈杂版本。再接着,将所述残差块送入所述重建模块1080,所述重建模块1080可以为将来的色度块的帧内预测生成重建的亮度和/或色度样本。如果需要的话,在所述重建的样本用于帧内预测之前可对其进行滤波。
图10是视频编码器的简单描述,可以只包括在所述视频编码器呈现的一部分模块。本领域技术人员应该理解其它模块(例如,滤波器、扫描器和发射器)尽管没有在图10中显示出来,但也可以用来帮助进行视频编码。此外,依靠编码方案,可以省去视频编码器的一些模块。例如,在特定视频内容的无损编码中,不允许有信息丢失,因此,可以省去所述量化模块1040和所述反量化模块1060。又例如,如果所述残差块直接编码而不需要变换成变换系数,则可以省去所述变换模块1030和所述反变换模块1070。而且,所述已编码的比特流在从编码器传输之前可以包括其他信息,如视频分辨率、帧率、块分割信息(大小和坐标)和预测模式等,因此编码的视频帧序列可以由视频解码器进行适当地解码。
图11示出了视频解码器1100的实施例,用来实现已公开的帧内预测实施例。所述视频解码器1100对应所述视频编码器1000,包括图11所示设置的熵解码器1110、反量化模块1120、反传输模块1130、预测模块1140和重建模块1150。在操作中,所述熵解码器1110接收包含视频帧序列信息的编码比特流,并将所述比特流解码成无压缩格式。然后,生成一个量化的变换系数矩阵并送入所述反量化模块1120中。所述反量化模块1120可以和图10中的反量化模块1060相同或相似。接着,把所述反量化模块1120的输出送入所述反变换模块1130,所述反变换模块1130将变换系数变换成残差块的残差值。此外,所述熵解码器1110还对包含当前块的预测模式(如,定向帧内预测模式)的信息进行解码。基于所述预测模式,所述预测模块1140可生成当前块的预测块。
在一实施例中,所述预测模块1140用于使用公开的参考样本选择和/或滤波实施例。所述预测块包括多个预测样本,每个预测样本可以基于位于所述当前块的左侧和上方相邻块(已解码的)的多个重建样本进行生成。在所述当前块的预测块生成以后,所述重建模块1150可以将所述残差色度块和所述预测块组合从而生成一个重建块。此外,为了便于持续解码,所述重建块的部分样本还可以作为用来对同一视频条带或帧中的将来块进行帧内预测的参考像素点。
图12为帧内预测方法1200的实施例的流程图,该方法由3D-HEVC视频编解码器(如,所述编码器1000或所述解码器1100)执行。所述方法1200开始于步骤1210:所述编解码器中的处理器或收发器接收当前块的多个相邻样本。所述相邻样本包括位于左下相邻块的右下角的第一样本(例如,图7A中的样本742)以及位于右上相邻块的右下角的第二样本(例如,图7A中的样本752)。步骤1220:所述处理器或收发器接收分割模式,所述分割模式指示了当前块分割成分区0(P0)和分区1(P1)。为了满足情形1(如图6A、7A-7C和8A-8C),所述分区0至少包括所述当前块的右上、左上和左下角样本。步骤1230:所述处理器选择所述第一样本和所述第二样本中的一个作为分区1帧内预测的参考样本。
在一实施例中,所述相邻样本表示为x=-1且y=-1..nTbS*2-1以及x=0..nTbS*2–1且y=-1的p[x][y],其中nTbs指示所述当前块的大小。所述第一和第二样本分别表示为p[-1][nTbS*2-1]和p[nTbS*2-1][-1]。在步骤1230中,对所述参考样本的选择基于样本p[-1][0]和p[-1][nTbS*2-1]之间的第一绝对差值以及样本p[0][-1]和p[nTbS*2-1][-1]之间的第二绝对差值。进一步地,所述第一和第二绝对差值可以分别标示为vertAbsDiff和horAbsDiff,并通过上述运算(6)和(7)来计算。在一实施例中,所述参考样本用作DC平均值,标示为dcValBR,通过上述运算(8)来计算。
上述方案可在任意通用计算机***上实施,例如计算机或网络部件,其具有足够的处理能力、存储资源以及网络吞吐能力来处理其上的必要工作负荷。图13示出了通用计算机***1300的示意图,其适用于实施本文所公开的方法的一项或多项实施例,例如,视频编码器1000、视频解码器1100以及内预测方法1200。计算机***1300包括处理器1302(其可以称为中央处理器单元或CPU),所述处理器与包括以下项的存储设备进行通信:辅助存储器1304、只读存储器(简称ROM)1306、随机存取存储器(简称RAM)1308、发射器/接收器1310、输入/输出(简称I/O)设备1312。尽管处理器1302被图示为单个处理器,但是它并非受到此类限制而是可以包括多个处理器。所述处理器1302可用作一个或多个中央处理器(简称CPU)芯片、核芯(例如,多核处理器)、现场可编程门阵列(简称FPGA)、专用集成电路(简称ASIC)和/或数字信号处理器(简称DSP)予以实现。处理器1302可用于实施本文所描述的任一方案,例如,方案700、770、790、800、850以及方法1200。处理器1302可以使用硬件、软件或两者结合来实施。所述处理器1302包括预测模块1303,其与所述预测模块1020相似。所述预测模块1303可以实现此处公开的用于在3D-HEVC中的深度图帧内预测的参考样本选择/滤波技术。
辅助存储器1304通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM1308的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储设备。辅助存储器1304可用于存储程序,当选择执行这些程序时,所述程序将加载到RAM1308中。The ROM 1306is used to store instructions and perhaps data thatare read during program execution.<}100{>所述ROM 1306用于存储指令以及可能在程序执行期间读取的数据。ROM 1306为非易失性存储设备,其存储容量相对于辅助存储器1304的较大存储容量而言通常较小。RAM 1308用于存储易失性数据,还可能用于存储指令。访问ROM 1306和RAM 1308通常比访问辅助存储器1304要快。辅助存储器1304、ROM 1306和/或RAM1308可以是非瞬时计算机可读介质,可以不包括瞬时、传播的信号。辅助存储器1304、ROM 1306或RAM 1308中的任意一个可以称为存储器,或这些模块可以统称为存储器。
发射器/接收器1310可用作计算机***1300的输出和/或输入设备。例如,如果发射器/接收器1310用作发射器,其可将数据传出计算机***1300。如果发射器/接收器1310用作接收器,其可将数据传入计算机***1300。发射器/接收器1310可采用以下形式:调制解调器、调制解调器组、以太网卡、通用串行总线(简称USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(简称FDDI)卡、无线局域网(简称WLAN)卡和无线收发器卡例如码分多址(简称CDMA)、全球移动通信***(简称GSM)、长期演进(简称LTE)、全球微波接入互操作性(简称WiMAX)和/或其它空中接口协议无线收发器卡,以及其它公知网络设备。发射器/接收器1310可使处理器1302与因特网或一个或多个内网通信。I/O设备1312可包括视频监控器,液晶显示器(简称LCD),触屏显示器,或其它类型的用于显示视频的视频显示器,也可包含捕获视频的视频录像设备。I/O设备1312可包括一个或多个键盘、鼠标、轨迹球或其它公知的输入设备。
应理解,通过将可执行指令编程和/或加载至计算机***1300,处理器1302、RAM1308和ROM 1306中的至少之一被改变,将计算机***1300的一部分变换成特定机器或装置,例如,本发明宣扬的拥有新颖功能的视频编解码器。对于电力工程及软件工程技术来说基本的是,可通过将可执行软件加载到计算机中而实施的功能性可通过熟知设计规则而变换为硬件实施方案。在软件还是硬件中实施概念之间的决策通常取决于与设计的稳定性及待产生的单元的数目的考虑,而与从软件域转译到硬件域所涉及的任何问题无关。通常,仍在经受频繁改变的设计可以优选在软件中实施,因为重新设计硬件实施方案比重新设计软件设计更为昂贵。通常,稳定及大规模生产的设计更适于在如专用集成电路(简称ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产比软件实施更为便宜。通常,一个设计可以软件形式开发及测试,且稍后通过熟知设计规则变换为对软件的指令进行硬连线的专用集成电路中的等效硬件实施方案。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
应理解的是,本发明中的任何处理可以通过计算机***(如,视频编码器1000或解码器1100)中的处理器(如,计算机***内部的通用CPU)执行计算机程序来实现。在此情况下,可以向计算机或使用任何类型的非暂时性计算机可读媒体的网络设备提供计算机程序产品。计算机程序产品可以存储于计算机或网络设备中的非暂时性计算机可读媒体中。非暂时性计算机可读媒体包含任何类型的有形存储媒体。非瞬时计算机可读介质的示例包括磁存储介质(例如,软盘、磁带、硬盘驱动器等)、光磁存储介质(例如,磁光盘)、只读光盘(简称CD-ROM)、可录光盘(简称CD-R)、可写光盘(简称CD-R/W)、数字多功能光盘(简称DVD)、蓝光(简称注册商标)光盘(简称BD)和半导体存储器备(例如,掩模型ROM、可编程ROM(简称PROM)、可擦除PROM、闪存ROM和RAM)。还可以向计算机或使用任何类型的暂时性计算机可读媒体的网络设备提供计算机程序产品。暂时性计算机可读媒体的实例包含电信号、光信号和电磁波。暂时性计算机可读媒体可以经由有线通信线(例如,电线和光纤)或无线通信线向计算机提供程序。
虽然本发明多个具体实施例,但应当理解,所公开的***和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一***中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、***、子***和方法可以与其它***、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (20)

1.一种视频编解码器,其特征在于,用于:
接收当前块和多个相邻像素点,其中,所述当前块包括第一分区和第二分区;
从所述多个相邻像素点中选择至少一个参考像素点;
基于所述参考像素点对位于所述第二分区上的多个像素点进行预测。
2.根据权利要求1所述的视频编解码器,其特征在于,还用于确定在预测所述第二分区的像素点之前是否对所述参考像素点进行滤波,其中,所述确定是基于所述当前块的帧内预测模式和所述当前块的大小中的至少一个进行的。
3.根据权利要求2所述的视频编解码器,其特征在于,还用于在所述当前块的大小在一个预定义的范围内时,通过对参考像素点进行滤波来生成滤波后的参考像素点,其中,跨越多行多列的多个参考像素点的线性组合作为所述滤波后的参考像素点,所述第二分区的多个像素点通过所述滤波后的参考像素点来预测。
4.根据权利要求2所述的视频编解码器,其特征在于,还用于在所述帧内预测模式的索引在一个预定义的范围内时,通过对所述参考像素点进行滤波来生成滤波后的参考像素点,其中,多个参考像素点的线性组合作为所述滤波后的参考像素点,所述第二分区的多个像素点通过所述滤波后的参考像素点来预测。
5.根据权利要求2所述的视频编解码器,其特征在于,还用于将二进制标志写入包括所述当前块的编码信息的比特流中,其中所述二进制标志指示了所述当前块在帧内预测之前是否进行了滤波,所述二进制标志决定了接收所述比特流的对应的解码器在解码所述当前块时是否使用滤波。
6.根据权利要求1所述的视频编解码器,其特征在于,其中,所述第一分区至少包括所述当前块的右上、左上和左下角像素点,所述第二分区包括所述当前块顶行的至少一个像素点,相对于所述当前块的上方相邻块的底行中间的两个像素点中的一个被选择作为参考像素点。
7.根据权利要求1所述的视频编解码器,其特征在于,其中,所述第一分区至少包括所述当前块的右上、左上和左下角像素点,所述第二分区包括所述当前块最左边一列上的至少一个像素点,相对于所述当前块的左侧相邻块中最右边一列中间的两个像素点中的一个被选择作为参考像素点。
8.一种用于视频编码的装置,其特征在于,包括:
处理器,用于:
接收包括第一分区和第二分区的当前块,其中所述第一分区至少包括所述当前块的右上、左上和左下角的样本;
从所述当前块的右上相邻块和所述当前块的左下相邻块中选择一个参考样本;
通过从所述右上相邻块和所述左下相邻块中选择的所述参考样本对所述第二分区的样本进行预测。
9.根据权利要求8所述的装置,其特征在于,选择的所述参考样本为位于所述左下相邻块的右下角的第一样本或位于所述右上相邻块的右下角的第二样本。
10.根据权利要求9所述的装置,其特征在于,其中所述当前块有一个左侧相邻块和一个上方相邻块,第三样本位于所述左侧相邻块的右上角,第四样本位于所述左侧相邻块的左下角,其中,所述选择一个参考样本包括:
计算所述第一样本和所述第三样本之间的第一绝对差值;
计算所述第二样本和所述第四样本之间的第二绝对差值。
11.根据权利要求10所述的装置,其特征在于,其中所述第一绝对差值大于所述第二绝对差值,且因为所述第一绝对差值大于所述第二绝对差值,所以选择所述第一样本作为参考样本。
12.根据权利要求10所述的装置,其特征在于,其中所述第一绝对差值小于等于所述第二绝对差值,且因为所述第一绝对差值小于等于所述第二绝对差值,所以选择所述第二样本作为参考样本。
13.根据权利要求10所述的装置,其特征在于,其中所述对第二分区的样本进行预测包括将所述参考样本设定为所述第二分区的平均值,其中所述处理器还用于计算代表所述平均值和第二分区的每个样本之间的差值的多个残差样本。
14.根据权利要求13所述的装置,其特征在于,其中所述当前块、所述右上相邻块、所述左下相邻块、所述左侧相邻块以及所述上方相邻块都位于3维高性能视频编码(简称3D-HEVC)中使用的深度图帧中,其中所述第二分区的样本是按照深度建模模式(简称DMM)进行预测的,所述处理器还用于:
变换所述多个残差样本从而生成多个变换系数;
量化所述多个变换系数从而生成多个量化后的变换系数;
对所述多个量化后的变换系数中的至少一部分进行熵编码从而生成编码比特流。
15.一种三维高性能视频编码(简称3D-HEVC)的帧内预测方法,其特征在于,所述方法包括:
接收当前块的多个相邻样本,其中所述相邻样本包括位于左下相邻块的右下角的第一样本和位于右上相邻块的右下角的第二样本;
接收指示有将所述当前块分割为分区0和分区1的分割模式,其中所述分区0至少包括所述当前块的右上、左上和左下角的样本;
选择所述第一样本和所述第二样本中的一个作为用于帧内预测所述分区1的参考样本。
16.根据权利要求15所述的方法,其特征在于,所述相邻样本标示为x=-1且y=-1..nTbS*2–1,和x=0..nTbS*2–1且y=-1的p[x][y],其中,nTbS指示了所述当前块的大小,所述第一和第二样本分别表示为p[-1][nTbS*2-1]和p[nTbS*2-1][-1],所述参考样本的选择基于样本p[-1][0]和p[-1][nTbS*2-1]之间的第一绝对差值和样本p[0][-1]和p[nTbS*2-1][-1]之间的第二绝对差值。
17.根据权利要求16所述的方法,其特征在于,所述第一和第二绝对差值分别标示为vertAbsDiff和horAbsDiff,所述参考样本作为DC平均值,标示为dcValBR,通过下面的运算来计算:
dcValBR=(horAbsDiff>vertAbsDiff)?p[nTbS*2-1][-1]:p[-1][nTbS*2-1])。
18.根据权利要求17所述的方法,其特征在于,vertAbsDiff和horAbsDiff通过下面的运算来计算:
vertAbsDiff=Abs(p[-1][0]-p[-1][nTbS*2-1]);
horAbsDiff=Abs(p[0][-1]-p[nTbS*2-1][-1])。
19.根据权利要求17所述的方法,其特征在于,所述分割模式为二进制数组,所述二进制数组包括标示为partitionPattern[x][y]的模式数值,其中,x,y=0..nTbS–1,所述分区0包括右上、左上和左下角样本是通过两个二进制变量vertEdgeFlag和horEdgeFlag指示的,所述右上、左上和左下角样本都等于0,vertEdgeFlag和horEdgeFlag通过下面的运算推导:
vertEdgeFlag=(partitionPattern[0][0]!=partitionPattern[nTbS-1][0]),
horEdgeFlag=(partitionPattern[0][0]!=partitionPattern[0][nTbS-1])。
20.根据权利要求17所述的方法,其特征在于,还包括使用第二DC平均值对所述分区0进行帧内预测,所述第二DC平均值标示为dcValLT,通过下面的运算来计算:
dcValLT=(p[-1][0]+p[0][-1])>>1,
其中,对于x,y=0..nTbS–1,中间变量predDcVal和dcOffset通过下面的运算来定义和推导:
predDcVal=(partitionPattern[x][y]==partitionPattern[0][0])?dcValLT:dcValBR,
dcOffset=DcOffset[xTb][yTb][partitionPattern[x][y]],
其中,(xTb,yTb)指示了所述当前块的左上样本相对于包括所述当前块的深度图的左上样本的位置,所述当前块的预测样本值表示为predSamples[x][y],其中x,y=0..nTbS–1,基于predDcVal和dcOffset推导得到。
CN201480057368.XA 2013-10-17 2014-10-16 改进后的深度图帧内编码的参考像素点选择和滤波 Active CN106688238B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361892342P 2013-10-17 2013-10-17
US61/892,342 2013-10-17
PCT/US2014/060873 WO2015057947A1 (en) 2013-10-17 2014-10-16 Improved reference pixel selection and filtering for intra coding of depth map

Publications (2)

Publication Number Publication Date
CN106688238A true CN106688238A (zh) 2017-05-17
CN106688238B CN106688238B (zh) 2019-12-17

Family

ID=58857853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480057368.XA Active CN106688238B (zh) 2013-10-17 2014-10-16 改进后的深度图帧内编码的参考像素点选择和滤波

Country Status (1)

Country Link
CN (1) CN106688238B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592538A (zh) * 2017-09-06 2018-01-16 华中科技大学 一种降低立体视频深度图编码复杂度的方法
WO2019047883A1 (en) * 2017-09-08 2019-03-14 Fg Innovation Ip Company Limited DEVICE AND METHOD FOR ENCODING VIDEO DATA BASED ON MULTIPLE REFERENCE LINES
CN111247796A (zh) * 2017-10-20 2020-06-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
WO2020132908A1 (zh) * 2018-12-25 2020-07-02 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
CN111435993A (zh) * 2019-01-14 2020-07-21 华为技术有限公司 视频编码器、视频解码器及相应方法
CN111543054A (zh) * 2017-10-31 2020-08-14 三星电子株式会社 图像编码方法及其装置、图像解码方法及其装置
WO2020181503A1 (zh) * 2019-03-12 2020-09-17 Oppo广东移动通信有限公司 帧内预测方法及装置、计算机可读存储介质
CN114651441A (zh) * 2019-09-19 2022-06-21 Lg电子株式会社 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184237A (zh) * 2006-11-16 2008-05-21 汤姆森许可贸易公司 将数据从mpeg2标准代码转换到mpeg4标准的方法
CN101527843A (zh) * 2008-03-07 2009-09-09 瑞昱半导体股份有限公司 用来解码视频画面中的视频块的装置及其相关方法
US20100104008A1 (en) * 2006-08-25 2010-04-29 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
CN102934441A (zh) * 2010-05-25 2013-02-13 Lg电子株式会社 新的平面预测模式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100104008A1 (en) * 2006-08-25 2010-04-29 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
CN101184237A (zh) * 2006-11-16 2008-05-21 汤姆森许可贸易公司 将数据从mpeg2标准代码转换到mpeg4标准的方法
CN101527843A (zh) * 2008-03-07 2009-09-09 瑞昱半导体股份有限公司 用来解码视频画面中的视频块的装置及其相关方法
CN102934441A (zh) * 2010-05-25 2013-02-13 Lg电子株式会社 新的平面预测模式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CONGXIA DAI ET AL: "Geometry-Adaptive Block Partitioning for Intra Prediction in Image&Video Coding", 《2007 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592538B (zh) * 2017-09-06 2019-07-23 华中科技大学 一种降低立体视频深度图编码复杂度的方法
CN107592538A (zh) * 2017-09-06 2018-01-16 华中科技大学 一种降低立体视频深度图编码复杂度的方法
WO2019047883A1 (en) * 2017-09-08 2019-03-14 Fg Innovation Ip Company Limited DEVICE AND METHOD FOR ENCODING VIDEO DATA BASED ON MULTIPLE REFERENCE LINES
US10856010B2 (en) 2017-09-08 2020-12-01 FG Innovation Company Limited Device and method for coding video data based on multiple reference lines
CN111247796A (zh) * 2017-10-20 2020-06-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
CN111543054A (zh) * 2017-10-31 2020-08-14 三星电子株式会社 图像编码方法及其装置、图像解码方法及其装置
US11677936B2 (en) 2018-12-25 2023-06-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for decoding and apparatus, and computer storage medium
US11683477B2 (en) 2018-12-25 2023-06-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for decoding and apparatus, and computer storage medium
US11785208B2 (en) 2018-12-25 2023-10-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for decoding and apparatus, and computer storage medium
CN113068026A (zh) * 2018-12-25 2021-07-02 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
US11297313B2 (en) 2018-12-25 2022-04-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for decoding and apparatus, and computer storage medium
US11683478B2 (en) 2018-12-25 2023-06-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for decoding and apparatus, and computer storage medium
WO2020132908A1 (zh) * 2018-12-25 2020-07-02 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
CN113068026B (zh) * 2018-12-25 2023-05-05 Oppo广东移动通信有限公司 编码预测方法、装置及计算机存储介质
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
CN111435993A (zh) * 2019-01-14 2020-07-21 华为技术有限公司 视频编码器、视频解码器及相应方法
US11902506B2 (en) 2019-01-14 2024-02-13 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding methods
WO2020181503A1 (zh) * 2019-03-12 2020-09-17 Oppo广东移动通信有限公司 帧内预测方法及装置、计算机可读存储介质
US11350088B2 (en) 2019-03-12 2022-05-31 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra prediction method and apparatus, and computer-readable storage medium
US11843724B2 (en) 2019-03-12 2023-12-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra prediction method and apparatus, and computer-readable storage medium
CN114651441A (zh) * 2019-09-19 2022-06-21 Lg电子株式会社 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法
CN114651441B (zh) * 2019-09-19 2023-12-19 Lg电子株式会社 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法

Also Published As

Publication number Publication date
CN106688238B (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
CN106688238A (zh) 改进后的深度图帧内编码的参考像素点选择和滤波
CN104768005B (zh) 用于编码/解码高分辨率图像的方法和设备
JP6226863B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP6005087B2 (ja) 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及び符号化データのデータ構造
CN110063056A (zh) 用于处理视频信号的方法和设备
JP6147368B2 (ja) 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法
JP6469048B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、動画像符号化データ及び記録媒体
CN102065298B (zh) 高性能宏块编码实现方法
EP3010232A1 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
CN108712648B (zh) 一种深度视频快速帧内编码方法
US9774872B2 (en) Color image encoding device, color image decoding device, color image encoding method, and color image decoding method
CN105245886A (zh) 用于对图像编码的设备和方法
CN104768007A (zh) 编码/解码高分辨率图像的方法和执行该方法的装置
CN104429062A (zh) 用于对表示三维视频的比特流进行编码的设备
WO2014049981A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN111586405B (zh) 一种多功能视频编码中基于alf滤波的预测模式快速选择方法
JP6373008B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN106878754A (zh) 一种3d视频深度图像帧内预测模式选择方法
JP2014090327A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014090326A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JPWO2014049982A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR20130070618A (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치
KR20130019737A (ko) Sdip 모드의 색차성분 부호화 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant