JP4931223B2 - 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム - Google Patents

動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム Download PDF

Info

Publication number
JP4931223B2
JP4931223B2 JP2007092872A JP2007092872A JP4931223B2 JP 4931223 B2 JP4931223 B2 JP 4931223B2 JP 2007092872 A JP2007092872 A JP 2007092872A JP 2007092872 A JP2007092872 A JP 2007092872A JP 4931223 B2 JP4931223 B2 JP 4931223B2
Authority
JP
Japan
Prior art keywords
image
motion vector
virtual camera
block
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007092872A
Other languages
English (en)
Other versions
JP2008252651A (ja
Inventor
聡 大内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2007092872A priority Critical patent/JP4931223B2/ja
Publication of JP2008252651A publication Critical patent/JP2008252651A/ja
Application granted granted Critical
Publication of JP4931223B2 publication Critical patent/JP4931223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

本発明は、動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステムに関する。
従来から、動画圧縮技術の1つとして、圧縮対象の現画像を複数のブロックに分割したブロック(小領域)毎に、参照画像の各ブロックのうち最も類似しているブロックとの動き量を推定する動きベクトル探索を行い、その上で差分値を使って動画像の時間的な情報を圧縮する手法が知られている。
しかし、従来の手法では、動きベクトル探索の処理負荷が高く、圧縮に時間を要してしまう問題が発生し、特にネットワークを介して、ストリーミングによるデータ通信を行う場合に、データが遅延してしまう問題が発生する。
特開2004−517590号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、動画像を圧縮する際の動きベクトル探索に要する処理負荷を抑え、高速に動画圧縮処理を行うことができる動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及びネットワークシステムを提供することにある。
(1)本発明は、
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索装置であって、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含むことを特徴とする動きベクトル探索装置に関する。
また本発明は、上記各部としてコンピュータを機能させる動きベクトル探索プログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明は、仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うので、動きベクトル探索に要する圧縮処理を高速に行うことができる。
つまり、本発明によれば、従来手法のように、現画像の各ブロック毎に参照画像の探索範囲内の各ブロックのうち最も類似するブロックを、しらみつぶしに探索する必要がないので、従来に比較して処理負荷を格段に軽減させることができる。
また、従来から、動きベクトルを検出する動きベクトル探索処理は、動画像圧縮処理のうち最も処理負荷の高いものであるが、本発明によれば、動きベクトル探索処理の処理負荷を軽減させているので、従来と比較して動画圧縮処理を高速に行うことができる。
(2)また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記動きベクトル探索部が、
現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
本発明によれば、現画像における移動体の代表点の位置と、参照画像における移動体の代表点の位置とを演算することによって、移動体が描画されているブロックの動きベクトルを簡易に求めることができる。
つまり、従来のように、移動体が描画されているブロックにおいて、当該ブロック周囲の参照画像のブロックとの差分をとって類似性の演算を行わなくても、簡易に参照画像において最も類似するブロックへの動きベクトルを求めることができる。
(3)また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記動きベクトル探索部が、
現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
本発明によれば、現画像における中心位置と参照位置とを演算することによって、移動体が描画されているブロック以外のブロックの動きベクトルを簡易に求めることができる。
つまり、移動体が描画されているブロック以外のブロックにおいて、従来のように、当該ブロック周囲の参照画像のブロックとの差分をとって類似性の演算を行わなくても、簡易に参照画像において最も類似するブロックへの動きベクトルを求めることができる。
(4)また、本発明の動きベクトル探索装置、動きベクトル探索プログラム及び情報記憶媒体では、
前記仮想カメラ情報登録部が、
複数の仮想カメラそれぞれの仮想カメラ情報を登録し、
前記描画部が、
仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第1の画像用のフレームバッファに描画することによって第1の画像を生成し、第2の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第1の画像を描画することによって、前記動画像を構成する第2の画像を生成し、
前記動きベクトル探索部が、
仮想カメラ毎に生成される第1の画像において求められる動きベクトルに基づいて、第2の画像の現画像のブロックと、当該ブロックに最も類似する第2の画像の参照画像のブロックとの動きベクトルを求める処理を行うようにしてもよい。
本発明によれば、複数の仮想カメラ毎に仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成した場合でも、処理負荷を軽減させて動画像を高速に圧縮することができる。
(5)また、本発明は、
複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化させたデータを、サーバがネットワークを介してゲーム機に送信し、ゲーム機が当該データを受信する処理を行うネットワークシステムであって、
サーバが、
オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う動きベクトル探索部と、
を含み、
ゲーム機が、
操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された前記データを、ネットワークを介して受信する処理を行う通信制御部と、
前記圧縮された動画像を復号化する処理を行う復号化処理部と、
を含むことを特徴とするネットワークシステムに関する。
本発明によれば、サーバが、移動ベクトルを演算することによって、現画像の各ブロック毎に動きベクトルを簡易に求めることができる。したがって、サーバは、生成した動画像を高速に圧縮してゲーム機にストリーミング配信を行うことができる。つまり、本発明によれば、リアルタイムに生成される画像によって構成される動画像に対して、圧縮処理を高速に行うことができるので、動画像のデータが遅延されることなくサーバからゲーム機に送信することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.動画像圧縮装置の説明
1.1 圧縮符号化の説明
本実施形態の動画像圧縮装置は、MPEG(Moving Picture Experts Group)の規格に基づいて、動画像(動画像データ)を符号化する処理を行う。図1を用いて、本実施形態の動画像圧縮装置について説明する。
まず、入力された動画像は、動きベクトル探索10によって入力画像とフレームメモリ20に格納されている予測用参照画像から動きベクトルを探索する。その動きベクトルに基づいて、予測用参照画像が動き補償予測12において動き補償され、予測画像を生成する。
そして、差分信号生成部11において、入力された動画像と予測画像との差分が取られ、その差分データは、DCT(離散余弦変換)13、量子化14が行われた後、VLC(可変長符号化)15にて2次元ハフマン符号が割り当てられる。一方、動きベクトルデータもVLC16においてハフマン符号が割り当てられる。そして、符号が割り当てられた両データは多重化17において多重化された後に、符号化データ(圧縮されたデータ)が出力される。
一方、量子化14の出力データは逆量子化18、逆DCT19によって差分データが復元され、予測画像との和により新しい予測用参照画像が生成され、フレームメモリ20に格納される。生成された新しい予測用参照画像は次回の符号化に用いられる。
1.2 MPEGについての説明
次に、本実施形態で適用するMPEGの規格について簡単に説明する。MPEGとは、動画像(映像)や音声の圧縮符号化方式の1つであり、MPEG1、MPEG2、MEPG4、MPEG7などの規格がある。
MPEG1は、ノンインタレースのフレーム画像の符号化にすることができ、CD−ROMなどの蓄積メディアにて動画像のランダムアクセスを可能としている。図2に示すように、1個のIピクチャ、複数個のPピクチャ/Bピクチャからなるピクチャグループを1個の単位として符号化データ中に配置し、ピクチャグループ単位での再生を可能としている。
Iピクチャは、動画像の再生の起点となる画像でありフレーム内予測符号化にて静止画モードにより符号化される。Pピクチャは時間的に前のIピクチャまたはPピクチャから動き補償フレーム間予測により符号化される。BピクチャはIピクチャとPピクチャの間、またはPピクチャとPピクチャの間に複数個あり、時間的に前(順方向)、または後(逆方向)、または前後(双方向)のピクチャを利用して動き補償フレーム間予測により符号化される。順方向、逆方向、双方向のどのモードを使うかはマクロブロックごとに選択でき、予測差分が最も小さくなるモードが選択される。なおマクロブロックとは16×16画素の正方形の画素ブロックで輝度ブロックと色差ブロックで構成されるものである。
また、MPEG2は、MPEG1の上位互換性を有し、TV信号などのインタレース動画像に対応している。インタレース動画像では1個のフレーム画像は2個のフィールド画像から構成されている。そのために、予測符号化ではフィールド/フレーム対応予測符号化、DCTではフィールド/フレーム対応DCTの機能が追加されている。
なお、フレーム構造で符号化する場合には、フィールド/フレーム適応予測符号化は、マクロブロック単位に予測差分が小さくなるようにフィールド間予測、またはフレーム間予測を選択して符号化する。動画像の動きが小さければフレーム間予測を選択し、動きが大きければフィールド間予測を選択する。フィールド間予測では、動き補償は2個のフィールドがそれぞれ時間的に前の2個のフィールドとの間で行われる。前の2個のフィールドのどちらを選んでもよく、予測差分が小さくなるフィールドを選択する。
また、フィールド/フレーム適応DCTは、DCTをフィールド単位で行うか、または、フレーム単位で行うかを、データ圧縮率をみて選択する。例えば、フィールド間予測符号化を行うと、2個のフィールドの予測差分が出力される。これをフィールドのままDCTを行うか、2個のフィールドを1個のフレームにしてフレーム単位でDCTを行うかの選択は、データ圧縮率が高くなる方を選択する。
また、MPEG4は、マルチメディアの符号化、超低ビットレートでの動画像符号化を目的としており、ソフトウエアによるコンピュータ上の処理を前提として規格化されたものである。MPEG4では、自然画像をビデオ・オブジェクトVO(Video Object)とし、矩形形状のビデオ・オブジェクトVO、任意形状のビデオ・オブジェクトVOを取り扱い、これらのビデオ・オブジェクトVOは、所定の時刻で撮影した複数のビデオ・オブジェクト・プレインVOP(Video Object Plane)から構成される。そして、MPEG4では、ビデオ・オブジェクトVOの符号化、CG(コンピュータ・グラフィックス)動画像を統合した符号化、リバーシブル可変長符号による符号割当などの機能が追加されている。なお、VOPは、は、I−VOP、P−VOP、B−VOP、S−VOPの4つのVOP符号化タイプがある。
またCG動画像の符号化と自然画像の符号化との統合を可能としており、符号化においてもCG動画像を生成し自然動画像と合成して出力される。また、リバーシブル可変長符号は、ハフマン符号にビットを付加して順方向、逆方向の両方向からその符号を復号可能とする技術である。伝送路上でのデータ誤りが検出されると逆方向から復号して誤りを回復する。携帯端末への動画像配信など、エラー耐性を必要とする用途へ適用される。
1.3 動き補償予測についての説明
動き補償予測とは、時間的に前フレームと現フレーム間の動きを検出して、前フレームに対して検出した動き分の動き補償を行うことをいい、動画像のデータ量を圧縮するために用いられる。
例えば、図3を用いて説明すると、前フレームF1の移動体OBが、現フレームF2では左方向に移動したとする。このとき、動き補償予測では、予測フレームF3に示すように、破線で示した前フレームF1の画像から、実線で示した現フレームF2の画像の位置を予測し、動きベクトルMVを求める。そして、動きベクトルMVを用いて、現フレームF2を得ることができる。このように、動き補償予測は、動きベクトルMVによって、前フレームF1から、現フレームF2への動き補償がなされ圧縮率を高めている。
MPEG1では、動画圧縮効率を高めるため「Pピクチャ」と「Bピクチャ」に対して動き補償予測を行う。そして、MPEG1は、複数のマクロブロックに分割して、マクロブロックごとに動き補償予測を行い、最も差分が小さい(最も似ている)ブロックを過去(「Pピクチャ」「Bピクチャ」)と未来(「Bピクチャ」のみ)のピクチャから検出する。なお、MPEG1のマクロブロックサイズは、16×16画素である。
さらに、MPEG1の動き補償予測は、予測に利用されるピクチャの動きベクトル探索範囲の中から、最も予測誤差の小さいブロックを選択することで行われる。動きベクトル探索範囲は、1フレーム前または後のピクチャでは縦横+−15画素程度であり、符号化対象のピクチャから時間差のあるフレームでは、動きベクトル探索範囲を拡大させる。例えば、1フレーム前のピクチャの動きベクトル探索範囲は縦横+−15画素であり、4フレーム前のピクチャの動きベクトル探索範囲は縦横+−60画素となる。
なおMPEG1の動き補償予測による動きベクトルの精度は、ハーフ・ペル(半画素)単位で表す。ハーフ・ペルの動き補償予測における架空の予測画素は、予測画素の位置が2画素間なら2画素値の平均、4画素なら4画素の平均という単純な計算で求められる。
次に、MPEG2についての動き補償予測について説明すると、フレーム単位で動き補償を行うことができる点でMPEG1と共通している。しかし、MPEG2ではフィールド単位での動き補償予測にも対応している。これはMPEG2がインタレース方式に対応しているからである。したがって、MPEG2では、MPEG1のようなフレーム構造に対する動き補償だけでなく、フィールド構造に対する動きベクトル探索にも対応している必要がある。MPEG2のフィールド構造を対象とする動きベクトル探索は、フレーム構造の単位である16画素×16ラインのマクロ、ブロックではなく、16画素×8ラインのマクロブロック単位で行われる。これはインタレース方式が、縦方向のライン数を1/2に間引いて描画する操作方式だからである。
なおMPEG2も、MPEG1と同様に、動き補償予測による動きベクトルの精度は、ハーフ・ペル(半画素)単位で表す。
また、MPEG4についての動き補償予測について説明すると、MPEG4では、動きベクトルを1/4画素の単位で表せるように動き補償予測を利用できるようにしている。1/4画素精度の動き補償予測は、架空の半画素サンプル間にさらに1/4画素間隔で仮想サンプルを配置して、予測に利用する。つまり、1/4画素精度の動き補償予測は、特に、高いビットレートの動画品質を向上させることができる。ただし、1/4画素間隔の仮想サンプルの生成には、半画素サンプル生成の倍以上の処理能力が必要で、符号化および復号化に必要な演算量が大幅に増加するものである。
また、MPEG4では、従来のマクロブロック単位の動き補償に加えて、8×8画素のブロック動き補償、VOP境界外からの動き補償、ブロックオーバーラップ動き補償、改良ハーフ・ペル動き補償の技術をサポートしている。
例えば、8×8画素のブロックを構成する4つの輝度成分のブロックに対し、それぞれの動きベクトルを用いて予測差分を動き補償することができる。ブロック単位で動き補償する場合には、1マクロブロックあたりに4つの動きベクトルがあって、この4つの動きベクトルを平均化して色差信号の動きベクトルとして用いることができる。4つの動きベクトルが同じである場合、従来のマクロブロック単位の動き補償に相当する。この場合、1マクロブロックあたり一つの動きベクトルがあれば十分である。
また、VOP境界外からの動き補償を行う場合には、動きベクトルによって指定される領域がVOP境界外にある場合予測値としてVOP境界上にある画素を用いることができる。
また、MPEG4では、ハーフ・ペル動き補償における整数化処理を、VOP単位で切り上げまたは切り捨てができるように改良されている。
またオーバーラップ・ブロック補償(OBMC)は、対象ブロックの動きベクトルで動き補償した画素値と隣接するブロックの動きベクトルで動き補償した画素値とを重み付け平均化することによって予測ブロックを生成するものである。オーバーラップ・ブロック補償は、輝度成分のみに対して8×8ブロック単位で行う。
またMPEG4では、B−VOPでは、双方動き補償予測を行う。すなわち、VOPの表示順で過去のVOPと未来のVOPから予測信号を取得することができる。双方向の予測には、直接モード、前方予測、後方予測、双方向予測の4種類がある。
2.本実施形態のネットワークシステムの説明
図4は、本実施形態のネットワークシステムの一例である。本実施形態のネットワークシステムは、サーバとゲーム機とが、インターネットを介して接続されており、ゲーム機は、操作部において入力された操作入力情報(入力データ)をゲーム機からサーバへ送信する処理を行う。一方、サーバは、受信した操作入力情報に基づいて、ゲームを進行させるための動画像を構成する画像をリアルタイムに生成し、生成された動画像を圧縮してゲーム機に送信する処理を行う。そして、ゲーム機では、圧縮された動画像をサーバから受信して、復号化処理を行う。
つまり、本実施形態のネットワークシステムでは、長時間にわたって、サーバがゲーム機に対して、圧縮された動画像を送信し、ゲーム機では圧縮された動画像を受け取りながら、復号化し音声や映像を再生する処理が行われる。
したがって、本実施形態のネットワークシステムでは、サーバが動画像を含むデータを途切れずにゲーム機に送信できなければ、ゲームプレーヤにとってゲームを満足に行うことができなってしまう。また、インターネットにおいては回線速度が保証されておらず、通信帯域にも制限がある。故に、本実施形態では、動画像を高速に圧縮し、その結果、サーバからゲーム機へ送信されるデータが遅延することなく、プレーヤが満足してゲームを行うことができるネットワークシステムを実現する。
3.構成
3.1 サーバの構成
図5に本実施形態のサーバの機能ブロック図の例を示す。なお本実施形態のサーバは図5の構成要素(各部)の一部を省略した構成としてもよい。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。特に本実施形態の記憶部170は、仮想カメラ情報や移動・動作情報を主記憶部172のワークバッファに記憶する処理を行うことができる。なお、動画像を構成する複数の画像のうち、圧縮対象の現画像と、圧縮する際に参照される参照画像に関する画像(例えば、現画像の前方、後方の画像)における仮想カメラ情報や移動・動作情報を記憶する処理を行う。
なお、本実施形態の記憶部170は、ゲーム機がサーバにアクセスするためのユーザID(ログインID)、及び、パスワード等のデータが記憶してもよい。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、メモリカード、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、記憶部170や、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。なお、情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶してもよい。
通信部196は外部(例えば、ゲーム機、端末、他のサーバや他のネットワークシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
処理部100(プロセッサ)は、情報記憶媒体に記憶されるプログラム等に基づいて、所与の処理を行う。具体的には、ゲーム機や端末(パーソナルコンピュータ)からの要求に応じて所与のサービスを提供する。
また、処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100(プロセッサ)は、通信部196との通信によりゲーム機から受信した操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態のサーバの処理部100は、通信制御部110、仮想カメラ情報登録部112、移動・動作情報登録部114、圧縮処理部116、動きベクトル探索部116a、描画部120、音生成部130とを含む。なおこれらの一部を省略する構成としてもよい。
ゲーム演算部は、オブジェクト空間を設定する処理、オブジェクトの移動・動作処理、及び、仮想カメラを制御する処理を行う。
オブジェクト空間設定部は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
仮想カメラ制御部は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば、仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させ、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラ情報に基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
移動・動作処理部は、オブジェクト(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち、ゲーム機から受信した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
通信制御部110は、ゲーム機からネットワークを介してデータを取得する。特に、本実施形態の通信制御部110は、ゲーム機から送信された操作入力情報を、ネットワークを介して受信する処理と、圧縮された動画像をネットワークを介してゲーム機に送信する処理を行う。
特に、本実施形態の仮想カメラ情報登録部112は、オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する処理を行う。また、仮想カメラ情報登録部112は、複数の仮想カメラそれぞれの仮想カメラ情報を登録してもよい。
特に、本実施形態の移動・動作情報登録部114は、移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する処理を行う。
本実施形態の圧縮処理部116は、MPEGの規格に応じた動画圧縮アルゴリズムに基づいて、動画像や音声を符号化する処理を行う。
本実施形態の動きベクトル探索部116aは、仮想カメラ情報と移動体の移動・動作情報とに基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行い、仮想カメラ情報に基づいて求められた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行う。
また、動きベクトル探索部116aは、現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
また、動きベクトル探索部116aは、現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、現画像において移動体が描画されているブロック以外のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルとする処理を行うようにしてもよい。
また、動きベクトル探索部116aは、後述する描画部120において仮想カメラ毎に生成される第1の画像において求められる動きベクトルに基づいて、後述する描画部120において生成される第2の画像の現画像のブロックと、当該ブロックに最も類似する第2の画像の参照画像のブロックとの動きベクトルを求める処理を行うようにしてもよい。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部に保存される。
テクスチャマッピングは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常α値ブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
特に、描画部120は、前記仮想カメラ情報と前記移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラ(視点)から見える画像を、動画像を構成する画像として生成する。
また、描画部120が、仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第1の画像用のフレームバッファに描画することによって第1の画像を生成し、第2の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第1の画像を描画することによって、前記動画像を構成する第2の画像を生成してもよい。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
また、処理部100は、通信制御部とネットワーク設定部とを含む。ネットワーク設定部は、ネットワークシステムで必要となる情報を取得し、管理する処理等を行う。通信制御部は、他のゲーム機に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部196の制御処理等を行う。
3.2 ゲーム機の構成
図6に本実施形態のゲーム機の機能ブロック図の例を示す。なお本実施形態のゲーム機は図6の構成要素(各部)の一部を省略した構成としてもよい。
操作部260は、プレーヤがプレーヤキャラクタ(プレーヤが操作するオブジェクトの一例)の操作入力情報を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、キーボード、マウス、或いは筺体などにより実現できる。
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部200は、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部290は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部292は、本実施形態によりサーバから受信した音声データを復号化した音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部296は外部(例えばサーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
処理部200(プロセッサ)は、通信部296との通信によりサーバから受信したデータや、操作データ及びプログラムなどに基づいて、ゲーム処理を行う。例えば、サーバから動画像やサーバにおいてゲーム演算されたデータを受信して、ゲーム処理を行うことができる。
この処理部200は記憶部270内の主記憶部272をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部200は、通信制御部210、復号化処理212を含む。なおこれらの一部を省略する構成としてもよい。
通信制御部210は、サーバからネットワークを介してデータを取得する。特に、本実施形態の通信制御部212は、操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された圧縮された動画像を、ネットワークを介して受信する処理を行う。
復号化処理部212は、圧縮された動画像を復号化し、表示部290に表示される。なお、復号化処理部212において復号化された音声データは、BGM、効果音、又は音声などのゲーム音を音出力部192に出力される。
4.本実施形態の手法
従来から、動画像を圧縮する際の動きベクトルを探索する処理として、現フレームのマクロブロック毎に、最も類似する前フレームの各マクロブロックを探索する手法が採用されている。例えば、動きベクトル探索を行う手法としては、ブロッキングマッチング法が知られている。
図7を用いて説明すると、ブロッキングマッチング法は、現フレームF2と前フレームF1間の画像の動きを矩形のマクロブロック単位(例えば16×16画素)で求めるものであり、現フレームF2を複数のマクロブロックに分割した各マクロブロックについて、最も類似する(最も差分の小さい)部分を、前フレームF1の探索範囲に含まれるマクロブロックの中から、しらみつぶしに探索し、探索されたマクロブロックとの動き量を動きベクトルとして求めるものである。
例えば、現フレームF2のマクロブロックMB´について、最も差分の小さいマクロブロックを、前フレームF1の探索範囲に含まれるマクロブロックの中から見つける。そして、前フレームF1のマクロブロックMBを見つけ、この間の動き量を動きベクトルMVとして求める。この際、マクロブロックの差分は、定められた評価関数値の大小により判定し、動きベクトルの探索は、探索範囲に含まれる多数のマクロブロックの中から評価関数が最も小さい値を与えるものを探し出すことによって行われている。
つまり、従来手法によれば、圧縮対象の現フレーム画像の各マクロブロックが、前フレーム画像上で最も類似する領域を探索する動きベクトル探索が必要になる。しかし、従来の動きベクトル探索の処理は処理負荷が高いため、本実施形態のネットワークシステムのようにサーバがストリーミング配信を行う場合には、動きベクトル探索処理に時間を要してしまいデータを遅延させてしまう恐れがある。
したがって、本実施形態では、仮想カメラ情報、又は、仮想カメラ情報と移動体の移動・動作情報とに基づいて、移動ベクトルを求め、求められた移動ベクトルによって、現画像のブロックと、当該ブロックと最も類似する参照画像のブロックとの動き量、動き方向を示す動きベクトルを求める手法を採用する。このようにすれば、現画像の各ブロックに、探索範囲にある参照画像のブロックのうち、最も類似する(最も差分の小さい)ブロックを探してベクトルを求めなくても、簡易に動きベクトルを求めることができ、動画圧縮の処理負荷を軽減させ、圧縮時間を短縮させることができるからである。つまり、本実施形態のネットワークシステムのようにサーバがストリーミング配信を行う場合であっても、動画圧縮の処理が高速に行われるので、データが遅延するという問題を回避することができるからである。なお、参照画像とは、現画像との差分を求める際に参照される画像をいい、MPEG規格に応じて決めてもよい。例えば、現画像に対して、時間的に前方向の画像や、時間的に後方向の画像とすることができる。
具体的に、フレーム間における動画を圧縮する際における動きベクトルを求める手法について説明する。
まず、フレーム画像(前フレーム、現フレーム)を生成する際に、仮想カメラ情報と、移動体の移動・動作情報とを、ワークバッファに記憶する。例えば、仮想カメラ情報は、オブジェクト空間の仮想カメラの位置(視点)、向き(視線方向)、画角の少なくとも一つとすることができる。また、移動・動作情報は、ゲーム機から受信した操作入力情報に基づき移動体のシミュレーションを演算した結果の値である移動体の位置、向きの少なくとも一方とすることができる。
次に、本実施形態では、圧縮処理において動きベクトル探索を行う際に、記憶部に記憶された前フレーム及び現フレームの仮想カメラ情報と、移動体の移動体の移動・動作情報とを参照し、移動ベクトルを求める。
そして、本実施形態では、求めた移動ベクトルに応じて、現画像のブロックと当該ブロックに最も類似する参照画像のブロックとの動き量、動き方向を示す動きベクトルとする処理を行う。例えば、移動ベクトルの大きさ及び向きを、ブロックの動きベクトルの大きさ及び向きとすることができる。なお、移動ベクトルに基づいて、MPEGの規格のアルゴリズムに応じた動きベクトルを求めてもよい。
より具体的に説明すると、現フレームの複数のマクロブロックのうち、移動体が描画されているマクロブロックについては、前フレームと現フレームとの、仮想カメラ情報と移動・動作情報とに基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う。例えば、本実施形態で、移動体が描画されているマクロブロックの動きベクトルを算出する場合には、まず、前フレームの仮想カメラ情報と、移動・動作情報とに基づいて、前フレーム画像上での移動体の代表点の位置(座標)を求め、現フレームにおいても、現フレーム画像を生成する際の仮想カメラ情報と、移動・動作情報とに基づいて、現フレーム画像上での移動体の代表点の位置を求め、前フレーム画像上の代表点の位置と、現フレーム画像上の代表点の位置とに基づいて、移動ベクトルを求める。そして、求めた移動ベクトルを、現画像の移動体が描画されているマクロブロックと当該マクロブロックに最も類似する参照画像のマクロブロックとの動きベクトルとする処理を行う。
一方、現フレームの複数のマクロブロックのうち、背景が描画されているマクロブロック(移動体が描画されているマクロブロック以外のマクロブロック)については、前フレームと現フレームとの仮想カメラ情報に基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う。例えば、本実施形態で背景が描画されているマクロブロックの動きベクトルを算出する場合には、まず、前フレーム画像の中心位置CQ1を現フレーム画像に変換した参照位置CQ1´を求める。そして、現フレーム画像の中心位置CQ2と求めた参照位置CQ1´との差分に基づいて移動ベクトルを求める。その結果、演算された移動ベクトルを、背景が描画されているマクロブロックと当該マクロブロックに最も類似する参照画像のマクロブロックとの動きベクトルとする処理を行う。
なお、現フレーム画像における参照位置CQ1´は、例えば、前フレーム画像を生成する際の仮想カメラ座標系における注視点を、現フレーム画像を生成する際の仮想カメラ座標系に変換し、変換された点(座標)を投影面に投影することで求めることができる。
図8(A)(B)(C)を用いて本実施形態における動きベクトルを求める手法について、より詳細に説明する。例えば、前フレームF1と現フレームF2とにおいて、仮想カメラ情報が同じ(仮想カメラCの位置、向き、画角が同じ)であり、移動体OBが、前フレームF1から現フレームF2において移動した場合についての動きベクトルを求める手法について説明する。例えば、図8(A)に示すように、移動体OBの代表点P1が、現フレームF2においてP2に移動した場合である。
まず、移動体が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図8(A)(B)(C)に示すように、前フレームF1を描画した際の仮想カメラCの仮想カメラ情報と移動体OBの移動・動作情報とに基づいて、オブジェクト空間に存在する移動体OBの代表点P1を投影した前フレームF1での移動体OBの代表点の位置Q1を求める。次に、現フレームF2を描画した際の仮想カメラCの仮想カメラ情報と移動体OBの移動・動作情報とに基づいて、オブジェクト空間に存在する移動体OBの代表点P2を投影した現フレームF2での移動体の代表点の位置Q2を求める。
そして、図8(C)に示すように、前フレームF1の代表点の位置Q1から代表点の位置Q2への差分から移動ベクトルV1を求める。そして、求めた移動ベクトルV1を、現フレームF2の移動体が描画されているマクロブロックMB1´と、マクロブロックMB1´に最も類似する前フレームF1のマクロブロックMB1との動き量、動き方向を示す動きベクトルMV1とする処理を行う。動きベクトルMV1は、求めた移動ベクトルをそのまま適用してもよいし、移動ベクトルに基づいてMPEGのアルゴリズムに応じた修正を行うことによって求めてもよい。
このように、本実施形態では、従来のようにわざわざ前フレームF1のマクロブロックを探索して動きベクトルを求めなくても、簡易に動きベクトルを求めることができる。
次に、背景が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図8(A)(B)(C)に示すように、仮想カメラCの位置、向き、及び画角が、前フレームF1と現フレームF2とにおいて変化がないので、前フレームF1の中心位置CQ1と、現フレームF2における中心位置CQ2は、同じであり、前フレームF1における中心位置CQ1を現フレームに変換した参照位置CQ1´も、当然に中心位置を示すことになる。
したがって、図8(B)(C)に示すように、現フレームF2の中心位置CQ2と参照位置CQ1´との差分による移動ベクトルV2が零であるので、現フレームF2の背景が描画されているマクロブロックMB2´の動きベクトルMV2は、零として求めることができる。つまり、現フレームF2の背景が描画されているマクロブロックMB2´と、マクロブロックMB2´に最も類似する前フレームF1のマクロブロックMB2との動き量、動き方向を示す動きベクトルMV2は零として求めることができる。
さらに、前フレームF1と現フレームF2とにおいて、仮想カメラCの位置が変化すると共に、移動体が移動した場合を、図9(A)(B)(C)を用いて説明する。
例えば、図9(A)において、仮想カメラCが、位置C1から位置C2へ移動し、さらに、移動体OBが矢印方向に移動した場合を説明する。例えば、移動体OBの代表点がP1からP2に移動した場合である。
まず、移動体が描画されているマクロブロックの動きベクトルを求める手法を検討すると、上述したように、前フレームF1と、現フレームF2それぞれにおいて、仮想カメラ情報と、移動・動作情報とに基づいて移動体OBの代表点の位置Q1、Q2を求める。
そして、図9(B)(C)に示すように、前フレームF1での代表点Q1と、現フレームF2での代表点Q2との差分によって、移動ベクトルV1を求めることができる。そして、求められた移動ベクトルV1を、現フレームF2の移動体が描画されているマクロブロックMB1´とマクロブロックMB1(マクロブロックMB1´に最も類似する前フレームF1のマクロブロック)との動きベクトルMV1とすることができる。つまり、本実施形態によれば、従来のようにわざわざ前フレームF1のマクロブロックを探索しなくても、移動ベクトルV1を求めることで簡易に動きベクトルを求めることができる。
次に、背景が描画されているマクロブロックの動きベクトルを求める手法について説明すると、図9(B)(C)に示すように、まず前フレームF1の中心位置CQ1を現フレームF2に変換した参照位置CQ1´を求め、現フレームF2の中心位置CQ2と、参照位置CQ1´との差分から移動ベクトルV2を求める。
そして、図9(C)に示すように、移動ベクトルV2を、現フレームF2の背景が描画されているマクロブロックMB2´とマクロブロックMB2´に最も類似する前フレームF1のマクロブロックMB2との動きベクトルMV2として求めることができる。
以上のように、本実施形態によれば、移動ベクトルを求めることによって簡易に動きベクトルを求めることができる。つまり、従来のように、マクロブロック毎に、最も類似する、参照画像のマクロブロックを探索する必要がないので、演算量を抑えることが可能になり、動画圧縮の処理を抑えることができる。つまり、本実施形態におけるサーバがネットワークを介してゲーム機へ圧縮された動画像を送信するストリーミング配信においても、データを遅延することなく送信することができる。
本実施形態では、MPEGの規格に応じた動画圧縮アルゴリズムに基づいて、動きベクトルを求めている。したがって、MPEG1、MPEG2では、1つのマクロブロックに対して、1つの動きベクトルを算出する。なお、MPEG4では、16×16画素のマクロブロックを8×8画素の4つの小ブロックに分割することができるので、それぞれのブロック毎に動きベクトルを求めてもよい。また、動きベクトルの精度は、MPEGの規格に応じた動画圧縮アルゴリズムに基づいて求めることができる。例えば、MPEG1、MPEG2では、1/2画素単位で求め、MPEG4では1/4画素単位で求めるようにしてもよい。
本実施形態では、分割画面のように、複数の仮想カメラから見た画像を、仮想カメラに対応する描画領域に描画して1つのフレーム画像を生成する場合にも動きベクトルを求めることができる。つまり、本実施形態では、仮想カメラ毎に用意された第1の画像用のフレームバッファに描画することによって第1の画像を生成し、第2の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第1の画像を描画することによって、生成される第2の画像について動きベクトルを求めることができる。
具体的に説明すると、まず、仮想カメラ毎に生成される第1の画像の各ブロックについて動きベクトルを求める。そして、第1の画像において求められた各ブロックの動きベクトルのうち、複数の動きベクトルを平均化、または、線形補間することによって、第2の画像の各ブロックにおける動きベクトルを求めることができる。
また、複数の移動体が存在する場合には、移動体それぞれのマクロブロック(移動体それぞれが描画されているマクロブロック)において、動きベクトルを求めることができる。このようにすれば、複数の移動体が存在しても、移動体毎の動きに応じた動きベクトルを簡易に求めることができる。具体的には、移動体毎に、前フレームと現フレームにおける、仮想カメラ情報と移動体の移動・動作情報とに基づいてフレーム上の移動体の代表点を求め、求められた代表点の差分によって移動ベクトルを求め、動きベクトルを求めることができる。
本実施形態では、サーバにおいて生成される動画像を圧縮して、各ゲーム機に圧縮されたデータを送信する例を説明したが、各ゲーム機においても本実施形態の動きベクトルを探索する手法によって圧縮を行うようにしてもよい。例えば、ゲーム機においてリアルタイムに生成されるリプレイの動画像を本実施形態の手法により圧縮してDVDに保存するようにしてもよい。
また、本実施形態では、フレーム間補償予測についての動きベクトルについて説明したが、フィールド間補償予測において動きベクトルを求める際にも適用することができる。また、本実施形態では、MPEGの規格だけでなく、ITU−Tで勧告されたH.262、H.263、JVTの規格にも適用できる。
5.本実施形態の処理
次に、本実施形態の動きベクトル探索プログラムの詳細な処理例について図10のフローチャートを用いて説明する。
図10は、圧縮対象の現フレーム画像の各ブロックにおいて、動きベクトルを求める場合の処理を示したフローチャートである。
まず、動きベクトル探索プログラムは、現フレーム画像の各ブロックにおいて、移動体が描画されているブロックか否かを判断する(ステップS100)。
そして、移動体が描画されているブロックである場合(ステップS100のYes)には、前フレームと現フレームとの仮想カメラ情報と、移動体の移動・動作情報とに基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う(ステップS110)。
一方、移動体が描画されているブロックでない場合(ステップS100のNo)には、前フレームと現フレームとの仮想カメラ情報に基づいて、移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行う(ステップS120)。以上で処理が終了する。
6.変形例
(1)画素単位で動きベクトルを求める手法
上述した本実施形態では、画像を複数のブロックに分割し、ブロック単位で動きベクトルを求める手法を説明したが、画素(ピクセル)単位で動きベクトルを求めるようにしてもよい。
例えば、背景領域が描画されている画素(移動体が描画されている領域以外の画素)の動きベクトルは、仮想カメラ情報に基づいて求められる移動ベクトルによって求めることができる。つまり、現画像の中心位置と参照画像の中心位置を現画像に変換した参照位置とに基づいて移動ベクトルを求め、求めた移動ベクトルを、背景領域が描画されている画素の動きベクトルとする処理を行う。
また移動体が描画されている領域の画素は、仮想カメラ情報と移動体の移動・動作情報とに基づいて、移動ベクトルを求める。そして、求められた移動ベクトルを、現画像の画素と当該画素に最も類似する参照画像の画素との動き量、動き方向を示す動きベクトルとすることができる。例えば、現画像と参照画像の移動体の代表点の位置の差分によって移動ベクトルを求め、求めた移動ベクトルを動きベクトルとすることができる。
(2)ブロックを探索する手法
本実施形態では、複数のブロックに分割された現画像の各ブロックにおいて、参照画像の複数のブロックのうち特定のブロックを求め、求めたブロックを最も類似する参照画像のブロックとしてMPEGの規格に応じた動画圧縮アルゴリズムによって動きベクトルを求めるようにしてもよい。つまり、ブロックを特定した後は、動きベクトルの算出手法はMPEGの規格に応じたアルゴリズムに基づいて処理を行ってもよい。
例えば、移動体が描画されているマクロブロックについては、上述した手法と同様に移動ベクトルをまず求める。例えば、仮想カメラ情報と、移動・動作情報とに基づいて、前フレーム画像における移動体の代表点と、現フレーム画像における移動体の代表点とに基づいて、移動ベクトルを求める。
そして、現フレームの移動体が描画されている各マクロブロックは、求めた移動ベクトルに応じて、参照画像上のブロックを特定し、特定されたブロックを移動体が描画されている各ブロックに最も類似する参照画像のブロックとする。そして、その後は、MPEGの規格の動画圧縮アルゴリズムによって動きベクトルを求めるようにしてもよい。
同様に、背景が描画されている各マクロブロック(フレームの移動体が描画されているマクロブロック以外のマクロブロック)は、上述したように、現フレーム画像の中心位置CQ2と参照画像の中心位置を現画像に変換した参照位置CQ1´との差分に基づいて求められる移動ベクトルに応じて、参照画像上のブロックを特定し、特定されたブロックを移動体が描画されている各ブロックに最も類似する参照画像のブロックとする。そして、その後は、MPEGの規格の動画圧縮アルゴリズムによって動きベクトルを求め、動画圧縮を行うようにしてもよい。
(3)動きベクトルの算出を省略する手法
例えば、仮想カメラの注視点が、常に同一の移動体を示している場合には、生成される画像は、常に同一の移動体が表示されている場合がある。したがって、移動体の位置が変化していても、移動体の向きや動作に変更がない限り、表示される移動体の描画されている画像は常に同一となる。つまり、フレーム間で動きのないブロックが存在することになる。
したがって、本実施形態では、移動体の移動・動作情報のうち、動作情報(向き情報、回転情報、動作情報)を受け取った場合に限って、移動体が描画されるブロックの動きベクトルを求め、移動体の移動・動作情報のうち、移動情報を受け取った場合には、動きベクトルを零として、動きベクトルを算出する処理を省略するようにしてもよい。このようにすれば、さらに動画圧縮に要する時間を節約することができ、高速に動画圧縮を行うことができる。
(4)仮想カメラが奥行き方向に移動する場合における動きベクトルを算出する手法
本実施形態では、前フレームと現フレームとにおいて仮想カメラが奥行き方向へ移動した場合に、背景領域が描画されているブロック(移動体が描画されている領域以外のブロック)の動きベクトルを、より正確に求めることができる。
具体的に説明すると、第1の演算ベクトルと第2の演算ベクトルとに基づいて、背景領域が描画されている各画素の移動ベクトルを求める。そして、求めた移動ベクトルに基づいて、背景領域が描画されているブロック(マクロブロック)の前フレームと現フレームとの動き量、動き方向を示す動きベクトルを求めることができる。なお、第1の演算ベクトルは、仮想カメラのX又はY方向への移動量、移動方向によって算出されるものであり、上述したように、現フレームの中心位置と前フレームの中心位置を現フレームに変換した参照位置との差分に基づいて求めることができる。また、第2の演算ベクトルは、仮想カメラの奥行き方向への移動を考慮して求められるベクトルである。
次に、第2の演算ベクトルを算出する手法について、図11、図12、図13を用いて説明する。なお、図11(A)(B)は、現フレームにおける仮想カメラを原点とする仮想カメラ座標系における一例を示す。
まず、図11(A)(B)に示すように、仮想カメラ座標系において、前フレームの仮想カメラの位置C1を求める。そして、原点と仮想カメラの位置C1とに基づいて、前フレームから現フレームに移動した仮想カメラの奥行き方向(仮想カメラ座標系のz方向)への移動量Lを求める。
次に、投影面Sのzの値(z=z1)から、仮想カメラの奥行き方向への移動量Lを加算したzの値(z=z2)を求める。そして、z=z2とするxyの演算用の面Tを仮想カメラ座標系に設定する。
そして、現フレームの各画素において、現フレームにおける仮想カメラの位置を原点とする仮想カメラ座標系における第2の演算ベクトルのx成分、y成分をそれぞれ求める。
まず、仮想カメラ座標系における第2の演算ベクトルのx成分については、演算用の面Tの第1のx値と、第2のx値を求める。例えば、図11(A)に示すように、現フレームの画素(X1,Y1)のX1に対応するx値(x=x1)と同じ値を第1のx値Tx1として求めることができる。
また、原点と現フレームの画素(X1,Y1)のX1に対応するx値(x=x1)とを結ぶ線分と、演算用の面Tとの交点を第2のx値Tx2として求めることができる。そして、第1のx値を始点として第2のx値を終点とするベクトルを、仮想カメラ座標系における第2の演算ベクトルのx成分として求めることができる。
すなわち、図11(A)に示すように、現フレームの画素(X1,Y1)における仮想カメラ座標系における第2の演算ベクトルのx成分は、Vx1として求めることができる。
同様に、仮想カメラ座標系における第2の演算ベクトルのy成分については、演算用の面Tの第1のy値と、第2のy値を求める。例えば、図11(B)に示すように、現フレームの画素(X1,Y1)のY1に対応するy値(y=y1)と同じ値を第1のy値Ty1として求めることができる。
また、原点と現フレームの画素(X1,Y1)のY1に対応するy値(y=y1)とを結ぶ線分と、演算用の面Tとの交点を第2のy値Ty2として求めることができる。そして、第1のy値を始点として第2のy値を終点とするベクトルを、仮想カメラ座標系における第2の演算ベクトルのy成分とすることができる。
すなわち、図11(B)に示すように、現フレームの画素(X1,Y1)における仮想カメラ座標系における第2の演算ベクトルのy成分は、Vy1として求めることができる。
そして、現フレームの各画素において、仮想カメラ座標系における第2の演算ベクトルのx成分、y成分を、スクリーン座標系における第2の演算ベクトルのX成分、Y成分に変換する。
このようにして、図12(A)に示すように、現フレームF2の各画素について、図12(B)に示すように画素のX値毎にスクリーン座標系における第2の演算ベクトルのX成分VXを求め、図12(C)に示すように画素のY値毎にスクリーン座標系における第2の演算ベクトルのY成分VYを求める。
そして、スクリーン座標系における第2の演算ベクトルのX成分、Y成分を加算して、第2の演算ベクトルを求める。例えば、図13(A)に示すように、第2の演算ベクトルのX成分の値であるVX1と、第2の演算ベクトルのY成分の値であるVY1とを加算して、第2の演算ベクトルVR2を求めることができる。
そして、現フレームの背景領域が描画されている各画素の移動ベクトルは、第1の演算ベクトルと第2の演算ベクトルとを加算して求めることができる。例えば、図13(B)に示すように第1の演算ベクトルVR1と、第2の演算ベクトルVR2を加算して、移動ベクトルV2を求める。
このようにして移動ベクトルV2を求め、最終的に背景領域が描画されているブロックの動きベクトルを求める際には、現フレームにおいて求めた背景領域が描画されている各画素単位の移動ベクトルに基づいて、動きベクトルを求める。
例えば、背景領域が描画されているブロック毎に、ブロックを構成する各画素の移動ベクトルの平均値を求め、求めた平均値を動きベクトルとしてもよい。また、背景領域が描画されているブロックを構成する画素のうち1つの画素を代表の画素として移動ベクトルを求め、求めた移動ベクトルを当該ブロックの動きベクトルとしてもよい。
動きベクトル探索装置の構成図。 MPEGのピクチャグループの説明図。 動き補償の説明図。 本実施形態のネットワークシステムの説明図。 本実施形態のサーバの機能ブロック図。 本実施形態のゲーム機の機能ブロック図。 従来の動きベクトル探索についての説明図。 本実施形態の動きベクトル探索についての説明図。 本実施形態の動きベクトル探索についての説明図。 本実施形態の動きベクトル探索のフローチャート。 本実施形態の動きベクトル探索についての説明図。 本実施形態の動きベクトル探索についての説明図。 本実施形態の動きベクトル探索についての説明図。
符号の説明
C 仮想カメラ、MV 動きベクトル、MB マクロブロック
F1 前フレーム、F2 現フレーム、OB 移動体、V 移動ベクトル
100 処理部、110 通信制御部、112 仮想カメラ情報登録部、
114 移動・動作情報登録部、116 圧縮処理部、
116a 動きベクトル探索部、120 描画部、130 音生成部、
170 記憶部、172 主記憶部、174 描画バッファ、
180 情報記憶媒体、196 通信部、
200 処理部、210 通信制御部、212 復号化処理部、
270 記憶部、272 主記憶部、
260 操作部、280 情報記憶媒体、290 表示部、
292 音出力部、296 通信部

Claims (7)

  1. 複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索プログラムであって、
    オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
    移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
    仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
    現画像のブロック毎に、現画像のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルを求める処理を行う動きベクトル探索部と、
    動きベクトルに基づいて、動画像を圧縮する処理を行う圧縮処理部として、コンピュータを機能させ、
    前記動きベクトル探索部が、
    現画像の複数のブロックのうち、移動体が描画されているブロックについては、仮想カメラ情報と移動体の移動・動作情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行い、
    現画像の複数のブロックのうち、移動体が描画されているブロック以外の、背景が描画されているブロックについては、仮想カメラ情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行うことを特徴とする動きベクトル探索プログラム。
  2. 請求項1において、
    前記動きベクトル探索部が、
    現画像の複数のブロックのうち、移動体が描画されているブロックについては、現画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、現画像における移動体の代表点の位置を演算し、参照画像を生成する際の仮想カメラ情報と移動・動作情報とに基づいて、参照画像における移動体の代表点の位置を演算し、演算された現画像における移動体の代表点の位置と参照画像における移動体の代表点の位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、動きベクトルとする処理を行うことを特徴とする動きベクトル探索プログラム。
  3. 請求項1又は2において、
    前記動きベクトル探索部が、
    現画像の複数のブロックのうち、移動体が描画されているブロック以外の、背景が描画されているブロックについては、現画像及び参照画像を生成する際のそれぞれの仮想カメラ情報に基づいて参照画像の中心位置を現画像に変換した参照位置を演算し、現画像の中心位置と当該参照位置とに基づいて、移動ベクトルを求め、求めた移動ベクトルを、動きベクトルとする処理を行うことを特徴とする動きベクトル探索プログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記仮想カメラ情報登録部が、
    複数の仮想カメラそれぞれの仮想カメラ情報を登録し、
    前記描画部が、
    仮想カメラ情報と移動・動作情報とに基づいてオブジェクト空間における所与の仮想カメラから見える画像を仮想カメラ毎に用意された第1の画像用のフレームバッファに描画することによって第1の画像を生成し、第2の画像用のフレームバッファを各仮想カメラに対応する複数の描画領域に分割し、分割された描画領域の各々に対応する第1の画像を描画することによって、前記動画像を構成する第2の画像を生成し、
    前記動きベクトル探索部が、
    仮想カメラ毎に生成される第1の画像において求められる動きベクトルに基づいて、第2の画像の現画像のブロックと、当該ブロックに最も類似する第2の画像の参照画像のブロックとの動きベクトルを求める処理を行うことを特徴とする動きベクトル探索プログラム。
  5. コンピュータにより読取可能な情報記憶媒体であって、請求項1〜4のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
  6. 複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化する動きベクトル探索装置であって、
    オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
    移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
    仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
    現画像のブロック毎に、現画像のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルを求める処理を行う動きベクトル探索部と、
    動きベクトルに基づいて、動画像を圧縮する処理を行う圧縮処理部と、を含み、
    前記動きベクトル探索部が、
    現画像の複数のブロックのうち、移動体が描画されているブロックについては、仮想カメラ情報と移動体の移動・動作情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行い、
    現画像の複数のブロックのうち、移動体が描画されているブロック以外の、背景が描画されているブロックについては、仮想カメラ情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行うことを特徴とする動きベクトル探索装置。
  7. 複数のブロックに分割された現画像のブロック毎に、複数のブロックに分割された参照画像の各ブロックのうち最も類似するブロックとの動きベクトルを求めて、動画像を圧縮符号化させたデータを、サーバがネットワークを介してゲーム機に送信し、ゲーム機が当該データを受信する処理を行うネットワークシステムであって、
    サーバが、
    オブジェクト空間における仮想カメラの位置、向き、画角を制御する仮想カメラ情報を、記憶部に登録する仮想カメラ情報登録部と、
    移動体をオブジェクト空間において移動・動作させる移動・動作情報を、記憶部に登録する移動・動作情報登録部と、
    仮想カメラ情報と移動・動作情報とに基づいて、オブジェクト空間における所与の仮想カメラから見える画像を、動画像を構成する画像として生成する描画部と、
    現画像のブロック毎に、現画像のブロックと当該ブロックに最も類似する参照画像のブロックとの動きベクトルを求める処理を行う動きベクトル探索部と、
    動きベクトルに基づいて、動画像を圧縮する処理を行う圧縮処理部と、を含み、
    前記動きベクトル探索部が、
    現画像の複数のブロックのうち、移動体が描画されているブロックについては、仮想カメラ情報と移動体の移動・動作情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行い、
    現画像の複数のブロックのうち、移動体が描画されているブロック以外の、背景が描画されているブロックについては、仮想カメラ情報に基づいて移動ベクトルを求め、求めた移動ベクトルに基づいて動きベクトルを求める処理を行い、
    ゲーム機が、
    操作部からの操作入力情報を、ネットワークを介してサーバに送信し、サーバから送信された前記データを、ネットワークを介して受信する処理を行う通信制御部と、
    前記圧縮された動画像を復号化する処理を行う復号化処理部と、
    を含むことを特徴とするネットワークシステム。
JP2007092872A 2007-03-30 2007-03-30 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム Expired - Fee Related JP4931223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007092872A JP4931223B2 (ja) 2007-03-30 2007-03-30 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007092872A JP4931223B2 (ja) 2007-03-30 2007-03-30 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2008252651A JP2008252651A (ja) 2008-10-16
JP4931223B2 true JP4931223B2 (ja) 2012-05-16

Family

ID=39977050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007092872A Expired - Fee Related JP4931223B2 (ja) 2007-03-30 2007-03-30 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム

Country Status (1)

Country Link
JP (1) JP4931223B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896715B2 (en) 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
US9824426B2 (en) 2011-08-01 2017-11-21 Microsoft Technology Licensing, Llc Reduced latency video stabilization
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
EP2672452B1 (en) 2012-02-23 2017-12-27 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image playback device, control method, program, and recording medium
CA2828359C (en) 2012-04-12 2016-05-24 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image reproduction apparatus, control method, and recording medium
TWI684357B (zh) * 2017-04-21 2020-02-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
RU2760974C2 (ru) 2017-04-21 2021-12-02 Зенимакс Медиа Инк. Системы и способы для векторов движения, генерируемых во время игры
US11652863B2 (en) * 2020-03-16 2023-05-16 Tencent America LLC Method and apparatus for cloud gaming

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3287977B2 (ja) * 1995-04-28 2002-06-04 松下電器産業株式会社 動きベクトル検出方法および装置と動画像符号化方法および装置
FI109633B (fi) * 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
JP2002336542A (ja) * 2001-05-14 2002-11-26 Yukes:Kk ビデオゲーム装置、ビデオゲーム画面制御プログラム及びその記録媒体

Also Published As

Publication number Publication date
JP2008252651A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
JP4931223B2 (ja) 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム
US7038676B2 (en) System and method for data compression
JP5833599B2 (ja) プログラム、記録媒体及び符号化方式決定方法
JP5155462B2 (ja) 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP3884076B2 (ja) グラフィック画像処理
US8913664B2 (en) Three-dimensional motion mapping for cloud gaming
EP1496704A1 (en) Graphic system comprising a pipelined graphic engine, pipelining method and computer program product
JP5404971B1 (ja) 動画配信サーバ、制御方法、プログラム、及び動画配信システム
US11381835B2 (en) Systems and methods for game-generated motion vectors
US11812066B2 (en) Methods, devices and stream to encode global rotation motion compensated images
TW201442490A (zh) 視訊編解碼器的延伸預測模式及效能
JP4806578B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2002369205A (ja) 動画像生成装置
Doenges Caspar Horne Mediamatics, Inc., Fremont, California Atul Puri AT&T Labs, Red Bank, New Jersey

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120213

R150 Certificate of patent or registration of utility model

Ref document number: 4931223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees