JP6036072B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP6036072B2 JP6036072B2 JP2012205332A JP2012205332A JP6036072B2 JP 6036072 B2 JP6036072 B2 JP 6036072B2 JP 2012205332 A JP2012205332 A JP 2012205332A JP 2012205332 A JP2012205332 A JP 2012205332A JP 6036072 B2 JP6036072 B2 JP 6036072B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- display
- character string
- line
- font
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 40
- 239000000872 buffer Substances 0.000 claims description 39
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical group Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 14
- 238000009877 rendering Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 101000755816 Homo sapiens Inactive rhomboid protein 1 Proteins 0.000 description 3
- 102100022420 Inactive rhomboid protein 1 Human genes 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101100501444 Escherichia phage P1 17 gene Proteins 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Description
この発明は、水平スキャンライン1本分の記憶容量を有するラインバッファを利用して画像データの描画および液晶ディスプレイなどの表示器への表示を行う画像処理装置に関する。 The present invention relates to an image processing apparatus that draws image data and displays it on a display such as a liquid crystal display using a line buffer having a storage capacity for one horizontal scan line.
周知の通り、表示器への静止画や動画の表示制御は、描画アプリケーションに従って静止画や動画の画像データをバッファに書き込む描画処理とバッファ内の画像データを読み出して表示器に表示させる表示処理とを同時並行的に進めることで実現される。このような描画処理および表示処理を行う画像処理装置としては、1フレーム分の画像データを記憶するフレームバッファを備えたフレームバッファ方式の画像処理装置と、水平スキャンライン1本分の画像データを記憶するラインバッファを備えたラインバッファ方式の画像処理装置がある。ラインバッファ方式の画像処理装置は、フレームバッファ方式の画像処理装置に比較して画像データの書き込み先となるバッファの記憶容量が少なくてすむため、小型化に適し、車載用の画像表示システム(例えば、スピードメータなどのメータ類を画像表示により実現するシステム)など省スペース化が必要となるシステムの構築に好適である。なお、ラインバッファ方式の画像処理装置に関する文献として例えば特許文献1がある。 As is well known, display control of still images and moving images on a display device includes drawing processing for writing image data of still images and moving images into a buffer according to a drawing application, and display processing for reading out image data in the buffer and displaying it on the display device. This is realized by proceeding in parallel. As an image processing apparatus for performing such drawing processing and display processing, a frame buffer type image processing apparatus having a frame buffer for storing image data for one frame, and image data for one horizontal scan line are stored. There is a line buffer type image processing apparatus provided with a line buffer. Since the line buffer type image processing apparatus requires less storage capacity of the buffer to which the image data is written compared to the frame buffer type image processing apparatus, it is suitable for downsizing, and an on-vehicle image display system (for example It is suitable for construction of a system that requires space saving, such as a system that realizes meters such as a speedometer by image display). For example, Japanese Patent Application Laid-Open No. H10-228707 discloses a document related to a line buffer type image processing apparatus.
従来、表示器の設置態様としては、垂直走査方向が上下方向(鉛直方向)となり、水平走査方向が左右方向となるように設置する態様が一般的であった。しかし、近年では、垂直走査方向が左右方向となり、水平走査方向が上下方向となるように反時計回りに90度回転させて表示器を設置する態様も多々見受けられるようになってきている。例えば、前述した車載用の画像表示システムでは、ダッシュボードの運転席側に表示器を設置する必要があるが、設置スペースに限りがあるため縦置きによる表示器の設置が必要となることが多い。以下、垂直走査方向が上下方向(鉛直方向)となり、水平走査方向が左右方向となるように配置された表示器を「横置き表示器」と呼び、これを反時計回りに90度回転させて設置された表示器のことを「縦置き表示器」と呼ぶ。なお、「横置き表示器」を時計回りに90度回転させて設置された表示器のことを「縦置き表示器」としても良い。 Conventionally, the display device is generally installed in such a manner that the vertical scanning direction is the vertical direction (vertical direction) and the horizontal scanning direction is the horizontal direction. However, in recent years, it has become increasingly common to install the display device by rotating it 90 degrees counterclockwise so that the vertical scanning direction is the left-right direction and the horizontal scanning direction is the up-down direction. For example, in the above-described in-vehicle image display system, it is necessary to install a display device on the driver's seat side of the dashboard. However, since the installation space is limited, it is often necessary to install the display device vertically. . Hereinafter, a display arranged so that the vertical scanning direction is the vertical direction (vertical direction) and the horizontal scanning direction is the left-right direction is referred to as a “horizontal display”, which is rotated 90 degrees counterclockwise. The installed display is called “vertical display”. A display installed by rotating the “horizontal display” 90 degrees clockwise may be referred to as a “vertical display”.
表示器に表示される画像は、スプライトなどの図柄や文字列、線などの表示要素を多数組み合わせて構成されている。横置き表示器における文字列の表示は、図6(a)に示すように、文字列を構成する各文字のフォントを水平走査方向に並べて表示することで実現されていた。これに対して、縦置き表示器に文字列を表示する場合には、文字列の読み取りを容易にするために、図6(b)に示すように、文字列を構成する各文字のフォントとして、図6(a)に示すものを時計回りに90度回転させたフォント(すなわち、文字の高さ方向が水平走査方向に一致するフォント)を垂直走査方向に並べて表示することが必要となる。以下では、図6(a)に示すように、構成文字のフォントを水平走査方向に並べて構成される文字列を「横方向文字列」と呼び、図6(b)に示すように、構成文字のフォントを垂直走査方向に並べて構成される文字列を「縦方向文字列」と呼ぶ。また、以下では、横方向文字列を構成するためのフォントを「横方向文字列用フォント」と呼び、縦方向文字列を構成するフォントを「縦方向文字列用フォント」と呼ぶ。 The image displayed on the display unit is configured by combining a number of display elements such as symbols such as sprites, character strings, and lines. As shown in FIG. 6A, the display of the character string in the horizontal display is realized by displaying the fonts of the characters constituting the character string side by side in the horizontal scanning direction. On the other hand, when a character string is displayed on the vertical display, as shown in FIG. 6B, as a font for each character constituting the character string, in order to facilitate reading of the character string. It is necessary to display fonts obtained by rotating the one shown in FIG. 6A by 90 degrees clockwise (that is, fonts whose character height direction matches the horizontal scanning direction) side by side in the vertical scanning direction. Hereinafter, as shown in FIG. 6A, a character string formed by arranging fonts of constituent characters in the horizontal scanning direction is referred to as a “horizontal character string”. As shown in FIG. A character string formed by arranging the fonts in the vertical scanning direction is called a “vertical character string”. In the following, a font for configuring a horizontal character string is referred to as a “horizontal character string font”, and a font configuring a vertical character string is referred to as a “vertical character string font”.
横方向文字列の表示においては、例えば図6(c)に示すように、文字毎に表示開始位置XSおよび終了位置XE(フォント画像の左端を原点とする位置)の指定が可能なプロポーショナルフォントを用い、各文字のフォント画像を空白部分を互いに重ね合わせて表示することにより、文字間の空白が少なくなるように表示することができた。しかし、縦方向文字列を表示する機能を備えたラインバッファ方式の画像処理装置は従来提案されておらず、ラインバッファ方式の画像処理装置を用いてプロポーショナルフォントによる縦方向文字列の表示はできなかった。 In the display of the horizontal character string, for example, as shown in FIG. 6C, a proportional font that can specify the display start position XS and the end position XE (position with the left end of the font image as the origin) for each character is used. It was possible to display the font image of each character so that the space between the characters is reduced by displaying the blank portion in an overlapping manner. However, a line buffer type image processing apparatus having a function for displaying a vertical character string has not been proposed so far, and a vertical character string cannot be displayed using a proportional font by using the line buffer type image processing apparatus. It was.
本発明は上記課題に鑑みて為されたものであり、ラインバッファ方式の画像処理装置に、プロポーショナルフォントによる縦方向文字列の表示を行わせることを可能にする技術を提供することを目的とする。 The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a technique that enables a line buffer image processing apparatus to display a vertical character string using a proportional font. .
上記課題を解決するために本発明は、表示器における1スキャンライン分の画像を表す画像データを記憶するラインバッファと、前記表示器に表示させる文字列の表示態様を示す属性データであって、当該文字列を構成する各文字の表示開始位置および表示終了位置を示す情報を含む属性データが格納される汎用テーブルと、各種の文字のフォントを表すフォントデータを格納したメモリから、読み出しを指示された文字のフォントデータを読み出すメモリインタフェースと、前記メモリから読み出されたフォントデータを利用して1スキャンライン分の画像データを生成し、前記ラインバッファに書き込む描画処理を実行する画像データ生成部と、各水平走査期間において水平スキャンラインの跨る文字を前記汎用テーブルに格納された属性データを参照して特定し、該当する文字についての描画処理の実行を前記画像データ生成部に指示するコントローラと、を具備し、前記文字列は、当該文字列を構成する各文字の高さ方向が水平走査方向に一致し、かつ、各文字を垂直走査方向に並べた縦方向文字列であり、前記コントローラは、水平スキャンラインが縦方向文字列を跨いでいる場合に水平スキャンラインの跨る文字および当該文字の何ライン目を跨いでいるかを示すパラメータを水平スキャンラインを更新する毎に更新する一方、当該パラメータの示す文字の前記表示開始位置から前記表示終了位置の間に水平スキャンラインが跨っている場合に当該文字を表示対象と判定し前記パラメータの示すラインについての描画処理の実行を前記画像データ生成部に指示することを特徴とする画像処理装置、を提供する。 In order to solve the above problems, the present invention is a line buffer for storing image data representing an image for one scan line in a display, and attribute data indicating a display mode of a character string to be displayed on the display, Reading is instructed from a general-purpose table storing attribute data including information indicating the display start position and display end position of each character constituting the character string, and from a memory storing font data representing fonts of various characters. A memory interface that reads font data of a character, an image data generation unit that generates image data for one scan line using the font data read from the memory, and executes a drawing process to be written to the line buffer; In each horizontal scan period, the characters straddling the horizontal scan line are assigned to the attribute stored in the general-purpose table. A controller that identifies the character by referring to the data and instructs the image data generation unit to execute a drawing process for the corresponding character, and the character string is in the height direction of each character constituting the character string. Is a vertical character string in which the characters are aligned in the horizontal scanning direction and the characters are arranged in the vertical scanning direction, and the controller has a character across the horizontal scan line when the horizontal scan line straddles the vertical character string. And a parameter indicating how many lines of the character are crossed each time the horizontal scan line is updated, while the horizontal scan line crosses between the display start position and the display end position of the character indicated by the parameter. The character is determined as a display target, and the image data generation unit is instructed to execute a drawing process for the line indicated by the parameter. The image processing apparatus according to claim to provide.
より詳細に説明すると、縦方向文字列の属性データが汎用テーブルに格納されると、コントローラはその縦方向文字列に対応づけてレジスタ等に第1および第2のパラメータを設定する。ここで、第1のパラメータとは、水平スキャンラインが当該第1のパラメータに対応する縦方向文字列を跨いでいる場合に、水平スキャンラインの跨る文字を示すパラメータであり、第2のパラメータとは、当該第1のパラメータの示す文字の何ライン目を水平スキャンラインが跨いでいるのかを示すパラメータである。なお、第1のパラメータの初期値は、縦方向文字列の先頭の文字を示す値であり、第2のパラメータの初期値は上記先頭の文字の先頭ラインを示す値である。本発明においては、水平スキャンラインが更新される毎に第1および第2のパラメータが更新され、第1のパラメータの示す文字の表示開始位置から表示終了位置の間に水平スキャンラインが跨っている場合に第2のパラメータの示すライン(すなわち、当該文字において水平スキャンラインが重なっているライン)についての描画処理が実行され、縦方向文字列を構成する各文字のフォントの表示開始位置から表示終了位置までの画像データが先頭文字のものから順に1ライン分ずつラインバッファに描画される。これにより、プロポーショナルフォントによる縦方向文字列の表示が実現される。上記第1および第2のパラメータの初期化については、汎用テーブルへの縦方向文字列の属性データの書き込みの際にホストCPUに行わせても良く、また、画像処理装置の初期化の際に行っても良い。なお、特許文献2には、文字列の縦書きレイアウトについての記載があるが、縦置き表示器における縦方向文字列の表示制御を開示するものではなく、本願発明とは全く異なる技術である。
More specifically, when the vertical character string attribute data is stored in the general-purpose table, the controller sets the first and second parameters in a register or the like in association with the vertical character string. Here, the first parameter is a parameter indicating a character straddling the horizontal scan line when the horizontal scan line straddles the vertical character string corresponding to the first parameter. Is a parameter indicating which line of the character indicated by the first parameter the horizontal scan line is straddling. The initial value of the first parameter is a value indicating the first character of the vertical character string, and the initial value of the second parameter is a value indicating the first line of the first character. In the present invention, the first and second parameters are updated each time the horizontal scan line is updated, and the horizontal scan line straddles between the display start position and the display end position of the character indicated by the first parameter. In this case, the drawing process is executed for the line indicated by the second parameter (that is, the line where the horizontal scan line overlaps the character), and the display ends from the font display start position of each character constituting the vertical character string. The image data up to the position is drawn in the line buffer one line at a time starting from the first character. Thereby, the display of the vertical direction character string by a proportional font is implement | achieved. The initialization of the first and second parameters may be performed by the host CPU when writing the vertical direction character string attribute data to the general-purpose table, or when the image processing apparatus is initialized. You can go.
より好ましい態様においては、前記メモリに記憶されているフォントデータには圧縮符号化が施されているとともに、前記メモリから読み出されたフォントデータをデコードして前記画像データ生成部に与えるデコード部を有し、前記コントローラは、表示対象と判定した文字についてのフォントデータのデコードを前記デコード部に指示するとともに、当該文字に後続する各文字について圧縮符号化データのデコードの要否を前記属性データに基づいて判定し、デコードを要すると判定された文字についての圧縮符号化データのデコードを前記デコード部に指示することを特徴する。具体的には、前記コントローラは、第1のパラメータの示す文字に後続する文字のうち、当該文字と第1のパラメータの示す文字との間にある文字の表示幅の和(すなわち、それら各文字についての表示終了位置から表示開始位置を減算して得られる値の和)に、第1のパラメータの示す文字の表示終了位置から当該文字の表示開始位置を減算して得られる値と、当該文字の表示終了位置から前記第2のパラメータを減算して得られる値と、を加算して得られる値がフォントサイズ−1以上となった文字以降の文字について、圧縮符号化データのデコードを不要と判定する。詳細については本発明の実施形態の説明(より正確には、動作例(B−2)の説明)において明らかにするが、このような態様によれば、メモリに記憶されているフォントデータに圧縮符号化が施されており、かつデコード対象の画素に先行する複数の画素のデコード結果が必要となる圧縮符号化方式が採用されている場合であっても、ラインバッファ方式の画像処理装置に、プロポーショナルフォントによる縦方向文字列の表示を行わせることが可能になる。 In a more preferred aspect, the font data stored in the memory is compressed and encoded, and a decoding unit that decodes the font data read from the memory and supplies the decoded data to the image data generation unit is provided. And the controller instructs the decoding unit to decode the font data for the character determined to be displayed, and sets the attribute data to determine whether or not to decode the compressed encoded data for each character following the character. The decoding unit is instructed to decode the compression-encoded data for the character determined to require decoding. Specifically, among the characters following the character indicated by the first parameter, the controller displays the sum of the display widths of the characters between the character and the character indicated by the first parameter (that is, each of those characters). The value obtained by subtracting the display start position of the character from the display end position of the character indicated by the first parameter to the sum of the values obtained by subtracting the display start position from the display end position for It is not necessary to decode the compression-encoded data for characters after the character whose value obtained by subtracting the second parameter from the display end position is equal to or larger than the font size −1. judge. The details will be clarified in the description of the embodiment of the present invention (more precisely, the description of the operation example (B-2)). According to such an aspect, the font data stored in the memory is compressed. Even when a compression encoding method that has been encoded and requires a decoding result of a plurality of pixels preceding the pixel to be decoded is adopted, the image processing apparatus of the line buffer method, It is possible to display a vertical character string using a proportional font.
また、別の好ましい態様においては、前記メモリには、文字の高さ方向を水平走査方向に一致させたフォントを表す縦方向文字列用フォントデータが格納されており、縦方向文字列の属性データでは、構成文字の描画に縦方向文字列用フォントデータを用いることが指定されていることを特徴とする。このような態様によれば、縦方向文字列を構成する各文字の表示を行う際に、横方向文字列用のフォントに時計回りに90度の回転編集を施して使用する態様に比較して、演算処理量が削減され、描画性能の低下や演算回路の規模増大を回避することが可能になる。 In another preferred embodiment, the memory stores font data for vertical character strings representing fonts in which the height direction of characters is matched with the horizontal scanning direction, and attribute data of the vertical character strings. In this case, it is specified that the font data for the vertical direction character string is used for drawing the constituent characters. According to such an aspect, when each character constituting the vertical character string is displayed, the font for the horizontal character string is rotated 90 degrees clockwise and used in comparison with the aspect used. Thus, the amount of calculation processing is reduced, and it is possible to avoid a decrease in drawing performance and an increase in the scale of the calculation circuit.
(A:構成)
図1は、この発明による画像処理装置の一実施形態である画像表示LSI(Large Scale Integrated circuit;大規模集積回路)100Aを含む画像表示システムの構成を示すブロック図である。図1では、画像表示LSI100Aの機能の理解を容易にするため、同画像表示LSI100Aに接続されたホストCPU201と、LCD(Liquid Crystal Display;液晶表示器)202と、ROM203が同画像表示LSI100Aとともに図示されている。図1に示す画像表示システムは、例えば乗用車などの車両に搭載され、スピードメータ等の画像や交通情報などを表す文字情報を表示する車載システムであり、LCD202は車両のダッシュボードの運転席側に縦置きされる。
(A: Configuration)
FIG. 1 is a block diagram showing a configuration of an image display system including an image display LSI (Large Scale Integrated circuit) 100A which is an embodiment of an image processing apparatus according to the present invention. In FIG. 1, in order to facilitate understanding of the function of the
ホストCPU201は、図1に示す画像表示システムを制御するプロセッサである。ホストCPU201による制御の下でLCD202に表示される1フレーム分の画像は、スプライトと呼ばれる図柄の部品や文字列、線などの各種画像構成要素を組み合わせて構成されている。ホストCPU201は、LCD202に各種画像構成要素を表示させるためのコマンドやデータを画像表示LSI100Aに供給する。ROM203には、文字列を構成する各種文字のフォントおよび各種のスプライトについての圧縮形式の画像データや、アルファブレンディングに用いる圧縮形式のアルファデータが記憶されている。詳細については後述するが、本実施形態では、スプライトおよびフォント等の圧縮符号化方式として、デコード対象の画素に先行する複数の画素(例えば、スプライトの場合は左隣、左上および直上の3画素)のデコード結果が必要となる圧縮符号化方式が採用されている。
The
画像表示LSI100Aは、ホストCPU201から与えられるコマンドやデータにしたがって、LCD202に画像を表示させるラインバッファ方式の画像処理装置である。図1に示すように、画像表示LSI100Aは、CPUインタフェース(図1では、「CPUI/F」と表記)101と、カラーパレット記憶部102と、汎用テーブル103と、レジスタ104と、コントローラ105Aと、ROMインタフェース(図1では、「ROMI/F」と表記)106と、デコード部107と、画像データ生成部108と、画像出力部109と、これら各部に動作クロックを供給するクロック生成部110と、を有している。
The image display LSI 100 </ b> A is a line buffer type image processing apparatus that displays an image on the
CPUインタフェース101は、ホストCPU201から供給されるコマンドやデータを受け取って画像表示LSI100A内の関係する各部に供給するインタフェースである。カラーパレット記憶部102は、画像表示LSI100Aをカラーパレットモードで動作させる際のカラーパレットを表すカラーパレットデータを記憶する回路である。カラーパレットモードとは、例えば24bit(或いは16Bit)カラーのうちの予め指定された数分の色(例えば256色)によりカラー画像を表現する動作モードであり、カラーパレットデータとはそれらの色を指定するデータである。汎用テーブル103は、ホストCPU201からCPUインタフェース101を介して供給される属性データを記憶する属性データ記憶部の役割を担っている。レジスタ104は、スプライト表示等のための各種制御データを記憶する回路である。本実施形態では、カラーパレット記憶部102、汎用テーブル103、およびレジスタ104を各々別個に設けたが、1つの揮発性メモリ内の記憶領域の割り当てによりこれらの役割を実現しても良い。
The
汎用テーブル103に格納される属性データは、各垂直走査期間においてLCD202に表示させる画像を構成するスプライトや文字列の表示態様(画面上のどの位置にどのような形で表示するのかなど)を示すデータである。属性データは、垂直走査期間毎にホストCPU201から供給され、CPUインタフェース101によってスプライトや文字列などの画像構成要素毎に汎用テーブル103に格納される。
The attribute data stored in the general-purpose table 103 indicates the display mode of the sprites and character strings that constitute the image displayed on the
図2は、汎用テーブル103における文字列の属性データの格納例を示す図である。文字列の属性データには、文字列全体の表示態様(文字列の表示位置など)を表すデータと、当該文字列を構成する各文字を示すデータと、各文字の表示に用いるフォントタイプとが含まれる。図2において、アドレスがLYSAからLYEAの領域には、文字列全体の表示態様を示すデータ(図2におけるレイヤ#0、#1および#2の各々)がLCD202に表示させる画像に含まれる文字列の数分だけ格納される。
FIG. 2 is a diagram illustrating an example of storing character string attribute data in the general-purpose table 103. The attribute data of the character string includes data representing the display mode of the entire character string (such as the display position of the character string), data indicating each character constituting the character string, and the font type used for displaying each character. included. In FIG. 2, in the area where the addresses are LYSA to LYEA, the character string included in the image to be displayed on the
例えば、図2に示すレイヤ#0は、同図2に示す文字列“ABCDE”の表示態様を示すデータである。このレイヤ#0には、当該文字列の表示位置(LCD202を横置きした場合の表示領域の左上隅を座標原点する当該文字列の左上隅の座標XおよびY)が含まれている。また、図2に示すレイヤ#0には、汎用テーブル103において上記文字列を構成する各文字(すなわち、文字番号0〜文字番号4の各文字)を示すデータ(例えば、文字コード)を記憶した領域を規定するアドレス(FCSAおよびFCEA)と、これら各文字の表示に使用するフォントの種類および文字の大きさ(水平走査方向の画素数SZXおよび垂直走査方向の画素数SZY)を示すフォントタイプ属性を記憶した領域のアドレス(FTYP)とが含まれている。そして、文字列を構成する各文字の表示にプロポーショナルフォントを用いる場合には、フォント画像内における文字の表示開始位置XS[n]および表示終了位置XE[n](nは、文字列の先頭の文字を0番目の文字とする文字番号)を示すデータがFCSAからFCEAアドレスで規定された領域に格納されている。
For example,
図2に示すように、ROM203には、ゴシック体や明朝体などのフォントタイプ毎に各種文字について圧縮形式のフォントの画像データが文字コード順に格納されている。本実施形態では、上記文字番号の順に上記フォントタイプ属性の示すフォントの圧縮形式の画像データを読み出してデコードすることで、文字列を構成する各文字についての描画処理が実現される。
As shown in FIG. 2, the
本実施形態では、LCD202は縦置きされているため、LCD202に表示させる文字列は全て縦方向文字列とされている。そして、本実施形態では、縦方向文字列の表示を可能にするために、文字列に対応付けて、処理文字番号、処理ライン番号および表示/非表示判定フラグといった3種類のパラメータがレジスタ104に格納されている。具体的には、本実施形態では、文字列全体の表示態様を規定するデータ(例えば、図2におけるレイヤ#0)に上記3種類の新たなパラメータの格納先のアドレスが含まれている。なお、文字列全体の表示態様を規定するデータに上記3種類の新たなパラメータを含めておいても勿論良い。本実施形態では、文字列の属性データに対応付けてこれら3種類のパラメータがレジスタ104に格納されている否かによって表示対象の文字列が縦方向文字列であるか否かをコントローラ105Aに判別させることができる。これら新たな3種類のパラメータの役割については重複を避けるため動作例において明らかにする。また、本実施形態では、縦方向文字列の表示を容易にするために、縦方向文字列用フォント(すなわち、高さ方向が水平走査方向に一致するように配置された文字フォント)の圧縮形式の画像データがROM203に格納されており、縦方向文字列の属性データでは当該フォントタイプ属性として当該縦方向文字列用フォントを示す値がセットされている。
In the present embodiment, since the
コントローラ105Aは、各垂直走査期間において、表示対象の画像データのLCD202での表示に先行して、各種画像構成要素(すなわち、スプライト、文字列および線)の画像データの生成を画像データ生成部108に順次指令する回路である。具体的には、コントローラ105Aは、各垂直走査期間において、汎用テーブル103に記憶された各画像構成要素の属性データに基づき、それら画像構成要素の画像データを生成する処理の実行スケジュールを作成し、この実行スケジュールに従って、各種画像構成要素についての画像データ生成指示を画像データ生成部108に供給する。本実施形態では、前述した3種類の新たなパラメータの導入に加えて、コントローラ105Aに本実施形態の特徴を顕著に示す処理を実行させることで、縦方向文字列の表示が実現される。この点については、後に詳細に説明する。
The
画像データ生成部108は、各種画像構成要素の画像データを先頭ラインから順に1ライン分ずつ生成して画像出力部109のラインバッファに書き込む処理をコントローラ105Aからの画像データ生成指示にしたがって実行する回路である。図1に示すように、画像データ生成部108は、デコード部107およびROMインタフェース106を介してROM203に接続されている。ROMインタフェース106は、デコード部107から与えられる指示に応じてROM203から圧縮形式の画像データ(スプライトの画像データであるスプライトデータ、或いはフォントの画像データであるフォントデータ)を読み出し、デコード部107に出力する。
The image
デコード部107は、コントローラ105Aによる制御の下、ROMインタフェース106を介してROM203から圧縮形式のスプライトデータ或いは圧縮形式のフォントデータを読み出し、コントローラ105Aにより指示された1ライン分の画像のデコードを画素単位で行ってそのデコード結果を画像データ生成部108に与える。図1に示すように、デコード部107は、圧縮形式のスプライトデータをデコードするためのパターンデコーダ107Aと、圧縮形式のフォントデータをデコードするためのフォントデコーダ107Bを含んでいる。図1では詳細な図示を省略したが、パターンデコーダ107Aおよびフォントデコーダ107Bの各々はROM203から読み出した圧縮データを格納するための第1のワークメモリと、後続画素のデコードに必要となる所定数分の画素データを保持しておくための第2のワークメモリとを有しており、第2のワークメモリの格納内容を順次更新しつつ第1のワークメモリに格納された圧縮データを1画素単位でデコードする。
The
画像データ生成部108は、デコード部107から各画像構成要素の1ライン分の画像データを受け取り、図示せぬ記憶部に画像構成要素毎に記憶させる。画像データ生成部108は、スプライトレンダリング部108A、フォントレンダリング部108Bおよびラインレンダリング部108Cを含んでいる。スプライトレンダリング部108Aは、画像データ生成指示により描画を指示されたスプライトの1ライン分の画像データを上記記憶部から読み出し、その画像データ生成指示により指示された編集(拡大・縮小・変形、カラー演算など)を施してラインバッファへの書き込みを行う回路である。フォントレンダリング部108Bは、画像データ生成指示により描画を指示されたフォントの1ライン分の画像データを上記記憶部から読み出し、その画像データ生成指示により指示された編集(拡大・縮小・変形、カラー演算など)を施してラインバッファへの書き込みを行う回路である。そして、ラインレンダリング部108Cは、画像データ生成指示にしたがって線を表す画像データをラインバッファへ書き込む回路である。
The image
画像出力部109は、各々水平スキャンライン1本分の画像データを記憶可能な容量を持ったラインバッファ109Aおよび109Bを有している。これらのラインバッファ109Aおよび109Bは、一方が書き込み用ラインバッファ、他方が読み出し用ラインバッファとされ、LCD202の水平同期信号に同期して、その時点までに書き込み用ラインバッファであったものが読み出し用ラインバッファとされ、読み出し用ラインバッファであったものが書き込み用ラインバッファとされる。各水平走査期間では、読み出し用ラインバッファに記憶された1ライン分の画像データが読み出され、LCD202に供給されて表示される一方、1水平走査期間後に表示される1ライン分の画像データが画像データ生成部108によって書き込み用バッファに書き込まれる。
以上が画像表示LSI100Aの構成である。
The
The above is the configuration of the
(B:動作)
次いで、画像表示LSI100Aの動作を説明する。以下では、新たに導入した3種類のパラメータ(処理文字番号、処理ライン番号、および表示/非表示フラグ)の役割を明確化するため、まず、プロポーショナルフォントを用いずに縦方向文字列の表示を行う場合について説明する。プロポーショナルフォントを用いない場合、縦方向文字列の表示は、図3(a)に示すように各文字の縦方向文字列用のフォントの画像を空白部分が互いに重なり合わないように垂直走査方向にすきまなく1列に並べて表示することで実現される。
(B: Operation)
Next, the operation of the
(B−1:プロポーショナルフォントを用いずに縦方向文字列の表示を行う場合の動作)
前述したように、画像表示LSI100Aの汎用テーブル103には、各垂直走査期間においてLCD202に表示させる画像を構成するスプライトや文字列等についての属性データの書き込みが垂直走査期間毎にホストCPU201によって行われる。前述したように本実施形態では、文字列は全て縦方向文字列とされている。ただし、本動作例においては、汎用テーブル103に書き込まれる文字列の属性データには各文字の表示開始位置および表示終了位置を示す情報は含まれていない。本動作例では、プロポーショナルフォントを用いずに縦方向文字列の表示が行われるからである。
(B-1: Operation when displaying a vertical character string without using a proportional font)
As described above, in the general-purpose table 103 of the
コントローラ105Aは、水平走査期間毎に、次の水平走査期間における水平スキャンラインがそれら属性データに対応する各画像構成要素を跨いでいるか否か(すなわち、次の水平走査期間において表示対象となるか否か)を判定し、表示対象と判定された画像構成要素についての画像データ生成指示を画像構成要素毎に生成して画像データ生成部108に与える処理を実行する。
For each horizontal scanning period, the
ここで、次の水平走査期間において表示対象となるか否かの判定対象が横方向文字列(図6(a)参照)であれば、当該横方向文字列の属性データの示す垂直走査方向の表示位置Y、垂直走査方向の当該横方向文字列の大きさSZY、および次の水平走査期間において描画する水平スキャンラインの位置VDが以下の式(1)の関係を満たす場合に、コントローラ105Aは当該横方向文字列を表示対象と判定する(スプライトについて表示対象であるか否かの判定を行う場合も同様である)。
Y≦VD≦Y+SZY・・・(1)
Here, if the determination target of whether or not to be a display target in the next horizontal scanning period is a horizontal character string (see FIG. 6A), the vertical scanning direction indicated by the attribute data of the horizontal character string. When the display position Y, the size SZY of the horizontal character string in the vertical scanning direction, and the position VD of the horizontal scan line drawn in the next horizontal scanning period satisfy the relationship of the following expression (1), the
Y ≦ VD ≦ Y + SZY (1)
これに対して、縦方向文字列の場合は、1文字目については前掲式(1)を用いて表示対象であるか否かを判定することができるが、2文字目以降については、前掲式(1)を用いて表示対象であるか否かの判定を行うことはできない。これは、縦方向文字列の2文字目以降の文字について前掲式(1)により表示/非表示の判定を行うには、当該2文字目以降の文字の各々の表示位置を示すデータが属性データに含まれている必要がある一方、このようなデータは文字列の属性データに含まれていないからである。また、縦方向文字列全体についての垂直走査方向の表示位置に判定対象の文字に先行する全ての文字の垂直走査方向の大きさを加算することで当該判定対象の文字の垂直走査方向の表示位置を算出することも不可能ではないが、このような表示位置の算出を2文字目以降の各文字について行うことは、描画性能の低下や演算回路の規模増大などの問題を生じさせることになる。 On the other hand, in the case of a vertical character string, it is possible to determine whether or not the first character is a display target using the above formula (1). (1) cannot be used to determine whether or not the display target. This is because data indicating the display position of each of the second and subsequent characters is attribute data in order to determine whether the second and subsequent characters of the vertical character string are to be displayed / hidden by the above formula (1). This is because such data is not included in the attribute data of the character string. Also, the vertical scanning direction display position of the character to be determined is added to the vertical scanning direction display position of the entire vertical character string by adding the size of all characters preceding the determination target character in the vertical scanning direction. Although it is not impossible to calculate the display position, the calculation of the display position for each character after the second character causes problems such as a decrease in drawing performance and an increase in the scale of the arithmetic circuit. .
そこで、本実施形態では、前述したように、処理文字番号、処理ライン番号および表示/非表示判定フラグの3つの新たなパラメータを導入することで、描画性能の低下や演算回路の規模増大などの問題を生じさせることなく、ラインバッファ方式の画像処理装置に縦方向文字列を表示させることを実現している。ここで、表示/非表示判定フラグは、次の水平走査期間における水平スキャンラインが、この表示/非表示判定フラグに対応する縦方向文字列を跨いでいるか否か(すなわち、当該縦方向文字列が次の水平走査期間において表示対象となるか否か)を示すパラメータである。処理文字番号は、縦方向文字列を次の水平走査期間における水平スキャンラインが跨いでいる場合に、当該水平スキャンラインの跨る文字を示すパラメータである。そして、処理ライン番号は、処理文字番号の示す文字のフォントの画像の何ライン目が当該水平スキャンラインと重なっているかを示すパラメータである。以下、これら3種類のパラメータを使用した縦方向文字列の表示制御を説明する。 Therefore, in this embodiment, as described above, by introducing three new parameters of the processing character number, the processing line number, and the display / non-display determination flag, the drawing performance is reduced and the scale of the arithmetic circuit is increased. It is possible to display a vertical character string on a line buffer image processing apparatus without causing a problem. Here, the display / non-display determination flag indicates whether or not the horizontal scan line in the next horizontal scanning period straddles the vertical character string corresponding to the display / non-display determination flag (that is, the vertical character string). Is a parameter indicating whether or not to be a display target in the next horizontal scanning period). The processing character number is a parameter indicating a character straddling the horizontal scan line when the vertical character string straddles the horizontal scan line in the next horizontal scanning period. The processing line number is a parameter indicating how many lines of the font image of the character indicated by the processing character number overlap with the horizontal scan line. Hereinafter, display control of the vertical character string using these three types of parameters will be described.
本実施形態では、上記3種類のパラメータは、画像表示LSI100Aが初期化されるときに全て0にリセットされる。なお、文字列についての属性データの書き込みの際にホストCPU201或いはコントローラ105Aによって上記3種類のパラメータに初期値として0をセットしても良い。
In the present embodiment, the above three types of parameters are all reset to 0 when the
コントローラ105Aは、まず、横方向文字列の場合と同様に前掲式(1)に示す演算を行って縦方向文字列の1文字目の表示/非表示を判定する。すなわち、コントローラ105Aは、次の水平走査期間において描画する水平スキャンラインの位置VDが縦方向文字列の属性データのレイヤ#0に含まれている表示位置Yに達するまで非表示と判定し、上記3種類のパラメータの更新を行わない。そして、次の水平走査期間において描画する水平スキャンラインの位置VDが縦方向文字列の属性データのレイヤ#0に含まれている表示位置Yに達すると(すなわち、VD=Yになると)、コントローラ105Aは、上記3種類のパラメータの更新を開始する。
First, the
より詳細に説明すると、水平スキャンラインの位置VDが縦方向文字列の属性データのレイヤ#0に含まれている表示位置Yに達すると、コントローラ105Aは、表示/非表示判定フラグを1(すなわち、表示対象であることを示す値)にセットし、表示/非表示判定フラグが0にリセットされるまで、水平スキャンラインを更新する毎に(すなわち、水平スキャンラインの位置VDを1ずつインクリメントする毎に)、以下の第1および第2の処理を実行する。第1の処理は、その時点の処理文字番号および処理ライン番号を参照し、当該処理文字番号により示される文字の当該処理ライン番号により示されるラインの描画を画像データ生成部108に指示する処理である。そして、第2の処理は、処理ライン番号が文字の最終ラインを示す場合(具体的には、処理ライン番号=SZX−1の場合)には処理文字番号をインクリメントして後続の文字を示す値に更新するとともに処理ライン番号を当該後続する文字の先頭ラインを示す値(すなわち、0)に更新し、逆に、処理ライン番号が最終ラインを示していない場合には当該処理ライン番号をインクリメントして次のラインを示す値に更新する処理である。その後、コントローラ105Aは、処理文字番号が縦方向文字列の末尾の文字を示し、かつ処理ライン番号が当該文字のフォントの画像の最終ラインを示す値となったことを契機として表示/非表示フラグを0にリセットする。
More specifically, when the horizontal scan line position VD reaches the display position Y included in the
例えば、図3(a)に示す縦方向文字列について、表示位置(X,Y)として(7,7)が設定されており、かつ文字サイズとしてSZX=SZY=32が設定されている場合、水平スキャンラインの位置VDが0,1、2・・・と更新される過程において、上記3種類のパラメータは図4に示すように更新される。図4に示すように、VD=7〜166の間、上記縦方向文字列についての表示/非表示判定フラグは1となって当該縦方向文字列についての描画処理が行われる。具体的には、VD=7〜38の期間には処理文字番号=0であるから、上記縦方向文字列の1文字目(すなわち、“A”)についての描画処理が行われ、VD=38のとき、処理ライン番号は文字の最終ラインを示す“31”であるので、水平スキャンラインを更新する際に処理文字番号をインクリメントして“1”とし、処理ライン番号を“0”とする。そして、同様に、VD=39〜70の期間には処理文字番号=1であるから、上記縦方向文字列の2文字目(すなわち、“B”)についての描画処理が行われ、・・・VD=135〜166の期間には処理文字番号=4であるから、上記縦方向文字列の5文字目(すなわち、“E”)についての描画処理が行われといった具合である。そして、これら描画処理に後続して前述した表示処理が行われる結果、LCD202に縦方向文字列“ABCDE”が表示される。
For example, for the vertical character string shown in FIG. 3A, when (7, 7) is set as the display position (X, Y) and SZX = SZY = 32 is set as the character size, In the process of updating the horizontal scan line position VD to 0, 1, 2,..., The three types of parameters are updated as shown in FIG. As shown in FIG. 4, during VD = 7 to 166, the display / non-display determination flag for the vertical character string is set to 1, and the drawing process for the vertical character string is performed. Specifically, since the processing character number = 0 during the period of VD = 7 to 38, drawing processing is performed for the first character (that is, “A”) of the vertical character string, and VD = 38. In this case, since the processing line number is “31” indicating the last line of the character, the processing character number is incremented to “1” and the processing line number is set to “0” when the horizontal scan line is updated. Similarly, since the processing character number = 1 in the period of VD = 39 to 70, the drawing process for the second character (ie, “B”) of the vertical character string is performed, and so on. Since the processing character number = 4 during the period of VD = 135 to 166, the drawing process is performed for the fifth character (that is, “E”) of the vertical character string. Then, as a result of performing the display process described above subsequent to the drawing process, the vertical character string “ABCDE” is displayed on the
このように、本実施形態によれば、判定対象の文字に先行する全ての文字の垂直方向の大きさを加算することなく現処理ラインにおける表示対象であるか否かの判定を行うことができるので、1ライン分の記憶容量を有するラインバッファを利用して画像データの描画および表示器への表示を行う画像処理装置に、プロポーショナルフォントを用いない縦方向文字列の表示を行わせることが可能になる。 As described above, according to the present embodiment, it is possible to determine whether or not the current processing line is a display target without adding the vertical sizes of all the characters preceding the determination target character. Therefore, it is possible to cause an image processing apparatus that draws image data and displays it on a display using a line buffer having a storage capacity for one line to display a vertical character string without using a proportional font. become.
(B−2:プロポーショナルフォントを用いて縦方向文字列を表示する場合の動作)
次いで、プロポーショナルフォントを用いて縦方向文字列の表示を行う場合の画像表示LSI100Aの動作を説明する。プロポーショナルフォントを用いる場合、縦方向文字列の表示は、属性データに含まれる各文字の表示開始位置XS[n]および表示終了位置XE[n]にしたがって、図3(b)に示すよう、各文字の縦方向文字列用のフォント画像を空白部分が互いに重なり合うように(文字番号=nの文字のフォントについて表示終了位置XE[n]により示される位置と次の文字(すなわち、文字番号=n+1の文字)について表示開始位置XS[n+1]により示される位置が一致するように)垂直走査方向に1列に並べて表示することで実現される。
(B-2: Operation when displaying a vertical character string using a proportional font)
Next, the operation of the
本動作例においても、コントローラ105Aは、次の水平走査期間において表示対象とする水平スキャンラインの位置VDを更新する毎に、前述した第1および第2の処理を実行する。ただし、プロポーショナルフォントを用いて縦方向文字列を行う場合の第1および第2の処理は、プロポーショナルフォントを用いない場合における各処理と下記の点で異なる。すなわち、第1の処理では、コントローラ105Aは、処理文字番号=mの場合、処理ライン番号が以下の式(2)を満たす場合にのみ、処理文字番号=mの文字のフォントの画像の当該処理ライン番号の示すラインについての描画処理の実行を画像データ生成部108に指示する。
XS[m]≦処理ライン番号≦XE[m]・・・(2)
Also in this operation example, the
XS [m] ≦ processing line number ≦ XE [m] (2)
また、第2処理では、コントローラ105Aは、処理文字番号=mである場合、処理ライン番号が当該文字の表示終了位置XE[m]である場合に処理文字番号をインクリメントして後続の文字を示す値(すなわち、m+1)に更新するとともに処理ライン番号を当該後続の文字の表示開始位置(すなわち、XS[m+1])にリセットする。
In the second process, when the process character number = m, the
また、プロポーショナルフォントを用いない場合における第1の処理では、コントローラ105Aは、縦方向文字列を構成する各文字についての圧縮フォントデータのデコードをその表示順に1文字ずつ行ったが、プロポーショナルフォントを用いる場合には、各水平走査期間において複数種の圧縮フォントデータのデコードを行うことが必要となる場合がある。より詳細に説明すると、プロポーショナルフォントを用いる場合の第1の処理では、コントローラ105Aは処理文字番号の示す文字についての描画処理の実行を画像データ生成部108に指示することに加えて、当該文字に後続する各文字について圧縮フォントデータのデコードの要否を判定し、デコードを要すると判定した文字についての圧縮フォントデータのデコードをデコード部107に指示する。プロポーショナルフォントを用いて縦方向文字列の表示を行う場合に、水平走査期間内に複数種の圧縮フォントデータのデコードが必要となる場合がある理由は以下の通りである。
Further, in the first processing when the proportional font is not used, the
例えば、図5(a)に示す縦方向文字列“ICFID”をLCD202に表示させる場合、縦方向文字列の1文字目の文字(すなわち、文字番号=0、図5(a)に示す例では1文字目の“I”)については、XS[0]≦処理ライン番号≦XE[0]である場合にのみLCD202への表示を行えば良い。したがって、処理ライン番号=XS[0]となったことを契機としてXS[0]に対応するラインを指定して当該文字についての圧縮フォントデータのデコードを開始すれば良く、処理ライン番号=XE[0]となり第2の処理において処理文字番号のインクリメントおよび処理ライン番号のリセットを行ったことを契機として、XS[1]に対応するラインを指定して文字番号=1の文字についての圧縮フォントデータのデコードを開始すれば良いかに見える。
For example, when the vertical character string “ICFID” shown in FIG. 5A is displayed on the
しかし、本実施形態では、フォントデータの圧縮符号化方式として、デコードの際に、デコード対象の画素に先行する所定数分の画素のデコード結果が当該デコード対象の画素のデコードに必要となる圧縮符号化方式が採用されている。つまり、圧縮フォントデータのデコードは、その先頭ラインからしか行えない。このため、文字番号=1の文字についての圧縮フォントデータのデコードを当該データの途中から行うことはできない。つまり、処理文字番号のインクリメントおよび処理ライン番号のリセットを行ったことを契機として次の水平走査期間において文字番号=1の文字についてのXS[1]に対応するラインの描画処理を行うためには、当該文字に対応する圧縮フォントデータの当該ラインに先行する部分(すなわち、空白部分)のデコードを先立って行っておく必要がある。例えば、水平スキャンラインが図5(a)に示すFLIN1である場合には、文字番号=0および1の各文字についての圧縮フォントデータのデコードを行い、水平スキャンラインが図5(a)に示すFLIN2である場合には、文字番号=1および3の各文字についての圧縮フォントデータのデコードを行う、といった具合である。これが、プロポーショナルフォントを用いて縦方向文字列の表示を行う場合に、水平走査期間内に複数種の圧縮フォントデータのデコードを行うことが必要となる理由である。 However, in this embodiment, as a compression encoding method for font data, when decoding, a predetermined number of pixels preceding the pixel to be decoded are decoded, and the compression code required for decoding the pixel to be decoded Is adopted. That is, the compressed font data can be decoded only from the first line. For this reason, it is impossible to decode the compressed font data for the character of character number = 1 from the middle of the data. That is, in order to perform the line drawing process corresponding to XS [1] for the character with character number = 1 in the next horizontal scanning period triggered by the increment of the process character number and the reset of the process line number. Therefore, it is necessary to decode the portion preceding the line (that is, the blank portion) of the compressed font data corresponding to the character in advance. For example, when the horizontal scan line is FLIN1 shown in FIG. 5A, the compressed font data is decoded for each character of character numbers = 0 and 1, and the horizontal scan line is shown in FIG. In the case of FLIN2, the compressed font data is decoded for each character of character numbers = 1 and 3. This is the reason why it is necessary to decode a plurality of types of compressed font data within a horizontal scanning period when a vertical character string is displayed using a proportional font.
このように、本実施形態では水平走査期間内に複数種の圧縮フォントデータのデコードを行うことが必要となる場合があるため、コントローラ105Aは処理文字番号の示す文字に後続する各文字について圧縮フォントデータのデコードが必要であるか否か(換言すれば、フォントの空白部分に水平スキャンラインが跨っている文字があるか否か)を判定する。具体的には、処理文字番号=mである場合、コントローラ105Aは、文字番号=m+k(k=1,2・・・)の各文字について以下の式(3)〜(5)に示す演算を行って指標値Dist3「m+k」を算出し、この指標値Dist3「m+k」がSZX−1よりも小さい文字については圧縮フォントデータのデコードが必要であると判定し、そのデコードをデコード部107に指示する。
Dist1[m+k]=XE[m]−XS[m+k]・・・(3)
Dist2[m+k]=処理ライン番号−Dist1[m+k]・・・(4)
Dist3[m+k]=XE[m+k]−Dist2[m+k]+F[m+k]・・・(5)
ただし、F[m+k]は文字番号=mの文字と文字番号=m+kの文字の間にある文字の表示幅の和(すなわち、k=1のときはゼロ、k≧2のときはj=1からk−1までの(XE[m+j]−XS[m+j])の和)である。
As described above, in this embodiment, since it may be necessary to decode a plurality of types of compressed font data within the horizontal scanning period, the controller 105 </ b> A determines the compressed font for each character following the character indicated by the processing character number. It is determined whether or not data decoding is necessary (in other words, whether or not there is a character across the horizontal scan line in the blank portion of the font). Specifically, when the processing character number = m, the
Dist1 [m + k] = XE [m] −XS [m + k] (3)
Dist2 [m + k] = processing line number−Dist1 [m + k] (4)
Dist3 [m + k] = XE [m + k] −Dist2 [m + k] + F [m + k] (5)
However, F [m + k] is the sum of the display widths of the characters between the character number = m and the character number = m + k (that is, zero when k = 1, j = 1 when k ≧ 2) (XE [m + j] −XS [m + j]) from k to k−1).
図5(b)に示すように、k=1の場合、式(3)にしたがって算出されるDist1[m+1]は、文字番号=mの文字(図5(b)に示す例では、文字“I”)のフォント画像の表示終了位置と、文字番号=m+1の文字(図5(b)に示す例では、文字“B”)のフォント画像の表示開始位置との距離を現しており、式(4)にしたがって算出されるDist2[m+1]は、文字番号=mの文字についての処理ライン番号の示すライン(換言すれば、水平スキャンライン)が文字番号=m+1の文字のフォント画像の何ライン目に重なっているかを示している。 As shown in FIG. 5B, when k = 1, Dist1 [m + 1] calculated according to the equation (3) is the character of character number = m (in the example shown in FIG. 5B, the character “ I ″) represents the distance between the display end position of the font image and the display start position of the font image of character number = m + 1 (in the example shown in FIG. 5B, character “B”). Dist2 [m + 1] calculated according to (4) is the number of lines in the font image of the character whose character number = m + 1 is the line indicated by the processing line number (in other words, the horizontal scan line) for the character whose character number = m. Shows whether it overlaps the eyes.
式(3)にしたがって算出されるDist1[m+1]を式(4)の右辺に代入し、さらに式(4)にしたがって算出されるDist2[m+1]を式(5)の右辺に代入すれば明らかなように、Dist3[m+1]は、図5(b)に示すように、水平スキャンラインの位置と文字番号=m+1の文字のフォントの表示終了位置との距離を現している。したがって、Dist3[m+1]の値がSZX−1以上であれば、次の水平走査期間における水平スキャンラインが文字番号=m+1の文字以降のフォント画像の空白部分を跨ぐことはなく、当該文字以降についての圧縮フォントデータのデコードを行う必要はない。k≧2の場合も同様に、Dist3[m+k]は文字番号=m+kの文字のフォントの表示終了位置と、水平スキャンラインとの距離を現し、Dist3[m+k]の値がSZX−1以上であれば、次の水平走査期間における水平スキャンラインが文字番号=m+kの文字以降のフォント画像の空白部分を跨ぐことはなく、当該文字以降についての圧縮フォントデータのデコードを行う必要はない。これが、指標値Dist3[m+k]とSZX−1との大小比較により、文字番号=m+k以降の文字についての圧縮フォントデータのデコードの要否を判定することができる理由である。 It is clear if Dist1 [m + 1] calculated according to equation (3) is substituted into the right side of equation (4), and Dist2 [m + 1] calculated according to equation (4) is substituted into the right side of equation (5). As shown in FIG. 5B, Dist3 [m + 1] represents the distance between the position of the horizontal scan line and the display end position of the font of the character of character number = m + 1. Therefore, if the value of Dist3 [m + 1] is SZX-1 or more, the horizontal scan line in the next horizontal scanning period does not straddle the blank portion of the font image after the character of character number = m + 1, and after the character. There is no need to decode the compressed font data. Similarly, when k ≧ 2, Dist3 [m + k] represents the distance between the display end position of the font of the character number = m + k and the horizontal scan line, and the value of Dist3 [m + k] is greater than or equal to SZX-1. For example, the horizontal scan line in the next horizontal scanning period does not straddle the blank portion of the font image after the character of character number = m + k, and it is not necessary to decode the compressed font data for the character and the subsequent characters. This is the reason why it is possible to determine whether or not it is necessary to decode the compressed font data for characters after the character number = m + k by comparing the index value Dist3 [m + k] with SZX-1.
また、本実施形態において、処理文字番号の示す文字の直後の文字についてのみ圧縮フォントデータのデコードの要否を判定するのではなく、指示値Dist3の値がSZX−1以上になるまで処理文字番号の示す文字に後続する文字について圧縮フォントデータのデコードの要否を判定する。表示対象の縦方向文字列の構成によっては、水平スキャンラインが図5(a)のFLIN2である場合のように、処理文字番号の示す文字(図5(a)に示す例では、“C”)の直後の文字(図5(a)に示す例では、“f”)については圧縮フォントデータのデコードが不要であっても、さらに次の文字(図5(a)に示す例では、2文字目の“I”)について圧縮フォントデータのデコードが必要になる場合があるからである。 Further, in this embodiment, it is not determined whether or not the compressed font data needs to be decoded only for the character immediately after the character indicated by the processing character number, but the processing character number is kept until the value of the instruction value Dist3 becomes SZX-1 or more. It is determined whether or not it is necessary to decode the compressed font data for the character subsequent to the character indicated by. Depending on the configuration of the vertical character string to be displayed, the character indicated by the processing character number (in the example shown in FIG. 5A, “C”), as in the case where the horizontal scan line is FLIN2 in FIG. ) Immediately after the character (“f” in the example shown in FIG. 5A), even if it is not necessary to decode the compressed font data, the next character (in the example shown in FIG. 5A, 2 This is because it may be necessary to decode the compressed font data for the character “I”).
以上説明したように、本実施形態によれば、上記第1および第2の処理をコントローラ105Aに実行させることで、プロポーショナルフォントによる縦方向文字列の表示が実現される。このように、本実施形態によれば、ラインバッファ方式の画像処理装置に、プロポーショナルフォントによる縦方向文字列の表示を行わせることが可能になる。
As described above, according to the present embodiment, by causing the
(C:変形)
以上本発明の実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、横方向文字列用のフォントの圧縮フォントデータの他に縦方向文字列用のフォントの圧縮フォントデータがROM203に予め格納されており、縦方向文字列の表示の際には後者を使用した。しかし、ROM203には横方向文字列用のフォントの圧縮フォントデータのみを格納しておき、縦方向文字列の表示の際には横方向文字列用の圧縮フォントデータ全体をデコードし、そのデコード結果の表すフォントの画像データに90度の時計回り回転を施して用いるようにしても良い。また、ROM203には縦方向文字列用の圧縮フォントデータのみを格納しておき、横方向文字列の表示の際には縦方向文字列用の圧縮フォントデータ全体をデコードし、そのデコード結果の表すフォントの画像データに90度の反時計回り回転を施して用いるようにしても良い。
(C: deformation)
Although the embodiment of the present invention has been described above, it goes without saying that the following modifications may be added to this embodiment.
(1) In the above embodiment, in addition to the compressed font data of the font for the horizontal character string, the compressed font data of the font for the vertical character string is stored in the
(2)上記実施形態では、ROM203に格納されているスプライトデータおよびフォントデータの圧縮符号化方式として先行する数画素のデコード結果を参照する方式が採用されていたが、他の方式を採用しても勿論良い。また、ROM203において圧縮符号化を施していないスプライトデータおよびフォントデータと圧縮符号化を施したものとが混在していても勿論良い。また、ROM203に非圧縮形式のスプライトデータおよびフォントデータのみを記憶させておく場合には、デコード部107を省略しても良いことは言うまでもない。
(2) In the above embodiment, a method of referring to the decoding result of several preceding pixels is adopted as a compression encoding method of sprite data and font data stored in the
(3)上記実施形態では、文字列を常に縦方向文字列として表示する場合について説明したが、文字列の属性データに当該文字列が縦方向文字列であるのか、それとも横方向文字列であるのかを示すフラグを含ませておき、当該フラグにしたがって縦方向文字列の表示制御(或いは横方向文字列の表示制御)をコントローラ105Aに行わせるようにしても良い。
(3) In the above embodiment, the case where a character string is always displayed as a vertical character string has been described. However, whether the character string is a vertical character string or a horizontal character string in the attribute data of the character string. It is also possible to include a flag indicating whether or not the
(4)上記実施形態では、プロポーショナルフォントによる縦方向文字列の表示を行わせる場合にのみ、属性データに各文字の表示開始位置および表示終了位置を示す情報が含まれていた。しかし、プロポーショナルフォントを用いるか否かを問わずに常に各文字の表示開始位置および表示終了位置を示す情報を属性データに含めておき、プロポーショナルフォントを用いない場合には、全ての文字について表示開始位置=0、表示終了位置=SZX−1をセットしておき、コントローラ105Aには常に(B−2)において説明した処理を実行させても良い。この場合、式(5)にしたがって算出されるDist3[m+k]は「(2+(k−1))×(SZX−1)−処理ライン番号」となる。ここで、全ての文字について処理ライン番号は、0≦処理ライン番号≦SZX−1となるのであるから、全ての文字についてDist3[m+k]は常にSZX−1以上となる。このため(B−2)における第1の処理において文字番号=m+kの文字について圧縮フォントデータのデコードが行われることはない。また、(B−2)における第2の処理では、処理文字番号=XE[m](=SZX−1)となったとき、処理文字番号および処理ライン番号のリセットが行われ、処理ライン番号はXS[m+1](=0)にリセットされる。つまり、上記のように表示開始位置および表示終了位置を設定しておけば、(B−2)における第1および第2の処理の処理内容は(B−1)における各処理の処理内容と完全に一致する。このように本変形例によれば、プロポーショナルフォントを用いるか否かを問わずに縦方向文字列の表示制御を統一的に行うことが可能になる。
(4) In the above embodiment, the attribute data includes information indicating the display start position and the display end position of each character only when the vertical character string is displayed using the proportional font. However, regardless of whether a proportional font is used or not, information indicating the display start position and display end position of each character is always included in the attribute data, and when no proportional font is used, display starts for all characters. Position = 0 and display end position = SZX-1 may be set, and the
(5)上記実施形態では、車載用の画像表示システムへの本発明の適用例を説明したが、例えば表示器を有する冷蔵庫や洗濯器、炊飯器などの所謂情報家電に内蔵される画像表示システムに本発明を適用しても勿論良い。この種の情報家電においても、画像表示システムを内蔵するためのスペースや表示器の設置スペースを十分にとることができず、表示器の縦置きやラインバッファ方式の採用を余儀なくされることが多いことに加えて、文字情報の表示頻度は極めて高いと考えられるからである。同様の理由により、携帯電話機や携帯型ゲーム機、PDAなどの携帯型情報端末の画像表示システムに本発明を適用することも考えられる。 (5) Although the application example of the present invention to the vehicle-mounted image display system has been described in the above embodiment, for example, an image display system incorporated in a so-called information home appliance such as a refrigerator, a washing machine, and a rice cooker having a display. Of course, the present invention may be applied. Even in this type of information home appliances, the space for installing the image display system and the installation space for the display cannot be sufficiently taken, and it is often necessary to install the display vertically or use a line buffer system. In addition, the display frequency of the character information is considered to be extremely high. For the same reason, it is conceivable to apply the present invention to an image display system of a portable information terminal such as a mobile phone, a portable game machine, or a PDA.
(6)上記実施形態ではプロポーショナルフォントによる縦方向文字列の表示制御への適用例を説明したが、縦方向文字列のカーニング(文字間隔の調整)に利用することも可能である。また、上記各実施形態では、表示対象の文字列が全て縦方向文字列である場合について説明したが、縦方向文字列と横方向文字列とが混在していても勿論良い。 (6) In the above-described embodiment, an example of application to display control of a vertical character string using a proportional font has been described. However, it can also be used for kerning (adjustment of character spacing) of a vertical character string. In each of the above embodiments, the case where all the character strings to be displayed are vertical character strings has been described, but it is of course possible that both vertical character strings and horizontal character strings are mixed.
100A…画像表示LSI、101…CPUインタフェース、102…カラーパレット記憶部、103…汎用テーブル、104…レジスタ、105A…コントローラ、106…ROMインタフェース、107…デコード部、107A…パターンデコーダ、107B…フォントデコーダ、108…画像データ生成部、108A…スプライトレンダリング部、108B…フォントレンダリング部、108C…ラインレンダリング部、109A,109B…ラインバッファ、109…画像出力部、110…クロック生成部、201…ホストCPU、202…LCD、203…ROM。
DESCRIPTION OF
Claims (5)
1水平スキャンライン分の画像を表す画像データを記憶するラインバッファと、
前記文字列の表示態様を示す属性データに基づいて取得したフォントデータを利用して1水平スキャンライン分の画像データを生成し、前記ラインバッファに書き込む描画処理を実行する画像データ生成部と、
各水平走査期間において水平スキャンラインの跨る文字を、前記文字列の表示態様を示す前記属性データを参照して特定し、該当する文字についての描画処理の実行を前記画像データ生成部に指示するコントローラと、
を具備し、
前記属性データは、前記文字列についてのパラメータとして、表示/非表示フラグと処理文字番号と処理ライン番号とを含むととともに、前記文字列を構成する各文字についてのパラメータとして、表示開始位置および表示終了位置を示す情報、を含み、
前記表示/非表示フラグは、前記文字列が表示対象であるか否かを示すパラメータであり、
前記処理文字番号は、水平スキャンラインが前記文字列を跨ぐ場合に当該水平スキャンラインの跨る文字を示すパラメータであり、
前記処理ライン番号は、前記処理文字番号の示す文字の何ライン目を水平スキャンラインが跨ぐかを示すパラメータであり、
前記コントローラは、
水平スキャンラインが前記文字列を跨いでいる場合に前記文字列を表示対象と判定して前記表示/非表示フラグに表示を示す値を設定し、
前記表示/非表示フラグが表示を示す値である場合に、前記処理文字番号の示す文字を描画対象として、前記水平スキャンラインを更新する毎に前記処理ライン番号を更新しつつ、前記処理ライン番号の示すラインが前記描画対象の文字の表示開始位置と表示終了位置の間のラインであるか否かを判定し、
表示開始位置と表示終了位置の間のラインであると判定した場合に、前記処理ライン番号の示すラインについての描画処理の実行を前記画像データ生成部に指示する
ことを特徴とする画像処理装置。 In an image processing apparatus for drawing a character string in which characters are continuously arranged in a direction perpendicular to a horizontal scan line,
A line buffer for storing image data representing an image for one horizontal scan line;
An image data generation unit that generates image data for one horizontal scan line using font data acquired based on attribute data indicating a display mode of the character string, and executes drawing processing to be written in the line buffer;
A controller that specifies a character across a horizontal scan line in each horizontal scanning period with reference to the attribute data indicating a display mode of the character string, and instructs the image data generation unit to execute a drawing process on the corresponding character When,
Comprising
The attribute data includes a display / non-display flag, a processed character number, and a processed line number as parameters for the character string, and includes a display start position and a display as parameters for each character constituting the character string. Including information indicating the end position,
The display / non-display flag is a parameter indicating whether or not the character string is a display target,
The processing character number is a parameter indicating a character across the horizontal scan line when a horizontal scan line straddles the character string,
The processing line number is a parameter indicating which line of the character indicated by the processing character number the horizontal scan line crosses,
The controller is
When a horizontal scan line straddles the character string, the character string is determined as a display target and a value indicating display is set in the display / non-display flag,
When the display / non-display flag is a value indicating display, the processing line number is updated while updating the processing line number every time the horizontal scan line is updated with the character indicated by the processing character number as a drawing target. It is determined whether the line indicated by is a line between the display start position and the display end position of the character to be drawn,
An image processing apparatus that instructs the image data generation unit to execute a drawing process for a line indicated by the processing line number when it is determined that the line is between a display start position and a display end position .
前記属性データに基づいて取得したフォントデータをデコードして前記画像データ生成部に与えるデコード部を有し、 A decoding unit that decodes the font data acquired based on the attribute data and gives the image data generation unit;
前記コントローラは、 The controller is
表示対象と判定した文字についてのフォントデータのデコードを前記デコード部に指示するとともに、当該文字に後続する各文字についてのフォントデータのデコードの要否を前記属性データに基づいて判定し、デコードを要すると判定された文字についてフォントデータのデコードを前記デコード部に指示する The decoding unit is instructed to decode the font data for the character that is determined to be displayed, and the necessity of decoding the font data for each character that follows the character is determined based on the attribute data. Then, the decoding unit is instructed to decode the font data for the determined character.
ことを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1.
ことを特徴とする請求項2に記載の画像処理装置。 The image processing apparatus according to claim 2.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012205332A JP6036072B2 (en) | 2012-09-19 | 2012-09-19 | Image processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012205332A JP6036072B2 (en) | 2012-09-19 | 2012-09-19 | Image processing device |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2014059496A JP2014059496A (en) | 2014-04-03 |
| JP2014059496A5 JP2014059496A5 (en) | 2015-02-05 |
| JP6036072B2 true JP6036072B2 (en) | 2016-11-30 |
Family
ID=50616003
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012205332A Active JP6036072B2 (en) | 2012-09-19 | 2012-09-19 | Image processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6036072B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5867458A (en) * | 1981-10-19 | 1983-04-22 | Canon Inc | Output device |
| JP2000020046A (en) * | 1998-06-30 | 2000-01-21 | Nec Home Electron Ltd | Picture display device |
| JP2002123247A (en) * | 2000-10-17 | 2002-04-26 | Sony Corp | Information processing apparatus, information processing method, and recording medium recording information processing method |
| JP2008197525A (en) * | 2007-02-15 | 2008-08-28 | Yamaha Corp | Image processing apparatus |
-
2012
- 2012-09-19 JP JP2012205332A patent/JP6036072B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014059496A (en) | 2014-04-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0863608A (en) | Computer graphic system and usage method of frame buffer | |
| US20130009965A1 (en) | Animation display device | |
| JP2013045401A (en) | Animation drawing device | |
| WO2010089805A1 (en) | Graphical user interface device and method for realizing graphical user interface | |
| JP6036072B2 (en) | Image processing device | |
| US20050104893A1 (en) | Three dimensional image rendering apparatus and three dimensional image rendering method | |
| JP2014035453A (en) | Image processor | |
| JP4719603B2 (en) | Drawing apparatus and broken line drawing method | |
| JP5114249B2 (en) | Display device and display method | |
| JP4439893B2 (en) | Image display system and image display processing apparatus | |
| JP2006251000A (en) | Display controller capable of superposition display | |
| KR101367246B1 (en) | System and method of multiple framebuffer emulation on virtual machine | |
| WO2014087541A1 (en) | Graphics rendering device | |
| US20130321449A1 (en) | Window combining device | |
| JP6392584B2 (en) | Vehicle display device | |
| JP2009116157A (en) | Screen display method of numerical control device | |
| JP2006018382A (en) | Image processing method and device | |
| JP5885827B2 (en) | Drawing control apparatus and drawing control program | |
| JP2007240848A (en) | Display program, data structure, and display device | |
| JP4409918B2 (en) | Graphic drawing apparatus and program thereof | |
| JP4461965B2 (en) | CHARACTER IMAGE GENERATION DEVICE, CHARACTER IMAGE GENERATION PROGRAM, AND CHARACTER IMAGE GENERATION METHOD | |
| EP2637164B1 (en) | Drawing device and drawing method | |
| JP2015219351A (en) | Image processor | |
| JP4666480B2 (en) | Line drawing device | |
| JP6113127B2 (en) | Vehicle display device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141212 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150721 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160517 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160531 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160729 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161004 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161017 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6036072 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |