WO2013024505A1 - 文字列配置装置 - Google Patents

文字列配置装置 Download PDF

Info

Publication number
WO2013024505A1
WO2013024505A1 PCT/JP2011/004583 JP2011004583W WO2013024505A1 WO 2013024505 A1 WO2013024505 A1 WO 2013024505A1 JP 2011004583 W JP2011004583 W JP 2011004583W WO 2013024505 A1 WO2013024505 A1 WO 2013024505A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
character string
unit
arrangement
function value
Prior art date
Application number
PCT/JP2011/004583
Other languages
English (en)
French (fr)
Inventor
健 宮本
正一朗 窪山
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to US14/129,800 priority Critical patent/US9418461B2/en
Priority to PCT/JP2011/004583 priority patent/WO2013024505A1/ja
Priority to CN201180072853.0A priority patent/CN103765492B/zh
Priority to JP2013528842A priority patent/JP5748856B2/ja
Priority to DE112011105528.5T priority patent/DE112011105528T5/de
Publication of WO2013024505A1 publication Critical patent/WO2013024505A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • G09G5/346Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/32Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory with means for controlling the display position

Definitions

  • the present invention relates to a character string arrangement device that arranges character strings on a figure such as a map.
  • a conventional map display device is configured to follow a road line (hereinafter referred to as a road node sequence) from a point at which a character string such as a road name starts to be placed (hereinafter referred to as a character string placement start point).
  • a road line hereinafter referred to as a road node sequence
  • a character string placement start point a point at which a character string such as a road name starts to be placed.
  • position is provided (for example, refer FIG. 21).
  • the character string arrangement start point is not appropriate, the character strings shown in FIG. 22A overlap each other, the readability decreases due to the change in the character display angle shown in FIG. 22B, and FIG. The readability is degraded due to the denseness of the character strings shown in.
  • the character string arrangement start point is changed to a position with high readability.
  • a method is described. Specifically, the function overlap (i) indicating the overlap between the character strings illustrated in FIG. 23A and the function flatness (i) indicating the angle change of the road node string along which the character strings illustrated in FIG.
  • the character string arrangement start point is changed by minimizing the evaluation function f represented by the following expression (1).
  • ⁇ 1 and ⁇ 2 are parameters for adjusting the values of overlap (i) and flatness (i)
  • String_num indicates the number of character strings.
  • Non-Patent Document 1 solves the readability degradation due to the overlapping of the character strings shown in FIG. 22A and the change in the angle of the road along which the character strings shown in FIG. Therefore, there has been a problem that it is impossible to avoid a decrease in readability due to the dense character strings shown in FIG.
  • the present invention has been made to solve the above-described problems.
  • the character string arrangement start point is optimized by taking into consideration not only the duplication of character strings and the change in the display angle of characters, but also the degree of congestion of character strings. It is an object of the present invention to provide a character string arrangement device that changes to a proper position.
  • the character string arrangement device includes a data acquisition unit that acquires character string data related to a character string to be arranged and road node sequence data related to a road node sequence in which the character string is arranged, and a character acquired by the data acquisition unit Based on the column data and the road node column data, a candidate point creation unit that creates a plurality of candidate points for arranging a character string on the road node column, and a character string from the plurality of candidate points created by the candidate point creation unit A minimum value among the evaluation function values calculated by the evaluation function calculation unit, the evaluation function calculation unit for calculating the evaluation function value indicating the evaluation of the character string arrangement by the character string arrangement unit, and the evaluation function value calculated by the evaluation function calculation unit.
  • a minimum evaluation function value, and a minimum evaluation function value storage unit that stores a character string arrangement and a character string arrangement start point in the minimum evaluation function value.
  • a character interval function calculation unit for calculating a character interval function value indicating an evaluation with respect to a character interval between a plurality of character strings arranged from a plurality of candidate points, and an angle of a road node sequence along which the character string arranged by the character string arrangement unit is along An evaluation function value based on a road angle function calculation unit that calculates a road angle function value indicating an evaluation of the character, a character interval function value calculated by the character interval function calculation unit, and a road angle function value calculated by the road angle function calculation unit And an evaluation function value calculation unit for calculating.
  • the present invention it is possible to suppress a decrease in readability due to overlapping of character strings and a change in display angle of characters, and it is possible to suppress the denseness of character strings, thereby improving the visibility of character strings. it can.
  • FIG. 6 is a flowchart showing the operation of the character string arrangement device according to the first embodiment. It is a block diagram which shows the structure of the candidate point preparation part of the character string arrangement
  • FIG. It is a block diagram which shows the structure of the character string arrangement
  • FIG. 6 is a block diagram showing a configuration of an evaluation function calculation unit of the character string arrangement device according to Embodiment 1.
  • FIG. 6 is a flowchart illustrating an operation of a candidate point creation unit of the character string arrangement device according to the first embodiment. It is a figure which shows the candidate point creation result of the character string arrangement
  • FIG. 4 is a flowchart showing an operation of a character string arranging unit of the character string arranging device according to the first embodiment. It is a figure which shows the arrangement
  • FIG. It is a figure which shows the arrangement
  • FIG. It is a figure which shows the arrangement
  • FIG. 6 is a flowchart illustrating an operation of an evaluation function calculation unit of the character string arrangement device according to the first embodiment. It is explanatory drawing which shows the example of calculation of the link angle of the character string arrangement
  • FIG. It is a figure which shows the example of arrangement
  • FIG. It is a figure which shows the example of arrangement
  • FIG. It is a figure which shows the candidate point creation result of the character string arrangement
  • FIG. It is a figure which shows the example of arrangement
  • FIG. It is a figure which shows the example of arrangement
  • FIG. It is explanatory drawing which shows arrangement
  • FIG. 1 is a block diagram showing a configuration of a character string arrangement device according to Embodiment 1 of the present invention.
  • the character string arrangement device 100 includes a character string data storage unit 1, a character string data acquisition unit (data acquisition unit) 2, a candidate point creation unit 3, a character string arrangement unit 4, an evaluation function calculation unit 5, and a minimum evaluation function value storage unit. 6, a minimum evaluation function value data storage unit 7, a character string arrangement data storage unit 8, and a character string arrangement start point data storage unit 9.
  • the character string data storage unit 1 is a storage area for storing a data set of a plurality of character strings.
  • the number of character strings, the number of characters included in each character string, the width and height of each character, and the road along which the character string follows Stores the node sequence.
  • the character string data acquisition unit 2 acquires character string data stored in the character string data storage unit 1.
  • Candidate point creation unit 3 creates a plurality of character string arrangement candidates (hereinafter referred to as candidate points) on a road node along which the character string follows.
  • the evaluation function calculator 5 digitizes the readability of the arranged character string.
  • the minimum evaluation function value storage unit 6 stores the evaluation function value, the character string arrangement, and the character string arrangement start point when the evaluation function becomes the minimum value in each storage area.
  • the minimum evaluation function value data storage unit 7 is a storage area for storing the minimum evaluation function value.
  • the character string arrangement data storage unit 8 is a storage area for storing the character string arrangement when taking the minimum evaluation function value.
  • the character string arrangement start point data storage unit 9 is a storage area for storing a character string arrangement start point when the evaluation function value is minimum.
  • FIG. 2 is a flowchart showing the operation of the character string arrangement device according to Embodiment 1 of the present invention.
  • the character string data acquisition unit 2 refers to the character string data storage unit 1 and acquires character string data to be arranged (step ST1).
  • Candidate point creation unit 3 creates a candidate point for placing the character string on the road node string along which the character string acquired in step ST1 is along (step ST2).
  • the character string arrangement unit 4 arranges a character string along the road node string from the candidate points created in step ST2 (step ST3).
  • the character string arrangement unit 4 refers to the arrangement result of step ST3 and determines whether or not the character string can be arranged along the road node string (step ST4). For example, when a character string protrudes from a road node string, it is determined that it cannot be arranged. If it is determined that the character string cannot be arranged along the road node string (step ST4; NO), the process is terminated.
  • the evaluation function calculation unit 5 calculates the evaluation function value of the arranged character string (step ST5).
  • the minimum evaluation function value storage unit 6 determines whether the evaluation function value calculated in step ST5 is less than the minimum evaluation function value mini_cost already stored in the minimum evaluation function value data storage unit 7 (step ST6). . If the evaluation function value is greater than or equal to the minimum evaluation function value mini_cost (step ST6; NO), the process ends. On the other hand, when the evaluation function value is less than the minimum evaluation function value mini_cost (step ST6; YES), the minimum evaluation function value storage unit 6 uses the evaluation function value calculated in step ST5 as the minimum evaluation function value data storage unit. 7 (step ST7), the character string arrangement data and the character string arrangement start point data are stored in the character string arrangement data storage unit 8 and the character string arrangement start point data storage unit 9 (step ST8). Exit.
  • FIGS. 3 to 5 are block diagrams showing in more detail each configuration of the character string arrangement device 100.
  • FIG. 3 is a block diagram showing the configuration of the candidate point creation unit 3.
  • FIG. 4 shows the configuration of the character string arrangement unit 4.
  • FIG. 5 is a block diagram showing the configuration of the evaluation function calculation unit 5.
  • the candidate point creation unit 3 includes a first link length calculation unit 31 that calculates the length of a link that connects two nodes in a road node sequence, and a first link length calculation unit.
  • a link total length update unit 32 that calculates the total length of the road node sequence by adding the link lengths calculated in 31, a candidate point interval calculation unit 33 that calculates an interval between candidate points from the total length of the links, and a road node sequence
  • a creation unit 34 that creates candidate points
  • a second link length calculation unit 35 that updates a node and calculates a link length when the set link length does not satisfy a predetermined condition
  • a distance updating unit 36 that updates the link length based on the link length calculated by the link length calculating unit 35, a candidate point interval (cand_gap), a candidate point number (cand_idx), and a predetermined node from the first node in the road node sequence
  • Candidate points such as link length (dist) connecting It consists of information storage unit 37 for storing information.
  • the character string arranging unit 4 includes an initial character position determining unit 41 that sets the position of the first character of the character string, a link angle calculating unit 42 that calculates a link angle, A character arrangement position calculation unit 43 that calculates the arrangement position of the character, a character link out-of-link determination unit 44 that determines whether or not the character is out of the link, a character arrangement unit 45 that sets the character arrangement, An overlap determination unit 46 that determines the overlap of characters, and a first parameter update unit (parameter update unit) 47 that updates parameters necessary for character placement when characters exist on the link and there is no character overlap, The second parameter updating unit 48 updates parameters necessary for character arrangement when the character is located outside the link.
  • the second parameter updating unit 48 updates parameters necessary for character arrangement when the character is located outside the link.
  • the evaluation function calculation unit 5 includes a character interval function calculation unit 51 that calculates a function value indicating an effect of the character interval between character strings on the readability of the character string, and a road angle.
  • a road angle function calculation unit 52 that calculates a function value indicating an influence on the readability of a character string
  • an evaluation function value calculation unit 53 that calculates an evaluation function value.
  • the character spacing function calculation unit 51 includes an initial character string determination unit 54 that determines whether or not the character string is the first character string, a first Gaussian function value calculation unit 55 that calculates a Gaussian function value,
  • the character interval function update unit 56 updates a function value indicating the influence of the character interval on the readability of the character string.
  • the road angle function calculation unit 52 also updates the second Gaussian function value calculation unit 57 that calculates the value of the Gaussian function and the road angle function update that updates the function value indicating the influence of the road angle on the readability of the character string.
  • the unit 58 is configured.
  • the character string data arranged in the road node string is data consisting of the character string “String11” and the character string “String2”, and the horizontal width of each character is 5 and the vertical width is The description will be made assuming that all are 10.
  • FIG. 6 shows the relationship between the road node strings in which the character string “String11” and the character string “String2” are arranged.
  • the character string data acquisition unit 2 receives the first character string “String11”, the second character string “String2” from the character string data storage unit 1, and The road node rows P (0) -P (2) and the road node rows P (3) -P (5) in which the character strings are arranged, and the horizontal and vertical widths of the characters constituting each character string get.
  • the layout optimization of the first character string “String11” is performed.
  • the candidate point creation unit 3 distributes CANDIDATE_NUM candidate points set in advance on the road node sequence P (0) -P (2) along which the character string “String11” follows, that is, three candidate points at equal intervals. To create.
  • FIG. 7 is a flowchart showing the operation of the candidate point creation unit of the character string arranging device according to the first embodiment.
  • the first link length calculation unit 31 of the candidate point creation unit 3 refers to each node information stored in the information storage unit 37 and connects the nth node P (n) and the n + 1th node P (n + 1).
  • the link length is calculated (step ST11).
  • the link total length update unit 32 updates the value of the link total length (total_dist) by adding to the previously calculated link total length (step ST12).
  • the creation unit 34 refers to the information storage unit 37 to obtain information on the candidate point interval (cand_gap), the candidate point number (cand_idx), and the link length (dist) connecting a predetermined node from the first node in the road node sequence. It is acquired and it is determined whether the candidate point satisfies the condition shown by the following formula (5) (step ST15).
  • the initial value of the candidate point number (cand_idx) is 0, and the initial link length (dist) is the length of the link connecting the first node of the road node sequence and the node arranged at the next position of the first node. It becomes.
  • the initial conditions are stored in advance in the information storage unit 37.
  • step ST15 When the condition of the above expression (5) is satisfied (step ST15; YES), the creation unit 34 starts from the first node of the road node sequence along the road node sequence, candidate point number (cand_idx) ⁇ candidate point interval (cand_gap) Candidate points Q are created at distant positions (step ST16). Thereafter, the creating unit 34 determines whether or not all CANDIDATE_NUM candidate points Q have been created (step ST17). If all candidate points have been created (step ST17; YES), the process ends.
  • step ST17 if not all candidate points Q have been created (step ST17; NO), the candidate point number is incremented by 1 and stored in the information storage unit 37 (cand_idx + 1, step ST18), and the process returns to step ST15. .
  • step ST15 If the condition of the above equation (5) is not satisfied (step ST15; NO), 1 is added to the node number in the determination process of step ST15 (step ST19), and the node after the addition and the node after the addition are added.
  • the length of the link connecting the node arranged at the next position is calculated (step ST20).
  • the distance update unit 36 adds the link length newly calculated in step ST20 to the link length (dist) used in the determination process of step ST15, and updates the link length (dist) (step ST21).
  • the information updated in steps ST19 to ST21 is stored in the information storage unit 37. Thereafter, the flowchart returns to the process of step ST15.
  • the first link length calculation unit 31 calculates the length 30 of the link connecting the 0th node P (0) and the first node P (1).
  • the link total length update unit 32 adds the link length: 30 to the link total length: 0 calculated up to the previous time to update the link total length.
  • the length 90 of the link connecting the nodes of the first node P (1) and the second node P (2) is calculated, and updated to the total link length 120.
  • the creation unit 34 refers to the information storage unit 37, the candidate point interval (cand_gap): 40, the candidate point number (cand_idx): 0 (initial value), the link length (dist): 30 (initial link (P (0), P (1)) is obtained and it is determined whether the candidate point Q (0) satisfies the condition of the above formula (5), because in the example of FIG. It is determined that the condition of Expression (5) is satisfied.
  • the candidate point Q (0) has a position (10, 20), the index of the start node of the link (P (0), P (1)) where the candidate point Q (0) exists: 0, and a candidate point exists.
  • the distance from the start node P (0) of the link to be: 0.
  • the creation unit 34 determines that not all candidate points have been created, and in step 18, 1 is added to the candidate point number to obtain a candidate point Q (1), and the process returns to step ST15.
  • the creation unit 34 refers to the information storage unit 37, the candidate point interval (cand_gap): 40, the candidate point number (cand_idx): 1, the link length (dist): 30 (initial link (P (0), P (1)) is obtained, and it is determined whether the candidate point Q (1) satisfies the condition of the above expression (5) In the example of Fig.
  • step ST19 and ST20 1 is added to the node number of the node P (0) to obtain the node P (1), and the node P (1) and the node P (2) are The length of the link to be connected: 90 is calculated, and in step ST21, the distance updating unit 36 adds a value obtained by adding the calculated link length: 90 to the link length (dist): 30 used in the determination process of step ST15 described above.
  • Link length (dist) Updated to 120. Updated information After stored in the information storage unit 37, the process returns to step ST15.
  • step ST17 the creation unit 34 determines that not all candidate points have been created, and in step 18, 1 is added to the candidate point number to obtain a candidate point Q (2), and the process returns to step ST15. The above process is repeated until the candidate point Q (2) is created.
  • FIG. 8 shows the result of creating candidate points for the road node sequence P (0) -P (2) shown in FIG. Further, the positional relationship between the three candidate points Q (0), Q (1), and Q (2) shown in FIG. 8 is as shown below.
  • Start node index 1, Distance from start node: 50
  • FIG. 9 is a flowchart showing the operation of the character string arranging unit of the character string arranging device according to the first embodiment.
  • the index of the start node of the link R (Q) where the candidate point Q exists is referred to as road_idx, and the distance from the first node in the road node sequence where the candidate point Q exists to the candidate point Q is described as dist.
  • the initial character position determination unit 41 initializes road_idx and dist at the start of processing (step ST31).
  • the link angle calculation unit 42 calculates the angle ⁇ of the link connecting the road_idx (n) th node and the road_idx (n + 1) th node (step ST32).
  • the link angle ⁇ is 0 ° in the X-axis direction and 90 ° in the Y-axis direction
  • the link (road_idx (n), road_idx (n + 1)) angle that is, a vector (road_idx (n), road_idx (n + 1)).
  • the character arrangement position calculation unit 43 calculates the position dist separated from the road_idx (n) -th node in the ⁇ direction as the character arrangement position (step ST33).
  • the character link out-of-link determination unit 44 determines whether the character arrangement position exists on the link (road_idx (n), road_idx (n + 1)) (step ST34).
  • the character arrangement unit 45 determines the character arrangement position (step ST35). Specifically, the coordinates of the character string arrangement position calculated by the character arrangement position calculation unit 43 in step ST33 are set as the lower left coordinates of the character. Further, the upper left coordinates, lower right coordinates, and upper right coordinates of the character are calculated based on the following equation (6).
  • char_idx is an index indicating the arrangement order of the characters constituting the character string. Furthermore, H (char_idx) is the width of char_idxth character, W (char_idx) is the width of char_idxth character, LD (char_idx) is the lower left coordinate of char_idxth character, and LT (char_idx) is char_idxth character Upper left coordinates, RD (char_idx) indicates the lower right coordinates of the char_idxth character, and RT (char_idx) indicates the upper right coordinates of the char_idxth character.
  • the overlap determination unit 46 determines whether the arrangement position determined in step ST35 overlaps with the character arranged in the previous process (step ST36). When there is no overlapping of characters (step ST36; NO), the first parameter updating unit 47 adds the width of the char_idxth character to dist and increases char_idx by “1” (step ST37). Thereafter, the first parameter update unit 47 determines whether or not the arrangement positions of all the characters constituting the character string have been obtained (step ST38). When the arrangement positions of all the characters have been obtained (step ST38; YES), the process is terminated.
  • step ST38 when the arrangement positions of all the characters have not been obtained (step ST38; NO), the first parameter update unit 47 again arranges the arrangement positions based on the parameters updated in step ST37 with respect to the character arrangement position calculation unit 43. Is calculated (step ST39). Then, it returns to the process of step ST33 and repeats the process mentioned above.
  • step ST36 if there is an overlap of characters (step ST36; YES), the overlap determination unit 46 adds STEP_SIZE to dist (step ST40), and again determines the character arrangement position calculation unit 43 based on the parameter added in step ST40. The calculation of the arrangement position is instructed (step ST41). Then, it returns to the process of step ST33 and repeats the process mentioned above.
  • the second parameter update unit 48 updates the parameters (step ST42). Specifically, after the second parameter update unit 48 updates the value obtained by subtracting the length of the link (road_idx (n), road_idx (n + 1)) from dist, and adds 1 to road_idx, The character arrangement position calculation unit 43 is instructed to calculate the arrangement position again based on the updated parameters (step ST43). Then, it returns to the process of step ST32 and repeats the process mentioned above.
  • step ST31 the initial character position determination unit 41 performs initial setting of road_idx and dist, the index of the starting node of candidate point Q (0): road_idx, road node sequence P (0) -P (2 ) From the first node P (0) to the candidate point Q: 0 is dist.
  • step ST34 the character link out-of-link determination unit 44 determines that LD (0) exists on the link (P (0), P (1)).
  • step ST36 the overlap determination unit 46 determines the overlap between the character “S” arranged in step ST35 and the character arranged last time. In this example, since there is no character arranged last time, it is determined that there is no overlap.
  • step ST38 the first parameter updating unit 47 determines that the arrangement positions of all the characters constituting the character string have not been obtained. Therefore, in step ST39, the first parameter updating unit 47 determines the character arrangement position calculation unit 43 based on the updated parameters. Then, the calculation of the arrangement position is instructed again, and the process returns to step ST33.
  • step ST33 to step ST36 is repeated again to calculate the character arrangement position of the second character “t”.
  • FIG. 12 shows a result of arranging the second character LD (1) to the sixth character LD (5) by repeating the above-described processing. In FIG. 12, only the lower left coordinates of each character are shown.
  • the character link out-of-link determining unit 44 determines that the arrangement position (10, 55) is outside the link (P (0), P (1)), and in step ST42, the second parameter updating unit 48 sets the parameter. Update.
  • step ST43 the calculation of the arrangement position is instructed again based on the parameters updated by the second parameter updating unit 48, and the process returns to step ST32.
  • the result of arranging all the characters is shown in FIG. Also in FIG. 13, only the lower left coordinates of each character are shown.
  • FIG. 14 is a flowchart showing the operation of the evaluation function calculation unit of the character string arrangement device according to Embodiment 1.
  • the character interval function calculation unit 51 is a character interval that is a function indicating the character interval between a character string (0th to string_idx-1th character string) whose arrangement has already been determined and the string_idx (n) th character string.
  • a function value P (S string_idx
  • step T51 if it is determined in step T51 that string_idx ⁇ 1 or more, the character spacing function update unit 56 calculates the character spacing function value P (S string_idx
  • Step ST53 the process proceeds to the process of the road angle function calculation unit 52.
  • C string_idx and C string_idx2 indicate the number of characters of the string_idxth and string_idx2nd character strings, respectively.
  • x char_idx and x char_idx2 in Expression (7) indicate the center coordinates of the char_idxth and char_idx2th characters, respectively.
  • x char_idx2 ) in the above equation (7) is calculated by the first Gaussian function output unit 55 based on the following equation (8).
  • x char_idx and x char_idx2 represent the center coordinates of the char_idxth and char_idx2th characters
  • SC represents a constant
  • H ⁇ 1 represents a covariance matrix.
  • the road angle function updating unit 58 calculates a road angle function value P (R string_idx
  • No string_idx indicates the number of nodes in the road node string along which the string_idxth character string is along
  • ⁇ load_idx indicates the coordinates of the road_idxth node in the road node string.
  • ⁇ road_idx ) in the above equation (9) is calculated by the second Gaussian function value calculation unit 57 based on the following equation (10).
  • x char_idx and ⁇ road_idx are vectors indicating position coordinates
  • x char_idx is the center of the char_idxth character
  • ⁇ road_idx is the road_idxth road node.
  • T represents transposition
  • ⁇ ⁇ 1 represents an inverse matrix of ⁇ .
  • Angle (road_idx) in the above formula (10) indicates an angle change of a link connecting the road_idx-1th node and the road_idxth node and a link connecting the road_idx + 1th node and the road_idxth node.
  • An example of calculating Angle (road_idx) is shown in FIG. R (road_idx) in FIG. 15 indicates the road_idxth road node. As shown in FIG. 15, the change in the angle of the two links becomes the change in the angle of the link.
  • the evaluation function value calculation unit 53 includes the character spacing function value P (S string_idx
  • S string_idx ) is used to calculate the evaluation function value F based on the following equation (11) (step ST55).
  • the calculated evaluation function value F is output to the minimum evaluation function value storage unit 6 (step ST56), and the process ends.
  • step ST54 the road angle function updating unit 58 calculates the value of P (R string_idx
  • S string_idx ) 0.000777442.
  • step ST55 the evaluation function value calculation unit 53 sets the character spacing function value P (S string_idx
  • ⁇ S string_idx-1 ⁇ ) 1 calculated in step ST52 and the road angle function value P finally obtained in step ST54. Based on (R string_idx
  • a character string is arranged from the second candidate point Q (2).
  • the character arrangement position calculation unit 43 of the character string arrangement unit 4 calculates the arrangement position of the eighth character.
  • LD (7) (101, 50).
  • the same processing is performed for “String2” as the first character string.
  • a candidate point is created on the road link along the first character string in the candidate point creation unit 3.
  • three candidate points Q (3), Q (4), and Q (5) are created.
  • the character string placement unit 4 places the first character string from the candidate point Q (3) (see FIG. 19).
  • the evaluation function value F is calculated in the evaluation function calculation unit 5.
  • ⁇ S string_idx-1 ⁇ ) is calculated as 5.1 ⁇ 10 ⁇ 264 . Thereafter, the processing of the character spacing function update unit 56 is repeated to update the character spacing function value P (S string_idx
  • ⁇ S string_idx-1 ⁇ ) Get a value of 0.040705.
  • step ST54 the road angle function updating unit 58 calculates the value of P (R string_idx
  • step ST55 the evaluation function value calculation unit 53 determines the character spacing function value P (S string_idx
  • ⁇ S string_idx-1 ⁇ ) 0.040705 and the road angle function value P (R string_idx
  • S string_idx ) 1.96618 ⁇ 10 ⁇ 53. Based on the above, the evaluation function value F is calculated based on the above-described equation (11).
  • step ST56 the calculated evaluation function value F is output to the minimum evaluation function value storage unit 6.
  • the character string arrangement unit 4 arranges the first character string “String2” from the candidate point Q (4) (see FIG. 20).
  • the character interval function calculation unit 51 calculates the character interval function value P (S string_idx
  • ⁇ S string_idx-1 ⁇ ) 2.7947 ⁇ 10 ⁇ 166 .
  • the road angle function calculation unit 52 calculates road angle function value P (R string_idx
  • S string_idx ) 0.002850205.
  • the evaluation function value calculation unit 53 calculates the evaluation function value F based on the above-described equation (11) using these values.
  • the character string arrangement unit 4 arranges the character string from Q (5). In this case, if the character string is arranged from Q (5), the length of the road link is insufficient and the character string cannot be arranged, so that the character string arrangement fails and the process ends.
  • the character string arrangement start point of the first character string of the character string “String2” is determined as Q (4).
  • the evaluation function calculation unit 5 is provided with the character interval function calculation unit 51 that calculates a function value indicating the influence of the character interval between character strings on the readability of the character string.
  • the character string arrangement start point of the character strings should be set to the optimum position so that the distance between the character strings becomes wider. Can do. Thereby, the space
  • the first Gaussian function value calculation unit 55 that calculates the Gaussian function value when calculating the character spacing function value is provided, the road node and the character already arranged are arranged.
  • the character string arrangement start point can be changed to the optimum position so that the Gaussian distribution is arranged at the center coordinates of the character string and the interval between the character strings is widened.
  • any component of the embodiment can be modified or any component of the embodiment can be omitted within the scope of the invention.
  • the character string arrangement device can be used for improving visibility in a display device and the like, and can also be used for application to a navigation device with improved user visibility.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)
  • Traffic Control Systems (AREA)
  • Character Input (AREA)
  • Instructional Devices (AREA)

Abstract

 文字列配置部4が複数の候補点から配置した複数の文字列間の文字間隔に対する評価を示す文字間隔関数値を算出する文字間隔関数算出部51と、文字列配置部4が配置した文字列が沿う道路ノード列の角度に対する評価を示す道路角度関数値を算出する道路角度関数算出部52と、文字間隔関数算出部51が算出した文字間隔関数値、および道路角度関数算出部52が算出した道路角度関数値に基づいて評価関数値を算出する評価関数値算出部53とを備えた。

Description

文字列配置装置
 この発明は、地図などの図形上に文字列を配置する文字列配置装置に関するものである。
 従来の地図表示装置は、道路名称等の文字列を、文字列の配置を開始する点(以下、文字列配置開始点と称する)から、道路線(以下、道路ノード列と称する)に沿って配置する機能を備えている(例えば、図21参照)。この場合、文字列配置開始点が適切でなければ、図22(a)に示す文字列同士の重なり、図22(b)に示す文字の表示角度の変化による可読性の低下、図22(c)に示す文字列の密集による可読性の低下が起こる。
 図22(a)に示す文字列同士の重なり、および図22(b)に示す可読性の低下を解決する方法として、例えば非特許文献1には可読性が高い位置に文字列配置開始点を変更する方法が記載されている。具体的には、図23(a)に示す文字列同士の重複を示す関数overlap(i)と、図23(b)に示す文字列が沿う道路ノード列の角度変化を示す関数flatness(i)で構成される、以下の式(1)で示す評価関数fを最小化することにより、文字列配置開始点を変更する方法である。なお、式(1)中のαとαはoverlap(i)とflatness(i)の値を調整するパラメータであり、String_numは文字列数を示す。
Figure JPOXMLDOC01-appb-I000001
Shawn Edmondson, "A General Cartographic Labeling Algorithm", The International Journal for Geographic Information and Geovisualization, Volume 33, Number 4/ Winter 1996
 しかしながら、上述した非特許文献1の方法は、図22(a)で示した文字列同士の重複、および図22(b)で示した文字列が沿う道路の角度変化による可読性低下を解決する方法であるため、図22(c)に示す文字列の密集による可読性低下を避けることができないという課題があった。
 この発明は、上記のような課題を解決するためになされたもので、文字列の重複、文字の表示角度の変化だけでなく、文字列の密集度合いも加味して文字列配置開始点を最適な位置に変更する文字列配置装置を提供することを目的とする。
 この発明に係る文字列配置装置は、配置対象である文字列に関する文字列データおよび当該文字列を配置する道路ノード列に関する道路ノード列データを取得するデータ取得部と、データ取得部が取得した文字列データおよび道路ノード列データに基づいて、道路ノード列上に文字列を配置するための複数の候補点を作成する候補点作成部と、候補点作成部が作成した複数の候補点から文字列を配置する文字列配置部と、文字列配置部による文字列の配置に対する評価を示す評価関数値を算出する評価関数算出部と、評価関数算出部が算出した評価関数値のうち、最小値である最小評価関数値と、当該最小評価関数値における文字列配置および文字列配置開始点を記憶させる最小評価関数値保存部とを備え、評価関数算出部は、文字列配置部が複数の候補点から配置した複数の文字列間の文字間隔に対する評価を示す文字間隔関数値を算出する文字間隔関数算出部と、文字列配置部が配置した文字列が沿う道路ノード列の角度に対する評価を示す道路角度関数値を算出する道路角度関数算出部と、文字間隔関数算出部が算出した文字間隔関数値、および道路角度関数算出部が算出した道路角度関数値に基づいて評価関数値を算出する評価関数値算出部とを備えるものである。
 この発明によれば、文字列同士の重なり、および文字の表示角度の変化による可読性の低下を抑制すると共に、文字列の密集を抑制することが可能となり、文字列の視認性を向上させることができる。
実施の形態1による文字列配置装置の構成を示すブロック図である。 実施の形態1による文字列配置装置の動作を示すフローチャートである。 実施の形態1による文字列配置装置の候補点作成部の構成を示すブロック図である。 実施の形態1による文字列配置装置の文字列配置部の構成を示すブロック図である。 実施の形態1による文字列配置装置の評価関数算出部の構成を示すブロック図である。 文字列を配置する道路ノード列の関係を示す図である。 実施の形態1による文字列配置装置の候補点作成部の動作を示すフローチャートである。 実施の形態1による文字列配置装置の候補点作成結果を示す図である。 実施の形態1による文字列配置装置の文字列配置部の動作を示すフローチャートである。 実施の形態1による文字列配置装置の配置結果を示す図である。 実施の形態1による文字列配置装置の配置結果を示す図である。 実施の形態1による文字列配置装置の配置結果を示す図である。 実施の形態1による文字列配置装置の配置結果を示す図である。 実施の形態1による文字列配置装置の評価関数算出部の動作を示すフローチャートである。 実施の形態1による文字列配置装置のリンク角度の算出例を示す説明図である。 実施の形態1による文字列配置装置の配置例を示す図である。 実施の形態1による文字列配置装置の配置例を示す図である。 実施の形態1による文字列配置装置の候補点作成結果を示す図である。 実施の形態1による文字列配置装置の配置例を示す図である。 実施の形態1による文字列配置装置の配置例を示す図である。 従来の文字列の配置を示す説明図である。 従来の文字列の配置を示す説明図である。 従来の文字列の配置の可読性向上を示す説明図である。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1は、この発明の実施の形態1による文字列配置装置の構成を示すブロック図である。
 文字列配置装置100は、文字列データ記憶部1、文字列データ取得部(データ取得部)2、候補点作成部3、文字列配置部4、評価関数算出部5、最小評価関数値保存部6、最小評価関数値データ記憶部7、文字列配置データ記憶部8および文字列配置開始点データ記憶部9で構成されている。
 文字列データ記憶部1は、複数の文字列のデータ集合を記憶する記憶領域であって、文字列の個数、各々の文字列が含む文字数、文字毎の横幅・縦幅、文字列が沿う道路ノード列を格納する。文字列データ取得部2は、文字列データ記憶部1に記憶された文字列データを取得する。候補点作成部3は、文字列が沿う道路ノード上に文字列の配置候補(以下、候補点と称する)を複数作成する。文字列配置部4は、文字列を候補点から道路ノード列に沿って配置する。
 評価関数算出部5は、配置した文字列の可読性を数値化する。最小評価関数値保存部6は、評価関数が最小値となる際の評価関数値、文字列配置および文字列配置開始点を各記憶領域に格納させる。最小評価関数値データ記憶部7は、最小の評価関数値を保存する記憶領域である。文字列配置データ記憶部8は、最小の評価関数値を取る時の文字列配置を保存する記憶領域である。文字列配置開始点データ記憶部9は、評価関数値が最小の時の文字列配置開始点を保存する記憶領域である。
 次に、文字列配置装置の動作について説明する。
 図2は、この発明の実施の形態1による文字列配置装置の動作を示すフローチャートである。
 文字列データ取得部2は、文字列データ記憶部1を参照し、配置する文字列データを取得する(ステップST1)。候補点作成部3は、ステップST1で取得した文字列が沿う道路ノード列上に、当該文字列を配置する候補点を作成する(ステップST2)。文字列配置部4は、ステップST2で作成された候補点から道路ノード列に沿って文字列を配置する(ステップST3)。さらに文字列配置部4は、ステップST3の配置結果を参照し、道路ノード列に沿って文字列の配置が可能か否か判断する(ステップST4)。例えば、道路ノード列から文字列がはみ出しているなどの場合には、配置不可能であると判断するなどである。道路ノード列に沿って文字列の配置が不可能であると判断した場合(ステップST4;NO)、処理を終了する。
 一方、道路ノード列に沿って文字列の配置が可能である場合(ステップST4;YES)、評価関数算出部5は配置した文字列の評価関数値を算出する(ステップST5)。最小評価関数値保存部6は、ステップST5で算出された評価関数値が、最小評価関数値データ記憶部7に既に記憶されている最小評価関数値mini_cost未満であるか判定を行う(ステップST6)。評価関数値が最小評価関数値mini_cost以上である場合(ステップST6;NO)には、処理を終了する。一方、評価関数値が最小評価関数値mini_cost未満である場合(ステップST6;YES)には、最小評価関数値保存部6が、ステップST5で算出された評価関数値を最小評価関数値データ記憶部7に格納する(ステップST7)と共に、文字列配置に関するデータおよび文字列配置開始点に関するデータを文字列配置データ記憶部8および文字列配置開始点データ記憶部9に格納し(ステップST8)、処理を終了する。
 続いて、文字列配置装置100のより詳細な構成および動作について説明する。
 図3から図5は文字列配置装置100の各構成をより詳細に示したブロック図であり、図3は候補点作成部3の構成を示すブロック図、図4は文字列配置部4の構成を示すブロック図、図5は評価関数算出部5の構成を示すブロック図である。
 まず、図3に示すように、候補点作成部3は、道路ノード列中の2つのノードを結ぶリンクの長さを算出する第1のリンク長算出部31と、第1のリンク長算出部31で算出したリンクの長さを加算して道路ノード列の全長を求めるリンク全長更新部32と、リンクの全長から候補点の間隔を算出する候補点間隔算出部33と、道路ノード列上に候補点を作成する作成部34と、設定されたリンク長が所定の条件を満たさない場合に、ノードを更新してリンクの長さを算出する第2のリンク長算出部35と、第2のリンク長算出部35が算出したリンクの長さに基づいてリンク長を更新する距離更新部36と、候補点間隔(cand_gap)、候補点番号(cand_idx)、道路ノード列の先頭ノードから所定のノードを繋ぐリンク長(dist)など、候補点に関する情報を記憶する情報記憶部37で構成される。
 次に、図4に示すように、文字列配置部4は、文字列の1文字目の位置を設定する初期文字位置決定部41と、リンクの角度を算出するリンク角度算出部42と、文字の配置位置を算出する文字配置位置算出部43と、文字がリンク外か否かを判定する文字リンク外判定部44と、文字の配置を設定する文字配置部45と、前に配置した文字との重なりを判定する重なり判定部46と、文字がリンク上に存在し、且つ文字の重なりがない場合に文字の配置に必要なパラメータを更新する第1のパラメータ更新部(パラメータ更新部)47と、文字がリンク外に位置している場合に文字の配置に必要なパラメータを更新する第2のパラメータ更新部48で構成される。
 次に、図5に示すように、評価関数算出部5は、文字列同士の文字間隔が文字列の可読性に与える影響を示す関数値を算出する文字間隔関数算出部51と、道路の角度が文字列の可読性に与える影響示す関数値を算出する道路角度関数算出部52と、評価関数値を算出する評価関数値算出部53で構成される。さらに、文字間隔関数算出部51は、初めの文字列か否かを判定する初期文字列判定部54と、ガウス関数の値を算出する第1のガウス関数値算出部55と、文字列同士の文字間隔が文字列の可読性に与える影響を示す関数値を更新する文字間隔関数更新部56で構成されている。また、道路角度関数算出部52は、ガウス関数の値を算出する第2のガウス関数値算出部57と、道路の角度が文字列の可読性に与える影響を示す関数値を更新する道路角度関数更新部58で構成されている。
 次に、候補点作成部3、文字列配置部4および評価関数算出部5の詳細な動作について説明する。なお、以下の動作説明では、道路ノード列に配置する文字列データは、文字列「String11」および文字列「String2」から成るデータであり、各々の文字の横幅は全て5であり、縦幅は全て10として説明を行う。また、文字列「String11」および文字列「String2」が配置される道路ノード列の関係を図6に示す。文字列「String11」が沿う道路ノード列P(0)-P(2)は、ノードP(0)=(10,20)、ノードP(1)=(10,50)、ノードP(2)=(100,50)で構成される。同様に文字列「String2」が沿う道路ノード列P(3)-P(5)は、ノードP(3)=(50,70)、ノードP(4)=(50,10)、ノードP(5)=(110,10)で構成される。さらに、STEP_SIZEを1とし、CANDIDATE_NUM(候補点数)を3とし、Σを以下の式(2)とし、Hを以下の式(3)とし、RCを1とし、SCを1とする。
Figure JPOXMLDOC01-appb-I000002
 まず、図2で示したフローチャートのステップST1として、文字列データ取得部2が、文字列データ記憶部1から1つ目の文字列「String11」と、2つ目の文字列「String2」と、各々の文字列が配置される道路ノード列P(0)-P(2)および道路ノード列P(3)-P(5)と、各々の文字列を構成する各文字の横幅および縦幅を取得する。次に、1つ目の文字列「String11」の配置最適化を行う。その方法として、まず候補点作成部3が文字列「String11」が沿う道路ノード列P(0)-P(2)上にあらかじめ設定されたCANDIDATE_NUM個の候補点、すなわち3つの候補点を等間隔に作成する。
 具体的な候補点作成方法を、図7のフローチャートを参照しながら説明する。図7は、実施の形態1による文字列配列装置の候補点作成部の動作を示すフローチャートである。
 候補点作成部3の第1のリンク長算出部31は、情報記憶部37に記憶された各ノード情報を参照し、n番目のノードP(n)とn+1番目のノードP(n+1)を繋ぐリンクの長さを算出する(ステップST11)。リンク全長更新部32は、第1のリンク長算出部31がリンク長を算出すると、前回算出したリンク全長に加算してリンク全長(total_dist)の値を更新する(ステップST12)。
 第1のリンク長算出部31は、道路ノード列を構成する全てのリンクの長さを算出したか判定を行う(ステップST13)。全てのノードについてリンクの長さを算出していない場合(ステップST13;NO)には、ステップST11の処理に戻り、上述した処理を繰り返す。一方、全てのノードについてリンクの長さを算出した場合(ステップST13;YES)には、候補点間隔算出部33は情報記憶部37を参照して候補点数(CANDIDATE_NUM)を取得し、以下の式(4)に基づいて候補点の間隔を算出し、算出した候補点間隔(cand_gap)を情報記憶部37に記憶させる(ステップST14)。
 cand_gap=total_dist/CANDIDATE_NUM・・・(4)
 次に、作成部34は、情報記憶部37を参照して候補点間隔(cand_gap)、候補点番号(cand_idx)、道路ノード列の先頭ノードから所定のノードを繋ぐリンク長(dist)に関する情報を取得し、候補点が以下の式(5)で示す条件を満たすか判定を行う(ステップST15)。
 dist>cand_idx×cand_gap・・・(5)
 なお、候補点番号(cand_idx)の初期値は0であり、初期のリンク長(dist)は、道路ノード列の先頭ノードと、当該先頭ノードの次の位置に配置されたノードを繋ぐリンクの長さとなる。当該初期条件は予め情報記憶部37に記憶されているものとする。
 上記式(5)の条件を満たす場合(ステップST15;YES)、作成部34は道路ノード列の先頭ノードから、当該道路ノード列に沿って、候補点番号(cand_idx)×候補点間隔(cand_gap)離れた位置に候補点Qを作成する(ステップST16)。その後作成部34は、CANDIDATE_NUM個全ての候補点Qを作成したか否か判定を行う(ステップST17)。全ての候補点を作成した場合(ステップST17;YES)には、処理を終了する。一方、全ての候補点Qを作成していない場合(ステップST17;NO)、候補点番号を1加算して情報記憶部37に記憶させ(cand_idx+1、ステップST18)、ステップST15の処理に戻る。
 また、上記式(5)の条件を満たさない場合(ステップST15;NO)、ステップST15の判定処理におけるノード番号に1を加算し(ステップST19)、加算後のノードと、当該加算後のノードの次の位置に配置されたノードとを繋ぐリンクの長さを算出する(ステップST20)。距離更新部36は、ステップST15の判定処理に用いたリンク長(dist)にステップST20で新たに算出したリンクの長さを加算し、リンク長(dist)を更新する(ステップST21)。なお、ステップST19からステップST21で更新された情報は、情報記憶部37に記憶される。その後、フローチャートはステップST15の処理に戻る。
 次に、図7に示したフローチャートに沿って、図6で示した具体例を用いて説明を行う。
 ステップST11として、第1のリンク長算出部31は、0番目のノードP(0)と1番目のノードP(1)のノードを繋ぐリンクの長さ:30を算出する。ステップST12として、リンク全長更新部32は前回までに算出したリンク全長:0にリンクの長さ:30を加算して、リンク全長を更新する。同様に、1番目のノードP(1)と2番目のノードP(2)のノードを繋ぐリンクの長さ:90を算出し、リンク全長:120に更新する。ステップST13で道路ノード列P(0)-P(2)を構成する全てのリンクの長さを算出したと判定されると、ステップST14として、候補点間隔算出部33は情報記憶部37を参照して候補点数(CANDIDATE_NUM)=3を取得し、候補点間隔(cand_gap):120/3=40を算出する。
 ステップST15として、作成部34は情報記憶部37を参照して候補点間隔(cand_gap):40、候補点番号(cand_idx):0(初期値)、リンク長(dist):30(初期リンク(P(0),P(1))を取得し、候補点Q(0)が上記式(5)の条件を満たすか判定を行う。図6の例では、30>0×40であることから、式(5)の条件を満たすと判定する。
 ステップST16として、作成部34は開始ノードP(0)から0×40=0離れた位置に候補点Q(0)を作成する。即ち、0番目の候補点Q(0)は、P(0)と同一地点となる。なお、候補点Q(0)は、位置(10,20)、候補点Q(0)が存在するリンク(P(0),P(1))の開始ノードのインデックス:0、候補点が存在するリンクの開始ノードP(0)からの距離:0となる。ステップST17として、作成部34は全ての候補点を作成していないと判定し、ステップ18として候補点番号に1加算して候補点Q(1)とし、ステップST15の処理に戻る。
 続いて、候補点Q(1)の作成処理について説明する。
 ステップST15として、作成部34は情報記憶部37を参照して候補点間隔(cand_gap):40、候補点番号(cand_idx):1、リンク長(dist):30(初期リンク(P(0),P(1))を取得し、候補点Q(1)が上記式(5)の条件を満たすか判定を行う。図6の例では、30<1×40であることから、式(5)の条件を満たさないと判定する。そこでステップST19,20として、ノードP(0)のノード番号に1を加算してノードP(1)とし、ノードP(1)とノードP(2)とを繋ぐリンクの長さ:90を算出する。ステップST21として、距離更新部36は、上述したステップST15の判定処理に用いたリンク長(dist):30に算出したリンク長:90を加算した値をリンク長(dist):120に更新する。更新した情報を情報記憶部37に記憶させた後、ステップST15の処理に戻る。
 ステップST15として、作成部34は情報記憶部37を参照して候補点間隔(cand_gap):40、候補点番号(cand_idx):1、リンク長(dist):120(リンク(P(0),P(2)))を取得し、候補点Q(1)が上記式(5)の条件を満たすか判定を行う。図6の例では、120>1×40であることから、式(5)の条件を満たすと判定する。ステップST16として、作成部34は開始ノードP(0)から1×40=40離れた位置に候補点Q(1)を作成する。その後、ステップST17として、作成部34は全ての候補点を作成していないと判定し、ステップ18として候補点番号に1加算して候補点Q(2)とし、ステップST15の処理に戻る。候補点Q(2)を作成するまで、上述した処理を繰り返し行う。
 図6に示した道路ノード列P(0)-P(2)に対して候補点を作成した結果を図8に示している。また、図8に示した3つの候補点Q(0),Q(1),Q(2)の位置関係は以下に示すとおりである。
候補点Q(0) 位置:(10,20)、開始ノードのインデックス:0、開始ノードからの距離:0
候補点Q(1) 位置:(20,50)、開始ノードのインデックス:1、開始ノードからの距離:10
候補点Q(2) 位置:(60,50)、開始ノードのインデックス:1、開始ノードからの距離:50
 次に、候補点作成部3が作成した候補点Qに、文字列配置部4が文字列を配置する動作について説明する。
 図9は、実施の形態1による文字列配置装置の文字列配置部の動作を示すフローチャートである。
 なお、以下では、候補点Qが存在するリンクR(Q)の開始ノードのインデックスをroad_idxとし、候補点Qが存在する道路ノード列の先頭ノードから候補点Qまでの距離をdistと記載する。
 初期文字位置決定部41は、処理開始時にroad_idxとdistの初期設定を行う(ステップST31)。次にリンク角度算出部42は、road_idx(n)番目のノードとroad_idx(n+1)番目のノードを繋ぐリンクの角度θを算出する(ステップST32)。ここでリンクの角度θは、X軸方向を0°、Y軸方向を90°とし、リンク(road_idx(n),road_idx(n+1))の角度、即ちベクトル(road_idx(n),road_idx(n+1))の角度とする。文字配置位置算出部43は、road_idx(n)番目のノードからθ方向に、dist分離れた位置を文字配置位置として算出する(ステップST33)。
 文字リンク外判定部44は、文字配置位置がリンク(road_idx(n),road_idx(n+1))上に存在するか判定を行う(ステップST34)。文字配置位置がリンク(road_idx(n),road_idx(n+1))上に存在する場合(ステップST34;YES)、文字配置部45が文字の配置位置を決定する(ステップST35)。具体的な処理としては、まずステップST33で文字配置位置算出部43が算出した文字列配置位置の座標を文字の左下座標に設定する。さらに、次の式(6)に基づいて文字の左上座標、右下座標、右上座標を算出する。
Figure JPOXMLDOC01-appb-I000003
 なお、式(6)において、char_idxは、文字列を構成する文字の配置順を示すインデックスである。さらに、H(char_idx)はchar_idx番目の文字の縦幅、W(char_idx)はchar_idx番目の文字の横幅、LD(char_idx)はchar_idx番目の文字の左下座標、LT(char_idx)はchar_idx番目の文字の左上座標、RD(char_idx)はchar_idx番目の文字の右下座標、RT(char_idx)はchar_idx番目の文字の右上座標を示す。
 重なり判定部46は、ステップST35で決定した配置位置が、前回の処理で配置した文字と重なるか判定を行う(ステップST36)。文字の重なりがない場合(ステップST36;NO)、第1のパラメータ更新部47が、distにchar_idx番目の文字の横幅を加算すると共に、char_idxを「1」増加させる(ステップST37)。その後、第1のパラメータ更新部47は、文字列を構成する全ての文字の配置位置を求めたか否か判定を行う(ステップST38)。全ての文字の配置位置を求めた場合(ステップST38;YES)処理を終了する。一方、全ての文字の配置位置を求めていない場合(ステップST38;NO)、第1のパラメータ更新部47は、文字配置位置算出部43に対して、ステップST37で更新したパラメータに基づき再度配置位置の算出を指示する(ステップST39)。その後、ステップST33の処理に戻り、上述した処理を繰り返す。
 一方、文字の重なりがある場合(ステップST36;YES)、重なり判定部46はdistにSTEP_SIZEを加算し(ステップST40)、文字配置位置算出部43に対して、ステップST40で加算したパラメータに基づき再度配置位置の算出を指示する(ステップST41)。その後、ステップST33の処理に戻り、上述した処理を繰り返す。
 さらに、文字配置位置がリンク上の存在していない場合(ステップST34;NO)、第2のパラメータ更新部48においてパラメータの更新を行う(ステップST42)。具体的には、第2のパラメータ更新部48が、distからリンク(road_idx(n),road_idx(n+1))の長さを引いた値をdistに更新すると共に、road_idxに1を加算した後、文字配置位置算出部43に対して、更新したパラメータに基づき再度配置位置の算出を指示する(ステップST43)。その後、ステップST32の処理に戻り、上述した処理を繰り返す。
 次に、図9に示したフローチャートに沿って、図6および図8で示した具体例を用いて説明を行う。
 まず、ステップST31として、初期文字位置決定部41は、road_idxとdistの初期設定を行い、候補点Q(0)の開始ノードのインデックス:0をroad_idx、道路ノード列P(0)-P(2)の先頭ノードP(0)から候補点Qまでの距離:0をdistとする。ステップST32として、リンク角度算出部42は、リンク(P(0),P(1))の角度θ=90°を算出する。ステップST33として、文字配置位置算出部43は、road_idx=0番目のノードからθ=90°の方向にdist=0離れた位置LD(0)=(10,20)を文字列配置位置として算出する。
 ステップST34の判定処理において、文字リンク外判定部44は、LD(0)がリンク(P(0),P(1))上に存在すると判定する。ステップST35として、文字配置部45は、文字列「String11」の0番目の文字「S」の配置位置を決定する。まずLD(0)を文字「S」の左下座標に設定し、次にLT(0)=(0,20)を文字「S」の左上座標に設定する。その後、RD(0)=(10,25)を文字「S」の右下座標に設定する。最後にRT(0)=(0,25)を文字「S」の右上座標に設定する。文字「S」の外接矩形の配置を図10に示す。ステップST36として、重なり判定部46がステップST35で配置した文字「S」と前回配置した文字の重なりを判定するが、この例では前回配置した文字が存在しないことから、重なりは無いと判定する。
 ステップST37として第1のパラメータ更新部47は、distに0番目の横幅「5」を付加してdist=0+5=5とし、char_idxに「1」を付加してchar_idx=0+1=1とする。ステップST38として、第1のパラメータ更新部47は、文字列を構成する全ての文字の配置位置を求めていないと判定するため、ステップST39として文字配置位置算出部43に更新後のパラメータに基づいて、再度配置位置の算出を指示し、ステップST33の処理に戻る。
 ステップST39の指示を受けた文字配置位置算出部43は、2文字目「t」の文字配置位置を算出する。算出は、ステップST37で更新したdist=5、およびchar_idx=1に基づいて行われる。ステップST33として文字配置位置算出部43は、位置LD(1)=(10,25)を文字列配置位置として算出する。さらにステップST34からステップST36の処理を行い、LD(1)はリンク(P(0),P(1))上に存在し、2文字目「t」の左下座標、左上座標、右下座標、右上座標は、それぞれLD(1)=(10,25)、LT(1)=(0,25)、RD(1)=(10,30)、RT(1)=(0,30)となる。2文字目「t」の外接矩形の配置を図11に示す。ステップST36において、1文字目に配置した文字と、2文字目に配置した文字が重なっていると判定されるため、ステップST40として重なり判定部46がdistにSTEP_SIZE=1を加算し、ステップST41として加算後のパラメータに基づいて再度2文字目「t」の文字配置位置を算出するように文字配置位置算出部43に指示する。
 再度ステップST33からステップST36の処理を繰り返し、2文字目「t」の文字配置位置を算出する。算出は、ステップST40で加算されたdist=6、およびchar_idx=1に基づいて行われる。図12に、上述した処理を繰り返し2文字目LD(1)から6文字目LD(5)までを配置した結果を示している。なお、図12では、各文字の左下座標のみを記載している。
 6文字目を配置した後、文字配置位置算出部43は文字列「String11」の7文字目「1」の配置位置を算出する。この時、dist=35、cand_idx=6、road_idx=0であるため、road_idx番目のノードからθの方向にdist離れた位置は、LD(6)=(10,55)となる。ステップST34として、文字リンク外判定部44は配置位置(10,55)がリンク(P(0),P(1))外であると判定し、ステップST42として第2のパラメータ更新部48がパラメータの更新を行う。具体的には、0番目のノードと1番目のノードを繋ぐリンクの長さは「30」であるため、dist=35-30=5に更新され、road_idx=0+1=1となる。その後ステップST43として、第2のパラメータ更新部48により更新されたパラメータに基づいて、再度配置位置の算出を指示し、ステップST32の処理に戻る。
 ステップST32として、リンク角度算出部42は更新されたパラメータに基づいて、リンク(P(1),P(2))の角度θ=0°を算出する。以降、上記と同様の処理を行い、7文字目および8文字目の配置を行い、ステップST38の判定処理において、全ての文字の配置位置を求めたと判定され、処理を終了する。全ての文字を配置した結果を図13に示している。図13においても、各文字の左下座標のみを記載している。
 次に、配置した文字列が可読性に与える影響を示す評価関数値を算出する方法について説明する。図14は、実施の形態1による文字列配置装置の評価関数算出部の動作を示すフローチャートである。
 まず、文字間隔関数算出部51は、既に配置が決定した文字列(0番目からstring_idx-1番目の文字列)と、string_idx(n)番目の文字列との文字間隔を示す関数である文字間隔関数値P(Sstring_idx|{Sstring_idx-1})を算出する。具体的には、文字間隔関数算出部51の初期文字列判定部54が、string_idx=0、またはstring_idx≧1であるか判定を行う(ステップST51)。ステップST51においてstring_idx=0であると判定した場合、文字間隔関数値P(Sstring_idx|{Sstring_idx-1})に「1」を設定し(ステップST52)、道路角度関数算出部52の処理に進む。
 一方、ステップT51においてstring_idx≧1以上であると判定した場合、文字間隔関数更新部56が以下の式(7)に基づいて文字間隔関数値P(Sstring_idx|{Sstring_idx-1})算出を行い(ステップST53)、道路角度関数算出部52の処理に進む。
Figure JPOXMLDOC01-appb-I000004
 上記式(7)において、Cstring_idx、Cstring_idx2は、それぞれstring_idx番目、string_idx2番目の文字列の文字数を示している。また、式(7)におけるxchar_idx、xchar_idx2はそれぞれ、char_idx番目、char_idx2番目の文字の中心座標を示す。
 なお、上記式(7)中のN´(xchar_idx|xchar_idx2)は、第1のガウス関数出部55により以下の式(8)に基づいて算出される。
Figure JPOXMLDOC01-appb-I000005
 上記式(8)において、xchar_idx、xchar_idx2はそれぞれ、char_idx番目、char_idx2番目の文字の中心座標を示し、SCは定数、H-1は共分散行列を示している。
 道路角度関数更新部58は、以下の式(9)に基づいて道路角度関数値P(Rstring_idx|Sstring_idx)を算出する(ステップST54)。
Figure JPOXMLDOC01-appb-I000006
 上記式(9)中のNostring_idxは、string_idx番目の文字列が沿う道路ノード列のノード数、μroad_idxは道路ノード列中のroad_idx番目のノードの座標を示す。
 なお、上記式(9)中のN(xchar_idxroad_idx)は、第2のガウス関数値算出部57により以下の式(10)に基づいて算出される。
Figure JPOXMLDOC01-appb-I000007
 上記式(10)において、xchar_idx、μroad_idxは位置座標を示すベクトルであり、xchar_idxはchar_idx番目の文字の中心、μroad_idxはroad_idx番目の道路ノードを示す。また、Tは転置を示し、Σ-1はΣの逆行列を示す。なお、上記式(10)におけるAngle(road_idx)は、road_idx-1番目のノードとroad_idx番目のノードを繋ぐリンクと、road_idx+1番目のノードとroad_idx番目のノードを繋ぐリンクの角度変化を示す。Angle(road_idx)の算出例を図15に示す。図15におけるR(road_idx)は、road_idx番目の道路ノードを示す。図15に示すように、2つのリンクの角度変化が、リンクの角度変化となる。
 評価関数値算出部53は、ステップST52またはステップST53で算出された文字間隔関数値P(Sstring_idx|{Sstring_idx-1})、およびステップST54で算出された道路角度関数値P(Rstring_idx|Sstring_idx)を用いて、以下の式(11)に基づいて評価関数値Fを算出する(ステップST55)。
Figure JPOXMLDOC01-appb-I000008
 算出した評価関数値Fは、最小評価関数値保存部6に出力され(ステップST56)、処理を終了する。
 次に、図14で示したフローチャートに沿って、図13で示した具体例を用いて説明を行う。
 ステップST51として、初期文字列判定部54はstring_idx=0、あるいはstring_idx≧1以上であるか判定を行う。まず、初回の判定であることから、ここではstring_idx=0となり、ステップST52として文字間隔関数値P(Sstring_idx|{Sstring_idx-1})に「1」を設定する。
 続いて、ステップST54として、道路角度関数更新部58は上記式(9)に基づいてP(Rstring_idx|Sstring_idx)の値を、2.36036×10-85と算出する。その後、道路角度関数更新部58はchar_idxおよびroad_idxを更新してステップST54の処理を繰り返し、最終的にP(Rstring_idx|Sstring_idx)=0.000777442との値を得る。
 ステップST55として、評価関数値算出部53は、ステップST52で算出した文字間隔関数値P(Sstring_idx|{Sstring_idx-1})=1、およびステップST54で最終的に得た道路角度関数値P(Rstring_idx|Sstring_idx)=0.000777442に基づいて、上述した式(11)に基づいて評価関数値の算出を行い、評価関数値F=log0.000777442+log1=-3.109331764を得る。ステップST56として、算出した評価関数値Fを最小評価関数値保存部6に出力する。最小評価関数値保存部6は、算出された評価関数値Fがmin_cost未満であると判定し、min_costの値にF=-3.109331764を設定して最小評価関数値データ記憶部7に格納すると共に、0番目の文字列の文字列開始点にQ(0)を設定して文字列配置開始点データ記憶部9に格納し、図13で示した文字列配置を文字列配置データ記憶部8に格納し、処理を終了する。
 その後、上述した処理を繰り返し、文字列配置部4において、1番目の候補点Q(1)から0番目の文字列を配置する。この場合の配置例を図16に示す。評価関数値算出部53は、図16に示した配置例について評価関数値Fを算出する。この例では、評価関数値F=-19.48284883となり、当該評価関数値Fを最小評価関数値保存部6に出力する。最小評価関数値保存部6は、評価関数値Fがmini_cost未満であることから、mini_costの値を-19.48284883に更新し、文字列開始点にQ(1)を設定し、図16で示した文字列配置を文字列データ記憶部7に格納し、処理を終了する。
 さらに、同様の処理を繰り返し、2番目の候補点Q(2)から文字列を配置する。この場合、7文字目までは図17に示すように配置される。その後、文字列配置部4の文字配置位置算出部43において、8文字目の文字の配置位置を算出する。ここでのdist=101、road_idx=1である。そのため、road_idx番目のノードP(1)から、road_idx番目のノードとroad_idx+1番目のノードを繋ぐリンクに沿ってdist離れた位置LD(7)を求める。計算の結果、LD(7)=(101,50)となる。
 その後、文字リンク外判定部44にて、LD(7)がリンク外か否かを判定する。LD(7)はリンク外であるため、第2のパラメータ更新部48にてdistを更新する。この場合、dist=1に更新される。その後、8文字目を配置するリンクは存在しないため、処理を終了する。即ち、候補点Q(2)から文字列「String11」を配置することは不可能であるため、評価関数の算出は行わない。このように、0番目の文字列の文字列配置開始点を決定する。この場合、文字列「String11」の0番目の文字列の文字列配置開始点はQ(1)となる。また、Q(1)から道路ノード列に沿って配置した文字列配置(図16参照)は、1番目以降の文字列の文字列配置開始点の最適化に用いる。
 0番目の文字列「String11」の文字列配置点が決定されると、次に1番目の文字列である「String2」に対しても同様の処理を行う。まず、候補点作成部3において1番目の文字列が沿う道路リンク上に候補点を作成する。この場合、図18に示すように、3つの候補点Q(3)、Q(4)、Q(5)が作成される。続いて文字列配置部4が候補点Q(3)から1番目の文字列を配置する(図19参照)。その後、評価関数算出部5において評価関数値Fの算出を行う。
 具体的には、ステップST51として、初期文字列判定部54はstring_idx=1と判定し、ステップST53として文字間隔関数更新部56は上記式(7)に基づいて、文字間隔関数値P(Sstring_idx|{Sstring_idx-1})の値を、5.1×10-264と算出する。その後、文字間隔関数更新部56の処理を繰り返して、文字間隔関数値P(Sstring_idx|{Sstring_idx-1})を更新し、最終的にP(Sstring_idx|{Sstring_idx-1})=0.040705との値を得る。
 続いて、ステップST54として、道路角度関数更新部58はP(Rstring_idx|Sstring_idx)の値を、1.96618×10-53と算出する。ステップST55として、評価関数値算出部53は、文字間隔関数値P(Sstring_idx|{Sstring_idx-1})=0.040705、および道路角度関数値P(Rstring_idx|Sstring_idx)=1.96618×10-53に基づいて、上述した式(11)に基づいて評価関数値Fの算出を行う。この場合、F=log1.96618×10-53+log0.040705=-52.7063767-1.3936=-54.0999767となる。ステップST56として、算出した評価関数値Fを最小評価関数値保存部6に出力する。
 その後、最小評価関数値保存部6は、算出された評価関数値Fがmin_cost未満であると判定し、min_cost=-54.0999767、1番目の文字列の文字列配置開始点はQ(3)と設定して最小評価関数値データ記憶部7および文字列配置開始点データ記憶部9に格納すると共に、図19に示した文字列配置を文字列配置データ記憶部8に格納する。
 その後、同様に文字列配置部4において、候補点Q(4)から1番目の文字列「String2」を配置する(図20参照)。文字間隔関数算出部51は文字間隔関数値P(Sstring_idx|{Sstring_idx-1})=2.7947×10-166と算出する。その後、道路角度関数算出部52において道路角度関数値P(Rstring_idx|Sstring_idx)=0.002850205と算出する。評価関数値算出部53は、これらの値を用いて上述した式(11)に基づいて評価関数値Fを算出する。この場合F=log2.7947×10-166+log0.002850205=-165.55367-2.244093909=-167.7977639となる。最小評価関数値保存部6は、算出された評価関数値Fがmin_cost未満であると判定し、min_cost=-167.7977639、1番目の文字列の文字列配置開始点はQ(4)と設定する。
 同様に、文字列配置部4において、Q(5)から文字列を配置する。この場合、文字列をQ(5)から配置すると、道路リンクの長さ不足となり配置することができないため、文字列配置失敗となり処理を終了する。上述した処理により、文字列「String2」の1番目の文字列の文字列配置開始点がQ(4)に決定される。
 以上のように、この実施の形態1によれば、評価関数算出部5に、文字列同士の文字間隔が文字列の可読性に与える影響を示す関数値を算出する文字間隔関数算出部51を設けるように構成したので、文字列同士の重なり、および文字列が沿う道路の角度変化に加え、文字列同士の間隔が広くなるように、文字列の文字列配置開始点を最適位置に設定することができる。これにより、文字列同士の間隔が広がり、文字列の密集を抑制し、文字列の視認性を向上させることができる。
 また、この実施の形態1によれば、文字間隔関数値を算出する際にガウス関数値を算出する第1のガウス関数値算出部55を備えるように構成したので、道路ノードと既に配置した文字の中心座標にガウス分布を配置し、文字列同士の間隔が広くなるように、文字列配置開始点を最適位置に変更することができる。
 なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
 この発明に係る文字列配置装置は、表示装置などにおける視認性向上に利用することができると共に、ユーザの視認性を向上させたナビゲーション装置への適用などにも活用することができる。
 1 文字列データ記憶部、2 文字列データ取得部、3 候補点作成部、4 文字列配置部、5 評価関数算出部、6 最小評価関数値保存部、7 最小評価関数値データ記憶部、8 文字列配置データ記憶部、9 文字列配置開始点データ記憶部、31 第1のリンク長算出部、32 リンク全長更新部、33 候補点間隔算出部、34 作成部、35 第2のリンク長算出部、36 距離更新部、37 情報記憶部、41 初期文字位置決定部、42 リンク角度算出部、43 文字配置位置算出部、44 文字リンク外判定部、45 文字配置部、46 重なり判定部、47 第1のパラメータ更新部、48 第2のパラメータ更新部、51 文字間隔関数算出部、52 道路角度関数算出部、53 評価関数値算出部、54 初期文字列判定部、55 第1のガウス関数値算出部、56 文字間隔関数更新部、57 第2のガウス関数値算出部、58 道路角度関数更新部、100 文字列配置装置。

Claims (6)

  1.  配置対象である文字列に関する文字列データおよび当該文字列を配置する道路ノード列に関する道路ノード列データを取得するデータ取得部と、
     前記データ取得部が取得した文字列データおよび道路ノード列データに基づいて、前記道路ノード列上に前記文字列を配置するための複数の候補点を作成する候補点作成部と、
     前記候補点作成部が作成した複数の候補点から前記文字列を配置する文字列配置部と、
     前記文字列配置部による文字列の配置に対する評価を示す評価関数値を算出する評価関数算出部と、
     前記評価関数算出部が算出した評価関数値のうち、最小値である最小評価関数値と、当該最小評価関数値における文字列配置および文字列配置開始点を記憶させる最小評価関数値保存部とを備え、
     前記評価関数算出部は、
     前記文字列配置部が複数の候補点から配置した複数の文字列間の文字間隔に対する評価を示す文字間隔関数値を算出する文字間隔関数算出部と、
     前記文字列配置部が配置した文字列が沿う道路ノード列の角度に対する評価を示す道路角度関数値を算出する道路角度関数算出部と、
     前記文字間隔関数算出部が算出した文字間隔関数値、および前記道路角度関数算出部が算出した道路角度関数値に基づいて前記評価関数値を算出する評価関数値算出部とを備えた文字列配置装置。
  2.  前記候補点作成部は、
     前記道路ノード列における所定の道路ノード間を繋ぐリンクの長さを算出する第1のリンク長算出部と、
     前記第1のリンク長算出部が算出した道路ノード間を繋ぐリンクの長さを加算して更新し、前記道路ノード列の全長を算出するリンク全長更新部と、
     前記リンク全長更新部が算出した前記道路ノード列の全長、および予め設定された前記候補点作成部が作成する候補点数に基づいて、候補点作成間隔を算出する候補点間隔算出部と、
     前記道路ノード列上に、前記候補点間隔算出部が算出した候補点作成間隔で複数の候補点を作成する作成部とを備えたことを特徴とする請求項1記載の文字列配置装置。
  3.  前記文字列配置部は、
     前記文字列の先頭の文字の配置位置を決定する初期文字位置決定部と、
     前記初期文字位置決定部が決定した先頭の文字の配置位置により決定される、前記文字列を配置する所定の道路ノード間を繋ぐリンクの角度を算出するリンク角度算出部と、
     前記初期文字位置決定部が決定した先頭の文字の配置位置、および前記リンク角度算出部が算出したリンクの角度に基づいて、前記文字列を構成する各文字の配置位置を算出する文字配置位置算出部と、
     前記文字配置位置算出部が算出した前記各文字の配置位置が前記リンク上に存在するか判定を行う文字リンク外判定部と、
     前記文字リンク外判定部において、前記各文字の配置位置が前記リンク上に存在すると判定された場合に、前記各文字の配置位置に基づいて配置座標を設定し、設定した配置座標に前記各文字を配置する文字配置部とを備えたことを特徴とする請求項1記載の文字列配置装置。
  4.  前記文字列配置部は、
     前記文字配置部が前記各文字を配置した配置座標が、前回設定した文字の配置座標に重なるか判定を行う重なり判定部と、
     前記重なり判定部において、前記配置座標が前回設定した文字の配置座標に重なると判定された場合に、前記初期文字位置決定部が決定したパラメータに所定定数を加算して更新するパラメータ更新部とを備えたことを特徴とする請求項3記載の文字列配置装置。
  5.  前記文字間隔関数算出部は、
     前記文字列配置部が配置した複数の文字列のうち、初めに配置した文字列であるか判定を行う初期文字列判定部と、
     前記初期文字列判定部において、初めに配置した文字列でないと判定された文字列について、その他の文字列との文字間隔を示すガウス関数値を算出する第1のガウス関数値算出部と、
     前記第1のガウス関数値算出部が算出したガウス関数値を用いて、前記文字列間隔関数値を更新する文字間隔関数更新部とを備えたことを特徴とする請求項1記載の文字列配置装置。
  6.  前記道路角度関数算出部は、
     前記文字列と当該文字列を配置する道路ノード列との関係を示すガウス関数値を算出する第2のガウス関数値算出部と、
     前記第2のガウス関数値算出部が算出したガウス関数値を用いて、前記道路角度関数値を更新する道路角度関数更新部とを備えたことを特徴とする請求項1記載の文字列配置装置。
PCT/JP2011/004583 2011-08-15 2011-08-15 文字列配置装置 WO2013024505A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/129,800 US9418461B2 (en) 2011-08-15 2011-08-15 Character string placement device
PCT/JP2011/004583 WO2013024505A1 (ja) 2011-08-15 2011-08-15 文字列配置装置
CN201180072853.0A CN103765492B (zh) 2011-08-15 2011-08-15 字符串配置装置
JP2013528842A JP5748856B2 (ja) 2011-08-15 2011-08-15 文字列配置装置
DE112011105528.5T DE112011105528T5 (de) 2011-08-15 2011-08-15 Zeichenkettenanordnungsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/004583 WO2013024505A1 (ja) 2011-08-15 2011-08-15 文字列配置装置

Publications (1)

Publication Number Publication Date
WO2013024505A1 true WO2013024505A1 (ja) 2013-02-21

Family

ID=47714851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/004583 WO2013024505A1 (ja) 2011-08-15 2011-08-15 文字列配置装置

Country Status (5)

Country Link
US (1) US9418461B2 (ja)
JP (1) JP5748856B2 (ja)
CN (1) CN103765492B (ja)
DE (1) DE112011105528T5 (ja)
WO (1) WO2013024505A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9082339B2 (en) * 2011-11-04 2015-07-14 Facebook, Inc. Rendering texts on electronic devices
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9111380B2 (en) * 2012-06-05 2015-08-18 Apple Inc. Rendering maps
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US20190087993A1 (en) * 2016-04-26 2019-03-21 Aisin Aw Co., Ltd. Map display system and map display program
US10726598B2 (en) * 2016-05-19 2020-07-28 Toyota Jidosha Kabushiki Kaisha Map display system and map display program
CN109427237B (zh) * 2017-09-04 2022-02-22 阿里巴巴(中国)有限公司 一种道路文字标注位置确定方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036503A1 (ja) * 2003-10-09 2005-04-21 Navitime Japan Co., Ltd. 地図表示装置、地図表示方法および地図表示プログラム
JP2007156101A (ja) * 2005-12-05 2007-06-21 Navitime Japan Co Ltd 地図表示システム、地図表示装置および地図表示方法
JP2009025048A (ja) * 2007-07-17 2009-02-05 Denso Corp 車両用ナビゲーション装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580742A (ja) 1991-09-25 1993-04-02 Hitachi Ltd 文字データ処理方式
JP3568621B2 (ja) * 1995-04-20 2004-09-22 株式会社日立製作所 地図表示装置
JPH09146529A (ja) 1995-09-25 1997-06-06 Hitachi Ltd 文字の表示方法および画像表示装置
JP3604492B2 (ja) 1996-03-01 2004-12-22 株式会社ザナヴィ・インフォマティクス 地図表示装置
JP2004246357A (ja) 1996-09-30 2004-09-02 Aisin Aw Co Ltd 地図表示装置
JPH09127925A (ja) * 1996-10-03 1997-05-16 Casio Comput Co Ltd 文字列出力装置
JP3783487B2 (ja) * 1999-10-13 2006-06-07 アイシン・エィ・ダブリュ株式会社 情報検索装置
JP2002007104A (ja) * 2000-06-22 2002-01-11 Mitsubishi Electric Corp 文字データ圧縮表示装置
DE10036817A1 (de) * 2000-07-28 2002-02-14 Bosch Gmbh Robert Verfahren zur Routenberechnung
KR100688018B1 (ko) * 2005-02-16 2007-02-27 엘지전자 주식회사 도로 명 데이터의 표시위치 결정방법
JP4891636B2 (ja) * 2006-03-14 2012-03-07 オリンパスメディカルシステムズ株式会社 画像解析装置
AU2009251043A1 (en) * 2009-01-07 2010-07-22 The University Of Sydney A method and system of data modelling
US20100198823A1 (en) * 2009-02-05 2010-08-05 Tsoukalas Kathleen J Systems and methods to automatically generate enhanced information associated with a selected web table

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036503A1 (ja) * 2003-10-09 2005-04-21 Navitime Japan Co., Ltd. 地図表示装置、地図表示方法および地図表示プログラム
JP2007156101A (ja) * 2005-12-05 2007-06-21 Navitime Japan Co Ltd 地図表示システム、地図表示装置および地図表示方法
JP2009025048A (ja) * 2007-07-17 2009-02-05 Denso Corp 車両用ナビゲーション装置

Also Published As

Publication number Publication date
JPWO2013024505A1 (ja) 2015-03-05
JP5748856B2 (ja) 2015-07-15
CN103765492B (zh) 2016-01-27
US20140152670A1 (en) 2014-06-05
US9418461B2 (en) 2016-08-16
CN103765492A (zh) 2014-04-30
DE112011105528T5 (de) 2014-05-08

Similar Documents

Publication Publication Date Title
WO2013024505A1 (ja) 文字列配置装置
US11112253B2 (en) Navigation apparatus and mapping system using personal contacts
US6952661B2 (en) System and method for abstracting and visualizing a rout map
US20180128636A1 (en) Linear Visualization of a Driving Route
US20130057550A1 (en) Three-dimensional map drawing system
CN102063833A (zh) 一种地图点图层符号和注记同步显示的绘制方法
CN102620738A (zh) 交互式地理特征
CN107220372A (zh) 一种三维地图线要素注记自动放置方法
JP4960119B2 (ja) ポイント基盤のレンダリング装置及び方法
KR20170080315A (ko) 건물 객체에 대한 다축척 모델 기반의 지도 처리 방법
US20070250265A1 (en) Information generating apparatus, recording medium where information generating program is recorded, and information generating method
Nöllenburg Automated drawing of metro maps
JP6022386B2 (ja) 3次元地図表示装置、3次元地図表示方法、および、コンピュータプログラム
JP2001307121A (ja) 地図情報修正装置および地図情報修正方法
JP2009300405A (ja) 地図データ更新装置、地図データ更新方法、地図データ更新プログラム、および記録媒体
JP2012221491A (ja) 3次元ルーフ構造を出力するナビゲーションデバイスおよび方法、並びにデータベースを生成する方法
JP2007212836A (ja) 情報取得装置、情報表示装置及び情報取得方法等
JP6989641B2 (ja) 更新地図配信装置、及びナビゲーション装置
JP2004271953A (ja) 地図データの構造および地図データ処理装置
US20160239995A1 (en) 3d map display system
JP5893136B2 (ja) 文字列配置描画装置
Nickel et al. Drawing k-linear metro maps
JP4642333B2 (ja) 車載情報端末、要約地図作成装置、要約地図表示方法
JP5460031B2 (ja) デフォルメ地図生成装置
EP3719755A1 (en) Generating surface approximations using curvature integrals for surface visualization rendering

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11870870

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013528842

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14129800

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112011105528

Country of ref document: DE

Ref document number: 1120111055285

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11870870

Country of ref document: EP

Kind code of ref document: A1