JP2002543473A - Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text - Google Patents

Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text

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
Application number
JP2000615962A
Other languages
Japanese (ja)
Inventor
イー.ルイ チャールトン
ビー.キーリー ジュニア リロイ
シー.ヒッチコック グレゴリー
イー.クキアーマン ライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002543473A publication Critical patent/JP2002543473A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control 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/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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/2003Display of colours
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0439Pixel structures
    • G09G2300/0452Details of colour pixel setup, e.g. pixel composed of a red, a blue and two green components
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0242Compensation of deficiencies in the appearance of colours
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • G09G2320/0276Adjustment 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0414Vertical resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0421Horizontal resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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/2007Display of intermediate tones
    • G09G3/2074Display of intermediate tones using sub-pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control 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/34Control 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/36Control 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/3611Control of matrices with row and column drivers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control 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/24Generation 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)。カラー値は、隣接するサブピクセル要素の強度差が普通なら見にくくなるときに、選択的にフィルタ処理することができる。最後に、ディスプレイデバイスのガンマが考慮されて、サブピクセル要素の強度値がガンマ補正がより有用である強度の範囲内となるように、ピクセル値のガンマを補正することができる。 (57) Summary The resolution of text rendered on a display device with sub-pixel elements, such as an RGB LCD, specifically a display device with horizontal striping (812 '), is (i) vertical (or (1610) Overscaling (or oversampling) (1610) the character outline information in the Y) direction and (ii) filtering (1610) information (1650) displaced from the overscaled (or oversampled) character outline information. To improve. The metric associated with the character outline information is adjusted accordingly (1620). The vertical (or Y) position of the baseline of an adjacent character can be limited (1640) by forcing the first pixel above the baseline to consist of all N number of scan conversion source samples. Where N corresponds to the overscaling (or oversampling) factor. The group of scan conversion source samples can be converted to a compressed pixel index value (1660). Color values can be selectively filtered when the intensity difference between adjacent sub-pixel elements would otherwise be difficult to see. Finally, the gamma of the pixel values can be corrected so that the gamma of the display device is taken into account so that the intensity values of the sub-pixel elements fall within the range of intensities for which gamma correction is more useful.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】 (§1.発明の背景) (§1.1 発明の分野) 本発明は、水平ストライピングを有する、例えば液晶ディスプレイ(またはL
CD)ビデオモニタを含むフラットパネルビデオモニタなどのビデオディスプレ
イ上で、より見やすいテキストを生成することに関する。
(§1. Background of the Invention) (§1.1 Field of the Invention) The present invention relates to a liquid crystal display (or an LCD) having horizontal striping.
CD) For producing more legible text on video displays such as flat panel video monitors, including video monitors.

【0002】 (§1.2 関連技術) 本発明は、例えばLCDビデオモニタなどの、フラットパネルビデオモニタの
状況の下で使用することができる。具体的には、本発明は、水平ストライピング
を有するLCDビデオモニタ上でより見やすいテキストを生成するための処理の
一部として使用することができる。
(§1.2 Related Art) The present invention can be used in the context of flat panel video monitors, such as LCD video monitors. In particular, the present invention can be used as part of a process for generating more legible text on an LCD video monitor with horizontal striping.

【0003】 カラーディスプレイデバイスは、大部分のコンピュータユーザにとって主要な
選択肢となっている。カラーは、光(例えば赤、緑、および青の光の組み合わせ
など)を放出するようにディスプレイモニタを操作することによってディスプレ
イモニタ上にレンダリングされ、その光は、人間の目によって1つまたは複数の
カラーとして知覚される。
[0003] Color display devices have become a major option for most computer users. The color is rendered on the display monitor by manipulating the display monitor to emit light (eg, a combination of red, green, and blue light), and the light is rendered by one or more human eyes. Perceived as color.

【0004】 一般にカラービデオモニタ、具体的にはLCDビデオモニタは当業者に周知で
あるが、読者の便宜のためにそれらを以下で紹介する。以下の§1.2.1で陰
極線管(またはCRT)をまず紹介する。次いで以下の§1.2.2でLCDビ
デオモニタを紹介する。
[0004] Generally, color video monitors, specifically LCD video monitors, are well known to those skilled in the art, but they are introduced below for the convenience of the reader. A cathode ray tube (or CRT) is first introduced in §1.2.1 below. Next, an LCD video monitor is introduced in §1.2.2 below.

【0005】 (§1.2.1 CRTビデオモニタ) 陰極線管(CRT)ディスプレイデバイスは、ドットのシーケンスとして印加
することができる蛍光体被覆を有する画面を含む。異なる蛍光体被覆は、通常は
、例えば赤、緑、および青などの異なるカラーの生成に関連する。したがって、
蛍光体ドットの反復されたシーケンスが、ビデオモニタの画面上に定義される。
1つまたは複数の電子銃は、一般に画面を横切って左から右に、上から下に掃引
される電子ビームを生成する。蛍光体ドットが電子ビームによって照射されると
き、それによって蛍光体ドットは、例えば赤、緑、および青などのそれに関連す
るカラーをレンダリングして発光する。
[0005] CRT Video Monitors [0005] CRT display devices include a screen having a phosphor coating that can be applied as a sequence of dots. Different phosphor coatings are usually associated with producing different colors, for example, red, green, and blue. Therefore,
A repeated sequence of phosphor dots is defined on the screen of the video monitor.
One or more electron guns generate an electron beam that is swept across the screen, generally from left to right, top to bottom. When the phosphor dots are illuminated by the electron beam, they cause the phosphor dots to render and emit their associated colors, such as, for example, red, green, and blue.

【0006】 用語「ピクセル」は、一般に、例えば長方形グリッドの数千のスポットなどの
一群のスポットの中の1つのスポットを指すために使用される。このスポットは
、選択的に活動化されてディスプレイデバイス上のイメージを形成する。大部分
のカラーCRTでは、赤、緑、および青の蛍光体ドットの単一の3つ組を一意に
選択することができない。したがって、最小の可能なピクセルサイズは、蛍光体
ドットを励起するために使用される電子銃のフォーカス、アライメント、および
帯域幅に依存することになる。CRTディスプレイに対して周知の様々な配置に
おける、赤、緑、および青の蛍光体ドットの、1つまたは複数の3つ組から放出
される光は、混合する傾向があり、離れた所では単色光源として見える。
The term “pixel” is generally used to refer to a spot in a group of spots, for example, thousands of spots in a rectangular grid. This spot is selectively activated to form an image on the display device. Most color CRTs cannot uniquely select a single triple of red, green, and blue phosphor dots. Therefore, the smallest possible pixel size will depend on the focus, alignment, and bandwidth of the electron gun used to excite the phosphor dots. Light emitted from one or more triads of red, green, and blue phosphor dots in various arrangements known for CRT displays tends to mix, and is monochromatic at a distance. Seen as a light source.

【0007】 カラーディスプレイでは、加法原色(additive primary c
olor)(例えば赤、緑、および青など)から放出された光の強度を変動させ
て、ほぼどんな所望のカラーピクセルの外観も達成することができる。どのカラ
ーも加えないこと、すなわちどの光も放出しないことによって、黒のピクセルが
生成される。3つのカラー全部を100パーセントを加えることによって、白の
ピクセルが生成される。
In a color display, an additive primary color (additive primary c) is used.
color (e.g., red, green, and blue) can be varied in intensity to achieve almost any desired color pixel appearance. By not adding any color, i.e. emitting no light, a black pixel is created. By adding 100 percent of all three colors, a white pixel is created.

【0008】 カラーCRTビデオモニタを紹介したので、次いでカラーLCDビデオモニタ
を以下の§1.2.2で紹介する。
Now that a color CRT video monitor has been introduced, a color LCD video monitor will be introduced in § 1.2.2 below.

【0009】 (§1.2.2 LCDビデオモニタ) ポータブルコンピューティングデバイス(一般にコンピューティング器具また
は非束縛(untethered)コンピューティング器具とも呼ばれる)では
、CRTディスプレイではなく、液晶ディスプレイ(LCD)または他のフラッ
トパネルディスプレイデバイスがしばしば使用される。これは、フラットパネル
ディスプレイがCRTディスプレイより小さく、より軽い傾向があるからである
。加えて、フラットパネルディスプレイは、一般に同等サイズのCRTディスプ
レイよりも電力の消費が少ないので、電池式の応用例に十分適している。
(§1.2.2 LCD Video Monitor) In portable computing devices (commonly also referred to as computing or untethered computing appliances), rather than CRT displays, liquid crystal displays (LCDs) or other Flat panel display devices are often used. This is because flat panel displays tend to be smaller and lighter than CRT displays. In addition, flat panel displays are generally well suited for battery powered applications because they consume less power than comparable sized CRT displays.

【0010】 カラーLCDディスプレイは、表示されるイメージの各ピクセルを表すために
ピクセル要素をはっきりとアドレス指定するディスプレイデバイスの例である。
通常、カラーLCDディスプレイの各ピクセル要素は、3つの非正方形要素(「
サブピクセル要素」または「サブピクセル構成要素」とも呼ばれる)を含む。よ
り具体的には、各ピクセル要素は、隣接する赤、緑、および青(RGB)サブピ
クセル要素を含むことができる。したがって、1組のRGBサブピクセル要素は
、共に単一ピクセル要素を定義する。LCDディスプレイには、非正方形ピクセ
ルおよび/または4つ以上のサブピクセル要素によって定義されるピクセルを有
するものもある。
A color LCD display is an example of a display device that explicitly addresses pixel elements to represent each pixel of the displayed image.
Typically, each pixel element of a color LCD display has three non-square elements ("
Sub-pixel element "or" sub-pixel component "). More specifically, each pixel element can include adjacent red, green, and blue (RGB) sub-pixel elements. Thus, a set of RGB sub-pixel elements together define a single pixel element. Some LCD displays have non-square pixels and / or pixels defined by four or more sub-pixel elements.

【0011】 周知のLCDディスプレイは、ディスプレイに沿ってストライプを形成するよ
うに一般に配列される一連のRGBサブピクセル要素を一般に含む。RGBスト
ライプは、通常ディスプレイの長さ全体に一方向に延びる。得られるRBGスト
ライプは、「RGBストライピング」と呼ばれることがある。コンピュータ応用
例に対して使用される多くのLDCモニタは、高さよりも幅の方が長く、RGB
垂直ストライプを有する傾向がある。他方、非束縛コンピューティング器具また
はハンドヘルドコンピューティング器具で使用される多くのLDCモニタは、幅
よりも高さの方が長く、RGB水平ストライプを有する傾向がある。本発明は、
水平ストライプを有する、例えばLCD RGBモニタなどのモニタ上にテキス
トをレンダリングするときに使用することができる。
[0011] Known LCD displays generally include a series of RGB sub-pixel elements that are typically arranged to form a stripe along the display. The RGB stripes typically extend in one direction throughout the length of the display. The resulting RGB stripe is sometimes referred to as "RGB striping." Many LDC monitors used for computer applications are longer in width than in height and require
They tend to have vertical stripes. On the other hand, many LDC monitors used in unconstrained or handheld computing devices tend to be longer in height than width and have RGB horizontal stripes. The present invention
It can be used when rendering text on a monitor having horizontal stripes, such as an LCD RGB monitor.

【0012】 図1は、複数の行(R1〜R8)および複数の列(C1〜C6)で配列される
周知のLCD画面100を示す。すなわち、ピクセルは、それぞれの行−列交差
で定義される。各ピクセルは、ハッチングで示す赤サブピクセル要素、クロスハ
ッチングで示す緑サブピクセル要素、およびハッチングなしで示す青サブピクセ
ル要素を含む。
FIG. 1 shows a known LCD screen 100 arranged in a plurality of rows (R1 to R8) and a plurality of columns (C1 to C6). That is, a pixel is defined at each row-column intersection. Each pixel includes a red subpixel element indicated by hatching, a green subpixel element indicated by cross hatching, and a blue subpixel element indicated by no hatching.

【0013】 図2は、周知のディスプレイ100の上側部分をより詳細に示す。各ピクセル
要素、例えば(R1,C6)ピクセル要素が、どのように3つの別個のサブピク
セル要素またはサブピクセル構成要素、すなわち赤サブピクセル要素210、緑
サブピクセル要素220、および青サブピクセル要素230を有するかに留意さ
れたい。周知の各サブピクセル210、220、230の高さは、ピクセルの高
さの1/3または約1/3であり、その幅は、ピクセルの幅に等しいか、または
ほぼ等しい。したがって、組み合わせたとき、1/3の高さで全幅の3つのサブ
ピクセル210、220、230は、単一ピクセル要素を定義する。
FIG. 2 shows the upper portion of the known display 100 in more detail. How each pixel element, eg, the (R1, C6) pixel element, comprises three distinct subpixel elements or subpixel elements: a red subpixel element 210, a green subpixel element 220, and a blue subpixel element 230. Note if you have. The height of each known sub-pixel 210, 220, 230 is one-third or about one-third of the height of the pixel, and its width is equal to or approximately equal to the width of the pixel. Thus, when combined, three sub-pixels 210, 220, 230 that are 1/3 height and full width define a single pixel element.

【0014】 図1に戻ると、RGBピクセルサブ構成要素210、220、230の1つの
周知の配列により、ディスプレイ100上に水平カラーストライプが定義される
。したがって、図1および図2に示す周知の方式における1/3の高さのカラー
サブピクセル要素210、220、230の配列は、「水平ストライピング」と
呼ばれることもある配列を示す。
Returning to FIG. 1, one known arrangement of RGB pixel sub-components 210, 220, 230 defines a horizontal color stripe on display 100. Thus, the arrangement of 1/3 height color sub-pixel elements 210, 220, 230 in the known manner shown in FIGS. 1 and 2 represents an arrangement sometimes referred to as "horizontal striping".

【0015】 周知のシステムでは、RGBサブピクセル要素は、表すべきイメージの単一サ
ンプルに対応する単色ピクセルを生成するために、一般にグループとしてアドレ
ス指定され、使用される。より具体的には、周知のシステムでは、ピクセル要素
のサブピクセル要素すべてについての光度値が、表すべきイメージの単一サンプ
ルから生成される。例えば、図3を参照すると、イメージ区間300は、グリッ
ド310によって12個の正方形にセグメント化される。セグメント化されたイ
メージ区間300によって定義されるグリッド310の各正方形は、単一ピクセ
ル要素によって表すべき、イメージ区間300の領域を表す。図3では、ハッチ
ングされた円320を用いて、ピクセルの関連する赤、緑、および青サブピクセ
ル要素330、332、および334に関連する光度値がそこから生成される単
一イメージサンプルを表す。
In known systems, RGB sub-pixel elements are generally addressed and used as a group to generate a single color pixel corresponding to a single sample of the image to be represented. More specifically, in known systems, intensity values for all sub-pixel elements of a pixel element are generated from a single sample of the image to be represented. For example, referring to FIG. 3, the image section 300 is segmented by the grid 310 into 12 squares. Each square of the grid 310 defined by the segmented image section 300 represents an area of the image section 300 to be represented by a single pixel element. In FIG. 3, a hatched circle 320 is used to represent a single image sample from which intensity values associated with the associated red, green, and blue sub-pixel elements 330, 332, and 334 of the pixel are generated.

【0016】 周知のLCDディスプレイの一般的な構造およびオペレーションを紹介したの
で、そのようなLCDディスプレイ上にテキストをレンダリングするための周知
の技法、ならびにそのような周知の技法の欠点を以下の§1.2.2.1で紹介
する。
Having introduced the general structure and operation of known LCD displays, known techniques for rendering text on such LCD displays, as well as disadvantages of such known techniques, are described below in §1. Introduced in 2.2.1.

【0017】 (§1.2.2.1 LCDディスプレイ上でのテキストのレンダリング) 純粋なイメージ情報またはビデオ情報の他に、LCDディスプレイは、テキス
ト情報をレンダリングするためにしばしば使用される。例えば、個人情報マネー
ジャを使用して、例えばある人の住所、電話番号、FAX番号、およびEメール
アドレスなどの連絡先情報をレンダリングすることができる。
§ 1.2.2.1 Rendering Text on LCD Displays In addition to pure image or video information, LCD displays are often used to render text information. For example, a personal information manager can be used to render contact information such as, for example, a person's address, phone number, fax number, and email address.

【0018】 フォントセットを用いるテキスト情報の表現を以下の§1.2.2.1.1で
紹介する。次いで、いわゆるピクセル精度(pixel precision)
を用いたテキスト情報のレンダリングと、それを行うことについての認識されて
いる欠点とを以下の§1.2.2.1.2で紹介する。
Expressions of text information using a font set are introduced in § 1.2.2.1.1 below. Then, the so-called pixel precision
Rendering text information using, and the perceived shortcomings of doing so, are introduced in § 1.2.2.1.2 below.

【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を含むことができる。
(§1.2.2.1.1.1 Font Set) “Font” is a set of the same typeface (Times Rome)
an, Courier New, etc.), the same style (italic, etc.), and the same weight (bold, etc., strictly speaking, the same size). Character,
For example, Microsoft Corporation of Redmond, Washington
Word ™ word processors “Parties MT”, “Webd
ings "and" Windings "symbol groups. “Typeface” is oblique (ie, inclined (
degree of slant) and stoke weight (
That is, a design of a specific name of a set of print characters (for example, Helvetica Bold Oblique) specifying the thickness of the line). Strictly speaking, a typeface is not the same as a font, and a font is a specific size of a specific typeface (1
2 point Helvetica Bold Oblique). However, some fonts are "scalable", so the terms "font" and "typeface"
Are sometimes used interchangeably. A "typeface family" is a group of related typefaces. For example, the Helvetica family is Helvetica, He
lvetica Bold, Helvetica Oblique, and He
lvetica Bold Oblique.

【0020】 多くの現代のコンピュータシステムは、テキストのレンダリングおよび表示を
容易にするために、例えばスケーラブルフォントなどの、フォントアウトライン
技術を使用する。ワシントン州レドモンドのMicrosoft Copora
tionのTrueType(商標)は、そのような技術の例である。そのよう
なシステムでは、例えば「Times New Roman」、「Onyx」、
「Courier New」など、様々なフォントセットを提供することができ
る。このフォントセットは、提供されるフォントセットを用いて表示することが
できる各文字に対する、例えば一連の輪郭などの高解像度アウトライン表示を通
常含む。この輪郭は、例えば直線または曲線にすることができる。曲線は、例え
ば2次ベジエスプラインを描く一連の点によって定義される。曲線を定義する点
は、一般に連続した順番で番号付けられるこの点の順序付けは重要であることが
ある。例えば、点の番号の昇順の方向で曲線をたどるときに、この文字アウトラ
インを曲線の右側に「充填」することができる。したがって高解像度文字アウト
ライン表示は、1組の点および数式によって定義することができる。
Many modern computer systems use font outline technology, for example, scalable fonts, to facilitate rendering and display of text. Microsoft Copora, Redmond, Washington
Tion's TrueType ™ is an example of such a technology. Such systems include, for example, "Times New Roman", "Onyx",
Various font sets such as “Courier New” can be provided. This font set typically includes a high resolution outline display, such as a series of outlines, for each character that can be displayed using the provided font set. This contour can be, for example, a straight line or a curve. A curve is defined, for example, by a series of points that draw a quadratic Bezier spline. The points that define the curve are generally numbered in sequential order. The ordering of this point can be important. For example, when following a curve in the ascending direction of point numbers, this character outline can be "filled" to the right of the curve. Thus, a high-resolution character outline display can be defined by a set of points and mathematical expressions.

【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と呼ばれる。例えば日本語など、文字がベース
ライン上に位置し、ベースラインの下に延びる文字の部分がない言語があること
に留意されたい。
The position of this point can be described in, for example, a “font unit”. "Font unit" can be defined as the smallest measurable unit in the "em" square. This "em" square is a virtual square used to resize and align glyphs (glyphs can be considered characters). FIG.
The "em" square 910 around the character outline 920 of the alphabet Q
Is shown. Historically, "em" was approximately equal to the width of the capital letter M. More historically, glyphs could not extend beyond the em square. More generally, however, the dimensions of the "em" square are the dimensions of the total body height 940 of the font plus some extra spacing. This extra spacing prevents lines of text from colliding when a typeset without leading is used. More generally, some of the glyphs can extend outside the em square. Lines and curves (
Or, the coordinates of the point defining the contour) can be positioned relative to the baseline 930 (Y coordinate = 0). The portion of the character outline 920 above the baseline 930 is referred to as the "ascent" 942 of the glyph. The portion of the character outline 920 below the baseline 930 is referred to as the "decent" 944 of the glyph. Note that there are languages, such as Japanese, where the characters lie above the baseline and there are no portions of the characters extending below the baseline.

【0022】 格納されるアウトライン文字表示は、文字の最大の水平境界および垂直境界(
「ホワイトスペース」または「サイドベアリング」(side bearing
)とも呼ばれる)を超えるスペースを通常は表さない。したがって、文字フォン
トの格納された文字アウトライン部分は、しばしばブラックボディ(またはBB
)と呼ばれる。フォントジェネレータは、文字アウトラインを、アプリケーショ
ンが必要とするスタイルおよびサイズのビットマップに変換するためのプログラ
ムである。フォントジェネレータ(「ラスタライザ」とも呼ばれる)は、一般に
文字アウトラインを必要なサイズにスケーリングすることによって動作し、しば
しば生成した文字を伸張または圧縮することができる。
The stored outline character representation is based on the maximum horizontal and vertical boundaries of the character (
"White space" or "side bearing"
) Is not usually represented. Therefore, the stored character outline portion of the character font is often black body (or BB).
). A font generator is a program that converts a character outline into a bitmap of the style and size required by the application. Font generators (also called "rasterizers") generally operate by scaling a character outline to the required size, and often can expand or compress the generated characters.

【0023】 ブラックボディ文字アウトライン情報に加えて、文字フォントは、通常ブラッ
クボディサイズ情報、ブラックボディ位置決め情報、および全文字幅情報を含む
。ブラックボディサイズ情報は、ブラックボディの垂直枠および水平枠を定義す
るために使用されるバウンディングボックスの寸法によって表されることがある
In addition to black body character outline information, character fonts typically include black body size information, black body positioning information, and full character width information. Black body size information may be represented by the dimensions of the bounding box used to define the vertical and horizontal borders of the black body.

