JP2003520980A - 前景および背景カラーの選択を効率的に実施し修正する方法および装置 - Google Patents
前景および背景カラーの選択を効率的に実施し修正する方法および装置Info
- Publication number
- JP2003520980A JP2003520980A JP2000607164A JP2000607164A JP2003520980A JP 2003520980 A JP2003520980 A JP 2003520980A JP 2000607164 A JP2000607164 A JP 2000607164A JP 2000607164 A JP2000607164 A JP 2000607164A JP 2003520980 A JP2003520980 A JP 2003520980A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- values
- packed
- color
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0457—Improvement of perceived resolution by subpixel rendering
Abstract
Description
置、たとえば液晶ディスプレイの複数の変位した部分を利用して、イメージの単
一ピクセルを表す表示方法および装置に関する。
すぐりの最も重要なディスプレイデバイスとなっている。モニタ上のカラーの表
示は、通常、人間の目によって知覚される1つまたは複数のカラーが得られる光
、たとえば、赤、緑および青のカラーの組み合わせを発する、ディスプレイデバ
イスを駆動することによって行われる。
RTスクリーン上に連続したドットとして塗布される蛍光体被覆を使用すること
により生成される。通常、異なる蛍光体被覆が、3つのカラー、すなわち、赤、
緑および青の各々を生成するのに使用される。被覆によって、電子ビームにより
励起されたときに、カラー、すなわち、赤、緑および青を生成する蛍光体ドット
の繰り返し配列が得られる。
グリッド内の1つのスポットを呼ぶのに使われる。スポットは、ディスプレイデ
バイス上にイメージを形成するために、コンピュータにより個々に使用される。
赤、緑および青から成る蛍光体ドットの単一の3つ組みがアドレシングできない
カラーCRTにおいて、最も小さく可能なピクセルサイズは、蛍光体を励起する
のに使用される電子銃の焦点、アラインメントおよび帯域に依存する。CRTデ
ィスプレイにとって公知の、種々の配置において、赤、緑および青から成る蛍光
体ドットの1つまたは複数の3つ組みから発した光は、混ざり合う傾向があり、
離れた場所では単一のカラー光源に見える。
光の強度は、ほとんどどんなカラーピクセルにも見えるように変えることができ
る。色を加えない、すなわち、光を発しないことにより、暗いピクセルが生成さ
れる。全ての3色を100%加えることにより、白いピクセルが得られる。
ューティングデバイスは、CRTディスプレイと対抗するものとして、液晶ディ
スプレイ(LCD)または他のフラットパネルディスプレイデバイス102を使
用する傾向にある。これは、フラットパネルディスプレイが、CRTディスプレ
イに比べて小さくて、軽量である傾向にあるためである。さらに、フラットパネ
ルディスプレイは、匹敵する大きさのCRTディスプレイより電力消費が少ない
傾向にあることで、バッテリ駆動による使用に十分に適している。
、以下、ピクセルサブコンポーネントまたはピクセルサブエレメントと呼ぶ、複
数の明確にアドレッシング可能なエレメントを使用するディスプレイデバイスの
典型である。普通、カラーLCDディスプレイの各ピクセルエレメントは、3つ
の非正方エレメント、すなわち、赤、緑および青(RGB)のピクセルサブコン
ポーネントを有する。したがって、RGBピクセルサブコンポーネントのセット
は、一緒になって単一のピクセルエレメントを作る。一般的に、公知のLCDデ
ィスプレイは、通常、ディスプレイに沿ってストライプを形成するために配置さ
れる一連のRGBピクセルサブコンポーネントを有する。RGBストライプは、
普通、ディスプレイの全長分1方向にのびている。得られるRGBストライプは
、時に「RGBストライピング」と呼ばれる。コンピュータ用途に使用される、
高いというよりは幅広の、普通のLCDモニタは、垂直方向にのびるRGBスト
ライプを持つ傾向にある。
LCDスクリーン200を説明している。各行/カラムの交差部は、1つのピク
セルエレメントを表す正方形を形成する。図2は、公知のディスプレイ200の
左上部を詳細に説明している。
トが、どのように3つの異なったサブエレメントまたはサブコンポーネント、す
なわち、赤いサブコンポーネント206、緑のサブコンポーネント207および
青いサブコンポーネント208を有するかについて留意されたい。各々の公知の
ピクセルサブコンポーネント206、207、208は、ピクセルの幅の1/3
または約1/3であり、あるいは高さにおいては、ピクセルの高さに等しいか、
または、およそ等しい。したがって、組み合わされたときに、1/3の幅の3つ
のピクセルサブコンポーネント206、207、208は単一のピクセルエレメ
ントを形成する。
08の1つの公知の構成は、ディスプレイ200の下で垂直カラーストライプで
あるように見えるものを形成する。そのため、図1および2で説明した公知の方
法での、1/3幅のカラーサブコンポーネント206、207、208の配置は
、「垂直ストライピング」と呼ばれることがある。
各々のセットは、単一のピクセルユニットとして取り扱われる。そのため、公知
のシステムにおいて、ピクセルエレメントの全てのピクセルサブコンポーネント
に対する光度(luminous intensity)値は、イメージの同じ
部分から生成される。たとえば、図3に示すようなグリッド220によって表さ
れるイメージを考える。図3において、各正方形は、単一ピクセルエレメント、
たとえば、グリッド230の対応する正方形の赤、緑および青のピクセルサブコ
ンポーネントによって表されるイメージ領域を表す。図3において、斜線を入れ
た円は、光度値が生成される、単一のイメージサンプルを表すのに使用される。
公知のシステムにおいて、イメージ220の単一のサンプル222が、どのよう
にして、赤、緑および青のピクセルサブコンポーネント232、233、234
の各々に対する光度値を生成するのに使用されるかに留意されたい。したがって
、公知のシステムにおいて、RGBピクセルサブコンポーネントは、表されるべ
きイメージの1つのサンプルに対応する1つのカラーピクセルを生成するために
、通常、グループとして使用される。
異なるカラーを提供するために変えられるが、限られた数のカラーだけは、実際
には、ディスプレイハードウェアおよび/またはソフトウェアによって提供され
る。提供されるカラーのセットは、普通、カラーパレットと呼ばれる。カラーパ
レットの各カラーは、R、GおよびBのピクセルサブコンポーネント光度値の異
なる組み合わせに対応している。コンピュータシステムは、複数のカラーパレッ
トを提供するかもしれないが、通常、ただ1つのパレットが、任意の時間に、表
示されるイメージを生成するために使用されてもよい。
景カラーを選択する。通常、暗い前景と明るい背景カラーが、明るいカラーのフ
ィールド上に暗いテキストを生成するのに使用される。このような方法は、しば
しば白い背景の上で暗い傾向を持つ印刷されたテキストを真似ている。
選択してもよい。このようなテキストオプションは、あまり普通ではないが、た
とえば、スクリーン上のテキストを強調するために時々使用される。
合、文字を表すために使用されるピクセルは、黒などの選択された前景カラーに
設定され、背景を表すのに使用されるピクセルは、白に設定される。上述したよ
うに、暗いピクセルを生成するために、暗いピクセルのR、GおよびBのピクセ
ルサブコンポーネントは、最小限の光度を出力するために設定される。白いピク
セルの場合、R、GおよびBのピクセルサブコンポーネントは、最大限の光度に
設定される。
分解能のために、特に、10、12および14ポイントタイプの普通のテキスト
サイズでは、滑らかな文字形状を描写するのに、十分なピクセルが利用できない
。
ーティングデバイスは、電力消費問題および、多くの場合、デスクトップコンピ
ューティングデバイスではそれほど問題にならない、価格制約の問題に直面して
いる。
しばしば、LCDディスプレイが使用されるようになった。電力への関心もまた
、しばしば、電力節約の特徴を持って設計されたCPUなどのプロセッサの使用
をもたらした。ポータブルコンピュータよりも多くのデスクトップPCがあるた
め、ほとんどのCPU製造業者は、ポータブルコンピュータ用の電力節約特徴を
持つCPUに対立するものとして、デスクトップコンピュータ用の高速CPUを
開発することに優先度を与える。このような理由で、ポータブルコンピューティ
ングデバイスのプロセッサは、処理電力の観点から、デスクトップ同等品より遅
れる傾向にある。
合、処理電力と装置に含まれるメモリ容量の両方の観点から、価格が制限要素に
なる傾向がある。
デスクトップパーソナルコンピュータのような他のイメージレンダリング環境に
おいて遭遇する多くのものと同じイメージレンダリング問題に直面する一方、ポ
ータブルコンピュータおよびハンドヘルド環境において、しばしばイメージレン
ダリング問題に対処するための少ない処理電力およびメモリが利用できる。
の改善された方法に対する要求があることは明らかである。処理およびメモリ資
源が限られているポータブルコンピュータおよびハンドヘルドコンピューティン
グデバイスにおいて、少なくともいくつかの新しい方法および装置が、テキスト
のレンダリングを提供することが望ましい。
な出力デバイスの複数の異なった部分を用いて、イメージを表示する方法および
装置に向けられている。
立した輝度源として扱われる。これによって、ストライプ配列されたディスプレ
イの場合、RGBストライピングの方向に垂直な方向に3倍まで分解能が増加す
る。
つかのステップを含む。これらは、ラスタ化(rasterization)ス
テップ、オプションのグリフ(glyph)キャッシングステップおよび装置、
たとえば、ディスプレイドライバ処理ステップを含む。ラスタ化ステップは、ス
ケーリング、ヒンティングおよび走査変換ステップを含む。ラスタ化ステップは
、イメージ、たとえば、文字の白黒ビットマップ表示を含むグリフを生成する。
グリフをストアすることを含む。グリフがラスタ化操作により生成されると、グ
リフは、可能性のある将来の使用のために、グリフキャッシュに配置される。以
前にラスタ化され、キャッシュされたグリフに対応する文字が出力されるはずで
あれば、グリフがキャッシュから得られるため、ラスタ化操作を実行する必要を
避けることができる。
およびB光度レベル値は、本明細書ではパックされたピクセル値と呼ばれる単一
値にパック(たとえば、圧縮)される。したがって、グリフをストアするのに要
求されるメモリ容量が、かなり減ぜられる。1つの典型的な実施形態において、
イメージの各ピクセルエレメントと関連してR、G、Bピクセルサブコンポーネ
ントの輝度値を表すために、単一の8ビットにパックされたピクセル値が使用さ
れる。これは、レンダリング処理を通して、R、G、Bのピクセルサブコンポー
ネント光度値の各々を表すために8ビットを使用するシステムに対して、メモリ
のかなりの節約を表している。
ィスプレイデバイスによって提供されているフォーマットで、対応するピクセル
値を生成するために、ラスタ化ステップからのグリフまたはグリフキャッシュが
処理される。ピクセル値は、ピクセルエレメントの光度を制御するために使用さ
れる値である。したがって、ピクセル値は、R、GまたはBの光度値であるか、
または、パレット化されたディスプレイシステムにおいては、ディスプレイデバ
イスによって使用される実際のR、G、Bの光度値を含むテーブル、たとえば、
カラーパレットに索引を付けるのに使用される数であってもよい。パレット化さ
れたディスプレイの実施形態において、ディスプレイデバイスまたはディスプレ
イアダプタは、個々のピクセルに関連するカラーパレット値を、ピクセルサブコ
ンポーネントのR、GおよびBの光度を制御するために使用される実際のR、G
およびBの光度値に変換する。
ョンのスケーリングおよびヒンティング操作を含む。スケーリング操作の一部に
おいて、イメージ、たとえば、表示される文字を高解像度で表現することは、少
なくともRGBストライピングの方向に垂直な次元にスーパーサンプリングされ
ることである。スケーリングされたイメージのヒンティングの後に、走査変換操
作が行われる。本発明の1つの特徴によれば、走査変換操作は、加重走査変換操
作であり、ヒンティングされたイメージは、同じ大きさの部分、たとえば、セグ
メントに分割され、異なる数のセグメントがR、GおよびBの光度値を決定する
のに使用される。
その結果、各ピクセルエレメントに対応する16セグメントを持つスーパーサン
プリングされたイメージを生成する。特定の典型的な実施形態において、実行さ
れた加重走査変換操作は、赤のピクセルサブコンポーネント光度値を決定するの
に5イメージセグメントを、緑のピクセルサブコンポーネント光度値を決定する
のに9イメージセグメントを、そして、青のピクセルサブコンポーネント光度値
を決定するのに2イメージセグメントを使用した。
Bの光度値の組み合わせの数Nは、可能なR値の数×可能なG値の数×可能なB
値の数に等しい。5、9、2スケーリングの場合、Nは、全部で(6×10×3
)180の可能な値に対応する。
つの個別の値、たとえば、8ビットR値、8ビットG値および8ビットB値とし
て表すよりはむしろ、ピクセルエレメントに対応するR、GおよびBの光度値は
、ここでは、パックされたピクセル値と呼ばれる、単一の数として特定される。
パックされたピクセル値は、ピクセルエレメントが、R、GおよびBの光度値の
可能なセットのいずれに対応するかを示す。5、9、2の場合、8ビットにパッ
クされたピクセル値は、容易に、180の異なる、可能なR、GおよびBの光度
値を表すのに使用される。
Bの光度値がストアされるときに必要になるであろうビット数よりずっと少ない
ビット数を用いて、文字グリフが表現されることが可能になる。本発明のパック
方法を用いてグリフを表現するのに使用されるデータ量の削減は、光度値をパッ
クしないシステムと比べると、グリフを転送するのに要求される帯域幅の量を減
ずる。本発明の小さなサイズのグリフは、また、グリフを表現するのにパックさ
れたピクセル値が使用されなかったときに可能であろうグリフよりも、多くのグ
リフが同じ容量のメモリにストアされることを可能にする利点を持つ。これら利
点は両方とも、メモリおよびバス帯域幅が比較的制限されるかもしれないハンド
ヘルドおよびポータブルコンピューティングデバイスの場合に特に重要である。
ィスプレイドライバに供給される。ディスプレイドライバは、表示されるべき、
イメージ、たとえば、文字を表すデータに対して、1つまたは複数のイメージ処
理操作を実行する役割を果たす。ディスプレイドライバは、グリフを表すのに使
用されるパックされたピクセル値を、イメージデータが出力されるディスプレイ
アダプタまたはディスプレイデバイスにより使用されるフォーマットを持つピク
セル値、たとえば、個別の8R、GおよびBの光度値またはカラーパレット値に
変換する。ディスプレイドライバは、また、ガンマ補正操作、カラー補償操作お
よび/または任意の時に使用する、制限されたカラーパレットからカラーを選択
することを含むカラーパレット選択操作を実行してもよい。
、順次的な処理操作として実装される。しかし、本発明の他の実施形態において
は、ディスプレイドライバにより実行される処理操作は、単一のルックアップテ
ーブル操作に結合される。
ドライバの一部として用意される。各ルックアップテーブルは、ディスプレイア
ダプタまたはディスプレイドライバにより使用されるフォーマットを持つピクセ
ル値にパックされたピクセル値を変換するのに使用される、デバイスドライバ操
作または入力値の異なるセットに対応する。たとえば、1つのルックアップテー
ブルが、異なるガンマ値またはピクセル値フォーマット要求仕様を持つ、複数の
提供されたディスプレイデバイスの各々に用意されてもよい。さらに、個別のル
ックアップテーブルが、各々の提供されるカラーパレットに対して使用される。
たとえば、インターネットアプリケーションカラーパレットがディスプレイデバ
イスのアクティブなパレットであるときに、インターネットアプリケーションに
関連したカラーパレットを用いて生成された1つのルックアップテーブルが、パ
ックされたピクセル値を処理するのに使用される。ディスプレイデバイスおよび
/またはディスプレイアダプタが異なる動作カラーパレットを持つとき、異なる
ルックアップテーブルが使用される。
つのエントリを含む。可能なパックされたピクセル値のセットにおいて、N番目
のエントリがN番目のパックされたピクセル値に対応するように、エントリがテ
ーブルに配置される。パレット化されたディスプレイシステムの場合、通常、各
テーブルエントリは、単一ピクセル値、すなわち、カラーパレット値である。パ
レット化されていないシステムでは、各エントリは、通常、ディスプレイアダプ
タおよび/またはディスプレイデバイスにより使用されるフォーマットのR、G
およびBのピクセルサブコンポーネント光度値のセットである。180の可能な
パックされたピクセル値の典型的な場合、ルックアップテーブルは180のエン
トリを含むであろう。そして、各エントリは180のパックされたピクセル値の
異なる1つに対応する。一実施形態において、各テーブルエントリは、出力ピク
セル値が対応する、パックされたピクセル値を入力として用いて、実装されたデ
ィスプレイドライバ処理操作を実行することにより、事前に計算される。
に含まれるパックされたピクセル値を用いることにより、取り付けられたディス
プレイアダプタまたはディスプレイデバイスにより使用されるフォーマットで出
力ピクセル値のセットが得られる。ルックアップテーブル値は事前に計算される
、すなわち、ディスプレイドライバでの使用前に計算されるために、イメージレ
ンダリング中にガンマ補正、カラー補償および/またはパレット選択操作をリア
ルタイムで実行する必要が避けられる。
ことができるデバイスドライバルックアップテーブルの生成に向けられる。
、前景および背景カラーを特定することができる。本発明によって、ディスプレ
イドライバを実装するのにピクセル値ルックアップテーブルが使用されるとき、
通常、前景および背景カラーとして、結合して使用されてもよいカラーの対を提
供するあるルックアップテーブルが備わる。本発明によれば、前景としてどのカ
ラーが使用されるか、および背景としてどのカラーが使用されるかが、ピクセル
値ルックアップテーブルがアクセスされる方法で決定される。このような一実施
形態において、使用されたカラー対に対応する、ピクセル値ルックアップテーブ
ルがアクセスされる順序を単純に逆にすることにより、前景および背景カラーが
交換される。
、以下の詳細な明細書で述べられる。
イスの複数の異なる部分、たとえば、液晶ディスプレイのR、G、Bピクセルサ
ブコンポーネントを利用できるディスプレイデバイス上で、イメージ、たとえば
、テキストおよび/またはグラフィックを表示する方法および装置に向けられる
。
のセットを単一光度ユニットとして扱う方法に対立するものとして、各ピクセル
サブコンポーネントを独立した光度源として用いる方法に向けられる。これによ
り、RGBの水平または垂直ストライピングを持つディスプレイデバイスが、他
の次元よりも3倍まで大きな実効分解能を、ストライピングに垂直な次元に持つ
ものとして扱われることを可能にする。本発明の種々な装置は、光度サブピクセ
ルコンポーネントを個々に制御する能力を利用するディスプレイデバイスおよび
制御装置に向けられる。
もしれない、典型的な装置の、短く、一般的な説明を提供する。本発明の種々な
方法は、コンピュータ実行可能命令、たとえば、パーソナルコンピュータのよう
なコンピュータデバイスによって実行されるプログラムモジュールの一般的なコ
ンテキストにおいて、説明する。本発明の他の態様は、たとえば、ディスプレイ
デバイスコンポーネントおよびディスプレイスクリーンのような物理的なハード
ウェアによって説明する。
成し遂げられてもよい。タスクを実行するか、または、特定の抽象データタイプ
を実装するプログラムモジュールは、ルーチン、プログラム、オブジェクト、コ
ンポーネント、データ構造(たとえばルックアップテーブルなど)を含んでもよ
い。さらに、当業者は、本発明の少なくともいくつかの態様が、ハンドヘルドデ
バイス、マルチプロセッサシステム、マルチプロセッサベースのまたはプログラ
ム可能なコンシューマエレクトロニクス、ネットワークコンピュータ、ミニコン
ピュータ、セットトップボックス、メインフレームコンピュータ、たとえば自動
車、航空、産業用途などにおいて使用されるディスプレイを含む他の構成で実施
されるであろうことを理解するであろう。本発明の少なくともいくつかの態様は
、また、タスクが通信ネットワークを通して結合されたリモート処理デバイスに
よって実行される、分散コンピューティング環境において実施されてもよい。分
散コンピューティング環境において、プログラムモジュールは、ローカルおよび
/またはリモートメモリストレージデバイスに配置されてもよい。
置500は、汎用コンピューティングデバイスを含む。パーソナルコンピュータ
520は、処理ユニット521、システムメモリ522、およびシステムメモリ
を含む種々のシステムコンポーネントを処理ユニット521に結合するシステム
バス523を含んでもよい。システムバス523は、メモリバスまたはメモリ・
コントローラ、周辺バスおよび種々のバスアーキテクチャの任意のものを用いた
ローカルバスを含む、いくつかのタイプのバス構成の任意のものでもよい。シス
テムメモリは、読取り専用メモリ(ROM)524および/またはランダムアク
セスメモリ(RAM)525を含んでもよい。基本入力/出力システム526(
BIOS)は、たとえば、スタートアップ中に、パーソナルコンピュータ520
内のエレメント間で情報を転送するのに役立つ基本ルーチンを含み、ROM52
4内にストアされてもよい。パーソナルコンピュータ520は、また、(図示さ
れない)ハードディスクからの読出し、または、書込みを行うハードディスクド
ライブ527、(たとえば、リムーバブル)磁気ディスク529からの読出し、
または、書込みを行う磁気ディスクドライブ528およびコンパクトディスクま
たは他の(磁気)光学媒体のような(磁気)光学ディスク531に対して読出し
、または、書込みを行う光学ディスクドライブ530を含んでもよい。ハードデ
ィスクドライブ527、磁気ディスクドライブ528および(磁気)光学ディス
クドライブ530は、各々、ハードディスクドライブインタフェース532、磁
気ディスクドライブインタフェース533および(磁気)光学ドライブインタフ
ェース534によって、システムバス523と結合される。ドライブとその関連
ストレージ媒体は、パーソナルコンピュータ520用のマシン可読命令、データ
構造、プログラムモジュールおよび他のデータの不揮発性ストレージを提供する
。本発明で説明する典型的な環境は、ハードディスク、リムーバブル磁気ディス
ク529およびリムーバブル光ディスク531を使用するが、磁気カセット、フ
ラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、
ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)などの他のタ
イプのストレージ媒体が、上記で紹介されたストレージデバイスの代わりに、ま
たは、それに加えて使用されてもよいことを、当業者は理解するであろう。
ョンプログラム536、他のプログラムモジュール537、ディスプレイドライ
バ830および/またはプログラムデータ538のような、多数のプログラムモ
ジュールは、ハードディスク523、磁気ディスク529、(磁気)光学ディス
ク531、ROM524またはRAM525上にストアされてもよい。RAM5
25は、以下で述べるように、表示のためのイメージのレンダリング時に使用さ
れるデータのストアに使用されてもよい。ユーザは、たとえば、キーボード54
0およびポインティングデバイス542のような入力デバイスを通して、パーソ
ナルコンピュータ520に命令および情報を入力してもよい。マイクロフォン、
ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどの(
図示されない)他の入力デバイスもまた含まれてもよい。これらのものおよび他
の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタ
フェース546を通して処理ユニット521に接続される。しかし、入力デバイ
スは、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB
)のような他のインタフェースによって接続されてもよい。モニタ547または
他のタイプのディスプレイデバイスもまた、たとえば、ディスプレイアダプタ5
48のようなインタフェースを介してシステムバス523に接続されてもよい。
モニタ547に加えて、パーソナルコンピュータ520は、たとえば、スピーカ
およびプリンタのような(図示されない)他の周辺出力デバイスを含んでもよい
。
または複数のリモートコンピュータに対して論理接続を定義するネットワーク環
境で動作してもよい。リモートコンピュータ549は、別のパーソナルコンピュ
ータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネット
ワークノードであってもよく、図5でメモリストレージデバイス550のみ示し
たが、パーソナルコンピュータ520に関して上述したエレメントの多くまたは
全てを含んでもよい。図5で説明する論理接続は、ローカルエリアネットワーク
(LAN)551およびワイドエリアネットワーク(WAN)552、すなわち
、イントラネットおよびインターネットを含む。
ンタフェースアダプタ(またはNIC)553を通してLAN551に接続され
てもよい。インターネットのようなWANで使用されるとき、パーソナルコンピ
ュータ520は、ワイドエリアネットワーク552上で通信を確立するための、
モデム554または他の手段を含んでもよい。内部にあるかまたは外部にあるモ
デム554は、シリアルポートインタフェース546を介してシステムバス52
3に接続されてもよい。ネットワーク環境においては、パーソナルコンピュータ
520に関して説明したプログラムモジュールの少なくともいくつかは、リモー
トメモリストレージデバイスにストアされてもよい。示されたネットワーク接続
は、典型的な例であり、コンピュータ間の通信リンクを確立する他の手段が使用
されてもよい。
00を説明する。装置800は、本発明によってコンピュータシステムディスプ
レイ547上にテキストイメージをレンダリングするのに使用される、たとえば
、図5のコンピュータシステムのメモリに含まれる種々のルーチンを含む。
プレイインタフェース(GDI)802、ディスプレイドライバ830およびス
クリーンバッファ834を含む。
れらのオペレーティングシステム535に対する関係を詳細に説明する。図8は
、また、アプリケーション536が、GDI802に対するテキスト入力813
の源として、どのように役立つかを説明する。さらに、図8は、どのようにして
、スクリーンフレームバッファ834の生成された内容がディスプレイアダプタ
548および最後にディスプレイデバイス547に供給されるかを説明する。ス
クリーンフレームバッファ834によって出力された、処理されたピクセル値か
ら、ディスプレイアダプタ548により生成された信号を供給することにより、
レンダリングされたテキストイメージがディスプレイデバイス547上に表示さ
れる。
しれない、アプリケーションルーチン536は、テキスト出力サブコンポーネン
ト801に含まれる。テキスト出力サブコンポーネント801は、ディスプレイ
デバイス547上のレンダリングのために、オペレーティングシステム535に
対して、矢印813として表されるようなテキスト情報を出力する役割を果たす
。
トの表示を制御する役割を果たす種々のコンポーネントを含む。これらコンポー
ネントは、ディスプレイ情報815およびグラフィックディスプレイインタフェ
ース802を含む。上述したように、ディスプレイ情報815は、たとえば、レ
ンダリング中に適用されるスケーリングに関する情報を含む。ディスプレイ情報
815は、また、ガンマ補正情報、前景/背景カラー情報および/またはカラー
パレット情報のような、ディスプレイドライバ830によって使用される情報を
含む。
クを処理する回路および/またはルーチンを含む。これらは、図7に関して上述
のように動作する、グリフキャッシュ・コントローラ805、グリフキャッシュ
809およびタイプラスタ化器804を含む。
ストアするために使用される。本発明によって、ストアされたグリフは、以下で
説明するように、パックされたピクセル値を用いて表された、たとえば、文字の
ビットマップイメージである。グリフは、パックされたピクセル値に加えて文字
間隔情報を含んでもよい。ストアされたグリフ807、811、813、815
は、同じ文字の異なるサイズの表現、異なるフォントを用いた同じ文字または異
なる文字の表現に対応してもよい。ストアされたグリフ807、811、813
、815は、ユーザのカラー前景/背景の選択がディスプレイドライバ830に
よって後で適用される、白黒の文字表現である。
813は、たとえば、レンダリングされる1文字または複数文字、レンダリング
中に使用されるフォントおよび文字がレンダリングされるポイントのサイズを同
定する情報を含む。テキスト情報813は、グリフキャッシュ・コントローラ8
03に供給される。グリフキャッシュ・コントローラ803は、レンダリングさ
れる文字が既にグリフキャッシュ809にストアされているかを判断する。特定
のポイントサイズとフォントタイプを持つレンダリングされるべき文字が既にキ
ャッシュ809に存在するとき、グリフキャッシュ・コントローラ803は、グ
リフキャッシュ809を制御して、レンダリングされるべき文字に対応するグリ
フを出力する。
、本発明によって、タイプラスタ化器804が、パックされたビットマップ、た
とえば、グリフ807を生成するのに使用される。ラスタ化器804により生成
された各グリフは、グリフキャッシュ809にストアされ、さらなる処理のため
に、ディスプレイドライバ830へ出力される。
マップ表現、たとえば、グリフを生成する役割を果たす。タイプラスタ化器80
4は、文字データ806およびレンダリングとラスタ化ルーチン807を含む。
を提供する、たとえば、ベクトルグラフィックス、線、点および曲線を含んでも
よい。
成中の使用のためにメモリへストアされることができる、データ806のような
テキスト文字302を処理することが公知である。そのため、データ806の生
成304およびストア306は、本発明では詳細には説明しない。
08、ヒンティングサブルーチン810および走査変換サブルーチン812を含
む。スケーリング、ヒンティングおよび走査変換ルーチンおよびサブルーチンは
、スクリーンRGBピクセルサブコンポーネントを、レンダリングされるイメー
ジの異なる部分を表すのに使用されることができる個別の光度エンティティとし
て、考慮し、利用し、または、扱う。これらルーチン808、810および81
2は、図9に関して詳細に説明する。
理操作を実施するために使用される、事前に計算されたルックアップテーブル8
31のセットを含む。
により出力されたグリフ807およびディスプレイ情報815を受け取る。ディ
スプレイ情報815は、たとえば、前景/背景カラー情報、ガンマ値、カラーパ
レット情報およびピクセル値フォーマット情報を含む。ディスプレイ情報815
は、テーブルのセット831に含まれるルックアップテーブルの1つが、任意の
時に使用されるであろう、どれかを選択するのに使用される。
のに使用されるパックされたピクセル値を、処理されたピクセル値に変換するの
に使用される。処理されたピクセル値は、ディスプレイアダプタ548および/
またはディスプレイデバイス547によって使用される形式である。たとえば、
処理されたピクセル値は、たとえば、8ビットR、GおよびBの光度値、または
、任意の使用できるビット数の光度値、または、たとえば、ディスプレイアダプ
タ548および/またはディスプレイデバイス547によって利用される任意の
ビット数を有することができるパレット索引値であってもよい。
して1つのエントリを含む。180の可能なパックされたピクセル値の典型的な
場合において、ルックアップテーブルは、ルックアップテーブルエントリを表す
N番目の配列要素が、N番目の可能性のあるパックされたピクセル値に対応する
ように配列された180のエントリの配列を有するであろう。パレット化された
ディスプレイ実施形態の場合、各テーブルエントリは、単一カラーパレット値を
有する。
ト光度値のセットを含む。各出力ピクセル値、すなわち、パレット値またはピク
セルサブコンポーネント光度値は、出力ピクセル値が、対応するパックされたピ
クセル値を入力として用いて、実装されたディスプレイドライバ処理操作を実行
することにより生成される、事前に計算された値である。
1つのエントリ835が各々可能性のあるピクセル値に対し提供される。ブロッ
ク833は、テーブル832内の要素835の配列位置を表す。本発明によれば
、パックされたピクセル値として特定された配列位置に対応する配列エントリは
、パックされたピクセル値を入力として用いたルックアップ操作の実施に応答し
て出力される。そのため、パックされたピクセル値833をルックアップテーブ
ル832への索引として使用することにより、1つまたは複数のピクセル値を含
む適切なルックアップテーブルエントリが得られる。ディスプレイドライバルッ
クアップテーブル操作を通して生成されたピクセル値は、ディスプレイアダプタ
548に出力される前にスクリーンフレームバッファ834にストアされる。こ
れらピクセル値は、1つまたは複数の処理操作、たとえば、ガンマ補正、カラー
フィルタリングおよび/またはパレット選択操作の結果を表すため、処理された
ピクセル値と呼ばれる場合がある。
り、たとえば、テキストストリングの単一イメージがいくつかの異なる文字を表
すグリフから生成されることができる。
索引として使用することにより、カラーパレット値またはR、GおよびBのピク
セルサブコンポーネント光度値のいずれかを含む処理されたピクセル値のセット
が、取り付けられたディスプレイアダプタおよび/またはディスプレイデバイス
によって利用される形式で得られる。
たピクセル値は、事前に計算される。すなわち、ディスプレイドライバ830で
使用される前に計算される。処理されたピクセル値を事前に計算することにより
、ガンマ補正、カラー補償および/またはパレット選択操作をイメージレンダリ
ング中にリアルタイムで実施する必要が避けられる。
するのに使用することができるピクセル値ルックアップテーブル法に対する別法
を提示する。ブロック833は、処理されたピクセル値を、ディスプレイアダプ
タ548および/またはディスプレイ547による使用に適したフォーマットで
生成するために、入力としてパックされたピクセル値を用いて実施されることが
できる、ガンマ補正、カラー補償および/またはパレット選択操作を表す。
8は、しばしばハードウェアで実現されるカラーパレットの使用を通して、ディ
スプレイドライバルックアップテーブル操作を介して得られたカラーパレット値
を実際のR、G、Bの光度値に変換する。
10、812の各々により実施される操作は、図9を参照して説明する。
されるレンダリングおよびラスタ化ルーチン807を示す。本図に示すように、
ルーチン807は、このルーチンが、たとえばオペレーティングシステム535
の下で、アプリケーション536からのテキスト情報の受取りに応答して、実行
されるステップ902で始まる。ステップ904において、入力がテキストレン
ダリングおよびラスタ化ルーチン807により受け取られる。入力は、アプリケ
ーション536から得られるテキスト、フォントおよびポイントサイズ情報90
5を含む。さらに、入力は、ディスプレイ情報815を含む。ディスプレイ情報
815は、たとえば、スケーリング情報、前景/背景カラー情報、ガンマ値、ピ
クセルサイズ情報、カラーパレット情報および/またはディスプレイアダプタ/
ディスプレイデバイスピクセル値フォーマット情報を含む。ディスプレイ情報8
15は、オペレーティングシステム535によりメモリ522にストアされたモ
ニタ設定値から得られることとしてもよい。
6の、たとえば、線、点および/または曲線の形での、高解像度表現を含む。
ン808がオーバーサンプリングを含むスケーリング操作を実施するのに使用さ
れるステップ910に進む。本発明の1つの典型的な実施形態によれば、非正方
スケーリングが、各ピクセルエレメントに含まれるピクセルサブコンポーネント
の方向および/または数の関数として実施される。特に、高解像度文字データ8
06、たとえば、受け取られたテキストおよびフォント情報により特定されて表
示される、文字の線および点表現は、ストライピングの方向よりもストライピン
グに垂直な方向に、より大きな倍率でスケーリングされる。これによって、本発
明によって個々のピクセルサブコンポーネントを独立した光度源として使用する
ことにより達成することができる、より高い解像度を、その後のイメージ処理操
作が利用できる。
スプレイが使用されるとき、スケーリングは、垂直方向で実施されるよりも大き
な割合で水平方向に実施される。
プレイおよび実施される、その後の走査変換およびヒンティング工程に依存して
変わることができる。ステップ904で得られるスケーリング情報を含むディス
プレイ情報は、所定の実施形態において実施されるスケーリングを決定するステ
ップ910にて使用される。
ども、赤、緑および青のストライプをさらに分割することによって、その後の加
重走査変換操作を提供できる割合で、ストライピングに垂直な方向に実施される
。加重走査変換操作が適用される場合、スケーリングは、使用されるRGBスト
ライピングおよび重み付けの関数として実施される。赤のピクセルコンポーネン
トが重み5を割り当てられ、緑のピクセルサブコンポーネントが重み9を割り当
てられ、そして、青のピクセルサブコンポーネントが重み2を割り当てられる、
垂直ストライピングを持つ一実施形態において、スケーリングは、y方向に1の
割合で、x方向に16の割合で実施される。
letter)を表示することを見越して、文字i1002の高解像度表現で実
施されたスケーリング操作を示す。この例において、水平(X)方向のスケーリ
ングは×16の割合で適用されるが、垂直(Y)方向のスケーリングは×1の割
合で適用されていることに留意されたい。これによって、元の文字1002と高
さがちょうど同じだが、16倍幅の広いスケーリングされた文字1008が得ら
れる。
作は、たとえば、ヒンティングサブルーチン810を実行することにより、スケ
ーリングされたイメージのヒンティングが実施されるステップ912へ進む。ヒ
ンティング工程を述べるために、グリッド・フィッティング(grid−fit
ting)、という言葉が使われることがある。
を持つモニタ上に表示されることを目的とした、スケーリングされた文字100
8のヒンティング操作を示す。
グされた文字、たとえば、グリッド1104内の文字1008のアラインメント
を含む。ヒンティングは、また、イメージがよりよくグリッドの形状に一致する
ように、イメージの輪郭の歪曲を含む。グリッドは、ディスプレイデバイスのピ
クセルエレメントの物理的サイズとその後の走査変換操作中に適用される任意の
重み付けの関数として決定される。
るか、または、させられるべき境界または文字の輪郭が調整されるべき境界とし
て扱う。
て、文字の正確な表示を最適化することを目的とするように、グリッド内で、た
とえば、ピクセルまたはピクセルサブコンポーネント境界に沿って、または、そ
の中で、文字のスケーリングされた表現をアラインメントすることを含む。多く
の場合、これは、文字の軸(stem)の左端を左側ピクセルまたはサブピクセ
ルコンポーネント境界に揃えること、および文字のベースの底部をピクセルコン
ポーネントまたはサブコンポーネント境界に沿って揃えることを含む。
を持つように調整された幹を持つ文字は、通常、赤の左端を持つように調整され
た軸を持つ文字より、はっきりと判読できる傾向にある。そのため、少なくとも
いくつかの実施形態では、垂直ストライピングを持つスクリーン上に表示される
文字のヒンティング中は、ヒンティング工程の一部として、軸に対して、赤の左
端よりも青または緑の左端が有利である。
うに調整された文字は、通常、緑の底端を持つように調整されたベースを持つ文
字より、はっきりと判読できる傾向にある。そのため、少なくともいくつかの実
施形態では、水平ストライピングを持つスクリーン上に表示される文字のヒンテ
ィング中は、ヒンティング工程の一部として、緑の底端よりも赤または青の底端
が有利である。
適用を示す。ヒンティング工程の一部として、スケーリングされたイメージ11
08は、グリッド1104上に配置され、グリッド形状によりよく一致し、所望
の程度の文字間隔を得るために、その位置および輪郭が調整される。図12の文
字(letter)G.P.は、グリッド配置ステップを示し、ヒンティングと
いう言葉は、ヒンティング工程の輪郭調整および文字間隔設置部を示すのに使用
される。
、以下で説明する走査変換サブルーチン812を実行することにより、走査変換
操作が実施されるステップ914へ操作が進む。いくつかの実施形態において、
走査変換操作は、以下で説明するように、加重走査変換操作である。
への変換を含む。通常の走査変換操作は、スケーリングされたイメージの対応す
る部分がマッピングされる個々のユニットとしてピクセルを扱う。そのため、通
常の走査変換操作の場合、スケーリングされたイメージの一部がマッピングされ
る、ピクセルエレメントのRGBピクセルサブコンポーネントの各々とともに使
用される光度値を決定するために、イメージの同じ部分が使用される。図3は、
ビットマップとして表されるイメージのサンプリングおよびサンプリングされた
値からの光度値の生成を含む公知の走査変換工程の典型例である。
光度エレメントとして扱われる。したがって、各ピクセルサブコンポーネントは
、スケーリングされたイメージの異なる部分がマッピングされる個別の光度コン
ポーネントとして扱われる。したがって、本発明により、スケーリングされたイ
メージの異なる部分が、公知の走査変換手法で可能であるより高い解像度を提供
する、異なるピクセルサブコンポーネントにマッピングされることができる。す
なわち、種々の実施形態において、スケーリングされたイメージの異なる部分が
、各ピクセルサブコンポーネントとともに使用される光度値を独立に決定するた
めに使用される。
。本図に示す実施形態において、グリッド620によって表されるイメージの異
なるイメージサンプル622、623、624は、生成されるビットマップイメ
ージ630の対応する部分632、633、634と関連する赤、緑および青の
輝度値を生成するために使用される。図6の例において、赤および青のイメージ
サンプルは、緑のサンプルから、各々、−1/3と+1/3のピクセル幅だけ遠
くへ変位している。したがって、図3に説明する公知のサンプリング/イメージ
表現方法に関して発生する変位の問題が避けられる。
(luminance intensity)値が各ピクセルサブコンポーネン
トに対して生成される。これらは、個別の、赤、緑および青の光度レベルの形式
で表現されてもよい。重み付けのない走査変換操作において、R、G、B輝度レ
ベルは、通常、0または1である。重み付け走査変換操作において、R、Gおよ
びBのピクセルサブコンポーネントの1つまたは複数に対して、通常、2より大
きい輝度レベルが提供される。
プレイデバイス547に対してピクセルサブコンポーネント光度値を特定するの
に使用される数に対応するビット数を持つ、3つの個別の量として、R、Gおよ
びBの光度値が特定され、ストアされ、そして処理される。たとえば、多くのシ
ステムは、個別のR、GおよびBの光度値を表すために、8ビット量を使用する
。そうした実施形態の結果として、R、G、Bの光度値の処理は、1ピクセル当
たり24ビットのストア、処理および転送を必要とする。
ば、ポータブルコンピュータおよびハンドヘルドコンピューティングデバイスの
場合、全レンダリング工程を通して各R、G、Bの光度値を表すための8ビット
の使用は、利用できる資源に対してかなりの負荷を与えることになる。
リを含む資源を減らすために、個別のR、GおよびBの光度値が、変換、たとえ
ば、単一の数に圧縮される。本明細書では、ピクセルに関する、R、GおよびB
の光度値の単一値へのパッキングを表すため、この数をパックされたピクセル値
と呼ぶ。ピクセルのR、G、Bの光度レベルを表すのに使用される数の範囲、た
とえば、パックされたピクセル値の範囲は、各々の可能なR、G、Bの光度レベ
ルの組み合わせが、一意に特定されることができるように、十分に大きく選択さ
れる。
ックされたピクセル値の全数は、少なくとも、提供される赤の輝度レベルの全数
に、提供される緑の輝度レベルの全数を乗じ、さらに、提供される青の輝度レベ
ルの全数を乗じた値と同じ大きさであるべきである。
、すなわち8ビット量で考えるのが都合がよいため、提供されるR、G、Bの輝
度レベルの組み合わせの全数は、8ビット量またはその倍数として特定されるこ
とができるのが望ましい。ハンドヘルドコンピューティングデバイスにおいては
、3つのR、G、Bの光度値の1ピクセル当たり8ビットの単一表現が特に望ま
しい。これは、全部で1ピクセル当たり24ビットを必要とする1ピクセル当た
り8ビットのサブコンポーネント光度値を使用する実施形態に比べ、メモリなど
の観点から、かなり節約になるためである。
資源の負荷を制限するために、本発明の1特徴は、ピクセルに関連する個別のR
、GおよびBの光度値をパックされたピクセル値に変換することに向けられてい
る。このような実施形態において、グリフは、たとえば、3つの個別の8ビット
R、GおよびBの光度値に対抗するものとして、パックされたピクセル値を用い
て、表され、ストアされる。処理は、光度値がディスプレイアダプタ548に供
給される前に、パックされたピクセル値がディスプレイデバイス547により使
用される形式の個別のR、GおよびBのルミナンス(luminance)値に
変形または変換されることにより、パックされたピクセル値表現上で実施されて
もよい。本発明によれば、個別のR、GおよびBの光度レベルをパックされたピ
クセル値に変換する工程は、走査変換操作の一部として実施されてもよい。
、一実施形態において、ピクセルに関連する個別のR、G、Bの光度レベルとパ
ックされたピクセル値の間で変換するのに使用される。
れたピクセル値エントリ1502、1504、1506を含む。Nは、ピクセル
エレメントに割り当てることができる、可能なR、GおよびB光度レベルの組合
わせの全数である。各々のパックされたピクセル値エントリ1502、1504
、1506に関連するのは、各々、対応するR、GおよびBの光度レベルの組み
合わせ1501、1503、1505である。Rの光度値は、0からRP−1へ
変わる。ここで、RPは赤の光度レベルの最大可能数である。Gの光度値は、0
からGP−1へ変わる。ここで、GPは緑の光度レベルの最大可能数である。B
の光度値は、0からBP−1へ変わる。ここで、BPは青の光度レベルの最大可
能数である。
換は、ルックアップテーブル1500への索引として、ピクセルエレメントに関
連するR、GおよびBの光度レベルを用いることにより実施されることができる
。たとえば、R、GおよびBの光度レベル1、0、0を用いて、テーブル150
0への索引としてのエントリ1501は、出力される値1を持つ、関連するパッ
クされたピクセル値エントリ1502をもたらす。同様に、パックされたピクセ
ル値は、テーブル1500への索引としてパックされたピクセル値を用い、パッ
クされたピクセル値に関連するR、GおよびBの光度レベルエントリを出力する
ことにより、テーブル1500を用いて、R、G、Bの光度値に変換されてもよ
い。
ベル値とパックされたピクセル値の間の関係を表現し、関数を用いて、パックさ
れたピクセル値とR、G、Bの光度レベル値の間を変換することが可能である。
一実施形態において、このような関数は、ソフトウェアで実現され、R、G、B
の光度レベル値とパックされたピクセル値の間を変換するために実行される。
れている、典型的な一実施形態において、6の赤の光度レベル、たとえば、レベ
ル0〜5が使用され、10の緑の光度レベル、たとえば、レベル0〜9が使用さ
れ、3の青の光度レベル、たとえば、レベル0〜2が使用される。これにより、
全部で(6×10×3)180の可能なR、GおよびBの光度レベルの組み合わ
せが得られる。このような実施形態において、Nは180に等しく、ルックアッ
プテーブル1500は、パックされたピクセル値0〜179を含むであろう。こ
のような実施形態に対して、R、G、Bの光度レベルとパックされたピクセル値
の間を変換する適当な方程式は、 パックされたピクセル値=(R×30)+(G×3)+B である。ここで、R、GおよびBは、ピクセルサブコンポーネント輝度レベル
値である。
GおよびBの光度レベルを決定するために使用されるセグメントの数の関数であ
ることに留意されたい。また、180の可能なR、G、Bの光度レベルの組み合
わせが提供される典型的な実施形態において、パックされたピクセル値0〜17
9の各々は、8ビット量を用いて表されることに留意されたい。これは、個別の
8ビット値が使用され、R、G、Bの組み合わせについて、全部で24ビットを
使用する実施形態に比べて、ストレージ要求の観点からかなりの節約を表す。
。ルーチン812は、これがロードされ、たとえば、CPU521により実行さ
れたときに、ステップ850で始まる。操作は、ステップ850から、ルーチン
812が走査変換操作が実施されるはずのスケーリングされたイメージデータ8
52を受け取るステップ854へ進む。スケーリングされたイメージデータは、
通常、複数のピクセルに関連するイメージデータを含む。各ピクセルに対応する
スケーリングされたイメージデータは、光度レベル決定ステップ856、858
および860により、個別に処理される。これらのステップ856、858およ
び860は、並列に実施されるように示されているが、これらは、順次に実施さ
れてもよい。
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の赤のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の緑のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の青のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
るピクセルエレメントのR、G、Bピクセルサブコンポーネントに対するR、G
およびBの光度レベル値のセットを生成する。
はステップ862へ進む。ステップ862にて、R、G、Bの光度値のセットは
、たとえば、テーブル1500のようなルックアップテーブルまたはR、G、B
の値のセットとパックされたピクセル値の間を変換する関数を用いて、パックさ
れたピクセル値に変換される。
トが処理されたかについて、判断される。スケーリングされたイメージセグメン
トに対応するデータが処理されるために残っているとき、次のピクセルセグメン
トに対応するスケーリングされたイメージデータが処理されるように、操作が再
びステップ856、858、860へ進む。
トが処理されたとき、操作はステップ864へ進む。ステップ864にて、グリ
フを表す、生成され、パックされたピクセル値は、グリフキャッシュ809およ
び/またはディスプレイドライバ830へ出力される。ステップ864における
パックされたピクセル値の出力後、走査変換サブルーチン812は、サブルーチ
ン812の再実行まで、ステップ866にて停止する。
、ヒンティングされたイメージ1018上で実施される加重走査変換操作を説明
する。イメージセグメントが「オン」か「オフ」かを判定するのに多くの公知の
方法がある。
プイメージにおいて「オフされ」ているピクセルサブコンポーネントを示すのに
使用される。「オン」されているピクセルサブコンポーネントは、点描法を用い
て示されている。点描法が密であるほど、点を付けたピクセルサブコンポーネン
トの光度が低い。
ないか、または、最小の可能な光度で光を出力するように、ピクセルサブコンポ
ーネントに関連する輝度値が制御されることを意味する。白い背景ピクセルを仮
定すると、「オン」していないサブコンポーネントは、全ての光出力を出力させ
られるであろう輝度値が割り当てられるであろう。全部「オン」および全部「オ
フ」の間のグラデーションは、イメージが、ピクセルサブコンポーネントについ
て複数のセグメントを持つグリッド上に配置されるときに可能である。この場合
、所定のサブコンポーネントに対して「オン」であるべきセグメントの数のカウ
ントが決定される。「オン」であるイメージセグメントの数は、光度レベル値で
ある。このような値は、対応するピクセルサブコンポーネントに対して使用され
る光度を示す。ピクセルサブコンポーネントを表すMセグメントの使用により、
M+1の光度レベル、すなわち、0個の「オン」のセグメントからM個の「オン
」のセグメントに対応するレベルを提供する。
グ中に「オン」と考えられるべきかを判定する第1の手法は、スケーリンググリ
ッドの一部により表される、ピクセルサブコンポーネントにマッピングされるス
ケーリングされたイメージセグメントが、表示されるべきイメージのスケーリン
グされた表現の中にあるかを判定することである。別の手法は、ピクセルサブコ
ンポーネントにマッピングされるスケーリングされたイメージセグメントの50
%またはそれ以上が、表示されるイメージにより占有されているかを判定するこ
とである。占有されている場合、イメージセグメントは、「オン」されていると
考えられる。
域が、特定のピクセルサブコンポーネントが「オン」、「オフ」またはその間の
値になるべきかを判定するのに使用される。
知覚する。赤、緑および青のピクセルサブコンポーネントが最大の光度出力に設
定されることから得られる、白ピクセルの知覚されるルミナンスに対して、緑は
約60%、赤は約30%および青は約10%寄与する。この理由で、多くの実施
形態において、資源、たとえば、光度レベルを割り当てるとき、より多くの輝度
レベルがしばしば青または赤よりも緑に割り当てられる。さらに、より多くの輝
度レベルがしばしば青よりも赤に割り当てられる。しかし、いくつかの実施形態
においては、等しい数の輝度レベルが赤、緑および青ピクセルサブコンポーネン
トに対して割り当てられる。
の結果として、16イメージセグメントが各ピクセルエレメントに対応する。し
たがって、図13において、ピクセルセグメントは16イメージセグメントを有
する。ピクセルエレメントに関連する16イメージセグメントからの、5が赤の
ピクセルサブコンポーネントに対応するとして割り当てられる。これらは、本明
細書において、赤のイメージセグメントと呼ばれる。16ピクセルセグメントの
うち9が緑のピクセルサブコンポーネントに割り当てられる。これらは、本明細
書において、緑のイメージセグメントと呼ばれる。16イメージセグメントから
の残りの2は、青のピクセルサブコンポーネントに割り当てられる。これらは、
本明細書において、青のイメージセグメントと呼ばれる。このセグメントの割り
当ては、赤6、緑10、青3のサブコンポーネント輝度レベルを提供する。
では、セグメントの同じ数、たとえば、2または3セグメントがピクセルサブコ
ンポーネントに対して割り当てられる。
なくとも50%があれば、「オン」と考えられる。図13に示した走査変換操作
により、本発明によれば、パックされたピクセル値のセットとしてストアされる
、ビットマップイメージ1203が得られる。ビットマップイメージカラムC1
〜C4の各ピクセルサブコンポーネントが16のイメージセグメントの異なるセ
ットからどのように決定されるかに留意されたい。また、個々のピクセルサブコ
ンポーネントの輝度が、個々の赤、緑および青のピクセルサブコンポーネントに
対応する「オン」のセグメントの数に依存して、どのように変化するかに留意さ
れたい。
目の行1400上における加重走査変換操作を実施した結果を説明する。図14
において、R、G、Bのピクセルサブコンポーネントの各々に対するR、G、B
のピクセルセグメントのカウントは、対応するピクセルサブコンポーネントのす
ぐ下の行1402に示される。値1402は、走査変換サブルーチン812のス
テップ856、858、880にて決定される。
,R4)に対応するセグメントを通らない。したがって、これらピクセルエレメ
ントに関連するセグメントのどれもが、「オン」でなく、R、GおよびBのサブ
コンポーネントセグメントのカウントの全てが、これら2つのピクセルに対して
ゼロであるため、(0,0,0)のR、GおよびB値が得られる。
対して走査変換ステップ856、858、880を実施することにより得られる
光度レベルは、イメージの輪郭内に0個の赤のピクセルサブコンポーネントセグ
メントがあり、イメージの輪郭内に少なくともその50%がある7個の緑のピク
セルサブコンポーネントセグメントがあり、そして、イメージの輪郭内に少なく
ともその50%がある2個の青のピクセルサブコンポーネントセグメントがある
ため、(0,7,2)である。
対して走査変換操作を実施することにより得られる光度レベルは、イメージの輪
郭内に少なくともその50%がある4個の赤のピクセルサブコンポーネントセグ
メントがあり、イメージの輪郭内に少なくとも50%がある、0個の緑のピクセ
ルサブコンポーネントセグメントがあり、そして、イメージの輪郭内に少なくと
も50%がある、0個の青のピクセルサブコンポーネントセグメントがあるため
、(4,0,0)である。
2)、(4,0,0)および(0,0,0)は、本発明によって、走査変換サブ
ルーチン862にて、各々、パックされたピクセル値0、23、120、0に変
換される。
てもよい。しかし、R、GおよびBのピクセルサブコンポーネント光度レベル値
をパックされたピクセル値に関連付ける方程式を用いることにより行われること
ができる。赤6、緑10および青3の光度レベルを提供するため、R、G、Bピ
クセルサブコンポーネント光度レベル値の180の可能な組み合わせが存在する
一実施形態において、R、G、Bの光度レベル値の各々のセットは、方程式 パックされたピクセル値=(R×30)+(G×3)+B を用いて、単一のパックされたピクセル値に変換される。ここで、R、Gおよび
Bは、ピクセルサブコンポーネント輝度レベル値である。
3,R4)、(C4,R4)に対して生成されたパックされたピクセル値を説明
する。
するため、ディスプレイドライバ830にキャッシュされ、出力される。ディス
プレイドライバはグリフを処理する。処理中に、グリフに含まれるパックされた
ピクセル値は、ディスプレイアダプタ548および/またはディスプレイデバイ
ス547により使用されるフォーマットを持つ、処理されたピクセル値を生成す
るのに使用される。ディスプレイドライバにより生成され、処理されたピクセル
値は、ストアされ、他の文字またはイメージと組み合わされて、ディスプレイ5
47上に表示される、複合イメージ、たとえば、文字列を形成するスクリーンフ
レームバッファ834にロードされる。ディスプレイが更新される必要があると
き、スクリーンフレームバッファ834は、ディスプレイアダプタ548に、そ
こにストアされた、処理されたピクセル値を出力する。ディスプレイアダプタは
、ディスプレイ547上にイメージを生成するためにこれらの値を使用する。
れる、処理されたピクセル値を生成するときに、ガンマ補正、カラー補償(カラ
ーフィルタリング)および/またはパレット選択を含む複数の処理操作を実施す
る。ディスプレイドライバ830により実施される操作は、種々の実施される操
作を列挙するブロック833により表されるような、一連の順次イメージ処理操
作として実装されてもよい。
、ルックアップテーブル832、832′、832″のセット831を含む。ル
ックアップテーブルは、エントリの配列を含み、各エントリは、ディスプレイド
ライバ処理操作のセット、たとえば、ガンマ補正、カラー補償および/またはパ
ックされたピクセル値に対するパレット選択を実施することから得られる、1つ
または複数の事前計算されたピクセル値を含む。上述したように、ルックアップ
テーブル832、832′、832″のピクセル値が、いくつかの処理操作の結
果であるため、これらは、しばしば、処理されたピクセル値と呼ばれる。処理さ
れたピクセル値の異なるセット832、832′、832″は、ディスプレイド
ライバ830により実施されるであろう処理操作の各々のセットのために含まれ
る。たとえば、異なるルックアップテーブルは、選択されるであろう各カラーパ
レットのために含まれる。したがって、1つのルックアップテーブルが、インタ
ーネットおよび選択されたインターネットカラーパレットを用いるアプリケーシ
ョンに対して使用され、他のテーブルが別のカラーパレットに依存するテキスト
アプリケーションに対して使用されるであろう。異なるルックアップテーブルは
、また、提供される、異なる処理されたピクセル値フォーマットのために含まれ
る。たとえば、1つのルックアップテーブルは、赤、緑および青のピクセルサブ
コンポーネント光度値の各々を特定する8ビットを使用して、処理されたピクセ
ル値の1セット当たり全部で24ビットを使用する、処理されたピクセル値を出
力することができるし、別のフォーマットは、処理されたピクセル値の1セット
当たりわずか16ビットを使用することができる。
スに対して使用される異なるガンマ補正値を備える。
セットを表すブロック831に引かれた矢印は、ルックアップテーブル832、
832′、832″のどの1つが、任意の時に、受け取られ、パックされたピク
セル値を処理されたピクセル値に変換するのに使用されるべきかを選択するとき
に、ガンマ補正、カラーパレット情報、前景/背景カラー情報およびピクセル値
フォーマット情報のようなディスプレイ情報を使用することを示す。
テーブル832は、本明細書では、処理されたピクセル値と呼ばれる、各々がR
、G、Bの光度値835のセットを含むNエントリの配列835を有する。カラ
ム33の左に配置されるカラム833は、各テーブルエントリ1701、170
3、1705の配列位置を示す。各々の可能な、パックされたピクセル値が異な
る配列位置を特定するときに解釈されることに留意されたい。したがって、各々
の可能なパックされたピクセル値1502、1504、1506に対して、テー
ブル832は、1つの対応するエントリ、すなわち、処理されたピクセル値17
01、1703、1705のセットを含む。図17の説明において、Nは、デバ
イスドライバ830により受け取られるであろう、可能なパックされたピクセル
値の全数を表すのに使用される。PR、PG、PBは、処理された赤、処理され
た緑および処理された青のピクセルサブコンポーネント光度値を表すのに使用さ
れる。下付き文字は、個々の処理されたピクセル値が対応する、処理されたピク
セル値のセットを示す。
テーブル2032を示す。本図に示すように、テーブル832は、各々がカラー
パレット値PVを含む、Nエントリの配列2035を有する。カラム2035の
左に配置されるカラム833は、テーブル2032を有するエントリ配列におけ
る、各テーブルエントリ2701、2703、2705の位置を示す。各々の可
能な、パックされたピクセル値は異なる配列位置を特定するときに解釈されるこ
とに留意されたい。この要領で、各々の可能な、パックされたピクセル値に対し
て、テーブル2032は、1つの対応するエントリ、すなわち、カラーパレット
値PV0からPVN−1の1つを含む。図20の説明において、Nは、デバイス
ドライバ830により受け取られることができる、可能な、パックされたピクセ
ル値の全数を表すのに使用される。
、また、テーブルエントリ1701、1703、1705、2001、2003
または2005の対応する1つを出力することにより、ガンマ補正、カラーフィ
ルタリングおよび/またはパレット選択操作を含むディスプレイデバイス処理は
、大量の処理資源を使用する必要を避けながら、簡単なルックアップテーブル操
作として迅速に実施される。
32″を生成するのに使用されるかもしれないディスプレイデバイスルックアッ
プテーブル生成ルーチン1600を示す。種々の実施形態において、ルーチン1
600は、ディスプレイドライバ830を使用する前に使用される。ルーチン1
600は、イメージレンダリングを実行するのに使用されるマシン520上で実
行される。別法において、ルーチン1600は、異なるマシン520上で実行さ
れ、そして、たとえば、オペレーティングシステムがインストールされるときに
、テーブルを使用するはずのマシンのメモリ522またはハードディスクドライ
ブ527にロードされる。
00の実行とともに、ステップ1602で始まる。操作は、ステップ1602の
スタートから、パックされたピクセル値が、許可された、パックされたピクセル
値のセット1605から得られるステップ1604へ進む。上述した例において
、パックされたピクセル値のセットは180の値を含むであろう。パックされた
ピクセル値が得られると、それは、ステップ1606にて、ディスプレイデバイ
スにより使用される実際のカラー空間に変換され、ガンマ補正が適用される。パ
ックされたピクセル値の実際のカラー空間への変換は、処理される、パックされ
たピクセル値の、たとえば、ルックアップテーブル1500を用いた対応するR
、G、Bの光度レベル値への変換および実際のカラー空間、たとえば256レベ
ルカラー空間における、R、G、Bレベル値の対応する値への変換を含む。
制限のセットとして提供されることができる、供給されたガンマ値情報1603
の関数として適用できる。異なるガンマ値は、異なるディスプレイデバイスに対
して特定される。ステップ1606の出力は、使用されるディスプレイデバイス
の実際のカラー空間におけるガンマ補正された赤、緑および青の光度値のセット
である。たとえば、0から255の値の範囲のR、GおよびBの光度値が指定さ
れてもよい。
り出力されたR、G、Bの光度値のセットに対して適用される。適用されるカラ
ーフィルタリングは、ピクセルサブコンポーネントを独立した光度源として扱う
ことにより生ずる、フィルタを使わなければぼかす(distracting)
カラー歪みを、減少させ、または、削除するよう設計される。カラーフィルタリ
ングは、また、前景/背景カラーが黒と白以外であるときに生成されるイメージ
に対して前景と背景のカラー選択を適用するのに使用される。したがって、前景
/背景カラー情報1607は、カラーフィルタリング操作1608中に利用され
る。
れたR、G、Bの光度値は、さらに、ステップ1610にて処理される。ステッ
プ1610にて、フィルタリングされたR、G、Bの光度値により生成されたカ
ラーは、ディスプレイデバイス547により提供されるカラーパレットと比較さ
れる。ステップ1610にて、フィルタリングステップ1608により出力され
たR、G、Bの光度値により生成されたピクセルカラーに最も近いパレットカラ
ーに対応するカラーパレット値が使用のために選択される。ディスプレイアダプ
タ548および/またはディスプレイデバイス547により使用されるフォーマ
ットで、パレット値が、処理されたピクセル値を表す。ステップ1612にて、
生成された、処理されたピクセル値は、ストアされたピクセル値を生成するのに
使用された、パックされたピクセル値に対応する、配列位置エントリで生成され
るディスプレイデバイスルックアップテーブルにストアされる。
した後、操作は、ステップ1614へ進む。ステップ1614にて、パックされ
たピクセル値のセット1605内の、全てのパックされたピクセル値が処理され
たかが判断される。未処理のパックされたピクセル値が残っているとき、操作は
ステップ1614から、次のパックされたピクセル値の処理が始まるステップ1
604へ進む。
の、全てのパックされたピクセル値が処理されたと判断されたとき、操作は、生
成されたディスプレイドライバルックアップテーブルがメモリ522および/ま
たはハードディスクドライブ527にストアされるステップ1616へ進む。
よって、操作、ルックアップテーブル生成ルーチン1600は、新たなルックア
ップテーブルを生成するために再実行されるまで、ステップ1618で停止する
。
カラーの組み合わせに対して各々生成される。多くの場合、表示されたテキスト
のある部分を目立たせるために、図18に示したように、前景および背景カラー
の間を切り換えるのが望ましい。図18において、第1と第2の矢印1801、
1802は、前景および背景カラーの間の切り換えを表す。
、ルックアップテーブル832、832′または832″がアクセスされる方法
を単純に変えることにより、変更できる。ルックアップテーブル832は、テキ
ストディスプレイにとって通常好ましいディスプレイフォーマットであるために
、通常、暗い前景と明るい背景とともに使用されるためにストアされる。
引くことにより、変換されたパックされたピクセル値P′が得られる。
て、 Pmax=179で、P′=179−Pである。
、変換されたパックされたピクセル値を用いることにより、明るい前景および暗
い背景に対応する、処理されたピクセル値のセットが得られる。
、単一のディスプレイドライバルックアップテーブル832がストアされること
を可能にする。ストアされたテーブルは、カラー対の第1のものが前景カラーと
して使用され、カラー対の第2のものが背景として使用されるであろうと仮定し
て、配置される。特定の前景および背景カラーに対応するパックされたピクセル
値を用いるとき、パックされたピクセル値をルックアップテーブルへの索引とし
て用いることにより、処理されたピクセル値のセットが得られる。
を用いるのが望ましいとき、まず、提供された、最も高いピクセル値の数からパ
ックされたピクセル値を差し引くことにより、変換され、パックされたピクセル
値が生成され、その変換され、パックされたピクセル値を用いることにより、ル
ックアップテーブル832がアクセスされる。
るため、本発明の一実施形態は、処理されたピクセル値の各々のセットに対応す
る2つのパックされたピクセル値を有するルックアップテーブル1900を利用
する。パックされたピクセル値の第1セット833は暗い前景/明るい背景の選
択に対応するが、パックされたピクセル値の第2セット1902は明るい前景/
暗い背景に対応する。所定のカラー対にとって望ましい前景/背景の選択に依存
して、パックされたピクセル値の第1または第2セット833、1902のいず
れかが、ルックアップテーブル1900への索引として使用される。
実施形態および議論された実施形態についての変形が当業者にとって明らかにな
るであろう。このような実施形態が、本発明から逸脱せず、本発明の範囲内にあ
ると考えられることが理解されるであろう。
す図である。
。
ことに含まれる公知のステップを示す図である。
図である。
イメージレンダリング装置を示す図である。
す図である。
る。
る。
ル値を示す図である。
ある。
の切り換えを示す図である。
テーブルを示す図である。
る。
Claims (25)
- 【請求項1】 イメージを表すデータを生成する方法であって、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
ックされたピクセル値のセットから選択されるステップと、 各々の受け取られパックされたピクセル値を処理して、変換されパックされた
ピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、ディスプレイデバイスのピク
セルエレメントを制御するために使用される赤、緑および青の光度値のセットに
パックされたピクセル値を相関させるルックアップテーブルにアクセスするステ
ップと を備えることを特徴とする方法。 - 【請求項2】 前記各々の受け取られパックされたピクセル値を処理するス
テップは、最も大きな数のパックされたピクセル値から前記パックされたピクセ
ル値を差し引き、それによって前記変換されたピクセル値を生成するステップを
含むことを特徴とする請求項1に記載の方法。 - 【請求項3】 各々のパックされたピクセル値および変換されたピクセル値
は8ビット値であることを特徴とする請求項2に記載の方法。 - 【請求項4】 各々の変換されパックされたピクセル値に対して、前記ルッ
クアップテーブルから得られた赤、緑および青のピクセルサブコンポーネント光
度値のセットを出力するステップを更に備えることを特徴とする請求項3に記載
の方法。 - 【請求項5】 前記ディスプレイデバイス上に前記イメージを表示するため
に前記赤、緑および青のピクセルサブコンポーネント光度値の出力されたセット
を用いるステップを更に備えることを特徴とする請求項4に記載の方法。 - 【請求項6】 イメージを表すデータを生成する方法であって、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
ックされたピクセル値のセットから選択されるステップと、 各々の受け取られパックされたピクセル値を処理して、変換されパックされた
ピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、カラーパレット値にパックさ
れたピクセル値を相関させるルックアップテーブルにアクセスするステップと を備えることを特徴とする方法。 - 【請求項7】 前記各々の受け取られパックされたピクセル値を処理するス
テップは、最も大きな数のパックされたピクセル値から前記パックされたピクセ
ル値を差し引き、それによって前記変換されたピクセル値を生成するステップを
含むことを特徴とする請求項6に記載の方法。 - 【請求項8】 各々のパックされたピクセル値および変換されたピクセル値
は8ビット値であることを特徴とする請求項7に記載の方法。 - 【請求項9】 カラーパレットを用いて、前記ルックアップテーブルアクセ
ス操作から生成された各々のカラーパレット値を赤、緑および青のピクセルサブ
コンポーネント光度値のセットに変換するステップを更に備えることを特徴とす
る請求項8に記載の方法。 - 【請求項10】 赤、緑および青のピクセルサブコンポーネント光度値の各
々のセットを用いて、ディスプレイデバイスの異なるピクセルエレメントのピク
セルサブコンポーネントを制御するステップを更に備えることを特徴とする請求
項9に記載の方法。 - 【請求項11】 イメージを表すデータを生成する方法を実行するコンピュ
ータ実行可能命令を備えるコンピュータ可読媒体であって、前記方法は、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
ックされたピクセル値のセットから選択されるステップと、 各々の受け取られ、パックされたピクセル値を処理して、変換されパックされ
たピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、カラーパレット値にパックさ
れたピクセル値を相関させるルックアップテーブルにアクセスするステップと を備えることを特徴とするコンピュータ可読媒体。 - 【請求項12】 イメージを表すピクセル値の第1セットを処理し、それに
対して選択された前景および背景カラーが適用されたイメージを表すデータの第
2セットを生成する方法であって、前記ピクセル値の第1セットのピクセル値は
N個の可能なピクセル値のセットから選択され、Nは整数であり、 メモリデバイスにルックアップテーブルをストアするステップであって、前記
ルックアップテーブルはNエントリの配列を含み、各エントリは少なくとも1つ
のピクセル値を含み、かつ前記N個の可能なピクセル値のセットの異なる1つに
対応するステップと、 前記ストアされたルックアップテーブルをアクセスして、ピクセル値の第1セ
ットの、各々のパックされたピクセル値に対して、1つのルックアップテーブル
エントリを得、それによって、イメージを表すテーブルエントリのセットを生成
するステップであって、前記ストアされたルックアップテーブルをアクセスする
ステップは、第2カラーが前景カラーとして使用されるときと第1カラーが前景
カラーとして使用されるときとでは異なった方法で実行されるステップと を備えることを特徴とする方法。 - 【請求項13】 前記N個の可能なピクセル値のセットにおけるN個のピク
セル値の1つずつは、可能なピクセルサブコンポーネント光度レベル値の異なる
セットに対応することを特徴とする請求項12に記載の方法。 - 【請求項14】 前記ストアされたルックアップテーブルをアクセスするス
テップは、 前記ピクセル値の第1セットの、各々のピクセル値を、前記ストアされたルッ
クアップテーブルへの索引として用いるステップと、 前記ピクセル値の第1セットの、各々のピクセル値により特定されたエントリ
位置に、前記ルックアップテーブルにストアされたテーブルエントリを出力して
、前記データの第2セットを生成するステップと を含むことを特徴とする請求項12に記載の方法。 - 【請求項15】 前記ストアされたルックアップテーブルをアクセスするス
テップは、 前記ピクセル値の第1セットの、各々のピクセル値から、ルックアップテーブ
ル索引値を生成するステップであって、該生成された索引値の少なくともいくつ
かは、そこから前記索引値が生成される対応するピクセル値と異なるステップと
、 前記データの第2セットを生成するために、各々の生成された索引値により特
定されたエントリ位置に、前記ルックアップテーブルにストアされたテーブルエ
ントリを出力するステップと を含むことを特徴とする請求項12に記載の方法。 - 【請求項16】 前記ストアされたルックアップテーブルをアクセスするス
テップは、 前記ピクセル値の第1セットの各々のピクセル値を、前記ストアされたルック
アップテーブルへの索引として用いるステップと、 前記ピクセル値の第1セットの各々のピクセル値により特定されたエントリ位
置に、前記ルックアップテーブルにストアされたテーブルエントリを出力して、
前記データの第2セットを生成するステップと を含むことを特徴とする請求項12に記載の方法。 - 【請求項17】 前記ストアされたルックアップテーブルをアクセスするス
テップは、 前記第1カラーが前景カラーとして使用され、前記第2カラーが背景カラーと
して使用される場合は、 前記ピクセル値の第1セットの各々のピクセル値からルックアップテーブル
索引値であって、当該索引値の少なくともいくつかが対応するピクセル値と異な
る索引値を生成し、 前記データの第2セットを生成するために、各々の生成された索引値により
特定された前記エントリ位置に、前記ルックアップテーブルにストアされた前記
テーブルエントリを出力するステップと、 前記第2カラーが前景カラーとして使用され、前記第1カラーが背景カラーと
して使用される場合は、 前記ピクセル値の第1セットの各々のピクセル値からルックアップテーブル
索引値であって、当該索引値の少なくともいくつかが対応するピクセル値と異な
る索引値を生成し、 前記データの第2セットを生成するために、各々の生成された索引値により
特定された前記エントリ位置に、前記ルックアップテーブルにストアされた前記
テーブルエントリを出力するステップと を含むことを特徴とする請求項12に記載の方法。 - 【請求項18】 前記第1カラーは暗いカラーで、前記第2カラーは前記第
1カラーより明るいカラーであることを特徴とする請求項17に記載の方法。 - 【請求項19】 前記第1カラーは黒で、前記第2カラーは白であることを
特徴とする請求項18に記載の方法。 - 【請求項20】 各々のテーブルエントリはカラーパレット値を表す単一の
ピクセル値を含むことを特徴とする請求項17に記載の方法。 - 【請求項21】 各々のテーブルエントリは赤、緑および青のピクセルサブ
コンポーネント光度値を表す3つのピクセル値のセットを含むことを特徴とする
請求項17に記載の方法。 - 【請求項22】 イメージを表すピクセル値の第1セットを処理して、それ
に対して適用された、選択された前景および背景カラーで前記イメージを表すデ
ータの第2セットを生成するコンピュータ実行可能命令であって、前記ピクセル
値の第1セットのピクセル値はN個の可能なピクセル値のセットから選択され、
Nは整数であるコンピュータ実行可能命令を備えるコンピュータ可読媒体であっ
て、前記処理は、 メモリデバイスにルックアップテーブルをストアするステップであって、前記
ルックアップテーブルはNエントリの配列を含み、各エントリは、少なくとも1
つのピクセル値を含み、かつ前記N個の可能なピクセル値のセットの異なる1つ
に対応するステップと、 前記ストアされたルックアップテーブルをアクセスして、前記ピクセル値の第
1セットの、各々のパックされたピクセル値に対して、1つのルックアップエン
トリを得、それによって前記イメージを表すテーブルエントリのセットを生成す
るステップであって、前記ストアされたルックアップテーブルをアクセスするス
テップは、第2カラーが前景カラーとして使用されるときと第1カラーが前景カ
ラーとして使用されるときとで異なった方法で実行されるステップと を含むことを特徴とするコンピュータ可読媒体。 - 【請求項23】 ピクセル値の入力セットにより表されるイメージを表示す
るシステムであって、 メモリデバイスと、 該メモリデバイスにストアされたルックアップテーブルであって、前記ルック
アップテーブルはNエントリの配列を含み、各エントリはピクセル値の第1セッ
トに含まれることができるN個の可能なピクセル値の異なる1つに対応し、各エ
ントリは少なくとも1つのピクセル値を含むステップと、 前記ピクセル値の第1セットの、各々のパックされたピクセル値に対して、1
つのルックアップテーブルエントリを得るために、前記ストアされたルックアッ
プテーブルをアクセスする手段であって、第1カラーが前景カラーとして使用さ
れるべきときに第1の方法で、第2カラーが前景カラーとして使用されるべきと
きに異なる方法で、前記ストアされたルックアップテーブルをアクセスする手段
と、 前記ルックアップテーブルから得られるエントリにより表されるイメージを表
示するディスプレイ装置と を備えることを特徴とするシステム。 - 【請求項24】 前記アクセスする手段は、 前記第1カラーが前景カラーとして使用されるべきときに前記ルックアップテ
ーブルへの索引値として前記ピクセル値の入力セットに含まれるピクセル値を用
いる手段と、 第2カラーが前景カラーとして使用されるべきときに、前記ルックアップテー
ブルをアクセスするために使用される索引値を生成するために、前記入力ピクセ
ル値に対して数学的操作を実行することにより、生成する手段と を含むことを特徴とする請求項23に記載のシステム。 - 【請求項25】 各テーブルエントリに含まれる前記ピクセル値はカラーパ
レット値であることを特徴とする請求項24に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/272,412 US6342896B1 (en) | 1999-03-19 | 1999-03-19 | Methods and apparatus for efficiently implementing and modifying foreground and background color selections |
US09/272,412 | 1999-03-19 | ||
PCT/US2000/006723 WO2000057363A1 (en) | 1999-03-19 | 2000-03-15 | Methods and apparatus for efficiently implementing and modifying foreground and background color selections |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003520980A true JP2003520980A (ja) | 2003-07-08 |
JP2003520980A5 JP2003520980A5 (ja) | 2007-05-24 |
JP4907768B2 JP4907768B2 (ja) | 2012-04-04 |
Family
ID=23039691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000607164A Expired - Fee Related JP4907768B2 (ja) | 1999-03-19 | 2000-03-15 | 前景および背景カラーの選択を効率的に実施し修正する方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6342896B1 (ja) |
EP (1) | EP1177530A4 (ja) |
JP (1) | JP4907768B2 (ja) |
AU (1) | AU3883900A (ja) |
WO (1) | WO2000057363A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126629A (ja) * | 2004-01-26 | 2004-04-22 | Sharp Corp | 文字表示装置、文字表示方法および記録媒体 |
JP2013536490A (ja) * | 2010-06-21 | 2013-09-19 | マイクロソフト コーポレーション | テキストレンダリングのためのルックアップテーブル |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6750875B1 (en) * | 1999-02-01 | 2004-06-15 | Microsoft Corporation | Compression of image data associated with two-dimensional arrays of pixel sub-components |
JP2000238338A (ja) * | 1999-02-23 | 2000-09-05 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP3969899B2 (ja) * | 1999-07-15 | 2007-09-05 | 富士フイルム株式会社 | 画像表示方法およびこれに用いる画像表示装置 |
US6762770B1 (en) * | 1999-10-29 | 2004-07-13 | Apple Computer, Inc. | Method and system for the representation of color and other attributes in bitmap fonts |
US7119760B2 (en) * | 2000-03-31 | 2006-10-10 | Kodak Graphic Communications Canada Company | Color image display accuracy using green-limited gamma estimate |
US20030091229A1 (en) * | 2000-03-31 | 2003-05-15 | Imation Corp. | Color image display accuracy using comparison of complex shapes to reference background |
KR20020008040A (ko) * | 2000-07-18 | 2002-01-29 | 마츠시타 덴끼 산교 가부시키가이샤 | 표시 장치, 표시 방법 및 표시 제어 프로그램을 기록한기록 매체 |
CN1179312C (zh) * | 2000-07-19 | 2004-12-08 | 松下电器产业株式会社 | 显示方法 |
JP4320117B2 (ja) * | 2000-11-22 | 2009-08-26 | 富士フイルム株式会社 | 画像表示方法および画像表示装置 |
JP3476784B2 (ja) | 2001-03-26 | 2003-12-10 | 松下電器産業株式会社 | 表示方法 |
JP3476787B2 (ja) * | 2001-04-20 | 2003-12-10 | 松下電器産業株式会社 | 表示装置及び表示方法 |
US7219309B2 (en) | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
WO2002089105A2 (en) | 2001-05-02 | 2002-11-07 | Bitstream, Inc. | Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images |
JP3719590B2 (ja) * | 2001-05-24 | 2005-11-24 | 松下電器産業株式会社 | 表示方法及び表示装置ならびに画像処理方法 |
JP5031954B2 (ja) * | 2001-07-25 | 2012-09-26 | パナソニック株式会社 | 表示装置、表示方法及び表示制御プログラムを記録した記録媒体 |
JP4407875B2 (ja) * | 2002-02-25 | 2010-02-03 | シャープ株式会社 | 文字表示装置および文字表示方法、その文字表示方法を制御するための制御プログラムおよびその制御プログラムが記録された記録媒体 |
JP2003302962A (ja) | 2002-04-08 | 2003-10-24 | Sharp Corp | 表示装置、文字・図形表示方法、文字・図形表示プログラムおよび可読記録媒体 |
US20050007327A1 (en) * | 2002-04-22 | 2005-01-13 | Cliff Elion | Color image display apparatus |
US7417641B1 (en) * | 2002-10-16 | 2008-08-26 | Rockwell Collins, Inc. | Aeronautical chart display apparatus and method |
KR100436715B1 (ko) | 2002-11-04 | 2004-06-22 | 삼성에스디아이 주식회사 | 영상의 재현성을 증진시키기 위한 영상 데이터의 고속처리 방법 |
US7236181B2 (en) * | 2003-08-03 | 2007-06-26 | Realtek Semiconductor Corp. | Apparatus for color conversion and method thereof |
US7286121B2 (en) * | 2003-12-23 | 2007-10-23 | Microsoft Corporation | Sub-component based rendering of objects having spatial frequency dominance parallel to the striping direction of the display |
US7418138B2 (en) * | 2004-12-15 | 2008-08-26 | Lexmark International, Inc. | Image processor for and method of performing tonal transformation on image data |
JP2007026074A (ja) * | 2005-07-15 | 2007-02-01 | Toshiba Corp | 部品情報表示装置、部品情報表示システム、部品情報表示プログラムおよび部品情報表示方法 |
JP5058462B2 (ja) * | 2005-07-28 | 2012-10-24 | 京セラ株式会社 | 表示装置及び表示制御方法 |
US8339411B2 (en) * | 2006-05-04 | 2012-12-25 | Microsoft Corporation | Assigning color values to pixels based on object structure |
US7609269B2 (en) | 2006-05-04 | 2009-10-27 | Microsoft Corporation | Assigning color values to pixels based on object structure |
MX2010001993A (es) | 2007-08-23 | 2010-03-11 | Intrexon Corp | Metodos y composiciones para diagnosticar una enfermedad. |
US8339663B2 (en) * | 2009-02-23 | 2012-12-25 | Sharp Laboratories Of America, Inc. | Encoding of non-indexed data for printing using indexed RGB |
KR101587606B1 (ko) * | 2009-09-07 | 2016-01-25 | 삼성디스플레이 주식회사 | 데이터 처리 장치, 이를 갖는 표시 시스템 및 데이터 처리 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5670986A (en) * | 1991-07-19 | 1997-09-23 | Apple Computer, Inc. | Graphics system for displaying images in gray-scale |
US5710577A (en) * | 1994-10-07 | 1998-01-20 | Lasermaster Corporation | Pixel description packet for a rendering device |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5153577A (en) * | 1986-04-28 | 1992-10-06 | Xerox Corporation | Mapping character color attributes into grey pixel patterns |
US4924413A (en) * | 1987-05-29 | 1990-05-08 | Hercules Computer Technology | Color conversion apparatus and method |
US5341153A (en) * | 1988-06-13 | 1994-08-23 | International Business Machines Corporation | Method of and apparatus for displaying a multicolor image |
US5543819A (en) | 1988-07-21 | 1996-08-06 | Proxima Corporation | High resolution display system and method of using same |
DE68921592T2 (de) | 1988-12-29 | 1995-10-19 | Sony Corp | Wiedergabevorrichtung. |
US5298915A (en) | 1989-04-10 | 1994-03-29 | Cirrus Logic, Inc. | System and method for producing a palette of many colors on a display screen having digitally-commanded pixels |
US5185602A (en) | 1989-04-10 | 1993-02-09 | Cirrus Logic, Inc. | Method and apparatus for producing perception of high quality grayscale shading on digitally commanded displays |
JPH0817086B2 (ja) | 1989-05-17 | 1996-02-21 | 三菱電機株式会社 | 表示装置 |
US5138303A (en) * | 1989-10-31 | 1992-08-11 | Microsoft Corporation | Method and apparatus for displaying color on a computer output device using dithering techniques |
JPH03201788A (ja) | 1989-12-28 | 1991-09-03 | Nippon Philips Kk | カラー表示装置 |
JP3071229B2 (ja) | 1990-04-09 | 2000-07-31 | 株式会社リコー | 図形処理装置 |
JP3579061B2 (ja) | 1992-08-31 | 2004-10-20 | 株式会社東芝 | 表示装置 |
US5349451A (en) * | 1992-10-29 | 1994-09-20 | Linotype-Hell Ag | Method and apparatus for processing color values |
JP3547015B2 (ja) * | 1993-01-07 | 2004-07-28 | ソニー株式会社 | 画像表示装置および画像表示装置の解像度改善方法 |
US5633654A (en) * | 1993-11-12 | 1997-05-27 | Intel Corporation | Computer-implemented process and computer system for raster displaying video data using foreground and background commands |
US5684510A (en) * | 1994-07-19 | 1997-11-04 | Microsoft Corporation | Method of font rendering employing grayscale processing of grid fitted fonts |
JP2726631B2 (ja) * | 1994-12-14 | 1998-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 液晶表示方法 |
JP2861890B2 (ja) * | 1995-09-28 | 1999-02-24 | 日本電気株式会社 | カラー画像表示装置 |
US5867169A (en) * | 1996-04-17 | 1999-02-02 | Pixar | Method and apparatus for manipulating color values in a computer graphics system |
US5847698A (en) | 1996-09-17 | 1998-12-08 | Dataventures, Inc. | Electronic book device |
US5949643A (en) | 1996-11-18 | 1999-09-07 | Batio; Jeffry | Portable computer having split keyboard and pivotal display screen halves |
US5796385A (en) * | 1997-01-28 | 1998-08-18 | Integrated Device Technology, Inc. | Luminance controlled color resolution reduction |
US5963175A (en) | 1998-08-22 | 1999-10-05 | Cyberstar, L.P. | One dimensional interleaved multi-beam antenna |
US6236390B1 (en) * | 1998-10-07 | 2001-05-22 | Microsoft Corporation | Methods and apparatus for positioning displayed characters |
AU3887600A (en) * | 1999-03-19 | 2000-10-23 | Microsoft Corporation | Methods and apparatus for generating and representing luminance intensity values |
AU3762800A (en) * | 1999-03-19 | 2000-10-09 | Microsoft Corporation | Methods and apparatus for representing multiple luminance intensity values as a single value |
US6226017B1 (en) * | 1999-07-30 | 2001-05-01 | Microsoft Corporation | Methods and apparatus for improving read/modify/write operations |
-
1999
- 1999-03-19 US US09/272,412 patent/US6342896B1/en not_active Expired - Lifetime
-
2000
- 2000-03-15 AU AU38839/00A patent/AU3883900A/en not_active Abandoned
- 2000-03-15 WO PCT/US2000/006723 patent/WO2000057363A1/en active Application Filing
- 2000-03-15 EP EP00917942A patent/EP1177530A4/en not_active Withdrawn
- 2000-03-15 JP JP2000607164A patent/JP4907768B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5670986A (en) * | 1991-07-19 | 1997-09-23 | Apple Computer, Inc. | Graphics system for displaying images in gray-scale |
US5710577A (en) * | 1994-10-07 | 1998-01-20 | Lasermaster Corporation | Pixel description packet for a rendering device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126629A (ja) * | 2004-01-26 | 2004-04-22 | Sharp Corp | 文字表示装置、文字表示方法および記録媒体 |
JP2013536490A (ja) * | 2010-06-21 | 2013-09-19 | マイクロソフト コーポレーション | テキストレンダリングのためのルックアップテーブル |
US9129441B2 (en) | 2010-06-21 | 2015-09-08 | Microsoft Technology Licensing, Llc | Lookup tables for text rendering |
Also Published As
Publication number | Publication date |
---|---|
US6342896B1 (en) | 2002-01-29 |
AU3883900A (en) | 2000-10-09 |
WO2000057363A1 (en) | 2000-09-28 |
EP1177530A4 (en) | 2007-10-03 |
EP1177530A1 (en) | 2002-02-06 |
JP4907768B2 (ja) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003520980A (ja) | 前景および背景カラーの選択を効率的に実施し修正する方法および装置 | |
JP4633263B2 (ja) | 表示文字の位置付け方法および装置 | |
JP4358472B2 (ja) | イメージデータの非対称スーパーサンプリングラスタ化のための方法およびシステム | |
EP1125271B1 (en) | Mapping samples of foreground/background color image data to pixel sub-components | |
JP4818513B2 (ja) | 左サイドベアリング情報を有するサブピクセルデータにアクセスするための方法、装置、およびデータ構造 | |
US6339426B1 (en) | Methods, apparatus and data structures for overscaling or oversampling character feature information in a system for rendering text on horizontally striped displays | |
EP1163657B1 (en) | Weighted mapping of image data samples to pixel sub-components on a display device | |
JP2002543473A (ja) | テキストをレンダリングするためのシステムにおいて一貫したベースライン位置を維持するための方法、装置、およびデータ構造 | |
US7528814B2 (en) | Method and device providing enhanced characters | |
WO2000067247A1 (en) | Methods, apparatus and data structures for determining glyph metrics for rendering text on horizontally striped displays | |
JP2002536678A (ja) | ピクセル・サブコンポーネントの2次元アレイに関連したイメージ・データの圧縮 | |
US5854633A (en) | Method of and system for dynamically adjusting color rendering | |
WO2000060479A1 (en) | Methods and apparatus for generating and representing luminance intensity values | |
WO2000057364A1 (en) | Methods and apparatus for representing multiple luminance intensity values as a single value | |
EP0413483B1 (en) | A display system | |
CN1254480A (zh) | 用于动态控制显示监视器上目标亮度的装置和方法 | |
WO2002001546A1 (en) | Data structures for overscaling or oversampling character in a system for rendering text on horizontally striped displays | |
JP2003255881A (ja) | カラーディスプレイ用のサブピクセルを再マッピングする方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070314 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070314 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110826 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |