专利名称:导航装置及地图显示方法
技术领域:
本发明涉及使用地图进行位置向导的导航装置的地图显示技术。
背景技术:
作为导航装置中的地图显示技术,已知有根据表示三维地图的地图数据显示三维表现的地像的技术,所述三维表现的地像,是对基于当前位置而确定的地理区域的三维地图进行绘制而生成的(例如专利文献1)。
日本特开2004-219182号公报在导航装置中显示地图,最好是尽可能高品质地进行。
但是,根据导航装置的地图数据显示地图的处理、尤其是显示三维表现的地像的处理,其处理量较大,若为了提高品质而高分辨率地显示细致表现的地图,或者提高要显示的地图的更新频率,地图显示的处理负荷往往过大。
发明内容
因此,本发明的课题在于,在导航装置中减轻显示地图所需的处理的负荷。
为了解决上述课题,本发明提供一种导航装置,包括地图数据存储单元,存储有地图数据,该地图数据包括与多个区划的各区对应设置的定义所对应的区划内的地图的区划地图数据;图像描绘单元,描绘图像;显示地图数据存储单元,存储有按照上述每个区划所生成的、对上述图像描绘单元规定表示该区划地图的图像的数据即显示区划地图数据;以及显示地图数据生成单元,对于显示地图的地理范围即地图显示范围中至少包括一部分的各个区划,当上述显示地图数据存储单元中没有存储关于该区划的上述显示区划地图数据时,根据存储在上述地图数据存储单元中的地图数据所包含的该区划的区划地图数据,生成关于该区划的上述显示区划地图数据,存储到上述显示地图数据存储单元;在上述图像描绘单元中,使用存储于显示地图数据存储单元的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据,描绘上述地图显示范围的地像,作为上述要显示的地像。
在此,更具体地说,在这样的导航装置中,上述显示区划地图数据可以包括请求描绘构成所对应的区划的地图的各个图形要素的描绘指令;在这样的情况下,上述图像描绘单元构成为,通过进行坐标转换并描绘,使得存储于上述显示地图数据存储单元中的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据所包含的各个描绘指令所表示的图形要素,成为构成上述地图显示范围的地图的图形要素,来描绘上述地图显示范围的地像,作为上述要显示的地像。
或者,在这样的导航装置中,也可以是,上述区划地图数据定义区划内的三维地图;上述显示区划地图数据包括构成所对应的区划的三维地图的图形要素的三维形状数据;并且,在这样的情况下,上述图像描绘单元构成为,通过使用预定的视点,绘制由存储于上述显示地图数据存储单元的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据所包含的三维形状数据的集合形成的与虚拟三维世界的上述地图显示范围相对应的区域,来描绘上述地图显示范围的三维表现的地像,作为上述要显示的地像。
根据这样的导航装置,当过去存储在显示地图数据存储单元中的显示区划地图数据是关于本次要显示的地图中至少包括一部分的区划的数据时,挪用该过去存储在显示地图数据存储单元中的显示区划地图数据,描绘本次要显示的地图,对于能够挪用该显示区划地图数据的区划不生成显示区划地图数据。因此,能够减轻显示区划地图数据的生成或向显示地图数据存储单元进行存储的处理负荷。
此外,也可以是,当如前所述地将上述区划地图数据作为定义了区划内的三维地图的数据时,在导航装置中设置计算当前位置的当前位置计算单元、以及在与所计算的当前位置对应的所显示的地图上的位置上显示表示当前位置的当前位置标记的当前位置显示单元;在上述图像描绘单元中,从绘制对象中除去三维形状数据所表示的三维对象内的、相对于在上述绘制中使用的视点位于与上述虚拟三维世界中的上述当前位置相对应的位置的前面的三维对象。
由此,挪用过去存储在显示地图数据存储单元中的上述显示区划地图数据,并且,总是不描绘相对于在上述绘制中使用的视点位于上述虚拟三维世界的当前位置前面的位置的三维对象,从而用户能够容易地进行当前位置标记的视觉辨认。
此外,也可以是,以上的各个导航装置在上述显示地图数据生成单元中,当在上述显示地图数据存储单元中不存在足够存储上述所生成的显示区划地图数据的空闲容量时,从该显示地图数据存储单元中擦除存储于该显示地图数据存储单元的、按照预定的基准选定的显示区划地图数据。由此,如果适当地设定上述预定的基准,则可以使用显示地图数据存储单元有限的存储容量,高效地减轻显示区划地图数据的生成或向显示地图数据存储单元进行存储的处理负荷。
另外,在以上的各个导航装置中,优选为,上述图像描绘单元对于上述地图显示范围以外的区域,不描绘基于存储于上述显示地图数据存储部的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据的地像。
由此,能够减轻图像描绘单元的地图描绘的处理负荷。
另外,为了解决上述课题,本发明提供一种根据地图数据显示地图的地图显示方法,包括下述步骤判断为是显示地图的地理范围所包含的区域,并且是在存储用于描绘要显示的地像的数据即显示地图数据的存储器中没有存储关于该区域的显示地图数据的区域;生成关于所判断出的显示地图数据没有存储在上述存储器中的区域的上述显示地图数据,存储到上述存储器;以及使用上述存储器所存储的上述显示地图数据,描绘并显示上述地图显示范围的地图。
根据这样的地图显示方法,当过去存储在存储器中的显示地图数据是关于本次要显示的地图所包含的区域的数据时,挪用该过去存储在存储器中的显示地图数据,描绘本次要显示的地图,对于能够使用该显示地图数据的区域不生成显示地图数据。因此,能够减轻显示地图数据的生成或向存储器进行存储的处理负荷。
如上所述,根据本发明,可以减轻导航装置中的地图显示的的处理负荷。
图1是表示本发明的实施方式所涉及的导航系统的结构的框图。
图2是表示本发明的实施方式所涉及的导航系统具有的地图数据的图。
图3是表示本发明的实施方式所涉及的导航系统的显示画面例的图。
图4是表示本发明的实施方式所涉及的导航系统具有的VRAM的构造的图。
图5是表示本发明的实施方式所涉及的导航系统具有的VRAM映象表和DL管理表的图。
图6是在本发明的实施方式所涉及的导航系统中用于显示向导图像的显示列表和系统调用的图。
图7是表示本发明的实施方式所涉及的导航系统的2D地像的生成例的图。
图8是表示本发明的实施方式所涉及的导航系统的3D地像的生成例的图。
图9是表示本发明的实施方式所涉及的导航系统进行的2D向导图像描绘处理的流程图。
图10是表示本发明的实施方式所涉及的导航系统的2D地像的生成例的图。
图11是表示本发明的实施方式所涉及的导航系统的3D地像的生成例的图。
具体实施例方式
以下,说明本发明的实施方式。
图1表示本实施方式所涉及的导航系统的结构。此外,本实施方式所涉及的导航系统被安装在汽车上。
如图所示,导航系统包括导航装置1、显示装置2、车辆状态传感器3、GPS接收机4、操作部5、以及存储有表示地图的地图数据的作为DVD驱动器或HDD等存储装置的地图数据存储部6。在此,车辆状态传感器3是作为角加速度传感器或地磁传感器等的方位传感器、以及作为车速脉冲传感器等的车速传感器等检测车辆状态的传感器组。
并且,导航装置1包括负责车辆状态传感器3、GPS接收机4、操作部5、地图数据存储部6与导航装置1之间的输入输出的I/O管理器11;负责对显示装2的显示输出的显示装置驱动器12;导航处理部13;经由显示装置驱动器12对显示装置2进行由导航处理部13请求的显示的Windows系统14;VRAM15;以及VRAM管理器16。
此外,Windows系统14包括向导航处理部13提供2D图形的描绘和显示功能的2D图形引擎141;向导航处理部13提供3D图形的描绘和显示功能的3D图形引擎142。此外,VRAM15中存储有导航装置1要使用2D图形引擎141或3D图形引擎142描绘的图形的数据。并且,VRAM管理器16进行这样的VRAM15的管理控制。
此外,以上的导航装置1在硬件上可以是具有包括微处理器、存储器、其他图形处理器等外围设备的通常结构的电子计算机,在这样的情况下,以上所示的导航装置1的各个部分可以作为通过微处理器执行预先准备的程序而具体化的步骤来实现。此外,在这样的情况下,可以通过记录介质或适当的通信路径将这样的程序提供给导航装置1。此外,2D图形引擎141或3D图形引擎142也可以使用图形处理器的描绘功能描绘2D图形或3D图形。
接着,图2表示存储于地图数据存储部6中的地图数据的内容。
如图所示,地图数据包括记述有地图数据制作日期时刻等的管理数据、表示地图的地图基本数据以及资源数据。
并且,地图基本数据包括对应于每个区划设置的区划数据;记述有各个区划的地理范围与区划数据之间的对应、各个区划与作为区划标识符的区划序号之间的对应等的区划管理数据。
并且,各个区划数据包括表示所对应的区划内的二维地图的2D地图单元、表示所对应的区划内的三维地图的3D地图单元;表示所对应的区划内的二维或三维地图上配置的地名、路线名称等文本的文本单元;以及表示所对应的区划内的二维或三维地图上配置的图标的图标单元。在此所说的图标,用于在地图上显示用户感兴趣的地名(POI)的位置和类别,各个图标使用表示该图标所表示的地点的类别的图形。
接着,地图数据的资源数据存储有关于各个区划的、在按照区划数据描绘地图时公共使用的颜色数据、图形数据等信息资源。
另外,在这样的结构中,导航处理部13反复进行如下处理通过使用地图对经由I/O管理器11取得的车辆状态传感器3或GPS接收机4的输出、和从地图数据存储部6读出的地图数据的地图基本数据进行地图匹配处理等,分别计算作为当前位置可能最确定的坐标和作为当前的行进方向可能最确定的方向,作为当前位置和当前行进方位。此外,如果经由I/O管理器11从操作部5输入了用户的目的地设定操作,则导航处理部13按照操作受理目的地的设定,根据距离最小等预定的成本模型,将从所计算的当前位置到目的地的最小成本的路径作为推荐路线,根据从地图数据存储部6读出的地图基本数据进行计算,并将计算出的推荐路线与所设定的目的地一起保持。
另外,导航处理部13进行如下处理利用Windows系统14的2D图形引擎141或3D图形引擎142,在显示装置2显示向导图像。
在此,导航装置1具有可由用户有选择地设定的、三维地图显示模式和二维地图显示模式这2个显示模式。
并且,导航处理部13在设定了二维地图显示模式的情况下,如图3a所示,利用2D图形引擎141在表示二维地图的2D地像301上显示向导图像300,所述向导图像300表示在二维地图上表示地名等的文本302、在二维地图上表示上述POI的图标303、在二维地图上表示所计算的当前位置的当前位置图形304等。另外,当保持有作为2D地像301表示的二维地图的地理范围、即地图显示范围所包含的推荐路线时,在2D地像301上显示向导图像300,进而显示在二维地图上表示所保持的推荐路线的从当前位置到目的地的部分的推荐路线图形305。另外,同样地在保持有地图显示范围所包含的目的地时,在2D地像301上显示向导图像300,进而显示在二维地图上表示所保持的目的地的目的地图形。
在此,根据基准位置、显示方位和显示比例尺,将作为2D地像301表示的二维地图的地理范围、即地图显示范围,确定为基准位置周边的、按照所确定的显示方位和所确定的显示比例尺确定的预定大小的地理范围。导航处理部13通常将当前位置设定为基准位置,将所计算的当前行进方位设定为显示方位,将按照预先生成的用户设定或初始设定确定的比例尺设定为显示比例尺。而在按照用户的地图滚动操作进行滚动显示的过程中,将通过用户操作确定的位置设定为基准位置,将由用户选择出的方位设定为显示方位,将按照预先生成的用户设定或初始设定确定的比例尺设定为显示比例尺。
接着,导航处理部13在设定了三维地图显示模式的情况下,如图3b所示,利用3D图形引擎142在表示三维表现的地图的3D地像311上显示向导图像310,所述向导图像310表示在三维表现的地图上表示地名等的文本312、在三维表现的地图上表示上述POI的图标313、在三维表现的地图上表示所计算的当前位置的当前位置图形314等。另外,当保持有作为3D地像311表示的三维表现的地图的地理范围、即地图显示范围所包含的推荐路线时,在3D地像311上显示向导图像310,进而显示在三维表现的地图上表示所保持的推荐路线的从当前位置到目的地的部分的推荐路线图形315。另外,同样地在保持有地图显示范围所包含的目的地时,在3D地像311上显示向导图像310,进而显示在三维表现的地图上表示所保持的目的地的目的地图形。
在此,根据所设定的视点位置、视线方向和视角,将作为3D地像311表示的三维地图的地理范围、即地图显示范围,确定为以从在地面上空设定的视点位置向所设定的视线方向设定的视角观察地面时所观察的范围。导航处理部13通常将从所计算的当前位置向与所计算的当前行进方位相反方向行进了对应于上述显示比例尺的距离的位置开始、向上方上升了对应于上述显示比例尺的距离的位置,设为视点位置;将从该视点位置向从所计算的当前位置向所计算的当前行进方位方向行进了对应于上述显示比例尺的距离的位置的方向,设为视线方向;将相对与视线方向垂直的2个方向预先确定的角度设为视角。此外,该与视线方向垂直的2个方向,是与包括当前位置、视点位置和从当前位置向所计算的当前行进方位方向行进了任意距离的位置这3个位置的面相垂直的方向;以及该面内与视线方向垂直的方向。另外,导航处理部13在按照用户的地图滚动操作进行滚动显示的过程中,按照用户操作设定视点位置、视线方向和视角。
另外,导航处理部13通过将显示列表(DL)写入VRAM15,并向2D图形引擎141或3D图形引擎142发出请求描绘所写入的DL的系统调用,将如上所述的向导图像显示在显示装置2。
在此,导航处理部13在设定了二维地图显示模式时写入到VRAM15中的DL包括规定配置在图3a的向导图像300中的文本302的文本描绘用的DL;规定配置在图3a的向导图像300中的图标303的图标描绘用的DL;规定配置在图3a的向导图像300中的当前位置图形304、推荐路线图形305或目的地图形的向导图形描绘用的DL;以及与在图3a的向导图像300中描绘的2D地像301的地图显示范围中至少包括一部分的各个区划相对应地写入的、规定所对应的区划的二维区划地图的2D地像描绘用的DL。
另外,导航处理部13在设定了三维地图显示模式时写入到VRAM15中的DL包括规定配置在图3b的向导图像310中的文本312的文本描绘用的DL;规定配置在图3b的向导图像310中的图标313的图标描绘用的DL;规定配置在图3b的向导图像310中的当前位置图形314、推荐路线图形315或目的地图形的向导图形描绘用的DL;以及与在图3b的向导图像310中描绘的3D地像311的地图显示范围中至少包括一部分的各个区划相对应地写入的、规定所对应的区划的三维区划地图的3D地像描绘用的DL。
此外,导航处理部13对于各显示模式下的文本描绘用的DL、各显示模式下的图标描绘用的DL、2D地像描绘用的DL和3D地像描绘用的DL,按照每个区划制作该DL并写入VRAM15中。
另外,如图4a所示,VRAM15的存储空间被分割为预定容量的多个块,对各个块分配有块序号BL#。
另外,如图4b所示,VRAM15的存储空间被分割为由多个块构成的不可重复使用DL区域和由多个块构成的可重复使用DL区域,文本描绘用的DL、图标描绘用的DL和向导图形描绘用的DL被导航处理部13写入不可重复使用DL区域;2D地像描绘用的DL和3D地像描绘用的DL被导航处理部13写入可重复使用DL区域。
在此,由VRAM管理器16控制各个DL的写入。
即,当由导航处理部13请求写入DL时,VRAM管理器16将汇集了请求写入的DL的数据容量大小的空闲块的区域分配给该DL的区域,向分配后的区域写入被请求写入的DL。此外,当被请求写入的DL是文本描绘用的DL、图标描绘用的DL和向导图形描绘用的DL中的任意一个时,将被请求写入的DL的数据容量大小的、汇集了不可重复使用DL区域的空闲块的区域分配给该DL的区域。另外,当被请求写入的DL是2D地像或3D地像描绘用的DL时,将被请求写入的DL的数据容量大小的、汇集了可重复使用DL区域的空闲块的区域分配给该DL的区域。分配给1个DL的区域的多个空闲块也可以是在VRAM15中不连续的多个块。另外,空闲块是指没有被分配给任何DL的区域的块。
另外,为了管理各个DL的区域,VRAM管理器16保持图5a所示的VRAM映象表。
如图所示,VRAM映象表具有VRAM15所保持的每个DL的记录,各个记录中记述作为DL标识符的DL序号、和作为该DL的区域被分配的块的块序号的一览即分配块。
另一方面,导航处理部13也保持有用于管理写入到VRAM15中的DL的DL管理表。
并且,DL管理表具有由导航处理部13写入VRAM15且未从VRAM15擦除的每个DL的记录,各个记录中,记述作为DL标识符的DL序号、表示文本描绘用的DL/图标描绘用的DL/向导图形描绘用的DL/2D地像的DL/3D地像描绘用的DL中的任意一个DL的种类的DL种类、表示对应于DL的区划的区划序号的对应区划序号、表示DL的字节数的数据容量、表示最后使用DL的日期时刻的最终使用日期时刻。此外,区划序号仅在该DL不是向导图形描绘用的DL时进行记述。另外,最后使用最终使用日期时刻中记述的DL的日期时刻,是最后发出要求描绘该DL的系统调用的日期时刻。
在此,说明使用2D地像描绘用的DL的图3a所示的2D地像的描绘顺序的概要。
首先,如图6a所示,2D地像描绘用的DL由描绘属性数据和显示二维地图描绘指令组构成。另外,描绘属性数据包括取需要和否的任意一个值的是否需要描绘显示范围外。
接着,如图6b所示,该要求描绘2D地像描绘用的DL的系统调用,除了作为要求描绘2D地像描绘用的DL的操作码的2D地图描绘用DL描绘指令以外,作为操作数,还包括作为要描绘的2D地图描绘用DL的DL序号的一览的描绘DL序号列表、描绘图像显示范围、比例尺、旋转角以及偏移坐标列表。
并且,如图7a所示,现在具有A、B、C、D区划,当如图所示计算了地图显示范围701时,导航处理部13从地图数据存储部6读出关于地图显示范围701中至少包括一部分的区划B和区划D的区划数据的2D地图单元,生成作为区划B的2D地像描绘用的DL的DL-B、和作为区划D的2D地像描绘用的DL的DL-D,写入VRAM15中。
在此,将该区划B的2D地像描绘用的DL-B的描绘属性数据的是否需要描绘显示范围外设定“否”。另外,DL-B的显示二维地图描绘指令中,包括基于区划B的区划数据的2D地图单元和用户的显示设定所确定的、请求描绘构成图7b所示的区划B的二维地图的各图形要素的、2D图形引擎141可解释的形式的描绘指令。
另外,同样地对区划D的2D地像描绘用的DL-D的描绘属性数据的是否需要描绘显示范围外设定“否”。另外,DL-D的显示二维地图描绘指令中,包括基于区划D的区划数据的2D地图单元和用户的显示设定所确定的、请求描绘构成图7c所示的区划D的二维地图的各图形要素的、2D图形引擎141可解释的形式的描绘指令。
在此,作为确定要显示的二维地图的用户的显示设定,例如具有要显示的二维地图的各构成图形要素的颜色或样子的设定。
另外,分别对每个DL在独立的坐标空间MX-MY上规定通过DL-B的显示二维地图描绘指令规定的区划B的二维地图、和通过DL-D的显示二维地图描绘指令规定的区划D的二维地图。另外,分别生成DL-B的显示二维地图描绘指令和DL-D的显示二维地图描绘指令,使得通过DL-B的显示二维地图描绘指令规定的区划B的二维地图、和通过DL-D的显示二维地图描绘指令规定的区划D的二维地图为将相同方位取为上的相同比例尺的二维地图。
接着,如果使VRAM15保持DL-B和DL-D,则导航处理部13生成请求描绘图6b所示的2D地像描绘用的DL的系统调用,发出给2D图形引擎141。在此,该系统调用的操作数的描绘DL序号列表中包括DL-B的DL序号和DL-D的DL序号。
另外,如图7d所示,在系统调用的操作数的比例尺、旋转角、偏移坐标列表中,在描绘图像坐标空间DX-DY上,将上述显示方位取为上,用上述显示比例尺记述确定坐标转换矩阵的放大转换量、旋转转换量、移动转换量,该坐标转换矩阵用于按照两个区划的位置关系配置图7b所示的用DL-B规定的区划B的二维地图和图7c所示的用DL-D规定的区划D的二维地图。此外,在本例子中,由于通过DL-B的显示二维地图描绘指令规定的区划B的二维地图、和通过DL-D的显示二维地图描绘指令规定的区划D的二维地图,为将相同方位取为上的相同比例尺的二维地图,因此,放大转换量和旋转转换量在DL-B和DL-D中是公共的,仅有移动转换量在DL-B和DL-D中为不同值,该取不同值的移动转换量的一览被记述为偏移坐标列表。
另外,在系统调用的描绘图像显示范围711中,记述如图7d所示配置区划B的二维地图和区划D的二维地图而生成的、描绘图像坐标空间DX-DY上的描绘图像中的、显示在显示装置2的范围。在此,该描绘图像显示范围711设定为,使得与在该描绘图像显示范围711所描绘的二维地图相对应的地理范围与前述地理显示范围一致。
接着,接收到这样的系统调用的2D图形引擎141,按照系统调用的操作数的比例尺、旋转角和偏移坐标列表,在描绘图像坐标空间DX-DY上,按照系统调用的操作数的比例尺、旋转角和偏移坐标列表,对用在描绘DL序号列表中指定的DL-B和DL-D的显示二维地图描绘指令所包含的描绘指令请求描绘的图形进行坐标转换,同时进行描绘,从而生成图7d所示的描绘图像,将所描绘的描绘图像中的、用系统调用的操作数指定的描绘图像显示范围711内的2D地像作为图3a所示的2D地像301。如前所述,由导航处理部13设定描绘图像显示范围711,使得与描绘图像显示范围中所描绘的二维地图相对应的地理范围与前述地理显示范围一致。
在此,当对2D地像描绘用的DL的描绘属性数据的是否需要描绘显示范围外设定为“否”时,2D图形引擎141不按照描绘指令向描绘图像坐标空间DX-DY上的描绘图像显示范围711以外描绘图形。由此,能够减轻2D图形引擎141进行描绘的处理负荷。
以上,说明了使用2D地像描绘用的DL的图3a所示的2D地像301的描绘顺序的概要。
接着,说明使用3D地像描绘用的DL的图3b所示的3D地像311的描绘顺序的概要。
首先,如图6c所示,3D地像描绘用的DL由描绘属性数据和显示三维地图数据构成。另外,描绘属性数据包括取需要和否的任意一个值的是否需要描绘显示范围外、和取需要和否的任意一个值的是否需要描绘当前位置前面对象。
接着,如图6d所示,该要求描绘3D地像描绘用的DL的系统调用除了作为要求描绘3D地像描绘用的DL的操作数的3D地图描绘用DL描绘指令以外,作为操作数,还包括作为要描绘的3D地图描绘用DL的DL序号的一览的描绘DL序号列表、描绘视点位置和描绘视角和描绘视线方向、偏移坐标列表以及当前位置对应坐标。
并且,如图8a所示,现在具有A、B、C、D的区划,当如图所示计算了地图显示范围801时,导航处理部13从地图数据存储部6读出关于地图显示范围801中至少包括一部分的区划B和区划D的区划数据的3D地图单元,生成作为区划B的3D地像描绘用的DL的DL-B、和作为区划D的3D地像描绘用的DL的DL-D,写入到VRAM15。
在此,将该区划B的3D地像描绘用的DL-B的描绘属性数据的是否需要描绘显示范围外、和是否需要描绘当前位置前面对象均设定为“否”。另外,DL-B的显示三维地图数据中包括基于区划B的区划数据的3D地图单元和用户的显示设定所确定的、表示图8b所示的区划B的三维地图的三维模型的数据。此外,该三维模型的数据不是3D地图单元原样的形式的数据,而是3D图形引擎142可解释的形式的数据。
另外,同样地将区划D的3D地像描绘用的DL-D的描绘属性数据的是否需要描绘显示范围外、和是否需要描绘当前位置前面对象均设定为“否”。另外,DL-D的显示三维地图数据中包括基于区划D的区划数据的3D地图单元和用户的显示设定所确定的、表示图8c所示的区划C的三维地图的三维模型的数据。
在此,作为确定要显示的三维地图的用户的显示设定,例如有要显示的三维地图的各构成要素的颜色或样子的设定、要显示的三维对象的类别的设定(例如,不显示表示4层以下的大楼的三维对象等的设定)等。
另外,分别对每个DL在独立的坐标空间MX-MY-MZ上规定通过DL-B的显示三维地图数据规定的区划B的三维模型所表示的三维地图、和通过DL-D的显示三维地图数据规定的区划D的三维模型所表示的三维地图。另外,分别生成DL-B的显示三维地图数据和DL-D的显示三维地图数据,使得通过DL-B的显示三维地图数据规定的区划B的三维模型所表示的三维地图、和通过DL-D的显示三维地图数据规定的区划D的三维模型所表示的三维地图,是MX方向和MY方向为相同方位的、相同比例尺的三维地图。
接着,如果在VRAM15中保持了DL-B和DL-D,则导航处理部13生成请求描绘图6d所示的3D地像描绘用的DL的系统调用,发出给3D图形引擎142。在此,该系统调用的操作数的描绘DL序号列表中包括DL-B的DL序号和DL-D的DL序号。
另外,在系统调用的操作数的偏移坐标列表中记述移动转换量,所述移动转换量用于在描绘对象坐标空间TX-TY-TZ上,按照两个区划的位置关系,如图8d所示地配置表示图8b所示的用DL-B规定的区划B的三维地图的三维模型、和表示图8c所示的用DL-D规定的区划D的三维地图的三维模型。
另外,系统调用的操作数的描绘视点位置和描绘视角和描绘视线方向中,记述描绘对象坐标空间TX-TY-TZ上的描绘视点位置和描绘视线方向和描绘视角。对该描绘视点位置和描绘视线方向和描绘视角进行设定,使得在与如图8d所示地配置的三维模型所表示的区划B、D的三维地图之间,满足上述视点位置、视线方向与地理坐标之间的关系。
另外,在系统调用的操作数的当前位置对应坐标中,记述对应于所计算的当前位置的、描绘对象坐标空间TX-TY-TZ上的位置(相当于如图8d所示地配置的三维模型所表示的三维地图上的当前位置的坐标)。
接着,接收到这样的系统调用的3D图形引擎142按照系统调用的操作数的偏移坐标列表,如图8d所示地,在描绘对象坐标空间TX-TY-TZ上,配置在描绘DL序号列表中指定的DL-B和DL-D的显示三维地图数据所表示的三维模型。并且,使用系统调用的操作数的描绘视点位置和描绘视线方向和描绘视角,从描绘视点位置811向描绘视线方向以描绘视角,描绘(绘制)观测如图8d所示地配置的三维模型所表示的区划B、D的三维地图时所观测到的二维图像,在其上部配置模拟天空的天空图像,成为图3b所示的3D地像311。
在此,3D图形引擎142在将对3D地像描绘用的DL-B的描绘属性数据的是否需要描绘显示范围外设定为“否”时,不进行关于由描绘视点位置和描绘视线方向和描绘视角确定的、在作为3D地像311描绘的描绘对象坐标空间TX-TY-TZ的范围812以外的范围配置的三维对象等各种对象的处理。由此,能够减轻3D图形引擎142进行描绘的处理负荷。另外,当将是否需要描绘当前位置前面对象设定为“否”时,不根据系统调用的操作数的当前位置对应坐标,进行相对于描绘视点位置811位于前面的三维对象的描绘处理。由此,即便按照以上顺序描绘3D地像311,也总是能够确保在向导图像310中显示的当前位置图形314的良好的可视性。
以上,说明了使用3D地像描绘用的DL的图3b所示的3D地像311的描绘顺序的概要。
另外,导航处理部13在设定了二维地图显示模式时,进行2D向导图像描绘处理,显示图3a所示的向导图像300;当设定了三维地图显示模式时,进行3D向导图像描绘处理,显示图3b所示的向导图像310。
另外,在执行该2D向导图像描绘处理的过程中,在导航处理部13和2D图形引擎141中,实施使用在图6a、图6b和图7中说明了概要的2D地像描绘用的DL描绘图3a所示的2D地像301的顺序;在执行该3D向导图像描绘处理的过程中,在导航处理部13和3D图形引擎142中,实施使用在图6c、图6d和图8中说明了概要的3D地像描绘用的DL的图3b所示的3D地像311的描绘顺序。
首先,说明为了显示图3a所示的向导图像300而进行的2D向导图像描绘处理。
图9表示该2D向导图像描绘处理的顺序。
如图9所示,在该处理中,首先设定确定显示向导图像300的更新时间间隔(刷新率)的定时器(步骤902)。然后,计算在如上所述地设定的地图显示范围内至少包括一部分的区划(步骤904)。
接着,请求VRAM管理器16擦除所有的VRAM15的不可重复使用DL区域的文本描绘用的DL、图标描绘用的DL和向导图形描绘用的DL(步骤906)。VRAM管理器16,擦除所有的不可重复使用DL区域的文本描绘用的DL、图标描绘用的DL和向导图形描绘用的DL,擦除VRAM映象表的已被擦除的DL的记录,释放分配给该DL的DL区域的块。另外,导航处理部13,还擦除DL管理表的已被擦除的DL的记录。
接着,导航处理部13按照所计算的当前位置和当前行进方位和推荐路线和目的地、地图显示范围和地图显示方位和地图显示比例尺,生成用于描绘向导图像300所包含的当前位置图形304、推荐路线图形305或目的地图形的向导图形描绘用的DL,请求VRAM管理器16将所生成的向导图形描绘用的DL写入VRAM15(步骤906)。
然后,导航处理部13接着参照DL管理表,将在步骤904计算的区划内的、已经将关于该区划的2D地图描绘用的DL存储到VRAM15中的区划,设定为重复使用区划(步骤910)。通过如下方式进行关于某区划的2D地图描绘用的DL是否已经存储在VRAM15中的判断将该区划的区划序号注册到DL管理表作为对应区划序号,在存在作为DL类别注册为2D地图描绘用的记录时,判断为关于该区划的2D地图描绘用的DL已经存储在VRAM15中。
接着,导航处理部13按照各个重复使用区划的区划数据的文本单元、地图显示范围和地图显示方位和地图显示比例尺,生成用于描绘向导图像所包含的文本302的文本描绘用的DL,请求VRAM管理器16将所生成的文本描绘用的DL写入VRAM15(步骤912)。另外,按照各个重复使用区划的区划数据的图标单元、地图显示范围和地图显示方位和地图显示比例尺,生成用于描绘向导图像所包含的图标303的图标描绘用的DL,请求VRAM管理器16将所生成的图标描绘用的DL写入VRAM15(步骤914)。
在此,VRAM管理器16若请求写入向导图形描绘用的DL、文本描绘用的DL或图标描绘用的DL,则在不可重复使用DL区域中确保被请求写入的DL的DL区域,将该DL写入所确保的DL区域,并且,在VRAM映象表中生成所写入的DL的记录,将所写入的DL的DL序号、和分配给所写入的DL的DL区域的块的块序号注册到所生成的记录中。另外,导航处理部13还在DL管理表中生成所写入的DL的记录,在所生成的记录中,注册所写入的DL的DL序号、DL的类别、对应于所写入的DL的区划的区划序号、以及所写入的向导图形描绘用的DL的数据容量,分别作为DL序号、DL类别、对应区划序号以及数据容量。
接着,导航处理部13将在步骤904中所计算的区划内的被设定为重复使用区划的区划以外的区划,设定为通常描绘区划(步骤916)。
并且,对各通常描绘区划(步骤918、928、940)进行以下处理。
即,首先,按照该区划的区划数据的文本单元、地图显示范围和地图显示方位和地图显示比例尺,生成用于描绘向导图像所包含的文本302的文本描绘用的DL,请求VRAM管理器16将所生成的文本描绘用的DL写入VRAM15(步骤920)。另外,按照该区划的区划数据的图标单元、地图显示范围和地图显示方位和地图显示比例尺,生成用于描绘向导图像所包含的图标303的图标描绘用的DL,请求VRAM管理器16将所生成的图标描绘用的DL写入VRAM15(步骤922)。
然后,接着如前所述地生成该区划的2D描绘用DL,请求VRAM管理器16写入所生成的2D地像描绘用的DL(步骤924)。
在此,VRAM管理器16若请求写入2D地像描绘用的DL时,则在可重复使用DL区域中确保被请求写入的DL的DL区域,如果已经能够确保DL区域,则将该DL写入所确保的DL区域,并且,在VRAM映象表中生成所写入的DL的记录,将所写入的DL的DL序号、和分配给所写入的DL的DL区域的块的块序号注册到所生成的记录,向导航处理部13响应写入成功。另外,当响应了写入成功时,导航处理部13在DL管理表中生成所写入的DL的记录,在所生成的记录中,注册所写入的DL的DL序号、DL的类别、对应于所写入的DL的区划的区划序号、以及所写入的向导图形描绘用的DL的数据容量,分别作为DL序号、DL类别、对应区划序号以及数据容量。另一方面,VRAM管理器16在由于空闲块不足而没能在可重复使用DL区域中确保被请求写入的DL的DL区域时,向导航处理部13响应空闲区域不足。
另外,导航处理部13在响应了2D地像描绘用的DL写入成功时(步骤926),结束对于该通常区划的处理。
另一方面,当对于2D地像描绘用的DL写入请求并响应了空闲区域不足时(步骤926),请求VRAM管理器16擦除DL管理表中注册的DL类别是2D地像描绘用的记录中的、最终使用日期时刻最早的记录的DL序号所表示的DL(步骤938),返回从步骤924开始的处理。在此,也可以请求VRAM管理器16擦除DL管理表中注册的DL类别是2D地像描绘用的记录中的、注册有发出了写入请求的DL的数据容量以上的数据容量的记录中、最终使用日期时刻最早的记录的DL序号所表示的DL。
在此,被请求擦除2D地像描绘用的DL的VRAM管理器16,从VRAM15的可重复使用区域中擦除被请求擦除的2D地像描绘用的DL,并且,擦除VRAM映象表的已被擦除的DL的记录,释放分配给该DL的DL区域的块,生成空闲块。另外,导航处理部13还擦除DL管理表的已被擦除的2D地像描绘用的DL的记录。
接着,如果对于所有通常区划结束了以上的步骤924、926、938的处理,则如前所述地生成请求描绘在步骤904所计算的各个区划的2D地像描绘用的DL的系统调用,发出给2D图形引擎141(步骤930)。在此,作为在DL管理表的DL类别是2D地像描绘用的记录、即在注册有在步骤904所计算的区划的区划序号来作为对应区划序号的记录中所记述的DL序号的DL,来求出在步骤904所计算的各个区划的2D地像描绘用的DL。
接着,同样地向2D图形引擎141发出请求描绘在步骤904所计算的各个区划的文本描绘用的DL的系统调用、和请求描绘图标描绘用的DL的系统调用(步骤932)。另外,向2D图形引擎141发出请求描绘在步骤908写入到VRAM15的向导图形文本描绘用的DL的系统调用(步骤934)。
在此,导航处理部13在如上所述地用系统调用请求描绘DL时,将当前日期时刻作为最终使用日期时刻注册到注册有请求描绘的DL的DL序号的DL管理表的记录中。
另外,导航处理部13如果如上所述地向2D图形引擎141发出了请求描绘各个DL的系统调用,则等待定时器的超时,反复进行从步骤902开始的处理。
以上,说明了2D向导图像描绘处理。
如上所述,根据该2D向导图像描绘处理,当过去写入到VRAM15中的2D地像描绘用的DL能够用于描绘本次要显示的向导图像300的2D地像301时,挪用该过去写入到VRAM15中的2D地像描绘用的DL,描绘2D地像301。因此,能够减轻导航处理部13的2D地像描绘用的DL的生成负荷。
例如,在该2D向导图像描绘处理中,根据如图7a所示横跨区划B和区划D设定的地图显示范围701,生成表示如图7b、7c所示的二维地图的区划B的2D地像描绘用的DL即DL-B、和区划D的2D地像描绘用的DL即DL-D,并写入到VRAM15,发出系统调用,生成与图7a所示的地图显示范围701对应的图7d的描绘图像显示范围711的图像,来作为2D地像301,在包含在向导图像300中显示之后,如图10a所示,当设定了包括区划A和区划B的一部分的地图显示范围1001时,导航处理部13如下所述地描绘表示地图显示范围1001的二维地图的地像301。
即,导航处理部13仅对于地图显示范围1001中包括一部分的区划A和区划B中的、在VRAM15中未保持所对应的2D地像描绘用的DL的区划A,生成表示如图10b所示的二维地图的区划A的2D地像描绘用的DL即DL-A,并写入到VRAM15。然后,发出请求描绘已经保持在VRAM15中的表示如图10c所示的二维地图的区划B的2D地像描绘用的DL即DL-B、和所写入的DL-A的系统调用,使2D图形引擎141描绘与图10a所示的地图显示范围1001对应的图10d的描绘图像显示范围1011的图像,来作为2D地像301。结果,在这样的情况下,不需要为了生成本次的2D地像301而生成关于地图显示范围1001中包括一部分的区划A和区划B中的区划B的2D地像描绘用的DL、以及写入VRAM15。
接着,说明3D向导图像描绘处理。
3D向导图像描绘处理除去取代2D地像描绘用的DL以3D地像描绘用的DL为对象进行处理这一点以外,为与图9所示的2D向导图像描绘处理相同的处理。另外,在3D向导图像描绘处理中,对3D图形引擎142发出系统调用,来取代对2D图形引擎141发出系统调用。
根据这样的3D向导图像描绘处理,与2D向导图像描绘处理相同,在过去写入到VRAM15中的3D地像描绘用的DL能够用于描绘本次要显示的向导图像310的3D地像311时,挪用该过去写入到VRAM15中的3D地像描绘用的DL,描绘3D地像311。因此,能够减轻导航处理部13的3D地像描绘用的DL的生成负荷。
例如,在该3D向导图像描绘处理中,根据如图8a所示横跨区划B和区划D设定的地图显示范围801,生成表示如图8b、8c所示的三维地图的区划B的3D地像描绘用的DL即DL-B、和区划D的3D地像描绘用的DL即DL-D,并写入到VRAM15,发出系统调用,生成从图8d的描绘视点位置811向描绘视线方向以描绘视角观察到的、与图8a所示的地图显示范围801对应的范围812的图像,来作为3D地像311,在包含在向导图像310中显示之后,如图11a所示,设定了地图显示范围1101使得包括区划A和区划B的一部分时,导航处理部13如下所述地,描绘表示地图显示范围1101的三维地图的地像301。
即,导航处理部13仅对于地图显示范围1101中包括一部分的区划A和区划B中的、在VRAM15中未保持所对应的3D地像描绘用的DL的区划A,生成表示如图11b所示的三维地图的区划A的3D地像描绘用的DL即DL-A,并写入到VRAM15。然后,发出请求描绘已经保持在VRAM15中的表示如图11d所示的三维地图的区划B的3D地像描绘用的DL即DL-B、和所写入的DL-A的系统调用,使3D图形引擎142描绘从图11d的描绘视点位置1111向描绘视线方向以描绘视角观察得到的、与图11a所示的地图显示范围1101对应的图11d的范围1112的图像,来作为3D地像311。结果,在这样的情况下,不需要为了描绘本次的3D地像311生成关于地图显示范围1111中包括一部分的区划A和区划B中的区划B的3D地像描绘用的DL、以及写入VRAM15。
以上,说明了本发明的实施方式。
权利要求
1.一种导航装置,包括地图数据存储单元,存储地图数据,该地图数据包括与多个区划的各区划对应设置的定义所对应的区划内的地图的区划地图数据;图像描绘单元,描绘图像;以及显示地图数据存储单元,存储有按照上述每个区划所生成的、对上述图像描绘单元规定表示该区划地图的图像的数据即显示区划地图数据;其特征在于,具有显示地图数据生成单元,对于显示地图的地理范围即地图显示范围中至少包括一部分的各个区划,当上述显示地图数据存储单元中没有存储关于该区划的上述显示区划地图数据时,根据存储在上述地图数据存储单元中的地图数据所包含的该区划的区划地图数据,生成关于该区划的上述显示区划地图数据,存储到上述显示地图数据存储单元;上述图像描绘单元使用存储于上述显示地图数据存储单元的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据,描绘上述地图显示范围的地像,作为上述要显示的地像。
2.根据权利要求1所述的导航装置,其特征在于,上述显示区划地图数据包括请求描绘构成所对应的区划的地图的各个图形要素的描绘指令;上述图像描绘单元通过进行坐标转换并描绘,使得存储于上述显示地图数据存储单元中的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据中所包含的各个描绘指令所表示的图形要素,成为构成上述地图显示范围的地图的图形要素,来描绘上述地图显示范围的地像,作为上述要显示的地像。
3.根据权利要求1所述的导航装置,其特征在于,上述区划地图数据定义区划内的三维地图;上述显示区划地图数据包括构成所对应的区划的三维地图的图形要素的三维形状数据;上述图像描绘单元通过使用预定的视点,绘制由存储于上述显示地图数据存储单元的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据中所包含的三维形状数据的集合形成的与虚拟三维世界的上述地图显示范围对应的区域,来描绘上述地图显示范围的三维表现的地像,作为上述要显示的地像。
4.根据权利要求3所述的导航装置,其特征在于,还包括计算当前位置的当前位置计算单元、以及在与所计算的当前位置对应的所显示的地图上的位置上显示表示当前位置的当前位置标记的当前位置显示单元;上述图像描绘单元从绘制对象中除去三维形状数据所表示的三维对象内的、相对于在上述绘制中使用的视点位于与上述虚拟三维世界中的上述当前位置相对应的位置的前面的三维对象。
5.根据权利要求1、2、3或4所述的导航装置,其特征在于,当在上述显示地图数据存储单元中不存在足够存储上述所生成的显示区划地图数据的空闲容量时,上述显示地图数据生成单元从该显示地图数据存储单元中擦除存储于该显示地图数据存储单元的、按照预定的基准选定的显示区划地图数据。
6.根据权利要求1、2、3、4或5所述的导航装置,其特征在于,上述图像描绘单元对于上述地图显示范围以外的区域,不描绘基于存储于上述显示地图数据存储部的、关于上述地图显示范围中至少包括一部分的各个区划的上述显示区划地图数据的地像。
全文摘要
本发明提供一种能够减轻地图显示处理的负荷的导航装置及地图显示方法。导航处理部(13)生成区划B的DL-B和区划D的DL-D,写入到VRAM(15),使2D图形引擎(141)按照VRAM(15)内的DL-B和DL-D描绘由区划B和区划D的一部分构成的地图显示范围内的2D地像之后,当变化成地图显示范围(1001)包括区划A和区划B的一部分时(a),仅生成区划A的DL-A(b)写入到VRAM(15),并且,使2D图形引擎(141)按照VRAM(15)内的DL-A和DL-B描绘地图显示范围内(a1001)的2D地像(d1011)。各个DL包括由所对应的区划的地图数据制成的所对应的区划内的二维地图的描绘指令。
文档编号G06T17/05GK1982846SQ20061016849
公开日2007年6月20日 申请日期2006年12月14日 优先权日2005年12月14日
发明者加泽一宪, 根本幸二, 高桥和昭 申请人:阿尔派株式会社