The present invention relates to an apparatus and method for generating proportional characters, which have different character widths, as image data, and an image display apparatus and method for displaying proportional characters.
An image generating method for displaying characters with varying character widths is disclosed in the following patent document. In the image generating method disclosed in this Patent Document 1, for each character, the width of a space to be inserted before the next character is specified, whereby characters are displayed with equal spaces between them (uniform character spacing).
Patent Document 1: Japanese Patent Application Publication No. 2003-208148 (p. 5, FIG. 3)
The conventional image generating method disclosed in the above patent document leads to a problem of reduced readability because, as it specifies the width of a space to be inserted after each character so as to provide uniform character spacing, it widens the spaces between characters and cannot produce a uniform narrow spacing.
The present invention addresses this problem, with the object of generating proportional characters as image data according to character width data specified for each character, thereby making it possible to display more readable proportional characters without undesirably wide spaces between them.
The present invention provides an image generating apparatus comprising: a character control code storage means for storing a character control code for each character display position, the character control code including a character code and character width data associated with the character code; a positional control means for reading the character control code for the current character display position from the character control code storage means and controlling an occurrence period of the current character display position based on the character width data in the character control code that was read and a preceding character display position; a character pattern storage means for outputting a character pattern corresponding to the character code in the character control code that was read; and an image outputting means for outputting image data representing a character shape based on the character pattern.
The present invention enables the pixel width of each character position to be changed by controlling the pixel width of the displayed character and further enables proportional characters to be displayed with pixel widths varying from character to character by appropriately combining specified character codes and character width data.
1 image generator, 2 image combiner, 3 display unit, 4 positional control unit, 5 character control code storage unit, 6 character pattern storage unit, 7 color data storage unit, 8 data output unit, 9 standard position data generator, 10 positional control unit
The widths of all the RADIO characters in
The general operation will be described first.
In
In
In accordance with the input horizontal synchronizing signal HIN, the input vertical synchronizing signal VIN, the character control code CTD input from the character control code storage unit 5, and a pixel clock CLK, the positional control unit 4 outputs a character display position P (XP, YP), which indicates the display position of a character, and an intra-character horizontal pixel position XQ and an intra-row line position YQ, which indicate the position of a pixel in the character display position P (XP, YP).
The character display position P (XP, YP) is input to the character control code storage unit 5. The intra-character horizontal pixel position XQ and the intra-row line position YQ are input to the data output unit 8.
The character control code storage unit 5 stores character control codes indicating characters to be displayed on the screen and outputs a corresponding character control code CTD according to the input character display position P (the character display position P is given as an address, and the character control code CTD stored in the storage location specified by the address is read out). The character control code CTD is output to the positional control unit 4, character pattern storage unit 6, and data output unit 8.
The character pattern storage unit 6 outputs a character pattern PAT according to the input character control code CTD. The character pattern PAT is input to the data output unit 8.
The data output unit 8 generates a color code CLC for each pixel according to the input character pattern PAT, character control code CTD, intra-character horizontal pixel position XQ, and intra-row line position YQ, and outputs the color code to the color data storage unit 7.
The color data storage unit 7 reads color data CLD according to the input color code CLC and outputs the data to the data output unit 8.
The data output unit 8 outputs image data DCH (hereinafter referred to as character image data DCH) representing the character shape according to the input color data CLD and also outputs a combination control signal CNT according to the character pattern PAT and character control code CTD. The character image data DCH and combination control signal CNT are input to the image combiner 2 (see
The image combiner 2 combines the input image data DIN and character image data DCH according to the combination control signal CNT and outputs combined image data DP. The combined image data DP are input to the display unit 3. The display unit 3 displays an image according to the combined image data DP.
The operation of each unit described above will now be described in further detail.
Next the operation of the character control code storage unit 5 will be described.
The character control code CTD includes, for example, a character code CC, character width data CW, and character attribute information CA as shown in
The character code CC is a code representing the character, such as CC=1 for R, CC=2 for A, CC=3 for D, CC=4 for I, and CC=5 for O.
The character width data CW indicate the pixel width of the character displayed in character position P (XP, YP); the character given by the character code CC is displayed with the pixel width specified by the corresponding character width data CW (the pixel width is also represented by the same reference character CW). In the example shown in
The character attribute information CA is information indicating how the character displayed in character position P (XP, YP) is to be displayed. The information includes, for example, the color code of the foreground color of the character, the color code of the background color of the character, and the border setting of the character.
The character code CC and the character width data CW can be specified independently of each other. However, to display proportional characters, which are displayed with equal character spacing, the character width data CW must be specified appropriately in association with the character represented by the character code CC.
The character control code CTD for a display position P (XP, YP) can be obtained from the character control code storage unit 5, as described above.
The operation of the positional control unit 4 will now be described.
The positional control unit 4 counts lines according to the input vertical synchronizing signal VIN and the input horizontal synchronizing signal HIN, and sets the row position YP=1 when the count reaches the line at which the character display is to start. Lines are then counted with reference to the first line at which YP=1 (the first line in the first row), and the row position YP is changed from YP=1 to YP=2 when the number of lines reaches sixteen. The row position YP=1 is generated over an interval of sixteen lines.
YP=2 and subsequent row positions YP are obtained in a similar way, by incrementing the row position YP by one each time an interval of sixteen lines, which is the width of each row, has been counted.
The number of lines counted from the first line of the row is generated as the intra-row line position YQ. If the dotted line in the second row (YP=2) is the tenth line counted from the beginning of the second row, its position is indicated as YQ=10.
By obtaining the vertical character position YP and the intra-row line position YQ as described above, the positional control unit 4 recognizes the position of line YQ in row YP.
In the interval starting from row position YP=1, the positional control unit 4 counts horizontal pixel positions according to the input horizontal synchronizing signal HIN and the pixel clock CLK, and sets the horizontal character position XP to 1 when the count reaches the horizontal position at which the character display is to start. The positional control unit 4 outputs the character position P (XP, YP)=(1, 1) given by the row position YP=1 and horizontal character position XP=1. The character position P=(1, 1) is input to the character control code storage unit 5. The character control code CTD for character position P=(1, 1) is output from the character control code storage unit 5 and input to the positional control unit 4. According to the character width data CW=8 in the character control code CTD for character position P=(1, 1), the positional control unit 4 counts eight pixel clock cycles and generates the horizontal character position XP=1 over a period of eight pixels. Accordingly, the character position P (XP, YP)=(1, 1) is also generated for a period of eight pixels.
The positional control unit 4 then changes the horizontal character position XP from XP=1 to XP=2 and outputs the character position P (XP, YP)=(2, 1). The positional control unit 4 reads the character control code CTD for character position P=(2, 1) from the character control code storage unit 5 and obtains the character width data CW=8 for character position P=(2, 1). In accordance with the obtained character width data CW=8, the positional control unit 4 counts eight pixel clock cycles and generates the horizontal character position XP=2 for an eight-pixel period. Accordingly, the character position P (XP, YP)=(2, 1) is also generated for an eight-pixel period.
Subsequently, the positional control unit 4 repeats the same operation: after incrementing the horizontal character position XP by one, the positional control unit 4 obtains the character width data CW for character position P (XP, YP) from the character control code storage unit 5 and generates the character position P (XP, YP) for a period equivalent to the number of pixels indicated by the character width data CW.
By this operation, the character position P=(3, 1) is generated for an eight-pixel period according to the character width data CW=8 for character position P=(3, 1). Similarly, character position P (4, 1) is generated for a period of three pixels according to the character width data CW=3 for character position P=(4, 1), and character position P=(5, 1) is generated for a period of eight pixels according to the character width data CW=8 for character position P=(5, 1).
In that way, the positional control unit 4 can cause a character position P (XP, YP) to last for an interval matching the character width data CW stored in the character control code storage unit 5 for the corresponding character position P (XP, YP). In other words, the signal indicating each character position P (XP, YP) can be generated according to the character width data CW specified for character position P (XP, YP).
In addition, the positional control unit 4 generates an intra-character pixel position XP indicating horizontal pixel position referenced to the position where the horizontal character position XP changes. For example, in
In other words, the positional control unit 4 can obtain a horizontal character position XP and an intra-character pixel position XQ indicating horizontal pixel position in the horizontal character position XP, and can recognize which pixel of which character corresponds to a given position in the image.
Since the operations described above are carried out in the horizontal and vertical directions, the positional control unit 4 can obtain the character position P (XP, YP), and the intra-character pixel position XQ and intra-row line position YQ indicating horizontal and vertical pixel positions in the character position P (XP, YP).
The character position P (XP, YP) output from the positional control unit 4 is input to the character control code storage unit 5, and the intra-character pixel position XQ and the intra-row line position YQ are input to the data output unit 8.
The operation of the character pattern storage unit 6 will now be described.
The character pattern storage unit 6 receives the character code CC included in the character control code CTD output from the character control code storage unit 5.
As shown in
The character pattern PAT is left-justified within the size of the character pattern, as described above.
As the example of the character pattern I shows, the size of the character pattern is fixed irrespective of the character width data CW. Accordingly, the storage address of the character pattern can be calculated by simple multiplication of the size of the character pattern and the character code.
The character pattern storage unit 6 generates the character pattern PAT corresponding to the character code CC and outputs it to the data output unit 8.
The operation of the color data storage unit 7 will now be described.
The color data storage unit 7 outputs the three-color (RGB) color data CLD corresponding to the color code CLC.
The operation of the data output unit 8 will now be described.
The data output unit 8 receives the intra-character pixel position XQ and the intra-row line position YQ output from the positional control unit 4, the color control code CTD output from the character control code storage unit 5, and the character pattern PAT output from the character pattern storage unit 6.
The color code CLC is output as follows: for a pixel in the foreground part of the character, a foreground color code specified in the character attribute information included in the character control code CTD is output; for a pixel in the border part of the character, a border color code specified in the character attribute information is output; for a pixel in the background part, excluding the border part, a background color code specified in the character attribute information is output.
The data output unit 8 outputs the color codes CLC corresponding to the foreground part, background part, and border part, according to the character pattern PAT and the character control code CTD.
The data output unit 8 reads and obtains the color data CLD, corresponding to the output color code CLC, from the color data storage unit 7, and outputs the obtained color data CLD as character image data DCH. If a particular color code such as CLC=256 is specified beforehand as a transparent color, a combination control signal CNT indicating that the corresponding image data is in the transparent color is output for pixels having the color code CLC=256, irrespective of the value read as the color data CLD(256). For example, the combination control signal CNT may be set to ‘0’ to indicate the transparent color and set to ‘1’ to indicate a non-transparent color.
In accordance with the character control code specified for each character position P (XP, YP), the image generator 1 can change the pixel width of each character position and can output proportional characters having different pixel widths as image data by combining the character codes and the character width data appropriately.
The image data DCH and the combination control signal CNT output from the data output unit 8 are input to the image combiner 2.
Next the operation of the image combiner 2 will be described.
The image combiner 2 receives the input image data DIN and the character image data DCH and combination control signal CNT output from the image generator 1.
In the character image data DCH shown in
The combination control signal CNT shown in
As shown in
As described above, the image combiner 2 can overlay text given by the character image data DCH on the input image DIN according to the combination control signal CNT.
The combined image data DP are input to the display unit 3, and the display unit 3 displays an image according to the combined image data DP.
The image display apparatus of the first embodiment can change the pixel width in each character position by specifying the character code and the character width data in each character position and controlling the pixel width of the character to be displayed according to the character width data specified in each character position and can also display proportional characters having different pixel widths by combining the specified character code and the character width data appropriately.
The character pattern PAT in the example described above has two pixel values, one indicating the foreground part and one indicating background part of the character, but the character pattern may have three or more values. In that case, three or more colors can be used in the area of one character, making it possible to provide a higher-grade character display by displaying, say, multicolored characters or characters with smooth edges.
Instead of having a transparent color assigned to a particular color code as in the example described above, a transmittance value may be assigned to each color code. In that case, the image combiner 2 can display translucent characters by taking a weighted average value of the input image data DIN and the character image data DCH from the image generator 1, using weights corresponding to the transmittance.
First the general operation of the image generator 1 will be described.
The input horizontal synchronizing signal HIN and the input vertical synchronizing signal VIN are input to the standard position data generator 9 and the positional control unit 10. The standard position data generator 9 generates standard horizontal character positions XF indicating the horizontal positions of fixed-width characters (obtained as the product of the number of characters generated in the same horizontal row and a fixed pixel width) according to the input synchronizing signal HIN and outputs these standard positions to the positional control unit 10. The positional control unit 10 outputs character positions P (XP, YP), intra-character pixel positions XQ, intra-row line positions YQ, and a blank signal BLK indicating a space between characters, according to the input horizontal synchronizing signal HIN, the input vertical synchronizing signal VIN, the standard horizontal character positions XF, and character control codes CTD input from the character control code storage unit 5. The character positions P (XP, YP) are input to the character control code storage unit 5, and the intra-character pixel positions XQ, intra-row line positions YQ, and blank signal BLK are input to the data output unit 8.
The character control code storage unit 5 outputs character control codes CTD corresponding to the input character positions P (XP, YP). The character control codes CTD are input to the positional control unit 4, character pattern storage unit 6, and data output unit 8.
The character pattern storage unit 6 outputs character patterns PAT corresponding to the character codes CC in the input character control codes CTD. The character patterns PAT are input to the data output unit 8.
The data output unit 8 generates a color code CLC for each pixel according to the input character pattern PAT, character control code CTD, intra-character horizontal pixel position XP, and intra-row line position YP, and outputs the code to the color data storage unit 7.
In accordance with the input color code CLC, the color data storage unit 7 outputs the corresponding color data CLD to the data output unit 8.
The data output unit 8 outputs image data DCH representing the character shape (and thus referred to as character image data DCH) according to the input color data CLD, and also outputs a combination control signal CNT according to the character pattern PAT and character control code CTD.
The operation of each unit will now be described in further detail.
The operation of the character control code storage unit 5 will be described first.
The character code CC, character width data CW, and character attribute information are as described in the first embodiment with reference to
The positional reset code RST is a control code for initializing the horizontal character display position to a predetermined position (a position at which a character would be displayed if the characters were generated with a fixed pixel width).
First consider
Next suppose that the positional reset code RST=1 is assigned to the ‘C’ in
The positional reset code RST is a control code indicating whether the character position should be reset or not; more specifically, it indicates whether the character in each position P (XP, YP) is to be displayed in a fixed-width character position or aligned next to the preceding character. As will be described in further detail, the positional control unit 10 selects whether the display start position of the current character is determined with reference to the display end position of the preceding character or is set to a predetermined standard position, according to the character positional reset code RST in the character control code read from the character control code storage unit 5. For example, those of the reset codes that are associated with characters following particular characters may be codes demanding a reset; when the reset code RST is a code demanding a reset, the positional control unit 10 starts the display of the current character at a standard position specified by the data representing standard positions. The particular characters may include, for example, the space ‘ ’, colon ‘:’, and semicolon ‘;’.
The character control code storage unit 5 stores a character control code CTD including a character code CC, character width data CW, a positional reset code RST, and attribute information CA for each display position P (XP, YP) and outputs the character control code CTD for the input display position P (XP, YP).
The standard horizontal character positions XF output from the standard position data generator 9 are input to the positional control unit 10.
Next the operation of the positional control unit 10 will be described.
The vertical operation of the positional control unit 10 is the same as the vertical operation of the positional control unit 4 described in the first embodiment with reference to
The horizontal operation of the positional control unit 10 will now be described.
In the interval starting from row position YP=1, the positional control unit 10 counts horizontal pixel positions according to the input horizontal synchronizing signal HIN and the pixel clock CLK, and sets the horizontal character position XP to 1 when the count reaches the horizontal position at which the character display is to start. The positional control unit 10 outputs the character position P (XP, YP)=(1, 1), given by the row position YP=1 and the horizontal character position XP=1. The horizontal position P=(1, 1) is input to the character control code storage unit 5. The character control code CTD for character position P=(1, 1) is output from the character control code storage unit 5 and input to the positional control unit 10. The positional control unit 10 obtains the positional reset code RST=0 and character width data CW=8 from the character control code CTD for character position P (1, 1). When the positional reset code RST is 0, the positional control unit 10 sets the blank signal BLK to 0, counts eight cycles of the pixel clock CLK according to the character width data CW=8, and generates the horizontal character position XP=1 over an eight-pixel period. The character position P (XP, YP)=(1, 1) is thereby generated for an eight-pixel period.
The positional control unit 10 then changes the horizontal character position XP from XP=1 to XP=2 and outputs the character position P (XP, YP)=(2, 1). The positional control unit 10 reads the character control code CTD for character position P=(2, 1) from the character control code storage unit 5 and obtains the positional reset code RST=0 and character width data CW=8 for character position P=(2, 1). Because the positional reset code RST obtained here is again 0, the blank signal BLK is set to 0, and the horizontal character position XP=2 is generated over an eight-pixel period matching the obtained character width data CW=8. The character position P (XP, YP)=(2, 1) is thereby generated for an eight-pixel period.
The positional control unit 10 continues to perform similar operations, incrementing the horizontal character position XP by one, obtaining the character width data CW for the character position P (XP, YP) from the character control code storage unit 5, setting the blank signal BLK to 0 according to the positional reset code (RST=0), and generating the character position P (XP, YP) over the pixel period indicated by the character width data CW.
These operations generate character position P=(3, 1) for an eight-pixel period matching the character width data CW=8 specified for character position P=(3, 1). Similarly, character position P=(4, 1) is generated for a three-pixel period matching the character width data CW=3 specified for character position P=(3, 1). Character positions P=(5, 1) and P=(6, 1) are generated for periods of eight pixels, matching the character width data CW=8 specified for character positions P=(5, 1) and P=(6, 1). The blank signal BLK remains BLK=0.
Next, the positional control unit 10 changes the horizontal character position XP from XP=6 to XP=7 and outputs the character position P (XP, YP)=(7, 1). The positional control unit 10 reads the character control code CTD for character position P=(7, 1) from the character control code storage unit 5 and obtains the positional reset code RST=1 and the character width data CW=8 for character position P=(7, 1).
When the positional reset code is asserted (RST=1), the blank signal is asserted (BLK=1). At this time, the standard horizontal character position XF shown in
The positional control unit 10 does not count pixel width while the blank signal is asserted (BLK=1); instead, it starts counting the eight-pixel period corresponding to the obtained character width data CW=8 when the blank signal changes to BLK=0. The character position P=(7, 1) is generated during the five-pixel period during which the blank signal is asserted (BLK=1) and the eight-pixel period obtained by counting, that is, during a period of thirteen pixels in total.
The positional control unit 10 then changes the horizontal character position XP from XP=7 to XP=8 and outputs the character position P (XP, YP)=(8, 1).
After this, the positional control unit 10 repeats the same operation.
The positional control unit 10 generates a character position P (XP, YP) for the pixel period specified by the character width data CW stored for character position P (XP, YP) in the character control code storage unit 5, and can align this period of occurrence of the character position P (XP, YP) with a standard horizontal character position XF, responsive to the positional reset code RST. When the positional reset code is asserted (RST=1), the positional control unit 10 can also indicate a space between characters with the blank signal (BLK=1).
The positional control unit 10 also generates the intra-character pixel position XQ indicating the horizontal pixel position with reference to the position where the character display starts in the character position P (XP, YP). As shown at P (XP, YP)=(3, 1), when the positional reset code is not asserted (RST=0), the pixel position XQ is generated with reference to the position where the horizontal character position XP changes from XP=2 to XP=3. As shown at P (XP, YP)=(7, 1), when the positional reset code is asserted (RST=1), the pixel position XQ is generated with reference to the position where the blank signal BLK changes from BLK=1 to BLK=0.
The positional control unit 10 can thus obtain a horizontal character position XP, an intra-character pixel position XQ indicating horizontal pixel position in the horizontal character position XP, and a blank signal BLK generated when the positional reset code is asserted (RST=1) to indicate a space between characters, and can recognize whether a given position in an image is in a space between characters or, if that is not the case, can recognize which pixel in which character the given position represents.
The character position P (XP, YP) output from the positional control unit 10 is input to the character control code storage unit 5, and the intra-character pixel position XQ, intra-row line position YQ, and blank signal BLK are input to the data output unit 8.
The character pattern storage unit 6 and color data storage unit 7 operate as described in the first embodiment; repeated descriptions will be omitted.
The operation of the data output unit 8 will now be described.
The data output unit 8 receives the intra-character pixel position XQ, intra-row line position YQ, and blank signal BLK output from the positional control unit 10, the character control code CTD output from the character control code storage unit 5, and the character pattern PAT output from the character pattern storage unit 6.
When the blank signal BLK is asserted (BLK=1), the corresponding pixel is in a space between characters. In that case, the data output unit 8 outputs a predetermined inter-character space color code as the color code CLC.
When the blank signal BLK is not asserted (BLK=0), the data output unit 8 operates as described below.
The color code CLC is output as follows: For a pixel in the foreground part of the character, a foreground color code specified in the character attribute information included in the character control code CTD is output; for a pixel in the border part of the character, a border color code specified in the character attribute information is output; for a pixel in the background part, excluding the border part, a background color code specified in the character attribute information is output.
The data output unit 8 outputs the color codes CLC corresponding to inter-character spaces, foreground, background, and borders according to the blank signal BLK, character pattern PAT, and character control code CTD.
The data output unit 8 reads and obtains the color data CLD corresponding to the output color code CLC from the color data storage unit 7, and outputs the obtained color data CLD as character image data DCH. If a particular color code such as CLC=256 is specified beforehand as a transparent color, a combination control signal CNT indicating that the corresponding image data are in the transparent color is output for pixels having the color code CLC=256, irrespective of the value read as the color data CLD(256). For example, the combination control signal CNT may be set to ‘0’ to indicate the transparent color and set to ‘1’ to indicate a non-transparent color.
The character control code specified for each character position P (XP, YP) enables the image generator 1 to output proportional characters having different pixel widths as character image data. The color and attributes of the proportional characters can be varied in each character position P (XP, YP).
Accordingly, character positions can remain fixed on the screen even if the proportional characters displayed before them change.
In the description given above, the positional reset code associated with a character immediately following a space is set to ‘1’. The positional reset code associated with a character immediately following a colon ‘:’ or semicolon ‘;’ may also be set to ‘1’.
By specifying a character code, character width data, and a positional reset code for each character position, controlling the pixel width of the displayed character according to the character width data, and generating the character position as prescribed by the positional reset code, the image generating apparatus of the second embodiment can change the pixel width at each character position and can also display characters in prescribed positions on the screen irrespective of the preceding characters. Proportional characters having individually differing pixel widths can be generated by combining the specified character codes and the character width data appropriately.
Number | Date | Country | Kind |
---|---|---|---|
2005-194893 | Jul 2005 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2006/308195 | 4/19/2006 | WO | 00 | 12/10/2007 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/004346 | 1/11/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4115765 | Hartke | Sep 1978 | A |
4240075 | Bringol | Dec 1980 | A |
4283724 | Edwards | Aug 1981 | A |
4633433 | Miller | Dec 1986 | A |
5377319 | Kitahara et al. | Dec 1994 | A |
6593948 | Suetani et al. | Jul 2003 | B1 |
7301672 | Abe et al. | Nov 2007 | B2 |
Number | Date | Country |
---|---|---|
58-82375 | May 1983 | JP |
59-13282 | Jan 1984 | JP |
60-61269 | Apr 1985 | JP |
1-301355 | Dec 1989 | JP |
4-277821 | Oct 1992 | JP |
2003-208148 | Jul 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20090128566 A1 | May 2009 | US |