(57)【要約】  画像をワープさせる方法、データ、およびシステムが提供される。入力画像に関連する入力ピクセルを、提供されたファンクションまたは獲得済みのファンクションに従ってワープさせる。各入力ピクセルに１つの重みを割り当てる。この重みは、出力格子内の各入力ピクセルの水平寸法および垂直寸法を表す。この１つの重みは、各入力ピクセルに関連する輝度値と組み合わされて、各入力ピクセルを出力格子に単一処理パスでマッピングする。
2005513630.tif 000002
【特許請求の範囲】
【請求項１】
輝度値、ｘピクセル座標、およびｙピクセル座標を有するピクセル座標対を受け取るステップと、
ｘピクセル重みおよびｙピクセル重みの積を含むピクセル重みを識別するステップと、
前記積および前記輝度値を使用して前記ピクセル座標対を１つまたは複数のターゲットピクセル座標対へとワープさせるステップと
を含む、ピクセルをワープさせる方法。
【請求項２】
前記ピクセル重みを特定する際にワーピングファンクションを使用するステップをさらに含む、請求項１に記載の方法。
【請求項３】
残りのピクセル座標対が、残りのターゲットピクセル座標対へとワープされるまで各ステップをさらに連続して反復する、請求項１に記載の方法。
【請求項４】
前記積を使用して前記ピクセル座標対をワープさせる際に、１つまたは複数の前記ターゲットピクセル座標対が、ターゲットピクセル格子を表す、請求項１に記載の方法。
【請求項５】
前記積を使用して前記ピクセル座標対をワープさせる際に、１つまたは複数の前記ターゲットピクセル座標対が、伸張されたピクセル座標対を表す、請求項１に記載の方法。
【請求項６】
前記積を使用して前記ピクセル座標対をワープさせる際に、１つまたは複数の前記ターゲットピクセル座標対が、圧縮されたピクセル座標対、変換されたピクセル座標対、および回転されたピクセル座標対のうちの少なくとも１つを表す、請求項１に記載の方法。
【請求項７】
前記ピクセル重みを識別する際に、前記ピクセル重みは、固定小数点数または浮動小数点数として表される、請求項１に記載の方法。
【請求項８】
ソース画像に関連する複数の入力ピクセルを獲得するステップと、
前記各入力ピクセルを１組のワーピング実行可能命令に渡し、前記渡された各入力ピクセルについて個別のスケールを受け取るステップと、
前記個別のスケールに基づいて前記各入力ピクセルを重み付けするステップと、
前記個別のスケールを使用して前記各入力ピクセルを出力格子にマッピングするステップと
を含む、画像をワープさせる方法。
【請求項９】
前記マッピングするステップから宛先画像を生成するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記生成された宛先画像が、伸張されたソース画像、回転されたソース画像、および圧縮されたソース画像のうちの少なくとも１つを表す、請求項９に記載の方法。
【請求項１１】
個別の輝度値を前記各入力ピクセルに関連づけるステップをさらに含む、請求項８に記載の方法。
【請求項１２】
水平スケールおよび垂直スケールに個別の各スケールを割り当てるステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記関連する輝度値は固定小数点である、請求項１２に記載の方法。
【請求項１４】
前記関連する輝度値は浮動小数点である、請求項１２に記載の方法。
【請求項１５】
前記の各ステップは、前記入力ピクセルの単一動作可能パスをもつコンピュータ読取り可能媒体上に存在する１組の処理実行可能命令によって実施される、請求項８に記載の方法。
【請求項１６】
前記出力格子をディスプレイ上に表示するステップをさらに含む、請求項８に記載の方法。
【請求項１７】
ワープされたピクセルを獲得するステップと、
ソースピクセルを獲得するステップと、
１つの２次元ピクセル重みを前記ワープされたピクセルおよび前記ソースピクセルから生成し、それによって前記１つの２次元ピクセル重みを使用して第２のソースピクセルを第２のワープされたピクセルに変換できるようにするステップと
を含む、２次元ピクセル重みを生成する方法。
【請求項１８】
１組の単一パス実行可能命令から生成される１つまたは複数のピクセル格子を含み、各ピクセル格子が１つまたは複数のソースピクセルから生成され、各ソースピクセルが、各ピクセル格子中で表されるとき各ソースピクセルの２次元ワーピングスケールを表す重みに関連づけられる、コンピュータ読取り可能媒体中に存在するワープされた画像。
【請求項１９】
前記１組の単一パス実行可能命令が、前記重み中で使用される各次元のワーピングスケールを生成する助けとなるように動作可能なワーピングファンクションに対する呼び出しを含む、請求項１８に記載のワープされた画像。
【請求項２０】
前記ワーピングファンクションは線形である、請求項１９に記載のワープされた画像。
【請求項２１】
前記ワーピングファンクションは非線形である、請求項１９に記載のワープされた画像。
【請求項２２】
前記ワープされた画像はビデオストリーム内で実施される、請求項１９に記載のワープされた画像。
【請求項２３】
各入力ピクセルは、輝度値を有しソース画像に関連する複数の入力ピクセルと、
前記入力ピクセルを処理してスケーリングデータを生成するように動作可能な１組のワーピング実行可能命令と、
前記入力ピクセルのワープされたバージョンを表し、前記スケーリングデータを使用して各入力ピクセルについて各入力ピクセルの輝度値と組み合わされると各宛先格子を形成する１つの２次元重みを生成する助けをすることによって生成される複数の宛先格子と
を含む、ソース画像をワープさせるシステム。
【請求項２４】
前記複数の宛先格子は、前記ソース画像のワープされたバージョンを表す１つの宛先画像を形成する、請求項２３に記載のシステム。
【請求項２５】
宛先画像は、前記ソース画像の伸張されたバージョン、前記ソース画像の圧縮されたバージョン、および前記ソース画像のスケールされたバージョンのうちの少なくとも１つを表す、請求項２４に記載のシステム。
【請求項２６】
前記２次元重みは水平重みと垂直重みを含む、請求項２３に記載のシステム。
【請求項２７】
前記複数の宛先格子は前記複数の入力ピクセルから動的に形成される、請求項２３に記載のシステム。
【請求項２８】
前記入力ピクセルを単一パスで１組の処理実行可能命令によって処理して複数の宛先格子を形成する、請求項２７に記載のシステム。
【請求項２９】
前記１組のワーピング実行可能命令は、前記１つの２次元重みに関連する第１の次元と第２の次元について分離不可能である、請求項２３に記載のシステム。
【請求項３０】
前記宛先格子は、前記各宛先格子に関連する宛先ピクセル上で追加のフィルタリングを要求しない、請求項２３に記載のシステム。
【請求項３１】
前記システムはビデオ装置またはセキュリティ監視装置に関連して使用される、請求項２３に記載のシステム。
【請求項３２】
計算機装置と、
ディスプレイ装置と、
メモリと、
各入力ピクセルが、輝度値を含みソース画像に関連する複数の入力ピクセルを有する、メモリ内に存在するソース画像と、
前記計算機装置内の１つまたは複数の処理要素上で実行されて入力ピクセルを処理し、スケーリングデータを生成するように動作可能な１組のワーピング実行可能命令と、
ディスプレイ装置上に表示され、入力ピクセルのワープされたバージョンを表し、前記スケーリングデータを使用して各入力ピクセルについて各入力ピクセルの輝度値と組み合わされると各宛先格子を形成する１つの２次元の重みを生成する助けをすることによって生成される複数の宛先格子と
を含む、画像をワープさせるシステム。
【請求項３３】
前記ディスプレイ装置は、プリンタ、モニタ、テレビ、ビデオカメラ、およびカメラのうちの少なくとも１つである、請求項３２に記載のシステム。
【請求項３４】
前記メモリは揮発性記憶装置および不揮発性記憶装置のうちの少なくとも一方である、請求項３２に記載のシステム。
【請求項３５】
前記１組のワーピング実行可能命令は分離可能または分離不可能である、請求項３２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のワーピングに関し、詳細には２次元の入力画像に関連する入力ピクセルに１つの処理パスで重み付けしてワープされた画像を生成するために使用される方法、データ、およびシステムに関する。
【背景技術】
【０００２】
この特許文書の開示の一部分は、著作権保護の対象となる事柄を含んでいる。この著作権所有者は、誰かによるこの特許文書の複製、または特許商標事務所の特許ファイルもしくは特許レコードに現れる特許の開示には異議を唱えないが、その他の点ではすべての著作権の権利を何であれ留保するものである。以下の表示は、以下およびこの文書の図面中に記載されたソフトウェアおよびデータに適用される。Ｃｏｐｙｒｉｇｈｔ（Ｃ）２００１、Ｈｏｎｅｙｗｅｌｌ  Ｉｎｃ．、Ａｌｌ  Ｒｉｇｈｔ  Ｒｅｓｅｒｖｅｄ。
【０００３】
しばしば、電子画像は処理されて様々な形体の画像を生成する。例えば、既存の多数の市販ソフトウェアの画像ビューワおよび画像エディタにより、画像の異なる透視図を得る目的でディスプレイ内で画像を操作することが可能である。一部のビュー機能には、画像内の異なるロケーション上におけるズームイン、画像内の異なるロケーション上におけるパニング、画像コンテンツの空間的な再割付けによる画像のスケーリング、画像の回転などが含まれる。もちろん、画像操作はまた、画像を印刷し、情報を得るために画像を調べ、画像内のひずみを補正しまたはひずみを生成し、画像を他のソフトウェアアプリケーションに統合し、画像モーフィングを行う際などにも有用である。
【０００４】
画像内のピクセル操作は、全体画像内のピクセル数が大きく、実質的な量のメモリを占有するのでプロセッサおよびメモリの費用が高くつく動作になる。画像の品質がさらに良くなることは、この画像がより多くのピクセルを含むことを意味するので、画像品質が良くなると、ピクセル操作に関連する処理スループット低下の問題が悪化する。画像内のピクセル数はしばしば、１平方インチ内に含まれる画像のピクセル数で記述され、平方インチ当たりのドット（ＤＰＩ）で表される。画像のＤＰＩが増大するにつれてその画像を操作するために必要とされる処理およびメモリが同様に増大する。
【０００５】
画像操作は、しばしば画像ワーピングと呼ばれ、２次元へと画像をワープさせる既存の技術では、その画像内の各ピクセルごとに２つの処理パスが必要とされる。画像の第１のパスは、ソース画像の中間バージョンを生成し、ここではそのソース画像内のすべてのピクセルは、１次元または空間変換（例えば、ｙ軸または垂直軸に沿って）でワープされる。第２のパスは、第１のパスから生成される中間画像に対して行われ、この中間画像内のすべてのピクセルを２次元（例えば、ｘ軸または水平軸に沿って）でワープさせる。当業者には理解されるように、よく知られている画像ワーピングについての２パスの方法が、ＦＡＮＴ法である。さらに、直ちに明らかなように、２次元画像をワープさせるには、かなりの処理と、この中間的なワープされた画像を格納するための大量の一時メモリ（例えば揮発性メモリ）が必要になる。
【０００６】
画像内のピクセルが各方向にワープされるとき、元のピクセルは中間ピクセルまたは最終ピクセルにマッピングされまたは変換される必要がある。この変換を決定する方法を、ワーピングと呼ぶ。ワーピング技法は、当業者にはよく知られており、様々な線形および非線形の技法が広く使用可能である。例えば、垂直軸に沿って５０ピクセルを有するターゲット画像にマッピングすべき垂直軸に沿って１００ピクセルを有する入力画像の線形ワーピング技法について考察する。入力画像中の１つ置きのピクセルに関連する輝度値を平均するワーピングファンクションを使用することによってこの入力画像をワープさせる。次いで、１つの平均化された輝度値を、ターゲット画像にマッピングする。もちろん、上記例は、１次元の変換を生成するためのものであり、第２の次元の（例えば空間的な）変換には、これらの軸上での追加の処理パスが必要になり、追加の待ち時間が生成されることになる。
【０００７】
さらに、使用される技法はどれも近似であり、それに対応してワーピング技法は、エラーフリーではないので、ワーピング技法は、結果のワープされた画像にアーティファクト（例えば、欠陥またはエーリアシング）を生成する可能性がある。その結果、ワープされた画像はしばしば、品質のより良いワープされた画像を生成する追加のフィルタリング技法を必要とする。フィルタリング技法はまた、当業者にはよく知られており、不正確なピクセルマッピングを補正するために使用される。
【０００８】
さらに、ほとんどの信頼可能な非線形ワーピング技法のうちの多くは、画像ピクセルをマッピングする方法とは独立に作られる。したがって、これらの技法はしばしば２次元のピクセルについてのマッピングをもたらす。さらに、ＦＡＮＴ法など既存の画像ワーピング法では、ワーピングが２パスで行われる必要がある。それに対応して、ＦＡＮＴ法は、このワーピング変換ファンクションを２つの独立なファンクションに分解して画像を２つの別々のパスで処理してｘ軸ワーピングおよびｙ軸ワーピングに適応できるようにしてみる必要がある。しかし、必ずしもすべてのワーピング変換ファンクションをｘ軸とｙ軸の両軸に沿って分離可能なファンクションに分離することはできない。
【０００９】
１つのワーピングファンクションは、ｘ軸ワーピングをｙ軸ワーピングから独立に分離して、組み合わせるとｘ軸とｙ軸の両軸について元の１つのワーピングファンクションと同じになる２つの独立なファンクションを生成する場合に、分離可能と言う。したがって、ワーピングファンクションが分離可能でないとき、ＦＡＮＴ技法では、いずれにしてもｘワーピングファンクションとｙワーピングファンクションに分離しようという試みがなされ、その結果、ＦＡＮＴ技法によって生成されるワープされた画像中にアーティファクトが導入されることになる。当業者には理解されるように、これによって、ＦＡＮＴ法に追加のエラーが導入され、またＦＡＮＴ法で利用できる使用可能なワーピングアルゴリズムが制限される。さらに、既存のＦＡＮＴ法では、ピクセル輝度値が浮動小数点形式で表される必要があり、これによって、画像ワーピング法中で使用できる利用可能なワーピングアルゴリズムがさらに制限される。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
明らかなように、中間的なメモリもフィルタリングクリーンアップ技法も必要としない、デュアルパスのワープされた画像の必要性を低減する画像ワーピングの方法およびシステムを改善する必要がある。明らかなように、デュアルパスワーピング技法は、不必要なプロセス待ち時間も生成する。さらに、それぞれの分解されたファンクションが１次元で作用する２つの独立なファンクションにこれらの技法を分解しようと試みることなく既存のワーピング技法を使用する必要がある。最後に、ワーピング技法を固定小数点表示を有するソース画像内のピクセルに対して使用できるようにする必要もある。
【課題を解決するための手段】
【００１１】
第１および第２の座標軸と輝度値を有するピクセル座標対を受け取る２次元のピクセルをワープさせる方法が提供される。第１の次元の重みを第２の次元の重みと乗ずることによって１つの２次元ピクセル重みを特定する。このピクセル重みを輝度値と共に使用してこのピクセル座標対を１つまたは複数のターゲットピクセル座標対にワープさせる。
【００１２】
本発明の別の実施形態では、コンピュータ読取り可能媒体中に存在するワープされた画像が提供される。このワープされた画像は、１組の単一パス実行可能命令から生成される１つまたは複数のピクセル格子を含んでいる。この１組の単一パス実行可能命令は、１つまたは複数のソースピクセルから各ピクセル格子を生成するように動作可能であり、ここで、各ソースピクセルは、対応するピクセル格子中で表される各ソースピクセルに対する２次元のワーピングスケールを表現する重みを含んでいる。
【００１３】
本発明のさらに他の実施形態では、ソース画像をワープさせるシステムが提供される。このシステムは、各入力ピクセルが輝度値を有しソース画像に関連づけられる複数の入力ピクセルを含んでいる。さらに、このシステムは、入力ピクセルを処理してスケーリングデータを生成するように動作可能な１組のワーピング実行可能命令を含んでいる。さらに、このシステムは、入力ピクセルのワープされたバージョンを表す複数の宛先格子を含んでおり、このワープされたバージョンは、このスケーリングデータを使用して各入力ピクセルについて１つの２次元重みを生成する助けをすることによって生成される。各入力ピクセルの輝度値は、１つの２次元重みと組み合わされると各宛先格子を形成する。
【発明を実施するための最良の形態】
【００１４】
以下の説明では、本明細書の一部を成す添付図面を参照しており、これら添付図面には、本発明を実施することができる特定の実施形態が実例として示されている。これら実施形態は、当業者なら本発明を実施することができるように十分詳細に説明されており、他の実施形態を利用することもでき、本発明の範囲を逸脱することなく構造的、論理的、および電気的な変更を行うことができることを理解されたい。したがって、以下の説明は、限定的な意味で解釈すべきではなく、本発明の範囲は、添付の特許請求の範囲によって定義される。
【００１５】
システム用のソフトウェアは、１つまたは複数のコンピュータ読取り可能媒体に記憶される。一実施形態では、ソフトウェアは、ディスクドライバなどの二次記憶装置上に記憶され、必要に応じてこのコンピュータの主記憶装置およびキャッシュ中にロードされる。ソフトウェアは、一般的に１つのファンクションまたはサブセットの関連するファンクションを提供する実行可能命令の形式で書き込まれる。しかし、様々な実施形態では、ソフトウェアは、１つのモジュールまたは多数のモジュールを含み、ファンクションは一緒にグループ化される要求はない。ハードウェアおよび／またはファームウェアを使用して本発明をさらなる実施形態の形で実現することができる。ソフトウェアでは、ファンクションを実現することができ、あるいはデータベースに記憶するためにシステムに情報を提供するメニュー駆動インターフェースまたは他の手段を提供することによって人がファンクションを簡単に実施できるようにすることができる。
【００１６】
図１は、本発明に従って画像をワープさせるための一方法１００を示すものである。最初に、ステップ１１０でソース画像を検出し、各ピクセルを受け取る。次に、当技術分野で知られておりまたはこれ以降に開発される任意の、線形の、非線形の、または分離不可能なワーピングファンクションを取得し、この受領ピクセルをこの取得済みのファンクションにパスする。ファンクションの出力は、寄与の割合または受領ピクセルの宛先ピクセルへのスケーリングファクタに沿って、宛先ピクセルへ一対一マッピングしたものである。さらに、この一対一マッピングは、ｘ方向およびｙ方向（例えば、水平および垂直の方向／次元）のそれぞれで行われる。この一対一マッピングは、一般に浮動小数点数として表される。逐次的に各受領ピクセルのスケーリングファクタは、互いに比較するときに、組み合わされて、宛先格子（宛先画像中のサブセットのピクセルの有向行列）にマッピングされて所望のワーピングを実現するとき各受領ピクセルが果たす必要のあるそれぞれの寄与分に分解される。
【００１７】
例えば、ワーピングファンクションに渡される（１、１）で特定されるｘ座標およびｙ座標対を有する１つの入力ピクセルについて考察する。このワーピングファンクションは、浮動小数点数０．７５を生成し、これは入力ピクセルのｘ方向への一対一マッピングを表している。また、（２、１）で特定される第２のｘ座標およびｙ座標は、ワーピングファンクションに渡されるとき、数字１．３で表される浮動小数点マッピングを生成する。一部の実施形態では、第１の出力された浮動小数点数０．７５は、全部整数に切り捨てられて、すなわち１より小さい場合には０になる。したがって、本例では、０．７５は１より小さいので、（例えば、ｎが、宛先画像中のピクセル数であるとして、宛先ピクセルが０座標から開始されてｎ−１まで継続する場合）この宛先ピクセルに対するｘ方向の第１のピクセル座標として０を使用する。この第１の出力浮動小数点数０．７５のうちの非整数値は、宛先ピクセル位置０における受領ピクセル（１、１）のスケーリング寄与／ファクタを示す。これは、第１の座標対（１、１）のｘ方向に関連する受領ピクセルの０．７５が、この宛先ピクセルについてのｘ方向の０番目の位置（例えば、実際には最初の位置）を占めるべきであることを意味している。
【００１８】
もちろん、直ちに明らかなように、一部の実施形態では浮動小数点数は次の全体整数に丸められて、切り捨てられないことがある。このような方法では、出力宛先ピクセルは、０でなくて１から開始されるように表される。直ちに明らかなように、浮動小数点マッピングが整数表現に切り捨てられるかそれとも丸められるかは、重要ではなく、対応して本発明の教義を逸脱することなく、適宜任意の実装形態を使用することができる。
【００１９】
次に、第２のｘ軸およびｙ軸の対のマッピング１．３を、ワーピングファンクションから受け取る。１．３を切り捨てることにより、１の値を有する宛先位置（例えば、ｘ方向に沿った宛先格子中の実際には第２の物理位置）が生成される。さらに、以前のマッピング値０．７５と現在のマッピング値１．３の差によって、０．５５という値がもたらされる。しかし、ｘ方向に沿った宛先ピクセル格子の０番目の位置は、７５％（例えば、０．７５×１００）しか完了されておらず、これに対応して第２の座標対のｘ方向のうち２５％（例えば（０．７５−０．５５）×１００）が、この０番目の位置を満たすために使用され、残りの３０％（例えば、（０．５５−０．２５）×１００）が１番目の位置を満たすために使用される。この方法では、当業者には簡単に理解されるように、受領ピクセルの宛先格子へのワーピングが連続的な動作である。さらに、このワーピングファンクションおよび前述の比較は、このワーピングが２次元で行われるように、各受領ピクセルごとにｙ方向に対しても同様に適用される。もちろん本発明の教義は任意のｎ次元のワーピング（ここで、ｎは＞＝２である）に対して適用される。
【００２０】
受領ピクセルについての以前のマッピング値と現在のマッピング値との比較によって１より大きな値がもたらされる場合には、現在の受領ピクセルは、複数の宛先ピクセルを満たすのに十分であり、伸張されると言う。さらに、かかる場合にはスケーリングファクタは、１である。代わりに、現在の受領ピクセルについて１より小さなスケーリングファクタは、１つの宛先ピクセルを満たすのに十分ではなく、したがって圧縮されるという。
【００２１】
１回または複数回の比較が行われた後、ステップ１２０で１つの重みが受領ピクセルに割り当てられる。１つのピクセルしか重み付けが行われない場合、ｘ方向とｙ方向の両方向についてこのワーピングファンクションからもたらされるスケーリングファクタは、一緒にして乗ぜられ、この１つのピクセルに対する１つのカーネル重みがもたらされる。もちろん、効率を上げる目的で、複数の受領ピクセルが、宛先画像で表される宛先格子にワープされるとき、１つのカーネル重みは、行列カーネル重みを含み、この行列カーネル重みは、宛先格子への各ピクセルの寄与を定義する１つまたは複数の入力ピクセルに関連づけられる。行列内の各単一セルは、各入力ピクセルのｘ方向およびｙ方向のスケーリングファクタの積を特定する。
【００２２】
例えば、前述のように比較し終わった複数の入力ピクセルのスケーリングファクタを考慮してｙ方向に沿ったベクトルＷｙ＝［．６１  ．４］およびｘ方向に沿ったＷｘ＝［．７５  ．２５］を生成する。一部の実施形態における複数の入力ピクセルに関連する１つのカーネル重みは、２つのベクトルの行列積によって表される。もちろん、Ｗｘは１×２次元ベクトルであり、Ｗｙは１×３次元のベクトルであるので、ＷｘはＷｘが２×１次元ベクトルになるようにベクトル乗算の前に転置する必要がある。これに対応して複数の入力ピクセルの１つのカーネル重みは以下のように表される。
【００２３】
【数１】
2005513630.tif 000003
【００２４】
ステップ１２０で１つの受領ピクセルまたはピクセルの集合（例えば、行列Ｗ）について１つの２次元カーネル重みを決定した後、次いでステップ１３０で受領ピクセルを宛先格子（Ｌ）にマッピングする。以前に提示したように、Ｌは、宛先画像に含まれ、またはそれで表される有向行列である。特定の宛先ピクセルのロケーションは、以前に提示したように取得済みのワーピングファンクションから戻される切り捨てられまたは丸められた整数によって識別される。さらに、特定の宛先ピクセルに関連するカバレージ区域は、前述の比較プロセスによって実現される。また、定義済みのカバレージ区域をもつ定義済みの宛先ピクセルにマッピングされた受領ピクセルに関連する特定の輝度値は、その獲得済みカーネル重み（例えば、Ｗ）で受領ピクセルの輝度値を乗ずることによって実現される。ＬおよびＷの寸法はピクセルごとに変化し得る。
【００２５】
当業者には理解されるように、以前に論じた方法１００では、各ピクセルに操作上の１つのパスを実施することによって画像のワーピングに関連する処理が少なくなる。したがって、画像を格納するためには中間メモリが要求とされず、提供されたワーピングファンクションを分解して画像の各次元ごとに２つの独立なファンクションを生成する必要はない。さらに、１つのピクセルまたは受領ピクセルの集合を操作してそれぞれを宛先格子Ｌ、および複数のＬを含む結果のワープされた画像にマッピングすることによって処理スループットが高められる。
【００２６】
さらに、当業者には簡単に理解されるように、上記方法１００では、２次元の画像のワーピングに関して論じているが、ＷおよびＬの寸法は２次元に沿った計算だけには限定されないので、任意のｎ次元（ここでｎは＞＝２）でも本発明の恩恵が得られるはずである。
【００２７】
図２は、ピクセルをワープさせるための一方法２００を表すフローチャートを示している。各ピクセルは、画像内のそのロケーションに関して特定される。この特定は、ピクセル座標を用いて実現される。一般に、ピクセル座標は、空間的な２次元で、すなわち水平次元（例えば、ｘ方向）および垂直次元（例えば、ｙ方向）で表現される。一部の実施形態では、２方向のピクセル座標が組み合わされてピクセル座標対２０１（例えば、（ｘ，ｙ））が形成される。このピクセル座標対は、画像内のピクセルを一意的に特定する。しかし、かかる次元がワーピングに関連した場合には、ピクセル座標対２０１を拡張して複数の次元を含めることができるはずである。例えば、一部の実施形態では、ピクセル座標対が（ｘ，ｙ，ｚ）で表されるように、ビデオストリーム内のワーピング画像は、各ピクセルに関連する時間次元（ｚ）を含む。他の実施形態では、第３または第４の次元を使用して水深および高度が表される。
【００２８】
ステップ２１３、２１５、２２３、および２２５で、ピクセルを受け取る。ステップ２１３で、最初の受領ピクセルのｘ座標を獲得済みのワーピングファンクションｘ０が受け取り、一方でステップ２３３で、最初の受領ピクセルの対応するｙ座標を同じまたは別のワーピングファンクションｙ０が受け取る。ワーピングファンクションｘ０およびｙ０を図２に分離可能なファンクションとして示しているが、本発明の教義を用いて分離不可能な１つのファンクションを使用することさえできるので本発明をそのように限定する意図はない。同様にして、図２の方法２００では、ステップ２１５で、最後のｘ座標ピクセルを獲得済みのワーピングファンクションｘｎが受け取り、最後のｙ座標ピクセルを獲得済みのワーピングファンクションｙｍが受け取り、ここでｍおよびｎがソース画像寸法を表すように、ソース画像に関連する最後のピクセルを処理することができる。
【００２９】
特定の任意のピクセル座標対２０１を受け取り処理するとき、各軸に沿った、現在に処理されたピクセル座標対２０１の必要なカバレージ区域と比較された、生成されたターゲットピクセル格子中の最近処理されたピクセル座標対２０１カバレージ区域の差（例えば、ステップ２１１および２２４）に注目する。さらに、一部実施形態では、ワーピングファンクション（例えば、２１３、２１５、２２３、および２２５）から生成されるターゲットピクセル格子のカバレージ区域は、ステップ２１０、２１２、２２０および２２２で全体整数に丸め、または切り捨てられる。次に、一部実施形態では、ステップ２１４および２２４で、各軸に沿ったピクセル格子ないの最近処理されたピクセルロケーションとピクセル格子をもつ現在に処理されたピクセルの所望のロケーションとの間で比較を行って図１を用いて以前に述べたようにベクトルを生成する。
【００３０】
ベクトルを取得した後に、一部実施形態では、ステップ２３０で現在に処理されたピクセル座標対２０１についてｘ方向ベクトルとｙ方向ベクトルを乗ずることによって１つのピクセル座標重みを特定する。この結果得られる積は、図１を用いて前述したように、ステップ２４０におけるターゲットピクセル格子を形成する助けとなる。
【００３１】
さらに、図２に示すワーピングファンクションは、固定小数点または浮動小数点の表現を可能にする線形、非線型、分離可能、または分離不可能な任意のワーピングファンクションを含むことができる。さらに固定小数点表現は、本発明を用いたものと同様に動作するのでピクセル座標重みを浮動小数点で表現する必要はない。さらに、図２に示すように、ワープされる元のソース画像中の各ピクセルおよび対応するピクセル座標対２０１は、残りのすべてのピクセル座標対２０１が残りのすべてのターゲットピクセル座標対へとワープされるまで、以前に処理されたピクセル座標対２０１に対して逐次並行してワープされる。この方法では、ソース画像全体が、ソース画像内で各ピクセルの単一パスを行うことによってワープされ、ワープされた２次元のターゲット画像が生成される。
【００３２】
一部の実施形態では、ステップ２２４で、取得済みのワーピングファンクションから生成された結果のｘピクセル重みおよびｙピクセル重みを乗じて、ステップ２３０でｘ軸とｙ軸の両軸に沿ったピクセル座標対２０１についての１つのピクセル重みを表す１つの積行列を生成する。さらに他の実施形態では、ピクセル座標対の集合をまとめてグループ化し、この集合について１つのカーネル重みを取得し、より大きな行列として表す。
【００３３】
図２に示すように、一部の実施形態では、ソース画像からの追加のピクセル座標対を、これらが尽きるまで処理する。さらに一部の実施形態では、ステップ２４０でターゲットピクセルを論理的に関連づけて格子または行列を形成する。さらに、ピクセルにターゲットピクセル格子内の適切なロケーションを割り当てた（例えば、ステップ２４０）後に、またピクセル座標対２０１が、１つのピクセル座標重みを取得した（例えば、ステップ２３０）後に、このピクセルを圧縮し、伸張し、回転し、スケーリングし、変換し、またはこれらの任意の組合せを行うことができる。
【００３４】
図３は、画像をワープさせるための別の方法３００を表す一フローチャートを示すものである。ステップ３０２で、ソース画像が特定され、ステップ３１０でこのソース画像に関連する入力ピクセルが獲得される。さらにステップ３１２で、獲得済みの各入力ピクセルを、１組のワーピング実行可能命令に渡す。以前に提示したように、一部の実施形態では、１つのピクセルについての１組のワーピング実行可能命令の出力は、各入力ピクセルについての１つの浮動小数点数となる。この浮動小数点数の整数部分は、宛先画像に関連する出力格子内のロケーションを表す。この入力ピクセルがその出力格子にマッピングされるとき、この浮動小数点の１０進部分は、各入力ピクセルについての寄与分またはスケールを表す。
【００３５】
もちろん、簡単に理解されるように、一部の実施形態では１組のワーピング実行可能命令からの出力は、ステップ３１６に示すように、固定小数点または浮動小数点の表現を含んでいる。例えば、固定小数点出力表示を分解して宛先格子内のスケールと宛先ピクセルの両者を生成する。分解には、固定小数点数をあるファクタで除算するなどの任意の安定した偏差が含まれ、この結果得られる整数解は宛先ピクセル座標であり、解に関連する残余は、そのスケールである。さらに、当業者には理解されるように、任意の、線形、非線型、分離可能、または分離不可能な分解が、容易に許容可能であり、本発明の範囲内に含まれるように意図している。
【００３６】
ステップ３１４において、各入力ピクセルの輝度値を記録する。ステップ３１２で、１つまたは複数の入力ピクセルについてのスケールを、その１組のワーピング実行可能命令から獲得した後、各ピクセル値に関連する各寸法におけるスケールの積を使用することによって、各入力ピクセルごとの重みを解いて前述のように重みを生成する。この１組のワーピング実行可能命令から受け取った後に、ステップ３２２で各入力ピクセルに関連する各寸法ごとのスケールを割り当てる。この方法では、１つの入力ピクセルは、関連する各宛先ピクセルごとにそれへの寄与分を決定する１つの重みを含んでいる。一部の実施形態では、このピクセルに関連する寸法は、ｘ寸法（例えば、水平寸法）およびｙ寸法（例えば、垂直寸法）を含んでいる。ステップ３２０で、各入力ピクセルごとの１つの重みを受け取る。
【００３７】
ステップ３３０で、入力ピクセルについて１つの受領重みが組み合わされる１組のワーピング実行可能命令から獲得される宛先ピクセルロケーションおよびスケーリングファクタを使用することによって、入力ピクセルを出力格子にマッピングする。この１つの重みに入力ピクセルの記憶された輝度値を乗じて宛先ピクセルの輝度値を決定し、それを出力格子にマッピングし書き込む。当業者には理解されるように、方法３００を用いて入力ピクセルを出力格子にマッピングする間、ほとんどまたは全く中間メモリは必要とされず、またこのマッピング動作は連続して行われる。これによって、処理スループットが増大し、１つまたは複数のコンピュータ読取り可能媒体上で１つまたは複数の処理要素を使用して方法３００を実施する１組の処理実行可能命令に関連して必要なメモリが少なくなる。この１組の処理実行可能命令は、入力ピクセルの１つの動作可能パスを実施し、前述のように出力格子へのマッピングを生成する。
【００３８】
ソース画像からの１つまたは複数の入力ピクセルを処理した後、ステップ３４０で、ステップ３３０のマッピングから、宛先画像が生成される。任意選択可能に、入力ピクセルがこれ以上、ソース画像からの処理を必要としなくなるまで、ソース画像内に含まれる各入力ピクセルを方法３００によって反復して獲得し処理し、すべてのソース画像の入力ピクセルの処理から１つの宛先画像が生成される。さらに、一部の実施形態では、宛先画像の一部分は、ステップ３４２に示すように、ソース画像の伸張部分、回転部分、および／または圧縮部分を表す。もちろん、一部の実施形態中では宛先画像全体が、ソース画像の圧縮表現、回転表現、または伸張表現になっている。
【００３９】
さらに、ステップ３３２では、格子を出力媒体上に表示する。一部の実施形態では、ディスプレイは、コンピュータモニタ、プリンタ、カメラ、テレビ、ならびに車両、航空機、海上船舶の制御パネルなどを含んでいる。他の実施形態では、ディスプレイは、メガネバイザやヘルメットバイザなど、インテリジェントアパレルのビュー内の画像を処理しワープさせるように動作可能であるインテリジェントアパレルを含んでいる。さらに、一部の実施形態では、ディスプレイは出力格子に関連した処理およびメモリから離れた場所にある。
【００４０】
図４は、本発明の教示によるワープされた画像４１０の一ブロック図を示すものである。線形、非線型、（例えば、一方がｘ軸で定義され、他方がｙ軸で定義される２つのファンクションに分解することができる）分離可能、または分離不可能なワーピングファンクション４０４を使用した１組の単一パス実行可能命令４０２は、複数のソースピクセル４００を処理する。ソースピクセル４００は、ワープさせるべきソース画像に関連している。起こすべき厳密なワーピングは、提供および／または選択されたワーピングファンクション４０４によって定義される。以前に提示したように、様々な周知のワーピングファンクションは、当業者にはよく知られており、これらのワーピングファンクションのすべてが本発明の範囲内に含まれるよう意図している。
【００４１】
ワーピングファンクション４０４がワープされた画像４１０内のピクセルロケーションを提供した後、この提供されたロケーションは、ワープされた画像４１０内の特定のピクセル格子４１２および対応するピクセル４１４に関連づけられる。さらに、各ソースピクセル４００についての輝度値に２次元の重み４０６を乗じてワープされた画像４１０内に含まれるピクセルロケーションの輝度値を決定するように、２次元の重み４０６を１組の処理実行可能命令４０２によって計算する。
【００４２】
一部の実施形態では、提供されたワーピングファンクション４０４によって処理した後、ソースピクセル４００の各寸法ごとに、戻された個別のスケーリングファクタを乗ずることによって２次元の重み４０６を決定する。さらに、他の実施形態では、２次元の重み４０６は、以上で提示したように、複数のソースピクセルスケールに関連する行列を含んでいる。しかし、重み４０６は、ソースピクセル４００の各寸法に関連する個別のスケールの積として説明されているが、当業者には簡単に理解されるように、ソースピクセル４００についての１つの重み４０６を生成するために複数寸法に関連するスケールを組み合わせる一貫したアルゴリズムが、本発明の範囲内に含まれると意図しているので、乗算は必要ではない。
【００４３】
さらに、一部の実施形態では、ビデオ全体が１つまたは複数のワープされた画像４１０を含むように、ワープされた画像４１０を表示し、またはビデオストリーム４２０の形で使用する。この方法では、互いに逐次関連づけられる入力画像の集合を、一括／選択的ににワープさせて本発明の教義による１つまたは複数のワープされた画像４１０を有する１つのビデオストリーム４２０を生成する。もちろん、他の実施形態では、ワープされた画像４１０は、印刷媒体、ディスプレイ媒体、ブラウザ媒体中などに含まれる。
【００４４】
図５は、ソース画像５０２を宛先画像５０４中にワープさせるための一システム５１０の一ブロック図を示すものである。このシステム５１０は、それぞれがピクセル座標５２４によって特定される少なくとも２次元属性を有するソース画像５０２に関連する入力ピクセル５２０を含んでいる。さらに、各入力ピクセルは、輝度値５２２を有する。システム５１０はまた、スケーリングデータ５３２を生成するように動作可能な１組のワーピング実行可能命令５３０を含んでいる。さらに、このシステム５１０は、宛先格子５４０がワープされた入力ピクセル５２０の輝度値５２２を格納した後に、入力ピクセル５２０のワープされたバージョンを表す複数の宛先格子５４０を含んでいる。
【００４５】
スケーリングデータ５３２は、各入力ピクセル５２０に関連する各寸法ごとのスケールを特定し、このスケーリングデータ５３２はまた、宛先格子５４０に現れるときに入力ピクセル５２０の宛先ロケーションおよび座標を定義する助けもする。一部の実施形態では、このスケールは、水平寸法および垂直寸法に関連する。さらに、スケーリングデータ５３２を生成するために使用される１組のワーピング実行可能命令５３０を組み合わせて各入力ピクセル５２０に関連する１つの重み５４５を生成し、１つの重み５４５はすべて、水平重み５４２や垂直重み５４４など、入力ピクセル５２０の各寸法に関連する個別の重みの集まりを表す。
【００４６】
他の実施形態では、１組のワーピング実行可能命令５３０は、宛先格子５４０に存在する宛先ピクセルに対する提供された入力ピクセル５２０の特定の一対一のマッピングを特定する。さらに、１組の処理実行可能命令５５０は、入力ピクセル５２０に対する単一動作可能パス中の宛先ピクセルおよび１つの重み５４５を使用して宛先格子５４０を動的に形成する。宛先格子５４０の集合は、元々提供されたソース画像５０２のワープされたバージョンを表す１つの宛先画像５０４を形成する。一部の実施形態では、ワープされた宛先画像５０４は、伸張、圧縮、スケール、および／または回転が行われたソース画像５０２を表す。
【００４７】
一部の実施形態では、１組のワーピング実行可能命令５３０は分離不可能であり、生成されたスケーリングデータ５３２を各寸法ごとに独立に分離することができない。さらに、当業者には簡単に理解されるように、システム５１０の、この結果得られる宛先格子５４０は、連続的な操作で生成され、それに対応して、一部の実施形態では、宛先格子５４０を含む宛先ピクセル内のワーピングエラーの理由を説明するために追加の組のフィルタリング実行可能命令は必要とされない。
【００４８】
さらに、一部の実施形態では、システム５１０は、ビデオ装置および／または監視装置に関連して使用される。他の実施形態では、システム５１０を使用して印刷媒体、ブラウザ媒体、ディスプレイ媒体などのためのワープされた宛先画像５０４を生成する。
【００４９】
結論
本発明の教義による画像ワーピングの方法、データ、およびシステムは、優れたワープされた画像の品質および処理スループットを提供する。ワーピングは連続的な操作によって実施され、この結果、ワーピングから生成された結果の画像にフィルタをかけて画像のエーリアシングおよびアーティファクトを補正する必要が少なくなる。ワーピングには入力ソースピクセルに対する２つの操作パスが必要なことからワーピングファンクションを各ピクセル寸法ごとに分解する必要があるので、ＦＡＮＴ法など既存の技法および方法では、アーティファクトが生成される。反対に、本発明では、非分離可能で分離不可能なワーピングファンクションを操作可能である。さらに、既存の技法および方法では、固定小数点と浮動小数点の両方のワーピングファンクションに対して実施しておらず、その結果、既存の技法で使用可能なワーピングファンクションには制約がある。
【００５０】
また、画像をワープさせるための方法、機能データおよびシステムとしての単なる例として本発明を説明してきたが、本発明は、逆のやり方でも同様に動作することができることが当業者には直ちに明らかであろう。例えば、ワープされた出力画像およびソース画像が与えられたとすると、本発明では、ワープされた出力画像の生成に関連する適切な重みを生成することができる。この方法では、最初に提供されたワープされた出力画像およびソース画像から本発明を使用して後続のソース画像を同様なワープされた画像に変換するために必要な重みが導き出されるので、多数の計算上で費用がかかる変換動作を実施する必要なしに後続のソース画像の処理から同様なワープ出力された画像を生成することができる。したがって、一連の静止画像からなるビデオストリーム全体を、１つの入力画像および１つの所望の出力画像から所望の効果を伴って高速にワープさせることができる。
【００５１】
さらに、ワーピング工程中に中間的なソース画像をメモリに記憶する必要がないようにするために、ソース画像に関連する各入力ピクセルを本発明では１回しか処理していない。したがって、本発明の教義を用いて（例えば、ストリーミング技術を使用することにより）、処理待ち時間が劇的に減少し、または完全になくなるので、実時間の画像ワーピングはより簡単に実現される。
【図面の簡単な説明】
【００５２】
【図１】画像をワープさせる方法を示すフローチャートである。
【図２】ピクセルをワープさせる方法を示すフローチャートである。
【図３】画像をワープさせる別の方法を示すフローチャートである。
【図４】ワープされた画像を示すブロック図である。
【図５】ソース画像をワープさせるシステムのブロック図である。
【図１】
2005513630.tif 000004
【図２】
2005513630.tif 000005
【図３】
2005513630.tif 000006
【図４】
2005513630.tif 000007
【図５】
2005513630.tif 000008
【国際調査報告】
2005513630.tif 000009
2005513630.tif 000010
2005513630.tif 000011