CN113243106B - 一种用于视频图像的预测块的帧内预测的设备和方法 - Google Patents

一种用于视频图像的预测块的帧内预测的设备和方法 Download PDF

Info

Publication number
CN113243106B
CN113243106B CN201880094600.5A CN201880094600A CN113243106B CN 113243106 B CN113243106 B CN 113243106B CN 201880094600 A CN201880094600 A CN 201880094600A CN 113243106 B CN113243106 B CN 113243106B
Authority
CN
China
Prior art keywords
prediction
filter
intra
block
image
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.)
Active
Application number
CN201880094600.5A
Other languages
English (en)
Other versions
CN113243106A (zh
Inventor
阿列克谢·康斯坦丁诺维奇·菲利波夫
瓦西里·亚历斯维·拉夫特斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113243106A publication Critical patent/CN113243106A/zh
Application granted granted Critical
Publication of CN113243106B publication Critical patent/CN113243106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • 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/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/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

本发明涉及图像处理领域,例如,静止图像(picture/image)和/或视频图像(picture/image)编码。具体而言,本发明涉及一种用于对视频图像的预测块进行帧内预测的设备和相应的方法。所述设备用于从方向性帧内预测模式集合中选择方向性帧内预测模式,其中,每个方向性帧内预测模式对应于不同的帧内预测角度。所述设备还用于根据所述选择的方向性帧内预测模式,从滤波器集合中选择滤波器。所述设备还用于根据所述选择的方向性帧内预测模式,从参考像素集合中为所述预测块的给定预测像素确定参考像素,并将所述选择的滤波器应用于所述确定的参考像素。

Description

一种用于视频图像的预测块的帧内预测的设备和方法
技术领域
本发明实施例涉及图像处理领域,例如,静止图像(picture/image)和/或视频图像(picture/image)编码。具体而言,本发明涉及一种用于帧内预测的设备,即用于帧内预测视频图像的预测块的设备。该设备可以是视频图像编码器或视频图像解码器的一部分。该设备具体用于执行预测块的方向性帧内预测。本发明还涉及相应的帧内预测方法。
背景技术
视频编码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、经由互联网和移动网络的视频传输、如视频聊天、视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统以及可携式摄像机的安全应用。
自从1990年研发的H.261标准中基于块的混合视频编码方法以来,研发了新的视频编码技术和工具,为新的视频编码标准奠定了基础。与前代标准相比,大多数视频编码标准的目标之一是在保证图像质量的情况下,降低比特率。其它视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4,第10部分、高级视频编码(Advanced Video Coding,AVC)、ITU-T H.265、高效视频编码(High EfficiencyVideo Coding,HEVC)以及这些标准的扩展,例如可扩展性和/或三维(three-dimensional,3D)扩展。
视频压缩能够按照预期降低比特率,但是很复杂。具体而言,视频压缩受到两个相互矛盾的参数的限制:压缩效率和计算复杂度。视频编码标准(如ITU-T H.264/AVC或ITU-TH.265/HEVC)在这些参数之间进行了良好的权衡。因此,几乎所有视频压缩应用都要求必须支持视频编码标准。
最先进的视频编码标准基于将源图像划分成块。这些块的处理取决于其大小、空间位置和编码器指定的编码模式。
根据预测类型,编码模式可以分为两组:帧内预测模式和帧间预测模式。帧内预测模式使用同一图像的像素来生成参考像素,以计算正在重建的块的像素的预测值。帧内预测也称为空间预测。帧间预测模式用于时间预测,使用之前或后续图像的参考像素来预测当前图像的块的像素点。
在预测阶段之后,对预测误差(原始信号与其预测值之间的差值)进行变换编码。然后,使用熵编码器(例如,AVC/H.264和HEVC/H.265标准中的CABAC)对变换系数和边信息进行编码。最近采用的ITU-T H.265/HEVC标准(ISO/IEC 23008-2:2013,《信息技术-异构环境下的高效编码和媒体传输》(第2部分):高效视频编码”(2013年11月)宣布了一组最先进的视频编码工具,这些工具在编码效率和计算复杂度之间进行了合理的权衡。盖里J.苏利文在《高效视频编码(HEVC)标准概述》(IEEE视频技术电路和系统学报第22卷第12期,2012年12月)中对ITU-T H.265/HEVC标准进行了概述,其全部内容通过引用结合在本申请中。
与ITU-T H.264/AVC视频编码标准类似,HEVC/H.265视频编码标准规定将源图像划分为块(例如,编码单元(coding unit,CU))。每个CU可以进一步分为更小的CU或预测单元(prediction unit,PU)。可以根据PU的像素应用的处理类型,对PU进行帧内或帧间预测。对于帧间预测,PU表示通过使用为PU指定的运动矢量进行运动补偿来处理的像素的区域。对于帧内预测,将相邻块的相邻像素作为参考像素来预测当前块。
PU指定了预测模式,所述预测模式是从该PU中包含的所有变换单元(transformunit,TU)的帧内预测模式集合中选择的。也就是说,对于PU的每个TU而言,帧内预测模式是相同的。TU可以具有不同的大小(例如,4×4、8×8、16×16和32×32像素),处理方式可以不同。对TU进行变换编码,即通过离散余弦变换或离散正弦变换(在HEVC/H.265标准中,应用于帧内编码块)对预测误差进行变换和量化。因此,重建像素包含DBF、SAO、ALF等环内滤波器试图抑制的量化噪声(量化噪声可能变得如单元间的块状结构、沿锐边振铃伪影等一样明显)。使用HEVC/H.265标准中先进的预测编码(例如运动补偿和帧内预测)和划分技术(例如针对CU与PU的四叉树(Quad-Tree,QT)以及针对TU的残差四叉树(Residual Quad-Tree,RQT)),以及JEM-3.0版本开始的联合探索模型(Joint Exploration Model,JEM)参考软件的四叉树联合二叉树(Quad-Tree and Binary Tree,QTBT),使得标准化委员会可以大幅降低PU的冗余。QT和QTBT划分机制的基本区别在于,后者基于四叉树和二叉树进行分区,使得不仅支持正方形块,而且还支持矩形块。本发明涉及方向性帧内预测,并引入对方向性帧内预测模式的新修改。
根据HEVC/H.265标准,有35种可用的帧内预测模式。如图8所示,该集合包含以下模式:
·平面模式(帧内预测模式索引为0);
·DC模式(帧内预测模式索引为1);
·图8中实线箭头所示的方向性模式(帧内预测模式索引值为2~34)。通过将方向性帧内预测模式之间的角度步长减小2倍来将方向性帧内预测模式集合扩展到65个模式(即,几乎两倍)。这些附加模式如图8中的虚线箭头所示。
针对JEM-3.0软件,提出了称为QTBT的新划分机制。如图9所示,通过QTBT划分不仅可以提供正方形块,还可以提供矩形块。当然,与例如在HEVC/H.265标准中使用的基于划分的传统QT相比,QTBT划分的代价是增加了编码器侧的一些信令开销和计算复杂度。然而,基于QTBT的划分具有更好的划分特性,因此,QTBT的编码效率比传统QT高得多。
然而,当引入QTBT时,可用的方向性帧内预测模式集合没有相应地改变。如图10所示,具体而言,没有考虑矩形块的不对称性。因此,在矩形块的较短边和较长边都使用相同数量的参考像素。在QTBT框架的当前实施方式中,方向性帧内预测模式的数量既不取决于块的长宽比,也不取决于参考像素的实际可用性。因此,矩形块的短边几乎不可能使用参考像素,矩形块的长边也有可能不使用参考像素。
值得注意的是,如图11所示,在本文中,术语“垂直方向块”(“块的垂直方向”)和“水平方向块”(“块的水平方向”)应用于通过QTBT框架生成的矩形块。图11特别示出了(a)水平方向块和(b)垂直方向块。
在文献JVET-D0113中,进一步提出了应用一种机制,其中,方向性帧内预测模式的数量是可调的。具体而言,提出了进一步针对较大的块尺寸将方向性帧内预测模式的数量增加到131,同时针对较小的块尺寸减少方向性帧内预测模式的数量。基于块尺寸的方向性帧内预测模式的数量切换由两个阈值控制,这两个阈值在SPS中分别用log2值减4和log2值减6表示。其中,第一阈值表示有35个帧内预测模式方向的最大的块尺寸,第二阈值表示有67个帧内预测模式方向的最大的块尺寸,其它块均使用131个帧内预测模式方向。在默认设置中,信号发送分别为4和6的阈值,对于高分辨率图像,阈值设置为5和8。
在该实现方式中,无论实际使用的方向性帧内预测模式的数量是多少,方向性帧内预测模式索引始终由模式范围131表示。对于实际正在使用的67种帧内预测模式,只允许每两个角度(方向性)模式使用一次帧内预测模式;而对于35种模式,只允许每四个角度(方向性)模式使用一次帧内预测模式。因此,在信号发送帧内预测模式时,如果当前块使用的帧内预测模式方向小于131个,则可能需要对相邻块的帧内预测模式向最近、第二或第四角度帧内预测模式取整,如图12所示。这种转换是通过将左移和右移1或2应用于帧内预测模式来完成的。如果模式不是MPM,则信号发送模式遵循与JEM-3.0中相同的过程,但具有不同数量的帧内预测模式。平面模式和DC模式保持不变,不需要进行模式转换。为了适应帧内预测模式数量的增加,4抽头帧内滤波器从1/32分数像素扩展到1/64分数像素。
此外,最近提出了一项技术,以解决在为矩形块设置的帧内预测模式中应包含多少个方向性帧内预测模式的问题。如图13所示,根据所提出的技术,方向性帧内预测模式集合可以根据预测块的长宽比进行扩展,并且可以通过将增加的方向性帧内预测模式映射到传统子集来信号发送所述方向性帧内预测模式集合。
鉴于此,图14示出了在对角方向上的帧内预测的情况,其角度等于与方向性帧内预测模式相关联的45°。这种情况下,对应的HEVC帧内模式索引是2(从左下方)和35(从右上方)。
然而,如果类似的帧内预测机制应用于小于45°的角度,即,对于扩展的方向性帧内预测模式,情况如图15所示。即,当帧内预测方向被指定为锐角方向(即,小于45°)时,在预测过程中可以观察到明显的不连续性。产生这些不连续性的原因尤其在于,两个相邻的预测像素行之间的参考像素位置之间的差可能会变得大于一个参考像素。该问题涉及参考像素的处理方法和进行帧内预测插值的方法。
发明内容
鉴于上述实施方式,本发明旨在进一步改进混合视频编码。具体而言,本发明的目的在于提供一种用于改进视频图像预测块的帧内预测的设备和方法。尤其,本发明旨在不增加硬件和计算复杂度的情况下获得额外的编码增益。具体地,本发明旨在克服上述在小于45°的锐角的情况下产生的问题,即,本发明要解决这些锐角导致的不连续性。本发明应易于在使用常规方向性帧内预测机制的编解码器中实现。
本发明的目的根据由独立权利要求的特征界定的本发明的实施例实现。实施例的其它有利实施方式由从属权利要求的特征界定。
具体而言,至少在所述方向性帧内预测模式的子集内,比如对与帧内预测模式相关的帧内预测锐角,本发明提出通过改变方向性帧内预测模式之间的相邻角度的角度步长(步长角度)来降低不连续性。本方案主要适用于QTBT、MTT等划分框架生成的矩形块。
本发明第一方面提供一种用于对视频图像的预测块进行帧内预测的设备,所述设备用于从方向性帧内预测模式集合中选择方向性帧内预测模式,其中,每个方向性帧内预测模式对应于不同的帧内预测角度;根据所述选择的方向性帧内预测模式从参考像素集合中为所述预测块的给定预测像素确定参考像素;并将滤波器应用于所述确定的参考像素,其中,在所述方向性帧内预测模式的子集内,根据所述滤波器的滤波器长度定义所述方向性帧内预测模式之间的角度步长。
根据所述第一方面所述的设备具有以下优点:
·可以获得额外的编码增益。
·可用于混合视频编码范例的许多潜在应用中,这些范例分别与最新及下一代视频编码框架的HM软件和VPX视频编解码器系列兼容,以及分别与最新及下一代视频编码框架的JEM和VTM软件和VPX/AV1视频编解码器系统兼容。
·硬件和计算复杂度低。
·所述设备易于在使用常规方向性帧内预测机制的编解码器中实现。
根据所适用滤波器的滤波器长度来定义角度步长,具体而言,对较短的滤波器长度,可以选择较小的角度步长,从而与子集中不同的方向性帧内预测模式相关联的角度的总的角度范围较小。因此,甚至对于最大的帧内预测锐角,由于滤波器带来的不连续性也可以避免。
值得注意的是,预测块可以是TU或PU。所述设备用于,如针对给定预测像素所述,处理所述预测块中的每个预测像素。因此,所述设备用于执行视频图像中的整个预测块的帧内预测。像素点是视频图像中通道和像素的交集。例如,视频图像的每个像素可以包括红色、绿色和蓝色的三个像素点。
在所述第一方面的一种实现方式中,滤波器的滤波器长度越长,角度步长就越大,而滤波器的滤波器长度越短,角度步长就越小。
滤波器长度越大,帧内预测角度越锐化,从而可以改善帧内预测结果,而且避免不连续性。与子集中不同的方向性帧内预测模式相关联的角度的总的角度范围较大。
在所述第一方面的另一种实现方式中,根据所述滤波器的滤波器长度,角度步长位于2至4度之间,具体为2、2.5、3或4度。
在所述第一方面的另一种实现方式中,角度步长表示为Δα,并由以下公式定义:
Figure GDA0003126150470000041
其中,Nf为所述滤波器的滤波器长度,ΔM0为所述子集中的方向性帧内预测模式的数量。
从而,基于滤波器长度来优化角度步长可以获得最好的结果。值得注意的是,子集中方向性帧内预测模式的数量,比如,可以依赖于预测块的长宽比。也就是说,基于预测块的长宽比来选择方向性帧内预测模式的子集。
在所述第一方面的另一种实现方式中,根据所述预测块的长宽比选择所述滤波器的滤波器长度。
比如,长宽比越大,长方形块的长边的帧内预测角度越锐化。相应的,就需要比较大的滤波器长度。滤波器长度越大,子集的角度步长就越大。
在所述第一方面的另一种实现方式中,根据所述预测块的高度和/或宽度选择所述滤波器的滤波器长度。
在所述第一方面的另一种实现方式中,当所述滤波器应用于所述确定的参考像素时,所述滤波器根据所述滤波器长度对所述确定的参考像素和一个或多个相邻参考像素执行平滑操作。
在所述第一方面的另一种实现方式中,所述参考像素集合中的参考像素排列在所述视频图像中与所述预测块的上方和右上方位置相邻的行中,和/或排列在所述视频图像中与所述预测块的左侧和左上方位置相邻的列中。
在所述第一方面的另一种实现方式中,所述设备用于对所述视频图像进行编码和/或解码,或者所述设备为视频编码器和/或视频解码器。
例如,所述第一方面的所述设备可以包含在编码器或解码器的帧内预测单元中,或者可以是编码器或解码器的帧内预测单元。
本发明的第二方面提供了一种用于对视频图像的预测块进行帧内预测的方法,所述方法包括:从方向性帧内预测模式集合中选择方向性帧内预测模式,其中,每个方向性帧内预测模式对应于不同的帧内预测角度;其中,每个方向性帧内预测模式对应于不同的帧内预测角度;根据所述选择的方向性帧内预测模式,从参考像素集合中为所述预测块的给定预测像素确定参考像素;将滤波器应用于所述确定的参考像素,其中,在所述方向性帧内预测模式的子集内,根据所述滤波器的滤波器长度定义所述方向性帧内预测模式之间的角度步长。
在所述第二方面的一种实现方式中,滤波器的滤波器长度越长,角度步长就越大,而滤波器的滤波器长度越短,角度步长就越小。
在所述第二方面的另一种实现方式中,根据所述滤波器的滤波器长度,角度步长位于2至4度之间,具体为2、2.5、3或4度。
在所述第二方面的另一种实现方式中,角度步长表示为Δα,并由以下公式定义:
Figure GDA0003126150470000051
其中,Nf为所述滤波器的滤波器长度,ΔM0为所述子集中的方向性帧内预测模式的数量。
在所述第二方面的另一种实现方式中,根据所述预测块的长宽比选择所述滤波器的滤波器长度。
在所述第二方面的另一种实现方式中,根据所述预测块的高度和/或宽度选择所述滤波器的滤波器长度。
在所述第二方面的另一种实现方式中,当所述滤波器应用于所述确定的参考像素时,所述滤波器根据所述滤波器长度对所述确定的参考像素和一个或多个相邻参考像素执行平滑操作。
在所述第二方面的另一种实现方式中,所述参考像素集合中的参考像素排列在所述视频图像中与所述预测块的上方和右上方位置相邻的行中,和/或排列在所述视频图像中与所述预测块的左侧和左上方位置相邻的列中。
在所述第二方面的另一种实现方式中,执行所述方法以对所述视频图像进行编码和/或解码,或者,在视频编码器和/或视频解码器中执行所述方法。
通过所述第二方面及其实现方式的方法,实现了所述第一方面及其相应实现方式的设备的上述优点和效果。
应注意,本申请中所描述的所有设备、元件、单元和构件都可以在软件或硬件元件或其任何种类的组合中实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,待由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。
附图和以下描述对一个或多个实施例进行了详细阐述。其它特征、目的和优点在说明书、附图以及权利要求中是显而易见的。
附图说明
下面结合附图对本发明实施例进行详细描述。在附图中:
图1为示出用于实现本发明实施例的视频编码器的示例性结构的框图;
图2为示出用于实现本发明实施例的视频解码器的示例性结构的框图;
图3为示出用于实现本发明实施例的视频编码系统的示例的框图;
图4示出了(a)当帧内预测角度小于45°时的不连续性的原因,以及(b)当帧内预测角度小于45°时的行间不连续性的原因。
图5为示出本发明实施例的一种设备的框图。
图6示出为扩展方向性帧内预测模式采用不同的角度步长。
图7示出了本发明实施例一种方法的流程图。
图8示出了HM和JEM软件中的帧内预测模式(仅针对JEM引入虚线标注的角度/方向性模式,HM不引入)。
图9示意性地示出了QTBT划分。
图10示出了QT和QTBT框架中方向性帧内预测机制的当前实施方式:
图11示出了矩形块的方向,尤其示出了具有(a)水平方向和(b)垂直方向的矩形块。
图12示出了JVET-D0113中提出的帧内模式选择。
图13示出了提出的方向性帧内预测模式的扩展。
图14示意性地示出了用于帧内预测的参考像素之间的距离,其中,该参考像素用于对帧内预测角度等于45°的相邻两行预测像素进行帧内预测。
图15示意性地示出了用于帧内预测的参考像素之间的距离,其中,该参考像素用于对帧内预测角度小于45°的相邻两行预测像素进行帧内预测。
具体实施方式
以下描述中,参考组成本发明一部分并以说明的方式示出本发明实施例的具体方面或可使用本发明实施例的具体方面的附图。应理解,本发明实施例可在其它方面中使用,并可包括附图中未描绘的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,本发明的范围由所附权利要求书界定。
例如,应理解,结合所描述方法的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中的每个单元都执行多个步骤中的一个或多个),即使附图中未明确描述或说明该一个或多个单元。另一方面,例如,如果根据如功能单元等一个或多个单元描述具体装置,则对应的方法可以包括一个步骤来实现一个或多个单元的功能(例如,一个步骤实现一个或多个单元的功能,或多个步骤中的每个步骤都实现多个单元中一个或多个单元的功能),即使附图中未明确描述或说明这种一个或多个步骤。此外,应理解,除非另有说明,否则本文描述的各种示例性实施例和/或方面的特征可相互组合。
视频编码通常指对构成视频或视频序列的图像序列进行处理。在视频编码领域,术语“帧(frame)”或“图像(picture/image)”可以用作同义词。视频编码(coding)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以减少表示视频图像所需的数据量(从而更高效的存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作的逆处理,以重建视频图像。关于实施例涉及的视频图像(或通常称为图像,将在下文解释)的“编码”应理解为视频图像的“编码”或“解码”。编码部分和解码部分也合称为编解码(编码和解码,CODEC)。
在无损视频编码情况下,可以重建原始视频图像,即重建的视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频编码情况下,通过量化等进行进一步压缩来减少表示视频图像所需的数据量,而解码器处无法完全重建视频图像,即重建的视频图像的质量比原始视频图像的质量更低或更差。
自H.261以来的几个视频编码标准属于“有损混合视频编解码器”组(即,将像素点域中的空间预测和时间预测与变换域中用于应用量化的2D变换编码结合)。视频序列中的每个图像通常划分成不重叠的块集合,通常基于块级进行编码。换句话说,编码器通常在块(视频块)级处对视频进行处理(即编码),例如,通过空间(帧内)预测和时间(帧间)预测来生成预测块;从当前块(当前处理/待处理的块)中减去预测块,获得残差块;在变换域中变换并量化残差块,以减少待传输(压缩)的数据量,而解码器将相对于编码器作的逆处理应用于经编码或经压缩的块,以重建用于表示的当前块。此外,编码器重复解码器的处理步骤,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即编码)。
因为视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括编码)共享许多概念和技术或工具,所以在下文中,术语“图像”用于指代视频序列的视频图像(如上文所述)和/或静止图像,以避免在不需要时对视频图像与静止图像进行不必要的重复和区分。如果上述描述仅指静止图像(still picture或still image),应使用术语“静止图像”。
以下在根据图4到11更详细地描述本发明实施例之前,根据图1至3描述用于实现本发明实施例的编码器100,解码器200和编码系统300。
图3为编码系统300(例如,图像编码系统300)的一个实施例的概念性或示意性框图。编码系统300包括源设备310,源设备310用于将编码数据330(例如,编码图像330)提供给目的地设备320等以对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且可另外(即,可选地)包括图像源312、预处理单元314(例如,图像预处理单元314)以及通信接口或通信单元318。
图像源312可以包括或可以是任何类型的图像采集设备,例如用于采集真实世界图像的设备,和/或任何类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器,或用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmented reality,AR)图像)的任何类型的设备。在下文中,除非另有其它具体说明,所有这些类型的图像和任何其它类型的图像都将称为“图像”,而之前关于术语“图像”(包括“视频图像”和“静止图像”)的解释仍然适用,除非有明确的不同规定。
(数字)图像为或可以看作具有强度值的像素点的二维阵列或矩阵。阵列中的像素点也可称为像素(pixel或pel)(图像元素的简称)。图像的大小和/或分辨率由阵列或图像在水平和垂直方向(或轴)上的像素点数量定义。通常使用三种颜色分量来表示颜色,即该图像可表示为三个像素点阵列或包括三个像素点阵列。在RBG格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点阵列。然而,在视频编码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括通过Y指示的亮度分量(有时也用L指示)和通过Cb和Cr指示的两个色度分量。亮度(或简称luma)分量Y表示亮度或灰度级强度(例如,像在灰度图像中),而两个色度(或简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括由亮度像素点值(Y)构成的亮度像素点阵列和两个由色度值(Cb和Cr)构成的色度像素点阵列。RGB格式的图像可转换或变换成YCbCr格式,反之亦然,该过程也称为颜色变换或颜色转换。如果图像是单色的,则图像可只包括亮度像素点阵列。
例如,图像源312可以是用于采集图像的摄像机、包括或存储先前采集或生成的图像的存储器(例如,图像存储器),和/或用于获取或接收图像的任何类型的(内部或外部)接口等。例如,摄像机可以是集成在源设备中的本地或集成摄像机,存储器可以是(例如,集成在源设备中的)本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源为摄像机等外部图像采集设备、外部存储器、或外部计算机图形处理器、计算机或服务器等外部图像生成设备。所述接口可以是根据任何专有或标准化接口协议的任何类型的接口,例如有线或无线接口、光接口。用于获取图像数据312的接口可以是与通信接口318相同的接口,或作为通信接口318的一部分。
区别于预处理单元314和预处理单元314执行的处理,图像或图像数据313也可以称为原始图像或原始图像数据313。
预处理单元314用于接收(原始)图像数据313,并对图像数据313进行预处理,以获得预处理图像315或预处理图像数据315。预处理单元314执行的预处理可以包括修剪、颜色格式转换(例如,从RGB转换为YCbCr)、颜色校正,或去噪等。
编码器100用于接收预处理图像数据315并提供编码图像数据171(下文将根据图1等进行详细描述)。
源设备310的通信接口318可以用于接收编码图像数据171,并将其直接传输到其它设备(例如,目的地设备320或用于存储或直接重建的任何其它设备);或分别在存储编码数据330和/或将编码数据330传输到其它设备(例如目的地设备320,或用于解码或存储的任何其它设备)之前处理编码图像数据171。
目的地设备320包括解码器200或解码单元200,并且可另外(即,可选地)包括通信接口或通信单元322、后处理单元326和显示设备328。
目的地设备320的通信接口322用于接收编码图像数据171或编码数据330,例如,直接从源设备310或任何其它源(例如,编码图像数据存储器等存储器)接收。
通信接口318和通信接口322可以用于经由源设备310与目的地设备320之间的直接通信链路(直接有线或无线连接等),或经由任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络),或其任意组合分别发送或接收编码图像数据171或编码数据330。
例如,通信接口318可以用于将编码图像数据171封装为合适的格式(例如,数据包),用于经由通信链路或通信网络传输,并且还可以用于执行数据丢失保护和数据丢失恢复。
例如,与通信接口318对应的通信接口322可以用于对编码数据330进行解封装,以获得编码图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复,例如,包括差错隐藏。
通信接口318和通信接口322均可配置为单向通信接口(如图3中从源设备310指向目的地设备320的编码图像数据330的箭头所指示),或双向通信接口,并可用于发送和接收消息等,例如,建立连接,确认和/或重新发送丢失或延迟的数据(包括图像数据),交互与通信链路和/或数据传输(例如,编码图像数据的传输)相关的任何其它信息。
解码器200用于接收编码图像数据171并提供解码图像数据231或解码图像231(下文将根据图2等进一步详细描述)。
目的地设备320的后处理器326用于对解码图像数据231(例如,解码图像231)进行后处理,以获得后处理的图像数据327(例如,后处理图像327)。例如,由后处理单元326执行的后处理可以包括颜色格式转换(例如,从YCbCr转换为RGB)、颜色校正、修剪或重采样,或任何其它处理,例如,用于准备解码图像数据231以供显示设备328等显示。
目的地设备320的显示设备328用于接收后处理图像数据327,以向用户或观看者等显示所述图像。显示设备328可以是或包括用于显示重建图像的任何类型的显示器,例如,集成或外部的显示器或监视器。例如,显示器可包括阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器或任何其它类型的显示器、射束器或全息图(3D)。
尽管图3将源设备310和目的地设备320作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备310或对应功能以及目的地设备320或对应功能。在这类实施例中,源设备310或对应功能以及目的地设备320或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
根据描述,技术人员显而易见的是,图3所示的源设备310和/或目的地设备320内的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同。
因此,图3所示的源设备310和目的地设备320仅仅是本发明的示例性实施例,且本发明实施例不限于图3所示的实施例。
源设备310和目的地设备320可包括多种设备中的任意一种,包括任何类型的手持或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板电脑(tablet/tabletcomputer)、摄像机、台式电脑、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等,并且可不使用或使用任何类型的操作系统。
编码器和编码方法
图1为编码器100(例如,图像编码器100)的实施例的示意性/概念性框图,其中,所述编码器100包括输入端102、残差计算单元104、变换单元106、量化单元108、反量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图像缓冲器(decodedpicture buffer,DPB)130、预测单元160(包括帧间估计单元142、帧间预测单元144、帧内估计单元152和帧内预测单元154)、模式选择单元162、熵编码单元170和输出端172。如图1所示的视频编码器100也可以称为混合视频编码器或基于混合视频编解码器的视频编码器。
例如,残差计算单元104、变换单元106、量化单元108和熵编码单元170形成编码器100的正向信号路径,而例如,反量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图像缓冲器(DPB)130、帧间预测单元144和帧内预测单元154形成编码器的反向信号路径。编码器的反向信号路径与解码器(参见图2中的解码器200)的信号路径对应。
编码器100用于通过输入端102等接收图像101或图像101(例如,形成视频或视频序列的图像序列的图像)的图像块103。图像块103也可以称为当前图像块或待编码图像块,图像101也可以称为当前图像或待编码图像(特别是在视频编码中,用以将当前图像与同一视频序列(即,也包括当前图像的视频序列)中的其它图像(例如,先前编码和/或解码的图像)区分开。
残差计算
残差计算单元104用于根据图像块103和预测块165(下文将详细描述预测块165)来计算残差块105,例如,通过逐像素点(逐像素)将图像块103的像素点值减去预测块165的像素点值,以获得像素点域中的残差块105。
变换
变换单元106用于对残差块105的像素点值进行空间频率变换或线性空间(频率)变换等变换(例如,离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST),以获得变换域中的变换系数107。变换系数107也可以称为变换残差系数,表示变换域中的残差块105。
变换单元106可用于应用DCT/DST的整数近似法,如针对HEVC/H.265指定的核心变换。与正交DCT变换相比,该整数近似法通常通过某一因子进行缩放。为了维持经过正变换和逆变换处理的残差块的范数,使用其它缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件选择的,例如,缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实施成本之间的权衡等。例如,在解码器200侧,通过逆变换单元212等为逆变换(以及在编码器100侧,通过逆变换单元112等为对应逆变换)指定具体的缩放因子,以及相应地,可以在编码器100侧,通过变换单元106等为正变换指定对应的缩放因子。
量化
量化单元108用于通过应用标量量化或矢量量化等对变换系数107进行量化,以获得量化系数109。量化系数109也可以称为经量化的残差系数109。例如,对于标量量化,可以进行不同程度的缩放来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(quantization parameter,QP)指示合适的量化步长。例如,量化参数可以是合适的量化步长的预定义集合的索引。例如,小的量化参数可对应精细量化(小的量化步长),大的量化参数可对应粗糙量化(大的量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元110等执行的对应反量化可包括乘以量化步长。根据HEVC的实施例可用于使用量化参数来确定量化步长。通常,可以根据量化参数使用包括除法的方程的定点近似来计算量化步长。可以引入额外缩放因子来进行量化和解量化,以恢复残差块的范数,在量化步长和量化参数的方程的定点近似中使用了缩放,可能会修改残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表并在例如码流中将自定义量化表从编码器信号发送到解码器。量化是有损操作,其中量化步长越大,损耗越大。
编码器100的实施例(或具体是量化单元108的实施例)可用于通过对应的量化参数等输出量化方案和量化步长,使得解码器200可以接收和进行对应的反量化。编码器100(或量化单元108)的实施例可用于直接输出或经由熵编码单元170或任何其它熵编码单元熵编码后输出量化方案和量化步长。
反量化单元110用于通过以下方式等对量化系数执行量化单元108的反量化,以获得解量化系数111:根据或使用与量化单元108相同的量化步长执行量化单元108所执行的量化方案的逆过程。解量化系数111也可以称为解量化残差系数111,对应于变换系数108。但由于量化造成的损耗,解量化系数111通常与变换系数108不同。
逆变换单元112用于执行变换单元106所执行的变换的逆变换,例如逆离散余弦变换(DCT)或逆离散正弦变换(DST),以获得像素点域中的逆变换块113。逆变换块113也可以称为经逆变换的解量化块113或经逆变换的残差块113。
重建单元114用于通过逐像素点添加经解码残差块113的像素点值和预测块165的像素点值等,合并逆变换块113和预测块165,以获得像素点域中的重建块115。
缓冲单元116(或简称“缓冲器”116)(例如,列缓冲器116)用于缓冲或存储重建块和相应的像素点值,以进行帧内估计和/或帧内预测等。在其它实施例中,编码器可用于使用存储在缓冲单元116中的未滤波的重建块和/或相应的像素点值进行任何类型的估计和/或预测。
环路滤波单元120(或简称“环路滤波器”120)用于通过应用去块像素点自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器(例如,锐化或平滑滤波器或协同滤波器)等,对重建块115进行滤波以获得滤波块121。滤波块121也可以称为经滤波的重建块121。
环路滤波单元120的实施例可以包括(图1中未示出)滤波器分析单元和实际滤波单元,其中,滤波器分析单元用于为实际滤波器确定环路滤波器参数。滤波器分析单元可用于将固定的预定滤波器参数应用于实际环路滤波器,从预定滤波器参数集合中自适应地选择滤波器参数,或自适应地为实际环路滤波器计算滤波器参数。
环路滤波单元120的实施例可以包括(图1中未示出)一个或多个滤波器(环路滤波器组件/子滤波器),例如,一个或多个不同种类或类型的滤波器,这些滤波器例如串联连接或并联连接或以任何组合方式连接,其中,每个滤波器都可以单独或与所述多个滤波器中的其它滤波器联合包括滤波器分析单元,以确定相应的环路滤波器参数,例如,如上一段所述。
编码器100(具体是环路滤波单元120)的实施例可用于直接输出或经由熵编码单元170或任何其它熵编码单元进行熵编码后输出环路滤波器参数,使得解码器200可以接收和应用相同环路滤波器参数进行解码等。
解码图像缓冲器(decoded picture buffer,DPB)130用于接收和存储滤波块121。解码图像缓冲器(decoded picture buffer,DPB)130还可用于存储同一当前图像或不同图像(例如,先前重建的图像)的其它先前滤波块(例如,先前重建的滤波块121),并且可提供完整的先前重建(即解码)的图像(和对应的参考块和像素点)和/或部分重建的当前图像(和对应的参考块和像素点),用于帧间估计和/或帧间预测等。
本发明的其它实施例还可以用于将解码图像缓冲器130的先前滤波块和对应的滤波像素点值用于任何类型的估计或预测,例如帧内估计和预测以及帧间估计和预测。
运动估计和预测
预测单元160,也称为块预测单元160,用于接收或获取图像块103(当前图像101的当前图像块103)和经解码或至少重建的图像数据,例如,来自缓冲器116的同一(当前)图像的参考像素和/或来自解码图像缓冲器130的一个或多个先前解码图像的解码图像数据231,以及用于处理这些数据以进行预测,即提供预测块165,其中,预测块165可以是帧间预测块145或帧内预测块155。
模式选择单元162可用于选择预测模式(例如,帧内或帧间预测模式)和/或对应的预测块145或155,用作预测块165来计算残差块105以及对重建块115进行重建。
模式选择单元162的实施例可用于(例如,从预测单元160支持的预测模式中)选择预测模式,所述预测模式提供最佳匹配或者说最小残差(最小残差意味着为了传输或存储进行更好的压缩),或具有最小信令开销(最小信令开销意意味着为了传输或存储进行更好的压缩),或者同时考虑或平衡以上两者。模式选择单元162可用于根据速率失真优化(ratedistortion optimization,RDO)确定预测模式,即选择提供最小速率失真优化的预测模式,或者选择至少满足预测模式选择标准的关联速率失真的预测模式。
下文将更详细地描述由示例性编码器100执行的预测处理(例如,由预测单元160执行)和模式选择(例如,由模式选择单元162执行)。
如上所述,编码器100用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括例如帧内预测模式和/或帧间预测模式等。
帧内预测模式集合可以包括32种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式等非方向性模式,或如H.264定义的方向性模式,或者可以包括65种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式等非方向性模式,或如H.265中定义的方向性模式。
(可能的)帧间预测模式集合取决于可用参考图像(即,例如存储在DPB 230中的先前至少部分解码的图像)和其它帧间预测参数,例如,取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域附近的搜索窗口区域),来搜索最佳匹配参考块,和/或取决于是否应用像素插值(例如,二分之一/半像素插值和/或四分之一像素插值)。
除上述预测模式外,还可以使用跳过模式和/或直接模式。
预测单元160还可以用于通过以下方式等将块103划分成更小的块或子块:迭代使用四叉树(quad-tree,QT)划分、二叉树(binary-tree,BT)划分或三叉树(triple-tree,TT)划分或其任何组合,并且用于对块或子块中的每一个执行预测等,其中,模式选择包括选择划分块103的树结构以及选择块或子块中的每一个使用的预测模式。
帧间估计单元(inter-estimation unit/inter picture estimation unit)142,用于接收或获取图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建的块(例如,一个或多个其它/不同的先前解码的图像231的重建块),以进行帧间估计(inter estimation/inter picture estimation)。例如,视频序列可以包括当前图像和先前解码的图像231,或换句话说,当前图像和先前解码的图像231可以是一系列构成视频序列的图像的一部分或形成一系列构成视频序列的图像。
例如,编码器100可用于从多个其它图像中的相同或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引等)和/或参考块的位置(x坐标和y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。该偏移也称为运动矢量(motion vector,MV)。帧间估计也称为运动估计(motion estimation,ME),帧间预测也称为运动预测(motion prediction,MP)。
帧间预测单元144用于获取(例如接收)帧间预测参数143,并根据或使用帧间预测参数143进行帧间预测,以获得帧间预测块145。
尽管图1示出了两个不同的单元(或步骤)用于帧间编码,即帧间估计单元142和帧间预测单元152,但是这两种功能可以通过以下方式等作为一个整体来执行(帧间估计通常包括计算帧间预测块,即上述或一“类”帧间预测154):通过迭代测试可能的帧间预测模式中的所有可能帧间预测模式或预定子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并将当前最佳的帧间预测模式和相应的帧间预测块作为(最终的)帧间预测参数143和帧间预测块145,而不用再执行一次帧间预测144。
帧内估计单元152用于获取(例如接收)图像块103(当前图像块)以及同一图像的一个或多个先前重建的块(例如,重建相邻块),以进行帧内估计。例如,编码器100可以用于从多个帧内预测模式中选择帧内预测模式,并将帧内预测模式作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可以用于根据最小残差(例如,帧内预测模式提供与当前图像块103最相似的预测块155)或最小率失真等优化标准选择帧内预测模式。
帧内预测单元154用于根据帧内预测参数153,例如选择的帧内预测模式153,确定帧内预测块155。
尽管图1示出了两个不同的单元(或步骤)用于帧内编码,即帧内估计单元152和帧内预测单元154,但是这两种功能可以通过以下方式等作为一个整体来执行(帧内估计通常包括计算帧内预测块,即上述或一“类”帧内预测154):通过迭代测试可能的帧内预测模式中的所有可能帧内预测模式或预定子集,同时存储当前最佳的帧内预测模式和相应的帧内预测块,并将当前最佳的帧内预测模式和相应的帧内预测块作为(最终的)帧内预测参数153和帧内预测块155,而不用再次执行一次帧内预测154。
下文结合本发明实施例的设备500(图5)和方法700(图7)进一步说明,本发明可以应用于编码器100中。也就是说,设备500可以是编码器100的一部分,具体而言是帧内预测单元154。
熵编码单元170用于单独或联合(或不联合)对量化残差系数109、帧间预测参数143、帧内预测参数153和/或环路滤波器参数执行熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC(context adaptive VLC,CALVC)方案、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)),以获得编码图像数据171。输出端172可以使用编码码流171的形式等输出编码图像数据171。
图2示出了示例性视频解码器200。视频解码器200用于接收例如由编码器100编码的编码图像数据(例如,编码码流)171,以获得解码图像231。
解码器200包括输入202、熵解码单元204、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260(包括帧间预测单元244和帧内预测单元254)、模式选择单元260和输出端232。
熵解码单元204用于对编码图像数据171执行熵解码,以获得量化系数209和/或经解码的编码参数(图2中未示出)等,例如(解码的)帧间预测参数143、帧内预测参数153和/或环路滤波器参数中的任一者或全部。
在解码器200、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230的实施例中,预测单元260和模式选择单元260用于执行编码器100(以及相应的功能单元)的逆处理,以对编码图像数据171进行解码。
具体而言,反量化单元210在功能上可以与反量化单元110相同,逆变换单元212在功能上可以与逆变换单元112相同,重建单元214在功能上可以与重建单元114相同,缓冲器216在功能上可以与缓冲器116相同,环路滤波器220在功能上可以与环路滤波器220相同(关于实际环路滤波器,由于在根据原始图像101或块103确定滤波器参数时,环路滤波器220通常不包括滤波分析单元,而是从熵解码单元204等(显式地或隐式地)接收或获取用于编码的滤波器参数),解码图像缓冲器230在功能上可以与解码图像缓冲器130相同。
预测单元260可以包括帧间预测单元244和帧内预测单元254,其中,帧间预测单元144在功能上可以与帧间预测单元244相同,帧内预测单元154在功能上可以与帧内预测单元254相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获取预测块265(无需原始图像101的任何其它信息)并用于从熵解码单元204等(显式地或隐式地)接收或获取预测参数143或153和/或关于所选预测模式的信息。
下文结合本发明实施例的设备500(参见图5)和方法700(参见图7)进一步说明,本发明可以应用于解码器200中。也就是说,设备500可以是解码器200的一部分,具体而言是帧内预测单元154。
解码器200用于经由输出端232等输出解码图像230,以向用户呈现或供用户观看。
结合图14和图15,图4(a)更具体地示出了可以根据本发明实施例消除的不连续性的原因。具体而言,产生这些不连续性的原因是,预测块400(例如,PU或TU)中的两个垂直相邻预测像素401可以根据参考像素403进行预测。由于帧内预测角度是锐角,这些参考像素403彼此不相邻。这是插值法的缺陷。虽然通过应用参考像素平滑滤波器或长度为Nf的插值滤波器可以部分弥补该缺陷,但在帧内预测角度远小于45°的情况下,固定长度可能不够大。滤波过程中,可以通过在滤波过程中对图4中所示的参考像素403进行卷积来降低不连续效应。然而,如果为垂直相邻预测像素401选择的参考像素403相隔太远,则仍可能产生不连续性。这种不连续性的示例如(b)所示,针对合成参考(上排)等的情况,可以直观地观察到这种不连续性。
图5示意性地示出了本发明实施例的一种设备500,该设备用于以改进的方式对视频图像的预测块400进行帧内预测。也就是说,该设备500不受图4中所示的上述不连续性影响的原因。设备500可以是图1所示的编码器100或图2所示解码器200,或是图1所示的编码器100或图2所示解码器200一部分,具体而言,是帧内预测单元154或254。
设备500用于执行若干功能,例如,通过处理器或其它类型的处理电路实现。具体地,设备500用于从方向性帧内预测模式501的集合中选择方向性帧内预测模式501a,其中,每个方向性帧内预测模式501对应于不同的帧内预测角度。这些方向性帧内预测模式501可以包括图8中所示的方向性帧内预测模式/帧内角度预测模式(以及标准中所定义的模式)。帧内预测角度是基于根据参考像素403对预测像素401进行帧内预测的方向。例如,在该帧内预测方向与预测块400的上边缘(水平边缘)之间定义角度。
设备500还用于:根据选择的方向性帧内预测模式501a,从参考像素集合403中为预测块400的给定预测像素401确定参考像素403a;将滤波器402应用于确定的参考像素403a。滤波器402可以为具有预先选择的滤波器长度的滤波器。滤波器长度,比如说,可以根据预测块400的长宽比来选择,或者也可以根据预测块400的高度和/或宽度来选择。设备500可以用于对预测块400的每个预测像素401进行上述步骤。也就是说,针对每个预测像素401,设备500可以从参考像素403中确定参考像素403a,并且可以将滤波器402应用于每个确定的参考像素403。因而,设备500能够对整个预测块400进行帧内预测。
在设备500中,至少在方向性帧内预测模式501的子集600(请参见图6)内,根据滤波器402的滤波器长度定义方向性帧内预测模式501之间的角度步长601(请参见图6)。子集600可包括“扩展”方向性帧内预测模式501,即添加到图8中示出的那些方向性帧内预测模式中的方向性帧内预测模式,例如,如图13所示。具体而言,对于矩形预测块400,子集600中的方向性帧内预测模式501可以包括与帧内预测锐角(小于45°的角度)有关的模式501。子集600中的方向性帧内预测模式501的数量可以根据预测块400的长宽比、高度、和/或宽度来选择,并且假设针对某个预测块400,子集600中的方向性帧内预测模式501的数量是给定的。子集600中的每个方向性帧内预测模式501可以具有待指示的索引(如同其它模式501的索引)。
图6示例性地示出了集合中的多个方向性帧内预测模式501,并且具体地示出了集合中包含的子集600中的方向性帧内预测模式。方向性帧内预测模式501的子集600由ΔM0定义,其中,ΔM0表示子集600中的方向性帧内预测模式501的数量。与子集600中的模式501相关联的帧内预测角度的范围取决于角度步长601(相邻方向性帧内预测模式501的角度之间)的角度范围。根据参考像素滤波器402的长度定义角度步长601。本文的理念是通过减小子集600内的角度步长601以缩小子集600的总的角度范围来避免图4中所示情况,以获得更小的滤波器长度。与子集600中的方向性帧内预测模式501相关联的角度之间的角度步长601可以显著不同于,具体可以大于或小于,与不在子集600中(但仍然在模式集合501中)的方向性帧内预测模式501相关联的角度之间的角度步长。
具体地,子集600中的角度步长601可以按如下公式指定:
Figure GDA0003126150470000151
其中,Δα为角度步长601,Nf表示滤波器402的长度(隐含内插滤波器)。子集600,即子集600中的模式501的数量,具体可以根据例如预测块400的长宽比
Figure GDA0003126150470000152
来定义。此外,滤波器402的滤波器长度可以根据预测块400的长宽比来选择,或者也可以根据预测块400的高度和/或宽度来选择。值得注意的是,子集600中的最后一个方向性帧内预测模式501将与根据Δα·ΔM0计算的帧内预测角度相关联,并且不必落到右上角(如图6所示)。
下表中示出了可在与子集600中的方向性帧内预测模式501关联的角度之间应用的角度步长601实例。从表中可以看出,角度步长601可以位于2至4度之间,具体可以是2、2.5、3或4度,这取决于滤波器402的滤波器长度。滤波器402的滤波器长度可以为1至7个相邻参考像素403,具体可以为1、3、5或7个相邻参考像素403。
Figure GDA0003126150470000153
可以看出,滤波器402具有的抽头越多(即,相对于参考像素403而言具有更长的滤波器长度),用于子集600中的方向性帧内预测模式501的角度步长601就越大。与当前实现方式和提议的主要区别在于,子集600中的方向性帧内预测模式501的帧内预测方向不一定要对应于集合中其它模式501的相反的帧内预测方向,但仅取决于选择的滤波器402,即,其滤波器长度。
图7示出了本发明实施例的一种方法700。方法700用于对视频图像的预测块400进行帧内预测,方法700可以由图5所示的设备500执行。具体而言,方法700包括步骤701:根据方向性帧内预测模式501的集合中选择方向性帧内预测模式501a,其中,每个方向性帧内预测模式501对应于不同的帧内预测角度。此外,方法700包括步骤701根据选择的方向性帧内预测模式501a从参考像素集合403中为预测块400的给定预测像素401确定参考像素403a,以及将滤波器402应用于确定的参考像素403a。在方法700中,在方向性帧内预测模式501的子集600中,方向性帧内预测模式501的角度步长601取决于滤波器402的滤波器长度。
需要说明的是,本说明书提供了图像(帧)的解释,但在隔行扫描图像信号的情况下,使用字段替代图像。
尽管已主要根据视频编码描述了本发明实施例,但需要说明的是,编码器100和解码器200(相应地,系统300)的实施例还可以用于静止图像处理或编码,即在视频编码中独立于任何之前或连续的图像的单个图像的处理或编码。通常,如果图像处理编码限于单个图像101的情况下,则只有帧间估计142、帧间预测144和242不可用。视频编码器100和视频解码器200的大部分(如果不是全部的话)其它功能(也称为工具或技术)可以同样用于静止图像,这些功能包括划分、变换(缩放)106、量化108、反量化110、逆变换112、帧内估计142、帧内预测154、254和/或环路滤波120、220以及熵编码170和熵解码204等。
本领域技术人员将理解,各种图式(方法和装置)的“块”(“单元”)表示或描述本发明实施例的功能(而不必是在硬件或软件中的单独“单元”),因此同等描述装置实施例以及方法实施例的功能或特征(单元等同步骤)。
术语“单元”仅仅是用于说明编码器/解码器的实施例的功能,并非旨在限制本发明。
在本申请中提供的若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分,实际实现时可以是另一种划分。例如,可以将多个单元或组件合并或集成到另一系统中,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口来实现。装置或单元之间的间接耦合或通信连接可通过电性、机械或其它形式实现。
所述作为分离部件描述的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,本发明实施例中的功能单元可集成到一个处理单元中,或每个单元可物理上单独存在,或两个或更多单元可集成到一个单元中。
本发明实施例还可以包括一种装置,例如,编码器和/或解码器,所述装置包括处理电路,用于执行本文描述的任何方法和/或过程。
编码器100和/或解码器200的实施例可以实现为硬件、固件、软件或其任何组合。例如,编码器/编码或解码器/解码的功能可以由处理电路执行,无论是否有固件或软件,例如,处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specificintegrated circuit,ASIC)等。
编码器100(和相应的编码方法100)和/或解码器200(和相应的解码方法200)的功能可以通过存储在计算机可读介质上的程序指令来实现。所述程序指令在执行时使得处理电路、计算机、处理器等执行编码和/或解码方法的步骤。所述计算机可读介质可以是存储所述程序的任何介质,包括非瞬时性存储介质,例如,蓝光磁盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储等。
本发明实施例包括或者是一种包含程序代码的计算机程序。所述程序代码在计算机上执行时用于执行本文描述的任一方法。
本发明实施例包括或者是一种包含程序代码的计算机可读介质。所述程序代码在由处理器执行时,使得计算机系统执行本文描述的任一方法。
附图标记列表
图1
100 编码器
103 图像块
102 输入端(例如,输入端口、输入接口)
104 残差计算[单元或步骤]
105 残差块
106 变换(例如,还包括缩放)[单元或步骤]
107 变换系数
108 量化[单元或步骤]
109 量化系数
110 反量化[单元或步骤]
111 解量化系数
112 逆变换(例如,还包括缩放)[单元或步骤]
113 逆变换块
114 重建[单元或步骤]
115 重建块
116 (列)缓冲器[单元或步骤]
117 参考像素
120 环路滤波器[单元或步骤]
121 滤波块
130 解码图像缓冲器(decoded picture buffer,DPB)[单元或步骤]
142 帧间估计(inter estimation/inter picture estimation)[单元或步骤]
143 帧间估计参数(例如,参考图像/参考图像索引,运动矢量/偏移)
144 帧间预测(inter prediction/inter picture prediction)[单元或步骤]
145 帧间预测块
152 帧内估计(intra estimation/intra picture estimation)[单元或步骤]
153 帧内预测参数(例如,帧内预测模式)
154 帧内预测(intra prediction/intra frame/picture prediction)[单元或步骤]
155 帧内预测块
162 模式选择[单元或步骤]
165 预测块(帧间预测块145或帧内预测块155)
170 熵编码[单元或步骤]
171 编码图像数据(例如,码流)
172 输出端(输出端口、输出接口)
231 解码图像
图2
200 解码器
171 编码图像数据(例如,码流)
202 输入端(端口/接口)
204 熵解码
209 量化系数
210 反量化
211 解量化系数
212 逆变换(缩放)
213 逆变换块
214 重建(单元)
215 重建块
216 (列)缓冲器
217 参考像素
220 环路滤波器(环内滤波器)
221 滤波块
230 解码图像缓冲器(decoded picture buffer,DPB)
231 解码图像
232 输出端(端口/接口)
244 帧间预测(inter prediction/inter frame/picture prediction)
245 帧间预测块
254 帧内预测(intra prediction/intra frame/picture prediction)
255 帧内预测块
260 模式选择
265 预测块(帧间预测块245或帧内预测块255)
图3
300 编码系统
310 源设备
312 图像源
313 (原始)图像数据
314 预处理器/预处理单元
315 预处理图像数据
318 通信单元/接口
320 目的地设备
322 通信单元/接口
326 后处理器/后处理单元
327 后处理图像数据
328 显示设备/单元
330 传输/接收/通信(编码)图像数据
图4
400 预测块
401 预测像素
402 滤波器
403 参考像素
图5
402 滤波器
403 参考像素
403a 确定的参考像素
500 设备
501 方向性帧内预测模式
501a 选择的方向性帧内预测模式
600 方向性帧内预测模式的子集
图6
400 预测块
501 方向性帧内预测模式
600 方向性帧内预测模式的子集
601 子集中帧内预测角度之间的角度步长
图7
700 对预测块进行帧内预测的方法
701 帧内预测模式选择步骤
702 为给定预测像素确定参考像素的步骤
703 将滤波器应用于确定的参考像素的步骤

