CN1717055A - 使用子宏块移位寄存器阵列的解块滤波装置和方法 - Google Patents

使用子宏块移位寄存器阵列的解块滤波装置和方法 Download PDF

Info

Publication number
CN1717055A
CN1717055A CNA2005100813722A CN200510081372A CN1717055A CN 1717055 A CN1717055 A CN 1717055A CN A2005100813722 A CNA2005100813722 A CN A2005100813722A CN 200510081372 A CN200510081372 A CN 200510081372A CN 1717055 A CN1717055 A CN 1717055A
Authority
CN
China
Prior art keywords
macro block
sub
register
filtering operation
component filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100813722A
Other languages
English (en)
Other versions
CN1717055B (zh
Inventor
裵钟佑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1717055A publication Critical patent/CN1717055A/zh
Application granted granted Critical
Publication of CN1717055B publication Critical patent/CN1717055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • 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/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • 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

Landscapes

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

Abstract

一种解块滤波器的寄存器阵列,包含:第一寄存器,被配置为存储对应于要被滤波的宏块中的子宏块的图像数据量;第二寄存器,被配置为存储对应于子宏块中一部分的图像数据量,其中该子宏块邻近要被滤波的宏块的第一边缘;以及第三寄存器,被配置为存储对应于整个子宏块的图像数据量,其中该整个子宏块邻近要被滤波的宏块的第二边缘。该第一、第二和第三寄存器被进一步配置为,通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分,支持对该子宏块中的部分的顺序水平和垂直分量滤波。

Description

使用子宏块移位寄存器阵列的解决滤波装置和方法
技术领域
本发明涉及图像处理装置、方法和计算机程序产品,尤其涉及解块滤波装置、方法和计算机程序产品。
此美国非临时专利申请要求在2004年7月2日提交的韩国专利申请2004-51641在35U.S.C.§119项下的优先权,其全部内容通过引用合并于此。
背景技术
许多图像处理系统使用通过标准视频编解码(Standard Video Codec)压缩的图像数据。通常,视频编解码可以使用由国际电信联盟(ITU)推荐的H.261、H.262、和H.263以及运动图像专家组(MPEG)推荐的MPEG-1、MPEG-2、MPEG-3、和MPEG-4的编解码标准。能够实现更高压缩率的H.264视频编解码的研究和标准化工作目前正在进行中。
在图1所示的传统视频解码器系统中,编码的图像数据通过在图象处理器中的解码过程恢复为原始数据,并且显示在屏幕上。参见图1,传统的视频解码器系统包含:句法分析器102,多个用于对编码的图像数据进行解码的硬件模块104、106、108、和110,存储器712、以及外围设备DMA。这些部件通过总线120交换数据传输。作为硬件模块的示例,示出了熵解码器104、逆变换器106、预测器108、以及解块(deblocking)滤波器110。编码的图像数据由相应的硬件模块顺序处理,并且恢复为原始数据。在解码过程期间,相应的模块从内部存储器112,诸如外部存储器或者SRAM中访问和读出数据,或者在其中存储处理过的数据。
图像数据以宏块的形式压缩。当把图像数据恢复到原始数据时,由于斜率或者图像数据值的间断性,可能出现截面尺寸效应,其在恢复的图像数据中的块之间的边界处产生宏块中的不同屏幕。截面尺寸效应表现为可容易地感知的、沿着块之间边界的方形格子,导致主观图像质量的恶化。解块滤波器110起减少截面尺寸效应的作用。
图2为说明解块滤波器110的操作的框图。解块滤波器110选择其中要执行滤波操作的边缘(步骤S210),从外部存储器200或者内部存储器112读取相应边缘的像素数据,并且在解块滤波器110的寄存器阵列204中存储读取的像素数据(步骤S212)。解块滤波器110保持真实图像的边缘部分,并且确定边界滤波器的滤波强度,以防止过度滤波(步骤S214)。解块滤波器110将边界滤波器的滤波强度和阈值进行比较,并且依据该比较结果最终判断是否执行滤波操作(步骤S216)。当执行滤波操作时,解块滤波器110使用存储在寄存器阵列204中的相应边缘的像素数据,执行滤波操作(步骤S218)。来自滤波操作的像素被输出到外部接收器。H.264/AVC的标准中描述了用于这样一个解块过程的算法。
因为以宏块为单位压缩图像数据可导致截面尺寸效应,所以也可以以宏块为单位执行解块滤波器中的边缘滤波。图3为说明用于一个宏块的滤波操作的视图。参见图3,基于位于当前宏块(MB)左边的宏块A和位于当前宏块上面的宏块B执行用于当前宏块的滤波操作。对于当前宏块的边缘滤波,使用宏块A的数据和宏块B的数据。
可以执行用于像素的亮度分量和色度分量的滤波操作。图4A为显示了用于一个宏块的亮度分量的滤波操作序列的图。图4B为显示了用于一个宏块的色度分量的滤波操作序列的图。
宏块一般包含16×16的像素块。如图4A所示,在用于一个宏块的亮度分量的滤波操作中,顺序执行用于4个垂直边界和4个水平边界的滤波操作。即,亮度分量的滤波操作按a,b,c,d,e,f,g,和h的次序执行。如图4B所示,在用于一个宏块的色度分量的滤波操作中,以两个接着两个的方式,顺序地执行用于垂直边界i和j以及水平边界k和l的滤波操作。通常,在用于亮度分量的滤波操作执行之后,执行用于色度分量的滤波操作。
图5A为示出当执行用于一个垂直边界的滤波操作时所使用的像素的图。图5B为示出当执行用于一个水平边界的滤波操作时所使用的像素的图。如图5A和5B所示,在左右四个像素上执行用于一个垂直边界的滤波操作。同样地,在上下四个像素上执行用于一个水平边界的滤波操作。
在传统的滤波操作期间,特别是当为水平边界执行垂直分量的滤波操作时,因为要访问八个上下像素并且在其上执行操作,所以每次滤波操作可需要八次存储器访问。为了为一个宏块执行垂直分量的滤波操作,可能需要总共768个周期。因此,在用于具有高质量图像数据的滤波操作中,可能存在时间延迟。因此,实时处理高质量的图像数据可能是困难的。
发明内容
依据本发明的某些实施例,解块滤波器的寄存器阵列包含:第一寄存器,被配置为存储对应于要被滤波的宏块中的子宏块的图像数据量;第二寄存器,被配置为存储对应于子宏块中的一部分的图像数据量,其中该子宏块邻近要被滤波的宏块的第一边缘;以及第三寄存器,被配置为存储对应于整个子宏块的图像数据量,其中该子宏块邻近要被滤波的宏块的第二边缘。第一、第二和第三寄存器被进一步配置为,通过经由第一、第二和第三寄存器顺序地移位要被滤波的宏块的子宏块中的部分,支持对该子宏块中的部分的顺序水平和垂直分量滤波。
在某些实施例中,第一和第二寄存器被配置为,通过经由第一和第二寄存器循环移位该子宏块的部分,支持对该子宏块中的这些部分的顺序水平分量滤波操作。顺序水平分量滤波操作可以包含:对第二寄存器中的数据与第一寄存器一部分中的数据的组合的顺序滤波操作。在进一步的实施例中,第一和第三寄存器被配置为,支持对子宏块中的多个部分的并行垂直分量滤波操作。第一、第二和第三寄存器可以被配置为从解块滤波器的内部存储器接收图像数据。
在本发明的某些实施例中,第一和第三寄存器是16×4寄存器,而且第二寄存器是4×4寄存器。子宏块可以是16×4子宏块,而且子宏块中的部分可以是16×4子宏块中的4×4部分。
在本发明的某些方法实施例中,解块滤波方法包含:提供第一寄存器,其被配置为存储对应于要被滤波的宏块中的子宏块的图像数据量,第二寄存器,其被配置为存储对应于子宏块的一部分的图像数据量,其中该子宏块邻近要被滤波的宏块的第二边缘,和第三寄存器,其被配置为存储对应于整个子宏块的图像数据量,其中该子宏块邻近要被滤波的宏块的第一边缘。该方法进一步包含,通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分,对该子宏块中的这些部分顺序地进行水平和垂直分量滤波。
在某些实施例中,通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分、来对该子宏块中的这些部分顺序进行水平和垂直分量滤波包含:通过经由第一和第二寄存器循环移位该子宏块中的部分,来对该子宏块中的这些部分顺序进行水平分量滤波,以及使用第一和第三寄存器对该子宏块中进行过水平分量滤波的部分并行进行垂直分量滤波。顺序水平分量滤波可以包含:对第三寄存器中的数据和第一寄存器一部分中的数据的组合顺序进行滤波。第一和第三寄存器可以是16×4寄存器,而且第二寄存器可以是4×4寄存器。子宏块可以是16×4子宏块,而且子宏块中的部分可以是16×4子宏块中的4×4部分。
在本发明的其它实施例中,解块滤波方法包含:把图像数据的宏块划分为多个相等尺寸的子宏块,并且按照次序对每个子宏块执行以下的操作:对子宏块执行水平分量滤波操作;然后对水平分量滤波过的子宏块执行垂直分量滤波操作。例如,多个相等尺寸的子宏块可以包含四个16×4子宏块,而且按照次序对每个子宏块执行以下的操作包含:对第一子宏块执行水平分量滤波操作;对水平分量滤波过的第一子宏块执行垂直分量滤波操作;对第二子宏块执行水平分量滤波操作;对水平分量滤波过的第二子宏块执行垂直分量滤波操作;对第三子宏块执行水平分量滤波操作;对水平分量滤波过的第三子宏块执行垂直分量滤波操作;对第四子宏块执行水平分量滤波操作;以及对水平分量滤波过的第四子宏块执行垂直分量滤波操作。第一、第二、第三、和第四子宏块可以以从宏块的最上边缘到宏块的最下边缘的次序定位。
本发明的某些实施例包含,能够减少解块滤波器的滤波操作时间的解块滤波器的寄存器阵列结构。在某些实施例中,提供了有效地减少执行垂直分量的滤波操作所需要的时间的寄存器阵列结构。在进一步的实施例中,提供了操作这样的寄存器阵列结构的方法。
在某些实施例中,解块滤波器的寄存器阵列包含寄存器阵列,其包含:第一寄存器,用于顺序存储和输出从要被滤波的当前宏块中划分出来的、具有相同尺寸的多个子宏块;第二寄存器,用于存储在第一寄存器中存储的子宏块左边的相邻数据;以及第三寄存器,用于存储在第一寄存器中存储的子宏块上端的相邻数据。第三寄存器首先储存布置在当前宏块上端的宏块中的数据,然后储存从第一寄存器输出的子宏块的数据。
附图说明
包含附图以提供对本发明的进一步理解,而且附图并入且构成这个说明书的一部分。附图说明了本发明示例实施例,而且连同说明书一起,用来说明本发明的原则。在附图中:
图1为示出传统视频解码器系统的框图;
图2为说明传统解块滤波器的操作的框图;
图3为说明用于一个宏块的传统滤波操作的视图;
图4A为示出用于一个宏块的传统亮度分量滤波操作序列的图;
图4B为示出用于一个宏块的传统色度分量滤波操作序列的图;
图5A为示出当执行用于一个垂直边界的滤波操作时所使用的像素的图;
图5B为示出当执行用于一个水平边界的滤波操作时所使用的像素的图;
图6为示出依据本发明某些实施例,用于一个宏块的滤波操作序列的图;
图7为说明依据本发明进一步实施例的解块滤波器的操作的图;
图8依据本发明的某些实施例,说明在寄存器阵列中的垂直分量滤波操作和水平分量滤波操作;
图9为一个视图,说明依据本发明的进一步实施例,用于水平分量滤波操作的寄存器阵列的移位操作;以及
图10到13为说明依据本发明某些实施例的寄存器阵列的输入和输出操作的图。
具体实施方式
现在将参考附图对本发明的特定示例实施例进行描述。然而,这个发明可以以许多不同的形式体现,而且不应当被认为是受限于此处阐述的实施例。相反,提供这些实施例以便使这个公开变得彻底和完整,并且向本领域技术人员充分传达本发明的范围。在附图中,相同的数字表示相同的元件。应当理解,当一个元件被称为“连接”或者“耦合”到另一个元件时,它可以直接连接或者耦合到另一个元件,或者可以存在介于其间的元件。此外,此处使用的“连接”或者“耦合”可以包含无线连接或者耦合。
此处使用的术语仅仅是用于描述特定实施例的目的,而不是用来限制本发明。除非另外明确地指出,否则此处使用的单数形式“一”和“该”用于同样包含复数形式。需要进一步理解:当在这个说明书中使用术语“包含”和/或“包括”时,其说明所陈述特征、整数、步骤、操作、元件、和/或部件的存在,但是没有排除一个或者多个其它特征、整数、步骤、操作、元件、部件、和/或它们的组的存在或者加入。
除非另外定义,否则此处使用的所有术语(包括技术和科学术语)的意思与本发明所属领域的技术人员所理解的意思相同。将要进一步理解,术语,诸如在通常使用的词典中定义的那些,应当被解释为它们具有与它们在相关技术领域和本说明书的上下文中的意思一致的意思,而且除非在此处明确地这样定义,否则不以理想化或者过度形式化的意识来加以解释。
将要理解,虽然此处使用了术语第一和第二来描述各种元件,但是这些元件将不会由这些术语所限制。这些术语仅仅用于把一个元件从另一个元件中区分出来。因此,第一项目可以称为第二项目,而且同样地,第二项目可以称为第一项目,而没有背离本发明的教导。此处使用的术语“和/或”包含一个或多个相关列出项目的任意和所有组合。符号“/”还可以用作“和/或”的简化标记。
图6为示出依据本发明某些实施例、用于一个宏块的滤波操作序列的图。参见图6,在依据本发明某些实施例的滤波操作中,当前宏块被分成第一到第四子宏块,每个子宏块具有,例如16×4的尺寸。执行用于位于最上部分的第一子宏块的水平分量滤波操作。在用于第一子宏块的水平分量滤波操作终止之后,执行用于第一子宏块的垂直分量滤波操作。以类似的方式,以第二、第三、和第四宏块的次序执行滤波操作。滤波操作次序显示为阿拉伯数字1-16。
图7为说明了依据本发明的某些实施例、在滤波过程中的解块滤波器的示例操作的方框图。参考图6和7,本发明的解块滤波器710从存储预测结果的双缓冲器702中,读出当前宏块的亮度和色度数据,并且在内部寄存器阵列中存储读取的数据。解块滤波器710从外部存储器202获取在靠近当前宏块的宏块中的左边相邻宏块A和上面相邻宏块B的数据,并且在内部存储器712中存储获取的数据,然后在解块滤波器710的寄存器阵列中存储它们。
如上面参考图6所述,依据本发明的某些实施例,通过把当前宏块划分为四个子宏块来执行滤波操作。首先,把上端的第一子宏块数据存储到寄存器阵列中。解块滤波器710从外部存储器202读出在上面相邻宏块B中、靠近第一子宏块的16×4数据602,并且在内部存储器712中存储读取的数据,然后在寄存器阵列中存储它们。解块滤波器710在外部存储器202中存储来自左边相邻宏块A的4×16数据,并且在寄存器阵列中存储来自于该数据、对应于上端的4×4块606的数据。因此,在图7的内部存储器712中存储包含在宏块B中的16×4数据602和包含在宏块A中的4×16数据。解块滤波器710对寄存器阵列中存储的数据执行滤波操作,并且通过双缓冲器704输出宏块数据。
图8为说明依据本发明某些实施例的寄存器阵列的图,并且依据本发明的进一步实施例,说明了可以在寄存器阵列中执行的垂直和水平分量滤波操作。现在将参考图6和8,描述依据本发明某些实施例,在子宏块中的滤波操作。图8所示的寄存器阵列包含16×4X寄存器800、4×4A寄存器820、以及16×4B寄存器801。X寄存器800被分成四个4×4存储区域802、804、806、和808。X寄存器800存储从存储预测结果的双缓冲器702(参见图7)输入的当前宏块中的第一子宏块数据。即,在X寄存器800中存储将要对其执行真正滤波操作的当前宏块数据。来自相邻左边宏块604的上部4×4块606的数据存储在内部存储器712、以及A寄存器820中。类似于X寄存器800,B寄存器801被分成四个4×4存储区域810、812、814、和816。在B寄存器801中存储16×4个上面相邻的宏块数据602。
使用存储在A寄存器820中的数据,执行存储在X寄存器800中的当前子宏块数据的水平分量滤波操作。使用存储在B寄存器801中的数据执行垂直分量滤波操作。在存储于X寄存器800中的子宏块数据中的水平分量的滤波操作中,通过使用在A寄存器820中存储的数据以及在X寄存器800最左边处的第一区域802中存储的数据,相对于A寄存器820和X寄存器800之间的垂直边界,执行每左右四个像素、上下四个位置的滤波操作。当用于第一区域802的滤波操作结束时,在每个寄存器中存储的数据左移4×4个块。
图9为说明依据本发明的某些实施例、用于水平分量滤波操作的寄存器阵列的移位操作的图。如图9所示,当用于第一区域802的滤波操作完成时,移位在X寄存器800的第一区域802中存储的数据X1,并且将其存储到A寄存器820中,移位在第二区域804中存储的数据X2,并且把它存储到第一区域802中,移位在第三区域806中存储的数据X3并且把它存储到第二区域804中。此外,移位在第四区域808中存储的数据X4并且把它存储到第三区域806中,移位在A寄存器820中存储的数据A1并且把它存储到第四区域808中。重复上述过程(操作—>移位),直到用于所有存储在X寄存器800中的数据的滤波操作完成为止。当存储在A寄存器820中的数据A1已经移位四次并且位于X寄存器800的第一区域802处时,完成用于X寄存器800的滤波操作。再次移位把数据定位到它们初始的存储区域。
此后,执行用于在X寄存器800中存储的子宏块数据的垂直分量滤波操作。这使用在B寄存器801中存储的数据执行。因为相对于一个水平边界,X寄存器800和B寄存器801的每一个都具有4×4的块,所以执行每上下四个像素16个位置的滤波操作。
通过上述过程,当用于具有16×4尺寸的一个子宏块的垂直和水平滤波操作完成时,向X寄存器800填充用于下一子宏块的数据,先前存储在X寄存器800中的数据移入B寄存器801,而且从内部存储器712输入要存储到A寄存器820中的4×4数据。存储在A寄存器820和B寄存器801中的第一数据被输出到外部接收器。可以连续地执行这种用于整个宏块的过程。也就是说,可以同时执行新子宏块数据的输入、其滤波操作结束的子宏块的移位、以及存储在A寄存器820和B寄存器801中的数据的输出。
图10到13说明了依据本发明某些实施例的图8中的寄存器阵列的示例操作。如图10所示,当用于第二子宏块最左边4×4区域的数据X5被输入到X寄存器800的第一区域802中,以及内部存储器712中存储的A宏块的下一个数据A2被输入到A寄存器820中时,存储在X寄存器800的第一区域802中的数据X1被移入B寄存器801的第一区域810,输出存储在B寄存器801的第一区域810中的数据B1,而且输出存储在A寄存器820中的数据A1。
如图11所示,当第二子宏块的第二区域数据X6输入到X寄存器800的第二区域中时,先前存储在X寄存器800的第二区域804中的数据X2移入B寄存器801的第二区域812,而且输出存储在B寄存器801第二区域812中的数据B2。同时执行用于存储在A寄存器820中的数据A2和存储在X寄存器800的第一区域802中的数据X5的水平分量滤波操作。
当用于X寄存器800的第一区域802的滤波操作完成时,如图12所示,以4×4块为单位移位存储在A寄存器820和X寄存器800的相应区域中的数据。当在相应寄存器中存储的数据上的水平分量滤波操作结束时,执行用于存储在X寄存器800的第一区域802中的数据X6、和存储在A寄存器820中的数据X5的水平分量滤波操作。同时,第二子宏块的第三区域数据X7输入到X寄存器800的第二区域804中,而且存储在X寄存器800的第二区域804中的第一子宏块的第三区域数据X3被移入B寄存器801的第二区域812。因此,输出存储在B寄存器801的第二区域812中的B宏块的第三区域数据B3。
通过上述过程的重复,如图13所示,在第二子宏块的第四区域数据X8的输入结束之后,随后执行用于剩余水平分量的滤波操作。在水平分量滤波操作完成之后,当数据被顺序地移位和布置在相应寄存器处时,执行用于在X寄存器800中存储的数据的垂直分量滤波操作。
通过对新的子宏块重复上述过程,可以执行用于一个宏块的所有滤波操作。另一方面,如上所述,当位于X寄存器800最左边的第一区域802仅仅填充数据时,从上到下通过第一区域802移位和输入数据,剩余数据通过X寄存器800的第二区域804输入。
当使用本发明的寄存器阵列执行用于一个宏块的滤波操作时,可能需要4个周期来输入用于第一A寄存器820和X寄存器800的第一区域的数据,8个周期来执行用于这些数据的水平分量滤波操作(执行每个位置滤波操作所需要的时间为两个周期),以及36个周期来执行用于一个子宏块的水平分量滤波操作。在垂直分量滤波操作中,为了使相应区域的布置返回到原始位置,可能要使用一个周期。因此,总共可使用37个周期来执行用于一个子宏块的水平分量滤波操作。此外,因为执行16个位置的垂直分量滤波操作,所以可使用总共32个周期。结果,完成用于一个宏块的滤波操作所需要的时间为306(=14+4×(37+32))个周期,其中包含了14个额外开销的周期。完成色度分量滤波操作的时间可为153(=306×0.5)个周期。因此,总共可需要459个周期来完成用于一个宏块的解块滤波操作。
如上所述,依据本发明某些实施例的寄存器阵列允许对要被设计的小区域进行解块滤波。此外,可以同时执行数据输入、滤波操作、数据移位、以及数据输出,这可以允许高速执行滤波操作。
在附图和说明书中已经公开了本发明的实施例,而且虽然使用了专用术语,但是它们仅仅以一般性和叙述性的意义使用而不是用于限制目的,本发明的范围由权利要求所阐明。

Claims (15)

1、一种解块滤波器的寄存器阵列,该寄存器阵列包含:
第一寄存器,被配置为存储对应于要被滤波的宏块中的子宏块的图像数据量;
第二寄存器,被配置为存储对应于子宏块中的一部分的图像数据量,其中该子宏块邻近要被滤波的宏块的第一边缘;
第三寄存器,被配置为存储对应于整个子宏块的图像数据量,其中该整个子宏块邻近要被滤波的宏块的第二边缘;以及
其中,所述第一、第二和第三寄存器被进一步配置为,通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分,支持这些子宏块中的部分的顺序水平和垂直分量滤波。
2、如权利要求1所述的寄存器阵列,其中,所述第一和第二寄存器被配置为,通过经由第一和第二寄存器循环移位子宏块中的部分,支持在子宏块中的这些部分上的顺序水平分量滤波操作。
3、如权利要求2所述的寄存器阵列,其中,顺序水平分量滤波操作包含对第二寄存器中的数据与第一寄存器的一部分中的数据的组合进行的顺序滤波操作。
4、如权利要求1所述的寄存器阵列,其中,所述第一和第三寄存器被配置为支持对子宏块中的多个部分的并行垂直分量滤波操作。
5、如权利要求1所述的寄存器阵列,其中,第一、第二和第三寄存器被配置为从解块滤波器的内部存储器接收图像数据。
6、如权利要求1所述的寄存器阵列,其中,第一和第三寄存器是16×4寄存器,而且其中第二寄存器是4×4寄存器。
7、如权利要求6所述的寄存器阵列,其中,子宏块是16×4子宏块,而且其中子宏块中的部分是16×4子宏块中的4×4部分。
8、一种解块滤波方法,包含:
提供第一寄存器,其被配置为存储对应于要被滤波的宏块中的子宏块的图像数据量;第二寄存器,其被配置为存储对应于子宏块中的一部分的图像数据量,其中该子宏块邻近要被滤波的宏块的第二边缘;和第三寄存器,其被配置为存储对应于整个子宏块的图像数据量,其中该整个子宏块邻近要被滤波的宏块的第一边缘;以及
通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分,对该子宏块中的部分顺序地进行水平和垂直分量滤波。
9、如权利要求8所述的方法,其中,通过经由第一、第二和第三寄存器顺序移位要被滤波的宏块的子宏块中的部分、对该子宏块中的部分顺序地进行水平和垂直分量滤波包含:
通过经由第一和第二寄存器循环移位该子宏块中的部分,对该子宏块中的这些部分顺序地进行水平分量滤波;以及
使用第一和第三寄存器对该子宏块中被水平分量滤波过的部分,同时进行垂直分量滤波。
10、如权利要求9所述的方法,其中,顺序水平分量滤波包含:对第三寄存器中的数据和第一寄存器一部分中的数据的组合进行顺序滤波。
11、如权利要求9所述的方法,其中,第一和第三寄存器是16×4寄存器,而其中第二寄存器是4×4寄存器。
12、如权利要求11所述的方法,其中,子宏块是16×4子宏块,而其中子宏块中的部分是16×4子宏块中的4×4部分。
13、一种解块滤波方法,该方法包含:
把图像数据的宏块划分为多个相等尺寸的子宏块;以及
按照次序对每一子宏块执行以下操作:
对子宏块执行水平分量滤波操作;然后
后对水平分量滤波过的子宏块执行垂直分量滤波操作。
14、如权利要求13所述的方法,其中,所述多个相等尺寸的子宏块包含四个16×4子宏块,而且其中按照次序对每个子宏块执行以下操作包含:
对第一子宏块执行水平分量滤波操作;
对水平分量滤波过的第一子宏块执行垂直分量滤波操作;
对第二子宏块执行水平分量滤波操作;
对水平分量滤波过的第二子宏块执行垂直分量滤波操作;
对第三子宏块执行水平分量滤波操作;
对水平分量滤波过的第三子宏块执行垂直分量滤波操作;
对第四子宏块执行水平分量滤波操作;以及
对水平分量滤波过的第四子宏块执行垂直分量滤波操作。
15、如权利要求所述的方法,其中,所述第一、第二、第三、和第四子宏块以从宏块的最上边缘到所述宏块的最下边缘的次序定位。
CN2005100813722A 2004-07-02 2005-06-28 使用子宏块移位寄存器阵列的解块滤波装置和方法 Active CN1717055B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR51641/04 2004-07-02
KR1020040051641A KR100614647B1 (ko) 2004-07-02 2004-07-02 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조

Publications (2)

Publication Number Publication Date
CN1717055A true CN1717055A (zh) 2006-01-04
CN1717055B CN1717055B (zh) 2010-05-26

Family

ID=35116166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100813722A Active CN1717055B (zh) 2004-07-02 2005-06-28 使用子宏块移位寄存器阵列的解块滤波装置和方法

Country Status (5)

Country Link
US (1) US7760809B2 (zh)
EP (1) EP1613095B1 (zh)
KR (1) KR100614647B1 (zh)
CN (1) CN1717055B (zh)
TW (1) TWI297133B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446573C (zh) * 2006-06-22 2008-12-24 上海交通大学 基于avs的去块效应滤波器vlsi实现装置
CN107430760A (zh) * 2015-04-23 2017-12-01 谷歌公司 用于图像处理器的二维移位阵列
CN107438861A (zh) * 2015-04-23 2017-12-05 谷歌公司 用于图像生成器的数据片生成器

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060060919A (ko) * 2004-12-01 2006-06-07 삼성전자주식회사 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
KR100729241B1 (ko) * 2005-12-05 2007-06-15 주식회사 텔레칩스 디블록킹 필터
KR100816461B1 (ko) * 2006-04-12 2008-03-26 주식회사 칩스앤미디어 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
JP4410225B2 (ja) * 2006-08-07 2010-02-03 株式会社東芝 動画像復号化装置および方法
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
KR101370287B1 (ko) 2006-11-22 2014-03-07 세종대학교산학협력단 디블록킹 필터링 방법 및 장치
KR100824287B1 (ko) * 2007-02-13 2008-04-24 한국과학기술원 저전력 고속 디블록킹 필터
TWI335764B (en) * 2007-07-10 2011-01-01 Faraday Tech Corp In-loop deblocking filtering method and apparatus applied in video codec
JP5435452B2 (ja) * 2009-01-20 2014-03-05 株式会社メガチップス 画像処理装置および画像変換装置
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
JP2012151690A (ja) * 2011-01-19 2012-08-09 Hitachi Kokusai Electric Inc デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
CN110611810B (zh) 2011-06-28 2021-06-01 索尼公司 图像处理装置和图像处理方法
US20130027748A1 (en) * 2011-07-29 2013-01-31 Canon Kabushiki Kaisha Image processing apparatus
CN102547296B (zh) * 2012-02-27 2015-04-01 开曼群岛威睿电通股份有限公司 移动估计加速电路、移动估计方法及环路滤波加速电路
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469680B1 (en) * 1996-05-14 2008-06-18 Daewoo Electronics Corporation Method and apparatus for removing blocking effects in a motion picture decoder
US6320905B1 (en) * 1998-07-08 2001-11-20 Stream Machine Company Postprocessing system for removing blocking artifacts in block-based codecs
US6882688B1 (en) 1998-12-11 2005-04-19 Matsushita Electric Industrial Co., Ltd. Deblocking filter arithmetic apparatus and deblocking filter arithmetic method
JP3489735B2 (ja) * 2000-08-16 2004-01-26 松下電器産業株式会社 デブロッキングフィルタ演算装置
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
KR100441869B1 (ko) 2001-12-28 2004-07-27 주식회사 하이닉스반도체 파이프라인 구조를 사용하는 디블록킹 필터
JP4114494B2 (ja) * 2002-03-07 2008-07-09 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
US7084929B2 (en) * 2002-07-29 2006-08-01 Koninklijke Philips Electronics N.V. Video data filtering arrangement and method
US7116828B2 (en) * 2002-09-25 2006-10-03 Lsi Logic Corporation Integrated video decoding system with spatial/temporal video processing
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
US7551322B2 (en) * 2004-06-29 2009-06-23 Intel Corporation Image edge filtering

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446573C (zh) * 2006-06-22 2008-12-24 上海交通大学 基于avs的去块效应滤波器vlsi实现装置
CN107430760A (zh) * 2015-04-23 2017-12-01 谷歌公司 用于图像处理器的二维移位阵列
CN107438861A (zh) * 2015-04-23 2017-12-05 谷歌公司 用于图像生成器的数据片生成器
CN107438861B (zh) * 2015-04-23 2021-02-26 谷歌有限责任公司 用于图像生成器的数据片生成器
US11140293B2 (en) 2015-04-23 2021-10-05 Google Llc Sheet generator for image processor

Also Published As

Publication number Publication date
EP1613095A3 (en) 2011-06-01
KR20060002549A (ko) 2006-01-09
US7760809B2 (en) 2010-07-20
KR100614647B1 (ko) 2006-08-22
EP1613095A2 (en) 2006-01-04
TW200604965A (en) 2006-02-01
TWI297133B (en) 2008-05-21
CN1717055B (zh) 2010-05-26
US20060002477A1 (en) 2006-01-05
EP1613095B1 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
CN1717055B (zh) 使用子宏块移位寄存器阵列的解块滤波装置和方法
JP6090728B2 (ja) 画像復号化装置および画像復号化方法
JP5674752B2 (ja) 適応型走査を用いる動画の符号化/復号化装置
KR100771879B1 (ko) 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
CN1812576A (zh) 同时执行视频数据水平和垂直滤波的解块滤波器及其方法
EP1615446A2 (en) Pipelining decoding apparatus and method
US20080298473A1 (en) Methods for Parallel Deblocking of Macroblocks of a Compressed Media Frame
US20090129478A1 (en) Deblocking filter
KR20060060919A (ko) H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
CN1798343A (zh) 一种解码数据结构的方法及视频解码器
CN1722842A (zh) 视听编解码器的滤波方法和滤波设备
US20120027087A1 (en) Image decoding device
US8270471B2 (en) Encoders and scheduling methods for macroblock-based adaptive frame/filed coding
US20050025240A1 (en) Method for performing predictive picture decoding
CN1290340C (zh) 预测式解码方法
CN1258044A (zh) 寻址处理方法
US8090024B2 (en) Methods for processing two data frames with scalable data utilization
CN103581668A (zh) 一种四通道的之型扫描结构
KR101063423B1 (ko) 디블록 필터링 방법 및 장치
Bae et al. Register array structure for effective edge filtering operation of deblocking filter
CN1913643A (zh) 预测元的存储方法
KR20080066376A (ko) 디블럭킹 필터 및 이를 이용한 필터링 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant