(57)【特許請求の範囲】
【請求項１】
画像データを処理するシステムにおいて、このシステムが、
第１制御信号及び第２制御信号を出力するように構成した選択装置と、
この選択装置に結合され、かつ、前記第１制御信号によって選択された第１動作モードにおいて画素データを蓄積し、かつ、前記第２制御信号により選択された第２動作モードにおいてカラールックアップテーブルメモリとして動作するように構成されたラインバッファメモリと、
このラインバッファメモリに結合され、前記第１動作モードにおいて前記ラインバッファメモリに蓄積された前記画素データを補間し、この補間した画素データを出力するように構成したスケーリング装置と、
前記ラインバッファメモリに結合され、前記第２動作モードにおいて前記ラインバッファメモリ内のカラーデータに基づいて、受けた画素値を出力画素値にマッピングするように構成したディスプレイコントローラと
を具えていることを特徴とするシステム。
【請求項２】
請求の範囲１に記載のシステムにおいて、このシステムがルックアップテーブルを有し、前記ラインバッファメモリが、前記第２動作モードにおいて、前記ルックアップテーブルに追加して、システムが利用可能なルックアップカラーの個数を増大させるのに用いられるようになっていることを特徴とするシステム。
【請求項３】
請求の範囲１に記載のシステムにおいて、このシステムが更に、
前記ラインバッファメモリに結合され、入力画素データを蓄積するとともにこの入力画素データを前記第１制御信号に基づいて第１メモリである前記ラインバッファメモリに伝送するように構成した第２メモリであるフレームバッファメモリ
を具えていることを特徴とするシステム。
【請求項４】
請求の範囲３に記載のシステムにおいて、前記フレームバッファメモリが更に、
水平ラインの画素を表す前記入力画素データを一時に１水平ライン毎前記第１メモリであるラインバッファメモリに伝送するように構成されていることを特徴とするシステム。
【請求項５】
請求の範囲３に記載のシステムにおいて、前記ディスプレイコントローラが更に、前記フレームバッファメモリから前記画素値を受けるように構成されていることを特徴とするシステム。
【請求項６】
請求の範囲５に記載のシステムにおいて、前記カラーデータが、ディスプレイ装置上で表示させるために利用可能なカラーテーブルを表していることを特徴とするシステム。
【請求項７】
請求の範囲１に記載した、画像データを処理するためのシステムにより、画像データを処理する方法において、この方法が、
水平ラインの画素を表す画素データを第１動作モードでラインバッファメモリに書込む工程と、
前記画素データを前記第１メモリであるラインバッファメモリからスケーリング装置に伝送する工程と、
前記ラインバッファメモリを第２動作モードでカラールックアップメモリとして再使用する工程と
を具えていることを特徴とする方法。
【請求項８】
請求の範囲７に記載の方法において、この方法が更に、
デジタルビデオ源からのデータを表す入力画素データを第２メモリに書込む工程と、
前記第１動作モードで、１つの水平ラインの入力画素データを前記第２メモリから前記ラインバッファメモリに伝送する工程と
を具えていることを特徴とする方法。
【請求項９】
請求の範囲８に記載の方法において、この方法が更に、前記スケーリング装置によって、
前記第１動作モードで前記ラインバッファメモリから受けた水平ラインの画素データを前の水平ラインの画素データで補間する工程と、
補間した画素値を出力する工程と
を具えていることを特徴とする方法。
【請求項１０】
請求の範囲８に記載の方法において、この方法が更に、
ディスプレイ装置上で表示すべき画素データを表す画素値を前記第２メモリから受ける工程と、
この受けた画素値を、前記第２動作モードで前記ラインバッファメモリに蓄積されたカラーデータに基づいて出力画素値にマッピングする工程と
を具えていることを特徴とする方法。
【請求項１１】
ビデオグラフィックスコントローラにおいて、このビデオグラフィックスコントローラが、
ディスプレイ装置に対するディスプレイリフレッシュデータを発生するように構成したディスプレイコントローラと、
第１制御信号により選択された第１動作モードで、水平ラインの画素を表す画素データを蓄積するとともに、第２制御信号により選択された第２動作モードで、前記ディスプレイ装置に表示されるべきカラー情報を表すカラーデータを蓄積するように構成したメモリとを具え、前記ディスプレイコントローラが、前記第２動作モードにおいて、前記メモリ内のカラーデータに基づいて受けた画素値を前記ディスプレイリフレッシュデータの出力カラー値にマッピングすることを特徴とするビデオグラフィックスコントローラ。
【請求項１２】
請求の範囲１１に記載のビデオグラフィックスコントローラにおいて、このビデオグラフィックスコントローラが更に、
前記メモリに結合され且つ水平ラインの画素を前の水平ラインの画素で補間するように構成されたスケーリング装置と、
補間された画素値を出力する出力端と
を具えていることを特徴とするビデオグラフィックスコントローラ。
【請求項１３】
請求の範囲１１に記載のビデオグラフィックスコントローラにおいて、前記ディスプレイコントローラが更に、他のメモリから画素値を受けるように構成されていることを特徴とするビデオグラフィックスコントローラ。
【発明の詳細な説明】
技術分野
本発明は、ビデオグラフィックス、特に画素ルックアップテーブルに関するものである。
背景技術
ディスプレイ装置は典型的なコンピュータビデオグラフィックスシステムにおいてビデオデータを表示するのに用いられている。ディスプレイ装置は代表的には、陰極線管（ＣＲＴ）又はフラットパネル液晶表示装置（ＬＣＤ）モニタである。ディスプレイ装置上に表示する画像は、通常ビデオグラフィックスコントローラ（ＶＧＣ）により発生され、代表的にはＶＧＣによるディスプレイリフレッシュとして既知の処理により１秒当り約７５回繰返し描画されている。
図１は、ディスプレイ装置１６を駆動するために、パーソナルコンピュータ（ＰＣ）内に用いられているビデオグラフィックスシステムのブロック線図である。ディスプレイ装置１６上に表示されるビデオ画像は多数の画素から成っている。各画素は、ディスプレイ装置１６のあらゆる画素を構成する赤、緑及び青の蛍光体に相当する赤、緑及び青の要素から成っている。各画素は、デジタル値として蓄積された赤、緑及び青の強度を有する。デジタルデータはフレームバッファメモリ１２、代表的にはダイナミックランダムアクセスメモリ（ＤＲＡＭ）内に線形ビットマップとして蓄積されている。ビデオグラフィックスコントローラ（ＶＧＣ）１０は、フレームバッファメモリ内のデータを処理することによりビデオ画像を発生させ、ディスプレイコントローラ２０はディスプレイリフレッシュを実行する。
デジタルデータは、デジタル-アナログ変換器（ＤＡＣ）１４によりアナログ電圧レベルに変換され、ディスプレイ装置１６に伝送される。ディスプレイ装置１６はこのアナログ電圧レベルを用いて、３つの電子銃が描画画素に向けて電子を同時に発射するようにする。赤、緑及び青の種々の強度によりディスプレイ装置１６上で見うるカラーを生ぜしめる。
殆どのシステムでは、赤、緑及び青の各カラーを表すのに８ビットが用いられる。従って、各画素はフレームバッファメモリ１２中の２４ビットの情報を必要とする。水平方向に１０２４個の画素、垂直方向に７６８個の画素を有する典型的な寸法のＰＣスクリーンの場合、画像を蓄積するのに必要とするメモリの大きさは、２４ビット／画素（bpp）を仮定すると、１０２４×７６８×２４ビット（総計で２．２５メガバイト）である。更に大きいスクリーン寸法を用いると、これに対応してフレームバッファメモリが更に大きくなる。同様に、bpp数を高めたシステムでも、大きなフレームバッファメモリを必要とする。
フレームバッファメモリに蓄積されるビット数を少なくする１つの既知の方法は、ルックアップテーブル（ＬＵＴ）１８を用いることであり、このルックアップテーブルは代表的に、スタティックランダムアクセスメモリ（ＳＲＡＭ）で構成され、ＶＧＣ１０に設けられている。本質的に、ＬＵＴ１８は、フレームバッファメモリ１２に蓄積された８ビット値を、ＬＵＴ１８に蓄積された２５６個の２４ビット値をアドレスするインデックスとして用いるようにする。各２４ビット値が全２４bppカラーを表す。ＶＧＣ１０は、８bppフォーマットでフレームバッファメモリ１２内に蓄積されたデータをＬＵＴ１８への入力として用い、各８ビット入力を２４ビットカラー上にマッピングする。
８bppモードでは、２５６（２8）個のカラーを得ることができるが、２５６個のカラーは２４bppカラーとして見ることができる。従って、海景色は２５６個の異なる全２４bppの青の陰影表示でディスプレイ装置１６上に表示できるようになり、２４bppフォーマットで蓄積された画像と殆ど区別できなくなる。ＬＵＴ１８を用いることにより得られる１つの利点は、モニタ上の各画素に対し、８ビットのみをフレームバッファメモリ１２に蓄積すれば足りるということである。従って、フレームバッファメモリ１２に蓄積する情報量は３分の１に減少し、フレームバッファメモリ１２から流れ出るデータ量は３分の１に減少する。
スペース及び価格上の制約の為に、殆どのＶＧＣは、ビデオ出力画像を発生させるのに１つの８×２５６ＬＵＴを有している。１つの８×２５６ＬＵＴを用いた場合、カラーインデックスを異ならせる必要のある多重画像を同一の画像に含める際に、得られる出力画像が不正確で不所望な結果を生ぜしめるおそれがあるという欠点がある。例えば、ＬＵＴ１８中の２５６個のカラーの殆どが青の陰影表示に向けられるものとする。これにより、画像データの大部分が水中の海景色を表す際には、画質を正確にすることができる。しかし、黄-赤の潜水艦のようなビデオ画像がこの海景色の上部に重畳されているものとする。ＬＵＴ１８の大部分が青の陰影表示に向けられている為、潜水艦は不正確なカラーで表示される。
他のＬＵＴ１８を追加することにより、出力画像の精度を改善することができる。しかし、複数のＬＵＴを用いると、ＶＧＣの価格が著しく増大するという欠点がある。このような手法を用いる場合の他の欠点は、スペース上の制約の為に、しばしば、他のＬＵＴをＶＧＣ１０に含めることを不可能にするということである。
発明の概要
ビデオグラフィクスコントローラのハードウエアの条件を高めることなく、正確な出力画像を生ぜしめるようにしたビデオグラフィクスシステムの必要性が生じている。種々の利用可能なカラー情報を含む正確な出力画像を生じるビデオグラフィクスシステムの必要性もある。
上述した及びその他の必要性は、補間用のラインバッファを、垂直方向のスケーリングと、入力カラーデータの出力カラー値へのカラーマッピングとの双方に用いるようにした本発明により満足される。
本発明の１つの観点によれば、画像データを処理するシステムは、第１制御信号及び第２制御信号を出力するように構成した選択装置を有する。このシステムは更に、この選択装置に結合され、前記第１制御信号に基づいて画素データを蓄積し、前記第２制御信号に基づいてカラーデータを蓄積するように構成された第１メモリを有する。このシステムは更に、この第１メモリに結合され、蓄積された画素データを補間し、この補間した画素データを出力するように構成したスケーリング装置を有する。更に、このシステムは、第１メモリに結合され且つ入力画素値を受けるとともに蓄積されたカラー値を出力するディスプレイコントローラを有する。この構成によれば、このシステムが、第１メモリを、画素データの垂直方向の補間のためのラインバッファと、入力画素データを出力カラー値にマッピングするためのＬＵＴとの双方として用いるようにしうる。
本発明の他の観点は、複数のモードで動作するように構成した画像データ処理システムで画像データを処理する方法を提供することにある。この方法は、水平ラインの画素を表す画素データを第１動作モードで第１メモリに書込む工程を有する。この方法は更に、前記画素データを前記第１メモリから、画素データを補間するように構成したスケーリング装置に伝送する工程を有する。この方法は更に、第２動作モードでカラーデータを第１メモリに書込み、これにより、第１メモリを、画素データの垂直方向の補間のためのラインバッファと、入力画素データを出力カラー値にマッピングするためのＬＵＴとの双方として二重に用いるようにする工程を有する。
本発明の他の目的及び利点は、当業者にとって、以下の図面に関する説明から容易に明らかとなるであろう。図面に関し説明する実施例は、本発明を実行する上での最良モードを与えるものである。本発明は、その範囲を逸脱することなく、種々の点で変形させることができる。従って、図面は例示であって、これに限定されるものではない。
【図面の簡単な説明】
図１は、ビデオグラフィックスコントローラを用いたコンピュータシステムを示すブロック線図である。
図２は、ラインバッファを用いたビデオグラフィックスコントローラを示すブロック線図である。
図３は、本発明の一実施例によるビデオグラフィックスコントローラシステムを示すブロック線図である。
図４は、本発明の一実施例を示す流れ図である。
実施例の詳細な説明
ここに開示した実施例は、入力画像を“アップスケーリング”するために水平ラインの画素データを蓄積するのに、ビデオグラフィックスコントローラ（ＶＧＣ）上のラインバッファを用いる。本発明は又、出力画像の色精度を高めるために、ルックアップテーブル（ＬＵＴ）としてもラインバッファを用いている。まず最初に、入力画像を垂直方向にアップスケーリングするために用いるラインバッファにつき説明し、次にラインバッファを画素ＬＵＴとして用いる場合及び入力画像を垂直方向にアップスケーリングする場合の方法及び装置を説明する。
ラインバッファ
前述したように、典型的なコンピュータディスプレイ装置で正確なビデオ画像を表示するのはしばしば困難を伴う。更に、リアルタイムビデオ画像を表示するのにコンピュータディスプレイ装置を用いることがますます一般的となりつつあり、正確なビデオ画像を表示するのに伴って、複雑性が増している。リアルタイムビデオデータは、テレビジョンチューナ、デジタルカムコーダ、デジタルカメラや、その他のいかなるビデオ入力源からも生ぜしめることができる。図１を参照するに、ビデオデータは一般に、ＶＧＣ１０に直接入力される。その理由は、ＶＧＣ１０が、ビデオデータを表示するのに関連する処理を実行するためである。
到来ビデオデータの流れをリアルタイムで表示するために、データをフレームバッファメモリ１２に連続的に書込むことができ、ディスプレイのリフレッシュはディスプレイコントローラ２０により実行することができる。これにより、ビデオデータがフレームバッファメモリ１２に書込まれた後、１回のスクリーンリフレッシュよりも遅くならずにこのビデオデータをスクリーン上に表示せしめうるようになる。しかし、この手法に伴う問題は、到来ビデオデータの流れがしばしば、ディスプレイ装置１６と同じディスプレイリフレッシュレートを有していないということである。ビデオ入力源はしばしば、１秒当り約２４〜３０フレームのリフレッシュレートを有するのに対し、ディスプレイ装置のリフレッシュレートは１秒当り約７５フレームである。フレームバッファ１２に連続的に書込みを行い、典型的なリフレッシュを行うことにより、表示されたビデオ画像が、あるフレームの半分と、次のフレームの半分とを含み、これにより引きさけ効果を生ぜしめてしまう。
リアルタイムビデオデータを表示する他の手法は、オフスクリーンメモリとして既知のフレームバッファメモリ１２の未使用部分にビデオ入力を蓄積する方法である。オフスクリーンメモリ中のデータは引続き、引きさき効果やその他の視覚上の悪影響を最少にするように、ディスプレイ装置のリフレッシュを実行するのに用いられるフレームバッファメモリの部分に送られる。
しかし、フレームバッファメモリ１２中に得られるオフスクリーンメモリの量は無限ではない為、蓄積される情報量は少なくするのが有利である。更に、ビデオ入力源のビデオ画像の解像度は、しばしば、コンピュータスクリーンの解像度（１０２４×７６８画素又は１２８０×１０２４画素）よりも少ない（通常では３２０×２００画素又は７２０×４８０画素である）。従って、得られるディスプレイ装置１６の表面全体を用いてビデオ画素を表示したい場合には、ディスプレイ装置１６の解像度を減らすか、或いはビデオ画素の解像度を高める必要がある。
一般に、この問題に対する唯一の現実的な解決策は、スクリーンの寸法に適合するようにビデオ画像の解像度を高めることである。この解決策は、ＶＧＣ１０がオフスクリーンフレームバッファメモリ１２に蓄積された小さな画像を取出し、この画像をアップスケーリングし（解像度を所望の割合に高め）、この画像をフレームバッファメモリ１２に書き戻す“フロントエンド（前置）”処理を用いて行うことができる。他の方法は、ディスプレイコントローラ２０が表示されている進行中の画像をアップスケーリングする“バックエンド（後置）”処理手法を用いるものである。この手法は、フレームバッファメモリ１２をアクセスする必要性を低減させるという利点を有するとともに、動作用の追加のいかなるメモリも用いない。
このようにして、ディスプレイコントローラ２０により、ビデオ源の画像がディスプレイ装置１６の全体に適合するようにするのに必要な倍数だけビデオ源の画像をアップスケーリングする。典型的な３００×２００画素のビデオ入力画像はディスプレイ装置１６の全体に表示するのに必要な全ての画素を有していない為、ＶＧＣ１０が追加の画素を発生する。必要とするこれらの画素を発生させる１つの手法は、画素を単に複写してスクリーンの追加の部分を満たすようにすることである。この手法は廉価であるが、濃淡のむらが生じ、画像は一般に許容できないものとなる。
他の手法は、画素間を混合画素で満たす方法である。例えば、データ源画像のライン＃０の画素＃０と、このデータ源画像のライン＃１の画素＃０とを考慮する。受け手側の、すなわち、ディスプレイ装置１６の画像はこれらの画素を数回再使用し、データ源の画像からの情報の欠落を満たす。受け手側の画素は、２つの画素を部分的に合成し、画素の補間として既知のように結果を互いに加えることにより形成することができる。従って、受け手側の画素はライン＃０からの画素でもライン＃１からの画素でもなく、これら２つの画素のある合成（例えば、それぞれ、３０％及び７０％）である。この補間の結果は、より一層自然で、滑らかなアップスケーリングされた画像となる。
スケーリングに用いる補間は水平方向及び垂直方向の双方で生じる。従って、モニタ上で表示される受け手側のあらゆる画素はデータ源の４つの画素から成る。ディスプレイコントローラ２０は、一時に１つの水平ラインの画素データに作用する。従って、水平補間を実行するのに必要とする前の水平画素をアクセスすることを容易に行いうる。しかし、垂直補間の場合には、ディスプレイコントローラ２０は、２つの異なる水平ラインからの画素を同時に混合する必要がある。このことは、問題である。その理由は、ディスプレイコントローラ２０は一時に１つの水平ラインの画素データに作用する為である。この問題を緩和するために、メモリ装置がＶＧＣ１０で前の水平ラインの画素データを蓄積し、ディスプレイコントローラ２０がフレームバッファメモリ１２から前のラインの画素データを再取出しする必要がないようにする。このメモリ装置は代表的にＳＲＡＭとして構成され、ラインバッファとして知られている。
図２は、ラインバッファ４０を含むＶＧＣ１０のブロック線図である。バックエンドビデオスケーリングを行う現在のＶＧＣは、フレームバッファメモリ１２に対するアクセスを最少にするために、少なくとも１つのラインバッファ４０を利用する。図２を参照するに、垂直スケーラコントローラ５０はビデオ入力の垂直方向のスケーリングを実行する。
ラインバッファ４０はビデオ入力源からフレームバッファメモリ１２を介してビデオ入力データを受ける。ディスプレイコントローラ２０はデータ源のビデオ画像をライン毎に処理し、常に最後に取出した水平ラインをラインバッファ４０内に入れる。その理由は、このディスプレイコントローラはフレームバッファメモリ１２から新たなラインを取出す為である。これにより、フレームバッファメモリ１２から新たなラインを取出したり、再取出ししたりするのと関連する処理時間を節約する。
垂直スケーラコントローラ５０は、現在のラインの画素データをラインバッファ４０に書込む必要のある時を絶えず注意するとともに書込みアドレスストローブ信号を適切な時間にラインバッファ４０に送る論理回路を含んでいる。ラインバッファ４０は、前のラインを読出しうる時と同時に現在のラインを書込みうるようにするために、デュアルポートを有している。
垂直スケーラコントローラ５０は、現在のラインの画素データを前のラインの画素データで補間する、すなわち、出力画素に用いられた各画素の割合を決定し、補間された画素を出力する。補間された垂直画素は水平方向にスケーリングされた画素と合成され、次にＬＵＴ（ルックアップテーブル）１８を介して２４bpp（ビット／画素）のカラーにマッピングされる。
従来の技術では、ラインバッファは、入力ビデオ画像をアップスケーリングする必要がある場合に、画素を垂直方向で補間するためにのみ用いられている。垂直補間処理を支援するためには、ラインバッファを、水平ライン全体の画素データを蓄積するように構成する必要があり、従って、ＶＧＣ１０上のチップ面積のかなりの量を占める。チップ面積はＶＧＣ１０上では需要が高い為、アップスケーリング機能のためにチップ面積を用いることは費用が嵩むこととなる。
前述したように、８bppモードを用い、しかもＬＵＴ１８を用いて画素を２４bppのカラーに拡張する場合に、問題が生じる。ＬＵＴ１８を用いた８bppインデックス付モードによれば、２４bppのカラーにもかかわらず、２５６色しか生じない。
ラインバッファ／画素ＬＵＴ
本発明は、ディスプレイ装置１６上に表示される出力画像に対して得られるカラー数を増大させるためにラインバッファを用いる方法及び装置であって、入力画像をアップスケーリングに用いる方法及び装置を提供せんとするにある。
図３は、本発明の一実施例によるビデオグラフィックスシステムの典型的なブロック線図である。前述したように、ビデオ入力データはまず最初にフレームバッファメモリ１２に蓄積される。ＶＧＣ１０がビデオ画素データを取出し、このデータを垂直スケーラコントローラ５０に入力させる。この垂直スケーラコントローラ５０は、前述したように現在のラインの画素データをラインバッファ４０に書込む時を制御するように動作する。しかし、図３に示す実施例ではラインバッファ４０を他のＬＵＴを蓄積するのにも用いる。
例えば、第１動作モードでは、ラインバッファ４０は、画素を垂直方向で補間するのに用いられる典型的なラインバッファ４０として動作する。上述したように、この動作には、現在のラインの画素データを蓄積する処理が含まれている為、垂直スケーラコントローラ５０は垂直補間のためのデータをアクセスしうる。しかし、第２動作モードでは、ラインバッファ４０はＬＵＴとして動作する。この場合、ＶＧＣ１０はディスプレイ装置１６上に表示する全２４bppカラーの他のテーブルを含む。
ビデオグラフィックスシステムは、図３に示すように、マルチプレクサ６０、７０及び８０に第１入力を与える選択装置９０を有する。この第１モードでは、マルチプレクサ６０、７０及び８０がラインバッファ／ＬＵＴ４０を、画素データを補間するのに用いられる典型的なラインバッファとして動作せしめうる。しかし、選択装置９０がマルチプレクサ６０、７０及び８０に第２入力を与えると、ラインバッファ／ＬＵＴ４０はＬＵＴとして動作する。この第２モードでは、全２４bppカラーがＬＵＴ１８に書込まれるのと同様に、全２４bppカラーがラインバッファ４０に書込まれる。典型的な実施例では、ＣＰＵ２２が周辺素子相互接続（ＰＣＩ）バス３２を通る選択装置９０及び信号マルチプレクサ６０、７０及び８０として動作する。ＣＰＵ２２は、システムメモリ２０内に蓄積された命令に応じて動作する。或いはまた、選択装置９０を、ＰＣＩバス３２を介してＶＧＣ１０と通信するいかなるＰＣＩホスト装置とすることもできる。例えば、この選択装置９０をネットワークコントローラ３０とすることができる。
典型的な実施例では、選択装置９０が“高”レベル信号をマルチプレクサ６０、７０及び８０に供給し、ラインバッファ／ＬＵＴ４０が典型的なラインバッファとして動作するようにする。マルチプレクサ６０、７０及び８０は“高”レベル信号を受け、フレームバッファメモリ１２からラインバッファ／ＬＵＴ４０にデータを書込んだり、このラインバッファ／ＬＵＴ４０からデータを読出したりする。垂直スケーラコントローラ５０は、画素を垂直方向に補間するためにデータをラインバッファ４０に書込んだり、ラインバッファ４０から読出したりするのを制御する。
しかし、前記選択装置９０が“低”レベル信号をマルチプレクサ６０、７０及び８０に供給する場合には、これらマルチプレクサ６０、７０及び８０はカラーデータをラインバッファ／ＬＵＴ４０に伝送するよう動作する。このカラーデータは、ＬＵＴ１８に書込まれるのと同様にしてラインバッファ４０に書込まれる。すなわち、ＣＰＵ２２又は他の何れかのＰＣＩホスト装置が、所望の２５６個の２４bppのインデックス付カラーをシステムメモリからマルチプレクサ８０を介してラインバッファ／ＬＵＴ４０に書込む。この場合、ディスプレイコントローラ２０が、８bppを含む入力画像を受けると、８ビット値がマルチプレクサ７０を介して、ＬＵＴとして動作するラインバッファ／ＬＵＴ４０に伝送される。ディスプレイコントローラ２０はこの８ビット値を２４bppのカラー値にマッピングし、出力値を、ディスプレイ装置１６が用いるアナログ値に変換するためのＤＡＣ（デジタル−アナログ変換器）１４に伝送する。
図４は、ラインバッファ／ＬＵＴ４０をラインバッファとＬＵＴとの双方として用いる典型的なシナリオを示すフローチャートである。前述したように、本発明のビデオグラフィックス装置を制御するのに、いかなるＰＣＩホスト装置をも、又は他のいかなる制御装置をも用いることができる。以下に詳細に説明する実施例は、ＣＰＵ２２が制御装置であるものと仮定している。
ステップ２００では、ＣＰＵ２２がＶＧＣ１０の動作モードを選択する。このＣＰＵ２２は、画像のアップスケーリングが必要であるかどうかに基づいて動作モードを決定する。説明の目的のために、ＣＰＵ２２が、ステップ２００で画像のアップスケーリングが必要でないことを決定するものとする。ＣＰＵ２２はステップ２０２でマルチプレクサ６０、７０及び８０に、それぞれのマルチプレクサに対し“低”レベルの入力を選択させる制御信号を送る。
次に、ステップ２０４で、ＣＰＵ２２が２５６個の２４bppのカラー値をマルチプレクサ８０を介してラインバッファ／ＬＵＴ４０に書込む。この２４bppのカラー値は種々のファクタに基づいてＣＰＵ２２によって決定される。例えば、ＣＰＵ２２は、殆ど青色の陰影表示に供せられた２５６個の２４bppの値を、ＬＵＴ１８に予め蓄積しておくことができる。従って、ＣＰＵ２２は、殆ど黄-赤（又は他のいかなるカラー）の陰影表示に供せられた２５６個の２４bppのカラーをラインバッファ／ＬＵＴ４０に書込むことができる。このようにして、ＣＰＵ２０がディスプレイ装置１６上で得られる出力カラーの個数を増大させる。
ステップ２０６では、ディスプレイコントローラ２０が８bppモードで蓄積されたビデオ画素データをフレームバッファメモリ１２から受ける。このディスプレイコントローラ２０は読出しアドレス信号をマルチプレクサ７０に送り、現在の画素に対する８ビット値を出力の２４ビットカラーにマッピングする。読出しアドレス信号は画素の水平の流れ中の現在の画素値である。ステップ２０８では、ラインバッファ／ＬＵＴ４０が入力の８bpp画素値に基づく適切な２４bpp値をＤＡＣ１４への、及び次のディスプレイ装置１６への入力に対して出力する。
ステップ２００〜２０８に対する上述した説明では、ＣＰＵ２２が、ビデオアップスケーリングは必要でないということを決定しているものと仮定している。ステップ２０８後に、ＣＰＵ２２は、垂直アップスケーリングが必要であるということを決定するものと仮定する。ステップ２１０で、ＣＰＵ２２がマルチプレクサ６０、７０及び８０に、それぞれのマルチプレクサに対し“高”レベル信号を選択させる制御信号を送ることを決定する。
次に、垂直スケーラコントローラ５０はフレームバッファメモリ１２からビデオ画素データを受けるように動作する。この垂直スケーラコントローラ５０はステップ２１２で、書込みアドレスストローブ信号をマルチプレクサ６０に送り、現在の水平ラインの画素データをラインバッファ／ＬＵＴ４０に書込む。
垂直スケーラコントローラ５０はビデオ画像データの２ラインの補間を行うため、この垂直スケーラコントローラ５０はステップ２１４で、読出しアドレス信号をマルチプレクサ７０を介してラインバッファ／ＬＵＴ４０に送る。この読出しアドレス信号は、垂直スケーラコントローラ５０が補間している現在の水平画素を表し、垂直スケーラコントローラ５０はラインバッファ／ＬＵＴ４０に蓄積された前のラインのデータから適切な水平画素のデータを読出す。この垂直スケーラコントローラ５０はステップ２１６で、補間された画素データを読出してアップスケーリングされた出力画像を生ぜしめる。このようにして、ＶＧＣ１０は、垂直アップスケーリングが必要である時にラインバッファ／ＬＵＴ４０を利用し、垂直アップスケーリングが必要でない時にもこのラインバッファ／ＬＵＴ４０をＬＵＴとして利用する。ラインバッファ／ＬＵＴ４０のこの利用により、ＶＧＣ１０におけるメモリの要求を高めることなく、ディスプレイに対して得られるカラーの個数を増大させる。
例えば、前述したように特定の画像の殆どが水中の海景色であるものと仮定する。この状態では、ＬＵＴの殆どを青色の種々の陰影表示に供することができる。しかし、黄-赤の潜水艦がこの海景色に重畳されている場合には、ＬＵＴ１８は黄-赤の陰影表示を表す２４bppのカラーを含まない。しかし、ＰＣＩホスト装置が、ラインバッファ／ＬＵＴ４０に蓄積された２５６個の２４ビットのカラーの殆どを黄及び赤の種々の陰影表示に供するシステムを制御するものと仮定する。この場合、ＰＣＩホスト装置は、潜水艦のための８bppの入力カラーを２４bppの出力カラーにマッピングするようラインバッファ／ＬＵＴ４０を選択する。或いはまた、ＶＧＣ１０上の論理回路を用いて、２４bppの出力カラーを出力するように適切なＬＵＴを選択することができる。このようにして、殆ど青色の陰影表示を表す１つのみのＬＵＴ１８を用いる場合よりも、ラインバッファ／ＬＵＴ４０を用いて黄-赤の潜水艦を有する海景色の画像をより一層正確に表すことができる。
カラー値をラインバッファ／ＬＵＴ４０内に蓄積するのに用いるＰＣＩホスト装置（代表的な実施例ではＣＰＵ２２）は、いかなる個数の所望のカラーからも選択を行うことができ、これらのカラー値をＶＧＣ１０によって用いるためにラインバッファ／ＬＵＴ４０内に蓄積することができる。しかし、ラインバッファ／ＬＵＴ４０内に蓄積された実際のカラー値は、出力画像の所望の全体の精度を含む種々のファクタに依存する。
代表的な実施例では、ラインバッファ４０の大きさは７６８ディープ（deep）×２４ビット幅である。この場合、ラインバッファ／ＬＵＴ４０を３つのＬＵＴに区分けしてディスプレイ装置１６上での表示に得られるカラーの個数を更に増大させることができる。しかし、得られる追加のＬＵＴの個数はラインバッファ４０の大きさに依存する。更に、ＶＧＣ１０でのスペース上の制約の為にＬＵＴ１８がＶＧＣ１０上の他の素子と共存しえないようにする場合には、ＶＧＣ１０をＬＵＴのみとして作用するラインバッファ／ＬＵＴ４０に対して用いることができる。
更に、制御用のＰＣＩホスト装置を用いることにより、受けた画像データの種々の部分に対してどのＬＵＴを用いるかを制御することができる。ＶＧＣ１０内の又は外部の制御装置からの論理信号により、入力画素データを全２４bppカラーにマッピングするのに複数のＬＵＴのうちどのＬＵＴを用いるかを選択しうる。更に、代表的な実施例では、８bppを蓄積するフレームバッファメモリ１２及び８×２５６ＬＵＴを有するシステムを仮定しているが、本発明の概念を逸脱することなく、画素当りのビット数を他のいかなる個数にもした他のいかなるビデオ処理システムをも用いることができる。
上述したところでは、画素を補間して画像をアップスケーリングするラインバッファと、ディスプレイ装置上での表示のために得られる出力カラーの個数を増大させるルックアップテーブルとを用いる方法及び装置を説明した。前述したように、前記ディスプレイ装置はＣＲＴ、ＬＣＤディスプレイ又はその他のディスプレイ装置のようないかなる種類のディスプレイ装置にもすることができる。本発明には、ハードウエアの条件を高めることなく、本発明によるシステムがより一層正確な出力データを生ぜしめるという利点がある。本発明の他の利点は、システムによる処理を殆ど追加することなく、ディスプレイのために得られる可能なカラーの個数が増大するということである。本発明の更に他の利点は、本発明のシステムをそれ専門のハードウエアを用いることなく容易に構成しうるということである。
上述したところでは、本発明の数種類のみの好適実施例を示し、説明したが、前述したように本発明は種々の他の組合せや環境に用いることができ、ここで説明した本発明の概念の範囲内で種々に変更又は変形しうることに注意すべきである。
【図１】
0004672821.tif 000002
【図２】
0004672821.tif 000003
【図３】
0004672821.tif 000004
【図４】
0004672821.tif 000005