(57)【特許請求の範囲】
【請求項１】
表示画面の走査に対応したアドレス構成を有し、各アドレスに従って前記表示画面を構成する各画素の画素データが記憶される表示メモリと、
前記表示画面の走査に対応したアドレス構成を有する第１乃至第Ｎ（Ｎは２以上の整数）のアドレス変換テーブルを有し、
第Ｋ（Ｋ＝１乃至Ｎ−１）のアドレス変換テーブルには、各アドレスに従って第Ｋ＋１のアドレス変換テーブルのアドレス情報が記憶され、第Ｎのアドレス変換テーブルには、各アドレスに従って前記表示メモリのアドレスを指定するアドレス情報が記憶され、
前記表示画面の走査に対応して前記第１乃至第Ｎのアドレス変換テーブルのアドレスを順に参照し、これによって前記第Ｎのアドレス変換テーブルから読み出されるアドレス情報に従って前記表示メモリから画素データを読み出して表示装置に供給する表示制御手段と、
を具備することを特徴とする表示制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パーソナルコンピュータやゲーム機などの各種電子機器の表示制御に好適な表示制御装置に関する。
【０００２】
【従来の技術】
ＣＲＴ（Ｃａｔｈｏｄｅ−Ｒａｙ  Ｔｕｂｅ）などの表示装置の表示制御は、一般的に以下に述べるように行われている。
まず、説明を簡単にするため、図９において、表示装置２００の表示画面２０１には、水平方向（Ｘ方向）に８個、垂直方向（Ｙ方向）に５個の計４０個の画素位置が設けられているものとする。そして、フレームバッファ２０２には、表示画面２０１上の各画素位置と対応させて計４０個の各画素の画素データ（１画面分）が記憶されているものとする。
【０００３】
ここで、フレームバッファ２０２において各画素データが記憶されるエリアは、各画素データ毎に固定されている。さらに詳述すると、各画素データは、各々の表示が行われる表示画面２０１上での画素位置［Ｘ，Ｙ］に対応したエリアに記憶されるようになっている。
【０００４】
このような構成において、表示装置２００が表示画面２０１における最初の水平走査線上の画素の表示を行うときには、それに先立って、当該水平走査線上の各画素位置［Ｘ，０］（Ｘ＝０〜７）に対応した各画素データがフレームバッファ２０２から読み出され、これらが表示装置２００に供給される。次に、２番目の水平走査線上の画素の表示に先立って、画素位置［Ｘ，１］（Ｘ＝０〜７）に対応した各画素データがフレームバッファ２０２から読み出され、これらが表示装置２００に供給される。以降の各水平走査線上の画素表示も同様であり、各水平走査線上の各画素位置に対応した画素データが事前にフレームバッファ２０２から読み出され、表示装置２００に供給される。このようにして１垂直走査期間内に１画面分の各画素位置［Ｘ，Ｙ］（Ｘ＝０〜７，Ｙ＝０〜４）に対応した各画素データがフレームバッファ２０２から読み出されて表示装置２００に与えられ、画像表示が行われる。
【０００５】
【発明が解決しようとする課題】
ところで、ある原画像を構成する各画素データがフレームバッファ２０２に格納された場合において、例えば、この原画像の左右反転表示や回転表示などを行う場合がある。従来、このような場合には、フレームバッファ２０２に格納された各画素データを一旦読み出して原画像の左右反転表示や回転表示に対応した各画素データを生成し、フレームバッファ２０２に格納し直すという複雑な制御を行わなければならず、表示処理に時間を要するという課題があった。
【０００６】
本発明は、以上説明した事情に鑑みてなされたものであり、画素表示を行うための画素データを表示画面上の画素位置毎に表示メモリの任意のエリアから読み出せるようにした表示制御装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
この発明は、表示画面の走査に対応したアドレス構成を有し、各アドレスに従って前記表示画面を構成する各画素の画素データが記憶される表示メモリと、
前記表示画面の走査に対応したアドレス構成を有する第１乃至第Ｎ（Ｎは２以上の整数）のアドレス変換テーブルを有し、
第Ｋ（Ｋ＝１乃至Ｎ−１）のアドレス変換テーブルには、各アドレスに従って第Ｋ＋１のアドレス変換テーブルのアドレス情報が記憶され、第Ｎのアドレス変換テーブルには、各アドレスに従って前記表示メモリのアドレスを指定するアドレス情報が記憶され、
前記表示画面の走査に対応して前記第１乃至第Ｎのアドレス変換テーブルのアドレスを順に参照し、これによって前記第Ｎのアドレス変換テーブルから読み出されるアドレス情報に従って前記表示メモリから画素データを読み出して表示装置に供給する表示制御手段と、
を具備することを特徴とする表示制御装置を要旨とする。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。かかる実施の形態は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【００１０】
ここで、発明を理解する上で混同を避けるため、表示装置の表示画面上における画素位置を表示画素位置と定義し、また、フレームバッファ上において原画面（１画面分の画像）を構成する各画素の当該原画面における画素位置を画像画素位置と定義して以下の説明を行う。
【００１１】
Ａ．実施形態の構成
（１）ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）の全体構成
図１は、この発明の一実施形態であるＶＤＰ（Ｖｉｄｅｏ  Ｄｉｓｐｌａｙ  Ｐｒｏｃｅｓｓｏｒ）１０５を用いたＰＣ１０の構成を示すブロック図である。
【００１２】
図１において、ＰＣ１０は、表示装置１００およびＰＣ本体１０１を有している。ここで、表示装置１００はＣＲＴやＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などであり、その表示画面１００ａには、水平方向（Ｘ方向）６４０個×垂直方向（Ｙ方向）４８０個の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０〜４７９）が設けられている。
【００１３】
この表示装置１００は、ＰＣ本体１０１のＶＤＰ１０５から供給されるアナログ画像信号ＲＧＢや、水平同期信号Ｈｓｙｎｃ、垂直同期信号Ｖｓｙｎｃ、水平帰線消去信号Ｂｌａｎｋなどに基づいて表示画面１００ａに画像を表示する。また、表示装置１００は順次走査方式の表示装置であり、図１に示すように、表示画面１００ａにおいて最初の水平走査を行う場合には、最初の水平走査線上の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０）の画素表示がＸ方向に順次行われ、次に２番目の水平走査を行う場合には、２番目の水平走査線上の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝１）の画素表示が順次行われる。以降の各水平走査による各表示画素位置［ｘ，ｙ］の画素表示も同様に行われる。
【００１４】
一方、ＰＣ本体１０１は、メモリ１０２およびＶＤＰ１０５を有する。また、メモリ１０２は、フレームバッファ１０３およびアドレス変換テーブル１０４を有する。
フレームバッファ１０３は、表示すべき原画面に対応した情報を記憶するメモリである。ここで、原画面は、６４０×４８０の画素マトリックスによって構成されている。フレームバッファ１０３には、この画素マトリックスを構成する個々の画素の画素データが記憶される。
【００１５】
なお、以下では説明の便宜のため、この画素マトリックスにおける各画素の位置を図１に示すような２次元座標系での座標値［ｘ’，ｙ’］により特定する。各画素の画素データは、フレームバッファ１０３内の固定された各エリアに格納され、この各画素データが格納されるエリアのアドレスは、その画素の画素マトリックス内での位置［ｘ’，ｙ’］（画像画素位置）から一義的に求めることができる。
【００１６】
すなわち、フレームバッファ１０３は、表示画面１００ａにおいて走査される各表示画素位置［ｘ，ｙ］に対応するアドレス構成を有しており、各アドレスに従って原画面を構成する各画素データが記憶される。
【００１７】
アドレス変換テーブル１０４は、図２に示すように、表示画面１００ａにおける各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０〜４７９）毎に、当該表示画素位置に表示すべき原画面における画像画素位置［ｘ’，ｙ’］を定めたテーブルである。
【００１８】
つまり、アドレス変換テーブル１０４は、表示画面１００ａにおいて走査される各表示画素位置［ｘ，ｙ］に対応するアドレス構成を有しており、各アドレスに従って原画面における各画像画素位置［ｘ’，ｙ’］（すなわち、フレームバッファ１０３の読み出しアドレスを指定するアドレス情報）が記憶される。
【００１９】
このアドレス変換テーブル１０４において、各表示画素位置［ｘ，ｙ］に対する画像画素位置［ｘ’，ｙ’］を変更することによって、種々の表示制御を行うことができる。図２に示したアドレス変換テーブル１０４はその一例であって、フレームバッファ１０３内の原画面の上下を反転させて表示画面１００ａに表示させるためのものである。
なお、アドレス変換テーブル１０４に記憶される座標値ｘ’およびｙ’は、各々１６ビットのデータを有する。
【００２０】
（２）ＶＤＰ１０５の構成
次に、再度、図１を参照し、本実施形態に係るＶＤＰ１０５の構成について詳述する。
ＶＤＰ１０５は、表示画面１００ａの各表示画素位置［ｘ，ｙ］に表示すべき画素データをアドレス変換テーブル１０４を参照してフレームバッファ１０３から順次選択的に読み出して表示画面１００ａに表示させる回路である。この表示に際してＶＤＰ１０５は、アドレス変換テーブル１０４を参照して各表示画素位置［ｘ，ｙ］に表示すべき画素データの読み出しアドレスを決定し、当該決定した読み出しアドレスに従ってフレームバッファ１０３から画素データを順次読み出す。
【００２１】
ＶＤＰ１０５は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などの集積回路であり、ビデオタイミングジェネレータ１０６、テーブルメモリ１０７、アドレスジェネレータ１０８、メモリコントローラ１０９、アウトプットバッファ１１０およびＤＡＣ（Ｄｉｇｉｔａｌ  ｔｏ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｅｒ）１１１を有している。
【００２２】
ビデオタイミングジェネレータ１０６は、所定周波数のクロックを分周して前述した水平同期信号Ｈｓｙｎｃ、垂直同期信号Ｖｓｙｎｃ、水平帰線消去信号Ｂｌａｎｋを生成する回路である。生成された水平同期信号Ｈｓｙｎｃ、垂直同期信号Ｖｓｙｎｃ、水平帰線消去信号Ｂｌａｎｋは、メモリコントローラ１０９および表示装置１００に供給される。
【００２３】
メモリコントローラ１０９は、フレームバッファ１０３からの画素データの読み出しを制御するものである。このメモリコントローラ１０９は、ビデオタイミングジェネレータ１０６から供給される水平同期信号Ｈｓｙｎｃに応じて、当該水平同期信号Ｈｓｙｎｃによって水平走査される表示画面１００ａ上の各表示画素位置（表示ライン）に対応するアドレス変換テーブル１０４の１ライン分のテーブルデータをメモリ１０２から読み出してテーブルメモリ１０７に転送する。
【００２４】
前述したように表示装置１００は順次走査方式であるので、例えば、図２に示したアドレス変換テーブル１０４からテーブルデータを読み出す場合、メモリコントローラ１０９は、水平同期信号Ｈｓｙｎｃの入力に応じてアドレス変換テーブル１０４の最上段から順次１ラインずつテーブルデータを読み出す。
【００２５】
テーブルメモリ１０７には、各水平走査期間毎に、メモリコントローラ１０９によってアドレス変換テーブル１０４から読み出された１ライン分のテーブルデータが格納される。この１ライン分のテーブルデータは、例えば、図２に示したアドレス変換テーブル１０４においてＸ方向に１ライン分のデータ列であって、６４０個のｘ’ｙ’座標値から構成されている。
【００２６】
このようにテーブルメモリ１０７をＶＤＰ１０５の内部に設け、ＶＤＰ１０５の外部に設けられたメモリ１０２から水平走査期間毎にアドレス変換テーブル１０４の１ライン分のテーブルデータを読み出してテーブルメモリ１０７に格納する構成としたのは、アドレス変換テーブル１０４をＶＤＰ１０５の外部に設けることで、ＶＤＰ１０５の回路規模をより小さな規模で済ますためである。このような構成とすることは、ＶＤＰ１０５をＬＳＩなどの集積回路で構成する場合に特に有効である。
【００２７】
アドレスジェネレータ１０８は、各水平走査期間毎に、テーブルメモリ１０７に格納された１ライン分のテーブルデータに基づいて、画素データの読み出しアドレスを生成してメモリコントローラ１０９に供給する回路である。
【００２８】
このアドレスジェネレータ１０８は、表示画面１００ａにおける水平走査方向に従ってテーブルメモリ１０７からｘ’ｙ’座標値を順次読み出す。例えば、図２に示したアドレス変換テーブル１０４において、ｙ’座標値が「４７９」の１ライン分のテーブルデータがテーブルメモリ１０７に格納されている場合、アドレスジェネレータ１０８は、［０’，４７９’］、［１’，４７９’］……［６３９’，４７９’］の順序で計６４０個のｘ’ｙ’座標値（すなわち、フレームバッファ１０３の読み出しアドレス）を順次読み出す。
【００２９】
メモリコントローラ１０９は、アドレスジェネレータ１０８から供給される読み出しアドレスに基づいて、各水平走査期間毎に、フレームバッファ１０３から６４０個の画素データを順次読み出してアウトプットバッファ１１０に供給する。
【００３０】
アウトプットバッファ１１０は、メモリコントローラ１０９から順次供給される画素データを表示ドットクロックに同期してデジタルビデオデータとしてＤＡＣ１１１に出力する。ＤＡＣ１１１は、アウトプットバッファ１１０から供給されるデジタルビデオデータをアナログ画像信号ＲＧＢに変換して表示装置１００に供給する。
以上が本実施形態に係るＰＣ１０の構成である。
【００３１】
Ｂ．実施形態の動作
次に本実施形態の動作を説明する。
まず、以下の動作説明の前提として、ＰＣ本体１０１は、表示制御の対象となる原画面（１画面分の画像）を画素データ単位でフレームバッファ１０３に格納する処理を行うとともに、図２に示した上下反転用のアドレス変換テーブル１０４をメモリ１０２に格納する処理を行う。このような状態においてＰＣ本体１０１は、ＶＤＰ１０５に対して表示制御の実行を指示する。
【００３２】
図３は、本実施形態に係るＶＤＰ１０５の動作タイミングを例示する図である。
同図において、水平同期信号Ｈｓｙｎｃの信号レベルがＨｉからＬｏｗに変化する立下り時点から次の立下り時点までの期間が１水平走査期間であり、水平帰線消去信号Ｂｌａｎｋの信号レベルがＬｏｗの状態を保持する期間が水平帰線消去期間である。また、図中、画素データ出力期間Ｐｉｘｅｌ  Ｄａｔａは、ＶＤＰ１０５から１表示ライン分の画素データが出力される期間を示し、また、メモリアクセス期間Ｍｅｍ．Ａｃｃは、メモリ１０２またはフレームバッファ１０３からメモリコントローラ１０９によってデータが読み出される期間を示す。
【００３３】
以下にＶＤＰ１０５の動作を詳細に説明する。
メモリコントローラ１０９は、図３に示すように、ビデオタイミングジェネレータ１０６から供給される水平同期信号Ｈｓｙｎｃの立下りに応じて、表示ラインに対応するアドレス変換テーブル１０４の１ライン分のテーブルデータをメモリ１０２から読み出してテーブルメモリ１０７に格納する。
【００３４】
例えば、表示画面１００ａにおいてｙ＝０の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０）を水平走査する場合には、図２に示した上下反転用のアドレス変換テーブル１０４においてｙ’＝４７９のデータ列［０’，４７９’］、［１’，４７９’］……［６３９’，４７９’］がメモリ１０２から読み出されてテーブルメモリ１０７に格納される。
【００３５】
図３に示すメモリアクセス期間Ｍｅｍ．Ａｃｃ  のＲｅａｄ  Ｌｉｎｅ  Ｎ  Ｔａｂｌｅの期間は、メモリ１０２からアドレス変換テーブル１０４の１ライン分のテーブルデータが読み出される期間を示している。
【００３６】
次いで、アドレスジェネレータ１０８は、テーブルメモリ１０７に格納された１ライン分のテーブルデータからｘ’ｙ’座標値を順次読み出す。この際、アドレスジェネレータ１０８は、例えば、図２に示したアドレス変換テーブル１０４においてｙ’＝４７９のデータ列［０’，４７９’］、［１’，４７９’］……［６３９’，４７９’］がテーブルメモリ１０７に格納されている場合、［０’，４７９’］、［１’，４７９’］……［６３９’，４７９’］の順序で計６４０個のｘ’ｙ’座標値を順次読み出す。
【００３７】
そして、アドレスジェネレータ１０８は、順次読み出されるｘ’ｙ’座標値に従って画素データの読み出しアドレスを生成してメモリコントローラ１０９に供給する。例えば、アドレスジェネレータ１０８は、読み出したｘ’ｙ’座標値のデータを用いて、ｘ’座標値のデータ（１６ｂｉｔ）を上位ｂｉｔ、ｙ’座標値のデータ（１６ｂｉｔ）を下位ｂｉｔとする３２ｂｉｔの読み出しアドレスを生成する。なお、アドレスジェネレータ１０８は、計６４０個の読み出しアドレスの生成処理を水平帰線消去期間内に完了させる。
【００３８】
次いで、メモリコントローラ１０９では、アドレスジェネレータ１０８から供給される６４０個の読み出しアドレスに従って、計６４０個の画素データをフレームバッファ１０３から任意のデータ読み出しサイズで読み出す。
【００３９】
本実施形態では、１回の画素データ読み出しサイズを画素データ２５６個分とする。表示画面１００ａにおいて表示ライン上の表示画素位置の数は６４０個であるので、表示ラインの左端の表示画素位置を０番としたとき、１回目の読み出しでは、０番〜２５５番目までの各表示画素位置を表示させるための計２５６個の画素データがフレームバッファ１０３から順次読み出される。また、２回目の読み出しでは、２５６番〜５１１番目までの各表示画素位置を表示させるための計２５６個の画素データが、３回目の読み出しでは、５１２番〜６３９番目までの各表示画素位置を表示させるための計１２８個の画素データが、それぞれフレームバッファ１０３から順次読み出される。
【００４０】
図３に示すメモリアクセス期間Ｍｅｍ．Ａｃｃ  のＲｅａｄ  Ｐｉｘｅｌ  ０−２５５、Ｒｅａｄ  Ｐｉｘｅｌ  ２５６−５１１、Ｒｅａｄ  Ｐｉｘｅｌ  ５１２−６３９の各期間は、フレームバッファ１０３から画素データが読み出される計３回の期間を示している。
【００４１】
なお、画素データのデータ読出しサイズは任意であって、例えば、１回の画素データ読み出しサイズを画素データ６４０個分（すなわち、１表示ライン分）あるいは画素データ１個分とすることも可能である。この場合、フレームバッファ１０３からの画素データの読み出しは、１表示ライン単位あるいは１画素データ単位で行われることとなる。
【００４２】
メモリコントローラ１０９では、このようにしてフレームバッファ１０３から１表示ライン分の画素データを順次読み出してアウトプットバッファ１１０に供給する。アウトプットバッファ１１０では、メモリコントローラ１０９から供給される各画素データを、図３に示すように、水平帰線消去信号Ｂｌａｎｋの信号レベルがＬｏｗからＨｉに変化して水平帰線消去期間が終了した後、表示ドットクロックに同期してデジタルビデオデータとして順次、ＤＡＣ１１１に出力する。このデジタルビデオデータは、ＤＡＣ１１１によりアナログ画像信号ＲＧＢに変換されて表示装置１００に供給され、表示装置１００は、供給されたアナログ画像信号ＲＧＢに基づいて表示ラインの各表示画素位置に画素を表示する。
【００４３】
図３に示す画素データ出力期間Ｐｉｘｅｌ  ＤａｔａのＰｉｘｅｌ  ０−２５５、Ｐｉｘｅｌ  ２５６−５１１、Ｐｉｘｅｌ  ５１２−６３９の各期間は、ＶＤＰ１０５から各画素データが出力される期間を示している。
【００４４】
したがって、表示画面１００ａにおいて最初の水平走査を行う場合には、図２に示した上下反転用のアドレス変換テーブル１０４においてｙ’＝４７９の１ライン分のテーブルデータに従ってフレームバッファ１０３から画素データが読み出されて画素表示が行われるので、表示画面１００ａにおいてｙ＝０の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０）には、フレームバッファ１０３内の原画面において画像画素位置［ｘ’，ｙ’］（ｘ’＝０〜６３９，ｙ’＝４７９）の画素データに基づく画素表示が行なわれる。
【００４５】
ＶＤＰ１０５では、以上説明した処理を各水平走査期間毎に繰り返して実行する。これにより１垂直走査期間内に１画面分の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０〜４７９）を表示させるための画素データは、アドレス変換テーブル１０４に従ってフレームバッファ１０３から順次に読み出されることとなる。
【００４６】
つまり、図２に示した上下反転用のアドレス変換テーブル１０４を使用した場合、表示画面１００ａにおいてｙ＝０の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝０）には、フレームバッファ１０３内の原画面において画像画素位置［ｘ’，ｙ’］（ｘ’＝０〜６３９，ｙ’＝４７９）の画素データに基づく画素表示が行われ、ｙ＝１の各表示画素位置［ｘ，ｙ］（ｘ＝０〜６３９，ｙ＝１）には、原画面の画像画素位置［ｘ’，ｙ’］（ｘ’＝０〜６３９，ｙ’＝４７８）の画素データに基づく画素表示が行われる。以降のｙ＝２、３、４……の各表示画素位置［ｘ，ｙ］の画素表示も、原画面におけるＸ’方向の画素列を上下反転させるようにして順次行なわれる。
【００４７】
その結果、図２に示したアドレス変換テーブル１０４を使用した場合、フレームバッファ１０３内の原画面を上下反転させて表示画面１００ａに表示させることができる。
【００４８】
なお、本実施形態では、ＶＤＰ１０５をＬＳＩで構成する場合を例示して説明したが、ＶＤＰ１０５が有する機能をＬＳＩとして集積させずとも、パーソナルコンピュータなどにおいて本発明が実現可能であることは言うまでもない。また、このような場合、テーブルメモリ１０７を介さずに直接、アドレス変換テーブル１０４を参照しながら表示制御を行うことが処理の効率を図る上で有効である。
【００４９】
Ｃ．その他の具体例
以下に、図４〜図６を参照してその他のアドレス変換テーブルのデータ構成例とその表示制御例について説明する。
なお、図４〜図６においては説明の便宜のため、表示装置１５０の表示画面１５１は、水平方向（Ｘ方向）８個×垂直方向（Ｙ方向）５個の各表示画素位置が設けられているものとする。
【００５０】
（１）画像の縮小表示を行う場合
図４は、縮小表示用のアドレス変換テーブル１４１のデータ構成例と、このアドレス変換テーブル１４１を使用した場合の表示制御の概要を示す図である。
フレームバッファ１０３には、図４（ｂ）に示す原画面が画素データ単位で格納されているものとする。この原画面に対して図４（ａ）に示すアドレス変換テーブル１４１を使用した場合の表示制御は以下に述べる通りである。
【００５１】
すなわち、図４（ａ）に示すアドレス変換テーブル１４１のテーブル領域１１４内では、ｘ’座標値が「１」、「３」、「５」、ｙ’座標値が「０」、「２」、「４」と、それぞれ１ずつ座標値をとばして設定されている。したがって、このアドレス変換テーブル１４１に従って画素表示を行うと、原画面において三角図形を構成する各画素は、Ｘ’方向およびＹ’方向とも画素が間引きされて表示画面１５１に表示されることになる。
その結果、図４（ｂ）に示すように、フレームバッファ１０３内の原画面（三角図形）に対して縮小した画像を表示画面１５１に表示させることができる。
【００５２】
（２）画像の左右反転や回転、縮小を複合して行う場合
図５は、左右反転や回転、縮小を複合して行うアドレス変換テーブル１４２のデータ構成例と、このアドレス変換テーブル１４２を使用した場合の表示制御の概要を示す図である。
【００５３】
フレームバッファ１０３には、図５（ｂ）に示す原画面が画素データ単位で格納されているものとする。この原画面に対して図５（ａ）に示すアドレス変換テーブル１４２を使用して表示制御を実行すると、このアドレス変換テーブル１４２に従って表示画面１５１の各表示画素位置に表示させる原画面の画素が決定されて画素表示が行われる。
【００５４】
したがって、図５（ｂ）に示すように、フレームバッファ１０３内の原画面（三角図形）に対して左右反転や回転、縮小を複合して行った画像を表示画面１５１に表示させることができる。
【００５５】
（３）２つの画像の重ね合わせ表示を行う場合
図６は、重ね合わせ表示用のアドレス変換テーブル１４３のデータ構成例と、このアドレス変換テーブル１４３を使用した場合の表示制御の概要を示す図である。
【００５６】
図６（ｂ）に示すフレームバッファ１０３において、図中点線で囲まれた矩形領域（ｘ’＝０〜７，ｙ’＝０〜４）が、表示画面１５１上の各表示画素位置に対応した表示領域１１５となる。この表示領域１１５以外の矩形領域（ｘ’＝８〜１１，ｙ’＝０〜４）は、作業領域として形成されたものであり、本来、この作業領域内の各画素は表示画面１５１に表示されない。
【００５７】
また、図６（ａ）に示すアドレス変換テーブル１４３のテーブル領域１１７では、フレームバッファ１０３の作業領域内における領域１１６、すなわち楕円図形を構成する各画素の画像画素位置［ｘ’，ｙ’］（ｘ’＝９〜１１，ｙ’＝０〜２）を指定している。また、アドレス変換テーブル１４３においてテーブル領域１１７以外の領域では、フレームバッファ１０３の表示領域１１５内における三角図形を構成する各画素を含む画像画素位置を指定している。
【００５８】
したがって、このアドレス変換テーブル１４３に従って画像表示を行うと、図６（ｂ）に示すように、三角図形と本来非表示であるはずの楕円図形とを重ね合わせて表示画面１５１に表示させることができる。
【００５９】
なお、上述した図４〜図６に示したアドレス変換テーブル１４１、１４２、１４３及びその表示制御例は一例にすぎず、アドレス変換テーブル１０４のデータ構成を変更すれば、この他にも左右反転表示や拡大表示、変形表示などを行うことが可能である。このようにアドレス変換テーブル１０４のデータ構成を変更するのみで、様々な表示処理に対処することが可能である。
【００６０】
本実施形態によれば、ＰＣ本体１０１では、アドレス変換テーブル１０４に従って表示画面１００ａの各表示画素位置の画素表示を行う。したがって、画素表示を行うための画素データを表示画素位置毎にフレームバッファ１０３の任意のエリアから読み出すことができるようになる。その結果、フレームバッファ１０３内の原画面に対して左右反転表示や回転表示、縮小表示などの表示処理を簡単な制御で実現できるとともに、その処理時間を短縮できる。また、回路構成や制御プログラムに変更を加えずとも、アドレス変換テーブル１０４のデータ構成を変更するだけで様々な表示処理に柔軟に対処できる。
【００６１】
また本実施形態によれば、ＶＤＰ１０５は、水平走査期間毎に、表示ラインに対応するアドレス変換テーブル１０４の１ライン分のテーブルデータをメモリ１０２から読み出してテーブルメモリ１０７に格納し、このテーブルメモリ１０７に格納された１ライン分のテーブルデータに従って画素表示を順次行う構成としている。このようなＶＤＰ１０５においても、上述したＰＣ本体１０１と同様の効果を奏する。また、アドレス変換テーブル１０４をＶＤＰ１０５の外部に設けることで、ＶＤＰ１０５の回路規模が大きくならずに済む。これは、ＶＤＰ１０５をＬＳＩなどの集積回路で構成する場合に特に有効である。
【００６２】
Ｄ．変形例
以上、本発明の一実施形態について説明したが、この実施形態はあくまでも例示であり、本発明の趣旨から逸脱しない範囲で様々な変形が可能である。変形例としては、例えば以下のようなものが考えられる。
【００６３】
＜変形例１＞
例えば、図７に示すように、ＰＣ本体１０１においてさらにハードディスク１８０を備え、このハードディスク１８０に左右反転表示や回転表示、拡大表示などの各種表示処理用の複数のアドレス変換テーブル１４４、１４５、１４６……を格納する構成であってもよい。
【００６４】
この場合、ＰＣ本体１０１では、フレームバッファ１０３内の原画面に対して実行する表示処理の種類がＰＣ本体１０１に備わる図示しないマウスやキーボードなどの操作入力に応じて指定されると、指定された種類に対応するアドレス変換テーブルをハードディスク１８０から読み出してメモリ１０２に格納し、このアドレス変換テーブルを使用して表示制御を実行する。このような構成とすれば、様々な表示処理に柔軟に対処可能である。
【００６５】
＜変形例２＞
また、上記＜変形例１＞に示したようにハードディスク１８０に複数のアドレス変換テーブルを格納する構成とした場合、以下に述べる表示制御を行うことも可能である。
【００６６】
例えば、ユーザからマウスやキーボードなどを介して「上下・左右反転」が指示された場合に、図８に示すように、上下反転用のアドレス変換テーブル１４７と左右反転用のアドレス変換テーブル１４８とを用いて上下・左右反転に関する表示制御を行う手法である。なお、図８は、表示画面１００ａにおいて表示画素位置［０，０］が走査される場合を例示している。
【００６７】
この場合、同図に示すように、まず、上下反転用のアドレス変換テーブル１４７が参照される。このアドレス変換テーブル１４７は上下反転用であることから、表示画素位置［０，０］に対応してフレームバッファ１０３内の画像画素位置［０’，４７９’］が指定されている。次いで、この座標［０’，４７９’］を表示画素位置［０，４７９］として参照し、フレームバッファ１０３ではなく左右反転用のアドレス変換テーブル１４８を参照する。
【００６８】
そして、左右反転用のアドレス変換テーブル１４８において表示画素位置［０，４７９］に対応して指定されたフレームバッファ１０３内の画像画素位置［６３９’，４７９’］に従って、フレームバッファ１０３から画素データが読み出され、表示画面１００ａの表示画素位置［０，０］が表示される。同様にして表示画面１００ａの各画素の表示制御を行えば、フレームバッファ１０３内の原画面に対して上下・左右反転させた画像を表示画面１００ａに表示させることができる。
【００６９】
上述した記載例は、２つのアドレス変換テーブル１４７，１４８を用いて複合した表示制御を行う場合であるが、さらに３つ以上のアドレス変換テーブルを用いて複合した表示制御を行うことも勿論可能である。
【００７０】
このように表示画面１００ａの各画素の走査に応じて、第１〜第Ｎ（Ｎは２以上の整数）のアドレス変換テーブルを順に参照し、第Ｎのアドレス変換テーブルから読み出される画像画素位置［ｘ’，ｙ’］に従って、フレームバッファ１０３から画素データを読み出し、表示画面１００ａの走査対象となる表示画素位置［ｘ，ｙ］を表示させることができる。
【００７１】
＜変形例３＞
また、上記変形例１においてハードディスク１８０に格納されたアドレス変換テーブル１４４、１４５、１４６……は表示処理の種類のみでなく、例えば、表示装置の解像度に応じて、かつ、この解像度毎に表示処理の種類に応じた複数のアドレス変換テーブル１４４、１４５、１４６……を有する構成であってもよい。例えば、水平方向６４０×垂直方向４８０の解像度用や水平方向３２０×垂直方向２４０の解像度用に、それぞれ表示処理の種類に応じた複数のアドレス変換テーブル１４４、１４５、１４６……がハードディスク１８０に格納されている構成である。この場合、ＰＣ本体１０１は、接続された表示装置の解像度と操作入力に応じて指定された表示処理の種類とに応じたアドレス変換テーブルをハードディスク１８０から読み出して表示制御を実行する。
【００７２】
＜変形例４＞
また、ＰＣ本体１０１は、マウスやキーボードなどの操作入力に応じてアドレス変換テーブル１０４のデータ構成をユーザが任意に調整、変更することや、新たなアドレス変換テーブル１０４を作成することを可能とする構成であってもよい。
【００７３】
＜変形例５＞
上記実施形態では、本発明をパーソナルコンピュータに適用した場合について述べたが、例えば、撮像素子としてＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を用い、かつ、撮像画像の表示機能を有する撮像装置に対して本発明を適用することが有効である。このような撮像装置で撮像した無補正の撮像画像は、画像の四方端部が外側に膨らんでしまう現象を伴う。このため、撮像装置に備わる表示部に撮像した画像を表示する際には、撮像画像の四方端部の歪みを補正する必要がある。
【００７４】
したがって、このような撮像装置に本発明を適用すれば、撮像画像に対する歪み補正処理およびその処理結果の表示を簡単な構成で実現できるとともに、その処理時間を短縮できる。その結果、撮像に応じてリアルタイムで補正済みの撮像画像を表示部に表示することができるようになる。
【００７５】
【発明の効果】
以上説明したように本発明によれば、アドレス変換テーブルにより、画素表示を行うための画素データを表示画面上の画素位置毎に表示メモリの任意のエリアから読み出すことができる。
【図面の簡単な説明】
【図１】この発明の一実施形態であるＶＤＰを用いたＰＣの構成を示すブロック図である。
【図２】同実施形態に係るメモリに格納されるアドレス変換テーブルのデータ構成を例示する図である。
【図３】同実施形態に係るＶＤＰの動作タイミングを例示する図である。
【図４】同実施形態に係る、縮小表示用のアドレス変換テーブルのデータ構成例と、このアドレス変換テーブルを使用した場合の表示制御の概要を示す図である。
【図５】同実施形態に係る、左右反転や回転、縮小を複合して行うアドレス変換テーブルのデータ構成例と、このアドレス変換テーブルを使用した場合の表示制御の概要を示す図である。
【図６】同実施形態に係る、重ね合わせ表示用のアドレス変換テーブルのデータ構成例と、このアドレス変換テーブルを使用した場合の表示制御の概要を示す図である。
【図７】同実施形態の変形例に係るＰＣ本体の構成を示すブロック図である。
【図８】変形例２に係る表示制御の概要を示す図である。
【図９】表示装置に対する一般的な表示制御方法の概要を示す図である。
【符号の説明】
１０……ＰＣ、１００，１５０……表示装置、１００ａ，１５１……表示画面、１０１……ＰＣ本体、１０２……メモリ、１０３……フレームバッファ、１０４，１４１〜１４８……アドレス変換テーブル、１０５……ＶＤＰ、１０６……ビデオタイミングジェネレータ、１０７……テーブルメモリ、１０８……アドレスジェネレータ、１０９……メモリコントローラ、１１０……アウトプットバッファ、１１１……ＤＡＣ、１８０……ハードディスク。
【図１】
0003580229.tif 000002
【図２】
0003580229.tif 000003
【図３】
0003580229.tif 000004
【図４】
0003580229.tif 000005
【図５】
0003580229.tif 000006
【図６】
0003580229.tif 000007
【図７】
0003580229.tif 000008
【図８】
0003580229.tif 000009
【図９】
0003580229.tif 000010