图象处理器和图像处理程序,以及图象处理方法

文档序号:6584241阅读:213来源:国知局
专利名称:图象处理器和图像处理程序,以及图象处理方法
技术领域
本发明涉及当图象根据按JPEG(联合照片编码专家组)或MPEG(活动图象专家组)等进行压缩的压缩图象数据以块为单位被扩展时,用于对扩展的图象进行滤波处理的处理器、程序和方法,具体地,涉及图象处理器、图象处理程序、和图象处理方法,它们可在图象被译码时简化滤波处理和提高它的速度,以及适用于有效的屏幕效果。
背景技术
JPEG一般称为用于静止图象的压缩技术,以及MPEG一般称为用于活动图象的压缩技术。在这样的图象压缩方法中,一个8×8象素的块作为一个单元被使用以及执行DCT(离散余弦变换)。DCT用来把原先的图象分解成空间频率分量。图象可以通过减小空间冗余信息而被压缩。
顺便提及,当采用JPEG或MPEG时,会产生两种噪声(正如下面讨论的),以及这些噪声会恶化图象质量。即,在JPEG和MPEG中,由于8×8象素的块作为一个处理单元被使用,在某些图象中,块的边界被看作为噪声。这是因为DCT用来去除来自图象的空间频率分量的、相应于直流分量的某些分量,处理是对于每个块执行的,以及亮度的平均值随各个块而改变。边界处的噪声被称为块噪声。
而且,在JPEG和MPEG中执行的DCT中,谐波分量作为来自图象的空间频率分量的冗余信息被去除。因此,噪声在与周围部分具有大的亮度差值的部分上产生。在一块上的亮度有大的变化的情形下,当字符出现在自然图象的背景时,谐波分量由DCT从数据中去除,导致在边界周围的模糊的噪声。这样的噪声被称为飞蚊式噪声。
公开的日本专利No.3-46482揭示了用于减小块噪声和飞蚊式噪声的技术。在该出版物中揭示的技术中(此后,被称为第一惯用的例子),当边界象素被放置成插入具有比第一门限值更大的信号电平差值的相邻的块的边界时,以及当在同一个块中边界象素和与边界象素相邻的象素之间的信号电平差值小于第二门限值时,执行滤波处理。
在这种情形下,在图19上,根据被放置在块的边界的两端的象素排列位置X1和X0和象素排列位置X′0和X′1的信号电平S1,S0,S′0和S′1的差值d0,d1和d2,象素排列位置X0和X′0的信号电平被校正。即,新的信号电平S0-n8w和S′0-new由以下公式得出S0-new=(S1+2·S0+S′0)/4S′0-new=(S0+2·S′0+S′1)/4作为用于减小块噪声和飞蚊式噪声的另一个方法,已经知道在公开的日本专利No.11-98505中揭示的有关MPEG4的VM(验证模式)和技术(此后,被称为第二个惯用的例子)。在第二个惯用的例子中,判断图20的垂直和水平块边界是否处在缺省模式或DC偏置模式,以及对于每个模式执行处理。
在这种情形下,定义象素组S0,S1,和S2,而块边界B1和B2作为基点被使用,以及根据块失真现象的程度按照模式判决值选择地确定去阻塞模式究竟是缺省模式还是DC偏置模式。然后,当模式被判断为缺省模式时,四点DCT核被使用来找出在象素的块边界周围的频率信息。当在模式判决步骤中判断该模式为DC偏置模式时,判断是否需要实行DC偏置模式,以及去除块失真现象(如果必要的话)。
然而,在第一个惯用的例子中,由于只有边界象素被校正,块的失真不能充分地去除。而且,在VM和第二个惯用的例子中,处理被复杂化,以及计算负荷太繁重。
再者,当这样的技术用硬件实现时,由于处理相当复杂,很难减小电路的尺寸。从小型化看,即使图象质量多少有些损失,也希望尽可能简化处理。另外,由于安装的存储器在容量上是有限的,所以希望在滤波处理中计算占用的存储器容量最小化。

