(57)【要約】【課題】グラフィックス・イメージのオブジェクトの属性に基づき、ピクセル・サブ・コンポーネント精度でレンダリングされるイメージ・データのオブジェクトに適用される様々なアンチ・エイリアシング・フィルタを選択する方法及びシステムを提供すること。【解決手段】文字のレンダリング時に、ピクセル・サブ・コンポーネントのストライプに平行な方向で適用される従来のアンチ・エイリアシングを、大きいフォント・サイズに多量のアンチ・エイリアシングを、小さいフォント・サイズの文字には少量のアンチ・エイリアシングを提供するように、個々の文字フォント・サイズに特有の要件に適合させる。置換えられたサンプリングが利用され、各ＲＧＢピクセル・サブ・コンポーネントの複数の垂直サンプルに対するα値を決定し、それに対して選択されたアンチ・エイリアシング・フィルタを適用してそのＲＧＢピクセル・サブ・コンポーネントの輝度を決定する。【選択図】　　　　図６
2004004830.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数の別々に制御可能なピクセル・サブ・コンポーネントを有する複数のピクセルを有する表示デバイスに関連付けられた処理デバイスにおいて、イメージをレンダリングする際，に、選択されたアンチ・エイリアシング・フィルタを適用する方法であって、
表示されることになる前記イメージ中のオブジェクトの１つまたは複数の属性に基づき、第１のアンチ・エイリアシング・フィルタおよび第２のアンチ・エイリアシング・フィルタを含む複数のアンチ・エイリアシング・フィルタから１つのアンチ・エイリアシング・フィルタを選択する動作と、
選択された前記アンチ・エイリアシング・フィルタを適用することによって獲得された空間的に異なるセットのサンプルが、個々のピクセル・サブ・コンポーネントにマップされる態様で、前記表示デバイス上に前記オブジェクトを表示する動作と
を備えることを特徴とする方法。
【請求項２】
前記オブジェクトは、文字を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記１つまたは複数の属性は、前記文字の前記フォント・サイズを備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記オブジェクトは、グラフィカル・オブジェクトを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記１つまたは複数の属性は、前記グラフィカル・オブジェクトのステム幅を備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記１つまたは複数の属性は、前記グラフィカル・オブジェクトを構成する線および／または曲線の太さを備えることを特徴とする請求項４に記載の方法。
【請求項７】
前記第１のアンチ・エイリアシング・フィルタは、前記第２のアンチ・エイリアシング・フィルタより小さいアンチ・エイリアシング効果を有することを特徴とする請求項１に記載の方法。
【請求項８】
前記第２のアンチ・エイリアシング・フィルタは、前記第２のアンチ・エイリアシング・フィルタが利用される、より大きいオブジェクトの高い空間周波数を低減するように適合されていることを特徴とする請求項１に記載の方法。
【請求項９】
前記第２のアンチ・エイリアシング・フィルタは、文字の縁のぎざぎざ（ｊａｇｇｅｄｎｅｓｓ）を低減することによってより平滑な文字を生成することを特徴とする請求項８に記載の方法。
【請求項１０】
それぞれが複数の別々に制御可能なピクセル・サブ・コンポーネントを有する複数のピクセルを有する表示デバイスに関連付けられた処理デバイスにおいて、イメージをレンダリングする際に、選択されたアンチ・エイリアシング・フィルタを適用する方法であって、
表示されることになる第１の文字の第１のフォント・サイズに基づき、第１のアンチ・エイリアシング・フィルタを選択する動作と、
前記第１のアンチ・エイリアシング・フィルタを前記第１の文字に適用する動作と、
表示されることになる第２の文字の第２のフォント・サイズで、前記第１のフォント・サイズより大きいフォント・サイズに基づき、別の第２のアンチ・エイリアシング・フィルタを選択する動作と、
前記第２のアンチ・エイリアシング・フィルタを前記第２の文字に適用する動作と、
前記第１のフィルタを適用することによって獲得された空間的に異なるセットのサンプルが、個々のピクセル・サブ・コンポーネントにマップされる態様で、前記表示デバイス上に前記第１の文字を表示する動作と、
前記第２のアンチ・エイリアシング・フィルタを適用することによって獲得された空間的に異なるセットのサンプルが、個々のピクセル・サブ・コンポーネントにマップされる態様で、前記表示デバイス上で前記第２の文字を表示する動作と
を備えることを特徴とする方法。
【請求項１１】
第１の量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタは、所与の低い方のフォント・サイズしきい値を下回るフォント・サイズを有するすべての文字に適用されることを特徴とする請求項１０に記載の方法。
【請求項１２】
第２の量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタが、所与の高い方のフォント・サイズしきい値を超えるフォント・サイズを有するすべての文字に適用され、かつ前記第１の量のアンチ・エイリアシングが、前記第２の量のアンチ・エイリアシングより少ないことを特徴とする請求項１１に記載の方法。
【請求項１３】
順次に増加する量のアンチ・エイリアシングを提供する一連のアンチ・エイリアシング・フィルタは、前記一連のアンチ・エイリアシング・フィルタによって提供されるアンチ・エイリアシングの量が、前記第１の量のアンチ・エイリアシングと前記第２の量のアンチ・エイリアシングの中間であるように、前記低い方のフォント・サイズしきい値と前記高い方のフォント・サイズしきい値の中間のフォント・サイズに関して提供されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記表示デバイスは、同じ色の付いたピクセル・サブ・コンポーネントのストライプを形成するように配置された複数のピクセル・サブ・コンポーネントを有するＬＣＤ表示デバイスを備え、かつ前記第１のアンチ・エイリアシング・フィルタおよび前記第２のアンチ・エイリアシング・フィルタは、前記表示デバイスの前記ストライプに平行な方向で適用されることを特徴とする請求項１０に記載の方法。
【請求項１５】
前記第１のアンチ・エイリアシング・フィルタは、前記ピクセル内で垂直方向にあるサンプルを使用し、かつ前記第２のアンチ・エイリアシング・フィルタは、前記ピクセル内で垂直方向にあるサンプル、および前記ピクセルに垂直に隣接するサンプルを使用することを特徴とする請求項１０に記載の方法。
【請求項１６】
それぞれが複数の別々に制御可能なピクセル・サブ・コンポーネントを有する複数のピクセルを有する表示デバイスに関連付けられた処理デバイスにおいて、イメージの文字のフォント・サイズに基づいて複数のアンチ・エイリアシング・フィルタから選択された１つのアンチ・エイリアシング・フィルタを使用して前記イメージをレンダリングする方法であって、
複数の異なるアンチ・エイリアシング・フィルタを定義するデータ構造を格納する動作と、
レンダリングされることになる前記イメージのオブジェクトの属性を識別する動作と、
前記複数の異なるアンチ・エイリアシング・フィルタの少なくとも２つは、前記イメージを表すイメージ・データの隣接サンプルの重み付けされた合計を計算することによって動作し、前記特定された属性に基づき、前記複数の異なるアンチ・エイリアシング・フィルタから１つのアンチ・エイリアシング・フィルタを選択する動作と、
前記選択されたアンチ・エイリアシング・フィルタを前記ピクセル・サブ・コンポーネントのストライプ形状に対して平行な方向で適用する動作と
を備えることを特徴とする方法。
【請求項１７】
前記イメージを前記ピクセル・サブ・コンポーネントの前記ストライプに直角な方向でピクセル・サブ・コンポーネント精度で表示するように、前記イメージを定義するイメージ・データの空間的に異なるセットのサンプルを個々のピクセルの異なるピクセル・サブ・コンポーネントにマップする動作をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記複数のアンチ・エイリアシング・フィルタのそれぞれは、異なる量のアンチ・エイリアシングを提供することを特徴とする請求項１６に記載の方法。
【請求項１９】
比較的大きいオブジェクト・ボディの厚さに基づいて選択されたフィルタによって提供されるアンチ・エイリアシングの量は、比較的小さいオブジェクト・ボディの厚さに基づいて選択されたフィルタによって提供されるアンチ・エイリアシングの量より多いことを特徴とする請求項１６に記載の方法。
【請求項２０】
前記重み付けされた合計を計算するのに使用される前記アンチ・エイリアシング・フィルタによって使用される隣接サンプルの数は、前記アンチ・エイリアシング・フィルタに対応する前記オブジェクト・ボディの厚さが増加するにつれて増加することを特徴とする請求項１９に記載の方法。
【請求項２１】
前記オブジェクトは、文字を備え、かつ前記属性は、前記文字のフォント・サイズを備えることを特徴とする請求項１６に記載の方法。
【請求項２２】
前記データ構造のそれぞれは、一続きのフィールドを含み、かつ各フィールドは、ある範囲のフォント・サイズに対応する前記複数のアンチ・エイリアシング・フィルタの１つに相関することを特徴とする請求項２１に記載の方法。
【請求項２３】
前記複数のフィルタの１つは、所与の低い方のフォント・サイズしきい値より小さいフォント・サイズを有するあらゆる文字に適用されることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記複数のフィルタの１つは、所与の高い方のフォント・サイズしきい値を超えるフォント・サイズを有するあらゆる文字に適用されることを特徴とする請求項２２に記載の方法。
【請求項２５】
前記複数のアンチ・エイリアシング・フィルタは、少なくとも３つのフィルタを含むことを特徴とする請求項２２に記載の方法。
【請求項２６】
それぞれが複数の別々に制御可能なピクセル・サブ・コンポーネントを有する複数のピクセルを有する表示デバイスに関連付けられた処理デバイスにおいて、イメージ・データからのイメージのレンダリング中にアンチ・エイリアシング・フィルを選択する方法であって、
前記イメージを第１の方向でピクセル・サブ・コンポーネント精度で表示するための準備として前記イメージ・データの空間的に異なるセットのサンプルを個々のピクセルの異なるピクセル・サブ・コンポーネントにマップする動作と、
レンダリングされる前記イメージのフォント・サイズを識別する動作と、
前記イメージの文字の前記フォント・サイズに基づいて複数の異なるアンチ・エイリアシング・フィルタから１つのアンチ・エイリアシング・フィルタを選択する動作と、
前記アンチ・エイリアシング・フィルタを前記第１の方向に直交する第２の方向で適用する動作と
を備えることを特徴とする方法。
【請求項２７】
前記複数の異なるアンチ・エイリアシング・フィルタの１つまたは複数のフィルタは、前記表示デバイスの特定のピクセルに対応する前記イメージ・データの領域の外に位置する前記イメージ・データのサンプルを利用して、前記ピクセルの前記ピクセル・サブ・コンポーネントに適用されることになる輝度値を決定することを特徴とする請求項２６に記載の方法。
【請求項２８】
前記複数の異なるアンチ・エイリアシング・フィルタは、前記イメージ・データの隣接サンプルによって定義される輝度情報の重み付けされた合計を計算することによって機能することを特徴とする請求項２７に記載の方法。
【請求項２９】
それぞれが複数の別々に制御可能なピクセル・サブ・コンポーネントを有する複数のピクセルを有する表示デバイスに関連付けられた処理デバイスにおいて、イメージをレンダリングする際に、アンチ・エイリアシングを提供するフィルタを選択する方法であって、
レンダリングされる第１のフォント・サイズを有する第１の文字の前記第１のフォント・サイズを特定する動作と、
レンダリングされる前記第１の文字の前記フォント・サイズに基づいて第１のフィルタを選択する動作であって、アンチ・エイリアシングの量に基礎を置く複数のフィルタから、前記第１の文字を表すイメージ・データの隣接サンプルの重み付けされた合計を計算することを提供し、それにによって動作するように適合されている前記第１のフィルタを、選択する動作と、
前記第１のフィルタを利用して前記第１の文字を表示する動作と、
レンダリングされる第２のフォント・サイズを有する第２の文字の前記フォント・サイズを特定する動作と、
レンダリングされる前記第２の文字の前記フォント・サイズに基づいて第２のフィルタを選択する動作であって、アンチ・エイリアシングの量に基礎を置く前記複数のフィルタから、前記第２の文字を表すイメージ・データの隣接サンプルの重み付けされた合計を計算することを提供し、それによって動作するように適合されている前記第２のフィルタを、選択する動作と、
前記第２のフィルタを利用して前記第２の文字を表示する動作と
を備えることを特徴とする方法。
【請求項３０】
前記第１の文字および前記第２の文字が、前記表示デバイス上に表示され、かつ前記第１のフィルタおよび前記第２のフィルタの適用によって獲得された空間的に異なるセットのサンプルが、個々のピクセル・サブ・コンポーネントにマップされることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記複数のフィルタは、低い方のフォント・サイズしきい値から高い方のフォント・サイズしきい値までのフォントに関して順次に増加する量のアンチ・エイリアシングを提供する一連のアンチ・エイリアシング・フィルタを含み、提供されるアンチ・エイリアシングの前記量は、前記低い方のフォント・サイズしきい値から前記高い方のフォント・サイズしきい値までの範囲内にあることを特徴とする請求項２９に記載の方法。
【請求項３２】
処理デバイス、および複数の別々に制御可能なピクセル・サブ・コンポーネントをそれぞれが有する複数のピクセルを有するイメージを表示するための表示デバイスを含むコンピュータ・システムにおいて、アンチ・エイリアシング・フィルタを選択する方法を実装するためのコンピュータ・プログラム製品であって、
複数の異なるアンチ・エイリアシング・フィルタを定義するデータ構造を記憶する動作と、
レンダリングされることになる前記イメージの文字のフォント・サイズを識別する動作と、
前記識別されたフォント・サイズに基づき、前記イメージを表すイメージ・データの隣接サンプルの重み付けされた合計を計算することによって動作するする前記複数の異なるアンチ・エイリアシング・フィルタから１つのアンチ・エイリアシング・フィルタを選択する動作と、
前記選択されたアンチ・エイリアシング・フィルタを前記ピクセル・サブ・コンポーネントのストライプに平行な方向で適用する動作と
を含む前記方法を行うためのコンピュータ実行可能命令を担持するコンピュータ可読媒体を備えることを特徴とする製品。
【請求項３３】
前記ピクセル・サブ・コンポーネントの前記ストライプに直角な方向でピクセル・サブ・コンポーネント精度で前記イメージを表示するように、前記イメージを定義する空間的に異なるセットのイメージ・データを個々のピクセルの異なるピクセル・サブ・コンポーネントにマップする動作をさらに備えることを特徴とする請求項３２に記載の方法。
【請求項３４】
比較的大きい文字サイズに基づいて選択されたフィルタによって提供されるアンチ・エイリアシングの量は、比較的小さい文字サイズに基づいて選択されたフィルタによって提供されるアンチ・エイリアシングの量より多いことを特徴とする請求項３２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イメージをレンダリングするための方法とシステムの両方に及ぶ。詳細には、本発明は、レンダリングされるオブジェクトの属性に基づき、ピクセル・サブ・コンポーネントの精度でレンダリングされるイメージ・データのオブジェクトに適用される様々なアンチ・エイリアシング・フィルタを選択することに関する。
【０００２】
【従来の技術】
イメージが表示される表示デバイスが十分に高い解像度を有するものと想定して、人間の目が文字の凹凸または歪みを知覚することができないように、グラフィックス・イメージは、通常、グラフィックス・イメージの文字の忠実なレンダリングを可能にするに十分な高い解像度で記憶される。液晶表示（ＬＣＤ）デバイスは、イメージを表示することができる最も一般的なタイプの表示デバイスの１つである。ＬＣＤ表示デバイスの複雑さおよび製造上の要件により、通常のＬＣＤ表示デバイスの解像度は、多くのグラフィックス・フォーマットによってサポートされる解像度より低いものになっている。
【０００３】
ＬＣＤ表示デバイスは、一般に、行と列に配置された一続きのピクセルを含む。各ピクセルは、一緒に使用されてピクセルの輝度および色調の変化を生じさせる色付きのピクセル・サブ・コンポーネントを含む。通常、ＬＣＤ表示デバイスは、同じ色の付いた要素の垂直の（または、それほど一般的ではないが、水平の）ストライプに、その他のパターンも存在するが、揃えられたピクセル・サブ・コンポーネントを有する。テキスト文字がＬＣＤスクリーン上でレンダリングされるとき、ピクセルには、文字の背景（ｂａｃｋｇｒｏｕｎｄ）の色および前面（ｆｏｒｅｇｒｏｕｎｄ）の色を描くのに輝度および色相が割り当てられる。ディスプレイ上のピクセルの数、およびデバイスのサイズにより、表示デバイスの解像度が決まる。グラフィックス・イメージが、通常のＬＣＤ表示デバイスの低い解像度でレンダリングされたとき、レンダリングされたイメージの歪みが、特にイメージ・データの文字の縁で目立つようになる。レンダリングされた文字のそのような変化および歪みには、エイリアシング（ａｌｉａｓｉｎｇ）が含まれる。エイリアシングは、元のイメージの高い空間周波数が、ディスプレイ上の低い空間周波数に折り返えされる（ａｌｉａｓｉｎｇ　ｄｏｗｎ）ことから生じる。エイリアシングにより、文字の縁がぎざぎざに、または階段状に見えることが生じる。エイリアシングからもたらされるぎざぎざ、または階段状の外観は、しばしば、イメージの文字の文字の縁が水平に近づく斜め部分または曲線部分で最も目立つ。また、エイリアシングは、文字のそのような部分を正確に表すのに十分なだけの数のピクセルを提供しない表示デバイス上で最も目立つ。
【０００４】
低い解像度の表示デバイス上にレンダリングされるイメージに生成される歪みを補償するために様々なアンチ・エイリアシング技術が開発されている。しばしば、グレー・スケーリングと呼ばれるアンチ・エイリアシングの従来の方法は、エイリアシングの生じた文字の縁をぼかす。アンチ・エイリアシングの行われた文字の縁は、より低い明瞭度で描かれるが、イメージのエイリアシングは、人間の目にそれほど知覚されなくなる。この結果、イメージは、より正確にレンダリングされているように見える。エイリアシングの生じたイメージの歪みを最小限に抑えるのに利用されてきた別の技術は、ＬＣＤ表示デバイスの同じ色のピクセル・サブ・コンポーネントのストライプに直角な方向で適用されるピクセル・サブ・コンポーネント精度のレンダリングである。詳細には、イメージの個々の部分がピクセルのその個々のピクセル・サブ・コンポーネントにマップされている状態で、個々のピクセル・サブ・コンポーネントが、別々の輝度ソースとして使用されている。この技術により、ストライプに直角な方向のイメージの解像度が向上し、文字の縁をピクセル・サブ・コンポーネント間の境界上に配置することができるようになる。したがって、このレンダリング・プロセスは、ほぼ垂直となる文字形状部分に関してエイリアシングによる影響を低減するが、ほぼ水平となる形状部分のエイリアシングの低減関しては知覚可能な効果を有していない。
【０００５】
前述したピクセル・サブ・コンポーネント配置（ｐｏｓｉｔｉｏｎｉｎｇ）を利用してレンダリングされた文字でエイリアシングが目立つ度合いは、ある程度、レンダリングされている文字のフォント・サイズに依存する。より小さいフォント・サイズは、それほど目に付かないエイリアシングを示す傾向があるが、より大きいフォントを使用して表示された文字は、でこぼこで、ぎざぎざしている（ｕｎｅｖｅｎ　ａｎｄ　ｊａｇｇｅｄ）ように見えるる。
【０００６】
図１Ａは、ほぼ水平に近いその文字の部分で、でこぼこで、またはぎざぎざの縁を有するより大きいフォントの文字において、ピクセル・サブ・コンポーネント精度のレンダリングがどのようにもたらされるかを示している。符号１で示す表示デバイスの一部分が、符号２に示されるピクセルのグリッドを有して示され、その上に文字４の一部分が表示されている。曲線のセグメント４ａが、その文字を表示するために処理される基底のイメージ・データ（ｕｎｄｅｒｌｙｉｎｇ　ｉｍａｇｅ　ｄａｔａ）を表し、一方、セグメント４ｂは、セグメント４の結果として表示デバイス上に表示されるイメージの境界を表している。文字４は、２５ポイントまたはそれより大きいヘッドライン・フォント・サイズを代表する大きいフォント・サイズで描かれている。ピクセル２のそれぞれは、３つのピクセル・サブ・コンポーネント（例えば、レッド、グリーン、およびブルーのピクセル・サブ・コンポーネント）を有し、また各ピクセル・サブ・コンポーネントは、文字の空間的に異なる部分を表すように別々に制御され、これにより、水平方向でより高い解像度がもたらされる。ただし、垂直方向で解像度が比較的低いため、またより大きいフォント・サイズを有する文字は、ほぼ水平方向に多数のピクセルが並べられている斜めの縁（例えば、部分８）を有しがちであるため、垂直方向におけるエイリアシングの影響が極めて顕著となる傾向がある。
【０００７】
次に、図１Ｂを参照すると、ピクセル２のグリッド上で第２の文字６が、サブ・ピクセル精度で表示されている。第２の文字６は、テキストをレンダリングするためにしばしば使用されるような小さいフォント・サイズで描かれている。曲線のセグメント６ａが、その文字を表示するように処理される基底のイメージ・データを表し、一方、セグメント６ｂは、セグメント６ａの結果として表示デバイス上に表示されるイメージの境界を表している。より小さいフォントでレンダリングされた文字は、より小さい半径の湾曲を有しがちであり、またその文字のほぼ水平に近い部分は、わずかなピクセルにしか及ばない傾向があるため、より小さい文字のほぼ水平な部分のぎざぎざは、図１Ｂで示すとおり、しばしば、それほど目立つ問題ではない。
【０００８】
図１Ａのより大きいフォント・サイズの文字４、または図１Ｂのより小さいフォント・サイズの文字６の場合、垂直方向でアンチ・エイリアシング・フィルタを適用して、垂直方向で知覚されるエイリアシング効果を抑えることが可能である。１つのそのようなアンチ・エイリアシング技術は、グレー・スケーリングであり、グレー・スケーリングは、文字の縁におけるピクセル・サブ・コンポーネントが、前面の色と背景の輝度の中間の輝度を有する状態でもたらされる。グレー・スケーリングは、エイリアシングが知覚されるのを低減するが、また、同時に文字の縁をもぼやけさせる。図１Ａの文字４のように比較的幅広い文字形状を有する文字の場合、縁がぼやけることは、重要な問題ではない。というのは、境界のピクセル・サブ・コンポーネントが、その文字をレンダリングするのに使用されるピクセル・サブ・コンポーネントの比較的小さい部分を表すからである。しかし、図１Ｂの文字６のようなより小さい文字の場合、文字の縁がぼやけることにより、その文字が見えにくくなることが生じる可能性がある。したがって、文字４および６のような文字に従来のアンチ・エイリアシング技術を適用することにより、境界のはっきりしない小さいフォントの文字がもたらされる一方で、そのような文字に対するアンチ・エイリアシングの不適用は、大きいフォントの文字に顕著なエイリアシングをもたらすことになる。
【０００９】
【特許文献１】
米国特許第６，２１９，０２５号明細書
【００１０】
【発明が解決しようとする課題】
本発明は、イメージをレンダリングするための方法およびシステムに及ぶ。詳細には、本発明は、レンダリングされるオブジェクトの属性に基づき、ピクセル・サブ・コンポーネント精度でレンダリングされるイメージ・データのオブジェクトに適用される様々なアンチ・エイリアシング・フィルタを選択することに関する。
【００１１】
【課題を解決するための手段】
これにより、アンチ・エイリアシング・フィルタを個々のフォント・サイズの固有の要件に適合させることが可能になる。大きいフォント・サイズでは、ピクセル・サブ・コンポーネントのストライプに平行な方向で多量のアンチ・エイリアシングが有益である。大きいフォント・サイズの文字のステム（ｓｔｅｍ；太い縦線）を描画する多量のピクセルにより、グレー・スケーリングの行われた文字のぼやけた縁がそれほど重要でなくなる。小さいフォント・サイズは、多量のグレー・スケーリングにさらされると、ぼんやりと判読しがたく、レンダリングされる。したがって、小さいフォント・サイズの文字に関して少量のアンチ・エイリアシングを適用するか、または全くアンチ・エイリアシングを適用しないことにより、文字の縁で所望のコントラストを維持することが可能である。
【００１２】
本発明の一実施形態では、複数の異なるアンチ・エイリアシング・フィルタが提供される。複数のアンチ・エイリアシング・フィルタのそれぞれは、ピクセル・サブ・コンポーネントのストライプに平行な方向で異なる量のアンチ・エイリアシングを提供する。処理デバイスがイメージをレンダリングするとき、文字のフォント・サイズが識別され、対応するアンチ・エイリアシング・フィルタが、複数の異なるアンチ・エイリアシング・フィルタの１つから選択される。小さいフォント・サイズのために選択されるアンチ・エイリアシング・フィルタは、少量のアンチ・エイリアシングを提供するか、またはアンチ・エイリアシングを全く提供しない。大きいフォント・サイズのために選択されるアンチ・エイリアシング・フィルタは、比較的多量のアンチ・エイリアシングを提供する。中間フォント・サイズのために選択されるアンチ・エイリアシング・フィルタは、中間量のアンチ・エイリアシングを提供する。文字のフォント・サイズが小さいものから大きいものに進むにつれて、選択されたフィルタによって提供されるアンチ・エイリアシングの量は増加する。
【００１３】
一実施形態では、フォント・サイズのある範囲内の複数のフォント・サイズに関して、ある選択されたフィルタが利用される。代替の実施形態では、それぞれの選択されたフィルタは、単一の個々のフォント・サイズに対応する。フォント・サイズで、所与の低い方のフォント・サイズしきい値を下回るフォント・サイズを有するすべての文字に対して、少量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタが選択されるように、複数のフィルタを構成することが可能である。小さいフォント・サイズ用のアンチ・エイリアシング・フィルタを利用してレンダリングされた文字は、アンチ・エイリアシングが適用されていない文字に近づく。同様に、高い方のフォント・サイズしきい値を選択することが可能であり、そのしきい値を上回ると比較的多量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタが選択される。高い方のフォント・サイズしきい値と低い方のフォント・サイズしきい値の中間のフォント・サイズには、中間レベルのアンチ・エイリアシングを提供するフィルタが割り当てられる。
【００１４】
本発明のさらなる特徴および利点を以下の説明で提示する。これらの特徴および利点は、ある程度、説明から明白となるか、または本発明を実施することによって知ることが可能である。本発明の特徴および利点は、特許請求の範囲で特に指摘する機器およびその組み合わせを使用して実現し、得ることができる。本発明の以上の特徴およびその他の特徴は、以下の説明および特許請求の範囲からより完全に明白となるか、または以下に提示するとおり本発明を実施することによって知ることが可能である。
【００１５】
獲得することができる本発明の前述した、ならびにその他の利点および特徴をを記述するため、以上に簡単に説明した本発明のより詳細な説明を、添付の図面に示す本発明の特定の実施形態に関連して提供する。それらの図面は本発明の通常の実施形態だけを描いており、したがって、本発明の範囲を限定するものと見なされるべきでないものと理解して、本発明を、添付の図面の使用を介してさらなる具体性および詳細で記述して、説明する。
【００１６】
【発明の実施の形態】
本発明は、イメージをレンダリングするための方法とシステムの両方を範囲に含む。詳細には、本発明は、レンダリングされる文字のフォント・サイズに基づき、ピクセル・サブ・コンポーネント精度でレンダリングされる文字に適用されるアンチ・エイリアシング・フィルタを選択することに関する。これにより、文字に適用されるアンチ・エイリアシングの度合いを様々なフォント・サイズの固有の特性に基づかせることが可能になる。アンチ・エイリアシング・フィルタは、ピクセル・サブ・コンポーネントのストライプに平行な方向で適用される。大きいフォント・サイズでは、ピクセル・サブ・コンポーネントのストライプに平行な方向で多量のアンチ・エイリアシングが有益である。本明細書で述べたとおり、多くのピクセルが大きいフォント・サイズの文字形状を描くことにより、グレー・スケーリングが行われた縁がそれほど目立たなくなる。小さいフォント・サイズは、多量のグレー・スケーリングが適用されたとき、ぼけてレンダリングされ、可読性が落ちる。したがって、小さいフォント・サイズの文字に関して少量のアンチ・エイリアシングを適用することにより、そのような文字を明瞭にレンダリングするのに必要なコントラストを維持することが可能である。
【００１７】
本発明の一実施形態では、複数の異なるアンチ・エイリアシング・フィルタが提供される。複数のアンチ・エイリアシング・フィルタのそれぞれが、異なる量のアンチ・エイリアシングを供給する。処理デバイスが文字をレンダリングするとき、文字のフォント・サイズが判定され、対応するアンチ・エイリアシング・フィルタが、その様々なアンチ・エイリアシング・フィルタの１つから選択される。小さいフォント・サイズでは、選択されたフィルタは、少量のアンチ・エイリアシングを提供する。大きいフォント・サイズでは、選択されたフィルタは、多量のアンチ・エイリアシングを提供する。中間フォント・サイズでは、選択されたフィルタは、文字のフォント・サイズが小さい方から大きい方に進むにつれて増加する中間量のアンチ・エイリアシングを提供する。
【００１８】
Ｉ．イメージ・データのサンプリング
アンチ・エイリアシング・フィルタの用法を説明する前に、イメージの中の１つまたは複数の文字にアンチ・エイリアシング・フィルタを適用するのに先立って通常、行われるイメージをレンダリングするステップに関連する一般的な原理を描いた図２を参照する。図２は、ピクセル・サブ・コンポーネントを含むピクセルを含むＬＣＤ表示デバイスの領域上のピクセル・グリッド１０を示している。ピクセル・グリッド１０上のピクセルは、一続きの列（Ｃ１〜Ｃ５）および一続きの行（Ｒ１〜Ｒ４）に構成される。第１のピクセル１２は、ピクセルが、通常のＬＣＤ表示デバイス上でグラフィックス・イメージの文字を描く仕方を例示するように提示されている。第１のピクセル１２は、列Ｃ１および行Ｒ１に対応する。第１のピクセル１２は、互いに水平方向で隣接するように配置されたレッド、グリーン、およびブルーのピクセル・サブ・コンポーネントを含む。ピクセル１２に垂直方向で隣接するピクセルを含め、ＬＣＤ表示デバイスのその他のピクセルも、対応するレッド、グリーン、およびブルーのピクセル・サブ・コンポーネントを含む。したがって、ＬＣＤディスプレイ上で垂直方向に隣接するピクセルのピクセル・サブ・コンポーネントは、同じ色の付いたピクセル・サブ・コンポーネントのストライプを形成する。本明細書では、本発明を主に同じ色の付いたピクセル・サブ・コンポーネントの垂直ストライプに関連して説明するが、本発明は、水平ストライプおよび斜めストライプを含むが、それらには限定されない様々な他の構成にも適用可能であることが、当分野の技術者には認められよう。
【００１９】
図２は、ピクセル・グリッド１０上に重ねられる文字１４の一部分も示している。本発明に従って処理されるイメージ・データは、文字の輪郭１６の形状に基づいて、ならびに文字をレンダリングするのに使用される前面の色および背景の色に基づいて文字１４を定義する。文字１４をレンダリングするため、まず、ラスタライザ（ｒａｓｔｅｒｉｚｅｒ）が、グラフィックス命令を解釈して、イメージ１４の輪郭１６をピクセル・グリッド１０に合わせる。文字１４の輪郭がピクセル・グリッド１０に合わせられると、ラスタライザは、状況に応じてグリッドに合わせられる輪郭を走査変換し、その走査変換された輪郭に対応するサンプルをビットマップに埋める。本発明で使用することが可能なグリッド合わせ（ｇｒｉｄ−ｆｉｔｔｉｎｇ）動作、走査変換動作、およびサンプリング動作のより詳細な考察が、参照により本明細書に組み込まれる特許文献１に提示されている。一実施形態では、複数の文字からなるストリングが、そのストリングの文字のすべてに対してまずグリッド合わせを実行し、次に、ストリング全体を走査変換することによってラスタ化される。別の実施形態では、文字でないグラフィカル・オブジェクトは、通常、グリッド合わせは行われないが、当技術分野で周知のアルゴリズムを使用して走査変換される。以上のグラフィカル・オブジェクトのどれでも、ラスタ化により、ビットマップが生成される。
【００２０】
図３Ａは、文字１４、または他のグラフィカル・オブジェクトをグリッドに合わせ、走査変換し、サンプリングすることにより、前述したとおり生成されたビットマップ１８の一部分を示している。イメージ・データの複数のサンプルを使用して生成されたビットマップを使用して、ＬＣＤ表示デバイスのレッド、グリーン、およびブルーのピクセル・サブ・コンポーネントに適用される輝度値を生成する。さらに、このビットマップは、サンプルのどれが文字１４の輪郭１６の内側に位置し、どれが外側に位置するかを指定する。また、表示デバイス上の１つの完全なピクセル（ｆｕｌｌ　ｐｉｘｅｌ）に対応するイメージ・データの各領域に対して、複数のサンプルが獲得されることにも留意されたい。本発明の特定の実装形態に応じて、１ピクセル当たりのサンプル数を決めるオーバー・サンプリング係数（ｏｖｅｒｓａｍｐｌｉｎｇ　ｆａｃｔｏｒ）は、異なる可能性があるが、一般に、１ピクセル当たり水平方向と垂直方向の両方で複数のサンプルが獲得される。図３Ａに示した例では、オーバー・サンプリング係数は、水平方向で６であり、垂直方向で５である。水平方向の（すなわち、表示デバイスのストライプに直交する）そのオーバー・サンプリング係数は、個々のセットのサンプルをピクセルのピクセル・サブ・コンポーネントのそれぞれにマップすること可能とし、これにより、水平方向の解像度を高め、アンチ・エイリアシングを提供することが可能になる。垂直方向の（すなわち、表示デバイスのストライプに平行の）オーバー・サンプリング係数は、垂直アンチ・エイリアシング・フィルタを適用することを可能とする。
【００２１】
図３Ａに示したビットマップ１８の部分は、アンチ・エイリアシング・フィルタを適用するための、本発明のこの実施形態に従って使用される、ビットマップの割当てを表している。詳細には、ビットマップ１８のその領域は、列ＳＣ１〜ＳＣ１０および行ＳＲ１〜ＳＲ７を含む。列ＳＣ３〜ＳＣ８および行ＳＲ２〜ＳＲ６を画定するより太い垂直の線および水平の線は、表示デバイスのピクセルの境界に対応する。したがって、一般に、本発明のアンチ・エイリアシング・フィルタが適用されるビットマップの領域１８は、対応するピクセルの境界内のサンプルに加えて、隣接する複数のピクセルの１つまたは複数の行と列に対応する。さらに、他のピクセルにアンチ・エイリアシングを適用するのに使用されるビットマップの領域は、互いに重なり合う。
【００２２】
サンプルの行の数は、垂直オーバー・スケーリング係数で決まる垂直方向のサンプルの数に、垂直アンチ・エイリアシング・フィルタに必要とされる隣接するサンプルの数を足したものに相当する。本発明の一実施形態では、提供される垂直に隣接するサンプルの数は、複数の異なるアンチ・エイリアシング・フィルタの要件に従って決まる。本発明のアンチ・エイリアシング・フィルタは、特定のピクセルに対応する領域の外側に位置するイメージ・データのサンプルを利用して、ピクセルのピクセル・サブ・コンポーネントに適用される輝度値を決定する。以下により詳細に説明するとおり、垂直アンチ・エイリアシング・フィルタは、ビットマップ１８における高い垂直周波数を低減し、これにより、そうでなければ示されるぎざぎざの外観を緩和する。このアンチ・エイリアシング処理のトレードオフは、文字の最前面の色を表すピクセル・サブ・コンポーネントと背景の色を表すピクセル・サブ・コンポーネントの間に、そうでなければ存在するコントラストが一般に小さくなること、である。
【００２３】
図示した実施形態では、５：１のオーバー・スケーリング係数が垂直方向（ピクセル・サブ・コンポーネントのストライプに平行の方向）で利用される。さらに、２行の垂直に隣接するサンプル（ＳＲ１およびＳＲ７）が、提供されるビットマップ１８の領域に含まれる。したがって、垂直アンチ・エイリアシング・フィルタは、図示する実施形態において、最大で７つの行のサンプルに適用することが可能である。図示した実施形態は、隣接するピクセルからＳＲ１およびＳＲ７が取られた７つの垂直に隣接する行のサンプルを描いているが、本発明の趣旨および範囲の中で実質的にあらゆる数およびあらゆる構成のサンプルを利用することが可能であることが認められよう。
【００２４】
また、サンプルは、セットの水平に隣接する列ＳＣ１〜ＳＣ１０でもマップされる。列の数は、水平オーバー・スケーリング係数で決まる水平方向のサンプリングの数に、各ＲＧＢトリプレット（ｔｒｉｐｌｅｔ）に対応するアルファ値を決定するのに利用されるサンプルの水平に隣接する列の数を足したものに相当する。図示した実施形態では、６：１の水平オーバー・スケーリング係数が利用される。さらに、左側の隣接するピクセルから２つの隣接する列のサンプルが利用されると同時に、右側の隣接するピクセルから２つの隣接する列のサンプルが利用される。
【００２５】
アルファ・トリプレット値の計算
図３Ａに示したビットマップ１８の領域を使用して、対応するピクセルのレッド、グリーン、およびブルーのピクセル・サブ・コンポーネントに対応する最終のアルファ・トリプレット値を生成する。言い換えれば、ビットマップ１８のその領域を処理して、レッド、グリーン、およびブルーのピクセル・サブ・コンポーネントに適用される輝度値を決定する。以下に説明するとおり、ビットマップは、レッド、グリーン、およびブルーのピクセル・サブ・コンポーネントのそれぞれが、イメージ・データの空間的に異なる部分を表すように処理され、これは、水平方向でディスプレイの解像度を高める効果を有する。さらに、ビットマップは、フォント・サイズに基づき、本発明に従って複数のアンチ・エイリアシング・フィルタの１つを選択することにより、垂直方向でエイリアシング・アーティファクトが抑えられるように処理される。
【００２６】
ビットマップ１８は、まず、各行ＳＲ１〜ＳＲ７の中の隣接するセットのサンプルにフィルタをかけることによって処理して、レッド、グリーン、およびブルーのピクセル・サブ・コンポーネントに対応するセットの中間アルファ値を獲得する。このプロセスは、行ＳＲ７に関連して詳細に説明するが、行ＳＲ１〜ＳＲ７のそれぞれに関して繰り返される。図３Ａは、行ＳＲ７の水平に隣接するサンプルに対応するサンプル２０ａ〜ｊを示している。例えば、アルファ値αｒ７が、行ＳＲ７のサンプル２０ａ〜ｆに関して計算される。αｒ、αｇ、αｂにおける小文字のｒ、ｇ、およびｂの表記は、これらのアルファ値が、ピクセル・サブ・コンポーネントを制御するのに最終的に使用される最終のαＲ、αＧ、αＢではなく、単に中間のものであることを示す。一実施形態では、サンプルが、文字の前面の色（例えば、黒）に対応するか、または背景の色（例えば、白）に対応するかに応じて、０または１の値が、各サンプルに割り当てられる。次に、サンプル２０ａ〜ｆのそれぞれに関する０または１のこれらの値を合計して、あるいは平均してアルファ値αｒ７が決定される。
【００２７】
行ＳＲ７に関するアルファ値αｇ７は、サンプル２０ｃ〜ｈを使用して同様のやり方で決定される。行ＳＲ７に関するアルファ値αｂ７は、サンプル２０ｅ〜ｊを使用して決定される。要するに、処理デバイスは、各行に関する水平に隣接するサンプルを、３つのピクセル・サブ・コンポーネントのそれぞれに関して１つのアルファ値が生成される態様で、アルファ値のトリプレットに変換する。ピクセル・サブ・コンポーネントのそれぞれのアルファ値は、行ＳＲ７に関連して説明した方法を利用してその他の行ＳＲ１〜ＳＲ６のそれぞれについて計算されて、図３Ａの中間アルファ値のアレイ２４を生成する。本発明の趣旨および範囲内で、様々な方法およびフィルタを利用して中間アルファ値を決定することが可能である。
【００２８】
ＩＩＩ．垂直アンチ・エイリアシング・フィルタ選択
特定のピクセルに対応するビットマップ１８の領域に関しての中間アルファ値が行ＳＲ１〜ＳＲ７のそれぞれについて計算されると、その文字のフォント・サイズに基づいてアンチ・エイリアシング・フィルタが選択される。そのアンチ・エイリアシング・フィルタは、特定のフォント・サイズで使用するように特徴つけられた複数のアンチ・エイリアシング・フィルタから選択される。そのアンチ・エイリアシング・フィルタは、ビットマップ１８において高い垂直周波数を低減するように適合される。図３Ｂは、図３Ａに関連して前述したとおり生成された中間アルファ値のアレイ２４を示している。図３Ｂの選択されたアンチ・エイリアシング・フィルタ２６は、表示デバイスのストライプに平行な方向で（すなわち、水平フィルタが適用される方向に直交する方向で）適用されて、中間アルファ値２４を、対応するピクセルのレッド、グリーン、およびブルーのピクセル・サブ・コンポーネント２９を制御するのに使用されるアルファ値の最終セット２８（αＲ、αＧ、αＢ）に変換する。
【００２９】
アンチ・エイリアシング・フィルタ２６は、表示されている文字のフォント・サイズに基づいて適切であると判定された度合いのアンチ・エイリアシングを提供するように、複数の利用可能なフィルタから選択される。概ね、比較的大きいフォント・サイズは、フィルタ２６に対して、比較的多量のアンチ・エイリアシングを提供するようにさせ、一方、比較的小さいフォント・サイズは、フィルタ２６に対して、比較的少量のアンチ・エイリアシングを提供するか、または全くアンチ・エイリアシングを提供しないようにさせる。
【００３０】
本発明の一実施形態では、第１の量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタが、所与のフォント・サイズを下回るすべての文字に関して選択される。別の実施形態では、第２のより多くの量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタが、所与のフォント・サイズを上回るすべての文字に関して提供される。さらに別の実施形態では、所与のフォント・サイズを下回るすべてのフォント・サイズに関して低い方のフォント・サイズしきい値が提供される。高い方のフォント・サイズしきい値が、所与のフォント・サイズを上回るすべてのフォント・サイズに関して提供される。下方のフォント・サイズしきい値と上方のフォント・サイズしきい値の中間のフォント・サイズを有する文字には、中間量のアンチ・エイリアシングを提供するように適合された１つまたは複数のアンチ・エイリアシング・フィルタを使用してアンチ・エイリアシングが行われる。
【００３１】
本発明は、様々なフォント・サイズの文字を有するドキュメントに適用することが可能であり、様々なアンチ・エイリアシング・フィルタが、ドキュメントの様々な文字に適用されることになる。例えば、そのようなイメージのレンダリング中、第１のアンチ・エイリアシング・フィルタが、表示されることになる第１の文字の第１のフォント・サイズに基づいて選択される。第１の文字を表示するプロセスの一環として、第１のアンチ・エイリアシング・フィルタが、第１の文字に適用される。異なる第２のアンチ・エイリアシング・フィルタが、第１の文字のフォント・サイズより大きいフォント・サイズを有する第２の文字の第２のフォント・サイズに基づいて選択される。第２の文字を表示するプロセスの一環として、第２のアンチ・エイリアシング・フィルタが、第２の文字に適用される。第２のアンチ・エイリアシング・フィルタによって提供されるアンチ・エイリアシングの量は、第１のアンチ・エイリアシング・フィルタによって提供されるアンチ・エイリアシングの量より大きい。したがって、第２のアンチ・エイリアシング・フィルタを使用した結果として生成される前面の輝度値と背景の輝度値の間のコントラストは、第１のアンチ・エイリアシング・フィルタを使用した結果として生成される前面の輝度値と背景の輝度値の間のコントラストより小さいが、第２のアンチ・エイリアシング・フィルタでフィルタリングされた文字のほぼ水平の部分は、第１のアンチ・エイリアシング・フィルタでフィルタリングされた部分より平滑に見える。
【００３２】
本発明は、様々なアンチ・エイリアシング・フィルタを単独の文字でないグラフィカル・オブジェクトに適用することができる。例えば、一実施形態では、同一フォント・サイズの文字のストリングを、そのフォント・サイズの文字に適切なアンチ・エイリアシング・フィルタを使用してレンダリングすることが可能である。代替の実施形態では、線および／または曲線から成るグラフィックスを、その線および／または曲線の太さに応じたアンチ・エイリアシング・フィルタを使用してレンダリングすることが可能である。細い線および／または曲線は、少量のアンチ・エイリアシングを使用してレンダリングされ、一方、太い線および／または曲線は、多量のアンチ・エイリアシングを使用してレンダリングされる。一実施形態では、特定の線／曲線幅を有するオブジェクトに適用するように選択されるアンチ・エイリアシング・フィルタは、同様のステム幅を有するフォントに関して選択されるのと同じアンチ・エイリアシング・フィルタである。さらに別の実施形態では、かなりの厚さを有するグラフィカル・オブジェクト（例えば、塗りつぶされた円、長方形等）は、最大量のアンチ・エイリアシングを提供するアンチ・エイリアシング・フィルタを使用してレンダリングされる。
【００３３】
アンチ・エイリアシング・フィルタは、ピクセル・サブ・コンポーネントのストライプに平行な方向で適用される。これにより、サブ・ピクセル・レンダリングがさらなる解像度を提供できない方向で、文字に対してアンチ・エイリアシングが提供される。図示した実施形態では、垂直方向が、ピクセル・サブ・コンポーネントのストライプに平行な方向である。ただし、表示デバイスのストライプが水平である場合、選択されたアンチ・エイリアシング・フィルタによって生成されたアンチ・エイリアシングが、水平方向で適用される。
【００３４】
本発明の好ましい実施形態では、フィルタは、重み付けされたフィルタを備える。重み付けされたアンチ・エイリアシング・フィルタは、垂直に隣接する中間アルファ値の重み付けされた合計または平均を計算することによって機能する。本発明の一実施形態では、ゼロでない重み付けを与えられる垂直に隣接する中間アルファ値の数は、アンチ・エイリアシング・フィルタに対応するフォント・サイズが増加するにつれて増加する。言い換えれば、この実施形態におけるより大きいフォント・サイズ用のフィルタは、より多数の垂直に隣接する行に適用される。
【００３５】
フィルタによって提供されるアンチ・エイリアシングの量は、フィルタの重み付け係数に基づく。各フィルタは、各ＲＧＢピクセル・サブ・コンポーネントに関する垂直に隣接するアルファ・トリプレットのそれぞれに関して重み付け係数を提供する。重み付けされたフィルタおよび対応する重み付け係数については、図４に関連してより詳細に述べる。本発明の文脈で利用することが可能なアンチ・エイリアシング・フィルタは、重み付けされたフィルタに限定されず、当分野の技術者に周知である可能性があるものを含め、様々な他のフィルタの任意のものを利用することが可能である。
【００３６】
次に、図４を参照すると、複数の重み付けされたアンチ・エイリアシング・フィルタを有する例としてのデータ構造が示されている。このデータ構造は、一連のフィールドを含む。各フィールドが、ある範囲のフォント・サイズに割り当てられた複数のアンチ・エイリアシング・フィルタの１つに相関する。図３Ｂの垂直に隣接するアルファ値に適用される重み付け係数を定義するパラメータも示されている。図４で使用されるとおり、一番下の隣接サンプル、第０番目のサンプルないし第４番目のサンプル、および一番上の隣接サンプルはそれぞれ、図３Ａおよび３Ｂの行ＳＲ１ないしＳＲ７の中間アルファ・トリプレット値に対応する。例えば、図４のデータ構造の中で定義される「一番下の隣接サンプル」に適用される２という重み付け係数は、２の重み付け係数が、図３Ａおよび３Ｂのアルファ・トリプレット値（αｒ７、αｇ７、αｂ７）に適用されることを意味する。
【００３７】
前述したとおり、アンチ・エイリアシング・フィルタは、表示されることになる文字のフォント・サイズに基づき、複数の異なるアンチ・エイリアシング・フィルタから選択される。図４のデータ構造では、０ないし８の符号が付けられた９つの重み付けされたフィルタが提供されている。本発明の図示した実施形態は、９つの重み付けされたフィルタを含むが、単一のフィルタ以外の、任意の数のフィルタを本発明のコンテクストで使用することが可能である。
【００３８】
フィルタ０は、１６以下のフォント・サイズに対応する。図示した実施形態では、１７のフォント・サイズが、それを下回ると所望の量のアンチ・エイリアシングを提供するためにフィルタ０が選択される低い方のフォント・サイズしきい値である。フィルタ８は、３１以上のフォント・サイズに対応する。図示した実施形態では、３０のフォント・サイズが、それを上回ると所望の量のアンチ・エイリアシングを提供するためにフィルタ８が選択される高い方のフォント・サイズしきい値である。フィルタ１ないし７は、各フィルタが、２つのフォント・サイズを描写する態様で、１６と３１の中間のフォント・サイズに対応する。アンチ・エイリアシング・フィルタの選択についてフォント・サイズのコンテクストで述べているが、レンダリングされる文字のサイズを判別する方法は、フォント・サイズの厳密な解釈に基づく必要はないことが認められよう。例えば、一実施形態では、１ｅｍ当たりのピクセル（ｐｐｅｍ）を使用してレンダリングされるイメージのサイズを計算することが可能である。さらに、グラフィック・オブジェクトのステム幅に関して、そのオブジェクトの線の太さ、またはその他の属性を使用して適切なアンチ・エイリアシング・フィルタを選択することが可能である。レンダリングされる文字のサイズを本発明の趣旨および範囲の中で判別することが可能な様々な方法および構成が存在する。
【００３９】
前述したとおり、大きいフォント・サイズを有する文字では、一般に、多量のアンチ・エイリアシングが有益である。したがって、フィルタ８によって提供される多量のアンチ・エイリアシングのため、フィルタ８が、フォント・サイズ３１以上を有する文字に関して選択される。フィルタ８によって提供されるアンチ・エイリアシングの量は、フィルタ８の垂直に隣接するサンプルのそれぞれに対する重み付け係数に基づいて決まる。フィルタ８は、一番下の隣接サンプルおよび一番上の隣接サンプルに関してより小さい重み付け係数を提供し、アルファ値またはサンプルに適用される重み付け係数は、ピクセルの中心に近づくにつれて次第に増大する（図３Ａおよび３Ｂ）。したがって、多量のアンチ・エイリアシングが、フィルタ８によって文字の縁に提供される。
【００４０】
フィルタ０は、垂直方向で少量のアンチ・エイリアシングを提供する。フィルタ０によって提供される重み付け係数は、ピクセルの中心に位置する３つの垂直に隣接するアルファ値を除くすべてに関して０である。中央サンプル（第２番のサンプル）に最大の重み付けが適用される。言い換えれば、アンチ・エイリアシング・フィルタは、最も重要な中央サンプルを含めた、ピクセル内で垂直方向にあるサンプル群だけを使用する。したがって、小さいフォント・サイズに関してピクセル・サブ・コンポーネントに割り当てられる輝度値は、ピクセルに対応するビットマップの領域の中心に近いサンプルによってほぼ完全に決まる。アンチ・エイリアシング・フィルタ０を利用してレンダリングされたイメージは、フィルタ０によって提供されるアンチ・エイリアシングの量が少ないことから、全くアンチ・エイリアシングを利用しないでレンダリングされたイメージと似ている。ここで、フィルタ８および０が、フォント・サイズが相当に異なっている文字に関して使用されるフィルタの例として与えられたが、比較的大きい文字サイズで使用されるフィルタによって提供されるアンチ・エイリアシングの量は、比較的小さい文字サイズで使用されるフィルタによって提供されるアンチ・エイリアシングの量より多いことを見て取ることができる。
【００４１】
図５Ａ及び図５Ｂは、アンチ・エイリアシング・フィルタの重み付け係数が、ＲＧＢピクセル・サブ・コンポーネントの垂直サンプルに関して計算されるアルファ値にどのように適用されるかを示している。ローブ（Ｌｏｂｅ）３０が、図４のフィルタ７によって提供される重み付け係数を表す。図示した実施形態では、フィルタ７は、２９および３０のフォント・サイズを有する文字に割り当てられ、大きいフォント・サイズに関して必要とされる多量のアンチ・エイリアシングを提供するように適合されている。ローブ４０が、図４のフィルタ０によって提供される重み付け係数を表す。図示した実施形態では、フィルタ０は、フィルタ０によって提供されるアンチ・エイリアシングの量が少ないことから、１６以下のフォント・サイズを有する文字に割り当てられる。
【００４２】
ローブ３０に対応するＹ軸上の複数の位置３１〜３７が、重み付け係数が適用される各ＲＧＢピクセル・サブ・コンポーネントに関する垂直に隣接するサンプルのアルファ値、または中間アルファ値を表している。フィルタ７の場合、位置３１が、一番上の隣接サンプルのアルファ値に対応し、ローブ３０上で１の重み付け係数が割り当てられる。位置３２が、第０番目の垂直に隣接するサンプルのアルファ値に対応し、５の重み付け係数が割り当てられる。位置３３が、第１番目の垂直に隣接するサンプルのアルファ値に対応し、７の重み付け係数が割り当てられる。位置３４が、第２番目の垂直に隣接するサンプル（ピクセルの中央から取られたサンプル）のアルファ値に対応し、１０の重み付け係数が割り当てられる。位置３５〜３７が、第３番目、第４番目、および一番下のサンプルのアルファ値に対応し、それぞれ、７、５、および１の重み付け係数が割り当てられる。
【００４３】
ローブ３０の幅広く浅い構成、およびローブ３０に対応する重み付け係数に起因して、多量のアンチ・エイリアシングが、フィルタ７によって提供される。多量のアンチ・エイリアシングが適用される文字の縁は、少量のアンチ・エイリアシングが適用される文字よりも多い量の中間シェーディング（ｓｈａｄｉｎｇ）を有する。中間シェーディングは、ピクセルの縁において、前面のピクセル・サブ・コンポーネントと背景のピクセル・サブ・コンポーネントの中間の輝度値を割り当てることによって達せられる。
【００４４】
これに対して、ローブ４０の狭く鋭い構成、ローブ４０に対応する重み付け係数により、少量のアンチ・エイリアシングが、フィルタ０によって提供されることになる。ゼロの重み付け係数が、位置４１、４２、４６、および４７に対応する。位置４１、４２、４６、および４７は、一番上の隣接サンプル、第０番目のサンプル、第４番目のサンプル、および一番下の隣接サンプルを表す。ピクセルの中央近くから取られた第１のサンプル、第２のサンプル、および第３のサンプルに対応する位置４３、４４、および４５だけに、ゼロではない重み付け係数が提供される。
【００４５】
図６は、タイプ・サイズ依存のアンチ・エイリアシングが本発明のコンテクストで利用される方法を示すブロック図である。この方法では、ステップ５２で、置き換えたサンプリング（ｄｉｓｐｌａｃｅｄ　ｓａｍｐｌｉｎｇ）を利用して垂直に隣接する行１〜ｎのアルファ値を決定する。垂直サンプルに関するアルファ値を決定する、置き換えたサンプリングの方法については、図３Ａおよび３Ｂに関連してより詳細に説明している。サンプルの垂直に隣接する行に関するアルファ値が決定された後、ステップ５４で、レンダリングされている文字のフォント・サイズが決定される。レンダリングされている文字のフォント・サイズに基づき、ステップ５６で、１つのアンチ・エイリアシング・フィルタが、複数のアンチ・エイリアシング・フィルタから選択される。選択されたアンチ・エイリアシング・フィルタは、ステップ５８で、サンプルの垂直に隣接する行に関するアルファ値に、アンチ・エイリアシング・フィルタによって提供される重み付け係数を掛けることにより、垂直方向でその文字に適用される。ピクセル・サブ・コンポーネントの輝度値を決定するため、ステップ６０で、結果として得られた、重み付け係数とアルファ値の、積が各ＲＧＢピクセル・サブ・コンポーネントに関して加算される。結果として得られた積が合計された後、ステップ６２で、結果として得られた輝度値がＲＧＢピクセル・サブ・コンポーネントに適用されて文字のアンチ・エイリアシングが行われたバージョン（形状）が表示される。
【００４６】
ＩＶ．例としての計算環境
本発明の実施形態は、以下により詳細に述べるとおり、様々なコンピュータ・ハードウェアを含む専用コンピュータまたは汎用コンピュータを含むことが可能である。また、本発明の範囲内の実施形態が、コンピュータ実行可能命令またはデータ構造を担持する、または記憶しているコンピュータ可読媒体も含む。そのようなコンピュータ可読媒体は、汎用コンピュータまたは専用コンピュータがアクセスすることができるあらゆる利用可能な媒体であることが可能である。例として、限定としてではなく、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光ディスク・ストレージ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラム・コード手段を担持する、または記憶するのに使用することが可能であり、また汎用コンピュータまたは専用コンピュータがアクセスすることができる任意の他の媒体を含むことが可能である。情報が、ネットワーク、または別の通信接続（有線または無線、あるいは有線と無線の組み合わせ）を介してコンピュータに転送されるとき、または提供されるとき、コンピュータは、その接続をコンピュータ可読媒体と正しく見なす。したがって、あらゆるそのような接続が、正しくコンピュータ可読媒体と呼ばれる。また、前述したものの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきものである。コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスが、ある機能、またはある一群の機能を行うようにさせる命令およびデータを含む。
【００４７】
図７および以下の考察は、本発明を実装することが可能な適切な計算環境の簡単な一般的説明を提供することを目的とする。必須ではないが、本発明は、ネットワーク環境においてコンピュータによって実行されているプログラム・モジュールなどのコンピュータ実行可能命令の一般的文脈で説明してきた。一般に、プログラム・モジュールには、特定のタスクを行う、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。コンピュータ実行可能命令、関連するデータ構造、およびプログラム・モジュールが、本明細書で開示する方法のステップを実行するためのプログラム・コード手段の例を代表する。そのような実行可能命令または関連するデータ構造の特定のシーケンスは、そのようなステップで記述される機能を実装する対応する動作の例を表す。
【００４８】
本発明は、パーソナル・コンピュータ、ハンドヘルド・デバイス、マルチ・プロセッサ・システム、マイクロプロセッサ・ベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ等を含め、多数のタイプのコンピュータ・システム構成を使用してネットワーク計算環境において実施できることが、当分野の技術者には理解されよう。また、本発明は、タスクが、通信網を介してリンクされた（有線リンクまたは無線リンクで、または有線リンクと無線リンクの組み合わせで）ローカルの処理デバイスと遠隔の処理デバイスによって行われる分散された計算環境においても実施することが可能である。分散された計算環境では、プログラム・モジュールは、ローカルのメモリ記憶デバイスと遠隔のメモリ記憶デバイスの両方の中に配置されることが可能である。
【００４９】
図７を参照すると、本発明を実装するための例としてのシステムは、処理ユニット１２１、システム・メモリ１２２、ならびにシステム・メモリ１２２から処理ユニット１２１までを含め、様々なシステム構成要素を結合するシステム・バス１２３を含む従来のコンピュータ１２０の形態の汎用計算デバイスを含む。システム・バス１２３は、様々なバス構造の任意のものを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含め、いくつかのタイプのバス構造の任意のものであることが可能である。システム・メモリは、読取り専用メモリ（ＲＯＭ）１２４およびランダム・アクセス・メモリ（ＲＡＭ）１２５を含む。始動中などに、コンピュータ２０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）１２６が、ＲＯＭ１２４の中に記憶されることが可能である。
【００５０】
また、コンピュータ１２０は、磁気ハードディスク１３９に対して読取りおよび書込みを行うための磁気ハードディスク・ドライブ１２７、取外し可能な磁気ディスク１２９に対して読取りおよび書込みを行うための磁気ディスク・ドライブ１２８、およびＣＤ−ＲＯＭまたはその他の光媒体などの取外し可能な光ディスク１３１に対して読取りおよび書込みを行うための光ディスク・ドライブ１３０も含むことが可能である。磁気ハードディスク・ドライブ１２７、磁気ディスク・ドライブ１２８、および光ディスク・ドライブ１３０はそれぞれ、ハードディスク・ドライブ・インターフェース１３２、磁気ディスク・ドライブ・インターフェース１３３、および光ディスク・ドライブ・インターフェース１３４でシステム・バス１２３に接続される。以上のドライブ、および関連するコンピュータ可読媒体により、コンピュータ実行可能命令、データ構造、プログラム・モジュール、およびその他のデータの不揮発性のストレージがコンピュータ１２０に提供される。本明細書で説明する例としての環境は、磁気ハードディスク１３９、取外し可能な磁気ディスク１２９、および取外し可能な光ディスク１３１を使用するが、磁気カセット、フラッシュ・メモリ・カード、デジタル・バーサタイル（ｖｅｒｓａｔｉｌｅ）ディスク、ベルヌーイ・カートリッジ、ＲＡＭ、ＲＯＭ等を含め、データを記憶するための他のタイプのコンピュータ可読媒体を使用することも可能である。
【００５１】
オペレーティング・システム１３５、１つまたは複数のアプリケーション・プログラム１３６、その他のプログラム・モジュール１３７、およびプログラム・データ１３８を含め、１つまたは複数のプログラム・モジュールを含むプログラム・コード手段をハードディスク１３９、磁気ディスク１２９、光ディスク１３１、ＲＯＭ２４、またはＲＡＭ２５の上に記憶することが可能である。ユーザは、キーボード１４０、ポインティング・デバイス１４２、またはマイクロホン、ジョイスティック、ゲームパッド、サテライト・ディッシュ、スキャナなどのその他の入力デバイス（図示せず）を介してコマンドおよび情報をコンピュータ１２０に入力することができる。以上の入力デバイスおよびその他の入力デバイスは、しばしば、システム・バス１２３に結合されたシリアル・ポート・インターフェース１４６を介して処理ユニット１２１に接続される。あるいは、入力デバイスは、パラレル・ポート、ゲームポート、またはユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）（ＵＳＢ）などの他のインターフェースで接続してもよい。また、モニタ１４７または別の表示デバイスも、ビデオ・アダプタ１４８などのインターフェースを介してシステム・バス１２３に接続される。モニタに加え、パーソナル・コンピュータは、通常、スピーカやプリンタなどの他の周辺出力デバイス（図示せず）も含む。
【００５２】
コンピュータ１２０は、遠隔コンピュータ１４９ａおよび１４９ｂのような１つまたは複数の遠隔コンピュータへの論理接続を使用するネットワーク化された環境において動作することが可能である。遠隔コンピュータ１４９ａおよび１４９ｂはそれぞれ、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の一般的なネットワーク・ノードであることが可能であり、また、通常、コンピュータ１２０に関連して前述した要素の多く、またはすべてを含む。ただし、メモリ記憶デバイス１５０ａおよび１５０ｂ、ならびに関連付けられたアプリケーション・プログラム１３６ａおよび１３６ｂだけを図７に示している。図７に描いた論理接続は、本明細書で例として、限定としてではなく、提示しているローカル・エリア・ネットワーク（ＬＡＮ）１５１および広域ネットワーク（ＷＡＮ）１５２を含む。そのようなネットワーキング環境は、オフィス全体または企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００５３】
ＬＡＮネットワーキング環境で使用されるとき、コンピュータ１２０は、ネットワーク・インターフェースまたはネットワーク・アダプタ１５３を介してローカル・ネットワーク１５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、コンピュータ１２０は、インターネットなどの広域ネットワーク１５２を介して通信を確立するためのモデム１５４、無線リンク、または他の手段を含むことが可能である。内部にあることも、外部にあることも可能なモデム１５４は、シリアル・ポート・インターフェース１４６を介してシステム・バス１２３に接続される。ネットワーク化された環境では、コンピュータ１２０に関連して描いたプログラム・モジュール、またはプログラム・モジュールの部分を遠隔メモリ記憶デバイスの中に記憶することが可能である。図示したネットワーク接続は、例としてのものであり、広域ネットワーク１５２を介して通信を確立する他の手段を使用してもよいことが認められよう。
【００５４】
本発明は、本発明の趣旨または本質的な特徴を逸脱することなく、他の特定の形態で実施することが可能である。説明した実施形態は、すべての点で、単に例示するものであり、限定するものではないと見なされるべきものである。したがって、本発明の範囲は、以上の説明によってではなく、頭記の特許請求の範囲によって示される。特許請求の範囲の意味および等価性の範囲に入るすべての変更が、特許請求の範囲に包含されるものとする。
【図面の簡単な説明】
【図１Ａ】ピクセル・サブ・コンポーネント・レンダリングが、デコボコの縁またはぎざぎざの縁を有する大きいフォント・サイズの文字において、結果として起こっている態様を示す図である。
【図１Ｂ】サブ・ピクセル精度でレンダリングされた小さいフォント・サイズの文字のデコボコの縁およびぎざぎざの縁が、より大きいフォント・サイズの縁と比べてそれほど顕著でない様子を示す図である。
【図２】ＬＣＤ表示デバイスの部分で、その上にイメージ・データが重ねられたＬＣＤ表示デバイスの部分を示す図である。
【図３Ａ】置き換えたサンプリングを使用して、垂直アンチ・エイリアシングのために使用されることになる中間アルファ値のアレイを生成する態様を示す図である。
【図３Ｂ】図３Ａの中間アルファ値への、選択された垂直アンチ・エイリアシング・フィルタの適用を示す図である。
【図４】複数の重み付けされたアンチ・エイリアシング・フィルタを有する例としてのデータ構造を描いた図である。
【図５Ａ】アンチ・エイリアシング・フィルタの重み付けを、ＲＧＢピクセル・サブ・コンポーネントに関連付けられたアルファ・トリプレットの垂直サンプルに関して計算されたアルファ値に適用する態様を示す図である。
【図５Ｂ】アンチ・エイリアシング・フィルタの重み付けを、ＲＧＢピクセル・サブ・コンポーネントに関連付けられたアルファ・トリプレットの垂直サンプルに関して計算されたアルファ値に適用する態様を示す図である。
【図６】本発明のコンテクストでタイプ・サイズ依存のアンチ・エイリアシングが利用される方法を示すブロック図である。
【図７】本発明を利用することが可能な例としての動作環境を描いた概略図である。
【符号の説明】
１　　表示デバイスの一部分
２、１２　　ピクセル
４、１４　　文字（文字イメージ）
４ａ、６ａ　　文字を表示するために処理される基本的なイメージ・データ
４ｂ、６ｂ　　表示デバイス上に表示されるイメージの境界
６　　第２の文字
１０　　ピクセル・グリッド
１６　　文字の輪郭
１８　　ビットマップ
２０ａ〜ｆ　　サンプル
２４　　中間アルファ値のアレイ
２６　　アンチ・エイリアシング・フィルタ
２８　　最終セットのアルファ値
２９　　ピクセル・サブ・コンポーネント
３０、４０　　ローブ（ｌｏｂｅ：丸みを帯びた突出部）
３１〜３７、４１〜４７　　位置
【図１Ａ】
2004004830.tif 000003
【図１Ｂ】
2004004830.tif 000004
【図２】
2004004830.tif 000005
【図３Ａ】
2004004830.tif 000006
【図３Ｂ】
2004004830.tif 000007
【図４】
2004004830.tif 000008
【図５Ａ】
2004004830.tif 000009
【図５Ｂ】
2004004830.tif 000010
【図６】
2004004830.tif 000011
【図７】
2004004830.tif 000012