Claims (21)

1.一种用于对视频图像的预测块(400)进行帧内预测的设备(500),其特征在于,所述设备(500)包括处理电路,所述处理电路用于执行:
从方向性帧内预测模式(501)的集合中选择方向性帧内预测模式(501a),其中,每个方向性帧内预测模式(501)对应于不同的帧内预测角度;
根据所述选择的方向性帧内预测模式(501a)从参考像素(403)的集合中为所述预测块(400)的给定预测像素(401)确定参考像素(403a);
将滤波器(402)应用于所述确定的参考像素(403a);
其中,在所述方向性帧内预测模式(501)的集合的子集(600)内,根据所述滤波器(402)的滤波器长度定义所述方向性帧内预测模式(501)之间的角度步长(601)。
2.根据权利要求1所述的设备(500),其特征在于,
滤波器(402)的滤波器长度越长,角度步长(601)就越大,而滤波器(402)的滤波器长度越短,角度步长(601)就越小。
3.根据权利要求1或2所述的设备(500),其特征在于,
根据所述滤波器(402)的滤波器长度,角度步长(601)位于2至4度之间。
4.根据权利要求3所述的设备(500),其特征在于,
所述角度步长(601)为2、2.5、3或4度。
5.根据权利要求1所述的设备(500),其特征在于,
所述滤波器(402)的滤波器长度为1至7个相邻参考像素(403)。
6.根据权利要求5所述的设备(500),其特征在于,
所述滤波器长度为1、3、5或7个相邻参考像素(403)。
7.根据权利要求1所述的设备(500),其特征在于,
角度步长(601)表示为Δα,并由以下公式定义:
Figure FDA0003746419120000011
其中,Nf为所述滤波器(402)的滤波器长度,ΔM0为所述子集(600)中的方向性帧内预测模式(501)的数量。
8.根据权利要求1所述的设备(500),其特征在于,
根据所述预测块(400)的长宽比选择所述滤波器(402)的滤波器长度。
9.根据权利要求1所述的设备(500),其特征在于,
根据所述预测块(400)的高度和/或宽度选择所述滤波器(402)的滤波器长度。
10.根据权利要求1所述的设备(500),其特征在于,
当所述滤波器(402)应用于所述确定的参考像素(403a)时,所述滤波器(402)根据所述滤波器长度对所述确定的参考像素(403a)和一个或多个相邻参考像素(403)执行平滑操作。
11.根据权利要求1所述的设备(500),其特征在于,
所述参考像素(403)的集合中的参考像素(403)排列在所述视频图像中与所述预测块(400)的上方和右上方位置相邻的行中,和/或排列在所述视频图像中与所述预测块(400)的左侧和左上方位置相邻的列中。
12.根据权利要求1所述的设备(500),其特征在于,
所述设备(500)用于对所述视频图像进行编码和/或解码,或者
所述设备(500)为视频编码器(100)和/或视频解码器(200)。
13.一种用于帧内预测视频图像的预测块(400)的方法(700),其特征在于,所述方法(700)包括:
从方向性帧内预测模式(501)的集合中选择(701)方向性帧内预测模式(501a),其中,每个方向性帧内预测模式(501)对应于不同的帧内预测角度;
根据所述选择的方向性帧内预测模式(501a)从参考像素(403)的集合中为所述预测块(400)的给定预测像素(401)确定(702)参考像素(403a);
将滤波器(402)应用于所述确定的参考像素(403a);
其中,在所述方向性帧内预测模式(501)的集合的子集(600)内,根据所述滤波器(402)的滤波器长度定义所述方向性帧内预测模式(501)之间的角度步长(601)。
14.根据权利要求13所述的方法(700),其特征在于,
滤波器(402)的滤波器长度越长,角度步长(601)就越大,而滤波器(402)的滤波器长度越短,角度步长(601)就越小。
15.根据权利要求13或14所述的方法(700),其特征在于,
根据所述滤波器(402)的滤波器长度,角度步长(601)位于2至4度之间。
16.根据权利要求15所述的方法(700),其特征在于,
所述角度步长(601)为2、2.5、3或4度。
17.根据权利要求13所述的方法(700),其特征在于,
所述滤波器(402)的滤波器长度为1至7个相邻参考像素(403)。
18.根据权利要求17所述的方法(700),其特征在于,
所述滤波器长度为1、3、5或7个相邻参考像素(403)。
19.根据权利要求13所述的方法(700),其特征在于,
角度步长(601)表示为Δα,并由以下公式定义:
Figure FDA0003746419120000031
其中,Nf为所述滤波器(402)的滤波器长度,ΔM0为所述子集(600)中的方向性帧内预测模式(501)的数量。
20.根据权利要求13所述的方法(700),其特征在于,
根据所述预测块(400)的长宽比选择所述滤波器(402)的滤波器长度。
21.根据权利要求13所述的方法(700),其特征在于,
根据所述预测块(400)的高度和/或宽度选择所述滤波器(402)的滤波器长度。
CN201880094600.5A 2018-06-29 2018-06-29 一种用于视频图像的预测块的帧内预测的设备和方法 Active CN113243106B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000430 WO2020005092A1 (en) 2018-06-29 2018-06-29 Device and method for intra-prediction of a prediction block of a video image