【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)も使用できることにも留意されたい。
Next, some terms used to define characters are defined with reference to FIG. FIG. 4 shows a letter outline 400 of the alphabets A and I. Box 408 is a bounding box that defines the size of black body 407 of character (A). The full width of character (A), including the white space to be associated with character (A), is indicated by advance width (or AW) value 402. The advance width generally starts at the point to the left of the bounding box 408. This point 404 is called the left side bearing point (or LSBP). Left side bearing point 404 defines a horizontal start point for positioning character (A) relative to the current display position. Left end of bounding box 408 and bearing point 4
The horizontal distance 410 between the left and right sides is called the left side bearing (or LSB). The left side bearing 410 is the bounding box 40 of the current character (A).
8 shows the amount of white space between the left edge of 8 and the right bearing point of the preceding character (not shown). Bounding box 408 at the end of the advance width 402
Is called the right side bearing point (or RSBP). The right side bearing point 406 defines the end of the current character (A) and the point where the left side bearing point 404 'of the next character (I) should be located. The horizontal distance 412 between the edge of the bounding box 408 and the right side bearing point 406 is
Called the right side bearing (or RSB). The right side bearing 412 indicates the amount of white space between the right end of the bounding box 408 of the current character (A) and the left side bearing point 404 'of the next character (I). Note that the left and right side bearings can have zero (0) or negative values. For characters used in Japanese and other Far Eastern languages,
It should also be noted that similar metrics for the advance width, left side bearing, and right side bearing can be used, ie, advance height (AH), top side bearing (TSB), and bottom side bearing (BSB).

【0025】 上記で論じたように、スケーラブルフォントファイルは、通常、サポートされ
る各文字についてのブラックボディサイズ情報、ブラックボディ位置決め情報、
および全体文字幅情報を含む。ブラックボディサイズ情報は、バウンディングボ
ックス408の寸法の形態で表される水平および垂直サイズ情報を含むことがで
きる。ブラックボディ位置決め情報は、左サイドベアリング値410として表す
ことができる。全体文字幅情報は、アドバンス幅402として表すことができる
As discussed above, a scalable font file typically contains black body size information, black body positioning information,
And character width information. Black body size information may include horizontal and vertical size information expressed in the form of bounding box 408 dimensions. The black body positioning information can be represented as a left side bearing value 410. The entire character width information can be represented as an advance width 402.

【0026】 (§1.2.2.1.2 ピクセル精度へのテキストのレンダリング) フォントジェネレータがブラックボディ文字アウトラインをビットマップに変
換することを想起されたい。この変換では、レンダリングすべきフォントのポイ
ントサイズと、テキストを最終的にレンダリングするデバイス(例えばビデオデ
ィスプレイ、プリンタなど)の解像度(例えばドット/インチ、ピクセル/イン
チなど)とを考慮することができる。大部分のコンピュータシステムは、レンダ
リングすべき文字の開始点および終点(例えば、それぞれ左サイドベアリング点
および右サイドベアリング点)を強制的にピクセル境界上に位置付ける。加えて
、そのようなコンピュータシステムは、ブラックボディ幅および左サイドベアリ
ングを、強制的にピクセルサイズの整数倍に変換する。周知の実施態様では、こ
れらの制約は、(i)文字フォント中に含まれるサイズ情報および位置決め情報
を、上述のポイントサイズおよびデバイス解像度に応じてスケーリングし、(i
i)次いで、サイズ値および位置決め値をその特定の表示デバイスで用いられる
ピクセルサイズの整数倍に丸めることによって実施される。ピクセルサイズ単位
を最小(または「微小(atomic)」)距離単位として用いることにより、
「ピクセル精度」と呼ばれるものが生成される。その値が正確に1ピクセルのサ
イズであるからである。
§ 1.2.2.1.2 Rendering Text to Pixel Accuracy Recall that the font generator converts a black body character outline to a bitmap. This conversion can take into account the point size of the font to be rendered and the resolution (eg, dots / inch, pixels / inch, etc.) of the device that will ultimately render the text (eg, video display, printer, etc.). Most computer systems force the start and end points of the character to be rendered (eg, left and right side bearing points, respectively) on pixel boundaries. In addition, such computer systems force the black body width and left side bearing to be converted to integer multiples of the pixel size. In known embodiments, these constraints are based on (i) scaling the size and positioning information contained in the character font according to the point size and device resolution described above, and (i)
i) It is then performed by rounding the size and positioning values to an integer multiple of the pixel size used in that particular display device. By using the pixel size unit as the smallest (or "atomic") distance unit,
What is called "pixel accuracy" is generated. This is because that value is exactly the size of one pixel.

【0027】 文字フォントのサイズ値および位置決め値をピクセル精度に丸めることにより
、変化、すなわち誤差が、表示されるイメージに導入される。これらの各誤差は
、(ピクセルの1/2未満の値が切捨てられ、ピクセルの1/2以上の値が切上
げられると仮定すると)最大1/2ピクセルのサイズになる可能性がある。した
がって文字のAWが丸められる(可能性がある)ので、文字の全幅は、所望の精
度よりも低い精度になる可能性がある。加えて、文字に割り振られる全水平スペ
ース内でのその文字のブラックボディの位置決めは、左サイドベアリングが丸め
られる(可能性がある)ので、最適以下になる可能性がある。小さいポイントサ
イズでは、ピクセル精度を用いる丸めによって導入される変化は、顕著になる可
能性がある。
By rounding the character font size and positioning values to pixel precision, changes, or errors, are introduced into the displayed image. Each of these errors can be up to 1/2 pixel in size (assuming that values less than 1/2 pixel are truncated and values greater than 1/2 pixel are rounded up). Thus, because the AW of the character is (potentially) rounded, the overall width of the character may be less accurate than desired. In addition, the positioning of the character's black body within the total horizontal space allocated to the character may be sub-optimal because the left side bearing is rounded (possibly). At small point sizes, the changes introduced by rounding with pixel precision can be significant.

【0028】 (§1.2.3 未対処のニーズ) 上述の§1.2.2.1.2で紹介したような、文字の値をピクセル精度に丸
めるときに導入される誤差に鑑みて、テキストの解像度を向上させる方法および
装置が必要である。テキストの可読性および知覚される品質の向上は、例えば垂
直ストライピングを有するRBG LCDなどのディスプレイ上だけでなく、水
平ストライピングを有するRBG LCDなどのディスプレイ上でも機能し続け
るべきである。
(§1.2.3 Unmet Needs) In view of the error introduced when character values are rounded to pixel precision, as introduced in §1.2.2.1.2 above. What is needed is a method and apparatus for improving text resolution. The improvement in readability and perceived quality of text should continue to function not only on displays such as RBG LCDs with vertical striping, but also on displays such as RBG LCDs with horizontal striping.

【0029】 (§2 発明の概要) 本発明は、RGB LCDなどのサブピクセル要素を有するディスプレイデバ
イス、具体的には水平ストライピングを有するディスプレイデバイス上にレンダ
リングされるテキストの解像度を向上させる。本発明では、そのことを(i)文
字アウトライン情報を垂直(またはY)方向にオーバスケーリング(またはオー
バサンプリング)し、(ii)オーバスケーリング(またはオーバサンプリング
)した文字アウトライン情報から、変位した(直接隣接するか、または間隔を置
いて配置されるかのいずれかでオーバラップする)走査変換ソースサンプルをフ
ィルタ処理する(例えば平均する)ことによって行うことができる。
The present invention improves the resolution of text rendered on a display device having sub-pixel elements, such as an RGB LCD, specifically a display device having horizontal striping. In the present invention, (i) the character outline information is overscaled (or oversampled) in the vertical (or Y) direction, and (ii) the character outline information is displaced (directly) from the overscaled (or oversampled) character outline information. This can be done by filtering (e.g., averaging) scan conversion source samples, either adjacent or overlapping, which overlap.

【0030】 本発明は、(左サイドベアリング、アドバンス幅、垂直文字サイズ、アセント
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整することもできる。
The present invention may also appropriately adjust the metrics associated with character outline information (such as left side bearing, advance width, vertical character size, ascent, decent, etc.).

【0031】 本発明は、強制的にベースラインの上の第1ピクセルが走査変換ソースサンプ
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。これにより、ベースラ
インの「ジャンピング」または「バウンシング(bouncing)」が防止さ
れる。
The present invention enforces that the first pixel above the baseline be composed of all N number of scan conversion source samples, thereby allowing the vertical (or Y) position of the baseline of adjacent characters Can be constrained. Where N corresponds to the overscaling (or oversampling) factor. This prevents "jumping" or "bouncing" of the baseline.

【0032】 本発明は、走査変換ソースサンプルのグループを圧縮ピクセルインデックス値
に変換することもできる。
The present invention can also convert groups of scan conversion source samples into compressed pixel index values.

【0033】 本発明は、隣接するサブピクセル要素の強度の差が普通なら見る妨げとなると
きに、カラー値を選択的にフィルタすることもできる。
The present invention may also selectively filter color values when differences in the intensity of adjacent sub-pixel elements would otherwise obstruct viewing.

【0034】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正がより有用である強度の範囲内となるように、ピク
セル値のガンマを補正することができる(または、ガンマ補正と類似の効果を達
成することができる)。
Finally, the present invention corrects the gamma of the pixel values so that the gamma of the display device is taken into account and the intensity values of the sub-pixel elements fall within the range of intensities for which gamma correction is more useful. (Or an effect similar to gamma correction can be achieved).

【0035】 (§4 詳細な説明) 本発明は、水平ストライピングを有する、例えばRGB LCDディスプレイ
などのディスプレイ上にレンダリングすべきフォントの解像度を向上するために
使用される、新規の方法、装置、およびデータ構造に関する。以下の説明を、当
業者が本発明を作成し、使用することが可能となるように提示し、特定の応用例
およびその要件の状況の下で提供する。開示される実施形態への様々な修正形態
は、当業者には明らかであろう。そして以下で説明する一般的原理は、他の実施
形態および応用例にも適用することができる。したがって、本発明は、ここに示
す実施形態には制限されないものとする。
The present invention is a novel method, apparatus, and method that has horizontal striping and is used to increase the resolution of fonts to be rendered on a display, such as an RGB LCD display. Regarding data structure. The following description is presented to enable one of ordinary skill in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be apparent to those skilled in the art. The general principles described below can be applied to other embodiments and application examples. Accordingly, the present invention is not intended to be limited to the embodiments shown.

【0036】 フラットパネル画面上でテキストの判読率を向上するためのシステムの状況の
下で、本発明の方法、装置、およびデータ構造を説明する。§4.1では、本発
明で実行することができる機能を紹介する。§4.2では、本発明を実行するた
めの例示的プロセス、方法、およびデータ構造を説明する。§4.2全体を通し
て、本発明の例示的実施形態のオペレーションおよび中間データ構造を提供する
。最後に、本発明についてのまとめを§4.3で提示する。
The method, apparatus and data structure of the present invention will be described in the context of a system for improving the readability of text on a flat panel screen. Section 4.1 introduces functions that can be performed by the present invention. Section 4.2 describes exemplary processes, methods, and data structures for implementing the present invention. Throughout section 4.2, the operations and intermediate data structures of the exemplary embodiments of the present invention are provided. Finally, a summary of the present invention is presented in §4.3.

【0037】 (§4.1 本発明の機能) 本発明は、例えばRGB LCDなどのサブピクセル要素を有するディスプレ
イデバイス、具体的には水平ストライピングを有するディスプレイデバイス上に
レンダリングされるテキストの解像度を増加させる働きをする。本発明では、そ
のことを(i)文字アウトライン情報を垂直(またはY)方向にオーバスケーリ
ング(またはオーバサンプリング)し、(ii)オーバスケーリング(またはオ
ーバサンプル)した文字アウトライン情報から、変位した(直接隣接するか、ま
たは間隔を置いて配置されるかのいずれかでオーバラップする)走査変換ソース
サンプルをフィルタ処理する(例えば平均する)ことによって行うことができる
(§4.1 Features of the Present Invention) The present invention increases the resolution of text rendered on a display device with sub-pixel elements, such as an RGB LCD, specifically a display device with horizontal striping. Work to make it work. In the present invention, (i) the character outline information is overscaled (or oversampled) in the vertical (or Y) direction, and (ii) the character outline information is displaced (directly) from the overscaled (or oversampled) character outline information. This can be done by filtering (e.g., averaging) scan conversion source samples, either adjacent or overlapping, which overlap.

【0038】 本発明は、(左サイドベアリング、アドバンス幅、垂直文字サイズ、アセント
、ディーセントなどの)文字アウトライン情報に関連するメトリックを適切に調
整する働きもする。
The present invention also serves to properly adjust the metrics associated with character outline information (such as left side bearing, advance width, vertical character size, ascent, decent, etc.).

【0039】 本発明は、強制的にベースラインの上の第1ピクセルが走査変換ソースサンプ
ルの数N全てから構成されるようにすることによって、隣接する文字のベースラ
インの垂直(またはY)位置を制約することもできる。ただしNは、オーバスケ
ーリング(またはオーバサンプリング)因子に対応する。
The present invention enforces that the first pixel above the baseline is composed of all N number of scan conversion source samples, thereby allowing the vertical (or Y) position of the baseline of adjacent characters Can be constrained. Where N corresponds to the overscaling (or oversampling) factor.

【0040】 本発明は、走査変換ソースサンプルのグループを圧縮ピクセルインデックス値
に変換することもできる。以下では走査変換プロセスを、「走査変換ソースサン
プル」に対して動作するものとして説明するが、この走査変換プロセス、ならび
にオーバスケーリング(またはオーバサンプリング)プロセスおよびヒンティン
グプロセスは、離散的サンプルではなくアナログ情報に対して動作するアナログ
オペレーションとすることができる。
The present invention can also convert groups of scan conversion source samples into compressed pixel index values. Although the scan conversion process is described below as operating on a “scan conversion source sample”, the scan conversion process, and the overscaling (or oversampling) and hinting processes, are analogous rather than discrete samples. It can be an analog operation that operates on information.

【0041】 本発明は、隣接するサブピクセル要素の強度の差が普通なら見る妨げとなると
きに、カラー値を選択的にフィルタする働きもする。
The present invention also serves to selectively filter color values when differences in the intensity of adjacent sub-pixel elements would otherwise interfere with viewing.

【0042】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正がより有用である強度の範囲内になるように、ピク
セル値のガンマを補正することができる。
Finally, the present invention considers the gamma of the display device and corrects the gamma of the pixel values such that the intensity values of the sub-pixel elements fall within a range of intensities for which gamma correction is more useful. Can be.

【0043】 (§4.2 本発明の様々な態様を実行するための例示的装置、プロセス、方
法、およびデータ構造) 本発明の様々な態様を実施するために使用することができる例示的方法、装置
、およびデータ構造を、水平ストライピングを有するフラットパネル画面上のテ
キストの判読率を向上させるためのシステム(テキスト向上システムとも呼ばれ
る)の状況の下で説明する。このシステムの概観を以下の§4.2.2で提示す
る。しかしその前に、本発明の少なくともいくつかの態様を実施するために使用
することができる例示的装置ならびにテキスト向上システムを以下の§4.2.
1で説明する。
(§4.2 Exemplary Devices, Processes, Methods, and Data Structures for Implementing Various Aspects of the Invention) Exemplary Methods that Can Be Used to Implement Various Aspects of the Invention , Apparatus, and data structures are described in the context of a system for improving the readability of text on a flat panel screen with horizontal striping (also referred to as a text enhancement system). An overview of this system is provided in §4.2.2 below. However, before that, exemplary devices and text enhancement systems that can be used to implement at least some aspects of the present invention are described below in §4.2.
1 will be described.

【0044】 (§4.2.1 例示的装置) 図5Aおよび以下の考察では、本発明の少なくともいくつかの態様を実施する
ことができる例示的装置の、簡潔で一般的な説明を提供する。パーソナルコンピ
ュータなどのコンピューティングデバイスによって実行される、例えばプログラ
ムモジュールおよび/またはルーチンなどのコンピュータ実行可能命令の一般的
状況の下で、本発明の様々な方法を説明する。本発明の他の態様を、例えばディ
スプレイデバイス構成要素およびディスプレイ画面などの物理的ハードウェアに
よって説明する。
§4.2.1 Exemplary Device FIG. 5A and the following discussion provide a brief, general description of an exemplary device capable of implementing at least some aspects of the present invention. . The various methods of the invention will be described under the general context of computer-executable instructions, such as program modules and / or routines, executed by a computing device, such as a personal computer. Other aspects of the invention are described by way of physical hardware, such as a display device component and a display screen.

【0045】 もちろん、本発明の方法は、ここで説明する装置以外の他の装置によって実施
することもできる。プログラムモジュールは、タスクを実行したり、または特定
の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、
データ構造(例えばルックアップテーブルなど)を含むことができる。さらに、
本発明の少なくともいくつかの態様を、ハンドヘルドデバイス、マルチプロセッ
サシステム、マイクロプロセッサベースまたはプログラム可能消費者エレクトロ
ニクス、ネットワークコンピュータ、ミニコンピュータ、セットトップボックス
、メインフレームコンピュータ、および、例えば自動車、航空、工業の適用分野
で使用されるディスプレイなどを含む他の構成で実施することができることを当
業者は理解されよう。本発明の少なくともいくつかの態様を、タスクが通信ネッ
トワークを介してリンクされるリモート処理デバイスによって実行される分散コ
ンピューティング環境で実施することもできる。分散コンピューティング環境で
は、プログラムモジュールは、ローカルおよび/またはリモートメモリ記憶デバ
イス中に位置付けることができる。
Of course, the method of the present invention can be performed by other devices than the devices described here. Program modules are routines, programs, objects, components, that perform tasks or implement particular abstract data types.
A data structure (eg, a lookup table, etc.) can be included. further,
At least some aspects of the present invention may be applied to handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network computers, minicomputers, set-top boxes, mainframe computers, and One of ordinary skill in the art will appreciate that other configurations may be implemented, including displays and the like used in the field of application. At least some aspects of the present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and / or remote memory storage devices.

【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)などの他のタイプの記憶媒体を、上記で紹介した記憶デバイス
の代わりに、またはそれに加えて使用できることを当業者は理解されよう。
FIG. 5A is a block diagram of an exemplary apparatus 500 that can be used to implement at least some aspects of the present invention. The personal computer 520 includes a processing device 521, a system memory 522, a system memory 5
A system bus 523 may be included that couples various system components, including 22, to the processing device 521. System bus 523 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. System memory 522 may include a read-only memory (ROM) 524 and / or a random access memory (RAM) 525. A basic input / output system 526 (BIOS), containing the basic routines that help to transfer information between elements within the personal computer 520, such as during startup, can be stored in the ROM 524. The personal computer 520 includes a hard disk drive 527 for reading and writing on a hard disk (not shown), and a magnetic disk drive 528 for reading and writing on a (for example, removable) magnetic disk 529.
And an optical disk drive 530 for reading from and writing to (magnetic) optical disks 531 such as compact disks or other (magnetic) optical media.
Hard disk drive 527, magnetic disk drive 528, and (magnetic)
The optical disk drive 530 can be coupled to the system bus 523 by a hard disk drive interface 532, a magnetic disk drive interface 533, and a (magnetic) optical drive interface 534, respectively. The drive and its associated storage medium allow the personal computer 5
Non-volatile storage of machine readable instructions, data structures, program modules, and other data for the device 20 is provided. The exemplary environment described herein uses a hard disk, a removable magnetic disk 529 and a removable optical disk 531, but with a magnetic cassette, flash memory card, digital video disk, Bernoulli cartridge, random access memory (RAM), readout. Those skilled in the art will appreciate that other types of storage media, such as dedicated memory (ROM), can be used in place of or in addition to the storage devices introduced above.

【0047】 ハードディスク523、磁気ディスク529、(磁気)光ディスク531、R
OM524またはRAM525上に、例えばオペレーティングシステム535、
1つまたは複数のアプリケーションプログラム536、他のプログラムモジュー
ル537、(以下の§4.2.2.2で説明する)ディスプレイドライバ732
、および/またはプログラムデータ538などのいくつかのプログラムモジュー
ルを格納することができる。
The hard disk 523, the magnetic disk 529, the (magnetic) optical disk 531, R
On the OM 524 or the RAM 525, for example, an operating system 535,
One or more application programs 536, other program modules 537, display driver 732 (described in § 4.2.2.2 below).
And / or some program modules, such as program data 538.

【0048】 RAM525は、以下で説明するように、表示するレンダリングイメージで使
用されるデータを格納するためにも使用することができる。ユーザは、例えばキ
ーボード540およびポインティングデバイス542などの入力デバイスを介し
て、パーソナルコンピュータ520にコマンドおよび情報を入力することができ
る。マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ
、スキャナなどの他の入力デバイス(図示せず)も含めることができる。これら
および他の入力デバイスは、しばしば、システムバスに結合するシリアルポート
インターフェース546を介して処理デバイス521に接続される。しかし、入
力デバイスは、パラレルポート、ゲームポート、またはユニバーサルシリアルバ
ス(USB)などの他のインターフェースによって接続することもできる。モニ
タ547または他のタイプのディスプレイデバイスも、例えばディスプレイアダ
プタ548などのインターフェースを介してシステムバス523に接続すること
ができる。モニタ547に加えて、パーソナルコンピュータ520は、例えばス
ピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)を含むことがで
きる。
The RAM 525 can also be used to store data used in the rendered image to be displayed, as described below. A user can enter commands and information into personal computer 520 via input devices such as keyboard 540 and pointing device 542, for example. Other input devices (not shown), such as a microphone, joystick, game pad, satellite dish, scanner, etc., may also be included. These and other input devices are often connected to the processing device 521 via a serial port interface 546 that couples to the system bus. However, the input devices can also be connected by other interfaces, such as a parallel port, a game port, or a universal serial bus (USB). A monitor 547 or other type of display device may also be connected to the system bus 523 via an interface, such as a display adapter 548. In addition to the monitor 547, the personal computer 520 can include other peripheral output devices (not shown) such as, for example, speakers and a printer.

