显示控制装置、显示分层合成程序

申请号 CN201110432139.X 申请日 2011-12-21 公开(公告)号 CN102543042A 公开(公告)日 2012-07-04
申请人 歌乐株式会社; 发明人 松尾茂; 上胁正; 中原崇;
摘要 本 发明 提供一种显示控制装置,将对多个显示分层的图像数据进行了合成的合成图像数据显示于显示装置,该显示控制装置具备:渗透色信息保存部,其保存有渗透色信息,该渗透色信息表示多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中的渗透色的 颜色 信息;游程计数部,其针对多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中所包括的颜色信息计算出游程,该游程表示具有相同颜色信息的 像素 的连续数;合成运算部,其对多个显示分层的图像数据进行合成,生成上述合成图像数据;以及合成图像显示部,其将通过合成运算部所生成的合成图像数据输出到显示装置,并使合成图像显示于显示装置中,针对多个显示分层中除最下层的显示分层以外的显示分层,在通过游程计数部被计算出游程的颜色信息为渗透色时,合成运算部将连续了该游程数量的各像素的图像数据忽略后进行合成。
权利要求

1.一种显示控制装置,将对多个显示分层的图像数据进行了合成的合成图像数据显示于显示装置,
上述多个显示分层的每一个分层由多个像素构成,
上述多个显示分层的每一个分层的图像数据包括与在该显示分层中所包括的多个像素的颜色相关的颜色信息,
上述显示控制装置具备:
渗透色信息保存部,其保存有渗透色信息,该渗透色信息表示上述多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中的渗透色的颜色信息;
游程计数部,其针对上述多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中所包括的颜色信息计算出游程,该游程表示具有相同颜色信息的像素的连续数;
合成运算部,其对上述多个显示分层的图像数据进行合成,生成上述合成图像数据;以及合成图像显示部,其将通过上述合成运算部所生成的上述合成图像数据输出到上述显示装置,并使上述合成图像显示于上述显示装置中,
针对上述多个显示分层中除最下层的显示分层以外的显示分层,在通过上述游程计数部被计算出游程的颜色信息为渗透色时,上述合成运算部将连续了该游程数量的各像素的图像数据忽略后进行合成。
2.根据权利要求1所述的显示控制装置,其特征在于,还具备:
上层分层更新判定部,其针对上述多个显示分层中除最下层的显示分层以外的一个以上的上层分层的每一个分层,对上述一个以上的上层分层的每一个分层的图像数据是否被更新进行判定;
下层分层更新判定部,其对上述多个显示分层中最下层的显示分层即下层分层的图像数据是否被更新进行判定;
压缩部,其基于上述一个以上的上层分层的每一个分层的图像数据中所包括的颜色信息和通过上述游程计数部所计算出的该颜色信息的游程生成压缩图像数据,并保存至与该上层分层对应的压缩分层;和
解压部,其根据在上述压缩分层的每一个分层中保存的压缩图像数据来读取颜色信息和该颜色信息的游程,
上述合成运算部,通过从上述一个以上的上层分层中位于最低层的上层分层起按层顺序合成到上述下层分层,从而生成上述合成图像数据,
且针对上述一个以上的上层分层中、通过上述上层分层更新判定部判定为图像数据已被更新的上层分层的每一个分层的图像数据,基于在上述压缩部生成该图像数据的压缩图像数据时通过上述游程计数部所算出的游程,将该上层分层向上述下层分层合成,且针对上述一个以上的上层分层中、通过上述上层分层更新判定部判定为图像数据没有被更新的上层分层的每一个分层,在判定上述下层分层的图像数据已被更新时,基于通过上述解压部根据在该上层分层相对应的压缩分层中所保存的压缩图像数据而读取的颜色信息和游程,对该上层分层和上述下层分层进行合成。
3.根据权利要求2所述的显示控制装置,其特征在于,
还具备图像更新频率判定部,该图像更新频率判定部对上述一个以上的上层分层的每一个分层的图像数据是否比规定的率更频繁地被更新进行判定,
上述合成运算部,在通过上述图像更新频率判定部判定为上述一个以上的上层分层的每一个分层的图像数据比规定的帧率更频繁地被更新,并且该上层分层的图像数据已被更新时,禁止上述压缩部将上述压缩图像数据保存至与该上层分层相对应的压缩分层。
4.一种显示分层合成程序,用于使CPU对在存储器中保存的多个显示分层的图像数据进行合成,
上述多个显示分层的每一个分层由多个像素构成,
上述多个显示分层的每一个分层的图像数据包括与该显示分层所包括的多个像素的颜色相关的颜色信息,
上述多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中的、表示渗透色的颜色信息的渗透色信息被保存于上述存储器中,
显示分层合成程序使上述CPU作为游程计数部和合成运算部发挥作用,其中该游程计数部针对上述多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中所包括的颜色信息计算出游程,该游程表示具有相同的颜色信息的像素的连续数,该合成运算部对上述多个显示分层的图像数据以像素为单位进行合成,并生成上述合成图像数据,针对上述多个显示分层中除最下层的显示分层以外的显示分层,在通过上述游程计数部被计算出游程的颜色信息为渗透色时,上述合成运算部将连续了该游程数量的各像素的图像数据忽略后进行合成。
5.根据权利要求4所述的显示分层合成程序,其特征在于,
使上述CPU进一步作为上层分层更新判定部、下层分层更新判定部、压缩部、以及解压部发挥作用,其中:
上述上层分层更新判定部,其针对上述多个显示分层中除最下层的显示分层以外的一个以上的上层分层的每一个分层,判定上述一个以上的上层分层的每一个分层的图像数据是否被更新;
上述下层分层更新判定部,其对上述多个显示分层中最下层的显示分层即下层分层的图像数据是否已被更新进行判定;
上述压缩部,其基于上述一个以上的上层分层的每一个分层的图像数据中所包括的颜色信息和通过上述游程计数部计算出的该颜色信息的游程生成压缩图像数据,并保存至与该上层分层对应的压缩分层;
上述解压部,其根据在上述压缩分层的每一个分层中保存的压缩图像数据来读取颜色信息和该颜色信息的游程,
上述合成运算部,通过从上述一个以上的上层分层中位于最低层的上层分层起按层顺序合成到上述下层分层,从而生成上述合成图像数据,
且针对上述一个以上的上层分层中、通过上述上层分层更新判定部判定为图像数据已被更新的上层分层的每一个分层的图像数据,基于在上述压缩部生成该图像数据的压缩图像数据时通过上述游程计数部算出的游程,将该上层分层向上述下层分层合成,且针对上述一个以上的上层分层中、通过上述上层分层更新判定部判定为图像数据没有被更新的上层分层的每一个分层,在判定上述下层分层的图像数据已被更新时,基于通过上述解压部根据在该上层分层相对应的压缩分层中所保存的压缩图像数据而读取的颜色信息和游程,对该上层分层和上述下层分层进行合成。

说明书全文

显示控制装置、显示分层合成程序

[0001] 将如下的优先权基础申请的公开内容作为援引内容引入到本申请中:日本专利申请2010-285838号(2010年12月22日申请)。

技术领域

[0002] 本发明涉及显示控制装置以及显示分层合成程序。

背景技术

[0003] 在日本专利公开2008-305030号公报中公开了如下这样的合成图像生成装置:即在对多个显示分层进行合成时,按每个像素判定上层的显示分层是否为渗透色,只针对不是渗透色的像素进行叠加处理。

发明内容