发明内容
所以,根据上述的未解决的传统技术的问题,提出了本发明。本发明作为它的第一个目的提出了这样一种图象处理器、图象处理程序、和图象处理方法,它们在图象被译码时可简化滤波处理和提高它的速度,以及适合于实现有效的屏幕效果。而且,本发明作为它的第二个目的提出了这样一种图象处理器、图象处理程序、和图象处理方法,它们在图象被译码时适合于减小在滤波处理中计算占用的存储器容量。
为了达到上述的目的,当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,在该图像压缩中以块为单位执行离散余弦变换和量化,按照本发明的技术方案1的图象处理器这样来对扩展的图象执行滤波处理,以使得对块中的一个象素的滤波算术运算只根据象素的数值和在相邻的块中的任一个象素的数值来进行。
在这样的配置中,当图象根据压缩的图象数据以预定的块为单位被扩展时或之后,对块中的一个象素的滤波算术运算只根据象素的数值和在相邻的块中的任一个象素的数值来进行。
而且,按照本发明的技术方案2的图象处理器这样来执行滤波处理,以使得对于和相邻的块之间的边界相交叉的象素列中的一个象素的滤波算术运算只根据象素的数值和在相邻的块的同一个象素列中的任一个象素的数值来进行。
在这样的配置中,按照滤波处理,对于和边界相交叉的象素列中的一个象素的滤波算术运算只根据象素的数值和在相邻的块的同一个象素列中的任一个象素的数值来进行。
而且,在按照本发明的技术方案1和2的图象处理器中,按照本发明的技术方案3的图象处理器这样来执行滤波处理,以使得对于和相邻的块之间的边界相交叉的象素列中的一个象素的滤波算术运算只根据象素的数值和在相邻的块的同一个象素列中的边界的一个边界象素的数值来进行。
在这样的配置中,按照滤波处理,对于和边界相交叉的象素列中的一个象素的滤波算术运算只根据象素的数值和在相邻的块的同一个象素列中的任一个象素的数值来进行。
此外,在按照本发明的技术方案1到3的任一项的图象处理器中,按照本发明的技术方案4的图象处理器这样来执行滤波处理,使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v7′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”,“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算。
在这样的配置中,按照滤波处理,对于和边界相交叉的象素列,滤波后的象素值v2′到v7′,可以按以上的滤波算术公式进行计算。
而且,在按照本发明的技术方案1到4的任一项的图象处理器中,按照本发明的技术方案5的图象处理器这样来执行滤波处理,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素执行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
在这样的配置中,按照滤波处理,当象素间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素。这里,由于门限值是常数,在滤波处理中不必计算门限值。
另外,在按照本发明的技术方案5的图象处理器中,按照本发明的技术方案6的图象处理器的特征在于,一个用于跟在边界象素和与该边界象素相邻的相邻象素之间的差值进行比较的门限值被设置为大于用于跟一个在边界象素与不同于该相邻象素的象素之间的差值进行比较的门限值。
在这样的配置中,当边界象素与相邻象素之间的差值作比较时,比较是根据一个比用于比较在边界象素与不同于该相邻象素的象素之间的差值的门限值大的门限值来进行的。边界象素和相邻象素分别构成不同的块的边界,以及亮度可以很大地变化。因此,最好把用于比较的门限值设置为大于用于比较其他象素的门限值,以便以相当肯定的方式执行滤波处理。
而且,在按照本发明的技术方案5或6的图象处理器中,按照本发明的技术方案7的图象处理器的特征在于,一个用于比较在边界象素与和边界象素相邻的相邻象素之间的差值的门限值被设置为等于“2n-3”的数值或近似值,而象素具有“2n-1”(n≥4)的最大值,以及一个用于比较在边界象素与不同于相邻象素的象素之间的差值的门限值被设置为等于“2n-4”的数值或近似值。
在这样的配置中,当边界象素与相邻象素之间的差值被比较时,门限值被设置为等于“2n-3”的数值或近似值,而象素具有“2n-1”的最大值,以及根据该门限值进行比较。这里,当门限值被设置为大于一个等于“2n-3”的数值或近似值时,即使不必要,也执行滤波处理。因此,处理负荷会增加以及滤波处理的速度不能提高。相反,当门限值被设置为小于等于“2n-3”的数值或近似值时,即使必要,也不执行滤波处理。因此,不能期望有效的屏幕效果。
而且,当边界象素与不同于相邻象素的象素之间的差值被比较时,门限值被设置为等于“2n-4”的数值或近似值,而象素具有“2n-1”的最大值,以及根据该门限值进行比较。这里,当门限值被设置为大于等于“2n-4”的数值或近似值时,即使不必要,也执行滤波处理。因此,处理负荷会增加以及滤波处理的速度不能提高。相反,当门限值被设置为小于一个等于“2n-4”的数值或近似值时,即使必要,也不执行滤波处理。因此,不能期望有效的屏幕效果。
此外,在按照本发明的技术方案5到7的任一项的图象处理器中,按照本发明的技术方案8的图象处理器这样来执行滤波处理,以使得可以按顺序地移动离开边界的方向进行判断是否应当对象素进行滤波算术运算,判断是从与边界象素相邻的相邻象素开始的,以及当判断不应当对于象素进行滤波算术运算时,不对于象素和以后阶段的象素进行滤波算术运算。
在这样的配置中,按顺序地移动离边界的方向进行判断是否应当对于一个象素进行滤波算术运算,判断是从与边界象素相邻的相邻象素开始的。于是,在判断中,当判断不应当对于象素进行滤波算术运算时,不对于象素和以后阶段的象素进行滤波算术运算。
最初,在是否应当进行滤波算术运算的判断中,必须判断象素之间的差值是否超过门限值,象素范围是从一个象素到一个边界象素。例如,当在目标象素与边界象素之间存在四个象素(包括目标象素与边界象素)时,需要进行三次判断。然而,当按以上的次序进行判断时,除了对目标象素与边界象素的判断以外,判断都已在先前的阶段的象素的判断中进行过。所以,有可能省略对于以后的阶段的象素的判断。所以,当在目标象素的最远的象素与边界象素之间的存在四个象素时,判断最多进行三次就足够了,而通常对于象素列的判断需要进行3!次。
而且,在按照本发明的技术方案1到8的任一项的图象处理器中,按照本发明的技术方案9的图象处理器包括用于工作的存储器装置它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够地贮存容量,用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于该同一个象素列中的以及位于相邻的块的边界上,滤波处理被这样来执行,以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
在这样的配置中,按照滤波处理,其范围从一个象素到在象素列中的边界象素的所有的象素的数据将会从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
这里,用于工作的存储器装置可在任何时间以任何手段存储象素数据。象素数据可以提前被存储,或象素数据可以在处理器运行期间通过从外面输入等方式被存储而不用提前存储象素数据。对于扩展的图象被存储在该图象存储器装置的情形,这也是正确的。此后,这对于技术方案19的图象处理器,技术方案27的图象处理程序和技术方案35的图象处理方法也保持正确的。
而且,在按照本发明的技术方案1到9的任一项的图象处理器中,按照本发明的技术方案10的图象处理器这样来执行滤波处理,从而,对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,则滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2而按照滤波算术公式来进行计算。
在这样的配置中,在滤波处理中,滤波后的象素值v2′到v4′按照滤波算术公式对于与边界交叉的象素列进行计算。而且,滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2而按照滤波算术公式来进行计算。
另外,在按照本发明的技术方案1到9的任一项的图象处理器中,按照本发明的技术方案11的图象处理器这样来执行滤波处理,从而,对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4而按照滤波算术公式来进行计算。
在这样的配置中,在滤波处理中,滤波后的象素值v5′到v7′按照以上的滤波算术公式进行计算。而且,滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4而按照滤波算术公式进行计算。
而且,在按照本发明的技术方案1到11的任一项的图象处理器中,按照本发明的技术方案12的图象处理器这样来执行滤波处理,以使得对于在块中水平方向的象素列和垂直方向的象素列中的一个象素列进行滤波算术运算,然后,对于另一个象素列进行滤波算术运算。
在这样的配置中,按照滤波处理,对于在块中水平方向的象素列和垂直方向的象素列中的一个象素列进行滤波算术运算,然后,对于另一个象素列进行滤波算术运算。
另外,在按照本发明的技术方案1到12的任一项的图象处理器中,按照本发明的技术方案13的图象处理器这样来执行量化处理,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及这样来执行滤波处理,以使得可以根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素来进行滤波算术运算,并且在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用一个象素的数值。
在这样的配置中,按照滤波处理,根据目标象素的数值和相邻象素的数值对一个象素进行滤波算术运算。然后,在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值代替一个象素的数值。
另外,在按照本发明的技术方案13的图象处理器中,按照本发明的技术方案14的图象处理器通过使用常数值作为门限值执行滤波处理。
在这样的配置中,当在一个象素与相邻象素的目标象素之间的差值被比较时,一个常数值被用作为门限值,以及根据该门限值进行比较。这里,由于门限值是常数,在滤波处理中不必计算门限值。
此外,在按照本发明的技术方案14的图象处理器中,按照本发明的技术方案15的图象处理器这样来执行滤波处理,以使得门限值被设置为等于“2n-4”的数值或近似值,而象素具有“2n-1”(n≥4)的最大值。
在这样的配置中,当在一个象素与相邻象素的目标象素之间的差值被比较时,门限值被设置为等于“2n-4”的数值或近似值,而象素具有“2n-1”的最大值,以及根据该门限值进行比较。这里,当门限值被设置为大于等于“2n-4”的数值或近似值时,相邻象素的数值不用目标象素的数值代替,即使该数值需要被代替的话。相反,当门限值被设置为小于等于“2n-4”的数值或近似值时,相邻象素的数值用目标象素的数值代替,即使该数值不需要被代替的话。因此,不能期望有效的屏幕效果。
而且,在按照本发明的技术方案1到15的任一项的图象处理器中,按照本发明的技术方案16的图象处理器这样来执行量化处理,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及这样来执行滤波处理,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个、或一个相邻象素的数值对一个象素进行滤波算术运算。
在这样的配置中,按照滤波处理,根据目标象素的数值和与目标象素相邻的四个、二个、或一个相邻象素的数值对一个象素进行滤波算术运算。
而且,在按照本发明的技术方案1到16的任一项的图象处理器中,按照本发明的技术方案17的图象处理器这样来执行量化处理,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及这样来执行滤波处理,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
在这样的配置中,按照滤波处理,通过把目标象素的数值除以预定值、把与目标象素相邻的一个相邻象素的数值除以预定值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
而且,按照本发明的技术方案18的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,对扩展的图象执行滤波处理,在所述图象压缩中是以块为单位执行离散余弦变换和量化的,以及这样来执行滤波处理,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
在这样的配置中,执行滤波处理,以使得当象素之间的差值不超过门限值时,对于一个象素进行滤波算术运算,象素范围是从一个象素到位于与相邻的块的边界交叉的同一个象素列中的边界象素。在这里,由于门限值是常数,在滤波处理中不必计算门限值。
而且,按照本发明的技术方案19的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,对扩展的图象执行滤波处理,在该图象压缩中是以块为单位执行离散余弦变换和量化的,所述处理器包括用于工作的存储器装置,它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够的贮存容量,用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中间离块的边界最远的象素,到这样一个边界象素,它是在同一个象素列中的以及位于相邻的块的边界上,滤波处理被这样来执行,以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
在这样的配置中,按照滤波处理,其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
另外,按照本发明的技术方案20的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,对扩展的图象执行滤波处理,在该图象压缩中是以块为单位执行离散余弦变换和量化的,以及滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′,通过使用v4到v7作为v5,v4,v3,和v2而按照滤波算术公式进行计算。
在这样的配置中,按照滤波处理,滤波后的象素值v2′到v4′按滤波算术公式对于与边界交叉的象素列进行计算。而且,滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式进行计算。
另外,按照本发明的技术方案21的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或之后,对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样来执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
在这样的配置中,在滤波处理中,滤波后的象素值v5′到v7′按以滤波算术公式对于与边界交叉的象素列进行计算。而且,滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4来按照滤波算术公式进行计算。
而且,按照本发明的技术方案22的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用这一个象素的数值。
在这样的配置中,按照滤波处理,根据目标象素的数值和相邻象素的数值对一个象素进行滤波算术运算。然后,在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用这一个象素的数值。
而且,按照本发明的技术方案23的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
在这样的配置中,按照滤波处理,根据目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
另外,按照本发明的技术方案24的图象处理器是这样一个处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果的高频分量的量化,以及滤波处理被这样执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
在这样的配置中,按照滤波处理,通过把目标象素的数值除以预定值、把与目标象素相邻的一个相邻象素的数值除以预定值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
同时,为了达到上述的目的,按照本发明的技术方案25的图象处理器程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,其中该图象压缩是以块为单位执行离散余弦变换和量化而实现的,以及这样来执行滤波处理,以使得只根据象素的数值和在相邻的块中的任一个象素的数值来对该块中的一个象素进行滤波算术运算。
在这样的配置中,当从计算机中读出程序以及由计算机执行处理时,得到与技术方案1的图象处理器相同的效果。
而且,按照本发明的技术方案26的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及这样来执行滤波处理,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的边界象素,以及一个常数值被用作为门限值。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案18的图象处理器相同的效果。
而且,按照本发明的技术方案27的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,该计算机包括用于工作的存储器装置,它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够的贮存容量,以用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于同一个象素列中以及位于相邻的块的边界上,滤波处理被这样执行以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案19的图象处理器相同的效果。
而且,按照本发明的技术方案28的图象处理程序是这样一个程序,用于当图象基于通过图象压缩,在该图象压缩中以块为单位执行离散余弦变换和量化,从而被压缩的压缩图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,以及滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式进行计算。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案20的图象处理器相同的效果。
另外,按照本发明的技术方案29的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案21的图象处理器相同的效果。
而且,按照本发明的技术方案30的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不使用一个象素的数值。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案22的图象处理器相同的效果。
另外,按照本发明的技术方案31的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案23的图象处理器相同的效果。
而且,按照本发明的技术方案32的图象处理程序是这样一个程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果的高频分量的量化,以及滤波处理被这样执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
在这样的配置中,当从计算机中读出程序以及由计算机按读出的程序执行处理时,得到与技术方案24的图象处理器相同的效果。
同时,为了达到上述的目的,按照本发明的技术方案33的图象处理方法是一种用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理的方法,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样执行,以使得只根据象素的数值和在相邻的块的中任一个象素的数值对该块中的一个象素进行滤波算术运算。
而且,按照本发明的技术方案34的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样执行,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
而且,按照本发明的技术方案35的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,用于工作的存储器装置可提供地被连接到用于存储扩展的图象的图象存储器装置,滤波处理被这样执行以使得对于其范围从一个象素到在象素列中的边界象素的所有的象素,数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,用于工作的存储器装置具有足够地贮存容量,以用于存储所有的这些象素的数据,其范围从这样一个象素,它位于与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于同一个象素列中以及位于相邻的块的边界上,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
此外,按照本发明的技术方案36的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式进行计算。
另外,按照本发明的技术方案37的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,以及滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
而且,按照本发明的技术方案38的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不利用一个象素的数值。
而且,按照本发明的技术方案39的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中通过执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
另外,按照本发明的技术方案40的图象处理方法是这样一种方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,以及滤波处理被这样执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。


