説明

ストライプ形ディスプレイ装置上の画素サブコンポーネントへの画像データ・サンプルのマッピング

【課題】全画素ではなく多数の画素サブコンポーネントの各々上の画像の異なった部分を表現することによって画像の解像度を改良する。
【解決手段】画素サブコンポーネント632,633,634は、個々のカラーの水平または垂直のストライプを形成するよう配列する。個々のRGB画素サブコンポーネントの別々に制御可能な性質を用いて、垂直なディメンジョンにおいてスクリーンの解像度を実効的に増大する。動作変換プロセスは、画像データ620のサンプル622,623,624を個々の画素サブコンポーネントに対してマッピングし、画像の異なる部分を表す各画素サブコンポーネントをもたらす。全体の画素に対するカラー値が単一のサンプルまたは画像の同じ部分に基づいて発生されるよりむしろ、カラー値は、赤、緑および青の画素サブコンポーネントの各々に対して、画像620の異なる部分に基づいて独立に発生される。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、1998年10月7日出願の“テキストのような画像を表示するための方法および装置(Method and Apparatus for Displaying Images such as Text)”と題する米国特許出願09/168,012の継続出願であり、また、1999年1月29日出願の“画像のレンダリングおよびラスタ化処理を実行する方法および装置(Method and Apparatus for Performing Image Rendering and Rasterization Operations)”と題する米国特許出願09/240,654の継続出願でもあり、これら両出願は、言及により本文に含めるものとする。
【0002】
本発明は、画像表示方法および装置に関し、更に特定すれば、全画素ではなく多数の画素サブコンポーネントの各々上の画像の異なった部分を表現することによって画像を表示する方法および装置に関する。
【背景技術】
【0003】
カラー・ディスプレイ装置は、殆どのコンピュータ・ユーザが選択する主要なディスプレイ装置となっている。モニタ上でカラー表示を行なうには、通常、ディスプレイ装置を動作させて、光、例えば、赤、緑、および青の光の組み合わせを射出し、人の目が認知する1つ以上のカラーが得られるようにする。
【0004】
陰極線管(CRT)ディスプレイ装置では、異なる色の光を発生するには、発光体コーティングを用い、これらをCRT画面上に一連のドットとして被着することができる。通常、3つのカラー、赤、緑、および青の各々を発生するには、異なる発光体コーティングを用い、発光体ドットの繰り返しシーケンスを形成する。これらが電子ビームによって励起されると、赤、緑および青のカラーを発生する。
【0005】
画素という用語は、例えば、数千ものスポットから成る矩形格子における1つのスポットを意味するために、一般に用いられている。スポットは、コンピュータがディスプレイ装置上に画像を形成するために個別に用いられる。赤、緑および青の発光体ドットの単一トライアッド(triad)をアドレスすることができないカラーCRTでは、可能な限り最も小さい画素サイズは、発光体を励起するために用いる電子銃の焦点、位置合わせおよび帯域幅によって決まる。CRTディスプレイには公知の種々の構成では、赤、緑および青の蛍光体ドットの1つ以上のトライアッドから射出される光を共に配合することにより、ある距離において単一のカラー光源の外観を与えるようにする場合が多い。
【0006】
カラー・ディスプレイでは、加色混合三原色、赤、緑および青に対応して発光する光の強度を変化させて、殆ど全ての所望のカラー画素の外観を得ることができる。色を加えない場合、即ち、発光しない場合、黒い画素を生成する。3つのカラー全てを100パーセントで加えると、白になる。
【0007】
図1は、ハウジング101、ディスク・ドライブ105、キーボード104およびフラットパネル・ディスプレイ102から成る、公知の携帯用(ポータブル)コンピュータ100を示す。
【0008】
携帯用パーソナル・コンピュータ100は、CRTディスプレイではなく、液晶ディスプレイ(LCD)またはその他のフラットディスプレイ装置102を用いる場合が多い。これは、フラットパネル・ディスプレイが、CRTディスプレイと比較して、小型で軽量である場合が多いからである。加えて、フラットパネル・ディスプレイは、多くの場合、同程度の大きさのCRTディスプレイよりも消費電力が少なくて済むので、CRTディスプレイよりも、バッテリ給電で用いるには適している。
【0009】
フラット・パネル・カラー・ディスプレイの品質が向上しつづけ、しかもその価格が低下するに連れて、フラットパネル・ディスプレイは、デスクトップ用途において、CRTディスプレイにとって代わり始めている。したがって、フラットパネル・ディスプレイ、特にLDCは、これまでよりも更に一般化しつつある。
【0010】
長年に渡って、コンピュータ・スクリーン上における、フォント、例えば、文字集合の発生および表示を含む、殆どの画像処理技術が開発され、CRTディスプレイ装置上の表示に対して最適化されてきた。
【0011】
生憎、既存のテキスト表示ルーチンは、フラットパネル・ディスプレイ装置に独特な物理的特性を考慮していない。これらの物理的特性は、CRT装置の特性とは、特にRGBカラー光源の物理的特性に関して、大きく異なる。
【0012】
カラーLCDディスプレイは、ここでは、画素サブエレメントまたは画素サブコンポーネントと呼ぶ、多数の別個のアドレス可能なエレメントを利用して、表示する画像の各画素を表現するディスプレイ装置の一例である。通常、カラーLCDディスプレイ上の各画素は、単一の画素エレメントによって表現され、大抵の場合、3つの非正方形エレメント、即ち、赤、緑および青(RGB)画素サブコンポーネントから成る。したがって、1組のRGB画素サブコンポーネントが一緒になって、単一の画素エレメントを構成する。公知の種類のLCDディスプレイは、一連のRGB画素サブコンポーネントを備え、一般に、ディスプレイに沿ってストライプを形成するように構成されている。RGBストライプは、通常、一方向においてディスプレイの全長に及んでいる。得られるRGBストライプのことを、「RGBストライピング」とも呼ぶこともある。コンピュータ用途に用いられる一般的なLCDモニタは、縦よりも横に広く、RGBストライプが縦方向に延びている場合が多い。
【0013】
図2Aは、ディスプレイ102として用いることができる、複数の行(R1〜R12)および列(C1〜C16)から成る公知のLCD画面200を示す。各行/列の交差部が、1つの画素エレメントを表す正方形を形成する。図2Bは、公知のディスプレイ200の左上部分を更に詳しく示す。
【0014】
尚、図2Bでは、各画素エレメント、例えば、(R1,C4)画素エレメントが、3つの別個のサブエレメント即ちサブコンポーネント、赤サブコンポーネント206、緑サブコンポーネント207および青サブコンポーネント208から成ることを注記しておく。公知の各サブコンポーネント206、207、208は、画素の幅の1/3または約1/3であり、一方その高さは、画素の高さと等しいかほぼ等しい。したがって、組み合わせると、3つの1/3幅の画素サブコンポーネント206、207、208が単一の画素エレメントを形成する。
【0015】
図2Aに示すように、RGB画素サブコンポーネント026、207、208の1つの公知の構成では、ディスプレイ200の下に向かう垂直なカラー・ストライプとして現れるものを形成する。したがって、図2Aおよび図2Bに示す公知の形態では、1/3幅のカラー・サブコンポーネント206、207、208の配列を「縦型ストライピング」と呼ぶこともできる。
【0016】
図示の目的上図2Aに示すのは12行および16列のみであるが、一般的な列×行の比は、例えば、640×480、800×600、および1024×768を含む。尚、公知のディスプレイ装置は、通常、ランドスケープ状に配置したディスプレイ、即ち、図2Aに示すように、縦よりも横の方が広く、ストライプが縦方向に走るモニタとなっている。
【0017】
LCDを製造する際、画素のサブコンポーネントをいくつかの追加パターンに配列する。これらのパターンには、例えば、ジグザグ・パターン、およびカムコーダのビュー・ファインダでは一般的な、デルタ・パターンが含まれる。本発明の特徴は、このような画素サブコンポーネント配列と共に用いることができるが、RGBストライピング構成の方が一般的であるので、本発明の例示の実施形態は、RGBストライプ・ディスプレイに関連して説明することとする。
【0018】
従来より、1つの画素エレメントに対する各画素サブコンポーネント集合は、単一の画素単位として扱われている。したがって、公知のシステムでは、画素エレメントの全画素サブコンポーネントに対する光度値は、画像の同じ部分から発生する。例えば、図2Cに示す格子220によって表現する画像について考える。図2Cでは、各正方形は、単一の画素エレメント、例えば、格子230の対応する正方形の赤、緑および青画素サブコンポーネントによって表現する画像のエリアを表す。図2Cでは、斜線を付けた円を用いて、光度値を発生する単一の画像サンプルを表している。尚、公知のシステムでは、画像220の単一サンプル22をどのように用いて、赤、緑、および青画素サブコンポーネント232、233、234の各々に光度値を発生するのかに注目すること。このように、公知のシステムでは、一般に、RGB画素サブコンポーネントを1つのグループとして用い、表現する画像の単一サンプルに対応する単一のカラー画素を発生する。
【0019】
各画素サブコンポーネント・グループからの光は、実際には互いに加算し合って、単一カラーの効果が得られる。その色相、彩度、および強度は、3つの画素サブコンポーネントの各々の値によって決まる。例えば、各画素サブコンポーネントは、0から255までの間の強度を有することができる。3つの画素サブコンポーネント全てに255の強度を与えた場合、目は画素を白として認知する。しかしながら、3つの画素サブコンポーネントの全てに、当該3つの画素サブコンポーネントをオフにする値を与えた場合、目は黒い画素を認知する。各画素サブコンポーネントのそれぞれの強度を変化させることにより、これら2つの極値の間で、何百万ものカラーを発生することが可能となる。
【0020】
公知のシステムでは、単一のサンプルを、各々幅が画素の1/3である3つの画素サブコンポーネントにマッピングするので、左右の画素サブコンポーネントの空間変位が発生する。何故なら、これらのエレメントの中心がサンプルの中心から1/3にあるからである。
【0021】
例えば、表現する画像が赤い立方体であり、緑および青コンポーネントが0に等しい場合を検討する。サンプルおよび緑画像サブコンポーネント間の変位の結果、図2Aに示すタイプのLCDディスプレイ上に表示した場合、ディスプレイ上における立方体の見掛け上の位置は、その実際の位置より1画素の1/3だけ左にずれることになる。同様に、青い立方体は、画素の1/3だけ右に変位して見えることになる。このように、LCDスクリーンに用いる公知のイメージング技術では、望ましくない画像の変位誤差が生ずる可能性がある。
【0022】
テキスト・キャラクタは、一種の画像を表し、1インチ当たり72または96ドット(画素)(dpi)の典型的なフラットパネル・ディスプレイの解像度では、精度高く表示することは特に困難である。このような表示解像度は、殆どのプリンタに対応する600dpiや、書籍や雑誌のように市販の印刷文書において見られる、それよりも更に高い解像度よりも、遥かに劣っている。
【0023】
殆どのビデオディスプレイ装置の表示解像度が比較的低いために、特に、10、12、および14ポイントのフォントといった共通のテキスト・サイズでは、滑らかなキャラクタ形状を描くために十分な画素が得られない。このような共通のテキスト・レンダリング・サイズでは、同じタイプフェースの異なるサイズおよびウェイト(weight)、例えば、厚さの間の諧調は、それらの印刷による同等物よりも遥かに粗雑である。
【0024】
標準的な画素の比較的粗いサイズは、エイリアス効果を生じやすく、表示したタイプ・キャラクタのエッジがぎざぎざになってしまう。例えば、粗いサイズの画素では、タイプフェース・キャラクタを形成するストロークの端部、例えば、底部におけるセリフ、短いラインまたは装飾を正方形に仕切ってしまう(squaring off)場合が多い。このために、セリフを幅広く用いる傾向がある、多くのとても面白いまたは装飾付きのタイプフェースを精度高く表示することが困難となる。
【0025】
このような問題は、特に、キャラクタのステム、例えば、細い垂直部分において顕著である。画素は従来のモニタの最少表示単位であるので、従来の技術を用いて、1画素のステムのウェイト未満で、キャラクタのステムを表示することはできない。更に、ステムのウェイトは、一度に1画素についてのみ、増加できるに過ぎない。したがって、ステムのウェイトは、1ないし2画素の幅で跳んでしまう。多くの場合、1画素幅のキャラクタ・ステムは細すぎ、一方2画素幅のキャラクタ・ステムは太すぎる。小さなキャラクタのタイプフェースをボールドフェースでディスプレイ画面上に作成するには、ステム・ウェイトを1画素から2画素に変更する必要があるので、両者間のウェイトの差は100%となる。印刷では、ボールドは、典型的に、その通常の即ちローマン・フェースの同等物よりも20または30パーセント重いだけに過ぎない。一般に、この「1画素、2画素」問題は、ディスプレイ装置に固有特性として扱われており、単に受け入れざるを得ないこととなっている。
【0026】
従来のキャラクタ表示分野における研究は、部分的に、CRTディスプレイ上におけるキャラクタの表示を改善するために設計されたエリアシング防止技術の開発を中心に進められてきた。一般に用いられるエリアシング防止技術は、キャラクタの縁を含む画素に、グレーの中間調を用いなければならない。実際、これのために、形状ににじみが生じ、縁の空間周波数の低下を招くが、意図するキャラクタ形状の近似は改善する。公知のエリアシング防止技術は、CRTディスプレイ装置上に表示されるキャラクタの品質を格段に改善することができるが、これらの技術の多くは、LCDディスプレイ装置に適用した場合、画素サブコンポーネント配列に関してCRTディスプレイとは著しく相違するため、効果が得られない。
【0027】
エリアシング防止技術は、少なくともCRTディスプレイ上において、テキストを比較的低い解像度で表示する場合に伴うエリアシングの問題には役立ったが、画素サイズの問題、および精度高くキャラクタ・ステム幅を表示することができないという問題は、本発明以前では、ディスプレイ装置の不変の特性であり、耐える以外にないと考えられていた。
【0028】
前述に鑑み、フラットパネル・ディスプレイ装置上にテキストを表示する新規で改良された方法および装置が求められていることは明らかである。その新たな方法の少なくとも一部は、既存のディスプレイ装置およびコンピュータと共に用いるのに適していることが望ましい。また、少なくとも一部の方法および装置は、例えば、テキストを表示する新たなディスプレイ装置および/または新たな方法を用いて、新たなコンピュータ上に表示するテキストの品質向上を目的とすることが望ましい。
【0029】
グラフィクスの特殊な場合であるテキストの表示は、多くのコンピュータ・アプリケーションにおいて主要な関心事であるが、その他のグラフィクス、幾何学的形状、例えば、円、正方形等や、写真のような取り込んだ画像を高精度かつ明確に表示するように改良した方法および装置も求められている。
【発明の概要】
【発明が解決しようとする課題】
【0030】
本発明は、全画素ではなく多数の画素サブコンポーネントの各々上の画像の異なった部分を表現することによって画像を表示する画像表示方法および装置を目的とする。
【課題を解決するための手段】
【0031】
本願の発明者は、光の強度が変化する輝度の縁に対する方が、色の強度が変化するクロミナンスの縁に対するよりも人の目が敏感であるという公知の原理を認識した。これは、例えば、緑の背景上で赤いテキストを読み取ることが非常に難しいことの理由である。また、目は、赤、緑および青の色に対して等しく感応しないという公知の原理も、発明者は認識した。実際、完全に白い画素における100パーセント光度の内、赤い画素サブコンポーネントは、認知される輝度全体に対して約30%、緑は60%、そして青は10%寄与する。
【0032】
本発明の種々の特徴は、ディスプレイの個々の画素サブコンポーネントを独立した光度源として利用することにより、ディスプレイの有効解像度を、RGBストライピングの方向に対して垂直な次元において、3倍もの高さに高めることを目的とする。これによって、視覚可能な解像度の大幅な改良が可能となる。
【0033】
本発明の方法は、公知の表示技術と比較すると、クロミナンスの品質に多少の低下を伴う場合もあるが、前述のように、人間の目は、クロミナンスよりも輝度の縁に対して敏感である。したがって、本発明は、カラー品質に及ぼす本発明の技術の悪影響を考慮してもなお、従来のレンダリング技術に比較して、画像の品質を大幅に改良することができる。
【0034】
前述のように、公知のモニタは垂直ストライピングを用いる場合が多い。キャラクタ・ステムは垂直方向に現れ、水平方向に流れるテキストをレンダリングする場合、垂直ラインの厚さを精度高く制御する能力の方が、水平ラインの厚さを制御する能力よりも重要な場合が多い。
【0035】
これを念頭に入れ、少なくともテキストの用途では、モニタの最大解像度は、垂直方向ではなく、水平方向に有する方が望ましいという場合が多い。したがって、本発明にしたがって実現する種々のディスプレイ装置は、水平ではなく、垂直RGBストライピングを利用する。これによって、このようなモニタは、本発明にしたがって利用すれば、垂直方向よりも水平方向の解像度の方が高くなる。しかしながら、本発明は、水平RGBストライピングのモニタにも同様に適用可能であり、従来の画像レンダリング技術に比較して、垂直方向の解像度を高めることが可能となる。
【0036】
画素サブコンポーネントを独立した光度源として扱う場合に用いて好適な新たなディスプレイ装置に加えて、本発明は、本発明による画素サブコンポーネントの使用を容易にする、新たな改良したテキスト、グラフィクスおよび画像レンダリング技術も目的とする。
【0037】
テキストを含む画像の表示は、スキャン変換を含む、いくつかのステップを伴う。
スキャン変換とは、画像の幾何学的表現をビットマップに変換するプロセスのことである。本発明のスキャン変換動作は、画像の異なる部分を異なる画素サブコンポーネントにマッピングすることを伴う。これは、画像の同じ部分を用いて光度値を判定し、1つの画素を表す3つの画素サブコンポーネントの各々と共に用いる、公知のスキャン変換技術とは全く異なる。
【0038】
本発明のスキャン変換動作は、画像スケーリング、ヒンティング、カラー処理動作を含む他の動作と共に使用することができ、それら他の動作は、画像内の画素サブコンポーネント境界と、フラットパネル・ディスプレイ装置の画素サブコンポーネントの別個に制御可能な性質を考慮に入れるものである。
【0039】
本発明の方法および装置の数多くの追加の特徴、実施形態および利点は、以下の詳細な説明に明記してある。
【図面の簡単な説明】
【0040】
【図1】公知の携帯用コンピュータの図である。
【図2A】公知のLCD画面の図である。
【図2B】図2Aに示す公知の画面の一部を、図2Aの図よりも詳細に示す図である。
【図2C】公知のシステムにおいて実行する画像サンプリング動作を示す図である。
【図3】後続のテキスト発生および表示において用いるために、キャラクタ情報を準備し格納する際に行われる公知のステップを示す図である。
【図4】本発明の一実施形態にしたがってポートレート用の向きに配置したフラットパネル・ディスプレイを備えた電子ブックを示す図である。
【図5】本発明にしたがって実現したコンピュータ・システムを示す図である。
【図6】本発明の実施形態の一例にしたがって実行する画像サンプリングを示す図である。
【図7A】本発明にしたがって実現したカラー・フラット・パネル・ディスプレイ画面を示す図である。
【図7B】図7Aのディスプレイ画面の一部を示す図である。
【図7C】本発明の別の実施形態にしたがって実現したディスプレイ画面を示す図である。
【図8】コンピュータ・システムのディスプレイ上にテキスト画像をレンダリングするために用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す図である。
【図9】本発明の一実施形態にしたがって、テキストにレンダリングを行い表示する方法を示す図である。
【図10】図10Aと図10Bは、本発明の種々の実施形態例にしたがって実行するスケーリング動作を示す図である。
【図11A】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【図11B】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【図12A】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図12B】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図13】図12Aに示した画像データの第1列に適用するスキャン変換プロセスを更に詳細に示す図である。
【図14】本発明の一実施形態にしたがって実行する加重スキャン変換動作を示す図である。
【図15】画素のフィールド上に表示するキャラクタの高解像表現を示す図である。
【図16】公知の技術を用いた場合に、図15のキャラクタがどのように示されるかを示す図である。
【図17】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図18】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図19】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図20】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【発明を実施するための形態】
【0041】
前述のように、本発明は、全画素ではなく多数の画素サブコンポーネントの各々上の画像の異なった部分を表現することによって、ディスプレイ装置上において、画像、例えば、テキストおよび/またはグラフィックスを表示する方法および装置に関する。
【0042】
本発明の種々の方法は、1画素を構成する1組のRGB画素サブコンポーネントを単一の光度単位として扱うのではなく、各画素サブコンポーネントを別個の独立した光度源として用いようとするのである。これによって、RGB水平または垂直ストライピングのディスプレイ装置を、ストライピングの方向に垂直な次元における有効解像度がストライピングの次元よりも3倍まで高いものとして扱うことが可能となる。本発明の種々の装置は、画素サブコンポーネントを個別に制御できることを利用した、ディスプレイ装置および制御装置を目的とする。
A.例示のコンピューティングおよびハードウェア環境
図5および以下の論述は、本発明の少なくとも一部の態様を実現可能な装置例について、端的な全体的説明を与える。本発明の種々の方法は、全体的に、パーソナル・コンピュータのようなコンピュータ・デバイスによって実行する、コンピュータ実行可能命令、例えば、プログラム・モジュールに関連付けて、説明する。本発明の他の態様は、物理的なハードウェア、例えば、ディスプレイ装置コンポーネントおよびディスプレイ画面等に関して説明する。
【0043】
本発明の方法は、ここに記載する特定のコンピュータ・デバイス以外の装置でも実行可能である。プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むことができ、タスク(複数のタスク)を実行したり、あるいは特定の抽象的データ・タイプを実装する。更に、当業者は、本発明の態様の少なくとも一部は、他の構成と共にでも実施可能であることを認めよう。その中には、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサを用いた消費者電子機器またはプログラム可能消費者電子機器、ネットワーク・コンピュータ、ミニコンピュータ、セット・トップ・ボックス、メインフレーム・コンピュータ、例えば、自動車、航空機、工業的用途等に用いるディスプレイを含む。また、本発明の態様の少なくとも一部は、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行する分散型計算機環境においても実施可能である。分散型計算機環境では、ローカルおよび/またはリモートのメモリ記憶装置に、プログラム・モジュールを配置することができる。
【0044】
図5を参照すると、本発明の態様の少なくとも一部を実現する装置の一例500は、汎用計算デバイスを含む。パーソナル・コンピュータ520は、処理ユニット521、システム・メモリ522、ならびにシステム・メモリないし処理ユニット521までを含む種々のシステム・コンポーネントを結合するシステム・バス523を含むことができる。システム・バス523は、いくつかのタイプのバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス・アーキテクチャのいずれかを用いたローカル・バスを含む。システム・メモリは、リード・オンリ・メモリ(ROM)524および/またはランダム・アクセス・メモリ(RAM)525を含むことができる。起動中のように、パーソナル・コンピュータ520内部のエレメント間で情報を転送する役割を担う基本ルーチンを含む基本入出力システム526(BIOS)は、ROM524に格納することができる。また、パーソナル・コンピュータ520は、ハード・ディスク(図示せず)に対する読み書きを行なうハード・ディスク・ドライブ527、磁気ディスク(529(例えば、リムーバブル)に対する読み書きを行なう磁気ディスク・ドライブ528、およびコンパクト・ディスクまたはその他の(磁気)光学媒体のようなリムーバル(磁気)光学ディスク531に対する読み書きを行なう光ディスク・ドライブ530を含むことができる。ハード・ディスク・ドライブ527、磁気ディスク・ドライブ528、および(磁気)光ディスク・ドライブ530は、ハード・ディスク・ドライブ・インターフェース532、磁気ディスク・ドライブ・インターフェース533、および(磁気)光ディスク・ドライブ・インターフェース534をそれぞれ介して、システム・バス523と結合することができる。ドライブおよびそれらに関連する記憶媒体は、機械読み取り可能命令、データ構造、プログラム・モジュールおよびパーソナル・コンピュータ520のためのその他のデータの不揮発性格納を行なう。ここに記載する環境の一例では、ハード・ディスク、リムーバブル磁気ディスク529およびリムーバル光ディスク531を採用するが、当業者は、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)等のような、その他の種類の記憶媒体も、先に紹介した記憶装置の代わりに、またはこれらに加えて、使用可能であることを認めよう。
【0045】
例えば、オペレーティング・システム535、1つ以上のアプリケーション・プログラム536、その他のプログラム・モジュール537、および/またはプログラム・データ538のような多数のプログラム・モジュールを、ハード・ディスク527、磁気ディスク529、(磁気)光ディスク531、ROM524またはRAM525上に格納することができる。ユーザは、例えば、キーボード540およびポインティング・デバイス542のような入力デバイスによって、パーソナル・コンピュータ520にコマンドおよび情報を入力することができる。マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等のようなその他の入力デバイス(図示せず)も含むことができる。多くの場合、これらおよびその他の入力デバイスは、システム・バスに結合されているシリアル・ポート・インターフェース546を介して、処理ユニット521に接続されている。しかしながら、入力デバイスは、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースによって接続することも可能である。また、例えば、ビデオ・アダプタ548のようなインターフェースを介して、モニタ547またはその他のディスプレイ装置をシステム・バス523に接続することも可能である。モニタ547に加えて、パーソナル・コンピュータ520は、例えば、スピーカやプリンタのような、その他の周辺出力デバイス(図示せず)も含むことができる。
【0046】
パーソナル・コンピュータ520は、リモート・コンピュータ549のような1つ以上のリモート・コンピュータに対する論理接続を規定する、ネットワーク環境においても動作可能である。リモート・コンピュータ549は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイスまたはその他の一般的なネットワーク・ノードとすることもでき、更にパーソナル・コンピュータ520に関連して先に述べたエレメントの多くまたは全てを含むこともできる。図5に示す論理接続は、ローカル・エリア・ネットワーク(LAN)551およびワイド・エリア・ネットワーク(WAN)522、イントラネットならびにインターネットを含む。
【0047】
LANにおいて用いる場合、パーソナル・コンピュータ520は、ネットワーク・インターフェース・アダプタ(即ち、「NIC」)553を介してLAN551に接続することができる。インターネットのようなWANにおいて用いる場合、パーソナル・コンピュータ520は、モデム554、またはワイド・エリア・ネットワーク552上で通信を確立するその他の手段を含めばよい。モデム554は、内蔵でも外付けでもよく、シリアル・ポート・インターフェース546を介してシステム・バス523に接続することができる。ネットワーク環境では、パーソナル・コンピュータ520に関連して先に示したプログラム・モジュールの少なくとも一部をリモート・メモリ記憶装置に格納することができる。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能である。
【0048】
図7Aは、本発明の一実施形態にしたがって実現したディスプレイ装置600を示す。ディスプレイ装置600は、例えば、フラットパネル・ディスプレイが望ましい携帯用コンピュータまたはその他のシステムにおける使用に適している。ディスプレイ装置600は、LCDディスプレイとして実現することができる。一実施形態では、公知のコンピュータ100の表示および制御ロジックを、本発明のディスプレイ装置600および表示制御ロジック、例えば、ルーチンと置換し、携帯用コンピュータに、水平RGBストライピングおよび画像の異なる部分を表すために用いる画素サブコンポーネントを備える。
【0049】
図示のように、ディスプレイ装置600は、16列の画素エレメントC1〜C16、および12行の画素エレメントR1〜R12を含み、16×12画素を有するディスプレイとなる。ディスプレイ600は、殆どのコンピュータ・モニタの場合と同様、縦よりも横の方が大きくなるように配置されている。ディスプレイ700は、本特許における図示の目的上16×12画素に限定しているが、図7Aに示すタイプのモニタは、あらゆる数の垂直および水平画素エレメントでも有することができ、例えば、640×840、800×600、1024×768および1280×1024という水平対垂直画素比、更には正方形表示が得られる比率を有するディスプレイも可能である。
【0050】
ディスプレイ600の各画素エレメントは、3つのサブコンポーネント、赤画素サブコンポーネント602、緑画素サブコンポーネント604、および青画素サブコンポーネント606を含む。図7Aの実施形態では、各画素サブコンポーネント602、604、606は、画素の高さの1/3に等しいまたはほぼ等しい高さ、および画素の幅に等しいまたはほぼ等しい幅を有する。
【0051】
モニタ600において、RGB画素サブコンポーネントは、水平ストライプを形成するように配列する。これは、前述のモニタ200に用いた垂直ストライプ配列とは逆である。特に、モニタ600は、例えば、アプリケーション上水平解像度よりも垂直解像度の方が高いことが望ましいグラフィクス・アプリケーションにおいて用いるとよい。
【0052】
図7Bは、ディスプレイ600の左上部分を更に詳細に示す。図7Bでは、水平RGBストライピング・パターンを明確に見ることができ、文字R、GおよびBを用いて、対応する色の画素サブコンポーネントを示す。
【0053】
図7Cは、本発明にしたがって実現した他のディスプレイ装置700を示す。図7Cは、水平画素エレメントよりも垂直画素エレメントの方が多いディスプレイ装置、例えば、LCDディスプレイにおける垂直RGBストライピングの使用を示す。12×16ディスプレイを示すが、ディスプレイ700は、あらゆる数の画素列/行でも実現可能であり、正方形の表示が得られる列/行比も含むことは理解されよう。
【0054】
ディスプレイ装置700は、水平に流れるテキストのポートレート・タイプ表示が望ましい場合に特に適している。図2Aのモニタの場合と同様、各画素エレメントは、3つのサブ画素コンポーネント、即ち、R、G、およびB画素サブコンポーネントから成る。
【0055】
ディスプレイ7Aはある種のグラフィクス・アプリケーションには望ましいが、高品質のキャラクタを生成するには、キャラクタ・ステムの正確な表現、キャラクタの比較的長く細い垂直部分の方が、セリフの表現よりも遥かに重要である。垂直ストライピングは、本発明にしたがって用いる場合、一度に画素の幅の1/3だけステムを調節可能であるという、格別の利点を有する。したがって、垂直ストライピング配列を有する装置200または700のようなディスプレイ装置を、本発明の表示方法と共に用いることにより、ステムの調整が1画素ずつに限定される公知の水平ストライピング配列よりも、高い品質のテキストを得ることができる。
【0056】
垂直ストライピングの別の利点として、画素サイズよりも小さい刻みの幅、例えば、画素サイズの1/3刻みでキャラクタの間隔を調節できることがあげられる。キャラクタ間隔は、読み易さ(legibility)にとっては重要なテキスト特性である。したがって、垂直ストライピングを用いることによって、テキスト間隔の改善、およびステムのウェイトの精細化を得ることができる。
【0057】
図8は、本発明によるコンピュータ・システムのディスプレイ上にテキスト画像をレンダリングする際に用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す。
【0058】
図示のように、アプリケーション・ルーチン536は、例えば、ワード・プロセッサ・アプリケーションとすることができ、テキスト出力サブコンポーネント801を含む。テキスト出力サブコンポーネント801は、矢印813で表すように、テキスト情報をオペレーティング・システム535に出力し、ディスプレイ装置547上にレンダリングする役割を担う。テキスト情報は、例えば、レンダリングするキャラクタを識別する情報、レンダリングの間に用いるフォント、およびキャラクタをレンダリングする際のポイント・サイズを含む。
【0059】
オペレーティング・システム535は、ディスプレイ装置547上におけるテキストの表示を制御する役割を担う種々のコンポーネントを含む。これらのコンポーネントは、表示情報815、ディスプレイ・アダプタ814、およびグラフィクス・ディスプレイ・インターフェース802を含む。表示情報815は、例えば、レンダリングの間に適用するスケーリングに関する情報、および/または前景/背景カラー情報を含む。ディスプレイ・アダプタは、グラフィクス・ディスプレイ・インターフェース802からビットマップ画像を受け取り、ビデオ信号を発生し、ビデオ・アダプタ548に供給して、ディスプレイ547による光学的表示を行なう。矢印815は、ビットマップ画像のグラフィクス・ディスプレイ・インターフェース802からディスプレイ・アダプタ814への通過を表す。
【0060】
グラフィクス・ディスプレイ・インターフェース802は、テキストだけでなくグラフィクスを処理するためのルーチンも含む。エレメント804は、テキストを処理するために用いる、タイプ・ラスタライザである。タイプ・ラスタライザは、アプリケーション536から得たテキスト情報を処理し、これからビットマップ表現を発生する役割を担う。タイプ・ラスタライザ804は、キャラクタ・データ806、ならびにレンダリングおよびラスタ化ルーチン807を含む。
【0061】
キャラクタ・データ806は、例えば、ベクトル・グラフィクス、ライン、ポイントおよび曲線を含み、1組以上のキャラクタの高解像度ディジタル表現が得られる。
図3に示すように、テキスト・キャラクタ302を処理し、データ806のような、その高解像度ディジタル表現を発生し、これをメモリに格納しておきテキスト発生の間に使用できるようにすることは公知である。したがって、データ806の発生304および格納306については、ここでは詳細に論じないことにする。
【0062】
レンダリングおよびラスタ化ルーチン807は、スキャン変換サブルーチン812を含み、またスケーリング・サブルーチン808、ヒンティング・サブルーチン810、およびカラー補償ルーチン813も含むことができる。スキャン変換動作を実行しテキスト画像をレンダリングすることは普通のことであるが、本発明のルーチンおよびサブルーチンは、画面のRGB画素サブコンポーネントを別個の光度エンティティとして利用するかあるいは扱い、レンダリングする画像の異なる部分を表現するために使用できるようにした点において、公知のサブルーチンとは異なっている。カラー補償サブルーチン813は、スキャン変換サブルーチン812によって作成したビットマップ画像に対してカラー補償調節を実行し、画素の3つのカラー・サブコンポーネントの各々を別個の光度エレメントとして扱ったことによって生じ得る、望ましくない色縁効果を補償する役割を担う。本発明のサブルーチン808、810、812および813の各々が実行する動作について、これより詳細に説明する。
B.スキャン変換動作
スキャン変換は、スケーリングしたキャラクタを表す幾何学的形状のビットマップ画像への変換を伴う。従来のスキャン変換動作は、スケーリング画像の対応部分をマッピングすることができる個々の単位として、画素を扱っていた。したがって、従来のスキャン変換動作の場合、画像の同じ部分を用いて光度値を決定し、スケーリング画像の一部をマッピングする先である、画素エレメントのRGB画素サブコンポーネントの各々と共に用いる。図2Cは、公知のスキャン変換プロセスの一例であり、ビットマップとして表現する画像をサンプリングし、サンプル値から光度値を発生することを伴う。
【0063】
本発明によれば、画素のRGB画素サブコンポーネントは、独立した光度エレメントとして扱う。したがって、各画素サブコンポーネントを別個の光度コンポーネントとして扱い、これに、スケーリング画像の別個の部分をマッピングすることができる。このように、本発明は、スケーリング画像の異なる部分を、異なる画素サブコンポーネントにマッピングすることを可能とし、公知のスキャン変換技術によって可能な解像度よりも高い解像度を得ることができる。即ち、種々の実施形態において、スケーリング画像の異なる部分を用いて、各画素サブコンポーネントと共に用いる光度値を独立して決定する。
【0064】
図6は、本発明の一実施形態にしたがって実施するスキャン変換の一例を示す。図示の実施形態では、格子620で表す画像の空間的に変位した別個の画像サンプル622、623、624を用いて、発生するビットマップ画像630の対応部分632、633、634と関連する赤、緑および青強度値を発生する。画像データをサンプリングし、別個の画像サンプル622,623,624を、図6に示したように、部分632,633,634に関連する赤、緑、青の画素サブコンポーネントにマッピングすることは、サンプルを個々の画素サブコンポーネントにマッピングするステップに対応するアクトまたは動作(act)の例を表している。図6の例では、赤および青に対する画像サンプルは、それぞれ、緑のサンプルから1画素の幅の−1/3および+1/3の距離だけ空間的に変位している。このようにして、図2Cに示す公知のサンプリング/画像表現方法では発生する変位問題を回避する。
【0065】
図に示す例では、白を用いて、スキャン変換動作によって発生するビットマップ画像において「オンにする」画素サブコンポーネントを示す。白でない画素サブコンポーネントは「オフ」状態にある。
【0066】
黒いテキストの場合、「オン」は、当該画素サブコンポーネントに関連する強度値を制御して、画素サブコンポーネントが光を出力しないようにすることを暗示する。白い背景画素を想定すると、「オン」でないサブコンポーネントには、最大光出力を出力させる強度値が割り当てられることになる。
【0067】
前景および背景のカラーを用いる場合、「オン」は、3つの画素サブコンポーネント全てを用いて前景カラーを発生するとすれば指定の前景カラーを生成する値を、画素サブコンポーネントに割り当てることを意味する。「オン」でない画素サブコンポーネントには、3つの画素サブコンポーネント全てを用いて背景カラーを発生するとすれば指定の背景カラーを生成する値を割り当てる。
【0068】
スケーリング中、画素サブコンポーネントを「オン」にするか否かについて判定する第1の技法は、スケーリング格子の一部によって表され、画素サブコンポーネントにマッピングされる、スケーリング画像セグメントの中心が、表示する画像のスケーリング表現内部にあるか否かについて判定することである。例えば、図12Aでは、格子セグメント1020の中心が画像1004(図11Aに示す)の内側にある場合、画素サブコンポーネントC1、R5をオンにする。別の技法は、画素サブコンポーネントにマッピングするスケーリング画像セグメントの50%以上が、表示する画像によって占められているか否かについて判定することである。占められている場合、画素サブコンポーネントを「オン」にする。例えば、格子セグメント1202によって表されるスケーリング画像セグメントが、少なくとも50%画像1004によって占められている場合、対応する画素サブコンポーネントC1、R5をオンにする。以下で論ずる図12A、図12B、図13および図14の例では、いつ画素サブコンポーネントをオンにするか判定する第1の技法を採用する。
【0069】
図12Aは、水平ストライピングのディスプレイ装置上における表示のためにヒント画像1014に対して行なうスキャン変換動作を示す。画像1014をもたらすことができるスケーリングおよびヒンティング動作の例は、図10Aおよび図11Aを参照して以下に詳細に説明する。しかし、これらの例示のスケーリングおよびヒンティング動作を簡単に述べると、図10Aは、文字i(1002)の高解像度表現に対し、図7Aに示したもののような水平ストライピングのモニタ上におけるその文字の表示を予期して実行するスケーリング動作を示している。ここで、本例においては、水平(X)方向のスケーリングは、x1のレートで適用する一方、垂直(Y)方向のスケーリングは、x3のレートで適用する。この結果スケーリングしたキャラクタ1004となり、これは、元のキャラクタ1002よりも3倍長いが幅は同じである。スケーリングとして、その他の量も可能である。
【0070】
ヒンティングは、本発明のスキャン変換動作と共に使用するときは、スケーリングしたキャラクタの位置合わせを含むことができ、例えば図11Aのキャラクタ1004の、後続のスキャン変換動作の一部分として使用する格子1102内における位置合わせである。これはまた、画像輪郭を歪ませてその画像が格子の形状によりうまくフィッティングするようにすることを含むことができる。この格子は、ディスプレイ装置の画素エレメントの物理的サイズの関数として決めることができる。図11Aのヒンティング動作は、ヒンティングした画像1014を生ずる。
【0071】
図12Aのスキャン変換動作は、ビットマップ画像1204を生じる。ここで、ビットマップ画像列C1−C4の各画素サブコンポーネントがどのようにしてスケーリングしたヒンティング済みの画像1014の対応する列の異なったセグメントから決めるかに注意されたい。またここで、どのようにビットマップ画像1204が、緑/青の画素境界に沿って位置合わせした2/3画素高さ底辺と、1画素の2/3の高さのドットとからなっているかに注意されたい。既知のテキスト・イメージング技術では、1つのフルの画素高さの底辺と1つのフルの画素サイズのドットとを有する精度のより低い画像を生じることになる。
【0072】
図12Bは、垂直ストライピングを有するディスプレイ装置上に表示するため、ヒンティングした画像1018に対し実行するスキャン変換動作を示す。画像1018をもたらし得るスケーリングおよびヒンティング動作の例は、図10Bおよび図11Bを参照して以下に説明する。しかし、これら例示のスケーリングおよびヒンティング動作を簡潔に説明するため、図10Bは、文字i(1002)の高解像度表現に対し、図2Aおよび図7Cに示したもののような垂直ストライピングのモニタ上におけるその文字の表示を予期して実行するスケーリング動作を示している。ここで、本例においては、水平(X)方向のスケーリングは、x3のレートで適用する一方、垂直(Y)方向のスケーリングは、x1のレートで適用する。この結果スケーリングしたキャラクタ1008となり、これは、元のキャラクタ1002と同じ長さであるが幅は3倍広くなっている。スケーリングとして、その他の量も可能である。
【0073】
図11Bは、ヒンティングは、後続のスキャン変換動作の一部分として使用する格子1104内におけるそのスケーリングしたキャラクタ1008の位置合わせをもたらすヒンティング動作を示している。これはまた、画像輪郭を歪ませてその画像が格子の形状によりうまくフィッティングするようにすることを含むことができる。図11Bのヒンティング動作は、ヒンティングした画像1018を生じる。
【0074】
スキャン変換動作によって、ビットマップ画像1203が得られる。尚、ビットマップ画像の行R1−R8の各画素サブコンポーネントを、スケーリング・ヒント画像1018の対応する行の異なるセグメントからどのように判定するかについて注意すること。また、ビットマップ画像1203は、赤/緑画素境界に沿って整合された左縁を有する2/3画素幅のステムでどのように構成するかについても注意すること。更に、幅が1画素の2/3である画素を用いることにも注意すること。公知のテキスト・イメージング技術であれば、得られる画像は精度が低く、最大画素幅のステムおよびサイズが1画素のドットを有することになる。
【0075】
図13は、図12Aに示した画像1014の第1列に対して行なうスキャン変換プロセスを更に詳細に示す。図示のスキャン変換プロセスでは、画像1014の1セグメントを用いて、各画素サブコンポーネントに関連する光度値を制御する。これによって、各画素サブコンポーネントは、スケーリング画像1014の同じサイズの部分によって制御されることになる。
【0076】
スキャン変換動作の間、重み付けを適用することも可能である。重み付けを適用する場合、スケーリング画像の異なるサイズの領域を用いて、個々の画素サブコンポーネントをオンにするかまたはオフにするか、あるいはその中間の値にするか(グレー・スケーリングの場合のように)について判定することができる。
【0077】
前述のように、人の目は、異なるカラー光源からの異なるレートの光強度を認知する。緑は、赤、緑および青画素サブコンポーネントをそれらの最大光強度出力に設定することによって得られる白画素の認知輝度に約60%寄与し、赤は約30%寄与し、青は約10%寄与する。
【0078】
本発明の一実施形態によれば、スキャン変換中に重み付けを用いる場合、画素にマッピングするスケーリング画像面積の60%を用いて緑画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の30%を用いて赤画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の10%を用いて、青画素サブコンポーネントの光度を判定する。
【0079】
本発明の特定的な一実施形態では、スケーリング動作の間、ストライピングに対して垂直な方向における画像のスケーリングは、ストライピングの方向におけるスケーリングのレートの10倍のレートで行なう。こうすると、加重スキャン変換動作が簡単になる。ヒンティングの後、次に、例えば、前述した形式の加重スキャン変換動作を用いて、スキャン変換の間にスケーリング画像を処理する。
【0080】
図10Aは、垂直方向において3の倍率でそして水平方向に1の倍率でスケーリングした画像1002を示している。これと対照的に、図14は、画像1002を垂直方向に10倍、水平方向に1倍でスケーリングした、スケーリング・ヒント画像の第1列1400に対する加重変換動作の実行を示す。図14では、単一画素に対応するヒント画像の部分は、10個のセグメントから成る。前述の加重スケーリング技術にしたがって、スケーリング画像の各画素エリアの最初の組の3セグメントを用いて、ビットマップ画像1402内の1画素に対応する赤の画素サブコンポーネントの光度値を判定する。スケーリング画像1400の各画素エリアの次の組の6セグメントを用いて、ビットマップ画像1402内の同じ画素に対応する緑の画素サブコンポーネントの光度値を判定する。こうして、青の画素サブコンポーネントの光度値を判定する際に用いるために、スケーリング画像1400の各画素エリアの最後のセグメントを残す。
【0081】
図14に示すように、このプロセスにより、ビットマップ画像1402の列1、行4の青画素サブコンポーネントおよび列1、行5の赤画素サブコンポーネントが「オン」となり、列1の残りの画素サブコンポーネントが「オフ」となる。
【0082】
概略的に、本発明のスキャン変換プロセスを、画素サブコンポーネントを「オン」または「オフ」にすることに関して説明した。
本発明の種々の実施形態、特に、例えばグラフィクス画像と共に用いて好適なものは、グレー・スケール技術の使用を伴う。このような実施形態では、前述の実施形態の場合と同様、スキャン変換動作は、スケーリング・ヒント画像の部分を、対応する画素サブコンポーネントに独立してマッピングし、ビットマップ画像を形成することを伴う。しかしながら、グレー・スケールの実施形態では、画素サブコンポーネントに割り当てる強度値は、表示するスケーリング画像によって占められる画素サブコンポーネントにマッピングするスケーリング画像の部分の関数として決定する。例えば、0から255までの間の強度値を画素サブコンポーネントに割り当てることができ、0は事実上オフであり、255は最大強度であるとすると、スケーリング画像のセグメント(格子セグメント)が表示する画像によって50%占められている場合、スケーリング画像セグメントを対応する画素サブコンポーネントにマッピングする結果として、123の強度値が画素サブコンポーネントに割り当てられることになる。本発明によれば、同一画素に隣接する画素サブコンポーネントは、スケーリング画像の別の部分、例えば、セグメントの関数として、独立して決定される強度値を有することになる。
C.例示的なレンダリング・ルーチン
本発明のスキャン変換動作は、図9のレンダリング/ラスタ化ルーチン807と共に使用することによって、本発明の1実施形態にしたがって表示をするためのテキストをレンダリングすることができる。図示したように、このルーチン807は、ステップ902で開始し、そしてここで、本ルーチンは、例えばオペレーティング・システム535の制御の下で、アプリケーション536からのテキスト情報の受け取りに応答して実行する。ステップ904において、テキスト・レンダリング/ラスタ化ルーチン807が入力を受ける。この入力は、テキスト、フォント、およびポイント・サイズ情報905を含み、これらは、アプリケーション536から得られる。加えて、この入力は、スケーリング情報および/または前景/背景カラー情報、および画素サイズ情報815を含み、これらは、例えばオペレーティング・システムによりメモリに格納されたモニタ・セッティングから得られる。また、入力は、データ806を含み、これは、高解像度表現、例えば、表示すべきテキスト・キャラクタのライン、ポイント、および/またはカーブの形態のものを含む。
【0083】
ステップ904において受け取ったこの入力により、動作は、ステップ910に進み、そしてここで、スケーリング・サブルーチン808を使用してスケーリング動作を実行することもできる。非正方形(non-square)スケーリングは、各画素エレメント内に含まれる画素サブコンポーネントの方向および/または数の関数として実行することができる。特に、高解像度のキャラクタ・データ806、例えば受け取ったテキストおよびフォント情報が指定する表示すべきキャラクタのラインおよびポイント表現は、ストライピングと垂直な方向において、そのストライピングの方向におけるよりも大きなレートでスケーリングする。これにより、後続の画像処理動作が、本発明による独立の光度源として個々の画素サブコンポーネントを使用することにより実現できるより高い解像度を利用することができる。
【0084】
本発明のスキャン変換動作と共に使用することができる例示のスケーリング動作の詳細は、“テキストのような画像を表示するための方法および装置(Method and Apparatus for Displaying Images such as Text)”と題する米国特許出願09/168,012、例えば、その図10Aおよび図10B並びにそれに付随する本文に開示されている。本願は、米国特許出願09/168,012の継続出願であり、先に言及により本文に含めることとしている。
【0085】
図9を再び参照すると、動作は次に、ステップ912に進み、そしてここで、スケーリングした画像のヒンティングを、例えばヒンティング・サブルーチン810を実行することによって行うこともできる。用語“格子フィッティング(grid-fitting)”は、時にこのヒンティング・プロセスを記述するのに使用する。
【0086】
ヒンティングは、スケーリングしたキャラクタ、例えばキャラクタ1004、1008の、後続のスキャン変換動作の一部分として使用する格子1102、1104内における位置合わせを含む。これはまた、画像輪郭を歪ませてその画像が格子の形状によりうまくフィッティングするようにすることを含むことができる。この格子は、ディスプレイ装置の画素エレメントの物理的サイズの関数として決めることができる。本発明のスキャン変換動作と共に使用できる例示のヒンティング動作の詳細は、“テキストのような画像を表示するための方法および装置(Method and Apparatus for Displaying Images such as Text)”と題する米国特許出願09/168,012の例えば図11A、図11Bとこれに付随する本文に開示されている。次に、動作は、ステップ914に進み、そしてここで、本文に開示したもののようなスキャン変換動作は、本発明にしたがい、例えばスキャン変換サブルーチン812を実行することによって行う。
【0087】
一旦表示するテキストのビットマップ表現を図9のステップ814において発生したなら、これをディスプレイ・アダプタに出力するか、または更に処理してカラー処理動作および/またはカラー調節を行い、画質の向上を図ることも可能である。本発明のスキャン変換動作と共に使用できる例示のカラー処理動作およびカラー調節の詳細は、米国特許出願09/168,012に開示されている。
【0088】
この処理したビットマップ918は、ディスプレイ・アダプタ814に出力し、そしてルーチン807の動作を、処理すべき追加のデータ/画像の受け取るまでホールトさせる。
【0089】
図15は、水平ストライピングの12×12画素のアレイを表す格子上に重畳するためにレンダリングするキャラクタnの高解像表現を示す。
図16は、従来の表示技術、および各々3つの画素サブコンポーネントを含むフル・サイズの画素エレメントを用いて、図15に示したキャラクタnをどのようにレンダリングするかについて示す。フル・サイズの画素制限のために、文字のリッジにおいて比較的急激に形状の遷移が生じ、エリアシングおよび比較的平坦な上部が形成されている様子に注目のこと。
【0090】
図17は、画素高さの2/3の底辺を用いることによって、本発明にしたがって、文字nのレンダリングをどのようにして改良することができるかについて示す。底辺を形成するには、2つの画素サブコンポーネントを用いる。これは、行10、列1〜4および8〜10において3つの画素サブコンポーネント全てを用いるのとは対照的である。また、文字のリッジをどのように改良するかについても注意すること。リッジの幅を最大画素高さとするが、各水平最大高さ画素エレメントを1/3画素高さだけ垂直方向にずらしていくことにより、図16に示したリッジよりも遥かに高精度かつ滑らかなリッジを得ることができる。
【0091】
図18は、本発明にしたがって、文字nのリッジの厚さを、1画素の厚さから2/3画素の厚さにどのようにして縮小することができるかを示す。
図19は、本発明にしたがって、文字nの底辺を1画素の1/3の最少厚さまでどのようにして縮小することができるかについて示す。また、文字nのリッジを画素の1/3の厚さにどのようにして縮小することができるかについても示す。
【0092】
図20は、本発明にしたがって、底辺およびリッジが画素の1/3の厚さを有する文字nをどのようにして表示することができるかについて示す。
本発明のスキャン変換動作を実施できるディスプレイ装置の1例は、図4に示しており、これは、コンピュータ化電子ブック・デバイス400を描いている。図4に示したように、この電子ブック400は、1つのブック奇数ページと偶数ページをそれぞれ表示するための第1と第2のディスプレイ・スクリーン402、404から成っている。例えば図7Cに示したタイプのディスプレイは、図4の電子ブック400のディスプレイ402,404として使用することもできる。この電子ブック400はさらに、入力デバイス、例えばキーパッドまたはキーボード408、そしてデータ記憶デバイス、例えばCDディスク・ドライブ407を備えている。ヒンジ406を設けることにより、電子ブック400は、使用しないときは、折り畳むことによって、ディスプレイ402,404を保護することができる。同様に、電子ブック400に給電するために内部バッテリを使用することができる。同様に、本発明の他の携帯可能のコンピュータ実施形態は、バッテリで給電することもできる。
【0093】
以上、テキストのレンダリングに関して本発明を大まかに説明したが、本発明はグラフィックスにも適用し、エリアシングを低減し、従来のカラーLCDディスプレイのような、ストライプ・ディスプレイを用いて得ることができる有効解像度を向上可能であることは理解されよう。加えて、本発明の技術の多くは、ビットマップ画像、例えば、スキャンした画像を処理し、これらを表示のために準備する際にも使用可能であることは理解されよう。
【0094】
ここに含まれる本発明の説明に鑑み、先に論じた本発明の実施形態に対して、多数の追加実施形態や変形も、当業者には明白である。このような実施形態は、本発明から逸脱するものではなく、本発明の範囲内に該当すると見なすことは理解されよう。

