On-board navigation apparatus

Abstract: An on-board navigation apparatus is designed to shorten the time for a display operation at the time of displaying a map and scrolling a screen, and needs a buffer memory with a smaller memory capacity. The apparatus reads only block data of a block (12m) containing a display center point (P) and block data of blocks (21m,22m,23m,11m,13m,01m,03m) adjoining thereto and stores the data into a buffer memory, and acquires display data forming a display screen with the display center point as a reference point from the buffer memory and performs a display operation. The reading/storing operation includes an operation of storing the block containing the display center point and blocks adjoining thereto separately into the buffer memory. The display control operation includes an operation of temporarily storing the display data in a display buffer memory before displaying it.

Description: The present invention relates to an on-board navigation apparatus, and, more particularly, to an on-board navigation apparatus which displays a screen including map information on a display unit (hereinafter referred to as "display") on the basis of the location of the vehicle in which the apparatus is mounted. Recently on-board navigation apparatuses have come to be employed practically, which are designed to have map information stored in memory, read the map information from the memory, and display it on a display together with the current location of a vehicle in order to guide the vehicle to an intended destination. On-board navigation apparatuses should accurately and promptly provide a driver with the proper and latest map information that covers the current location or meets the user's request, in accordance with the location of the constantly moving vehicle, i.e., the current location of the vehicle, sequentially by means of a display. The on-board navigation apparatuses therefore require fast reading of map information from the memory and quick presentation of the map information on the display. Fig. 1 presents a block diagram which illustrates the general structure of such an on-board navigation apparatus and exemplifies a display device designed to display the needed information on the display. Referring to this diagram, a terrestrial magnetism sensor 1 outputs the direction data of the vehicle based on terrestrial magnetism (geomagnetic field), an angular velocity sensor 2 detects the angular velocity of the vehicle, a travel distance sensor 3 detects the distance travelled by the vehicle, and a GPS (Global Positioning System) device 4 detects the current location of the vehicle or the like from latitude and longitude information and the like. Outputs from these sensors and device are supplied to a system controller 5. The system controller 5 comprises an interface 6, a CPU (Central Processing Unit) 7, a ROM (Read Only Memory) 8, a RAM (Random Access Memory) 9, a recording medium 10, a buffer memory 11, a graphic controller 13, and a display controller 15. The interface 6 receives outputs of the sensors 1 to 3 and GPS device 4, and performs processing, such as A/D conversion, on the received data. The CPU 7 computes the amount of travel, etc. of the vehicle, on the basis of the data from the sensors 1 to 3 and GPS device 4 which are sequentially sent from the interface 6, as well as processing a variety of image data. In the ROM 8 various processing programs for the CPU 7 and other necessary information are previously stored. The RAM 9 is to be accessed so that information necessary for executing the programs will be written therein or read out therefrom. The recording medium 10, constituted of a so-called CD-ROM, IC card, or the like, has digitized map information previously recorded thereon. The buffer memory 11, constituted of a V-RAM (Video RAM) or the like, serves as a frame buffer to temporarily store image information that is promptly displayable. The graphic controller 13 draws received graphic data, such as maps, in the buffer memory 11 and outputs the data as image information in response to a command from the CPU 7. The display controller 15 controls a display 12 such as a liquid crystal display device or CRT in accordance with the image information from the graphic controller 13. An input device 14, constituted of a keyboard or the like, issues various commands and the like to the system controller 5 when a user operates keys. A description will now be given of the operation of the display control section of this on-board navigation apparatus in Fig. 1, which comprises the buffer memory 11, graphic controller 13 and display controller 15. The CD-ROM 10 contains 16 sheets of map data as block data, which are image data corresponding to 16 blocks acquired by dividing, for example, the map of Japan into four sections in each of the vertical direction (north and south) and horizontal direction (east and west). Fig. 2 illustrates the image memory structure in the CD-ROM 10. One piece of block data or one sheet of map data contains image information corresponding to the map of the associated area in a capacity of 320 dots horizontal by 240 dots vertical, with map codes 00m to 33m affixed to each piece of map data as illustrated. The storage contents of the buffer memory 11 are expressed by the image memory structure as given in Fig. 3. The buffer memory 11 has a memory area of 640 dots horizontal by 480 dots vertical per memory unit,in which four sheets of the above map data are storable. This memory area will hereafter be referred to as "drawing screen". The buffer memory 11 has a capacity to store four drawing screens 0H to 3H which are to be arranged as illustrated. The graphic controller 13 can extract drawing data to be displayed in an arbitrary area d of 320 dots horizontal by 240 dots vertical in an arbitrary drawing screen from the screen data of four screens, written in the buffer memory 11 by the graphic controller 13, and enable the extracted data to be displayed. As this area d is displayed on the display 12, the area will hereafter be referred to as "display screen". A description will now be given of what procedures the CPU 7 executes to display given drawing data on the display 12 with the above memory structures and hardware conditions,and a method of displaying and scrolling screens. Fig. 4 is a flowchart illustrating the procedures. This flowchart is extracted from the main routine, which performs the general control of the navigation system. The main routine is a program disclosed in, for example, Japanese Unexamined Patent Publication No. 63-12096, and its detailed description will not be given here. When the display screen d and a display center (e.g., vehicle's location) P, used as a reference point to determine the position of that display screen on a map before scrolling, are positioned in the map of Japan as in Fig. 5, for example, and screen scrolling is instructed by a user operating the keyboard or the system's request, the CPU 7 first reads out the latitude and longitude of the new display center point P from the RAM 9 (step S1). On the basis of the latitude and longitude of that display center point P, the CPU 7 fetches the map code 12m of the map including the point P, and computes map codes for the eight maps surrounding that map, 01m, 02m, 03m, 11m, 13m, 21m, 22m and 23m (step S2). The map codes are codes to identify individual pieces of block data, so that the mutual positional relationship between the block data may be found out. The CPU 7 therefore determines from the acquired map codes whether or not four predetermined types of screens (four screens, each composed of four pieces of map and each including the piece which contains the display center point P as the lower right portion, lower left portion, upper right portion and upper left portion thereof, respectively) have already been drawn in the drawing screens 0H to 3H in the buffer memory 11 (step S3). As the display center point P lies in the map with the map code 12m, the drawing screen 0H will consist of the map with that map code 12m located on the lower right, and three other maps adjacent thereto, and the drawing screens 1H to 3H will respectively comprise the map with the map code 12m on the lower left, upper right and upper left, as shown in Fig. 6, so that the CPU 7 can determine the screen arrangements. If the conditions in the above step S3 for the drawing screens 0H to 3H are not satisfactory, the CPU 7 reads out the necessary map data to be supplied from the CD-ROM 10, and recombines map data in the drawing screen in the buffer memory 11 with the supplemental data or writes it in the drawing screen (step S4). If those conditions are met, which means that no alteration of the drawing screens is necessary, the CPU 7 will not access the CD-ROM 10, leaving the individual drawing screens intact to maintain the contents from the previous flow. With the necessary map data arranged on the individual drawing screens, the CPU 7 acquires a drawing screen that includes the entire display screen d (step S5). This drawing screen is the drawing screen 2H in this example as shown in Fig. 6. Then, from amongst the acquired drawing screen 2H, that region of the display screen d to be displayed on the display 12 with the display center point P located as shown in Fig. 5 will be computed (step S6). The region of the display screen d can be obtained by segmenting the drawing data (map data) according to address information which only the drawing screen 2H has independently of the other drawing screens and checking the segments with coordinates on the display screen d. The graphic controller 13 transfers the drawing data, read from the buffer memory 11, as display data to the display controller 15 together with various sync signals on the basis of the attained address information, and the display controller 15 converts the received display data into a proper signal and drives the display 12 to display the display data before the flow returns to the main routine (step S7). With the above-described arrangement, as long as the display center point P lies in the same block (the map with the map code 12m in this case), the drawing screen to be displayed and regions in that drawing screen only have to be changed, thus requiring no writing of new map data in the drawing screen. That is, since no data is transferred from the CD-ROM 10 to the buffer memory 11, the operational sequence up to data display can be executed at high speed. When the display center point P moves beyond the region of the map with the map code 12m into the block with the map code 11m as shown in Fig. 7, for example, the map data with the map codes 03m, 13m and 23m in the drawing screens before scrolling, i.e., the drawing screens 1H and 3H in Fig. 6, become unnecessary. When the map data to be drawn in a drawing screen is insufficient, the storage contents of the drawing screen will be rewritten anew as explained in the descriptions of steps S3 and S4. In this example such screens are 1H and 3H having the map data with the map code 11m located In the lower right and upper right as shown in Fig. 8. Therefore, eight sheets of maps in total have to be transferred from the CD-ROM 10 to the buffer memory 11. In the flow of the display operation including scrolling, what takes most time is the process of reading data from the CD-ROM 10 and writing map data in a drawing screen in the buffer memory 11, as done in step S4. This means that the less the amount of map data to be written in the memory, the shorter the processing time becomes accordingly. On the premise that the above-described memory structures are provided for the drawing screen and display screen, however, the memory capacity must be increased, thus making it difficult to easily accomplish a fast display operation. EP-A-0082036 describes a moving map display in which display data is read from a video signal storage means. JP-A-3010278 describes a map plotting method which uses a buffer memory. The preamble to claim 1 is based on this document. It is therefore an object of the present invention to provide an on-board navigation apparatus which can shorten the time for a display operation in the case where a screen is scrolled while reading out map data from a recording medium and displaying it, and needs a small memory capacity to store image data. An on-board navigation apparatus according to the present invention comprises reading/storing means for reading only block data of a block containing a display center reference point and block data of blocks adjoining thereto from a storage medium where image data, forming one continuous map, is stored for each piece of block data corresponding to a block on the map, and storing the read-out pieces of block data into a buffer memory; and display control means for acquiring display data forming a display screen with the display center reference point as a center from the buffer memory and performing a display operation on the basis of the display data; characterised in that said reading/storing means stores the read-out pieces of block data separately into the buffer memory, and in that said display control means has a display buffer memory for temporarily storing the display data from the buffer memory and carries out the display operation on the basis of the display data stored in the display buffer memory. The on-board navigation apparatus embodying the present invention reads a data block containing a display center point and its adjoining data blocks from the storage medium and stores the data blocks in a drawing screen area in the buffer memory, copies necessary drawing data to be displayed from a drawing screen into a display screen prepared in a frame buffer memory for temporary storage, and then performs control to display the drawing data stored in the display screen as a display data. An embodiment of the present invention will now be described by way of example only and with reference to the accompanying drawings, in which: Fig. 1 is a block diagram exemplifying the structure of an on-board navigation apparatus; Fig. 2 is a diagram exemplifying the arrangement of map data in a CD-ROM; Fig. 3 is a flowchart exemplifying how drawing screens are arranged in a buffer memory according to the prior art; Fig. 4 is a flowchart illustrating procedures for displaying maps on a screen and scrolling the screen according to the prior art; Fig. 5 is a diagram showing an example of the position of a display center point on an entire map; Fig. 6 is a diagram showing how map data in Fig. 5 is stored in the buffer memory according to the prior art; Fig. 7 is a diagram showing an example of the position of a display center point on an entire map; Fig. 8 is a diagram showing how map data in Fig. 7 is stored in the buffer memory according to the prior art; Fig. 9 is a flowchart exemplifying how drawing screens and a display screen are arranged in a buffer memory according to an embodiment of the present invention; Fig. 10 is a flowchart illustrating procedures for displaying maps on a screen and scrolling the screen according to this embodiment; Fig. 11 is a diagram showing how map data in Fig. 5 is stored in the buffer memory according to this embodiment; Fig. 12 is a flowchart exemplifying a process of determining if the display screen overlaps any drawing screen according to this embodiment; and Fig. 13 is a diagram showing how map data in Fig. 7 is stored in the buffer memory according to this embodiment. The following description will be given on the premise that the hardware structure is the same as illustrated in Fig. 1 and the map data to be stored in the CD-ROM 10 is the same as shown in Fig. 2. In this embodiment, as shown in Fig. 9 the buffer memory 11 has a memory capacity to store 11 drawing screens each of 240 dots vertical by 320 dots horizontal, the same as the memory area for one piece of block data or map data. In the buffer memory 11, display screens 0d and 1d (which will occasionally be referred to as "display screen d" as their general term), are secured as so-called frame buffers to hold regions to be displayed. Also secured in the buffer memory 11 are drawing screens Oh to 8h for separately storing map data of the areas around the display screens. The display screens 0d and 1d perform a front and back display control, and will be described in detail later. Fig. 10 presents a flowchart illustrating procedures for display control in the on-board navigation apparatus of the present invention which has the above-described memory structure. The procedures are extracted from the main routine which performs the general control of the navigation system, and the description of the main routine will not be given as in the description of the prior art. When the display screen d and the display center P before scrolling are positioned on the aforementioned map of Japan as shown in Fig. 5, for example, and screen scrolling is instructed by a user operating the keyboard or the system's request, the CPU 7 first reads out the latitude and longitude of the new display center point P from the RAM 9 (step S101). On the basis of the latitude and longitude of that display center point P, the CPU 7 fetches a map (map code 12m) including the point P, and computes map codes for eight maps surrounding that map, 01m, 02m, 03m, 11m, 13m, 21m, 22m and 23m (step S102). The CPU 7 then determines whether or not all pieces of map data with the acquired nine map codes have already been stored in the drawing screens 0h to 8h in the buffer memory 11 (step S103). Fig. 11 illustrates how such desired pieces of map data are stored in the buffer memory 11. If any one of the nine drawing screens lacks the necessary map data, the supplemental map data is newly read out from the CD-ROM 10 and is written in the drawing screen (step S104). If the conditions in step S103 are satisfactory and all the needed pieces of map data are in the drawing screens 0h to 8h, the CPU 7 will not access the CD-ROM 10, leaving the storage contents of each drawing screen unchanged, and will move to the next step S108. After the required pieces map data are arranged on all the drawing screens as shown in Fig. 11 in step S104, a display screen flag M will be inverted (step S105). The display screen flag M is a marker bit, which is used in the aforementioned front and back display control to identify a screen to be displayed on the display 12. That is, the display 12 is controlled on the basis of display data stored in either the display screen 0d or 1d; for example, when the display screen flag M = 0, the display screen Od (front screen) is designated as the screen to be displayed, and with M = 1, the display screen 1d (back screen) is designated. Then the coordinates which determine the display screen d are computed from the coordinates of the drawing screen 4h that contains the display center point P (step S106). For instance, if the coordinates of the display center point P in the drawing screen 4h are (X0, Y0), the coordinates of a lower left corner point Q in the display screen 1d (shaded portion) are (X1, Y1), and the coordinates of a upper right corner point R are (X2, Y2), the coordinates defining the display screen d are calculated from the following equations. X1 = X0 - 160 Y1 = Y0 - 120 X2 = X0 + 159 Y2 = Y0 + 119 In other words, the point Q is where the display center point P is moved downward by half the vertical size of the display screen and leftward by half the horizontal size of the display screen, and likewise the point R is where the point P is moved upward by half the vertical size and rightward by half the horizontal size. These points Q and R define the display screen. It is to be noted that the coordinates of the display center point P, (X0, Y0), are computed from the longitude and latitude information of the map data previously stored in the CD-ROM 10, and more specifically, from the longitude and latitude information of the lower left corner point S of the drawing screen 4h and those of the display center point P, taking the point S as the origin's coordinates (0, 0). After step S106, a drawing screen counter is cleared so that its count value N may be set equal to 0 (step S107). The count value N specifies the drawing screens 0h to 8h. After the step S107, the CPU 7 determines whether or not the drawing data in the drawing screen Nh specified by the drawing screen counter should be copied into the display screen Md designated in the above-described manner (step S108). When N = 6, which means that the drawing screen counter has specified the drawing screen 6h, the CPU 7 executes a process as illustrated in Fig. 12, for example, to determine if any of drawing screen 6h has a portion overlapping the display scieen 1d. Referring to Fig. 12, steps S201 and S202 are for determining if the conditions for the X axis of the display screen 1d or 0d to overlap the drawing screen 6h are satisfied, and steps S203 and S204 are for determining if the overlapping conditions for the Y axis are satisfied. The same discrimination can be conducted for the other drawing screens by changing the individual values to be compared and discriminated. In this manner, therefore, it is possible to check which drawing screen overlaps the display screen on the basis of the coordinates of the lower left corner point and upper right corner point of the display screen. If it is judged that the drawing screen Nh contains a portion which should be copied into the display screen Md, such as the drawing screens 3h, 4h, 6h and 7h in Fig. 11, a region to be copied into the display screen Md is acquired (steps S109 and S110). To accomplish the copying, the coordinates (Xh, Yh) of the portion of the drawing screen to be copied and the coordinates (Xd, Yd) of the portion of the display screen where the copying is to be made must be specified to the graphic controller 13. For the drawing screen 6h overlapping the display screen, for example, these coordinates are computed from the following equations: Xh = 319 + X1 Yh = 239 + Y1 Xd = -X1 Yd = -Y1 For the other drawing screens that overlap the display screen, the computation is likewise carried out using different sets of equations. After computing the necessary coordinates for the copying process, the CPU 7 copies the drawing data in question from the drawing screens in the buffer memory 11 into the display screen on the basis of the specified coordinates (step S111). With regard to the drawing screen 6h, specifying the above coordinates (Xh, Yh), the CPU 7 reads out the associated drawing data and writes the read data on the display screen at the coordinates (Xd, Yd). If it is judged in step S108 that the drawing screen Nh contains no portion which overlaps the display screen Md and should be copied therein, such as the drawing screen 0h, 1h, 2h, 5h, 8h in Fig. 11, the steps S109 to S111 will not be executed and the flow jumps over these steps to the next step. The count value N is incremented by "1" every time the sequence of steps S108 to S111 is carried out (step S112), and copying into the display screen is repeated as needed until N becomes 9, i.e. until the flow from step S108 to S112 is complete for all the drawing screens (step S113). When N = 9 and copying is complete, the graphic controller 13 transfers the complete drawing data of the display screen Md to the display controller 15 to display the display screen Md on the display 12 (step S114). When displaying a single display screen is complete, the flow returns to step S101 to repeat the above-described processes for the next display screen 0d until a request for stopping the scroll and data display is made (step S115). According to this embodiment, as long as the display center point P lies in the same block (the map with the map code 12m in this case), the contents of the entire drawing screens need not be changed and only those drawing screens and their portions which have to be copied into the display screen have to be altered; new map data need not be drawn. In the case where the display center point P is moved from the map with the map code 12m to the one having the map code 11m as shown in Fig. 7, there are only three drawing screens 2h, 5h and 8h where new map data must be written, as shown in Fig.13, thus reducing the amount of data to be transferred to the buffer memory 11 from the CD-ROM 10 by five sheets of map data as compared with the prior art method described earlier. This means that the speed for the scroll display operation has been improved. In step S105 the display screen where copying should be made is specified; this indicates that during displaying one of the display screens, for example, 0d (front screen), the next drawing data to be displayed is copied from the associated drawing screen into the other display screen 1d (back screen), and the front screen 0d is switched to the back screen 1d to display the other display screen 1d after the copying is complete. More specifically, if the display center point is shifted from the position shown in Fig. 5 to the one indicated in Fig. 7, the display screen 1d as shown in Fig. 11 where copying has been made in the previous flow is displayed during execution of the present flow as shown in Fig. 10, and drawing data selected as shown in Fig. 13 is copied into the display screen 0d in the present flow. During displaying the display screen 1d, the display screen 0d in Fig. 13 will not be displayed. This technique can move a displayed character, such as a vehicle indicator or direction marker, more smoothly. In addition, while the prior art method requires that a memory used as a frame buffer has a capacity for four pieces of data of 640 dots by 480 dots or sixteen sheets of map data in terms of map data of 320 dots by 240 dots, the frame buffer in this embodiment needs a capacity for a total of eleven sheets of map data of 320 dots by 240 dots, nine drawing screens and two display screens. The amount of data to be read into all the drawing screens from the CD-ROM 10 upon activation of the system is also reduced, shortening the time required for system initialization. The prior art method transfers data of a drawing screen to the display controller 15 directly and not via a buffer, so that changing superscription information such as a place name which is to be superimposed on map information or transforming drawing data such as rotating a map may require that all the pieces of map data the drawing screen has must be rewritten. The above-described embodiment, however, employs a structure to temporarily store map data of drawing screens in a display screen as a buffer before transferring that data to the display controller 15, so that only the drawing data in the display screen has to be rewritten and erasing the superscription information can likewise be done easily. Although the foregoing description of this embodiment has been given on the premise that there are sixteen sheets of map data, nine drawing screens and two display screens, the embodiment is not limited to this particular case. It is needless to say that the present apparatus is used as a means to display part of a vast amount of data stored in a so-called external storage device and the amount of data to be handled and/or various screens may be properly set in accordance with a machine to which the present apparatus is applied. As described above, the on-board navigation apparatus of the present invention is designed to prepare display screens as well as drawing screens in a buffer memory, copy necessary drawing data from the drawing screens into the display screen for temporary storage, and then transfer the drawing data held by the display screen to a display control means to perform display control. This design can shorten the time required for a display operation in a screen scrolling operation and needs a smaller memory capacity. As the total memory capacity needed for a frame buffer is made smaller, the system initialization can be accomplished quicker and the front and back display control for the display screens can be performed easily, thus ensuring smoother screen scrolling. The present invention is therefore particularly advantageous in an on-board navigation apparatus which deals with many display characters.

