CN114041290A - 用于图像处理的组合环路滤波 - Google Patents

用于图像处理的组合环路滤波 Download PDF

Info

Publication number
CN114041290A
CN114041290A CN202080045132.XA CN202080045132A CN114041290A CN 114041290 A CN114041290 A CN 114041290A CN 202080045132 A CN202080045132 A CN 202080045132A CN 114041290 A CN114041290 A CN 114041290A
Authority
CN
China
Prior art keywords
image data
filtering operation
filtering
data
partition
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.)
Pending
Application number
CN202080045132.XA
Other languages
English (en)
Inventor
雅各布·斯特罗姆
玻尔·温纳斯滕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN114041290A publication Critical patent/CN114041290A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

在图像处理设备(即,编码器或解码器)中,通过将双边环路滤波(或哈达玛环路滤波)与样本自适应偏移滤波(SAO)或自适应环路滤波(ALF)组合,来降低环路滤波器级的数量。这避免了与过多环路滤波器级相关联的实现问题,并且提供了与具有单独环路滤波器级大致相同的压缩效率增益。

Description

用于图像处理的组合环路滤波
技术领域
本发明总体上涉及图像和视频处理,并且具体地涉及一种对图像数据进行组合环路滤波操作的系统和方法。
背景技术
技术,特别是复杂的无线移动通信设备的出现(其中大多数包括一个或多个相机),已经使数字图像学在世界许多地方的日常生活中无处不在。视频在盛行,不仅来自诸如广播和有线电视分发系统之类的传统源,还涉及计算机、平板设备、智能手机、甚至手表。另外,新闻和娱乐源,以及正在重新定义人际社区的社交媒体网络,都充斥着高分辨率的彩色数字图像。图像学的庞大体量一直是驱动最先进的网络技术、数字存储以及相机和显示技术发展的因素。
图像处理算法以及专用图像处理硬件已经发生了显著的进步。然而,即使网络的带宽和数据速度、存储设备的容量等不断进步,智能地处理数字图像以减少其存储大小,并促进其在网络上的有效传输,仍然是研究和开发的重要领域。这涉及单个图像和视频二者,后者由单个图像的序列组成。
当在屏幕上观看时,图像(无论是静态图像还是视频帧)由像素组成,每个像素具有红、绿、蓝值(RGB)。然而,在对视频序列进行编码和解码时,图像通常不使用RGB表示,而是经常在另一色彩空间中表示。常见的图像色彩空间包括(但不限于):YCbCr;ICtCp;以及这些的变型,例如非恒定亮度YCbCr和恒定亮度YCbCr。考虑YCbCr的示例,它包括三个分量:亮度(Y)以及蓝差(Cb)和红差(Cr)色度分量。Y分量大致表示亮度或强度,它是全分辨率的,而色度分量Cb和Cr的分辨率通常较小。典型的示例是包含1920×1080RGB像素的高清(HD)视频序列,它通常用1920×1080分辨率的Y分量、960×540的Cb分量和960×540的Cr分量表示。这些分量中的元素被称为样本。在高清视频的示例中,Y分量中由此有1920×1080个样本,因此样本与像素之间有直接关系。在这种情况下,术语像素和样本是同义的,可以互换使用。对于Cb和Cr分量,样本与像素之间没有直接关系;单个Cb样本通常影响若干像素。
在许多视频编码标准中,分量Y、Cb和Cr进一步被划分为块。作为示例,在高级视频编码(AVC)中,将图像划分为16×16的Y样本与8×8的Cb和Cr样本的宏块,它们代表相同的16×16像素区域。
在高效率视频编码(HEVC)中,将图像划分为编码树单元(CTU)。CTU由N×N块的亮度样本、针对Cb的M×M色度样本和针对Cr的M×M色度样本组成。作为一个示例,N=64且M=32。可以将CTU划分为四个正方形块,每个正方形块又可以递归地划分为四个正方形块。这形成了分区树,以CTU为根、被称为编码单元(CU)的正方形块为叶。
在多功能视频编码(VVC)标准中,将图像划分为编码树单元(CTU)。CTU由N×N块的亮度样本、针对Cb的M×M色度样本和针对Cr的M×M色度样本组成。作为典型的示例,N=128且M=64。就像HEVC的情况一样,然后可以将CTU划分为较小的块;然而,这些块不必是正方形。作为示例,可以使用水平划分将块划分为两个较小的块,其中经划分的块的宽度与原始块的宽度相同,但是高度时原始块高度的一半。这种划分可以递归地进行,形成分区树,其中CTU是根、叶上的块被称为编码单元(CU)。这些CU可以进一步被划分为变换单元或TU。在解码器中,首先对TU的样本进行预测,可以使用来自相同图像中的先前解码块的样本(帧内预测),或者使用来自先前解码图像中的块的样本(帧间预测),或者二者的组合。
在本领域中已知的是,在形成重构图像块之后直接对图像数据进行双边滤波,可以利于视频压缩,如P.Wennersten,J.
Figure BDA0003420904290000021
Y.Wang,K.Andersson,R.
Figure BDA0003420904290000022
和J.Enhorn在“Bilateral Filtering for Video Coding”中所述,发表在IEEE VisualCommunications and Image Processing(VCIP),2017年12月,可在http:// www.jacobstrom.com/publications/Wennersten et al VCIP2017.pdf获得,本文通过引用并入其全部公开内容。Wennersten等人表明使用双边滤波器能够降低比特率,同时保持视觉质量。Bjontegaard度量法提供了一种在相同数据上比较编解码器或编码技术的方法,并产生被称为BD率(BD-rate)的度量,其中-1%的负增量BD率数字意味着比特率已经减少1%,同时保持相同的视觉质量。对于Wennersten的论文中的滤波器,随机访问的运行时间增加3%(编码)和0%(解码)时,增量BD率为-0.5%。运行时间是对序列进行编码或解码所需的时间,并且期望低运行时间增加。由于这种情况下的滤波直接发生在块重构之后,因此这种类型的双边滤波在本文被称为“后重构双边滤波”。
另一种在形成重构块之后直接进行滤波的方法是延迟滤波,直到整个图像已被重构,这时可以对整个图像(或其部分)进行滤波。J.
Figure BDA0003420904290000031
P.Wennersten,J.Enhorn和R.
Figure BDA0003420904290000032
在标准化贡献“CE1-related:Multiplication-free bilateral loop filter”中描述了这种方法,作为JVET-N0493发表于第14次JVET会议,瑞士,日内瓦,2019年3月19~27日,可作为压缩文件从http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/ 14_Geneva/wg11/JVET-N0493-v4.zip下载,本文通过引用并入其全部公开内容。这种滤波方案通常被称为环滤波器,或环路滤波器,因为滤波的结果被循环回以用于对尚未被编码/解码的帧进行预测。因此,这种类型的双边滤波在本文被称为“双边环路滤波”。
作为双边滤波器的替代方案,也可以在哈达玛(Hadamard)域进行滤波,如S.Ikonin,V.Stepin,A.Karabutov和J.Chen在标准化贡献“CE1:Hadamard transformdomain filter(CE1-2)”中所描述的,作为JVET-N0478发表于第14次JVET会议,瑞士,日内瓦,2019年3月19~27日,可作为压缩文件从http://phenix.it-sudparis.eu/ivet/doc_ end_user/documents/14_Geneva/we11/JVET-N0478-v3.zip下载,本文通过引用并入其全部公开内容。哈达玛域滤波可以在重构每个块之后直接进行(后重构哈达玛滤波滤波),或者像双边滤波器的情况一样作为环路滤波器(哈达玛环路滤波)进行。
后重构滤波和环路滤波都有缺点。在后重构滤波的情况下,从产生未经滤波样本处到已对这些样本进行滤波处,引入了不期望的迟延。这是有问题的,因为可能需要经滤波样本对邻近块进行预测。一种最小化该缺点的已知技术是避免对较小块进行滤波,并避免使用块之外的像素。J.
Figure BDA0003420904290000041
P.Wennersten,J.Enhorn,K.Reuze,D.Rusanovskyy和M.Karczewicz在标准化贡献“CE1:Bilateral filter tests”中对其进行了描述,作为JVET-N0489发表于第14次JVET会议,瑞士,日内瓦,2019年3月19~27日,可作为压缩文件从http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET- N0489-v2.zip下载,本文通过引用并入其全部公开内容。然而不幸的是,这将BD率方面的压缩效率从-0.5%降至约-0.35%(注意,越大的负数指示越好的压缩效率)。
环路滤波可以获得更好的收益,例如,大约-0.65%,但引入了另一缺陷,即它包括单独的级,其中必须触及所有样本。VVC标准的5.0草案已经包含了三个环路滤波器:去块滤波器、被称为样本自适应偏移(SAO)的滤波器和被称为自适应环路滤波器(ALF)的滤波器。具有许多顺序滤波器会使硬件实现变得困难,因为它们通常至少部分地被并行应用。作为简化的示例,由于图像是从上到下重构的,因此一旦已经重构图像的上半部分,就可以开始对该上半部分执行SAO滤波。一旦完成,下半部分的SAO滤波可以与上半部分的ALF滤波并行进行。最后,用ALF来处理图像的下半部分。如果用于两半图像的滤波时间大致相同,则这样做可以很好地节省时间。然而,可能的情况是,对图像的上半部分进行处理的SAO非常慢,而ALF非常快,反之亦然。如果发生这种情况,则几乎不可能节省时间,实现必须单独对ALF和SAO进行加速,而这在硅表面积方面通常很昂贵。
应当理解,随着环路滤波器的增多,这种情况变得更糟。因此,双边环路滤波提供的压缩效率中的增益是否值得额外的实现成本是值得怀疑的。
提供本文档的背景技术部分是为了将本发明的实施例置于技术和操作的上下文中,以帮助本领域技术人员理解它们的范围和功用。可以思考背景技术部分中描述的方法,但这些方法不一定是先前已经构思或思考过的方法。除非明确指出,否则本文的任何陈述都不因被包括在背景技术部分而认为是现有技术。
以下论文给出了其他背景信息,并通过引用全部并入本文:
J.
Figure BDA0003420904290000051
“Non-CE:Reduced complexity bilateral filter”,JVET-M0885,第13次JVET会议,摩洛哥,马拉喀什,2019年1月9~18日。该论文可作为压缩文件从http:// phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET- M0885-v4.zip下载
J.
Figure BDA0003420904290000052
P.Wennersten,J.Enhorn,D.Liu,K.Andersson,R.
Figure BDA0003420904290000053
“CE2related:Reduced complexity bilateral filter”,JVET-K0274,第11次JVET会议,斯洛文尼亚,卢布尔雅那,2018年7月10~18日。该论文可作为压缩文件从http://phenix.it- sudparis.eu/jvet/doc_end_user/documents/11_Ljubliana/wg11/JVET-K0274-v5.zip下载
S.Ikonin,V.Stepin,J.Chen,“Non-CE:Hadamard transform domain filter”,JVET-M0468,第13次JVET会议,摩洛哥,马拉喀什,2019年1月9~18日。该论文可作为压缩文件从http://phenix.it-sudparis.eu/ivet/doc_end_user/documents/13_Marrakech/ wg11/JVET-M0468-v2.zip下载
发明内容
以下呈现了对本公开的简单概括,以便向本领域技术人员提供基本的理解。该概括并不是本公开的详细综述,并且不旨在标识本发明的实施例的关键/重要元素或勾画本发明的范围。该概括的唯一目的是以简化形式呈现本文公开的一些构思,作为稍后呈现的更详细描述的前言。
根据本文描述和要求保护的一个或多个实施例,通过将双边环路滤波(或哈达玛环路滤波)与样本自适应偏移滤波(SAO)或自适应环路滤波(ALF)组合,来降低环路滤波器级的数量。这避免了与过多环路滤波器级相关联的实现问题,并且提供了与具有单独环路滤波器级大致相同的压缩效率增益。
一个实施例涉及一种对图像数据应用多个不同的滤波器操作的方法。将图像数据划分为一个或多个分区。针对图像数据的每个分区,对图像数据的当前分区应用第一滤波操作,以生成第一经滤波图像数据和第一增量数据之一;对图像数据的当前分区应用第二滤波操作,以生成第二经滤波图像数据和第二增量数据之一;将针对当前分区的第一滤波操作和第二滤波操作的输出组合,以生成组合后的经滤波图像数据;以及对当前分区的组合后的经滤波图像数据进行裁剪。
另一个实施例涉及一种图像处理设备,适于对图像数据应用多个不同的滤波操作。该图像处理设备包括处理器,该处理器适于将图像数据划分为一个或多个分区。针对图像数据的每个分区,该处理器适于:对图像数据的当前分区应用第一滤波操作,以生成第一经滤波图像数据和第一增量数据之一;对图像数据的当前分区应用第二滤波操作,以生成第二经滤波图像数据和第二增量数据之一;将针对当前分区的第一滤波操作和第二滤波操作的输出组合,以生成组合后的经滤波图像数据;以及对当前分区的组合后的经滤波图像数据进行裁剪。
附图说明
现在将在下文中参照附图更全面地描述本发明,在附图中示出了本发明的实施例。然而,本发明不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将全面和完整,并且将本发明的范围充分传达给本领域技术人员。贯穿全文,类似附图标记表示类似的元件。
图1是用于解码器的图像数据滤波的传统方法的框图/流程图。
图2是组合图像数据滤波的方法的框图/流程图。
图3是适于硬件实现的组合图像数据滤波的迭代方法的框图/流程图。
图4是适于软件实现的组合图像数据滤波的单独迭代方法的框图/流程图。
图5是适于软件实现的单独地组合图像数据滤波的迭代方法的框图/流程图。
图6是在多个CPU或CPU核上实现的组合图像数据滤波的并行并发方法的框图/流程图。
图7是用于编码器的图像数据滤波的传统方法的框图/流程图。
图8是根据一个实施例的组合图像数据滤波的方法的框图/流程图。
图9是根据另一实施例的组合图像数据滤波的方法的框图/流程图。
图10是图像处理设备的框图。
图11是对图像数据应用多个不同的滤波器操作的方法的流程图。
具体实施方式
本申请要求2019年6月24日提交的美国专利申请No.62/865533的优先权,其全部内容通过引用并入本文。
为了简化和示例说明的目的,主要参照示例性实施例来描述本发明。在以下描述中,阐述了大量的特定细节,以便提供对本发明的完全理解。然而,对于本领域技术人员将明显的是:可以在没有这些具体细节的限制的情况下执行本发明。在本说明书中,没有详细描述公知的方法和结构,以免不必要地模糊本发明。尽管本文的至少一些实施例可被描述为适用于某些上下文和/或无线网络类型以用于说明目的,但是这些实施例也同样适用于未明确描述的其他上下文和/或无线网络类型。
本文使用将双边环路滤波操作与SAO滤波操作组合的示例来解释本发明的实施例。然而,本发明并不限于这些具体示例。一般地,双边环路滤波操作可以与ALF滤波操作、去块滤波器或任何其他滤波器组合。另外,组合的滤波器不需要是双边环路滤波器。例如,使用本文的教导,本领域技术人员可以组合哈达玛滤波器和SAO,哈达玛和ALF,甚至SAO和ALF。
图1示出了用于解码器的传统环路滤波器实现10,例如(上文引用的)
Figure BDA0003420904290000081
和Ikonin所描述的那些。在这种情况下,将滤波器12之一的输出用作另一滤波器14的输入。这是当前版本的VVC草案中SAO和ALF的情况:SAO的输出用作ALF的输入。在图1中,具有裁剪的双边滤波器12首先在解码链中,输出被馈送到也包括裁剪的SAO滤波器14。
如上所述,这导致了实现的问题。尽管可能用第一滤波器12开始处理图像的一部分,然后在第一滤波器12处理完该部分后用第二滤波器14处理该部分,但是如果两个滤波器12、14以不同的速度在图像(或图像的一部分)的不同部分上工作,则会导致实现效率低下。
图2描绘了根据本发明的实施例的解码器滤波器实现20。在实施例20中,第一滤波器22和第二滤波器24(这里还是以双边滤波器22和SAO 24作为示例)二者接收相同的图像数据。如图2所示,该输入数据可以是去块之后的图像数据,但一般地,它可以是任何输入数据,例如任何环路滤波之前的图像数据,或ALF之后的图像数据。将两个滤波器22、24的输出(例如在求和器26)组合,然后对结果进行裁剪操作28。
请注意,第一滤波器22和第二滤波器24并行操作,这是因为滤波器22、24二者是在相同的输入图像数据上操作。如本文进一步详述的,该图像数据可以包括整个图像、图像的一大部分(例如CTU)、图像的较小部分(例如CU或TU)、图像的较小部分(例如一组像素或甚至单个像素)。另外,尽管第一滤波器22和第二滤波器24并行操作,但是它们可以不必同时操作。也就是说,可以针对第一滤波操作22和第二滤波操作24中的每一个重用相同的硬件(例如,可以保存一个滤波操作22、24的输出,同时执行另一滤波操作24、22,然后将它们的输出组合26并裁剪28)。
更详细地,假设输入数据是像素强度I(x,y),其中I(x,y)表示位于像素位置(x,y)的样本的亮度值(YCbCr色彩空间中的Y值)。这种样本的双边滤波被表示为:
IBIF(x,y)=BIF(I(x,y),I(x-1,y),I(x+1,y),I(x,y-1),I(x,y+1),...)
等式1
其中I(x-1,y)、I(x+1,y)等是像素位置I(x,y)周围的样本的强度值。为了简化记法,将它简写为:
IBIF(x,y)=BIF(I(x,y)) 等式2
类似地,I(x,y)的经SAO滤波版本被表示为:
ISAO(x,y)=SAO(I(x,y)) 等式3
尽管SAO滤波通常还取决于周围样本以及参数。但是为了简化,未示出这些。
图1中所示的传统滤波布置会产生:
IBIF(x,y)=BIF(I(x,y)) 等式4
IBIFC(x,y)=clip(IBIF(x,y)) 等式5
ISAO(x,y)=SAO(IBIFC(x,y)) 等式6
ISAOC(x,y)=clip(ISAO(x,y)) 等式7
其中函数clip确保样本仍在其合法范围内,例如,对于10比特数据为[0,1023],IBIFC和ISAOC分别表示IBIF和ISAO的经裁剪版本。clip函数的示例可以是clip(x)=max(0,min(1023,x)),尽管一般地,可以将输出裁剪到任意范围。例如,在一个实施例中,从编码器以信号将最小裁剪值cmin和最大裁剪值cmin通知给解码器,然后使用clip(x)=max(cmin,min(cmax,x))执行裁剪。
如上所述,滤波器22、24二者接收相同的输入样本I(x,y):
IBIF(x,y)=BIF(I(x,y)) 等式8.1
ISAO(x,y)=SAO(I(x,y)) 等式8.2
在一个实施例中,组合26这些滤波器输出包括计算每个经滤波样本与输入样本之间的差:
ΔIBIF(x,y)=IBIF(x,y)-I(x,y) 等式9
ΔISAO(x,y)=ISAO(x,y)-I(x,y) 等式10
在该实施例中,组合后的值ICOMB只是输入样本加上两个差:
ICOMB(x,y)=I(x,y)+ΔIBIF(x,y)+ΔISAO(x,y) 等式11
一般地,滤波器22、24可以输出图像数据(例如,IBIF(x,y)、ISAO(x,y)),本文中被称为“经滤波图像数据”。备选地,滤波器22、24可以直接输出差值(例如,ΔIBIF(x,y)、ΔISAO(x,y)),本文中被称为“增量数据”。当然,在后一种情况下,等式9和等式10不是必要的,等式11会直接对滤波器22、24输出进行操作。
最终的值是通过对组合值ICOMB进行裁剪28产生的:
ICOMBC(x,y)=clip(ICOMB(x,y)) 等式12
应当注意的是,如果对两个以上的滤波器进行组合,则在所有滤波器的输出都被组合之前,不应应用裁剪。
请注意,如果滤波器22、24都输出经滤波图像数据,则不必生成两个增量数据值。相反,可以将任一增量与另一滤波器的经滤波图像相加:
ICOMB(x,y)=IBIF(x,y)+ΔISAO(x,y) 等式13
ICOMB(x,y)=ΔIBIF(x,y)+ISAO(x,y) 等式14
如上所述,实现了许多图像处理滤波器,使得使它们输出增量数据,而不是经滤波图像数据。作为示例,在
Figure BDA0003420904290000101
的论文中的双边滤波器的情况下,由该文档中的等式10给出最终经滤波像素值的计算:
IF=IC+((cmsum+4)>>3)(来自
Figure BDA0003420904290000102
的等式10)
其中IC是输入像素值,IF是经滤波像素值(输出),Cmsum是在先前步骤中计算的量。将它转换为本文使用的符号,则成为:
IBIF(x,y)=I(x,y)+((cmsum+4)>>3) 等式14.1
将该等式与等式9进行比较,很明显ΔIBIF(x,y)必须等于((cmsum+4)>>3)。因此,对于本发明的实施例与
Figure BDA0003420904290000103
的双边滤波器的结合,不必使用等式14.1来计算IBIF(x,y),然后再立即减去I(x,y),以便获得所需的量,即ΔIBIF(x,y)。相反,计算会是ΔIBIF(x,y)=((cmsum+4)>>3),这会是双边滤波器的输出。
一般地,滤波操作可以输出经滤波图像数据IFILTER(x,y),本文中被称为“经滤波图像数据”。备选地,滤波操作可以输出诸如ΔIFILTER(x,y)的差值,本文中被称为“增量数据”。具体地,双边滤波器和SAO滤波器都可以被实现为输出增量数据而不是经滤波图像数据。为了完整和清楚起见,在前一种情况下,等式8.1和8.2会被重写为:
ΔIBIF(x,y)=ΔBIF(I(x,y)) 等式14.2
ΔISAO(x,y)=ΔSAO(I(x,y)) 等式14.3
其中ΔBIF(I(x,y))表示输出增量数据的双边滤波器版本,例如在
Figure BDA0003420904290000111
的情况下,ΔBIF(I(x,y))=((cmsum+4)>>3)。类似地,ΔSAO(I(x,y))表示仅输出增量数据(即,每个像素的偏移,而不是偏移加输入)的SAO滤波器版本。在这种情况下,可以跳过等式9和等式10,可能使用等式11根据滤波器输出直接计算组合后的值ICOMB
图2的实施例20允许以很大的灵活性计算ICOMBC(x,y)。作为示例,能够先计算ΔIBIF(x,y),然后稍后计算ΔISAO(x,y)。另一种可能方式是先计算ΔISAO(x,y),然后稍后计算ΔIBIF(x,y)。这种灵活性是很有价值的,例如如果一个滤波器在数据的一部分上比较快,而另一滤波器在数据的另一部分上较快。通过图2中的实施例20,二者都可以全速进行,并且滤波永远不会比最慢的滤波器慢。这在等式4至7(图1)的布置下是不可能的。为简单起见,假设非常简单的滤波器,其中无论输入是什么,ΔIBIF(x,y)=4,并且ΔISAO(x,y)=-5。按照公式4至7,对于I(x,y)=1020的输入值,得到:
IBIF(x,y)=BIF(I(x,y))=1020+4=1024 等式15
IBIFC(x,y)=clip(IBIF(x,y))=clip(1024)=1023 等式16
ISAO=SAO(IBIFC(x,y))=1023-5=1018 等式17
ISAOC=clip(ISAO(x,y))=clip(1018)=1018 等式18
然而,以相反的顺序计算这些的解码器将得到不同的结果:
ISAO=SAO(I(x,y))=1020-5=1015 等式19
ISAOC=clip(ISAO(x,y))=clip(1015)=1015 等式20
IBIF(x,y)=BIF(ISAOC(x,y))=1015+4=1019 等式21
IBIFC(x,y)=clip(IBIF(x,y))=clip(1019)=1019 等式22
尽管误差仅是一个强度级别,但这将在解码过程中引发漂移,可能导致无界误差。因此,解码必须是比特精确的,并且解码器不能在等式15至18与等式19至22之间进行选择。事实上,现实中的情况比该过度简化的实力更糟,因为函数BIF(I(x,y))和SAO(I(x,y))以非线性方式取决于输入。这意味着,即使不进行裁剪,也不可能逆转等式15和等式17的顺序。然而,在图2中描绘及本文中关于等式8.1至12描述的并行滤波器操作执行中,可能重新布置计算的顺序。
图3描述了可以很好地适于硬件实现的解码器的实施例30。在该实施例中,硬件实现获取下一个像素(或一组像素)32,并应用第一滤波操作34(例如双边滤波器)和第二滤波操作36(例如SAO)。由滤波器34、36输出或计算ΔBIF(x,y)和ΔISAO(x,y),并且滤波器34、36输出被组合37和裁剪38,例如,使用ICOMBC=clip(I(x,y)+ΔISAO(x,y)+ΔIBIF(x,y))。然后,将值ICOMBC写入存储器或传递以用于进一步处理。该过程在图像数据32中的所有可用像素(或像素组)上重复39。该迭代过程避免了使两个滤波器34、36彼此不同步,并使系统的时钟频率更容易度量。
从硬件角度看,实施例30的另一优点在于BIF滤波器34和SAO 36二者使用相同数量的周围样本。由
Figure BDA0003420904290000121
提出的双边滤波器34使用以下样本作为输入:
IBIF(x,y)=BIF(I(x,y),I(x+1,y),I(x-1,y),I(x,y+1),I(x,y-1),I(x+1,y+1),I(x+1,y-1),I(x-1,y+1),I(x-1,y-1))。
SAO滤波器36访问相同的像素:
ISAO(x,y)=SAO(I(x,y),I(x+1,y),I(x-1,y),I(x,y+1),I(x,y-1),I(x+1,y+1),I(x+1,y-1),I(x-1,y+1),I(x-1,y-1))。
更详细地,SAO选择若干滤波器中的一个,主要是三样本滤波器:
SAOBO(I(x,y))
SAO135(I(x-1,y-1),I(x,y),I(x+1,y+1))
SAO90(I(x,y-1),I(x,y),I(x,y+1))
SAO45(I(x+1,y+1),I(x,y),I(x-1,y-1))
SAO0(I(x-1,y),I(x,y),I(x+1,y))
因此,SAO从不访问由BIF利用的像素之外的像素,且反之亦然--BIF从不访问SAO无法利用的像素。因此,像素32的集合在滤波器34、36之间是兼容的。对于硬件实现,这意味着存储器仅需要读取一次并存储一次,即,无需缓冲器,这占用了昂贵的硅表面积。
图4描述了找到一定适用性的解码器的实施例40,其中通过在计算设备(例如,数字信号处理器(DSP)或中央处理单元(CPU))上执行软件来执行第一滤波操作42和第二滤波操作45。在这种情况下,滤波操作42、45通常在图像数据的较大分区上执行,例如CTU,其通常为128×128样本。由于许多原因,可能希望或要求第一滤波操作42和第二滤波操作45顺序执行,而不是同时执行。从结构上看,滤波操作42、45仍然是并行执行的,因为每个滤波操作操作接收相同的图像数据作为输入。然而,这两个滤波操作42和45在不同的时间独立地循环处理图像数据,各自存储其输出。然后,获取这些输出作为组合操作47的一部分。组合后的输出然后被裁剪48,并传递以用于下游处理。
作为一个示例,图像数据41、44的CTU可以包括去块之后的图像数据。过程40可以对图像数据的所有CTU 43单独地进行迭代,执行双边滤波42并存储输出。过程40然后再次对相同图像数据的所有CTU 46进行循环,这次执行SAO滤波45并存储输出。然后,滤波操作42、45的输出在裁剪48之前被获取和组合47。
在时间上分离第一滤波操作42和第二滤波操作45可能是有利的原因之一是便于编写软件代码以实现滤波操作42、45,例如使用单指令多数据(SIMD)代码。顾名思义,SIMD在多个数据实例(例如像素)上执行一个指令,为开发非常高性能的图像处理软件提供了强有力的手段。然而,在任何特定的计算设备中,可用的寄存器数量是有限的,并且在相同的SIMD例程中,可能无法适于两个滤波,例如双边滤波42和SAO滤波45。另一原因是,第一滤波操作42和第二滤波操作45在执行中可能并不相通。例如,双边滤波42发生在整个图像数据上,而SAO滤波45对一些CTU关闭。因此,SAO滤波45可以提前退出并跳过整个CTU,如果滤波操作42、45在每个像素级别上组合,则很难做到这一点。
更进一步,两个滤波器可以以不同的方式遍历CTU,以便具有有效的实现。作为示例,将CTU被划分为被称为CU的较小的块,CU又被划分为被称为TU的较小的块。CTU的典型大小可以是128×128像素,而TU可以是8×8像素。对于双边滤波器,诸如滤波器强度的参数在TU上是恒定的。因此,如果双边滤波器通过在每个TU上独立地迭代来处理CTU,则实现可以非常有效,即,滤波强度可以在子例程的开始改变,而无需对每个像素更改。然而,如果忽略了TU结构并逐行处理CTU,则有必要在每个像素中检查滤波器强度应是多少。这会使它很难以SIMD代码有效地实现。例如,在
Figure BDA0003420904290000141
的文章中,滤波强度是由参数k1和k2确定的,它们取决于qp(在TU中始终相同)并取决于TU大小(在TU内自然始终相同)。相比之下,SAO滤波器不依赖于TU大小,因此,逐行处理CTU可以更有效,因为这可以带来缓存优势,因为图像在存储器中通常是逐行布置的。
图5中描绘了备选实施例50。在该实施例中,第二滤波操作53(例如SAO)总是在第一滤波操作52(例如双边滤波器)之后进行。对于每个CTU 51,首先使用去块之后的图像数据作为输入,在整个CTU 51上执行双边滤波52。然后,存储双边滤波器52的输出。然后,使用去块之后的图像数据作为输入,对同一CTU 51执行SAO滤波操作53。对于CTU 51中的每个像素,一旦SAO滤波操作53完成,就将该像素与来自双边滤波操作52的输出的对应像素组合54、裁剪55、然后存储。在对CTU 56中的每个像素进行了上述操作之后,继续对下一CTU 51实施该方法。该实施例50的优点是,与图4的实施例40中的完整图像相比,只需要存储一个值得双边滤波器52输出的CTU 51。正如在图4中一样,在该实施例50中也可能在两个滤波操作52、53中以不同方式遍历像素。例如,第一滤波操作52可以逐个TU遍历CTU 51,而第二滤波操作53可以逐行遍历CTU 51。
图6描绘了解码器的又一实施例60,其中单独的处理器(也被称为CPU(或单个多核CPU中的独立内核))各自对整个图像数据执行滤波操作62、64。在该实施例60中,将图像数据“划分”为仅一个分区,即整个图像。然后由两个计算引擎处理该数据,例如,CPU0对整个图像数据执行双边滤波62,CPU1对整个图像数据执行SAO滤波64。滤波操作62、64的输出然后被组合66、裁剪68、并传到下游以用于进一步处理。在一些具有非常大的图像数据的实施例中,每个处理器可以在非常大的分区上迭代地执行其滤波62、64,这些分区小于整个图像数据。
对图像数据进行编码所需的滤波与解码中使用的滤波类似,但有一些例外,例如必须估计一些滤波器(例如SAO)的参数。这些参数的示例包括使用哪个滤波器SAOBO、SAO0、SAO45、SAO90还是SAO135,以及决定偏移强度。
图7描绘了传统的编码方法70,其中对(例如,去块之后的)输入图像数据执行双边滤波和裁剪72。经滤波数据然后被SAO滤波器参数估计函数74使用,以估计用于SAO滤波器76的参数。SAO滤波器76接收来自双边滤波操作72的经滤波图像数据和来自估计函数74的参数。SAO滤波操作76包括裁剪。SAO滤波操作76的输出然后被发送给下游,例如发送给ALF滤波。这种方法与图1的实现10存在相同的缺陷,例如,两个滤波操作72、76的执行速度中的差异会导致效率低下。
图8描绘了根据本发明的实施例的用于编码器的组合滤波的实施例80。与图2中一样,滤波操作82、86二者在相同的输入图像数据上操作,因此是并行执行的(尽管不必同时执行)。SAO滤波器参数估计函数84也在输入图像数据上操作,并提供用于SAO滤波操作86的参数。在将第一滤波操作82和第二滤波操作86的输出传递给下游以用于进一步处理之前,对它们进行组合88和裁剪89。
在一些方面,可以改进图8的实施例80。在处理之后,组合后的图像将包含双边滤波,但是在图8的实施例80的图中,SAO参数估计框并不知道双边滤波的结果。作为示例,假设像素中的输入强度值I(x,y)=500与原始值510相比太低了,其理想值应该提高10个强度水平。双边滤波器可以能够通过选择ΔIBIF(x,y)=10来完全校正这一点。然而,SAO滤波器仅接收输入I(x,y),它低了10个水平,但也可以通过选择ΔISAO(x,y)=10来校正它。结果然后将是组合后的值ICOMB=I(x,y)+ΔIBIF(x,y)+ΔISAO(x,y)=500+10+10=520,它高出10个水平而不是低了10个水平,即,发生了过度校正,这并不比未经滤波的像素值I(x,y)好。
图9描述了解决该缺陷的实施例90。在实施例90中,(例如,去块之后的)输入图像数据首先被双边滤波92,然后被发送给SAO参数估计函数94。这与图8描绘的实施例80形成对比,其中使用输入图像数据作为SAO参数估计84的输入。通过使用经双边滤波的输出作为输入,SAO参数估计过程94知道双边滤波92所应用的校正。此外,在这种布置下,SAO滤波操作96使用输入图像数据(即与双边滤波操作92相同的数据)作为输入。这与图7所示的传统编码器不同,图7中的滤波器使用双边滤波器72的输出作为SAO滤波操作76的输入。
应当注意的是,与使用图1和图7所示的传统方法相比,使用图2和图9中描绘的布置时,两个滤波操作92、96的性能可能略有下降。这是由于SAO滤波在其估计步骤和其滤波步骤中使用了不同的输入。然而,根据本发明执行的测量,这种性能下降非常小;BD率从-0.43%下降到-0.42%。使用本发明的实施例获得的更大的灵活性显然应当抵消这种性能下降。
另一点需要注意的是,即使解码器使用产生差异的滤波器,例如上述等式14.2中的ΔBIF(I(x,y)),但在向SAO参数估计过程94提供输入时不能使用这种类型的滤波器。原因在于SAO过程94期待的是可以与原始图像数据直接比较的图像数据。因此,在本发明的一个实施例中,解码器可以使用输出增量数据ΔBIF(I(x,y))的双边滤波器92,但是编码器在向随后的滤波器96的参数估计过程94产生输入时,可以使用输出经滤波图像数据BIF(I(x,y))的双边滤波器92。
尽管没有明确描述,但是图9的体系结构很容易优化以适于在硬件(与图3类似)、软件(与图4或图5类似)或由单独的CPU进行整个(或大的)图像处理(与图6类似)。本领域技术人员将意识到,这些实施例可以直接扩展到编码器的情况。
对滤波器输出进行组合26、37、47、54、66、88、98的步骤不限于如等式9至11所示的加法。在一个实施例中,组合可以是乘法。在该实施例中,计算经滤波图像数据与图像数据的比率,并将图像数据与这些比率相乘。例如:
rBIF(x,y)=IBIF(x,y)/I(x,y) 等式23
rSAO(x,y)=ISAO(x,y)/I(x,y) 等式24
ICOMB(x,y)=I(x,y)*rBIF(x,y)*rSAO(x,y) 等式25
在一个实施例中,为了确保避免除以零的操作,在分子和分母中使用常数偏移α。
rBIF(x,y)=(IBIF(x,y)+α)/(I(x,y)+α) 等式23’
rSAO(x,y)=(ISAO(x,y)+α)/(I(x,y)+α) 等式24’
ICOMB(x,y)=I(x,y)*rBIF(x,y)*rSAO(x,y) 等式25
以这种方式,例如,当I(x,y)接近或等于0时,比率rBIF(x,y)将接近稳定值,而不是不稳定或未定义的。
图10描绘了图像处理设备100的框图,其可以实现本发明描述的实施例和本文的权利要求。图像处理设备100可以包括定制的硬件,该定制硬件是为执行包括滤波操作在内的图像处理功能而优化的。备选地,图像处理设备100可以包括通用计算设备,通用计算设备被编程以执行包括滤波操作在内的图像处理功能。在任一情况下,图像处理设备100可以实现图像或视频编码器、解码器或二者,以及其他功能。在一个实施例中,图像处理设备100可以包括一个或多个处理器101、存储器102、输入/输出(I/O)电路103、用户接口104和/或显示器105。这些组件通过一个或多个总线106以数据通信关系连接。在一些情况下,这些组件中的一些可以不存在,或者可以以与另一或其他未示出的组件的各种组合来结合。这些组件可能位于单个物理实体中或位于一个以上的物理实体中。本文描述的由处理器101采取的任何动作可以由处理器101单独执行,或者由处理器101与图中示出或未示出的一个或多个组件(例如,数字信号处理器(DSP)、图形协处理器等)结合执行。
处理器101可以包括任意一个或多个顺序的状态机,可操作以执行作为机器可读计算机程序存储在存储器102中的机器指令,例如一个或多个硬件实现的状态机(例如,在离散逻辑、FPGA、ASIC等中);与适当的固件一起的可编程逻辑;一个或多个存储的程序、通用处理器(例如,微处理器或数字信号处理器(DSP)),或上述的任意组合。在一些实施例中,处理器是多核处理器,其包括两个或更多个处理核或指令执行通道,并且可操作以基本同时地执行两个或更多个图像滤波操作。一般地,处理器101执行指令、代码、计算机程序或脚本,它可以从存储器102或从一个或多个经由I/O电路103存取的设备(未显示)存取这些指令、代码、计算机程序或脚本。虽然只示出了一个处理器101,但是也可以存在多个处理器。
存储器102可以包括本领域已知的或可能开发的任何非暂时性机器可读介质,包括但不限于磁介质(例如软盘、硬盘等)、光学介质(例如CD-ROM、DVD-ROM等)、固态介质(例如SRAM、DRAM、DDRAM、ROM、PROM、EPROM、闪存、固态光盘等)等等。存储器可以存储要处理的图像数据、中间滤波操作输出和组合后的滤波操作输出,以及用于处理器101的指令。尽管备描绘为单独的实体,但是本领域技术人员可以理解,许多处理器101包括多种形式的存储器102(例如,寄存器、高速缓存、CAM等)。
I/O电路103提供与任意数量的外部设备或接口的连接和数据通信/传输。I/O电路103可以采用一个或多个调制解调器、调制解调器组、以太网设备、通用串行总线(USB)接口设备、串行接口、令牌环设备、光纤分布式数据接口(FDDI)设备、无线局域网(WLAN)设备、无线电收发机设备(例如3G、4G或5G无线蜂窝网络接口设备、全球微波接入互操作性(WiMAX)设备)和/或其他用于连接到网络的已知设备。I/O电路103可以使处理器101与互联网、或一个或多个电信网络、或其他网络进行通信,处理器101可能从这些网络接收信息或向这些网络输出信息。
尽管许多独立的专用图像处理设备100可以具有最小的用户接口或者没有用户接口,但是在一些实施例中,图像处理设备100包括一个或多个用户接口104。这些可以包括例如键盘、小键盘、开关、拨盘、鼠标、滚迹球、语音识别器、触摸屏等。
显示器105可以包括用于显示适于图像处理设备100的信息的任何合适的显示单元。另外,显示器105可以被实现为附加的用户接口104设备,例如触摸屏、触控板、触屏面板等。触摸屏技术允许使用显示器105作为输入设备,以移除或增强键盘和/或鼠标,作为与显示器105上提供的内容进行交互的主输入设备。在一个实施例中,例如,显示器105可以被实现为液晶显示器(LCD)或其他类型的合适的视觉接口。显示器105可以包括例如触摸敏感的彩色显示屏幕。
本领域技术人员将理解白,在任何特定实现中,图像处理设备100可以包括图10中描绘的组件和接口中的仅一些。相反,图10不旨在描述详尽的电路列表,并且图像处理设备100可以包括许多其他的功能和特性。
图11描绘了一种对图像数据应用多个不同的滤波器操作的方法110。例如,该方法110可以作为计算机软件在图像处理设备100的处理器101上执行。将图像数据划分为一个或多个数据分区(框111)。针对图像数据的每个分区,对图像数据的当前分区应用第一滤波操作,以生成第一经滤波图像数据和第一增量数据中之一(框112)。对图像数据的当前分区应用第二滤波操作,以生成第二经滤波图像数据和第二增量数据之一(框113);将针对当前分区的第一滤波操作和第二滤波操作的输出组合,以生成组合后的经滤波图像数据(框114)。对当前分区的组合后的经滤波图像数据进行裁剪(框115)。迭代地重复该过程,直到图像数据的所有分区都已被处理(框116)。
与现有技术中已知的滤波方法相比,本发明的实施例呈现了许多优点。将第一滤波操作与第二滤波操作组合,降低了与过多环路滤波器级相关联的实现问题,这些环路滤波器级可能失去同步。此外,它提供了与具有单独环路滤波器级大致相同的压缩效率增益。本发明的实施例还使得可以对组合滤波器在解码器或编码器实现中的紧耦合程度如何进行选择。例如,如果将双边滤波器与SAO滤波组合,则硬件实现可以选择完全以锁步方式实现解码或编码,使得每个样本都使用双边滤波器和SAO一起进行滤波,然后转到下一个样本等。然而,软件实现可以优选在整个CTU上先应用双边滤波器,例如,这可以用SIMD指令有效地完成,然后对同一CTU应用SAO。甚至可能先应用SAO,然后应用双边滤波器,结果完全相同,这对避免解码器漂移至关重要。此外,CPU的实现可以决定在一个CPU核上用双边滤波器滤波整个图像,同时在另一CPU核上对整个图像执行SAO。
可以通过一个或多个功能单元或一个或多个虚拟装置的模块来执行本文公开的任何适当的步骤、方法、特征、功能或益处。每个虚拟装置可以包括多个这些功能单元。这些功能单元可以经由处理电路实现,处理电路可以包括一个或多个微处理器或微控制器以及其他数字硬件(可以包括数字信号处理器(DSP)、专用数字逻辑等)。处理电路可以被配置为执行存储在存储器中的程序代码,该存储器可以包括一种或多种类型的存储器,例如只读存储器(ROM)、随机存取存储器(RAM)、高速缓冲存储器、闪存设备、光存储设备等。存储在存储器中的程序代码包括用于执行一个或多个电信和/或数据通信协议的程序指令以及用于执行本文所述的一种或多种技术的程序指令。在一些实现中,处理电路可用于使相应功能单元根据本公开的一个或一个实施例执行对应功能。
通常,除非明确给出和/或从上下文中暗示不同的含义,否则本文中使用的所有术语将根据其在相关技术领域中的普通含义来解释。如本文所使用的,术语“适于”表示设置、组织、配置或布置来以特定方式操作;该术语与“被设计为”同义。如本文所使用的,术语“大约”、“基本上”等包含并说明了机械公差、测量误差、随机变化和类似的不精确性来源。除非另有明确说明,否则对“一/一个/元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为指代元件、设备、组件、装置、步骤等中的至少一个实例。除非必须明确地将一个步骤描述为在另一个步骤之后或之前和/或隐含地一个步骤必须在另一个步骤之后或之前,否则本文所公开的任何方法的步骤不必以所公开的确切顺序执行。在适当的情况下,本文公开的任何实施例的任何特征可以应用于任何其他实施例。同样地,任何实施例的任何优点可以适用于任何其他实施例,反之亦然。通过描述,所附实施例的其他目的、特征和优点将显而易见。
术语单元可以具有电子、电气设备和/或电子设备领域中的常规意义,并且可以包括例如电气和/或电子电路、设备、模块、处理器、存储器、逻辑固态和/或分离设备、用于执行相应任务、程序、计算、输出和/或显示功能的计算机程序或指令等,如本文描述的那些。
参考附图更全面地描述了本文中设想的一些实施例。然而,其他实施例包含在本文描述的主题的范围内。所公开的主题不应被解释为仅限于本文阐述的实施例;相反,这些实施例仅作为示例提供,以将主题的范围传达给本领域技术人员。当然,在不脱离本发明的本质特征的情况下,本发明可以以不同于本文具体阐述的那些方式的其他方式来实施。所提出的实施例在所有方面都被认为是说明性的而不是限制性的,并且落入所附权利要求的含义和等同范围内的所有改变旨在被包含在其中。

