(57)【要約】【課題】広角カメラによってキャプチャされたイメージにおける歪みの問題および知覚の問題を軽減すること。【解決手段】一般に、リアルタイム広角イメージ補正方法は、広角イメージのピクセル座標からワープテーブルを生成し、そのワープテーブルを広角イメージに適用して補正された広角イメージを生成する。補正は、空間的に変化する一様な（ＳＶＵ）スケーリング関数を含むパラメトリッククラスのワープ関数を使用して行われる。ＳＶＵスケーリング関数およびスケーリング係数を使用して、広角イメージピクセル座標に対して垂直方向のスケーリングおよび水平方向のスケーリングが行われる。ＳＶＵスケーリング関数、および少なくとも２つの異なるスケーリング係数を使用して、水平方向の歪みの補正が行われる。この処理により、広角イメージに適用して補正された広角イメージをもたらすことができるワープテーブルが生成される。【選択図】　　　　図１
2004038973.tif 000002
【特許請求の範囲】
【請求項１】
広角イメージのリアルタイム補正を行うための方法であって、
前記広角イメージから、以降、広角イメージピクセル座標とも呼ぶピクセル座標を獲得するステップと、
パラメトリックイメージワープ関数を前記ピクセル座標に適用することによってワープテーブルを生成するステップと、
前記ワープテーブルを使用して前記広角イメージをリアルタイムでワープして、補正された広角イメージを生成するステップと
を含むことを特徴とする方法。
【請求項２】
前記パラメトリックイメージワープ関数は、空間的に変化する一様な（ＳＶＵ）スケーリング関数であることを特徴とする請求項１に記載の方法。
【請求項３】
前記ワープテーブルを生成するステップは、
前記パラメトリックイメージワープ関数を使用して前記広角イメージピクセル座標を垂直方向でスケーリングして、垂直方向でスケーリングされた広角イメージピクセル座標を生成するステップと、
前記パラメトリックイメージワープ関数を使用して前記垂直方向でスケーリングされた広角イメージピクセル座標を水平方向でスケーリングして、予備的なピクセル座標を含む予備的なワープテーブルを生成するステップと、
前記パラメトリックイメージワープ関数を使用して前記予備的なワープテーブルに対して水平方向の歪みの補正を行って、前記ワープテーブルを生成するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
各垂直走査線を垂直方向でスケーリングするステップは、主スケーリング係数を使用して垂直方向で前記広角イメージピクセル座標をスケーリングするステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
ソース曲線およびターゲット曲線を使用して前記主スケーリング係数を計算するステップをさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
ソース曲線を指定するステップと、
ワーピング係数を指定するステップと、
前記ソース曲線および前記ワーピング係数を使用してターゲット曲線を計算するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ソース曲線は、下部ソース曲線および上部ソース曲線をさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ターゲット曲線は、下部ターゲット曲線および上部ターゲット曲線をさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記水平方向でスケーリングするステップはさらに、各垂直走査線に関して主スケーリング係数を使用して前記広角イメージピクセル座標を水平方向でスケーリングすることを含むことを特徴とする請求項３に記載の方法。
【請求項１０】
前記主スケーリング係数は、ソース曲線およびターゲット曲線を使用して計算されることを特徴とする請求項９に記載の方法。
【請求項１１】
前記水平方向でスケーリングするステップはさらに、前記主スケーリング係数を使用して前記垂直方向でスケーリングされた広角イメージピクセル座標を水平方向でスケーリングすることを含むことを特徴とする請求項４に記載の方法。
【請求項１２】
前記水平方向の歪みの補正を行うステップは、
前記予備的なワープテーブルを複数のセクションに分割するステップと、
前記セクションのそれぞれの中に含まれる予備的なピクセル座標を少なくとも２つの異なるスケーリング係数を使用して垂直方向でスケーリングするステップと
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項１３】
前記少なくとも２つの異なるスケーリング係数は、主スケーリング係数および副スケーリング係数を含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
請求項１に記載の方法を行うためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項１５】
広角カメラによってキャプチャされた広角イメージの歪みを補正するための方法であって、
前記広角イメージのピクセル座標に対応する広角ピクセル座標を入力するステップと、
スケーリング係数を有する空間的に変化する一様な（ＳＶＵ）スケーリング関数を使用して、補正された広角ピクセル座標を含むワープテーブルを生成するステップと、
前記広角イメージ内の誇張された深度が補正された補正済みの広角イメージを生成するステップと
を含むことを特徴とする方法。
【請求項１６】
前記スケーリング係数を調整して水平方向の歪みを補正するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
ソース曲線およびターゲット曲線を定義して前記ＳＶＵスケーリング関数を決定するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記ソース曲線は、ユーザによって定義されることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記広角イメージに適用されるワープの量を指定するワーピング係数をユーザに定義させるステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
前記スケーリング係数を調整するステップは、垂直方向スケーリング係数を定義して水平方向のスケーリングを制御することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２１】
広角イメージのリアルタイムの補正およびビューイングのためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
前記広角イメージ内のピクセル座標を含むワープテーブルを生成するステップと、前記ワープテーブルを前記広角イメージに適用して補正された広角イメージを生成するステップとを含んでおり、
前記ワープテーブルを生成するステップは、
前記広角イメージ上のソース曲線を指定するステップと、
前記広角イメージピクセル座標に適用されるワープの量に対応するワーピング係数を指定するステップと、
前記ソース曲線および前記ワーピング係数を使用してターゲット曲線を計算するステップと、
前記ソース曲線および前記ターゲット曲線を使用して主スケーリング係数を計算するステップと、
前記主スケーリング係数を使用して前記広角イメージピクセル座標をスケーリングし、前記ワープテーブルを生成するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項２２】
前記主スケーリング係数を使用するステップは、
前記主スケーリング係数を使用して前記広角イメージピクセル座標の各垂直走査線を垂直方向でスケーリングするステップと、
前記主スケーリング係数を使用して前記広角イメージピクセル座標を水平方向でスケーリングするステップと
をさらに含むことを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記ワーピング係数は、０から１の範囲の数であることを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
前記ソース曲線は上部ソース曲線および下部ソース曲線を含み、該上部ソース曲線は前記広角イメージの上部における水平方向の特徴を定義し、前記下部ソース曲線は前記広角イメージの下部における水平方向の特徴を定義することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
広角イメージをワープするための方法であって、
パラメトリックイメージワープ関数および主スケーリング係数を使用して前記広角イメージの各垂直走査線のピクセル座標を垂直方向でスケーリングするステップと、
前記パラメトリックイメージワープ関数および前記主スケーリング係数を使用して前記広角イメージの前記ピクセル座標を水平方向でスケーリングするステップと、
予備的なピクセル座標を含む予備的なワープテーブルを生成するステップと、前記パラメトリックイメージワープ関数および前記主スケーリング係数を前記予備的なワープテーブルに適用することによって水平方向の歪みを補正して、ワープテーブルを生成するステップと
を含むことを特徴とする方法。
【請求項２６】
前記ワープテーブルを前記広角イメージに適用して、補正された広角イメージ内の前記広角イメージの前記ピクセル座標の位置を決定するステップと、
前記広角イメージの前記ピクセル座標のそれぞれに関するＲＧＢ値を前記補正された広角イメージに適用するステップと
をさらに含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記主スケーリング係数は、ユーザによって指定されたソース曲線および前記ソース曲線から計算されたターゲット曲線を使用して計算されることを特徴とする請求項２５に記載の方法。
【請求項２８】
前記水平方向の歪みを補正してワープテーブルを生成するステップは、副スケーリング係数を適用することをさらに含むことを特徴とする請求項２５に記載の方法。
【請求項２９】
広角イメージにおける歪みおよび知覚の問題を補正するための方法であって、
空間的に変化する一様な（ＳＶＵ）スケーリング関数および主スケーリング係数を使用して前記広角イメージのピクセル座標を垂直方向および水平方向でスケーリングして、予備的なピクセル座標を含む予備的なワープテーブルを生成するステップと、
前記予備的なワープテーブルを前記予備的なピクセル座標の少なくともいくつかをそれぞれが含む複数のセクションに分割するステップと、
前記主スケーリング係数と異なる副スケーリング係数を指定するステップと、
前記複数のセクションの第１のセットのセクションの中の予備的なピクセル座標に関して前記主スケーリング係数を使用し、かつ前記複数のセクションの第２のセットのセクションの中の予備的なピクセル座標に関して前記副スケーリング係数を使用して、前記複数のセクションのそれぞれを垂直方向でスケーリングして水平方向の歪みを補正するステップと
を含むことを特徴とする方法。
【請求項３０】
下部ソース曲線、上部ソース曲線、下部ターゲット曲線、および上部ターゲット曲線を使用して前記主スケーリング係数を計算するステップをさらに含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記下部ソース曲線、前記上部ソース曲線、前記下部ターゲット曲線、および前記上部ターゲット曲線は三次曲線であることを特徴とする請求項３０に記載の方法。
【請求項３２】
前記分割するステップは、前記上部ソース曲線と前記下部ソース曲線の間に位置する前記広角イメージ内のピクセルに対応する予備的なピクセル座標を含む第１のセクションを生成するステップをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３３】
前記第１のセットのセクションは前記第１のセクションであり、かつ、前記垂直方向でスケーリングするステップは、前記主スケーリング係数を使用して前記第１のセクションを垂直方向でスケーリングするステップをさらに含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
前記第２のセットのセクションは前記第１のセクションを除く前記複数のセクションのそれぞれを含み、かつ、前記垂直方向でスケーリングするステップは、前記副スケーリング係数を使用して前記第２のセットのセクションを垂直方向でスケーリングするステップをさらに含むことを特徴とする請求項３３に記載の方法。
【請求項３５】
スムージング関数を使用して前記複数のセクションのそれぞれを結合するステップをさらに含むことを特徴とする請求項２９に記載の方法。
【請求項３６】
前記予備的なワープテーブルに対して水平方向の歪みの補正を行ってワープテーブルを生成するステップをさらに含むことを特徴とする請求項２９に記載の方法。
【請求項３７】
前記ワープテーブルを使用して前記広角イメージから補正された広角イメージを生成するステップをさらに含むことを特徴とする請求項３６に記載の方法。
【請求項３８】
広角イメージにおける歪みおよび知覚の欠点を補正するためのリアルタイム広角イメージ補正システムであって、
前記広角イメージ内の各ピクセルの位置を指定するワープテーブルと、
パラメトリックイメージワープ関数を使用するワープテーブル生成モジュールと、
前記広角イメージピクセル座標を含む前記ワープテーブル生成モジュールから生成されたワープテーブルと、
前記ワープテーブルを前記広角イメージに適用して、補正された広角イメージを生成するリアルタイムイメージワープシステムと
を含むことを特徴とするリアルタイム広角イメージ補正システム。
【請求項３９】
前記パラメトリックイメージワープ関数は、空間的に変化する一様な（ＳＶＵ）スケーリング関数であることを特徴とする請求項３８に記載のリアルタイム広角イメージ補正システム。
【請求項４０】
前記ワープテーブル生成モジュールは、垂直方向および水平方向のスケーリングを行うための主スケーリング係数をさらに含むことを特徴とする請求項３８に記載のリアルタイム広角イメージ補正システム。
【請求項４１】
前記主スケーリング係数を計算するのに使用されるソース曲線およびターゲット曲線をさらに含むことを特徴とする請求項４０に記載のリアルタイム広角イメージ補正システム。
【請求項４２】
前記ワープテーブル生成モジュールは、
垂直方向のスケーリングおよび水平方向のスケーリングを行うための主スケーリング係数と、
水平方向の歪みの補正を行うための副スケーリング係数と
をさらに含むことを特徴とする請求項３８に記載のリアルタイム広角イメージ補正システム。
【請求項４３】
前記ワープテーブル生成モジュールは、
前記広角イメージピクセル座標を受け取る入力モジュールと、
前記パラメトリックイメージワープ関数を使用して前記広角イメージピクセル座標を垂直方向でスケーリングする垂直方向スケーリングモジュールと、
前記パラメトリックイメージワープ関数を使用して前記広角イメージピクセル座標を水平方向でスケーリングして、予備的なワープテーブルを生成する水平方向スケーリングモジュールと
をさらに含むことを特徴とする請求項３８に記載のリアルタイム広角イメージ補正システム。
【請求項４４】
前記予備的なワープテーブル内の予備的なピクセル座標を位置に応じて異なる量だけ垂直方向でスケーリングする水平方向歪み補正モジュールをさらに含むことを特徴とする請求項４３に記載のリアルタイム広角イメージ補正システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコンピュータを使用してイメージを見ることに関し、より詳細には、広角カメラによってキャプチャされたイメージをリアルタイムで補正して、そのようなイメージに付随する歪みおよび知覚の問題を軽減するようにするためのシステムおよび方法に関する。
【０００２】
【従来の技術】
大きな風景（ｓｃｅｎｅ）をキャプチャするのに、広角カメラがしばしば使用される。広角カメラは、通常、６０度よりも広い視野を有する。また広角カメラには、最高で３６０度の視野を有する極めて広角のカメラであるパノラマ式カメラも含まれる。
【０００３】
広角イメージは、少なくとも２つのタイプの投影を使用して見ることができる。線遠近法投影は、平坦なフィルム上に投影された広角レンズによってキャプチャされたイメージである。線遠近法投影は、形状を保持することを犠牲にして、まっすぐな線をまっすぐに保つ。これにより、遠近の歪み（ｐｅｒｓｐｅｃｔｉｖｅ　ｄｅｆｏｒｍａｔｉｏｎ）が生じる。イメージは、そのイメージを見る人が、視線を投影の中心に向ける場合、正しく見え、歪んでいるように見えない。しかし、より小さい視野を有する広角イメージを見るとき、見る人は、被写体が回転するにつれての画像平面上のイメージサイズの増加がより小さく、また歪みの量もより小さいことを予期する。これが、被写体が端で引き伸ばされて見える理由である。画像平面上のサイズおよび歪みの変化が予期していたより大きいことにより、ユーザは、特にパノラマイメージを見ているとき、あたかも風景が見る人の周りで泳いでいるかのように、風景が固定されていないと感じる。
【０００４】
円筒投影が、曲面のフィルム、および回転するスリットレンズ（ｓｌｉｔ　ｌｅｎｓ）を有する広角カメラを使用して生成される。円筒投影は、直線投影よりも形状を保持することに優れている。さらに、円筒投影は、明らかなスイミングモーション（ｓｗｉｍｍｉｎｇ　ｍｏｔｉｏｎ）があれば、それを緩和する。円筒投影では、直線投影よりもビューイング（ｖｉｅｗｉｎｇ）が向上しているが、それでも、歪みの問題および知覚の問題が存在する。詳細には、円筒投影は、必要以上に直線を湾曲させる。さらに、円筒投影は、パノラマイメージを見ている際に、自分の頭が回っているという錯覚をほとんど完全に取り去る。
【０００５】
広角イメージにおける歪みの問題および湾曲の問題は、視野ミスマッチによって生じさせられる。詳細には、コンピュータモニタ上のビューイングサイズが限られていること、および標準のビューイングの距離に起因して、見られるときにイメージによって範囲が定まる角は、風景を画像平面に当初に投影したカメラの視野よりもはるかに小さい。このミスマッチが、多くの歪みの問題および知覚の問題の原因である。
【０００６】
見る時点におけるより小さい視野によって生じさせられる付随する問題が、深度が誤って知覚されることである。広角イメージは、近くの被写体と遠くの被写体の間の深度の差を誇張する。風景の中の被写体の深度の１つの重要な視覚的な手がかりは、近くの場所と遠くの場所に配置された同様の被写体のイメージサイズ間の比（深度短縮比（ｄｅｐｔｈ　ｆｏｒｅｓｈｏｒｔｅｎｉｎｇ　ｒａｔｉｏ）と呼ばれる）である。より小さい視野により、より小さい短縮比がもたらされる。例えば、風景が、横に並んで立っており、一方の人が、他方の人よりもカメラからわずかに離れている２名の人を含むものと想定する。この風景が、通常の（およそ６０度の）視野のカメラによってキャプチャされ、同一の風景が、広角視野カメラを使用してキャプチャされた場合、風景の中の被写体のサイズは、異なって見える。詳細には、通常の視野のカメラでは、カメラからより遠くに離れている人は、他方の人よりもカメラからわずかに離れて見える。しかし、広角視野カメラでは、カメラからより遠くに離れている人は、他方の人よりもはるかに小さく見える。この誇張されたサイズの違いのため、カメラからより遠くに離れている人は、実際よりもはるかに遠くに離れて見える。奥行きのある風景（ビデオ会議風景などの）の広角イメージがコンピュータモニタ上で見られるとき、見る人の視野は、一般に、実際のイメージの視野よりはるかに小さい。したがって、見る人によって知覚される深度は、実際の深度よりはるかに大きい。
【０００７】
歪みの問題および知覚の問題が表出する１つの適用例が、ビデオ会議システムである。広角カメラが、しばしば、ビデオ会議システムにおいて会議室内に存在するすべての参加者を含むイメージをキャプチャし、伝送するのに使用される。
【０００８】
【発明が解決しようとする課題】
しかし、ビデオ会議を見る際、広角イメージにより部屋の奥行きが誇張されることが１つの問題である。これにより、イメージの中央にいる人々（通常、カメラから最も遠くに離れている）が、極端な短縮（ｆｏｒｓｈｏｒｔｅｎｉｎｇ）のため、その部屋の中のその他の人々と比べて非常に小さく見えることが生じる。
【０００９】
この歪みの問題および知覚の問題は、現行のパノラマビューイングソフトウェアを使用して広角イメージを見るとき、さらに明白である。ユーザが（仮想で）頭を回すにつれ、被写体は一方の端で既に引き伸ばされて見え、次に、被写体が中心を通るにつれて距離に応じて縮む。最後に、被写体は、他方の端で再び引き伸ばされる。これにより、固体の被写体は、ビューが回転するにつれて歪み、流れ出し（ｓｗｉｍ　ｏｕｔ）、次に流れ込む（ｓｗｉｎ　ｉｎ）するように見える。
【００１０】
したがって、広角カメラによってキャプチャされたイメージをリアルタイムで補正して、そのようなイメージに付随する歪みおよび知覚の問題を軽減するようにするためのシステムおよび方法の必要性が存在する。
【００１１】
本発明の目的は、広角カメラによってキャプチャされたイメージにおける歪みの問題および知覚の問題を軽減することのできるシステムおよび方法を提供することである。
【００１２】
【課題を解決するための手段】
本明細書に開示する本発明は、広角カメラによってキャプチャされた広角イメージにおける歪みの欠点および知覚の欠点をリアルタイムで補正することを提供するためのシステムおよび方法を含む。このリアルタイム広角イメージ補正のシステムおよび方法は、ある種のパラメトリックワープ関数（ｐａｒａｍｅｔｒｉｃ　ｗａｒｐｉｎｇｆｕｎｃｔｉｏｎ）を使用して広角イメージにおける歪みおよび知覚エラーを効果的、かつ効率的に補正する。さらに、このシステムは、ビデオ会議適用例において存在するような深度エラーも補正する。深度エラーの補正により、より有用で有意義なビデオ会議プレゼンテーションが可能になる。さらに、パラメトリックワープ関数を使用して、広角イメージを見るときに生じるスイミングモーションアーチファクト（ｓｗｉｍｍｉｎｇ　ｍｏｔｉｏｎ　ａｒｔｉｆａｃｔ）を除去することができる。
【００１３】
一般に、このリアルタイム広角イメージ補正方法は、欠点のある広角イメージを入力し、誇張された奥行きおよび水平方向の歪みを補正し、補正された広角イメージを出力する。この補正は、広角カメラに付随する問題の大半を克服しながら、新しい歪みの導入を最小限に抑えるように設計されたある種のワープ関数を使用して行われる。この新しい種類のワープ関数には、空間的に変化する一様なスケーリング（Ｓｐａｔｉａｌｌｙ　Ｖａｒｙｉｎｇ　Ｕｎｉｆｏｒｍ　Ｓｃａｌｉｎｇ）関数が含まれる。一般に、全体のコンテキストを保ちながら、局所レベルでスケーリングが行われる。ビデオ会議アプリケーションに関して、これは、ワープにより、各個人を歪めることなく、部屋のコンテキストが保たれて、離れた人々にズームインが行われることを意味する。
【００１４】
このリアルタイム広角補正方法は、広角イメージのピクセル座標を受け取ること、および広角イメージのピクセル座標に対して垂直方向のスケーリングおよび水平方向のスケーリングを行うことを含む。スケーリングは、パラメトリックイメージワープ関数を使用して行われる。このスケーリングにより、垂直の線をまっすぐに保つが、水平の線を歪める可能性があるイメージに対応する予備的なワープテーブルがもたらされる。これを補正するため、方法は、この予備的なワープテーブルに対して水平方向の歪み補正を行うことを含む。結果の出力が、補正されたイメージピクセル座標を元のイメージピクセル座標にマップするワープテーブルである。換言すれば、ワープテーブルにより、新しい補正された広角イメージ内における元のピクセル座標のそれぞれの位置が規定される。ワープテーブルを使用することで、元の広角イメージから補正された広角イメージがリアルタイムで構成される。補正された広角イメージには、実質的に歪みの問題および知覚の問題がない。
【００１５】
垂直方向のスケーリングは、パラメトリックイメージワープ関数およびワーピング係数（ａ　ｗａｒｐｉｎｇ　ｆａｃｔｏｒ）を使用してイメージ内の各垂直走査線に対して個々に行われる。主スケーリング係数（ｔｈｅ　ｍａｉｎ　ｓｃａｌｉｎｇ　ｆａｃｔｏｒ）は、ソース曲線、ワーピング係数、並びにソース曲線（ｓｏｕｒｃｅ　ｃｕｒｖｅｓ）とワーピング係数から計算されたターゲット曲線（ｔａｒｇｅｔ　ｃｕｒｖｅｓ）を使用して計算される。本発明の一態様は、ユーザによって定義されたソース曲線およびワーピング係数を有する。主スケーリング係数は、垂直方向でピクセル座標をスケーリングするのに使用される。仮想的な意味で、この垂直方向のスケーリングにより、広角イメージが選択された垂直走査線に関して、主スケーリング係数の量だけ垂直方向に「引き伸ばされる」。垂直走査線の水平方向のスケーリングも行われ、同一の主スケーリング係数を使用してアスペクト比が保たれる。垂直方向のスケーリングと同様に、水平方向のスケーリングも、仮想的な意味で、広角イメージの垂直走査線を主スケーリング係数の量だけ水平方向に局所的（ｌｏｃａｌｌｙ）に「引き伸ばす」ものと考えることができる。仮想的な意味で、元の広角イメージに垂直方向のスケーリングおよび水平方向のスケーリングを適用することにより、予備的な補正済みイメージが得られる。計算を速めるため、予備的な補正済みイメージの予備的なピクセル座標を元のイメージピクセル座標にマップする予備的なワープテーブルを生成する。
【００１６】
水平方向の歪みは、ピクセル座標の位置に従って予備的なワープテーブルをセクションに分割することによって補正される。このセクションのそれぞれが、異なるスケーリング係数を使用して垂直方向でスケーリングされる。本発明の一態様では、第１のセクションは、下部ソース曲線（ａ　ｂｏｔｔｏｍ　ｓｏｕｒｃｅ　ｃｕｒｖｅ）と上部ソース曲線（ａ　ｔｏｐ　ｓｏｕｒｃｅ　ｃｕｒｖｅ）の間に位置するピクセルに対応するピクセル座標を含むものと定義される。次に、主スケーリング係数を使用して、このセクション内のピクセル座標を垂直方向でスケーリングする。その他のセクション内のピクセル座標は、主スケーリング係数とは異なる値である副スケーリング係数（ａ　ｓｅｃｏｎｄａｒｙ　ｓｃａｌｉｎｇ　ｆａｃｔｏｒ）を使用して垂直方向でスケーリングする。連続性を保つため、以上のセクションのそれぞれをスムージング関数（ａ　ｓｍｏｏｔｈｉｎｇ　ｆｕｎｃｔｉｏｎ）を使用して結合する。予備的なワープテーブル内のピクセル座標に対して水平方向歪み補正プロセスを行うと、ワープテーブルが生成される。このワープテーブルを使用して、広角イメージのリアルタイムのワープを行い、リアルタイムで補正された広角イメージを生成する。
【００１７】
本発明のリアルタイム広角イメージ補正システムは、前述した方法を使用して広角イメージのリアルタイムの補正およびビューイングを提供する。
【００１８】
本発明は、以下の説明、および本発明の態様を例示する添付の図面を参照してさらに理解することができる。その他の特徴および利点は、例として、本発明の原理を示す添付の図面と併せて考慮される本発明の以下の詳細な説明から明白となる。
【００１９】
次に、すべての図面において同様の参照符号が対応する部分を表わす図面を参照する。
【００２０】
【発明の実施の形態】
本発明の以下の説明では、説明の一部を成す添付の図面を参照する。図面では、例として、本発明を実施することができる特定の例を示している。本発明の範囲を逸脱することなく、その他の実施形態を利用することができ、構造上の変更を行うことができることを理解されたい。
【００２１】
Ｉ．一般的な概要
本発明は、広角イメージを獲得し、処理して、出力が歪みのない、補正された広角イメージとなるようにするためのリアルタイム広角イメージ補正のシステムおよび方法を含む。このリアルタイム広角イメージ補正のシステムおよび方法を使用して、従来の広角イメージにつきまとう引き伸ばしの問題、曲率の歪の問題、および誇張された深度の問題なしに広角イメージを見ることができる。広角イメージの補正は、新しい種類のパラメトリックワープ関数を使用して達せられる。本発明の一態様では、このパラメトリックワープ関数は、局所的（ｌｏｃａｌ）な大小の関係（ｓｃａｌｉｎｇ　ｐｅｒｓｐｅｃｔｉｖｅ）を保持し、深度を誤った知覚を補正する空間的に変化する一様な（Ｓｐａｔｉａｌｌｙ　Ｖａｒｙｉｎｇ　Ｕｎｉｆｏｒｍ）（ＳＶＵ）スケーリング関数である。ＳＶＵスケーリング関数およびスケーリング係数は、イメージのピクセル座標に対して垂直方向のスケーリングおよび水平方向のスケーリングを行うのに使用される。これにより、予備的な補正済みイメージのピクセル位置を元のピクセル座標にマップする予備的なワープテーブルが生成される。この予備的な補正済みイメージは、仮想イメージであり、実際には構成されない。ただし、予備的な補正済みイメージは、垂直な線をまっすぐに保つが、水平な線を歪める。この水平方向の歪みが、ＳＶＵスケーリング関数、および少なくとも２つの異なるスケーリング係数を使用する水平方向歪み補正を行うことによって補正される。この処理により、ワープテーブルがもたらされる。ワープテーブルは、補正された広角イメージ内の位置を、歪みを有する広角イメージ内の元のピクセル座標にマップする。ワープテーブルを使用して、元の広角イメージから補正された広角イメージがリアルタイムで構成される。
【００２２】
図１は、本発明のリアルタイム広角イメージ補正システム１００の一般的な概要を示すブロック図である。一般に、システム１００は、広角イメージ１１０を獲得し、その広角イメージ内のピクセルのそれぞれの座標に対応する広角イメージピクセル座標１２０を入力する。広角イメージピクセル座標１２０は、リアルタイム広角イメージ補正システム１００によって処理され、補正された広角イメージ１３０が出力される。
【００２３】
広角イメージ１１０は、単一のイメージ（スチールカメラからのイメージなどの）であること、または一続きのイメージ（ビデオカメラからのイメージなどの）の一部であることが可能である。広角イメージ１１０内の各ピクセルの座標が獲得されて、広角イメージピクセル座標１２０が生成される。例えば、直線の座標枠内で、ピクセル座標１２０は、広角イメージ１１０内のピクセルのそれぞれの（ｘ，ｙ）位置である。リアルタイム広角イメージ補正モジュール１００は、ワープテーブル生成モジュール１４０、ワープテーブル１５０、およびリアルタイムイメージワープシステム１６０を含む。
【００２４】
ワープテーブル生成モジュール１４０は、パラメトリックイメージワープ関数を使用してワープテーブル１５０を生成するのに使用される。広角イメージピクセル座標１２０が処理されてワープテーブル１５０が生成される。ワープテーブル生成モジュール１４０の詳細について、以下に述べる。ワープテーブル１５０は、補正された広角イメージ１３０内の位置に対応するような形で構成された広角イメージピクセル座標１２０を含む。したがって、ワープテーブル１５０は、広角イメージピクセル座標１２０に対する補正された広角イメージ１３０内の新しい位置を決定する。
【００２５】
ワープテーブル１５０が生成されると、広角イメージ１１０が、リアルタイムワープシステム１６０への入力として受け取られる。リアルタイムイメージワープシステム１６０は、ワープテーブル１５０を広角イメージ１１０に適用して補正された広角イメージ１３０を生成する。リアルタイムワープシステム１６０は、補正された広角イメージ１３０内の各位置に関して、ワープテーブル１５０内に含まれるピクセル座標に位置する広角イメージ１１０に関するＲＧＢ値を獲得することにより、補正された広角イメージ１３０を生成する。これにより、広角ピクセル座標１２０におけるＲＧＢ値が、補正された広角イメージ１３０内に移される。新しい位置は、ワープテーブル１５０を使用して決められる。
【００２６】
ワーププロセスは、リアルタイムで行われる。というのは、ワープテーブルの生成により、補正された広角イメージ１３０を生成するのに、ワープテーブル１５０を広角イメージ１１０に適用するだけでよいことになるからである。この適用は、迅速に行うことができる。要するに、リアルタイム広角イメージ補正システム１００は、広角イメージピクセル座標１２０を処理することによってワープテーブルを生成し、次に、そのワープテーブル１５０を使用して広角イメージ１１０から補正された広角イメージ１３０を生成する。
【００２７】
ＩＩ．例示的な動作環境
本発明のリアルタイム広角イメージ補正システム１００は、コンピューティング環境において動作するように設計されている。以下の考察は、本発明を実施することができる適切なコンピューティング環境の簡単な一般的説明を提供することを意図している。
【００２８】
図２は、本発明を実施するのに適したコンピューティング装置を示すブロック図である。必須ではないが、本発明は、コンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈で説明する。一般に、プログラムモジュールには、特定のタスクを行うか、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。さらに、本発明は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実施してもよいことが、当分野の技術者には認められよう。本発明は、通信網を介してリンクされた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境において実施することも可能である。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルのコンピュータ記憶媒体と遠隔のコンピュータ記憶媒体の両方の中に配置されることが可能である。
【００２９】
図２を参照すると、本発明を実施するための例示的なシステムが、汎用コンピューティングデバイス２００を含む。詳細には、コンピューティングデバイス２００は、処理ユニット２０２、システムメモリ２０４、並びにシステムメモリ２０４から処理ユニット２０２までを含む様々なシステム構成要素を結合するシステムバス２０６を含む。システムバス２０６は、様々なバスアーキテクチャの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造の任意のものであることが可能である。システムメモリは、読取り専用メモリ（ＲＯＭ）２１０、およびランダムアクセスメモリ（ＲＡＭ）２１２を含む。始動中など、コンピューティングデバイス２００内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）２１４が、ＲＯＭ２１０の中に記憶されている。コンピューティングデバイス２００は、図示していないハードディスクに対して読取りおよび書込みを行うためのハードディスクドライブ２１６、取外し可能な磁気ディスク２２０に対して読取りおよび書込みを行うための磁気ディスクドライブ２１８、およびＣＤ−ＲＯＭ、またはその他の光媒体などの取外し可能な光ディスク２２４に対して読取りおよび書込みを行うための光ディスクドライブ２２２をさらに含む。ハードディスクドライブ２１６、磁気ディスクドライブ２２８、および光ディスクドライブ２２２は、それぞれ、ハードディスクドライブインターフェース２２６、磁気ディスクドライブインターフェース２２８、および光ディスクドライブインターフェース２３０でシステムバス２０６に接続される。以上のドライブ、および付随するコンピュータ可読媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストーレッジが、コンピューティングデバイス２００に提供される。
【００３０】
本明細書で説明する例示的な環境は、ハードディスク、取外し可能な磁気ディスク２２０、および取外し可能な光ディスク２２４を使用しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）などの、コンピュータがアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も例示的な動作環境において使用できることが、当分野の技術者には認められよう。
【００３１】
オペレーティングシステム２３２、１つまたは複数のアプリケーションプログラム２３４、その他のプログラムモジュール２３６（広角イメージワープ解除システム１００などの）、およびプログラムデータ２３８を含め、いくつかのプログラムモジュールが、ハードディスク、磁気ディスク２２０、光ディスク２２４、ＲＯＭ２１０、またはＲＡＭ２１２に記憶されていることが可能である。ユーザ（図示せず）は、キーボード２４０やポインティングデバイス２４２などの入力装置を介してコマンドおよび情報をコンピューティングデバイス２００に入力することができる。さらに、カメラ２４３（ビデオカメラなどの）、並びに、例えば、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等を含むその他の入力装置（図示せず）も、コンピューティングデバイス２００に接続されていることが可能である。これらの他の入力装置は、しばしば、システムバス２０６に結合されたシリアルポートインターフェース２４４を介して処理ユニット２０２に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）（ＵＳＢ）などの他のインターフェースで接続してもよい。また、モニタ２４６（または他のタイプの表示デバイス）も、ビデオアダプタ２４８などのインターフェースを介してシステムバス２０６に接続される。モニタ２４６に加えて、パーソナルコンピュータなどのコンピューティングデバイスは、通常、スピーカやプリンタなどのその他の周辺出力装置（図示せず）も含む。
【００３２】
コンピューティングデバイス２００は、リモートコンピュータ２５０のような１つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピュータ２５０は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードであることが可能であり、通常、コンピューティングデバイス２００に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶デバイス２５２だけを図２に示している。図２に描いた論理接続は、ローカルエリアネットワーク（ＬＡＮ）２５４およびワイドエリアネットワーク（ＷＡＮ）２５６を含む。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００３３】
ＬＡＮネットワーキング環境で使用されるとき、コンピューティングデバイス２００は、ネットワークインターフェースまたはネットワークアダプタ２５８を介してローカルネットワーク２５４に接続される。ＷＡＮネットワーキング環境で使用されるとき、コンピューティングデバイス２００は、通常、インターネットなどのワイドエリアネットワーク２５６を介して通信を確立するためのモデム２６０またはその他の手段を含む。内部にあることも、外部にあることも可能なモデム２６０は、シリアルポートインターフェース２４４を介してシステムバス２０６に接続される。ネットワーク化された環境では、コンピューティングデバイス２００に付随して描いたプログラムモジュール、またはプログラムモジュールの部分は、遠隔のメモリ記憶デバイス２５２の中に記憶されることが可能である。図示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立するその他の手段も使用できることが認められよう。
【００３４】
ＩＩＩ．システムの詳細
一般に、リアルタイム広角イメージ補正システム１００は、広角イメージ１１０のリアルタイムの補正を提供する。システム１００は、垂直方向および水平方向で曲率および歪みを補正する。さらに、システム１００は、深度やスイミングモーションなどの知覚の問題も補正する。
【００３５】
図３は、図１に示したワープテーブル生成モジュール１４０の詳細を示すブロック図である。詳細には、ワープテーブル生成モジュール１４０は、広角イメージピクセル座標１２０を入力するための入力モジュール３００を含む。このピクセル座標１２０は、広角イメージ１１０内の各ピクセルの位置を表わす。イメージ１１０は、単一のイメージであること、またはビデオカメラからのビデオシーケンスなどの一続きのイメージの１つであることが可能であることに留意されたい。また、モジュール１４０は、垂直方向スケーリングモジュール３１０も含む。垂直方向スケーリングモジュール３１０は、ワープ関数を使用して広角イメージピクセル座標１２０の各垂直走査線を処理して、広角イメージピクセル座標１２０が、垂直方向でスケーリングされるようにする。概念上、これは、広角イメージ１１０を垂直方向で「引き伸ばす」こととして考えることができる。この垂直方向のスケーリングにより、広角イメージ１１０における誇張された深度が、ある程度、補正される。
【００３６】
また、ワープテーブル生成モジュール１４０は、パラメトリックイメージワープ関数を使用して広角イメージピクセル座標１２０を水平方向でスケーリングするための水平方向スケーリングモジュール３２０も含む。垂直方向のスケーリングと同様に、概念上、これは、広角イメージ１１０を水平方向で「引き伸ばす」こととして考えることができる。さらに、水平方向のスケーリングは、広角イメージ１１０のアスペクト比が保たれるように各垂直走査線に対して個々に行われる。
【００３７】
垂直方向スケーリングモジュール３１０および水平方向スケーリングモジュール３２０は、予備的なピクセル座標を元のピクセル座標にマップする予備的なワープテーブルを作成する。この予備的なワープテーブルを使用して予備的な補正済みイメージを生成することが可能である。実際には、これは行われず、予備的な補正済みイメージは、仮想イメージである。予備的な補正済みイメージは、垂直の線が垂直に保たれるが、水平の線は歪められるという特性を有する。
【００３８】
この水平方向の歪みを補正するため、水平方向歪みモジュール３３０もワープテーブル生成モジュール１４０の中に含められる。水平方向歪みモジュール３３０は、予備的なワープテーブル内の予備的なピクセル座標を位置に応じて異なる量だけ垂直方向でスケーリングする。ワープテーブル生成モジュール１４０の出力が、ワープテーブル１５０である。ワープテーブルにより、補正された広角イメージ１３０内のピクセル座標が、元の広角イメージピクセル座標１２０にマップされる。
【００３９】
ＩＶ．広角イメージ補正動作の概要
本発明のリアルタイム広角イメージ補正方法は、パラメトリッククラスのイメージワープ関数を使用する。パラメトリックイメージワープ関数は、見る人が、イメージング装置よりも小さい視界を有することによって生じさせられるイメージ知覚問題を最小限に抑えようと試みる。パラメトリッククラスのイメージワープ関数は、空間的に変化する一様なスケーリング関数、またはＳＶＵスケーリング関数と呼ばれる。ＳＶＵスケーリング関数は、アスペクト比を保つ一様なスケーリング関数に局所的に似ている可能性があるが、スケーリング係数がイメージ全体で様々であり、ワープを生じさせる。さらに、等角投影（ｃｏｎｆｏｒｍａｌ　ｐｒｏｊｅｃｔｉｏｎ）のクラスにより、局所的な一様のスケーリングが提供されることが可能であるが、これらの関数は、視覚的に煩わしい回転を導入する。ＳＶＵスケーリング関数は、パノラマイメージを見る際、回転を回避し、スイミングモーションを取り除く。
【００４０】
図４は、図１に示したリアルタイム広角イメージ補正システム１００のリアルタイム広角イメージ補正方法の動作を示す一般的な流れ図である。一般に、この方法は、広角イメージピクセル座標からワープテーブルを生成し、そのワープテーブルを使用して広角イメージを処理して補正された広角イメージを生成する。より具体的には、広角イメージ１１０からの広角イメージピクセル座標１２０が、入力として受け取られる（ボックス４００）。次に、ワープテーブル１５０が生成される（ボックス４１０）。このワープテーブル１５０を使用して広角イメージピクセル座標１２０内の補正された広角イメージピクセル座標１３０の位置が決定される。
【００４１】
以下に述べる通り、ワープテーブル１５０の生成は、垂直方向のスケーリング、水平方向のスケーリング、および水平方向の歪みの補正を含む。垂直方向のスケーリングは、広角イメージ１１０の誇張された深度を補正する。誇張された深度を補正するため、広角イメージ１１０の中心における遠くの被写体または遠くの人々を、カメラに近い被写体または人々との関係で拡大する必要がある。言い換えれば、ワープ関数は、局所的に一様なスケーリングを模倣しながらも、側方部よりも中心部をズームアップするようでなければならない。ＳＶＵスケーリング関数は、垂直の線を垂直に保つ。
【００４２】
広角イメージ１１０のアスペクト比を保つため、水平方向のスケーリングも行われる。具体的には、パラメトリックイメージワープ関数（ＳＶＵスケーリング関数などの）を使用して水平方向のスケーリングを行って、広角イメージ１１０に関する各垂直走査線の新しい幅が生成される。ＳＶＵスケーリング関数は、垂直の線を垂直に保つが、ある量の垂直方向のねじれ（ｓｈｅａｒ）を誘発する。視覚的に、これは、水平の線の傾斜および歪みとして知覚される。風景は、しばしば、イメージの上部（ｔｏｐ）または下部（ｂｏｔｔｏｍ）近くで、歪みが目立つ可能性がある部屋のテーブルや天井などの水平面を含む。
【００４３】
この垂直方向のねじれを補正するため、リアルタイム広角イメージ補正方法は、水平方向の歪みの補正を行って広角イメージ１１０の水平方向の歪みを補正することをさらに含む。一般に、これは、垂直方向のスケーリングの一様性を緩和し、広角イメージ１１０内の垂直方向の位置で（垂直走査線に沿ってなど）非線形スケーリングを行うことによって達せられる。垂直方向のスケーリング、水平方向のスケーリング、および水平方向の歪みの補正の後、補正された広角イメージ１３０内のピクセルを広角イメージ１１０にマップするワープテーブル１５０が生成される。
【００４４】
ワープテーブル１５０が生成されると、広角イメージ１１０が入力として受け取られる（ボックス４２０）。次に、広角イメージ１１０がリアルタイムでワープされて補正された広角イメージ１３０が生成される。補正された広角イメージ１３０内の各位置に関して広角イメージ１１０内のピクセルが見出されるワープテーブルが確立されて、歪みのない広角イメージが生成される。
【００４５】
本発明のリアルタイム広角イメージ補正方法をより完全に理解するため、例を提示する。図２０が、図４に示したリアルタイム広角イメージ方法の動作の例を示している。詳細には、広角カメラ（図示せず）によってキャプチャされたビデオ会議の風景を含む広角イメージ１１０が、処理のために受け取られる。
【００４６】
次に、広角イメージ１１０内の各ピクセルの座標が決定される。この例では、垂直軸Ｙと水平軸Ｘを有する直線座標系が構成されて広角イメージ１１０に適用される。ソース広角イメージの幅はｗである。広角イメージ１１０からのピクセル２０００が、ピクセル座標（ｘ，ｙ）によって広角イメージピクセル座標１２０内で表わされる（ボックス２０１０）。ｘはＸ軸に沿ったピクセル２０００の水平方向の位置を表わし、また、ｙはＹ軸に沿ったピクセル２０００の垂直方向の位置を表わすことに留意されたい。
【００４７】
次に、ワープテーブル１５０が生成されて、補正されたイメージ１５０内のピクセル座標２０１０の位置が決定される。図２０に示す通り、このワープテーブルは、垂直軸Ｙ’と水平軸Ｘ’を有する第２の直線座標系を有する。補正されたイメージ１５０の幅はｗ’である。以下に詳細に説明するパラメトリックイメージワープ関数およびスケーリング係数を使用して、補正されたイメージ１５０内のピクセル座標の位置を表わす補正されたイメージ内の位置にピクセル座標２０１０が配置される。図２０に示す通り、ワープテーブル内のピクセル座標２０１０の位置は補正されたピクセル座標（ｘ’，ｙ’）で与えられる。この場合も、ｘ’はＸ’軸に沿ったピクセル座標２０１０の水平方向の位置を表わし、また、ｙ’はＹ’軸に沿ったピクセル座標２０１０の垂直方向の位置を表わすことに留意されたい。
【００４８】
補正されたイメージ１５０は、（広角イメージ１１０の）ピクセル２０００の位置を補正されたイメージ１５０内に位置する補正されたピクセル２０２０にマップするワープテーブルを使用することによってリアルタイムで生成される。補正されたイメージ１５０内のピクセル２０００の位置が決定されると、ピクセル２０００のＲＧＢ値を補正されたイメージ１５０内の補正されたピクセル２０２０に適用することができる。このようにして、広角イメージ１１０をリアルタイムで補正して、広角イメージに一般に付随する歪みおよび他の知覚の問題が実質的にない補正されたイメージ１５０を生成することができる。
【００４９】
Ｖ．動作の詳細
リアルタイム広角イメージ補正方法は、広角イメージをリアルタイムで処理して、広角イメージに付随する歪みおよび知覚の問題を補正する。この補正処理は、スケーリング係数を有するパラメトリッククラスのイメージワープ関数を使用して行われる。このパラメトリックイメージワープ関数およびスケーリング係数を使用して、広角イメージに直接に適用されるワープテーブルが生成される。本発明の一態様では、広角イメージは円筒投影である。また、本発明の一態様では、パラメトリックイメージワープ関数はＳＶＵスケーリング関数である。
【００５０】
垂直方向のスケーリング
図５は、図３に示した垂直方向スケーリングモジュール３１０の詳細を示す流れ図である。広角ピクセル座標１２０が入力として受け取られる（ボックス５００）。次に、パラメトリックイメージワープ関数（ＳＶＵスケーリング関数などの）が１組の曲線およびスケーリング係数を使用して決定される。詳細には、ソース曲線が指定され（ボックス５１０）、ワーピング係数も指定される（ボックス５２０）。このソース曲線およびワーピング係数を使用して、ターゲット曲線が計算される（ボックス５３０）。
【００５１】
図６は、２組の曲線、（１）ソース曲線、および（２）ターゲット曲線によるワープ関数の決定を示している。本発明の一態様では、ソース曲線は、簡単なユーザインターフェースを介してユーザによるものである。このソース曲線は、パラメトリックイメージワープ関数のパラメータを提供する。ユーザインターフェースを介して、ユーザは、２つの三次曲線を定義するように求められる。この２つのソース曲線は、人々の頭の上部やテーブルの縁などの共通の（実世界の）水平方向の特徴を定義する。図６に示す通り、上部ソース曲線Ｓｔおよび下部ソース曲線Ｓｂが指定される。
【００５２】
やはりユーザが選択することができるワーピング係数により、どれだけイメージがワープされるかが決定される。ワーピング係数αは、０から１の範囲にあり、ただし、α＝０はワープなしであり、また、α＝１は最大限のワープである。概念上、α＝０を指定することによりイメージがそのままにされ、α＝１を指定することにより、ソース曲線上のピクセルが端点間の線に引き寄せられる。通常、理想的なワーピング係数は０から１の範囲のおよそ中間にある。
【００５３】
ソース曲線およびワーピング係数が指定されると、ターゲット曲線を計算することができる（ボックス５３０）。ｙ＝Ｓｔ（ｘ）およびｙ＝Ｓｂ（ｘ）をそれぞれ、上部ソース曲線および下部ソース曲線の数式とする。２つのターゲット曲線（ソース曲線上のポイントが移動する先の）がソース曲線およびαによって決定される。具体的には、上部ターゲット曲線Ｔｔおよび下部ターゲット曲線Ｔｂが定義される。Ｓｔ（ｘ）の端点間の線の数式がｙ＝ｙｔ（ｘ）として定義され、また、下部ソース終端を結ぶ線の数式がｙ＝ｙｂ（ｘ）として定義される場合、上部ターゲット曲線の数式はＴｔ（ｘ）＝（１−α）Ｓｔ（ｘ）＋αｙｔ（ｘ）であり、そしてＴｂ（ｘ）＝（１−α）Ｓｂ（ｘ）＋αｙｂ（ｘ）である。
【００５４】
次に、主スケーリング係数ｒ（ｘ）が、ソース曲線およびターゲット曲線を使用して計算される（ボックス５４０）。詳細には、図６に示すような任意の垂直走査線ｘが所与えられ、Ａ、Ｂをその垂直走査線のソース曲線との交差を表わすものとし、またＡ’、Ｂ’をターゲット曲線との交差を表わすものとする。ＳＶＵスケーリング関数はＡＢをＡ’Ｂ’にスケーリングし、次式（１）とする。
【００５５】
【数１】
2004038973.tif 000003
【００５６】
この比ｒ（ｘ）は、水平方向の位置ｘにある垂直走査線に関する主スケーリング係数である。次に、この垂直走査線の広角ピクセル座標１２０が、主スケーリング係数ｒ（ｘ）を使用して垂直方向でスケーリングされる（ボックス５５０）。
【００５７】
水平方向のスケーリング
アスペクト比を保つため、広角ピクセル座標１２０は、水平方向でもスケーリングされる。この水平方向のスケーリングは、同じ主スケーリング係数ｒ（ｘ）を使用する。言い換えれば、垂直方向のスケーリングの場合と同様に、垂直走査線が主スケーリング係数ｒ（ｘ）で水平方向でもスケーリングされてアスペクト比が保たれる。
【００５８】
図７は、図３に示した水平方向スケーリングモジュールの詳細を示す流れ図である。垂直方向でスケーリングされた広角ピクセル座標が入力として受け取られる（ボックス７００）。主スケーリング係数ｒ（ｘ）を使用して、垂直方向でスケーリングされた広角ピクセル座標が水平方向でスケーリングされる（ボックス７１０）。垂直方向でスケーリングされた広角ピクセル座標１２０がスケーリングされると、予備的な補正済みイメージの全幅ｗ’は次式（２）で与えられる。
【００５９】
【数２】
2004038973.tif 000004
【００６０】
ただし、ｗは、広角（つまりソース）イメージ１１０の幅である。
【００６１】
次に、予備的なワープテーブルが生成される（ボックス７２０）。予備的なワープテーブルは、予備的なピクセル座標を含む。予備的なピクセル座標は、垂直方向および水平方向でスケーリングされた広角ピクセル座標である。概念上、この予備的なピクセル座標を使用して予備的な補正済みイメージを構成することができる。したがって、広角イメージ１１０内の任意のピクセル（ｘ，ｙ）に関して、（ｘ’，ｙ’）が予備的な補正済みイメージ内の新しい位置を表わすものとする。これより、次式（３）がもたらされる。
【００６２】
【数３】
2004038973.tif 000005
【００６３】
式（３）は、ＳＶＵスケーリング関数に関するフォワードマッピング（ｆｏｒｗａｒｄ　ｍａｐｐｉｎｇ）の数式である。ＳＶＵスケーリング関数は、あらゆる箇所における完全に一様なスケーリングではない。あらゆる箇所における完全に一様なスケーリングである唯一の関数は、一様なグローバルスケーリング関数であることを証明するのは容易である。
【００６４】
ＳＶＵスケーリング関数は、一般化された円筒面上への投影と同様である。ただし、付録ＩＩに示す通り、そのような単純な投影は、局所的に一様なスケーリングをもたらさない。局所的に一様なスケーリングが望ましく、局所的に一様なスケーリングが欠如していることにより、予備的な補正済みイメージ内の被写体が引き伸ばされて見えることが生じる。
【００６５】
水平方向の歪みの補正
広角ピクセル座標１２０が垂直方向および水平方向でスケーリングされると、結果の予備的なワープテーブルが水平方向の歪みに関して補正される。水平方向の歪みの補正が必要とされる理由は、パラメトリッククラスのイメージワープ関数（ＳＶＵスケーリング関数などの）は垂直な線を垂直に保つが、水平な線は歪めるからである。この問題を最小限に抑えるため、スケーリングの一様性が緩和され、各垂直走査線で非線形スケーリングが行われる。
【００６６】
図８は、図３に示した水平方向歪みモジュール３３０の詳細を示す流れ図である。一般に、モジュール３３０は予備的なワープテーブル内の予備的なピクセル座標をセクションに分割し、各セクションをそのセクションに対する特定のスケーリング係数に従って垂直方向でスケーリングする。スケーリング係数は、セクション間で異なることが可能であり、通常、少なくとも１つのセクションに関して異なる。
【００６７】
具体的には、水平方向歪み補正モジュール３３０は、最初、予備的なワープテーブルをセクションに分割する（ボックス８００）。本発明の一態様では、予備的な補正済みイメージが、概念上、図９に示す通り分割される。図９は、垂直方向スケーリング関数、および予備的な補正済みイメージを３つのセクションに分割することの概念を示している。図９で、ｙは垂直方向であることに留意されたい。図９を参照すると、第１のセクション９００が下部ソース曲線Ｓｂと上部ソース曲線Ｓｔの間で定義されている。その他のセクションには、ソース曲線より下の第２のセクション９１０、およびソース曲線より上の第３のセクション９２０を含め、ソース曲線の外側のセクションが含まれる。
【００６８】
ソース曲線間の第１のセクション９００内に位置する予備的なピクセル座標は、主スケーリング係数ｒ（ｘ）を使用して垂直（ｙ）方向でスケーリングされる（ボックス８１０）。垂直方向のこのスケーリングは、前述した通りに行われる。ソース曲線の外側のセクション（第２のセクション９１０および第３のセクション９２０）内に位置する予備的なピクセル座標は、垂直方向でより小さくスケーリングされる。これは、副スケーリング係数を最初に指定することによって行われる（ボックス８２０）。副スケーリング係数ｓは、図９では、主スケーリング係数ｒ（ｘ）の下に示されている。次に、ソース曲線の外側の他のセクション９１０、９２０内に位置する予備的なピクセル座標が、副スケーリング係数を使用して垂直方向でスケーリングされる（ボックス８３０）。水平方向のスケーリングは、同じままであり（言い換えれば、主スケーリング係数ｒ（ｘ）を使用し）、したがって、垂直な線はまっすぐに保たれることに留意されたい。セクション間の連続性を保つため、セクション間の移行がスムージングパラメータｗを適用することによって行われる（ボックス８４０）。スムージングパラメータは、垂直方向スケーリング関数を平滑化し、垂直方向スケーリング関数がソース曲線に交差する際に異なったスケーリング係数を平滑に結合する。
【００６９】
図６および図９を参照して、図６に示したｘにおける垂直の線を考慮する。図９に示す通り、ｇ（ｙ）は、この垂直の線上の任意のポイントｙにおける垂直方向のスケーリング係数として定義することができる垂直方向スケーリング関数である。ｇ（ｙ）はｘに依存することに留意されたい。関数ｇ（ｙ）は、２つのパラメータ、副スケーリング係数ｓ、およびスムージングパラメータｗによって支配されている。ソース曲線からｗ／２より大きく離れた垂直走査線の部分は、ソース曲線間では主スケーリング係数ｒ（ｘ）でスケーリングされ、ソース曲線の外側では副スケーリング係数ｘでスケーリングされる。３つの一定のセグメントは、［Ｓｔ−０．５ｗ，Ｓｔ＋０．５ｗ］内の２つの３次式近似によって結合される。各３次式近似は、値ｓおよびｒ（ｘ）を有する終端、および両終端で０の勾配を有する。
【００７０】
スムージングパラメータｗは、ソース曲線の連続性を支配する。例えば、風景がソース曲線において不連続である場合、目立ったアーチファクトなしに非常に小さいｗを選択することができる。ｓ＝ｒ（ｘ）である特殊なケースではｇ（ｙ）が一定になり、これは、数式（３）を導出する際に想定されていたことである。予備的なワープテーブルに水平方向歪み補正関数が適用されると、補正された広角イメージ１３０内の広角ピクセル座標の位置を含むワープテーブル１５０が生成される（ボックス８５０）。次に、ワープテーブル１５０が出力として送られる（ボックス８６０）。このワープテーブルは、広角イメージ１１０から補正された広角イメージ１３０を構成するために使用される。
【００７１】
広角イメージビューイングの誤った知覚の補正
スイミングモーションは、特別なタイプの深度を誤った知覚として考えることができる。風景が回転するにつれ、より小さい視野を有する見る人は、被写体が視野を横切る際に被写体のサイズの予期していなかった変化を目にする。被写体は、形状の歪みに起因して、あたかも初めて視野に入ってきたかのように、余りにも大きく見え、次に、誇張された短縮に起因して視野の中心で余りにも小さくなり、最後に、視野を離れる際に再び、余りにも大きくなる。この結果、被写体は見る人から遠ざかるように見え、次に、見る人に向かって戻ってくるように見える。言い換えれば、被写体は、「泳いでいる」ように見える。
【００７２】
ＳＶＵスケーリング関数は、深度を誤った知覚の問題を補正するのに役立つ。これは、パノラマイメージを見るために対称ＳＶＵスケーリング関数を使用することによって達せられる。下部ソース曲線は上部ソース曲線の鏡像である。ソース曲線はイメージコーナを通り、中央の垂直走査線で最小値（または最大値）を有する。前述した通り、１つのパラメータが中央ポイントの高さを指定し、第２のパラメータがワーピング係数αである。
【００７３】
スイミングモーションを取り除く際のリアルタイム広角イメージ補正のシステムおよび方法の有効性を視覚的に示すため、図１０Ａおよび図１０Ｂを提示する。図１０Ａと図１０Ｂはともに、透視投影および１００度の視野でボールルームをパノラマで見ている最中のスナップショットを示している。図１０Ａは、全く補正なしにボールルームを示す透視図である。図１０Ｂは、ＳＶＵスケーリング関数を適用した後の図１０Ａと同じ眺めを示している。図１０Ａおよび図１０Ｂから、イメージは、ＳＶＵスケーリング関数を使用して処理された後、歪みが少なくなっているのを見て取ることができる。より重要なこととして、図１０Ａの風景が透視投影で回転されたとき、壁およびテーブルに対する深刻な引き伸ばし、およびスイミングモーションが見られる。ＳＶＵスケーリング関数を適用した後、引き伸ばしはほとんど見られず、スイミングモーションは実質的に無くなる。この結果、風景は、風景が回転させられている間、はるかに安定して見える。
【００７４】
ＶＩ．実用例および実用結果
次の実用例を使用して本発明の動作上の詳細を例示する。この実用例は、図４の方法の実施を含む。この実用例は、本発明が機能することが可能であり、本発明を使用することができる一例に過ぎず、例示の目的でだけ提供している。
【００７５】
この実用例では、本発明のシステムおよび方法が、ビデオ会議環境において実施された。ビデオ会議システムは、幅広い１組のビューを表示して、遠隔で見る人が、すべての参加者を見ることを可能にすることができる必要がある。通常、３名の参加者が、テーブルの周りの席についている。現行のシステムは、チルト（ｔｉｌｔ）／パン／ズームカメラを使用して部屋の異なる部分を見る可能性を提供する。ただし、以上の現行のシステムは、完全な全体像を提供することができない。また、現行のシステムは、新しい話し手をカバーするためにパンする際、待ち時間の問題を抱えている。以上の問題を軽減するため、本発明のリアルタイム広角イメージ補正のシステムおよび方法を使用した。
【００７６】
円筒投影を有する広角イメージが、ビデオ会議の風景に向けられた広角カメラを使用して獲得された。図１１は、広角カメラから生成された結果の円筒状の広角イメージを示している。図１１で、テーブルの向う側にいる人が極めて小さいことに留意されたい。端付近の形状の歪みは円筒投影によって補正されるが、深度を誤った知覚の点ではほとんど改善がない。テーブルの向う側の人々は、カメラに近い人々と比べて、やはり非常に小さく見える。
【００７７】
図１１のイメージをリアルタイム広角イメージ補正のシステムおよび方法によって処理した後の結果を図１２〜図１６に示している。図１２は、ワーピング係数α＝０．３でソース曲線とターゲット曲線をともに示している。図１３は、水平方向の歪みの補正なしにＳＶＵスケーリング関数を使用して垂直方向のスケーリングおよび水平方向のスケーリングを適用した結果としての予備的な補正済みイメージを示している。図１４は、水平方向の歪み補正とともにＳＶＵスケーリング関数を適用した結果を示している。
【００７８】
さらに、異なるワーピング係数αを使用するいくつかの結果を提示している。具体的には、図１５は、ワーピング係数α＝０．２を使用する結果を示している。図１６は、ワーピング係数α＝０．４を使用する結果を示している。α＝０というワーピング係数は最小のワープであり、α＝１というワーピング係数は最大のワープであることに留意されたい。
【００７９】
本発明の以上の説明は、例示および説明のために開示したものである。以上の説明は、すべてを網羅すること、または本発明を開示した形態そのものに限定することを意図するものではない。多数の変更形態および変形形態が、以上の開示に鑑みて可能である。本発明の範囲は、本発明の以上の詳細な説明によってではなく、頭記の特許請求の範囲によって限定されるものとする。
【００８０】
付録Ｉ
以下の考察は、広角イメージにおける明白な歪みの原因に関するより数学的な詳細を提供することを意図している。
【００８１】
形状の歪みおよび固定でない（Ｎｏｎ−Ｒｉｇｉｄｉｔｙ）アーチファクト
被写体は、広角イメージ内で中心から端に動くにつれ、歪んで見える。図１７は、カメラの周りで回転する長方形の被写体の透視投影を示している。Ｏは投影の中心であり、πは投影平面であり、また、ｆは焦点距離である。ｗおよびｈを被写体の幅および高さとする。被写体がＰ１からＰ２まで回転し、ただし、ＯＰ１は画像平面に垂直であり、また、θはＯＰ２とＯＰ１の間の角であるものと想定する。ｄ＝‖ＯＰ１‖＝‖ＯＰ２‖であるものとする。位置Ｐ１で、画像平面上の幅および高さは、以下の通りである。
【００８２】
【数４】
2004038973.tif 000006
【００８３】
Ｐ２で、画像平面上の幅および高さ（Ｐ２に隣接した２つの端の長さ）は、以下の通りである。
【００８４】
【数５】
2004038973.tif 000007
【００８５】
これにより、次式（８），（９），（１０）がもたらされる。
【００８６】
【数６】
2004038973.tif 000008
【００８７】
【数７】
2004038973.tif 000009
【００８８】
【数８】
2004038973.tif 000010
【００８９】
式（５）および（６）は、被写体がイメージの中心から端まで回転するにつれ、幅も高さもともに増加することを示している。視野角が大きいほど、増加量も大きくなる。式（７）は、被写体が、イメージの中心から端まで回転するとき、被写体のイメージが歪みもする（引き伸ばされる）ことを示している。視野角が大きいほど、歪み量も大きくなる。視野が９０度に近づくにつれ、歪みの比ｗ２／ｈ２は無限に近づく。
【００９０】
遠近の歪みは、イメージを見る人が視線をＯに置く場合、イメージが歪んで見えないことで、それでも正しい。しかし、より小さい視野で広角イメージを見るとき、見る人は、被写体が回転するにつれてのイメージサイズの増加がより小さく、また画像平面上の歪みの量がより小さいものと予期している。これが、被写体が端で引き伸ばされて見える理由である。等しい角の範囲を定めていた２つの角は、もはや、そうなっていない。画像平面上のサイズの変化および歪みの変化が予期していたよりも大きいことにより、ユーザは、あたかも風景がユーザ自らの周りで泳いでいるかのように、固定していないと感じさせられる。
【００９１】
深度を誤った知覚
見る時点で視野がより小さいことによって生じさせられる、付随する問題が、深度を誤った知覚である。広角イメージは、近くの被写体と遠くの被写体の間の深度の差を誇張する。風景の中の被写体の深度の１つの重要な視覚的な手がかりは、近くの場所と遠くの場所に配置された同様の被写体のイメージサイズ間の比（深度短縮比と呼ばれる）である。より小さい視野により、より小さい短縮比がもたらされる。これは、一方の人が他方の人よりもカメラからわずかに離れている２名の人々を撮影した２つの写真で明らかである。図１８Ａおよび図１８Ｂは、深度を誤った知覚の概念を示している。図１８Ａで、風景は通常の視野のカメラを使用してキャプチャされている。図１８Ｂで、同じ風景が、広角カメラを使用してキャプチャされている。図１８Ａと図１８Ｂを比較することによって見て取ることができる通り、広角カメラ（図１８Ｂに示す）は２名の人々のサイズの違いを誇張し、したがって、２名の人々の間の距離が、広角カメラで撮影された写真では大きくなるように見える。ビデオ会議の適用例では、広角カメライメージにより、遠くに離れた参加者が風景の中で極めて小さくなることがもたらされる。
【００９２】
付録ＩＩ
以下の考察は、一般化された円筒面上への投影が、局所的に一様なスケーリングをもたらさないことを示す。通常の円筒状のビューを楕円の円筒（横断面が楕円である）に投影する例を考慮されたい。図１９は、通常の円筒の横断面、および楕円の円筒の横断面を示す２次元図である。ａおよびｂで、楕円の短軸および長軸を表わす。その場合、楕円の数式は、ｘ＝ａｃｏｓ（θ）かつｚ＝ｂｓｉｎ（θ）である。円の数式は、ｘ＝ａｃｏｓ（θ）かつｚ＝ｂｓｉｎ（θ）である。ｓ’およびｓで、それぞれ、楕円の弧の長さ、および円の弧の長さを表わす。その場合、次式（１１）〜（１３）の通りである。
【００９３】
【数９】
2004038973.tif 000011
【００９４】
ただし、無限に小さいｄθに対し、円の上の弧の長さ、および楕円上の弧の長さはそれぞれ、ｄｓおよびｄｓ’である。したがって、局所的な水平方向のスケーリングは、ｄｓ’／ｄｓ＝（ａ２ｓｉｎ２θ＋ｂ２ｃｏｓ２θ）の平方根／ａである。θ＝π／２のとき、局所的な水平方向のスケーリングｄｓ’／ｄｓ＝１であり、他方、垂直方向のスケーリング（ｙ軸）はｂ／ａである。したがって、垂直方向のスケーリングは水平方向のスケーリングより大きく、被写体は垂直方向で引き伸ばされて見える。θ＝０のとき、その正反対が真である。垂直方向のスケーリングは１であり、他方、水平方向のスケーリングはｂ／ａである。したがって、θ＝０近くの被写体は水平方向で引き伸ばされて見える。
【図面の簡単な説明】
【図１】本発明のリアルタイム広角イメージ補正システムの一般的な概要を示すブロック図である。
【図２】本発明を実施するのに適したコンピューティング装置を示すブロック図である。
【図３】図１に示したリアルタイム広角イメージ補正システムのワープテーブル生成モジュールの詳細を示すブロック図である。
【図４】図１に示したリアルタイム広角イメージ補正システムの動作を示す一般的な流れ図である。
【図５】図３に示した垂直方向スケーリングモジュールの詳細を示す流れ図である。
【図６】２組の曲線によるワープ関数の決定を示す図である。
【図７】図３に示した水平方向スケーリングモジュールの詳細を示す流れ図である。
【図８】図３に示した水平方向歪み補正モジュールの詳細を示す流れ図である。
【図９】スケーリング関数を示し、および予備的なピクセル座標を３つのセクションに分割する概念を示す図である。
【図１０Ａ】全く補正なしのボールルームを示す透視図である。
【図１０Ｂ】ＳＶＵスケーリング関数を適用した後の図１０Ａと同じ眺めを示す図である。
【図１１】実用例の広角カメラから生成された結果の円筒広角イメージを示す図である。
【図１２】ワーピング係数、α＝０．３でソース曲線とターゲット曲線の両方を示す図である。
【図１３】水平方向の歪みの補正なしでＳＶＵスケーリングワープ関数を適用した結果である実用例の予備的な補正済みイメージを示す図である。
【図１４】水平方向の歪みの補正とともにＳＶＵスケーリング関数を適用した結果を示す図である。
【図１５】ワーピング係数、α＝０．２を使用する実用例の補正された広角イメージを示す図である。
【図１６】ワーピング係数、α＝０．４を使用する実用例の補正された広角イメージを示す図である。
【図１７】カメラの周りで回転する長方形の被写体の透視投影を示す図である。
【図１８Ａ】深度が誤って知覚されることの概念を例示し、通常の視野のカメラを使用してキャプチャされた風景を示す図である。
【図１８Ｂ】広角カメラを使用してキャプチャされた図１８Ａと同じ風景を示す図である。
【図１９】通常の円筒および楕円形の円筒の横断面を示す２次元図である。
【図２０】図４に示したリアルタイム広角イメージ補正方法の動作の例を示す図である。
【符号の説明】
１００　リアルタイム広角イメージ補正システム
１１０　広角イメージ
１２０　広角イメージピクセル座標
１３０　補正された広角イメージ
１４０　ワープテーブル生成モジュール
１５０　ワープテーブル
１６０　リアルタイムイメージワープシステム
２０２　処理ユニット
２０４　システムメモリ
２０６　システムバス
２２６　ハードディスクドライブインターフェース
２２８　磁気ディスクドライブインターフェース
２３０　光ディスクドライブインターフェース
２３２　オペレーティングシステム
２３４　アプリケーションプログラム
２３６　他のプログラムモジュール
２３８　プログラムデータ
２４４　シリアルポートインターフェース
２４８　ビデオアダプタ
２５０　リモートコンピュータ
２５８　ネットワークインターフェース
２６０　モデム
３００　入力モジュール
３１０　垂直方向スケーリングモジュール
３２０　水平方向スケーリングモジュール
３３０　水平方向歪み補正モジュール
３４０　出力モジュール
【図１】
2004038973.tif 000012
【図２】
2004038973.tif 000013
【図３】
2004038973.tif 000014
【図４】
2004038973.tif 000015
【図５】
2004038973.tif 000016
【図６】
2004038973.tif 000017
【図７】
2004038973.tif 000018
【図８】
2004038973.tif 000019
【図９】
2004038973.tif 000020
【図１０Ａ】
2004038973.tif 000021
【図１０Ｂ】
2004038973.tif 000022
【図１１】
2004038973.tif 000023
【図１２】
2004038973.tif 000024
【図１３】
2004038973.tif 000025
【図１４】
2004038973.tif 000026
【図１５】
2004038973.tif 000027
【図１６】
2004038973.tif 000028
【図１７】
2004038973.tif 000029
【図１８Ａ】
2004038973.tif 000030
【図１８Ｂ】
2004038973.tif 000031
【図１９】
2004038973.tif 000032
【図２０】
2004038973.tif 000033