CN112352435B - 用于视频编解码的环内去块滤波器设备和方法 - Google Patents
用于视频编解码的环内去块滤波器设备和方法 Download PDFInfo
- Publication number
- CN112352435B CN112352435B CN201980043455.2A CN201980043455A CN112352435B CN 112352435 B CN112352435 B CN 112352435B CN 201980043455 A CN201980043455 A CN 201980043455A CN 112352435 B CN112352435 B CN 112352435B
- Authority
- CN
- China
- Prior art keywords
- sample
- column
- row
- current
- filtered
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
一种环内去块滤波器设备(120),用以将当前样本行或列处理成滤波后样本行或列。当前样本行或列包括来自视频流的重建图像的第一样本块和水平或垂直相邻的第二样本块的多个样本。当前样本行或列具有样本值pN‑1‑p0、q0‑qN‑1,其中N是大于2的偶整数。如果满足第一条件或第二条件,则通过以下步骤处理当前行或列:通过将(2N‑1)抽头滤波器应用于当前行或列的样本值pN‑2、…、p0、q0、…、qN‑1来确定滤波后样本值q′0;和/或通过将(2N‑1)抽头滤波器应用于当前行或列的样本值pN‑1、…、p0、q0、…、qN‑2来确定滤波后样本值p′0。
Description
技术领域
一般地,本发明涉及图像处理领域,尤其涉及视频图像编解码。更具体地说,本发明涉及用于对重建视频图像进行滤波的环内去块滤波器设备和方法,以及包括这种环内去块滤波器设备的编码设备和解码设备。
背景技术
视频编解码(视频编码和解码)用于广泛的数字视频应用,例如广播数字TV、通过互联网和移动网络的视频传输、诸如视频聊天和视频会议的实时对话应用、DVD和蓝光盘、视频内容获取和编辑系统、以及安全应用的便携式摄像机。
自从1990年H.261标准中开发基于块的混合视频编码方法以来,开发了新的视频编解码技术和工具并形成了新的视频编码标准的基础。大多数视频编码标准的目标之一是在不牺牲图像质量的情况下实现与其前身相比降低比特率。其他的视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-TH.262/MPEG-2、ITU-TH.263、ITU-TH.264/MPEG-4第10部分(Part 10)、高级视频编码(advanced video coding,AVC)、ITU-TH.265、高效视频编码(high efficiency video coding,HEVC)、以及这些标准的扩展,例如可缩放性和/或三维(three-dimensional,3D)扩展。
基本上,根据基于块的混合视频编码方法,首先将图像划分为多个样本块,然后通过使用图像内预测或图像间预测来预测每个块。这些块与相邻块相对独立地被编码,并且以一定的相似度来近似原始信号。由于编码块仅是原始信号的近似,因此近似值之间的差异可导致预测和变换块边界处的不连续性。这些不连续性可以通过环内去块滤波器来衰减。
HEVC定义了具有两种滤波器或滤波模式的环内去块滤波器,即正常去块滤波器和强去块滤波器。正常去块滤波器修改两个垂直或水平相邻块之间的边缘两侧上的至多两个样本。为了使用强去块滤波器,边缘上的样本必须满足相对于某个预定义阈值的三个附加条件。如果满足所有这些条件,则应用强去块滤波器。对于沿边缘的样本,强去块滤波器具有比正常去块滤波器更显著的平滑效果,且可修改两个相邻样本块之间的边缘的两侧上的至多三个样本。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC1/SC29/WG11)正在研究被称为通用视频编码(versatile video coding,VVC)的下一代视频编解码器标准。这种新的视频编解码器标准的主要目标之一是提供显著超过当前HEVC标准(包括其针对屏幕内容编码和高动态范围编码的近期扩展和当前扩展)的压缩能力。为此,被称为联合视频探索组(joint videoexploration team,JVET)做出联合协作努力以评估不同的潜在压缩技术设计。VVC测试模型(VVC test model,VTM)描述了处于JVET的协调测试模型研究下的特征,作为超出HEVC的当前能力的潜在增强视频编码技术。
VTM使用被称为四叉树加二叉树(quadtree plus binary tree,QTBT)的新的划分块结构方案。QTBT结构去除了多个分区类型的概念,即,去除了编码单元(coding unit,CU)、预测单元(prediction unit,PU)和变换单元(transform unit,TU)的分离,即,CU=PU=TU。QTBT支持更灵活的CU分区形状,其中CU可具有正方形或矩形形状。CU的最小宽度和高度可为4个样本,且CU的大小也可为4×N或N×4,其中N可取范围[4,8,16,32]中的值。此外,编码树单元(coding tree unit,CTU)的最大尺寸已经增加到128×128像素,这是HEVC中CTU尺寸的4倍。
尤其对于矩形CU,失真可能发生在接近较短边缘处,这导致块伪影(blockartifact),即使在应用HEVC强滤波器时也是如此。这些块伪影也可沿大CU的边缘观察到,其中失真会因较大的预测和变换操作而显著。
为了解决传统HEVC去块滤波器的这个问题,在文献JVET-J0024中JVET提出,如果满足以下条件,则对大CU应用较强的去块滤波器:(i)对于垂直边缘,相邻样本块的宽度大于8个样本,或者对于水平边缘,相邻样本块的高度大于8个样本;以及(ii)对于边缘的每一侧上的样本,以下关系成立:
其中p0表示第一样本的样本值,p7表示在垂直/水平边缘的左边/上方的第八样本的样本值,其中q0表示第一样本的样本值,q7表示在垂直/水平边缘的右边/下方的第八样本的样本值,β表示取决于量化参数(quantization parameter,QP)的阈值。值得注意的是,滤波操作适用于由四个样本行/列组成的垂直/水平边缘。只有当第一和第四样本行/列都满足由等式(1)定义的条件时,才应用较强的滤波器。
图4示出了在两个相邻样本块之间的边缘或边界处的样本值的不连续性的示例。为了清楚起见,仅示出了边缘每侧的前四个样本。理想地,应当应用去块滤波器来平滑如图4所示的这种不连续性。然而,由于在边缘的两侧,样本值远离边缘连续减小或增加,因为在边缘两侧的第一样本和第八样本的样本值之间的差异大,使得不满足等式(1)中定义的条件,所以将不应用JVET-J0024中提出的强去块滤波器。因此,图4中示出的样本值的不连续性将不会被JVET-J0024中所提出的强去块滤波器平滑,且因此将导致最终图像中的块伪影。
因此,需要一种更有效地去除块伪影的改进的环内去块滤波器设备和方法。
发明内容
本发明的实施例由独立权利要求的特征定义,并且实施例的进一步有利实施方式由从属权利要求的特征定义。
根据第一方面,本发明涉及一种用于将当前样本行或列处理成滤波后样本行或列的环内去块滤波器设备,其中,所述当前样本行或列包括来自视频流的重建图像的第一样本块以及水平或垂直相邻的第二样本块的多个样本,且其中,当前样本行或列中的每一样本具有样本值pN-1-p0、q0-qN-1,其中N为大于2的偶整数。该滤波器设备包括处理电路,该处理电路用于:
确定(i)是否满足由以下等式定义的第一条件:
其中β表示正阈值参数,k是正整数,并且符号“<<”表示左移操作,并且其中k是正整数,
或者(ii)是否满足由以下等式定义的第二条件:
其中,对于i∈[1,2,…,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,并且β表示阈值参数,并且k是正整数;以及
如果满足第一条件或第二条件并且还作为先决条件满足所有其它HEVC强滤波器条件(如图9所示),则通过以下将当前样本行或列处理成滤波后样本行或列:通过将具有2N-1个滤波器系数的(2-1)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的右边或下方的第一样本的滤波后样本值q′0,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方的第一样本的样本值q0的滤波器系数等于2,其中,用于当前样本行或列样本中在垂直或水平边缘的左边或上方的最远样本的样本值pN-1的滤波器系数等于0,并且用于其它样本值的滤波器系数等于1;和/或通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第一样本的滤波后样本值p′0,其中,用于当前样本行或列中在垂直或水平边缘的左边或上方的第一样本的样本值p0的滤波器系数等于2,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方的最远样本的样本值qN-1的滤波器系数等于0,并且用于其它样本值的滤波器系数等于1。
换句话说,提出了一种环内去块滤波器设备,其用于将当前样本行或列(例如图5中的行501)处理成滤波后样本行或列。当前样本行或列包括来自视频流的重建图像的第一样本块(例如块503a)的N个样本和来自第二样本块(例如块503b)的N个样本。第一样本块和第二样本块在垂直或水平边缘(例如边缘505)上彼此邻接。N是大于或等于4的偶整数。来自第一样本块的N个样本具有样本值pi,i∈0,…,N-1,其中i是样本索引,其根据N个样本到边缘的距离以升序指示N个样本,与边缘相邻的样本具有i=0。来自第二样本块的N个样本具有样本值qi,i∈0,…,N-1,其中i是样本索引,其根据N个样本到边缘的距离以升序指示N个样本,与边缘相邻的样本具有i=0。该滤波器设备包括处理电路,该处理电路用于:
确定(i)是否满足第一条件,第一条件为:
其中β表示阈值参数,k是正整数,并且符号“<<”表示左移操作,
或者(ii)是否满足第二条件,第二条件为:
其中,对于i∈[1,2,…,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,并且β表示阈值参数,并且k是正整数;以及
如果满足第一条件或第二条件,则通过以下步骤将当前样本行或列处理成滤波后样本行或列:
通过将(2N-1)抽头滤波器应用于当前行或列的样本值pN-2,…,p0,q0,…,qN-1,为来自第二块的具有样本索引i=0的样本确定滤波后样本值q′0,该(2N-1)抽头滤波器具有2N-1个滤波器系数,其中,该2N-1个滤波器系数包括:用于样本值q0的滤波器系数,其等于2,以及用于样本值pN-2,…,p0和q1,…,qN-1的滤波器系数,其等于1;和/或
通过将(2N-1)抽头滤波器应用于当前行或列的样本值pN-1,…,p0,q0,…,qN-2,为来自第一块的具有样本索引i=0的样本确定滤波后样本值p′0,该(2N-1)抽头滤波器具有2N-1个滤波器系数,其中,该2N-1个滤波器系数包括:用于样本值p0的滤波器系数,其等于2,以及用于样本值pN-2,…,p1pN-1,…,p1和q0,…,qN-1的滤波器系数,其等于1。
因此,提供了一种改进的环内去块滤波器设备,其允许更有效地去除块效应。阈值参数β在整个视频流中是恒定的。β可以存储在解码器中,并且不需要从编码器传送到解码器。正整数k可以按切片或按帧或甚至按块来定义。值k可以被编码在编码(即压缩)视频流中。k可以由编码器使用例如率失真(rate distortion,RD)成本或使用任何主观度量来确定。将k选择为2的倍数是方便的。k的值越大,滤波器越弱。例如,k可以是1、2、4、8或16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的右边或下方的第二样本的滤波后样本值q′1,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方的第一样本的样本值q0的滤波器系数等于3,其中,用于当前样本行或列中在垂直或水平边缘的左边或上方的最远样本的的样本值pN-1和pN-2的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1;和/或通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第二样本的滤波后样本值p′1,其中,用于当前样本行或列中在垂直或水平边缘的左边或上方的第一样本的样本值p0的滤波器系数等于3,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方的最远样本的样本值qN-1和qN-2的滤波器系数等于0,并且用于其它样本值的滤波器系数等于1。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件并且还作为先决条件满足所有其他HEVC强滤波器条件(如图9所示),则通过以下将当前样本行或列处理成滤波后样本行或列:基于用于确定滤波后样本值p′1的(2N-2)抽头滤波器的填充版本确定滤波后样本值p′N-2,p′N-3,…,p′2,和/或基于用于确定滤波后样本值q′1的(2N-2)抽头滤波器的填充版本确定滤波后样本值q′N-2,q′N-3,…,q′2。
在第一方面的另一可能实施方式中,处理电路还用于基于与多个样本的量化步长相关联的量化参数QP来确定阈值参数β。
在第一方面的另一可能实施方式中,处理电路还用于基于量化参数QP使用查找表来确定阈值参数β。
在第一方面的另一可能实施方式中,处理电路还用于确定(iii)是否满足第三条件,即第一样本块及水平或垂直相邻的第二样本块的宽度或高度大于N个样本,且在满足第一条件及第三条件或第二条件及第三条件的情况下,将当前样本行或列处理成滤波后样本行或列。
在第一方面的另一可能实施方式中,N等于8,且处理电路用于:确定(i)是否满足由以下等式定义的第一条件:
(ii)是否满足由以下等式定义的第二条件:
(iii)是否满足由以下等式定义的第三条件:
对于i∈[2,…,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,其中,N=8,(注意,不包括“I==1”的情况,因为已经在HEVC强滤波器条件下对其进行了检查,因此不需要重新检查),或者
(iv)是否满足由以下等式定义的第四条件:
(v)是否满足由以下等式定义的第五条件:
(vi)是否满足由以下等式定义的第六条件:
满足并
如果满足第一条件、第二条件、第三条件、第四条件、第五条件、或第六条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的右边或下方的的第一样本的滤波后样本值q′0:
q′0=(0·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+2·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第一样本的滤波后样本值p′0:
p′0=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+2·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第二样本的滤波后样本值q′1:
q′1=(0·p7+0·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+3·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第二样本的滤波后样本值p′1:
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+3·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第三样本的滤波后样本值q′2:
q′2=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+3·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第三样本的滤波后样本值p′2:
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+3·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第四样本的滤波后样本值q′3:
q′3=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+3·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方第四样本的滤波后样本值p′3:
p′3=(3·p7+1·p6+1·p5+1·p4+3·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第五样本的滤波后样本值q′4:
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+3·q4+1·q5+1·q6+4·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第五样本的滤波后样本值p′4:
p′4=(4·p7+1·p6+1·p5+3·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第六样本的滤波后样本值q′5:
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+3·q5+1·q6+5·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第六样本的滤波后样本值p′5:
p′5=(5·p7+1·p6+3·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第七样本的滤波后样本值q′6:
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+3·q6+6·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第七样本的滤波后样本值p′6:
p′6=(6·p7+3·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第二样本的滤波后样本值q′1:
q′1=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+4·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第二样本的滤波后样本值p′1:
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+4·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第三样本的滤波后样本值q′2:
q′2=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+4·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第三样本的滤波后样本值p′2:
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+4·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第四样本的滤波后样本值q′3:
q′3=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+4·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方处的第四样本的滤波后样本值p′3:
p′3=(3·p7+1·p6+1·p5+1·p4+4·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第五样本的滤波后样本值q′4:
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+4·q4+1·q5+1·q6+4·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第五样本的滤波后样本值p′4:
p′4=(4·p7+1·p6+1·p5+4·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第六样本的滤波后样本值q′5:
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p2+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+4·q5+1·q6+5·q7+8)/16;和/或
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第六样本的滤波后样本值p′5:
p′5=(5·p7+1·p6+4·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第七样本的滤波后样本值q′6:
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+0·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+4·q6+6·q7+8)/16。
通过基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第七样本的滤波后样本值p′6:
p′6=(6·p7+4·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+0·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
在第一方面的另一可能实施方式中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块与第二样本块之间的垂直或水平边缘的右边或下方的第八样本的滤波后样本值q′7:
q′7=q7;和/或
通过基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第八样本的滤波后样本值p′7:
p′7=p7。
为了节省用于与CTU边界重叠的水平边缘的行缓冲器,提出了以下可替换的等式。
(vii)是否满足由以下等式定义的第七条件:
(viii)是否满足由以下等式定义的第八条件:
(ix)是否满足由以下等式定义的第九条件:
以及如果满足第七条件、第八条件、或第九条件,则通过以下将当前样本行或列处理成滤波后样本行或列:基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第一样本的滤波后样本值p′0:
p′0=(5·p3+1·p2+1·p1+2·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+8)/16
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第二样本的滤波后样本值p′1:
p′1=(5·p3+1·p2+3·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+8)/16
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第三样本的滤波后样本值p′2:
p′2=(6·p3+3·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3
+1·q4+8)/16
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的滤波后样本值q′0:
q′0=(4·p3+1·p2+1·p1+1·p0+2·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第二样本的滤波后样本值q′1:
q′1=(3·p3+1·p2+1·p1+1·p0+1·q0+3·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第三样本的滤波后样本值q′2:
q′2=(2·p3+1·p2+1·p1+1·p0+1·q0+1·q1+3·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第四样本的滤波后样本值q′3:
q′3=(1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+3·q3+1·q4+1·q5+1·q6+3·q7+8)/16;
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第五样本的滤波后样本值q′4:
q′4=(1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+3·q4+1·q5+1·q6+4·q7+8)/16;
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第六样本的滤波后样本值q′5:
q′5=(1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+3·q5+1·q6+5·q7+8)/16;
根据以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第七样本的滤波后样本值q′6:
q′6=(1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+3·q6+6·q7+8)/16;
或者可替换地,通过:基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第一样本的滤波后样本值p′0:
p′0=(2·p3+2·p2+2·p1+2·p0+2·q0+2·q1+2·q2+2·q3+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第二样本的滤波后样本值p′1:
p′1=(2·p3+2·p2+4·p1+2·p0+2·q0+2·q1+1·q2+1·q3+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的上方的第三样本的滤波后样本值p′2:
p′2=(3·p3+5·p2+2·p1+2·p0+1·q0+1·q1+1·q2+1·q3+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第一样本的滤波后样本值q′0:
q′0=(1·p3+2·p2+2·p1+2·p0+2·q0+2·q1+2·q2+2·q3+1·q4+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第二样本的滤波后样本值q′1:
q′1=(1·p3+1·p2+2·p1+2·p0+2·q0+2·q1+2·q2+2·q3+1·q4+1·q5+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第三样本的滤波后样本值q′2:
q′2=(1·p3+1·p2+1·p1+2·p0+2·q0+2·q1+2·q2+2·q3+2·q4+1·q5+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第四样本的滤波后样本值q′3:
q′3=(1·p3+1·p2+1·p1+1·p0+1·q0+2·q1+2·q2+2·q3+2·q4+2·q5+1·q6+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第五样本的滤波后样本值q′4:
q′4=(1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+3·q3+3·q4+3·q5+1·q6+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第六样本的滤波后样本值q′5:
q′5=(1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+2·q4+5·q5+2·q6+1·q7+8)/16。
基于以下等式确定当前样本行或列中在第一样本块和第二样本块之间的水平边缘的下方的第七样本的滤波后样本值q′6:
q′6=(1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+2·q5+5·q6+3·q7+8)/16。
根据第二方面,本发明涉及一种用于对视频流的图像进行编码的视频编码设备,其中,该视频编码设备包括:重建单元,用于重建上述图像;以及根据本发明第一方面的滤波器设备,用于将重建图像处理成滤波重建图像。
根据第三方面,本发明涉及一种用于对编码视频流的图像进行解码的视频解码设备,其中,该视频解码设备包括:重建单元,用于重建上述图像;以及根据本发明第一方面的滤波器设备,用于将重建图像处理成滤波重建图像。
根据第四方面,本发明涉及一种用于将当前样本行或列处理成滤波后样本行或列的方法,其中,当前样本行或列包括来自视频流的重建图像的第一样本块以及水平或垂直相邻的第二样本块的样本,且其中,当前样本行或列中的每一样本具有样本值pN-1-p0,q0-qN-1,其中N为大于2的偶整数,其中,该方法包括:
确定(i)是否满足由以下等式定义的第一条件:
其中β表示阈值参数,并且符号“<<”表示左移操作,并且k是正整数,
或者(ii)是否满足由以下等式定义的第二条件:
其中,对于i∈[1,2,…,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,并且β表示阈值参数,并且k是正整数;以及
如果满足第一条件或第二条件,则通过以下将当前样本行或列处理成滤波后样本行或列:通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的右边或下方的第一样本的滤波后样本值q′0,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方的第一样本的样本值q0的滤波器系数等于2,其中,用于当前样本行或列中在垂直或水平边缘的左边或上方的最远样本的样本值pN-1的滤波器系数等于0,并且用于其它样本值的滤波器系数等于1;和/或通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列的样本值,确定当前样本行或列中在第一样本块和第二样本块之间的垂直或水平边缘的左边或上方的第一样本的滤波后样本值p′0,其中,用于当前样本行或列中在垂直或水平边缘的左边或上方处的第一样本的样本值p0的滤波器系数等于2,其中,用于当前样本行或列中在垂直或水平边缘的右边或下方处的最远样本的样本值qN-1的滤波器系数等于0,并且用于其它样本值的滤波器系数等于1。
根据本发明第四方面的滤波方法可以由根据本发明第一方面的滤波器设备来执行。根据本发明第四方面的滤波方法的其它特征直接由上下文描述的根据本发明第一方面的滤波器设备的功能及其不同实施方式产生。
根据第五方面,本发明涉及一种计算机程序产品,其包括当在计算机上执行时用于执行根据第四方面的方法的程序代码。
在附图和下面的描述中阐述了一个或多个实施例的细节。根据说明书、附图、和权利要求书,其它特征、目的、和优点将是显而易见的。
附图说明
下面将参照附图更详细地描述本发明的实施例,其中:
图1是示出用于实现本发明的实施例的视频编码器的示例的框图;
图2是示出用于实现本发明的实施例的视频解码器的示例结构的框图;
图3是示出用于实现本发明的实施例的视频编码系统的示例的框图;
图4是示出在两个相邻样本块之间的边缘处的样本值不连续性的示例的图;
图5是示出根据实施例的由滤波器设备使用的两个水平相邻的样本块的样本的图;
图6是示出根据实施例的由滤波器设备所使用的系数矩阵的图;
图7是示出滤波操作的图;以及
图8是示出根据实施例的滤波器设备的性能的图。
图9是示出用于确定是否应当使用较长抽头滤波器的方法的流程图。
在下文中,相同的附图标记表示相同的或至少功能上等同的特征。
具体实施方式
在以下描述中,参考附图,附图形成本公开的一部分,并且通过图示示出本发明的实施例的特定方面或者可以使用本发明的实施例的特定方面。应当理解,本发明的实施例可以用在其他方面,并且包括附图中未示出的结构或逻辑变化。因此,以下具体实施方式不应被理解为限制性的,并且本发明的范围由所附权利要求限定。
例如,应当理解,与所描述的方法有关的公开内容对于用于执行该方法的对应设备或系统也是适用的,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如功能单元,以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或者多个单元各自执行多个步骤中的一个或多个步骤),即使这样的一个或多个单元未在附图中明确地描述或示出。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述特定装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或者多个步骤中的每一个执行多个单元中的一个或多个单元的功能),即使这种一个或多个步骤未在图中明确地描述或示出。此外,应当理解,除非另外特别指出,否则本文所述的各种示例性实施例和/或方面的特征可彼此组合。
视频编解码(video coding)通常是指对形成视频或视频序列的图像序列的处理。在视频编解码领域,代替术语术语“图像(picture)”,“帧(frame)”或“图像(image)”可以用作同义词。视频编解码包括两个部分,视频编码和视频解码。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图像以减少表示视频图像所需的数据量(以便更有效地存储和/或传输)。视频解码在目的地侧执行,并且通常包括与编码器相比的逆处理,以重建视频图像。涉及视频图像(或一般图像,如稍后将解释的)的“编解码”的实施例应当被理解为涉及视频图像的“编码”和“解码”两者。编码部分和解码部分的组合也被称为CODEC(COding和DECoding)。
在无损视频编解码的情况下,可以重建原始视频图像,即,重建的视频图像具有与原始视频图像相同的质量(假设在存储或传输期间没有传输损失或其他数据损失)。在有损视频编解码的情况下,例如通过量化执行进一步压缩,以减少表示视频图像的数据量,该视频图像不能在解码器处完全重建,即,重建的视频图像的质量与原始视频图像的质量相比更低或更差。
自H.261以来的若干视频编码标准属于“有损混合视频编解码器”组(即,组合样本域中的空间和时间预测以及用于在变换域中应用量化的2D变换编解码)。视频序列的每个图像通常被划分成一组不重叠的块,并且编解码通常在块级别上执行。换句话说,在编码器处,通常通过以下在块(视频块)级别上处理(即,编码)视频:例如,使用空间(图像内)预测和时间(图像间)预测来生成预测块,从当前块(当前处理/将被处理的块)中减去预测块以获得残差块,在变换域中变换残差块并量化残差块以减少待传输的数据量(压缩),而在解码器处,与编码器相比的逆处理被应用于编码或压缩块以重建当前块以用于表示。此外,编码器复制解码器处理循环,使得两者将产生相同的预测(例如,帧内预测和帧间预测)和/或重建以用于处理(即,编解码)后续块。
由于视频图像处理(也称为运动图像处理)和静止图像处理(术语“处理”包括编解码)共享许多概念和技术或工具,因此在下文中,术语“图像”用于指视频序列的视频图像(如上所述)和/或静止图像,以避免视频图像与静止图像之间不必要的重复和区别。在描述仅涉及静止图像(或静止图像)的情况下,将使用术语“静止图像”。
在以下实施例中,基于图1至图3描述编码器100、解码器200、和编解码系统300。
图3是示出了编解码系统300(例如图像编解码系统300)的实施例的概念或示意框图,其中编解码系统300包括源设备310,其用于将例如编码图像330的编码数据330提供给目的地设备320以便对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且可以附加地即可选地包括图像源312、预处理单元314(例如图像预处理单元314)、和通信接口或通信单元318。
图像源312可以包括或者可以是任何种类的图像捕获设备(例如用于捕获真实世界图像)、和/或任何种类的图像生成设备(例如用于生成计算机动画图像的计算机图形处理器)、或者任何种类的用于获得和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)、和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的设备。在下文中,除非另外特别描述,否则所有这些类型的图像和任何其它类型的图像将被称为“图像”,而除非明确地不同地指定,否则关于术语“图像”涵盖“视频图像”和“静止图像”的先前解释仍然适用。
(数字)图像是或者可以被认为是具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以被称为像素(图像元素的短形式)或“pel”。阵列或图像的水平方向和垂直方向(或轴)上的样本数目定义了图像的大小和/或分辨率。为了表示颜色,通常采用三个颜色分量,即,图像可以用三个样本阵列表示或包括三个样本阵列。在RBG格式或颜色空间中,图像包括相应的红色、绿色、和蓝色样本阵列。然而,在视频编解码中,每一像素通常以亮度/色度格式或色彩空间(例如,YCbCr)表示,其包括由Y指示的亮度分量(有时也替代地使用L)和由Cb和Cr指示的两个色度分量。亮度(或简称luma)分量Y表示亮度或灰阶强度(例如,在灰度图像中),而两个色度(或简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括亮度样本值(Y)的亮度样本阵列和色度值(Cb和Cr)的两个色度样本阵列。RGB格式的图像可以被转换或变换为YCbCr格式,反之亦然,该过程也被称为颜色变换或转换。如果图像是单色的,则该图像可以仅包括亮度样本阵列。
图像源312可以是例如用于捕获图像的相机、包括或存储先前捕获或生成的图像的存储器(例如图像存储器)、和/或用于获得或接收图像的任何种类的接口(内部或外部)。相机可以是例如集成在源设备中的本地或集成相机,存储器可以是例如集成在源设备中的本地或集成存储器。接口可以是例如用于从外部视频源接收图像的外部接口,外部视频源例如是诸如相机的外部图像捕获设备、外部存储器、或外部图像生成设备,外部图像生成设备例如是外部计算机图形处理器、计算机、或服务器。接口可以是根据任何专有或标准化接口协议的任何种类的接口,例如有线接口或无线接口、光学接口。用于获得图像数据312的接口可以是与通信接口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用于例如直接从源设备310或从任何其它源(例如,存储器,例如,编码图像数据存储器)接收编码图像数据171或编码数据330。
通信接口318和通信接口322可以用于经由源设备310和目的地设备320之间的直接通信链路或者经由任何种类的网络分别发送和接收编码图像数据171或编码数据330,直接通信链路例如是直接有线连接或无线连接,网络例如是有线或无线网络或其任何组合,或者任何种类的专用网络和公共网络或其任何种类的组合。
通信接口318例如可用于将编码图像数据171封装为适当格式(例如包)以供经由通信链路或通信网络传输,且还可以包括数据丢失保护及数据丢失恢复。
形成通信接口318的对应部分的通信接口322例如可以用于对编码数据330进行解封装以获得编码图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复,例如包括错误隐藏。
通信接口318和通信接口322两者都可以用于如图3中的编码图像数据330的从源设备310指向目的地设备320的箭头所指示的单向通信接口,或者双向通信接口,并且可以用于例如发送和接收消息,例如以建立连接,确认和/或重新发送丢失或延迟的数据(包括图像数据),并且交换与通信链路和/或数据传输(例如,编码图像数据传输)相关的任何其他信息。
解码器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)显示器或任何种类的其它显示器。
虽然图3将源设备310和目的地设备320描绘为单独的设备,但是设备的实施例还可以包括两个设备或两种功能,源设备310或对应的功能以及目的地设备320或对应的功能。在这样的实施例中,源设备310或相应的功能和目的地设备320或相应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
如基于描述对本领域技术人员将显而易见的,如图3所示的源设备310和/或目的地设备320内的不同单元的功能或功能的存在和(精确)划分可以取决于实际设备和应用而变化。
因此,如图3所示的源设备310和目的地设备320仅仅是用于实现本发明的示例实施例,并且本发明的实施例不限于图3所示的内容。
源设备310和目的地设备320可包括各种各样的设备中的任何一种,包括任何种类的手持式或固定设备,例如,笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、广播接收机设备等,并且可不使用或使用任何种类的操作系统。
编码器和编码方法
图1示出了编码器100(例如图像编码器100)的实施例的示意性/概念性框图,其包括输入102、残差计算单元104、变换单元106、量化单元108、反量化单元110、和反变换单元112、重建单元114、缓冲区118、根据实施例的环路滤波器装置120、解码图像缓冲器(decoded picture 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)的信号路径。
编码器用于例如通过输入102接收图像101或图像101的图像块103,例如形成视频或视频序列的图像序列中的图像。图像块103也可以被称为当前图像块或待编解码图像块,并且图像101也可以被称为当前图像或待编解码图像(特别是在视频编解码中,为了将当前图像与其它图像区分开,其他图像例如是同一视频序列(即,也包括当前图像的视频序列)的先前编码和/或解码的图像)。
划分
编码器100的实施例可以包括划分单元(图1中未示出),例如其也可以称为图像划分单元,其用于将图像103分成多个块,例如,类似于块103的块,通常分成多个非重叠块。划分单元可用于对视频序列的所有图像使用相同的块大小,并使用界定上述块大小的对应网格,或在图像或图像子集或图像组之间改变块大小,且将每一图像分成对应的块。
与图像101类似,块103也被视为或者可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,但其维度小于图像101。换句话说,块103可以包括例如一个样本阵列(例如,在单色图像101的情况下的亮度阵列)或三个样本阵列(例如,在彩色图像101的情况下的一个亮度和两个色度阵列)或任何其他数量和/或种类的阵列,这取决于所应用的颜色格式。块103的水平方向和垂直方向(或轴)上的样本数目定义块103的大小。
如图1中所示的编码器100用于逐块地对图像101进行编码,例如,按块103执行编码和预测。
残差计算
残差计算单元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变换相比,这种整数近似通常由某个因子来缩放。为了保留通过前向变换和反向变换处理的残差块105的范数,可以应用附加的缩放因子作为变换处理的一部分。通常基于某些约束来选择缩放因子,例如,对于移位操作来说缩放因子是2的幂、变换系数的位深度、准确度与实施成本之间的折衷等。例如,在解码器200处,特定的缩放因子例如由反变换单元212指定用于反变换(以及在编码器100处,相应的反变换单元112指定用于反变换),并且可以相应地在编码器100处,例如由变换单元106指定用于前向变换的相应缩放因子。
量化
量化单元108用于例如通过应用标量量化或向量量化来对变换系数107进行量化,以获得量化系数109。量化系数109还可被称作量化残差系数109。例如,对于标量量化,可以应用不同的缩放以实现更精细或更粗的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗的量化。可由量化参数(QP)指示适用的量化步长。量化参数可以例如是对预定义的一组适用的量化步长的索引。例如,小量化参数可以对应于精细量化(小量化步长),并且大量化参数可以对应于粗量化(大量化步长),反之亦然。量化可以包括除以量化步长,并且例如由逆量110进行的对应反量化可以包括乘以量化步长。根据HEVC的实施例可用于使用量化参数来确定量化步长大小。通常,可以使用包括除法的等式的固定点近似基于量化参数来计算量化步长。可引入额外的缩放因子用于量化和去量化以恢复残差块的范数,所述范数可能由于在用于量化步长和量化参数的等式的固定点近似中使用的缩放而被修改。在一个示例实施方式中,可以组合反变换和去量化的缩放。或者,可使用定制的量化表,并例如在位流中将该量化表从编码器100发信号通知给解码器200。量化是有损操作,其中损失随着量化步长的增加而增加。
编码器100的实施例可以用于例如通过对应的量化参数来输出量化方案和量化步长,使得解码器200可以接收并应用对应的反量化。编码器100(或量化单元108)的实施例可用于输出量化方案及量化步长,例如直接输出或经由熵编码单元170或任何其它熵编解码单元进行熵编码而输出。
编码器100的反量化单元110用于例如通过基于或使用与量化单元108相同的量化步长来应用由量化单元108应用的量化方案的反操作,来对量化系数应用量化单元108的反量化,以获得去量化系数111。去量化系数111还可被称作去量化残差系数111,且对应于变换系数108,不过通常由于量化损失而与变换系数不相同。
编码器100的反变换单元112用于应用由变换单元106应用的变换的反变换,例如,离散余弦反变换(DCT)或离散正弦反变换(DST),以获得样本域中的反变换块113。反变换块113也可以被称为反变换去量化块113或反变换残差块113。
编码器100的重建单元114用于例如通过逐样本地将解码残差块113的样本值和预测块165的样本值相加来组合反变换块113和预测块165以获得样本域中的重建块115。
缓冲区单元116(或简称“缓冲区”116),例如行缓冲区116,用于缓冲或存储重建块115和相应的样本值,例如用于帧内估计和/或帧内预测。在另外的实施例中,编码器100可以用于使用未滤波的重建块和/或存储在缓冲区单元116中的相应样本值进行任何种类的估计和/或预测。
如下面将更详细描述的,本发明的实施例涉及编码器100的环内去块滤波器设备(或简称“滤波器设备”)120和解码器200的相应环内去块滤波器设备(或简称“滤波器设备”)220。通常,根据实施例的滤波器设备120、220用于将视频流的重建图像或其至少一部分处理为滤波重建图像。
更具体地说,滤波器设备120(或“环路滤波器”120)用于对重建块115进行滤波以获得滤波块121。除了由滤波器设备120、220提供的滤波(其特别用于噪声抑制,例如块伪影,并且将在下面更详细地描述)之外,滤波器设备120还可以包括去块样本自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器,例如锐化滤波器。滤波块121也可以被称为滤波重建块121。
滤波器设备120的实施例可以包括(图1中未示出)滤波器分析单元和实际滤波器单元,其中滤波器分析单元被配置成确定实际滤波器的滤波器参数。滤波器分析单元可以用于将固定的预定滤波器参数应用于实际滤波器,从一组预定滤波器参数中自适应地选择滤波器参数,或者自适应地计算实际滤波器的滤波器参数。
滤波器设备120的实施例可以包括(图1中未示出)一个或多个子滤波器,例如,串联或并联或其任意组合连接的不同类型的滤波器中的一个或多个,其中,子滤波器中的每一个可以单独地或与多个子滤波器中的其他子滤波器共同地包括滤波器分析单元,以如在前一段中所描述地确定相应的滤波器参数。
编码器100(相应地,滤波器设备120)的实施例可以用于输出滤波器参数,例如,直接输出或经由熵编码单元170或任何其他熵编码单元进行熵编码输出,使得例如解码器200可以接收并应用相同的滤波器参数进行解码。
编码器100的解码图像缓冲区(DPB)130用于接收和存储滤波块121。解码图像缓冲器130还可以用于存储同一当前图像或不同图像(例如,先前的重建图像)的其它先前的滤波块(例如,先前的重建和滤波块121),且可提供完整的先前重建(即,解码)图像(和对应参考块和样本)和/或部分重建的当前图像(和对应参考块和样本),例如用于帧间估计和/或帧间预测。
本发明的另外的实施例还可以用于使用解码图像缓冲区130的先前滤波块和对应的滤波后样本值进行任何种类的估计或预测,例如帧内和帧间估计和预测。
编码器100的预测单元160(也称为块预测单元160)用于接收或获得图像块103(当前图像101的当前图像块103)和解码的或至少重建的图像数据(例如,来自缓冲区116的相同(当前)图像的参考样本和/或来自解码图像缓冲区130的一个或多个先前解码图像的解码图像数据231),并且处理这样的数据用于预测,即,提供预测块165,其可以是帧间预测块145或帧内预测块155。
编码器100的模式选择单元162可用于选择预测模式(例如,帧内预测模式或帧间预测模式)和/或对应的预测块145或155用作预测块165,以用于残差块105的计算和用于重建块115的重建。
模式选择单元162的实施例可用于选择预测模式(例如,从预测单元160所支持的预测模式中选择),该预测模式提供最佳匹配或换句话说最小残差(最小残差意味着更好的压缩以用于传输或存储),或最小信令开销(最小信令开销意味着更好的压缩以用于传输或存储),或考虑或平衡两者。模式选择单元162可以用于基于率失真优化(rate distortionoptimization,RDO)来确定预测模式,即,选择提供最小率失真优化或相关联的率失真至少满足预测模式选择标准的预测模式。
在下文中,将更详细地解释根据实施例的由编码器100执行的预测处理(例如,预测单元160和由模式选择单元162进行的模式选择)。
如上文所描述,编码器100用于从一组(预定)预测模式中确定或选择最佳或最优预测模式。该组预测模式例如可以包括帧内预测模式和/或帧间预测模式。
该组帧内预测模式可包含如H.264中所定义的32个不同的帧内预测模式,例如,非定向模式(例如,DC(或平均值)模式和平面模式)或定向模式,或可包含如H.265中所定义的65个不同帧内预测模式,例如,非定向模式(例如,DC(或平均值)模式和平面模式)或定向模式。
该组(或可能的)帧间预测模式取决于可用的参考图像(即,例如存储在DBP230中的先前至少部分解码的图像)和其它帧间预测参数,例如,是使用整个参考图像还是仅使用参考图像的一部分(例如,当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如是否应用像素插值,例如,半/半像素和/或四分之一像素插值。
除了上述预测模式之外,还可以应用跳过模式和/或直接模式。
编码器100的预测单元160可进一步用于例如迭代地使用四叉树划分(quad-tree-partitioning,QT)、二叉树划分(binary-partitioning,BT)、或三叉树划分(triple-tree-partitioning,TT)或其任何组合将块103划分成较小块分区或子块,且执行例如对每个块分区或子块的预测,其中,模式选择包括选择划分的块103的树结构和应用于每个块分区或子块的预测模式。
帧间估计单元142(也称为图像间估计单元142)用于接收或获得图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建块,例如一个或多个其它/不同的先前解码图像231的重建块,用于帧间估计(或”图像间估计“)。举例来说,视频序列可包括当前图像和先前解码图像231,或换句话说,当前图像和先前解码图像231可以是形成视频序列的图像序列的一部分或形成该图像序列。
编码器100可以例如用于从多个其他图像中的相同或不同图像的多个参考块中选择参考块,并且将参考图像和/或参考块的位置与当前块的位置之间的偏移作为帧间估计参数143提供给帧间预测单元144。这个偏移也被称为运动矢量(motion vector,MV)。帧间估计也被称为运动估计(motion estimation,ME),帧间预测也被称为运动预测(motionprediction,MP)。
编码器的帧间预测单元144用于获得(例如接收)帧间预测参数143,并且基于或使用帧间预测参数143执行帧间预测以获得帧间预测块145。
尽管图1示出了用于帧间编码的两个不同单元(或步骤),即帧间估计142和帧间预测152,但是这两个功能可以作为一个来执行,例如,通过迭代地测试所有可能的帧间预测模式或其预定子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并且使用当前最佳的帧间预测模式和相应的帧间预测块作为(最终)帧间预测参数143和帧间预测块145,而不执行另一次帧间预测144。
帧内估计单元152用于获得(例如接收)图像块103(当前图像块)和同一图像的一个或多个先前重建块(例如,重建的相邻块)以用于帧内估计。编码器100例如可以用于从多个(预定的)帧内预测模式中选择帧内预测模式,并且将其作为帧内估计参数153提供给帧内预测单元154。
尽管图1示出了帧内编码的两个不同单元(或步骤),即帧内估计152和帧内预测154,但是这两个功能可以作为一个来执行,例如通过迭代地测试所有可能的帧内预测模式或其预定子集,同时存储当前最佳帧内预测模式和相应的帧内预测块,并且使用当前最佳帧内预测模式和相应的帧内预测块作为(最终)帧内预测参数153和帧内预测块155,而不执行另一次帧内预测154。
编码器100的熵编码单元170用于单独地或联合地(或根本不)对量化残差系数109、帧间预测参数143、帧内预测参数153、和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC方案(context adaptive VLC scheme,CALVC)、算术编码方案、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)),以获得可由输出172例如以编码位流171的形式输出的编码图像数据171。
图2示出了用于接收例如由编码器100编码的编码图像数据(例如,编码位流)171以获得解码图像231的示例性视频解码器200。
解码器200包括输入202、熵解码单元204、反量化单元210、反变换单元212、重建单元214、缓冲区216、根据实施例的滤波器设备220、解码图像缓冲区230、包括帧间预测单元244和帧内预测单元254的预测单元260、模式选择单元260、和输出232。
解码器200的熵解码单元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可以在功能上与根据实施例的编码器滤波器设备120相同(关于实际环路滤波器,因为滤波器设备220通常不包括用于基于原始图像101或块103确定滤波器参数的滤波器分析单元,而是例如从熵解码单元204接收(显式或隐式地)或获得用于编码的滤波器参数),并且解码图像缓冲区230可以在功能上与解码图像缓冲区130相同。
解码器200的预测单元260可以包括帧间预测单元244和帧间预测单元254,其中,帧间预测单元144可以在功能上与帧间预测单元144相同,帧间预测单元154可以在功能上与帧内预测单元154相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获得预测块265(没有关于原始图像101的任何进一步的信息),并且例如从熵解码单元204接收或获得(显式或隐式)预测参数143或153和/或关于所选择的预测模式的信息。
解码器200用于例如经由输出232输出解码后的图像230,以向用户呈现或供用户观看。
如上所述,本发明的实施例涉及编码器100的滤波器设备120和/或解码器200的滤波器设备220,尤其用于噪声抑制。如上所述,编码器100的滤波器设备120和解码器200的滤波器设备220可以包含除以下描述的子滤波器之外的子滤波器。
图5示出了来自视频流的重建图像的两个水平相邻的样本块503a、503b的当前样本行501。第一样本块503a和水平相邻的样本块503b由垂直延伸的边缘或边界505分开。如从图5中可以看出的,具有样本值qi的样本(i从0到N-1,在图5所示的示例性实施例中,N等于8;通常N应该是大于2的偶整数)来自第一样本块503a(因此,也称为块Q),并且具有值pi(i从0到N-1)的样本来自水平相邻的第二样本块503b(因此,也称为块P)。例如,第一样本块503a和第二样本块503b具有相同的大小。在不同的实施例中,第一样本块503a和第二样本块503b的大小可以不同。如将理解的,对于两个垂直相邻的样本块的情况,当前样本行501变成当前样本列,并且块之间的垂直延伸边缘505变成水平延伸边缘。
如下面将更详细描述的,滤波器设备120、220用于将当前样本行(或列)501处理成滤波后样本行(或列)。为此,滤波器设备120、220包括处理电路,该处理电路用于检查是否满足由以下等式定义的第一条件:
或者对于图5中所示的N=8的示例性情况:
其中β表示例如从HEVC标准已知的阈值参数,并且“<<”表示左移操作,并且k是正整数。有利地,由等式(2)定义的滤波器条件使用边缘505的两侧上的宽范围样本的二阶导数。由于考虑了当前样本行501的中间样本的样本值p4和q4,所以等式(2)所定义的滤波器条件可以检测如图4所示的边缘,因为中间的值p4(或q4)可以对样本值p1和p7(或q1和q7)的和进行平衡。此外,注意到在由等式(2)定义的条件下,使用样本值p1和q1而不是传统的p0和q0,这是因为已经发现对于较长抽头滤波器,最内部的样本可能不是滤波决策的良好候选。除了检测具有倾斜斜坡形状的样本值分布的边缘之外,等式(2)中定义的条件也可以应用于平坦边缘。因此,由等式(2)定义的滤波器条件的一个主要优点是,可以在边界505的两侧上的信号是平坦的或具有斜坡形状时对边缘进行滤波。
或者,处理电路用于检查是否满足由以下等式定义的第二条件:
或者对于图5中所示的N=8的示例性情况:
其中,对于i∈[1,2,…,N-2](即,对于N=8的情况,i∈[1,2,…,N-2]),SDpi=|pi-1-2·pi+pi+1|,并且SDqi=|qi-1-2·qi+qi+1|。以增加计算复杂度为代价,由等式(3)定义的滤波器条件允许比由等式(2)定义的滤波器条件更精确的检测。由等式(3)定义的扩展滤波器条件检查除了最内侧两个样本和最外侧两个样本(即,p0、q0和pN-1)之外的边缘505的每一侧上的每个样本的二阶导数。
对于两种滤波器条件,阈值参数β的值取决于量化参数QP。如上文已描述,QP为视频编解码标准中控制比特率与视频内容质量之间的折衷的众所周知的参数。在实施例中,QP可以在0到51的范围内。在实施例中,滤波器设备120、220的处理电路用于使用查找表基于量化参数QP来确定阈值参数β。在实施例中,查找表可以如下定义:
查找表[52]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64}。
关于阈值参数β及其对QP的依赖性的更多细节,参考Sze等人的书籍“高效视频编码(HEVC)”的第7章,其通过引用完全并入本文。
在某些情况下,等式(2)和/或(3)中定义的滤波器条件在与JVET-J0024中公开的滤波器系数组合使用时,可能导致图7中所示的不期望的副作用。在原始信号中,样本值的分布具有斜坡的形状,而使用JVET-J0024中定义的滤波器系数进行滤波产生不期望的失真。根据样本的位置,滤波的样本不同于原始的样本,并且尤其在每侧的中间,失真很高。为了减少这种情况下的失真,如果满足由等式(2)定义的第一条件或满足由等式(3)定义的第二条件,则滤波器设备120、220的处理电路将使用不同的滤波器系数将当前样本行(或列)501处理成滤波后样本行(或列)。为此,处理电路用于通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列501的样本值,来确定当前样本行或列中在第一样本块503a和第二样本块503b之间的垂直或水平边缘505的右边或下方的第一样本的滤波后样本值q′0,其中,用于当前样本行或列中在垂直或水平边缘505的右边或下方的第一样本的样本值q0的滤波器系数等于2,其中,用于当前行或列样本中在垂直或水平边缘505的左边或上方的最远样本的样本值pN-1的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1。
同样地,滤波器设备120、220的处理电路用于通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列501的样本值,来确定当前样本行或列中在第一样本块503a和第二样本块503b之间的垂直或水平边缘505的左侧或上方的第一样本的滤波后样本值p′0,其中,用于当前行或列样本中在垂直或水平边缘505的左侧或上方的第一样本的样本值p0的滤波器系数等于2,其中,当前行或列样本中在垂直或水平边缘505的右侧或下方的最远样本的样本值qN-1的滤波器系数等于0,并且其他样本值的滤波器系数等于1。
在实施例中,处理电路还用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列501处理为滤波后样本行或列:通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于当前样本行或列501的样本值,来确定当前样本行或列501中在第一样本块503a和第二样本块503b之间的垂直或水平边缘505的右边或下方的第二样本的滤波后样本值q′1,其中,用于当前样本行或列中在垂直或水平边缘505的右边或下方的第一样本的样本值q0的滤波器系数等于3,其中,用于当前样本行或列样本中在垂直或水平边缘505的左边或上方的最远样本的样本值pN-1和pN-2的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1。
同样地,在实施例中,滤波器设备120、220的处理电路还用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列501处理为滤波后样本行或列:通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于当前样本行或列501的样本值,来确定当前样本行或列501中在第一样本块503a和第二样本块503b之间的垂直或水平边缘505的左边或上方的第二样本的滤波后样本值p′1,其中,用于当前样本行或列中在垂直或水平边缘505的左侧或上方的第一样本的样本值p0的滤波器系数等于3,其中,用于当前样本行或列中在垂直或水平边缘505的右侧或下方的最远样本的样本值qN-1和qN-2的滤波器系数等于0,用于其他样本值的滤波器系数等于1。
在实施例中,处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行或列501处理成滤波后样本行或列:基于用于确定滤波后样本值p′1的(2N-2)抽头滤波器的填充版本确定滤波的样本值p′N-2,p′N-3,…,p′2,和/或基于用于确定滤波后样本值q′1的(2N-2)抽头滤波器的填充版本确定滤波后样本值q′N-2,q′N-3,…,q′2,这将在下面基于示例性实施例更详细地描述,其中N=8。
在实施例中,滤波器设备120、220的处理电路还用于确定(iii)是否满足第三条件,即第一样本块503a和水平或垂直相邻的第二样本块503b的宽度或高度大于N个样本,并且仅在满足第一条件和第三条件或者第二条件和第三条件的情况下,将当前样本行(或列)501处理为滤波后样本行或列。
对于N=8的情况,滤波器设备120、220的处理电路用于基于以下等式来确定当前样本行(或列)501中在垂直(或水平)延伸边缘505的右边(或下方)的的第一样本的滤波后样本值q′0:
q′0=(0·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+2·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16。
同样,对于N=8的情况,滤波器设备120、220的处理电路用于基于以下等式确定当前样本行(或列)501中在垂直(或水平)延伸边缘505的左边(或上方)的第一样本的滤波后样本值p′0:
p′0=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+2·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+0·q7+8)/16。
在N=8时的其他实施例中,滤波器设备120、220的处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行(或列)501处理为滤波后样本行或列:基于以下等式中的一个或多个确定当前样本行(或列)501中在第一样本块503a和第二样本块503b之间的垂直(或水平)延伸边缘505的右边(或下方)的第二样本到第七样本的滤波后样本值qi′(其中i=1,…,6):
q′1=(0·p7+0·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+3·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
q′2=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+3·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
q′3=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+3·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+3·q4+1·q5+1·q6+4·q7+8)/16;和/或
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+3·q5+1·q6+5·q7+8)/16;和/或
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+3·q6+6·q7+8)/16。
同样,在N=8时的其他实施例中,滤波器设备120、220的处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行(或列)501处理成滤波后样本行或列:基于以下等式中的一个或多个确定当前样本行(或列)501中在第一样本块503a和第二样本块503b之间的垂直(或水平)延伸边缘505的左边(或上方)的第二样本到第七样本的滤波后样本值pi′(其中i=1,…,6):
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+3·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+0·q6+0·q7+8)/16;和/或
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+3·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16;和/或
p′3=(3·p7+1·p6+1·p5+1·p4+3·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16;和/或
p′4=(4·p7+1·p6+1·p5+3·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16;和/或
p′5=(5·p7+1·p6+3·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16;和/或
p′6=(6·p7+3·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
图6示出了上述滤波器的相应滤波器系数矩阵。如从图8可见,如果以上滤波器系数与由等式(2)定义的滤波器条件或由等式(3)定义的滤波器条件结合使用,则在图7的情况下观察到的失真可以减少。
在N=8的另一可选实施例中,滤波器设备120、220的处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行(或列)501处理为滤波后样本行或列:基于以下等式中的一个或多个确定当前样本行(或列)501中在第一样本块503a和第二样本块503b之间的垂直(或水平)延伸边缘505的右边(或下方)的第二样本到第七样本的滤波后样本值q′i(其中i=1,…,6):
q′1=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+4·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
q′2=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+4·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
q′3=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+4·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+4·q4+1·q5+1·q6+4·q7+8)/16;和/或
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+4·q5+1·q6+5·q7+8)/16;和/或
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+4·q6+6·q7+8)/16。
同样,在N=8时的其他可选实施例中,滤波器设备120、220的处理电路用于,如果满足第一条件或第二条件,则通过以下将当前样本行(或列)501处理成滤波后样本行或列:基于以下等式中的一个或多个确定当前样本行(或列)501中在第一样本块503a和第二样本块503b之间的垂直(或水平)延伸边缘505的左边(或上方)的第二样本到第七样本的滤波后样本值p′i(其中i=1,…,6):
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+4·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+0·q6+0·q7+8)/16。
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+4·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16。
p′3=(3·p7+1·p6+1·p5+1·p4+4·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
p′4=(4·p7+1·p6+1·p5+4·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
p′5=(5·p7+1·p6+4·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
p′6=(6·p7+4·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
如将理解的,通过简单地沿其主对角线之一用因子4替换因子3,可以从图6所示的滤波器系数矩阵容易地推导出根据上述可选实施例的滤波器的滤波器系数矩阵。根据上述可选实施例的滤波器的一个优点是,使用因子4的乘法运算比使用因子3的乘法运算(需要求和运算)更容易,并且此外,该滤波器系数矩阵更对称。另一方面,上面定义的滤波器具有更多的低通响应(具有更高的平滑比率)。
在N=8的实施例中,滤波器设备120、220的处理电路不对当前样本行(或列)501中位于第一样本块503a和第二样本块503b之间的垂直(或水平)延伸边缘505的右侧和/或左侧(或下方和/或上方)的第八样本的样本值进行滤波,即q′7=q7,和/或p′7=p7。
如图9所示,如果“更大抽头滤波器”条件为真,则应该满足HEVC强滤波器条件。
尽管已经主要基于视频编解码描述了本发明的实施例,但是应当注意,编码器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-specific integrated circuit,ASIC)等。
编码器100(和对应的编码方法100)和/或解码器200(和对应的解码方法200)的功能可以由存储在计算机可读介质上的程序指令来实现。程序指令在被执行时使处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是任何介质,包括其上存储程序的非暂时性存储介质,诸如蓝光盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储等。
本发明的实施例包括或者是计算机程序,该计算机程序包括当在计算机上执行时用于执行本文描述的任何方法的程序代码。
本发明的实施例包括或者是包括程序代码的计算机可读介质,当由处理器执行时,所述程序代码使计算机系统执行本文描述的任何方法。
Claims (24)
1.一种环内去块滤波器设备(120、220),用于将当前样本行或列(501)处理成滤波后样本行或列,其特征在于,所述当前样本行或列(501)包括来自视频流的重建图像的第一样本块(503a)和水平或垂直相邻的第二样本块(503b)的多个样本,并且其中,所述当前样本行或列(501)中的每个样本具有样本值pN-1-p0,q0-qN-1,其中N为大于2的偶整数,其中,所述滤波器设备(120、220)包括处理电路,所述处理电路用于:
确定(i)是否满足由以下等式定义的第一条件:
其中β表示阈值参数,k是正整数,并且符号“<<”表示左移操作,
或者(ii)是否满足由以下等式定义的第二条件:
其中,对于i∈[1,2,...,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,并且β表示阈值参数,k是正整数;以及
如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:
通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于所述当前样本行或列(501)的所述样本值,确定所述当前样本行或列中在所述第一和第二样本块(503a,503b)之间的垂直或水平边缘(505)的右边或下方的第一样本的滤波后样本值q′0,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的所述第一样本的样本值q0的滤波器系数等于2,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的左边或上方的最远样本的样本值pN-1的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1;和/或
通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于所述当前样本行或列(501)的所述样本值,确定所述当前样本行或列中在所述第一和第二样本块(503a,503b)之间的垂直或水平边缘(505)的左边或上方的第一样本的滤波后样本值p′0,其中,用于所述当前样本行或列中在所述垂直和水平边缘(505)的左边或上方的所述第一样本的样本值p0的滤波器系数等于2,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的最远样本的样本值qN-1的滤波器系数等于0,并且用于所述其他样本值的滤波器系数等于1。
2.根据权利要求1所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:
通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于所述当前样本行或列(501)的所述样本值,确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的右边或下方的第二样本的滤波后样本值q′1,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的所述第一样本的所述样本值q0的滤波器系数等于3,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的左边或上方的最远样本的样本值pN-1和pN-2的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1;和/或
通过将具有2N-2个滤波器系数的(2N-2)抽头滤波器应用于所述当前样本行或列(501)的所述样本值,确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的左边或上方的第二样本的滤波后样本值p′1,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的左边或上方的所述第一样本的所述样本值p0的滤波器系数等于3,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的最远样本的样本值qN-1和qN-2的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1。
3.根据权利要求2所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于用于确定所述滤波后样本值p′1的所述(2N-2)抽头滤波器的填充版本确定滤波后样本值p′N-2,p′N-3,...,p′2,和/或基于用于确定所述滤波后样本值q′1的所述(2N-2)抽头滤波器的填充版本确定滤波后样本值q′N-2,q′N-3,...,q′2。
4.根据前述权利要求中任一项所述的滤波器设备(120,220),其特征在于,所述处理电路还用于基于与所述多个样本的量化步长关联的量化参数QP来确定所述阈值参数β。
5.根据权利要求4所述的滤波器设备(120,220),其特征在于,所述处理电路还用于基于所述量化参数QP使用查找表来确定所述阈值参数β。
6.根据权利要求1-3、5中任一项所述的滤波器设备(120,220),其特征在于,所述处理电路还用于确定(iii)是否满足第三条件,即所述第一样本块(503a)和水平或垂直相邻的所述第二样本块(503b)的宽度或高度大于N个样本,并且如果满足所述第一条件和所述第三条件或者满足所述第二条件和所述第三条件,则将所述当前样本行或列(501)处理成所述滤波后样本行或列。
7.根据权利要求1-3、5中任一项所述的滤波器设备(120,220),其特征在于,N等于8,并且所述处理电路用于:
确定(i)是否满足由以下等式定义的所述第一条件:
(ii)是否满足由以下等式定义的所述第二条件:
其中k是正整数,以及
如果满足第一条件或第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的右边或下方的所述第一样本的所述滤波后样本值q′0:
q′0=(0·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+2·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的左边或上方的所述第一样本的所述滤波后样本值p′0:
p′0=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+1·p1+2·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+1·q6+0·q7+8)/16。
8.根据权利要求7所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的右边或下方的所述第二样本的滤波后样本值q′1:
q′1=(0·p7+0·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+3·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的左边或上方的的所述第二样本的滤波后样本值p′1:
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+3·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+0·q6+0·q7+8)/16。
9.根据权利要求8所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第三样本的滤波后样本值q′2:
q′2=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+3·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘的左边或上方的第三样本的滤波后样本值p′2:
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+3·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16。
10.根据权利要求8或9所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第四样本的滤波后样本值q′3:
q′3=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+3·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左边或上方的第四样本的滤波后样本值p′3:
p′3=(3·p7+1·p6+1·p5+1·p4+3·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
11.根据权利要求8或9所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第五样本的滤波后样本值q′4:
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+3·q4+1·q5+1·q6+4·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一样本块和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第五样本的滤波后样本值p′4:
p′4=(4·p7+1·p6+1·p5+3·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
12.根据权利要求8或9所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第六样本的滤波后样本值q′5:
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+3·q5+1·q6+5·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第六样本的滤波后样本值p′5:
p′5=(5·p7+1·p6+3·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
13.根据权利要求8或9所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第七样本的滤波后样本值q′6:
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+3·q6+6·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第七样本的滤波后样本值p′6:
p′6=(6·p7+3·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
14.根据权利要求7所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第二样本的滤波后样本值q′1:
q′1=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+4·q1+1·q2+1·q3+1·q4+1·q5+1·q6+1·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左边或上方的第二样本的滤波后样本值p′1:
p′1=(1·p7+1·p6+1·p5+1·p4+1·p3+1·p2+4·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+0·q6+0·q7+8)/16。
15.根据权利要求14所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第三样本的滤波后样本值q′2:
q′2=(0·p7+0·p6+0·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+4·q2+1·q3+1·q4+1·q5+1·q6+2·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左边或上方的第三样本的滤波后样本值p′2:
p′2=(2·p7+1·p6+1·p5+1·p4+1·p3+4·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+0·q5+0·q6+0·q7+8)/16。
16.根据权利要求14或15所述的滤波器设备(120,220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第四样本的滤波后样本值q′3:
q′3=(0·p7+0·p6+0·p5+0·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+4·q3+1·q4+1·q5+1·q6+3·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左边或上方的第四样本的滤波后样本值p′3:
p′3=(3·p7+1·p6+1·p5+1·p4+4·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
17.根据权利要求14或15所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第五样本的滤波后样本值q′4:
q′4=(0·p7+0·p6+0·p5+0·p4+0·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+4·q4+1·q5+1·q6+4·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第五样本的滤波后样本值p′4:
p′4=(4·p7+1·p6+1·p5+4·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+1·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
18.根据权利要求14或15所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第六样本的滤波后样本值q′5:
q′5=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+1·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+4·q5+1·q6+5·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第六样本的滤波后样本值p′5:
p′5=(5·p7+1·p6+4·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+1·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
19.根据权利要求14或15所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第七样本的滤波后样本值q′6:
q′6=(0·p7+0·p6+0·p5+0·p4+0·p3+0·p2+0·p1+1·p0+1·q0+1·q1+1·q2+1·q3+1·q4+1·q5+4·q6+6·q7+8)/16;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左侧或上方的第七样本的滤波后样本值p′6:
p′6=(6·p7+4·p6+1·p5+1·p4+1·p3+1·p2+1·p1+1·p0+1·q0+0·q1+0·q2+0·q3+0·q4+0·q5+0·q6+0·q7+8)/16。
20.根据权利要求7所述的滤波器设备(120、220),其特征在于,所述处理电路用于,如果满足所述第一条件或所述第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a、503b)之间的所述垂直或水平延伸边缘(505)的右边或下方的第八样本的滤波后样本值q′7:
q′7=q7;和/或
基于以下等式确定所述当前样本行或列(501)中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平延伸边缘(505)的左边或上方的第八样本的滤波后样本值p′7:
p′7=p7。
21.一种用于对视频流的图像进行编码的视频编码设备(100),其特征在于,所述视频编码设备(100)包括:
重建单元(114),用于重建所述图像;以及
根据前述权利要求中任一项所述的滤波器设备(120),用于将所述重建图像处理成滤波重建图像。
22.一种用于对编码视频流(303)的图像进行解码的视频解码设备(200),其特征在于,所述视频解码设备(200)包括:
重建单元(214),用于重建所述图像;以及
根据权利要求1至20中任一项所述的滤波器设备(220),用于将所述重建图像处理成滤波重建图像。
23.一种用于将当前样本行或列(501)处理成滤波后样本行或列的方法,其特征在于,所述当前样本行或列(501)包括来自视频流的重建图像的第一样本块(503a)和水平或垂直相邻的第二样本块(503b)的样本,并且其中,所述当前样本行或列(501)中的每一样本具有样本值pN-1-p0,q0-qN-1,其中N为大于2的偶整数,其中,所述方法包括:
确定(i)是否满足由以下等式定义的第一条件:
其中β表示阈值参数,k是正整数,并且符号“<<”表示左移操作,
或者(ii)是否满足由以下等式定义的第二条件:
其中,对于i∈[1,2,...,N-2],SDpi=|pi-1-2·pi+pi+1|,SDqi=|qi-1-2·qi+qi+1|,并且β表示阈值参数;以及
如果满足第一条件或第二条件,则通过以下将所述当前样本行或列(501)处理成所述滤波后样本行或列:
通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于当前样本行或列(501)的所述样本值,确定所述当前样本行或列中在所述第一和第二样本块(503a,503b)之间的垂直或水平边缘(505)的右边或下方的第一样本的滤波后样本值q′0,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的所述第一样本的样本值q0的滤波器系数等于2,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的左边或上方的最远样本的样本值pN-1的滤波器系数等于0,并且用于其他样本值的滤波器系数等于1;和/或
通过将具有2N-1个滤波器系数的(2N-1)抽头滤波器应用于所述当前样本行或列(501)的所述样本值,确定所述当前样本行或列中在所述第一和第二样本块(503a,503b)之间的所述垂直或水平边缘(505)的左边或上方的第一样本的的滤波后样本值p′0,其中,用于所述当前样本行或列中在所述垂直或水平边缘(505)的左边或上方的所述第一样本的样本值p0的滤波器系数等于2,用于所述当前样本行或列中在所述垂直或水平边缘(505)的右边或下方的最远样本的样本值qN-1的滤波器系数等于0,并且用于其他样本值的所述滤波器系数等于1。
24.一种计算机可读存储介质,其上存储有程序代码,当在计算机或处理器上执行时,所述程序代码用于执行权利要求23所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862691590P | 2018-06-28 | 2018-06-28 | |
US62/691,590 | 2018-06-28 | ||
US201862692851P | 2018-07-01 | 2018-07-01 | |
US62/692,851 | 2018-07-01 | ||
PCT/CN2019/093397 WO2020001566A1 (en) | 2018-06-28 | 2019-06-27 | In-loop deblocking filter apparatus and method for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112352435A CN112352435A (zh) | 2021-02-09 |
CN112352435B true CN112352435B (zh) | 2022-02-18 |
Family
ID=68985782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980043455.2A Active CN112352435B (zh) | 2018-06-28 | 2019-06-27 | 用于视频编解码的环内去块滤波器设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11259054B2 (zh) |
EP (1) | EP3804338A4 (zh) |
CN (1) | CN112352435B (zh) |
WO (1) | WO2020001566A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7227901B2 (en) * | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
US20060029135A1 (en) * | 2004-06-22 | 2006-02-09 | Minhua Zhou | In-loop deblocking filter |
US8116379B2 (en) * | 2004-10-08 | 2012-02-14 | Stmicroelectronics, Inc. | Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard |
US7736903B2 (en) * | 2005-10-05 | 2010-06-15 | Delphi Technologies, Inc. | Tracer to compensate for environmental variations that influence a chemical vapor sensor measurement |
US20080084932A1 (en) * | 2006-10-06 | 2008-04-10 | Microsoft Corporation | Controlling loop filtering for interlaced video frames |
JP5418674B2 (ja) * | 2009-10-29 | 2014-02-19 | 日本電気株式会社 | H.264インループ・デブロッキング・フィルタの並列実行装置及び方法 |
CN102685480B (zh) * | 2011-03-16 | 2015-09-16 | 中兴通讯股份有限公司 | 一种视频滤波方法及装置 |
US9232237B2 (en) * | 2011-08-05 | 2016-01-05 | Texas Instruments Incorporated | Block-based parallel deblocking filter in video coding |
JP2014526818A (ja) * | 2011-09-09 | 2014-10-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 低複雑度のデブロッキングフィルタ決定 |
US10397615B2 (en) * | 2012-07-03 | 2019-08-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Strong deblocking filtering decisions |
US9762921B2 (en) * | 2012-12-19 | 2017-09-12 | Qualcomm Incorporated | Deblocking filter with reduced line buffer |
CN106134201B (zh) * | 2014-05-23 | 2019-10-25 | 华为技术有限公司 | 在块预测技术中使用的预处理预测滤波的方法和装置 |
-
2019
- 2019-06-27 WO PCT/CN2019/093397 patent/WO2020001566A1/en unknown
- 2019-06-27 EP EP19825054.0A patent/EP3804338A4/en active Pending
- 2019-06-27 CN CN201980043455.2A patent/CN112352435B/zh active Active
-
2020
- 2020-12-27 US US17/134,442 patent/US11259054B2/en active Active
Non-Patent Citations (2)
Title |
---|
HEVC环内滤波算法优化;饶子仁;《西安电子科技大学硕士学位论文》;20141201;全文 * |
Yen-Lin Lee ; Truong Nguyen.Analysis and Integrated Architecture Design for Overlap Smooth and in-Loop Deblocking Filter in VC-1.《2007 IEEE International Conference on Image Processing》.2007, * |
Also Published As
Publication number | Publication date |
---|---|
WO2020001566A1 (en) | 2020-01-02 |
EP3804338A1 (en) | 2021-04-14 |
EP3804338A4 (en) | 2021-04-28 |
CN112352435A (zh) | 2021-02-09 |
US11259054B2 (en) | 2022-02-22 |
US20210127139A1 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111819852B (zh) | 用于变换域中残差符号预测的方法及装置 | |
US20200404339A1 (en) | Loop filter apparatus and method for video coding | |
CN111837389A (zh) | 适用于多符号位隐藏的块检测方法及装置 | |
JP7384974B2 (ja) | 適応乗算係数を用いた画像フィルタリングのための方法および装置 | |
US11290721B2 (en) | Image processing device and method for performing efficient deblocking | |
US11206398B2 (en) | Device and method for intra-prediction of a prediction block of a video image | |
US20230124833A1 (en) | Device and method for intra-prediction | |
JP2024137955A (ja) | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 | |
CN112352435B (zh) | 用于视频编解码的环内去块滤波器设备和方法 | |
RU2779474C1 (ru) | Устройство обработки изображений и способ выполнения эффективного удаления блочности | |
JP7293460B2 (ja) | 効率的なデブロッキングを実行するための画像処理デバイス及び方法 | |
RU2785090C2 (ru) | Устройство и способ выполнения удаления блочности |
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 |