本発明は、文字幅の異なるいわゆるプロポーショナル文字を画像データとして発生する画像発生装置、及びプロポーショナル文字を表示する画像表示装置に関する。
文字幅の異なる文字を表示するための画像発生方法として、下記の特許文献に開示されたものがある。特許文献1に開示された画像発生方法においては、文字ごとに次の文字までの間に挿入される空白の幅を設定することにより、文字と文字の間隔(文字間隔)をそろえて表示するものである。
上記特許文献に開示された従来の画像発生方法においては、文字間隔をそろえるために文字ごとに設定された幅の空白を挿入するため、文字間隔が広がってしまい、狭い間隔に文字間隔を揃えることができず、かえって文字の読みやすさが損なわれるという課題があった。
この発明は、上記従来の課題を解決するためになされたものであり、文字ごとに設定した文字幅データに基づいてプロポーショナル文字を画像データとして発生することにより、文字間隔が広がりすぎることなく、読みやすいプロポーショナル文字の表示を可能とすることを目的とする。
この発明は、文字の表示位置ごとに文字コードと前記文字コードに関連付けられた文字幅データを含む文字制御コードを記憶する文字制御コード記憶手段と、現在の文字表示位置に対応する文字制御コードを文字制御コード記憶部から読み出して、読み出された文字制御コードの文字幅データと過去の文字表示位置に基づいて、現在の文字表示位置の発生期間を制御する位置制御手段と、読み出された文字制御コードの文字コードに対応する文字パターンを出力する文字パターン記憶手段と、文字パターンに基づいて文字の文字形状に対応した画像データを出力する画像出力手段とを備えたことを特徴とする画像発生装置を提供する。
この発明によれば、文字位置ごとに設定された文字幅データに基づいて、表示される文字の画素幅を制御することにより、文字位置ごとに画素幅を変えることができ、さらに設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を表示することができる。
実施の形態1.
図1はプロポーショナル文字について説明するための図であり、(A)はプロポーショナル文字で「RADIO」を表した例を示し、(B)は固定幅文字で「RADIO」を表した例を示している。文字の高さはすべて16画素であるとしている。
図1(A)での「RADIO」のそれぞれの文字の幅については、「R」、「A」、「D」及び「O」は8画素幅であるが、「I」は3画素幅である。「I」は文字の形状が水平方向に小さい(横幅が狭い)。そのため、文字の形状に合わせて、文字の表示に用いられる横方向の画素の数(「文字画素幅」或いは単に「画素幅」と言うことがある)を小さくすることで、隣接する文字との間隔が広くなりすぎるのを防ぐことができる。このように、文字の形状に応じた画素幅で表示する文字をプロポーショナル文字、あるいはプロポーショナル表示と呼び、隣接する文字との間隔が均等になるため、読みやすさが向上し、見栄えもよいという利点がある。
一方、図1(B)での「RADIO」のそれぞれの文字の幅は、すべて8画素幅である。「I」のように形状が水平方向に小さい(横幅が狭い)文字であっても、同じく8画素幅で表示されているため、「I」から両隣の文字との間隔が、他の部分よりも広くなってしまう。このように、文字の形状に関わらず固定の幅で表示される文字のことを固定幅文字、あるいは固定幅表示と呼ぶ。文字画素幅が単一であるために表示の際の制御が簡単であることから、簡素な構成で実現することができる反面、隣接する文字との間隔が不均一になるため、読みやすさを損ねたり、見栄えがよくないといった欠点がある。
図2は、この発明の実施の形態1における画像表示装置の構成を示す図である。図2に示す画像表示装置は、画像発生部1と、画像合成部2と、表示部3とを有する。
図3は、実施の形態1における画像発生部1の構成を示す図である。図3に示す画像発生部1は、位置制御部4と、文字制御コード記憶部5と、文字パターン記憶部6と、色データ記憶部7と、データ出力部8とを有する。
まず、概略の動作について説明する。
図2において、入力画像信号DINは画像発生部1及び画像合成部2に入力される。画像発生部1は、後述のようにして画像データDCHを発生する。画像合成部2は、入力画像データ(DIN)と画像発生装置が出力する画像データDCHとを合成する。表示部3は、画像合成分2で合成された画像データを表示する。なお、画像合成を行わずに、
画像発生分1が出力した画像データDCHを表示部3で表示する場合もある。
図3において、入力画像信号DINに含まれる水平同期信号HIN及び垂直同期信号VINが位置制御部4に入力される。また、文字制御コード記憶部5から読み出された文字制御コードCTDが、位置制御部4に入力される。
位置制御部4は、入力水平同期信号HIN、入力垂直同期信号VIN及び文字制御コード記憶部5から入力される文字制御コードCTDと、画素クロックCLKとに基づいて、文字の表示位置を示す文字表示位置P(XP,YP)と、文字表示位置P(XP、YP)における画素位置を示す文字内水平画素位置XQ及び行内ライン位置YQを出力する。
文字表示位置P(XP,YP)は文字制御コード記憶部5に入力される。また、文字内水平画素位置XQ及び行内ライン位置YQはデータ出力部8に入力される。
文字制御コード記憶部5は、あらかじめ画面上に表示する文字などを表す文字制御コードが格納されており、入力された文字表示位置Pに基づいて対応する文字制御コードCTDを出力する(文字表示位置Pがアドレスとして与えられ、該アドレスで指定される記憶位置に格納されている文字制御コードCTDが読み出される)。文字制御コードCTDは、位置制御部4、文字パターン記憶部6及びデータ出力部8に出力される。
文字パターン記憶部6は、入力された文字制御コードCTDに基づいて、文字パターンPATを出力する。文字パターンPATはデータ出力部8に入力される。
データ出力部8は、入力された文字パターンPAT、文字制御コードCTD、文字内水平画素位置XQ及び行内ライン位置YQに基づいて、画素ごとに色コードCLCを発生し、色データ記憶部7に出力する。
色データ記憶部7は、入力された色コードCLCに基づいて、色データCLDを出力し、データ出力部8に出力する。
さらに、データ出力部8は、入力された色データCLDに基づいて、文字形状に対応した画像データDCH(以降では文字画像データDCHと呼ぶことにする)を出力するとともに、文字パターンPAT、文字制御コードCTDに基づいて、合成制御信号CNTを出力する。文字画像データDCHと合成制御信号CNTは、画像合成部2に入力される(図2参照)。
画像合成部2は、合成制御信号CNTに基づいて、入力画像データDINと文字画像データDCHとを合成し、合成画像データDPを出力する。合成画像データDPは表示部3に入力される。表示部3は、合成画像データDPに基づいて画像の表示を行う。
以下、上記した各部の動作をより詳細に説明する。
図4は、文字の配列順と文字位置P(XP,YP)の関係を説明するための図である。水平方向は水平文字位置XPを示し、垂直方向は行位置YPを示している。この例では水平に64文字、垂直に16行の合計1024文字を配列したものである。例えば、図4において2行目の4文字目の斜線で示された位置は、文字位置P(XP,YP)=(4,2)として表されるものとする。この文字位置P(XP、YP)は文字の配列順を示すものであり、画面上の表示範囲を示すものではない。
次に、文字制御コード記録部5の動作について説明する。
図5は、文字制御コード記憶部5に格納される文字制御コードCTDを説明するための図である。文字制御コード記憶部5には、文字位置P(XP,YP)における表示内容を指定する文字制御コードCTDが格納される。
文字制御コードCTDは、例えば図5に示すように、文字コードCC、文字幅データCW及び文字修飾情報CAから構成されるものとする。
文字コードCCとは、例えば、CC=1の場合は「R」、CC=2は「A」、CC=3は「D」、CC=4は「I」、CC=5は「O」を示すといったような、文字の種類をコードとして表したものである。
次に、文字幅データCWは、文字位置P(XP,YP)において表示される文字の画素幅を示し、文字コードCCで与えられる文字に関連付けられた文字幅データCWで指定される画素幅(この画素幅に対しても同じ符号「CW」を用いる)で表示されることになる。図5に示す例では、表示位置P=1においては、文字コードCC=1に対応する文字「R」が、画素幅CW=8で表示され、表示位置P=4においては、文字コードCC=4に対応する文字「I」が、画素幅CW=3で表示されることを意味する。
最後に、文字修飾情報CAは、文字位置P(XP,YP)において文字をどのように修飾して表示するかを示す情報であり、例えば、文字のフォアグラウンド色の色コード、文字のバックグラウンド色の色コード、文字の縁取りの設定、などが挙げられる。
文字コードCCと文字幅データCWは互いに独立に設定することができるが、文字間隔が均等に表示されるプロポーショナル文字の表示を行うためには、文字コードCCが指す文字に関連付けて文字幅データCWを適切に定める必要がある。
このように、表示位置P(XP,YP)に対応した文字制御コードCTDを文字制御コード記憶部5から取得することができる。
位置制御部4の動作について説明する。
図6は、位置制御部4の垂直方向の動作を説明するための図である。図6の例では、16行のすべてが16ライン幅(高さ)の行からなる場合を示している。
位置制御部4は、入力垂直同期信号VINと入力水平同期信号HINに基づいて、ライン数をカウントし、文字表示を開始するラインになった時点で、行位置YP=1とする。次に、YP=1(1行目)の先頭ラインを基準にライン数をカウントして、ライン数が行幅16ラインに達すると、行位置YPをYP=1からYP=2に変更する。これにより、16ライン期間分の行位置YP=1が発生される。
YP=2以降も同様に、各行の幅である16ライン期間を計数するごとに、行位置YPを1ずつ増加させることにより、行位置YPを得る。
また、行の先頭ラインを基準としてライン数をカウントした結果を、行内ライン位置YQとして発生する。例えば、YP=2(2行目)における破線で示したラインが、2行目の先頭から10ライン目にある場合、YQ=10として示される。
このようにして、位置制御部4は、垂直文字位置YPと行内ライン位置YQを得るので、画像の任意のライン位置が、YP行目のYQライン目であることを知ることができる。
図7は、位置制御部4の水平方向の動作を説明するための図である。図7において、(A)は水平の文字位置XP、(B)は文字幅データCW、(C)は画素幅、(D)は文字位置P(XP,YP)、(E)は表示される文字をそれぞれ示している。
位置制御部4は、行位置YP=1以降の期間において、入力水平同期信号HINと画素クロックCLKに基づいて、画素の水平位置をカウントして、文字表示を開始する水平位置に達した時点で、水平文字位置XP=1とする。位置制御部4は、行位置YP=1と水平文字位置XP=1で与えられる文字位置P(XP,YP)=(1,1)を出力する。文字位置P=(1,1)は、文字制御コード記憶部5に入力される。文字制御コード記憶部5から文字位置P=(1,1)に対応する文字制御コードCTDが出力され、位置制御部4に入力される。位置制御部4は、文字位置P=(1,1)に対応する文字制御コードCTDのうち文字幅データCW=8に基づいて、画素クロックを8周期分カウントして、水平文字位置XP=1を8画素期間分だけ発生する。これに合わせて、文字位置P(XP,YP)=(1,1)も8画素期間分だけ発生される。
次に、位置制御部4は、水平の文字位置XPをXP=1からXP=2に変更し、文字位置P(XP,YP)=(2,1)を出力する。位置制御部4は、文字位置P=(2,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字位置P=(2,1)に対応する文字幅データCW=8を取得する。位置制御部4は、取得した文字幅データCW=8に基づいて、画素クロックを8周期分カウントして、水平文字位置XP=2を8画素期間分だけ発生する。これに合わせて、文字位置P(XP,YP)=(2,1)も8画素期間分だけ発生される。
その後も同様に、位置制御部4は、水平の文字位置XPを1増加させた後、文字位置P(XP,YP)に対応する文字幅データCWを文字制御コード記憶部5から取得して、文字幅データCWが示す画素期間分の文字位置P(XP,YP)を発生することを繰り返す。
この動作により、文字位置P=(3,1)については対応する文字幅データCW=8に基づいて8画素期間の文字位置P=(3,1)が発生される。同様に、文字位置P=(4,1)については対応する文字幅データCW=3に基づいて3画素期間の文字位置P=(4,1)が発生され、文字位置P=(5,1)については対応するCW=8に基づいて8画素期間の文字位置P=(5,1)が発生される。
このようにして、位置制御部4は、文字制御コード記憶部5に格納された文字位置P(XP,YP)に対応する文字幅データCWに合わせて、文字位置P(XP,YP)を発生することができる。つまり、文字位置P(XP,YP)ごとに設定した文字幅データCWに応じて、文字位置P(XP,YP)を示す信号を発生することができる。
さらに位置制御部4は、水平文字位置XPが切り替わる位置を基準とした水平方向の画素位置を示す文字内画素位置XQを発生する。例えば図7では、水平文字位置XP=3の期間で破線によって示された画素位置が、水平文字位置XP=3の先頭から6画素目である場合、文字内画素位置XQはXQ=6として示される。
つまり、位置制御部4は、水平文字位置XPと、水平文字位置XP内における水平の画素位置を示す文字内画素位置XQを得ることができ、画像の任意の位置において何文字目の何画素目かを知ることができる。
上記で説明したように垂直方向と水平方向の動作がなされるため、位置制御部4は、文字位置P(XP,YP)と、文字位置P(XP,YP)内における水平及び垂直の画素位置を示す、文字内画素位置XQと行内ライン位置YQを得ることができる。
位置制御部4から出力された文字位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQと行内ライン位置YQはデータ出力部8に入力される。
文字パターン記憶部6の動作について説明する。
文字パターン記憶部6には、文字制御コード記憶部5から出力された文字制御コードCTDに含まれる文字コードCCが入力される。
図8は、文字パターン記憶部6について説明する図である。図8(A)は文字コードCCと文字パターンPATの関係を示す。文字パターン記憶部6には、文字コードCCのそれぞれに対応して、文字の形状を示す文字パターンPATが格納される。例えば、文字コードCC=1に対しては「R」の形状を示す文字パターンPAT(1)が格納されており、文字コードCC=2に対しては「A」の形状を示す文字パターンPAT(2)が格納されている。同様に、CC=3には「D」の形状を示すPAT(3)が格納され、CC=4には「I」の形状を示すPAT(4)が格納され、CC=5には「O」の形状を示すPAT(5)が格納される。
図8(B)は文字パターンPATの例を示す。図8(B)における文字パターンの画素の値は、例えば、黒が文字のフォアグラウンド部分、白が文字のバックグラウンド部分を示すような2値データであるとする。このようにして、文字の形状を示すことができる。
また、図8(B)に示すように、文字パターンPATのサイズは垂直サイズ16画素、水平サイズが8画素の固定サイズとし、この固定のサイズに対して文字パターンの形状を左詰めに割り当てるもととする。図5で示した文字制御コードCTDを例にすると、「R」、「A」、「D」及び「O」は文字幅データ8、「I」は文字幅データ3と設定されている。図8(B)に示すように、文字幅データ8の「R」、「A」、「D」及び「O」については、文字パターンの画素をすべて用いて表されるが、文字幅データ3の「I」については、左端の3画素幅分だけが用いられ、残りの右側5画素幅分は使用されない。
このように、文字パターンPATは文字パターンのサイズに対して左詰めになるように形成される。
また、上記の「I」の文字パターンの例で示したように、文字幅データCWに関わらず文字パターンのサイズを固定サイズとしているので、文字パターンの格納アドレスは、文字パターンのサイズと文字コードから単純な乗算により算出することができる。
このようにして、文字パターン記憶部6は文字コードCCに対応する文字パターンPATを発生して、出力部8へ出力する。
色データ記憶部7の動作について説明する。
図9は、色データ記憶部7に格納される色データCLDを説明する図である。
図9(A)は、色コードCLCと色データCLDの関係を示し、図9(A)の例では、色データ記憶部7は、256色分色コードCLC=1〜256に対応する256色分の色データCLD(1)〜CLD(256)を格納する。例えば、色コードCLC=1に対しては色データCLD(1)が出力され、色コードCLC=256に対しては色データCLD(256)が出力される。
また、図9(B)は色データCLDの構成を示している。色データCLDは、たとえばR(赤)データ、G(緑)データ、B(青)データの3色のデータから構成される。
このように、色データ記憶部7は色コードCLCに対応するR、G、Bの3色からなる色データCLDを出力する。
データ出力部8の動作について説明する。
データ出力部8には、位置制御部4から出力された文字内画素位置XQと行内ライン位置YQ、文字制御コード記憶部5から出力された文字制御コードCTD、及び文字パターン記憶部6から出力された文字パターンPATが入力される。
図10はデータ出力部に入力される、文字パターンPATと、文字内画素位置XQならびに行内ライン位置YQとの関係を示す図である。文字内画素位置XQと行内ライン位置YQによって、文字パターンPATにおける画素位置を特定することができる。データ出力部8は、特定された文字パターンの画素位置の値を参照して、文字のフォアグラウンド部分かバックグラウンド部分かを判定する。
図11は、文字修飾の一例として文字の縁取りを示す図である。図11(A)は元となる文字パターンを示し、(B)は縁取りを行った場合の表示された文字を示す。図11(A)において、黒で示された画素が文字のフォアグラウンド部分であり、白で示された画素がバックグラウンド部分である。縁取りをフォアグラウンド部分の上下左右1画素に対して行うとした場合、図11(B)に斜線部で示される画素が縁取り部分の画素となる。
文字のフォアグラウンド部分の画素に対しては、文字制御コードCTDに含まれる文字修飾情報に設定されたフォアグラウンド用の色コードを出力し、文字の縁取り部分の画素に対しては、文字修飾情報に設定された縁取り用の色コードを出力し、縁取り部分でないバックグラウンド部分の画素に対しては、文字修飾情報に設定されたバックグラウンド用の色コードを、色コードCLCとして出力する。
このようにして、データ出力部8は、文字パターンPATと文字制御コードCTDに基づいて、フォアグラウンド部分、バックグラウンド部分、縁取り部分について、対応する色コードCLCを出力する。
出力部8は、出力した色コードCLCに対応する色データCLDを色データ記憶部7から読み出して、色データCLDを取得する。そして、取得した色データCLDを文字画像データDCHとして出力する。その際、予め、特定の色コード、例えばCLC=256、を透明色として設定している場合には、色コードCLC=256である画素については、読み出された色データCLD(256)の値に関わらず、該当する画像データが透明色であることを示す合成制御信号CNTを出力する。例えば、合成制御信号CNTは透明色はゼロ、非透明色は1を示すものとする。
このようにして画像発生部1は、文字位置P(XP,YP)ごとに設定された文字制御コード基づいて、文字位置ごとに画素幅を変えることができ、さらに文字コードと文字幅データを適切に組み合わせることにより、文字ごとに画素幅が異なるプロポーショナル文字を画像データとして出力することができる。
出力部8から出力された画像データDCHと合成制御信号CNTは、画像合成部2に入力される。
次に、画像合成部2の動作を説明する。
画像合成部2には、入力画像データDIN、画像発生部1から出力された文字画像データDCH及び合成制御信号CNTが入力される。
図12は画像合成部2の動作を説明する図である。図12において、(A)は入力画像データDIN、(B)は画像発生部1から出力される画像データDCH、(C)は画像発生部1から出力される合成制御信号CNT、(D)は合成された画像データDPを示す。
図12(B)の文字画像データDCHにおいて、「RADIO」や「CD」といった文字線の部分は、文字位置P(XP,YP)ごとに設定されたフォアグラウンド部分の色データを有する部分である。また、文字の周囲の矩形範囲は、文字位置Pごとに設定されたバックグラウンドの色データを有する部分である。
(C)の合成制御信号CNTは、黒で示された部分が1(非透明)、白で示された部分が0(透明)を表している。合成制御信号CNTは、(B)の文字画像データDCHの形状に合わせて発生されるが、この例では「RADIO」の周囲の矩形範囲と「CD」の文字部分が非透明、それ以外が透明となるように発生されるとする。
(D)に示すように、合成制御信号CNTが非透明(CNT=1)を示す部分では、画像発生部1からの文字画像データDCHが選択され、合成制御信号CNTが透明(CNT=0)を示す部分では、入力画像データDINが選択される。その結果、「RADIO」の文字部分を含む矩形領域と「CD」の文字部分とが、入力画像データDINの画像の上に重なるように、合成画像データDPが生成される。
このように、画像合成部12は、合成制御信号CNTに応じて入力画像DINの上に、文字画像データDCHによる文字を重ねて表示することができる。
合成画像データDPは表示部3に入力され、表示部3は合成画像DPに基づいて画像を表示する。
実施の形態1の画像表示装置は、文字位置ごとに文字コードと文字幅データを設定し、文字位置ごとに設定された文字幅データに基づいて、表示される文字の画素幅を制御することにより、文字位置ごと画素幅を変えることができ、さらに設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を表示することができる。
上記の例では、文字パターンPATの画素値は、文字のフォアグラウンド部分とバックグラウンド部分を示す2値データとしているが、3値以上の多値としてもよい。この場合、1文字分の範囲に3種類以上の色を使用することができるため、滑らかな輪郭の文字や、カラフルな文字など、より高品位な文字表示を行うことができる。
また、上記の例では、特定の色コードに対して透明色を設定したが、色コードに対してそれぞれ透過率を設定してもよい。この場合、画像合成部2では、透過率に応じた重み付けで、入力画像データDINと画像発生部1からの文字画像データDCHの加重平均値を算出するように動作させることによって、半透明な文字を表示することができる。
実施の形態2.
図13は、この発明の実施の形態2における画像発生部1を示す図である。画像発生部1は、基準位置データ生成部9と、位置制御部10と、文字制御コード記憶部5と、文字パターン記憶部6と、色データ記憶部7と、データ出力部8とを有する。
画像発生部1の概略動作について説明する。
入力水平同期信号HINと入力垂直同期信号VINは、基準位置データ生成部9と位置制御部10に入力される。基準位置データ生成部9は入力同期信号HINに基づいて、固定幅の水平文字位置(同じ水平行内で発生した文字の数と固定の画素幅との積で求まる基準位置)を示す基準水平文字位置XFを生成し、位置制御部10に出力する。位置制御部10は、入力水平同期信号HIN、入力垂直同期信号VIN、基準水平文字位置XF、及び文字制御コード記憶部5から入力される文字制御コードCTDに基づいて、文字位置P(XP,YP)、文字内画素位置XQ、行内ライン位置YQ、及び文字と文字の隙間を示すブランク信号BLKを出力する。文字位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQ、行内ライン位置YQ及びブランク信号BLKはデータ出力部8に入力される。
文字制御コード記憶部5は、入力された文字位置P(XP,YP)に基づいて、対応する文字制御コードCTDを出力する。文字制御コードCTDは、位置制御部4、文字パターン記憶部6及びデータ出力部8に入力される。
文字パターン記憶部6は、入力された文字制御コードCTDに基づいて、文字コードCCに対応する文字パターンPATを出力する。文字パターンPATはデータ出力部8に入力される。
データ出力部8は、入力された文字パターンPAT、文字制御コードCTD、文字内水平画素位置XP及び行内ライン位置YPに基づいて、画素ごとに色コードCLCを発生し、色データ記憶部7に出力する。
色データ記憶部7は、入力された色コードCLCに基づいて、対応する色データCLDを出力し、データ出力部8に出力する。
データ出力部8は、入力された色データCLDに基づいて、文字形状に対応した画像データDCH(以降では文字画像データDCHと呼ぶことにする)を出力するとともに、文字パターンPAT、文字制御コードCTDに基づいて、合成制御信号CNTを出力する。
次に、各部の動作について詳細な説明を行う。
まず、文字制御コード記憶部5の動作について説明する。
図14は、文字制御コード記憶部5に格納される文字制御コードCTDを説明するための図である。図5に示した例と同様に、文字制御コード記憶部5は、文字位置P(XP,YP)における表示内容をそれぞれ表す文字制御コードCTDが格納される。図14に示した例では、文字制御コードCTDは、文字コードCC、文字幅データCW、位置リセットコードRST、及び文字修飾情報CAから構成されるものとする。
文字コードCC、文字幅データCW及び文字修飾情報については、すでに実施の形態1において図5を用いて説明した内容と同じであるため、説明を省略する。
位置リセットコードRSTは、水平方向の文字表示位置を所定の位置(文字を固定の画素幅で発生した場合の各文字の表示位置)に初期化するための制御コードである。図15は位置リセットコードRSTの機能について説明するための図である。(A)は画素幅8の固定幅による文字表示位置を示している。(B)は位置リセットコードRSTを使用した場合のプロポーショナル文字の表示の様子を示しており、(C)は位置リセットコードRSTを使用しない場合のプロポーショナル文字の表示の様子を示している。
まず(C)を参照する。「I」の画素幅は3である。そのため、「I」以降の文字「O」、「 」(スペース)、「C」、「D」の表示位置は、(A)の固定幅の文字表示位置よりも5画素分ずつ左(前方)にずれて表示される。
一方、(B)においては、「C」に対して位置リセットコードRST=1を与えるとする。「I」以降の文字「O」及び「 」(スペース)については、(C)と同様に(A)の固定幅の表示位置よりも5画素分左にずれるが、位置リセットコードRST=1である文字「C」は、1つ前の文字「 」(スペース)に隣接するのではなく、(A)の固定幅の表示位置に表示される。「C」の後の「D」については、RST=0であるので「C」に隣接して表示される。
つまり、位置リセットコードRSTは、文字位置のリセットの要否を表す制御コード、より詳しく言うと、文字位置P(XP,YP)ごとに、固定幅の文字位置に表示するか、1つ前の文字に隣接して表示するかの指定を行うための制御コードであり、後により詳しく説明するように、位置制御部10は、文字制御コード記憶部5から読み出された文字制御コードの文字位置リセットコードRSTに応じて、現在の文字の表示開始位置を、直前の文字表示終了位置に基づいて定めるか、所定の基準位置に定めるかの選択を行う。例えば、リセットコードのうち、特定の文字の次の文字に関連付けられたものは、リセットを要求するものであり、位置制御部10は、リセットコードRSTがリセットを要求するものであるとき、基準位置を表すデータで指定される基準位置を現在の文字の表示開始位置とする。ここで言う「特定の文字」には、例えば、スペース「 」、コロン「:」、セミコロン「;」が含まれる。
文字制御コード記憶部5は、文字コードCC、文字幅データCW、位置リセットコードRST、修飾情報CAからなる文字制御コードCTDを、表示位置P(XP,YP)ごとに記憶して、入力された表示位置P(XP,YP)に対応する文字制御コードCTDを出力する。
図16は、基準位置データ生成部9及び位置制御部10の動作を説明するための図である。まず、基準位置データ生成部9の動作を説明する。基準位置データ生成部9は、入力水平同期信号HINと画素クロックCLKに基づいて、画素の水平位置を計数して、文字表示を開始する水平位置に達した時点で、基準水平文字位置XF=1とする。基準位置データ生成部4は、固定の画素幅8に相当する8画素期間を計数したのち、基準水平文字位置XFをXF=1からXF=2に変更する。これにより、8画素期間の基準水平文字位置XF=1が生成される。以降同様に、8画素期間ごとに1ずつ増加するような基準水平文字位置XFを生成する。
基準位置データ生成部9から出力された基準水平文字位置XFは、位置制御部10に入力される。
次に、位置制御部10の動作を説明する。
位置制御部10の垂直方向の動作は、すでに実施の形態1で図6を用いて説明した位置制御部4の垂直方向の動作と同じであるため、説明を省略する。位置制御部10は、垂直文字位置YPと行内ライン位置YQを出力する。
位置制御部10の水平方向の動作について説明する。
図16において、(B)は水平文字位置XP、(C)は文字幅データCW、(D)は位置リセットコードRST、(E)はブランク信号BLK、(F)は画素幅、(G)は文字位置P(XP,YP)、(H)は表示される文字をそれぞれ示している。
位置制御部10は、行位置YP=1以降の期間において、入力水平同期信号HINと画素クロックに基づいて、画素の水平位置を計数して、文字表示を開始する水平位置に達した時点で、水平の文字位置XP=1とする。位置制御部10は、行位置YP=1と水平の文字位置XP=1で与えられる文字位置P(XP,YP)=(1,1)を出力する。文字位置P=(1,1)は、文字制御コード記憶部5に入力される。文字制御コード記憶部5から文字位置P=(1,1)に対応する文字制御コードCTDが出力され、位置制御部10に入力される。位置制御部10は、文字位置P(1,1)に対応する文字制御コードCTDのうち、位置リセットコードRST=0と文字幅データCW=8を取得する。位置リセットコードRST=0の場合は、ブランク信号BLK=0とするとともに、文字幅データCW=8に基づいて画素クロックCLKを8周期分カウントして、水平の文字位置XP=1を8画素期間分だけ発生する。これにより、文字位置P(XP,YP)=(1,1)が8画素期間分だけ発生されることになる。
次に、位置制御部10は、水平の文字位置XPをXP=1からXP=2に変更し、文字位置P(XP,YP)=(2,1)を出力する。位置制御部10は、文字位置P=(2,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字位置P=(2,1)に対応する位置リセットコードRST=0と文字幅データCW=8を取得する。ここでも位置リセットコードRST=0であるので、ブランク信号BLK=0とするとともに、取得した文字幅データCW=8に基づいて水平の文字位置XP=2を8画素期間分だけ発生する。これにより、文字位置P(XP,YP)=(2,1)が8画素期間分だけ発生される。
その後も同様に、位置制御部10は、水平の文字位置XPを1増加させた後、文字位置P(XP,YP)に対応する文字幅データCWを文字制御コード記憶部5から取得して、位置リセットコードRST=0に基づいてブランク信号BLK=0を発生するとともに、文字幅データCWが示す画素期間分の文字位置P(XP,YP)を発生することを繰り返す。
この動作により、文字位置P=(3,1)については対応する文字幅データCW=8に基づいて8画素期間の文字位置P=(3,1)が発生される。同様に、文字位置P=(4,1)については対応する文字幅データCW=3に基づいて3画素期間の文字位置P=(4,1)が発生され、文字位置P=(5,1)については対応するCW=8に基づいて8画素期間の文字位置P=(5,1)が発生され、文字位置P=(6,1)については対応する文字幅データCW=8に基づいて8画素期間の文字位置P=(6,1)が発生される。ブランク信号BLKについてはBLK=0のままである。
次に、位置制御部10は、水平の文字位置XPをXP=6からXP=7に変更し、文字位置P(XP、YP)=(7,1)を出力する。位置制御部10は、文字位置P=(6,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字位置P=(7,1)に対応する位置リセットコードRST=1と文字幅データCW=8を取得する。
ここで、位置リセットコードRST=1の場合、ブランク信号BLK=1を発生する。この時点では、(A)に示す基準の水平文字位置XFはXF=6を示している。(A)基準水平文字位置XFが、(B)に示す水平文字位置XP=7に等しい値、XF=7となったときに、ブランク信号BLK=1をBLK=0に変更する。文字位置P(XP,YP)=(4,1)で文字「I」が3画素幅であったことから、以降の文字位置Pが5画素分だけずれているため、ブランク信号BLK=1である期間は5画素期間である。
位置制御部10は、ブランク信号BLK=1である期間では画素幅のカウントを行わず、ブランク信号BLK=0に変化した時点から、取得した文字幅データCW=8に基づいて8画素期間をカウントする。ブランク信号BLK=1の期間が5画素期間、カウントにより求められた8画素期間の合計13画素期間の文字位置P=(7,1)が発生される。
この後、位置制御部10は水平の文字位置XPをXP=7からXP=8に変更して文字位置P(XP,YP)=(8,1)を出力する。
以降、位置制御部10は同様の動作を繰り返す。
このようにして、位置制御部10は、文字位置P(XP,YP)を、文字制御コード記憶部5に格納された文字位置P(XP,YP)に対応する文字幅データCWで指定された画素期間分に合わせて発生するとともに、位置リセットコードRSTに応じて文字位置P(XP,YP)の発生期間を基準水平文字位置XFに合わせることができる。また、位置リセットコードRST=1とした場合の、文字と文字の隙間をブランク信号BLK=1で示すことができる。
さらに、位置制御部10は、文字位置P(XP,YP)における文字表示が開始される位置を基準とした水平方向の画素位置を示す文字内画素位置XQを発生する。P(XP,YP)=(3,1)の部分に示すように、位置リセットコードRST=0の場合は、水平文字位置XPがXP=2からXP=3に切り替わる位置を基準に、画素位置XQが発生される。また、P(XP,YP)=(7,1)の部分に示すように、位置リセットコードRST=1の場合は、ブランク信号BLKがBLK=1からBLK=0に変化した位置を基準として、画素位置XQが発生される。
このようにして、位置制御部10は、水平の文字位置XPと、水平の文字位置XP内における水平の画素位置を示す文字内画素位置XQと、位置リセットコードRST=1によって発生された文字と文字の隙間を示すブランク信号BLKを得ることができ、画像の任意の位置において、文字の隙間であるか、それとも何文字目の何画素目であるかを知ることができる。
位置制御部10から出力された文字位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQ、行内ライン位置YQ及びブランク信号BLKはデータ出力部8に入力される。
文字パターン記憶部6及び色データ記憶部7の動作は、実施の形態1で既に説明した内容と同じであるため、説明を省略する。
データ出力部8の動作について説明する。
データ出力部8には、位置制御部10から出力された文字内画素位置XQと行内ライン位置YQとブランク信号BLK、文字制御コード記憶部5から出力された文字制御コードCTD、及び文字パターン記憶部6から出力された文字パターンPATが入力される。
ブランク信号BLKがBLK=1の場合、該当する画素が文字と文字の隙間に位置することを意味している。この場合は、データ出力部8は、予め隙間用に設定された色コードを、色コードCLCとして出力する。
ブランク信号BLK=0の場合は、データ出力部8は以下のように動作する。
図10はデータ出力部に入力される、文字パターンPATと、文字内画素位置XQならびに行内ライン位置YQとの関係を示す図であり、文字パターンPATにおける水平位置と垂直位置を文字内画素位置XQと行内ライン位置YQで指定することができる。データ出力部8は、文字パターンPATをもとに、文字内画素位置XQと行内ライン位置YQが示す画素位置では、文字のフォアグラウンド部分かバックグラウンド部分かを判定する。
図11は、文字修飾の一例として文字の縁取りを示す図である。図11(A)は元となる文字パターンを示し、(B)は縁取りを行った場合の表示された文字を示す。図11(A)において、黒で示された画素が文字のフォアグラウンド部分であり、白で示された画素がバックグラウンド部分である。縁取りをフォアグラウンド部分の上下左右1画素に対して行うとした場合、図11(B)に斜線部で示される画素が縁取り部分の画素となる。
文字のフォアグラウンド部分の画素に対しては、文字制御コードCTDに含まれる文字修飾情報に設定されたフォアグラウンド用の色コードを出力し、文字の縁取り部分の画素に対しては、文字修飾情報に設定された縁取り用の色コードを出力し、縁取り部分でないバックグラウンド部分の画素に対しては、文字修飾情報に設定されたバックグラウンド用の色コードを、色コードCLCとして出力する。
このようにして、データ出力部8は、ブランク信号BLK、文字パターンPAT及び文字制御コードCTDに基づいて、文字と文字の隙間部分、フォアグラウンド部分、バックグラウンド部分、縁取り部分について、対応する色コードCLCを出力する。
出力部8は、出力した色コードCLCに対応する色データCLDを色データ記憶部7から読み出して、色データCLDを取得する。そして、取得した色データCLDを文字画像データDCHとして出力する。その際、予め、特定の色コード、例えばCLC=256、を透明色として設定している場合には、色コードCLC=256である画素については、読み出された色データCLD(256)の値に関わらず、該当する画像データが透明色であることを示す合成制御信号CNTを出力する。例えば、合成制御信号CNTは透明色はゼロ、非透明色は1を示すものとする。
このようにして画像発生部1は、文字位置P(XP,YP)ごとに設定された文字制御コードによって、文字ごとに画素幅が異なるプロポーショナル文字を文字画像データとして出力することができる。また、プロポーショナル文字の色や修飾内容を文字位置P(XP,YP)ごとに変えることができる。
図17は、別の文字列の場合を示す図である。
(A)は固定の画素幅8の文字表示位置を示しており、(B)及び(C)は6文字分のプロポーショナル文字のあとに、「CD」を表示した場合を示しており、(B)及び(C)のいずれも「C」の位置では、位置リセットコードRST=1、「C」以外は位置リセットコードRST=0としている。(B)は「C」より前の6文字に「RADIO 」と表示した例であり、「RADIO 」の6文字は合計43画素期間で表示される。一方、(C)は「C」より前の6文字に「IIIII 」と表示した例であり、「IIIII 」の6文字は合計23画素期間で表示される。(B)と(C)のように、文字「C」より前に位置する文字の表示期間が異なっている場合であっても、文字「C」を(A)に示す固定幅の文字位置に対して同じ位置で表示することが可能である。
これにより、前方に表示されるプロポーショナル文字の内容が変わっても、画面上に対して文字の位置を固定的に設定することができる。
以上、スペースの直後の文字に関連付けられる位置リセットコードを「1」とする場合について説明したが、コロン「:」や、セミコロン「;」の直後の文字に関連付けられる位置リセットコードを「1」にすることとしても良い。
実施の形態2における画像発生装置は、文字位置ごとに文字コードと文字幅データと位置リセットコードを設定し、文字幅データに応じて表示される文字の画素幅を制御するとともに、位置リセットコードに応じて文字位置を所定の位置に発生するよう制御することにより、文字位置ごとに画素幅を変えることができるうえ、過去の文字内容に関わらず文字位置を画面上の所定位置に固定することができる。また、設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を発生することができる。
プロポーショナル文字について説明するための図である。
この発明の実施の形態1の画像表示装置の構成を示す図である。
図2の画像発生部1の構成を示す図である。
実施の形態1における文字位置を説明する図である。
図3の文字制御コード記憶部5の動作を説明する図である。
図3の位置制御部4の垂直動作を説明する図である。
図3の位置制御部4の水平動作を説明する図である。
図3の文字パターン記憶部6の動作を説明する図である。
図3の色データ記憶部7の構成を示す図である。
図3のデータ出力部8の動作を説明する図である。
図3のデータ出力部8の動作を説明する図である。
図2の画像合成部の動作を説明するための別の図である。
この発明の実施の形態2における画像発生部2の構成を示す図である。
図13の文字制御コード記憶部5の動作を説明するための図である。
実施の形態2における位置リセットコードRSTを説明するための図である。
図13の位置制御部10の水平動作を説明するための図である。
実施の形態2における画像発生部1の動作を説明するための図である。
符号の説明
1 画像発生部、 2 画像合成部、 3 表示部、 4 位置制御部、 5 文字制御コード記憶部、 6 文字パターン記憶部、 7 色データ記憶部、 8 データ出力部、 9 基準位置データ生成部、 10 位置制御部。
この発明は、文字の表示位置ごとに文字コードと前記文字コードに関連付けられた文字幅データを含む文字制御コードを記憶する文字制御コード記憶手段と、現在の文字表示位置に対応する文字制御コードを文字制御コード記憶手段から読み出して、読み出された文字制御コードの文字幅データと過去の文字表示位置に基づいて、現在の文字表示位置の発生期間を制御する位置制御手段と、読み出された文字制御コードの文字コードに対応する文字パターンを出力する文字パターン記憶手段と、文字パターンに基づいて文字の文字形状に対応した画像データを出力する画像出力手段とを備えたことを特徴とする画像発生装置を提供する。
本発明は、文字幅の異なるいわゆるプロポーショナル文字を画像データとして発生する画像発生装置、及びプロポーショナル文字を表示する画像表示装置並びに画像発生方法及び画像表示方法に関する。
文字幅の異なる文字を表示するための画像発生方法として、下記の特許文献に開示されたものがある。特許文献1に開示された画像発生方法においては、文字ごとに次の文字までの間に挿入される空白の幅を設定することにより、文字と文字の間隔(文字間隔)をそろえて表示するものである。
上記特許文献に開示された従来の画像発生方法においては、文字間隔をそろえるために文字ごとに設定された幅の空白を挿入するため、文字間隔が広がってしまい、狭い間隔に文字間隔を揃えることができず、かえって文字の読みやすさが損なわれるという課題があった。
この発明は、上記従来の課題を解決するためになされたものであり、文字ごとに設定した文字幅データに基づいてプロポーショナル文字を画像データとして発生することにより、文字間隔が広がりすぎることなく、読みやすいプロポーショナル文字の表示を可能とすることを目的とする。
この発明は、
文字の表示位置ごとに、文字コードと、前記文字コードに関連付けられた文字幅データと、前記文字コードに関連付けられ、文字表示位置のリセットの要否を表す文字表示位置リセットコードを含む文字制御コードを記憶する文字制御コード記憶手段と、
現在の文字表示位置に対応する文字制御コードを前記文字制御コード記憶手段から読み出して、読み出された文字制御コードの文字表示位置リセットコードに応じて、現在の文字の表示開始位置を、直前の文字表示終了位置に基づいて定めるか、所定の基準位置に定めるかの選択を行い、これとともに、前記文字制御コードの文字幅データに基づいて現在の文字の表示期間を制御する位置制御手段と、
読み出された文字制御コードの文字コードに対応する文字パターンを出力する文字パターン記憶手段と、
文字パターンに基づいて文字の文字形状に対応した画像データを出力する画像出力手段と
を備えたことを特徴とする画像発生装置を提供する。
この発明によれば、文字表示位置ごとに設定された文字幅データに基づいて、表示される文字の画素幅を制御することにより、文字表示位置ごとに画素幅を変えることができ、さらに設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を表示することができる。
実施の形態1.
図1はプロポーショナル文字について説明するための図であり、(A)はプロポーショナル文字で「RADIO」を表した例を示し、(B)は固定幅文字で「RADIO」を表した例を示している。文字の高さはすべて16画素であるとしている。
図1(A)での「RADIO」のそれぞれの文字の幅については、「R」、「A」、「D」及び「O」は8画素幅であるが、「I」は3画素幅である。「I」は文字の形状が水平方向に小さい(横幅が狭い)。そのため、文字の形状に合わせて、文字の表示に用いられる横方向の画素の数(「文字画素幅」或いは単に「画素幅」と言うことがある)を小さくすることで、隣接する文字との間隔が広くなりすぎるのを防ぐことができる。このように、文字の形状に応じた画素幅で表示する文字をプロポーショナル文字、あるいはプロポーショナル表示と呼び、隣接する文字との間隔が均等になるため、読みやすさが向上し、見栄えもよいという利点がある。
一方、図1(B)での「RADIO」のそれぞれの文字の幅は、すべて8画素幅である。「I」のように形状が水平方向に小さい(横幅が狭い)文字であっても、同じく8画素幅で表示されているため、「I」から両隣の文字との間隔が、他の部分よりも広くなってしまう。このように、文字の形状に関わらず固定の幅で表示される文字のことを固定幅文字、あるいは固定幅表示と呼ぶ。文字画素幅が単一であるために表示の際の制御が簡単であることから、簡素な構成で実現することができる反面、隣接する文字との間隔が不均一になるため、読みやすさを損ねたり、見栄えがよくないといった欠点がある。
図2は、この発明の実施の形態1における画像表示装置の構成を示す図である。図2に示す画像表示装置は、画像発生部1と、画像合成部2と、表示部3とを有する。
図3は、実施の形態1における画像発生部1の構成を示す図である。図3に示す画像発生部1は、位置制御部4と、文字制御コード記憶部5と、文字パターン記憶部6と、色データ記憶部7と、データ出力部8とを有する。
まず、概略の動作について説明する。
図2において、入力画像信号DINは画像発生部1及び画像合成部2に入力される。画像発生部1は、後述のようにして画像データDCHを発生する。画像合成部2は、入力画像データ(DIN)と画像発生装置が出力する画像データDCHとを合成する。表示部3は、画像合成分2で合成された画像データを表示する。なお、画像合成を行わずに、
画像発生分1が出力した画像データDCHを表示部3で表示する場合もある。
図3において、入力画像信号DINに含まれる水平同期信号HIN及び垂直同期信号VINが位置制御部4に入力される。また、文字制御コード記憶部5から読み出された文字制御コードCTDが、位置制御部4に入力される。
位置制御部4は、入力水平同期信号HIN、入力垂直同期信号VIN及び文字制御コード記憶部5から入力される文字制御コードCTDと、画素クロックCLKとに基づいて、文字の表示位置を示す文字表示位置P(XP,YP)と、文字表示位置P(XP、YP)における画素位置を示す文字内水平画素位置XQ及び行内ライン位置YQを出力する。
文字表示位置P(XP,YP)は文字制御コード記憶部5に入力される。また、文字内水平画素位置XQ及び行内ライン位置YQはデータ出力部8に入力される。
文字制御コード記憶部5は、あらかじめ画面上に表示する文字などを表す文字制御コードが格納されており、入力された文字表示位置Pに基づいて対応する文字制御コードCTDを出力する(文字表示位置Pがアドレスとして与えられ、該アドレスで指定される記憶位置に格納されている文字制御コードCTDが読み出される)。文字制御コードCTDは、位置制御部4、文字パターン記憶部6及びデータ出力部8に出力される。
文字パターン記憶部6は、入力された文字制御コードCTDに基づいて、文字パターンPATを出力する。文字パターンPATはデータ出力部8に入力される。
データ出力部8は、入力された文字パターンPAT、文字制御コードCTD、文字内水平画素位置XQ及び行内ライン位置YQに基づいて、画素ごとに色コードCLCを発生し、色データ記憶部7に出力する。
色データ記憶部7は、入力された色コードCLCに基づいて、色データCLDを出力し、データ出力部8に出力する。
さらに、データ出力部8は、入力された色データCLDに基づいて、文字形状に対応した画像データDCH(以降では文字画像データDCHと呼ぶことにする)を出力するとともに、文字パターンPAT、文字制御コードCTDに基づいて、合成制御信号CNTを出力する。文字画像データDCHと合成制御信号CNTは、画像合成部2に入力される(図2参照)。
画像合成部2は、合成制御信号CNTに基づいて、入力画像データDINと文字画像データDCHとを合成し、合成画像データDPを出力する。合成画像データDPは表示部3に入力される。表示部3は、合成画像データDPに基づいて画像の表示を行う。
以下、上記した各部の動作をより詳細に説明する。
図4は、文字の配列順と文字表示位置P(XP,YP)の関係を説明するための図である。水平方向は水平文字表示位置XPを示し、垂直方向は行位置YPを示している。この例では水平に64文字、垂直に16行の合計1024文字を配列したものである。例えば、図4において2行目の4文字目の斜線で示された位置は、文字表示位置P(XP,YP)=(4,2)として表されるものとする。この文字表示位置P(XP、YP)は文字の配列順を示すものであり、画面上の表示範囲を示すものではない。
次に、文字制御コード記録部5の動作について説明する。
図5は、文字制御コード記憶部5に格納される文字制御コードCTDを説明するための図である。文字制御コード記憶部5には、文字表示位置P(XP,YP)における表示内容を指定する文字制御コードCTDが格納される。
文字制御コードCTDは、例えば図5に示すように、文字コードCC、文字幅データCW及び文字修飾情報CAから構成されるものとする。
文字コードCCとは、例えば、CC=1の場合は「R」、CC=2は「A」、CC=3は「D」、CC=4は「I」、CC=5は「O」を示すといったような、文字の種類をコードとして表したものである。
次に、文字幅データCWは、文字表示位置P(XP,YP)において表示される文字の画素幅を示し、文字コードCCで与えられる文字に関連付けられた文字幅データCWで指定される画素幅(この画素幅に対しても同じ符号「CW」を用いる)で表示されることになる。図5に示す例では、表示位置P=1においては、文字コードCC=1に対応する文字「R」が、画素幅CW=8で表示され、表示位置P=4においては、文字コードCC=4に対応する文字「I」が、画素幅CW=3で表示されることを意味する。
最後に、文字修飾情報CAは、文字表示位置P(XP,YP)において文字をどのように修飾して表示するかを示す情報であり、例えば、文字のフォアグラウンド色の色コード、文字のバックグラウンド色の色コード、文字の縁取りの設定、などが挙げられる。
文字コードCCと文字幅データCWは互いに独立に設定することができるが、文字間隔が均等に表示されるプロポーショナル文字の表示を行うためには、文字コードCCが指す文字に関連付けて文字幅データCWを適切に定める必要がある。
このように、表示位置P(XP,YP)に対応した文字制御コードCTDを文字制御コード記憶部5から取得することができる。
位置制御部4の動作について説明する。
図6は、位置制御部4の垂直方向の動作を説明するための図である。図6の例では、16行のすべてが16ライン幅(高さ)の行からなる場合を示している。
位置制御部4は、入力垂直同期信号VINと入力水平同期信号HINに基づいて、ライン数をカウントし、文字表示を開始するラインになった時点で、行位置YP=1とする。次に、YP=1(1行目)の先頭ラインを基準にライン数をカウントして、ライン数が行幅16ラインに達すると、行位置YPをYP=1からYP=2に変更する。これにより、16ライン期間分の行位置YP=1が発生される。
YP=2以降も同様に、各行の幅である16ライン期間を計数するごとに、行位置YPを1ずつ増加させることにより、行位置YPを得る。
また、行の先頭ラインを基準としてライン数をカウントした結果を、行内ライン位置YQとして発生する。例えば、YP=2(2行目)における破線で示したラインが、2行目の先頭から10ライン目にある場合、YQ=10として示される。
このようにして、位置制御部4は、垂直文字表示位置YPと行内ライン位置YQを得るので、画像の任意のライン位置が、YP行目のYQライン目であることを知ることができる。
図7は、位置制御部4の水平方向の動作を説明するための図である。図7において、(A)は水平の文字表示位置XP、(B)は文字幅データCW、(C)は画素幅、(D)は文字表示位置P(XP,YP)、(E)は表示される文字をそれぞれ示している。
位置制御部4は、行位置YP=1以降の期間において、入力水平同期信号HINと画素クロックCLKに基づいて、画素の水平位置をカウントして、文字表示を開始する水平位置に達した時点で、水平文字表示位置XP=1とする。位置制御部4は、行位置YP=1と水平文字表示位置XP=1で与えられる文字表示位置P(XP,YP)=(1,1)を出力する。文字表示位置P=(1,1)は、文字制御コード記憶部5に入力される。文字制御コード記憶部5から文字表示位置P=(1,1)に対応する文字制御コードCTDが出力され、位置制御部4に入力される。位置制御部4は、文字表示位置P=(1,1)に対応する文字制御コードCTDのうち文字幅データCW=8に基づいて、画素クロックを8周期分カウントして、水平文字表示位置XP=1を8画素期間分だけ発生する。これに合わせて、文字表示位置P(XP,YP)=(1,1)も8画素期間分だけ発生される。
次に、位置制御部4は、水平の文字表示位置XPをXP=1からXP=2に変更し、文字表示位置P(XP,YP)=(2,1)を出力する。位置制御部4は、文字表示位置P=(2,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字表示位置P=(2,1)に対応する文字幅データCW=8を取得する。位置制御部4は、取得した文字幅データCW=8に基づいて、画素クロックを8周期分カウントして、水平文字表示位置XP=2を8画素期間分だけ発生する。これに合わせて、文字表示位置P(XP,YP)=(2,1)も8画素期間分だけ発生される。
その後も同様に、位置制御部4は、水平の文字表示位置XPを1増加させた後、文字表示位置P(XP,YP)に対応する文字幅データCWを文字制御コード記憶部5から取得して、文字幅データCWが示す画素期間分の文字表示位置P(XP,YP)を発生することを繰り返す。
この動作により、文字表示位置P=(3,1)については対応する文字幅データCW=8に基づいて8画素期間の文字表示位置P=(3,1)が発生される。同様に、文字表示位置P=(4,1)については対応する文字幅データCW=3に基づいて3画素期間の文字表示位置P=(4,1)が発生され、文字表示位置P=(5,1)については対応するCW=8に基づいて8画素期間の文字表示位置P=(5,1)が発生される。
このようにして、位置制御部4は、文字制御コード記憶部5に格納された文字表示位置P(XP,YP)に対応する文字幅データCWに合わせて、文字表示位置P(XP,YP)を発生することができる。つまり、文字表示位置P(XP,YP)ごとに設定した文字幅データCWに応じて、文字表示位置P(XP,YP)を示す信号を発生することができる。
さらに位置制御部4は、水平文字表示位置XPが切り替わる位置を基準とした水平方向の画素位置を示す文字内画素位置XQを発生する。例えば図7では、水平文字表示位置XP=3の期間で破線によって示された画素位置が、水平文字表示位置XP=3の先頭から6画素目である場合、文字内画素位置XQはXQ=6として示される。
つまり、位置制御部4は、水平文字表示位置XPと、水平文字表示位置XP内における水平の画素位置を示す文字内画素位置XQを得ることができ、画像の任意の位置において何文字目の何画素目かを知ることができる。
上記で説明したように垂直方向と水平方向の動作がなされるため、位置制御部4は、文字表示位置P(XP,YP)と、文字表示位置P(XP,YP)内における水平及び垂直の画素位置を示す、文字内画素位置XQと行内ライン位置YQを得ることができる。
位置制御部4から出力された文字表示位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQと行内ライン位置YQはデータ出力部8に入力される。
文字パターン記憶部6の動作について説明する。
文字パターン記憶部6には、文字制御コード記憶部5から出力された文字制御コードCTDに含まれる文字コードCCが入力される。
図8は、文字パターン記憶部6について説明する図である。図8(A)は文字コードCCと文字パターンPATの関係を示す。文字パターン記憶部6には、文字コードCCのそれぞれに対応して、文字の形状を示す文字パターンPATが格納される。例えば、文字コードCC=1に対しては「R」の形状を示す文字パターンPAT(1)が格納されており、文字コードCC=2に対しては「A」の形状を示す文字パターンPAT(2)が格納されている。同様に、CC=3には「D」の形状を示すPAT(3)が格納され、CC=4には「I」の形状を示すPAT(4)が格納され、CC=5には「O」の形状を示すPAT(5)が格納される。
図8(B)は文字パターンPATの例を示す。図8(B)における文字パターンの画素の値は、例えば、黒が文字のフォアグラウンド部分、白が文字のバックグラウンド部分を示すような2値データであるとする。このようにして、文字の形状を示すことができる。
また、図8(B)に示すように、文字パターンPATのサイズは垂直サイズ16画素、水平サイズが8画素の固定サイズとし、この固定のサイズに対して文字パターンの形状を左詰めに割り当てるもととする。図5で示した文字制御コードCTDを例にすると、「R」、「A」、「D」及び「O」は文字幅データ8、「I」は文字幅データ3と設定されている。図8(B)に示すように、文字幅データ8の「R」、「A」、「D」及び「O」については、文字パターンの画素をすべて用いて表されるが、文字幅データ3の「I」については、左端の3画素幅分だけが用いられ、残りの右側5画素幅分は使用されない。
このように、文字パターンPATは文字パターンのサイズに対して左詰めになるように形成される。
また、上記の「I」の文字パターンの例で示したように、文字幅データCWに関わらず文字パターンのサイズを固定サイズとしているので、文字パターンの格納アドレスは、文字パターンのサイズと文字コードから単純な乗算により算出することができる。
このようにして、文字パターン記憶部6は文字コードCCに対応する文字パターンPATを発生して、出力部8へ出力する。
色データ記憶部7の動作について説明する。
図9は、色データ記憶部7に格納される色データCLDを説明する図である。
図9(A)は、色コードCLCと色データCLDの関係を示し、図9(A)の例では、色データ記憶部7は、256色分色コードCLC=1〜256に対応する256色分の色データCLD(1)〜CLD(256)を格納する。例えば、色コードCLC=1に対しては色データCLD(1)が出力され、色コードCLC=256に対しては色データCLD(256)が出力される。
また、図9(B)は色データCLDの構成を示している。色データCLDは、たとえばR(赤)データ、G(緑)データ、B(青)データの3色のデータから構成される。
このように、色データ記憶部7は色コードCLCに対応するR、G、Bの3色からなる色データCLDを出力する。
データ出力部8の動作について説明する。
データ出力部8には、位置制御部4から出力された文字内画素位置XQと行内ライン位置YQ、文字制御コード記憶部5から出力された文字制御コードCTD、及び文字パターン記憶部6から出力された文字パターンPATが入力される。
図10はデータ出力部に入力される、文字パターンPATと、文字内画素位置XQならびに行内ライン位置YQとの関係を示す図である。文字内画素位置XQと行内ライン位置YQによって、文字パターンPATにおける画素位置を特定することができる。データ出力部8は、特定された文字パターンの画素位置の値を参照して、文字のフォアグラウンド部分かバックグラウンド部分かを判定する。
図11は、文字修飾の一例として文字の縁取りを示す図である。図11(A)は元となる文字パターンを示し、(B)は縁取りを行った場合の表示された文字を示す。図11(A)において、黒で示された画素が文字のフォアグラウンド部分であり、白で示された画素がバックグラウンド部分である。縁取りをフォアグラウンド部分の上下左右1画素に対して行うとした場合、図11(B)に斜線部で示される画素が縁取り部分の画素となる。
文字のフォアグラウンド部分の画素に対しては、文字制御コードCTDに含まれる文字修飾情報に設定されたフォアグラウンド用の色コードを出力し、文字の縁取り部分の画素に対しては、文字修飾情報に設定された縁取り用の色コードを出力し、縁取り部分でないバックグラウンド部分の画素に対しては、文字修飾情報に設定されたバックグラウンド用の色コードを、色コードCLCとして出力する。
このようにして、データ出力部8は、文字パターンPATと文字制御コードCTDに基づいて、フォアグラウンド部分、バックグラウンド部分、縁取り部分について、対応する色コードCLCを出力する。
出力部8は、出力した色コードCLCに対応する色データCLDを色データ記憶部7から読み出して、色データCLDを取得する。そして、取得した色データCLDを文字画像データDCHとして出力する。その際、予め、特定の色コード、例えばCLC=256、を透明色として設定している場合には、色コードCLC=256である画素については、読み出された色データCLD(256)の値に関わらず、該当する画像データが透明色であることを示す合成制御信号CNTを出力する。例えば、合成制御信号CNTは透明色はゼロ、非透明色は1を示すものとする。
このようにして画像発生部1は、文字表示位置P(XP,YP)ごとに設定された文字制御コード基づいて、文字表示位置ごとに画素幅を変えることができ、さらに文字コードと文字幅データを適切に組み合わせることにより、文字ごとに画素幅が異なるプロポーショナル文字を画像データとして出力することができる。
出力部8から出力された画像データDCHと合成制御信号CNTは、画像合成部2に入力される。
次に、画像合成部2の動作を説明する。
画像合成部2には、入力画像データDIN、画像発生部1から出力された文字画像データDCH及び合成制御信号CNTが入力される。
図12は画像合成部2の動作を説明する図である。図12において、(A)は入力画像データDIN、(B)は画像発生部1から出力される画像データDCH、(C)は画像発生部1から出力される合成制御信号CNT、(D)は合成された画像データDPを示す。
図12(B)の文字画像データDCHにおいて、「RADIO」や「CD」といった文字線の部分は、文字表示位置P(XP,YP)ごとに設定されたフォアグラウンド部分の色データを有する部分である。また、文字の周囲の矩形範囲は、文字表示位置Pごとに設定されたバックグラウンドの色データを有する部分である。
(C)の合成制御信号CNTは、黒で示された部分が1(非透明)、白で示された部分が0(透明)を表している。合成制御信号CNTは、(B)の文字画像データDCHの形状に合わせて発生されるが、この例では「RADIO」の周囲の矩形範囲と「CD」の文字部分が非透明、それ以外が透明となるように発生されるとする。
(D)に示すように、合成制御信号CNTが非透明(CNT=1)を示す部分では、画像発生部1からの文字画像データDCHが選択され、合成制御信号CNTが透明(CNT=0)を示す部分では、入力画像データDINが選択される。その結果、「RADIO」の文字部分を含む矩形領域と「CD」の文字部分とが、入力画像データDINの画像の上に重なるように、合成画像データDPが生成される。
このように、画像合成部12は、合成制御信号CNTに応じて入力画像DINの上に、文字画像データDCHによる文字を重ねて表示することができる。
合成画像データDPは表示部3に入力され、表示部3は合成画像DPに基づいて画像を表示する。
実施の形態1の画像表示装置は、文字表示位置ごとに文字コードと文字幅データを設定し、文字表示位置ごとに設定された文字幅データに基づいて、表示される文字の画素幅を制御することにより、文字表示位置ごと画素幅を変えることができ、さらに設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を表示することができる。
上記の例では、文字パターンPATの画素値は、文字のフォアグラウンド部分とバックグラウンド部分を示す2値データとしているが、3値以上の多値としてもよい。この場合、1文字分の範囲に3種類以上の色を使用することができるため、滑らかな輪郭の文字や、カラフルな文字など、より高品位な文字表示を行うことができる。
また、上記の例では、特定の色コードに対して透明色を設定したが、色コードに対してそれぞれ透過率を設定してもよい。この場合、画像合成部2では、透過率に応じた重み付けで、入力画像データDINと画像発生部1からの文字画像データDCHの加重平均値を算出するように動作させることによって、半透明な文字を表示することができる。
実施の形態2.
図13は、この発明の実施の形態2における画像発生部1を示す図である。画像発生部1は、基準位置データ生成部9と、位置制御部10と、文字制御コード記憶部5と、文字パターン記憶部6と、色データ記憶部7と、データ出力部8とを有する。
画像発生部1の概略動作について説明する。
入力水平同期信号HINと入力垂直同期信号VINは、基準位置データ生成部9と位置制御部10に入力される。基準位置データ生成部9は入力同期信号HINに基づいて、固定幅の水平文字表示位置(同じ水平行内で発生した文字の数と固定の画素幅との積で求まる基準位置)を示す基準水平文字表示位置XFを生成し、位置制御部10に出力する。位置制御部10は、入力水平同期信号HIN、入力垂直同期信号VIN、基準水平文字表示位置XF、及び文字制御コード記憶部5から入力される文字制御コードCTDに基づいて、文字表示位置P(XP,YP)、文字内画素位置XQ、行内ライン位置YQ、及び文字と文字の隙間を示すブランク信号BLKを出力する。文字表示位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQ、行内ライン位置YQ及びブランク信号BLKはデータ出力部8に入力される。
文字制御コード記憶部5は、入力された文字表示位置P(XP,YP)に基づいて、対応する文字制御コードCTDを出力する。文字制御コードCTDは、位置制御部4、文字パターン記憶部6及びデータ出力部8に入力される。
文字パターン記憶部6は、入力された文字制御コードCTDに基づいて、文字コードCCに対応する文字パターンPATを出力する。文字パターンPATはデータ出力部8に入力される。
データ出力部8は、入力された文字パターンPAT、文字制御コードCTD、文字内水平画素位置XP及び行内ライン位置YPに基づいて、画素ごとに色コードCLCを発生し、色データ記憶部7に出力する。
色データ記憶部7は、入力された色コードCLCに基づいて、対応する色データCLDを出力し、データ出力部8に出力する。
データ出力部8は、入力された色データCLDに基づいて、文字形状に対応した画像データDCH(以降では文字画像データDCHと呼ぶことにする)を出力するとともに、文字パターンPAT、文字制御コードCTDに基づいて、合成制御信号CNTを出力する。
次に、各部の動作について詳細な説明を行う。
まず、文字制御コード記憶部5の動作について説明する。
図14は、文字制御コード記憶部5に格納される文字制御コードCTDを説明するための図である。図5に示した例と同様に、文字制御コード記憶部5は、文字表示位置P(XP,YP)における表示内容をそれぞれ表す文字制御コードCTDが格納される。図14に示した例では、文字制御コードCTDは、文字コードCC、文字幅データCW、位置リセットコードRST、及び文字修飾情報CAから構成されるものとする。
文字コードCC、文字幅データCW及び文字修飾情報については、すでに実施の形態1において図5を用いて説明した内容と同じであるため、説明を省略する。
位置リセットコードRSTは、水平方向の文字表示位置を所定の位置(文字を固定の画素幅で発生した場合の各文字の表示位置)に初期化するための制御コードである。図15は位置リセットコードRSTの機能について説明するための図である。(A)は画素幅8の固定幅による文字表示位置を示している。(B)は位置リセットコードRSTを使用した場合のプロポーショナル文字の表示の様子を示しており、(C)は位置リセットコードRSTを使用しない場合のプロポーショナル文字の表示の様子を示している。
まず(C)を参照する。「I」の画素幅は3である。そのため、「I」以降の文字「O」、「 」(スペース)、「C」、「D」の表示位置は、(A)の固定幅の文字表示位置よりも5画素分ずつ左(前方)にずれて表示される。
一方、(B)においては、「C」に対して位置リセットコードRST=1を与えるとする。「I」以降の文字「O」及び「 」(スペース)については、(C)と同様に(A)の固定幅の表示位置よりも5画素分左にずれるが、位置リセットコードRST=1である文字「C」は、1つ前の文字「 」(スペース)に隣接するのではなく、(A)の固定幅の表示位置に表示される。「C」の後の「D」については、RST=0であるので「C」に隣接して表示される。
つまり、位置リセットコードRSTは、文字表示位置のリセットの要否を表す制御コード、より詳しく言うと、文字表示位置P(XP,YP)ごとに、固定幅の文字表示位置に表示するか、1つ前の文字に隣接して表示するかの指定を行うための制御コードであり、後により詳しく説明するように、位置制御部10は、文字制御コード記憶部5から読み出された文字制御コードの文字表示位置リセットコードRSTに応じて、現在の文字の表示開始位置を、直前の文字表示終了位置に基づいて定めるか、所定の基準位置に定めるかの選択を行う。例えば、リセットコードのうち、特定の文字の次の文字に関連付けられたものは、リセットを要求するものであり、位置制御部10は、リセットコードRSTがリセットを要求するものであるとき、基準位置を表すデータで指定される基準位置を現在の文字の表示開始位置とする。ここで言う「特定の文字」には、例えば、スペース「 」、コロン「:」、セミコロン「;」が含まれる。
文字制御コード記憶部5は、文字コードCC、文字幅データCW、位置リセットコードRST、修飾情報CAからなる文字制御コードCTDを、表示位置P(XP,YP)ごとに記憶して、入力された表示位置P(XP,YP)に対応する文字制御コードCTDを出力する。
図16は、基準位置データ生成部9及び位置制御部10の動作を説明するための図である。まず、基準位置データ生成部9の動作を説明する。基準位置データ生成部9は、入力水平同期信号HINと画素クロックCLKに基づいて、画素の水平位置を計数して、文字表示を開始する水平位置に達した時点で、基準水平文字表示位置XF=1とする。基準位置データ生成部4は、固定の画素幅8に相当する8画素期間を計数したのち、基準水平文字表示位置XFをXF=1からXF=2に変更する。これにより、8画素期間の基準水平文字表示位置XF=1が生成される。以降同様に、8画素期間ごとに1ずつ増加するような基準水平文字表示位置XFを生成する。
基準位置データ生成部9から出力された基準水平文字表示位置XFは、位置制御部10に入力される。
次に、位置制御部10の動作を説明する。
位置制御部10の垂直方向の動作は、すでに実施の形態1で図6を用いて説明した位置制御部4の垂直方向の動作と同じであるため、説明を省略する。位置制御部10は、垂直文字表示位置YPと行内ライン位置YQを出力する。
位置制御部10の水平方向の動作について説明する。
図16において、(B)は水平文字表示位置XP、(C)は文字幅データCW、(D)は位置リセットコードRST、(E)はブランク信号BLK、(F)は画素幅、(G)は文字表示位置P(XP,YP)、(H)は表示される文字をそれぞれ示している。
位置制御部10は、行位置YP=1以降の期間において、入力水平同期信号HINと画素クロックに基づいて、画素の水平位置を計数して、文字表示を開始する水平位置に達した時点で、水平の文字表示位置XP=1とする。位置制御部10は、行位置YP=1と水平の文字表示位置XP=1で与えられる文字表示位置P(XP,YP)=(1,1)を出力する。文字表示位置P=(1,1)は、文字制御コード記憶部5に入力される。文字制御コード記憶部5から文字表示位置P=(1,1)に対応する文字制御コードCTDが出力され、位置制御部10に入力される。位置制御部10は、文字表示位置P(1,1)に対応する文字制御コードCTDのうち、位置リセットコードRST=0と文字幅データCW=8を取得する。位置リセットコードRST=0の場合は、ブランク信号BLK=0とするとともに、文字幅データCW=8に基づいて画素クロックCLKを8周期分カウントして、水平の文字表示位置XP=1を8画素期間分だけ発生する。これにより、文字表示位置P(XP,YP)=(1,1)が8画素期間分だけ発生されることになる。
次に、位置制御部10は、水平の文字表示位置XPをXP=1からXP=2に変更し、文字表示位置P(XP,YP)=(2,1)を出力する。位置制御部10は、文字表示位置P=(2,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字表示位置P=(2,1)に対応する位置リセットコードRST=0と文字幅データCW=8を取得する。ここでも位置リセットコードRST=0であるので、ブランク信号BLK=0とするとともに、取得した文字幅データCW=8に基づいて水平の文字表示位置XP=2を8画素期間分だけ発生する。これにより、文字表示位置P(XP,YP)=(2,1)が8画素期間分だけ発生される。
その後も同様に、位置制御部10は、水平の文字表示位置XPを1増加させた後、文字表示位置P(XP,YP)に対応する文字幅データCWを文字制御コード記憶部5から取得して、位置リセットコードRST=0に基づいてブランク信号BLK=0を発生するとともに、文字幅データCWが示す画素期間分の文字表示位置P(XP,YP)を発生することを繰り返す。
この動作により、文字表示位置P=(3,1)については対応する文字幅データCW=8に基づいて8画素期間の文字表示位置P=(3,1)が発生される。同様に、文字表示位置P=(4,1)については対応する文字幅データCW=3に基づいて3画素期間の文字表示位置P=(4,1)が発生され、文字表示位置P=(5,1)については対応するCW=8に基づいて8画素期間の文字表示位置P=(5,1)が発生され、文字表示位置P=(6,1)については対応する文字幅データCW=8に基づいて8画素期間の文字表示位置P=(6,1)が発生される。ブランク信号BLKについてはBLK=0のままである。
次に、位置制御部10は、水平の文字表示位置XPをXP=6からXP=7に変更し、文字表示位置P(XP、YP)=(7,1)を出力する。位置制御部10は、文字表示位置P=(6,1)に対応する文字制御コードCTDを文字制御コード記憶部5から読み出して、文字表示位置P=(7,1)に対応する位置リセットコードRST=1と文字幅データCW=8を取得する。
ここで、位置リセットコードRST=1の場合、ブランク信号BLK=1を発生する。この時点では、(A)に示す基準の水平文字表示位置XFはXF=6を示している。(A)基準水平文字表示位置XFが、(B)に示す水平文字表示位置XP=7に等しい値、XF=7となったときに、ブランク信号BLK=1をBLK=0に変更する。文字表示位置P(XP,YP)=(4,1)で文字「I」が3画素幅であったことから、以降の文字表示位置Pが5画素分だけずれているため、ブランク信号BLK=1である期間は5画素期間である。
位置制御部10は、ブランク信号BLK=1である期間では画素幅のカウントを行わず、ブランク信号BLK=0に変化した時点から、取得した文字幅データCW=8に基づいて8画素期間をカウントする。ブランク信号BLK=1の期間が5画素期間、カウントにより求められた8画素期間の合計13画素期間の文字表示位置P=(7,1)が発生される。
この後、位置制御部10は水平の文字表示位置XPをXP=7からXP=8に変更して文字表示位置P(XP,YP)=(8,1)を出力する。
以降、位置制御部10は同様の動作を繰り返す。
このようにして、位置制御部10は、文字表示位置P(XP,YP)を、文字制御コード記憶部5に格納された文字表示位置P(XP,YP)に対応する文字幅データCWで指定された画素期間分に合わせて発生するとともに、位置リセットコードRSTに応じて文字表示位置P(XP,YP)の発生期間を基準水平文字表示位置XFに合わせることができる。また、位置リセットコードRST=1とした場合の、文字と文字の隙間をブランク信号BLK=1で示すことができる。
さらに、位置制御部10は、文字表示位置P(XP,YP)における文字表示が開始される位置を基準とした水平方向の画素位置を示す文字内画素位置XQを発生する。P(XP,YP)=(3,1)の部分に示すように、位置リセットコードRST=0の場合は、水平文字表示位置XPがXP=2からXP=3に切り替わる位置を基準に、画素位置XQが発生される。また、P(XP,YP)=(7,1)の部分に示すように、位置リセットコードRST=1の場合は、ブランク信号BLKがBLK=1からBLK=0に変化した位置を基準として、画素位置XQが発生される。
このようにして、位置制御部10は、水平の文字表示位置XPと、水平の文字表示位置XP内における水平の画素位置を示す文字内画素位置XQと、位置リセットコードRST=1によって発生された文字と文字の隙間を示すブランク信号BLKを得ることができ、画像の任意の位置において、文字の隙間であるか、それとも何文字目の何画素目であるかを知ることができる。
位置制御部10から出力された文字表示位置P(XP,YP)は文字制御コード記憶部5に入力され、文字内画素位置XQ、行内ライン位置YQ及びブランク信号BLKはデータ出力部8に入力される。
文字パターン記憶部6及び色データ記憶部7の動作は、実施の形態1で既に説明した内容と同じであるため、説明を省略する。
データ出力部8の動作について説明する。
データ出力部8には、位置制御部10から出力された文字内画素位置XQと行内ライン位置YQとブランク信号BLK、文字制御コード記憶部5から出力された文字制御コードCTD、及び文字パターン記憶部6から出力された文字パターンPATが入力される。
ブランク信号BLKがBLK=1の場合、該当する画素が文字と文字の隙間に位置することを意味している。この場合は、データ出力部8は、予め隙間用に設定された色コードを、色コードCLCとして出力する。
ブランク信号BLK=0の場合は、データ出力部8は以下のように動作する。
図10はデータ出力部に入力される、文字パターンPATと、文字内画素位置XQならびに行内ライン位置YQとの関係を示す図であり、文字パターンPATにおける水平位置と垂直位置を文字内画素位置XQと行内ライン位置YQで指定することができる。データ出力部8は、文字パターンPATをもとに、文字内画素位置XQと行内ライン位置YQが示す画素位置では、文字のフォアグラウンド部分かバックグラウンド部分かを判定する。
図11は、文字修飾の一例として文字の縁取りを示す図である。図11(A)は元となる文字パターンを示し、(B)は縁取りを行った場合の表示された文字を示す。図11(A)において、黒で示された画素が文字のフォアグラウンド部分であり、白で示された画素がバックグラウンド部分である。縁取りをフォアグラウンド部分の上下左右1画素に対して行うとした場合、図11(B)に斜線部で示される画素が縁取り部分の画素となる。
文字のフォアグラウンド部分の画素に対しては、文字制御コードCTDに含まれる文字修飾情報に設定されたフォアグラウンド用の色コードを出力し、文字の縁取り部分の画素に対しては、文字修飾情報に設定された縁取り用の色コードを出力し、縁取り部分でないバックグラウンド部分の画素に対しては、文字修飾情報に設定されたバックグラウンド用の色コードを、色コードCLCとして出力する。
このようにして、データ出力部8は、ブランク信号BLK、文字パターンPAT及び文字制御コードCTDに基づいて、文字と文字の隙間部分、フォアグラウンド部分、バックグラウンド部分、縁取り部分について、対応する色コードCLCを出力する。
出力部8は、出力した色コードCLCに対応する色データCLDを色データ記憶部7から読み出して、色データCLDを取得する。そして、取得した色データCLDを文字画像データDCHとして出力する。その際、予め、特定の色コード、例えばCLC=256、を透明色として設定している場合には、色コードCLC=256である画素については、読み出された色データCLD(256)の値に関わらず、該当する画像データが透明色であることを示す合成制御信号CNTを出力する。例えば、合成制御信号CNTは透明色はゼロ、非透明色は1を示すものとする。
このようにして画像発生部1は、文字表示位置P(XP,YP)ごとに設定された文字制御コードによって、文字ごとに画素幅が異なるプロポーショナル文字を文字画像データとして出力することができる。また、プロポーショナル文字の色や修飾内容を文字表示位置P(XP,YP)ごとに変えることができる。
図17は、別の文字列の場合を示す図である。
(A)は固定の画素幅8の文字表示位置を示しており、(B)及び(C)は6文字分のプロポーショナル文字のあとに、「CD」を表示した場合を示しており、(B)及び(C)のいずれも「C」の位置では、位置リセットコードRST=1、「C」以外は位置リセットコードRST=0としている。(B)は「C」より前の6文字に「RADIO 」と表示した例であり、「RADIO 」の6文字は合計43画素期間で表示される。一方、(C)は「C」より前の6文字に「IIIII 」と表示した例であり、「IIIII 」の6文字は合計23画素期間で表示される。(B)と(C)のように、文字「C」より前に位置する文字の表示期間が異なっている場合であっても、文字「C」を(A)に示す固定幅の文字表示位置に対して同じ位置で表示することが可能である。
これにより、前方に表示されるプロポーショナル文字の内容が変わっても、画面上に対して文字の位置を固定的に設定することができる。
以上、スペースの直後の文字に関連付けられる位置リセットコードを「1」とする場合について説明したが、コロン「:」や、セミコロン「;」の直後の文字に関連付けられる位置リセットコードを「1」にすることとしても良い。
実施の形態2における画像発生装置は、文字表示位置ごとに文字コードと文字幅データと位置リセットコードを設定し、文字幅データに応じて表示される文字の画素幅を制御するとともに、位置リセットコードに応じて文字表示位置を所定の位置に発生するよう制御することにより、文字表示位置ごとに画素幅を変えることができるうえ、過去の文字内容に関わらず文字表示位置を画面上の所定位置に固定することができる。また、設定される文字コードと文字幅データを適切に組み合わせることによって、文字ごとに画素幅の異なるプロポーショナル文字を発生することができる。
プロポーショナル文字について説明するための図である。
この発明の実施の形態1の画像表示装置の構成を示す図である。
図2の画像発生部1の構成を示す図である。
実施の形態1における文字表示位置を説明する図である。
図3の文字制御コード記憶部5の動作を説明する図である。
図3の位置制御部4の垂直動作を説明する図である。
図3の位置制御部4の水平動作を説明する図である。
図3の文字パターン記憶部6の動作を説明する図である。
図3の色データ記憶部7の構成を示す図である。
図3のデータ出力部8の動作を説明する図である。
図3のデータ出力部8の動作を説明する図である。
図2の画像合成部の動作を説明するための別の図である。
この発明の実施の形態2における画像発生部2の構成を示す図である。
図13の文字制御コード記憶部5の動作を説明するための図である。
実施の形態2における位置リセットコードRSTを説明するための図である。
図13の位置制御部10の水平動作を説明するための図である。
実施の形態2における画像発生部1の動作を説明するための図である。
符号の説明
1 画像発生部、 2 画像合成部、 3 表示部、 4 位置制御部、 5 文字制御コード記憶部、 6 文字パターン記憶部、 7 色データ記憶部、 8 データ出力部、 9 基準位置データ生成部、 10 位置制御部。