(57)【特許請求の範囲】
【請求項１】
３次元空間内で画面に対して相対的に移動するオブジェクトを複数の前記画面のそれぞれに投影した複数の動画像のそれぞれを圧縮するシステムであって、
圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出部と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮部と
を備え、
前記動き算出部は、前記オブジェクトが第１の前記画面および第２の前記画面から予め指定された距離以上離れていることを条件として、当該オブジェクトの動きを前記第１の画面に投影した前記動きベクトルを、前記第２の画面における当該オブジェクトの前記動きベクトルとして共用するシステム。
【請求項２】
３次元空間内で画面に対して相対的に移動するオブジェクトを前記画面に投影した動画像を圧縮するシステムであって、
前記オブジェクトの向きが圧縮対象フレームにおける前記オブジェクトの向きにより近い他のフレームを複数の前記他のフレームの中から選択する選択部と、
前記圧縮対象フレームに応じた時刻および選択された前記他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出部と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮部と
を備えるシステム。
【請求項３】
３次元空間内で画面に対して相対的に移動するオブジェクトを前記画面に投影した動画像を圧縮するシステムであって、
圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出部と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮部と
を備え、
前記圧縮対象フレーム中に投影される複数の前記オブジェクトのうち、予め定められた数未満のオブジェクトのみが前記他のフレーム中にも投影されていることを条件として、前記圧縮部は、動き補償を用いずに前記圧縮対象フレームを圧縮するシステム。
【請求項４】
前記圧縮部は、前記圧縮対象フレームに投影された前記オブジェクトを含む領域の画像から、当該領域に対応付けられた前記動きベクトルにより指定される前記他のフレームにおける領域の画像を、減じた差分画像を圧縮する請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記圧縮対象フレームに投影された前記オブジェクトを含む領域の画像と、前記他のフレームにおける前記動きベクトルにより指定される領域の画像とをより一致させるように前記動きベクトルを調整する調整部を更に備える請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記調整部は、前記圧縮対象フレームに投影された前記オブジェクトを含む領域の画像と、前記他のフレームにおける前記動きベクトルにより指定される領域を予め定められたピクセル数の範囲でずらした各領域の画像とを比較し、画像が最も一致する前記他のフレーム上の領域を指定するように前記動きベクトルを変更する請求項５に記載のシステム。
【請求項７】
３次元空間内の複数の前記オブジェクトを画面に投影して前記圧縮対象フレームを生成するフレーム画像生成部を更に備え、
前記フレーム画像生成部は、前記圧縮対象フレームの各ピクセルまたは各領域毎に、当該ピクセルまたは当該領域に対して最も前面に位置する前記オブジェクトの識別情報を対応付け、
前記動き算出部は、前記圧縮対象フレームの各領域の前記動きベクトルを算出する場合に、当該領域または当該領域内の各ピクセルに対応付けられた識別情報から当該領域に投影されたオブジェクトを特定し、特定された前記オブジェクトの３次元空間内での動きを画面に投影して前記動きベクトルを算出する
請求項１から６のいずれか１項に記載のシステム。
【請求項８】
３次元空間内の複数の前記オブジェクトを画面に投影して前記圧縮対象フレームを生成するフレーム画像生成部を更に備え、
前記フレーム画像生成部は、前記圧縮対象フレームの各ピクセルまたは各領域毎に、当該ピクセルまたは当該領域に対して最も前面に位置する前記オブジェクトの３次元空間内での動きを対応付け、
前記動き算出部は、前記圧縮対象フレームの各領域の動きベクトルを算出する場合に、当該領域または当該領域内の各ピクセルに対応付けられた３次元空間内での動きを画面に投影して前記動きベクトルを算出する
請求項１から６のいずれか１項に記載のシステム。
【請求項９】
３次元空間内の複数の前記オブジェクトを画面に投影して前記圧縮対象フレームを生成するフレーム画像生成部を更に備え、
前記動き算出部は、前記圧縮対象フレームの領域毎に、当該領域に対して最も前面に位置する前記オブジェクトについて算出した前記動きベクトルを対応付け、
前記圧縮部は、前記圧縮対象フレームの各領域の画像を圧縮する場合に、当該領域に対応付けられた前記動きベクトルに基づく動き補償を行う
請求項１から６のいずれか１項に記載のシステム。
【請求項１０】
圧縮対象フレームに応じた時刻における前記オブジェクトの３次元空間内での形状を画面に投影して、画面内に投影された前記オブジェクトの形状を算出する形状算出部を更に備え、
前記圧縮部は、前記動きベクトルおよび前記形状に基づく動き補償により前記圧縮対象フレームを圧縮する
請求項１から９のいずれか１項に記載のシステム。
【請求項１１】
前記動き算出部は、前記圧縮対象フレームに応じた時刻、および複数の前記他のフレームのそれぞれに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記複数の他のフレームのそれぞれの領域を指定する複数の前記動きベクトルを算出し、
前記複数の他のフレームのうち、対応する前記動きベクトルにより指定される領域の画像が、前記圧縮対象フレームに投影された前記オブジェクトを含む領域の画像と最も一致する前記他のフレームを選択する選択部を更に備え、
前記圧縮部は、選択部が選択した前記他のフレームおよび当該他のフレームに対応する前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する
請求項１、３から１０のいずれか１項に記載のシステム。
【請求項１２】
コンピュータを請求項１から１１のいずれか１項に記載のシステムとして機能させるプログラム。
【請求項１３】
３次元空間内で画面に対して相対的に移動するオブジェクトを複数の前記画面のそれぞれに投影した複数の動画像のそれぞれをコンピュータにより圧縮する方法であって、
圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出段階と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮段階と
を備え、
前記圧縮段階において、前記オブジェクトが第１の前記画面および第２の前記画面から予め指定された距離以上離れていることを条件として、当該オブジェクトの動きを前記第１の画面に投影した前記動きベクトルを、前記第２の画面における当該オブジェクトの前記動きベクトルとして共用する方法。
【請求項１４】
３次元空間内で画面に対して相対的に移動するオブジェクトを前記画面に投影した動画像をコンピュータにより圧縮する方法であって、
前記オブジェクトの向きが圧縮対象フレームにおける前記オブジェクトの向きにより近い他のフレームを複数の他のフレームの中から選択する選択段階と、
前記圧縮対象フレームに応じた時刻および選択された前記他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出段階と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮段階とを備える方法。
【請求項１５】
３次元空間内で画面に対して相対的に移動するオブジェクトを前記画面に投影した動画像をコンピュータにより圧縮する方法であって、
圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間における前記オブジェクトの３次元空間内での動きを画面に投影して、前記オブジェクトの画面内での動きベクトルを算出する動き算出段階と、
前記動きベクトルに基づく動き補償により前記圧縮対象フレームを圧縮する圧縮段階と
を備え、
前記圧縮段階において、前記圧縮対象フレーム中に投影される複数の前記オブジェクトのうち、予め定められた数未満のオブジェクトのみが前記他のフレーム中にも投影されていることを条件として、動き補償を用いずに前記圧縮対象フレームを圧縮する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を圧縮する圧縮システム、プログラムおよび方法に関する。本発明は、特に、３次元空間内のオブジェクトを画面に投影した動画像を圧縮する圧縮システム、プログラムおよび方法に関する。
【背景技術】
【０００２】
３Ｄインターネットおよびオンラインゲーム等の仮想世界の様子を表示するアプリケーションにおいては、３次元空間内のオブジェクトを２次元画面上にレンダリングする処理をクライアントで行う。しかし、クライアントが十分な処理能力を有さない場合、サーバが、クライアントに代わって３次元空間内のオブジェクトを２次元画面上にレンダリングして、レンダリングした結果をＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の動画像圧縮方式で圧縮してクライアントに送信する。
【０００３】
ここで、ＭＰＥＧ等の動画像圧縮方式においては、動画像中の圧縮対象となっている圧縮対象フレームについて、未圧縮画像と、参照画像から動き補償により予測された予測画像との差分画像を算出して、この差分画像をＤＣＴ（離散コサイン変換）等により画像圧縮する。このように、ＭＰＥＧ等の動画像圧縮方式によれば、動きベクトルに基づく動き補償を用いて、効率良い圧縮をすることができる。
【非特許文献１】富永英義  外３名、「階層画像情報を用いた動画像における動き量検出方式」、電子情報通信学会論文誌、電子情報通信学会、１９８９年３月、Ｖｏｌ．Ｊ７２−Ｄ−ＩＩ  Ｎｏ．３、ｐ．３９５−４０３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、精度良く動き補償がされた場合、差分画像は小さくなる。差分画像が小さい場合、圧縮後のデータのサイズも小さくなる。従って、動きベクトルに基づく動き補償により動画像を圧縮する場合、精度の良い動きベクトルを検出することが、圧縮効率を高くする上で重要となる。しかし、動きベクトルを検出するための演算量は動画像圧縮処理における大半を占めるので、圧縮効率を高くするために動きベクトルの検出処理に要する演算量を大きくすると、圧縮処理の全体の処理速度が遅くなり、また、処理コストも高くなってしまう。
【０００５】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の形態においては、３次元空間内で画面に対して相対的に移動するオブジェクトを複数の画面のそれぞれに投影した複数の動画像のそれぞれを圧縮するシステムであって、圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間におけるオブジェクトの３次元空間内での動きを画面に投影して、オブジェクトの画面内での動きベクトルを算出し、オブジェクトが第１の画面および第２の画面から予め指定された距離以上離れていることを条件として、当該オブジェクトの動きを第１の画面に投影した動きベクトルを、第２の画面における当該オブジェクトの動きベクトルとして共用する動き算出部と、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮する圧縮部とを備えるシステム、及び当該システムとしてコンピュータを機能させる方法ならびにプログラムを提供する。
また、本発明の第２の形態においては、３次元空間内で画面に対して相対的に移動するオブジェクトを画面に投影した動画像を圧縮するシステムであって、オブジェクトの向きが圧縮対象フレームにおけるオブジェクトの向きにより近い他のフレームを複数の他のフレームの中から選択する選択部と、圧縮対象フレームに応じた時刻および選択された他のフレームに応じた時刻の間におけるオブジェクトの３次元空間内での動きを画面に投影して、オブジェクトの画面内での動きベクトルを算出する動き算出部と、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮する圧縮部とを備えるシステム、及び当該システムとしてコンピュータを機能させる方法ならびにプログラムを提供する。
また、本発明の第３の形態においては、３次元空間内で画面に対して相対的に移動するオブジェクトを画面に投影した動画像を圧縮するシステムであって、圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間におけるオブジェクトの３次元空間内での動きを画面に投影して、オブジェクトの画面内での動きベクトルを算出する動き算出部と、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮する圧縮部とを備え、圧縮対象フレーム中に投影される複数のオブジェクトのうち、予め定められた数未満のオブジェクトのみが他のフレーム中にも投影されていることを条件として、圧縮部は、動き補償を用いずに圧縮対象フレームを圧縮するシステム、及び当該システムとしてコンピュータを機能させる方法ならびにプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る情報提供システム１０の構成を示す。情報提供システム１０は、３次元空間内における１又は複数の３次元のオブジェクトを、ユーザが用いるクライアント装置２０のディスプレイ上に表示する。情報提供システム１０は、一例として、３次元空間内におけるユーザの視点と、３次元空間内に存在するオブジェクトとの間の相対的な移動に伴う動きを動画像として表示する。
【０００９】
例えば、情報提供システム１０は、１または複数のユーザが仮想空間で移動等をする仮想世界をシュミュレーションするものであってよい。そして、３次元空間内のオブジェクトは、仮想世界内におけるユーザの分身として機能するアバター、および、仮想世界に存在するその他のキャラクターまたは物体等であってよい。
【００１０】
情報提供システム１０は、クライアント装置２０と、サーバ装置３０とを備える。クライアント装置２０は、入力部２２と、展開部２４と、表示部２６とを有する。
【００１１】
クライアント装置２０は、ユーザにより入力された入力データを受け付けて、受け付けた入力データをサーバ装置３０に送信する。展開部２４は、サーバ装置３０が出力した圧縮画像データを受信する。そして、展開部２４は、受信した圧縮画像データを、非圧縮の動画像データに展開する。表示部２６は、展開部２４により展開された非圧縮の動画像データを表示する。
【００１２】
サーバ装置３０は、仮想的な３次元空間内で移動する１又は複数の３次元のオブジェクトに対するデータ処理を実行する。サーバ装置３０は、一例として、クライアント装置２０からの指示等に応じて、３次元空間内におけるオブジェクトの位置を移動させる処理を実行してよい。
【００１３】
さらに、サーバ装置３０は、当該３次元空間内に設けられた画面（以下、スクリーン）に対して相対的に移動するオブジェクトを、スクリーンに投影した動画像を生成する。サーバ装置３０は、一例として、ユーザを表わすオブジェクト（例えば、アバター）の視野に応じて、３次元空間内にスクリーンを設定してよい。さらに、サーバ装置３０は、一例として、ユーザを表わすオブジェクトの視点の移動または視野の変更等に応じて、３次元空間内におけるスクリーンの位置および大きさを設定してよい。そして、サーバ装置３０は、生成した動画像を圧縮した圧縮画像データを生成する。
【００１４】
動画像を生成する処理において、サーバ装置３０は、生成すべき動画像の各画面（フレーム）に応じた各時刻において、各オブジェクトをスクリーンに投影し、オブジェクトの２次元画像を生成する。そして、サーバ装置３０は、各フレームに応じた各時刻においてスクリーンに投影されたオブジェクトの２次元画像に基づき動画像を生成し、動画像を圧縮した圧縮動画像データをクライアント装置２０に送信する。なお、３次元空間内のオブジェクトをスクリーンに投影する方法としては、レイトレーシング法、Ｚバッファ法等の技術が広く知られているので、本願と関連性が高い点を除いて説明を省略する。
【００１５】
サーバ装置３０は、３次元データ処理部３２と、フレーム画像生成部３４と、動き算出部３６と、圧縮部３８とを有する。３次元データ処理部３２は、３次元空間内でのオブジェクトの移動等のデータ処理を行う。３次元データ処理部３２は、一例として、３次元空間内におけるオブジェクトの位置、大きさ、形状、速度ベクトル（移動速度、移動方向を表わす情報）、テクスチャ等を表わす数値データの処理をしてよい。３次元データ処理部３２は、一例として、複数のクライアント装置２０からの指示に応じて、３次元空間内の複数のオブジェクトの位置、大きさ、形状、速度ベクトル（移動速度、移動方向を表わす情報）、テクスチャ等を表わす数値データを、同時に変更してよい。
【００１６】
フレーム画像生成部３４は、動画像の各フレームに応じた各時刻において３次元データ処理部３２により処理されている３次元空間内の各オブジェクトを、順次にスクリーンに投影して動画像を生成する。フレーム画像生成部３４は、一例として、クライアント装置２０等により設定された３次元空間内の視点および視野角に応じて、スクリーンの位置および大きさを設定してよい。また、フレーム画像生成部３４は、３次元データ処理部３２から、３次元空間内の各オブジェクトの位置、大きさ、形状、テクスチャ等を表わす数値データを受け、これらに応じてスクリーンに投影された画像を生成してよい。
【００１７】
動き算出部３６は、フレーム画像生成部３４により生成された動画像の各フレームの動きベクトルを算出する。動き算出部３６は、動画像の一画面（フレーム）を複数の領域に分割し、分割した複数の領域のそれぞれに対応付けて動きベクトルを算出する。動き算出部３６は、一例として、フレームを複数の矩形ブロックに分割し、分割した複数の矩形ブロックに対応付けて動きベクトルを算出してよい。
【００１８】
動きベクトルは、動画像中の圧縮対象となっている一のフレーム（圧縮対象フレーム）内の当該動きベクトルに対応付けられた領域の画像に近似する、現時点において圧縮対象ではない他のフレーム内の画像の位置を指定するベクトルである。なお、動きベクトルにより領域が指定される他のフレームは、圧縮対象フレームよりも時間的に前のフレームであっても、時間的に後のフレームであってもよい。また、１つの圧縮対象フレームに対して、時間的に前の他のフレームおよび時間的に後の他のフレームの双方向の動きベクトルが算出されてもよい。
【００１９】
さらに、動き算出部３６は、圧縮対象フレームに応じた時刻および他のフレームに応じた時刻の間におけるオブジェクトの３次元空間内での動きをスクリーンに投影して、オブジェクトのスクリーン内での動きベクトルを算出する。動き算出部３６は、一例として、スクリーンと各オブジェクトとの３次元空間内での相対的な動きを表わす３次元の動き情報を３次元データ処理部３２から取得して、取得した動き情報をスクリーン上での２次元の動きに変換することにより、動きベクトルを算出してよい。これにより、動き算出部３６は、例えば圧縮対象フレームと他のフレームとの画像相関を演算して動きベクトルを算出する場合と比較して、非常に少ない演算量で動きベクトルを算出することができる。
【００２０】
圧縮部３８は、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮する。すなわち、圧縮部３８は、フレーム画像生成部３４が生成した未圧縮の動画像を、動きベクトルに基づく動き補償を用いた動画像圧縮方式によりフレーム毎に圧縮する。圧縮部３８は、一例として、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４等の動画像圧縮方式を用いて、圧縮部３８が出力した動画像データを圧縮して圧縮画像データを生成してよい。そして、圧縮部３８は、生成した圧縮画像データをクライアント装置２０に送信する。
【００２１】
以上のように、情報提供システム１０は、オブジェクトの３次元空間内での動きをスクリーンに投影して、オブジェクトのスクリーン内での動きベクトルを算出する。これにより、情報提供システム１０によれば、精度良い動きベクトルを少ない演算量で算出することができる。
【００２２】
図２は、本実施形態に係るサーバ装置３０の構成の一例を示す。なお、図２において、３次元データ処理部３２の図示は省略する。
【００２３】
フレーム画像生成部３４は、一例として、頂点処理部４２と、ピクセル処理部４４とを含んでよい。頂点処理部４２は、３次元データ処理部３２において処理されている３次元空間内の各オブジェクトの頂点の位置（例えば、オブジェクトの表面位置）を表わす情報を受け取る。そして、頂点処理部４２は、受け取った頂点を表わす情報をスクリーンに投影して、スクリーン上におけるオブジェクトの頂点を表わす情報に変換する。これにより、頂点処理部４２は、３次元空間内のオブジェクトをスクリーンに投影した場合のオブジェクトの形状を算出することができる。なお、頂点処理部４２は、一例として、３次元空間内の複数のオブジェクトが視点から見て前後に重複している場合には、スクリーンに対して最も前面に位置するオブジェクトの頂点を選択して、スクリーンに投影された各オブジェクトの形状を算出してよい。
【００２４】
ピクセル処理部４４は、３次元データ処理部３２において処理されている３次元空間内の各オブジェクトのテクスチャを表わす情報を受け取る。ピクセル処理部４４は、頂点処理部４２により生成されたオブジェクトの形状に対して対応するテクスチャを割り当てて、各ピクセルのカラー情報を生成する。そして、頂点処理部４２およびピクセル処理部４４は、以上の処理をフレーム毎に実行する。このようにして、フレーム画像生成部３４は、各オブジェクトをスクリーンに投影した未圧縮の動画像を生成することができる。
【００２５】
動き算出部３６は、３次元データ処理部３２、頂点処理部４２およびピクセル処理部４４から情報を受けて、動きベクトルを算出する。動き算出部３６の詳細の動作フローについては、図３において説明する。
【００２６】
圧縮部３８は、一例として、残差算出部４６と、画像圧縮部４８と、動き補償部５０と、符号化部５２とを含んでよい。残差算出部４６は、圧縮対象フレームの、未圧縮画像が動き算出部３６から与えられる。また、残差算出部４６は、圧縮対象フレームの予測画像が動き補償部５０から与えられる。残差算出部４６は、圧縮対象フレームについて、未圧縮画像から予測画像を減じた差分画像（予測残差画像）を算出する。
【００２７】
画像圧縮部４８は、残差算出部４６により算出された差分画像を圧縮する。画像圧縮部４８は、一例として、ＤＣＴ変換および量子化処理により、差分画像を圧縮してよい。
【００２８】
動き補償部５０は、画像圧縮部４８により圧縮された差分画像を圧縮されていない差分画像（参照画像）に展開する。動き補償部５０は、一例として、逆量子化処理および逆ＤＣＴ変換により、圧縮された差分画像を非圧縮の差分画像に展開してよい。
【００２９】
動き補償部５０は、動きベクトルに基づく動き補償を行って、圧縮対象フレームの予測画像を生成する。すなわち、動き補償部５０は、圧縮対象フレームを複数に分割したそれぞれの領域（例えば矩形ブロック）の画像を、当該領域に対応付けられた動きベクトルにより指定された他のフレーム（参照画像）上の画像に基づき生成する。そして、動き補償部５０は、生成した予測画像を残差算出部４６に与える。
【００３０】
符号化部５２は、画像圧縮部４８により圧縮された差分画像、動き算出部３６により算出された動きベクトルおよびその他の制御データのそれぞれを可変長符号化する。そして、符号化部５２は、可変長符号化した差分画像、動きベクトルおよび制御データを多重化した圧縮画像データを生成する。
【００３１】
このような圧縮部３８は、動きベクトルに基づく動き補償を用いた動画像圧縮方式により、フレーム画像生成部３４により生成された未圧縮の動画像データを圧縮画像データに変換することができる。すなわち、圧縮部３８は、圧縮対象フレームに投影されたオブジェクトを含む領域の画像から、当該領域に対応付けられた動きベクトルにより指定される他のフレームにおける領域の画像を、減じた差分画像を圧縮することができる。
【００３２】
図３は、本実施形態に係る動き算出部３６の処理フローの一例を示す。動き算出部３６は、フレーム毎に、ステップＳ１１〜ステップＳ１５の処理を繰返し実行する。
【００３３】
まず、動き算出部３６は、圧縮対象フレームを複数の領域に分割する（Ｓ１１）。動き算出部３６は、一例として、４×４、４×８、８×８、１６×１６ピクセル等の矩形ブロックに分割してよい。
【００３４】
続いて、動き算出部３６は、分割した複数の領域のうち１つの領域を選択する（Ｓ１２）。続いて、動き算出部３６は、選択された領域に投影されたオブジェクトを特定して、特定したオブジェクトについての３次元空間内の動きを表わす動き情報（３次元空間内での速度ベクトル等）を取得する（Ｓ１３）。
【００３５】
続いて、動き算出部３６は、３次元の動き情報をスクリーン上の２次元座標系に投影して、スクリーン上での２次元の動きを表わす動きベクトルを算出する（Ｓ１４）。そして、動き算出部３６は、算出した動きベクトルを、選択された領域に対応付ける。なお、ここで、３次元空間内に複数のオブジェクトが存在する場合、動き算出部３６は、一例として、選択された領域に、当該領域に対して最も前面に位置するオブジェクトについて算出した動きベクトルを対応付けてよい。これにより、動き算出部３６は、視点から見て前後に複数のオブジェクトが重複している場合にも、スクリーン上に投影されるオブジェクトの動きを、動きベクトルに反映させることができる。
【００３６】
続いて、動き算出部３６は、全領域について、ステップＳ１２〜１４の処理を終えたか否かを判断する（Ｓ１５）。動き算出部３６は、全領域について処理を終えてない場合には（Ｓ１５のＮＯ）、処理をステップＳ１２に戻して次の領域について処理を実行する。そして、動き算出部３６は、全領域について処理を終えた場合には（Ｓ１５のＹＥＳ）、当該フレームについて処理を終了する。以上の処理により、動き算出部３６は、フレーム内の全ての領域についての動きベクトルを算出することができる。
【００３７】
図４は、３次元空間内での一のオブジェクト３００の動き、および、スクリーン２００上での当該一のオブジェクト３００の動きの一例を示す。図４に示される３次元空間内において、視点は、当該３次元空間の原点（（ｘ，ｙ，ｚ）＝（０，０，０））に設けられる。また、図４に示される３次元空間内において、スクリーン２００は、Ｚ軸に対して垂直であって、視点（原点）から所定距離（スクリーン距離Ｓ）離れた位置に設けられる。
【００３８】
また、オブジェクト３００は、圧縮対象フレームに応じた時刻において、３次元空間内における任意の座標（ｘ１，ｙ１，ｚ１）に位置する。また、オブジェクト３００は、圧縮対象フレームに応じた時刻において、任意の速度ベクトル（Ｖｘ１，Ｖｙ１，Ｖｚ１）で移動する。なお、Ｖｘ１は３次元空間内におけるＸ軸方向の速度を表わす。また、Ｖｙ１は３次元空間内におけるＹ軸方向の速度を表わす。また、Ｖｚ１は３次元空間内におけるＺ方向の速度を表わす。
【００３９】
このような場合において、フレーム画像生成部３４は、圧縮対象フレームに応じた時刻における、オブジェクト３００の３次元空間内における座標（ｘ１，ｙ１，ｚ１）を、３次元データ処理部３２から取得する。そして、フレーム画像生成部３４は、スクリーン２００上に投影されたスクリーン２００の座標（ｘ，ｙ）を、下記式（１）のように算出する。
（ｘ，ｙ）＝（（Ｓ／ｚ１）×ｘ１，（Ｓ／ｚ１）×ｙ１））  …（１）
【００４０】
このように、フレーム画像生成部３４は、スクリーン距離Ｓを視点からオブジェクト３００までのｚ軸上の距離ｚ１で割った値（Ｓ／ｚ１）を、オブジェクト３００のｘ座標（ｘ１）およびｙ座標（ｙ１）に乗じることにより、スクリーン２００上に投影されたオブジェクト３００の座標（ｘ，ｙ）を算出する。これにより、フレーム画像生成部３４は、オブジェクト３００をスクリーン２００に投影した画像を生成することができる。
【００４１】
また、このような場合において、動き算出部３６は、圧縮対象フレームに応じた時刻における、オブジェクト３００の３次元空間内における座標（ｘ１，ｙ１，ｚ１）および速度ベクトル（Ｖｘ１，Ｖｙ１，Ｖｚ１）を、３次元データ処理部３２から取得する。そして、動き算出部３６は、一例として、スクリーン２００上に投影されたオブジェクト３００の動きベクトルを、下記式（２）のように算出してよい。なお、式（２）において、ｄｔは、圧縮対象フレームと他のフレームとの間の時間差を表わす。
【００４２】
【数１】
0005039921.tif 000002
【００４３】
このように、動き算出部３６は、他のフレームに応じた時刻においてスクリーン２００に投影されたオブジェクト３００の当該スクリーン２００上の座標から、圧縮対象フレームに応じた時刻においてスクリーン２００に投影されたオブジェクト３００の当該スクリーン２００上の座標へ向かう動きベクトルを算出する。これにより、動き算出部３６は、オブジェクト３００の３次元空間内での動きをスクリーン２００に投影して、当該オブジェクト３００のスクリーン２００内での動きベクトルを算出することができる。
【００４４】
図５は、オブジェクトの識別情報を圧縮対象フレームのそれぞれの領域に対応付ける処理の一例を示す。３次元空間内に複数のオブジェクトが存在する場合において、フレーム画像生成部３４は、一例として、３次元空間内の複数のオブジェクトをスクリーン２００に投影して圧縮対象フレームを生成してよい。そして、フレーム画像生成部３４は、一例として、圧縮対象フレームの各ピクセルまたは各領域毎に、当該ピクセルまたは当該領域に対して最も前面に位置するオブジェクトの識別情報を対応付けてよい。
【００４５】
フレーム画像生成部３４は、一例として、図５に示されるような複数のオブジェクト３００−１、３００−２、３００−３のそれぞれの識別情報（Ａ，Ｂ，Ｃ）および頂点位置を表わす情報を、３次元データ処理部３２から取得する。続いて、フレーム画像生成部３４は、圧縮対象フレームの各ピクセルまたは各領域毎に、これら複数のオブジェクト３００−１、３００−２、３００−３のそれぞれの頂点位置を表わす情報に基づき、当該ピクセルまたは当該領域に対して最も前面に位置するオブジェクトを特定する。そして、フレーム画像生成部３４は、圧縮対象フレームの各ピクセルまたは各領域のそれぞれに対して、特定したオブジェクトの識別情報（Ａ，Ｂ，Ｃ）を対応付ける。
【００４６】
動き算出部３６は、圧縮対象フレームの各領域の動きベクトルを算出する場合に、当該領域または当該領域内の各ピクセルに対応付けられた識別情報から当該領域に投影されたオブジェクトを特定する。そして、動き算出部３６は、特定されたオブジェクトの３次元空間内での動きをスクリーン２００に投影して動きベクトルを算出する。これにより、動き算出部３６は、視点から見て前後に複数のオブジェクトが重複している場合に、スクリーン上に投影されるオブジェクトの動きを、動きベクトルに反映させることができる。
【００４７】
図６は、オブジェクトの動きを圧縮対象フレームのそれぞれの領域に対応付ける処理の一例を示す。３次元空間内の複数のオブジェクトをスクリーン２００に投影して圧縮対象フレームを生成する場合、フレーム画像生成部３４は、一例として、圧縮対象フレームの各ピクセルまたは各領域毎に、当該ピクセルまたは当該領域に対して最も前面に位置するオブジェクトの３次元空間内での動きを対応付けてもよい。フレーム画像生成部３４は、一例として、オブジェクトの速度ベクトル等を、オブジェクトの３次元空間内での動きとして、ピクセルまたは領域に対応付けてよい。
【００４８】
フレーム画像生成部３４は、一例として、図６に示されるような複数のオブジェクト３００−１、３００−２、３００−３のそれぞれの動き情報（ＭＡ、ＭＢ、ＭＣ）および頂点位置を表わす情報を、３次元データ処理部３２から取得する。続いて、フレーム画像生成部３４は、複数のオブジェクト３００−１、３００−２、３００−３のそれぞれの頂点位置を表わす情報から、圧縮対象フレームの各ピクセルまたは各領域毎に、当該ピクセルまたは当該領域に対して最も前面に位置するオブジェクトを特定する。そして、フレーム画像生成部３４は、圧縮対象フレームの各ピクセルまたは各領域のそれぞれに対して、特定したオブジェクトの動き情報（ＭＡ、ＭＢ、ＭＣ）を対応付ける。
【００４９】
動き算出部３６は、圧縮対象フレームの各領域の動きベクトルを算出する場合に、当該領域または当該領域内の各ピクセルに対応付けられた３次元空間内での動きをスクリーン２００に投影して動きベクトルを算出する。これにより、動き算出部３６は、視点から見て前後に複数のオブジェクトが重複している場合に、スクリーン上に投影されるオブジェクトの動きを、動きベクトルに反映させることができる。
【００５０】
図７は、本実施形態の第１変形例に係るサーバ装置３０の構成を示す。図８は、動きベクトルの調整の一例を示す。なお、図７において、３次元データ処理部３２の図示は省略する。また、本変形例に係る情報提供システム１０は、図１〜図４を参照して説明した本実施形態に係る情報提供システム１０と略同一の構成および機能を採るので、図１〜図４を参照して説明した部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。なお、図８において、動きベクトルは、他のフレームから圧縮対象フレームに向かう方向に表わされるが、圧縮方式に応じて逆方向に表わされるものであってもよい。
【００５１】
本変形例に係るサーバ装置３０は、調整部６０を更に有する。調整部６０は、動き算出部３６により算出された動きベクトルを受け取る。調整部６０は、圧縮対象フレームに投影されたオブジェクトを含む領域の画像と、他のフレームにおける動きベクトルにより指定される領域の画像とをより一致させるように動きベクトルを調整する。そして、調整部６０は、調整後の動きベクトルを圧縮部３８に与える。
【００５２】
調整部６０は、一例として、圧縮対象フレームに投影されたオブジェクトを含む領域（例えば矩形ブロック）の画像と、他のフレームにおける動きベクトルにより指定される領域（例えば矩形ブロック）を予め定められたピクセル数の範囲でずらした各領域の画像とを比較する。調整部６０は、一例として、圧縮対象フレームの各領域に対応付けられた各動きベクトルについて、圧縮対象フレームにおける対応する領域の画像と、当該動きベクトルにより指定される他のフレームの領域を左右および上下に数ピクセルの範囲でずらした複数の領域の画像のそれぞれとの一致度を算出する。なお、調整部６０は、当該動きベクトルにより指定される他のフレームの領域を、１ピクセル単位でずらしてもよいし、０．５ピクセル等の１ピクセル未満の単位でずらしてもよい。そして、調整部６０は、画像が最も一致する他のフレーム上の領域を指定するように動きベクトルを変更する。
【００５３】
これにより、本変形例に係る調整部６０によれば、より精度の良い動きベクトルを圧縮部３８に与えることができる。さらに、調整部６０は、動き算出部３６によって精度の良い動きベクトルが既に算出されているので、他のフレーム上において領域をずらす範囲を少なくすることができる。従って、本変形例に係るサーバ装置３０によれば、少ない演算量で、より精度の良い動きベクトルを算出することができる。
【００５４】
図９は、本実施形態の第２変形例に係るサーバ装置３０の構成を示す。なお、図９において、３次元データ処理部３２の図示は省略する。また、本変形例に係る情報提供システム１０は、図１〜図４を参照して説明した本実施形態に係る情報提供システム１０と略同一の構成および機能を採るので、図１〜図４を参照して説明した部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００５５】
本変形例に係る圧縮部３８は、形状符号化部６２を更に含む。また、本変形例に係るサーバ装置３０は、形状算出部６４と、選択部６６とを更に有する。
【００５６】
形状符号化部６２は、圧縮対象フレームの形状を示す形状情報を生成する。例えばＭＰＥＧ−４等の動画像圧縮方式では、矩形画像に代えて、任意形状の画像を圧縮符号化することができる。形状符号化部６２は、当該圧縮部３８が任意形状の画像を圧縮符号化する方式の場合において、画像の形状を表わす形状情報を生成することができる。
【００５７】
本変形例に係る符号化部５２は、画像圧縮部４８により圧縮された差分画像、動きベクトルおよび制御データに加えて、形状符号化部６２により生成された形状情報を可変長符号化する。そして、符号化部５２は、可変長符号化された差分画像、動きベクトル、制御データおよび形状情報を多重化した圧縮画像データを出力する。これにより、圧縮部３８は、動きベクトルおよび形状に基づく動き補償により圧縮対象フレームを圧縮することができる。なお、圧縮部３８は、動きベクトルを利用した動き補償を行わずに、画像圧縮部４８による画像圧縮および形状符号化部６２による形状符号化を用いて画像圧縮を行ってもよい。
【００５８】
形状算出部６４は、圧縮対象フレームに応じた時刻におけるオブジェクトの３次元空間内での形状をスクリーンに投影して、スクリーン２００内に投影されたオブジェクトの形状を算出する。形状算出部６４は、一例として、３次元データ処理部３２において処理されている３次元空間内の各オブジェクトの頂点位置を表わす情報を受け取る。そして、形状算出部６４は、一例として、スクリーンに対して最も前面に位置するオブジェクトの頂点を選択することにより、スクリーンに投影された各オブジェクトの形状を算出してよい。
【００５９】
形状算出部６４は、算出した形状を形状符号化部６２に与える。そして、形状符号化部６２は、形状算出部６４から与えられた形状に基づき、圧縮対象フレームにより表わされる画像の形状を示す形状情報を生成する。これにより、形状符号化部６２によれば、少ない演算量で、任意形状の画像の形状を表わす形状情報を生成することができる。
【００６０】
図１０は、連続する複数のフレームに応じた各時刻における、回転するオブジェクト３００−４の姿勢を示す。第２変形例において、動き算出部３６は、圧縮対象フレームに応じた時刻、および複数の他のフレームのそれぞれに応じた時刻の間におけるオブジェクトの３次元空間内での動きをスクリーン２００に投影して、複数の他のフレームのそれぞれの領域を指定する複数の動きベクトルを算出する。
【００６１】
選択部６６は、動き算出部３６が算出した複数の動きベクトルにより指定される複数の他のフレームのうち、対応する動きベクトルにより指定される領域の画像が、圧縮対象フレームに投影されたオブジェクトを含む領域の画像と最も一致する他のフレームを選択する。選択部６６は、一例として、複数の他のフレームのそれぞれについて、対応する動きベクトルにより指定される領域の画像と、圧縮対象フレームの当該動きベクトルが対応付けられた領域の画像との一致度を算出する。そして、選択部６６は、最も一致度の高い他のフレームを選択する。
【００６２】
そして、本変形例において、圧縮部３８は、選択部６６が選択した他のフレームおよび当該他のフレームに対応する動きベクトルに基づく動き補償により圧縮対象フレームを圧縮する。このような、圧縮部３８は、圧縮対象フレームと最も相関の高いフレームを用いて、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮することができる。例えば図１０に示されるようにオブジェクト３００−４が回転している場合であっても、圧縮部３８は、最も相関の高いフレームを用いて、動きベクトルに基づく動き補償により圧縮対象フレームを圧縮することができる。これにより、圧縮部３８によれば、３次元空間内のオブジェクトをスクリーンに投影した動画像を、効率良く圧縮することができる。
【００６３】
また、以上に代えて、選択部６６は、一例として、動き算出部３６が算出した複数の動きベクトルにより指定される複数の他のフレームのうち、オブジェクトの向きが圧縮対象フレームにおけるオブジェクトの向きにより近い他のフレームを選択してもよい。すなわち、選択部６６は、動き算出部３６が算出した複数の動きベクトルにより指定される複数の他のフレームのうち、対応する時刻の３次元空間内におけるオブジェクトの姿勢が、圧縮対象フレームに応じた時刻におけるオブジェクトの３次元空間内における姿勢に、より近い他のフレームを選択してもよい。この場合も、圧縮部３８によれば、３次元空間内のオブジェクトをスクリーンに投影した動画像を、効率良く圧縮することができる。
【００６４】
図１１は、３次元空間内に設けられた複数のスクリーン２００（例えば、第１のスクリーン２００−１および第２のスクリーン２００−２）と、複数のスクリーン２００に投影される一のオブジェクト３００−５とを示す。当該情報提供システム１０は、３次元空間内の一のオブジェクト３００−５を複数のスクリーン２００（例えば第１のスクリーン２００−１および第１のスクリーン２００−２）のそれぞれに投影した複数の動画像のそれぞれを圧縮するものであってよい。情報提供システム１０は、一例として、異なる複数のクライアント装置２０により個別にスクリーン２００が設定され、これら複数のスクリーン２００のそれぞれに投影した複数の動画像を圧縮するものであってよい。
【００６５】
この場合において、動き算出部３６は、オブジェクト３００−５が第１のスクリーン２００−１および第２のスクリーン２００−２から予め指定された距離以上離れていることを条件として、当該オブジェクト３００−５の動きを第１のスクリーン２００−１に投影した動きベクトルを、第２のスクリーン２００−２における当該オブジェクト３００−５の動きベクトルとして共用してよい。動き算出部３６は、一例として、オブジェクト３００−５の３次元空間内における位置、第１のスクリーン２００−１および第２のスクリーン２００−２の位置を、３次元データ処理部３２から取得して、オブジェクト３００−５が第１のスクリーン２００−１および第２のスクリーン２００−２から予め指定された距離以上離れているか否かを判断してよい。このような動き算出部３６によれば、複数の動画像を圧縮する場合において、動きベクトルを算出するための演算量を少なくすることができる。
【００６６】
図１２は、他のフレームに応じた時刻においてスクリーン２００に投影された複数のオブジェクト３００（３００−６、３００−７）、および、圧縮対象フレームに応じた時刻においてスクリーン２００に投影された複数のオブジェクト３００（３００−６、３００−８〜３００−１０）を示す。スクリーンに投影されるオブジェクトの数は、時刻の経過に応じて変化する。従って、圧縮対象フレームに応じた時刻においてスクリーン２００に投影されているオブジェクトであっても、他のフレームに応じた時刻においてスクリーン２００に投影されていない場合がある。このような場合、圧縮部３８は、動きベクトルを用いずに圧縮する方が（すなわち、動きベクトルを用いた動き補償をせずに動画像を圧縮する方が）、圧縮後のデータ量をより小さくできうる。さらに、全く異なるシーンに遷移する場合に、フレーム間圧縮を行わない画像（例えば、ＭＰＥＧのＩピクチャ）を生成して、シーンの区切りを適切に示すことができる。
【００６７】
そこで、圧縮部３８は、一例として、圧縮対象フレーム中に投影される複数のオブジェクトのうち、予め定められた数未満のオブジェクトのみが他のフレーム中にも投影されていることを条件として、動き補償を用いずに圧縮対象フレームを圧縮してよい。ここで、予め定められた数は、一例として、圧縮対象フレーム中に投影される複数のオブジェクトの数と比較して小さい数であってよい。これにより、圧縮部３８は、３次元空間内のオブジェクトをスクリーンに投影した動画像を、効率良く圧縮することができる。
【００６８】
図１３は、本実施形態の第３変形例に係る情報提供システム１０の構成を示す。本変形例に係る情報提供システム１０は、図１〜図４を参照して説明した本実施形態に係る情報提供システム１０と略同一の構成および機能を採るので、図１〜図４を参照して説明した部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００６９】
本変形例に係る情報提供システム１０は、プロキシサーバ装置７０を更に備えてよい。プロキシサーバ装置７０は、プロキシサーバ内３次元データ処理部７２と、フレーム画像生成部３４と、動き算出部３６と、圧縮部３８とを有する。プロキシサーバ内３次元データ処理部７２は、３次元空間内におけるオブジェクトの位置、大きさ、形状、速度ベクトル、テクスチャ等を表わす数値データをサーバ装置３０の３次元データ処理部３２から受け、フレーム画像生成部３４および動き算出部３６に受け渡す。
【００７０】
このような、プロキシサーバ装置７０は、サーバ装置３０に代わって、スクリーンに対して相対的に移動するオブジェクトを、スクリーンに投影した動画像を生成し、生成した動画像を圧縮した圧縮画像データを生成する処理を実行する。そして、プロキシサーバ装置７０は、生成した圧縮画像データを、サーバ装置３０に代わってクライアント装置２０に対して送信する。
【００７１】
このような情報提供システム１０によれば、サーバ装置３０の処理負担を軽減することができる。また、このような情報提供システム１０によれば、例えば携帯電話会社がプロキシサーバ装置７０を提供することにより、圧縮画像データを携帯電話回線を介してクライアント装置２０に提供することができる。
【００７２】
図１４は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００７３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７４】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００７５】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラムや、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００７６】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７７】
コンピュータ１９００にインストールされ、コンピュータ１９００をサーバ装置３０として機能させるプログラムは、３次元データ処理モジュールと、フレーム画像生成モジュールと、動き算出モジュールと、圧縮モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、３次元データ処理部３２、フレーム画像生成部３４、動き算出部３６および圧縮部３８としてそれぞれ機能させる。
【００７８】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤやＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００７９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００８０】
【図１】図１は、本実施形態に係る情報提供システム１０の構成を示す。
【図２】図２は、本実施形態に係るサーバ装置３０の構成の一例を示す。
【図３】図３は、本実施形態に係る動き算出部３６の処理フローの一例を示す。
【図４】図４は、３次元空間内での一のオブジェクト３００の動き、および、スクリーン２００上での当該一のオブジェクト３００の動きの一例を示す。
【図５】図５は、オブジェクトの識別情報を圧縮対象フレームのそれぞれの領域に対応付ける処理の一例を示す。
【図６】図６は、オブジェクトの動きを圧縮対象フレームのそれぞれの領域に対応付ける処理の一例を示す。
【図７】図７は、本実施形態の第１変形例に係るサーバ装置３０の構成を示す。
【図８】図８は、動きベクトルの調整の一例を示す。
【図９】図９は、本実施形態の第２変形例に係るサーバ装置３０の構成を示す。
【図１０】図１０は、連続する複数のフレームに応じた各時刻における、回転するオブジェクト３００−４の姿勢を示す。
【図１１】図１１は、３次元空間内に設けられた複数のスクリーン２００（例えば、第１のスクリーン２００−１および第２のスクリーン２００−２）と、複数のスクリーン２００に投影される一のオブジェクト３００−５とを示す。
【図１２】図１２は、他のフレームに応じた時刻においてスクリーン２００に投影された複数のオブジェクト３００（３００−６、３００−７）、および、圧縮対象フレームに応じた時刻においてスクリーン２００に投影された複数のオブジェクト３００（３００−６、３００−８〜３００−１０）を示す。
【図１３】図１３は、本実施形態の第３変形例に係る情報提供システム１０の構成を示す。
【図１４】図１４は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【符号の説明】
【００８１】
１０  情報提供システム
２０  クライアント装置
２２  入力部
２４  展開部
２６  表示部
３０  サーバ装置
３２  ３次元データ処理部
３４  フレーム画像生成部
３６  動き算出部
３８  圧縮部
４２  頂点処理部
４４  ピクセル処理部
４６  残差算出部
４８  画像圧縮部
５０  動き補償部
５２  符号化部
６０  調整部
６２  形状符号化部
６４  形状算出部
６６  選択部
７０  プロキシサーバ装置
７２  プロキシサーバ内３次元データ処理部
２００  スクリーン
３００  オブジェクト
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
0005039921.tif 000003
【図２】
0005039921.tif 000004
【図３】
0005039921.tif 000005
【図４】
0005039921.tif 000006
【図５】
0005039921.tif 000007
【図６】
0005039921.tif 000008
【図７】
0005039921.tif 000009
【図８】
0005039921.tif 000010
【図９】
0005039921.tif 000011
【図１０】
0005039921.tif 000012
【図１１】
0005039921.tif 000013
【図１２】
0005039921.tif 000014
【図１３】
0005039921.tif 000015
【図１４】
0005039921.tif 000016