(57)【要約】  リアルタイムパノラマイメージ修正システム（図５Ａ）およびその方法で使用され、ユーザがシステムを簡単に利用できるようにするためのユーザインターフェース（ＵＩ：ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）。本ＵＩには、会議用テーブルのサイズと形状、カメラの位置と角度、および望ましい正規化の値（例えば０〜１００％）をユーザが入力できるコントロールパネルが含まれる。さらに、修正されたパノラマイメージが表示されるウィンドウをディスプレイ上に開くこともできる（図５Ａ、５３０）。このウィンドウでは、会議出席者の頭部が抽出されて別のウィンドウに表示される。さらに、修正されたパノラマイメージは、適用される歪みの値に対応してそのサイズが変化し、その周囲に余分なピクセルを追加して表示でき、送信できるので、修正または正規化されたパノラマイメージは任意の標準ディスプレイのサイズと解像度に適合でき、ネットワーク送信を簡素化できる。
2008536239.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイと、ユーザインターフェース選択デバイスと、ユーザインターフェースデータ入力デバイスとを備えるコンピュータシステムにおいて、３６０度のパノラマイメージの一部を正規化する処理であって、
３６０度のパノラマイメージの一部を正規化するために必要なパラメータを入力するためのコントロールパネルを前記ディスプレイ上に表示するステップと、
前記３６０度のパノラマイメージの一部を正規化するために必要な前記パラメータを前記表示されたコントロールパネルから入力するステップと
を備えることを特徴とする処理。
【請求項２】
前記３６０度のパノラマイメージを正規化するために必要な前記パラメータは、カメラの位置と、カメラの向きと、水平方向の特徴ジオメトリ(feature geometry)と、望ましい正規化のパーセンテージとを備えることを特徴とする請求項１に記載の処理。
【請求項３】
前記水平方向の特徴ジオメトリは、
前記カメラの位置と向きに対応するカメラをセットする会議用テーブルのジオメトリと、
会議用テーブルに周囲に座っている人物の頭部の上端に対応する平面のジオメトリと
の少なくとも１つを備えることを特徴とする請求項２に記載の処理。
【請求項４】
前記会議用テーブルのジオメトリは、会議用テーブルのサイズと形状とを備えていることと、前記カメラの向きを前記会議用テーブルのジオメトリに相対的(relative)に指定することとを特徴とする請求項２に記載の処理。
【請求項５】
前記コントロールパネルは、液晶ディスプレイ上に表示されることを特徴とする請求項１に記載の処理。
【請求項６】
前記コントロールパネルは、ネットワークユーザインターフェースを使用してアクセスできることを特徴とする請求項１に記載の処理。
【請求項７】
前記望ましい正規化のパーセンテージは０％から１００％の間で変化することを特徴とする請求項２に記載の処理。
【請求項８】
正規化される前記パノラマイメージの前記一部は、テーブルの周囲に座っており、カメラで撮影される人物の頭部のサイズに関係することを特徴とする請求項１に記載の処理。
【請求項９】
前記カメラの位置と向きは、前記テーブルのジオメトリに相対的であることを特徴とする請求項３に記載の処理。
【請求項１０】
前記コンピュータシステムはカメラに埋め込まれていることを特徴とする請求項１に記載の処理。
【請求項１１】
パノラマイメージの一部を表示するためのグラフィカルユーザインターフェースであって、
約３６０度のパノラマイメージから抽出された部分を表示するための表示枠を備えることを特徴とするグラフィカルユーザインターフェース。
【請求項１２】
前記パノラマイメージから抽出された部分は、前記パノラマイメージ内に描写される正規化されていない人物の頭部であることを特徴とする請求項１１に記載のグラフィカルユーザインターフェース。
【請求項１３】
前記パノラマイメージから抽出された部分は、前記パノラマイメージ内に描写される正規化された人物の頭部であることを特徴とする請求項１１に記載のユーザインターフェース。
【請求項１４】
前記人物が発言中であることを特徴とする請求項１１に記載のユーザインターフェース。
【請求項１５】
スケーリングされたイメージをネットワーク上で表示および送信する処理であって、
イメージをスケーリングするステップと、
前記スケーリングされたイメージが指定されたサイズに適合するように、その周囲の周りの余分なピクセルで前記スケーリングされたイメージを調整するステップと、
その周囲の周りの余分なピクセルで前記スケーリングされたイメージを表示するステップと
を備えることを特徴とする処理。
【請求項１６】
前記スケーリングされ、調整されたイメージを送信するステップをさらに備えることを特徴とする請求項１５に記載の処理。
【請求項１７】
前記スケーリングされ、調整されたイメージを受信するステップと、
前記スケーリングされ、調整されたイメージを表示するステップと
をさらに備えることを特徴とする請求項１６に記載の処理。
【請求項１８】
前記スケーリングされ、調整されたイメージを受信するステップと、
その周囲に前記余分なピクセルがなしで、前記スケーリングされ、調整されたイメージを表示するステップと
をさらに備えることを特徴とする請求項１６に記載の処理。
【請求項１９】
前記余分なピクセルは黒で表示されることを特徴とする請求項１５に記載の処理。
【請求項２０】
ネットワーク上でスケーリングされたイメージを表示し、送信する方法であって、
イメージをスケーリングするステップと、
標準の解像度とスケーリングされた解像度との違いに対処するピクセルアスペクト比を設定するステップと、
前記標準の解像度の前記イメージを送信するステップと、
前記スケーリングされたイメージを前記元のスケーリングされた解像度で表示するステップと
を備えることを特徴とする処理。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００２年６月２８日に出願された「REAL-TIME WIDE-ANGLE IMAGE CORRECTION SYSTEM AND METHOD FOR COMPUTER IMAGE VIEWING」という名称の特許出願第１０／１８６，９１５号の一部継続出願である。
【０００２】
本発明は、一般にコンピュータを使用してイメージを閲覧する方法に関し、より詳細には、全方向（ｏｍｎｉ−ｄｉｒｅｃｔｉｏｎａｌ）カメラで撮影したパノラマイメージに関連するゆがみ（ｄｉｓｔｏｒｔｉｏｎ）や認知（ｐｅｒｃｅｐｔｉｏｎ）の問題を軽減するための、リアルタイムパノラマイメージ修正システムおよびその方法で使用するユーザインターフェースに関する。
【背景技術】
【０００３】
広角カメラ（Ｗｉｄｅ−ａｎｇｌｅ  ｃａｍｅｒａｓ）は、一般に６０度を超える視野があり、多くの場合に大きなシーン（ｓｃｅｎｅｓ）の撮影に使用する。広角カメラで撮影された広角イメージ（ｗｉｄｅ−ａｎｇｌｅ  ｉｍａｇｅ）は、少なくとも２種類の投影を使用して閲覧できる。線遠近法（Ｌｉｎｅａｒ  ｐｅｒｓｐｅｃｔｉｖｅ）と円筒図法（ｃｙｌｉｎｄｒｉｃａｌ  ｐｒｏｊｅｃｔｉｏｎｓ）は、広角イメージの表示に使用する最も一般的な投影である。
【０００４】
線遠近法は、広角レンズで撮影されたイメージを平面フィルム上に投影したものである。線遠近法では、直線は維持されるが、形状は維持されない。このことによって、遠近法のゆがみ（ｐｅｒｓｐｅｃｔｉｖｅ  ｄｅｆｏｒｍａｔｉｏｎｓ）が発生する。イメージの閲覧者がその目を投影中心に配置した場合は、イメージは正確に現れ、ゆがみは発生しない。しかし、広角イメージをより小さな視野で閲覧する場合に、閲覧者は、イメージサイズがわずかに大きくなり、オブジェクトが回転するときにイメージ平面にわずかなゆがみ発生することを期待する。このことは、オブジェクトの端が伸びて見える原因である。イメージ平面上のサイズの変化とゆがみが予想を上回る場合、ユーザはシーンが固定されて（ｒｉｇｉｄ）おらず、まるでシーンが閲覧者の周囲を浮遊しているように感じられる。パノラマイメージを閲覧する場合は特にこのことがいえる。
【０００５】
円筒図法は、曲面フィルムと回転するスリットレンズを備える広角カメラを使用して生成される。円筒図法では、形状が線遠近法よりよく維持される。さらに、円筒図法では目に見える浮遊した動き（ｓｗｉｍｍｉｎｇ  ｍｏｔｉｏｎ）が緩和される。円筒図法では、線遠近法に比べて閲覧は改善されるが、ゆがみと認知の問題は依然として残る。特に、円筒図法では直線を必要以上に歪曲させる。さらに、円筒図法ではパノラマイメージを閲覧するときの人の頭が回るときの（ｔｕｒｎｉｎｇ  ｏｎｅ’ｓ  ｈｅａｄ）の幻影（ｉｌｌｕｓｉｏｎ）がほとんど除去される。
【０００６】
広角イメージのゆがみと湾曲の問題は、視野の不一致によって発生する。特に、コンピュータのモニタ上の閲覧サイズと標準の閲覧距離が制限されるため、イメージが閲覧されるときに範囲が定まる角度は、イメージ平面にシーンを最初に投影したカメラの視野よりはるかに小さい。この不一致は、多くのゆがみと認知の問題の原因である。
【０００７】
広角イメージを狭い視野で閲覧することによって発生する閲覧時の関連の問題は、奥行き（ｄｅｐｔｈ）の誤った認知（ｍｉｓｐｅｒｃｅｐｔｉｏｎ）である。広角イメージでは、近くにあるオブジェクトと遠くにあるオブジェクトとの奥行きの格差が誇張される。シーン内にあるオブジェクトの奥行きに関する１つの重要なビジュアルキュー（ｖｉｓｕａｌ  ｃｕｅ）は、近い位置と遠い位置にある同様のオブジェクトのイメージサイズの比率である（奥行きの縮小率（ｆｏｒｅｓｈｏｒｔｅｎｉｎｇ  ｒａｔｉｏ）と呼ばれる）。視野が小さいほど縮小率も小さくなる。例えば、１つのシーンに互いに隣り合う２人が含まれており、１人はもう１人よりわずかにカメラから遠い位置にいると仮定する。シーンが標準（約６０度）の視野のカメラで撮影され、さらに同じシーンが広角視野のカメラで撮影された場合に、シーン内のオブジェクトのサイズは異なって見える。具体的には、標準の視野のカメラを使用した場合は、カメラから遠い人物はもう１人の人物よりカメラから少し遠くに見える。しかし、広角視野のカメラを使用した場合は、カメラから遠い人物はもう１人の人物よりはるかに小さく見える。この誇張されたサイズの違いのために、カメラから遠い人物は実際の位置よりはるかに遠く見える。奥行きのあるシーンの広角イメージ（テレビ会議のシーンなど）がコンピュータのモニタに閲覧される場合は、閲覧者の視野は一般に実際のイメージの視野よりはるかに小さい。したがって、閲覧者によって認知される奥行きは、実際の奥行きよりはるかに大きい。
【０００８】
こうしたゆがみと認知の問題が発生する１つのアプリケーションは、テレビ会議システム内において明らかである。広角カメラは、テレビ会議システムでたびたび使用されており、会議室にいるすべての出席者を含むイメージ撮影し、それを送信する。しかし、１つの問題は、テレビ会議を閲覧する場合に、広角イメージでは部屋の奥行きが誇張されることである。この結果、極端な縮小のために、イメージの中心にいる人物（通常はカメラから最も離れている人物）は室内にいる他の人物に比べて非常に小さく見える。
【０００９】
広角カメラのイメージによくあるゆがみと認知の問題は、３６０度の視野をカバーするパノラマイメージを閲覧するときにさらに明らかになる。パノラマイメージは、１台のカメラで得られた複数の入力イメージの位置合わせ（ａｌｉｇｎｉｎｇ）と「ステッチング」（ｓｔｉｔｃｈｉｎｇ）によって生成できる。あるいは、複数台のカメラを使用して入力イメージを得、これらのイメージをステッチングすることによってパノラマイメージを作成することもできる。例えば、複数のカメラを使用してパノラマビデオを生成する場合がそうである。基本的に、パノラマビデオの作成にはシーンを囲む３６０度の視野全体を描写する複数のビデオを得る必要がある。カメラの装置は、背中合わせに配置された複数台のカメラを備えており、ときどきこうしたビデオを撮影するために使用される。一般的には、入力イメージのピクセル位置をパノラマイメージのピクセル位置にマップするステッチングテーブルを使用して、イメージをパノラマにステッチングする。３６０度の全方向カメラは、会議の記録やテレビ会議に使用されてきた。通常、カメラはテーブルの中央に配置され、会議の出席者はテーブルの周囲に座っている。会議用テーブルが長方形の場合は、パノラマイメージ上の人物の頭部のサイズはカメラまでの距離によって変わる。例えば、テーブルのカメラから遠い端に座っている人物は、カメラの近くに座っている人物に比べてはるかに小さく見える。パノラマイメージにおけるこうした頭部のサイズの変化は、視覚に訴えないので、テーブルの遠い端の人物を認識したり、彼らの表情を認識したりするのは、多くの場合に困難である。
【００１０】
パノラマイメージを使用したテレビ会議に関する別の問題は、何台かの全方向カメラが３７００×６００ピクセルのパノラマイメージを生成しても、多くのユーザは１０２４×７６８ピクセルのディスプレイしか使用しておらず、この場合は１０２４×１６６ピクセルのパノラマしか表示できないことである。このように解像度が大幅に低下するため、テーブルの遠い端に座っている人物は、頭部のサイズを正規化しないと表示できない。
【００１１】
【特許文献１】２００２年６月２８日に出願された「REAL-TIME WIDE-ANGLE IMAGE CORRECTION SYSTEM AND METHOD FOR COMPUTER IMAGE VIEWING」という名称の特許出願第１０／１８６，９１５号
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、パノラマカメラで撮影されたイメージのゆがみと認知の問題を軽減することによって、こうしたイメージをリアルタイムで修正するシステムおよび方法が必要になる。本システムおよび方法では、パノラマイメージ内の頭部のサイズを正規化し、標準的な解像度のモニタにイメージ内の人物を閲覧できるようにする必要がある。さらに、本システムおよび方法は、セットアップと操作が容易であり、計算効率が高くなければならない。
【課題を解決するための手段】
【００１３】
本発明は、約３６０度のパノラマイメージにおけるゆがみと認知の欠点をリアルタイムで修正できるシステムおよび方法で使用するユーザインターフェースを提供する。本リアルタイムパノラマイメージ修正システムおよびその方法では、パラメトリック歪み関数（ｐａｒａｍｅｔｒｉｃ  ｗａｒｐｉｎｇ  ｆｕｎｃｔｉｏｎｓ）、すなわちＳＶＵ（Ｓｐａｔｉａｌｌｙ  Ｖａｒｙｉｎｇ  Ｕｎｉｆｏｒｍ）スケーリング関数を使用してパノラマイメージを歪め、不連続性を導入することなく人物の頭部のサイズを均等化する。ＳＶＵ関数については、２００２年６月２８日に出願された「REAL-TIME WIDE-ANGLE IMAGE CORRECTION SYSTEM AND METHOD FOR COMPUTER IMAGE VIEWING」という名称の特許文献１ですでに説明されている。しかし、以前の特許出願では最大１８０度のイメージについてのみこの技術が使用された。本発明において、ＳＶＵスケーリング関数は、約３６０度のパノラマイメージに適用されており、会議用テーブルのジオメトリ（ｇｅｏｍｅｔｒｙ）や会議出席者の頭部に接する平面などの水平方向の特徴（ｈｏｒｉｚｏｎｔａｌ  ｆｅａｔｕｒｅｓ）を考慮に入れている。前述の特許出願において、ＳＶＵスケーリング関数は一般に会議室のテーブルの一端に配置された広角カメラで生成した最大１８０度のイメージに対して使用された。一方、３６０度の全方向カメラは、通常はテーブルの中央に配置される。したがって、広角イメージと約３６０度のパノラマイメージのＳＶＵスケーリング関数の計算に使用する上側と下側の曲線は異っている。
【００１４】
本リアルタイムパノラマイメージ修正システムおよびその方法では、頭部のサイズの正規化を実行し、遠くにあるオブジェクト（頭部など）をより近く見えるように、したがってより大きくしている。また、近くにある頭部（大きい）はより小さくなっている。結果として、テーブルの遠い端にいる人物はより大きくなり、１０２４×１６６ピクセルのディスプレイでも閲覧可能である。本発明によるシステムおよび方法の１つの実施形態では、さらにユーザが会議用テーブルの形状とサイズを選択でき、本リアルタイムパノラマイメージ修正システムは、パノラマイメージのステッチングテーブルを会議用テーブルに合わせて変更し、会議出席者の頭部のサイズを正規化すると同時に、ステッチングが計算されるようにする。
【００１５】
リアルタイムパノラマイメージ修正システムおよびその方法で使用するユーザインターフェース（ＵＩ）により、ユーザはシステムを簡単に利用できる。ＵＩには、会議用テーブルのサイズと形状、および望ましい正規化の値（ａｍｏｕｎｔ  ｏｆ  ｎｏｒｍａｌｉｚａｔｉｏｎ  ｄｅｓｉｒｅｄ）（例えば０〜１００％）をユーザが入力できるコントロールパネルが含まれる。修正されたパノラマイメージが表示されるディスプレイ上に、さらにスピーカーウィンドウを開くこともできる。このスピーカーウィンドウでは、パノラマイメージから会議出席者、特にスピーカーの正規化された頭部を抽出でき、別のウィンドウに表示できる。さらに、修正されたパノラマイメージはその周囲に余分なピクセルを追加して表示でき、適用される正規化の値に基づいて修正されたパノラマイメージのサイズが変更されるので、標準のサイズに合わせることができる。例えば、修正されたパノラマイメージの上側と下側にわたって黒いバーを配置してもよい。これで、修正された、または正規化されたパノラマイメージはネットワークを経由して標準サイズで送信でき、イメージは任意の標準的なディスプレイのサイズと解像度に合わせることができる。
【００１６】
本発明は、以下の本発明の態様を例証する説明と添付の図面に関連付けることによってより詳細に理解できる。その他の特徴と利点については、以下に示す本発明の詳細な説明に添付の図面を関連付けて考察することで明らかになるであろう。こうした詳細な説明や図面は、例示的に本発明の原理を説明するものである。
【発明を実施するための最良の形態】
【００１７】
以下に示す本発明の説明では、説明の一部となる添付の図面を参照する。こうした図面には、本発明を実施できる特定の例が説明のために示されている。本発明の範囲を逸脱しない限り、他の実施形態を利用できること、および構造上の変更を適用できることが理解されよう。
【００１８】
１．０  概要
図１は、会議室のテーブルの中央に配置された３６０度の全方向カメラで撮影されたイメージを示している。このカメラの構成は、テレビ会議アプリケーションで使用されている一般的なものである。図１を参照すると、白い服を着た人物は他の２人よりはるかに小さく見えることがわかる。この原因は、この人物がカメラから遠い位置に座っていることである。まず第１に、白い服を着た人物は視認が非常に困難であり、閲覧者から離れて見えるので、リアルタイムで対話をしているという実感が損なわれる。第２に、イメージのサイズは通常はネットワーク帯域幅の制限と有限の画面領域によって限定される。人物のイメージが非常に小さい場合は、送信された多くのピクセルが無駄になる。したがって、人物の頭部のサイズを均等化し、送信され、表示されるピクセルの数を最大限に利用することが望ましい。図２は、図１に示すイメージを本発明によるリアルタイムパノラマイメージ修正システムおよびその方法で修正したものを示している。
【００１９】
リアルタイムパノラマイメージ修正システムおよびその方法では、人物の頭部のサイズを均等化または正規化する一方で、イメージに不連続性を導入しない技術を使用している。この技術は、２００２年６月２８日に出願された「REAL-TIME WIDE-ANGLE IMAGE CORRECTION SYSTEM AND METHOD FOR COMPUTER IMAGE VIEWING」という名称の特許文献１で説明されているＳＶＵスケーリング関数の拡張である。以前の特許出願において、ＳＶＵスケーリング関数は会議室のテーブルの一端に配置された広角カメラで生成した１８０度のイメージに使用されている。これに対して、前述のように、３６０度のカメラは通常はテーブルの中央に配置される。したがって、３６０度のパノラマイメージ用に生成されたＳＶＵスケーリング関数の計算に使用する上側と下側の曲線は、広角（例えば最大１８０度の）イメージで使用するものとは異なっている。図３は、１８０度のイメージのＳＶＵスケーリング関数の計算に使用する上側と下側のソース曲線（緑の曲線）を示す図である。図４は、３６０度のイメージのＳＶＵスケーリング関数の計算に使用する上側と下側のソース曲線（緑の曲線）を示している。緑のソース曲線とターゲット曲線（赤の曲線）が指定されると、前述の特許出願で説明されているのと同じ様式でＳＶＵスケーリング関数を生成できる。
【００２０】
前述の同時係属中の特許出願と同様に、パノラマイメージの修正は、局所的なスケーリングの考え方を維持し、奥行きの認知の誤りを修正するＳＶＵ（Ｓｐａｔｉａｌｌｙ  Ｖａｒｙｉｎｇ  Ｕｎｉｆｏｒｍ）スケーリング関数と呼ばれるパラメトリック歪み関数のクラスを使用して達成される。ＳＶＵスケーリング関数とスケーリング係数を使用して、イメージのピクセル座標に関する垂直方向のスケーリングと水平方向のスケーリングを実行する。これで、予備修正されたイメージのピクセル位置を元のピクセル座標にマップする予備歪みテーブルが生成される。この予備修正されたイメージは仮想(imaginary)イメージであり、実際には生成されない。しかし、予備修正されたイメージでは垂直方向のラインはまっすぐに維持されるが、水平方向のラインにはゆがみが発生する。こうした水平方向のゆがみは、ＳＶＵスケーリング関数と少なくとも２つの異なるスケーリング係数とを使用して水平方向のゆがみ修正を実行することによって修正される。この処理によって、歪みテーブルが生成される。歪みテーブルは、修正されたパノラマイメージ内の位置をゆがみのあるパノラマイメージ内の元のピクセル座標にマップする。本発明のいくつかの実施形態では、複数のイメージをステッチングしてパノラマイメージを作成するので、歪みテーブルをステッチングテーブルに連結することによって計算効率を向上できる。歪みテーブルまたは連結されたステッチングおよび歪みテーブルを使用すると、修正されたパノラマイメージを元のパノラマイメージからリアルタイムで生成できる。
【００２１】
図５Ａは、本発明によるリアルタイムパノラマイメージ修正システムの１つの実施形態５００Ａの概要を示すブロック図である。一般に、システム５００Ａは、水平方向の特徴ジオメトリ５０５（例えば、会議用テーブルのジオメトリおよび人物の頭部の上に接する平面）とパノラマイメージ５１０を取得し、水平方向の特徴ジオメトリ５０５とパノラマイメージ内の各ピクセルの座標に対応するパノラマイメージピクセル座標５２０を入力する。水平方向の特徴ジオメトリ５０５とパノラマイメージピクセル座標５２０は、リアルタイムパノラマイメージ修正システム５００Ａによって処理され、修正されたパノラマイメージ５３０が出力される。
【００２２】
パノラマイメージ５１０は、１つのステッチングされたイメージ（例えばスチルカメラによる）でも、一連のイメージの一部（例えばビデオカメラによる）でもよい。パノラマイメージ５１０内の各ピクセルの座標が取得され、パノラマイメージピクセル座標５２０が生成される。例えば、直線座標フレームにおいてピクセル座標５２０は一般にパノラマイメージを取得するためにステッチングされた一連のイメージに対応するパノラマイメージ５１０内の各ピクセルの位置（ｘ，ｙ）である。リアルタイムパノラマイメージ修正モジュール５００Ａには、歪みテーブル生成モジュール５４０、歪みテーブル５５０、およびリアルタイムイメージ歪みシステム５６０が含まれる。
【００２３】
歪みテーブル生成モジュール５４０は、パラメトリックイメージ歪み関数を使用して歪みテーブル５５０を生成するためのものである。パノラマイメージピクセル座標５２０が処理されて歪みテーブル５５０が作成される。歪みテーブル生成モジュール５４０の詳細については、後で説明する。歪みテーブル５５０には、修正されたパノラマイメージ５３０内の位置に対応するように調整されたパノラマイメージピクセル座標５２０が含まれる。このように、歪みテーブル５５０は、パノラマイメージピクセル座標５２０の修正されたパノラマイメージ５３０内の新しい位置を決定する。
【００２４】
歪みテーブル５５０が生成されると、パノラマイメージ５１０はリアルタイム歪みシステム５６０への入力として受信される。リアルタイムパノラマイメージ歪みシステム５６０は、パノラマイメージ５１０に歪みテーブル５５０を適用することによって修正されたパノラマイメージ５３０を作成する。リアルタイムパノラマ歪みシステム５６０は、歪みテーブル５５０に含まれるピクセル座標の位置にあるパノラマイメージ５１０のＲＧＢの値を取得することによって、修正されたパノラマイメージ５３０内の各位置について修正されたパノラマイメージ５３０を作成する。パノラマピクセル座標５２０のＲＧＢの値は、このようにして修正されたパノラマイメージ５３０内に再配置される。新しい位置は、歪みテーブル５５０を使用して決定される。例えば、ＹＵＶなどの任意の色空間を使用できることに留意されたい。
【００２５】
図５Ｂに示す本発明の別の実施形態５００Ｂでは、歪みテーブルをステッチングテーブルに連結し、これを使用してパノラマイメージをステッチングする。この実施形態では、入力イメージ集合５１２がステッチングされて仮想パノラマイメージ５１５が生成され、ステッチングされた仮想パノラマイメージのイメージピクセル座標５２２がシステム５００Ｂに入力される。リアルタイムパノラマイメージ修正モジュール５００Ｂには、歪みテーブル生成モジュール５４０、歪みテーブル５５０、連結されたステッチングおよび歪みテーブル５５５（セクション４．５で詳細に説明する）、ならびにリアルタイムイメージ歪みシステム５６０が含まれる。
【００２６】
歪みテーブル生成モジュール５４０は、パラメトリックイメージ歪み関数を使用して歪みテーブル５５０を生成するためのものである。仮想のパノラマイメージ５１５のパノラマイメージピクセル座標５２２が処理されて歪みテーブル５５０が作成される。歪みテーブル生成モジュール５４０の詳細については、以下で説明する。歪みテーブル５５０には、修正されたパノラマイメージ５３０内の位置に対応するように調整されたパノラマイメージピクセル座標５２２が含まれる。このように、歪みテーブル５５０は、パノラマイメージピクセル座標５２２の修正されたパノラマイメージ５３０内の新しい位置を決定する。
【００２７】
歪みテーブル５５０が生成されると、歪みテーブルは、入力イメージ集合５１２をステッチングするために使用されるステッチングテーブルに連結され、連結された歪みおよびステッチングテーブル５５５が作成される。入力イメージ集合５１２は、リアルタイムイメージ歪みシステム５６０への入力として受信される。リアルタイムパノラマイメージ歪みシステム５６０は、入力イメージ集合５１２に連結された歪みおよびステッチングテーブル５５５を適用することによって修正されたパノラマイメージ５３０を作成する。リアルタイムイメージ歪みシステム５６０は、連結された歪みおよびステッチングテーブル５５５に含まれるピクセル座標の位置にある入力イメージ集合５１２のＲＧＢの値（またはＹＵＶ、またはそれ以外の色空間）を取得することによって、修正されたパノラマイメージ５３０内の各位置について修正されたパノラマイメージ５３０を作成する。仮想のパノラマピクセル座標５２２のＲＧＢ値は、このようにして入力イメージ集合５１２がステッチングされる間に修正されたパノラマイメージ５３０内に再配置される。新しい位置は、連結された歪みおよびステッチングテーブル５５５を使用して決定される。
【００２８】
ステッチャーは静的であり、最小限の計算ですむので、歪みのプロセスはリアルタイムで実行される。歪みテーブルの生成とは、修正されたパノラマイメージ５３０の作成に必要なのは、パノラマイメージ５１０または入力イメージ集合５１２に歪みテーブル５５０（または連結された歪みおよびステッチングテーブル）を適用することのみを意味する。
【００２９】
２．０  例示的な動作環境
本発明によるリアルタイムパノラマイメージ修正システム５００Ａまたは５００Ｂは、コンピューティング環境で動作するように設計されている。以下の説明は、本発明を実装できる適切なコンピューティング環境を簡単かつ一般的に説明することを目的としている。
【００３０】
図６は、本発明を実施するのに適したコンピューティング装置を示すブロック図である。必須ではないが、本発明について、コンピュータで実行されるコンピュータ実行可能命令（例えばプログラムモジュール）の一般的なコンテキストで説明する。一般に、プログラムモジュールには、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがある。さらに、本発明が、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施できることは、当業者にはいうまでもない。本発明は、通信ネットワークを介してリンクされるリモート処理デバイスでタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、メモリ記憶デバイスを含むローカルとリモートの両方のコンピュータ記憶媒体にプログラムモジュールを格納できる。
【００３１】
図６を参照すると、本発明を実装する例示的なシステムには、汎用のコンピューティングデバイス６００が含まれる。詳しくは、コンピューティングデバイス６００には、処理ユニット６０２、システムメモリ６０４、および様々なシステムコンポーネントを接続する（システムメモリ６０４から処理ユニット６０２への接続を含む）システムバス６０６が含まれる。システムバス６０６は、様々なバスアーキテクチャのいずれかを使用したメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む各種バス構造のいずれでもよい。システムメモリには、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）６１０とランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）６１２が含まれる。起動時などにコンピューティグデバイス６００内のエレメント間の情報転送を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）６１４は、ＲＯＭ  ６１０に格納されている。コンピューティングデバイス６００には、さらにハードディスク（図示せず）に対する読み出しおよび書き込みを行うハードディスクドライブ６１６、取り外し可能な磁気ディスク６２０に対する読み出しまたは書き込みを行う磁気ディスクドライブ６１８、ならびにＣＤ−ＲＯＭ、または他の光媒体のような取り外し可能な光ディスク６２４に対する読み出しまたは書き込みを行う光ディスクドライブ６２２が含まれる。ハードディスクドライブ６１６、磁気ディスクドライブ６２８、および光ディスクドライブ６２２は、それぞれハードディスクドライブインターフェース６２６、磁気ディスクドライブインターフェース６２８、および光ディスクドライブインターフェース６３０を介してシステムバス６０６に接続する。ドライブとこれに関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールなど、コンピューティングデバイス６００の他のデータを格納する不揮発性ストレージを提供する。
【００３２】
本明細書に記載する例示的な環境では、ハードディスク、取り外し可能な磁気ディスク６２０、および取り外し可能な光ディスク６２４を使用しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｋ）、ベルヌーイカートリッジ（Ｂｅｒｎｏｕｌｌｉ  ｃａｒｔｒｉｄｇｅｓ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）などのように、コンピュータからアクセス可能なデータを保存できる他のタイプのコンピュータ可読媒体も例示的な動作環境に使用できることは当業者には理解される。
【００３３】
オペレーティングシステム６３２、１つまたは複数のアプリケーションプログラム６３４、その他のプログラムモジュール６３６、およびプログラムデータ６３８を含む多くのプログラムモジュールは、ハードディスク、磁気ディスク６２０、光ディスク６２４、ＲＯＭ  ６１０、またはＲＡＭ  ６１２に保存できる。ユーザ（図示せず）は、キーボード６４０やポインティングデバイス６４２などの入力デバイスを使用してコンピューティングデバイス６００にコマンドや情報を入力できる。さらに、カメラ６４３（ビデオカメラなど）、および例えばマイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなど、その他の入力デバイス（図示せず）がコンピューティングデバイス６００に接続されていてもよい。これらの入力デバイスおよび他の入力デバイスは、多くの場合、システムバス６０６に接続するシリアルポートインターフェース６４４を介して処理ユニット６０２に接続されているが、パラレルポート、ゲームポート、またはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインターフェースで接続されてもよい。モニタ６４６または他のタイプの表示デバイスも、ビデオアダプタ６４８のようなインターフェースを介してシステムバス６０６に接続される。パーソナルコンピュータなどのコンピューティングデバイスには、一般にモニタ６４６以外にもスピーカーやプリンタなどの周辺出力デバイス（図示せず）が含まれる。
【００３４】
コンピューティングデバイス６００は、リモートコンピュータ６５０のような１台または複数台のリモートコンピュータへの論理接続を使用してネットワーク環境で動作できる。リモートコンピュータ６５０は、もう１台のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般のネットワークノードでよく、通常は、パーソナルコンピューティングデバイス６００に関連して上で説明したエレメントの多くまたはすべてが含まれるが、図６にはメモリ記憶デバイス６５２のみを示す。図６に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）６５４とワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）６５６が含まれる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００３５】
ＬＡＮネットワーキング環境で使用する場合、コンピューティングデバイス６００はネットワークインターフェースまたはアダプタ６５８を介してローカルネットワーク６５４に接続する。ＷＡＮネットワーキング環境で使用する場合、コンピューティングデバイス６００は一般にインターネットなどのワイドエリアネットワーク（ＷＡＮ）６５６を介して通信を確立するためのモデム６６０またはその他の手段を備えている。モデム６６０（内蔵でも外付けでもよい）は、シリアルポートインターフェース６４４を介してシステムバス６０６に接続される。ネットワーク環境では、コンピューティングデバイス６００またはその一部に関連して説明したプログラムモジュールをリモートメモリ記憶デバイス６５２に格納できる。図示されたネットワーク接続が例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことが理解されよう。
【００３６】
３．０  リアルタイムパノラマイメージ修正システムの詳細
一般に、リアルタイムパノラマイメージ修正システム５００は、パノラマイメージ５１０のリアルタイム修正を提供する。具体的には、カメラから遠い位置に座っている人物の頭部のサイズを正規化または均等化する。システム５００は、垂直方向と水平方向の湾曲とゆがみを修正する。さらに、システム５００は奥行きや浮遊モーションなどの認知の問題を修正する。
【００３７】
図７は、図５Ａまたは５Ｂに示す歪みテーブル生成モジュール５４０の詳細を示すブロック図である。詳細に示すと、歪みテーブル生成モジュール５４０には、パノラマイメージピクセル座標５２０または仮想パノラマイメージピクセル座標５２２と水平方向の特徴ジオメトリ５０５を入力するための入力モジュール７００が含まれる。こうしたピクセル座標５２０、５２２は、パノラマイメージピクセル座標５２０の修正されたパノラマイメージ５１０内または仮想パノラマイメージ５１５内での各ピクセルの位置を表す。モジュール５４０には、垂直方向のスケーリングモジュール７１０も含まれる。垂直方向のスケーリングモジュール７１０では、歪み関数を使用してパノラマイメージのピクセル座標５２０または仮想パノラマイメージのピクセル座標５２２の垂直方向の各スキャンライン（ｓｃａｎｌｉｎｅ）を処理する。この処理によって、パノラマイメージのピクセル座標５２０、５２２が垂直方向にスケーリングされる。概念的に、これはパノラマイメージ５１０（または仮想パノラマイメージ５１５）の垂直方向の「ストレッチング（引き伸ばしｓｔｒｅｔｃｈｉｎｇ）」と考えることができる。こうした垂直方向のスケーリングにより、パノラマイメージ５１０（または仮想パノラマイメージ５１５）の奥行きの誇張が部分的に修正される。
【００３８】
歪みテーブル生成モジュール５４０には、さらにパラメトリックイメージ歪み関数を使用して水平方向のイメージピクセル座標５２０、５２２をスケーリングする水平方向のスケーリングモジュール７２０も含まれる。垂直方向のスケーリングと同様に、これも概念的にパノラマイメージ５１０または仮想パノラマイメージ５１５の水平方向の「ストレッチング」と考えることができる。さらに、水平方向のスケーリングは、パノラマイメージ５１０または仮想パノラマイメージ５１５のアスペクト比が維持されるように、垂直方向のスキャンラインのそれぞれについて個別に実行される。
【００３９】
垂直方向のスケーリングモジュール７１０と水平方向のスケーリングモジュール７２０は、予備ピクセル座標を元のピクセル座標にマップする予備歪みテーブルを作成する。この予備歪みテーブルを使用して、予備修正されたイメージを作成できる。実際にはこの処理は行われず、予備修正されたイメージは仮想イメージである。予備修正されたイメージには、垂直方向のラインは垂直に維持されるが、水平方向のラインにはゆがみが発生するという特性がある。
【００４０】
こうした水平方向のゆがみを修正するために、歪みテーブル生成モジュール５４０にはさらに水平方向のゆがみモジュール７３０も含まれる。水平方向のゆがみモジュール７３０は、予備歪みテーブル内の予備ピクセル座標を位置によって異なる値だけ垂直方向にスケーリングする。歪みテーブル生成モジュール５４０の出力は、歪みテーブル５５０である。歪みテーブルは、修正されたパノラマイメージ５３０内のピクセル座標を元のパノラマイメージのピクセル座標５２０またはステッチングされた仮想イメージのピクセル座標５２２にマップする。歪みテーブルをステッチングテーブルに連結して連結された歪みおよびステッチングテーブルを作成でき、入力イメージ集合をステッチングしてパノラマイメージを作成するために使用することができる。
【００４１】
４．０  リアルタイムパノラマイメージの修正方法
本発明によるリアルタイムパノラマイメージの修正方法は、Ｓｐａｔｉａｌｌｙ  Ｖａｒｙｉｎｇ  Ｕｎｉｆｏｒｍスケーリング関数またはＳＶＵスケーリング関数と呼ばれるパノラマイメージ歪み関数を使用している。ＳＶＵスケーリング関数は、アスペクト比を維持するための均等スケーリング関数に局所的には類似しているが、スケーリング係数は、歪みを作成するためにイメージにわたって変化する。ＳＶＵスケーリング関数は、パノラマイメージを閲覧するときに、回転を防止し、浮遊モーションを除去する。
【００４２】
図８は、図５Ａに示すリアルタイムパノラマイメージ修正システム５００Ａによるリアルタイムパノラマイメージ修正方法の１つの実施形態の動作を示す全般的な流れ図である。パノラマイメージ５１０のパノラマイメージピクセル座標５２０と水平方向の特徴ジオメトリ５０５が入力として受信される（ボックス８００）。次に、歪みテーブル５５０が生成される（ボックス８１０）。この歪みテーブル５５０を使用して、修正されたパノラマイメージピクセル座標５３０の位置が決定される。
【００４３】
以下で詳細に説明するように、歪みテーブル５５０の生成には、垂直方向のスケーリング、水平方向のスケーリング、および水平方向のゆがみ修正が含まれる。垂直方向のスケーリングにより、パノラマイメージ５１０の奥行きの誇張が修正される。奥行きの誇張を修正するには、パノラマイメージ５１０の中央に位置する離れたオブジェクトまたは人物を、カメラの近くに位置するオブジェクトまたは人物に比べて相対的に拡大する必要がある。
【００４４】
パノラマイメージ５１０のアスペクト比を維持するために、水平方向のスケーリングも実行される。具体的には、パラメトリックイメージ歪み関数（例えばＳＶＵスケーリング関数）を使用して水平方向のスケーリングを実行し、パノラマイメージ５１０の垂直方向の各スキャンラインの新しい幅を生成する。ＳＶＵスケーリング関数は垂直方向のラインを垂直に維持するが、これによって特定の量の垂直方向のずれが発生する。視覚的には、これは水平方向のラインの傾斜とゆがみとして認知される。シーンには、イメージの最上部または最下部の付近にゆがみが目立ちやすいテーブルや部屋の天井などの水平面が含まれていることがたびたびある。
【００４５】
こうした垂直方向のずれを修正するために、リアルタイムパノラマイメージ修正方法にはさらに水平方向のゆがみ修正を実行してパノラマイメージ５１０の水平方向のゆがみを修正するステップが含まれる。一般に、垂直方向のスケーリングの均等性（ｕｎｉｆｏｒｍｉｔｙ）を緩和し、パノラマイメージ５１０内の垂直方向の位置で（例えば、垂直方向のスキャンラインに沿って）非線形のスケーリングを行うことによって達成される。垂直方向のスケーリング、水平方向のスケーリング、および水平方向のゆがみ修正の後で、修正されたパノラマイメージ５３０内のピクセルをパノラマイメージ５１０にマップする歪みテーブル５５０が生成される。
【００４６】
歪みテーブル５５０が生成されると、パノラマイメージ５１０は入力として受信される（ボックス８２０）。次いで、パノラマイメージ５１０がリアルタイムで歪められ、修正されたパノラマイメージ５３０が作成される。歪みテーブルにより、パノラマイメージ５１０内のピクセルが、修正されたパノラマイメージ５３０内の各位置について検出される場所が決定されて、ゆがみのないパノラマイメージが生成された。
【００４７】
図８Ｂは、図５Ｂに示すリアルタイムパノラマイメージ修正システム５００Ｂによるリアルタイムパノラマイメージ修正方法の１つの実施形態の動作を示す全般的な流れ図であり、この動作は図８Ａに関連して説明したのとほとんど同様に動作する。仮想パノラマイメージ５１５のイメージピクセル座標５２２と水平方向の特徴ジオメトリ５０５が入力として受信される（ボックス８００）。次に、歪みテーブル５５０が生成される（ボックス８１０）。次いで、歪みテーブルが歪みテーブル５５０に連結され、連結された歪み関数およびステッチングテーブルが作成される（ボックス８１５）。仮想パノラマイメージを生成するために使用される入力イメージ集合が入力される（ボックス８２０）。次いで、連結された歪み関数およびステッチングテーブル５５５を使用して修正されたパノラマイメージピクセル座標５３０の位置を決定すると同時に、入力イメージ集合をステッチングする（ボックス８３０）。次いで、修正されたパノラマイメージが出力される（ボックス８４０）。
【００４８】
様々なスケーリングプロシージャおよびモジュールの詳細については、以下でさらに詳しく説明する。
【００４９】
４．１  垂直方向のスケーリング
図９は、図７の７１０に示す垂直方向のスケーリングモジュールの詳細を示す流れ図である。水平方向の特徴ジオメトリ５０５とパノラマピクセル座標５２０または５２２が入力として受信される（ボックス９００）。次に、パラメトリックイメージ歪み関数（例えばＳＶＵスケーリング関数）が１組の曲線とスケーリング係数を使用して決定される。具体的には、ソース曲線が指定され（ボックス９１０）、さらに歪み係数が指定される（ボックス９２０）。こうしたソース曲線と歪み係数を使用して、ターゲット曲線が計算される（ボックス９３０）。
【００５０】
図１０は、２組の曲線、すなわちの（１）ソース曲線と（２）ターゲット曲線よる歪み関数の決定を示している。本発明の１つの態様において、ソース曲線はシンプルなユーザインターフェースを使用したユーザ入力である。こうしたソース曲線は、パラメトリックイメージ歪み関数のパラメータを提供する。ユーザは、ユーザインターフェースから２本の３次曲線を定義するように要求される。こうした２本のソース曲線は、人物の頭部の上端やテーブルの端のような普通の（実世界の）水平方向の特徴を定義する。図１０に示すように、上側のソース曲線Ｓｔと下側のソース曲線Ｓｂが指定される。図１０を図４と比較することによって、パノラマのソース曲線とターゲット曲線を計算するには、パノラマイメージ全体のソース曲線を定義するために上側と下側のソース曲線の４つの異なる部分を定義する必要があることに留意されたい。
【００５１】
ソース曲線を手動で指定する代わりに、例えば会議用テーブルや会議出席者の頭部の上端に接する平面といった水平方向の特徴ジオメトリからソース曲線を自動的に決定することもできる。会議用テーブルは長方形であると仮定する。緑のソース曲線は、テーブルの幅Ｗと長さＬ、カメラの高さｈ、カメラの焦点距離ｒ、およびカメラの向きθがわかっている場合に計算できる。焦点距離ｒとカメラの高さｈは、カメラが製造されたときにわかっている。テーブルの寸法は、インストール時にユーザが指定できる。図１１は、テーブルの端の円筒形のフィルムへの投影を示す図である（カメラの向きは標準的なものと仮定する）。以下は、円筒形のイメージ上でテーブルの境界を表す下側のソース曲線の４つの部分を表す式である。
【００５２】
【数１】
2008536239.tif 000003
【００５３】
同様に、以下は円筒形のイメージ上で人物の頭部の上端に接する平面を表す上側のソース曲線の４つの部分を表す式であり、ｈ’はカメラから会議出席者の頭部の上端に接する平面までの距離を表す。
【００５４】
【数２】
2008536239.tif 000004
【００５５】
歪み係数αは、イメージに対する歪み値を決定する（これもユーザが選択できる）。歪み係数αは０から１までの範囲にあり、α＝０の場合は歪みなし、α＝１の場合は歪みの値が最大である。概念的には、α＝０を指定するとイメージは未修正の状態で残り、α＝１を指定するとソース曲線上のピクセルを両端の間のラインに引き寄せる。通常、理想的な歪み係数は、０と１のほぼ中間の値である。
【００５６】
ソース曲線と歪み係数が指定されると、ターゲット曲線を計算できる（ボックス９３０）。ｙ＝Ｓｔ（ｘ）とｙ＝Ｓｂ（ｘ）をそれぞれ上側と下側のソース曲線を表す式とする。２本のターゲット曲線（ソース曲線上の点はここに移動する）は、ソース曲線とαによって決まる。具体的にいえば、上側のターゲット曲線Ｔｔと下側のターゲット曲線Ｔｂが定義される。このラインの式が端点Ｓｔ（ｘ）の間でｙ＝ｙｔ（ｘ）として定義され、下側のソース曲線の端点を結ぶラインの式がｙ＝ｙｂ（ｘ）として定義される場合は、上側のターゲット曲線の式はＴｔ（ｘ）＝（１−α）Ｓｔ（ｘ）＋αｙｔ（ｘ）であり、Ｔｂ（ｘ）＝（１−α）Ｓｂ（ｘ）＋αｙｂ（ｘ）である。
【００５７】
次いで、ソース曲線とターゲット曲線を使用してメインスケーリング係数ｒ（ｘ）が計算される（ボックス９４０）。具体的には、図１０に示すように垂直方向のスキャンラインｘが指定された場合に、Ａ、Ｂはそのソース曲線との交点を表し、Ａ’、Ｂ’はターゲット曲との交点を表すものとする。ＳＶＵスケーリング関数はＡＢをＡ’Ｂ’にスケーリングする。次のように仮定する。
【００５８】
【数３】
2008536239.tif 000005
【００５９】
比率ｒ（ｘ）は、水平方向の位置ｘにおける垂直方向のスキャンラインのメインスケーリング係数である。次いで、垂直方向のスキャンラインのパノラマピクセル座標５２０がメインスケーリング係数ｒ（ｘ）を使用して垂直方向にスケーリングされる（ボックス９５０）。
【００６０】
４．２  水平方向のスケーリング
アスペクト比を維持するために、パノラマピクセル座標５２０は水平方向にもスケーリングされる。こうした水平方向のスケーリングでも、同じメインスケーリング係数ｒ（ｘ）を使用する。換言すると、垂直方向のスケーリングとまったく同様に、垂直方向のスキャンラインはアスペクト比を維持するためにメインスケーリング係数ｒ（ｘ）を使用して水平方向にもスケーリングされる。
【００６１】
図１２は、図７に示す水平方向のスケーリングモジュールの詳細を示す流れ図である。垂直方向にスケーリングされたパノラマピクセル座標が入力として受信される（ボックス１２００）。メインスケーリング係数ｒ（ｘ）を使用して、垂直方向にスケーリングされたパノラマピクセル座標が水平方向にスケーリングされる（ボックス１２１０）。垂直方向にスケーリングされたパノラマピクセル座標５２０がスケーリングされると、予備修正されたイメージの全幅ｗ’は以下
【００６２】
【数４】
2008536239.tif 000006
【００６３】
のようになる。（式中、ｗはパノラマ（またはソース）イメージ５１０の幅である。）
次に、予備歪みテーブルが生成される（ボックス１２２０）。予備歪みテーブルには予備ピクセル座標が含まれる。予備ピクセル座標は、垂直方向と水平方向にスケーリングされたパノラマピクセル座標である。概念的には、予備ピクセル座標を使用して予備修正されたイメージを作成できる。したがって、パノラマイメージ５１０内の任意のピクセル（ｘ，ｙ）について、（ｘ’，ｙ’）はその予備修正されたイメージ内の新しい位置を表すものとする。これで、次の式が得られる。
【００６４】
【数５】
2008536239.tif 000007
【００６５】
ｙ’＝Ｔｔ（ｘ）＋ｒ（ｘ）＊（ｙ−Ｓｔ（ｘ））
上の式は、ＳＶＵスケーリング関数のフォワードマッピング（ｆｏｒｗａｒｄ  ｍａｐｐｉｎｇ）の式である。ＳＶＵスケーリング関数は、あらゆる場所における完全な均等スケーリングではない。あらゆる場所における完全な均等スケーリングである唯一の関数が大域的な均等スケーリング関数であることを証明するのは容易である。
【００６６】
ＳＶＵスケーリング関数は、一般的な円筒形の表面への投影と同様である。しかし、こうしたシンプルな投影は局所的に均等なスケーリングを生成しない。局所的な均等スケーリングが望まれており、こうした局所的な均等スケーリングがないために、予備修正されたイメージ内のオブジェクトは引き伸ばされたように見える。
【００６７】
４．３  水平方向のゆがみ修正
パノラマピクセル座標５２０が垂直方向と水平方向にスケーリングされると、得られる予備歪みテーブルで水平方向のゆがみが修正される。イメージ歪み関数（例えばＳＶＵスケーリング関数）のパラメトリッククラスでは、垂直方向のラインを垂直に維持するが、水平方向のラインにゆがみが発生するため、水平方向のゆがみ修正が必要になる。この問題を最小限に抑えるために、スケーリングの均等性が緩和され、垂直方向のスキャンラインはそれぞれ非線形にスケーリングされる。
【００６８】
図１３は、図７に示す水平方向のゆがみモジュール７３０の詳細を示す流れ図である。一般に、モジュール７３０は予備歪みテーブル内の予備ピクセル座標を複数のセクションに分割し、各セクションをセクションに特有のスケーリング係数に従って垂直方向にスケーリングする。スケーリング係数はセクションごとに異なってもよく、通常は、少なくとも１つのセクションで異なっている。
【００６９】
具体的には、水平方向のゆがみ修正モジュール７３０は最初に予備歪みテーブルを複数のセクションに分割する（ボックス１３００）。本発明の１つの態様では、予備修正されたイメージは概念的に図１４に示すように分割される。図１４は、垂直方向のスケーリング関数と予備修正されたイメージを３つのセクションに分割したものを概念的に示している。図１４で、ｙは垂直方向であることに留意されたい。図１４を参照すると、第１のセクション１４００は下側のソース曲線Ｓｂと上側のソース曲線Ｓｔの間で画定されている。他のセクションにはソース曲線の外部が含まれており、ソース曲線より下の第２のセクション１４１０とソース曲線より上の第３のセクション９２０が含まれる。
【００７０】
これで、２本のソース曲線の間の第１のセクション１３００にある予備ピクセル座標がメインスケーリング係数ｒ（ｘ）を使用して垂直（ｙ）方向にスケーリングされる（ボックス１３１０）。こうした垂直方向のスケーリングは前述のようにして実行される。２本のソース曲線の外部のセクション（第２のセクション１３１０と第３のセクション１３２０）にある予備ピクセル座標では、垂直方向のスケーリングが少なくなる。これは、最初にセカンダリスケーリング係数を指定することによって実行される（ボックス１３２０）。セカンダリスケーリング係数ｓは、図１４でメインスケーリング係数ｒ（ｘ）の下に示されている。次に、ソース曲線の外部にある他のセクション１４１０、１４２０内の予備ピクセル座標がセカンダリスケーリング係数を使用して垂直方向にスケーリングされる（ボックス１３３０）。水平方向のスケーリングは同じ状態に維持される（換言するとメインスケーリング係数ｒ（ｘ）を使用する）ので、垂直方向のラインはまっすぐに維持されることに留意されたい。セクション間の連続性を維持するために、セクション間の遷移は平滑化(smoothing)パラメータｗを適用することによって作成される（ボックス１３４０）。平滑化パラメータにより、垂直方向のスケーリング関数は平滑化され、垂直方向のスケーリング関数がソース曲線と交差する際に、別々のスケーリング係数が平滑に接続される。
【００７１】
図１０および１４を参照しながら、図１０に示すｘにおける垂直方向のラインについて考察する。図１４に示すように、ｇ（ｙ）は垂直方向のスケーリング関数であり、この垂直方向のライン上の任意の点ｙにおける垂直方向のスケーリング係数として定義できる。ｇ（ｙ）はｘに依存することに留意されたい。関数ｇ（ｙ）は、２つのパラメータ、すなわちセカンダリスケーリング係数ｓと平滑化パラメータｗによって制御される。垂直方向のスキャンラインのソース曲線からｗ／２を超える距離にある部分は、ソース曲線の間がメインスケーリング係数ｒ（ｘ）でスケーリングされ、ソース曲線の外部がセカンダリスケーリング係数ｓでスケーリングされる。３つの一定のセグメントは、［Ｓｔ−０．５ｗ，Ｓｔ＋０．５ｗ］において２つの３次元スプラインによって結合される。個々の３次元スプラインの端点はｓとｒ（ｘ）であり、両端の傾きは０である。
【００７２】
平滑化パラメータｗは、ソース曲線の連続性を制御する。例えば、シーンがソース曲線で不連続の場合は、顕著なアーチファクトのない非常に小さなｗを選択してもよい。ｓ＝ｒ（ｘ）の特殊なケースでは、ｇ（ｙ）は定数になる。予備修正されたイメージ内の新しいピクセル位置を抽出する場合はこのように仮定される。水平方向のゆがみ修正関数が予備歪みテーブルに適用されると、修正されたパノラマイメージ５３０内のパノラマピクセル座標の位置を含む歪みテーブル５５０が生成される（ボックス１３５０）。次いで、歪みテーブル５５０が出力として送信される（ボックス１３６０）。この歪みテーブルを使用して、パノラマイメージ５１０から修正されたパノラマイメージ５３０が作成される。
【００７３】
４．４  パノラマイメージ閲覧の誤った認知の修正
ＳＶＵスケーリング関数は、奥行きに関する誤った認知の問題を修正するのに有効である。これは、パノラマイメージを閲覧するための対称ＳＶＵスケーリング関数を使用して達成される。下側のソース曲線は上側のソース曲線のミラーである。ソース曲線はイメージのコーナーを通過し、中央の垂直方向のスキャンラインで最小値（または最大値）をとる。１つのパラメータはこうした中央の点の高さを表し、もう１つのパラメータは前述の歪み係数αである。
【００７４】
４．５．連結された歪み／ステッチングテーブル
前述のように、歪みテーブルを、イメージをステッチングするために使用されるステッチングテーブルに連結して、パノラマイメージを作成することができる。例えば、１つの実施形態では、円形の会議用テーブルの場合に、複数のカメラで撮影したイメージをステッチングして会議室の円筒図法によるイメージが作成される。ステッチャーは、カメライメージをパノラマイメージにマップするステッチングテーブルを使用する。ステッチングテーブルは、一般的にカメラメーカーの工場で製造較正時に作成される。このテーブルには、パノラマ内のピクセル（ｘ，ｙ）のそれぞれについて、以下の情報が含まれる。
【００７５】
（ｘ，ｙ）−パノラマピクセル座標
（ｕ１，ｖ１）−カメラ１のイメージピクセル座標
（ｕ２，ｖ２）−カメラ２のイメージピクセル座標
カメラ１−メインソースカメラ
カメラ２−第２のソースカメラ。（ｘ，ｙ）が重複する領域にある場合。
【００７６】
Ｓ（ｘ，ｙ）は、ピクセル（ｘ，ｙ）でのステッチャーテーブルエントリを表すと仮定する。すなわち、Ｓ（ｘ，ｙ）＝｛カメラ１，ｕ１，ｖ１，カメラ２，ｕ２，ｖ２｝とする。ステッチャーを円筒形から長方形に変換するには、ステッチングテーブルを歪みテーブルに連結する必要がある。最終的な（頭部のサイズを正規化した後の）パノラマイメージ上のピクセル（ｘ，ｙ）のそれぞれについて、Ｗ（ｘ，ｙ）は円筒形のパノラマイメージのピクセル座標であるテーブルエントリを表すものとし、ＴはＳとＷを連結したテーブルを表すものとする。したがって、Ｔ（ｘ，ｙ）＝Ｓ（Ｗ（ｘ，ｙ））である。この連結されたテーブルは、インストール時にあらかじめ計算できる。実行時には、この動作はパノラマステッチングの動作と同じである。
【００７７】
５．０  ユーザインターフェース
リアルタイムパノラマイメージ修正システムの１つの実施形態では、ユーザがシステムを簡単に利用できるようにするためのユーザインターフェース（ＵＩ）を提供する。このＵＩには、所望の設定を入力するコントロールパネル（例えば、タッチパネル液晶ディスプレイ）、およびパノラマイメージから正規化された頭部が抽出され、表示されるスピーカーウィンドウの表示を含めることができる。さらに、ＵＩには修正されたパノラマイメージまたはスケーリングされたパノラマイメージを表示し、適用される歪み係数、イメージの周囲に追加するピクセルによってそのサイズが変化する表示を含めることができる。これで、修正されたイメージをネットワークを経由して標準サイズで送信でき、様々なサイズおよび解像度のイメージを送信するためにネットワークスタックと再ネゴシエーションをする必要がない。
【００７８】
５．１  コントロールパネル
パノラマイメージの撮影に使用する全方向カメラは、本発明によるリアルタイムパノラマイメージ修正システムのセットアップと通常の用途に使用するタッチパネル液晶（ＬＣＤ）画面などのコントロールパネルを備えていてもよい。１つの実施形態では、テーブルの形状とサイズ、カメラの位置と向き、および頭部のサイズの正規化の設定（０〜１００％）を入力できる。テーブルの形状とサイズ設定には、円形（デフォルトであるのが好ましい）、小型の長方形（例えば１０×５インチ２（２５．４×１２．７ｃｍ２））、大型の長方形（例えば１６×５インチ２（４０．６４×１２．７ｃｍ２））、およびその他（この場合はユーザがテーブルの長さと幅を指定するように要求される）が含まれてよい。デフォルトのテーブル設定（円形）では、円形以外のテーブルの場合にステッチングされたイメージを生成するが、このようなテーブルタイプについては頭部のサイズの正規化は実行しない。
【００７９】
前述のように、本発明の１つの実施形態では、全方向カメラの位置と向きをコントロールパネルから設定できる。デフォルトの位置はテーブルの中央である。デフォルトの向きは、テーブルの長辺に近いＬＣＤで読みやすい方向である（すなわち、テキストはテーブルの対称の主軸と平行である）。カメラの向きは非常に重要であり、これが正確でないと、歪みによって実際には頭部のサイズが等しくならずにその差が広がる可能性がある。カメラの向きは、顕著な影響なく、＋／−１５度変化することができる。従来の様々な方法を使用して、セットアップ後のカメラの向きを保持できる。カメラ用テーブルの形状とサイズ、および全方向カメラの位置と向きは、自動的に決定することもできる。
【００８０】
さらに、本発明の１つの実施形態では、頭部のサイズの正規化のパーセンテージをＬＣＤから設定できる。このパラメータは、スライダーを使用して設定でき、０％の正規化（円筒形）から１００％の正規化（長方形）まで連続的に設定できる。１００％に設定しない主な理由は、正規化をカメラの位置と回転の変化に対して強化し、一部のユーザが希望する遠近法のゆがみを提供することである。
【００８１】
５．２  スピーカーウィンドウ
ＵＩには、スピーカーウィンドウを表示する表示枠を含めることができる。このウィンドウには、パノラマイメージからサブウィンドウを直接コピーすることによって、パノラマイメージから頭部が抽出される。次いで、このサブウィンドウが個別の表示枠として表示される。抽出された頭部は、正規化されていてもされていなくてもよい。この機能は、特にテレビ会議で発言している場合、とりわけスピーカーがカメラから比較的遠い場所にいる場合に有効である。頭部が抽出され、拡大されることによって、その人物の表情を視認できる。これは、その人物が発言している場合に特に有益である。
【００８２】
５．３  埋め込まれたパノラマイメージとアナモルフィックな（Ａｎａｍｏｒｐｈｉｃ）パノラマイメージ
さらに、ＵＩには埋め込まれたパノラマイメージを表示し、送信する機能を含めることもできる。様々な歪み係数を使用してイメージを表示すると様々なサイズに修正されるので、この埋め込まれたパノラマイメージの表示では、修正されたイメージの周囲に余分なピクセルを追加して標準のサイズに合わせている。例えば、イメージの上側と下側に黒いバーなどのバーを追加してもよい。埋め込まれた修正イメージの例は、図１５に示されている。この埋め込まれたパノラマイメージによって、システムは修正されたパノラマイメージのそれぞれについて、一定のサイズと解像度を維持できる。これで、修正された各パノラマイメージの送信が可能になり、様々なサイズおよび解像度のイメージを送信するためにネットワークスタックと再ネゴシエーションをする必要がない。次いで、イメージを受信するパーティーは、埋め込まれたパノラマイメージを表示でき、バーは表示してもしなくてもよい。
【００８３】
固定の解像度のビデオストリームを経由して頭部のサイズが均等化された、または円筒形のパノラマビデオを送信する別の方法は、アナモルフィックなビデオ（すなわち、ピクセルアスペクト比が１：１でない）を使用することである。例えば、円筒形のパノラマイメージの解像度が１０５６×１４４ピクセルであるのに対して、頭部のサイズが正規化されたパノラマイメージが１０５６×１２０ピクセルの場合は、ピクセルアスペクト比、高さ：幅＝１２０：１４４（ピクセルは幅よりわずかに小さい）を使用して、頭部のサイズが正規化されたビデオを１０５６×１４４ピクセルで送信できる。受信側でディスプレイにビデオを表示する場合は、イメージが１０５６×１２０で表示される。ピクセルアスペクト比は、通常はビデオストリームで送信されるが、ビデオストリーム以外でも送信できる（例えばＳＩＰ  ＩＮＦＯメッセージ）。
【００８４】
本発明の以上の説明は、例示と説明を目的とするものである。本発明のすべてを説明する意図はなく、本発明を開示した特定の形に限定する意図もない。以上の開示に照らして、多くの変更や変形が可能である。本発明の範囲は、以上に示す本発明の詳細な説明には限定されず、前述の特許請求の範囲によって定義されるものとする。
【図面の簡単な説明】
【００８５】
【図１】会議室内の３６０度のパノラマカメラで撮影されたイメージを示す図である。
【図２】図１に示すイメージを本発明によるリアルタイムパノラマイメージ修正システムおよびその方法で修正したものを示す図である。
【図３】１８０度のイメージのＳＶＵスケーリング関数の上側と下側の曲線（緑の曲線）を示す図である。
【図４】３６０度パノラマイメージのＳＶＵスケーリング関数の上側と下側の曲線（緑の曲線）を示す図である。
【図５Ａ】本発明によるリアルタイムパノラマイメージ修正システムの１つの実施形態の概要を示すブロック図である。
【図５Ｂ】本発明によるリアルタイムパノラマイメージ修正システムの、連結された（ｃｏｎｃａｔｅｎａｔｅｄ）ステッチングおよび歪みテーブルを使用した別の実施形態の概要を示すブロック図である。
【図６】本発明を実行するのに適したコンピューティング装置を示すブロック図である。
【図７】図５Ａおよび５Ｂに示すリアルタイムパノラマイメージ修正システムによる歪みテーブル生成モジュールの詳細を示すブロック図である。
【図８Ａ】図５Ａに示すリアルタイムパノラマイメージ修正システムの動作を示す全般的な流れ図である。
【図８Ｂ】図５Ｂに示すリアルタイムパノラマイメージ修正システムの動作を示す全般的な流れ図である。
【図９】図７に示す垂直方向のスケーリングモジュール（ｖｅｒｔｉｃａｌ  ｓｃａｌｉｎｇ  ｍｏｄｕｌｅ）の詳細を示す流れ図である。
【図１０】２組の曲線により、歪み関数の決定を示す図である。
【図１１】テーブルの端の円筒形のフィルムへの投影を示す図である（カメラの向きは標準的なものと仮定する）。
【図１２】図７に示す水平方向のスケーリングモジュール（ｈｏｒｉｚｏｎｔａｌ  ｓｃａｌｉｎｇ  ｍｏｄｕｌｅ）の詳細を示す流れ図である。
【図１３】図７に示す水平方向のゆがみ修正モジュール（ｈｏｒｉｚｏｎｔａｌ  ｄｉｓｔｏｒｔｉｏｎ  ｃｏｒｒｅｃｔｉｏｎ  ｍｏｄｕｌｅ）の詳細を示す流れ図である。
【図１４】垂直方向のスケーリング関数と予備（ｐｒｅｌｉｍｉｎａｒｙ）ピクセル座標を３つのセクションに分割したものを概念的に示す図である。
【図１５】ネットワーク送信または表示の標準サイズに適合するようにイメージの周囲に余分なピクセルが追加され、埋め込まれた修正済みのパノラマイメージを示す図である。
【図５Ａ】
2008536239.tif 000008
【図５Ｂ】
2008536239.tif 000009
【図６】
2008536239.tif 000010
【図７】
2008536239.tif 000011
【図８Ａ】
2008536239.tif 000012
【図８Ｂ】
2008536239.tif 000013
【図９】
2008536239.tif 000014
【図１０】
2008536239.tif 000015
【図１１】
2008536239.tif 000016
【図１２】
2008536239.tif 000017
【図１３】
2008536239.tif 000018
【図１４】
2008536239.tif 000019
【図１】
2008536239.tif 000020
【図２】
2008536239.tif 000021
【図３】
2008536239.tif 000022
【図４】
2008536239.tif 000023
【図１５】
2008536239.tif 000024
【国際調査報告】
2008536239.tif 000025
2008536239.tif 000026
2008536239.tif 000027