The disclosure of Japanese Patent Application No. 2005-111272 filed on Apr. 7, 2005 including the specification, drawings and abstract is incorporated herein by reference in its entirety.
1. Related Technical Fields
Related technical fields include systems, methods, and programs for rotating font data. Related technical fields include map display systems, methods, and programs for displaying names of display objects included in map data using font data that has been rotated.
2. Description of the Related Art
In conventional map display devices, names are displayed along linear display objects on a map such as roads and rivers. Such map display devices may be included in a navigation apparatus or an electronic map. Such a system is disclosed in, for example, Japanese Patent Application Publication No. JP A 62-501650 (see pages 9 to 10, FIG. 4). According to the disclosed configuration, road labels representing road names are arranged upward in proximity to and parallel to roads, respectively. Specifically, the road labels are each arranged slightly above and parallel to a displayed segment constituting a road in a direction from a departure point node of the segment to a destination node of the segment. The respective character fonts constituting each of the road labels are arranged upright with respect to the segment.
In order to arrange road name designations parallel to roads displayed at various angles on a map as described above, character fonts constituting each of the name designations need to be rotated such that the character fonts become upright with respect to a corresponding one of the roads. In order to rotate the character fonts to an arbitrary angle, complicated calculations using trigonometric functions are required.
In other display devices, if a set of data of character fonts in their post-rotation states is prepared in advance as to all required rotational angles, there is no need to subject the character fonts to a rotational processing every time a map is displayed. Thus, the speed of map display can be increased.
According to the above described display devices, a complicated calculation processing needs to be performed every time the contents of map display are updated. If the map needs to be constantly updated at various rotational angles, as is the case with navigation apparatuses or electronic maps, the processing load of a calculation unit is substantially increased. A large processing adversely affects the high-speed performance of map display. Alternatively, if the rotated character fonts are pre-prepared, a high-capacity storage device is required in order to store the data on those pre-prepared character fonts.
It is thus beneficial to provide a font data rotational processing unit, a program, and a map display system which make it possible to reduce a load of a calculation processing for subjecting font data to a rotational processing without requiring a high-capacity storage device in order to store the font data.
Exemplary implementations of the broad principles described herein provide systems, methods, and programs for rotating font data that may store font data and a plurality of conversion tables, each conversion table corresponding to a preset rotational angle. The systems, methods, and programs may select one of the conversion tables in accordance with a required angle and may rotating the font data based on the selected conversion table.
Exemplary implementations of the broad principles described herein may provide systems, methods, and programs that may further store map data. The systems, methods, and programs may generate name designations of display objects included in the map data in accordance with an arrangement of the display objects on a map and may determine the required angle in accordance with the arrangement of the display objects on the map. The systems, methods, and programs may rotate characters of the generated name designations according to the required angle to create rotated name designations and may display the map data including the rotated name designations.
Exemplary implementations will now be described with reference to the accompanying drawings, wherein:
According to the following exemplary implementations, an exemplary font data rotational processing unit 1 and an exemplary map display system 2 will be described in the context of a navigation apparatus 3 mounted in a vehicle. However, it should be appreciated that the exemplary font data rotational processing unit 1 and/or the exemplary map display system 2 may be included in other display systems in which font and/or character rotation is required.
As shown in
The location portion 4 may, for example, perform calculation for specifying a position and an direction of the vehicle, on the basis of, for example, outputs from the GPS receiver 5, the azimuth sensor 6, and/or the distance sensor 7. Specifically, the position and the direction of the vehicle may be respectively specified as, for example, a position expressed by a latitude and a longitude and an direction expressed by an angle from 0°, which may indicate true or magnetic north, to 360°, which also indicates true or magnetic north. The position and the direction of the vehicle specified by the location portion 4 may be output to a controller 8.
A map data acquiring portion 9 may, for example, acquire the information on the position and/or direction of the vehicle, which have been output from the location portion 4 via the navigation calculation processing portion 8, and may acquire map data from a map memory 10 on the basis of the position and/or direction. Specifically, the map data acquiring portion 9 may acquire map data of a range, for example, more extensive than at least a display area to be displayed on a display unit 11 and in the vicinity of the latitude and longitude of the position of the vehicle. The map data acquired by the map data acquiring portion 9 may be output to the controller 8.
Map data D may be stored in the map memory 10. As shown in
The road data D1, which may be required, for example, for map matching, and/or route searching, may indicate a connection state among roads. Specifically, the road data D1 may include, for example, information on a large number of nodes having information on positions on a map expressed by latitudes and longitudes, information on a large number of links each constituting a road through the coupling of two nodes, information on a large number of road shape complementing points having information on positions on the map expressed by the latitudes and the longitudes, and information on road widths at the respective road shape complementing points. The respective links may have, as the information on the links, information on road types (expressways, toll roads, national roads, prefectural roads, and the like) and/or lengths of the links.
As used herein, the term “link” refers to, for example, a road or portion of a road. For example, according to one type of road data, each road may consist of a plurality of componential units called links. Each link may be separated and defined by, for example, an intersection, an intersection having more than three roads, a curve, and/or a point at which the road type changes. As used herein the term “node” refers to a point connecting two links. A node may be, for example, an intersection, an intersection having more than three roads, a curve, and/or a point at which the road type changes.
The background data D2 may be data required, for example, for displaying a map by means of the display unit 11. Specifically, the background data D2 may be composed of information on geometric shapes such as, for example, planes and/or lines that may be required for displaying display objects such as roads, buildings, rivers, and the like on a map. The background data D2 may include, for example, information on positions of the respective display objects expressed by latitudes and longitudes and/or information on the types of display objects.
The character data D3 may be data, for example, required for displaying names of the respective display objects on the map, and may be associated with the road data D1 and/or the background data D2. Specifically, the character data D3 may include, for example, font row information on font rows constituting the respective displayed names, arrangement information on positional relationships between the respective displayed names and the display objects, and/or font size information on the sizes of the fonts constituting the respective displayed names.
The map memory 10 may include, for example, a unit having a recording medium capable of storing information and a portion for driving the recording medium, for example, a hard disk drive, a DVD drive equipped with a DVD-ROM, a CD drive equipped with a CD-ROM, or the like.
As described above, the controller 8 may acquire information on the position and direction of the vehicle from the location portion 4, and may acquires the map data D from the map data acquiring portion 9 on the position the direction of the vehicle. In addition, the controller 8 may perform map matching on the basis of, for example, the road data D1, and may modify the position and the direction of the vehicle which have been output from the location portion 4. The controller 8 may then, for example, display the position of the vehicle and/or provide route guidance, using the modified information on the position and azimuth of the vehicle and the road data D1 acquired from the map data acquiring portion 9.
The controller 8 may be connected to the display unit 11 such as, for example, a liquid crystal monitor or the like, an audio output unit 12 such as, for example, a speaker and an amplifier or the like, and an input unit 20 such as, for example, a remote controller or the like.
As shown in,
As shown in
The arrangement determining portion 13 may, for example, determine an arrangement of the respective font data constituting the name designations N of the roads R included in the display map M and a required angle θ1 in accordance with an arrangement and the directions (display angles) of the roads R on the display map M. Specifically, as shown in
In this case, the respective font data F may be arranged such that reference points f1 thereof are located above the roads R (either on the left or on the right as to those of the roads R which extend vertically) while the font data F are parallel to the roads R and spaced apart therefrom by a predetermined distance δ1, and that the reference points f1 are spaced apart from one another by a predetermined distance δ2. The predetermined distance δ1 and the predetermined distance δ2 may be values that are stored in the map memory 10 as information on the arrangement of the character data D3 included in the map data D. The required angle θ1 for the respective font data F may be expressed as an angle in directions perpendicular to the directions (display angles) of the roads R at positions where the respective font data F are arranged.
As shown in
The table selecting portion 14 may, for example, select one of a plurality of conversion tables stored in a conversion table memory 17 in accordance with the required angle θ1 determined in the arrangement determining portion 13. Conversion tables for font rotation, which correspond to a plurality of preset rotational angles, may be stored in the conversion table memory 17. For example, upright font data may be stored in a font data storing portion 18. By rotating the upright font data in the rotational processing portion by means of the conversion tables, font data having a plurality of rotational angles may be generated. For example, eight conversion tables for rotational angles which are spaced apart from one another by 22.5° within a range of 90° in a clockwise direction and 90° in a counterclockwise direction respectively (that is, within a range of 90° to −90° on the assumption that 0° represents an upright state), as shown in
Then, in accordance with the required angle θ1 determined in the arrangement determining portion 13, the table selecting portion 14 may select one of the aforementioned eight conversion tables which corresponds to a rotational angle closest to the required angle θ1. In this case, as shown in
Specifically, when the required angle θ1 is, for example, 32° as in the case of the example shown in
For example, bitmap data of a predetermined size may be used as the font data. Thus, each conversion table may be designed to prescribe a value of each post-conversion pixel resulting from the rotational processing of the bitmap data as to the rotational angle for which the table represents and a value of each pre-conversion pixel. Specifically, the conversion tables may each be designed to prescribe the value of each post-conversion pixel as a product of the value of each pre-conversion pixel and an inclusion ratio of sub-pixels, into which each pre-conversion pixel is divided, in each post-conversion pixel.
In this example, as shown in
In order to reduce or prevent deterioration in the image quality of the font data F that have undergone the rotational processing, as shown in
Specifically, in the case of the post-conversion pixel a′ as shown in, for example,
a′=(3a+6e)/16 (1)
A point in each of the sub-pixels in
In the case of the post-conversion pixel b′ as shown in, for example,
b′=(6a+5b+3e+2f)/16 (2)
In Equations 1 and 2, numerical values representing the stages of the respective pixels may be substituted for the symbols of the respective pixels (a′, b′, a, b, e, f).
Based on the foregoing, a conversion table may be provided in advance with conversion equations determined in a similar manner as Equations 1 and 2 for each of the post-conversion pixels a′ to p′.
The rotational processing portion 15 may thus rotate the name designations N in accordance with the conversion table selected by the table selecting portion 14. Thus, the rotational processing portion 15 may be connected to the font data storing portion 18 for storing font data. For example, a set of upright font data may be stored in the font data storing portion 18. Specifically, a set of upright font data for a language expressing the name designations N may be stored in the font data storing portion 18. Therefore, a set of upright font data (e.g., A to Z and 0 to 9) may be stored in the font data storing portion 18 when the name designations N are expressed in English as indicated by the example of
The rotational processing portion 15 may then acquire the font data constituting the name designations N from the font data storing portion 18 on the basis of the character data D3 included in the map data D, and may subjects the acquired font data to the rotational processing in accordance with the conversion table selected by the table selecting portion 14. Thus, the rotation of the font data may be carried out by substituting the values of the respective pre-conversion pixels a to p into the conversional equations, which are each designed to prescribe the value of each of the post-conversion pixels a′ to p′. Thereby, the values of the respective post-conversion pixels a′ to p′ may be calculated. In this manner, the calculation load for the rotational processing can be reduced by subjecting the font data to the rotational processing through simple calculation using the conversion tables.
As shown in
In this case, the arrangement of the distance δ1, a clearance δ2, and the like of the respective font data F with respect to the roads F may be similar to the arrangement determined in the arrangement determining portion 13. Since this arrangement has already been described, detailed description thereof will be omitted. The name designations N of the respective roads R generated by the font data arrangement processing portion 16 may be output to the controller 8. Then, the controller 8 may superimpose the name designations N on the display map M as shown in
It should be appreciated that one or more of the elements of the above described system may be combined and or further divided in a physical, functional, and/or conceptual manner. For example, the arrangement determining portion 13, the table selecting portion 14, the rotational processing portion 15, the font data arrangement processing portion 16, the conversion table memory 17, and the font data storing portion 18 may all be physically, functionally, and/or conceptually included in a name designation generating portion 19. Similarly, the table selecting portion 14, the conversion table memory 17, the rotational processing portion 15, and the font data storing portion 18 all be physically, functionally, and/or conceptually included in a font data rotational processing unit 1.
According to the above examples, the conversion table is determined based on the pre-conversion pixels a-p being divided into 16 sub-pixels as shown in
a′=(a+e)/4 (3)
Similarly, as shown in
b′=(a+2b+e)/4 (4)
As a result, a conversion table may be provided in advance with conversion equations determined in a manner similar to Equations 3 and 4, as to all the respective post-conversion pixels a′ to p′.
Additionally, for example, a conversion table may prescribe the value of each of the post-conversion pixels a′-p′ resulting from the rotational processing of each of the pre-conversion pixels a to p based on a percentage of the pre-conversion pixels in the boundary of each of the post-conversion pixels a′-p′. That is, the post-conversion pixels may be determined without considering sub-pixels. In this case, as shown in
a′=0.17a+0.37e (5)
Similarly, as shown in
b′=0.37a+0.34b+0.17e+0.12f (6)
As with the previous examples, the resulting conversion table may provided in advance with conversion equations determined in a manner similar to Equations 5 and 6, as to all the respective post-conversion pixels a′ to p′.
The above examples have been described within the context of conversion tables corresponding to eight rotational angles, namely, ±22.5°, ±45°, ±67.5°, and ±90°. However, the rotational processing by the angles of ±90° can be performed by permutating the positions of the pixels. Therefore, the number of the conversion tables as described in the foregoing embodiment need not be eight. For example, a rotational processing similar to the rotational processing performed in the case in which the aforementioned eight conversion tables are provided may be performed using only three conversion tables corresponding to ±22.5°, ±45°, and ±67.5°. That is, as described above, the processing of generating the font data of ±90° may be performed by permutating the positions of the pixels in the font data of 0° (upright). It is therefore possible to adopt simple conversion tables or simple conversion equations for permutating the positions of those pixels.
The font data of −22.5°, −45°, and −67.5° can be generated by performing a rotational processing by the angle of −90° by means of the aforementioned simple tables or equations, after having been subjected to rotational processing by means of the conversion tables corresponding to +67.5°, +45°, and +22.5° respectively. For instance, in generating the font data of −67.5°, the rotational processing by the angle of −90° is performed by means of the aforementioned simple tables or equations after the font data of 0° have been subjected to the rotational processing by means of the conversion table corresponding to +22.5°.
The above examples have been described within the context of conversion tables corresponding to eight rotational angles (±22.5°, ±45°, ±67.5°, and ±90°), which are arranged at intervals of 22.5° within the range of 90° in the clockwise direction and 90° in the counterclockwise direction. However, the rotational angles of the conversion tables prepared in advance in the conversion table memory 17 may be appropriately set in accordance with the mode of using the fonts or the like. Accordingly, if a certain mode of using the fonts or the like is adopted, conversion tables may also be prepared corresponding to angles other than the aforementioned ones or conversion tables corresponding to rotational angles which are arranged at intervals smaller and/or larger than 22.5°.
It is also possible to prepare conversion tables corresponding to rotational angles within an angular range of an angle different from 90° in the clockwise direction and an angle different from 90° in the counterclockwise direction. Furthermore, the prepared conversion tables may not necessarily correspond to rotational angles arranged at equal intervals. Thus, it is possible to prepare conversion tables corresponding to rotational angles arranged at unequal intervals.
According to the above examples, the name designations N of the respective roads R included in the display map M may be generated and superimposed thereon as shown in
The above examples have been described within the context of a navigation apparatus 3. However, the range of application of the broad principles described herein need not be limited thereto. That is, the broad principles describe herein may be applied to various apparatuses, programs, and the like requiring the use of fonts corresponding to a plurality of rotational angles. Accordingly, the principles described herein are applicable to electronic maps, mobile phones, mobile information terminals, PDAs (personal digital assistants), electronic papers, and/or programs mounted in one or more apparatuses.
While various features have been described in conjunction with the examples outlined above, various alternatives, modifications, variations, and/or improvements of those features and/or examples may be possible. Accordingly, the examples, as set forth above, are intended to be illustrative. Various changes may be made without departing from the broad spirit and scope of the underlying principles.
Number | Date | Country | Kind |
---|---|---|---|
2005-111272 | Apr 2005 | JP | national |