Claims (35)

1.一种对图像数据应用多个不同的滤波器操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96)的方法(110),其特征在于:
将所述图像数据划分(111)为一个或多个分区(32、51);以及
针对图像数据的每个分区(32、51):
对图像数据的当前分区(32、51)应用(112)第一滤波操作(22、34、42、52、62、82、92),以生成第一经滤波图像数据和第一增量数据之一;
对图像数据的当前分区(32、51)应用(113)第二滤波操作(24、36、45、53、64、86、96),以生成第二经滤波图像数据和第二增量数据之一;
将针对所述当前分区(32、51)的第一滤波操作和第二滤波操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96)的输出组合(114),以生成组合后的经滤波图像数据;以及
对当前分区(32、51)的组合后的经滤波图像数据进行裁剪(115)。
2.根据权利要求1所述的方法(110),还包括:基于所述第一滤波操作(82、92)的输出来估计用于所述第二滤波操作(86、96)的一个或多个参数(84、94);并且其中,应用(113)第二滤波操作(86、96)包括使用一个或多个经估计的参数(84、94)来应用所述第二滤波操作(86、96)。
3.根据权利要求2所述的方法(110),其中,经估计的参数(84、94)之一建立了图像数据中应用所述第二滤波操作(86、96)的分区的范围。
4.根据权利要求1所述的方法(110),其中,在图像或视频解码器中执行所述滤波操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96)。
5.根据权利要求1至4中任一项所述的方法(110),其中,
每个分区包括整个图像数据;
应用(112)第一滤波操作(62)包括使用第一处理单元CPU0对整个图像数据应用所述第一滤波操作(62);以及
应用(113)第二滤波操作(64)包括使用第二处理单元CPU1对整个图像数据应用所述第二滤波操作(64)。
6.根据权利要求1至4中任一项所述的方法(110),其中,
每个分区包括编码树单元CTU(41、44、51);
应用(112)第一滤波操作(42、52)包括在第一时间执行对图像数据的当前CTU(41、51)应用所述第一滤波操作(42、52)的软件;
应用(113)第二滤波操作(45、53)包括在不同于所述第一时间的第二时间执行对图像数据的当前CTU(44、51)应用所述第二滤波操作(45、53)的软件。
7.根据权利要求6所述的方法(110),其中,执行对图像数据的当前CTU(41、44)应用(112、113)第一滤波操作和第二滤波操作(42、44)之一的软件包括:在寄存器不足以同时执行这两个滤波操作(42、44)的计算设备上执行单指令多数据SIMD指令。
8.根据权利要求1至4中任一项所述的方法(110),其中,
每个分区包括一组像素;
应用(112)第一滤波操作(34)包括使用硬件对当前像素组应用所述第一滤波操作(34);以及
应用(113)第二滤波操作(36)包括使用硬件对当前像素组应用所述第二滤波操作(36)。
9.根据权利要求1至4中任一项所述的方法(110),其中,图像数据的每个分区包括一个或多个像素,并且其中,在处理图像数据的下一分区之前,对图像数据的每个分区执行所述第一滤波操作(22、34、42、52、62、82、92)、所述第二滤波操作(24、36、45、53、64、86、96)、组合(26、37、47、54、66、88、98)操作和裁剪(28、38、48、55、68、89、99)操作。
10.根据权利要求1至9中任一项所述的方法(110),其中,将针对当前分区的第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)的输出组合(26、37、47、54、66、88、98)包括:针对图像数据的每个分区,
如果所述第一滤波操作(22、34、42、52、62、82、92)生成第一经滤波图像数据,则将第一增量数据计算为所述图像数据与所述第一经滤波图像数据之间的差;
如果所述第二滤波操作(24、36、45、53、64、86、96)生成第二经滤波图像数据,则将第二增量数据计算为所述图像数据与所述第二经滤波图像数据之间的差;以及
对所述图像数据、所述第一增量数据和所述第二增量数据求和。
11.根据权利要求1至9中任一项所述的方法(110),其中,将针对当前分区的第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)的输出组合(26、37、47、54、66、88、98)包括:针对图像数据的每个分区,
如果所述第一滤波操作(22、34、42、52、62、82、92)生成经滤波图像数据,则将第一增量数据计算为所述图像数据与所述第一经滤波图像数据之间的差;以及
如果所述第二滤波操作(24,36,45,53,64,86,96)生成经滤波图像数据,则对所述第一增量数据与所述第二经滤波图像数据求和。
12.根据权利要求1至9中任一项所述的方法(110),其中,将针对当前分段的第一经滤波图像数据和第二经滤波图像数据组合包括:针对图像数据的每个分段,
计算第一经滤波图像数据与图像数据的第一比率;
计算第二经滤波图像数据与图像数据的第二比率;以及
将所述图像数据与所述第一比率和所述第二比率相乘。
13.根据权利要求12所述的方法(110),其中,将所述第一比率和所述第二比率计算为通过常数值偏移的相应第一经滤波图像数据和第二经滤波图像数据与通过常数值偏移的图像数据的比率。
14.根据权利要求12所述的方法(110),其中,对所述组合后的经滤波图像数据进行裁剪(28、38、48、55、68、89、99)包括确保数据在预定范围内。
15.根据权利要求14所述的方法(110),其中,裁剪函数为:
clip(x)=max(0,min(2n-1,x)),其中n是像素数据的比特长度,min(x)是选择两个参数中的最小值的函数,max(x)是选择两个参数中的最大值的函数。
16.根据上述任一项权利要求的方法(110),其中,第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)能够包括以下一个或多个:后重构双边滤波、双边环路滤波、后重构哈达玛滤波、双边哈达玛滤波、去块滤波、样本自适应偏移SAO滤波和自适应环路滤波器ALF滤波。
17.根据权利要求16所述的方法(110),其中,
所述第一滤波操作(22、34、42、52、62、82、92)是双边滤波操作;以及
所述第二滤波操作(24、36、45、53、64、86、96)是SAO滤波操作。
18.根据权利要求17所述的方法(110),其中,所述方法(110)在去块滤波操作之后且在ALF滤波操作之前。
19.一种图像处理设备(100),适于对图像数据应用多个不同的滤波器操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96),其特征在于,至少一个处理器(101)适于:
将所述图像数据划分(111)为一个或多个分区(32、51);以及
针对图像数据的每个分区(32、51):
对图像数据的当前分区(32、51)应用(112)第一滤波操作(22、34、42、52、62、82、92),以生成第一经滤波图像数据和第一增量数据之一;
对图像数据的当前分区(32、51)应用(113)第二滤波操作(24、36、45、53、64、86、96),以生成第二经滤波图像数据和第二增量数据之一;
将针对当前分区(32、51)的第一滤波操作和第二滤波操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96)的输出组合(114),以生成组合后的经滤波图像数据;以及
对当前分区(32、51)的组合后的经滤波图像数据进行裁剪(115)。
20.根据权利要求19所述的设备(100),其中,所述处理器(101)还适于:基于所述第一滤波操作(82、92)的输出来估计用于所述第二滤波操作(86、96)的一个或多个参数(84、94);并且其中,所述处理器(101)适于通过使用一个或多个经估计的参数(84、94)应用第二滤波操作(86、96)来应用(113)所述第二滤波操作(86、96)。
21.根据权利要求20所述的设备(100),其中,经估计的参数(84、94)之一建立了图像数据中应用所述第二滤波操作(86、96)的片段的范围。
22.根据权利要求19所述的设备(100),其中,在图像或视频解码器中执行所述滤波操作(22、24、34、36、42、45、52、53、62、64、82、86、92、96)。
23.根据权利要求19至22中任一项所述的设备(100),其中,
每个分区包括整个图像数据;
所述处理器(101)适于通过使用第一处理单元CPU0对整个图像数据应用第一滤波操作(62)来应用(112)所述第一滤波操作(62);以及
所述处理器(101)适于通过使用第二处理单元CPU1对整个图像数据应用第二滤波操作(64)来应用(113)所述第二滤波操作(64)。
24.根据权利要求19至22中任一项所述的设备(100),其中,
每个分区包括编码树单元CTU(41、44、51);
所述处理器(101)适于通过在第一时间执行对图像数据的当前CTU(41、51)应用第一滤波操作(42、52)的软件来应用(112)所述第一滤波操作(42、52);以及
所述处理器(101)适于通过在不同于所述第一时间的第二时间执行对图像数据的当前CTU(44、51)应用第二滤波操作(45、53)的软件来应用(113)所述第二滤波操作(43、53)。
25.根据权利要求24所述的设备(100),其中,执行对图像数据的当前CTU(41、44)应用(112、113)第一滤波操作和第二滤波操作(42、44)之一包括:在寄存器不足以同时执行这两个滤波操作(42、44)的计算设备上执行单指令多数据SIMD指令。
26.根据权利要求19至22中任一项所述的设备(100),其中,
每个分区包括一组像素;
所述处理器(101)适于应用(112)第一滤波操作(34)包括:使用硬件对当前像素组应用所述第一滤波操作(34);以及
所述处理器(101)适于应用(113)第二滤波操作(36)包括:使用硬件对当前像素组应用所述第二滤波操作(36)。
27.根据权利要求19至22中任一项所述的设备(100),其中,图像数据的每个分区包括一个或多个像素,并且其中,所述处理器适于在处理图像数据的下一分区之前,对图像数据的每个分区执行所述第一滤波操作(22、34、42、52、62、82、92)、所述第二滤波操作(24、36、45、53、64、86、96)、组合(26、37、47、54、66、88、98)操作和裁剪(28、38、48、55、68、89、99)操作。
28.根据权利要求19至27中任一项所述的设备(100),其中,所述处理器(101)适于通过以下操作将针对当前分区的第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)的输出组合(26、37、47、54、66、88、98):针对图像数据的每个分区,
如果所述第一滤波操作(22、34、42、52、62、82、92)生成第一经滤波图像数据,则将第一增量数据计算为所述图像数据与所述第一经滤波图像数据之间的差;
如果所述第二滤波操作(24、36、45、53、64、86、96)生成第二经滤波图像数据,则将第二增量数据计算为所述图像数据与所述第二经滤波图像数据之间的差;以及
对所述图像数据、所述第一增量数据和所述第二增量数据求和。
29.根据权利要求19至27中任一项所述的设备(100),其中,所述处理器(101)适于通过以下操作将针对当前分区的第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)的输出组合(26、37、47、54、66、88、98):针对图像数据的每个分区,
如果所述第一滤波操作(22、34、42、52、62、82、92)生成经滤波图像数据,则将第一增量数据计算为所述图像数据与所述第一经滤波图像数据之间的差;以及
如果所述第二滤波操作(24,36,45,53,64,86,96)生成经滤波图像数据,将对所述第一增量数据和所述第二经滤波图像数据求和。
30.根据权利要求19至27中任一项所述的设备(100),其中,所述处理器(101)适于通过以下操作将针对当前片段的第一经滤波图像数据和第二经滤波图像数据组合:针对图像数据的每个片段,
计算第一经滤波图像数据与图像数据的第一比率;
计算第二经滤波图像数据与图像数据的第二比率;以及
将所述图像数据与所述第一比率和所述第二比率相乘。
31.根据权利要求30所述的设备(100),其中,将所述第一比率和所述第二比率计算为通过常数值偏移的相应第一经滤波图像数据和第二经滤波图像数据与通过常数值偏移的图像数据的比率。
32.根据权利要求30所述的设备(100),其中,所述处理器(101)适于通过确保数据在预定范围内来对组合后的经滤波图像数据进行裁剪(28、38、48、55、68、89、99)。
33.根据权利要求32所述的设备(100),其中裁剪函数为:
clip(x)=max(0,min(2n-1,x)),其中n是像素数据的比特长度,min(x)是选择两个参数中的最小值的函数,max(x)是选择两个参数中的最大值的函数。
34.根据权利要求19至33中任一项所述的权利要求的设备(100),其中,第一滤波操作(22、34、42、52、62、82、92)和第二滤波操作(24、36、45、53、64、86、96)能够包括以下一个或多个:后重构双边滤波、双边环路滤波、后重构哈达玛滤波、双边哈达玛滤波、去块滤波、样本自适应偏移SAO滤波和自适应环路滤波器ALF滤波。
35.根据权利要求34所述的设备(100),其中,
所述第一滤波操作(22、34、42、52、62、82、92)是双边滤波操作;以及
所述第二滤波操作(24、36、45、53、64、86、96)是SAO滤波操作。
CN202080045132.XA 2019-06-24 2020-06-24 用于图像处理的组合环路滤波 Pending CN114041290A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962865533P 2019-06-24 2019-06-24
US62/865,533 2019-06-24
PCT/EP2020/067746 WO2020260415A1 (en) 2019-06-24 2020-06-24 Combined loop filtering for image processing

