CN112400323A - 图像编码器、图像解码器、以及对应方法 - Google Patents
图像编码器、图像解码器、以及对应方法 Download PDFInfo
- Publication number
- CN112400323A CN112400323A CN201880095449.7A CN201880095449A CN112400323A CN 112400323 A CN112400323 A CN 112400323A CN 201880095449 A CN201880095449 A CN 201880095449A CN 112400323 A CN112400323 A CN 112400323A
- Authority
- CN
- China
- Prior art keywords
- filter
- zero coefficient
- bitstream
- zero
- indication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/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/46—Embedding additional information in the video signal during the compression process
-
- 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/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)
Abstract
本公开涉及自适应滤波,例如,自适应环路滤波,其可以在视频图像的编码和解码过程中使用。特别地,确定零系数图,其中每个位指示了对于使用该零系数图的自适应滤波器,支持区域中的相应滤波系数是否要包括在位流中。在自适应滤波器的被零系数图指示为要包括在位流中的至少一个滤波系数之前,将零系数图的指示包括在位流中。提供零系数图可以实现高效信令,并且允许特别适用于手头内容的灵活滤波器形状。
Description
技术领域
本发明实施例涉及图像处理领域,例如静止图像和/或视频图像编解码。
背景技术
视频编解码(视频编码和解码)用于广泛的数字视频应用,例如广播数字TV、通过互联网和移动网络的视频传输、诸如视频聊天和视频会议的实时对话应用、DVD和蓝光盘、视频内容获取和编辑***、以及安全应用的便携式摄像机。
自从1990年H.261标准中开发基于块的混合视频编码方法以来,开发了新的视频编解码技术和工具并形成了新的视频编码标准的基础。大多数视频编码标准的目标之一是在不牺牲图像质量的情况下与之前标准相比降低比特率。其他的视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-TH.262/MPEG-2、ITU-TH.263、ITU-TH.264/MPEG-4第10部分(Part10)、高级视频编码(advanced video coding,AVC)、ITU-TH.265、高效视频编码(highefficiency video coding,HEVC)、以及这些标准的扩展,例如可缩放性和/或三维(three-dimensional,3D)扩展。
滤波(尤其是自适应滤波)已经应用于在不同编码和解码阶段(例如预滤波、环内滤波器、或后滤波)的视频编码和解码中。影响滤波器设计的参数有图像质量、由于滤波器自适应的额外开销、以及实施复杂度。
发明内容
本发明实施例由独立权利要求的特征定义,实施例的其他有利实施方式由从属权利要求的特征定义。
根据实施例,提供了一种用于从位流中解码图像样本的装置,该装置包括处理电路,该处理电路用于:从位流中提取零系数图(zero coefficients map)的指示;根据上述指示确定包括多个位的零系数图,其中,每个位指示是否要从位流中为自适应滤波器提取相应滤波系数;以及从位流中提取由零系数图指示为要从位流中提取的至少一个滤波系数。
提供零系数图提供了更有效编码的可能性。例如,零系数图可以用于指示滤波器的实际(例如任意)形式。
例如,如果上述多个位中的一个位指示要从位流中提取相应系数,则该系数不能为零。这种方法不需要发信令通知零值,并且结合熵编码(变长编码)可以使编码效率提高。
在一些实施例中,零系数图与多个自适应滤波器中的每个自适应滤波器关联,该多个自适应滤波器包括上述自适应滤波器;上述多个位中的每个位指示是否要从位流中为多个自适应滤波器中的每个自适应滤波器提取相应滤波系数;上述处理电路还用于:从位流中提取在零系数图的指示之后的与零系数图关联的每个自适应滤波器的至少一个滤波系数,上述至少一个滤波系数由零系数图指示为要从位流中提取。
由于可以通过公共零系数图定义若干滤波器,从而这些滤波器具有相同的形状并仅系数值不同,所以这种滤波器分组可以进一步提高编码效率。
在一些实施例中,上述处理电路还用于:从位流中提取哪些自适应滤波器与上述零系数图关联的指示。
在示例性实施方式中,上述零系数图是多个零系数图之一,该多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,该一个或多个自适应滤波器中的每个自适应滤波器与单个零系数图关联;上述处理电路还用于:从位流中提取指示,该指示表示多个零系数图中的零系数图的数量,接着是,对于多个零系数图中的每个零系数图,从位流中提取:(i)相应零系数图的指示,接着是(ii)与相应零系数图关联的一个或多个自适应滤波器的至少一个滤波系数,其中,该至少一个滤波系数由相应零系数图指示为要从位流中提取。
上述处理电路还可以用于从位流中提取:(i)与多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是(ii)对于与多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与该相应自适应滤波器关联的指示。
例如,上述零系数图的上述指示包括:每个位的对应标志位。
在一些实施例中,上述零系数图的上述指示包括正整数N,N指示(i)要从位流中提取由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数,以及(ii)不会从位流中提取上述序列中的其余滤波系数。
例如,上述零系数图的上述指示还包括语法元素(syntax element),该语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是上述预定义滤波系数扫描顺序。
上述零系数图的上述指示包括索引,该索引指示多个预定义零系数图中的哪个预定义零系数图是上述零系数图。
在一些实施例中,上述处理电路还用于:确定一组图像样本,该组包括待使用同一自适应滤波器进行滤波的所有图像样本,上述确定基于对图像样本评估以下至少之一:
-图像帧中的位置,
-测量局部样本值的变化的活动度量,
-局部边缘信息,
-强度值,或
-比所述待滤波样本小的相邻样本的数量。
在一些示例性实施方式中,上述处理电路还用于对于一组图像样本,从位流中提取待用于对上述图像样本进行滤波的对应自适应滤波器的指示。
上述处理电路还可以用于使用具有从位流中提取的上述至少一个滤波系数的上述自适应滤波器对图像样本进行滤波。
根据实施例,提供了一种用于将图像样本编码到位流中的装置,该装置包括处理电路,该处理电路用于;确定包括多个位的零系数图,其中每个位指示对于自适应滤波器,相应滤波系数是否要包括在位流中;以及将该零系数图的指示包括在位流中,接着是将上述自适应滤波器的由该零系数图指示为要包括在位流中的至少一个滤波系数包括在位流中。
如上所述,关于解码器,在一些实施例中,如果上述多个位中的一个位指示相应系数要包括在位流中,则该系数不能为零。
例如,上述零系数图与多个自适应滤波器中的每个自适应滤波器关联,上述多个自适应滤波器包括上述自适应滤波器,上述多个位中的每个位指示对于上述多个自适应滤器中的每个自适应滤波器,相应滤波系数是否要包括在位流中;上述处理电路还用于在上述零系数图的上述指示之后,将与上述零系数图关联的每个自适应滤波器的至少一个滤波系数包括在位流中,上述至少一个滤波系数由上述零系数图指示为要包括在位流中。
上述处理电路还可以用于将哪个自适应滤波器与上述零系数图关联的指示包括在位流中。
例如,上述零系数图是多个零系数图之一,该多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,该一个或多个自适应滤波器中的每个自适应滤波器与单个零系数图关联;上述处理电路还用于确定上述多个零系数图中的每个零系数图;以及将上述多个零系数图中的零系数图的数量的指示包括在位流中,接着是,对于该多个零系数图中的每个零系数图,将以下包括在位流中:(i)相应零系数图的指示,接着是(ii)与相应零系数图关联的一个或多个自适应滤波器的至少一个滤波系数,其中,该至少一个滤波系数由相应零系数图指示为要包括在位流中。
在一些实施例中,上述处理电路还用于将以下包括在位流中:与上述多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是对于与上述多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与该相应自适应滤波器关联的指示。
例如,零系数图的指示可以包括每个位的对应标志位,和/或位流中包括的零系数图的指示包括正整数N,N指示由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数要包括在位流中,以及该序列中的其余滤波系数不会包括在位流中。
此外,在一些实施方式中,位流中包括的零系数图的指示还包括语法元素,该语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是上述预定义滤波系数扫描顺序,或者,位流中包括的零系数图的指示包括索引,该索引指示多个预定义零系数图中的哪个预定义零系数图是上述零系数图。
在一些实施例中,上述处理电路还用于确定一组图像样本,该组包括待使用同一自适应滤波器进行滤波的所有图像样本,上述确定基于对图像样本评估以下至少之一:图像帧中的位置、测量局部样本值的变化的活动度量、局部边缘信息、强度值、和/或比所述待滤波样本小的相邻样本的数量。
在一些实施例中,上述处理电路还用于对于上述组,将待用于对该组中的所有图像样本进行滤波的同一自适应滤波器的指示包括在位流中。
例如,上述处理电路还用于使用具有编码到位流中的至少一个滤波系数的自适应滤波器对图像样本进行滤波。
根据实施例,提供了一种用于从位流中解码图像样本的方法,包括以下步骤:从位流中提取零系数图的指示;根据上述指示确定包括多个位的零系数图,其中,每个位指示是否要从位流中为自适应滤波器提取相应滤波系数;以及从位流中提取由零系数图指示为要从位流中提取的至少一个滤波系数。
例如,如果上述多个位中的一个位指示要从位流中提取相应系数,则该系数不能为零。
例如,零系数图与多个自适应滤波器中的每个自适应滤波器关联,该多个自适应滤波器包括上述自适应滤波器,上述多个位中的每个位指示是否要从位流中为多个自适应滤波器中的每个自适应滤波器提取相应滤波系数;上述方法还包括以下步骤:从位流中提取在零系数图的指示之后的与零系数图关联的每个自适应滤波器的至少一个滤波系数,上述至少一个滤波系数由零系数图指示为要从位流中提取。
上述方法还可以包括以下步骤:从位流中提取哪些自适应滤波器与上述零系数图关联的指示。
例如,上述零系数图是多个零系数图之一,该多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,该一个或多个自适应滤波器中的每个自适应滤波器与单个零系数图关联;上述方法还包括以下步骤:从位流中提取指示,该指示表示多个零系数图中的零系数图的数量,接着是对于多个零系数图中的每个零系数图,从位流中提取:相应零系数图的指示,接着是与相应零系数图关联的一个或多个自适应滤波器的至少一个滤波系数,其中,该至少一个滤波系数由相应零系数图指示为要从位流中提取。
在一些实施例中,上述方法还可以包括以下步骤:从位流中提取:与多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是对于与多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与该相应自适应滤波器关联的指示。
例如,上述零系数图的上述指示包括每个位的对应标志位。例如,上述零系数图的上述指示包括正整数N,N指示要从位流中提取由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数,以及不会从位流中提取上述序列中的其余滤波系数。
在一些实施例中,上述零系数图的上述指示还包括语法元素,该语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是上述预定义滤波系数扫描顺序。
在一些实施例中,上述零系数图的上述指示包括索引,该索引指示多个预定义零系数图中的哪个预定义零系数图是上述零系数图。
在一些实施例中,上述方法还可以包括以下步骤:确定一组图像样本,该组包括要使用同一自适应滤波器进行滤波的所有图像样本,上述确定基于对图像样本评估以下至少之一:图像帧中的位置、测量局部样本值的变化的活动度量、局部边缘信息、强度值、比所述待滤波样本小的相邻样本的数量。
例如,上述方法还包括以下步骤:对于一组图像样本,从位流中提取待用于对上述组中的图像样本进行滤波的对应自适应滤波器的指示。
上述方法还可以包括以下步骤:使用具有从位流中提取的上述至少一个滤波系数的上述自适应滤波器对图像样本进行滤波。
根据实施例,提供了一种用于将图像样本编码到位流中的方法,包括以下步骤:确定包括多个位的零系数图,其中每个位指示对于自适应滤波器,相应滤波系数是否要包括在位流中;以及将该零系数图的指示包括在位流中,接着是将自适应滤波器的由该零系数图指示为要包括在位流中的至少一个滤波系数包括在位流中。
例如,如果上述多个位中的一个位指示相应系数要包括在位流中,则该系数不能为零。
例如,上述零系数图与多个自适应滤波器中的每个自适应滤波器关联,上述多个自适应滤波器包括上述自适应滤波器,上述多个位中的每个位指示对于上述多个自适应滤器中的每个自适应滤波器,相应滤波系数是否要包括在位流中;上述处理电路还用于在上述零系数图的上述指示之后,将与上述零系数图关联的每个自适应滤波器的至少一个滤波系数包括在位流中,上述至少一个滤波系数由上述零系数图指示为要包括在位流中。
上述方法还可以包括以下步骤:将哪些自适应滤波器与上述零系数图关联的指示包括在位流中。
例如,上述零系数图是多个零系数图之一,该多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,该一个或多个自适应滤波器中的每个与单个零系数图关联;上述方法还包括以下步骤:确定上述多个零系数图中的每个零系数图;以及将上述多个零系数图中的零系数图的数量的指示包括在位流中,接着是对于该多个零系数图中的每个零系数图,将以下包括在位流中:相应零系数图的指示,接着是与相应零系数图关联的一个或多个自适应滤波器的至少一个滤波系数,其中,该至少一个滤波系数由相应零系数图指示为要包括在位流中。
在一些实施例中,上述方法还可以包括以下步骤:将以下包括在位流中:与上述多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是对于与上述多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与该相应自适应滤波器关联的指示。
例如,零系数图的指示可以包括:每个位的对应标志位。
位流中包括的零系数图的指示包括正整数N,N指示由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数要包括在位流中,以及该序列中的其余滤波系数不会包括在位流中。
例如,位流中包括的零系数图的指示还包括语法元素,该语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是上述预定义滤波系数扫描顺序。例如,位流中包括的零系数图的指示包括索引,该索引指示多个预定义零系数图中的哪个预定义零系数图是上述零系数图。
在一些实施例中,上述方法还可以包括以下步骤:确定一组图像样本,该组包括要使用同一自适应滤波器进行滤波的所有图像样本,上述确定基于对图像样本评估以下至少之一:图像帧中的位置、测量局部样本值的变化的活动度量、局部边缘信息、强度值、和/或比所述待滤波样本小的相邻样本的数量。
例如,上述方法还可以包括以下步骤:对于上述组,将待用于对该组中的所有图像样本进行滤波的同一自适应滤波器的指示包括在位流中。
例如,上述方法还可以包括以下步骤:使用具有编码到位流中的至少一个滤波系数的自适应滤波器对图像样本进行滤波。
此外,提供了存储指令的计算机可读介质,当由处理器执行时,该指令使计算机执行根据上述任何方法的步骤。
一个或多个实施例的细节在附图和以下说明中进行阐述。根据说明书、附图、以及权利要求,其他特征、目标、以及优点将显而易见。
附图说明
下面将参照附图更详细地描述本发明的实施例,其中:
图1是示出用于实现本发明的实施例的视频编码器的示例的框图。
图2是示出用于实现本发明的实施例的视频解码器的示例结构的框图。
图3是示出用于实现本发明的实施例的视频编解码***的示例的框图。
图4是具有其接口的视频编解码器(编码器或解码器)的框图。
图5是示出自适应滤波过程的流程图。
图6是示出用于多个像素组的滤波器参数信令的流程图。
图7A、图7B和图7C是示出具有预定义滤波器形状的三个示例性滤波器的示意图。
图7D是示出示例性滤波器支持区域的示意图。
图7E是示出示例性零系数图的示意图。
图7F是示出对图7D所示的支持区域应用图7E所示的示例性零系数图而获得的滤波器的示意图。
图8示出了发信号通知零系数图的四种替代方案。
图9是示出从编码器角度的滤波器分组的流程图。
图10是示出从解码器角度的滤波器分组的流程图。
图11是示出从解码器角度的同一滤波器组中的两个自适应滤波器的流程图。
图12是示出从解码器角度的分布在两个滤波器组上的三个自适应滤波器的流程图。
在下文中,相同的附图标记表示相同的或至少功能上等同的特征。
具体实施方式
在以下描述中,参考附图,附图形成本公开的一部分,并且通过图示示出本发明的实施例的特定方面或者可以使用本发明的实施例的特定方面。应当理解,本发明的实施例可以用在其他方面,并且包括附图中未示出的结构或逻辑变化。因此,以下具体实施方式不应被理解为限制性的,并且本发明的范围由所附权利要求限定。
例如,应当理解,与所描述的方法有关的公开内容对于用于执行该方法的对应设备或***也是适用的,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如功能单元,以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或者多个单元各自执行多个步骤中的一个或多个步骤),即使这样的一个或多个单元未在附图中明确地描述或示出。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述特定装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或者多个步骤中的每一个执行多个单元中的一个或多个单元的功能),即使这种一个或多个步骤未在图中明确地描述或示出。此外,应当理解,除非另外特别指出,否则本文所述的各种示例性实施例和/或方面的特征可彼此组合。
视频编解码(video coding)通常是指对形成视频或视频序列的图像序列的处理。在视频编解码领域,代替术语“图像(picture)”,术语“帧(frame)”或“图像(image)”可以用作同义词。视频编解码包括两个部分,视频编码和视频解码。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图像以减少表示视频图像所需的数据量(以便更有效地存储和/或传输)。视频解码在目的地侧执行,并且通常包括与编码器相比的逆处理,以重建视频图像。涉及视频图像(或一般地,图像,如稍后将解释的)的“编解码”的实施例应当被理解为涉及视频图像的“编码”和“解码”两者。编码部分和解码部分的组合也被称为CODEC(COding和DECoding)。
在无损视频编解码的情况下,可以重建原始视频图像,即,重建的视频图像具有与原始视频图像相同的质量(假设在存储或传输期间没有传输损失或其他数据损失)。在有损视频编解码的情况下,例如通过量化执行进一步压缩,以减少表示视频图像的数据量,该视频图像不能在解码器处完全重建,即,重建的视频图像的质量与原始视频图像的质量相比更低或更差。
自H.261以来的若干视频编码标准属于“有损混合视频编解码器”组(即,组合样本域中的空间和时间预测以及用于在变换域中应用量化的2D变换编解码)。视频序列的每个图像通常被分割成一组不重叠的块,并且编解码通常在块级上执行。换句话说,在编码器处,通常通过以下在块(视频块)级别上处理(即,编码)视频:例如,使用空间(图像内)预测和时间(图像间)预测来生成预测块,从当前块(当前处理/将被处理的块)中减去预测块以获得残差块,在变换域中变换残差块并量化残差块以减少要传输的数据量(压缩),而在解码器处,与编码器相比的逆处理被应用于编码或压缩块以重建当前块以用于表示。此外,编码器复制解码器处理循环,使得两者将产生相同的预测(例如,帧内预测和帧间预测)和/或重建以用于处理(即,编解码)后续块。
由于视频图像处理(也称为运动图像处理)和静止图像处理(术语“处理”包括编解码)共享许多概念和技术或工具,因此在下文中,术语“图像”用于指视频序列的视频图像(如上所述)和/或静止图像,以避免视频图像与静止图像之间不必要的重复和区别。在描述仅涉及静止图像(或静止图像)的情况下,将使用术语“静止图像”。
在以下实施例中,(在基于图7D至图12更详细描述本发明实施例之前)基于图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格式,反之亦然,该过程也被称为颜色变换或转换。如果图像是单色的,则该图像可以仅包括亮度样本阵列。在一些格式中,与亮度阵列或矩阵相比,色度样本阵列或矩阵可以进行子采样。特别地,对于亮度分量(luma)图像中的四个样本值,两个色度分量图像(例如红色和蓝色)中的每一个仅存在一个像素。这种子采样格式称为4:2:0。其他子采样模式例如称为4:2:2等。本公开不限于任何特定色彩表示或分辨率。
图像源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)显示器或任何种类的其它显示器,例如投影仪、全息图(3D)等。
虽然图3将源设备310和目的地设备320描绘为单独的设备,但是设备的实施例还可以包括两个设备或两种功能,源设备310或对应的功能以及目的地设备320或对应的功能。在这样的实施例中,源设备310或相应的功能和目的地设备320或相应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
如基于描述对本领域技术人员将显而易见的,如图3所示的源设备310和/或目的地设备320内的不同单元的功能或功能的存在和(精确)划分可以取决于实际设备和应用而变化。
例如,源设备310和/或目的地设备320可以是具有集成相机和显示器的智能手机或平板。这些智能手机或平板还可以具有有线或无线接口以例如在电视机、投影仪或另一显示设备上捕获或显示图像。注意,图3所示的源设备和目的地设备还可以实施为一个设备,在这种情况下,附图标记310和320对应于单个设备的功能部分。
然而,本公开不限于通信设备。替代地或另外地,源设备310和/或目的地设备320可以是没有集成相机或显示器的机顶盒,只是通过电视机显示的接口(仅目的地设备的情况)。源设备310和/或目的地设备320的另一示例部署是具有集成显示器的电视机,通常没有相机(仅目的地设备的另一种情况)。在另一方面,源设备310和/或目的地设备320可以是具有集成显示器的手持相机(对应于在一个设备中的源设备和目的地设备)或没有集成显示器的监控相机,只是用于发送图像的接口(仅源设备的情况)。上述设备可以实施源设备310和/或目的地设备320,例如智能眼镜或3D眼镜(AR/VR)。注意,编码器/解码器的实施例之一可以是芯片组(没有源设备或显示设备)。
因此,如图3所示的源设备310和目的地设备320仅仅是本发明的示例实施例,并且本发明的实施例不限于图3所示的内容。
源设备310和目的地设备320可包括各种各样的设备中的任何一种,包括任何种类的手持式或固定设备,例如,笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、广播接收机设备等,并且可不使用或使用任何种类的操作***。
图1示出了编码器100(例如图像编码器100)的实施例的示意性/概念性框图,其包括输入102、残差计算单元104、变换单元106、量化单元108、反量化单元110、和反变换单元112、重建单元114、缓冲区118、环路滤波器120、解码图像缓冲器(decoded picturebuffer,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的块,通常分成多个非重叠块。分割单元可用于对视频序列的所有图像使用相同的块尺寸,并使用界定上述块尺寸的对应网格,或在图像或图像子集或图像组之间改变块尺寸,且将每一图像分成对应的块。
例如,在HEVC中,图像可以被细分为所谓的编码树单元(coding tree unit,CTU)。CTU具有相同的尺寸,该尺寸可以通过一些信令参数确定或由标准固定。CTU通常是不重叠的。每个CTU随后可以被进一步划分为编码和/或变换单元,即分别对其执行预测和/或变换的块。通过提供将每个块进一步划分为四个其他块(四叉树分割)或两个其他块(二叉树分割)或任何其他种类的分割的可能性,递归地执行上述划分。是否划分CTU以及每个CTU块的深度可以通过率失真优化来决定。然而,一般来说,还可以基于其他标准定义上述划分,例如CTU中的边缘的存在等。相应地,在本公开中,当提及“块”或“单元”作为图像的一部分时,是指CTU或通过CTU划分获得的任何单元——正方形或非正方形的矩形。一般地,还存在其中块可以重叠的实施例。
与图像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变换相比,这种整数近似通常由某个因子来缩放。为了保留通过前向变换和反向变换处理的残差块的范数,应用附加的缩放因子作为变换处理的一部分。通常基于某些约束来选择缩放因子,例如,对于移位操作来说缩放因子是2的幂、变换系数的位深度、准确度与实施成本之间的折衷等。例如,在解码器200处,特定的缩放因子例如由反变换单元212指定用于反变换(以及在编码器100处,相应的反变换单元112指定用于反变换),并且可以相应地在编码器100处,例如由变换单元106指定用于前向变换的相应缩放因子。
量化单元108用于例如通过应用标量量化或向量量化来对变换系数107进行量化,以获得量化系数109。量化系数109还可被称作量化残差系数109。例如,对于标量量化,可以应用不同的缩放以实现更精细或更粗的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗的量化。可由量化参数(QP)指示适用的量化步长。量化参数可以例如是对预定义的一组适用的量化步长的索引。例如,小量化参数可以对应于精细量化(小量化步长),并且大量化参数可以对应于粗量化(大量化步长),反之亦然。量化可以包括除以量化步长,并且例如由反量化110进行的对应反量化可以包括乘以量化步长。根据HEVC的实施例可用于使用量化参数来确定量化步长。通常,可以使用包括除法的等式的固定点近似基于量化参数来计算量化步长。可引入额外的缩放因子用于量化和去量化以恢复残差块的范数,所述范数可能由于在用于量化步长和量化参数的等式的固定点近似中使用的缩放而被修改。在一个示例实施方式中,可以组合反变换和去量化的缩放。或者,可使用定制的量化表,并且,例如,在位流中将该量化表从编码器发信号通知给解码器。量化是有损操作,其中损失随着量化步长的增加而增加。
编码器100的实施例(或量化单元108)可以用于例如通过对应的量化参数来输出量化方案和量化步长,使得解码器200可以接收并应用对应的反量化。编码器100(或量化单元108)的实施例可用于输出量化方案及量化步长,例如直接输出或经由熵编码单元170或任何其它熵编解码单元进行熵编码而输出。
反量化单元110用于例如通过基于或使用与量化单元108相同的量化步长来应用由量化单元108应用的量化方案的逆,来对量化系数应用量化单元108的反量化,以获得去量化系数111。去量化系数111还可被称作去量化残差系数111,且对应于变换系数108,不过通常由于量化损失而与变换系数不相同。
反变换单元112用于应用由变换单元106应用的变换的反变换,例如,离散余弦反变换(DCT)或离散正弦反变换(DST),以获得样本域中的反变换块113。反变换块113也可以被称为反变换去量化块113或反变换残差块113。
重建单元114用于例如通过逐样本地将解码残差块113的样本值和预测块165的样本值相加来组合反变换块113和预测块165以获得样本域中的重建块115。
缓冲区单元116(或简称“缓冲区”116),例如行缓冲区116,用于缓冲或存储重建块和相应的样本值,例如用于帧内估计和/或帧内预测。在另外的实施例中,编码器可以用于使用未滤波的重建块和/或存储在缓冲区单元116中的相应样本值进行任何种类的估计和/或预测。
编码器100的实施例可以用于使得例如缓冲区单元116不仅用于存储重建块115以进行帧内估计152和/或帧内预测154,还用于环路滤波器单元120(图1中未示出),和/或使得例如缓冲区单元116和解码图像缓冲区单元130形成一个缓冲区。其他实施例可以用于使用滤波块121和/或来自解码图像缓冲区130的块或样本(图1中均未示出)作为帧内估计152和/或帧内预测154的输入或基础。
环路滤波器单元120(或简称“环路滤波器”120)用于例如通过应用去块滤波器、样本自适应偏移(SAO)滤波器或其他滤波器(例如锐化或平滑滤波器或协同滤波器),对重建块115进行滤波以获得滤波块121。滤波块121还可以称为滤波重建块121。
环路滤波器单元120的实施例可以包括(图1中未示出)滤波器分析单元和实际滤波器单元,其中滤波器分析单元被配置成确定实际滤波器的环路滤波器参数。如下将详细讨论地,滤波器分析单元可以用于将固定的预定滤波器参数应用于实际环路滤波器,从一组预定滤波器参数中自适应地选择滤波器参数,或者自适应地计算实际环路滤波器的滤波器参数。
环路滤波器单元120的实施例可以包括(图1中未示出)一个或多个滤波器,例如,串联或并联或其任意组合连接的不同类型的滤波器中的一个或多个,其中,多个滤波器中的每一个可以单独地或与多个滤波器中的其他滤波器共同地包括滤波器分析单元,以如在前一段中所描述地确定相应的环路滤波器参数。
编码器100(相应地,环路滤波器单元120)的实施例可以用于输出环路滤波器参数,例如,直接输出或经由熵编码单元170或任何其他熵编码单元进行熵编码输出,使得例如解码器200可以接收并应用相同的环路滤波器参数进行解码。
解码图像缓冲区(DPB)130用于接收和存储滤波块121。解码图像缓冲区130还可以用于存储同一当前图像或不同图像(例如,先前的重建图像)的其它先前的滤波块(例如,先前的重建和滤波块121),且可提供完整的先前重建(即,解码)图像(和对应参考块和样本)和/或部分重建的当前图像(和对应参考块和样本),例如用于帧间估计和/或帧间预测。
本发明的另外的实施例还可以用于使用解码图像缓冲区130的先前滤波块和对应的滤波样本值进行任何种类的估计或预测,例如帧内和帧间估计和预测。
预测单元160(也称为块预测单元160)用于接收或获得图像块103(当前图像101的当前图像块103)和解码的或至少重建的图像数据(例如,来自缓冲区116的相同(当前)图像的参考样本和/或来自解码图像缓冲区130的一个或多个先前解码图像的解码图像数据231),并且处理这样的数据用于预测,即,提供预测块165,其可以是帧间预测块145或帧内预测块155。
模式选择单元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中的先前至少部分解码的图像)和其它帧间预测参数,例如,是使用整个参考图像还是仅使用参考图像的一部分(例如,当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如是否应用像素插值,例如,半/半像素和/或四分之一像素插值。
除了上述预测模式之外,还可以应用如跳过模式和/或直接模式的其他模式。
预测单元160可进一步用于例如迭代地使用四叉树分割(quad-tree-partitioning,QT)、二叉树分割(binary-partitioning,BT)、或三叉树分割(triple-tree-partitioning,TT)或其任何组合将块103分割成较小块分区或子块,且执行例如对每个块分区或子块的预测,其中,模式选择包括选择分割的块103的树结构和应用于每个块分区或子块的预测模式。
帧间估计单元142(也称为图像间估计单元142)用于接收或获得图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建块,例如一个或多个其它/不同的先前解码图像231的重建块,用于帧间估计(或“图像间估计”)。举例来说,视频序列可包括当前图像和先前解码图像231,或换句话说,当前图像和先前解码图像231可以是形成视频序列的图像序列的一部分或形成该图像序列。
编码器100可以例如用于从多个其他图像中的相同或不同图像的多个参考块中选择参考块,并且将参考图像(或参考图像索引)和/或参考块的位置(x,y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这个偏移也被称为运动矢量(motion vector,MV)。帧间估计也被称为运动估计(motion estimation,ME),帧间预测也被称为运动预测(motion prediction,MP)。
帧间预测单元144用于获得(例如接收)帧间预测参数143,并且基于或使用帧间预测参数143执行帧间预测以获得帧间预测块145。
尽管图1示出了用于帧间编码的两个不同单元(或步骤),即帧间估计142和帧间预测152,但是这两个功能可以作为一个来执行(帧间估计需要/包括计算帧间预测块,即上述帧间预测154或“一类”帧间预测154),例如,通过迭代地测试所有可能的帧间预测模式或其预定子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并且使用当前最佳的帧间预测模式和相应的帧间预测块作为(最终)帧间预测参数143和帧间预测块145,而不执行另一次帧间预测144。
帧内估计单元152用于获得(例如接收)图像块103(当前图像块)和同一图像的一个或多个先前重建块(例如,重建的相邻块)以用于帧内估计。编码器100例如可以用于从多个帧内预测模式中选择帧内预测模式,并且将其作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可以用于基于优化标准选择帧内预测模式,优化标准例如是最小残差(例如提供与当前图像块103最相似的预测块155的帧内预测模式)或最小率失真。
帧内预测单元154用于基于帧内预测参数153(例如选择的帧内预测模式153)确定帧内预测块155。
尽管图1示出了帧内编码的两个不同单元(或步骤),即帧内估计152和帧内预测154,但是这两个功能可以作为一个来执行(帧内估计包括计算帧内预测块,即上述帧内预测154或“一类”帧内预测154),例如通过迭代地测试所有可能的帧内预测模式或其预定子集,同时存储当前最佳帧内预测模式和相应的帧内预测块,并且使用当前最佳帧内预测模式和相应的帧内预测块作为(最终)帧内预测参数153和帧内预测块155,而不执行另一次帧内预测154。
熵编码单元170用于单独地或联合地(或根本不)对量化残差系数109、帧间预测参数143、帧内预测参数153、和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC方案(context adaptive VLCscheme,CALVC)、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)),以获得可由输出172例如以编码位流171的形式输出的编码图像数据171。
解码器和解码方法
图2示出了用于接收例如由编码器100编码的编码图像数据(例如,编码位流)171以获得解码图像231的示例性视频解码器200。
解码器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可以在功能上与环路滤波器120相同(关于实际环路滤波器,因为环路滤波器220通常不包括用于基于原始图像101或块103确定滤波器参数的滤波器分析单元,而是例如从熵解码单元204接收(显式或隐式地)或获得用于编码的滤波器参数),并且解码图像缓冲区230可以在功能上与解码图像缓冲区130相同。
预测单元260可以包括帧间预测单元244和帧间预测单元254,其中,帧间预测单元144可以在功能上与帧间预测单元144相同,帧间预测单元154可以在功能上与帧内预测单元154相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获得预测块265(没有关于原始图像101的任何进一步的信息),并且例如从熵解码单元204接收或获得(显式或隐式)预测参数143或153和/或关于所选择的预测模式的信息。
解码器200用于例如经由输出232输出解码后的图像230,以向用户呈现或供用户观看。
图4是根据本公开实施例的视频编解码设备400的示意图。视频编解码设备400适于实现本文描述的公开实施例,例如实现为编码器或解码器。视频编解码设备400包括用于接收数据的入口端口410(或输入端口410)和接收器单元(Rx)420;用于处理数据的处理器、逻辑单元、或中央处理单元(CPU)430;用于发送数据的发射器单元(Tx)440和出口端口450(或输出端口450);以及用于存储数据的存储器460。视频编解码设备400还可以包括耦合到入口端口410、接收器单元420、发射器单元440、以及出口端口450的光电(optical-to-electrical,OE)部件和电光(electrical-to-optical,EO)部件,这些部件用于光信号或电信号的输入或输出。在一些示例中,视频编解码设备400可以包括任何种类的有线或无线发射器和/或接收器。
图4所示的处理器430是处理电路的一个示例,并且可以通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,作为多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specificintegrated circuit,ASIC)、以及数字信号处理器(digital signal processor,DSP)。处理器与入口端口410、接收器单元420、发射器单元440、出口端口450、以及存储器460通信。处理器430包括编解码模块470。编解码模块470实现上述公开的实施例。例如,编解码模块470实现、处理、准备、或提供各种编解码操作。因此,将编解码模块470包括在内为视频编解码设备400的功能提供了实质性的改进,并且实现了视频编解码设备400到不同状态的转换。替代地,编解码模块470被实现为存储在存储器460中并且由处理器430执行的指令。
存储器460包括一个或多个磁盘、磁带驱动器、和固态驱动器,并且可以用作溢出数据存储设备,以在程序被选择执行时存储这些程序,并存储在程序执行期间读取的指令和数据。存储器460可以是易失性的和/或非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、三态内容可寻址存储器(ternary content-addressable memory,TCAM)、和/或静态随机存取存储器(staticrandom-access memory,SRAM)。
在图像处理中,对单个样本的滤波可以根据通用滤波方程来描述:
即,在坐标(i,j)处的滤波后样本值R′(i,j)是通过滤波前图像样本R(i,j)与内核f(卷积内核、滤波器内核、卷积矩阵、掩膜(mask)等)的卷积来获得的。小矩阵f的各个条目f(k,l)也称为滤波系数。
图7A示出了滤波器内核的一个示例。在该示例中,C20是内核的中心坐标(k=0,l=0),并且滤波器内核围绕中心对称,但一般来说可能不是这样。
上式中的求和遍历A中的所有索引对(k,l)。这里,A是索引对的集(集合),并且对应于相应内核的形状,或等效地,对应于相应自适应滤波器的形状(“滤波器形状”)。为简单起见,对应于集A的滤波器形状将表示为滤波器形状A。此外,如果(k,l)∈A,则滤波系数f(k,l)被称为在“滤波器形状A”中或在“支持区域A”中(在后文描述)。
图像处理领域的另一重要术语是滤波器支持区域(或滤波支持区域,或仅支持区域),该术语描述了在滤波过程中使用/访问(或可能使用)的在待滤波样本周围的局部样本区域。
如果仅使用单个自适应滤波器或使用具有相同滤波器形状的多个自适应滤波器,则支持区域对应于上述一个或多个自适应滤波器的滤波器形状所需的样本。例如,如果在位置(i,j)处的样本待被滤波,并且如果存在一个滤波器形状A,则支持区域包含样本R(i+k,j+l),其中(k,l)∈A。
如果使用具有不同相应滤波器形状的一个以上的滤波器,则支持区域描述了所有所需样本的叠加。在实施方式中,滤波器支持区域还可以对应于存储在缓冲区中用于执行滤波的样本。例如,如果在位置(i,j)处的样本待被滤波,并且如果存在两个滤波器形状A和B,则支持区域包含样本R(i+k,j+l),其中(k,l)∈A∪B(并集)。
注意,根据以上定义,支持区域被定义为相对于中心坐标(i,j)的样本R(i+k,j+l)的集合。然而,从上述通用滤波方程可见,对于支持区域中的每个图像样本R(i+k,j+l),自适应滤波器可以具有对应的滤波系数f(k,l),该滤波系数f(k,l)将与上述图像样本R(i+k,j+l)相乘以获得滤波图像样本R′(i,j)。同样,对于每个滤波系数f(k,l),支持区域中存在对应的图像样本R(i+k,j+l),该图像样本与上述滤波系数f(k,l)相乘以获得滤波图像样本R′(i,j)。
也就是说,对于支持区域,存在系数域中的对应区域,该区域是用于对图像样本进行滤波的自适应滤波器的所有滤波器形状的叠加(上述求和中可能出现在滤波过程中的索引对(k,l),取决于用于相应图像样本的自适应滤波器)。在下文中,为简单起见,术语“支持区域”将用于样本域中的区域或系数域中的对应区域。
在现有技术JCTVC-G1103,高效视频编码(high efficiency video coding,HEVC)文本规范工作草案5第8.6.3.4章的“亮度样本的滤波过程”中,对于每个图像帧,1个标志位指示了图7B和图7C中所示的两个不同滤波器形状中的哪个滤波器形状将用于对图像进行滤波。可见,每个滤波器形状具有17个滤波系数。在另一方面,滤波支持区域(2个滤波器的叠加)具有25个滤波系数。这里的主要目的是使滤波器适应于图像内容(例如边缘方向)以便提高编码效率。
以上操作一般对图像/图像帧中的多个样本执行,或甚至对图像的每个样本执行。换句话说,执行空间域(spatial domain)中内核与图像的卷积。然而,滤波还可以在空间频率域(spatial frequency domain)中执行。
特别地,如图5和图6所示,本公开涉及自适应滤波过程(使用自适应滤波器的滤波)。这里,术语“自适应”表示在滤波操作中待使用的滤波系数是在编码器中自适应确定并用信号通知解码器的。可以执行这种自适应,以使得使用维纳自适应滤波器最小化原始样本和解码/重建样本之间的均方误差。然而,本公开不限于此,并且可以以任何其他方式执行自适应。一般而言,滤波器可以是一维或二维的,具有可分离内核或不可分离内核,是线性或非线性。
一般地,对于一个视频序列的处理,可以对视频样本应用具有不同滤波系数的多个滤波器,以实现更好的压缩效率。这意味着就最通常的意义而言,可以使用2个不同的滤波器对视频中的2个样本(位于同一图像中或不同图像中)进行滤波。
在本公开中,术语“像素”、“图像样本”、“样本”等可以互换使用。
图6示出了三个不同的滤波器用于对先前编码阶段的重建图像610(例如由重建块115或215形成)的像素进行滤波650(例如通过环路滤波器120或220)的实例。首先,重建图像610的像素/样本通过像素分类器620被分类成像素/样本组。同一组中的所有像素/样本将通过同一滤波器进行滤波650。用于自适应滤波的像素/样本的分类可以取决于以下中的一个或多个:
-图像中的位置(左上象限等),
-测量局部样本值中的变化的活动度量,
-颜色信息通道(亮度通道vs.色度通道),
-局部边缘方向和/或相对于该边缘的样本位置,
-样本的强度值,
-局部窗口内的样本排序(比待滤波样本小的相邻样本的数量)等。
一般来说,在任何情况下,实施例和说明书提及位、滤波系数、像素、样本、图像样本、零系数图、自适应滤波器、组、滤波器组、或乘法/加法运算的数量,术语“数量”表示“的”之前指示的物体的“量”、“计数”、“数目”、“总数”、或“总计数量”。特别地,该数量可以对应于正整数。
图5所示的流程图示出了图像处理中的自适应滤波过程的重要步骤。然而,图5中所示的大部分图像处理步骤在图1和图2中具有对应的步骤,已经对这些步骤进行了解释。因此,省略了对这些步骤的详尽描述。特别地,帧内/帧间预测步骤510对应于帧间预测步骤144、帧内预测步骤154、以及模式选择步骤162。同样,帧内/帧间预测步骤515对应于帧间预测步骤244、帧内预测步骤254、以及模式选择步骤262。反变换520和反变换525分别对应于反变换112和反变换212。此外,重建图像530和重建图像535分别对应于重建块115和重建块215。熵编码560和熵解码580分别对应于熵编码170和熵解码204。编码图像数据570对应于编码图像数据171。重建图像530的滤波550和重建图像535的滤波555分别对应于环路滤波器步骤120和220。
一个图像帧中的像素/样本可以被分类为第一组,而第二帧中的像素/样本可以被分类为第二组。换句话说,来自不同图像的一些样本可以属于各个不同的组。然而,由于视频序列的相邻图像通常是相似的,所以使来自不同图像的一些样本属于同一组可能是有利的。另一方面,一个视频图像可以包括具有不同的时间和/或空间特征的区域(例如前景/背景或平滑/边缘),从而一个视频图像的像素/样本可以被分配给不同的组。
在编码器侧,在像素分类之后,通过最小化误差的预期值来估计(图5中的步骤540;图6中的步骤631、632、633)每个滤波器(或等效地,每个像素组)的滤波系数545,误差是原始图像中的像素的样本值O(i,j)与对重建图像610进行滤波555、650之后的像素的样本值R(i,j)之间的差:
对于一组滤波系数f(k,l),误差的预期值可以通过考虑待使用同一自适应滤波器进行滤波650的所有像素(即,同一像素组中的所有像素)来确定。然后,相对于滤波系数执行优化/最小化。换句话说,确定滤波系数,使得以上表达式最小化。由于该过程需要原始图像,所以需要对滤波系数进行熵编码560并通过信号将其显式通知640给解码器。特别地,如下将详细描述地,可以通过信号将滤波器内核(其包括滤波系数545)以及滤波器支持区域通知640给解码器。
相应地,在解码器侧,将从位流中解析每个滤波器(或等效地,每个像素组)的滤波系数545。
然而,还可以通过另一优化方法或成本函数(例如率-失真或率-失真-复杂度)来确定自适应滤波器。
例如,自适应滤波器可以是自适应环路滤波器(adaptive loop filter,ALF),ALF可以位于每个图像的最后一个处理阶段,并且可以视为捕获和修复先前阶段的伪影的工具。也就是说,如果将滤波后的图像用作后续图像帧进行运动补偿预测的参考图像,则该过程称为自适应“环路”滤波器,表示滤波是在编码/解码环路中应用的。这里,术语“环路”指的是滤波图像被存储并用作时间(运动)预测的参考图像。
可替代地,自适应滤波器可以是后置滤波器或前置滤波器。后置滤波器应用于重建图像,但该滤波后的图像仅进行显示而不是进一步用于编码或解码。
滤波主要存在两个问题。一方面,滤波一个样本的乘法和加法运算的数量相当高。例如,如果使用图7A所示的滤波器内核,则从上述通用滤波方程可见,为了处理1个图像样本,需要进行41次乘法和40次加法。另外,用信号通知41个滤波系数引入了辅助信息(sideinformation)开销。
根据实施例,提供了一种用于将图像样本编码到位流中的装置。该装置包括处理电路,该处理电路用于确定包括多个位的零系数图,其中,每个位指示了对于自适应滤波器,相应的(支持区域的)滤波系数是否要包括在位流中。处理电路还用于将以下包括在位流中:零系数图的指示,接着是由零系数图指示为要包括在位流中的自适应滤波器的至少一个滤波系数。
通常,如果零系数图中包括的一个位指示对于某个自适应滤波器,相应滤波系数将不包括在位流中,则该相应滤波系数不包括在位流中。
通常,这可以通过相应滤波系数被设为零的方式来解释。然而,根据通用滤波方程:
与被设为零的滤波系数f(k,l)=0对应的求和项对滤波没有贡献,因此,对应的索引对(k,l)可以从索引集合A中移除,而不改变通用滤波方程的左手侧,即,不改变滤波过程的输出。换句话说,可以建立新的集合A′=A\(k,l),其包括集合A中除所述索引对(k,l)之外的所有索引对,并且新的集合A′可以视为定义了新的滤波器形状A′。
相应地,如果零系数图指示对于某个自适应滤波器,某个滤波系数将不包括在位流中,则可以认为该滤波系数不是要应用于视频图像样本的自适应滤波器的一部分。这可以实现高效的实施方式,其中,被指示为将不包括在位流中的滤波系数不会输入到滤波操作,从而可以跳过滤波过程期间的某些乘法和加法运算。换句话说,这可以解释为,零系数图定义了一种滤波器形状,该滤波器形状不包括那些不包括在位流中的滤波系数(例如,这些系数不属于具有所述滤波器形状的自适应滤波器)。这并不一定意味着以这种方式定义的自适应滤波器的滤波系数(在滤波器形状中)不能为零。
在本公开中,零系数图中的一个位指示滤波器支持区域的相应系数将不通过信号通知,等同于该位指示对于(通过/使用该零系数图配置的)自适应滤波器,该相应系数将被设为零(或不能为非零),并且,相应地,该相应系数不在该自适应滤波器的滤波器形状中。注意,自适应滤波器的不在该自适应滤波器的滤波器形状中并且被设为零的系数在支持区域中被设为零。
然而,从以上讨论中可以理解,本发明不限于此。例如,如果零系数图中的位指示将不通过信号通知滤波器支持区域的相应系数,则i)该相应滤波系数可以在自适应滤波器的滤波器形状中并被设为零,或可替代地,ii)该相应滤波系数可以不在该自适应滤波器的滤波器形状中并不被设为零。
通常,“通过信号通知(signaled)”以及“包括在位流中”可以互换使用。
上述装置可以对应于上述图1中的编码器模块100,并且可以实施为芯片或相机、计算机、或任何计算设备(的一部分),例如智能手机、平板电脑、或任何智能设备(例如智能手表等)。
现在将参考图7D至图7F描述零系数图(或位图)的通用方面。特别地,图7D示出了滤波器支持区域740、中心系数745、以及扫描顺序741;图7E示出了零系数图750;图7F示出了与零系数图750对应的得到的滤波器形状760。
在本示例中,零系数图750由下面一行中的位序列给出。位的数量为13,即支持区域740中的系数的数量。零系数图750的上面一行示出了支持区域中对于每个位的相应滤波系数,该行仅出于说明目的而展示。
通常,零系数图中的术语“图(map)”可以仅表示(一维)位序列。零系数图可以具有与滤波器支持区域中的滤波系数的数量对应的位数量(长度)。于是,零系数图可以指示(或指定,例如包括单个指示)对于支持区域中的每个滤波系数,相应滤波系数是被设为零(因此不需要包括在位流中)还是将包括在针对自适应滤波器的位流中。自此,将应用零系数图中包括的指示(例如,相应滤波系数是否将包括在位流中的相应位的指示)的这种自适应滤波器表示为使用零系数图的自适应滤波器。
在本示例中,图7D所示的表格中的下面一行对应于零系数图750中包括的多个位,每个位指示对于使用该零系数图的自适应滤波器,滤波器支持区域的相应滤波系数是要包括在位流中还是被设为零(在支持区域中)。在该示例中,一个位为“0”(零系数图750的下面一行中的零)意味着对应系数不能为非零,而“1”意味着对应滤波系数将在位流中通过信号通知。这里,通过信号通知或包括在位流中意味着滤波系数的值的指示包括在位流中。替代实施例可以以相反方式使用“0”和“1”。
一般地,位图中包括的多个位中的一个位为零可以指示对于使用该位图的自适应滤波器,相应滤波系数设置为零(该滤波系数对应于该位),并且多个位中的一个位为1可以指示相应滤波系数将包括在位流中(或反之亦然)。注意,在本公开中,“零”、“为零”、“被设为零”、“必须为零”、“将被设为零”以及相似的表述可以互相替换。
在本示例中,如上所述,由于零系数图750的上面一行已经可以从位序列(顺序)中导出,所以该行仅出于说明目的而示出。上面一行与图7D中的标记“C1,…,C13”一起确定了各个位与支持区域740的滤波系数之间的关联,或者,换句话说,上述标记和上面一行的组合确定了哪些滤波系数是下面一行中的位的相应滤波系数。注意,由标记“C1,…,C13”(以及箭头)指示的扫描顺序741(在以下描述)不是支持区域740的一部分,支持区域740是滤波系数的无序集合。
因此,零系数图750中的每个位对应于滤波器支持区域740中的相应滤波系数。即,如零系数图的上面一行中在第一位正上方的“C1”所指示的,零系数图的第一位对应于支持区域中标记为C1的滤波系数,根据对应的标记,该滤波系数是在支持区域740的中心系数745(标记为C7)上面两行的滤波系数。同样地,可以确定零系数图的第三位对应于标记为C3的滤波系数,该滤波系数是中心系数745上面一行的滤波系数。
在该示例中,第一位被设为零,指示了对于使用该位图的自适应滤波器,支持区域中的相应滤波系数将被设为零。另一方面,零系数图750的第三位被设为1,指示了对于使用该位图的自适应滤波器,支持区域中的相应滤波系数将包括在位流中。其他系数也相应地处理。
一般地,多个位中的每个位可以对应于(相关于、关联于、被分配给)滤波器支持区域中的单个(一个)滤波系数,并且滤波器支持区域中的每个关联的滤波系数可以对应于(相关于、关联于、被分配给)多个位中的单个(一个)位。因此,零系数图中包括的多个位中的位数量是滤波器支持区域中的滤波系数的数量。也就是说,零系数图的关联的滤波器可以是支持区域中的所有滤波系数。在这种情况下,(所有)多个位(以及位图)指示了对于零系数图中的每个/所有关联的滤波系数,该滤波系数是要包括在位流中还是被设为零。例如,可以从位序列(顺序)中导出位和支持区域中的系数之间的关联/对应性。即,位序列可以对应于从使用扫描顺序扫描滤波器支持区域获得的系数序列(相同长度)。在本示例中,扫描顺序可以是预定义扫描顺序。可替代地,扫描顺序可以从编码器通过信号通知给解码器,或扫描顺序可以隐式地导出。
一般地,支持区域A的扫描顺序将支持区域A中的所有系数f(k,l)作为输入,并输出(系数的)序列,该序列包含支持区域A中的每个系数f(k,l)恰好一次。也就是说,支持区域中的一个系数是从扫描顺序获得的系列中的第一系数,而另一(不同的)系数是所述序列中的第二系数,以此类推。序列的长度对应于支持区域中的滤波系数的数量。
例如,如果在图7D中滤波系数f(0,-2)被标记为“C1”并且滤波系数f(0,0)被标记为“C7”(即中心系数745),则图7D中,支持区域740中由标记(以及箭头)指示的扫描顺序741对应于滤波系数的序列f(0,-2),f(-1,-1),f(0,-1),f(1,-1),f(-2,0),f(-1,0),f(0,0),f(1,0),f(2,0),f(-1,1),f(0,1),f(1,1),f(0,2)。
通常,扫描顺序可以连同滤波器支持区域一起用于为零系数图中包括的多个位中的每个位确定支持区域中的相应滤波系数(对其应用是否要包括在位流中或被设为零的指示)。换句话说,位和支持区域中的滤波系数之间的关联可以通过可以应用于支持区域的扫描顺序来确定。待用于一个、一些、或所有零系数图的扫描顺序可以是预定义的、可配置的、或由编码器确定并在位流中指示的。
通过将整个零系数图750应用于支持区域740(即,如上所述地将每个位应用于相应的对应系数),获得了滤波器形状760。换句话说,如果相关支持区域是支持区域740并且自适应滤波器使用了位图750,则滤波器形状760中与系数X1至X5对应的五个滤波系数将被发信号到/编码到用于所述滤波器的位流中。
一般地,与零系数图对应的滤波器形状可以通过从支持区域中移除被所述零系数图指示为设为零的所有滤波系数来确定。换句话说,位图的滤波器形状仅包含支持区域中被所述位图指示为包括在位流中的滤波系数,并且,对于使用所述位图的每个自适应滤波器,仅支持区域中在滤波器形状中的滤波系数被包括在位流中。也就是说,位图的滤波器形状正好包含支持区域中被所述位图指示为包括在位流中的滤波系数。有利地,根据零系数图要包括在位流中的滤波系数在所述零系数图的指示之后被包括在位流中。
提供零系数图可以实现有效的信令。特别地,零系数图的指示可以进一步地与实际系数值分开编码。即,在位流中,与零系数和非零系数有关的语法元素的组织(即顺序、序列)与现有技术不同。此外,共中心的滤波器形状不适合某些内容(例如具有强边缘方向性的内容,这种情况下细长滤波器更适合)。因此,本发明允许更精确的滤波器形状选择。相对于如今的视频分辨率和比特率,需要传达的附加辅助信息可以忽略不计。
确定位图可以包括为支持区域中的每个滤波系数确定该相应滤波系数是被设为零还是要包括在位流中,这对应于确定多个位。例如,可以基于局部边缘方向确定滤波器的形状。边缘方向可以用于确定自适应滤波器的形状/位图。位图中的滤波系数可以通过最小化原始样本和解码样本之间的误差来确定。
通常,零系数图仅标识(支持区域的)为零的一些(不一定全部)滤波系数。即,根据位图被设为零的(支持区域的)系数不能是非零的,而被指示为要包括在位流中的系数一般可以是零或非零。换句话说,位流中包括的滤波系数的指示可以指示所述滤波系数为零。换句话说,零系数图中包括的多个位中的每个位可以指示对于使用所述零系数图的自适应滤波器(对其应用零系数图的滤波器),对应滤波系数是要包括在位流中还是被设为零。
然而,根据一些实施例,如果多个位中的一个位指示相应系数要包括在位流中,则该系数不能为零。
这些实施例不允许各个自适应滤波器中的任何滤波系数为零。换句话说,位流中包括的滤波系数的指示必须不能指示所述滤波系数为零。从而,由于零系数图指示了哪些滤波系数是非零的(即,要在位流中通过信号通知的滤波系数),所以零系数图可以视为非零系数图。换句话说,在一些实施例中,如果自适应滤波器使用了零系数图,则仅被所述零系数图设为零的滤波系数可以为零,而未被零系数图设为零的滤波系数不能为零。
然后,对滤波系数进行编码,使得不向系数值“0”(零)分配任何码字。因此,如果自适应滤波器使用特定零系数图,则仅(支持区域中的)被零系数指示为设为零的滤波系数可以取值为零。被零系数指示为要包括在位流中的任何滤波系数不能为零。换句话说,零系数图中包括的多个位中的每个位可以指示对于使用所述零系数图的自适应滤波器(对其应用零系数图的滤波器),对应滤波系数是否被设为零。在这种情况下,自适应滤波器的滤波系数(例如自适应滤波器的滤波器形状中的滤波系数)不能为零。
因为零系数图指示了使用零系数图的自适应滤波器的哪些(全部)系数为零,所以不必用信号发送滤波系数值“0”。结果,非零值的码字变得更短。这将基于以下表1和表2进行说明,表1和表2示出了在将滤波系数包括到位流中时可以使用的二值化。
表1:可以为零的滤波系数的示例性编码
表1示出了根据“0阶指数哥伦布编码(Exp-Golomb code)”的滤波系数值的二值化,以示例说明k阶Exp-Golomb,其可以用于对可以为零的滤波系数进行编码。特别地,对每个系数值编码的第一位指示该相应值是否为零。
这种二值化可以用于本发明实施例,其中,被指示为要包括在位流中的滤波系数可以为零。在这种情况下,不需要使用以上表1中的“零”的二值化用信号通知被零系数图指示为设为零的滤波系数。仅被指示为要包括在位流中的滤波系数可以使用以上二值化。特别地,仅被指示为要包括在位流中并且为零的滤波系数可以使用表1中的“零”的二值化。
表2:不能为零的滤波系数的示例性编码
表2示出了可以用于本发明实施例的二值化,其中包括在位流中的滤波系数的系数值不能为零。对于使用零系数图的自适应滤波器,仅支持区域中被该零系数图指示为设为零的滤波系数可以为零;这些滤波系数不包括在用于该自适应滤波器的位流中。因此,在表2的二值化中,不将任何码字分配给零。因此,由于不需要现有技术码字中的第一位(指示该值是否为零),所以用于非零系数值的码字变得更短。由此,可以降低滤波系数信令开销。
为了清楚和简洁起见,自此假设通过信号显式通知的滤波系数(由零系数图指示为要包括在位流中的滤波系数)不能为零。然而,本发明不限于此,一般而言,包括在位流中的滤波系数可以为零。
根据一些实施例,零系数图与包括上述自适应滤波器的多个自适应滤波器中的每个自适应滤波器关联;多个位中的每个位指示对于多个自适应滤波器中的每个自适应滤波器,相应滤波系数是否要包括在位流中。上述处理电路还用于,在零系数图的指示之后,将与该零系数图关联的每个自适应滤波器的至少一个滤波系数包括在位流中,该至少一个滤波系数由该零系数图指示为要包括在该位流中。
根据一些实施例,上述处理电路还用于将哪些自适应滤波系数与零系数图关联的指示包括在位流中。
通常,零系数图可以由一个或多个自适应滤波器使用(即应用至一个或多个自适应滤波器)。然而,有利地,每个自适应滤波器仅使用单个(一个)零系数图。
在本公开中,在以下情况下,多个自适应滤波器表示为特定零系数图的滤波器组(或仅是组):
·所述多个自适应滤波器中包括使用该零系数图的所有自适应滤波器(等效地,所述多个自适应滤波器中包括该零系数图所应用至的所有自适应滤波器)。
·所述多个自适应滤波器中的所有自适应滤波器使用该零系数图(等效地,该零系数图应用至所述多个自适应滤波器中的所有自适应滤波器)。
因此,在上面的实施例中,上述多个自适应滤波器是该零系数图的滤波器组。
在下文中,参考图11给出具体示例。虽然图11是指解码器角度,但这里讨论的通用方面适用于编码器角度以及解码器角度。此外,这里讨论的通用方面也适用于其中使用或用信号通知一个以上的组或位图的情况。
根据图11所示的流程图,解码器首先解析1110滤波器分组信息1115,该信息指示滤波器组1中有两个滤波器f_A1161和f_B 1162。在本示例中,如果解码器可以推断出只有一个零系数图,则滤波器分组信息1115可以仅是自适应滤波器数量(这里f_filters=2)的指示。然后,解码器可以推断这些自适应滤波器与该零系数图关联。
在本公开中,关于哪些自适应滤波器与一个或多个零系数图关联的信息也表示为滤波器分组信息或关于自适应滤波器分组的信息。通常,该信息可以是可以用于缩小或确定一个或多个滤波器组中的自适应滤波器的数量、与零系数图关联的自适应滤波器的数量、或特定自适应滤波器的滤波器组的任何信息。特别地,该信息可以是关于零系数图的数量、自适应滤波器的总数、特定(单个)滤波器组中的自适应滤波器的数量、或滤波器组子集(例如两个或多个滤波器组的并集中的子集)中的自适应滤波器的数量的信息。可替代地,对于每个(或一些)自适应滤波器,可以通过信号通知由相应自适应滤波器使用的零系数图的单个指示(例如零系数图索引)以指示分组。
一般地,当应用于某个图像帧的所有自适应滤波器被视为属于单个组时(这可以是预定义的、推断的、可配置的、或在位流中指示的),可以推断所有自适应滤波器都与同一零系数图关联。也就是说,在这种情况下,可以针对每个图像帧发信号通知一个零系数图,并且可以推断所有自适应滤波器都在所述零系数图的滤波器组中。因此,为了指示相关的滤波器分组信息,仅发送自适应滤波器的总数就已经足够。
由于解码器知道滤波器支持区域740,所以解码器可以推断存在用信号发送的13个位以指示滤波器组1的零系数图1125。
注意,一般地(参见以下),可以使用与支持区域中的自适应滤波器数量不同的位数量来通过信号通知零系数图。一般来说,用于发信号通知零系数图的位数量可以从支持区域中导出。
在解析1120零系数图1125(即,所述13个位)之后,解码器可以推断,对于对应滤波器组中的每个自适应滤波器,有5个滤波系数要包括在位流中,即C3、C6、C7、C8、C11。
因此,对于滤波器f_A1161和f_B 1162中的每个滤波器,编码器可以在位流中包括5个系数1135,因此,对于每个自适应滤波器,解码器从位流中解析1130出5个系数1135(因此,这里总共10个滤波系数)。这里,解析5个系数的顺序可以对应于零系数图中相应位的顺序(C3、C6、C7、C8、C11)。
一般地,零系数图指示了对于其滤波器组中的每个自适应滤波器,待包括的(因此在解码器侧待解码的)滤波系数的数量。这些滤波系数在位流中的顺序可以基于零系数图中包括的对应位的顺序。
假设解码器知道图11中指示的支持区域740的扫描顺序741,则解码器现在具有重建1140自适应滤波器f_A1161和f_B 1162所需的所有信息,从而通过对重建图像1155进行滤波1150以使用这些滤波器。
从图11可见,得到的两个滤波器f_A1161和f_B 1162具有相同的滤波器形状(即,对于两个滤波器,支持区域的相同滤波系数为零),该形状是根据位图1125、支持区域740、以及指示的扫描顺序确定的。然而,对于两个滤波器f_A 1161和f_B 1162,位流中可能包括不同的滤波系数。也就是说,滤波器f_A 1161具有滤波系数f_A1、f_A2、f_A3、f_A4、f_A5,而滤波器f_B 1162具有滤波系数f_B1、f_B2、f_B3、f_B4、f_B5。虽然两个滤波器f_A 1161和f_B 1162中与所述滤波器形状中的同一滤波系数对应或与支持区域740中的同一滤波系数对应的滤波系数一般可以是不同的,但是不一定所有对应的滤波系数都是不同的。一些滤波系数可以相同(例如,f_A1=f_B1)。
通常,同一滤波器组中的所有滤波器具有相同的滤波器形状,该形状由对应的零系数图、支持区域、以及扫描顺序确定。可以通过从支持区域中移除被所述零系数图指示为设为零的所有滤波系数来确定所述相同滤波器形状。换句话说,位图的滤波器形状仅包含支持区域中由所述位图指示为要包括在位流中的滤波系数,并且,对于使用所述位图的每个自适应滤波器,仅支持区域中位于滤波器形状中的滤波系数被包括在位流中。也就是说,位图的滤波器形状恰好包含支持区域中被所述位图指示为包括在位流中的滤波系数。有利地,在所述零系数图的指示之后,根据零系数图要包括在位流中的滤波系数被包括在位流中。
通常,对于每个自适应滤波器,“非零”滤波系数(被零系数图指示为要包括在位流中的滤波系数)的单个指示被包括在位流中。由于对于同一滤波器组的各个自适应滤波器,该指示可以不同,故同一滤波器组的各个自适应滤波器可以具有不同的滤波系数。特别地,两个不同自适应滤波器中与所述滤波器形状中的同一滤波系数对应或与支持区域中的同一滤波系数对应的滤波系数可以(但不一定)不同。
通常,滤波器组可以包含一个或多个滤波器。如果滤波器组中存在一个以上的滤波器,则对应的零系数图适用于该滤波器组中的所有自适应滤波器。换句话说,滤波器组中的所有自适应滤波器的滤波系数是根据零系数图设置的。首先,这意味着同一滤波器组中的所有自适应滤波器具有相同数量的“非零”滤波系数以及尤其是相同的滤波器形状,该滤波器形状此后表示为与组(或零系数图)关联或对应的滤波器形状;或关联的或对应的滤波器形状。其次,这意味着,同一滤波器组中的所有自适应滤波器具有相同数量的要包括在位流中的滤波系数。然而,这些滤波系数可以具有同一组中不同自适应滤波器的不同值。特别地,对于滤波器形状中的每个滤波系数,位流中包括了针对滤波器组中的每个自适应滤波器的滤波系数的指示(例如滤波系数值)。该指示指示了相应自适应滤波器(并且仅该相应自适应滤波器)的滤波系数的值。
因此,一般地,对于每个零系数图,位流中包括的滤波系数的数量可以是“所述零系数图的组中的自适应滤波器的数量”乘以“关联形状中的滤波系数的数量”。针对相同滤波器组滤波器形状的不同自适应滤波器发信号通知的滤波系数可以不同或相同。特别地,同一组的不同自适应滤波器中针对滤波器形状中的同一滤波系数发信号通知的滤波系数可以不同或相同。
根据一些实施例,零系数图是多个零系数图之一,该多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,所述一个或多个自适应滤波器中的每个滤波器与单个零系数图关联。上述处理电路还用于确定多个零系数图中的每个零系数图;以及将以下包括在位流中:上述多个零系数图中的零系数图的数量的指示,接着是对于上述多个零系数图中的每个零系数图:
·相应零系数图的指示,接着是
·与相应零系数图关联的一个或多个自适应滤波器的至少一个滤波系数,其中该至少一个滤波系数由相应零系数图指示为要包括在位流中。
根据一些实施例,上述处理电路还用于将以下包括在位流中:
·与多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是
·对于与多个零系数图中的一个零系数图关联的每个自适应滤波器,哪个零系数图与该相应自适应滤波器关联的指示。
一般地,可以确定(以及使用、发信号通知、和解析等)单个零系数图以对一个或多个图像帧的像素进行滤波。相应地,所有自适应滤波器(例如,应用于给定图像帧的所有自适应滤波器)可以使用同一零系数图,并且所有自适应滤波器可以在同一滤波器组中。可替代地,可以确定多个零系数图。相应地,一些零系数图可以由多个自适应滤波器使用,而其他零系数图可以由单个自适应滤波器使用。因此,一些滤波器组中可以有多个自适应滤波器,而其他组中可以仅有单个自适应滤波器。可替代地,可以为每个自适应滤波器确定不同的零系数图。相应地,每个自适应滤波器可以使用不同的零系数图,并且每个滤波器组中可以仅有单个自适应滤波器。
通常,每个零系数图应用于(例如,由其使用、用于、与其关联)其滤波器组中的所有自适应滤波器,并且每个滤波器组可以包括一个或多个自适应滤波器。同一滤波器组中的所有自适应滤波器都与同一零系数图关联(使用该零系数图)。
通常,哪个零系数图与相应自适应滤波器关联的指示指示了零系数图中的哪个零系数图与该相应自适应滤波器关联(例如应用于、用于该滤波器)。
通常,每个零系数图可以包括相同数量的位,每个位指示对于使用相应零系数图的自适应滤波器,相应滤波系数是否要包括在位流中。位的所述数量可以对应于支持区域中的滤波系数的数量。零系数图指示了支持区域中对于其滤波器组中的所有自适应滤波器都为零的滤波系数。在滤波器组的各个滤波器中,可能存在额外的“零”滤波系数。换句话说,在该组的滤波器形状中的滤波系数在各个滤波器中可以为零。因此,同一滤波器组中的自适应滤波器具有相同的滤波器形状,该形状由零系数图确定。对于滤波器组中的每个自适应滤波器,自适应滤波器的在滤波器形状中的(如零系数图所指示的)滤波系数分别包括在位流中。
接着,基于图12给出了编码器角度的示例性实施方式。从图12可见,编码器可以执行以下步骤:
在所示示例中,首先,编码器将由自适应滤波器用于对图像样本进行滤波的不同零系数图的数量N_maps=2包括1210在位流中。接下来,编码器将零系数图1221的指示和零系数图1222的指示包括1220在位流中。
一般地,编码器可以将由自适应滤波器用于对图像样本(例如块、图像、图像、帧等的图像样本)进行滤波的不同零系数图的数量的指示包括在位流中。即,滤波器组的数量的指示可以包括在位流中。编码器还可以将每个所述不同零系数图的指示包括在位流中。零系数图的指示可以是语法元素,该语法元素标识了滤波器支持区域中的哪些滤波系数不能为非零。在包括位图的数量的指示之后,将每个位图的指示包括在位流中可以是有利的。
一般地,可以隐式地发信号通知位图中的非零系数的数量以及位图的图ID,这在图12中示出。因此,这些信息不需要包括在位流中。位图的图ID可以是图索引,即可以用于标识位图的数字或任何语法元素。更具体地,在解码器侧,通过计算指示相应滤波系数要包括在位流中的位的数量,可以推断出非零系数的数量(在本示例中,这对于位图1221得到5,对于位图1222得到8)。此外,基于位流中所述位图的指示相对于其他位置的指示的相对位置,可以确定/通过信号指示位图的图ID。(在本示例中,可以首先指示位图1221,该位图对应于图ID 0,然后指示位图1221,该位图对应于图ID 1)。
在本示例中,第三,将自适应滤波器的总数N_filters=3(此后表示为f_a、f_b、f_c)包括1230在位流中;以及,第四,对于每个自适应滤波器,将由该自适应滤波器使用的位图的图ID的指示包括1240在位流中。
一般地,用于对图像样本(例如,块、图像、图像、帧等的图像样本)进行滤波的(所有滤波器组中的)所有自适应滤波器的数量可以包括在位流中。
一般地,编码器还可以将以下包括在位流中:对于每个自适应滤波器,哪个位图由该自适应滤波器使用(与之关联)的指示。该指示可以指示相应位图的图ID。可替代地或另外地,尤其是存在多于一个零系数图时,该指示可以指示分组。
有利地,在包括了自适应滤波器的数量的指示之后,可以将这些“图ID”指示包括在位流中,这可以允许解码器确定待解析的图ID的数量。另外,有利地,在包括了位图的数量的指示之后,可以将“图ID”指示包括在位流中,这可以允许使用较少的位指示图ID(例如,在本示例中,可以使用一个位指示图ID。然而,如果在图ID之后包括信息“N_maps=2”,并且如果预先知道最多可能有4个位图,则必须使用2个位指示图ID)。
第五,在本示例中,对于每个自适应滤波器,可以将非零滤波系数包括1250在位流中。特别地,对于滤波器f_a,可以包括5个滤波系数,对于滤波器f_b,可以包括5个滤波系数,对于滤波器f_c,可以包括8个滤波系数。因此,在本示例中,共有18个滤波系数要包括在位流中。不会为“0”系数值分配任何码字。
一般地,对于使用位图的每个自适应滤波器,编码器还可以将多个滤波系数包括在位流中,滤波系数的数量对应于由相应位图指示为要包括在位流中的滤波系数的数量。每个自适应滤波器的各个滤波系数被包括进位流中的顺序(相对位置)可以基于支持区域的扫描顺序(例如,通过省略设为零的滤波系数)。
有利地,在使用零系数图的自适应滤波器的滤波系数之前,包括该零系数图(到位流中)。即,首先发信号通知零系数图,然后发信号通知对应滤波器组中的自适应滤波器的滤波系数(但不一定紧接其之后)。然而,在位流中,滤波系数不一定紧随零系数图之后。在零系数图和滤波系数之间可以***其他语法元素(例如,另一零系数图或另一零系数图的滤波系数)。
第六,在本示例中,可以构造自适应滤波器f_a 1201、f_b 1202、f_c 1203。特别地,以如图7详细所述的相同方式使用扫描顺序741将零系数图1221和1211应用至支持区域740,以便分别获得第一滤波器形状和第二滤波器形状。为了获得自适应滤波器f_a 1201、f_b 1202、f_c 1203,f_a和f_b的滤波系数被***第一滤波器形状,而f_c的滤波系数被***第二滤波器形状。
一般地,使用位图的自适应滤波器可以通过将位流中包括的滤波系数***与该位图对应的滤波器形状中来获得,即,对于所述滤波器形状中的每个滤波系数,通过使用位流中包括的对应值(滤波系数),可以获得自适应滤波器。
基于位流中的滤波系数的顺序(相对位置)和/或支持区域的扫描顺序(或所述滤波器形状的扫描顺序),可以确定对于自适应滤波器,位流中包括的滤波系数中的哪个滤波系数待用于所述滤波器形状中的哪个滤波系数。
本发明允许联合地发信号通知多个自适应滤波器的零滤波系数,其中,该多个自适应滤波器通过使用一个零系数图被分组在同一滤波器组中。以此方式,可以降低发送零滤波系数的信令开销。此外,具有零值的滤波系数的数量增加(由于更有利的系数编码)。因此,平均解码时间减少。
根据一些实施例,对于每个位,零系数图的指示可以包括对应的标志位。
根据一些实施例,位流中包括的零系数图的指示包括正整数N,N指示i)由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数要包括在位流中,以及ii)该序列中的其余滤波系数被设为零(在支持区域中)。
另外,根据一些实施例,位流中包括的零系数图的指示还包括语法元素,该语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是上述预定义滤波器扫描顺序。
根据一些实施例,位流中包括的零系数图的指示包括索引,该索引指示多个预定义零系数图中的哪个预定义零系数图是上述零系数图。
在下文中,对于发信号通知零系数图的上述四种可能性中的每种可能性,参考图8A至图8D的明确示例讨论明确实施方式。在所有示例中,考虑的滤波器支持区域是支持区域740,待发送的零系数图是零系数图750,并且因此得到的滤波器形状是滤波器形状760。
根据图8A所示的示例,对于滤波器支持区域740中的每个滤波系数,可以发信号通知一个标志位,该标志位指示了对于使用零系数图750或上述系数的滤波器,该系数是否被设为零。该标志位(或位)序列810对应于图8A的表格中的下面一行。换句话说,对于零系数图750中包括的多个位中的每个位,发信号通知对应的位。在该示例中,使用图7D中指示的扫描顺序741。
一般地,位流中包括的零系数图的指示可以包括用于滤波器支持区域中的每个滤波系数的一个标志位的指示。每个这样的标志位可以对应于零系数图中包括的多个位中的一个位,并且可以指示使用该零系数图的自适应滤波器的相应滤波系数是否被设为零,或某个指示是否要包括在位流中。特别地,零系数图中包括的多个位中的位可以包括在位流中,以指示位图(例如,这些位可以对应于上述标志位,反之亦然)。
根据图8B所示的示例,使用预定义滤波系数扫描顺序820,其中,靠近中心的滤波系数在远离中心的滤波系数之前排序。即,预定义滤波系数扫描顺序820(以及图8C中的预定义滤波器扫描顺序831、832、833)引用图7D的标记。特别地,根据扫描顺序820,首先扫描支持区域740中的在图7D中标记为“C7”的滤波系数,然后扫描标记为“C6”的系数,以此类推。因此,扫描顺序820对应于序列“C7”、“C6”、“C3”……而不是“默认”序列“C1”、“C2”、“C3”,默认序列对应于扫描顺序741。
在本示例中,可以通过指示前5个滤波系数为非零并且其余滤波系数全为零来发信号通知零系数图750。因此,例如,可以通过将数量N=5的指示包括在位流中来指示零系数图750。
通常,可以发信号通知数量N(或指示N的语法元素)来指示前N个滤波系数为非零并且其余滤波系数全为零(在支持区域中)。这里的前N个滤波系数是当使用给定扫描顺序扫描支持区域时的前N个滤波系数。
根据图8C的示例,定义了多个预定义滤波系数扫描顺序,即预定义扫描顺序831、预定义扫描顺序832、以及预定义扫描顺序833。注意,图8C中的相应第一列指示相应预定义扫描顺序的扫描顺序索引,并不是所述相应预定义扫描顺序的一部分(预定义扫描顺序831、832、833分别具有扫描顺序索引“0”、“1”、“2”)。
在该示例中,首先,指示预定义扫描顺序832将被使用的语法元素被包括在位流中(例如,通过指示图索引“1”)。然后,发信号通知N=5,其指示(先前指示的扫描顺序中的)前5个非零滤波系数是非零的。将指示的预定义扫描顺序832应用于支持区域740,并且将(支持区域中的)除了(获得的)前5个滤波系数以外的系数设置为零,得到直接对应于零系数图750的滤波器形状760。
通常,可以使用多个预定义滤波系数扫描顺序。在这种情况下,第一语法元素可以指示将使用哪个滤波系数来从支持区域中确定滤波系数的序列;第二语法元素可以指示要包括在位流中的滤波系数的数量N。要包括在位流中的所述N个滤波系数可以是滤波系数序列中的前N个滤波系数,该滤波系数序列是通过将由第一语法元素指示的扫描顺序应用于支持区域获得的。可替代地,第二语法元素可以指示(支持区域的)对于该零系数图的滤波器组中的所有自适应滤波器被设为零的滤波系数的数量。第一语法元素可以在第二语法元素之前被包括在位流中,或反之亦然。在第一语法元素和第二语法元素之间可以***其他语法元素。
通常,可以根据指示的扫描顺序来确定特定的哪N个系数被设为零或要包括在位流中。例如,当第二语法元素是指示N个滤波系数的指示将被包括在位流中的数量N时,可以确定前N个滤波系数(当使用指示的扫描顺序扫描支持区域时)的指示将被包括在位流中,并且其余滤波系数全为零。
根据图8D所示的示例,存在包括零系数图841、842、843的预定义零系数图的预定义表格。注意,图8D的第一列指示相应零系数图的图索引,并不是所述零系数图的一部分(零系数图841、842、843分别具有图索引“0”、“1”、“2”)。然后,通过指示零系数图841的图索引“0”,可以发信号通知零系数750。
通常,可以存在多个预定义零系数图。为了发送滤波器组的零系数图,可以使用指示预定义零系数图之一的语法元素。例如,每个预定义零系数图可以与一个索引或码字关联,该索引或码字可以由所述语法元素指示。
根据一些实施例,上述处理电路还用于确定一组图像样本,该组包括要使用同一自适应滤波器进行滤波的所有图像样本,上述确定基于为图像样本评估以下至少之一:
·图像帧的位置,
·测量局部样本值变化的活动度量,
·局部边缘信息,
·强度值,或
·比待滤波样本小的相邻样本的数量。
通常,并非图像帧中的所有像素(图像样本)都必须进行滤波。图像帧中的所有样本被分类成组(“像素组”)。如果对一个组中的像素进行滤波,则将使用同一自适应滤波器对该组中的所有像素进行滤波。因此,每个像素组具有对应的自适应滤波器和对应的零系数图。可以在对像素进行分类后确定自适应滤波器的滤波系数和零系数图。
对图像帧中的像素的分类可以依据以下标准中的一个或任何组合:i)图像帧中的像素的位置;ii)测量像素周围的区域中的变化的活动度量(例如,具有定义窗口尺寸的局部变化测量);iii)像素周围的区域中的边缘信息;iv)像素的强度值(例如,图像样本的值);以及v)像素周围的区域中具有小于该样本的强度值的像素的数量。
根据一些实施例,上述处理电路还用于将以下包括在位流中:对于某个组,待用于对该组中的图像样本进行滤波的对应自适应滤波器的指示。
根据一些实施例,上述处理电路还用于使用自适应滤波器对图像样本进行滤波,该自适应滤波器具有被编码到位流中的至少一个滤波系数。
通常,如果自适应滤波器使用零系数图,则该自适应滤波器中被该零系数图指示为设为零的滤波系数在支持区域中被设为零。对于该自适应滤波器的其余滤波系数(这些系数为被零系数图指示为要包括在位流中的滤波系数),使用包括在用于该自适应滤波器和该滤波系数的位流中的相应滤波系数(即,值)。以上全部均适用于编码器侧以及解码器侧。
通常,自适应滤波器随后可以用于对图像样本进行滤波。特别地,如上所述,通过向通用滤波方程***自适应滤波器的系数值以及对应的像素值,可以从通用滤波方程获得对应的滤波图像样本。
例如,实施例提供了用于从位流中解码图像样本的装置,该装置包括处理电路,该处理电路用于:从位流中提取零系数图的指示;根据该指示确定包括多个位的零系数图,其中,每个位指示对于自适应滤波器,是否从位流中提取相应的滤波系数;以及从位流中提取由该零系数图指示为要从位流中提取的至少一个滤波系数。
现将参考图9和图10描述对应方法,图9和图10分别从编码器角度和解码器角度示出了滤波器分组的示例性流程图。在编码器侧(图9),执行以下步骤:
首先,如上所述,像素分类器910对重建图像900以及重建图像905中的像素进行分类。在所示示例中,这些像素被分类成三个像素组(或组),并且相应地,三个不同的自适应滤波器将用于对重建图像900和重建图像905进行滤波。
接着,估计待用于对重建图像900和重建图像905中的像素进行滤波的自适应滤波器的滤波器参数(例如,支持区域中的零和非零滤波系数)。在本示例中,存在三个自适应滤波器,分别在步骤921、922、923中估计这三个自适应滤波器的滤波系数。
通常,例如,可以通过自适应维纳滤波器生成滤波系数(例如,通过最小化如上所述的一些函数的期望值)。
使用滤波器参数估计的结果,对自适应滤波器进行分组,即,确定三个自适应滤波器的滤波器分组930。在本示例中,确定了三个自适应滤波器在同一组。
通常,可以确定一个或多个组。例如,具有相同滤波器形状的所有自适应滤波器可以被分为一个组。
接着,确定/估计/生成940零系数图950。在本示例中,存在N个非零滤波系数955(对于每个自适应滤波器),这些滤波系数也被确定。
注意,通常,像素分类、滤波器分组、零系数图的确定、以及各个滤波系数的确定可以根据失真/率-失真度量来调节(图9,估计)。
特别地,对于确定自适应滤波器的分组,(除了滤波器参数估计的结果以外)还可以考虑编码效率。特别地,为了提高编码效率:
·自适应滤波器可以被分组到这样的组中,其中被估计为非零的滤波系数之一不在滤波器组的滤波器形状中(特别地,具有低于特定阈值的值的滤波系数)。
·自适应滤波器可以被分组到这样的组中,其中被估计为零的滤波系数之一在该组的滤波器形状中(即使要包括在位流中的滤波系数可能不为零)。
特别地,参数估计的结果可以取整(向上或向下),以提高编码效率(例如,通过将更多自适应滤波器分组到同一滤波器组中)。
注意,零系数图的存在使得具有值“零”的滤波系数更有利(相对于编码效率),这减少了解码时间。
换句话说,包含具有零值和/或小值(例如低于特定阈值的值)的相同(对应)系数的滤波器被分组到一起。
接着,对滤波器分组信息935进行编码951;对指示N个非零系数的零系数图950进行编码952;以及,对于该组中的每个滤波器(f1、f2、f3),例如通过熵编码单元170使用变长编码或定长编码,将(仅)N个滤波系数955编码953到位流中。
根据零系数图950设置960该组中的每个滤波器的滤波系数955,并且对每个像素使用与其像素组关联的自适应滤波器,对重建图像900和905进行滤波970。
解码器(图10)执行以下步骤,这些步骤不对应于以上针对编码器所述的步骤:
·例如,从位流171中解析/推断1051以及可选地通过熵解码单元204使用变长编码或定长编码来解码出滤波器分组信息935。
·对于滤波器组,从位流171中解析1052以及可选地通过熵解码单元204使用变长编码或定长编码来解码出指示N个非零系数的零系数图950。
·对于滤波器组中的每个滤波器(f1、f2、f3),从位流171中解析1053以及可选地通过熵解码单元204使用变长编码或定长编码来解码出N个滤波系数955。
·根据零系数图945重建该组中的滤波器f1、f2、f3。根据“非零系数图”将滤波系数设置为零。
注意,本说明书提供了图像(帧)的说明,但是在隔行扫描图像信号的情况下,场(field)代替了图像。
尽管已经主要基于视频编解码描述了本发明的实施例,但是应当注意,编码器100和解码器200(以及相应地***300)的实施例也可以被配置用于静止画面处理或编解码,即,独立于如在视频编码中的任何先前或连续图像的单独图像的处理或编解码。通常,在图像处理编解码限于单个图像101的情况下,仅帧间估计142、帧间预测144、242不可用。视频编码器100和视频解码器200的大多数(如果不是所有)其它功能(也称为工具或技术)可同样用于静止图像,例如分割、变换(缩放)106、量化108、反量化110、反变换112、帧内估计142、帧内预测154、254、和/或环路滤波120、220、以及熵编码170和熵解码204。
在实施例和描述涉及术语“存储器”的任何地方,除非另有明确说明,否则术语“存储器”应被理解为和/或应包括磁盘、光盘、只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM)等。
本领域技术人员将理解,各个附图(方法和设备)的“块”(“单元”)表示或描述本发明的实施例的功能(而不是必须是硬件或软件中的单独“单元”),并且因此同等地描述设备实施例以及方法实施例的功能或特征(单元=步骤)。
术语“单元”仅用于编码器/解码器的实施例的功能性的说明性目的,且无意限制本发明。
在本申请所提供的若干实施例中,应该理解,所揭露的***、设备和方法可以通过其它的方式实现。例如,所描述的设备实施例仅仅是示例性的。例如,单元划分只是逻辑功能划分,在实际实现中可以是其他划分。例如,多个单元或组件可以被组合或集成到另一***中,或者一些特征可以被忽略或不执行。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以通过使用一些接口来实现。设备或单元之间的间接耦合或通信连接可以以电子、机械、或其它形式实现。
作为分离部件描述的单元可以是或者也可以不是物理上分离的,作为单元显示的部件可以是或者也可以不是物理单元,可以位于一个位置,或者也可以分布在多个网络单元上。可以根据实际需要选择其中的一些或全部单元,以实现本发明实施例方案的目的。
另外,本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
本发明的实施例还可以包括一种设备,例如编码器和/或解码器,其包括用于执行本文描述的任何方法和/或过程的处理电路。
编码器100和/或解码器200的实施例可以被实现为硬件、固件、软件或其任意组合。例如,编码器/编码或解码器/解码的功能可以由具有或不具有固件或软件的处理电路来执行,例如,处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated 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 解码图像缓冲区(DPB)
131 解码图像
142 帧间估计(或图像间估计)
143 帧间估计参数(例如,参考图像/参考图像索引、运动矢量/偏移)
144 帧间预测(或图像间预测)
145 帧间预测块
152 帧内估计(或图像内估计)
153 帧内预测参数(例如帧内预测模式)
154 帧内预测(帧/图像内预测)
155 帧内预测块
162 模式选择
165 预测块(帧间预测块145或帧内预测块155)
170 熵编码
171 编码图像数据(例如位流)
172 输出(输出端口、输出接口)
图2
200 解码器
171 编码图像数据(例如位流)
202 输入(端口/接口)
204 熵解码
209 量化系数
210 反量化
211 去量化系数
212 反变换(缩放)
213 反变换块
214 重建(单元)
215 重建块
216 (行)缓冲区
217 参考样本
220 环路滤波器(环内滤波器)
221 滤波块
230 解码图像缓冲区(DPB)
231 解码图像
232 输出(端口/接口)
244 帧间预测(帧/图像间预测)
245 帧间预测块
254 帧内预测(帧/图像内预测)
255 帧内预测块
260 模式选择
265 预测块(帧间预测块245或帧内预测块255)
图3
300 编解码***
310 源设备
312 图像源
313 (原始)图像数据
314 预处理器/预处理单元
315 预处理图像数据
318 通信单元/接口
320 目的地设备
322 通信单元/接口
326 后处理器/后处理单元
327 后处理图像数据
328 显示设备/单元
330 发送/接收/通信(编码)图像数据
图4
400 视频编解码设备
410 入口端口
420 接收器单元(Rx)
430 中央处理单元(CPU)
440 发射器单元
450 出口端口
460 存储器
470 编解码模块
图5
510 帧内/帧间预测
515 帧内/帧间预测
520 反变换
525 反变换
530 重建图像(先前编码阶段的输出)
535 重建图像(先前编码阶段的输出)
540 滤波器参数估计
545 滤波参数
550 重建图像的滤波
555 重建图像的滤波
560 熵编码
570 编码图像数据
580 熵解码
图6
610 重建图像(先前编码阶段的输出)
620 像素分类器
631 滤波器1的滤波器参数估计
632 滤波器2的滤波器参数估计
633 滤波器3的滤波器参数估计
640 滤波器参数编码
650 重建图像的滤波
图7
740 支持区域
741 支持区域740的扫描顺序
745 支持区域740的中心系数
750 零系数图
760 从零系数图750、支持区域740、以及扫描顺序741得到的滤波器形状图8
810 标志位序列
820 预定义扫描顺序
831 与扫描顺序索引“0”对应的预定义扫描顺序
832 与扫描顺序索引“1”对应的预定义扫描顺序
833 与扫描顺序索引“2”对应的预定义扫描顺序
841 与图索引“0”对应的零系数图
842 与图索引“1”对应的零系数图
843 与图索引“2”对应的零系数图
图9
900 重建图像(先前阶段的输出)
905 重建图像(先前阶段的输出)
910 像素分类器900
921 滤波器1的滤波器参数估计
922 滤波器2的滤波器参数估计
923 滤波器3的滤波器参数估计
930 对滤波器进行分组,从而生成滤波器分组信息935
935 滤波器分组信息
940 零系数图950的估计
950 零系数图
951 对滤波器分组信息935进行编码
952 对零系数图950进行编码
953 对N个滤波系数955进行编码
955 N个滤波系数
960 设置滤波系数
970 对重建图像900和905进行滤波
图10
1051 解析/推断滤波器分组信息935
1052 解析零系数图950
1053 解析N个滤波系数955
图11
1110 解析滤波器分组信息1115
1115 滤波器分组信息
1120 解析零系数图1125
1125 零系数图
1130 解析N个滤波系数1135
1135 N个滤波系数
1140 重建滤波器f_A和滤波器f_B
1150 对重建图像1155进行滤波
1155 重建图像
1161 滤波器f_A
1162 滤波器f_B
图12
1201 滤波器f_a
1202 滤波器f_b
1203 滤波器f_c
1210 用信号发送零系数图的数量
1220 用信号发送每个零系数图
1221 与图ID“0”对应的零系数图
1222 与图ID“1”对应的零系数图
1240 对于每个自适应滤波器,用信号发送对应的零系数图ID
1250 对于每个自适应滤波器,用信号发送非零滤波系数
1260 重建滤波器f_a、f_b、f_c
Claims (53)
1.一种用于从位流中解码图像样本的装置,其特征在于,所述装置包括处理电路,所述处理电路用于:
从所述位流中提取(1120)零系数图(1125)的指示;
根据所述指示确定包括多个位的所述零系数图(1125),其中,每个位指示是否要从所述位流中为自适应滤波器(1161)提取相应滤波系数;以及
从所述位流中提取(1130)由所述零系数图(1125)指示为要从所述位流中提取的至少一个滤波系数。
2.根据权利要求1所述的装置,其特征在于,
如果所述多个位中的一个位指示要从所述位流中提取所述相应系数,则所述系数不能为零。
3.根据权利要求1或2所述的装置,其特征在于,
所述零系数图(1125)与多个自适应滤波器(1161,1162)中的每个自适应滤波器(1161,1162)关联,所述多个自适应滤波器(1161,1162)包括所述自适应滤波器(1161);
所述多个位中的每个位指示是否要从所述位流中为所述多个自适应滤波器(1161,1162)中的每个自适应滤波器(1161,1162)提取相应滤波系数;以及
所述处理电路还用于:
从所述位流中提取(1130)在所述零系数图(1125)的所述指示之后的与所述零系数图(1125)关联的每个自适应滤波器(1161,1162)的至少一个滤波系数,所述至少一个滤波系数由所述零系数图(1125)指示为要从所述位流中提取。
4.根据权利要求3所述的装置,其特征在于,所述处理电路还用于:
从所述位流中提取(1110)哪些自适应滤波器(1161,1162)与所述零系数图(1125)关联的指示。
5.根据权利要求3或4所述的装置,其特征在于,
所述零系数图(1125)是多个零系数图之一,所述多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,所述一个或多个自适应滤波器中的每个自适应滤波器与单个零系数图关联;以及
所述处理电路还用于:
从所述位流中提取指示,所述指示表示所述多个零系数图中的零系数图的数量,接着是,对于所述多个零系数图中的每个零系数图,从所述位流中提取:
·相应零系数图的指示,接着是
·与所述相应零系数图关联的所述一个或多个自适应滤波器的至少一个滤波系数,其中,所述至少一个滤波系数由所述相应零系数图指示为要从所述位流中提取。
6.根据权利要求5所述的装置,其特征在于,所述处理电路还用于:
从所述位流中提取:
·与所述多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是
·对于与所述多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与所述相应自适应滤波器关联的指示。
7.根据权利要求1至6中任一项所述的装置,其特征在于,
所述零系数图(1125)的所述指示包括:每个位的对应标志位。
8.根据权利要求1至6中任一项所述的装置,其特征在于,
所述零系数图(1125)的所述指示包括正整数N,N指示:
·要从所述位流中提取由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数;以及
·不会从所述位流中提取所述序列中的其余滤波系数。
9.根据权利要求8所述的装置,其特征在于,
所述零系数图(1125)的所述指示还包括语法元素,所述语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是所述预定义滤波系数扫描顺序。
10.根据权利要求1至6中任一项所述的装置,其特征在于,
所述零系数图(1125)的所述指示包括索引,所述索引指示多个预定义零系数图中的哪个预定义零系数图是所述零系数图。
11.根据权利要求1至10中任一项所述的装置,其特征在于,所述处理电路还用于:
确定一组图像样本,所述组包括待使用同一自适应滤波器进行滤波的所有图像样本,所述确定基于对所述图像样本评估以下至少之一:
·图像帧中的位置,
·测量局部样本值的变化的活动度量,
·局部边缘信息,
·强度值,或
·比所述待滤波样本小的相邻样本的数量。
12.根据权利要求1至10中任一项所述的装置,其特征在于,所述处理电路还用于:
对于一组图像样本,从所述位流中提取待用于对所述组中的所述图像样本进行滤波的对应自适应滤波器的指示。
13.根据权利要求1至12中任一项所述的装置,其特征在于,所述处理电路还用于:
使用具有从所述位流中提取的所述至少一个滤波系数的所述自适应滤波器(1161)对图像样本进行滤波。
14.一种用于将图像样本编码到位流中的装置,其特征在于,所述装置包括处理电路,所述处理电路用于:
确定包括多个位的零系数图(1221),其中,每个位指示对于自适应滤波器(1201),相应滤波系数是否要包括在所述位流中;以及
将所述零系数图(1221)的指示包括(1220)在所述位流中,接着是将所述自适应滤波器(1201)的由所述零系数图(1221)指示为要包括在所述位流中的至少一个滤波系数包括(1250)在所述位流中。
15.根据权利要求14所述的装置,其特征在于,
如果所述多个位中的一个位指示所述相应系数要包括在所述位流中,则所述系数不能为零。
16.根据权利要求14或15所述的装置,其特征在于,
所述零系数图(1221)与多个自适应滤波器(1201,1202)中的每个自适应滤波器(1201,1202)关联,所述多个自适应滤波器包括所述自适应滤波器(1201);
所述多个位中的每个位指示对于所述多个自适应滤器(1201,1202)中的每个自适应滤波器(1201,1202),相应滤波系数是否要包括在所述位流中;以及
所述处理电路还用于:
在所述零系数图(1221)的所述指示之后,将与所述零系数图(1221)关联的每个自适应滤波器(1201,1202)的至少一个滤波系数包括(1250)在所述位流中,所述至少一个滤波系数由所述零系数图(1221)指示为要包括在所述位流中。
17.根据权利要求16所述的装置,其特征在于,所述处理电路还用于:
将哪些自适应滤波器(1201,1202)与所述零系数图(1221)关联的指示包括(1240)在所述位流中。
18.根据权利要求16或17所述的装置,其特征在于,
所述零系数图(1221)是多个零系数图(1221,1222)之一,所述多个零系数图(1221,1222)中的每个零系数图(1221,1222)与一个或多个自适应滤波器(1201,1202,1203)关联,所述一个或多个自适应滤波器(1201,1202,1203)中的每个与单个零系数图(1221,1222)关联;以及
所述处理电路还用于:
确定所述多个零系数图(1221,1222)中的每个零系数图(1221,1222);以及
将所述多个零系数图(1221,1222)中的零系数图(1221,1222)的数量的指示包括(1210)在所述位流中,接着是,对于所述多个零系数图(1221,1222)中的每个零系数图(1221,1222),将以下包括在所述位流中:
·相应零系数图(1221,1222)的指示(1220),接着是(1250)
·与所述相应零系数图(1221,1222)关联的所述一个或多个自适应滤波器(1201,1202,1203)的至少一个滤波系数,其中,所述至少一个滤波系数由所述相应零系数图(1221,1222)指示为要包括在所述位流中。
19.根据权利要求18所述的装置,其特征在于,所述处理电路还用于:
将以下包括在所述位流中:
·与所述多个零系数图(1221,1222)中的任一零系数图(1221,1222)关联的自适应滤波器(1201,1202,1203)的数量的指示,接着是
·对于与所述多个零系数图(1221,1222)中的零系数图(1221,1222)关联的每个自适应滤波器(1201,1202,1203),哪个零系数图(1221,1222)与所述相应自适应滤波器(1201,1202,1203)关联的指示。
20.根据权利要求14至19中任一项所述的装置,其特征在于,
零系数图(1221,1222)的所述指示(1220)包括:每个位的对应标志位。
21.根据权利要求14至19中任一项所述的装置,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)包括正整数N,N指示
·由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数要包括在所述位流中;以及
·所述序列中的其余滤波系数不会包括在所述位流中。
22.根据权利要求21所述的装置,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)还包括语法元素,所述语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是所述预定义滤波系数扫描顺序。
23.根据权利要求14至19中任一项所述的装置,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)包括索引,所述索引指示多个预定义零系数图(1221,1222)中的哪个预定义零系数图(1221,1222)是所述零系数图(1221,1222)。
24.根据权利要求14至23中任一项所述的装置,其特征在于,所述处理电路还用于:
确定一组图像样本,所述组包括待使用同一自适应滤波器(1201)进行滤波的所有图像样本,所述确定基于对所述图像样本评估以下至少之一:
·图像帧中的位置,
·测量局部样本值的变化的活动度量,
·局部边缘信息,
·强度值,或
·比所述待滤波样本小的相邻样本的数量。
25.根据权利要求24所述的装置,其特征在于,所述处理电路还用于:
对于所述组,将待用于对所述组中的所有图像样本进行滤波的同一自适应滤波器(1201)的指示包括在所述位流中。
26.根据权利要求14至25中任一项所述的装置,其特征在于,所述处理电路还用于:
使用具有编码到所述位流中的所述至少一个滤波系数的所述自适应滤波器(1201)对图像样本进行滤波。
27.一种用于从位流中解码图像样本的方法,其特征在于,包括以下步骤:
从所述位流中提取(1120)零系数图(1125)的指示;
根据所述指示确定包括多个位的所述零系数图(1125),其中,每个位指示是否要从所述位流中为自适应滤波器(1161)提取相应滤波系数;以及
从所述位流中提取(1130)由所述零系数图(1125)指示为要从所述位流中提取的至少一个滤波系数。
28.根据权利要求27所述的方法,其特征在于,
如果所述多个位中的一个位指示要从所述位流中提取所述相应系数,则所述系数不能为零。
29.根据权利要求27或28所述的方法,其特征在于,
所述零系数图(1125)与多个自适应滤波器(1161,1162)中的每个自适应滤波器(1161,1162)关联,所述多个自适应滤波器(1161,1162)包括所述自适应滤波器(1161);
所述多个位中的每个位指示是否要从所述位流中为所述多个自适应滤波器(1161,1162)中的每个自适应滤波器(1161,1162)提取相应滤波系数;以及
所述方法还包括以下步骤:
从所述位流中提取(1130)在所述零系数图(1125)的所述指示之后的与所述零系数图(1125)关联的每个自适应滤波器(1161,1162)的至少一个滤波系数,所述至少一个滤波系数由所述零系数图(1125)指示为要从所述位流中提取。
30.根据权利要求29所述的方法,其特征在于,所述方法还包括以下步骤:
从所述位流中提取(1110)哪些自适应滤波器(1161,1162)与所述零系数图(1125)关联的指示。
31.根据权利要求29或30所述的方法,其特征在于,
所述零系数图(1125)是多个零系数图之一,所述多个零系数图中的每个零系数图与一个或多个自适应滤波器关联,所述一个或多个自适应滤波器中的每个自适应滤波器与单个零系数图关联;以及
所述方法还包括以下步骤:
从所述位流中提取指示,所述指示表示所述多个零系数图中的零系数图的数量,接着是,对于所述多个零系数图中的每个零系数图,从所述位流中提取:
·相应零系数图的指示,接着是
·与所述相应零系数图关联的所述一个或多个自适应滤波器的至少一个滤波系数,其中,所述至少一个滤波系数由所述相应零系数图指示为要从所述位流中提取。
32.根据权利要求31所述的方法,其特征在于,所述方法还包括以下步骤:
从所述位流中提取:
·与所述多个零系数图中的任一零系数图关联的自适应滤波器的数量的指示,接着是
·对于与所述多个零系数图中的零系数图关联的每个自适应滤波器,哪个零系数图与所述相应自适应滤波器关联的指示。
33.根据权利要求27至32中任一项所述的方法,其特征在于,
所述零系数图(1125)的所述指示包括:每个位的对应标志位。
34.根据权利要求27至32中任一项所述的方法,其特征在于,
所述零系数图(1125)的所述指示包括正整数N,N指示:
·要从所述位流中提取由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数;以及
·不会从所述位流中提取所述序列中的其余滤波系数。
35.根据权利要求34所述的方法,其特征在于,
所述零系数图(1125)的所述指示还包括语法元素,所述语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是所述预定义滤波系数扫描顺序。
36.根据权利要求27至32中任一项所述的方法,其特征在于,
所述零系数图(1125)的所述指示包括索引,所述索引指示多个预定义零系数图中的哪个预定义零系数图是所述零系数图。
37.根据权利要求27至36中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
确定一组图像样本,所述组包括要使用同一自适应滤波器进行滤波的所有图像样本,所述确定基于对所述图像样本评估以下至少之一:
·图像帧中的位置,
·测量局部样本值的变化的活动度量,
·局部边缘信息,
·强度值,或
·比所述待滤波样本小的相邻样本的数量。
38.根据权利要求27至36中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
对于一组图像样本,从所述位流中提取待用于对所述组中的所述图像样本进行滤波的对应自适应滤波器的指示。
39.根据权利要求27至38中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
使用具有从所述位流中提取的所述至少一个滤波系数的所述自适应滤波器(1161)对图像样本进行滤波。
40.一种用于将图像样本编码到位流中的方法,其特征在于,包括以下步骤:
确定包括多个位的零系数图(1221),其中,每个位指示对于自适应滤波器(1201),相应滤波系数是否要包括在所述位流中;以及
将所述零系数图(1221)的指示包括(1220)在所述位流中,接着是将所述自适应滤波器(1201)的由所述零系数图(1221)指示为要包括在所述位流中的至少一个滤波系数包括(1250)在所述位流中。
41.根据权利要求40所述的方法,其特征在于,
如果所述多个位中的一个位指示所述相应系数要包括在所述位流中,则所述系数不能为零。
42.根据权利要求40或41所述的方法,其特征在于,
所述零系数图(1221)与多个自适应滤波器(1201,1202)中的每个自适应滤波器(1201,1202)关联,所述多个自适应滤波器(1201,1202)包括所述自适应滤波器(1201);
所述多个位中的每个位指示对于所述多个自适应滤器(1201,1202)中的每个自适应滤波器(1201,1202),相应滤波系数是否要包括在所述位流中;以及
所述方法还包括以下步骤:
在所述零系数图(1221)的所述指示之后,将与所述零系数图(1221)关联的每个自适应滤波器(1201,1202)的至少一个滤波系数包括(1250)在所述位流中,所述至少一个滤波系数由所述零系数图(1221)指示为要包括在所述位流中。
43.根据权利要求42所述的方法,其特征在于,所述方法还包括以下步骤:
将哪些自适应滤波器(1201,1202)与所述零系数图(1221)关联的指示包括(1240)在所述位流中。
44.根据权利要求42或43所述的方法,其特征在于,
所述零系数图(1221)是多个零系数图(1221,1222)之一,所述多个零系数图(1221,1222)中的每个零系数图(1221,1222)与一个或多个自适应滤波器(1201,1202,1203)关联,所述一个或多个自适应滤波器(1201,1202,1203)中的每个与单个零系数图(1221,1222)关联;以及
所述方法还包括以下步骤:
确定所述多个零系数图(1221,1222)中的每个零系数图(1221,1222);以及
将所述多个零系数图(1221,1222)中的零系数图(1221,1222)的数量的指示包括(1210)在所述位流中,接着是,对于所述多个零系数图(1221,1222)中的每个零系数图(1221,1222),将以下包括在所述位流中:
·相应零系数图(1221,1222)的指示(1220),接着是(1250)
·与所述相应零系数图(1221,1222)关联的所述一个或多个自适应滤波器(1201,1202,1203)的至少一个滤波系数,其中,所述至少一个滤波系数由所述相应零系数图(1221,1222)指示为要包括在所述位流中。
45.根据权利要求44所述的方法,其特征在于,所述方法还包括以下步骤:
将以下包括在所述位流中:
·与所述多个零系数图(1221,1222)中的任一零系数图(1221,1222)关联的自适应滤波器(1201,1202,1203)的数量的指示,接着是
·对于与所述多个零系数图(1221,1222)中的零系数图(1221,1222)关联的每个自适应滤波器(1201,1202,1203),哪个零系数图(1221,1222)与所述相应自适应滤波器(1201,1202,1203)关联的指示。
46.根据权利要求40至45中任一项所述的方法,其特征在于,
零系数图(1221,1222)的所述指示(1220)包括:每个位的对应标志位。
47.根据权利要求40至45中任一项所述的方法,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)包括正整数N,N指示
·由预定义滤波系数扫描顺序指示的序列中的前N个滤波系数要包括在所述位流中;以及
·所述序列中的其余滤波系数不会包括在所述位流中。
48.根据权利要求47所述的方法,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)还包括语法元素,所述语法元素指示多个预定义滤波系数扫描顺序中的哪个预定义滤波系数扫描顺序是所述预定义滤波系数扫描顺序。
49.根据权利要求40至45中任一项所述的方法,其特征在于,
所述位流中包括的所述零系数图(1221,1222)的所述指示(1220)包括索引,所述索引指示多个预定义零系数图(1221,1222)中的哪个预定义零系数图(1221,1222)是所述零系数图(1221,1222)。
50.根据权利要求40至49中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
确定一组图像样本,所述组包括要使用同一自适应滤波器(1201)进行滤波的所有图像样本,所述确定基于对所述图像样本评估以下至少之一:
·图像帧中的位置,
·测量局部样本值的变化的活动度量,
·局部边缘信息,
·强度值,或
·比所述待滤波样本小的相邻样本的数量。
51.根据权利要求50所述的方法,其特征在于,所述方法还包括以下步骤:
对于所述组,将待用于对所述组中的所有图像样本进行滤波的同一自适应滤波器(1201)的指示包括在所述位流中。
52.根据权利要求40至51中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
使用具有编码到所述位流中的所述至少一个滤波系数的所述自适应滤波器(1201)对图像样本进行滤波。
53.一种存储指令的计算机可读介质,其特征在于,当由处理器执行时,所述指令使所述计算机执行根据权利要求40至52中任一项所述的方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/068408 WO2020007489A1 (en) | 2018-07-06 | 2018-07-06 | A picture encoder, a picture decoder and corresponding methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112400323A true CN112400323A (zh) | 2021-02-23 |
CN112400323B CN112400323B (zh) | 2022-09-23 |
Family
ID=62904449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880095449.7A Active CN112400323B (zh) | 2018-07-06 | 2018-07-06 | 图像编码器、图像解码器、以及对应方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11368696B2 (zh) |
EP (1) | EP3799694A1 (zh) |
CN (1) | CN112400323B (zh) |
WO (1) | WO2020007489A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11736688B2 (en) * | 2019-06-21 | 2023-08-22 | Qualcomm Incorporated | Adaptive loop filter signalling |
US20230050232A1 (en) * | 2020-01-15 | 2023-02-16 | Lg Electronics Inc. | In-loop filtering-based image coding apparatus and method |
CN116208773B (zh) * | 2020-01-24 | 2024-07-05 | 华为技术有限公司 | 编码器、解码器及用于自适应环路滤波的对应方法 |
WO2023241634A1 (en) * | 2022-06-18 | 2023-12-21 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008028363A1 (fr) * | 2006-08-21 | 2008-03-13 | Zte Corporation | Dispositif de filtrage en gorupe et procédé |
US20120039383A1 (en) * | 2010-08-12 | 2012-02-16 | Mediatek Inc. | Coding unit synchronous adaptive loop filter flags |
CN102714732A (zh) * | 2010-01-12 | 2012-10-03 | 夏普株式会社 | 编码装置、解码装置及数据结构 |
US20130266060A1 (en) * | 2012-04-10 | 2013-10-10 | Texas Instruments Incorporated | Reduced Complexity Coefficient Transmission for Adaptive Loop Filtering (ALF) in Video Coding |
CN103493494A (zh) * | 2011-04-27 | 2014-01-01 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据的数据结构 |
CN104539964A (zh) * | 2012-01-06 | 2015-04-22 | 索尼公司 | 图像处理装置和方法 |
EP3177014A1 (en) * | 2014-07-31 | 2017-06-07 | Samsung Electronics Co., Ltd. | Video encoding method using in-loop filter parameter prediction and apparatus therefor, and video decoding method and apparatus therefor |
US20170324962A1 (en) * | 2016-05-09 | 2017-11-09 | Qualcomm Incorporated | Signalling of filtering information |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818970A (en) * | 1991-04-26 | 1998-10-06 | Canon Kabushiki Kaisha | Image encoding apparatus |
US7206448B2 (en) * | 2002-02-28 | 2007-04-17 | At&T Corp. | System and method for using pattern vectors for video and image coding and decoding |
KR101529992B1 (ko) * | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
US20130215970A1 (en) * | 2011-12-20 | 2013-08-22 | General Instrument Corporation | Method and apparatus for last coefficient group position coding |
US20140086319A1 (en) * | 2012-09-25 | 2014-03-27 | Sony Corporation | Video coding system with adaptive upsampling and method of operation thereof |
-
2018
- 2018-07-06 WO PCT/EP2018/068408 patent/WO2020007489A1/en unknown
- 2018-07-06 CN CN201880095449.7A patent/CN112400323B/zh active Active
- 2018-07-06 EP EP18740168.2A patent/EP3799694A1/en active Pending
-
2021
- 2021-01-06 US US17/142,957 patent/US11368696B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008028363A1 (fr) * | 2006-08-21 | 2008-03-13 | Zte Corporation | Dispositif de filtrage en gorupe et procédé |
CN102714732A (zh) * | 2010-01-12 | 2012-10-03 | 夏普株式会社 | 编码装置、解码装置及数据结构 |
US20120039383A1 (en) * | 2010-08-12 | 2012-02-16 | Mediatek Inc. | Coding unit synchronous adaptive loop filter flags |
CN103493494A (zh) * | 2011-04-27 | 2014-01-01 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据的数据结构 |
CN104539964A (zh) * | 2012-01-06 | 2015-04-22 | 索尼公司 | 图像处理装置和方法 |
US20130266060A1 (en) * | 2012-04-10 | 2013-10-10 | Texas Instruments Incorporated | Reduced Complexity Coefficient Transmission for Adaptive Loop Filtering (ALF) in Video Coding |
EP3177014A1 (en) * | 2014-07-31 | 2017-06-07 | Samsung Electronics Co., Ltd. | Video encoding method using in-loop filter parameter prediction and apparatus therefor, and video decoding method and apparatus therefor |
US20170324962A1 (en) * | 2016-05-09 | 2017-11-09 | Qualcomm Incorporated | Signalling of filtering information |
Non-Patent Citations (3)
Title |
---|
MARTA KARCZEWITZ 等: "《CE5: coefficient coding with LCEC for large blocks》", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING: GENEVA, CH, 16-23 MARCH, 2011》 * |
STEPHAN WENGER: "《Parameter set updates using conditional replacement》", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING: GENEVA, CH, 16-23 MARCH, 2011, JCTVC-E309》 * |
任广辉等: "利用FPGA的高性能向导滤波器设计", 《红外与激光工程》 * |
Also Published As
Publication number | Publication date |
---|---|
US20210127115A1 (en) | 2021-04-29 |
US11368696B2 (en) | 2022-06-21 |
CN112400323B (zh) | 2022-09-23 |
WO2020007489A1 (en) | 2020-01-09 |
EP3799694A1 (en) | 2021-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438618B2 (en) | Method and apparatus for residual sign prediction in transform domain | |
US20200404308A1 (en) | Method and apparatus for detecting blocks suitable for multiple sign bit hiding | |
CN112400323B (zh) | 图像编码器、图像解码器、以及对应方法 | |
CN111225206B (zh) | 视频解码方法和视频解码器 | |
US20200404339A1 (en) | Loop filter apparatus and method for video coding | |
CN111801944B (zh) | 视频图像编码器、解码器以及对应的运动信息编码方法 | |
EP3831073B1 (en) | Apparatus and method for performing deblocking | |
KR102606722B1 (ko) | 비디오 코딩에서 디블로킹 필터를 위한 장치 및 방법 | |
RU2766557C1 (ru) | Устройство обработки изображений и способ выполнения эффективного удаления блочности | |
CN113243106B (zh) | 一种用于视频图像的预测块的帧内预测的设备和方法 | |
CN111869208A (zh) | 使用自适应乘数系数进行图像滤波的方法及装置 | |
CN118264812A (zh) | 图像划分方法及装置 | |
CN112262574A (zh) | 一种用于帧内预测的设备和方法 | |
RU2779474C1 (ru) | Устройство обработки изображений и способ выполнения эффективного удаления блочности | |
CN112352435B (zh) | 用于视频编解码的环内去块滤波器设备和方法 | |
RU2823558C2 (ru) | Кодер, декодер и соответствующие способы с использованием адаптивного контурного фильтра | |
RU2789030C2 (ru) | Устройство и способ для фильтра деблокинга при кодировании видео | |
RU2785090C2 (ru) | Устройство и способ выполнения удаления блочности | |
RU2772313C2 (ru) | Способ и устройство для фильтрации изображений с адаптивными коэффициентами множителя | |
WO2020259330A1 (zh) | 非可分离变换方法以及设备 |
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 |