画像におけるカラー・アーチファクトを検出し低減する方法および装置
【課題】出力装置、例えば、LCDディスプレイの多数の別個の部分を利用して画像の単一画素を表す、画像表示方法および装置を提供する。
【解決手段】グレー・スケール・ディスプレイは、第1次元、例えば、水平次元の解像度が、第2次元、例えば、垂直次元の解像度の数倍であるディスプレイを含む。種々のその他のディスプレイは、グレー・スケールおよびカラー・ディスプレイ装置双方として動作することができる。このようなディスプレイの1つでは、ディスプレイのカラー部分を実現するために用いるカラー・フィルタを、同じディスプレイの別の、例えば、グレー・スケール部分から省略する。このような実施形態では、テキスト、例えば、キャプションは、ディスプレイのグレー・スケール部分を用いて表示し、一方、カラー画像、例えば、グラフィクスは、ディスプレイのカラー部分上に表示する。
【解決手段】グレー・スケール・ディスプレイは、第1次元、例えば、水平次元の解像度が、第2次元、例えば、垂直次元の解像度の数倍であるディスプレイを含む。種々のその他のディスプレイは、グレー・スケールおよびカラー・ディスプレイ装置双方として動作することができる。このようなディスプレイの1つでは、ディスプレイのカラー部分を実現するために用いるカラー・フィルタを、同じディスプレイの別の、例えば、グレー・スケール部分から省略する。このような実施形態では、テキスト、例えば、キャプションは、ディスプレイのグレー・スケール部分を用いて表示し、一方、カラー画像、例えば、グラフィクスは、ディスプレイのカラー部分上に表示する。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、1998年10月7日に出願された、”METHOD AND APPARATUS FOR RESOLVING EDGES WITHIN A DISPLAY PIXEL”(表示画素内の縁を分解する方法および装置)と題する係属中の米国特許出願第09/168,014号の一部継続出願であり、その内容はこの言及により本願にも明示的に含まれるものとする。
(発明の分野)
本発明は、画像表示方法および装置に関し、更に特定すれば、出力デバイス、例えば、液晶ディスプレイの多数の変位部分を利用して画像を表現する表示方法および装置に関する。
【背景技術】
【0002】
(発明の背景)
カラー・ディスプレイ装置は、殆どのコンピュータ・ユーザが選択する主要なディスプレイ装置となっている。モニタ上でカラー表示を行なうには、通常、ディスプレイ装置を動作させて、光、例えば、赤、緑、および青の光の組み合わせを射出し、視認者が認知する1つ以上のカラーが得られるようにする。
【0003】
陰極線管(CRT)ディスプレイ装置では、異なる色の光を発生するには、発光体コーティングを用い、これらをCRT画面上に一連のドットとして被着することができる。通常、3つのカラー、赤、緑、および青の各々を発生するには、異なる発光体コーティングを用い、発光体ドットの繰り返しシーケンスを形成する。これらが電子ビームによって励起されると、赤、緑および青のカラーを発生する。
【0004】
画素という用語は、例えば、数千ものスポットから成る矩形格子における1つのスポットを意味するために、一般に用いられている。スポットは、コンピュータがディスプレイ装置上に画像を形成するために個別に用いられる。赤、緑および青の発光体ドットの単一トライアッド(triad)をアドレスすることができないカラーCRTでは、可能な限り最も小さい画素サイズは、発光体を励起するために用いる電子銃の焦点、位置合わせおよび帯域幅によって決まる。CRTディスプレイには公知の種々の構成では、赤、緑および青の蛍光体ドットの1つ以上のトライアッドから射出される光を共に配合することにより、ある距離において単一のカラー光源の外観を与えるようにする場合が多い。
【0005】
カラー・ディスプレイでは、加色混合三原色、赤、緑および青に対応して発光する光の強度を変化させて、殆ど全ての所望のカラー画素の外観を得ることができる。色を加えない場合、即ち、発光しない場合、黒い画素を生成する。3つのカラー全てを100パーセントで加えると、白になる。
【0006】
図1は、ハウジング101、ディスク・ドライブ105、キーボード104およびフラット・パネル・ディスプレイ102から成る、公知の携帯用コンピュータ100を示す。
【0007】
携帯用パーソナル・コンピュータ100は、CRTディスプレイではなく、液晶ディスプレイ(LCD)またはその他のフラットディスプレイ装置102を用いる場合が多い。これは、フラット・パネル・ディスプレイが、CRTディスプレイと比較して、小型で軽量である場合が多いからである。加えて、フラット・パネル・ディスプレイは、多くの場合、同程度の大きさのCRTディスプレイよりも消費電力が少なくて済むので、CRTディスプレイよりも、バッテリ給電で用いるには適している。
【0008】
フラット・パネル・カラー・ディスプレイの品質が向上し続け、しかもその価格が低下するに連れて、フラット・パネル・ディスプレイは、デスクトップ用途において、CRTディスプレイにとって代わり始めている。したがって、フラット・パネル・ディスプレイ、特にLDCは、これまでよりも更に一般化しつつある。
【0009】
長年に渡って、コンピュータ・スクリーン上における、フォント、例えば、文字集合の発生および表示を含む、殆どの画像処理技術が開発され、CRTディスプレイ装置上の表示に対して最適化されてきた。
【0010】
生憎、既存のテキスト表示ルーチンは、フラット・パネル・ディスプレイ装置に独特な物理的特性を考慮していない。これらの物理的特性は、CRT装置の特性とは、特にRGBカラー光源の物理的特性に関して、大きく異なる。
【0011】
カラーLCDディスプレイは、ここでは、画素サブエレメントまたは画素サブコンポーネントと呼ぶ、多数の別個のアドレス可能なエレメントを利用して、表示する画像の各画素を表現するディスプレイ装置の一例である。通常、カラーLCDディスプレイ上の各画素は、単一の画素エレメントによって表現され、大抵の場合、3つの非正方形エレメント、即ち、赤、緑および青(RGB)画素サブコンポーネントから成る。したがって、1組のRGB画素サブコンポーネントが一緒になって、単一の画素エレメントを構成する。公知の種類のLCDディスプレイは、一連のRGB画素サブコンポーネントを備え、一般に、ディスプレイに沿ってストライプを形成するように構成されている。RGBストライプは、通常、一方向においてディスプレイの全長に及んでいる。得られるRGBストライプのことを、「RGBストライピング」とも呼ぶこともある。コンピュータ用途に用いられる一般的なLCDモニタは、縦よりも横に広く、RGBストライプが縦方向に延びている場合が多い。
【0012】
図2Aは、ディスプレイ102として用いることができる、複数の行(R1〜R12)および列(C1〜C16)から成る公知のLCD画面200を示す。各行/列の交差部が、1つの画素エレメントを表す正方形を形成する。図2Bは、公知のディスプレイ200の左上部分を更に詳しく示す。
【0013】
尚、図2Bでは、各画素エレメント、例えば、(R1,C4)画素エレメントが、3つの別個のサブエレメント即ちサブコンポーネント、赤サブコンポーネント206、緑サブコンポーネント207および青サブコンポーネント208から成ることを注記しておく。公知の各サブコンポーネント206、207、208は、画素の幅の1/3または約1/3であり、一方その高さは、画素の高さと等しいかほぼ等しい。したがって、組み合わせると、3つの1/3幅の画素サブコンポーネント206、207、208が単一の画素エレメントを形成する。
【0014】
図2Aに示すように、RGB画素サブコンポーネント026、207、208の1つの公知の構成では、ディスプレイ200の下に向かう垂直なカラー・ストライプとして現れるものを形成する。したがって、図2Aおよび図2Bに示す公知の形態では、1/3幅のカラー・サブコンポーネント206、207、208の配列を「縦型ストライピング」と呼ぶこともできる。
【0015】
図示の目的上図2Aに示すのは12行および16列のみであるが、一般的な列×行の比は、例えば、640×480、800×600、および1024×768を含む。尚、公知のディスプレイ装置は、通常、ランドスケープ状に配置したディスプレイ、即ち、図2Aに示すように、縦よりも横の方が広く、ストライプが縦方向に走るモニタとなっている。
【0016】
LCDを製造する際、画素のサブコンポーネントをいくつかの追加パターンに配列する。これらのパターンには、例えば、ジグザグ・パターン、およびカムコーダのビュー・ファインダでは一般的な、デルタ・パターンが含まれる。本発明の特徴は、このような画素サブコンポーネント配列と共に用いることができるが、RGBストライピング構成の方が一般的であるので、本発明の例示の実施形態は、RGBストライプ・ディスプレイに関連して説明することとする。
【0017】
従来より、1つの画素エレメントに対する各画素サブコンポーネント集合は、単一の画素単位として扱われている。したがって、公知のシステムでは、画素エレメントの全画素サブコンポーネントに対する光度値は、画像の同じ部分から発生する。例えば、図2Cに示す格子220によって表現する画像について考える。図2Cでは、各正方形は、単一の画素エレメント、例えば、格子230の対応する正方形の赤、緑および青画素サブコンポーネントによって表現する画像のエリアを表す。図2Cでは、斜線を付けた円を用いて、光度値を発生する単一の画像サンプルを表している。尚、公知のシステムでは、画像220の単一サンプル22をどのように用いて、赤、緑、および青画素サブコンポーネント232、233、234の各々に光度値を発生するのかに注目すること。このように、公知のシステムでは、一般に、RGB画素サブコンポーネントを1つのグループとして用い、表現する画像の単一サンプルに対応する単一のカラー画素を発生する。
【0018】
各画素サブコンポーネント・グループからの光は、実際には互いに加算し合って、単一カラーの効果が得られる。その色相、彩度、および強度は、3つの画素サブコンポーネントの各々の値によって決まる。例えば、各画素サブコンポーネントは、0から255までの間の強度を有することができる。3つの画素サブコンポーネント全てに255の強度を与えた場合、目は画素を白として認知する。しかしながら、3つの画素サブコンポーネントの全てに、当該3つの画素サブコンポーネントをオフにする値を与えた場合、目は黒い画素を認知する。各画素サブコンポーネントのそれぞれの強度を変化させることにより、これら2つの極値の間で、何百万ものカラーを発生することが可能となる。
【0019】
公知のシステムでは、単一のサンプルを、各々幅が画素の1/3である3つの画素サブコンポーネントにマッピングするので、左右の画素サブコンポーネントの空間変位が発生する。何故なら、これらのエレメントの中心がサンプルの中心から1/3にあるからである。
【0020】
例えば、表現する画像が赤い立方体であり、緑および青コンポーネントが0に等しい場合を検討する。サンプルおよび緑画像サブコンポーネント間の変位の結果、図2Aに示すタイプのLCDディスプレイ上に表示した場合、ディスプレイ上における立方体の見掛け上の位置は、その実際の位置より1画素の1/3だけ左にずれることになる。同様に、青い立方体は、画素の1/3だけ右に変位して見えることになる。このように、LCDスクリーンに用いる公知のイメージング技術では、望ましくない画像の変位誤差が生ずる可能性がある。
【0021】
テキスト・キャラクタは、一種の画像を表し、1インチ当たり72または96ドット(画素)(dpi)の典型的なフラット・パネル・ディスプレイの解像度では、精度高く表示することは特に困難である。このような表示解像度は、殆どのプリンタに対応する600dpiや、書籍や雑誌のように市販の印刷文書において見られる、それよりも更に高い解像度よりも、遥かに劣っている。
【0022】
殆どのビデオディスプレイ装置の表示解像度が比較的低いために、特に、10、12、および14ポイントのフォントといった共通のテキスト・サイズでは、滑らかなキャラクタ形状を描くために十分な画素が得られない。このような共通のテキスト・レンダリング・サイズでは、同じタイプフェースの異なるサイズおよびウェイト(weight)、例えば、厚さの間の諧調は、それらの印刷による同等物よりも遥かに粗雑である。
【0023】
標準的な画素の比較的粗いサイズは、エイリアス効果を生じやすく、表示したタイプ・キャラクタのエッジがぎざぎざになってしまう。例えば、粗いサイズの画素では、タイプフェース・キャラクタを形成するストロークの端部、例えば、底部におけるセリフ、短いラインまたは装飾を正方形に仕切ってしまう(squaring off)場合が多い。このために、セリフを幅広く用いる傾向がある、多くのとても面白いまたは装飾付きのタイプフェースを精度高く表示することが困難となる。
【0024】
このような問題は、特に、キャラクタのステム、例えば、細い垂直部分において顕著である。画素は従来のモニタの最少表示単位であるので、従来の技術を用いて、1画素のステムのウェイト未満で、キャラクタのステムを表示することはできない。更に、ステムのウェイトは、一度に1画素についてのみ、増加できるに過ぎない。したがって、ステムのウェイトは、1ないし2画素の幅で跳んでしまう。多くの場合、1画素幅のキャラクタ・ステムは細すぎ、一方2画素幅のキャラクタ・ステムは太すぎる。小さなキャラクタのタイプフェースをボールドフェースでディスプレイ画面上に作成するには、ステム・ウェイトを1画素から2画素に変更する必要があるので、両者間のウェイトの差は100%となる。印刷では、ボールドは、典型的に、その通常の即ちローマン・フェースの同等物よりも20または30パーセント重いだけに過ぎない。一般に、この「1画素、2画素」問題は、ディスプレイ装置に固有特性として扱われており、単に受け入れざるを得ないこととなっている。
【0025】
従来のキャラクタ表示分野における研究は、部分的に、CRTディスプレイ上におけるキャラクタの表示を改善するために設計されたエリアシング防止技術の開発を中心に進められてきた。一般に用いられるエリアシング防止技術は、キャラクタの縁を含む画素に、グレーの中間調を用いなければならない。実際、これのために、形状ににじみが生じ、縁の空間周波数の低下を招くが、意図するキャラクタ形状の近似は改善する。公知のエリアシング防止技術は、CRTディスプレイ装置上に表示されるキャラクタの品質を格段に改善することができるが、これらの技術の多くは、LCDディスプレイ装置に適用した場合、画素サブコンポーネント配列に関してCRTディスプレイとは著しく相違するため、効果が得られない。
【0026】
更に別の問題は、このようなエリアシング防止技術は大きさサイズのテキストには正しく作用するが、人が読み取るのに最も適したサイズ、典型的に8ないし13ポイントでは、テキストをぼかすという影響がある。人の読み手にとって、この影響は、誰か他の人に処方しためがねで読もうとすることに似ている。読み手の目は、画像に連続的に合焦しようとするのであり、本来焦点を外すことができない。このため、すぐに目の疲れおよび疲労が生じ、読み続ける場合、従来のエリアシング防止技術では満たされなくなる。
【0027】
エリアシング防止技術は、少なくともCRTディスプレイ上において、テキストを比較的低い解像度で表示する場合に伴うエリアシングの問題には役立ったが、画素サイズの問題、および精度高くキャラクタ・ステム幅を表示することができないという問題は、本発明以前では、ディスプレイ装置の不変の特性であり、耐える以外にないと考えられていた。
【発明の概要】
【発明が解決しようとする課題】
【0028】
前述に鑑み、フラット・パネル・ディスプレイ装置上にテキストを表示する新規で改良された方法および装置が求められていることは明らかである。その新たな方法の少なくとも一部は、既存のディスプレイ装置およびコンピュータと共に用いるのに適していることが望ましい。また、少なくとも一部の方法および装置は、例えば、テキストを表示する新たなディスプレイ装置および/または新たな方法を用いて、新たなコンピュータ上に表示するテキストの品質向上を目的とすることが望ましい。
【0029】
グラフィクスの特殊な場合であるテキストの表示は、多くのコンピュータ・アプリケーションにおいて主要な関心事であるが、その他のグラフィクス、幾何学的形状、例えば、円、正方形等や、写真のような取り込んだ画像を高精度かつ明確に表示するように改良した方法および装置も求められている。
【課題を解決するための手段】
【0030】
(本発明の概要)
本発明は、出力装置、例えば、LCDディスプレイの多数の別個の部分を利用して画像の単一画素を表す、画像表示方法および装置を目的とする。
【0031】
本願の発明者は、光の強度が変化する輝度の縁に対する方が、色の強度が変化するクロミナンスの縁に対するよりも人の目が敏感であるという公知の原理を認識した。これは、例えば、緑の背景上で赤いテキストを読み取ることが非常に難しいことの理由である。また、目は、赤、緑および青の色に対して等しく感応しないという公知の原理も、発明者は認識した。実際、完全に白い画素における100パーセント光度の内、赤い画素サブコンポーネントは、認知される輝度全体に対して約30%、緑は60%、そして青は10%寄与する。
【0032】
本発明の種々の特徴は、ディスプレイの個々の画素サブコンポーネントを独立した光度源として利用することにより、ディスプレイの有効解像度を、RGBストライピングの方向に対して垂直な次元において、3倍もの高さに高めることを目的とする。これによって、視覚可能な解像度の大幅な改良が可能となる。
【0033】
本発明の方法は、公知の表示技術と比較すると、クロミナンスの品質に多少の低下を伴う場合もあるが、前述のように、人間の目は、クロミナンスよりも輝度の縁に対して敏感である。したがって、本発明は、カラー品質に及ぼす本発明の技術の悪影響を考慮してもなお、従来のレンダリング技術に比較して、画像の品質を大幅に改良することができる。
【0034】
前述のように、公知のモニタは垂直ストライピングを用いる場合が多い。キャラクタ・ステムは垂直方向に現れ、水平方向に流れるテキストをレンダリングする場合、垂直ラインの厚さを精度高く制御する能力の方が、水平ラインの厚さを制御する能力よりも重要な場合が多い。これを念頭にいれ、少なくともテキストの用途では、モニタの最大解像度は、垂直方向ではなく、水平方向に有する方が望ましいという場合が多い。したがって、本発明にしたがって実現する種々のディスプレイ装置は、水平ではなく、垂直RGBストライピングを利用する。これによって、このようなモニタは、本発明にしたがって利用すれば、垂直方向よりも水平方向の解像度の方が高くなる。しかしながら、本発明は、水平RGBストライピングのモニタにも同様に適用可能であり、従来の画像レンダリング技術に比較して、垂直方向の解像度を高めることが可能となる。
【0035】
画素サブコンポーネントを独立した光度源として扱う場合に用いて好適な新たなディスプレイ装置に加えて、本発明は、本発明による画素サブコンポーネントの使用を容易にする、新たな改良したテキスト、グラフィクスおよび画像レンダリング技術も目的とする。
【0036】
テキストを含む画像の表示は、例えば、画像スケーリング、ヒンティング(hinting)およびスキャン変換を含む、いくつかのステップを伴う。
【0037】
本発明の画像スケーリング技術は、RGBストライピングの方向におけるスケーリングのレートよりも高いレートで、RGBストライピングの方向に対して垂直な次元における、テキストの幾何学的表現のスケーリングを伴う。このような非均一スケーリング技術によって、後続の処理動作は、画素サブコンポーネントを個々の光度源として扱うことによって得られる解像度の事実上の向上を最大限利用することが可能となる。また、ストライピングに対して垂直な方向におけるスケーリングは、後続のスキャン変換動作において用いる1つ以上の重み係数の関数として形成することも可能である。したがって、ストライピングに対して垂直な方向のスケーリングは、ストライピングの方向に行なうスケーリングの多数倍、例えば、10倍とすることも可能である。
【0038】
新たなスケーリング方法に加えて、本発明は、ヒンティング動作を行なう新たな方法も目的とする。これらの方法は、公知のヒンティング動作において考慮する画素の境界に加えて、画像内の画素サブコンポーネントの境界を考慮に入れる。垂直ストライピングのディスプレイ装置と共に用いるために行われるヒンティング動作の中には、画素の縁全域で常に青および赤の画素サブコンポーネント間に現れるのではなく、キャラクタを画素サブコンポーネントの境界に沿って整列させ、キャラクタ・ステムが赤、青または緑画素サブコンポーネントで隣接するか、またはその内側に来るようにすることを、1ステップとして、伴う場合もある。
【0039】
他のヒンティング動作には、水平ストライピングのディスプレイ装置と共に用いるために実行することもできるものもある。このようなヒンティング動作は、1ステップとして、画素サブコンポーネントの境界に沿ってキャラクタの底辺を位置合わせし、キャラクタの底辺のボーダが、画素の縁全体ではなく、赤または青の画素サブコンポーネント内に入るようにする。
【0040】
本発明によれば、ヒンティング動作の一部として、画像内の垂直および/または水平ラインの幅を、画素サブコンポーネント境界の関数として調節することも可能である。これによって、画素サブコンポーネント境界ではなく、画素境界(縁)全域の位置の関数としてヒンティングを実行する公知のシステムにおけるよりも画像形状が歪む場合に、より精細な調節をヒンティング・プロセスで行なうようにすることが可能となる。
【0041】
スキャン変換は、通常、ヒンティングの後に行なう。スキャン変換とは、画像の幾何学的表現をビットマップに変換するプロセスのことである。本発明のスキャン変換動作は、画像の異なる部分を異なる画素サブコンポーネントにマッピングすることを伴う。これは、画像の同じ部分を用いて光度値を判定し、1つの画素を表す3つの画素サブコンポーネントの各々と共に用いる、公知のスキャン変換技術とは全く異なる。
【0042】
RGB画素サブコンポーネントを独立した光度源として扱うことの結果、色縁効果(color fringing effect)が生ずる可能性もある。本発明の特徴の1つは、ビットマップ画像を処理し、望ましくない色縁効果を検出することを対象とする。本発明の別の特徴は、ビットマップ画像上でカラー処理動作を行い、望ましくない色縁効果を低減または補償することを対象とする。
【0043】
本発明の別の特徴は、グレー・スケール・ディスプレイ、およびグレー・スケール画像、例えば、テキスト、およびカラー画像を表示可能なディスプレイを対象とする。
【0044】
本発明は、矩形ディスプレイ・エレメントを有するグレー・スケール・モニタを含み、第1の次元、例えば、水平次元が、第1の次元に垂直な第2の次元、例えば、垂直次元の解像度の倍数となっている。例示の一実施形態では、水平方向の解像度が垂直方向の3倍のグレー・スケール・ディスプレイを提供する。
【0045】
グレー・スケールおよびカラー・ディスプレイ装置双方として動作可能なディスプレイ、例えば、LCDディスプレイも想定している。このようなディスプレイの1つでは、ディスプレイのカラー部分を実現するために用いるカラー・フィルタを、ディスプレイの別個のグレー・スケール部分から省略する。テキスト、例えば、キャプションを表示する際にはディスプレイのグレー・スケール部分を用い、カラー画像、例えば、グラフィクスを表示する際にはディスプレイのカラー部分を用いる。
【0046】
本発明の別のディスプレイでは、カラー動作モードおよび透明動作モード間で切り換え可能なフィルタ・セルを備えたカラー・フィルタを採用する。画像、例えば、テキストをグレー・スケール画像として表示する場合、このグレー・スケール画像を表示するために用いるディスプレイの対応するフィルタ・セルを、透明動作モードに切り換える。このような実施形態では、ディスプレイの残りの部分または複数の残りの部分は、カラー画像を表示するために用いることができる。
【0047】
本発明の方法および装置の数多くの追加の特徴、実施形態および利点は、以下の詳細な説明に明記してある。
【図面の簡単な説明】
【0048】
【図1】公知の携帯用コンピュータの図である。
【図2A】公知のLCD画面の図である。
【図2B】図2Aに示す公知の画面の一部を、図2Aの図よりも詳細に示す図である。
【図2C】公知のシステムにおいて実行する画像サンプリング動作を示す図である。
【図3】後続のテキスト発生および表示において用いるために、キャラクタ情報を準備し格納する際に行われる公知のステップを示す図である。
【図4】本発明の一実施形態にしたがってポートレート用の向きに配置したフラット・パネル・ディスプレイを備えた電子ブックを示す図である。
【図5】本発明にしたがって実現したコンピュータ・システムを示す図である。
【図6】本発明の実施形態の一例にしたがって実行する画像サンプリングを示す図である。
【図7A】本発明にしたがって実現したカラー・フラット・パネル・ディスプレイ画面を示す図である。
【図7B】図7Aのディスプレイ画面の一部を示す図である。
【図7C】本発明の別の実施形態にしたがって実現したディスプレイ画面を示す図である。
【図8】コンピュータ・システムのディスプレイ上にテキスト画像をレンダリングするために用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す図である。
【図9A】本発明の一実施形態にしたがって、テキストにレンダリングを行い表示する方法を示す図である。
【図9B】図9Aのステップ915において行なうカラー処理/調節を実現するために用いることができる、本発明のカラー補償サブルーチン813の一例を示す図である。
【図9C】本発明の実施形態の一例にしたがって実装した画素カラー処理サブルーチンを示す図である。
【図9D】本発明の実施形態の一例にしたがって実装した画素カラー処理サブルーチンを示す図である。
【図10】図10A、図10Bは、本発明の種々の実施形態例にしたがって実行するスケーリング動作を示す図である。
【図11A】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【図11B】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【0049】
【図12A】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図12B】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図13】図12Aに示した画像データの第1列に適用するスキャン変換プロセスを更に詳細に示す図である。
【図14】本発明の一実施形態にしたがって実行する加重スキャン変換動作を示す図である。
【図15】画素のフィールド上に表示するキャラクタの高解像表現を示す図である。
【図16】公知の技術を用いた場合に、図15のキャラクタがどのように示されるかを示す図である。
【図17】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図18】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図19】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図20】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図21】図21Aは、公知のカラーLCD画面の構造を示す図である。図21Bは、フォントから見た場合に、図21Aの公知の画面がどのように見えるかを示す図である。
【図22】図22Aは、本発明の実施形態の一例にしたがって実現したグレー・スケールLCDの構造を示す図である。図22Bは、フォントから見た場合に、図22Aの画面がどのように見えるかを示す図である。
【図23】図23Aは、本発明にしたがって実現した、カラー部分およびグレー・スケール部分双方を有するLCDの構造を示す図である。図23Bは、フォントから見た場合に、図23Aの画面がどのように見えるかを示す図である。
【図24】図24Aは、本発明の別の実施形態にしたがって実現したLCDにおいて、その全てまたは一部をカラー動作モードおよびグレー・スケール動作モード間で切り換え可能とした構造を示す図である。図24Bは、フォントから見た場合に、図24Aの画面がどのように見えるかを示す図である。
【発明を実施するための形態】
【0050】
(詳細な説明)
前述のように、本発明は、出力デバイスの多数の別個の区域、例えば、液晶ディスプレイの画素サブコンポーネントを利用して、画像の単一画素を表現することができるディスプレイ装置上において、画像、例えば、テキストおよび/またはグラフィックスを表示する方法および装置に関する。
【0051】
本発明の種々の方法は、1画素を構成する1組のRGB画素サブコンポーネントを単一の光度単位として扱うのではなく、各画素サブコンポーネントを別個の独立した光度源として用いようとするのである。これによって、RGB水平または垂直ストライピングのディスプレイ装置を、ストライピングの次元における有効解像度が他の次元よりも3倍高いものとして扱うことが可能となる。本発明の種々の装置は、サブ画素コンポーネントを個別に制御できることを利用した、ディスプレイ装置および制御装置を目的とする。
【0052】
図4は、本発明の一実施形態にしたがって実現したコンピュータ化電子ブックデバイス400を示す。図4に示すように、電子ブック400は、本の奇数ページおよび偶数ページを表示するための第1および第2ディスプレイ画面402、404をそれぞれ備えている。更に、電子ブック400は、入力デバイス、例えば、キーパッドまたはキーボード408、およびデータ記憶装置、例えば、CDディスク・ドライブ407を備えている。蝶番406を備えているので、使用しない場合、電子ブック400を折曲げてディスプレイ402、404を保護することができる。内部バッテリを用いて電子ブック400に給電することができる。同様に、本発明の他の携帯用コンピュータの実施形態も電池による給電が可能である。
【0053】
図5および以下の論述は、本発明の少なくとも一部の態様を実現可能な装置例について、端的な全体的説明を与える。本発明の種々の方法は、全体的に、電子ブック400またはパーソナル・コンピュータのようなコンピュータ・デバイスによって実行する、コンピュータ実行可能命令、例えば、プログラム・モジュールに関連付けて、説明する。本発明の他の態様は、物理的なハードウエア、例えば、ディスプレイ装置コンポーネントおよびディスプレイ画面等に関して説明する。
【0054】
本発明の方法は、ここに記載する特定のコンピュータ・デバイス以外の装置でも実行可能である。プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むことができ、タスク(複数のタスク)を実行したり、あるいは特定の抽象的データ・タイプを実装する。更に、当業者は、本発明の態様の少なくとも一部は、他の構成と共にでも実施可能であることを認めよう。その中には、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ中核またはプログラム可能消費者電子機器、ネットワーク・コンピュータ、ミニコンピュータ、セット・トップ・ボックス、メインフレーム・コンピュータ、例えば、自動車、航空機、工業的用途等に用いるディスプレイを含む。また、本発明の態様の少なくとも一部は、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行する分散型計算機環境においても実施可能である。分散型計算機環境では、ローカルおよび/またはリモートのメモリ記憶装置に、プログラム・モジュールを配置することができる。
【0055】
図5を参照すると、本発明の態様の少なくとも一部を実現する装置の一例500は、汎用計算デバイス、例えば、パーソナル・コンピュータ520を含む。パーソナル・コンピュータ520は、演算装置521、システム・メモリ522、ならびにシステム・メモリ522ないし演算装置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と結合することができる。ドライブおよびそれらに関連する記憶媒体は、機械読み取り可能命令、データ構造、プログラム・モジュールおよびパーソナル・コンピュータ520のためのその他のデータの不揮発性格納を行なう。ここに記載する環境の一例では、ハード・ディスク、リムーバブル磁気ディスク529およびリムーバル光ディスク531を採用するが、当業者は、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)等のような、その他の種類の記憶媒体も、先に紹介した記憶装置の代わりに、またはこれらに加えて、使用可能であることを認めよう。
【0056】
例えば、オペレーティング・システム535、1つ以上のアプリケーション・プログラム536、その他のプログラム・モジュール537、および/またはプログラム・データ538のような多数のプログラム・モジュールを、ハード・ディスク527、磁気ディスク529、(磁気)光ディスク531、ROM524またはRAM525上に格納することができる。ユーザは、例えば、キーボード540およびポインティング・デバイス542のような入力デバイスによって、パーソナル・コンピュータ520にコマンドおよび情報を入力することができる。マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等のようなその他の入力デバイス(図示せず)も含むことができる。多くの場合、これらおよびその他の入力デバイスは、システム・バス523に結合されているシリアル・ポート・インターフェース546を介して、演算装置521に接続されている。しかしながら、入力デバイスは、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースによって接続することも可能である。また、例えば、ビデオ・アダプタ548のようなインターフェースを介して、モニタ547またはその他のディスプレイ装置をシステム・バス523に接続することも可能である。装置500は、第2ディスプレイ装置の追加により、ブック400を実現するために用いることも可能である。モニタ547に加えて、パーソナル・コンピュータ520は、例えば、スピーカやプリンタのような、その他の周辺出力デバイス(図示せず)も含むことができる。
【0057】
パーソナル・コンピュータ520は、リモート・コンピュータ549のような1つ以上のリモート・コンピュータに対する論理接続を規定する、ネットワーク環境においても動作可能である。リモート・コンピュータ549は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイスまたはその他の一般的なネットワーク・ノードとすることもでき、更にパーソナル・コンピュータ520に関連して先に述べたエレメントの多くまたは全てを含むこともできる。図5に示す論理接続は、ローカル・エリア・ネットワーク(LAN)551およびワイド・エリア・ネットワーク(WAN)522、イントラネットならびにインターネットを含む。
【0058】
LANにおいて用いる場合、パーソナル・コンピュータ520は、ネットワーク・インターフェース・アダプタ(即ち、「NIC」)553を介してLAN551に接続することができる。インターネットのようなWANにおいて用いる場合、パーソナル・コンピュータ520は、モデム554、またはワイド・エリア・ネットワーク552上で通信を確立するその他の手段を含めばよい。モデム554は、内蔵でも外付けでもよく、シリアル・ポート・インターフェース546を介してシステム・バス523に接続することができる。ネットワーク環境では、パーソナル・コンピュータ520に関連して先に示したプログラム・モジュールの少なくとも一部をリモート・メモリ記憶装置に格納することができる。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能である。
【0059】
図7Aは、本発明の一実施形態にしたがって実現したディスプレイ装置600を示す。ディスプレイ装置600は、例えば、フラット・パネル・ディスプレイが望ましい携帯用コンピュータまたはその他のシステムにおける使用に適している。ディスプレイ装置600は、LCDディスプレイとして実現することができる。一実施形態では、公知のコンピュータ100の表示および制御ロジックを、本発明のディスプレイ装置600および表示制御ロジック、例えば、ルーチンと置換し、携帯用コンピュータに、水平RGBストライピングおよび画像の異なる部分を表すために用いる画素サブコンポーネントを備える。
【0060】
図示のように、ディスプレイ装置600は、16列の画素エレメントC1〜C16、および12行の画素エレメントR1〜R12を含み、16×12画素を有するディスプレイとなる。ディスプレイ600は、殆どのコンピュータ・モニタの場合と同様、縦よりも横の方が大きくなるように配置されている。ディスプレイ700は、本特許における図示の目的上16×12画素に限定しているが、図7Aに示すタイプのモニタは、あらゆる数の垂直および水平画素エレメントでも有することができ、例えば、640×840、800×600、1024×768および1280×1024という水平対垂直画素比、更には正方形表示が得られる比率を有するディスプレイも可能である。
【0061】
ディスプレイ600の各画素エレメントは、3つのサブコンポーネント、赤画素サブコンポーネント602、緑画素サブコンポーネント604、および青画素サブコンポーネント606を含む。図7Aの実施形態では、各画素サブコンポーネント602、604、606は、画素の高さの1/3に等しいまたはほぼ等しい高さ、および画素の幅に等しいまたはほぼ等しい幅を有する。
【0062】
モニタ600において、RGB画素サブコンポーネントは、水平ストライプを形成するように配列する。これは、前述のモニタ200に用いた垂直ストライプ配列とは逆である。特に、モニタ600は、例えば、アプリケーション上水平解像度よりも垂直解像度の方が高いことが望ましいグラフィクス・アプリケーションにおいて用いるとよい。
【0063】
図7Bは、ディスプレイ600の左上部分を更に詳細に示す。図7Bでは、水平RGBストライピング・パターンを明確に見ることができ、文字R、GおよびBを用いて、対応する色の画素サブコンポーネントを示す。
【0064】
図7Cは、本発明にしたがって実現した他のディスプレイ装置700を示す。図7Cは、水平画素エレメントよりも垂直画素エレメントの方が多いディスプレイ装置、例えば、LCDディスプレイにおける垂直RGBストライピングの使用を示す。12×16ディスプレイを示すが、ディスプレイ700は、あらゆる数の画素列/行でも実現可能であり、正方形の表示が得られる列/行比も含むことは理解されよう。
【0065】
ディスプレイ装置700は、水平に流れるテキストのポートレート・タイプ表示が望ましい場合に特に適している。図7Cに示すタイプのディスプレイ装置は、電子ブック400のディスプレイ402、404として用いることができる。図6のモニタの場合と同様、各画素エレメントは、3つのサブ画素コンポーネント、即ち、R、G、およびB画素サブコンポーネントから成る。
【0066】
ディスプレイ7Aはある種のグラフィクス・アプリケーションには望ましいが、高品質のキャラクタを生成するには、キャラクタ・ステムの正確な表現、キャラクタの比較的長く細い垂直部分の方が、セリフの表現よりも遥かに重要である。垂直ストライピングは、本発明にしたがって用いる場合、一度に画素の幅の1/3だけステムを調節可能であるという、格別の利点を有する。したがって、垂直ストライピング配列を有する装置200または700のようなディスプレイ装置を、本発明の表示方法と共に用いることにより、ステムの調整が1画素ずつに限定される公知の水平ストライピング配列よりも、高い品質のテキストを得ることができる。
【0067】
垂直ストライピングの別の利点として、画素サイズよりも小さい刻みの幅、例えば、画素サイズの1/3刻みでキャラクタの間隔を調節できることがあげられる。キャラクタ間隔は、読み易さ(legibility)にとっては重要なテキスト特性である。したがって、垂直ストライピングを用いることによって、テキスト間隔の改善、およびステムのウェイトの精細化を得ることができる。
【0068】
図8は、本発明によるコンピュータ・システムのディスプレイ上にテキスト画像をレンダリングする際に用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す。
【0069】
図示のように、アプリケーション・ルーチン536は、例えば、ワード・プロセッサ・アプリケーションとすることができ、テキスト出力サブコンポーネント801を含む。テキスト出力サブコンポーネント801は、矢印813で表すように、テキスト情報をオペレーティング・システム535に出力し、ディスプレイ装置547上にレンダリングする役割を担う。テキスト情報は、例えば、レンダリングするキャラクタを識別する情報、レンダリングの間に用いるフォント、およびキャラクタをレンダリングする際のポイント・サイズを含む。
【0070】
オペレーティング・システム535は、ディスプレイ装置547上におけるテキストの表示を制御する役割を担う種々のコンポーネントを含む。これらのコンポーネントは、表示情報815、ディスプレイ・アダプタ814、およびグラフィクス・ディスプレイ・インターフェース802を含む。表示情報815は、例えば、レンダリングの間に適用するスケーリングに関する情報、および/または前景/背景カラー情報を含む。ディスプレイ・アダプタは、グラフィクス・ディスプレイ・インターフェース802からビットマップ画像を受け取り、ビデオ信号を発生し、ビデオ・アダプタ548に供給して、ディスプレイ547による光学的表示を行なう。矢印815は、ビットマップ画像のグラフィクス・ディスプレイ・インターフェース802からディスプレイ・アダプタ814への通過を表す。
【0071】
グラフィクス・ディスプレイ・インターフェース802は、テキストだけでなくグラフィクスを処理するためのルーチンも含む。エレメント804は、テキストを処理するために用いる、タイプ・ラスタライザである。タイプ・ラスタライザは、アプリケーション536から得たテキスト情報を処理し、これからビットマップ表現を発生する役割を担う。タイプ・ラスタライザ804は、キャラクタ・データ806、ならびにレンダリングおよびラスタ化ルーチン807を含む。
【0072】
キャラクタ・データ806は、例えば、ベクトル・グラフィクス、ライン、ポイントおよび曲線を含み、1組以上のキャラクタの高解像度ディジタル表現が得られる。
【0073】
図3に示すように、テキスト・キャラクタ302を処理し、データ806のような、その高解像度ディジタル表現を発生し、これをメモリに格納しておきテキスト発生の間に使用できるようにすることは公知である。したがって、データ806の発生304および格納306については、ここでは詳細に論じないことにする。
【0074】
レンダリングおよびラスタ化ルーチン807は、スケーリング・サブルーチン808、ヒンティング・サブルーチン810、スキャン変換サブルーチン812およびカラー補償ルーチン813を含む。スケーリング、ヒンティングおよびスキャン変換動作を実行しテキスト画像をレンダリングすることは普通のことであるが、本発明のルーチンおよびサブルーチンは、画面のRGB画素サブコンポーネントを別個の光度エンティティとして利用するかあるいは扱い、レンダリングする画像の異なる部分を表現するために使用できるようにした点において、公知のサブルーチンとは異なっている。カラー補償サブルーチン813は、スキャン変換サブルーチン812によって作成したビットマップ画像に対してカラー補償調節を実行し、画素の3つのカラー・サブコンポーネントの各々を別個の光度エレメントとして扱ったことによって生じ得る、望ましくない色縁効果を補償する役割を担う。本発明のサブルーチン808、810、812および813の各々が実行する動作について、これより詳細に説明する。
【0075】
図9Aは、本発明にしたがって表示のためにテキストのレンダリングを行なう際に用いるレンダリングおよびラスタ化ルーチン807を示す。図示のように、ルーチン807はステップ902において開始し、例えば、オペレーティング・システム535の制御の下で、アプリケーション536からのテキスト情報の受信に応答してルーチンを実行する。ステップ904において、テキスト・レンダリングおよびラスタ化ルーチン807が入力を受け取る。入力は、アプリケーション536から得た、テキスト、フォント、およびポイント・サイズ情報905を含む。
【0076】
加えて、入力は、例えば、オペレーティング・システムによってメモリに格納されているモニタ設定値から得た、スケーリング情報および/または前景/背景カラー情報や画素サイズ情報も含む。また、入力は、データ806も含み、これには、例えば、ライン、ポイントおよび/または曲線という形態での、表示するテキスト・キャラクタの高解像表現が含まれる。
【0077】
ステップ904において入力を受け取ると、動作はステップ910に進み、スケーリング・サブルーチン808を用いてスケーリング動作を実行する。本発明によれば、非正方形スケーリング(non-square scaling)は、各画素エレメントに含まれる画素サブコンポーネントの方向および/または数の関数として実行する。即ち、高解像キャラクタ・データ、例えば、受け取ったテキストおよびフォント情報による指定により表示するキャラクタのラインおよびポイント表現のスケーリングを、ストライピングに対して垂直な方向に、ストライピングの方向よりも大きいレートで行なう。これによって、後続の画像処理動作は、本発明にしたがって、個々の画素サブコンポーネントを独立した光度源として用いることによって得られる、より高い解像度を利用することが可能となる。
【0078】
したがって、図7Aに示すタイプのディスプレイを装置として用い、その上にデータを表示する場合、垂直方向のスケーリングは、水平方向よりも大きなレートで行われる。垂直ストライピングの画面、例えば、図2および図7Cに示す画面の場合、水平方向のスケーリングは、垂直方向よりも大きなレートで行われる。
【0079】
垂直および水平画像方向間のスケーリングの相違は、用いるディスプレイならびに実行する後続のスキャン変換およびヒンティング・プロセスによって変動する可能性がある。ステップ904において得たスケーリング情報を含む表示情報をステップ910において用い、所与の実施形態において実行するスケーリングを決定する。
【0080】
本発明の種々の実施形態では、スケーリングは、ストライピングに対して垂直に、各画素を形成する画素サブコンポーネントの数とは無関係のレートで行われる。例えば、RGB画素サブコンポーネントを用いて各画素を形成する一実施形態では、スケーリングは、ストライピングに対して垂直な方向に、ストライピングの方向に行なうスケーリングのレートの20倍のレートで行われる。殆どの場合、キャラクタまたは画像のスケーリングは、ストライピングに対して垂直な方向に、赤、緑および青ストライプに更に分割可能なレートで、その光度寄与に比例して行なうが、必須ではない。
【0081】
図10Aは、図2Aに示すような、水平ストライピングのモニタ上における文字の表示を見越して、文字i1002の高解像表現に対して実行するスケーリング動作を示す。尚、この例では、水平(x)方向のスケーリングをx1のレートで適用し、一方垂直(Y)方向のスケーリングをx3のレートで適用することを注記しておく。その結果、元の文字1002よりも3倍縦に長く、幅は同一となった、スケーリング文字1004が得られる。
【0082】
図10Bは、図2および図7Cに示したような、垂直ストライプのモニタ上における文字の表示を見越して、文字i1002の高解像表現に対して実行するスケーリング動作を示す。尚、この例では、水平(X)方向のスケーリングをx3のレートで適用し、一方垂直(Y)方向のスケーリングをx1のレートで適用することを注記しておく。その結果、元のキャラクタ1002と同じ高さであるが、幅が3倍広い、スケーリング文字1008が得られる。
【0083】
他の量でスケーリングすることも可能である。例えば、後続のスキャン変換動作の一部として、画素サブコンポーネントに対する光度値を決定する際に、加重スキャン変換動作を連係させた場合、スケーリングは、RGBストライピングおよび用いる重みの関数として行われる。実施形態の一例では、RGBストライピングに対して垂直な方向のスケーリングは、スキャン変換動作の間に用いられる整数重みの和に等しいレートで行われる。特定的な一実施形態では、これによって、ストライピングに対して垂直な方向のスケーリングは10xのレートで行われ、一方ストライピングに対して平行な方向には1xのレートでスケーリングが行われる。
【0084】
再度図9Aを参照すると、一旦スケーリング動作をステップ910において完了したなら、動作はステップ912に進み、例えば、ヒンティング・サブルーチン810を実行することによって、スケーリングした画像のヒンティングを行なう。ヒンティング・プロセスを記述するために、格子フィッティング(grid-fitting)という用語を用いる場合もある。
【0085】
ヒンティング動作を図11Aおよび図11Bに示す。図11Aは、水平ストライピングのモニタ上に表示するようにした、スケーリング・キャラクタ1004のヒンティングを示す。図11Bは、垂直ストライピングのモニタ上に表示するようにした、スケーリング・キャラクタ1008のヒンティングを示す。
【0086】
ヒンティングは、後続のスキャン変換動作の一部として用いられる格子1102、1104内に、スケーリング・キャラクタ、例えば、キャラクタ1004、1008を位置合わせすることを伴う。また、格子の形状に画像をより良く一致させるように、画像の輪郭を歪ませることも伴う。格子は、ディスプレイ装置の画素エレメントの物理的サイズの関数として決定する。
【0087】
ヒンティングの間画素サブコンポーネントの境界を考慮に入れない従来技術とは異なり、本発明は画素サブコンポーネントの境界を、文字を位置合わせすることができる境界または位置合わせしなければならない境界として、あるいはキャラクタの輪郭を調節する境界として扱う。
【0088】
画素サブコンポーネントの境界の関数として本発明にしたがって実施するヒンティングは、カラー歪み、例えば、カラー・アーチファクトを低減するために用いることができる。これは、異なるカラー画素サブコンポーネントの各々を独立した光度源として扱うことの結果として生ずる場合がある。制御する光度に加えて、各画素サブコンポーネントは、色相および彩度を有し、これらは通常カラー・ディスプレイに内蔵するカラー・フィルタによって決定される定数である。サブ画素の光度が変化すると、画素全体のカラーも変化する。画素サブコンポーネントを独立した光度源として扱うことによって生ずるこれらカラーの変動が、人の目の注意を引く程になると、これらはアーチファクトとなり、人の目に合わせて画像を高精度に再現するディスプレイの機能を損なう可能性がある。乱れを招く虞れのあるアーチファクトは、回避するか極力抑えることが望ましい。
【0089】
例えば、ヒンティング・プロセスの一部として、縁の配置を調節すると、カラー・アーチファクトの低減または排除に多大な効果をあげることができる。頻繁に用いられる個々の画像、例えば、キャラクタでは、縁配置情報を、熟練植字工によって決定し、キャラクタ発生に用いるフォント情報の一部としてメモリに格納しておくことができる。ヒンティング動作の間、このような具体的なキャラクタ配置情報が利用可能であれば、ヒンティング・プロセスの間に適切なキャラクタ配置の決定に利用する。具体的な配置情報が格納されていない画像は、格納してある、一般に適用可能なヒンティング規則にしたがって、種々の画素および画素サブコンポーネントと位置合わせすればよい。
【0090】
本発明のヒンティング・プロセスは、使用可能な画素サブコンポーネントを用いてキャラクタの高精度表示を最適化することを意図して、格子内にキャラクタのスケーリング表現を、例えば、画素および画素サブコンポーネントの境界に沿ってまたはその内部に、位置合わせすることを伴う。多くの場合、これは、キャラクタ・ステムの左縁を、左側の画素またはサブ画素コンポーネントの境界に位置合わせし、更に文字の底辺の下端を画素コンポーネントまたはサブコンポーネントの境界に沿って位置合わせすることを伴う。
【0091】
垂直ストライピングの場合、キャラクタ・ステムが青または緑の左縁を有するように位置合わせしたステムを有するキャラクタは、一般に、赤の左縁を有するように位置合わせしたステップを有するキャラクタよりも読みやすいという傾向があることを、実験結果は示している。したがって、少なくとも一部の実施形態では、垂直ストライピングの画面上に表示するキャラクタのヒンティングの間、ステムに対して青または緑の左縁を、赤の左縁よりも、ヒンティング・プロセスの一部として優先する。
【0092】
水平ストライピングの場合、キャラクタの底辺の下端が赤または青の底辺縁を有するように位置合わせしたキャラクタは、一般に、緑の下端縁を有するように位置合わせした底面を有するキャラクタよりも読みやすいという傾向がある。したがって、水平ストライピングの画面上に表示するキャラクタのヒンティングの間、少なくとも一部の実施形態では、赤または青の底辺縁を、緑の底辺縁よりも、ヒンティング・プロセスの一部として優先する。
【0093】
図11Aは、スケーリング画像1104に対するヒンティング動作の適用を示す。ヒンティング・プロセスの一部として、スケーリング画像1104を格子1102上に配置し、その位置および輪郭を調節し、格子形状により良く一致させ、かつ所望の度合のキャラクタ間隔が得られるようにする。図11Aおよび図11Bにおける文字「G.P.」は、格子配置ステップを示し、一方ヒンティングという用語は、ヒンティング・プロセスの輪郭調節およびキャラクタ離間部分を示す。
【0094】
尚、画像1004のヒンティングを行い水平ストライピングを有する画面上に表示する図11Aでは、スケーリング画像1004をR/G画素サブコンポーネント境界に沿って位置付け、キャラクタ1004の底辺が赤の底辺縁を有するようにすることを注記しておく。加えて、画像の輪郭を調節し、画像の矩形部分が画素サブコンポーネント境界に隣接するようにする。その結果、ヒント画像1014が得られる。また、キャラクタ画像と画面上においてキャラクタ位置および間隔を決定するために用いる左および右側支持点(図示せず)との間の距離も、画素サブコンポーネント境界の関数として調節する。このように、本発明の種々の実施形態では、キャラクタ間隔を、画素サブコンポーネントの幅に対応する距離、例えば、画素幅の1/3に制御する。
【0095】
図11Bでは、画像1008にヒンティングを行い垂直ストライピングを有する画面上に表示するが、スケーリング画像1008をR/G画素サブコンポーネント境界に沿って位置付け、ヒント・キャラクタ1018のステムの左縁が緑の左縁を有するようにする。また、キャラクタの形状、および格子上におけるキャラクタの位置も調節する。キャラクタ間隔の調節も行なう。
【0096】
一旦ヒンティング・プロセスをステップ912において完了したなら、動作はステップ914に進み、本発明にしたがって、例えば、スキャン変換サブルーチン812を実行することによって、スキャン変換動作を行なう。
【0097】
スキャン変換は、スケーリングしたキャラクタを表す幾何学的形状のビットマップ画像への変換を伴う。従来のスキャン変換動作は、スケーリング画像の対応部分をマッピングすることができる個々の単位として、画素を扱っていた。したがって、従来のスキャン変換動作の場合、画像の同じ部分を用いて光度値を決定し、スケーリング画像の一部をマッピングする先である、画素エレメントのRGB画素サブコンポーネントの各々と共に用いる。図2Cは、公知のスキャン変換プロセスの一例であり、ビットマップとして表現する画像をサンプリングし、サンプル値から光度値を発生することを伴う。
【0098】
本発明によれば、画素のRGB画素サブコンポーネントは、独立した光度エレメントとして扱う。したがって、各画素サブコンポーネントを別個の光度コンポーネントとして扱い、これに、スケーリング画像の別個の部分をマッピングすることができる。このように、本発明は、スケーリング画像の異なる部分を、異なる画素サブコンポーネントにマッピングすることを可能とし、公知のスキャン変換技術によって可能な解像度よりも高い解像度を得ることができる。即ち、種々の実施形態において、スケーリング画像の異なる部分を用いて、各画素サブコンポーネントと共に用いる光度値を独立して決定する。
【0099】
図6は、本発明の一実施形態にしたがって実施するスキャン変換の一例を示す。図示の実施形態では、格子620で表す画像の別個の画像サンプル622、623、624を用いて、発生するビットマップ画像630の対応部分632、633、634と関連する赤、緑および青強度値を発生する。図6の例では、赤および青に対する画像サンプルは、それぞれ、緑のサンプルから1画素の幅の−1/3および+1/3の距離だけ変位している。このようにして、図2Cに示す公知のサンプリング/画像表現方法では発生する変位問題を回避する。
【0100】
図に示す例では、白を用いて、スキャン変換動作によって発生するビットマップ画像において「オンにする」画素サブコンポーネントを示す。白でない画素サブコンポーネントは「オフ」状態にある。
【0101】
黒いテキストの場合、「オン」は、当該画素サブコンポーネントに関連する強度値を制御して、画素サブコンポーネントが光を出力しないようにすることを暗示する。白い背景画素を想定すると、「オン」でないサブコンポーネントには、最大光出力を出力させる強度値が割り当てられることになる。
【0102】
前景および背景のカラーを用いる場合、「オン」は、3つの画素サブコンポーネント全てを用いて前景カラーを発生するとすれば指定の前景カラーを生成する値を、画素サブコンポーネントに割り当てることを意味する。「オン」でない画素サブコンポーネントには、3つの画素サブコンポーネント全てを用いて背景カラーを発生するとすれば指定の背景カラーを生成する値を割り当てる。
【0103】
スケーリング中、画素サブコンポーネントを「オン」にするか否かについて判定する第1の技法は、スケーリング格子の一部によって表され、画素サブコンポーネントにマッピングされる、スケーリング画像セグメントの中心が、表示する画像のスケーリング表現内部にあるか否かについて判定することである。例えば、図12Aでは、格子セグメント1020の中心が画像1004の内側にある場合、画素サブコンポーネントC1、R5をオンにする。別の技法は、画素サブコンポーネントにマッピングするスケーリング画像セグメントの50%以上が、表示する画像によって占められているか否かについて判定することである。占められている場合、画素サブコンポーネントを「オン」にする。例えば、格子セグメント1202によって表されるスケーリング画像セグメントが、少なくとも50%画像1004によって占められている場合、対応する画素サブコンポーネントC1、R5をオンにする。以下で論ずる図12A、図12B、図13および図14の例では、いつ画素サブコンポーネントをオンにするか判定する第1の技法を採用する。
【0104】
図12Aは、水平ストライピングのディスプレイ装置上における表示のためにヒント画像1004に対して行なうスキャン変換動作を示す。スキャン変換動作の結果、ビットマップ画像1202が得られる。尚、ビットマップ画像の列C1〜C4の各画素サブコンポーネントを、スケーリング・ヒント画像1004の対応する列の異なるセグメントからどのように判定するかについて注意すること。また、画素の高さの2/3であり、緑/青画素の境界に沿ってを位置合わせした底辺、高さが画素の2/3であるドットで、ビットマップ画像1204をどのように構成するかについても注意すること。公知のテキスト・イメージング技術であれば、得られる画像は、精度が低く、画素1つ分の高さと同じ底辺および画素1つ分のサイズのドットを有することになる。
【0105】
図12Bは、垂直ストライピングのディスプレイ装置上に表示するためにヒント画像1008に対して行なうスキャン変換動作を示す。スキャン変換動作によって、ビットマップ画像1203が得られる。尚、ビットマップ画像の列C1〜C4の各画素サブコンポーネントを、スケーリング・ヒント画像1008の対応する列の異なるセグメントからどのように判定するかについて注意すること。また、ビットマップ画像1208は、赤/緑画素境界に沿って整合された左縁を有する2/3画素幅のステムでどのように構成するかについても注意すること。更に、幅が1画素の2/3である画素を用いることにも注意すること。公知のテキスト・イメージング技術であれば、得られる画像は精度が低く、最大画素幅のステムおよびサイズが1画素のドットを有することになる。
【0106】
図13は、図12Aに示したスケーリング画像1004の第1列に対して行なうスキャン変換プロセスを更に詳細に示す。図示のスキャン変換プロセスでは、スケーリング画像1004の1セグメントを用いて、各画素サブコンポーネントに関連する光度値を制御する。これによって、各画素サブコンポーネントは、スケーリング画像1004の同じサイズの部分によって制御されることになる。
【0107】
スキャン変換動作の間、重み付けを適用することも可能である。重み付けを適用する場合、スケーリング画像の異なるサイズの領域を用いて、個々の画素サブコンポーネントをオンにするかまたはオフにするか、あるいはその中間の値にするか(グレー・スケーリングの場合のように)について判定することができる。このような重み付けの適用は、エリアシング防止フィルタリング動作を表し、RGBストライピングの方向に対して垂直な方向に行われる。
【0108】
前述のように、人の目は、異なるカラー光源からの異なるレートの光強度を認知する。緑は、赤、緑および青画素サブコンポーネントをそれらの最大光強度出力に設定することによって得られる白画素の認知輝度に約60%寄与し、赤は約30%寄与し、青は約10%寄与する。
【0109】
本発明の一実施形態によれば、スキャン変換中に重み付けを用いる場合、画素にマッピングするスケーリング画像面積の60%を用いて緑画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の30%を用いて赤画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の10%を用いて、青画素サブコンポーネントの光度を判定する。
【0110】
本発明の特定的な一実施形態では、スケーリング動作の間、ストライピングに対して垂直な方向における画像のスケーリングは、ストライピングの方向におけるスケーリングのレートの10倍のレートで行なう。こうすると、加重スキャン変換動作が簡単になる。ヒンティングの後、次に、例えば、前述した形式の加重スキャン変換動作を用いて、スキャン変換の間にスケーリング画像を処理する。
【0111】
図14は、画像1002を垂直方向に10倍、水平方向に1倍でスケーリングした、スケーリング・ヒント画像の第1列1400に対する加重変換動作の実行を示す。図14では、単一画素に対応するヒント画像の部分は、10個のセグメントから成る。前述の加重スケーリング技術にしたがって、スケーリング画像の最初の3セグメント、即ち、各画素エリアを用いて、ビットマップ画像1402内の1画素に対応する赤の画素サブコンポーネントの光度値を判定する。スケーリング画像1400の各画素エリアの次の6セグメントを用いて、ビットマップ画像1402内の同じ画素に対応する緑の画素サブコンポーネントの光度値を判定する。こうして、青の画素サブコンポーネントの光度値を判定する際に用いるために、スケーリング画像1400の各画素エリアの最後のセグメントを残す。
【0112】
図14に示すように、このプロセスにより、ビットマップ画像1402の列1、行4および5において、青および赤の画素サブコンポーネントが「オン」となり、列1の残りの画素サブコンポーネントが「オフ」となる。
【0113】
概略的に、本発明のスキャン変換プロセスを、画素サブコンポーネントを「オン」または「オフ」にすることに関して説明した。
【0114】
本発明の種々の実施形態、特に、例えばグラフィクス画像と共に用いて好適なものは、グレー・スケール技術の使用を伴う。このような実施形態では、前述の実施形態の場合と同様、スキャン変換動作は、スケーリング・ヒント画像の部分を、対応する画素サブコンポーネントに独立してマッピングし、ビットマップ画像を形成することを伴う。しかしながら、グレー・スケールの実施形態では、画素サブコンポーネントに割り当てる強度値は、表示するスケーリング画像によって占められる画素サブコンポーネントにマッピングするスケーリング画像の部分の関数として決定する。例えば、0から255までの間の強度値を画素サブコンポーネントに割り当てることができ、0は事実上オフであり、255は最大強度であるとすると、スケーリング画像のセグメント(格子セグメント)が表示する画像によって50%占められている場合、スケーリング画像セグメントを対応する画素サブコンポーネントにマッピングする結果として、123の強度値が画素サブコンポーネントに割り当てられることになる。本発明によれば、同一画素に隣接する画素サブコンポーネントは、スケーリング画像の別の部分、例えば、セグメントの関数として、独立して決定される強度値を有することになる。
【0115】
一旦表示するテキストのビットマップ表現を図9のステップ814において発生したなら、これをディスプレイ・アダプタに出力するか、または更に処理してカラー処理動作および/またはカラー調節を行い、画質の向上を図ることも可能である。
【0116】
人の目は、画像のカラー(クロミナンス)の縁よりも、輝度の縁に対して遥かに敏感なので、画像のレンダリングの目的のためにRGB画素サブコンポーネントを独立した光度エレメントとして扱うことにより、望ましくない色縁効果が発生する可能性がある。例えば、RGB集合から赤を除去した場合、シアンの色縁効果、緑および青の添加が生ずる可能性が高い。
【0117】
前述のように、カラー・アーチファクトは、画素の異なるカラー画素サブコンポーネントを独立した光度源として扱う結果生ずる可能性がある。これらカラー・アーチファクトの一部は、ヒンティングの後にも残る可能性がる。実際、画像の一縁のカラーを改善するヒントが、同じ画像、例えば、キャラクタ内において他の縁のカラーを劣化させる場合がある。
【0118】
煩わしいカラー・アーチファクト、例えば、望ましくない程度に人の目の注意を引くカラー・アーチファクトは、検出し気を散らさない程度に抑制することが望ましい。カラー感度は、個人的なばらつきが非常に大きいので、ある人にとって気になるアーチファクトが他の人には気にならない場合もある。したがって、実現性の観点からは、母集団の内大きな割合で気が散る可能性の高いカラー・アーチファクトを抑制または排除することに的を絞るのが有効である。本願の名義人である種々の発明者が行なった経験的研究によって、最も気になるカラー・アーチファクトは、1)明るく、2)前景カラー、背景カラー、およびこれら2つを混合して作ることができるカラーと色相が大幅に異なるものであることがわかった。
【0119】
以下で論ずるが、気を散らす画素の画素サブコンポーネントの光度調整は、(1)ある光度を明るい画素サブコンポーネントから減算すること、および/または(2)ある光度、例えば、(1)で減算した量を、隣接する異なるカラー画素サブコンポーネント、例えば、同じ画素の隣り合った画素サブコンポーネントに加算することによって可能となる。本発明のカラー補償技術にしたがってステップ(1)および/または(2)を実行すれば、カラー・アーチファクト、したがってカラーの乱れが低減する。しかしながら、このようなカラー処理には、望ましい画像の縁が劣化するという、望ましくない副作用も生ずる虞れがある。しかしながら、殆どの場合、画素サブコンポーネントを独立した光度源として扱わない公知の手法と比較して、カラー・アーチファクトがもはや目立たない程度に低減しつつ、しかも画質の改善が可能であることがわかっている。
【0120】
図9Aの実施形態では、ステップ914において発生したビットマップを、カラー処理/調節ステップ915に供給する。このステップでは、画像処理を行い、画素サブコンポーネントを独立した光度源として扱った結果として生じた、煩わしいカラー・アーチファクトを低減および/または排除する。煩わしいカラー・アーチファクトを識別、低減および/または排除するためには、種々の技術を用いることができる。
【0121】
具体的な一実施形態では、画像の一部を検査し、所望の前景カラーからどのくらい離れて、ビットマップ画像が迷走(stray)しているかについて判定を行なう。ビットマップ画像の部分が、所望の前景カラーよりも予め選択した量を超えて迷走している場合、この画像部分が前景カラーおよび背景カラー間の平均容認範囲内に入るまで、画素サブコンポーネントの強度値の調整を行なう。
【0122】
垂直ストライピングを用いる特定的な一実施形態では、画像の縁をチェックし、赤の色縁効果がないか確認する。これらは、画素エレメントの赤光度値が、同じ画素エレメントの緑光度値よりも著しく高い結果発生する。このような状態では、キャラクタの垂直ステム上に、見てわかる赤の色縁効果が生ずる可能性がある。
【0123】
この実施形態の例では、画像の縁にある画素を個別に検査する。赤/緑間の強度値の差を判定し、カラー調節の必要性を判定するために用いるスレシホルド値と比較する。判定した赤/緑強度差がスレシホルド値を超過している場合、赤および/または緑の値をスケーリングし、赤の色縁効果を低減する。適切なスレシホルド値およびスケーリング値は、経験的に決定することができる。
【0124】
赤の色縁効果について先に論じたのと同様のスレシホルド選別および光度スケーリング技法を用いることによって、緑および青の光度値に比較して赤の光度値が低いことに起因するシアンの色縁効果を検出し、補償することも可能である。
【0125】
図9Bは、画素カラー処理サブルーチン、例えば、図9Cのサブルーチン970または図9Dのサブルーチン990と共に、種々の実施形態例において用い、ステップ915のカラー処理/調節動作を行なう、カラー補償サブルーチン813の一例を示す。
【0126】
カラー処理および調節は、画素処理毎に、サブルーチン813によって、必要に応じて行われる。サブルーチン813はステップ950において開始し、CPU521がこのサブルーチンを実行する。ステップ950から、動作はステップ952に進み、例えば、テキスト・レンダリングのために用いられる前景カラーおよび背景カラーを識別する情報にアクセスする。このためには、例えば、オペレーティング・システムによってメモリ535に格納されているカラー情報にアクセスすればよい。
【0127】
次のステップ、ステップ953において、前景および背景カラー画素双方の全体的な光度を判定する。一実施形態では、前景および背景カラー画素双方について、0.3の重み係数を乗算した赤の輝度値、0.6の重み係数を乗算した緑の輝度値、および0.1の重み係数を乗算した青の輝度値を、以下のように加算する。
【0128】
画素の全光度=0.3R+0.6G+0.1B
ここで、R、GおよびBは、全体的な光度を判定する、対応の画素の光度値である。少なくとも一実施形態では、画素カラー処理サブルーチンが、以下に論ずるように、背景および前景カラー画素に対して判定した全体的な光度値を用いる。
【0129】
ステップ954において、ビットマップ画像951、例えば、ステップ914において既に発生してあるビットマップ画像を受け取り処理する。ビットマップ画像951は、合計N個の画素、即ち、画素1ないし画素Nから成る。
【0130】
ステップ954から、動作はステップ956に進み、CURRENT PIXELをN個の画像画素の最初の画素に等しくセットする。ラベルCURRENT
PIXELは、画像951のN個の画素の内どれが、所与の時点において処理されているのかを示す。
【0131】
動作は、ステップ956からステップ957に進み、画素カラー処理サブルーチン、例えば、図9Cのサブルーチン970または図9Dのサブルーチン990のいずれかをコールする。
【0132】
画素カラー処理サブルーチン970、990を、図9Cおよび図9Dに関して詳細に論ずる。一般に、コールするカラー処理サブルーチンは、CURRENT
PIXELの光度値を調節してカラー・アーチファクトを低減または排除し、必要に応じてこのような調節を行なうべきかについて判定を行なう役割を担う。画素カラー処理サブルーチンが、CURRENT PIXELの画素サブコンポーネントの光度値を変更しないと判定した場合、動作は、コールしたサブルーチンからのリターンを介して、ステップ964に進み、CURRENT PIXELの画素サブコンポーネントの光度値は不変である。しかしながら、コールしたサブルーチンが、CURRENT PIXELの画素サブコンポーネントの1つ以上の光度値を変更して、煩わしいカラー歪み、例えば、アーチファクトを低減または排除すると判定した場合、CURRENT PIXELの画素サブコンポーネントの1つ以上の光度値は、サブルーチンから、調節後の値と共に戻ってくる。
【0133】
カラー補償サブルーチンの残りのステップは、受け取ったビットマップ画像におけるN個の画素の各々を、画素カラー処理サブルーチン970、990の一方によって確実に処理するように機能する。
【0134】
957において、画素カラー処理サブルーチンへのコールから戻ってくる度に、動作はステップ964に進み、受け取った画像内に、まだ処理すべき画素があるか否かについて判定を行なう。これは、CURRENT PIXEtがN番目の画素であるか否か判定することによって、判定することができる。ステップ964において、まだ他の画素を処理する必要があると判定された場合、動作はステップ966に進み、CURRENT PIXELを、N個の画素の内次の画素に等しくセットする。ステップ966から、動作は再度ステップ957に進み、画素カラー処理サブルーチンを再度コールする。
【0135】
しかしながら、ステップ964において、受け取った画像の画素全てを処理したと判定した場合、動作はステップ967に進み、カラー補償サブルーチンによって、処理したビットマップを出力する。処理したビットマップは、画素カラー処理サブルーチンによって変更した光度値を含む。
【0136】
処理したビットマップを出力すると、カラー補償サブルーチン813の動作は、ステップ968において停止され、例えば、別のビットマップ画像951を処理するための、サブルーチンの再起動を保留にする。
【0137】
第1画素カラー処理サブルーチン970は、白黒画像、例えば、白い背景上にある黒いテキストの場合に特に有効である。サブルーチン970は、前景および背景カラー画素の全光度値を用いない。したがって、カラー補償サブルーチンのステップ953は、画素カラー処理サブルーチン957を用いる場合には、省略するかまたは飛ばしてもよい。
【0138】
白は、3つの画素カラー・コンポーネント、例えば、赤、緑および青全ての和である。白黒の実施形態では、明るいカラー・アーチファクトは、3つの画素カラー・コンポーネントの内いずれか2つの最大光出力を加算することによって得られるカラーである。例えば、黄色は赤および緑の和であり、マジェンタは赤および青の和であり、シアンは緑および青の和である。青のサブ画素は赤の潜在的光度の1/3、緑の画素サブコンポーネントのそれの1/16だけを有するに過ぎないので、青の画素サブコンポーネントは、明るい赤または緑の画素サブコンポーネントと共に光度を操作しても、殆ど効果はない。この理由のため、図9Cの実施形態例では、青の種々の輝度値から生ずる潜在的なアーチファクトを無視している。
【0139】
サブルーチン970において実施する処理は、気を散らす可能性が高い画素を、赤または緑の画素サブコンポーネントの一方が明るく、他方が明るくない画素として識別するように機能する。
【0140】
サブルーチン970においてカラー・アーチファクトの抑制を行なうには、赤または緑のサブコンポーネントの内明るい方の光度値を低下させ、赤または緑の画素サブコンポーネントの内暗い方の光度値を上昇させる。
【0141】
CURRENT PIXELのR、GおよびB光度値に対して行なう処理は、サブルーチン970によって行われ、以下の疑似コードで表すことができる。
【0142】
If |RCP-GCP|> THRESHOLD THEN:
Set RN = RCP [RCP-GCP)xRF]/10
GN = GCP [(RCP-GCP)xRF]/10
ここで、RCP=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0143】
GCP=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0144】
RN=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0145】
GN=CURRENT PIXELの緑の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0146】
RFは、赤係数、例えば、4である。
【0147】
GFは、緑係数、例えば、6である。
【0148】
THRESHOLDは、経験的に決定したスレシホルド値であり、例えば、50である。
【0149】
次に図9Cを参照すると、画素カラー処理サブルーチン970は、開始ステップ972から開始し、このルーチンをコールして、CURRENT PIXELの赤および緑の光度値を処理することがわかる。これらの値は、それぞれ、0ないし255の範囲であれば、いずれの値でも取ることができる。次に、ステップ974において、RCPの値を、処理中の画素の赤の画素サブコンポーネントの光度値に等しくセットし、GCPを、処理中の画素の緑の画素サブコンポーネントの光度値に等しくセットする。次に、ステップ976において、|RCP−GCP|が、煩わしいカラー・アーチファクトの存在を判定する所定のスレシホルド値THRESHOLDよりも大きいか否かについて判定を行なう。
【0150】
ステップ976において、スレシホルド値を超過していない場合、煩わしいカラー・アーチファクトは恐らく存在しないことを示し、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの輝度値の変更はない。
【0151】
しかしながら、値|RCP−GCP|が値THRESHOLDを超過し、煩わしいカラー・アーチファクトの存在の可能性を示す場合、動作はステップ976からステップ978に進む。ステップ978において、元の赤および緑の輝度値の関数として、新たな赤の画素サブコンポーネント光度値RNを発生する。即ち、RNをRCP+[(RCP−GCP)×RF/10]に等しく設定する。10で除算するのは、RFに浮動小数点値を用いる必要性を回避するためである。こうしないと、浮動小数点算術演算の使用が必要となる。
【0152】
次に、ステップ980において、元の赤および緑の輝度値の関数として、新たな緑の画素サブコンポーネント光度値GNを発生する。即ち、GNをRCP+[(RCP−GCP)×RF/10]に等しく設定する。値RNの発生の場合と同様、10で除算するのは、RFに浮動小数点値を用いる必要性を回避するためである。こうしないと、浮動小数点算術演算の使用が必要となる。
【0153】
ステップ978および980を連続して示したが、これらは並行して実行することも可能であることは理解されよう。新たな値RNおよびGNの発生の後、現画素の対応する赤および緑の光度値を、新たに発生した値と交換する。これは、ステップ982において行なう。ステップ982において更新したCURRENT
PIXELの赤および緑の光度値を用いて、現画素に関するカラー補正処理を完了し、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻る。
【0154】
次に、図9Dに関連して、画素カラー処理サブルーチン990の第2の例を、その動作について説明する。サブルーチン990は、任意の、例えば、ユーザが選択した前景カラーおよび背景カラーを用いて表示する画像の画素を処理する際に適している。
【0155】
任意の前景カラーおよび背景カラーでは、個々の画素サブコンポーネントを独立した光度源として扱うことによって生ずるカラー・アーチファクトの識別および抑制は、前述の白黒の場合よりも一層難しくなる。実験により、前景カラーまたは背景カラーの彩度が高い程、カラー・アーチファクトによって気が散る可能性は低いことが示されている。その理由は、補色となるカラー・コンポーネントの明るさを抑制することによって、彩度が実際に得られるからである。この補色カラー・コンポーネントの明るさを制限すると、明るく煩わしいカラー・アーチファクトを回避するだけでなく、抑制した画素サブコンポーネントの側では、抑制した画素サブコンポーネントが、高い光度の縁を形成に不適当となる。結果的に、彩度が高いカラーでは、縁を含む可能性がある画素の多くは、本発明にしたがって画素サブコンポーネントを独立した光度源として扱うことによる解像度の向上が全く得られない。前述のような問題となり得る前景/背景カラーの組み合わせの一例は、青い背景上にある赤いテキストである。
【0156】
赤い画素サブコンポーネントを左側に、そして青い画素サブコンポーネントを右側に配した表示上において、左側に青、右側に赤がある縁を表示するために、画素にレンダリングを行なうと、全体的に黒くなってしまう。このような画素は、カラー・アーチファクトを有さないが、画像の解像度に対しても何ら寄与しない。実際、このような画素の行は、黒いラインの外観、即ち、本発明のサブ画素強度制御技術のアーチファクトを発生する可能性すらある。画質の観点からは、このようなアーチファクトを生ずる画素に対しては、例えば、グレー・スケーリングのような従来からの画素毎のレンダリング技術を利用することによって、このようなアーチファクトを識別し排除することが望ましい。
【0157】
カラー処理サブルーチン990は、前述のようなタイプのアーチファクトを生ずる画素を特定することを目的とするステップを含む。これは、画素サブコンポーネントの各々に対して独立した輝度値を発生するのではなく、画素レベル毎に、グレー・スケーリングを適用することによって、得られる効果である。また、このサブルーチンは、グレー・スケーリングを適用して、このような画素の輝度値を判定するステップも含む。一実施形態では、処理対象画素の全光度が前景および背景カラー双方の全光度未満である場合はいつでも、グレー・スケーリング反転を適用する。
【0158】
いつグレー・スケーリングが画素の外観を強調するかについて判定することに加えて、カラー処理サブルーチン990は、煩わしいカラー・アーチファクトを識別し、このようなアーチファクトを低減または排除する処理を行なうことを目的とする。
【0159】
画素カラー処理サブルーチン990は、開始ステップ991において開始し、ここからステップ992に進み、画素毎に適用するグレー・スケーリングを用いてCURRENT PIXELの輝度値を判定すべきか否かについて判定を行なう。ステップ992において、CURRENT PIXELの全輝度が前景カラー画素および背景カラー画素双方の全輝度未満であるか否かについて判定を行なう。全輝度値が前景および背景カラー画素のそれ未満であると判定した場合、恐らく、グレー・スケーリングの方が、本発明の画素サブコンポーネント方法によって判定するよりも、高い輝度値を与えることになる。このような場合、動作はステップ992からステップ997に進み、画素グレー・スケーリング動作を行なう。グレー・スケーリング動作は、2つのサブステップ997Aおよび997Bから成る。ステップ997Aにおいて、スケーリングしたヒント画僧を含む現画素の部分(P)を判定する。ステップ997Bにおいて、分数値Pに、前景の対応するR、CおよびB光度値を乗算することによって、現画素に対して新たな赤、緑および青の光度値を判定する。一旦ステップ997においてCURRENT PIXELに対して更新光度値を発生したなら、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻る。
【0160】
ステップ992において、グレー・スケーリングがCURRENT PIXELの品質を向上させる可能性が低いと判定した場合、処理はステップ993に進む。ステップ993において、CURRENT PIXELのカラーが前景カラーおよび背景カラー双方と異なるか否かについて判定を行なう。この判定を行なうには、CURRENT PIXELのR、CおよびB光度値を、前景カラー画素および背景カラー画素のそれらと比較すればよい。ステップ993において、現画素のカラーが前景および背景カラー画素の1つと一致した場合、カラー・アーチファクトは生じていないので、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの光度値は変更しないままとなる。
【0161】
しかしながら、ステップ993において、現画素のカラーが前景カラーおよび背景カラーとは異なると判定した場合、動作はステップ994に進む。ステップ994において、CURRENT PIXELのカラーが、前景/背景カラーの混合に対応する、予め選択してある容認可能なカラー範囲に該当するか否かについて判定を行なう。現画素のカラーが、予め選択してある範囲に該当する場合、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの輝度値は変更しないままとなる。
【0162】
しかしながら、ステップ994において、CURRENT PIXELのカラーが予め選択してある容認可能なカラー範囲外にあると判定した場合、煩わしいカラー・アーチファクトの存在を示し、動作はステップ995に進み、CURRENT PIXELのカラーを、容認可能なカラー範囲に向けて調節する。このためには、例えば、既存の値から加算または減算して、予め選択してある容認可能なカラー範囲内で見つけた値に個々の値を近付けるように移動させることによって、CURRENT PIXELに関連するR、G、B輝度値の1つ以上を変更すればよい。このようにして、ステップ995の終了時点では、CURRENT PIXELのカラーは、前景カラーおよび背景カラーの混合に対応する、予め選択してある容認可能なカラー範囲に一層近づくか、またはその中に位置することになる。一旦ステップ995においてCURRENT PIXELの光度値を更新したなら、処理は、前述のように、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、ビットマップ画像を表す画素の光度値を画素単位で処理または調節することにより、異なるカラー画素サブコンポーネントを独立した輝度源として扱うことの結果として画像に生ずるカラー歪みを低減または排除することができる。
【0163】
図15は、水平ストライピングの12×12画素のアレイを表す格子上に重畳するためにレンダリングするキャラクタnの高解像表現を示す。
【0164】
図16は、従来の表示技術、および各々3つの画素サブコンポーネントを含むフル・サイズの画素エレメントを用いて、図15に示したキャラクタnをどのようにレンダリングするかについて示す。フル・サイズの画素制限のために、文字のリッジにおいて比較的急激に形状の遷移が生じ、エリアシングおよび比較的平坦な上部が形成されている様子に注目のこと。
【0165】
図17は、画素高さの2/3の底辺を用いることによって、本発明にしたがって、文字nのレンダリングをどのようにして改良することができるかについて示す。底辺を形成するには、2つの画素サブコンポーネントを用いる。これは、行10、列1〜4および8〜10において3つの画素サブコンポーネント全てを用いるのとは対照的である。また、文字のリッジをどのように改良するかについても注意すること。リッジの幅を最大画素高さとするが、各水平最大高さ画素エレメントを1/3画素高さだけ垂直方向にずらしていくことにより、図16に示したリッジよりも遥かに高精度かつ滑らかなリッジを得ることができる。
【0166】
図18は、本発明にしたがって、文字nのリッジの厚さを、1画素の厚さから2/3画素の厚さにどのようにして縮小することができるかを示す。
【0167】
図19は、本発明にしたがって、文字nの底辺を1画素の1/3の最少厚さまでどのようにして縮小することができるかについて示す。また、文字nのリッジを画素の1/3の厚さにどのようにして縮小することができるかについても示す。
【0168】
図20は、本発明にしたがって、底辺およびリッジが画素の1/3の厚さを有する文字nをどのようにして表示することができるかについて示す。
【0169】
以上、テキストのレンダリングに関して本発明を大まかに説明したが、本発明はグラフィックスにも適用し、エリアシングを低減し、従来のカラーLCDディスプレイのような、ストライプ・ディスプレイを用いて得ることができる有効解像度を向上可能であることは理解されよう。加えて、本発明の技術の多くは、ビットマップ画像、例えば、スキャンした画像を処理し、これらを表示のために準備する際にも使用可能であることは理解されよう。
【0170】
加えて、本発明の方法および装置は、同じ色の個別のRGB画素サブコンポーネントの代わりに、多数の非方形画素サブコンポーネントを用いる、グレー・スケール・モニタにも適用した場合にも、方形画素エレメントを用いるディスプレイと比較して、1次元における有効解像度を倍増可能であることは理解されよう。
【0171】
図21Aは、公知のバック・ライト・カラーLCD2100を示す。LCDディスプレイ2100は、一連の層状コンポーネントとして設計してある。図示のように、ディスプレイの後部には、光源2102があり、3本の矢印で表すように、光、例えば、白色光を第1偏光フィルタ2104に供給する。第1ガラス基板層2106が、第1偏光フィルタ2104を透明電極2108の第1層から分離している。層液晶材料2110が、透明電極2108の第1層と第2層2108’との間に狭持されており、第2層2108’は、第1層内の電極の方向に対して垂直に走る電極を含む。赤(R)、緑(G)、および青(B)フィルタ・セグメントを含むカラー・フィルタ2112が、ディスプレイ2100の垂直方向に走っており、第2組の透明電極2108’の前に位置する。第2ガラス基板2106が、カラー・フィルタ2112、およびディスプレイ2100の前面に位置する第2偏光フィルタ2104’を分離している。
【0172】
第1偏光フィルタ2104に入射した光は、電極層2108、2108’、液晶材料2110、カラー・フィルタ2112、および第2偏光フィルタ2104’を通過した後、ディスプレイ2100から射出する。カラー・フィルタ2112は、ディスプレイ2100の個々のセグメントによって出力される光のカラーを全て決定する。電極2108、2108’上の電圧を調節することによって、ディスプレイ2100のいずれのセグメントを介して出力される光の輝度でも、制御可能である。
【0173】
図21Bは、前方から見た場合、公知の画面21Aがどのように見えるか示すものである。カラー・フィルタ2112のR、G、およびBセグメントがディスプレイ2100上で、垂直カラー・ストライプをどのように形成するのかに注目すること。また、どのように透明電極を制御することにより、R、G、Bを付した矩形ボックスによって表した、複数の別個に制御可能な画面セグメントを制御可能であるかにも注目すること。図2Aおよび図2Bに示した公知の画面の場合と同様、画像の各画素は、R、G、B1つずつの表示エレメントで構成し、正方形の画素を形成することができる。
【0174】
図22Aないし24Bは、本発明の種々の実施形態にしたがって実現したディスプレイを示す。図22Aないし図24Bに示すディスプレイに含まれるコンポーネントは、公知のディスプレイのコンポーネントと同一または同様であり、図21Aにおいて用いたのと同じ参照番号を用いて識別することとする。簡潔化のため、このようなコンポーネントの説明は繰り返さない。
【0175】
図22Aは、本発明の一実施形態にしたがって実現したグレー・スケールLCD2200を示す。ディスプレイ2200は、バック・ライト2102、第1および第2偏光フィルタ2104、2104’、第1および第2ガラス基板2106、2106’、ならびに第1および第2透明電極層2108、2108’から成る。これらは、図22Aに示すような層状構造を形成するように配列してある。尚、ディスプレイ2200には、公知のディスプレイ2100に見られるようなカラー・フィルタ2112がないことに注意すること。カラー・フィルタ2112を省略しているので、別個に制御可能な各ディスプレイ・セグメントの光出力は、概ねバック・ライト2102の光と一致し、例えば、白色である。各ディスプレイ・セグメントの強度は、最大強度から完全に強度オフまで、例えば、電極2108および2108’に印加する電圧を変化させることによって、可変とすることができる。
【0176】
図22Bは、前方から見た場合に、ディスプレイ2200がどのように見えるかを示す。ディスプレイ2200が、例えば、各々同じカラーのディスプレイ・エレメント2210、2211、2212を含む矩形ディスプレイ・エレメントの形状の複数の別個に制御可能な光度源で構成されている様子に注目すること。各ディスプレイ・エレメント2210、2210、2213は、個々のディスプレイ・エレメント2210、2211、2213のエリアに対応する、狭持層2102、2104、2106、2108、2110の部分から成る。本発明の種々の実施形態では、ディスプレイ・エレメントは、その1次元、例えば、垂直次元におけるそれらのサイズが、他方、例えば、水平次元におけるそれらのサイズの整数倍となるように、ディスプレイ・エレメントを実装している。
【0177】
本発明の種々の構造は、第1方向、例えば、水平方向の解像度が、第2方向、例えば、垂直方向に垂直な方向における解像度の倍数であるディスプレイを形成する、同じカラーの隣接するディスプレイ・エレメントの使用を目的とする。一例として、図22Bの実施形態では、各ディスプレイ・エレメント2210、2211、2212は、高さが幅の3倍となっている。その結果、水平方向の解像度は、垂直方向の解像度の3倍となる。しかしながら、他の高さ/幅比を有する非正方形ディスプレイ・エレメントも想定しており、可能である。実際、水平解像度よりも垂直解像度の方が高いディスプレイも実現可能である。加えて、本発明のディスプレイは、あらゆる行数および列数のディスプレイ・エレメントでも含むことができる。各ディスプレイ・エレメント2210、2211、2212は、別個に制御可能な光度源を表す。
【0178】
ディスプレイ2200は、ディスプレイ2100と構造が似ているが、ディスプレイ2200は、ディスプレイ2100に内蔵したカラー・フィルタ2112がないので、実現がより簡単である。公知の画面2100よりも構築は簡単であるが、グレー・スケール・ディスプレイ2200は、画素サブコンポーネントを独立した輝度源として扱った場合にカラー歪みを生ずる従来の画面2100を用いて可能な解像度よりも、1次元において潜在的に高い解像度で、テキストおよびその他の画像の表示を可能とする。
【0179】
ディスプレイ2200は単一カラーであるので、グレー・スケール・モニタとしての使用に特に適している。このようなモニタは、本発明にしたがって、例えば、テキストを表示するのに非常に適している。
【0180】
制御可能な各ディスプレイ・エレメント2210、2211、2200は、同じカラーであるので、これらは個々の画素として扱うことができる。あるいは、多数の非正方形ディスプレイ・エレメントを集合化し、正方形の画素を形成することも可能である。例えば、ディスプレイ・エレメント2210、2211および2213を集合化し、単一の正方形画素を表すことができる。このような場合、画像、例えば、テキストのレンダリング動作の一部として行われるスケーリング、格子フィッティング、およびスキャン変換動作は、本発明のカラー実施形態に関して先に説明した方法と同じまたは同様である。例えば、画素の各ディスプレイ・エレメントを、独立した光度源として扱う。
【0181】
しかしながら、図22Aの実施形態では、全てのディスプレイ・エレメント、即ち、画素サブコンポーネントは、同じカラーである。したがって、異なる画素サブコンポーネントに異なる重み係数を用いる必要はない。何故なら、画素サブコンポーネントは、表示画像で認知される全体的な輝度に対して均一に寄与するからである。加えて、特定のカラー境界に沿ってキャラクタの縁を位置合わせするために考えられたヒンティングおよび格子フィッティング動作を行なう必要はない。何故なら、図22Aの実施形態では、サブ画素コンポーネントのカラー境界が存在しないからである。加えて、異なるカラー、例えば、RGB画素サブコンポーネントを用いないので、カラー補償ステップ915も不要である。
【0182】
図23Aは、本発明の別の実施形態にしたがって実現したディスプレイ2300を示す。図23Aの実施形態では、ディスプレイの第1部分、例えば、上位部分は、グレー・スケール・ディスプレイとして実現し、一方、ディスプレイの第2部分、例えば、下位部分はカラー・ディスプレイとして実現する。
【0183】
ディスプレイ2300は、バック・ライト2102、第1および第2偏光フィルタ2104、2014’、第1および第2ガラス基板2106、2106’、第1および第2透明電極層2108、2108’、カラー・フィルタ2112、ならびに透明スペーサ2312から成り、図23Aに示すような層状構造を形成するように配列されている。カラー・フィルタ2112は、画面2300の下位部分を通過する光を濾波するように配置してあり、一方透明スペーサは、ディスプレイ2300の上位部分、例えば、グレー・スケール部分に位置する。スペーサ2312は、あらゆるカラーの光でも通過させる。例えば、スペーサは、白色光がバックライト2102によって発生した場合、この光を通過させる。透明スペーサ2312は、カラー・フィルタ2112と同じ厚さである。したがって、スペーサ2312は、カラー・フィルタを省略したディスプレイの部分において、均一なディスプレイの厚さを維持する役割を果たす。カラー・フィルタ2112および透明スペーサ2312の組み合わせは、複数のセルを有し、各セルが個々のディスプレイ・エレメント2302、2304、2306または2308に対応する光フィルタ、または各セルが透明または有色の光フィルタとして記述することができる。したがって、各ディスプレイ・エレメント2302、2304、2306、2308は、狭持層2102、2104、2106、2108、2110の一部から成り、光フィルタは、個々のディスプレイ・エレメントのエリアに対応する、エレメント2112および2312から成る。
【0184】
カラー・フィルタ2112は、垂直方向に走るR、G、およびBストライプ2321、2322、2323の繰り返しから成る。カラー・フィルタ2112は、ディスプレイの下位部分のみに含まれる。したがって、ディスプレイ2300の下側部分はカラー出力に対応する。しかしながら、ディスプレイ2300の上位部分は、単一カラー即ちグレー・スケール出力のみに対応する。何故なら、ディスプレイ2300の上位部分には、異なるカラー・フィルタ・ストライプを採用しているからである。ディスプレイ2300の各セグメントの強度は、最大強度から強度オフまで、例えば、電極2108および2108’に印加する電圧を変化させることによって、可変とすることができる。
【0185】
図23Bは、前方から見た場合に、ディスプレイ2300がどのように見えるか示すものである。ディスプレイ2300は、複数の別個に制御可能な光度源から成り、その各々が図23Bにおける別個の矩形として表されていることに注目すること。参照番号2302は、白色ディスプレイ・エレメント、例えば、光度源を示すために用い、一方参照番号2304、2306および2308は、それぞれ、赤、緑および青のディスプレイ・エレメントを示すために用いる。尚、図23Bでは、白色ディスプレイ・エレメント2302の単一行2301、および有色ディスプレイ・エレメント2304、2306、、2308の列2本2303、2305を示すことを注記しておく。しかしながら、白(グレー・スケール)および有色ディスプレイ・エレメントのあらゆる組み合わせでも可能である。加えて、あらゆる数の行および/または列のディスプレイ・エレメントでも可能である。
【0186】
図23Bは同じカラーのグレー・スケール画素エレメントの単一行2301を示すが、通常、ディスプレイにはこのような画素エレメントの行および/または列は多数本含まれており、集合化されて、例えば、テキストの表示に対応するようになっている。
【0187】
ディスプレイ2300は、ディスプレイ画面の一部をテキスト表示専用とし、別の部分を例えばカラー・グラフィクスに用いるといった用途には特に適している。例えば、上位または下位にグレー・スケール部分を有する本発明のディスプレイは、ディスプレイのグレー・スケール部分を用いてキャプション情報を表示し、一方カラー部分を用いてカラー画像を表示するために用いることができる。このようなディスプレイは、同じサイズのディスプレイ・エレメントを有するRGBディスプレイよりも高い解像度および/またはテキストの読みやすさをもたらしつつ、なおもカラー・グラフィクスの表示を可能にするという利点を有する。
【0188】
前述のように、本発明にしたがって実現したグレー・スケール・モニタは、同じサイズのディスプレイ・エレメントを有するRGBストライプ状モニタよりも、読みやすいテキストを生成することができる。その理由は、グレー・スケール・モニタが、画素サブコンポーネントを独立した光度源として扱うことに関連するカラー歪みを生じないからである。あるときにはテキストを表示し、別のときにはカラー・グラフィクスを表示するために、多くのディスプレイが用いられている。加えて、単一のディスプレイの異なる部分が、同時にテキストおよびカラー・グラフィクスを表示するために用いられているというのが一般的である。テキストのために用いるディスプレイの特定部分は、テキスト情報の量および/またはテキストと共に表示する画像に応じて可変とするとよい。
【0189】
このような様々な用途においてテキストのグレー・スケール表示およびカラー画像に対応するために、本発明の一実施形態は、カラー動作モードおよび透明動作モード間で切り換え可能なフィルタ・セルを有するフィルタを含むディスプレイ装置を目的とする。本発明のこのような実施形態例にしたがって実現したディスプレイ2400を図24Aおよび図24Bに示す。
【0190】
ディスプレイ2400は、バック・ライト2102、第1および第2偏光フィルタ2104、2104’、第1および第2ガラス基板2106、2106’、第1および第2透明電極層2108、2108’、ならびに切り換え可能なカラー・フィルタ2401から成り、図22Aに示すような層状構造を形成するように配列してある。尚、ディスプレイ2400は、カラー・フィルタを除いて、公知のディスプレイ2100と構造が似ていることに注意すること。公知のディスプレイは、固定のストライプ状カラー・フィルタを用いているのに対して、本発明のディスプレイ2400は、切り換え可能なストライプ状カラー・フィルタ2401を用いている。
【0191】
カラー・フィルタ2401は、複数の切り換え可能な赤2406、緑2404および青2402フィルタ・ストライプから成る。各フィルタ・ストライプ2406、2404、2402は、複数の別個に制御可能なフィルタ・セル2406’、2404’および2402’をそれぞれ含む。各フィルタ・セルは、カラー・モードで動作するときは、例えば、赤、緑または青の画素サブコンポーネントを表す個々のディスプレイ・エレメントにそれぞれ対応し、グレー・スケール・モードで動作するときは、グレー・スケール・ディスプレイ・エレメント、例えば、グレー・スケール画素または画素サブコンポーネントに対応する。切り換え可能カラー・フィルタ2401の各セル内に組み込んである電極に印加する電圧を変化させると、当該セルを有色モードから透明即ち透過動作モードに変化させることができる。したがって、ストライプ2406内の個々のフィルタ・セル2406’を独立して制御し、赤または透明フィルタ・セルとして動作することができる。加えて、ストライプ2404内の個々のフィルタ・セル2404’も、独立して制御し、緑または透明フィルタ・セルとして動作することができる。更に、ストライプ2402内の個々のフィルタ・セル2402’も、独立して制御して、青または透明フィルタ・セルとして動作することができる。各ディスプレイ・エレメントの光度は、最大強度から完全にオフまで、例えば、電極2108および2108’に印加する電圧を変化させること、および/またはディスプレイ・エレメントに対応する各フィルタ・セルに含まれる電極に印加する電圧を変化させることによって可変とすることができる。
【0192】
図24Bは、前方から見た場合に、ディスプレイ2400がどのように見えるかを示すものである。ディスプレイ2400は、ディスプレイ・エレメント、例えば、ディスプレイ・エレメント2410、2411、2412の形状で複数の別個に制御可能な輝度源からどのように構成されているか、そしてその各々が、それぞれ、赤、緑または青動作モード、およびグレー・スケール動作モードの間で切り換え可能であることに注目すること。各ディスプレイ・エレメント2410、2412、2212は、個々のディスプレイ・エレメント2410、2411、2413のエリアに対応する、狭持層2102、2104、2106、2108、2401の部分から成る。
【0193】
ディスプレイ・エレメント2410、2411、2412は、図24Aおよび図24Bでは、縦の方が横よりも大きく示されている。尚、他のサイズのディスプレイ・エレメントも採用可能であり、例えば、正方形のディスプレイ・エレメント、または横の方が縦よりも大きなディスプレイ・エレメントが得られる場合もあることは理解されよう。加えて、図24Bには、3行および9列のディスプレイ・エレメントを示すが、ディスプレイはあらゆる数の行および列のディスプレイ・エレメントでも構築可能であることも理解されよう。
【0194】
切り換え可能な赤、緑および青フィルタ・ストライプ2406、2404、2402を用いる代わりとしては、切り換え可能なフィルタ・ストライプを、切り換え可能な黄色のフィルタ・ストライプまたは別の単色のストライプと交換することがあげられよう。カラー、例えば、黄色動作モードおよび透明動作モード間で切り換え可能なフィルタ・ストライプは、例えば、表示中のテキストを強調するために用いることができる。
【0195】
ディスプレイ2400を用いる場合、レンダリングの時点で、表示する画像がテキストまたはその他のタイプのグラフィック画像のどちらに対応するのかについて判定を行なう。テキストの表示に用いるディスプレイ2400の部分では、フィルタ・セルをグレー・スケール、例えば、透明動作モードにセットする。非テキスト画像の表示に用いるディスプレイ2400の部分では、フィルタ・セルを通常カラー動作モードにセットする。この手法によって、本発明によるグレー・スケール・テキスト表示を可能にしつつ、ディスプレイ・デバイス2400上のいずれの場所にも画像のカラー表示が可能となる。
【0196】
フィルタ・セルの動作モード設定は、1つ以上のフィルタ・モード制御信号、例えば、フィルタ・モード制御コマンドを、ディスプレイ2400を組み込んでいるディスプレイ装置に送ることによって、行なうことができる。フィルタ・モード制御コマンドは、例えば、コマンドで特定した、関連するフィルタ・セルを動作させるモードを示す。フィルタ・モード制御コマンドは、レンダリングおよびラスタ化ルーチン807によって、テキスト・レンダリング・プロセスの一部として、あるいはビデオ・アダプタ548によって発生する。RBGの一実施形態では、切り換え可能セルをデフォルトではカラー・モードで動作させ、例えば、テキストのレンダリングのためには、透明状態に変化させるコマンドを必要とする。黄色/透明実施形態では、デフォルト・モードは透明動作モードであり、フィルタ・セルの黄色動作モードを開始する際にコマンドを用いる。
【0197】
ディスプレイ2400を組み込んでいるディスプレイ装置は、フィルタ・モード制御コマンドに応答する制御ロジックを含む。この制御ロジックは、受け取ったコマンドに応答して、ディスプレイ・フィルタ・セルの動作モードを変更するために必要な電気信号を発生する。
【0198】
「透明」という用語は、グレー・スケール・モードで動作するときのフィルタ・セル2410、2411、2412の特性を記述するために用いたが、これらは、赤、緑または青のカラー・フィルタとしても供することができる完全に透明なフィルタを生産することの難しさのため、多少色の滲みを含む場合もあることは理解されよう。したがって、実施形態の中には、フィルタ・セル2410、2411および2412が、グレー・スケール表示モードで動作する場合、実質的に透明であるに過ぎない場合もある。いずれにしても、少なくとも1つの実施形態例では、グレー・スケール・モードで動作する場合、フィルタ・セル2410は、赤、緑および青光を通過させ、カラー・モードで動作する場合には通過させない。
【0199】
本発明の種々の方法および装置を、液晶表示装置との関連において、または液晶ディスプレイと共に使う場合について説明したが、本発明の方法および装置の多くは、多数のタイプの出力お呼び表示装置と共に用い、その画質を改善することが可能である。
【0200】
例えば、異なるカラー画素サブコンポーネントを独立した光度源として扱う際に用いる、前述のスケーリング、スキャン変換およびヒンティング方法は、陰極線管(CRT)ディスプレイ上に表示する画像にも適用可能である。
【0201】
プリンタは、本発明のスケーリング、ヒンティングおよびスキャン変換動作を適用可能な別のクラスの出力装置を表す。本発明の方法および装置は、特に、画像の一部を、固定媒体、例えば、紙の上に印刷する変位(オフセット)カラー・サンプルによって表す、インク・ジェットおよびその他のタイプのプリンタとの使用に非常に適している。
【0202】
液晶(LDC)およびその他のタイプのディスプレイ装置は、ある共通特性、例えば、画素を表すRGB画素サブコンポーネントの使用を共有することが多いが、具体的な表示特性、例えば、カラー・フィルタ特性は製造業者毎に異なる場合もある。ディスプレイ、例えば、モニタの特性も、同じ製造業者が生産する異なるタイプのモニタ間で異なる場合もある。
【0203】
本発明の一実施形態は、エリアシング防止情報、例えば、特定のディスプレイ装置に対する重み係数情報を、メモリに格納することにより、異なるモニタ間の差を考慮に入れている。本発明のラスタ化およびレンダリング・ルーチンは、所与の用途において用いる個々のディスプレイ装置に利用可能な場合、このディスプレイ装置情報を利用する。したがって、本発明の種々の実施形態では、エリアシング防止およびガンマ補正動作は、格納してあるフィルタ重み、および個々のディスプレイ装置モデル、例えば、LCD画面に関連するガンマ値を用いて実施する。
【0204】
エリアシング防止動作は、前述の種々の実施形態において、スキャン変換プロセス中に用いる異なる赤、緑および青の重みの使用によって、一次元で行なう。第2次元でのエリアシング防止技術の適用も想定しており、種々の実施形態例では、画質を更に高めるために用いられる。
【0205】
ここに含まれる本発明の説明に鑑み、先に論じた本発明の実施形態に対して、多数の追加実施形態や変形も、当業者には明白である。このような実施形態は、本発明から逸脱するものではなく、本発明の範囲内に該当すると見なすことは理解されよう。
【技術分野】
【0001】
(関連出願)
本願は、1998年10月7日に出願された、”METHOD AND APPARATUS FOR RESOLVING EDGES WITHIN A DISPLAY PIXEL”(表示画素内の縁を分解する方法および装置)と題する係属中の米国特許出願第09/168,014号の一部継続出願であり、その内容はこの言及により本願にも明示的に含まれるものとする。
(発明の分野)
本発明は、画像表示方法および装置に関し、更に特定すれば、出力デバイス、例えば、液晶ディスプレイの多数の変位部分を利用して画像を表現する表示方法および装置に関する。
【背景技術】
【0002】
(発明の背景)
カラー・ディスプレイ装置は、殆どのコンピュータ・ユーザが選択する主要なディスプレイ装置となっている。モニタ上でカラー表示を行なうには、通常、ディスプレイ装置を動作させて、光、例えば、赤、緑、および青の光の組み合わせを射出し、視認者が認知する1つ以上のカラーが得られるようにする。
【0003】
陰極線管(CRT)ディスプレイ装置では、異なる色の光を発生するには、発光体コーティングを用い、これらをCRT画面上に一連のドットとして被着することができる。通常、3つのカラー、赤、緑、および青の各々を発生するには、異なる発光体コーティングを用い、発光体ドットの繰り返しシーケンスを形成する。これらが電子ビームによって励起されると、赤、緑および青のカラーを発生する。
【0004】
画素という用語は、例えば、数千ものスポットから成る矩形格子における1つのスポットを意味するために、一般に用いられている。スポットは、コンピュータがディスプレイ装置上に画像を形成するために個別に用いられる。赤、緑および青の発光体ドットの単一トライアッド(triad)をアドレスすることができないカラーCRTでは、可能な限り最も小さい画素サイズは、発光体を励起するために用いる電子銃の焦点、位置合わせおよび帯域幅によって決まる。CRTディスプレイには公知の種々の構成では、赤、緑および青の蛍光体ドットの1つ以上のトライアッドから射出される光を共に配合することにより、ある距離において単一のカラー光源の外観を与えるようにする場合が多い。
【0005】
カラー・ディスプレイでは、加色混合三原色、赤、緑および青に対応して発光する光の強度を変化させて、殆ど全ての所望のカラー画素の外観を得ることができる。色を加えない場合、即ち、発光しない場合、黒い画素を生成する。3つのカラー全てを100パーセントで加えると、白になる。
【0006】
図1は、ハウジング101、ディスク・ドライブ105、キーボード104およびフラット・パネル・ディスプレイ102から成る、公知の携帯用コンピュータ100を示す。
【0007】
携帯用パーソナル・コンピュータ100は、CRTディスプレイではなく、液晶ディスプレイ(LCD)またはその他のフラットディスプレイ装置102を用いる場合が多い。これは、フラット・パネル・ディスプレイが、CRTディスプレイと比較して、小型で軽量である場合が多いからである。加えて、フラット・パネル・ディスプレイは、多くの場合、同程度の大きさのCRTディスプレイよりも消費電力が少なくて済むので、CRTディスプレイよりも、バッテリ給電で用いるには適している。
【0008】
フラット・パネル・カラー・ディスプレイの品質が向上し続け、しかもその価格が低下するに連れて、フラット・パネル・ディスプレイは、デスクトップ用途において、CRTディスプレイにとって代わり始めている。したがって、フラット・パネル・ディスプレイ、特にLDCは、これまでよりも更に一般化しつつある。
【0009】
長年に渡って、コンピュータ・スクリーン上における、フォント、例えば、文字集合の発生および表示を含む、殆どの画像処理技術が開発され、CRTディスプレイ装置上の表示に対して最適化されてきた。
【0010】
生憎、既存のテキスト表示ルーチンは、フラット・パネル・ディスプレイ装置に独特な物理的特性を考慮していない。これらの物理的特性は、CRT装置の特性とは、特にRGBカラー光源の物理的特性に関して、大きく異なる。
【0011】
カラーLCDディスプレイは、ここでは、画素サブエレメントまたは画素サブコンポーネントと呼ぶ、多数の別個のアドレス可能なエレメントを利用して、表示する画像の各画素を表現するディスプレイ装置の一例である。通常、カラーLCDディスプレイ上の各画素は、単一の画素エレメントによって表現され、大抵の場合、3つの非正方形エレメント、即ち、赤、緑および青(RGB)画素サブコンポーネントから成る。したがって、1組のRGB画素サブコンポーネントが一緒になって、単一の画素エレメントを構成する。公知の種類のLCDディスプレイは、一連のRGB画素サブコンポーネントを備え、一般に、ディスプレイに沿ってストライプを形成するように構成されている。RGBストライプは、通常、一方向においてディスプレイの全長に及んでいる。得られるRGBストライプのことを、「RGBストライピング」とも呼ぶこともある。コンピュータ用途に用いられる一般的なLCDモニタは、縦よりも横に広く、RGBストライプが縦方向に延びている場合が多い。
【0012】
図2Aは、ディスプレイ102として用いることができる、複数の行(R1〜R12)および列(C1〜C16)から成る公知のLCD画面200を示す。各行/列の交差部が、1つの画素エレメントを表す正方形を形成する。図2Bは、公知のディスプレイ200の左上部分を更に詳しく示す。
【0013】
尚、図2Bでは、各画素エレメント、例えば、(R1,C4)画素エレメントが、3つの別個のサブエレメント即ちサブコンポーネント、赤サブコンポーネント206、緑サブコンポーネント207および青サブコンポーネント208から成ることを注記しておく。公知の各サブコンポーネント206、207、208は、画素の幅の1/3または約1/3であり、一方その高さは、画素の高さと等しいかほぼ等しい。したがって、組み合わせると、3つの1/3幅の画素サブコンポーネント206、207、208が単一の画素エレメントを形成する。
【0014】
図2Aに示すように、RGB画素サブコンポーネント026、207、208の1つの公知の構成では、ディスプレイ200の下に向かう垂直なカラー・ストライプとして現れるものを形成する。したがって、図2Aおよび図2Bに示す公知の形態では、1/3幅のカラー・サブコンポーネント206、207、208の配列を「縦型ストライピング」と呼ぶこともできる。
【0015】
図示の目的上図2Aに示すのは12行および16列のみであるが、一般的な列×行の比は、例えば、640×480、800×600、および1024×768を含む。尚、公知のディスプレイ装置は、通常、ランドスケープ状に配置したディスプレイ、即ち、図2Aに示すように、縦よりも横の方が広く、ストライプが縦方向に走るモニタとなっている。
【0016】
LCDを製造する際、画素のサブコンポーネントをいくつかの追加パターンに配列する。これらのパターンには、例えば、ジグザグ・パターン、およびカムコーダのビュー・ファインダでは一般的な、デルタ・パターンが含まれる。本発明の特徴は、このような画素サブコンポーネント配列と共に用いることができるが、RGBストライピング構成の方が一般的であるので、本発明の例示の実施形態は、RGBストライプ・ディスプレイに関連して説明することとする。
【0017】
従来より、1つの画素エレメントに対する各画素サブコンポーネント集合は、単一の画素単位として扱われている。したがって、公知のシステムでは、画素エレメントの全画素サブコンポーネントに対する光度値は、画像の同じ部分から発生する。例えば、図2Cに示す格子220によって表現する画像について考える。図2Cでは、各正方形は、単一の画素エレメント、例えば、格子230の対応する正方形の赤、緑および青画素サブコンポーネントによって表現する画像のエリアを表す。図2Cでは、斜線を付けた円を用いて、光度値を発生する単一の画像サンプルを表している。尚、公知のシステムでは、画像220の単一サンプル22をどのように用いて、赤、緑、および青画素サブコンポーネント232、233、234の各々に光度値を発生するのかに注目すること。このように、公知のシステムでは、一般に、RGB画素サブコンポーネントを1つのグループとして用い、表現する画像の単一サンプルに対応する単一のカラー画素を発生する。
【0018】
各画素サブコンポーネント・グループからの光は、実際には互いに加算し合って、単一カラーの効果が得られる。その色相、彩度、および強度は、3つの画素サブコンポーネントの各々の値によって決まる。例えば、各画素サブコンポーネントは、0から255までの間の強度を有することができる。3つの画素サブコンポーネント全てに255の強度を与えた場合、目は画素を白として認知する。しかしながら、3つの画素サブコンポーネントの全てに、当該3つの画素サブコンポーネントをオフにする値を与えた場合、目は黒い画素を認知する。各画素サブコンポーネントのそれぞれの強度を変化させることにより、これら2つの極値の間で、何百万ものカラーを発生することが可能となる。
【0019】
公知のシステムでは、単一のサンプルを、各々幅が画素の1/3である3つの画素サブコンポーネントにマッピングするので、左右の画素サブコンポーネントの空間変位が発生する。何故なら、これらのエレメントの中心がサンプルの中心から1/3にあるからである。
【0020】
例えば、表現する画像が赤い立方体であり、緑および青コンポーネントが0に等しい場合を検討する。サンプルおよび緑画像サブコンポーネント間の変位の結果、図2Aに示すタイプのLCDディスプレイ上に表示した場合、ディスプレイ上における立方体の見掛け上の位置は、その実際の位置より1画素の1/3だけ左にずれることになる。同様に、青い立方体は、画素の1/3だけ右に変位して見えることになる。このように、LCDスクリーンに用いる公知のイメージング技術では、望ましくない画像の変位誤差が生ずる可能性がある。
【0021】
テキスト・キャラクタは、一種の画像を表し、1インチ当たり72または96ドット(画素)(dpi)の典型的なフラット・パネル・ディスプレイの解像度では、精度高く表示することは特に困難である。このような表示解像度は、殆どのプリンタに対応する600dpiや、書籍や雑誌のように市販の印刷文書において見られる、それよりも更に高い解像度よりも、遥かに劣っている。
【0022】
殆どのビデオディスプレイ装置の表示解像度が比較的低いために、特に、10、12、および14ポイントのフォントといった共通のテキスト・サイズでは、滑らかなキャラクタ形状を描くために十分な画素が得られない。このような共通のテキスト・レンダリング・サイズでは、同じタイプフェースの異なるサイズおよびウェイト(weight)、例えば、厚さの間の諧調は、それらの印刷による同等物よりも遥かに粗雑である。
【0023】
標準的な画素の比較的粗いサイズは、エイリアス効果を生じやすく、表示したタイプ・キャラクタのエッジがぎざぎざになってしまう。例えば、粗いサイズの画素では、タイプフェース・キャラクタを形成するストロークの端部、例えば、底部におけるセリフ、短いラインまたは装飾を正方形に仕切ってしまう(squaring off)場合が多い。このために、セリフを幅広く用いる傾向がある、多くのとても面白いまたは装飾付きのタイプフェースを精度高く表示することが困難となる。
【0024】
このような問題は、特に、キャラクタのステム、例えば、細い垂直部分において顕著である。画素は従来のモニタの最少表示単位であるので、従来の技術を用いて、1画素のステムのウェイト未満で、キャラクタのステムを表示することはできない。更に、ステムのウェイトは、一度に1画素についてのみ、増加できるに過ぎない。したがって、ステムのウェイトは、1ないし2画素の幅で跳んでしまう。多くの場合、1画素幅のキャラクタ・ステムは細すぎ、一方2画素幅のキャラクタ・ステムは太すぎる。小さなキャラクタのタイプフェースをボールドフェースでディスプレイ画面上に作成するには、ステム・ウェイトを1画素から2画素に変更する必要があるので、両者間のウェイトの差は100%となる。印刷では、ボールドは、典型的に、その通常の即ちローマン・フェースの同等物よりも20または30パーセント重いだけに過ぎない。一般に、この「1画素、2画素」問題は、ディスプレイ装置に固有特性として扱われており、単に受け入れざるを得ないこととなっている。
【0025】
従来のキャラクタ表示分野における研究は、部分的に、CRTディスプレイ上におけるキャラクタの表示を改善するために設計されたエリアシング防止技術の開発を中心に進められてきた。一般に用いられるエリアシング防止技術は、キャラクタの縁を含む画素に、グレーの中間調を用いなければならない。実際、これのために、形状ににじみが生じ、縁の空間周波数の低下を招くが、意図するキャラクタ形状の近似は改善する。公知のエリアシング防止技術は、CRTディスプレイ装置上に表示されるキャラクタの品質を格段に改善することができるが、これらの技術の多くは、LCDディスプレイ装置に適用した場合、画素サブコンポーネント配列に関してCRTディスプレイとは著しく相違するため、効果が得られない。
【0026】
更に別の問題は、このようなエリアシング防止技術は大きさサイズのテキストには正しく作用するが、人が読み取るのに最も適したサイズ、典型的に8ないし13ポイントでは、テキストをぼかすという影響がある。人の読み手にとって、この影響は、誰か他の人に処方しためがねで読もうとすることに似ている。読み手の目は、画像に連続的に合焦しようとするのであり、本来焦点を外すことができない。このため、すぐに目の疲れおよび疲労が生じ、読み続ける場合、従来のエリアシング防止技術では満たされなくなる。
【0027】
エリアシング防止技術は、少なくともCRTディスプレイ上において、テキストを比較的低い解像度で表示する場合に伴うエリアシングの問題には役立ったが、画素サイズの問題、および精度高くキャラクタ・ステム幅を表示することができないという問題は、本発明以前では、ディスプレイ装置の不変の特性であり、耐える以外にないと考えられていた。
【発明の概要】
【発明が解決しようとする課題】
【0028】
前述に鑑み、フラット・パネル・ディスプレイ装置上にテキストを表示する新規で改良された方法および装置が求められていることは明らかである。その新たな方法の少なくとも一部は、既存のディスプレイ装置およびコンピュータと共に用いるのに適していることが望ましい。また、少なくとも一部の方法および装置は、例えば、テキストを表示する新たなディスプレイ装置および/または新たな方法を用いて、新たなコンピュータ上に表示するテキストの品質向上を目的とすることが望ましい。
【0029】
グラフィクスの特殊な場合であるテキストの表示は、多くのコンピュータ・アプリケーションにおいて主要な関心事であるが、その他のグラフィクス、幾何学的形状、例えば、円、正方形等や、写真のような取り込んだ画像を高精度かつ明確に表示するように改良した方法および装置も求められている。
【課題を解決するための手段】
【0030】
(本発明の概要)
本発明は、出力装置、例えば、LCDディスプレイの多数の別個の部分を利用して画像の単一画素を表す、画像表示方法および装置を目的とする。
【0031】
本願の発明者は、光の強度が変化する輝度の縁に対する方が、色の強度が変化するクロミナンスの縁に対するよりも人の目が敏感であるという公知の原理を認識した。これは、例えば、緑の背景上で赤いテキストを読み取ることが非常に難しいことの理由である。また、目は、赤、緑および青の色に対して等しく感応しないという公知の原理も、発明者は認識した。実際、完全に白い画素における100パーセント光度の内、赤い画素サブコンポーネントは、認知される輝度全体に対して約30%、緑は60%、そして青は10%寄与する。
【0032】
本発明の種々の特徴は、ディスプレイの個々の画素サブコンポーネントを独立した光度源として利用することにより、ディスプレイの有効解像度を、RGBストライピングの方向に対して垂直な次元において、3倍もの高さに高めることを目的とする。これによって、視覚可能な解像度の大幅な改良が可能となる。
【0033】
本発明の方法は、公知の表示技術と比較すると、クロミナンスの品質に多少の低下を伴う場合もあるが、前述のように、人間の目は、クロミナンスよりも輝度の縁に対して敏感である。したがって、本発明は、カラー品質に及ぼす本発明の技術の悪影響を考慮してもなお、従来のレンダリング技術に比較して、画像の品質を大幅に改良することができる。
【0034】
前述のように、公知のモニタは垂直ストライピングを用いる場合が多い。キャラクタ・ステムは垂直方向に現れ、水平方向に流れるテキストをレンダリングする場合、垂直ラインの厚さを精度高く制御する能力の方が、水平ラインの厚さを制御する能力よりも重要な場合が多い。これを念頭にいれ、少なくともテキストの用途では、モニタの最大解像度は、垂直方向ではなく、水平方向に有する方が望ましいという場合が多い。したがって、本発明にしたがって実現する種々のディスプレイ装置は、水平ではなく、垂直RGBストライピングを利用する。これによって、このようなモニタは、本発明にしたがって利用すれば、垂直方向よりも水平方向の解像度の方が高くなる。しかしながら、本発明は、水平RGBストライピングのモニタにも同様に適用可能であり、従来の画像レンダリング技術に比較して、垂直方向の解像度を高めることが可能となる。
【0035】
画素サブコンポーネントを独立した光度源として扱う場合に用いて好適な新たなディスプレイ装置に加えて、本発明は、本発明による画素サブコンポーネントの使用を容易にする、新たな改良したテキスト、グラフィクスおよび画像レンダリング技術も目的とする。
【0036】
テキストを含む画像の表示は、例えば、画像スケーリング、ヒンティング(hinting)およびスキャン変換を含む、いくつかのステップを伴う。
【0037】
本発明の画像スケーリング技術は、RGBストライピングの方向におけるスケーリングのレートよりも高いレートで、RGBストライピングの方向に対して垂直な次元における、テキストの幾何学的表現のスケーリングを伴う。このような非均一スケーリング技術によって、後続の処理動作は、画素サブコンポーネントを個々の光度源として扱うことによって得られる解像度の事実上の向上を最大限利用することが可能となる。また、ストライピングに対して垂直な方向におけるスケーリングは、後続のスキャン変換動作において用いる1つ以上の重み係数の関数として形成することも可能である。したがって、ストライピングに対して垂直な方向のスケーリングは、ストライピングの方向に行なうスケーリングの多数倍、例えば、10倍とすることも可能である。
【0038】
新たなスケーリング方法に加えて、本発明は、ヒンティング動作を行なう新たな方法も目的とする。これらの方法は、公知のヒンティング動作において考慮する画素の境界に加えて、画像内の画素サブコンポーネントの境界を考慮に入れる。垂直ストライピングのディスプレイ装置と共に用いるために行われるヒンティング動作の中には、画素の縁全域で常に青および赤の画素サブコンポーネント間に現れるのではなく、キャラクタを画素サブコンポーネントの境界に沿って整列させ、キャラクタ・ステムが赤、青または緑画素サブコンポーネントで隣接するか、またはその内側に来るようにすることを、1ステップとして、伴う場合もある。
【0039】
他のヒンティング動作には、水平ストライピングのディスプレイ装置と共に用いるために実行することもできるものもある。このようなヒンティング動作は、1ステップとして、画素サブコンポーネントの境界に沿ってキャラクタの底辺を位置合わせし、キャラクタの底辺のボーダが、画素の縁全体ではなく、赤または青の画素サブコンポーネント内に入るようにする。
【0040】
本発明によれば、ヒンティング動作の一部として、画像内の垂直および/または水平ラインの幅を、画素サブコンポーネント境界の関数として調節することも可能である。これによって、画素サブコンポーネント境界ではなく、画素境界(縁)全域の位置の関数としてヒンティングを実行する公知のシステムにおけるよりも画像形状が歪む場合に、より精細な調節をヒンティング・プロセスで行なうようにすることが可能となる。
【0041】
スキャン変換は、通常、ヒンティングの後に行なう。スキャン変換とは、画像の幾何学的表現をビットマップに変換するプロセスのことである。本発明のスキャン変換動作は、画像の異なる部分を異なる画素サブコンポーネントにマッピングすることを伴う。これは、画像の同じ部分を用いて光度値を判定し、1つの画素を表す3つの画素サブコンポーネントの各々と共に用いる、公知のスキャン変換技術とは全く異なる。
【0042】
RGB画素サブコンポーネントを独立した光度源として扱うことの結果、色縁効果(color fringing effect)が生ずる可能性もある。本発明の特徴の1つは、ビットマップ画像を処理し、望ましくない色縁効果を検出することを対象とする。本発明の別の特徴は、ビットマップ画像上でカラー処理動作を行い、望ましくない色縁効果を低減または補償することを対象とする。
【0043】
本発明の別の特徴は、グレー・スケール・ディスプレイ、およびグレー・スケール画像、例えば、テキスト、およびカラー画像を表示可能なディスプレイを対象とする。
【0044】
本発明は、矩形ディスプレイ・エレメントを有するグレー・スケール・モニタを含み、第1の次元、例えば、水平次元が、第1の次元に垂直な第2の次元、例えば、垂直次元の解像度の倍数となっている。例示の一実施形態では、水平方向の解像度が垂直方向の3倍のグレー・スケール・ディスプレイを提供する。
【0045】
グレー・スケールおよびカラー・ディスプレイ装置双方として動作可能なディスプレイ、例えば、LCDディスプレイも想定している。このようなディスプレイの1つでは、ディスプレイのカラー部分を実現するために用いるカラー・フィルタを、ディスプレイの別個のグレー・スケール部分から省略する。テキスト、例えば、キャプションを表示する際にはディスプレイのグレー・スケール部分を用い、カラー画像、例えば、グラフィクスを表示する際にはディスプレイのカラー部分を用いる。
【0046】
本発明の別のディスプレイでは、カラー動作モードおよび透明動作モード間で切り換え可能なフィルタ・セルを備えたカラー・フィルタを採用する。画像、例えば、テキストをグレー・スケール画像として表示する場合、このグレー・スケール画像を表示するために用いるディスプレイの対応するフィルタ・セルを、透明動作モードに切り換える。このような実施形態では、ディスプレイの残りの部分または複数の残りの部分は、カラー画像を表示するために用いることができる。
【0047】
本発明の方法および装置の数多くの追加の特徴、実施形態および利点は、以下の詳細な説明に明記してある。
【図面の簡単な説明】
【0048】
【図1】公知の携帯用コンピュータの図である。
【図2A】公知のLCD画面の図である。
【図2B】図2Aに示す公知の画面の一部を、図2Aの図よりも詳細に示す図である。
【図2C】公知のシステムにおいて実行する画像サンプリング動作を示す図である。
【図3】後続のテキスト発生および表示において用いるために、キャラクタ情報を準備し格納する際に行われる公知のステップを示す図である。
【図4】本発明の一実施形態にしたがってポートレート用の向きに配置したフラット・パネル・ディスプレイを備えた電子ブックを示す図である。
【図5】本発明にしたがって実現したコンピュータ・システムを示す図である。
【図6】本発明の実施形態の一例にしたがって実行する画像サンプリングを示す図である。
【図7A】本発明にしたがって実現したカラー・フラット・パネル・ディスプレイ画面を示す図である。
【図7B】図7Aのディスプレイ画面の一部を示す図である。
【図7C】本発明の別の実施形態にしたがって実現したディスプレイ画面を示す図である。
【図8】コンピュータ・システムのディスプレイ上にテキスト画像をレンダリングするために用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す図である。
【図9A】本発明の一実施形態にしたがって、テキストにレンダリングを行い表示する方法を示す図である。
【図9B】図9Aのステップ915において行なうカラー処理/調節を実現するために用いることができる、本発明のカラー補償サブルーチン813の一例を示す図である。
【図9C】本発明の実施形態の一例にしたがって実装した画素カラー処理サブルーチンを示す図である。
【図9D】本発明の実施形態の一例にしたがって実装した画素カラー処理サブルーチンを示す図である。
【図10】図10A、図10Bは、本発明の種々の実施形態例にしたがって実行するスケーリング動作を示す図である。
【図11A】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【図11B】本発明の種々の実施形態例にしたがって実行するヒンティング動作を示す図である。
【0049】
【図12A】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図12B】本発明の種々の実施形態例にしたがって実行するスキャン変換動作を示す図である。
【図13】図12Aに示した画像データの第1列に適用するスキャン変換プロセスを更に詳細に示す図である。
【図14】本発明の一実施形態にしたがって実行する加重スキャン変換動作を示す図である。
【図15】画素のフィールド上に表示するキャラクタの高解像表現を示す図である。
【図16】公知の技術を用いた場合に、図15のキャラクタがどのように示されるかを示す図である。
【図17】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図18】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図19】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図20】本発明の種々のテキスト・レンダリング技術にしたがって、図15に示すキャラクタを図示する異なる方法を示す図である。
【図21】図21Aは、公知のカラーLCD画面の構造を示す図である。図21Bは、フォントから見た場合に、図21Aの公知の画面がどのように見えるかを示す図である。
【図22】図22Aは、本発明の実施形態の一例にしたがって実現したグレー・スケールLCDの構造を示す図である。図22Bは、フォントから見た場合に、図22Aの画面がどのように見えるかを示す図である。
【図23】図23Aは、本発明にしたがって実現した、カラー部分およびグレー・スケール部分双方を有するLCDの構造を示す図である。図23Bは、フォントから見た場合に、図23Aの画面がどのように見えるかを示す図である。
【図24】図24Aは、本発明の別の実施形態にしたがって実現したLCDにおいて、その全てまたは一部をカラー動作モードおよびグレー・スケール動作モード間で切り換え可能とした構造を示す図である。図24Bは、フォントから見た場合に、図24Aの画面がどのように見えるかを示す図である。
【発明を実施するための形態】
【0050】
(詳細な説明)
前述のように、本発明は、出力デバイスの多数の別個の区域、例えば、液晶ディスプレイの画素サブコンポーネントを利用して、画像の単一画素を表現することができるディスプレイ装置上において、画像、例えば、テキストおよび/またはグラフィックスを表示する方法および装置に関する。
【0051】
本発明の種々の方法は、1画素を構成する1組のRGB画素サブコンポーネントを単一の光度単位として扱うのではなく、各画素サブコンポーネントを別個の独立した光度源として用いようとするのである。これによって、RGB水平または垂直ストライピングのディスプレイ装置を、ストライピングの次元における有効解像度が他の次元よりも3倍高いものとして扱うことが可能となる。本発明の種々の装置は、サブ画素コンポーネントを個別に制御できることを利用した、ディスプレイ装置および制御装置を目的とする。
【0052】
図4は、本発明の一実施形態にしたがって実現したコンピュータ化電子ブックデバイス400を示す。図4に示すように、電子ブック400は、本の奇数ページおよび偶数ページを表示するための第1および第2ディスプレイ画面402、404をそれぞれ備えている。更に、電子ブック400は、入力デバイス、例えば、キーパッドまたはキーボード408、およびデータ記憶装置、例えば、CDディスク・ドライブ407を備えている。蝶番406を備えているので、使用しない場合、電子ブック400を折曲げてディスプレイ402、404を保護することができる。内部バッテリを用いて電子ブック400に給電することができる。同様に、本発明の他の携帯用コンピュータの実施形態も電池による給電が可能である。
【0053】
図5および以下の論述は、本発明の少なくとも一部の態様を実現可能な装置例について、端的な全体的説明を与える。本発明の種々の方法は、全体的に、電子ブック400またはパーソナル・コンピュータのようなコンピュータ・デバイスによって実行する、コンピュータ実行可能命令、例えば、プログラム・モジュールに関連付けて、説明する。本発明の他の態様は、物理的なハードウエア、例えば、ディスプレイ装置コンポーネントおよびディスプレイ画面等に関して説明する。
【0054】
本発明の方法は、ここに記載する特定のコンピュータ・デバイス以外の装置でも実行可能である。プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むことができ、タスク(複数のタスク)を実行したり、あるいは特定の抽象的データ・タイプを実装する。更に、当業者は、本発明の態様の少なくとも一部は、他の構成と共にでも実施可能であることを認めよう。その中には、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ中核またはプログラム可能消費者電子機器、ネットワーク・コンピュータ、ミニコンピュータ、セット・トップ・ボックス、メインフレーム・コンピュータ、例えば、自動車、航空機、工業的用途等に用いるディスプレイを含む。また、本発明の態様の少なくとも一部は、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行する分散型計算機環境においても実施可能である。分散型計算機環境では、ローカルおよび/またはリモートのメモリ記憶装置に、プログラム・モジュールを配置することができる。
【0055】
図5を参照すると、本発明の態様の少なくとも一部を実現する装置の一例500は、汎用計算デバイス、例えば、パーソナル・コンピュータ520を含む。パーソナル・コンピュータ520は、演算装置521、システム・メモリ522、ならびにシステム・メモリ522ないし演算装置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と結合することができる。ドライブおよびそれらに関連する記憶媒体は、機械読み取り可能命令、データ構造、プログラム・モジュールおよびパーソナル・コンピュータ520のためのその他のデータの不揮発性格納を行なう。ここに記載する環境の一例では、ハード・ディスク、リムーバブル磁気ディスク529およびリムーバル光ディスク531を採用するが、当業者は、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)等のような、その他の種類の記憶媒体も、先に紹介した記憶装置の代わりに、またはこれらに加えて、使用可能であることを認めよう。
【0056】
例えば、オペレーティング・システム535、1つ以上のアプリケーション・プログラム536、その他のプログラム・モジュール537、および/またはプログラム・データ538のような多数のプログラム・モジュールを、ハード・ディスク527、磁気ディスク529、(磁気)光ディスク531、ROM524またはRAM525上に格納することができる。ユーザは、例えば、キーボード540およびポインティング・デバイス542のような入力デバイスによって、パーソナル・コンピュータ520にコマンドおよび情報を入力することができる。マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等のようなその他の入力デバイス(図示せず)も含むことができる。多くの場合、これらおよびその他の入力デバイスは、システム・バス523に結合されているシリアル・ポート・インターフェース546を介して、演算装置521に接続されている。しかしながら、入力デバイスは、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースによって接続することも可能である。また、例えば、ビデオ・アダプタ548のようなインターフェースを介して、モニタ547またはその他のディスプレイ装置をシステム・バス523に接続することも可能である。装置500は、第2ディスプレイ装置の追加により、ブック400を実現するために用いることも可能である。モニタ547に加えて、パーソナル・コンピュータ520は、例えば、スピーカやプリンタのような、その他の周辺出力デバイス(図示せず)も含むことができる。
【0057】
パーソナル・コンピュータ520は、リモート・コンピュータ549のような1つ以上のリモート・コンピュータに対する論理接続を規定する、ネットワーク環境においても動作可能である。リモート・コンピュータ549は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイスまたはその他の一般的なネットワーク・ノードとすることもでき、更にパーソナル・コンピュータ520に関連して先に述べたエレメントの多くまたは全てを含むこともできる。図5に示す論理接続は、ローカル・エリア・ネットワーク(LAN)551およびワイド・エリア・ネットワーク(WAN)522、イントラネットならびにインターネットを含む。
【0058】
LANにおいて用いる場合、パーソナル・コンピュータ520は、ネットワーク・インターフェース・アダプタ(即ち、「NIC」)553を介してLAN551に接続することができる。インターネットのようなWANにおいて用いる場合、パーソナル・コンピュータ520は、モデム554、またはワイド・エリア・ネットワーク552上で通信を確立するその他の手段を含めばよい。モデム554は、内蔵でも外付けでもよく、シリアル・ポート・インターフェース546を介してシステム・バス523に接続することができる。ネットワーク環境では、パーソナル・コンピュータ520に関連して先に示したプログラム・モジュールの少なくとも一部をリモート・メモリ記憶装置に格納することができる。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能である。
【0059】
図7Aは、本発明の一実施形態にしたがって実現したディスプレイ装置600を示す。ディスプレイ装置600は、例えば、フラット・パネル・ディスプレイが望ましい携帯用コンピュータまたはその他のシステムにおける使用に適している。ディスプレイ装置600は、LCDディスプレイとして実現することができる。一実施形態では、公知のコンピュータ100の表示および制御ロジックを、本発明のディスプレイ装置600および表示制御ロジック、例えば、ルーチンと置換し、携帯用コンピュータに、水平RGBストライピングおよび画像の異なる部分を表すために用いる画素サブコンポーネントを備える。
【0060】
図示のように、ディスプレイ装置600は、16列の画素エレメントC1〜C16、および12行の画素エレメントR1〜R12を含み、16×12画素を有するディスプレイとなる。ディスプレイ600は、殆どのコンピュータ・モニタの場合と同様、縦よりも横の方が大きくなるように配置されている。ディスプレイ700は、本特許における図示の目的上16×12画素に限定しているが、図7Aに示すタイプのモニタは、あらゆる数の垂直および水平画素エレメントでも有することができ、例えば、640×840、800×600、1024×768および1280×1024という水平対垂直画素比、更には正方形表示が得られる比率を有するディスプレイも可能である。
【0061】
ディスプレイ600の各画素エレメントは、3つのサブコンポーネント、赤画素サブコンポーネント602、緑画素サブコンポーネント604、および青画素サブコンポーネント606を含む。図7Aの実施形態では、各画素サブコンポーネント602、604、606は、画素の高さの1/3に等しいまたはほぼ等しい高さ、および画素の幅に等しいまたはほぼ等しい幅を有する。
【0062】
モニタ600において、RGB画素サブコンポーネントは、水平ストライプを形成するように配列する。これは、前述のモニタ200に用いた垂直ストライプ配列とは逆である。特に、モニタ600は、例えば、アプリケーション上水平解像度よりも垂直解像度の方が高いことが望ましいグラフィクス・アプリケーションにおいて用いるとよい。
【0063】
図7Bは、ディスプレイ600の左上部分を更に詳細に示す。図7Bでは、水平RGBストライピング・パターンを明確に見ることができ、文字R、GおよびBを用いて、対応する色の画素サブコンポーネントを示す。
【0064】
図7Cは、本発明にしたがって実現した他のディスプレイ装置700を示す。図7Cは、水平画素エレメントよりも垂直画素エレメントの方が多いディスプレイ装置、例えば、LCDディスプレイにおける垂直RGBストライピングの使用を示す。12×16ディスプレイを示すが、ディスプレイ700は、あらゆる数の画素列/行でも実現可能であり、正方形の表示が得られる列/行比も含むことは理解されよう。
【0065】
ディスプレイ装置700は、水平に流れるテキストのポートレート・タイプ表示が望ましい場合に特に適している。図7Cに示すタイプのディスプレイ装置は、電子ブック400のディスプレイ402、404として用いることができる。図6のモニタの場合と同様、各画素エレメントは、3つのサブ画素コンポーネント、即ち、R、G、およびB画素サブコンポーネントから成る。
【0066】
ディスプレイ7Aはある種のグラフィクス・アプリケーションには望ましいが、高品質のキャラクタを生成するには、キャラクタ・ステムの正確な表現、キャラクタの比較的長く細い垂直部分の方が、セリフの表現よりも遥かに重要である。垂直ストライピングは、本発明にしたがって用いる場合、一度に画素の幅の1/3だけステムを調節可能であるという、格別の利点を有する。したがって、垂直ストライピング配列を有する装置200または700のようなディスプレイ装置を、本発明の表示方法と共に用いることにより、ステムの調整が1画素ずつに限定される公知の水平ストライピング配列よりも、高い品質のテキストを得ることができる。
【0067】
垂直ストライピングの別の利点として、画素サイズよりも小さい刻みの幅、例えば、画素サイズの1/3刻みでキャラクタの間隔を調節できることがあげられる。キャラクタ間隔は、読み易さ(legibility)にとっては重要なテキスト特性である。したがって、垂直ストライピングを用いることによって、テキスト間隔の改善、およびステムのウェイトの精細化を得ることができる。
【0068】
図8は、本発明によるコンピュータ・システムのディスプレイ上にテキスト画像をレンダリングする際に用いる、図5のコンピュータ・システムのメモリに含まれる種々のエレメント、例えば、ルーチンを示す。
【0069】
図示のように、アプリケーション・ルーチン536は、例えば、ワード・プロセッサ・アプリケーションとすることができ、テキスト出力サブコンポーネント801を含む。テキスト出力サブコンポーネント801は、矢印813で表すように、テキスト情報をオペレーティング・システム535に出力し、ディスプレイ装置547上にレンダリングする役割を担う。テキスト情報は、例えば、レンダリングするキャラクタを識別する情報、レンダリングの間に用いるフォント、およびキャラクタをレンダリングする際のポイント・サイズを含む。
【0070】
オペレーティング・システム535は、ディスプレイ装置547上におけるテキストの表示を制御する役割を担う種々のコンポーネントを含む。これらのコンポーネントは、表示情報815、ディスプレイ・アダプタ814、およびグラフィクス・ディスプレイ・インターフェース802を含む。表示情報815は、例えば、レンダリングの間に適用するスケーリングに関する情報、および/または前景/背景カラー情報を含む。ディスプレイ・アダプタは、グラフィクス・ディスプレイ・インターフェース802からビットマップ画像を受け取り、ビデオ信号を発生し、ビデオ・アダプタ548に供給して、ディスプレイ547による光学的表示を行なう。矢印815は、ビットマップ画像のグラフィクス・ディスプレイ・インターフェース802からディスプレイ・アダプタ814への通過を表す。
【0071】
グラフィクス・ディスプレイ・インターフェース802は、テキストだけでなくグラフィクスを処理するためのルーチンも含む。エレメント804は、テキストを処理するために用いる、タイプ・ラスタライザである。タイプ・ラスタライザは、アプリケーション536から得たテキスト情報を処理し、これからビットマップ表現を発生する役割を担う。タイプ・ラスタライザ804は、キャラクタ・データ806、ならびにレンダリングおよびラスタ化ルーチン807を含む。
【0072】
キャラクタ・データ806は、例えば、ベクトル・グラフィクス、ライン、ポイントおよび曲線を含み、1組以上のキャラクタの高解像度ディジタル表現が得られる。
【0073】
図3に示すように、テキスト・キャラクタ302を処理し、データ806のような、その高解像度ディジタル表現を発生し、これをメモリに格納しておきテキスト発生の間に使用できるようにすることは公知である。したがって、データ806の発生304および格納306については、ここでは詳細に論じないことにする。
【0074】
レンダリングおよびラスタ化ルーチン807は、スケーリング・サブルーチン808、ヒンティング・サブルーチン810、スキャン変換サブルーチン812およびカラー補償ルーチン813を含む。スケーリング、ヒンティングおよびスキャン変換動作を実行しテキスト画像をレンダリングすることは普通のことであるが、本発明のルーチンおよびサブルーチンは、画面のRGB画素サブコンポーネントを別個の光度エンティティとして利用するかあるいは扱い、レンダリングする画像の異なる部分を表現するために使用できるようにした点において、公知のサブルーチンとは異なっている。カラー補償サブルーチン813は、スキャン変換サブルーチン812によって作成したビットマップ画像に対してカラー補償調節を実行し、画素の3つのカラー・サブコンポーネントの各々を別個の光度エレメントとして扱ったことによって生じ得る、望ましくない色縁効果を補償する役割を担う。本発明のサブルーチン808、810、812および813の各々が実行する動作について、これより詳細に説明する。
【0075】
図9Aは、本発明にしたがって表示のためにテキストのレンダリングを行なう際に用いるレンダリングおよびラスタ化ルーチン807を示す。図示のように、ルーチン807はステップ902において開始し、例えば、オペレーティング・システム535の制御の下で、アプリケーション536からのテキスト情報の受信に応答してルーチンを実行する。ステップ904において、テキスト・レンダリングおよびラスタ化ルーチン807が入力を受け取る。入力は、アプリケーション536から得た、テキスト、フォント、およびポイント・サイズ情報905を含む。
【0076】
加えて、入力は、例えば、オペレーティング・システムによってメモリに格納されているモニタ設定値から得た、スケーリング情報および/または前景/背景カラー情報や画素サイズ情報も含む。また、入力は、データ806も含み、これには、例えば、ライン、ポイントおよび/または曲線という形態での、表示するテキスト・キャラクタの高解像表現が含まれる。
【0077】
ステップ904において入力を受け取ると、動作はステップ910に進み、スケーリング・サブルーチン808を用いてスケーリング動作を実行する。本発明によれば、非正方形スケーリング(non-square scaling)は、各画素エレメントに含まれる画素サブコンポーネントの方向および/または数の関数として実行する。即ち、高解像キャラクタ・データ、例えば、受け取ったテキストおよびフォント情報による指定により表示するキャラクタのラインおよびポイント表現のスケーリングを、ストライピングに対して垂直な方向に、ストライピングの方向よりも大きいレートで行なう。これによって、後続の画像処理動作は、本発明にしたがって、個々の画素サブコンポーネントを独立した光度源として用いることによって得られる、より高い解像度を利用することが可能となる。
【0078】
したがって、図7Aに示すタイプのディスプレイを装置として用い、その上にデータを表示する場合、垂直方向のスケーリングは、水平方向よりも大きなレートで行われる。垂直ストライピングの画面、例えば、図2および図7Cに示す画面の場合、水平方向のスケーリングは、垂直方向よりも大きなレートで行われる。
【0079】
垂直および水平画像方向間のスケーリングの相違は、用いるディスプレイならびに実行する後続のスキャン変換およびヒンティング・プロセスによって変動する可能性がある。ステップ904において得たスケーリング情報を含む表示情報をステップ910において用い、所与の実施形態において実行するスケーリングを決定する。
【0080】
本発明の種々の実施形態では、スケーリングは、ストライピングに対して垂直に、各画素を形成する画素サブコンポーネントの数とは無関係のレートで行われる。例えば、RGB画素サブコンポーネントを用いて各画素を形成する一実施形態では、スケーリングは、ストライピングに対して垂直な方向に、ストライピングの方向に行なうスケーリングのレートの20倍のレートで行われる。殆どの場合、キャラクタまたは画像のスケーリングは、ストライピングに対して垂直な方向に、赤、緑および青ストライプに更に分割可能なレートで、その光度寄与に比例して行なうが、必須ではない。
【0081】
図10Aは、図2Aに示すような、水平ストライピングのモニタ上における文字の表示を見越して、文字i1002の高解像表現に対して実行するスケーリング動作を示す。尚、この例では、水平(x)方向のスケーリングをx1のレートで適用し、一方垂直(Y)方向のスケーリングをx3のレートで適用することを注記しておく。その結果、元の文字1002よりも3倍縦に長く、幅は同一となった、スケーリング文字1004が得られる。
【0082】
図10Bは、図2および図7Cに示したような、垂直ストライプのモニタ上における文字の表示を見越して、文字i1002の高解像表現に対して実行するスケーリング動作を示す。尚、この例では、水平(X)方向のスケーリングをx3のレートで適用し、一方垂直(Y)方向のスケーリングをx1のレートで適用することを注記しておく。その結果、元のキャラクタ1002と同じ高さであるが、幅が3倍広い、スケーリング文字1008が得られる。
【0083】
他の量でスケーリングすることも可能である。例えば、後続のスキャン変換動作の一部として、画素サブコンポーネントに対する光度値を決定する際に、加重スキャン変換動作を連係させた場合、スケーリングは、RGBストライピングおよび用いる重みの関数として行われる。実施形態の一例では、RGBストライピングに対して垂直な方向のスケーリングは、スキャン変換動作の間に用いられる整数重みの和に等しいレートで行われる。特定的な一実施形態では、これによって、ストライピングに対して垂直な方向のスケーリングは10xのレートで行われ、一方ストライピングに対して平行な方向には1xのレートでスケーリングが行われる。
【0084】
再度図9Aを参照すると、一旦スケーリング動作をステップ910において完了したなら、動作はステップ912に進み、例えば、ヒンティング・サブルーチン810を実行することによって、スケーリングした画像のヒンティングを行なう。ヒンティング・プロセスを記述するために、格子フィッティング(grid-fitting)という用語を用いる場合もある。
【0085】
ヒンティング動作を図11Aおよび図11Bに示す。図11Aは、水平ストライピングのモニタ上に表示するようにした、スケーリング・キャラクタ1004のヒンティングを示す。図11Bは、垂直ストライピングのモニタ上に表示するようにした、スケーリング・キャラクタ1008のヒンティングを示す。
【0086】
ヒンティングは、後続のスキャン変換動作の一部として用いられる格子1102、1104内に、スケーリング・キャラクタ、例えば、キャラクタ1004、1008を位置合わせすることを伴う。また、格子の形状に画像をより良く一致させるように、画像の輪郭を歪ませることも伴う。格子は、ディスプレイ装置の画素エレメントの物理的サイズの関数として決定する。
【0087】
ヒンティングの間画素サブコンポーネントの境界を考慮に入れない従来技術とは異なり、本発明は画素サブコンポーネントの境界を、文字を位置合わせすることができる境界または位置合わせしなければならない境界として、あるいはキャラクタの輪郭を調節する境界として扱う。
【0088】
画素サブコンポーネントの境界の関数として本発明にしたがって実施するヒンティングは、カラー歪み、例えば、カラー・アーチファクトを低減するために用いることができる。これは、異なるカラー画素サブコンポーネントの各々を独立した光度源として扱うことの結果として生ずる場合がある。制御する光度に加えて、各画素サブコンポーネントは、色相および彩度を有し、これらは通常カラー・ディスプレイに内蔵するカラー・フィルタによって決定される定数である。サブ画素の光度が変化すると、画素全体のカラーも変化する。画素サブコンポーネントを独立した光度源として扱うことによって生ずるこれらカラーの変動が、人の目の注意を引く程になると、これらはアーチファクトとなり、人の目に合わせて画像を高精度に再現するディスプレイの機能を損なう可能性がある。乱れを招く虞れのあるアーチファクトは、回避するか極力抑えることが望ましい。
【0089】
例えば、ヒンティング・プロセスの一部として、縁の配置を調節すると、カラー・アーチファクトの低減または排除に多大な効果をあげることができる。頻繁に用いられる個々の画像、例えば、キャラクタでは、縁配置情報を、熟練植字工によって決定し、キャラクタ発生に用いるフォント情報の一部としてメモリに格納しておくことができる。ヒンティング動作の間、このような具体的なキャラクタ配置情報が利用可能であれば、ヒンティング・プロセスの間に適切なキャラクタ配置の決定に利用する。具体的な配置情報が格納されていない画像は、格納してある、一般に適用可能なヒンティング規則にしたがって、種々の画素および画素サブコンポーネントと位置合わせすればよい。
【0090】
本発明のヒンティング・プロセスは、使用可能な画素サブコンポーネントを用いてキャラクタの高精度表示を最適化することを意図して、格子内にキャラクタのスケーリング表現を、例えば、画素および画素サブコンポーネントの境界に沿ってまたはその内部に、位置合わせすることを伴う。多くの場合、これは、キャラクタ・ステムの左縁を、左側の画素またはサブ画素コンポーネントの境界に位置合わせし、更に文字の底辺の下端を画素コンポーネントまたはサブコンポーネントの境界に沿って位置合わせすることを伴う。
【0091】
垂直ストライピングの場合、キャラクタ・ステムが青または緑の左縁を有するように位置合わせしたステムを有するキャラクタは、一般に、赤の左縁を有するように位置合わせしたステップを有するキャラクタよりも読みやすいという傾向があることを、実験結果は示している。したがって、少なくとも一部の実施形態では、垂直ストライピングの画面上に表示するキャラクタのヒンティングの間、ステムに対して青または緑の左縁を、赤の左縁よりも、ヒンティング・プロセスの一部として優先する。
【0092】
水平ストライピングの場合、キャラクタの底辺の下端が赤または青の底辺縁を有するように位置合わせしたキャラクタは、一般に、緑の下端縁を有するように位置合わせした底面を有するキャラクタよりも読みやすいという傾向がある。したがって、水平ストライピングの画面上に表示するキャラクタのヒンティングの間、少なくとも一部の実施形態では、赤または青の底辺縁を、緑の底辺縁よりも、ヒンティング・プロセスの一部として優先する。
【0093】
図11Aは、スケーリング画像1104に対するヒンティング動作の適用を示す。ヒンティング・プロセスの一部として、スケーリング画像1104を格子1102上に配置し、その位置および輪郭を調節し、格子形状により良く一致させ、かつ所望の度合のキャラクタ間隔が得られるようにする。図11Aおよび図11Bにおける文字「G.P.」は、格子配置ステップを示し、一方ヒンティングという用語は、ヒンティング・プロセスの輪郭調節およびキャラクタ離間部分を示す。
【0094】
尚、画像1004のヒンティングを行い水平ストライピングを有する画面上に表示する図11Aでは、スケーリング画像1004をR/G画素サブコンポーネント境界に沿って位置付け、キャラクタ1004の底辺が赤の底辺縁を有するようにすることを注記しておく。加えて、画像の輪郭を調節し、画像の矩形部分が画素サブコンポーネント境界に隣接するようにする。その結果、ヒント画像1014が得られる。また、キャラクタ画像と画面上においてキャラクタ位置および間隔を決定するために用いる左および右側支持点(図示せず)との間の距離も、画素サブコンポーネント境界の関数として調節する。このように、本発明の種々の実施形態では、キャラクタ間隔を、画素サブコンポーネントの幅に対応する距離、例えば、画素幅の1/3に制御する。
【0095】
図11Bでは、画像1008にヒンティングを行い垂直ストライピングを有する画面上に表示するが、スケーリング画像1008をR/G画素サブコンポーネント境界に沿って位置付け、ヒント・キャラクタ1018のステムの左縁が緑の左縁を有するようにする。また、キャラクタの形状、および格子上におけるキャラクタの位置も調節する。キャラクタ間隔の調節も行なう。
【0096】
一旦ヒンティング・プロセスをステップ912において完了したなら、動作はステップ914に進み、本発明にしたがって、例えば、スキャン変換サブルーチン812を実行することによって、スキャン変換動作を行なう。
【0097】
スキャン変換は、スケーリングしたキャラクタを表す幾何学的形状のビットマップ画像への変換を伴う。従来のスキャン変換動作は、スケーリング画像の対応部分をマッピングすることができる個々の単位として、画素を扱っていた。したがって、従来のスキャン変換動作の場合、画像の同じ部分を用いて光度値を決定し、スケーリング画像の一部をマッピングする先である、画素エレメントのRGB画素サブコンポーネントの各々と共に用いる。図2Cは、公知のスキャン変換プロセスの一例であり、ビットマップとして表現する画像をサンプリングし、サンプル値から光度値を発生することを伴う。
【0098】
本発明によれば、画素のRGB画素サブコンポーネントは、独立した光度エレメントとして扱う。したがって、各画素サブコンポーネントを別個の光度コンポーネントとして扱い、これに、スケーリング画像の別個の部分をマッピングすることができる。このように、本発明は、スケーリング画像の異なる部分を、異なる画素サブコンポーネントにマッピングすることを可能とし、公知のスキャン変換技術によって可能な解像度よりも高い解像度を得ることができる。即ち、種々の実施形態において、スケーリング画像の異なる部分を用いて、各画素サブコンポーネントと共に用いる光度値を独立して決定する。
【0099】
図6は、本発明の一実施形態にしたがって実施するスキャン変換の一例を示す。図示の実施形態では、格子620で表す画像の別個の画像サンプル622、623、624を用いて、発生するビットマップ画像630の対応部分632、633、634と関連する赤、緑および青強度値を発生する。図6の例では、赤および青に対する画像サンプルは、それぞれ、緑のサンプルから1画素の幅の−1/3および+1/3の距離だけ変位している。このようにして、図2Cに示す公知のサンプリング/画像表現方法では発生する変位問題を回避する。
【0100】
図に示す例では、白を用いて、スキャン変換動作によって発生するビットマップ画像において「オンにする」画素サブコンポーネントを示す。白でない画素サブコンポーネントは「オフ」状態にある。
【0101】
黒いテキストの場合、「オン」は、当該画素サブコンポーネントに関連する強度値を制御して、画素サブコンポーネントが光を出力しないようにすることを暗示する。白い背景画素を想定すると、「オン」でないサブコンポーネントには、最大光出力を出力させる強度値が割り当てられることになる。
【0102】
前景および背景のカラーを用いる場合、「オン」は、3つの画素サブコンポーネント全てを用いて前景カラーを発生するとすれば指定の前景カラーを生成する値を、画素サブコンポーネントに割り当てることを意味する。「オン」でない画素サブコンポーネントには、3つの画素サブコンポーネント全てを用いて背景カラーを発生するとすれば指定の背景カラーを生成する値を割り当てる。
【0103】
スケーリング中、画素サブコンポーネントを「オン」にするか否かについて判定する第1の技法は、スケーリング格子の一部によって表され、画素サブコンポーネントにマッピングされる、スケーリング画像セグメントの中心が、表示する画像のスケーリング表現内部にあるか否かについて判定することである。例えば、図12Aでは、格子セグメント1020の中心が画像1004の内側にある場合、画素サブコンポーネントC1、R5をオンにする。別の技法は、画素サブコンポーネントにマッピングするスケーリング画像セグメントの50%以上が、表示する画像によって占められているか否かについて判定することである。占められている場合、画素サブコンポーネントを「オン」にする。例えば、格子セグメント1202によって表されるスケーリング画像セグメントが、少なくとも50%画像1004によって占められている場合、対応する画素サブコンポーネントC1、R5をオンにする。以下で論ずる図12A、図12B、図13および図14の例では、いつ画素サブコンポーネントをオンにするか判定する第1の技法を採用する。
【0104】
図12Aは、水平ストライピングのディスプレイ装置上における表示のためにヒント画像1004に対して行なうスキャン変換動作を示す。スキャン変換動作の結果、ビットマップ画像1202が得られる。尚、ビットマップ画像の列C1〜C4の各画素サブコンポーネントを、スケーリング・ヒント画像1004の対応する列の異なるセグメントからどのように判定するかについて注意すること。また、画素の高さの2/3であり、緑/青画素の境界に沿ってを位置合わせした底辺、高さが画素の2/3であるドットで、ビットマップ画像1204をどのように構成するかについても注意すること。公知のテキスト・イメージング技術であれば、得られる画像は、精度が低く、画素1つ分の高さと同じ底辺および画素1つ分のサイズのドットを有することになる。
【0105】
図12Bは、垂直ストライピングのディスプレイ装置上に表示するためにヒント画像1008に対して行なうスキャン変換動作を示す。スキャン変換動作によって、ビットマップ画像1203が得られる。尚、ビットマップ画像の列C1〜C4の各画素サブコンポーネントを、スケーリング・ヒント画像1008の対応する列の異なるセグメントからどのように判定するかについて注意すること。また、ビットマップ画像1208は、赤/緑画素境界に沿って整合された左縁を有する2/3画素幅のステムでどのように構成するかについても注意すること。更に、幅が1画素の2/3である画素を用いることにも注意すること。公知のテキスト・イメージング技術であれば、得られる画像は精度が低く、最大画素幅のステムおよびサイズが1画素のドットを有することになる。
【0106】
図13は、図12Aに示したスケーリング画像1004の第1列に対して行なうスキャン変換プロセスを更に詳細に示す。図示のスキャン変換プロセスでは、スケーリング画像1004の1セグメントを用いて、各画素サブコンポーネントに関連する光度値を制御する。これによって、各画素サブコンポーネントは、スケーリング画像1004の同じサイズの部分によって制御されることになる。
【0107】
スキャン変換動作の間、重み付けを適用することも可能である。重み付けを適用する場合、スケーリング画像の異なるサイズの領域を用いて、個々の画素サブコンポーネントをオンにするかまたはオフにするか、あるいはその中間の値にするか(グレー・スケーリングの場合のように)について判定することができる。このような重み付けの適用は、エリアシング防止フィルタリング動作を表し、RGBストライピングの方向に対して垂直な方向に行われる。
【0108】
前述のように、人の目は、異なるカラー光源からの異なるレートの光強度を認知する。緑は、赤、緑および青画素サブコンポーネントをそれらの最大光強度出力に設定することによって得られる白画素の認知輝度に約60%寄与し、赤は約30%寄与し、青は約10%寄与する。
【0109】
本発明の一実施形態によれば、スキャン変換中に重み付けを用いる場合、画素にマッピングするスケーリング画像面積の60%を用いて緑画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の30%を用いて赤画素サブコンポーネントの光度を判定し、同じ画素にマッピングするスケーリング画像面積の別個の10%を用いて、青画素サブコンポーネントの光度を判定する。
【0110】
本発明の特定的な一実施形態では、スケーリング動作の間、ストライピングに対して垂直な方向における画像のスケーリングは、ストライピングの方向におけるスケーリングのレートの10倍のレートで行なう。こうすると、加重スキャン変換動作が簡単になる。ヒンティングの後、次に、例えば、前述した形式の加重スキャン変換動作を用いて、スキャン変換の間にスケーリング画像を処理する。
【0111】
図14は、画像1002を垂直方向に10倍、水平方向に1倍でスケーリングした、スケーリング・ヒント画像の第1列1400に対する加重変換動作の実行を示す。図14では、単一画素に対応するヒント画像の部分は、10個のセグメントから成る。前述の加重スケーリング技術にしたがって、スケーリング画像の最初の3セグメント、即ち、各画素エリアを用いて、ビットマップ画像1402内の1画素に対応する赤の画素サブコンポーネントの光度値を判定する。スケーリング画像1400の各画素エリアの次の6セグメントを用いて、ビットマップ画像1402内の同じ画素に対応する緑の画素サブコンポーネントの光度値を判定する。こうして、青の画素サブコンポーネントの光度値を判定する際に用いるために、スケーリング画像1400の各画素エリアの最後のセグメントを残す。
【0112】
図14に示すように、このプロセスにより、ビットマップ画像1402の列1、行4および5において、青および赤の画素サブコンポーネントが「オン」となり、列1の残りの画素サブコンポーネントが「オフ」となる。
【0113】
概略的に、本発明のスキャン変換プロセスを、画素サブコンポーネントを「オン」または「オフ」にすることに関して説明した。
【0114】
本発明の種々の実施形態、特に、例えばグラフィクス画像と共に用いて好適なものは、グレー・スケール技術の使用を伴う。このような実施形態では、前述の実施形態の場合と同様、スキャン変換動作は、スケーリング・ヒント画像の部分を、対応する画素サブコンポーネントに独立してマッピングし、ビットマップ画像を形成することを伴う。しかしながら、グレー・スケールの実施形態では、画素サブコンポーネントに割り当てる強度値は、表示するスケーリング画像によって占められる画素サブコンポーネントにマッピングするスケーリング画像の部分の関数として決定する。例えば、0から255までの間の強度値を画素サブコンポーネントに割り当てることができ、0は事実上オフであり、255は最大強度であるとすると、スケーリング画像のセグメント(格子セグメント)が表示する画像によって50%占められている場合、スケーリング画像セグメントを対応する画素サブコンポーネントにマッピングする結果として、123の強度値が画素サブコンポーネントに割り当てられることになる。本発明によれば、同一画素に隣接する画素サブコンポーネントは、スケーリング画像の別の部分、例えば、セグメントの関数として、独立して決定される強度値を有することになる。
【0115】
一旦表示するテキストのビットマップ表現を図9のステップ814において発生したなら、これをディスプレイ・アダプタに出力するか、または更に処理してカラー処理動作および/またはカラー調節を行い、画質の向上を図ることも可能である。
【0116】
人の目は、画像のカラー(クロミナンス)の縁よりも、輝度の縁に対して遥かに敏感なので、画像のレンダリングの目的のためにRGB画素サブコンポーネントを独立した光度エレメントとして扱うことにより、望ましくない色縁効果が発生する可能性がある。例えば、RGB集合から赤を除去した場合、シアンの色縁効果、緑および青の添加が生ずる可能性が高い。
【0117】
前述のように、カラー・アーチファクトは、画素の異なるカラー画素サブコンポーネントを独立した光度源として扱う結果生ずる可能性がある。これらカラー・アーチファクトの一部は、ヒンティングの後にも残る可能性がる。実際、画像の一縁のカラーを改善するヒントが、同じ画像、例えば、キャラクタ内において他の縁のカラーを劣化させる場合がある。
【0118】
煩わしいカラー・アーチファクト、例えば、望ましくない程度に人の目の注意を引くカラー・アーチファクトは、検出し気を散らさない程度に抑制することが望ましい。カラー感度は、個人的なばらつきが非常に大きいので、ある人にとって気になるアーチファクトが他の人には気にならない場合もある。したがって、実現性の観点からは、母集団の内大きな割合で気が散る可能性の高いカラー・アーチファクトを抑制または排除することに的を絞るのが有効である。本願の名義人である種々の発明者が行なった経験的研究によって、最も気になるカラー・アーチファクトは、1)明るく、2)前景カラー、背景カラー、およびこれら2つを混合して作ることができるカラーと色相が大幅に異なるものであることがわかった。
【0119】
以下で論ずるが、気を散らす画素の画素サブコンポーネントの光度調整は、(1)ある光度を明るい画素サブコンポーネントから減算すること、および/または(2)ある光度、例えば、(1)で減算した量を、隣接する異なるカラー画素サブコンポーネント、例えば、同じ画素の隣り合った画素サブコンポーネントに加算することによって可能となる。本発明のカラー補償技術にしたがってステップ(1)および/または(2)を実行すれば、カラー・アーチファクト、したがってカラーの乱れが低減する。しかしながら、このようなカラー処理には、望ましい画像の縁が劣化するという、望ましくない副作用も生ずる虞れがある。しかしながら、殆どの場合、画素サブコンポーネントを独立した光度源として扱わない公知の手法と比較して、カラー・アーチファクトがもはや目立たない程度に低減しつつ、しかも画質の改善が可能であることがわかっている。
【0120】
図9Aの実施形態では、ステップ914において発生したビットマップを、カラー処理/調節ステップ915に供給する。このステップでは、画像処理を行い、画素サブコンポーネントを独立した光度源として扱った結果として生じた、煩わしいカラー・アーチファクトを低減および/または排除する。煩わしいカラー・アーチファクトを識別、低減および/または排除するためには、種々の技術を用いることができる。
【0121】
具体的な一実施形態では、画像の一部を検査し、所望の前景カラーからどのくらい離れて、ビットマップ画像が迷走(stray)しているかについて判定を行なう。ビットマップ画像の部分が、所望の前景カラーよりも予め選択した量を超えて迷走している場合、この画像部分が前景カラーおよび背景カラー間の平均容認範囲内に入るまで、画素サブコンポーネントの強度値の調整を行なう。
【0122】
垂直ストライピングを用いる特定的な一実施形態では、画像の縁をチェックし、赤の色縁効果がないか確認する。これらは、画素エレメントの赤光度値が、同じ画素エレメントの緑光度値よりも著しく高い結果発生する。このような状態では、キャラクタの垂直ステム上に、見てわかる赤の色縁効果が生ずる可能性がある。
【0123】
この実施形態の例では、画像の縁にある画素を個別に検査する。赤/緑間の強度値の差を判定し、カラー調節の必要性を判定するために用いるスレシホルド値と比較する。判定した赤/緑強度差がスレシホルド値を超過している場合、赤および/または緑の値をスケーリングし、赤の色縁効果を低減する。適切なスレシホルド値およびスケーリング値は、経験的に決定することができる。
【0124】
赤の色縁効果について先に論じたのと同様のスレシホルド選別および光度スケーリング技法を用いることによって、緑および青の光度値に比較して赤の光度値が低いことに起因するシアンの色縁効果を検出し、補償することも可能である。
【0125】
図9Bは、画素カラー処理サブルーチン、例えば、図9Cのサブルーチン970または図9Dのサブルーチン990と共に、種々の実施形態例において用い、ステップ915のカラー処理/調節動作を行なう、カラー補償サブルーチン813の一例を示す。
【0126】
カラー処理および調節は、画素処理毎に、サブルーチン813によって、必要に応じて行われる。サブルーチン813はステップ950において開始し、CPU521がこのサブルーチンを実行する。ステップ950から、動作はステップ952に進み、例えば、テキスト・レンダリングのために用いられる前景カラーおよび背景カラーを識別する情報にアクセスする。このためには、例えば、オペレーティング・システムによってメモリ535に格納されているカラー情報にアクセスすればよい。
【0127】
次のステップ、ステップ953において、前景および背景カラー画素双方の全体的な光度を判定する。一実施形態では、前景および背景カラー画素双方について、0.3の重み係数を乗算した赤の輝度値、0.6の重み係数を乗算した緑の輝度値、および0.1の重み係数を乗算した青の輝度値を、以下のように加算する。
【0128】
画素の全光度=0.3R+0.6G+0.1B
ここで、R、GおよびBは、全体的な光度を判定する、対応の画素の光度値である。少なくとも一実施形態では、画素カラー処理サブルーチンが、以下に論ずるように、背景および前景カラー画素に対して判定した全体的な光度値を用いる。
【0129】
ステップ954において、ビットマップ画像951、例えば、ステップ914において既に発生してあるビットマップ画像を受け取り処理する。ビットマップ画像951は、合計N個の画素、即ち、画素1ないし画素Nから成る。
【0130】
ステップ954から、動作はステップ956に進み、CURRENT PIXELをN個の画像画素の最初の画素に等しくセットする。ラベルCURRENT
PIXELは、画像951のN個の画素の内どれが、所与の時点において処理されているのかを示す。
【0131】
動作は、ステップ956からステップ957に進み、画素カラー処理サブルーチン、例えば、図9Cのサブルーチン970または図9Dのサブルーチン990のいずれかをコールする。
【0132】
画素カラー処理サブルーチン970、990を、図9Cおよび図9Dに関して詳細に論ずる。一般に、コールするカラー処理サブルーチンは、CURRENT
PIXELの光度値を調節してカラー・アーチファクトを低減または排除し、必要に応じてこのような調節を行なうべきかについて判定を行なう役割を担う。画素カラー処理サブルーチンが、CURRENT PIXELの画素サブコンポーネントの光度値を変更しないと判定した場合、動作は、コールしたサブルーチンからのリターンを介して、ステップ964に進み、CURRENT PIXELの画素サブコンポーネントの光度値は不変である。しかしながら、コールしたサブルーチンが、CURRENT PIXELの画素サブコンポーネントの1つ以上の光度値を変更して、煩わしいカラー歪み、例えば、アーチファクトを低減または排除すると判定した場合、CURRENT PIXELの画素サブコンポーネントの1つ以上の光度値は、サブルーチンから、調節後の値と共に戻ってくる。
【0133】
カラー補償サブルーチンの残りのステップは、受け取ったビットマップ画像におけるN個の画素の各々を、画素カラー処理サブルーチン970、990の一方によって確実に処理するように機能する。
【0134】
957において、画素カラー処理サブルーチンへのコールから戻ってくる度に、動作はステップ964に進み、受け取った画像内に、まだ処理すべき画素があるか否かについて判定を行なう。これは、CURRENT PIXEtがN番目の画素であるか否か判定することによって、判定することができる。ステップ964において、まだ他の画素を処理する必要があると判定された場合、動作はステップ966に進み、CURRENT PIXELを、N個の画素の内次の画素に等しくセットする。ステップ966から、動作は再度ステップ957に進み、画素カラー処理サブルーチンを再度コールする。
【0135】
しかしながら、ステップ964において、受け取った画像の画素全てを処理したと判定した場合、動作はステップ967に進み、カラー補償サブルーチンによって、処理したビットマップを出力する。処理したビットマップは、画素カラー処理サブルーチンによって変更した光度値を含む。
【0136】
処理したビットマップを出力すると、カラー補償サブルーチン813の動作は、ステップ968において停止され、例えば、別のビットマップ画像951を処理するための、サブルーチンの再起動を保留にする。
【0137】
第1画素カラー処理サブルーチン970は、白黒画像、例えば、白い背景上にある黒いテキストの場合に特に有効である。サブルーチン970は、前景および背景カラー画素の全光度値を用いない。したがって、カラー補償サブルーチンのステップ953は、画素カラー処理サブルーチン957を用いる場合には、省略するかまたは飛ばしてもよい。
【0138】
白は、3つの画素カラー・コンポーネント、例えば、赤、緑および青全ての和である。白黒の実施形態では、明るいカラー・アーチファクトは、3つの画素カラー・コンポーネントの内いずれか2つの最大光出力を加算することによって得られるカラーである。例えば、黄色は赤および緑の和であり、マジェンタは赤および青の和であり、シアンは緑および青の和である。青のサブ画素は赤の潜在的光度の1/3、緑の画素サブコンポーネントのそれの1/16だけを有するに過ぎないので、青の画素サブコンポーネントは、明るい赤または緑の画素サブコンポーネントと共に光度を操作しても、殆ど効果はない。この理由のため、図9Cの実施形態例では、青の種々の輝度値から生ずる潜在的なアーチファクトを無視している。
【0139】
サブルーチン970において実施する処理は、気を散らす可能性が高い画素を、赤または緑の画素サブコンポーネントの一方が明るく、他方が明るくない画素として識別するように機能する。
【0140】
サブルーチン970においてカラー・アーチファクトの抑制を行なうには、赤または緑のサブコンポーネントの内明るい方の光度値を低下させ、赤または緑の画素サブコンポーネントの内暗い方の光度値を上昇させる。
【0141】
CURRENT PIXELのR、GおよびB光度値に対して行なう処理は、サブルーチン970によって行われ、以下の疑似コードで表すことができる。
【0142】
If |RCP-GCP|> THRESHOLD THEN:
Set RN = RCP [RCP-GCP)xRF]/10
GN = GCP [(RCP-GCP)xRF]/10
ここで、RCP=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0143】
GCP=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0144】
RN=CURRENT PIXELの赤の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0145】
GN=CURRENT PIXELの緑の画素サブコンポーネントの光度値であり、0ないし255の範囲の整数とすることができる。
【0146】
RFは、赤係数、例えば、4である。
【0147】
GFは、緑係数、例えば、6である。
【0148】
THRESHOLDは、経験的に決定したスレシホルド値であり、例えば、50である。
【0149】
次に図9Cを参照すると、画素カラー処理サブルーチン970は、開始ステップ972から開始し、このルーチンをコールして、CURRENT PIXELの赤および緑の光度値を処理することがわかる。これらの値は、それぞれ、0ないし255の範囲であれば、いずれの値でも取ることができる。次に、ステップ974において、RCPの値を、処理中の画素の赤の画素サブコンポーネントの光度値に等しくセットし、GCPを、処理中の画素の緑の画素サブコンポーネントの光度値に等しくセットする。次に、ステップ976において、|RCP−GCP|が、煩わしいカラー・アーチファクトの存在を判定する所定のスレシホルド値THRESHOLDよりも大きいか否かについて判定を行なう。
【0150】
ステップ976において、スレシホルド値を超過していない場合、煩わしいカラー・アーチファクトは恐らく存在しないことを示し、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの輝度値の変更はない。
【0151】
しかしながら、値|RCP−GCP|が値THRESHOLDを超過し、煩わしいカラー・アーチファクトの存在の可能性を示す場合、動作はステップ976からステップ978に進む。ステップ978において、元の赤および緑の輝度値の関数として、新たな赤の画素サブコンポーネント光度値RNを発生する。即ち、RNをRCP+[(RCP−GCP)×RF/10]に等しく設定する。10で除算するのは、RFに浮動小数点値を用いる必要性を回避するためである。こうしないと、浮動小数点算術演算の使用が必要となる。
【0152】
次に、ステップ980において、元の赤および緑の輝度値の関数として、新たな緑の画素サブコンポーネント光度値GNを発生する。即ち、GNをRCP+[(RCP−GCP)×RF/10]に等しく設定する。値RNの発生の場合と同様、10で除算するのは、RFに浮動小数点値を用いる必要性を回避するためである。こうしないと、浮動小数点算術演算の使用が必要となる。
【0153】
ステップ978および980を連続して示したが、これらは並行して実行することも可能であることは理解されよう。新たな値RNおよびGNの発生の後、現画素の対応する赤および緑の光度値を、新たに発生した値と交換する。これは、ステップ982において行なう。ステップ982において更新したCURRENT
PIXELの赤および緑の光度値を用いて、現画素に関するカラー補正処理を完了し、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻る。
【0154】
次に、図9Dに関連して、画素カラー処理サブルーチン990の第2の例を、その動作について説明する。サブルーチン990は、任意の、例えば、ユーザが選択した前景カラーおよび背景カラーを用いて表示する画像の画素を処理する際に適している。
【0155】
任意の前景カラーおよび背景カラーでは、個々の画素サブコンポーネントを独立した光度源として扱うことによって生ずるカラー・アーチファクトの識別および抑制は、前述の白黒の場合よりも一層難しくなる。実験により、前景カラーまたは背景カラーの彩度が高い程、カラー・アーチファクトによって気が散る可能性は低いことが示されている。その理由は、補色となるカラー・コンポーネントの明るさを抑制することによって、彩度が実際に得られるからである。この補色カラー・コンポーネントの明るさを制限すると、明るく煩わしいカラー・アーチファクトを回避するだけでなく、抑制した画素サブコンポーネントの側では、抑制した画素サブコンポーネントが、高い光度の縁を形成に不適当となる。結果的に、彩度が高いカラーでは、縁を含む可能性がある画素の多くは、本発明にしたがって画素サブコンポーネントを独立した光度源として扱うことによる解像度の向上が全く得られない。前述のような問題となり得る前景/背景カラーの組み合わせの一例は、青い背景上にある赤いテキストである。
【0156】
赤い画素サブコンポーネントを左側に、そして青い画素サブコンポーネントを右側に配した表示上において、左側に青、右側に赤がある縁を表示するために、画素にレンダリングを行なうと、全体的に黒くなってしまう。このような画素は、カラー・アーチファクトを有さないが、画像の解像度に対しても何ら寄与しない。実際、このような画素の行は、黒いラインの外観、即ち、本発明のサブ画素強度制御技術のアーチファクトを発生する可能性すらある。画質の観点からは、このようなアーチファクトを生ずる画素に対しては、例えば、グレー・スケーリングのような従来からの画素毎のレンダリング技術を利用することによって、このようなアーチファクトを識別し排除することが望ましい。
【0157】
カラー処理サブルーチン990は、前述のようなタイプのアーチファクトを生ずる画素を特定することを目的とするステップを含む。これは、画素サブコンポーネントの各々に対して独立した輝度値を発生するのではなく、画素レベル毎に、グレー・スケーリングを適用することによって、得られる効果である。また、このサブルーチンは、グレー・スケーリングを適用して、このような画素の輝度値を判定するステップも含む。一実施形態では、処理対象画素の全光度が前景および背景カラー双方の全光度未満である場合はいつでも、グレー・スケーリング反転を適用する。
【0158】
いつグレー・スケーリングが画素の外観を強調するかについて判定することに加えて、カラー処理サブルーチン990は、煩わしいカラー・アーチファクトを識別し、このようなアーチファクトを低減または排除する処理を行なうことを目的とする。
【0159】
画素カラー処理サブルーチン990は、開始ステップ991において開始し、ここからステップ992に進み、画素毎に適用するグレー・スケーリングを用いてCURRENT PIXELの輝度値を判定すべきか否かについて判定を行なう。ステップ992において、CURRENT PIXELの全輝度が前景カラー画素および背景カラー画素双方の全輝度未満であるか否かについて判定を行なう。全輝度値が前景および背景カラー画素のそれ未満であると判定した場合、恐らく、グレー・スケーリングの方が、本発明の画素サブコンポーネント方法によって判定するよりも、高い輝度値を与えることになる。このような場合、動作はステップ992からステップ997に進み、画素グレー・スケーリング動作を行なう。グレー・スケーリング動作は、2つのサブステップ997Aおよび997Bから成る。ステップ997Aにおいて、スケーリングしたヒント画僧を含む現画素の部分(P)を判定する。ステップ997Bにおいて、分数値Pに、前景の対応するR、CおよびB光度値を乗算することによって、現画素に対して新たな赤、緑および青の光度値を判定する。一旦ステップ997においてCURRENT PIXELに対して更新光度値を発生したなら、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻る。
【0160】
ステップ992において、グレー・スケーリングがCURRENT PIXELの品質を向上させる可能性が低いと判定した場合、処理はステップ993に進む。ステップ993において、CURRENT PIXELのカラーが前景カラーおよび背景カラー双方と異なるか否かについて判定を行なう。この判定を行なうには、CURRENT PIXELのR、CおよびB光度値を、前景カラー画素および背景カラー画素のそれらと比較すればよい。ステップ993において、現画素のカラーが前景および背景カラー画素の1つと一致した場合、カラー・アーチファクトは生じていないので、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの光度値は変更しないままとなる。
【0161】
しかしながら、ステップ993において、現画素のカラーが前景カラーおよび背景カラーとは異なると判定した場合、動作はステップ994に進む。ステップ994において、CURRENT PIXELのカラーが、前景/背景カラーの混合に対応する、予め選択してある容認可能なカラー範囲に該当するか否かについて判定を行なう。現画素のカラーが、予め選択してある範囲に該当する場合、処理は、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、CURRENT PIXELの輝度値は変更しないままとなる。
【0162】
しかしながら、ステップ994において、CURRENT PIXELのカラーが予め選択してある容認可能なカラー範囲外にあると判定した場合、煩わしいカラー・アーチファクトの存在を示し、動作はステップ995に進み、CURRENT PIXELのカラーを、容認可能なカラー範囲に向けて調節する。このためには、例えば、既存の値から加算または減算して、予め選択してある容認可能なカラー範囲内で見つけた値に個々の値を近付けるように移動させることによって、CURRENT PIXELに関連するR、G、B輝度値の1つ以上を変更すればよい。このようにして、ステップ995の終了時点では、CURRENT PIXELのカラーは、前景カラーおよび背景カラーの混合に対応する、予め選択してある容認可能なカラー範囲に一層近づくか、またはその中に位置することになる。一旦ステップ995においてCURRENT PIXELの光度値を更新したなら、処理は、前述のように、RETURNステップ984を経由して、サブルーチン970をコールした場所に戻り、ビットマップ画像を表す画素の光度値を画素単位で処理または調節することにより、異なるカラー画素サブコンポーネントを独立した輝度源として扱うことの結果として画像に生ずるカラー歪みを低減または排除することができる。
【0163】
図15は、水平ストライピングの12×12画素のアレイを表す格子上に重畳するためにレンダリングするキャラクタnの高解像表現を示す。
【0164】
図16は、従来の表示技術、および各々3つの画素サブコンポーネントを含むフル・サイズの画素エレメントを用いて、図15に示したキャラクタnをどのようにレンダリングするかについて示す。フル・サイズの画素制限のために、文字のリッジにおいて比較的急激に形状の遷移が生じ、エリアシングおよび比較的平坦な上部が形成されている様子に注目のこと。
【0165】
図17は、画素高さの2/3の底辺を用いることによって、本発明にしたがって、文字nのレンダリングをどのようにして改良することができるかについて示す。底辺を形成するには、2つの画素サブコンポーネントを用いる。これは、行10、列1〜4および8〜10において3つの画素サブコンポーネント全てを用いるのとは対照的である。また、文字のリッジをどのように改良するかについても注意すること。リッジの幅を最大画素高さとするが、各水平最大高さ画素エレメントを1/3画素高さだけ垂直方向にずらしていくことにより、図16に示したリッジよりも遥かに高精度かつ滑らかなリッジを得ることができる。
【0166】
図18は、本発明にしたがって、文字nのリッジの厚さを、1画素の厚さから2/3画素の厚さにどのようにして縮小することができるかを示す。
【0167】
図19は、本発明にしたがって、文字nの底辺を1画素の1/3の最少厚さまでどのようにして縮小することができるかについて示す。また、文字nのリッジを画素の1/3の厚さにどのようにして縮小することができるかについても示す。
【0168】
図20は、本発明にしたがって、底辺およびリッジが画素の1/3の厚さを有する文字nをどのようにして表示することができるかについて示す。
【0169】
以上、テキストのレンダリングに関して本発明を大まかに説明したが、本発明はグラフィックスにも適用し、エリアシングを低減し、従来のカラーLCDディスプレイのような、ストライプ・ディスプレイを用いて得ることができる有効解像度を向上可能であることは理解されよう。加えて、本発明の技術の多くは、ビットマップ画像、例えば、スキャンした画像を処理し、これらを表示のために準備する際にも使用可能であることは理解されよう。
【0170】
加えて、本発明の方法および装置は、同じ色の個別のRGB画素サブコンポーネントの代わりに、多数の非方形画素サブコンポーネントを用いる、グレー・スケール・モニタにも適用した場合にも、方形画素エレメントを用いるディスプレイと比較して、1次元における有効解像度を倍増可能であることは理解されよう。
【0171】
図21Aは、公知のバック・ライト・カラーLCD2100を示す。LCDディスプレイ2100は、一連の層状コンポーネントとして設計してある。図示のように、ディスプレイの後部には、光源2102があり、3本の矢印で表すように、光、例えば、白色光を第1偏光フィルタ2104に供給する。第1ガラス基板層2106が、第1偏光フィルタ2104を透明電極2108の第1層から分離している。層液晶材料2110が、透明電極2108の第1層と第2層2108’との間に狭持されており、第2層2108’は、第1層内の電極の方向に対して垂直に走る電極を含む。赤(R)、緑(G)、および青(B)フィルタ・セグメントを含むカラー・フィルタ2112が、ディスプレイ2100の垂直方向に走っており、第2組の透明電極2108’の前に位置する。第2ガラス基板2106が、カラー・フィルタ2112、およびディスプレイ2100の前面に位置する第2偏光フィルタ2104’を分離している。
【0172】
第1偏光フィルタ2104に入射した光は、電極層2108、2108’、液晶材料2110、カラー・フィルタ2112、および第2偏光フィルタ2104’を通過した後、ディスプレイ2100から射出する。カラー・フィルタ2112は、ディスプレイ2100の個々のセグメントによって出力される光のカラーを全て決定する。電極2108、2108’上の電圧を調節することによって、ディスプレイ2100のいずれのセグメントを介して出力される光の輝度でも、制御可能である。
【0173】
図21Bは、前方から見た場合、公知の画面21Aがどのように見えるか示すものである。カラー・フィルタ2112のR、G、およびBセグメントがディスプレイ2100上で、垂直カラー・ストライプをどのように形成するのかに注目すること。また、どのように透明電極を制御することにより、R、G、Bを付した矩形ボックスによって表した、複数の別個に制御可能な画面セグメントを制御可能であるかにも注目すること。図2Aおよび図2Bに示した公知の画面の場合と同様、画像の各画素は、R、G、B1つずつの表示エレメントで構成し、正方形の画素を形成することができる。
【0174】
図22Aないし24Bは、本発明の種々の実施形態にしたがって実現したディスプレイを示す。図22Aないし図24Bに示すディスプレイに含まれるコンポーネントは、公知のディスプレイのコンポーネントと同一または同様であり、図21Aにおいて用いたのと同じ参照番号を用いて識別することとする。簡潔化のため、このようなコンポーネントの説明は繰り返さない。
【0175】
図22Aは、本発明の一実施形態にしたがって実現したグレー・スケールLCD2200を示す。ディスプレイ2200は、バック・ライト2102、第1および第2偏光フィルタ2104、2104’、第1および第2ガラス基板2106、2106’、ならびに第1および第2透明電極層2108、2108’から成る。これらは、図22Aに示すような層状構造を形成するように配列してある。尚、ディスプレイ2200には、公知のディスプレイ2100に見られるようなカラー・フィルタ2112がないことに注意すること。カラー・フィルタ2112を省略しているので、別個に制御可能な各ディスプレイ・セグメントの光出力は、概ねバック・ライト2102の光と一致し、例えば、白色である。各ディスプレイ・セグメントの強度は、最大強度から完全に強度オフまで、例えば、電極2108および2108’に印加する電圧を変化させることによって、可変とすることができる。
【0176】
図22Bは、前方から見た場合に、ディスプレイ2200がどのように見えるかを示す。ディスプレイ2200が、例えば、各々同じカラーのディスプレイ・エレメント2210、2211、2212を含む矩形ディスプレイ・エレメントの形状の複数の別個に制御可能な光度源で構成されている様子に注目すること。各ディスプレイ・エレメント2210、2210、2213は、個々のディスプレイ・エレメント2210、2211、2213のエリアに対応する、狭持層2102、2104、2106、2108、2110の部分から成る。本発明の種々の実施形態では、ディスプレイ・エレメントは、その1次元、例えば、垂直次元におけるそれらのサイズが、他方、例えば、水平次元におけるそれらのサイズの整数倍となるように、ディスプレイ・エレメントを実装している。
【0177】
本発明の種々の構造は、第1方向、例えば、水平方向の解像度が、第2方向、例えば、垂直方向に垂直な方向における解像度の倍数であるディスプレイを形成する、同じカラーの隣接するディスプレイ・エレメントの使用を目的とする。一例として、図22Bの実施形態では、各ディスプレイ・エレメント2210、2211、2212は、高さが幅の3倍となっている。その結果、水平方向の解像度は、垂直方向の解像度の3倍となる。しかしながら、他の高さ/幅比を有する非正方形ディスプレイ・エレメントも想定しており、可能である。実際、水平解像度よりも垂直解像度の方が高いディスプレイも実現可能である。加えて、本発明のディスプレイは、あらゆる行数および列数のディスプレイ・エレメントでも含むことができる。各ディスプレイ・エレメント2210、2211、2212は、別個に制御可能な光度源を表す。
【0178】
ディスプレイ2200は、ディスプレイ2100と構造が似ているが、ディスプレイ2200は、ディスプレイ2100に内蔵したカラー・フィルタ2112がないので、実現がより簡単である。公知の画面2100よりも構築は簡単であるが、グレー・スケール・ディスプレイ2200は、画素サブコンポーネントを独立した輝度源として扱った場合にカラー歪みを生ずる従来の画面2100を用いて可能な解像度よりも、1次元において潜在的に高い解像度で、テキストおよびその他の画像の表示を可能とする。
【0179】
ディスプレイ2200は単一カラーであるので、グレー・スケール・モニタとしての使用に特に適している。このようなモニタは、本発明にしたがって、例えば、テキストを表示するのに非常に適している。
【0180】
制御可能な各ディスプレイ・エレメント2210、2211、2200は、同じカラーであるので、これらは個々の画素として扱うことができる。あるいは、多数の非正方形ディスプレイ・エレメントを集合化し、正方形の画素を形成することも可能である。例えば、ディスプレイ・エレメント2210、2211および2213を集合化し、単一の正方形画素を表すことができる。このような場合、画像、例えば、テキストのレンダリング動作の一部として行われるスケーリング、格子フィッティング、およびスキャン変換動作は、本発明のカラー実施形態に関して先に説明した方法と同じまたは同様である。例えば、画素の各ディスプレイ・エレメントを、独立した光度源として扱う。
【0181】
しかしながら、図22Aの実施形態では、全てのディスプレイ・エレメント、即ち、画素サブコンポーネントは、同じカラーである。したがって、異なる画素サブコンポーネントに異なる重み係数を用いる必要はない。何故なら、画素サブコンポーネントは、表示画像で認知される全体的な輝度に対して均一に寄与するからである。加えて、特定のカラー境界に沿ってキャラクタの縁を位置合わせするために考えられたヒンティングおよび格子フィッティング動作を行なう必要はない。何故なら、図22Aの実施形態では、サブ画素コンポーネントのカラー境界が存在しないからである。加えて、異なるカラー、例えば、RGB画素サブコンポーネントを用いないので、カラー補償ステップ915も不要である。
【0182】
図23Aは、本発明の別の実施形態にしたがって実現したディスプレイ2300を示す。図23Aの実施形態では、ディスプレイの第1部分、例えば、上位部分は、グレー・スケール・ディスプレイとして実現し、一方、ディスプレイの第2部分、例えば、下位部分はカラー・ディスプレイとして実現する。
【0183】
ディスプレイ2300は、バック・ライト2102、第1および第2偏光フィルタ2104、2014’、第1および第2ガラス基板2106、2106’、第1および第2透明電極層2108、2108’、カラー・フィルタ2112、ならびに透明スペーサ2312から成り、図23Aに示すような層状構造を形成するように配列されている。カラー・フィルタ2112は、画面2300の下位部分を通過する光を濾波するように配置してあり、一方透明スペーサは、ディスプレイ2300の上位部分、例えば、グレー・スケール部分に位置する。スペーサ2312は、あらゆるカラーの光でも通過させる。例えば、スペーサは、白色光がバックライト2102によって発生した場合、この光を通過させる。透明スペーサ2312は、カラー・フィルタ2112と同じ厚さである。したがって、スペーサ2312は、カラー・フィルタを省略したディスプレイの部分において、均一なディスプレイの厚さを維持する役割を果たす。カラー・フィルタ2112および透明スペーサ2312の組み合わせは、複数のセルを有し、各セルが個々のディスプレイ・エレメント2302、2304、2306または2308に対応する光フィルタ、または各セルが透明または有色の光フィルタとして記述することができる。したがって、各ディスプレイ・エレメント2302、2304、2306、2308は、狭持層2102、2104、2106、2108、2110の一部から成り、光フィルタは、個々のディスプレイ・エレメントのエリアに対応する、エレメント2112および2312から成る。
【0184】
カラー・フィルタ2112は、垂直方向に走るR、G、およびBストライプ2321、2322、2323の繰り返しから成る。カラー・フィルタ2112は、ディスプレイの下位部分のみに含まれる。したがって、ディスプレイ2300の下側部分はカラー出力に対応する。しかしながら、ディスプレイ2300の上位部分は、単一カラー即ちグレー・スケール出力のみに対応する。何故なら、ディスプレイ2300の上位部分には、異なるカラー・フィルタ・ストライプを採用しているからである。ディスプレイ2300の各セグメントの強度は、最大強度から強度オフまで、例えば、電極2108および2108’に印加する電圧を変化させることによって、可変とすることができる。
【0185】
図23Bは、前方から見た場合に、ディスプレイ2300がどのように見えるか示すものである。ディスプレイ2300は、複数の別個に制御可能な光度源から成り、その各々が図23Bにおける別個の矩形として表されていることに注目すること。参照番号2302は、白色ディスプレイ・エレメント、例えば、光度源を示すために用い、一方参照番号2304、2306および2308は、それぞれ、赤、緑および青のディスプレイ・エレメントを示すために用いる。尚、図23Bでは、白色ディスプレイ・エレメント2302の単一行2301、および有色ディスプレイ・エレメント2304、2306、、2308の列2本2303、2305を示すことを注記しておく。しかしながら、白(グレー・スケール)および有色ディスプレイ・エレメントのあらゆる組み合わせでも可能である。加えて、あらゆる数の行および/または列のディスプレイ・エレメントでも可能である。
【0186】
図23Bは同じカラーのグレー・スケール画素エレメントの単一行2301を示すが、通常、ディスプレイにはこのような画素エレメントの行および/または列は多数本含まれており、集合化されて、例えば、テキストの表示に対応するようになっている。
【0187】
ディスプレイ2300は、ディスプレイ画面の一部をテキスト表示専用とし、別の部分を例えばカラー・グラフィクスに用いるといった用途には特に適している。例えば、上位または下位にグレー・スケール部分を有する本発明のディスプレイは、ディスプレイのグレー・スケール部分を用いてキャプション情報を表示し、一方カラー部分を用いてカラー画像を表示するために用いることができる。このようなディスプレイは、同じサイズのディスプレイ・エレメントを有するRGBディスプレイよりも高い解像度および/またはテキストの読みやすさをもたらしつつ、なおもカラー・グラフィクスの表示を可能にするという利点を有する。
【0188】
前述のように、本発明にしたがって実現したグレー・スケール・モニタは、同じサイズのディスプレイ・エレメントを有するRGBストライプ状モニタよりも、読みやすいテキストを生成することができる。その理由は、グレー・スケール・モニタが、画素サブコンポーネントを独立した光度源として扱うことに関連するカラー歪みを生じないからである。あるときにはテキストを表示し、別のときにはカラー・グラフィクスを表示するために、多くのディスプレイが用いられている。加えて、単一のディスプレイの異なる部分が、同時にテキストおよびカラー・グラフィクスを表示するために用いられているというのが一般的である。テキストのために用いるディスプレイの特定部分は、テキスト情報の量および/またはテキストと共に表示する画像に応じて可変とするとよい。
【0189】
このような様々な用途においてテキストのグレー・スケール表示およびカラー画像に対応するために、本発明の一実施形態は、カラー動作モードおよび透明動作モード間で切り換え可能なフィルタ・セルを有するフィルタを含むディスプレイ装置を目的とする。本発明のこのような実施形態例にしたがって実現したディスプレイ2400を図24Aおよび図24Bに示す。
【0190】
ディスプレイ2400は、バック・ライト2102、第1および第2偏光フィルタ2104、2104’、第1および第2ガラス基板2106、2106’、第1および第2透明電極層2108、2108’、ならびに切り換え可能なカラー・フィルタ2401から成り、図22Aに示すような層状構造を形成するように配列してある。尚、ディスプレイ2400は、カラー・フィルタを除いて、公知のディスプレイ2100と構造が似ていることに注意すること。公知のディスプレイは、固定のストライプ状カラー・フィルタを用いているのに対して、本発明のディスプレイ2400は、切り換え可能なストライプ状カラー・フィルタ2401を用いている。
【0191】
カラー・フィルタ2401は、複数の切り換え可能な赤2406、緑2404および青2402フィルタ・ストライプから成る。各フィルタ・ストライプ2406、2404、2402は、複数の別個に制御可能なフィルタ・セル2406’、2404’および2402’をそれぞれ含む。各フィルタ・セルは、カラー・モードで動作するときは、例えば、赤、緑または青の画素サブコンポーネントを表す個々のディスプレイ・エレメントにそれぞれ対応し、グレー・スケール・モードで動作するときは、グレー・スケール・ディスプレイ・エレメント、例えば、グレー・スケール画素または画素サブコンポーネントに対応する。切り換え可能カラー・フィルタ2401の各セル内に組み込んである電極に印加する電圧を変化させると、当該セルを有色モードから透明即ち透過動作モードに変化させることができる。したがって、ストライプ2406内の個々のフィルタ・セル2406’を独立して制御し、赤または透明フィルタ・セルとして動作することができる。加えて、ストライプ2404内の個々のフィルタ・セル2404’も、独立して制御し、緑または透明フィルタ・セルとして動作することができる。更に、ストライプ2402内の個々のフィルタ・セル2402’も、独立して制御して、青または透明フィルタ・セルとして動作することができる。各ディスプレイ・エレメントの光度は、最大強度から完全にオフまで、例えば、電極2108および2108’に印加する電圧を変化させること、および/またはディスプレイ・エレメントに対応する各フィルタ・セルに含まれる電極に印加する電圧を変化させることによって可変とすることができる。
【0192】
図24Bは、前方から見た場合に、ディスプレイ2400がどのように見えるかを示すものである。ディスプレイ2400は、ディスプレイ・エレメント、例えば、ディスプレイ・エレメント2410、2411、2412の形状で複数の別個に制御可能な輝度源からどのように構成されているか、そしてその各々が、それぞれ、赤、緑または青動作モード、およびグレー・スケール動作モードの間で切り換え可能であることに注目すること。各ディスプレイ・エレメント2410、2412、2212は、個々のディスプレイ・エレメント2410、2411、2413のエリアに対応する、狭持層2102、2104、2106、2108、2401の部分から成る。
【0193】
ディスプレイ・エレメント2410、2411、2412は、図24Aおよび図24Bでは、縦の方が横よりも大きく示されている。尚、他のサイズのディスプレイ・エレメントも採用可能であり、例えば、正方形のディスプレイ・エレメント、または横の方が縦よりも大きなディスプレイ・エレメントが得られる場合もあることは理解されよう。加えて、図24Bには、3行および9列のディスプレイ・エレメントを示すが、ディスプレイはあらゆる数の行および列のディスプレイ・エレメントでも構築可能であることも理解されよう。
【0194】
切り換え可能な赤、緑および青フィルタ・ストライプ2406、2404、2402を用いる代わりとしては、切り換え可能なフィルタ・ストライプを、切り換え可能な黄色のフィルタ・ストライプまたは別の単色のストライプと交換することがあげられよう。カラー、例えば、黄色動作モードおよび透明動作モード間で切り換え可能なフィルタ・ストライプは、例えば、表示中のテキストを強調するために用いることができる。
【0195】
ディスプレイ2400を用いる場合、レンダリングの時点で、表示する画像がテキストまたはその他のタイプのグラフィック画像のどちらに対応するのかについて判定を行なう。テキストの表示に用いるディスプレイ2400の部分では、フィルタ・セルをグレー・スケール、例えば、透明動作モードにセットする。非テキスト画像の表示に用いるディスプレイ2400の部分では、フィルタ・セルを通常カラー動作モードにセットする。この手法によって、本発明によるグレー・スケール・テキスト表示を可能にしつつ、ディスプレイ・デバイス2400上のいずれの場所にも画像のカラー表示が可能となる。
【0196】
フィルタ・セルの動作モード設定は、1つ以上のフィルタ・モード制御信号、例えば、フィルタ・モード制御コマンドを、ディスプレイ2400を組み込んでいるディスプレイ装置に送ることによって、行なうことができる。フィルタ・モード制御コマンドは、例えば、コマンドで特定した、関連するフィルタ・セルを動作させるモードを示す。フィルタ・モード制御コマンドは、レンダリングおよびラスタ化ルーチン807によって、テキスト・レンダリング・プロセスの一部として、あるいはビデオ・アダプタ548によって発生する。RBGの一実施形態では、切り換え可能セルをデフォルトではカラー・モードで動作させ、例えば、テキストのレンダリングのためには、透明状態に変化させるコマンドを必要とする。黄色/透明実施形態では、デフォルト・モードは透明動作モードであり、フィルタ・セルの黄色動作モードを開始する際にコマンドを用いる。
【0197】
ディスプレイ2400を組み込んでいるディスプレイ装置は、フィルタ・モード制御コマンドに応答する制御ロジックを含む。この制御ロジックは、受け取ったコマンドに応答して、ディスプレイ・フィルタ・セルの動作モードを変更するために必要な電気信号を発生する。
【0198】
「透明」という用語は、グレー・スケール・モードで動作するときのフィルタ・セル2410、2411、2412の特性を記述するために用いたが、これらは、赤、緑または青のカラー・フィルタとしても供することができる完全に透明なフィルタを生産することの難しさのため、多少色の滲みを含む場合もあることは理解されよう。したがって、実施形態の中には、フィルタ・セル2410、2411および2412が、グレー・スケール表示モードで動作する場合、実質的に透明であるに過ぎない場合もある。いずれにしても、少なくとも1つの実施形態例では、グレー・スケール・モードで動作する場合、フィルタ・セル2410は、赤、緑および青光を通過させ、カラー・モードで動作する場合には通過させない。
【0199】
本発明の種々の方法および装置を、液晶表示装置との関連において、または液晶ディスプレイと共に使う場合について説明したが、本発明の方法および装置の多くは、多数のタイプの出力お呼び表示装置と共に用い、その画質を改善することが可能である。
【0200】
例えば、異なるカラー画素サブコンポーネントを独立した光度源として扱う際に用いる、前述のスケーリング、スキャン変換およびヒンティング方法は、陰極線管(CRT)ディスプレイ上に表示する画像にも適用可能である。
【0201】
プリンタは、本発明のスケーリング、ヒンティングおよびスキャン変換動作を適用可能な別のクラスの出力装置を表す。本発明の方法および装置は、特に、画像の一部を、固定媒体、例えば、紙の上に印刷する変位(オフセット)カラー・サンプルによって表す、インク・ジェットおよびその他のタイプのプリンタとの使用に非常に適している。
【0202】
液晶(LDC)およびその他のタイプのディスプレイ装置は、ある共通特性、例えば、画素を表すRGB画素サブコンポーネントの使用を共有することが多いが、具体的な表示特性、例えば、カラー・フィルタ特性は製造業者毎に異なる場合もある。ディスプレイ、例えば、モニタの特性も、同じ製造業者が生産する異なるタイプのモニタ間で異なる場合もある。
【0203】
本発明の一実施形態は、エリアシング防止情報、例えば、特定のディスプレイ装置に対する重み係数情報を、メモリに格納することにより、異なるモニタ間の差を考慮に入れている。本発明のラスタ化およびレンダリング・ルーチンは、所与の用途において用いる個々のディスプレイ装置に利用可能な場合、このディスプレイ装置情報を利用する。したがって、本発明の種々の実施形態では、エリアシング防止およびガンマ補正動作は、格納してあるフィルタ重み、および個々のディスプレイ装置モデル、例えば、LCD画面に関連するガンマ値を用いて実施する。
【0204】
エリアシング防止動作は、前述の種々の実施形態において、スキャン変換プロセス中に用いる異なる赤、緑および青の重みの使用によって、一次元で行なう。第2次元でのエリアシング防止技術の適用も想定しており、種々の実施形態例では、画質を更に高めるために用いられる。
【0205】
ここに含まれる本発明の説明に鑑み、先に論じた本発明の実施形態に対して、多数の追加実施形態や変形も、当業者には明白である。このような実施形態は、本発明から逸脱するものではなく、本発明の範囲内に該当すると見なすことは理解されよう。
【特許請求の範囲】
【請求項1】
前景カラーおよび背景カラーを用いて表示する画像を表す画素を処理する方法であって、
i)前記画素の1つに対応する赤、緑および青光度値を受け取るステップと、
ii)前記受け取った光度値から前記画素の1つの全光度を判定するステップと、
iii)前記画素の1つの全光度が、前景カラー画素および背景カラー画素の全光度未満か否かについて判定を行なうステップと、
iv)前記画素の1つの全光度が前記前景カラー画素および前記背景カラー画素の全光度未満である場合、
画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生し、
前記新たな1組の赤、緑および青光度値を、前記受け取った1組の赤、緑および青光度値と交換するステップと、
から成る方法。
【請求項2】
請求項1記載の方法であって、更に、前記画像を表す前記画素の1つ毎に、ステップi、ii、iii、およびivを繰り返すステップを含む、方法。
【請求項3】
請求項2記載の方法であって、更に、前記新たな赤、緑および青光度値を用いて、ディスプレイ装置上に前記画像を発生するステップを含む、方法。
【請求項4】
請求項1記載の方法において、画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生する前記ステップは、
前記画素の1つに対して、画素毎に、グレー・スケーリング動作を行なうステップを含む、方法。
【請求項5】
請求項1記載の方法であって、更に、
前記処理する画素の1つが、気を散らす可能性が高いカラー・アーチファクトを含むか否かについて判定を行なうステップと、
前記処理する画素の1つが、気を散らす可能性が高いカラー・アーチファクトを含むと判定した場合、前記受け取った赤、緑および青光度値の少なくとも1つの値を変更し、新たな1組の赤、緑および青光度値を発生するステップと、
を含む、方法。
【請求項6】
請求項1記載の方法であって、更に、
前記受け取った赤、緑および青輝度値によって形成した総合カラーが、前記前景カラーおよび前記背景カラーの混合に対応するカラー範囲の外側にあるか否かについて判定を行なうステップを含む、方法。
【請求項7】
請求項6記載の方法であって、更に、前記受け取った赤、緑および青輝度値によって形成した総合カラーが前記カラー範囲の外側にある場合、受け取った赤、緑および青光度値の少なくとも1つを調節し、前記受け取った赤、緑および青輝度値によって形成した総合カラーを調節し、これを前記カラー範囲内のカラーに近付けるようにするステップを含む、方法。
【請求項8】
請求項6記載の方法であって、更に、前記受け取った赤、緑および青輝度値によって形成した総合カラーが前記カラー範囲の外側にある場合、受け取った赤、緑および青光度値の少なくとも1つを調節し、前記受け取った赤、緑および青輝度値によって形成した総合カラーを調節し、これを前記カラー範囲内のカラーに対応するようにするステップを含む、方法。
【請求項9】
コンピュータ読み取り可能媒体であって、画像の一部を表す画素に対して画素処理動作を実行するコンピュータ実行可能命令を備え、前記画素処理動作が、
i)前記画素の1つに対応する赤、緑および青光度値を受け取るステップと、
ii)前記受け取った光度値から前記画素の1つの全光度を判定するステップと、
iii)前記画素の1つの全光度が、前景カラー画素および背景カラー画素の全光度未満か否かについて判定を行なうステップと、
iv)前記画素の1つの全光度が前記前景カラー画素および前記背景カラー画素の全光度未満である場合、
画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生し、
前記新たな1組の赤、緑および青光度値を、前記受け取った1組の赤、緑および青光度値と交換するステップと、
を含む、コンピュータ読み取り可能媒体。
【請求項10】
カラー画素を処理する方法であって、該画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、
前記画素のカラーを、前記カラーおよび背景カラーの予め選択してある混合に対応するカラー範囲と比較するステップと、
前記処理する画素のカラーが前記カラー範囲の外側にあると判定した場合、カラー補正動作を前記処理する画素に対して行なうステップと、
から成る方法。
【請求項11】
請求項10記載の方法において、前記カラー補正動作は、
前記処理する画素に関連する赤、緑および青光度値の少なくとも1つを調節するステップを含む、方法。
【請求項12】
請求項10記載の方法において、前記画素のカラーをカラー範囲と比較するステップは、
前記処理する画素に関連する赤の光度値を、前記前景カラーに関連する赤光度値と前記背景カラーに関連する赤光度値との間存在する赤光度値範囲と比較するステップを含む、方法。
【請求項13】
請求項12記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する緑光度値を、前記前景カラーに関連する緑光度値と前記背景カラーに関連する緑光度値との間存在する緑光度値範囲と比較するステップを含む、方法。
【請求項14】
請求項10記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する緑光度値を、前記前景カラーに関連する緑光度値と前記背景カラーに関連する緑光度値との間存在する緑光度値範囲と比較するステップを含む、方法。
【請求項15】
請求項10記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する青光度値を、前記前景カラーに関連する青光度値と前記背景カラーに関連する青光度値との間存在する青光度値範囲と比較するステップを含む、方法。
【請求項16】
請求項10記載の方法であって、更に、
処理する画素のカラーを、前景カラーおよび背景カラーと比較するステップを含み、
前記画素のカラーをカラー範囲と比較する前記ステップおよびカラー補正動作を行なう前記ステップは、前記処理する画素のカラーが前記前景カラーおよび前記背景カラーと異なる場合にもに行なう、方法。
【請求項17】
請求項11記載の方法において、前記カラー補正動作は、
前記処理する画素に関連する赤、緑および青光度値の少なくとも2つを調節するステップを含む、方法。
【請求項18】
コンピュータ読み取り可能媒体であって、
画像の一部を表すカラー画素に対して画素処理動作を行なうコンピュータ実行可能命令を備え、前記画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、前記処理動作が、
前記画素のカラーを、前記カラーおよび背景カラーの予め選択してある混合に対応するカラー範囲と比較するステップと、
前記処理する画素のカラーが前記カラー範囲の外側にあると判定した場合、カラー補正動作を前記処理する画素に対して行なうステップであって、前記カラー補正動作が、前記カラー画素に関連する前記赤、緑および青光度値の少なくとも1つの変更を伴う、ステップと、
から成る、コンピュータ読み取り可能媒体。
【請求項19】
カラー画素を処理する方法であって、該画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、前記方法が、
前記処理する画素に関連する前記赤光度値が、前景カラーに関連する赤光度値から背景カラーに関連する赤光度値までに及ぶ赤光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の赤光度値が前記赤光度値範囲の外側にあると判定したとき、前記処理する画素に関連する赤光度値を調節し、前記赤光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
から成る方法。
【請求項20】
請求項19記載の方法であって、更に、
前記処理する画素に関連する前記緑光度値が、前景カラーに関連する緑光度値から背景カラーに関連する緑光度値までに及ぶ緑光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の緑光度値が前記緑光度値範囲の外側にあると判定したとき、前記処理する画素に関連する緑光度値を調節し、前記緑光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
を含む、方法。
【請求項21】
請求項20記載の方法であって、更に、
前記処理する画素に関連する前記青光度値が、前景カラーに関連する青光度値から背景カラーに関連する青光度値までに及ぶ青光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の青光度値が前記青光度値範囲の外側にあると判定したとき、前記処理する画素に関連する青光度値を調節し、前記青光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
を含む、方法。
【請求項22】
複数のN個の画素を含む画像を処理する方法であって、Nが整数であり、前記方法は、
前記N個の画素の各々のカラーを、前景表示カラーおよび背景表示カラーの混合に対応するカラー範囲と比較するステップと、
前記カラー範囲の外側にある画素のカラーを調節するステップと、
から成る方法。
【請求項23】
請求項22記載の方法において、
各画素のカラーは、当該画素に関連する赤、緑および青光度値の組み合わせによって決定し、
前記画素のカラーを調節する前記ステップは、
前記調節ステップを実行する各画素に関連する前記光度値の少なくとも1つを変更するステップを含む、方法。
【請求項24】
請求項23記載の方法であって、更に、
前記複数N個に含まれる画素の内、前景表示カラーおよび背景表示カラーとは異なるカラーを有する画素を選択するステップを含み、該選択するステップを前記比較するステップよりも前に実行する、方法。
【請求項1】
前景カラーおよび背景カラーを用いて表示する画像を表す画素を処理する方法であって、
i)前記画素の1つに対応する赤、緑および青光度値を受け取るステップと、
ii)前記受け取った光度値から前記画素の1つの全光度を判定するステップと、
iii)前記画素の1つの全光度が、前景カラー画素および背景カラー画素の全光度未満か否かについて判定を行なうステップと、
iv)前記画素の1つの全光度が前記前景カラー画素および前記背景カラー画素の全光度未満である場合、
画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生し、
前記新たな1組の赤、緑および青光度値を、前記受け取った1組の赤、緑および青光度値と交換するステップと、
から成る方法。
【請求項2】
請求項1記載の方法であって、更に、前記画像を表す前記画素の1つ毎に、ステップi、ii、iii、およびivを繰り返すステップを含む、方法。
【請求項3】
請求項2記載の方法であって、更に、前記新たな赤、緑および青光度値を用いて、ディスプレイ装置上に前記画像を発生するステップを含む、方法。
【請求項4】
請求項1記載の方法において、画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生する前記ステップは、
前記画素の1つに対して、画素毎に、グレー・スケーリング動作を行なうステップを含む、方法。
【請求項5】
請求項1記載の方法であって、更に、
前記処理する画素の1つが、気を散らす可能性が高いカラー・アーチファクトを含むか否かについて判定を行なうステップと、
前記処理する画素の1つが、気を散らす可能性が高いカラー・アーチファクトを含むと判定した場合、前記受け取った赤、緑および青光度値の少なくとも1つの値を変更し、新たな1組の赤、緑および青光度値を発生するステップと、
を含む、方法。
【請求項6】
請求項1記載の方法であって、更に、
前記受け取った赤、緑および青輝度値によって形成した総合カラーが、前記前景カラーおよび前記背景カラーの混合に対応するカラー範囲の外側にあるか否かについて判定を行なうステップを含む、方法。
【請求項7】
請求項6記載の方法であって、更に、前記受け取った赤、緑および青輝度値によって形成した総合カラーが前記カラー範囲の外側にある場合、受け取った赤、緑および青光度値の少なくとも1つを調節し、前記受け取った赤、緑および青輝度値によって形成した総合カラーを調節し、これを前記カラー範囲内のカラーに近付けるようにするステップを含む、方法。
【請求項8】
請求項6記載の方法であって、更に、前記受け取った赤、緑および青輝度値によって形成した総合カラーが前記カラー範囲の外側にある場合、受け取った赤、緑および青光度値の少なくとも1つを調節し、前記受け取った赤、緑および青輝度値によって形成した総合カラーを調節し、これを前記カラー範囲内のカラーに対応するようにするステップを含む、方法。
【請求項9】
コンピュータ読み取り可能媒体であって、画像の一部を表す画素に対して画素処理動作を実行するコンピュータ実行可能命令を備え、前記画素処理動作が、
i)前記画素の1つに対応する赤、緑および青光度値を受け取るステップと、
ii)前記受け取った光度値から前記画素の1つの全光度を判定するステップと、
iii)前記画素の1つの全光度が、前景カラー画素および背景カラー画素の全光度未満か否かについて判定を行なうステップと、
iv)前記画素の1つの全光度が前記前景カラー画素および前記背景カラー画素の全光度未満である場合、
画像処理動作を行い、前記画素の1つに対応する赤、緑および青光度値の新たな1組を発生し、
前記新たな1組の赤、緑および青光度値を、前記受け取った1組の赤、緑および青光度値と交換するステップと、
を含む、コンピュータ読み取り可能媒体。
【請求項10】
カラー画素を処理する方法であって、該画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、
前記画素のカラーを、前記カラーおよび背景カラーの予め選択してある混合に対応するカラー範囲と比較するステップと、
前記処理する画素のカラーが前記カラー範囲の外側にあると判定した場合、カラー補正動作を前記処理する画素に対して行なうステップと、
から成る方法。
【請求項11】
請求項10記載の方法において、前記カラー補正動作は、
前記処理する画素に関連する赤、緑および青光度値の少なくとも1つを調節するステップを含む、方法。
【請求項12】
請求項10記載の方法において、前記画素のカラーをカラー範囲と比較するステップは、
前記処理する画素に関連する赤の光度値を、前記前景カラーに関連する赤光度値と前記背景カラーに関連する赤光度値との間存在する赤光度値範囲と比較するステップを含む、方法。
【請求項13】
請求項12記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する緑光度値を、前記前景カラーに関連する緑光度値と前記背景カラーに関連する緑光度値との間存在する緑光度値範囲と比較するステップを含む、方法。
【請求項14】
請求項10記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する緑光度値を、前記前景カラーに関連する緑光度値と前記背景カラーに関連する緑光度値との間存在する緑光度値範囲と比較するステップを含む、方法。
【請求項15】
請求項10記載の方法において、前記処理する画素のカラーをカラー範囲と比較するステップは、更に、
前記処理する画素に関連する青光度値を、前記前景カラーに関連する青光度値と前記背景カラーに関連する青光度値との間存在する青光度値範囲と比較するステップを含む、方法。
【請求項16】
請求項10記載の方法であって、更に、
処理する画素のカラーを、前景カラーおよび背景カラーと比較するステップを含み、
前記画素のカラーをカラー範囲と比較する前記ステップおよびカラー補正動作を行なう前記ステップは、前記処理する画素のカラーが前記前景カラーおよび前記背景カラーと異なる場合にもに行なう、方法。
【請求項17】
請求項11記載の方法において、前記カラー補正動作は、
前記処理する画素に関連する赤、緑および青光度値の少なくとも2つを調節するステップを含む、方法。
【請求項18】
コンピュータ読み取り可能媒体であって、
画像の一部を表すカラー画素に対して画素処理動作を行なうコンピュータ実行可能命令を備え、前記画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、前記処理動作が、
前記画素のカラーを、前記カラーおよび背景カラーの予め選択してある混合に対応するカラー範囲と比較するステップと、
前記処理する画素のカラーが前記カラー範囲の外側にあると判定した場合、カラー補正動作を前記処理する画素に対して行なうステップであって、前記カラー補正動作が、前記カラー画素に関連する前記赤、緑および青光度値の少なくとも1つの変更を伴う、ステップと、
から成る、コンピュータ読み取り可能媒体。
【請求項19】
カラー画素を処理する方法であって、該画素のカラーが、当該画素に関連する赤、緑および青光度値の関数であり、前記方法が、
前記処理する画素に関連する前記赤光度値が、前景カラーに関連する赤光度値から背景カラーに関連する赤光度値までに及ぶ赤光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の赤光度値が前記赤光度値範囲の外側にあると判定したとき、前記処理する画素に関連する赤光度値を調節し、前記赤光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
から成る方法。
【請求項20】
請求項19記載の方法であって、更に、
前記処理する画素に関連する前記緑光度値が、前景カラーに関連する緑光度値から背景カラーに関連する緑光度値までに及ぶ緑光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の緑光度値が前記緑光度値範囲の外側にあると判定したとき、前記処理する画素に関連する緑光度値を調節し、前記緑光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
を含む、方法。
【請求項21】
請求項20記載の方法であって、更に、
前記処理する画素に関連する前記青光度値が、前景カラーに関連する青光度値から背景カラーに関連する青光度値までに及ぶ青光度値範囲に該当するか否かについて判定を行なうステップと、
前記処理する画素の青光度値が前記青光度値範囲の外側にあると判定したとき、前記処理する画素に関連する青光度値を調節し、前記青光度値範囲に近付けるかまたは当該範囲内に含ませるようにするステップと、
を含む、方法。
【請求項22】
複数のN個の画素を含む画像を処理する方法であって、Nが整数であり、前記方法は、
前記N個の画素の各々のカラーを、前景表示カラーおよび背景表示カラーの混合に対応するカラー範囲と比較するステップと、
前記カラー範囲の外側にある画素のカラーを調節するステップと、
から成る方法。
【請求項23】
請求項22記載の方法において、
各画素のカラーは、当該画素に関連する赤、緑および青光度値の組み合わせによって決定し、
前記画素のカラーを調節する前記ステップは、
前記調節ステップを実行する各画素に関連する前記光度値の少なくとも1つを変更するステップを含む、方法。
【請求項24】
請求項23記載の方法であって、更に、
前記複数N個に含まれる画素の内、前景表示カラーおよび背景表示カラーとは異なるカラーを有する画素を選択するステップを含み、該選択するステップを前記比較するステップよりも前に実行する、方法。
【図1】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図10】
【図11A】
【図11B】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図10】
【図11A】
【図11B】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2010−191441(P2010−191441A)
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2010−58611(P2010−58611)
【出願日】平成22年3月16日(2010.3.16)
【分割の表示】特願2000−575112(P2000−575112)の分割
【原出願日】平成11年10月6日(1999.10.6)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願日】平成22年3月16日(2010.3.16)
【分割の表示】特願2000−575112(P2000−575112)の分割
【原出願日】平成11年10月6日(1999.10.6)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
[ Back to top ]