(57)【要約】  【課題】  動画符号化データを用いてパノラマ画像を生成するパノラマ画像生成プログラム、パノラマ画像生成装置、パノラマ画像生成方法を提供する。  【解決手段】  移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法をコンピュータに実行させるパノラマ画像生成プログラムであって、動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、動きベクトル群に基づいて、フレーム画像の移動情報を算出し、フレーム画像の移動情報に基づいてカメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、フレーム画像に対応するカメラ位置情報に基づいて、フレーム画像を加工した表示データを生成する表示データ生成ステップとをコンピュータに実行させる。  【選択図】  図２
2006270676.tif 000002
【特許請求の範囲】
【請求項１】
移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法をコンピュータに実行させるパノラマ画像生成プログラムであって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップと、
をコンピュータに実行させるパノラマ画像生成プログラム。
【請求項２】
請求項１に記載のパノラマ画像生成プログラムにおいて、
前記表示データ生成ステップは、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするパノラマ画像生成プログラム。
【請求項３】
請求項１または請求項２に記載のパノラマ画像生成プログラムにおいて、
前記復号処理ステップは更に、ＤＣＴ係数を取得し、
前記カメラ位置情報生成ステップは、フレーム内に複数の所定の領域を設定し、前記ＤＣＴ係数のパワーを用いて前記動きベクトル群の重み付けを行い、前記領域毎に前記重み付けの結果の平均を行った重み付け平均ベクトルを算出し、前記領域毎の前記重み付け平均ベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成プログラム。
【請求項４】
移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成装置であって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理部と、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成部と、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成部と、
を備えてなるパノラマ画像生成装置。
【請求項５】
移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法であって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップと、
を実行するパノラマ画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画符号化データに含まれる情報からパノラマ画像を生成するパノラマ画像生成プログラム、パノラマ画像生成装置、パノラマ画像生成方法に関するものである。
【背景技術】
【０００２】
従来のパノラマ画像を生成する方法として、魚眼レンズで撮影し、画像処理により魚眼レンズの歪みを補正する方式、多眼の専用カメラで撮影し、画像処理により合成する方式が主流を占めている。
【０００３】
また、従来のカメラの方位を計測する方法として、カメラの旋回台の旋回量を用いる方法、ジャイロ、方位計、角度計等の専用計器を用いる方法がある。
【０００４】
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献１が知られている。この画像合成装置は、動画におけるフレーム画像からフレーム画像間の移動量を算出し、フレーム画像と移動量からパノラマ画像を合成するものである。
【特許文献１】特開２０００−２４４８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
カメラ及び動画符号化装置の小型化技術、移動体通信技術の発展に伴い、動画符号化データを伝送し、活用するニーズが高まっている。例えば、送信側空間をパノラマ画像として受信側で表示する要求がある。しかしながら、上述したパノラマ画像の生成は、専用の機材を必要とするものであり、動画伝送との関連は薄かった。従って、パノラマ画像伝送と動画伝送を行うためには、２つの独立したシステムが必要であった。
【０００６】
本発明は上述した問題点を解決するためになされたものであり、動画符号化データを用いてパノラマ画像を生成するパノラマ画像生成プログラム、パノラマ画像生成装置、パノラマ画像生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明は、移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法をコンピュータに実行させるパノラマ画像生成プログラムであって、前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップとをコンピュータに実行させるものである。
【０００８】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記表示データ生成ステップは、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするものである。
【０００９】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記表示データ生成ステップは、前記カメラ位置情報を表す文字を前記フレーム画像に付加したものを前記表示データとすることを特徴とするものである。
【００１０】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記復号処理ステップは更に、ＤＣＴ係数を取得し、前記カメラ位置情報生成ステップは、フレーム内に複数の所定の領域を設定し、前記ＤＣＴ係数のパワーを用いて前記動きベクトル群の重み付けを行い、前記領域毎に前記重み付けの結果の平均を行った重み付け平均ベクトルを算出し、前記領域毎の前記重み付け平均ベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするものである。
【００１１】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記カメラ位置情報生成ステップは、前記動きベクトル群と前記領域毎の前記重み付け平均ベクトルの比較により動きベクトルの選択を行い、選択された動きベクトルを合成したベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするものである。
【００１２】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記カメラ位置情報生成ステップは、前記動きベクトルに基づいて前記領域毎の回転角を算出し、前記回転角に基づいて前記フレーム画像の移動情報を算出することを特徴とするものである。
【００１３】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記カメラ位置情報は、カメラの方位角、カメラの仰角、カメラの向きに平行な軸の周りの回転角のいずれかを含むことを特徴とするものである。
【００１４】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記表示データは、ＶＲＭＬの形式を含むことを特徴とするものである。
【００１５】
また、本発明に係るパノラマ画像生成プログラムにおいて、前記表示データは更に、バックグラウンド用テクスチャの形式を含むことを特徴とする
ものである。
【００１６】
また、本発明は、移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成装置であって、前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理部と、前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成部と、前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成部とを備えたものである。
【００１７】
また、本発明に係るパノラマ画像生成装置において、前記表示データ生成部は、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするものである。
【００１８】
また、本発明に係るパノラマ画像生成装置において、前記表示データ生成部は、前記カメラ位置情報を表す文字を前記フレーム画像に付加したものを前記表示データとすることを特徴とするものである。
【００１９】
また、本発明に係るパノラマ画像生成装置において、前記復号処理部は更に、ＤＣＴ係数を取得し、前記カメラ位置情報生成部は、フレーム内に複数の所定の領域を設定し、前記ＤＣＴ係数のパワーを用いて前記動きベクトル群の重み付けを行い、前記領域毎に前記重み付けの結果の平均を行った重み付け平均ベクトルを算出し、前記領域毎の前記重み付け平均ベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするものである。
【００２０】
また、本発明に係るパノラマ画像生成装置において、前記カメラ位置情報生成部は、前記動きベクトル群と前記領域毎の前記重み付け平均ベクトルの比較により動きベクトルの選択を行い、選択された動きベクトルを合成したベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするものである。
【００２１】
また、本発明に係るパノラマ画像生成装置において、前記カメラ位置情報生成部は、前記動きベクトルに基づいて前記領域毎の回転角を算出し、前記回転角に基づいて前記フレーム画像の移動情報を算出することを特徴とするものである。
【００２２】
また、本発明に係るパノラマ画像生成装置において、前記カメラ位置情報は、カメラの方位角、カメラの仰角、カメラの向きに平行な軸の周りの回転角のいずれかを含むことを特徴とするものである。
【００２３】
また、本発明に係るパノラマ画像生成装置において、前記表示データは、ＶＲＭＬの形式を含むことを特徴とするものである。
【００２４】
また、本発明に係るパノラマ画像生成装置において、前記表示データは更に、バックグラウンド用テクスチャの形式を含むことを特徴とするものである。
【００２５】
また、本発明は、移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法であって、前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップとを実行するものである。
【発明の効果】
【００２６】
本発明によれば、動画符号化データとその復号処理を利用して、パノラマ画像を生成することができる。また、ＶＲＭＬのようなコンピュータグラフィックシステムと連携することにより、ユーザが利用しやすい形式でパノラマ画像を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００２８】
本実施の形態においては、パノラマ画像生成装置を用いたパノラマ画像配信システムについて説明する。また、本実施の形態において動画符号化方式はＭＰＥＧ（Moving Picture Experts Group）２を用いる。
【００２９】
まず、パノラマ画像配信システムの構成について説明する。
【００３０】
図１は、本発明に係るパノラマ画像配信システムの構成の一例を示すブロック図である。このパノラマ画像配信システムは、動画撮影装置１、パノラマ画像生成装置２、情報端末３、ネットワーク４を備える。動画撮影装置１は、周囲を撮影した動画を動画符号化データとし、ネットワーク４を介してパノラマ画像生成装置２へ送信する。パノラマ画像生成装置２は、受信した動画符号化データからＶＲＭＬ（Virtual Reality Modeling Language）ファイル等の表示データを生成し、ネットワーク４を介して情報端末３へ配信する。情報端末３は、ユーザが表示データの閲覧を行うためのものである。
【００３１】
動画撮影装置１は、旋回台１１、カメラ１２、符号処理部１３、送信部１４を備える。旋回台１１は、カメラ１２を一定の角速度で旋回させる。カメラ１２は撮影を行い、動画データとして出力する。符号処理部１３は、カメラ１２からの動画データの符号化を行い、動画符号化データとして出力する。ここで、本実施の形態における符号処理部１３はＭＰＥＧ２に対応した符号化を行うものである。送信部１４は、符号処理部１３からの動画符号化データを、ネットワーク４経由でパノラマ画像生成装置２へ送信する。
【００３２】
情報端末３は、ブラウザ３１を備える。ブラウザ３１は、ユーザの操作に従って、パノラマ画像生成装置２から受信した表示データの表示を行う。
【００３３】
次に、パノラマ画像生成装置２の構成について説明する。
【００３４】
図２は、本発明に係るパノラマ画像生成装置の構成の一例を示すブロック図である。このパノラマ画像生成装置２は、受信部４０、復号処理部４１、カメラ位置情報生成部４４、表示データ生成部４５、配信部４６を備える。また、復号処理部４１は、シーケンス層パース部５１、ＧＯＰ（Group Of Picture）層パース部５２、ピクチャー層パース部５３、スライス層パース部５４、マクロブロック層パース部５５、ブロック層パース部５６、後処理部５７を備える。また、ブロック層パース部５６は、逆量子化処理部６１、逆ＤＣＴ（Discrete Cosine Transform）処理部６２、ＭＣ（動き補償フレーム間予測符号化）部６３を備える。本実施の形態において、復号処理部４１はＭＰＥＧ２に対応した復号を行うものであり、各部の動作はＭＰＥＧ２の仕様に従う。
【００３５】
次に、動画符号化データにおけるフレーム、マクロブロック、ブロック、画素について説明する。図３は、フレームにおけるマクロブロックの構成の一例を示す図である。ＭＰＥＧ２において、フレームには、横４４個×縦３０個のマクロブロックの行列として配置されている。図４は、マクロブロックにおけるブロックの構成の一例を示す図である。ＭＰＥＧ２において、１マクロブロックには、Ｙ（輝度信号）、Ｃｂ（色差信号）、Ｃｒ（色差信号）の情報が含まれ、Ｙは横２個×縦２個のブロック（ｋ＝０〜３）の行列として配置され、Ｃｂ、Ｃｒはそれぞれ１個のブロック（ｋ＝４，５）である。図５は、ブロックにおける画素の構成の一例を示す図である。ＭＰＥＧ２において、１ブロックは、横８個×縦８個の画素の行列として配置されている。
【００３６】
次に、本発明に係るマクロブロックグループについて説明する。図６は、本発明に係るフレームにおけるマクロブロックグループの構成の一例を示す図である。パノラマ画像生成装置２においては、予め複数のマクロブロックグループが設定される。本実施の形態において、マクロブロックグループの数は４個、マクロブロックグループは横１５個×縦１０個のブロックの行列とする。また、マクロブロックグループにおけるマクロブロックの横方向の位置をｍ、縦方向の位置をｎで表す。なお、マクロブロックグループの数は、フレームの中心付近に１個追加することにより、５個としても良いし、より小さいマクロブロックグループを用いて横３個×縦３個の９個としても良い。
【００３７】
次に、パノラマ画像生成装置の動作について説明する。
【００３８】
図７は、本発明に係るパノラマ画像生成装置の動作の一例を示すフローチャートである。まず、受信部４０は、動画撮影装置１から動画符号化データを受信する（Ｓ１）。次に、復号処理部４１は、受信した動画符号化データの復号を行う（Ｓ２）。次に、カメラ位置情報生成部４４は、復号結果に基づいてフレーム画像とカメラ位置情報を生成する（Ｓ４）。表示データ生成部４５は、フレーム画像とカメラ位置情報を表示データに変換する（Ｓ５）。配信部４６は、例えばＷＷＷ（World Wide Web）サーバであり、表示データをネットワーク４経由で情報端末３へ配信し（Ｓ６）、このフローを終了する。更に、このフローは繰り返し実行される。
【００３９】
図８は、本発明に係るカメラ位置情報生成部の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、カメラの方位角、仰角の初期化を行う（Ｓ１０）。方位角、仰角は、管理者からの入力により与えられても良いし、旋回台１１に計測器を備えることにより与えられても良い。次に、カメラ位置情報生成部４４は、マクロブロック層パース部５５により動画符号化データから抽出された動きベクトルを、マクロブロックグループ毎に取得する（Ｓ１１）。次に、カメラ位置情報生成部４４は、逆量子化処理部６１により動画符号化データから抽出されたＤＣＴ係数を、マクロブロックグループ毎に取得する（Ｓ１２）。次に、カメラ位置情報生成部４４は、ブロック毎のＤＣＴ係数のパワーを算出する（Ｓ１３）。次に、カメラ位置情報生成部４４は、マクロブロックグループ毎の重み付け平均ベクトルを算出する（Ｓ１４）。次に、カメラ位置情報生成部４４は、重み付け平均ベクトルと動きベクトルに基づいてマクロブロックグループ毎の動きベクトルであるマクロブロックグループ移動ベクトルを算出する（Ｓ１６）。
【００４０】
次に、カメラ位置情報生成部４４は、マクロブロックグループ移動ベクトルに基づいてフレーム全体の動きベクトルであるフレーム移動ベクトルを算出する（Ｓ１７）。次に、カメラ位置情報生成部４４は、マクロブロックグループ移動ベクトルに基づいてマクロブロックグループ毎の回転角であるマクロブロックグループ回転角を算出し（Ｓ２０）、マクロブロックグループ回転角からフレーム全体の回転角であるフレーム回転角を算出し（Ｓ２１）、フレーム移動ベクトルまたはフレーム回転角を算出できたか否かの判断を行う（Ｓ２２）。算出できない場合（Ｓ２２，Ｎ）、このフローを終了する。一方、算出できた場合（Ｓ２２，Ｙ）、処理Ｓ２４へ移行する。
【００４１】
ここで、カメラが旋回する場合、カメラの旋回方向と逆方向のフレーム移動ベクトルが算出され、カメラが回転する場合、カメラの回転方向と逆方向のフレーム回転角が算出される。カメラの旋回とは、パンやチルトのようなカメラの動きにより、画像全体が平行移動する場合である。また、カメラの回転とは、カメラの向きに平行な軸を中心としたカメラの動きにより、画像全体がある点を中心に回転移動する場合である。
【００４２】
次に、カメラ位置情報生成部４４は、カメラ位置情報として、カメラの方位角、仰角、回転角の算出を行う（Ｓ２４）。次に、カメラ位置情報生成部４４は、後処理部５７により動画符号化データから抽出された複数のフレーム画像を取得し（Ｓ２５）、フレーム画像とカメラ位置情報を表示データ生成部４５へ出力し（Ｓ２６）、このフローを終了する。
【００４３】
なお、本実施の形態における動画撮影装置１は、カメラの旋回だけを行うことから、処理Ｓ２０，Ｓ２１，Ｓ２２、回転角に関する処理は省いても良い。
【００４４】
次に、動きベクトルの取得の詳細について説明する。
【００４５】
現在主流の動画符号化技術（Ｈ．２６１、ＭＰＥＧ１／２／４、Ｈ．２６４）は、動き補償フレーム差分方式が使われている。これは、参照フレームと対象フレームの間でＭＥ（Motion Estimation）を行い、動きベクトルを得るものであり、情報量圧縮に効果を上げている。ＭＥは、２つのフレームの差分値を最小にするパターンマッチングを行う。この方式により得られる動きベクトルは、被写体（オブジェクト）そのものを追尾するための技術とは異なり、生成された動きベクトルは、必ずしも被写体の真の移動方向を示すものとは限らない。但し、パンやチルトのようにカメラビューが移動する場合、動きベクトルがカメラビューの移動方向と逆方向を示す部分がある。本発明では、このような動きベクトルを利用して、カメラビューの移動を検出する。
【００４６】
ここで、動きベクトルの例について説明する。図９は、フレームにおける画像の一例を示す図である。ここで、被写体は家であり、屋根や壁は均一な模様である。図１０は、フレームにおける動きベクトルの分布の一例を示す図である。この図は、フレームの画像上に、動きベクトルの分布を模式的に表したものである。ここで、カメラは右方向に旋回しているものとする。壁、屋根、背景の境界において、カメラの旋回方向とは逆方向の動きベクトルが現れ、カメラの旋回の検出に利用することができる。但し、図中の点線の円内のように、均一な模様の部分では、動きベクトルは暴れ、カメラの旋回の検出に利用することはできない。
【００４７】
図１１は、本発明に係るマクロブロックグループにおける動きベクトルの分布の一例を示す図である。この図は、フレーム内に予め設定されたマクロブロックグループの位置と、マクロブロックグループ内の動きベクトルを表す。上述したように、均一な模様の部分では、動きベクトルは暴れている。
【００４８】
次に、マクロブロック毎のＤＣＴ係数のパワーの算出の詳細について説明する。
【００４９】
図１２は、マクロブロック毎のＤＣＴ係数のパワーを算出する式の一例を示す図である。この式は、まず、画素番号ｉ（０からｉ＿Ｔｈｒｅｓｈｏｌｄ−１まで）についてＤＣＴ係数のパワーを加算することにより、ブロック毎のパワーを算出する。更に、ブロック番号ｋ（０から３まで）についてブロック毎のパワーを加算することにより、マクロブロック毎のパワーＰ＿ｍａｃｒｏｂｌｏｃｋを算出する。図１３は、本発明に係るブロック毎のＤＣＴ係数のパワーを算出するためのジグザグスキャンのパスの一例を示す図である。この図は、ブロック内の画素を表す。ブロック毎のパワーの算出においては、上述した画素番号ｉに応じて、このジグザグスキャンのパス上の画素を参照する。本実施の形態では、ｉ＿Ｔｈｒｅｓｈｏｌｄ＝３６とし、全画素６４個のうち低周波の３６個だけを用いることにより、高周波のノイズの影響を低減している。また、マクロブロックにおけるブロックは、輝度信号Ｙの４個のみを用いたが、色差信号Ｃｂ，Ｃｒを用いても良い。
【００５０】
図１４は、本発明に係るマクロブロック毎のＤＣＴ係数のパワーの分布の一例を示す図である。この図においては、濃度が高いマクロブロックほど、パワーが高いことを表す。ＤＣＴ係数は、符号処理部１３の符号化において算出されたものであり、フレーム間の差分についてブロック毎にＤＣＴ演算が行われた結果である。従って、フレーム間の差分が大きいマクロブロックほど、ＤＣＴ係数のパワーが大きくなる。この図においては、壁、屋根、背景の境界のマクロブロックにおいて周囲よりもＤＣＴ係数のパワーが大きい。
【００５１】
次に、マクロブロックグループ毎の重み付け平均ベクトルの算出の詳細について説明する。
【００５２】
図１５は、本発明に係るマクロブロックグループ毎の重み付け平均ベクトルを算出する式の一例を示す図である。ここで、Ｘ＿ｓｉｚｅはマクロブロックグループにおける横方向のマクロブロック数、Ｙ＿ｓｉｚｅはマクロブロックグループにおける縦方向のマクロブロック数、ｍはマクロブロックグループにおける横方向のマクロブロックの位置、ｎはマクロブロックグループにおける縦方向のマクロブロックの位置、ｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）はマクロブロック毎の動きベクトル、Ｐ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）はマクロブロック毎のＤＣＴ係数のパワーを表す。この式は、ｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）にＰ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）の重み付けを行い、マクロブロックグループ全体について平均化することにより、マクロブロックグループ毎の重み付け平均ベクトルＶ＿ｗｅｉｇｈｔｅｄ＿ａｖｅｒａｇｅを算出する。
【００５３】
次に、マクロブロックグループ移動ベクトルの算出の詳細について説明する。
【００５４】
図１６は、本発明に係るマクロブロックグループ移動ベクトルの算出の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、変数の初期化を行う（Ｓ３１）。ここで、ｍ＝０、ｎ＝０、マクロブロックグループ移動ベクトルに用いる動きベクトル数のカウンタｃｏｕｎｔｅｒ＝０、暫定ベクトルＶ＿ｔｅｍｐｏｒａｌ＝０とする。次に、カメラ位置情報生成部４４は、ｎがＹ＿ｓｉｚｅ未満であるか否かの判断を行う（Ｓ３２）。Ｙｓｉｚｅ未満でない場合（Ｓ３２，Ｎ）、カメラ位置情報生成部４４は、Ｖ＿ｔｅｍｐｏｒａｌ／ｃｏｕｎｔｅｒをマクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ）とし（Ｓ４０）、このフローを終了する。ここで、ｇはマクロブロックグループ番号であり、本実施の形態においては０から３までの整数である。
【００５５】
一方、Ｙ＿ｓｉｚｅ未満である場合（Ｓ３２，Ｙ）、カメラ位置情報生成部４４は、ｍがＸｓｉｚｅ未満であるか否かの判断を行う（Ｓ３３）。Ｘ＿ｓｉｚｅ未満でない場合（Ｓ３３，Ｎ）、カメラ位置情報生成部４４は、ｍを初期化し、ｎに１を加算し（Ｓ３９）、処理Ｓ３２へ戻る。一方、Ｘ＿ｓｉｚｅ未満である場合（Ｓ３３，Ｙ）、カメラ位置情報生成部４４は、動きベクトルｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）が所定の範囲内であるか否かの判断を行う（Ｓ３４）。
【００５６】
ここで、上述した動きベクトルの所定の範囲について説明する。図１７は、本発明に係る重み付け平均ベクトルと動きベクトルの関係の一例を示す図である。所定の範囲とは、重み付け平均ベクトルＶ＿ｗｅｉｇｈｔｅｄ＿ａｖｅｒａｇｅと動きベクトルｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）の差の絶対値がｒ＿Ｔｈｒｅｓｈｏｌｄ未満となる範囲のことである。即ち、この図において、ｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）の先端が、半径ｒ＿Ｔｈｒｅｓｈｏｌｄの円内に存在することである。従って、上述したマクロブロックグループ移動ベクトルの算出の動作により、マクロブロックグループ内に均一な模様やカメラの動きと無関係な被写体の動きから動きベクトルが暴れる部分が存在しても、重み付け平均ベクトルに近い動きベクトルだけを選択してマクロブロックグループ移動ベクトルの算出に用いることができ、正確なマクロブロックグループ移動ベクトルを算出することができる。
【００５７】
ここで、動きベクトルが所定の範囲内でない場合（Ｓ３４，Ｎ）、処理Ｓ３８へ移行する。一方、動きベクトルが所定の範囲内である場合（Ｓ３４，Ｙ）、カメラ位置情報生成部４４は、Ｖ＿ｔｅｍｐｏｒａｌにｖ＿ｍａｃｒｏｂｌｏｃｋ（ｍ，ｎ）を加算し（Ｓ３５）、ｃｏｕｎｔｅｒに１を加算し（Ｓ３７）、処理Ｓ３８へ移行する。次に、カメラ位置情報生成部４４は、ｍに１を加算し（Ｓ３８）、処理Ｓ３３へ戻る。
【００５８】
上述したマクロブロックグループ移動ベクトルの算出のフローは、マクロブロックグループの数だけ行われ、マクロブロックグループ番号ｇ毎にマクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ）が算出される。また、より正確なマクロブロックグループ移動ベクトルを算出するために、このフローを複数回実行し、実行の度にｒ＿Ｔｈｒｅｓｈｏｌｄの値を小さくしても良い。
【００５９】
図１８は、本発明に係るフレームにおけるマクロブロックグループ移動ベクトルの一例を示す図である。この図は、時間の異なる２つのフレームにおいて、第１のフレームの点（ｘ（ｇ），ｙ（ｇ））と、この点がカメラの動きにより移動した結果である第２のフレームの点（Ｘ（ｇ），Ｙ（ｇ））を、マクロブロックグループ毎に示している。更に、（ｘ（ｇ），ｙ（ｇ））から（Ｘ（ｇ），Ｙ（ｇ））への移動を表すマクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ）を、マクロブロックグループ毎に示している。また、この図は、カメラが右方向に旋回することにより、フレームの画像が左方向へ平行移動する場合であり、全てのマクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ）はほぼ等しくなる。但し、マクロブロックグループにおいて、均一な模様やカメラの動きと無関係な被写体の動きがある場合は、そのマクロブロックグループのマクロブロックグループ移動ベクトルは他のマクロブロックグループのものと異なる場合がある。図１９は、本発明に係るマクロブロックグループ内の座標とマクロブロックグループの関係式の一例を示す図である。この式は、上述した平行移動を２次元アフィン変換として表したものであり、（ｘ（ｇ），ｙ（ｇ））、（Ｘ（ｇ），Ｙ（ｇ））、Ｖ＿ｇｒｏｕｐ（ｇ）の関係を表す。
【００６０】
次に、フレーム移動ベクトルの算出の詳細について説明する。
【００６１】
図２０は、本発明に係るフレーム移動ベクトルの算出の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、変数の初期化を行う（Ｓ５１）。ここで、参照するマクロブロックグループ移動ベクトルのマクロブロックグループ番号ｇ＿ｒｅｆｅｒｅｎｃｅ＝０、フレーム移動ベクトルに用いるマクロブロックグループ移動ベクトルのマクロブロックグループ番号ｇ＿ｔａｒｇｅｔ＝０、有効なマクロブロックグループ移動ベクトルの数ｇ＿ｖａｌｉｄ＝０とする。
【００６２】
次に、カメラ位置情報生成部４４は、ｇ＿ｒｅｆｅｒｅｎｃｅがマクロブロックグループ数Ｇ＿ｍａｘ未満であるか否かを判断する（Ｓ５２）。本実施の形態においてＧ＿ｍａｘ＝４である。ｇ＿ｒｅｆｅｒｅｎｃｅがＧ＿ｍａｘ未満でない場合（Ｓ５２，Ｎ）、処理Ｓ５６へ移行する。一方、ｇ＿ｒｅｆｅｒｅｎｃｅがＧ＿ｍａｘ未満である場合（Ｓ５２，Ｙ）、暫定移動ベクトルＶ＿ｔｅｍｐｏｒａｌの算出を行う（Ｓ５３）。次に、カメラ位置情報生成部４４は、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上であるか否かの判断を行う（Ｓ５４）。ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上である場合（Ｓ５４，Ｙ）、処理Ｓ５７へ移行する。一方、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上でない場合（Ｓ５４，Ｎ）、ｇ＿ｔａｒｇｅｔに１を加算すると共に、Ｖ＿ｔｅｍｐｏｒａｌ＝０とし（Ｓ５５）、処理Ｓ５２へ戻る。
【００６３】
処理Ｓ５６において、カメラ位置情報生成部４４は、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上であるか否かの判断を行う（Ｓ５６）。ここで、ｇ＿Ｔｈｒｅｓｈｏｌｄは、有効なマクロブロックグループ移動ベクトルの数ｇ＿ｖａｌｉｄの閾値であり、本実施の形態においては３とする。ｇ＿Ｔｈｒｅｓｈｏｌｄ以上でない場合（Ｓ５６，Ｎ）、フレーム移動ベクトルＶ＿ｆｒａｍｅ＝０とし（Ｓ５８）、このフローを終了する。一方、ｇ＿Ｔｈｒｅｓｈｏｌｄ以上である場合（Ｓ５６，Ｙ）、フレーム移動ベクトルＶ＿ｆｒａｍｅ＝Ｖ＿ｔｅｍｐｏｒａｌとし（Ｓ５７）、このフローを終了する。
【００６４】
上述したフレーム移動ベクトルの算出の動作により、所定の範囲内のマクロブロックグループ移動ベクトルが所定の数以上ある場合に、フレーム移動ベクトルを算出することにより、均一な模様やカメラの動きと無関係な被写体の動きからマクロブロックグループ移動ベクトルが暴れるマクロブロックグループがあっても、正確なフレーム移動ベクトルを算出することができる。
【００６５】
次に、上述した処理Ｓ５３における暫定移動ベクトルの算出の動作の詳細について説明する。図２１は、本発明に係る暫定移動ベクトルの算出の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、暫定移動ベクトルＶ＿ｔｅｍｐｏｒａｌの初期化を行う（Ｓ６１）。ここで、Ｖ＿ｔｅｍｐｏｒａｌ＝Ｖ＿ｇｒｏｕｐ（ｇ＿ｒｅｆｅｒｅｎｃｅ）とする。次に、カメラ位置情報生成部４４は、ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満であるか否かの判断を行う（Ｓ６２）。ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満でない場合（Ｓ６２，Ｎ）、このフローを終了し、処理Ｓ５４へ移行する。一方、ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満である場合（Ｓ６２，Ｙ）、カメラ位置情報生成部４４は、ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと異なるか否かの判断を行う（Ｓ６３）。ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと等しい場合（Ｓ６３，Ｎ）、処理Ｓ６７へ移行する。一方、ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと異なる場合（Ｓ６３，Ｙ）、カメラ位置情報生成部４４は、Ｖ＿ｔｅｍｐｏｒａｌが所定の範囲内であるか否かの判断を行う（Ｓ６４）。
【００６６】
ここで、上述した暫定移動ベクトルの所定の範囲について説明する。図２２は、本発明に係るマクロブロックグループ移動ベクトルと暫定移動ベクトルの関係の一例を示す図である。所定の範囲とは、マクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ＿ｔａｒｇｅｔ）と暫定移動ベクトルＶ＿ｔｅｍｐｏｒａｌの差の絶対値がｒ＿Ｔｈｒｅｓｈｏｌｄ未満となる範囲のことである。即ち、この図において、Ｖ＿ｔｅｍｐｏｒａｌの先端が、半径ｒ＿Ｔｈｒｅｓｈｏｌｄの円内に存在することである。
【００６７】
ここで、Ｖ＿ｔｅｍｐｏｒａｌが所定の範囲内である場合（Ｓ６４，Ｙ）、Ｖ＿ｔｅｍｐｏｒａｌを更新し（Ｓ６５）、ｇ＿ｖａｌｉｄに１を加算し、ｇ＿ｔａｒｇｅｔに１を加算し（Ｓ６６）、処理Ｓ６２へ戻る。処理Ｓ６５において、Ｖ＿ｔｅｍｐｏｒａｌは、１／２×｛Ｖ＿ｔｅｍｐｏｒａｌ＋Ｖ＿ｇｒｏｕｐ（ｇ＿ｔａｒｇｅｔ）｝に更新される。一方、Ｖ＿ｔｅｍｐｏｒａｌが所定の範囲内でない場合（Ｓ６４，Ｎ）、ｇ＿ｔａｒｇｅｔに１を加算し（Ｓ６７）、処理Ｓ６２へ戻る。
【００６８】
次に、マクロブロックグループ回転角の算出の詳細について説明する。
【００６９】
カメラ位置情報生成部４４は、マクロブロックグループ移動ベクトルＶ＿ｇｒｏｕｐ（ｇ）に基づいてマクロブロックグループ回転角θ（ｇ）の算出を行う。図２３は、本発明に係るマクロブロックグループ移動ベクトルとマクロブロックグループ回転角の一例を示す図である。この図は、フレームの中心を原点とし、回転中心点（Ｘρ，Ｙρ）を中心として画像が回転した場合を表す。また、この図は、図１８と同様、マクロブロックグループ毎に、（ｘ（ｇ），ｙ（ｇ））、（Ｘ（ｇ），Ｙ（ｇ））、Ｖ＿ｇｒｏｕｐ（ｇ）を示している。更に、（ｘ（ｇ），ｙ（ｇ））から（Ｘ（ｇ），Ｙ（ｇ））への回転角であるマクロブロックグループ回転角θ（ｇ）を、マクロブロックグループ毎に示している。ここでは、４つのマクロブロックグループ回転ベクトルがそれぞれ異なる方向を向くことから、上述したｇ＿ｖａｌｉｄの条件を満たさずにフレーム移動ベクトルは算出されない。図２４は、本発明に係るマクロブロックグループ内の座標とマクロブロックグループ回転角の関係式の一例を示す図である。この式は、平行移動（−Ｘρ，−Ｙρ）、上述した回転移動θ（ｇ）、平行移動（Ｘρ，Ｙρ）を２次元アフィン変換として表したものである。カメラ位置情報生成部４４は、この式と図１９の式とＶ＿ｇｒｏｕｐ（ｇ）の値を用いて、（Ｘρ，Ｙρ）とθ（ｇ）を算出する。
【００７０】
次に、回転中心点（Ｘρ，Ｙρ）を原点（０，０）とした場合のマクロブロックグループ回転角の算出の詳細について説明する。図２５は、本発明に係るマクロブロックグループ移動ベクトルとマクロブロックグループ回転角の別の一例を示す図である。ここでは、フレームの中心が回転中心点とし、４つのマクロブロックグループ回転ベクトルは全て異なる方向を向くことから、上述したｇ＿ｖａｌｉｄの条件を満たさずにフレーム移動ベクトルは算出されない。図２６は、本発明に係るマクロブロックグループ内の座標とマクロブロックグループ回転角の関係式の別の一例を示す図である。この式は、この式は、上述した回転移動θ（ｇ）を２次元アフィン変換として表したものであり、図２４の式においてＸρ＝０，Ｙρ＝０とすることにより、単純化されたものである。カメラ位置情報生成部４４は、この式と図１９の式とＶ＿ｇｒｏｕｐ（ｇ）の値を用いて、θ（ｇ）を算出する。
【００７１】
次に、フレーム回転角の算出の詳細について説明する。
【００７２】
図２７は、本発明に係るフレーム回転角の算出の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、変数の初期化を行う（Ｓ７１）。フレーム移動ベクトルの算出時と同様、ｇ＿ｒｅｆｅｒｅｎｃｅ＝０、ｇ＿ｔａｒｇｅｔ＝０、ｇ＿ｖａｌｉｄ＝０とする。
【００７３】
次に、カメラ位置情報生成部４４は、ｇ＿ｒｅｆｅｒｅｎｃｅがマクロブロックグループ数Ｇ＿ｍａｘ未満であるか否かを判断する（Ｓ７２）。ｇ＿ｒｅｆｅｒｅｎｃｅがＧ＿ｍａｘ未満でない場合（Ｓ７２，Ｎ）、処理Ｓ７６へ移行する。一方、ｇ＿ｒｅｆｅｒｅｎｃｅがＧ＿ｍａｘ未満である場合（Ｓ７２，Ｙ）、暫定回転角θ＿ｔｅｍｐｏｒａｌの算出を行う（Ｓ７３）。次に、カメラ位置情報生成部４４は、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上であるか否かの判断を行う（Ｓ７４）。ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上である場合（Ｓ７４，Ｙ）、処理Ｓ７７へ移行する。一方、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上でない場合（Ｓ７４，Ｎ）、ｇ＿ｔａｒｇｅｔに１を加算すると共に、θ＿ｔｅｍｐｏｒａｌ＝０とし（Ｓ７５）、処理Ｓ７２へ戻る。
【００７４】
処理Ｓ７６において、カメラ位置情報生成部４４は、ｇ＿ｖａｌｉｄがｇ＿Ｔｈｒｅｓｈｏｌｄ以上であるか否かの判断を行う（Ｓ７６）。ｇ＿Ｔｈｒｅｓｈｏｌｄ以上でない場合（Ｓ７６，Ｎ）、フレーム回転角θ＿ｆｒａｍｅ＝０とし（Ｓ７８）、このフローを終了する。一方、ｇ＿Ｔｈｒｅｓｈｏｌｄ以上である場合（Ｓ７６，Ｙ）、フレーム回転角θ＿ｆｒａｍｅ＝θ＿ｔｅｍｐｏｒａｌとし（Ｓ７７）、このフローを終了する。
【００７５】
次に、暫定回転角の算出の動作の詳細について説明する。図２８は、本発明に係る暫定回転角の算出の動作の一例を示すフローチャートである。まず、カメラ位置情報生成部４４は、暫定回転角θ＿ｔｅｍｐｏｒａｌの初期化を行う（Ｓ８１）。ここで、θ＿ｔｅｍｐｏｒａｌ＝θ＿（ｇ＿ｒｅｆｅｒｅｎｃｅ）とする。次に、カメラ位置情報生成部４４は、ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満であるか否かの判断を行う（Ｓ８２）。ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満でない場合（Ｓ８２，Ｎ）、このフローを終了し、処理Ｓ７４へ移行する。一方、ｇ＿ｔａｒｇｅｔがＧ＿ｍａｘ未満である場合（Ｓ８２，Ｙ）、カメラ位置情報生成部４４は、ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと異なるか否かの判断を行う（Ｓ８３）。ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと等しい場合（Ｓ８３，Ｎ）、処理Ｓ８７へ移行する。一方、ｇ＿ｒｅｆｅｒｅｎｃｅがｇ＿ｔａｒｇｅｔと異なる場合（Ｓ８３，Ｙ）、カメラ位置情報生成部４４は、θ＿ｔｅｍｐｏｒａｌが所定の範囲内であるか否かの判断を行う（Ｓ８４）。
【００７６】
ここで、θ＿ｔｅｍｐｏｒａｌが所定の範囲内である場合（Ｓ８４，Ｙ）、θ＿ｔｅｍｐｏｒａｌを更新し（Ｓ８５）、ｇ＿ｖａｌｉｄに１を加算し、ｇ＿ｔａｒｇｅｔに１を加算し（Ｓ８６）、処理Ｓ８２へ戻る。処理Ｓ８５において、θ＿ｔｅｍｐｏｒａｌは、１／２×｛θ＿ｔｅｍｐｏｒａｌ＋θ＿（ｇ＿ｔａｒｇｅｔ）｝に更新される。一方、θ＿ｔｅｍｐｏｒａｌが所定の範囲内でない場合（Ｓ８４，Ｎ）、ｇ＿ｔａｒｇｅｔに１を加算し（Ｓ８７）、処理Ｓ８２へ戻る。
【００７７】
上述したフレーム回転角の算出の動作により、マクロブロックグループ移動ベクトルから、マクロブロックグループ回転角とフレーム回転角を算出することにより、カメラの旋回による画像の平行移動だけでなく、カメラの回転による画像の回転移動を検出することができる。
【００７８】
更に、所定の範囲内のマクロブロックグループ回転角が所定の数以上ある場合に、フレーム回転角を算出することにより、均一な模様やカメラの動きと無関係な被写体の動きからマクロブロックグループ回転角が暴れるマクロブロックグループがあっても、正確なフレーム回転角を算出することができる。
【００７９】
次に、カメラの方位角、仰角、回転角の算出の詳細について説明する。
【００８０】
まず、カメラ位置情報生成部４４は、算出したフレーム移動ベクトルと、予め設定されたカメラの画角から、カメラの旋回角を算出する。次に、この旋回角、前回の方位角、前回の仰角から現在の方位角と仰角を算出し、記憶する。また、カメラ位置情報生成部４４は、算出したフレーム回転角から、カメラの回転角を算出する。
【００８１】
次に、表示データの生成の詳細について説明する。
【００８２】
表示データ生成部４５は、カメラ位置情報生成部４４により生成されたフレーム画像とカメラ位置情報から、パノラマ表示用の表示データ、または重畳表示用の表示データを生成する。
【００８３】
パノラマ表示の場合、表示データ生成部４５は、パノラマ表示用の表示データとして、ブラウザ３１による表示の操作が可能であるＶＲＭＬファイルと、ＶＲＭＬファイルが用いるバックグラウンド用テクスチャを生成する。図２９は、本発明に係るバックグラウンド用テクスチャの構成の一例を示す図である。表示データ生成部４５は、全てのフレーム画像のスケールを合わせるために縮小したものをテクスチャ画像とし、テクスチャ画像をカメラ位置情報に対応して配置し、格納することによりバックグラウンド用テクスチャを生成する。図に示すように、上方向のテクスチャ画像を“ＴＯＰ．ＪＰＧ”、下方向のテクスチャ画像を“ＢＯＴＴＯＭ．ＪＰＧ”、前方向のテクスチャ画像を“ＦＲＯＮＴ．ＪＰＧ”、後方向のテクスチャ画像を“ＢＡＣＫ．ＪＰＧ”、左方向のテクスチャ画像を“ＬＥＦＴ．ＪＰＧ”、右方向のテクスチャ画像を“ＲＩＧＨＴ．ＪＰＧ”、として格納する。テクスチャ画像が存在しない方向は、空白となる。バックグラウンド用テクスチャの各フレーム画像は、球面に投影され、つなぎ目が滑らかに処理されることにより、球面の画像として扱うことができる。ブラウザ３１上では、この球面の画像の任意の位置を表示することができる。図３０は、本発明に係るパノラマ表示の画面の一例を示す図である。ここでは、２つのフレーム画像を含む範囲が表示されており、２つのフレーム画像のスケールが合わせられると共につなぎ目が滑らかに処理されている。
【００８４】
また、動画符号化データに従って、バックグラウンド用テクスチャに配置する各テクスチャ画像が更新されることにより、ブラウザ３１上の球面の画像は時間と共に変化する。
【００８５】
一方、重畳表示の場合、表示データ生成部４５は、重畳表示用の表示データとして、フレーム画像にカメラ位置情報等の文字情報を重畳した重畳画像を生成する。図３１は、本発明に係る重畳表示の画面の一例を示す図である。ここで重畳画像は、フレーム画像と共に、カメラの画角や、カメラ位置情報である方位角、仰角等の文字情報が重畳されたものである。
【００８６】
なお、本実施の形態において、パノラマ画像生成装置２は、受信部４０、配信部４６を備え、動画符号化データを受信し、表示データを配信する構成としたが、これらを省き、動画符号化データから表示データを生成するだけの構成としても良い。
【００８７】
また、本実施の形態において、動画符号化方式をＭＰＥＧ２としたが、他の動画符号化方式に対応する符号処理部１３と復号処理部４１を用いても良い。
【００８８】
また、本実施の形態における動画撮影装置１は、カメラの旋回だけを行うとしたが、カメラの動きが複雑な場合であっても、上述した平行移動量（フレーム移動ベクトル）、回転移動量（フレーム回転角）、回転中心点（Ｘρ，Ｙρ）で、カメラの移動を表すことができる。
【００８９】
更に、パノラマ画像生成装置を構成するコンピュータに上述した各ステップを実行させるプログラムを、パノラマ画像生成プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、パノラマ画像生成装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００９０】
なお、フレーム画像の移動情報とは、実施の形態におけるフレーム移動ベクトルとフレーム回転角に対応する。
【００９１】
（付記１）  移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法をコンピュータに実行させるパノラマ画像生成プログラムであって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップと、
をコンピュータに実行させるパノラマ画像生成プログラム。
（付記２）  付記１に記載のパノラマ画像生成プログラムにおいて、
前記表示データ生成ステップは、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするパノラマ画像生成プログラム。
（付記３）  付記１に記載のパノラマ画像生成プログラムにおいて、
前記表示データ生成ステップは、前記カメラ位置情報を表す文字を前記フレーム画像に付加したものを前記表示データとすることを特徴とするパノラマ画像生成プログラム。
（付記４）  付記１乃至付記３のいずれかに記載のパノラマ画像生成プログラムにおいて、
前記復号処理ステップは更に、ＤＣＴ係数を取得し、
前記カメラ位置情報生成ステップは、フレーム内に複数の所定の領域を設定し、前記ＤＣＴ係数のパワーを用いて前記動きベクトル群の重み付けを行い、前記領域毎に前記重み付けの結果の平均を行った重み付け平均ベクトルを算出し、前記領域毎の前記重み付け平均ベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成プログラム。
（付記５）  付記４に記載のパノラマ画像生成プログラムにおいて、
前記カメラ位置情報生成ステップは、前記動きベクトル群と前記領域毎の前記重み付け平均ベクトルの比較により動きベクトルの選択を行い、選択された動きベクトルを合成したベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成プログラム。
（付記６）  付記１乃至付記５のいずれかに記載のパノラマ画像生成プログラムにおいて、
前記カメラ位置情報生成ステップは、前記動きベクトルに基づいて前記領域毎の回転角を算出し、前記回転角に基づいて前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成プログラム。
（付記７）  付記１乃至付記６のいずれかに記載のパノラマ画像生成プログラムにおいて、
前記カメラ位置情報は、カメラの方位角、カメラの仰角、カメラの向きに平行な軸の周りの回転角のいずれかを含むことを特徴とするパノラマ画像生成プログラム。
（付記８）  付記１乃至付記７のいずれかに記載のパノラマ画像生成プログラムにおいて、
前記表示データは、ＶＲＭＬの形式を含むことを特徴とするパノラマ画像生成プログラム。
（付記９）  付記８に記載のパノラマ画像生成プログラムにおいて、
前記表示データは更に、バックグラウンド用テクスチャの形式を含むことを特徴とするパノラマ画像生成プログラム。
（付記１０）  移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成装置であって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理部と、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成部と、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成部と、
を備えてなるパノラマ画像生成装置。
（付記１１）  付記１０に記載のパノラマ画像生成装置において、
前記表示データ生成部は、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするパノラマ画像生成装置。
（付記１２）  付記１０に記載のパノラマ画像生成装置において、
前記表示データ生成部は、前記カメラ位置情報を表す文字を前記フレーム画像に付加したものを前記表示データとすることを特徴とするパノラマ画像生成装置。
（付記１３）  付記１０乃至付記１２のいずれかに記載のパノラマ画像生成装置において、
前記復号処理部は更に、ＤＣＴ係数を取得し、
前記カメラ位置情報生成部は、フレーム内に複数の所定の領域を設定し、前記ＤＣＴ係数のパワーを用いて前記動きベクトル群の重み付けを行い、前記領域毎に前記重み付けの結果の平均を行った重み付け平均ベクトルを算出し、前記領域毎の前記重み付け平均ベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成装置。
（付記１４）  付記１３に記載のパノラマ画像生成装置において、
前記カメラ位置情報生成部は、前記動きベクトル群と前記領域毎の前記重み付け平均ベクトルの比較により動きベクトルの選択を行い、選択された動きベクトルを合成したベクトルに基づいて、前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成装置。
（付記１５）  付記１０乃至付記１４のいずれかに記載のパノラマ画像生成装置において、
前記カメラ位置情報生成部は、前記動きベクトルに基づいて前記領域毎の回転角を算出し、前記回転角に基づいて前記フレーム画像の移動情報を算出することを特徴とするパノラマ画像生成装置。
（付記１６）  付記１０乃至付記１５のいずれかに記載のパノラマ画像生成装置において、
前記カメラ位置情報は、カメラの方位角、カメラの仰角、カメラの向きに平行な軸の周りの回転角のいずれかを含むことを特徴とするパノラマ画像生成装置。
（付記１７）  付記１０乃至付記１６のいずれかに記載のパノラマ画像生成装置において、
前記表示データは、ＶＲＭＬの形式を含むことを特徴とするパノラマ画像生成装置。
（付記１８）  付記１７に記載のパノラマ画像生成装置において、
前記表示データは更に、バックグラウンド用テクスチャの形式を含むことを特徴とするパノラマ画像生成装置。
（付記１９）  移動するカメラにより撮影された動画を符号化した動画符号化データに基づいて、パノラマ画像を生成するパノラマ画像生成方法であって、
前記動画符号化データを復号することにより、フレーム画像と動きベクトル群とを取得する復号処理ステップと、
前記動きベクトル群に基づいて、前記フレーム画像の移動情報を算出し、前記フレーム画像の移動情報に基づいて前記カメラの位置を表すカメラ位置情報を算出するカメラ位置情報生成ステップと、
前記フレーム画像に対応する前記カメラ位置情報に基づいて、前記フレーム画像を加工した表示データを生成する表示データ生成ステップと、
を実行するパノラマ画像生成方法。
（付記２０）  付記１９に記載のパノラマ画像生成方法において、
前記表示データ生成ステップは、複数の前記フレーム画像を用い、前記フレーム画像に対応する前記カメラ位置情報に従って、前記フレーム画像のスケールを調整して空間に配置したものを前記表示データとすることを特徴とするパノラマ画像生成方法。
【図面の簡単な説明】
【００９２】
【図１】本発明に係るパノラマ画像配信システムの構成の一例を示すブロック図である。
【図２】本発明に係るパノラマ画像生成装置の構成の一例を示すブロック図である。
【図３】フレームにおけるマクロブロックの構成の一例を示す図である。
【図４】マクロブロックにおけるブロックの構成の一例を示す図である。
【図５】ブロックにおける画素の構成の一例を示す図である。
【図６】本発明に係るフレームにおけるマクロブロックグループの構成の一例を示す図である。
【図７】本発明に係るパノラマ画像生成装置の動作の一例を示すフローチャートである。
【図８】本発明に係るカメラ位置情報生成部の動作の一例を示すフローチャートである。
【図９】フレームにおける画像の一例を示す図である。
【図１０】フレームにおける動きベクトルの分布の一例を示す図である。
【図１１】本発明に係るマクロブロックグループにおける動きベクトルの分布の一例を示す図である。
【図１２】マクロブロック毎のＤＣＴ係数のパワーを算出する式の一例を示す図である。
【図１３】本発明に係るブロック毎のＤＣＴ係数のパワーを算出するためのジグザグスキャンのパスの一例を示す図である。
【図１４】本発明に係るマクロブロック毎のＤＣＴ係数のパワーの分布の一例を示す図である。
【図１５】本発明に係るマクロブロックグループ毎の重み付け平均ベクトルを算出する式の一例を示す図である。
【図１６】本発明に係るマクロブロックグループ移動ベクトルの算出の動作の一例を示すフローチャートである。
【図１７】本発明に係る重み付け平均ベクトルと動きベクトルの関係の一例を示す図である。
【図１８】本発明に係るフレームにおけるマクロブロックグループ移動ベクトルの一例を示す図である。
【図１９】本発明に係るマクロブロックグループ内の座標とマクロブロックグループの関係式の一例を示す図である。
【図２０】本発明に係るフレーム移動ベクトルの算出の動作の一例を示すフローチャートである。
【図２１】本発明に係る暫定移動ベクトルの算出の動作の一例を示すフローチャートである。
【図２２】本発明に係るマクロブロックグループ移動ベクトルと暫定移動ベクトルの関係の一例を示す図である。
【図２３】本発明に係るマクロブロックグループ移動ベクトルマクロブロックグループ回転角の一例を示す図である。
【図２４】本発明に係るマクロブロックグループ内の座標とマクロブロックグループ回転角の関係式の一例を示す図である。
【図２５】本発明に係るマクロブロックグループ移動ベクトルとマクロブロックグループ回転角の別の一例を示す図である。
【図２６】本発明に係るマクロブロックグループ内の座標とマクロブロックグループ回転角の関係式の別の一例を示す図である。
【図２７】本発明に係るフレーム回転角の算出の動作の一例を示すフローチャートである。
【図２８】本発明に係る暫定回転角の算出の動作の一例を示すフローチャートである。
【図２９】本発明に係るバックグラウンド用テクスチャの構成の一例を示す図である。
【図３０】本発明に係るパノラマ表示の画面の一例を示す図である。
【図３１】本発明に係る重畳表示の画面の一例を示す図である。
【符号の説明】
【００９３】
１  動画撮影装置、２  パノラマ画像生成装置、３  情報端末、４  ネットワーク、１１  旋回台、１２  カメラ、１３  符号処理部、１４  送信部、３１  ブラウザ、４０  受信部、４１  復号処理部、４４  カメラ位置情報生成部、４５  表示データ生成部、４６  配信部、５１  シーケンス層パース部、５２  ＧＯＰ層パース部、５３  ピクチャー層パース部、５４  スライス層パース部、５５  マクロブロック層パース部、５６  ブロック層パース部、５７  後処理部、６１  逆量子化処理部、６２  逆ＤＣＴ処理部、６３  ＭＣ部。
【図１】
2006270676.tif 000003
【図２】
2006270676.tif 000004
【図３】
2006270676.tif 000005
【図４】
2006270676.tif 000006
【図５】
2006270676.tif 000007
【図６】
2006270676.tif 000008
【図７】
2006270676.tif 000009
【図８】
2006270676.tif 000010
【図９】
2006270676.tif 000011
【図１０】
2006270676.tif 000012
【図１１】
2006270676.tif 000013
【図１２】
2006270676.tif 000014
【図１３】
2006270676.tif 000015
【図１４】
2006270676.tif 000016
【図１５】
2006270676.tif 000017
【図１６】
2006270676.tif 000018
【図１７】
2006270676.tif 000019
【図１８】
2006270676.tif 000020
【図１９】
2006270676.tif 000021
【図２０】
2006270676.tif 000022
【図２１】
2006270676.tif 000023
【図２２】
2006270676.tif 000024
【図２３】
2006270676.tif 000025
【図２４】
2006270676.tif 000026
【図２５】
2006270676.tif 000027
【図２６】
2006270676.tif 000028
【図２７】
2006270676.tif 000029
【図２８】
2006270676.tif 000030
【図２９】
2006270676.tif 000031
【図３０】
2006270676.tif 000032
【図３１】
2006270676.tif 000033