【0049】 パーソナルコンピュータ520は、リモートコンピュータ549などの1つま
たは複数のリモートコンピュータへの論理接続を定義するネットワーク環境で動
作することができる。リモートコンピュータ549は、別のパーソナルコンピュ
ータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネッ
トワークノードとすることができ、パーソナルコンピュータ520に関連する上
述の要素のうちの多くまたはすべてを含むことができる。図5Aに示す論理接続
は、ローカルエリアネットワーク(LAN)551および(例えばイントラネッ
トおよびインターネットなどの)ワイドエリアネットワーク(WAN)552を
含む。
Personal computer 520 can operate in a networked environment that defines logical connections to one or more remote computers, such as remote computer 549. Remote computer 549 can be another personal computer, server, router, network PC, peer device, or other common network node, and includes many or all of the above-described elements associated with personal computer 520. Can be. 5A include a local area network (LAN) 551 and a wide area network (WAN) 552 (eg, an intranet and the Internet).

【0050】 LANで使用するとき、パーソナルコンピュータ520は、ネットワークイン
ターフェースアダプタカード(または「NIC」)553を介してLAN551
に接続することができる。インターネットなどのWANで使用するとき、パーソ
ナルコンピュータ520は、ワイドエリアネットワーク552を介して通信を確
立するためのモデム554または他の手段を含むことができる。モデム554は
、内蔵または外付けとすることができ、シリアルポートインターフェース546
を介してシステムバス523に接続することができる。ネットワーク環境では、
パーソナルコンピュータ520に関連して示すプログラムモジュールのうちの少
なくとも一部は、リモートメモリ記憶デバイス中に格納することができる。図に
示すネットワーク接続は、例示的なものであって、コンピュータ間の通信リンク
を確立する他の手段を使用することもできる。
When used on a LAN, the personal computer 520 is connected to the LAN 551 via a network interface adapter card (or “NIC”) 553.
Can be connected to When used in a WAN such as the Internet, personal computer 520 may include a modem 554 or other means for establishing communication over wide area network 552. Modem 554 can be internal or external and has a serial port interface 546.
Can be connected to the system bus 523. In a network environment,
At least some of the program modules shown in connection with personal computer 520 may be stored in a remote memory storage device. The network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

【0051】 図5Bは、本発明の少なくともいくつかの態様を実施することができる、より
一般的なマシン500′である。マシン500′は、プロセッサ502、入出力
インターフェースユニット504、記憶デバイス506、および結合した要素間
のデータ通信および制御通信を容易にするためのシステムバスまたはネットワー
ク508を基本的に含む。プロセッサ502は、本発明の1つまたは複数の態様
を実施するためのマシン実行可能命令を実行することができる。マシン実行可能
命令およびデータ構造の少なくとも一部分を、記憶デバイス506上に(一時的
またはより永続的に)格納することができ、かつ/または入力インターフェース
ユニット504を介して外部ソースから受信することができる。
FIG. 5B is a more general machine 500 ′ that can implement at least some aspects of the present invention. Machine 500 'basically includes a processor 502, an input / output interface unit 504, a storage device 506, and a system bus or network 508 for facilitating data and control communications between the coupled components. Processor 502 may execute machine-executable instructions for implementing one or more aspects of the present invention. At least a portion of the machine-executable instructions and data structures may be stored (temporarily or more permanently) on storage device 506 and / or may be received from an external source via input interface unit 504. .

【0052】 本発明の少なくともいくつかの態様を実施するために使用することができる例
示的装置を説明したので、次いでテキスト向上システムの概要を以下の§4.2
.2で提示する。
Having described an exemplary device that can be used to implement at least some aspects of the present invention, an overview of a text enhancement system is now provided in §4.2 below.
. Presented in 2.

【0053】 (§4.2.2 テキスト向上システム) 前述の§1.2.2で説明した図3から、大部分の従来のシステムが、イメー
ジの対応する部分をそこにマップすることができる個々のユニットとしてピクセ
ルを扱うことを想起されたい。したがって従来のシステムでは、イメージの同じ
部分、例えばピクセル要素サイズの部分が、スケーリングされたイメージの一部
がそこにマップされるピクセル要素のRGBサブピクセル要素の各々で使用すべ
き光度値を決定するために使用される。
(§4.2.2 Text Enhancement System) From FIG. 3 described in §1.2.2 above, most conventional systems can map the corresponding part of the image there. Recall treating pixels as individual units. Thus, in conventional systems, the same portion of the image, eg, the pixel element size, determines the light intensity value to be used in each of the RGB sub-pixel elements of the pixel element onto which the scaled image part is mapped. Used for

【0054】 スケーリングフォントの場合、文字アウトラインの輪郭を定義する点の位置を
定義するために使用されるフォントユニット座標が、デバイス特有のピクセル座
標にスケーリングされる。すなわち、文字を表示することができる前に、em正
方形の解像度がその文字アウトラインを定義するために使用されるとき、その文
字アウトラインは、その上にレンダリングすべき出力デバイスのサイズ、変換、
および特徴を反映するようにスケーリングされなければならない。スケーリング
されたアウトラインは、emあたりのフォントユニットの測定値の相対システム
ではなく、出力デバイスのピクセルを測定するために使用される測定値の絶対単
位を反映する単位で文字アウトラインを記述する。具体的には、過去には、em
正方形単位の値は、以下の公式に従ってピクセル座標システム単位の値に変換さ
れた。
For a scaling font, the font unit coordinates used to define the locations of the points defining the outline of the character outline are scaled to device-specific pixel coordinates. That is, when the resolution of the em square is used to define the character outline before the character can be displayed, the character outline is converted to the size of the output device to be rendered, the conversion,
And must be scaled to reflect the features. The scaled outline describes the character outline in units that reflect the absolute units of the measurements used to measure the pixels of the output device, rather than the relative system of font unit measurements per em. Specifically, in the past, em
The values in square units were converted to values in pixel coordinate system units according to the following formula:

【0055】 ピクセル単位のサイズ=(文字アウトラインサイズ・ポイントサイズ・出力デバ
イスの解像度)/(インチあたり72ポイント・emあたりのフォントユニット
の数)
Size in pixel units = (character outline size / point size / resolution of output device) / (72 points per inch · number of font units per em)

【0056】 ただし、文字サイズはフォントユニット単位であり、出力デバイスの解像度は
ピクセル/インチ単位である。
However, the character size is in units of font units, and the resolution of the output device is in units of pixels / inch.

【0057】 出力デバイスの解像度は、インチあたりのドットまたはピクセル数(dpi)
によって指定することができる。例えば、VGAビデオモニタは96dipデバ
イスとして扱うことができ、レーザプリンタは300dpiデバイスとして扱う
ことができ、EGAビデオモニタは水平(X)方向には96dpiデバイスとし
て扱うことができるが、垂直(Y)方向には72dpiデバイスである。emあ
たりのフォントユニットは、例えば2048(=211)など、2のべきとなるよ
うに選ぶことができる(しかしそれが必要であるわけではない)。
The resolution of the output device is the number of dots or pixels per inch (dpi)
Can be specified by For example, a VGA video monitor can be treated as a 96 dpi device, a laser printer can be treated as a 300 dpi device, and an EGA video monitor can be treated as a 96 dpi device in the horizontal (X) direction but in the vertical (Y) direction. Is a 72 dpi device. The font units per em can be chosen to be a power of 2, such as, for example, 2048 (= 2 11 ), but that is not necessary.

【0058】 本発明のテキスト向上システムでは、イメージは、オーバスケーリングまたは
オーバサンプリングされ、具体的には、垂直方向(またはY)方向にオーバスケ
ーリングまたはオーバサンプリングされる。ピクセルのRGBサブピクセル要素
は、オーバスケーリングまたはオーバサンプリングされる異なる部分をそこにマ
ップすることができる独立した光度要素として扱われる。このオーバスケーリン
グオペレーションまたはオーバサンプリングオペレーションを以下の§4.2.
2.1.1.1でより詳細に説明する。
In the text enhancement system of the present invention, the image is overscaled or oversampled, specifically, in the vertical (or Y) direction. The RGB sub-pixel elements of a pixel are treated as independent intensity elements to which different parts to be overscaled or oversampled can be mapped. This overscaling operation or oversampling operation is described in §4.2.
This will be described in more detail in 2.1.1.1.

【0059】 図7は、テキスト向上システムによって実行することができるプロセスの高レ
ベルダイアグラムである。図7に示すように、例えばワードプロセッサまたはコ
ンタクトマネージャなどのアプリケーションプロセス710は、テキストを表示
するように要求することができ、そのテキストについてのポイントサイズを指定
することができる。図7には示していないが、アプリケーションプロセス710
は、フォント名、背景色および前景色、およびテキストをレンダリングすべき画
面位置を要求することもできる。テキストと、可能な場合ポイントサイズとは、
グラフィックスディスプレイインターフェース(またはGDI)プロセス(また
はより一般にはグラフィックスディスプレイインターフェース)722に提供さ
れる。GDIプロセス722は、ディスプレイ情報724(このディスプレイ情
報は、ディスプレイ上のインチあたりのピクセル数などのディスプレイ解像度情
報を含むことができる)および文字情報728(この文字情報は、直線および曲
線、アドバンス幅情報、ならびに左サイドベアリング情報などの輪郭のシーケン
スを定義する点として表すことができる文字アウトライン情報とすることができ
る)を使用し、グリフを生成する(または、既に生成されているキャッシュされ
たグリフにアクセスする)。グリフは、スケーリングされた文字アウトラインの
ビットマップ(またはブラックボディ407情報を含むバウンディングボックス
408)、アドバンス幅402情報、および左サイドベアリング410情報を含
むことができる。ビットマップの各ビットは、関連する赤、緑、および青の光度
値を有することができる。
FIG. 7 is a high-level diagram of a process that can be performed by the text enhancement system. As shown in FIG. 7, an application process 710, such as a word processor or contact manager, can request to display text and specify a point size for the text. Although not shown in FIG.
Can also request the font name, background and foreground colors, and the screen location where the text should be rendered. The text and, if possible, the point size
A graphics display interface (or GDI) process (or more generally, a graphics display interface) 722 is provided. The GDI process 722 includes display information 724 (which may include display resolution information such as pixels per inch on the display) and text information 728 (which may be straight and curved, advance width information). , As well as character outline information, which can be represented as points defining a sequence of contours, such as left side bearing information), to generate a glyph (or to a cached glyph that has already been generated). to access). The glyph may include a bitmap of the scaled character outline (or bounding box 408 containing black body 407 information), advance width 402 information, and left side bearing 410 information. Each bit of the bitmap can have an associated red, green, and blue intensity value.

【0060】 以下で説明するように、これらの値は、「圧縮ピクセル値」と呼ぶことのでき
る単一の、例えば8ビットの値に合成することができる。グラフィックスディス
プレイインターフェースプロセス722を以下の§4.2.2.1でより詳細に
説明する。グラフィックスディスプレイインターフェースプロセス722、ディ
スプレイ情報724、およびグリフキャッシュ726は、例えば(ワシントン州
レンドモンドのMicrosoft Coporationの)Windows
(登録商標)CEまたはWindows(登録商標) NT(登録商標)オペレ
ーティングシステムなどのオペレーティングシステム535′の一部とすること
ができ、そのオペレーティングシステムによって実施することができる。
As described below, these values can be combined into a single, eg, 8-bit, value that can be referred to as a “compressed pixel value”. The graphics display interface process 722 is described in more detail below in § 4.2.2.1. Graphics display interface process 722, display information 724, and glyph cache 726 are, for example, Windows (from Microsoft Corporation, Lendmond, Wash.)
It can be a part of and can be implemented by an operating system 535 ', such as the CE® or Windows NT® operating system.

【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つを選択することができる。
The glyph from either glyph cache 726 or graphics display interface process 722 is then provided to a display management process (more generally, a display driver manager) 735. Display driver management process 735 may be part of display (or video) driver 732. In general, display driver 732 may be software that allows a computer operating system to communicate with a particular video display device. Basically, the display driver management process 735 can invoke a color compensation (or color filtering) process 736, a gamma correction process 737, and a color palette selection process 738. These processes 735, 736, 737, and 738 serve to convert character glyph information to actual RGB pixel sub-component intensity values. One or more of processes 736, 737, and 738 may be implemented by a set of pre-computed look-up tables that may be used to perform multiple image processing operations. The display driver management process 735 can receive glyph and display information 724 'as input. Display information 724 'may include, for example, foreground / background color information, gamma values for display device 547, color palette information, and pixel value font information. The display information 724 'can be used to select one of the lookup tables in the set of lookup tables to be used.

【0062】 ディスプレイドライバで実行することができるプロセスを以下の§4.2.2
.2でより詳細に説明する。
The processes that can be executed by the display driver are described in §4.2.2 below.
. This will be described in more detail in Section 2.

【0063】 次いで処理されたピクセル値は、(例えばアプリケーションプロセス710お
よび/またはオペレーティングシステム535′からの)画面位置決め情報(お
よびおそらくはウィンドウ位置決め情報)と共に、ビデオフレーム部分としてデ
ィスプレイ(ビデオ)アダプタ548′に転送される。ディスプレイアダプタ5
48′は、ディスプレイ547に送られるビデオ信号を生成する電子部品を含む
ことができる。フレームバッファプロセス740を使用して、ディスプレイアダ
プタ548の画面フレームバッファ745中に、受信したビデオフレーム部分を
格納することができる。画面フレームバッファ745を用いることにより、例え
ばテキストストリングの単一イメージを、いくつかの異なる文字を表すグリフか
ら生成することが可能となる。次いで画面フレームバッファ745からのビデオ
フレームは、ビデオを特定のディスプレイデバイスに適合させるディスプレイ適
合プロセス750に提供される。ディスプレイ適合プロセス750もディスプレ
イアダプタ548′によって実施することができる。
The processed pixel values are then sent to a display (video) adapter 548 ′ as a video frame portion, along with screen positioning information (eg, from the application process 710 and / or operating system 535 ′). Will be transferred. Display adapter 5
48 'may include electronics for generating a video signal that is sent to display 547. The frame buffer process 740 can be used to store the received video frame portion in the screen frame buffer 745 of the display adapter 548. Using the screen frame buffer 745 allows, for example, a single image of a text string to be generated from glyphs representing several different characters. The video frames from the screen frame buffer 745 are then provided to a display adaptation process 750 that adapts the video to a particular display device. The display adaptation process 750 can also be performed by the display adapter 548 '.

【0064】 最後に、適合されたビデオは、例えばLCDディスプレイなどのディスプレイ
デバイス547にレンダリングのために提示される。
Finally, the adapted video is presented for rendering on a display device 547, eg, an LCD display.

【0065】 テキスト向上システムの概要を提供したので、次いでグラフィックスディスプ
レイインターフェースプロセス722を以下の§4.2.2.1でより詳細に説
明する。次いでディスプレイドライバで実行することができるプロセスを以下の
§4.2.2.2で説明する。
Having provided an overview of the text enhancement system, the graphics display interface process 722 will now be described in more detail in § 4.2.2.1 below. Next, the processes that can be executed by the display driver are described in §4.2.2.2 below.

【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に説明する。
FIG. 8 shows a process that can be performed by a graphics display interface (or GDI) process 722, as well as a GDI process 7.
22 shows data that can be used. As shown in FIG. 8, GDI process 722 includes a glyph cache management process (or, more generally, a glyph cache manager) 802 that accepts text or, more specifically, requests that text 820 be displayed. be able to. This request may include the point size of the text. The glyph cache management process 802
This request is forwarded to the glyph cache 726. If glyph cache 726 contains the glyph corresponding to the requested text character, glyph cache 726 provides it for downstream processing. If, on the other hand, glyph cache 726 does not have a glyph corresponding to the requested text character, glyph cache 726 will so notify glyph cache management process 802, which will generate the required glyph. A request for submission is submitted to a type rasterization process (or, more generally, a type rasterizer) 804. Basically, the type rasterization process 804 can be implemented in hardware and / or software, and can include character outlines (the character outlines recall include points that define contours such as straight lines and curves based on mathematical formulas). Can be converted to a raster (ie, bitmapped) image. Each pixel of the bitmap image can have, for example, a color value and intensity. The type rasterization process is described in §4.2.2.1.1.1 below.

【0067】 (§4.2.2.1.1 ラスタライザ) 繰り返すと、タイプラスタ化プロセス804は、基本的には文字アウトライン
をビットマップしたイメージに変換する。ビットマップのスケールは、フォント
のポイントサイズおよびディスプレイデバイス547の解像度(例えばインチあ
たりのピクセル)に基づくことができる。テキスト、フォント、およびポイント
サイズ情報をアプリケーション710から得ることができ、ディスプレイデバイ
ス547の解像度を、システム構成ファイルまたはディスプレイドライバファイ
ル、もしくはオペレーティングシステム535によってメモリ522に格納され
るモニタ設定から得ることができる。ディスプレイ情報724は、前景/背景色
情報、ガンマ値、カラーパレット情報、および/またはディスプレイアダプタ/
ディスプレイデバイスピクセル値フォーマット情報を含むことができる。繰り返
すと、アプリケーションプロセス710からの要求に応答して、グラフィックス
ディスプレイインターフェース722からこの情報を提供することができる。し
かし、要求されたテキストの背景が(不透明とは対照的に)透明であるべきであ
る場合、この背景色情報は、(例えばビットマップイメージまたは他のテキスト
などの)ディスプレイ上でレンダリングされるものであり、ディスプレイデバイ
ス547またはビデオフレームバッファ745から提供される。
(§4.2.2.1.1.1 Rasterizer) In repetition, the type rasterization process 804 basically converts a character outline into a bitmapped image. The scale of the bitmap can be based on the point size of the font and the resolution of the display device 547 (eg, pixels per inch). Text, font, and point size information can be obtained from the application 710, and the resolution of the display device 547 can be obtained from a system configuration file or a display driver file, or monitor settings stored in the memory 522 by the operating system 535. . Display information 724 may include foreground / background color information, gamma values, color palette information, and / or display adapter /
Display device pixel value format information may be included. Again, this information can be provided from graphics display interface 722 in response to a request from application process 710. However, if the background of the requested text should be transparent (as opposed to opaque), this background color information will be the one rendered on the display (eg, a bitmap image or other text). And provided from the display device 547 or the video frame buffer 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で説明する。
Basically, this rasterization process can include two or three sub-steps or sub-processes. First, the character outline is overscaled (or oversampled) using an overscaling / oversampling process 806. This process is described in § 4.2.2.1.1.1 below. Next, the overscaled / oversampled image generated in overscaling / oversampling process 806 can be positioned on a grid and have stretched portions using hinting process 808. This process is described in §4.2.2.1.1.2 below. The displaced (eg, immediately adjacent, overlapping, or spaced) samples of the scan conversion source samples of the overscaled / oversampled (and optionally hinted) image are then scanned. Combined by transformation process 812 (eg, filtering, averaging, etc.)
, Values corresponding to the sub-pixel elements 210, 220, 230 of the display 547 are generated. The scan conversion process 812 is described in § 4.2.2.1.1.3 below. The data stored in the obtained glyph cache 726 is described in §4.
This will be described in 2.2.1.1.4.

【0069】 (§4.2.2.1.1.1 スケーリング/オーバサンプリング) 前述の§4.2.2から、ワシントン州レンドモンドのMicrosoft
CoporationのTrueType(商標)などの、従来のシステムでの
スケーリングフォントでは、文字アウトラインの輪郭を定義する点の位置を定義
するために使用されるフォントユニット座標は、デバイス特有のピクセル座標に
スケーリングされていた。すなわち、文字を表示することができる前に、em正
方形の解像度が、その文字アウトラインを定義するために使用されたので、文字
をその上にレンダリングすべき出力デバイスのサイズ、変換、および特徴を反映
するようにスケーリングされていた。スケーリングされたアウトラインが、em
あたりのフォントユニットの測定の相対システムではなく、出力デバイスの測定
ピクセルを測定するために使用される、測定の絶対単位を反映する単位で文字ア
ウトラインを記述することを想起されたい。したがって、em正方形単位の値は
、以下の公式に従ってピクセル座標システム単位の値に変換されたことを想起さ
れたい。
(§4.2.2.1.1.1 Scaling / Oversampling) From §4.2.2 above, Microsoft, Lendmond, WA
In scaling fonts in conventional systems, such as the TrueType (TM) of the Corporation, the font unit coordinates used to define the location of the points that define the outline of the character outline are scaled to device-specific pixel coordinates. Was. That is, before the characters could be displayed, the em square resolution was used to define the character outline, thus reflecting the size, transformation, and characteristics of the output device on which the characters should be rendered Had to be scaled to The scaled outline is em
Recall that the character outline is described in units that reflect the absolute units of measurement used to measure the measured pixels of the output device, rather than the relative system of font unit measurements per. Therefore, recall that the values in em square units were converted to values in pixel coordinate system units according to the following formula:

【0070】 (1) ピクセル単位のサイズ=(文字アウトラインサイズ・ポイントサイズ・出力デバ
イスの解像度)/(72ポイント/インチフォントユニット数/em)
(1) Size in pixel units = (character outline size / point size / resolution of output device) / (72 points / inch font unit number / em)

【0071】 ただし、文字サイズはフォントユニットであり、出力デバイスの解像度はピク
セル/インチ単位である。
Here, the character size is a font unit, and the resolution of the output device is a pixel / inch unit.

【0072】 出力デバイスの解像度は、インチあたりのドットまたはピクセル数(dpi)
によって指定することができることを想起されたい。
The resolution of the output device is the number of dots or pixels per inch (dpi)
Recall that can be specified by

【0073】 本発明のテキスト向上システムにおいて、以上の背景を念頭に置くと、イメー
ジはオーバスケーリングまたはオーバサンプリングされ、具体的には、垂直(ま
たはY)方向にオーバスケーリングまたはオーバサンプリングされる。ピクセル
のRGBピクセルサブ構成要素は、オーバスケーリングまたはオーバサンプリン
グされたイメージをそこにマップすることができる独立した光度要素として扱わ
れる。したがって、周知の変換技法で可能な解像度より高い程度の解像度が提供
される。したがって、上記で論じた式(1)は、次のように書くことができる。
In the text enhancement system of the present invention, with the above background in mind, the image is over-scaled or over-sampled, specifically over-scaled or over-sampled in the vertical (or Y) direction. The RGB pixel sub-component of a pixel is treated as a separate intensity element to which an overscaled or oversampled image can be mapped. Thus, a higher degree of resolution is provided than is possible with known conversion techniques. Therefore, equation (1) discussed above can be written as:

【0074】 (2) ピクセル単位のサイズ=(N・文字アウトラインサイズ・ポイントサイズ・出力
デバイスの解像度)/(72ポイント/インチフォントユニット数/em)
(2) Size in pixel = (N · character outline size / point size / resolution of output device) / (72 points / inch font unit number / em)

【0075】 ただし、文字サイズはフォントユニットであり、出力デバイスの解像度はピク
セル/インチ単位であり、Nはオーバスケーリング因子またはオーバサンプリン
グ因子である。
Where the character size is in font units, the output device resolution is in pixels / inch, and N is an overscaling or oversampling factor.

【0076】 RGB水平ストライプディスプレイデバイスの場合、オーバスケーリングおよ
びオーバサンプリング因子をX方向にゼロ(0)とし、Y方向に3とすることが
できる。そのようなオーバスケーリング因子またはオーバサンプリング因子は、
フォントユニットからの文字アウトラインをサブピクセル要素にスケーリングす
る(図2の210、220、230を想起されたい)。実際には、さらにオーバ
スケーリングまたはオーバサンプリングすることが有用である。このようにして
、いくつかの走査変換ソースサンプルを使用して、各サブピクセル構成要素の値
を導出することができる。例えば、オーバスケーリングまたはオーバサンプリン
グ因子がY方向に9である場合、3つの走査変換ソースサンプルを(例えば平均
化オペレーションを介して)使用して、ピクセルの赤サブピクセル要素の強度を
定義することができ、別の3つの走査変換ソースサンプルを使用して、ピクセル
の緑サブピクセル要素の強度を定義することができ、最後の3つの走査変換ソー
スサンプルを使用して、ピクセルの青サブピクセル要素の強度を定義することが
できる。代替のサンプリング技法およびフィルタ処理技法も可能である。例えば
、より多くの走査変換ソースサンプルを使用して緑サブピクセル要素を定義し、
より少ない走査変換ソースサンプルを使用して青サブピクセル要素を定義するよ
うに、サンプルを重み付けすることができる。
For an RGB horizontal stripe display device, the overscaling and oversampling factors may be zero (0) in the X direction and three in the Y direction. Such an overscaling or oversampling factor is
Scale the character outline from the font unit to sub-pixel elements (recall 210, 220, 230 in FIG. 2). In practice, it is useful to further overscale or oversample. In this way, several scan conversion source samples can be used to derive the value of each sub-pixel component. For example, if the overscaling or oversampling factor is 9 in the Y direction, using three scan conversion source samples (eg, via an averaging operation) to define the intensity of the red subpixel component of the pixel. Can be used to define the intensity of the green subpixel element of the pixel using another three scan conversion source samples, and use the last three scan conversion source samples to determine the intensity of the blue subpixel element of the pixel. The intensity can be defined. Alternative sampling and filtering techniques are also possible. For example, use more scan conversion source samples to define the green sub-pixel element,
The samples can be weighted so that fewer scan conversion source samples are used to define the blue sub-pixel element.

【0077】 1つの実施形態では、赤サブピクセル要素はウェイト5を割り振られて5つの
走査変換ソースサンプルから導出され、緑サブピクセル要素はウェイト9を割り
振られて9つの走査変換ソースサンプルから導出され、青サブピクセル要素はウ
ェイト2を割り振られて2つの走査変換ソースサンプルから導出され、オーバス
ケーリング(またはオーバサンプリング)がX方向に1回、Y方向に16回の比
率で実行される。これは「重み付けされたサンプリング」と呼ばれる。このサン
プルは、一部の走査変換ソースサンプルを使用して複数のサブピクセル要素を決
定することができるように、一部のオーバラップする走査変換ソースサンプルを
含むことができる。あるいは、一部の走査変換ソースサンプルを無視することも
できる。同様に、平均化のための代替フィルタ処理技法を使用することもできる
In one embodiment, the red subpixel element is assigned a weight of 5 and is derived from 5 scan conversion source samples, and the green subpixel element is assigned a weight of 9 and is derived from 9 scan conversion source samples. , The blue sub-pixel element is derived from the two scan conversion source samples, assigned a weight of 2, and the overscaling (or oversampling) is performed once in the X direction and 16 times in the Y direction. This is called "weighted sampling." The samples may include some overlapping scan conversion source samples such that some of the scan conversion source samples can be used to determine multiple sub-pixel elements. Alternatively, some scan conversion source samples can be ignored. Similarly, alternative filtering techniques for averaging can be used.

【0078】 図6は、例示的テキスト向上システムにより実施される例示的走査変換オペレ
ーションを示す。ここに示す実施形態では、グリッド620によってセグメント
化されるイメージ610の異なるイメージサンプル630、632、634が使
用され、生成されるビットマップイメージ650の対応する部分640、642
、644に関連する赤、緑、青の強度値が生成される。図6に示す例では、赤お
よび青に対するイメージサンプルは、それぞれ緑サンプルからの距離で−1/3
および+1/3ピクセル幅だけ変位する。したがって、図3に示す周知のサンプ
リング/イメージ表示方法で遭遇する、§1.2.2.1.2で説明したピクセ
ル精度に丸められるときに導入される配置誤差は、それがあったとしてもほとん
ど知覚できない程度に減少する。サブピクセル解像度を得るために、ラスタ化さ
れた文字、すなわちラスタ化プロセスによって生成されたビットマップは、一般
にディスプレイデバイスのストライピングに垂直な方向にオーバスケーリングお
よび/またはオーバサンプリングされる。オーバサンプリングは、グリッドがそ
の上にあるイメージを維持しながらサンプルのグリッドを圧縮するとみなすこと
ができる。他方、オーバスケーリングは、グリッドがその上にあるイメージを引
き延ばしながらサンプルのグリッドを維持することとみなすことができる。
FIG. 6 illustrates an exemplary scan conversion operation performed by the exemplary text enhancement system. In the illustrated embodiment, different image samples 630, 632, 634 of the image 610 segmented by the grid 620 are used, and corresponding portions 640, 642 of the generated bitmap image 650.
, 644 are generated. In the example shown in FIG. 6, the image samples for red and blue are each -−1 of the distance from the green sample.
And + / pixel width. Therefore, the placement error introduced when rounded to the pixel precision described in § 1.2.2.1.2, encountered with the well-known sampling / image display method shown in FIG. Decreases to a barely perceptible level. To obtain sub-pixel resolution, the rasterized characters, ie, the bitmaps generated by the rasterization process, are typically overscaled and / or oversampled in a direction perpendicular to the striping of the display device. Oversampling can be viewed as compressing the grid of samples while maintaining the image on which the grid is located. On the other hand, overscaling can be viewed as maintaining a grid of samples while stretching the image on which the grid lies.

【0079】 一般に、オーバスケーリング(またはオーバサンプリング)プロセス806は
、各ピクセル要素に含まれるサブピクセル要素の方向および/または数に基づい
て、非正方形スケーリング(またはサンプリング)を実行することができる。具
体的には、高解像度文字情報728(この情報は、直線および曲線を定義する点
のシーケンスによって定義される輪郭を含むことができることを想起されたい。
)は、ストライピングの方向よりも大きい比率で、ストライピングに垂直な方向
にオーバスケーリング(またはオーバサンプル)することができる。したがって
例えば、垂直方向にストライプされたディスプレイがデータをその上に表示すべ
きデバイスとして使用されるとき、スケーリングは、垂直方向に実行されるより
も多い比率で、水平(またはX)方向に実行される。
In general, the overscaling (or oversampling) process 806 can perform non-square scaling (or sampling) based on the direction and / or number of sub-pixel elements included in each pixel element. Specifically, it is recalled that high resolution character information 728 (this information can include contours defined by a sequence of points defining straight lines and curves).
) Can be overscaled (or oversampled) in a direction perpendicular to the striping at a rate greater than the direction of the striping. Thus, for example, when a vertically striped display is used as a device on which to display data, scaling is performed in the horizontal (or X) direction at a greater rate than is performed in the vertical direction. You.

【0080】 他方、データを表示すべきデバイスとして、図1に示すようなタイプの水平方
向にストライプされたディスプレイを使用するとき、スケーリングは、水平方向
に実行されるよりも大きい比率で、垂直(またはY)方向に実行される。そのよ
うな不均一なスケーリングにより、後続のイメージ処理オペレーションで、個々
のサブピクセル要素を独立した光度ソースとして本発明に従って使用することに
よって達成することができる、より高い程度の解像度を利用することが可能とな
る。したがって、大部分の場合には、文字またはイメージのオーバスケーリング
(またはオーバサンプリング)は、赤、緑、および青ストライプをさらに分割し
、それによって後続の走査変換オペレーションをサポートすることが可能となる
比率で、必須ではないもののストライピングに垂直な方向に実行される。
On the other hand, when using a horizontally striped display of the type as shown in FIG. 1 as a device to display data, the scaling is performed at a greater rate than vertically ( Or in the Y) direction. Such non-uniform scaling allows subsequent image processing operations to take advantage of a higher degree of resolution that can be achieved by using individual sub-pixel elements as independent light intensity sources in accordance with the present invention. It becomes possible. Thus, in most cases, overscaling (or oversampling) of a character or image will further divide the red, green, and blue stripes, thereby allowing subsequent scan conversion operations to be supported. And, although not required, in the direction perpendicular to striping.

【0081】 次いで、図10および図11を参照しながら第1オーバスケーリング(または
オーバサンプリング)技法を説明し、図12および図13を参照しながら第2オ
ーバスケーリング(またはオーバサンプリング)技法を説明する。
Next, the first overscaling (or oversampling) technique will be described with reference to FIGS. 10 and 11, and the second overscaling (or oversampling) technique will be described with reference to FIGS. 12 and 13. .