[0004] 本发明的目的在于确立一种具备有效地跳过渗透色的像素并对多个显示分层高速地进行合成的合成处理方法的显示控制装置。
[0005] 根据本发明的第1方式,一种显示控制装置,将对多个显示分层的图像数据进行了合成的合成图像数据显示于显示装置,多个显示分层的每一个分层由多个像素构成,多个显示分层的每一个分层的图像数据包括与在该显示分层中所包括的多个像素的颜色相关的颜色信息,该显示控制装置具备:渗透色信息保存部,其保存有渗透色信息,该渗透色信息表示多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中的渗透色的颜色信息;游程计数部,其针对多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中所包括的颜色信息计算出游程,该游程表示具有相同颜色信息的像素的连续数;合成运算部,其对多个显示分层的图像数据进行合成,生成合成图像数据;以及合成图像显示部,其将通过合成运算部所生成的合成图像数据输出到显示装置,并使合成图像显示于显示装置中,针对多个显示分层中除最下层的显示分层以外的显示分层,在通过上述游程计数部被计算出游程的颜色信息为渗透色时,合成运算部将连续了该游程数量的各像素的图像数据忽略后进行合成。
[0006] 根据本发明的第2方式,第1方式的显示控制装置,还可具备:上层分层更新判定部,其针对多个显示分层中除最下层的显示分层以外的一个以上的上层分层的每一个分层,对一个以上的上层分层的每一个分层的图像数据是否被更新进行判定;下层分层更新判定部,其对多个显示分层中最下层的显示分层即下层分层的图像数据是否被更新进行判定;压缩部,其基于一个以上的上层分层的每一个分层的图像数据中所包括的颜色信息和通过游程计数部所计算出的该颜色信息的游程生成压缩图像数据,并保存至与该上层分层对应的压缩分层;和解压部,其根据在压缩分层的每一个分层中保存的压缩图像数据来读取颜色信息和该颜色信息的游程。在该显示控制装置中,合成运算部,通过从一个以上的上层分层中位于最低层的上层分层起按层顺序合成到下层分层,从而生成合成图像数据,且针对一个以上的上层分层中、通过上层分层更新判定部判定为图像数据已被更新的上层分层的每一个分层的图像数据,基于在压缩部生成该图像数据的压缩图像数据时通过游程计数部所算出的游程,将该上层分层向上述下层分层合成,且针对一个以上的上层分层中、通过上层分层更新判定部判定为图像数据没有被更新的上层分层的每一个分层,在判定下层分层的图像数据已被更新时,基于通过解压部根据在该上层分层相对应的压缩分层中所保存的压缩图像数据而读取的颜色信息和游程,对该上层分层和上述下层分层进行合成。
[0007] 根据本发明的第3方式,第2方式的显示控制装置也可还具备:图像更新频率判定部,该图像更新频率判定部对一个以上的上层分层的每一个分层的图像数据是否比规定的率更频繁地被更新进行判定。在该显示控制装置中,合成运算部,在通过图像更新频率判定部判定为一个以上的上层分层的每一个分层的图像数据比规定的帧率更频繁地被更新,并且该上层分层的图像数据已被更新时,禁止压缩部将压缩图像数据保存至与该上层分层相对应的压缩分层。
[0008] 根据本发明的第4方式,一种显示分层合成程序,用于使CPU对在存储器中保存的多个显示分层的图像数据进行合成,多个显示分层的每一个分层由多个像素构成,多个显示分层的每一个分层的图像数据包括与该显示分层所包括的多个像素的颜色相关的颜色信息,多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中的、表示渗透色的颜色信息的渗透色信息被保存于上述存储器中,该显示分层合成程序使CPU作为游程计数部和合成运算部发挥作用,其中该游程计数部针对多个显示分层中除最下层的显示分层以外的每一个分层的图像数据中所包括的颜色信息计算出游程,该游程表示具有相同的颜色信息的像素的连续数,该合成运算部对多个显示分层的图像数据以像素为单位进行合成,并生成合成图像数据。此时,针对多个显示分层中除最下层的显示分层以外的显示分层,在通过游程计数部被计算出游程的颜色信息为渗透色时,合成运算部将连续了该游程数量的各像素的图像数据忽略后进行合成。
[0009] 根据本发明的第5方式,第4方式的显示分层合成程序,使CPU进一步可以作为上层分层更新判定部、下层分层更新判定部、压缩部、以及解压部发挥作用,其中:上层分层更新判定部,其针对多个显示分层中除最下层的显示分层以外的一个以上的上层分层的每一个分层,判定一个以上的上层分层的每一个分层的图像数据是否被更新;下层分层更新判定部,其对多个显示分层中最下层的显示分层即下层分层的图像数据是否已被更新进行判定;压缩部,其基于一个以上的上层分层的每一个分层的图像数据中所包括的颜色信息和通过游程计数部计算出的该颜色信息的游程生成压缩图像数据,并保存至与该上层分层对应的压缩分层;解压部,其根据在压缩分层的每一个分层中保存的压缩图像数据来读取颜色信息和该颜色信息的游程。此时,合成运算部,优选通过从一个以上的上层分层中位于最低层的上层分层起按层顺序合成到下层分层,从而生成合成图像数据,且针对一个以上的上层分层中、通过上层分层更新判定部判定为图像数据已被更新的上层分层的每一个分层的图像数据,基于在压缩部生成该图像数据的压缩图像数据时通过上述游程计数部算出的游程,将该上层分层向下层分层合成。另外,优选针对一个以上的上层分层中、通过上层分层更新判定部判定为图像数据没有被更新的上层分层的每一个分层,在判定下层分层的图像数据已被更新时,基于通过解压部根据在该上层分层相对应的压缩分层中所保存的压缩图像数据而读取的颜色信息和游程,对该上层分层和上述下层分层进行合成。
[0010] 本发明的显示控制装置,能够有效地跳过渗透色的像素,来高速地合成多个显示分层。附图说明
[0011] 图1为用于对本发明涉及的显示控制装置的一实施方式即导航装置中所执行的对显示分层的图像进行合成的合成处理进行说明的图。
[0012] 图2为用于对在各显示分层中保存的图像数据进行说明的图。
[0013] 图3为表示本发明涉及的显示控制装置的一实施方式即导航控制装置的结构的框图的一例。
[0014] 图4为合成处理所涉及的显示控制装置的功能结构图的一例。
[0015] 图5为分层合成机构的功能框图的一例。
[0016] 图6为表示采用游程(Run Length)法对图像数据进行压缩后的结果的一例的图。
[0017] 图7为用于对上层分层和下层分层的合成处理进行说明的图。
[0018] 图8为关于决定分层合成机构的处理模式的处理的流程图的一例。
[0019] 图9为关于压缩合成模式的分层合成机构的处理的流程图的一例。
[0020] 图10为关于压缩合成模式的分层合成机构的处理的流程图的一例。
[0021] 图11为用于说明压缩合成模式的分层合成机构的处理的图。
[0022] 图12为用于说明压缩合成模式的分层合成机构的处理的图。
[0023] 图13为用于说明压缩合成模式的分层合成机构的处理的图。
[0024] 图14为用于说明压缩合成模式的分层合成机构的处理的图。
[0025] 图15为用于说明压缩合成模式的分层合成机构的处理的图。
[0026] 图16为用于说明压缩合成模式的分层合成机构的处理的图。
[0027] 图17为有关合成运算机构的处理的流程图的一例。
[0028] 图18为有关解压合成模式的分层合成机构的处理的流程图的一例。
[0029] 图19为本发明的一变形例中的分层合成机构的功能框图。
[0030] 图20为有关本发明的一变形例中的压缩合成模式的分层合成机构的处理的流程图的一例。
[0031] 图21为有关本发明的一变形例中的压缩合成模式的分层合成机构的处理的流程图的一例。
[0032] 图22为有关本发明的一变形例中的压缩合成模式的分层合成机构的处理的流程图的一例。
[0033] 图23为对三个以上的显示分层进行合成的合成处理所涉及的流程图的一例。
[0034] 图24为对三个以上的显示分层进行合成的合成处理所涉及的流程图的一例。
[0035] 图25为对三个以上的显示分层进行合成的合成处理所涉及的流程图的一例。
[0036] 图26为对三个以上的显示分层进行合成的合成处理所涉及的流程图的一例。

具体实施方式

