CN1444408A - 图像处理设备、图像处理程序和图像处理方法 - Google Patents

图像处理设备、图像处理程序和图像处理方法 Download PDF

Info

Publication number
CN1444408A
CN1444408A CN03106890A CN03106890A CN1444408A CN 1444408 A CN1444408 A CN 1444408A CN 03106890 A CN03106890 A CN 03106890A CN 03106890 A CN03106890 A CN 03106890A CN 1444408 A CN1444408 A CN 1444408A
Authority
CN
China
Prior art keywords
pixel
piece
string
value
object pixel
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
CN03106890A
Other languages
English (en)
Other versions
CN1220390C (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1444408A publication Critical patent/CN1444408A/zh
Application granted granted Critical
Publication of CN1220390C publication Critical patent/CN1220390C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

提供了一种适合于在解码图像时简化并加速滤波处理并实施有效的滤波效果的图像处理设备。解块滤波处理判断在对象像素v0至v7的值和参考像素ry0至ry7的值之间的差值是否超过阈值,只基于对象像素v0至v7的值和参考像素rx0和rx1的值对对象像素v0至v7执行水平滤波操作,只基于该判断结果确定是否对对象像素v0至v7执行垂直滤波操作,以及只基于对象像素v0至v7的值和参考像素ry0至ry7的值对对象像素v0至v7执行垂直滤波操作。

Description

图像处理设备、图像处理程序和图像处理方法
发明领域
本发明涉及在基于由JPEG(联合图象专家组)、MPEG(运动图像专家组)等压缩的压缩图像数据通过块扩展图像时对扩展的图像执行滤波处理的设备、程序和方法,更具体地说,涉及在对图像进行解码时适合于简化并加速滤波处理并实现有效的滤波效果的图像处理设备、图像处理程序和图像处理方法。
已有技术描述
作为对静态图像的压缩技术的JPEG方法和作为对运动图像的压缩技术的MPEG方法是非常公知的。这些图像压缩方法将8像素×8像素的块作为执行DCT(离散余弦变换)处理的处理单元。DCT处理是一种将原始图像分解为空间频率分量的处理,它能够通过降低空间冗余信息来压缩图像。
顺便指出,在采用JPEG方法或MPEG方法的情况下,产生了下面两种类型的噪声,这种噪声成为降低图像质量的原因。更具体地说,由于JPEG方法和MPEG方法将8像素×8像素的块作为处理单元处理,因此块边界可能作为与图像相关的噪声出现。产生这种噪声的原因在于DCT处理是一种消除了图像的空间频率分量的直流分量的等效量的处理,并且逐块地执行这种处理,因此每块的亮度的平均值变得不同。在边界部分上的这种噪声称为块噪声。
此外,在通过JPEG方法和MPEG方法进行的DCT处理的情况下,图像的空间频率分量的更高的谐波分量作为冗余信息被消除,因此在与周围亮度相差明显的部分中存在噪声。例如,如果在块的亮度存在极大的变化比如在自然图像的背景中存在字符的情况下执行DCT处理,则从构成原始边界部分的数据中消除了更高的谐波分量,并且模糊噪声出现在边界周围。这种噪声称为蚊式噪声(mosquito noise)。
在日本专利公开No.3-46482中描述了降低块噪声和蚊式噪声的技术。至于在其中所描述的技术(在下文中称为第一已有的实例),在如下的情况下执行滤波处理:在位于在相互相邻的块之间的边界的夹层上的边界像素之间的信号电平差值大于第一阈值,并且对于在每个块中在一行(string)上的像素和边界像素与在相同的块中的边界像素相邻的像素的信号电平差小于第二阈值。
这时,在附图4中,基于在块边界的两侧上的像素位置X1和X’0和像素位置X′0和X′1的信号电平S1、S0、S′0和S′1的差值d0、d1和d2校正像素位置X0和X′0的信号电平。更具体地说,新的信号电平S0-new和S′0-new如下:
     S0-new=(S1+2·S0+S′0)/4
     S′0-new=(S0+2·S0+S′1)/4
此外,作为降低块噪声和蚊式噪声的另一方法,MPEG4的VM(验证模型)和在日本专利申请公开No.11-98505中描述的技术(在下文中称为第二已有技术的实例)也是公知的。在第二已有技术的实例中,确定在附图15中所示的垂直和水平块的边界是处于缺省模式还是DC偏移模式中并分别进行处理。
在这种情况下,以块边界B1和B2将像素集S0、S1和S2定义为基点,基于块变形现象的程度从模式确定值中有选择性地确定解块模式为缺省模型或者DC偏移模型。如果确定它是缺省模型,则通过使用4点DCT核获取每个像素的块边界周围的频率信息。在模型确定阶段中如果确定为处于DC偏移模型,则确定是否需要执行DC偏移模型,如果需要的话,则消除块变形现象。
然而,至于第一已有技术的实例,它仅仅校正了边界像素,因此在消除块变形的过程中存在不充分的缺陷。此外,对于VM和第二已有技术的实例,处理比较复杂,并且计算负担过重。
此外,在通过硬件实施这些技术的情况下,处理相对较复杂,因此存在的问题是很难使电路的规模变得更小。从使它变得更小的角度看,理想的是尽可能地简化处理,即使在一定程度上损坏了图像质量。此外,由于在一定程度上限制了可安装的存储器容量,因此,理想的是,使在滤波过程中操作尽可能小地占用存储器容量。
发明概述
因此,本发明通过注意到在已有技术中这些未解块的问题而实现,本发明的第一个目的是提供一种在对图像解码时适合于简化并加速滤波处理并实现有效的滤波效果的图像处理设备、图像处理程序和图像处理方法。此外,本发明的第二个目的是提供一种在对图像解码时适合于在滤波过程中降低操作占用的存储器容量的图像处理设备、图像处理程序和图像处理方法。
为了实现上述目的,根据本发明的权利要求1的图像处理设备是这样的一种设备:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在对象块附近的块是参考块的情况下,以及在上述的对象块中的一个像素是对象像素并且在上述的参考块中的一个像素是参考像素的情况下,上述的滤波处理判断在上述的对象像素的值和上述的参考像素的值之间的差值是否超过阈值,只基于上述的判断结果确定是否对上述的对象像素执行滤波操作,以及只基于上述的对象像素的值和上述的参考像素的值对上述的对象像素执行滤波操作。
在这种结构的情况下,在基于压缩图像数据通过块扩展图像时或之后通过滤波处理判断在对象像素的值和参考像素的值之间的差值是否超过阈值,以便只基于判断结果确定是否对对象像素执行滤波操作。如果确定对对象像素执行滤波处理,则只基于对象像素的值和参考像素的值执行滤波操作。
在此,只基于判断结果确定是否执行滤波操作是指,在一个对象像素仅使用一个参考像素的情况比如对对象像素仅垂直地执行滤波处理的情况下,只基于判断的结果确定在对象像素的值和参考像素的值之间的差值是否超过阈值。此外,在一个对象像素使用多个参考像素的情况比如对对象像素水平地和垂直地执行滤波处理的情况下,“仅仅”的要求解释为在每个方向上执行滤波处理。更具体地说,在这种情况下,在其中只基于判断的结果确定是否对对象像素执行垂直的滤波操作的配置中,垂直滤波处理在结构上满足“仅仅”的要求,但基于许多判断结果确定是否对相同的对象像素执行水平滤波操作。实质上,在与其相反的情况下,在本发明中水平滤波处理也满足“仅仅”的要求。在下文中,根据权利要求2的图像处理设备、根据权利要求9和10的图像处理程序和根据权利要求11和12的图像处理方法都相同。
此外,只基于两个像素值执行滤波操作是指,在一个对象像素仅使用一个参考像素的情况比如对对象像素仅仅垂直地执行滤波处理的情况下,只基于对象像素的值和参考像素的值执行它。此外,在一个对象像素使用许参考像素的情况比如对对象像素水平地和垂直地执行滤波处理的情况下,“仅仅”的要求解释为在每个方向上执行滤波处理。更具体地说,在这种情况下,垂直滤波处理在结构上满足“仅仅”的要求,其中只基于两个像素值对对象像素执行垂直的滤波操作,但基于三个或更多个像素值对相同的对象像素执行水平滤波操作。实质上,在与其相反的情况下,在本发明中水平滤波处理也满足“仅仅”的要求。在下文中,根据权利要求2的图像处理设备、根据权利要求9和10的图像处理程序和根据权利要求11和12的图像处理方法都相同。
此外,根据本发明的权利要求2的图像处理设备是这样的一种设备:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在如下的情况下:对象块水平相邻的块是水平参考块并且在上述的对象块垂直相邻的块是垂直参考块,以及在上述的对象块中的一个像素是对象像素并且在位于与上述的对象块的边界上并且与上述的对象像素处于相同的垂直位置上的上述水平参考块中的一个像素是水平参考像素,以及在位于与上述的对象块的边界上并且与上述的对象像素处于相同的水平位置上的上述的垂直参考块中的一个像素是垂直参考像素,则上述的滤波处理判断在上述的对象像素的值和上述的垂直参考像素的值之间的差值是否超过阈值,上述的滤波处理只基于上述的对象像素的值和上述的水平参考像素的值对上述的对象像素执行水平滤波操作,上述的滤波处理只基于上述的判断结果确定是否对上述的对象像素执行垂直滤波处理,以及只基于上述的对象像素的值和上述的垂直参考像素的值对上述的对象像素执行垂直滤波操作。
在这种结构的情况下,在以压缩图像数据为基础通过块扩展图像之时或之后只基于对象像素的值和水平参考像素的值通过滤波处理执行对对象像素的水平滤波操作。此外,判断在对象像素的值和垂直参考像素的值之间的差值是否超过阈值,并只基于判断结果确定是否对对象像素执行垂直滤波操作。如果确定对对象像素执行垂直滤波操作,则只基于对象像素的值和垂直参考像素的值执行垂直滤波操作。
此外,根据本发明的权利要求3的图像处理设备的特征在于:在根据权利要求2的图像处理设备中,可使用地连接到图像存储装置以存储上述的扩展的图像,该设备具有工作用存储装置以便存储执行上述的滤波处理的像素数据,其中,在上述的对象块中的并自与上述的水平参考块的边界水平地连续的许多像素的是上述的对象像素的情况下,上述的滤波处理将第一像素串的像素数据和第二像素串的像素数据共同地读取到上述的工作用存储装置中,该第一像素串包括上述多个对象像素和上述水平参考像素,该第二像素串包括对应于上述相应的对象像素的垂直参考像素,基于上述的工作用存储装置的像素数据对每个上述的对象像素进行上述的判断,上述的滤波处理通过参考上述的工作用存储装置的像素数据只基于上述的对象像素的值和上述的水平参考像素的值对上述的相应的对象像素执行水平滤波操作,上述的滤波处理只基于对应于对象像素的上述的判断结果确定是否对上述的相应的对象像素执行垂直滤波操作,并且通过参考上述的工作用存储装置的像素数据只基于上述的对象像素的值和上述的垂直参考像素的值对上述的相应的对象像素执行垂直滤波操作。
在这种结构的情况下,第一像素串的像素数据和第二像素串的像素数据通过滤波处理共同地读取到工作用存储装置中,并且通过参考工作用存储装置的像素数据并只基于对象像素的值和水平参考像素的值对相应的对象像素执行水平滤波操作。此外,基于工作用存储装置的像素数据判断在上述的对象像素的值和上述的垂直参考像素的值之间的差值是否超过每个对象像素的阈值,并只基于对应于对象像素的判断结果对每个对象像素执行垂直滤波操作。如果确定对对象像素执行垂直滤波操作,则通过参考工作用存储装置的像素数据并基于对象像素的值和垂直参考像素的值执行垂直滤波操作。
在此,工作用存储装置通过任何装置在任何周期中存储像素数据,并且事先存储像素数据或者在设备在运行中时通过从外部输入来存储像素数据但无需事先存储它。它与在图像存储装置中存储扩展图像的情况相同。
此外,根据本发明的权利要求4的图像处理设备的特征在于:在根据权利要求3的图像处理设备中,构造每个上述的块作为包括在水平上2n(n≥1)段(piece)像素和在垂直上2m(m≥1)段像素的矩形图像区,并将它划分为包括在水平上n段像素和在垂直上m段像素的左上、右上、左下和右下的4个区,进一步以上述的水平参考像素和属于上述的4个区的相同区中的像素构造上述的第一像素串,在重复作为一系列处理的上述的像素数据的读取、上述的判断和上述的滤波操作的同时,上述的滤波处理尝试对上述的扩展图像的所有的像素执行上述的滤波操作,至于属于上述的对象块的左上区的对象像素,上述的滤波处理使用在位于它的左边和上方的上述的对象块附近的水平参考块和垂直参考块的参考像素值以进行上述的判断和上述的滤波操作,至于属于上述的对象块的右上区的对象像素,上述的滤波处理使用在位于它的右边和上方的上述的对象块附近的水平参考块和垂直参考块的参考像素值以进行上述的判断和上述的滤波操作,至于属于上述的对象块的左下区的对象像素,上述的滤波处理使用在位于它的左边和下方的上述的对象块附近的水平参考块和垂直参考块的参考像素值以进行上述的判断和上述的滤波操作,至于属于上述的对象块的右下区的对象像素,上述的滤波处理使用在位于它的右边和下方的上述的对象块附近的水平参考块和垂直参考块的参考像素值以进行上述的判断和上述的滤波操作。
在这种结构的情况下,在通过滤波处理重复作为一系列处理的像素数据的读取、判断和滤波操作的同时对扩展图像的所有的像素执行滤波处理。
更具体地说,至于属于对象块的左上区的对象像素,使用在它的左边的对象块附近的水平参考块的参考像素值和在它的上方的对象块附近的垂直参考块的参考像素值以进行判断和滤波操作,
此外,至于属于对象块的右上区的对象像素,使用在它的右边的对象块附近的水平参考块的参考像素值和在它的上方的对象块附近的垂直参考块的参考像素值以进行判断和滤波操作,
此外,至于属于对象块的右下区的对象像素,使用在它的右边的对象块附近的水平参考块的参考像素值和在它的下方的对象块附近的垂直参考块的参考像素值以进行判断和滤波操作,
此外,至于属于对象块的右下区的对象像素,使用在它的右边的对象块附近的水平参考块的参考像素值和在它的下方的对象块附近的垂直参考块的参考像素值以进行判断和滤波操作,
在此,在n需要满足n≥1的条件,并且n是n≥1并且n是整数,因为由于本发明的特征使得它不能取小数值。此外,m需要取独立于n的值并且满足m≥1的条件的值,m是m≥1并且m是整数,因为由于本发明的特征使得它不能取小数值。
此外,根据本发明的权利要求5的图像处理设备是根据权利要求4的图像处理设备,其中上述的图像处理装置以从左至右和上至下的顺序存储构成上述的扩展图像的像素的像素数据,上述的滤波处理参考在上述的图像处理装置中的上述的第二像素串的像素数据的存储地址上指示的垂直参考像素的指针并将在上述的第二像素串的像素数据读取到工作用存储装置中,此外,在如下的情况下:上述的扩展图像的水平像素的数量为X,并且在上述的对象块中的对象像素的垂直坐标为y,对于上述的每个处理系列,上述的滤波处理将等于在该过程中共同处理的对象像素的数量的值加到垂直参考像素的上述的指针的值,在下次处理的对象块是在上述的扩展图像中最左边的块并且y除以2m的余数为“0”时,上述的滤波处理从上述的垂直参考像素的指针的值中减去2X,在下次处理的对象块是在上述的扩展图像中最左边的块并且y除以2m的余数为“m”时,上述的滤波处理将2mX加入到上述的垂直参考像素的指针的值,以及在下次处理的对象块是在上述的扩展图像中最左边的块并且y除以2m的余数是除了“0”和m以外的值时,上述的滤波处理从上述的垂直参考像素的指针的值中减去X。
在这种结构的情况下,在滤波处理的过程中,参考垂直参考像素的指针并将第二像素串的像素数据读取到工作用存储装置中。在下述的状态下更新垂直参考像素的指针。
首先,至于处理系列中每次处理,等于在该过程中要集中处理的对象像素的数量的值加到垂直参考像素的指针的值中。因此,垂直参考像素的指针在一系列的处理的每次处理中都朝右移动在该过程中要集中处理的对象像素的数量。由于这种移动仅仅增加了预定的数量,因此在通过硬件构造它的情况下时仅仅通过加法器就可以实现它。
第二,如果下次要处理的对象块是在扩展图像中的最左的块并且y除以2m的余数为“0”和m以外的值,则从垂直参考像素的指针的值中减去X。因此,在扩展图像中在相同的水平线的所有的像素完成了该系列的处理时,垂直参考像素的指针移到在它之上的对象块附近的最低梯级的垂直参考块中。由于这种移动仅仅减去了X,因此在通过硬件构造它的情况下仅仅通过加法器就可以实现它。
第三,如果下次要处理的对象块是在扩展图像中的最左的块并且y除以2m的余数为m,则将2mX加入到垂直参考像素的指针的值中。因此,在扩展图像中在相同的水平线的所有的像素完成了该系列的处理并且处理移动到在对象块的下半部分中的区域时,垂直参考像素的指针移到在它之上的对象块附近的最高梯级的垂直参考块中。由于这种移动仅仅是将X乘以2m并加上它,因此在通过硬件构造它的情况下仅仅通过加法器和移位器就可以实现它。
第四,如果下次要处理的对象块是在扩展图像中的最左的块并且y除以2m的余数为“0”,则从垂直参考像素的指针的值中减去2X。因此,在扩展图像中在相同的水平线的所有的像素完成了该系列的处理并且处理移动到在较低的梯级中的块时,垂直参考像素的指针移到在它之上的对象块附近的最低梯级的垂直参考块中。由于这种移动仅仅是将X乘以2并减去它,因此在通过硬件构造它时仅仅通过加法器和移位器就可以实现它。
此外,根据本发明的权利要求6的图像处理设备是根据权利要求5的图像处理设备,其中,在如下的情况下:包括在上述的对象块中在相同的水平线上的左半像素的像素串是第一对象像素串,包括它的右半像素的像素串是第二对象像素串,以及,在上述的水平参考块中并在它的左边上的上述第一对象像素串附近并且包括与上述的第二对象像素串的像素相同数量的像素的像素串是第一水平参考像素串,在上述的水平参考块中并在它的右边上的上述第二对象像素串附近并且包括与上述的第一对象像素串的像素相同数量的像素的像素串是第二水平参考像素串,以及,包括对应于上述的第一对象像素串的对象像素的垂直参考像素的像素串是第一垂直参考像素串,并且包括对应于上述的第二对象像素串的对象像素的垂直参考像素的像素串是第二垂直参考像素串,对于上述的处理系列中每次处理,上述的滤波处理将上述的第二对象像素串、上述的第二水平参考像素串、上述的第一垂直参考像素串和上述的第二垂直参考像素串的像素数据读取到上述的工作用存储装置中,还再使用在紧接着在先处理中读取的上述的第二对象像素串和上述的第二水平参考像素串的像素数据作为上述的第一水平参考像素串和上述的第一对象像素串的像素数据,以及对上述的第一对象像素串和上述的第二对象像素串的所有对象像素执行上述的判断和上述的滤波操作。
在这种结构中,在滤波处理中,对于处理系列中每次处理都将第二对象像素串、第二水平参考像素串、第一垂直参考像素串和第二垂直参考像素串的像素数据读取到工作用存储装置中,并且将在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的像素数据再使用作第一水平参考像素串和第一对象像素串的像素数据。以及对第一对象像素串和第二对象像素串的所有对象像素执行判断和滤波操作。
在此,读取和再使用都可以首先执行。然而,在用于存储在紧接的在先的过程中所读取的第二对象像素串和第二水平参考像素串的像素数据的存储区域和用于存储在这次要读取的第二对象像素串和第二水平参考像素串的像素数据的存储区域在工作用存储装置中共享时,有必要在再使用之要执行读操作。
此外,再使用意味着再次使用在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的所有的或部分的像素数据分别作为在第一水平参考像素串和第一对象像素串的所有的或部分的像素数据,以及在使用它的一部分的情况下,需要包括这样的像素数据:它可以是用作第一水平参考像素串的像素数据的参考像素。
此外,再使用还意味着,除了在工作用存储装置中再次使用在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的像素数据作为第一水平参考像素串和第一对象像素串的像素数据以外,在工作用存储装置中基于在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的像素数据产生(包括复制)第一水平参考像素串和第一对象像素串的像素数据。
此外,根据本发明的权利要求7的图像处理设备是根据权利要求6的图像处理设备,其中,用于上述的扩展的图像第一次执行的上述的处理系列将上述的第一对象像素串、上述的第二对象像素串、上述的第二水平参考像素串、上述的第一垂直参考像素串和上述的第二垂直参考像素串的像素数据读取到上述的工作用存储装置中,以及第二次及其此后执行的上述的处理系列将上述的第二对象像素串、上述的第二水平参考像素串、上述的第一垂直参考像素串和上述的第二垂直参考像素串的像素数据读取到上述的工作用存储装置中,以及再使用在紧接的在先处理中读取的上述的第二对象像素串和上述的第二水平参考像素串的像素数据作为上述的第一水平参考像素串和上述的第一对象像素串的像素数据。
在这种结构的情况下,至于扩展的图像,首先在该处理系列中,将第一对象像素串、第二对象像素串、第二水平参考像素串、第一垂直参考像素串和第二垂直参考像素串的像素数据读取到工作用存储装置。
至于扩展的图像中,在第二次以及此后执行该系列处理中,将第二对象像素串、第二水平参考像素串、第一垂直参考像素串和第二垂直参考像素串的像素数据读取到工作用存储装置中,并再使用在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的像素数据分别作为第一水平参考像素串和第一对象像素串的像素数据。
因此,虽然仅在开始读取五个像素串的像素数据,但是第二次以及此后读取了四个像素串的像素数据。
此外,根据本发明的权利要求8的图像处理设备是根据权利要求6或7是图像处理设备,其中,在如下的情况下:拷贝在紧接的在先处理中读取的上述的第二对象像素串和上述的第二水平参考像素串的像素数据分别作为上述的第一水平参考像素串和上述的第一对象像素串的像素数据的过程是第一阶段,将上述的第一垂直参考像素串的像素数据读取到上述的工作用存储装置中的过程是第二阶段,将上述的第二垂直参考像素串的像素数据读取到上述的工作用存储装置中的过程是第三阶段,将上述的第二对象像素串的像素数据读取到工作用存储装置中的过程是第四阶段,将上述的第二水平参考像素串的像素数据读取到上述的工作用存储装置中的过程是第五阶段,基于上述的第一水平参考像素串的像素数据对上述的第一对象像素串的对象像素执行上述的水平滤波操作的过程是第六阶段,基于上述的第六阶段的处理结果和上述的第一垂直参考像素串的像素数据对上述的第一对象像素串的每个对象像素执行上述的判断和上述的垂直滤波操作的过程是第七阶段,基于上述的第二水平参考像素串的像素数据对上述的第二对象像素串的每个对象像素执行上述的水平滤波操作的过程是第八阶段,以及基于上述的第八阶段和上述的第二垂直参考像素串的像素数据对上述的第二对象像素串的每个对象像素执行上述的判断和上述的垂直的滤波操作的过程是第九阶段,上述的处理系列顺序地执行上述的第一阶段、上述的第二阶段、上述的第三阶段、上述的第四阶段和上述的第五阶段,顺序地执行上述的第六阶段和上述的第七阶段,顺序地执行上述的第五阶段、上述的第八阶段和上述的第九阶段,以及同时还开始执行上述的第二阶段和上述的第六阶段,并且同时执行上述的第三阶段和上述的第七阶段。
在这种结构的情况下,由于通过一系列处理执行第一阶段,因此将在紧接的在先处理中读取的第二对象像素串和第二水平参考像素串的像素数据拷贝为第一水平参考像素串和第一对象像素串的像素数据。
虽然第一水平参考像素串和第一对象像素串的像素数据来对第一对象像素串的每个对象像素执行水平滤波操作是必要的,但是通过执行第一阶段可获得它,因此在开始执行第二阶段时可以执行第六阶段。因此,同时开始第二阶段和第六阶段的执行。因此,第一垂直参考像素串的像素数据被读取到工作用存储装置中,基于第一水平参考像素串的像素数据对第一对象像素串的每个对象像素执行水平滤波操作。
此外,虽然为对第一对象像素串的每个对象像素执行判断和垂直滤波操作需要水平滤波操作的结果和第一垂直参考像素串的像素数据,但是通过执行第二和第六阶段可以获得它们,因此在开始执行第三阶段时可以执行第七阶段。因此,同时开始执行第三和第七阶段。因此,第二垂直参考像素串的像素数据被读取到工作用存储装置中,基于第六阶段的处理结果和第一垂直参考像素串的像素数据对第一对象像素串的每个对象像素执行判断和垂直滤波操作。
顺序执行第四阶段和第五阶段以将第二对象像素串和第二水平参考像素串的像素数据读取到工作用存储装置中。
虽然为对第二对象像素串的每个对象像素执行水平滤波操作而需要第二水平参考像素串和第二对象像素串的像素数据,但是通过执行第四和第五阶段可以获得它,因此在第五阶段结束之后可以执行第八阶段。因此,基于第二水平参考像素串的像素数据对第二对象像素串的每个对象像素执行水平滤波操作。
此外,虽然为对第二对象像素串的每个对象像素执行判断和垂直滤波操作需要水平滤波操作的结果和第二垂直参考像素串的像素数据,但是通过执行第三和第八阶段可以获得它们,因此在第八阶段结束之后可以执行第九阶段。基于第八阶段的处理结果和第二垂直参考像素串的像素数据对第二对象像素串的每个对象像素执行判断和垂直滤波操作。
在另一方面,为实现上述目的,根据本发明的权利要求9的图像处理程序是如下的一种程序:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,使计算机通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在对象块附近的块是参考块的情况下,以及在上述的对象块中的一个像素是对象像素并且在上述的参考块中的一个像素是参考像素的情况下,上述的滤波处理判断在上述的对象像素的值和上述的参考像素的值之间的差值是否超过阈值,只基于上述的判断结果确定是否对上述的对象像素执行滤波操作,以及只基于上述的对象像素的值和上述的参考像素的值对上述的对象像素执行滤波操作。
在这种结构的情况下,通过计算机读取该程序并根据所读取的程序通过计算机执行处理可以实现与根据权利要求1所述的图像处理设备的动作等效的动作。
此外,根据本发明的权利要求10所述的图像处理程序是如下的程序:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,使计算机通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在对象块水平相邻的块是水平参考块并且在上述的对象块垂直相邻的块是垂直参考块的情况下,以及在上述的对象块中的一个像素是对象像素并且在位于与上述的对象块的边界上并且与上述的对象像素处于相同的垂直位置上的上述的水平参考块中的一个像素是水平参考像素的情况下,以及在位于与上述的对象块的边界上并且与上述的对象像素处于相同的水平位置上的上述的垂直参考块中的一个像素是垂直参考像素的情况下,上述的滤波处理判断在上述的对象像素的值和上述的垂直参考像素的值之间的差值是否超过阈值,上述的滤波处理只基于上述的对象像素的值和上述的水平参考像素的值对上述的对象像素执行水平滤波操作,上述的滤波处理只基于上述的判断结果确定是否对上述的对象像素执行垂直滤波处理,以及只基于上述的对象像素的值和上述的垂直参考像素的值对上述的对象像素执行垂直滤波操作。
在这种结构的情况下,通过计算机读取该程序并根据所读取的程序通过计算机执行处理可以实现与根据权利要求2所述的图像处理设备的动作等效的动作。
在另一方面,为实现上述的目的,根据本发明的权利要求11的图像处理方法是这样的一种方法:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在对象块附近的块是参考块的情况下,以及在上述的对象块中的一个像素是对象像素并且在上述的参考块中的一个像素是参考像素的情况下,上述的滤波处理判断在上述的对象像素的值和上述的参考像素的值之间的差值是否超过阈值,只基于上述的判断结果确定是否对上述的对象像素执行滤波操作,以及只基于上述的对象像素的值和上述的参考像素的值对上述的对象像素执行滤波操作。
此外,根据本发明的权利要求12的图像处理方法是这样的一种方法:基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过上述的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,其中,在对象块水平相邻的块是水平参考块并且在上述的对象块垂直相邻的块是垂直参考块的情况下,以及在上述的对象块中的一个像素是对象像素并且在位于与上述的对象块的边界上并且与上述的对象像素处于相同的垂直位置上的上述的水平参考块中的一个像素是水平参考像素的情况下,以及在位于与上述的对象块的边界上并且与上述的对象像素处于相同的水平位置上的上述的垂直参考块中的一个像素是垂直参考像素的情况下,上述的滤波处理判断在上述的对象像素的值和上述的垂直参考像素的值之间的差值是否超过阈值,上述的滤波处理只基于上述的对象像素的值和上述的水平参考像素的值对上述的对象像素执行水平滤波操作,上述的滤波处理只基于上述的判断结果确定是否对上述的对象像素执行垂直滤波处理,以及只基于上述的对象像素的值和上述的垂直参考像素的值对上述的对象像素执行垂直滤波操作。
附图概述
附图1所示为本发明应用于其中的计算机系统的结构的方块图;
附图2所示为作为在再现的图像中解块滤波处理的对象的对象块和其附近的块的附图;
附图3所示为在相互邻近的块A和B中在相同的水平线上的对象像素v0至v7的值的柱状图;
附图4所示为作为在再现的图像中解块滤波处理的对象的对象块和其附近的块的附图;
附图5所示为主控制过程的流程图;
附图6所示为像素数据读取过程的流程图;
附图7所示为第一水平滤波过程的流程图;
附图8所示为第一垂直滤波过程的流程图;
附图9所示为第二水平滤波过程的流程图;
附图10所示为第二垂直滤波过程的流程图;
附图11所示为指针更新过程的流程图;
附图12所示为执行解块滤波处理的过程的时序图;
附图13所示为解释拷贝和再使用像素数据的情况的附图;
附图14所示为已有的图像处理系统进行滤波处理的附图;和
附图15所示为已有的图像处理系统所参考的像素的附图。
优选实施例的详细描述
下文,参考附图描述本发明的实施例。附图1至13所示为与本发明相关的图像处理设备、图像处理程序和图像处理方法的实施例。
这些实施例将与本发明相关的图像处理设备、图像处理程序和图像处理方法应用于如下的情况:在对以MPEG格式压缩的运动画面数据进行解码并通过如在附图1中的计算机100中的多任务OS(操作系统)再现运动图像时,对再现图像执行滤波处理以降低块噪声(在下文中称为解块滤波处理)。
首先,通过参考附图1描述应用本发明的计算机系统的结构。附图1所示为将本发明应用于其中的计算机系统的结构的方块图。
如附图1所示,计算机100包括基于控制程序控制计算和整个系统的CPU30、在其中在预定的区域事先存储有CPU30的控制程序等的ROM32、用于存储从R0M32中读取的数据和在CPU30的计算过程中所需要的计算结果的RAM34、将RAM34的特定区域的数据转换为图像信号并将它输出到LCD44的LCDC(液晶显示器控制器)36、对运动图像数据进行解码的解码器38、读取RAM34的特定区域的数据并执行解块滤波处理的后置滤波器部分(post filter portion)40、对来自后置滤波器部分40的数据执行色彩转换的RGB转换部分42和基于来自RGB转换部分42的数据执行显示的LCD44。CPU30、ROM32、RAM34、LCDC36和解码器38互相连接并且能够通过作为传递数据的信号线的总线39发送和接收数据。
RAM34具有作为特定的区域的VRAM35用于存储要显示于LCD44上的数据,通过连接到总线39的设备比如CPU30和通过后置滤波器部分40能够独立地存取VRAM35。此外,VRAM35具有能够存储LCD44的一屏的图像数据的至少两个区域,因此一个区域用于通过解码器38扩展的运动图像数据,而另一区域用于后置滤波器部分40的读取,并且以预定的周期交替地切换并使用这些区域。
LCDC36控制后置滤波器部分40和RGB转换部分42,由此以预定的周期从第一地址顺序地读取VRAM35的数据以通过将它转换为图像信号而将所读取的数据输出到LCD44。更具体地说,在LCDC36的控制下,后置滤波器部分40从VRAM35中读取数据,对所读取的数据执行解块滤波处理以及将它输出到RGB转换部分42,因此,在LCDC36的控制下,RGB转换部分42对来自后置滤波器部分40的数据执行RGB转换并将它输出到LCD44。
每个预定的时间T(例如20毫秒)解码器38对包括在运动画面数据中的图像数据顺序地解码。更具体地说,一旦指令CPU30开始解码,则从RAM34中读取以MPEG格式压缩的运动画面数据,并基于所读取的运动图像数据以MPEG格式将该图像数据解码到VRAM35中。VRAM35具有说明LCD44的一个像素的色度的在像素数据单元中扩展的图像数据(YUV数据)。此外,解码器38执行IDCT(反向离散余弦变换)处理和以MPEG格式的解码处理的运动补偿过程。此外,以MPEG格式的压缩处理和解码处理都是已有的实例。
接着,详细解释后置滤波器部分40的结构。
后置滤波器部分40具有通过硬件实施的结构及其内部处理,并具有能够存储21个像素的像素数据的缓冲器,将再现的图像划分为多个块,并且同时从VRAM35中将像素数据读取到缓冲器,它基于所读取的像素数据以块为单元执行解块滤波处理。每个块构造为由8段水平像素和8段垂直像素构成的矩形图像区域,此外,将它划分为包括4段水平像素和4段垂直像素的左上、右上、左下和右下的四个区域。
参考附图2至4详细描述涉及本发明的解块滤波处理的原理。附图2和4所示为作为解块滤波处理的对象和与其相邻的块的对象块的附图。
在附图2中,分别在对象块10的左边和右边上,水平参考块12同与其夹有边界BL0的块邻近,水平参考块14同与其夹有边界BL1的块邻近。此外,分别在对象块10的上部和下部上,垂直参考块16同与其夹有边界BL2的块邻近,垂直参考块18同与其夹有边界BL3的块邻近。
在与本发明相关的解块滤波处理中,在对象块10中在相同水平线上的像素是对象像素,以及通过滤波共同地处理对象的8个像素。在附图2的实例中,属于对象块10的上半部分在相同水平线上的像素是对象像素v0至v7。在此,在像素串包括在相同的水平线上的像素的左半部分的四个像素的像素串是第一对象像素串LSL以及包括右半部分的四个像素的像素串是第二对象像素串LSR的情况下,第一对象像素串LSL从左起包括对象像素v0至v3和第二对象像素串LSR从左边起包括对象像素v4至v7
此外,在与第一对象像素串LSL相邻并在其左边的水平参考块12中并包括四个像素的像素串是第一水平参考像素串LXL和在与第二对象像素串LSR相邻并在其右边的水平参考块14中并包括四个像素的像素串是第二水平参考像素串LXR的情况下,第一水平参考像素串LXL包括在它的右端的参考像素rx0,第二水平参考像素串LXR包括在它的左端上的参考像素rx1。参考像素rx0用于对对象像素v0至v3进行水平滤波操作,参考像素rx1用于对对象像素v4至v7进行水平滤波操作。
此外,在位于第一对象像素串LSL上的垂直参考块16中的并包括四个像素的最低梯级的像素串是第一垂直参考像素串LYL和位于第二对象像素串LSR上的垂直参考块16中的并包括四个像素的最低梯级的像素串是第二垂直参考像素串LYR的情况下,第一垂直参考像素串LYL从左边起包括参考像素ry0至ry3,第二垂直参考像素串LYR从左边起包括参考像素ry4至ry7。参考像素ry0至ry3用于对对象像素v0至v3进行垂直滤波操作,参考像素ry4至ry7用于对对象像素v4至v7进行垂直滤波操作。
在附图2的实例中,在通过与本发明相关的解块滤波处理对对象像素v0至v7执行水平滤波操作的情况下,通过下面用于滤波操作的方程(1)至(8)计算在解块滤波处理之后的对象像素vx0′至vx7′的值。此外,对象像素v0至v7表示对象像素的值,rx0至rx7表示在下面的方程(1)至(8)中的参考像素的值。
vx0′=(v0+rx0)/2+(v0-rx0)/8    ...(1)
vx1′=(v1+rx0)/2+(v1-rx0)/4    ...(2)
vx2′=v2-(v2-rx0)/8             ...(3)
vx3′=v3                          ...(4)
vx4′=v4                          ...(5)
vx5′=(v5+rx1)/2+(v5-rx1)/4    ...(6)
vx6′=(v6+rx1)/2+(v6-rx1)/8    ...(7)
vx7′=(v7+rx1)/2                 ...(8)
如下推导用于滤波处理的上述方程(1)至(8)。附图3所示为在相互邻近的块A和B中在相同的水平线上的对象像素v0至v7的值的柱状图。
如附图3A所示,在相互邻近的块A和块B中,通过DCT压缩处理消除图像的空间频率分量的直流分量的等效量,因此由于不同的亮度平均值产生了电平差值。电平差变为块噪声。因此,为降低块噪声考虑平滑连接块A和B的图像的情况。可以通过如下的方程(9)和(10)计算在块A中的四个像素的平均值VA和在块B中的四个像素的平均值VB
VA=(v4+v5+v6+v7)/4             ...(9)
VB=(v0+v1+v2+v3)/4             ...(10)
如果与每个对象像素值vi的平均值VA和VB的偏差量是δvi,则通过如下的方程(11)和(12)可以表示每个对象像素值vi
vi=VA+δvi(i=4 to 7)            ...(11)
vi=VB+δvi(i=0 to 3)            ...(12)
现在,为了平滑连接块A和B的图像,在平均值VA和VB之间的差值应该是“0”,如附图3B所示应该逐步校正每个对象像素值vi。梯级的电平差Δ如下:
Δ=(VB-VA)/8                      ...(13)
例如通过如下的方程(14)可以计算对象像素值v0的校正值vx0′。
vx0′=(VB+VA)/2+Δ+δv0
     =(5VB+3VA)/8+δv0
     ={5(v0-δv0)+3(v7-δv7)}/8+δv0
     ={5v0+3v7+3(δv0-δv7)}/8    ...(14)
这里,必须考虑上述的方程(14)以计算正确的值,假设(δv0-δv7)较小并且在上述方程(14)中省去它以得到如下的近似的表达式方程(15)。
vx0′=(5v0+3v7)/8                 ...(15)
此外,至于在块B中的其它的对象像素,通过如下的方程(16)至(18)可以同样地计算校正值vx1′至vx3′。
vx1′=(VB+VA)/2+2Δ+δv1
     ={6v1+2v7+2(δv1-δv7)}/8   ...(16)
vx2′=(VB+VA)/2+3Δ+δv2
     ={7v2+v7+(δv2-δv7)}/8     ...(17)
vx3′=(VB+VA)/2+4Δ+δv3
     =v3                             ...(18)
因此,可以获得下述的方程(19)和(20)的近似表达式。
vx1′=(3v1+v7)/4                ...(19)
vx2′=(7v2+v7)/8                ...(20)
此外,对于在块A中的对象像素,除了参考像素的值是v0不同以外它们都相同,并且通过如下的方程(21)至(24)可以同样地计算校正值vx4′至vx7′。
vx4′=(VB+VA)/2-3Δ+δv4
     ={7v4+v0+(δv4-δv0)}/8       ...(21)
vx5′=(VB+VA)/2-2Δ+δv5
     ={6v5+2v0+2(δv5-δv0)}/8     ...(22)
vx6′=(VB+VA)/2-Δ+δv6
     ={5v6+3v0+(δv6-δv0)}/8      ...(23)
vx7′=(VB+VA)/2+δv7
     ={v7+v0+2δv7}/2                ...(24)
因此,可以获得下述的方程(25)至(28)的近似表达式。
vx4′=v4                               ...(25)
vx5′=(3v5+v0)/4                      ...(26)
vx6′=(5v6+3v0)/8                     ...(27)
vx7′=(v7+v0)/2                       ...(28)
此外,由于除了除法以外位移位可以加速在实际计算中的处理,因此上述的方程(15)、(19)、(20)、(18)、(25)至(28)变换为上述的方程(1)至(8)并使用它们。对水平像素串和垂直像素串分别执行这种解块滤波处理。至于计算量,它分别要求一个像素进行加法和减法两次和位移位四次。在以硬件实现它时位移位并不会成为较大的负担。由于在已有技术中后置滤波器对每像素取最大的7×7像素的加权平均,因此与其相比可以极大地降低计算量。
同样地,至于在附图2中的实例,在通过与本发明相关的解块滤波处理对对象像素vx0′至vx7′执行垂直滤波操作的情况下,通过下述方程(29)中的滤波操作方程可以计算在解块滤波处理之后的对象像素的值vyi′(I=0至7)。此外,ry1表示在下述方程(29)至(36)中的参考像素的值。
vyi′=vxi′-(vxi′-ryi)/8      ...(29)
至于在附图2中的实例,对象像素v0至v7设置在对象块10中的第3梯级中,上述方程(29)的滤波操作方程对应于上述的方程(3)。因此,如在下面的方程(30)至(32)中所示,在对象像素v0至v7设置在第一、第二和第四梯级中时,滤波操作方程对应于上述的方程(1)、(2)和(4),以及如在下面的方程(33)至(36)中所示,在对象像素v0至v7设置在第五至第八梯级中时,滤波操作方程对应于上述的方程(5)至(8)。此外,如附图4所示,在对象像素v0至v7设置在第五至第八梯级中时,第一垂直参考像素串LYL是在垂直参考块18中的最高梯级的像素串并且位于在第一对象像素串LSL之下且包括四个像素,第二垂直参考像素串LYR是在垂直参考块18中的最高梯级的像素串并且位于在第二对象像素串LSR之下且包括四个像素,
vyi′=(vxi′+ryi)/2+(vxi′-vyi)/8      ...(30)
vyi′=(vxi′+ryi)/2+(vxi′-ryi)/4      ...(31)
vyi′=vxi′                               ...(32)
vyi′=vxi′                               ...(33)
vyi′=(vxi′+ryi)/2+(vxi′-ryi)/4      ...(34)
vyi′=(vx1′+ry1)/2+(vxi′-ryi)/8      ...(35)
vyi′=(vxi′+ryi)/2                      ...(36)
更具体地说,与本发明相关的解块滤波处理可以通过如下处理过程实现:主控制过程、像素数据读取过程、第一水平滤波过程、第一垂直滤波过程、第二水平滤波过程和第二垂直滤波过程,如在附图5至10中的流程图所示。
首先,参考附图5详细描述主控制过程。附图5所示为主控制过程的流程图。
如果在后置滤波器部分40中执行主控制过程,则如附图5所示它移到步骤S100。
在步骤S100中,分别将在VRAM35中存储要首先处理的第一对象像素串LSL的最左边的像素的像素数据的地址设置为对象像素的指针*sx,并将在VRAM35中存储要首先处理的第一垂直参考像素串LYL的最左边的像素的像素数据的地址设置为垂直参考像素的指针*cy。在此,对象像素的指针*sx用于从VRAM35中读取第一对象像素串LSL的像素数据、第二对象像素串LSR和第二水平参考像素串LXR的像素数据。此外,垂直参考像素的指针*cy用于从VRAM35中读取第一垂直参考像素串LYL和第二垂直参考像素串LYR
接着,它移到步骤S102中,参考对象像素的指针*sx和垂直参考像素的指针*cy并输出读请求以从VRAM35中读取第一对象像素串LSL、第二对象像素串LSR、第二水平参考像素串LXR、第一垂直参考像素串LYL和第二垂直参考像素串LYR,并移到步骤S104。
在步骤S104中,通过下文所述的第一垂直滤波过程和第二垂直滤波过程,它判断对于第一对象像素串LSL和第二对象像素串LSR的对象像素是否已经将在滤波处理之后的所有的像素数据都输出到RGB转换部分42,并且如果它判断在滤波处理之后的所有的像素数据已经都输出到其中(是),则它移到步骤S106,但是如果它判断不是这样(否),则在步骤S104中它等待直到在滤波处理之后的所有的像素数据输出到RGB转换部分42中。
在步骤S106中,它执行更新对象像素的指针*sx和垂直参考像素的指针*cy的指针更新处理,并移到步骤S108以判断对于再现图像的所有的像素是否已经完成了滤波处理,如果判断已经完成了对再现图像的所有的像素的滤波过程(是),则它完成该系列的处理并返回到最初的过程。
在另一方面,如果判断还没有完成对再现图像的所有的像素的滤波处理(否),则它移到步骤S102。
接着,通过参考附图6详细描述像素数据读取过程。附图6所示为像素数据读取过程的流程图。
像素数据读取过程是根据读取请求从VRAM35将第一对象像素串LSL、第二对象像素串LSR、第二水平参考像素串LXR、第一垂直参考像素串LYL和第二垂直参考像素串LYR读取到缓冲器中的过程,如果在后置滤波器部分40中执行它,则它首先移到步骤S200中,如附图6所示。
在步骤S200中,判断是否已经输出了读取请求,如果判断已经输出了读取请求(是),则它移到步骤S202,但是如果判断不是这样(否),则在步骤S200中等待直到输出读取请求。
在步骤S202中,它参考对象像素的指针*sx并读取表示第一对象像素串LSL的对象像素v0至v3的像素数据的U分量的U数据。由于本实施例将U数据构造为每两个像素的一段数据,因此在步骤S202中它读取对象像素v0和v1的U数据和对象像素v2和v3的U数据。此外,至于U数据,优先加速处理并且不执行解块滤波处理,因为即使执行滤波处理也得不到显著的效果。
接着,它移到步骤S204,参考对象像素的指针*sx并读取第二对象像素串LSR的对象像素v4至v7的像素数据的U数据,并移到步骤S206。
接着,它移到步骤S206,参考对象像素的指针*sx并读取表示第一对象像素串LSL的对象像素v0至v3的像素数据的V分量的V数据。由于本实施例将V数据构造成为每两个像素的一段数据,因此在步骤S206中它读取对象像素v0和v1的V数据和对象像素v2和v3的V数据。此外,至于V数据,优先加速处理并且不执行解块滤波处理,因为即使执行滤波处理也得不到显著的效果。
接着,它移到步骤S208,参考对象像素的指针*sx并读取第二对象像素串LSR的对象像素v4至v7的像素数据的V数据,并移到步骤S210。
在步骤S210中,它判断对于再现的图像它是否是第一次读取,如果它判断它是第一次读取(是),则它移到步骤S212,参考对象像素的指针*sx并读取表示第一对象像素串LSL的对象像素v0至v3的像素数据的Y分量的Y数据。由于本实施例将Y数据构造成为每个像素的一段数据,因此在步骤S212中它读取对象像素v0和v3的V数据。
接着,它移到步骤S214,参考垂直参考像素的指针*cy以读取第一垂直参考像素串LyL的对象像素ry0至ry3的像素数据的Y数据,然后移到步骤S216,并参考垂直参考像素的指针*cy以读取第二垂直参考像素串LYR的对象像素ry4至ry7的像素数据的Y数据。
在步骤S218中,它参考对象像素的指针*sx并读取第二对象像素串LSR的对象像素v4至v7的像素数据的Y数据,并移到步骤S220,参考对象像素的指针*sx并读取第二水平参考像素串LXR的对象像素的像素数据的Y数据(包括参考像素rx1)以完成该系列处理,并返回使最初的处理过程。
在另一方面,在步骤S210中,在判断向前第二次读取再现图像(否)的情况下,则它移到步骤S222,将在步骤S220中最后一次读取的第二水平参考像素串LXR的像素数据拷贝在缓冲器中作为第一对象像素串LSL的对象像素v0至v3的像素数据,并移到步骤S224,并将在步骤S220中最后一次读取的与第二对象像素串LSR的像素数据的最右的像素相关的数据拷贝在缓冲器中作为第一水平参考像素串LXL的参考像素rx0的像素数据。
接着,参考附图7详细描述第一水平滤波过程。附图7所示为表示第一水平滤波过程的流程图。
第一水平滤波过程是对于第一对象像素串LSL的对象像素v0至v3执行水平滤波操作的处理,如果在后置滤波器部分40中执行,则它首先移到步骤S300中,如附图7所示。
在步骤S300中,通过像素数据读取过程,它判断在缓冲器中是否可以得到第一对象像素串LSL的对象像素v0至v3和第一水平参考像素串LXL的参考像素rx0的Y数据,如果它判断通过读取或拷贝可以得到该像素数据(是),则它移到步骤S302至312,但如果它判断不是这样(否),则它在步骤S300中等待直到可得到该像素数据。
步骤S302至S312是在后置滤波器部分40中作为流水线过程同时执行的处理。
在步骤S302中,它通过下述的方程(37)计算在参考像素rx0的值和对象像素v0的值之间的差值的绝对值是否超过恒定值C1的判断值L0,并移到步骤S314、S320、S326和S332。这里,恒定值C1设定为“32”,其中像素的最大值为“255”。这是因为,如果恒定值C1设定为极大地超过“32”,不需要执行滤波处理并处理量增加,因此滤波处理不再加速,相反,如果设定为远小于“32”,则即使应该执行滤波处理也不执行滤波处理,因此不能预期有效的滤波效果。
L0=(|v0-rx0|≤C1)                             ...(37)
在上述的方程(37)中,在保留括弧中的计算式时L0是“1”,而在不保留它时为“0”。在下文中,在步骤S304、S306、S404、S413、S420、S429、S502、S504、S506、S604、S613、S620和S629中它都相同。
在步骤S304中,它通过下述的方程(38)计算在对象像素v1的值和对象像素v0的值之间的差值的绝对值是否超过恒定值C2的判断值L1,并移到步骤S314、S320、S326和S332。这里,恒定值C2设定为“16”,其中像素的最大值为“255”。这是因为,如果恒定值C2设定为极大地超过“16”,则不需要执行滤波处理并处理量增加,因此不能够再加快滤波处理,相反,如果设定为远小于“16”,则即使应该执行滤波处理也不执行滤波处理,因此不能实现有效的滤波效果。
L1=(|v1-v0|≤C2)                             ...(38)
在步骤S306中,它通过下述的方程(39)计算在对象像素v2的值和对象像素v1的值之间的差值的绝对值是否超过恒定值C2的判断值L2,并移到步骤S314、S320、S326和S332。
L2=(|v2-v1|≤C2)                             ...(39)
在步骤S308中,它通过上述的方程(1)计算在对对象像素v0进行水平滤波操作之后的值vx0″,并移到步骤S314、S320、S326和S332。在步骤S308中,它将该值设定为在vx0″下的上述方程(1)的vx0′。
在步骤S310中,它计算通过上述的方程(2)计算在对对象像素v1进行水平滤波操作之后的值vx1″,并移到步骤S314、S320、S326和S332。在步骤S310中,它将该值设定为在vx1″下的上述方程(2)的vx1′。
在步骤S312中,它计算通过上述的方程(3)计算在对对象像素v2进行水平滤波操作之后的值vx2″,并移到步骤S314、S320、S326和S332。在步骤S312中,它将该值设定为在vx″下的上述方程(3)的vx2′。
步骤S314、S320、S326和S332是与在后置滤波器部分40中的流水过程同时执行的处理过程。
在步骤S314中,它判断判断值L0是否为“1”,如果它判断判断值L0是“1”(是),则它移到步骤S316并将vx0″设定为对象像素v0的新值vx0′以完成该系列处理并使最初的处理过程返回。
在步骤S320中,它判断判断值L0和L1的AND是否为“1”,如果它判断其AND是“1”(是),则它移到步骤S322并将vx1″设定为对象像素v1的新值vx1′以完成该系列处理并使最初的处理过程返回。
在步骤S326中,它判断判断值L0至L2的AND是否为“1”,如果它判断其AND是“1”(是),则它移到步骤S328并将vx2″设定为对象像素v2的新值vx2′以完成该系列处理并使最初的处理过程返回。
在步骤S332中,将v3设定为对象像素v3的新值vx3′以完成该系列处理并使最初的处理过程返回。
在另一方面,在步骤S314中,在它判断判断值L0为“0”(否)的情况下,它移到步骤S318,并将v0设定为对象像素v0的新值vx0′以完成该系列处理并使最初的处理过程返回。
在另一方面,在步骤S320中,在它判断判断值L0和L1的AND为“0”(否)的情况下,它移到步骤S324,并将v1设定为对象像素v1的新值vx1′以完成该系列处理并使最初的处理过程返回。
在另一方面,在步骤S326中,在它判断判断值L0至L2的AND为“0”(否)的情况下,它移到步骤S330,并将v2设定为对象像素v2的新值vx2′以完成该系列处理并使最初的处理过程返回。
接着,通过参考附图8描述第一垂直滤波过程。附图8所示为第一垂直滤波过程的流程图。
第一垂直滤波过程是对第一对象像素串LSL的对象像素v0至v3执行垂直滤波操作的处理,以及如果在后置滤波器部分40中执行,则它首先移到步骤S400中,如附图8所示。
在步骤S400中,通过像素数据读取过程,它判断在缓冲器中是否可以获得第一垂直参考像素串LYL的参考像素ry0至ry3的Y数据,如果它判断通过读取或拷贝可以获得该像素数据(是),则它移到步骤S402,但如果判断不是这样(否),则它在步骤S400中等待直到可得到该像素数据。
在步骤S402中,通过第一垂直滤波过程它判断对第一对象像素串LSL的对象像素v0至v3是否已经完成了水平滤波处理,如果它判断已经完成了处理(是),则它移到步骤S404和S406,但如果判断不是这样(否),则它移到步骤S400。
步骤S404和S406是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S404中,它通过下述的方程(40)计算在对象像素vx0′的值和参考像素ry0的值之间的差值的绝对值是否超过恒定值C2的判断值L0,并移到步骤S408。虽然这里使用恒定值C2,但是在第一对象像素串LSL设定在对象块10中的最高梯级或最低梯级中的情况下也可以使用恒定值C1作为替代。此后,在步骤S413、S420和S429中相同。
L0=(|vx0′-ry0|≤C2)                            ...(40)
在步骤S406中,它根据在对象块10中的第一对象像素串LSL的垂直位置通过上述方程(29)至(36)计算在对对象像素vx0′执行垂直滤波操作之后的值vr0″,并移到步骤S408。在步骤S406中,它将要设定的值设定为在vy0″下的上述方程(29)至(36)的vy0′。
在步骤S408中,它判断判断值L0是否是“1”,如果它判断判断值L0是“1”(是),则它移到步骤S410并将vy0″设定为对象像素v0的新值vy0′,移到步骤S411,并将对象像素v0和v1的U数据和V数据输出到RGB转换部分42中,移到步骤S412以给RGB转换部分42输出对象像素v0的Y数据vy0″ ,然后移到步骤S413和S414。
步骤S413和S414是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S413中,它通过下述的方程(41)计算在对象像素vx1′的值和参考像素ry1的值之间的差值的绝对值是否超过恒定值C2的判断值L1,并移到步骤S416。
L1=(|vx1′-ry1|≤C2)                          ...(41)
在步骤S414中,它根据在对象块10中的第一对象像素串LSL的垂直位置通过上述方程(29)至(36)计算在对对象像素vx1′执行垂直滤波操作之后的值vy1″,并移到步骤S416。在步骤S414中,它将要设定的值设定为在vy1″下的上述方程(29)至(36)的vy1′。
在步骤S416中,它判断判断值L1是否是“1”,如果它判断判断值L1是“1”(是),则它移到步骤S418并将vy1″设定为对象像素v1的新值vy1′,移到步骤S419,并将对象像素v1的Y数据vy1″输出到RGB转换部分42中,并移到步骤S420和S422。
步骤S420和S422是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S420中,它通过下述的方程(42)计算在对象像素vx2′的值和参考像素ry2的值之间的差值的绝对值是否超过恒定值C2的判断值L2,并移到步骤S424。
L2=(|vx2′-ry2|≤C2)                          ...(42)
在步骤S422中,它根据在对象块10中的第一对象像素串LSL的垂直位置通过上述方程(29)至(36)计算在对对象像素vx2′执行垂直滤波操作之后的值vy2″,并移到步骤S424。在步骤S422中,它将要设定的值设定为在vy2″下的上述方程(29)至(36)的vy2′。
在步骤S424中,它判断判断值L2是否是“1”,如果它判断判断值L2是“1”(是),则它移到步骤S426并将vy2″设定为对象像素v2的新值vy2′,移到步骤S427,并将对象像素v2和v3的U数据和V数据输出到RGB转换部分42,并移到步骤S428以将对象像素v2的Y数据vy2″输出到RGB转换部分42中,并移到步骤S429和S430。
步骤S429和S430是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S429中,它通过下述的方程(43)计算在对象像素vx3′的值和参考像素ry3的值之间的差值的绝对值是否超过恒定值C2的判断值L3,并移到步骤S432。
L3=(|vx3′-ry3|≤C2)                          ...(43)
在步骤S430中,它根据在对象块10中的第一对象像素串LSL的垂直位置通过上述方程(29)至(36)计算在对对象像素vx3′执行垂直滤波操作之后的值vy3″,并移到步骤S432。在步骤S430中,它将要设定的值设定为在vy3″下的上述方程(29)至(36)的vy3′。
在步骤S432中,它判断判断值L3是否是“1”,如果它判断判断值L3是“1”(是),则它移到步骤S434并将vy3″设定为对象像素v3的新值vy3′,移到步骤S446,并将对象像素v3的Y数据vy3″ 输出到RGB转换部分42中以完成该系列处理并使最初的处理过程返回。
在另一方面,在步骤S432中,在它判断判断值L3为“0”(否)的情况下,它移到步骤S448,并将vx3′设定为对象像素v3的新值vy3′并移到步骤S446。
在另一方面,在步骤S424中,在它判断判断值L2为“0”(否)的情况下,它移到步骤S450,并将vx2′设定为对象像素v2的新值vy2′并移到步骤S427。
在另一方面,在步骤S416中,在它判断判断值L1为“0”(否)的情况下,它移到步骤S452,并将vx1′设定为对象像素v1的新值vy1′并移到步骤S419。
在另一方面,在步骤S408中,在它判断判断值L0为“0”(否)的情况下,它移到步骤S454,并将vx0′设定为对象像素v0的新值vy0′并移到步骤S411。
接着,参考附图9描述第二水平滤波过程。附图9所示为说明第二水平滤波过程的流程图。
第二水平滤波过程是对第二对象像素串LSR的对象像素v4至v7的对象像素执行水平滤波操作的处理,如果在后置滤波器部分40中执行它,则它首先移到步骤S500,如附图9所示。
在步骤S500中,通过像素数据读取过程,它判断在缓冲器中是否可以获得第二对象像素串LSR的对象像素v4至v7和第二水平参考像素串LXR的参考像素rx1的Y数据,如果它判断通过读取或拷贝可以获得该像素数据(是),则它移到步骤S502至S512,但如果判断不是这样(否),则它在步骤S500中等待直到可得到该像素数据。
步骤S502至S512是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S502中,它通过下述的方程(44)计算在对象像素v7的值和参考像素rx1的值之间的差值的绝对值是否超过恒定值C1的判断值L7,并移到步骤S514、S520、S526和S532。
L7=(|v7-rx1|≤C1)                            ...(44)
在步骤S504中,它通过下述的方程(45)计算在对象像素v6的值和对象像素v7的值之间的差值的绝对值是否超过恒定值C2的判断值L6,并移到步骤S514、S520、S526和S532。
L6=(|v6-r7|≤C2)                             ...(45)
在步骤S506中,它通过下述的方程(46)计算在对象像素v5的值和对象像素v6的值之间的差值的绝对值是否超过恒定值C2的判断值L5,并移到步骤S514、S520、S526和S532。
L5=(|v5-r6|≤C2)                             ...(46)
在步骤S508中,它通过上述的方程(8)计算在对对象像素v7执行水平滤波操作之后的值vx7″,并移到步骤S514、S520、S526和S532。在步骤S508中,它将要设定的值设定为在vx7″下的上述方程(8)的vx7′。
在步骤S510中,它通过上述的方程(7)计算在对对象像素v6执行水平滤波操作之后的值vx6″,并移到步骤S514、S520、S526和S532。在步骤S510中,它将要设定的值设定为在vx6″下的上述方程(8)的vx6′。
在步骤S512中,它通过上述的方程(6)计算在对对象像素v5执行水平滤波操作之后的值vx5″,并移到步骤S514、S520、S526和S532。在步骤S512中,它将要设定的值设定为在vx5″下的上述方程(8)的vx5′。
步骤S514、S520、S526和S532是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S514中,它判断判断值L7是否为“1”,如果它判断判断值L7是“1”(是),则它移到步骤S516并将vx7″设定为对象像素v7的新值vx7′以完成该系列的处理并使最初的处理过程返回。
在步骤S520中,它判断判断值L7和L6的AND是否为“1”,如果它判断其AND是“1”(是),则它移到步骤S522并将vx6″设定为对象像素v6的新值vx6′以完成该系列的处理并使最初的处理过程返回。
在步骤S526中,它判断判断值L7至L5的AND是否为“1”,如果它判断其AND是“1”(是),则它移到步骤S528并将vx5″设定为对象像素v5的新值vx5′以完成该系列的处理并使最初的处理过程返回。
在步骤S532中,它将v4设定为对象像素v4的新值vx4′以完成该系列的处理并使最初的处理过程返回。
在另一方面,在步骤S514中,如果在它判断判断值L7是“0”(否),则它移到步骤S518并将v7设定为对象像素v7的新值vx7′以完成该系列的处理并使最初的处理过程返回。
在另一方面,在步骤S520中,如果在它判断判断值L7和L6的AND是“0”(否),则它移到步骤S524并将v6设定为对象像素v6的新值vx6′以完成该系列的处理并使最初的处理过程返回。
在另一方面,在步骤S526中,如果在它判断判断值L7至L5的AND是“0”(否),则它移到步骤S530并将v5设定为对象像素v5的新值vx5′以完成该系列的处理并使最初的处理过程返回。
接着,参考附图10详细描述第二垂直滤波过程。附图10所示为第二垂直滤波过程的流程图。
第二垂直滤波过程是一种对第二对象像素串LSR的对象像素v4至v7执行垂直滤波操作的过程,如果在后置滤波器部分40中执行,则它首先移到步骤S600中,如附图10所示。
在步骤S600中,通过像素数据读取过程,它判断在缓冲器中是否可以获得第二垂直参考像素串LYR的参考像素ry4至ry7的Y数据,如果它判断通过读取或拷贝可以获得该像素数据(是),则它移到步骤S602,但如果判断不是这样(否),则它在步骤S600中等待直到可得到该像素数据。
在步骤S602中,通过第二水平滤波过程,它判断对第二对象像素串LSR的对象像素v4至v7是否已经完成了水平滤波过程,如果它判断已经完成了滤波处理(是),则它移到步骤S604和S606,但如果判断不是这样(否),则它移到步骤S600。
步骤S604和S606是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S604中,它通过下述的方程(47)计算在对象像素vx7′的值和参考像素ry7的值之间的差值的绝对值是否超过恒定值C2的判断值L7,并移到步骤S608。虽然这里使用恒定值C2,但是在第二对象像素串LSR设定在对象块10中的最高梯级或最低梯级中的情况下也可以使用恒定值C1。此后,在步骤S613、S620和S629中它都相同。
L7=(|vx7′-ry7|≤C2)                          ...(47)
在步骤S606中,它根据在对象块10中的第二对象像素串LSR的垂直位置通过上述方程(29)至(36)计算在对对象像素vx7′执行垂直滤波操作之后的值vy7″,并移到步骤S608。在步骤S606中,它将要设定的值设定为在vy7″下的上述方程(29)至(36)的vy7′。
在步骤S608中,它判断判断值L7是否是“1”,如果它判断判断值L7是“1”(是),则它移到步骤S610并将vy7″设定为对象像素v7的新值vy7′,移到步骤S611,并将对象像素v7和v6的U数据和V数据输出到RGB转换部分42中,移到步骤S612以给RGB转换部分42输出对象像素v7的Y数据vy7″,然后移到步骤S613和S614。
步骤S613和S614是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S613中,它通过下述的方程(48)计算在对象像素vx6′的值和参考像素ry6的值之间的差值的绝对值是否超过恒定值C2的判断值L6,并移到步骤S616。
L6=(|vx6′-ry6|≤C2)                          ...(48)
在步骤S614中,它根据在对象块10中的第二对象像素串LSR的垂直位置通过上述方程(29)至(36)计算在对对象像素vx6′执行垂直滤波操作之后的值vy6″,并移到步骤S616。在步骤S614中,它将要设定的值设定为在vy6″下的上述方程(29)至(36)的vy6′。
在步骤S616中,它判断判断值L6是否是“1”,如果它判断判断值L6是“1”(是),则它移到步骤S618并将vy6″设定为对象像素v6的新值vy6′,移到步骤S619,并将对象像素v6的Y数据vy6″输出到RGB转换部分42中,并移到步骤S620和S622。
步骤S620和S622是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S620中,它通过下述的方程(49)计算在对象像素vx5′的值和参考像素ry5的值之间的差值的绝对值是否超过恒定值C2的判断值L5,并移到步骤S624。
L5=(|vx5′-ry5|≤C2)                          ...(49)
在步骤S622中,它根据在对象块10中的第二对象像素串LSR的垂直位置通过上述方程(29)至(36)计算在对对象像素vx5′执行垂直滤波操作之后的值vy5″,并移到步骤S624。在步骤S622中,它将要设定的值设定为在vy5″下的上述方程(29)至(36)的vy5′。
在步骤S624中,它判断判断值L5是否是“1”,如果它判断判断值L5是“1”(是),则它移到步骤S626并将vy5″设定为对象像素v5的新值vy5′,移到步骤S627,并将对象像素v5和v4的U数据和V数据输出到RGB转换部分42,并移到步骤S628以将对象像素v5的Y数据vy5″输出到RGB转换部分42中,并移到步骤S629和S630。
步骤S629和S630是与在后置滤波器部分40中流水线处理同时执行的处理过程。
在步骤S629中,它通过下述的方程(50)计算在对象像素vx4′的值和参考像素ry4的值之间的差值的绝对值是否超过恒定值C2的判断值L4,并移到步骤S632。
L4=(|vx4′-ry4|≤C2)                          ...(50)
在步骤S630中,它根据在对象块10中的第二对象像素串LSR的垂直位置通过上述方程(29)至(36)计算在对对象像素vx4′执行垂直滤波操作之后的值vy4″,并移到步骤S632。在步骤S630中,它将要设定的值设定为在vy4″下的上述方程(29)至(36)的vy4′。
在步骤S632中,它判断判断值L4是否是“1”,如果它判断判断值L4是“1”(是),则它移到步骤S634并将vy4″设定为对象像素v4的新值vy4′,移到步骤S646,并将对象像素v4的Y数据vy4″输出到RGB转换部分42中以完成该系列处理并使最初的处理过程返回。
在另一方面,在步骤S632中,在它判断判断值L4为“0”(否)的情况下,它移到步骤S648,并将vx4′设定为对象像素v4的新值vy4′并移到步骤S646。
在另一方面,在步骤S624中,在它判断判断值L5为“0”(否)的情况下,它移到步骤S650,并将vx5′设定为对象像素v5的新值vy5′并移到步骤S627。
在另一方面,在步骤S616中,在它判断判断值L6为“0”(否)的情况下,它移到步骤S652,并将vx6′设定为对象像素v6的新值vy6′并移到步骤S619。
在另一方面,在步骤S608中,在它判断判断值L7为“0”(否)的情况下,它移到步骤S654,并将vx7′设定为对象像素v7的新值vy7′并移到步骤S611。
接着,参考附图11描述上述的步骤S106的指针更新处理。附图11所示为指针更新处理的流程图。
如果在上述的步骤S106中执行,则指针更新处理首先移到步骤S700,如附图11所示。然而,在后面的步骤中,再现图像的水平像素的数量是X,在对象块10中第一对象像素串LSL和第二对象像素串LSR的垂直坐标是Y。
在步骤S700中,它将8个像素等效值加入到对象像素的指针*sx和垂直参考像素的指针*cy的值中。这种加法将对象块10和垂直参考像素的指针*cy朝右移动一个块。但是,在相加之前对象块10是在再现图像中的最右的块的情况下,它们移到下一个梯级的最左边的块。由于这种移动仅加入了预定的数量,因此在通过硬件构造它的情况下仅通过加法器就可以实现它。
在步骤S702中,它判断对在预定的再现图像中的最右的块中的对象像素是否已经完成了滤波处理,如果它判断已经完成了滤波处理(是),则它移到步骤S704,但如果它判断不是这样(否),则它完成该系列处理并使最初的处理过程返回。
在步骤S704中,它计算y除以8的余数,移到步骤S706并判断所计算的余数是否为“0”,如果它判断该余数是“0”(是),则它移到步骤S708并从垂直参考像素的指针*cy中减去2X以完成该系列处理,并使最初的处理过程返回。这种减法将垂直参考像素的指针*cy移到在对象块10上在它附近的垂直参考块16的最低梯级中。由于这种移动仅仅使X加倍并减去它,因此在通过硬件构造它的情况下仅通过移位器和加法器就可以实施它。
在另一方面,在步骤S706中,在它判断所计算的余数不是“0”(否)的情况下,它移到步骤S710并判断所计算的余数是否是“4”,如果它判断该余数是“4”(是),则它移到步骤S712并将8X加到垂直参考像素的指针*cy的值中以完成该系列处理并使最初的处理过程返回。这种加法将垂直参考像素的指针*cy移到在对象块10之下在它附近的垂直参考块18的最高梯级。由于这种移动仅仅使X乘以8并加上它,因此在通过硬件构造它的情况下仅仅通过移位器和加法器就可以实施它。
在另一方面,在步骤S710中,在它判断所计算的余数不是“4”(否)的情况下,它移到步骤S714并从垂直参考像素的指针*cy的值中减去X以完成该系列处理并使最初的处理过程返回。这种减法将垂直参考像素的指针*cy移到在对象块10之上在它附近的垂直参考块16的最低梯级。由于这种移动仅仅减去X,因此在通过硬件构造它的情况下仅仅通过加法器就可以实施它。
接着,参考附图描述本实施例的操作。附图12所示为执行解块滤波处理的过程的时序图。在下文中,时间t0至t12中的每个时间表示在每次经过了等于后置滤波器部分40的1个时标的预定时间T时的时间。更具体地说,时间t0至t12中的每个时间表示在从它的紧接的在先的时间经过了预定时间T时的时间。
首先,在时间t0时,通过步骤S100中,后置滤波器部分40分别将对象像素的指针*sx设定为存储在VRAM35中要首先处理的第一对象像素串LSL的最左边像素的像素数据的地址,并将垂直参考像素的指针*cy设定为存储在VRAM35中要首先处理的第一垂直参考像素串LYL的最左边像素的像素数据的地址。此外,通过步骤S102,它参考对象像素的指针*sx和垂直参考像素的指针*cy,输出读请求以读取第一对象像素串LSL、第二对象像素串LSR、第二水平参考像素串LXR、第一垂直参考像素串LYL和第二垂直参考像素串LYR
如果输出读请求,在时间t1时,通过步骤S202和S204,将对象像素v0和v1的U数据、对象像素v2和v3的U数据、对象像素v4和v5的U数据和对象像素v6和v7的U数据读入到VRAM35中。
随后,在时间t2时,通过步骤S206和S208,将对象像素v0和v1的V数据、对象像素v2和v3的V数据、对象像素v4和v5的V数据和对象像素v6和v7的V数据读入到VRAM35中。
在另一方面,在相同的时间t2时,通过步骤S222和S224,它在缓冲器中拷贝最后一次读取的第二水平参考像素串LXR的像素数据作为第一对象像素串LSL的对象像素v0至v3的像素数据,并在缓冲器中拷贝与最后一次所读取的第二对象像素串LSR的像素数据的最右的像素相关的数据作为第一水平参考像素串LXL的参考像素rx0的像素数据,如附图13所示。附图13所示为解释拷贝和再使用像素数据的附图。
随后,在时间t3时,通过步骤S214,它参考垂直参考像素的指针*cy并将第一垂直参考像素串LYL的对象像素ry0至ry3的像素数据的Y数据读入到VRAM35中。
在另一方面,在相同的时间t3时,在缓冲器中可以获得第一对象像素串LSL的对象像素v0至v3和第一水平参考像素串LXL的参考像素rx0的Y数据,因此,通过步骤S302至S312,通过上述的(37)至(39)计算判断值L0至L2并通过上述的方程(1)至(3)计算vx0″至vx2″。这时,如果判断值L0是“1”,则通过步骤S316它将vx0″设定为对象像素v0的新值vx0′,如果判断值L0是“0”,则通过步骤S318它将v0设定为对象像素v0的新值vx0′。此外,如果判断值L0和L1的AND是“1”,则通过步骤S322它将vx1″设定为对象像素y1的新值vx1′,如果AND是“0”,则通过步骤S324它将v1设定为对象像素v1的新值vx1′。此外,如果判断值L0至L2的AND是“1”,则通过步骤S328它将vx2″设定为对象像素v2的新值vx2′,如果AND是“0”,则通过步骤S330它将v2设定为对象像素v2的新值vx2′。此外,它通过步骤S332它将v3设定为对象像素v3的新值vx3′。
随后,在时间t4时,通过步骤S216,它参考垂直参考像素的指针*cy并将第二垂直参考像素串LYR的参考像素ry4至ry7的像素数据的Y数据读入到VRAM35中。
在另一方面,在相同的时间t4时,在缓冲器中可以获得第一垂直参考像素串LYL的参考像素ry0至ry3的Y数据,并已经完成了对第一对象像素串LSL的对象像素v0至v3执行水平滤波处理,此外,通过步骤S404和S406,通过上述的方程(40)计算判断值L0并通过上述的方程(29)至(36)中的一个计算vy0″。这时,如果判断值L0是“1”,则通过步骤S410它将vy0″设定为对象像素v0的新值vy0′,如果判断值L0是“0”,则通过步骤S454它将vx0设定为对象像素v0的新值vy0′。此外,通过步骤S411和S412,它将对象像素v0和v1的U数据和V数据输出给RGB转换部分42,并将对象像素v0的Y数据vy0″输出到RGB转换部分42中。由此完成了对对象像素v0的解块滤波处理。
随后,在时间t5时,通过步骤S218,它参考对象像素的指针*sx并将第二对象像素串LSR的对象像素v4至v7的像素数据的Y数据读入到VRAM35中。
在另一方面,在相同的时间t5时,通过步骤S413和S414,通过上述的方程(41)计算判断值L1并通过上述的方程(29)至(36)中的一个计算vy1″。这时,如果判断值L1是“1”,则通过步骤S418它将vy1″设定为对象像素v1的新值vy1′,如果判断值L1是“0”,则通过步骤S452它将vx1设定为对象像素v1的新值vy1′。此外,通过步骤S419,它将对象像素v1的Y数据vy1″输出给RGB转换部分42。由此完成了对对象像素v1的解块滤波处理。
随后,在时间t6时,通过步骤S220,它参考对象像素的指针*sx并将第二水平参考像素串LXR的对象像素(包括参考像素rx1)的像素数据的Y数据读入到VRAM35中。
在另一方面,在相同的时间t6时,通过步骤S420和S422,通过上述的方程(42)计算判断值L2并通过上述的方程(29)至(36)中的一个计算vy2″。这时,如果判断值L2是“1”,则通过步骤S426它将vy2″设定为对象像素v2的新值vy2′,如果判断值L2是“0”,则通过步骤S450它将vx2′设定为对象像素v2的新值vy2′。此外,通过步骤S427和S428,它将对象像素v2和v3的U数据和V数据输出给RGB转换部分42,并将对象像素v2的Y数据vy2″输出给RGB转换部分42。由此完成了对对象像素v2的解块滤波处理。
随后,在时间t7,通过步骤S429和S430,通过上述的方程(43)计算判断值L3并通过上述的方程(29)至(36)中的一个计算vy3″。这时,如果判断值L3是“1”,则通过步骤S434它将vy3″设定为对象像素v3′的新值vy3′,如果判断值L3是“0”,则通过步骤S448它将vx3设定为对象像素v3的新值vy3′。此外,通过步骤S446,它将对象像素v3的Y数据vy3″输出给RGB转换部分42。由此完成了对对象像素v1的解块滤波处理。
在另一方面,在相同的时间t7时,在缓冲器中可以获得第二对象像素串LSR的对象像素v4至v7和第二水平参考像素串LXR的参考像素rx1的Y数据,因此,通过步骤S502至S512,通过上述的(44)至(46)计算判断值L7至L5并通过上述的(8)至(6)计算vx7″至vx5″。这时,如果判断值L7是“1”,则通过步骤S516它将vx7″设定为对象像素v7的新值vx7′,如果判断值L7是“0”,则通过步骤S518它将v7设定为对象像素v7的新值vx7′。此外,如果判断值L7和L6的AND是“1”,则通过步骤S522它将vx6″设定为对象像素v6的新值vx6′,如果AND是“0”,则通过步骤S524它将v6设定为对象像素v6的新值vx6′。此外,如果判断值L7至L5的AND是“1”,则通过步骤S528它将vx5″设定为对象像素v5的新值vx5′,如果AND是“0”,则通过步骤S530它将v5设定为对象像素v5的新值vx5′。此外,它通过步骤S532它将v4设定为对象像素v4的新值vx4′。
随后,在相同的时间t8时,在缓冲器中可以获得第二垂直参考像素串LYR的参考像素ry4至ry7的Y数据,并已经完成了对第二对象像素串LSR的对象像素v4至v7执行水平滤波处理,因此,通过步骤S604和S606,通过上述的方程(47)计算判断值L7并通过上述的方程(29)至(36)中的一个计算vy7″。这时,如果判断值L7是“1”,则通过步骤S610它将vy7″设定为对象像素v7的新值vy7′,如果判断值L7是“0”,则通过步骤S654它将vx7′设定为对象像素v7的新值vy7′。此外,通过步骤S611和S612,它将对象像素v7和v6的U数据和V数据输出给RGB转换部分42,并将对象像素v7的Y数据vy7″ 输出到RGB转换部分42中。由此完成了对对象像素v7的解块滤波处理。
此外,在相同的时间t8时,通过步骤S700到S714,对象像素的指针*sx和垂直参考像素的指针*cy移到在对象块10附近的在其右边的块中,对该块执行与在时间t0时的处理相同的处理。
接着,在相同的时间t8时,通过步骤S613和S614,通过上述的方程(48)计算判断值L6并通过上述的方程(29)至(36)中的一个计算vy6″。这时,如果判断值L6是“1”,则通过步骤S618它将vy6″设定为对象像素v6的新值vy6′,如果判断值L6是“0”,则通过步骤S652它将vx6′设定为对象像素v6的新值vy6′。此外,通过步骤S619,它将对象像素v6的Y数据vy6″输出给RGB转换部分42。由此完成了对对象像素v6的解块滤波处理。
此外,在相同的时间t9时,对在对象块10附近的在其右边上的块执行与在时间t1时的处理相同的处理。
接着,在相同的时间t10时,通过步骤S620和S622,通过上述的方程(49)计算判断值L5并通过上述的方程(29)至(36)中的一个计算vy5″。这时,如果判断值L5是“1”,则通过步骤S626它将vy5″设定为对象像素v5的新值vy5′,如果判断值L5是“0”,则通过步骤S650它将vx5′设定为对象像素v5的新值vy5′。此外,通过步骤S627和S628,它将对象像素v5和v4的U数据和V数据输出给RGB转换部分42,并将对象像素v5的Y数据vy5″输出给RGB转换部分42。由此完成了对对象像素v5的解块滤波处理。
此外,在相同的时间t10时,对在对象块10附近的在其右边的块执行与在时间t2时的处理相同的处理。
接着,在相同的时间t11时,通过步骤S629和S630,通过上述的方程(50)计算判断值L4并通过上述的方程(29)至(36)中的一个计算vy4″。这时,如果判断值L4是“1”,则通过步骤S634它将vy4″设定为对象像素v4的新值vy4′,如果判断值L4是“0”,则通过步骤S648它将vx4′设定为对象像素v4的新值vy4′。此外,通过步骤S646,它将对象像素v4的Y数据vy4″输出给RGB转换部分42。由此完成了对对象像素v4的解块滤波处理。
此外,在相同的时间t11时,对在对象块10附近的在其右边的块执行与在时间t3时的处理相同的处理。
因此,根据本实施例,解块滤波处理判断在对象像素v0至v7的值和参考像素ry0至ry7的值之间的差值是否超过阈值,只基于对象像素v0至v7的值和参考像素rx0和rx1的值对对象像素v0至v7执行水平滤波操作,只基于上述判断结果确定是否对对象像素v0至v7执行垂直滤波操作,只基于对象像素v0至v7的值和参考像素ry0至ry7的值对对象像素v0至v7执行垂直滤波操作。
因此,在判断是否执行滤波操作以及执行滤波操作的情况下,它必须仅参考对象像素v0至v7、参考像素rx0和rx1和参考像素ry0至ry7,因此与过去的情况相比可以简化解块滤波处理。例如,在本实施例中通过硬件实施解块滤波处理的情况下,可以使电路规模更小,而在通过软件实施解块滤波处理的情况下,可以使程序更小。具体地说,在将在水平参考块12和14和垂直参考块16和18中的边界上的像素用作参考像素rx0和rx1和参考像素ry0至ry7时,可以简化解块滤波处理,并且不会显著地降低滤波效果。此外,可以减小对VRAM35的访问次数,因此可以预计的是能够加速处理。
此外,根据本实施例,在重复作为处理系列的像素数据的读、判断和滤波操作的同时解块滤波处理设法对再现图像的所有像素执行滤波操作,以及对属于在对象块10的左上区的对象像素,为进行判断和滤波操作它使用在其左边且在其之上的对象块10附近的水平参考块12和垂直参考块16的参考像素的值,对属于在对象块10的右上区的对象像素,为进行判断和滤波操作它使用在其右边且在其之上的对象块10附近的水平参考块14和垂直参考块16的参考像素的值,对属于在对象块10的左下区的对象像素,为进行判断和滤波操作它使用在其左边且在其之下的对象块10附近的水平参考块12和垂直参考块18的参考像素的值,对属于在对象块10的右下区的对象像素,为进行判断和滤波操作它使用在其右边且在其之下的对象块10附近的水平参考块14和垂直参考块18的参考像素的值。
因此,在对4个对象像素v0至v3执行解块滤波处理的情况下,它仅必须从VRAM35中读取9个像素,因此对VRAM35的读的次数减小了。此外,在判断是否执行滤波操作并执行滤波操作的情况下,根据对象像素v0至v3所属于的区使用相对充足的参考像素,因此可以改善滤波效果。
此外,根据本实施例,解块滤波处理参考垂直参考像素的指针*cy以将像素数据读入到缓冲器中,并在每系列处理中进一步将8个像素的等效值加入到垂直参考像素的指针*cy的值中,在接下来要处理的对象块10是在再现的图像的最左边的块并且y除以“8”的余数为“0”时从垂直参考像素的指针*cy的值中减去2X,在接下来要处理的对象块10是在再现的图像的最左边的块并且y除以“8”的余数为“4”时将8X加入到垂直参考像素的指针*cy的值中,以及在接下来要处理的对象块10是在再现的图像的最左边的块并且y除以“8”的余数为除了“0”或“4”以外的值时从垂直参考像素的指针*cy的值中减去X。
因此,仅仅通过移位器和加法器可以实施垂直参考像素的指针*cy的更新,因此,可以减小负载并使结构相对简单。
此外,根据本实施例,对于每个处理系列,解块滤波处理将第二对象像素串LSR、第二水平参考像素串LXR、第一垂直参考像素串LYL和第二垂直参考像素串LYR读入到缓冲器,并再使用在紧接的在先处理中所读取的第二对象像素串LSR和第二水平参考像素串LXR的像素数据分别作为第一水平参考像素串LXL和第一对象像素串LSL的像素数据,因此,对第一对象像素串LSL和第二对象像素串LSR的所有对象像素v0至v7执行判断和滤波操作。
因此,由于不需要从VRAM35中重新读取第一水平参考像素串LXL和第一对象像素串LSL的像素数据,因此可以进一步减少读入到VRAM35中的次数。
此外,根据本实施例,在如下的情况中:第一阶段是拷贝在紧接的在先处理中读取的第二对象像素串LSR和第二水平参考像素串LXR的像素数据分别作为第一水平参考像素串LXL和第一对象像素串LSL的像素数据的过程,第二阶段是将第一垂直参考像素串LYL的像素数据读取到缓冲器中的过程,第三阶段是将第二垂直参考像素串LYR的像素数据读取到缓冲器中的过程,第四阶段是将第二对象像素串LSR的像素数据读取到缓冲器中的过程,第五阶段是将第二水平参考像素串LXR的像素数据读取到缓冲器中的过程,第六阶段是基于第一水平参考像素串LXL的像素数据对第一对象像素串LSL的每个对象像素执行水平滤波操作的过程,第七阶段是基于第六阶段的处理结果和第一垂直参考像素串LYL的像素数据对第一对象像素串LSL的每个对象像素执行判断和垂直滤波操作的过程,第八阶段是基于第二水平参考像素串LXR的像素数据对第二对象像素串LSR的每个对象像素执行水平滤波操作的过程,以及第九阶段是基于第八阶段的处理结果和第二垂直参考像素串LYR的像素数据对第二对象像素串LSR的每个对象像素执行判断和垂直滤波操作的过程,该处理系列顺序地执行第一阶段、第二阶段、第三阶段、第四阶段和第五阶段,顺序地执行第六阶段和第七阶段,顺序地执行第五阶段、第八阶段和第九阶段,以及同时还开始执行第二阶段和第六阶段,并且同时执行第三阶段和第七阶段。
因此,在判断是否执行滤波操作并执行滤波操作时能够实施有效的流水线处理,因此可以预期加速处理。此外,以第一垂直参考像素串LYL、第二垂直参考像素串LYR、第二对象像素串LSR、和第二水平参考像素串LXR的顺序读取像素数据,因此第一垂直参考像素串LYL和第二垂直参考像素串LYR的像素数据的读取和第二对象像素串LSR和第二水平参考像素串LXR的像素数据的读取可以连续地执行,因此可以简化像素数据的读取过程。
此外,根据本实施例,解块滤波处理计算通过上述方程(1)至(3)和(6)至(8)的滤波操作方程对与在相互相邻的块之间的边界正交的像素串执行解块滤波v0′至v2′和v5′至v7′之后的像素的值。
因此,在对一个像素执行滤波操作时,因为仅使用两个像素值而不是使用大量的像素的平均值,因此可以进一步简化解块滤波处理。此外,除了进一步简化解块滤波处理之外,还可以实施有效的滤波效果,因为使用一个像素值和在相邻块中的参考像素的相同像素串的像素值通过加法、减法和位移位(除数是2的整数倍的除法)执行计算。
此外,根据本实施例,在一个像素和作为设置在相邻块中的边界上的参考像素的相同像素串的像素之间的像素的互差值都不超过阈值C1和C2时,解块滤波处理对与在互相相邻的块之间的边界正交的像素串的像素的所述的一个像素执行滤波操作,其中使用恒定值作为阈值C1和C2
因此,由于阈值C1和C2是恒定值,因此在解块滤波处理的过程中不需要计算C1和C2,如果像素的任何互差值超过阈值C1和C2,则不执行滤波操作。因此,与已有的技术相比,除了可以进一步简化它以外,还可以以相对更高的速度执行解块滤波处理。
此外,根据本实施例,用于比较在参考像素和与其相邻的相邻像素之间的差值的阈值C1设定为大于用于比较在参考像素和除了相邻像素以外的像素之间的差值的阈值C2
因此,由于考虑了在块之间的平均亮度的差别的特性而执行解块滤波处理,因此可以进一步提高有效的滤波效果。
此外,根据本实施例,假设像素的最大值为“255”,用于比较在参考像素和与其相邻的相邻像素之间的差值的阈值C1设定为“32”,并将用于比较在参考像素和除了相邻像素以外的像素之间的差值的阈值C2设定为“16”。
因此,由于考虑了在块之间的平均亮度的差别的特性而执行解块滤波处理,因此可以进一步提高有效的滤波效果。
此外,根据本实施例,解块滤波处理判断是否在自参考像素附近的相邻像素顺序地远离边界的方向上对像素执行滤波操作,以及在它判断不对某一像素执行滤波操作时,对该像素和此后的像素不执行滤波操作。
由此可以减小是否对该像素执行滤波操作的判断的次数,由此进一步加速了解块滤波处理。
此外,根据本实施例,后置滤波器部分40具有能够存储等于21个像素的像素数据的缓冲器,并且解块滤波处理从VRAM35中共同地读取从该一个像素到参考像素的所有的像素数据到缓冲器中,以基于该缓冲器的像素数据执行滤波操作。
因此,解块滤波处理可以进一步加速,因为,对于像素串的每个像素,将需要执行解块滤波处理的像素数据共同地读取到缓冲器中以批量处理。
此外,根据本实施例,解块滤波处理对在块中的水平像素串或垂直像素串中的一个执行滤波操作,然后对另一个执行滤波操作。
因为对在块中的水平像素串和垂直像素串执行解块滤波处理,所以可以进一步提高有效的滤波效果。
在上述的实施例中,以MPEG格式的运动图像数据对应于根据权利要求1、2、9到12的压缩图像数据,并且VRAM35对应于根据权利要求3或5的图像存储装置,后置滤波器部分40的缓冲器对应于根据权利要求3、5到8的工作用存储装置。此外,参考像素rx0和rx1对应于权利要求2到4、10或12的水平参考像素,参考像素ry0至ry7对应于根据权利要求2、3、6、10或12的垂直参考像素,以及参考像素rx0和rx1和对象像素v0至v7对应于根据权利要求3或4的第一像素串。
此外,根据上述的实施例,参考像素ry0至ry7对应于根据权利要求3或5的第二像素串。
此外,虽然上述的实施例被构造成,在该一个像素和设置在相邻的块中在边界上的参考像素rx0和rx1的相同像素串的像素之间的像素的互差值不超过阈值C1和C2时,对对象像素v0至v7执行水平滤波操作,但是并不限于这些,它还可以被构造为,与垂直滤波操作一样,它只基于该一个像素值和参考像素rx0和rx1的值确定是否对对象像素v0至v7执行水平滤波操作。
此外,在上述的实施例中,对于通过后置滤波器部分40的硬件执行它们的情况,已经描述了在附图5的流程图中所示的执行处理的所有的情况。然而,它们并不限于这些,还可以通过CPU30执行这些处理,在CPU30中可以将它构造为执行事先存储在R0M32中的控制程序或者从存储说明它们的过程的程序的存储媒体中将该程序读入到RAM34中。
在此,存储媒体是半导体存储媒体比如RAM和R0M、磁性存储器型存储媒体比如FD和HD、光学读取方法媒体比如CD、CDV、LD和DVD等以及磁性存储器型/光学读取方法媒体比如MO,包括不管读方法是电子、磁性还是光学方法通过计算机均可读的任何存储媒体。
此外,根据上述的实施例,虽然与本发明相关的图像处理设备、图像处理程序和图像处理方法都应用于在以MPEG格式压缩的对运动图像数据进行解码并通过在如附图10所示的计算机100中的多任务OS再现运动图像时对再现的图像执行解块滤波处理的情况,但是本发明并不限于这些,而是它们还可以适用于其它的情况,只要它们不偏离本发明的主要点。例如,它们可以适用于基于以MPEG格式压缩图像数据显示图像的情况和基于通过图像压缩处理压缩的压缩图像数据通过预定的块执行离散余弦变换处理和量化处理而扩展图像的情况。
如上文所描述,根据本发明的权利要求1所述的图像处理设备具有如下的效果:与已有技术相比,在对图像解码时,简化了滤波处理由此降低了块噪声,因为在判断是否执行滤波操作以及执行滤波操作时它仅需要参考对象像素和参考像素。此外,在扩展的图像存储在存储装置比如存储器中的情况下,它能够减小访问存储装置的次数,结果,对于通过其访问该存储装置是关键路径的图像处理设备,可以预计的是能够加速处理。
此外,根据本发明的权利要求2至8所述的图像处理设备具有如下的效果:与已有技术相比,在对图像解码时,简化了用于降低块噪声滤波过程,因为在判断是否执行滤波操作以及执行滤波操作时它仅需要参考对象像素、水平参考像素和垂直参考像素。具体地说,它使用设置在水平参考像素和垂直参考像素中的边界上的像素作为水平参考像素和垂直参考像素,因此它具有简化滤波处理的效果而不会显著地降低滤波效果。此外,在扩展的图像存储在存储装置比如存储器中的情况下,它能够降低访问存储装置的次数,结果,对于通过其访问该存储装置是关键路径的图像处理设备可以预计的是能够加速处理。
此外,根据本发明的权利要求3至8的图像处理设备也具有降低读取图像存储设备的次数的效果,因为,在对第一像素串的对象像素执行滤波处理时,它仅需要从图像存储装置中读取第一和第二像素串的像素。
此外,根据本发明的权利要求4至8的图像处理设备也具有降低读取图像存储的次数的效果,因为,在对n个对象像素执行滤波处理时,它仅需要从图像存储装置中读取2n+1个像素。此外,它还具有提高滤波效果的作用,因为在判断是否执行滤波操作以及执行滤波操作时根据对象像素所属于的区域使用相对足够的参考像素。
此外,根据本发明的权利要求5至8的图像处理设备也具有如下的效果:在通过硬件构造它的情况下能够降低负载并且以相对简单的结构实施,因为仅通过移位器和加法器就可以实施垂直参考像素的指针的更新。
此外,根据本发明的权利要求6至8的图像处理设备也具有进一步降低读图像处理设备的次数的效果,因为它不需要从图像存储装置中重新读取第一水平参考像素串和第一对象像素串的像素数据。
此外,根据本发明的权利要求8的图像处理设备在判断是否执行滤波操作以及执行滤波操作时能够实施有效的流水线处理,因此,可以预计的是能够加速处理。此外,它以第一垂直参考像素串、第二垂直参考像素串、第二对象像素串和第二水平参考像素串的顺序读取像素数据,因此第一垂直参考像素串和第二垂直参考像素串的像素数据的读取和第二对象像素串和第二水平参考像素串的像素数据的读取可以相继地执行,因此它还具有简化像素数据的读取过程的作用。此外,在通过硬件构造它时它还具有相对地减小电路规模的作用,因为与在已有技术中需要等于至少一个帧的工作存储器用于工作相比它仅需要等于5n+1个像素的工作存储器。
在另一方面,根据本发明的权利要求9所述的图像处理程序具有与根据权利要求1的图像处理设备的效果等效的效果。
此外,根据本发明的权利要求10所述的图像处理程序具有与根据权利要求2的图像处理设备的效果等效的效果。
在另一方面,根据本发明的权利要求11所述的图像处理方法具有与根据权利要求1的图像处理设备的效果等效的效果。
此外,根据本发明的权利要求12所述的图像处理方法具有与根据权利要求2的图像处理设备的效果等效的效果。

Claims (12)

1.一种图像处理设备,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:对象块附近的块是参考块,以及在所说的对象块中的一个像素是对象像素并且在所说的参考块中的一个像素是参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的参考像素的值之间的差值是否超过阈值,只基于所说的判断结果确定是否对所说的对象像素执行滤波操作,以及只基于所说的对象像素的值和所说的参考像素的值对所说的对象像素执行滤波操作。
2.一种图像处理设备,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:与对象块水平相邻的块是水平参考块并且与所说的对象块垂直相邻的块是垂直参考块,此外在所说的对象块中的一个像素是对象像素,并且在位于与所说的对象块的边界上并且与所说的对象像素处于相同的垂直位置上的所说的水平参考块中的一个像素是水平参考像素,以及在位于与所说的对象块的边界上并且与所说的对象像素处于相同的水平位置上的所说的垂直参考块中的一个像素是垂直参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的垂直参考像素的值之间的差值是否超过阈值,
只基于所说的对象像素的值和所说的水平参考像素的值所说的滤波处理对所说的对象像素执行水平滤波操作,
所说的滤波处理只基于所说的判断结果确定是否对所说的对象像素执行垂直滤波操作,以及只基于所说的对象像素的值和所说的垂直参考像素的值对所说的对象像素执行垂直滤波操作。
3.根据权利要求2的图像处理设备,
可使用地连接到图像存储装置以存储所说的扩展的图像,以及
具有工作用存储装置以便存储执行所说的滤波处理的像素数据,
其中,在所说的对象块中的并自与所说的水平参考块的边界水平地连续的多个像素是所说的对象像素,
所说的滤波处理将第一像素串的像素数据和第二像素串的像素数据共同地读取到所说的工作用存储装置中,该第一像素串包括所说的许多对象像素和所说的水平参考像素,该第二像素串包括对应于所说的相应的对象像素的垂直参考像素,基于所说的工作用存储装置的像素数据对每个所说的对象像素进行所说的判断,
所说的滤波处理通过参考所说的工作用存储装置的像素数据只基于所说的对象像素的值和所说的水平参考像素的值对所说的相应的对象像素执行水平滤波操作,
所说的滤波处理只基于对应于该对象像素的所说的判断结果确定是否对所说的相应的对象像素执行垂直滤波操作,并且通过参考所说的工作用存储装置的像素数据只基于所说的对象像素的值和所说的垂直参考像素的值对所说的相应的对象像素执行垂直滤波操作。
4.根据权利要求3的图像处理设备,
构造每个所说的块作为包括在水平上2n(n≥1)段像素和在垂直上2m(m≥1)段像素的矩形图像区,并将它划分为包括在水平上n段像素和在垂直上m段像素的左上、右上、左下和右下的4个区,进一步以所说的水平参考像素和属于所说的4个区的相同区中的像素构造所说的第一像素串,
在重复作为处理系列的所说的像素数据的读取、所说的判断和所说的滤波操作的同时所说的滤波处理尝试对所说的扩展图像的所有的像素执行所说的滤波操作,
至于属于所说的对象块的左上区的对象像素,所说的滤波处理使用在位于它的左边和上方的所说的对象块附近的水平参考块和垂直参考块的参考像素值以进行所说的判断和所说的滤波操作,
至于属于所说的对象块的右上区的对象像素,所说的滤波处理使用在位于它的右边和上方的所说的对象块附近的水平参考块和垂直参考块的参考像素值以进行所说的判断和所说的滤波操作,
至于属于所说的对象块的左下区的对象像素,所说的滤波处理使用在位于它的左边和下方的所说的对象块附近的水平参考块和垂直参考块的参考像素值以进行所说的判断和所说的滤波操作,
至于属于所说的对象块的右下区的对象像素,所说的滤波处理使用在位于它的右边和下方的所说的对象块附近的水平参考块和垂直参考块的参考像素值以进行所说的判断和所说的滤波操作。
5.根据权利要求4的图像处理设备,
其中所说的图像存储装置以从左至右和上至下顺序地存储构成所说的扩展的图像的像素的像素数据,
所说的滤波处理参考在所说的图像存储装置中的指向所说的第二像素串的像素数据的存储地址的垂直参考像素的指针并将在所说的第二像素串的像素数据读入到所说的工作用存储装置中,
此外,在所说的扩展的图像的水平像素的数量是X并且在所说的对象块中的对象像素的垂直坐标是y的情况下,
至于上述的每个处理系列,所说的滤波处理将等于在该过程中集中处理的对象像素的数量的值加到所说的垂直参考像素的指针中,
在下次处理的对象块是在所说的扩展的图像中最左边的块并且y除以2m的余数为“0”时,所说的滤波处理从所说的垂直参考像素的指针的值中减去2X,
在下次处理的对象块是在所说的扩展的图像中最左边的块并且y除以2m的余数为“m”时,所说的滤波处理将2mX加入到所说的垂直参考像素的指针的值中,
在下次处理的对象块是在所说的扩展的图像中最左边的块并且y除以2m的余数是除了“0”和m以外的值时,所说的滤波处理从所说的垂直参考像素的指针的值中减去X。
6.根据权利要求5的图像处理设备,
其中,在如下的情况下:包括在所说的对象块中在相同的水平线上的左半像素的像素串是第一对象像素串,包括它的右半像素的像素串是第二对象像素串,此外,在所说的水平参考块中并在它的左边上的上述第一对象像素串附近并且包括与所说的第二对象像素串的像素相同数量的像素的像素串是第一水平参考像素串,在所说的水平参考块中并在它的右边上的上述第二对象像素串附近并且包括与所说的第一对象像素串的像素相同数量的像素的像素串是第二水平参考像素串,以及此外,包括对应于所说的第一水平参考像素串的对象像素的垂直参考像素的像素串是第一垂直参考像素串,以及包括对应于所说的第二水平参考像素串的对象像素的垂直参考像素的像素串是第二垂直参考像素串,
对于所说的处理系列中每次处理,所说的滤波处理将所说的第二对象像素串、所说的第二水平参考像素串、所说的第一垂直参考像素串和所说的第二垂直参考像素串的像素数据读取到所说的工作用存储装置中,还再使用在紧接的在先处理中读取的所说的第二对象像素串和所说的第二水平参考像素串的像素数据作为所说的第一水平参考像素串和所说的第一对象像素串的像素数据,以及对所说的第一对象像素串和所说的第二对象像素串的所有对象像素执行所说的判断和所说的滤波操作。
7.根据权利要求6的图像处理设备,
其中,为所说的扩展的图像第一次执行的所说的处理系列将所说的第一对象像素串、所说的第二对象像素串、所说的第二水平参考像素串、所说的第一垂直参考像素串和所说的第二垂直参考像素串的像素数据读取到所说的工作用存储装置中,
以及第二次以及此后执行的所说的处理系列将所说的第二对象像素串、所说的第二水平参考像素串、所说的第一垂直参考像素串和所说的第二垂直参考像素串的像素数据读取到所说的工作用存储装置中,以及再使用在紧接的在先处理中读取的所说的第二对象像素串和所说的第二水平参考像素串的像素数据作为所说的第一水平参考像素串和所说的第一对象像素串的像素数据。
8.根据权利要求6或7的图像处理设备,
其中,在如下的情况中:拷贝在紧接的在先处理中读取的所说的第二对象像素串和所说的第二水平参考像素串的像素数据分别作为所说的第一水平参考像素串和所说的第一对象像素串的像素数据的过程是第一阶段,
将所说的第一垂直参考像素串的像素数据读取到所说的工作用存储装置中的过程是第二阶段,
将所说的第二垂直参考像素串的像素数据读取到所说的工作用存储装置中的过程是第三阶段,
将所说的第二对象像素串的像素数据读取到工作用存储装置中的过程是第四阶段,
将所说的第二水平参考像素串的像素数据读取到所说的工作用存储装置中的过程是第五阶段,
基于所说的第一水平参考像素串的像素数据对所说的第一对象像素串的每个对象像素执行所说的水平滤波操作的过程是第六阶段,
基于所说的第六阶段的处理结果和所说的第一垂直参考像素串的像素数据对所说的第一对象像素串的每个对象像素执行所说的判断和所说的垂直滤波操作的过程是第七阶段,
基于所说的第二水平参考像素串的像素数据对所说的第二对象像素串的每个对象像素执行所说的水平滤波操作的过程是第八阶段,
基于所说的第八阶段的处理结果和所说的第二垂直参考像素串的像素数据对所说的第二对象像素串的每个对象像素执行所说的判断和所说的垂直的滤波操作的过程是第九阶段,
所说的处理系列顺序地执行所说的第一阶段、所说的第二阶段、所说的第三阶段、所说的第四阶段和所说的第五阶段,顺序地执行所说的第六阶段和所说的第七阶段,顺序地执行所说的第五阶段、所说的第八阶段和所说的第九阶段,以及同时还开始执行所说的第二阶段和所说的第六阶段,并且同时执行所说的第三阶段和所说的第七阶段。
9.一种图像处理程序,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,使计算机通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:对象块附近的块是参考块,以及在所说的对象块中的一个像素是对象像素并且在所说的参考块中的一个像素是参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的参考像素的值之间的差值是否超过阈值,只基于所说的判断结果确定是否对所说的对象像素执行滤波操作,以及只基于所说的对象像素的值和所说的参考像素的值对所说的对象像素执行滤波操作。
10.一种图像处理程序,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,使计算机通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:与对象块水平相邻的块是水平参考块并且与所说的对象块垂直相邻的块是垂直参考块,此外,在所说的对象块中的一个像素是对象像素,并且在位于与所说的对象块的边界上并且与所说的对象像素处于相同的垂直位置上的所说的水平参考块中的一个像素是水平参考像素,以及在位于与所说的对象块的边界上并且与所说的对象像素处于相同的水平位置上的所说的垂直参考块中的一个像素是垂直参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的参考像素的值之间的差值是否超过阈值,
所说的滤波处理只基于所说的对象像素的值和所说的水平参考像素的值对所说的对象像素执行水平滤波操作,
所说的滤波处理只基于所说的判断结果确定是否对所说的对象像素执行垂直滤波处理,以及只基于所说的对象像素的值和所说的垂直参考像素的值对所说的对象像素执行垂直滤波操作。
11.一种图像处理方法,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:在对象块附近的块是参考块,以及在所说的对象块中的一个像素是对象像素并且在所说的参考块中的一个像素是参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的参考像素的值之间的差值是否超过阈值,只基于所说的判断结果确定是否对所说的对象像素执行滤波操作,以及只基于所说的对象像素的值和所说的参考像素的值对所说的对象像素执行滤波操作。
12.一种图像处理方法,基于通过预定的块执行离散余弦变换处理和量化处理的图像压缩处理所压缩的压缩图像数据,通过所说的块在扩展图像时或在扩展图像之后对扩展的图像执行滤波处理,
其中,在如下的情况下:与对象块水平相邻的块是水平参考块并且与所说的对象块垂直相邻的块是垂直参考块,此外在所说的对象块中的一个像素是对象像素,并且在位于与所说的对象块的边界上并且与所说的对象像素处于相同的垂直位置上的所说的水平参考块中的一个像素是水平参考像素,以及在位于与所说的对象块的边界上并且与所说的对象像素处于相同的水平位置上的所说的垂直参考块中的一个像素是垂直参考像素,
所说的滤波处理判断在所说的对象像素的值和所说的参考像素的值之间的差值是否超过阈值,
所说的滤波处理只基于所说的对象像素的值和所说的水平参考像素的值对所说的对象像素执行水平滤波操作,
所说的滤波处理只基于所说的判断结果确定是否对所说的对象像素执行垂直滤波处理,以及只基于所说的对象像素的值和所说的垂直参考像素的值对所说的对象像素执行垂直滤波操作。
CNB031068901A 2002-03-07 2003-03-06 图像处理设备和图像处理方法 Expired - Fee Related CN1220390C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002061940 2002-03-07
JP61940/2002 2002-03-07
JP26155/2003 2003-02-03
JP2003026155A JP4114494B2 (ja) 2002-03-07 2003-02-03 画像処理装置及び画像処理プログラム、並びに画像処理方法

Publications (2)

Publication Number Publication Date
CN1444408A true CN1444408A (zh) 2003-09-24
CN1220390C CN1220390C (zh) 2005-09-21

Family

ID=28043682

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031068901A Expired - Fee Related CN1220390C (zh) 2002-03-07 2003-03-06 图像处理设备和图像处理方法

Country Status (7)

Country Link
US (1) US7162090B2 (zh)
EP (1) EP1376468B1 (zh)
JP (1) JP4114494B2 (zh)
CN (1) CN1220390C (zh)
AT (1) ATE338315T1 (zh)
DE (1) DE60307935T8 (zh)
HK (1) HK1057958A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428269C (zh) * 2003-12-16 2008-10-22 富可视公司 处理图像数据的方法
CN1717055B (zh) * 2004-07-02 2010-05-26 三星电子株式会社 使用子宏块移位寄存器阵列的解块滤波装置和方法
CN101040532B (zh) * 2004-10-13 2010-06-23 坦德伯格电信公司 去块滤波器
CN102812710A (zh) * 2010-05-21 2012-12-05 夏普株式会社 颜色判定装置、颜色判定方法、图像处理电路及程序
CN104067623A (zh) * 2012-01-19 2014-09-24 三菱电机株式会社 运动图像解码装置、运动图像编码装置、运动图像解码方法以及运动图像编码方法
CN105933708A (zh) * 2016-04-15 2016-09-07 张彦刚 一种数据压缩和解压缩的方法和装置
CN112740706A (zh) * 2018-09-24 2021-04-30 华为技术有限公司 用于执行质量优化去块的图像处理设备和方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308016B1 (ko) * 1998-08-31 2001-10-19 구자홍 압축 부호화된 영상에 나타나는 블럭현상 및 링현상 제거방법및 영상 복호화기
JP2004318423A (ja) * 2003-04-15 2004-11-11 Konica Minolta Photo Imaging Inc 画像処理方法、画像処理装置及び画像処理プログラム
KR100644618B1 (ko) 2004-07-02 2006-11-10 삼성전자주식회사 블록 단위로 부호화된 영상의 블록경계에서의 불연속성제거필터 및 방법
JP4270125B2 (ja) * 2004-12-16 2009-05-27 ソニー株式会社 データ処理装置、画像処理装置、それらの方法およびプログラム
KR100843196B1 (ko) 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
JP2006254231A (ja) * 2005-03-11 2006-09-21 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
JP2006285402A (ja) * 2005-03-31 2006-10-19 Pioneer Electronic Corp 画像処理装置
JP4830691B2 (ja) * 2006-07-26 2011-12-07 ソニー株式会社 映像信号処理方法及び装置、並びに映像信号復号方法
JP4712642B2 (ja) 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US20080055327A1 (en) * 2006-09-06 2008-03-06 Barinder Singh Rai Highly Efficient Display FIFO
MY174587A (en) 2010-12-07 2020-04-28 Sony Corp Image processing device and image processing method
CN103229506B (zh) 2010-12-07 2016-11-09 索尼公司 图像处理设备和图像处理方法
US9311811B1 (en) 2014-10-08 2016-04-12 Google Inc. Alarm profile for a fabric network
JP6545515B2 (ja) 2015-04-24 2019-07-17 株式会社東芝 画像復号装置
JPWO2019225459A1 (ja) 2018-05-23 2021-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714211B2 (ja) 1989-07-14 1995-02-15 国際電信電話株式会社 動画像符号化のブロック歪除去方法および装置
JP2919986B2 (ja) 1991-03-19 1999-07-19 オリンパス光学工業株式会社 画像信号復号化装置
US5796875A (en) 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
JPH11187400A (ja) 1997-12-22 1999-07-09 Matsushita Electric Ind Co Ltd 歪除去方法および歪除去フィルタ
KR100244290B1 (ko) 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6430317B1 (en) * 1997-12-31 2002-08-06 Sarnoff Corporation Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
US6320905B1 (en) 1998-07-08 2001-11-20 Stream Machine Company Postprocessing system for removing blocking artifacts in block-based codecs

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428269C (zh) * 2003-12-16 2008-10-22 富可视公司 处理图像数据的方法
CN1717055B (zh) * 2004-07-02 2010-05-26 三星电子株式会社 使用子宏块移位寄存器阵列的解块滤波装置和方法
CN101040532B (zh) * 2004-10-13 2010-06-23 坦德伯格电信公司 去块滤波器
CN102812710A (zh) * 2010-05-21 2012-12-05 夏普株式会社 颜色判定装置、颜色判定方法、图像处理电路及程序
CN102812710B (zh) * 2010-05-21 2015-04-29 夏普株式会社 颜色判定装置、颜色判定方法、图像处理电路及程序
CN104067623A (zh) * 2012-01-19 2014-09-24 三菱电机株式会社 运动图像解码装置、运动图像编码装置、运动图像解码方法以及运动图像编码方法
CN105933708A (zh) * 2016-04-15 2016-09-07 张彦刚 一种数据压缩和解压缩的方法和装置
CN112740706A (zh) * 2018-09-24 2021-04-30 华为技术有限公司 用于执行质量优化去块的图像处理设备和方法
US11800154B2 (en) 2018-09-24 2023-10-24 Huawei Technologies Co., Ltd. Image processing device and method for performing quality optimized deblocking

Also Published As

Publication number Publication date
CN1220390C (zh) 2005-09-21
EP1376468A3 (en) 2004-04-14
US20040005006A1 (en) 2004-01-08
EP1376468A9 (en) 2004-06-30
HK1057958A1 (en) 2004-04-23
EP1376468A2 (en) 2004-01-02
JP4114494B2 (ja) 2008-07-09
DE60307935T8 (de) 2007-07-12
EP1376468B1 (en) 2006-08-30
US7162090B2 (en) 2007-01-09
JP2003333597A (ja) 2003-11-21
DE60307935D1 (de) 2006-10-12
DE60307935T2 (de) 2007-03-15
ATE338315T1 (de) 2006-09-15

Similar Documents

Publication Publication Date Title
CN1220390C (zh) 图像处理设备和图像处理方法
CN1138420C (zh) 图象处理器、图象数据处理器和可变长度代码解码器
CN1297148C (zh) 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
CN1130638C (zh) 存储装置和存取方法
CN1175670C (zh) 图像信号转换方法和设备以及图像提供系统
CN1265627C (zh) 图像数据处理方法和图像数据处理电路
CN1596547A (zh) 移动图像编码设备、移动图像解码设备、移动图像编码方法、移动图像解码方法、程序和存储程序的计算机可读记录媒介
CN1801945A (zh) 编码视频序列变换装置和编码视频序列变换方法
CN1744720A (zh) 可变长度解码装置
CN1960496A (zh) 运动矢量检测装置
CN1956545A (zh) 图像处理装置、图像处理方法、记录介质和程序
CN1650636A (zh) 编码设备和编码方法、解码设备和解码方法、记录介质以及程序
CN1168322C (zh) 图象编码和解码方法
CN1571988A (zh) 图像处理装置、图像传送装置、图像接收装置和图像处理方法
CN1165181C (zh) 图像解码方法
CN1252646C (zh) 图像处理方法和图像处理装置
CN1835548A (zh) 解码装置、解码方法及其程序产品
CN1649416A (zh) 运动矢量检测装置以及移动图像照相机
CN1171462C (zh) 固体彩色摄像装置
CN1468006A (zh) 图像处理设备和方法、图像显示设备以及移动电子装置
CN1817047A (zh) 用于处理具有排列的不同色彩分量的图像的图像处理装置,图像处理程序,电子照相机,以及图像处理方法
CN1574944A (zh) 动态图像解码装置
CN1215529A (zh) 图像编码装置和图像编码方法及图像解码装置和图像解码方法以及记录媒体
CN1269077C (zh) 图象处理器以及图象处理方法
CN1628465A (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: 20050921

Termination date: 20130306