(57)【特許請求の範囲】
【請求項１】
グラフィクス−ビデオエンコーダによる３次元グラフィクスから２次元ビデオへのエンコーディングのための方法（３００）であって、
（ア）少なくとも１つの３次元オブジェクトを表現する３次元モデル（２０５）を受信するステップ（３１０）と、
（イ）前記３次元モデル（２０５）を２次元フレーム（２１５）にレンダリングするステップ（３２０）と、
（ウ）前記３次元モデル（２０５）から前記２次元フレーム（２１５）に対するコンポジション情報（２２５）を抽出するステップ（３３０）と、
（エ）前記コンポジション情報（２２５）に基づいて重み付け係数を生成するステップ（３４０）であって、ビットストリーム（２３５）が前記重み付け係数を利用してエンコーディングされるステップと、
（オ）前記２次元フレーム（２１５）および前記コンポジション情報（２２５）に基づいてビットストリーム（２３５）をエンコーディングするステップ（３５０）と
を含み、
前記（エ）重み付け係数を生成するステップ（３４０）は、
（カ）ピクセルの奥行き値に基づいてマクロブロックについての平均奥行き値を求めるステップ（４１０）と、
（キ）前記ピクセルの前記奥行き値に基づいて前記マクロブロックについての分散奥行き値を求めるステップ（４２０）と、
（ク）前記平均奥行き値および前記分散奥行き値に基づいて前記マクロブロックについての前記重み付け係数を生成するステップ（４３０）と
を含む
方法。
【請求項２】
前記重み付け係数の生成（３４０）は、エンコーディングパラメータを選択するために前記２次元フレーム（２１５）の少なくとも１つのマクロブロックに対して適用される、
請求項１に記載の方法。
【請求項３】
前記コンポジション情報（２２５）は、
前記マクロブロックのピクセルについての奥行き値を示す奥行き情報
を含む、請求項２に記載の方法。
【請求項４】
前記コンポジション情報（２２５）は、前記２次元フレーム（２１５）のピクセルについてのモーションベクトルを示す動き情報
を含む、請求項１に記載の方法。
【請求項５】
前記コンポジション情報（２２５）は、前記２次元フレーム（２１５）のピクセルについてのテクスチャを示すテクスチャ情報
を含む、請求項１に記載の方法。
【請求項６】
前記ビットストリームをモバイルクライアントへ送信するステップ
を含む、請求項１に記載の方法。
【請求項７】
前記モバイルクライアントは携帯情報端末である、
請求項６に記載の方法。
【請求項８】
(a) 少なくとも１つの３次元オブジェクトを表現する３次元モデルを、２次元フレーム（２１５）にレンダリングするグラフィクスレンダリングユニットと、
(b) 前記グラフィクスレンダリングユニットに結合され、前記３次元モデルから前記２次元フレームについてのコンポジション情報を抽出するコンポジション情報抽出部と、
(c) 前記コンポジション情報に基づいて重み付け係数を生成する重み付け係数生成部であって、ビットストリームが前記重み付け係数を利用してエンコーディングされる重み付け係数生成部と、
(d)前記グラフィクスレンダリングユニットおよび前記コンポジション情報抽出部に結合され、前記２次元フレームおよび前記コンポジション情報に基づいてビットストリームをエンコーディングするビデオエンコーダと
を有し、
前記重み付け係数生成部は、
ピクセルの奥行き値に基づいてマクロブロックについての平均奥行き値を求め、
前記ピクセルの前記奥行き値に基づいて前記マクロブロックについての分散奥行き値を求め、
前記平均奥行き値および前記分散奥行き値に基づいて前記マクロブロックについての前記重み付け係数を生成する
グラフィクス−ビデオエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はビデオエンコーディングの分野に関する。
【背景技術】
【０００２】
携帯情報端末（ＰＤＡ）や携帯電話のようなさまざまなモバイルクライアントが、ストリーミングビデオコンテンツを表示するためのディスプレイ画面を備えている。無線ネットワーク（例えば３Ｇ無線ネットワーク）の帯域幅の拡大とともに、ストリーミングビデオが無線メディアの大部分を占めるであろうと考えられていた。しかし、それに反して、これまで最も急成長しているアプリケーションは、３次元（３Ｄ）グラフィクスモデルに基づくモバイルネットワークゲームの領域にある。例えば、韓国や日本のような国々では、モバイルネットワークゲームの利用が増大しているため、モバイル電子機器を用いたモバイルネットワークゲームにアクセスすることへの要望が多い。
【０００３】
モバイルネットワークゲームは、リアルタイムの対話性を必要とし、これにより、現在の３Ｇ無線ネットワークのリアルタイムメカニズムに対して、適時に大量のデータを配信可能でなければならないという厳しい要求が課せられる。さらに、通常のモバイルクライアントは、計算資源が限定された低消費電力で軽量の装置であり、高品質グラフィクスに通常必要な毎秒数百万トライアングルをレンダリングする能力はない。そのため、現在のモバイルオンラインゲームは、通常、グループのサイズおよび対話性が制限され、視覚上の品質が簡略化されすぎている。
【０００４】
モバイルオンラインゲームの品質を改善するためには、無線ネットワーク技術における根本的進歩と、モバイルコンピューティングハードウェアにおける抜本的高速化が必要である。しかし、ゲーム観戦者はモバイルクライアントユーザのなかで大きなしかも成長している集団を形成している。ゲーム観戦者は、アクションを見ることのみに興味のある非参戦者としてネットワークゲームにアクセスするユーザである。このようなネットワークゲームはモバイルネットワークゲームに限定されない。例えば、ゲーム観戦者は、３Ｄグラフィクスをレンダリングするのに十分なハードウェアを備えたホームパーソナルコンピュータからネットワークゲームにアクセスするかもしれない。ネットワークゲームが成熟するにつれて、高度な技術を持つプレーヤは、そうしたプレーヤを忠実に追いかけ、対戦している自分たちのヒーローを、マルチキャストチャネルにおいてを集団で観戦するファン層を獲得する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、モバイルネットワークゲーム観戦者は、活動的なゲーム参戦者と同じ制限を受けている。具体的には、ネットワークゲームを観戦するためには、観戦者のモバイルクライアントは、通常、３Ｄグラフィクスを表示するために必要なハードウェア要件を満たさなければならない。しかし、上述のように、通常のモバイルクライアントは、３Ｄグラフィクスをレンダリングすることが可能なハードウェアを含んでいない。したがって、モバイルゲーム観戦者は、しばしば、あまり魅力的でなくまた簡略化しすぎたグラフィクスしかもっていないために、観戦するにはあまり魅力のないモバイルオンラインゲームを眺めるだけしかできない。
【課題を解決するための手段】
【０００６】
３次元グラフィクスから２次元ビデオへのエンコーディングのための方法および装置である本発明の各種の実施形態がここに記載される。一実施形態では、少なくとも１つの３次元オブジェクトを表現する３次元モデルが受信される。この３次元モデルは２次元フレームにレンダリングされる。この２次元フレームについてのコンポジション情報が３次元モデルから抽出される。２次元フレームとコンポジション情報に基づいてビットストリームがエンコーディングされる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の種々の実施形態について詳細に説明する。その例が添付図面に示される。本発明は、これらの実施形態に関連して説明されるが、本発明をこれらの実施形態に限定することを意図しないことが理解されるであろう。逆に、本発明は、特許請求の範囲の請求項によって定義される本発明の精神、範囲内に含まれ得る代替形態、変更形態および均等な形態を包含することを意図している。さらに、本発明の以下の説明では、本発明の十分な理解を提供するためにいくつかの具体的詳細事項が記載される。他の事例では、周知の方法、手続き、コンポーネント、および回路は、本発明の態様を不必要に分かりにくくすることがないように、詳細には記載されていない。
【０００８】
本発明の態様はコンピュータシステムで実装できる。コンピュータシステムは、一般に、情報および命令を処理するプロセッサと、情報および命令を記憶するランダムアクセス（揮発性）メモリ(RAM)と、静的な情報および命令を記憶する読み出し専用（不揮発性）メモリ(ROM)と、情報および命令を記憶する磁気式または光学式のディスクおよびディスクドライブのようなデータ記憶装置と、情報をコンピュータユーザに対して表示するディスプレイ装置（例えばモニタ）のような任意選択のユーザ出力装置と、情報およびコマンド選択をプロセッサに送信する英数字キーおよびファンクションキーを含む任意選択のユーザ入力装置（例えばキーボード）と、ユーザ入力情報およびコマンド選択をプロセッサに送信するカーソル制御装置（例えばマウス）のような任意選択のユーザ入力装置とを含む。
【０００９】
図１は、本発明の一実施形態によるゲーム観戦者ビデオエンコーディング・モバイルネットワーク１００（以下、ネットワーク１００という）のブロック図を示している。ネットワーク１００は、コアネットワーク１０４およびモバイルマルチキャストサポート１１２を含む。コアネットワーク１０４は、ゲームプレーヤ１０２、ポータル１０６、ゲームサーバ１０８およびグラフィクス−ビデオエンコーダ(graphics-to-video encoder)１１０を含む。ゲームプレーヤ１０２は、有線接続を用いてコアネットワーク１０４に接続されてもよいし、また無線接続を用いて接続されてもよい。一実施形態では、ゲームプレーヤは、ポータル１０６経由で許可を取得しオンラインゲームに登録する。こうして、ゲームプレーヤ１０２は、ゲームサーバ１０８経由でサーバ−クライアントモデルでゲームに参戦する。ゲームサーバ１０８は、３次元（３Ｄ）ゲームプレイ（例えば３Ｄモデルを用いたゲーム）をゲームプレーヤ１０２に提供するように動作可能である。ゲームサーバ１０８は、ゲームプレーヤ１０２およびグラフィクス−ビデオエンコーダ１１０へ、更新されたゲームイベントを送信する。なお、任意の人数のゲームプレーヤ１０２がコアネットワーク１０４にアクセスしてもよいことが理解されるべきである。
【００１０】
グラフィクス−ビデオエンコーダ１１０はグレンコーダ(grencoder)とも呼ばれるが、これは更新されたゲームイベントをエンコーディングビットストリームに変換するコンピュータシステムである。一実施形態では、このビットストリームは、モバイルマルチキャストサポート１１２を用いて、興味を持っているゲーム観戦者１１４および１１６へストリーミングされる。しかし、無線データ通信を送信するための任意の方法または技法を用いてもよいことが理解されるべきである。一実施形態では、モバイルマルチキャストサポート１１２は３Ｇ無線規格を利用し、ビットストリームを観戦者１１４および観戦者１１６に送信するために、ゲートウェイGPRS (General Packet Radio Service)サポートノード(GGSN (ゲートウエイGPRSサポートノード、Gateway GPRS Support Node))、GPRS服務サポートノード(Serving GPRS Support Node (SGSN))、複数のUMTS (Universal Mobile Technology System)地上無線アクセスネットワーク(UMTS Terrestrial Radio Access network (UTRAN))ノード、および複数のユーザ機器(UE)を含む。しかし、いかなる無線規格を用いてもよいことが理解されるべきである。一実施形態では、ユーザ機器はモバイルクライアントである。一実施形態では、モバイルクライアントは携帯情報端末である。別の実施形態では、モバイルクライアントは携帯電話である。
【００１１】
図２は、本発明の一実施形態によるグレンコーダ１１０のブロック図を示している。グレンコーダ１１０は、グラフィクスレンダリングユニット２１０、コンポジション情報抽出部２２０、およびビデオエンコーダ２３０を含む。一実施形態では、グレンコーダ１１０は、３次元グラフィクスから２次元ビデオへのエンコードのためのプロセスを実行するように動作可能である。
【００１２】
グラフィクスレンダリングユニット２１０は、サーバ（例えば、図１のゲームサーバ１０８）から３Ｄモデルを受信する。グラフィクスレンダリングユニット２１０は、３Ｄモデルのオブジェクトの３Ｄ表現を２Ｄ平面上にレンダリングし、生の２次元（２Ｄ）フレーム（２１５）を生成する。レンダリングはラスタ化とも呼ばれる。一実施形態では、これはグラフィクスレンダリングユニット２１０のフレームバッファ中で実行される。
【００１３】
コンポジション情報抽出部２２０は、３Ｄモデルからコンポジション情報２２５を抽出することにより、エンコードされたビットストリーム２３５の視覚上の品質を改善するように動作可能である。グラフィクスレンダリングユニット２１０は、２Ｄフレーム２１５を生成している元の３Ｄモデル２０５にアクセスすることによって、エンコーディングソースのシーンコンポジション情報にアクセスすることができる。このコンポジション情報は通常、ビデオエンコーダから利用可能である。一実施形態では、コンポジション情報は３Ｄモデル２０５のオブジェクトの奥行き値を含む。オブジェクトの奥行き値は、どちらのオブジェクトがカメラにより近いか、したがってどちらのオブジェクトが覆い隠されており、どちらのオブジェクトが覆い隠されていないかを識別するために用いられる。カメラに近い方のオブジェクトが関心を持たれる、つまり重要なオブジェクトでもあると仮定することによって、奥行き値は重要な領域も明らかにする。なお、コンポジション情報は他の要素を含んでよいことが理解されるべきである。他のファクタとしては、以下のものに限定されないが、動き、テクスチャ、形、フォグ、照明、および他の意味情報が挙げられる。一実施形態では、コンポジション情報抽出部２２０は、重要な領域の視覚上の品質を改善するために、コンポジション情報２２５をビデオエンコーダ２３０へ送信する。別の実施形態では、コンポジション情報抽出部２２０は、重要な領域を識別するために、コンポジション情報２２５に基づいて重み付け係数を生成する。そして、重要な領域の視覚上の品質を改善するために、重み付け係数がビデオエンコーダ２３０へ送信される。
【００１４】
ビデオエンコーダ２３０は、エンコードされたビットストリーム２３５を生成するために、２Ｄフレーム２１５およびコンポジション情報２２５を受信する。コンポジション情報２２５は、２Ｄフレーム２１５の重要な領域を識別するために用いられる。ビデオエンコーダ２３０は、重要な領域により多くのビットを割り当てるモード選択ストラテジを適用するように構成され、それにより、エンコードされたビットストリーム２３５の視覚上の品質を改善する。その後、ビットストリームはパケット化され、関心を持っている観戦者（例えば、図１のゲーム観戦者１１４および１１６）へ送信される。なお、ビデオエンコーダ２３０は、MPEG (Moving Pictures Experts Group)ビデオエンコーダのような、いかなる規格準拠ビデオエンコーダであってもよいことが理解されるべきである。
【００１５】
図３は、本発明の一実施形態による、３次元グラフィクスから２次元ビデオへのエンコーディングのためのプロセス３００のフローチャートを示している。図３中の各ステップの動作は以下の通りである。
３１０  少なくとも１つの３次元オブジェクトを表現する３次元モデルを受信する
３２０  ３次元モデルを２次元フレームにレンダリングする
３３０  ２次元フレームのためのコンポジション情報を３次元モデルから抽出する
３４０  コンポジション情報に基づいて重み付け係数を生成する
３５０  ２次元フレームおよび重み付け係数に基づいてビットストリームをエンコーディングする
一実施形態では、プロセス３００は、図１および図２のグレンコーダ１１０のようなコンピュータ可読およびコンピュータ実行可能命令の制御下で、プロセッサおよび電子コンポーネント（例えばコンピュータシステム）によって実行される。具体的なステップがプロセス３００に開示されているが、このようなステップは例示に過ぎない。すなわち、本発明の実施形態は、種々の他のステップまたは図３に記載されたステップの変形を実行するのに十分に適合している。
【００１６】
ステップ３１０で、少なくとも１つの３Ｄオブジェクトを表現する３Ｄモデルが受信される。一実施形態では、３Ｄモデルはサーバ（例えば、図１のゲームサーバ１０８）から受信される。一実施形態では、３ＤモデルはOpenGLに準拠している。OpenGLは、Silicon Graphics Inc.主導で策定されたグラフィクスのための業界規格であり、グラフィクスプログラマがさまざまな種類のコンピューティングプラットフォーム上で容易にコンパイルおよび最適化が可能なソフトウェアを書くことを可能にするアプリケーションプログラミングインタフェース(API)のセットを提供する。別の実施形態では、３ＤモデルはOpenGL ES（組み込み機器用OpenGL (OpenGL embedded system)）に準拠している。OpenGL ESは、モバイルネットワークゲームにとって本質的と考えられるOpenGL APIのサブセットである。フルサイズのOpenGLではなくOpenGL ESを用いることで、グラフィクス仕様をサポートするためのハードウェアメーカの負担が軽くなるとともに、ハードウェアメーカがより少数のAPIに特化できるようにする。
【００１７】
ステップ３２０で、３Ｄモデルが２Ｄフレームにレンダリングされる。一実施形態では、２Ｄフレームをレンダリングするためにいかなる標準的なラスタ化を用いてもよい。一実施形態では、２Ｄフレームは、ある種のMPEGエンコーダに要求される１６の倍数の幅および高さを有する。
【００１８】
ステップ３３０で、２Ｄフレームについてのコンポジション情報が３Ｄモデルから抽出される。一実施形態では、コンポジション情報は２Ｄフレームのピクセルについての奥行き値を示す奥行き情報を含む。なお、コンポジション情報としては、以下のものに限定されないが、動き情報（例えばモーションベクトル）、テクスチャ情報、オブジェクト形状情報、照明情報、フォグ情報、および他の意味情報が挙げられることが理解されるべきである。また、ステップ３３０は、ステップ３２０の前または後のいずれにおいても実行できることが理解されるべきである。
【００１９】
３Ｄオブジェクトが２Ｄ平面にマッピングされる際のラスタ化中に奥行き情報を抽出する一実施形態では、マッピングされる各ピクセルについての奥行き値を、オブジェクト覆い隠しの判定のために、Ｚバッファ法を用いて計算することができる。３ＤオブジェクトがOpenGL ES APIで表現されている場合、ラスタ化後の特定のAPIについて、元のAPIを呼び出す前にまずフレームバッファから各ピクセル(ｊ, ｋ)に対する奥行き値ｄ(ｊ, ｋ)を抽出するAPIラッパが書かれる。したがって、本発明の実施形態は、OpenGL ESをサポートしているいかなるモバイルネットワークゲーム開発者でも容易に採用することができ、ゲーム開発者は、グレンコーディング用の奥行き値を求めるために、ゲームソフトウェアにいかなる変更も加える必要がない。
【００２０】
ステップ３４０で、コンポジション情報に基づいて重み付け係数が生成される。一実施形態では、重み付け係数は、２Ｄフレームの少なくとも１つのマクロブロックについて生成される。重み付け係数は、ビデオエンコーディング中にビット割当てを補助するために用いられる。例えば、重み付け係数は、２Ｄフレームの全マクロブロックについて生成されてもよい。より大きい重み付け係数を有するマクロブロックが、重要な領域（例えば、他のマクロブロックよりも重要である領域）として指示される。例えば、人物の画像を表現する２Ｄフレームでは、高い重み付け係数を有するマクロブロックが人物（例えば前景）を表現し、他方、より低い重み付け係数を有するマクロブロックが背景を表現することができる。ビデオエンコーディング中には、背景を表現するマクロブロックに比べてより大きい割合のビットを人物を表現するマクロブロックに割り当て、それにより、同じビット数を用いながら、２Ｄフレームの見かけの解像度を向上させることができる。
【００２１】
図４は、本発明の一実施形態による重み付け係数を生成するためのプロセスのフローチャートを示している。
図４の各ステップの動作は以下の通りである。
４１０  マクロブロックについての平均奥行き値を当該マクロブロック中のピクセルの奥行き値に基づいて求める
４２０  マクロブロックについての分散奥行き値を当該マクロブロック中のピクセルの奥行き値に基づいて求める
４３０  マクロブロックについての重み付け係数を平均奥行き値および分散奥行き値に基づいて生成する
一実施形態では、プロセス４００は、図１および図２のグレンコーダ１１０のようなコンピュータ可読およびコンピュータ実行可能命令の制御下で、プロセッサおよび電子コンポーネント（例えばコンピュータシステム）によって実行される。具体的なステップがプロセス４００に開示されているが、このようなステップは例示に過ぎない。すなわち、本発明の実施形態は、種々の他のステップまたは図４に記載されたステップの変形を実行するのに十分適合している。
【００２２】
プロセス４００のステップ４１０で、マクロブロックについての平均奥行き値が当該マクロブロック中のピクセルの奥行き値に基づいて求められる。MPEGの用語では、マクロブロックとは１６ピクセル×１６ピクセルのピクセルグループであり、２Ｄフレーム／ピクチャはオーバーラップしないマクロブロックから構成される。一実施形態では、レート制約の下で歪みの総量が最小化されるように、Ｎ個のマクロブロック（ＭＢ）からなるグループに属する各ＭＢに対して１つのエンコーディングモードが選択される。例えば、１行のＭＢ同士の相互依存性は、ビデオ規格h.263バージョン２ (h.263+)において線形にモデル化されているので、各ＭＢｉのレートおよび歪み、すなわちＲi()およびＤi()は、ＭＢiのモードｍiおよび前のＭＢi-1のモードｍi-1（利用可能であれば）のみに依存する。したがって、モード選択問題は、次の最適化として定式化することができる。
【００２３】
【数１】
0004809025.tif 000002
【００２４】
ただし、以下の条件が成立しているものとする。
【００２５】
【数２】
0004809025.tif 000003
【００２６】
ここで、ｈ．２６３ｖ２の場合、予測（Ｐ）フレームに対する可能なモードセット
【００２７】
【数３】
0004809025.tif 000004
【００２８】
は
【００２９】
【数４】
0004809025.tif 000005
【００３０】
であり、ＲsはＮ個のＭＢに対するビットレート制約である。
【００３１】
元の制約問題を解く代わりに、次のような対応するラグランジアン、すなわち無制約問題を解くのが通例である。
【００３２】
【数５】
0004809025.tif 000006
【００３３】
ここで、λoは所与の値のラグランジュ乗数である。式（２）の最適解{ｍio}が、
【００３４】
【数６】
0004809025.tif 000007
【００３５】
と定義される動作レート(operational rate)ＲsoがＲsに等しくなるλoが存在するような最適解であれば、{ｍio}は式（１）の最適解でもあることを容易に示すことができる。このようなλoが存在しない場合は、Ｒsにできるだけ近いＲsoを与えるようなλoを採用することが望ましい。その理由は、式（２）の近似解として{ｍio}を用いる際の近似誤差は| Ｒso - Ｒs |に比例するからである。量子化パラメータＱが与えられると適当なλoを経験的に求めることができることがわかっている。λoが与えられると、式（２）は通常、トレリスをたどり、その中で最短経路を求めることにより解かれる。
【００３６】
各ピクセル(ｊ, ｋ)の利用可能な奥行き値ｄ(ｊ, ｋ)が与えられた場合、各ＭＢiの重みｗiは、当該ＭＢについての重要さの程度を反映させて計算することができる。ｗiが与えられると、元のラグランジアンの代わりに、以下の修正ラグランジアンを解くことができる。
【００３７】
【数７】
0004809025.tif 000008
【００３８】
このようにすると、ペナルティ関数λ(ｗi)Ｒi()の厳しさを制御する乗数λ(ｗi)はＭＢiの重みｗiに依存する（このように、乗数λ(ｗi)は変数をとるので、乗数関数とも呼ぶ）。以下では、どのようにしてピクセル奥行き値ｄ(ｊ, ｋ)をＭＢの重みｗiにマッピングし、また適切な乗数関数λ(ｗi)を決めるか、を説明する。
【００３９】
各ピクセル(ｊ，ｋ)の奥行き値ｄ(ｊ, ｋ)が与えられたとき、１６×１６のＭＢiの各々についての重みｗiを、ＭＢiの重要さの程度を反映するように計算する必要がある。そのため、先ず、反奥行き値(anti-depth value)を、最大奥行き値からピクセル奥行きを引いた結果であるスカラー差（つまり、ｄmax−ｄ(ｊ, ｋ)）と定義する。一般に、カメラにより近い（つまり、反奥行き値が大きい）オブジェクトの表面ほど観戦者の関心を引く可能性が高い。したがって、或るＭＢ内の反奥行き値の平均は、そのＭＢ内のオブジェクトの表面がカメラにどのくらい近いと考えられるかの良好な指標となるであろう。実際、ピクセルの反奥行き値平均の２乗を、カメラに近いオブジェクトの重要性を強調するために用いることができるだろう。
【００４０】
ステップ４２０で、ピクセルの奥行き値に基づいて、マクロブロックについての分散奥行き値を求める。観察者はオブジェクトの形状を識別しようとするので、オブジェクトのエッジが重要となることが多い。ＭＢ内のオブジェクトのエッジは、ピクセル奥行き値の分散にしばしば反映される。
【００４１】
一例として、図５において、頂点ではなく底面の方がカメラに近い円錐オブジェクト５１０を考える。図５は、本発明の一実施形態による、２Ｄ平面上に射影された例示的な３Ｄオブジェクト５１０を示している。このとき、ＭＢ3およびＭＢ4は大きな反奥行き値平均を有し、一方ＭＢ1およびＭＢ2は大きなピクセル奥行き値分散を有する。
【００４２】
上記の２つの考察に基づき、ｗiはＭＢi内の反奥行き値平均の２乗にＭＢi内の奥行き値の分散を加えたものに等しいという公式をここで採用する。
【００４３】
他のＭＢを犠牲にして重要な領域にビットをより多く分配する程度を制御するため、γ≧１が、どのＭＢもビットバジェット、つまりビットの総割当量、のうちγ／Ｎより多くのシェアを取らないような乗数係数として定義される（Ｎは領域の個数であることに注意）。この分配制御を達成するため、オフセット重みｖiをｖi＝ｗi＋ｗoffとして定義する。ここでｗoffはオフセットパラメータである。平均として、各ＭＢiはビットバジェット全体のうち
【００４４】
【数８】
0004809025.tif 000009
【００４５】
の割合を占める。ここで、
【００４６】
【数９】
0004809025.tif 000010
【００４７】
はＮ個のＭＢのオフセット重みの平均である。γの定義により、
【００４８】
【数１０】
0004809025.tif 000011
【００４９】
を得る。式（４）の不等式は、オフセットパラメータｗoffを次式のように定義することによって満足される。
【００５０】
【数１１】
0004809025.tif 000012
【００５１】
ここで、
【００５２】
【数１２】
0004809025.tif 000013
【００５３】
かつ
【００５４】
【数１３】
0004809025.tif 000014
【００５５】
である。
【００５６】
このビット分配ストラテジを用いることにより、次式のように、ビットバジェットＲsはＮ個のＭＢに完全に使い尽くされる。
【００５７】
【数１４】
0004809025.tif 000015
【００５８】
ステップ４３０で、平均奥行き値および分散奥行き値に基づいて、マクロブロックに対する重み付け係数が生成される。重み付け係数は乗数関数λ(ｗi)とも呼ぶ。
【００５９】
式（２）の元のラグランジアン最適化に対して、最適解{ｍｉｏ}が式（１）の元の制約付き最適化のＲsに等しいか非常に近い動作レート
【００６０】
【数１５】
0004809025.tif 000016
【００６１】
を有するように、λoが事前に選択されると仮定する。ここで目標は、それぞれのＭＢiの重みｗiに対して、式（３）の修正ラグランジアン最適化を実行する場合にビットバジェットＲsの
【００６２】
【数１６】
0004809025.tif 000017
【００６３】
の割合が利用されることになる乗数λ(ｗｉ)を求めることである。これは、式（３）の解{ｍi*}から動作レート
【００６４】
【数１７】
0004809025.tif 000018
【００６５】
がＲsoと同じになることを意味する。この要件を有することには、λに対して従来導出されたどの公式も、本発明の修正されたレート−歪み最適化が適用されたとき、同じ意図された動作レートを有するという利益がある。
【００６６】
マッピングλ(ｗi)を導出するためには、λおよびレートＲの理論的特徴づけが必要である。ラグランジュ乗数λは、次式のように、歪み−レート関数の傾きに負号を付けたものに対応する。
【００６７】
【数１８】
0004809025.tif 000019
【００６８】
エントロピー制約スカラー量子化に対する典型的な高レート近似曲線は次式のように書くことができる。
【００６９】
【数１９】
0004809025.tif 000020
【００７０】
ここで、ａおよびｂは、レート−歪み関数をパラメータ化した定数である。したがって、λは次式のようにＲと指数関数的に関係する。
【００７１】
【数２０】
0004809025.tif 000021
【００７２】
式（９）の１つの解釈は、Ｎ個のＭＢに対して動作レートＲs0を達成するには、式（９）によって適当な乗数λoが求められるということである。ところが、パラメータａ、ｂも意図されたレートＲsoも判っていない。しかし、
【００７３】
【数２１】
0004809025.tif 000022
【００７４】
から、Ｎ個のＭＢに対して平均としてＭＢ当たり（１／Ｎ）Ｒsoのビット消費となることが分かる。そこで、ＭＢiに対してターゲット利用率
【００７５】
【数２２】
0004809025.tif 000023
【００７６】
を達成するには、動作レートが
【００７７】
【数２３】
0004809025.tif 000024
【００７８】
となるλ(ｗi)を求め、それを式（３）でなされているようにＭＢiのみに適用することで、平均として
【００７９】
【数２４】
0004809025.tif 000025
【００８０】
を消費することになる。
【００８１】
Ｎ個のＭＢに対して
【００８２】
【数２５】
0004809025.tif 000026
【００８３】
ビットを消費するλ(ｗi)を求めるには、λoに関してＲsoについて解き、式（９）に代入する。
【００８４】
【数２６】
0004809025.tif 000027
【００８５】
式（９）を見ればｂ／ａ≧λoであることが分かる。ｂ／ａ＝αλo（ここでα≧１）とすれば、次式を得る。
【００８６】
【数２７】
0004809025.tif 000028
【００８７】
図３に戻って、ステップ３５０で、２Ｄフレームおよびコンポジション情報に基づいてビットストリームがエンコーディングされる。一実施形態では、ビットストリームは、そのビットストリームのマクロブロックに対する重み付け係数（例えばλ(ｗi)）を利用してエンコーディングされる。一実施形態では、その後、ビットストリームは、モバイルマルチキャストサポートを用いて、関心を持っているゲーム観戦者へストリーミングされる。
【００８８】
本発明の種々の実施形態が、３次元グラフィクスから２次元ビデオへのエンコーディングを改善するための方法および装置を提供する。本発明は、規格に準拠したビデオにおけるモバイルネットワークゲームシーケンスを多数のゲーム観戦者にストリーミングするための方法および装置を提供する。グレンコーダが、入力として３Ｄゲームグラフィクスを受け取り、ｈ．２６３＋ビデオエンコーディング中にインテリジェントなモード選択を実行することによって、ビデオ中の重要な領域の視覚上の品質を高める。重要な領域は、３Ｄオブジェクトがラスタ化中に２Ｄサーフェスに射影される時に利用可能となるフレームバッファ内のピクセルのコンポジション情報（例えば奥行き値）を抽出することによって識別される。
【００８９】
以上、本発明の実施形態として、３次元グラフィクスから２次元ビデオへのエンコーディングのための方法および装置について説明した。本発明は特定の実施形態において説明されているが、本発明は、そのような実施形態によって限定されると解釈されるべきではなく、添付の特許請求項に従って解釈されるべきであることが理解されるべきである。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態によるゲーム観戦者ビデオエンコーディングおよびモバイルネットワークのブロック図。
【図２】本発明の一実施形態によるグラフィクス−ビデオエンコーダのブロック図。
【図３】本発明の一実施形態による３次元グラフィクスから２次元ビデオへのエンコーディングのためのプロセスのフローチャート。
【図４】本発明の一実施形態による重み付け係数を生成するためのプロセスのフローチャート。
【図５】本発明の一実施形態による２次元（２Ｄ）平面上に射影された例示的な３次元（３Ｄ）オブジェクトを示す図。
【符号の説明】
【００９１】
１００  ネットワーク
１０２  プレーヤ
１０４  コアネットワーク
１０６  ポータル
１０８  ゲームサーバ
１１０  グラフィクス−ビデオエンコーダ
１１２  モバイルマルチキャストサポート
１１４、１１６  ゲーム観戦者
２０５  ３Ｄモデル
２１０  グラフィクスレンダリングユニット
２１５  ２Ｄフレーム
２２０  コンポジション情報抽出部
２２５  コンポジション情報
２３０  ビデオエンコーダ
２３５  エンコードされたビットストリーム
５１０  円錐オブジェクト
ＭＢ1、ＭＢ2、ＭＢ3、ＭＢ4  マクロブロック
【図１】
0004809025.tif 000029
【図２】
0004809025.tif 000030
【図３】
0004809025.tif 000031
【図４】
0004809025.tif 000032
【図５】
0004809025.tif 000033