Publications (2)

Publication Number Publication Date
CN113243106A CN113243106A (zh) 2021-08-10
CN113243106B true CN113243106B (zh) 2022-11-01

Family

ID=63244936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880094600.5A Active CN113243106B (zh) 2018-06-29 2018-06-29 一种用于视频图像的预测块的帧内预测的设备和方法

Country Status (6)

Country Link
US (1) US11206398B2 (zh)
EP (1) EP3799691A1 (zh)
KR (1) KR102519380B1 (zh)
CN (1) CN113243106B (zh)
BR (1) BR112020026248A2 (zh)
WO (1) WO2020005092A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284844B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
US11375219B2 (en) * 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth
KR20220116815A (ko) 2021-02-15 2022-08-23 주식회사 엘지에너지솔루션 스웰링 발생 시 균일한 압력이 가해질 수 있는 구조를 갖는 배터리 모듈, 그리고 이를 포함하는 배터리 팩 및 자동차

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5818800B2 (ja) * 2009-10-05 2015-11-18 トムソン ライセンシングThomson Licensing 符号化方法及び復号化方法
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
JP2013110502A (ja) * 2011-11-18 2013-06-06 Sony Corp 画像処理装置及び画像処理方法
US20160373770A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10750174B2 (en) * 2015-08-28 2020-08-18 Kt Corporation Method and device for deriving a prediction sample in decoding/encoding video signal using binary and quad trees
WO2017043786A1 (ko) * 2015-09-10 2017-03-16 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
CN114189682A (zh) * 2016-04-26 2022-03-15 英迪股份有限公司 图像解码方法、图像编码方法以及传输比特流的方法
KR20180040319A (ko) * 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
US10382781B2 (en) * 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
US10506228B2 (en) * 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
EP3334067B1 (en) * 2016-12-12 2019-10-02 Alcatel Lucent Synchronization device and system for communication networks
WO2018117891A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. An intra-prediction apparatus for removing a directional intra-prediction mode from a set of predetermined directional intra-prediction modes
CN115733973A (zh) 2016-12-23 2023-03-03 华为技术有限公司 一种用于矩形视频编码块的编码方法、装置及计算机可读存储介质
EP3806463A1 (en) 2016-12-23 2021-04-14 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes

Also Published As

Publication number Publication date
EP3799691A1 (en) 2021-04-07
BR112020026248A2 (pt) 2021-04-06
US11206398B2 (en) 2021-12-21
WO2020005092A1 (en) 2020-01-02
KR102519380B1 (ko) 2023-04-06
WO2020005092A8 (en) 2021-02-25
US20210120237A1 (en) 2021-04-22
CN113243106A (zh) 2021-08-10
KR20210020137A (ko) 2021-02-23

Similar Documents

Publication Publication Date Title
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
US11206398B2 (en) Device and method for intra-prediction of a prediction block of a video image
WO2019172800A1 (en) Loop filter apparatus and method for video coding
AU2023278073A1 (en) An image processing device and method for performing efficient deblocking
US20230124833A1 (en) Device and method for intra-prediction
CN114679583A (zh) 视频编码器、视频解码器及对应方法
JP7293460B2 (ja) 効率的なデブロッキングを実行するための画像処理デバイス及び方法
US11259054B2 (en) In-loop deblocking filter apparatus and method for video coding

Legal Events

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