CN105379266A - 停用帧内预测滤波 - Google Patents

停用帧内预测滤波 Download PDF

Info

Publication number
CN105379266A
CN105379266A CN201480040251.0A CN201480040251A CN105379266A CN 105379266 A CN105379266 A CN 105379266A CN 201480040251 A CN201480040251 A CN 201480040251A CN 105379266 A CN105379266 A CN 105379266A
Authority
CN
China
Prior art keywords
block
filter
video
prediction
flag
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
CN201480040251.0A
Other languages
English (en)
Other versions
CN105379266B (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105379266A publication Critical patent/CN105379266A/zh
Application granted granted Critical
Publication of CN105379266B publication Critical patent/CN105379266B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频解码器可基于语法元素自适应地停用用于帧内预测的一或多个滤波器。此外,所述视频解码器可执行帧内预测以产生用于当前视频切片的当前块的预测数据。此外,视频编码器可自适应地停用用于帧内预测的一或多个滤波器。此外,所述视频编码器可用信号表示控制所述一或多个滤波器的语法元素。此外,所述视频编码器可执行帧内预测以产生用于视频数据的当前视频块的预测数据。

Description

停用帧内预测滤波
本申请案主张2013年7月19日申请的第61/856,637号美国临时专利申请案、2013年7月22日申请的第61/857,131号美国临时专利申请案、2013年9月10日申请的第61/876,205号美国临时专利申请案、2013年9月19日申请的第61/880,087号美国临时专利申请案、2013年10月8日申请的第61/888,319号美国临时专利申请案、2013年10月14日申请的第61/890,822号美国临时专利申请案和2013年10月14日申请的第61/890,844号美国临时专利申请案,以上申请案中的每一者的整个内容以引用的方式并入本文中。
技术领域
本发明涉及视频编码和解码,并且在一些实例中涉及用于帧内预测的参考样本的滤波。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,及此些标准的扩展。视频装置通过实施这些视频压缩技术可更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。在一些实例中,此些视频块也可被称作树块、译码单元(CU)和/或译码节点。使用相对于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量及指示经译码块与预测块之间的差的残余数据编码的。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而得到残余系数(即,残余变换系数),其随后可经量化。初始地布置成二维阵列的经量化系数(即,残余变换系数)可经扫描以便产生系数(即,变换系数)的一维向量,且可应用熵译码以实现甚至更多压缩。
可例如从多个视角编码视图来产生多视图译码位流。已经开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可发射左眼及右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量和一个深度视图分量。
发明内容
大体来说,本发明描述用于帧内预测的技术。如在本发明的一个实例技术中所描述,视频编码器可自适应地停用用于帧内预测的一或多个滤波器。所述视频编码器可用信号表示控制所述一或多个滤波器的语法元素。此外,所述视频编码器可执行帧内预测以产生用于视频数据的当前视频块的预测数据。此外,在一些实例中,视频解码器可基于语法元素自适应地停用用于帧内预测的一或多个滤波器。此外,所述视频解码器可执行帧内预测以产生用于所述当前块的预测数据。
根据一实例,本发明描述一种对视频数据进行解码的方法,所述方法包括:基于语法元素自适应地停用用于帧内预测的一或多个滤波器;以及执行帧内预测以产生用于当前视频切片的当前块的预测数据。
在另一实例中,本发明描述一种对视频数据进行编码的方法,所述方法包括:自适应地停用用于帧内预测的一或多个滤波器;用信号表示控制所述一或多个滤波器的语法元素;以及执行帧内预测以产生用于所述视频数据的当前视频块的预测数据。
在另一实例中,本发明描述一种视频解码装置,其包括:计算机可读媒体,其经配置以储存视频数据;以及一或多个处理器,其经配置以:基于语法元素自适应地停用用于帧内预测的一或多个滤波器;以及执行帧内预测以产生用于当前视频切片的当前块的预测数据。
在另一实例中,本发明描述一种视频编码装置,其包括:计算机可读媒体,其经配置以储存视频数据;以及一或多个处理器,其经配置以:自适应地停用用于帧内预测的一或多个滤波器;用信号表示控制所述一或多个滤波器的语法元素;以及执行帧内预测以产生用于所述视频数据的当前视频块的预测数据。
在另一实例中,本发明描述一种视频解码装置,其包括:用于基于语法元素自适应地停用用于帧内预测的一或多个滤波器的装置;以及用于执行帧内预测以产生用于当前视频切片的当前块的预测数据的装置。
在另一实例中,本发明描述一种视频编码装置,其包括:用于自适应地停用用于帧内预测的一或多个滤波器的装置;用于用信号表示控制所述一或多个滤波器的语法元素的装置;以及用于执行帧内预测以产生用于所述视频数据的当前视频块的预测数据的装置。
在另一实例中,本发明描述一种计算机可读数据存储媒体(例如,非暂时性计算机可读数据存储媒体),其上存储有在执行时致使一或多个处理器进行以下操作的指令:基于语法元素自适应地停用用于帧内预测的一或多个滤波器;以及执行帧内预测以产生用于当前视频切片的当前块的预测数据。
在另一实例中,本发明描述一种计算机可读数据存储媒体(例如,非暂时性计算机可读数据存储媒体),其上存储有在执行时致使一或多个处理器进行以下操作的指令:自适应地停用用于帧内预测的一或多个滤波器;用信号表示控制所述一或多个滤波器的语法元素;以及执行帧内预测以产生用于所述视频数据的当前视频块的预测数据。
在随附图式及以下描述中阐述一或多个实例的细节。其它特征、目标和优点将从所述描述、图式以及权利要求书而显而易见。
附图说明
图1是说明可利用本发明中所描述的技术的实例视频译码***的框图。
图2是说明实例帧内预测模式方向的概念图。
图3是说明用于高效率视频译码(HEVC)帧内预测的块的实例参考样本的概念图。
图4A是说明角度帧内预测中的双线性内插的概念图。
图4B是说明角度帧内预测中的最近相邻者预测的概念图。
图5是说明根据本发明的实例用于HEVC帧内预测的块的参考样本的自适应滤波器控制的方法的概念图。
图6是说明根据本发明的另一实例的用于HEVC帧内预测的译码单元(CU)的变换单元(TU)的参考样本的自适应滤波器控制方法的概念图。
图7是说明包含两个正方形TU的实例矩形的概念图。
图8是说明分割成四个N×NTU的实例2N×2NCU的概念图。
图9是说明具有一个2N×2N分区的实例2N×2NCU的概念图。
图10是说明可实施本发明中所描述的技术的实例视频编码器的框图。
图11是说明可实施本发明中所描述的技术的实例视频解码器的框图。
图12A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图12B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
图13A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图13B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
图14A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图14B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
图15A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图15B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
图16是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的实例操作的流程图。
图17是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的额外操作的流程图。
图18是说明用于对当前块进行编码的实例方法的流程图。
图19是说明用于对当前视频数据块进行解码的实例方法的流程图。
图20是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的实例操作的流程图。
图21A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图21B是说明根据本发明的一种或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
图22A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器的实例操作的流程图。
图22B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器的实例操作的流程图。
具体实施方式
例如高效率视频译码(HEVC)等许多视频译码标准实施帧内预测。一般来说,帧内预测涉及基于当前正译码的图片中的参考样本产生当前正译码的块的预测性块。本发明可将当前正译码的图片称为当前图片。此外,本发明可将当前正译码的块称为当前块。视频译码器可使用各种帧内预测模式以产生预测性块。帧内预测模式可包含角度帧内预测模式、平面帧内预测模式和DC帧内预测模式。
视频译码器可当使用帧内预测以产生预测性块时使用各种滤波器。举例来说,视频译码器可基于沿着当前块的左边和顶部边缘定位的参考样本的值确定预测性块的样本的值。在此实例中,当视频译码器使用对角线帧内预测模式或平面帧内预测模式时,视频译码器可将平滑滤波器应用于参考样本以减少参考样本之间的差。在一些实例中,视频译码器还可在其它情况中应用或停用平滑滤波器。此平滑滤波器的强度可取决于当前块的大小。此外,在当前块的大小较大时,视频译码器可当使用对角线帧内预测模式的增加范围时将平滑滤波器应用于参考样本。
此外,当视频译码器使用角度帧内预测模式以产生预测性块时,视频译码器可针对预测性块的每一相应样本确定其中穿过相应样本的线与参考样本的顶部行或参考样本的左边列相交的相交点。角度帧内预测模式界定所述线的角度和方向。视频译码器可使用双线性内插滤波器以基于所述相交点的任一侧上的参考样本确定经内插参考样本的值。相应预测样本的值等于此经内插参考样本的值。以此方式,视频译码器可使用双线性内插以产生预测性块。
在一些实例中,当视频译码器使用角度帧内预测模式以产生预测性块时,视频译码器可针对预测性块的每一相应样本确定相应样本的分数位置因数(例如,iFact)。此外,在此些实例中,当相应样本的分数位置因数不具有特定值(例如,0)时,视频译码器可对如上文所描述的相交点的任一侧上的参考样本使用双线性内插滤波器来确定相应样本的值。否则,在此些实例中,当相应样本的分数位置因数具有特定值(例如,0)时,视频译码器可确定相应样本的值等于参考样本中的一者。
此外,当视频译码器使用水平的角度帧内预测模式,预测性块的大小小于32×32,且当前块未使用变换和量化绕过模式译码时,视频译码器可将边缘滤波应用于预测性块的样本的顶部行。在一些实例中,视频译码器可仅将边缘滤波应用于预测性块的样本的顶部行的明度样本。类似地,当视频译码器使用垂直的角度帧内预测模式,预测性块的大小小于32×32,且当前块未使用变换和量化绕过模式译码时,视频译码器可将边缘滤波应用于预测性块的样本的左边列。在一些实例中,视频译码器可仅将边缘滤波应用于预测性块的样本的左边列的明度样本。
当视频译码器使用DC帧内预测模式且预测性块的大小小于32×32且块的分量索引是0(明度)时,视频译码器可将两分接头有限脉冲响应(FIR)滤波器应用于预测性块的第一列。在一些实例中,视频译码器还可将两分接头FIR滤波器应用于预测性块的第一(即,顶部)行。视频译码器还可将三分接头滤波器应用于预测性块的拐角样本。
在一些实例中,可能需要停用上文所提及的滤波器中的一或多者。举例来说,可能需要停用平滑滤波器的应用,无论当前块的大小和帧内预测模式如何。此外,可能需要停用双线性内插滤波器,无论分数位置因数的值如何。另外,可能需要停用边缘滤波器,无论角度帧内预测模式、预测性块的大小以及变换和量化绕过模式如何。同样,可能需要停用当视频译码器使用DC帧内预测模式时应用的滤波器。
举例来说,合成视频内容(例如,计算机产生的图形)趋向于包含尖锐边缘。在此些情形中,当使用帧内预测以产生预测性块时滤波器的使用可降低译码效率,从而导致较大位流。换句话说,滤波操作可模糊尖锐边缘的相对侧上的样本之间的差异,从而导致不准确的预测性样本。因此,为了增加译码效率,可能需要停用这些滤波器中的一或多者。
本发明的技术包含用于当使用帧内预测产生预测性块时停用滤波器的应用的技术。举例来说,根据本发明的一些技术,视频解码器可基于语法元素自适应地停用用于帧内预测的一或多个滤波器。此外,视频解码器可执行帧内预测以产生当前视频切片的当前块的预测数据。以此方式,视频解码器可能够自适应地确定当使用帧内预测以产生预测性块时是否应用滤波器。这可增加译码效率。
在另一实例中,视频编码器可在位流中用信号表示一或多个语法元素,视频解码器可使用所述语法元素以确定当使用帧内预测以产生预测性块时是否应用一或多个滤波器。根据一个此类实例,视频解码器可解码第一语法元素(例如,filter_disable_flag)的值和第二语法元素(例如,transform_skip_flag)的值。在此实例中,第一语法元素表示是否启用滤波器用于视频数据的块的帧内预测。第二语法元素指定在预测之后的残余信号是否经量化而无需变换。视频解码器可帧内预测性解码所述块。作为帧内预测性解码所述块的部分,视频解码器可至少部分地基于第一语法元素的值和第二语法元素的值确定是否启用或停用滤波器。当滤波器经启用时,视频解码器可将滤波器应用于块的帧内预测性数据。换句话说,视频解码器可在过程中使用滤波器以确定预测性块的样本的值。以此方式,视频解码器可能够确定当使用帧内预测以产生预测性块时是否应用滤波器。
图1是说明可以利用本发明的技术的实例视频译码***10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码或视频解码。因此,图1为说明可利用本发明中所描述的技术的实例视频编码和解码***10的框图。本发明中描述的技术包含用于用信号表示帧内预测中的自适应滤波器使用的技术。
如图1中所示,视频译码***10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可以被称为视频编码装置或视频编码设备。目的地装置14可由源装置12产生的经编码视频数据对进行解码。因此,视频译码***10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码视频数据。因此,目的地装置14可被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频译码装置或视频译码设备的实例。
源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型计算机)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置、车内计算机,或类似物。在一些情况下,源装置12及目的地装置14可能经装备以用于无线通信。
目的地装置14可经由信道16从源装置12接收经编码视频数据。换句话说,源装置12可经由通道16将视频数据提供到目的地装置14。信道16也可被称作“链路”。在一些实例中,信道16可包括计算机可读媒体。信道16可包括能够将经编码视频数据从源装置12移动至目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时将经编码视频数据直接发射至目的地装置14的一或多个通信媒体。在此实例中,源装置12可以根据例如无线通信协议等通信标准调制经编码的视频数据,并且可以将经调制的视频数据发射到目的地装置14。一或多个通信媒体可以包含无线通信媒体和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可以形成基于包的网络的一部分,基于包的网络例如局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的存储媒体。在此实例中,目的地装置14可以例如经由磁盘存取或卡存取来存取存储媒体。因此,在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储媒体(例如,存储装置)可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或其它合适的用于存储经编码视频数据的数字存储媒体。因此,信道16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以从源装置12接收经编码的视频数据并且生产容纳经编码的视频数据的光盘。因此,在各种实例中,可将信道16理解为包含各种形式的一或多个计算机可读媒体。
在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以(例如,经由流式传输或下载)存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。
目的地装置14可通过标准数据连接(例如因特网连接)来存取经编码视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码的视频数据从文件服务器的发射可为流式传输发射、下载发射或两者的组合。
本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视发射、***发射、例如经由因特网的流式传输视频发射(例如经由HTTP的动态自适应流式传输(DASH))、用于储存在数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码***10可经配置以支持单向或双向视频发射以支持例如视频流式传输视频重放、视频广播和/或视频电话等应用。
图1仅为实例,且本发明的技术可适用于未必包含编码及解码装置之间的任何数据通信的视频译码设定(例如视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输,等。视频编码装置可对数据进行编码且将数据存储至存储器,及/或视频解码装置可从存储器检索数据且对数据进行解码。在许多实例中,通过并不彼此通信而是简单地编码数据到存储器及/或从存储器检索数据且解码数据的装置来执行编码及解码。
在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。在一些情况下,输出接口22可以包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形***,或视频数据的此些来源的组合。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。
视频编码器20可对来自视频源18的视频数据(例如,俘获、预先俘获或计算机产生的视频)进行编码。在一些实例中,源装置12经由输出接口22将经编码视频数据直接发射到目的地装置14。在其它实例中,经编码视频数据还可存储到存储媒体或文件服务器上,以便随后通过目的地装置14存取以用于解码及/或播放。根据本发明的技术中的一或多者,源装置12的视频编码器20可应用用于用信号表示帧内预测中的自适应滤波器使用的技术。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在其它实例中,源装置12和目的地装置14可包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而非包含集成显示装置。
输入接口28可经由信道16接收经编码视频数据。在一些实例中,输入接口28包含接收器和/或调制解调器。视频解码器30可对经编码视频数据进行解码。经由信道16传达或在存储装置上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供例如视频解码器30等视频解码器用于对视频数据进行解码。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。因此,在一些实例中,目的地装置14的输入接口28从通道16(例如,计算机可读媒体)接收信息。信道16的信息可包含由视频编码器20定义的也供视频解码器30使用的语法信息,所述语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。
显示装置32可显示经解码视频数据(例如,给用户)。显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、阴极射线管(CRT)显示器,或另一类型的显示装置。
尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。多路复用器-多路分用器单元可符合合适的多路复用器协议。举例来说,如果适用的话,多路复用器-多路分用器单元可符合ITUH.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的电路(例如,编码器或解码器电路,如适用)中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。在其中所述技术部分地以软件实施的实例中,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器在硬件中执行所述指令以执行本发明的技术。可以将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
本发明通常可指视频编码器20将某些信息“用信号表示”到另一装置(例如视频解码器30)。术语“用信号表示”可以大体上是指对用以对经压缩的视频数据进行解码的语法元素和/或其它数据的通信。此通信可实时或接近实时地发生。替代性地,可历时时间跨度而发生此通信,例如当在编码时,以经编码位流将语法元素存储到计算机可读存储媒体时,可发生此通信,接着,在存储到此媒体之后可由解码装置在任何时间检索所述语法元素。
图1的所说明***10仅是一个实例。用于用信号表示帧内预测中的自适应滤波器使用的技术可由任何数字视频编码和/或解码装置执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编解码器”)来执行。此外,视频预处理器可执行本发明的技术中的一或多者。源装置12和目的地装置14仅为此类译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以实质上对称的方式操作,使得装置12、14中的每一者包含视频编码和解码组件。
在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如ISO/IECMPEG-4Visual及ITU-TH.264(也称为ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展)操作。ITU-TH.264/MPEG-4(AVC)标准是由ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定以作为被称为联合视频小组(JVT)的集体伙伴关系的产品。在一些情况下,符合H.264/AVC的基于MVC的3DV扩展的任何位流始终含有顺应H.264/AVC的MVC扩展的子位流。此外,正在致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。在一些方面中,本发明中描述的技术可应用到一般符合H.264标准的装置。H.264标准描述于ITU-T研究组的日期为2005年3月的“ITU-T推荐H.264,用于通用视听服务的高级视频译码(ITU-TRecommendationH.264,AdvancedVideoCodingforgenericaudiovisualservices)”中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)持续致力于扩展H.264/MPEG-4AVC。在其它实例中,视频编码器20和视频解码器30可根据ITU-TH.261、ISO/IECMPEG-1视觉、ITU-TH.262或ISO/IECMPEG-2视觉以及ITU-TH.264、ISO/IEC视觉来操作。替代地,视频编码器20及视频解码器30可根据其它专有或行业标准或此些标准的扩展而操作。
在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准操作。在一些实例中,视频编码器20及视频解码器30符合HEVC测试模型(HM)。HM假设视频译码装置根据例如ITU-TH.264/AVC相对于现存装置的几个额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但HM可提供多达三十三种或三十五种帧内预测编码模式。本发明的技术出于说明的目的参考HEVC而描述,但不一定限于任何特定译码标准。
布洛斯等人的文献JCTVC-L1003v34“高效率视频译码(HEVC)文本规范草案10(针对FDIS和最后呼叫)(Highefficiencyvideocoding(HEVC)textspecificationdraft10(forFDIS&LastCall)(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11视频译码联合合作小组(JCT-VC),第12届会议,瑞士日内瓦,2013年1月14日到23日)中描述了HEVC标准的最近的草案,被称作“HEVC工作草案10”或“WD10”,其可从以下地址下载:http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip。
布洛斯等人在“HEVC版本1的编者提议校正”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第13次会议,韩国仁川,2013年4月)中描述的另一最近HEVC文本规范草案,为简单起见称为HEVCWD10或“WD10修订本”,从http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip可用。HEVC标准的最终版本可用且可被称为“HEVC版本1”。此外,正在致力于产生可缩放视频译码、多视图译码,及HEVC的3DV扩展。HEVC的可缩放视频译码扩展可被称为SHEVC。HEVC的3DV扩展可被称为基于3DV的HEVC或HEVC-3DV。
JCT-VC已开发HEVC标准且继续朝向HEVC标准的范围扩展工作。HEVC标准的范围扩展在弗林(Flynn)、索尔·罗家尔(SoleRojals)和铃木(Suzuki)的“高效率视频译码(HEVC)范围扩展文本规范:草案3”(JCTVC-M1005-v2,ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第13次会议:韩国仁川,2013年4月18到26日)中描述,在本文中被称作“HEVC范围扩展”或“JCTVC-M1005-v2”。至少从2013年10月14日起,JCTVC-M1005从以下地址可用:http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M1005-v2.zip。
在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片群组(GOP)通常包括一系列视频图片中的一或多者。GOP可包含描述GOP中所包含的图片数目的GOP的标头中、图片中的一或多者的标头中或别处的语法数据。
图片可以包含三个样本阵列,表示为SL、SCb以及SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。
为了产生图片的经编码表示,视频编码器20可产生译码树单元(CTU)的集合。CTU中的每一者可以包括明度样本的译码树块、色度样本的两个对应译码树块和用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的N×N块。CTU也可以被称为“树块”或“最大译码单元”(LCU)。以此方式,HM的工作模型描述视频帧或图片可划分成树块或LCU(也被称作“译码树单元”)的序列,其包含明度和色度样本两者。树块可具有与H.264标准的宏块类似的目的。
HEVC的CTU可广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。位流内的语法数据可界定LCU的大小,LCU是在像素数目方面的最大译码单元。
视频帧或图片可以分割成一或多个切片。切片可包含按光栅扫描次序连续排序的整数数目的CTU。换句话说,切片可包含呈译码次序的若干连续树块。在一些实例中,图片的每一切片可包含描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的N×N块。CU可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。CU可具有与H.264标准的宏块类似的用途,只是CU不具有大小区别。
因此,在一些实例中,每一树块可根据四叉树***成一或多个CU。举例来说,树块可***成四个子节点(还称为子CU),并且每一子节点又可为父节点并且可***成另外四个子节点。一般来说,四叉树数据结构包含每个CU一个节点,其中一个根节点对应于所述树块。如果CU***成4个子CU,那么对应于CU的节点包含四个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。称为四叉树的叶节点的最终未***子节点包括也被称作叶CU(例如,经译码视频块)的译码节点。因此,视频块可对应于CU内的译码节点。四叉树数据结构的每一节点可以提供对应CU的语法数据。举例来说,四叉树中的节点可包含***旗标,从而指示对应于所述节点的所述CU是否***成子CU。CU的语法元素可以递归地来定义,且可以取决于CU是否***成子CU。如果CU不进一步***,那么将其称为叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确***时也是如此。举例来说,如果16×16大小的CU不进一步***,那么这四个8×8子CU将也被称作叶CU,虽然16×16CU从未***。CU的大小对应于译码节点的大小(即,CU的译码块的大小),并且在一些实例中必须为正方形形状。CU的大小可以从8×8像素到具有最大64×64像素或更大的树块的大小变动。与经译码位流相关联的语法数据可定义树块可***的最大次数(被称作最大CU深度),并且还可定义译码节点的最小大小。所以,位流还可定义最小译码单元(SCU)。
视频编码器20可将CU的译码块分割为一或多个预测块。预测块是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可产生CU的每一PU的预测块(例如,明度、Cb及Cr预测块)的预测性块(例如,预测性明度、Cb及Cr块)。因此,叶CU可包含一或多个PU。一般来说,PU表示对应于对应CU的全部或一部分的空间区域,且可包含用于检索PU的参考样本的数据。
此外,PU可包含与预测相关的数据。换句话说,PU可包含与预测过程相关的数据。举例来说,当PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包括界定PU的运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可以在CU被跳过还是经直接模式编码、经帧内预测模式编码或帧间预测模式编码之间不同。PU可以分割成非正方形形状。
HM支持各种PU大小的预测。举例来说,在一些实例中,假定特定CU的大小是2N×2N,HM支持2N×2N或N×N的PU大小中的帧内预测,以及2N×2N、2N×N、N×2N或N×N的对称PU大小中的帧间预测。HM还可支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但另一方向分割成25%和75%。CU的对应于25%分区的部分表示成“n”,接着是用“上”、“下”、“左”或“右”指示。因而,举例来说,“2N×nU”指水平地分割的2N×2NCU,其中顶部为2N×0.5NPU,且底部为2N×1.5NPU。
在本发明中,“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可使用帧内预测或帧间预测以产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,那么视频编码器20可基于与PU相关的图片的经解码样本产生PU的预测性块。如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可以基于不同于与PU相关联的图片的一或多个图片的经解码的样本来产生PU的预测性块。在一些实例中,当PU经帧间模式编码时,PU可包含定义用于PU的一或多个运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
当视频译码器使用帧内预测以产生预测性块时,视频译码器可根据来自多个可用帧内预测模式的帧内预测模式产生预测性块。帧内预测模式可包含多个方向性(即,角度)帧内预测模式。举例来说,在HEVC的一些版本中,存在33个方向性帧内预测模式。所述方向性帧内预测模式中的每一者对应于不同方向。图2是说明实例帧内预测模式方向的概念图。当视频译码器根据方向性帧内预测模式产生预测性块时,视频译码器可针对预测性块的每一相应样本向相应样本指派参考样本的值(或参考样本的经加权组合),其在对应于方向性帧内预测模式的方向上与相应样本对准。当视频译码器使用方向性(即,角度)帧内预测模式以产生当前块的预测性块时,视频译码器可称为执行角度帧内预测。
在视频编码器20产生CU的一或多个PU的预测性块(例如,明度、Cb及Cr块)之后,视频编码器20可产生CU的一或多个残余块。换句话说,在使用CU的PU的帧内预测性或帧间预测性译码后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包括在对残余视频数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后在变换域中的系数。
残余块中的每一样本指示CU的预测性块中的一者中的样本与CU的译码块中的一者中的对应样本之间的差。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应的样本之间的差。因此,残余数据可以与在未经编码图片的像素和与PU相对应的预测值之间的像素差相对应。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每个样本可以指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应的样本之间的差异。视频编码器20还可以为CU产Cr残余块。CU的Cr残余块中的每个样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中对应的样本之间的差异。
具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。一般来说,TU用于变换和量化过程。具有一或多个PU的给定CU还可包含一或多个TU。视频编码器20可使用四叉树分割将CU的残余块(例如,明度、Cb及Cr残余块)分解为一或多个变换块(例如,明度、Cb及Cr变换块)。变换块是应用同一变换的样本的矩形(例如,正方形或非正方形)块。因此,TU可为正方形或在一些实例中为非正方形(例如,矩形)形状。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,所述像素差值可变换成变换系数、经量化并且使用TU进行扫描以产生串行化变换系数以用于熵译码。
在一些实例中,TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而设置,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。因此,TU不必限于PU的大小。而是,TU可比PU大或小。对于帧内译码,PU可与同一CU的对应叶TU位于同一地点。在一些实例中,叶TU的最大大小可对应于对应的叶CU的大小。
在一些实例中,***旗标可指示叶CU是否***成四个TU。随后,每一TU可进一步***为另外的若干子TU。当TU未经进一步***时,其可被称作叶TU。在一些实例中,对于帧内译码,属于叶CU的全部叶TU共享同一帧内预测模式。也就是说,通常应用相同帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。
在一些实例中,对应于CU的残余样本可使用被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。换句话说,可使用RQT(也被称作TU四叉树结构)指定TU。即,叶CU的TU也可以与称为RQT的相应四叉树数据结构相关联。以此方式,叶CU可包含指示叶CU如何分割成TU的四叉树。RQT的叶节点可被称为TU。TU四叉树的根节点通常对应于叶CU,而CU四叉树的根节点通常对应于树块(或LCU)。未经***的RQT的TU可被称为叶TU。总的来说,本发明分别使用术语CU和TU指代叶CU和叶TU,除非以其它方式指出。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。在一些实例中,当PU帧内模式编码时,PU的数据可包含在RQT中,所述RQT可包含描述用于对应于所述PU的TU的帧内预测模式的数据。
CU的TU可包括明度样本的变换块、色度样本的两个对应的变换块,以及用以对变换块样本进行变换的语法结构。换句话说,CU的每一TU可以与明度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。以此方式,CU可包含译码节点以及与所述译码节点相关联的PU和TU。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一或多个TU。本发明使用术语“块”来指代在HEVC的上下文中的CU、PU或TU中的任一者,或在其它标准(例如,H.264/AVC中的宏块及其子块)的上下文中的类似数据结构。此外,在一些情况下,本发明可使用术语“视频块”来指代CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”来指包含译码节点以及PU及TU的树块,即,LCU或CU。
视频编码器20将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。换句话说,HEVC标准允许根据TU的变换,其可对于不同CU为不同的。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可以将一或多个变换应用到TU的Cb变换块从而为TU产生Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。以此方式,视频编码器20可形成包含CU的残余数据的TU,且随后变换所述TU以产生CU的变换系数。视频编码器20可形成包含CU的残余数据的TU,并且随后变换TU以产生CU的变换系数。
在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。换句话说,在任何变换以产生变换系数后,视频编码器20可执行变换系数的量化。量化通常是指对变换系数进行量化以可能减小用于表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间被舍去成m位值,其中n大于m。
在量化之后,视频编码器可扫描变换系数,从包括经量化变换系数的二维矩阵产生一维向量。扫描可以经过设计以将较高能量(并且因此较低频率)的系数放置在阵列正面,并且将较低能量(并且因此较高频率)的系数放置在阵列的背面。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可以经熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。
在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示经量化的变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。举例来说,在扫描经量化的变换系数以形成一维向量之后,视频编码器20可以例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法来熵编码所述一维向量。视频编码器还20可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可以选择用于待发射的符号的可变长度码。可构造VLC中的码字以使得相对较短代码对应于更有可能的符号,而较长代码对应于不太可能的符号。举例来说,与对待发射的每一符号使用等长度码字的情形相比较,以此方式,使用VLC可实现位节省。概率确定可基于指派到符号的上下文。
视频编码器20可输出包含形成经译码图片及相关联数据的表示的位元序列的位流。所述位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据类型类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。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单元。
HEVC及其它视频译码标准提供各种类型的参数集。例如,视频参数集(VPS)是包括应用于零或更多整个经译码视频序列(CVS)的语法元素的语法结构。序列参数集(SPS)可含有应用于CVS的所有切片的信息。SPS可包含识别在SPS在作用中时在作用中的VPS的语法元素。因此,VPS的语法元素可比SPS的语法元素更一般地适用。PPS是包括应用于零个或零个以上经译码图片的语法元素的语法结构。PPS可包含识别在PPS在作用中时在作用中的SPS的语法元素。切片的切片标头可包含指示当切片正经译码时在作用中的PPS的语法元素。
视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以获得来自位流的语法元素。视频解码器30可至少部分基于从位流获得的语法元素重构视频数据的图片。用以重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量,以确定当前CU的PU的预测性块。另外,视频解码器30可逆量化与当前CU的TU相关联的系数块。视频解码器30可以对系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。
本发明的技术中的一或多者涉及根据HEVC范围扩展的视频译码。换句话说,本发明的技术中的一或多者可以结合HEVC范围扩展使用。所述技术中的一或多者可为HEVC范围扩展中的帧内预测中使用的参考样本提供自适应滤波器控制。本发明中还描述与屏幕内容译码相关的技术。然而,本发明的技术不一定限于HEVC标准或HEVC范围扩展,且可在其它视频译码***和过程中适用。在以下部分中,呈现用于当前HEVC范围扩展工作草案规范(JCTVC-M1005-v2)中的帧内样本预测的若干滤波操作。
在HEVC帧内预测中,从顶部和左侧相邻块的已经重构的样本用于预测。可多达2*宽度+2*高度+1个样本的相邻参考样本用于帧内预测的参考样本。因此,这些已经重构样本可被称为参考样本。换句话说,在帧内样本预测中,在解块滤波器之前已经重构的来自待由视频编码器20帧内编码或由视频解码器30帧内解码的块的顶部和左侧的相邻样本用于预测。即,这些顶部和左侧像素称为参考样本。参考样本可为在应用循环滤波之前获得的经重构样本。举例来说,按照JCTVC-M1005-v2的技术,在帧内样本预测中,在解块滤波器之前经重构的来自顶部和左侧的相邻样本用于预测。
图3是说明用于HEVC帧内预测的块的实例参考样本的概念图。换句话说,图3是说明当前块和当前块的相邻块的概念图。图3展示大小M(高度)×N(宽度)的块和相邻样本,包含左边相邻样本和顶部相邻参考样本。具体来说,图3展示块大小4×4,且阴影相邻样本(多达2*宽度+2*高度+1个)可用作参考样本。样本由Pi,j,0≤i≤(M-1),0≤j≤(N-1)指示。换句话说,当前块包含行(0,0)到(M-1,0)以及列(0,0)到(0,N-1)中的像素。
阴影块表示可用于预测当前块的像素的相邻像素(即,参考样本)。在图3的实例中,用于帧内预测的参考样本由P-1,j,-1≤j≤(2N-1)和Pi,-1,0≤i≤(2M-1)表示。在HEVC和其它视频译码标准中,如果一或多个参考像素不可用,那么视频译码器可使用特定填补过程以产生遗失的参考样本。举例来说,如果相邻像素不可用(例如,在图片或切片边界中),那么HEVC使用特定填补过程以代入遗失样本,如JCTVC-M1005-v2的子条款8.4.4.2.2中指定。因此,可假设填补过程已完成以使得全部参考样本可用。
对于某些帧内预测模式,执行双线性内插以形成预测。换句话说,当视频译码器使用特定帧内预测模式以产生预测性块时,视频译码器可基于参考样本中的两者的双线性内插针对预测性块的每一相应样本确定相应样本的值。举例来说,当视频译码器使用角度帧内预测模式以产生预测性块时,视频译码器可针对预测性块的每一相应样本确定其中穿过相应样本的线与参考样本的顶部行或参考样本的左边列相交的相交点。角度帧内预测模式界定所述线的角度和方向。视频译码器可使用双线性内插滤波器以基于所述相交点的任一侧上的参考样本确定经内插参考样本的值。相应预测样本的值等于此经内插参考样本的值。
图4A是说明角度帧内预测中的双线性内插的概念图。在图4A的实例中,视频译码器在确定预测性块中的样本“X”的值。穿过样本“X”的线40在参考样本“A”与参考样本“B”之间的位置42处与参考样本的顶部行相交。线40实际上不存在于预测性块或图片中,但出于说明的目的而展示。因此,视频译码器使用双线性内插滤波器以确定位置42的值。样本“X”的值设定成等于位置42的所确定的值。
在JCTVC-M1005-v2中,双线性内插由方程式(8-52)和(8-60)指定。下文再现JCTVC-M1005-v2的含有方程式(8-52)和(8-60)的章节8.4.4.2.6的一部分。
如果predModeIntra等于或大于18,那么以下有序步骤适用:
1.…
2.如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
a.如下导出索引变量iIdx和分数位置因数iFact:
iIdx=((y+1)*intraPredAngle)>>5(8-50)
iFact=((y+1)*intraPredAngle)&31(8-51)
b.取决于iFact的值,以下适用:
-如果iFact不等于0,那么如下导出预测样本predSamples[x][y]的值:
predSamples[x][y]=((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5(8-52)
-否则,如下导出预测样本predSamples[x][y]的值:
predSamples[x][y]=ref[x+iIdx+1](8-53)
c.当predModeIntra等于26(垂直),cIdx等于0,nTbS小于32且cu_transquant_bypass_flag等于0时,以下滤波适用,其中x=0,y=0..nTbS-1:
predSamples[x][y]=Clip1Y(p[x][-1]+((p[-1][y]-p[-1][-1])>>1))(8-54)
否则(predModeIntra小于18),以下有序步骤适用:
1.…
2.如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
a.如下导出索引变量iIdx和分数位置因数iFact:
iIdx=((x+1)*intraPredAngle)>>5(8-58)
iFact=((x+1)*intraPredAngle)&31(8-59)
b.取决于iFact的值,以下适用:
-如果iFact不等于0,那么如下导出预测样本predSamples[x][y]的值:predSamples[x][y]=((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5(8-60)
-否则,如下导出预测样本predSamples[x][y]的值:
predSamples[x][y]=ref[y+iIdx+1](8-61)
c.当predModeIntra等于10(水平),cIdx等于0,nTbS小于32且cu_transquant_bypass_flag等于0时,以下滤波适用,其中x=0..nTbS-1,y=0:
predSamples[x][y]=Clip1Y(p[-1][y]+((p[x][-1]-p[-1][-1])>>1))(8-62)
屏幕内容或非相机产生内容可含有极尖锐边缘。因此,双线性内插可能不适合于形成此些内容的预测值。因此,陈等人的“非RCE2:用于屏幕内容译码的增强角度帧内预测(Non-RCE2:Enhancedangularintra-predictionforscreencontentcoding)”(JCTVC-N0183,ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的JCT-VC,第14次会议:奥地利维也纳,2013年7月25日到8月2日(下文为“JCTVC-N0183”))提出当iFact不等于零时使用最近相邻者内插,其经受参考样本的子集的方差大于阈值的条件。换句话说,JCTVC-N0183提出使用最近相邻样本选择而无经受条件的1/32像素准确性内插滤波器。在一个方法中,如果参考样本子集的方差大于阈值,那么停用滤波。以帧内预测方向确定所述子集(即,确定子集中的参考样本)。换句话说,在JCTVC-N0183中,参考样本子集是基于帧内预测模式确定。在另一方法中,如果两个邻近参考样本之间的差大于阈值,那么停用滤波。如JCTVC-N0183中所描述,此适配针对全部预测样本执行。换句话说,视频译码器可针对预测性块的每一样本确定是否应用双线性内插滤波器。
如以上方程式(8-51)和(8-59)所示,iFact是基于预测性块的样本的位置和帧内预测角度的分数位置因数。JCTVC-N0183提出当iFact不等于零时使用最近相邻者内插,经受参考样本子集的方差大于阈值的条件。换句话说,如果参考样本的子集的变量大于阈值且iFact不等于零,那么视频译码器可使用最近相邻者内插。JCTVC-N0183提出当iFact不等于零时使用最近相邻者内插,经受参考样本子集的方差大于阈值的条件。换句话说,如果参考样本的子集的变量大于阈值且iFact不等于零,那么视频译码器可使用最近相邻者内插。虽然本发明描述最近相邻者内插作为内插的形式,但最近相邻者内插可仅包括将预测性样本设定为等于参考样本中的一者而无需基于任何其它参考样本的值修改参考样本的值。
双线性内插滤波器和由JCTVC-N0183提出的最近相邻者预测的使用可如下指定。参考样本A与B之间的双线性内插可描述为:
predSamples[x][y]=((32-iFact)*A+iFact*B+16)>>5
对于最近相邻者内插,如果iFact小于或等于16,那么
predSamples[x][y]=A,otherwisepredSamples[x][y]=B。
图4B是说明角度帧内预测中的最近相邻者预测的概念图。图4B类似于图4A之处在于视频译码器在确定预测性块中的样本“X”的值。穿过样本“X”的线44在参考样本“A”与参考样本“B”之间的位置46处与参考样本的顶部行相交。线44实际上不存在于预测性块或图片中,但出于说明的目的而展示。然而,在最近相邻者预测中,视频译码器不使用双线性内插滤波器来确定位置46的值。而是,将样本“X”的值设定成等于参考样本中更接近于线44与参考样本的顶部行相交处的位置的任何一者(例如,参考样本“A”)。举例来说,如果用于样本“X”的iFact的值小于或等于16,那么将样本“X”的值设定成等于样本“A”的值。否则,将样本“X”的值设定成等于样本“B”的值。因此,在最近相邻者预测中不应用滤波。
JCTVC-M1005-v2描述一般参考样本的产生和取代。JCTVC-M1005-v2还描述模式相依帧内平滑(MDIS)过程。在如上文所论述产生参考样本之后,可针对每一参考样本应用平滑滤波器。举例来说,针对特定块大小和预测模式可不同地应用不同平滑滤波器。HEVC使用[121]/4平滑滤波器用于大于或等于8×8的块大小。另外,如果相邻样本满足特定准则,那么针对32×32块大小可执行更强的平滑。对于帧内预测模式,仅角度预测中的对角线模式(即,2、18、34)加平面模式使用8×8块大小中的经平滑参考样本。然而,对预测模式的限制在较大块中较松弛。举例来说,对于32×32块,在编码器或解码器中,除了水平和垂直预测方向外的全部角度模式使用经平滑样本。DC帧内预测模式在任何情况下都不使用平滑滤波。JCTVC-M1005-v2的子条款8.4.4.2.3中提供DC帧内预测模式的更详细描述。
JCTVC-M1005-v2还描述1/32像素(即,1/32像素)双线性内插。在角度预测中,通过将位置投影到参考像素而获得每一预测样本(即,预测性块的每一样本)。如JCTVC-M1005-v2中指定使用两个最近参考样本在1/32像素准确性下内插预测值,下文在公式(8-52)中展示:
predSamples[x][y]=((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5(8-52)
在公式(8-52)中,iFact是对应于所投影子像素位置的两个参考样本(即,ref[x+iIdx+1]和ref[x+iIdx+2])之间的加权。iFact是从预测方向以及预测样本的x和y索引导出。在以上JCTVC-M1005-v2的子条款8.4.4.2.6中论述更多细节。
JCTVC-M1005-v2还描述例如使用边缘滤波器和/或DC滤波的边界滤波。在边缘滤波中,编码器和/或解码器分别使用基于梯度的平滑对第一预测列进行滤波以用于垂直预测且对第一预测行进行滤波以用于水平预测,如下在JCTVC-M1005-v2的方程式(8-54)和(8-62)中所示:
predSamples[x][y]=
Clip1Y(p[x][-1]+((p[-1][y]-p[-1][-1])>>1))(8-54)
predSamples[x][y]=
Clip1Y(p[-1][y]+((p[x][-1]-p[-1][-1])>>1))(8-62)
在DC滤波中,以两分接头FIR滤波器使用DC值对预测性块的第一预测行和预测性块的第一预测列进行滤波,且当块大小小于32时以用于明度(明度)分量的3分接头滤波器(DC值、上方和左边相邻样本)对预测性块的拐角样本进行滤波。如下在HEVCWD规范中计算DC值:
d c V a l = ( Σ x ′ = 0 n T b S - 1 p [ x ′ ] [ - 1 ] + Σ y ′ = 0 n T b S - 1 p [ - 1 ] [ y ′ ] + n T b S ) > > ( k + 1 ) - - - ( 8 - 41 )
其中k=Log2(nTbS)。
下文再现JCTVC-M1005-v2的包含方程式(8-41)的章节8.4.4.2.5。
对此过程的输入是:
-相邻样本p[x][y],其中x=-1,y=-1..nTbS*2-1以及x=0..nTbS*2-1,y=-1,
-指定变换块大小的变量nTbS,
-指定当前块的颜色分量的变量cIdx。
此过程的输出是预测样本predSamples[x][y],其中x,y=0..nTbS-1。
通过以下有序步骤导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
1.如下导出变量dcVal:
d c V a l = ( Σ x ′ = 0 n T b S - 1 p [ x ′ ] [ - 1 ] + Σ y ′ = 0 n T b S - 1 p [ - 1 ] [ y ′ ] + n T b S ) > > ( k + 1 ) - - - ( 8 - 41 )
其中k=Log2(nTbS)。
2.取决于颜色分量索引cIdx的值,以下适用:
-如果cIdx等于0且nTbS小于32,那么以下适用:
predSamples[0][0]=(p[-1][0]+2*dcVal+p[0][-1]+2)>>2(8-42)
predSamples[x][0]=(p[x][-1]+3*dcVal+2)>>2,其中x=1..nTbS-1(8-43)
predSamples[0][y]=(p[-1][y]+3*dcVal+2)>>2,其中y=1..nTbS-1(8-44)
predSamples[x][y]=dcVal,其中x,y=1..nTbS-1(8-45)
-否则,如下导出预测样本predSamples[x][y]:
predSamples[x][y]=dcVal,其中x,y=0..nTbS-1(8-46)
如JCTVC-M1005-v2的章节8.4.4.2.5的方程式(8-42)中所示,视频译码器将3分接头FIR滤波器应用于预测性块的拐角样本(即,predSamples[0][0])。此外,如JCTVC-M1005-v2的8.4.4.2.5的方程式(8-43)中所示,视频译码器将2分接头滤波器应用于预测性块的第一行(即,predSamples[x][0])。此外,如JCTVC-M1005-v2的8.4.4.2.5的方程式(8-44)中所示,视频译码器将2分接头滤波器应用于预测性块的第一列(即,predSamples[0][y])。
可存在与由JCTVC-N0183提出的技术相关联的一或多个问题。举例来说,由JCTVC-N0183提出的技术依赖于方差。此方差的计算可为相对复杂的。
根据本发明的一个实例技术,替代于使用JCTVC-N0183中提出的方差来确定是否使用双线性内插滤波或最近相邻者预测(即,最近相邻者内插),视频译码器可使用相邻参考样本之间的绝对差总和作为度量。绝对差总和的计算可不如方差的计算那么复杂。此度量可用以确定是否使用最近相邻者内插。假设用于度量计算的参考样本子集含有由Si,0≤i≤(K-1)表示的K个样本。随后,相邻参考样本之间的绝对差总和(SAD)是:
S A D = Σ i = 0 K - 2 a b s ( S i - S i + 1 ) .
因此,在此实例中,视频译码器可至少部分地基于相邻参考样本之间的绝对差总和计算度量。举例来说,视频编码器20可确定子集中在当前块上方的参考样本的SAD值,单独地确定在当前块的左侧上的参考样本的SAD值,且随后将这两个SAD值相加。另外,视频译码器可至少部分地基于所述度量确定当基于相邻参考样本产生预测性块时是否使用最近相邻者内插。
在替代实例中,子集中在当前块上方的参考样本和在当前块的左侧上的那些参考样本的SAD值可单独地计算且随后加在一起。此外,其它度量也可用以表示帧内参考样本中的变化。换句话说,视频译码器可使用其它度量来表示帧内参考样本中的变化。
本发明的各种实例描述基于一或多个相邻参考样本确定度量。在其中度量用以确定将使用的滤波模式的此些实例中,视频译码器(例如,视频编码器或视频解码器)可基于在将帧内平滑(例如,用于32×32块的帧内平滑或双线性内插)应用于相邻参考样本之前相邻参考样本具有的值来确定所述度量。替代地,视频译码器可基于相邻参考样本在将帧内平滑应用于相邻参考样本之后具有的值来确定所述度量。在其中度量用以确定是否停用滤波器的实例中,视频译码器可基于相邻参考样本在将帧内平滑应用于相邻参考样本之后具有的值来确定所述度量。
如上文所描述,当确定参考样本时,HEVC(或另一视频译码规范)可针对某些帧内预测模式和某些块大小使用帧内参考样本的平滑。对于32×32块(即,大小32×32的块),在某些条件下,可应用双线性内插滤波器而不是平滑滤波器。换句话说,当视频译码器在确定将用于产生32×32预测性块的参考样本时,视频译码器可将双线性滤波器而不是平滑滤波器应用于视频译码器将使用以确定预测性块的样本的值的参考样本。当前HEVC范围扩展规范(JCTVC-M1005-v2)的章节8.4.4.2.3描述将此双线性滤波器应用于32×32块的参考样本而不是平滑滤波器。下文再现JCTVC-M1005-v2的章节8.4.4.2.3:
8.4.4.2.3相邻样本的滤波过程
对此过程的输入是:
-相邻样本p[x][y],其中x=-1,y=-1..nTbS*2-1和x=0..nTbS*2-1,y=-1,
-指定变换块大小的变量nTbS。
此过程的输出是经滤波样本pF[x][y],其中x=-1,y=-1..nTbS*2-1以及x=0..nTbS*2-1,y=-1。
如下导出变量filterFlag:
-如果以下条件中的一或多者是真,那么将filterFlag设定为等于0:
-predModeIntra等于INTRA_DC。
-nTbS等于4。
-否则,以下适用:
-将变量minDistVerHor设定成等于Min(Abs(predModeIntra-26),Abs(predModeIntra-10))。
-在表8-4中指定变量intraHorVerDistThres[nTbS]。
-如下导出变量filterFlag:
-如果minDistVerHor大于intraHorVerDistThres[nTbS],那么将filterFlag设定成等于1。
-否则,将filterFlag设定成等于0。
表8-4用于各种变换块大小的intraHorVerDistThres[nTbS]的规范
nTbS=8 nTbS=16 nTbS=32
intraHorVerDistThres[nTbS] 7 1 0
当filterFlag等于1时,以下适用:
-如下导出变量biIntFlag:
-如果全部以下条件为真,那么将biIntFlag设定成等于1:
-strong_intra_smoothing_enabled_flag等于1
-nTbS等于32
-Abs(p[-1][-1]+p[nTbS*2-1][-1]-2*p[nTbS-1][-1])<(1<<(BitDepthY-5))
-Abs(p[-1][-1]+p[-1][nTbS*2-1]-2*p[-1][nTbS-1])<(1<<(BitDepthY-5))
-否则,将biIntFlag设定成等于0。
-如下执行滤波:
-如果biIntFlag等于1,那么如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..63以及x=0..63,y=-1:
pF[-1][-1]=p[-1][-1](8-30)
pF[-1][y]=((63-y)*p[-1][-1]+(y+1)*p[-1][63]+32)>>6其中y=0..62(8-31)
pF[-1][63]=p[-1][63](8-32)
pF[x][-1]=((63-x)*p[-1][-1]+(x+1)*p[63][-1]+32)>>6其中x=0..62(8-33)
pF[63][-1]=p[63][-1](8-34)
-否则(biIntFlag等于0),如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..nTbS*2-1以及x=0..nTbS*2-1,y=-1:
pF[-1][-1]=(p[-1][0]+2*p[-1][-1]+p[0][-1]+2)>>2(8-35)
pF[-1][y]=(p[-1][y+1]+2*p[-1][y]+p[-1][y-1]+2)>>2其中y=0..nTbS*2-2(8-36)
pF[-1][nTbS*2-1]=p[-1][nTbS*2-1](8-37)
pF[x][-1]=(p[x-1][-1]+2*p[x][-1]+p[x+1][-1]+2)>>2其中x=0..nTbS*2-2(8-38)
pF[nTbS*2-1][-1]=p[nTbS*2-1][-1](8-39)
在本发明的另一实例技术中,如果在参考样本(或其子集)上计算的度量大于阈值,那么将filterFlag设定成0。换句话说,视频译码器可响应于确定在帧内参考样本上计算的度量超过阈值而将filterFlag设定为0。在一些实例中,此度量是相邻参考样本之间的绝对差总和。将filterFlag设定为0可暗示没有平滑或双线性内插滤波(binIntFlag)应用于帧内预测参考样本。换句话说,如果filterFlag是0,那么视频译码器不将平滑或双线性内插滤波应用于帧内预测参考样本。
根据本发明的另一实例技术,度量(例如相邻参考样本之间的方差或绝对差总和)用以确定平滑或双线性内插滤波(binIntFlag)是否应用于帧内预测参考样本。换句话说,视频译码器基于度量确定是否将平滑或双线性内插滤波应用于帧内预测参考样本。在此实例中,随后使用另一度量以确定当iFact不等于0时是否双线性或最近相邻者内插应用于参考样本。换句话说,当iFact不等于0时,视频译码器可基于第二不同度量确定是否将双线性内插滤波或最近相邻者内插滤波应用于帧内预测参考样本。在一些实例中,使用同一度量(例如,方差、相邻参考样本之间的绝对差总和等)来做出两个决策。举例来说,视频译码器可基于同一度量确定是否应用平滑或双线性内插滤波器以及是否将双线性内插滤波或最近相邻者内插滤波应用于帧内预测参考样本。
根据本发明的另一实例技术,当iFact不等于0时,可使用双线性内插形成一些预测值且可使用最近相邻者内插形成其它预测值。换句话说,视频译码器可使用双线性内插来确定预测性块的一些样本的值且可使用最近相邻者内插来确定预测性块的其它样本的值。在此实例中,决定使用哪一种形式的内插的度量是将用于预测的两个参考样本之间的绝对差。换句话说,视频译码器可基于将用于确定预测性块的样本的值的两个参考样本之间的绝对差而确定是否使用双线性内插或最近相邻者内插确定所述样本的值。在此实例中,如果此差(即,参考样本之间的绝对差)大于阈值,那么视频译码器使用最近相邻者内插。此外,在此实例中,如果所述差小于或等于阈值,那么视频译码器使用双线性内插。在其它实例中,替代于使用参考样本之间的绝对差,视频译码器还可使用其它度量。
除上述问题之外,用于帧内预测的滤波操作还可存在以下问题。第一,HEVC中用于帧内预测的滤波设计是针对自然视频而开发。然而,屏幕内容或非相机产生的视频可包含沿着对象边界具有尖锐边缘的合成内容。此性质可与在HEVC中使用的滤波设计原理冲突。滤波操作可使差异模糊。因此,不准确的预测样本可带来译码损耗。第二,停用1/32像素内插滤波器可如JCTVC-N0183文献中所描述自适应地触发。然而,JCTVC-N0183描述的决策过程是复杂的。此外,JCTVC-N0183描述的决策过程由于对预测模式的相依性而不是***友好的设计。此外,JCTVC-N0183中描述的决策过程仅对于内插滤波器关闭起作用。第三,在JCTVC-N0183中,用于决策准则的阈值不是灵活的。如本发明中在别处所描述,用于决策准则的阈值可以比JCTVC-N0183中提出的形式更灵活的形式制定。
本发明描述用于自适应地开启和关闭用于帧内预测的滤波器的各种技术。所述技术可个别地或以任何组合执行,且可在例如视频编码器20等编码器内执行以支持帧内编码过程和/或在例如视频解码器30等解码器内执行以支持帧内解码过程。
本发明描述用于自适应地关闭用于帧内预测的滤波器的技术。在一些实例中,所述技术可开启滤波器停用旗标(即,停用滤波旗标)以例如部分或完全地停用一或多个滤波器。换句话说,自适应地停用所述一或多个滤波器包括确定指示所述一或多个滤波器是否停用的停用旗标的值。在各种实例中,当一或多个准则满足或超过一或多个规定阈值时可开启滤波器停用旗标(例如,以停用滤波器)。举例来说,视频译码器可响应于视频译码器确定一或多个准则满足或超过一或多个规定阈值而停用一或多个滤波器。
所述技术在各种实例中可包括低复杂性准则以决定用于关闭滤波器的旗标。换句话说,视频译码器可使用低复杂性准则以确定是否将滤波器停用旗标设定为“开启”。举例来说,在一些实例中,以经译码语法元素(例如,“transform_skip_flag”和/或“cu_transquant_bypass_flag”)决定所述旗标(即,滤波器停用旗标)。此外,本发明描述用于开启所述旗标的各种决策准则。另外,本发明描述基于不同块大小和/或分量类型(例如,明度或色度分量)做出的决策准则的变化。此外,本发明描述基于块大小和分量类型的方法的限制。本发明还描述用于减少复杂性的方法。这些用于减少复杂性的方法可包含决策过程中的像素样本的基于CU的适配和子取样。举例来说,在基于CU的适配中,视频译码器可以CU到CU为基础确定是否停用滤波器,与如JCTVC-N0183中所描述以逐样本为基础确定是否停用滤波器相反。
另外,本发明的技术中的一或多者提供由决策过程产生的旗标的解码过程。在一些实例中,在编码器和解码器中使用旗标(即,滤波器停用旗标)的同一导出过程。换句话说,视频编码器和视频解码器可使用同一导出过程用于滤波器停用旗标。在其它实例中,本发明的技术提供旗标(即,滤波器停用旗标)的显式信令。滤波器停用旗标的显式信令可为基于TU的、基于PU的、基于CU的等等。举例来说,视频编码器20可在以下各项中的至少一者中显式地用信号表示滤波器停用旗标:TU、PU或CU。
此外,本发明的技术中的一或多者提供在决策过程中使用的适配参数的隐式导出。在其它实例中,本发明的技术中的一或多者提供的参数的显式信令(例如,在视频参数集、序列参数集、图片参数集和/或在别处中)。另外,本发明描述通过旗标(即,滤波器停用旗标)将停用的实例滤波器。
图5是说明根据本发明的实例用于HEVC帧内预测的块的参考样本的自适应滤波器控制的方法的概念图。参考图5,视频译码器(例如视频编码器20或视频解码器30)可执行根据以下程序的此实例的所提出的方法。
第一,从左下方位置(例如,P2M-1,-1)到右上方位置(例如,P-1,2N-1)、即沿着图5中的箭头指示的路径遍历相邻像素(即,帧内预测参考样本),考虑从左下方位置P2M-1,-1到左上方位置P-1,-1且随后到右上方位置P-1,2N-1的相邻像素中的全部或一些。替代地,视频译码器可使用包括相邻像素(即,帧内预测参考样本)的任何路径或图案。举例来说,可逆转图5的路径以从右上方位置P-1,2N-1延行到左上方位置P-1,-1且随后到左下方位置P2M-1,-1
第二,找到沿着路径的任何两个连续相邻样本(即,帧内预测参考样本)之间大于预定阈值(Thr1)的像素差。在一些实例中,所述像素差是连续相邻者样本的值之间的差的绝对值。举例来说,视频译码器可确定沿着扫描路径的两个连续相邻样本的像素值之间的差,且可比较所述差(例如,差的绝对值)与阈值(Thr1)。所述两个连续相邻样本可彼此邻近。替代地,在相邻样本是沿着扫描路径经子取样以用于此确定的情况下,所述两个连续相邻样本经连续扫描但可能不彼此紧邻。在一些实例中,将Thr1设定成1<<(位深度-1),其中位深度指示相邻样本的位深度。替代地,[0,(1<<位深度)-1]中的任何整数值可用作阈值Thr1。
第三,如果视频译码器找到沿着路径的具有大于Thr1的像素差的两个连续相邻样本(即,帧内预测参考样本),那么视频译码器开启停用旗标(即,滤波器停用旗标)。在一些实例中,视频编码器可开启停用旗标且可将停用旗标用信号表示给视频解码器。替代地,视频解码器可以如上文所描述的方式(即,以与视频编码器相同或类似的方式)在视频解码器处基于在解码器侧的相邻样本的路径的扫描而推断且产生停用旗标。在其它实例中,替代于开启停用旗标,视频编码器可产生指示滤波器应停用的语法元素。然而,本发明出于说明的目的描述停用旗标的使用。
第四,如果停用旗标开启,那么视频译码器停用MDIS中的整个滤波器集合或一些滤波器(例如,平滑滤波器、DC帧内预测模式滤波器)、1/32像素内插以及边缘滤波器。因此,在一些实例中,当停用旗标开启时可关闭(即,停用)一或多个滤波器。举例来说,当停用此些滤波器中的一些或全部时,在帧内预测中的参考样本的使用之前不对参考样本执行相关滤波操作。此外,当停用一些此类帧内预测滤波器时,此些帧内预测滤波器不应用于预测性块的样本。
另外,在一些实例中,可停用DC滤波器。即,除停用MDIS中的滤波器中的一些或全部、1/32像素内插和边缘滤波器之外,还可单独停用DC滤波器或与停用其它滤波器中的一或多者结合(例如,根据停用旗标)。作为另一替代方案,在一些实例中,可开启或关闭个别停用旗标以指示个别滤波器操作的停用状态。作为说明,在各种实例中,当开启一或多个停用旗标时,可停用MDIS中的一或多个滤波器同时启用其它滤波器,可停用1/32像素内插中的一或多个滤波器同时启用其它滤波器,停用边缘滤波器中的一或多个滤波器同时启用其它滤波器,停用DC滤波器同时启用其它滤波器,停用前述滤波器中的两者或两者以上(以任何组合)同时启用其它滤波器,停用前述滤波器的任何组合同时启用其它滤波器,或停用全部滤波器。在一些实例中,停用旗标可指定用于待经帧内译码的给定块的滤波器的停用。
在此实例中描述的程序可在用于块(例如,CU、PU、TU等)的整个帧内预测中由视频编码器或视频解码器执行一次,且可在任何滤波操作之前调用。即,在一个实例中,视频译码器可在执行MDIS之前执行上文对于停用滤波器所述的操作。其后,视频译码器可在适当时使用经完全滤波、经部分滤波或未经滤波参考样本用于帧内预测。针对用于块的整个帧内预测执行这些程序一次可没有以逐样本为基础确定是否停用特定滤波器那么复杂。
在本发明的另一实例中,应用基于计数器的决策准则。换句话说,视频译码器应用基于计数器的决策准则。作为在路径中的两个连续相邻样本之间的像素差(例如,绝对像素差)超过阈值的情况下产生停用旗标(例如,开启停用旗标)的替代方案,视频译码器可确定其中路径中的两个连续相邻样本之间的像素差(例如,绝对像素差)超过第一阈值的实例的数目的计数。视频译码器可随后将所述计数与第二阈值进行比较。因此,视频译码器可随后基于所述计数确定停用旗标的产生。基于计数器的决策准则的使用的实例可如下操作。
第一,遍历相邻像素。举例来说,视频译码器可沿着从左下方位置(即,P2M-1,-1)到右上方位置(即,P-1,2N-1)(例如,沿着图5中的箭头指示的路径)遍历相邻像素,考虑从左下方位置P2M-1,-1到左上方位置P-1,-1且随后到右上方位置P-1,2N-1的相邻像素中的全部或一些。如参考以上实例所提到,所述路径可在相反方向中或在不同路径或模式中前进。
第二,找到沿着所述路径的两个连续(例如,邻近)样本之间的大于预定阈值(Thr1)的像素差。第三,如果所述像素差(例如,绝对像素差)大于预定阈值(Thr1),那么将计数器增加一。第四,如果计数器的值大于第二阈值(Thr2),那么开启停用旗标。如果计数器的值小于或等于第二阈值(Thr2),那么关闭停用旗标。第四,如果停用旗标开启,那么停用滤波器。举例来说,停用MDIS中的滤波器、1/32像素内插和边缘滤波器中的全部或一些(例如,如上文所描述)。另外,在一些实例中如果停用旗标开启,那么可停用DC滤波器(例如,如上文所描述)。
作为一个替代方案,视频译码器(例如,视频编码器或视频解码器)可基于其中路径中的两个连续相邻样本之间的像素差小于另一阈值的实例的数目的计数而开启停用旗标。举例来说,视频译码器可如上文所描述在通过相邻样本的路径的遍历中找到两个邻近样本之间的小于阈值(Thr3)的像素差。
用于小于阈值Th3的像素差的基于计数器的决策准则的使用的实例可在编码器或解码器中如下操作。第一,沿着路径遍历相邻像素(例如,如上文所描述)。第二,找到沿着路径的两个连续(例如,邻近)样本之间的小于阈值(Thr3)的像素差(例如,绝对像素差)。第三,如果视频译码器找到小于阈值(Thr3)的像素差(例如,绝对像素差),那么视频译码器将计数器增加一。第四,如果计数器大于阈值(Thr4),那么视频译码器开启停用旗标。第五,如果停用旗标开启,那么停用全部滤波器,或停用一些滤波器,例如如上文所描述。
作为先前段落的实例的第四步骤的替代方案或除其之外,视频译码器可以组合方式考虑具有大于Thr1的差(例如,绝对差)的计数器。举例来说,如果小于Thr3的像素差(例如,绝对像素差)的计数的数目超过阈值Thr4,且大于Thr1的像素差(例如,绝对像素差)的计数超过阈值Thr2,那么视频译码器开启停用旗标(例如,以使得全部滤波操作中的一些停用且不应用于用于待译码块的帧内译码的参考样本)。在此实例中,如果未满足这些条件中的任一者,那么视频译码器可关闭停用旗标(例如,以使得滤波应用于参考样本)。
根据本发明的另一实例,替代于使用与阈值的逐样本比较或与计数的逐样本比较,视频译码器(例如,视频编码器或视频解码器)可使用多种不同准则中的任一者来确定是否停用滤波器。举例来说,视频译码器可使用3分接头有限脉冲响应(FIR)滤波器(例如,使用[-1,2,-1])来检测尖锐边缘。视频译码器可逐像素或每三个像素执行FIR滤波。作为一个说明,FIR滤波器掩码沿着相邻参考样本的路径(例如,在如上文实例中的一或多者中所描述且如图5中所示的路径中)移动。视频译码器可将FIR滤波器掩码每次移动一个像素或每次移动三个像素,从而产生用于每一三个像素的集合(可对其应用FIR滤波器的系数)的FIR滤波器输出。因此,在一些实例中,对其应用FIR滤波器的连续三个像素的集合可彼此重叠或在集合中包含的参考样本方面可为相异的。如果来自沿着路径的三个样本的连续经FIR滤波集合中的任一者的滤波器输出(例如,滤波器输出的绝对值)产生超过预定阈值的值,那么视频译码器可开启停用旗标。替代地,在基于计数的实例中,如果视频译码器对超过阈值的滤波器输出(例如,滤波器输出的绝对值)进行计数,且计数超过计数阈值,那么视频译码器可开启停用旗标。否则,视频译码器可关闭停用旗标。
在一个实例中,视频译码器仅使用图5中由P2M-1,-1、P-1-1和P-1,2N-1表示的三个拐角。在此实例中,视频译码器检查所述差是否所述差(例如,绝对差)大于阈值。举例来说,视频译码器可使用图5中由P2M-1,-1、P-1-1和P-1,2N-1表示的三个拐角作为对FIR滤波器的输入。作为一个实例,如果通过将FIR滤波器分别应用于参考样本P2M-1,-1、P-1,-1和P-1,2N-1的值产生的FIR滤波器输出(例如,FIR滤波器输出的绝对值)超过预定阈值,那么视频译码器可开启停用旗标,以使得停用全部滤波器或一些滤波器。作为另一替代方案,替代于使用参考样本P2M-1,-1、P-1,-1和P-1,2N-1作为对FIR滤波器的输入,视频译码器可将FIR滤波器应用于左边列中的参考样本P2M-1,-1、PM,-1和P-1,1以及顶部行中的参考样本P-1,2N-1、P-1,N和P-1,-1。在此情况下,视频译码器应用FIR滤波两次。再次,如果FIR滤波器输出(例如,FIR滤波器输出的绝对值)超过预定阈值,那么视频译码器可开启停用旗标。
替代地或另外,视频译码器可联合地考虑两个相邻像素的绝对差总和(SAD)值,例如具有上述FIR滤波器输出。视频译码器可针对用以产生FIR滤波器输出的像素中的两者之间的全部像素计算SAD值。即,对于左边列中的P(2M-1,-1)和P(-1,-1),邻近像素的SAD指代P(2M-1-k,-1)和P(2M-1-k-1,-1)的差的总和,其中k=0,...,2M-1。针对顶部行以类似方式获得SAD。
在一些实例中,左边的三个样本像素(P2M+1,PM-1-1,P-1-1,)和上方的三个样本像素(P2N+1,PN-1-1,P-1-1,)用于FIR滤波器。组合结果中的每一者以做出一个旗标。在另一实例中,MDIS中使用的同一条件用于此决策准则。举例来说,如果满足关闭MDIS的准则,那么可开启用于停用应用于相邻参考样本的滤波器的停用旗标。此外,在一些实例中,使用两个连续像素中的差的方差。举例来说,由于如上文所描述沿着路径确定连续像素之间的像素差,因此视频译码器可计算像素差之间的方差。如果所述方差超过预定方差阈值,那么视频译码器可开启停用旗标以使得部分或完全地停用应用于参考样本的滤波器。
作为另一替代方案,使用像素差的正负号改变的计数。举例来说,由于如上文所描述沿着路径确定连续像素之间的像素差,因此例如从正到负和/或从负到正的正负号改变的数目可计数且与阈值进行比较。如果所述计数超过预定计数阈值,那么编码器或解码器可开启停用旗标以使得部分或完全地停用应用于参考样本的滤波器。
根据本发明的另一实例,自适应地选择参考样本的部分区以做出滤波器开启/关闭决策。换句话说,视频译码器可自适应地选择帧内预测参考样本的部分区且基于参考样本的所述选定部分区确定是否启用或停用滤波。举例来说,替代于扫描左边相邻列和顶部相邻行中的全部参考样本,可使用包含不到全部相邻参考样本的选定子集或区。此子集可以用于以上实例中的一或多者中的上述实例过程中的一或多者。
举例来说,一个实例将使用用于给定预测模式的参考像素。举例来说,给定预测模式可为特定角度帧内预测模式。在此实例中,如果预测角度为负,那么使用[PM-1,-1,P-1-1]与[P-1-1,P-1,N-1]之间的像素。否则,如果预测角度为正且更接近垂直方向,那么使用范围[P-1-1,P-1,2N-1]中的像素。否则(如果预测角度为正且接近水平),那么使用范围[P-1-1,P2M-1,-1]中的像素。在这些实例中的每一者中,沿着相邻像素的左边列和顶部行的路径的像素子集可参考以上实例中的一或多者在上述确定中的任一者中使用。作为实例,如果预测角度为正且与水平方向相比更接近垂直方向,那么视频译码器可使用范围[P-1-1,P-1,2N-1]中的像素以用于如以上各种实例中所描述的基于像素差的确定、基于计数的确定或基于FIR的确定(例如,以便确定是否开启滤波器停用旗标)。同样,如果预测角度为负,那么视频译码器可在此些确定中使用[PM-1,-1,P-1-1]与[P-1-1,P-1,N-1]之间的像素。
在另一实例中,如果用于上方行的计数器大于用于左边列的计数器,那么视频译码器使用上方行中的参考样本。举例来说,如果超过用于顶部行中的参考样本的预定像素阈值的像素差(例如,绝对像素差)的计数大于超过用于左边列中的参考样本的预定像素阈值的像素差(例如,绝对像素差)的计数,那么视频译码器将来自顶部行的计数与计数阈值进行比较。相反,如果左边列的计数大于顶部行中的计数,那么视频译码器使用左边列中的参考样本。举例来说,如果超过用于左边列中的参考样本的预定像素阈值的像素差(例如,绝对像素差)的计数大于超过用于顶部行中的参考样本的预定像素阈值的像素差(例如,绝对像素差)的计数,那么视频译码器可将来自左边列的计数与计数阈值进行比较。在任一情况下,如果选定计数超过计数阈值,那么视频译码器开启停用旗标。可根据是否使用相邻参考样本(即,帧内预测参考样本)的整个集合或是否使用选定子集来选择或按比例缩放计数阈值。
在另一实例中,从HEVC范围扩展(即,JCTVC-M1005-v2)的8.4.4.2.2中指定的填补产生的一些参考像素在决策中不考虑。举例来说,上述确定中的任一者可例如针对不同阈值、计数阈值或其它确定从考虑排除已经通过填补而添加的参考像素。
根据本发明的另一实例,取决于块大小、分量类型和输入视频类型而呈现若干参数适配。举例来说,随着块大小而不是一个值来自适应地改变阈值。换句话说,替代于使用一个阈值,视频译码器可基于块大小自适应地改变阈值。举例来说,例如在以上提供的实例中的一或多者中使用的上述像素差阈值和/或计数阈值的各种值可基于块大小(例如,逐像素大小)、分量类型(例如,明度或色度分量)或输入视频类型(例如,颜色取样格式)而调整。在一个实例中,如果待译码块的块大小加倍,那么用于4×4块大小的阈值Thr2和/或Thr4加倍。在另一实例中,当块大小例如相对于预定大小增加时,可将正整数或零偏移添加到阈值Thr2和/或Thr4。
此外,在一些实例中,随着分量类型而不是用于全部分量的一个值来自适应地改变阈值。举例来说,可将阈值的值指定为针对块的明度分量不同于色度分量。因此,可存在用于明度分量和色度分量的个别阈值。用于色度分量的阈值可相同或不同。可计算或存储各种阈值。
另外,在一些实例中,随着输入视频类型自适应地改变阈值。换句话说,视频译码器可基于输入视频类型自适应地改变阈值。因此,不同颜色取样格式可具有不同阈值。对于4:2:2视频序列,将用于色度分量的阈值Thr2和/或Thr4减少在4:4:4视频序列中使用的阈值的二分之一。视频译码器可使用不同阈值用于不同输入视频类型以确定给定输入视频类型的明度和色度分量的相同阈值,或给定输入视频类型的明度和色度分量之间的不同阈值,其中在任一情况中阈值可根据输入视频类型变化。
根据本发明的另一实例,例如如上文参考以上实例所描述的用于自适应地关闭一或多个滤波器的方法关于块大小和/或分量类型受限制。举例来说,以上提供的实例中的一或多者中描述的技术仅应用于小于某一大小的块大小,且当待译码块的块大小大于或等于所述某一大小时不应用。举例来说,所述方法仅应用于4×4块大小。然而,替代地,用于自适应地关闭一或多个滤波器的方法仅应用于最小TU大小。然而,替代地,用于自适应地关闭一或多个滤波器的方法仅应用于最小CU大小。然而,替代地,用于自适应地关闭一或多个滤波器的方法仅在CU具有N×N分区的情况下应用。作为另一实例,用于自适应地关闭一或多个滤波器的方法仅应用于某一分量类型。举例来说,所述方法仅应用于明度分量译码。然而,替代地,所提出的方法在输入视频是4:4:4视频输入的情况下可应用于全部分量(例如,Y、U和V)。
根据本发明的另一实例,相邻参考样本(即,帧内预测参考样本)在比较中经子取样以使得计算复杂性可减小。举例来说,用以确定是否关闭滤波(例如,开启停用旗标)的相邻参考样本可为参考样本的经子取样集合。在一些实例中,以因数2将参考像素向下取样。替代地,在其它实例中,视频译码器随着块大小增加而增加向下取样比率。
图6是说明使用根据本发明的另一实例的用于HEVC帧内预测的CU的TU的参考样本的自适应滤波器控制的方法的概念图。在HEVC中,每TU执行帧内预测。因此,根据本发明的一些实例,视频译码器可执行4×4块处理。参考图6,为了减少复杂性,在CU中执行用于自适应地关闭一或多个滤波器的方法一次,且停用旗标控制用于所述CU中的帧内预测的全部相关滤波。图6展示其中CU中存在四个TU的实例。CU的上方和左边的参考样本用于例如在本发明中描述的实例技术中的任一者中的决策以确定针对用于所述CU内的PU和/或TU的帧内译码的参考样本应用滤波器,且应用停用旗标以用于关闭所述CU的PU和/或TU中的滤波器。
在以上实例中,在编码器和解码器两者处以相同方式导出停用旗标。然而,在一些实例中,在编码器侧导出旗标且用信号表示给解码器侧。换句话说,视频编码器可将滤波器停用旗标用信号表示给视频解码器。视频解码器可在剖析旗标之后控制相关滤波。在一些实例中,视频编码器在PU中用信号表示所述旗标。在其它实例中,例如先前段落的实例,视频编码器可在CU中用信号表示所述旗标。
此外,根据本发明的一或多个实例,在以上实例中随着块大小和分量类型而固定或自适应地改变阈值(例如,Thr1、Thr2、Thr3等)。在一些此类实例中,视频编码器可将阈值(例如,Thr1、Thr2、Thr3等)用信号表示且发射到视频解码器。在一些实例中,视频编码器在由视频编码器产生的切片标头、PPS、SPS或VPS中的至少一者中用信号表示所述阈值。另外,在一些实例中,视频编码器可在以下各项中的至少一者中用信号表示限制条件(例如,如以上实例中的一或多者中所描述,其中所述方法可关于块大小和/或分量类型受限制):切片标头、PPS、SPS或VPS。
在HEVC中,coding_unit语法结构对应于CU。CU的coding_unit语法结构可包含对应于CU的RQT的transform_tree语法结构。transform_tree语法结构可包含额外transform_tree语法结构或transform_unit语法结构。如果transform_tree语法结构包括transform_unit语法结构,那么transform_tree语法结构对应于RQT的叶节点。以下在表1中再现HEVC的transform_tree语法结构。
表1
如表1中所示,transform_tree语法结构可包含cbf_cb、cbf_cr和cbf_luma语法元素。cbf_cb、cbf_cr和cbf_luma语法元素可共同地被称作经译码块旗标(CBF)。等于1的cbf_cb语法元素指定对应于transform_tree语法结构的Cb变换块含有不等于0的一或多个变换系数水平。等于1的cbf_cr语法元素指定对应于transform_tree语法结构的Cr变换块含有不等于0的一或多个变换系数水平。等于1的cbf_luma语法元素指定对应于transform_tree语法结构的明度变换块含有不等于0的一或多个变换系数水平。
此外,在HEVC中,transform_unit语法结构可包含一或多个residual_coding语法结构。transform_unit语法结构中residual_coding语法结构的包含取决于含有transform_unit语法结构的transform_tree语法结构中指定的CBF的值。以下在表2中再现HEVC的transform_unit语法结构。
表2
此外,residual_coding语法结构可包含transform_skip_flag语法元素,其指定变换是否应用于相关联变换块。换句话说,transform_skip_flag调用变换跳过操作,其中在预测之后的残余信号经量化而无变换,例如无需应用DCT。本发明可将块(例如,CU)的残余块的样本称为块的残余信号。residual_coding语法结构还可包含语法元素(例如,sig_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remaining),其指定变换系数的值或在其中未应用变换的情况下指定残余样本。在一些实例中,如果cu_transquant_bypass_flag开启,那么不用信号表示transform_skip_flag。
根据本发明的另一实例,例如transform_skip_flag语法元素等变换跳过语法元素用以确定是否开启或关闭滤波器停用旗标。举例来说,视频解码器30可基于指示变换是否应用于变换块的变换跳过语法元素而确定是否开启或关闭滤波器停用旗标。举例来说,如果transform_skip_flag开启(或关闭),那么开启(或关闭)滤波器停用旗标。在此配置中,如果transform_skip_flag开启,那么开启滤波器停用旗标,且如果transform_skip_flag关闭,那么关闭停用旗标。换句话说,语法元素(即,transform_skip_flag)指定残余信号是否经量化而无需变换,如果所述语法元素开启则开启停用旗标,且如果停用旗标开启则停用用于帧内预测的一或多个滤波器。在一些实例中,这可仅应用于4×4块,但不会经受大小问题。在一些实例中,基于transform_skip_flag的开启或关闭状态而开启或关闭停用旗标的操作可仅应用于4×4块。
替代地,在一些实例中,变换跳过旗标条件可与以上各种实例中提到的任何其它条件组合。举例来说,可基于transform_skip_flag是否开启或关闭以及例如多种基于阈值的准则中的任一者(例如上述基于阈值的准则)等其它准则的组合而开启或关闭滤波器停用旗标。
在HEVC中,coding_unit语法结构对应于CU。coding_unit语法结构可包含cu_transquant_bypass_flag语法元素。等于1的cu_transquant_bypass_flag语法元素指定如HEVC的子条款8.6中指定的按比例缩放和变换过程以及如HEVC的子条款8.7中指定的环路内滤波器过程被绕过。当cu_transquant_bypass_flag语法元素不存在于coding_unit语法结构中时,推断其等于0。在一些情况下,cu_transquant_bypass_flag可被称为transquant_bypass_flag。在无损译码配置中,cu_transquant_bypass_flag语法元素开启(例如,等于1),且经预测块(即,变换块)经译码而无需量化和变换。
作为本发明的另一实例,例如cu_transquant_bypass_flag语法元素等量化和变换绕过语法元素可用以确定是否开启或关闭滤波器停用旗标。举例来说,视频解码器30可基于量化和变换绕过语法元素而确定是否开启或关闭滤波器停用旗标。在此配置中,如果cu_transquant_bypass_flag语法元素开启,那么开启滤波器停用旗标。如果cu_transquant_bypass_flag语法元素关闭,那么关闭停用旗标。因此,在此实例中,当语法元素(即,cu_transquant_bypass_flag)时预测性块经译码而无需量化和变换,如果所述语法元素开启则开启停用旗标,且如果停用旗标开启则停用一或多个滤波器。替代地,可使用同一transform_skip_flag。换句话说,如果transform_skip_flag关闭,那么关闭滤波器停用旗标。在一些实例中,如果cu_transquant_bypass_flag开启,那么不用信号表示transform_skip_flag。下文提供与本发明的一或多个实例一致的细节的额外阐述。
与本发明的以上实例或其它实例中的一或多者一致,transform_skip_flag可以用于决定停用滤波旗标。transform_skip_flag已经在TU中可用,因为帧内预测/重构过程在每个TU层级中完成。此外,与本发明的上述一或多个实例或其它实例一致,可基于例如transform_skip_flag等变换跳过旗标决定停用滤波旗标的操作。当变换跳过旗标对于TU为0时,将停用滤波旗标设定成0,且应用如当前HEVC范围扩展规范中的滤波。当变换跳过旗标是1时,将停用滤波旗标设定成1,并且停用滤波。
在另一实例中,滤波的停用可基于任何隐式导出方法,例如本发明中描述的3分接头FIR滤波器[1,-2,1]。在此实例中,如果变换跳过旗标是0,那么应用如当前HEVC范围扩展规范中的滤波(例如,如JCTVC-M1005-v2的章节8.4.4.2.3中所描述)。当变换跳过旗标是1且FIR滤波的结果低于阈值且停用滤波旗标是0时,应用如当前HEVC范围扩展规范(即,JCTVC-M1005-v2)中的滤波。当变换跳过旗标是1且FIR滤波的结果高于阈值时,停用滤波旗标是1,且停用滤波。换句话说,语法元素(即,transform_skip_flag)指定残余信号是否经量化而无需变换,且如果停用旗标等于1且FIR滤波器的结果经确定为高于阈值,那么停用用于帧内预测的一或多个滤波器。
此外,与本发明的一或多个实例一致,在无损译码的情况下,可取决于transquant_bypass_flag而不是transform_skip_flag和/或FIR滤波器的结果来做出滤波的应用。替代地,滤波的应用可单独取决于无损译码中的停用滤波旗标。
在各种实例中,本发明描述用于对视频数据进行译码的方法。所述方法可包括基于多个帧内预测参考样本中的至少一些的一或多个特性而自适应地停用用以对所述帧内预测参考样本进行滤波的一或多个滤波器,使用所述帧内预测参考样本对视频数据进行帧内译码。自适应地停用可包括基于相邻于CU的帧内预测样本的一或多个特性而自适应地停用用于所述CU中的全部PU或TU的一或多个滤波器。在一些实例中,自适应地停用包括基于相邻于相应PU或TU的帧内预测样本的个别集合的一或多个特性而自适应地停用用于CU中的个别PU或TU的一或多个滤波器。
用以自适应地停用所述一或多个滤波器的所述一或多个特性可包含所述多个参考样本中的参考样本之间的像素差(例如,绝对像素差)是否超过预定阈值。替代地或另外,所述一或多个特性可包含其中所述多个参考样本的参考样本之间的像素差(例如,绝对像素差)超过预定阈值的实例的数目的计数是否超过计数阈值。所述一或多个特性替代地或另外可包含其中所述多个参考样本的参考样本之间的像素差(例如,绝对像素差)超过第一预定阈值的实例的数目的计数是否超过第一计数阈值,以及其中所述多个参考样本的参考样本之间的像素差(例如,绝对像素差)小于第二预定阈值的实例的数目的计数是否超过第二计数阈值。
作为另一实例,所述一或多个特性包含应用于所述多个参考样本中的参考样本的3分接头FIR滤波器的输出(例如,3分接头FIR滤波器的输出的绝对值)是否超过阈值。作为另一实例,所述一或多个特性包含其中应用于所述多个参考样本中的参考样本的3分接头FIR滤波器的输出(例如,3分接头FIR滤波器的输出的绝对值)超过阈值的实例的计数是否超过计数阈值。对其应用FIR滤波器的参考样本可包含穿过参考样本阵列的路径中的三个参考样本的连续集合,每次递增一个像素或每次递增三个像素。对其应用FIR滤波器的参考样本可包含参考样本阵列中的参考样本P2M-1,-1、P-1,-1和P-1,2N-1,参考样本P2M-1,-1、PM,-1和P-1,-1,或参考样本P-1,2N-1、P-1,N和P-1,-1
帧内预测参考样本中的至少一些的特性可包含基于多个预测模式中的选定一者选择的所述多个参考样本中的不到全部参考样本的子集的特性。帧内预测参考样本中的至少一些的特性可包含参考样本的顶部行或左边列的特性,其中所述顶部行或左边列是基于其中所述顶部行或左边列的参考样本之间的像素差超过预定阈值的实例的数目的计数超过计数阈值而选择。
在一些实例中,视频译码器可基于块大小、分量类型或输入视频类型中的至少一者选择性适配一或多个阈值,和/或基于块大小或分量类型中的至少一者选择性开启和关闭所述自适应地停用的步骤。帧内预测参考样本中的至少一些的所述一或多个特性可针对参考样本的经子取样集合。在各种实例中使用的阈值中的一或多者可在经编码位流中用信号表示,例如在PPS、SPS或VPS中的至少一者中用信号表示。
在另一实例中,本发明描述用于对视频数据进行译码的方法,所述方法包括基于语法元素自适应地停用用以对多个帧内预测参考样本进行滤波的一或多个滤波器,且使用所述帧内预测参考样本对视频数据进行帧内译码。所述语法元素可为例如transform_skip_flag等变换跳过语法元素,且所述方法可包括当transform_skip_flag开启时停用所述一或多个滤波器。transform_skip_flag调用变换跳过操作,其中在预测之后的残余信号经量化而无需变换。替代地,所述语法元素可为量化和变换语法元素,例如cu_transquant_bypass旗标,且所述方法可包括当cu_transquant_bypass旗标开启时停用所述一或多个滤波器。cu_transquant_bypass_flag调用其中经预测块经译码而无需量化和变换的操作。
在至少一些实例中,帧内译码包括例如在视频解码器30处的帧内解码,且帧内解码包括基于帧内预测参考样本(由于自适应地停用一或多个滤波器而经滤波、经部分地滤波或未经滤波)和残余数据对视频数据进行帧内解码。所述方法可进一步包括在解码器30处基于所述一或多个特性开启停用旗标,或在经编码位流中接收所述停用旗标。在其它实例中,帧内译码可包括帧内编码,且帧内编码包括基于帧内预测参考样本(由于自适应地停用一或多个滤波器而经滤波、经部分地滤波或未经滤波)和残余数据对视频数据进行帧内编码。
本发明进一步预期本文所描述的方法的任何组合,以及视频解码器、视频编码器和经配置以执行此些方法的任何组合的其它装置,以及存储指令的计算机可读存储媒体,所述指令当执行时致使装置的一或多个处理器经配置以执行此些方法的任何组合。
以上提供的实例中的一些是用于确定是否停用滤波器的隐式导出方法。隐式导出方法可在编码器侧提供比显式信令少的灵活性,且可提供较小译码增益。当执行用于HEVC或其它视频译码标准的帧内预测的滤波操作时,本发明的额外技术可在编码侧进一步减少复杂性且增加灵活性。
举例来说,本发明描述与对用于关闭用于帧内预测的一或多个滤波器的语法元素(例如旗标)进行译码(例如,用信号表示)相关的各种技术。这些技术包含下文描述的技术,其可单独或以任何组合使用。一般来说,所述技术包含可为基于CU的、基于CU分区的和/或基于TU的各种阶层式信令。取决于视频序列格式(例如,视频数据是否符合4:2:0格式、4:2:2格式或4:4:4格式),可存在不同信令方法。本发明还描述基于例如块大小和颜色分量类型(例如,明度、蓝色调色度和/或红色调色度)对信令方法的限制。本发明还描述用于对语法元素(例如,旗标)进行CABAC译码的技术。除在CU、CU分区和/或TU中用信号表示所述语法元素之外或作为其替代,可在VPS、SPS、PPS和/或切片标头中用信号表示所述语法元素。一般来说,所述语法元素可指示一或多个帧内预测滤波器是否停用。
在HEVC版本1中,在帧内预测期间的滤波操作应用于TU。在本发明的技术的实例中,呈现基于TU的信令方法。换句话说,可在TU(即,变换树的叶节点)中用信号表示旗标以控制滤波开启/关闭指示。在一些实例中,可用信号表示三个旗标以单独地控制三个分量。举例来说,可用信号表示三个旗标以分别控制明度(明度或Y)、蓝色调色度(Cb)和红色调色度(Cr)。替代地,在其它实例中,可用信号表示两个旗标:一个用以控制用于明度的滤波,且另一个用以控制用于两个色度通道(Cb和Cr)的滤波。在此些实例中,用于Cb和Cr的滤波操作可仅经受色度通道中的旗标。
图7是说明包含两个正方形TU的实例矩形的概念图。明确地说,矩形块包含TU0及TU1。在一个实例中,可针对矩形块用信号表示旗标,使得所述旗标指示是否针对TU0及TU1中的每一者启用帧内预测滤波。在另一实例中,可针对TU0与TU1用信号表示单独旗标,其中用于TU0的旗标指示是否针对TU0启用帧内预测滤波,且用于TU1的旗标指示是否针对TU1启用帧内预测滤波。
如在HEVC范围扩展工作草案规范(即,JCTVC-M1005-v2)中关于4:2:2视频格式所描述,用于Cb/Cr的TU的形状可为非正方形。举例来说,在4:2:2视频格式中,用于Cb/Cr的TU的形状可为矩形,如图7中所示。矩形进一步划分成两个正方形,例如TU0及TU1(如图7中所示),以避免使用非正方形变换。在此情况(4:2:2视频格式及Cb/Cr分量变换)下,视频编码器20可用信号表示用于正方形(TU0及TU1)中的每一者的旗标。或者,视频编码器20可仅用信号表示用于矩形的旗标,以使得所述旗标可控制与两个正方形变换皆相关的滤波。然而,此情况不适用于仅4:2:2视频格式及Cb/Cr分量。即,信令方法可经一般化以用于任何矩形变换,其不仅可适用于Y分量,而且适用于任何视讯格式的色度分量。
视频编码器20可在CU分区(N×N或2N×2N)中用信号表示旗标,以使得旗标可控制CU分区内部的所有TU的滤波开启/关闭。在一些实例中,视频编码器20对于所述分区用信号表示三个旗标,每一旗标对应于一个分量(例如,分别为Y、Cb和Cr)。或者,视频编码器20可每分区用信号表示两个旗标,分别对应于Y分量和联合的Cb与Cr分量(或通道)。以此方式,用于Cb与Cr两者的滤波操作可经受用于色度通道的旗标。
如下文相对于图8和9所详细地解释,可针对CU的一或多个分区用信号表示旗标。旗标可指示是否将对对应分区的TU执行滤波。图8和9中所示的实例表示可如何针对明度分量用信号表示旗标。对于色度分量存在变化。在一个实例中,视频编码器20用信号表示用于色度分量的旗标一次,无论CU如何分割。在另一实例中,视频编码器20可针对每色度分量的每一分区用信号表示一个旗标(以与明度分量相同的方式)。在一些实例中,视频编码器20仅在视频数据符合4:4:4视频格式时才针对每色度分量的每一分区用信号表示一个旗标。
图8是说明分割成四个N×NTU的实例2N×2NCU的概念图。图8展示分割成四个N×N分区的CU的实例(假定含有的CU为2N×2N)。如图8中所示,存在分别用于四个分区的四个旗标。每一旗标控制所述分区中的相应一者内的滤波操作。
图9是说明具有一个2N×2N分区的实例2N×2NCU的概念图。图9展示在CU分割成一个2N×2N分区时的实例。如图9中所展示,仅存在用于整个分区的一个旗标,其对应于TU中的每一者。
在一些实例中,无论CU分区形状如何,视频编码器20皆可在CU中用信号表示旗标一次,使得所述旗标控制CU内的所有滤波操作。举例来说,视频编码器20可用信号表示三个旗标,其中的每一者控制Y、Cb和Cr分量中的相应者的滤波。或者,视频编码器20可用信号表示两个旗标,一个控制明度通道的滤波,且另一个控制色度通道的滤波。用于Cb和Cr两者的滤波操作可经受针对色度通道用信号表示的旗标。
在一些实例中,可以一或多个各种方式限制用于控制帧内预测中的滤波的旗标的信令。举例来说,可能存在基于TU和/或CU大小、分区形状和/或通道/分量类型的限制。各种限制可为独立的或经组合以形成一或多个联合条件。下文列出一些实例限制,其再次可单独或以任何组合来加以使用:
-仅当CU分区为N×N时才用信号表示旗标。
-仅当CU大小小于可(或可不)用信号表示于切片标头、PPS、SPS和/或VPS中的阈值时才用信号表示旗标。
-仅当TU大小小于可(或可不)用信号表示于切片标头、PPS、SPS和/或VPS中的阈值时才用信号表示旗标。
-仅当使用某些预测模式时才用信号表示旗标。
-仅当用信号表示于切片标头、PPS、SPS和/或VPS中的旗标允许所述方法时才用信号表示旗标。
-仅针对明度通道或Y分量用信号表示旗标。
-仅当CU大小为所支持的最小CU大小时才用信号表示旗标。
-仅当TU大小为所支持的最小TU大小时才用信号表示旗标。
-仅当经译码块旗标(CBF)在TU中设定为1时才用信号表示旗标。
在论述以上信令时,应理解,在视频编码器20可对例如旗标等语法元素的值进行编码的意义上,视频编码器20通常用信号表示旗标的值。换句话说,视频编码器20可在位流中包含指示语法元素的值的数据。同样,视频解码器30可对语法元素的值进行解码。换句话说,视频解码器30可基于位流中的数据确定语法元素的值。更一般来说,对语法元素的值进行编码和解码可称为对语法元素的值进行“译码”。视频编码器20和视频解码器30可使用CABAC对语法元素的值进行译码。
为了将CABAC编码应用于语法元素,视频编码器可将语法元素二进制化以形成被称为“二进制数(bin)”的一系列一或多个位。另外,视频编码器可识别译码上下文。译码上下文可识别译码二进制数具有特定值的概率。举例来说,译码上下文可指示对0值二进制数进行译码的0.7概率,以及对1值二进制数进行译码的0.3概率。在识别出译码上下文之后,视频编码器可将间隔划分成下部子间隔和上部子间隔。所述子间隔中的一者可与值0相关联,且另一子间隔可与值1相关联。所述子间隔的宽度可与由经识别的译码上下文关于相关联值所指示的概率成正比。如果语法元素的二进制数具有与下部子间隔相关联的值,那么经编码值可等于下部子间隔的下边界。如果语法元素的相同二进制数具有与上部子间隔相关联的值,那么经编码值可等于上部子间隔的下边界。为了编码语法元素的下一个二进制数,视频编码器可重复这些步骤,其中间隔为与经编码位的值相关联的子间隔。当视频编码器针对下一个二进制数重复这些步骤时,视频编码器可使用基于由经识别的译码上下文指示的概率及经编码的二进制数的实际值的经修改概率。
当视频解码器对语法元素执行CABAC解码时,视频解码器可识别译码上下文。视频解码器可接着将间隔划分成下部子间隔和上部子间隔。所述子间隔中的一者可与值0相关联,且另一子间隔可与值1相关联。所述子间隔的宽度可与由经识别的译码上下文关于相关联值所指示的概率成正比。如果经编码值在下部子间隔内,那么视频解码器可解码具有与下部子间隔相关联的值的二进制数。如果经编码值在上部子间隔内,那么视频解码器可解码具有与上部子间隔相关联的值的二进制数。为了解码语法元素的下一个二进制数,视频解码器可重复这些步骤,其中间隔为含有经编码值的子间隔。当视频解码器针对下一个二进制数重复这些步骤时,视频解码器可使用基于由经识别的译码上下文指示的概率及经解码的二进制数的经修改概率。视频解码器可接着对二进制数去二进制化以恢复语法元素。
在一些实例中,视频编码器20和视频解码器30可每通道(或替代地,针对每一分量)使用一个上下文来确定用于对语法元素进行译码的上下文(即,译码上下文)。或者,可能存在由一或多个相邻块(例如,左侧和/或顶部相邻CU、PU和/或TU)中用信号表示的旗标决定的一或多个两个上下文索引。作为一个实例,如果左侧相邻CU、PU或TU中的旗标设定为等于零或不可用,那么视频编码器20和视频解码器30可确定用于对当前CU、PU或TU的旗标进行CABAC译码的上下文索引为零。作为另一实例,如果左侧相邻块中的旗标可用且等于一,那么视频编码器20和视频解码器30可确定用于对当前CU/PU/TU的旗标进行CABAC译码的上下文索引为一。
作为又一实例,可能存在由左侧相邻块(例如,CU、PU和/或TU)中用信号表示的旗标和上部相邻块(例如,CU、PU和/或TU)中的旗标决定的三个上下文。视频编码器20和视频解码器30可如下确定上下文索引(ctxIdx):
ctxIdx=(FlagLeft&&AvailLeft)+(FlagAbove&&AvailAbove)(1)
在式(1)的实例中,FlagLeft和FlagAbove分别指代左侧和上部CU、PU或TU中用信号表示的旗标,且AvailLeft和AvailAbove指代旗标是否可用。如果可用,那么其为1。否则,其为0。
或者,视频编码器20和视频解码器30可通过从相邻参考样本获得的测量值导出上下文。在本发明中提供的实例中的一或多者中,存在用于开启/关闭一组滤波器的若干隐式准则,且那些准则可如下用于上下文索引推导:
-参考样本的方差
-两个邻近像素之间的绝对差总和
-大于阈值的像素之间的最大差(例如,绝对差)。
-具有大于阈值的最大差(例如,最大绝对差)的计数数目
-[1,-2,1]FIR滤波和大于阈值的结果(例如,结果的绝对值)
-像素差的正负号改变的计数
-以上准则的任何组合。
此外或在替代方案中,可在上下文索引推导中考虑若干语法元素:
-预测模式
-块大小
-分区大小
在一些实例中,视频编码器20和视频解码器30可经配置以隐含地导出表示用于帧内预测的滤波器是否将停用的语法元素(例如,旗标)的值。当隐含地导出时,视频编码器20无需用信号表示语法元素的值,且视频解码器30无需接收所述语法元素的值。
在一些实例中,对于小于(或替代地,大于)阈值的块大小,视频编码器20和视频解码器30隐含地导出旗标的值。推导准则可与在本发明的其它实例中描述的准则相同。否则,可明确地用信号表示旗标。
在一个实例中,对于明度通道(或Y分量),视频编码器20和视频解码器30隐含地导出旗标,但对于色度通道(或Cb、Cr分量),视频编码器20和视频解码器30可明确地对旗标的值进行译码。或者,对于明度通道(或Y分量),视频编码器20和视频解码器30可对旗标的值进行译码,但对于色度通道(或Cb、Cr分量),视频编码器20和视频解码器30可隐含地导出旗标的值。
在一些实例中,通过隐式推导方法自适应地开启/关闭一些滤波器,同时明确地用信号表示其它滤波器的旗标。即,对于相同块,可使用经显式译码旗标明确地启用或停用一或多个滤波器,同时可使用隐式推导启用或停用一或多个其它滤波器。
在一些实例中,可在切片标头、PPS、SPS和/或VPS中用信号表示(例如,译码)高阶语法(HLS)旗标。仅当切片标头、PPS、SPS和/或VPS中的一或多者中的对应旗标指示可启用帧内预测滤波时,视频编码器20和视频解码器30才可对CU、PU和/或TU层级的类似旗标的值进行译码。
一般来说,在以上实例中,可使用语法元素或隐式推导启用或停用一或多个滤波器。举例来说,滤波器可包含MDIS滤波器、1/32像素(pel)双线性内插滤波器、边界滤波器、边缘滤波器和/或DC滤波器中的任一者或全部。VPS、SPS、PPS和/或切片标头可基于CU、PU和/或TU层级语法元素(例如,旗标)中的一或多者指定关闭(或可启用)哪些滤波器。
在本发明的另一实例中,假定明确地在CU层级或TU层级用信号表示停用滤波旗标。在此些实例中,视频编码器20可在TU层级在CBF之前用信号表示停用滤波旗标。举例来说,停用滤波旗标可位于在CBF之前的transform_tree语法结构中。因此,在此假设下,停用滤波旗标始终用信号表示于transform_skip_flag语法元素(其用信号表示于出现于transform_tree语法元素中的CBF之后的transform_unit语法结构中的residual_coding语法结构中)之前。如上文所指示,transform_skip_flag语法元素的值可调用变换跳过操作,其中预测之后的残余信号可经量化而无需变换(例如,不应用DCT)。
上文所描述的本发明的各种实例提供通过变换跳过旗标决定停用滤波旗标的技术和/或任何隐式推导方法。根据本发明的关于停用滤波旗标的显式信令的额外实例,停用滤波旗标的操作可进一步基于transform_skip_flag语法元素的值而改变。根据此实例,当停用滤波旗标为1(或具有指示可停用滤波的某一其它值)且用于TU的transform_skip_flag语法元素为0(或指示将跳过对于TU的变换(即,不将变换应用于TU)的另一值)时,可应用如HEVC范围扩展(JCTVC-M1005-v2)规范的章节8.4.4.2.6中所描述的滤波。换句话说,视频译码器可应用JCTVC-M1005-v2的等式(8到52)或(8到60)的双线性滤波或JCTVC-M1005-v2的等式(8到53)或(8到61)的最近相邻者内插。然而,当停用滤波旗标为1(或指示可停用滤波的某一其它值)且用于TU的transform_skip_flag为1(或指示是否将变换应用于TU取决于其它语法元素的某一其它值)时,可停用滤波。当停用滤波旗标为0时,可应用如在HEVC范围扩展规范(JCTVC-M1005-v2)中的滤波,而不顾及transform_skip_flag。换句话说,视频译码器可应用JCTVC-M1005-v2的等式(8到52)或(8到60)的双线性滤波或JCTVC-M1005-v2的等式(8到53)或(8到61)的最近相邻者内插。
在无损译码的情况下,可取决于transquant_bypass_flag而非transform_skip_flag进行滤波的应用。举例来说,当含有TU的CU的transquant_bypass_flag语法元素具有指示对于TU将跳过变换和量化的值时,视频译码器可应用如JCTVC-M1005-v2的章节8.4.4.2.6中所描述的滤波。然而,当cu_transquant_bypass_flag不具有指示对于TU跳过变换和量化的值时,视频译码器可停用滤波。或者,滤波的应用可单独取决于无损译码中的停用滤波旗标。
在另一实例中,滤波的停用可基于任何隐式推导方法,例如在本发明的各种实例中描述的3分接头FIR滤波器[1,-2,1]。在此情况下,如果停用滤波旗标为1且FIR滤波的结果低于阈值,那么可应用如在JCTVC-M1005-v2中的滤波。当停用滤波旗标为1且FIR滤波的结果高于阈值时,可停用滤波。当停用滤波旗标为0时,可应用如在JCTVC-M1005-v2中的滤波而不顾及transform_skip_flag。此外,在一些实例中,可基于transform_skip_flag与一或多个隐式推导方法的组合调节用于应用滤波的准则,如在本发明的其它实例中所描述。
图10是说明可实施本发明的技术的实例视频编码器20的框图。图10是出于解释的目的而提供,且不应被视为将技术限制为本发明中所大致例示和描述的技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测以减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。
在图10的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。预测处理单元100也可被称作“模式选择单元”。帧间预测处理单元120包含运动估计单元122和运动补偿单元124。运动估计单元122与运动补偿单元124可高度整合,但出于概念目的而单独地说明。视频编码器20包含逆量化单元108、逆变换处理单元110和用于视频块重构的重构单元112。在一些实例中,残余产生单元102和/或重构单元112为求和器。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
视频编码器20可接收视频数据。视频编码器20可对视频数据的图片的切片中每一CTU进行编码。CTU中的每一者可与图片的大小相等的明度译码树块(CTB)以及对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可执行四叉树分割以将CTU的CTB划分为逐渐更小的块。较小块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。
如图10中所展示,视频编码器20接收视频数据且将所述数据分割成视频块。换句话说,在编码过程期间,视频编码器20接收待译码的视频帧或切片。在一些实例中,视频编码器20的分割模块(未展示)将数据分割为视频块。换句话说,分割模块可将视频数据块分割为子块(例如,基于先前译码遍次中的先前分割方案的评估)。举例来说,预测处理单元100可最初将帧或切片分割为LCU,且基于速率-失真分析(例如,速率-失真优化)将LCU中的每一者分割为子CU。预测处理单元100可进一步产生指示LCU到子CU的分割的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU和一或多个TU。此分割还可包含分割成切片、单元片或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20一般说明编码待编码的视频切片内的视频块的组件。所述切片可分成多个视频块(并且可能分成被称作单元片的视频块集合)。预测处理单元100可基于误差结果(例如,译码速率及失真程度)而为当前视频块选择多个可能译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元100可经配置以实施用于执行帧内预测的本发明的技术。预测处理单元100可将所得帧内或帧间译码块提供到残余产生单元102(例如,求和器)以产生残余块数据且提供到重构单元112(例如,求和器)以重构适经编码块供用作参考图片。
视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小并且PU的大小可指PU的明度预测块的大小。假定特定CU的大小是2N×2N,那么视频编码器20和视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,以及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20和视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非对称分割。
预测处理单元100内的帧内预测处理单元126可相对于与待译码的当前块在同一帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。在各种实例中,帧内预测处理单元126可执行本文所述的用于在编码过程的帧内预测期间自适应地控制滤波的技术中的一或多者。预测处理单元100内的运动估计单元122及运动补偿单元124相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测性译码以提供时间压缩。
帧间预测处理单元120可通过对CU的每一PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块以及PU的运动信息。帧间预测处理单元120可根据PU是否在I切片、P切片或B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,那么帧间预测处理单元120并不对PU执行帧间预测。在一些实例中,运动估计单元122可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片标明为P切片、B切片或GPB切片。视频编码器20可执行多个译码遍次,例如,以针对每一视频数据块选择适当的译码模式。
运动估计单元122所执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测块的移位。运动估计单元122可通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一者识别存储在经解码图片缓冲器116中的一或多个参考图片。运动估计单元122将计算出的运动向量发送到熵编码单元118和运动补偿单元124。
预测块是被发现在像素差方面与待译码视频块的PU密切匹配的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储于经解码图片缓冲器116(即,参考帧存储器)中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元122可相对于整数像素位置和分数像素位置执行运动搜索且输出具有分数像素精度的运动向量。
通过运动补偿单元124执行的运动补偿可涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元124可在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20(例如,视频编码器20的残余产生单元102)可通过从正译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值而形成残余视频块。一般来说,运动估计单元122相对于明度分量执行运动估计,且运动补偿单元124对于色度分量和明度分量两者使用基于明度分量计算的运动向量。像素差值形成用于所述块的残余数据,且可包含明度及色度差分量两者。残余产生单元102(例如,“求和器”)可表示执行此减法运算的组件。运动补偿单元124还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
如果PU是在P切片中,则运动估计单元122可以对用于PU的参考区域搜寻参考图片列表(例如,“RefPicList0”)中的参考图片。用于PU的参考区可为参考图片内含有最接近地对应于PU的预测块的样本的区。运动估计单元122可产生指示含有PU的参考区域的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元122可产生指示PU的译码块与和参考区相关联的参考位置之间的空间位移的运动向量。举例来说,运动向量可为提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。
如果PU是在B切片中,则运动估计单元122可对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元122可搜索RefPicList0的参考图片,或用于PU的参考区域的第二参考图片列表(RefPicList1)。运动估计单元122可将指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间移位的运动向量以及指示参考图片是在RefPicList0中或在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元124可至少部分基于由PU的运动向量指示的参考位置处的实际样本或经内插样本来产生PU的预测性块。
为了对PU执行双向预测帧间预测,运动估计单元122可在RefPicList0中的参考图片内搜索用于PU的参考区域,且还可在RefPicList1中的参考图片内搜索用于PU的另一参考区域。运动估计单元122可产生指示含有参考区域的参考图片在RefPicList0及RefPicList1中的位置的参考索引。另外,运动估计单元122可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。PU的运动信息可包含PU的参考索引及运动向量。运动补偿单元124可至少部分基于在由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。
帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。换句话说,作为如上文所描述由运动估计单元122和运动补偿单元124执行的帧间预测的替代方案,帧内预测处理单元126可对当前块进行帧内预测。PU的预测性数据可包含PU的预测性块以及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。
帧内预测处理单元126可确定用以对当前块进行编码(例如,确定用于PU的预测性块)的帧内预测模式。举例来说,为对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式以产生用于PU的多组预测性块。换句话说,帧内预测处理单元126可例如在单独编码遍次期间使用各种帧内预测模式对当前块进行编码,且帧内预测处理单元126(或模式选择单元,在一些实例中)可从经测试模式选择适当帧内预测模式以供使用。
在一些实例中,帧内预测处理单元126可以使用速率失真分析计算针对各种经测试帧内预测模式的速率-失真值,且从经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测处理单元126可从用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块来说展现最佳速率失真值。
当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元126可使用来自相邻块的样本的特定集合产生PU的预测性块。假定对于PU、CU及CTU使用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。
在一些实例中,帧内预测处理单元126可至少部分地基于相邻参考样本之间的绝对差总和计算度量。此外,帧内预测处理单元126可至少部分地基于所述度量确定当基于相邻参考样本产生预测性块时是否使用最近相邻者内插。在一些实例中,当帧内预测处理单元126不作出使用最近相邻者内插的确定时,帧内预测处理单元166可使用双线性内插。视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据。
在另一实例中,帧内预测处理单元126可至少部分地基于相邻参考样本之间的绝对差总和计算度量。当所述度量不大于阈值时,帧内预测处理单元126可将平滑滤波或双线性内插滤波应用于相邻参考样本。此外,帧内预测处理单元126可至少部分地基于相邻参考样本产生预测性块。视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据。
在另一实例中,对于预测性块中的每一相应样本,帧内预测处理单元126可至少部分地基于相应样本的位置和帧内预测角度而确定变量。当所述变量不等于特定值时,帧内预测处理单元126可至少部分地基于第一度量从平滑滤波和双线性内插滤波当中选择第一滤波模式。此外,当所述变量不等于特定值时,帧内预测处理单元126可至少部分地通过将第一所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值。当所述变量等于特定值时,帧内预测处理单元126可至少部分地基于第二度量而从平滑滤波和双线性内插滤波当中选择第二滤波模式。帧内预测处理单元126可至少部分地通过将第二所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值。视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据。
在另一实例中,对于预测性块中的每一相应预测性样本,帧内预测处理单元126可至少部分地基于度量而从双线性内插和最近相邻者内插当中选择一内插模式。帧内预测处理单元126可基于所选内插模式确定相应预测性样本。此外,视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据。
在选择用于块的帧内预测模式之后,帧内预测处理单元126可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元118。熵编码单元118可根据本发明的技术对指示选定帧内预测模式的信息编码。视频编码器20在所发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,以及对最可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真度量选择CU的PU的预测性数据。所选预测性数据的预测性块在本文中可被称作所选预测性块。换句话说,预测处理单元100(充当模式选择单元)可例如基于误差结果选择译码模式中的一者(帧内或帧间),且可将所得帧内或帧间译码块提供到残余产生单元102以产生残余块数据且提供到重构单元112以重构经编码块以供用作参考帧。预测处理单元100还可将例如与运动向量相关联的语法元素、帧内模式指示符、分区资讯等语法元素和其它此些语法信息提供到熵编码单元118。
残余产生单元102可基于CU的译码块(例如明度、Cb和Cr译码块)以及CU的PU的选定预测性样本块(例如预测性明度、Cb和Cr块)产生CU的残余块(例如明度、Cb和Cr残余块)。举例来说,残余产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。在一些实例中,在预测处理单元100经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,视频编码器20(例如,视频编码器20的残余产生单元102)通过从当前视频块(即,正译码的视频块)减去预测性块而形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中并应用于变换处理单元104。
变换处理单元104可执行四叉树分割以将CU的残余块分割成与CU的TU相关联的变换块。因此,TU可与明度变换块以及两个对应色度变换块相关联。CU的TU的明度及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。
变换处理单元104可通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用到与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。换句话说,变换处理单元104可使用例如离散余弦变换(DCT)或概念上类似变换等变换将残余视频数据变换成残余变换系数。也可使用子波变换、整数变换、子带变换或其它类型的变换。应用变换可产生包括残余变换系数值的视频块(即,残余变换系数块)。在一些实例中,变换处理单元104可将残差视频数据从像素域转换到变换域,例如频域。在一些实例中,变换处理单元104将所得变换系数发送到量化单元106。
量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。因此,量化单元106可量化变换系数以进一步降低位速率。量化过程可减少与系数中的一些或全部相关联的位深度。量化过程也可被称作“缩放”过程,且因此经量化的变换系数也可被称作“经缩放的变换系数”。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。
量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值而调整应用于与所述CU相关联的系数块的量化程度。换句话说,可通过调整量化参数来修改量化(或缩放)程度。量化可能使得信息丢失,因此经量化的变换系数可具有比原始变换系数更低的精度。在一些实例中,量化单元106可接着对包含经量化变换系数的矩阵执行扫描。或者,熵编码单元118可执行所述扫描。
逆量化单元108和逆变换处理单元110可分别将逆量化及逆变换应用于系数块,以从系数块重构残余块。重构单元112可将经重构的残余块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构变换块。以此方式,逆量化单元108和逆变换处理单元110可分别应用逆量化和逆变换以在像素域中重构残余块以供稍后用作参考图片的参考块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。
此外,在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可处理为变换系数块。在一些实例中,变换处理单元104将所得变换系数发送到量化单元54。
滤波器单元114可执行一或多个解块操作以减小与CU相关联的译码块中的成块假象。经解码图片缓冲器116可在滤波器单元114对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。举例来说,还可包含解块滤波器以对块边界进行滤波,以从经重构视频移除成块假影。必要时,解块滤波器将通常对重构单元112的输出进行滤波。除解块滤波器外,还可使用额外环路滤波器(在环路或后环路中)。此些滤波器为简洁起见而未展示,但必要时,可对重构单元112的输出进行滤波(作为环路内滤波器)。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的重构译码块以对与CU在相同图片中的其它PU执行帧内预测。
熵编码单元118可从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可从量化单元106接收系数块,并且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,在量化后,熵编码单元118可对经量化变换系数进行熵编码。熵编码单元118可执行各种熵编码操作。举例来说,熵编码单元118可对数据执行CAVLC操作、CABAC操作、可变到可变(V2V)长度译码操作、SBAC操作、PIPE译码操作、指数哥伦布编码操作或另一种类型的熵编码操作。在基于上下文的熵译码的情况下,上下文可基于相邻块。在由熵编码单元118熵编码之后,经编码位流可发射到视频解码器30,或经存档以供稍后发射或由视频解码器30检索。熵编码单元118还可对正译码的当前视频切片的运动向量和其他语法元素进行熵编码。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。
图10的视频编码器20可表示经配置以进行以下操作的视频编码器的一实例:对用于表示是否启用用于至少一个视频数据块的帧内预测的至少一个滤波器的语法元素的值进行译码(即,编码),且对至少一个视频数据块进行帧内预测性译码(即,编码),其中当用于语法元素的值表示启用至少一个滤波器时,对至少一个块进行帧内预测性译码包括对用于至少一个块的帧内预测性数据进行滤波。此外,在一些实例中,图10的视频编码器20表示经配置以自适应地停用用于对多个帧内预测参考样本进行滤波的一或多个滤波器的视频编码器的实例。另外,视频编码器20可用信号表示控制一或多个滤波器的语法元素。视频编码器20的帧内预测处理单元126可使用帧内预测参考样本对视频数据进行帧内编码。
图11是说明经配置以实施本发明的技术的实例视频解码器30的框图。图11是出于解释的目的而提供,且并不将技术限制为本发明中所大致例示和描述者。出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图11的实例中,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。运动补偿单元164可基于从熵解码单元150接收的运动向量产生预测数据(例如,预测性块),而帧内预测处理单元166可基于从熵解码单元150接收的帧内预测模式指示符产生预测数据(例如,预测性块)。在一些实例中,重构单元158为求和器。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。在一些实例中,视频解码器30可执行与关于来自图10的视频编码器20所描述的编码遍次大体互逆的解码遍次。
经译码图片缓冲器(CPB)151可接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB151接收NAL单元,并可剖析NAL单元以从位流获得语法元素。因此,在解码过程期间,视频解码器30可从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。熵解码单元150可对NAL单元中的经熵编码的语法元素进行熵解码。在一些实例中,视频解码器30的熵解码单元150对所述位流进行熵解码以产生经量化系数、运动向量和其它语法元素。在此些实例中,熵解码单元150可将运动向量和其它语法元素转发到预测处理单元152。视频解码器30可在视频切片层级和/或视频块层级接收语法元素。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可基于从位流提取的语法元素产生经解码视频数据。
位流的NAL单元可包含经译码切片的NAL单元。作为对位流进行编码的一部分,熵解码单元150可以从经译码的切片NAL单元提取语法元素并且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可含有关于切片的语法元素。
除对来自位流的语法元素进行解码之外,视频解码器30还可对CU执行重构操作。为了对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残余块。
作为对CU的TU执行重构操作的一部分,逆量化单元154可逆量化(即,去量化)与TU相关联的系数块。举例来说,逆量化单元154可逆量化(即,解量化)位流中提供且由熵解码单元150解码的经量化变换系数。逆量化单元154可使用与TU的CU相关联的QP值来确定量化的程度和(同样)反量化单元154将应用的逆量化的程度。举例来说,逆量化过程可包含使用由视频解码器30针对视频片段中的每一视频块计算以确定应应用的量化程度以及同样的逆量化程度的量化参数QPY。换句话说,逆量化过程可包含使用由视频编码器20针对视频切片中的每一视频块计算的量化参数以确定应应用的量化程度及同样确定应应用的逆量化程度。即,可通过调整当量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列以及经压缩的序列的位的数目的比率。压缩比还可取决于所使用的熵译码的方法。
在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与TU相关联的残余块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆卡亨南-洛维变换(Karhunen-Loevetransform,KLT)、逆旋转变换、逆定向变换或另一逆变换应用于系数块(例如,以在像素域中产生残余块)。
当视频切片译码为经帧内译码(I)切片时,预测处理单元152的帧内预测处理单元166可基于用信号表示的帧内预测模式和来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据(例如,预测性块)。在各种实例中,帧内预测处理单元166可执行本文所述的用于自适应地控制解码过程的帧内预测期间的滤波的技术中的一或多者。当视频帧译码为经帧间译码(即,B或P)切片时,预测处理单元152的运动补偿单元164基于从熵解码单元150接收的运动向量和其它语法元素产生用于当前视频切片的视频块的预测性块。预测性块可由参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储在经解码图片缓冲器92中的参考图片使用默认建构技术建构参考帧列表:列表0和列表1。
如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生用于PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于空间相邻PU的预测块产生PU的预测性块(例如,预测性明度、Cb及Cr块)。帧内预测处理单元166可基于从位流解码的一或多个语法元素来确定用于PU的帧内预测模式。
在一些实例中,帧内预测处理单元166可至少部分地基于相邻参考样本之间的绝对差总和计算度量。此外,帧内预测处理单元166可至少部分地基于所述度量确定当基于相邻参考样本产生预测性块时是否使用最近相邻者内插。在一些实例中,当帧内预测处理单元166不作出使用最近相邻者内插的确定时,帧内预测处理单元166可使用双线性内插。视频解码器30可部分地基于预测性块重构经解码视频块。
在另一实例中,帧内预测处理单元166可至少部分地基于相邻参考样本之间的绝对差总和计算度量。在此实例中,当所述度量不大于阈值时,帧内预测处理单元166可将平滑滤波或双线性内插滤波应用于相邻参考样本。此外,帧内预测处理单元166可至少部分地基于相邻参考样本产生预测块。视频解码器30可部分地基于所述预测性块重构经解码视频块。
在另一实例中,对于预测性块中的每一相应样本,帧内预测处理单元166可至少部分地基于相应样本的位置和帧内预测角度确定变量(例如,iFact)。当所述变量不等于特定值(例如,0)时,帧内预测处理单元166可至少部分地基于第一度量从平滑滤波和双线性内插滤波当中选择第一滤波模式。此外,当所述变量不等于特定值时,帧内预测处理单元166可至少部分地通过将所述第一所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值。当所述变量等于特定值时,帧内预测处理单元166可至少部分地基于第二度量从平滑滤波和双线性内插滤波当中选择第二滤波模式。此外,当所述变量等于特定值时,帧内预测处理单元166可至少部分地通过将第二所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值。视频解码器30可部分地基于所述预测性块重构经解码视频块。
在另一实例中,对于预测性块中的每一相应预测性样本,帧内预测处理单元166可至少部分地基于度量而从双线性内插和最近相邻者内插当中选择一内插模式。此外,帧内预测处理单元166可基于所选内插模式确定相应预测性样本。视频解码器30可部分地基于所述预测性块重构经解码视频块。
预测处理单元152可基于从位流提取的语法元素来建构第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测编码,那么熵解码单元150可获得PU的运动信息。运动补偿单元164可基于PU的运动信息来确定用于PU的一或多个参考区域。运动补偿单元164可基于用于PU之一或多个参考区块处之样本而产生用于PU之预测性区块(例如,预测性明度、Cb及Cr区块)。
在一些实例中,运动补偿单元164通过剖析运动向量和其它语法元素而确定用于当前视频切片的视频块的预测信息,且使用所述预测信息来产生用于正解码的当前视频块的预测性块。举例来说,运动补偿单元164可使用所接收语法元素中的一些以确定用以对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片,或GPB切片)、用于切片的参考图片列表中的一或多者的构造信息、用于切片的每一经帧间编码视频块的运动向量、用于切片的每一经帧间译码视频块的帧间预测状态,和对当前视频切片中的视频块进行解码的其它信息。
此外,在一些实例中,运动补偿单元164还可基于内插滤波器执行内插。运动补偿单元164可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。在此情况下,运动补偿单元164可从所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用内插滤波器产生预测性块。
重构单元158可使用与CU的TU相关联的变换块(例如,明度、Cb及Cr变换块)以及CU的PU的预测性块(例如,明度、Cb及Cr预测性块)(即,在适用时,帧内预测数据或帧间预测数据)来重构CU的译码块(例如,明度、Cb及Cr译码块)。举例来说,重构单元158可将变换块(例如,明度、Cb及Cr变换块)的样本添加到预测性块(例如,预测性明度、Cb及Cr块)的对应样本以重构CU的译码块(例如,明度、Cb及Cr译码块)。换句话说,在运动补偿单元164基于运动向量和其它语法元素产生用于当前视频块的预测性块之后,视频解码器30可通过对来自逆变换处理单元156的残余块与由运动补偿单元164产生的对应预测性块进行求和来形成经解码视频块。以此方式,在运动补偿单元164基于运动向量和其它语法元素产生用于当前视频块的预测性块之后,视频解码器30可通过对来自逆变换处理单元156的残余块与由运动补偿单元164产生的对应预测性块进行求和而形成经解码视频块。重构单元158(例如,求和器)可表示执行此求和操作的组件。
滤波器单元160可执行解块操作以减少与CU的译码块(例如,明度、Cb及Cr译码块)相关联的成块假影。因此,必要时,还可应用解块滤波器以对经解码块进行滤波以便去除成块假影。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或以其它方式改善视频质量。
视频解码器30可将CU的译码块(例如,明度、Cb及Cr译码块)存储于经解码图片缓冲器162中。因此,给出帧或图片中的经解码视频块由此存储于经解码图片缓冲器162中,所述经解码图片缓冲器存储用于后续运动补偿的参考图片。经解码图片缓冲器162还可存储经解码视频以供稍后呈现于例如图1的显示装置32等显示装置上。换句话说,经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测和呈现于例如图1的显示装置32等显示装置上。举例来说,视频解码器30可基于经解码图片缓冲器162中的块(例如,明度、Cb及Cr块)对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流提取大量明度系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并且输出译码块用于显示。
图11的视频解码器30可表示经配置以进行以下操作的视频解码器的实例:对用于表示是否启用用于至少一个视频数据块的帧内预测的至少一个滤波器的语法元素的值进行译码(即,解码),且对至少一个视频数据块进行帧内预测性译码(即,解码),其中当用于语法元素的值表示启用至少一个滤波器时,对至少一个块进行帧内预测性译码包括对用于至少一个块的帧内预测性数据进行滤波。此外,图11的视频解码器30可表示经配置以基于语法元素自适应地停用用于对多个帧内预测参考样本进行滤波的一或多个滤波器的视频解码器的实例。视频解码器30可使用帧内预测参考样本对视频数据进行帧内解码。
图12A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。图12A连同本发明的其它流程图是作为实例而呈现。其它实例可包含较多、较少或不同的动作。
在图12A的实例中,视频编码器20可至少部分地基于相邻参考样本之间的绝对差总和(SAD)计算一度量(200)。举例来说,视频编码器20可确定在当前块上方的子集中的参考样本的SAD值,单独地确定在当前块的左侧上的参考样本的SAD值,且接着对这两个SAD值进行相加。
此外,视频编码器20可至少部分地基于所述度量确定在基于相邻参考样本产生预测性块时是否使用最近相邻者内插(202)。视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据(204)。
尽管未在图12A的实例中说明,但在一些实例中,视频编码器20可进一步至少部分地基于所述度量确定是否使用双线性内插以产生预测性块。举例来说,视频编码器20可确定相邻参考样本之间的绝对差总和,如在本发明中其它处所描述。在此实例中,视频编码器20可在iFact不等于0且绝对差总和大于阈值时作出使用双线性内插的确定。
此外,在一些实例中,绝对差总和为第一绝对差总和。在此些实例中,当视频编码器20计算所述度量时,视频编码器20可基于在预测性块上方的参考样本计算第一绝对差总和。此外,视频编码器20可基于在预测性块左侧的参考样本计算第二绝对差总和。此外,视频编码器20可至少部分地基于第一与第二绝对差总和的总和计算所述度量。如在本发明中其它处所描述,当视频编码器20使用双线性内插以产生预测性块时,视频编码器20可使用以下方程式确定预测性块中的每一样本的值:
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5,
或方程式:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5。
图12B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图12B的实例中,视频解码器30可至少部分地基于相邻参考样本之间的绝对差总和计算一度量(220)。此外,视频解码器30可至少部分地基于所述度量确定在基于相邻参考样本产生预测性块时是否使用最近相邻者内插(222)。此外,视频解码器30可部分地基于所述预测性块重构经解码视频块(224)。
尽管未在图12B的实例中说明,但视频解码器30可至少部分地基于所述度量确定是否使用双线性内插以产生预测性块。举例来说,视频解码器30可确定相邻参考样本之间的绝对差总和,如在本发明中其它处所描述。在此实例中,视频解码器30可在iFact不等于0且绝对差总和大于阈值时作出使用双线性内插的确定。如在本发明中其它处所描述,当视频解码器30使用双线性内插以产生预测性块时,视频解码器30可使用以下方程式确定预测性块中的每一样本的值:
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5,
或方程式:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5。
此外,在一些实例中,绝对差总和为第一绝对差总和。在此些实例中,当视频解码器30计算所述度量时,视频解码器30可基于在预测性块上方的参考样本计算第一绝对差总和。此外,在此些实例中,视频解码器30可基于在预测性块左侧的参考样本计算第二绝对差总和。在此些实例中,视频解码器30可至少部分地基于第一与第二绝对差总和的总和计算所述度量。
图13A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。在图13A的实例中,视频编码器20可计算一度量(250)。在一些实例中,视频编码器20可至少部分地基于相邻参考样本之间的绝对差总和(SAD)计算所述度量。在其它实例中,视频编码器20可基于方差或另一函数计算所述度量。
此外,视频编码器20可确定所述度量是否大于阈值(252)。举例来说,如果度量为相邻参考样本之间的SAD,那么阈值可等于50或另一值。当所述度量不大于阈值(252的“否”)时,视频编码器20可将平滑滤波或双线性内插滤波应用于相邻参考样本(254)。在应用平滑滤波或双线性内插滤波之后或在确定度量大于阈值(252的“是”)之后,视频编码器20可至少部分地基于相邻参考样本产生预测性块(256)。换句话说,视频编码器20可使用帧内预测以基于当前图片的样本产生预测性块。在一些实例中,当所述度量大于阈值时,视频编码器20既不将平滑滤波也不将双线性内插滤波应用于相邻参考样本。举例来说,当所述度量大于阈值时,视频编码器20可将filterFlag设定为0。此外,视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据(258)。在一些实例中,视频编码器20可产生残余数据,使得残余数据的每一样本指示预测性块中的样本与正编码的块的对应样本之间的差。表示残余数据的数据可经变换、量化和/或熵编码。
图13B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图13B的实例中,视频解码器30可计算一度量(270)。在一些实例中,视频解码器30可至少部分地基于相邻参考样本之间的绝对差总和(SAD)计算所述度量。在其它实例中,视频解码器30可基于方差或另一函数计算所述度量。
视频解码器30可接着确定确定所述度量是否大于阈值(272)。举例来说,如果度量为相邻参考样本之间的SAD,那么阈值可等于50或另一值。当所述度量不大于阈值(272的“否”)时,视频解码器30可将平滑滤波或双线性内插滤波应用于相邻参考样本(274)。在应用平滑滤波或双线性内插滤波之后或在确定度量大于阈值(272的“是”)之后,视频解码器30可至少部分地基于相邻参考样本产生预测性块(276)。换句话说,视频解码器30可使用帧内预测以基于相邻参考样本产生预测性块。在一些实例中,当所述度量大于阈值时,视频解码器30既不将平滑滤波也不将双线性内插滤波应用于相邻参考样本。视频解码器30可部分地基于所述预测性块重构经解码视频块(274)。举例来说,视频解码器30可重构经解码视频块,使得经解码视频块的每一样本等于预测性块中的样本与残余样本块的对应样本的总和。
图14A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。在图14A的实例中,视频编码器20可对于预测性块中的每一相应样本执行动作300到310。
确切地说,在图14A的实例中,视频编码器20可至少部分地基于相应样本的位置和帧内预测角度确定一变量(例如,iFact)(300)。此外,视频编码器20可确定所述变量是否等于特定值(302)。在一些实例中,变量等于((x+1)*intraPredAngle)&31,其中x为相应样本的行或列位置,且intraPredAngle为帧内预测角度。在此些实例中,特定值可等于0。
当所述变量不等于特定值(302的“否”)时,视频编码器20可至少部分地基于第一度量从平滑滤波或双线性内插滤波当中选择第一滤波模式(304)。在一些实例中,视频编码器20可至少部分地基于相邻参考样本之间的绝对差总和计算所述第一度量。在其它实例中,视频编码器20可至少部分地基于方差计算所述第一度量。在一些实例中,视频编码器20可响应于确定所述第一度量超过(或不超过)阈值(例如,50)而选择平滑滤波。在一些实例中,视频编码器20可响应于确定第一度量超过(或不超过)阈值(例如,50)而选择双线性内插滤波。此外,视频编码器20可至少部分地通过将第一所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值(306)。
另一方面,当所述变量等于特定值(302的“是”)时,视频编码器20可至少部分地基于第二度量从平滑滤波或最近相邻者内插当中选择第二滤波模式(308)。在一些实例中,视频编码器20可至少部分地基于相邻参考样本之间的绝对差总和计算第二度量。在其它实例中,视频编码器20可至少部分地基于方差计算第二度量。此外,在一些实例中,所述第一度量与所述第二度量相同。在一些实例中,视频编码器20可响应于确定第二度量超过(或不超过)阈值(例如,50)而选择双线性内插滤波。在一些实例中,视频编码器20可响应于确定所述第二度量超过(或不超过)阈值(例如,50)而选择最近相邻者内插。此外,视频编码器20可至少部分地通过将第二所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值(310)。
此外,在图14A的实例中,视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据(312)。在一些实例中,视频编码器20可产生残余数据,使得残余数据的每一样本指示预测性块中的样本与正编码的块的对应样本之间的差。表示残余数据的数据可经变换、量化和/或熵编码。
图14B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图14B的实例中,视频解码器30可对预测性块中的每一相应样本执行动作320到330。
确切地说,在图14B的实例中,视频解码器30可至少部分地基于相应样本的位置和帧内预测角度确定一变量(320)。此外,视频解码器30可确定所述变量是否等于特定值(322)。在一些实例中,变量等于((x+1)*intraPredAngle)&31,其中x为相应样本的行或列位置,且intraPredAngle为帧内预测角度。此外,在此些实例中,特定值可等于0。
当所述变量不等于特定值(322的“否”)时,视频解码器30可至少部分地基于第一度量从平滑滤波或双线性内插滤波当中选择第一滤波模式(324)。在一些实例中,视频解码器30可响应于确定所述度量超过(或不超过)阈值(例如,50)而选择平滑滤波。在一些实例中,视频解码器30可响应于确定所述度量超过(或不超过)阈值(例如,50)而选择双线性内插滤波。此外,视频解码器30可至少部分地通过将第一所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值(326)。
另一方面,当所述变量等于特定值(322的“是”)时,视频解码器30可至少部分地基于第二度量从平滑滤波或最近相邻者内插当中选择第二滤波模式(328)。在一些实例中,视频解码器30可响应于确定第二度量超过(或不超过)阈值(例如,50)而选择双线性内插滤波。在一些实例中,视频解码器30可响应于确定所述第二度量超过(或不超过)阈值(例如,50)而选择最近相邻者内插。在一些实例中,视频解码器30可至少部分地基于相邻参考样本之间的绝对差总和而计算第一或第二度量。在其它实例中,视频解码器30可至少部分地基于方差而计算第一或第二度量。此外,在一些实例中,第一度量与第二度量相同。此外,在图14B中,视频解码器30可至少部分地通过将第二所选滤波模式应用于一或多个帧内预测参考样本而确定相应样本的值(330)。
视频解码器30可部分地基于预测性块重构经解码视频块(332)。举例来说,视频解码器30可重构经解码视频块,使得经解码视频块的每一样本等于预测性块中的样本与残余样本块的对应样本的总和。
图15A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。在图15A的实例中,视频编码器20可对于预测性块中的每一相应样本执行动作350和352。
在图15A的实例中,视频编码器20可至少部分地基于一度量从双线性内插和最近相邻者内插当中选择内插模式(350)。在一些实例中,所述度量为用于预测相应预测性样本的两个参考样本之间的绝对差。另外,在一些实例中,当视频编码器20选择内插模式时,视频编码器20在所述度量大于阈值时选择最近相邻者内插作为所选内插模式。在此些实例中,视频编码器20在度量小于或等于阈值时选择双线性内插作为所选内插模式。
此外,在图15A的实例中,视频编码器20可基于所选内插模式确定相应预测性样本(352)。视频编码器20可在视频数据位流中包含表示基于预测性块的残余数据的数据(354)。在一些实例中,视频编码器20可产生残余数据,使得残余数据的每一样本指示预测性块中的样本与正编码的块的对应样本之间的差。表示残余数据的数据可经变换、量化和/或熵编码。
图15B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图15B的实例中,视频解码器30可对预测性块中的每一相应样本执行动作370和372。
在图15B的实例中,视频解码器30可至少部分地基于一度量从双线性内插和最近相邻者内插当中选择内插模式(370)。在一些实例中,所述度量为用于预测相应预测性样本的两个参考样本之间的绝对差。另外,在一些实例中,当视频解码器30选择内插模式时,视频解码器30在所述度量大于阈值时选择最近相邻者内插作为所选内插模式。在此些实例中,视频解码器30在所述度量小于或等于阈值时选择双线性内插作为所选内插模式。
此外,在图15B的实例中,视频解码器30可基于所选内插模式确定相应预测性样本(372)。视频解码器30可部分地基于所述预测性块重构经解码视频块(374)。举例来说,视频解码器30可重构经解码视频块,使得经解码视频块的每一样本等于预测性块中的样本与残余样本块的对应样本的总和。
图16是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的实例操作的流程图。在图16的实例中,视频译码器基于帧内预测参考样本中的至少一些的一或多个特性自适应地停用用于对多个帧内预测参考样本进行滤波的一或多个滤波器(400)。
此外,视频译码器可使用帧内预测参考样本对视频数据进行帧内译码(402)。在一些实例中,作为对视频数据进行帧内译码的部分,视频译码器可执行帧内解码。帧内解码可包括基于帧内预测参考样本(滤波、部分滤波或由于自适应地停用一或多个滤波器而未过滤)对视频数据和残余数据进行帧内解码。在其它实例中,帧内译码包括帧内编码。帧内编码可包括基于帧内预测参考样本(滤波、部分滤波或由于自适应地停用一或多个滤波器而未过滤)对视频数据和残余数据进行帧内解码。
在一些实例中,一或多个特性包含所述多个参考样本中的参考样本之间的像素差(例如,绝对像素差)是否超过预定阈值。此外,在一些实例中,所述一或多个特性包含所述多个参考样本中的参考样本之间的像素差(例如,绝对像素差)超过预定阈值的例子的数目的计数是否超过计数阈值。另外,在一些实例中,所述一或多个特性包含所述多个参考样本中的参考样本之间的像素差(例如,绝对像素差)超过第一预定阈值的例子的数目的计数是否超过第一计数阈值,以及所述多个参考样本中的参考样本之间的像素差超过第二预定阈值的例子的数目的计数是否超过第二计数阈值。
在一些实例中,所述一或多个特性包含应用于所述多个参考样本中的3分接头有限脉冲响应(FIR)滤波器的输出(例如,输出的绝对值)是否超过阈值。在一些实例中,所述一或多个特性包含应用于所述多个参考样本中的参考样本的3分接头FIR滤波器的输出(例如,输出的绝对值)超过阈值的例子的计数是否超过计数阈值。在这些实例中的任一者中,FIR滤波器所应用于的参考样本可包含在经过参考样本阵列的路径中的连续的三个参考样本的集合,一次递增一个像素或一次递增三个像素。此外,在这些实例中的任一者中,FIR滤波器所应用于的参考样本包含参考样本阵列中的参考样本P2M-1,-1、P-1,-1和P-1,2N-1,参考样本P2M-1,-1、PM,-1和P-1,1或参考样本P-1,2N-1、P-1,N和P-1,-1
此外,在一些实例中,帧内预测参考样本中的至少一些的特性包含基于多个预测模式中的选定一者选择的小于全部所述多个参考样本的子集的特性。在一些实例中,帧内预测参考样本中的至少一些的特性包含参考样本的顶部行或左侧列的特性,其中顶部行或左侧列是基于顶部行或左侧列的参考样本之间的像素差超过预定阈值的例子的数目的计数超过计数阈值而选择。此外,在一些实例中,帧内预测参考样本中的至少一些的一或多个特性是针对参考样本的子取样集合。
尽管图16的实例中未展示,但视频译码器还可基于块大小、分量类型或输入视频类型中的至少一者选择性地调适一或多个阈值。此外,视频译码器可基于块大小或分量类型中的至少一者选择性地开启和关闭自适应停用步骤。在一些此类实例中,阈值中的一或多者用信号表示于经编码位流中。举例来说,在各种实例中,阈值中的一或多者用信号表示于PPS、SPS或VPS中的至少一者中。
如上文所指示,视频译码器可自适应地停用用于对多个帧内预测参考样本进行滤波的一或多个滤波器。在一些实例中,作为自适应地停用一或多个滤波器的部分,视频译码器可基于邻近于CU的帧内预测样本的一或多个特性自适应地停用用于CU中的所有PU或TU的一或多个滤波器。此外,在一些实例中,作为自适应地停用一或多个滤波器的部分,视频译码器可基于邻近于相应PU或TU的个别帧内预测样本集合的一或多个特性而自适应地停用用于CU中的个别PU或TU的一或多个滤波器。
此外,尽管在图16的实例中未展示,但视频译码器可基于一或多个特性开启停用旗标。在其它实例中,视频译码器可在经编码位流中接收停用旗标。在这些实例中,当停用旗标开启时停用一或多个滤波器。
图17是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的额外操作的流程图。在图17的实例中,视频译码器基于语法元素自适应地停用用于对多个帧内预测参考样本进行滤波的一或多个滤波器(450)。在一些实例中,所述语法元素为transform_skip_flag,且视频译码器在开启transform_skip_flag时停用所述一或多个滤波器。在至少一些此类实例中,transform_skip_flag调用变换跳过操作,其中在预测之后的残余信号经量化而不变换。
在一些实例中,语法元素为cu_transquant_bypass旗标,且视频译码器在开启cu_transquant_bypass旗标时停用一或多个滤波器。在至少一些实例中,cu_transquant_bypass_flag调用其中经预测块经译码而无需量化和变换的操作。
此外,在一些实例中,语法元素为变换跳过语法元素,所述方法包括在开启变换跳过语法元素时停用一或多个滤波器。在至少一些此类实例中,变换跳过语法元素调用变换跳过操作,其中在预测之后的残余信号经量化而不变换。
在一些实例中,语法元素为量化和变换略过语法元素,且视频译码器在开启量化和变换略过语法元素时停用一或多个滤波器。在至少一些此类实例中,量化和变换略过语法元素调用其中经预测块经译码而无需量化和变换的操作。
此外,在图17的实例中,视频译码器使用帧内预测参考样本对视频数据进行帧内译码(452)。在一些实例中,帧内译码包括帧内解码。帧内解码可包括基于帧内预测参考样本(包含滤波、部分滤波和由于自适应地停用一或多个滤波器而未滤波的参考样本中的一者)和残余数据对视频数据进行帧内解码。在其它实例中,帧内译码包括帧内编码。帧内编码可包括基于帧内预测参考样本(包含滤波、部分滤波或由于自适应地停用一或多个滤波器而未滤波的参考样本中的一者)和残余数据对视频数据进行帧内编码。
图18是说明用于对当前块进行编码的实例方法的流程图。当前块可包括当前CU或当前CU的一部分。尽管相对于视频编码器20(图1及10)加以描述,但应理解,其它装置可经配置以执行类似于图18的方法的方法。
在此实例中,视频编码器20对用于帧内预测滤波器的语法元素进行编码(500),其中语法元素的值指示是否启用帧内预测滤波器。对语法元素进行编码可包含对语法元素进行CABAC译码,其可涉及选择用于对语法元素进行译码的上下文,如上文所论述。视频编码器20接着预测当前块(502)。明确地说,如果启用帧内预测滤波器,那么视频编码器20可执行帧内预测滤波器,而如果不启用帧内预测滤波器,那么视频编码器20可跳过帧内预测滤波器的执行。视频编码器20可计算用于当前块的一或多个PU。
视频编码器20可接着计算当前块的残余块,以例如产生TU(504)。为计算残余块,视频编码器20可计算原始未经编码块与用于当前块的经预测块之间的差。视频编码器20可接着变换且量化残余块的系数(506)。接下来,视频编码器20可扫描残余块的经量化变换系数(508)。在扫描期间或在扫描之后,视频编码器20可对系数进行熵编码(510)。举例来说,视频编码器20可使用CAVLC或CABAC对系数进行编码。视频编码器20可接着输出块的经熵译码数据(512)。
以此方式,图18的方法表示包含以下操作的方法的实例:对用于表示是否启用用于至少一个视频数据块的帧内预测的至少一个滤波器的语法元素的值进行译码(在此实例中,编码),且对至少一个视频数据块进行帧内预测性译码(在此实例中,编码),其中当用于语法元素的值表示启用至少一个滤波器时,对至少一个块进行帧内预测性译码包括对用于至少一个块的帧内预测性数据进行滤波。
图19是说明用于对当前视频数据块进行解码的实例方法的流程图。当前块可包括当前CU或当前CU的一部分。尽管关于视频解码器30(图1及11)进行描述,但应理解,其它装置可经配置以执行与图19的方法类似的方法。
视频解码器30可对用于当前块的帧内预测滤波器的语法元素(例如,旗标)进行解码(530)。所述语法元素的值可指示对于当前块启用还是停用帧内预测滤波器。再次,对语法元素的值进行解码可使用CABAC来执行,且可根据上文所描述的技术执行用于对语法元素进行解码的上下文的确定。
视频解码器30可接着例如使用帧内预测模式来预测当前块(532)以计算用于当前块的经预测块。当语法元素指示启用滤波器时,视频解码器30可执行滤波器,而当语法元素指示不启用滤波器时,视频解码器30可跳过滤波器的执行。视频解码器30还可接收用于当前块的经熵译码数据,例如用于对应于当前块的残余块的系数的经熵译码数据(534)。视频解码器30可对经熵译码数据进行熵解码以再现残余块的变换系数(536)。视频解码器30可接着逆扫描经再现系数(538)以产生经量化变换系数块。视频解码器30可接着逆量化且逆变换所述系数以产生残余块(540)。视频解码器30可最终通过组合经预测块与残余块而对当前块进行解码(542)。举例来说,视频解码器30可组合经预测块与残余块,使得经解码当前块中的每一样本等于经预测块中的样本与残余块的对应样本的总和。经预测块(即,预测性块)中的样本可对应于残余块的样本(如果两个样本对应于图片内的相同位置)。
以此方式,图19的方法表示包含以下操作的方法的实例:对用于表示是否启用用于至少一个视频数据块的帧内预测的至少一个滤波器的语法元素的值进行译码(在此实例中,解码),且对至少一个视频数据块进行帧内预测性译码(在此实例中,解码),其中当用于语法元素的值表示启用至少一个滤波器时,对至少一个块进行帧内预测性译码包括对用于至少一个块的帧内预测性数据进行滤波。
图20是说明根据本发明的一或多种技术对视频数据进行译码的视频译码器的实例操作的流程图。在图20的实例中,视频译码器可对用于表示是否启用用于至少一个视频数据块的帧内预测的至少一个滤波器的语法元素的值进行译码(550)。此外,视频译码器可执行至少一个视频数据块的帧内预测性译码(552)。当所述语法元素的值表示启用至少一个滤波器时,对至少一个块的帧内预测性译码包括对至少一个块的帧内预测性数据进行滤波。
在图20的实例中,至少一个块可为(或包括)TU。此外,在一些此类实例中,语法元素的值可包括对TU的语法元素的值进行译码。当至少一个块包括非正方形矩形块时,语法元素可包括用于非正方形矩形块的第一正方形部分的第一语法元素,且方法进一步包括对用于非正方形矩形块的第二正方形部分的第二值进行译码。此外,在一些实例中,当至少一个块符合4:2:2视频格式时,所述至少一个块包括非正方形矩形块。
此外,在一些实例中,语法元素包括用于明度块、第一色度块和第二色度块中的一者的语法元素。在此些实例中,视频译码器可对用于明度块、第一色度块和第二色度块中的每一者的语法元素的值进行译码。在此些实例中,语法元素可表示是否启用用于相应明度块、第一色度块或第二色度块的帧内预测的至少一个滤波器。
在一些实例中,语法元素可包括用于明度块或第一色度块和第二色度块的语法元素。在此些实例中,视频译码器可对用于明度块的语法元素的第一值和用于第一色度块和第二色度块的第二语法元素的第二值进行译码。第一语法元素表示是否启用用于明度块的帧内预测的至少一个滤波器。第二语法元素表示是否启用用于第一色度块和第二色度块的帧内预测的至少一个滤波器。在此些实例中,第一色度块可包括蓝色色调色度块(例如,Cb块),且第二色度块可包括红色色调色度块(例如,Cr块)。
如上文所指示,视频译码器可对语法元素的值进行译码。在一些实例中,视频译码器可对用于CU的分区的语法元素的值进行译码。在此些实例中,CU具有2N×2N像素的大小,且CU的分区包括2N×2N像素大小的分区和N×N像素大小的分区中的一者。此外,在一些实例中,视频译码器可对指示CU包括单个分区还是多个分区的数据进行译码。当所述数据指示CU包括单个分区时,视频译码器可对用于单个分区的单个语法元素的值进行译码。当所述数据指示CU包括多个分区时,视频译码器可对用于分区中的每一者的相应语法元素的值进行译码。在一些此类实例中,多个分区可包括四个分区。
此外,在一些实例中,CU的每一分区可包括明度分量、第一色度分量和第二色度分量。对于每一分区,视频译码器可对用于表示是否启用用于明度分量的至少一个滤波器的第一语法元素、表示是否启用用于第一色度分量的至少一个滤波器的第二语法元素和表示是否启用用于第二色度分量的至少一个滤波器的第三语法元素的值进行译码。在一些此类实例中,当视频译码器对第一语法元素、第二语法元素和第三语法元素的值进行译码时,仅当块符合4:4:4视频格式时,视频译码器才可对第一语法元素、第二语法元素和第三语法元素的值进行译码。
在一些实例中,CU的每一分区包括明度分量、第一色度分量和第二色度分量。对于每一分区,视频译码器可对表示是否启用用于明度分量、第一色度分量和第二分量中的每一者的至少一个滤波器的单个语法元素的值进行译码。在至少一些此类实例中,第一色度分量包括蓝色色调色度分量(即,Cb),且第二色度分量包括红色色调色度分量(即,Cr)。
此外,在一些实例中,对于每一分区,视频译码器可对所述分区的用于表示是否启用用于所述分区的明度分量的至少一个滤波器的明度分量的相应语法元素的值进行译码。对于CU,视频译码器可对表示是否启用用于CU的所有分区的色度分量的至少一个滤波器的相应语法元素的值进行译码。
在一些实例中,当视频译码器对语法元素的值进行译码时,视频译码器可对用于CU的语法元素的值进行译码。在一些此类实例中,视频译码器可对表示是否启用用于所述CU的一或多个分区的亮度分量的至少一个滤波器的第一语法元素的第一值进行译码。此外,视频译码器可对表示是否启用用于CU的第一类型的一或多个分区的色度分量的至少一个滤波器的第二语法元素的第二值进行译码。此外,视频译码器可对表示是否启用用于CU的第二类型的一或多个分区的色度分量的至少一个滤波器的第三语法元素的第三值进行译码。此外,在一些实例中,视频译码器可对表示是否启用用于CU的一或多个分区的明度分量的至少一个滤波器的第一语法元素的第一值进行译码。另外,视频译码器可对表示是否启用用于CU的第一类型和第二类型的一或多个分区的色度分量的至少一个滤波器的第二语法元素的第二值进行译码。在一些此类实例中,第一类型的色度分量包括蓝色色调色度分量(即,Cb),且第二类型的色度分量包括红色色调色度分量(即,Cr)。
此外,在一些实例中,仅当块包括2N×2N像素大小CU的N×N像素大小分区时,视频译码器才可对语法元素的值进行译码。在其它实例中,仅当块包括大小小于阈值的CU时,视频译码器才可对语法元素的值进行译码。在一些此类实例中,视频译码器可在包含块的切片的切片标头、用于包含块的图片的PPS、用于包含块的图片序列的SPS和用于包含块的视频数据的一或多个层的VPS中的至少一者中对表示阈值的语法元素的值进行译码。
在一些实例中,仅当块包括大小小于阈值的TU时,视频译码器才可对语法元素的值进行译码。此外,在一些此类实例中,视频译码器可在包含块的切片的切片标头、用于包含块的图片的PPS、用于包含块的图片序列的SPS和用于包含块的视频数据的一或多个层的VPS中的至少一者中对表示阈值的语法元素的值进行译码。
在一些实例中,仅当块是使用特定预测模式译码时,视频译码器才对语法元素的值进行译码。在一些实例中,仅当语法元素的值指示可选择性地启用或停用至少一个滤波器时,视频译码器才对语法元素的值进行译码。在一些实例中,视频译码器在包含块的切片的切片标头、用于包含块的图片的PPS、用于包含块的图片序列的SPS和用于包含块的视频数据的一或多个层的VPS中的至少一者中对指示是否可选择性地启用或停用至少一个滤波器的语法元素的值进行译码。
此外,在一些实例中,视频译码器仅针对明度通道对语法元素的值进行译码。在其它实例中,视频译码器仅针对块的明度分量对语法元素的值进行译码。在其它实例中,仅当块包括大小为最小支持CU大小的CU时,视频译码器才对语法元素的值进行译码。在其它实例中,仅当块包括大小为最小支持TU大小的TU时,视频译码器才对语法元素的值进行译码。在其它实例中,仅当块包括TU时且当TU的经译码块旗标指示TU包含至少一个非零系数时,视频译码器才可对语法元素的值进行译码。
另外,在一些实例中,当视频译码器对语法元素的值进行译码时,视频译码器可使用CABAC对语法元素的值进行译码。在一些此类实例中,视频译码器可基于语法元素对应于明度通道、第一色度通道还是第二色度通道而确定用于对语法元素进行译码的上下文。在一些此类实例中,视频译码器可基于语法元素对应于明度通道还是第一色度通道或第二色度通道中的一者而确定用于对语法元素进行译码的上下文。此外,在一些此类实例中,第一色度通道包括蓝色色调色度通道(即,Cb),且第二色度通道包括红色色调色度通道(即,Cr)。
在一些实例中,视频译码器可基于语法元素对应于块的明度分量、块的第一色度分量还是块的第二色度分量而确定语法元素的上下文。在一些实例中,视频译码器可基于语法元素对应于块的明度分量还是块的第一色度分量或块的第二色度分量中的一者而确定语法元素的上下文。在此些实例中,第一色度分量可包括蓝色色调色度分量(即,Cb),且第二色度分量可包括红色色调色度分量(即,Cr)。
此外,在一些实例中,块可包括当前块,且视频译码器可基于当前块的至少一个相邻块的语法元素的值确定语法元素的上下文。所述至少一个相邻块可包括当前块的左侧相邻块和当前块的上方相邻块中的至少一者。此外,当相邻块不可用时或当相邻块的语法元素的值为零时,视频译码器可确定上下文包括确定上下文的上下文索引等于0。在一些实例中,当相邻块的语法元素的值等于一时,视频译码器可确定上下文包括确定上下文的上下文索引等于1。
在一些实例中,视频译码器可基于块的参考样本的方差、两个邻近像素之间的绝对差总和、大于阈值的像素之间的最大差、具有最大差的数目计数与阈值的比较、[1,-2,1]FIR滤波结果与阈值的比较、像素差的正负号改变的数目计数、用于预测块的预测模式、块的大小和块的分区大小中的至少一者确定用于对语法元素进行译码的上下文。
另外,在一些实例中,视频译码器可对用于块大小与阈值的第一比较结果的语法元素的值进行译码,其中对于不同结果,方法包括推断表示是否启用至少一个滤波器的语法元素的值。在一些此类实例中,第一结果包括指示块的大小大于阈值的比较。在一些实例中,第一结果包括指示块的大小小于阈值的比较。
此外,在一些实例中,在语法元素用于块的明度通道或明度分量时,视频译码器可推断语法元素的值。在一些实例中,当语法元素用于块的色度通道或色度分量时,视频译码器可推断语法元素的值。
在一些实例中,当视频译码器对语法元素的值进行译码时,视频译码器可对用于至少一个滤波器的第一语法元素的值进行译码。在此些实例中,视频译码器可推断表示是否启用用于块的帧内预测的第二不同滤波器的第二语法元素的值。
在一些实例中,当视频译码器对语法元素的值进行译码时,视频译码器可对切片标头、PPS、SPS和VPS中的至少一者的语法元素的值进行译码。在一些此类实例中,仅当切片标头、PPS、SPS和VPS中的至少一者的语法元素的值指示可启用用于帧内预测的至少一个滤波器时,视频译码器才可对表示是否启用用于块的帧内预测的至少一个滤波器的语法元素的值进行译码。
在一些实例中,至少一个滤波器包括MDIS滤波器、32分接头内插滤波器和边缘滤波器中的至少一者。此外,在一些实例中,当视频译码器帧内预测性对块进行译码时,当语法元素的值指示启用至少一个滤波器时,视频译码器可执行至少一个滤波器。此外,当语法元素的值指示不启用至少一个滤波器时,视频译码器可跳过至少一个滤波器的执行。另外,在一些实例中,至少一个滤波器包括模式相依性帧内平滑(MDIS)滤波器、1/32像素双线性内插滤波器、边界滤波器、边缘滤波器和DC滤波器中的至少一者。
在一些实例中,至少一个块对应于CU和TU中的一者。此外,当视频译码器对语法元素的值进行译码时,视频译码器在对变换跳过旗标语法元素的值进行译码之前对用于CU或TU的语法元素的值进行译码。此外,视频译码器可至少部分地基于表示是否启用至少一个滤波器的语法元素的值和变换跳过旗标语法元素的值来确定启用还是停用至少一个滤波器。
至少在前段中的实例中,当视频译码器确定启用还是停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示可停用滤波的值时且当变换跳过旗标语法元素具有指示不将变换应用于TU的值时或当表示是否启用至少一个滤波器的语法元素具有指示滤波具有指示不停用滤波的值的值时,视频译码器可启用或停用如在HEVC范围扩展规范(JCTVC-M1005-v2)中所指定的至少一个滤波器。此外,当表示是否启用至少一个滤波器的语法元素具有指示可停用滤波的值时且当变换跳过旗标语法元素的值指示是否将变换应用于TU取决于其它语法元素时,视频译码器可停用至少一个滤波器。即,视频解码器可基于不同于变换跳过旗标的语法元素确定是否应用变换。
此外,在一些实例中,当视频译码器确定启用还是停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示可停用滤波的值时,视频译码器启用或停用如在HEVC范围扩展规范(JCTVC-M1005-v2)中指定的至少一个滤波器。在一些实例中,当视频译码器确定启用还是停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示滤波具有指示不停用滤波的值的值时,视频译码器启用或停用如在HEVC范围扩展规范(JCTVC-M1005-v2)中指定的至少一个滤波器。在一些实例中,当视频译码器确定启用还是停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示可停用滤波的值时且当变换跳过旗标语法元素指示是否将变换应用于TU取决于其它语法元素时,视频译码器可停用至少一个滤波器。
在一些实例中,指示对于表示是否启用至少一个滤波器的语法元素可停用滤波的值包括值1。在一些实例中,指示对于表示是否启用至少一个滤波器的语法元素不停用滤波的值包括值0。此外,在一些实例中,用于变换跳过旗标语法元素指示不将变换应用于TU的值包括值1。在一些实例中,用于变换跳过旗标语法元素的指示是否将变换应用于TU取决于其它语法元素的值包括值0。
此外,在一些实例中,当视频译码器确定启用还是停用至少一个滤波器时,视频译码器可至少部分地基于表示是否启用至少一个滤波器的语法元素的值和用于至少一个块的transquant_bypass_flag的值来启用或停用至少一个滤波器。
在一些实例中,视频译码器可使用隐式推导来确定是否停用至少一个滤波器。在一些实例中,视频译码器可确定是否停用至少一个滤波器包括使用3分接头FIR滤波器[1,-2,1]来确定是否停用至少一个滤波器。在至少一些此类实例中,当视频译码器确定是否停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示对于至少一个块可停用滤波的值时且当FIR滤波器的结果低于阈值时,视频译码器可确定启用还是停用如在HEVC范围扩展规范(JCTVC-M1005-v2)中指定的至少一个滤波器。此外,在一些此类实例中,当视频译码器确定是否停用至少一个滤波器时,当表示是否启用至少一个滤波器的语法元素具有指示对于至少一个块可停用滤波的值时且当FIR滤波器的结果等于或高于阈值时,视频译码器可停用至少一个滤波器。
在一些实例中,当视频译码器对块进行帧内预测性译码时,视频译码器可对所述块的经预测块进行帧内预测,对所述块的一或多个残余值进行解码,且组合经预测块与残余值以对所述块进行解码。举例来说,视频译码器可组合经预测块与残余值,使得经解码块中的每一样本等于经预测块中的样本与对应残余样本的总和。在其它实例中,当视频译码器对块进行帧内预测性译码时,视频译码器可对所述块的经预测块进行帧内预测,基于所述块与经预测块之间的差计算所述块的一或多个残余值,且对残余值进行编码。
图21A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。在图21A的实例中,视频编码器20可对第一语法元素(例如,filter_disable_flag语法元素)的值进行编码,所述第一语法元素表示是否启用用于视频数据的块的帧内预测的滤波器(600)。换句话说,视频编码器20可在位流中包含指示第一语法元素的数据。在一些情况下,包含指示第一语法元素的数据包括对第一语法元素进行熵编码(例如,CABAC编码)。在一些实例中,滤波器为双线性内插滤波器,如JCTVC-M1005-v2中所描述。
此外,视频编码器20可对第二语法元素(例如,transform_skip_flag语法元素)的值进行编码,所述第二语法元素指定预测之后的残余信号是否经量化而无需变换(602)。换句话说,视频编码器20可在位流中包含指示第二语法元素的数据。在一些情况下,包含指示第二语法元素的数据包括对第二语法元素进行熵编码(例如,CABAC编码)。视频编码器20可设定第一语法元素和第二语法元素的值,使得视频解码器30能够基于第一语法元素和第二语法元素确定是否停用滤波器。
另外,视频编码器20可对块进行帧内预测性编码(604)。换句话说,视频编码器20可使用帧内预测对块进行编码。在图21A的实例中,当视频编码器20对块进行帧内预测性编码时,当启用滤波器时,视频编码器20可将滤波器应用于用于所述块的帧内预测性数据(606)。举例来说,视频编码器20可将滤波器应用于对应于所述块的预测性块的每一样本。
图21B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图21B的实例中,视频解码器30可对第一语法元素(例如,filter_disable_flag语法元素)的值进行解码,所述第一语法元素表示是否启用用于视频数据的块的帧内预测的滤波器(630)。换句话说,视频解码器30可从位流获得第一语法元素。在一些情况下,从位流获得第一语法元素包括对第一语法元素进行熵解码(例如,CABAC解码)。在一些实例中,滤波器为双线性内插滤波器,如JCTVC-M1005-v2中所描述。
此外,视频解码器30可对第二语法元素(例如,transform_skip_flag语法元素)的值进行解码,所述第二语法元素指定预测之后的残余信号是否经量化而无需变换(632)。换句话说,视频解码器30可从位流获得第二语法元素。在一些情况下,从位流获得第二语法元素包括对第二语法元素进行熵解码(例如,CABAC解码)。
另外,视频解码器30可对块进行帧内预测性解码(634)。换句话说,视频解码器30可使用帧内预测来对块进行解码。在图21B的实例中,当视频解码器30对块进行帧内预测性解码时,视频解码器30可至少部分地基于第一语法元素的值和第二语法元素的值确定启用还是停用滤波器(636)。此外,当启用滤波器时,视频解码器30可将滤波器应用于所述块的帧内预测性数据(638)。举例来说,视频解码器30可将滤波器应用于对应于所述块的预测性块的每一样本。
图22A是说明根据本发明的一或多种技术对视频数据进行编码的视频编码器20的实例操作的流程图。在图22A的实例中,视频编码器20可自适应地停用用于帧内预测的一或多个滤波器(650)。在一些实例中,所述一或多个滤波器包含平滑滤波器。在一些实例中,所述一或多个滤波器包含双线性内插滤波器、边缘滤波器和DC帧内预测模式滤波器中的至少一者。边缘滤波器可使用基于梯度的平滑对第一预测列和第一预测行进行滤波。DC帧内预测模式滤波器可以两分接头FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波,且使用3分接头滤波器对预测性块的拐角样本进行滤波。
此外,视频编码器20可用信号表示控制一或多个滤波器的语法元素(652)。在一些实例中,语法元素用信号表示于PU中。此外,在一些实例中,语法元素指定残余信号是否经量化而无需变换。举例来说,语法元素可为transform_skip_flag语法元素。在其它实例中,语法元素可为cu_transquant_bypass_flag。此外,视频编码器20可执行帧内预测以产生用于视频数据的当前视频块的预测数据(654)。
在其中语法元素指定残余信号是否经量化而无需变换的一些实例中,视频编码器20可对第二语法元素的值进行编码。第二语法元素可表示是否启用用于视频数据的块的帧内预测的一或多个滤波器。此外,视频编码器20可对第一语法元素的值进行编码。第一和第二语法元素经设定而使得视频解码器能够基于第一语法元素和第二语法元素确定是否停用一或多个滤波器。此外,当启用一或多个滤波器时,视频编码器20可将一或多个滤波器应用于用于所述块的帧内预测性数据。在一些此类实例中,当第二语法元素的值指示可停用一或多个滤波器时且当第一语法元素具有指示不将变换应用于TU的值时或当第二语法元素具有指示不停用一或多个滤波器的值时,启用或停用一或多个滤波器。当第二语法元素的值指示可停用一或多个滤波器时且当第一语法元素的值指示将变换应用于TU取决于其它语法元素时,停用一或多个滤波器。一或多个滤波器可指定于JCTVC-M1005-v2中。
图22B是说明根据本发明的一或多种技术对视频数据进行解码的视频解码器30的实例操作的流程图。在图22B的实例中,视频解码器30可基于语法元素自适应地停用用于帧内预测的一或多个滤波器(670)。在一些实例中,所述一或多个滤波器包含平滑滤波器。在一些实例中,所述一或多个滤波器包含双线性内插滤波器、边缘滤波器和DC帧内预测模式滤波器中的至少一者。边缘滤波器可使用基于梯度的平滑对第一预测列和第一预测行进行滤波。DC帧内预测模式滤波器可以两分接头FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波,且使用3分接头滤波器对预测性块的拐角样本进行滤波。在一些实例中,语法元素用信号表示于PU中。
此外,视频解码器30可执行帧内预测以产生用于当前视频切片的当前块的预测数据(672)。在一些实例中,语法元素指定残余信号是否经量化而无需变换(例如,DCT)。举例来说,语法元素可为transform_skip_flag语法元素。此外,在一些此类实例中,语法元素为第一语法元素,且视频解码器30对第二语法元素的值进行解码。第二语法元素可表示是否启用用于视频数据的块的帧内预测的滤波器。换句话说,第二语法元素可为滤波器停用旗标。此外,视频解码器30可对第一语法元素的值进行解码。作为对视频数据进行帧内解码的部分,视频解码器30可至少部分地基于第一语法元素的值和第二语法元素的值确定启用还是停用滤波器。此外,当启用滤波器时,视频解码器30可将滤波器应用于用于块的帧内预测性数据。举例来说,在一些实例中,当第二语法元素的值指示可停用一或多个滤波器时且当第一语法元素具有指示不将变换应用于TU的值时或当第二语法元素具有指示不停用滤波的值时,视频解码器30可启用或停用一或多个滤波器。此外,当第二语法元素的值指示可停用一或多个滤波器时且当第一语法元素的值指示将变换应用于TU取决于其它语法元素时,视频解码器30可停用一或多个滤波器。一或多个滤波器可指定于JCTVC-M1005-v2中。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序执行、可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非顺序地执行动作或事件。
在一或多个实例中,所描述的功能可实施在硬件、软件、固件或其任何组合中。如果用软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)有形计算机可读存储媒体,其是非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一个或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各者的组合也应该包含在计算机可读媒体的范围内。
指令可由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。另外,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可在各种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已经描述各种实例。这些和其它实例以及其特定组合在所附权利要求书的范围内。

Claims (29)

1.一种对视频数据进行解码的方法,所述方法包括:
基于语法元素自适应地停用用于帧内预测的一或多个滤波器;以及
执行帧内预测以产生用于当前视频切片的当前块的预测数据。
2.根据权利要求1所述的方法,其中所述一或多个滤波器包含平滑滤波器。
3.根据权利要求1所述的方法,其中:
所述一或多个滤波器包含双线性内插滤波器、边缘滤波器或DC帧内预测模式滤波器中的至少一者,
所述边缘滤波器使用基于梯度的平滑对第一预测列和第一预测行进行滤波,且
所述DC帧内预测模式滤波器以两分接头有限脉冲响应FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波且使用3分接头滤波器对所述预测性块的拐角样本进行滤波。
4.根据权利要求1所述的方法,其中所述语法元素用信号表示于预测单元PU中。
5.根据权利要求1所述的方法,其中自适应地停用所述一或多个滤波器包括确定指示所述一或多个滤波器是否停用的停用旗标的值。
6.根据权利要求5所述的方法,其中:
所述语法元素指定残余信号是否经量化而无需变换,
如果所述语法元素开启,那么开启所述停用旗标,且
其中如果所述停用旗标开启,那么停用所述一或多个滤波器。
7.根据权利要求5所述的方法,其中:
所述语法元素指定残余信号是否经量化而无需变换,且
其中如果所述停用旗标等于1且有限脉冲响应FIR滤波器的结果经确定为高于阈值,那么停用所述一或多个滤波器。
8.根据权利要求5所述的方法,其中:
当所述语法元素开启时,预测性块经译码而无需量化和变换,
如果所述语法元素开启,那么开启所述停用旗标,且
其中如果所述停用旗标开启,那么停用所述一或多个滤波器。
9.一种对视频数据进行编码的方法,所述方法包括:
自适应地停用用于帧内预测的一或多个滤波器;
用信号表示控制所述一或多个滤波器的语法元素;以及
执行帧内预测以产生用于所述视频数据的当前视频块的预测数据。
10.根据权利要求9所述的方法,其中所述一或多个滤波器包含平滑滤波器。
11.根据权利要求9所述的方法,其中:
所述一或多个滤波器包含双线性内插滤波器、边缘滤波器或DC帧内预测模式滤波器中的至少一者,
所述边缘滤波器使用基于梯度的平滑对第一预测列和第一预测行进行滤波,且
所述DC帧内预测模式滤波器以两分接头有限脉冲响应FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波且使用3分接头滤波器对所述预测性块的拐角样本进行滤波。
12.根据权利要求9所述的方法,其中所述语法元素用信号表示于预测单元PU中。
13.根据权利要求9所述的方法,其中自适应地停用所述一或多个滤波器包括确定指示所述一或多个滤波器是否停用的停用旗标的值。
14.根据权利要求13所述的方法,其中:
所述语法元素指定残余信号是否经量化而无需变换;
如果所述语法元素开启,那么开启所述停用旗标,且
如果所述停用旗标开启,那么停用所述一或多个滤波器。
15.根据权利要求13所述的方法,其中:
所述语法元素指定残余信号是否经量化而无需变换,且
如果所述停用旗标等于1且有限脉冲响应FIR滤波器的结果经确定为高于阈值,那么停用所述一或多个滤波器。
16.根据权利要求13所述的方法,其中:
当所述语法元素开启时,预测性块经译码而无需量化和变换,
如果所述语法元素开启,那么开启所述停用旗标,且
其中如果所述停用旗标开启,那么停用所述一或多个滤波器。
17.一种视频解码装置,其包括:
计算机可读媒体,其经配置以存储视频数据,及
一或多个处理器,其经配置以:
基于语法元素自适应地停用用于帧内预测的一或多个滤波器;以及
执行帧内预测以产生用于当前视频切片的当前块的预测数据。
18.根据权利要求17所述的视频解码装置,其中所述一或多个滤波器包含平滑滤波器。
19.根据权利要求17所述的视频解码装置,其中:
所述一或多个滤波器包含双线性内插滤波器、边缘滤波器和DC帧内预测模式滤波器中的至少一者,
所述边缘滤波器使用基于梯度的平滑对第一预测列和第一预测行进行滤波,且
所述DC帧内预测模式滤波器以两分接头有限脉冲响应FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波且使用3分接头滤波器对所述预测性块的拐角样本进行滤波。
20.根据权利要求17所述的视频解码装置,其中所述语法元素用信号表示于预测单元PU中。
21.根据权利要求17所述的视频解码装置,其中作为自适应地停用所述一或多个滤波器的部分,所述一或多个处理器确定指示所述一或多个滤波器是否停用的停用旗标的值。
22.根据权利要求21所述的视频解码装置,其中:
所述语法元素指定残余信号是否经量化而无需变换,
如果所述语法元素开启,那么开启所述停用旗标,且
如果所述停用旗标开启,那么停用所述一或多个滤波器。
23.根据权利要求21所述的视频解码装置,其中:
所述语法元素指定残余信号是否经量化而无需变换,且
如果所述停用旗标等于1且有限脉冲响应FIR滤波器的结果经确定为高于阈值,那么停用所述一或多个滤波器。
24.根据权利要求21所述的视频解码装置,其中:
当所述语法元素开启时,预测性块经译码而无需量化和变换,
如果所述语法元素开启,那么开启所述停用旗标,且
如果所述停用旗标开启,那么停用所述一或多个滤波器。
25.根据权利要求21所述的视频解码装置,其中所述一或多个处理器经配置以:
对用于所述当前块的经预测块进行帧内预测;
对用于所述当前块的一或多个残余值进行解码;以及
组合所述经预测块与所述残余值以对所述当前块进行解码。
26.一种视频解码装置,其包括:
用于基于语法元素自适应地停用用于帧内预测的一或多个滤波器的装置;以及
用于执行帧内预测以产生用于当前视频切片的当前块的预测数据的装置。
27.根据权利要求26所述的视频解码装置,其中所述一或多个滤波器包含平滑滤波器。
28.根据权利要求26所述的视频解码装置,其中:
所述一或多个滤波器包含双线性内插滤波器、边缘滤波器或DC帧内预测模式滤波器中的至少一者,
所述边缘滤波器使用基于梯度的平滑对第一预测列和第一预测行进行滤波,且
所述DC帧内预测模式滤波器以两分接头有限脉冲响应FIR滤波器使用DC值对预测性块的第一预测行和第一预测列进行滤波且使用3分接头滤波器对所述预测性块的拐角样本进行滤波。
29.根据权利要求26所述的视频解码装置,其进一步包括:
用于对用于所述当前块的经预测块进行帧内预测的装置;
用于对用于所述当前块的一或多个残余值进行解码的装置;以及
用于组合所述经预测块与所述残余值以对所述当前块进行解码的装置。
CN201480040251.0A 2013-07-19 2014-07-18 停用帧内预测滤波 Expired - Fee Related CN105379266B (zh)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US201361856637P 2013-07-19 2013-07-19
US61/856,637 2013-07-19
US201361857131P 2013-07-22 2013-07-22
US61/857,131 2013-07-22
US201361876205P 2013-09-10 2013-09-10
US61/876,205 2013-09-10
US201361880087P 2013-09-19 2013-09-19
US61/880,087 2013-09-19
US201361888319P 2013-10-08 2013-10-08
US61/888,319 2013-10-08
US201361890822P 2013-10-14 2013-10-14
US201361890844P 2013-10-14 2013-10-14
US61/890,844 2013-10-14
US61/890,822 2013-10-14
US14/334,496 US9451254B2 (en) 2013-07-19 2014-07-17 Disabling intra prediction filtering
US14/334,496 2014-07-17
PCT/US2014/047222 WO2015010037A1 (en) 2013-07-19 2014-07-18 Disabling intra prediction filtering

Publications (2)

Publication Number Publication Date
CN105379266A true CN105379266A (zh) 2016-03-02
CN105379266B CN105379266B (zh) 2018-08-07

Family

ID=52343554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480040251.0A Expired - Fee Related CN105379266B (zh) 2013-07-19 2014-07-18 停用帧内预测滤波

Country Status (7)

Country Link
US (1) US9451254B2 (zh)
EP (1) EP3022910A1 (zh)
JP (1) JP6580562B2 (zh)
KR (1) KR101743893B1 (zh)
CN (1) CN105379266B (zh)
CA (1) CA2917631C (zh)
WO (1) WO2015010037A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
CN109716771A (zh) * 2016-09-15 2019-05-03 高通股份有限公司 用于视频译码的线性模型色度帧内预测
CN110662061A (zh) * 2018-06-29 2020-01-07 想象技术有限公司 有保证的数据压缩
CN110708555A (zh) * 2018-07-10 2020-01-17 腾讯美国有限责任公司 视频解码方法、装置、计算机设备以及存储介质
CN110754090A (zh) * 2017-06-29 2020-02-04 高通股份有限公司 减少360度视频中的接缝伪影
CN112352434A (zh) * 2018-07-11 2021-02-09 华为技术有限公司 用于帧内预测的基于宽高比滤波的方法和装置
WO2021068785A1 (en) * 2019-10-06 2021-04-15 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of unifying interplolation filter of luma and chroma components
CN113556566A (zh) * 2018-12-21 2021-10-26 华为技术有限公司 用于预测译码的插值滤波的方法及装置
CN114554200A (zh) * 2017-09-08 2022-05-27 交互数字Vc控股公司 使用基于图案的块滤波进行视频编码和解码的方法和装置
US12034934B2 (en) 2018-06-29 2024-07-09 Imagination Technologies Limited Guaranteed data compression

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR102555352B1 (ko) 2010-12-08 2023-07-13 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
CN103283237B (zh) * 2010-12-22 2017-03-22 Lg电子株式会社 帧内预测方法和使用该方法的设备
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
KR20120140181A (ko) 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US10645398B2 (en) 2011-10-25 2020-05-05 Texas Instruments Incorporated Sample-based angular intra-prediction in video coding
WO2015101329A1 (en) * 2014-01-02 2015-07-09 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction coding with boundary filtering control
US10110916B2 (en) * 2014-04-22 2018-10-23 Sony Corporation Encoding device and encoding method
CN105872539B (zh) * 2015-02-08 2020-01-14 同济大学 图像编码方法和装置及图像解码方法和装置
US10362305B2 (en) * 2015-03-27 2019-07-23 Sony Corporation Image processing device, image processing method, and recording medium
CN115134593B (zh) 2015-06-05 2024-07-23 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
JP6383327B2 (ja) * 2015-06-10 2018-08-29 日本電信電話株式会社 イントラ予測処理装置、イントラ予測処理方法、イントラ予測処理プログラム、画像符号化装置及び画像復号装置
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US11477484B2 (en) * 2015-06-22 2022-10-18 Qualcomm Incorporated Video intra prediction using hybrid recursive filters
CN107925762B (zh) 2015-09-03 2020-11-27 联发科技股份有限公司 基于神经网络的视频编解码处理方法和装置
US10425648B2 (en) * 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
CN106604028A (zh) * 2015-10-16 2017-04-26 中兴通讯股份有限公司 编码处理、解码处理方法及装置、编码器及解码器
WO2017073362A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
EP3376764A4 (en) * 2015-11-12 2019-12-04 LG Electronics Inc. METHOD AND DEVICE FOR COEFFICIENT-INDUCED INTRAPREDICATION IN A BILDCODING SYSTEM
SG11201804135XA (en) * 2015-11-17 2018-06-28 Huawei Tech Co Ltd Method and apparatus of adaptive filtering of samples for video coding
KR20240044535A (ko) 2016-02-09 2024-04-04 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
KR20180129863A (ko) * 2016-04-25 2018-12-05 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
FI3499884T3 (fi) * 2016-08-08 2023-03-18 Lg Electronics Inc Intra-ennustusmoodiin perustuvia videokoodausmenetelmiä ja videonkäsittelylaitteisto niitä varten
KR102424419B1 (ko) 2016-08-31 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
CN115633170A (zh) * 2016-12-23 2023-01-20 华为技术有限公司 一种用于矩形视频编码块的解码方法、装置及计算机可读存储介质
EP3535972B1 (en) * 2016-12-23 2020-11-18 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
KR20180080115A (ko) * 2017-01-02 2018-07-11 한양대학교 산학협력단 참조 화소에 대하여 적응적 필터링을 수행하기 위한 화면 내 예측 방법 및 장치
KR102401851B1 (ko) * 2017-06-14 2022-05-26 삼성디스플레이 주식회사 영상 압축 방법 및 이를 수행하는 표시 장치
WO2019013515A1 (ko) * 2017-07-10 2019-01-17 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2019059107A1 (ja) * 2017-09-20 2019-03-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
CN107896330B (zh) * 2017-11-29 2019-08-13 北京大学深圳研究生院 一种用于帧内和帧间预测的滤波方法
WO2019107999A1 (ko) * 2017-11-30 2019-06-06 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
JP7046186B2 (ja) * 2017-12-08 2022-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
US10491897B2 (en) 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
IL312193A (en) 2018-06-25 2024-06-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Interior-frame and device prediction method
US10382772B1 (en) * 2018-07-02 2019-08-13 Tencent America LLC Method and apparatus for video coding
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
US11277644B2 (en) * 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
CN112740276A (zh) * 2018-09-23 2021-04-30 华为技术有限公司 用于帧内参考样本插值滤波器切换的方法和装置
KR102661961B1 (ko) * 2018-10-05 2024-05-10 티씨엘 킹 일렉트리컬 어플라이언시스 (후이저우) 컴퍼니 리미티드 변환 계수 코딩 방법 및 장치
KR20240006079A (ko) * 2018-10-06 2024-01-12 후아웨이 테크놀러지 컴퍼니 리미티드 보간 필터를 사용하는 인트라 예측을 위한 방법 및 장치
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
WO2020085955A1 (en) * 2018-10-26 2020-04-30 Huawei Technologies Co., Ltd. Method and apparatus for reference sample filtering
CN112997497A (zh) 2018-11-14 2021-06-18 华为技术有限公司 用于帧内预测的方法和装置
EP3841752A4 (en) 2018-11-19 2021-10-20 Huawei Technologies Co., Ltd. PROCESS AND APPARATUS FOR HIERARCHICAL SIGNALING OF ACTIVATION AND DEACTIVATION OF PREDICTION MECHANISMS FOR VIDEO CODING
KR20210084567A (ko) * 2018-11-28 2021-07-07 주식회사 윌러스표준기술연구소 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치
EP3888363B1 (en) * 2018-12-28 2023-10-25 Huawei Technologies Co., Ltd. Method and apparatus of sharpening interpolation filtering for predictive coding
CN115426494B (zh) * 2018-12-29 2024-05-17 华为技术有限公司 编码器,解码器和使用压缩mv存储的对应方法
US11431987B2 (en) * 2019-01-08 2022-08-30 Tencent America LLC Method and apparatus for memory bandwidth reduction for small inter blocks
EP3900331A4 (en) 2019-01-12 2022-03-16 Huawei Technologies Co., Ltd. VIDEO ENCODER, VIDEO DECODER AND RELATED MMVD DISTANCE PROCESSING METHODS
US10778972B1 (en) 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression
JP7145793B2 (ja) * 2019-03-11 2022-10-03 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US20220182616A1 (en) * 2019-03-12 2022-06-09 Lg Electronics Inc. Method and apparatus for encoding/decoding video and method for transmitting bitstream
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
CN113785572B (zh) 2019-05-02 2022-12-16 北京字节跳动网络技术有限公司 使用多个参考滤波器的帧内视频编解码
CN113812152B (zh) * 2019-05-14 2023-10-03 北京字节跳动网络技术有限公司 帧内视频编解码的滤波器选择
US10735745B1 (en) * 2019-06-06 2020-08-04 Tencent America LLC Method and apparatus for video coding
KR20220019257A (ko) * 2019-07-10 2022-02-16 엘지전자 주식회사 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
CN113632471B (zh) * 2019-08-23 2024-02-27 腾讯美国有限责任公司 视频编解码的方法和装置
JP7453347B2 (ja) * 2019-08-31 2024-03-19 エルジー エレクトロニクス インコーポレイティド 画像コーディングシステムで単純化されたレジデュアルデータコーディングを用いる画像デコード方法及びその装置
CN114651441B (zh) * 2019-09-19 2023-12-19 Lg电子株式会社 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法
WO2020251414A2 (en) * 2019-09-29 2020-12-17 Huawei Technologies Co., Ltd. Method and apparatus of generating weighting masks for integer-slope split directions in inter prediction
EP4062634A4 (en) 2019-12-26 2022-12-28 ByteDance Inc. LIMITATIONS ON SIGNALING HYPOTHETICAL REFERENCE DECODER PARAMETERS IN VIDEO BITSTREAMS
WO2021134015A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Profile, tier and layer indication in video coding
EP4066386A4 (en) 2019-12-27 2023-01-25 ByteDance Inc. SIGNALING SUBPICTURES IN VIDEO ENCODING
GB2590729A (en) * 2020-01-03 2021-07-07 British Broadcasting Corp Transform skip in video coding and decoding
CN117395441A (zh) 2020-01-09 2024-01-12 字节跳动有限公司 视频流中的填充数据单元的处理
US11558605B2 (en) 2020-01-23 2023-01-17 Tencent America LLC Video coding method and system based on multiple reference line intra prediction
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
JP7152444B2 (ja) * 2020-04-30 2022-10-12 華為技術有限公司 ビデオ符号化のためのサンプルの適応フィルタリングの方法および装置
CN115699733A (zh) * 2020-05-21 2023-02-03 字节跳动有限公司 在视频编解码中信令通知层间参考图片
CN115668933A (zh) * 2020-05-22 2023-01-31 字节跳动有限公司 编解码视频中nal单元的排序

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779464A (zh) * 2007-06-08 2010-07-14 汤姆森特许公司 多格点基于稀疏性滤波基础上环内去伪像滤波方法和装置
CN102077595A (zh) * 2008-07-01 2011-05-25 索尼公司 图像处理装置和方法
US20120082219A1 (en) * 2010-10-05 2012-04-05 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
CN103004197A (zh) * 2010-04-23 2013-03-27 吴秀美 用于对图像编码的设备和方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2638109B2 (ja) * 1988-08-22 1997-08-06 日本電信電話株式会社 ループ内フィルタ
AU2011247331B2 (en) * 2010-04-26 2015-11-26 Sun Patent Trust Filtering mode for intra prediction inferred from statistics of surrounding blocks
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779464A (zh) * 2007-06-08 2010-07-14 汤姆森特许公司 多格点基于稀疏性滤波基础上环内去伪像滤波方法和装置
CN102077595A (zh) * 2008-07-01 2011-05-25 索尼公司 图像处理装置和方法
CN103004197A (zh) * 2010-04-23 2013-03-27 吴秀美 用于对图像编码的设备和方法
US20120082219A1 (en) * 2010-10-05 2012-04-05 Microsoft Corporation Content adaptive deblocking during video encoding and decoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IL-KOO KIM: "High Efficiency Video Coding (HEVC) Test Model 10 (HM10) Encoder Description", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 12TH MEETING:GENEVA》 *
YUNFEI ZHENG: "Simplified Intra Smoothing", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 3RD MEETING》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109716771A (zh) * 2016-09-15 2019-05-03 高通股份有限公司 用于视频译码的线性模型色度帧内预测
CN109716771B (zh) * 2016-09-15 2022-06-28 高通股份有限公司 用于视频译码的线性模型色度帧内预测
CN110754090A (zh) * 2017-06-29 2020-02-04 高通股份有限公司 减少360度视频中的接缝伪影
CN110754090B (zh) * 2017-06-29 2023-11-24 高通股份有限公司 减少360度视频中的接缝伪影
CN114554200A (zh) * 2017-09-08 2022-05-27 交互数字Vc控股公司 使用基于图案的块滤波进行视频编码和解码的方法和装置
CN107801024B (zh) * 2017-11-09 2019-07-12 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
CN110662061A (zh) * 2018-06-29 2020-01-07 想象技术有限公司 有保证的数据压缩
US12034934B2 (en) 2018-06-29 2024-07-09 Imagination Technologies Limited Guaranteed data compression
CN110708555A (zh) * 2018-07-10 2020-01-17 腾讯美国有限责任公司 视频解码方法、装置、计算机设备以及存储介质
CN110708555B (zh) * 2018-07-10 2022-04-15 腾讯美国有限责任公司 视频解码方法、装置、计算机设备以及存储介质
CN112352434B (zh) * 2018-07-11 2022-06-07 华为技术有限公司 用于帧内预测的基于宽高比滤波的方法和装置
US11323706B2 (en) 2018-07-11 2022-05-03 Huawei Technologies Co., Ltd. Method and apparatus for aspect-ratio dependent filtering for intra-prediction
CN112352434A (zh) * 2018-07-11 2021-02-09 华为技术有限公司 用于帧内预测的基于宽高比滤波的方法和装置
CN113556566A (zh) * 2018-12-21 2021-10-26 华为技术有限公司 用于预测译码的插值滤波的方法及装置
US11877013B2 (en) 2018-12-21 2024-01-16 Huawei Technologies Co., Ltd. Method and apparatus of interpolation filtering for predictive coding
WO2021068785A1 (en) * 2019-10-06 2021-04-15 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of unifying interplolation filter of luma and chroma components

Also Published As

Publication number Publication date
KR101743893B1 (ko) 2017-06-05
CA2917631A1 (en) 2015-01-22
CN105379266B (zh) 2018-08-07
EP3022910A1 (en) 2016-05-25
US9451254B2 (en) 2016-09-20
CA2917631C (en) 2018-04-03
US20150023405A1 (en) 2015-01-22
WO2015010037A1 (en) 2015-01-22
JP2016530779A (ja) 2016-09-29
KR20160034923A (ko) 2016-03-30
JP6580562B2 (ja) 2019-09-25

Similar Documents

Publication Publication Date Title
CN105379266A (zh) 停用帧内预测滤波
CN103947207B (zh) 用于图片分割方案的统一设计
CN105493507B (zh) 用于帧内块复制的残余预测
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN103891293B (zh) 用于色度分量的自适应环路滤波的方法及设备
CN109716765A (zh) 用于视频译码中的帧内预测的经改进内插滤波器
CN105723707A (zh) 用于视频译码的色彩残差预测
CN105379270A (zh) 颜色分量间残余预测
CN105532007A (zh) 在视频译码中用于非亮度分量的自适应解块滤波
US11930215B2 (en) Multiple neural network models for filtering during video coding
CN106105203A (zh) 块自适应颜色空间转换译码
CN104221381A (zh) 用于视频译码的波前并行处理
CN106464885A (zh) 块自适应颜色空间转换译码
CN106664425A (zh) 视频译码中的跨分量预测
CN104509113A (zh) 视频压缩中的变换跳过模式
TW202115977A (zh) 用於視訊編碼的跨分量自我調整迴路濾波
CN105308959A (zh) 用于视频译码的自适应颜色变换
CN105474641A (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN105359532A (zh) 帧内运动补偿延伸
CN106797484A (zh) 用于基于调色板的视频译码的调色板索引二进制化
CN104471935A (zh) 具有变换跳过的视频译码中的预测残余块的旋转
TW202121903A (zh) 低頻不可分離變換(lfnst)簡化
CN107810636A (zh) 使用混合递归滤波器的视频帧内预测
CN104471942A (zh) 重新使用参数集用于视频译码
CN104303501A (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

Granted publication date: 20180807

Termination date: 20200718

CF01 Termination of patent right due to non-payment of annual fee