はじめに、三次元表示デバイスによる画像の表示原理を説明する。この画像の表示原理は、後述されるすべての実施の形態に共通である。
図1Aは、三次元表示デバイス20の構造を示す。三次元表示デバイス20は、ストライプ型液晶表示装置25と、視差光学装置23とを含む。
ストライプ型液晶表示装置25の表示面21は、X方向およびY方向に配列された複数のピクセル12を含んでいる。複数のピクセル12のそれぞれは、X方向に配列された複数のサブピクセルを含んでいる。図1Aに示される例では、1つのピクセル12は、3個のサブピクセル14R、14Gおよび14Bを有している。
サブピクセル14Rは、R(赤)を発色するように色要素Rに予め割り当てられている。サブピクセル14Gは、G(緑)を発色するように色要素Gに予め割り当てられている。サブピクセル14Bは、B(青)を発色するように色要素Bに予め割り当てられている。
表示面21と視差光学装置23との距離は、一定に保たれている。表示面21と視差光学装置23との距離を一定に保つために、例えば、透過性を有するエレメント22が表示面21と視差光学装置23との間に配置されている。
視差光学装置23は、X方向に配列された複数のスリット15を有している。視差光学装置23は、例えば、格子状のパネルである。スリット15によって、表示面21のサブピクセルのそれぞれが、三次元表示デバイス20に対して所定の位置にある観察者10の右眼または左眼のどちらか一方のみに対して可視となる。
次に、視差光学装置23のスリット15によって、表示面21のサブピクセルのそれぞれが、観察者10の右眼または左眼のどちらか一方のみに対して可視となる原理を説明する。
図1Bは、図1Aに示される三次元表示デバイス20を矢印Aの方向から見た図である。
図1Bに示されるスリット15−1は、視差光学装置23に含まれる複数のスリット15のうちの1つである。
図1Bに示されるピクセル12−1は、表示面21に含まれる複数のピクセルのうちの1つである。ピクセル12−1は、X方向に配列された3個のサブピクセル14R−1、14G−1および14B−1を含んでいる。この3個のサブピクセル14R−1、14G−1および14B−1はそれぞれ、色要素R、色要素Gおよび色要素Bに予め割り当てられている。同様に、ピクセル12−2は、X方向に配列された3個のサブピクセル14R−2、14G−2および14B−2を有している。この3個のサブピクセル14R−2、14G−2および14B−2はそれぞれ、色要素R、色要素Gおよび色要素Bに予め割り当てられている。
サブピクセル14G−1は、スリット15−1を通して、観察者の右眼10Rに対して可視であるが、観察者の左眼10Lに対しては可視ではない。同様に、サブピクセル14G−2は、スリット15−1を通して、観察者の左眼10Lに対して可視であるが、観察者の右眼10Rに対しては可視ではない。
同様にして、表示面21に含まれるサブピクセルは、観察者の右眼または左眼のどちらか一方のみに対して可視である。図1Bに示される例では、サブピクセル14B−2、14R−2および14G−1は、観察者の右眼10Rのみに対して可視であり、サブピクセル14G−2、14B−1および14R−1は、観察者の左眼10Lのみに対して可視である。このように右眼のみに対して可視のサブピクセルと、左眼のみに対して可視のサブピクセルとが、表示面21上のX軸方向に交互に配置されている。
図1Aの表示面21上に示されるサブピクセル14R、14Gおよび14Bのうち、図1Aに網目で表されているサブピクセルは、観察者10の左眼のみによって可視のサブピクセルであり、図1Aに網目を付さずに表されているサブピクセルは、観察者10の右眼のみによって可視のサブピクセルである。観察者10の左眼には、図1Aに網目で表されている複数のサブピクセルによって形成される画像が提示され、観察者10の右眼には、図1Aに網目を付さずに表されている複数のサブピクセルによって形成される画像が提示される。
以上の原理により、図1Aに示される三次元表示デバイス20によれば、観察者の右眼と左眼とに異なる画像を提示することができ、これによって観察者に奥行き感を知覚させることが可能になる。すなわち、三次元表示デバイスに三次元画像を表示することができる。
三次元表示デバイスに二次元画像を表示することが必要な場合もある。例えば文書の編集作業をする場合である。
しかし、二次元画像データをピクセル単位の制御により表示面21に表示しただけでは、カラーノイズ(例えば、色の縞)が発生することが、本発明者の実験により確認されている。ここで、ピクセル単位の制御とは、二次元画像データを構成するドットと表示面のピクセルとを対応付け、そのドットが有する情報に基づいて、ピクセルに含まれるサブピクセルの輝度レベルを制御することをいう。例えば二次元画像データが白黒二値画像である場合、二次元画像データを構成するドットはOFFまたはONを表わす値(情報)を有している。この場合にピクセル単位の制御では、OFFを表わす値を持つドットに対応付けられたピクセルはすべて同一の色(例えば、黒色)になるようにサブピクセルの輝度レベルを制御し、ONを表わす値を持つドットに対応付けられたピクセルはすべて他の同一の色(例えば、白色)になるようにサブピクセルの輝度レベルを制御する。
以下、二次元画像データをピクセル単位の制御により三次元表示デバイス20の表示面21に表示した場合に、カラーノイズが発生する原理を説明する。
図2は、図1Aに示される表示面21に、幅1ドット、長さ5ドットの縦線を表わす二次元画像データを表示した例を示す。このような縦線は、例えば文字の一部分であり得る。図2に斜線で示されたピクセルは二次元画像データのOFFを表わす値を有するドットに対応づけられたピクセルであり、表示面21上に例えば黒色で表示される。図2に斜線を付さずに示されたピクセルは二次元画像データのONを表わす値を有するドットに対応づけられたピクセルであり、表示面21上に例えば白色で表示される。
サブピクセル14R、14Gおよび14Bに割り当てられている各色要素が256階調で制御される場合には、サブピクセル14R、14Gおよび14Bの輝度は、0〜255の値によって表される。サブピクセル14R、14Gおよび14Bのそれぞれを、輝度レベルを示す0〜255の値のいずれかに設定することによって、約1670万(=256×256×256)色の色を表示することが可能である。
例えば、黒色は、表示面21における1つのピクセルに含まれる各サブピクセルに対応する各色要素の輝度(R,G,B)を(0,0,0)に設定することにより表示される。同様にして、白色は、(R,G,B)を(255,255,255)に設定することにより表示される。
図3は、図2に示される表示面21から、X方向に並ぶサブピクセルの配列であるライン30を取り出した図である。ピクセル12−1、12−2および12−3は、ライン30に含まれるピクセルを示す。
ピクセル12−1に含まれる各サブピクセルに対応する各色要素の輝度(R,G,B)は、(255,255,255)に設定されている。同様に、ピクセル12−2については、(R,G,B)は(0,0,0)に設定されており、ピクセル12−3については(R,G,B)は(255,255,255)に設定されている。
ライン30は、左眼用のサブピクセルと右眼用のサブピクセルとが交互に配置されることによって形成されている。ここで左眼用とは、観察者の左眼のみに対して可視であることを意味し、右眼用とは、観察者の右眼のみに対して可視であることを意味する。
ライン30は、左眼用のサブピクセルの配列である左眼用のライン30Lと、右眼用のサブピクセルの配列である右眼用のライン30Rとに分解される。
ピクセル12−1に含まれるサブピクセル14R−1、14G−1および14B−1はそれぞれ、左眼、右眼および左眼に対してのみ可視である。ピクセル12−2に含まれるサブピクセル14R−2、14G−2および14B−2はそれぞれ、右眼、左眼および右眼に対してのみ可視である。同様に、ピクセル12−3に含まれるサブピクセル14R−3、14G−3および14B−3はそれぞれ、左眼、右眼および左眼に対してのみ可視である。
以上から、観察者の左眼には左眼用のライン30Lが提示されており、右眼には右眼用のライン30Rが提示されていることがわかる。ライン30Lおよびライン30Rに含まれるサブピクセルは、それぞれ、R(赤)、G(緑)またはB(青)のいずれかの色に発色しているか、もしくはいずれの色にも発色していない(黒色である)。
観察者は、ライン30Lに含まれるサブピクセル14R−1、14B−1および14G−2を個別に知覚するのではなく、これら3個のサブピクセルをまとめて1つの左眼用ピクセルL1として知覚する。同様に、観察者は、ライン30Rに含まれるサブピクセル14R−2、14B−2および14G−3をまとめて1つの右眼用ピクセルR1として知覚する。左眼用ピクセルL1と右眼用ピクセルR1とはステレオピクセルを構成する。
左眼用ピクセルおよび右眼用ピクセルはいずれも左から順に、(R,B,G)の色要素に割り当てられている。
左眼用ピクセルL1に含まれる各サブピクセルに対応する各色要素の輝度(R,B,G)は、(255,255,0)に設定されている。このため、左眼用ピクセルL1は、観察者の左眼に、マゼンタ色として知覚される。マゼンタ色とは、赤色と青色とを加法混色により混色したときの色である。
左眼用ピクセルL0およびL2のそれぞれは、観察者の左眼に白色として知覚される。
同様に、右眼用ピクセルR1に含まれる各サブピクセルに対応する各色要素の輝度(R,B,G)は、(0,0,255)に設定されている。このため、右眼用ピクセルR1は、観察者の右眼に、緑色として知覚される。
右眼用ピクセルR0およびR2のそれぞれは、観察者の右眼に白色として知覚される。
以上のように、本来黒色として知覚されるべき縦線(二次元画像データ)を単にピクセル単位の制御により三次元表示デバイスの表示面に表示しただけでは、視差光学装置を通して表示面を見る観察者にカラーノイズ(例えば、色の縞)が見えてしまう。
本発明の画像表示装置は、二次元画像データに対応する描画パターンを取得し、描画パターンを三次元表示デバイスに表示する。この描画パターンは、描画パターンを三次元表示デバイスに表示したときの色が二次元画像データを二次元表示デバイスに表示したときの色に擬似的に同一となるように構成されている。これによって、カラーノイズの発生を防止する。
以下、図面を参照しながら本発明の実施の形態を説明する。
(実施の形態1)
図4は本発明の実施の形態1の画像表示装置1aの構成を示す。画像表示装置1aは、例えば、パーソナルコンピュータであり得る。パーソナルコンピュータとしては、デスクトップ型またはラップトップ形などの任意のタイプのコンピュータが使用され得る。あるいは、画像表示装置1aは、ワードプロセッサであってもよい。
画像表示装置1aは、カラー表示可能な三次元表示デバイス20と、三次元表示デバイス20の表示面21に含まれる複数のサブピクセルをそれぞれ独立に制御する制御部40とを含む。制御部40には、三次元表示デバイス20と、入力デバイス35と、補助記憶装置50とが接続されている。
三次元表示デバイス20は、表示面21と視差光学装置23とを含む。表示面21は例えばストライプ型の液晶表示デバイスである。視差光学装置23は、例えば視差バリアである。視差光学装置23は三次元表示デバイス20から取り外し可能であってもよい。視差光学装置23を三次元表示デバイス20から取り外したときには、観察者は表示面21を直接観察できるので、三次元表示デバイス20を通常の二次元表示デバイスとして使用することができる。三次元表示デバイス20の動作原理は、図1A、1Bを参照してすでに説明したとおりである。従って、ここではその説明を省略する。表示面21に画像が表示される原理は、図2を参照してすでに説明したとおりである。従って、ここではその説明を省略する。
補助記憶装置50には、描画パターン生成プログラム33aと、描画パターン生成プログラム33aを実行するために必要なデータ32とが格納されている。データ32は、二次元画像データ32aを含む。二次元画像データ32aは例えば、文字や、線画を表わすデータであり得る。補助記憶装置50としては、描画パターン生成プログラム33aおよびデータ32を格納することが可能な任意のタイプの記憶装置が使用され得る。補助記憶装置50において、描画パターン生成プログラム33aおよびデータ32を格納する記録媒体としては、任意の記録媒体が使用され得る。例えば、ハードディスク、CD−ROM、MO、フロッピー(登録商標)ディスク、MD、DVD、ICカード、光カードなどの記録媒体が好適に使用され得る。
なお、描画パターン生成プログラム33aおよびデータ32は、補助記憶装置50における記録媒体に格納されることに限定されない。例えば、描画パターン生成プログラム33aおよびデータ32は、ROM(図示せず)に格納されてもよい。ROMは、例えば、マスクROM、EPROM、EEPROM、フラッシュROMなどであり得る。このROM方式の場合には、そのROMを交換するだけで色々な処理のバリエーションを容易に実現することができる。
さらに、描画パターン生成プログラム33aおよびデータ32を格納する記録媒体は、上記ディスクやカードなどの記憶装置や半導体メモリなどのようにプログラムやデータを固定的に担持する媒体以外に、通信ネットワークにおいてプログラムやデータを搬送するために使用される通信媒体のようにプログラムやデータを流動的に担持する媒体であってもよい。画像表示装置1aがインターネットを含む通信回線に接続するための手段を備えている場合には、その通信回線から描画パターン生成プログラム33aおよびデータ32をダウンロードすることができる。この場合、ダウンロードに必要なローダープログラムは、ROM(図示せず)に予め格納されていてもよいし、補助記憶装置50から制御部40にインストールされてもよい。
入力デバイス35は、三次元表示デバイス20に表示されるべき二次元画像データ32aを指定するために使用される。二次元画像データ32aは例えば文字や線画を表わすデータである。二次元画像データ32aが文字を表わす場合、入力デバイス35は例えば文字を識別する文字コードと文字の大きさを示す文字サイズとを含む文字情報を制御部40に入力するために使用される。このための入力デバイス35としては、キーボードなどの入力デバイスが好適に使用され得る。制御部40は入力された文字情報に基づいて、三次元表示デバイス20に表示されるべき文字を二次元画像データ32aから検索する。
あるいは、入力デバイス35としてスキャナやペン入力装置などの入力デバイスを使用することもできる。この場合には、二次元画像を表わすデータ自体を画像表示装置1aに入力することができる。入力された二次元画像を表わすデータは、二次元画像データ32aとして、補助記憶装置50に格納される。
制御部40は、CPU31と主メモリ34とを含む。
CPU31は、画像表示装置1aの全体を制御および監視するとともに、補助記憶装置50に格納されている描画パターン生成プログラム33aを実行する。
主メモリ34は、入力デバイス35が入力されたデータや表示面21に表示するためのデータや描画パターン生成プログラム33aを実行するのに必要なデータを一時的に格納する。主メモリ34は、CPU31によってアクセスされる。
CPU31は、主メモリ34に格納された各種のデータに基づいて描画パターン生成プログラム33aを実行することにより、描画パターンを生成する。描画パターンは、サブピクセルの制御情報である。生成された描画パターンは、表示用ワークバッファ36に一旦格納された後、三次元表示デバイス20に出力される。描画パターンが三次元表示デバイス20に出力されるタイミングは、CPU31によって制御される。
以下、画像表示装置1aの動作原理を説明する。なお、以下の説明は、二次元画像が白黒の二値の画像である場合を例に挙げている。また、本明細書中では、1つのピクセルの各色要素が256階調で制御されていると仮定するが、本発明はこれに限定されない。
あるピクセルが白色であるとき、そのピクセルに含まれる各サブピクセルに対応する各色要素の輝度(R,G,B)は、(255,255,255)に設定されている。この状態は、各サブピクセルがONであると表現される。同様に、そのピクセルが黒色であるとき、(R,G,B)は(0,0,0)に設定されている。この状態は、各サブピクセルがOFFであると表現される。
また、以下の説明では、表示面21上の「左」および「右」は、観察者の左眼側および右眼側をいう。
画像表示装置1aは、二次元画像データ32aをピクセル単位の制御により三次元表示デバイス20の表示面21に表示するのではなく、二次元画像データ32aに基づいて描画パターンを生成し、その描画パターンを三次元表示デバイス20の表示面21に表示する。
図5は、二次元画像データに基づいて描画パターンを生成するための描画パターン生成プログラム33aの処理手順を示す。描画パターン生成プログラム33aは、CPU31によって実行される。以下、描画パターン生成プログラム33aの処理手順を各ステップごとに説明する。
ステップS1:二次元画像データ32aが指定される。例えば、二次元画像データ32aが文字を表わす場合には、入力デバイス35から文字コードと文字サイズとを入力することによって補助記憶装置50に格納されている二次元画像データ32a(フォントデータ)が指定される。
ここで、二次元画像データ32aは、m×n個のドットを含む。mは二次元画像データ32aの横方向のドット数を示し、nは二次元画像データ32aの縦方向のドット数を示す。n、mは1以上の任意の整数である。二次元画像データ32aに含まれる各ドットは、「ON」を表わす値または「OFF」を表わす値を有している。例えば、ドットの値=0であることは、そのドットが「ON」を表わすことを意味し、ドットの値=1であることは、そのドットが「OFF」を表わすことを意味する。二次元画像データ32aに含まれる各ドットのON、OFFによって二次元画像の形状が定義される。
ステップS2:二次元画像データ32aから、一次元ドット配列が取り出される。一次元ドット配列とは、二次元画像データ32aの1つの行に配置されているm個のドットの配列をいう。
ステップS3:一次元ドット配列に基づいて、サブピクセルの制御情報の配列が生成される。サブピクセルの制御情報は、「ON」を表わす値または「OFF」を表わす値を有している。例えば、サブピクセルの制御情報の値=0であることは、そのサブピクセルの制御情報が「ON」を表わすことを意味し、サブピクセルの制御情報の値=1であることは、そのサブピクセルの制御情報が「OFF」を表わすことを意味する。「ON」を表わすドットに基づいて、「ON」を表わす3個のサブピクセルの制御情報が生成される。「OFF」を表わすドットに基づいて、「OFF」を表わす3個のサブピクセルの制御情報が生成される。これは、一次元ドット配列に含まれる各ドットは、表示面21上の1つのピクセルに対応し、1つのピクセルは3個のサブピクセルを含むからである。このようにして、3m個のサブピクセルの制御情報を含むサブピクセルの制御情報の配列が生成される。
ステップS4:サブピクセルの制御情報の配列に基づいて、左眼用のサブピクセルの制御情報の配列(左眼用の配列)および右眼用のサブピクセルの制御情報の配列(右眼用の配列)とが生成される。これらの配列は、サブピクセルの制御情報の配列に含まれる各サブピクセルの制御情報を左眼用の配列と右眼用の配列とに交互に割り当てることによって得られる。この割り当ては、図6を用いて後述される。
ここで、左眼用の配列とは、左眼に対してのみ可視となるサブピクセルの制御情報の配列であり、右眼用の配列とは、右眼に対してのみ可視となるサブピクセルの制御情報の配列である。
なお、左眼用の配列の端から3個ずつのサブピクセルの制御情報が順番にグルーピングされている。このグルーピングは、表示面21上の左眼用ピクセルを構成する3個のサブピクセルの制御情報を単位として行われる。このようにしてグルーピングされた3個のサブピクセルの制御情報の組を制御情報組という。
右眼用の配列についても同様である。
ステップS5:1つの制御情報組に含まれる3個のサブピクセルの制御情報のうち1個以上のサブピクセルの制御情報が「OFF」を表わすか否かが判定される。
ステップS5における判定が「Yes」である場合には、処理はステップS6に進む。ステップS5における判定が「No」である場合には、処理はステップS7に進む。
ステップS6:1つの制御情報組に含まれる3個のサブピクセルの制御情報のそれぞれが「OFF」に設定される。
ステップS7:左眼用の配列に含まれるすべての制御情報組について、ステップS5、S6の処理が完了したか否かが判定される。
ステップS7における判定が「Yes」である場合には、処理はステップS8に進む。ステップS7における判定が「No」である場合には、処理はステップS5に戻る。
ステップS8〜S10:ステップS4において生成された右眼用の配列について、ステップS5〜S7と同様の処理が行われる。
ステップS11:左眼用の配列と右眼用の配列とを合成することにより、一次元描画パターンが生成される。一次元描画パターンは、3m個のサブピクセルの制御情報を含む一次元配列である。一次元描画パターンは、左眼用の配列に含まれるサブピクセルの制御情報と右眼用の配列に含まれるサブピクセルの制御情報とを交互に配列することによって得られる。
ステップS12:二次元画像データ32aに含まれるすべての一次元ドット配列について、ステップS2〜S11の処理が完了したか否かが判定される。
ステップS12における判定が「Yes」である場合には、処理はステップS13に進む。ステップS12における判定が「No」である場合には、処理はステップS2に戻る。
ステップS13:ステップS12において生成されたすべての一次元描画パターンを合成することにより、描画パターンが生成される。描画パターンは、3m×n個のサブピクセルの制御情報を含む二次元配列である。
以上のようにして、二次元画像データに対応する描画パターンが生成される。描画パターンに含まれるサブピクセルの制御情報の値は、サブピクセルの輝度レベルに変換される。例えば、サブピクセルの制御情報が「OFF」を表わす場合には、そのサブピクセルの制御情報はサブピクセルの輝度レベル0に変換され、サブピクセルの制御情報が「ON」を表わす場合には、そのサブピクセルの制御情報はサブピクセルの輝度レベル255に変換される。
表示面21上の各サブピクセルは、サブピクセルの輝度レベルによって制御される。その結果、描画パターンが表示面21上に表示される。描画パターンを表示面21上に表示するタイミングは、CPU31によって制御される。
このように、本発明の画像表示装置1aは、描画パターンに基づいて、表示面21上のサブピクセルの輝度レベルを制御する。上述した描画パターン生成プログラム33aによって生成される描画パターンは、その描画パターンを三次元表示デバイス20に表示したときの色が二次元画像データ32aを二次元表示デバイスに表示したときの色に擬似的に同一となるように構成されている。その結果、カラーノイズの発生が防止される。
図6は、二次元画像データに基づいて描画パターンが生成される様子を示す。
配列200は、二次元画像データに含まれるの1つの一次元ドット配列を表わす。配列200中の「1」は、OFFのドットを表わし、「0」は、ONのドットを表わす。
配列201は、一次元ドット配列200に基づいて生成される、サブピクセルの制御情報の配列である。配列200中の1個の「1」に基づいて配列201中の3個の「1」が生成され、配列200中の1個の「0」に基づいて配列201中の3個の「0」が生成される。配列202、203、202a、203a、204中の「1」はOFFのサブピクセルの制御情報を表わし、「0」はONのサブピクセルの制御情報を表わす。
配列202、203はそれぞれ、左眼用の配列、右眼用の配列である。左眼用の配列202および右眼用の配列203は、ステップS4(図5)の処理手順により生成される。配列202中の制御情報組L1には、1個以上のOFFのサブピクセルの制御情報があるので、制御情報組L1に含まれるすべてのサブピクセルの制御情報がOFFに設定される。その結果、左眼用の配列は配列202aとなる。配列203中のサブピクセルの制御情報組R1には、1個以上のOFFのサブピクセルの制御情報があるので、制御情報組R1に含まれるすべてのサブピクセルの制御情報がOFFに設定される。その結果、右眼用の配列は配列203aとなる。
左眼用の配列202aと右眼用の配列203aとを交互に配列することにより、一次元描画パターン204が得られる。
二次元画像データに含まれるすべての一次元ドット配列200について、生成された一次元描画パターン204を合成することにより、描画パターンが生成される。
図7は、図6に示される一次元描画パターン204を表示した表示面21の一部分(ライン330)を示す。
ライン330は、左眼用のライン330Lと、右眼用のライン330Rとに分解できる。
図3を参照して説明した原理と同様の原理によって、左眼用のライン330Lに含まれる左眼用ピクセルL1は、観察者の左眼に、黒色として知覚される。
左眼用ピクセルL0およびL2のそれぞれは、観察者の左眼に白色に知覚される。
同様に、右眼用のライン330Rに含まれる右眼用ピクセルR1も、観察者の右眼に、黒色として知覚される。
右眼用ピクセルR0およびR2のそれぞれは、観察者の右眼に白色に知覚される。
すなわち、観察者の左眼および右眼にはそれぞれ1つの黒色の点が知覚される。
観察者の左眼および右眼には所望の色が知覚される。観察者の左眼と右眼とに知覚された画像は、観察者の脳内で融合され、1つの画像として知覚される。
所望の色とは、二次元画像データを二次元表示デバイスに表示したときの色である。すなわち、OFFのドットに対しては例えば黒色であり、ONのドットに対しては例えば白色である。二次元画像データの二次元表示デバイスへの表示は、例えば加法混色により行われる。
一次元描画パターン204を表示面21に表示した場合にカラーノイズが発生しない原理を説明した。複数の一次元描画パターンを合成することによって生成された描画パターンを表示面21に表示した場合にカラーノイズが発生しないことは上記原理から明らかである。
図8は、1つの一次元ドット配列中にOFFのドットを2個含む二次元画像データに基づいて描画パターンが生成される様子を示す。
一次元ドット配列200から一次元描画パターン204を生成する手順は、図6を参照して説明した手順と同様である。
図9Aは、1ドットの大きさを有する黒色の点を表わす二次元画像データをピクセル単位の制御により表示面21に表示した状態を示す。このような点は、例えば文字の最も基本的な構成要素として用いられる。図9Aに示される桝目は、表示面21上のサブピクセルを示す。
図9Bは、図9Aに示される二次元画像データに基づいて、図5に示される本発明の処理手順によって生成された描画パターンを表示面21に表示した状態を示す。
図9Cは、アルファベットの「A」の形状を表わす二次元画像データを、ピクセル単位の制御により表示面21に表示した状態を示す。
図9Dは、図9Cに示される二次元画像データに基づいて、図5に示される本発明の処理手順によって生成された描画パターンを表示面21に表示した状態を示す。
図9B、図9Dに斜線で表示されているサブピクセルは、描画パターンのOFFのサブピクセルの制御情報に基づいて制御されるサブピクセルであり、斜線を付さずに表示されているサブピクセルは、描画パターンのONのサブピクセルの制御情報に基づいて制御されるサブピクセルである。
視差光学装置23を通して図9Cに示される表示面を観察する観察者はカラーノイズを知覚するが、図9Dに示される表示面を観察する観察者はカラーノイズを知覚することなくアルファベットの「A」の文字を認識できる。
本発明の画像表示装置は、文字を三次元表示デバイスに表示する場合に好適に使用されうる。
表示面21の白色の背景に対して黒色のドットを表示する場合に、黒色と白色の境界部分のように、横方向の輝度レベルの変化が大きい部分で最も顕著なカラーノイズが発生する。従って、白色の背景に黒色の文字を表示する場合に、カラーノイズが顕著になる。文字は他の画像に比べて白色と黒色の境界部分が多いため、特にカラーノイズの発生箇所が多くなる。また、文字にカラーノイズが発生すると、観察者の眼が非常に疲労する。
実施の形態1の画像表示装置によれば、文字をカラーノイズなく表示できるので、特に有効である。しかし、実施の形態1における二次元画像データは、文字に限定されない。例えば白黒の二値の画像データもカラーノイズなく表示することができる。白黒の二値の画像データとは、二次元画像データを構成する各ドットが、白色を表わすかまたは黒色を表わすかのどちらかである画像である。
さらに実施の形態1の画像表示装置1aは、二次元画像データが白黒の二値の画像データである場合だけでなく、灰色と黒色との二値の画像データである場合および、白色と灰色との二値の画像データである場合にも適用できる。
例えば、二次元画像データが灰色と黒色の二値の画像データである場合、描画パターンを表示面21に表示したときの色が擬似的に灰色と黒色とであればよい。灰色は、1つのピクセルに含まれる各サブピクセルに対応する各色要素の輝度(R,G,B)=(128,128,128)に設定することにより表示されるとする。取得された描画パターンのサブピクセルの制御情報の値をサブピクセルの輝度レベルに変換するときに、サブピクセルの制御情報OFFを輝度レベル0に変換し、サブピクセルの制御情報ONを輝度レベル128に変換すれば、描画パターンを表示面21に表示したときの色を灰色と黒色とにすることができる。
二次元画像データが白色と灰色との二値の画像データである場合も同様である。
また、実施の形態1の二次元画像データは、必ずしもドットの集合として定義されなくてもよい。例えば、二次元画像データは線分の集合として定義されており、それぞれの線分は始点と終点を示す座標によって定義されていてもよい。このように定義された線分を、ドットの集合として表わす方法は周知であり、ドットの集合として二次元画像データを再定義できる。このドットの集合に対して、図5に示される処理手順を適用すれば、描画パターンを生成することができる。
また、二次元画像データは、後述する実施の形態3に用いられるスケルトンデータにより定義されていてもよい。スケルトンデータにより定義される二次元画像データをドットの集合によって定義しなおせば、図5に示される処理手順が適用できる。
上記の説明では、描画パターンは図5に示される処理手順により二次元画像データに基づいて生成されるものとした。しかし、二次元画像データに対応する描画パターンを予めメモリ(例えば補助記憶装置50またはROM)に格納しておいてもよい。特に二次元画像データの数が予め決まっている場合(例えば二次元画像データが文字を表わす場合)には、二次元画像データに対応する描画パターンを予めメモリに格納しておくことが好適である。
三次元表示デバイス20のタイプも上記の説明に限定されない。三次元表示デバイス20としては、任意のタイプの三次元表示デバイスを使用することができる。
また、三次元表示デバイス20の表示面21としては、例えば、ストライプ形のカラー液晶表示デバイスが使用され得る。カラー液晶表示デバイスとしては、パソコンなどに多く用いられている透過型の液晶表示デバイスの他、反射型やリアプロ型の液晶表示デバイスが使用され得る。しかし、表示面21は、カラー液晶表示デバイスに限定されない。表示面21は、ストライプ型のCRTでもよい。
表示面21は、X方向およびY方向に配列された複数のピクセルを有するカラー表示装置(いわゆるXYマトリックス表示装置)のうちで、それぞれのピクセルが単一の方向に配列されたストライプ型のカラー表示装置が使用され得る。
さらに、1つのピクセルに含まれるサブピクセルの数は3には限定されない。1つのピクセルには、所定の方向に配列された2以上のサブピクセルが含まれ得る。例えば、N(N≧2)個の色要素を用いて色を表わす場合には、1つのピクセルにN個のサブピクセルが含まれ得る。
さらに、表示面21上の横方向のサブピクセルの配列順序も左から(R,G,B)の順序に限定されない。例えば、左から(B,G,R)の順序に配列していてもよい。
さらに、本発明に適用可能な色要素は、R(赤)、G(緑)、B(青)に限定されない。例えば、色要素として、C(シアン)、Y(イエロー)、M(マゼンタ)を使用することもできる。
(実施の形態2)
実施の形態1では、描画パターン中のサブピクセルの制御情報は、ONまたはOFFを表わしていた。これに基づいて、サブピクセルの輝度レベルはONに対応する輝度レベルと、OFFに対応する輝度レベルのどちらかに制御されていた。実施の形態2では、各サブピクセルの輝度をONに対応する輝度レベルとOFFに対応する輝度レベルとの中間段階に設定することにより、斜線や曲線などの画像の一部が滑らかに表示され得る。このため、画像の表示品位を飛躍的に向上させることが可能となる。
図10は、本発明の実施の形態2の画像表示装置1bの構成を示す。
図10において、図4に示される構成要素と同一の構成要素には同一の参照番号を付し、その説明を省略する。
補助記憶装置50には、描画パターン生成プログラム33bと描画パターン生成プログラム33bを実行するために必要なデータ32とが格納されている。データ32は、輝度テーブル32bと補正テーブル32cとを含む。補助記憶装置50としては、描画パターン生成プログラム33bおよびデータ32を格納することが可能な任意のタイプの記憶装置が使用され得る。
図11は、サブピクセルの色要素レベル(レベル8〜0)とサブピクセルの輝度レベルとの関係を定義する輝度テーブル32bを示す。
上述した実施の形態1では、表示面21のサブピクセルは、描画パターン中のサブピクセルの制御情報に基づいてそれぞれONに対応する輝度レベル(例えば255)またはOFFに対応する輝度レベル(例えば0)のどちらかに制御された。このように、ONまたはOFFのサブピクセルの制御情報を有する描画パターンを「二値の描画パターン」とよぶ。
実施の形態2では、サブピクセルを2段階でなく、多段階の輝度レベルに設定する制御を行う。多段階とは、3段階以上をいう。図11に示される輝度テーブル32bでは、サブピクセルの9段階の色要素レベル(レベル8〜レベル0)は、輝度レベル0〜255にほぼ等間隔で割り当てられている。サブピクセルの制御情報は、色要素レベルによって表わされる。
色要素レベル8は、サブピクセルの制御情報のOFFに相当し、色要素レベル0は、サブピクセルの制御情報のONに相当する。実施の形態2の描画パターンは、サブピクセルの色要素レベルのサブピクセルの制御情報の集合として定義される。
このように、多段階の色要素レベルをとり得るサブピクセルの制御情報を有する描画パターンを、「多値の描画パターン」とよぶ。
実施の形態2では、画像表示装置1b(図10)の制御部40は、実施の形態1で生成された二値の描画パターンに対して、補正テーブルに基づくパターン置換を行い、多値の描画パターンを生成する。制御部40は、この多値の描画パターンに基づいて、サブピクセルの色要素レベルの制御を行う。
以下、画像表示装置1bの動作原理を説明する。なお、以下の説明は、二次元画像データが白黒の二値の画像データである場合を例に挙げている。
実施の形態1で説明した手順に従って、二次元画像データに基づいて二値の描画パターンを生成する場合を考える。二次元画像データにおいて、OFFを表わすドットの配列のタイプとして、次の代表的な3つの例がある。
(1)二次元画像データでは、1ドット幅のOFFを表わすドットが横方向に互いに離れた位置にあり、二次元画像データをピクセル単位の制御により表示面に表示した場合に、それらのドットに対応するサブピクセルが連続せず、それに基づいて生成された二値の描画パターンを表示面に表示した場合に、OFFのサブピクセルの制御情報により制御されるサブピクセルが互いに連続しない。
(2)二次元画像データでは、横方向に互いに接近したOFFを表わすドットが2個あり、二次元画像データをピクセル単位の制御により表示面に表示した場合に、それらのドットに対応するサブピクセルが連続せず、それに基づいて生成された二値の描画パターンを表示面に表示した場合に、OFFのサブピクセルの制御情報により制御されるサブピクセルが連続する。
(3)二次元画像データで、OFFを表わすドットが2ドット幅以上横方向に連続する場合で、二次元画像データをピクセル単位の制御により表示面に表示した場合に、それらのドットに対応するサブピクセルが連続し、それに基づいて生成された二値の描画パターンを表示面に表示した場合にも、OFFのサブピクセルの制御情報により制御されるサブピクセルが連続する。
以上の代表的な3つの例を、図9Cおよび図9Dを再び参照して説明する。図9Cに示されるライン901a中には、斜線で示される3個のサブピクセルがある。これは、二次元画像データの1つのOFFを表わすドットに対応している。同様に、ライン902a中の斜線で示される3個のサブピクセルは、二次元画像データの別の1つのOFFを表わすドットに対応している。ライン901aに含まれるOFFを表わすドットに対応するサブピクセルと、ライン902aに含まれるOFFを表わすドットに対応するサブピクセルとは、離れた位置にあり連続していない。
図9Dに示されるライン901bはライン901a(図9C)と同じ表示面のサブピクセルの配列である。ライン901b中には斜線で示される6個のサブピクセルがある。これらのサブピクセルは、OFFのサブピクセルの制御情報によって制御されるサブピクセルである。同様にライン902bはライン902a(図9C)と同じ表示面の位置のサブピクセルの配列である。ライン901bに含まれるOFFのサブピクセルの制御情報によって制御されるサブピクセルと、ライン902bに含まれるOFFのサブピクセルの制御情報によって制御されるサブピクセルとは、離れた位置にあり連続していない。
従って図9Cのライン901aに含まれる3個のOFFのサブピクセルに対応する二次元画像データの1つのドットと、ライン902aに含まれる3個のOFFのサブピクセルに対応する二次元画像データの別の1つのドットとは、上述したOFFを表わすドットの配列の代表的な3つのタイプのうちのタイプ(1)の位置関係にある。
図9Cに示されるライン903aには、斜線で示される連続した3個のサブピクセルが2箇所にある。これらは、二次元画像データのOFFを表わす2つのドットに対応している。これらの2つのドットは、隣り合っていない、すなわち、連続していない。図9Dに示されるライン903bは、ライン903a(図9C)と同じ表示面上の位置にあるサブピクセルの配列である。ライン903b中には、10個の連続したOFFのサブピクセルの制御情報によって制御されるサブピクセルが含まれている。従って図9Cのライン903aに含まれる2ヶ所の連続した3個のOFFのサブピクセルに対応する二次元画像データの2つのドットは、上述したOFFを表わすドットの配列の代表的な3つのタイプのうちのタイプ(2)の位置関係にある。
図9Cに示されるライン904aには、斜線で示される連続した21個のサブピクセルがある。これらの21個のサブピクセルは、二次元画像データの7個の連続したOFFを表わすドットに対応している。図9Dに示されるライン904bは、ライン904a(図9C)と同じ表示面上の位置のサブピクセルの配列である。ライン904bには、22個の連続したOFFのサブピクセルの制御情報によって制御されるサブピクセルが含まれている。従ってラインライン904a(図9C)に含まれる21個のOFFのサブピクセルに対応する二次元画像データの7個の連続したOFFを表わすドットは、上述したOFFを表わすドットの配列の代表的な3つのタイプのうちのタイプ(3)の位置関係にある。
図12は、二値の描画パターンに対して適用する補正テーブル32cとして用いられる補正テーブルの例を示す。図示された補正テーブル32c−1は、図10に示す実施の形態2の画像表示装置1bの補正テーブル32cとして用いられ得る。補正テーブル32c−1に含まれる照合パターン1001〜1003に示されるサブピクセルの制御情報の配列が、二値の描画パターン中に見つかれば、そのサブピクセルの制御情報の配列をそれぞれ補正パターン2001〜2003に示されるサブピクセルの制御情報の配列で置換(パターン置換)することにより、多値の描画パターンが生成される。
例えば、二値の描画パターン中に、サブピクセルの制御情報のパターンが、左からON、OFF、ON、OFF、OFF、OFF、OFF、ON、OFF、ONと続いた場合、このパターンが照合パターン1001と一致するので、この10個のサブピクセルの制御情報からなる配列を補正パターン2001に置換する、すなわち、左から順に、”0”、”2”、”5”、”7”、”8”、”8”、”7”、”5”、”2”、”0”に置換する。
補正テーブル32c−1に含まれる照合パターン1001〜1003および補正パターン2001〜2003の桝目の中の数字はサブピクセルの制御情報を表わしている。
照合パターン1001〜1003の桝目の中の数字は、二値の描画パターンのサブピクセルの制御情報を表わしており、「8」はOFFのサブピクセルの制御情報を表わし、「0」はONのサブピクセルの制御情報を表わしている。補正パターン2001〜2003の桝目の中の数字は、多値の描画パターンのサブピクセルの制御情報を表わしており、色要素レベルにより表わされている。
照合パターン1001は、上記(1)の場合に二値の描画パターン中に現れ得るサブピクセルの制御情報の配列を示す。例えば図9Dに示されるライン901bおよびライン902bに対応する描画パターンの一部分は、照合パターン1001と同一のパターンである。
照合パターン1002は、上記(2)の場合に二値の描画パターン中に現れ得るサブピクセルの制御情報を示す。例えば図9Dに示されるライン903bに対応する描画パターンの一部分は、照合パターン1002と同一のパターンである。
照合パターン1003は、上記(3)の場合に二値の描画パターン中に現れ得るサブピクセルの制御情報を示す。例えば図9Dに示されるライン904bに対応する描画パターンの一部分は、照合パターン1001と同一のパターンである。
また、照合パターン1003には、OFFであるサブピクセルの制御情報が22個連続して含まれている。照合パターン1003において、OFFであるサブピクセルの制御情報が連続する個数は、元の二次元画像データにおいてOFFのドットが連続する個数に応じて変化する。この連続するOFFのサブピクセルの制御情報の個数は、一般に3k+1と表わすことができる。ここで、kは二次元画像データにおいてOFFのドットが連続する個数である。また補正パターン2003中のOFFのサブピクセルの制御情報が連続する個数は、一般に3k−1と表わすことができる。
以上のように、補正テーブル32c−1に含まれるパターンを自然数kを用いて表わすことにより、補正テーブル32c−1が多数のパターンを持つ必要がなくなる。
描画パターン生成プログラム33bは、二次元画像データに基づいて、図5に示される処理手順のステップS1〜S13と同様の処理手順により一次元描画パターンを生成する。
図13は、一次元描画パターンに対してパターン置換を実行する処理手順を示す。以下パターン置換の処理手順を各ステップごとに説明する。
ステップSS1:図5に示される処理手順のステップS11の結果である二値の一次元描画パターンの端からチェックする。これは右端からでも左端からでもよい。
ステップSS2:置換可能なサブピクセルの制御情報の配列が一次元描画パターン中にあるか否かが判定される。より具体的には、一次元描画パターン中に含まれるサブピクセルの制御情報の配列を、補正テーブル1100に含まれる照合パターン1001、1002および1003と照合し、一致するものがあるか否かが判定される。もし「Yes」であれば処理はステップSS3に進む。もし「No」であれは処理はステップSS4に進む。
ステップSS3:パターンの置換を行う。例えば、照合パターン1002と一致するサブピクセルの制御情報の配列が一次元描画パターン中にあれば、そのサブピクセルの制御情報の配列を補正パターン2002により置換する。
ステップSS4:ステップSS2〜SS3までの処理を一次元描画パターンに含まれるすべてのサブピクセルの制御情報について実行したか否かが判定される。もし「Yes」であればパターン置換の処理は終了する。
パターン置換処理された一次元描画パターンは、多値の一次元描画パターンとなっている。
次に、図5に示される処理手順のステップS12以降と同様の処理が実行され、ステップS13で多値の描画パターンが生成される。
以上のようにして、二次元画像データに対応する多値の描画パターンが生成される。多値の描画パターンに含まれるサブピクセルの制御情報の値は、サブピクセルの輝度レベルに変換される。このような変換は例えば、補助記憶装置50に格納されている輝度テーブル32bを用いて行われる。
表示面21上の各サブピクセルは、サブピクセルの輝度レベルによって制御される。その結果、多値の描画パターンが表示面21上に表示される。多値の描画パターンを表示面21上に表示するタイミングは、CPU31によって制御される。
以上の説明では、パターン置換は図5に示される処理手順のステップS11により生成される二値の一次元描画パターンに対して実行していた。パターン置換は、ステップS13により二値の描画パターンを生成した後に、その二値の描画パターンを構成する二値の一次元描画パターンに対して実行してもよい。
図14は、アルファベットの「A」の形状を表わす二次元画像データに基づいて生成された多値の描画パターン1400を示す。多値の描画パターン1400に基づいて、表示面21上のサブピクセルの色要素レベルが0〜8の9段階に設定される。
多値の描画パターン1400を表示面21に表示し、視差光学装置23を通して観察すると、カラーノイズが軽減されるため、擬似的な黒色に見える。ここで、擬似的な黒色とは、色彩学的には厳密には黒色ではないが、人間の目には黒色に見えるという意味である。カラーノイズが軽減される理由は、サブピクセルの輝度レベルを9段階に制御することにより、元の二次元画像データをピクセル単位の制御により表示面21に表示した場合に比べて横方向に輝度レベルの急激な変化がなくなるからである。
本発明の実施の形態2では、パターン置換に用いる補正テーブルを選択することにより、表示面21に表示される描画パターンの線の太さを見かけ上太くしたり細くしたりすることもできる。
図15は、線の太さを制御する場合に用いられる補正テーブル32c−2を示す。
補正テーブル32c−2は、照合パターン1001、1002、1003および補正パターン2001a、2001b、2001c、2002a、2002b、2002c、2003a、2003b、2003cを含む。補正パターン2001a、2001bおよび2001cのそれぞれは、描画パターン中のサブピクセルの制御情報の配列が照合パターン1001と同じであるときに、それらのサブピクセルの制御情報を置換し得る補正パターンである。補正パターン2001aによってパターン置換を行うと、線の細い多値の描画パターンが生成される。補正パターン2001bによってパターン置換を行うと、線の太さが中程度の多値の描画パターンが生成される。補正パターン2001cによってパターン置換を行うと、線の太い多値の描画パターンが生成される。図15の補正テーブル32c−2に含まれる他の照合パターンおよび補正パターンについても同様である。
図16は、線の太さを制御する場合に用いられる補正テーブルの他の例を示す。
補正テーブル32c−3は、照合パターン1001、1002、1003および補正パターン2011a、2011b、2011c、2012a、2012b、2012c、2013a、2013b、2013cを含む。補正パターン2011a、2011bおよび2011cはそれぞれ、二値の描画パターン中のサブピクセルの制御情報の配列が照合パターン1001と同じであるときに、それらのサブピクセルの制御情報を置換し得る補正パターンである。補正パターン2011aによってパターン置換を行うと、線の細い多値の描画パターンが生成される。補正パターン2011bによってパターン置換を行うと、線の太さが中程度の多値の描画パターンが生成される。補正パターン2011cによってパターン置換を行うと、線の太い多値の描画パターンが生成される。図16の補正テーブル32c−3に含まれる他の照合パターンおよび補正パターンについても同様である。
線の細い多値の描画パターンを表示面21上に表示すると、観察者に細い線を知覚させることができる。
線の太さが中程度の多値の描画パターンを表示面21上に表示すると、観察者に中程度の太さの線を知覚させることができる。
線の太い多値の描画パターンを表示面21上に表示すると、観察者に太い線を知覚させることができる。なお、線の細い、中程度、太いは、相対的な線の太さをいう。
図15に示される補正テーブル32c−2は、補正パターン中のサブピクセルの制御情報によって、最大の色要素レベルに制御されるサブピクセルの個数を変えることによって太さ制御を行う。最大の色要素レベルとは、複数の色要素レベルのうちで、輝度テーブル32bによって最も低い輝度レベルに割り当てられた色要素レベルである。この場合、最大の色要素レベルは、色要素レベル「8」である。例えば、線の細い多値の描画パターンを生成するための補正テーブル2001a中のサブピクセルの制御情報によって、最大の色要素レベルに制御されるサブピクセルの数は0個(最大の色要素レベルに制御されるサブピクセルがない)である。一方、線の太い多値の描画パターンを生成するための補正パターン2001c中のサブピクセルの制御情報によって、最大の色要素レベルに制御されるサブピクセルの数は4個である。このように、補正テーブル32c−2は最大の色要素レベルに制御されるサブピクセルの数を増減することにより、太さ制御を行っている。
図16の補正テーブル32c−3は、補正パターン中の、最大の色要素レベルに制御されるサブピクセルの個数は一定のままで、太さ制御を行う。例えば、線の細い多値の描画パターンを生成するための補正テーブル2011a中のサブピクセルの制御情報によって、最大の色要素レベルに制御されるサブピクセルの数は2個である。線の太い多値の描画パターンを生成するための補正テーブル2011c中のサブピクセルの制御情報によって、最大の色要素レベルに制御されるサブピクセルの数も2個である。このように、補正テーブル32c−3は最大の色要素レベルに制御されるサブピクセルの数を一定としたまま、太さ制御を行っている。この場合の太さ制御は、予め定められた個数のサブピクセル(最大の色要素レベル以外の色要素レベルに設定されるサブピクセル)の色要素レベルを制御することによって行われる。
図17は、図15に示される補正テーブル32c−2を用いてパターン置換を行い、多値の描画パターン1700を生成した例を示す。多値の描画パターン1700は、アルファベットの「A」の形状を表わす二次元画像データに基づいて二値の描画パターンを生成し、二値の描画パターンに対して補正テーブル32c−2を用いて線の太い多値の描画パターンを生成した結果である。
図18は、図16に示される補正テーブル32c−3を用いてパターン置換を行い、多値の描画パターン1800を生成した例を示す。多値の描画パターン1800は、アルファベットの「A」の形状を表わす二次元画像データに基づいて二値の描画パターンを生成し、二値の描画パターンに対して補正テーブル32c−3を用いて線の細い多値の描画パターンを生成した結果である。
以上のように、本発明の実施の形態2の画像表示装置1bによれば、サブピクセルの色要素レベルを多段階に設定することにより、画像の表示品位を高めることができる。特に文字表示において、高品位で読みやすい文字を表示することができる。
また、微妙な文字の太さ制御も行うことができる。この太さ制御は、サブピクセル単位に制御を行うため、ピクセル単位の制御を行う場合に比べて、きめの細かい太さ制御ができる。このような太さ制御は、二次元画像データが文字を表わす場合に特に好適である。文字の太さを変えることにより文字の装飾が可能になるからである。
なお、輝度テーブル32は図11に示す例以外にも、装置の特性に応じて様々な輝度テーブルを使用し得る。
図19Aは、サブピクセルの色要素レベル(レベル8〜0)とサブピクセルの輝度レベルとの関係を定義する輝度テーブル32b−2を示す。輝度テーブル32b−2は、三次元表示デバイス20が、カラー液晶表示デバイスの場合に好適に使用され得る。輝度テーブル32b−2を使用することにより、色要素B(青)のサブピクセルの輝度レベルが低い場合において、色要素Bのサブピクセルの輝度が実際よりも暗くなってしまうことを補正することができる。このように、三次元表示デバイス20の表示特性に適合した輝度テーブルを使用することにより、人間の目に所望の色彩を知覚させることができる。
また、上記の説明では、補正テーブルに含まれる補正パターンを使い分けることによって、太さ制御を行っていた。太さ制御は、輝度テーブルを変更することによっても実現できる。
図19Bは、サブピクセルの色要素レベル(レベル8〜0)とサブピクセルの輝度レベルとの関係を定義する輝度テーブル32b−3を示す。輝度テーブル32b−3では、サブピクセルの色要素レベルのうちレベル8〜レベル5に対応する輝度レベルが輝度レベル0の側に偏っており、サブピクセルの色要素レベルのうちレベル4〜レベル0に対応する輝度レベルが輝度レベル255の側に偏っている。図19Bに示されるように輝度テーブル32b−3を定義することにより、図11に示される輝度テーブル32bを使用する場合と比較して、文字の太さを見かけ上細く表示することができる。すなわち、観察者の目には文字が引き締まって見える。
上記の説明では、多値の描画パターンは図5および図13に示される処理手順により二次元画像データに基づいて生成されるものとした。しかし、二次元画像データに対応する多値の描画パターンを予めメモリに格納しておいてもよい。特に二次元画像データの数が予め決まっている場合、例えば二次元画像データが文字を表わす場合には、二次元画像データに対応する描画パターンを予めメモリに格納しておくことが好適である。
なお、実施の形態2の画像表示装置1bは、二次元画像データが白色と黒色の二値の画像データである場合だけでなく、灰色と黒色との二値の画像データである場合および、白色と灰色との二値の画像データである場合にも適用できる。
例えば、二次元画像データが灰色と黒色との二値の画像データである場合、描画パターンを表示面21に表示したときの色が擬似的に灰色と黒色とであればよい。このためには、例えば、図11に示される輝度テーブル32bにおいて定義される色要素レベルと輝度レベルとの関係を、色要素レベル8〜0が輝度レベル0〜127に対応するように変更すればよい。
二次元画像データが白色と灰色との二値の画像データである場合も同様である。
(実施の形態3)
図20は、本発明の実施の形態3の画像表示装置1cの構成を示す。
図20において、図10に示される構成要素と同一の構成要素には同一の参照番号を付し、その説明を省略する。
以下、画像表示装置1cが扱う二次元画像データは文字を表わす場合を例にして説明する。
補助記憶装置50には、描画パターン生成プログラム33cと描画パターン生成プログラム33cを実行するために必要なデータ32とが格納されている。データ32は、文字の骨格形状を定義するスケルトンデータ32dと輝度テーブル32bと近傍処理テーブル32eとを含む。
図21は、補助記憶装置50に格納されているスケルトンデータ32dの構造の例を示す。
スケルトンデータ32dは、文字の骨格形状を表わす。スケルトンデータ32dは、文字の種類を区別するための文字コード2301と、1つの文字を構成するストロークの数M(Mは1以上の整数)を示すストローク数2302と、各ストロークに対応するストローク情報2303とを含む。
ストローク情報2303は、ストロークを区別するためのストローク番号2304と、ストロークを構成する複数の点の数N(Nは1以上の整数)を示す点数2305と、ストロークの線のタイプを示す線タイプ2306と、ストロークを構成する複数の点の座標をそれぞれ示す複数の座標データ2307とを含む。座標データ2307の数は、点数2305に等しいため、N個の座標データが1つのストロークを構成する座標として格納されていることになる。
ストローク情報2303の数は、ストローク数2302に等しいため、スケルトンデータ32dは、ストロークコード1からストロークコードMに対応してM個のストローク情報2303を含む。
線タイプ2306としては、例えば、「直線」という線タイプと、「曲線」という線タイプとが使用される。線タイプ2306が「直線」である場合には、ストロークを構成する複数の点が直線によって近似される。線タイプ2306が「曲線」である場合には、ストロークを構成する点が曲線(例えば、スプライン曲線)によって近似される。
図22は、アルファベットの「A」の骨格情報を表わすスケルトンデータ32dの例を示す。アルファベットの「A」の骨格形状を表わすスケルトンデータ32dは、ストロークコード1〜3に対応する3個のストローク#1〜ストローク#3を有している。
ストローク#1は、始点(128,255)と終点(4,42)とを結ぶ直線として定義されている。ストローク#2は、始点(128,255)と終点(251,42)とを結ぶ直線として定義されている。ストローク#3は、始点(72,103)と終点(182,103)とを結ぶ直線として定義されている。
なお、これらの座標データは、座標データ2307のための予め決められた座標系により記述される。
図23は、アルファベットの「A」の骨格形状を表わすスケルトンデータ32dを座標平面上に表示した例を示す。
図24は、描画パターン生成プログラム33cの処理手順を示す。描画パターン生成プログラム33cは、CPU31によって実行される。以下、描画パターン生成プログラム33cの処理手順を各ステップごとに説明する。
ステップS2001:入力デバイス35から、文字コードと文字サイズとが入力される。例えば、アルファベットの「A」を三次元表示デバイス20に表示する場合には、文字コードとして0333番(JIS区点コード、03区33点)が入力される。文字サイズは、例えば、表示される文字の横方向のドット数と縦方向のドット数とによって表現される。文字サイズは、例えば、12ドット×12ドットである。
ステップS2002:入力された文字コードに対応する1文字分のスケルトンデータ32dが、主メモリ34に格納される。
ステップS2003:入力された文字サイズに従って、スケルトンデータ32dの座標データ2307がスケーリングされる。このスケーリングにより、スケルトンデータ32dの座標データ2307のための予め決められた座標系が表示面21のための実ピクセル座標系に変換される。
ステップS2004:スケルトンデータ32dから1ストローク分のデータ(ストローク情報2303)が取り出される。
ステップS2005:ステップS2004で取り出したストローク情報2303に含まれる線タイプ2306に基づいて、スケーリングされた座標データ2307が、直線または曲線で結ばれる。この線上に配置されるサブピクセルが文字の骨格部分として定義される。
ステップS2006:文字の骨格部分のサブピクセル、骨格部分の右側の近傍のサブピクセルおよび骨格部分の左側の近傍のサブピクセルの制御情報が、所定の近傍処理テーブルに基づいて色要素レベル8〜色要素レベル0のいずれかに決定される。この処理を近傍処理とよぶ。近傍処理の詳細は、図29Aを用いて後述される。
ステップS2007:1文字に含まれるすべてのストロークについてステップS2003〜ステップS2006の処理が完了したか否かが判定される。もし「No」であれば処理はステップS2003に戻る。もし「Yes」であれば処理はステップS2008に進む。
ステップS2008:近傍処理がされたストロークを合成することにより、各サブピクセルの制御情報が決定し、多値の描画パターンが生成される。
以上のようにして、二次元画像データに対応する多値の描画パターンが生成される。多値の描画パターンに含まれるサブピクセルの制御情報の値は、サブピクセルの輝度レベルに変換される。このような変換は例えば、補助記憶装置50に格納されている輝度テーブル32bを用いて行われる。
表示面21上の各サブピクセルは、サブピクセルの輝度レベルによって制御される。その結果、多値の描画パターンが表示面21上に表示される。多値の描画パターンを表示面21上に表示するタイミングは、CPU31によって制御される。
図25は、図22に示されるストロークデータを、表示面21上のサブピクセル座標系に変換し、表示面21上にプロットした図である。図25に示す桝目のそれぞれは、表示面21のサブピクセルを表わしている。ストローク#1〜ストローク#3に対応する線分が表示面21上に示されている。
ストローク#1〜ストローク#3のそれぞれに対応する線分が通過するサブピクセルが、各ストロークの骨格部分として定義される。
図26Aは、アルファベットの「A」のストローク#1の骨格部分として定義されたサブピクセルを示す。図26Aに斜線で示されるサブピクセルは、ストローク#1の骨格部分として定義されたサブピクセルである。
図26Bは、アルファベットの「A」のストローク#1の骨格部分として定義されたサブピクセルを「1」で表わし、それ以外のサブピクセルを「0」で表わした二次元配列2600を示す。
図27Aは、アルファベットの「A」のストローク#2の骨格部分として定義されたサブピクセルを示す。図27Aに斜線で示されるサブピクセルは、ストローク#2の骨格部分として定義されたサブピクセルである。
図27Bは、アルファベットの「A」のストローク#2の骨格部分として定義されたサブピクセルを「1」で表わし、それ以外のサブピクセルを「0」で表わした二次元配列2700を示す。
図28Aは、アルファベットの「A」のストローク#3の骨格部分として定義されたサブピクセルを示す。図28Aに斜線で示されるサブピクセルは、ストローク#3の骨格部分として定義されたサブピクセルである。
図28Bは、アルファベットの「A」のストローク#3の骨格部分として定義されたサブピクセルを「1」で表わし、それ以外のサブピクセルを「0」で表わした二次元配列2800を示す。
図29Aは、近傍処理テーブル32eとして用いられ得る近傍処理テーブルの例を示す。図示された近傍処理テーブル32e−1は、図20に示す画像表示装置1cの近傍処理テーブル32eとして用いられ得る。近傍処理テーブル32e−1を用いた近傍処理を以下に述べる。
近傍処理テーブル32e−1は、骨格部分のサブピクセルの制御情報を「色要素レベル8」に設定し、その左側に隣接するサブピクセルの制御情報を「色要素レベル6」に設定し、さらにその左側のサブピクセルの制御情報を順に「色要素レベル4」、「色要素レベル2」、「色要素レベル0」に設定することを示している。また、骨格部分のサブピクセルの右側に隣接するサブピクセルの制御情報を「色要素レベル6」に決定し、さらにその右側のサブピクセルの制御情報を順に「色要素レベル4」、「色要素レベル2」、「色要素レベル0」に設定することを示している。
アルファベットの「A」のストローク#1の骨格部分に対する近傍処理を以下に説明する。図26Bに示される二次元配列2600において、「1」で示される配列要素が骨格部分に対応しているので、この配列要素を「色要素レベル8」に設定する。これが、骨格部分に対応するサブピクセルの制御情報となる。次に骨格部分に対応する配列要素の右側の配列要素と左側の配列要素とを「色要素レベル6」に設定する。同様に近傍処理を実行し、ストローク#1の骨格部分の近傍のサブピクセルの制御情報が設定される。
図30は、アルファベットの「A」のストローク#1の骨格部分に対して、近傍処理テーブル32e−1に基づいて近傍のサブピクセルの制御情報を設定した結果を示す。
図31は、アルファベットの「A」のストローク#2の骨格部分に対して、近傍処理テーブル32e−1に基づいて近傍のサブピクセルの制御情報を設定した結果を示す。
図32は、アルファベットの「A」のストローク#3の骨格部分に対して、近傍処理テーブル32e−1に基づいて近傍のサブピクセルの制御情報を設定した結果を示す。
図33は、アルファベットの「A」のスケルトンデータから生成した多値の描画パターンを示す。描画パターン3300は、図30〜図32に示されるサブピクセルの制御情報の二次元配列3000〜二次元配列3200を合成することにより得られる。この合成の際、各サブピクセルの制御情報のうちで最大の色要素レベルを有するサブピクセルの制御情報が優先される。
この多値の描画パターンに基づいて、表示面21上のサブピクセルの輝度値レベルを制御することにより、三次元表示デバイス20に文字を表示することができる。このようにして表示された文字は、横方向に輝度値レベルの急激な変化がないため、観察者はカラーノイズを知覚することなく文字を知覚することができる。
以上に説明した実施の形態3において、近傍処理テーブルを選択的に使用して近傍処理を行うことによって、文字の太さ制御を実行してもよい。
図29Bは、文字を太く表示するための近傍処理テーブル32e−2を示す。近傍処理テーブル32e−2を用いて近傍処理を行うと、近傍処理テーブル32e−1を用いて近傍処理を行った場合と比較して、文字の骨格部分の近傍のサブピクセルの制御情報が大きい色要素レベルに設定される。すなわち、文字が太く表示される。
また、図19Bを参照して説明したように、輝度テーブルを変えることによって文字の太さ制御を実行してもよい。
以上は、文字のストロークデータに基づいて文字を表示する場合について説明した。本発明の実施の形態3の画像表示装置1cは、文字の表示に限定されない。
画像表示装置1cは、ストロークデータと同様のデータ構造によって記述される線画の表示や、罫線の表示にも適用できる。
上記の説明では、多値の描画パターンは図24に示される処理手順により文字のスケルトンデータに基づいて生成されるものとした。しかし、文字に対応する多値の描画パターンを予めメモリに格納していてもよい。
また、文字データの構造は、ストロークデータを含むスケルトンデータに限られない。例えば、文字データの構造として、骨格部分のデータを、予めメモリに格納しておいてもよい。
図34は、アルファベットの「A」の骨格部分のデータ3400を示す。
アルファベットの「A」が表示面21に表示されたとき、図34に示される骨格部分のデータの「1」に対応するサブピクセルが、文字の骨格部分として定義される。
骨格部分のデータ3400をを予めメモリに格納することの利点は、文字のストロークデータから、文字の骨格部分を定義するための演算が必要でなくなることである。これによって、文字を三次元表示デバイス20に表示する際に必要な計算量を減少させることが可能となる。文字集合(絵記号等を含む)のように数が限定できる場合には、骨格部分を示すサブピクセルの情報を予めメモリに格納することが好適である。