图像处理装置、图像处理方法以及图像处理程序的制作方法

文档序号:7657754阅读:100来源:国知局
专利名称:图像处理装置、图像处理方法以及图像处理程序的制作方法
技术领域
本发明涉及图像处理装置、图像处理方法以及图像处理程序。
背景技术
近来用于运动图像的压缩编码方法中,通过将在相邻帧之间的时间方向上减少冗余的处理以及在单帧空间方向上减少冗余的处理相组合,实现了高比率压缩。
上述两个方法中的减少空间方向冗余的下面的处理中,将图像分成了具有适当尺寸的像素块(例如,宽度上四个像素并且高度上四个像素),并且在很多情况下通过使每个块都经过DCT(离散余弦变换)处理来减少这些块的冗余分量。但是,在每个块单元的编码系统中,被称为块噪音的失真发生在接近于相邻块边界的像素中,并且其是导致图像质量劣化的主要原因。
因此,在近来的压缩编码系统中,增加了一个被称为去块过滤处理的过程,该过程通过进行校正使块边界附近的不连续像素变得平滑,以此来抑制块噪音。去块过滤处理相对来说比较简单,但是用于去块过滤处理的处理量是非常大的,并且其在一些情况中占到了解码过程总处理量的50%。因此,在JP.A2004-180248(KOKAI)或类似文献中,提出了用于减少去块过滤器的处理量和提高其运算速度的技术,其中该技术是通过确定是否需要编码失真消除处理,以及仅仅在需要上述消除处理的时候操作去块过滤器来实现的。
在另一方面,近来的GPU(图像处理单元)处理有了显著的发展,并且GPU同时具有高可编程性以及并行算术运算的能力。因此,趋向于不仅将GPU安装于计算机例如个人计算机上,并且也将其安装在家用电器、移动设备或游戏机上。此外,通过使用GPU的高可编程性,尝试将GPU应用于除了图像之外的通用应用中,并且试图将其扩展到运动图像的编码和解码领域。
但是,在JP.A 2004-180248(KOKAI)等文献所描述的发明中,没有考虑通用并行矢量处理器例如GPU作为能够实现去块过滤器的平台。因此,尽管完全发挥通用并行矢量处理器例如GPU的能力,去块过滤器不能在以高速度运行。

发明内容
根据本发明一个方面的图像处理装置,包括重叠单元(overlapping unit),被配置成将在水平方向上和垂直方向中至少一个方向上排列的多个标量格式图像重叠,并将它们转换成矢量格式图像数据;以及图像处理单元,被配置成对该矢量图像数据执行去块过滤处理。本发明不限于装置,并可通过方法和计算机可读程序来实现。


