(57)【特許請求の範囲】
【請求項１】
画像データを、第１の画素を有する第１の表現から第２の画素を有する第２の表現に変換する方法であって、前記第１の表現の前記第１の画素は、全て一対一方式で前記第２の表現の前記第２の画素にマッピングするとは限らず、前記方法は、
前記第２の表現の各画素位置に対して、前記第１の表現内の少なくとも２つの対応する画素の組を決定するステップと、
前記第１の表現内の前記少なくとも２つの画素のカラー値間の色距離が閾値色類似性を示すかどうかを決定するステップであって、前記閾値色類似性は、近くの画素の組のカラー値間の色距離が閾値より小さいかどうかを考慮することにより決定される、決定するステップと、
前記少なくとも２つの画素間の色距離が閾値色類似性を示す場合、前記第２の表現の前記画素位置のカラー値を前記第１の表現内の前記少なくとも２つの画素のうちの１つのカラー値に設定するステップと、
前記色距離が閾値色類似性を示さない場合、前記第２の表現の前記画素位置のカラー値を設定するために、少なくとも１つの代替処理を行うステップと
を含むことを特徴とする方法。
【請求項２】
前記設定するステップは、前記第２の表現の前記画素位置のカラー値を最近傍補間に従って設定するステップを含み、前記最近傍補間は、前記第１の表現内の最も近接する画素が前記第２の表現の画素位置のカラー値を決定することを考慮することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
色距離に閾値色類似性があるかどうかを決定する前記ステップは、前記少なくとも２つの画素間の最大の色距離が閾値色距離内であるかどうかを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
色距離に閾値色類似性があるかどうかを決定する前記ステップは、前記少なくとも２つの画素間の最大の色距離が、関連する色モデルにより表される最大の色距離の予め定義された割合以内であるかどうかを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
少なくとも１つの代替処理を行う前記ステップは、補間されたカラー値を、前記第２の表現の前記画素位置に対応する第１の表現内の複数の画素のカラー値から補間するステップと、前記第２の表現の前記画素位置のカラー値を前記補間されたカラー値に設定するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
少なくとも１つの代替処理を行う前記ステップは、双線形補間を行って前記第２の表現の前記画素位置のカラー値を設定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
少なくとも１つの代替処理を行う前記ステップは、双三次補間を行って前記第２の表現の前記画素位置のカラー値を設定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記方法により処理された少なくとも１つの過去の画像データから得られた少なくとも１つの特性に基づき、閾値色類似性を動的に調整するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
請求項１に記載の方法を実行するコンピュータ実行可能命令を備えることを特徴とする有形に具現化されたコンピュータ可読記憶媒体。
【請求項１０】
請求項１に記載の方法を行う手段を備えることを特徴とするコンピュータハードウェア装置。
【請求項１１】
ソース画素データを、ソース画像から、前記ソース画像とは異なる少なくとも１つの次元を有するターゲット画像のターゲット画素データにリサイズする方法であって、
前記ターゲット画像の各画素位置に対して、前記ターゲット画像内の前記画素位置に最も近接する前記ソース画像内の対応する４つの画素の組を識別するステップと、
前記ソース画像内の前記４つの最も近接する画素の組は類似する色であるかどうかを決定するステップと、
前記ソース画像内の前記４つの最も近接する画素の組が類似する色である場合、前記ターゲット画像の前記画素位置のカラー値を、前記ソース画像内の前記４つの最も近接する画素のうちの１つのカラー値に設定するステップと、
前記ソース画像内の前記４つの最も近接する画素の組が類似する色ではない場合、少なくとも前記ソース画像内の前記４つの最も近接する画素のカラー値を含むカラー値の補間を行うステップと
を含むことを特徴とする方法。
【請求項１２】
前記決定するステップは、前記ソース画像内の前記４つの最も近接する画素の組のカラー値間の色距離が閾値色距離より小さいかどうかを決定するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記ソース画像内の前記４つの最も近接する画素の組が類似する色である場合、前記設定するステップは、前記ターゲット画像の前記画素位置のカラー値を前記４つの最も近接する画素のうち最も近接する画素のカラー値に設定する最近傍補間を行うステップを含み、前記最近傍補間は、前記ソース画像内の前記４つの最も近接する画素が前記ターゲット画像の前記画素位置のカラー値を決定することを考慮することを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記ソース画像内の前記４つの最も近接する画素の組が類似する色ではない場合、前記ソース画像内の前記４つの最も近接する画素のカラー値の双線形補間を行うことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記ソース画像内の前記４つの最も近接する画素の組が類似する色ではない場合、前記ソース画像内の画素の別の組のカラー値の双三次補間を行って、前記ターゲット画像の前記画素位置のカラー値を決定することを特徴とする請求項１１に記載の方法。
【請求項１６】
請求項１１に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする有形に具現化されたコンピュータ可読記憶媒体。
【請求項１７】
ソース画像からターゲット画像のターゲットデータに、前記ソース画像の視点の変換に従って、ソースデータの異方性フィルタリングを行う方法であって、
前記ターゲット画像の各画素位置に対して、前記ターゲット画像内の前記画素位置のカラー値を生成するために混合すべき、前記ソース画像内のセグメントに沿った画素の対応する組を識別するステップと、
前記ソース画像内の前記セグメントに沿った前記画素の組が類似する色であるかどうかを決定するステップと、
前記ソース画像内の前記セグメントに沿った前記画素の組が類似する色である場合、前記ターゲット画像の前記画素位置のカラー値を、前記ソース画像内の前記セグメントに沿った前記画素のうち、前記ターゲット画像の前記画素位置に最も近接してマッピングする画素のカラー値に設定するステップと、
前記ソース画像の前記セグメントに沿った前記画素の組が類似する色ではない場合、少なくとも前記ソース画像内の前記セグメントに沿った前記画素のカラー値の補間を含むカラー値の補間を行うステップと
を含むことを特徴とする方法。
【請求項１８】
前記ソース画像の前記セグメントに沿った前記画素の組が類似する色であるかどうかを決定する前記ステップは、前記画素の組間の最大の色距離が閾値色距離内であるかどうかを決定するステップを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記ソース画像の前記セグメントに沿った前記画素の組が類似する色ではない場合、前記補間を行うステップは、前記セグメントに沿った前記画素のカラー値に混合操作を行うステップを含むことを特徴とする請求項１７に記載の方法。
【請求項２０】
請求項１７に記載の方法を行う手段を備えることを特徴とする少なくとも１つのハードウェアデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本主題開示は、画像データの知的リサンプリング、リサイズまたは異方性フィルタリングなどの、しかしこれに限らない、画像データの変換のための知的システムまたは適応システム、および知的処理または適応処理に関する。
【背景技術】
【０００２】
従来のシステムに関する背景技術により、ソース画像データをターゲット画像データに変換する際、ソース画像データの画素数およびターゲット画像データの画素数が異なる場合、リサイズまたはリサンプリング操作が行われるが、これはソース画素がターゲット画素に厳密に一対一ではマッピングしないためである。例えば、映像データをコンピュータ上でソース映像データからソフトウェアメディアプレーヤにレンダリングする際、コンピュータの画面上に見えるようなターゲット画素空間は、一般的にはソース画素空間とは異なり、従って、ソース映像データ内で表される画像をリサンプリングして、適切に見えるようにターゲット画素空間に適合させる。いくつかの場合、ユーザは、画面上の画素空間をオンザフライで変更することが可能であり、その場合、表示用の画像データを素早く動的にリサイズする能力が望ましい。
【０００３】
今日、このリサイズまたはリサンプリング操作は、ソース画像内に定義される、目標画素の位置に対応する画素のある領域に対して補間することにより、ターゲット内の各所定の画素の位置に対して目標画素値を決定することにより行われる。設計者には、そのような補間を行うための、様々な異なる固定のフィルタリングアルゴリズムであって、それぞれが変動的に複雑で、コストおよび性能がトレードオフであるアルゴリズムが提示される。この点において、今日、レンダリングシステムの設計者は、このリサイズまたはリサンプリング操作を行うか、一般的には最悪の場合に備えて設計するか、または所定の用途について複雑さに対してスピードを最適化するために、異なる性能トレードオフ特性に従って固定のアルゴリズムの１つを選択する。しかし、そのような選択は、多数の不必要な作業を行う、簡素な画像データに対する過度に複雑な実装という結果をもたらし得、また反対に、そのような選択は、複雑な画像データを変換する際に非常に多くの許容できないアーチファクトをもたらす、過度に簡素な実装という結果をもたらし得る。
【０００４】
従って、予め選択された変換アルゴリズムを全ての画像データに盲目的には適用せず、それによって性能を予め選択されたアルゴリズムの性能に制限する、映像データまたは画像データを変換するための改良されたアルゴリズムを提供することが望ましい。従来の映像変換アルゴリズムまたは画像変換アルゴリズムの使用における上述の欠陥は、単に、従来のシステムのいくつかの問題点の概観を提供することを意図したものであり、網羅することを意図していない。グラフィックスアートの状態に伴う他の問題点、および種々の非限定の実施形態の対応する利点は、以下の説明を検討することによりさらに明らかとなるであろう。
【発明の概要】
【０００５】
簡略化した概要をここに提供し、さらに詳細な説明および添付の図面に従う例示的、非制限的実施形態の種々の態様の、基本的または一般的理解を可能にする助けとする。しかし、本概要は、広範囲であることまたは網羅的であることを意図しない。むしろ、本概要の唯一の目的は、いくつかの例示的、非制限的実施形態に関するいくつかの概念を、簡略化した形式で、以下に続く種々の実施形態のさらに詳細な説明に対する序章として提示することである。
【０００６】
種々の実施形態において、映像再生性能を向上させる適応フィルタリング技術を説明する。色類似性メトリック（color similarity metric）を、画像変換操作を受けるソース画素に対して計算し、ターゲット画素位置のカラー値を決定する。色類似性メトリックの値は、どのアルゴリズムを選択してソース画素からターゲット画素位置のカラー値を決定するかを定義する。色類似性メトリックの計算により各画素に対する追加の指示が導入される一方、従来の常識とは対照的に、より簡素な指示の組で十分である場合に、不必要に複雑な補間指示の組を回避することによる膨大な性能の節約は、追加の指示によるいかなるそのようなコストにも勝る。画像データの適応フィルタリングの種々の実施形態に説明するように、映像再生に加えて、色類似性メトリックの概念を、多種多様なグラフィックコンテキストに効果的に適用し得る。
【図面の簡単な説明】
【０００７】
画像変換処理のための適応フィルタリングの種々の実施形態を、添付の図面を参照してさらに説明する。
【０００８】
【図１】ターゲット画像における画素値を決定するための画像変換処理のブロック図である。
【図２】ソース画像内の画素のカラー値差に基づき画素変換アルゴリズムを選択するための一般的な処理を例示するブロック図である。
【図３】ソース画像内の画素のカラー値が実質的に類似するどうかに基づき画素変換アルゴリズムを選択するための処理を例示するブロック図である。
【図４】ソース画像内の画素のカラー値差に基づき画素変換アルゴリズムを選択するための、コンピューティングシステムにおける一般的な１組の動作を例示するフロー図である。
【図５】ソース画像内の画素のカラー値が実質的に類似するかどうかに基づき画素変換アルゴリズムを選択するための、コンピューティングシステムにおける１組の動作を例示するフロー図である。
【図６】ターゲット画像変換における画素値を決定するための異方性フィルタリング処理のブロック図である。
【図７】ソース画像内のセグメントにおける画素のカラー値が実質的に類似するかどうかに基づき異方性フィルタリング処理の混合アルゴリズムを選択するための処理を例示するブロック図である。
【図８】ソース画像内のセグメントにおける画素のカラー値が実質的に類似するかどうかに基づき異方性フィルタリング処理の混合アルゴリズムを選択するための１組の動作を例示するフロー図である。
【図９】本明細書に説明する種々の実施形態に従う、画像を変換するための種々の技術間の性能トレードオフの最適化についての態様を例示するブロック図である。
【図１０】２画素間の色の距離を決定する非限定の方法を例示するブロック図である。
【図１１】画素の群間の色の距離に基づき、色類似性メトリックを計算する種々の非限定の方法を例示するブロック図である。
【図１２】どのターゲット画素値計算アルゴリズムを選択するかを決定するために使用される１つまたは複数の閾値色類似性が、動的画像特性（単数または複数）に基づきリアルタイムに変化する、一実施形態を例示するブロック図である。
【図１３】１つまたは複数の実施形態を実装し得る、例示的な非限定のネットワーク環境を表すブロック図である。
【図１４】本主題開示の態様を実装し得る例示的な非限定のコンピューティングシステムまたはオペレーティング環境を表すブロック図である。
【発明を実施するための形態】
【０００９】
（概要）
背景技術において検討したように、画像は、レンダリングされる際、ソース画像の解像度から表示解像度への変更等により、ソース画像において表される画素からターゲット画像において表される画素への次元および／または視点の変更を受けることが多い。そのような場合、ターゲット画像内の画素の位置がソース画像内の画素の位置に厳密に一対一では対応しない時はいつも、一般的にはリサンプリング操作が行われるが、これは、ターゲット画像の各画素に対する結果のカラー値を決定する任意のアルゴリズムであることが可能で、例えば、近傍の画素、ソース画像内の近傍の画素の混合、ソース画像のいくつかのまたは全ての画素に渡って適用されるウィンドウフィルタ等である。
【００１０】
同様に、大抵の場合、テクスチャの形を画面上に描く際、テクスチャはテクセルをリサンプリングせずに記憶されるので、厳密に表示はされない。その結果、ほとんどの画素が、テクセル「間」にあるテクスチャ上の点を使用することになる。ソース画像をターゲット画像にリサイズまたはリサンプリングする例示的な非限定画像変換操作が、図１に概略的に例示される。
【００１１】
図１において、ソース画像１０は、より多数の画素を有するターゲット画像２０へリサイズされている。誤解を避けるためであるが、リサイズはより少数の画素を有するターゲット画像にも適用され、かつ、リサイズは縦軸または横軸に単独で適用することができる。そのようなリサイズ操作を用いて、ターゲット画像２０におけるターゲット画素位置２２は、ソース画像１０における画素位置１２に対応する。なお、画素位置１２は、２つまたはそれ以上の画素間にある。これに関して、画素位置１２は、ソース画像内の最も近い画素１４の真ん中にあり、例えば、ターゲット画素位置がマッピングするソース画像内の４つの最も近接する画素である。
【００１２】
上述のように、様々な従来のアルゴリズムがありそれを使用して、目標画素位置または目標テクセル位置が、ソース画像内の画素またはテクセル間のある場所に戻してマッピングする、目標画素値または目標テクセル値を計算することができる。各従来のアルゴリズムは性能トレードオフを有し、性能トレードオフが、アルゴリズムを異なる環境において望ましくさせる。最初に単純化しすぎると、あるアルゴリズムは、比較的簡素で速いが、特定の環境下でしかうまく動作せず、さもなければ、得られる画像にブロックノイズなどのアーチファクトを生じさせ得る。他のアルゴリズムは、その結果、より複雑で遅いが、カラー値が急におよび／または予想外にソース画像全体で変更される場合でも、より一般的な環境下でうまく動作する。また他のアルゴリズムは、極端なものの間の種々の性能トレードオフを表す。
【００１３】
従って、以下に説明する種々の実施形態において、変換されようとする画素に関連する動的な条件に基づき画像を変換する際に、達成される性能トレードオフの合成を可能にする、適応フィルタリング技術を提供する。一実施形態において、色類似性値と称される発見的問題解決法を導入して、どのアルゴリズムを適用してターゲット画像に対するターゲット画素値を決定するかについて後押しする。ターゲット画像内のターゲット画素に対応するソース画像からの画素（単数または複数）から決定される色類似性値（単数または複数）に基づき、適切な補間技術を適用する。例えば、非限定の一実施形態において、色類似性値（単数または複数）が、ソース画像内の画素間の高色類似性を示す場合、最近傍補間が行われ、色類似性値（単数または複数）がソース画素（単数または複数）の非色類似性を高く表す場合、双線形補間または双三次補間が行われる。
【００１４】
（画像変換処理のための適応フィルタリング）
一般に、映像で良質を維持するためには、結果物はスケールされて所望の目標物に合うようにフィルタリングされる。残念ながら、最高性能特性を有するアルゴリズムは、画像データの変換、例えば、双線形補間、双三次補間等の際、ソース画像内の画像データを素早く変換することに対処することが可能であるが、ＣＰＵにかなり負担をかける。従って、そのようなアルゴリズムをむやみに適用することにより、より簡素で速いアルゴリズムが、同じ、より良いまたはほとんど同様の処理を行うような場合には、多数の画素の変換を「やり過ぎ」になることが多い。時間またはコスト（いかなる増加するハードウェア要件をも考慮して）に制限が無い時は「より最適な結果を達成するために複雑な処理を過度に行う」ことが許容できるが、一方で、リサイズされた映像のリアルタイムのレンダリングには、全体の映像シーケンスの全てのソース画像が受ける全ての画素変換処理に対してコストがかかる補間アルゴリズムを採用する贅沢をする余裕はない。
【００１５】
これに関して、ほとんどの映像シーケンスにおける現実は、映像シーケンスの任意のソース画像内の画素の、任意の所定の小さな軌跡に渡ってカラー値の変動が高い可能性は低いということである。これは、別の言い方をすれば、映像画像内のほとんどの領域を、例えば、同じまたは類似する色が表面全体に渡って期待される、壁、机、窓、顔、シャツ等の表面上に見られるような、滑らかな色の遷移または退色により特徴づけ得るということである。その一方、画像の全体の割合としては、人間の目に対して何らかのかなりの度合いの色変動を引き起こす画像は一般的に極めて少なく、例えば、通常は、ソース画像をターゲット画像に変換する際に関わる画像変換処理の約５から２０％未満が、計算的に集約した補間から利益を得ることができる。５から２０％という範囲は固定の範囲ではなく、また、計算的に集約した補間から利益を得られる画像の実際の割合は、画像データ自体に依存するが、ここではサンプルの範囲を使用して、高品質の補間アルゴリズムから利益を得る少数の画像変換処理を例示する。重ねて、これは、ほとんどの画像が滑らかであるという見解によるものである。
【００１６】
これにより、本明細書に説明する種々の実施形態において示される見解が導かれ、元の表面の色の近傍における悪い推測でも、非常に速く行われる場合、約８０から９５％の画像変換処理に対してうまく機能することができ、一方、１つまたは複数の高品質のアルゴリズムが、利益を得るであろう操作の５から２０％に対して予約され得るということである。従って、一実施形態において、類似性メトリックは、画像変換処理のターゲット画像内のターゲット画素位置に関連するソース画像内の画素の組に基づき、決定される。
【００１７】
従って、種々の非限定の実施形態において、適応画像変換技術を、画素データまたはテクセルデータをソース画像からターゲット画像内の対応する位置へリサンプリングするために提供する。
【００１８】
一実施形態において、あるアルゴリズムを提供するが、これは、画素ごとに、何らかの利益が１つまたは複数の高度なアルゴリズムから生じるかどうかを決定し、生じない場合、良いまたは少なくとも類似の結果をもたらす、より安価で、より複雑でなく、および／またはより速いアルゴリズムを選ぶ。図２は、この一般的な実施形態を例示する。実施形態において、ソース画像を何らかの様式で変換することから生じるターゲット画像の各画素２３０に対して、画素２３０にマッピングするソース画像のソース画素（単数または複数）２００の評価が最初に発生する。この評価は、画素近傍２００の画素が「色に関してどの程度近接しているか」を決定する。従って、図示するように、画素位置２３０がマッピングするソース画像内の４つの最も近接する画素が選択され、それぞれが、カラー値Ｃ１１、Ｃ１２、Ｃ２１およびＣ２２を有する。従って、２０５においてカラー値差を評価する関数に依存して、アルゴリズムは、適応して選択されて、適切に複雑なアルゴリズムを使用する。
【００１９】
非限定の一実装において、例えば、Ｃ１１−Ｃ２１とＣ１２−Ｃ２２との間で１点が最初に補間され、次に、その点で色比較を行い、近傍２００における色類似性を決定する。実際に、そのような実装は、色が近傍２００において実質的に非類似であるとみなされる場合、双線形補間に対してさらに使用可能である結果をもたらすため、有利である。双線形補間が、許容可能な結果には不要な場合でも、Ｃ１１−Ｃ２１とＣ１２−Ｃ２２との間の補間を、スケールアップの操作のために数画素に対してさらに出力し得る。
【００２０】
例えば、カラー値差が、任意の色（実際にはグレースケールが示されるが、当業者は、任意の色モデルに従って任意の色を使用可能であることを理解し得る）で示されるように第１の許容差範囲内にある場合、すなわち、画素近傍２００が、十分に類似する色の画素を含む場合、ソース画像からサンプリングするための簡素なアルゴリズムを選択して、ターゲット画素位置２３０の値を形成することができる。例えば、全て類似する色であるため、Ｃ１１、Ｃ１２、Ｃ２１またはＣ２２のうち任意のカラー値である環境において、アルゴリズムを適用することができる。第１の許容差範囲２２０にあるための閾値は、発見的問題解決的に、または人間の目の平均的能力により決定づけられる色偏差検出閾値内に設定することにより、設定することができる。
【００２１】
同様に、画素近傍２００のカラー値差が、第２の許容差範囲２１５に従って色類似性を決定づける場合、例えば、ソース画素２００が多少類似するが、多少非類似でもある場合、カラー値が、第１の代替処理２３５、例えば双線形補間に基づき、ターゲット画素位置２３０に対して決定される。
【００２２】
同じことが、Ｎ個の許容差範囲に適用可能であり、画素近傍２００のカラー値差が、第Ｎ番目の許容差範囲２１０に従って色類似性を決定づける場合、例えば、ソース画素２００の色が非常に非類似である場合、第（Ｎ−１）番目の代替処理２５０、例えば、双三次補間を使用し得る。これに関して、２０５にて評価される色類似性メトリックにより、決められた補間処理がどの程度複雑であることが必要であるかについての素早い判定が可能となる。アルゴリズム２４０を行うことにより、ターゲット画像には何の害も、または検出不能な害も生じないことが多く、その場合、本明細書に説明する適応フィルタリング技術により性能が顕著に向上する。
【００２３】
図３は、ソース画像の画素近傍３００からターゲット画素位置３３０へどのように補間するかを決定するために閾値色類似性評価を採用する、適応フィルタリングの一実施形態を例示するブロック図である。これに関して、カラー値３２０の場合のように、色Ｃ１１、Ｃ１２、Ｃ２１およびＣ２２に閾値色類似性がある場合、例えば最近傍を選択する簡素なアルゴリズム３４０を選択する。図において最近傍は、画素近傍３００の右上４分の１の部分のソース画素であり、従って、ターゲット画素位置３３０は、値Ｃ１２を割り当てられる。一方、色Ｃ１１、Ｃ１２、Ｃ２１およびＣ２２に、カラー値３１０で示されるようにお互いに閾値類似性が無い場合、より高精度な補間技術３５０を適用して、補間、例えば双線形補間、を行うことが可能である。
【００２４】
図４は、本明細書に説明する実施形態に従って、適応フィルタリングを実行するための一般的な処理を例示するフロー図である。４００にて、ターゲット画素空間の各画素位置に対して、ソース画像内の対応する画素の組を識別する。４１０にて、ソース画像内の画素の組のカラー値の類似性を測定する。４２０にて、測定した画素の組の色の類似性に基づき、カラー値をターゲット画素位置に設定するアルゴリズムを選択または選定する。次に、ステップ４３０、４４０、４５０、およびそれ以降で表すように、任意の数の異なるアルゴリズムを選択して、４１０にて決定した色類似性が当てはまる色類似性範囲に依存して、ターゲット画素の値に対して補間を行うことができる。
【００２５】
例えば、「色類似性」を計算する方法は多数あるが、１つの方法として、最大視差（１００％の視差とは、２つの色が色のスペクトルの正反対の端部にあることを言う）に渡って、視差の割合がどのくらいかを観察する方法がある。従って、一実施形態において、４３０にて、ソース画像からの画素の組の色が、実質的に類似する場合、例えば、０％から５％内の色視差の場合、ターゲット画像の画素位置のカラー値を、最近傍技術に従って、画素の組のうちの１つのカラー値に設定する。次に、多数の異なる特定の範囲および値を所与の用途に対して選択することが可能であるが、ソース画素の組の色が約５から１０％の色視差を示す状況を扱うために、別のアルゴリズム、例えば双線形補間を選択することが可能である。同様に、ソース画素の組の色が約１０から２５％の色視差を示す場合、さらに別のアルゴリズム、例えば双三次補間、を４５０にて適用可能である等、設計者が定義する多くのまたは少ない範囲または視差許容差に対して、別のアルゴリズムを適用可能である。
【００２６】
図５は、閾値色類似性の存在を判定する、および、簡素またはより複雑な補間技術を採用するかどうかを決定づける、非限定の実施形態を例示する。図示するように、５００にて、ターゲット画素空間の各画素位置に対して、ソース画像内の対応する画素の組を決定する。５１０にて、画素の組のカラー値間の計算された色の距離が、閾値距離を超えない（または閾値距離より小さい）場合、５２０にて、最近傍補間を採用する。閾値距離を超える場合、５３０にて、画素位置のカラー値を、双線形補間、双三次補間等などの高品質のアルゴリズムにより決定する。
【００２７】
例えば、リサイズ変換を伴って画像を画面に転送する際、複雑さが要求されない、より速いアルゴリズムを適用することの正味の影響により、画像を画面に転送するのに費やされる時間が劇的に減少する。従って、ディスクまたはストリーミングネットワークソースのどちらかから、映像データをリアルタイムにレンダリングするための実質的により良い実績が得られるが、これはレンダリングパイプライン内の計算のボトルネックからの影響が軽減されるからである。これにより、今日の専用のハードウェアの利益を得ることなく、主にソフトウェアレンダリング技術が採用される場合には、さらにより多くの利益が得られる。しかし、本明細書に説明する種々の実施形態が、同様にハードウェア実装の性能向上も実現することに留意すべきである。
【００２８】
一見解として、種々の媒体ストリームからのサンプル画像になされるテストによると、適応フィルタリングアルゴリズムの実装は、双線形補間および双三次補間の実装を含む技術実装の既存の状態より、平均で１画素当たり３５％から５０％コストがかからないとして示された。
【００２９】
図６は、物体に対する視点変更の一端として、物体が背景に後退する、または、前景に前進するときに、ターゲット画像が物体の鮮明度を維持するのを支援する異方性フィルタリングと呼ばれる別のグラフィック画像変換処理を例示する。フィルタリングした画像６２０を、視点変更に対してリサンプリングしたような画像データを表すよう形成する。これに関して、上述の実施形態と同様に、ターゲット画素位置６２２など、フィルタリングした画像６２０の各ターゲット画素位置のカラー値を、ソース物体または画像６００のサンプルから決定する。一般に、画素のセグメント６０５が、ターゲット画素位置６２２など、ターゲット画素位置に対応することになる。そのような場合、ソース画像６００の画素のセグメント６０５を混合して、ターゲット画素位置６２２の値を形成する。多数の画素を混合することはコストがかかる操作であり得る。
【００３０】
しかし、図７に例示するように、そのようなセグメントの画素７００が、実質的に類似する色を含有する場合、例えば、画素Ｐｌ、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９、Ｐ１０に対するサンプルの類似色を示すカラー値７２０に示されるような場合、最近傍法７４０を適用することができ、最も近接する画素、例えばＰ８が、ターゲット画素位置７３０のカラー値を決定する。例えば、サンプルカラー値７１０により示されるように、セグメントの色が実質的に非類似である状況において、より高精度な混合技術７５０により、画素Ｐｌ、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９、およびＰ１０のカラー値の全てを考慮に入れることが可能である。
【００３１】
適応異方性フィルタリングに対する上述の方法論を、図８のフロー図に表す。８００にて、ターゲット画素空間の各画素位置に対して、ソース画像内の対応する画素の組、例えば、視点の線に沿った画素のセグメントを決定する。８１０にて、画素の組のカラー値間の計算された色の距離が、閾値距離を超えない（または閾値距離より小さい）場合、８２０にて、簡素な混合操作を画素の組に対して採用する。閾値距離を超える場合、８３０にて、画素位置のカラー値を、画素の組の全ての重み付き混合を行うアルゴリズムなど、より高品質のアルゴリズムにより決定する。
【００３２】
色類似性が高いことを前提とし得る、複雑さがより低い操作の非限定の例は、出力を形成することの一端として、視点線にそってより少ないサンプルを入力するものである。従って、視点線に沿った色が、高度に類似する場合、より少ない数のサンプルを使用して、ターゲット画像内のターゲット位置において対応するカラー値を産出することができる。反対に、視点線に沿った画素のセグメントが高い程度の色変動を示す場合、より多い数のサンプルを入力として使用して、混合操作の一端として全てのサンプルを使用する変動の最高程度を用いて、ターゲット画素値を産出する。
【００３３】
ターゲット画像内の画素のカラー値を計算するのに、幾つのサンプルがセグメントに沿って許容可能であるかを決定するための別の代替または補足の技術は、ターゲット画像内の画素位置がターゲット画像のビューワからどのくらい離れているかを判定することである。ターゲット画像内の画素位置が、ターゲット画像のビューワから比較的遠い場合、一般的には、良質な結果を生成するためには非常に多くの数のソースサンプルが必要とされる。その一方、ターゲット画像内の画素位置が、ターゲット画像のビューワに比較的近接している場合、一般的には、許容可能な品質をもたらすためにはより少ない数のソースサンプルが必要とされる。
【００３４】
図９は、本明細書に説明する種々の実施形態の一般的な適用性を例示するブロック図であって、技術を、ソース画像内の画素９００、９０２、．．．、９０ｎの組を変換またはリサンプリングして、ターゲット画像空間のターゲットサンプルを生成する、任意の色依存の画像変換に適用する。これに関して、人間の目は、特に映像が画像をレンダリングする速度では、色のわずかな変動をうまく検出しないため、簡素な色類似性メトリック９１０を採用して、どのアルゴリズムを、９２０にてそのターゲット画素に対する変換のために選択するかを決定づけることができる。そのような環境ではいかなる誤差も分かりにくいため、９２０にて選択し、９３０にてターゲット画素のカラー値を計算するために実行するアルゴリズムは、高度に類似性のある色内容を扱うための低複雑性の比較的速いアルゴリズムを有することが可能である。さらに、色非類似性の全てのグレードに対して、他の、さらに複雑であるが、比較的遅いアルゴリム（単数または複数）を選択し得る。画像内の画素のほとんどの小さな領域が、類似する色内容を有する傾向があるため、より正確であることが望まれない限りデフォルトの最近傍法をとる実施形態は、ソース画像の画素のカラー値に依存する、任意の複雑な画像変換操作に対する効果的な実装であり得る。
【００３５】
図１０および図１１は、２画素間の色の距離を決定する非限定の方法を例示するブロック図である。例えば、図１０において、２つの画素１０００、１０１０は、それぞれＲ１、Ｇ１、Ｂ１およびＲ２、Ｇ２、Ｂ２の、赤、緑、青（ＲＧＢ）の色空間のカラー値を有する。画素１０００と画素１０１０との間の色の距離Ｄを計算する方法の１つとして、個々の構成要素分距離である、赤色要素の距離を表すｄ１、緑色要素の距離を表すｄ２、および青色要素の距離を表すｄ３を計算する方法がある。その場合、Ｄは、ｄ１、ｄ２およびｄ３の任意の合理的な関数として扱うことが可能である。例えば、Ｄを、（ｄ１2＋ｄ２2＋ｄ３2）の平方根、または単にｄ１＋ｄ２＋ｄ３として、すなわち、色がより類似するまたはより類似しなくなるにつれて、増加または減少する傾向がある任意のメトリックとして、定義し得る。
【００３６】
ＲＧＢ色空間と対照的に、ＹＵＶ色空間などの色空間は、発光が前提とされ、従って、厳密にいえば、距離計算は、人間の目の限界に基づき注意深く特定することが可能である。時間がある場合、またはさもなければ、ある処理が任意の上述の実施形態に先行する場合、ソース画像データは、人間の目の非線形特性に基づき、色モデルに変換することが可能である。しかし、実際問題として、ＲＧＢ色空間における色の距離はまた、人間の目に対して意味があり、従って、差の約５から１０％の閾値差が、ＲＧＢ色空間において有効であることが分かっている。
【００３７】
図１１は、２画素間の色の距離を決定する関数を定義した後でも、画素１１００、１１１０、１１２０、１１３０（つまりいかなる任意の数でも）の組の色類似性を定義することが、メトリックの設計において追加の選定を伴うことをさらに例示する。例えば、４つの画素がある場合、図示するように、６つの比較、つまり６つの距離Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５およびＤ６を決定する。距離計算の回数は、各画素が画素の組に追加される共に増える。
【００３８】
画素の組の間の色類似性の単独スコアを決定する方法の１つとして、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５およびＤ６の関数である任意の関数１１４０を決定する方法がある。例えば、関数１１４０は、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５およびＤ６のいずれかが、予め定義された閾値を超えるかどうかを判定し得る。別の方法として、目標画素またはターゲット画素にマッピングするソース画像内の最近傍の画素を検査する方法がある。図１１において、最近傍の画素が画素１１００であると仮定する。より速いアルゴリズムは、最近傍画素１１００からの距離のみを検査できるとし、すなわち、Ｄ１、Ｄ２およびＤ５のみを計算し、予め定義された閾値と比較する。従って、代替のホストが存在し、ソース画像内の画素の軌跡が色に関してどの程度類似するかを決定する色類似性メトリックを形成することが分かる。
【００３９】
図１２は、本明細書に説明する任意の実施形態に組み込まれる選択的特徴を示すブロック図を例示する。上述のように、１２１０にて、色類似性メトリック１２１０を、ソース画像内の画素１２００、１２０２、．．．、１２０ｎに基づき計算する。１２２０にて、ターゲット画素計算アルゴリズムを、何らかの予め定義された範囲または閾値に従って色類似性メトリック１２１０の関数として選択する。次に、１２３０にてアルゴリズムを採用して、ターゲット画素のカラー値を補間する。同時に、映像シーケンスの一部としてレンダリングされている画像レベルに対する画像上に、１つまたは複数の過去または最近の画像に付随する何らかのデータを維持し得る。画像全体に渡っておよび画像内に滑らかな状態にある画素カラー値の時間的傾向と共に空間的傾向により、時間的情報により、どのアルゴリズムが、所与の画素の組に対するどの色類似性値に当てはまるかを決定する範囲または閾値の選択を知らせることが可能である。
【００４０】
例えば、最新の画像を処理したレンダリングシステムが、その最新の画像に対してより複雑なアルゴリズムを一度だけ選択したことを（例えば、単純なカウンタを保持して）分かっており、また、リアルタイムの映像レンダリングの要件が、より複雑なアルゴリズムの数千の性能を全てのフレームについてサポートできることが分かっているとする。すると、現在のフレームに対してパフォーマンスヒットを引き起こさずにより高品質に達するために、色類似性に関してより複雑なアルゴリズムに到達するための閾値を動的に下げることが可能である。なぜなら、現在のフレームもまた、高度に類似する色内容も有することがあり得るからである。従って、一般的にいえば、変換されている画像データの何らかの既知の特性（単数または複数）１２５０（例えば、前の画像のフレームの周波数成分に関する何らかの情報）を、どの計算アルゴリズムが当てはまるかを利用可能な処理帯域幅およびリアルタイムの要求に基づき動的に調整する、調整コンポーネント１２４０に入力することが可能である。この点において、閾値をシフトすることにより、画像変換の品質を、所望のトレードオフに従って動的に調整することが可能である。
【００４１】
別の非限定の実施形態として、映像内にキーフレーム（増分フレームに対して）が存在する場合、所与のフレームをどの程度変更するかについての情報が、エンコード時に既に利用可能であり、従って、少なくともこの情報の一部は、映像がデコードされる時に抽出され、１つまたは複数の色類似性閾値を動的に調整することに関連して使用されて、最適なトレードオフを達成することが可能である。
【００４２】
（適応フィルタリング技術と共に使用するための代替フィルタリングアルゴリズムに関する補足のコンテキスト）
簡素なアルゴリズムから、１つまたは複数の複雑なアルゴリズムから利益が得られる１つまたは複数の複雑なアルゴリズムに後退する、代替の適応フィルタリング実装に関するさらなる補足のコンテキストとして、以下の記述は、１つまたは複数の複雑なアルゴリズムのいくつか代替について概して説明する。一般的背景として、ビットマップは、スーパーサンプリング（画素当たり２つ以上のデータポイント）またはサブサンプリング（画素当たり１つ未満のデータポイント）されるよりもむしろ、各画素にサンプリングされると言われる。このビットマップをリサンプリングすることは、画素上に重ねられるサンプルグリッドを作成することを伴う。各グリッドポイントが各画素の元の中心からどの程度離れているかに従って、およびどのリサンプリングアルゴリズムが使用されるかに従って、新しいサンプリングポイントにカラー値を与える。
【００４３】
ビットマップサンプリングの背景にある数学は、２つの空間変数における多変量補間であり、各色チャンネルに対して別個に実行されるもので、ビットマップリサンプリングに利用可能な方法の概要である。最も簡素な多変量方法は、最近傍またはポイントのサンプリングとして知られる。他の周りの画素からの入力が無い状態で、各サンプルグリッドポイントに最も近接した画素中心を使用する。最近傍補間は、従って、１次元または多次元の多変量補間の簡素な方法である。
【００４４】
補間は、ある空間の非所与のポイントの値を近似することが、そのポイントの周りのポイントのいくつかの値が与えられている場合には問題となる。最近傍アルゴリズムは、最も近いポイントの値を単に選択して、他の近傍のポイントの値を全く考慮しないため、区分的に一定の補間式をもたらす。
【００４５】
最近傍法は、その簡素さにより、ミップマッピングと共に使用されることがあり、特定の種類の用途には効果があるが、他のものにはさほど効果が無い。以下に説明するより複雑なアルゴリズムとは対照的に、最近傍法は、比較的速いが、目に見える画像アーチファクトを、特に高いレベルの色変動を有するリサイズされている画像の領域において（例えば、一般的には高周波数成分に対応する）、取り込んでしまう。
【００４６】
つまり、最近傍法では、本質的に新しいビットマップグリッドが元のグリッドに重なり、かつ、新しいターゲット画素の座標に最も近接する元の画素の座標の値が使用される。処理に関して簡素なシステムであると共に、最近傍法は、画像内で使用される色が変化しないという即効の利点を有し、これは、色のパレットが既に限定され固定されている、インデックス付きのＧＩＦ（graphics interchange file）画像を扱う際に有益である。
【００４７】
最近傍法の否定的側面としては、各出力画素の座標が元のものと直接重なりにくく、かつ、各画像内で、いくつかの画素が他の画素より近接して調和する。加えて、多数の元の画素が、ターゲット画像では廃棄され得、一方で他の画素が２回以上使用され得る。例えば、これは画像変換がソース画像の回転を伴う場合に起こり得る。画素値選択の任意の性質により、速い選定につながる一方で、画像の特徴、特に、角度のある線および他のはっきりとした色のコントラストの特徴、を「壊す」ことにつながり、「階段状」「ジャギー」および／または画像内の歪みまたは誤差に対して他の業界用語で表現されるような状態となる。
【００４８】
上述のように、大抵の場合、テクスチャのある形を画面所に描く際、または画像をレンダリング中にリサイズする際、テクスチャまたはソース画像はそれぞれ、何の歪みもなく、記憶されるままに厳密に表示されることはなく、すなわち、ほとんどの画素は、それぞれ２つまたはそれ以上のテクセルまたは２つまたはそれ以上の画素の間にある、テクスチャまたはソース画像上のポイントに戻してマッピングする。これに関して、最近傍技術に代わるものとして、双線形フィルタリングは、これらのポイントを使用して、画素が表すポイントに最も近い４つのテクセルまたは４つの画素間で、双線形補間を行う。双線形フィルタリングは、テクスチャを、実際よりも大きくまたは小さくして任意の次元で表示する際に、滑らかにするために使用される、テクスチャフィルタリング法である。
【００４９】
双線形フィルタリングは、テクスチャのスケーリングにより、テクスチャの元のサイズの半分より下または２倍より上のポイントまでスケールされるまでは、かなり精密であり、すなわち、テクスチャが各方向に２５６画素であった場合、１２８画素より下または５１２画素より上にスケーリングされると、画素の不足または滑らか過ぎることにより、粗悪な結果を生み出し得る。ミップマッピングは、スケールダウンしたミップマップレベルにおいてよりよい性能およびより良い画質を得るために、スケールダウンされたバージョンのテクスチャを提供するのに使用されることが多い。しかし、双線形フィルタリングを使用する視点でのテクスチャへの２つの異なるサイズのミップマップ間の遷移は、急峻であり得る。さらに、ミップマップ自体、確立する計算コストが高く、映像用途または映像サービスのリアルタイム変換要件に潜在的に影響する。
【００５０】
三線フィルタリングは、行うには多少より複雑で高価であるが、この遷移を全体的により滑らかにすることができる。これに関して、コストは、固定の１組の命令をより速く実行するより高価なハードウェアにかかるコストとして現れる可能性があり、または、コストは行われるべきアルゴリズムの命令の数の平均的な増加、従って、アルゴリズムを実行するのにかかる時間の増加として現れる可能性もある。三線フィルタリングは、従って、双線形テクスチャフィルタリング法の拡張であり、ミップマップ間の線形補間をも行う。
【００５１】
双線形フィルタリングには、いくつかの欠点があり、これにより多くの場合において魅力のない選定とされる。非常に小さなサイズへのスケーリング時に、全詳細のテクスチャ上にそれを使用すると、不足したテクセルによる精度の問題の原因となり、これを、ポリゴン全体に渡って多重ミップマップを使用することにより相殺することにより、ぼけが急峻に変化するが、これは、カメラに対して急勾配で角度をなすポリゴンにおいて最も顕著である。この問題を解決するために、三線フィルタリングが、画素においてポリゴンに要求される詳細に最も近い２つのミップマップ上の双線形フィルタリングの結果の間を補間するが、さらに三線フィルタリングによる追加のコストがかかる。
【００５２】
画素がテクスチャ上の正方形領域を占めると仮定できるため、三線フィルタリングはまた準最適でもある。特に、テクスチャが、カメラと比較して急勾配の角度にある場合、画素が実際には狭いが長い台形を占めるため、詳細が失われ得る。狭い方向に、画素は、実際にそれが覆うより多くのテクセルから情報を得ていて、詳細がスミアになるようにし、そして、長い方向に、画素は、実際にそれが覆うより少ないテクセルから情報を得ていて、詳細が画素間に入るようにする。これを軽減するため、異方性または方向依存性のフィルタリングを利用することができる。
【００５３】
コンピュータグラフィックにおいて、時にＡＦと略される異方性フィルタリングは、テクスチャの突起が（テクスチャがレンダリングされるポリゴンまたは他のプリミティブに対向するように）直交せずに現れる、カメラに対して傾いた視野角にある表面上のテクスチャの画質を向上させる方法である。双線形フィルタリングおよび三線フィルタリングのように、異方性フィルタリングは、エイリアシング効果を除去するが、極端な視野角でのぼけを少なくし、従って、より詳細が保存される。異方性フィルタリングは比較的高価で、通常計算コストが高いが、標準の空間−時間トレードオフの規則が当てはまる。異方性フィルタリングは、今日、現代のグラフィックハードウェアにおいて普及しており、ドライバ設定を介してユーザによって、またはプログラミングインターフェースを介してグラフィックアプリケーションおよびビデオゲームによってのいずれかにより可能となる。
【００５４】
数学的サブフィールド数値解析において、双三次補間は、二次元で多変量補間を行う方法である。これに関して、離散点においてのみ既知の値を有する２つの変数の関数を、補間を使用して離散点間で近似することができ、用語「双三次」は、補間された表面がどこへでも連続し、また第１の導関数においてあらゆる方向に連続していることに言及し、値の変化の速度が連続することを意味する。
【００５５】
さらに双線形補間より複雑で遅い一方、双三次補間は、一般的に画質の観点からは良く機能する。その結果、多くの非リアルタイムのレンダリングアプリケーションに対して、双三次アルゴリズムは、画像および映像を表示用にスケーリングするために頻繁に使用され、それは双三次アルゴリズムが一般的に細かい詳細を保存することが知られているためである。例えば、ベールまたはドレスのレースにおいては、双線形アルゴリズムよりも良いということが分かるであろう。
【００５６】
Ｌａｎｃｚｏｓリサンプリングは、デジタル画像をリサンプリングによってより大きくまたはより小さくするために使用される、別の多変量補間方法である。Ｌａｎｃｚｏｓリサンプリングを用いて、最終値は、元の画像に対する相対的な位置に基づく元の値の重み付けされた和であり、重み付けは、Ｌａｎｃｚｏｓ重み付けシンク関数により与えられる。Ｌａｎｃｚｏｓ技術は、正規化シンク関数のウィンドウ処理された積を画像リサンプリングの畳み込みカーネルとして採用する。
【００５７】
スプライン補間は、補間の一形式であり、補間式がスプラインと呼ばれる特別なタイプの区分的多項式である。スプライン補間は、スプラインに対して低程度の多項式を使用する際でも、補間誤差を小さくすることが可能であるため、多項式補間より好ましい。他の線形フィルタリングも既知である。Ｌａｎｃｚｏｓ、Ｍｉｔｃｈｅｌｌ、Ｃａｔｍｕｌｌ−Ｒｏｍおよび他のスプラインがある。
【００５８】
つまり、線形リサンプリング方法は、３つのアーチファクト、すなわち、ぼけ、エイリアシング、およびリンギングの間のトレードオフを表す。ぼけは、画像の鮮明さの損失である。これは双線形または双三次補間を使用してアップスケールされた画像上に見られる。エイリアシングは、ジャギーのあるエッジ（アップスケール中）として、またはモアレパターン（ダウンスケール中）として現れる。これは、全ての線形方法を使用してアップスケールされた画像に現れるが、最近傍、双三次、および双線形法において最も見える。
【００５９】
リンギングは、Ｇｉｂｂｓ現象としても知られ、エッジの周りにハローとして現れる。これは、シンク、Ｌａｎｃｚｏｓ、および双三次法においてはっきり見える。少量のリンギングは、画像の認識される鮮明さを向上させるが、大量のリンギングは望ましくない。従って、異なる補間方法が非常に異なる結果を生み出し、実装されるさまざまな複雑さを有することが分かるであろう。その結果、ソース画素の色類似性に基づく適応フィルタリング技術は、トレードオフのバランスをとる効果的な方法である。
【００６０】
（例示的なネットワーク化された分散環境）
当業者には理解可能であろうが、本明細書に説明する種々の実施形態は、コンピュータネットワークの一部としてまたは分散コンピューティング環境において展開可能、かつ任意の種類のデータストアに接続可能な、任意のコンピュータまたは他のクライアントもしくはサーバデバイスの任意の画像データ処理システムまたはサブシステムに関連して、実装することできる。これに関して、適応フィルタリング技術は、任意の数のメモリユニットまたは記憶装置ユニット、ならびに任意の数の記憶装置ユニットまたは記憶ボリュームに渡って生じる任意の数のアプリケーションおよび処理を有する任意のコンピュータシステムまたはコンピュータ環境に関連することが可能で、画像データの変換に関連して、本明細書における実施形態に従って使用し得る。
【００６１】
分散コンピューティングは、コンピューティングデバイスとコンピューティングシステムとの間の交換により、コンピュータリソースおよびサービスの共有を提供する。これらのリソースおよびサービスは、情報の交換、グラフィックデータなどのオブジェクトのキャッシュへの記憶およびディスクへの記憶を含む。分散コンピューティングは、ネットワーク接続を利用して、クライアントがその集合的力を利用して企業全体に利益をもたらすことを可能にする。これに関して、様々なデバイスは、本明細書に説明する画像処理の実施形態のうち任意の１つまたは複数を全体または一部として実行可能なアプリケーション、オブジェクト、またはリソースを有し得る。
【００６２】
図１３は、例示的なネットワーク化または分散コンピューティング環境の概略図を提供する。分散コンピューティング環境は、サーバコンピューティングオブジェクトまたはサーバコンピューティングデバイス１３１０、１３１２等、および、コンピューティングオブジェクトまたはコンピューティングデバイス１３２０、１３２２、１３２４、１３２６、１３２８等を備える。これらのオブジェクトは、プログラム、方法、データストア、プログラマブル論理等を備え得る。オブジェクトは、ＰＤＡ、音声／映像デバイス、ＭＰ３プレイヤ、パーソナルコンピュータ、携帯電話等、同一または異なるデバイスの一部を備え得る。各オブジェクトは、別のオブジェクトと通信ネットワーク１３００を介して通信することが可能である。ネットワーク１３００はそれ自体に、図１３のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えることが可能で、かつ多重相互接続ネットワークにも相当し得る。各オブジェクトまたはデバイス１３１０、１３１２等または１３２０、１３２２、１３２４、１３２６、１３２８等は、本明細書に説明する画像変換処理の任意の実施形態を実行するのに適切な、ＡＰＩ、または他のオブジェクト、ソフトウェア、ファームウェアおよび／またはハードウェア、を利用し得るアプリケーションを含有し得る。
【００６３】
分散コンピューティング環境を支援する様々なシステム、コンポーネント、およびネットワーク構成がある。例えば、コンピューティングシステムを、有線または無線のシステムにより、ローカルネットワークまたは広域分散ネットワークにより、共に接続し得る。現在、多くのネットワークが、インターネットに連結され、インターネットが広域分散コンピューティングへのインフラストラクチャを提供し、多くの異なるネットワークを包含する。任意のインフラストラクチャを、本明細書に説明する画像変換処理に付帯する例示の通信に使用し得る。例えば、画像データがメディアサーバからレンダリングクライアントデバイスに連続的にストリーミングされるストリーミング映像アプリケーションにおいて、クライアントにおけるメディアレンダリングハードウェア、および／またはソフトウェアメディアレンダリングクライアントアプリケーションまたはサービスは、画像データの効率的なリアルタイムレンダリングの色類似性に基づき、適応する技術を利用することが可能である。
【００６４】
従って、ネットワークインフラストラクチャは、クライアント／サーバ，ピアツーピア、またはハイブリッドアーキテクチャなどのネットワークトポロジのホストを可能にする。「クライアント」は、関連の無い別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。従って、コンピューティングにおいて、クライアントは、別のプログラムによって提供されるサービスを要求する処理、すなわち、大まかには１組の命令またはタスクである。クライアント処理は、要求したサービスを、他のプログラムまたはサービス自体についての任意の働きの詳細を「知る」必要なく利用する。クライアント／サーバアーキテクチャ、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピュータ、例えばサーバにより提供される共有ネットワークリソースにアクセスするコンピュータである。図１３の例示において、一例として、コンピュータ１３２０、１３２２、１３２４、１３２６、１３２８等が、クライアントであると考えられ、かつ、コンピュータ１３１０、１３１２等がサーバであると考えられ、サーバ１３１０、１３１２等はクライアントコンピュータ１３２０、１３２２、１３２４、１３２６、１３２８等に対して複製されるデータを維持するが、状況に応じて、任意のコンピュータを、クライアント、サーバ、またはその両方であるとみなし得る。任意のこれらのコンピューティングデバイスが、本明細書に説明する任意の実施形態に従って行われる画像変換操作に関連して、データを受け取り、送信し、記憶し、または処理していることになる。
【００６５】
サーバは、一般的には、インターネットまたは無線ネットワークインフラストラクチャなどのリモートネットワークまたはローカルネットワーク上でアクセス可能なリモートコンピュータシステムである。クライアント処理は第１のコンピュータシステムにおいてアクティブであることができ、サーバ処理は第２のコンピュータシステムにおいてアクティブであることができ、通信媒体上でお互いに通信し、従って、分散した機能性を提供し、複数のクライアントがサーバの情報収集能力を利用することが可能になる。本明細書に説明するような画像変換操作を行う技術に従って利用される任意のソフトウェアオブジェクトを、従って、複数のコンピューティングデバイスまたはコンピューティングオブジェクトに渡って分散し得る。
【００６６】
通信ネットワーク／バス１３００がインターネットであるネットワーク環境において、例えば、サーバ１３１０、１３１２等は、クライアント１３２０、１３２２、１３２４、１３２６、１３２８等がＨＴＴＰなどの任意の数の既知のプロトコルを介して通信するウェブサーバであることが可能である。サーバ１３１０、１３１２等はまた、分散コンピューティング環境の特性であるように、クライアント１３２０、１３２２、１３２４、１３２６、１３２８等としても機能することが可能である。
【００６７】
（例示的コンピューティングデバイス）
上述のように、画像データを変換することが望ましい任意のデバイスは、例えば、元の画像データにより決定づけられるサイズまたは次元性以外の任意のサイズまたは次元性に従って、元の画像データから画像データを表示するかまたはさもなければ決定する際などに、本明細書に説明する適応処理を使用することが可能である。従って、当然のことながら、全種類の、ハンドヘルド、携帯用、および他のコンピューティングデバイスおよびコンピューティングオブジェクトは、同様に、すなわち、デバイスがグラフィック処理および／または表示能力を含み得るどんな場合にも、使用が考慮される。
【００６８】
従って、以下で図１４において説明する以下の汎用リモートコンピュータは、一例にすぎず、適応フィルタリング処理を、任意のスタンドアロンデバイスと共に、またはネットワークにおけるサーバまたはクライアントの関係に関連して、実装し得る。必須ではないが、適応フィルタリングを、デバイスまたはオブジェクトのサービスの開発者による使用のために、オペレーティングシステムを介して部分的に実装することが可能であり、および／またはアプリケーションソフトウェア内に含み得る。ソフトウェアは、クライアントワークステーション、サーバまたは他のデバイスなどの１つまたは複数のコンピュータにより実行される、プログラムモジュールなど、コンピュータ実行可能命令の一般的コンテキストで記述することが可能である。当業者は理解するであろうが、本明細書に説明する種々の代替の実施形態を、他のコンピュータシステム構成およびプロトコルと共に実践し得る。
【００６９】
図１４は従って、適切なコンピューティングシステム実装環境１４００の一例を例示するが、上記で明らかにしたように、コンピューティングシステム環境１４００は、適切なコンピューティング環境の単なる一例にすぎず、本明細書に説明する実施形態の使用または機能性の範囲に関して何ら制限を示唆することを意図してない。また、コンピューティング環境１４００を、例示的オペレーティング環境１４００において例示されるコンポーネントの任意の１つまたは組み合わせに関するいかなる依存性または要件をも有するものとして解釈すべきではない。
【００７０】
図１４を参照すると、例示的リモートデバイスが、コンピュータ１４１０の形式で汎用コンピューティングデバイスを含む。コンピュータ１４１０のコンポーネントは、処理ユニット１４２０、システムメモリ１４３０、および、システムメモリを含む種々のシステムコンポーネントを処理ユニット１４２０に連結するシステムバス１４２１を含み得るが、これに限らない。
【００７１】
コンピュータ１４１０は一般的には、様々なコンピュータ可読媒体を含み、コンピュータ１４１０によりアクセス可能な任意の利用可能な媒体であり得る。システムメモリ１４３０は、ＲＯＭ（Read Only Memory）および／またはＲＡＭ（Random Access Memory）などの揮発性および／または不揮発性メモリの形式で、コンピュータ記憶媒体を含み得る。限定ではなく例として、メモリ１４３０はまた、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを含み得る。
【００７２】
ユーザは、入力デバイス１４４０を介してコンピュータ１４１０にコマンドおよび情報を入力し得る。モニタまたは他のタイプの表示デバイスもまた、出力インターフェース１４５０などのインターフェースを介してシステムバス１４２１に接続される。モニタに加えて、コンピュータはまた、スピーカおよびプリンタなどの他の周辺出力デバイスを含み、出力インターフェース１４５０を介して接続し得る。
【００７３】
コンピュータ１４１０は、リモートコンピュータ１４７０などの１つまたは複数の他のリモートコンピュータへの論理接続を使用して、ネットワーク化または分散環境において動作する。リモートコンピュータ１４７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスもしくは他の共通ネットワークノード、または任意の他のリモート媒体消費もしくは伝送デバイスであり得、かつ、コンピュータ１４１０に関して上述した任意のまたは全ての要素を含み得る。図１４に描かれる論理接続は、ＬＡＮ（Local Area Network）またはＷＡＮ（Wide Area Network）のようなネットワーク１４７１を含むが、他のネットワーク／バスも含み得る。そのようなネットワーク環境は、家庭、事務所、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて当たり前のものになっている。
【００７４】
上述のように、例示的実施形態を、種々のコンピューティングデバイスおよびネットワークアーキテクチャに関連して説明したが、一方、根本的な概念は、画像変換を効率的に行うことが望ましい任意のネットワークシステムおよび任意のコンピューティングデバイスまたはシステムに適用可能である。
【００７５】
本明細書に説明するように、適応フィルタリングを実装する複数の方法があり、例えば、適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、制御、スタンドアロンまたはダウンロード可能ソフトウェアオブジェクト等であり、アプリケーションおよびサービスが適応画像変換処理を使用することを可能にする。従って、本明細書に説明する種々の実装は、全体的にハードウェアで、部分的にハードウェアで、およびソフトウェアでのみならず、部分的にソフトウェアで行う態様を有し得る。
【００７６】
「例示的」という語は、例、事例または図解として役割を果たすことを意味するために本明細書で使用する。誤解を避けるために、本明細書に開示する主題は、そのような例により限定されない。加えて、本明細書に「例示」として説明する任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利であるとは解釈されず、また、当業者に既知の同等の例示的構造および技術を排除することもない。さらに、用語「含む」「有する」「含有する」および他の同様の語が、発明を実施するための形態または特許請求の範囲のどちらかで使用される限り、誤解を避けるために、そのような用語は、任意の追加のまたは他の要素を排除することなく開かれた遷移語として、用語「備える」と同様な様式で包括的であることを意図している。
【００７７】
上述のように、本明細書に説明する種々の技術を、ハードウェアもしくはソフトウェア、または、適切な場合には、その両方の組み合わせに関連して実装し得る。本明細書で使用するように、用語「コンポーネント」「システム」等は、同様に、コンピュータ関連エンティティ、すなわち、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェアまたは実行中のソフトウェアのいずれかを参照するよう意図している。例えば、コンポーネントは、プロセッサ上で稼働中の処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／または、コンピュータであり得るが、それに限らない。例示として、コンピュータ上で稼働中のアプリケーションおよびコンピュータの両方がコンポーネントであり得る。１つまたは複数のコンポーネントが、処理および／または実行のスレッド内に存在することが可能で、コンポーネントは、１つのコンピュータ上に局在し得る、および／または２つまたはそれ以上のコンピュータ間に分散し得る。
【００７８】
前述のシステムを、いくつかのコンポーネント間の相互作用に対して説明した。当然のことながら、そのようなシステムおよびコンポーネントは、それらのコンポーネントまたは特定されたサブコンポーネント、特定されたコンポーネントまたはサブコンポーネントのいくつか、および／または追加のコンポーネントを、前述の種々の順列および組み合わせに従って含むことが可能ある。サブコンポーネントを、親コンポーネント（階層的）内に含まれるよりもむしろ他のコンポーネントに通信的に連結されるコンポーネントとして実装することも可能である。加えて、１つまたは複数のコンポーネントを、集約した機能性を提供する単一のコンポーネントに結合すること、またはいくつかの別個のサブコンポーネントに分割することが可能であり、かつ、管理層などの中間層のうち任意の１つまたは複数を提供して、統合された機能性を提供するために、そのようなサブコンポーネントに通信的に連結することが可能であることに留意されたい。本明細書に説明する任意のコンポーネントはまた、本明細書に具体的には説明していないが当業者には一般に既知である１つまたは複数の他のコンポーネントと相互作用し得る。
【００７９】
上記に説明した例示的システムを考慮して、開示する主題に従って実装できる方法論は、種々の図面のフロー図を参照することでより理解されるであろう。説明の簡素化の目的で、方法論.を一連のブロックとして示し説明しているが、当然のことながら、請求する主題はブロックの順番により限定されず、異なる順番で起こるもの、および／または、本明細書に示し説明するものから他のブロックと同時に起こるものがあり得る。当然のことながら、不連続の、または分岐したフローが、フロー図に例示される場合、同一のまたは同様の結果を達成する種々の他の分岐、フローの経路、およびブロックの順番を実装し得る。さらに、例示する全てのブロックが以下に説明する方法論を実装するために必要とされるわけではない。
【００８０】
種々の実施形態を種々の図面の好適な実施形態に関連して説明したが、当然のことながら、他の同様の実施形態を使用することが可能、または、同一または同様の機能を説明した実施形態から逸脱することなく行うために、説明した実施形態に対して変形および追加することが可能である。さらに、適応フィルタリング処理を、複数の処理チップまたは処理デバイス内でまたはそれらに渡って実装することが可能であり、同様に記憶装置が複数のデバイスに渡って影響を受け得る。従って、いかなる単一の実施形態をも制限的であるとみなすべきではなく、むしろ、保護範囲は、添付の請求項および任意の等価物に従う幅および範囲において解釈されるべきである。
【図１】
0005461416.tif 000002
【図４】
0005461416.tif 000003
【図５】
0005461416.tif 000004
【図６】
0005461416.tif 000005
【図８】
0005461416.tif 000006
【図９】
0005461416.tif 000007
【図１０】
0005461416.tif 000008
【図１１】
0005461416.tif 000009
【図１２】
0005461416.tif 000010
【図１３】
0005461416.tif 000011
【図１４】
0005461416.tif 000012
【図２】
0005461416.tif 000013
【図３】
0005461416.tif 000014
【図７】
0005461416.tif 000015