技术领域
[0001] 本
发明涉及图像处理装置,尤其涉及对三维图形图像进行
抗锯齿(anti-aliasing)处理等图像处理的图像处理装置。
背景技术
[0002] 在数字图像中不能进行比
像素单位更精细的描绘,因而导致多边形的轮廓(边缘)产生锯齿。例如,在描绘了如图16(A)所示的多边形的情况下,如果扩大多边形的倾斜的轮廓线,将导致成为如图16(B)所示的锯齿状(jaggy)。为了使这些锯齿不显眼,而采用抗锯齿处理的方法。
[0005] 专利文献1:日本专利第3626709号
公报[0006] 发明概要
[0007] 发明要解决的问题
[0008] 但是,存在为了进行抗锯齿处理而需要大容量的
存储器的问题。
发明内容
[0009] 本发明正是为了解决上述问题而提出的,其目的在于,提供一种图像处理装置,不需要大容量的存储器,而且能够尽可能地保存子像素的信息来实现画质提高。
[0010] 用于解决问题的手段
[0011] 本发明的一个方式的图像处理装置具有:边界判定部,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储部,对于所述多个像素中的各个像素,选择将各像素分割为多个而得到的子像素中的一个子像素作为代表子像素,或者将所述多个子像素的像素值进行混合来生成代表子像素,并将所述代表子像素的像素值即代表像素值存储在代表像素值保存区域中;以及子像素值存储部,对于由所述边界判定部判定为包含规定的边界的各个像素,将由所述代表像素值存储部选择的所述代表子像素以外的各子像素的像素值存储在子像素值保存区域中。并且,所述子像素值保存区域能够保存N像素量的、像素
位置与该像素位置的像素的所述代表子像素以外的各子像素的像素值的组,其中N为自然数,所述N像素比所述边界判定部中的处理单位少。
[0012] 另外,这些全盘的或者具体的方式也可以以系统、方法、集成电路、
计算机程序或者记录介质来实现,还可以以系统、方法、集成电路、计算机程序或者记录介质的任意组合来实现。
[0013] 发明效果
[0014] 根据本发明,通过研究被存储在存储器中的图像数据的数据构造,并且限制在子像素值保存区域中能够保存的像素数,能够节约例如进行存储器间传输所需要的存储器频带和存储器容量。
附图说明
[0015] 图1A是说明本发明的一个方式的图像处理装置的概况的图。
[0016] 图1B是表示本发明的实施方式1的图像处理装置的结构的
块图。
[0017] 图2A是表示图像处理部的具体结构的一例的图。
[0018] 图2B是表示图像处理部的具体结构的另一例的图。
[0019] 图3A是表示由图像处理部生成的64像素的图像数据的示例的图。
[0020] 图3B是表示对图3A的像素数据进行抗锯齿处理的结果的图。
[0021] 图4是表示传输部的具体结构的一例的图。
[0022] 图5是表示图4的传输部的处理步骤的
流程图。
[0023] 图6A是表示在多边形边界判定处理中使用的图像数据的示例的图。
[0024] 图6B是表示对图6A的图像数据进行多边形边界判定处理的结果的图。
[0025] 图7A是表示根据最大色差选择像素的示例的图。
[0026] 图7B是表示根据进深值的最大差选择像素的示例的图。
[0027] 图8A是表示包含多边形边界的像素的具体情况的图。
[0028] 图8B是表示在代表像素值保存区域中保存的数据的一例的图。
[0029] 图8C是表示在子像素值保存区域中保存的数据的一例的图。
[0030] 图9A是表示根据Z测试的结果选择代表子像素的示例的图。
[0031] 图9B是表示根据写入有效比特选择代表子像素的示例的图。
[0032] 图10是表示传输部的具体结构的另一例的图。
[0033] 图11是表示图10的传输部的处理步骤的流程图。
[0034] 图12A是表示在代表像素值保存区域中保存的数据的一例的图。
[0035] 图12B是表示在子像素值保存区域中保存的数据的一例的图。
[0036] 图12C是表示在图像数据解压缩处理中被解压缩的图像数据的一例的图。
[0037] 图13是表示实施方式2的传输部的具体结构的图。
[0038] 图14是表示图13的传输部的处理步骤的流程图。
[0039] 图15A是说明包含多边形边界的像素的数量较多时的示例的图。
[0040] 图15B是表示包含多边形边界的像素数与在子像素值保存区域中保存的像素值的
精度的关系的图。
[0041] 图16是说明锯齿的产生例的图。
[0042] 图17是表示过去的图像处理装置的结构的块图。
具体实施方式
[0044] 作为抗锯齿处理的一种方法有这样的方法:根据产生锯齿的像素区域内的描绘图形的占有率,将描绘图形的像素值和背景的像素值进行混合,由此使锯齿不显眼。所谓占有率是表示图形的描绘区域相对于该像素而占据的比率的值。关于计算占有率的方法公知有这样的
算法:在1像素的范围内取多个
采样点,对每个采样点判定其位置是在图形的描绘区域内还是区域外,将被判定为描绘区域内的个数与1像素内的采样点数之比作为占有率(
过采样)。
[0045] 另一方面,在三维图形中,相对于画面在进深方向也存在坐标,有时多个图形在进深方向上相互重叠。当在三维图形中进行基于过采样的抗锯齿处理时,将一个像素假想地分割为多个采样点(子像素),对于所有图形按照子像素单位来判定描绘或者不描绘,由此能够实现。并且,在描绘了所有图形后,在各像素中将该像素的各子像素的像素值(
颜色)进行混合,将所得到的颜色作为该像素的颜色。但是,需要用于保存所有子像素颜色的大容量的存储器,还需要采样点的倍数量的用于写入存储器的频带,直到所有图形的描绘结束。
[0046] 作为解决上述问题的过去的图像处理装置有这样的方法,将对每个像素能够保存的子像素限制为小于采样点数量,由此降低所需要的存储器容量(例如,参照专利文献1)。
[0047] 图17是表示专利文献1记载的过去的图像处理装置900的图。在图17中,图像处理装置900具有像素数据生成部901、描绘控制部906、像素保存用存储器905和像素数据整合部907,像素数据生成部901具有坐标产生部902、颜色值产生部903和像素占有率产生部904。
[0048] 坐标产生部902根据来自CPU(省略图示)的描绘命令,生成描绘对象图形的三维
顶点坐标。颜色值产生部903根据来自CPU的描绘命令,生成作为描绘对象的像素的颜色值。像素占有率产生部904对每个像素计算描绘对象图形的占有率。
[0049] 描绘控制部906在将像素数据生成部901生成的像素数据存储在像素保存用存储器905中时,对每个像素进行基于进深值(Z值)和占有率的写入控制(取舍选择像素数据)。像素保存用存储器905对每个像素保存规定数量(多个)的、被描绘在同一像素中的多个图形的像素数据。像素数据整合部907根据各个像素数据的占有率和Z值,将与在像素保存用存储器905中保存的同一像素相关的各像素数据的颜色值进行混合。
[0050] 即,在专利文献1中,限制每一个像素的应该保存的子像素数据的数量,在超过限制时对像素数据进行整合,由此降低所需要的存储器容量。
[0051] 但是,在上述过去的结构中,由于将在1像素中能够保存的子像素数据的数量限制为重叠的图形的数量,因而当在同一像素中按照子像素单位产生大量的图形的重叠的情况下,导致要进行几次子像素数据的取舍选择。其结果是,存在容易产生局部的画质恶化的问题。
[0052] 为了解决这种问题,本发明的一个方式的图像处理装置具有:边界判定部,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储部,对于所述多个像素中的各个像素,选择将各像素分割为多个而得到的子像素中的一个子像素作为代表子像素,或者将所述多个子像素的像素值进行混合来生成代表子像素,并将所述代表子像素的像素值即代表像素值存储在代表像素值保存区域中;
以及子像素值存储部,对于由所述边界判定部判定为包含规定的边界的各个像素,将由所述代表像素值存储部选择的所述代表子像素以外的各子像素的像素值存储在子像素值保存区域中。并且,所述子像素值保存区域能够保存N像素量的、像素位置与该像素位置的像素的所述代表子像素以外的各子像素的像素值的组,其中N为自然数,所述N像素比所述边界判定部中的处理单位少。
[0053] 根据上述结构,通过研究被存储在存储器中的图像数据的数据构造,并且限制能够保存在子像素值保存区域中的像素数,能够节约例如进行存储器间传输所需要的存储器频带和存储器容量。
[0054] 另外,也可以是,该图像处理装置具有:第1存储器,将构成图像的各像素分割为多个子像素,将每个所述子像素的像素值保存为图像数据;第2存储器,包括所述代表像素值保存区域和所述子像素值保存区域;图像处理部,对被保存在所述第1存储器中的所述图像数据进行图像处理;以及传输部,在所述第1存储器和所述第2存储器之间传输所述图像数据的至少一部分,该传输部包括所述边界判定部、所述代表像素值存储部和所述子像素值存储部。
[0055] 作为上述结构中的典型例子,关于第1存储器有保存由图像处理部进行存取的频次较高的图像数据的存储器。另一方面,关于第2存储器有临时保存由图像处理部进行存取的频次较低的图像数据等的存储器。因此,第1存储器需要保存所有子像素的像素值,而第2存储器只要保存不包含多边形边界的像素的代表像素值、和包含多边形边界的像素的所有子像素的像素值即可。这样,通过研究保存数据的数据构造,能够节约在第1及第2存储器之间的传输中需要的存储器频带和第2存储器的存储器容量。
[0056] 另外,也可以是,所述边界判定部计算处理单位内的包含规定的边界的像素数。并且,也可以是,所述子像素值存储部在由所述边界判定部计算出的像素数越大时,越增大能够存储到所述子像素值保存区域中的像素数N,来取代减小存储到所述代表像素值保存区域、以及/或者所述子像素值保存区域中的像素值的比特数。
[0057] 这样,通过增加在子像素值保存区域中能够保存的像素数,来取代降低在第2存储器中保存的像素值的精度(比特数),无论在保存多边形边界较多的图像的图像数据的情况下,还是在保存多边形边界较少的图像的图像数据的情况下,都能够将第2存储器的存储器容量设为一定量。
[0058] 另外,也可以是,该图像处理装置具有像素选择部,在由所述边界判定部判定为包含规定的边界的像素数超过N(N为自然数)个的情况下,该像素选择部从所述判定出的像素中选择N个像素。并且,也可以是,所述子像素值存储部对于由所述像素选择部选择的各个像素,将所述代表子像素以外的各子像素的像素值存储在所述子像素值保存区域中。
[0059] 另外,也可以是,所述像素选择部对于由所述边界判定部判定为包含规定的边界的各个像素,计算该像素所包含的子像素之间的最大色差,按照计算出的最大色差从大到小的像素顺序选择N个像素。
[0060] 这样,在包含多边形边界的像素较多的情况下,通过不将多边形边界不易显眼的像素(最大色差较小的像素)的代表子像素以外的各子像素的像素值存储在子像素值保存区域中,能够使第2存储器的存储器容量为一定量。
[0061] 另外,也可以是,所述子像素的像素值包括表示该像素的颜色的颜色值、和表示该子像素的进深方向的位置的进深值。并且,也可以是,所述像素选择部从由所述边界判定部判定为包含规定的边界的像素中,按照子像素间的进深值的最大差从大到小的像素顺序选择N个像素。
[0062] 另外,也可以是,所述子像素的像素值包括表示该像素的颜色的颜色值、和表示该子像素的进深方向的位置的进深值。也可以是,所述像素选择部对于由所述边界判定部判定为包含规定的边界的各个像素,计算该像素所包含的子像素间的最大色差,按照计算出的最大色差从大到小的像素顺序选择N个像素,并且从由所述边界判定部判定为包含规定的边界的像素中,按照子像素间的进深值的最大差从大到小的像素顺序选择N个像素。也可以是,所述子像素值存储部将由所述像素选择部选择的最大色差较大的N个像素各自的所述代表子像素以外的各子像素的颜色值、和由所述像素选择部选择的进深值的最大差较大的N个像素各自的所述代表子像素以外的各子像素的进深值,存储在所述子像素值保存区域的不同区域中。
[0063] 另外,也可以是,使构成所述图像的各像素与被设定为第1值或者第2值的已整合比特相对应,该第1值表示将该像素中所包含的多个子像素的像素值进行混合来生成代表子像素,该第2值表示该像素中所包含的多个子像素的像素值尚未被混合。并且,也可以是,所述像素选择部从由所述边界判定部判定为包含规定的边界、而且所述已整合比特被设定了所述第2值的像素中,选择N个像素。
[0064] 另外,也可以是,该图像处理装置具有:第1存储器,将构成图像的各像素分割为多个子像素,将每个所述子像素的像素值保存为图像数据;以及图像处理部,对被保存在所述第1存储器中的所述图像数据进行图像处理。也可以是,所述第1存储器对每个所述子像素还保存被设定为第3值或者第4值的写入有效比特,该第3值表示是在所述图像处理部此前刚刚进行过的描绘处理中被用于描绘了多边形的子像素,该第4值表示是在所述此前刚刚进行过的描绘处理中没有被用于描绘多边形的子像素。也可以是,所述代表像素值存储部对于由所述边界判定部判定为包含规定的边界、而且所述已整合比特被设定了所述第2值的像素,选择该像素中所包含的多个子像素中写入有效比特被设定了所述第3值的子像素作为代表子像素,或者将写入有效比特被设定了所述第3值的子像素的像素值进行混合来生成所述代表子像素。
[0065] 另外,也可以是,所述代表像素值存储部对由所述边界判定部判定为包含规定的边界、而且未被所述像素选择部选择的像素的所述已整合比特设定所述第1值。
[0066] 另外,也可以是,所述边界判定部对于处理单位的多个像素中的各个像素,计算该像素所包含的子像素间的最大色差,将计算出的最大色差超过
阈值的像素判定为包含规定的边界的像素。
[0067] 另外,也可以是,该图像处理装置具有:第1存储器,将构成图像的各像素分割为多个子像素,将每个所述子像素的像素值保存为图像数据;以及图像处理部,对被保存在所述第1存储器中的所述图像数据进行图像处理。也可以是,所述第1存储器对每个所述子像素还保存被设定为第3值或者第4值的写入有效比特,该第3值表示是在所述图像处理部此前刚刚进行过的描绘处理中被描绘过的子像素,该第4值表示是在所述此前刚刚进行过的描绘处理中未被描绘的子像素。也可以是,所述边界判定部将处理单位的多个像素中、在该像素所包含的子像素之间写入有效比特的值不同的像素,判定为包含规定的边界的像素。
[0068] 另外,也可以是,所述子像素的像素值包括表示该像素的颜色的颜色值、和表示该子像素的进深方向的位置的进深值。并且,也可以是,所述代表像素值存储部对于所述多个像素中的各个像素,根据该像素所包含的子像素间的进深值选择或者生成代表子像素。
[0069] 另外,也可以是,所述图像处理部对被保存在所述第1存储器中的所述图像数据,进行抗锯齿处理、所述图像数据的新生成处理或者利用所述图像数据表述的图像的编辑处理。
[0070] 另外,也可以是,所述传输部具有:代表像素值读出部,从所述第2存储器的所述代表像素值保存区域中读出处理单位的多个像素各自的所述代表像素值;子像素值读出部,从所述第2存储器的所述子像素值保存区域中读出被判定为包含规定的边界的各像素的所述代表子像素以外的各子像素的像素值;以及像素解压缩部,根据由所述代表像素值读出部读出的所述代表像素值、和由所述子像素值读出部读出的所述代表子像素以外的各子像素的像素值,生成包含规定的边界的像素的像素值,将由所述代表像素值读出部读出的所述代表像素值复制到各子像素中,生成被判定为不包含规定的边界的各像素的像素值,将包含所生成的各像素的像素值的图像数据写入所述第1存储器中。
[0071] 另外,也可以是,使构成所述图像的各像素与被设定为第1值或者第2值的已整合比特相对应,该第1值表示将该像素中所包含的多个子像素的像素值进行混合来生成代表子像素,该第2值表示该像素中所包含的多个子像素的像素值尚未被混合。也可以是,所述第1存储器对每个所述子像素还保存被设定为第3值或者第4值的写入有效比特,该第3值表示是在所述图像处理部此前刚刚进行过的描绘处理中被描绘过的子像素,该第4值表示是在所述此前刚刚进行过的描绘处理中未被描绘的子像素。也可以是,所述图像处理部在描绘处理后,对所有子像素的写入有效比特被设定了所述第3值的像素的已整合比特设定所述第2值。
[0072] 作为一例,也可以是,所述规定的边界是多边形边界。
[0073] 本发明的一个方式的图像处理方法包括:边界判定步骤,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储步骤,对于所述多个像素中的各个像素,选择将各像素分割为多个而得到的子像素中的一个子像素作为代表子像素,或者将所述多个子像素的像素值进行混合来生成代表子像素,并将所述代表子像素的像素值即代表像素值存储在代表像素值保存区域中;以及子像素值存储步骤,对于在所述边界判定步骤中被判定为包含规定的边界的各个像素,将在所述代表像素值存储步骤中选择的所述代表子像素以外的各子像素的像素值存储在子像素值保存区域中。所述子像素值保存区域能够保存N像素量的、像素位置与该像素位置的像素的所述代表子像素以外的各子像素的像素值的组,其中N为自然数,所述N像素比在所述边界判定步骤中的处理单位少。
[0074] 本发明的一个方式的程序使计算机对图像进行处理。具体地讲,程序使计算机执行以下步骤:边界判定步骤,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储步骤,对于所述多个像素中的各个像素,选择将各像素分割为多个而得到的子像素中的一个子像素作为代表子像素,或者将所述多个子像素的像素值进行混合来生成代表子像素,并将所述代表子像素的像素值即代表像素值存储在代表像素值保存区域中;以及子像素值存储步骤,对于在所述边界判定步骤中被判定为包含规定的边界的各个像素,将在所述代表像素值存储步骤中选择的所述代表子像素以外的各子像素的像素值存储在子像素值保存区域中。所述子像素值保存区域能够保存N像素量的、像素位置与该像素位置的像素的所述代表子像素以外的各子像素的像素值的组,其中N为自然数,所述N像素比在所述边界判定步骤中的处理单位少。
[0075] 本发明的一个方式的集成电路具有:边界判定部,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储部,对于所述多个像素中的各个像素,选择将各像素分割为多个而得到的子像素中的一个子像素作为代表子像素,或者将所述多个子像素的像素值进行混合来生成代表子像素,并将所述代表子像素的像素值即代表像素值存储在代表像素值保存区域中;以及子像素值存储部,对于由所述边界判定部判定为包含规定的边界的各个像素,将由所述代表像素值存储部选择的所述代表子像素以外的各子像素的像素值存储在子像素值保存区域中。所述子像素值保存区域能够保存N像素量的、像素位置与该像素位置的像素的所述代表子像素以外的各子像素的像素值的组,其中N为自然数,所述N像素比所述边界判定部中的处理单位少。
[0076] 另外,这些全盘的或者具体的方式也可以以系统、方法、集成电路、计算机程序或者记录介质来实现,还可以以系统、方法、集成电路、计算机程序或者记录介质的任意组合来实现。
[0077] 下面,参照附图详细说明本发明的实施方式。另外,下面说明的实施方式均用于示出本发明的一个具体示例。在下面的实施方式中示出的数值、形状、材料、构成要素、构成要素的配置位置及连接方式、步骤、步骤的顺序等仅是一例,其主旨不是限定本发明。并且,关于下面的实施方式的构成要素中、没有在表示最上位概念的独立
权利要求中记载的构成要素,作为任意的构成要素进行说明。
[0078] 首先,参照图1A说明本发明的一个方式的图像处理装置的概况。图1A是说明本发明的一个方式的图像处理装置10的概况块图。图像处理装置10如图1A所示具有边界判定部11、代表像素值存储部12和子像素值存储部13。
[0079] 边界判定部11将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素。代表像素值存储部12对于多个像素中的各个像素,选择多个子像素中的一个子像素作为代表子像素,或者将多个子像素的像素值进行混合来生成代表子像素,并将代表子像素的像素值即代表像素值存储在代表像素值保存区域中。子像素值存储部13对于由边界判定部11判定为包含规定的边界的各个像素,将由代表像素值存储部12选择的代表子像素以外的各子像素的像素值存储在子像素值保存区域中。
[0080] (实施方式1)
[0081] 图1B是表示本发明的实施方式1的图像处理装置的具体结构的一例的块图。图1B所示的图像处理装置100主要具有图像处理部110、第1存储器120、传输部130和第2存储器140。
[0082] 第1存储器120和第2存储器140是保持图像的图像数据的存储部。第1及第2存储器140在保存图像数据这方面是相同的,但保存的图像数据的数据格式不同。具体情况在后面叙述。
[0083] 另外,第1存储器120典型地讲是保存基于光栅电路(未图示)的存取频次较高的数据的超
高速缓冲存储器。与此相对,第2存储器140是保存基于光栅电路的存取频次比第1存储器120内的数据低的数据的主存储器。或者,也可以是,第1存储器120是包括超高速缓冲存储器的主存储器,第2存储器140是虚拟存储器。
[0084] 另外,存储部的具体结构没有特殊限定,只要是能够记录数据的单元即可,可以利
用例如DRAM(Dynamic random access memory:动态随机存储器)、SDRAM(Synchronous dynamic random access memory:同步动态随机存储器)、闪存、强介质存储器、或者HDD(Hard disk drive:
硬盘驱动)等任何存储单元。
[0085] 图像处理部110对被保存在第1存储器120中的图像数据进行图像处理。关于图像处理部110的图像处理的具体示例在后面叙述。传输部130在第1存储器120和第2存储器140之间传输图像数据。关于传输部130对图像数据的传输处理的具体示例在后面叙述。
[0086] 下面,参照图2A和图2B说明图像处理部110的图像处理的具体情况。
[0087] 首先,图2A所示的图像处理部110新描绘图像(多边形图像),将所描绘的图像的图像数据存储在第1存储器120中,并对已经保存在第1存储器120中的图像的图像数据进行编辑(追记、
修改、删除等)。具体地讲,图2A所示的图像处理部110具有坐标产生部111、颜色值产生部112和有效像素比特产生部113。
[0088] 坐标产生部111根据来自光栅(rasterrizer)电路(省略图示)的描绘命令,生成描绘对象的像素的位置坐标的信息。颜色值产生部112根据来自光栅电路的描绘命令,生成描绘对象的像素的像素值。有效像素比特产生部113判定描绘对象像素是否是有效像素(成为显示对象的像素),在是有效像素时生成有效像素比特(写入有效比特(write-enable bit))。并且,图像处理部110根据由坐标产生部111、颜色值产生部112和有效像素比特产生部113生成的信息,将所描绘的图像的图像数据存储在第1存储器120中。
[0089] 另外,本
说明书中的“像素值”包括例如表示该像素(或者子像素)的颜色的颜色值、和表示该像素(或者子像素)的进深方向的位置的进深值。并且,也可以将已整合比特和写入有效比特包含在像素值中、或者与像素值一起保存。
[0090] 已整合比特是与构成图像的各像素对应的比特,被设定第1值(例如“1”)或者第2值(例如“0”)的任意一种数值,该第1值表示将该像素中所包含的多个子像素的像素值进行混合来生成代表子像素,该第2值表示该像素中所包含的多个子像素的像素值尚未被混合。另外,该已整合比特典型地讲是与颜色值和进深值等一起在第1及第2存储器120、
140之间进行传输。
[0091] 写入有效比特是与各子像素对应的比特,被设定第3值(例如“1”)或者第4值(例如“0”)的任意一种数值,该第3值表示是在图像处理部110此前刚刚进行过的描绘处理中被用于描绘了多边形的子像素,该第4值表示是在此前刚刚进行过的描绘处理中没有被用于描绘多边形的子像素。该写入有效比特典型地讲被保存在第1存储器120中,不向第2存储器140传输。
[0092] 即,有效像素比特产生部113对与新被描绘了多边形图像的子像素对应的写入有效比特设定第3值。并且,有效像素比特产生部113对在描绘处理后所有子像素的写入有效比特被设定了第3值的像素的已整合比特设定第2值。
[0093] 由上述的图像处理部110生成并被保存在第1存储器120中的图像数据的一例如图3A所示。图3A是表示由横8像素×纵8像素合计64像素构成的图像数据的示例的图。另外,关于各像素,将采样点的数量设为横2子像素×纵2子像素合计4个。
[0094] 另外,在以后的说明中,将用于确定各像素的像素号码(像素位置ID)设为如下所述定义的号码。具体地讲,定义为用图3A的行号码(α=0~7)和列号码(β=0~7)确定的像素的像素位置ID=8×α+β。即,能够将左上侧的像素表示为像素0(=8×0+0),将右上侧的像素表示为像素7(=8×0+7),将左下侧的像素表示为像素56(=8×7+0),将右下侧的像素表示为像素63(=8×7+7)。
[0095] 其中,图3A的示例中的像素55的4个子像素55a~55d的像素值不同。具体地讲,左上侧的子像素55a、右上侧的子像素55b、及左下侧的子像素55c的像素值是(R,G,B)=(255,255,255),右下侧的子像素55d的像素值是(R,G,B)=(0,102,0)。另外,在图3A的示例中省略记述透明度、进深值、已整合比特及写入有效比特。
[0096] 另一方面,图3A的示例中的像素0及像素38的4个子像素的像素值相同。例如,像素0的4个子像素的像素值是(R,G,B)=(0,102,0),像素38的4个子像素的像素值是(R,G,B)=(255,255,255)。
[0097] 即,关于被存储在第1存储器120中的图像数据,例如对于4个子像素分别是像素值包括例如颜色值(RGB各为1字节、透明度a为1字节)及进深值(Z值为4字节)的信息。在本实施方式1中,各子像素的像素值及进深值使用在各像素的中心坐标位置计算出的值。另外,除像素值及进深值以外,也可以追加已整合比特以及/或者写入有效比特。
[0098] 另外,在上述的示例中,一个子像素中包括颜色值、进深值、已整合比特及写入有效比特等信息,但也可以将这些信息区分保存在不同的区域中。例如,可以区分处理像素值和进深值。
[0099] 另外,图2B所示的图像处理部110具有抗锯齿处理部114。抗锯齿处理部114例如对于图3A所示的像素0~63的子像素值(子像素颜色),按照每个像素将子像素值进行混合,并决定在显示部150显示的像素值(显示像素值)。即,图3A所示的由16×16子像素构成的图像不能直接显示在显示部150,因而按照每个像素将子像素值进行混合来决定最终的显示像素值。
[0100] 具体地讲,抗锯齿处理部114按照每个成分对4个子像素的像素值进行平均来决定显示像素值。例如,在按照R、G、B对图3A的像素55的4个子像素值进行平均时,如图3B所示能够得到显示像素55’的像素值(R,G,B)=(192,216,192)。另一方面,对于4个子像素值相同的像素0和像素38等,也可以省略计算平均的处理,而将任意的子像素值用作显示像素值。并且,抗锯齿处理部114如图3B所示对所有的像素0~63执行抗锯齿处理,将所得到的显示像素值输出给显示部150。
[0101] 显示部150显示从图像处理部110取得的显示像素值。显示部150的具体结构没有特殊限定,例如能够采用
液晶显示器、等离子显示器、或者有机EL(Electro Luminescence)显示器等。
[0102] 另外,为了由图像处理部110执行如上所述的处理,所有子像素的像素值必须解压缩到第1存储器120中。但是,通常第1存储器120的存储器容量比较小,因而在处理较大尺寸的图像数据的情况下,需要仅将
马上进行存取的数据保留在第1存储器120中,将其它数据保存到第2存储器140中。
[0103] 因此,参照图4和图5说明传输部130的具体处理的示例。图4是表示用于从第1存储器120向第2存储器140传输图像数据的传输部130的结构的块图。图5是表示从第1存储器120向第2存储器140传输图像数据的处理(图像
数据压缩处理)的步骤的流程图。图4所示的传输部130主要具有多边形边界判定部131、像素选择部137、代表像素值存储部132和子像素值存储部133。
[0104] 另外,多边形边界判定部131对应于图1A的边界判定部11,代表像素值存储部132对应于图1A的代表像素值存储部12,子像素值存储部133对应于图1A的子像素值存储部13。
[0105] 多边形边界判定部131将多个像素作为一个处理单位,对每个像素判定是否是包含多边形边界的像素(S11)。在后面的示例中,将多边形边界判定部131的处理单位设为8×8像素(合计64像素)。
[0106] 图6A是表示多边形边界判定部131受理的一个处理单位即8×8像素(16×16子像素)、和从右上侧向左下侧延伸的多边形边界(在图中表述为“Edge”)的图。在图6A中,1像素由2×2的子像素构成,带颜色的子像素表示位于多边形内部的子像素,没有颜色的子像素表示多边形外部的子像素。多边形边界判定部131在受理16×16子像素的图像数据后,对每个像素判定该像素是否包含多边形边界。
[0107] 所谓多边形边界是指三维图形中的多边形(三
角形)的边。在图6A的图像数据中所包含的子像素的一部分中包含多边形边界。例如,像素33不包含多边形边界,像素50包含多边形边界。
[0108] 在对每个像素判定是否包含多边形边界时有各种方法,如果是仅根据像素值或进深值进行判定的方法,有根据同一像素内的子像素之间有无像素值的差分(色差)进行判定的方法。并且,关于不包含多边形边界的像素,同一像素内的子像素保存的像素值或者进深值应该全部是相同的值(色差=0)。相反,关于包含多边形边界的像素,在同一像素内应该存在具有与其它子像素不同的像素值的子像素(色差≠0)。能够利用该性质判定多边形边界。
[0109] 另外,在使用色差判定是否是包含多边形边界的像素的情况下,也可以判定为子像素间的最大色差为规定的阈值以下的像素不包含多边形边界,最大色差超过阈值的像素包含多边形边界。例如,计算同一像素内的两个子像素的像素值的每个成分的差分,将计算出的差分的绝对值相加,由此求出色差。并且,能够将针对同一像素内的子像素的所有组合的色差的最大值定义为最大色差。
[0110] 另外,作为对每个像素判定是否包含多边形边界的方法,也能够使用写入有效比特进行判定。具体地讲,也可以是,当在同一像素内的子像素之间写入有效比特的值不同的情况下,多边形边界判定部131判定为在该像素内存在多边形边界。
[0111] 另一方面,如果同一像素内的所有子像素的写入有效比特被设定为相同的值,即如果同一像素内的写入有效比特全部无效(第4值)或者全部有效(第3值),则在该像素内不存在多边形边界。在写入有效比特全部无效的情况下,表示同一像素内的所有子像素不是写入有效,描绘多边形自身是不存在的。另一方面,在写入有效比特全部有效的情况下,表示同一像素内的所有子像素是写入有效,被描绘多边形所
覆盖。
[0112] 其结果是,能够对每个像素决定是否包含多边形边界,如图6B所示,带阴影的像素被分类为包含多边形边界的像素,不带阴影的像素被分类为不包含多边形边界的像素。多边形边界判定部131对每个像素判定是否包含多边形边界,将一个处理单位即8×8像素的图像数据以及表示各像素是否包含多边形边界的信息,传输给像素选择部137、代表像素值存储部132和子像素值存储部133。
[0113] 但是,步骤S11中的“边界”不限于多边形边界,也能够将所有类型的边界设为规定的边界。例如,也可以将图像的轮廓线设为规定的边界,还可以将连接
亮度梯度超过规定的阈值的点得到的线段设为规定的边界。
[0114] 然后,像素选择部137判定由多边形边界判定部131判定为包含多边形边界的像素数是否超过N(N为自然数)个(S12)。该N的值例如可以是根据第1存储器120的存储器容量对图像处理装置100固定分配的值,也可以是根据作为图像处理的对象的图像的尺寸而动态地变更的值。在后面的示例中设为N=16进行说明。
[0115] 并且,在被判定为包含多边形边界的像素数超过16个的情况下(S12:是),像素选择部137从被判定为包含多边形边界的像素中选择16个像素(S13)。另一方面,在被判定为包含多边形边界的像素数为16个以下的情况下(S12:否),像素选择部137选择被判定为包含多边形边界的所有像素。
[0116] 关于选择16个像素的基准,例如可以从被判定为包含多边形边界的像素中,按照子像素间的最大色差从大到小的像素顺序选择16个像素。另外,在图7A的示例中,在子像素之间对每个成分计算差分,将计算出的差分的平方相加,将所得到的结果的平方根的最大值用作最大色差。
[0117] 如图7(A)的模式(A)所示,最大色差较大的像素,其子像素间的颜色的差就较大。另一方面,具有最大色差越小(模式(A)、(B)、(C)的顺序),子像素间的颜色的差就越小的倾向。因此,在从第1存储器120向第2存储器140传输图像数据时,优选优先保存子像素间的颜色的差较大的像素中所包含的子像素的像素值。另一方面,对于子像素间的颜色的差较小的像素,可以认为即使是缺失一部分子像素的像素值时,对画质产生影响的可能性也比较小。
[0118] 另外,像素选择部137选择16个像素的基准不限于上述基准。例如,也可以是,像素选择部137从被判定为包含多边形边界的像素中,按照子像素间的进深值的最大差从大到小的像素顺序选择16个像素。另外,在图7B的示例中,将子像素间的进深值的差的最大值用作进深值的最大差。并且,图7B的进深值是将视点位置的进深值设为0.0,将距始点位置最远的位置的进深值设为1.0。
[0119] 如图7B的模式(A)所示,所谓进深值的最大差较大的像素,表示该像素所包含的子像素在进深方向上距离较远。即,子像素间的相关较低、子像素间的颜色的差较大的可能性比较大。另一方面,具有进深值的最大差越小(模式(A)、(B)、(C)的顺序),子像素间的颜色的差就越小的倾向。因此,与最大色差的情况相同地,优选优先保存进深值的最大差较大的像素中所包含的子像素的像素值。
[0120] 另外,在图7A和图7B的示例中,按照最大色差或者进深值的最大差中的任意一种基准选择16个像素,将所选择的像素中所包含的代表子像素以外的各子像素的颜色值和进深值双方保存在代表像素值保存区域141中。但是,不限于此,也可以分别选择保存颜色值的像素和保存进深值的像素。
[0121] 即,像素选择部137从由多边形边界判定部131判定为包含多边形边界的像素中,按照子像素间的最大色差从大到小的像素顺序选择16个像素。同样,像素选择部137从由多边形边界判定部131判定为包含多边形边界的像素中,按照子像素间的进深值的最大差从大到小的像素顺序选择16个像素。
[0122] 另外,关于按照最大色差从大到小的顺序而选择的16个像素、和按照进深值的最大差从大到小的顺序而选择的16个像素,存在16个都是相同像素的情况、一部分是不同像素的情况、全部是不同像素的情况。即,像素选择部137按照不同的选择基准(最大色差和进深值的最大差)进行两次像素的选择。
[0123] 另外,也可以是,子像素值存储部133将由像素选择部137选择的最大色差较大的16个像素各自的代表子像素以外的各子像素的颜色值、和由像素选择部137选择的进深值的最大差较大的16个像素各自的代表子像素以外的各子像素的进深值,存储在子像素值保存区域142的不同区域中。
[0124] 另外,在上述的示例中,像素选择部137从由多边形边界判定部131判定为包含多边形边界的所有像素中选择16个像素,但不限于此。例如,也可以是,像素选择部137从由多边形边界判定部131判定为包含多边形边界、而且已整合比特被设定为第2值(表示子像素的像素值未被混合的值)的像素中选择16个像素。
[0125] 已整合比特被设定第1值(表示子像素的像素值已被混合的值),是指该像素中所包含的各子像素的像素值不是描绘时(原始)的值的情况。即,即使是将这种像素中所包含的所有子像素的像素值保存在子像素值保存区域142中,也不能抑制画质的恶化。因此,优选从各子像素保存描绘时的值的像素中选择16个像素。
[0126] 然后,传输部130
抽取处理单位内的开头像素(像素0)作为处理对象像素(S14)。以后的处理(S15~S19)是按照每个像素从第1存储器120向第2存储器140进行传输的处理。
[0127] 代表像素值存储部132选择处理对象像素中所包含的多个子像素中的一个子像素作为代表子像素。并且,代表像素值存储部132将所选择的代表子像素的像素值即代表像素值存储在第2存储器140的代表像素值保存区域141中(S15)。在以后的例子中,将各像素的左上侧的子像素作为代表子像素进行说明。另外,在代表像素值保存区域141中,除代表子像素的像素值(即颜色值和进深值)以外,也可以保存例如该像素的已整合比特的值。
[0128] 然后,子像素值存储部133确认处理对象像素是否是由像素选择部137选择的像素(S16)。并且,在处理对象像素是所选择的像素的情况下(S16:是),子像素值存储部133将由代表像素值存储部132选择的代表子像素以外的各子像素(右上侧的子像素、左下侧的子像素及右下侧的子像素)的像素值(即颜色值和进深值),存储在第2存储器140的子像素值保存区域142中(S17)。
[0129] 并且,如果是未处理的像素(S18:是),传输部130抽取下一个像素作为处理对象像素(S19),对处理单位内的所有像素反复执行步骤S15~步骤S17的处理。
[0130] 图8A是表示被保存在第1存储器120中的图像数据的一例的图。另外,图8B是表示被保存在第2存储器140的代表像素值保存区域141中的数据的一例的图。图8C是表示被保存在第2存储器140的子像素值保存区域142中的数据的一例的图。
[0131] 在图8B所示的代表像素值保存区域141中,对每个像素赋予表示像素位置的0~63的像素位置ID。另外,在图8C所示的子像素值保存区域142中,提供能够保存0~15的子像素的表项ID。
[0132] 在图8C中,子像素值保存区域142能够保存的最大表项数仅是全部8×8像素中的16像素。并且,在本实施方式1中,每一个像素有4个子像素,选择子像素中的一个子像素作为代表子像素,将所选择的代表子像素的像素值作为代表子像素值存储在代表像素值保存区域141中。并且,将代表子像素以外的3个子像素、和表示该像素位于8×8像素内的哪个位置的像素位置ID,存储在子像素值保存区域142的空闲表项中。
[0133] 具体地讲,代表像素值存储部132将图8A所示的像素0~63各自的左上侧的子像素的像素值,作为代表像素值存储在第2存储器140的代表像素值保存区域141中。
[0134] 子像素值存储部133预先将子像素值保存区域142的16表项的像素位置ID初始化为-1。预先将表示表项无效(空闲表项)的值定义为-1,并初始化为该值。当然,也可以附加与各表项对应的表项有效比特,在初始化时将有效比特全部设为无效。
[0135] 在图8A的示例中,包含多边形边界的像素15是指包括2×2子像素的值(像素值、进深值)在内、且具有左上侧的子像素15a、右上侧的子像素15b、左下侧的子像素15c以及右下侧的子像素15d的像素值的像素位置ID=15的像素。
[0136] 并且,代表像素值存储部132选择左上侧的子像素15a作为像素15的代表子像素,将子像素15a的像素值存储在代表像素值保存区域141的该像素位置(像素位置ID=15)中。并且,子像素值存储部133将代表子像素以外的右上侧的子像素15b、左下侧的子像素15c以及右下侧的子像素15d的像素值,存储在子像素值保存区域142的空闲表项(表项ID=0)中,同时也存储像素位置ID=15。
[0137] 另外,对于像素22,代表像素值存储部132同样选择左上侧的子像素22a作为代表子像素,将子像素22a的像素值存储在代表像素值保存区域141的该像素位置(像素位置ID=22)中。并且,子像素值存储部133将代表子像素以外的右上侧的子像素22b、左下侧的子像素22c以及右下侧的子像素22d的像素值,存储在子像素值保存区域142的空闲表项(表项ID=1)中,并存储像素位置ID=22。
[0138] 传输部130对处理单位内的所有像素0~63进行上述处理。另外,在上述的示例中,作为代表子像素的选择方式的一例是选择左上侧的子像素,但本发明不限于此。也可以不选择左上侧的子像素,而是选择右下侧的子像素作为代表子像素。
[0139] 或者,也可以选择满足Z测试且具有优先度最高的进深值的子像素作为代表子像素。所谓优先度最高的子像素,例如能够定义为4个子像素中位于最近前(ZFUNC=LESS:用于选择距视点最近的子像素的函数)的子像素。在图9A的示例中,右上侧的子像素的进深值和颜色值作为代表子像素值被保存在代表像素值保存区域141中。
[0140] 或者,也可以将4个子像素中位于最里侧(ZFUNC=GREATER:用于选择距视点最远的子像素的函数)的子像素设为代表子像素。在图9A的示例中,左下侧的子像素的进深值和颜色值作为代表子像素值被保存在代表像素值保存区域141中。
[0141] 另外,在这种情况下,需要在子像素值保存区域142中保存3个子像素的位置关系。如果能够根据像素位置ID从代表子像素和剩余子像素中将原来的4个子像素的位置唯一地复原,则可以是任何方法。
[0142] 或者,也可以将4个子像素中写入有效比特被设定为第3值(表示是在此前刚刚进行过的描绘处理中被用于描绘了多边形的子像素的值)的子像素设为代表子像素。即,在图9B的模式(A)中,右上侧的子像素的进深值和颜色值作为代表子像素值被保存在代表像素值保存区域141中。同样,在图9B的模式(B)中,左上侧的子像素的进深值和颜色值作为代表子像素值被保存在代表像素值保存区域141中。
[0143] 优选将图9B的模式(A)和模式(B)所示的代表子像素的选择方法,应用于例如由多边形边界判定部131判定为包含多边形边界、而且已整合比特被设定为第2值(表示子像素的像素值未被混合的值)的像素。由此,能够保存此前刚刚被用于描绘了多边形的子像素的像素值。
[0144] 并且,优选将该代表子像素的选择方法还应用于这样的像素,即由多边形边界判定部131判定为包含多边形边界、已整合比特被设定了第2值、而且未被像素选择部137选择的像素。此时,该像素的已整合比特被设定了第1值。
[0145] 另外,也可以将写入有效比特被存储了第3值的子像素中、位于最近前(里侧)的子像素作为代表子像素。在图9B的模式(C)中,写入有效比特被设定为“1”的左上侧的子像素及右下侧的子像素中、位于更近前的左上侧的子像素的进深值和颜色值,作为代表子像素值被保存在代表像素值保存区域141中。
[0146] 另外,上述的示例是选择各像素中所包含的多个子像素中的一个子像素作为代表子像素的示例,但不限于此,也可以将多个子像素的像素值进行混合来新生成代表子像素的像素值。另外,在将多个子像素的像素值进行混合的情况下,该像素的已整合比特被设定第1值。
[0147] 例如,也可以将各子像素的像素值的平均值作为代表子像素的像素值。更具体地讲,分别计算颜色值的每个成分的平均值和进深值的平均值,作为代表子像素的像素值。
[0148] 另外,在计算平均值时既可以使用各像素中所包含的所有子像素的像素值,也可以仅使用一部分子像素的像素值。具体地讲,也可以仅对多个子像素中写入有效比特被设定了第3值的子像素的像素值进行平均,并计算代表子像素的像素值。
[0149] 另外,平均值可以是单纯平均,也可以是加权平均(权重平均)。作为一例,能够将各子像素的进深值用作加权系数。即,也可以向位于更近前(里侧)的子像素的像素值乘以较大的加权系数来计算加权平均。
[0150] 另外,关于选择多个子像素中的一个子像素作为代表子像素、还是将多个子像素的像素值进行混合来生成代表子像素的像素值,可以在处理单位内的所有像素中进行统一,也可以根据处理单位内的每个像素而不同。
[0151] 例如,关于由多边形边界判定部131判定为包含多边形边界、而且被像素选择部137选择的像素,优选选择多个子像素中的一个子像素作为代表子像素。并且,关于由多边形边界判定部131判定为包含多边形边界、而且未被像素选择部137选择的像素,优选将多个子像素的像素值进行混合来生成代表子像素的像素值。另一方面,关于由多边形边界判定部131判定为不包含多边形边界的像素,可以采用任何方法。
[0152] 并且,在将多个子像素的像素值进行混合来生成代表子像素的像素值的情况下,代表像素值存储部132对该像素的已整合比特设定第1值(表示将多个子像素的像素值进行混合来生成代表子像素的像素值的值)。
[0153] 另外,在前面说明的图8C的示例中,将能够在子像素值保存区域142中保存的像素数设为N=16个,但不限于此,也能够在子像素值保存区域142中保存任意的像素数。例如,在将能够在子像素值保存区域142中保存的像素数设为N=64个、即处理单位内的所有像素都是包含多边形边界的像素时,也能够在子像素值保存区域142中进行保存。
[0154] 在此,也可以对子像素值保存区域142分配能够保存N(N为自然数)像素量的、代表子像素除外的子像素与像素位置的组的区域,并将能够保存的像素数N限制为小于一个处理单位中所包含的像素数。由此,能够进一步削减在第1及第2存储器120、140之间传输图像数据所需要的存储器频带和第2存储器140的存储器容量。
[0155] 在本实施方式1中,关于一个处理单位说明了横8像素×纵8像素合计64像素的情况,关于采样点的数量说明了每一个像素为4个采样点(横2子像素×纵2子像素)的情况,但本发明不限于此。
[0156] 另外,图像处理部110、传输部130以及它们所包含的各功能单元的全部或者一部分典型地讲以集成电路即LSI来实现。它们可以形成为独立的单片,也可以形成为包含一部分或者全部的单片。在此是设为LSI,但根据集成度的不同,有时也被称为IC、系统LSI、超级(super)LSI、特级(ultra)LSI。
[0157] 并且,集成电路化的方法不限于LSI,也可以利用专用电路或者通用处理器实现。也可以采用在制作LSI后能够编程的可现场编程
门阵列(FPGA:Field Programmable Gate Array)、能够重构架LSI内部的电路单元的连接和设定的可重构处理器(reconfigurable processor)。
[0158] 另外,如果伴随
半导体技术的发展或利用派生的其他技术替换LSI的集成电路化的技术问世,当然也可以使用该技术进行功能单元的集成化。还存在适用仿生技术等的可能性。
[0159] 另外,也可以是,将记述了在本实施方式1中说明的步骤的程序存储在存储器中,CPU(Central Processing Unit)等从存储器读出程序并执行所读出的程序,由此实现上述的各功能单元。并且,也可以将记述了该步骤的程序存储在记录介质中进行颁发。
[0160] 根据这种结构,将多个像素作为一个处理单位,对于不包含多边形边界的像素仅保存代表子像素的像素值,对于包含多边形边界的像素一直保存到代表子像素以外的子像素的像素值,由此不需要大容量的存储器,而且能够尽可能地保存子像素信息。
[0161] 另外,通过将子像素信息的保存数量限制为预先设定的N个,能够将子像素值保存区域142的存储器容量设为固定值,能够与描绘的图形无关地预先确保必要的存储器频带和存储器容量。
[0162] 下面,图10是表示用于从第2存储器140向第1存储器120传输图像数据的传输部130的结构的块图。图10所示的传输部130主要具有代表像素值读出部134、子像素值读出部135和像素解压缩部136。
[0163] 另外,对于与图4相同的构成要素使用相同的标号,并省略说明。并且,在该示例中,也是将一个处理单位设为横8像素×纵8像素合计64像素,将采样点的数量设为每一个像素为横2子像素×纵2子像素合计4个。
[0164] 代表像素值读出部134从代表像素值保存区域141读出处理单位内的各像素的代表像素值。子像素值读出部135从子像素值保存区域142,读出在从第1存储器120向第2存储器140传输图像数据时由像素选择部137选择的各像素的代表子像素以外的子像素的像素值和像素位置。
[0165] 像素解压缩部136使用从代表像素值保存区域141读出的代表像素值、以及/或者从子像素值保存区域142读出的代表子像素以外的子像素的像素值,生成处理单位内的各像素的像素值,将包括所生成的像素值的图像数据存储在第1存储器120中。
[0166] 更具体地讲,像素解压缩部136根据由代表像素值读出部134读出的代表像素值、和由子像素值读出部135读出的代表子像素以外的各子像素的像素值,生成由像素选择部137选择的像素的像素值,将由代表像素值读出部134读出的代表像素值复制到各子像素中,生成未被像素选择部137选择的各像素的像素值。并且,像素解压缩部136将包括所生成的各像素的像素值的图像数据写入第1存储器120中。
[0167] 参照图11说明图10所示的传输部130的动作。图11是表示从第2存储器140向第1存储器120传输图像数据的处理(图像数据解压缩处理)的步骤的流程图。
[0168] 首先,传输部130抽取处理单位内的第一个像素(像素0)作为处理对象像素(S21)。以后的处理(S22~S28)是按照每个像素从第2存储器140向第1存储器120进行传输的处理。
[0169] 在此,如图12A和图12B所示,在代表像素值保存区域141中存储有8×8的代表子像素的像素值,在子像素值保存区域142中存储有16表项量的子像素信息。设8×8的代表像素值及子像素信息(3个子像素值和像素位置)对应于一个处理单位内的8×8像素的唯一确定的位置。表示8×8像素内的位置的像素位置ID由0~63构成,用于同时表示8×8的代表像素值的各像素位置。子像素表项ID由表示是子像素值保存区域142的16表项中的哪个表项的0~15构成。
[0170] 然后,代表像素值读出部134从第2存储器140的代表像素值保存区域141读出处理对象像素(像素0)的代表像素值(S22)。
[0171] 然后,像素解压缩部136确认处理对象像素的像素位置ID(=0)包含在子像素值保存区域142的16表项中的哪个表项中(S23)。其中,处理对象像素的像素位置ID被保存在子像素值保存区域142中的情况,表示处理对象像素是被像素选择部137选择的像素。另一方面,处理对象像素的像素位置ID未被保存在子像素值保存区域142中的情况,表示处理对象像素不是被像素选择部137选择的像素。
[0172] 在图12B的示例中,由于处理对象像素的像素位置ID=0不存在于子像素值保存区域142的像素位置ID中(S23:否),因而像素解压缩部136仅使用由代表像素值读出部134读出的代表像素值生成处理对象像素的像素值。具体地讲,像素解压缩部136将代表像素值复制到处理对象像素所包含的各子像素中(S24)。并且,像素解压缩部136将所生成的像素值存储在第1存储器120中。
[0173] 更具体地讲,如图12C所示,由代表像素值读出部134读出的代表像素值原本是左上侧的子像素0a的像素值。并且,像素解压缩部136复制所读出的代表像素值,生成左上侧的子像素0a、右上侧的子像素0b、左下侧的子像素0c及右下侧的子像素0d。即,4个子像素0a~0d的像素值相同。
[0174] 另一方面,例如在处理对象像素是像素62的情况下,处理对象像素的像素位置ID=62存在于子像素值保存区域142的表项ID=15(S23:是),因而子像素值读出部135从第2存储器140的子像素值保存区域142,读出处理对象像素的代表子像素以外的子像素的像素值即子像素值1、2、3(S25)。
[0175] 然后,像素解压缩部136将由代表像素值读出部134读出的代表像素值和由子像素值读出部135读出的代表子像素以外的各子像素的像素值进行组合,生成处理对象像素的像素值(S26)。并且,像素解压缩部136将所生成的像素值存储在第1存储器120中。
[0176] 更具体地讲,如图12C所示,由代表像素值读出部134读出的代表像素值原本是左上侧的子像素62a的像素值。并且,由子像素值读出部135读出的子像素值1、2、3原本是右上侧的子像素62b、左下侧的子像素62c及右下侧的子像素62d的像素值。因此,像素解压缩部136将这些像素的像素值配置在规定的位置,生成像素62的像素值。
[0177] 然后,传输部130确认在一个处理单位中是否还有未处理的像素(S27)。如果在图11中对像素位置ID0~63全部进行了处理(S27:是),则结束处理。另外,从第2存储器140向第1存储器120传输的所有子像素的写入有效比特被初始化为第4值(表示是在此前刚刚进行的描绘处理中未被用于描绘多边形的子像素的值)。
[0178] 另一方面,对从第2存储器140向第1存储器120传输的所有子像素的已整合比特,保存了从第1存储器120向第2存储器140进行传输以前的值。具体地讲,在步骤S22,代表像素值读出部134从代表像素值保存区域141读出处理对象像素的已整合比特。并且,在步骤S24和步骤S26,像素解压缩部136将由代表像素值读出部134读出的已整合比特存储在第1存储器120中。
[0179] 另一方面,如果有未处理的像素(S27:否),则抽取下一个像素作为处理对象像素(S28),对处理单位内的所有像素执行步骤S22~步骤S26的处理。例如,如果在图12A中已结束像素位置ID=0的像素的处理,将处理对象像素变更为下一个像素位置ID=1的像素,并返回步骤S22。当然,如果是在一个处理单位内,则像素的扫描顺序没有特殊限制。
[0180] 根据这种结构,通过使用对每个像素保存的代表像素值和一部分子像素值和像素位置,将所有子像素唯一地复原,在临时保存图像数据的情况下,能够得到不需要大容量的存储器的图像处理装置。
[0181] (实施方式2)
[0182] 下面,参照图13~图15B说明实施方式2的图像处理装置。另外,省略与实施方式1的共同点的详细说明,以不同点为中心进行说明。
[0183] 首先,图13是表示用于从第1存储器120向第2存储器140传输图像数据的实施方式2的传输部130的结构的块图。图13所示的传输部130主要具有多边形边界判定部131、代表像素值存储部132和子像素值存储部133。即,从图4所示的结构中省略了像素选择部137,这一点与实施方式1不同。
[0184] 图14是表示从第1存储器120向第2存储器140传输图像数据的实施方式2的图像数据压缩处理的步骤的流程图。图14所示的图像数据压缩处理省略了图5中的步骤S12、S13的处理(像素选择部137的处理),这一点与实施方式1不同。另外,在图5中的步骤S16判定是否是由像素选择部137选择的像素,而在图14中的步骤S16判定是否是由多边形边界判定部131判定为包含多边形边界的像素,这一点不同。
[0185] 这样,实施方式2的图像处理装置省略了像素选择部137,因而当在一个处理单位内包含多边形边界的像素数超过了在子像素值保存区域142中能够保存的像素数的情况下,需要进行以下的处理。
[0186] 例如,如图8C所示,在假设在子像素值保存区域142中能够保存的像素数为N=16个(16表项)的情况下,如果在一个处理单位内包含多边形边界的像素数超过了16个,则用于保存子像素值与像素位置的组(将它们统称表述为“子像素信息”)的区域不充足,不能保存所有的子像素信息。
[0187] 为了解决这种问题,也可以是,代表像素值存储部132以及/或者子像素值存储部133根据一个处理单位内的包含多边形边界的像素数,调整在子像素值保存区域142中保存的子像素信息的数量(表项数)、和在代表像素值保存区域141以及/或者子像素值保存区域142中保存的像素值的精度。关于在子像素值保存区域142中保存的像素值的精度与在子像素值保存区域142中能够保存的子像素信息的数量的关系,使用图15A和图15B进行说明。
[0188] 在图15A所示的8×8像素(16×16子像素)的处理单位中存在21个包含多边形边界的像素(用粗框包围的像素)。但是,在子像素值保存区域142中只能保存16组包含多边形边界的像素的信息。因此,按照图15B的表,降低所保存的子像素值的精度来取代增加在子像素值保存区域142中保存的像素数,由此压缩数据量。另外,所谓“降低像素值的精度”,例如指删除像素值的下位比特。
[0189] 另外,图15B所示的表需要是对于系统共用的表。即,因为在俯瞰代表像素值保存区域141和子像素值保存区域142时,系统必须知道所保存的像素值的精度。
[0190] 关于图15B所示的表,如果在一个处理单位内包含多边形边界的像素为16个以下,则不降低像素值的精度,按照R成分8比特、G成分8比特、B成分8比特来保存像素值。并且,如果在处理单位内包含多边形边界的像素多于16个且在24个以下,则将R成分和B成分的精度降低1比特,按照R成分7比特、G成分8比特、B成分7比特来保存像素值。并且,如果在处理单位内包含多边形边界的像素多于24个且在32个以下,则将R成分和B成分的精度降低2比特、将G成分的精度降低1比特,按照R成分6比特、G成分7比特、B成分6比特来保存像素值。另外,如果在处理单位内包含多边形边界的像素多于32个,则使各成分的精度与包含多边形边界的像素为32个以下时相同地,扩大子像素值保存区域142的存储器区域,增加能够保存的表项数。
[0191] 在图15A的示例中,包含多边形边界的像素为21个,因而将能够保存的子像素信息表项数从16个增加为24个,来取代将R成分和B成分的精度降低1比特即从8比特降低为7比特,由此能够保存所有的子像素信息。
[0192] 例如,关于图15A的像素59,右上侧的子像素59b的R成分和B成分、以及右下侧的子像素59d的R成分和B成分的下位1比特被删除。另外,此处被删除的比特不能在后述的图像数据解压缩处理中复原。
[0193] 这样,通过根据包含多边形边界的像素数调整像素值的精度,能够将存储一个处理单位所需要的子像素值保存区域142的存储器容量设为固定值。其结果是,能够与描绘的图形无关地预先确保必要的存储器频带和存储器容量。即,在图8B的示例中,如果包含多边形边界的像素为32个以下,则能够将子像素值保存区域142的存储器容量的上限设为固定值(比保存全部8×8像素时少的量)。
[0194] 另外,在图15B的示例中,说明了随着包含多边形边界的像素数的增加,相比G成分优先降低R成分和B成分的精度的示例。这是因为通过降低G成分的精度而导致的画质的恶化容易比R成分和B成分显眼。并且,优选相比进深值优先降低颜色值(R,G,B)的精度。但是,本发明不限于这些方式。
[0195] 另外,在图15B的示例中,将按照固定的存储器容量能够保存的像素数的上限设为32个,但不限于此,当然也可以降低各颜色成分的精度来增加表项数。
[0196] 另外,在上述的示例中,图15B所示的精度仅体现在被保存于子像素值保存区域142中的像素值中,但不限于此,也可以仅在被保存于代表像素值保存区域141中的像素值中体现,还可以在被保存于代表像素值保存区域141中的像素值以及被保存于子像素值保存区域142中的像素值双方中体现。
[0197] 另外,也可以是,在包含多边形边界的像素数超过上限值(在图15B的示例中是32个)的情况下,对每个像素计算用于保存子像素值的优先度,在子像素值保存区域142中不保存优先度较低的像素的子像素信息。
[0198] 另外,优先度的计算方法没有特殊限定,但也可以是,例如对于包含多边形边界的各个像素计算子像素间的最大色差,按照所计算出的最大色差从大到小的像素顺序选择上限值(在图8B的示例中是32个)的像素,仅将所选择的像素的子像素信息存储在子像素值保存区域142中。在这种情况下,未被选择的像素的子像素信息不存储在子像素值保存区域142中,只有代表子像素的像素值被存储在代表像素值保存区域141中。
[0199] 在这种情况下,也可以将从子像素值中选择的代表子像素的像素值保存在代表像素值保存区域141中,或者将各子像素的像素值的混合值设为代表值。另外,所谓混合值例如可以是该像素中所包含的各子像素的像素值的平均值。
[0200] 在这种情况下,只要始终只保存上限值以下的子像素信息即可,能够将存储一个处理单位所需要的子像素值保存区域142的存储器容量设为固定值。其结果是,能够与描绘的图形无关地预先确保所需要的存储器频带和存储器容量。
[0201] 另外,用于从第2存储器140向第1存储器120传输图像数据的传输部130的结构及图像数据解压缩处理,与图10及图11相同,因而省略详细说明。
[0202] 但是,在实施方式2的图像数据解压缩处理中,被保存在子像素值保存区域142中的子像素的像素值和像素位置,不是与实施方式1中由像素选择部137选择的像素对应,而是与由多边形边界判定部131判定为包含多边形边界的所有像素对应,这一点与实施方式1不同。
[0203] 即,实施方式2的代表像素值读出部134从代表像素值保存区域141读出处理单位内的各像素的代表像素值。实施方式2的子像素值读出部135从子像素值保存区域142读出包含多边形边界的各像素的代表子像素以外的子像素的像素值和像素位置。
[0204] 另外,实施方式2的像素解压缩部136根据由代表像素值读出部134读出的代表像素值、和由子像素值读出部135读出的代表子像素以外的各子像素的像素值,生成包含多边形边界的像素的像素值,将由代表像素值读出部134读出的代表像素值复制到各子像素中,生成不包含多边形边界的各像素的像素值。并且,像素解压缩部136将包含所生成的各像素的像素值的图像数据写入第1存储器120中。
[0205] 另外,实施方式2的像素解压缩部136确认处理对象像素的像素位置ID(=0)是否包含在子像素值保存区域142的16表项的任意一个表项中。在此,在处理对象像素的像素位置ID被保存在子像素值保存区域142中的情况下,表示处理对象像素包含多边形边界。另一方面,在处理对象像素的像素位置ID未被保存在子像素值保存区域142中的情况下,表示处理对象像素不包含多边形边界。
[0206] 另外,在图11的步骤S26中,当然需要根据图15B的表判定所保存的像素值的精度和子像素信息的表项数,对各像素值进行精度校正(比特填补等),并复制进行比特填补后的值。此处的“精度校正”,例如指对被保存在子像素值保存区域142中的像素值的下位比特(指“通过精度调整而被删除的比特”,以下相同。)填补0的处理。但是,精度校正的具体示例不限于此。例如,也可以对下位比特填补1,还可以将上位比特的值复制到下位比特。
[0207] 另外,在上述各实施方式中,各构成要素由专用的
硬件构成,但也可以通过执行适合于各构成要素的
软件程序来实现。各构成要素还可以通过由CPU或者处理器等程序执行部读出在硬盘或者半导体存储器等记录介质中记录的软件程序并执行软件程序来实现。在此,用于实现上述各实施方式的图像处理装置的软件是指如下所述的程序。
[0208] 即,该程序使计算机对图像进行处理。具体地讲,程序使计算机执行以下步骤:边界判定步骤,将图像数据中所包含的多个像素作为处理单位,对每个像素判定是否是包含规定的边界的像素;代表像素值存储步骤,对于多个像素中的各个像素,选择多个子像素中的一个子像素作为代表子像素,或者将多个子像素的像素值进行混合来生成代表子像素,并将代表子像素的像素值即代表像素值存储在代表像素值保存区域中;以及子像素值存储步骤,对于在边界判定步骤中被判定为包含规定的边界的各个像素,将在代表像素值存储步骤中选择的代表子像素以外的各子像素的像素值存储在子像素值保存区域中。子像素值保存区域能够保存N(N为自然数)像素量的、像素位置与该像素位置的像素的代表子像素以外的各子像素的像素值的组,N像素比在边界判定步骤中的处理单位少。
[0209] 上述的各个方式能够根据需要进行组合。
[0210] 以上,参照附图说明了本发明的实施方式,但本发明不限于图示的实施方式。能够在与本发明相同的范围内或者均等的范围内,对图示的实施方式进行各种修改和
变形。
[0211] 产业上的可利用性
[0212] 本发明能够用于便携式电话和电视机这种需要节省存储器、节省频带的组装设备中的图像处理。
[0213] 标号说明
[0214] 10、100、900图像处理装置;11边界判定部;12、132代表像素值存储部;13、133子像素值存储部;110图像处理部;111、902坐标产生部;112、903颜色值产生部;113有效像素比特产生部;114抗锯齿处理部;120第1存储器;130传输部;131多边形边界判定部;134代表像素值读出部;135子像素值读出部;136像素解压缩部;137像素选择部;140第2存储器;141代表像素值保存区域;142子像素值保存区域;901像素数据生成部;904像素占有率产生部;905像素保存用存储器;906描绘控制部;907像素数据整合部。