图1是可应用本发明的计算机系统的配置的方框图;图2显示去阻塞滤波处理的原理;图3是显示象素列PG1和PG2的每个象素的数值的直方图;图4是去阻塞滤波处理的流程图;图5是步骤S102的滤波处理的流程图;图6是步骤S104的滤波处理的流程图;图7显示去振铃滤波处理的原理;图8是去振铃滤波处理的流程图;图9是关于块的右上方区域的象素数值读处理的流程图;图10是关于块的左上方区域的象素数值读处理的流程图;图11是步骤S240的滤波运行处理的流程图;图12显示象素数值v1到v8被重新安排的情形;图13是显示象素列PG1的每个象素的数值的直方图;图14是关于块的右上方区域的象素数值读处理的流程图;图15是关于块的左上方区域的象素数值读处理的流程图;图16是步骤S270的滤波运行处理的流程图;图17是显示象素列PG1的每个象素的数值的直方图;图18显示去振铃滤波处理的原理;图19显示由传统的图象处理系统执行的滤波处理;以及图20显示在传统的图象处理系统中的所谓的象素。
具体实施例方式
此后,将按照附图讨论本发明的第一实施例。图1到8是显示按照本发明的第一实施例的图象处理器、图象处理程序、和图象处理方法的图。
在本实施例中,按照本发明的图象处理器、图象处理程序、和图象处理方法被应用于以下的情形如图1所示,在计算机100中,当按MPEG格式被压缩的活动的图象数据被运行在多任务模式的OS(操作系统)译码时,重现活动的图象,对于重现的图象执行用于减小块噪声的滤波处理和用于减小飞蚊式噪声的滤波处理。此后,前一个滤波处理将称为去阻塞滤波处理,以及后一个滤波处理将称为去振铃滤波处理。
首先,按照图1讨论可应用本发明的计算机系统的配置。图1是显示可应用本发明的计算机系统的配置的方框图。
如图1所示,计算机100包括CPU 30,用于按照控制程序控制系统的计算和整个功能;ROM 32,用于把CPU 30的控制程序等预先存储在预定的区域;RAM 34,用于存储从ROM 32读出的数据等和对于CPU30的计算处理过程所需要的计算结果;LCDC 36,用于把RAM 34的特定的区域中的数据变换成图象信号以及把信号输出到LCD(液晶显示器)44;译码器38,用于译码活动的图象数据;后处理器40,用于读出RAM 34的特定的区域中的数据,以执行去阻塞滤波处理和去振铃滤波处理;RGB变换部分42,用于对来自后滤波器40的数据执行彩色变换;以及LCD 44,用于根据来自RGB变换部分42的数据提供显示。然后,CPU 30,ROM 32,RAM 34,LCDC 36和译码器38通过总线39互相连接,总线39是用于传送数据的信号线,从而使得数据可被发送和接收。
RAM 34具有特定的区域VRAM 35,用于存储被显示在LCD 44上的数据。VRAM 35可以由后滤波器40和连接到总线39的装置(诸如CPU 30等等)独立地访问。而且,VRAM 35具有至少两个区域,能够存储LCD 44的一个屏幕的图象数据。一个区域被用来允许译码器38扩展活动的图象数据,另一个区域被用来允许后滤波器40读出,这些区域按预定的时间间隔被交替地切换。
LCDC 36通过控制后滤波器40和RGB变换42,在预定的时间间隔顺序地从引导的地址读出VRAM 35的数据,以及LCDC 36把读出的数据变换成图象信号和把信号输出到LCD 44。即,后滤波器40响应于LCDC36的控制,从VRAM 35读出数据,对读出的数据执行去阻塞滤波处理和去振铃滤波处理,以及把数据输出到RGB变换部分42。RGB变换部分42响应于LCDC 36的控制,对来自后滤波器40的数据执行RGB变换,以及把数据输出到LCD 44。
译码器38在每个预定的时间T(例如,20ms)顺序译码被包含在活动图象数据中的图象数据。具体地,译码器38响应于来自CPU 30的译码起动命令,读出按MPEG格式被压缩的活动图象数据,以及根据读出的活动图象数据译码图象数据到VRAM 35。在VRAM 35中,通过使用图象数据(YUV数据)来扩展图象数据,YUV数据表示在LCD 44中作为一个单位的象素的色彩度。而且,在译码器38中,执行在按MPEG格式的译码运行中间的IDCT(逆离散余弦变换)和活动补偿。此外,按MPEG格式的压缩和译码是与传统的例子的压缩和译码相同的。
接着,将详细讨论后滤波器40的结构。
在后滤波器40中,结构和内部处理是用硬件实现的。后滤波器40中包括能够存储17个象素的图象数据的缓存器。在要把图象数据从VRAM 35读出到缓存器时,根据读出的图象数据对于每个块处理象素(在本实施例中,64个象素组成水平方向8个象素和垂直方向8个象素的方块矩阵)。具体地,对于从VRAM 35读出的图象数据执行去阻塞滤波处理,以及对经受去阻塞滤波处理的图象数据执行去振铃滤波处理。此外,滤波处理的次序并没有特别的限制。可以执行这两种处理,或可以选择地执行一种处理。当选择地执行处理时,可以通过设定软件或硬件,或根据图象的重现速度、质量、或数据容量动态地设定,来作出选择。
下面按照图2和3详细讨论本发明的去阻塞滤波处理的原理。图2和3是用于说明去阻塞滤波处理的图。
在图2上,对于与在相邻的块之间的边界B1交叉的象素列PG1,在图上边界B1的左面的象素数值可按接近于边界B1的次序而被称为v4,v3,v2,和v1,以及在图上边界B1的右面的象素数值可按接近于边界B1的次序而被称为v5,v6,v7,和v8。而且,同样地,对于与在相邻的块之间的边界B2交叉的象素列PG2,在图上边界B2的上面的象素数值可按接近于边界B2的次序而被称为v4,v3,v2,和v1,以及在图上边界B2的下面的象素数值可按接近于边界B2的次序而被称为v5,v6,v7,和v8。
在这种情形下,对于象素列PG1和PG2,在去阻塞滤波处理后的象素数值按如下所示的算术公式(1)到(8)进行计算。
v1′=v1...(1)v2′=(v2+v5)/2+(v2-v5)/4 ...(2)v3′=(v3+v5)/2+(v3-v5)/8 ...(3)v4′=(v4+v5)/2 ...(4)v5′=(v5+v4)/2+(v5-v4)/8 ...(5)v6′=(v6+v4)/2+(v6-v4)/4 ...(6)v7′=(v7-(v7-v4)/8 ...(7)v8′=v8...(8)以上的滤波算术公式(1)到(8)是如下所示地推导的。图3是表示象素列PG1和PG2的象素数值的直方图。
如图3(A)所示,在相邻的块A和B之间,由于直流分量在压缩期间通过DCT处理已从图象的空间频率分量中被去除,电平差值是由亮度平均值造成的。电平差值导致块噪声。这里,为了减小块噪声,认为块A和B的图象是平滑地连接的。块A的四个象素的平均值VA和块B的四个象素的平均值VB由下面所示的公式(9)和(10)进行计算。
VA=(v1+v2+v3+v4)/4 ...(9)VB=(v5+v6+v7+v8)/4 ...(10)假设象素值vi离平均值VA和VB的偏移是δvi,象素值vi由下面所示的公式(11)和(12)代表。
vi=vA+δvi(i=1-4)...(11)vi=VB+δvi(i=5-8)...(12)为了平滑连接块A和B的图象,优选地设置平均值VA和VB之间的差值为“0”。如图所示,优选地按逐步的方式校正象素值vi。每步之间的差值Δ如下所示地进行计算。
Δ=(VB-VA)/8 ...(13)因此,象素值V5的校正值v5′由下面所示的公式(14)进行计算。
v5′=(VB+VA)/2+Δ+δv5=(5VB+3VA)/8+δv5={5(v5-δv5)+3(v4-δv4)}/8+δv5={5v5+3v4+3(δv5-δv4)}/8 ...(14)为了计算校正值,需要按照以上的公式(14)进行计算。在以上的公式(14)中,假设(δv5-δv4)是小的,可以忽略,因此,得到以下的近似表示式(15)。
v5′=5v5+3v4/8 ...(15)而且,同样地,在块B的另一个象素中,校正值v6′到v8′可以由下面所示的公式(16)到(18)进行计算。
v6′=(VB+VA)/2+2Δ+δv6={6v6+2v4+2(δv6-δv4)}/8 ...(16)v7′=(VB+VA)/2+3Δ+δv7={7v7+v4+(δv7-δv4)}/8 ...(17)v8′=(VB+VA)/2+4Δ+δv8=v8...(18)所以,得到以下的近似表示式(19)和(20)。
v6′=(3v6+v4)/4 ...(19)v7′=(7v7+v4)/8 ...(20)
而且,对于块A中的象素,计算是相同的,除了参考的象素具有v5的数值以外。校正值v1′到v4′可以由下面所示的公式(21)到(24)进行计算。
v1′=(VB+VA)/2-3Δ+δv1={7v1+v5+(δv1-δv5)}/8...(21)v2′=(VB+VA)/2-2Δ+δv2={6v2+2v5+2(δv2-δv5)}/8 ...(22)v3′=(VB+VA)/2-Δ+δv3={5v3+3v5+(δv3-δv5)}/8 ...(23)v4′=(VB+VA)/2+δv4=(v4+v5+2δv4)/2...(24)所以,得到以下的近似表示式(25)和(28)。
v1′=v1...(25)v2′=(3v2+v5)/4...(26)v3′=(5v3+3v5)/8 ...(27)v4′=(v4+v5)/2 ...(28)而且,在实际计算中,由于比特移位比起除法更多地增加处理速度,公式(25)到(28),(15),(19),(20),和(18)在使用之前被转换成公式(1)到(8)。分别对水平方向的象素列和垂直方向的象素列执行这样的去阻塞滤波处理。运算量包括两次加法和减法以及四次比特移位。当采用硬件时,比特移位不会导致很重的负荷。在惯用的后处理器中,一个象素具有7×7象素的最大加权平均。因此,本实施例比起惯用的后滤波器显著地减小运算量。
按照本发明的去阻塞滤波处理可以通过图4的流程图显示的处理过程来实现。图4是去阻塞滤波处理的流程图。
当去阻塞滤波处理由后滤波器单元40执行时,控制首先进到步骤S100,如图4所示。
在步骤S100,从LCDC 36得到导引块的起始地址,控制进到步骤S102,对属于块的右上方区域的象素列执行去阻塞滤波处理,控制进到步骤S104,对属于块的左上方区域的象素列执行去阻塞滤波处理,控制进到步骤S106,对属于块的右下方区域的象素列执行去阻塞滤波处理,控制进到步骤S108,对属于块的左下方区域的象素列执行去阻塞滤波处理,以及控制进到步骤S110。
在步骤S110,确定对于形成一个图象屏幕的所有的块是否已完成从步骤S102到步骤S108的处理。如果确定所有的块已全部被处理(是),则一系列处理结束。如果确定还没有完成(否),则控制进到步骤S112,从LCDC 36得到下一个块的起始地址,由此,控制进到步骤S102,然后,下面参照图5详细描述步骤S102的滤波处理。图5是步骤S102的滤波处理的流程图。
步骤S102的滤波处理是对属于块的右上方区域的象素列执行的去阻塞滤波处理。当在步骤S102执行处理后,控制首先进到步骤200,如图5所示。
在步骤S200,按照在步骤S100和S112得到的起始地址,计算在块的右上方区域中的引导象素列的地址,控制进到步骤S202,那些在要对其执行去阻塞处理的象素列中在水平方向运行所需要的象素数据和在垂直方向运行所需要的象素数据,可以按照象素列的计算的地址被集中地读出到缓存器,以及控制进到步骤S204。例如,当在要对其执行去阻塞处理的象素列是从顶部向下的第三行时,象素数据包括总共17个象素,也就是,读出与块的右上方的象素相邻的四个从右到左的象素,在该四-象素列下面两行的八个象素,与上面相邻的块的右下方的象素相邻的四个从右到左的象素,以及在右面相邻的块的左上方象素下面两行的象素。
然后,在步骤S204,S208,和S212中,确定是否要对每个象素执行去阻塞滤波处理。关于是否要对每个象素执行去阻塞滤波处理的判决是根据在相邻的象素之间的差值实行的。按照本发明的去阻塞滤波处理是根据在相邻的块之间的边界象素的数值被执行的。如果在块之间的边界上有大的边缘,则在校正后在轮廓上生成污斑或阴影。为了避免这一点,证实直到块间的边界上,数据没有大的差值。如果有台阶式差值,则不对相关的象素执行去阻塞滤波处理。在水平方向和垂直方向上实行该判决。
在步骤S204,确定在v4与v5之间的差值的绝对值是否大于常数值C2。如果确定在v4与v5之间的差值的绝对值等于或小于常数值C2(否),则控制进到步骤S206。在象素值的最大值是“255”的假设下,常数值C2被设置为“32”。如果常数值C2被设置为大于“32”,则虽然并不需要,仍执行滤波处理,由此,会增加处理负荷以及在高速度下执行滤波处理造成失败。另一方面,如果常数值C2被设置为小于“32”,则虽然需要,也不执行滤波处理,由此,不能得到有效的屏幕效果。
在步骤206,用以上的公式(4)执行滤波算术运算,使用v4与v5来计算v4′,控制进到步骤S208,确定在v3与v4之间的差值的绝对值是否大于常数值C1。如果确定在v3与v4之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S210。在象素值的最大值是“255”的假设下,常数值C1被设置为“16”。如果常数值C1被设置为大于“16”,则虽然不需要,仍执行滤波处理,由此,增加处理负荷以及在高速度下执行滤波处理造成失败。另一方面,如果常数值C1被设置为小于“16”,则虽然需要,也不执行滤波处理,由此,不能得到有效的屏幕效果。
在步骤S210,用以上的公式(3)执行滤波算术运算,使用v3与v5来计算v3′,控制进到步骤S212,确定在v2与v3之间的差值的绝对值是否大于常数值C1。如果确定在v2与v3之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S214,用以上的公式(2)执行滤波算术运算,使用v2与v5来计算v2′,控制进到步骤S216。
在步骤S216,对垂直方向的象素列执行去阻塞滤波处理。在这个去阻塞处理中,如后面描述的,以与步骤S306到S314中相同的方式执行运行。
然后,控制进到步骤S218,属于在缓存器的象素数据中的块的右上部分区域的象素的数据被输出到RGB变换单元42,控制进到步骤S220,以及确定对于属于块的右上部分区域的所有的象素列是否已完成步骤S204到步骤S218中的处理。如果已完成对于所有的象素列的处理(是),则一系列处理结束,继续初始的处理过程。如果确定没有完成对于所有的象素列的处理(否),则控制进到步骤S222,按照在步骤S102和S112得到的起始地址,计算属于块的右上部分区域的下一个象素列的地址,控制进到步骤S202。
另一方面,如果在步骤S204确定v4与v5之间的差值的绝对值大于常数值C2(是),如果在步骤S208确定在v3与v4之间的差值的绝对值大于常数值C1(是),如果在步骤S212确定在v2与v3之间的差值的绝对值大于常数值C1(是),则控制进到步骤S216。
在步骤S106的滤波处理中在水平方向上的处理类似于在步骤S204到S214中的处理,以及在步骤S104的滤波处理中在垂直方向上的处理类似于在步骤S216中的处理。
然后,参照图6详细描述步骤S104中的滤波处理。图6是步骤S104的滤波处理的流程图。
步骤S104的滤波处理是对属于块的左上部分区域的象素列执行的去阻塞滤波处理。当在步骤执行处理时,控制首先进到步骤S300,如图6所示。
在步骤S300,按照在步骤S100和S112得到的起始地址,计算属于块的左上部分区域的引导象素列的地址,控制进到步骤S302,在要对其执行去阻塞处理的象素列中在水平方向运行所需要的象素数据和在垂直方向运行所需要的象素数据,按照象素列的计算的地址被读出到缓存器,以及控制进到步骤S304。
在步骤304,确定在v5与v4之间的差值的绝对值是否大于常数值C2。如果确定在v5与v4之间的差值的绝对值等于或小于常数值C2(否),则控制进到步骤S306。用以上的公式(5)执行滤波算术运算,使用v5与v4来计算v5′,控制进到步骤S308,确定在v6与v5之间的差值的绝对值是否大于常数值C1。如果确定在v6与v5之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S310。
在步骤310,用以上的公式(6)执行滤波算术运算,使用v6与v4来计算v6′,控制进到步骤S312,确定在v7与v6之间的差值的绝对值是否大于常数值C1。如果确定在v7与v6之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S314。用以上的公式(7)执行滤波算术运算,使用v7与v4来计算v7′,控制进到步骤S316。
在步骤S316,对垂直方向的象素列执行去阻塞滤波处理。在这个去阻塞处理中,以与步骤S306到S314中的相同的方式执行运行。
然后,控制进到步骤S318,属于在缓存器的象素数据中的块的左上部分区域的象素的数据被输出到RGB变换单元42,控制进到步骤S320,以及确定对于属于块的左上部分区域的所有的象素列是否已完成步骤S304到步骤S318中的处理。如果已完成对于所有的象素列的处理(是),则一系列处理结束,继续初始的处理过程。如果确定没有完成对于所有的象素列的处理(否),则控制进到步骤S322,按照在步骤S100和S112得到的起始地址,计算属于块的左上部分区域的下一个象素列的地址,控制进到步骤S302。
另一方面,如果在步骤S304确定在v5与v4之间的差值的绝对值大于常数值C2(是),如果在步骤S308确定在v6与v5之间的差值的绝对值大于常数值C1(是),如果在步骤S312确定在v7与v6之间的差值的绝对值大于常数值C1(是),则控制进到步骤S316。
在步骤S108的滤波处理中在水平方向上的处理类似于在步骤S304到S314中的处理,以及在步骤S106,S108的滤波处理中在垂直方向上的处理类似于在步骤S204到S214中的处理。
然后,参照图7详细描述按照本发明的去振铃滤波处理。图7显示去振铃滤波处理的原理。
在图7上,其上要执行去振铃滤波处理的目标象素的数值被设为v0,以及与目标象素相邻的象素的那些数值,对于左上象素、上方象素、右上象素、左面象素、右面象素、左下象素、下方象素、和右下象素,分别被设为v1到v8。
在这种情形下,在对于目标象素进行去振铃滤波处理后的数值v0′按如下的滤波运算公式(30)进行计算。
V=(v1+v2+v3+v4+v5+v6+v7+v8)/8...(29)v0′=(v0+V)/2 ...(30)然而,当检测到边缘时,vi(i=1到8)用v0代替。vi用v0代替是与当检测到边缘时不执行去阻塞滤波处理相同的理由。在如图7所示的例子中,v7和v8用v0代替。
按照本发明的振铃滤波处理可以通过按照图8所示的流程图的处理过程来实现。图6是振铃滤波处理的流程图。
当由后滤波器单元40执行振铃滤波处理时,控制进到步骤S400,如图8所示。
在步骤S400,从LCDC 36得到导引目标象素的地址,控制进到步骤S402,按照目标象素的地址把目标象素和相邻象素的数值v0到v8读出到缓存器,控制进到步骤S404,变量V被设置为“0”,变量被设置为“1”,以及控制进到步骤406。
在步骤406,确定在vi(v的下标i由变量i的数值规定)与v0之间的差值的绝对值是否大于常数值C3。如果确定在vi与v0之间的差值的绝对值大于常数值C3(是),则控制进到步骤S408。在象素值的最大值是“255”的假设下,常数值C3被设置为“16”。如果常数值C3被设置为大于“16”,则虽然相邻象素的数值vi要用目标象素的数值v0代替,但它仍不能被代替。结果,不能得到有效的屏幕效果。另一方面,如果常数值C3被设置为小于“16”,则虽然不需要,相邻象素的数值vi仍被目标象素的数值v0代替。结果,不能得到有效的屏幕效果。
在步骤S408,相邻象素的数值vi用目标象素的数值v0代替,控制进到步骤410,相邻象素的数值vi向右移位3比特,执行被除以“8”的除法,控制进到步骤412,一个通过把相邻象素的数值vi添加到变量V的数值而得到的数值被设为变量V的新的数值,控制进到步骤S414,一个通过把“1”添加到变量i的数值而得到的数值被设为新的数值,控制进到步骤S416。
在步骤S416,确定变量i的数值是否小于9。如果确定变量i的数值等于或大于9(否),则控制进到步骤S418,目标象素的数值v0被添加到变量V的数值,一个通过把和值向右移位1比特而得到的数值被计算为数值v0′,在对于目标象素执行去振铃滤波处理后,控制进到步骤S420,计算的数值v0′被输出到RGB变换单元42,以及控制进到步骤S422。
在步骤S422,确定是否已对于形成一幅图象屏幕的所有的象素完成从步骤402到步骤420的处理。如果确定所有的象素已全部被处理(是),则一系列处理结束。如果确定还没有完成(否),则控制进到步骤S424,从LCDC 36得到下一个目标象素的地址,由此,控制进到步骤S402,如果在步骤S416确定变量i的数值小于9(是),则控制进到步骤S406。
另一方面,如果在步骤406确定在vi与v0之间的差值的绝对值等于或小于常数值C3(否),则控制进到步骤S410。
下面描述按照本发明的第一实施例的运行。
首先,参照对于图1所示的象素列PG1的每个象素执行去阻塞滤波处理的例子描述其中执行去阻塞滤波处理的情形。
当对于象素列PG1的每个象素执行去阻塞滤波处理时,首先执行步骤S100,S102,S200和S202的处理,然后计算在块的右上部分区域中的象素列PG1的地址,那些在象素列PG1中在水平方向操作所需要的象素数据和在垂直方向操作所需要的象素数据,可以按照象素列PG1的计算的地址被集中地读出到缓存器。因为象素列PG1是从顶部向下的第三行,可以读出总共包括17个象素的象素数据,也就是,与块的右上方的象素相邻的四个从右到左的象素,在该四-象素列下面两行的八个象素,与上面相邻的块的右下方的象素相邻的四个从右到左的象素,以及在右面相邻的块的左上方象素下面两行的象素。
首先,在步骤S204后,确定是否要对象素值v4执行去阻塞滤波处理。也就是,如果在v4与v5之间的差值的绝对值等于或小于C2,则在步骤S206后,通过以上的公式(4)根据v4与v5来执行滤波运算,以及计算v4′。如果确定不要对v4执行去阻塞滤波处理,则不对于象素值v2与v3执行去阻塞滤波处理。
如果对象素值v4执行去阻塞滤波处理,则在步骤208后,确定是否要对象素值v3执行去阻塞滤波处理。也就是,如果在v3与v4之间的差值的绝对值等于或小于C1,则在步骤S210后,通过以上的公式(3)根据v3与v5执行滤波运算,以及计算v3′。如果确定不要对v3执行去阻塞滤波处理,则不对于象素值v2执行去阻塞滤波处理。
如果对象素值v3执行去阻塞滤波处理,则在步骤212后,确定是否要对象素值v2执行去阻塞滤波处理。也就是,如果在v2与v3之间的差值的绝对值等于或小于C1,则在步骤S214后,通过以上的公式(2)根据v2与v5执行滤波运算,以及计算v2′。
在步骤S216和S218后,对于象素列PG1中左半部分象素按垂直方向执行去阻塞滤波处理,以及处理过程按水平方向和垂直方向完成。然后,在缓存器中的象素数据方面,属于块的右上部分区域的、缓存器中的象素数据被输出到RGB变换单元42。
因此,完成了对于象素列PG1的左半部分的象素的去阻塞滤波处理。
首先执行在步骤S100,S104,S300和S302中的处理,然后计算在块的左上部分区域中的象素列PG1的地址,那些在象素列PG1中在水平方向操作所需要的象素数据和在垂直方向操作所需要的象素数据,可以按照象素列PG1的计算的地址被集中地读出到缓存器。因为象素列PG1是从顶部向下的第三行,可以读出总共包括17个象素的象素数据,也就是,与块的左上方的象素相邻的四个从左到右的象素,在该四-象素列下面两行的八个象素,与上面相邻的块的左下方的象素相邻的四个从左到右的象素,以及在左面相邻的块的右上方象素下面两行的象素。
首先,在步骤S304后,确定是否要对象素值v5执行去阻塞滤波处理。也就是,如果在v5与v4之间的差值的绝对值等于或小于C2,则在步骤S306后,通过以上的公式(5)根据v5与v4执行滤波运算,以及计算v5′。如果确定不要对v5执行去阻塞滤波处理,则不对于象素值v6与v7执行去阻塞滤波处理。
如果对象素值v5执行去阻塞滤波处理,则在步骤308后,确定是否要对象素值v6执行去阻塞滤波处理。也就是,如果在v6与v5之间的差值的绝对值等于或小于C1,则在步骤S310后,通过以上的公式(6)根据v6与v4执行滤波运算,以及计算v6′。如果确定不要对v6执行去阻塞滤波处理,则不对于象素值v7执行去阻塞滤波处理。
如果对象素值v6执行去阻塞滤波处理,则在步骤312后,确定是否要对象素值v7执行去阻塞滤波处理。也就是,如果在v7与v6之间的差值的绝对值等于或小于C1,则在步骤S314后,通过以上的公式(7)根据v7与v4执行滤波运算,以及计算v7′。
在步骤S316和S318后,对于象素列PG1中右半部分象素按垂直方向执行去阻塞滤波处理,以及处理过程按水平方向和垂直方向完成。然后,在缓存器中的象素数据方面,属于块的左上部分区域的、缓存器中的象素数据被输出到RGB变换单元42。
因此,完成了对于象素列PG1的右半部分的象素的去阻塞滤波处理。
下面描述其中执行去振铃滤波处理的情形。
当执行去振铃滤波处理时,首先在步骤S400到S404,执行处理过程,然后按照目标象素的地址把目标象素和相邻象素的数值v0到v8读出到缓存器。
然后,在重复步骤S406到S416的处理过程后,如果在vi与v0之间的差值的绝对值大于常数值C3,则每个相邻象素的数值vi用目标象素的数值v0代替。否则,相邻象素的数值vi使用原先的值。相邻象素的数值vi向右移位3比特,一个通过把相邻象素的数值vi添加到变量V的数值而得到的数值被设为变量V的新的数值。也就是,每个相邻象素的数值vi被除以8,以及把商数相加在一起。因此,上面提到的算术运算得到相邻象素的平均值V。
然后,在步骤S418和步骤S420后,目标象素的数值v0添加到变量V的数值,以及和值向右移位1比特,以及得出的结果作为目标象素滤波处理后的数值v0′,得出的数值v0′被输出到RGB变换单元42。
因此,按照本发明,去阻塞滤波处理通过使用滤波运算公式(2)到(7)来计算在对于垂直于相邻块之间边界的象素列执行去阻塞滤波处理后的象素的数值v2′到v7′。
因此,当对于一个象素执行滤波运算时,不使用多个象素的平均值,而只使用两个象素的数值。所以,当与传统的技术相比较时,去阻塞滤波器处理可被简化。例如,在本实施例中,当去阻塞滤波处理用硬件实现时,可以得到更小的电路,以及当它用软件实现时,可以减小程序的规模。而且,由于运算是通过使用象素的数值、同一个象素列的象素的数值和相邻块的边界象素的加法和减法,以及通过移位(除法,其中除数是2的整倍数)而执行的,去阻塞滤波处理可被进一步简化,以及可以在一定程度上实现有效的屏幕效果。
另外,在按照本实施例的去阻塞滤波处理中,当在象素与在同一个象素列中和在相邻的块的边界上的每个象素之间的差值不超过门限值C1和C2(对于它使用常数值)时,滤波运算是对于垂直于相邻块的边界的象素列的象素执行的。
因为门限值C1和C2是常数值,在去阻塞滤波处理期间不必计算门限值C1和C2。如果象素的任何差值超过门限值C1和C2,则不执行滤波处理。所以,除了进一步简化去阻塞滤波处理以外,比起传统技术来说,去阻塞滤波处理可以以相对较高的速度被执行。
另外,按照本实施例,用于与在边界象素和与边界象素相邻的象素之间的差值进行比较的门限值C2被设置为大于用于与在边界象素和不同于相邻象素的象素之间的差值进行比较的门限值C1。
因此,执行的去阻塞滤波处理的特征在于,将块间的亮度的平均值的不同考虑了进去,由此,实现更有效的屏幕效果。
而且,按照本实施例,在象素的最大值是255的假设下,用于与在边界象素和与边界象素相邻的象素之间的差值进行比较的门限值C2被设置为32,以及用于与在边界象素和不同于相邻象素的象素之间的差值进行比较的门限值C1被设置为16。
因此,执行的去阻塞滤波处理的特征在于,将块间的亮度的平均值的不同考虑了进去,由此,实现更有效的屏幕效果。
而且,在按照本发明的去阻塞滤波处理中,确定是否要对于一个象素执行滤波运算。如果确定处理是按远离边界象素和与边界象素相邻的象素的方向执行以及对这些象素不执行滤波运算,则对于象素和以后的象素不执行滤波运算。
因此,由于关于确定是否对象素执行滤波运算的频率可被减小,去阻塞滤波处理可以以更高的速度被执行。
按照本实施例,后滤波器单元40包括缓存器,能够存储17象素的象素数据,以及去阻塞滤波处理是通过从VRAM 35中把从一个象素到一个边界象素的一个象素列中所有的象素数据集中地读出到缓存器以及执行滤波运算而被执行的。
因此,由于在对于每个象素执行去阻塞滤波处理时必要的象素数据可被集中地读出到缓存器和被处理,去阻塞滤波处理可以以更高的速度执行。
而且,在按照本实施例的去阻塞滤波处理中,滤波运算是对于在块的水平方向和垂直方向中的一个方向上的象素列执行的,然后是对于在另一个方向上的象素列执行的。
由于去阻塞滤波处理是对于在块的水平方向和垂直方向上的象素列执行的,可以实现更有效的屏幕效果。
另外,在按照本实施例的去阻塞滤波处理中,滤波运算是对于要被执行运算的目标象素的数值和对于与目标象素相邻的象素的数值执行的。如果在滤波运算时在相邻象素之一与目标象素之间的差值超过门限值C3,则该象素的数值可以用目标象素的数值代替。
因此,不管在每个相邻象素与目标象素之间的差值是否超过门限值C3,在计算相邻象素的平均值时使用的除数是常数(8),以及除数是2的整倍数,运算可以通过比特移位而被执行。所以,与传统技术相比较,去振铃滤波处理可被简化。例如,在本实施例中,当去振铃处理用硬件实现时,可以得到更小的电路,以及当它用软件实现时,可以减小程序尺寸。
而且,按照本实施例,在去振铃滤波处理中,使用常数值作为门限值C3。
因此,由于门限值C3是常数值,在去振铃滤波处理期间,不必要计算门限值C3。所以去振铃滤波处理可被进一步简化。
按照本实施例,在去振铃滤波处理中,在象素的最大值是255的假设下,门限值C3被设置为16。
因此,可以在一定程度上实现有效的屏幕效果。
而且,在按照本实施例的去振铃滤波处理中,对象素执行的滤波运算是通过把要被执行运算的目标象素的数值除以8、把与目标象素相邻的象素的数值除以8、以及把商数相加在一起而被执行的。
由于在除法以后进行相加,与传统技术相比较,在去振铃滤波处理中执行运算只需要较少的存储器。
按照第一实施例,按MPEG格式的活动图象数据相应于按照技术方案1,18,19,22,24到27,30,32到35,38,或40的压缩的图象数据,VRAM 35相应于按照技术方案9,19,27,或35的图象存储装置,以及后滤波器单元40的缓存器相应于按照技术方案9,19,27,或35的用于工作的存储器装置。
下面将按照附图描述按照本发明的第二实施例。图9到13显示按照本发明的图象处理器、图象处理程序、和图象处理方法。下面只描述与第一实施例的不同的部分,重复部分的说明被省略,并用相同的参考数字表示。
在本实施例中,按照本发明的图象处理器、图象处理程序、和图象处理方法被应用于以下情形在如图1所示的计算机100中,在由OS通过多任务运行来译码按MPEG格式被压缩的活动的图象数据从而重现活动图象的处理过程中,对于重现的图象执行去阻塞滤波处理。与第一实施例的差别在于,去阻塞滤波处理只通过滤波运算公式(1)到(4)被执行。
后滤波器单元40执行图9的流程图所显示的象素值读出处理过程,而不是步骤S202到S214的处理过程,以及执行图10的流程图所显示的象素值读出处理过程,而不是步骤S302到S314的处理过程。
首先,参照图9详细描述对于块的右上部分区域执行的象素值读出处理过程。图9是显示对于块的右上部分区域的象素值读出处理过程的流程图。
当由后滤波器单元40执行对于块的右上部分区域执行的象素值读出处理过程时,控制进到步骤S230,如图9所示。在下面的说明中,s(0)到s(4)是数列型变量。它们可被分配在缓存器中,以及可被保存在除缓存器以外的其他区域。
在步骤S230,象素数值v1被读出到s(0),控制进到步骤S232,象素数值v2被读出到s(1),控制进到步骤S234,象素数值v3被读出到s(2),控制进到步骤S236,象素数值v4被读出到s(3),控制进到步骤S238,象素数值v5被读出到s(4),控制进到步骤S240。
在步骤S240,通过根据s(0)到s(4)的数值由公式(1)到(4)进行的滤波运算,执行滤波运算处理,一系列处理完成后,控制返回到原先的处理过程。
下面参照图10详细描述对于块的左上部分区域执行的象素值读出处理过程。图10是显示对于块的左上部分区域的象素值读出处理过程的流程图。
当由后滤波器单元40执行对于块的左上部分区域执行的象素值读出处理过程时,控制进到步骤S330,如图10所示。
在步骤S330,象素数值v4被读出到s(4),控制进到步骤S332,象素数值v5被读出到s(3),控制进到步骤S334,象素数值v6被读出到s(2),控制进到步骤S336,象素数值v7被读出到s(1),控制进到步骤S338,象素数值v8被读出到s(0),控制进到步骤S240。
下面参照图11描述步骤S240的滤波运算处理过程。图11是步骤S240的滤波运算处理过程的流程图。
当在步骤S240执行滤波运算处理过程时,控制进到步骤S500,如图11所示。
在步骤S500,确定在s(3)与s(4)之间的差值的绝对值是否大于常数值C2。如果确定在s(3)与s(4)之间的差值的绝对值等于或小于常数值C2(否),则控制进到步骤S502,通过根据s(3)和s(4)的数值由公式(4)进行的滤波算术运算而计算s′(3),以及控制进到步骤S504。
在步骤S504,确定在s(2)与s(3)之间的差值的绝对值是否大于常数值C1。如果确定在s(2)与s(3)之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S506,通过根据s(2)和s(4)的数值由公式(3)进行的滤波算术运算而计算s′(2),以及控制进到步骤S508。
在步骤S508,确定在s(1)与s(2)之间的差值的绝对值是否大于常数值C1。如果确定在s(1)与s(2)之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S510,通过根据s(1)和s(4)的数值由公式(2)进行的滤波算术运算而计算s′(1),以及完成一系列处理,由此,继续原先的处理过程。
另一方面,如果在步骤S500确定在s(3)与s(4)之间的差值的绝对值大于常数值C2(是),如果在步骤504确定在s(2)与s(3)之间的差值的绝对值大于常数值C1(是),如果在步骤508确定在s(1)与s(2)之间的差值的绝对值大于常数值C1(是),则一系列处理结束,控制返回到原先的处理过程。
下面参照图12和13描述按照第二实施例的运行。图12显示其中象素值v1到v8被重新安排用于运行的情形。图13是显示象素列PG1的每个象素的数值的直方图。
首先,通过参照对图1所示的象素列PG1的每个象素执行去阻塞滤波处理的例子,描述去阻塞滤波处理。
当对象素列PG1的每个象素执行去阻塞滤波处理时,执行步骤S200,S202,S230到S238的处理过程,那些在相对于象素列PG1的水平方向上运行的必须的象素数据和在垂直方向上运行的必须的象素数据,可以按照象素列PG1的地址被集中地读出到缓存器,以及象素值v1到v5被分别读出到s(0)到s(4),如图12(a)所示。
在步骤S500后,确定对于s(3)是否执行去阻塞滤波处理。也就是,如果确定在s(3)与s(4)之间的差值的绝对值等于或小于常数值C2,则执行步骤S502的处理,滤波运算是通过根据s(3)和s(4)的数值计算公式(4)而被执行的,以及计算s′(3)。如果确定对于s(3)不执行去阻塞滤波处理,则对于s(1)和s(2)都不执行去阻塞滤波处理。
当对于s(3)执行去阻塞滤波处理时,在步骤S504后,确定对于s(2)是否执行去阻塞滤波处理。也就是,如果确定在s(2)与s(3)之间的差值的绝对值等于或小于常数值C1,则执行步骤S506的处理,滤波运算是通过根据s(2)和s(4)的数值计算公式(3)而被执行的,以及计算s′(2)。如果确定对于s(2)不执行去阻塞滤波处理,则对于s(1)也不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S508后,确定对于s(1)是否执行去阻塞滤波处理。也就是,如果确定在s(1)与s(2)之间的差值的绝对值等于或小于常数值C1,则在步骤S510后,通过根据s(1)和s(4)的数值由公式(2)进行的滤波运算而计算s′(1)。
然后,在步骤S216和S218,对于象素列PG1的左半部分的象素在垂直方向执行去阻塞滤波处理。当完成在水平方向和垂直方向的处理时,数值s′(1)到s′(3)被输出到RGB变换单元42。
因此,完成了对于象素列PG1的左半部分的象素的去阻塞滤波处理。
然后,在步骤S300,S302,和S330到S338后,那些在相对于象素列PG1的水平方向上运行的必须的象素数据和在垂直方向上运行的必须的象素数据,可以按照象素列PG1的地址被集中地读出到缓存器,以及象素值v4到v8被分别读出到s(4)到s(0),如图12(b)所示。
在步骤S500后,确定对于s(3)是否执行去阻塞滤波处理。也就是,如果确定在s(3)与s(4)之间的差值的绝对值等于或小于常数值C2,则执行步骤S502的处理,滤波运算是通过根据s(3)和s(4)的数值计算以上的公式(4)而被执行的,以及计算s′(3)。如果确定对于s(3)不执行去阻塞滤波处理,则对于s(1)和s(2)都不执行去阻塞滤波处理。
当对于s(3)执行去阻塞滤波处理时,在步骤S504后,确定对于s(2)是否执行去阻塞滤波处理。也就是,如果确定在s(2)与s(3)之间的差值的绝对值等于或小于常数值C1,则执行步骤S506的处理,滤波运算是通过根据s(2)和s(4)的数值计算公式(3)而被执行的,以及计算s′(2)。如果确定对于s(2)不执行去阻塞滤波处理,则对于s(1)也不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S508后,确定对于s(1)是否执行去阻塞滤波处理。也就是,如果确定在s(1)与s(2)之间的差值的绝对值等于或小于常数值C1,则在步骤S510后,通过根据s(1)和s(4)的数值由公式(2)进行的滤波运算而计算s′(1)。
然后,在步骤S316和S318,对于象素列PG1的右半部分的象素在垂直方向执行去阻塞滤波处理。当完成在水平方向和垂直方向的处理时,数值s′(1)到s′(3)被输出到RGB变换单元42。同时,如图12(B)所示,s′(0)到s′(4)的内容被按照相反顺序重新安排,并且s′(1)到s′(3)的值被输出到变换单元42。
因此,完成了对于象素列PG1的左半部分的象素的去阻塞滤波处理。
在按照本实施例的去阻塞滤波处理中,每个象素值v1到v8被校正,如图13(a)所示,而同时这些数值被收集,如图13(b)所示。
因此,在按照本实施例的去阻塞滤波处理中,垂直于相邻块之间的边界的象素列中的象素值v2到v5被读出到s(1)到s(4),在滤波处理后的象素值v2′到v4′通过以上的滤波运算公式(2)到(4)被计算,象素值v4到v7被读出到s(4)到s(1),在滤波处理后的象素值v5′到v7′通过以上的滤波运算公式(2)到(4)被计算。
由于三个滤波运算公式是准备用来对六个象素执行去阻塞滤波处理的,去阻塞滤波处理可被进一步简化。
按照以上阐述的第二实施例,按MPEG格式的活动图象数据相应于按照技术方案20,28或36的压缩的图象数据。
下面参照附图描述按照本发明的第三实施例。图14到17显示按照第三实施例的图象处理器、图象处理程序、和图象处理方法。下面只描述与第一实施例的不同的部分,重复部分的说明被省略,并用相同的参考数字表示。
在本实施例中,按照本发明的图象处理器、图象处理程序、和图象处理方法被应用于以下情形在如图1所示的计算机100中,在由OS通过多任务运行来译码按MPEG格式被压缩的活动的图象数据从而重现活动图象的处理过程中,对于重现的图象执行去阻塞滤波处理。与第一实施例的差别在于,去阻塞滤波处理只通过滤波运算公式(5)到(8)被执行。
后滤波器单元40执行图14的流程图所显示的象素值读出处理过程,而不是步骤S202到S214的处理过程,以及执行图15的流程图所显示的象素值读出处理过程,而不是步骤S302到S314的处理过程。
首先,参照图14详细描述对于块的右上部分区域执行的象素值读出处理过程。图14是显示对于块的右上部分区域的象素值读出处理过程的流程图。
当由后滤波器单元40执行对于块的右上部分区域执行的象素值读出处理过程时,控制进到步骤S260,如图14所示。在下面的说明中,s(0)到s(4)是数列型变量。它们可被分配在缓存器中,以及可被保存在除该缓存器以外的其他区域。
在步骤S260,象素数值v1被读出到s(4),控制进到步骤S262,象素数值v2被读出到s(3),控制进到步骤S264,象素数值v3被读出到s(2),控制进到步骤S266,象素数值v4被读出到s(1),控制进到步骤S268,象素数值v5被读出到s(0),控制进到步骤S270。
在步骤S270,通过根据s(0)到s(4)的数值由公式(5)到(8)进行的滤波运算,执行滤波运算处理,一系列处理完成后,控制返回到原先的处理过程。
下面参照图15详细描述对于块的左上部分区域执行的象素值读出处理过程。图15是显示对于块的左上部分区域的象素值读出处理过程的流程图。
当由后滤波器单元40执行对于块的左上部分区域执行的象素值读出处理过程时,控制进到步骤S360,如图15所示。
在步骤S360,象素数值v4被读出到s(0),控制进到步骤S362,象素数值v5被读出到s(1),控制进到步骤S364,象素数值v6被读出到s(2),控制进到步骤S366,象素数值v7被读出到s(3),控制进到步骤S368,象素数值v8被读出到s(4),控制进到步骤S270。
下面参照图16描述步骤S270的滤波运算处理过程。图16是步骤S270的滤波运算处理过程的流程图。
当在步骤S270执行滤波运算处理过程时,控制进到步骤S530,如图16所示。
在步骤S530,确定在s(1)与s(0)之间的差值的绝对值是否大于常数值C2。如果确定在s(1)与s(0)之间的差值的绝对值等于或小于常数值C2(否),则控制进到步骤S532,通过根据s(1)和s(0)的数值由公式(5)进行的滤波算术运算而计算s′(1),以及控制进到步骤S534。
在步骤S534,确定在s(2)与s(1)之间的差值的绝对值是否大于常数值C1。如果确定在s(2)与s(1)之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S536,通过根据s(2)和s(0)的数值由以上公式(6)进行的滤波算术运算而计算s′(2),以及控制进到步骤S538。
在步骤S53 ,确定在s(3)与s(2)之间的差值的绝对值是否大于常数值C1。如果确定在s(3)与s(2)之间的差值的绝对值等于或小于常数值C1(否),则控制进到步骤S540,通过根据s(3)和s(0)的数值由以上的公式(7)进行的滤波算术运算而计算s′(3),以及完成一系列处理,由此,继续进行原先的处理过程。
另一方面,如果在步骤S530确定在s(1)与s(0)之间的差值的绝对值大于常数值C2(是),如果在步骤534确定在s(2)与s(1)之间的差值的绝对值大于常数值C2(是),如果在步骤538确定在s(3)与s(2)之间的差值的绝对值大于常数值C1(是),则一系列处理结束,控制返回到原先的处理过程。
下面参照图17描述按照第三实施例的运行。图17是显示象素列PG1的每个象素的数值的直方图。
首先,通过参照对图1所示的象素列PG1的每个象素执行去阻塞滤波处理的例子,描述去阻塞滤波处理。
当对象素列PG1的每个象素执行去阻塞滤波处理时,执行步骤S200,S202,S260到S268的处理过程,那些在相对于象素列PG1的水平方向上运行的必须的象素数据和在垂直方向上运行的必须的象素数据,可以按照象素列PG1的地址被集中地读出到缓存器,以及象素值v1到v5被分别读出到s(4)到s(0),如图12(B)所示。
在步骤S530后,确定对于s(1)是否执行去阻塞滤波处理。也就是,如果确定在s(1)与s(0)之间的差值的绝对值等于或小于常数值C2,则执行步骤S532的处理,滤波运算是通过根据s(1)和s(0)的数值计算公式(5)而被执行的,以及计算s′(1)。如果确定对于s(1)不执行去阻塞滤波处理,则对于s(2)和s(3)都不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S534后,确定对于s(2)是否执行去阻塞滤波处理。也就是,如果确定在s(2)与s(1)之间的差值的绝对值等于或小于常数值C1,则执行步骤S536的处理,滤波运算是通过根据s(2)和s(0)的数值计算公式(6)而被执行的,以及计算s′(2)。如果确定对于s(2)不执行去阻塞滤波处理,则对于s(3)也不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S538后,确定对于s(3)是否执行去阻塞滤波处理。也就是,如果确定在s(3)与s(2)之间的差值的绝对值等于或小于常数值C1,则在步骤S540后,通过根据s(3)和s(0)的数值由公式(7)进行的滤波运算而计算s′(3)。
然后,在步骤S216和S218,对于象素列PG1的左半部分的象素在垂直方向执行去阻塞滤波处理。当完成在水平方向和垂直方向的处理时,数值s′(1)到s′(3)被输出到RGB变换单元42。同时,如图12(B)所示,s′(0)到s′(4)的内容按倒置的次序被重新安排,然后,s′(1)到s′(3)的数值被输出到RGB变换单元42。
因此,完成了对于象素列PG1的左半部分的象素的去阻塞滤波处理。
然后,在步骤S300,S302,和S360到S368后,那些在相对于象素列PG1的水平方向上运行的必须的象素数据和在垂直方向上运行的必须的象素数据,可以按照象素列PG1的地址被集中地读出到缓存器,以及象素值v4到v8被分别读出到s(0)到s(4),如图12(A)所示。
在步骤S530后,确定对于s(1)是否执行去阻塞滤波处理。也就是,如果确定在s(1)与s(0)之间的差值的绝对值等于或小于常数值C2,则执行步骤S532的处理,滤波运算是通过根据s(1)和s(0)的数值计算以上的公式(5)而被执行的,以及计算s′(1)。如果确定对于s(1)不执行去阻塞滤波处理,则对于s(2)和s(3)都不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S534后,确定对于s(2)是否执行去阻塞滤波处理。也就是,如果确定在s(2)与s(1)之间的差值的绝对值等于或小于常数值C1,则执行步骤S536的处理,滤波运算是通过根据s(2)和s(0)的数值计算以上的公式(6)而被执行的,以及计算s′(2)。如果确定对于s(2)不执行去阻塞滤波处理,则对于s(3)也不执行去阻塞滤波处理。
当对于s(2)执行去阻塞滤波处理时,在步骤S538后,确定对于s(3)是否执行去阻塞滤波处理。也就是,如果确定在s(3)与s(2)之间的差值的绝对值等于或小于常数值C1,则在步骤S540后,通过根据s(3)和s(0)的数值由以上的公式(7)进行的滤波运算而计算s′(3)。
然后,在步骤S316和S318,对于象素列PG1的右半部分的象素在垂直方向执行去阻塞滤波处理。当完成在水平方向和垂直方向的处理时,数值s′(1)到s′(3)被输出到RGB变换单元42。
因此,完成了对于象素列PG1的左半部分的象素的去阻塞滤波处理。
按照本发明的第一实施例,每个象素值v1到v8被校正,如图17(a)所示,而同时在按照本实施例的去阻塞滤波处理中,这些数值被收集,如图17(b)所示。在按照本实施例的、不带有去振铃滤波处理的去阻塞滤波处理中,比起在按照上面提到的第二实施例的去阻塞滤波处理,可以得到更高质量的图象。然而,当与去振铃滤波处理相组合地执行去阻塞滤波处理时,在按照第二实施例的去阻塞滤波处理中可以得多更高质量的图象。所以,希望根据去振铃滤波处理的使用来选择它们。
因此,在按照本实施例的去阻塞滤波处理中,垂直于相邻块之间的边界的象素列中的象素值v4到v7被读出到s(0)到s(3),在滤波处理后的象素值v5′到v7′通过以上的滤波运算公式(5)到(7)被计算,象素值v2到v5被读出到s(3)到s(0),在滤波处理后的象素值v2′到v4′通过以上的滤波运算公式(5)到(7)被计算。
由于三个滤波运算公式是准备用来对六个象素执行去阻塞滤波处理的,去阻塞滤波处理可被进一步简化。
按照以上阐述的第三实施例,按MPEG格式的活动图象数据相应于按照技术方案21,29或37的压缩的图象数据。
按照上述的第一实施例,去振铃滤波处理被配置成根据目标象素和八个相邻象素进行滤波算术运算。然而,滤波算术运算可以根据目标象素和四个相邻象素来进行,如图18所示。图18是显示去振铃滤波处理的原理的示意图。
在图18上,其上要被执行去振铃滤波处理的目标象素的数值被设为v0,以及那些与目标象素相邻的象素的数值,对于上面、左面、右面、和下面的相邻象素,可分别被设为v2,v4,v5,和v7。
在这种情形下,目标象素在去振铃滤波处理后的数值v0′按以下的运算公式(32)被计算。
V=(v2+v4+v5+v7)/4 ...(31)v0′=(v0+V)/2 ...(32)然而,当检测到边缘时,vi(i=1到8)用v0代替。vi用v0代替的理由是与当检测到边缘时不执行去振铃滤波处理相同的。在如图18所示的例子中,v7用v0代替。
因此,由于在计算相邻象素的平均值时使用的除数是2的整倍数,运算可以通过比特移位而被执行。而且,由于没有使用所有的相邻象素的数值,处理负荷可被减小。所以,去振铃滤波处理可被进一步简化。
虽然选择四个象素作为相邻象素,但本发明并不限于这个应用。例如,可以选择相邻象素的任何组合,诸如,左上、右上、左下和右下象素。而且,通过执行比特移位运算,在滤波运算中的相邻象素从减小处理负荷的观点看来可以是一个或两个象素。
在这种情形下,按MPEG格式的活动图象数据相应于按照技术方案23,31,或39的压缩的图象数据。
在上述的第一实施例中,在图4,5,6和8所示的流程图中的处理由后滤波器单元40的硬件执行。然而,本发明并不限于这种应用。例如,CPU 30可以执行这些处理。在这种情形下,预先被存储在ROM 32中的控制程序可以按照第一实施例被执行,以及这些程序过程的程序可以从存储程序的贮存媒体中被读出到RAM 34,以供执行。
按照第二实施例,当图9到11所示的流程图中的处理被执行时,它由后滤波器单元40的硬件执行。然而,本发明并不限于这种应用。例如,CPU 30可以执行这些处理。在这种情形下,预先被存储在ROM 32中的控制程序可以按照第二实施例被执行,但表示这些程序过程的程序可以从存储程序的贮存媒体中被读出到RAM 34。
在第三实施例中,图14到16所示的流程图中的处理由后滤波器单元40的硬件执行。然而,本发明并不限于这种应用。也就是,CPU 30可以执行这些处理。在这种情形下,预先被存储在ROM 32中的控制程序可以按照第三实施例被执行,但表示这些程序过程的程序可以从存储程序的贮存媒体中被读出到RAM 34。
贮存媒体是指诸如RAM,ROM等的半导体贮存媒体,诸如FD,HD等的磁贮存媒体,和诸如CD,CDV,LD,DVD等的光读出系统贮存媒体,以及诸如MO等的磁贮存型/光读出系统贮存媒体,不管是电、磁、或光读出系统,任何计算机可读媒体都可被使用。
按照第一、第二和第三实施例,图象处理器、图象处理程序、和图象处理方法被应用于以下情形如图1所示,在由计算机100通过OS按多任务运行来译码按MPEG格式被压缩的活动的图象数据而重现活动图象中,对于重现的图象执行去阻塞滤波处理和去振铃滤波处理。然而,本发明并不限于这种应用,这并不背离本发明的范围。例如,本发明可被应用于以下情形即当根据按JPEG格式压缩的图象数据来显示图象时,或当根据在图象压缩处理中压缩的图象数据以块为单位显示图象时(其中,离散余弦变换处理和量化变换处理可以以预定的块为单位被执行)。
如上所述,在按照本发明的技术方案1到17的图象处理器中,当对于一个象素执行滤波运算时,只使用两个象素的数值,而不使用多个象素的平均值。所以,与传统的技术相比较,用于减小块噪声的滤波处理在译码图象时可以相当简化。
在按照本发明的技术方案3的图象处理器中,当对于一个象素执行滤波运算时,使用该象素的数值以及在同一个象素列中和相邻块中边界象素的数值。所以,在一定程度上,可以实现有效的屏幕效果。
而且,在按照本发明的技术方案4的图象处理器中,当对于一个象素执行滤波运算时,通过使用该象素的数值以及在同一个象素列中和相邻块中边界象素的数值进行相加和相减以及比特移位(以2的倍数为除数的除法)来执行运算。所以,用于减小块噪声的滤波处理在译码图象时可以进一步被简化,与按照技术方案3的图象处理器相比较,可以实现更有效的屏幕效果。
另外,在按照本发明的技术方案5到8的图象处理器中,门限值是常数值。所以,在滤波处理期间,不必计算门限值。如果象素之间的任何差值超过门限值,则不执行滤波运算。所以,用于减小块噪声的滤波处理在译码图象时可以进一步被简化,与传统技术相比较,滤波处理可以以相对较高的速度被执行。
而且,在按照本发明的技术方案6的图象处理器中,执行滤波处理的特征在于,块之间亮度的平均值的不同被加以考虑。所以,可以在一定程度上实现有效的屏幕效果。
另外,在按照本发明的技术方案7的图象处理器中,执行滤波处理的特征在于,块之间亮度的平均值的不同被加以考虑。所以,与按照技术方案6的图象处理器相比较,可以实现更有效的屏幕效果。
另外,在按照本发明的技术方案8的图象处理器中,确定是否对象素执行滤波运算的频度可被减小。所以,用于减小块噪声的滤波处理在译码图象时可以以更高的速度被执行。
而且,在按照本发明的技术方案9的图象处理器中,那些在对于象素列的每个象素的滤波处理中必要的图象数据可以被集中地读出到工作贮存装置,以及以单个单元的形式被处理。所以,与传统技术相比较,用于减小块噪声的滤波处理在译码图象时可以以相对较高的速度被执行。
另外,在按照本发明的技术方案10的图象处理器中,三个滤波运算公式准备好用于对于六个象素进行滤波处理。所以,用于小块噪声的滤波处理在译码图象时可被进一步简化。
另外,在按照本发明的技术方案11的图象处理器中,三个滤波运算公式准备好用于对于六个象素进行滤波处理。所以,用于小块噪声的滤波处理在译码图象时可被进一步简化。
而且,在按照本发明的技术方案12的图象处理器中,滤波处理是对于在块中水平方向的象素列和在块中垂直方向的象素列执行的。所以,可以在一定程度上实现有效的屏幕效果。
另外,在按照本发明的技术方案13到15的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在计算相邻象素的平均值时使用的除数是常数,不管之间的差值是否超过门限值,以及如果除数是2的整倍数,则运算可以通过比特移位来执行。所以,与传统技术相比较,用于减小飞蚊式噪声的滤波处理在译码图象时可以相当简化的。
而且,在按照本发明的技术方案14或15的图象处理器中,门限值是常数值。所以,不必计算门限值。所以,用于减小飞蚊式噪声的滤波处理在译码图象时可以进一步被简化。
另外,在按照本发明的技术方案15的图象处理器中,可以在一定程度上实现有效的屏幕效果。
另外,在按照本发明的技术方案16的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在计算相邻象素的平均值时使用的除数是2的整倍数。所以,处理负荷可被减小。结果,与传统技术相比较,用于减小飞蚊式噪声的滤波处理在译码图象时可以相当简化的。
另外,在按照本发明的技术方案17的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在除法后执行加法。所以,与传统技术相比较,在译码图象时对于用于减小飞蚊式噪声的滤波处理需要较少的存储器。
而且,在按照本发明的技术方案18的图象处理器中,由于门限值是常数值,所以,在滤波处理期间不必计算门限值。如果象素之间的任何差值超过门限值,则不执行滤波运算。所以,与传统技术相比较,用于减小块噪声的滤波处理在译码图象时可以相当简化,以及滤波处理可以以相对较高的速度被执行。
而且,在按照本发明的技术方案19的图象处理器中,在对于象素列的每个象素的滤波处理中必要的图象数据被集中地读出到工作贮存装置,以及以单个单元的形式被处理。所以,与传统技术相比较,用于减小块噪声的滤波处理在译码图象时可以以相对较高的速度被执行。
另外,在按照本发明的技术方案20的图象处理器中,三个滤波运算公式准备好用于对于六个象素进行滤波处理。所以,与传统技术相比较,用于减小块噪声的滤波处理在译码图象时可以相当简化。
另外,在按照本发明的技术方案21的图象处理器中,三个滤波运算公式准备好用于对于六个象素进行滤波处理。所以,与传统技术相比较,用于减小块噪声的滤波处理在译码图象时可以相当简化。
另外,在按照本发明的技术方案22的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在计算相邻象素的平均值时使用的除数是常数,不管之间的差值是否超过门限值,以及如果除数是2的整倍数,则运算可以通过比特移位来执行。所以,与传统技术相比较,用于减小飞蚊式噪声的滤波处理在译码图象时可以相当简化的。
另外,在按照本发明的技术方案23的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在计算相邻象素的平均值时使用的除数是2的整倍数。所以,处理负荷可被减小。结果,与传统技术相比较,用于减小飞蚊式噪声的滤波处理在译码图象时可以相当简化的。
另外,在按照本发明的技术方案24的图象处理器中,当在滤波运算中使用相邻象素的平均值时,在除法后执行加法。所以,与传统技术相比较,在译码图象时对于用于减小飞蚊式噪声的滤波处理需要较少的存储器。
另一方面,按照本发明的技术方案25的图象处理器提供按照技术方案1的图象处理器的效果。
而且,按照本发明的技术方案26的图象处理器提供按照技术方案18的图象处理器的效果。
而且,按照本发明的技术方案27的图象处理器提供按照技术方案19的图象处理器的效果。
而且,按照本发明的技术方案28的图象处理器提供按照技术方案20的图象处理器的效果。
而且,按照本发明的技术方案29的图象处理器提供按照技术方案21的图象处理器的效果。
而且,按照本发明的技术方案30的图象处理器提供按照技术方案22的图象处理器的效果。
而且,按照本发明的技术方案31的图象处理器提供按照技术方案23的图象处理器的效果。
而且,按照本发明的技术方案32的图象处理器提供按照技术方案24的图象处理器的效果。
而且,按照本发明的技术方案33的图象处理器提供按照技术方案1的图象处理器的效果。
而且,按照本发明的技术方案34的图象处理器提供按照技术方案18的图象处理器的效果。
而且,按照本发明的技术方案35的图象处理器提供按照技术方案19的图象处理器的效果。
而且,按照本发明的技术方案36的图象处理器提供按照技术方案20的图象处理器的效果。
而且,按照本发明的技术方案37的图象处理器提供按照技术方案21的图象处理器的效果。
而且,按照本发明的技术方案38的图象处理器提供按照技术方案22的图象处理器的效果。
而且,按照本发明的技术方案39的图象处理器提供按照技术方案23的图象处理器的效果。
而且,按照本发明的技术方案40的图象处理器提供按照技术方案24的图象处理器的效果。
权利要求
1.图象压缩器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得对块中的一个象素的滤波算术运算只根据象素的数值和在相邻的块中的任一个象素的数值来进行。
2.按照权利要求1的图象处理器,其中滤波处理被这样来执行,以使得对于和相邻的块之间的边界相交叉的象素列中的一个象素的滤波算术运算只根据该象素的数值和在相邻的块的同一个象素列中的任一个象素的数值来进行。
3.按照权利要求1和2的任一项的图象处理器,其中滤波处理被这样来执行,以使得对于和相邻的块之间的边界相交叉的象素列中的一个象素的滤波算术运算只根据该象素的数值和在相邻的块的同一个象素列中的边界的一个边界象素的数值来进行。
4.按照权利要求1的图象处理器,其中滤波处理被这样来执行,使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v7′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”,“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算。
5.按照权利要求1到4的任一项的图象处理器,其中滤波处理被这样来执行,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
6.按照权利要求5的图象处理器,其中用于跟边界象素和与该边界象素相邻的相邻象素之间的差值进行比较的门限值被设置为大于用于跟在边界象素与不同于该相邻象素的象素之间的差值进行比较的门限值。
7.按照权利要求5或6的任一项的图象处理器,其中用于比较在边界象素与和边界象素相邻的相邻象素之间的差值的门限值被设置为等于“2n-3”的数值或近似值,而象素具有“2n-1”(n≥4)的最大值,以及用于比较在边界象素与不同于相邻象素的象素之间的差值的门限值被设置为等于“2n-4”的数值或近似值。
8.按照权利要求5到7的任一项的图象处理器,其中滤波处理被这样来执行,以使得可以按顺序地移动离开边界的方向进行判断是否应当对象素进行滤波算术运算,判断是从与边界象素相邻的相邻象素开始的,以及当判断不应当对于象素进行滤波算术运算时,不对于象素和以后阶段的象素进行滤波算术运算。
9.按照权利要求1到8的任一项的图象处理器,还包括用于工作的存储器装置,它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够地贮存容量,用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于该同一个象素列中的以及位于相邻的块的边界上,滤波处理被这样来执行,以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
10.按照权利要求1到9的任一项的图象处理器,其中滤波处理被这样来执行,从而,对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,则滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2而按照滤波算术公式来进行计算。
11.按照权利要求1到9的任一项的图象处理器,其中滤波处理被这样来执行,从而对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,则滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式来进行计算。
12.按照权利要求1到11的任一项的图象处理器,其中滤波处理被这样来执行,以使得对于在块中水平方向的象素列和垂直方向的象素列中的一个象素列进行滤波算术运算,然后,对于另一个象素列进行滤波算术运算。
13.按照权利要求1到12的任一项的图象处理器,其中量化作为一种处理被这样来执行,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及这样来执行滤波处理,以使得可以根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素来进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用一个象素的数值。
14.按照权利要求13的图象处理器,其中滤波处理是通过使用常数值作为门限值被执行的。
15.按照权利要求14的图象处理器,其中滤波处理被这样来执行,以使得门限值被设置为等于“2n-4”的数值或近似值,而象素具有“2n-1”(n≥4)的最大值。
16.按照权利要求1到15的任一项的图象处理器,其中量化作为一种处理被这样来执行,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及滤波处理被这样来执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个、或一个相邻象素的数值对一个象素进行滤波算术运算。
17.按照权利要求1到16的任一项的图象处理器,其中量化作为一种处理被这样来执行,以便可以粗略地量化离散余弦变换的结果中的高频分量,以及滤波处理被这样来执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
18.图象处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
19.图象处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理的图象处理器,在该图象压缩中以块为单位执行离散余弦变换和量化,处理器包括用于工作的存储器装置,它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够的贮存容量,用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它是在同一个象素列中的以及位于相邻的块的边界上,其中滤波处理被这样来执行,以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
20.图象滤波器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′,按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式而进行计算。
21.图象处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
22.图象压缩器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样来执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用这一个象素的数值。
23.图象处理器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样来执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
24.图象压缩器,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样来执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
25.图象处理程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得只根据象素的数值和在相邻的块中的任一个象素的数值对该块中的一个象素进行滤波算术运算。
26.图象处理程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样来执行,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的边界象素,以及一个常数值被用作为门限值。
27.图象处理程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,该计算机包括用于工作的存储器装置,它被可提供地连接到用于存储扩展的图象的图象存储器装置,以及具有足够的贮存容量,以用于存储所有的象素的数据,这些象素的范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于同一个象素列中的以及位于相邻的块的边界上,其中滤波处理被这样执行以使得其范围从一个象素到在象素列中的边界象素的所有的象素的数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
28.图象处理程序,用于当图象根据通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式进行计算。
29.图象处理程序,用于当图象根据通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′,按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′,通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
30.图象处理程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用一个象素的数值。
31.图象处理程序,用于当图象根据通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果的高频分量的量化,其中滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
32.图象处理程序,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后,使得计算机对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果的高频分量的量化,其中滤波处理被这样执行,以使得通过把要被计算的目标象素的数值除以预定的数值、把与目标象素相邻的一个相邻象素的数值除以预定的数值、以及将相除的结果相加,从而对一个象素进行滤波算术运算。
33.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得只根据象素的数值和在相邻的块的中任一个象素的数值对该块中的一个象素进行滤波算术运算。
34.图形处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得当象素之间的差值不超过门限值时,对于在和相邻的块之间的边界相交叉的象素列中一个象素进行滤波算术运算,象素范围是从一个象素到位于在相邻的块的同一个象素列中的边界上的一个边界象素,以及一个常数值被用作为门限值。
35.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,用于工作的存储器装置可提供地被连接到用于存储扩展的图象的图象存储器装置,滤波处理被这样执行以使得对于其范围从一个象素到在象素列中的边界象素的所有的象素,数据从图象存储器装置被读出到以被集成的方式工作的存储器装置,用于工作的存储器装置具有足够地贮存容量,以用于存储所有的这些象素的数据,其范围从这样一个象素,它是在与相邻的块之间的边界相交叉的象素列的象素之中离块的边界最远的象素,到这样一个边界象素,它位于同一个象素列中以及位于相邻的块的边界上,以及滤波算术运算是根据用于工作的存储器装置的象素数据来进行的。
36.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v2′到v4′,按照“v2′=(v2+v5)/2+(v2-v5)/4”,“v3′=(v3+v5)/2+(v3-v5)/8”,和“v4′=(v4+v5)/2”的滤波算术公式进行计算,以及滤波后的象素值v5′到v7′通过使用v4到v7作为v5,v4,v3,和v2,按照滤波算术公式进行计算。
37.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据以预定的块为单位被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中以块为单位执行离散余弦变换和量化,其中滤波处理被这样执行,以使得对于在和相邻的块之间的边界相交叉的象素列,当在边界的一侧的象素值按接近边界的次序被称为v4,v3和v2,以及在边界的另一侧的象素值按接近边界的次序被称为v5,v6和v7时,滤波后的象素值v5′到v7′按照“v5′=(v5+v4)/2+(v5-v4)/8”,“v6′=(v6+v4)/2+(v6-v4)/4”,和“v7′=v7-(v7-v4)/8”的滤波算术公式进行计算,以及滤波后的象素值v2′到v4′,通过使用v2到v5作为v7,v6,v5,和v4按照滤波算术公式进行计算。
38.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理方法,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的相邻象素的数值对一个象素进行滤波算术运算,以及在滤波算术运算中,当一个象素与相邻象素的目标象素之间的差值超过门限值时,使用目标象素的数值而不用一个象素的数值。
39.图象处理方法,当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或被扩展之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果的高频分量的量化,其中滤波处理被这样执行,以使得根据要被计算的目标象素的数值和与目标象素相邻的四个、二个或一个相邻象素的数值对一个象素进行滤波算术运算。
40.图象处理方法,用于当图象基于通过图象压缩而被压缩的压缩了的图象数据被扩展时或之后对扩展的图象执行滤波处理,在该图象压缩中执行离散余弦转换和用于粗略地量化离散余弦变换的结果中的高频分量的量化,其中滤波处理被这样执行,以使得通过把要被计算的目标象素的数值除以预定的数值,把与目标象素相邻的一个相邻象素的数值除以预定的数值,以及将相除的结果相加,从而对一个象素进行滤波算术运算。
全文摘要
提供了一种图象处理器,它在图象被译码时简化滤波处理和提高速度,以及适用于实现有效的屏幕效果。在去阻塞滤波处理时,对于与在相邻的块之间的边界交叉的象素列,滤波后的象素值v
文档编号G06T5/10GK1399229SQ02126948
公开日2003年2月26日 申请日期2002年7月24日 优先权日2001年7月24日
发明者石川真己, 三浦弘纲 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1