(57)【特許請求の範囲】
【請求項１】
描画する画面を決定する視点情報を順次取得する取得手段と、
前記取得手段により取得された前記視点情報を用いて、少なくとも２段階の描画処理により提供画面を描画する描画手段であって、前段の描画処理において、後段の描画処理において参照される特定のチャネルの中間値マップを生成し、前記後段の描画処理において該中間値マップを参照して前記提供画面を描画する描画手段と、
第１の画面の前記後段の描画処理の実行中に、前記第１の画面について生成された少なくとも１つのチャネルの中間値マップを取得し、複数のブロックに分割する分割手段と、
前記複数のブロックの各々について、前記第１の画面よりも前に描画された第２の画面について生成された同一のチャネルの中間値マップにおける該ブロックに対応する領域を特定する特定手段と、
前記第１の画面の前記後段の描画処理の終了後、前記複数のブロックのうち、前記特定手段により特定された前記対応する領域との類似度が閾値以上であるブロックについては、前記第１の画面の該ブロックの画像と前記第２の画面の前記対応する領域の画像との間でフレーム間符号化を行い、前記特定手段により特定された前記対応する領域との類似度が閾値未満であるブロックについては、前記第１の画面の該ブロックの画像をフレーム内符号化を行うことで、符号化動画データを生成する符号化手段と、
外部装置に対してデータの送信を行う送信手段と、を有し、
前記送信手段は、
前記符号化手段による前記第１の画面の各ブロックの符号化動画データの生成が完了する前に、前記複数のブロックのうち、前記対応する領域との類似度が閾値以上であるブロックについて、該ブロック及び該ブロックについての前記対応する領域を特定する特定情報を前記外部装置に送信し、
前記符号化手段による前記第１の画面の各ブロックの符号化動画データの生成が完了した後に該符号化動画データを前記外部装置に送信する
ことを特徴とする動画配信サーバ。
【請求項２】
前記少なくとも１つのチャネルの中間値マップは、散乱マップ、深度マップ、反射マップ、拡散マップの少なくともいずれかであることを特徴とする請求項１に記載の動画配信サーバ。
【請求項３】
前記特定手段は、前記複数のブロックの各々について、前記第２の画面における類似度が最大となる領域を、前記対応する領域として特定することを特徴とする請求項１または２に記載の動画配信サーバ。
【請求項４】
前記特定手段は、
前記複数のブロックの各々について、前記第１の画面の描画に用いられた第１の視点情報と前記第１の画面について生成された深度マップとに基づいて、該ブロックの頂点に描画されている描画オブジェクトの３次元座標を算出する第１の算出手段と、
前記複数のブロックの各々について、前記第２の画面の描画に用いられた第２の視点情報を用いて、前記第１の算出手段により算出された３次元座標を前記第２の画面におけるスクリーン座標に変換し、前記対応する領域を特定する変換手段と、
を含むことを特徴とする請求項２に記載の動画配信サーバ。
【請求項５】
動画配信サーバの取得手段が、描画する画面を決定する視点情報を順次取得する取得工程と、
前記動画配信サーバの描画手段が、前記取得工程において取得された前記視点情報を用いて、少なくとも２段階の描画処理により提供画面を描画する描画手段であって、前段の描画処理において、後段の描画処理において参照される特定のチャネルの中間値マップを生成し、前記後段の描画処理において該中間値マップを参照して前記提供画面を描画する描画工程と、
前記動画配信サーバの分割手段が、第１の画面の前記後段の描画処理の実行中に、前記第１の画面について生成された少なくとも１つのチャネルの中間値マップを取得し、複数のブロックに分割する分割工程と、
前記動画配信サーバの特定手段が、前記複数のブロックの各々について、前記第１の画面よりも前に描画された第２の画面について生成された同一のチャネルの中間値マップにおける該ブロックに対応する領域を特定する特定工程と、
前記動画配信サーバの符号化手段が、前記第１の画面の前記後段の描画処理の終了後、前記複数のブロックのうち、前記特定工程において特定された前記対応する領域との類似度が閾値以上であるブロックについては、前記第１の画面の該ブロックの画像と前記第２の画面の前記対応する領域の画像との間でフレーム間符号化を行い、前記特定工程において特定された前記対応する領域との類似度が閾値未満であるブロックについては、前記第１の画面の該ブロックの画像をフレーム内符号化を行うことで、符号化動画データを生成する符号化工程と、
前記動画配信サーバの送信手段が、外部装置に対してデータの送信を行う送信工程と、を有し、
前記送信手段は前記送信工程において、
前記符号化工程における前記第１の画面の各ブロックの符号化動画データの生成が完了する前に、前記複数のブロックのうち、前記対応する領域との類似度が閾値以上であるブロックについて、該ブロック及び該ブロックについての前記対応する領域を特定する特定情報を前記外部装置に送信し、
前記符号化工程における前記第１の画面の各ブロックの符号化動画データの生成が完了した後に該符号化動画データを前記外部装置に送信する
ことを特徴とする動画配信サーバの制御方法。
【請求項６】
コンピュータを、請求項１乃至４のいずれか１項に記載の動画配信サーバの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体に関し、特に符号化動画データのストリーミング配信技術に関する。
【背景技術】
【０００２】
ネットワーク接続可能なパーソナルコンピュータ（ＰＣ）等のクライアント機器が普及している。このような機器の普及により、インターネットにおけるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インターネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメントサービスも提供されている。
【０００３】
ネットワークユーザに対するサービスの１つとして、ＭＭＯＲＰＧ（Massively Multiplayer Online Role-Playing Game）等の多人数同時参加型のネットワークゲームがある。多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント機器を、ゲームを提供するサーバ機器に接続することで、該サーバ機器に接続されているクライアント機器を使用するユーザとの対戦プレイや協力プレイを行うことができる。
【０００４】
一般的な多人数参加型のネットワークゲームでは、クライアント機器はサーバ機器との間でゲームの描画に必要なデータの送受信を行う。クライアント機器は、受信した描画に必要なデータを用いて描画処理を実行し、生成したゲーム画面をクライアント機器に接続された表示装置に提示することで、ユーザにゲーム画面を提供する。また、ユーザが入力インタフェースを操作することで入力された情報はサーバ機器に送信され、サーバ機器における演算処理に使用されたり、サーバ機器に接続された他のクライアント機器に伝送されたりする。
【０００５】
しかしながら、このようなクライアント機器で描画処理を行うネットワークゲームの中には、十分な描画性能を有するＰＣや専用のゲーム機をユーザが使用することが必要となるものがある。このため、ネットワークゲーム（１コンテンツ）のユーザ数は、コンテンツが要求するクライアント機器の性能に依存してしまう。高性能の機器は当然高価であり、該機器を所有できるユーザも限られる。即ち、例えば美麗なグラフィックを提供するゲーム等の高い描画性能が要求されるゲームでは、ユーザ数を増加させることが困難である。
【０００６】
これに対し、近年ではクライアント機器の描画性能等の処理能力に依存せずに、ユーザがプレイ可能なゲームも提供されている。特許文献１のようなゲームでは、サーバ機器はクライアント機器においてなされた操作の情報を取得し、該情報を用いて描画処理を実行して得られたゲーム画面を、クライアント機器に対して提供している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２００９／１３８８７８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１のようなゲームでは、サーバ機器がクライアント機器に対して提供するゲーム画面は、送信する情報量を削減するために、符号化された動画データの形態で提供される。採用される符号化方式にも依るが、例えばＭＰＥＧ規格のように一般的な動画符号化方式においては、１フレームの画像を分割した各ブロックについて動き補償を伴わないイントラ符号化（フレーム内符号化）、あるいはフレーム間予測による動き補償を伴うインター符号化（フレーム間符号化）が行われる。それぞれの符号化方式には圧縮効率のよい被写体が存在しており、一般的には各ブロックについてイントラ符号化及びインター符号化のそれぞれを行ったブロック（iblock、pblock）を生成し、圧縮効率が高いブロックを符号化データに含める。
【０００９】
イントラ符号化は、圧縮対象のブロックの画像を加工せずにＤＣＴ変換及びランレングス符号化等を適用して圧縮する。一方、インター符号化は、圧縮対象のブロックの画像と、前のフレームの画像から抽出した該ブロックに対応する参照画像との差分画像を生成して、ＤＣＴ変換及びランレングス符号化等を適用して圧縮する。このため、インター符号化においては、前のフレームの画像について、圧縮対象のブロックの画像との相関が最も高い領域を特定する処理が含まれる。このような相関が最も高い領域の検出に係る処理は、前のフレームの画像について評価領域を移動させながら、圧縮対象のブロックの画像との類似度及び距離を算出して解析を行うため、解析処理に時間を要してしまうことがある。
【００１０】
特に、ユーザの入力に応じてインタラクティブに描画内容が変化するゲーム等では、リアルタイム性、即ち入力に対する高速なレスポンスが要求され、動画符号化処理に要する時間が制限される。このような場合、各ブロックについての符号化処理、及びイントラ符号化及びインター符号化のいずれを行うかの判断処理を高速に行うことが要求される。しかしながら、描画した画面を高速かつ効率的に動画符号化する具体的な方法については、これまで開示されていなかった。
【００１１】
本発明は、上述の問題点に鑑みてなされたものであり、描画処理により得られた画面を高速かつ効率的に動画符号化する動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前述の目的を達成するために、本発明の動画配信サーバは、以下の構成を備える。
描画する画面を決定する視点情報を順次取得する取得手段と、取得手段により取得された視点情報を用いて、少なくとも２段階の描画処理により提供画面を描画する描画手段であって、前段の描画処理において、後段の描画処理において参照される特定のチャネルの中間値マップを生成し、後段の描画処理において該中間値マップを参照して提供画面を描画する描画手段と、第１の画面の後段の描画処理の実行中に、第１の画面について生成された少なくとも１つのチャネルの中間値マップを取得し、複数のブロックに分割する分割手段と、複数のブロックの各々について、第１の画面よりも前に描画された第２の画面について生成された同一のチャネルの中間値マップにおける該ブロックに対応する領域を特定する特定手段と、第１の画面の後段の描画処理の終了後、複数のブロックのうち、特定手段により特定された対応する領域との類似度が閾値以上であるブロックについては、第１の画面の該ブロックの画像と第２の画面の対応する領域の画像との間でフレーム間符号化を行い、特定手段により特定された対応する領域との類似度が閾値未満であるブロックについては、第１の画面の該ブロックの画像をフレーム内符号化を行うことで、符号化動画データを生成する符号化手段と、外部装置に対してデータの送信を行う送信手段と、を有し、送信手段は、符号化手段による第１の画面の各ブロックの符号化動画データの生成が完了する前に、複数のブロックのうち、対応する領域との類似度が閾値以上であるブロックについて、該ブロック及び該ブロックについての前記対応する領域を特定する特定情報を外部装置に送信し、符号化手段による第１の画面の各ブロックの符号化動画データの生成が完了した後に該符号化動画データを外部装置に送信することを特徴とする。
【００１３】
前述の目的を達成するために、本発明の動画再生装置は、以下の構成を備える。
１フレームの画面が符号化された符号化動画データを動画配信サーバから順次取得し、復号して再生する動画再生装置であって、第１の画面が符号化された第１の符号化動画データについて、フレーム間符号化が行われたブロック及び該ブロックの復号に用いられる参照データを特定する特定情報を受信する第１の受信手段と、第１の受信手段により受信された特定情報及び動きベクトルに基づいて、第１の符号化動画データの復号に用いられる、フレーム間符号化が行われた各ブロックについての参照データを、第１の符号化動画データよりも前に取得された第２の符号化動画データを復号して得られた第２の画面から生成する復号前処理手段と、第１の符号化動画データを動画配信サーバから受信する第２の受信手段と、第２の受信手段により受信された第１の符号化動画データを、復号前処理手段により生成されたフレーム間符号化が行われた各ブロックについての参照データを用いて復号して再生する復号手段と、を有することを特徴とする。
【発明の効果】
【００１４】
このような構成により本発明によれば、描画処理により得られた画面を高速かつ効率的に動画符号化することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る動画配信システムのシステム構成を示した図。
【図２】本発明の実施形態に係るＰＣ１００の機能構成を示したブロック図。
【図３】本発明の実施形態に係る動画配信サーバ２００の機能構成を示したブロック図。
【図４】本発明の実施形態に係る動画配信サーバ２００の動画配信処理を例示したフローチャート。
【図５】本発明の実施形態に係る描画オブジェクトのデータ構造を例示した図。
【図６】本発明の実施形態に係る動画配信サーバ２００の符号化処理を例示したフローチャート。
【図７】本発明の実施形態に係るＰＣ１００の動画再生処理を例示したフローチャート。
【図８】本発明の実施形態に係るＰＣ１００の復号前処理を例示したフローチャート。
【図９】本発明の実施形態に係る動画配信システムの全体処理を例示したフローチャート。
【図１０】本発明の変形例に係る動画配信サーバ２００の動画配信処理を例示したフローチャート。
【図１１】本発明の変形例に係る最も相関が高いと思われる領域の推定方法を説明するための図。
【発明を実施するための形態】
【００１６】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、動画配信システムの一例としての、動画再生装置であるＰＣ１００と動画配信サーバ２００とに本発明を適用した例を説明する。
【００１７】
＜動画配信システムの構成＞
図１は、本発明の実施形態に係る動画配信システムのシステム構成を示す図である。
【００１８】
図示されるように、ＰＣ１００と動画配信サーバ２００とはインターネット等のネットワーク３００を介して接続されている。本実施形態ではＰＣ１００は、動画配信コンテンツの一例として、動画配信サーバ２００において実行されるゲームコンテンツに係るゲーム画面を、符号化動画データとして受信する。本実施形態では動画配信サーバ２００は、ＰＣ１００においてなされた操作（ユーザ入力）を受信し、該操作に応じたゲーム画面を１フレームごとに描画する。そして動画配信サーバ２００は、描画したゲーム画面を符号化し、得られた符号化動画データをＰＣ１００に配信する。またＰＣ１００は、動画配信サーバ２００から符号化動画データを受信すると、該符号化動画データを復号して再生することで、ユーザに対してゲーム画面を提供することができる。
【００１９】
なお、本実施形態では動画配信コンテンツの一例として、ネットワーク３００上の動画配信サーバ２００において実行されるゲームプログラムにより描画されたゲーム画面を提供するコンテンツを説明するが、本発明の実施はこれに限られるものではない。動画配信サーバ２００は、配信先に提供する動画配信コンテンツの１フレームを描画処理により描画し、各フレームについて行われた符号化処理により得られた符号化動画データを配信する構成であればよい。また、１フレームに係る画面の描画は、必ずしも動画配信サーバ２００において実行される必要はなく、例えば外部の描画サーバにより実行されてもよい。
【００２０】
また、本実施形態では動画配信サーバ２００に接続するクライアント機器として、ＰＣ１００を用いて説明するが、本発明の実施はこれに限られるものではない。例えば動画配信サーバ２００と接続するクライアント機器は、家庭用ゲーム機、携帯ゲーム機、携帯電話、ＰＤＡ、タブレット等の、動画配信サーバ２００から受信した符号化動画データを復号して再生可能な機器であればよい。
【００２１】
＜ＰＣ１００の構成＞
図２は、本発明の実施形態に係るＰＣ１００の機能構成を示すブロック図である。
【００２２】
ＣＰＵ１０１は、ＰＣ１００が有する各ブロックの動作を制御する。具体的にはＣＰＵ１０１は、例えばＲＯＭ１０２に記録されている動画再生処理の動作プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより、各ブロックの動作を制御する。
【００２３】
ＲＯＭ１０２は、例えば書き換え可能な不揮発性メモリである。ＲＯＭ１０２は、動画再生処理等の動作プログラムに加え、ＰＣ１００が有する各ブロックの動作に必要な定数等の情報を記憶する。
【００２４】
ＲＡＭ１０３は、揮発性メモリである。ＲＡＭ１０３は、動作プログラムの展開領域としてだけでなく、ＰＣ１００が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【００２５】
復号部１０４は、後述する通信部１０５が受信した符号化動画データについて復号処理を行い、１フレームに係るゲーム画面を生成する。また復号部１０４は、符号化動画データについての復号処理を行う前に、該復号処理に用いる参照データを準備する復号前処理を行う。復号部１０４において実行される復号前処理及び復号処理については、後述する動画再生処理において詳述する。
【００２６】
通信部１０５は、ＰＣ１００が有する通信インタフェースである。通信部１０５は、ネットワーク３００を介して接続した、動画配信サーバ２００等の他の機器との間におけるデータ送受信を行う。データ送信時には通信部１０５は、ネットワーク３００あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の機器へのデータ送信を行う。またデータ受信時には通信部１０５は、ネットワーク３００を介して受信したデータを、ＰＣ１００において読み取り可能な任意のデータ形式に変換し、例えばＲＡＭ１０３に記憶させる。
【００２７】
なお、本実施形態ではＰＣ１００と動画配信サーバ２００とは、ネットワーク３００を介して接続されるものとして説明するが、例えばＰＣ１００と動画配信サーバ２００とが直接ケーブルにより接続される形態であってもよいことは容易に想像されよう。
【００２８】
表示部１０６は、例えばＬＣＤモニタ等のＰＣ１００に接続された表示装置である。表示部１０６は、入力されたゲーム画面を表示領域に表示する表示制御を行う。なお、表示部１０６は、ラップトップＰＣのようにＰＣ１００に内蔵される表示装置であってもよいし、ケーブルを用いてＰＣ１００に外部接続された表示装置であってもよい。
【００２９】
操作入力部１０７は、例えばマウス、キーボード、ゲームパッド等のＰＣ１００が有するユーザインタフェースである。操作入力部１０７は、ユーザによりユーザインタフェースの操作がなされたことを検出すると、該操作に対応する制御信号をＣＰＵ１０１に対して出力する。
【００３０】
＜動画配信サーバ２００の構成＞
図３は、本発明の実施形態に係る動画配信サーバ２００の機能構成を示すブロック図である。
【００３１】
サーバＣＰＵ２０１は、動画配信サーバ２００が有する各ブロックの動作を制御する。具体的にはサーバＣＰＵ２０１は、例えばサーバＲＯＭ２０２に記憶されている動画配信処理の動作プログラムを読み出し、サーバＲＡＭ２０３に展開して実行することにより、各ブロックの動作を制御する。
【００３２】
サーバＲＯＭ２０２は、例えば書き換え可能な不揮発性メモリである。サーバＲＯＭ２０２は、動画配信処理等の動作プログラムに加え、動画配信サーバ２００が有する各ブロックの動作において必要となる定数等の情報を記憶する。
【００３３】
サーバＲＡＭ２０３は、揮発性メモリである。サーバＲＡＭ２０３は、動作プログラムの展開領域としてだけでなく、動画配信サーバ２００が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【００３４】
サーバＧＰＵ２０４は、ＰＣ１００の表示部１０６に表示するゲーム画面の生成を行う。サーバＧＰＵ２０４には、サーバＶＲＡＭ２０５が接続される。サーバＧＰＵ２０４は、サーバＣＰＵ２０１より描画命令及びゲーム画面の描画に用いるカメラの位置及び方向の情報（視点情報）を受信すると、該描画命令に係る描画オブジェクトを例えば後述するサーバ記録媒体２０７から読み出し、ＧＰＵメモリに格納する。サーバＧＰＵ２０４は、接続されたサーバＶＲＡＭ２０５に対して描画を行う場合、描画オブジェクトのキャッシュメモリへの展開を行なった後、該展開後の描画オブジェクトをサーバＶＲＡＭ２０５に書き込む。
【００３５】
なお、本実施形態のサーバＧＰＵ２０４は、ゲーム画面の生成に係る描画処理において、所謂遅延レンダリング（Deferred Rendering）という手法を用いる。
【００３６】
従来の描画手法は、ゲーム画面に含まれる描画オブジェクトの各々を順番に選択し、該描画オブジェクトについて
１．バーテックスシェーダによる移動・回転処理
２．ジオメトリシェーダによる頂点処理
３．ピクセルシェーダによるピクセル単位の陰影処理を含むエフェクト処理
を行って描画する。即ち、各描画オブジェクトについて、陰影処理→描画の流れを有する、所謂Forward Renderingであった。Forward Renderingでは、各オブジェクトが逐次処理されるために、ピクセルによっては１つのオブジェクトが描画された後、よりカメラに対して近い位置にある（該オブジェクトよりも手前にある）別のオブジェクトの描画により、描画内容が上書きされてしまうケースがある。この場合、後から描画されたオブジェクトにより遮蔽される、先に描画されたオブジェクトの一部の領域については、適用した陰影処理が無駄になってしまう。また例えば描画するシーンに存在する光源等は、シーンに存在するオブジェクトに対して共通であるが、Forward Renderingでは１つのオブジェクトを描画する際の共通の計算内容を、別のオブジェクトの描画のために再利用することが難しかった。このため、特に複雑な陰影処理を行うゲーム画面の描画においては、Forward Renderingは効率的ではなかった。
【００３７】
これに対しDeferred Renderingでは、Forward Renderingとは異なり、陰影処理に用いるジオメトリの計算を先に行い、全ての描画オブジェクトについての陰影処理を、後からまとめて行う。即ち、ジオメトリ描画→陰影処理→描画の流れを有する２段階の描画処理を行う。Deferred Renderingでは、前段の描画において、ライティングを行わずに陰影処理に用いるパラメータとともにジオメトリの描画処理を行い、陰影処理で使用される中間値を示す複数の中間値マップ（散乱マップ、深度マップ、法線マップ、反射マップ、拡散マップ等）を生成する。そして後段の描画処理において、生成された複数の中間値マップを利用しながら、光源を適用して陰影処理を行なった画面を描画する。
【００３８】
サーバ符号化部２０６は、サーバＧＰＵ２０４によりサーバＶＲＡＭ２０５に生成されたゲーム画面に対する符号化処理を行う。サーバ符号化部２０６は、符号化対象のゲーム画面をブロックに分割し、各ブロックをイントラ符号化（フレーム内符号化）あるいはインター符号化（フレーム間符号化）する。符号化処理の詳細は後述するが、本実施形態ではサーバ符号化部２０６は、各ブロックをＹＣｂＣｒの色チャネルごとに離散コサイン変換（ＤＣＴ）した後、ランレングス符号化により圧縮する。なお、本実施形態ではゲーム画面に対する符号化処理を行うブロックとしてサーバ符号化部２０６が単体で存在するものとして説明するが、符号化処理はサーバＧＰＵ２０４が実行してもよい。
【００３９】
サーバ記録媒体２０７は、例えばＨＤＤ等の、動画配信サーバ２００に着脱可能に接続される記録装置である。本実施形態ではサーバ記録媒体２０７には、画面の描画処理において用いられる、各描画オブジェクトのデータや、画面に表現される３次元シーンに配置された光源情報等が記録されているものとする。
【００４０】
サーバ通信部２０８は、動画配信サーバ２００が有する通信インタフェースである。本実施形態ではサーバ通信部２０８は、ネットワーク３００を介して接続したＰＣ１００等の、他の機器との間におけるデータ送受信を行う。なお、サーバ通信部２０８は通信部１０５と同様に、通信仕様に従ったデータ形式の変換を行う。
【００４１】
＜動画配信処理＞
このような構成をもつ本実施形態の動画配信システムの動画配信サーバ２００において実行される動画配信処理について、図４のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、サーバＣＰＵ２０１が、例えばサーバＲＯＭ２０２に記録されている対応する処理プログラムを読み出し、サーバＲＡＭ２０３に展開して実行することにより実現することができる。なお、本動画配信処理は、例えば動画配信サーバ２００の提供するゲームコンテンツの提供要求をＰＣ１００から受信したことを、サーバＣＰＵ２０１が検出した際に開始され、ゲームの１フレームごとに繰り返し実行されるものとして説明する。
【００４２】
なお、本実施形態では動画配信サーバ２００は、３次元シーンをDeferred Renderingの手法を用いて描画したゲーム画面を符号化動画データの形態でＰＣ１００に提供するものとして説明する。しかしながら、上述したように動画配信サーバ２００が配信するコンテンツはこれに限られず、３次元シーンを少なくとも２段階の描画処理を行なって描画した画面を提供する任意のコンテンツであればよい。
【００４３】
Ｓ４０１で、サーバＣＰＵ２０１は、次に描画するゲーム画面の視点情報を更新する。具体的にはサーバＣＰＵ２０１は、例えばサーバ通信部２０８が受信した、ＰＣ１００においてユーザによりなされた、ゲームに係る操作入力の情報を参照し、次に描画するゲーム画面の視点情報を更新する。視点情報の更新が生じうるユーザによる操作は、例えば視点位置及び方向の変更操作、あるいはユーザの操作対象のキャラクタの移動等が相当する。なお、ゲーム画面の描画に用いられる視点情報の更新は、ＰＣ１００においてなされたユーザ操作にのみ更新されるものではなく、例えばゲームの進行状況に応じて変更されるものであってもよい。
【００４４】
Ｓ４０２で、サーバＣＰＵ２０１は、Ｓ４０１において更新した視点情報に対応するゲーム画面について、サーバＧＰＵ２０４に前段の描画処理を実行させ、後段の描画処理で用いる各種中間値マップを生成させる。具体的にはサーバＣＰＵ２０１は、描画されるゲーム画面に含まれる描画オブジェクトを特定し、各描画オブジェクトのデータを描画順に従ってサーバＧＰＵ２０４に伝送する。サーバＧＰＵ２０４は、転送された描画オブジェクトのデータをＧＰＵメモリに格納する。描画オブジェクトのデータは、例えば図５に示されるような構成であり、本実施形態ではオブジェクト識別ＩＤに関連付けられて、モデルデータ（あるいは頂点データ及び結線データ）、テクスチャデータ、及び位置・回転情報が含まれる。なお、テクスチャデータは３次元モデルに適用（貼り付け）される、該３次元モデルの模様等を表現する一般的な画像テクスチャ（デカルテクスチャ）だけでなく、該３次元モデルの陰影処理や質感の表現に用いられる各種マップが含まれる。
【００４５】
サーバＧＰＵ２０４は、描画命令を受けた描画オブジェクトについての位置・回転情報のパラメータに従ってＧＰＵメモリに格納されたモデルデータを移動及び回転させた後、光源エフェクト（陰影処理、シェーディング）を適用することなく、サーバＶＲＡＭ２０５への描画を行う。このときサーバＶＲＡＭ２０５には、最終的にＰＣ１００に対して提供するゲーム画面に対応する、複数種類の中間値マップが生成される。該複数種類の中間値マップは、後述する後段の描画処理における陰影処理で参照されるマップであり、本実施形態では少なくとも
・散乱マップ（Albedo map）
・深度マップ（Depth map）
・法線マップ（Normal map）
・反射マップ（Specular map）
・拡散マップ（Diffuse map）
を含む。なお、深度マップ以外の中間値マップは、描画するゲーム画面に含まれる全描画オブジェクトのデータの各々に含まれる対応するテクスチャデータやモデルデータの各ポリゴンの情報等を、描画するゲーム画面の視点情報に応じて変換することで生成される。即ち、Forward Renderingでは各描画オブジェクトについて該描画オブジェクトのテクスチャデータを考慮して１つ１つに陰影処理を実行するのに対し、Deferred Renderingの前段の描画処理では、描画するゲーム画面の全体を１つの描画オブジェクトとして捉えた中間値マップを生成することで、後段の描画処理においてゲーム画面の全体を対象として陰影処理を行うことができ、演算の重複を低減することができる。
【００４６】
なお、深度マップについては、中間値マップの生成において各描画オブジェクトの描画時に、ピクセル単位で描画オブジェクトの前後関係による遮蔽（オクルージョン）を考慮して従来の方法で生成される。
【００４７】
このように前段の描画処理が完了すると、サーバＣＰＵ２０１は、Ｓ４０３乃至Ｓ４０７の処理と、Ｓ４０８乃至Ｓ４１１の処理とを並行して実行する。
【００４８】
Ｓ４０３で、サーバＣＰＵ２０１は、前段の描画処理で生成された中間値マップを、描画しているフレーム（現フレーム）を識別するフレームＩＤに関連づけてサーバＲＡＭ２０３に格納する。本実施形態の動画配信サーバ２００は、ＰＣ１００に提供する符号化動画データの各フレームについて、描画したゲーム画面の生成に用いられた中間値マップをサーバＲＡＭ２０３に格納し、少なくとも次のフレームの符号化処理が完了するまで保持するものとする。
【００４９】
Ｓ４０４で、サーバＣＰＵ２０１は、複数種類の中間値マップのうちの少なくとも１つのマップを符号化判断用に選択し、該判断用の中間値マップ（判断用中間値マップ）を所定の画素数（例えば１６pixel×１６pixel）のブロックに分割する。上述したように中間値マップの各々は最終的にＰＣ１００に提供するゲーム画面に対応しており、該提供するゲーム画面の各ブロックの動画符号化においてフレーム間予測を行うか否かを判断するために中間値マップを用いることができる。
【００５０】
判断用中間値マップとして選択される中間値マップは、本実施形態では散乱マップ、深度マップ、反射マップ、及び拡散マップの少なくともいずれかであるものとする。なお、生成された中間値マップのうち、法線マップも原理的には符号化判断に用いることが可能である。しかしながら、該マップは画素値が法線方向を示しているため、例えば凹凸はないが模様がある面を含む描画オブジェクトについては、該面は全て同じ画素値となってしまう。このため、法線マップのみを用いて後述する符号化判断を行うことは、必ずしも好ましいデータ圧縮を実現できない可能性があるため、本実施形態では前段の描画処理で生成した複数種類の中間値マップのうち、法線マップ以外のマップを用いて符号化判断を行うものとする。
【００５１】
Ｓ４０５で、サーバＣＰＵ２０１は、判断用中間値マップの各ブロックについて現フレームの１つ前のフレーム（前フレーム）のゲーム画面に係る前段の描画処理で生成された対応する中間値マップから、最も相関が高い領域を特定する。具体的にはサーバＣＰＵ２０１は、前フレームのゲーム画面に係る前段の描画処理で生成された中間値マップのうち、Ｓ４０４において判断用中間値マップとして選択されたマップに対応する（同一種類の）マップ（判断用過去中間値マップ）をサーバＲＡＭ２０３から読み出す。そしてサーバＣＰＵ２０１は、各ブロックについて判断用過去中間値マップから相関が最も高い領域を探索する。
【００５２】
このときサーバＣＰＵ２０１は、符号化判断を行うブロックの画像を基準画像として設定し、該基準画像と同一の画素数の判断対象領域を判断用過去中間値マップから設定し、例えば画像間のユークリッド距離を算出することで類似度を取得する。判断対象領域の設定は判断用過去中間値マップにおいて画素単位あるいは半画素単位で領域をずらしながら行われ、サーバＣＰＵ２０１は、最終的に基準画像に対して最もユークリッド距離が短くなる（類似度が最大となる）領域の位置を、最も相関が高い領域の位置として特定する。
【００５３】
なお、本実施形態の動画配信サーバ２００では後述する符号化処理においてフレーム間符号化を行う場合に現フレームの１つ前のフレームから取得した参照データを使用し、現フレームの画像と参照データとの差分画像を符号化する。このため、符号化判断も現フレームの１つ前のフレームについて行うものとして説明するが、フレーム間符号化で参照される過去のフレームは現フレームの１つ前のフレームに限らず、現フレームよりも前のフレームが用いられてよい。
【００５４】
Ｓ４０６で、サーバＣＰＵ２０１は、判断用中間値マップの各ブロックについてフレーム内符号化を行うか、あるいはフレーム間符号化を行うかを決定する（符号化判断）。具体的にはサーバＣＰＵ２０１は、各ブロックと最も相関が高い判断用過去中間値マップの領域について算出された類似度（例えばユークリッド距離の逆数）が予め設定された閾値以上であるか否かを判断する。そしてサーバＣＰＵ２０１は、最も相関が高い領域との類似度が閾値以上であるブロックについてはフレーム間符号化を行うものとして決定し、類似度が閾値未満であるブロックについてはフレーム内符号化を行うものとして決定する。
【００５５】
Ｓ４０７で、サーバＣＰＵ２０１は、判断用中間値マップの各ブロックのうち、フレーム間符号化を行うとして決定されたブロックについて、判断用過去中間値マップの最も相関が高い領域からの動きベクトルを算出する。そしてサーバＣＰＵ２０１は、該フレーム間符号化を行うとして決定されたブロックを特定する特定情報に関連付けて、該ブロックについての動きベクトルの情報をサーバ通信部２０８に伝送し、前処理情報としてＰＣ１００に対して送信させる。
【００５６】
一方、サーバＣＰＵ２０１はＳ４０３乃至Ｓ４０７の処理と並行して実行する処理では、Ｓ４０８でサーバＧＰＵ２０４にＳ４０１において更新した視点情報に対応するゲーム画面についての後段の描画処理を実行させ、最終的にＰＣ１００に提供するゲーム画面（提供ゲーム画面）を生成させる。具体的にはサーバＣＰＵ２０１は、描画されるゲーム画面についての３次元シーンに適用される光源を特定し、該光源の属性や強度等の情報をサーバＧＰＵ２０４に伝送する。サーバＧＰＵ２０４は、前段の描画処理で生成した各種中間値マップを用いて、各種光源をまとめて陰影処理（光源エフェクトの適用）しながら、再度ゲーム画面に含まれる描画オブジェクトを描画し、提供ゲーム画面をサーバＶＲＡＭ２０５のフレームバッファに生成する。
【００５７】
Ｓ４０９で、サーバＣＰＵ２０１は、Ｓ４０６の処理である現フレームについての符号化判断処理が完了したか否かを判断する。サーバＣＰＵ２０１は、符号化判断処理が完了していると判断した場合は処理をＳ４１０に移し、完了していないと判断した場合は処理を本ステップの処理を繰り返す。
【００５８】
Ｓ４１０で、サーバＣＰＵ２０１は、提供ゲーム画面をＳ４０４におけるブロック分割と同様にブロック分割し、符号化処理を実行して符号化動画データを生成する。
【００５９】
（符号化処理）
ここで、本実施形態の動画配信サーバ２００において実行される符号化処理について、図６を参照して詳細を説明する。
【００６０】
Ｓ６０１で、サーバＣＰＵ２０１は、提供ゲーム画面のブロックのうち、符号化がなされていないブロックを選択する。
【００６１】
Ｓ６０２で、サーバＣＰＵ２０１は、判断用中間値マップについて行われた符号化判断処理の結果を参照し、選択ブロックについてフレーム間符号化を行うか否かを判断する。サーバＣＰＵ２０１は、選択ブロックについてフレーム間符号化を行うと判断した場合は処理をＳ６０３に移し、フレーム間符号化を行わないと判断した場合は処理をＳ６０５に移す。
【００６２】
Ｓ６０３で、サーバＣＰＵ２０１は、現フレームの１つ前のフレームで描画されたゲーム画面（前フレーム画面）内の選択ブロックに対応する領域の画像から、フレーム間符号化に使用する参照画像（参照データ）を生成する。具体的にはサーバＣＰＵ２０１はまず、前フレームでＰＣ１００に提供されたゲーム画面（過去ゲーム画面）を例えばサーバＲＡＭ２０３から読み出す。そしてサーバＣＰＵ２０１は、選択ブロックについて特定された最も相関が高い領域に対応する領域の画像を、参照画像として過去ゲーム画面から抽出する。
【００６３】
Ｓ６０４で、サーバＣＰＵ２０１は、選択ブロックの画像と参照画像との差分を差分画像として生成し、符号化対象画像として設定する。具体的にはサーバＣＰＵ２０１は、選択ブロックの画像の各画素値から、参照画像の対応する画素の画素値を減算することにより差分画像（pblock）を生成する。
【００６４】
一方、Ｓ６０２においてフレーム間符号化を行わないと判断した場合、サーバＣＰＵ２０１はＳ６０５において、選択ブロックの画像を符号化対象画像として設定する。
【００６５】
Ｓ６０６で、サーバＣＰＵ２０１は、符号化対象画像をサーバ符号化部２０６に伝送し、ＤＣＴ処理を実行させて周波数領域のデータに変換させる。またサーバＣＰＵ２０１は、変換により得られた周波数領域のデータに対してサーバ符号化部２０６にランレングス符号化を行わせることで、選択ブロックの符号化データを生成させる。
【００６６】
Ｓ６０７で、サーバＣＰＵ２０１は、描画されたゲーム画面の全てのブロックについてＳ６０２乃至Ｓ６０６の処理を実行したか否かを判断する。サーバＣＰＵ２０１は、まだ処理が実行されていないブロックが存在すると判断した場合は処理をＳ６０１に戻し、存在しないと判断した場合は本符号化処理を完了する。
【００６７】
サーバＣＰＵ２０１は、描画されたゲーム画面から符号化動画データを生成した後、Ｓ４１１で該符号化動画データをサーバ通信部２０８に伝送してＰＣ１００に対して送信させ、現フレームの動画配信処理を完了する。
【００６８】
このように、本実施形態の動画配信サーバ２００では、ＰＣ１００に対して提供するゲーム画面の生成が多段階の描画処理によって行われることを利用し、最終的なゲーム画面の描画が行われる後段の描画処理中に、前段の描画処理で生成された中間値マップを用いて、ゲーム画面の各ブロックについての符号化方法を決定することができる。このため、最終的なゲーム画面の描画を行なった後に符号化方法を決定することなく符号化処理に移行できるため、ゲーム画面のＰＣ１００への提供に要する時間を短縮することができる。
【００６９】
＜動画再生処理＞
次に、本実施形態のＰＣ１００において実行される動画再生処理について、図７のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ１０１が、例えばＲＯＭ１０２に記録されている対応する処理プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより実現することができる。なお、本動画再生処理は、例えばＰＣ１００において動画配信サーバ２００の提供するゲームコンテンツを受信するアプリケーションが実行された際に開始され、ゲームの１フレームごとに繰り返し実行されるものとして説明する。 
【００７０】
Ｓ７０１で、ＣＰＵ１０１は、通信部１０５が動画配信サーバ２００から前処理情報を受信したか否かを判断する。ＣＰＵ１０１は、動画配信サーバ２００から前処理情報を受信したと判断した場合は処理をＳ７０２に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
【００７１】
Ｓ７０２で、ＣＰＵ１０１は、前処理情報を参照し、現フレームのゲーム画面の復号に必要な参照データを準備する復号前処理を実行する。
【００７２】
（復号前処理）
ここで、本実施形態のＰＣ１００で実行される復号前処理について、図８のフローチャートを用いて詳細を説明する。
【００７３】
Ｓ８０１で、ＣＰＵ１０１は、現フレームで受信するゲーム画面のブロックのうち、使用された符号化方式の判定がなされていないブロックを選択する。
【００７４】
Ｓ８０２で、ＣＰＵ１０１は前処理情報を参照し、選択ブロックについてフレーム間符号化がなされるか否かを判断する。具体的にはＣＰＵ１０１は、選択ブロックを特定する情報が前処理情報に含まれるか否かを判断する。ＣＰＵ１０１は、選択ブロックについてフレーム間符号化がなされると判断した場合は処理をＳ８０３に移し、なされていないと判断した場合は処理をＳ８０４に移す。
【００７５】
Ｓ８０３で、ＣＰＵ１０１は、現フレームの１つ前のフレームで復号したゲーム画面（前フレーム画面）から、選択ブロックについての復号に使用する参照画像（参照データ）を抽出する。具体的にはＣＰＵ１０１は、前処理情報に含まれる選択ブロックについて関連付けられた動きベクトルを参照し、前フレーム画面における選択ブロックの復号で参照される領域を特定し、該領域の画像を参照画像として抽出する。
【００７６】
Ｓ８０４で、ＣＰＵ１０１は、現フレームで受信するゲーム画面の全てのブロックについてＳ８０２乃至Ｓ８０３の処理を実行したか否かを判断する。サーバＣＰＵ２０１は、まだ処理が実行されていないブロックが存在すると判断した場合は処理をＳ８０１に戻し、存在しないと判断した場合は本復号前処理を完了する。
【００７７】
このように本実施形態のＰＣ１００では、符号化動画データの前に受信した前処理情報を参照することで、符号化動画データの受信後に行われる復号処理に先立って、復号処理で用いられる参照データを準備することができる。
【００７８】
Ｓ７０３で、ＣＰＵ１０１は、通信部１０５が動画配信サーバ２００から符号化動画データを受信したか否かを判断する。ＣＰＵ１０１は、動画配信サーバ２００から符号化動画データを受信したと判断した場合は処理をＳ７０４に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
【００７９】
Ｓ７０４で、ＣＰＵ１０１は、受信した符号化動画データを復号部１０４に伝送し、復号処理を実行させてゲーム画面を生成させる。具体的には復号部１０４は、符号化動画データの各ブロックについてランレングス符号化データ列の復号、逆ＤＣＴ処理を行うことで現フレームのゲーム画面のブロックデータを生成する。またフレーム間符号化が行われたブロックについては、上述した復号前処理で生成された参照データを加算することで、復号部１０４は現フレームのゲーム画面を生成する。
【００８０】
Ｓ７０５で、ＣＰＵ１０１は、Ｓ７０４において生成された現フレームのゲーム画面を表示部１０６に伝送し、対応する表示領域に表示させ、現フレームの動画再生処理を完了する。
【００８１】
このように、本実施形態の動画配信システムにおける動画配信サーバ２００は、符号化動画データの生成が完了して配信するよりも前に、符号化方法の情報を動画再生装置であるＰＣ１００に伝えることができる。即ち、符号化動画データの受信前に参照画像を前処理として準備することができるため、符号化動画データを受信してから行われる復号処理を短縮することができる。つまり、フレーム間符号化がなされたブロックの復号に用いる参照画像を、受信した符号化動画データに含まれる動きベクトルを参照して前のフレームの画像から生成する従来の方法に比べて、本実施形態の動画配信方法は復号した動画像の再生までに要する時間を短縮することができる。
【００８２】
即ち、動画配信システム全体としては、図９に示されるような処理フローとなり、本発明を適用することで、動画配信サーバ２００における動画符号化処理の効率化、及びＰＣ１００における動画復号処理の効率化の両方を実現することができる。
【００８３】
なお、上述した動画配信処理では、現フレームの画面の全てのブロックについて符号化判断を行った後に前処理情報をＰＣ１００に送信するものとして説明したが、前処理情報の送信タイミングはこれに限られないことは容易に想像されよう。即ち、各ブロックについてフレーム間符号化を行うか否かの判断結果が得られた場合に、全てのブロックについての判断結果が得られるのを待たずに、都度、サーバＣＰＵ２０１は該ブロックの前処理情報をＰＣ１００に送信してもよい。またこの場合、ＰＣ１００のＣＰＵ１０１が、前処理情報を受信すると、該前処理情報で特定されるブロックの参照画像を生成するようにすることで、動画再生処理における更なる効率化が見込める。
また、本実施形態では判断用中間値マップの各ブロックのうち、フレーム間符号化を行うとして決定されたブロックについては、判断用過去中間値マップの最も相関が高い、ブロックと同じ画素数の領域を、符号化時の参照データとして探索するものとした。そして、該領域を示す動きベクトル（２次元）をＰＣ１００に対して送信するものとして説明した。しかしながら、フレーム間符号化を行う際に参照データとなる領域は、このように同じ画素数の領域でなくてもよい。例えば判断用過去中間値マップの一部の領域を拡大／縮小することにより得られる画像が符号化対象ブロックと最も相関が高い場合は、参照データとして拡大／縮小処理後の画像が用いられてもよい。また例えば判断用過去中間値マップの一部の領域を回転あるいは投影（変形）することにより得られる画像が符号化対象ブロックと最も相関が高い場合は、参照データとして回転あるいは投影処理後の画像が用いられてもよい。またこのような場合は、参照データとして用いる前フレーム画面の領域を特定するために、例えば３次元の動きベクトルや、２次元の動きベクトルとともに拡大／縮小パラメータや回転／投影用の変換マトリックスが、ＰＣ１００に対して送信されてもよい。なお、該参照データとして用いる前フレーム画面の領域を特定する情報は、これに限られるものではなく、例えば直接領域の頂点座標を指定する情報等、領域を特定できる情報であればどのような形式であってもよい。
【００８４】
以上説明したように、本実施形態の動画配信サーバは描画処理により得られた画面を高速かつ効率的に動画符号化することができる。具体的には動画配信サーバは、描画する画面を決定する視点情報を用いて、少なくとも２段階の描画処理により提供画面を描画する。該描画処理は、後段の描画処理において、前段の描画処理で生成された特定のチャネルの中間値マップを参照して提供画面の描画がなされる。動画配信サーバは、第１の画面の後段の描画処理の実行中に少なくとも１つのチャネルの中間値マップを選択し、設定されたブロックごとに第１の画面よりも前に描画された第２の画面について生成された対応する中間値マップを参照してフレーム間符号化を行うか否かを判断する。動画配信サーバは、第１の画面の後段の描画処理の終了後、該判断の結果に応じて符号化を行って外部装置に符号化動画データを送信する。また該判断の結果は、第１の画面の符号化動画データの生成が完了する前に外部装置に送信される。
【００８５】
［変形例］
上述した実施形態では、前段の描画処理で生成された複数種類の中間値マップのうちの少なくとも１つの中間値マップを用いて、前フレームの対応するマップにおける各符号化ブロックに最も相関が高い領域をユークリッド距離の算出等の相関演算により特定するものとして説明した。一般に、最も相関が高い領域を特定する処理は、演算対象領域を変更しながら総当り式に相関演算を実行するため、計算量が多い。即ち、後段の描画処理中に全符号化ブロックに係る相関演算を完了する演算能力がサーバＣＰＵ２０１には求められるため、動画配信サーバ２００の導入コストが増大する可能性がある。このため、本変形例では全符号化ブロックについて総当り式に相関演算を行うことなく、最も相関が高い領域の推定、及び該領域の相関度の算出を行う方法について説明する。
【００８６】
＜動画配信処理＞
以下、上述と同様の構成を有する本変形例の動画配信サーバ２００において実行される動画配信処理について、図１０のフローチャートを用いて具体的な処理を説明する。なお、本変形例の動画配信処理において、上述した実施形態の動画配信処理と同様の処理を行うステップについては同一の参照番号を付すことにより説明を省略し、以下では本変形例において特徴的な処理を行うステップについての説明に留める。
【００８７】
Ｓ４０２の前段の描画処理が完了した後、サーバＣＰＵ２０１は並行処理の１つの処理におけるＳ１００１で、生成された中間値マップを、Ｓ４０１において更新した視点情報（描画視点情報）に関連付けてサーバＲＡＭ２０３に格納する。
【００８８】
Ｓ１００２で、サーバＣＰＵ２０１は、複数種類の中間値マップのうち、深度マップを符号化判断用に選択し、ブロック分割する。
【００８９】
Ｓ１００３で、サーバＣＰＵ２０１は、深度マップの各ブロックについて、前フレームのゲーム画面における最も相関が高いと思われる領域を推定する。具体的にはサーバＣＰＵ２０１は、対象ブロックの四隅の座標に描画されている描画オブジェクト（ブロック特定オブジェクト）の３次元座標を特定する。具体的にはサーバＣＰＵ２０１は、深度バッファから対象ブロックの四隅の座標の各々における深度値を取得する。次にサーバＣＰＵ２０１は、描画視点情報と対象ブロックの四隅の座標とから、ブロック特定オブジェクトへの方向を特定する。そしてサーバＣＰＵ２０１は、特定したブロック特定オブジェクトへの方向と深度値とから、ブロック特定オブジェクトの３次元座標を特定する。次にサーバＣＰＵ２０１は、ブロック特定オブジェクトの３次元座標を、前フレームのゲーム画面の描画に用いられた視点情報（過去視点情報）を用いて、前フレームのゲーム画面におけるスクリーン座標に変換する。このようにすることで、前フレームのゲーム画面における最も相関が高いと思われる領域の四隅の座標を特定することができる。即ち、本変形例では、図１１に示されるように対象ブロックと同一の描画オブジェクトが表現されている領域、即ち相関が高い描画内容である可能性が高い領域を３次元シーンに逆変換して特定することができる。
【００９０】
Ｓ１００４で、サーバＣＰＵ２０１は、Ｓ１００３において推定された最も相関が高いと思われる領域について、相関度を算出する。具体的にはサーバＣＰＵ２０１は、前フレームの前段の描画処理で生成された深度マップ（過去深度マップ）から、推定された最も相関が高いと思われる領域の画像を抽出し、該画像に対して例えば過去視点情報と描画視点情報とから生成された変換マトリックスを乗ずることで、対象ブロックと同じ画素数の参照画像を生成する。そしてサーバＣＰＵ２０１は、該参照画像と対象ブロックの画像との相関度を算出し、処理をＳ４０６に移す。
【００９１】
このように、本変形例の動画配信サーバ２００では、前段の描画処理で生成される深度マップを使用し、符号化ブロックと最も相関が高いと思われる領域を、座標変換により推定することができる。このため、総当り式に相関度を算出して最も相関が高いと思われる領域を特定する必要がなく、後段の描画処理中に全符号化ブロックについての相関演算に係る演算量を低減することができる。
【００９２】
なお、本変形例では対象ブロックに描画されている描画オブジェクトの、前フレームのゲーム画面におけるスクリーン座標を厳密に特定し、対象ブロックと同一の画素数の画像に変形して相関度の判定を行うものとして説明したが、本発明の実施はこれに限られない。例えば、対象ブロックの中心に描画されている描画オブジェクトについて前フレームのゲーム画面におけるスクリーン座標を算出し、該座標を中心として設定した対象ブロックと同一の画素数の領域を最も相関が高いと思われる領域として設定する構成であってもよい。
【図１】
0005155462.tif 000002
【図２】
0005155462.tif 000003
【図３】
0005155462.tif 000004
【図４】
0005155462.tif 000005
【図５】
0005155462.tif 000006
【図６】
0005155462.tif 000007
【図７】
0005155462.tif 000008
【図８】
0005155462.tif 000009
【図９】
0005155462.tif 000010
【図１０】
0005155462.tif 000011
【図１１】
0005155462.tif 000012