【0082】 図10は、オーバスケーリング(またはオーバサンプリング)プロセス806
を実施するための第1方法806′の高レベル流れ図である。図11に、図10
の方法806′のオペレーションの例を示す。まず、ステップ1010に示すよ
うに、フォントベクトルグラフィックス(例えば文字アウトライン)、ポイント
サイズ、およびディスプレイ解像度が受諾される。この情報を図11に1110
として示す。左サイドベアリング(410を想起されたい)、アドバンス幅(4
02を想起されたい)、アセント(942を想起されたい)およびディーセント
(944を想起されたい)などのフォントメトリックも受諾することができる。
この情報を図11に1112および1114として示す。ステップ1020に示
すように、オーバスケーリング因子またはオーバサンプル率(式2のNを想起さ
れたい)が受諾される。次いで、ステップ1030に示すように、フォントベク
トルグラフィックス(例えば文字アウトライン)1110が、ポイントサイズ、
ディスプレイ解像度、およびオーバスケーリング因子(またはオーバサンプル率
)に基づいてラスタ化される。
FIG. 10 illustrates an overscaling (or oversampling) process 806.
Is a high-level flow diagram of a first method 806 'for implementing. FIG.
Shows an example of the operation of the method 806 'of FIG. First, as shown in step 1010, font vector graphics (eg, character outlines), point size, and display resolution are accepted. This information is shown in FIG.
As shown. Left side bearing (recall 410), advance width (4
Font metrics such as 0 (recall 02), ascent (recall 942) and decent (recall 944) can also be accepted.
This information is shown in FIG. 11 as 1112 and 1114. As shown in step 1020, an overscaling factor or oversampling rate (recall N in Equation 2) is accepted. Then, as shown in step 1030, the font vector graphics (e.g., character outline) 1110 has a point size,
Rasterized based on display resolution and overscaling factor (or oversampling rate).

【0083】 図11の例に示すように、(フォントユニットの単位の)文字アウトラインの
X座標、ならびに(やはりフォントユニットの単位の)アドバンス幅および左サ
イドベアリングが1120に示すようにスケーリングされ(式1を想起されたい
)、最も近い整数ピクセル値に丸められる。他方、(フォントユニットの単位の
)文字アウトラインのY座標値、ならびに(やはりフォントユニットの単位の)
アセント値、ディーセント値、および他の垂直フォント特徴値が、1130に示
すようにオーバスケーリングされ(式2を想起されたい。)、最も近い整数走査
変換ソースサンプル値に丸められる。得られるデータ1140は、X方向はピク
セル単位、Y方向は走査変換ソースサンプル単位の文字アウトラインである。次
いでRETURNノード1040を介して方法806′を終了する。
As shown in the example of FIG. 11, the X coordinate of the character outline (in font units), the advance width (also in font units) and the left side bearing are scaled as shown in 1120 (Eq. 1), rounded to the nearest integer pixel value. On the other hand, the Y-coordinate value of the character outline (in units of font units), and also (in units of font units)
The ascent, decent, and other vertical font feature values are overscaled (recall Equation 2) as shown at 1130 and rounded to the nearest integer scan conversion source sample value. The resulting data 1140 is a character outline in pixels in the X direction and in scan conversion source samples in the Y direction. The method 806 'then ends via RETURN node 1040.

【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座標値を生
成することができる。
FIG. 12 illustrates an overscaling (or oversampling) process 806.
FIG. 13 is a high level flow diagram of a second method 806 "for implementing
An example of the operation of the method 806 "is shown below. First, as shown in step 1210, font vector graphics (eg, character outlines), point size, and display resolution are accepted.
As shown. Font metrics such as left side bearing and advance width can also be accepted. As shown in step 1220, an overscaling factor or oversampling rate (recall N in Equation 2) is accepted. Then, as shown in step 1230, the sub-pixel element of the display is for example R
It is determined whether they are arranged in the order of -GB or BGR. If the subpixel elements are arranged in RGB order, the font vector graphics (eg, character outline) 1310 is rotated 90 degrees counterclockwise. FIG.
Referring to FIG. 3, this transformation can be performed by changing the original X coordinate value to the new Y coordinate value and inverting the original Y coordinate value to generate a new X coordinate value as shown at 1312. .

【0085】 次いで処理はステップ1260に進む。判定ステップ1230に戻ると、サブ
ピクセル要素がB−G−Rの順序に配列される場合、フォントベクトルグラフィ
ックス(例えば文字アウトライン1310は、時計回りに90度だけ回転する。
元のX座標を新しいY座標に変更し、元のY座標をX座標に変更することによっ
てこの変換を実施することができる。前述の例において、負のX値がない−すな
わちY軸がフォントベクトルグラフィックス(例えば1310)の左側にあるべ
きであると仮定したことに留意されたい。負のX座標値がある可能性がある例に
おいては、時計回りに90度回転する場合に、X値は反転され、Y値が生成され
る。次いで処理はステップ1260に進む。
Next, the process proceeds to Step 1260. Returning to decision step 1230, if the sub-pixel elements are arranged in BGR order, the font vector graphics (e.g., character outline 1310 rotates 90 degrees clockwise).
This transformation can be performed by changing the original X coordinate to the new Y coordinate and changing the original Y coordinate to the X coordinate. Note that in the above example, it was assumed that there were no negative X values-ie the Y axis should be to the left of the font vector graphics (e.g., 1310). In an example where there may be a negative X coordinate value, when rotated 90 degrees clockwise, the X value is inverted and a Y value is generated. Then, the process proceeds to step 1260.

【0086】 ステップ1260では、回転したフォントベクトルグラフィックス(例えば文
字アウトライン)1110は、ポイントサイズ、ディスプレイ解像度、およびオ
ーバスケーリング因子(またはオーバサンプル率)に基づいてラスタ化される。
図13の例に示すように、(フォントユニットの単位の)文字アウトラインの新
しいY座標値、ならびに(フォントユニットの単位の)アドバンス幅および左サ
イドベアリングが、1330に示すようにスケーリングされる(式1を想起され
たい)。次いでこれらの値は、最も近い整数ピクセル値に丸められる。他方、(
フォントユニットの単位の)文字アウトラインの新しいX座標値、ならびに(や
はりフォントユニットの単位の)アセント値およびディーセント値が、1320
に示すようにオーバスケーリング(またはオーバサンプル)され(式2を想起さ
れたい。)最も近い整数走査変換ソースサンプル値に丸められる。得られるデー
タ1340は、新しいY方向ではピクセル単位、新しいX方向では走査変換ソー
スサンプル単位の文字アウトラインである。図12に戻ると、RETURNノー
ド1270を介して方法806″を終了する。
In step 1260, the rotated font vector graphics (eg, character outline) 1110 is rasterized based on the point size, display resolution, and overscaling factor (or oversampling rate).
As shown in the example of FIG. 13, the new Y coordinate value of the character outline (in units of font units), and the advance width and left side bearing (in units of font units) are scaled as shown at 1330 (expression 1). These values are then rounded to the nearest integer pixel value. On the other hand, (
The new X coordinate value of the character outline (in font units) and the ascent and decent values (also in font units) are 1320
Is over-scaled (or over-sampled) (recall Equation 2) and rounded to the nearest integer scan conversion source sample value. The resulting data 1340 is a character outline in pixels in the new Y direction and scan conversion source samples in the new X direction. Returning to FIG. 12, method 806 ″ ends via RETURN node 1270.

【0087】 第1方法806′は実施が容易であるが、第2方法806″により、走査変換
プロセス812の間にデータ1340にアクセスするときに、いくつかの実施形
態ではいくつかのデータアクセスの利点が提供される。これらの利点を図20A
および図20Bを参照しながら以下の§4.2.2.1.1.3で説明する。
Although the first method 806 ′ is easy to implement, the second method 806 ″ allows for some data access when accessing data 1340 during the scan conversion process 812, in some embodiments. Benefits are provided: these benefits are illustrated in FIG.
This will be described in §4.2.2.1.1.3 below with reference to FIG.

【0088】 図8に戻ると、オーバスケーリング(またはオーバサンプリング)プロセス8
06を実行した後は、任意選択のヒンティングプロセス808を実行することが
できる。このプロセス808を以下の§4.2.2.1.1.2で説明する。
Returning to FIG. 8, the overscaling (or oversampling) process 8
After performing 06, an optional hinting process 808 may be performed. This process 808 is described in § 4.2.2.1.1.2 below.

【0089】 (§4.2.2.1.1.2 ヒンティング) ヒンティング(「グリフの命令」とも呼ばれる)の目的は、グリフが異なるサ
イズで異なるデバイス上にレンダリングされるときに、元のフォント設計の重要
な特徴が保持されることを保証することである。一貫したステムウェイト、一貫
した「カラー」(すなわち、この状況の下では、ページまたは画面上のブラック
およびホワイトのバランス)、さらには間隔およびピクセルドロップアウトの回
避が、ヒンティングの一般的な目的である。過去には、無指示または無ヒンティ
ングのフォントは、一般に十分に高い解像度およびポイントサイズで良好な品質
結果を生成した。しかし、多くのフォントについて、より低い解像度のディスプ
レイ上のより小さなポイントサイズでは、可読性が損なわれる可能性がある。例
えば、文字形状を記述するのに利用可能なピクセルが少ない低解像度では、ウェ
イト、クロスバー幅、およびセリフ細部などの特徴が不規則になり、不整合にな
り、さらには完全に誤る可能性がある。本発明によって提供されるより高い解像
度により可読性は向上するが、それでもヒンティングは有用である。
(§4.2.2.1.1.2 Hinting) The purpose of hinting (also called “glyph instructions”) is when the glyph is rendered at different sizes and on different devices. It is to ensure that important features of the font design are preserved. Consistent stem weight, consistent "color" (ie, black and white balance on a page or screen under this circumstance), as well as avoidance of spacing and pixel dropout, are common objectives of hinting is there. In the past, undirected or non-hinting fonts have generally produced good quality results at sufficiently high resolutions and point sizes. However, for many fonts, smaller point sizes on lower resolution displays can compromise readability. For example, at lower resolutions where fewer pixels are available to describe a character shape, features such as weights, crossbar widths, and serif details can be irregular, inconsistent, and even completely erroneous. is there. Although the readability is improved by the higher resolution provided by the present invention, hinting is still useful.

【0090】 基本的には、ヒンティングは、「グリッド配置」および「グリッドフィッティ
ング」を含む。グリッド配置は、グリッド内にスケール(またはオーバスケーリ
ング)した文字を配列するために使用され、後続の走査変換オペレーションによ
って、利用可能なサブピクセルを用いて文字の正確な表示を最適化するために用
いられる。グリッドフィッティングは、文字がグリッドの形状により適合するよ
うに文字アウトラインを変形することを含む。
Basically, hinting includes “grid arrangement” and “grid fitting”. Grid placement is used to arrange the scaled (or over-scaled) characters in a grid, and is used by subsequent scan conversion operations to optimize the accurate display of characters using the available sub-pixels. Can be Grid fitting involves deforming the character outline so that the character better matches the shape of the grid.

【0091】 グリッドフィッティングにより、グリフのいくつかの特徴が調整されることが
保証される。アウトラインは、指定されるサイズより小さいサイズで変形される
ので、高解像度でのフォントの輪郭は、不変かつ未変形のままとなる。
The grid fitting ensures that some features of the glyph are adjusted. Since the outline is deformed to a size smaller than the specified size, the outline of the font at high resolution remains unchanged and undeformed.

【0092】 グリッド配置では、サブピクセル要素の境界は、文字をそれにそって配列する
ことができる境界、または配列すべきである境界、あるいは文字のアウトライン
をそれに対して調整すべきである境界として扱うことができる。
In a grid arrangement, the boundaries of sub-pixel elements are treated as boundaries along which characters can be aligned or should be aligned, or outlines of characters should be adjusted for. be able to.

【0093】 多くの場合、ヒンティングは、文字ステムの左縁を左のピクセルまたはサブピ
クセル境界でエイリアシングすること、その文字のベースの底部をピクセル構成
要素またはサブピクセル要素境界に沿って配列することを含む。実験結果により
、垂直ストライピングの場合、青または緑の左縁を有するように配列されたステ
ムを有する文字は、一般に赤の左縁を有するように配列されたステムを有する文
字よりも読みやすい傾向があることが示された。
In many cases, hinting involves aliasing the left edge of the character stem at the left pixel or sub-pixel boundary, and aligning the bottom of the base of the character along the pixel component or sub-pixel element boundary. including. Experimental results show that in the case of vertical striping, letters with stems arranged with a blue or green left edge tend to be more readable than letters with stems arranged with a red left edge. It was shown that there is.

【0094】 したがって、少なくとも一部の実施形態では、ヒンティング文字を垂直ストラ
イピングを有する画面上に表示すべきとき、ヒンティングプロセスの部分として
、ステムに対して青または緑の左縁の方が、赤の左縁よりも好まれる。水平スト
ライピングの場合、一般には文字特徴の底部、特に水平な文字特徴(例えばアル
ファベットAおよびHのクロスバーおよびアルファベットEおよびZの底部特徴
など)が赤または青の底縁を有するように配列される文字は、一般に緑の底縁を
有するように配列されるベースを有する文字よりも見やすい。したがって、水平
ストライピングを有する画面上にヒンティング文字を表示すべきとき、少なくと
も一部の実施形態では、ヒンティングプロセスの部分として赤または青の底縁の
方が、緑の底縁よりも好まれる。
Thus, in at least some embodiments, when hinting characters are to be displayed on a screen with vertical striping, the blue or green left edge relative to the stem is part of the hinting process, Preferred over the red left edge. In the case of horizontal striping, generally the bottom of the character features, especially horizontal character features (such as the crossbars of the letters A and H and the bottom features of the letters E and Z) are arranged to have a red or blue bottom edge. Letters are generally easier to see than letters having a base arranged to have a green bottom edge. Thus, when hinting characters are to be displayed on a screen with horizontal striping, in at least some embodiments, a red or blue bottom edge is preferred over a green bottom edge as part of the hinting process. .

【0095】 図14は、ヒンティングプロセス808の少なくとも一部を実施するための例
示的方法808′の高レベル流れ図である。図15Aおよび図15Bに図14の
方法808′のオペレーションを示す。まず、ステップ1410に示すように、
オーバスケーリングまたはオーバサンプリングされた文字ビットマップが受諾さ
れる。上述のように、文字特徴の底部が緑のサブピクセル要素に走査変換される
走査変換ソースサンプル上にある場合、青または赤のサブピクセル要素に走査変
換される走査変換ソースサンプル、あるいは青または赤サブピクセル要素に走査
変換される走査変換ソースサンプルに隣接する走査変換ソースサンプルにシフト
(または変形)するべきである。したがって、判定ステップ1420に示すよう
に、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変換ソースサ
ンプル上にない場合、方法808′は、RETURNノード1460を介して終
了する。他方、文字特徴の底部が緑のサブピクセル要素に走査変換される走査変
換ソースサンプル上にある場合、処理は、判定ステップ1430に分岐し、そこ
で文字特徴の底部が赤のサブピクセル要素に走査変換される走査変換ソースサン
プルに近いか、それとも青のサブピクセル要素に走査変換される走査変換ソース
サンプルに近いかが判定される。前者の場合、ステップ1440に示すように、
文字特徴アウトラインの底部が赤のサブピクセル要素に走査変換される走査変換
ソースサンプル上となるように、文字特徴アウトラインがシフト(圧縮)される
。後者の場合、ステップ1450に示すように、文字特徴アウトラインの底部が
青のサブピクセル要素に走査変換される走査変換ソースサンプル上となるように
(またはそれに直接隣接するように)、文字特徴アウトラインがシフト(拡張)
される。どちらの場合でも、方法808′は、RETURNノード808′を介
して終了する。
FIG. 14 is a high-level flowchart of an exemplary method 808 ′ for performing at least a portion of the hinting process 808. FIGS. 15A and 15B illustrate the operation of the method 808 'of FIG. First, as shown in step 1410,
An overscaled or oversampled character bitmap is accepted. As described above, if the bottom of a character feature is on a scan conversion source sample that is scan converted to a green subpixel element, then a scan conversion source sample that is scan converted to a blue or red subpixel element, or blue or red It should be shifted (or transformed) to a scan conversion source sample adjacent to the scan conversion source sample that is scan converted to a subpixel element. Thus, as shown in decision step 1420, if the bottom of the character feature is not on a scan-converted source sample that is scan-converted to a green subpixel element, method 808 'ends via RETURN node 1460. On the other hand, if the bottom of the character feature is on a scan-converted source sample that is scan-converted to a green sub-pixel element, processing branches to decision step 1430, where the bottom of the character feature is scan-converted to a red sub-pixel element. Is determined to be close to the scan-converted source sample to be converted or to a scan-converted source sample that is scan-converted to a blue sub-pixel element. In the former case, as shown in step 1440,
The character feature outline is shifted (compressed) such that the bottom of the character feature outline is on a scan-converted source sample that is scan-converted to a red subpixel element. In the latter case, as shown in step 1450, the character feature outline is placed so that the bottom of the character feature outline is on (or directly adjacent to) the scan-converted source sample that is scan-converted to a blue subpixel element. Shift (expansion)
Is done. In either case, method 808 'ends via RETURN node 808'.

【0096】 図15Aおよび15Bは、5つの走査変換ソースサンプルが赤のサブピクセル
要素を導出するために使用され、9つの走査変換ソースサンプルが緑のサブピク
セル要素を導出するために使用され、2つの走査変換ソースサンプルが緑のサブ
ピクセル要素を導出するために使用される重み付け走査変換の対象となるべきオ
ーバスケーリングまたはオーバサンプリングされた文字アウトライン中の文字ア
ウトラインに対する、図14の方法808′のオペレーションを示す。図15A
の例では、オーバスケーリングまたはオーバサンプリングされる文字特徴アウト
ライン1510の底部1512は、緑のサブピクセル要素に走査変換すべき走査
変換ソースサンプルにあるが、青のサブピクセル要素に走査変換すべき走査変換
ソースサンプルの近くにある。したがって、オーバスケーリングまたはオーバサ
ンプリングされる文字特徴アウトラインは、得られるオーバスケーリングまたは
オーバサンプリングされる文字特徴アウトライン1510′の底部1512′が
青のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接する
走査変換ソースサンプル上となるように、下方にシフトされる(または引き延ば
される)。
FIGS. 15A and 15B show that five scan conversion source samples are used to derive the red sub-pixel element, nine scan conversion source samples are used to derive the green sub-pixel element, and 2 Operation of method 808 'of FIG. 14 for a character outline in an overscaled or oversampled character outline to be subjected to a weighted scan conversion in which one scan conversion source sample is used to derive the green subpixel element. Is shown. FIG. 15A
In the example, the bottom 1512 of the overscaling or oversampled character feature outline 1510 is at a scan conversion source sample to be scan converted to a green sub-pixel element, but a scan conversion to be converted to a blue sub-pixel element. Close to the source sample. Thus, the overscaled or oversampled character feature outline is such that the bottom 1512 'of the resulting overscaled or oversampled character feature outline 1510' is immediately adjacent to the scan conversion source sample to be scan converted to a blue subpixel element. Are shifted down (or stretched) so that they are on the corresponding scan conversion source sample.

【0097】 図15Bの例では、オーバスケーリングまたはオーバサンプリングされる文字
特徴アウトライン1520の底部1522は、緑のサブピクセル要素に走査変換
すべき走査変換ソースサンプルにあるが、赤のサブピクセル要素に走査変換すべ
き走査変換ソースサンプルに近い。したがって、オーバスケーリングまたはオー
バサンプリングされる文字特徴アウトラインは、得られるオーバスケーリングま
たはオーバサンプリングされる文字特徴アウトライン1520′の底部1522
′が赤のサブピクセル要素に走査変換すべき走査変換ソースサンプルに直接隣接
する走査変換ソースサンプル上となるように、上方にシフトされる(または圧縮
される)。
In the example of FIG. 15B, the bottom 1522 of the overscaling or oversampled character feature outline 1520 is at the scan conversion source sample to scan convert to a green subpixel element, but scans to a red subpixel element. Close to the scan conversion source sample to be converted. Thus, the overscaling or oversampled character feature outline is the bottom 1522 of the resulting overscaled or oversampled character feature outline 1520 '.
′ Is shifted upward (or compressed) so that it is on the scan conversion source sample immediately adjacent to the scan conversion source sample to be scan converted to a red subpixel element.

【0098】 当業者に周知の他のヒンティング命令をオーバスケーリングまたはオーバサン
プリングされる文字アウトラインに対して実施することもできる。しかし、サブ
ピクセル要素を考慮することによって提供される追加の垂直解像度により、ある
ヒンティング命令が不必要に実行される可能性があることに留意されたい。
[0098] Other hinting instructions well known to those skilled in the art may also be implemented for overscaling or oversampled character outlines. However, it should be noted that due to the additional vertical resolution provided by considering sub-pixel elements, certain hinting instructions may be unnecessarily executed.

【0099】 ヒンティングプロセス808を完了した後、またはヒンティングプロセス80
8が実行されなかった場合、オーバスケーリング(またはオーバサンプリング)
プロセス806が完了した後に、走査変換プロセス812が実行される。この走
査変換プロセスを以下の§4.2.2.1.1.3で説明する。
After completing hinting process 808 or hinting process 80
If 8 was not performed, overscaling (or oversampling)
After process 806 is completed, scan conversion process 812 is performed. This scan conversion process is described in §4.2.2.1.1.3 below.

【0100】 (§4.2.2.1.1.3 走査変換) 基本的には、走査変換プロセス812は、文字を表すオーバスケーリング(ま
たはオーバサンプル)される幾何形状をビットマップイメージに変換する。従来
の走査変換オペレーションは、ピクセルを、スケーリングされるイメージの対応
する部分をそれにマップすることができる個々のユニットとして扱う。したがっ
て、従来の走査変換オペレーションでは、イメージの同じ部分が、スケーリング
されるイメージの部分がそれにマップされるピクセル要素の赤、緑、および青の
サブピクセル要素の各々で使用すべき光度値を決定するために使用される。図3
がビットマップとして表すべきイメージのサンプリングと、サンプリングされた
値からの光度値の生成とを含む周知の走査変換プロセスの例を示すことを想起さ
れたい。
(§4.2.2.1.1.3 Scan Conversion) Basically, the scan conversion process 812 converts an overscaled (or oversampled) geometry representing a character into a bitmap image. I do. Conventional scan conversion operations treat pixels as individual units to which corresponding portions of the image to be scaled can be mapped. Thus, in conventional scan conversion operations, the same portion of the image determines the light intensity value to be used at each of the red, green, and blue sub-pixel elements of the pixel element to which the portion of the image to be scaled is mapped. Used for FIG.
Recall that an example of a well-known scan conversion process involves sampling an image to be represented as a bitmap and generating intensity values from the sampled values.

【0101】 テキスト向上システムの走査変換プロセス812では、ピクセルの赤、緑、お
よび青のサブピクセル要素は、独立した光度要素として扱われる。したがって、
各サブピクセル要素は、オーバスケーリング(またはオーバサンプル)されるイ
メージの異なる部分をそれにマップすることができる別々の光度構成要素として
扱われる。オーバスケーリング(またはオーバサンプル)されるイメージの異な
る部分を異なるサブピクセル要素にマップすることを可能とすることによって、
周知の走査変換技法よりも高い程度の解像度が提供される。言い換えれば、オー
バスケーリング(またはオーバサンプル)されるイメージの異なる部分が、各サ
ブピクセル要素で使用すべき光度値を独立に決定するために使用される。したが
って、走査変換プロセスは、変位したサンプルのフィルタ処理(例えば平均化)
とみなすことができる。変位したサンプルは、オーバラップする、次に直接に隣
接する、かつ/または次に間隔を置いて配置することができる。
In the scan conversion process 812 of the text enhancement system, the red, green, and blue sub-pixel components of a pixel are treated as independent intensity components. Therefore,
Each sub-pixel element is treated as a separate intensity component to which different parts of the overscaled (or oversampled) image can be mapped. By allowing different parts of the image to be overscaled (or oversampled) to be mapped to different subpixel elements,
A higher degree of resolution is provided than known scan conversion techniques. In other words, different portions of the image that are overscaled (or oversampled) are used to independently determine the light intensity value to use for each subpixel element. Thus, the scan conversion process involves filtering (eg, averaging) the displaced samples.
Can be considered. The displaced samples can be overlapped, then directly adjacent, and / or then spaced.

【0102】 図6がテキスト向上システムで使用することができる例示的走査変換プロセス
812を示すことを想起されたい。ここに示す実施形態では、グリッド620に
よってセグメント化されるイメージ610の異なるイメージサンプル630、6
32、634が使用され、生成されるビットマップイメージ650の対応する部
分640、642、644に関連する赤、緑、および青の強度値が生成される。
図6に示す例では、赤および青に対するイメージサンプルは、それぞれ緑のサン
プルからの距離で−1/3および+1/3ピクセル高さだけ変位する。
Recall that FIG. 6 illustrates an exemplary scan conversion process 812 that can be used in a text enhancement system. In the illustrated embodiment, different image samples 630, 6 of images 610 segmented by grid 620 are shown.
32, 634 are used to generate red, green, and blue intensity values associated with corresponding portions 640, 642, 644 of the generated bitmap image 650.
In the example shown in FIG. 6, the image samples for red and blue are displaced by-/ and + / pixel height, respectively, at a distance from the green sample.

【0103】 走査変換プロセス812により、各ピクセルサブ構成要素に対する赤、緑、お
よび青(R、G、B)の光度値が生成される。これらの値は、別々の赤、緑、お
よび青の光度レベルの形態で表現することができる。
The scan conversion process 812 produces red, green, and blue (R, G, B) intensity values for each pixel sub-component. These values can be expressed in the form of separate red, green, and blue light intensity levels.

【0104】 走査変換プロセス812の簡単な概要を提供したので、次いで走査変換プロセ
ス8.12を実施するための2つの例示的方法を図16および図17を参照しな
がら説明する。
Having provided a brief overview of the scan conversion process 812, two exemplary methods for implementing the scan conversion process 8.12 will now be described with reference to FIGS.

【0105】 図16は、走査変換プロセス812を実施するための例示的方法812′の高
レベル流れ図である。ステップ1610で示すように、ヒントされ、オーバスケ
ーリング(またはオーバサンプル)された文字アウトラインビットマップが受諾
される。同様に、ステップ1620に示すように、オーバスケーリング(または
オーバサンプル)されたグリフメトリックも受諾される。次いで、ステップ16
30に示すように、予想されるサイズのグリフメトリックは、オーバスケーリン
グ(またはオーバサンプル)されたグリフメトリックから決定される。より具体
的には、走査変換プロセス812によって受諾されるメトリックのうちの一部(
例えばアセントおよびディーセント)は、Y方向にN(例えばN=16)だけオ
ーバサンプリングされているので(図11および13を想起されたい)、これら
のオーバスケーリング(またはオーバサンプル)されたグリフメトリックが予想
されるサイズのグリフメトリックに変換される(すなわち、テキストをレンダリ
ングすべき特定の出力デバイスに対してスケーリングされる)とき、アセント(
左サイドベアリングのY構成要素とも呼ばれる)およびグリフのボディまたはサ
イズ(すなわちアセントとディーセントの絶対値との和)は、以下のように決定
することができる。
FIG. 16 is a high-level flowchart of an exemplary method 812 ′ for performing the scan conversion process 812. As shown at step 1610, a hinted and overscaled (or oversampled) character outline bitmap is accepted. Similarly, as shown in step 1620, the overscaled (or oversampled) glyph metric is also accepted. Then, step 16
As shown at 30, the expected size glyph metric is determined from the overscaled (or oversampled) glyph metric. More specifically, some of the metrics accepted by scan conversion process 812 (
For example, ascent and decent) are oversampled by N (eg, N = 16) in the Y direction (recall FIGS. 11 and 13) so that their overscaled (or oversampled) glyph metrics are When converted to a glyph metric of the expected size (ie, scaled for the particular output device on which the text is to be rendered), the ascent (
The body or size of the left side bearing (also called the Y component) and the glyph (ie, the sum of the ascent and the absolute value of the decent) can be determined as follows.

【0106】 アセント≡シーリング(オーバスケーリングされたアセント/N) (3)Ascent @ Ceiling (Overscaled Ascent / N) (3)

【0107】 ボディ高さ≡ シーリング(オーバスケーリングされたアセント/N)+ |シーリング(オーバスケーリングされたディーセントト/N)| (4)Body Height≡ Ceiling (overscaled ascent / N) + | Ceiling (overscaled decent / N) | (4)

【0108】 ただし、「シーリング」は、非整数を次に大きい整数に丸める演算子である。
このステップを使用して、オーバスケーリング(またはオーバサンプル)された
文字アウトラインビットマップの走査変換ソースサンプルに対する完全なピクセ
ルがあることが保証される。
Note that “sealing” is an operator that rounds a non-integer to the next largest integer.
This step is used to ensure that there are complete pixels for the scan-converted source samples of the overscaled (or oversampled) character outline bitmap.

【0109】 次にステップ1640に示すように、文字アウトラインのアセントおよびディ
ーセント中の残りの走査変換ソースサンプルがゼロ埋込みされる。より具体的に
は、アセント中の走査変換ソースサンプルの数がオーバスケーリング(またはオ
ーバサンプリング)因子Nで等しく割り切れない場合、アセント中の走査変換ソ
ースサンプルの数がオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れるまで、値ゼロ(0)を有する追加の走査変換ソースサンプルが
、文字アウトラインのアセントに加えられる。同様に、ディーセント中の走査変
換ソースサンプルがオーバスケーリング(またはオーバサンプリング)因子Nで
等しく割り切れない場合、ディーセント中の走査変換ソースサンプルの数がオー
バスケーリング(またはオーバサンプリング)因子Nで等しく割り切れるまで、
値ゼロ(0)を有する追加の走査変換ソースサンプルが、文字アウトラインのデ
ィーセントに加えられる。後に図18Aおよび図18Bを参照して示すように、
このステップにより、隣接する文字のベースラインが「ジャンプ」または「バウ
ンス」しないことが保証される。ゼロ埋込みと機能的に同等の他の技法もその代
わりに使用することができることに留意されたい。そのような機能的に同等な技
法は、例えば、走査変換プロセスに、ベースラインの上の走査変換ソースサンプ
ルのオーバスケーリング因子(またはオーバサンプリング率)の整数倍にアクセ
スさせること、および文字アウトラインのアセントの上の走査変換ソースサンプ
ルを(例えばマスキングオペレーションを用いて)無視することを含むことがあ
る。
Next, as shown in step 1640, the remaining scan conversion source samples in the ascent and decent of the character outline are zero padded. More specifically, if the number of scan conversion source samples in the ascent is not evenly divisible by the overscaling (or oversampling) factor N, then the number of scan conversion source samples in the ascent is overscaling (or oversampling) factor N Additional scan conversion source samples with the value zero (0) are added to the character outline ascent until is evenly divisible by. Similarly, if the scan conversion source samples during decent are not evenly divisible by the overscaling (or oversampling) factor N, then the number of scan conversion source samples during decent is evenly divisible by the overscaling (or oversampling) factor N. Until,
An additional scan conversion source sample having the value zero (0) is added to the decent of the character outline. As will be shown later with reference to FIGS. 18A and 18B,
This step ensures that the baseline of adjacent characters does not "jump" or "bounce". Note that other techniques that are functionally equivalent to zero padding can be used instead. Such functionally equivalent techniques include, for example, having the scan conversion process access an integer multiple of the overscaling factor (or oversampling rate) of the scan conversion source samples above the baseline, and ascenting the character outline. May include ignoring (eg, using a masking operation) the scan conversion source samples above.

【0110】 次に、ステップ1650に示すように、サブピクセル要素値が、走査変換ソー
スサンプルに基づいて決定される上記で論じたように、この決定は、変位したサ
ンプルをフィルタ処理することによって行うことができる。図19に重みづけ走
査変換プロセスの例を示す。赤のサブピクセル要素の強度値が5つの走査変換ソ
ースサンプルに基づき、緑のサブピクセル要素の強度値が9つの走査変換ソース
サンプルに基づき、青のサブピクセル要素の強度値が2つの走査変換ソースサン
プルに基づくので、この例示的走査変換プロセスは、「重みづけ」と呼ばれる。
人間の目は異なるカラーの光源からの光度を異なる比率で知覚するので、この重
みづけを使用することができる。
Next, as shown in step 1650, sub-pixel element values are determined based on the scan conversion source samples. As discussed above, this determination is made by filtering the displaced samples. be able to. FIG. 19 shows an example of the weighted scan conversion process. The intensity value of the red subpixel element is based on five scan conversion source samples, the intensity value of the green subpixel element is based on nine scan conversion source samples, and the intensity value of the blue subpixel element is two scan conversion source samples. Because it is sample based, this exemplary scan conversion process is called "weighting."
This weighting can be used because the human eye perceives the luminosity from different colored light sources at different rates.

【0111】 赤、緑、および青のサブピクセル要素をその最大光度出力に設定することで得
られるホワイトピクセルの知覚される明るさに対して、緑は約60%、赤は約3
0%、および青は約10%寄与する。したがって、例えば光度レベルなどのリソ
ースを割り振る際、青または赤よりも高いレベルを緑に割り振ることができる。
同様に、より高い強度レベルを赤に割り振ることができ、次いで青に割り振るこ
とができる。しかし、いくつかの実施形態では、赤、緑、および青に等しい強度
レベルが割り当てられる。この例でのオーバスケーリング(またはオーバサンプ
リング)因子は、16であった。
For the perceived brightness of white pixels obtained by setting the red, green, and blue sub-pixel elements to their maximum intensity output, green is about 60% and red is about 3%.
0% and blue contribute about 10%. Thus, when allocating resources such as, for example, luminosity levels, a higher level than blue or red can be allocated to green.
Similarly, higher intensity levels can be assigned to red and then to blue. However, in some embodiments, intensity levels equal to red, green, and blue are assigned. The overscaling (or oversampling) factor in this example was 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である。
In FIG. 19, the dashed line 1910 indicates overscaling (or oversampling).
Shows the part of the character outline that has been drawn. Reference numeral 1912 indicates a region inside the character outline 1910, and reference numeral 1914 indicates a region outside the character outline 1910. FIG. 19 shows a scan conversion source sample corresponding to two pixels having six sub-pixel elements of a display on which the character 1910 is to be rendered. In this example, the filtering operation is simply that the center 1922 of the scan conversion source sample 1920 therein is within the character outline 1910 or character outline 1910 with the overscaled (or oversampled).
Add the number of samples that are above 10. Alternatively, the number of scan conversion source samples that are at least 50% within the character outline 1910 can be used.
Note that the highest source subpixel is zero padded so that the ascent of the character outline 1910 is evenly divisible by 16 (step 16).
Remember 40. ). In a first set of scan conversion source samples 1930a, the red value 1932a is 3, the green value 1934a is 8, and the blue value 1936
a is zero (0). In a second set of scan conversion source samples 1930b,
The red value 1932b is zero (0), the green value 1934b is zero (0),
The blue value 1936b is 2.

【0113】 図16に戻ると、任意選択ステップ1660では、サブピクセル要素値が「圧
縮される」。例示的実施形態では、サブピクセル要素値は、以下の式に従って単
一の8ビット値に圧縮される。
Returning to FIG. 16, in optional step 1660, the sub-pixel element values are “compressed”. In the exemplary embodiment, the sub-pixel element values are compressed into a single 8-bit value according to the following equation:

【0114】 圧縮されるピクセル値≡3×(10×赤+緑)+青 (5)Pixel value to be compressed≡3 × (10 × red + green) + blue (5)

【0115】 したがって、例えば走査変換ソースサンプルの第1セット1930aに対応す
る圧縮ピクセル値は114(=3×(10×3+8)+0)であり、走査変換ソ
ースサンプルの第2セット1930bに対応する圧縮ピクセル値は2(=3×(
10×0+0)+2)である。圧縮ピクセル値は、ゼロ(0)(すなわち、赤、
緑、および青の値がすべてゼロ(0)であるとき)と179(すなわち、赤の値
が5であり、緑の値が9であり、青の値が2であるとき)との間の値を有するこ
とになる。
Thus, for example, the compressed pixel value corresponding to the first set of scan conversion source samples 1930a is 114 (= 3 × (10 × 3 + 8) +0), and the compressed pixel value corresponding to the second set of scan conversion source samples 1930b. The pixel value is 2 (= 3 × (
10 × 0 + 0) +2). The compressed pixel value is zero (0) (ie, red,
Between green and blue values are all zero (0)) and 179 (ie, when the red value is 5, the green value is 9 and the blue value is 2). Will have a value.

【0116】 次にステップ1670では、文字ビットマップおよびグリフメトリックがグリ
フキャッシュ726中に格納される。グリフキャッシュ726中に格納されるデ
ータの例示的データ構造を以下の§4.2.2.1.1.4で説明する。方法8
12′はRETURNノード1680を介して終了する。
Next, in step 1670, the character bitmap and glyph metrics are stored in glyph cache 726. An exemplary data structure for data stored in glyph cache 726 is described in § 4.2.2.1.1.4 below. Method 8
12 'ends via RETURN node 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と同様である
FIG. 17 is a high level flow diagram of an alternative method 812 ″ for implementing the scan conversion process 812. The method 812 ″ of FIG. 17 uses the overscaling (or oversampling) method 806 ″ of FIG. Steps 1240 and 1250 in FIG. 12 and glyph 1314 in FIG.
Recall that the character outline 1310 rotates 90 degrees. Accordingly, in the method of claim 17, the scan conversion glyph is rotated back as shown in step 1770. More specifically, for a video display device having sub-pixels arranged in the order RGB, the Y coordinate is mapped to the final X coordinate and the negative X coordinate is mapped to the positive final Y coordinate. And the positive X coordinate is mapped to the negative final Y coordinate. Such coordinate mapping can be performed automatically such that the scan conversion source samples are accessed (as can be seen from the description of FIG. 20B below). Otherwise, the method 812 ″ of FIG. 17 is similar to FIG.

【0118】 上記の§4.2.2.1.1.1で論じたように、図12のオーバスケーリン
グ(またはオーバサンプリング)方法80611は、図10のオーバスケーリン
グ(またはオーバサンプリング)方法806′が走査変換ソースサンプル情報を
格納するときよりも、図17の走査変換方法812″などの走査変換プロセス8
12によってアクセスすることが容易となるように、走査変換ソースサンプル情
報を格納する。図20Aおよび図20Bに、走査変換プロセス812によって走
査変換ソースサンプル情報にアクセスすることの容易さにおける、この差を示す
。図20Aに示すように、オーバスケーリング(またはオーバサンプル)された
文字アウトライン1140からの走査変換ソースサンプル情報は、左から右、上
から下の方向にいくつかのバイトに分割し、参照番号2010で示される一連の
バイトとして格納することができる。走査変換はいくつか(例えば16)のY方
向に連続する走査変換ソースサンプルにアクセスするので、例えばバイト200
1,1′から1ビットアクセスし、iバイトスキップして、バイト20002,1′ から1ビットアクセスするなどのようにしなければならないことになる。
As discussed in § 4.2.2.1.1.1 above, the overscaling (or oversampling) method 80611 of FIG. 12 is equivalent to the overscaling (or oversampling) method 806 ′ of FIG. Scan conversion process 8 such as scan conversion method 812 "of FIG. 17 than when storing scan conversion source sample information.
12 to store scan conversion source sample information for easy access. 20A and 20B illustrate this difference in the ease with which the scan conversion source sample information can be accessed by the scan conversion process 812. As shown in FIG. 20A, the scan conversion source sample information from the overscaled (or oversampled) character outline 1140 is divided into a number of bytes from left to right, top to bottom, and denoted by reference numeral 2010. It can be stored as a series of bytes as indicated. The scan conversion accesses several (eg, 16) consecutive scan conversion source samples in the Y direction, so that, for example, byte 200
One bit must be accessed from 0 1,1 ' , i bytes must be skipped, and one bit must be accessed from bytes 2000 2,1' .

【0119】 他方、図20Bに示すように、回転し、オーバスケーリング(オーバサンプル
)した文字アウトライン1340からの走査変換ソース情報は、左から右、上か
ら下の方向にいくつかのバイトに分割し、参照番号2010′で示される一連の
バイトとして格納することができる。しかしこの場合、走査変換はいくつか(例
えば16)の(元はY方向であった)x方向に連続したビットにアクセスするの
で、単に2つの連続するバイト(例えば20001,1′、20001,2′など)に
しかアクセスすることができない。文字アウトラインのボディ940とemボッ
クス910(図9参照)との2つの間のスペースに対応する走査変換ソースサン
プルがある場合、そのようなオフセットを補償するアクセス方法を使用すること
ができる。
On the other hand, as shown in FIG. 20B, the scan conversion source information from the rotated and overscaled (oversampled) character outline 1340 is divided into several bytes from left to right and top to bottom. , 2010 ′, can be stored as a series of bytes. However, in this case, since the scan conversion accesses several (eg, 16) consecutive bits in the x-direction (originally in the Y-direction), it only has two consecutive bytes (eg, 2000 1,1 ′ , 2000 1). , 2 ' ). If there is a scan conversion source sample corresponding to the space between the body 940 of the character outline and the em box 910 (see FIG. 9), an access method that compensates for such an offset can be used.

【0120】 図16のステップ1640および図17のステップ1740では、文字アウト
ラインのアセントおよびディーセント中の残りの走査変換ソースサンプルがゼロ
埋込みされていた。より具体的には、アセント中の走査変換ソースサンプルの数
がオーバスケーリング(またはオーバサンプリング)因子Nで等しく割り切れな
い場合、アセント中の走査変換ソースサンプルの数がオーバスケーリング(また
はオーバサンプリング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する
追加の走査変換ソースサンプルが、文字アウトラインのアセントに加えられるこ
とを想起されたい。
In step 1640 of FIG. 16 and step 1740 of FIG. 17, the remaining scan conversion source samples in the ascent and decent of the character outline were zero-padded. More specifically, if the number of scan conversion source samples in the ascent is not evenly divisible by the overscaling (or oversampling) factor N, then the number of scan conversion source samples in the ascent is overscaling (or oversampling) factor N Recall that additional scan conversion source samples with the value zero (0) are added to the ascent of the character outline until they are evenly divisible by.

【0121】 同様に、ディーセント中の走査変換ソースサンプルの数がオーバスケーリング
(またはオーバサンプリング)因子Nで等しく割り切れない場合、ディーセント
中の走査変換ソースサンプルの数がオーバスケーリング(またはオーバサンプリ
ング)因子Nで等しく割り切れるまで、値ゼロ(0)を有する追加のサブピクセ
ルソースサンプルが、文字アウトラインのディーセントに加えられる。図18A
および図18Bは、どのようにこれらのステップによりベースラインの「ジャン
ピング」または「バウンシング」が防止されるかを示す働きをする。
Similarly, if the number of scan conversion source samples during decent is not evenly divisible by an overscaling (or oversampling) factor N, then the number of scan conversion source samples during decent is overscaling (or oversampling). Additional sub-pixel source samples having the value zero (0) are added to the decent of the character outline until divisible by a factor N. FIG. 18A
18B and FIG. 18B serve to show how these steps prevent "jumping" or "bouncing" of the baseline.

【0122】 図18Aでは、ソースサンプル1850aがオーバスケーリング(またはオー
バサンプル)した文字アウトラインの最高のサブピクセルソースサンプルである
と仮定する。参照番号1810bは、ベースライン1820の上の最初の16個
の(オーバスケーリングまたはオーバサンプリング因子が16である場合)走査
変換ソースサンプルを示し、参照番号1810aは、ベースライン1820の上
の最後の16個の走査変換ソースサンプルを示す。ゼロ埋込みを用いない場合、
サンプルの第1組は、組1810aから走査変換ソースサンプルを取り、次の組
(図示せず)から1つの走査変換ソースサンプルを取ることになる。より多くの
サンプルの組が走査変換プロセス812によって処理されるので、このオフセッ
トは、サンプルの組がベースライン1820の上の組1810から走査変換ソー
スサンプルを取り、ベースライン1820の下の第1組から1つの走査変換ソー
スサンプルを取るように下方に伝播することになる。実質上、走査変換ソースサ
ンプルの最上部の組1810aをゼロ埋込みしないことの結果は、ベースライン
1820が1つの走査変換ソースサンプルを下方に移動することである。走査変
換ソースサンプルの最上部の組1810aをゼロ埋込みすることにより、ベース
ライン1820の位置が維持される。
In FIG. 18A, assume that source sample 1850a is the highest subpixel source sample in the overscaled (or oversampled) character outline. Reference numeral 1810b indicates the first 16 scan conversion source samples above the baseline 1820 (if the overscaling or oversampling factor is 16), and reference numeral 1810a indicates the last 16 scan conversion source samples above the baseline 1820. Fig. 4 shows scan conversion source samples. If you do not use zero padding,
The first set of samples will take scan conversion source samples from set 1810a and one scan conversion source sample from the next set (not shown). As more sets of samples are processed by the scan conversion process 812, this offset is due to the fact that the set of samples takes the scan conversion source samples from the set 1810 above the baseline 1820 and the first set below the baseline 1820. From one to one scan conversion source sample. In effect, the result of not zero-filling the top set of scan conversion source samples 1810a is that the baseline 1820 moves down one scan conversion source sample. By zero padding the top set of scan conversion source samples 1810a, the position of the baseline 1820 is maintained.

【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つの文字から次の文字に移動、また
は「ジャンプ」することができる。
Referring now to FIG. 18B, it is assumed that scan conversion source sample 1850c is the best scan conversion source of the overscaled (or oversampled) character outline. Reference numeral 1810d indicates the first 16 scan conversion source samples above the baseline 1820 (if the overscaling or oversampling factor is 16), and reference numeral 1810c indicates the last 16 scan conversion source samples above the baseline 1820. Fig. 4 shows scan conversion source samples. Without zero padding, the first set of samples would take one scan conversion source sample from set 1810c and 15 scan conversion source samples from the next set (not shown). As more sets of samples are processed by the scan conversion process 812, this offset is due to the set of samples taking one scan conversion source sample from the set 1810d above the baseline 1820 and the second sample below the baseline 1820. It will propagate down to take 15 scan conversion source samples from a set. Effectively, the result of not zero-filling the top set of scan conversion source samples 1810c is that the baseline 1820 moves down the scan conversion source samples. By zero padding the top set of scan conversion source samples 1810c, the position of the baseline 1820 is maintained. As can be seen from a comparison of FIG. 18A and FIG. 18B, if the scan conversion source samples in the top set of N (eg, N = 16) scan conversion source samples are not zero padded, the baseline 1820 The position can move or "jump" from one character to the next.

【0124】 走査変換プロセス812を説明したので、得られるグリフおよびグリフメトリ
ックを格納するための例示的データ構造を以下の§4.2.2.1.1.4で説
明する。
Having described the scan conversion process 812, an exemplary data structure for storing the resulting glyphs and glyph metrics is described in § 4.2.2.1.1.4 below.

【0125】 (§4.2.1.1.4 例示的圧縮ピクセル値データ構造) 多くのシステムでは、R、G、およびBの光度値は、3つの離散的な量として
指定され、格納され、処理される。この3つの離散的な量はそれぞれ、ディスプ
レイアダプタ548および/またはディスプレイデバイス547に対するサブピ
クセル要素光度値を指定するために用いられる数に対応する数を有する。例えば
、多くのシステムは、それぞれがR、G、またはBの光度値を表す8ビット量を
使用する。そのような実施態様では、R、G、およびBの光度値は、ピクセルご
とに24ビットの格納、処理、および転送を必要とする。
(§4.2.1.1.4 Exemplary Compressed Pixel Value Data Structure) In many systems, the R, G, and B light intensity values are specified and stored as three discrete quantities. ,It is processed. Each of the three discrete quantities has a number corresponding to the number used to specify a sub-pixel element intensity value for display adapter 548 and / or display device 547. For example, many systems use 8-bit quantities, each representing an R, G, or B light intensity value. In such an embodiment, the R, G, and B light intensity values require 24 bits of storage, processing, and transfer per pixel.

【0126】 メモリ、処理、さらにはバス帯域幅が限られたリソースである一部のデバイス
(例えばポータブルコンピュータ、およびハンドヘルドコンピューティングデバ
イスなど)では、レンダリングプロセス全体にわたって各R、G、およびBの光
度値を表すために8ビットを用いることは、利用可能なリソースの著しい負担と
なる可能性がある。グリフを処理し、格納するために必要な、メモリを含むリソ
ースを低減するために、別々のR、G、およびBの光度レベル値を単一の数に変
換することができ、例えば単一の数に圧縮することができる(図16および図1
7それぞれのステップ1660および1760と、その関連する前述の§4.2
.1.1.3での説明を想起されたい。)。
For some devices where memory, processing, and even bus bandwidth are a limited resource (eg, portable computers and handheld computing devices), each R, G, and B light intensity throughout the rendering process Using eight bits to represent a value can be a significant burden on available resources. To reduce the resources, including memory, required to process and store glyphs, separate R, G, and B intensity level values can be converted to a single number, eg, a single 16 and FIG.
7 Steps 1660 and 1760 and their associated §4.2 above.
. Recall the explanation in 1.1.3. ).

【0127】 繰り返すと、この数がピクセルに関連するR、G、およびBの光度値を単一の
値に圧縮することを表すので、この数は「圧縮ピクセル値」と呼ばれる。ピクセ
ルR、G、およびBの光度レベルを表すために使用される数の範囲、例えば圧縮
ピクセル値の範囲は、可能なR、G、およびBの光度レベルそれぞれの組み合わ
せを固有に識別することができるように十分大きく選択される。したがって、R
、G、およびBの光度レベルの組み合わせを表すために使用される圧縮ピクセル
値の合計数は、サポートされる赤の強度レベルの合計数、緑の強度レベルの合計
数、および青の強度レベルの合計数の積と少なくとも同じであるべきである。メ
モリアクセス、処理、およびデータ転送オペレーションの点からバイト、すなわ
ち8ビット量で扱うことがしばしば便利であるので、積は8ビット量またはその
倍数として指定することができるべきである。ハンドヘルドコンピューティング
デバイスでは、(サブピクセル要素の光度値あたり8ビットを使用し、ピクセル
あたり合計24ビットを必要とする実施形態と比較して)メモリなどの点での著
しい節約のために、ピクセルあたり、R、G、およびBの光度値の積の単一8ビ
ット表示が特に望ましい。
Again, this number is referred to as a "compressed pixel value" because it represents compressing the R, G, and B intensity values associated with the pixel into a single value. The range of numbers used to represent the light intensity levels of pixels R, G, and B, for example, the range of compressed pixel values, can uniquely identify each possible combination of R, G, and B light intensity levels. It is chosen large enough to allow. Therefore, R
, G, and B light intensity levels, the total number of compressed pixel values used to represent the total number of supported red intensity levels, the total number of green intensity levels, and the number of blue intensity levels Should be at least the same as the product of the total numbers. The product should be able to be specified as an 8-bit quantity or a multiple thereof, as it is often convenient to work with bytes, ie, 8-bit quantities, in terms of memory access, processing, and data transfer operations. In a handheld computing device, a significant savings in terms of memory and the like (compared to an embodiment using 8 bits per luminosity value of a sub-pixel element and requiring a total of 24 bits per pixel) A single 8-bit representation of the product of the intensity values of R, G, and B is particularly desirable.

【0128】 一般には、レンダリングイメージ、具体的にはテキストイメージに関連するリ
ソースの負荷を制限するために、走査変換プロセス812は、ピクセルに関連す
る別々のR、G、およびBの光度値を圧縮ピクセル値に変換することができる。
そのような実施形態では、グリフは、例えば別々の8ビットR、G、およびBの
光度値としてではなく、圧縮ピクセル値を用いて表され、格納される。圧縮ピク
セル表示は、光度値がディスプレイアダプタ548に供給される前に、ディスプ
レイデバイス547によって用いられる形態の、別々のR、G、およびBの光度
値に変換することができる。
In general, to limit the resource load associated with a rendered image, specifically a text image, the scan conversion process 812 compresses the separate R, G, and B intensity values associated with the pixel. Can be converted to pixel values.
In such an embodiment, the glyphs are represented and stored using compressed pixel values rather than, for example, as separate 8-bit R, G, and B intensity values. The compressed pixel representation can be converted to separate R, G, and B intensity values in the form used by display device 547 before the intensity values are provided to display adapter 548.

【0129】 別々のR、G、およびBの光度レベルを圧縮ピクセル値に変換することは、走
査変換プロセス812の一部として、または走査変換プロセス812へのポスト
プロセスとして実行することができる。(前述の各々図16および図17のステ
ップ1660および1760を想起されたい。)シフトオペレーションまたは算
術式を使用して、ピクセルに関連する別々のR、G、およびBの光度レベルと圧
縮ピクセル値との間で変換することができる。そのようなオペレーションにより
、合計M(0からM−1)個の別個の圧縮ピクセル値エントリを生成することが
できる。ただしMは、ピクセル要素に割り当てることができる、可能なR、G、
およびBの光度レベルの組み合わせの合計数である。対応するR、G、およびB
の光度レベルの組み合わせは、各圧縮ピクセル値に関連する。
The conversion of the separate R, G, and B light intensity levels to compressed pixel values can be performed as part of the scan conversion process 812 or as a post process to the scan conversion process 812. (Recall steps 1660 and 1760 of FIGS. 16 and 17, respectively, above.) Using shift operations or arithmetic expressions, separate R, G, and B light intensity levels and compressed pixel values associated with pixels Can be converted between. Such an operation may generate a total of M (0 to M-1) distinct compressed pixel value entries. Where M is a possible R, G,
And B are the total number of combinations of light intensity levels. Corresponding R, G, and B
Are associated with each compressed pixel value.

【0130】 RPを赤の光度レベルの可能な最大数であるとすると、Rの光度値は、0から
RP−1まで変動する。GPを緑の光度レベルの可能な最大数であるとすると、
Gの光度値は、0からGP−1まで変動する。BPを青の光度レベルの可能な最
大数であるとすると、Bの光度値は、0からBP−1まで変動する。あるいは、
圧縮ピクセル値は、圧縮ピクセル値をルックアップテーブル中のインデックスと
して使用し、圧縮ピクセル値に関連する個々のR、G、およびB光度レベルエン
トリを出力することによって、ルックアップテーブルを用いて別々のR、G、お
よびBの光度値に変換することもできる。
If RP is the maximum possible number of red light intensity levels, the light intensity value of R varies from 0 to RP-1. Let GP be the maximum possible number of green light intensity levels,
The luminosity value of G varies from 0 to GP-1. If BP is the maximum possible number of blue light intensity levels, the light intensity value of B will vary from 0 to BP-1. Or,
The compressed pixel values are separated using the look-up table by using the compressed pixel values as an index into the look-up table and outputting the individual R, G, and B intensity level entries associated with the compressed pixel values. It can also be converted to R, G, and B luminosity values.

【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を含む。
Recall that the exemplary scan conversion processes 812 ′ and 812 ″ described above supported 16 times overscaling (or oversampling) in the direction perpendicular to RGB striping. Luminosity levels, for example levels 0-5, were used, ten green luminosity levels, for example levels 0-9, and three blue luminosity levels, for example levels 0-2, were used. A total of 180 (= 6 × 10 × 3) possible R, G, and B intensity level combinations are obtained, In such an embodiment, N is equal to 180, and the look-up table is compressed pixel values 0 to 0. 179.

【0132】 サポートされるR、G、およびBの光度レベルの数は、通常、走査変換プロセ
ス812の間にR、G、およびBの光度レベルを決定するために使用される走査
変換ソースサンプルの数の関数であることに留意されたい。180個の可能なR
、G、およびB光度レベル光度レベルの組み合わせがサポートされる例示的実施
形態では、圧縮ピクセル値0〜179の各々は、8ビット量を用いて表すことが
できることにも留意されたい。これにより、別々の8ビット値がR、G、および
Bの組み合わせあたり合計24ビットにのために使用される実施形態と比較して
、格納要件が著しく低減される。
The number of R, G, and B intensity levels supported is typically the number of scan conversion source samples used to determine the R, G, and B intensity levels during the scan conversion process 812. Note that it is a function of numbers. 180 possible R
, G, and B intensity levels In an exemplary embodiment in which a combination of intensity levels is supported, each of the compressed pixel values 0-179 can also be represented using an 8-bit quantity. This significantly reduces storage requirements compared to embodiments where separate 8-bit values are used for a total of 24 bits per combination of R, G, and B.

【0133】 図21は、走査変換プロセス812によってグリフキャッシュ726′中に格
納することができる情報の例を示す。グリフキャッシュ726′は、いくつかの
グリフファイル2110aを含むことができる。グリフ2110aの各々は、い
くつかのグリフメトリック2112a(例えば左サイドベアリング、アドバンス
幅、アセント、ディーセントなど)およびいくつかのピクセルレコード2120
を含むこができる。ピクセルレコード2120の各々は、ディスプレイ画面ピク
セル座標2122および圧縮ピクセル2124を含むことができる。
FIG. 21 shows an example of information that can be stored in glyph cache 726 ′ by scan conversion process 812. Glyph cache 726 'may include several glyph files 2110a. Each of the glyphs 2110a has a number of glyph metrics 2112a (eg, left side bearing, advance width, ascent, decent, etc.) and a number of pixel records 2120.
Can be included. Each of the pixel records 2120 may include a display screen pixel coordinate 2122 and a compressed pixel 2124.

【0134】 グラフィックスディスプレイインターフェースプロセス722を説明したので
、ディスプレイドライバ723およびその関連するプロセスを以下の§4.2.
2.2で説明する。
Having described the graphics display interface process 722, the display driver 723 and its associated processes are described below in §4.2.
This will be described in 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のカラーパレット
を含むことができる。
(§4.2.2.2 Display Driver Components) The display driver 732 allows the computer system to communicate information to the video display device 547 or video adapter 740 so that the video display device 547 can interpret it. Software instructions that enable the Display driver 732 is operating system block 5
Although shown outside 35 ', the display driver 732 can be considered part of the operating system 535'. As shown in FIG. 7, the display driver 732 can accept the display information 724 ′ and perform a color compensation (or color filtering) process 736, a gamma correction process 737.
, And a display driver management process 735 that coordinates the color palette selection process 738. Display information 724 'can include the gamma of display device 547 and the color palette of display device 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を介して終了
する。
FIG. 22 is a high-level flowchart of a method 735 ′ that can be used to implement the display driver management process 735. As shown in steps 2210 and 2220, the display driver management method uses the glyph cache 7
Accepts 26-735 'glyphs and accepts display information from display 547 (or accepts display information about display device 547 from system configuration file). The method 735 'then proceeds to step 223.
At 0, the color filter processing process 736, described in more detail below in § 4.2.2.1, can be invoked. The method 735 'may also invoke, at step 2240, a gamma correction process 737, which is described in more detail below in § 4.2.2.2.2. Finally, the method 735 ′ includes, in step 2250, the following §4
. A color palette selection process 738, described in more detail in 2.2.2.3, can be invoked. Method 735 'ends via RETURN node 2260.

【0137】 (§4.2.2.2.1 カラー補償(フィルタ処理)) オーバスケーリング(またはオーバサンプリング)および走査変換プロセスに
より、赤210、緑220、および青230サブピクセルを別々に考慮すること
によって、垂直方向にディスプレイデバイスの解像度が効果的に向上するが、隣
接するサブピクセルの強度値が非常に異なる場合、得られる表示は、ユーザにと
って視覚的に不快であることがある。強度差が大きすぎる場合、カラー補償(カ
ラーフィルタ処理)プロセス736を使用して、ある隣接するサブピクセル要素
間の強度差を低減することができる。
§ 4.2.2.2.2.1 Color Compensation (Filtering) The red 210, green 220, and blue 230 subpixels are considered separately by the overscaling (or oversampling) and scan conversion processes. This effectively increases the resolution of the display device in the vertical direction, but if the intensity values of adjacent sub-pixels are very different, the resulting display may be visually unpleasant for the user. If the intensity differences are too large, a color compensation (color filtering) process 736 can be used to reduce the intensity differences between certain adjacent sub-pixel elements.

【0138】 図23は、カラーフィルタ処理プロセス736を実施するために使用すること
ができる例示的方法736′の流れ図である。まずステップ2310に示すよう
に、フィルタパラメータが受諾される。この方法736′では、2つのフィルタ
、すなわち赤のフィルタおよび青のフィルタが提供される。この場合、赤のフィ
ルタは閾値、赤の因子、および緑の因子を使用する。青のフィルタは、閾値、緑
の因子、および赤の因子を使用する。図に示すように、ステップ2320および
2380によって定義されるループは、処理されるグリフの各圧縮ピクセル値に
対して実行される。ループ2320〜2380内では、ステップ2330に示す
ように、正規化された赤、緑、および青の強度値が圧縮ピクセル値から決定され
る。より具体的には、例えばカラースペース0から255は、重み付けしたカラ
ーに基づいて等しいセグメントに分割することができる。したがって例えば、5
つの赤のカラーがある場合、カラースペースは、それぞれ255/5だけ離れて
配置される5つのセグメントに分割される。これにより、6つの固有の赤のカラ
ーがもたらされ、それらはカラースペースに正規化される。したがって、正規化
カラーは以下の式を用いて決定することができる。
FIG. 23 is a flowchart of an exemplary method 736 ′ that may be used to implement the color filter processing process 736. First, as shown in step 2310, the filter parameters are accepted. In this method 736 ', two filters are provided, a red filter and a blue filter. In this case, the red filter uses the threshold, the red factor, and the green factor. The blue filter uses a threshold, a green factor, and a red factor. As shown, the loop defined by steps 2320 and 2380 is performed for each compressed pixel value of the glyph being processed. Within loops 2320-2380, normalized red, green, and blue intensity values are determined from the compressed pixel values, as shown in step 2330. More specifically, for example, color spaces 0 to 255 can be divided into equal segments based on weighted colors. Thus, for example, 5
If there are two red colors, the color space is divided into five segments, each separated by 255/5. This results in six unique red colors, which are normalized to the color space. Therefore, the normalized color can be determined using the following equation:

【0139】 (カラーの合計数−所望のカラーインデックス) * 255/カラーの合計数 (6)(Total number of colors−desired color index) * 255 / total number of colors (6)

【0140】 次いで、判定ステップ2340で、赤と緑の強度間の差の絶対値(すなわち大
きさ)が赤のフィルタ閾値値よりも大きいかどうかが判定される。赤のフィルタ
閾値よりも大きい場合、ステップ2350に示すように、赤および緑の強度が、
その差の大きさが減少するように調整される。例えばこのステップの部分は、以
下の式に従って実施することができる。
Then, in decision step 2340, it is determined whether the absolute value (ie, magnitude) of the difference between the red and green intensities is greater than the red filter threshold value. If it is greater than the red filter threshold, as shown in step 2350, the red and green intensities are
It is adjusted so that the magnitude of the difference is reduced. For example, this part of the step can be performed according to the following equation:

【0141】 (R−G)>赤のフィルタ閾値である場合、 R′=R−((R−G)*赤のフィルタの赤の因子)/10 G′=G+((R−G)*赤のフィルタの緑の因子)/10When (RG)> red filter threshold, R ′ = R − ((RG) * red factor of red filter) / 10 G ′ = G + ((RG) * Green factor of red filter) / 10

【0142】 ただしRは元の赤の強度であり、Gは元の緑の強度であり、R′は新しい赤の
強度であり、G′は新しい緑の強度である。次いで処理は判定ステップ2360
に進む。判定ステップ2340に戻ると、赤と緑の強度間の差の絶対値(すなわ
ち大きさ)が赤のフィルタ閾値より大きくない場合、処理は直接、判定ステップ
2360に進む。
Where R is the original red intensity, G is the original green intensity, R 'is the new red intensity, and G' is the new green intensity. Then, the process proceeds to the determination step 2360
Proceed to. Returning to decision step 2340, if the absolute value (ie, magnitude) of the difference between the red and green intensities is not greater than the red filter threshold, processing proceeds directly to decision step 2360.

【0143】 判定ステップ2360では、緑(これはステップ2350で修正されている可
能性がある)と青の強度間の差の絶対値(すなわち大きさ)が青のフィルタ閾値
値よりも大きいかどうかが判定される。青のフィルタ閾値よりも大きい場合、ス
テップ2370に示すように、緑の強度(ステップ2350で修正された場合は
修正された強度)、青の強度、および/または赤の強度(ステップ2350で修
正された場合は修正された強度)が、その差の大きさが減少するように調整され
る。例えばこのステップの部分は、以下の式に従って実施することができる。
At decision step 2360, it is determined whether the absolute value (ie, magnitude) of the difference between the green (which may have been corrected at step 2350) and the blue intensity is greater than the blue filter threshold value. Is determined. If so, the green intensity (modified intensity if modified in step 2350), blue intensity, and / or red intensity (modified in step 2350), as shown in step 2370. Corrected intensity) is adjusted to reduce the magnitude of the difference. For example, this part of the step can be performed according to the following equation:

【0144】 (G−B)>青のフィルタ閾値である場合、 G′=G−((G−B)*青のフィルタの緑の因子)/10 B′=B+((G−B)*青のフィルタの青の因子)/10 R′=R−((G−B)*青のフィルタの赤の因子)/10If (GB)> blue filter threshold, then G '= G-((GB) * green factor of blue filter) / 10 B' = B + ((GB) * R '= R-((GB) * red factor of blue filter) / 10

【0145】 ただしRは元の赤の強度(ステップ2350で修正された場合は修正された強度
)であり、Gは元の緑の強度(ステップ2350で修正された場合は修正された
強度)であり、Bは元の青の強度であり、R′は新しい赤の強度であり、G′は
新しい緑の強度であり、B′は新しい青の強度である。次いで処理はステップ2
380に進む。判定ステップ2360に戻ると、緑と青の強度間の差の絶対値(
すなわち大きさ)が青のフィルタの閾値よりも大きくない場合、処理は直接ステ
ップ2380に進む。グリフのすべての圧縮ピクセルが処理された後、方法73
6′は、RETURNノード2390を介して終了する。
Here, R is the original red intensity (modified intensity if modified in step 2350), and G is the original green intensity (modified intensity if modified in step 2350). Yes, B is the original blue intensity, R 'is the new red intensity, G' is the new green intensity, and B 'is the new blue intensity. Then the process is Step 2
Proceed to 380. Returning to decision step 2360, the absolute value of the difference between the green and blue intensities (
If the size is not greater than the threshold value of the blue filter, the process proceeds directly to step 2380. After all compressed pixels of the glyph have been processed, method 73
6 'ends via RETURN node 2390.

【0146】 フィルタ可変値に対するいくつかのサンプル値は、以下の通りである。 赤のフィルタ閾値=100 赤のフィルタの赤の因子=3 赤のフィルタの緑の因子=2 青のフィルタ閾値=128 青のフィルタの赤の因子=2 青のフィルタの緑の因子=1 青のフィルタの青の因子=3Some sample values for the filter variable values are as follows: Red filter threshold = 100 red filter red factor = 3 red filter green factor = 2 blue filter threshold = 128 blue filter red factor = 2 blue filter green factor = 1 blue filter Filter blue factor = 3

【0147】 カラーフィルタ処理プロセスをディスプレイドライバ732の一部として示し
たが、その代わりに、走査変換されるサブピクセル要素強度値が圧縮ピクセル値
に結合される前に、これらの値に適用することもできたことに留意されたい。
Although the color filtering process is shown as part of the display driver 732, instead of applying scan converted sub-pixel element intensity values to these values before they are combined into compressed pixel values. Please note that it was also possible.

【0148】 (§4.2.2.2 ガンマ補正) 多くのディスプレイデバイス547は、入力信号とその出力との間で非線型の
挙動を示す。より具体的には、ディスプレイデバイス547への入力信号がiで
あり、ディスプレイデバイス547の出力がoである場合、iとoとの関係は、
一般に以下のように表すことができる。
(§4.2.2.2 Gamma Correction) Many display devices 547 exhibit non-linear behavior between an input signal and its output. More specifically, when the input signal to the display device 547 is i and the output of the display device 547 is o, the relationship between i and o is
Generally, it can be expressed as follows.

【0149】 o=ciγq (7)O = ci γq (7)

【0150】 ただし、cは定数であり、7は一般に1ではない指数(一般にデバイスの「ガン
マ」と呼ばれる)である。LCDディスプレイでは、ガンマは一般に1未満であ
る。イメージ中の知覚されるグレースケールを正しくディスプレイ547上にレ
ンダリングすることを保証するために、一般に「ガンマはコレクタ」と呼ばれる
、追加の補償型の非線型デバイスがしばしば使用される。したがって図22のス
テップ2240を参照すると、ガンマ補正プロセスが起動される。
Here, c is a constant, and 7 is an index that is generally not 1 (generally called “gamma” of the device). For LCD displays, gamma is generally less than one. To ensure that the perceived grayscale in the image is correctly rendered on the display 547, an additional compensated non-linear device, commonly referred to as a "gamma is a collector", is often used. Therefore, referring to step 2240 of FIG. 22, the gamma correction process is activated.

【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を介して終了する。
FIG. 24 is a high-level flowchart of an exemplary gamma correction method 2240 ′ that can be used to implement the gamma correction process 2240. This method 2240
'Can optionally normalize the intensity values to the extent that gamma correction is most effective. First, in optional step 2410, a "useful" upper and lower limit is accepted. These boundaries reflect the range of intensity where gamma correction is most effective. When the intensity range is from 0 to 255, for example, the lower boundary may be set to 30 and the upper boundary may be set to 250. At step 2420, the intensity value is accepted.
Then, in optional step 2430, the intensity values are normalized to a "useful" range of intensity. This normalization can be performed by simply setting the intensity below the lower limit to the lower limit and clamping the intensity above the upper limit to the upper limit. Alternatively, normalization can be performed by shifting and clamping the intensity. In this alternative technique, assuming an upper limit of 250 and a lower limit of 30, 0 to 255
Is shifted up from 15 to 270 by, for example, 15
The intensity between 5 and 29 is clamped at 30 and the intensity between 251 and 270 is 25
It can be clamped to clamp to zero. In another embodiment, the intensity is scaled and rounded to be within a "useful" range of intensity. In this case, assuming a lower bound of 30 and an upper bound of 250, 256 possible values between 0 and 255 are scaled (and rounded) to 221 possible values between 30 and 250. Become. Of course, other techniques for normalizing the intensity to the "useful" range can also be used. In step 2440, the gamma of device 547 is accepted, and in step 2450, the (normalized) intensity value is adjusted based on the gamma of device 547. Method 2240 'then returns to RETURN node 246.
Exit through 0.

【0152】 (§4.2.2.2.3 カラーパレット選択) ディスプレイデバイスは一般に利用可能なカラーのパレットを有する。したが
って、カラーフィルタ処理し、ガンマ補正した赤−緑−青強度値トリプレットは
、ディスプレイデバイス547の最も近いカラーにマップされる。
(§4.2.2.2.3 Color Palette Selection) The display device has a generally available color palette. Thus, the color-filtered and gamma-corrected red-green-blue intensity value triplet is mapped to the closest color of the display device 547.

【0153】 前述のように、ディスプレイデバイス724′を使用して、使用すべきルック
アップテーブルの組に含まれるルックアップテーブルのうちの1つを選択するこ
とができる。ルックアップテーブルの組の中のルックアップテーブルは、グリフ
をピクセル値に表すために使用される圧縮ピクセル値を変換するために使用され
る。処理されたピクセル値は、例えば8ビットR、G、およびBの光度値などの
形態であり、ディスプレイアダプタ548′および/またはディスプレイデバイ
ス547で使用される。各ルックアップテーブルは、各ポテンシャル圧縮ピクセ
ル値および対応する出力値についての1つのエントリを含む。180個の可能な
圧縮ピクセル値の例示的ケースでは、ルックアップテーブルは180個の圧縮ピ
クセル値と、18Dの対応する処理された(例えば出力)ピクセル値とを含む。
各出力ピクセル値は、出力ピクセル値が対応する圧縮ピクセル値を入力として用
いて、実施されるディスプレイドライバ処理オペレーションを実行することによ
って生成される事前計算値とすることができる。
As described above, the display device 724 'can be used to select one of the lookup tables in the set of lookup tables to be used. The look-up tables in the set of look-up tables are used to convert compressed pixel values used to represent glyphs into pixel values. The processed pixel values are in the form of, for example, 8-bit R, G, and B light intensity values, and are used by display adapter 548 'and / or display device 547. Each look-up table contains one entry for each potential compressed pixel value and corresponding output value. In the exemplary case of 180 possible compressed pixel values, the look-up table includes 180 compressed pixel values and 18D corresponding processed (eg, output) pixel values.
Each output pixel value can be a pre-computed value generated by performing a display driver processing operation performed using the compressed pixel value to which the output pixel value corresponds as input.

【0154】 グリフを表す圧縮ピクセル値を、ルックアップテーブル中のインデックスとし
て用いることにより、装着されるディスプレイアダプタまたはディスプレイデバ
イスによって使用される形態の、R、G、およびBの光度値を含む1組の処理さ
れたピクセル値が得られる。
A set containing R, G, and B light intensity values in the form used by the attached display adapter or display device by using the compressed pixel values representing the glyphs as indices in a look-up table. Is obtained.

【0155】 ルックアップテーブル中に含まれる処理されたピクセルは、事前計算されたも
のとすることができる。すなわち、ディスプレイドライバ732で使用する前に
計算することができる。処理されるピクセル値を事前計算することによって、イ
メージレンダリング中のリアルタイムのガンマ補正、カラー補償、および/また
はパレット選択オペレーションが回避される。
The processed pixels included in the look-up table may have been pre-calculated. That is, it can be calculated before it is used by the display driver 732. By pre-computing the pixel values to be processed, real-time gamma correction, color compensation, and / or palette selection operations during image rendering are avoided.

【0156】 ピクセル値ルックアップテーブル手法の代替方法も使用することができる。ガ
ンマ補正、カラー補償、および/またはパレット選択オペレーションは、圧縮ピ
クセル値を入力として用いて実行し、ディスプレイアダプタ548′および/ま
たはディスプレイ547で使用するのに適したフォーマットで、処理されたピク
セル値を生成することができる。
An alternative to the pixel value look-up table approach can also be used. Gamma correction, color compensation, and / or palette selection operations are performed using the compressed pixel values as input, and processing the processed pixel values in a format suitable for use with display adapter 548 'and / or display 547. Can be generated.

【0157】 (§4.2.2.3 ディスプレイアダプタ) 従来のディスプレイアダプタ548′は、ビデオグラムをバッファし、ディス
プレイデバイス547に出力する目的でビデオフレームを適合させるために、従
来の方式で動作することができる。
(§4.2.2.3 Display Adapter) A conventional display adapter 548 ′ operates in a conventional manner to buffer videograms and adapt video frames for output to a display device 547. can do.

【0158】 (§4.3 結論) 以上の説明に鑑みて、本発明は、例えばRGB LCDなどのサブピクセル要
素を有するディスプレイデバイス、特に、水平ストライピングを有するディスプ
レイデバイス上にレンダリングされるテキストの解像度を向上するための技法を
開示した。
(§4.3 Conclusion) In view of the above description, the present invention provides a resolution of text rendered on a display device having sub-pixel elements, such as an RGB LCD, in particular, a display device having horizontal striping. A technique for improving is disclosed.

【0159】 本発明は、文字アウトライン情報(左サイドベアリング、アドバンス幅、垂直
文字サイズ1など)に関連するメトリックを適切に調整するための技法を開示し
た。本発明は、ベースラインの「ジャンピング」または「バウンシング」を防止
するための技法も開示した。
The present invention has disclosed techniques for appropriately adjusting the metrics associated with character outline information (left side bearing, advance width, vertical character size 1, etc.). The present invention also disclosed techniques for preventing "jumping" or "bouncing" of the baseline.

【0160】 本発明は、赤、緑、および青の光度値を圧縮するための技法も開示した。The present invention also disclosed techniques for compressing red, green, and blue intensity values.

【0161】 本発明は、隣接するサブピクセル要素の差が普通なら見にくくなるときに、カ
ラー値を選択的にフィルタ処理するための技法も開示した。
The present invention also disclosed a technique for selectively filtering color values when differences between adjacent sub-pixel elements would otherwise be difficult to see.

【0162】 最後に、本発明は、ディスプレイデバイスのガンマを考慮し、かつサブピクセ
ル要素の強度値がガンマ補正が最も有用となる強度の範囲内にあるように、ピク
セルのガンマを補正するための技法を開示した。
Finally, the present invention takes into account the gamma of the display device and for correcting the gamma of the pixel such that the intensity values of the sub-pixel elements are in the range of the intensity where the gamma correction is most useful. Techniques have been disclosed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 水平ストライピングを有するLCDディスプレイのサブピクセル要素の周知の
配列を示す図である。
FIG. 1 shows a known arrangement of sub-pixel elements of an LCD display with horizontal striping.

【図2】 図1の部分をより詳細に示す図である。FIG. 2 is a diagram showing the portion of FIG. 1 in more detail;

【図3】 周知のイメージサンプリングオペレーションを示す図である。FIG. 3 illustrates a known image sampling operation.

【図4】 文字情報を表す周知の方式を示す図である。FIG. 4 is a diagram showing a known method of representing character information.

【図5A】 本発明の少なくともいくつかの態様を実施するために使用することができるコ
ンピュータシステムのブロックダイアグラムである。
FIG. 5A is a block diagram of a computer system that can be used to implement at least some aspects of the present invention.

【図5B】 本発明の少なくともいくつかの態様を実施するために使用することができるマ
シンの高レベルブロックダイアグラムである。
FIG. 5B is a high-level block diagram of a machine that can be used to implement at least some aspects of the present invention.

【図6】 本発明をそれと共に使用することができるイメージサンプリング技法を示す図
である。
FIG. 6 illustrates an image sampling technique with which the present invention can be used.

【図7】 本発明の少なくともいくつかの態様を動作させることができる環境の高レベル
プロセスのダイアグラムである。
FIG. 7 is a high level process diagram of an environment in which at least some aspects of the present invention can operate.

【図8】 本発明の少なくともいくつかの態様を動作させることができる環境のグラフィ
ックディスプレイインターフェースプロセスのダイアグラムである。
FIG. 8 is a diagram of a graphic display interface process of an environment in which at least some aspects of the present invention can operate.

【図9】 本発明のいくつかの態様を説明する際に使用される活版印刷の用語を示す図で
ある。
FIG. 9 illustrates letterpress printing terms used in describing some aspects of the present invention.

【図10】 オーバスケーリングまたはオーバサンプリングプロセスを実施するための第1
方法の高レベル流れ図である。
FIG. 10 shows a first for performing an overscaling or oversampling process.
3 is a high-level flowchart of the method.

【図11】 図10に示す方法の動作を示す例である。11 is an example showing the operation of the method shown in FIG.

【図12】 オーバスケーリングまたはオーバサンプリングプロセスを実施するための第2
方法の高レベル流れ図である。
FIG. 12 illustrates a second method for performing an overscaling or oversampling process.
3 is a high-level flowchart of the method.

【図13】 図12に示す方法の動作を示す例である。13 is an example showing the operation of the method shown in FIG.

【図14】 ヒンティングプロセスを実施するための高レベル流れ図である。FIG. 14 is a high-level flowchart for performing a hinting process.

【図15A】 図14のヒンティング方法の動作を示す例である。FIG. 15A is an example showing the operation of the hinting method of FIG. 14;

【図15B】 図14のヒンティング方法の動作を示す例である。FIG. 15B is an example showing the operation of the hinting method of FIG. 14;

【図16】 走査変換プロセスを実施するための第1方法の高レベル流れ図である。FIG. 16 is a high level flowchart of a first method for performing a scan conversion process.

【図17】 走査変換プロセスを実施するための第2方法の高レベル流れ図である。FIG. 17 is a high-level flowchart of a second method for performing a scan conversion process.

【図18A】 図16および図17の走査変換方法でのゼロ埋込みステップの有用性を示す図
である。
FIG. 18A illustrates the usefulness of the zero padding step in the scan conversion methods of FIGS. 16 and 17.

【図18B】 図16および図17の走査変換方法でのゼロ埋込みステップの有用性を示す図
である。
FIG. 18B illustrates the usefulness of the zero padding step in the scan conversion methods of FIGS. 16 and 17.

【図19】 例示的走査変換プロセスを示す例である。FIG. 19 is an example illustrating an exemplary scan conversion process.

【図20A】 走査変換ソースサンプル(または、より一般には情報)の格納および検索を示
す図である。
FIG. 20A illustrates storage and retrieval of scan conversion source samples (or, more generally, information).

【図20B】 走査変換ソースサンプル(または、より一般には情報)の格納および検索を示
す図である。
FIG. 20B illustrates storage and retrieval of scan conversion source samples (or, more generally, information).

【図21】 グリフ情報をグリフキャッシュ中に格納するために使用することができる例示
的データ構造である。
FIG. 21 is an exemplary data structure that can be used to store glyph information in a glyph cache.

【図22】 ディスプレイドライバ管理プロセスを実施するための例示的方法の高レベル流
れ図である。
FIG. 22 is a high-level flowchart of an exemplary method for performing a display driver management process.

【図23】 カラー補償(またはカラーフィルタ処理)プロセスを実施するための例示的方
法の高レベル流れ図である。
FIG. 23 is a high-level flowchart of an exemplary method for implementing a color compensation (or color filtering) process.

【図24】 ガンマ補正方法を実施するための例示的方法の高レベル流れ図である。FIG. 24 is a high level flowchart of an exemplary method for implementing a gamma correction method.

───────────────────────────────────────────────────── フロントページの続き (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 【要約の続き】 るときに、選択的にフィルタ処理することができる。最 後に、ディスプレイデバイスのガンマが考慮されて、サ ブピクセル要素の強度値がガンマ補正がより有用である 強度の範囲内となるように、ピクセル値のガンマを補正 することができる。──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, 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, CZ, DE, DK, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS , JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, UZ, VN, YU, ZW (72) Inventor Leroy B. Keely Jr. United States 94028 Portra Valley, California Gabada Way 210 (72) Gregory Sea. Hitchcock United States 98072-9236 Woodinville, Washington Northeast 159 Avenue 17828 (72) Inventor Ryan E. Kukiahman United States 98052 Redmond, Washington 156 Avenue North East 4850 Apartment 72 F-term (Reference) 5B080 FA00 FA02 FA05 GA00 5C080 AA10 BB05 CC03 DD01 DD07 EE01 EE29 EE30 JJ01 JJ02 JJ07 [Continued when filtering] can do. Finally, the gamma of the pixel value can be corrected so that the gamma of the display device is taken into account and the intensity values of the sub-pixel elements fall within the range of intensities for which gamma correction is more useful.

Claims (24)

【特許請求の範囲】[Claims] 【請求項1】 水平方向にストライプされたサブピクセル要素を有するディ
スプレイデバイス上にレンダリングすべきテキストの解像度を向上するための方
法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は、前記第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)文字情報およびディスプレイデバイス解像度情報を受諾するサブステップ
と、 ii)解像度向上オーバスケーリング因子を受諾するサブステップと、 iii)ディスプレイデバイス解像度情報および解像度向上オーバスケーリン
グ因子に基づいて文字情報をスケーリングするサブステップとを含むことを特徴
とする方法。
1. A method for improving the resolution of text to be rendered on a display device having horizontally striped sub-pixel elements, comprising: a) determining the intensity value of a first sub-pixel element of a pixel Determining based on second information; and b) determining a luminosity value of a second sub-pixel element of the pixel based on second information, wherein the second information is determined from the first information. Determining the luminosity value of a first sub-pixel element of the pixel; and determining the luminosity value of a second sub-pixel element of the pixel, i) accepting textual information and display device resolution information Ii) accepting a resolution enhancement overscaling factor; and iii) displaying. Method characterized by including the sub-steps of scaling the character information based on the device resolution information and resolution enhancement over scaling factor.
【請求項2】 前記ピクセルの第1サブピクセル要素の光度値を決定するス
テップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップの
各々が、ポイントサイズを受諾するサブステップをさらに具え、 文字情報をスケーリングするサブステップは、さらにポイントサイズに基づく
ことを特徴とする請求項1記載の方法。
2. The method of claim 1, further comprising: determining a light intensity value of a first sub-pixel element of the pixel; and determining a light intensity value of a second sub-pixel element of the pixel, the sub-step of accepting a point size. The method of claim 1, wherein the sub-step of scaling textual information is further based on point size.
【請求項3】 前記文字情報は垂直方向および水平方向を定義し、 前記文字情報をスケーリングするサブステップにおいて、該文字情報が、水平
方向よりも垂直方向に大きくスケーリングされることを特徴とする請求項1記載
の方法。
3. The character information defines a vertical direction and a horizontal direction, and in the sub-step of scaling the character information, the character information is scaled to be larger in the vertical direction than in the horizontal direction. Item 7. The method according to Item 1.
【請求項4】 前記解像度向上オーバスケーリング因子は、少なくとも3で
あることを特徴とする請求項1記載の方法。
4. The method of claim 1, wherein said resolution enhancing overscaling factor is at least three.
【請求項5】 前記ピクセルの第1サブピクセル要素の光度値を決定するス
テップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップの
各々は、 前記文字情報をスケーリングするサブステップの前に行われる、前記文字情報
を回転させるサブステップをさらに含むことを特徴とする請求項1記載の方法。
5. The method of claim 1, further comprising: determining a light intensity value of a first sub-pixel element of the pixel; and determining a light intensity value of a second sub-pixel element of the pixel. The method of claim 1, further comprising the sub-step of rotating the character information, which is performed before.
【請求項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つの他の走査変換ソースサンプ
ルを含むサブステップとを含むことを特徴とする方法。
6. A method for improving the resolution of text to be rendered on a display device having horizontally striped sub-pixel elements, comprising: a) determining the intensity value of the first sub-pixel element of the pixel Determining based on second information, and b) determining a luminosity value of a second subpixel element of the pixel based on second information, wherein the second information is displaced from the first information. Determining the luminosity value of a first sub-pixel element of the pixel; and determining the luminosity value of a second sub-pixel element of the pixel, each comprising: i) (a) scanning conversion source samples. An oversampled and scaled character bitmap consisting of: Accepting one of the mapped character bitmaps; ii) accepting the overscaled glyph metric; and iii) determining the expected size glyph metric from the overscaled glyph metric. Iv) determining a luminosity value of a first sub-pixel element of a pixel from the first information, wherein the first information includes at least one scan conversion source sample; v) determining a light intensity value of a second sub-pixel element of the pixel from the second information, wherein the second information includes at least one other scan conversion source sample. And how.
【請求項7】 前記第1情報は走査変換ソースサンプルの第1グループを含
み、前記第2情報は走査変換ソースサンプルの第2グループを含み、 前記走査変換ソースサンプルの第1グループは、走査変換ソースサンプルの第
2グループから変位することを特徴とする請求項6記載の方法。
7. The first information comprises a first group of scan conversion source samples, the second information comprises a second group of scan conversion source samples, and the first group of scan conversion source samples comprises a scan conversion source sample. 7. The method of claim 6, wherein the method is displaced from a second group of source samples.
【請求項8】 前記第1グループの走査変換ソースサンプルのうちの少なく
とも1つは、第2グループにも属することを特徴とする請求項7記載の方法。
8. The method of claim 7, wherein at least one of the first group of scan conversion source samples also belongs to a second group.
【請求項9】 前記第1グループの走査変換ソースサンプルのうちの1つは
、前記第2グループの走査変換ソースサンプルのうちの1つに隣接し、 前記第1グループおよび前記第2グループは、共通の走査変換ソースサンプル
を含まないことを特徴とする請求項7記載の方法。
9. One of the first group of scan conversion source samples is adjacent to one of the second group of scan conversion source samples, and the first group and the second group are: The method of claim 7, wherein no common scan conversion source samples are included.
【請求項10】 前記グリフメトリックは左サイドベアリング垂直構成要素
を含み、 前記オーバスケーリングされたグリフメトリックから、予想されるサイズのグ
リフメトリックを決定するサブステップは、オーバスケーリング因子で除算され
る、オーバスケーリングされた左サイドベアリング垂直構成要素のシーリングを
決定することを含むことを特徴とする請求項6記載の方法。
10. The glyph metric includes a left side bearing vertical component, and the sub-step of determining an expected size glyph metric from the over-scaled glyph metric is divided by an over-scaling factor. The method of claim 6, including determining a ceiling of the scaled left side bearing vertical component.
【請求項11】 前記グリフメトリックがアセントおよびディーセントを含
み、 前記オーバスケーリングされたグリフメトリックから、予想されるサイズのグ
リフメトリックを決定するサブステップは、(i)オーバスケーリング因子で除
算される、オーバスケーリングされたアセントのシーリングと、(ii)オーバ
スケーリング因子で除算される、オーバスケーリングされたディーセントのシー
リングの絶対値との和を取ることによってグリフサイズを決定することを含むこ
とを特徴とする請求項6記載の方法。
11. The glyph metric includes ascent and decent, and from the overscaled glyph metric, determining a glyph metric of an expected size comprises: (i) dividing by an overscaling factor. Determining a glyph size by taking the sum of the overscaled ascent ceiling and (ii) the absolute value of the overscaled decent ceiling divided by the overscaling factor. 7. The method of claim 6, wherein
【請求項12】 水平方向にストライプされたサブピクセル要素を有するデ
ィスプレイデバイス上にレンダリングすべきテキストの解像度を向上するための
方法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップとを具え、 ここで、前記第2情報は、前記第1情報から変位し、 前記ピクセルの第1サブピクセル要素の光度値を決定するステップと、前記ピ
クセルの第2サブピクセル要素の光度値を決定するステップの各々は、 i)文字情報およびディスプレイデバイス解像度情報を受諾するサブステップ
と、 ii)解像度向上オーバスケーリング因子を受諾するサブステップと、 iii)ディスプレイデバイス解像度情報に基づいて文字情報をスケーリング
し、スケーリングされた文字情報を生成するサブステップと、 iv)解像度向上オーバスケーリング因子に基づいてスケーリングされた文字
情報をオーバサンプリングするサブステップとを含むことを特徴とする方法。
12. A method for improving the resolution of text to be rendered on a display device having horizontally striped sub-pixel elements, comprising: a) determining the intensity value of the first sub-pixel element of the pixel Determining based on second information; and b) determining a luminosity value of a second sub-pixel element of the pixel based on second information, wherein the second information is determined from the first information. Determining the luminosity value of a first sub-pixel element of the pixel; and determining the luminosity value of a second sub-pixel element of the pixel, i) accepting textual information and display device resolution information Ii) accepting a resolution enhancement overscaling factor; and iii) displaying. Scaling the character information based on the device resolution information to generate scaled character information; and iv) oversampling the scaled character information based on a resolution enhancement overscaling factor. Features method.
【請求項13】 前記ピクセルの第1サブピクセル要素の光度値を決定する
ステップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップ
の各々は、ポイントサイズを受諾するサブステップをさらに含み、 前記文字情報をスケーリングするサブステップは、さらにポイントサイズに基
づくことを特徴とする請求項12記載の方法。
13. The step of determining a light intensity value of a first sub-pixel element of the pixel and the step of determining a light intensity value of a second sub-pixel element of the pixel further include a sub-step of accepting a point size. The method of claim 12, wherein the sub-step of scaling textual information is further based on a point size.
【請求項14】 前記文字情報は垂直方向および水平方向を定義し、 前記文字情報をスケーリングするサブステップにおいて、該文字情報は、水平
方向よりも垂直方向に大きくサンプリングされることを特徴とする請求項12記
載の方法。
14. The method of claim 14, wherein the character information defines a vertical direction and a horizontal direction, and in the sub-step of scaling the character information, the character information is sampled larger in the vertical direction than in the horizontal direction. Item 13. The method according to Item 12.
【請求項15】 前記解像度向上オーバスケーリング因子は、少なくとも3
であることを特徴とする請求項12記載の方法。
15. The resolution enhancing overscaling factor may be at least 3
13. The method according to claim 12, wherein
【請求項16】 前記ピクセルの第1サブピクセル要素の光度値を決定する
ステップと、前記ピクセルの第2サブピクセル要素の光度値を決定するステップ
の各々は、 前記文字情報をスケーリングするサブステップの前に行われる、該文字情報を
回転させるサブステップをさらに含むことを特徴とする請求項12記載の方法。
16. The method of claim 1, further comprising: determining a light intensity value of a first sub-pixel element of the pixel; and determining a light intensity value of a second sub-pixel element of the pixel. 13. The method according to claim 12, further comprising the sub-step of rotating the character information performed before.
【請求項17】 水平方向にストライプされたサブピクセル要素を有するデ
ィスプレイデバイス上にレンダリングすべきテキストの解像度を向上するための
方法であって、 a)ピクセルの第1サブピクセル要素の光度値を第1情報に基づいて決定する
ステップと、 b)ピクセルの第2サブピクセル要素の光度値を第2情報に基づいて決定する
ステップと、 c)各サブピクセル要素についての光度値を、 i)強度値の有用な範囲を定義する上限強度値および下限強度値を受諾し、 ii)サブピクセル要素の光度値を強度値の有用な強度に基づいて正規化して
、正規化光度値を生成し、 iii)ディスプレイデバイスのガンマを受諾し、 iv)サブピクセル要素の正規化光度値をガンマに基づいて調整することによ
って、ディスプレイデバイスのガンマに基づいて調整するステップと を具えたことを特徴とする方法。
17. A method for improving the resolution of text to be rendered on a display device having horizontally striped sub-pixel elements, comprising: a) determining the intensity value of the first sub-pixel element of the pixel 1) determining based on the information; b) determining a light intensity value of a second sub-pixel element of the pixel based on the second information; c) determining a light intensity value for each sub-pixel element; Ii) normalizing the intensity values of the sub-pixel elements based on the useful intensities of the intensity values to produce a normalized intensity value; iii) Accepting the gamma of the display device; iv) adjusting the normalized luminosity value of the sub-pixel element based on the gamma, Wherein the equipped and adjusting based on the gamma.
【請求項18】 前記サブピクセル要素の光度値を正規化するサブステップ
は、正規化光度値の各々が強度値の有用な範囲内となるように、サブピクセル要
素の光度値をクランピングするステップを含むことを特徴とする請求項17記載
の方法。
18. The method of claim 1, wherein the step of normalizing the intensity values of the sub-pixel elements comprises: clamping the intensity values of the sub-pixel elements such that each of the normalized intensity values is within a useful range of intensity values. 18. The method according to claim 17, comprising:
【請求項19】 前記サブピクセル要素の光度値を正規化するサブステップ
は、 a)前記サブピクセル要素の光度値をシフトして、シフトされた光度値を生成
するステップと、 b)前記シフトされた光度値を、それぞれの正規化光度値が強度値の有用な範
囲内となるようにクランピングするステップとを含むことを特徴とする請求項1
7記載の方法。
19. The sub-step of normalizing the luminosity value of the sub-pixel element, comprising: a) shifting the luminosity value of the sub-pixel element to generate a shifted luminosity value; and b) the shifted luminosity value. Clamping the resulting luminosity values such that each normalized luminosity value is within a useful range of intensity values.
7. The method according to 7.
【請求項20】 前記サブピクセル要素の光度値を正規化するサブステップ
が、正規化光度値が強度の有用な範囲内となるように光度値をスケーリングする
ステップを含むことを特徴とする請求項17記載の方法。
20. The method of claim 20, wherein the sub-step of normalizing the light intensity value of the sub-pixel element comprises scaling the light intensity value such that the normalized light intensity value is within a useful range of intensities. The method of claim 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つの他の走査変換ソースサンプルを
含むサブステップとを含むことを特徴とする方法。
21. A method for improving the resolution of text to be rendered on a display device having horizontally striped sub-pixel elements, comprising: a) determining the intensity value of a first sub-pixel element of a pixel to a second one; Determining based on the second information, and b) determining the luminous intensity value of the second sub-pixel element of the pixel based on the second information, wherein the second information is displaced from the first information. Determining the luminosity value of a first sub-pixel element of the pixel; and determining the luminosity value of a second sub-pixel element of the pixel, each comprising: i) (a) scanning conversion source samples. An oversampled and scaled character bitmap consisting of: Accepting one of the scaled character bitmaps; and ii) accepting an overscaled metric, wherein the overscaled character bitmap defines a vertical distance away from the baseline of the character. Iii) substeps of determining the expected size integer and remainder values from the overscaled metric by dividing the overscaled metric by an oversampling factor; and iv) a non-zero remainder value. If accepts some scan conversion source samples that exceed the vertically overscaled character bitmap, but ignores its value; and v) the luminosity of the first subpixel element of the pixel from the first information Sub-step to determine the value Wherein the first information comprises at least one scan conversion source sample; and vi) determining a light intensity value of a second subpixel element of the pixel from the second information, wherein the second information comprises at least one. Including one of the other scan conversion source samples.
【請求項22】 垂直方向にオーバスケーリングされた文字ビットマップを
超え、無視すべき値を有する、受諾すべき走査変換ソースサンプルの数は、前記
オーバスケーリング因子に等しく、前記剰余値未満であることを特徴とする請求
項21記載の方法。
22. The number of scan conversion source samples to be accepted that exceed the vertically overscaled character bitmap and have a value to ignore is equal to the overscaling factor and less than the remainder value. The method according to claim 21, characterized in that:
【請求項23】 前記オーバスケーリングされたメトリックは、オーバスケ
ーリングされたアセント値を有することを特徴とする請求項21記載の方法。
23. The method of claim 21, wherein the overscaled metric has an overscaled ascent value.
【請求項24】 前記オーバスケーリングされたメトリックは、オーバスケ
ーリングされたディーセント値を有することを特徴とする請求項21記載の方法
24. The method of claim 21, wherein the overscaled metric has an overscaled decent value.
JP2000615962A 1999-04-29 2000-04-28 Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text Withdrawn JP2002543473A (en)

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 (en) 2002-12-17