Publications (1)

Publication Number Publication Date
CN114041290A true CN114041290A (zh) 2022-02-11

Family

ID=71143744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080045132.XA Pending CN114041290A (zh) 2019-06-24 2020-06-24 用于图像处理的组合环路滤波

Country Status (4)

Country Link
US (1) US11924416B2 (zh)
EP (1) EP3987811A1 (zh)
CN (1) CN114041290A (zh)
WO (1) WO2020260415A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4315852A1 (en) * 2021-03-30 2024-02-07 Telefonaktiebolaget LM Ericsson (publ) Combined loop filtering

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016146158A1 (en) 2015-03-16 2016-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive clipping in filtering
US10609417B2 (en) 2016-05-23 2020-03-31 Mediatek Inc. High efficiency adaptive loop filter processing for video coding
US20190082176A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated Non-local bilateral filter

Also Published As

Publication number Publication date
WO2020260415A1 (en) 2020-12-30
EP3987811A1 (en) 2022-04-27
US11924416B2 (en) 2024-03-05
US20220329791A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
JP2024097853A (ja) アップサンプリングを使用した行列ベースのイントラ予測
US11509892B2 (en) Apparatus and method for filtering in video coding
KR20210129151A (ko) 루프 필터링 구현 방법 및 장치
US20140064366A1 (en) Intra-Prediction Estimation Using Approximate Reconstructed Samples
CN114041290A (zh) 用于图像处理的组合环路滤波
CN110381321B (zh) 一种用于运动补偿的插值计算并行实现方法
WO2022268185A1 (en) Bilateral filter in video coding
Hautala et al. Programmable lowpower implementation of the HEVC adaptive loop filter
CN110249630B (zh) 去块效应滤波装置、方法和存储介质
Ayadi et al. A novel deblocking filter architecture for H. 264/AVC
JP7524433B2 (ja) フィルタリングを用いた行列ベースイントラ予測
WO2022268186A1 (en) Conditions for usage of adaptive bilateral filters
WO2023274370A1 (en) Advanced bilateral filter in video coding
CN114503559B (zh) 用于视频译码中的帧间预测装置和方法的插值滤波器
WO2022268184A1 (en) Adaptive Bilateral Filter In Video Coding
WO2022194197A1 (en) Separate Tree Coding Restrictions
WO2024149353A1 (en) Jointly coding of texture and displacement data in dynamic mesh coding
JP2023164589A (ja) フィルタリングを用いた行列ベースイントラ予測

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