(57)【要約】【課題】動画像を圧縮する際の動きベクトル探索に要する処理負荷を抑え、高速に動画圧縮を行うことができる動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及びネットワークシステムを提供する。【解決手段】圧縮対象の動画像を構成する画像を生成する段階で、画像を描画する際に用いられる仮想カメラ情報と移動・動作情報とを記憶部に登録し、圧縮処理において動きベクトル探索を行う際に、仮想カメラ情報、または仮想カメラ情報と移動体の移動・動作情報とに基づいて、現画像の各ブロックに対して動きベクトルを求める処理を行う。【選択図】図８
2008252651.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索プログラムであって、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部として、
コンピュータを機能させることを特徴とする動きベクトル探索プログラム。
【請求項２】
請求項１において、
前記動きベクトル探索部が、
現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うことを特徴とする動きベクトル探索プログラム。
【請求項３】
請求項１又は２において、
前記動きベクトル探索部が、
現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うことを特徴とする動きベクトル探索プログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記仮想カメラ情報登録部が、
複数の仮想カメラそれぞれの仮想カメラ情報を登録し、
前記描画部が、
仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第１の画像用のフレームバッファに描画することによって第１の画像を生成し、第２の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第１の画像を描画することによって、前記動画像を構成する第２の画像を生成し、
前記動きベクトル探索部が、
仮想カメラ毎に生成される第１の画像において求められる動きベクトルに基づいて、第２の画像の現画像のブロックと、当該ブロックに最も類似する第２の画像の参照画像のブロックとの動きベクトルを求める処理を行うことを特徴とする動きベクトル探索プログラム。
【請求項５】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜４のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項６】
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索装置であって、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含むことを特徴とする動きベクトル探索装置。
【請求項７】
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化させたデータを、サーバがネットワークを介してゲーム機に送信し、ゲーム機が当該データを受信する処理を行うネットワークシステムであって、
サーバが、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含み、
ゲーム機が、
操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された前記データを、ネットワークを介して受信する処理を行う通信制御部と、
前記圧縮された動画像を復号化する処理を行う復号化処理部と、
を含むことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステムに関する。
【背景技術】
【０００２】
従来から、動画圧縮技術の１つとして、圧縮対象の現画像を複数のブロックに分割したブロック（小領域）毎に、参照画像の各ブロックのうち最も類似しているブロックとの動き量を推定する動きベクトル探索を行い、その上で差分値を使って動画像の時間的な情報を圧縮する手法が知られている。
【０００３】
しかし、従来の手法では、動きベクトル探索の処理負荷が高く、圧縮に時間を要してしまう問題が発生し、特にネットワークを介して、ストリーミングによるデータ通信を行う場合に、データが遅延してしまう問題が発生する。
【特許文献１】特開２００４−５１７５９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、動画像を圧縮する際の動きベクトル探索に要する処理負荷を抑え、高速に動画圧縮処理を行うことができる動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及びネットワークシステムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索装置であって、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含むことを特徴とする動きベクトル探索装置に関する。
【０００６】
また本発明は、上記各部としてコンピュータを機能させる動きベクトル探索プログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
【０００７】
本発明は、仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うので、動きベクトル探索に要する圧縮処理を高速に行うことができる。
【０００８】
つまり、本発明によれば、従来手法のように、現画像の各ブロック毎に参照画像の探索範囲内の各ブロックのうち最も類似するブロックを、しらみつぶしに探索する必要がないので、従来に比較して処理負荷を格段に軽減させることができる。
【０００９】
また、従来から、動きベクトルを検出する動きベクトル探索処理は、動画像圧縮処理のうち最も処理負荷の高いものであるが、本発明によれば、動きベクトル探索処理の処理負荷を軽減させているので、従来と比較して動画圧縮処理を高速に行うことができる。
【００１０】
（２）また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記動きベクトル探索部が、
現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
【００１１】
本発明によれば、現画像における移動体の代表点の位置と、参照画像における移動体の代表点の位置とを演算することによって、移動体が描画されているブロックの動きベクトルを簡易に求めることができる。
【００１２】
つまり、従来のように、移動体が描画されているブロックにおいて、当該ブロック周囲の参照画像のブロックとの差分をとって類似性の演算を行わなくても、簡易に参照画像において最も類似するブロックへの動きベクトルを求めることができる。
【００１３】
（３）また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記動きベクトル探索部が、
現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
【００１４】
本発明によれば、現画像における中心位置と参照位置とを演算することによって、移動体が描画されているブロック以外のブロックの動きベクトルを簡易に求めることができる。
【００１５】
つまり、移動体が描画されているブロック以外のブロックにおいて、従来のように、当該ブロック周囲の参照画像のブロックとの差分をとって類似性の演算を行わなくても、簡易に参照画像において最も類似するブロックへの動きベクトルを求めることができる。
【００１６】
（４）また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記仮想カメラ情報登録部が、
複数の仮想カメラそれぞれの仮想カメラ情報を登録し、
前記描画部が、
仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第１の画像用のフレームバッファに描画することによって第１の画像を生成し、第２の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第１の画像を描画することによって、前記動画像を構成する第２の画像を生成し、
前記動きベクトル探索部が、
仮想カメラ毎に生成される第１の画像において求められる動きベクトルに基づいて、第２の画像の現画像のブロックと、当該ブロックに最も類似する第２の画像の参照画像のブロックとの動きベクトルを求める処理を行うようにしてもよい。
【００１７】
本発明によれば、複数の仮想カメラ毎に仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成した場合でも、処理負荷を軽減させて動画像を高速に圧縮することができる。
【００１８】
（５）また、本発明は、
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化させたデータを、サーバがネットワークを介してゲーム機に送信し、ゲーム機が当該データを受信する処理を行うネットワークシステムであって、
サーバが、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含み、
ゲーム機が、
操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された前記データを、ネットワークを介して受信する処理を行う通信制御部と、
前記圧縮された動画像を復号化する処理を行う復号化処理部と、
を含むことを特徴とするネットワークシステムに関する。
【００１９】
本発明によれば、サーバが、移動ベクトルを演算することによって、現画像の各ブロック毎に動きベクトルを簡易に求めることができる。したがって、サーバは、生成した動画像を高速に圧縮してゲーム機にストリーミング配信を行うことができる。つまり、本発明によれば、リアルタイムに生成される画像によって構成される動画像に対して、圧縮処理を高速に行うことができるので、動画像のデータが遅延されることなくサーバからゲーム機に送信することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２１】
１．動画像圧縮装置の説明
１．１  圧縮符号化の説明
本実施形態の動画像圧縮装置は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）の規格に基づいて、動画像（動画像データ）を符号化する処理を行う。図１を用いて、本実施形態の動画像圧縮装置について説明する。
【００２２】
まず、入力された動画像は、動きベクトル探索１０によって入力画像とフレームメモリ２０に格納されている予測用参照画像から動きベクトルを探索する。その動きベクトルに基づいて、予測用参照画像が動き補償予測１２において動き補償され、予測画像を生成する。
【００２３】
そして、差分信号生成部１１において、入力された動画像と予測画像との差分が取られ、その差分データは、ＤＣＴ（離散余弦変換）１３、量子化１４が行われた後、ＶＬＣ（可変長符号化）１５にて２次元ハフマン符号が割り当てられる。一方、動きベクトルデータもＶＬＣ１６においてハフマン符号が割り当てられる。そして、符号が割り当てられた両データは多重化１７において多重化された後に、符号化データ（圧縮されたデータ）が出力される。
【００２４】
一方、量子化１４の出力データは逆量子化１８、逆ＤＣＴ１９によって差分データが復元され、予測画像との和により新しい予測用参照画像が生成され、フレームメモリ２０に格納される。生成された新しい予測用参照画像は次回の符号化に用いられる。
【００２５】
１．２  ＭＰＥＧについての説明
次に、本実施形態で適用するＭＰＥＧの規格について簡単に説明する。ＭＰＥＧとは、動画像（映像）や音声の圧縮符号化方式の１つであり、ＭＰＥＧ１、ＭＰＥＧ２、ＭＥＰＧ４、ＭＰＥＧ７などの規格がある。
【００２６】
ＭＰＥＧ１は、ノンインタレースのフレーム画像の符号化にすることができ、ＣＤ−ＲＯＭなどの蓄積メディアにて動画像のランダムアクセスを可能としている。図２に示すように、１個のＩピクチャ、複数個のＰピクチャ／Ｂピクチャからなるピクチャグループを１個の単位として符号化データ中に配置し、ピクチャグループ単位での再生を可能としている。
【００２７】
Ｉピクチャは、動画像の再生の起点となる画像でありフレーム内予測符号化にて静止画モードにより符号化される。Ｐピクチャは時間的に前のＩピクチャまたはＰピクチャから動き補償フレーム間予測により符号化される。ＢピクチャはＩピクチャとＰピクチャの間、またはＰピクチャとＰピクチャの間に複数個あり、時間的に前（順方向）、または後（逆方向）、または前後（双方向）のピクチャを利用して動き補償フレーム間予測により符号化される。順方向、逆方向、双方向のどのモードを使うかはマクロブロックごとに選択でき、予測差分が最も小さくなるモードが選択される。なおマクロブロックとは１６×１６画素の正方形の画素ブロックで輝度ブロックと色差ブロックで構成されるものである。
【００２８】
また、ＭＰＥＧ２は、ＭＰＥＧ１の上位互換性を有し、ＴＶ信号などのインタレース動画像に対応している。インタレース動画像では１個のフレーム画像は２個のフィールド画像から構成されている。そのために、予測符号化ではフィールド／フレーム対応予測符号化、ＤＣＴではフィールド／フレーム対応ＤＣＴの機能が追加されている。
【００２９】
なお、フレーム構造で符号化する場合には、フィールド／フレーム適応予測符号化は、マクロブロック単位に予測差分が小さくなるようにフィールド間予測、またはフレーム間予測を選択して符号化する。動画像の動きが小さければフレーム間予測を選択し、動きが大きければフィールド間予測を選択する。フィールド間予測では、動き補償は２個のフィールドがそれぞれ時間的に前の２個のフィールドとの間で行われる。前の２個のフィールドのどちらを選んでもよく、予測差分が小さくなるフィールドを選択する。
【００３０】
また、フィールド／フレーム適応ＤＣＴは、ＤＣＴをフィールド単位で行うか、または、フレーム単位で行うかを、データ圧縮率をみて選択する。例えば、フィールド間予測符号化を行うと、２個のフィールドの予測差分が出力される。これをフィールドのままＤＣＴを行うか、２個のフィールドを１個のフレームにしてフレーム単位でＤＣＴを行うかの選択は、データ圧縮率が高くなる方を選択する。
【００３１】
また、ＭＰＥＧ４は、マルチメディアの符号化、超低ビットレートでの動画像符号化を目的としており、ソフトウエアによるコンピュータ上の処理を前提として規格化されたものである。ＭＰＥＧ４では、自然画像をビデオ・オブジェクトＶＯ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ）とし、矩形形状のビデオ・オブジェクトＶＯ、任意形状のビデオ・オブジェクトＶＯを取り扱い、これらのビデオ・オブジェクトＶＯは、所定の時刻で撮影した複数のビデオ・オブジェクト・プレインＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）から構成される。そして、ＭＰＥＧ４では、ビデオ・オブジェクトＶＯの符号化、ＣＧ（コンピュータ・グラフィックス）動画像を統合した符号化、リバーシブル可変長符号による符号割当などの機能が追加されている。なお、ＶＯＰは、は、Ｉ−ＶＯＰ、Ｐ−ＶＯＰ、Ｂ−ＶＯＰ、Ｓ−ＶＯＰの４つのＶＯＰ符号化タイプがある。
【００３２】
またＣＧ動画像の符号化と自然画像の符号化との統合を可能としており、符号化においてもＣＧ動画像を生成し自然動画像と合成して出力される。また、リバーシブル可変長符号は、ハフマン符号にビットを付加して順方向、逆方向の両方向からその符号を復号可能とする技術である。伝送路上でのデータ誤りが検出されると逆方向から復号して誤りを回復する。携帯端末への動画像配信など、エラー耐性を必要とする用途へ適用される。
【００３３】
１．３  動き補償予測についての説明
動き補償予測とは、時間的に前フレームと現フレーム間の動きを検出して、前フレームに対して検出した動き分の動き補償を行うことをいい、動画像のデータ量を圧縮するために用いられる。
【００３４】
例えば、図３を用いて説明すると、前フレームＦ１の移動体ＯＢが、現フレームＦ２では左方向に移動したとする。このとき、動き補償予測では、予測フレームＦ３に示すように、破線で示した前フレームＦ１の画像から、実線で示した現フレームＦ２の画像の位置を予測し、動きベクトルＭＶを求める。そして、動きベクトルＭＶを用いて、現フレームＦ２を得ることができる。このように、動き補償予測は、動きベクトルＭＶによって、前フレームＦ１から、現フレームＦ２への動き補償がなされ圧縮率を高めている。
【００３５】
ＭＰＥＧ１では、動画圧縮効率を高めるため「Ｐピクチャ」と「Ｂピクチャ」に対して動き補償予測を行う。そして、ＭＰＥＧ１は、複数のマクロブロックに分割して、マクロブロックごとに動き補償予測を行い、最も差分が小さい（最も似ている）ブロックを過去（「Ｐピクチャ」「Ｂピクチャ」）と未来（「Ｂピクチャ」のみ）のピクチャから検出する。なお、ＭＰＥＧ１のマクロブロックサイズは、１６×１６画素である。
【００３６】
さらに、ＭＰＥＧ１の動き補償予測は、予測に利用されるピクチャの動きベクトル探索範囲の中から、最も予測誤差の小さいブロックを選択することで行われる。動きベクトル探索範囲は、１フレーム前または後のピクチャでは縦横＋−１５画素程度であり、符号化対象のピクチャから時間差のあるフレームでは、動きベクトル探索範囲を拡大させる。例えば、１フレーム前のピクチャの動きベクトル探索範囲は縦横＋−１５画素であり、４フレーム前のピクチャの動きベクトル探索範囲は縦横＋−６０画素となる。
【００３７】
なおＭＰＥＧ１の動き補償予測による動きベクトルの精度は、ハーフ・ペル（半画素）単位で表す。ハーフ・ペルの動き補償予測における架空の予測画素は、予測画素の位置が２画素間なら２画素値の平均、４画素なら４画素の平均という単純な計算で求められる。
【００３８】
次に、ＭＰＥＧ２についての動き補償予測について説明すると、フレーム単位で動き補償を行うことができる点でＭＰＥＧ１と共通している。しかし、ＭＰＥＧ２ではフィールド単位での動き補償予測にも対応している。これはＭＰＥＧ２がインタレース方式に対応しているからである。したがって、ＭＰＥＧ２では、ＭＰＥＧ１のようなフレーム構造に対する動き補償だけでなく、フィールド構造に対する動きベクトル探索にも対応している必要がある。ＭＰＥＧ２のフィールド構造を対象とする動きベクトル探索は、フレーム構造の単位である１６画素×１６ラインのマクロ、ブロックではなく、１６画素×８ラインのマクロブロック単位で行われる。これはインタレース方式が、縦方向のライン数を１／２に間引いて描画する操作方式だからである。
【００３９】
なおＭＰＥＧ２も、ＭＰＥＧ１と同様に、動き補償予測による動きベクトルの精度は、ハーフ・ペル（半画素）単位で表す。
【００４０】
また、ＭＰＥＧ４についての動き補償予測について説明すると、ＭＰＥＧ４では、動きベクトルを１／４画素の単位で表せるように動き補償予測を利用できるようにしている。１／４画素精度の動き補償予測は、架空の半画素サンプル間にさらに１／４画素間隔で仮想サンプルを配置して、予測に利用する。つまり、１／４画素精度の動き補償予測は、特に、高いビットレートの動画品質を向上させることができる。ただし、１／４画素間隔の仮想サンプルの生成には、半画素サンプル生成の倍以上の処理能力が必要で、符号化および復号化に必要な演算量が大幅に増加するものである。
【００４１】
また、ＭＰＥＧ４では、従来のマクロブロック単位の動き補償に加えて、８×８画素のブロック動き補償、ＶＯＰ境界外からの動き補償、ブロックオーバーラップ動き補償、改良ハーフ・ペル動き補償の技術をサポートしている。
【００４２】
例えば、８×８画素のブロックを構成する４つの輝度成分のブロックに対し、それぞれの動きベクトルを用いて予測差分を動き補償することができる。ブロック単位で動き補償する場合には、１マクロブロックあたりに４つの動きベクトルがあって、この４つの動きベクトルを平均化して色差信号の動きベクトルとして用いることができる。４つの動きベクトルが同じである場合、従来のマクロブロック単位の動き補償に相当する。この場合、１マクロブロックあたり一つの動きベクトルがあれば十分である。
【００４３】
また、ＶＯＰ境界外からの動き補償を行う場合には、動きベクトルによって指定される領域がＶＯＰ境界外にある場合予測値としてＶＯＰ境界上にある画素を用いることができる。
【００４４】
また、ＭＰＥＧ４では、ハーフ・ペル動き補償における整数化処理を、ＶＯＰ単位で切り上げまたは切り捨てができるように改良されている。
【００４５】
またオーバーラップ・ブロック補償（ＯＢＭＣ）は、対象ブロックの動きベクトルで動き補償した画素値と隣接するブロックの動きベクトルで動き補償した画素値とを重み付け平均化することによって予測ブロックを生成するものである。オーバーラップ・ブロック補償は、輝度成分のみに対して８×８ブロック単位で行う。
【００４６】
またＭＰＥＧ４では、Ｂ−ＶＯＰでは、双方動き補償予測を行う。すなわち、ＶＯＰの表示順で過去のＶＯＰと未来のＶＯＰから予測信号を取得することができる。双方向の予測には、直接モード、前方予測、後方予測、双方向予測の４種類がある。
【００４７】
２．本実施形態のネットワークシステムの説明
図４は、本実施形態のネットワークシステムの一例である。本実施形態のネットワークシステムは、サーバとゲーム機とが、インターネットを介して接続されており、ゲーム機は、操作部において入力された操作入力情報（入力データ）をゲーム機からサーバへ送信する処理を行う。一方、サーバは、受信した操作入力情報に基づいて、ゲームを進行させるための動画像を構成する画像をリアルタイムに生成し、生成された動画像を圧縮してゲーム機に送信する処理を行う。そして、ゲーム機では、圧縮された動画像をサーバから受信して、復号化処理を行う。
【００４８】
つまり、本実施形態のネットワークシステムでは、長時間にわたって、サーバがゲーム機に対して、圧縮された動画像を送信し、ゲーム機では圧縮された動画像を受け取りながら、復号化し音声や映像を再生する処理が行われる。
【００４９】
したがって、本実施形態のネットワークシステムでは、サーバが動画像を含むデータを途切れずにゲーム機に送信できなければ、ゲームプレーヤにとってゲームを満足に行うことができなってしまう。また、インターネットにおいては回線速度が保証されておらず、通信帯域にも制限がある。故に、本実施形態では、動画像を高速に圧縮し、その結果、サーバからゲーム機へ送信されるデータが遅延することなく、プレーヤが満足してゲームを行うことができるネットワークシステムを実現する。
【００５０】
３．構成
３．１  サーバの構成
図５に本実施形態のサーバの機能ブロック図の例を示す。なお本実施形態のサーバは図５の構成要素（各部）の一部を省略した構成としてもよい。
【００５１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。特に本実施形態の記憶部１７０は、仮想カメラ情報や移動・動作情報を主記憶部１７２のワークバッファに記憶する処理を行うことができる。なお、動画像を構成する複数の画像のうち、圧縮対象の現画像と、圧縮する際に参照される参照画像に関する画像（例えば、現画像の前方、後方の画像）における仮想カメラ情報や移動・動作情報を記憶する処理を行う。
【００５２】
なお、本実施形態の記憶部１７０は、ゲーム機がサーバにアクセスするためのユーザＩＤ（ログインＩＤ）、及び、パスワード等のデータが記憶してもよい。
【００５３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、メモリカード、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、記憶部１７０や、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。なお、情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶してもよい。
【００５４】
通信部１９６は外部（例えば、ゲーム機、端末、他のサーバや他のネットワークシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５５】
処理部１００（プロセッサ）は、情報記憶媒体に記憶されるプログラム等に基づいて、所与の処理を行う。具体的には、ゲーム機や端末（パーソナルコンピュータ）からの要求に応じて所与のサービスを提供する。
【００５６】
また、処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５７】
処理部１００（プロセッサ）は、通信部１９６との通信によりゲーム機から受信した操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５８】
特に、本実施形態のサーバの処理部１００は、通信制御部１１０、仮想カメラ情報登録部１１２、移動・動作情報登録部１１４、圧縮処理部１１６、動きベクトル探索部１１６ａ、描画部１２０、音生成部１３０とを含む。なおこれらの一部を省略する構成としてもよい。
【００５９】
ゲーム演算部は、オブジェクト空間を設定する処理、オブジェクトの移動・動作処理、及び、仮想カメラを制御する処理を行う。
【００６０】
オブジェクト空間設定部は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６１】
仮想カメラ制御部は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００６２】
例えば、仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させ、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラ情報に基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６３】
移動・動作処理部は、オブジェクト（キャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち、ゲーム機から受信した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６４】
通信制御部１１０は、ゲーム機からネットワークを介してデータを取得する。特に、本実施形態の通信制御部１１０は、ゲーム機から送信された操作入力情報を、ネットワークを介して受信する処理と、圧縮された動画像をネットワークを介してゲーム機に送信する処理を行う。
【００６５】
特に、本実施形態の仮想カメラ情報登録部１１２は、オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する処理を行う。また、仮想カメラ情報登録部１１２は、複数の仮想カメラそれぞれの仮想カメラ情報を登録してもよい。
【００６６】
特に、本実施形態の移動・動作情報登録部１１４は、移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する処理を行う。
【００６７】
本実施形態の圧縮処理部１１６は、ＭＰＥＧの規格に応じた動画圧縮アルゴリズムに基づいて、動画像や音声を符号化する処理を行う。
【００６８】
本実施形態の動きベクトル探索部１１６ａは、仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う。
【００６９】
また、動きベクトル探索部１１６ａは、現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
【００７０】
また、動きベクトル探索部１１６ａは、現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
【００７１】
また、動きベクトル探索部１１６ａは、後述する描画部１２０において仮想カメラ毎に生成される第１の画像において求められる動きベクトルに基づいて、後述する描画部１２０において生成される第２の画像の現画像のブロックと、当該ブロックに最も類似する第２の画像の参照画像のブロックとの動きベクトルを求める処理を行うようにしてもよい。
【００７２】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００７３】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００７４】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７５】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部に保存される。
【００７６】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７７】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７８】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常α値ブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００７９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００８０】
特に、描画部１２０は、前記仮想カメラ情報と前記移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラ（視点）から見える画像を、動画像を構成する画像として生成する。
【００８１】
また、描画部１２０が、仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第１の画像用のフレームバッファに描画することによって第１の画像を生成し、第２の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第１の画像を描画することによって、前記動画像を構成する第２の画像を生成してもよい。
【００８２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８３】
また、処理部１００は、通信制御部とネットワーク設定部とを含む。ネットワーク設定部は、ネットワークシステムで必要となる情報を取得し、管理する処理等を行う。通信制御部は、他のゲーム機に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部１９６の制御処理等を行う。
【００８４】
３．２  ゲーム機の構成
図６に本実施形態のゲーム機の機能ブロック図の例を示す。なお本実施形態のゲーム機は図６の構成要素（各部）の一部を省略した構成としてもよい。
【００８５】
操作部２６０は、プレーヤがプレーヤキャラクタ（プレーヤが操作するオブジェクトの一例）の操作入力情報を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、キーボード、マウス、或いは筺体などにより実現できる。
【００８６】
記憶部２７０は、処理部２００や通信部２９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００８７】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部２００は、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００８８】
表示部２９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部２９２は、本実施形態によりサーバから受信した音声データを復号化した音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００８９】
通信部２９６は外部（例えばサーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００９０】
処理部２００（プロセッサ）は、通信部２９６との通信によりサーバから受信したデータや、操作データ及びプログラムなどに基づいて、ゲーム処理を行う。例えば、サーバから動画像やサーバにおいてゲーム演算されたデータを受信して、ゲーム処理を行うことができる。
【００９１】
この処理部２００は記憶部２７０内の主記憶部２７２をワーク領域として各種処理を行う。処理部２００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００９２】
処理部２００は、通信制御部２１０、復号化処理２１２を含む。なおこれらの一部を省略する構成としてもよい。
【００９３】
通信制御部２１０は、サーバからネットワークを介してデータを取得する。特に、本実施形態の通信制御部２１２は、操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された圧縮された動画像を、ネットワークを介して受信する処理を行う。
【００９４】
復号化処理部２１２は、圧縮された動画像を復号化し、表示部２９０に表示される。なお、復号化処理部２１２において復号化された音声データは、ＢＧＭ、効果音、又は音声などのゲーム音を音出力部１９２に出力される。
【００９５】
４．本実施形態の手法
従来から、動画像を圧縮する際の動きベクトルを探索する処理として、現フレームのマクロブロック毎に、最も類似する前フレームの各マクロブロックを探索する手法が採用されている。例えば、動きベクトル探索を行う手法としては、ブロッキングマッチング法が知られている。
【００９６】
図７を用いて説明すると、ブロッキングマッチング法は、現フレームＦ２と前フレームＦ１間の画像の動きを矩形のマクロブロック単位（例えば１６×１６画素）で求めるものであり、現フレームＦ２を複数のマクロブロックに分割した各マクロブロックについて、最も類似する（最も差分の小さい）部分を、前フレームＦ１の探索範囲に含まれるマクロブロックの中から、しらみつぶしに探索し、探索されたマクロブロックとの動き量を動きベクトルとして求めるものである。
【００９７】
例えば、現フレームＦ２のマクロブロックＭＢ´について、最も差分の小さいマクロブロックを、前フレームＦ１の探索範囲に含まれるマクロブロックの中から見つける。そして、前フレームＦ１のマクロブロックＭＢを見つけ、この間の動き量を動きベクトルＭＶとして求める。この際、マクロブロックの差分は、定められた評価関数値の大小により判定し、動きベクトルの探索は、探索範囲に含まれる多数のマクロブロックの中から評価関数が最も小さい値を与えるものを探し出すことによって行われている。
【００９８】
つまり、従来手法によれば、圧縮対象の現フレーム画像の各マクロブロックが、前フレーム画像上で最も類似する領域を探索する動きベクトル探索が必要になる。しかし、従来の動きベクトル探索の処理は処理負荷が高いため、本実施形態のネットワークシステムのようにサーバがストリーミング配信を行う場合には、動きベクトル探索処理に時間を要してしまいデータを遅延させてしまう恐れがある。
【００９９】
したがって、本実施形態では、仮想カメラ情報、又は、仮想カメラ情報と移動体の移動・動作情報とに基づいて、移動ベクトルを求め、求められた移動ベクトルによって、現画像のブロックと、当該ブロックと最も類似する参照画像のブロックとの動き量、動き方向を示す動きベクトルを求める手法を採用する。このようにすれば、現画像の各ブロックに、探索範囲にある参照画像のブロックのうち、最も類似する（最も差分の小さい）ブロックを探してベクトルを求めなくても、簡易に動きベクトルを求めることができ、動画圧縮の処理負荷を軽減させ、圧縮時間を短縮させることができるからである。つまり、本実施形態のネットワークシステムのようにサーバがストリーミング配信を行う場合であっても、動画圧縮の処理が高速に行われるので、データが遅延するという問題を回避することができるからである。なお、参照画像とは、現画像との差分を求める際に参照される画像をいい、ＭＰＥＧ規格に応じて決めてもよい。例えば、現画像に対して、時間的に前方向の画像や、時間的に後方向の画像とすることができる。
【０１００】
具体的に、フレーム間における動画を圧縮する際における動きベクトルを求める手法について説明する。
【０１０１】
まず、フレーム画像（前フレーム、現フレーム）を生成する際に、仮想カメラ情報と、移動体の移動・動作情報とを、ワークバッファに記憶する。例えば、仮想カメラ情報は、オブジェクト空間の仮想カメラの位置（視点）、向き（視線方向）、画角の少なくとも一つとすることができる。また、移動・動作情報は、ゲーム機から受信した操作入力情報に基づき移動体のシミュレーションを演算した結果の値である移動体の位置、向きの少なくとも一方とすることができる。
【０１０２】
次に、本実施形態では、圧縮処理において動きベクトル探索を行う際に、記憶部に記憶された前フレーム及び現フレームの仮想カメラ情報と、移動体の移動体の移動・動作情報とを参照し、移動ベクトルを求める。
【０１０３】
そして、本実施形態では、求めた移動ベクトルに応じて、現画像のブロックと当該ブロックに最も類似する参照画像のブロックとの動き量、動き方向を示す動きベクトルとする処理を行う。例えば、移動ベクトルの大きさ及び向きを、ブロックの動きベクトルの大きさ及び向きとすることができる。なお、移動ベクトルに基づいて、ＭＰＥＧの規格のアルゴリズムに応じた動きベクトルを求めてもよい。
【０１０４】
より具体的に説明すると、現フレームの複数のマクロブロックのうち、移動体が描画されているマクロブロックについては、前フレームと現フレームとの、仮想カメラ情報と移動・動作情報とに基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う。例えば、本実施形態で、移動体が描画されているマクロブロックの動きベクトルを算出する場合には、まず、前フレームの仮想カメラ情報と、移動・動作情報とに基づいて、前フレーム画像上での移動体の代表点の位置（座標）を求め、現フレームにおいても、現フレーム画像を生成する際の仮想カメラ情報と、移動・動作情報とに基づいて、現フレーム画像上での移動体の代表点の位置を求め、前フレーム画像上の代表点の位置と、現フレーム画像上の代表点の位置とに基づいて、移動ベクトルを求める。そして、求めた移動ベクトルを、現画像の移動体が描画されているマクロブロックと当該マクロブロックに最も類似する参照画像のマクロブロックとの動きベクトルとする処理を行う。
【０１０５】
一方、現フレームの複数のマクロブロックのうち、背景が描画されているマクロブロック（移動体が描画されているマクロブロック以外のマクロブロック）については、前フレームと現フレームとの仮想カメラ情報に基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う。例えば、本実施形態で背景が描画されているマクロブロックの動きベクトルを算出する場合には、まず、前フレーム画像の中心位置ＣＱ１を現フレーム画像に変換した参照位置ＣＱ１´を求める。そして、現フレーム画像の中心位置ＣＱ２と求めた参照位置ＣＱ１´との差分に基づいて移動ベクトルを求める。その結果、演算された移動ベクトルを、背景が描画されているマクロブロックと当該マクロブロックに最も類似する参照画像のマクロブロックとの動きベクトルとする処理を行う。
【０１０６】
なお、現フレーム画像における参照位置ＣＱ１´は、例えば、前フレーム画像を生成する際の仮想カメラ座標系における注視点を、現フレーム画像を生成する際の仮想カメラ座標系に変換し、変換された点（座標）を投影面に投影することで求めることができる。
【０１０７】
図８（Ａ）（Ｂ）（Ｃ）を用いて本実施形態における動きベクトルを求める手法について、より詳細に説明する。例えば、前フレームＦ１と現フレームＦ２とにおいて、仮想カメラ情報が同じ（仮想カメラＣの位置、向き、画角が同じ）であり、移動体ＯＢが、前フレームＦ１から現フレームＦ２において移動した場合についての動きベクトルを求める手法について説明する。例えば、図８（Ａ）に示すように、移動体ＯＢの代表点Ｐ１が、現フレームＦ２においてＰ２に移動した場合である。
【０１０８】
まず、移動体が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図８（Ａ）（Ｂ）（Ｃ）に示すように、前フレームＦ１を描画した際の仮想カメラＣの仮想カメラ情報と移動体ＯＢの移動・動作情報とに基づいて、オブジェクト空間に存在する移動体ＯＢの代表点Ｐ１を投影した前フレームＦ１での移動体ＯＢの代表点の位置Ｑ１を求める。次に、現フレームＦ２を描画した際の仮想カメラＣの仮想カメラ情報と移動体ＯＢの移動・動作情報とに基づいて、オブジェクト空間に存在する移動体ＯＢの代表点Ｐ２を投影した現フレームＦ２での移動体の代表点の位置Ｑ２を求める。
【０１０９】
そして、図８（Ｃ）に示すように、前フレームＦ１の代表点の位置Ｑ１から代表点の位置Ｑ２への差分から移動ベクトルＶ１を求める。そして、求めた移動ベクトルＶ１を、現フレームＦ２の移動体が描画されているマクロブロックＭＢ１´と、マクロブロックＭＢ１´に最も類似する前フレームＦ１のマクロブロックＭＢ１との動き量、動き方向を示す動きベクトルＭＶ１とする処理を行う。動きベクトルＭＶ１は、求めた移動ベクトルをそのまま適用してもよいし、移動ベクトルに基づいてＭＰＥＧのアルゴリズムに応じた修正を行うことによって求めてもよい。
【０１１０】
このように、本実施形態では、従来のようにわざわざ前フレームＦ１のマクロブロックを探索して動きベクトルを求めなくても、簡易に動きベクトルを求めることができる。
【０１１１】
次に、背景が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図８（Ａ）（Ｂ）（Ｃ）に示すように、仮想カメラＣの位置、向き、及び画角が、前フレームＦ１と現フレームＦ２とにおいて変化がないので、前フレームＦ１の中心位置ＣＱ１と、現フレームＦ２における中心位置ＣＱ２は、同じであり、前フレームＦ１における中心位置ＣＱ１を現フレームに変換した参照位置ＣＱ１´も、当然に中心位置を示すことになる。
【０１１２】
したがって、図８（Ｂ）（Ｃ）に示すように、現フレームＦ２の中心位置ＣＱ２と参照位置ＣＱ１´との差分による移動ベクトルＶ２が零であるので、現フレームＦ２の背景が描画されているマクロブロックＭＢ２´の動きベクトルＭＶ２は、零として求めることができる。つまり、現フレームＦ２の背景が描画されているマクロブロックＭＢ２´と、マクロブロックＭＢ２´に最も類似する前フレームＦ１のマクロブロックＭＢ２との動き量、動き方向を示す動きベクトルＭＶ２は零として求めることができる。
【０１１３】
さらに、前フレームＦ１と現フレームＦ２とにおいて、仮想カメラＣの位置が変化すると共に、移動体が移動した場合を、図９（Ａ）（Ｂ）（Ｃ）を用いて説明する。
【０１１４】
例えば、図９（Ａ）において、仮想カメラＣが、位置Ｃ１から位置Ｃ２へ移動し、さらに、移動体ＯＢが矢印方向に移動した場合を説明する。例えば、移動体ＯＢの代表点がＰ１からＰ２に移動した場合である。
【０１１５】
まず、移動体が描画されているマクロブロックの動きベクトルを求める手法を検討すると、上述したように、前フレームＦ１と、現フレームＦ２それぞれにおいて、仮想カメラ情報と、移動・動作情報とに基づいて移動体ＯＢの代表点の位置Ｑ１、Ｑ２を求める。
【０１１６】
そして、図９（Ｂ）（Ｃ）に示すように、前フレームＦ１での代表点Ｑ１と、現フレームＦ２での代表点Ｑ２との差分によって、移動ベクトルＶ１を求めることができる。そして、求められた移動ベクトルＶ１を、現フレームＦ２の移動体が描画されているマクロブロックＭＢ１´とマクロブロックＭＢ１（マクロブロックＭＢ１´に最も類似する前フレームＦ１のマクロブロック）との動きベクトルＭＶ１とすることができる。つまり、本実施形態によれば、従来のようにわざわざ前フレームＦ１のマクロブロックを探索しなくても、移動ベクトルＶ１を求めることで簡易に動きベクトルを求めることができる。
【０１１７】
次に、背景が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図９（Ｂ）（Ｃ）に示すように、まず前フレームＦ１の中心位置ＣＱ１を現フレームＦ２に変換した参照位置ＣＱ１´を求め、現フレームＦ２の中心位置ＣＱ２と、参照位置ＣＱ１´との差分から移動ベクトルＶ２を求める。
【０１１８】
そして、図９（Ｃ）に示すように、移動ベクトルＶ２を、現フレームＦ２の背景が描画されているマクロブロックＭＢ２´とマクロブロックＭＢ２´に最も類似する前フレームＦ１のマクロブロックＭＢ２との動きベクトルＭＶ２として求めることができる。
【０１１９】
以上のように、本実施形態によれば、移動ベクトルを求めることによって簡易に動きベクトルを求めることができる。つまり、従来のように、マクロブロック毎に、最も類似する、参照画像のマクロブロックを探索する必要がないので、演算量を抑えることが可能になり、動画圧縮の処理を抑えることができる。つまり、本実施形態におけるサーバがネットワークを介してゲーム機へ圧縮された動画像を送信するストリーミング配信においても、データを遅延することなく送信することができる。
【０１２０】
本実施形態では、ＭＰＥＧの規格に応じた動画圧縮アルゴリズムに基づいて、動きベクトルを求めている。したがって、ＭＰＥＧ１、ＭＰＥＧ２では、１つのマクロブロックに対して、１つの動きベクトルを算出する。なお、ＭＰＥＧ４では、１６×１６画素のマクロブロックを８×８画素の４つの小ブロックに分割することができるので、それぞれのブロック毎に動きベクトルを求めてもよい。また、動きベクトルの精度は、ＭＰＥＧの規格に応じた動画圧縮アルゴリズムに基づいて求めることができる。例えば、ＭＰＥＧ１、ＭＰＥＧ２では、１／２画素単位で求め、ＭＰＥＧ４では１／４画素単位で求めるようにしてもよい。
【０１２１】
本実施形態では、分割画面のように、複数の仮想カメラから見た画像を、仮想カメラに対応する描画領域に描画して１つのフレーム画像を生成する場合にも動きベクトルを求めることができる。つまり、本実施形態では、仮想カメラ毎に用意された第１の画像用のフレームバッファに描画することによって第１の画像を生成し、第２の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第１の画像を描画することによって、生成される第２の画像について動きベクトルを求めることができる。
【０１２２】
具体的に説明すると、まず、仮想カメラ毎に生成される第１の画像の各ブロックについて動きベクトルを求める。そして、第１の画像において求められた各ブロックの動きベクトルのうち、複数の動きベクトルを平均化、または、線形補間することによって、第２の画像の各ブロックにおける動きベクトルを求めることができる。
【０１２３】
また、複数の移動体が存在する場合には、移動体それぞれのマクロブロック（移動体それぞれが描画されているマクロブロック）において、動きベクトルを求めることができる。このようにすれば、複数の移動体が存在しても、移動体毎の動きに応じた動きベクトルを簡易に求めることができる。具体的には、移動体毎に、前フレームと現フレームにおける、仮想カメラ情報と移動体の移動・動作情報とに基づいてフレーム上の移動体の代表点を求め、求められた代表点の差分によって移動ベクトルを求め、動きベクトルを求めることができる。
【０１２４】
本実施形態では、サーバにおいて生成される動画像を圧縮して、各ゲーム機に圧縮されたデータを送信する例を説明したが、各ゲーム機においても本実施形態の動きベクトルを探索する手法によって圧縮を行うようにしてもよい。例えば、ゲーム機においてリアルタイムに生成されるリプレイの動画像を本実施形態の手法により圧縮してＤＶＤに保存するようにしてもよい。
【０１２５】
また、本実施形態では、フレーム間補償予測についての動きベクトルについて説明したが、フィールド間補償予測において動きベクトルを求める際にも適用することができる。また、本実施形態では、ＭＰＥＧの規格だけでなく、ＩＴＵ−Ｔで勧告されたＨ．２６２、Ｈ．２６３、ＪＶＴの規格にも適用できる。
【０１２６】
５．本実施形態の処理
次に、本実施形態の動きベクトル探索プログラムの詳細な処理例について図１０のフローチャートを用いて説明する。
【０１２７】
図１０は、圧縮対象の現フレーム画像の各ブロックにおいて、動きベクトルを求める場合の処理を示したフローチャートである。
【０１２８】
まず、動きベクトル探索プログラムは、現フレーム画像の各ブロックにおいて、移動体が描画されているブロックか否かを判断する（ステップＳ１００）。
【０１２９】
そして、移動体が描画されているブロックである場合（ステップＳ１００のＹｅｓ）には、前フレームと現フレームとの仮想カメラ情報と、移動体の移動・動作情報とに基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う（ステップＳ１１０）。
【０１３０】
一方、移動体が描画されているブロックでない場合（ステップＳ１００のＮｏ）には、前フレームと現フレームとの仮想カメラ情報に基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う（ステップＳ１２０）。以上で処理が終了する。
【０１３１】
６．変形例
（１）画素単位で動きベクトルを求める手法
上述した本実施形態では、画像を複数のブロックに分割し、ブロック単位で動きベクトルを求める手法を説明したが、画素（ピクセル）単位で動きベクトルを求めるようにしてもよい。
【０１３２】
例えば、背景領域が描画されている画素（移動体が描画されている領域以外の画素）の動きベクトルは、仮想カメラ情報に基づいて求められる移動ベクトルによって求めることができる。つまり、現画像の中心位置と参照画像の中心位置を現画像に変換した参照位置とに基づいて移動ベクトルを求め、求めた移動ベクトルを、背景領域が描画されている画素の動きベクトルとする処理を行う。
【０１３３】
また移動体が描画されている領域の画素は、仮想カメラ情報と移動体の移動・動作情報とに基づいて、移動ベクトルを求める。そして、求められた移動ベクトルを、現画像の画素と当該画素に最も類似する参照画像の画素との動き量、動き方向を示す動きベクトルとすることができる。例えば、現画像と参照画像の移動体の代表点の位置の差分によって移動ベクトルを求め、求めた移動ベクトルを動きベクトルとすることができる。
【０１３４】
（２）ブロックを探索する手法
本実施形態では、複数のブロックに分割された現画像の各ブロックにおいて、参照画像の複数のブロックのうち特定のブロックを求め、求めたブロックを最も類似する参照画像のブロックとしてＭＰＥＧの規格に応じた動画圧縮アルゴリズムによって動きベクトルを求めるようにしてもよい。つまり、ブロックを特定した後は、動きベクトルの算出手法はＭＰＥＧの規格に応じたアルゴリズムに基づいて処理を行ってもよい。
【０１３５】
例えば、移動体が描画されているマクロブロックについては、上述した手法と同様に移動ベクトルをまず求める。例えば、仮想カメラ情報と、移動・動作情報とに基づいて、前フレーム画像における移動体の代表点と、現フレーム画像における移動体の代表点とに基づいて、移動ベクトルを求める。
【０１３６】
そして、現フレームの移動体が描画されている各マクロブロックは、求めた移動ベクトルに応じて、参照画像上のブロックを特定し、特定されたブロックを移動体が描画されている各ブロックに最も類似する参照画像のブロックとする。そして、その後は、ＭＰＥＧの規格の動画圧縮アルゴリズムによって動きベクトルを求めるようにしてもよい。
【０１３７】
同様に、背景が描画されている各マクロブロック（フレームの移動体が描画されているマクロブロック以外のマクロブロック）は、上述したように、現フレーム画像の中心位置ＣＱ２と参照画像の中心位置を現画像に変換した参照位置ＣＱ１´との差分に基づいて求められる移動ベクトルに応じて、参照画像上のブロックを特定し、特定されたブロックを移動体が描画されている各ブロックに最も類似する参照画像のブロックとする。そして、その後は、ＭＰＥＧの規格の動画圧縮アルゴリズムによって動きベクトルを求め、動画圧縮を行うようにしてもよい。
【０１３８】
（３）動きベクトルの算出を省略する手法
例えば、仮想カメラの注視点が、常に同一の移動体を示している場合には、生成される画像は、常に同一の移動体が表示されている場合がある。したがって、移動体の位置が変化していても、移動体の向きや動作に変更がない限り、表示される移動体の描画されている画像は常に同一となる。つまり、フレーム間で動きのないブロックが存在することになる。
【０１３９】
したがって、本実施形態では、移動体の移動・動作情報のうち、動作情報（向き情報、回転情報、動作情報）を受け取った場合に限って、移動体が描画されるブロックの動きベクトルを求め、移動体の移動・動作情報のうち、移動情報を受け取った場合には、動きベクトルを零として、動きベクトルを算出する処理を省略するようにしてもよい。このようにすれば、さらに動画圧縮に要する時間を節約することができ、高速に動画圧縮を行うことができる。
【０１４０】
（４）仮想カメラが奥行き方向に移動する場合における動きベクトルを算出する手法
本実施形態では、前フレームと現フレームとにおいて仮想カメラが奥行き方向へ移動した場合に、背景領域が描画されているブロック（移動体が描画されている領域以外のブロック）の動きベクトルを、より正確に求めることができる。
【０１４１】
具体的に説明すると、第１の演算ベクトルと第２の演算ベクトルとに基づいて、背景領域が描画されている各画素の移動ベクトルを求める。そして、求めた移動ベクトルに基づいて、背景領域が描画されているブロック（マクロブロック）の前フレームと現フレームとの動き量、動き方向を示す動きベクトルを求めることができる。なお、第１の演算ベクトルは、仮想カメラのＸ又はＹ方向への移動量、移動方向によって算出されるものであり、上述したように、現フレームの中心位置と前フレームの中心位置を現フレームに変換した参照位置との差分に基づいて求めることができる。また、第２の演算ベクトルは、仮想カメラの奥行き方向への移動を考慮して求められるベクトルである。
【０１４２】
次に、第２の演算ベクトルを算出する手法について、図１１、図１２、図１３を用いて説明する。なお、図１１（Ａ）（Ｂ）は、現フレームにおける仮想カメラを原点とする仮想カメラ座標系における一例を示す。
【０１４３】
まず、図１１（Ａ）（Ｂ）に示すように、仮想カメラ座標系において、前フレームの仮想カメラの位置Ｃ１を求める。そして、原点と仮想カメラの位置Ｃ１とに基づいて、前フレームから現フレームに移動した仮想カメラの奥行き方向（仮想カメラ座標系のｚ方向）への移動量Ｌを求める。
【０１４４】
次に、投影面Ｓのｚの値（ｚ＝ｚ１）から、仮想カメラの奥行き方向への移動量Ｌを加算したｚの値（ｚ＝ｚ２）を求める。そして、ｚ＝ｚ２とするｘｙの演算用の面Ｔを仮想カメラ座標系に設定する。
【０１４５】
そして、現フレームの各画素において、現フレームにおける仮想カメラの位置を原点とする仮想カメラ座標系における第２の演算ベクトルのｘ成分、ｙ成分をそれぞれ求める。
【０１４６】
まず、仮想カメラ座標系における第２の演算ベクトルのｘ成分については、演算用の面Ｔの第１のｘ値と、第２のｘ値を求める。例えば、図１１（Ａ）に示すように、現フレームの画素（Ｘ１，Ｙ１）のＸ１に対応するｘ値（ｘ＝ｘ１）と同じ値を第１のｘ値Ｔｘ１として求めることができる。
【０１４７】
また、原点と現フレームの画素（Ｘ１，Ｙ１）のＸ１に対応するｘ値（ｘ＝ｘ１）とを結ぶ線分と、演算用の面Ｔとの交点を第２のｘ値Ｔｘ２として求めることができる。そして、第１のｘ値を始点として第２のｘ値を終点とするベクトルを、仮想カメラ座標系における第２の演算ベクトルのｘ成分として求めることができる。
【０１４８】
すなわち、図１１（Ａ）に示すように、現フレームの画素（Ｘ１，Ｙ１）における仮想カメラ座標系における第２の演算ベクトルのｘ成分は、Ｖｘ１として求めることができる。
【０１４９】
同様に、仮想カメラ座標系における第２の演算ベクトルのｙ成分については、演算用の面Ｔの第１のｙ値と、第２のｙ値を求める。例えば、図１１（Ｂ）に示すように、現フレームの画素（Ｘ１，Ｙ１）のＹ１に対応するｙ値（ｙ＝ｙ１）と同じ値を第１のｙ値Ｔｙ１として求めることができる。
【０１５０】
また、原点と現フレームの画素（Ｘ１，Ｙ１）のＹ１に対応するｙ値（ｙ＝ｙ１）とを結ぶ線分と、演算用の面Ｔとの交点を第２のｙ値Ｔｙ２として求めることができる。そして、第１のｙ値を始点として第２のｙ値を終点とするベクトルを、仮想カメラ座標系における第２の演算ベクトルのｙ成分とすることができる。
【０１５１】
すなわち、図１１（Ｂ）に示すように、現フレームの画素（Ｘ１，Ｙ１）における仮想カメラ座標系における第２の演算ベクトルのｙ成分は、Ｖｙ１として求めることができる。
【０１５２】
そして、現フレームの各画素において、仮想カメラ座標系における第２の演算ベクトルのｘ成分、ｙ成分を、スクリーン座標系における第２の演算ベクトルのＸ成分、Ｙ成分に変換する。
【０１５３】
このようにして、図１２（Ａ）に示すように、現フレームＦ２の各画素について、図１２（Ｂ）に示すように画素のＸ値毎にスクリーン座標系における第２の演算ベクトルのＸ成分ＶＸを求め、図１２（Ｃ）に示すように画素のＹ値毎にスクリーン座標系における第２の演算ベクトルのＹ成分ＶＹを求める。
【０１５４】
そして、スクリーン座標系における第２の演算ベクトルのＸ成分、Ｙ成分を加算して、第２の演算ベクトルを求める。例えば、図１３（Ａ）に示すように、第２の演算ベクトルのＸ成分の値であるＶＸ１と、第２の演算ベクトルのＹ成分の値であるＶＹ１とを加算して、第２の演算ベクトルＶＲ２を求めることができる。
【０１５５】
そして、現フレームの背景領域が描画されている各画素の移動ベクトルは、第１の演算ベクトルと第２の演算ベクトルとを加算して求めることができる。例えば、図１３（Ｂ）に示すように第１の演算ベクトルＶＲ１と、第２の演算ベクトルＶＲ２を加算して、移動ベクトルＶ２を求める。
【０１５６】
このようにして移動ベクトルＶ２を求め、最終的に背景領域が描画されているブロックの動きベクトルを求める際には、現フレームにおいて求めた背景領域が描画されている各画素単位の移動ベクトルに基づいて、動きベクトルを求める。
【０１５７】
例えば、背景領域が描画されているブロック毎に、ブロックを構成する各画素の移動ベクトルの平均値を求め、求めた平均値を動きベクトルとしてもよい。また、背景領域が描画されているブロックを構成する画素のうち１つの画素を代表の画素として移動ベクトルを求め、求めた移動ベクトルを当該ブロックの動きベクトルとしてもよい。
【図面の簡単な説明】
【０１５８】
【図１】動きベクトル探索装置の構成図。
【図２】ＭＰＥＧのピクチャグループの説明図。
【図３】動き補償の説明図。
【図４】本実施形態のネットワークシステムの説明図。
【図５】本実施形態のサーバの機能ブロック図。
【図６】本実施形態のゲーム機の機能ブロック図。
【図７】従来の動きベクトル探索についての説明図。
【図８】本実施形態の動きベクトル探索についての説明図。
【図９】本実施形態の動きベクトル探索についての説明図。
【図１０】本実施形態の動きベクトル探索のフローチャート。
【図１１】本実施形態の動きベクトル探索についての説明図。
【図１２】本実施形態の動きベクトル探索についての説明図。
【図１３】本実施形態の動きベクトル探索についての説明図。
【符号の説明】
【０１５９】
Ｃ  仮想カメラ、ＭＶ  動きベクトル、ＭＢ  マクロブロック
Ｆ１  前フレーム、Ｆ２  現フレーム、ＯＢ  移動体、Ｖ  移動ベクトル
１００  処理部、１１０  通信制御部、１１２  仮想カメラ情報登録部、
１１４  移動・動作情報登録部、１１６  圧縮処理部、
１１６ａ  動きベクトル探索部、１２０  描画部、１３０  音生成部、
１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１８０  情報記憶媒体、１９６  通信部、
２００  処理部、２１０  通信制御部、２１２  復号化処理部、
２７０  記憶部、２７２  主記憶部、
２６０  操作部、２８０  情報記憶媒体、２９０  表示部、
２９２  音出力部、２９６  通信部
【図１】
2008252651.tif 000003
【図２】
2008252651.tif 000004
【図３】
2008252651.tif 000005
【図４】
2008252651.tif 000006
【図５】
2008252651.tif 000007
【図６】
2008252651.tif 000008
【図７】
2008252651.tif 000009
【図８】
2008252651.tif 000010
【図９】
2008252651.tif 000011
【図１０】
2008252651.tif 000012
【図１１】
2008252651.tif 000013
【図１２】
2008252651.tif 000014
【図１３】
2008252651.tif 000015