[0037] 本发明涉及的显示控制装置能够适用于导航装置等中。以下,作为一实施例,参照附图针对适用于导航装置中的情况进行说明。
[0038] 图1为用于对在导航装置中所执行的对显示分层的图像进行合成的处理进行说明的模式图。图1中示出上层分层300和下层分层400作为在导航装置中进行合成的对象即多个显示分层。在下层分层400中,描绘了搭载有导航装置的车辆的本车位置的周边的周边地图410,作为图像的一个例子。在上层分层300中,描绘了表示周边地图410的比例尺和方位等的地图标记310、表示本车位置的本车位置标记320等、应在描绘于下层分层400的周边地图410上重叠地描绘的图像。导航装置中,使描绘于上层分层300的图像叠加于描绘于下层分层400的图像上,得到合成图像610。随着搭载有导航装置的车辆的移动,如果更新上层分层300的图像和下层分层400的图像,则也更新合成图像610。以下,为了简化说明,以执行导航装置合成上层分层300的图像和下层分层400的图像以得到合成图像610的处理的情况为例,进行说明。
[0039] 在导航装置中,图1的上层分层300的图像、下层分层400的图像以及合成图像610以被分割为多个像素的状态被存储。在各图像的图像数据中,按每个像素具有表示颜色的色调和灰度等的颜色信息。图2表示图像数据的一例。在图2所示的图像数据20中,排列有“FFFF”和“0000”等的颜色信息。以下,图1的上层分层300的图像、下层分层400的图像以及合成图像610的数据形式为图像数据20那样的数据形式。而且,为了简化说明,将这些图像数据全部作为横800像素、纵600像素的数据进行说明。但这并不表示本发明只能适用于横800像素、纵600像素的图像数据。
[0040] 如图1所示那样在分成多个显示分层来描绘图像的显示控制装置中,在采用软件来合成多个显示分层的情况下,存在处理时间长的问题。关于图像的合成的处理时间变长的主要原因之一为,与上层分层300的像素是否为渗透色无关地读出各显示层的像素的数据。渗透色的像素,在对图像合成时作为透明的像素处理,因此在图像数据的合成中不需要读出,如果能够有效地跳过渗透色的像素,则能够高速地合成图像。本实施方式中,通过一次全部跳过渗透色的像素,从而能够实现对多个显示分层的图像进行合成的处理的高速化。
[0041] 图3为表示用于在导航装置中进行显示分层的图像的合成的硬件构成例的框图。在图3中,导航装置1包括SOC(System On Chip)1000、硬盘1060、显示装置800和主存储器1050。SOC1000由I/O(输入/输出)控制部1010、CPU(中央处理单元)1020、描绘单元
1030、显示控制部700和总线控制器1040构成。
[0042] SOC1000与主存储器1050、硬盘1060和显示装置800连接。在SOC1000的内部,CPU1020、描绘单元1030、显示控制部700、I/O控制部1010与总线控制器1040所控制的存储器总线相连接。在图3中,将SOC1000的构成要素与存储器总线相连接的状况表示作为它们与总线控制器1040相连接的状况。SOC1000经由存储器总线(总线控制器1040)与主存储器1050相连接。此外,SOC1000经由I/O控制部1010与硬盘1060连接。SOC1000经由显示控制部700与显示装置800连接。
[0043] SOC1000的I/O控制部1010基于CPU1020的控制访问硬盘1060等的周边设备。在通过I/O控制部1010被访问的硬盘1060中保存有地图DB(数据库)900以及地图标记
310或本车装置标记320等的各种图像的图像数据,该地图DB中存储有用于描绘周边地图
410等的地图数据。CPU1020对I/O控制部1010进行控制来访问硬盘1060,能从硬盘1060读出地图数据或各种图像数据。
[0044] SOC1000的描绘单元1030基于CPU1020的控制在上层分层300或下层分层400等的显示分层中对地图标记310或本车位置标记320、周边地图410等的各种图像进行描绘。例如,在对下层分层进行描绘的情况下,首先决定在下层分层400中进行描绘的地图范围来作为周边地图410,CPU1020经由I/O控制部1010对硬盘1060进行访问,从地图DB900读出该地图范围的地图数据。而且,CPU1020对描绘单元1030进行控制,基于从地图DB900读出的地图数据来对周边地图410的图像进行描绘。关于上层分层300也同样,CPU1020经由I/O控制部1010对硬盘1060进行访问,读出关于地图标记310或本车位置标记320的图像数据。而且,CPU1020使描绘单元1030描绘基于从硬盘1060所取得的关于地图标记
310或本车位置标记320的图像数据的图像。
[0045] 主存储器1050为RAM(随机存储器),为SOC所执行的各种处理的作业区域。主存储器1050中确保有上层分层300、下层分层400、压缩分层5500、帧缓存器600和渗透色信息存储区域5310,作为暂时保存在显示分层的合成中所必要的数据的存储区域。帧缓存器600为用于对输出到显示装置800的图像数据进行保存的存储区域。对上层分层300的图像和下层分层400的图像进行合成而得到的合成图像610的合成图像数据被保存至帧缓存器600。压缩分层5500用于保存对上层分层300的图像数据进行了压缩的压缩图像数据。
渗透色信息存储区域5310为在上层分层300的图像中存储表示以什么颜色作为渗透色处理的渗透色信息的存储区域。
[0046] 各图像数据、合成图像数据以及压缩图像数据等采用例如连结列表构造等的数据构造而被存储到主存储器1050中。各数据能够经由CPU1020所执行的软件中被采用的指针变量等读写其内容。
[0047] SOC1000的显示控制部700基于CPU1020的控制从帧缓存器600读出图像数据,并向显示装置800发送。合成图像610的合成图像数据通过显示控制部700被发送到显示装置800。显示装置800为液晶监视器等,进行基于从显示控制部700所发送的图像数据的输出显示。显示装置800在经由显示控制部700发送了合成图像数据的情况下,显示合成图像610。
[0048] 图4为对上层分层300的图像和下层分层400的图像进行合成而得到合成图像610的合成处理所涉及的导航装置1的功能结构图。图4的功能结构图由上层分层描绘机构100、下层分层描绘机构200、上层分层300、下层分层400、分层合成机构500、帧缓存器
600构成。这其中的上层分层描绘机构100、下层分层描绘机构200和分层合成机构500为CPU1020所执行的软件。
[0049] CPU1020对描绘单元1030进行控制,上层分层描绘机构100生成基于地图标记310或本车位置标记320等的图像数据的上层分层300的图像数据,保存至主存储器1050的上层分层300。此外,上层分层描绘机构100在上层分层300中生成渗透色信息即关于视为渗透色的信息,并保存至主存储器1050的渗透色信息存储区域5310中。在渗透色信息中作为渗透色的颜色作为透明被处理。在将上层分层300的图像与下层分层400的图像重叠时,在上层分层300的像素中具有成为作为渗透色的颜色的颜色信息的像素位置上,会透过而看到下层分层400。
[0050] CPU1020对描绘单元1030进行控制,下层分层描绘机构200生成周边地图410的图像数据,保存至主存储器1050的下层分层400。
[0051] 分层合成机构500包括通过CPU1020的控制而被执行的压缩机构5100、解压机构5200、合成运算机构5300这样的三个子程序。
[0052] 压缩机构5100通过公知的游程法对所输入的图像数据进行压缩,将作为压缩结果的压缩图像数据保存至主存储器1050的压缩分层5500。解压机构5200读取在压缩分层5500中保存的压缩图像数据,对原始的图像数据进行复原。
[0053] 合成运算机构5300基于渗透色信息按每个像素叠加所输入的多个显示分层的图像数据,生成合成图像数据,并保存至帧缓存器600。
[0054] 分层合成机构500通过CPU1020的控制而适当执行三个子程序,生成对上层分层300的图像数据和下层分层400的图像数据进行了合成的合成图像610的合成图像数据,并保存至帧缓存器600。
[0055] 图5表示更详细地表示分层合成机构500的功能的功能框图。图5的分层合成机构500由压缩机构5100、解压机构5200、合成运算机构5300、游程计数部5400、下层分层更新标志(flag)5600、上层分层更新标志5700构成。
[0056] 游程计数部5400在压缩机构5100通过游程法对图像数据进行压缩时使用,计算出在上层分层300的图像数据中具有相同的颜色信息的像素的连续数。以下,将游程计数部5400所计算的具有相同的颜色信息的像素的连续数称作游程。
[0057] 以图2的图像数据20为例说明游程计数部5400的动作。在图2的图像数据20的最上一行中,首先颜色信息“FFFF”的像素有四个连续。游程计数部5400对颜色信息“FFFF”有多少个连续进行计数,算出连续的颜色信息“FFFF”的游程为“4”。在图像数据20中,在颜色信息“FFFF”的像素连续四个之后,颜色信息“0000”的像素一直持续到行末为止。游程计数部5400对颜色信息“0000”有多少个连续进行计数直到行末为止,算出所连续的颜色信息“0000”的游程为“796”。
[0058] 压缩机构5100与游程计数部5400合作,通过公知的游程法对上层分层300的图像进行压缩,将上层分层300的压缩图像数据保存至压缩分层5500。压缩机构5100进行保存的压缩图像数据是作为以上层分层300的图像数据的像素的颜色信息和该颜色信息的游程为配对的数据对而进行保存的。解压机构5200从压缩分层5500读出该数据对。
[0059] 图6表示对图2的图像数据20进行了压缩的结果作为压缩机构5100的处理例。图6所示的压缩图像数据60表示压缩机构5100对图2的图像数据20进行了压缩的结果。
在图6所示的压缩图像数据60的第一行中表示对图2的图像数据20的第一行进行了压缩的数据。如前所述,在图像数据20的第一行,颜色信息“FFFF”的像素连续四个之后颜色信息“0000”的像素连续796个。因此,在压缩图像数据60的第一行首先保存着以颜色信息“FFFF”和该颜色信息的游程“004”(以16进制表示)为配对的数据对“004FFFF”。然后,在数据对“004FFFF”之后保存着以颜色信息“0000”和与该颜色信息相对应的游程“31C”(以
16进制表示)为配对的数据对“31C 0000”。在图6所示的压缩图像数据60的第2行之后也同样。另外,在压缩图像数据60的各行的末尾附加了结束符号“000”。
[0060] 返回到图5的说明。分层合成机构500具有两个处理模。第一个处理模块中,分层合成机构500执行游程计数部5400、压缩机构5100和合成运算机构5300。以下,将该处理模式称作压缩合成模式。
[0061] 在压缩合成模式中,压缩机构5100在更新了上层分层300时,对被更新的上层分层300的图像数据进行压缩,将所得到的压缩图像数据保存至压缩分层5500。合成运算机构5300基于上层分层300的图像数据以及渗透色信息、下层分层400的图像数据以像素为单位生成合成图像610的合成图像数据,并保存至帧缓存器600。
[0062] 在分层合成机构500的第二个处理模式中,分层合成机构500执行解压机构5200以及合成运算机构5300。以下,将该处理模式称作解压合成模式。
[0063] 在解压合成模式中,解压机构5200从保存于压缩分层5500的上层分层300的压缩图像数据中读取数据对。在每次解压机构5200读取数据对时,分层合成机构500将该数据对输入到合成运算机构5300。合成运算机构5300基于解压机构5200所读取的数据对、上层分层300的渗透色信息和下层分层400的图像数据,以像素为单位生成合成图像610的合成图像数据,保存至帧缓存器600。
[0064] 分层合成机构500的处理模式基于上层分层更新标志5700和下层分层更新标志5600而被选择。上层分层更新标记5700为表示上层分层300的图像数据是否被更新的标记。下层分层更新标记5600为表示下层分层400的图像数据是否被更新的标记。另外,以下所有的标记取“0”或“1”的值,保存于主存储器1050。
[0065] 在上层分层更新标记5700被置位为“1”时,分层合成机构500与下层分层更新标记5600的值无关都成为压缩合成模式。另一方面,如果在上层分层更新标记5700被复位为“0”时下层分层更新标记5600被置位为“1”,则分层合成机构500成为解压合成模式。
[0066] 上层分层更新标记5700通过CPU1020被控制。上层分层描绘机构100要将与上层分层300中已保存的图像数据不同的图像数据保存于上层分层300中时,CPU1020将上层分层更新标记5700的值置位为“1”。
[0067] 下层分层更新标记5600与上层分层更新标记5700同样,也通过CPU1020被控制。在下层分层描绘机构200要将与下层分层400中已保存的图像数据不同的图像数据保存于下层分层400中时,CPU1020将下层分层更新标记5600的值置位为“1”。
[0068] 下面针对分层合成机构500在各处理模式时进行的处理进行说明。压缩合成模式时,分层合成机构500取得上层分层300的图像数据以及渗透色信息、下层分层400的图像数据作为输入。上层分层300的图像数据被输入到压缩机构5100、合成运算机构5300、游程计数部5400。上层分层300的渗透色信息和下层分层400的图像数据被输入到合成运算机构5300。
[0069] 压缩合成模式的分层合成机构500,每次在通过与压缩机构5100合作的游程计数部5400针对上层分层300的图像数据确定游程时,将与已确定的游程相关的数据对保存至压缩分层5500,并且将该数据对输出到合成运算机构5300。合成运算机构5300参照上层分层300的渗透色信息,来对所输出的数据对中包括的颜色信息所表示的颜色是否为渗透色进行判定。而且,在数据对中包括的颜色信息所表示的颜色为渗透色的情况下,将上层分层300的图像数据跳过该数据对中包括的游程量,忽略跳过的上层分层300的图像数据,基于下层分层400的图像数据生成合成图像数据。另一方面,在数据对中包括的颜色信息表示的颜色不是渗透色的情况下,不忽略上层分层300的图像数据。
[0070] 采用图7对压缩合成模式的分层合成机构500的动作进行说明。图7(a)中示出渗透色信息71和图像数据72作为与上层分层300相关的信息的一例。渗透色信息71中设定颜色信息“0000”作为渗透色。此外,在图7(a)中,示出图像数据73作为与下层分层74相关的信息的一例。在图7(b)中,示出作为对图像数据72和图像数据73进行了合成的结果的合成图像数据74。
[0071] 在压缩机构5100开始图像数据72的处理时,首先游程计数部5400针对颜色信息“FFFF”开始游程的计算。游程计数部5400针对颜色信息“FFFF”算出其游程为“4”时,分层合成机构500将数据对“004FFFF”输入到合成运算机构5300。输入了数据对“004FFFF”的合成运算机构5300,基于渗透色信息71判定颜色信息“FFFF”是否为渗透色。由于颜色信息“FFFF”不是渗透色,因此合成运算机构5300将来自上层分层300的图像数据72的四个颜色信息“FFFF”保存至帧缓冲器600。接下来,游程计数部5400针对颜色信息“0000”开始游程的计算。游程计数部5400针对颜色信息“0000”算出该游程“796”时,分层合成机构500将数据对“31C 0000”输入到合成运算机构5300。输入了数据对“31C 0000”的合成运算机构5300基于渗透色信息71来判定颜色信息“0000”是否为渗透色。由于颜色信息“0000”为渗透色,因此合成运算机构5300忽略图像数据72的颜色信息“0000”的部分,从下层分层400的图像数据73的该像素起向帧缓存器600保存“796”个颜色信息“1111”。以上的结果为,在帧缓存器600中,保存有包括颜色信息“FFFF”为“4”个、颜色信息“1111”为“796”个的合成图像数据74。
[0072] 接下来,对解压合成模式的处理进行说明。解压合成模式时,分层合成机构500取得上层分层300的渗透色信息、下层分层400的图像数据、压缩分层5500的压缩图像数据作为输入。压缩分层5500的压缩图像数据被输入到解压机构5200。而且,解压机构5200读取压缩图像数据的数据对、上层分层300的渗透色信息和下层分层400的图像数据被输入到合成运算机构5300。
[0073] 解压合成模式的分层合成机构500首先开始解压机构5200的处理。而且,在每次解压机构5200从保存于压缩分层5500中的压缩图像数据中读取数据对时,将所读取的数据对向合成运算机构5300输出。合成运算机构5300参照上层分层300的渗透色信息,对输出的数据对中包括的颜色信息所表示的颜色是否为渗透色进行判定。而且,在数据对中包括的颜色信息所表示的颜色为渗透色的情况下,对该数据对的颜色信息忽略,基于下层分层400的图像数据生成合成图像数据。另一方面,在数据对中包括的颜色信息所表示的颜色不是渗透色的情况下,不忽略该数据对的颜色信息,将该数据对的颜色信息展开游程量而生成合成图像数据。
[0074] 接着,采用流程图对图5的分层合成机构500的处理进行说明。图8为基于上层分层更新标志5700的值以及下层分层更新标志5600的值决定分层合成机构500的处理模式的处理的流程图。图8所示的处理通过CPU1020执行。
[0075] CPU1020开始图8的处理时,进入步骤S100。在步骤S100中,CPU1020参照上层分层更新标志5700,判定上层分层更新标志5700是否被置位为“1”。在上层分层更新标志5700被置位为“1”的情况下,图8的处理进入步骤S140,开始压缩合成模式的处理。另一方面,在上层分层更新标志5700被复位为“0”的情况下,图8的处理进入步骤S110。在步骤S110中,CPU1020参照下层分层更新标志5600,判定下层分层更新标志5600是否被置位为“1”。在下层分层更新标志5600被置位为“1”的情况下,图8的处理进入到步骤S120,开始解压合成模式的处理。另一方面,在下层分层更新标志5600也被复位为“0”的情况下,CPU1020将图8的处理返回到步骤S100。
[0076] 在图8的步骤S120中,CPU1020执行解压合成模式的分层合成机构500。如果解压合成模式的分层合成机构500结束,则图8的处理进入步骤S130。在图8的步骤S130中,CPU1020将下层分层更新标志5600复位为“0”。CPU1020如果将下层分层更新标志5600复位为“0”,则使图8的处理返回到步骤S100。
[0077] 在图8的步骤S140中,CPU1020执行压缩合成模式的分层合成机构500的处理。如果压缩合成模式的分层合成机构500的处理结束,则图8的处理进入到步骤S150。在图
8的步骤S150中,CPU1020将上层分层更新标志5700复位为“0”。如果将上层分层更新标志5700复位为“0”,则图8的处理进入步骤S160。在图8的步骤S160中,CPU1020将下层分层更新标志5600复位为“0”。CPU1020如果将下层分层更新标志5600复位为“0”,则使图8的处理返回到步骤S100。
[0078] 接下来,对在图8的处理S140中、即压缩合成模式的分层合成机构500中,CPU1020所执行的处理进行说明。在步骤S140中,将上层分层300的图像数据以及渗透色信息、下层分层的图像数据作为输入,执行压缩机构5100、合成运算机构5300以及游程计数部5400的处理。图9以及图10为在压缩合成模式的分层合成机构500中,与CPU1020所执行的处理相关的流程图。
[0079] 在图9以及图10的处理中,在对上层分层300、下层分层400、帧缓存器600和压缩分层5500的数据的读写中采用指针变量。以下,将用于读取上层分层300的图像数据的指针称作指针RA。将用于读取下层分层400的图像数据的指针称作指针RB。将用于对帧缓冲器600写入合成图像数据的指针称作指针WC。将用于对压缩分层5500写入压缩图像数据的指针称作指针WD。
[0080] 在图9的步骤S200中,CPU1020对四种指针(指针RA、RB、WC、WD)进行初始化。指针RA以及指针RB按照分别指示上层分层300以及下层分层400的图像数据的头一行的开头像素的数据的方式进行初始化。指针WC以及指针WD按照分别指示帧缓冲器600以及压缩分层5500的图像数据的开头的数据的方式进行初始化。图11中表示对四种指针变量进行了初始化的状态。图11中,指针RA指示存储区域,该存储区域保存有位于上层分层
300的图像数据111的头一行的开头像素的数据。指针RB指示存储区域,该存储区域保存有位于下层分层400的图像数据112的头一行的开头的像素的数据。指针WC指示保存有合成图像数据113的帧缓存器600的开头的存储区域。指针WD指示保存有压缩图像数据
114的压缩分层5500的开头的存储区域。如果四种指针变量的初始化结束,则CPU1020使压缩合成模式的分层合成机构500的处理进入到步骤S210。
[0081] 在图9的步骤S210中,CPU1020控制游程计数部5400,将游程初始化为0。如果CPU1020将游程初始化为0,则使压缩合成模式的分层合成机构500的处理进入到步骤S220。
[0082] 在图9的步骤S220中,CPU1020读取指针RA所指的上层分层300的图像数据、即颜色信息。CPU1020如果读取了指针RA所指的上层分层300的颜色信息,则使压缩合成模式的分层合成机构500的处理进入到步骤S230。
[0083] 在图9的步骤S230中,CPU1020将指针RA所指的目标更新为上层分层300的下一个像素。图12表示将指针RA所指示的目标进行了变更的状态。在图12中,图11所示的指针RA对上层分层300的图像数据111所指示的目标被更新为向右移一个的像素。另外,在指针RA指示行末尾的像素的数据时,按照指示下一行的开头的像素的数据的方式进行更新。此外,在指针RA为上层分层300的图像数据的最后行的末尾时,更新为null。CPU1020如果将指针RA所指的目标更新为上层分层300的下一个像素,则使压缩合成模式的分层合成机构500的处理进入到步骤S240。
[0084] 在图9的步骤S240中,CPU1020判定下述的两个条件是否成立。在(条件1)或(条件2)的任一个成立的情况下,CPU1020使压缩合成模式的分层合成机构500的处理进入到步骤S250,在任一个都不成立的情况下,使压缩合成模式的分层合成机构500的处理进入到步骤S270。下述的(条件1)判定相同颜色信息的像素的连续是否停止,并针对该颜色信息判定游程是否确定。下述的(条件2),用于在相同颜色信息的像素跨行而连续的情况下,暂时使游程确定。(条件2)的判定能够通过例如判定指针RA所指的数据是否为开头的像素来进行判定。
[0085] (条件1)由步骤S220读取的颜色信息和指针RA所指示的颜色信息相同。
[0086] (条件2)由步骤S220读取的颜色信息为图像的行末的数据。
[0087] 在图9的步骤S250中,CPU1020控制游程计数部5400,对游程增加“1”。CPU1020如果在游程上加了“1”,则使压缩合成模式的分层合成机构500的处理进入到步骤S260。
[0088] 在图9的步骤S260中,CPU1020再次判定(条件2)是否成立,在判定为肯定时,针对由步骤S220读取的颜色信息确定游程,使压缩合成模式的分层合成机构500的处理进入到步骤S270,在判定为否定时,将压缩合成模式的分层合成机构500的处理返回到步骤S230。
[0089] 在图9的步骤S270中,CPU1020控制压缩机构5100,将由步骤S270开始时间点的游程和在步骤S220读取的颜色信息构成的数据对写入到指针WD所指的目标。即将所确定的数据对保存至压缩分层5500。CPU1020如果将所确定的数据对保存至了压缩分层5500,则使压缩合成模式的分层合成机构500的处理进入到步骤S280。
[0090] 在图9的步骤S280中,CPU1020将指针WD所指的目标更新为压缩分层5500的下一个存储区域。CPU1020如果将指针WD所指的目标更新为压缩分层5500的下一个存储区域,则使压缩合成模式的分层合成机构500的处理进入到图10的步骤S290。
[0091] 图13表示在图9的步骤S280结束时间点保存于压缩分层5500的压缩图像数据的一例。图13为表示图11的压缩图像数据114和针对该压缩图像数据114的指针WD通过步骤S270和步骤S280被更新的状态的一例。在图11中,在指针WD所指示的存储区域中,通过步骤S270的处理保存有由图像数据111的颜色信息“FFFF”和其游程“4”构成的数据对“004FFFF”。此外,指针WD所指的存储区域通过步骤S280的处理从图11中所指的存储区域错开一个。接下来,如果图像数据111的颜色信息“0000”的游程确定了,则保存在图13中指针WD所指示的存储区域中。
[0092] 在图10的步骤S290中,CPU1020将由步骤S270写入的数据对、保存于渗透色信息存储区域5310的上层分层300的渗透色信息、指针RB和指针WC作为输入,执行合成运算机构5300的处理。CPU1020通过执行合成运算机构5300的处理,从帧缓存器600的存储区域中指针WC所指示的位置针对数据对中所包括的游程数量的像素写入合成图像数据。图14表示针对由步骤S290执行的写入合成图像数据的处理的执行结果的例子。图14为将图13的例子中向压缩图像数据114写入的数据对“004FFFF”、保存为颜色信息“FFFF”表示的颜色不是渗透色的渗透色信息、图11的指针RB以及指针WC作为输入的合成运算机构
5300的输出结果。图14中,包括图11的指针WC所指示的位置在内保存有四个颜色信息“FFFF”。
[0093] 如图14所示,在步骤S290的处理结束后,指针WC所指示的帧缓存器600的位置也移动游程量,接下来移动到写入数据的存储区域。在步骤S290的处理中,朝向下层分层400的图像数据的指针即指针RB也配合指针WC的移动而将指针的指示位置更新与游程相应的位数。指针RA、指针RB、指针WC分别指示的上层分层300、下层分层400、帧缓存器600的像素位置,在执行步骤S290的处理后变为相同。图15表示其一例。图15为针对图11所示的指针RA、指针RB和指针WC执行了步骤S290的处理的结果。由于执行四次图9的步骤S230直到由步骤S220读取的颜色信息“FFFF”的游程确定为止,因此指针RA从图11的位置移动了四位成为图15的位置。指针WC,在步骤S290中,一边按每个像素将合成图像数据写入到帧缓存器600,一边移动与游程相应的位数(此时为四位)。指针RB配合指针WC的移动也在移动。
[0094] 在图10的步骤S290中完成合成运算机构5300的执行时,CPU1020进入步骤S300。在图10的步骤S300中,CPU1020再次判定(条件2)是否成立。CPU1020,在(条件2)判定为肯定时使压缩合成模式的分层合成机构500的处理进入到步骤S310,在(条件2)判定为否定时使压缩合成模式的分层合成机构500的处理返回到图9的步骤S220。
[0095] 在图10的步骤S310中,CPU1020控制压缩机构5100,在指针WD所指示的存储区域写入结束符号“000”。CPU1020如果将结束符号“000”写入到指针WD所指示的目标,则使压缩合成模式的分层合成机构500的处理进入到步骤S320。
[0096] 在图10的步骤S320中,CPU1020针对上层分层300的图像数据中所包括的所有数据,判定压缩合成模式的分层合成机构500的处理是否结束。该判定也可判定例如指针RA是否指null。CPU1020,在判定为肯定的情况下结束压缩合成模式的分层合成机构500的处理,在判定为否定的情况下,使压缩合成模式的分层合成机构500的处理进入到步骤S330。
[0097] 在图10的步骤S330中,CPU1020使指针WD所指示的存储区域移动到压缩图像数据的下一行的开头。图16表示执行了步骤S330的处理的结果的一例。在图16中,压缩图像数据114的第一行由结束符号“000”结束,指针WD指示第二行的数据。CPU1020将压缩合成模式的分层合成机构500的处理返回到图9的步骤S220。
[0098] 接下来,采用图17所示的流程图说明合成运算机构5300的处理。图17所示的合成运算机构5300为CPU1020所执行的处理,需要与上层分层300相关的数据对PA、下层分层400的读取指针RB、上层分层300的渗透色信息和向帧缓存器600的写入指针WC作为其输入。
[0099] 在图17的流程图中,使用重复次数n作为内部变量。在图17的步骤S400中,CPU1020将重复次数n初始化为0。CPU1020如果将重复次数n初始化为0,则使合成运算机构5300的处理进入到步骤S410。
[0100] 在图17的步骤S410中,CPU1020基于所输入的上层分层300的渗透色信息,判定所输入的数据对PA中包括的颜色信息是否为渗透色。CPU1020在数据对PA中所包括的颜色信息为渗透色时,使合成运算机构5300的处理进入到步骤S420,在数据对PA中所包括的颜色信息不是渗透色时进入到步骤S470。
[0101] 在图17的步骤S420到步骤S460的处理中,由于数据对PA中包括的颜色信息是渗透色,因此忽略游程数量的位数的上层分层300的图像数据,而合成图像。能够采用数据对PA中所包括的颜色信息,针对上层分层300的像素,集中游程数量的位数来一起判定是否为渗透色,因此与按每个像素判定是否为渗透色的现有的合成处理相比能够高速地进行合成。
[0102] 在图17的步骤S420中,CPU1020将指针RB所指示的颜色信息保存(复制)到指针WC所指示的存储区域中。CPU1020如果将指针RB所指示的颜色信息保存(复制)到指针WC所指示的存储区域中,则使合成运算机构5300的处理进入到步骤S430。
[0103] 在图17的步骤S430中,CPU1020将指针RB所指示的目标更新为下层分层400的图像数据的下一个数据。如果CPU1020更新了指针RB所指示的目标,则使合成运算机构5300的处理进入到步骤S440。在图17的步骤S440中,CPU1020将指针WC所指示的目标更新为帧缓存器600的下一个存储区域。CPU1020如果更新了指针WC所指示的目标,则使合成运算机构5300的处理进入到步骤S450。
[0104] 在图17的步骤S450中,CPU1020在反复次数n上加“1”。CPU1020如果在反复次数n上加了“1”,则使合成运算机构5300的处理进入到步骤S460。
[0105] 在图17的步骤S460中,CPU1020判定反复次数n是否成为与数据对PA的游程相同的值。即判定是否反复执行了从步骤S420到步骤S440为止的处理达到数据对PA的游程量的次数。CPU1020在反复次数n成为与数据对PA的游程相同的值时,结束合成运算机构5300的处理,如果重复次数n比数据对PA的游程小,则将合成运算机构5300的处理返回到步骤S420。
[0106] 在图17的步骤S470中,CPU1020,由于数据对PA中所包括的颜色信息不是渗透色,因此将该颜色信息保存至指针WC所指示的帧缓存器600的存储区域。CPU1020如果将数据对PA中包括的颜色信息保存至指针WC所指示的帧缓存器600的存储区域,则使合成运算单元5300的处理进入到步骤S480。
[0107] 在图17的步骤S480中,CPU1020将指针RB所指示的目标更新为下层分层400的图像数据的下一个数据。CPU1020如果更新了指针RB所指示的目标,则使合成运算单元5300的处理进入到步骤S490。在图17的步骤S490中,CPU1020将指针WC所指示的目标更新为帧缓存器600的下一个存储区域。CPU1020如果更新了指针WC所指示的目标,则使合成运算单元5300的处理进入到步骤S500。
[0108] 在图17的步骤S500中,CPU1020在重复次数n上加1。CPU1020如果在重复次数n上加了1,则使合成运算机构5300的处理进入到步骤S510。
[0109] 在图17的步骤S510中,CPU1020判定重复次数n是否成为与数据对PA的游程相同的值。CPU1020在重复次数n成为与数据对PA的游程相同的值时,结束合成运算机构5300的处理,如果重复次数n比数据对PA的游程小,则使合成运算机构5300的处理返回到步骤S470。
[0110] 以上,结束对压缩合成模式的分层合成机构500的说明。图17的合成运算机构5300,在步骤S410中,针对数据对PA中包括的游程个的像素一次全部判定是否为渗透色。
由此,与按每个像素判定是否为渗透色的现有技术相比,能够高速地进行显示分层的合成。
[0111] 接下来,对在图8的步骤S120中,即解压合成模式的分层合成机构500中,CPU1020所执行的处理进行说明。在图8的步骤S120中,将保存于压缩分层5500中的压缩图像数据、上层分层300的渗透色信息、下层分层400的图像数据作为输入,执行解压机构5200和合成运算机构5300的处理。图18为在解压合成模式的分层合成机构500中,与CPU1020所执行的处理相关的流程图。
[0112] 在图18的步骤S600中,CPU1020对三种的指针(指针RD、RB、WC)进行初始化。指针RB和指针WC与图9中所说明的内容相同。指针RB为用于读取下层分层400的图像数据的指针。指针WC为用于对帧缓存器600写入合成图像数据的指针。指针RD为用于从压缩分层5500读取解压图像数据、即从压缩分层5500读取数据对的指针。CPU1020按照指针RB指示下层分层400的头一行的开头的像素的图像数据的方式进行初始化。指针WC按照指示帧缓存器600的开头的存储区域的方式进行初始化。指针RD按照指示压缩分层
5500的开头的数据对的方式进行初始化。CPU1020如果结束了三种指针的初始化,则使解压合成模式的分层合成机构500的处理进入到步骤S610。
[0113] 在图18的步骤S610中,CPU1020从指针RD所指示的压缩分层5500的存储区域读取数据对。CPU1020如果从指针RD所指示的压缩分层5500的存储区域读取了数据对,则使解压合成模式的分层合成机构500的处理进入到步骤S620。
[0114] 在图18的步骤S620中,CPU1020判定在步骤S610中是否读取了结束符号“000”。CPU1020在读取了结束符号“000”的情况下,使解压合成模式的分层合成机构500的处理进入到步骤S640,在没有读取结束符号“000”的情况下,进入到步骤S630。
[0115] 在图18的步骤S630中,CPU1020以由步骤S610读取的数据对、保存于渗透色信息存储区域5310中的上层分层300的渗透色信息、指针RB和指针WC作为输入,执行图17所示的合成运算机构5300的处理。CPU1020如果结束了合成运算机构5300的处理,则使解压合成模式的分层合成机构500的处理进入到步骤S640。
[0116] 在图18的步骤S640中,CPU1020将指针RD所指的目标更新为压缩分层5500的下一个数据对。在步骤S610中读取了结束符号“000”的情况下,更新为压缩分层5500的下一行的开头的数据对。CPU1020如果更新了指针RD所指的目标,则使解压合成模式的分层合成机构500的处理进入到步骤S650。
[0117] 在图18的步骤S650中,CPU1020判定针对在压缩分层5500中保存的所有的数据对,是否执行了合成运算机构5300的处理。也可判定例如指针RD是否指示压缩分层5500的最终行的结束符号“000”。CPU1020在判定为针对压缩分层5500中保存的所有的数据对执行了合成运算机构5300的处理的情况下,结束解压合成模式的分层合成机构500,在存在没有结束合成运算机构5300的处理的数据对的情况下,使解压合成模式的分层合成机构500返回到步骤S610。
[0118] 根据以上所说明的实施方式,实现以下的作用效果。
[0119] 本实施方式的显示控制装置,是将通过对上层分层300和下层分层400这样的多个显示分层的图像数据进行合成而得到的合成图像数据显示于显示装置800中的导航装置1。上层分层300和下层分层400的图像由多个像素21构成,其图像数据包括与多个像素21的每一个的与颜色相关的颜色信息。在上层分层300的图像数据中作为渗透色处理的颜色信息,作为渗透色信息保存于主存储器1050的渗透色信息存储区域5310中。CPU1020判定上层分层300以及下层分层400的每一个图像数据被更新,对上层分层更新标志5700以及下层分层更新标志5600进行控制。导航装置1具备:算出与在上层分层300的图像数据中包括的颜色信息相关的游程的游程计数部5400;合成上层分层300和下层分层400的图像数据,并生成合成图像数据的合成运算机构5300;将通过合成运算机构5300生成的合成图像数据输出到显示装置800,使合成图像显示于显示装置800的显示控制部700。在上层分层300被更新并且上层分层更新标志5700被置位为“1”时,导航装置1的合成运算机构5300在图9的步骤S210~S270中,集中CPU1020控制游程计数部5400而算出的游程量,在图17的步骤S410中判定像素的颜色信息是否为渗透色(图10的步骤S290、图18的步骤S630)。由此,如合成运算机构5300那样在对多个显示分层进行合成的合成处理中,针对显示分层的像素,集中与游程相应的数量来一起判定这些像素是否为渗透色,如果与游程相应的数量的像素为渗透色,则通过进行忽略,从而能够有效地跳过这些像素。其结果,与按显示层的每个像素读出颜色信息并判定是否为渗透色的现有的合成处理相比,能够更高速地合成图像数据。这种合成处理,不采用专用的硬件,能够只由软件高速地执行。
[0120] 以上说明的实施方式能够如下那样变形来进行实施。
[0121] (1)在以上所说明的实施方式中,说明了对上层分层300和下层分层400之类的两个显示分层进行了合成的情况。但是,对图像进行合成的显示分层的分层数不限于两个。即也能适用于对三个以上的显示分层的图像进行合成的情况。该情况下,在主存储器1050中进一步确保按各显示分层保存图像数据的存储区域、分别保存对最下层以外的显示分层的图像进行了压缩的压缩图像数据的多个压缩分层;分别保存最下层以外的显示分层的渗透色信息的渗透色信息存储区域。而且,最下层的显示分层的图像数据通过与下层分层描绘机构200相同的描绘单元被生成,保存在主存储器1050的存储区域中。此外,最下层以外的显示分层的图像数据通过与上层分层描绘机构100相同的描绘单元与渗透色信息一起生成,并被保存在主存储器1050的存储区域中。按各显示分层准备上层分层更新标志5700或下层分层更新标志5600等那样的更新标志。
[0122] 图23为对四个显示分层进行合成的情况下的显示控制装置的功能构成图。在图23的例子中,相对下层分层400,合成第1上层分层300a、第2上层分层300b和第3上层分层300c。第1上层分层300a为比下层分层400高1层的显示分层。第2上层分层300b为比第1上层分层300a高1层的显示分层。同样,第3上层分层300c为比第2上层分层
300b高1层的显示分层。各上层分层向下层分层400的合成,按照从第1上层分层300a向第2上层分层300b、第3上层分层300c的顺序执行。即使在显示分层的数目为四个之外的情况下,也按照从更低位层的上层分层以层顺序向下层分层400合成。
[0123] 在第1上层分层300a中保存的图像数据通过第1上层分层描绘机构100a生成。此外,第1上层分层描绘机构100a生成与第1上层分层300a的图像数据相关的渗透色信息,并保存至第1上层分层渗透色信息存储区域5310a。第1上层分层描绘机构100a与上层分层描绘机构100同样,CPU1020对描绘单元1030等进行控制来执行处理。对第1上层分层300a的图像数据进行了压缩的压缩图像数据被保存至第1压缩分层5500a中。第1上层分层300a的更新标记为第1上层分层更新标记5700a。第1上层分层300a的图像数据被更新时,第1上层分层更新标志5700a的值通过CPU1020被置位为“1”。第1上层分层300a、第1上层分层渗透色信息存储区域5310a、第1压缩分层5500a在主存储器1050中被确保它们的存储区域。关于第1上层分层300b以及第3上层分层300c也同样。在图
23中,作为用于第2上层分层300b的结构,存在第2上层分层描绘机构100b、第2上层分层渗透色信息存储区域5310b、第2压缩分层5500b、第2上层分层更新标志5700b。此外,作为用于第3上层分层300c的结构,存在第3上层分层描绘机构100c、第3上层分层渗透色信息存储区域5310c、第3压缩分层5500c、第3上层分层更新标志5700c。
[0124] 图23所示的显示控制装置除了图4所示的显示控制装置之外,还具有上层选择机构2301、下层选择机构2302、输出切换机构2303、合成结果暂时保存机构2304和压缩分层选择机构2305。
[0125] 上层选择机构2301按照CPU1020的控制而选择一个从第1上层分层300a、第2上层分层300b、第3上层分层300c中向分层合成机构500输出的上层分层。上层选择机构2301将所选择的上层分层的图像数据和渗透色信息向分层合成机构500输出。
[0126] 下层选择机构2302按照CPU1020的控制而从下层分层400和合成结果暂时保存机构2304中选择任意一个。下层选择机构2302在选择了下层分层400的情况下,将下层分层400的图像数据向分层合成机构500输出。下层选择机构2302在选择了合成结果暂时保存机构2304的情况下,将在合成结果暂时保存机构2304中暂时保存的合成图像数据向分层合成机构500输出。
[0127] 输出切换机构2303按照CPU1020的控制,选择对通过分层合成机构500的合成运算机构5300生成的合成图像数据进行保存的目标。输出切换机构2303将合成图像数据保存至帧缓存器600和合成结果暂时保存机构2304的任一个中。合成结果暂时保存机构2304为在主存储器1050中被确保的存储区域,为直到向下层分层400的图像数据结束合成所有三个上层分层的图像数据为止的期间,对通过合成运算机构5300生成的合成图像数据进行保存的存储区域。直到向下层分层400的图像数据结束合成所有三个上层分层的图像数据为止,通过输出切换机构2303选择合成结果暂时保存机构2304,合成图像数据被保存至合成结果暂时保存机构2304。另一方面,在向下层分层400的图像数据合成了所有三个上层分层的图像数据时,通过输出切换机构2303选择帧缓存器600,合成图像数据被保存至帧缓存器600。向合成结果暂时保存机构2304保存的合成图像数据,在通过下层选择机构2302选择了合成结果暂时保存机构2304时,向分层合成机构500输出。而且,通过合成运算机构5300与下一个上层分层合成。
[0128] 压缩分层选择机构2305按照CPU1020的控制,从第1压缩分层5500a、第2压缩分层5500b、第3压缩分层5500c中选择对压缩图像数据进行保存或者读取的压缩分层。分层合成机构500的压缩机构5100向压缩分层选择机构2305所选择的压缩分层保存压缩图像数据。分层合成机构500的解压机构5200从压缩分层选择机构2305所选择的压缩分层读取压缩图像数据,并对原来的图像数据进行复原。
[0129] 图24~图26为表示基于图23的四个更新标志的值对四个显示分层进行合成的处理的流程图。图24~图26所示的处理通过CPU1020执行。
[0130] 在图24的步骤S1010中,CPU1020对四个更新标志、即下层分层更新标志5600、第1上层分层更新标志5700a、第2上层分层更新标记5700b、第3上层分层更新标记5700c中是否存在某一个被置位为“1”的情况进行判定。图24的处理在步骤S1010中待机直到四个更新标记的任一个都被置位为“1”为止,如果四个更新标志的任一个都被置位为“1”,则进入到步骤S1020。
[0131] 在步骤S1020中,CPU1020对上层选择机构2301进行控制,选择第1上层分层300a。CPU1020如果使上层选择机构2301选择第1上层分层300a,则使图24的处理进入到步骤S1030。
[0132] 在步骤S1030中,CPU1020对下层选择机构2300进行控制,选择下层分层400。CPU1020如果使下层选择机构2302选择下层分层400,则使图24的处理进入到步骤S1040。
[0133] 在步骤S1040中,CPU1020对压缩分层选择机构2305进行控制,选择第1压缩分层5500a。CPU1020如果使压缩分层选择机构2305选择第1压缩分层5500a,则使图24的处理进入到步骤S1050。
[0134] 在步骤S1050中,CPU1020对输出切换机构2303进行控制,选择合成结果暂时保存机构2304。CPU1020如果使输出切换机构2303选择合成结果暂时保存机构2304,则使图24的处理进入到步骤S1060。
[0135] 在步骤S1060中,CPU1020参照第1上层分层更新标志5700a,判定第1上层分层更新标志5700a是否被置位为“1”。CPU1020在第1上层分层更新标志5700a被置位为“1”的情况下,使图24的处理进入到步骤S1080,在第1上层分层更新标记5700a被复位为“0”的情况下,使处理进入到步骤S1070。
[0136] 在步骤S1070中,CPU1020执行解压合成模式的分层合成机构500。解压机构5200从保存于第1压缩分层5500a中的第1上层分层300a的压缩图像数据读取数据对。而且,基于在该数据对中所包括的颜色信息和游程,将被压缩的第1上层分层300a的图像数据向下层分层400的图像数据合成,将该合成图像数据向合成结果暂时保存机构2304保存。如果解压合成模式的分层合成机构500的处理结束,则CPU1020使处理进入到图25的步骤S1100。
[0137] 在步骤S1080中,CPU1020执行压缩合成模式的分层合成机构500。通过压缩机构5100对第1上层分层300a的图像数据进行压缩,并将压缩图像数据保存于第1压缩分层
5500a中。而且,基于该压缩的过程中计算出的游程,将第1上层分层300a的图像数据合成到下层分层400的图像数据,并将该合成图像数据保存至合成结果暂时保存机构2304。
如果压缩合成模式的分层合成机构500的处理结束,则CPU1020使图24的处理进入到步骤S1090。
[0138] 在步骤S1090中,CPU1020将第1上层分层更新标志5700a复位为“0”。CPU1020如果将第1上层分层更新标志5700a复位为“0”,则使处理进入到图25的步骤S1100。
[0139] 在图25的步骤S1100中,CPU1020选择上层选择机构2301,并选择第2上层分层300b。CPU1020如果使上层选择机构2301选择第2上层分层300b,则使图25的处理进入到步骤S1110。
[0140] 在步骤S1110中,CPU1020控制下层选择机构2302,并选择合成结果暂时保存机构2304。CPU1020如果使下层选择机构2302选择合成结果暂时保存机构2304,则使图25的处理进入到步骤S1120。
[0141] 在步骤S1120中,CPU1020控制压缩分层选择机构2305,并选择第2压缩分层5500b。CPU1020如果使压缩分层选择机构2305选择第2压缩分层5500b,则使图25的处理进入到步骤S1130。
[0142] 在步骤S1130中,CPU1020控制输出切换机构2303,并选择合成结果暂时保存机构2304。CPU1020如果使输出切换机构2303选择合成结果暂时保存机构2304,则使图25的处理进入到步骤S1140。
[0143] 在步骤S1140中,CPU1020参照第2上层分层更新标志5700b,判定第2上层分层更新标志5700b是否被置位为“1”。CPU1020在第2上层分层更新标志5700b被置位为“1”的情况下,使图25的处理进入到步骤S1160,在第2上层分层更新标记5700b被复位为“0”的情况下,使处理进入到步骤S1150。
[0144] 在步骤S1150中,CPU1020执行解压合成模式的分层合成机构500。解压机构5200从保存于第2压缩分层5500b中的第2上层分层300b的压缩图像数据读取数据对。而且,基于在该数据对中所包括的颜色信息和游程,将被压缩的第2上层分层300b的图像数据向保存于合成结果暂时保存机构2304中的合成图像数据合成,将该合成图像数据向合成结果暂时保存机构2304保存。由此,在合成结果暂时保存机构2304中保存的合成图像数据成为对下层分层400的图像数据合成了第1上层分层300a的图像数据和第2上层分层300b的图像数据后的数据。如果解压合成模式的分层合成机构500的处理结束,则CPU1020使处理进入到图26的步骤S1180。
[0145] 在步骤S1160中,CPU1020执行压缩合成模式的分层合成机构500。通过压缩机构5100对第2上层分层300b的图像数据进行压缩,并将压缩图像数据保存于第2压缩分层5500b中。而且,基于该压缩的过程中计算出的游程,将第2上层分层300b的图像数据合成到保存于合成结果暂时保存机构2304中的合成图像数据,并将该合成图像数据保存至合成结果暂时保存机构2304。由此,在合成结果暂时保存机构2304中保存的合成图像数据成为对下层分层400的图像数据合成了第1上层分层300a的图像数据和第2上层分层300b的图像数据后的数据。CPU1020如果压缩合成模式的分层合成机构500的处理结束,则使图25的处理进入到步骤S1170。
[0146] 在步骤S1170中,CPU1020将第2上层分层更新标志5700b复位为“0”。CPU1020如果将第2上层分层更新标志5700b复位为“0”,则使处理进入到图26的步骤S1180。
[0147] 在图26的步骤S1180中,CPU1020选择上层选择机构2301,并选择第3上层分层300c。CPU1020如果使上层选择机构2301选择第3上层分层300c,则使图26的处理进入到步骤S1190。
[0148] 在步骤S1190中,CPU1020控制下层选择机构2302,并选择合成结果暂时保存机构2304。CPU1020如果使下层选择机构2302选择合成结果暂时保存机构2304,则使图26的处理进入到步骤S1200。
[0149] 在步骤S1200中,CPU1020控制压缩分层选择机构2305,并选择第3压缩分层5500c。CPU1020如果使压缩分层选择机构2305选择第3压缩分层5500c,则使图26的处理进入到步骤S1210。
[0150] 在步骤S1210中,CPU1020控制输出切换机构2303,并选择帧缓存器600。CPU1020如果使输出切换机构2303选择帧缓存器600,则使图26的处理进入到步骤S1220。
[0151] 在步骤S1220中,CPU1020参照第3上层分层更新标志5700c,判定第3上层分层更新标志5700c是否被置位为“1”。CPU1020在第3上层分层更新标志5700c被置位为“1”的情况下,使图26的处理进入到步骤S1240,在第3上层分层更新标记5700c被复位为“0”的情况下,使处理进入到步骤S1230。
[0152] 在步骤S1230中,CPU1020执行解压合成模式的分层合成机构500。解压机构5200从保存于第3压缩分层5500c中的第3上层分层300c的压缩图像数据读取数据对。而且,基于在该数据对中所包括的颜色信息和游程,将被压缩的第3上层分层300c的图像数据向保存于合成结果暂时保存机构2304中的合成图像数据合成,将该合成图像数据向帧缓存器600保存。由此,在帧缓存器600中保存的合成图像数据成为对下层分层400的图像数据合成了第1上层分层300a的图像数据和第2上层分层300b的图像数据、以及第3上层分层300c的图像数据后的数据。如果解压合成模式的分层合成机构500的处理结束,则CPU1020使图26的处理进入到步骤S1260。
[0153] 在步骤S1240中,CPU1020执行压缩合成模式的分层合成机构500。通过压缩机构5100对第3上层分层300c的图像数据进行压缩,并将压缩图像数据保存于第3压缩分层
5500c中。而且,基于该压缩的过程中计算出的游程,将第3上层分层300c的图像数据合成到保存于合成结果暂时保存机构2304中的合成图像数据,并将该合成图像数据保存至帧缓存器600。由此,在帧缓存器600中保存的合成图像数据成为对下层分层400的图像数据合成了第1上层分层300a的图像数据和第2上层分层300b的图像数据、第3上层分层
300c的图像数据后的数据。如果压缩合成模式的分层合成机构500的处理结束,则CPU1020使图26的处理进入到步骤S1250。
[0154] 在步骤S1250中,CPU1020将第3上层分层更新标志5700c复位为“0”。CPU1020如果将第3上层分层更新标志5700c复位为“0”,则使图26的处理进入到步骤S1260。
[0155] 在步骤S1260中,CPU1020将下层分层更新标志5600复位为“0”。如果将下层分层更新标志复位为“0”,则CPU1020使图24的处理返回到步骤S1010。
[0156] 在对下层分层400合成的上层分层的数目进一步增加的情况下,替用与图25所示的处理相同的处理。
[0157] 由图24的步骤S1080、图25的步骤S1160、图26的步骤S1240执行的压缩合成模式的分层合成机构500,执行与图9以及图10中所示的压缩合成模式的分层合成机构500相同的处理。用于读取与图9以及图10中的上层分层300的图像数据的指针RA也可为在图24~26中通过上层选择机构2301选择的上层分层的图像数据的读取指针。用于读取下层分层400的图像数据的指针RB也可为在图24~26中通过下层选择机构2302选择的下层分层400或者合成结果暂时保存机构2304的图像数据的读取指针。用于对帧缓存器600写入合成图像数据的指针WC也可为在图24~26中对通过输出切换机构2303选择的合成结果暂时保存机构2304或者帧缓存器600的写入指针。用于对压缩分层5500写入压缩图像数据的指针WD也可为在图24~26中,对通过压缩分层选择机构2305选择的压缩分层的写入指针。
[0158] 由图24的步骤S1070、图25的步骤S1150、图26的步骤S1230执行的解压合成模式的分层合成机构500执行与图18所示的解压合成模式的分层合成机构500相同的处理。用于读取图18中的压缩分层5500的压缩图像数据的指针RD也可为在图24~26中通过压缩分层选择机构2305选择的压缩分层的读取指针。用于读取下层分层400的图像数据的指针RB也可为在图24~26中通过下层选择机构2302选择的下层分层400或者合成结果暂时保存机构2304的图像数据的读取指针。用于向帧缓存器600写入合成图像数据的指针WC也可为在图24~26中对通过输出切换机构2303选择的合成结果暂时保存机构2304或者帧缓存器600的写入指针。
[0159] (2)在以上所说明的实施方式中,采用导航装置作为显示控制装置进行了说明,但本发明也能适用于导航装置以外的设备。例如,也可用于便携式电话的画面显示等。便携式电话的画面中,存在便携式电话的系统侧对表示电波的接收状态和电池的剩余量等的图像进行描绘的显示分层、和在各种应用程序的执行中所描绘的显示分层。对于将这些显示分层的图像进行合成的合成处理,也能适用本发明。
[0160] (3)在以上说明的实施方式中,压缩机构5100通过在压缩图像数据中加入结束符号“000”,从而能够识别压缩前的图像数据的各行的行末。但是,也可不采用结束符号“000”,而通过跨行采用游程法进行压缩。在上层分层300大体为渗透色的像素的情况下,能够更有效地跳过渗透色的像素。
[0161] (4)在以上所说明的实施方式中,在合成运算机构5300中,在上层分层300的像素的颜色信息不是渗透色时,作为上层分层300的图像和下层分层400的图像的合成结果,将上层分层300的像素的颜色信息保存至帧缓存器600(图17的步骤S470)。但是,在上层分层300的像素的颜色信息不是渗透色时的图像的合成方法并不限于此。例如也可进行利用了作为公知技术的阿尔法通道(Alpha Channel)等的半透明处理来对上层分层300的像素的颜色信息和下层分层400的像素的颜色信息进行合成。
[0162] (5)在上层分层300或第1上层分层300a、第2上层分层300b、第3上层分层300c等中被描绘的图像为运动图像,且被频繁地更新的情况下,在压缩分层5500等中保存的压缩图像数据几乎不能利用于合成运算机构5300。由此,在上层分层300等所表示的图像为动画等,且其更新频率比规定的帧频高的情况下,也可禁止将压缩图像数据保存至压缩分层5500等中。这里所述的规定的帧频也可为例如15fps(Frame Per Second)。15fps表示在1秒期间对图像更新15次。
[0163] 图19中对图5所示的分层合成机构500的功能框图追加用于执行压缩图像数据对压缩分层5500的写入禁止处理的结构。图19的功能框图对图5的功能框图追加了不可重新利用标志5800。在CPU1020进行控制并且上层分层300的图像数据为运动图像的情况等、通过上层分层描绘机构100以比规定的帧频更频繁地更新的情况下,不可重新利用标志5800被置位为“1”。而且,在压缩合成模式的分层合成机构500中,在不可重新利用标志5800被置位为“1”时,压缩机构5100所进行的压缩图像数据对压缩分层5500的写入被禁止。
[0164] 采用图20~图22所示的流程图,对追加了写入禁止处理的压缩合成模式的分层合成机构500的处理进行说明。图20~图22所示的流程图为在图9和图10所示的与压缩合成模式的分层合成机构500相关的流程图中追加了与基于不可重新利用标志5800的写入禁止处理相关的流程。
[0165] 在图20~图22中所示的流程图中,在步骤S270之前追加步骤S800。在图21的步骤S800中,CPU1020判定不可重新利用标志是否被置位为“1”。在图21的步骤S800中不可重新利用标志被置位为“1”的情况下,CPU1020使压缩合成模式的分层合成机构500的处理进入到步骤S810,在不可重新利用标志被复位为“0”的情况下,使压缩合成模式的分层合成机构500的处理进入到步骤S270。在使压缩合成模式的分层合成机构500的处理进入到步骤S270的情况下,在此之后的处理与图10的处理相同。
[0166] 图21的步骤S810~S830的处理,为从图9和图10所示的与压缩合成模式的分层合成机构500相关的流程图的步骤S270以后的处理中省略了步骤S270、步骤S280、步骤S310和步骤S330后的处理。
[0167] 图21的步骤S810中,CPU1020以将由步骤S220读入的颜色信息和对该颜色信息确定的游程为配对的数据对、在渗透色信息存储区域5310中保存的上层分层300的渗透色信息、指针RB和指针WC作为输入,来执行合成运算机构5300的处理。CPU1020通过执行合成运算机构5300的处理,针对从帧缓存器600的存储区域中指针WC所指示的位置起数据对中所包括的与游程相应数量的像素,写入合成图像数据。CPU1020在图21的步骤S810中完成了合成运算机构5300的执行时,进入到步骤S820。
[0168] 在图21的步骤S820中,CPU1020判定在图9的说明中前述的条件(条件2)是否成立。CPU1020在(条件2)被判定为肯定时,使压缩合成模式的分层合成机构500的处理进入到步骤S830,在(条件2)被判定为否定时,返回到图20的步骤S220。
[0169] 在图21的步骤S830中,CPU1020针对上层分层300的图像数据中所包括的所有数据,判定压缩合成模式的分层合成机构500的处理是否结束。该判定也可对例如指针RA是否指null进行判定。CPU1020,在判定为肯定的情况下,结束压缩合成模式的分层合成机构500的处理,在判定为否定的情况下,使压缩合成模式的分层合成机构500的处理返回到图20的步骤S220。
[0170] 以上所说明的各实施方式和各种变形例只不过是一个例子,只要不损害本发明的特征,本发明并不限定其内容。
QQ群二维码
意见反馈