Claims: An on-board navigation apparatus comprising: reading/storing means (13) for reading only block data of a block containing a display center reference point (p) and block data of blocks adjoining thereto from a storage medium (10) where image data, forming one continuous map, is stored for each piece of block data corresponding to a block on the map, and storing the read-out pieces of block data into a buffer memory (11); and display control means (13, 15) for acquiring display data forming a display screen (d) with the display center reference point (p) as a center from the buffer memory and performing a display operation on the basis of the display data; characterised in that said reading/storing means stores the read-out pieces of block data separately into the buffer memory, and in that said display control means has a display buffer memory (0d, 1d) for temporarily storing the display data (d) from the buffer memory and carries out the display operation on the basis of the display data stored in the display buffer memory. An on-board navigation apparatus according to claim 1, wherein said apparatus has at least two display buffer memories (0d, 1d); and the display control means (13, 15) acquires first display data forming a display screen with the previous coordinates of the display center reference point (p) as a center, stores the first display data into one of the display buffer memories, acquires second display data forming a display screen with the current coordinates of the display center reference point as a center, stores the second display data into the other display buffer memory, and switches a displaying operation for the first display data to a displaying operation for the second display data when writing the second display data into the other display buffer memory is completed. An on-board navigation apparatus according to claim 1 or 2, wherein only one copy of each piece of block data is held in the buffer memory.

Inventors: ARAKAWA TAKEHARU C O PIONEER E, ARAKI MORIO C O PIONEER ELECTR, YAMANAKA KIYOSHI C O PIONEER E, ARAKAWA, TAKEHARU, C/O PIONEER ELECTRONIC CORP., ARAKI, MORIO, C/O PIONEER ELECTRONIC CORP., YAMANAKA, KIYOSHI, C/O PIONEER ELECTRONIC CORP.
Applicants: PIONEER ELECTRONIC CORP, PIONEER ELECTRONIC CORPORATION
Application year: 1992
Main classification: G01C21
IPC codes: G06F17, G09B29, G11B20, G01C21, G06T11, G08G1