(57)【要約】【課題】ラインバッファ方式の画像処理装置に縦方向文字列を表示させることを可能にする。【解決手段】文字列の属性データとして、処理文字番号、処理ライン番号および表示／非表示判定フラグを導入する。水平スキャンラインの位置ＶＤが縦方向文字列の表示位置Ｙに達したことを契機として表示／非表示判定フラグを１（すなわち、表示対象であることを示す値）にセットし、以降、水平スキャンラインの更新を行う毎に処理文字番号の示す文字の処理ライン番号により示される部分の描画を行う。これと並列に水平スキャンラインを更新する毎に処理ライン番号の値を１インクリメントし、処理ライン番号の値が文字サイズ−１に達したことを契機として処理文字番号を１インクリメントするとともに処理ライン番号を０にリセットする。【選択図】図３
2014035453.tif 000002
【特許請求の範囲】
【請求項１】
表示器における１スキャンライン分の画像を表す画像データを記憶するラインバッファと、
前記表示器に表示させる文字列の表示態様を示す属性データが格納される汎用テーブルと、
各種の文字のフォントを表すフォントデータを格納したメモリから、読み出しを指示された文字のフォントデータを読み出すメモリインタフェースと、
前記メモリから読み出されたフォントデータを利用して１スキャンライン分の画像データを生成し、前記ラインバッファに書き込む描画処理を実行する画像データ生成部と、
各水平走査期間において水平スキャンラインの跨る文字を前記汎用テーブルに格納された属性データを参照して特定し、該当する文字についての描画処理の実行を前記画像データ生成部に指示するコントローラと、を具備し、
前記文字列は、当該文字列を構成する各文字の高さ方向が水平走査方向に一致し、かつ、各文字を垂直走査方向に並べた縦方向文字列であり、
前記コントローラは、水平スキャンラインが縦方向文字列を跨いでいる場合に水平スキャンラインの跨る文字および当該文字の何ライン目を跨いでいるかを示すパラメータを水平スキャンラインを更新する毎に更新しつつ、当該パラメータの示す文字の当該パラメータの示すラインについての描画処理の実行を前記画像データ生成部に指示する
ことを特徴とする画像処理装置。
【請求項２】
前記メモリには、文字の高さ方向を水平走査方向に一致させたフォントを表す縦方向文字列用フォントデータが格納されており、縦方向文字列の属性データでは、構成文字の描画に縦方向文字列用フォントデータを用いることが指定されていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記メモリに記憶されているフォントデータには圧縮符号化が施されており、
前記メモリから読み出されたフォントデータをデコードして前記画像データ生成部に与えるデコード部をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、１ライン分の記憶容量を有するラインバッファを利用して画像データの描画および液晶ディスプレイなどの表示器への表示を行う画像処理装置に関する。
【背景技術】
【０００２】
周知の通り、表示器への静止画や動画の表示制御は、描画アプリケーションに従って静止画や動画の画像データをバッファに書き込む描画処理とバッファ内の画像データを読み出して表示器に表示させる表示処理とを同時並行的に進めることで実現される。このような描画処理および表示処理を行う画像処理装置としては、１フレーム分の画像データを記憶するフレームバッファを備えたフレームバッファ方式の画像処理装置と、１ライン分の画像データを記憶するラインバッファを備えたラインバッファ方式の画像処理装置がある。ラインバッファ方式の画像処理装置は、フレームバッファ方式の画像処理装置に比較して画像データの書き込み先となるバッファの記憶容量が少なくてすむため、小型化に適し、車載用の画像表示システム（例えば、スピードメータなどのメータ類を画像表示により実現するシステム）など省スペース化が必要となるシステムの構築に好適である。なお、ラインバッファ方式の画像処理装置に関する文献として例えば特許文献１がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１５２５２号公報
【特許文献２】特開平０３−１８４１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、表示器の設置態様としては、垂直走査方向が上下方向（鉛直方向）となり、水平走査方向が左右方向となるように設置する態様が一般的であった。しかし、近年では、垂直走査方向が左右方向となり、水平走査方向が上下方向となるように反時計回りに９０度回転させて表示器を設置する態様も多々見受けられるようになってきている。例えば、前述した車載用の画像表示システムでは、ダッシュボードの運転席側に表示器を設置する必要があるが、設置スペースに限りがあるため縦置きによる表示器の設置が必要となることが多い。以下、垂直走査方向が上下方向（鉛直方向）となり、水平走査方向が左右方向となるように配置された表示器を「横置き表示器」と呼び、これを反時計回りに９０度回転させて設置された表示器のことを「縦置き表示器」と呼ぶ。なお、「横置き表示器」を時計回りに９０度回転させて設置された表示器のことを「縦置き表示器」としても良い。
【０００５】
表示器に表示される画像は、スプライトなどの図柄や文字列、線などの表示要素を多数組み合わせて構成されている。横置き表示器における文字列の表示は、図４（ａ）に示すように、文字列を構成する各文字のフォントを水平走査方向に並べて表示することで実現されていた。これに対して、縦置き表示器に文字列を表示する場合には、文字列の読み取りを容易にするために、図４（ｂ）に示すように、文字列を構成する各文字のフォントとして、図４（ａ）に示すものを時計回りに９０度回転させたフォント（すなわち、文字の高さ方向が水平走査方向に一致するフォント）を垂直走査方向に並べて表示することが必要となる。以下では、図４（ａ）に示すように、構成文字のフォントを水平走査方向に並べて構成される文字列を「横方向文字列」と呼び、図４（ｂ）に示すように、構成文字のフォントを垂直走査方向に並べて構成される文字列を「縦方向文字列」と呼ぶ。また、以下では、横方向文字列を構成するためのフォントを「横方向文字列用フォント」と呼び、縦方向文字列を構成するフォントを「縦方向文字列用フォント」と呼ぶ。
【０００６】
前述したように、ラインバッファ方式の画像処理装置は省スペース化の要求の高いシステムの構築に適するものの、この種のシステムでは表示器の設置スペースにも制約が課されることが多く、表示器の縦置きに対応することを要求されることが多い。表示器の縦置きに対応するには、縦方向文字列の表示機能を有していることが必要となるが、縦方向文字列を表示する機能を備えたラインバッファ方式の画像処理装置は従来提案されていなかった。
【０００７】
本発明は上記課題に鑑みて為されたものであり、１ライン分の記憶容量を有するラインバッファを利用して画像データの描画および表示器への表示を行う画像処理装置に縦方向文字列を表示させることを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、表示器における１スキャンライン分の画像を表す画像データを記憶するラインバッファと、前記表示器に表示させる文字列の表示態様を示す属性データが格納される汎用テーブルと、各種の文字のフォントを表すフォントデータを格納したメモリから、読み出しを指示された文字のフォントデータを読み出すメモリインタフェースと、前記メモリから読み出されたフォントデータを利用して１スキャンライン分の画像データを生成し、前記ラインバッファに書き込む描画処理を実行する画像データ生成部と、各水平走査期間において水平スキャンラインの跨る文字を前記汎用テーブルに格納された属性データを参照して特定し、該当する文字についての描画処理の実行を前記画像データ生成部に指示するコントローラと、を具備し、前記文字列は、当該文字列を構成する各文字の高さ方向が水平走査方向に一致し、かつ、各文字を垂直走査方向に並べた縦方向文字列であり、前記コントローラは、水平スキャンラインが縦方向文字列を跨いでいる場合に水平スキャンラインの跨る文字および当該文字の何ライン目を跨いでいるかを示すパラメータを水平スキャンラインを更新する毎に更新しつつ、当該パラメータの示す文字の当該パラメータの示すラインについての描画処理の実行を前記画像データ生成部に指示することを特徴とする画像処理装置、を提供する。
【０００９】
より詳細に説明すると、縦方向文字列の属性データが汎用テーブルに格納されると、コントローラはその縦方向文字列に対応づけてレジスタ等に第１および第２のパラメータを設定する。ここで、第１のパラメータとは、水平スキャンラインが当該第１のパラメータに対応する縦方向文字列を跨いでいる場合に、水平スキャンラインの跨る文字を示すパラメータであり、第２のパラメータとは、当該第１のパラメータの示す文字の何ライン目を水平スキャンラインが跨いでいるのかを示すパラメータである。なお、第１のパラメータの初期値は、縦方向文字列の先頭の文字を示す値であり、第２のパラメータの初期値は上記先頭の文字の先頭ラインを示す値である。本発明においては、水平スキャンラインが更新される毎に第１および第２のパラメータが更新され、縦方向文字列を構成する各文字のフォントの画像データが先頭文字のものから順に１ライン分ずつラインバッファに描画される。これにより、表示器への縦方向文字列の表示が実現される。上記第１および第２のパラメータの初期化については、汎用テーブルへの縦方向文字列の属性データの書き込みの際にホストＣＰＵに行わせても良く、また、画像処理装置の初期化の際に行っても良い。なお、特許文献２には、文字列の縦書きレイアウトについての記載があるが、縦置き表示器における縦方向文字列の表示制御を開示するものではなく、本願発明とは全く異なる技術である。
【００１０】
より好ましい態様においては、前記メモリには、文字の高さ方向を水平走査方向に一致させたフォントを表す縦方向文字列用フォントデータが格納されており、縦方向文字列の属性データでは、構成文字の描画に縦方向文字列用フォントデータを用いることが指定されていることを特徴とする。このような態様によれば、縦方向文字列を構成する各文字の表示を行う際に、横方向文字列用のフォントに時計回りに９０度の回転編集を施して使用する態様に比較して、演算処理量が削減され、描画性能の低下や演算回路の規模増大を回避することが可能になる。
【００１１】
また、別の好ましい態様においては、前記メモリに記憶されているフォントデータには圧縮符号化が施されており、前記メモリから読み出されたフォントデータをデコードして前記画像データ生成部に与えるデコード部をさらに有することを特徴とする。このような態様によれば、各種フォントデータを格納するためのメモリの小容量化を図ることができ、画像表示システム全体の省スペース化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態の画像表示ＬＳＩ１００の構成例を示す図である。
【図２】文字列の属性データを説明するための図である。
【図３】画像表示ＬＳＩ１００の動作を説明するための図である。
【図４】表示器における文字列の表示態様を説明するための図である。
【発明を実施するための形態】
【００１３】
（Ａ：構成）
図１は、この発明による画像処理装置の一実施形態である画像表示ＬＳＩ（Large  Scale  Integrated  circuit；大規模集積回路）１００を含む画像表示システムの構成を示すブロック図である。図１では、画像表示ＬＳＩ１００の機能の理解を容易にするため、同画像表示ＬＳＩ１００に接続されたホストＣＰＵ２０１と、ＬＣＤ（Liquid  Crystal  Display；液晶表示器）２０２と、ＲＯＭ２０３が同画像表示ＬＳＩ１００とともに図示されている。図１に示す画像表示システムは、例えば乗用車などの車両に搭載され、スピードメータ等の画像や交通情報などを表す文字情報を表示する車載システムであり、ＬＣＤ２０２は車両のダッシュボードの運転席部分に縦置きされる。
【００１４】
ホストＣＰＵ２０１は、図１に示す画像表示システムを制御するプロセッサである。ホストＣＰＵ２０１による制御の下でＬＣＤ２０２に表示される１フレーム分の画像は、スプライトと呼ばれる図柄の部品や文字列、線を組み合わせて構成されている。ホストＣＰＵ２０１は、ＬＣＤ２０２にスプライトや文字列、線を表示させるためのコマンドやデータを画像表示ＬＳＩ１００に供給する。ＲＯＭ２０３には、各種のスプライトおよび文字列を構成する各種文字のフォントについての圧縮形式の画像データや、アルファブレンディングに用いる圧縮形式のアルファデータが記憶されている。詳細については後述するが、本実施形態では、スプライトおよびフォント等の圧縮符号化方式として、デコード対象の画素に先行する複数の画素（例えば、スプライトの場合は左隣、左上および直上の３画素）のデコード結果が必要となる圧縮符号化方式が採用されている。
【００１５】
画像表示ＬＳＩ１００は、ホストＣＰＵ２０１から与えられるコマンドやデータにしたがって、ＬＣＤ２０２に画像を表示させるラインバッファ方式の画像処理装置である。図１に示すように、画像表示ＬＳＩ１００は、ＣＰＵインタフェース（図１では、「ＣＰＵＩ／Ｆ」と表記）１０１と、カラーパレット記憶部１０２と、汎用テーブル１０３と、レジスタ１０４と、コントローラ１０５と、ＲＯＭインタフェース（図１では、「ＲＯＭＩ／Ｆ」と表記）１０６と、デコード部１０７と、画像データ生成部１０８と、画像出力部１０９と、これら各部に動作クロックを供給するクロック生成部１１０と、を有している。
【００１６】
ＣＰＵインタフェース１０１は、ホストＣＰＵ２０１から供給されるコマンドやデータを受け取って画像表示ＬＳＩ１００内の関係する各部に供給するインタフェースである。カラーパレット記憶部１０２は、画像表示ＬＳＩ１００をカラーパレットモードで動作させる際のカラーパレットを表すカラーパレットデータを記憶する回路である。カラーパレットモードとは、例えば２４ｂｉｔ（或いは１６Ｂｉｔ）カラーのうちの予め指定された数分の色（例えば２５６色）によりカラー画像を表現する動作モードであり、カラーパレットデータとはそれらの色を指定するデータである。汎用テーブル１０３は、ホストＣＰＵ２０１からＣＰＵインタフェース１０１を介して供給される属性データを記憶する属性データ記憶部の役割を担っている。レジスタ１０４は、スプライト表示等のための各種制御データを記憶する回路である。本実施形態では、カラーパレット記憶部１０２、汎用テーブル１０３、およびレジスタ１０４を各々別個に設けたが、１つの揮発性メモリ内の記憶領域の割り当てによりこれらの役割を実現しても良い。
【００１７】
属性データは、各垂直走査期間においてＬＣＤ２０２に表示させる画像を構成するスプライトや文字列の表示態様（画面上のどの位置にどのような形で表示するのかなど）を示すデータである。属性データは、垂直走査期間毎にホストＣＰＵ２０１から供給され、ＣＰＵインタフェース１０１によってスプライトや文字列などの画像構成要素毎に汎用テーブル１０３に格納される。
【００１８】
図２は、汎用テーブル１０３における文字列の属性データの格納例を示す図である。文字列の属性データには、文字列全体の表示態様（文字列の表示位置など）を表すデータと、当該文字列を構成する各文字を示すデータと、各文字の表示に用いるフォントタイプとが含まれる。図２において、アドレスがＬＹＳＡからＬＹＥＡの領域には、文字列全体の表示態様を示すデータ（図２におけるレイヤ＃０、＃１および＃２の各々）がＬＣＤ２０２に表示させる画像に含まれる文字列の数分だけ格納される。
【００１９】
例えば、図２に示すレイヤ＃０は、同図２に示す文字列“ＡＢＣＤＥ”の表示態様を示すデータである。このレイヤ＃０には、当該文字列の表示位置（ＬＣＤ２０２を横置きした場合の表示領域の左上隅を座標原点する当該文字列の左上隅の座標ＸおよびＹ）が含まれている。また、図２に示すレイヤ＃０には、汎用テーブル１０３において上記文字列を構成する各文字（すなわち、文字番号０〜文字番号４の各文字）を示すデータ（例えば、文字コード）を記憶した領域を規定するアドレス（ＦＣＳＡおよびＦＣＥＡ）と、これら各文字の表示に使用するフォントの種類および文字の大きさ（水平走査方向の画素数ＳＺＸおよび垂直走査方向の画素数ＳＺＹ）を示すフォントタイプ属性を記憶した領域のアドレス（ＦＴＹＰ）とが含まれている。
【００２０】
図２に示すように、ＲＯＭ２０３には、ゴシック体や明朝体などのフォントタイプ毎に各種文字について圧縮形式のフォントの画像データが文字コード順に格納されている。本実施形態では、上記文字番号の順に上記フォントタイプ属性の示すフォントタイプの圧縮形式の画像データを読み出してデコードすることで、文字列を構成する各文字についての描画処理が実現される。
【００２１】
前述したように、本実施形態では、ＬＣＤ２０２は縦置きされているため、ＬＣＤ２０２に表示させる文字列は全て縦方向文字列とされている。そして、本実施形態では、縦方向文字列の表示を可能にするために、文字列に対応付けて、処理文字番号、処理ライン番号および表示／非表示判定フラグといった３種類のパラメータがレジスタ１０４に格納されている。具体的には、本実施形態では、文字列全体の表示態様を規定するデータ（例えば、図２におけるレイヤ＃０）に上記３種類の新たなパラメータの格納先のアドレスが含まれている。なお、文字列全体の表示態様を規定するデータに上記３種類の新たなパラメータを含めておいても勿論良い。これら新たな３種類のパラメータの役割については重複を避けるため、動作例において明らかにする。また、本実施形態では、縦方向文字列の表示を容易にするために、縦方向文字列用フォント（すなわち、高さ方向が水平走査方向に一致するように配置された文字フォント）の圧縮フォントデータがＲＯＭ２０３に格納されており、縦方向文字列の属性データでは当該フォントタイプ属性として当該縦方向文字列用フォントを示す値がセットされている。
【００２２】
コントローラ１０５は、各垂直走査期間において、各表示対象の画像データのＬＣＤ２０２での表示に先行して、各種画像構成要素（すなわち、スプライト、文字列および線）の画像データの生成を画像データ生成部１０８に順次指令する回路である。具体的には、コントローラ１０５は、各垂直走査期間において、汎用テーブル１０３に記憶された各画像構成要素の属性データに基づき、それら画像構成要素の画像データを生成する処理の実行スケジュールを作成し、この実行スケジュールに従って、各種画像構成要素についての画像データ生成指示を画像データ生成部１０８に供給する。本実施形態では、前述した３種類の新たなパラメータの導入に加えて、コントローラ１０５に本実施形態の特徴を顕著に示す処理を実行させることで、縦方向文字列の表示が実現される。この点については、後に詳細に説明する。
【００２３】
画像データ生成部１０８は、各種画像構成要素の画像データを先頭ラインから順に１ライン分ずつ生成して画像出力部１０９のラインバッファに書き込む処理をコントローラ１０５からの画像データ生成指示にしたがって実行する回路である。図１に示すように、画像データ生成部１０８は、デコード部１０７およびＲＯＭインタフェース１０６を介してＲＯＭ２０３に接続されている。ＲＯＭインタフェース１０６は、デコード部１０７から与えられる指示に応じてＲＯＭ２０３から圧縮形式の画像データ（スプライトの画像データであるスプライトデータ、或いはフォントの画像データであるフォントデータ）を読み出し、デコード部１０７に出力する。
【００２４】
デコード部１０７は、コントローラ１０５による制御の下、ＲＯＭインタフェース１０６を介してＲＯＭ２０３から圧縮形式のスプライトデータ或いは圧縮形式のフォントデータを読み出し、コントローラ１０５により指示された１ライン分の画像のデコードを画素単位で行ってそのデコード結果を画像データ生成部１０８に与える。図１に示すように、デコード部１０７は、圧縮形式のスプライトデータをデコードするためのパターンデコーダ１０７Ａと、圧縮形式のフォントデータをデコードするためのフォントデコーダ１０７Ｂを含んでいる。図１では詳細な図示を省略したが、パターンデコーダ１０７Ａおよびフォントデコーダ１０７Ｂの各々はＲＯＭ２０３から読み出した圧縮データを格納するための第１のワークメモリと、後続画素のデコードに必要となる所定数分の画素データを保持しておくための第２のワークメモリとを有しており、第２のワークメモリの格納内容を順次更新しつつ第１のワークメモリに格納された圧縮データを１画素単位でデコードする。
【００２５】
画像データ生成部１０８は、スプライトレンダリング部１０８Ａ、フォントレンダリング部１０８Ｂおよびラインレンダリング部１０８Ｃを含んでいる。スプライトレンダリング部１０８Ａは、デコード部１０７によりデコードされたスプライトデータに、画像データ生成指示により指示された編集（拡大・縮小・変形、カラー演算など）を施してラインバッファへの書き込みを行う回路である。フォントレンダリング部１０８Ｂは、デコード部１０７によりデコードされたフォントデータに画像データ生成指示により指示された編集（拡大・縮小・変形、カラー演算など）を施してラインバッファへの書き込みを行う回路である。そして、ラインレンダリング部１０８Ｃは、画像データ生成指示にしたがって線を表す画像データをラインバッファへ書き込む回路である。
【００２６】
画像出力部１０９は、各々水平スキャンライン１本分の画像データを記憶可能な容量を持ったラインバッファ１０９Ａおよび１０９Ｂを有している。これらのラインバッファ１０９Ａおよび１０９Ｂは、一方が書き込み用ラインバッファ、他方が読み出し用ラインバッファとされ、ＬＣＤ２０２の水平同期信号に同期して、その時点までに書き込み用ラインバッファであったものが読み出し用ラインバッファとされ、読み出し用ラインバッファであったものが書き込み用ラインバッファとされる。各水平走査期間では、読み出し用ラインバッファに記憶された１ライン分の画像データが読み出され、ＬＣＤ２０２に供給されて表示される一方、１水平走査期間後に表示される１ライン分の画像データが画像データ生成部１０８によって書き込み用バッファに書き込まれる。
以上が画像表示ＬＳＩ１００の構成である。
【００２７】
（Ｂ：動作）
次いで、画像表示ＬＳＩ１００の動作を説明する。
前述したように、画像表示ＬＳＩ１００の汎用テーブル１０３には、各垂直走査期間においてＬＣＤ２０２に表示させる画像を構成するスプライトや文字列等についての属性データの書き込みがホストＣＰＵ２０１によって垂直走査期間毎に行われる。各垂直走査期間においては、コントローラ１０５は、水平走査期間毎に、次の水平走査期間における水平スキャンラインがそれら属性データに対応する各画像構成要素を跨いでいるか否か（すなわち、次の水平走査期間において表示対象となるか否か）を判定し、表示対象と判定された画像構成要素についての画像データ生成指示を画像構成要素毎に生成して画像データ生成部１０８に与える処理を実行する。
【００２８】
次の水平走査期間において表示対象となるか否かの判定対象が横方向文字列（図４（ａ）参照）であれば、当該横方向文字列の属性データの示す垂直走査方向の表示位置Ｙ、垂直走査方向の当該横方向文字列の大きさＳＺＹ、および次の水平走査期間において描画する水平スキャンラインの位置ＶＤが以下の式（１）の関係を満たす場合に、コントローラ１０５は当該横方向文字列を表示対象と判定する（スプライトについて表示対象であるか否かの判定を行う場合も同様である）。
Ｙ≦ＶＤ≦Ｙ＋ＳＺＹ・・・（１）
【００２９】
これに対して、縦方向文字列（図４（ｂ）参照）の場合は、１文字目については前掲式（１）を用いて表示対象であるか否かを判定することができるが、２文字目以降については、前掲式（１）を用いて表示対象であるか否かの判定を行うことはできない。これは、縦方向文字列の２文字目以降の文字について前掲式（１）により表示／非表示の判定を行うには、当該２文字目以降の文字の各々の表示位置を示すデータが属性データに含まれている必要があるが、このようなデータは文字列の属性データに含まれていないからである。また、縦方向文字列全体についての垂直走査方向の表示位置に判定対象の文字に先行する全ての文字の垂直走査方向の大きさを加算することで当該判定対象の文字の垂直走査方向の表示位置を算出することも不可能ではないが、このような表示位置の算出を２文字目以降の各文字について行うことは、描画性能の低下や演算回路の規模増大などの問題を生じさせることになる。
【００３０】
そこで、本実施形態では、前述したように、処理文字番号、処理ライン番号および表示／非表示判定フラグの３つの新たなパラメータを導入することで、描画性能の低下や演算回路の規模増大などの問題を生じさせることなく、ラインバッファ方式の画像処理装置に縦方向文字列を表示させることを実現している。ここで、表示／非表示判定フラグは、次の水平走査期間における水平スキャンラインが、この表示／非表示判定フラグに対応する縦方向文字列を跨いでいるか否か（すなわち、当該縦方向文字列が次の水平走査期間において表示対象となるか否か）を示すパラメータである。処理文字番号は、当該処理文字番号に対応する縦方向文字列を次の水平走査期間における水平スキャンラインが跨いでいる場合に、当該水平スキャンラインの跨る文字を示すパラメータである。そして、処理ライン番号は、処理文字番号の示す文字の何ライン目が当該水平スキャンラインに重なっているかを示すパラメータである。以下、これら３種類のパラメータを使用した縦方向文字列の表示制御を説明する。
【００３１】
本実施形態では、上記３種類のパラメータは、画像処理ＬＳＩ１００が初期化されるときに全て０にリセットされる。なお、文字列についての属性データの書き込みの際にホストＣＰＵ２０１或いはコントローラ１０５によって上記３種類のパラメータに初期値として０をセットしても良い。
【００３２】
コントローラ１０５は、まず、横方向文字列の場合と同様に前掲式（１）に示す演算を行って縦方向文字列の１文字目の表示／非表示を判定する。すなわち、コントローラ１０５は、次の水平走査期間において描画する水平スキャンラインの位置ＶＤが縦方向文字列の属性データのレイヤ＃０に含まれている表示位置Ｙに達するまで非表示と判定し、上記３種類のパラメータの更新を行わない。そして、次の水平走査期間において描画する水平スキャンラインの位置ＶＤが縦方向文字列の属性データのレイヤ＃０に含まれている表示位置Ｙに達すると（すなわち、ＶＤ＝Ｙになると）、コントローラ１０５は、上記３種類のパラメータの更新を開始する。
【００３３】
より詳細に説明すると、水平スキャンラインの位置ＶＤが縦方向文字列の属性データのレイヤ＃０に含まれている表示位置Ｙに達すると、コントローラ１０５は、表示／非表示判定フラグを１（すなわち、表示対象であることを示す値）にセットし、表示／非表示判定フラグが０にリセットされるまで、水平スキャンラインを更新する毎に（すなわち、水平スキャンラインの位置ＶＤを１ずつインクリメントする毎に）、以下の第１および第２の処理を実行する。第１の処理は、その時点の処理文字番号および処理ライン番号を参照し、当該処理文字番号により示される文字の当該処理ライン番号により示されるラインの描画を画像データ生成部１０８に指示する処理である。そして、第２の処理は、処理ライン番号が文字の最終ラインを示す場合（具体的には、処理ライン番号＝文字サイズＳＺＸ−１の場合）には処理文字番号をインクリメントして後続の文字を示す値に更新するとともに処理ライン番号を当該後続する文字の先頭ラインを示す値（すなわち、０）に更新する一方、逆に、処理ライン番号が最終ラインを示していない場合には当該処理ライン番号をインクリメントして次のラインを示す値に更新する処理である。その後、コントローラ１０５は、最終文字の処理ライン番号が最終ラインを示す値となったことを契機として表示／非表示フラグを０にリセットする。
【００３４】
例えば、図４（ｂ）に示す縦方向文字列について、表示位置（Ｘ，Ｙ）として（７，７）が設定されており、かつ文字サイズとしてＳＺＸ＝ＳＺＹ＝３２が設定されている場合、水平スキャンラインの位置ＶＤが０，１、２・・・と更新される過程において、上記３種類のパラメータは図３に示すように更新される。図３に示すように、ＶＤ＝７〜１６６の間、上記縦方向文字列についての表示／非表示判定フラグは１となって当該縦方向文字列についての描画処理が行われる。具体的には、ＶＤ＝７〜３８の期間には処理文字番号＝０であるから、上記縦方向文字列の１文字目（すなわち、“Ａ”）についての描画処理が行われ、ＶＤ＝３８のとき、処理ライン番号は文字の最終ラインを示す“３１”であるので、水平スキャンラインを更新する際に処理文字番号をインクリメントして“１”とし、処理ライン番号を“０”とする。そして、同様に、ＶＤ＝３９〜７０の期間には処理文字番号＝１であるから、上記縦方向文字列の２文字目（すなわち、“Ｂ”）についての描画処理が行われ、・・・ＶＤ＝１３５〜１６６の期間には処理文字番号＝４であるから、上記縦方向文字列の５文字目（すなわち、“Ｅ”）についての描画処理が行われといった具合である。そして、これら描画処理に後続して前述した表示処理が行われる結果、ＬＣＤ２０２に縦方向文字列“ＡＢＣＤＥ”が表示される。
【００３５】
このように、本実施形態によれば、判定対象の文字に先行する全ての文字の垂直方向の大きさを加算することなく現処理ラインにおける表示対象であるか否かの判定を行うことができるので、１ライン分の記憶容量を有するラインバッファを利用して画像データの描画および表示器への表示を行う画像処理装置に縦方向文字列を表示させることが可能になる。
【００３６】
（Ｃ：変形）
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
（１）上記実施形態では、横方向文字列用フォントデータの他に縦方向文字列用フォントデータがＲＯＭ２０３に予め格納されており、縦方向文字列の表示の際には縦方向文字列用フォントデータを使用した。しかし、ＲＯＭ２０３には横方向文字列用フォントデータのみを格納しておき、縦方向文字列の表示の際には横方向文字列用フォントデータの表すフォントに９０度の時計回り回転を施して用いるようにしても良い。また、ＲＯＭ２０３には縦方向文字列用フォントデータのみを格納しておき、横方向文字列の表示の際には縦方向文字列用フォントデータの表すフォントに９０度の反時計回り回転を施して用いるようにしても良い。
【００３７】
（２）上記実施形態では、ＲＯＭ２０３に格納されているスプライトデータおよびフォントデータの圧縮符号化方式として先行する数画素のデコード結果を参照する方式が採用されていたが、他の方式を採用しても勿論良く、また、ＲＯＭ２０３において圧縮符号化を施していないスプライトデータおよびフォントデータと圧縮符号化を施したものとが混在していても勿論良い。また、ＲＯＭ２０３に非圧縮形式のスプライトデータおよびフォントデータのみを記憶させておく場合には、デコード部１０７を省略しても良いことは言うまでもない。
【００３８】
（３）上記実施形態では、車載用の画像表示システムへの本発明の適用例を説明したが、例えば表示器を有する冷蔵庫や洗濯器、炊飯器などの所謂情報家電に内蔵される画像表示システムに本発明を適用しても勿論良い。この種の情報家電においても、画像表示システムを内蔵するためのスペースや表示器の設置スペースを十分にとることができず、表示器の縦置きやラインバッファ方式の採用を余儀なくされることが多いことに加えて、文字情報の表示頻度は極めて高いと考えられるからである。同様の理由により、携帯電話機や携帯型ゲーム機、ＰＤＡなどの携帯型情報端末の画像表示システムに本発明を適用することも考えられる。
【符号の説明】
【００３９】
１００…画像表示ＬＳＩ、１０１…ＣＰＵインタフェース、１０２…カラーパレット記憶部、１０３…汎用テーブル、１０４…レジスタ、１０５…コントローラ、１０６…ＲＯＭインタフェース、１０７…デコード部、１０７Ａ…パターンデコーダ、１０７Ｂ…フォントデコーダ、１０８…画像データ生成部、１０８Ａ…スプライトレンダリング部、１０８Ｂ…フォントレンダリング部、１０８Ｃ…ラインレンダリング部、１０９Ａ，１０９Ｂ…ラインバッファ、１０９…画像出力部、１１０…クロック生成部、２０１…ホストＣＰＵ、２０２…ＬＣＤ、２０３…ＲＯＭ。
【図１】
2014035453.tif 000003
【図２】
2014035453.tif 000004
【図３】
2014035453.tif 000005
【図４】
2014035453.tif 000006