CN1812576B - 同时执行视频数据水平和垂直滤波的解块滤波器及其方法 - Google Patents

同时执行视频数据水平和垂直滤波的解块滤波器及其方法 Download PDF

Info

Publication number
CN1812576B
CN1812576B CN2005100229651A CN200510022965A CN1812576B CN 1812576 B CN1812576 B CN 1812576B CN 2005100229651 A CN2005100229651 A CN 2005100229651A CN 200510022965 A CN200510022965 A CN 200510022965A CN 1812576 B CN1812576 B CN 1812576B
Authority
CN
China
Prior art keywords
filtering
video data
buffer storage
storage
current macro
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.)
Expired - Fee Related
Application number
CN2005100229651A
Other languages
English (en)
Other versions
CN1812576A (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 CN1812576A publication Critical patent/CN1812576A/zh
Application granted granted Critical
Publication of CN1812576B publication Critical patent/CN1812576B/zh
Expired - Fee Related 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

提供一种解块滤波器,包括当前宏块缓冲存储器,配置来存储要滤波的当前宏块的视频数据;侧宏块缓冲存储器,配置来存储位于当前宏块侧的相邻宏块的视频数据的一部分;寄存器缓冲器阵列,配置来存储为当前滤波而从当前宏块缓冲存储器读取的视频数据、从侧宏块缓冲存储器读取的视频数据和相邻宏块的数据;和连接到寄存器缓冲器阵列的边缘滤波器,配置来对视频数据的当前宏块的子块的边缘执行水平或垂直滤波,并且同时对视频数据的当前宏块的后续子块的边缘执行水平或垂直滤波中的另一个。垂直滤波使用来自相邻宏块的数据,而水平滤波使用来自侧宏块缓冲存储器的视频数据。

Description

同时执行视频数据水平和垂直滤波的解块滤波器及其方法
本申请要求于2004年12月17日在韩国知识产权局提交的韩国专利申请No.10-2004-0107995的优先权和其他权益,其内容援引于此以供参考。
技术领域
本发明涉及视频解码,尤其涉及用于消除可能在H.264/高级视频编码(AVC)标准***中出现的块伪像(blocking artifact)的解块滤波器和用于操作它的方法。
背景技术
许多视频处理***使用标准化的视频编解码器,诸如由国际电信联盟建议的H.261、H.262和H.263。诸如运动图像专家组(MPEG)-1、MPEG-2和MPEG-4之类的编解码器标准应用到那些视频编解码器。近来,已经对能够获得更高压缩率的H.264/AVC视频编解码器进行了研究和标准化工作。
在H.264/AVC视频编码标准中,以块为单位进行图像压缩编码,然后解码。结果,可能在解码后的图像中出现块伪像。块伪像有两种主要起因:第一,由于连同H.264/AVC一起的大多数压缩技术对预定大小的块执行离散余弦变换(DCT),然后对经DCT变换的块进行量化,所以单独地变换和量化不重叠的块单位,而不考虑它们相邻块或像素之间的相关性,这可能导致数据损失和/或块伪像。第二,由于逐块预测运动向量来补偿图像,所以包含在块中的像素具有相同的运动向量,这可能导致块伪像。
解块滤波器可以消除基于块编码时出现的块边缘误差,并且可以改善最终解码图像的外观。H.264/AVC标准可以与解块滤波器功能一起使用来防止和/或减少块伪像。但很不幸的是,这样的实现可能使解码器的实现很复杂。
发明内容
根据本发明一些实施例,解块滤波器包括当前宏块(macroblock)缓冲存储器,配置来存储要滤波的当前宏块的视频数据;侧(side)宏块缓冲存储器,配置来存储位于当前宏块侧的相邻宏块的视频数据的一部分;寄存器缓冲器阵列,配置来存储为当前滤波而从当前宏块缓冲存储器读取的视频数据、从侧宏块缓冲存储器读取的视频数据和相邻宏块的数据;和连接到寄存器缓冲器阵列的边缘滤波器,配置来对视频数据的当前宏块的子块的边缘执行水平或垂直滤波,并且同时对视频数据的当前宏块的后续子块的边缘执行水平或垂直滤波中的另一个。垂直滤波使用来自相邻宏块的数据,而水平滤波使用来自侧宏块缓冲存储器的视频数据。
在其它实施例中,解块滤波器还包括外部存储器,配置来存储包括相邻宏块的视频数据的已滤波和未滤波的视频数据。
在又一实施例中,解块滤波器还包括滤波输出缓冲存储器,配置来暂时存储由边缘滤波器滤波的视频数据。
在又一实施例中,当前宏块缓冲存储器、侧宏块存储器和输出缓冲存储器中的每一个包括至少两个配置来用于流水线滤波操作的缓冲存储器。
在又一实施例中,解块滤波器包括外部存储控制器,配置来从外部存储器读取视频数据,并且将读取的视频数据存储在当前宏块缓冲存储器和/或侧宏块缓冲存储器中;和寄存器缓冲器阵列控制器,配置来从当前宏块缓冲存储器、侧宏块缓冲存储器和外部存储器中读取视频数据,并且将所读取的视频数据存储在寄存器缓冲器阵列中。
在又一实施例中,寄存器阵列配置来从当前宏块缓冲存储器读取子块视频数据、从侧宏块缓冲存储器读取视频数据和从外部存储器读取视频数据或相邻宏块,存储所读取的视频数据,暂时存储由边缘滤波器滤波的子块视频数据,并且提供所存储的当前宏块的子块视频数据用来后续边缘的滤波。
在又一实施例中,解块滤波器还包括连接到边缘滤波器的滤波强度生成器,配置来确定边缘滤波的滤波强度;和连接到滤波强度生成器的阈值生成器,配置来确定是否执行边缘滤波。滤波强度生成器与边缘滤波器分离。
在又一实施例中,滤波强度生成器配置来在运动向量产生处理的同时使用在运动向量产生处理期间产生的运动向量来产生滤波强度。
在又一实施例中,边缘滤波器包括为色度或亮度分量分离地运行的多个滤波引擎来允许同时滤波当前宏块的子块的垂直和水平边缘。
在又一实施例中,解块滤波器还包括缓冲存储控制器,配置来分别控制向当前宏块缓冲存储器、侧宏块缓冲存储器和滤波输出缓冲存储器输入的视频数据和从它们输出的视频数据。
在又一实施例中,边缘滤波器配置来同时对视频数据的亮度分量和视频数据的色度分量执行滤波操作。
在又一实施例中,视频数据配置来由H.264/AVC视频编解码器进行处理。
在本发明进一步的实施例中,通过将对应于视频数据的16×16宏块的水平边缘和垂直边缘分为4×4子块的边缘来执行宏块视频数据的解块滤波,并且从16×16宏块的顶水平边缘的4×16块到16×16宏块的底水平边缘的4×16块执行解块滤波,使得对于每个4×16块,执行四个4×4子块的垂直边缘的水平滤波和随后四个4×4子块的水平边缘的垂直滤波。
在进一步的实施例中,执行解块滤波还包括执行第一4×16块的水平滤波,同时执行第二4×16块的水平滤波和第一4×16块的垂直滤波,同时执行第三4×16块的水平滤波和第二4×16块的垂直滤波,同时执行第四4×16块的水平滤波和第三4×16块的垂直滤波,并且执行第四4×16块的垂直滤波。
在进一步的实施例中,各个4×16块的水平和/或垂直滤波还包括接收第一4×4子块的数据,同时执行第一4×4子块的滤波和第二4×4子块的数据接收,同时执行第二4×4子块的滤波和第三4×4子块的数据接收,同时执行第三4×4子块的滤波和第四4×4子块的数据接收,并且执行第四4×4子块的滤波。
在进一步的实施例中,4×4子块的各个子块的滤波包括同时滤波四个像素行。
在进一步的实施例中,执行解块滤波包括对视频数据的亮度分量和色度分量执行滤波操作。
在进一步的实施例中,视频数据配置来由H.264/AVC视频编解码器进行处理。
附图说明
通过结合附图对本发明的优选实施例进行详细描述,本发明的上述目的和优点将会变得更加清楚,其中:
图1是常规视频解码器***的方框图;
图2图解用在解块滤波操作中的宏块;
图3A和3B是图解宏块中的边缘滤波顺序的图;
图4是根据本发明一些实施例的解块滤波器的方框图;
图5是图解根据本发明一些实施例的宏块中的边缘滤波顺序的图;
图6是图解根据本发明一些实施例的滤波操作中的流水线结构的方框图;以及
图7是图解根据本发明一些实施例的解块滤波操作的流程图;
具体实施方式
虽然本发明可以经受各种修改和替换形式,但在附图中通过实例显示其特定实施例,并在将这里进行详细描述。然而,应该理解的是,这不意欲将本发明限制为公开的特定形式,相反,本发明涵盖落入权利要求所限定的本发明宗旨和范围中的所有修改、等效物和替代。相同的附图标记在描述和附图中表示相同的元件。
正如在这里使用的那样,除非另外说明,单数形式的“一(个)”、“该”意欲包含“一类”、“多个”之类的复数形式。将进一步理解的是,如在说明书中所使用的那样,术语“包括”表示所述特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其它特征,整数、步骤、操作、元件、部件和/或它们的组的存在和添加。将理解的是,当元件表示为“连接到”或“耦合到”其它元件时,它既可以直接连接到或耦合到其它元件,也可以存在中间元件。此外,这里使用的“连接到”或“耦合到”可以包括无线连接或耦合。正如在这里使用的那样,术语“和/或”包括相关的列出项的一或多个的任何一个和所有组合。
正如本发明所属的领域的普通技术人员通常所理解的那样,除非另外定义,这里使用的所有术语(包括技术和科学术语)具有相同的含义。将进一步理解的是,诸如在常用字典中定义的术语,应该解释为具有与在相关领域中的它们的含义一致的含义,并且除非在这里明确定义,否则不应解释为理想化或过分正式的含义。
图1是常规视频解码器***的方框图。通常,压缩数据通过解码处理被解压缩为原始数据,并显示在视频处理器中的屏幕上。参照图1,用于解码视频数据的视频解码器10包括分析器11、熵解码器12、逆变换单元13、运动向量计算器14、逆间/内预测单元(inverse inter/intra-prediction unit)15、解块滤波器16、多个硬件模块(未示出)、外部存储控制器(未示出)和个人计算机接口(PCI)模块(未示出)。
从内部存储器读取在解码处理中使用的数据,或将在解码处理中使用的数据写入外部存储器,并且模块通过图1所示的***总线17交换数据。由上述硬件模块顺序执行解码处理来将压缩视频数据解压缩为原始数据。由于以宏块为单位压缩和解压缩视频数据,因此可能在解压缩的图像的块之间的边界上出现基于块的屏幕差异。这种块伪像可以通过图1的解块滤波器16来减少。由于所述块伪像可能通过以预定大小的块为单位的视频数据压缩引起,所以也可以以宏块为单位执行解块滤波器16的边缘滤波。
图2图解用在解块滤波操作中的宏块。参照图2,当前宏块标记为X,当前宏块的相邻宏块标记为A、B、C和D。如图2所示,位于当前宏块X左侧的宏块标记为A,并且位于当前宏块X上方的宏块标记为B。为了滤波当前宏块X边缘,如图2所示,需要宏块A和B的数据。换句话说,需要位于当前宏块X的左侧的宏块A来进行水平滤波,并且需要位于当前宏块X的上方的宏块B来进行垂直滤波。
图3A和3B是图解宏块中的边缘滤波顺序的图。参照图3A和3B,对包含在宏块中的像素的亮度分量和色度分量执行关于宏块的滤波操作。图3A显示要滤波的亮度分量的边界,而图3B显示要滤波的色度分量的边界。以a、b、c、d的顺序滤波亮度分量的垂直边界,而以e、f、g、h的顺序滤波亮度分量的水平边界。以i、j的顺序滤波色度分量的垂直边界,并且以k、l的顺序滤波色度分量的水平边界。通常,在滤波色度分量前滤波亮度分量。
为了执行滤波操作,可以使用水平或垂直边界的任意一侧的四个像素。换句话说,对于水平滤波操作,可以使用位于垂直边界左侧的四个像素和位于垂直边界右侧的四个像素,而对于垂直滤波操作,可以使用位于水平边界上方的四个像素和位于水平边界下方的四个像素。要修正的像素数和所应用的滤波强度可以根据包括相邻4×4块的宏块中使用的量化参数、相邻4×4块的编码模式和/或相邻4×4块的运动向量而改变。
如上所述,当使用常规滤波方法时,对于滤波操作可能需要至少800个周期,包括用于存储器存取和滤波所需的时间。结果,在高分辨率视频数据的滤波处理中可能出现延迟,这种延迟可能导致很难实时处理高分辨率视频数据。
图4是根据本发明一些实施例的解块滤波器的方框图。根据解块滤波器算法,选择对应于要滤波的边缘的像素,并且从内部或外部存储器读取所选择的像素并将其存储在缓冲器中用于滤波操作。为了保持实际图像的边缘部分并防止过度滤波,获得边界滤波强度,并且将其与一阈值比较来确定是否执行滤波。例如,在H.264/AVC标准中公开了这样的解块滤波器算法。
设计根据本发明一些实施例的解块滤波器400的硬件结构来降低存储器存取次数,并允许高效滤波操作。根据本发明一些实施例的解块滤波器400还可以允许并行执行水平滤波和垂直滤波。
为此,本发明一些实施例的解块滤波器400包括两个输出缓冲存储器(0和1)402、两个X缓冲存储器(0和1)404、两个A缓冲存储器(0和1)406、输出缓冲存储控制器408、X缓冲存储控制器410、A缓冲存储控制器412、外部总线接口414、寄存器缓冲器阵列416、寄存器缓冲器阵列控制器418、边缘滤波器420、滤波强度生成器422、阈值生成器424、外部存储控制器426和外部存储器430,其配置如图所示。
两个输出缓冲存储器(0和1)402是用于在将数据输出到外部存储器430之前暂时存储由边缘滤波器420滤波的数据的存储器。两个X缓冲存储器(0和1)404是用于存储对应于正在滤波的边缘的宏块的数据的存储器。换句话说,X缓冲存储器(0和1)404存储图2的当前宏块X的数据。两个A缓冲存储器(0和1)406存储在当前宏块X的左侧的相邻宏块数据中的、与当前宏块相邻的四个4×4子块的数据。输出缓冲存储控制器408控制输出缓冲存储器(0和1)402的数据输入和输出。X缓冲存储控制器410控制X缓冲存储器(0和1)404的数据输入和输出,并且A缓冲存储控制器412控制A缓冲存储器(0和1)406的数据输入和输出。外部总线接口414执行接口功能,诸如从内部存储器或外部存储器读取用于解码处理的数据,或者将数据存储在内部存储器或外部存储器。
为了执行滤波操作,寄存器缓冲器阵列416存储从X缓冲存储器(0和1)404读取的当前宏块的数据、从A缓冲存储器(0和1)406读取的位于当前宏块左侧的宏块的数据和从外部存储器430读取的位于当前宏块上方的宏块的数据,并且在由边缘滤波器420滤波的数据当中存储要用在后续滤波操作中的数据。边缘滤波器420使用存储在寄存器缓冲器阵列416中的数据滤波边缘。滤波强度生成器422确定滤波强度来恢复实际图像的边缘部分并防止/降低过度滤波,并且阈值生成器424计算阈值来确定是否执行滤波。外部存储器430存储用于滤波的视频数据并存储经滤波的数据。寄存器缓冲器阵列418控制寄存器缓冲器阵列416,而外部存储控制器426控制外部存储器430。
将参照图4描述根据本发明一些实施例的解块滤波器400的操作。为了滤波宏块,使用与当前宏块相关的信息和与相邻宏块相关的信息。换句话说,使用与位于当前宏块左侧的宏块A相关的信息来滤波当前宏块的垂直边缘,而使用与位于当前宏块上方的宏块B相关的信息来滤波当前宏块的水平边缘。如上所述,在图1的视频解码器***中,解块滤波器16从解块滤波器16之前的级的预测器15接收与要滤波的当前宏块相关的信息,并且将信息存储在X缓冲存储器(0和1)404中。在一些实施例中,对于视频解码器***的有效流水线结构,X缓冲存储器的数量是2。
也使用用于存储相邻宏块A和B来滤波当前宏块的水平/垂直边缘的存储缓冲器,并且A缓冲存储器406存储与位于当前宏块左侧的宏块A相关的信息并根据MBAFF模式存储4*32像素信息。根据本发明一些实施例,对于视频解码器***的流水线结构,A缓冲存储器406的数量也是2。
在H.264/AVC主简档(profile)的情况下,当与位于当前宏块上方的宏块B相关的信息支持最大分辨率2048*1024时,根据MBAFF模式使用128*4*32像素信息。这里,128是包含在图像的一行中的宏块的数量。然而,像素信息量可能多到不能存储在内部存储缓冲器中。因此,这样一种结构可能更有效,即,在该结构中,与位于当前宏块X上方的宏块B相关的信息存储在外部存储器430中,并且在滤波之前预先读取与宏块B相关的必要像素信息并将其存储在内部寄存器缓冲器阵列416。此外,如图4所示,为了存取外部存储器430,可以使用外部总线接口模块414与***总线432交换数据。
在图4中,寄存器缓冲器阵列416存储在用于滤波操作的像素之中的、用于后续滤波操作的数据和用于高速滤波操作的流水线结构的经滤波的像素,由此可以有效地处理滤波。换句话说,与常规解块滤波器不同,根据本发明一些实施例的寄存器缓冲器阵列416读取用于边缘滤波的信息,执行滤波操作,并且在完成垂直/水平边缘滤波之前在寄存器中存储所读取的信息,由此有助于高速流水线结构并降低不必要的存储器存取周期。
边缘滤波器420接收来自寄存器缓冲器阵列416的像素信息、来自滤波强度生成器422的边界滤波强度和来自阈值生成器424的阈值,并且执行实际滤波操作。对于高速滤波操作,边缘滤波器420包括分离地对色度或亮度分量进行操作来允许同时滤波4×4子块的垂直或水平边缘的四个滤波引擎。四个滤波引擎中的每一个滤波包含在每个4×4子块中的一行数据中的像素。
根据本发明一些实施例的解块滤波器400的边缘滤波器420同时滤波亮度分量和色度分量来降低滤波操作所需的时间。
如图4所示,根据本发明一些实施例的解块滤波器400配置来使得滤波强度生成器422安装在边缘滤波器420之外。为了确定滤波强度,可以使用运动向量信息和比较各种条件的处理。运动向量信息用于图1所示的常规视频解码器10中的预测器15之前的级。因此,通常实际上在内部存储器中存储运动向量信息,并且当产生滤波强度时使用所存储的信息。然而,在根据本发明一些实施例的解块滤波器400中,在产生运动向量期间产生滤波强度来共享运动向量信息,而不用分离地存储运动向量信息。通过这样做,不仅可以节约内部存储器,而且由于在解块滤波器之前的级产生滤波强度可以降低解块滤波操作所需的时间。
用于流水线结构的两个输出缓冲存储器(0和1)临时存储滤波的数据,并且将滤波的数据输出到外部存储器430。
解块滤波器400以4×4子块为单位执行滤波操作,并且对每个块边缘存取至少两个像素。结果,存储器存取数量增加,这可能影响解码器的性能。因此,根据本发明一些实施例的解块滤波器400配置得可以降低存储器存取数量,并且有效地并行执行水平滤波和垂直滤波。
根据常规滤波顺序,在滤波垂直边缘后滤波水平边缘。在这种情况下,为了滤波宏块,可以执行64个水平滤波操作和64个垂直滤波操作。如果用于数据输入/输出的存储器存取所需的周期数和滤波操作所需的周期数大约是15个周期,则总共需要1920个周期,这可能导致很难实时处理高分辨率视频数据。然而,根据本发明一些实施例的解块滤波器400通过可以同时处理垂直和水平滤波的硬件结构,可以降低存储器存取和用于滤波操作所需的周期的数量。
图5是图解根据本发明一些实施例的宏块中的边缘滤波顺序的图。在图5中,显示了16×16宏块,并且16个子块的每一个是4×4块。从顶水平行的四个4×4子块开始到底水平行的四个4×4子块为止执行宏块的解块滤波。在顺序对四个4×4子块的垂直边缘执行水平滤波后,顺序对四个4×4子块的水平边缘执行垂直滤波。
换句话说,滤波宏块的顺序如下,在以如图5A所示的顺序1、2、3、4对子块执行水平滤波(I)之后,以如图5B所示的顺序1、2、3、4对子块执行垂直滤波(I′)。在垂直滤波(I′)完成后,以5、6、7、8的顺序对子块执行水平滤波(II),然后以5、6、7、8的顺序对子块执行垂直滤波(II′)。在垂直滤波(II′)完成后,以9、10、11、12的顺序对子块执行水平滤波(III),然后以9、10、11、12的顺序对子块执行垂直滤波(III′)。在垂直滤波(III′)完成后,以13、14、15、16的顺序对子块执行水平滤波(IV),然后以13、14、15、16的顺序对子块执行垂直滤波(IV′)。
图6是图解根据本发明一些实施例的滤波操作中的流水线结构的方框图。根据本发明一些实施例的解块滤波方法使用4×16块作为其基本处理单位。换句话说,如图5所示,顺序对四个4×4子块1、2、3和4(即,4×16块)、四个4×4子块5、6、7和8、四个4×4子块9、10、11和12和四个4×4子块13、14、15和16执行滤波。根据本发明一些实施例的解块滤波方法使用4×16块,即四个4×4子块,作为其基本处理单位来以二级流水线结构的形式处理水平滤波和垂直滤波。在4×16块中,使用四个4×4子块以二级流水线结构的形式处理水平滤波和垂直滤波。
将参照图5和6描述根据本发明一些实施例的流水线结构。在对第一4×16块执行水平滤波(I)后,同时对第一4×16块执行垂直滤波(I′)和对第二4×16块执行水平滤波(II)。然后同时对第二4×16块执行垂直滤波(II′)和对第二4×16块执行水平滤波(III)。然后同时对第三4×16块执行垂直滤波(III′)和对第四4×16块执行水平滤波(IV)。最后对第四4×16块执行垂直滤波(IV′)。
换句话说,在根据本发明一些实施例的解块滤波方法中,由于以流水线形式执行水平滤波和垂直滤波,因此对子块5、6、7、8执行水平滤波,同时对子块1、2、3、4执行垂直滤波。此外,对子块5、6、7、8执行垂直滤波,同时对子块9、10、11、12执行水平滤波。对子块9、10、11、12执行垂直滤波,同时对子块13、14、15、16执行水平滤波。最后对子块13、14、15、16执行垂直滤波。
在4×16块中,在关于第一4×4子块的数据输入后,同时执行第一4×4子块的滤波和关于第二4×4子块的数据输入。同时执行第二4×4子块的滤波和关于第三4×4子块的数据输入。同时执行第三4×4子块的滤波和关于第四4×4子块的数据输入。最后执行第四4×4子块的滤波。
例如,在图5的第一4×16块即4×4子块1、2、3、4水平滤波中,在执行4×4子块1的水平滤波的同时,输入用于4×4子块2的水平滤波的数据。以相同方式,在执行4×4子块2的水平滤波同时,输入用于4×4子块3的水平滤波的数据。在执行4×4子块3的水平滤波的同时,输入用于4×4子块4的水平滤波的数据。最后执行4×4子块4的水平滤波。
因此,根据本发明一些实施例的解块滤波方法可以关于4×16块同时处理水平滤波和垂直滤波。此外,关于每个4×4块,水平滤波和垂直滤波可以同时处理数据输入和滤波操作。
为了降低滤波操作所需的时间,根据本发明一些实施例的解块滤波方法同时处理关于亮度分量和色度分量的滤波操作。
如图4所示,通过根据本发明一些实施例的解块滤波器400中的寄存器缓冲器阵列416实现具有高速流水线结构的处理滤波操作的功能。换句话说,在根据本发明一些实施例的解块滤波方法中,以4×16块执行垂直和水平滤波,并且使用寄存器缓冲器阵列416将滤波的4×16块用于后续垂直滤波,来降低在基于4×4块的滤波操作中不必要的存储器存取。因此,可以跳过用于后续滤波的、在内部缓冲存储器中存储数据的处理,这产生降低存储器存取所需的周期的效果。
图7是图解根据本发明一些实施例的解块滤波操作的流程图。参照图7,从内部X缓冲存储器读取用于垂直边缘的水平滤波的宏块A和宏块X的第一4×4子块的数据,并且存储在寄存器缓冲器阵列来提供要滤波的数据(S701)。在提供了要滤波的数据后,在操作S702确定要滤波的数据是否是垂直边缘。如果要滤波的数据是垂直边缘,则在操作S703执行水平滤波。在操作S704,在对数据执行水平滤波的同时,将宏块X的第二4×4子块的数据提供到寄存器缓冲器阵列用于后续水平滤波。使用经受水平滤波的数据和接下来要在操作S707滤波4×4子块的数据来更新寄存器缓冲器阵列。重复该处理直到在操作S708和S709中完成水平滤波。在操作S710和S711,在执行水平滤波的同时,从外部存储器将用于第一或第二子块的垂直滤波的宏块B的4×16块数据提供到寄存器缓冲器阵列。
在以流水线形式完成四个垂直边缘的水平滤波后,可以在操作S705执行垂直滤波。可以在操作S718输出经受水平和垂直滤波的宏块A的数据。
在操作S705,以基于4×4块的流水线结构的形式使用经受水平滤波的宏块X的4×16块数据和宏块B的4×16块数据来执行垂直滤波,同时在操作S703对后续垂直边缘执行上述水平滤波。然后,在操作S712,使用经受垂直滤波的数据和经受水平滤波的4×4子块数据更新寄存器缓冲器阵列。重复该处理直到在操作S713和S714完成4×4垂直滤波为止。
在完成垂直滤波后,在操作S715,宏块X的四个4×16块的数据存储在A缓冲存储器中,用于后续宏块的解块滤波,同时,在操作S716,将经受垂直和水平滤波的宏块B的数据存储在将要输出到外部存储器的输出缓冲器,然后在后续水平和垂直滤波中输出到外部存储器。使用用于后续垂直滤波的4×4宏块X的数据更新寄存器缓冲器阵列。在对所有垂直和水平边缘执行该处理之后,在操作S717和操作S719中,完成宏块的解块滤波,并且将滤波后的数据输出到外部存储器。
基于根据本发明一些实施例的解块滤波器和解块滤波方法,使用可以同时处理数据输入、滤波操作、垂直滤波、水平滤波和数据输出的流水线结构可以执行高速滤波操作。
尽管已参照本发明的确定优选实例表示和描述了本发明,但本领域内的普通技术人员将理解的是,可在不背离由所附权利要求书限定的本发明宗旨和范围的前提下对本发明进行各种形式和细节上的修改。

Claims (13)

1.一种解块滤波器,包括:
当前宏块缓冲存储器,配置来存储要滤波的当前宏块的视频数据;
侧宏块缓冲存储器,配置来存储位于当前宏块左侧的相邻宏块的视频数据的一部分;
寄存器缓冲器阵列,配置来存储为当前滤波而从当前宏块缓冲存储器读取的视频数据、从侧宏块缓冲存储器读取的视频数据和相邻宏块的数据;和
连接到寄存器缓冲器阵列的边缘滤波器,配置来对视频数据的当前宏块的子块的边缘执行水平或垂直滤波,并且同时对视频数据的当前宏块的后续子块的边缘执行水平或垂直滤波中的另一个,其中垂直滤波使用来自位于当前宏块上方的相邻宏块的数据,而水平滤波使用来自侧宏块缓冲存储器的视频数据。
2.如权利要求1所述的解块滤波器,还包括:
外部存储器,配置来存储包括相邻宏块的视频数据的已滤波和未滤波的视频数据。
3.如权利要求2所述的解块滤波器,还包括:
滤波输出缓冲存储器,配置来暂时存储由边缘滤波器滤波的视频数据。
4.如权利要求3所述的解块滤波器,其中当前宏块缓冲存储器、侧宏块缓冲存储器和滤波输出缓冲存储器中的每一个包括至少两个配置来用于流水线滤波操作的缓冲存储器。
5.如权利要求3所述的解块滤波器,还包括:
外部存储控制器,配置来从外部存储器读取视频数据,并且将读取的视频数据存储在当前宏块缓冲存储器和/或侧宏块缓冲存储器中;和
寄存器缓冲器阵列控制器,配置来从当前宏块缓冲器、侧宏块缓冲存储器和外部存储器中读取视频数据,并且将所读取的视频数据存储在寄存器缓冲器阵列中。
6.如权利要求5所述的解块滤波器,其中寄存器缓冲器阵列配置来从当前宏块缓冲存储器读取子块视频数据、从侧宏块缓冲存储器读取视频数据和从外部存储器读取视频数据或相邻宏块,存储所读取的视频数据,暂时存储由边缘滤波器滤波的子块视频数据,并且提供所存储的当前宏块的子块视频数据用来后续边缘的滤波。
7.如权利要求5所述的解块滤波器,还包括:
连接到边缘滤波器的滤波强度生成器,配置来确定边缘滤波的滤波强度;和
连接到滤波强度生成器的阈值生成器,配置来确定是否执行边缘滤波,
其中滤波强度生成器与边缘滤波器分离。
8.如权利要求7所述的解块滤波器,其中滤波强度生成器配置来在运动向量产生处理的同时使用在运动向量产生处理期间产生的运动向量来产生滤波强度。
9.如权利要求1所述的解块滤波器,其中边缘滤波器包括为色度或亮度分量单独地运行的多个滤波引擎,以允许同时滤波当前宏块的子块的垂直和水平边缘。
10.如权利要求5所述的解块滤波器,还包括:缓冲存储控制器,配置来分别控制向当前宏块缓冲存储器、侧宏块缓冲存储器和滤波输出缓冲存储器输入的视频数据和从它们输出的视频数据。
11.如权利要求1所述的解块滤波器,其中边缘滤波器配置来同时对视频数据的亮度分量和视频数据的色度分量执行滤波操作。
12.如权利要求1所述的解块滤波器,其中视频数据配置来由H.264/AVC编解码器进行处理。
13.一种解块滤波方法,包括:
存储要滤波的当前宏块的视频数据到当前宏块缓冲存储器中;
存储位于当前宏块左侧的相邻宏块的视频数据的一部分到侧宏块缓冲存储器中;
存储为当前滤波而从当前宏块缓冲存储器读取的视频数据、从侧宏块缓冲存储器读取的视频数据和相邻宏块的视频数据;和
对视频数据的当前宏块的子块的边缘执行水平或垂直滤波,并且同时对视频数据的当前宏块的后续子块的边缘执行水平或垂直滤波中的另一个,其中垂直滤波使用来自位于当前宏块上方的相邻宏块的数据,而水平滤波使用来自侧宏块缓冲存储器的视频数据。
CN2005100229651A 2004-12-17 2005-12-19 同时执行视频数据水平和垂直滤波的解块滤波器及其方法 Expired - Fee Related CN1812576B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR107995/04 2004-12-17
KR20040107995A KR100843196B1 (ko) 2004-12-17 2004-12-17 H.264/avc 비디오 디코더의 디블록킹 필터

Publications (2)

Publication Number Publication Date
CN1812576A CN1812576A (zh) 2006-08-02
CN1812576B true CN1812576B (zh) 2010-12-15

Family

ID=36595730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100229651A Expired - Fee Related CN1812576B (zh) 2004-12-17 2005-12-19 同时执行视频数据水平和垂直滤波的解块滤波器及其方法

Country Status (4)

Country Link
US (1) US20060133504A1 (zh)
JP (1) JP2006174486A (zh)
KR (1) KR100843196B1 (zh)
CN (1) CN1812576B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI264951B (en) * 2005-05-19 2006-10-21 Cheertek Inc Deblock filter method for applying on video encoding/decoding and the apparatus thereof
EP1977607A4 (en) * 2006-01-09 2014-12-17 Lg Electronics Inc INTER-LAYER PREDICTION PROCEDURE FOR A VIDEO SIGNAL
JP4834446B2 (ja) * 2006-04-11 2011-12-14 株式会社東芝 画像処理装置
KR100816461B1 (ko) * 2006-04-12 2008-03-26 주식회사 칩스앤미디어 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
JP4997817B2 (ja) * 2006-04-19 2012-08-08 セイコーエプソン株式会社 画像処理装置
US7881552B1 (en) * 2006-05-16 2011-02-01 Adobe Systems Incorporated Anti-flicker filter
US20070274385A1 (en) * 2006-05-26 2007-11-29 Zhongli He Method of increasing coding efficiency and reducing power consumption by on-line scene change detection while encoding inter-frame
DE102007035204A1 (de) * 2006-07-28 2008-02-07 Mediatek Inc. Videoverarbeitungs- und - betriebsvorrichtung
JP4410225B2 (ja) * 2006-08-07 2010-02-03 株式会社東芝 動画像復号化装置および方法
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
US8175405B1 (en) * 2006-09-14 2012-05-08 Marvell International Ltd. Adaptive MPEG noise reducer
KR100827106B1 (ko) * 2006-10-20 2008-05-02 삼성전자주식회사 디블록킹 필터에서의 필터 조건 영역 판별을 위한 장치 및방법
KR101370287B1 (ko) 2006-11-22 2014-03-07 세종대학교산학협력단 디블록킹 필터링 방법 및 장치
TWI375470B (en) * 2007-08-03 2012-10-21 Via Tech Inc Method for determining boundary strength
EP2061250B8 (en) 2007-11-16 2012-02-29 ST-Ericsson SA Deblocking filter
CN101170701B (zh) * 2007-11-16 2010-10-27 四川虹微技术有限公司 视频编解码***中去块滤波方法及装置
EP2073553A1 (en) * 2007-12-21 2009-06-24 Thomson Licensing Method and apparatus for performing de-blocking filtering of a video picture
US8432975B2 (en) * 2008-01-18 2013-04-30 Mediatek Inc. Apparatus and method for processing a picture frame
US20090245351A1 (en) * 2008-03-28 2009-10-01 Kabushiki Kaisha Toshiba Moving picture decoding apparatus and moving picture decoding method
JP5012647B2 (ja) 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
TWI386068B (zh) * 2008-10-22 2013-02-11 Nippon Telegraph & Telephone 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體
KR101680915B1 (ko) * 2008-11-25 2016-11-29 톰슨 라이센싱 비디오 인코딩 및 디코딩을 위한 희소성-기반 아티팩트 제거 필터링 방법 및 장치
CN101510305B (zh) * 2008-12-15 2010-12-22 四川虹微技术有限公司 一种改进的自适应直方图均衡方法
US8295360B1 (en) * 2008-12-23 2012-10-23 Elemental Technologies, Inc. Method of efficiently implementing a MPEG-4 AVC deblocking filter on an array of parallel processors
JP5253312B2 (ja) * 2009-07-16 2013-07-31 ルネサスエレクトロニクス株式会社 動画像処理装置およびその動作方法
KR101004825B1 (ko) 2009-08-28 2010-12-28 성균관대학교산학협력단 수평 필터와 수직 필터를 이용하는 파이프라인 구조의 디블록킹 필터 장치
JP5418674B2 (ja) * 2009-10-29 2014-02-19 日本電気株式会社 H.264インループ・デブロッキング・フィルタの並列実行装置及び方法
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
US20110135008A1 (en) * 2009-12-07 2011-06-09 Electronics And Telecommunications Research Institute Video processing system
KR101119978B1 (ko) * 2010-04-13 2012-03-16 인하대학교 산학협력단 디블록킹 필터 및 그 방법
CN106454359B (zh) * 2010-12-07 2020-05-19 索尼公司 图像处理设备和图像处理方法
EP3582496B1 (en) 2010-12-07 2021-10-27 Sony Group Corporation Image processing device and image processing method
JP2012151690A (ja) * 2011-01-19 2012-08-09 Hitachi Kokusai Electric Inc デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
CN110611810B (zh) 2011-06-28 2021-06-01 索尼公司 图像处理装置和图像处理方法
CN106658014B (zh) 2011-06-30 2021-01-08 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
BR112013032615A2 (pt) * 2011-11-25 2017-08-01 Panasonic Corp método de processamento de imagem e aparelho de processamento de imagem
US9363516B2 (en) * 2012-01-19 2016-06-07 Qualcomm Incorporated Deblocking chroma data for video coding
TW201345269A (zh) * 2012-03-30 2013-11-01 Jvc Kenwood Corp 影像編碼裝置、影像編碼方法、影像編碼程式、送訊裝置、送訊方法、及送訊程式、以及影像解碼裝置、影像解碼方法、影像解碼程式、收訊裝置、收訊方法、及收訊程式
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9872044B2 (en) 2013-05-15 2018-01-16 Texas Instruments Incorporated Optimized edge order for de-blocking filter

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281617A (zh) * 1997-10-25 2001-01-24 三星电子株式会社 用于减少量化效应的图像数据后处理方法和装置
CN1347621A (zh) * 1999-12-14 2002-05-01 皇家菲利浦电子有限公司 减少“块状图像”效应
EP1296522A2 (en) * 2001-09-24 2003-03-26 Broadcom Corporation Method and apparatus for performing deblocking filtering

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525785B1 (ko) * 2001-06-15 2005-11-03 엘지전자 주식회사 이미지 화소 필터링 방법
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP4114494B2 (ja) 2002-03-07 2008-07-09 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
US7362810B2 (en) 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281617A (zh) * 1997-10-25 2001-01-24 三星电子株式会社 用于减少量化效应的图像数据后处理方法和装置
CN1347621A (zh) * 1999-12-14 2002-05-01 皇家菲利浦电子有限公司 减少“块状图像”效应
EP1296522A2 (en) * 2001-09-24 2003-03-26 Broadcom Corporation Method and apparatus for performing deblocking filtering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2002-304624A 2002.10.18

Also Published As

Publication number Publication date
US20060133504A1 (en) 2006-06-22
JP2006174486A (ja) 2006-06-29
KR100843196B1 (ko) 2008-07-02
KR20060069010A (ko) 2006-06-21
CN1812576A (zh) 2006-08-02

Similar Documents

Publication Publication Date Title
CN1812576B (zh) 同时执行视频数据水平和垂直滤波的解块滤波器及其方法
CN101107861B (zh) 重叠平滑与环路内解块之分段处理
US7876829B2 (en) Motion compensation image coding device and coding method
US20060115002A1 (en) Pipelined deblocking filter
US20060165164A1 (en) Scratch pad for storing intermediate loop filter data
US9300984B1 (en) Independent processing of data streams in codec
WO2016196843A1 (en) Techniques for resource conservation during performance of intra block copy prediction searches
CN103891277A (zh) 回路滤波方法及其装置
US8107761B2 (en) Method for determining boundary strength
CN103843350A (zh) 回路滤波方法及其装置
CN104521234A (zh) 合并去区块处理和取样自适应偏移处理的视频处理方法和装置
CN113709480B (zh) 一种编码、解码方法、装置及其设备
EP2398240A1 (en) A method and device for encoding and decoding a video signal
KR102090053B1 (ko) 픽셀블록 필터링 방법 및 장치
WO2022116824A1 (zh) 视频解码方法、视频编码方法、相关设备及存储介质
CN113115041B (zh) 支持alpha通道的无损图片压缩方法、装置及介质
US11683497B2 (en) Moving picture encoding device and method of operating the same
US8249373B2 (en) Image data decoding apparatus and method for decoding image data
JP2012151690A (ja) デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
WO2023123358A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
KR101063423B1 (ko) 디블록 필터링 방법 및 장치
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
JP2024511272A (ja) イントラ予測方法、符号器、復号器及び記憶媒体
KR20230162988A (ko) 멀티미디어 데이터 프로세싱 방법 및 장치, 컴퓨터 디바이스, 및 컴퓨터-판독가능 저장 매체
CN114598871A (zh) 一种编码、解码方法、装置及其设备

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101215

Termination date: 20121219