【特許請求の範囲】
【請求項1】
処理ユニットおよび画像を表示するディスプレイ装置を含み、該ディスプレイ装置は複数の画素を有し、各画素は各々が異なるカラーの少なくとも3つの画素サブコンポーネントを含むコンピュータ・システムにおいて、表示された画像の解像度を改善する方法であって、
サンプルを全体の画素に対してマッピングするのとは対照的に、画像を表す情報のサンプルを画素の個々の画素サブコンポーネントに対してマッピングするステップであって、1つ以上のサンプルの空間的に異なる組が前記画素の各画素サブコンポーネントに対してマッピングされ、前記複数の画素の画素サブコンポーネントが、同じに色つけされた画素サブコンポーネントの前記ディスプレイ装置上にストライプを形成するよう配列される、前記マッピングするステップと、
各画素サブコンポーネントに対してマッピングされた1つ以上のサンプルの異なる組に基づいて、画素の各画素サブコンポーネントに対して別個の光度値を発生するステップと、
別個の光度値を用いて画像を前記ディスプレイ装置上に表示して、全体の画素よりむしろ、画素の各画素サブコンポーネントが画像の異なる部分を表すことをもたらすステップと、
を備える方法。
【請求項2】
サンプルをマッピングする前記のステップの前に、ストライプに対して平行の方向におけるより大きな倍率だけストライプに対して垂直の方向に画像を表す情報のスケーリングするステップをさらに備える請求項1記載の方法。
【請求項3】
サンプルをマッピングする前記のステップは、ただ1つのサンプルが画素の各画素サブコンポーネントに対してマッピングされるように行われる請求項1記載の方法。
【請求項4】
サンプルをマッピングする前記のステップは、2つ以上のサンプルが画素の少なくとも1つの画素サブコンポーネントに対してマッピングされるように行われる請求項1記載の方法。
【請求項5】
異なる数のサンプルが画素の各画素サブコンポーネントに対してマッピングされる請求項1記載の方法。
【請求項6】
画像を表す前記情報が画像の輪郭を含み、前景カラーおよび背景カラーが前記情報と関連される請求項1記載の方法。
【請求項7】
各画素サブコンポーネントに対して光度値を発生する前記のステップは、画像と、画素サブコンポーネントに対してマッピングされた1つ以上のサンプルの組との相対位置に基づいて、オンまたはオフ光度値を選択するステップを備える請求項1記載の方法。
【請求項8】
処理ユニットおよび画像を表示するディスプレイ装置を含み、前記ディスプレイ装置は複数の画素を有し、各画素は、各々が異なるカラーの少なくとも3つの画素サブコンポーネントを含み、前記少なくとも3つの画素サブコンポーネントは、第1の画素サブコンポーネント、第2の画素サブコンポーネントおよび第3の画素サブコンポーネントを含むコンピュータ・システムにおいて、表示された画像の解像度を改善する方法であって、
複数のサンプルを取得するように画像を表す情報をサンプリングする動作と、
1つ以上のサンプルの第1の組を前記ディスプレイ装置の画素の第1の画素サブコンポーネントに対してマッピングする動作であって、前記ディスプレイ装置の複数の画素の画素サブコンポーネントが、同じ色つけされた画素サブコンポーネントの前記ディスプレイ装置上にストライプを形成するよう配列される、前記マッピングする動作と、
1つ以上のサンプルの第2の組を画素の第2の画素サブコンポーネントに対してマッピングする動作と、
1つ以上のサンプルの第3の組を画素の第3の画素サブコンポーネントに対してマッピングする動作と、
を備え、
第1、第2および第3の組は、相互に空間的に異なっており、
第1、第2および第3の画素サブコンポーネントの各々に対して、それに対してマッピングされた特定の組に基づいて別個の光度値を発生する動作と、
別個の光度値を用いて第1、第2および第3の画素サブコンポーネントの各々を別々に制御することにより画像を前記ディスプレイ装置上に表示して、全体の画素よりむしろ、第1、第2および第3の画素サブコンポーネントの各々が画像の異なる部分を表す動作と、
をさらに備える方法。
【請求項9】
画像を表示する前記の動作が、ストライプに対して垂直の方向において画素のディメンジョンの値の整数倍でない値を有するディメンジョンをストライプに対して垂直の方向に備える部分を有するテキスト・キャラクタをもたらす請求項8記載の方法。
【請求項10】
テキスト・キャラクタの前記部分がテキスト・キャラクタのステムであり、該ステムのディメンジョンが画素の幅の整数倍でない請求項9記載の方法。
【請求項11】
前記ディスプレイ装置は液晶ディスプレイを備え、第1、第2および第3の画素サブコンポーネントは、それぞれ赤、緑および青のカラーを有する請求項9記載の方法。
【請求項12】
情報をサンプリングする前記動作の前に、ストライプに対して平行の方向におけるより大きな倍率だけストライプに対して垂直の方向に画像を表す情報のスケーリングする動作をさらに備える請求項8記載の方法。
【請求項13】
画像を表す情報についてカラー処理動作を実行する動作をさらに備え、該カラー処理動作は、1つ以上のサンプルの異なる組が第1、第2および第3の画素サブコンポーネントに対してマッピングされたとき前記情報に導入されたカラー歪みを補償する請求項8記載の方法。
【請求項14】
処理ユニットおよび画像を表示するディスプレイ装置を含み、前記ディスプレイ装置は複数の画素を有し、その各々の画素は、それぞれが異なるカラーの少なくとも3つの画素サブコンポーネントを含むコンピュータ・システムにおいて、表示された画像の解像度を改善する方法を実行するためのコンピュータ・プログラム製品であって、
サンプルを全体画素に対してマッピングするのとは対照的に、画像を表す情報のサンプルを画素の個々の画素サブコンポーネントに対してマッピングするステップであって、1つ以上のサンプルの空間的に異なる組が画素の各画素サブコンポーネントに対してマッピングされ、複数の画素の画素サブコンポーネントが、同じ色つけされた画素サブコンポーネントの前記ディスプレイ装置上にストライプを形成するよう配列される、前記マッピングするステップと、
画素の各画素サブコンポーネントに対して、それに対してマッピングされた1つ以上のサンプルの異なる組に基づいて別個の光度値を発生するステップと、
別個の光度値を用いて画像を前記ディスプレイ装置上に表示して、全体の画素よりむしろ、画素の各画素サブコンポーネントが画像の異なる部分を表すことをもたらすステップと、
を含む前記方法を実施するための実行可能な命令を坦持するコンピュータ読み取り可能な媒体を備えるコンピュータ・プログラム製品。
【請求項15】
前記方法は、サンプルをマッピングする前記ステップの前に、ストライプに対して平行の方向におけるより大きな倍率だけストライプに対して垂直の方向に画像を表す情報のスケーリングするステップをさらに備える請求項14記載のコンピュータ・プログラム製品。
【請求項16】
前記実行可能な命令は、ただ1つ以上のサンプルが画素の各画素サブコンポーネントに対してマッピングされるようにサンプルをマッピングする前記ステップを実行する請求項14記載のコンピュータ・プログラム製品。
【請求項17】
前記実行可能な命令は、2つ以上のサンプルが画素の少なくとも1つの画素サブコンポーネントに対してマッピングされるようにサンプルをマッピングする前記ステップを実行する請求項14記載のコンピュータ・プログラム製品。
【請求項18】
前記実行可能な命令は、異なる数のサンプルを画素の各画素サブコンポーネントに対してマッピングする請求項14記載のコンピュータ・プログラム製品。
【請求項19】
画像を表す情報が画像の輪郭を含み、前景カラーおよび背景カラーが前記情報と関連される請求項14記載のコンピュータ・プログラム製品。
【請求項20】
各画素サブコンポーネントに対する光度値を発生する前記ステップは、画像と、画素サブコンポーネントに対してマッピングされた1つ以上のサンプルの組との相対的位置に基づいてオンまたはオフの光度値を選択するステップを備える請求項14記載のコンピュータ・プログラム製品。
【請求項21】
処理ユニットおよび画像を表示するディスプレイ装置を含み、前記ディスプレイ装置は複数の画素を有し、その各々の画素は、それぞれが異なるカラーの少なくとも3つの画素サブコンポーネントを含み、前記少なくとも3つの画素サブコンポーネントは、第1の画素サブコンポーネント、第2のサブコンポーネントおよび第3のサブコンポーネントを含むコンピュータ・システムにおいて、表示された画像の解像度を改善する方法を実行するためのコンピュータ・プログラム製品であって、
複数のサンプルを取得するように画像を表す情報をサンプリングする動作と、
1つ以上のサンプルの第1の組を前記ディスプレイ装置の画素の第1のサブコンポーネントに対してマッピングする動作であって、前記ディスプレイ装置の複数の画素の画素サブコンポーネントが、同じ色つけされた画素サブコンポーネントの前記ディスプレイ装置上にストライプを形成するよう配列される、前記マッピングする動作と、
1つ以上のサンプルの第2の組を画素の第2の画素サブコンポーネントに対してマッピングする動作と、
1つ以上のサンプルの第3の組を画素の第3の画素サブコンポーネントに対してマッピングする動作と、
を含み、
第1、第2および第3の組は、相互に空間的に異なっており、
第1、第2および第3の画素サブコンポーネントの各々に対して、それに対してマッピングされた1つ以上のサンプルの特定の組に基づいて別個の光度値を発生する動作と、
別個の光度値を用いて第1、第2および第3の画素サブコンポーネントの各々を別々に制御することにより、画像を前記ディスプレイ装置上に表示して、全体の画素よりむしろ、第1、第2および第3の画素サブコンポーネントの各々が画像の異なる部分を表す動作と、
をさらに含む方法を実施するための実行可能な命令を坦持するコンピュータ読み取り可能な媒体を備えるコンピュータ・プログラム製品。
【請求項22】
画像を表示する前記動作は、ストライプに対して垂直の方向において画素のディメンジョンの値の整数倍でない値を有するディメンジョンをストライプに対して垂直の方向に備える部分を有するテキスト・キャラクタをもたらす請求項21記載のコンピュータ・プログラム製品。
【請求項23】
テキスト・キャラクタの前記部分がテキスト・キャラクタのステムであり、該ステムのディメンジョンが画素の幅の整数倍でない請求項22記載のコンピュータ・プログラム製品。
【請求項24】
前記ディスプレイ装置は液晶ディスプレイを備え、第1、第2および第3の画素サブコンポーネントは、それぞれ赤、緑および青のカラーを有する請求項22記載のコンピュータ・プログラム製品。
【請求項25】
前記方法はさらに、情報のサンプリングの前記動作の前に、ストライプに対して平行の方向におけるより大きい倍率だけストライプに対して垂直の方向に画像を表す情報のスケーリングする動作を備える請求項21記載のコンピュータ・プログラム製品
【請求項26】
前記方法はさらに、画像を表す情報についてカラー処理動作を実行する動作を備え、
前記カラー処理動作は、1つ以上のサンプルの異なる組が第1、第2および第3の画素サブコンポーネントに対してマッピングされたとき前記情報に導入された色歪みを補償すること、
を特徴とする請求項21記載のコンピュータ・プログラム製品。
【請求項27】
処理ユニットおよび記憶装置を含むコンピュータ・システムと使用の、画像を表示できるディスプレイ装置において、
複数の画素を備え、各画素は、各々が異なる色の少なくとも3つの画素サブコンポーネントを含み、前記複数の画素の画素サブコンポーネントが、同じ色つけされた画素サブコンポーネントのディスプレイ装置上にストライプを形成するよう配列されており、
前記記憶装置に格納されたとき、前記コンピュータ・システムが表示された画像の解像度を改善する方法を実行するのを可能にする実行可能な命令を坦持するコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品をさらに備え、
前記方法は、
画像を表す情報のサンプルを全体の画素に対してマッピングするのとは対照的に、前記サンプルを画素の個々の画素サブコンポーネントに対してマッピングするステップであって、1つ以上のサンプルの空間的に異なる組が画素の各画素サブコンポーネントに対してマッピングされる、前記マッピングするステップと、
画素の各画素サブコンポーネントに対して、それに対してマッピングされた1つ以上の異なる組に基づいて別個の光度値を発生するステップと、
別個の光度値を用いて画像を前記ディスプレイ装置に表示して、全体の画素よりむしろ、画素の各画素サブコンポーネントが画像の異なる部分を表すことをもたらすステップと、
を備えること、
を特徴とするディスプレイ装置。
【請求項28】
複数の画素を有する液晶ディスプレイをさらに備える請求項27記載のディスプレイ装置。
【請求項29】
複数の画素の各々の少なくとも3つの画素サブコンポーネントは、各々が別々に制御可能な、赤の画素サブコンポーネント、緑の画素サブコンポーネントおよび青の画素サブコンポーネントを備える請求項28記載のディスプレイ装置。
【請求項30】
画像の少なくとも一部分を構成する表示されたテキスト・キャラクタをさらに備え、該テキスト・キャラクタが、画像を表示する前記ステップの結果として前記ディスプレイ装置上に表示される請求項28記載のディスプレイ装置。
【請求項31】
前記テキスト・キャラクタは、ストライプに対して垂直の方向における画素のディメンジョンの値の整数倍でない値を有するディメンジョンをストライプに対して垂直の方向に備える部分を有する請求項30記載のディスプレイ装置。
【請求項32】
テキスト・キャラクタの前記部分がテキスト・キャラクタのステムであり、該ステムの幅は画素の幅の整数倍でない請求項31記載のディスプレイ装置。
【請求項33】
処理ユニットおよび記憶装置を含むコンピュータ・システムと使用の、画像を表示できるディスプレイ装置において、
複数の画素を備え、各画素は、第1の画素サブコンポーネント、第2の画素サブコンポーネントおよび第3の画素サブコンポーネントを含む、各々が異なる色の少なくとも3つの画素サブコンポーネントを含み、前記複数の画素の画素サブコンポーネントが、同じ色つけされた画素サブコンポーネントの前記ディスプレイ装置上にストライプを形成するよう配列されており、
前記記憶装置に格納されたとき、前記コンピュータ・システムが表示された画像の解像度を改善する方法を実行するのを可能にする実行可能な命令を坦持するコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品をさらに備え、
前記方法は、
複数のサンプルを取得するように画像を表す情報をサンプリングする動作と、
1つ以上のサンプルの第1の組を前記ディスプレイ装置の画素の第1の画素サブコンポーネントに対してマッピングする動作と、
1つ以上のサンプルの第2の組を画素の第2の画素サブコンポーネントに対してマッピングする動作と、
1つ以上のサンプルの第3の組を画素の第3の画素サブコンポーネントに対してマッピングする動作と、
を備え、
第1、第2および第3の組は相互に空間的に異なっており、
第1、第2および第3の画素サブコンポーネントの各々に対して、それに対してマッピングされた1つ以上の特定の組に基づいて別個の光度値を発生する動作と、
別個の光度値を用いて第1、第2および第3の画素サブコンポーネントの各々を別々に制御することにより画像を前記ディスプレイ装置上に表示して、全体の画素よりむしろ、画素の第1、第2および第3の画素サブコンポーネントの各々が画像の異なる部分を表すことをもたらす動作と、
をさらに備えること、を特徴とするディスプレイ装置。
【請求項34】
前記ディスプレイ装置はさらに、複数の画素を有する液晶ディスプレイを備える請求項33記載のディスプレイ装置。
【請求項35】
第1、第2および第3の画素サブコンポーネントは、各々が別々に制御可能な、赤の画素サブコンポーネント、緑の画素サブコンポーネントおよび青の画素サブコンポーネントをそれぞれ備える請求項34記載のディスプレイ装置。
【請求項36】
表示された画像の少なくとも一部分を構成する表示されたテキスト・キャラクタをさらに備える請求項34記載のディスプレイ装置。
【請求項37】
前記テキスト・キャラクタは、ストライプに対して垂直の方向における画素のディメンジョンの値の整数倍でない値を有するディメンジョンをストライプに対して垂直の方向に備える部分を有する請求項36記載のディスプレイ装置。
【請求項38】
テキスト・キャラクタの前記部分がテキスト・キャラクタのステムであり、該ステムの幅は画素の幅の整数倍でない請求項37記載のディスプレイ装置。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−137775(P2012−137775A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−36164(P2012−36164)
【出願日】平成24年2月22日(2012.2.22)
【分割の表示】特願2000−575115(P2000−575115)の分割
【原出願日】平成11年10月7日(1999.10.7)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】