JP2002543473A - テキストをレンダリングするためのシステムにおいて一貫したベースライン位置を維持するための方法、装置、およびデータ構造 - Google Patents
テキストをレンダリングするためのシステムにおいて一貫したベースライン位置を維持するための方法、装置、およびデータ構造Info
- Publication number
- JP2002543473A JP2002543473A JP2000615962A JP2000615962A JP2002543473A JP 2002543473 A JP2002543473 A JP 2002543473A JP 2000615962 A JP2000615962 A JP 2000615962A JP 2000615962 A JP2000615962 A JP 2000615962A JP 2002543473 A JP2002543473 A JP 2002543473A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- sub
- information
- determining
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 240
- 238000009877 rendering Methods 0.000 title description 10
- 238000006243 chemical reaction Methods 0.000 claims abstract description 171
- 230000002708 enhancing effect Effects 0.000 claims 2
- 238000012937 correction Methods 0.000 abstract description 18
- 238000001914 filtration Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 description 124
- 239000000523 sample Substances 0.000 description 47
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 9
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 8
- 239000003086 colorant Substances 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000012935 Averaging Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000012447 hatching Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010894 electron beam technology Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101100321669 Fagopyrum esculentum FA02 gene Proteins 0.000 description 1
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007644 letterpress printing Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- 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/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/28—Generation of individual character patterns for enhancement of character form, e.g. smoothing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2003—Display of colours
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/04—Structural and physical details of display devices
- G09G2300/0439—Pixel structures
- G09G2300/0452—Details of colour pixel setup, e.g. pixel composed of a red, a blue and two green components
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0242—Compensation of deficiencies in the appearance of colours
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- 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/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0414—Vertical resolution change
-
- 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/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0421—Horizontal resolution change
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
- G09G3/2074—Display of intermediate tones using sub-pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/34—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
- G09G3/36—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
- G09G3/3611—Control of matrices with row and column drivers
-
- 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/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
例えばRGB LCDなどの、サブピクセル要素を有するディスプレイデバイス、具体的には水平ストライピング(812′)を有するディスプレイデバイス上にレンダリングされるテキストの解像度は、(i)垂直(またはY)方向に文字アウトライン情報をオーバスケーリング(またはオーバサンプリング)(1610)し、(ii)オーバスケーリング(またはオーバサンプル)された文字アウトライン情報から変位した情報(1650)をフィルタ処理する(1610)ことによって向上する。文字アウトライン情報に関連するメトリックは、適切に調整される(1620)。隣接する文字のベースラインの垂直(またはY)位置は、強制的にベースラインの上の第1ピクセルを走査変換ソースサンプルの数Nすべてから構成することによって制限することができる(1640)。ただし、Nはオーバスケーリング(またはオーバサンプリング)因子に対応する。走査変換ソースサンプルのグループは、圧縮ピクセルインデックス値に変換することができる(1660)。カラー値は、隣接するサブピクセル要素の強度差が普通なら見にくくなるときに、選択的にフィルタ処理することができる。最後に、ディスプレイデバイスのガンマが考慮されて、サブピクセル要素の強度値がガンマ補正がより有用である強度の範囲内となるように、ピクセル値のガンマを補正することができる。
Description
【0001】 (§1.発明の背景) (§1.1 発明の分野) 本発明は、水平ストライピングを有する、例えば液晶ディスプレイ(またはL
CD)ビデオモニタを含むフラットパネルビデオモニタなどのビデオディスプレ
イ上で、より見やすいテキストを生成することに関する。
CD)ビデオモニタを含むフラットパネルビデオモニタなどのビデオディスプレ
イ上で、より見やすいテキストを生成することに関する。
【0002】 (§1.2 関連技術) 本発明は、例えばLCDビデオモニタなどの、フラットパネルビデオモニタの
状況の下で使用することができる。具体的には、本発明は、水平ストライピング
を有するLCDビデオモニタ上でより見やすいテキストを生成するための処理の
一部として使用することができる。
状況の下で使用することができる。具体的には、本発明は、水平ストライピング
を有するLCDビデオモニタ上でより見やすいテキストを生成するための処理の
一部として使用することができる。
【0003】 カラーディスプレイデバイスは、大部分のコンピュータユーザにとって主要な
選択肢となっている。カラーは、光(例えば赤、緑、および青の光の組み合わせ
など)を放出するようにディスプレイモニタを操作することによってディスプレ
イモニタ上にレンダリングされ、その光は、人間の目によって1つまたは複数の
カラーとして知覚される。
選択肢となっている。カラーは、光(例えば赤、緑、および青の光の組み合わせ
など)を放出するようにディスプレイモニタを操作することによってディスプレ
イモニタ上にレンダリングされ、その光は、人間の目によって1つまたは複数の
カラーとして知覚される。
【0004】 一般にカラービデオモニタ、具体的にはLCDビデオモニタは当業者に周知で
あるが、読者の便宜のためにそれらを以下で紹介する。以下の§1.2.1で陰
極線管(またはCRT)をまず紹介する。次いで以下の§1.2.2でLCDビ
デオモニタを紹介する。
あるが、読者の便宜のためにそれらを以下で紹介する。以下の§1.2.1で陰
極線管(またはCRT)をまず紹介する。次いで以下の§1.2.2でLCDビ
デオモニタを紹介する。
【0005】 (§1.2.1 CRTビデオモニタ) 陰極線管(CRT)ディスプレイデバイスは、ドットのシーケンスとして印加
することができる蛍光体被覆を有する画面を含む。異なる蛍光体被覆は、通常は
、例えば赤、緑、および青などの異なるカラーの生成に関連する。したがって、
蛍光体ドットの反復されたシーケンスが、ビデオモニタの画面上に定義される。
1つまたは複数の電子銃は、一般に画面を横切って左から右に、上から下に掃引
される電子ビームを生成する。蛍光体ドットが電子ビームによって照射されると
き、それによって蛍光体ドットは、例えば赤、緑、および青などのそれに関連す
るカラーをレンダリングして発光する。
することができる蛍光体被覆を有する画面を含む。異なる蛍光体被覆は、通常は
、例えば赤、緑、および青などの異なるカラーの生成に関連する。したがって、
蛍光体ドットの反復されたシーケンスが、ビデオモニタの画面上に定義される。
1つまたは複数の電子銃は、一般に画面を横切って左から右に、上から下に掃引
される電子ビームを生成する。蛍光体ドットが電子ビームによって照射されると
き、それによって蛍光体ドットは、例えば赤、緑、および青などのそれに関連す
るカラーをレンダリングして発光する。
【0006】 用語「ピクセル」は、一般に、例えば長方形グリッドの数千のスポットなどの
一群のスポットの中の1つのスポットを指すために使用される。このスポットは
、選択的に活動化されてディスプレイデバイス上のイメージを形成する。大部分
のカラーCRTでは、赤、緑、および青の蛍光体ドットの単一の3つ組を一意に
選択することができない。したがって、最小の可能なピクセルサイズは、蛍光体
ドットを励起するために使用される電子銃のフォーカス、アライメント、および
帯域幅に依存することになる。CRTディスプレイに対して周知の様々な配置に
おける、赤、緑、および青の蛍光体ドットの、1つまたは複数の3つ組から放出
される光は、混合する傾向があり、離れた所では単色光源として見える。
一群のスポットの中の1つのスポットを指すために使用される。このスポットは
、選択的に活動化されてディスプレイデバイス上のイメージを形成する。大部分
のカラーCRTでは、赤、緑、および青の蛍光体ドットの単一の3つ組を一意に
選択することができない。したがって、最小の可能なピクセルサイズは、蛍光体
ドットを励起するために使用される電子銃のフォーカス、アライメント、および
帯域幅に依存することになる。CRTディスプレイに対して周知の様々な配置に
おける、赤、緑、および青の蛍光体ドットの、1つまたは複数の3つ組から放出
される光は、混合する傾向があり、離れた所では単色光源として見える。
【0007】 カラーディスプレイでは、加法原色(additive primary c
olor)(例えば赤、緑、および青など)から放出された光の強度を変動させ
て、ほぼどんな所望のカラーピクセルの外観も達成することができる。どのカラ
ーも加えないこと、すなわちどの光も放出しないことによって、黒のピクセルが
生成される。3つのカラー全部を100パーセントを加えることによって、白の
ピクセルが生成される。
olor)(例えば赤、緑、および青など)から放出された光の強度を変動させ
て、ほぼどんな所望のカラーピクセルの外観も達成することができる。どのカラ
ーも加えないこと、すなわちどの光も放出しないことによって、黒のピクセルが
生成される。3つのカラー全部を100パーセントを加えることによって、白の
ピクセルが生成される。
【0008】 カラーCRTビデオモニタを紹介したので、次いでカラーLCDビデオモニタ
を以下の§1.2.2で紹介する。
を以下の§1.2.2で紹介する。
【0009】 (§1.2.2 LCDビデオモニタ) ポータブルコンピューティングデバイス(一般にコンピューティング器具また
は非束縛(untethered)コンピューティング器具とも呼ばれる)では
、CRTディスプレイではなく、液晶ディスプレイ(LCD)または他のフラッ
トパネルディスプレイデバイスがしばしば使用される。これは、フラットパネル
ディスプレイがCRTディスプレイより小さく、より軽い傾向があるからである
。加えて、フラットパネルディスプレイは、一般に同等サイズのCRTディスプ
レイよりも電力の消費が少ないので、電池式の応用例に十分適している。
は非束縛(untethered)コンピューティング器具とも呼ばれる)では
、CRTディスプレイではなく、液晶ディスプレイ(LCD)または他のフラッ
トパネルディスプレイデバイスがしばしば使用される。これは、フラットパネル
ディスプレイがCRTディスプレイより小さく、より軽い傾向があるからである
。加えて、フラットパネルディスプレイは、一般に同等サイズのCRTディスプ
レイよりも電力の消費が少ないので、電池式の応用例に十分適している。
【0010】 カラーLCDディスプレイは、表示されるイメージの各ピクセルを表すために
ピクセル要素をはっきりとアドレス指定するディスプレイデバイスの例である。
通常、カラーLCDディスプレイの各ピクセル要素は、3つの非正方形要素(「
サブピクセル要素」または「サブピクセル構成要素」とも呼ばれる)を含む。よ
り具体的には、各ピクセル要素は、隣接する赤、緑、および青(RGB)サブピ
クセル要素を含むことができる。したがって、1組のRGBサブピクセル要素は
、共に単一ピクセル要素を定義する。LCDディスプレイには、非正方形ピクセ
ルおよび/または4つ以上のサブピクセル要素によって定義されるピクセルを有
するものもある。
ピクセル要素をはっきりとアドレス指定するディスプレイデバイスの例である。
通常、カラーLCDディスプレイの各ピクセル要素は、3つの非正方形要素(「
サブピクセル要素」または「サブピクセル構成要素」とも呼ばれる)を含む。よ
り具体的には、各ピクセル要素は、隣接する赤、緑、および青(RGB)サブピ
クセル要素を含むことができる。したがって、1組のRGBサブピクセル要素は
、共に単一ピクセル要素を定義する。LCDディスプレイには、非正方形ピクセ
ルおよび/または4つ以上のサブピクセル要素によって定義されるピクセルを有
するものもある。
【0011】 周知のLCDディスプレイは、ディスプレイに沿ってストライプを形成するよ
うに一般に配列される一連のRGBサブピクセル要素を一般に含む。RGBスト
ライプは、通常ディスプレイの長さ全体に一方向に延びる。得られるRBGスト
ライプは、「RGBストライピング」と呼ばれることがある。コンピュータ応用
例に対して使用される多くのLDCモニタは、高さよりも幅の方が長く、RGB
垂直ストライプを有する傾向がある。他方、非束縛コンピューティング器具また
はハンドヘルドコンピューティング器具で使用される多くのLDCモニタは、幅
よりも高さの方が長く、RGB水平ストライプを有する傾向がある。本発明は、
水平ストライプを有する、例えばLCD RGBモニタなどのモニタ上にテキス
トをレンダリングするときに使用することができる。
うに一般に配列される一連のRGBサブピクセル要素を一般に含む。RGBスト
ライプは、通常ディスプレイの長さ全体に一方向に延びる。得られるRBGスト
ライプは、「RGBストライピング」と呼ばれることがある。コンピュータ応用
例に対して使用される多くのLDCモニタは、高さよりも幅の方が長く、RGB
垂直ストライプを有する傾向がある。他方、非束縛コンピューティング器具また
はハンドヘルドコンピューティング器具で使用される多くのLDCモニタは、幅
よりも高さの方が長く、RGB水平ストライプを有する傾向がある。本発明は、
水平ストライプを有する、例えばLCD RGBモニタなどのモニタ上にテキス
トをレンダリングするときに使用することができる。
【0012】 図1は、複数の行(R1〜R8)および複数の列(C1〜C6)で配列される
周知のLCD画面100を示す。すなわち、ピクセルは、それぞれの行−列交差
で定義される。各ピクセルは、ハッチングで示す赤サブピクセル要素、クロスハ
ッチングで示す緑サブピクセル要素、およびハッチングなしで示す青サブピクセ
ル要素を含む。
周知のLCD画面100を示す。すなわち、ピクセルは、それぞれの行−列交差
で定義される。各ピクセルは、ハッチングで示す赤サブピクセル要素、クロスハ
ッチングで示す緑サブピクセル要素、およびハッチングなしで示す青サブピクセ
ル要素を含む。
【0013】 図2は、周知のディスプレイ100の上側部分をより詳細に示す。各ピクセル
要素、例えば(R1,C6)ピクセル要素が、どのように3つの別個のサブピク
セル要素またはサブピクセル構成要素、すなわち赤サブピクセル要素210、緑
サブピクセル要素220、および青サブピクセル要素230を有するかに留意さ
れたい。周知の各サブピクセル210、220、230の高さは、ピクセルの高
さの1/3または約1/3であり、その幅は、ピクセルの幅に等しいか、または
ほぼ等しい。したがって、組み合わせたとき、1/3の高さで全幅の3つのサブ
ピクセル210、220、230は、単一ピクセル要素を定義する。
要素、例えば(R1,C6)ピクセル要素が、どのように3つの別個のサブピク
セル要素またはサブピクセル構成要素、すなわち赤サブピクセル要素210、緑
サブピクセル要素220、および青サブピクセル要素230を有するかに留意さ
れたい。周知の各サブピクセル210、220、230の高さは、ピクセルの高
さの1/3または約1/3であり、その幅は、ピクセルの幅に等しいか、または
ほぼ等しい。したがって、組み合わせたとき、1/3の高さで全幅の3つのサブ
ピクセル210、220、230は、単一ピクセル要素を定義する。
【0014】 図1に戻ると、RGBピクセルサブ構成要素210、220、230の1つの
周知の配列により、ディスプレイ100上に水平カラーストライプが定義される
。したがって、図1および図2に示す周知の方式における1/3の高さのカラー
サブピクセル要素210、220、230の配列は、「水平ストライピング」と
呼ばれることもある配列を示す。
周知の配列により、ディスプレイ100上に水平カラーストライプが定義される
。したがって、図1および図2に示す周知の方式における1/3の高さのカラー
サブピクセル要素210、220、230の配列は、「水平ストライピング」と
呼ばれることもある配列を示す。
【0015】 周知のシステムでは、RGBサブピクセル要素は、表すべきイメージの単一サ
ンプルに対応する単色ピクセルを生成するために、一般にグループとしてアドレ
ス指定され、使用される。より具体的には、周知のシステムでは、ピクセル要素
のサブピクセル要素すべてについての光度値が、表すべきイメージの単一サンプ
ルから生成される。例えば、図3を参照すると、イメージ区間300は、グリッ
ド310によって12個の正方形にセグメント化される。セグメント化されたイ
メージ区間300によって定義されるグリッド310の各正方形は、単一ピクセ
ル要素によって表すべき、イメージ区間300の領域を表す。図3では、ハッチ
ングされた円320を用いて、ピクセルの関連する赤、緑、および青サブピクセ
ル要素330、332、および334に関連する光度値がそこから生成される単
一イメージサンプルを表す。
ンプルに対応する単色ピクセルを生成するために、一般にグループとしてアドレ
ス指定され、使用される。より具体的には、周知のシステムでは、ピクセル要素
のサブピクセル要素すべてについての光度値が、表すべきイメージの単一サンプ
ルから生成される。例えば、図3を参照すると、イメージ区間300は、グリッ
ド310によって12個の正方形にセグメント化される。セグメント化されたイ
メージ区間300によって定義されるグリッド310の各正方形は、単一ピクセ
ル要素によって表すべき、イメージ区間300の領域を表す。図3では、ハッチ
ングされた円320を用いて、ピクセルの関連する赤、緑、および青サブピクセ
ル要素330、332、および334に関連する光度値がそこから生成される単
一イメージサンプルを表す。
【0016】 周知のLCDディスプレイの一般的な構造およびオペレーションを紹介したの
で、そのようなLCDディスプレイ上にテキストをレンダリングするための周知
の技法、ならびにそのような周知の技法の欠点を以下の§1.2.2.1で紹介
する。
で、そのようなLCDディスプレイ上にテキストをレンダリングするための周知
の技法、ならびにそのような周知の技法の欠点を以下の§1.2.2.1で紹介
する。
【0017】 (§1.2.2.1 LCDディスプレイ上でのテキストのレンダリング) 純粋なイメージ情報またはビデオ情報の他に、LCDディスプレイは、テキス
ト情報をレンダリングするためにしばしば使用される。例えば、個人情報マネー
ジャを使用して、例えばある人の住所、電話番号、FAX番号、およびEメール
アドレスなどの連絡先情報をレンダリングすることができる。
ト情報をレンダリングするためにしばしば使用される。例えば、個人情報マネー
ジャを使用して、例えばある人の住所、電話番号、FAX番号、およびEメール
アドレスなどの連絡先情報をレンダリングすることができる。
【0018】 フォントセットを用いるテキスト情報の表現を以下の§1.2.2.1.1で
紹介する。次いで、いわゆるピクセル精度(pixel precision)
を用いたテキスト情報のレンダリングと、それを行うことについての認識されて
いる欠点とを以下の§1.2.2.1.2で紹介する。
紹介する。次いで、いわゆるピクセル精度(pixel precision)
を用いたテキスト情報のレンダリングと、それを行うことについての認識されて
いる欠点とを以下の§1.2.2.1.2で紹介する。
【0019】 (§1.2.2.1.1 フォントセット) 「フォント」は、1組の同じ書体(typeface)(Times Rom
an、Courier Newなど)、同じスタイル(イタリックなど)、同じ
ウェイト(ボールドなどで、厳密に言えば同じサイズ)の文字である。文字は、
例えばワシントン州レドモンドのMicrosoft Corporation
のWord(商標)ワードプロセッサの「Parties MT」、「Webd
ings」、および「Windings」シンボルグループなどのシンボルを含
むことがある。「書体」は、傾き(obliqueness)(すなわち傾斜(
slant)の程度)およびストークウェイト(stoke weight)(
すなわち線の太さ)を指定した、1組の印刷文字の特定の名前のデザイン(例え
ばHelvetica Bold Oblique)である。厳密に言えば、書
体はフォントと同じではなく、フォントは特定の書体の特定のサイズである(1
2ポイントHelvetica Bold Oblique)。しかしフォント
には「スケーラブル」であるものがあるので、用語「フォント」および「書体」
は相互交換可能に使用されることがある。「書体ファミリ」は一群の関連する書
体である。例えば、Helveticaファミリは、Helvetica、He
lvetica Bold、Helvetica Oblique、およびHe
lvetica Bold Obliqueを含むことができる。
an、Courier Newなど)、同じスタイル(イタリックなど)、同じ
ウェイト(ボールドなどで、厳密に言えば同じサイズ)の文字である。文字は、
例えばワシントン州レドモンドのMicrosoft Corporation
のWord(商標)ワードプロセッサの「Parties MT」、「Webd
ings」、および「Windings」シンボルグループなどのシンボルを含
むことがある。「書体」は、傾き(obliqueness)(すなわち傾斜(
slant)の程度)およびストークウェイト(stoke weight)(
すなわち線の太さ)を指定した、1組の印刷文字の特定の名前のデザイン(例え
ばHelvetica Bold Oblique)である。厳密に言えば、書
体はフォントと同じではなく、フォントは特定の書体の特定のサイズである(1
2ポイントHelvetica Bold Oblique)。しかしフォント
には「スケーラブル」であるものがあるので、用語「フォント」および「書体」
は相互交換可能に使用されることがある。「書体ファミリ」は一群の関連する書
体である。例えば、Helveticaファミリは、Helvetica、He
lvetica Bold、Helvetica Oblique、およびHe
lvetica Bold Obliqueを含むことができる。
【0020】 多くの現代のコンピュータシステムは、テキストのレンダリングおよび表示を
容易にするために、例えばスケーラブルフォントなどの、フォントアウトライン
技術を使用する。ワシントン州レドモンドのMicrosoft Copora
tionのTrueType(商標)は、そのような技術の例である。そのよう
なシステムでは、例えば「Times New Roman」、「Onyx」、
「Courier New」など、様々なフォントセットを提供することができ
る。このフォントセットは、提供されるフォントセットを用いて表示することが
できる各文字に対する、例えば一連の輪郭などの高解像度アウトライン表示を通
常含む。この輪郭は、例えば直線または曲線にすることができる。曲線は、例え
ば2次ベジエスプラインを描く一連の点によって定義される。曲線を定義する点
は、一般に連続した順番で番号付けられるこの点の順序付けは重要であることが
ある。例えば、点の番号の昇順の方向で曲線をたどるときに、この文字アウトラ
インを曲線の右側に「充填」することができる。したがって高解像度文字アウト
ライン表示は、1組の点および数式によって定義することができる。
容易にするために、例えばスケーラブルフォントなどの、フォントアウトライン
技術を使用する。ワシントン州レドモンドのMicrosoft Copora
tionのTrueType(商標)は、そのような技術の例である。そのよう
なシステムでは、例えば「Times New Roman」、「Onyx」、
「Courier New」など、様々なフォントセットを提供することができ
る。このフォントセットは、提供されるフォントセットを用いて表示することが
できる各文字に対する、例えば一連の輪郭などの高解像度アウトライン表示を通
常含む。この輪郭は、例えば直線または曲線にすることができる。曲線は、例え
ば2次ベジエスプラインを描く一連の点によって定義される。曲線を定義する点
は、一般に連続した順番で番号付けられるこの点の順序付けは重要であることが
ある。例えば、点の番号の昇順の方向で曲線をたどるときに、この文字アウトラ
インを曲線の右側に「充填」することができる。したがって高解像度文字アウト
ライン表示は、1組の点および数式によって定義することができる。
【0021】 この点の位置は、例えば「フォントユニット」に記述することができる。「フ
ォントユニット」は、「em」正方形中の最小の測定可能な単位として定義する
ことができる。この「em」正方形は、グリフをサイズ調整し、整列させるため
に用いられる仮想の正方形である(グリフは文字とみなすことができる)。図9
に、アルファベットQの文字アウトライン920の周りの「em」正方形910
を示す。歴史的には、「em」は大文字Mの幅にほぼ等しかった。さらに歴史的
には、グリフは、em正方形を超えて延びることができなかった。しかしより一
般には、「em」正方形の寸法は、フォントの全ボディ高さ940の寸法と、あ
る余分の間隔との和である。この余分の間隔により、リーディングのないタイプ
セットが使用されたときに、テキストの行の衝突が防止される。さらに一般には
、グリフの一部は、em正方形の外側に延びることができる。直線および曲線(
または輪郭)を定義する点の座標は、ベースライン930(Y座標=0)に対し
て位置付けることができる。文字アウトライン920の、ベースライン930よ
り上の部分は、グリフの「アセント(ascent)」942と呼ばれる。文字
アウトライン920の、ベースライン930より下の部分は、グリフの「ディー
セント(decent)」944と呼ばれる。例えば日本語など、文字がベース
ライン上に位置し、ベースラインの下に延びる文字の部分がない言語があること
に留意されたい。
ォントユニット」は、「em」正方形中の最小の測定可能な単位として定義する
ことができる。この「em」正方形は、グリフをサイズ調整し、整列させるため
に用いられる仮想の正方形である(グリフは文字とみなすことができる)。図9
に、アルファベットQの文字アウトライン920の周りの「em」正方形910
を示す。歴史的には、「em」は大文字Mの幅にほぼ等しかった。さらに歴史的
には、グリフは、em正方形を超えて延びることができなかった。しかしより一
般には、「em」正方形の寸法は、フォントの全ボディ高さ940の寸法と、あ
る余分の間隔との和である。この余分の間隔により、リーディングのないタイプ
セットが使用されたときに、テキストの行の衝突が防止される。さらに一般には
、グリフの一部は、em正方形の外側に延びることができる。直線および曲線(
または輪郭)を定義する点の座標は、ベースライン930(Y座標=0)に対し
て位置付けることができる。文字アウトライン920の、ベースライン930よ
り上の部分は、グリフの「アセント(ascent)」942と呼ばれる。文字
アウトライン920の、ベースライン930より下の部分は、グリフの「ディー
セント(decent)」944と呼ばれる。例えば日本語など、文字がベース
ライン上に位置し、ベースラインの下に延びる文字の部分がない言語があること
に留意されたい。
【0022】 格納されるアウトライン文字表示は、文字の最大の水平境界および垂直境界(
「ホワイトスペース」または「サイドベアリング」(side bearing
)とも呼ばれる)を超えるスペースを通常は表さない。したがって、文字フォン
トの格納された文字アウトライン部分は、しばしばブラックボディ(またはBB
)と呼ばれる。フォントジェネレータは、文字アウトラインを、アプリケーショ
ンが必要とするスタイルおよびサイズのビットマップに変換するためのプログラ
ムである。フォントジェネレータ(「ラスタライザ」とも呼ばれる)は、一般に
文字アウトラインを必要なサイズにスケーリングすることによって動作し、しば
しば生成した文字を伸張または圧縮することができる。
「ホワイトスペース」または「サイドベアリング」(side bearing
)とも呼ばれる)を超えるスペースを通常は表さない。したがって、文字フォン
トの格納された文字アウトライン部分は、しばしばブラックボディ(またはBB
)と呼ばれる。フォントジェネレータは、文字アウトラインを、アプリケーショ
ンが必要とするスタイルおよびサイズのビットマップに変換するためのプログラ
ムである。フォントジェネレータ(「ラスタライザ」とも呼ばれる)は、一般に
文字アウトラインを必要なサイズにスケーリングすることによって動作し、しば
しば生成した文字を伸張または圧縮することができる。
【0023】 ブラックボディ文字アウトライン情報に加えて、文字フォントは、通常ブラッ
クボディサイズ情報、ブラックボディ位置決め情報、および全文字幅情報を含む
。ブラックボディサイズ情報は、ブラックボディの垂直枠および水平枠を定義す
るために使用されるバウンディングボックスの寸法によって表されることがある
。
クボディサイズ情報、ブラックボディ位置決め情報、および全文字幅情報を含む
。ブラックボディサイズ情報は、ブラックボディの垂直枠および水平枠を定義す
るために使用されるバウンディングボックスの寸法によって表されることがある
。
【0024】 次いで、文字を定義するために使用されるいくつかの用語を、図4を参照しな
がら定義する。図4はアルファベットAおよびIの文字アウトライン400を示
す。ボックス408は、文字(A)のブラックボディ407のサイズを定義する
バウンディングボックスである。文字(A)に関連付けるべきホワイトスペース
を含む文字(A)の全幅は、アドバンス幅(またはAW)値402によって示さ
れる。アドバンス幅は、一般にバウンディングボックス408の左の点で始まる
。この点404は、左サイドベアリング点(またはLSBP)と呼ばれる。左サ
イドベアリング点404は、文字(A)を現表示位置に対して位置付けるための
水平開始点を定義する。バウンディングボックス408の左端とベアリング点4
04との間の水平距離410は、左サイドベアリング(またはLSB)と呼ばれ
る。左サイドベアリング410は、現文字(A)のバウンディングボックス40
8の左端と、先行する文字(図示せず)の右端ベアリング点との間のホワイトス
ペースの量を示す。アドバンス幅402の端の、バウンディングボックス408
の右の点406は、右サイドベアリング点(またはRSBP)と呼ばれる。右サ
イドベアリング点406により、現文字(A)の端と、次の文字(I)の左サイ
ドベアリング点404′を位置付けるべき点とが定義される。バウンディングボ
ックス408の端と、右サイドベアリング点406との間の水平距離412は、
右サイドベアリング(またはRSB)と呼ばれる。右サイドベアリング412は
、現文字(A)のバウンディングボックス408の右端と、次の文字(I)の左
サイドベアリング点404′との間のホワイトスペースの量を示す。左サイドベ
アリングおよび右サイドベアリングは、ゼロ(0)または負の値を有することが
できることに留意されたい。日本語および他の極東言語で使用される文字では、
アドバンス幅、左サイドベアリング、および右サイドベアリングに類似のメトリ
ック、すなわちアドバンス高さ(AH)、上サイドベアリング(TSB)、およ
び下サイドベアリング(BSB)も使用できることにも留意されたい。
がら定義する。図4はアルファベットAおよびIの文字アウトライン400を示
す。ボックス408は、文字(A)のブラックボディ407のサイズを定義する
バウンディングボックスである。文字(A)に関連付けるべきホワイトスペース
を含む文字(A)の全幅は、アドバンス幅(またはAW)値402によって示さ
れる。アドバンス幅は、一般にバウンディングボックス408の左の点で始まる
。この点404は、左サイドベアリング点(またはLSBP)と呼ばれる。左サ
イドベアリング点404は、文字(A)を現表示位置に対して位置付けるための
水平開始点を定義する。バウンディングボックス408の左端とベアリング点4
04との間の水平距離410は、左サイドベアリング(またはLSB)と呼ばれ
る。左サイドベアリング410は、現文字(A)のバウンディングボックス40
8の左端と、先行する文字(図示せず)の右端ベアリング点との間のホワイトス
ペースの量を示す。アドバンス幅402の端の、バウンディングボックス408
の右の点406は、右サイドベアリング点(またはRSBP)と呼ばれる。右サ
イドベアリング点406により、現文字(A)の端と、次の文字(I)の左サイ
ドベアリング点404′を位置付けるべき点とが定義される。バウンディングボ
ックス408の端と、右サイドベアリング点406との間の水平距離412は、
右サイドベアリング(またはRSB)と呼ばれる。右サイドベアリング412は
、現文字(A)のバウンディングボックス408の右端と、次の文字(I)の左
サイドベアリング点404′との間のホワイトスペースの量を示す。左サイドベ
アリングおよび右サイドベアリングは、ゼロ(0)または負の値を有することが
できることに留意されたい。日本語および他の極東言語で使用される文字では、
アドバンス幅、左サイドベアリング、および右サイドベアリングに類似のメトリ
ック、すなわちアドバンス高さ(AH)、上サイドベアリング(TSB)、およ
び下サイドベアリング(BSB)も使用できることにも留意されたい。
【0025】 上記で論じたように、スケーラブルフォントファイルは、通常、サポートされ
る各文字についてのブラックボディサイズ情報、ブラックボディ位置決め情報、
および全体文字幅情報を含む。ブラックボディサイズ情報は、バウンディングボ
ックス408の寸法の形態で表される水平および垂直サイズ情報を含むことがで
きる。ブラックボディ位置決め情報は、左サイドベアリング値410として表す
ことができる。全体文字幅情報は、アドバンス幅402として表すことができる
。
る各文字についてのブラックボディサイズ情報、ブラックボディ位置決め情報、
および全体文字幅情報を含む。ブラックボディサイズ情報は、バウンディングボ
ックス408の寸法の形態で表される水平および垂直サイズ情報を含むことがで
きる。ブラックボディ位置決め情報は、左サイドベアリング値410として表す
ことができる。全体文字幅情報は、アドバンス幅402として表すことができる
。
【0026】 (§1.2.2.1.2 ピクセル精度へのテキストのレンダリング) フォントジェネレータがブラックボディ文字アウトラインをビットマップに変
換することを想起されたい。この変換では、レンダリングすべきフォントのポイ
ントサイズと、テキストを最終的にレンダリングするデバイス(例えばビデオデ
ィスプレイ、プリンタなど)の解像度(例えばドット/インチ、ピクセル/イン
チなど)とを考慮することができる。大部分のコンピュータシステムは、レンダ
リングすべき文字の開始点および終点(例えば、それぞれ左サイドベアリング点
および右サイドベアリング点)を強制的にピクセル境界上に位置付ける。加えて
、そのようなコンピュータシステムは、ブラックボディ幅および左サイドベアリ
ングを、強制的にピクセルサイズの整数倍に変換する。周知の実施態様では、こ
れらの制約は、(i)文字フォント中に含まれるサイズ情報および位置決め情報
を、上述のポイントサイズおよびデバイス解像度に応じてスケーリングし、(i
i)次いで、サイズ値および位置決め値をその特定の表示デバイスで用いられる
ピクセルサイズの整数倍に丸めることによって実施される。ピクセルサイズ単位
を最小(または「微小(atomic)」)距離単位として用いることにより、
「ピクセル精度」と呼ばれるものが生成される。その値が正確に1ピクセルのサ
イズであるからである。
換することを想起されたい。この変換では、レンダリングすべきフォントのポイ
ントサイズと、テキストを最終的にレンダリングするデバイス(例えばビデオデ
ィスプレイ、プリンタなど)の解像度(例えばドット/インチ、ピクセル/イン
チなど)とを考慮することができる。大部分のコンピュータシステムは、レンダ
リングすべき文字の開始点および終点(例えば、それぞれ左サイドベアリング点
および右サイドベアリング点)を強制的にピクセル境界上に位置付ける。加えて
、そのようなコンピュータシステムは、ブラックボディ幅および左サイドベアリ
ングを、強制的にピクセルサイズの整数倍に変換する。周知の実施態様では、こ
れらの制約は、(i)文字フォント中に含まれるサイズ情報および位置決め情報
を、上述のポイントサイズおよびデバイス解像度に応じてスケーリングし、(i
i)次いで、サイズ値および位置決め値をその特定の表示デバイスで用いられる
ピクセルサイズの整数倍に丸めることによって実施される。ピクセルサイズ単位
を最小(または「微小(atomic)」)距離単位として用いることにより、
「ピクセル精度」と呼ばれるものが生成される。その値が正確に1ピクセルのサ
イズであるからである。
【0027】 文字フォントのサイズ値および位置決め値をピクセル精度に丸めることにより
、変化、すなわち誤差が、表示されるイメージに導入される。これらの各誤差は
、(ピクセルの1/2未満の値が切捨てられ、ピクセルの1/2以上の値が切上
げられると仮定すると)最大1/2ピクセルのサイズになる可能性がある。した
がって文字のAWが丸められる(可能性がある)ので、文字の全幅は、所望の精
度よりも低い精度になる可能性がある。加えて、文字に割り振られる全水平スペ
ース内でのその文字のブラックボディの位置決めは、左サイドベアリングが丸め
られる(可能性がある)ので、最適以下になる可能性がある。小さいポイントサ
イズでは、ピクセル精度を用いる丸めによって導入される変化は、顕著になる可
能性がある。
、変化、すなわち誤差が、表示されるイメージに導入される。これらの各誤差は
、(ピクセルの1/2未満の値が切捨てられ、ピクセルの1/2以上の値が切上
げられると仮定すると)最大1/2ピクセルのサイズになる可能性がある。した
がって文字のAWが丸められる(可能性がある)ので、文字の全幅は、所望の精
度よりも低い精度になる可能性がある。加えて、文字に割り振られる全水平スペ
ース内でのその文字のブラックボディの位置決めは、左サイドベアリングが丸め
られる(可能性がある)ので、最適以下になる可能性がある。小さいポイントサ
イズでは、ピクセル精度を用いる丸めによって導入される変化は、顕著になる可
能性がある。
【0028】 (§1.2.3 未対処のニーズ) 上述の§1.2.2.1.2で紹介したような、文字の値をピクセル精度に丸
めるときに導入される誤差に鑑みて、テキストの解像度を向上させる方法および
装置が必要である。テキストの可読性および知覚される品質の向上は、例えば垂
直ストライピングを有するRBG LCDなどのディスプレイ上だけでなく、水
平ストライピングを有するRBG LCDなどのディスプレイ上でも機能し続け
るべきである。
めるときに導入される誤差に鑑みて、テキストの解像度を向上させる方法および
装置が必要である。テキストの可読性および知覚される品質の向上は、例えば垂
直ストライピングを有するRBG LCDなどのディスプレイ上だけでなく、水
平ストライピングを有するRBG LCDなどのディスプレイ上でも機能し続け
るべきである。
【0029】 (§2 発明の概要) 本発明は、RGB LCDなどのサブピクセル要素を有するディスプレイデバ
イス、具体的には水平ストライピングを有するディスプレイデバイス上にレンダ
リングされるテキストの解像度を向上させる。本発明では、そのことを(i)文
字アウトライン情報を垂直(またはY)方向にオーバスケーリング(またはオー
バサンプリング)し、(ii)オーバスケーリング(またはオーバサンプリング
)した文字アウトライン情報から、変位した(直接隣接するか、または間隔を置
いて配置されるかのいずれかでオーバラップする)走査変換ソースサンプルをフ
ィルタ処理する(例えば平均する)ことによって行うことができる。
イス、具体的には水平ストライピングを有するディスプレイデバイス上にレンダ
リングされるテキストの解像度を向上させる。本発明では、そのことを(i)文
字アウトライン情報を垂直(またはY)方向にオーバスケーリング(またはオー
バサンプリング)し、(ii)オーバスケーリング(またはオーバサンプリング
)した文字アウトライン情報から、変位した(直接隣接するか、または間隔を置
いて配置されるかのいずれかでオーバラップする)走査変換ソースサンプルをフ
ィルタ処理する(例えば平均する)ことによって行うことができる。
【0030】 本発明は、(左サイドベアリング、アドバンス幅、垂直文字サイズ、アセント
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整することもできる。
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整することもできる。
【0031】 本発明は、強制的にベースラインの上の第1ピクセルが走査変換ソースサンプ
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。これにより、ベースラ
インの「ジャンピング」または「バウンシング(bouncing)」が防止さ
れる。
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。これにより、ベースラ
インの「ジャンピング」または「バウンシング(bouncing)」が防止さ
れる。
【0032】 本発明は、走査変換ソースサンプルのグループを圧縮ピクセルインデックス値
に変換することもできる。
に変換することもできる。
【0033】 本発明は、隣接するサブピクセル要素の強度の差が普通なら見る妨げとなると
きに、カラー値を選択的にフィルタすることもできる。
きに、カラー値を選択的にフィルタすることもできる。
【0034】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正がより有用である強度の範囲内となるように、ピク
セル値のガンマを補正することができる(または、ガンマ補正と類似の効果を達
成することができる)。
ル要素の強度値がガンマ補正がより有用である強度の範囲内となるように、ピク
セル値のガンマを補正することができる(または、ガンマ補正と類似の効果を達
成することができる)。
【0035】 (§4 詳細な説明) 本発明は、水平ストライピングを有する、例えばRGB LCDディスプレイ
などのディスプレイ上にレンダリングすべきフォントの解像度を向上するために
使用される、新規の方法、装置、およびデータ構造に関する。以下の説明を、当
業者が本発明を作成し、使用することが可能となるように提示し、特定の応用例
およびその要件の状況の下で提供する。開示される実施形態への様々な修正形態
は、当業者には明らかであろう。そして以下で説明する一般的原理は、他の実施
形態および応用例にも適用することができる。したがって、本発明は、ここに示
す実施形態には制限されないものとする。
などのディスプレイ上にレンダリングすべきフォントの解像度を向上するために
使用される、新規の方法、装置、およびデータ構造に関する。以下の説明を、当
業者が本発明を作成し、使用することが可能となるように提示し、特定の応用例
およびその要件の状況の下で提供する。開示される実施形態への様々な修正形態
は、当業者には明らかであろう。そして以下で説明する一般的原理は、他の実施
形態および応用例にも適用することができる。したがって、本発明は、ここに示
す実施形態には制限されないものとする。
【0036】 フラットパネル画面上でテキストの判読率を向上するためのシステムの状況の
下で、本発明の方法、装置、およびデータ構造を説明する。§4.1では、本発
明で実行することができる機能を紹介する。§4.2では、本発明を実行するた
めの例示的プロセス、方法、およびデータ構造を説明する。§4.2全体を通し
て、本発明の例示的実施形態のオペレーションおよび中間データ構造を提供する
。最後に、本発明についてのまとめを§4.3で提示する。
下で、本発明の方法、装置、およびデータ構造を説明する。§4.1では、本発
明で実行することができる機能を紹介する。§4.2では、本発明を実行するた
めの例示的プロセス、方法、およびデータ構造を説明する。§4.2全体を通し
て、本発明の例示的実施形態のオペレーションおよび中間データ構造を提供する
。最後に、本発明についてのまとめを§4.3で提示する。
【0037】 (§4.1 本発明の機能) 本発明は、例えばRGB LCDなどのサブピクセル要素を有するディスプレ
イデバイス、具体的には水平ストライピングを有するディスプレイデバイス上に
レンダリングされるテキストの解像度を増加させる働きをする。本発明では、そ
のことを(i)文字アウトライン情報を垂直(またはY)方向にオーバスケーリ
ング(またはオーバサンプリング)し、(ii)オーバスケーリング(またはオ
ーバサンプル)した文字アウトライン情報から、変位した(直接隣接するか、ま
たは間隔を置いて配置されるかのいずれかでオーバラップする)走査変換ソース
サンプルをフィルタ処理する(例えば平均する)ことによって行うことができる
。
イデバイス、具体的には水平ストライピングを有するディスプレイデバイス上に
レンダリングされるテキストの解像度を増加させる働きをする。本発明では、そ
のことを(i)文字アウトライン情報を垂直(またはY)方向にオーバスケーリ
ング(またはオーバサンプリング)し、(ii)オーバスケーリング(またはオ
ーバサンプル)した文字アウトライン情報から、変位した(直接隣接するか、ま
たは間隔を置いて配置されるかのいずれかでオーバラップする)走査変換ソース
サンプルをフィルタ処理する(例えば平均する)ことによって行うことができる
。
【0038】 本発明は、(左サイドベアリング、アドバンス幅、垂直文字サイズ、アセント
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整する働きもする。
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整する働きもする。
【0039】 本発明は、強制的にベースラインの上の第1ピクセルが走査変換ソースサンプ
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。
【0040】 本発明は、走査変換ソースサンプルのグループを圧縮ピクセルインデックス値
に変換することもできる。以下では走査変換プロセスを、「走査変換ソースサン
プル」に対して動作するものとして説明するが、この走査変換プロセス、ならび
にオーバスケーリング(またはオーバサンプリング)プロセスおよびヒンティン
グプロセスは、離散的サンプルではなくアナログ情報に対して動作するアナログ
オペレーションとすることができる。
に変換することもできる。以下では走査変換プロセスを、「走査変換ソースサン
プル」に対して動作するものとして説明するが、この走査変換プロセス、ならび
にオーバスケーリング(またはオーバサンプリング)プロセスおよびヒンティン
グプロセスは、離散的サンプルではなくアナログ情報に対して動作するアナログ
オペレーションとすることができる。
【0041】 本発明は、隣接するサブピクセル要素の強度の差が普通なら見る妨げとなると
きに、カラー値を選択的にフィルタする働きもする。
きに、カラー値を選択的にフィルタする働きもする。
【0042】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正がより有用である強度の範囲内になるように、ピク
セル値のガンマを補正することができる。
ル要素の強度値がガンマ補正がより有用である強度の範囲内になるように、ピク
セル値のガンマを補正することができる。
【0043】 (§4.2 本発明の様々な態様を実行するための例示的装置、プロセス、方
法、およびデータ構造) 本発明の様々な態様を実施するために使用することができる例示的方法、装置
、およびデータ構造を、水平ストライピングを有するフラットパネル画面上のテ
キストの判読率を向上させるためのシステム(テキスト向上システムとも呼ばれ
る)の状況の下で説明する。このシステムの概観を以下の§4.2.2で提示す
る。しかしその前に、本発明の少なくともいくつかの態様を実施するために使用
することができる例示的装置ならびにテキスト向上システムを以下の§4.2.
1で説明する。
法、およびデータ構造) 本発明の様々な態様を実施するために使用することができる例示的方法、装置
、およびデータ構造を、水平ストライピングを有するフラットパネル画面上のテ
キストの判読率を向上させるためのシステム(テキスト向上システムとも呼ばれ
る)の状況の下で説明する。このシステムの概観を以下の§4.2.2で提示す
る。しかしその前に、本発明の少なくともいくつかの態様を実施するために使用
することができる例示的装置ならびにテキスト向上システムを以下の§4.2.
1で説明する。
【0044】 (§4.2.1 例示的装置) 図5Aおよび以下の考察では、本発明の少なくともいくつかの態様を実施する
ことができる例示的装置の、簡潔で一般的な説明を提供する。パーソナルコンピ
ュータなどのコンピューティングデバイスによって実行される、例えばプログラ
ムモジュールおよび/またはルーチンなどのコンピュータ実行可能命令の一般的
状況の下で、本発明の様々な方法を説明する。本発明の他の態様を、例えばディ
スプレイデバイス構成要素およびディスプレイ画面などの物理的ハードウェアに
よって説明する。
ことができる例示的装置の、簡潔で一般的な説明を提供する。パーソナルコンピ
ュータなどのコンピューティングデバイスによって実行される、例えばプログラ
ムモジュールおよび/またはルーチンなどのコンピュータ実行可能命令の一般的
状況の下で、本発明の様々な方法を説明する。本発明の他の態様を、例えばディ
スプレイデバイス構成要素およびディスプレイ画面などの物理的ハードウェアに
よって説明する。
【0045】 もちろん、本発明の方法は、ここで説明する装置以外の他の装置によって実施
することもできる。プログラムモジュールは、タスクを実行したり、または特定
の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、
データ構造(例えばルックアップテーブルなど)を含むことができる。さらに、
本発明の少なくともいくつかの態様を、ハンドヘルドデバイス、マルチプロセッ
サシステム、マイクロプロセッサベースまたはプログラム可能消費者エレクトロ
ニクス、ネットワークコンピュータ、ミニコンピュータ、セットトップボックス
、メインフレームコンピュータ、および、例えば自動車、航空、工業の適用分野
で使用されるディスプレイなどを含む他の構成で実施することができることを当
業者は理解されよう。本発明の少なくともいくつかの態様を、タスクが通信ネッ
トワークを介してリンクされるリモート処理デバイスによって実行される分散コ
ンピューティング環境で実施することもできる。分散コンピューティング環境で
は、プログラムモジュールは、ローカルおよび/またはリモートメモリ記憶デバ
イス中に位置付けることができる。
することもできる。プログラムモジュールは、タスクを実行したり、または特定
の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、
データ構造(例えばルックアップテーブルなど)を含むことができる。さらに、
本発明の少なくともいくつかの態様を、ハンドヘルドデバイス、マルチプロセッ
サシステム、マイクロプロセッサベースまたはプログラム可能消費者エレクトロ
ニクス、ネットワークコンピュータ、ミニコンピュータ、セットトップボックス
、メインフレームコンピュータ、および、例えば自動車、航空、工業の適用分野
で使用されるディスプレイなどを含む他の構成で実施することができることを当
業者は理解されよう。本発明の少なくともいくつかの態様を、タスクが通信ネッ
トワークを介してリンクされるリモート処理デバイスによって実行される分散コ
ンピューティング環境で実施することもできる。分散コンピューティング環境で
は、プログラムモジュールは、ローカルおよび/またはリモートメモリ記憶デバ
イス中に位置付けることができる。
【0046】 図5Aは、本発明の少なくともいくつかの態様を実施するために使用すること
ができる例示的装置500のブロックダイアグラムである。パーソナルコンピュ
ータ520は、処理デバイス521、システムメモリ522、システムメモリ5
22を含む様々なシステム構成要素を処理デバイス521に結合するシステムバ
ス523を含むことができる。システムバス523は、メモリバスまたはメモリ
コントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを用いる
ローカルバスを含む、いくつかのタイプのバス構造のうちのいずれでもよい。シ
ステムメモリ522は、読み出し専用メモリ(ROM)524および/またはラ
ンダムアクセスメモリ(RAM)525を含むことができる。スタートアップの
間などにパーソナルコンピュータ520内の要素間で情報を転送するのに役立つ
基本ルーチンを含む基本入出力システム526(BIOS)をROM524中に
格納することができる。パーソナルコンピュータ520は、ハードディスク(図
示せず)に読み書きするためのハードディスクドライブ527、(例えば取外し
可能な)磁気ディスク529に読み書きするための磁気ディスクドライブ528
、およびコンパクトディスクまたは他の(磁気)光媒体などの(磁気)光ディス
ク531に読み書きするための光ディスクドライブ530も含むことができる。
ハードディスクドライブ527、磁気ディスクドライブ528、および(磁気)
光ディスクドライブ530は、それぞれハードディスクドライブインターフェー
ス532、磁気ディスクドライブインターフェース533、および(磁気)光ド
ライブインターフェース534によってシステムバス523と結合することがで
きる。ドライブおよびその関連する記憶媒体により、パーソナルコンピュータ5
20のためのマシン可読命令、データ構造、プログラムモジュール、および他の
データの不揮発性記憶が提供される。本明細書に説明する例示的環境は、ハード
ディスク、取外し可能磁気ディスク529および取外し可能光ディスク531を
使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク
、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み出し専用
メモリ(ROM)などの他のタイプの記憶媒体を、上記で紹介した記憶デバイス
の代わりに、またはそれに加えて使用できることを当業者は理解されよう。
ができる例示的装置500のブロックダイアグラムである。パーソナルコンピュ
ータ520は、処理デバイス521、システムメモリ522、システムメモリ5
22を含む様々なシステム構成要素を処理デバイス521に結合するシステムバ
ス523を含むことができる。システムバス523は、メモリバスまたはメモリ
コントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを用いる
ローカルバスを含む、いくつかのタイプのバス構造のうちのいずれでもよい。シ
ステムメモリ522は、読み出し専用メモリ(ROM)524および/またはラ
ンダムアクセスメモリ(RAM)525を含むことができる。スタートアップの
間などにパーソナルコンピュータ520内の要素間で情報を転送するのに役立つ
基本ルーチンを含む基本入出力システム526(BIOS)をROM524中に
格納することができる。パーソナルコンピュータ520は、ハードディスク(図
示せず)に読み書きするためのハードディスクドライブ527、(例えば取外し
可能な)磁気ディスク529に読み書きするための磁気ディスクドライブ528
、およびコンパクトディスクまたは他の(磁気)光媒体などの(磁気)光ディス
ク531に読み書きするための光ディスクドライブ530も含むことができる。
ハードディスクドライブ527、磁気ディスクドライブ528、および(磁気)
光ディスクドライブ530は、それぞれハードディスクドライブインターフェー
ス532、磁気ディスクドライブインターフェース533、および(磁気)光ド
ライブインターフェース534によってシステムバス523と結合することがで
きる。ドライブおよびその関連する記憶媒体により、パーソナルコンピュータ5
20のためのマシン可読命令、データ構造、プログラムモジュール、および他の
データの不揮発性記憶が提供される。本明細書に説明する例示的環境は、ハード
ディスク、取外し可能磁気ディスク529および取外し可能光ディスク531を
使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク
、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み出し専用
メモリ(ROM)などの他のタイプの記憶媒体を、上記で紹介した記憶デバイス
の代わりに、またはそれに加えて使用できることを当業者は理解されよう。
【0047】 ハードディスク523、磁気ディスク529、(磁気)光ディスク531、R
OM524またはRAM525上に、例えばオペレーティングシステム535、
1つまたは複数のアプリケーションプログラム536、他のプログラムモジュー
ル537、(以下の§4.2.2.2で説明する)ディスプレイドライバ732
、および/またはプログラムデータ538などのいくつかのプログラムモジュー
ルを格納することができる。
OM524またはRAM525上に、例えばオペレーティングシステム535、
1つまたは複数のアプリケーションプログラム536、他のプログラムモジュー
ル537、(以下の§4.2.2.2で説明する)ディスプレイドライバ732
、および/またはプログラムデータ538などのいくつかのプログラムモジュー
ルを格納することができる。
【0048】 RAM525は、以下で説明するように、表示するレンダリングイメージで使
用されるデータを格納するためにも使用することができる。ユーザは、例えばキ
ーボード540およびポインティングデバイス542などの入力デバイスを介し
て、パーソナルコンピュータ520にコマンドおよび情報を入力することができ
る。マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ
、スキャナなどの他の入力デバイス(図示せず)も含めることができる。これら
および他の入力デバイスは、しばしば、システムバスに結合するシリアルポート
インターフェース546を介して処理デバイス521に接続される。しかし、入
力デバイスは、パラレルポート、ゲームポート、またはユニバーサルシリアルバ
ス(USB)などの他のインターフェースによって接続することもできる。モニ
タ547または他のタイプのディスプレイデバイスも、例えばディスプレイアダ
プタ548などのインターフェースを介してシステムバス523に接続すること
ができる。モニタ547に加えて、パーソナルコンピュータ520は、例えばス
ピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)を含むことがで
きる。
用されるデータを格納するためにも使用することができる。ユーザは、例えばキ
ーボード540およびポインティングデバイス542などの入力デバイスを介し
て、パーソナルコンピュータ520にコマンドおよび情報を入力することができ
る。マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ
、スキャナなどの他の入力デバイス(図示せず)も含めることができる。これら
および他の入力デバイスは、しばしば、システムバスに結合するシリアルポート
インターフェース546を介して処理デバイス521に接続される。しかし、入
力デバイスは、パラレルポート、ゲームポート、またはユニバーサルシリアルバ
ス(USB)などの他のインターフェースによって接続することもできる。モニ
タ547または他のタイプのディスプレイデバイスも、例えばディスプレイアダ
プタ548などのインターフェースを介してシステムバス523に接続すること
ができる。モニタ547に加えて、パーソナルコンピュータ520は、例えばス
ピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)を含むことがで
きる。
【0049】 パーソナルコンピュータ520は、リモートコンピュータ549などの1つま
たは複数のリモートコンピュータへの論理接続を定義するネットワーク環境で動
作することができる。リモートコンピュータ549は、別のパーソナルコンピュ
ータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネッ
トワークノードとすることができ、パーソナルコンピュータ520に関連する上
述の要素のうちの多くまたはすべてを含むことができる。図5Aに示す論理接続
は、ローカルエリアネットワーク(LAN)551および(例えばイントラネッ
トおよびインターネットなどの)ワイドエリアネットワーク(WAN)552を
含む。
たは複数のリモートコンピュータへの論理接続を定義するネットワーク環境で動
作することができる。リモートコンピュータ549は、別のパーソナルコンピュ
ータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネッ
トワークノードとすることができ、パーソナルコンピュータ520に関連する上
述の要素のうちの多くまたはすべてを含むことができる。図5Aに示す論理接続
は、ローカルエリアネットワーク(LAN)551および(例えばイントラネッ
トおよびインターネットなどの)ワイドエリアネットワーク(WAN)552を
含む。
【0050】 LANで使用するとき、パーソナルコンピュータ520は、ネットワークイン
ターフェースアダプタカード(または「NIC」)553を介してLAN551
に接続することができる。インターネットなどのWANで使用するとき、パーソ
ナルコンピュータ520は、ワイドエリアネットワーク552を介して通信を確
立するためのモデム554または他の手段を含むことができる。モデム554は
、内蔵または外付けとすることができ、シリアルポートインターフェース546
を介してシステムバス523に接続することができる。ネットワーク環境では、
パーソナルコンピュータ520に関連して示すプログラムモジュールのうちの少
なくとも一部は、リモートメモリ記憶デバイス中に格納することができる。図に
示すネットワーク接続は、例示的なものであって、コンピュータ間の通信リンク
を確立する他の手段を使用することもできる。
ターフェースアダプタカード(または「NIC」)553を介してLAN551
に接続することができる。インターネットなどのWANで使用するとき、パーソ
ナルコンピュータ520は、ワイドエリアネットワーク552を介して通信を確
立するためのモデム554または他の手段を含むことができる。モデム554は
、内蔵または外付けとすることができ、シリアルポートインターフェース546
を介してシステムバス523に接続することができる。ネットワーク環境では、
パーソナルコンピュータ520に関連して示すプログラムモジュールのうちの少
なくとも一部は、リモートメモリ記憶デバイス中に格納することができる。図に
示すネットワーク接続は、例示的なものであって、コンピュータ間の通信リンク
を確立する他の手段を使用することもできる。
【0051】 図5Bは、本発明の少なくともいくつかの態様を実施することができる、より
一般的なマシン500′である。マシン500′は、プロセッサ502、入出力
インターフェースユニット504、記憶デバイス506、および結合した要素間
のデータ通信および制御通信を容易にするためのシステムバスまたはネットワー
ク508を基本的に含む。プロセッサ502は、本発明の1つまたは複数の態様
を実施するためのマシン実行可能命令を実行することができる。マシン実行可能
命令およびデータ構造の少なくとも一部分を、記憶デバイス506上に(一時的
またはより永続的に)格納することができ、かつ/または入力インターフェース
ユニット504を介して外部ソースから受信することができる。
一般的なマシン500′である。マシン500′は、プロセッサ502、入出力
インターフェースユニット504、記憶デバイス506、および結合した要素間
のデータ通信および制御通信を容易にするためのシステムバスまたはネットワー
ク508を基本的に含む。プロセッサ502は、本発明の1つまたは複数の態様
を実施するためのマシン実行可能命令を実行することができる。マシン実行可能
命令およびデータ構造の少なくとも一部分を、記憶デバイス506上に(一時的
またはより永続的に)格納することができ、かつ/または入力インターフェース
ユニット504を介して外部ソースから受信することができる。
【0052】 本発明の少なくともいくつかの態様を実施するために使用することができる例
示的装置を説明したので、次いでテキスト向上システムの概要を以下の§4.2
.2で提示する。
示的装置を説明したので、次いでテキスト向上システムの概要を以下の§4.2
.2で提示する。
【0053】 (§4.2.2 テキスト向上システム) 前述の§1.2.2で説明した図3から、大部分の従来のシステムが、イメー
ジの対応する部分をそこにマップすることができる個々のユニットとしてピクセ
ルを扱うことを想起されたい。したがって従来のシステムでは、イメージの同じ
部分、例えばピクセル要素サイズの部分が、スケーリングされたイメージの一部
がそこにマップされるピクセル要素のRGBサブピクセル要素の各々で使用すべ
き光度値を決定するために使用される。
ジの対応する部分をそこにマップすることができる個々のユニットとしてピクセ
ルを扱うことを想起されたい。したがって従来のシステムでは、イメージの同じ
部分、例えばピクセル要素サイズの部分が、スケーリングされたイメージの一部
がそこにマップされるピクセル要素のRGBサブピクセル要素の各々で使用すべ
き光度値を決定するために使用される。
【0054】 スケーリングフォントの場合、文字アウトラインの輪郭を定義する点の位置を
定義するために使用されるフォントユニット座標が、デバイス特有のピクセル座
標にスケーリングされる。すなわち、文字を表示することができる前に、em正
方形の解像度がその文字アウトラインを定義するために使用されるとき、その文
字アウトラインは、その上にレンダリングすべき出力デバイスのサイズ、変換、
および特徴を反映するようにスケーリングされなければならない。スケーリング
されたアウトラインは、emあたりのフォントユニットの測定値の相対システム
ではなく、出力デバイスのピクセルを測定するために使用される測定値の絶対単
位を反映する単位で文字アウトラインを記述する。具体的には、過去には、em
正方形単位の値は、以下の公式に従ってピクセル座標システム単位の値に変換さ
れた。
定義するために使用されるフォントユニット座標が、デバイス特有のピクセル座
標にスケーリングされる。すなわち、文字を表示することができる前に、em正
方形の解像度がその文字アウトラインを定義するために使用されるとき、その文
字アウトラインは、その上にレンダリングすべき出力デバイスのサイズ、変換、
および特徴を反映するようにスケーリングされなければならない。スケーリング
されたアウトラインは、emあたりのフォントユニットの測定値の相対システム
ではなく、出力デバイスのピクセルを測定するために使用される測定値の絶対単
位を反映する単位で文字アウトラインを記述する。具体的には、過去には、em
正方形単位の値は、以下の公式に従ってピクセル座標システム単位の値に変換さ
れた。
【0055】 ピクセル単位のサイズ=(文字アウトラインサイズ・ポイントサイズ・出力デバ
イスの解像度)/(インチあたり72ポイント・emあたりのフォントユニット
の数)
イスの解像度)/(インチあたり72ポイント・emあたりのフォントユニット
の数)
【0056】 ただし、文字サイズはフォントユニット単位であり、出力デバイスの解像度は
ピクセル/インチ単位である。
ピクセル/インチ単位である。
【0057】 出力デバイスの解像度は、インチあたりのドットまたはピクセル数(dpi)
によって指定することができる。例えば、VGAビデオモニタは96dipデバ
イスとして扱うことができ、レーザプリンタは300dpiデバイスとして扱う
ことができ、EGAビデオモニタは水平(X)方向には96dpiデバイスとし
て扱うことができるが、垂直(Y)方向には72dpiデバイスである。emあ
たりのフォントユニットは、例えば2048(=211)など、2のべきとなるよ
うに選ぶことができる(しかしそれが必要であるわけではない)。
によって指定することができる。例えば、VGAビデオモニタは96dipデバ
イスとして扱うことができ、レーザプリンタは300dpiデバイスとして扱う
ことができ、EGAビデオモニタは水平(X)方向には96dpiデバイスとし
て扱うことができるが、垂直(Y)方向には72dpiデバイスである。emあ
たりのフォントユニットは、例えば2048(=211)など、2のべきとなるよ
うに選ぶことができる(しかしそれが必要であるわけではない)。
【0058】 本発明のテキスト向上システムでは、イメージは、オーバスケーリングまたは
オーバサンプリングされ、具体的には、垂直方向(またはY)方向にオーバスケ
ーリングまたはオーバサンプリングされる。ピクセルのRGBサブピクセル要素
は、オーバスケーリングまたはオーバサンプリングされる異なる部分をそこにマ
ップすることができる独立した光度要素として扱われる。このオーバスケーリン
グオペレーションまたはオーバサンプリングオペレーションを以下の§4.2.
2.1.1.1でより詳細に説明する。
オーバサンプリングされ、具体的には、垂直方向(またはY)方向にオーバスケ
ーリングまたはオーバサンプリングされる。ピクセルのRGBサブピクセル要素
は、オーバスケーリングまたはオーバサンプリングされる異なる部分をそこにマ
ップすることができる独立した光度要素として扱われる。このオーバスケーリン
グオペレーションまたはオーバサンプリングオペレーションを以下の§4.2.
2.1.1.1でより詳細に説明する。
【0059】 図7は、テキスト向上システムによって実行することができるプロセスの高レ
ベルダイアグラムである。図7に示すように、例えばワードプロセッサまたはコ
ンタクトマネージャなどのアプリケーションプロセス710は、テキストを表示
するように要求することができ、そのテキストについてのポイントサイズを指定
することができる。図7には示していないが、アプリケーションプロセス710
は、フォント名、背景色および前景色、およびテキストをレンダリングすべき画
面位置を要求することもできる。テキストと、可能な場合ポイントサイズとは、
グラフィックスディスプレイインターフェース(またはGDI)プロセス(また
はより一般にはグラフィックスディスプレイインターフェース)722に提供さ
れる。GDIプロセス722は、ディスプレイ情報724(このディスプレイ情
報は、ディスプレイ上のインチあたりのピクセル数などのディスプレイ解像度情
報を含むことができる)および文字情報728(この文字情報は、直線および曲
線、アドバンス幅情報、ならびに左サイドベアリング情報などの輪郭のシーケン
スを定義する点として表すことができる文字アウトライン情報とすることができ
る)を使用し、グリフを生成する(または、既に生成されているキャッシュされ
たグリフにアクセスする)。グリフは、スケーリングされた文字アウトラインの
ビットマップ(またはブラックボディ407情報を含むバウンディングボックス
408)、アドバンス幅402情報、および左サイドベアリング410情報を含
むことができる。ビットマップの各ビットは、関連する赤、緑、および青の光度
値を有することができる。
ベルダイアグラムである。図7に示すように、例えばワードプロセッサまたはコ
ンタクトマネージャなどのアプリケーションプロセス710は、テキストを表示
するように要求することができ、そのテキストについてのポイントサイズを指定
することができる。図7には示していないが、アプリケーションプロセス710
は、フォント名、背景色および前景色、およびテキストをレンダリングすべき画
面位置を要求することもできる。テキストと、可能な場合ポイントサイズとは、
グラフィックスディスプレイインターフェース(またはGDI)プロセス(また
はより一般にはグラフィックスディスプレイインターフェース)722に提供さ
れる。GDIプロセス722は、ディスプレイ情報724(このディスプレイ情
報は、ディスプレイ上のインチあたりのピクセル数などのディスプレイ解像度情
報を含むことができる)および文字情報728(この文字情報は、直線および曲
線、アドバンス幅情報、ならびに左サイドベアリング情報などの輪郭のシーケン
スを定義する点として表すことができる文字アウトライン情報とすることができ
る)を使用し、グリフを生成する(または、既に生成されているキャッシュされ
たグリフにアクセスする)。グリフは、スケーリングされた文字アウトラインの
ビットマップ(またはブラックボディ407情報を含むバウンディングボックス
408)、アドバンス幅402情報、および左サイドベアリング410情報を含
むことができる。ビットマップの各ビットは、関連する赤、緑、および青の光度
値を有することができる。
【0060】 以下で説明するように、これらの値は、「圧縮ピクセル値」と呼ぶことのでき
る単一の、例えば8ビットの値に合成することができる。グラフィックスディス
プレイインターフェースプロセス722を以下の§4.2.2.1でより詳細に
説明する。グラフィックスディスプレイインターフェースプロセス722、ディ
スプレイ情報724、およびグリフキャッシュ726は、例えば(ワシントン州
レンドモンドのMicrosoft Coporationの)Windows
(登録商標)CEまたはWindows(登録商標) NT(登録商標)オペレ
ーティングシステムなどのオペレーティングシステム535′の一部とすること
ができ、そのオペレーティングシステムによって実施することができる。
る単一の、例えば8ビットの値に合成することができる。グラフィックスディス
プレイインターフェースプロセス722を以下の§4.2.2.1でより詳細に
説明する。グラフィックスディスプレイインターフェースプロセス722、ディ
スプレイ情報724、およびグリフキャッシュ726は、例えば(ワシントン州
レンドモンドのMicrosoft Coporationの)Windows
(登録商標)CEまたはWindows(登録商標) NT(登録商標)オペレ
ーティングシステムなどのオペレーティングシステム535′の一部とすること
ができ、そのオペレーティングシステムによって実施することができる。
【0061】 次いで、グリフキャッシュ726またはグラフィックスディスプレイインター
フェースプロセス722のいずれかからのグリフは、ディスプレイ管理プロセス
(より一般には、ディスプレイドライバマネージャ)735に提供される。ディ
スプレイドライバ管理プロセス735は、ディスプレイ(またはビデオ)ドライ
バ732の一部とすることができる。一般には、ディスプレイドライバ732は
、コンピュータオペレーティングシステムが特定のビデオ表示デバイスと通信す
ることを可能にするソフトウェアとすることができる。基本的には、ディスプレ
イドライバ管理プロセス735は、カラー補償(またはカラーフィルタ処理)プ
ロセス736、ガンマ補正プロセス737、およびカラーパレット選択プロセス
738を起動することができる。これらのプロセス735、736、737、お
よび738は、文字グリフ情報を実際のRGBピクセルサブ構成要素光度値に変
換する働きをする。プロセス736、737、および738のうちの1つまたは
複数は、複数のイメージ処理オペレーションを実行するために使用することがで
きる、1組の事前計算したルックアップテーブルによって実施することができる
。ディスプレイドライバ管理プロセス735は、グリフおよびディスプレイ情報
724′を入力として受け取ることができる。ディスプレイ情報724′は、例
えば前景/背景色情報、ディスプレイデバイス547のガンマ値、カラーパレッ
ト情報、およびピクセル値フォント情報を含むことができる。ディスプレイ情報
724′を使用して、使用すべきルックアップテーブルの組に含まれるルックア
ップテーブルのうちの1つを選択することができる。
フェースプロセス722のいずれかからのグリフは、ディスプレイ管理プロセス
(より一般には、ディスプレイドライバマネージャ)735に提供される。ディ
スプレイドライバ管理プロセス735は、ディスプレイ(またはビデオ)ドライ
バ732の一部とすることができる。一般には、ディスプレイドライバ732は
、コンピュータオペレーティングシステムが特定のビデオ表示デバイスと通信す
ることを可能にするソフトウェアとすることができる。基本的には、ディスプレ
イドライバ管理プロセス735は、カラー補償(またはカラーフィルタ処理)プ
ロセス736、ガンマ補正プロセス737、およびカラーパレット選択プロセス
738を起動することができる。これらのプロセス735、736、737、お
よび738は、文字グリフ情報を実際のRGBピクセルサブ構成要素光度値に変
換する働きをする。プロセス736、737、および738のうちの1つまたは
複数は、複数のイメージ処理オペレーションを実行するために使用することがで
きる、1組の事前計算したルックアップテーブルによって実施することができる
。ディスプレイドライバ管理プロセス735は、グリフおよびディスプレイ情報
724′を入力として受け取ることができる。ディスプレイ情報724′は、例
えば前景/背景色情報、ディスプレイデバイス547のガンマ値、カラーパレッ
ト情報、およびピクセル値フォント情報を含むことができる。ディスプレイ情報
724′を使用して、使用すべきルックアップテーブルの組に含まれるルックア
ップテーブルのうちの1つを選択することができる。
【0062】 ディスプレイドライバで実行することができるプロセスを以下の§4.2.2
.2でより詳細に説明する。
.2でより詳細に説明する。
【0063】 次いで処理されたピクセル値は、(例えばアプリケーションプロセス710お
よび/またはオペレーティングシステム535′からの)画面位置決め情報(お
よびおそらくはウィンドウ位置決め情報)と共に、ビデオフレーム部分としてデ
ィスプレイ(ビデオ)アダプタ548′に転送される。ディスプレイアダプタ5
48′は、ディスプレイ547に送られるビデオ信号を生成する電子部品を含む
ことができる。フレームバッファプロセス740を使用して、ディスプレイアダ
プタ548の画面フレームバッファ745中に、受信したビデオフレーム部分を
格納することができる。画面フレームバッファ745を用いることにより、例え
ばテキストストリングの単一イメージを、いくつかの異なる文字を表すグリフか
ら生成することが可能となる。次いで画面フレームバッファ745からのビデオ
フレームは、ビデオを特定のディスプレイデバイスに適合させるディスプレイ適
合プロセス750に提供される。ディスプレイ適合プロセス750もディスプレ
イアダプタ548′によって実施することができる。
よび/またはオペレーティングシステム535′からの)画面位置決め情報(お
よびおそらくはウィンドウ位置決め情報)と共に、ビデオフレーム部分としてデ
ィスプレイ(ビデオ)アダプタ548′に転送される。ディスプレイアダプタ5
48′は、ディスプレイ547に送られるビデオ信号を生成する電子部品を含む
ことができる。フレームバッファプロセス740を使用して、ディスプレイアダ
プタ548の画面フレームバッファ745中に、受信したビデオフレーム部分を
格納することができる。画面フレームバッファ745を用いることにより、例え
ばテキストストリングの単一イメージを、いくつかの異なる文字を表すグリフか
ら生成することが可能となる。次いで画面フレームバッファ745からのビデオ
フレームは、ビデオを特定のディスプレイデバイスに適合させるディスプレイ適
合プロセス750に提供される。ディスプレイ適合プロセス750もディスプレ
イアダプタ548′によって実施することができる。
【0064】 最後に、適合されたビデオは、例えばLCDディスプレイなどのディスプレイ
デバイス547にレンダリングのために提示される。
デバイス547にレンダリングのために提示される。
【0065】 テキスト向上システムの概要を提供したので、次いでグラフィックスディスプ
レイインターフェースプロセス722を以下の§4.2.2.1でより詳細に説
明する。次いでディスプレイドライバで実行することができるプロセスを以下の
§4.2.2.2で説明する。
レイインターフェースプロセス722を以下の§4.2.2.1でより詳細に説
明する。次いでディスプレイドライバで実行することができるプロセスを以下の
§4.2.2.2で説明する。
【0066】 (§4.2.2.1 グラフィックスディスプレイインターフェース) 図8は、グラフィックスディスプレイインターフェース(またはGDI)プロ
セス722によって実行することができるプロセス、ならびにGDIプロセス7
22で使用することができるデータを示す。図8に示すように、GDIプロセス
722は、テキストを受諾する、またはより具体的には、テキスト820を表示
するように要求するグリフキャッシュ管理プロセス(またはより一般には、グリ
フキャッシュマネージャ)802を含むことができる。この要求は、テキストの
ポイントサイズを含むことができる。グリフキャッシュ管理プロセス802は、
この要求をグリフキャッシュ726に転送する。グリフキャッシュ726が要求
されたテキスト文字に対応するグリフを含む場合、グリフキャッシュ726はそ
れを下流側の処理のために提供する。一方グリフキャッシュ726が要求された
テキスト文字に対応するグリフを有さない場合、グリフキャッシュ726は、グ
リフキャッシュ管理プロセス802にそのように通知し、グリフキャッシュ管理
プロセス802は、必要なグリフを生成するための要求をタイプラスタ化プロセ
ス(またはより一般には、タイプラスタライザ)804に提出する。基本的には
、タイプラスタ化プロセス804は、ハードウェアおよび/またはソフトウェア
で実施することができ、文字アウトライン(この文字アウトラインは、数式に基
づく直線および曲線などの輪郭を定義するインクルード点を想起することができ
る)をラスタ(すなわちビットマップした)イメージに変換する。ビットマップ
イメージの各ピクセルは、例えばカラー値および輝度を有することができる。タ
イプラスタ化プロセスを以下の§4.2.2.1.1に説明する。
セス722によって実行することができるプロセス、ならびにGDIプロセス7
22で使用することができるデータを示す。図8に示すように、GDIプロセス
722は、テキストを受諾する、またはより具体的には、テキスト820を表示
するように要求するグリフキャッシュ管理プロセス(またはより一般には、グリ
フキャッシュマネージャ)802を含むことができる。この要求は、テキストの
ポイントサイズを含むことができる。グリフキャッシュ管理プロセス802は、
この要求をグリフキャッシュ726に転送する。グリフキャッシュ726が要求
されたテキスト文字に対応するグリフを含む場合、グリフキャッシュ726はそ
れを下流側の処理のために提供する。一方グリフキャッシュ726が要求された
テキスト文字に対応するグリフを有さない場合、グリフキャッシュ726は、グ
リフキャッシュ管理プロセス802にそのように通知し、グリフキャッシュ管理
プロセス802は、必要なグリフを生成するための要求をタイプラスタ化プロセ
ス(またはより一般には、タイプラスタライザ)804に提出する。基本的には
、タイプラスタ化プロセス804は、ハードウェアおよび/またはソフトウェア
で実施することができ、文字アウトライン(この文字アウトラインは、数式に基
づく直線および曲線などの輪郭を定義するインクルード点を想起することができ
る)をラスタ(すなわちビットマップした)イメージに変換する。ビットマップ
イメージの各ピクセルは、例えばカラー値および輝度を有することができる。タ
イプラスタ化プロセスを以下の§4.2.2.1.1に説明する。
【0067】 (§4.2.2.1.1 ラスタライザ) 繰り返すと、タイプラスタ化プロセス804は、基本的には文字アウトライン
をビットマップしたイメージに変換する。ビットマップのスケールは、フォント
のポイントサイズおよびディスプレイデバイス547の解像度(例えばインチあ
たりのピクセル)に基づくことができる。テキスト、フォント、およびポイント
サイズ情報をアプリケーション710から得ることができ、ディスプレイデバイ
ス547の解像度を、システム構成ファイルまたはディスプレイドライバファイ
ル、もしくはオペレーティングシステム535によってメモリ522に格納され
るモニタ設定から得ることができる。ディスプレイ情報724は、前景/背景色
情報、ガンマ値、カラーパレット情報、および/またはディスプレイアダプタ/
ディスプレイデバイスピクセル値フォーマット情報を含むことができる。繰り返
すと、アプリケーションプロセス710からの要求に応答して、グラフィックス
ディスプレイインターフェース722からこの情報を提供することができる。し
かし、要求されたテキストの背景が(不透明とは対照的に)透明であるべきであ
る場合、この背景色情報は、(例えばビットマップイメージまたは他のテキスト
などの)ディスプレイ上でレンダリングされるものであり、ディスプレイデバイ
ス547またはビデオフレームバッファ745から提供される。
をビットマップしたイメージに変換する。ビットマップのスケールは、フォント
のポイントサイズおよびディスプレイデバイス547の解像度(例えばインチあ
たりのピクセル)に基づくことができる。テキスト、フォント、およびポイント
サイズ情報をアプリケーション710から得ることができ、ディスプレイデバイ
ス547の解像度を、システム構成ファイルまたはディスプレイドライバファイ
ル、もしくはオペレーティングシステム535によってメモリ522に格納され
るモニタ設定から得ることができる。ディスプレイ情報724は、前景/背景色
情報、ガンマ値、カラーパレット情報、および/またはディスプレイアダプタ/
ディスプレイデバイスピクセル値フォーマット情報を含むことができる。繰り返
すと、アプリケーションプロセス710からの要求に応答して、グラフィックス
ディスプレイインターフェース722からこの情報を提供することができる。し
かし、要求されたテキストの背景が(不透明とは対照的に)透明であるべきであ
る場合、この背景色情報は、(例えばビットマップイメージまたは他のテキスト
などの)ディスプレイ上でレンダリングされるものであり、ディスプレイデバイ
ス547またはビデオフレームバッファ745から提供される。
【0068】 基本的には、このラスタ化プロセスは、2つまたは3つのサブステップまたは
サブプロセスを含むことができる。まず、文字アウトラインが、オーバスケーリ
ング/オーバサンプリングプロセス806を用いてオーバスケーリング(または
オーバサンプル)される。このプロセスを以下の§4.2.2.1.1.1で説
明する。次に、オーバスケーリング/オーバサンプリングプロセス806で生成
されたオーバスケーリング/オーバサンプリングされたイメージは、グリッド上
に位置付けることができ、ヒンティングプロセス808を用いて伸び縮みした部
分を有することができる。このプロセスを以下の§4.2.2.1.1.2で説
明する。次いで、オーバスケーリング/オーバサンプリングされた(かつ任意選
択でヒントした)イメージの走査変換ソースサンプルの変位した(例えば、直接
隣接する、オーバラップする、または間隔を置いて配置される)サンプルが、走
査変換プロセス812によって合成され(例えば、フィルタ処理、平均化など)
、ディスプレイ547のサブピクセル要素210、220、230に対応する値
が生成される。走査変換プロセス812を以下の§4.2.2.1.1.3で説
明する。得られるグリフキャッシュ726中に格納されるデータを以下の§4.
2.2.1.1.4で説明する。
サブプロセスを含むことができる。まず、文字アウトラインが、オーバスケーリ
ング/オーバサンプリングプロセス806を用いてオーバスケーリング(または
オーバサンプル)される。このプロセスを以下の§4.2.2.1.1.1で説
明する。次に、オーバスケーリング/オーバサンプリングプロセス806で生成
されたオーバスケーリング/オーバサンプリングされたイメージは、グリッド上
に位置付けることができ、ヒンティングプロセス808を用いて伸び縮みした部
分を有することができる。このプロセスを以下の§4.2.2.1.1.2で説
明する。次いで、オーバスケーリング/オーバサンプリングされた(かつ任意選
択でヒントした)イメージの走査変換ソースサンプルの変位した(例えば、直接
隣接する、オーバラップする、または間隔を置いて配置される)サンプルが、走
査変換プロセス812によって合成され(例えば、フィルタ処理、平均化など)
、ディスプレイ547のサブピクセル要素210、220、230に対応する値
が生成される。走査変換プロセス812を以下の§4.2.2.1.1.3で説
明する。得られるグリフキャッシュ726中に格納されるデータを以下の§4.
2.2.1.1.4で説明する。
【0069】 (§4.2.2.1.1.1 スケーリング/オーバサンプリング) 前述の§4.2.2から、ワシントン州レンドモンドのMicrosoft
CoporationのTrueType(商標)などの、従来のシステムでの
スケーリングフォントでは、文字アウトラインの輪郭を定義する点の位置を定義
するために使用されるフォントユニット座標は、デバイス特有のピクセル座標に
スケーリングされていた。すなわち、文字を表示することができる前に、em正
方形の解像度が、その文字アウトラインを定義するために使用されたので、文字
をその上にレンダリングすべき出力デバイスのサイズ、変換、および特徴を反映
するようにスケーリングされていた。スケーリングされたアウトラインが、em
あたりのフォントユニットの測定の相対システムではなく、出力デバイスの測定
ピクセルを測定するために使用される、測定の絶対単位を反映する単位で文字ア
ウトラインを記述することを想起されたい。したがって、em正方形単位の値は
、以下の公式に従ってピクセル座標システム単位の値に変換されたことを想起さ
れたい。
CoporationのTrueType(商標)などの、従来のシステムでの
スケーリングフォントでは、文字アウトラインの輪郭を定義する点の位置を定義
するために使用されるフォントユニット座標は、デバイス特有のピクセル座標に
スケーリングされていた。すなわち、文字を表示することができる前に、em正
方形の解像度が、その文字アウトラインを定義するために使用されたので、文字
をその上にレンダリングすべき出力デバイスのサイズ、変換、および特徴を反映
するようにスケーリングされていた。スケーリングされたアウトラインが、em
あたりのフォントユニットの測定の相対システムではなく、出力デバイスの測定
ピクセルを測定するために使用される、測定の絶対単位を反映する単位で文字ア
ウトラインを記述することを想起されたい。したがって、em正方形単位の値は
、以下の公式に従ってピクセル座標システム単位の値に変換されたことを想起さ
れたい。
【0070】 (1) ピクセル単位のサイズ=(文字アウトラインサイズ・ポイントサイズ・出力デバ
イスの解像度)/(72ポイント/インチフォントユニット数/em)
イスの解像度)/(72ポイント/インチフォントユニット数/em)
【0071】 ただし、文字サイズはフォントユニットであり、出力デバイスの解像度はピク
セル/インチ単位である。
セル/インチ単位である。
【0072】 出力デバイスの解像度は、インチあたりのドットまたはピクセル数(dpi)
によって指定することができることを想起されたい。
によって指定することができることを想起されたい。
【0073】 本発明のテキスト向上システムにおいて、以上の背景を念頭に置くと、イメー
ジはオーバスケーリングまたはオーバサンプリングされ、具体的には、垂直(ま
たはY)方向にオーバスケーリングまたはオーバサンプリングされる。ピクセル
のRGBピクセルサブ構成要素は、オーバスケーリングまたはオーバサンプリン
グされたイメージをそこにマップすることができる独立した光度要素として扱わ
れる。したがって、周知の変換技法で可能な解像度より高い程度の解像度が提供
される。したがって、上記で論じた式(1)は、次のように書くことができる。
ジはオーバスケーリングまたはオーバサンプリングされ、具体的には、垂直(ま
たはY)方向にオーバスケーリングまたはオーバサンプリングされる。ピクセル
のRGBピクセルサブ構成要素は、オーバスケーリングまたはオーバサンプリン
グされたイメージをそこにマップすることができる独立した光度要素として扱わ
れる。したがって、周知の変換技法で可能な解像度より高い程度の解像度が提供
される。したがって、上記で論じた式(1)は、次のように書くことができる。
【0074】 (2) ピクセル単位のサイズ=(N・文字アウトラインサイズ・ポイントサイズ・出力
デバイスの解像度)/(72ポイント/インチフォントユニット数/em)
デバイスの解像度)/(72ポイント/インチフォントユニット数/em)
【0075】 ただし、文字サイズはフォントユニットであり、出力デバイスの解像度はピク
セル/インチ単位であり、Nはオーバスケーリング因子またはオーバサンプリン
グ因子である。
セル/インチ単位であり、Nはオーバスケーリング因子またはオーバサンプリン
グ因子である。
【0076】 RGB水平ストライプディスプレイデバイスの場合、オーバスケーリングおよ
びオーバサンプリング因子をX方向にゼロ(0)とし、Y方向に3とすることが
できる。そのようなオーバスケーリング因子またはオーバサンプリング因子は、
フォントユニットからの文字アウトラインをサブピクセル要素にスケーリングす
る(図2の210、220、230を想起されたい)。実際には、さらにオーバ
スケーリングまたはオーバサンプリングすることが有用である。このようにして
、いくつかの走査変換ソースサンプルを使用して、各サブピクセル構成要素の値
を導出することができる。例えば、オーバスケーリングまたはオーバサンプリン
グ因子がY方向に9である場合、3つの走査変換ソースサンプルを(例えば平均
化オペレーションを介して)使用して、ピクセルの赤サブピクセル要素の強度を
定義することができ、別の3つの走査変換ソースサンプルを使用して、ピクセル
の緑サブピクセル要素の強度を定義することができ、最後の3つの走査変換ソー
スサンプルを使用して、ピクセルの青サブピクセル要素の強度を定義することが
できる。代替のサンプリング技法およびフィルタ処理技法も可能である。例えば
、より多くの走査変換ソースサンプルを使用して緑サブピクセル要素を定義し、
より少ない走査変換ソースサンプルを使用して青サブピクセル要素を定義するよ
うに、サンプルを重み付けすることができる。
びオーバサンプリング因子をX方向にゼロ(0)とし、Y方向に3とすることが
できる。そのようなオーバスケーリング因子またはオーバサンプリング因子は、
フォントユニットからの文字アウトラインをサブピクセル要素にスケーリングす
る(図2の210、220、230を想起されたい)。実際には、さらにオーバ
スケーリングまたはオーバサンプリングすることが有用である。このようにして
、いくつかの走査変換ソースサンプルを使用して、各サブピクセル構成要素の値
を導出することができる。例えば、オーバスケーリングまたはオーバサンプリン
グ因子がY方向に9である場合、3つの走査変換ソースサンプルを(例えば平均
化オペレーションを介して)使用して、ピクセルの赤サブピクセル要素の強度を
定義することができ、別の3つの走査変換ソースサンプルを使用して、ピクセル
の緑サブピクセル要素の強度を定義することができ、最後の3つの走査変換ソー
スサンプルを使用して、ピクセルの青サブピクセル要素の強度を定義することが
できる。代替のサンプリング技法およびフィルタ処理技法も可能である。例えば
、より多くの走査変換ソースサンプルを使用して緑サブピクセル要素を定義し、
より少ない走査変換ソースサンプルを使用して青サブピクセル要素を定義するよ
うに、サンプルを重み付けすることができる。
【0077】 1つの実施形態では、赤サブピクセル要素はウェイト5を割り振られて5つの
走査変換ソースサンプルから導出され、緑サブピクセル要素はウェイト9を割り
振られて9つの走査変換ソースサンプルから導出され、青サブピクセル要素はウ
ェイト2を割り振られて2つの走査変換ソースサンプルから導出され、オーバス
ケーリング(またはオーバサンプリング)がX方向に1回、Y方向に16回の比
率で実行される。これは「重み付けされたサンプリング」と呼ばれる。このサン
プルは、一部の走査変換ソースサンプルを使用して複数のサブピクセル要素を決
定することができるように、一部のオーバラップする走査変換ソースサンプルを
含むことができる。あるいは、一部の走査変換ソースサンプルを無視することも
できる。同様に、平均化のための代替フィルタ処理技法を使用することもできる
。
走査変換ソースサンプルから導出され、緑サブピクセル要素はウェイト9を割り
振られて9つの走査変換ソースサンプルから導出され、青サブピクセル要素はウ
ェイト2を割り振られて2つの走査変換ソースサンプルから導出され、オーバス
ケーリング(またはオーバサンプリング)がX方向に1回、Y方向に16回の比
率で実行される。これは「重み付けされたサンプリング」と呼ばれる。このサン
プルは、一部の走査変換ソースサンプルを使用して複数のサブピクセル要素を決
定することができるように、一部のオーバラップする走査変換ソースサンプルを
含むことができる。あるいは、一部の走査変換ソースサンプルを無視することも
できる。同様に、平均化のための代替フィルタ処理技法を使用することもできる
。
【0078】 図6は、例示的テキスト向上システムにより実施される例示的走査変換オペレ
ーションを示す。ここに示す実施形態では、グリッド620によってセグメント
化されるイメージ610の異なるイメージサンプル630、632、634が使
用され、生成されるビットマップイメージ650の対応する部分640、642
、644に関連する赤、緑、青の強度値が生成される。図6に示す例では、赤お
よび青に対するイメージサンプルは、それぞれ緑サンプルからの距離で−1/3
および+1/3ピクセル幅だけ変位する。したがって、図3に示す周知のサンプ
リング/イメージ表示方法で遭遇する、§1.2.2.1.2で説明したピクセ
ル精度に丸められるときに導入される配置誤差は、それがあったとしてもほとん
ど知覚できない程度に減少する。サブピクセル解像度を得るために、ラスタ化さ
れた文字、すなわちラスタ化プロセスによって生成されたビットマップは、一般
にディスプレイデバイスのストライピングに垂直な方向にオーバスケーリングお
よび/またはオーバサンプリングされる。オーバサンプリングは、グリッドがそ
の上にあるイメージを維持しながらサンプルのグリッドを圧縮するとみなすこと
ができる。他方、オーバスケーリングは、グリッドがその上にあるイメージを引
き延ばしながらサンプルのグリッドを維持することとみなすことができる。
ーションを示す。ここに示す実施形態では、グリッド620によってセグメント
化されるイメージ610の異なるイメージサンプル630、632、634が使
用され、生成されるビットマップイメージ650の対応する部分640、642
、644に関連する赤、緑、青の強度値が生成される。図6に示す例では、赤お
よび青に対するイメージサンプルは、それぞれ緑サンプルからの距離で−1/3
および+1/3ピクセル幅だけ変位する。したがって、図3に示す周知のサンプ
リング/イメージ表示方法で遭遇する、§1.2.2.1.2で説明したピクセ
ル精度に丸められるときに導入される配置誤差は、それがあったとしてもほとん
ど知覚できない程度に減少する。サブピクセル解像度を得るために、ラスタ化さ
れた文字、すなわちラスタ化プロセスによって生成されたビットマップは、一般
にディスプレイデバイスのストライピングに垂直な方向にオーバスケーリングお
よび/またはオーバサンプリングされる。オーバサンプリングは、グリッドがそ
の上にあるイメージを維持しながらサンプルのグリッドを圧縮するとみなすこと
ができる。他方、オーバスケーリングは、グリッドがその上にあるイメージを引
き延ばしながらサンプルのグリッドを維持することとみなすことができる。
【0079】 一般に、オーバスケーリング(またはオーバサンプリング)プロセス806は
、各ピクセル要素に含まれるサブピクセル要素の方向および/または数に基づい
て、非正方形スケーリング(またはサンプリング)を実行することができる。具
体的には、高解像度文字情報728(この情報は、直線および曲線を定義する点
のシーケンスによって定義される輪郭を含むことができることを想起されたい。
)は、ストライピングの方向よりも大きい比率で、ストライピングに垂直な方向
にオーバスケーリング(またはオーバサンプル)することができる。したがって
例えば、垂直方向にストライプされたディスプレイがデータをその上に表示すべ
きデバイスとして使用されるとき、スケーリングは、垂直方向に実行されるより
も多い比率で、水平(またはX)方向に実行される。
、各ピクセル要素に含まれるサブピクセル要素の方向および/または数に基づい
て、非正方形スケーリング(またはサンプリング)を実行することができる。具
体的には、高解像度文字情報728(この情報は、直線および曲線を定義する点
のシーケンスによって定義される輪郭を含むことができることを想起されたい。
)は、ストライピングの方向よりも大きい比率で、ストライピングに垂直な方向
にオーバスケーリング(またはオーバサンプル)することができる。したがって
例えば、垂直方向にストライプされたディスプレイがデータをその上に表示すべ
きデバイスとして使用されるとき、スケーリングは、垂直方向に実行されるより
も多い比率で、水平(またはX)方向に実行される。
【0080】 他方、データを表示すべきデバイスとして、図1に示すようなタイプの水平方
向にストライプされたディスプレイを使用するとき、スケーリングは、水平方向
に実行されるよりも大きい比率で、垂直(またはY)方向に実行される。そのよ
うな不均一なスケーリングにより、後続のイメージ処理オペレーションで、個々
のサブピクセル要素を独立した光度ソースとして本発明に従って使用することに
よって達成することができる、より高い程度の解像度を利用することが可能とな
る。したがって、大部分の場合には、文字またはイメージのオーバスケーリング
(またはオーバサンプリング)は、赤、緑、および青ストライプをさらに分割し
、それによって後続の走査変換オペレーションをサポートすることが可能となる
比率で、必須ではないもののストライピングに垂直な方向に実行される。
向にストライプされたディスプレイを使用するとき、スケーリングは、水平方向
に実行されるよりも大きい比率で、垂直(またはY)方向に実行される。そのよ
うな不均一なスケーリングにより、後続のイメージ処理オペレーションで、個々
のサブピクセル要素を独立した光度ソースとして本発明に従って使用することに
よって達成することができる、より高い程度の解像度を利用することが可能とな
る。したがって、大部分の場合には、文字またはイメージのオーバスケーリング
(またはオーバサンプリング)は、赤、緑、および青ストライプをさらに分割し
、それによって後続の走査変換オペレーションをサポートすることが可能となる
比率で、必須ではないもののストライピングに垂直な方向に実行される。
【0081】 次いで、図10および図11を参照しながら第1オーバスケーリング(または
オーバサンプリング)技法を説明し、図12および図13を参照しながら第2オ
ーバスケーリング(またはオーバサンプリング)技法を説明する。
オーバサンプリング)技法を説明し、図12および図13を参照しながら第2オ
ーバスケーリング(またはオーバサンプリング)技法を説明する。
【0082】 図10は、オーバスケーリング(またはオーバサンプリング)プロセス806
を実施するための第1方法806′の高レベル流れ図である。図11に、図10
の方法806′のオペレーションの例を示す。まず、ステップ1010に示すよ
うに、フォントベクトルグラフィックス(例えば文字アウトライン)、ポイント
サイズ、およびディスプレイ解像度が受諾される。この情報を図11に1110
として示す。左サイドベアリング(410を想起されたい)、アドバンス幅(4
02を想起されたい)、アセント(942を想起されたい)およびディーセント
(944を想起されたい)などのフォントメトリックも受諾することができる。
この情報を図11に1112および1114として示す。ステップ1020に示
すように、オーバスケーリング因子またはオーバサンプル率(式2のNを想起さ
れたい)が受諾される。次いで、ステップ1030に示すように、フォントベク
トルグラフィックス(例えば文字アウトライン)1110が、ポイントサイズ、
ディスプレイ解像度、およびオーバスケーリング因子(またはオーバサンプル率
)に基づいてラスタ化される。
を実施するための第1方法806′の高レベル流れ図である。図11に、図10
の方法806′のオペレーションの例を示す。まず、ステップ1010に示すよ
うに、フォントベクトルグラフィックス(例えば文字アウトライン)、ポイント
サイズ、およびディスプレイ解像度が受諾される。この情報を図11に1110
として示す。左サイドベアリング(410を想起されたい)、アドバンス幅(4
02を想起されたい)、アセント(942を想起されたい)およびディーセント
(944を想起されたい)などのフォントメトリックも受諾することができる。
この情報を図11に1112および1114として示す。ステップ1020に示
すように、オーバスケーリング因子またはオーバサンプル率(式2のNを想起さ
れたい)が受諾される。次いで、ステップ1030に示すように、フォントベク
トルグラフィックス(例えば文字アウトライン)1110が、ポイントサイズ、
ディスプレイ解像度、およびオーバスケーリング因子(またはオーバサンプル率
)に基づいてラスタ化される。
【0083】 図11の例に示すように、(フォントユニットの単位の)文字アウトラインの
X座標、ならびに(やはりフォントユニットの単位の)アドバンス幅および左サ
イドベアリングが1120に示すようにスケーリングされ(式1を想起されたい
)、最も近い整数ピクセル値に丸められる。他方、(フォントユニットの単位の
)文字アウトラインのY座標値、ならびに(やはりフォントユニットの単位の)
アセント値、ディーセント値、および他の垂直フォント特徴値が、1130に示
すようにオーバスケーリングされ(式2を想起されたい。)、最も近い整数走査
変換ソースサンプル値に丸められる。得られるデータ1140は、X方向はピク
セル単位、Y方向は走査変換ソースサンプル単位の文字アウトラインである。次
いでRETURNノード1040を介して方法806′を終了する。
X座標、ならびに(やはりフォントユニットの単位の)アドバンス幅および左サ
イドベアリングが1120に示すようにスケーリングされ(式1を想起されたい
)、最も近い整数ピクセル値に丸められる。他方、(フォントユニットの単位の
)文字アウトラインのY座標値、ならびに(やはりフォントユニットの単位の)
アセント値、ディーセント値、および他の垂直フォント特徴値が、1130に示
すようにオーバスケーリングされ(式2を想起されたい。)、最も近い整数走査
変換ソースサンプル値に丸められる。得られるデータ1140は、X方向はピク
セル単位、Y方向は走査変換ソースサンプル単位の文字アウトラインである。次
いでRETURNノード1040を介して方法806′を終了する。
【0084】 図12は、オーバスケーリング(またはオーバサンプリング)プロセス806
を実施するための第2方法806″の高レベル流れ図である。図13に、図12
の方法806″のオペレーションの例を示す。まず、ステップ1210に示すよ
うに、フォントベクトルグラフィックス(例えば文字アウトライン)、ポイント
サイズ、およびディスプレイ解像度が受諾される。この情報を図13に1310
として示す。左サイドベアリングおよびアドバンス幅などのフォントメトリック
も受諾することができる。ステップ1220に示すように、オーバスケーリング
因子またはオーバサンプル率(式2のNを想起されたい)が受諾される。次いで
、ステップ1230に示すように、ディスプレイのサブピクセル要素が例えばR
−G−BまたはB−G−Rの順序に配列されるかどうかが判定される。サブピク
セル要素がR−G−Bの順序で配列される場合、フォントベクトルグラフィック
ス(例えば文字アウトライン)1310が反時計回りに90度回転される。図1
3を参照すると、元のX座標値を新しいY座標値に変更し、元のY座標値を反転
することによってこの変換を実施し、1312で示すような新しいX座標値を生
成することができる。
を実施するための第2方法806″の高レベル流れ図である。図13に、図12
の方法806″のオペレーションの例を示す。まず、ステップ1210に示すよ
うに、フォントベクトルグラフィックス(例えば文字アウトライン)、ポイント
サイズ、およびディスプレイ解像度が受諾される。この情報を図13に1310
として示す。左サイドベアリングおよびアドバンス幅などのフォントメトリック
も受諾することができる。ステップ1220に示すように、オーバスケーリング
因子またはオーバサンプル率(式2のNを想起されたい)が受諾される。次いで
、ステップ1230に示すように、ディスプレイのサブピクセル要素が例えばR
−G−BまたはB−G−Rの順序に配列されるかどうかが判定される。サブピク
セル要素がR−G−Bの順序で配列される場合、フォントベクトルグラフィック
ス(例えば文字アウトライン)1310が反時計回りに90度回転される。図1
3を参照すると、元のX座標値を新しいY座標値に変更し、元のY座標値を反転
することによってこの変換を実施し、1312で示すような新しいX座標値を生
成することができる。
【0085】 次いで処理はステップ1260に進む。判定ステップ1230に戻ると、サブ
ピクセル要素がB−G−Rの順序に配列される場合、フォントベクトルグラフィ
ックス(例えば文字アウトライン1310は、時計回りに90度だけ回転する。
元のX座標を新しいY座標に変更し、元のY座標をX座標に変更することによっ
てこの変換を実施することができる。前述の例において、負のX値がない−すな
わちY軸がフォントベクトルグラフィックス(例えば1310)の左側にあるべ
きであると仮定したことに留意されたい。負のX座標値がある可能性がある例に
おいては、時計回りに90度回転する場合に、X値は反転され、Y値が生成され
る。次いで処理はステップ1260に進む。
ピクセル要素がB−G−Rの順序に配列される場合、フォントベクトルグラフィ
ックス(例えば文字アウトライン1310は、時計回りに90度だけ回転する。
元のX座標を新しいY座標に変更し、元のY座標をX座標に変更することによっ
てこの変換を実施することができる。前述の例において、負のX値がない−すな
わちY軸がフォントベクトルグラフィックス(例えば1310)の左側にあるべ
きであると仮定したことに留意されたい。負のX座標値がある可能性がある例に
おいては、時計回りに90度回転する場合に、X値は反転され、Y値が生成され
る。次いで処理はステップ1260に進む。
【0086】 ステップ1260では、回転したフォントベクトルグラフィックス(例えば文
字アウトライン)1110は、ポイントサイズ、ディスプレイ解像度、およびオ
ーバスケーリング因子(またはオーバサンプル率)に基づいてラスタ化される。
図13の例に示すように、(フォントユニットの単位の)文字アウトラインの新
しいY座標値、ならびに(フォントユニットの単位の)アドバンス幅および左サ
イドベアリングが、1330に示すようにスケーリングされる(式1を想起され
たい)。次いでこれらの値は、最も近い整数ピクセル値に丸められる。他方、(
フォントユニットの単位の)文字アウトラインの新しいX座標値、ならびに(や
はりフォントユニットの単位の)アセント値およびディーセント値が、1320
に示すようにオーバスケーリング(またはオーバサンプル)され(式2を想起さ
れたい。)最も近い整数走査変換ソースサンプル値に丸められる。得られるデー
タ1340は、新しいY方向ではピクセル単位、新しいX方向では走査変換ソー
スサンプル単位の文字アウトラインである。図12に戻ると、RETURNノー
ド1270を介して方法806″を終了する。
字アウトライン)1110は、ポイントサイズ、ディスプレイ解像度、およびオ
ーバスケーリング因子(またはオーバサンプル率)に基づいてラスタ化される。
図13の例に示すように、(フォントユニットの単位の)文字アウトラインの新
しいY座標値、ならびに(フォントユニットの単位の)アドバンス幅および左サ
イドベアリングが、1330に示すようにスケーリングされる(式1を想起され
たい)。次いでこれらの値は、最も近い整数ピクセル値に丸められる。他方、(
フォントユニットの単位の)文字アウトラインの新しいX座標値、ならびに(や
はりフォントユニットの単位の)アセント値およびディーセント値が、1320
に示すようにオーバスケーリング(またはオーバサンプル)され(式2を想起さ
れたい。)最も近い整数走査変換ソースサンプル値に丸められる。得られるデー
タ1340は、新しいY方向ではピクセル単位、新しいX方向では走査変換ソー
スサンプル単位の文字アウトラインである。図12に戻ると、RETURNノー
ド1270を介して方法806″を終了する。
【0087】 第1方法806′は実施が容易であるが、第2方法806″により、走査変換
プロセス812の間にデータ1340にアクセスするときに、いくつかの実施形
態ではいくつかのデータアクセスの利点が提供される。これらの利点を図20A
および図20Bを参照しながら以下の§4.2.2.1.1.3で説明する。
プロセス812の間にデータ1340にアクセスするときに、いくつかの実施形
態ではいくつかのデータアクセスの利点が提供される。これらの利点を図20A
および図20Bを参照しながら以下の§4.2.2.1.1.3で説明する。
【0088】 図8に戻ると、オーバスケーリング(またはオーバサンプリング)プロセス8
06を実行した後は、任意選択のヒンティングプロセス808を実行することが
できる。このプロセス808を以下の§4.2.2.1.1.2で説明する。
06を実行した後は、任意選択のヒンティングプロセス808を実行することが
できる。このプロセス808を以下の§4.2.2.1.1.2で説明する。
【0089】 (§4.2.2.1.1.2 ヒンティング) ヒンティング(「グリフの命令」とも呼ばれる)の目的は、グリフが異なるサ
イズで異なるデバイス上にレンダリングされるときに、元のフォント設計の重要
な特徴が保持されることを保証することである。一貫したステムウェイト、一貫
した「カラー」(すなわち、この状況の下では、ページまたは画面上のブラック
およびホワイトのバランス)、さらには間隔およびピクセルドロップアウトの回
避が、ヒンティングの一般的な目的である。過去には、無指示または無ヒンティ
ングのフォントは、一般に十分に高い解像度およびポイントサイズで良好な品質
結果を生成した。しかし、多くのフォントについて、より低い解像度のディスプ
レイ上のより小さなポイントサイズでは、可読性が損なわれる可能性がある。例
えば、文字形状を記述するのに利用可能なピクセルが少ない低解像度では、ウェ
イト、クロスバー幅、およびセリフ細部などの特徴が不規則になり、不整合にな
り、さらには完全に誤る可能性がある。本発明によって提供されるより高い解像
度により可読性は向上するが、それでもヒンティングは有用である。
イズで異なるデバイス上にレンダリングされるときに、元のフォント設計の重要
な特徴が保持されることを保証することである。一貫したステムウェイト、一貫
した「カラー」(すなわち、この状況の下では、ページまたは画面上のブラック
およびホワイトのバランス)、さらには間隔およびピクセルドロップアウトの回
避が、ヒンティングの一般的な目的である。過去には、無指示または無ヒンティ
ングのフォントは、一般に十分に高い解像度およびポイントサイズで良好な品質
結果を生成した。しかし、多くのフォントについて、より低い解像度のディスプ
レイ上のより小さなポイントサイズでは、可読性が損なわれる可能性がある。例
えば、文字形状を記述するのに利用可能なピクセルが少ない低解像度では、ウェ
イト、クロスバー幅、およびセリフ細部などの特徴が不規則になり、不整合にな
り、さらには完全に誤る可能性がある。本発明によって提供されるより高い解像
度により可読性は向上するが、それでもヒンティングは有用である。
【0090】 基本的には、ヒンティングは、「グリッド配置」および「グリッドフィッティ
ング」を含む。グリッド配置は、グリッド内にスケール(またはオーバスケーリ
ング)した文字を配列するために使用され、後続の走査変換オペレーションによ
って、利用可能なサブピクセルを用いて文字の正確な表示を最適化するために用
いられる。グリッドフィッティングは、文字がグリッドの形状により適合するよ
うに文字アウトラインを変形することを含む。
ング」を含む。グリッド配置は、グリッド内にスケール(またはオーバスケーリ
ング)した文字を配列するために使用され、後続の走査変換オペレーションによ
って、利用可能なサブピクセルを用いて文字の正確な表示を最適化するために用
いられる。グリッドフィッティングは、文字がグリッドの形状により適合するよ
うに文字アウトラインを変形することを含む。
【0091】 グリッドフィッティングにより、グリフのいくつかの特徴が調整されることが
保証される。アウトラインは、指定されるサイズより小さいサイズで変形される
ので、高解像度でのフォントの輪郭は、不変かつ未変形のままとなる。
保証される。アウトラインは、指定されるサイズより小さいサイズで変形される
ので、高解像度でのフォントの輪郭は、不変かつ未変形のままとなる。
【0092】 グリッド配置では、サブピクセル要素の境界は、文字をそれにそって配列する
ことができる境界、または配列すべきである境界、あるいは文字のアウトライン
をそれに対して調整すべきである境界として扱うことができる。
ことができる境界、または配列すべきである境界、あるいは文字のアウトライン
をそれに対して調整すべきである境界として扱うことができる。
【0093】 多くの場合、ヒンティングは、文字ステムの左縁を左のピクセルまたはサブピ
クセル境界でエイリアシングすること、その文字のベースの底部をピクセル構成
要素またはサブピクセル要素境界に沿って配列することを含む。実験結果により
、垂直ストライピングの場合、青または緑の左縁を有するように配列されたステ
ムを有する文字は、一般に赤の左縁を有するように配列されたステムを有する文
字よりも読みやすい傾向があることが示された。
クセル境界でエイリアシングすること、その文字のベースの底部をピクセル構成
要素またはサブピクセル要素境界に沿って配列することを含む。実験結果により
、垂直ストライピングの場合、青または緑の左縁を有するように配列されたステ
ムを有する文字は、一般に赤の左縁を有するように配列されたステムを有する文
字よりも読みやすい傾向があることが示された。
【0094】 したがって、少なくとも一部の実施形態では、ヒンティング文字を垂直ストラ
イピングを有する画面上に表示すべきとき、ヒンティングプロセスの部分として
、ステムに対して青または緑の左縁の方が、赤の左縁よりも好まれる。水平スト
ライピングの場合、一般には文字特徴の底部、特に水平な文字特徴(例えばアル
ファベットAおよびHのクロスバーおよびアルファベットEおよびZの底部特徴
など)が赤または青の底縁を有するように配列される文字は、一般に緑の底縁を
有するように配列されるベースを有する文字よりも見やすい。したがって、水平
ストライピングを有する画面上にヒンティング文字を表示すべきとき、少なくと
も一部の実施形態では、ヒンティングプロセスの部分として赤または青の底縁の
方が、緑の底縁よりも好まれる。
イピングを有する画面上に表示すべきとき、ヒンティングプロセスの部分として
、ステムに対して青または緑の左縁の方が、赤の左縁よりも好まれる。水平スト
ライピングの場合、一般には文字特徴の底部、特に水平な文字特徴(例えばアル
ファベットAおよびHのクロスバーおよびアルファベットEおよびZの底部特徴
など)が赤または青の底縁を有するように配列される文字は、一般に緑の底縁を
有するように配列されるベースを有する文字よりも見やすい。したがって、水平
ストライピングを有する画面上にヒンティング文字を表示すべきとき、少なくと
も一部の実施形態では、ヒンティングプロセスの部分として赤または青の底縁の
方が、緑の底縁よりも好まれる。
【0095】 図14は、ヒンティングプロセス808の少なくとも一部を実施するための例
示的方法808′の高レベル流れ図である。図15Aおよび図15Bに図14の
方法808′のオペレーションを示す。まず、ステップ1410に示すように、
オーバスケーリングまたはオーバサンプリングされた文字ビットマップが受諾さ
れる。上述のように、文字特徴の底部が緑のサブピクセル要素に走査変換される
走査変換ソースサンプル上にある場合、青または赤のサブピクセル要素に走査変
換される走査変換ソースサンプル、あるいは青または赤サブピクセル要素に走査
変換される走査変換ソースサンプルに隣接する走査変換ソースサンプルにシフト
(または変形)するべきである。したがって、判定ステップ1420に示すよう
に、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変換ソースサ
ンプル上にない場合、方法808′は、RETURNノード1460を介して終
了する。他方、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変
換ソースサンプル上にある場合、処理は、判定ステップ1430に分岐し、そこ
で文字特徴の底部が赤のサブピクセル要素に走査変換される走査変換ソースサン
プルに近いか、それとも青のサブピクセル要素に走査変換される走査変換ソース
サンプルに近いかが判定される。前者の場合、ステップ1440に示すように、
文字特徴アウトラインの底部が赤のサブピクセル要素に走査変換される走査変換
ソースサンプル上となるように、文字特徴アウトラインがシフト(圧縮)される
。後者の場合、ステップ1450に示すように、文字特徴アウトラインの底部が
青のサブピクセル要素に走査変換される走査変換ソースサンプル上となるように
(またはそれに直接隣接するように)、文字特徴アウトラインがシフト(拡張)
される。どちらの場合でも、方法808′は、RETURNノード808′を介
して終了する。
示的方法808′の高レベル流れ図である。図15Aおよび図15Bに図14の
方法808′のオペレーションを示す。まず、ステップ1410に示すように、
オーバスケーリングまたはオーバサンプリングされた文字ビットマップが受諾さ
れる。上述のように、文字特徴の底部が緑のサブピクセル要素に走査変換される
走査変換ソースサンプル上にある場合、青または赤のサブピクセル要素に走査変
換される走査変換ソースサンプル、あるいは青または赤サブピクセル要素に走査
変換される走査変換ソースサンプルに隣接する走査変換ソースサンプルにシフト
(または変形)するべきである。したがって、判定ステップ1420に示すよう
に、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変換ソースサ
ンプル上にない場合、方法808′は、RETURNノード1460を介して終
了する。他方、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変
換ソースサンプル上にある場合、処理は、判定ステップ1430に分岐し、そこ
で文字特徴の底部が赤のサブピクセル要素に走査変換される走査変換ソースサン
プルに近いか、それとも青のサブピクセル要素に走査変換される走査変換ソース
サンプルに近いかが判定される。前者の場合、ステップ1440に示すように、
文字特徴アウトラインの底部が赤のサブピクセル要素に走査変換される走査変換
ソースサンプル上となるように、文字特徴アウトラインがシフト(圧縮)される
。後者の場合、ステップ1450に示すように、文字特徴アウトラインの底部が
青のサブピクセル要素に走査変換される走査変換ソースサンプル上となるように
(またはそれに直接隣接するように)、文字特徴アウトラインがシフト(拡張)
される。どちらの場合でも、方法808′は、RETURNノード808′を介
して終了する。
【0096】 図15Aおよび15Bは、5つの走査変換ソースサンプルが赤のサブピクセル
要素を導出するために使用され、9つの走査変換ソースサンプルが緑のサブピク
セル要素を導出するために使用され、2つの走査変換ソースサンプルが緑のサブ
ピクセル要素を導出するために使用される重み付け走査変換の対象となるべきオ
ーバスケーリングまたはオーバサンプリングされた文字アウトライン中の文字ア
ウトラインに対する、図14の方法808′のオペレーションを示す。図15A
の例では、オーバスケーリングまたはオーバサンプリングされる文字特徴アウト
ライン1510の底部1512は、緑のサブピクセル要素に走査変換すべき走査
変換ソースサンプルにあるが、青のサブピクセル要素に走査変換すべき走査変換
ソースサンプルの近くにある。したがって、オーバスケーリングまたはオーバサ
ンプリングされる文字特徴アウトラインは、得られるオーバスケーリングまたは
オーバサンプリングされる文字特徴アウトライン1510′の底部1512′が
青のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接する
走査変換ソースサンプル上となるように、下方にシフトされる(または引き延ば
される)。
要素を導出するために使用され、9つの走査変換ソースサンプルが緑のサブピク
セル要素を導出するために使用され、2つの走査変換ソースサンプルが緑のサブ
ピクセル要素を導出するために使用される重み付け走査変換の対象となるべきオ
ーバスケーリングまたはオーバサンプリングされた文字アウトライン中の文字ア
ウトラインに対する、図14の方法808′のオペレーションを示す。図15A
の例では、オーバスケーリングまたはオーバサンプリングされる文字特徴アウト
ライン1510の底部1512は、緑のサブピクセル要素に走査変換すべき走査
変換ソースサンプルにあるが、青のサブピクセル要素に走査変換すべき走査変換
ソースサンプルの近くにある。したがって、オーバスケーリングまたはオーバサ
ンプリングされる文字特徴アウトラインは、得られるオーバスケーリングまたは
オーバサンプリングされる文字特徴アウトライン1510′の底部1512′が
青のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接する
走査変換ソースサンプル上となるように、下方にシフトされる(または引き延ば
される)。
【0097】 図15Bの例では、オーバスケーリングまたはオーバサンプリングされる文字
特徴アウトライン1520の底部1522は、緑のサブピクセル要素に走査変換
すべき走査変換ソースサンプルにあるが、赤のサブピクセル要素に走査変換すべ
き走査変換ソースサンプルに近い。したがって、オーバスケーリングまたはオー
バサンプリングされる文字特徴アウトラインは、得られるオーバスケーリングま
たはオーバサンプリングされる文字特徴アウトライン1520′の底部1522
′が赤のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接
する走査変換ソースサンプル上となるように、上方にシフトされる(または圧縮
される)。
特徴アウトライン1520の底部1522は、緑のサブピクセル要素に走査変換
すべき走査変換ソースサンプルにあるが、赤のサブピクセル要素に走査変換すべ
き走査変換ソースサンプルに近い。したがって、オーバスケーリングまたはオー
バサンプリングされる文字特徴アウトラインは、得られるオーバスケーリングま
たはオーバサンプリングされる文字特徴アウトライン1520′の底部1522
′が赤のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接
する走査変換ソースサンプル上となるように、上方にシフトされる(または圧縮
される)。
【0098】 当業者に周知の他のヒンティング命令をオーバスケーリングまたはオーバサン
プリングされる文字アウトラインに対して実施することもできる。しかし、サブ
ピクセル要素を考慮することによって提供される追加の垂直解像度により、ある
ヒンティング命令が不必要に実行される可能性があることに留意されたい。
プリングされる文字アウトラインに対して実施することもできる。しかし、サブ
ピクセル要素を考慮することによって提供される追加の垂直解像度により、ある
ヒンティング命令が不必要に実行される可能性があることに留意されたい。
【0099】 ヒンティングプロセス808を完了した後、またはヒンティングプロセス80
8が実行されなかった場合、オーバスケーリング(またはオーバサンプリング)
プロセス806が完了した後に、走査変換プロセス812が実行される。この走
査変換プロセスを以下の§4.2.2.1.1.3で説明する。
8が実行されなかった場合、オーバスケーリング(またはオーバサンプリング)
プロセス806が完了した後に、走査変換プロセス812が実行される。この走
査変換プロセスを以下の§4.2.2.1.1.3で説明する。
【0100】 (§4.2.2.1.1.3 走査変換) 基本的には、走査変換プロセス812は、文字を表すオーバスケーリング(ま
たはオーバサンプル)される幾何形状をビットマップイメージに変換する。従来
の走査変換オペレーションは、ピクセルを、スケーリングされるイメージの対応
する部分をそれにマップすることができる個々のユニットとして扱う。したがっ
て、従来の走査変換オペレーションでは、イメージの同じ部分が、スケーリング
されるイメージの部分がそれにマップされるピクセル要素の赤、緑、および青の
サブピクセル要素の各々で使用すべき光度値を決定するために使用される。図3
がビットマップとして表すべきイメージのサンプリングと、サンプリングされた
値からの光度値の生成とを含む周知の走査変換プロセスの例を示すことを想起さ
れたい。
たはオーバサンプル)される幾何形状をビットマップイメージに変換する。従来
の走査変換オペレーションは、ピクセルを、スケーリングされるイメージの対応
する部分をそれにマップすることができる個々のユニットとして扱う。したがっ
て、従来の走査変換オペレーションでは、イメージの同じ部分が、スケーリング
されるイメージの部分がそれにマップされるピクセル要素の赤、緑、および青の
サブピクセル要素の各々で使用すべき光度値を決定するために使用される。図3
がビットマップとして表すべきイメージのサンプリングと、サンプリングされた
値からの光度値の生成とを含む周知の走査変換プロセスの例を示すことを想起さ
れたい。
【0101】 テキスト向上システムの走査変換プロセス812では、ピクセルの赤、緑、お
よび青のサブピクセル要素は、独立した光度要素として扱われる。したがって、
各サブピクセル要素は、オーバスケーリング(またはオーバサンプル)されるイ
メージの異なる部分をそれにマップすることができる別々の光度構成要素として
扱われる。オーバスケーリング(またはオーバサンプル)されるイメージの異な
る部分を異なるサブピクセル要素にマップすることを可能とすることによって、
周知の走査変換技法よりも高い程度の解像度が提供される。言い換えれば、オー
バスケーリング(またはオーバサンプル)されるイメージの異なる部分が、各サ
ブピクセル要素で使用すべき光度値を独立に決定するために使用される。したが
って、走査変換プロセスは、変位したサンプルのフィルタ処理(例えば平均化)
とみなすことができる。変位したサンプルは、オーバラップする、次に直接に隣
接する、かつ/または次に間隔を置いて配置することができる。
よび青のサブピクセル要素は、独立した光度要素として扱われる。したがって、
各サブピクセル要素は、オーバスケーリング(またはオーバサンプル)されるイ
メージの異なる部分をそれにマップすることができる別々の光度構成要素として
扱われる。オーバスケーリング(またはオーバサンプル)されるイメージの異な
る部分を異なるサブピクセル要素にマップすることを可能とすることによって、
周知の走査変換技法よりも高い程度の解像度が提供される。言い換えれば、オー
バスケーリング(またはオーバサンプル)されるイメージの異なる部分が、各サ
ブピクセル要素で使用すべき光度値を独立に決定するために使用される。したが
って、走査変換プロセスは、変位したサンプルのフィルタ処理(例えば平均化)
とみなすことができる。変位したサンプルは、オーバラップする、次に直接に隣
接する、かつ/または次に間隔を置いて配置することができる。
【0102】 図6がテキスト向上システムで使用することができる例示的走査変換プロセス
812を示すことを想起されたい。ここに示す実施形態では、グリッド620に
よってセグメント化されるイメージ610の異なるイメージサンプル630、6
32、634が使用され、生成されるビットマップイメージ650の対応する部
分640、642、644に関連する赤、緑、および青の強度値が生成される。
図6に示す例では、赤および青に対するイメージサンプルは、それぞれ緑のサン
プルからの距離で−1/3および+1/3ピクセル高さだけ変位する。
812を示すことを想起されたい。ここに示す実施形態では、グリッド620に
よってセグメント化されるイメージ610の異なるイメージサンプル630、6
32、634が使用され、生成されるビットマップイメージ650の対応する部
分640、642、644に関連する赤、緑、および青の強度値が生成される。
図6に示す例では、赤および青に対するイメージサンプルは、それぞれ緑のサン
プルからの距離で−1/3および+1/3ピクセル高さだけ変位する。
【0103】 走査変換プロセス812により、各ピクセルサブ構成要素に対する赤、緑、お
よび青(R、G、B)の光度値が生成される。これらの値は、別々の赤、緑、お
よび青の光度レベルの形態で表現することができる。
よび青(R、G、B)の光度値が生成される。これらの値は、別々の赤、緑、お
よび青の光度レベルの形態で表現することができる。
【0104】 走査変換プロセス812の簡単な概要を提供したので、次いで走査変換プロセ
ス8.12を実施するための2つの例示的方法を図16および図17を参照しな
がら説明する。
ス8.12を実施するための2つの例示的方法を図16および図17を参照しな
がら説明する。
【0105】 図16は、走査変換プロセス812を実施するための例示的方法812′の高
レベル流れ図である。ステップ1610で示すように、ヒントされ、オーバスケ
ーリング(またはオーバサンプル)された文字アウトラインビットマップが受諾
される。同様に、ステップ1620に示すように、オーバスケーリング(または
オーバサンプル)されたグリフメトリックも受諾される。次いで、ステップ16
30に示すように、予想されるサイズのグリフメトリックは、オーバスケーリン
グ(またはオーバサンプル)されたグリフメトリックから決定される。より具体
的には、走査変換プロセス812によって受諾されるメトリックのうちの一部(
例えばアセントおよびディーセント)は、Y方向にN(例えばN=16)だけオ
ーバサンプリングされているので(図11および13を想起されたい)、これら
のオーバスケーリング(またはオーバサンプル)されたグリフメトリックが予想
されるサイズのグリフメトリックに変換される(すなわち、テキストをレンダリ
ングすべき特定の出力デバイスに対してスケーリングされる)とき、アセント(
左サイドベアリングのY構成要素とも呼ばれる)およびグリフのボディまたはサ
イズ(すなわちアセントとディーセントの絶対値との和)は、以下のように決定
することができる。
レベル流れ図である。ステップ1610で示すように、ヒントされ、オーバスケ
ーリング(またはオーバサンプル)された文字アウトラインビットマップが受諾
される。同様に、ステップ1620に示すように、オーバスケーリング(または
オーバサンプル)されたグリフメトリックも受諾される。次いで、ステップ16
30に示すように、予想されるサイズのグリフメトリックは、オーバスケーリン
グ(またはオーバサンプル)されたグリフメトリックから決定される。より具体
的には、走査変換プロセス812によって受諾されるメトリックのうちの一部(
例えばアセントおよびディーセント)は、Y方向にN(例えばN=16)だけオ
ーバサンプリングされているので(図11および13を想起されたい)、これら
のオーバスケーリング(またはオーバサンプル)されたグリフメトリックが予想
されるサイズのグリフメトリックに変換される(すなわち、テキストをレンダリ
ングすべき特定の出力デバイスに対してスケーリングされる)とき、アセント(
左サイドベアリングのY構成要素とも呼ばれる)およびグリフのボディまたはサ
イズ(すなわちアセントとディーセントの絶対値との和)は、以下のように決定
することができる。
【0106】 アセント≡シーリング(オーバスケーリングされたアセント/N) (3)
【0107】 ボディ高さ≡ シーリング(オーバスケーリングされたアセント/N)+ |シーリング(オーバスケーリングされたディーセントト/N)| (4)
【0108】 ただし、「シーリング」は、非整数を次に大きい整数に丸める演算子である。
このステップを使用して、オーバスケーリング(またはオーバサンプル)された
文字アウトラインビットマップの走査変換ソースサンプルに対する完全なピクセ
ルがあることが保証される。
このステップを使用して、オーバスケーリング(またはオーバサンプル)された
文字アウトラインビットマップの走査変換ソースサンプルに対する完全なピクセ
ルがあることが保証される。
【0109】 次にステップ1640に示すように、文字アウトラインのアセントおよびディ
ーセント中の残りの走査変換ソースサンプルがゼロ埋込みされる。より具体的に
は、アセント中の走査変換ソースサンプルの数がオーバスケーリング(またはオ
ーバサンプリング)因子Nで等しく割り切れない場合、アセント中の走査変換ソ
ースサンプルの数がオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れるまで、値ゼロ(0)を有する追加の走査変換ソースサンプルが
、文字アウトラインのアセントに加えられる。同様に、ディーセント中の走査変
換ソースサンプルがオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れない場合、ディーセント中の走査変換ソースサンプルの数がオー
バスケーリング(またはオーバサンプリング)因子Nで等しく割り切れるまで、
値ゼロ(0)を有する追加の走査変換ソースサンプルが、文字アウトラインのデ
ィーセントに加えられる。後に図18Aおよび図18Bを参照して示すように、
このステップにより、隣接する文字のベースラインが「ジャンプ」または「バウ
ンス」しないことが保証される。ゼロ埋込みと機能的に同等の他の技法もその代
わりに使用することができることに留意されたい。そのような機能的に同等な技
法は、例えば、走査変換プロセスに、ベースラインの上の走査変換ソースサンプ
ルのオーバスケーリング因子(またはオーバサンプリング率)の整数倍にアクセ
スさせること、および文字アウトラインのアセントの上の走査変換ソースサンプ
ルを(例えばマスキングオペレーションを用いて)無視することを含むことがあ
る。
ーセント中の残りの走査変換ソースサンプルがゼロ埋込みされる。より具体的に
は、アセント中の走査変換ソースサンプルの数がオーバスケーリング(またはオ
ーバサンプリング)因子Nで等しく割り切れない場合、アセント中の走査変換ソ
ースサンプルの数がオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れるまで、値ゼロ(0)を有する追加の走査変換ソースサンプルが
、文字アウトラインのアセントに加えられる。同様に、ディーセント中の走査変
換ソースサンプルがオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れない場合、ディーセント中の走査変換ソースサンプルの数がオー
バスケーリング(またはオーバサンプリング)因子Nで等しく割り切れるまで、
値ゼロ(0)を有する追加の走査変換ソースサンプルが、文字アウトラインのデ
ィーセントに加えられる。後に図18Aおよび図18Bを参照して示すように、
このステップにより、隣接する文字のベースラインが「ジャンプ」または「バウ
ンス」しないことが保証される。ゼロ埋込みと機能的に同等の他の技法もその代
わりに使用することができることに留意されたい。そのような機能的に同等な技
法は、例えば、走査変換プロセスに、ベースラインの上の走査変換ソースサンプ
ルのオーバスケーリング因子(またはオーバサンプリング率)の整数倍にアクセ
スさせること、および文字アウトラインのアセントの上の走査変換ソースサンプ
ルを(例えばマスキングオペレーションを用いて)無視することを含むことがあ
る。
【0110】 次に、ステップ1650に示すように、サブピクセル要素値が、走査変換ソー
スサンプルに基づいて決定される上記で論じたように、この決定は、変位したサ
ンプルをフィルタ処理することによって行うことができる。図19に重みづけ走
査変換プロセスの例を示す。赤のサブピクセル要素の強度値が5つの走査変換ソ
ースサンプルに基づき、緑のサブピクセル要素の強度値が9つの走査変換ソース
サンプルに基づき、青のサブピクセル要素の強度値が2つの走査変換ソースサン
プルに基づくので、この例示的走査変換プロセスは、「重みづけ」と呼ばれる。
人間の目は異なるカラーの光源からの光度を異なる比率で知覚するので、この重
みづけを使用することができる。
スサンプルに基づいて決定される上記で論じたように、この決定は、変位したサ
ンプルをフィルタ処理することによって行うことができる。図19に重みづけ走
査変換プロセスの例を示す。赤のサブピクセル要素の強度値が5つの走査変換ソ
ースサンプルに基づき、緑のサブピクセル要素の強度値が9つの走査変換ソース
サンプルに基づき、青のサブピクセル要素の強度値が2つの走査変換ソースサン
プルに基づくので、この例示的走査変換プロセスは、「重みづけ」と呼ばれる。
人間の目は異なるカラーの光源からの光度を異なる比率で知覚するので、この重
みづけを使用することができる。
【0111】 赤、緑、および青のサブピクセル要素をその最大光度出力に設定することで得
られるホワイトピクセルの知覚される明るさに対して、緑は約60%、赤は約3
0%、および青は約10%寄与する。したがって、例えば光度レベルなどのリソ
ースを割り振る際、青または赤よりも高いレベルを緑に割り振ることができる。
同様に、より高い強度レベルを赤に割り振ることができ、次いで青に割り振るこ
とができる。しかし、いくつかの実施形態では、赤、緑、および青に等しい強度
レベルが割り当てられる。この例でのオーバスケーリング(またはオーバサンプ
リング)因子は、16であった。
られるホワイトピクセルの知覚される明るさに対して、緑は約60%、赤は約3
0%、および青は約10%寄与する。したがって、例えば光度レベルなどのリソ
ースを割り振る際、青または赤よりも高いレベルを緑に割り振ることができる。
同様に、より高い強度レベルを赤に割り振ることができ、次いで青に割り振るこ
とができる。しかし、いくつかの実施形態では、赤、緑、および青に等しい強度
レベルが割り当てられる。この例でのオーバスケーリング(またはオーバサンプ
リング)因子は、16であった。
【0112】 図19では、破線1910は、オーバスケーリング(またはオーバサンプル)
された文字アウトラインの部分を示す。参照番号1912は、文字アウトライン
1910内の領域を示し、参照番号1914は、文字アウトライン1910の外
側の領域を示す。図19に、文字1910をレンダリングすべきディスプレイの
、6つのサブピクセル要素を有する2つのピクセルに対応する走査変換ソースサ
ンプルを示す。この例では、フィルタ処理オペレーションは、単に、その中の走
査変換ソースサンプル1920の中心1922がオーバスケーリング(またはオ
ーバサンプル)された文字アウトライン1910内または文字アウトライン19
10上にあるサンプルの数を加える。あるいは、少なくとも50%が文字アウト
ライン1910内にある走査変換ソースサンプルの数を使用することもできる。
最高のソースサブピクセルは、文字アウトライン1910のアセントが16で等
しく割り切れるようにゼロ埋込みされていることに留意されたい(ステップ16
40を想起されたい。)。走査変換ソースサンプルの第1セット1930aでは
、赤の値1932aは3であり、緑の値1934aは8であり、青の値1936
aはゼロ(0)である。走査変換ソースサンプルの第2セット1930bでは、
赤の値1932bはゼロ(0)であり、緑の値1934bはゼロ(0)であり、
青の値1936bは2である。
された文字アウトラインの部分を示す。参照番号1912は、文字アウトライン
1910内の領域を示し、参照番号1914は、文字アウトライン1910の外
側の領域を示す。図19に、文字1910をレンダリングすべきディスプレイの
、6つのサブピクセル要素を有する2つのピクセルに対応する走査変換ソースサ
ンプルを示す。この例では、フィルタ処理オペレーションは、単に、その中の走
査変換ソースサンプル1920の中心1922がオーバスケーリング(またはオ
ーバサンプル)された文字アウトライン1910内または文字アウトライン19
10上にあるサンプルの数を加える。あるいは、少なくとも50%が文字アウト
ライン1910内にある走査変換ソースサンプルの数を使用することもできる。
最高のソースサブピクセルは、文字アウトライン1910のアセントが16で等
しく割り切れるようにゼロ埋込みされていることに留意されたい(ステップ16
40を想起されたい。)。走査変換ソースサンプルの第1セット1930aでは
、赤の値1932aは3であり、緑の値1934aは8であり、青の値1936
aはゼロ(0)である。走査変換ソースサンプルの第2セット1930bでは、
赤の値1932bはゼロ(0)であり、緑の値1934bはゼロ(0)であり、
青の値1936bは2である。
【0113】 図16に戻ると、任意選択ステップ1660では、サブピクセル要素値が「圧
縮される」。例示的実施形態では、サブピクセル要素値は、以下の式に従って単
一の8ビット値に圧縮される。
縮される」。例示的実施形態では、サブピクセル要素値は、以下の式に従って単
一の8ビット値に圧縮される。
【0114】 圧縮されるピクセル値≡3×(10×赤+緑)+青 (5)
【0115】 したがって、例えば走査変換ソースサンプルの第1セット1930aに対応す
る圧縮ピクセル値は114(=3×(10×3+8)+0)であり、走査変換ソ
ースサンプルの第2セット1930bに対応する圧縮ピクセル値は2(=3×(
10×0+0)+2)である。圧縮ピクセル値は、ゼロ(0)(すなわち、赤、
緑、および青の値がすべてゼロ(0)であるとき)と179(すなわち、赤の値
が5であり、緑の値が9であり、青の値が2であるとき)との間の値を有するこ
とになる。
る圧縮ピクセル値は114(=3×(10×3+8)+0)であり、走査変換ソ
ースサンプルの第2セット1930bに対応する圧縮ピクセル値は2(=3×(
10×0+0)+2)である。圧縮ピクセル値は、ゼロ(0)(すなわち、赤、
緑、および青の値がすべてゼロ(0)であるとき)と179(すなわち、赤の値
が5であり、緑の値が9であり、青の値が2であるとき)との間の値を有するこ
とになる。
【0116】 次にステップ1670では、文字ビットマップおよびグリフメトリックがグリ
フキャッシュ726中に格納される。グリフキャッシュ726中に格納されるデ
ータの例示的データ構造を以下の§4.2.2.1.1.4で説明する。方法8
12′はRETURNノード1680を介して終了する。
フキャッシュ726中に格納される。グリフキャッシュ726中に格納されるデ
ータの例示的データ構造を以下の§4.2.2.1.1.4で説明する。方法8
12′はRETURNノード1680を介して終了する。
【0117】 図17は、走査変換プロセス812を実施するための代替方法812″の高レ
ベル流れ図である。図17の方法812″は、図12のオーバスケーリング(ま
たはオーバサンプリング)方法806″を使用するときに使用することができる
。図12のステップ1240および1250、ならびに図13のグリフ1314
から、文字アウトライン1310が90度だけ回転することを想起されたい。し
たがって、請求項17の方法において、走査変換グリフはステップ1770に示
すように回転し戻される。より具体的には、順序R−G−Bで配列されるサブピ
クセルを有するビデオ表示デバイスの場合、Y座標が最終のX座標にマップされ
、負のX座標が正の最終のY座標にマップされ、正のX座標が負の最終のY座標
にマップされる。そのような座標マッピングは、(以下の図20Bの説明からわ
かるように)走査変換ソースサンプルがアクセスされるように自動的に実施する
ことができる。そうでない場合、図17の方法812″は、図16と同様である
。
ベル流れ図である。図17の方法812″は、図12のオーバスケーリング(ま
たはオーバサンプリング)方法806″を使用するときに使用することができる
。図12のステップ1240および1250、ならびに図13のグリフ1314
から、文字アウトライン1310が90度だけ回転することを想起されたい。し
たがって、請求項17の方法において、走査変換グリフはステップ1770に示
すように回転し戻される。より具体的には、順序R−G−Bで配列されるサブピ
クセルを有するビデオ表示デバイスの場合、Y座標が最終のX座標にマップされ
、負のX座標が正の最終のY座標にマップされ、正のX座標が負の最終のY座標
にマップされる。そのような座標マッピングは、(以下の図20Bの説明からわ
かるように)走査変換ソースサンプルがアクセスされるように自動的に実施する
ことができる。そうでない場合、図17の方法812″は、図16と同様である
。
【0118】 上記の§4.2.2.1.1.1で論じたように、図12のオーバスケーリン
グ(またはオーバサンプリング)方法80611は、図10のオーバスケーリン
グ(またはオーバサンプリング)方法806′が走査変換ソースサンプル情報を
格納するときよりも、図17の走査変換方法812″などの走査変換プロセス8
12によってアクセスすることが容易となるように、走査変換ソースサンプル情
報を格納する。図20Aおよび図20Bに、走査変換プロセス812によって走
査変換ソースサンプル情報にアクセスすることの容易さにおける、この差を示す
。図20Aに示すように、オーバスケーリング(またはオーバサンプル)された
文字アウトライン1140からの走査変換ソースサンプル情報は、左から右、上
から下の方向にいくつかのバイトに分割し、参照番号2010で示される一連の
バイトとして格納することができる。走査変換はいくつか(例えば16)のY方
向に連続する走査変換ソースサンプルにアクセスするので、例えばバイト200
01,1′から1ビットアクセスし、iバイトスキップして、バイト20002,1′ から1ビットアクセスするなどのようにしなければならないことになる。
グ(またはオーバサンプリング)方法80611は、図10のオーバスケーリン
グ(またはオーバサンプリング)方法806′が走査変換ソースサンプル情報を
格納するときよりも、図17の走査変換方法812″などの走査変換プロセス8
12によってアクセスすることが容易となるように、走査変換ソースサンプル情
報を格納する。図20Aおよび図20Bに、走査変換プロセス812によって走
査変換ソースサンプル情報にアクセスすることの容易さにおける、この差を示す
。図20Aに示すように、オーバスケーリング(またはオーバサンプル)された
文字アウトライン1140からの走査変換ソースサンプル情報は、左から右、上
から下の方向にいくつかのバイトに分割し、参照番号2010で示される一連の
バイトとして格納することができる。走査変換はいくつか(例えば16)のY方
向に連続する走査変換ソースサンプルにアクセスするので、例えばバイト200
01,1′から1ビットアクセスし、iバイトスキップして、バイト20002,1′ から1ビットアクセスするなどのようにしなければならないことになる。
【0119】 他方、図20Bに示すように、回転し、オーバスケーリング(オーバサンプル
)した文字アウトライン1340からの走査変換ソース情報は、左から右、上か
ら下の方向にいくつかのバイトに分割し、参照番号2010′で示される一連の
バイトとして格納することができる。しかしこの場合、走査変換はいくつか(例
えば16)の(元はY方向であった)x方向に連続したビットにアクセスするの
で、単に2つの連続するバイト(例えば20001,1′、20001,2′など)に
しかアクセスすることができない。文字アウトラインのボディ940とemボッ
クス910(図9参照)との2つの間のスペースに対応する走査変換ソースサン
プルがある場合、そのようなオフセットを補償するアクセス方法を使用すること
ができる。
)した文字アウトライン1340からの走査変換ソース情報は、左から右、上か
ら下の方向にいくつかのバイトに分割し、参照番号2010′で示される一連の
バイトとして格納することができる。しかしこの場合、走査変換はいくつか(例
えば16)の(元はY方向であった)x方向に連続したビットにアクセスするの
で、単に2つの連続するバイト(例えば20001,1′、20001,2′など)に
しかアクセスすることができない。文字アウトラインのボディ940とemボッ
クス910(図9参照)との2つの間のスペースに対応する走査変換ソースサン
プルがある場合、そのようなオフセットを補償するアクセス方法を使用すること
ができる。
【0120】 図16のステップ1640および図17のステップ1740では、文字アウト
ラインのアセントおよびディーセント中の残りの走査変換ソースサンプルがゼロ
埋込みされていた。より具体的には、アセント中の走査変換ソースサンプルの数
がオーバスケーリング(またはオーバサンプリング)因子Nで等しく割り切れな
い場合、アセント中の走査変換ソースサンプルの数がオーバスケーリング(また
はオーバサンプリング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する
追加の走査変換ソースサンプルが、文字アウトラインのアセントに加えられるこ
とを想起されたい。
ラインのアセントおよびディーセント中の残りの走査変換ソースサンプルがゼロ
埋込みされていた。より具体的には、アセント中の走査変換ソースサンプルの数
がオーバスケーリング(またはオーバサンプリング)因子Nで等しく割り切れな
い場合、アセント中の走査変換ソースサンプルの数がオーバスケーリング(また
はオーバサンプリング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する
追加の走査変換ソースサンプルが、文字アウトラインのアセントに加えられるこ
とを想起されたい。
【0121】 同様に、ディーセント中の走査変換ソースサンプルの数がオーバスケーリング
(またはオーバサンプリング)因子Nで等しく割り切れない場合、ディーセント
中の走査変換ソースサンプルの数がオーバスケーリング(またはオーバサンプリ
ング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する追加のサブピクセ
ルソースサンプルが、文字アウトラインのディーセントに加えられる。図18A
および図18Bは、どのようにこれらのステップによりベースラインの「ジャン
ピング」または「バウンシング」が防止されるかを示す働きをする。
(またはオーバサンプリング)因子Nで等しく割り切れない場合、ディーセント
中の走査変換ソースサンプルの数がオーバスケーリング(またはオーバサンプリ
ング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する追加のサブピクセ
ルソースサンプルが、文字アウトラインのディーセントに加えられる。図18A
および図18Bは、どのようにこれらのステップによりベースラインの「ジャン
ピング」または「バウンシング」が防止されるかを示す働きをする。
【0122】 図18Aでは、ソースサンプル1850aがオーバスケーリング(またはオー
バサンプル)した文字アウトラインの最高のサブピクセルソースサンプルである
と仮定する。参照番号1810bは、ベースライン1820の上の最初の16個
の(オーバスケーリングまたはオーバサンプリング因子が16である場合)走査
変換ソースサンプルを示し、参照番号1810aは、ベースライン1820の上
の最後の16個の走査変換ソースサンプルを示す。ゼロ埋込みを用いない場合、
サンプルの第1組は、組1810aから走査変換ソースサンプルを取り、次の組
(図示せず)から1つの走査変換ソースサンプルを取ることになる。より多くの
サンプルの組が走査変換プロセス812によって処理されるので、このオフセッ
トは、サンプルの組がベースライン1820の上の組1810から走査変換ソー
スサンプルを取り、ベースライン1820の下の第1組から1つの走査変換ソー
スサンプルを取るように下方に伝播することになる。実質上、走査変換ソースサ
ンプルの最上部の組1810aをゼロ埋込みしないことの結果は、ベースライン
1820が1つの走査変換ソースサンプルを下方に移動することである。走査変
換ソースサンプルの最上部の組1810aをゼロ埋込みすることにより、ベース
ライン1820の位置が維持される。
バサンプル)した文字アウトラインの最高のサブピクセルソースサンプルである
と仮定する。参照番号1810bは、ベースライン1820の上の最初の16個
の(オーバスケーリングまたはオーバサンプリング因子が16である場合)走査
変換ソースサンプルを示し、参照番号1810aは、ベースライン1820の上
の最後の16個の走査変換ソースサンプルを示す。ゼロ埋込みを用いない場合、
サンプルの第1組は、組1810aから走査変換ソースサンプルを取り、次の組
(図示せず)から1つの走査変換ソースサンプルを取ることになる。より多くの
サンプルの組が走査変換プロセス812によって処理されるので、このオフセッ
トは、サンプルの組がベースライン1820の上の組1810から走査変換ソー
スサンプルを取り、ベースライン1820の下の第1組から1つの走査変換ソー
スサンプルを取るように下方に伝播することになる。実質上、走査変換ソースサ
ンプルの最上部の組1810aをゼロ埋込みしないことの結果は、ベースライン
1820が1つの走査変換ソースサンプルを下方に移動することである。走査変
換ソースサンプルの最上部の組1810aをゼロ埋込みすることにより、ベース
ライン1820の位置が維持される。
【0123】 次いで図18Bを参照すると、走査変換ソースサンプル1850cがオーバス
ケーリング(またはオーバサンプル)した文字アウトラインの最高の走査変換ソ
ースであると仮定される。参照番号1810dは、ベースライン1820の上の
最初の16個の(オーバスケーリングまたはオーバサンプリング因子が16であ
る場合)走査変換ソースサンプルを示し、参照番号1810cは、ベースライン
1820の上の最後の16個の走査変換ソースサンプルを示す。ゼロ埋込みを用
いない場合、サンプルの第1組は、組1810cから1つの走査変換ソースサン
プルを取り、次の組(図示せず)から15個のつの走査変換ソースサンプルを取
ることになる。より多くのサンプルの組が走査変換プロセス812によって処理
されるので、このオフセットは、サンプルの組がベースライン1820の上の組
1810dから1つの走査変換ソースサンプルを取り、ベースライン1820の
下の第1組から15個の走査変換ソースサンプルを取るように下方に伝播するこ
とになる。実質上、走査変換ソースサンプルの最上部の組1810cをゼロ埋込
みしないことの結果は、ベースライン1820が走査変換ソースサンプルを下方
に移動することである。走査変換ソースサンプルの最上部の組1810cをゼロ
埋込みすることにより、ベースライン1820の位置が維持される。図18Aと
図18Bとの比較から理解できるように、N個(例えばN=16)走査変換ソー
スサンプルのうちの最上部の組の中の走査変換ソースサンプルをゼロ埋込みしな
い場合、ベースライン1820の位置は、1つの文字から次の文字に移動、また
は「ジャンプ」することができる。
ケーリング(またはオーバサンプル)した文字アウトラインの最高の走査変換ソ
ースであると仮定される。参照番号1810dは、ベースライン1820の上の
最初の16個の(オーバスケーリングまたはオーバサンプリング因子が16であ
る場合)走査変換ソースサンプルを示し、参照番号1810cは、ベースライン
1820の上の最後の16個の走査変換ソースサンプルを示す。ゼロ埋込みを用
いない場合、サンプルの第1組は、組1810cから1つの走査変換ソースサン
プルを取り、次の組(図示せず)から15個のつの走査変換ソースサンプルを取
ることになる。より多くのサンプルの組が走査変換プロセス812によって処理
されるので、このオフセットは、サンプルの組がベースライン1820の上の組
1810dから1つの走査変換ソースサンプルを取り、ベースライン1820の
下の第1組から15個の走査変換ソースサンプルを取るように下方に伝播するこ
とになる。実質上、走査変換ソースサンプルの最上部の組1810cをゼロ埋込
みしないことの結果は、ベースライン1820が走査変換ソースサンプルを下方
に移動することである。走査変換ソースサンプルの最上部の組1810cをゼロ
埋込みすることにより、ベースライン1820の位置が維持される。図18Aと
図18Bとの比較から理解できるように、N個(例えばN=16)走査変換ソー
スサンプルのうちの最上部の組の中の走査変換ソースサンプルをゼロ埋込みしな
い場合、ベースライン1820の位置は、1つの文字から次の文字に移動、また
は「ジャンプ」することができる。
【0124】 走査変換プロセス812を説明したので、得られるグリフおよびグリフメトリ
ックを格納するための例示的データ構造を以下の§4.2.2.1.1.4で説
明する。
ックを格納するための例示的データ構造を以下の§4.2.2.1.1.4で説
明する。
【0125】 (§4.2.1.1.4 例示的圧縮ピクセル値データ構造) 多くのシステムでは、R、G、およびBの光度値は、3つの離散的な量として
指定され、格納され、処理される。この3つの離散的な量はそれぞれ、ディスプ
レイアダプタ548および/またはディスプレイデバイス547に対するサブピ
クセル要素光度値を指定するために用いられる数に対応する数を有する。例えば
、多くのシステムは、それぞれがR、G、またはBの光度値を表す8ビット量を
使用する。そのような実施態様では、R、G、およびBの光度値は、ピクセルご
とに24ビットの格納、処理、および転送を必要とする。
指定され、格納され、処理される。この3つの離散的な量はそれぞれ、ディスプ
レイアダプタ548および/またはディスプレイデバイス547に対するサブピ
クセル要素光度値を指定するために用いられる数に対応する数を有する。例えば
、多くのシステムは、それぞれがR、G、またはBの光度値を表す8ビット量を
使用する。そのような実施態様では、R、G、およびBの光度値は、ピクセルご
とに24ビットの格納、処理、および転送を必要とする。
【0126】 メモリ、処理、さらにはバス帯域幅が限られたリソースである一部のデバイス
(例えばポータブルコンピュータ、およびハンドヘルドコンピューティングデバ
イスなど)では、レンダリングプロセス全体にわたって各R、G、およびBの光
度値を表すために8ビットを用いることは、利用可能なリソースの著しい負担と
なる可能性がある。グリフを処理し、格納するために必要な、メモリを含むリソ
ースを低減するために、別々のR、G、およびBの光度レベル値を単一の数に変
換することができ、例えば単一の数に圧縮することができる(図16および図1
7それぞれのステップ1660および1760と、その関連する前述の§4.2
.1.1.3での説明を想起されたい。)。
(例えばポータブルコンピュータ、およびハンドヘルドコンピューティングデバ
イスなど)では、レンダリングプロセス全体にわたって各R、G、およびBの光
度値を表すために8ビットを用いることは、利用可能なリソースの著しい負担と
なる可能性がある。グリフを処理し、格納するために必要な、メモリを含むリソ
ースを低減するために、別々のR、G、およびBの光度レベル値を単一の数に変
換することができ、例えば単一の数に圧縮することができる(図16および図1
7それぞれのステップ1660および1760と、その関連する前述の§4.2
.1.1.3での説明を想起されたい。)。
【0127】 繰り返すと、この数がピクセルに関連するR、G、およびBの光度値を単一の
値に圧縮することを表すので、この数は「圧縮ピクセル値」と呼ばれる。ピクセ
ルR、G、およびBの光度レベルを表すために使用される数の範囲、例えば圧縮
ピクセル値の範囲は、可能なR、G、およびBの光度レベルそれぞれの組み合わ
せを固有に識別することができるように十分大きく選択される。したがって、R
、G、およびBの光度レベルの組み合わせを表すために使用される圧縮ピクセル
値の合計数は、サポートされる赤の強度レベルの合計数、緑の強度レベルの合計
数、および青の強度レベルの合計数の積と少なくとも同じであるべきである。メ
モリアクセス、処理、およびデータ転送オペレーションの点からバイト、すなわ
ち8ビット量で扱うことがしばしば便利であるので、積は8ビット量またはその
倍数として指定することができるべきである。ハンドヘルドコンピューティング
デバイスでは、(サブピクセル要素の光度値あたり8ビットを使用し、ピクセル
あたり合計24ビットを必要とする実施形態と比較して)メモリなどの点での著
しい節約のために、ピクセルあたり、R、G、およびBの光度値の積の単一8ビ
ット表示が特に望ましい。
値に圧縮することを表すので、この数は「圧縮ピクセル値」と呼ばれる。ピクセ
ルR、G、およびBの光度レベルを表すために使用される数の範囲、例えば圧縮
ピクセル値の範囲は、可能なR、G、およびBの光度レベルそれぞれの組み合わ
せを固有に識別することができるように十分大きく選択される。したがって、R
、G、およびBの光度レベルの組み合わせを表すために使用される圧縮ピクセル
値の合計数は、サポートされる赤の強度レベルの合計数、緑の強度レベルの合計
数、および青の強度レベルの合計数の積と少なくとも同じであるべきである。メ
モリアクセス、処理、およびデータ転送オペレーションの点からバイト、すなわ
ち8ビット量で扱うことがしばしば便利であるので、積は8ビット量またはその
倍数として指定することができるべきである。ハンドヘルドコンピューティング
デバイスでは、(サブピクセル要素の光度値あたり8ビットを使用し、ピクセル
あたり合計24ビットを必要とする実施形態と比較して)メモリなどの点での著
しい節約のために、ピクセルあたり、R、G、およびBの光度値の積の単一8ビ
ット表示が特に望ましい。
【0128】 一般には、レンダリングイメージ、具体的にはテキストイメージに関連するリ
ソースの負荷を制限するために、走査変換プロセス812は、ピクセルに関連す
る別々のR、G、およびBの光度値を圧縮ピクセル値に変換することができる。
そのような実施形態では、グリフは、例えば別々の8ビットR、G、およびBの
光度値としてではなく、圧縮ピクセル値を用いて表され、格納される。圧縮ピク
セル表示は、光度値がディスプレイアダプタ548に供給される前に、ディスプ
レイデバイス547によって用いられる形態の、別々のR、G、およびBの光度
値に変換することができる。
ソースの負荷を制限するために、走査変換プロセス812は、ピクセルに関連す
る別々のR、G、およびBの光度値を圧縮ピクセル値に変換することができる。
そのような実施形態では、グリフは、例えば別々の8ビットR、G、およびBの
光度値としてではなく、圧縮ピクセル値を用いて表され、格納される。圧縮ピク
セル表示は、光度値がディスプレイアダプタ548に供給される前に、ディスプ
レイデバイス547によって用いられる形態の、別々のR、G、およびBの光度
値に変換することができる。
【0129】 別々のR、G、およびBの光度レベルを圧縮ピクセル値に変換することは、走
査変換プロセス812の一部として、または走査変換プロセス812へのポスト
プロセスとして実行することができる。(前述の各々図16および図17のステ
ップ1660および1760を想起されたい。)シフトオペレーションまたは算
術式を使用して、ピクセルに関連する別々のR、G、およびBの光度レベルと圧
縮ピクセル値との間で変換することができる。そのようなオペレーションにより
、合計M(0からM−1)個の別個の圧縮ピクセル値エントリを生成することが
できる。ただしMは、ピクセル要素に割り当てることができる、可能なR、G、
およびBの光度レベルの組み合わせの合計数である。対応するR、G、およびB
の光度レベルの組み合わせは、各圧縮ピクセル値に関連する。
査変換プロセス812の一部として、または走査変換プロセス812へのポスト
プロセスとして実行することができる。(前述の各々図16および図17のステ
ップ1660および1760を想起されたい。)シフトオペレーションまたは算
術式を使用して、ピクセルに関連する別々のR、G、およびBの光度レベルと圧
縮ピクセル値との間で変換することができる。そのようなオペレーションにより
、合計M(0からM−1)個の別個の圧縮ピクセル値エントリを生成することが
できる。ただしMは、ピクセル要素に割り当てることができる、可能なR、G、
およびBの光度レベルの組み合わせの合計数である。対応するR、G、およびB
の光度レベルの組み合わせは、各圧縮ピクセル値に関連する。
【0130】 RPを赤の光度レベルの可能な最大数であるとすると、Rの光度値は、0から
RP−1まで変動する。GPを緑の光度レベルの可能な最大数であるとすると、
Gの光度値は、0からGP−1まで変動する。BPを青の光度レベルの可能な最
大数であるとすると、Bの光度値は、0からBP−1まで変動する。あるいは、
圧縮ピクセル値は、圧縮ピクセル値をルックアップテーブル中のインデックスと
して使用し、圧縮ピクセル値に関連する個々のR、G、およびB光度レベルエン
トリを出力することによって、ルックアップテーブルを用いて別々のR、G、お
よびBの光度値に変換することもできる。
RP−1まで変動する。GPを緑の光度レベルの可能な最大数であるとすると、
Gの光度値は、0からGP−1まで変動する。BPを青の光度レベルの可能な最
大数であるとすると、Bの光度値は、0からBP−1まで変動する。あるいは、
圧縮ピクセル値は、圧縮ピクセル値をルックアップテーブル中のインデックスと
して使用し、圧縮ピクセル値に関連する個々のR、G、およびB光度レベルエン
トリを出力することによって、ルックアップテーブルを用いて別々のR、G、お
よびBの光度値に変換することもできる。
【0131】 前述の例示的走査変換プロセス812′および812″では、RGBストライ
ピングに垂直な方向に16倍のオーバスケーリング(またはオーバサンプリング
)がサポートされたことを想起されたい。そこでは、6つの赤の光度レベル、例
えばレベル0〜5が使用され、10個の緑の光度レベル、例えばレベル0〜9が
使用され、3つの青の光度レベル、例えばレベル0〜2が使用された。これによ
り、合計180(=6×10×3)の可能なR、G、およびBの光度レベルの組
み合わせが得られる。そのような実施形態では、Nは180に等しく、ルックア
ップテーブルは圧縮ピクセル値0〜179を含む。
ピングに垂直な方向に16倍のオーバスケーリング(またはオーバサンプリング
)がサポートされたことを想起されたい。そこでは、6つの赤の光度レベル、例
えばレベル0〜5が使用され、10個の緑の光度レベル、例えばレベル0〜9が
使用され、3つの青の光度レベル、例えばレベル0〜2が使用された。これによ
り、合計180(=6×10×3)の可能なR、G、およびBの光度レベルの組
み合わせが得られる。そのような実施形態では、Nは180に等しく、ルックア
ップテーブルは圧縮ピクセル値0〜179を含む。
【0132】 サポートされるR、G、およびBの光度レベルの数は、通常、走査変換プロセ
ス812の間にR、G、およびBの光度レベルを決定するために使用される走査
変換ソースサンプルの数の関数であることに留意されたい。180個の可能なR
、G、およびB光度レベル光度レベルの組み合わせがサポートされる例示的実施
形態では、圧縮ピクセル値0〜179の各々は、8ビット量を用いて表すことが
できることにも留意されたい。これにより、別々の8ビット値がR、G、および
Bの組み合わせあたり合計24ビットにのために使用される実施形態と比較して
、格納要件が著しく低減される。
ス812の間にR、G、およびBの光度レベルを決定するために使用される走査
変換ソースサンプルの数の関数であることに留意されたい。180個の可能なR
、G、およびB光度レベル光度レベルの組み合わせがサポートされる例示的実施
形態では、圧縮ピクセル値0〜179の各々は、8ビット量を用いて表すことが
できることにも留意されたい。これにより、別々の8ビット値がR、G、および
Bの組み合わせあたり合計24ビットにのために使用される実施形態と比較して
、格納要件が著しく低減される。
【0133】 図21は、走査変換プロセス812によってグリフキャッシュ726′中に格
納することができる情報の例を示す。グリフキャッシュ726′は、いくつかの
グリフファイル2110aを含むことができる。グリフ2110aの各々は、い
くつかのグリフメトリック2112a(例えば左サイドベアリング、アドバンス
幅、アセント、ディーセントなど)およびいくつかのピクセルレコード2120
を含むこができる。ピクセルレコード2120の各々は、ディスプレイ画面ピク
セル座標2122および圧縮ピクセル2124を含むことができる。
納することができる情報の例を示す。グリフキャッシュ726′は、いくつかの
グリフファイル2110aを含むことができる。グリフ2110aの各々は、い
くつかのグリフメトリック2112a(例えば左サイドベアリング、アドバンス
幅、アセント、ディーセントなど)およびいくつかのピクセルレコード2120
を含むこができる。ピクセルレコード2120の各々は、ディスプレイ画面ピク
セル座標2122および圧縮ピクセル2124を含むことができる。
【0134】 グラフィックスディスプレイインターフェースプロセス722を説明したので
、ディスプレイドライバ723およびその関連するプロセスを以下の§4.2.
2.2で説明する。
、ディスプレイドライバ723およびその関連するプロセスを以下の§4.2.
2.2で説明する。
【0135】 (§4.2.2.2 ディスプレイドライバ構成要素) ディスプレイドライバ732は、ビデオ表示デバイス547が解釈することが
できるように、コンピュータシステムがビデオ表示デバイス547またはビデオ
アダプタ740に情報を通信することを可能とするソフトウェア命令を含むこと
ができる。ディスプレイドライバ732はオペレーティングシステムブロック5
35′の外側に示されるが、ディスプレイドライバ732は、オペレーティング
システム535′の一部とみなすことができる。図7に示すように、ディスプレ
イドライバ732は、ディスプレイ情報724′を受諾することができ、カラー
補償(またはカラーフィルタ処理)プロセス736、ガンマ補正プロセス737
、およびカラーパレット選択プロセス738を調整するディスプレイドライバ管
理プロセス735を含むことができる。ディスプレイ情報724′は、ディスプ
レイデバイス547のガンマと、ディスプレイデバイス547のカラーパレット
を含むことができる。
できるように、コンピュータシステムがビデオ表示デバイス547またはビデオ
アダプタ740に情報を通信することを可能とするソフトウェア命令を含むこと
ができる。ディスプレイドライバ732はオペレーティングシステムブロック5
35′の外側に示されるが、ディスプレイドライバ732は、オペレーティング
システム535′の一部とみなすことができる。図7に示すように、ディスプレ
イドライバ732は、ディスプレイ情報724′を受諾することができ、カラー
補償(またはカラーフィルタ処理)プロセス736、ガンマ補正プロセス737
、およびカラーパレット選択プロセス738を調整するディスプレイドライバ管
理プロセス735を含むことができる。ディスプレイ情報724′は、ディスプ
レイデバイス547のガンマと、ディスプレイデバイス547のカラーパレット
を含むことができる。
【0136】 図22は、ディスプレイドライバ管理プロセス735を実施するために使用す
ることができる方法735′の高レベル流れ図である。ステップ2210および
2220に示すように、ディスプレイドライバ管理方法は、グリフキャッシュ7
26から735′グリフを受諾し、ディスプレイ547からディスプレイ情報を
受諾する(またはシステム構成ファイルからディスプレイデバイス547につい
てのディスプレイ情報を受諾する)。次いで、方法735′は、ステップ223
0で、以下の§4.2.2.1でより詳細に説明するカラーフィルタ処理プロセ
ス736を起動することができる。方法735′は、ステップ2240で、以下
の§4.2.2.2.2でより詳細に説明するガンマ補正プロセス737を起動
することもできる。最後に、方法735′は、ステップ2250で、以下の§4
.2.2.2.3でより詳細に説明するカラーパレット選択プロセス738を起
動することができる。方法735′はRETURNノード2260を介して終了
する。
ることができる方法735′の高レベル流れ図である。ステップ2210および
2220に示すように、ディスプレイドライバ管理方法は、グリフキャッシュ7
26から735′グリフを受諾し、ディスプレイ547からディスプレイ情報を
受諾する(またはシステム構成ファイルからディスプレイデバイス547につい
てのディスプレイ情報を受諾する)。次いで、方法735′は、ステップ223
0で、以下の§4.2.2.1でより詳細に説明するカラーフィルタ処理プロセ
ス736を起動することができる。方法735′は、ステップ2240で、以下
の§4.2.2.2.2でより詳細に説明するガンマ補正プロセス737を起動
することもできる。最後に、方法735′は、ステップ2250で、以下の§4
.2.2.2.3でより詳細に説明するカラーパレット選択プロセス738を起
動することができる。方法735′はRETURNノード2260を介して終了
する。
【0137】 (§4.2.2.2.1 カラー補償(フィルタ処理)) オーバスケーリング(またはオーバサンプリング)および走査変換プロセスに
より、赤210、緑220、および青230サブピクセルを別々に考慮すること
によって、垂直方向にディスプレイデバイスの解像度が効果的に向上するが、隣
接するサブピクセルの強度値が非常に異なる場合、得られる表示は、ユーザにと
って視覚的に不快であることがある。強度差が大きすぎる場合、カラー補償(カ
ラーフィルタ処理)プロセス736を使用して、ある隣接するサブピクセル要素
間の強度差を低減することができる。
より、赤210、緑220、および青230サブピクセルを別々に考慮すること
によって、垂直方向にディスプレイデバイスの解像度が効果的に向上するが、隣
接するサブピクセルの強度値が非常に異なる場合、得られる表示は、ユーザにと
って視覚的に不快であることがある。強度差が大きすぎる場合、カラー補償(カ
ラーフィルタ処理)プロセス736を使用して、ある隣接するサブピクセル要素
間の強度差を低減することができる。
【0138】 図23は、カラーフィルタ処理プロセス736を実施するために使用すること
ができる例示的方法736′の流れ図である。まずステップ2310に示すよう
に、フィルタパラメータが受諾される。この方法736′では、2つのフィルタ
、すなわち赤のフィルタおよび青のフィルタが提供される。この場合、赤のフィ
ルタは閾値、赤の因子、および緑の因子を使用する。青のフィルタは、閾値、緑
の因子、および赤の因子を使用する。図に示すように、ステップ2320および
2380によって定義されるループは、処理されるグリフの各圧縮ピクセル値に
対して実行される。ループ2320〜2380内では、ステップ2330に示す
ように、正規化された赤、緑、および青の強度値が圧縮ピクセル値から決定され
る。より具体的には、例えばカラースペース0から255は、重み付けしたカラ
ーに基づいて等しいセグメントに分割することができる。したがって例えば、5
つの赤のカラーがある場合、カラースペースは、それぞれ255/5だけ離れて
配置される5つのセグメントに分割される。これにより、6つの固有の赤のカラ
ーがもたらされ、それらはカラースペースに正規化される。したがって、正規化
カラーは以下の式を用いて決定することができる。
ができる例示的方法736′の流れ図である。まずステップ2310に示すよう
に、フィルタパラメータが受諾される。この方法736′では、2つのフィルタ
、すなわち赤のフィルタおよび青のフィルタが提供される。この場合、赤のフィ
ルタは閾値、赤の因子、および緑の因子を使用する。青のフィルタは、閾値、緑
の因子、および赤の因子を使用する。図に示すように、ステップ2320および
2380によって定義されるループは、処理されるグリフの各圧縮ピクセル値に
対して実行される。ループ2320〜2380内では、ステップ2330に示す
ように、正規化された赤、緑、および青の強度値が圧縮ピクセル値から決定され
る。より具体的には、例えばカラースペース0から255は、重み付けしたカラ
ーに基づいて等しいセグメントに分割することができる。したがって例えば、5
つの赤のカラーがある場合、カラースペースは、それぞれ255/5だけ離れて
配置される5つのセグメントに分割される。これにより、6つの固有の赤のカラ
ーがもたらされ、それらはカラースペースに正規化される。したがって、正規化
カラーは以下の式を用いて決定することができる。
【0139】 (カラーの合計数−所望のカラーインデックス) * 255/カラーの合計数 (6)
【0140】 次いで、判定ステップ2340で、赤と緑の強度間の差の絶対値(すなわち大
きさ)が赤のフィルタ閾値値よりも大きいかどうかが判定される。赤のフィルタ
閾値よりも大きい場合、ステップ2350に示すように、赤および緑の強度が、
その差の大きさが減少するように調整される。例えばこのステップの部分は、以
下の式に従って実施することができる。
きさ)が赤のフィルタ閾値値よりも大きいかどうかが判定される。赤のフィルタ
閾値よりも大きい場合、ステップ2350に示すように、赤および緑の強度が、
その差の大きさが減少するように調整される。例えばこのステップの部分は、以
下の式に従って実施することができる。
【0141】 (R−G)>赤のフィルタ閾値である場合、 R′=R−((R−G)*赤のフィルタの赤の因子)/10 G′=G+((R−G)*赤のフィルタの緑の因子)/10
【0142】 ただしRは元の赤の強度であり、Gは元の緑の強度であり、R′は新しい赤の
強度であり、G′は新しい緑の強度である。次いで処理は判定ステップ2360
に進む。判定ステップ2340に戻ると、赤と緑の強度間の差の絶対値(すなわ
ち大きさ)が赤のフィルタ閾値より大きくない場合、処理は直接、判定ステップ
2360に進む。
強度であり、G′は新しい緑の強度である。次いで処理は判定ステップ2360
に進む。判定ステップ2340に戻ると、赤と緑の強度間の差の絶対値(すなわ
ち大きさ)が赤のフィルタ閾値より大きくない場合、処理は直接、判定ステップ
2360に進む。
【0143】 判定ステップ2360では、緑(これはステップ2350で修正されている可
能性がある)と青の強度間の差の絶対値(すなわち大きさ)が青のフィルタ閾値
値よりも大きいかどうかが判定される。青のフィルタ閾値よりも大きい場合、ス
テップ2370に示すように、緑の強度(ステップ2350で修正された場合は
修正された強度)、青の強度、および/または赤の強度(ステップ2350で修
正された場合は修正された強度)が、その差の大きさが減少するように調整され
る。例えばこのステップの部分は、以下の式に従って実施することができる。
能性がある)と青の強度間の差の絶対値(すなわち大きさ)が青のフィルタ閾値
値よりも大きいかどうかが判定される。青のフィルタ閾値よりも大きい場合、ス
テップ2370に示すように、緑の強度(ステップ2350で修正された場合は
修正された強度)、青の強度、および/または赤の強度(ステップ2350で修
正された場合は修正された強度)が、その差の大きさが減少するように調整され
る。例えばこのステップの部分は、以下の式に従って実施することができる。
【0144】 (G−B)>青のフィルタ閾値である場合、 G′=G−((G−B)*青のフィルタの緑の因子)/10 B′=B+((G−B)*青のフィルタの青の因子)/10 R′=R−((G−B)*青のフィルタの赤の因子)/10
【0145】 ただしRは元の赤の強度(ステップ2350で修正された場合は修正された強度
)であり、Gは元の緑の強度(ステップ2350で修正された場合は修正された
強度)であり、Bは元の青の強度であり、R′は新しい赤の強度であり、G′は
新しい緑の強度であり、B′は新しい青の強度である。次いで処理はステップ2
380に進む。判定ステップ2360に戻ると、緑と青の強度間の差の絶対値(
すなわち大きさ)が青のフィルタの閾値よりも大きくない場合、処理は直接ステ
ップ2380に進む。グリフのすべての圧縮ピクセルが処理された後、方法73
6′は、RETURNノード2390を介して終了する。
)であり、Gは元の緑の強度(ステップ2350で修正された場合は修正された
強度)であり、Bは元の青の強度であり、R′は新しい赤の強度であり、G′は
新しい緑の強度であり、B′は新しい青の強度である。次いで処理はステップ2
380に進む。判定ステップ2360に戻ると、緑と青の強度間の差の絶対値(
すなわち大きさ)が青のフィルタの閾値よりも大きくない場合、処理は直接ステ
ップ2380に進む。グリフのすべての圧縮ピクセルが処理された後、方法73
6′は、RETURNノード2390を介して終了する。
【0146】 フィルタ可変値に対するいくつかのサンプル値は、以下の通りである。 赤のフィルタ閾値=100 赤のフィルタの赤の因子=3 赤のフィルタの緑の因子=2 青のフィルタ閾値=128 青のフィルタの赤の因子=2 青のフィルタの緑の因子=1 青のフィルタの青の因子=3
【0147】 カラーフィルタ処理プロセスをディスプレイドライバ732の一部として示し
たが、その代わりに、走査変換されるサブピクセル要素強度値が圧縮ピクセル値
に結合される前に、これらの値に適用することもできたことに留意されたい。
たが、その代わりに、走査変換されるサブピクセル要素強度値が圧縮ピクセル値
に結合される前に、これらの値に適用することもできたことに留意されたい。
【0148】 (§4.2.2.2 ガンマ補正) 多くのディスプレイデバイス547は、入力信号とその出力との間で非線型の
挙動を示す。より具体的には、ディスプレイデバイス547への入力信号がiで
あり、ディスプレイデバイス547の出力がoである場合、iとoとの関係は、
一般に以下のように表すことができる。
挙動を示す。より具体的には、ディスプレイデバイス547への入力信号がiで
あり、ディスプレイデバイス547の出力がoである場合、iとoとの関係は、
一般に以下のように表すことができる。
【0149】 o=ciγq (7)
【0150】 ただし、cは定数であり、7は一般に1ではない指数(一般にデバイスの「ガン
マ」と呼ばれる)である。LCDディスプレイでは、ガンマは一般に1未満であ
る。イメージ中の知覚されるグレースケールを正しくディスプレイ547上にレ
ンダリングすることを保証するために、一般に「ガンマはコレクタ」と呼ばれる
、追加の補償型の非線型デバイスがしばしば使用される。したがって図22のス
テップ2240を参照すると、ガンマ補正プロセスが起動される。
マ」と呼ばれる)である。LCDディスプレイでは、ガンマは一般に1未満であ
る。イメージ中の知覚されるグレースケールを正しくディスプレイ547上にレ
ンダリングすることを保証するために、一般に「ガンマはコレクタ」と呼ばれる
、追加の補償型の非線型デバイスがしばしば使用される。したがって図22のス
テップ2240を参照すると、ガンマ補正プロセスが起動される。
【0151】 図24は、ガンマ補正プロセス2240を実施するために使用することができ
る例示的ガンマ補正方法2240′の高レベル流れ図である。この方法2240
′は、任意選択で、ガンマ補正が最も効果的な範囲に強度値を正規化することが
できる。まず、任意選択ステップ2410では、「有用な」上限値および下限値
が受諾される。これらの境界は、ガンマ補正が最も効果的な強度の範囲を反映す
る。強度の範囲が0から255である場合、例えば下限境界を30にし、上限境
界を250とすることができる。ステップ2420では、強度値が受諾される。
次いで任意選択ステップ2430では、強度値が強度の「有用な」範囲に正規化
される。この正規化は、単に下限未満の強度を下限に設定し、上限を超える強度
を上限に設定するようにクランプすることによって実行することができる。ある
いは正規化は、強度をシフトし、クランプすることによって実行することもでき
る。この代替技法では、上限250および下限30を仮定すると、0から255
の範囲の強度を、例えば15だけ上にシフトして15から270にシフトし、1
5と29との間の強度を30にクランプし、251と270との間の強度を25
0にクランプするようにクランプすることができる。別の実施形態では、「有用
な」範囲の強度内になるように強度がスケーリングされ、丸められる。この場合
、下限30および上限250を仮定すると、0と255の間の可能な256個の
値が、30と250の間の可能な221個の値にスケーリングされ(かつ、丸め
られ)ることになる。もちろん、「有用な」範囲に強度を正規化するための他の
技法も利用することができる。ステップ2440ではデバイス547のガンマが
受諾され、ステップ2450ではデバイス547のガンマに基づいて(正規化さ
れた)強度値が調整される。次いで方法2240′はRETURNノード246
0を介して終了する。
る例示的ガンマ補正方法2240′の高レベル流れ図である。この方法2240
′は、任意選択で、ガンマ補正が最も効果的な範囲に強度値を正規化することが
できる。まず、任意選択ステップ2410では、「有用な」上限値および下限値
が受諾される。これらの境界は、ガンマ補正が最も効果的な強度の範囲を反映す
る。強度の範囲が0から255である場合、例えば下限境界を30にし、上限境
界を250とすることができる。ステップ2420では、強度値が受諾される。
次いで任意選択ステップ2430では、強度値が強度の「有用な」範囲に正規化
される。この正規化は、単に下限未満の強度を下限に設定し、上限を超える強度
を上限に設定するようにクランプすることによって実行することができる。ある
いは正規化は、強度をシフトし、クランプすることによって実行することもでき
る。この代替技法では、上限250および下限30を仮定すると、0から255
の範囲の強度を、例えば15だけ上にシフトして15から270にシフトし、1
5と29との間の強度を30にクランプし、251と270との間の強度を25
0にクランプするようにクランプすることができる。別の実施形態では、「有用
な」範囲の強度内になるように強度がスケーリングされ、丸められる。この場合
、下限30および上限250を仮定すると、0と255の間の可能な256個の
値が、30と250の間の可能な221個の値にスケーリングされ(かつ、丸め
られ)ることになる。もちろん、「有用な」範囲に強度を正規化するための他の
技法も利用することができる。ステップ2440ではデバイス547のガンマが
受諾され、ステップ2450ではデバイス547のガンマに基づいて(正規化さ
れた)強度値が調整される。次いで方法2240′はRETURNノード246
0を介して終了する。
【0152】 (§4.2.2.2.3 カラーパレット選択) ディスプレイデバイスは一般に利用可能なカラーのパレットを有する。したが
って、カラーフィルタ処理し、ガンマ補正した赤−緑−青強度値トリプレットは
、ディスプレイデバイス547の最も近いカラーにマップされる。
って、カラーフィルタ処理し、ガンマ補正した赤−緑−青強度値トリプレットは
、ディスプレイデバイス547の最も近いカラーにマップされる。
【0153】 前述のように、ディスプレイデバイス724′を使用して、使用すべきルック
アップテーブルの組に含まれるルックアップテーブルのうちの1つを選択するこ
とができる。ルックアップテーブルの組の中のルックアップテーブルは、グリフ
をピクセル値に表すために使用される圧縮ピクセル値を変換するために使用され
る。処理されたピクセル値は、例えば8ビットR、G、およびBの光度値などの
形態であり、ディスプレイアダプタ548′および/またはディスプレイデバイ
ス547で使用される。各ルックアップテーブルは、各ポテンシャル圧縮ピクセ
ル値および対応する出力値についての1つのエントリを含む。180個の可能な
圧縮ピクセル値の例示的ケースでは、ルックアップテーブルは180個の圧縮ピ
クセル値と、18Dの対応する処理された(例えば出力)ピクセル値とを含む。
各出力ピクセル値は、出力ピクセル値が対応する圧縮ピクセル値を入力として用
いて、実施されるディスプレイドライバ処理オペレーションを実行することによ
って生成される事前計算値とすることができる。
アップテーブルの組に含まれるルックアップテーブルのうちの1つを選択するこ
とができる。ルックアップテーブルの組の中のルックアップテーブルは、グリフ
をピクセル値に表すために使用される圧縮ピクセル値を変換するために使用され
る。処理されたピクセル値は、例えば8ビットR、G、およびBの光度値などの
形態であり、ディスプレイアダプタ548′および/またはディスプレイデバイ
ス547で使用される。各ルックアップテーブルは、各ポテンシャル圧縮ピクセ
ル値および対応する出力値についての1つのエントリを含む。180個の可能な
圧縮ピクセル値の例示的ケースでは、ルックアップテーブルは180個の圧縮ピ
クセル値と、18Dの対応する処理された(例えば出力)ピクセル値とを含む。
各出力ピクセル値は、出力ピクセル値が対応する圧縮ピクセル値を入力として用
いて、実施されるディスプレイドライバ処理オペレーションを実行することによ
って生成される事前計算値とすることができる。
【0154】 グリフを表す圧縮ピクセル値を、ルックアップテーブル中のインデックスとし
て用いることにより、装着されるディスプレイアダプタまたはディスプレイデバ
イスによって使用される形態の、R、G、およびBの光度値を含む1組の処理さ
れたピクセル値が得られる。
て用いることにより、装着されるディスプレイアダプタまたはディスプレイデバ
イスによって使用される形態の、R、G、およびBの光度値を含む1組の処理さ
れたピクセル値が得られる。
【0155】 ルックアップテーブル中に含まれる処理されたピクセルは、事前計算されたも
のとすることができる。すなわち、ディスプレイドライバ732で使用する前に
計算することができる。処理されるピクセル値を事前計算することによって、イ
メージレンダリング中のリアルタイムのガンマ補正、カラー補償、および/また
はパレット選択オペレーションが回避される。
のとすることができる。すなわち、ディスプレイドライバ732で使用する前に
計算することができる。処理されるピクセル値を事前計算することによって、イ
メージレンダリング中のリアルタイムのガンマ補正、カラー補償、および/また
はパレット選択オペレーションが回避される。
【0156】 ピクセル値ルックアップテーブル手法の代替方法も使用することができる。ガ
ンマ補正、カラー補償、および/またはパレット選択オペレーションは、圧縮ピ
クセル値を入力として用いて実行し、ディスプレイアダプタ548′および/ま
たはディスプレイ547で使用するのに適したフォーマットで、処理されたピク
セル値を生成することができる。
ンマ補正、カラー補償、および/またはパレット選択オペレーションは、圧縮ピ
クセル値を入力として用いて実行し、ディスプレイアダプタ548′および/ま
たはディスプレイ547で使用するのに適したフォーマットで、処理されたピク
セル値を生成することができる。
【0157】 (§4.2.2.3 ディスプレイアダプタ) 従来のディスプレイアダプタ548′は、ビデオグラムをバッファし、ディス
プレイデバイス547に出力する目的でビデオフレームを適合させるために、従
来の方式で動作することができる。
プレイデバイス547に出力する目的でビデオフレームを適合させるために、従
来の方式で動作することができる。
【0158】 (§4.3 結論) 以上の説明に鑑みて、本発明は、例えばRGB LCDなどのサブピクセル要
素を有するディスプレイデバイス、特に、水平ストライピングを有するディスプ
レイデバイス上にレンダリングされるテキストの解像度を向上するための技法を
開示した。
素を有するディスプレイデバイス、特に、水平ストライピングを有するディスプ
レイデバイス上にレンダリングされるテキストの解像度を向上するための技法を
開示した。
【0159】 本発明は、文字アウトライン情報(左サイドベアリング、アドバンス幅、垂直
文字サイズ1など)に関連するメトリックを適切に調整するための技法を開示し
た。本発明は、ベースラインの「ジャンピング」または「バウンシング」を防止
するための技法も開示した。
文字サイズ1など)に関連するメトリックを適切に調整するための技法を開示し
た。本発明は、ベースラインの「ジャンピング」または「バウンシング」を防止
するための技法も開示した。
【0160】 本発明は、赤、緑、および青の光度値を圧縮するための技法も開示した。
【0161】 本発明は、隣接するサブピクセル要素の差が普通なら見にくくなるときに、カ
ラー値を選択的にフィルタ処理するための技法も開示した。
ラー値を選択的にフィルタ処理するための技法も開示した。
【0162】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正が最も有用となる強度の範囲内にあるように、ピク
セルのガンマを補正するための技法を開示した。
ル要素の強度値がガンマ補正が最も有用となる強度の範囲内にあるように、ピク
セルのガンマを補正するための技法を開示した。
【図1】 水平ストライピングを有するLCDディスプレイのサブピクセル要素の周知の
配列を示す図である。
配列を示す図である。
【図2】 図1の部分をより詳細に示す図である。
【図3】 周知のイメージサンプリングオペレーションを示す図である。
【図4】 文字情報を表す周知の方式を示す図である。
【図5A】 本発明の少なくともいくつかの態様を実施するために使用することができるコ
ンピュータシステムのブロックダイアグラムである。
ンピュータシステムのブロックダイアグラムである。
【図5B】 本発明の少なくともいくつかの態様を実施するために使用することができるマ
シンの高レベルブロックダイアグラムである。
シンの高レベルブロックダイアグラムである。
【図6】 本発明をそれと共に使用することができるイメージサンプリング技法を示す図
である。
である。
【図7】 本発明の少なくともいくつかの態様を動作させることができる環境の高レベル
プロセスのダイアグラムである。
プロセスのダイアグラムである。
【図8】 本発明の少なくともいくつかの態様を動作させることができる環境のグラフィ
ックディスプレイインターフェースプロセスのダイアグラムである。
ックディスプレイインターフェースプロセスのダイアグラムである。
【図9】 本発明のいくつかの態様を説明する際に使用される活版印刷の用語を示す図で
ある。
ある。
【図10】 オーバスケーリングまたはオーバサンプリングプロセスを実施するための第1
方法の高レベル流れ図である。
方法の高レベル流れ図である。
【図11】 図10に示す方法の動作を示す例である。
【図12】 オーバスケーリングまたはオーバサンプリングプロセスを実施するための第2
方法の高レベル流れ図である。
方法の高レベル流れ図である。
【図13】 図12に示す方法の動作を示す例である。
【図14】 ヒンティングプロセスを実施するための高レベル流れ図である。
【図15A】 図14のヒンティング方法の動作を示す例である。
【図15B】 図14のヒンティング方法の動作を示す例である。
【図16】 走査変換プロセスを実施するための第1方法の高レベル流れ図である。
【図17】 走査変換プロセスを実施するための第2方法の高レベル流れ図である。
【図18A】 図16および図17の走査変換方法でのゼロ埋込みステップの有用性を示す図
である。
である。
【図18B】 図16および図17の走査変換方法でのゼロ埋込みステップの有用性を示す図
である。
である。
【図19】 例示的走査変換プロセスを示す例である。
【図20A】 走査変換ソースサンプル(または、より一般には情報)の格納および検索を示
す図である。
す図である。
【図20B】 走査変換ソースサンプル(または、より一般には情報)の格納および検索を示
す図である。
す図である。
【図21】 グリフ情報をグリフキャッシュ中に格納するために使用することができる例示
的データ構造である。
的データ構造である。
【図22】 ディスプレイドライバ管理プロセスを実施するための例示的方法の高レベル流
れ図である。
れ図である。
【図23】 カラー補償(またはカラーフィルタ処理)プロセスを実施するための例示的方
法の高レベル流れ図である。
法の高レベル流れ図である。
【図24】 ガンマ補正方法を実施するための例示的方法の高レベル流れ図である。
───────────────────────────────────────────────────── フロントページの続き (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)発明者 リロイ ビー.キーリー ジュニア アメリカ合衆国 94028 カリフォルニア 州 ポートラ バレー ガバーダ ウェイ 210 (72)発明者 グレゴリー シー.ヒッチコック アメリカ合衆国 98072−9236 ワシント ン州 ウッディンビル ノースイースト 159 アベニュー 17828 (72)発明者 ライアン イー.クキアーマン アメリカ合衆国 98052 ワシントン州 レッドモンド 156 アベニュー ノース イースト 4850 アパートメント 72 Fターム(参考) 5B080 FA00 FA02 FA05 GA00 5C080 AA10 BB05 CC03 DD01 DD07 EE01 EE29 EE30 JJ01 JJ02 JJ07 【要約の続き】 るときに、選択的にフィルタ処理することができる。最 後に、ディスプレイデバイスのガンマが考慮されて、サ ブピクセル要素の強度値がガンマ補正がより有用である 強度の範囲内となるように、ピクセル値のガンマを補正 することができる。
Claims (24)
- 【請求項1】 水平方向にストライプされたサブピクセル要素を有するディ
スプレイデバイス上にレンダリングすべきテキストの解像度を向上するための方
法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は、前記第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)文字情報およびディスプレイデバイス解像度情報を受諾するサブステップ
と、 ii)解像度向上オーバスケーリング因子を受諾するサブステップと、 iii)ディスプレイデバイス解像度情報および解像度向上オーバスケーリン
グ因子に基づいて文字情報をスケーリングするサブステップとを含むことを特徴
とする方法。 - 【請求項2】 前記ピクセルの第1サブピクセル要素の光度値を決定するス
テップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップの
各々が、ポイントサイズを受諾するサブステップをさらに具え、 文字情報をスケーリングするサブステップは、さらにポイントサイズに基づく
ことを特徴とする請求項1記載の方法。 - 【請求項3】 前記文字情報は垂直方向および水平方向を定義し、 前記文字情報をスケーリングするサブステップにおいて、該文字情報が、水平
方向よりも垂直方向に大きくスケーリングされることを特徴とする請求項1記載
の方法。 - 【請求項4】 前記解像度向上オーバスケーリング因子は、少なくとも3で
あることを特徴とする請求項1記載の方法。 - 【請求項5】 前記ピクセルの第1サブピクセル要素の光度値を決定するス
テップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップの
各々は、 前記文字情報をスケーリングするサブステップの前に行われる、前記文字情報
を回転させるサブステップをさらに含むことを特徴とする請求項1記載の方法。 - 【請求項6】 水平方向にストライプされたサブピクセル要素を有するディ
スプレイデバイス上にレンダリングすべきテキストの解像度を向上するための方
法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は前記第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)(a)走査変換ソースサンプルから構成されるオーバスケーリングされた
文字ビットマップと、(b)走査変換ソースサンプルから構成されるオーバサン
プリングされ、スケーリングされた文字ビットマップのうちの一方を受諾するサ
ブステップと、 ii)オーバスケーリングされたグリフメトリックを受諾するサブステップと
、 iii)オーバスケーリングされたグリフメトリックから、予想されるサイズ
のグリフメトリックを決定するサブステップと、 iv)前記第1情報からピクセルの第1サブピクセル要素の光度値を決定する
サブステップであって、該第1情報が少なくとも1つの走査変換ソースサンプル
を含むサブステップと、 v)前記第2情報からピクセルの第2サブピクセル要素の光度値を決定するサ
ブステップであって、該第2情報が少なくとも1つの他の走査変換ソースサンプ
ルを含むサブステップとを含むことを特徴とする方法。 - 【請求項7】 前記第1情報は走査変換ソースサンプルの第1グループを含
み、前記第2情報は走査変換ソースサンプルの第2グループを含み、 前記走査変換ソースサンプルの第1グループは、走査変換ソースサンプルの第
2グループから変位することを特徴とする請求項6記載の方法。 - 【請求項8】 前記第1グループの走査変換ソースサンプルのうちの少なく
とも1つは、第2グループにも属することを特徴とする請求項7記載の方法。 - 【請求項9】 前記第1グループの走査変換ソースサンプルのうちの1つは
、前記第2グループの走査変換ソースサンプルのうちの1つに隣接し、 前記第1グループおよび前記第2グループは、共通の走査変換ソースサンプル
を含まないことを特徴とする請求項7記載の方法。 - 【請求項10】 前記グリフメトリックは左サイドベアリング垂直構成要素
を含み、 前記オーバスケーリングされたグリフメトリックから、予想されるサイズのグ
リフメトリックを決定するサブステップは、オーバスケーリング因子で除算され
る、オーバスケーリングされた左サイドベアリング垂直構成要素のシーリングを
決定することを含むことを特徴とする請求項6記載の方法。 - 【請求項11】 前記グリフメトリックがアセントおよびディーセントを含
み、 前記オーバスケーリングされたグリフメトリックから、予想されるサイズのグ
リフメトリックを決定するサブステップは、(i)オーバスケーリング因子で除
算される、オーバスケーリングされたアセントのシーリングと、(ii)オーバ
スケーリング因子で除算される、オーバスケーリングされたディーセントのシー
リングの絶対値との和を取ることによってグリフサイズを決定することを含むこ
とを特徴とする請求項6記載の方法。 - 【請求項12】 水平方向にストライプされたサブピクセル要素を有するデ
ィスプレイデバイス上にレンダリングすべきテキストの解像度を向上するための
方法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は、前記第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)文字情報およびディスプレイデバイス解像度情報を受諾するサブステップ
と、 ii)解像度向上オーバスケーリング因子を受諾するサブステップと、 iii)ディスプレイデバイス解像度情報に基づいて文字情報をスケーリング
し、スケーリングされた文字情報を生成するサブステップと、 iv)解像度向上オーバスケーリング因子に基づいてスケーリングされた文字
情報をオーバサンプリングするサブステップとを含むことを特徴とする方法。 - 【請求項13】 前記ピクセルの第1サブピクセル要素の光度値を決定する
ステップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップ
の各々は、ポイントサイズを受諾するサブステップをさらに含み、 前記文字情報をスケーリングするサブステップは、さらにポイントサイズに基
づくことを特徴とする請求項12記載の方法。 - 【請求項14】 前記文字情報は垂直方向および水平方向を定義し、 前記文字情報をスケーリングするサブステップにおいて、該文字情報は、水平
方向よりも垂直方向に大きくサンプリングされることを特徴とする請求項12記
載の方法。 - 【請求項15】 前記解像度向上オーバスケーリング因子は、少なくとも3
であることを特徴とする請求項12記載の方法。 - 【請求項16】 前記ピクセルの第1サブピクセル要素の光度値を決定する
ステップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップ
の各々は、 前記文字情報をスケーリングするサブステップの前に行われる、該文字情報を
回転させるサブステップをさらに含むことを特徴とする請求項12記載の方法。 - 【請求項17】 水平方向にストライプされたサブピクセル要素を有するデ
ィスプレイデバイス上にレンダリングすべきテキストの解像度を向上するための
方法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップと、 c)各サブピクセル要素についての光度値を、 i)強度値の有用な範囲を定義する上限強度値および下限強度値を受諾し、 ii)サブピクセル要素の光度値を強度値の有用な強度に基づいて正規化して
、正規化光度値を生成し、 iii)ディスプレイデバイスのガンマを受諾し、 iv)サブピクセル要素の正規化光度値をガンマに基づいて調整することによ
って、ディスプレイデバイスのガンマに基づいて調整するステップと を具えたことを特徴とする方法。 - 【請求項18】 前記サブピクセル要素の光度値を正規化するサブステップ
は、正規化光度値の各々が強度値の有用な範囲内となるように、サブピクセル要
素の光度値をクランピングするステップを含むことを特徴とする請求項17記載
の方法。 - 【請求項19】 前記サブピクセル要素の光度値を正規化するサブステップ
は、 a)前記サブピクセル要素の光度値をシフトして、シフトされた光度値を生成
するステップと、 b)前記シフトされた光度値を、それぞれの正規化光度値が強度値の有用な範
囲内となるようにクランピングするステップとを含むことを特徴とする請求項1
7記載の方法。 - 【請求項20】 前記サブピクセル要素の光度値を正規化するサブステップ
が、正規化光度値が強度の有用な範囲内となるように光度値をスケーリングする
ステップを含むことを特徴とする請求項17記載の方法。 - 【請求項21】 水平方向にストライプされたサブピクセル要素を有するデ
ィスプレイデバイス上にレンダリングすべきテキストの解像度を向上するための
方法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は、第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)(a)走査変換ソースサンプルから構成されるオーバスケーリングされた
文字ビットマップと、(b)走査変換ソースサンプルから構成されるオーバサン
プリングされ、スケーリングされた文字ビットマップのうちの一方を受諾するサ
ブステップと、 ii)オーバスケーリングされた文字ビットマップが文字のベースラインから
離れる垂直距離を定義する、オーバスケーリングされたメトリックを受諾するサ
ブステップと、 iii)オーバスケーリングされたメトリックをオーバサンプリング因子で除
算することによって、オーバスケーリングされたメトリックから、予想されるサ
イズの整数値および剰余値を決定するサブステップと、 iv)ゼロでない剰余値がある場合、垂直方向にオーバスケーリングされた文
字ビットマップを超えるいくつかの走査変換ソースサンプルを受諾するが、その
値を無視するサブステップと、 v)第1情報からピクセルの第1サブピクセル要素の光度値を決定するサブス
テップであって、第1情報が少なくとも1つの走査変換ソースサンプルを含むサ
ブステップと、 vi)第2情報からピクセルの第2サブピクセル要素の光度値を決定するサブ
ステップであって、第2情報が少なくとも1つの他の走査変換ソースサンプルを
含むサブステップとを含むことを特徴とする方法。 - 【請求項22】 垂直方向にオーバスケーリングされた文字ビットマップを
超え、無視すべき値を有する、受諾すべき走査変換ソースサンプルの数は、前記
オーバスケーリング因子に等しく、前記剰余値未満であることを特徴とする請求
項21記載の方法。 - 【請求項23】 前記オーバスケーリングされたメトリックは、オーバスケ
ーリングされたアセント値を有することを特徴とする請求項21記載の方法。 - 【請求項24】 前記オーバスケーリングされたメトリックは、オーバスケ
ーリングされたディーセント値を有することを特徴とする請求項21記載の方法
。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US30190599A | 1999-04-29 | 1999-04-29 | |
| US09/301,905 | 1999-04-29 | ||
| PCT/US2000/011741 WO2000067196A1 (en) | 1999-04-29 | 2000-04-28 | Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002543473A true JP2002543473A (ja) | 2002-12-17 |
Family
ID=23165397
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000615962A Withdrawn JP2002543473A (ja) | 1999-04-29 | 2000-04-28 | テキストをレンダリングするためのシステムにおいて一貫したベースライン位置を維持するための方法、装置、およびデータ構造 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP1203345A4 (ja) |
| JP (1) | JP2002543473A (ja) |
| AU (1) | AU4501700A (ja) |
| WO (1) | WO2000067196A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006070603A1 (ja) * | 2004-12-27 | 2006-07-06 | Sharp Kabushiki Kaisha | 表示パネルの駆動装置、それを備えた表示装置及び表示パネルの駆動方法、並びにプログラム、記録媒体 |
| CN102254504A (zh) * | 2010-05-20 | 2011-11-23 | 乐金显示有限公司 | 图像处理方法及使用该方法的显示装置 |
| US8223167B2 (en) | 2007-01-31 | 2012-07-17 | Hitachi, Ltd. | Image processing apparatus and image displaying device |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU6389800A (en) * | 1999-07-30 | 2001-02-19 | Microsoft Corporation | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
| US7283142B2 (en) | 2000-07-28 | 2007-10-16 | Clairvoyante, Inc. | Color display having horizontal sub-pixel arrangements and layouts |
| US6950115B2 (en) | 2001-05-09 | 2005-09-27 | Clairvoyante, Inc. | Color flat panel display sub-pixel arrangements and layouts |
| US7274383B1 (en) | 2000-07-28 | 2007-09-25 | Clairvoyante, Inc | Arrangement of color pixels for full color imaging devices with simplified addressing |
| US8022969B2 (en) * | 2001-05-09 | 2011-09-20 | Samsung Electronics Co., Ltd. | Rotatable display with sub-pixel rendering |
| US7219309B2 (en) | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
| WO2002101567A2 (en) | 2001-05-02 | 2002-12-19 | Bitstream Inc. | Methods, systems, and programming for displaying media scaled-down by a variable scale factor |
| US7307646B2 (en) | 2001-05-09 | 2007-12-11 | Clairvoyante, Inc | Color display pixel arrangements and addressing means |
| US7184066B2 (en) | 2001-05-09 | 2007-02-27 | Clairvoyante, Inc | Methods and systems for sub-pixel rendering with adaptive filtering |
| US7221381B2 (en) * | 2001-05-09 | 2007-05-22 | Clairvoyante, Inc | Methods and systems for sub-pixel rendering with gamma adjustment |
| US7123277B2 (en) * | 2001-05-09 | 2006-10-17 | Clairvoyante, Inc. | Conversion of a sub-pixel format data to another sub-pixel data format |
| US7492379B2 (en) | 2002-01-07 | 2009-02-17 | Samsung Electronics Co., Ltd. | Color flat panel display sub-pixel arrangements and layouts for sub-pixel rendering with increased modulation transfer function response |
| US20040051724A1 (en) | 2002-09-13 | 2004-03-18 | Elliott Candice Hellen Brown | Four color arrangements of emitters for subpixel rendering |
| US7417648B2 (en) | 2002-01-07 | 2008-08-26 | Samsung Electronics Co. Ltd., | Color flat panel display sub-pixel arrangements and layouts for sub-pixel rendering with split blue sub-pixels |
| JP2003302962A (ja) * | 2002-04-08 | 2003-10-24 | Sharp Corp | 表示装置、文字・図形表示方法、文字・図形表示プログラムおよび可読記録媒体 |
| US7046256B2 (en) | 2003-01-22 | 2006-05-16 | Clairvoyante, Inc | System and methods of subpixel rendering implemented on display panels |
| US6917368B2 (en) | 2003-03-04 | 2005-07-12 | Clairvoyante, Inc. | Sub-pixel rendering system and method for improved display viewing angles |
| US7167186B2 (en) | 2003-03-04 | 2007-01-23 | Clairvoyante, Inc | Systems and methods for motion adaptive filtering |
| US7352374B2 (en) | 2003-04-07 | 2008-04-01 | Clairvoyante, Inc | Image data set with embedded pre-subpixel rendered image |
| US7230584B2 (en) | 2003-05-20 | 2007-06-12 | Clairvoyante, Inc | Projector systems with reduced flicker |
| US7268748B2 (en) | 2003-05-20 | 2007-09-11 | Clairvoyante, Inc | Subpixel rendering for cathode ray tube devices |
| US7525526B2 (en) | 2003-10-28 | 2009-04-28 | Samsung Electronics Co., Ltd. | System and method for performing image reconstruction and subpixel rendering to effect scaling for multi-mode display |
| US7084923B2 (en) | 2003-10-28 | 2006-08-01 | Clairvoyante, Inc | Display system having improved multiple modes for displaying image data from multiple input source formats |
| US7248268B2 (en) | 2004-04-09 | 2007-07-24 | Clairvoyante, Inc | Subpixel rendering filters for high brightness subpixel layouts |
| US7590299B2 (en) | 2004-06-10 | 2009-09-15 | Samsung Electronics Co., Ltd. | Increasing gamma accuracy in quantized systems |
| GB2552338B (en) | 2016-07-19 | 2020-06-24 | Ge Aviat Systems Ltd | Display of intensity profile discs |
| KR102185668B1 (ko) * | 2019-01-30 | 2020-12-02 | 스노우 주식회사 | 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US5159668A (en) * | 1989-05-08 | 1992-10-27 | Apple Computer, Inc. | Method and apparatus for manipulating outlines in improving digital typeface on raster output devices |
| US5684510A (en) * | 1994-07-19 | 1997-11-04 | Microsoft Corporation | Method of font rendering employing grayscale processing of grid fitted fonts |
-
2000
- 2000-04-28 JP JP2000615962A patent/JP2002543473A/ja not_active Withdrawn
- 2000-04-28 AU AU45017/00A patent/AU4501700A/en not_active Abandoned
- 2000-04-28 WO PCT/US2000/011741 patent/WO2000067196A1/en not_active Ceased
- 2000-04-28 EP EP00926494A patent/EP1203345A4/en not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006070603A1 (ja) * | 2004-12-27 | 2006-07-06 | Sharp Kabushiki Kaisha | 表示パネルの駆動装置、それを備えた表示装置及び表示パネルの駆動方法、並びにプログラム、記録媒体 |
| US8223167B2 (en) | 2007-01-31 | 2012-07-17 | Hitachi, Ltd. | Image processing apparatus and image displaying device |
| CN102254504A (zh) * | 2010-05-20 | 2011-11-23 | 乐金显示有限公司 | 图像处理方法及使用该方法的显示装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2000067196A1 (en) | 2000-11-09 |
| WO2000067196B1 (en) | 2000-12-21 |
| AU4501700A (en) | 2000-11-17 |
| EP1203345A4 (en) | 2004-04-14 |
| EP1203345A1 (en) | 2002-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6339426B1 (en) | Methods, apparatus and data structures for overscaling or oversampling character feature information in a system for rendering text on horizontally striped displays | |
| JP2002543473A (ja) | テキストをレンダリングするためのシステムにおいて一貫したベースライン位置を維持するための方法、装置、およびデータ構造 | |
| US6393145B2 (en) | Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices | |
| US6282327B1 (en) | Maintaining advance widths of existing characters that have been resolution enhanced | |
| JP4633263B2 (ja) | 表示文字の位置付け方法および装置 | |
| JP4358472B2 (ja) | イメージデータの非対称スーパーサンプリングラスタ化のための方法およびシステム | |
| US6342890B1 (en) | Methods, apparatus, and data structures for accessing sub-pixel data having left side bearing information | |
| US7130480B2 (en) | Methods and apparatus for filtering and caching data representing images | |
| US6342896B1 (en) | Methods and apparatus for efficiently implementing and modifying foreground and background color selections | |
| EP2579246B1 (en) | Mapping samples of foreground/background color image data to pixel sub-components | |
| JPH08255254A (ja) | グリッド・フィッティド・フォントのグレイスケール処理を用いたフォント・レンダリング方法 | |
| CN1458627A (zh) | 在子象素精度再现系统中依赖字体尺寸的反走样 | |
| WO2000067247A1 (en) | Methods, apparatus and data structures for determining glyph metrics for rendering text on horizontally striped displays | |
| WO2002001546A1 (en) | Data structures for overscaling or oversampling character in a system for rendering text on horizontally striped displays | |
| WO2000057364A1 (en) | Methods and apparatus for representing multiple luminance intensity values as a single value | |
| WO2000060479A1 (en) | Methods and apparatus for generating and representing luminance intensity values | |
| JPH1063253A (ja) | 高品位文字表示装置及び階調表示方法 | |
| HK1183738B (en) | Mapping samples of foreground/background color image data to pixel sub-components |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070703 |