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
Application number
JP2000607164A
Other languages
English (en)
Other versions
JP2003520980A5 (ja
JP4907768B2 (ja
Inventor
ティー.シェッター マーティン
シー.ヒッチコック グレゴリー
ドレスビック ボーデン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003520980A publication Critical patent/JP2003520980A/ja
Publication of JP2003520980A5 publication Critical patent/JP2003520980A5/ja
Application granted granted Critical
Publication of JP4907768B2 publication Critical patent/JP4907768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering

Abstract

(57)【要約】 LCDディスプレイのピクセルエレメントを形成するピクセルサブコンポーネントを用いる方法および装置。加重走査変換(図8、エレメント812)の一部として生成されるR、GおよびBの光度値は、8ビット値(図8、エレメント804)にパックされる。もう1つの特徴によれば、ルックアップテーブル(図8、エレメント831)は、パックされたピクセル値のセット(図8、エレメント807)を用いて表されたグリフをディスプレイ(図8、エレメント547)により、R、GおよびBピクセル値へ変換するのに使用される。処理されたピクセル値は、パックされたピクセル値(図8、エレメント807)を用いて、アンパック、ガンマ補正、カラーフィルタリングおよびカラーパレット選択操作(図8、エレメント833)を実施した結果を表す。1つのルックアップテーブル(図8、エレメント832、832′、832″)が、カラーパレット選択、ガンマ補正およびピクセルフォーマット変換の各々の異なる組み合わせのためにストアされる。明るい前/暗い背景の間の切り換えが本発明により達成される。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、イメージを表示する方法および装置に関し、より詳細には、出力装
置、たとえば液晶ディスプレイの複数の変位した部分を利用して、イメージの単
一ピクセルを表す表示方法および装置に関する。
【0002】 (発明の背景) カラーディスプレイデバイスは、ほとんどのコンピュータユーザにとって選り
すぐりの最も重要なディスプレイデバイスとなっている。モニタ上のカラーの表
示は、通常、人間の目によって知覚される1つまたは複数のカラーが得られる光
、たとえば、赤、緑および青のカラーの組み合わせを発する、ディスプレイデバ
イスを駆動することによって行われる。
【0003】 陰極線管(CRT)ディスプレイデバイスにおいて、光の異なるカラーは、C
RTスクリーン上に連続したドットとして塗布される蛍光体被覆を使用すること
により生成される。通常、異なる蛍光体被覆が、3つのカラー、すなわち、赤、
緑および青の各々を生成するのに使用される。被覆によって、電子ビームにより
励起されたときに、カラー、すなわち、赤、緑および青を生成する蛍光体ドット
の繰り返し配列が得られる。
【0004】 ピクセルという用語は、通常、たとえば、何千というそうしたスポットの矩形
グリッド内の1つのスポットを呼ぶのに使われる。スポットは、ディスプレイデ
バイス上にイメージを形成するために、コンピュータにより個々に使用される。
赤、緑および青から成る蛍光体ドットの単一の3つ組みがアドレシングできない
カラーCRTにおいて、最も小さく可能なピクセルサイズは、蛍光体を励起する
のに使用される電子銃の焦点、アラインメントおよび帯域に依存する。CRTデ
ィスプレイにとって公知の、種々の配置において、赤、緑および青から成る蛍光
体ドットの1つまたは複数の3つ組みから発した光は、混ざり合う傾向があり、
離れた場所では単一のカラー光源に見える。
【0005】 カラーディスプレイにおいて、加法の原色、赤、緑および青に対応して発した
光の強度は、ほとんどどんなカラーピクセルにも見えるように変えることができ
る。色を加えない、すなわち、光を発しないことにより、暗いピクセルが生成さ
れる。全ての3色を100%加えることにより、白いピクセルが得られる。
【0006】 ハンドヘルドデバイスおよびポータブルコンピュータを含むポータブルコンピ
ューティングデバイスは、CRTディスプレイと対抗するものとして、液晶ディ
スプレイ(LCD)または他のフラットパネルディスプレイデバイス102を使
用する傾向にある。これは、フラットパネルディスプレイが、CRTディスプレ
イに比べて小さくて、軽量である傾向にあるためである。さらに、フラットパネ
ルディスプレイは、匹敵する大きさのCRTディスプレイより電力消費が少ない
傾向にあることで、バッテリ駆動による使用に十分に適している。
【0007】 カラーLCDディスプレイは、表示されるイメージの各ピクセルを表すために
、以下、ピクセルサブコンポーネントまたはピクセルサブエレメントと呼ぶ、複
数の明確にアドレッシング可能なエレメントを使用するディスプレイデバイスの
典型である。普通、カラーLCDディスプレイの各ピクセルエレメントは、3つ
の非正方エレメント、すなわち、赤、緑および青(RGB)のピクセルサブコン
ポーネントを有する。したがって、RGBピクセルサブコンポーネントのセット
は、一緒になって単一のピクセルエレメントを作る。一般的に、公知のLCDデ
ィスプレイは、通常、ディスプレイに沿ってストライプを形成するために配置さ
れる一連のRGBピクセルサブコンポーネントを有する。RGBストライプは、
普通、ディスプレイの全長分1方向にのびている。得られるRGBストライプは
、時に「RGBストライピング」と呼ばれる。コンピュータ用途に使用される、
高いというよりは幅広の、普通のLCDモニタは、垂直方向にのびるRGBスト
ライプを持つ傾向にある。
【0008】 図1は、複数の行(R1〜R12)とカラム(C1〜C16)を有する公知の
LCDスクリーン200を説明している。各行/カラムの交差部は、1つのピク
セルエレメントを表す正方形を形成する。図2は、公知のディスプレイ200の
左上部を詳細に説明している。
【0009】 図2において、(R1,C4)ピクセルエレメントなどの各ピクセルエレメン
トが、どのように3つの異なったサブエレメントまたはサブコンポーネント、す
なわち、赤いサブコンポーネント206、緑のサブコンポーネント207および
青いサブコンポーネント208を有するかについて留意されたい。各々の公知の
ピクセルサブコンポーネント206、207、208は、ピクセルの幅の1/3
または約1/3であり、あるいは高さにおいては、ピクセルの高さに等しいか、
または、およそ等しい。したがって、組み合わされたときに、1/3の幅の3つ
のピクセルサブコンポーネント206、207、208は単一のピクセルエレメ
ントを形成する。
【0010】 図1に示したように、RGBピクセルサブコンポーネント206、207、2
08の1つの公知の構成は、ディスプレイ200の下で垂直カラーストライプで
あるように見えるものを形成する。そのため、図1および2で説明した公知の方
法での、1/3幅のカラーサブコンポーネント206、207、208の配置は
、「垂直ストライピング」と呼ばれることがある。
【0011】 伝統的に、ピクセルエレメントに対する各々のピクセルサブコンポーネントの
各々のセットは、単一のピクセルユニットとして取り扱われる。そのため、公知
のシステムにおいて、ピクセルエレメントの全てのピクセルサブコンポーネント
に対する光度(luminous intensity)値は、イメージの同じ
部分から生成される。たとえば、図3に示すようなグリッド220によって表さ
れるイメージを考える。図3において、各正方形は、単一ピクセルエレメント、
たとえば、グリッド230の対応する正方形の赤、緑および青のピクセルサブコ
ンポーネントによって表されるイメージ領域を表す。図3において、斜線を入れ
た円は、光度値が生成される、単一のイメージサンプルを表すのに使用される。
公知のシステムにおいて、イメージ220の単一のサンプル222が、どのよう
にして、赤、緑および青のピクセルサブコンポーネント232、233、234
の各々に対する光度値を生成するのに使用されるかに留意されたい。したがって
、公知のシステムにおいて、RGBピクセルサブコンポーネントは、表されるべ
きイメージの1つのサンプルに対応する1つのカラーピクセルを生成するために
、通常、グループとして使用される。
【0012】 個々のRGBサブコンポーネント輝度(intensity)は、広い範囲の
異なるカラーを提供するために変えられるが、限られた数のカラーだけは、実際
には、ディスプレイハードウェアおよび/またはソフトウェアによって提供され
る。提供されるカラーのセットは、普通、カラーパレットと呼ばれる。カラーパ
レットの各カラーは、R、GおよびBのピクセルサブコンポーネント光度値の異
なる組み合わせに対応している。コンピュータシステムは、複数のカラーパレッ
トを提供するかもしれないが、通常、ただ1つのパレットが、任意の時間に、表
示されるイメージを生成するために使用されてもよい。
【0013】 テキストレンダリングの場合、ユーザは、通常、使用されるべき前景および背
景カラーを選択する。通常、暗い前景と明るい背景カラーが、明るいカラーのフ
ィールド上に暗いテキストを生成するのに使用される。このような方法は、しば
しば白い背景の上で暗い傾向を持つ印刷されたテキストを真似ている。
【0014】 暗い前景と明るい背景に対する別法として、ユーザは明るい前景と暗い背景を
選択してもよい。このようなテキストオプションは、あまり普通ではないが、た
とえば、スクリーン上のテキストを強調するために時々使用される。
【0015】 テキストが、普通に行われるように、ピクセル分解能でレンダリングされる場
合、文字を表すために使用されるピクセルは、黒などの選択された前景カラーに
設定され、背景を表すのに使用されるピクセルは、白に設定される。上述したよ
うに、暗いピクセルを生成するために、暗いピクセルのR、GおよびBのピクセ
ルサブコンポーネントは、最小限の光度を出力するために設定される。白いピク
セルの場合、R、GおよびBのピクセルサブコンポーネントは、最大限の光度に
設定される。
【0016】 しばしば、ほとんどのビデオディスプレイデバイスの比較的低いディスプレイ
分解能のために、特に、10、12および14ポイントタイプの普通のテキスト
サイズでは、滑らかな文字形状を描写するのに、十分なピクセルが利用できない
【0017】 ポータブルコンピューティングデバイス、また、特に、ハンドヘルドコンピュ
ーティングデバイスは、電力消費問題および、多くの場合、デスクトップコンピ
ューティングデバイスではそれほど問題にならない、価格制約の問題に直面して
いる。
【0018】 上述したように、電力消費を最小限にする試みにおいて、電力制約のために、
しばしば、LCDディスプレイが使用されるようになった。電力への関心もまた
、しばしば、電力節約の特徴を持って設計されたCPUなどのプロセッサの使用
をもたらした。ポータブルコンピュータよりも多くのデスクトップPCがあるた
め、ほとんどのCPU製造業者は、ポータブルコンピュータ用の電力節約特徴を
持つCPUに対立するものとして、デスクトップコンピュータ用の高速CPUを
開発することに優先度を与える。このような理由で、ポータブルコンピューティ
ングデバイスのプロセッサは、処理電力の観点から、デスクトップ同等品より遅
れる傾向にある。
【0019】 ハンドヘルドコンピュータ、たとえば、パーソナルアシスタントデバイスの場
合、処理電力と装置に含まれるメモリ容量の両方の観点から、価格が制限要素に
なる傾向がある。
【0020】 このように、ポータブルおよびハンドヘルドコンピューティングデバイスは、
デスクトップパーソナルコンピュータのような他のイメージレンダリング環境に
おいて遭遇する多くのものと同じイメージレンダリング問題に直面する一方、ポ
ータブルコンピュータおよびハンドヘルド環境において、しばしばイメージレン
ダリング問題に対処するための少ない処理電力およびメモリが利用できる。
【0021】 上述の議論を考慮すると、テキストを含むイメージのレンダリングおよび表示
の改善された方法に対する要求があることは明らかである。処理およびメモリ資
源が限られているポータブルコンピュータおよびハンドヘルドコンピューティン
グデバイスにおいて、少なくともいくつかの新しい方法および装置が、テキスト
のレンダリングを提供することが望ましい。
【0022】 (発明の概要) 本発明は、イメージの単一ピクセルを表すために、LCDディスプレイのよう
な出力デバイスの複数の異なった部分を用いて、イメージを表示する方法および
装置に向けられている。
【0023】 本発明によれば、ピクセルエレメントの各ピクセルサブコンポーネントは、独
立した輝度源として扱われる。これによって、ストライプ配列されたディスプレ
イの場合、RGBストライピングの方向に垂直な方向に3倍まで分解能が増加す
る。
【0024】 イメージ、たとえば、テキスト文字のレンダリングは、本発明によれば、いく
つかのステップを含む。これらは、ラスタ化(rasterization)ス
テップ、オプションのグリフ(glyph)キャッシングステップおよび装置、
たとえば、ディスプレイドライバ処理ステップを含む。ラスタ化ステップは、ス
ケーリング、ヒンティングおよび走査変換ステップを含む。ラスタ化ステップは
、イメージ、たとえば、文字の白黒ビットマップ表示を含むグリフを生成する。
【0025】 本発明のオプションのキャッシングステップは、ラスタ化操作によって生じた
グリフをストアすることを含む。グリフがラスタ化操作により生成されると、グ
リフは、可能性のある将来の使用のために、グリフキャッシュに配置される。以
前にラスタ化され、キャッシュされたグリフに対応する文字が出力されるはずで
あれば、グリフがキャッシュから得られるため、ラスタ化操作を実行する必要を
避けることができる。
【0026】 本発明の一実施形態によれば、各ピクセルエレメントに関連した個別のR、G
およびB光度レベル値は、本明細書ではパックされたピクセル値と呼ばれる単一
値にパック(たとえば、圧縮)される。したがって、グリフをストアするのに要
求されるメモリ容量が、かなり減ぜられる。1つの典型的な実施形態において、
イメージの各ピクセルエレメントと関連してR、G、Bピクセルサブコンポーネ
ントの輝度値を表すために、単一の8ビットにパックされたピクセル値が使用さ
れる。これは、レンダリング処理を通して、R、G、Bのピクセルサブコンポー
ネント光度値の各々を表すために8ビットを使用するシステムに対して、メモリ
のかなりの節約を表している。
【0027】 表示の前に、ピクセル値が供給されるディスプレイアダプタおよび/またはデ
ィスプレイデバイスによって提供されているフォーマットで、対応するピクセル
値を生成するために、ラスタ化ステップからのグリフまたはグリフキャッシュが
処理される。ピクセル値は、ピクセルエレメントの光度を制御するために使用さ
れる値である。したがって、ピクセル値は、R、GまたはBの光度値であるか、
または、パレット化されたディスプレイシステムにおいては、ディスプレイデバ
イスによって使用される実際のR、G、Bの光度値を含むテーブル、たとえば、
カラーパレットに索引を付けるのに使用される数であってもよい。パレット化さ
れたディスプレイの実施形態において、ディスプレイデバイスまたはディスプレ
イアダプタは、個々のピクセルに関連するカラーパレット値を、ピクセルサブコ
ンポーネントのR、GおよびBの光度を制御するために使用される実際のR、G
およびBの光度値に変換する。
【0028】 ラスタ化操作は、走査変換操作、および、種々の実施形態においては、オプシ
ョンのスケーリングおよびヒンティング操作を含む。スケーリング操作の一部に
おいて、イメージ、たとえば、表示される文字を高解像度で表現することは、少
なくともRGBストライピングの方向に垂直な次元にスーパーサンプリングされ
ることである。スケーリングされたイメージのヒンティングの後に、走査変換操
作が行われる。本発明の1つの特徴によれば、走査変換操作は、加重走査変換操
作であり、ヒンティングされたイメージは、同じ大きさの部分、たとえば、セグ
メントに分割され、異なる数のセグメントがR、GおよびBの光度値を決定する
のに使用される。
【0029】 1つの特定の典型的な実施形態は、16倍のスーパーサンプリングを使用し、
その結果、各ピクセルエレメントに対応する16セグメントを持つスーパーサン
プリングされたイメージを生成する。特定の典型的な実施形態において、実行さ
れた加重走査変換操作は、赤のピクセルサブコンポーネント光度値を決定するの
に5イメージセグメントを、緑のピクセルサブコンポーネント光度値を決定する
のに9イメージセグメントを、そして、青のピクセルサブコンポーネント光度値
を決定するのに2イメージセグメントを使用した。
【0030】 加重走査変換操作の場合、ピクセルエレメントに対する、可能なR、Gおよび
Bの光度値の組み合わせの数Nは、可能なR値の数×可能なG値の数×可能なB
値の数に等しい。5、9、2スケーリングの場合、Nは、全部で(6×10×3
)180の可能な値に対応する。
【0031】 本発明によれば、走査変換操作の結果得られるR、GおよびBの光度値を、3
つの個別の値、たとえば、8ビットR値、8ビットG値および8ビットB値とし
て表すよりはむしろ、ピクセルエレメントに対応するR、GおよびBの光度値は
、ここでは、パックされたピクセル値と呼ばれる、単一の数として特定される。
パックされたピクセル値は、ピクセルエレメントが、R、GおよびBの光度値の
可能なセットのいずれに対応するかを示す。5、9、2の場合、8ビットにパッ
クされたピクセル値は、容易に、180の異なる、可能なR、GおよびBの光度
値を表すのに使用される。
【0032】 本発明により生成されたパックされたピクセル値により、個別のR、Gおよび
Bの光度値がストアされるときに必要になるであろうビット数よりずっと少ない
ビット数を用いて、文字グリフが表現されることが可能になる。本発明のパック
方法を用いてグリフを表現するのに使用されるデータ量の削減は、光度値をパッ
クしないシステムと比べると、グリフを転送するのに要求される帯域幅の量を減
ずる。本発明の小さなサイズのグリフは、また、グリフを表現するのにパックさ
れたピクセル値が使用されなかったときに可能であろうグリフよりも、多くのグ
リフが同じ容量のメモリにストアされることを可能にする利点を持つ。これら利
点は両方とも、メモリおよびバス帯域幅が比較的制限されるかもしれないハンド
ヘルドおよびポータブルコンピューティングデバイスの場合に特に重要である。
【0033】 グリフが表示されるとき、グリフを表すパックされたピクセル値のセットはデ
ィスプレイドライバに供給される。ディスプレイドライバは、表示されるべき、
イメージ、たとえば、文字を表すデータに対して、1つまたは複数のイメージ処
理操作を実行する役割を果たす。ディスプレイドライバは、グリフを表すのに使
用されるパックされたピクセル値を、イメージデータが出力されるディスプレイ
アダプタまたはディスプレイデバイスにより使用されるフォーマットを持つピク
セル値、たとえば、個別の8R、GおよびBの光度値またはカラーパレット値に
変換する。ディスプレイドライバは、また、ガンマ補正操作、カラー補償操作お
よび/または任意の時に使用する、制限されたカラーパレットからカラーを選択
することを含むカラーパレット選択操作を実行してもよい。
【0034】 ある実施形態においては、ディスプレイドライバにより実行される処理操作は
、順次的な処理操作として実装される。しかし、本発明の他の実施形態において
は、ディスプレイドライバにより実行される処理操作は、単一のルックアップテ
ーブル操作に結合される。
【0035】 この目的のために、1つまたは複数のルックアップテーブルが、ディスプレイ
ドライバの一部として用意される。各ルックアップテーブルは、ディスプレイア
ダプタまたはディスプレイドライバにより使用されるフォーマットを持つピクセ
ル値にパックされたピクセル値を変換するのに使用される、デバイスドライバ操
作または入力値の異なるセットに対応する。たとえば、1つのルックアップテー
ブルが、異なるガンマ値またはピクセル値フォーマット要求仕様を持つ、複数の
提供されたディスプレイデバイスの各々に用意されてもよい。さらに、個別のル
ックアップテーブルが、各々の提供されるカラーパレットに対して使用される。
たとえば、インターネットアプリケーションカラーパレットがディスプレイデバ
イスのアクティブなパレットであるときに、インターネットアプリケーションに
関連したカラーパレットを用いて生成された1つのルックアップテーブルが、パ
ックされたピクセル値を処理するのに使用される。ディスプレイデバイスおよび
/またはディスプレイアダプタが異なる動作カラーパレットを持つとき、異なる
ルックアップテーブルが使用される。
【0036】 各ルックアップテーブルは、各々の可能なパックされたピクセル値に対して1
つのエントリを含む。可能なパックされたピクセル値のセットにおいて、N番目
のエントリがN番目のパックされたピクセル値に対応するように、エントリがテ
ーブルに配置される。パレット化されたディスプレイシステムの場合、通常、各
テーブルエントリは、単一ピクセル値、すなわち、カラーパレット値である。パ
レット化されていないシステムでは、各エントリは、通常、ディスプレイアダプ
タおよび/またはディスプレイデバイスにより使用されるフォーマットのR、G
およびBのピクセルサブコンポーネント光度値のセットである。180の可能な
パックされたピクセル値の典型的な場合、ルックアップテーブルは180のエン
トリを含むであろう。そして、各エントリは180のパックされたピクセル値の
異なる1つに対応する。一実施形態において、各テーブルエントリは、出力ピク
セル値が対応する、パックされたピクセル値を入力として用いて、実装されたデ
ィスプレイドライバ処理操作を実行することにより、事前に計算される。
【0037】 本発明のディスプレイデバイスルックアップテーブルへの索引として、グリフ
に含まれるパックされたピクセル値を用いることにより、取り付けられたディス
プレイアダプタまたはディスプレイデバイスにより使用されるフォーマットで出
力ピクセル値のセットが得られる。ルックアップテーブル値は事前に計算される
、すなわち、ディスプレイドライバでの使用前に計算されるために、イメージレ
ンダリング中にガンマ補正、カラー補償および/またはパレット選択操作をリア
ルタイムで実行する必要が避けられる。
【0038】 本発明の種々の特徴は、以下で詳細に説明するが、上述した方法で使用される
ことができるデバイスドライバルックアップテーブルの生成に向けられる。
【0039】 本発明により、テキストのようなイメージのレンダリング時に使用するために
、前景および背景カラーを特定することができる。本発明によって、ディスプレ
イドライバを実装するのにピクセル値ルックアップテーブルが使用されるとき、
通常、前景および背景カラーとして、結合して使用されてもよいカラーの対を提
供するあるルックアップテーブルが備わる。本発明によれば、前景としてどのカ
ラーが使用されるか、および背景としてどのカラーが使用されるかが、ピクセル
値ルックアップテーブルがアクセスされる方法で決定される。このような一実施
形態において、使用されたカラー対に対応する、ピクセル値ルックアップテーブ
ルがアクセスされる順序を単純に逆にすることにより、前景および背景カラーが
交換される。
【0040】 本発明の方法および装置の、数多くの、さらなる特徴、実施形態および利点が
、以下の詳細な明細書で述べられる。
【0041】 (詳細な説明) 上述したように、本発明は、イメージの単一ピクセルを表すために、出力デバ
イスの複数の異なる部分、たとえば、液晶ディスプレイのR、G、Bピクセルサ
ブコンポーネントを利用できるディスプレイデバイス上で、イメージ、たとえば
、テキストおよび/またはグラフィックを表示する方法および装置に向けられる
【0042】 本発明の種々の方法は、ピクセルを有するRGBピクセルサブコンポーネント
のセットを単一光度ユニットとして扱う方法に対立するものとして、各ピクセル
サブコンポーネントを独立した光度源として用いる方法に向けられる。これによ
り、RGBの水平または垂直ストライピングを持つディスプレイデバイスが、他
の次元よりも3倍まで大きな実効分解能を、ストライピングに垂直な次元に持つ
ものとして扱われることを可能にする。本発明の種々な装置は、光度サブピクセ
ルコンポーネントを個々に制御する能力を利用するディスプレイデバイスおよび
制御装置に向けられる。
【0043】 図5および以下の説明は、本発明の少なくともいくつかの態様が実装されるか
もしれない、典型的な装置の、短く、一般的な説明を提供する。本発明の種々な
方法は、コンピュータ実行可能命令、たとえば、パーソナルコンピュータのよう
なコンピュータデバイスによって実行されるプログラムモジュールの一般的なコ
ンテキストにおいて、説明する。本発明の他の態様は、たとえば、ディスプレイ
デバイスコンポーネントおよびディスプレイスクリーンのような物理的なハード
ウェアによって説明する。
【0044】 本発明の方法は、特定の、説明したコンピュータデバイス以外の装置によって
成し遂げられてもよい。タスクを実行するか、または、特定の抽象データタイプ
を実装するプログラムモジュールは、ルーチン、プログラム、オブジェクト、コ
ンポーネント、データ構造(たとえばルックアップテーブルなど)を含んでもよ
い。さらに、当業者は、本発明の少なくともいくつかの態様が、ハンドヘルドデ
バイス、マルチプロセッサシステム、マルチプロセッサベースのまたはプログラ
ム可能なコンシューマエレクトロニクス、ネットワークコンピュータ、ミニコン
ピュータ、セットトップボックス、メインフレームコンピュータ、たとえば自動
車、航空、産業用途などにおいて使用されるディスプレイを含む他の構成で実施
されるであろうことを理解するであろう。本発明の少なくともいくつかの態様は
、また、タスクが通信ネットワークを通して結合されたリモート処理デバイスに
よって実行される、分散コンピューティング環境において実施されてもよい。分
散コンピューティング環境において、プログラムモジュールは、ローカルおよび
/またはリモートメモリストレージデバイスに配置されてもよい。
【0045】 図5を参照すると、本発明の少なくともいくつかの態様を実施する典型的な装
置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)などの他のタ
イプのストレージ媒体が、上記で紹介されたストレージデバイスの代わりに、ま
たは、それに加えて使用されてもよいことを、当業者は理解するであろう。
【0046】 たとえば、オペレーティングシステム535、1つまたは複数のアプリケーシ
ョンプログラム536、他のプログラムモジュール537、ディスプレイドライ
バ830および/またはプログラムデータ538のような、多数のプログラムモ
ジュールは、ハードディスク523、磁気ディスク529、(磁気)光学ディス
ク531、ROM524またはRAM525上にストアされてもよい。RAM5
25は、以下で述べるように、表示のためのイメージのレンダリング時に使用さ
れるデータのストアに使用されてもよい。ユーザは、たとえば、キーボード54
0およびポインティングデバイス542のような入力デバイスを通して、パーソ
ナルコンピュータ520に命令および情報を入力してもよい。マイクロフォン、
ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどの(
図示されない)他の入力デバイスもまた含まれてもよい。これらのものおよび他
の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタ
フェース546を通して処理ユニット521に接続される。しかし、入力デバイ
スは、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB
)のような他のインタフェースによって接続されてもよい。モニタ547または
他のタイプのディスプレイデバイスもまた、たとえば、ディスプレイアダプタ5
48のようなインタフェースを介してシステムバス523に接続されてもよい。
モニタ547に加えて、パーソナルコンピュータ520は、たとえば、スピーカ
およびプリンタのような(図示されない)他の周辺出力デバイスを含んでもよい
【0047】 パーソナルコンピュータ520は、リモートコンピュータ549のような1つ
または複数のリモートコンピュータに対して論理接続を定義するネットワーク環
境で動作してもよい。リモートコンピュータ549は、別のパーソナルコンピュ
ータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネット
ワークノードであってもよく、図5でメモリストレージデバイス550のみ示し
たが、パーソナルコンピュータ520に関して上述したエレメントの多くまたは
全てを含んでもよい。図5で説明する論理接続は、ローカルエリアネットワーク
(LAN)551およびワイドエリアネットワーク(WAN)552、すなわち
、イントラネットおよびインターネットを含む。
【0048】 LANで使用されるとき、パーソナルコンピュータ520は、ネットワークイ
ンタフェースアダプタ(またはNIC)553を通してLAN551に接続され
てもよい。インターネットのようなWANで使用されるとき、パーソナルコンピ
ュータ520は、ワイドエリアネットワーク552上で通信を確立するための、
モデム554または他の手段を含んでもよい。内部にあるかまたは外部にあるモ
デム554は、シリアルポートインタフェース546を介してシステムバス52
3に接続されてもよい。ネットワーク環境においては、パーソナルコンピュータ
520に関して説明したプログラムモジュールの少なくともいくつかは、リモー
トメモリストレージデバイスにストアされてもよい。示されたネットワーク接続
は、典型的な例であり、コンピュータ間の通信リンクを確立する他の手段が使用
されてもよい。
【0049】 図7は、本発明の一実施形態によって実施されたイメージレンダリング装置8
00を説明する。装置800は、本発明によってコンピュータシステムディスプ
レイ547上にテキストイメージをレンダリングするのに使用される、たとえば
、図5のコンピュータシステムのメモリに含まれる種々のルーチンを含む。
【0050】 本図に示すように、イメージレンダリング装置800は、グラフィックディス
プレイインタフェース(GDI)802、ディスプレイドライバ830およびス
クリーンバッファ834を含む。
【0051】 図8は、本発明のイメージレンダリング装置800のコンポーネントおよびそ
れらのオペレーティングシステム535に対する関係を詳細に説明する。図8は
、また、アプリケーション536が、GDI802に対するテキスト入力813
の源として、どのように役立つかを説明する。さらに、図8は、どのようにして
、スクリーンフレームバッファ834の生成された内容がディスプレイアダプタ
548および最後にディスプレイデバイス547に供給されるかを説明する。ス
クリーンフレームバッファ834によって出力された、処理されたピクセル値か
ら、ディスプレイアダプタ548により生成された信号を供給することにより、
レンダリングされたテキストイメージがディスプレイデバイス547上に表示さ
れる。
【0052】 図8に示すように、たとえば、ワードプロセッサアプリケーションであるかも
しれない、アプリケーションルーチン536は、テキスト出力サブコンポーネン
ト801に含まれる。テキスト出力サブコンポーネント801は、ディスプレイ
デバイス547上のレンダリングのために、オペレーティングシステム535に
対して、矢印813として表されるようなテキスト情報を出力する役割を果たす
【0053】 オペレーティングシステム535は、ディスプレイデバイス547上でテキス
トの表示を制御する役割を果たす種々のコンポーネントを含む。これらコンポー
ネントは、ディスプレイ情報815およびグラフィックディスプレイインタフェ
ース802を含む。上述したように、ディスプレイ情報815は、たとえば、レ
ンダリング中に適用されるスケーリングに関する情報を含む。ディスプレイ情報
815は、また、ガンマ補正情報、前景/背景カラー情報および/またはカラー
パレット情報のような、ディスプレイドライバ830によって使用される情報を
含む。
【0054】 グラフィックディスプレイインタフェース802は、テキスト同様グラフィッ
クを処理する回路および/またはルーチンを含む。これらは、図7に関して上述
のように動作する、グリフキャッシュ・コントローラ805、グリフキャッシュ
809およびタイプラスタ化器804を含む。
【0055】 グリフキャッシュ809は、複数のグリフ807、811、813、815を
ストアするために使用される。本発明によって、ストアされたグリフは、以下で
説明するように、パックされたピクセル値を用いて表された、たとえば、文字の
ビットマップイメージである。グリフは、パックされたピクセル値に加えて文字
間隔情報を含んでもよい。ストアされたグリフ807、811、813、815
は、同じ文字の異なるサイズの表現、異なるフォントを用いた同じ文字または異
なる文字の表現に対応してもよい。ストアされたグリフ807、811、813
、815は、ユーザのカラー前景/背景の選択がディスプレイドライバ830に
よって後で適用される、白黒の文字表現である。
【0056】 GDI802は、入力として、テキスト情報813を受け取る。テキスト情報
813は、たとえば、レンダリングされる1文字または複数文字、レンダリング
中に使用されるフォントおよび文字がレンダリングされるポイントのサイズを同
定する情報を含む。テキスト情報813は、グリフキャッシュ・コントローラ8
03に供給される。グリフキャッシュ・コントローラ803は、レンダリングさ
れる文字が既にグリフキャッシュ809にストアされているかを判断する。特定
のポイントサイズとフォントタイプを持つレンダリングされるべき文字が既にキ
ャッシュ809に存在するとき、グリフキャッシュ・コントローラ803は、グ
リフキャッシュ809を制御して、レンダリングされるべき文字に対応するグリ
フを出力する。
【0057】 レンダリングされるべき文字がグリフキャッシュ809にまだ存在しないとき
、本発明によって、タイプラスタ化器804が、パックされたビットマップ、た
とえば、グリフ807を生成するのに使用される。ラスタ化器804により生成
された各グリフは、グリフキャッシュ809にストアされ、さらなる処理のため
に、ディスプレイドライバ830へ出力される。
【0058】 タイプラスタ化器804は、入力されたテキスト情報からパックされたビット
マップ表現、たとえば、グリフを生成する役割を果たす。タイプラスタ化器80
4は、文字データ806およびレンダリングとラスタ化ルーチン807を含む。
【0059】 文字データ806は、1つまたは複数の文字セットの高解像度ディジタル表現
を提供する、たとえば、ベクトルグラフィックス、線、点および曲線を含んでも
よい。
【0060】 図3に示したように、高解像度ディジタル表現を生成するために、テキスト生
成中の使用のためにメモリへストアされることができる、データ806のような
テキスト文字302を処理することが公知である。そのため、データ806の生
成304およびストア306は、本発明では詳細には説明しない。
【0061】 レンダリングおよびラスタ化ルーチン807は、スケーリングサブルーチン8
08、ヒンティングサブルーチン810および走査変換サブルーチン812を含
む。スケーリング、ヒンティングおよび走査変換ルーチンおよびサブルーチンは
、スクリーンRGBピクセルサブコンポーネントを、レンダリングされるイメー
ジの異なる部分を表すのに使用されることができる個別の光度エンティティとし
て、考慮し、利用し、または、扱う。これらルーチン808、810および81
2は、図9に関して詳細に説明する。
【0062】 ディスプレイドライバ830は、図7の実施形態において、複数のイメージ処
理操作を実施するために使用される、事前に計算されたルックアップテーブル8
31のセットを含む。
【0063】 ディスプレイドライバ830は、入力グリフとして、たとえば、GDI802
により出力されたグリフ807およびディスプレイ情報815を受け取る。ディ
スプレイ情報815は、たとえば、前景/背景カラー情報、ガンマ値、カラーパ
レット情報およびピクセル値フォーマット情報を含む。ディスプレイ情報815
は、テーブルのセット831に含まれるルックアップテーブルの1つが、任意の
時に使用されるであろう、どれかを選択するのに使用される。
【0064】 テーブルのセット831のルックアップテーブルは、処理されるグリフを表す
のに使用されるパックされたピクセル値を、処理されたピクセル値に変換するの
に使用される。処理されたピクセル値は、ディスプレイアダプタ548および/
またはディスプレイデバイス547によって使用される形式である。たとえば、
処理されたピクセル値は、たとえば、8ビットR、GおよびBの光度値、または
、任意の使用できるビット数の光度値、または、たとえば、ディスプレイアダプ
タ548および/またはディスプレイデバイス547によって利用される任意の
ビット数を有することができるパレット索引値であってもよい。
【0065】 各ルックアップテーブルは、各々の可能性のあるパックされたピクセル値に対
して1つのエントリを含む。180の可能なパックされたピクセル値の典型的な
場合において、ルックアップテーブルは、ルックアップテーブルエントリを表す
N番目の配列要素が、N番目の可能性のあるパックされたピクセル値に対応する
ように配列された180のエントリの配列を有するであろう。パレット化された
ディスプレイ実施形態の場合、各テーブルエントリは、単一カラーパレット値を
有する。
【0066】 他の実施形態において、各エントリは、R、G、Bピクセルサブコンポーネン
ト光度値のセットを含む。各出力ピクセル値、すなわち、パレット値またはピク
セルサブコンポーネント光度値は、出力ピクセル値が、対応するパックされたピ
クセル値を入力として用いて、実装されたディスプレイドライバ処理操作を実行
することにより生成される、事前に計算された値である。
【0067】 図7は、エントリの配列835を有するルックアップテーブル832を示す。
1つのエントリ835が各々可能性のあるピクセル値に対し提供される。ブロッ
ク833は、テーブル832内の要素835の配列位置を表す。本発明によれば
、パックされたピクセル値として特定された配列位置に対応する配列エントリは
、パックされたピクセル値を入力として用いたルックアップ操作の実施に応答し
て出力される。そのため、パックされたピクセル値833をルックアップテーブ
ル832への索引として使用することにより、1つまたは複数のピクセル値を含
む適切なルックアップテーブルエントリが得られる。ディスプレイドライバルッ
クアップテーブル操作を通して生成されたピクセル値は、ディスプレイアダプタ
548に出力される前にスクリーンフレームバッファ834にストアされる。こ
れらピクセル値は、1つまたは複数の処理操作、たとえば、ガンマ補正、カラー
フィルタリングおよび/またはパレット選択操作の結果を表すため、処理された
ピクセル値と呼ばれる場合がある。
【0068】 ピクセル値をストアするためにスクリーンバッファ834を使用することによ
り、たとえば、テキストストリングの単一イメージがいくつかの異なる文字を表
すグリフから生成されることができる。
【0069】 グリフに含まれるパックされたピクセル値をルックアップテーブル832への
索引として使用することにより、カラーパレット値またはR、GおよびBのピク
セルサブコンポーネント光度値のいずれかを含む処理されたピクセル値のセット
が、取り付けられたディスプレイアダプタおよび/またはディスプレイデバイス
によって利用される形式で得られる。
【0070】 図7の実施形態において、ルックアップテーブル832に含まれる、処理され
たピクセル値は、事前に計算される。すなわち、ディスプレイドライバ830で
使用される前に計算される。処理されたピクセル値を事前に計算することにより
、ガンマ補正、カラー補償および/またはパレット選択操作をイメージレンダリ
ング中にリアルタイムで実施する必要が避けられる。
【0071】 図8において、破線のボックス833は、ディスプレイドライバ830を実現
するのに使用することができるピクセル値ルックアップテーブル法に対する別法
を提示する。ブロック833は、処理されたピクセル値を、ディスプレイアダプ
タ548および/またはディスプレイ547による使用に適したフォーマットで
生成するために、入力としてパックされたピクセル値を用いて実施されることが
できる、ガンマ補正、カラー補償および/またはパレット選択操作を表す。
【0072】 種々のパレット化ディスプレイ実施形態において、ディスプレイアダプタ54
8は、しばしばハードウェアで実現されるカラーパレットの使用を通して、ディ
スプレイドライバルックアップテーブル操作を介して得られたカラーパレット値
を実際のR、G、Bの光度値に変換する。
【0073】 本発明のスケーリング、ヒンティングおよび走査変換サブルーチン808、8
10、812の各々により実施される操作は、図9を参照して説明する。
【0074】 図9は、本発明によって、表示のためにテキストをレンダリングするのに使用
されるレンダリングおよびラスタ化ルーチン807を示す。本図に示すように、
ルーチン807は、このルーチンが、たとえばオペレーティングシステム535
の下で、アプリケーション536からのテキスト情報の受取りに応答して、実行
されるステップ902で始まる。ステップ904において、入力がテキストレン
ダリングおよびラスタ化ルーチン807により受け取られる。入力は、アプリケ
ーション536から得られるテキスト、フォントおよびポイントサイズ情報90
5を含む。さらに、入力は、ディスプレイ情報815を含む。ディスプレイ情報
815は、たとえば、スケーリング情報、前景/背景カラー情報、ガンマ値、ピ
クセルサイズ情報、カラーパレット情報および/またはディスプレイアダプタ/
ディスプレイデバイスピクセル値フォーマット情報を含む。ディスプレイ情報8
15は、オペレーティングシステム535によりメモリ522にストアされたモ
ニタ設定値から得られることとしてもよい。
【0075】 ステップ904にて受け取られた入力は、また、表示されるテキスト文字80
6の、たとえば、線、点および/または曲線の形での、高解像度表現を含む。
【0076】 ステップ904にて入力が受け取られると、操作は、スケーリングサブルーチ
ン808がオーバーサンプリングを含むスケーリング操作を実施するのに使用さ
れるステップ910に進む。本発明の1つの典型的な実施形態によれば、非正方
スケーリングが、各ピクセルエレメントに含まれるピクセルサブコンポーネント
の方向および/または数の関数として実施される。特に、高解像度文字データ8
06、たとえば、受け取られたテキストおよびフォント情報により特定されて表
示される、文字の線および点表現は、ストライピングの方向よりもストライピン
グに垂直な方向に、より大きな倍率でスケーリングされる。これによって、本発
明によって個々のピクセルサブコンポーネントを独立した光度源として使用する
ことにより達成することができる、より高い解像度を、その後のイメージ処理操
作が利用できる。
【0077】 したがって、データが表示されるデバイスとして図1で説明するタイプのディ
スプレイが使用されるとき、スケーリングは、垂直方向で実施されるよりも大き
な割合で水平方向に実施される。
【0078】 垂直および水平のイメージ方向の間のスケーリングの差は、使用されるディス
プレイおよび実施される、その後の走査変換およびヒンティング工程に依存して
変わることができる。ステップ904で得られるスケーリング情報を含むディス
プレイ情報は、所定の実施形態において実施されるスケーリングを決定するステ
ップ910にて使用される。
【0079】 ほとんどの場合、文字またはイメージのスケーリングは、その必要はないけれ
ども、赤、緑および青のストライプをさらに分割することによって、その後の加
重走査変換操作を提供できる割合で、ストライピングに垂直な方向に実施される
。加重走査変換操作が適用される場合、スケーリングは、使用されるRGBスト
ライピングおよび重み付けの関数として実施される。赤のピクセルコンポーネン
トが重み5を割り当てられ、緑のピクセルサブコンポーネントが重み9を割り当
てられ、そして、青のピクセルサブコンポーネントが重み2を割り当てられる、
垂直ストライピングを持つ一実施形態において、スケーリングは、y方向に1の
割合で、x方向に16の割合で実施される。
【0080】 図11は、図1に示したような、垂直ストライピングを持つモニタ上で文字(
letter)を表示することを見越して、文字i1002の高解像度表現で実
施されたスケーリング操作を示す。この例において、水平(X)方向のスケーリ
ングは×16の割合で適用されるが、垂直(Y)方向のスケーリングは×1の割
合で適用されていることに留意されたい。これによって、元の文字1002と高
さがちょうど同じだが、16倍幅の広いスケーリングされた文字1008が得ら
れる。
【0081】 再び図9を参照すると、スケーリング操作がステップ910で完了すると、操
作は、たとえば、ヒンティングサブルーチン810を実行することにより、スケ
ーリングされたイメージのヒンティングが実施されるステップ912へ進む。ヒ
ンティング工程を述べるために、グリッド・フィッティング(grid−fit
ting)、という言葉が使われることがある。
【0082】 ヒンティング操作は、図12に示されている。図12は、垂直ストライピング
を持つモニタ上に表示されることを目的とした、スケーリングされた文字100
8のヒンティング操作を示す。
【0083】 ヒンティングは、その後の走査変換操作の一部として使用される、スケーリン
グされた文字、たとえば、グリッド1104内の文字1008のアラインメント
を含む。ヒンティングは、また、イメージがよりよくグリッドの形状に一致する
ように、イメージの輪郭の歪曲を含む。グリッドは、ディスプレイデバイスのピ
クセルエレメントの物理的サイズとその後の走査変換操作中に適用される任意の
重み付けの関数として決定される。
【0084】 本発明は、ピクセルサブコンポーネント境界を、文字が調整されることができ
るか、または、させられるべき境界または文字の輪郭が調整されるべき境界とし
て扱う。
【0085】 本発明のヒンティング工程は、利用できるピクセルサブコンポーネントを用い
て、文字の正確な表示を最適化することを目的とするように、グリッド内で、た
とえば、ピクセルまたはピクセルサブコンポーネント境界に沿って、または、そ
の中で、文字のスケーリングされた表現をアラインメントすることを含む。多く
の場合、これは、文字の軸(stem)の左端を左側ピクセルまたはサブピクセ
ルコンポーネント境界に揃えること、および文字のベースの底部をピクセルコン
ポーネントまたはサブコンポーネント境界に沿って揃えることを含む。
【0086】 実験結果によれば、垂直ストライピングの場合、文字の軸が青または緑の左端
を持つように調整された幹を持つ文字は、通常、赤の左端を持つように調整され
た軸を持つ文字より、はっきりと判読できる傾向にある。そのため、少なくとも
いくつかの実施形態では、垂直ストライピングを持つスクリーン上に表示される
文字のヒンティング中は、ヒンティング工程の一部として、軸に対して、赤の左
端よりも青または緑の左端が有利である。
【0087】 水平ストライピングの場合、文字のベースの底部が赤または青の底端を持つよ
うに調整された文字は、通常、緑の底端を持つように調整されたベースを持つ文
字より、はっきりと判読できる傾向にある。そのため、少なくともいくつかの実
施形態では、水平ストライピングを持つスクリーン上に表示される文字のヒンテ
ィング中は、ヒンティング工程の一部として、緑の底端よりも赤または青の底端
が有利である。
【0088】 図12は、スケーリングされたイメージ1108に対するヒンティング操作の
適用を示す。ヒンティング工程の一部として、スケーリングされたイメージ11
08は、グリッド1104上に配置され、グリッド形状によりよく一致し、所望
の程度の文字間隔を得るために、その位置および輪郭が調整される。図12の文
字(letter)G.P.は、グリッド配置ステップを示し、ヒンティングと
いう言葉は、ヒンティング工程の輪郭調整および文字間隔設置部を示すのに使用
される。
【0089】 ヒンティング工程がステップ912で完了すると、本発明によって、たとえば
、以下で説明する走査変換サブルーチン812を実行することにより、走査変換
操作が実施されるステップ914へ操作が進む。いくつかの実施形態において、
走査変換操作は、以下で説明するように、加重走査変換操作である。
【0090】 走査変換は、文字を表すスケーリングされた幾何形状のビットマップイメージ
への変換を含む。通常の走査変換操作は、スケーリングされたイメージの対応す
る部分がマッピングされる個々のユニットとしてピクセルを扱う。そのため、通
常の走査変換操作の場合、スケーリングされたイメージの一部がマッピングされ
る、ピクセルエレメントのRGBピクセルサブコンポーネントの各々とともに使
用される光度値を決定するために、イメージの同じ部分が使用される。図3は、
ビットマップとして表されるイメージのサンプリングおよびサンプリングされた
値からの光度値の生成を含む公知の走査変換工程の典型例である。
【0091】 本発明によって、ピクセルのRGBピクセルサブコンポーネントは、独立した
光度エレメントとして扱われる。したがって、各ピクセルサブコンポーネントは
、スケーリングされたイメージの異なる部分がマッピングされる個別の光度コン
ポーネントとして扱われる。したがって、本発明により、スケーリングされたイ
メージの異なる部分が、公知の走査変換手法で可能であるより高い解像度を提供
する、異なるピクセルサブコンポーネントにマッピングされることができる。す
なわち、種々の実施形態において、スケーリングされたイメージの異なる部分が
、各ピクセルサブコンポーネントとともに使用される光度値を独立に決定するた
めに使用される。
【0092】 図6は、本発明の一実施形態によって実施される典型的な走査変換操作を示す
。本図に示す実施形態において、グリッド620によって表されるイメージの異
なるイメージサンプル622、623、624は、生成されるビットマップイメ
ージ630の対応する部分632、633、634と関連する赤、緑および青の
輝度値を生成するために使用される。図6の例において、赤および青のイメージ
サンプルは、緑のサンプルから、各々、−1/3と+1/3のピクセル幅だけ遠
くへ変位している。したがって、図3に説明する公知のサンプリング/イメージ
表現方法に関して発生する変位の問題が避けられる。
【0093】 走査変換操作の一部として、赤、緑および青(R、G、B)のルミナンス輝度
(luminance intensity)値が各ピクセルサブコンポーネン
トに対して生成される。これらは、個別の、赤、緑および青の光度レベルの形式
で表現されてもよい。重み付けのない走査変換操作において、R、G、B輝度レ
ベルは、通常、0または1である。重み付け走査変換操作において、R、Gおよ
びBのピクセルサブコンポーネントの1つまたは複数に対して、通常、2より大
きい輝度レベルが提供される。
【0094】 多くのシステムにおいて、ディスプレイアダプタ548および/またはディス
プレイデバイス547に対してピクセルサブコンポーネント光度値を特定するの
に使用される数に対応するビット数を持つ、3つの個別の量として、R、Gおよ
びBの光度値が特定され、ストアされ、そして処理される。たとえば、多くのシ
ステムは、個別のR、GおよびBの光度値を表すために、8ビット量を使用する
。そうした実施形態の結果として、R、G、Bの光度値の処理は、1ピクセル当
たり24ビットのストア、処理および転送を必要とする。
【0095】 メモリ、処理およびバス帯域までもが制限された資源であるデバイス、たとえ
ば、ポータブルコンピュータおよびハンドヘルドコンピューティングデバイスの
場合、全レンダリング工程を通して各R、G、Bの光度値を表すための8ビット
の使用は、利用できる資源に対してかなりの負荷を与えることになる。
【0096】 本発明の一特徴によれば、グリフを処理し、ストアするのに要求される、メモ
リを含む資源を減らすために、個別のR、GおよびBの光度値が、変換、たとえ
ば、単一の数に圧縮される。本明細書では、ピクセルに関する、R、GおよびB
の光度値の単一値へのパッキングを表すため、この数をパックされたピクセル値
と呼ぶ。ピクセルのR、G、Bの光度レベルを表すのに使用される数の範囲、た
とえば、パックされたピクセル値の範囲は、各々の可能なR、G、Bの光度レベ
ルの組み合わせが、一意に特定されることができるように、十分に大きく選択さ
れる。
【0097】 したがって、R、G、Bの光度レベルの組み合わせを表すのに使用される、パ
ックされたピクセル値の全数は、少なくとも、提供される赤の輝度レベルの全数
に、提供される緑の輝度レベルの全数を乗じ、さらに、提供される青の輝度レベ
ルの全数を乗じた値と同じ大きさであるべきである。
【0098】 メモリアクセス、処理およびデータ転送操作の観点から、しばしば、byte
、すなわち8ビット量で考えるのが都合がよいため、提供されるR、G、Bの輝
度レベルの組み合わせの全数は、8ビット量またはその倍数として特定されるこ
とができるのが望ましい。ハンドヘルドコンピューティングデバイスにおいては
、3つのR、G、Bの光度値の1ピクセル当たり8ビットの単一表現が特に望ま
しい。これは、全部で1ピクセル当たり24ビットを必要とする1ピクセル当た
り8ビットのサブコンポーネント光度値を使用する実施形態に比べ、メモリなど
の観点から、かなり節約になるためである。
【0099】 一般的にイメージ、特に、テキストイメージをレンダリングすることに関する
資源の負荷を制限するために、本発明の1特徴は、ピクセルに関連する個別のR
、GおよびBの光度値をパックされたピクセル値に変換することに向けられてい
る。このような実施形態において、グリフは、たとえば、3つの個別の8ビット
R、GおよびBの光度値に対抗するものとして、パックされたピクセル値を用い
て、表され、ストアされる。処理は、光度値がディスプレイアダプタ548に供
給される前に、パックされたピクセル値がディスプレイデバイス547により使
用される形式の個別のR、GおよびBのルミナンス(luminance)値に
変形または変換されることにより、パックされたピクセル値表現上で実施されて
もよい。本発明によれば、個別のR、GおよびBの光度レベルをパックされたピ
クセル値に変換する工程は、走査変換操作の一部として実施されてもよい。
【0100】 図15で説明するテーブル1500のような、簡単なルックアップテーブルは
、一実施形態において、ピクセルに関連する個別のR、G、Bの光度レベルとパ
ックされたピクセル値の間で変換するのに使用される。
【0101】 本図に示すように、テーブル1500は、全部でN(0〜N−1)のパックさ
れたピクセル値エントリ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は青の光度レベルの最大可
能数である。
【0102】 R、GおよびBの光度レベルの組み合わせとパックされたピクセル値の間の変
換は、ルックアップテーブル1500への索引として、ピクセルエレメントに関
連するR、GおよびBの光度レベルを用いることにより実施されることができる
。たとえば、R、GおよびBの光度レベル1、0、0を用いて、テーブル150
0への索引としてのエントリ1501は、出力される値1を持つ、関連するパッ
クされたピクセル値エントリ1502をもたらす。同様に、パックされたピクセ
ル値は、テーブル1500への索引としてパックされたピクセル値を用い、パッ
クされたピクセル値に関連するR、GおよびBの光度レベルエントリを出力する
ことにより、テーブル1500を用いて、R、G、Bの光度値に変換されてもよ
い。
【0103】 テーブル1500を用いる代わりに、数学の関数によってR、G、Bの光度レ
ベル値とパックされたピクセル値の間の関係を表現し、関数を用いて、パックさ
れたピクセル値とR、G、Bの光度レベル値の間を変換することが可能である。
一実施形態において、このような関数は、ソフトウェアで実現され、R、G、B
の光度レベル値とパックされたピクセル値の間を変換するために実行される。
【0104】 RGBストライピングに垂直な方向のオーバーサンプリングが16倍で提供さ
れている、典型的な一実施形態において、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は、ピクセルサブコンポーネント輝度レベル
値である。
【0105】 提供されるR、GおよびBの光度レベルの数が、通常、走査変換操作中にR、
GおよびBの光度レベルを決定するために使用されるセグメントの数の関数であ
ることに留意されたい。また、180の可能なR、G、Bの光度レベルの組み合
わせが提供される典型的な実施形態において、パックされたピクセル値0〜17
9の各々は、8ビット量を用いて表されることに留意されたい。これは、個別の
8ビット値が使用され、R、G、Bの組み合わせについて、全部で24ビットを
使用する実施形態に比べて、ストレージ要求の観点からかなりの節約を表す。
【0106】 図10は、本発明によって実装された典型的な走査変換ルーチン812を示す
。ルーチン812は、これがロードされ、たとえば、CPU521により実行さ
れたときに、ステップ850で始まる。操作は、ステップ850から、ルーチン
812が走査変換操作が実施されるはずのスケーリングされたイメージデータ8
52を受け取るステップ854へ進む。スケーリングされたイメージデータは、
通常、複数のピクセルに関連するイメージデータを含む。各ピクセルに対応する
スケーリングされたイメージデータは、光度レベル決定ステップ856、858
および860により、個別に処理される。これらのステップ856、858およ
び860は、並列に実施されるように示されているが、これらは、順次に実施さ
れてもよい。
【0107】 ステップ856にて、処理されるピクセルセグメントに対応する、赤のピクセ
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の赤のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
【0108】 ステップ858にて、処理されるピクセルセグメントに対応する、緑のピクセ
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の緑のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
【0109】 ステップ860にて、処理されるピクセルセグメントに対応する、青のピクセ
ルサブコンポーネントとともに使用される光度レベルが決定される。これは、た
とえば、スケーリングされたイメージを調べることにより、「オン」されるはず
の青のピクセルサブコンポーネントセグメントの数を決定することにより行われ
る。
【0110】 ステップ856、858、860は、処理されるピクセルセグメントに対応す
るピクセルエレメントのR、G、Bピクセルサブコンポーネントに対するR、G
およびBの光度レベル値のセットを生成する。
【0111】 ピクセルエレメントに対してR、G、Bの光度レベル値が決定されると、操作
はステップ862へ進む。ステップ862にて、R、G、Bの光度値のセットは
、たとえば、テーブル1500のようなルックアップテーブルまたはR、G、B
の値のセットとパックされたピクセル値の間を変換する関数を用いて、パックさ
れたピクセル値に変換される。
【0112】 ステップ863にて、スケーリングされたイメージの全てのピクセルセグメン
トが処理されたかについて、判断される。スケーリングされたイメージセグメン
トに対応するデータが処理されるために残っているとき、次のピクセルセグメン
トに対応するスケーリングされたイメージデータが処理されるように、操作が再
びステップ856、858、860へ進む。
【0113】 ステップ863にて、スケーリングされたイメージの全てのピクセルセグメン
トが処理されたとき、操作はステップ864へ進む。ステップ864にて、グリ
フを表す、生成され、パックされたピクセル値は、グリフキャッシュ809およ
び/またはディスプレイドライバ830へ出力される。ステップ864における
パックされたピクセル値の出力後、走査変換サブルーチン812は、サブルーチ
ン812の再実行まで、ステップ866にて停止する。
【0114】 図13は、垂直ストライピングを持つディスプレイデバイス上の表示のために
、ヒンティングされたイメージ1018上で実施される加重走査変換操作を説明
する。イメージセグメントが「オン」か「オフ」かを判定するのに多くの公知の
方法がある。
【0115】 図13に示す例において、白は、走査変換操作によって生成されるビットマッ
プイメージにおいて「オフされ」ているピクセルサブコンポーネントを示すのに
使用される。「オン」されているピクセルサブコンポーネントは、点描法を用い
て示されている。点描法が密であるほど、点を付けたピクセルサブコンポーネン
トの光度が低い。
【0116】 黒いテキストの場合、「オン」は、ピクセルサブコンポーネントが光を出力し
ないか、または、最小の可能な光度で光を出力するように、ピクセルサブコンポ
ーネントに関連する輝度値が制御されることを意味する。白い背景ピクセルを仮
定すると、「オン」していないサブコンポーネントは、全ての光出力を出力させ
られるであろう輝度値が割り当てられるであろう。全部「オン」および全部「オ
フ」の間のグラデーションは、イメージが、ピクセルサブコンポーネントについ
て複数のセグメントを持つグリッド上に配置されるときに可能である。この場合
、所定のサブコンポーネントに対して「オン」であるべきセグメントの数のカウ
ントが決定される。「オン」であるイメージセグメントの数は、光度レベル値で
ある。このような値は、対応するピクセルサブコンポーネントに対して使用され
る光度を示す。ピクセルサブコンポーネントを表すMセグメントの使用により、
M+1の光度レベル、すなわち、0個の「オン」のセグメントからM個の「オン
」のセグメントに対応するレベルを提供する。
【0117】 ピクセルサブコンポーネントに対応するイメージのセグメントが、スケーリン
グ中に「オン」と考えられるべきかを判定する第1の手法は、スケーリンググリ
ッドの一部により表される、ピクセルサブコンポーネントにマッピングされるス
ケーリングされたイメージセグメントが、表示されるべきイメージのスケーリン
グされた表現の中にあるかを判定することである。別の手法は、ピクセルサブコ
ンポーネントにマッピングされるスケーリングされたイメージセグメントの50
%またはそれ以上が、表示されるイメージにより占有されているかを判定するこ
とである。占有されている場合、イメージセグメントは、「オン」されていると
考えられる。
【0118】 重み付けが適用されるとき、スケーリングされたイメージの異なるサイズの領
域が、特定のピクセルサブコンポーネントが「オン」、「オフ」またはその間の
値になるべきかを判定するのに使用される。
【0119】 上述したように、人間の目は、異なるカラー光源からの光輝度を異なる割合で
知覚する。赤、緑および青のピクセルサブコンポーネントが最大の光度出力に設
定されることから得られる、白ピクセルの知覚されるルミナンスに対して、緑は
約60%、赤は約30%および青は約10%寄与する。この理由で、多くの実施
形態において、資源、たとえば、光度レベルを割り当てるとき、より多くの輝度
レベルがしばしば青または赤よりも緑に割り当てられる。さらに、より多くの輝
度レベルがしばしば青よりも赤に割り当てられる。しかし、いくつかの実施形態
においては、等しい数の輝度レベルが赤、緑および青ピクセルサブコンポーネン
トに対して割り当てられる。
【0120】 図13に示した典型的な実施形態においては、水平方向オーバーサンプリング
の結果として、16イメージセグメントが各ピクセルエレメントに対応する。し
たがって、図13において、ピクセルセグメントは16イメージセグメントを有
する。ピクセルエレメントに関連する16イメージセグメントからの、5が赤の
ピクセルサブコンポーネントに対応するとして割り当てられる。これらは、本明
細書において、赤のイメージセグメントと呼ばれる。16ピクセルセグメントの
うち9が緑のピクセルサブコンポーネントに割り当てられる。これらは、本明細
書において、緑のイメージセグメントと呼ばれる。16イメージセグメントから
の残りの2は、青のピクセルサブコンポーネントに割り当てられる。これらは、
本明細書において、青のイメージセグメントと呼ばれる。このセグメントの割り
当ては、赤6、緑10、青3のサブコンポーネント輝度レベルを提供する。
【0121】 他のイメージセグメント割り当てが可能である、そして、いくつかの実施形態
では、セグメントの同じ数、たとえば、2または3セグメントがピクセルサブコ
ンポーネントに対して割り当てられる。
【0122】 図13の走査変換例において、ピクセルセグメントは、イメージの輪郭内に少
なくとも50%があれば、「オン」と考えられる。図13に示した走査変換操作
により、本発明によれば、パックされたピクセル値のセットとしてストアされる
、ビットマップイメージ1203が得られる。ビットマップイメージカラムC1
〜C4の各ピクセルサブコンポーネントが16のイメージセグメントの異なるセ
ットからどのように決定されるかに留意されたい。また、個々のピクセルサブコ
ンポーネントの輝度が、個々の赤、緑および青のピクセルサブコンポーネントに
対応する「オン」のセグメントの数に依存して、どのように変化するかに留意さ
れたい。
【0123】 図14は、スケーリングされ、ヒンティングされたイメージ1018の第4番
目の行1400上における加重走査変換操作を実施した結果を説明する。図14
において、R、G、Bのピクセルサブコンポーネントの各々に対するR、G、B
のピクセルセグメントのカウントは、対応するピクセルサブコンポーネントのす
ぐ下の行1402に示される。値1402は、走査変換サブルーチン812のス
テップ856、858、880にて決定される。
【0124】 レンダリングされる文字のイメージは、ピクセル(C1,R4)および(C4
,R4)に対応するセグメントを通らない。したがって、これらピクセルエレメ
ントに関連するセグメントのどれもが、「オン」でなく、R、GおよびBのサブ
コンポーネントセグメントのカウントの全てが、これら2つのピクセルに対して
ゼロであるため、(0,0,0)のR、GおよびB値が得られる。
【0125】 ピクセルエレメント(C2,R4)に関して、スケーリングされたイメージに
対して走査変換ステップ856、858、880を実施することにより得られる
光度レベルは、イメージの輪郭内に0個の赤のピクセルサブコンポーネントセグ
メントがあり、イメージの輪郭内に少なくともその50%がある7個の緑のピク
セルサブコンポーネントセグメントがあり、そして、イメージの輪郭内に少なく
ともその50%がある2個の青のピクセルサブコンポーネントセグメントがある
ため、(0,7,2)である。
【0126】 ピクセルエレメント(C3,R4)に関して、スケーリングされたイメージに
対して走査変換操作を実施することにより得られる光度レベルは、イメージの輪
郭内に少なくともその50%がある4個の赤のピクセルサブコンポーネントセグ
メントがあり、イメージの輪郭内に少なくとも50%がある、0個の緑のピクセ
ルサブコンポーネントセグメントがあり、そして、イメージの輪郭内に少なくと
も50%がある、0個の青のピクセルサブコンポーネントセグメントがあるため
、(4,0,0)である。
【0127】 R、G、Bの光度ピクセルサブコンポーネント値(0,0,0)、(0,7,
2)、(4,0,0)および(0,0,0)は、本発明によって、走査変換サブ
ルーチン862にて、各々、パックされたピクセル値0、23、120、0に変
換される。
【0128】 これは、変換操作を実施するルックアップテーブルを用いることにより行われ
てもよい。しかし、R、GおよびBのピクセルサブコンポーネント光度レベル値
をパックされたピクセル値に関連付ける方程式を用いることにより行われること
ができる。赤6、緑10および青3の光度レベルを提供するため、R、G、Bピ
クセルサブコンポーネント光度レベル値の180の可能な組み合わせが存在する
一実施形態において、R、G、Bの光度レベル値の各々のセットは、方程式 パックされたピクセル値=(R×30)+(G×3)+B を用いて、単一のパックされたピクセル値に変換される。ここで、R、Gおよび
Bは、ピクセルサブコンポーネント輝度レベル値である。
【0129】 行1404は、各ピクセルエレメント(C1,R4)、(C2,R4)、(C
3,R4)、(C4,R4)に対して生成されたパックされたピクセル値を説明
する。
【0130】 走査変換サブルーチン812により生成されグリフは、要求されたときに表示
するため、ディスプレイドライバ830にキャッシュされ、出力される。ディス
プレイドライバはグリフを処理する。処理中に、グリフに含まれるパックされた
ピクセル値は、ディスプレイアダプタ548および/またはディスプレイデバイ
ス547により使用されるフォーマットを持つ、処理されたピクセル値を生成す
るのに使用される。ディスプレイドライバにより生成され、処理されたピクセル
値は、ストアされ、他の文字またはイメージと組み合わされて、ディスプレイ5
47上に表示される、複合イメージ、たとえば、文字列を形成するスクリーンフ
レームバッファ834にロードされる。ディスプレイが更新される必要があると
き、スクリーンフレームバッファ834は、ディスプレイアダプタ548に、そ
こにストアされた、処理されたピクセル値を出力する。ディスプレイアダプタは
、ディスプレイ547上にイメージを生成するためにこれらの値を使用する。
【0131】 ディスプレイドライバ830は、スクリーンフレームバッファ834に出力さ
れる、処理されたピクセル値を生成するときに、ガンマ補正、カラー補償(カラ
ーフィルタリング)および/またはパレット選択を含む複数の処理操作を実施す
る。ディスプレイドライバ830により実施される操作は、種々の実施される操
作を列挙するブロック833により表されるような、一連の順次イメージ処理操
作として実装されてもよい。
【0132】 デバイスドライバ処理の実行を促進するために、本発明の特定の一実施形態は
、ルックアップテーブル832、832′、832″のセット831を含む。ル
ックアップテーブルは、エントリの配列を含み、各エントリは、ディスプレイド
ライバ処理操作のセット、たとえば、ガンマ補正、カラー補償および/またはパ
ックされたピクセル値に対するパレット選択を実施することから得られる、1つ
または複数の事前計算されたピクセル値を含む。上述したように、ルックアップ
テーブル832、832′、832″のピクセル値が、いくつかの処理操作の結
果であるため、これらは、しばしば、処理されたピクセル値と呼ばれる。処理さ
れたピクセル値の異なるセット832、832′、832″は、ディスプレイド
ライバ830により実施されるであろう処理操作の各々のセットのために含まれ
る。たとえば、異なるルックアップテーブルは、選択されるであろう各カラーパ
レットのために含まれる。したがって、1つのルックアップテーブルが、インタ
ーネットおよび選択されたインターネットカラーパレットを用いるアプリケーシ
ョンに対して使用され、他のテーブルが別のカラーパレットに依存するテキスト
アプリケーションに対して使用されるであろう。異なるルックアップテーブルは
、また、提供される、異なる処理されたピクセル値フォーマットのために含まれ
る。たとえば、1つのルックアップテーブルは、赤、緑および青のピクセルサブ
コンポーネント光度値の各々を特定する8ビットを使用して、処理されたピクセ
ル値の1セット当たり全部で24ビットを使用する、処理されたピクセル値を出
力することができるし、別のフォーマットは、処理されたピクセル値の1セット
当たりわずか16ビットを使用することができる。
【0133】 異なるルックアップテーブルは、また、たとえば、異なるディスプレイデバイ
スに対して使用される異なるガンマ補正値を備える。
【0134】 図8において、ディスプレイ情報ブロック815からルックアップテーブルの
セットを表すブロック831に引かれた矢印は、ルックアップテーブル832、
832′、832″のどの1つが、任意の時に、受け取られ、パックされたピク
セル値を処理されたピクセル値に変換するのに使用されるべきかを選択するとき
に、ガンマ補正、カラーパレット情報、前景/背景カラー情報およびピクセル値
フォーマット情報のようなディスプレイ情報を使用することを示す。
【0135】 図17は、典型的なルックアップテーブル832を示す。本図に示すように、
テーブル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は、処理された赤、処理され
た緑および処理された青のピクセルサブコンポーネント光度値を表すのに使用さ
れる。下付き文字は、個々の処理されたピクセル値が対応する、処理されたピク
セル値のセットを示す。
【0136】 図20は、本発明により実施される、別のディスプレイドライバルックアップ
テーブル2032を示す。本図に示すように、テーブル832は、各々がカラー
パレット値PVを含む、Nエントリの配列2035を有する。カラム2035の
左に配置されるカラム833は、テーブル2032を有するエントリ配列におけ
る、各テーブルエントリ2701、2703、2705の位置を示す。各々の可
能な、パックされたピクセル値は異なる配列位置を特定するときに解釈されるこ
とに留意されたい。この要領で、各々の可能な、パックされたピクセル値に対し
て、テーブル2032は、1つの対応するエントリ、すなわち、カラーパレット
値PVからPVN−1の1つを含む。図20の説明において、Nは、デバイス
ドライバ830により受け取られることができる、可能な、パックされたピクセ
ル値の全数を表すのに使用される。
【0137】 テーブル832または2032への索引としてパックされたピクセル値を用い
、また、テーブルエントリ1701、1703、1705、2001、2003
または2005の対応する1つを出力することにより、ガンマ補正、カラーフィ
ルタリングおよび/またはパレット選択操作を含むディスプレイデバイス処理は
、大量の処理資源を使用する必要を避けながら、簡単なルックアップテーブル操
作として迅速に実施される。
【0138】 図16は、ディスプレイデバイスルックアップテーブル832、832′、8
32″を生成するのに使用されるかもしれないディスプレイデバイスルックアッ
プテーブル生成ルーチン1600を示す。種々の実施形態において、ルーチン1
600は、ディスプレイドライバ830を使用する前に使用される。ルーチン1
600は、イメージレンダリングを実行するのに使用されるマシン520上で実
行される。別法において、ルーチン1600は、異なるマシン520上で実行さ
れ、そして、たとえば、オペレーティングシステムがインストールされるときに
、テーブルを使用するはずのマシンのメモリ522またはハードディスクドライ
ブ527にロードされる。
【0139】 ディスプレイデバイスルックアップテーブル1700の生成は、ルーチン16
00の実行とともに、ステップ1602で始まる。操作は、ステップ1602の
スタートから、パックされたピクセル値が、許可された、パックされたピクセル
値のセット1605から得られるステップ1604へ進む。上述した例において
、パックされたピクセル値のセットは180の値を含むであろう。パックされた
ピクセル値が得られると、それは、ステップ1606にて、ディスプレイデバイ
スにより使用される実際のカラー空間に変換され、ガンマ補正が適用される。パ
ックされたピクセル値の実際のカラー空間への変換は、処理される、パックされ
たピクセル値の、たとえば、ルックアップテーブル1500を用いた対応するR
、G、Bの光度レベル値への変換および実際のカラー空間、たとえば256レベ
ルカラー空間における、R、G、Bレベル値の対応する値への変換を含む。
【0140】 ガンマ補正は、たとえば、使用されるであろう最大および最小光度値のような
制限のセットとして提供されることができる、供給されたガンマ値情報1603
の関数として適用できる。異なるガンマ値は、異なるディスプレイデバイスに対
して特定される。ステップ1606の出力は、使用されるディスプレイデバイス
の実際のカラー空間におけるガンマ補正された赤、緑および青の光度値のセット
である。たとえば、0から255の値の範囲のR、GおよびBの光度値が指定さ
れてもよい。
【0141】 ステップ1608において、カラーフィルタリングが、ステップ1606によ
り出力されたR、G、Bの光度値のセットに対して適用される。適用されるカラ
ーフィルタリングは、ピクセルサブコンポーネントを独立した光度源として扱う
ことにより生ずる、フィルタを使わなければぼかす(distracting)
カラー歪みを、減少させ、または、削除するよう設計される。カラーフィルタリ
ングは、また、前景/背景カラーが黒と白以外であるときに生成されるイメージ
に対して前景と背景のカラー選択を適用するのに使用される。したがって、前景
/背景カラー情報1607は、カラーフィルタリング操作1608中に利用され
る。
【0142】 カラーフィルタリングステップ1608により生成された、フィルタリングさ
れたR、G、Bの光度値は、さらに、ステップ1610にて処理される。ステッ
プ1610にて、フィルタリングされたR、G、Bの光度値により生成されたカ
ラーは、ディスプレイデバイス547により提供されるカラーパレットと比較さ
れる。ステップ1610にて、フィルタリングステップ1608により出力され
たR、G、Bの光度値により生成されたピクセルカラーに最も近いパレットカラ
ーに対応するカラーパレット値が使用のために選択される。ディスプレイアダプ
タ548および/またはディスプレイデバイス547により使用されるフォーマ
ットで、パレット値が、処理されたピクセル値を表す。ステップ1612にて、
生成された、処理されたピクセル値は、ストアされたピクセル値を生成するのに
使用された、パックされたピクセル値に対応する、配列位置エントリで生成され
るディスプレイデバイスルックアップテーブルにストアされる。
【0143】 生成された、パックされたピクセル値、たとえば、カラーパレット値をストア
した後、操作は、ステップ1614へ進む。ステップ1614にて、パックされ
たピクセル値のセット1605内の、全てのパックされたピクセル値が処理され
たかが判断される。未処理のパックされたピクセル値が残っているとき、操作は
ステップ1614から、次のパックされたピクセル値の処理が始まるステップ1
604へ進む。
【0144】 しかし、ステップ1614にて、パックされたピクセル値のセット1605内
の、全てのパックされたピクセル値が処理されたと判断されたとき、操作は、生
成されたディスプレイドライバルックアップテーブルがメモリ522および/ま
たはハードディスクドライブ527にストアされるステップ1616へ進む。
【0145】 生成されたディスプレイドライバルックアップテーブルのメモリへのストアに
よって、操作、ルックアップテーブル生成ルーチン1600は、新たなルックア
ップテーブルを生成するために再実行されるまで、ステップ1618で停止する
【0146】 ルックアップテーブル832、832′、832″は、特定の前景および背景
カラーの組み合わせに対して各々生成される。多くの場合、表示されたテキスト
のある部分を目立たせるために、図18に示したように、前景および背景カラー
の間を切り換えるのが望ましい。図18において、第1と第2の矢印1801、
1802は、前景および背景カラーの間の切り換えを表す。
【0147】 本発明によれば、前景および背景カラーとして、どのカラーが使用されるかは
、ルックアップテーブル832、832′または832″がアクセスされる方法
を単純に変えることにより、変更できる。ルックアップテーブル832は、テキ
ストディスプレイにとって通常好ましいディスプレイフォーマットであるために
、通常、暗い前景と明るい背景とともに使用されるためにストアされる。
【0148】 最も大きな数のパックされたピクセル値からパックされたピクセル値Pを差し
引くことにより、変換されたパックされたピクセル値P′が得られる。
【0149】 すなわち、P′=Pmax−P である。
【0150】 パックされたピクセル値が0から179の値の範囲である典型的な場合におい
て、 Pmax=179で、P′=179−Pである。
【0151】 ルックアップテーブル832、832′または832″にアクセスするために
、変換されたパックされたピクセル値を用いることにより、明るい前景および暗
い背景に対応する、処理されたピクセル値のセットが得られる。
【0152】 したがって、本発明は、提供される前景および背景カラーの各々の対のために
、単一のディスプレイドライバルックアップテーブル832がストアされること
を可能にする。ストアされたテーブルは、カラー対の第1のものが前景カラーと
して使用され、カラー対の第2のものが背景として使用されるであろうと仮定し
て、配置される。特定の前景および背景カラーに対応するパックされたピクセル
値を用いるとき、パックされたピクセル値をルックアップテーブルへの索引とし
て用いることにより、処理されたピクセル値のセットが得られる。
【0153】 ルックアップテーブルが生成されたのと反対の前景/背景カラーの組み合わせ
を用いるのが望ましいとき、まず、提供された、最も高いピクセル値の数からパ
ックされたピクセル値を差し引くことにより、変換され、パックされたピクセル
値が生成され、その変換され、パックされたピクセル値を用いることにより、ル
ックアップテーブル832がアクセスされる。
【0154】 前景/背景カラーを反転するためにピクセル値変換操作を実施する必要を避け
るため、本発明の一実施形態は、処理されたピクセル値の各々のセットに対応す
る2つのパックされたピクセル値を有するルックアップテーブル1900を利用
する。パックされたピクセル値の第1セット833は暗い前景/明るい背景の選
択に対応するが、パックされたピクセル値の第2セット1902は明るい前景/
暗い背景に対応する。所定のカラー対にとって望ましい前景/背景の選択に依存
して、パックされたピクセル値の第1または第2セット833、1902のいず
れかが、ルックアップテーブル1900への索引として使用される。
【0155】 本明細書に含まれる、本発明の説明から考えると、本発明の数多くの付加的な
実施形態および議論された実施形態についての変形が当業者にとって明らかにな
るであろう。このような実施形態が、本発明から逸脱せず、本発明の範囲内にあ
ると考えられることが理解されるであろう。
【図面の簡単な説明】
【図1】 公知のLCDスクリーンを示す図である。
【図2】 図1の説明より、さらに詳細に図1を説明する、公知のスクリーンの一部を示
す図である。
【図3】 公知のシステムにおいて実施されるイメージサンプリング操作を示す図である
【図4】 後続のテキストの生成および表示で使用される文字情報を準備し、ストアする
ことに含まれる公知のステップを示す図である。
【図5】 本発明によって実施されるコンピュータシステムを示す図である。
【図6】 本発明の典型的な一実施形態によって実施されるイメージサンプリングを示す
図である。
【図7】 本発明のイメージレンダリング装置の図である。
【図8】 図5に示したコンピュータシステムの他のエレメントと関係するときの図7の
イメージレンダリング装置を示す図である。
【図9】 本発明の一実施形態による表示のためにテキストをレンダリングする方法を示
す図である。
【図10】 本発明の走査変換ルーチンを示す図である。
【図11】 本発明の典型的な実施形態によって実施されるスケーリング操作を示す図であ
る。
【図12】 本発明によって実施される典型的なヒンティング操作を示す図である。
【図13】 本発明の典型的な実施形態によって実施される走査変換操作を示す図である。
【図14】 図13に示すイメージの第4番目の行で実施される走査変換操作を示す図であ
る。
【図15】 パックされたピクセル値変換テーブルに対する典型的なR、G、Bの光度レベ
ル値を示す図である。
【図16】 デバイスドライバピクセル値ルックアップテーブルを生成する方法を示す図で
ある。
【図17】 典型的なデバイスドライバピクセル値ルックアップテーブルを示す図である。
【図18】 明るい前景/暗い背景イメージ表現と暗い前景/明るい背景イメージ表現の間
の切り換えを示す図である。
【図19】 本発明の典型的な実施形態によって実施されるデバイスドライバルックアップ
テーブルを示す図である。
【図20】 別の典型的なデバイスドライバピクセル値ルックアップテーブルを示す図であ
る。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04N 1/46 H04N 1/46 Z (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AL,AM,AT,AU,AZ,BA, BB,BG,BR,BY,CA,CH,CN,CU,C Z,DE,DK,EE,ES,FI,GB,GD,GE ,GH,GM,HR,HU,ID,IL,IN,IS, JP,KE,KG,KP,KR,KZ,LC,LK,L R,LS,LT,LU,LV,MD,MG,MK,MN ,MW,MX,NO,NZ,PL,PT,RO,RU, SD,SE,SG,SI,SK,SL,TJ,TM,T R,TT,UA,UG,UZ,VN,YU,ZW (72)発明者 グレゴリー シー.ヒッチコック アメリカ合衆国 98072−9236 ワシント ン州 ウッディンビル 159アベニュー ノースイースト 17828 (72)発明者 ボーデン ドレスビック アメリカ合衆国 98007 ワシントン州 ベルビュー 145プレイス サウスイース ト 1039 Fターム(参考) 5C006 AA01 AA22 AF13 AF46 AF85 BB11 BF24 FA01 FA56 5C079 HB01 LA17 LA31 MA04 MA17 NA06 PA05 5C080 AA10 BB05 CC03 DD03 EE30 FF09 JJ02 JJ05 JJ07 5C082 AA01 BA02 BA12 BA27 BA34 BB51 BD01 BD02 CA12 CA55 CA81 DA71 MM10

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 イメージを表すデータを生成する方法であって、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
    クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
    はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
    ックされたピクセル値のセットから選択されるステップと、 各々の受け取られパックされたピクセル値を処理して、変換されパックされた
    ピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、ディスプレイデバイスのピク
    セルエレメントを制御するために使用される赤、緑および青の光度値のセットに
    パックされたピクセル値を相関させるルックアップテーブルにアクセスするステ
    ップと を備えることを特徴とする方法。
  2. 【請求項2】 前記各々の受け取られパックされたピクセル値を処理するス
    テップは、最も大きな数のパックされたピクセル値から前記パックされたピクセ
    ル値を差し引き、それによって前記変換されたピクセル値を生成するステップを
    含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 各々のパックされたピクセル値および変換されたピクセル値
    は8ビット値であることを特徴とする請求項2に記載の方法。
  4. 【請求項4】 各々の変換されパックされたピクセル値に対して、前記ルッ
    クアップテーブルから得られた赤、緑および青のピクセルサブコンポーネント光
    度値のセットを出力するステップを更に備えることを特徴とする請求項3に記載
    の方法。
  5. 【請求項5】 前記ディスプレイデバイス上に前記イメージを表示するため
    に前記赤、緑および青のピクセルサブコンポーネント光度値の出力されたセット
    を用いるステップを更に備えることを特徴とする請求項4に記載の方法。
  6. 【請求項6】 イメージを表すデータを生成する方法であって、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
    クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
    はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
    ックされたピクセル値のセットから選択されるステップと、 各々の受け取られパックされたピクセル値を処理して、変換されパックされた
    ピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、カラーパレット値にパックさ
    れたピクセル値を相関させるルックアップテーブルにアクセスするステップと を備えることを特徴とする方法。
  7. 【請求項7】 前記各々の受け取られパックされたピクセル値を処理するス
    テップは、最も大きな数のパックされたピクセル値から前記パックされたピクセ
    ル値を差し引き、それによって前記変換されたピクセル値を生成するステップを
    含むことを特徴とする請求項6に記載の方法。
  8. 【請求項8】 各々のパックされたピクセル値および変換されたピクセル値
    は8ビット値であることを特徴とする請求項7に記載の方法。
  9. 【請求項9】 カラーパレットを用いて、前記ルックアップテーブルアクセ
    ス操作から生成された各々のカラーパレット値を赤、緑および青のピクセルサブ
    コンポーネント光度値のセットに変換するステップを更に備えることを特徴とす
    る請求項8に記載の方法。
  10. 【請求項10】 赤、緑および青のピクセルサブコンポーネント光度値の各
    々のセットを用いて、ディスプレイデバイスの異なるピクセルエレメントのピク
    セルサブコンポーネントを制御するステップを更に備えることを特徴とする請求
    項9に記載の方法。
  11. 【請求項11】 イメージを表すデータを生成する方法を実行するコンピュ
    ータ実行可能命令を備えるコンピュータ可読媒体であって、前記方法は、 前記イメージを表示するために使用されるピクセルエレメントに対応するパッ
    クされたピクセル値を受け取るステップであって、前記パックされたピクセル値
    はピクセルエレメント光度情報を表し、前記パックされたピクセル値はN個のパ
    ックされたピクセル値のセットから選択されるステップと、 各々の受け取られ、パックされたピクセル値を処理して、変換されパックされ
    たピクセル値を生成するステップと、 前記変換されパックされたピクセル値を用いて、カラーパレット値にパックさ
    れたピクセル値を相関させるルックアップテーブルにアクセスするステップと を備えることを特徴とするコンピュータ可読媒体。
  12. 【請求項12】 イメージを表すピクセル値の第1セットを処理し、それに
    対して選択された前景および背景カラーが適用されたイメージを表すデータの第
    2セットを生成する方法であって、前記ピクセル値の第1セットのピクセル値は
    N個の可能なピクセル値のセットから選択され、Nは整数であり、 メモリデバイスにルックアップテーブルをストアするステップであって、前記
    ルックアップテーブルはNエントリの配列を含み、各エントリは少なくとも1つ
    のピクセル値を含み、かつ前記N個の可能なピクセル値のセットの異なる1つに
    対応するステップと、 前記ストアされたルックアップテーブルをアクセスして、ピクセル値の第1セ
    ットの、各々のパックされたピクセル値に対して、1つのルックアップテーブル
    エントリを得、それによって、イメージを表すテーブルエントリのセットを生成
    するステップであって、前記ストアされたルックアップテーブルをアクセスする
    ステップは、第2カラーが前景カラーとして使用されるときと第1カラーが前景
    カラーとして使用されるときとでは異なった方法で実行されるステップと を備えることを特徴とする方法。
  13. 【請求項13】 前記N個の可能なピクセル値のセットにおけるN個のピク
    セル値の1つずつは、可能なピクセルサブコンポーネント光度レベル値の異なる
    セットに対応することを特徴とする請求項12に記載の方法。
  14. 【請求項14】 前記ストアされたルックアップテーブルをアクセスするス
    テップは、 前記ピクセル値の第1セットの、各々のピクセル値を、前記ストアされたルッ
    クアップテーブルへの索引として用いるステップと、 前記ピクセル値の第1セットの、各々のピクセル値により特定されたエントリ
    位置に、前記ルックアップテーブルにストアされたテーブルエントリを出力して
    、前記データの第2セットを生成するステップと を含むことを特徴とする請求項12に記載の方法。
  15. 【請求項15】 前記ストアされたルックアップテーブルをアクセスするス
    テップは、 前記ピクセル値の第1セットの、各々のピクセル値から、ルックアップテーブ
    ル索引値を生成するステップであって、該生成された索引値の少なくともいくつ
    かは、そこから前記索引値が生成される対応するピクセル値と異なるステップと
    、 前記データの第2セットを生成するために、各々の生成された索引値により特
    定されたエントリ位置に、前記ルックアップテーブルにストアされたテーブルエ
    ントリを出力するステップと を含むことを特徴とする請求項12に記載の方法。
  16. 【請求項16】 前記ストアされたルックアップテーブルをアクセスするス
    テップは、 前記ピクセル値の第1セットの各々のピクセル値を、前記ストアされたルック
    アップテーブルへの索引として用いるステップと、 前記ピクセル値の第1セットの各々のピクセル値により特定されたエントリ位
    置に、前記ルックアップテーブルにストアされたテーブルエントリを出力して、
    前記データの第2セットを生成するステップと を含むことを特徴とする請求項12に記載の方法。
  17. 【請求項17】 前記ストアされたルックアップテーブルをアクセスするス
    テップは、 前記第1カラーが前景カラーとして使用され、前記第2カラーが背景カラーと
    して使用される場合は、 前記ピクセル値の第1セットの各々のピクセル値からルックアップテーブル
    索引値であって、当該索引値の少なくともいくつかが対応するピクセル値と異な
    る索引値を生成し、 前記データの第2セットを生成するために、各々の生成された索引値により
    特定された前記エントリ位置に、前記ルックアップテーブルにストアされた前記
    テーブルエントリを出力するステップと、 前記第2カラーが前景カラーとして使用され、前記第1カラーが背景カラーと
    して使用される場合は、 前記ピクセル値の第1セットの各々のピクセル値からルックアップテーブル
    索引値であって、当該索引値の少なくともいくつかが対応するピクセル値と異な
    る索引値を生成し、 前記データの第2セットを生成するために、各々の生成された索引値により
    特定された前記エントリ位置に、前記ルックアップテーブルにストアされた前記
    テーブルエントリを出力するステップと を含むことを特徴とする請求項12に記載の方法。
  18. 【請求項18】 前記第1カラーは暗いカラーで、前記第2カラーは前記第
    1カラーより明るいカラーであることを特徴とする請求項17に記載の方法。
  19. 【請求項19】 前記第1カラーは黒で、前記第2カラーは白であることを
    特徴とする請求項18に記載の方法。
  20. 【請求項20】 各々のテーブルエントリはカラーパレット値を表す単一の
    ピクセル値を含むことを特徴とする請求項17に記載の方法。
  21. 【請求項21】 各々のテーブルエントリは赤、緑および青のピクセルサブ
    コンポーネント光度値を表す3つのピクセル値のセットを含むことを特徴とする
    請求項17に記載の方法。
  22. 【請求項22】 イメージを表すピクセル値の第1セットを処理して、それ
    に対して適用された、選択された前景および背景カラーで前記イメージを表すデ
    ータの第2セットを生成するコンピュータ実行可能命令であって、前記ピクセル
    値の第1セットのピクセル値はN個の可能なピクセル値のセットから選択され、
    Nは整数であるコンピュータ実行可能命令を備えるコンピュータ可読媒体であっ
    て、前記処理は、 メモリデバイスにルックアップテーブルをストアするステップであって、前記
    ルックアップテーブルはNエントリの配列を含み、各エントリは、少なくとも1
    つのピクセル値を含み、かつ前記N個の可能なピクセル値のセットの異なる1つ
    に対応するステップと、 前記ストアされたルックアップテーブルをアクセスして、前記ピクセル値の第
    1セットの、各々のパックされたピクセル値に対して、1つのルックアップエン
    トリを得、それによって前記イメージを表すテーブルエントリのセットを生成す
    るステップであって、前記ストアされたルックアップテーブルをアクセスするス
    テップは、第2カラーが前景カラーとして使用されるときと第1カラーが前景カ
    ラーとして使用されるときとで異なった方法で実行されるステップと を含むことを特徴とするコンピュータ可読媒体。
  23. 【請求項23】 ピクセル値の入力セットにより表されるイメージを表示す
    るシステムであって、 メモリデバイスと、 該メモリデバイスにストアされたルックアップテーブルであって、前記ルック
    アップテーブルはNエントリの配列を含み、各エントリはピクセル値の第1セッ
    トに含まれることができるN個の可能なピクセル値の異なる1つに対応し、各エ
    ントリは少なくとも1つのピクセル値を含むステップと、 前記ピクセル値の第1セットの、各々のパックされたピクセル値に対して、1
    つのルックアップテーブルエントリを得るために、前記ストアされたルックアッ
    プテーブルをアクセスする手段であって、第1カラーが前景カラーとして使用さ
    れるべきときに第1の方法で、第2カラーが前景カラーとして使用されるべきと
    きに異なる方法で、前記ストアされたルックアップテーブルをアクセスする手段
    と、 前記ルックアップテーブルから得られるエントリにより表されるイメージを表
    示するディスプレイ装置と を備えることを特徴とするシステム。
  24. 【請求項24】 前記アクセスする手段は、 前記第1カラーが前景カラーとして使用されるべきときに前記ルックアップテ
    ーブルへの索引値として前記ピクセル値の入力セットに含まれるピクセル値を用
    いる手段と、 第2カラーが前景カラーとして使用されるべきときに、前記ルックアップテー
    ブルをアクセスするために使用される索引値を生成するために、前記入力ピクセ
    ル値に対して数学的操作を実行することにより、生成する手段と を含むことを特徴とする請求項23に記載のシステム。
  25. 【請求項25】 各テーブルエントリに含まれる前記ピクセル値はカラーパ
    レット値であることを特徴とする請求項24に記載のシステム。
JP2000607164A 1999-03-19 2000-03-15 前景および背景カラーの選択を効率的に実施し修正する方法および装置 Expired - Fee Related JP4907768B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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