图1是显示根据第一个实施例的图像处理装置的示意配置的结构图;图2是显示了在一帧图像是由Y,Cb和Cr三种颜色分量配置的情况下,运动图像(moving picture)的结构示例的图;图3A和3B是显示在第一个实施例中存储在输入标量图像存储器单元3中的标量图像数据例子的图;图4A到4C是显示在第一个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据例子的图;图5是显示第一个实施例中关于水平方向上像素块边界的去块过滤器的参考像素的图;图6A和6B是显示通过传统标量运算的去块过滤处理的图;图7A和7B是显示在第一个实施例中通过矢量运算的去块过滤处理的图;图8A到8C是显示在第一个实施例中关于水平方向上像素块边界的去块过滤器的处理相关性的图;图9是显示在第一个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图10A和10B是显示在第一个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图11是显示第一个实施例中关于垂直方向上像素块边界的去块过滤器的参考像素的图;图12A到12C是显示在第一个实施例中关于垂直方向上像素块边界的去块过滤器的处理相关性的图;图13是显示根据第二个实施例的图像处理装置的示意配置的结构图;图14是显示在第二个实施例中由水平像素阵列排序单元13排序的矢量图像数据的图;图15A和15B是显示在第二个实施例中由水平像素阵列排序单元13排序的矢量图像数据的图;图16是显示在第二个实施例中由垂直像素阵列排序单元14排序的矢量图像数据;图17A和17B显示了在第二个实施例中由垂直像素阵列排序单元14排序的矢量图像数据的图;图18是显示在第三个实施例中、存储在输入标量图像存储器单元3中的标量图像数据的例子的图;图19是显示第三个实施例中关于水平方向上像素块边界的去块过滤器的参考像素的图;图20是显示第三个实施例中关于垂直方向上像素块边界的去块过滤器的参考像素的图;图21是显示在第三个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图22是显示在第三个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图23A和23B是显示在第三个实施例中通过矢量运算的去块过滤处理的图;图24是显示在第三个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图25是显示在第三个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图26是显示在第四个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图27是显示在第四个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;
图28是显示在第四个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图29A和29B是显示在第四个实施例中通过矢量运算进行去块过滤处理的图;图30是显示在第四个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图31A和31B是显示在第四个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图32是显示第五个实施例中关于水平方向上像素块边界的去块过滤器的参考像素的图;图33是显示第五个实施例中关于垂直方向上像素块边界的去块过滤器的参考像素的图;图34A和34B是显示在第五个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图35A和35B是显示在第五个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图36A和36B是显示在第六个实施例中存储在水平矢量图像存储器单元5中的矢量图像数据的例子的图;图37是显示在第六个实施例中水平像素阵列排序单元13的再分配处理的例子的图;图38A和38B是显示在第六个实施例中存储在垂直矢量图像存储器单元8中矢量图像数据的例子的图;图39是显示在第六个实施例中垂直像素阵列排序单元14的再分配处理的例子的图;图40是显示在第七个实施例中水平像素阵列排序单元13的再分配处理的例子的图;以及图41是显示在第六个实施例中垂直像素阵列排序单元14的再分配处理的例子的图。
具体实施例方式
在下文中将参考相应的附图来对实施例进行说明。
本发明的要点如下。
(1)基于例如像素块尺寸,像素格式和去块过滤器的参考像素的条件,将位于邻近块边界的多个标量格式像素重叠,并且将其转换成矢量格式像素。
(2)基于并行矢量处理器的存储器访问方法和去块过滤器处理相关性对矢量格式像素进行排序(sort)。
(第一实施例)如图1所示,根据第一实施例的图像处理装置包括中央处理单元1,主存储器单元2,输入标量图像存储器单元3,水平标量像素重叠单元4,水平矢量图像存储器单元5,水平矢量图像处理单元6,垂直矢量像素重叠单元7,垂直矢量图像存储器单元8,垂直矢量图像处理单元9,垂直矢量图像展开(development)单元10,输出标量图像存储器单元11以及呈现单元12。除了块之间的连接关系之外,图1也显示了数据流。在下面解释各个块的功能。
中央处理单元1控制各个块的操作以及块之间的数据传输。
主存储器单元2中保存有用于控制各个块、运动数据等的操作的程序。
输入标量图像存储器单元3存储标量格式的输入图像数据。
水平标量像素重叠单元4将保存在输入标量图像存储器单元3中的标量格式的图像数据读出,对在水平方向上排列的多个标量格式的像素重叠,并且将重叠后的数据转换成矢量格式的图像数据。
水平矢量图像存储器单元5存储从水平标量像素重叠单元4中输出的矢量格式的图像数据。
水平矢量图像处理单元6将保存在水平矢量图像存储器单元5中的矢量格式的图像数据进行去块过滤处理。
垂直标量像素重叠单元7将保存在水平矢量图像存储器单元5中的矢量格式的图像数据读出,对在垂直方向上排列的多个矢量格式像素的元素重叠,并且将重叠后的数据转换成不同的矢量格式的图像数据。
垂直矢量图像存储器单元8存储从垂直标量像素重叠单元7中输出的矢量格式的图像数据。
垂直矢量图像处理单元9将保存在垂直矢量图像存储器单元8中的矢量格式的图像数据进行去块过滤处理。
垂直矢量图像展开单元10读出保存在垂直矢量图像存储器单元8中的矢量格式的图像数据,在垂直方向展开各个矢量格式的像素元素,并且将展开后的数据转换成标量格式的图像数据。
输出标量图像存储器单元11存储从垂直矢量图像展开单元10中输出的标量格式的图像数据。
呈现单元12具有显示器例如液晶显示器,并对保存在输出标量图像存储器单元11中的图像数据进行呈现。
对于上述的结构,主存储器单元2,输入标量图像存储器单元3,水平矢量图像存储器单元5,垂直矢量图像存储器单元8和输出标量图像存储器单元11中的各个存储器单元可由不同的结构来表示,但是可将它们共同配置在单个存储器上或分别配置在多个不同的存储器上。
将在下面解释图1中所示的图像处理装置的数据流和各个块的详细操作过程。
如上所述,中央处理单元1控制各个块的操作和块间的数据传输。
主存储器单元2存储程序,该程序用于控制各个块、运动图像的数据和从输出标量图像存储器单元11传输的图像数据的操作,并经受去块过滤处理。
如图2所示,通过对运动图像一帧中的各个颜色分量中的图像数据进行排列,来获取运动图像数据。在第一实施例中,在假定上述运动图像数据是先前存储在主存储器单元2的情况下,进行下述的说明。
输入标量图像存储器单元3仅仅存储保存在主存储器单元2的运动图像数据中的当前帧的特定颜色分量的图像数据。
图3A显示输入标量图像存储器单元3中的像素阵列,以及图3B显示存储器上像素的排列次序的例子。在每个实施例中,例如,假定将8比特标量值分配给各个像素并且将该各个像素以光栅次序在特定颜色分量的图像数据中进行排列(参考图3B)。为了便于说明,下面将说明在给出图3A和3B的图像数据时,所执行的各个块的操作,但是本发明不限于在图3A和3B中所示的图像数据,并且其可用于具有不同比特数目的不同尺寸的图像数据像素。
水平标量像素重叠单元4将保存在如图3A所示的输入标量图像存储器单元3中的图像数据读出,将在水平方向上连续排列的多个标量格式的像素重叠,并且将重叠后的像素转换成一个像素矢量以便每个像素都对应于矢量的元素。这样,就获得了图4A中所示的矢量格式的图像数据。在将标量格式像素转换成矢量格式像素的操作中,基于像素块的宽度、转换前的标量格式像素的格式、转换后矢量格式像素的格式、关于水平方向上像素块边界的去块过滤器的参考像素的条件,选择适当的转换方法。
在每个实施例中,像素块的宽度如图3A中所示为四个像素,并且由图3B中所示的8位整数格式来表示转换前的标量格式的像素。
水平标量像素重叠单元4对四个标量格式像素重叠以将它们转换成一个矢量格式像素,所述四个标量格式像素排列在图3A中所示的像素块的水平方向上,该矢量格式像素具有如图4A到4C所示的四个元素。详细的操作将在下面进行说明。
例如,将图3A中虚线包围的四个标量格式的像素00,10,20,30转换成由图4A中虚线包围的矢量格式像素(00,10,20,30)。
如图4A所示,像素块的尺寸具有一个像素的宽度,以及具有转换后的矢量格式图像数据中四个像素的宽度和深度(矢量像素的元素数目)的四个像素,并在水平方向排列的各个像素之间,设置在水平方向上的像素块的边界。图4B是显示平面形式中每个元素的矢量格式像素的图。
如图4C中所示,转换后的矢量格式像素具有四个元素并且每个元素由8位整数格式来表示。
从标量格式转换到矢量格式之后,水平标量像素重叠单元4输出所获得的矢量格式图像数据给水平矢量图像存储器单元5。
水平矢量图像存储器单元5存储从水平标量像素重叠单元4中输出的矢量格式图像数据(图4A到4C)。
水平矢量图像处理单元6将保存在水平矢量图像存储器单元5中的矢量格式图像数据水平方向上的像素块边界(图4A到4C)进行去块过滤处理。
通常,对于多个像素来说,去块过滤器的操作是通过获得位于像素块边界附近的多个像素附近的像素加权平均值来执行的。根据多种情况中的不同条件,可自适应地确定像素和用于加权平均值的权重。
在实施例中,为了便于说明,假定加权平均值的操作如下。如图5所示,使用在水平方向上排列的像素块边界右边和左边的八个像素(p3到p0以及q0到q3),作为关于边界的去块过滤器(filter)的参考像素。
p3′=filter(p3)p2′=filter(p3,p2,p1,p0,q0)p1′=filter(p2,p1,p0,q0)p0′=filter(p2,p1,p0,q0,q1)q0′=filter(p1,p0,q0,q1,q2)q1′=filter(p0,q0,q1,q2)q2′=filter(p0,q0,q1,q2,q3)q3′=filter(q3)在这种情况下,p3到p0,q0到q3,p3′到p0′以及q0′到q3′表示图5的标量格式的像素值。此外,filter ()为一个函数,其用于在给定自变量的情况下计算标量格式像素值的加权平均值。由于对用于加权平均值的权值设定不是与本发明直接相关的,因此将省略对其的说明。
为了通过使用矢量处理器例如GPU来计算加权平均值,有必要为所有的如图6A中所示的八个标量格式像素独立地执行算术操作。由此,如图6B所示,处理器中的并行运算单元确定所输入的八个标量格式像素中的一个,并且必须根据所确定的结果来处理复杂的条件转移以便切换加权平均值的计算。在图6A和6B中,具有阴影的像素表示通过使用具有阴影像素来执行过滤处理以得到阴影像素之值。例如,图6A表明像素p3′是通过使用像素p3执行过滤处理来得到的,并且图6B表明像素p2′是通过使用像素p3,p2,p1,p0,q0执行过滤处理来得到的。由于其也可以应用于其它情况,因此将省略对其的说明。
但是,根据实施例的图像处理装置,由于通过前段水平标量重叠单元4将标量格式像素转换成矢量格式像素,所以仅仅需要如图7A中所示为两个矢量格式像素执行算术运算。由此,如同图7B所示,处理器中的并行运算单元仅仅需要确定两个矢量格式像素中的一个并且可以减少条件转移的数量。
因此,可以有效地执行关于水平方向上的像素块边界的去块过滤器的算术运算。
在图7B中,分别由p,q,p′和q′来表示矢量格式像素(p3,p2,p1,p0),(q0,q1,q2,q3),(p3′,p2′,p1′,p0′)以及(q0′,q1′,q2′,q3′)。此外,filter ()为一个函数,其用于在给定自变量的情况下计算关于矢量格式像素的加权平均值。
当执行去块过滤器的算术运算时,需要注意算术运算的处理相关性。例如,如图8B中所示,列1的像素块和列2的像素块之间边界的过滤结果取决于列1的像素值,但是列1的像素值取块于列1和位于其左侧相邻列0之间的边界的过滤结果。由此,如果在过滤图8B的列1和列2之间的边界之前,对图8A的列0和列1之间的边界的过滤处理没有完成的话,将不会获得正确的结果。同样,如果对图8C的列2和列3之间的边界进行过滤之前,对于图8B的列1和列2之间的边界进行的过滤处理没有完成的话,将不会获得正确的结果。
因此,为了正确地执行去块过滤器的操作,首先,对于图8A中着色像素块来执行列0和列1之间的边界过滤处理,并且在上述过滤处理结束之后,对于图8B中着色像素块来执行列1和列2之间的边界过滤处理。接着,在所有上述过滤处理结束之后,对于图8C中着色像素块来执行列2和列3之间的边界过滤处理。
当位于水平方向上的邻近像素块边界的所有像素的加权平均值的计算完成之后,水平矢量图像处理单元6将经过去块过滤处理的矢量格式的图像数据输出到水平矢量图像存储器单元5中。
垂直标量像素重叠单元7将保存在水平矢量图像存储器单元5中的矢量格式图像数据(图4A到4C)读出,并且将在垂直方向上排列的多个矢量格式像素的元素重叠,以将它们转换成不同的矢量格式图像数据(图9到10B),其将在随后进行详细的描述。在转换成不同矢量格式的操作中,根据像素块的高度、转换前矢量格式像素的格式,转换后矢量格式像素的格式、关于垂直方向上像素块边界的去块过滤器的参考像素的条件等,来选择适当的转换方法。
在实施例中,如图3A中所示,像素块的高度为4个像素。此外,如图4C中所示,将转换前的矢量格式像素配置成四个元素,并且每个元素由8位的整数格式来表示。
在这种情况下,垂直标量像素重叠单元7将与排列在图4A中像素块的垂直方向上四个矢量格式像素对应的矢量元素重叠,并将它们转换成不同的矢量格式像素,如图9到10B所示。具体操作如下。
例如,在图4A中四个矢量格式像素(c0,d0,e0,f0),(c1,d1,e1,f1),(c2,d2,e2,f2)和(c3,d3,e3,f3)中的四个元素f0,f1,f2,f3被转换成一个由图9中虚线包围的矢量格式像素(f0,f1,f2,f3)。同样的,也转换其它的元素。例如,将第一元素转换成像素(c0,c1,c2,c3),将第二元素转换成像素(d0,d1,d2,d3)以及将第三元素转换成像素(e0,e1 e2,e3)。
如图9中所示,在转换后的矢量格式图像数据中,像素块的尺寸在宽度上具有四个像素,以及一个像素的高度和四个像度的深度(矢量像素元素的数目),并在垂直方向上排列的各个像素之间设定垂直方向上的像素块边界。图10A显示了平面格式中每个元素的矢量格式的像素。
如图10B中所示,转换后的矢量格式像素配置有四个元素,并且每个元素由8位整数格式来表示。
如果转换成不同矢量格式的操作完成了,垂直标量像素重叠单元7将重叠后的矢量格式图像数据输出到垂直矢量图像存储器单元8。
垂直矢量图像存储器单元8保存了从垂直标量像素重叠单元7中输出的矢量格式图像数据(图9到10B)。
垂直矢量图像处理单元9使存储在垂直矢量图像存储器单元8中的矢量格式图像数据(图9到10B)在垂直方向上的像素块边界经受去块过滤处理。在这种情况下,如图11中所示,使用排列在像素块垂直方向边界的上侧和下侧的八个像素(p3到p0以及q0到q3),作为关于边界的去块过滤器的参考像素。具体处理内容将在下面进行说明。
对于垂直方向上像素块边界的去块过滤器的处理内容,对应于通过将水平矢量图像处理单元6的处理内容中的像素p3到p0,q0到q3,p3′到p1′以及q0′到q3′作为如图11中所示的垂直方向上排列的像素值所获得的值。
因此,根据实施例的图像处理装置,因为通过垂直标量像素重叠单元7将图像数据的像素转换成如图9到10B中所示的矢量格式像素,所以可通过为两个矢量格式像素执行算术运算来计算加权平均值。此外,仅仅需要处理器中的并行运算单元确定两个矢量格式像素中的一个并且可将条件转移的数目限制为2。
因此,可有效地执行关于垂直方向上像素块边界的去块过滤器的操作。
在图12A到12C中显示了关于垂直方向上的像素块边界的去块过滤器操作的处理相关性。关于水平方向上像素块边界的去块过滤器操作的处理相关性相似,为了正确地执行算术运算,首先,对于上述像素使图12A中行0和行1像素之间的边界进行过滤处理。在完成上述过滤处理之后,对于上述像素对图12B中行1和行2像素之间的边界进行过滤。接着,在完成上述过滤处理之后,对于上述像素对图12C中行2和行3像素之间的边界进行过滤处理。
接着,如果位于垂直方向上的像素块边界附近的所有像素的加权平均值的计算完成,垂直矢量图像处理单元9将经过去块过滤处理的矢量格式图像数据输出到垂直矢量图像存储器单元8中。
垂直矢量图像展开单元10将保存在垂直矢量图像存储器单元8中的矢量格式图像数据(图9到10B)读出,并且在垂直方向上将矢量格式像素的元素展开,以将图像数据转换成标量格式图像数据(图3A和3B)。在这种情况下,在从矢量格式转换到标量格式的转换操作中,根据像素块的高度、转换前矢量格式像素的格式和转换后矢量格式像素的格式的条件等,选择适当的转换方法。
在实施例中,如图3A所示,像素块的高度为4个像素。此外,如在图10B中所示,转换前的标量格式像素由8位整数格式来表示。同样,如图3B所示,转换后的标量格式像素由8位的整数格式来表示。
在这种情况下,垂直矢量图像展开单元10通过将图9中所示的矢量格式像素的元素在垂直方向上展开,来使矢量格式像素转换成如图3A中所示的标量格式像素。
例如,将图9中由虚线包围的一个矢量格式像素(f0,f1,f2,f3)转换成图3A中由虚线包围的四个标量格式像素f0,f1,f2,f3。
接着,在从矢量格式到标量格式的转换完成之后,垂直矢量图像展开单元10将展开后的标量格式图像数据输出到输出标量图像存储器单元11中。
输出标量图像存储器单元11中存储了从垂直矢量图像展开单元10中输出的标量格式图像数据。
呈现单元12将保存在输出标量图像存储器单元11中的图像数据呈现给用户。
如上所示,根据该实施例的图像处理装置,将邻近像素块边界的多个像素重叠,并将其转换成矢量格式。因此,通过完全发挥通用并行矢量处理器例如GPU的算术运算能力,能够提高去块过滤器的运算速度。
(第二实施例)如图13中所示,第二实施例不同于第一实施例,在于水平像素阵列排序单元13和垂直矢量像素阵列排序单元14被另外提供在根据第一实施例的图像处理装置中。因此,与图1相同的部分由相同的附图标记来表示,并且将略去对相同部分的重复说明。
如图8A到8C中所示,在第一实施例中的水平矢量图像处理单元6,通过使用去块过滤器(图8A),使列0像素块和列1像素块的像素进行并行处理(图8B),并且接着在前一个过程完毕之后使列1和列2的像素进行并行处理。接着,在整个处理完成之后,使列2和列3的像素进行并行处理(图8C)。
因此,水平矢量图像处理单元6使用像素块两个列的区域,作为在每个并行处理中的处理单元。因此,例如,将输入标量图像(图3A和3B)的分辨率设定为1920像素宽和1080像素高的情况下,并行处理的单元被设定为具有两个像素宽和1080像素高的非常狭窄的区域。
在并行处理器例如GPU中,当非常狭窄的像素区域经受并行处理的时候,降低了并行运算单元的运算速率和高速缓存的命中率,并且在许多情况下原始算术运算能力不能得到充分利用。
因此,在该实施例的图像处理装置中,通过使用水平像素阵列排序单元13读出从水平标量像素重叠单元4输出的矢量格式图像数据(图4A到4C),并且将排列在垂直方向上的一个列上的矢量格式像素串排序到多个列上(参考图14)。
例如,将排列在图4B中由虚线包围的左端部分上沿垂直方向的一个列上的矢量格式像素串(00,10,20,30)到(0f,1f,2f,3f)排序为排列在图15A中由虚线包围的左端部分上沿垂直方向的两个列上的矢量格式像素串。图15B是显示在替换平面格式中每个元素之后,矢量格式像素的图。
因此,因为并行处理单元从一个狭窄的形状改变成近似地等于正方形的形状,并且增强了并行运算单元的运算速率和高速缓存的命中率,所以可以有效地在后段(stage)水平矢量图像处理单元6中执行关于水平方向上像素块边界的去块过滤器的操作。
另一方面,如图12A到12C中所示,第一实施例中的垂直矢量图像处理单元9使行0的像素块和行1的像素块的像素进行并行处理(图12A),并且在上面的处理完成之后,使行1和行2的像素进行并行处理(图12B)。接着,在上面处理完成之后,使行2和行3的像素进行并行处理(图12C)。
因此,垂直矢量格式图像处理单元9使用像素块中两个行的区域,作为每次并行处理中的处理单元。因此,例如当输入标量图像(图3A和3B)的分辨率设定为1920像素宽和1080像素高的情况下,并行处理的单元变成具有1920像素宽和两个像素高的非常狭窄的区域。
因此,在依据该实施例的图像处理装置中,由垂直像素阵列排序单元14来执行读取从垂直标量像素重叠单元7中输出的矢量格式图像数据(图9到10B)的处理,以及将排列在水平方向上一个行中的矢量格式像素串排序成为多个行的处理(参考图16)。
例如,将排列在图10A上端部分水平方向上一个行上的矢量格式像素串(00,01,02,03)到(f0,f1,f2,f3)排序为排列在图17A中上端部分水平方向上排列的两个行的矢量格式像素串。图17B是显示在替换平面格式中每个元素之后,矢量格式像素的图。
因此,因为并行处理单元从一个狭窄的形状改变成近似地等于正方形的形状,并且增强了并行运算单元的运算速率和高速缓存的命中率,所以在后段垂直矢量图像处理单元9中可以有效地执行关于垂直方向上像素块边界的去块过滤器的处理。
如上所述,根据第二实施例的图像处理装置,可以增强并行矢量处理器例如GPU的运算速率和高速缓存的命中率,并且可以基于去块过滤器与并行矢量处理器存储器访问系统的处理相关性,通过将矢量格式像素进行排序来提高去块过滤器的运算速度。
(第三实施例)根据第三实施例的图像处理装置,其结构与第一或第二实施例中的图像处理装置结构相同,因此,省略了其的附图和重复的说明。在第三实施例中,如图18所示,说明下述情况将存储在标理图像存储器单元3中的标量格式图像数据像素块的尺寸设定为两个像素宽和两个像素高。
在这种情况下,如图19所示,将排列在水平方向上的像素块之间的边界的右侧和左侧的四个像素(p1,p0,q0,q1)作为关于边界的去块过滤器的参考像素来使用。同样地,如图20所示,将排列在垂直方向上的像素块之间的边界上侧和下侧的四个像素作为关于该边界的的去块过滤器的参考像素来使用。
假定该像素的格式化处理与第一和第二实施例中的相同。
水平标量像素重叠单元4与第一和第二实施例中的水平标量像素重叠单元4是不相同的。其将排列在图18中垂直方向上的像素块之间的边界右侧和左侧上的四个标量格式像素重叠,并且将它们转换成如图21和22中所示的矢量格式像素。具体操作如下。
例如,将图18中虚线包围的四个标量格式像素00,10,20,30转换成由图21中的虚线包围的一个矢量格式像素(00,10,20,30)。将图18中的虚线包围的四个标量格式像素20,30,40,50转换成由图21中的虚线包围的-个矢量格式像素(20,30,40,50)。图22是显示平面格式中每个元素在转换之后获得的矢量格式像素。
通过上面的转换操作,如图23A中所示,通过仅仅对一个矢量格式像素执行算术运算可以完成在水平矢量图像处理单元6中关于水平方向上的像素块的去块过滤器的算术运算。此外,如图23B中所示,不需要处理器中的并行运算单元处理条件转移。
因此,可以有效地执行在水平矢量图像处理单元6中的关于水平方向上的像素块边界的去块过滤器的算术运算。
在图23B中,矢量格式像素(p1,p0,q0,q1)和(p1′,p0′,q0′,q1′)分别由Pq和pq′来表示。此外,filter ()为一个函数,其用于在给定自变量的情况下,对于矢量格式像素值计算加权平均值。
与上面的情况相似,并且与第一个和第二个实施例的情况不同,在垂直标量像素重叠单元7中,对排列在图22中垂直方向上的像素块之间的边界上侧和下侧的四个标量格式像素重叠,并且将其转换成如图24和25中所示的不同的矢量格式像素。
例如,将由图22中的虚线包围的四个标量格式像素e0,e1,e2,e3转换成由图24中的虚线包围的一个矢量格式像素(e0,e1,e2,e3)。同样地,将由图22中的虚线包围的四个标量格式像素f0,f1,f2,f3转换成由图24中的虚线包围的一个矢量格式像素(f0,f1,f2,f3)。图25是显示平面格式中每个元素的矢量格式像素的图。
通过上面的转换操作,可以获得如同在水平方向的情况中相同效果的改进,并且可以有效地执行在垂直矢量图像处理单元9中的关于垂直方向上像素块边界的去块过滤器的算术运算。
如上所示,根据该实施例的图像处理装置,可以完全利用通用并行矢量处理器例如GPU的算术运算能力,并且能够基于像素块尺寸通过对邻近像素块边界的多个像素重叠以及将它们转换成矢量格式,来提高去块过滤器的运算速度。
(第四实施例)根据第四实施例的图像处理装置,其结构与第一或第二实施例中图像处理装置的结构相同,由此,省略了其的附图和重复的说明。在该实施例中,说明下述情况存储在水平矢量图像存储器单元5和垂直矢量图像存储器单元8中的四个矢量格式像素的元素由16位的整数格式来表示。
假定像素块的尺寸,去块过滤器的参考像素以及标量格式像素的格式都与第一和第二实施例中的相同。
与第一到第三实施例不同,水平标量像素重叠单元4将图3A中在水平方向上排列的像素块之间的边界右侧和左侧上的八个标量格式像素重叠,并且将它们转换成如图26和27中所示的矢量格式像素。
例如,将图3A中由虚线包围的八个标量格式像素80,90,a0,b0,c0,d0,e0,f0转换成图26中由虚线包围的一个矢量格式像素(80/90,a0/b0,c0/d0,e0/f0)。在这种情况下,80/90表示一个16位的值,其具有分配给上面八位的像素80的值以及分配给下面八位的像素90的值。图28是显示存储器上像素排列次序的例子的图。
通过上面的转换操作,如图29A中所示,可以通过仅仅对一个矢量格式像素执行算术运算来完成水平矢量图像处理单元6中关于水平方向上的像素块的去块过滤器的算术运算。此外,如图29B中所示,不需要处理器的并行运算单元处理条件转移。
因此,可以有效地执行在水平矢量图像处理单元6中关于水平方向上像素块边界的去块过滤器的算术运算。
在图29B中,矢量格式像素(p3/p2,p1/p0,q0/q1,q2/q3)和(p3′/p2′,p1′/p0′,q0′/q1′,q2′/q3′)分别由Pq和pq′来表示。此外,filter ()为一个函数,其用于在给定自变量的情况下,对于矢量格式像素值计算加权平均值。
与第一到第三实施例不同,垂直标量像素重叠单元7将图27中排列在像素块之间垂直方向上的边界上侧和下侧的八个标量格式像素重叠以像上面的情况一样将它们转换成如同在图30和31B中显示的不同的矢量格式像素。
例如,将图27中由虚线包围的八个标量格式像素上面的八个比特转换成图30中由虚线包围的一个矢量格式像素(00/01,02/03,04/05,06/07)。
通过上面的转换操作,可以获得如同在水平方向的情况中相同效果的改进并且可以有效地执行垂直矢量图像处理单元9中关于垂直方向上像素块边界的数据去块过滤器的算术运算。
如上所示,根据该实施例的图像处理装置,可以完全利用通用并行矢量处理器例如GPU的算术运算能力,并且能够基于矢量格式像素格式上通过对邻近像素块边界的多个像素重叠并将它们转换成矢量格式,来提高去块过滤器的运算速度。
(第五实施例)根据第五实施例的图像处理装置,其结构与第一或第二实施例中图像处理装置的结构是相同的,由此,省略了其的附图和重复的说明。在该实施例中,说明下述情况对如图32中所示的将在水平方向上排列的像素块之间的边界右侧和左侧的四个像素(p1,p0,q0,q1)作为关于该边界的的去块过滤器的参考像素来使用。同样地,如图33中所示,说明下述情况将排列在垂直方向上的像素块之间的边界上侧和下侧的四个像素作为关于该边界的去块过滤器的参考像素来使用。
假定像素块的尺寸和像素的格式都与第一和第二实旋例中的相同。
与第一到第四实施例不同,水平标量像素重叠单元4将图3A中在水平方向上排列的像素块之间的边界右侧和左侧的四个标量格式像素重叠,并且将它们转换成如图34A和34B中显示的矢量格式像素。
例如,将图3A中由虚线包围的四个标量格式像素20,30,40,50转换成图34A中由虚线包围的一个矢量格式像素(20,30,40,50)。
通过上面的转换操作,通过仅仅为如图29A中所示的一个矢量格式像素执行算术运算可以完成水平矢量图像处理单元6中关于水平方向上的像素块的去块过滤器的算术运算。此外,如图29B中所示,不需要处理器中的并行运算单元处理条件转移。
因此,可以有效地执行在水平矢量图像处理单元6中关于水平方向上像素块边界的去块过滤器的算术运算。
与第一到第四实施例不同,垂直标量像素重叠单元7将图34B中排列在垂直方向上的像素块之间的边界上侧和下侧的四个标量格式像素重叠,并且如同上面的情况一样,将它们转换成如图35A和35B中所示的矢量格式像素。
例如,将图34A中由虚线包围的四个标量格式像素22,23,24,25转换成图35A中由虚线包围的一个矢量格式像素(22,23,24,25)。
通过上面的转换操作,可以获得如同在水平方向的情况中相同效果的改进,并且可以有效地执行在垂直矢量图像处理单元9中关于垂直方向上像素块边界的去块过滤器的算术运算。
如上所示,根据该实施例的图像处理装置,可以完全利用通用并行矢量处理器例如GPU的算术运算能力,并且能够基于去块过滤器的参考像素通过对邻近像素块边界的多个像素重叠,并将它们转换成矢量格式,来提高去块过滤器的运算速度。
(第六实施例)根据第六实施例的图像处理装置,其结构与第二个实施例中图像处理装置的结构相同,并且,省略了其的附图和重复的说明。在该实施例中,由水平像素阵列排序单元13和垂直像素阵列排序单元14执行的像素替换方法与第二实施例中的不同。
在第二实施例中,水平像素阵列排序单元13读取从水平标量像素重叠单元4输出的矢量格式图像数据(图4A到4C),并且将排列在垂直方向上的一个列上的标量格式像素阵列排序成多个列。
与此相反,在该实施例中,水平像素阵列排序单元13执行将列在垂直方向上的一个列的标量格式像素阵列排序成多个列,并且接着对该多个列进行再分配的处理。
例如,将排列在图4B中由虚线包围的左端部分垂直方向上的一个列的矢量格式像素串(00,10,20,30)到(0f,1f,2f,3f)排序为排列在四列(四行)上的矢量格式像素串,并且接着将其分配到图36A和36B中8行8列的像素区域的左上部分。
此外,将排列在图4B中从左端部分开始的第二列上的矢量格式像素串(40,50,60,70)到(4f,5f,6f,7f)排序为排列在四列(四行)上的矢量格式像素串,并且接着将其分配到图36A和36B中8行8列的像素区域的右上部分。
将排列在图4B中从左端部分开始的第三列上的矢量格式像素串(80,90,a0,b0)到(8f,9f,af,bf)排序为排列在四个列(四个行)上的矢量格式像素串并且接着将其分配到图36A和36B中8行8列的像素区域的左下部分。
此外,将排列在图4B中右端部的矢量格式像素串(c0,d0,e0,f0到(cf,df,ef,ff)排序为排列在四个列(四个行)上的矢量格式像素串,并且接着将其分配到图36A和36B中8行8列的像素区域的右下部分。
图37显示了本实施例中再分配方法的一个例子。根据图37,水平像素阵列排序单元13将排列在垂直方向的一列上的矢量格式像素串排序为多个列,并且接着在水平方向上顺序地分配该多个列。执行过适当次数的分配处理之后,该处理回到起始点,接着进入下一行,并且执行相同次数以将他们顺序地在水平方向上进行分配。
根据并行矢量处理器的存储访问方法和高速缓存的结构,可以确定转变位置。
通过执行上面的再分配处理,增强了并行运算单元的运算速率和高速缓存的命中率,由此,可以有效地执行在后段水平矢量图像处理单元6中关于水平方向上的像素块边界的去块过滤器的运算。
该实施例的垂直像素阵列排序单元14执行将在水平方向上排列的一行的矢量格式像素串排序为多个行,并且接着对该多个行进行再分配的处理。该再分配处理是该实施例垂直像素阵列排序单元14的特点。
例如,将图10A中排列在由虚线包围的上端的水平方向上的一行的矢量格式像素串(00,01,02,03)到(f0,f1,f2,f3)排序为排列在四行(四列)上的矢量格式像素串,并且接着将其分配到图38A和38B中8行8列的像素区域的左上部分。
将排列在图10A中从顶端开始第二行上的矢量格式像素串(04,05,06,07)到(f4,f5,f6,f7)排序为排列在四行(四列)上的矢量格式像素串,并且接着将其分配到图38A和38B中8行8列的像素区域的右上部分。
此外,将排列在图10A中从顶端开始第三行上的矢量格式像素串(08,09,0a,0b)到(f8,f9,fa,fb)排序为排列在四行(四列)上的矢量格式像素串,并且接着将其分配到图38A和38B中8行8列的像素区域的左下部分。
此外,将排列在图10A中底端部分的矢量格式像素串(0c,0d,0e,0f)到(fc,fd,fe,ff)排序为排列在四行(四列)上的矢量格式像素串,并且接着将其分配到图38A和38B中8行8列的像素区域的右下部分。
图39显示了该实施例中再分配方法的一个例子,根据图39,垂直像素阵列排序单元14将在水平方向上排列的一行上的矢量格式像素串排序为多个行,并且接着在水平方向上顺序地将该多个列进行分配。执行过适当次数的分配处理之后,该处理回到起始点,接着转到下一行,并且通过相同次数的执行以将他们顺序地在水平方向上进行分配。
根据并行矢量处理器的存储访问系统和高速缓存的结构来确定转变位置。
通过执行上面的再分配处理,增强了并行运算单元的运算速度和高速缓存的命中率,由此,可以有效地执行后段垂直矢量图像处理单元9中关于垂直方向上像素块边界的去块过滤器的运算。
如上所述,根据该实施例的图像处理装置,可以增强并行矢量处理单元例如GPU的运算速度和高速缓存的命中率,并且可以基于去块过滤器的处理相关性以及并行矢量处理单元存储器访问系统,通过将矢量格式像素进行排序,来提高去块过滤器的运算速度。
(第七实施例)根据第七实施例的图像处理装置,其结构与第二实施例中图像处理装置的结构相同,由此,省略了其的附图和重复的说明。在该实施例中,由水平像素阵列排序单元13和垂直像素阵列排序单元14执行的像素替换方法与第二实施例中的不同。
在第六实施例中,水平像素阵列排序单元13将排列在垂直方向上的一列的矢量格式像素串排序为多个列,并且接着在水平方向上顺序地对该多个列进行分配。
与比相反,如图40中所示,水平像素阵列排序单元13将排列在垂直方向上的一列的矢量格式像素串排序为多个列,并且接着在垂直方向上顺序地对该多个列进行分配。执行过适当次数的分配处理之后,该处理回到起始点,接着转到下一行,并且通过执行相同次数以将他们顺序地在垂直方向上进行分配。
根据并行矢量处理器的存储访问系统和高速缓存的结构来确定转变位置。
通过执行上面的再分配处理,增强了并行运算单元的运算速度和高速缓存的命中率,并且,可以有效地执行后段水平矢量图像处理单元6中关于水平方向上像素块边界的去块过滤器的运算。
第六实施例的垂直像素阵列排序单元14将在水平方向上排列的一行的矢量格式像素串排序为多个行,并且接着顺序地对在水平方向上的该多个行进行分配。
与此相反,如图41中所示,垂直像素阵列排序单元14将在水平方向上排列的一行的矢量格式像素串排序为多个行,并且接着顺序地对该多个行在垂直方向上进行分配。执行过适当次数的分配处理之后,该处理回到起始点,接着转到下一行,并且通过相同次数的执行以将他们顺序地在垂直方向上进行分配。
根据并行矢量处理器的存储访问系统和高速缓存的结构来确定转变位置。
通过执行上面的再分配处理,增强了并行运算单元的运算速率和高速缓存的命中率,由此,可以有效地执行后段垂直矢量图像处理单元9中关于垂直方向上像素块边界的去块过滤器的运算。
如上所述,根据该实施例的图像处理装置,可以增强并行矢量处理单元例如GPU的运算速率和高速缓存的命中率,并且可以基于去块过滤器的处理相关性与并行矢量处理单元存储器访问系统,将矢量格式像素进行排序,来提高去块过滤器的运算速度。
在上面的实施例中,对标量像素重叠处理的顺序为先是水平像素接着是垂直像素,但是可以首先执行该垂直像素的重叠处理,同对使其经受去块过滤器处理,并且接着执行水平像素的重叠处理。
此外,在上面的实施例中,将水平像素和垂直像素两者的标量像素重叠,并转换成矢量格式,但是可仅仅对上面两个像素类型中的一个执行重叠处理。在这种情况下,例如,在第一实施例中,可首先执行由水平矢量图像处理的去块过滤器处理,并且接着对水平矢量像素展开。
根据本发明,可以完全利用通用并行矢量处理器例如GPU的能力,并且提高去块过滤器的运算速度。
本领域技术人员可以容易地想到其它的优点和改进。由此,本发明具有更宽的范围,并且不会局限于在此处描述的特定的详细情况,示例性装置,以及示出的图例。因此,在不脱离由下附权利要求及其等同所定义的概括发明原理的精神或范围的基础上,可对本发明进行各种修改。
权利要求
1.一种图像处理装置,其特征在于包括重叠单元(4,7),被配置成将排列在水平方向和垂直方向中至少一个方向上的多个标量格式图像重叠,并且将它们转换成矢量格式图像数据;以及图像处理单元(6,9),被配置成对该矢量图像数据执行去块过滤器处理。
2.根据权利要求1所述的装置,其特征在于,进一步包括展开单元,被配置成在水平方向和垂直方向中至少一个方向上、将对其执行了去块过滤器处理的矢量格式图像数据中的像素的每个元素展开,并且将矢量格式图像数据转换成标量格式图像数据。
3.根据权利要求1所述的装置,其特征在于,进一步包括排序单元,被配置成对矢量格式像素串进行排序以创建多个列,其中该矢量格式像素串被包括在重叠单元输出的矢量格式图像数据中,并且被排列在垂直方向上的一个列上。
4.根据权利要求1所述的装置,其特征在于还包括第一存储器,被配置成保存包括程序的数据以及运动图像,该程序控制每个单元的操作;第二存储器,被配置成存储多个标量格式图像;第三存储器,被配置成存储矢量格式图像数据;以及第四存储器,被配置成存储通过展开矢量格式图像数据所获得的标量格式图像数据,其中对该矢量格式图像数据执行了去块过滤器处理。
5.根据权利要求1所述的装置,其特征在于还包括呈现单元,被配置成呈现通过展开矢量格式图像数据所获得的标量格式图像数据,其中对该矢量格式图像数据执行了去块过滤器处理。
6.根据权利要求1所述的装置,其特征在于重叠单元将标量格式图像转换成矢量格式图像数据,使得对在包括预定数目像素的像素块中在水平方向或垂直方向上连续排列的像素被转换为一个矢量的元素。
7.根据权利要求1所述的装置,其特征在于图像处理单元从位于矢量格式图像数据的端部上的矢量格式像素,顺序地执行去块过滤器的处理。
8.根据权利要求1所述的装置,其特征在于重叠单元将标量格式图像转换成矢量格式图像数据,使得在包括预定数目像素的像素块以及与此相邻像素块中在水平方向或垂直方向上连续排列的像素被转换为一个矢量的元素。
9.一种图像处理装置,其特征在于包括第一重叠单元,被配置成将在水平方向上排列的多个标量格式图像重叠,并且将它们转换成第一矢量格式图像数据;第一图像处理单元,被配置成对第一矢量图像数据执行去块过滤器处理;第二重叠单元,被配置成对在水平方向上排列的多个标量格式图像的每个元素重叠以将它们转换成第一矢量格式图像数据;第二图像处理单元,被配置成对第二矢量图像数据执行去块过滤器处理。
10.根据权利要求9所述的装置,其特征在于还包括展开单元,被配置成在垂直方向上将第二矢量格式图像数据中的像素的每个元素展开,其中第二图像处理单元对该第二矢量格式图像数据执行了去块过滤器处理,并且将第二矢量格式图像数据转换成标量格式图像数据,。
11.根据权利要求9所述的装置,其特征在于还包括第一存储器,被配置成保存包括程序的数据以及运动图像,该程序控制每个单元的操作;第二存储器,被配置成存储多个标量格式图像;第三存储器,被配置成存储第一和第二矢量格式图像数据;以及第四存储器,被配置成存储通过展开矢量格式图像数据所获得的标量格式图像数据,其中对该矢量格式图像数据执行了去块过滤器处理。
12.根据权利要求9所述的装置,其特征在于还包括呈现单元,被配置成使其呈现通过展开矢量格式图像数据所获得的标量格式图像数据,其中对该矢量格式图像数据执行了去块过滤器处理。
13.根据权利要求9所述的装置,其特征在于重叠单元将标量格式图像转换成矢量格式图像数据,使得对在包括预定数目像素的像素块中在水平方向或垂直方向上连续排列的像素被转换为一个矢量的元素。
14.根据权利要求9所述的装置,其特征在于图像处理单元从位于矢量格式图像数据的端部上的矢量格式像素,顺序地执行去块过滤器处理。
15.根据权利要求9所述的装置,其特征在于还包括第一排序单元,被配置成对矢量格式像素串进行排序以创建多个列,其中该矢量格式像素串被包括在第一重叠单元输出的矢量格式图像数据中,并且被排列在垂直方向上的一个列上;以及第二排序单元,被配置成对矢量格式像素串进行排序以创建多个列,该矢量格式像素串被包括在第二重叠单元输出的矢量格式图像数据中,并且被排列在水平方向上的一个行上。
16.一种图像处理方法,其特征在于包括将在水平方向上和垂直方向中至少一个方向上排列的多个标量格式像素重叠并且将它们转换成矢量格式图像数据;以及对该矢量图像数据执行去块过滤器处理。
17.一种用于对图像数据执行去块过滤器处理的计算机可读程序,其特征在于包括用于将在水平方向上和垂直方向中至少一个方向上排列的多个标量格式像素重叠并且将它们转换成矢量格式图像数据的代码单元;以及用于对该矢量图像数据执行去块过滤器处理的代码单元。
全文摘要
一种图像处理装置,其具有重叠单元(4,7)和图像处理单元。该重叠单元将在水平方向上和垂直方向中至少一个方向上排列的多个标量格式图像重叠,并且将它们转换成矢量格式图像数据。该图像处理单元(6,9)对该矢量图像数据执行去块过滤器处理。
文档编号H04N7/26GK101087425SQ20071012825
公开日2007年12月12日 申请日期2007年3月23日 优先权日2006年3月31日
发明者爰岛快行 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1