Family

ID=23165397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000615962A Withdrawn JP2002543473A (en) 1999-04-29 2000-04-28 Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text

Country Status (4)

Country Link
EP (1) EP1203345A4 (en)
JP (1) JP2002543473A (en)
AU (1) AU4501700A (en)
WO (1) WO2000067196A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006070603A1 (en) * 2004-12-27 2006-07-06 Sharp Kabushiki Kaisha Display panel driving device, methods of driving display unit and display panel provided with it, and program, recording medium
CN102254504A (en) * 2010-05-20 2011-11-23 乐金显示有限公司 Image processing method and display device using the same
US8223167B2 (en) 2007-01-31 2012-07-17 Hitachi, Ltd. Image processing apparatus and image displaying device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001009873A1 (en) 1999-07-30 2001-02-08 Microsoft Corporation Rendering sub-pixel precision characters having widths compatible with pixel precision characters
US8022969B2 (en) * 2001-05-09 2011-09-20 Samsung Electronics Co., Ltd. Rotatable display with sub-pixel rendering
WO2002089105A2 (en) 2001-05-02 2002-11-07 Bitstream, Inc. Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images
US7219309B2 (en) 2001-05-02 2007-05-15 Bitstream Inc. Innovations for the display of web pages
US7184066B2 (en) 2001-05-09 2007-02-27 Clairvoyante, Inc Methods and systems for sub-pixel rendering with adaptive filtering
US7123277B2 (en) * 2001-05-09 2006-10-17 Clairvoyante, Inc. Conversion of a sub-pixel format data to another sub-pixel data format
US7221381B2 (en) * 2001-05-09 2007-05-22 Clairvoyante, Inc Methods and systems for sub-pixel rendering with gamma adjustment
JP2003302962A (en) * 2002-04-08 2003-10-24 Sharp Corp Display device, character and graphic display method, character and graphic display program, and readable recording medium
GB2552338B (en) 2016-07-19 2020-06-24 Ge Aviat Systems Ltd Display of intensity profile discs
KR102185668B1 (en) * 2019-01-30 2020-12-02 스노우 주식회사 Method and system for improving compression ratio through pixel conversion of image file

Family Cites Families (4)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006070603A1 (en) * 2004-12-27 2006-07-06 Sharp Kabushiki Kaisha Display panel driving device, methods of driving display unit and display panel provided with it, and program, recording medium
US8223167B2 (en) 2007-01-31 2012-07-17 Hitachi, Ltd. Image processing apparatus and image displaying device
CN102254504A (en) * 2010-05-20 2011-11-23 乐金显示有限公司 Image processing method and display device using the same

Also Published As

Publication number Publication date
EP1203345A4 (en) 2004-04-14
AU4501700A (en) 2000-11-17
WO2000067196B1 (en) 2000-12-21
WO2000067196A1 (en) 2000-11-09
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
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 (en) Display character positioning method and apparatus
JP4358472B2 (en) Method and system for asymmetric supersampling rasterization of image data
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 (en) Font rendering method using gray scale processing of grid fitted font
JP2002543473A (en) Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text
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 (en) High-quality character display device, and gradation display method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703