深さイメージに基づく3次元客体の表現装置、3次元客体の表現方法およびその記録媒体
【課題】 深さイメージに基づく3次元客体の表現装置及び方法を提供する。
【解決方法】 客体を含むオクツリーを所定個数の下位キューブに分割し、客体に対する形態情報を生成する形態情報生成部2330と、キューブ各々に対して参照イメージを決定する参照イメージ決定部2320と、参照イメージのインデックス情報を生成するインデックス生成部2340と、形態情報、インデックス情報及び参照イメージで構成されるオクツリーノードを生成するノード生成部2350と、オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部2360とを含み、形態情報生成部2330は、分割された下位キューブの大きさが所定の基準大きさより小さくなるまで下位キューブへの分割過程を反復的に実施する。
【解決方法】 客体を含むオクツリーを所定個数の下位キューブに分割し、客体に対する形態情報を生成する形態情報生成部2330と、キューブ各々に対して参照イメージを決定する参照イメージ決定部2320と、参照イメージのインデックス情報を生成するインデックス生成部2340と、形態情報、インデックス情報及び参照イメージで構成されるオクツリーノードを生成するノード生成部2350と、オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部2360とを含み、形態情報生成部2330は、分割された下位キューブの大きさが所定の基準大きさより小さくなるまで下位キューブへの分割過程を反復的に実施する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一群の深さイメージに基づく表現(Depth Image−Based Representation:DIBR)3次元客体表現装置及び方法に係り、より詳細には、MPEG−4動映像フレームワーク拡張(MPEG−4 Animation Framework eXtention:AFX)に採用されてきたDIBRという一群のコンピュータグラフィック及びアニメーションのための3次元客体の表現装置、3次元客体の表現方法およびその記録媒体に関する。
【背景技術】
【0002】
3次元(3−Dimensional:3D)グラフィックに関する研究の初期から研究者等の窮極的な目標は実際イメージのような現実的なグラフィック画面を生成することである。したがって、伝統的なレンダリング技術分野で多角形モデル(Polygonal model)を利用する研究が実行され、その結果として非常に現実的な3D環境を提供するのに十分な程度にモデリング及びレンダリング技術が開発されてきた。しかし、複雑なモデルを生成するための過程は専門家の多くの努力と時間を必要とする。また、現実的で複雑な環境は莫大な量の情報を必要とし、貯蔵及び伝送において低効率を招く。
【0003】
現在、コンピュータグラフィックにおいて3D客体表現の主要な方法は多角形モデルである。任意の形状を色相多角形の集合、すなわち、三角形により概略的に表現できる。ソフトウェアアルゴリズムの飛躍的な進歩及びグラフィックハードウェアの発展により、複雑な客体及び場面をリアルタイムでかなり現実的な静止及び動映像多角形モデルに視覚化できる。
【0004】
しかし、他の3D表現に関する研究がここ数年間非常に活発に進んできた。現実世界の客体に対する多角形モデルを構成し難いだけでなくレンダリングの複雑性及び写真のように現実的な場面を生成するのにおいて品質が落ちるということが、このような研究が進んできた主要な理由である。
【0005】
要求されるアプリケーションは莫大な量の多角形を必要とする。例えば、人体の詳細なモデルは数百万個の三角形を含み、これを扱うことは容易ではない。たとえ、3次元レーザースキャナーのように3次元測定技術分野での最近の進歩により収容可能なエラーを有する稠密なデータを得られるが、全体客体に対して連続的に完璧な多角形モデルを得ることは依然としてコストが多くかかって非常にむずかしい。一方、写真のような現実的な品質を得るための多角形レンダリングアルゴリズムは演算において複雑なのでリアルタイムレンダリングが不可能である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする技術的課題は、MPEG−4 AFXに採用されてきたDIBRと呼ばれる、一群のコンピュータグラフィックとアニメーションのための3次元表現のための深さイメージに基づくノード構造を提供するのにある。
【0007】
本発明が解決しようとする他の技術的課題は、MPEG−4 AFXに採用されてきたDIBRという一群のコンピュータグラフィック及びアニメーションのための3次元表現方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み出すことができる記録媒体を提供するのにある。
【課題を解決するための手段】
【0008】
前記技術的課題を達成するため、本発明による深さイメージに基づく3次元客体表現装置は、客体を構成するオクツリーのうち前記客体を含むオクツリーを所定個数の下位キューブに分割し、分割された下位キューブを子ノードと規定して前記客体に対する形態情報を生成する形態情報生成部と、前記キューブ各々に対して色相イメージを含む参照イメージを決定する参照イメージ決定部と、前記形態情報に対応する前記参照イメージのインデックス情報を生成するインデックス生成部と、前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成するノード生成部と、前記オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部とを含み、前記形態情報生成部は、前記分割された下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施する。
【0009】
さらに他の本発明による深さイメージに基づく3次元客体表現装置は、ビットストリームを入力される入力部と、前記ビットストリームからオクツリーノードを抽出する第1抽出部と、前記オクツリーノードをデコーディングするデコーディング部と、前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する第2抽出部と、前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する客体表現部とを含む。
【0010】
前記他の技術的な課題を達成するための、本発明による深さイメージに基づく3次元客体表現方法は、客体を構成するオクツリーのうち前記客体を含むオクツリーを所定個数の下位キューブに分割し、分割された下位キューブを子ノードと規定して前記客体に対する形態情報を生成する段階と、前記キューブ各々に対して色相イメージを含む参照イメージを決定する段階と、前記形態情報に対応する前記参照イメージのインデックス情報を生成する段階と、前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成する段階と、前記オクツリーノードをビットストリームにエンコーディングする段階とを含み、前記形態情報生成部は、前記分割された下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施する。
【0011】
さらに他の本発明による深さイメージに基づく3次元客体表現方法は、ビットストリームを入力される段階と、前記ビットストリームからオクツリーノードを抽出する段階と、前記オクツリーノードをデコーディングする段階と、前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する段階と、前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する段階とを含む。
【0012】
本発明によれば、イメージ基盤モデルに対するレンダリング時間が多角形の場合のように形態的な複雑性に比例せず、一般的に参照及び出力イメージに存在するピクセルの数に比例する。さらに、イメージ基盤表現が現実世界の客体と場面に適用されれば数百万個の多角形を使用せずに低コストで自然的な場面の写真のような現実的なレンダリングが可能になる。
【発明の効果】
【0013】
本発明によれば、このようなイメージ基盤表現は、色相3次元客体の完全な情報を2次元配列の集合−イメージ処理及び圧縮の公知の方法に直ちに適用できる単純で規則的な構造−でエンコーディングするので、アルゴリズムが簡単で多くの部分がハードウェアにより支援される。その上、イメージ基盤モデルに対するレンダリング時間は多角形の場合のように形態的な複雑性に比例せず、一般的に参照及び出力イメージに存在するピクセルの数に比例する。さらに、イメージ基盤表現が現実世界の客体と場面に適用されれば数百万個の多角形及び高コストの使用なしに自然な場面の写真のような現実的なレンダリングが可能になる。
【図面の簡単な説明】
【0014】
【図1】現在の参照ソフトウェアに統合されたIBRの例を示した図面である。
【図2】オクツリーの構造及び子の順序を示した図面である。
【図3】オクツリー圧縮率を示したグラフである。
【図4】LDIの投影を示した図面であり、(a)暗いセル(ボクセル)は1に対応し、白いセルは0に対応すし、(b)(x、depth)平面での2D切片である。
【図5】色相データの再配列後の“天使”モデルの色相成分を示した図面である。
【図6】ノード発生確率の直交不変を示した図面であり、(a)元来現在及び親ノードであり、(b)現在及び親ノード(y軸を中心に90゜回転)である。
【図7】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図8】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図9】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図10】‘天使’ポイントテクスチャーモデルの色相フィールドを2Dイメージに再配列する2つの方式を示した図面である。
【図11】無損失形態圧縮及び損失色相圧縮の例を示した図面であり、(a)は元来の‘天使’モデル、(b)は圧縮された‘天使’モデル、(c)は元来の‘モルトン256’モデル、(d)圧縮された‘モルトン256’モデルである。
【図12】‘天使’モデルのBVOモデルとTBVOモデルとを示した図面である。
【図13】TBVOでの付加カメラにより撮影された付加イメージを示した図面であり、(a)はカメラインデックスイメージ、(b)は最初の付加イメージ、(c)は2番目の付加イメージである。
【図14】TBVOストリームを記述する一例を示した図面((a)TBVOツリー構造、(b)BVOノードとカメラインデックスでのオクツリー横断順序、(c)結果的なTBVOストリーム)である。
【図15】‘天使’モデルの圧縮結果を示した図面である。
【図16】除去された天使及びモルトンモデルのイメージを示した図面である。
【図17】‘モルトン’モデルの圧縮結果を示した図面である。
【図18】‘椰子512’モデルの圧縮結果を示した図面である。
【図19】‘ロボット512’モデルの圧縮結果を示した図面である。
【図20】色相イメージと深さマップの一例を示した図面である。
【図21】階層的な深さイメージの一例を示した図面((a)客体の投影、(b)階層的なピクセル)である。
【図22】中心に見られるモデルを描写するために使われる6個のシンプルテクスチャー(色相イメージと深さマップの対)よりなるBTの一例を示した図面である。
【図23】GBTの一例を示した図面((a)‘椰子’モデルに対するカメラの位置、(b)同じモデルに対する参照イメージ平面)である。
【図24】2Dで描写されたオクツリー表現の一例を示した図面((a)‘点雲’、(b)対応する中間マップ)である。
【図25】TBVOビットストリームを記述するための擬似コードである。
【図26】DIBRノードの定義を示す図面である。
【図27】深さイメージに対する視覚体積モデルを示した図面((a)遠近視点、(b)直交視点)である。
【図28】シンプルテクスチャーのOpenGLに基づくレンダリングの擬似コードである。
【図29】シンプルテクスチャーで参照イメージの圧縮の一例を示した図面((a)元来の参照イメージ、(b)JPEGフォーマットで修正された参照イメージ)である。
【図30】相異なるフォーマットの“モルトン”モデルのレンダリング結果の一例を示した図面((a)元来の多角形フォーマット、(b)深さイメージフォーマット、(c)オクツリーイメージフォーマット)である。
【図31】レンダリングの一例を示した図面((a)深さイメージフォーマットでスキャニングされた“膽星台”モデル、(b)オクツリーイメージフォーマットでスキャニングされた同じモデル)である。
【図32】“椰子”モデルのレンダリングの一例を示した図面((a)元来の多角形フォーマット、(b)深さイメージフォーマットの同じモデル)である。
【図33】オクツリーイメージの“ドラゴン512”アニメーションからのフレームを示すレンダリングの一例を示した図面である。
【図34】ポイントテクスチャーフォーマットの“天使412”モデルのレンダリングの一例を示した図面である。
【図35】本発明によるシンプルテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図36】前処理部(1820)の詳細な構成を示したブロック図である。
【図37】本発明によるシンプルテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の遂行過程を示したフローチャートである。
【図38】本発明によるポイントテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図39】本発明によるポイントテクスチャーによる深さイメージに基づく3次元客体表現方法に関する一実施例の遂行過程を示したフローチャートである。
【図40】本発明によるオクツリーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図41】前処理部(2310)の詳細な構成を示したブロック図である。
【図42】インデックス生成部(2340)の詳細な構成を示したブロック図である。
【図43】エンコーディング部(2360)の詳細な構成を示したブロック図である。
【図44】第2エンコーディング部(2630)の詳細な構成を示したブロック図である。
【図45】第3エンコーディング部(2640)の詳細な構成を示したブロック図である。
【図46】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する一実施例の遂行過程を示したブロック図である。
【図47】参照イメージに関する前処理段階の遂行過程を示したフローチャートである。
【図48】インデックス生成段階の遂行過程を示したフローチャートである。
【図49】エンコーディング段階の遂行過程を示したフローチャートである。
【図50】第2エンコーディング段階の遂行過程を示したフローチャートである。
【図51】第3エンコーディング段階の遂行過程を示したフローチャートである。
【図52】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する他の実施例の遂行過程を示したフローチャートである。
【図53】本発明によるオクツリーによる深さイメージに基づく3次元客体表現装置に関する他の実施例の構成を示したブロック図である。
【図54】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する他の実施例の遂行過程を示したフローチャートである。
【発明を実施するための形態】
【0015】
本出願は米国商標特許庁に仮出願された4件の出願を基礎出願として優先権を主張して出願される。以下、本出願の優先権主張の基礎になった4件の仮出願書に記載された発明を記述する。
【0016】
I.ISO/IEC JTC 1/SC 29WG 11 動映像及び音響のコーディング
1.序論
本文書でイメージに基づくレンダリング(AFX A8.3)に対するコア実験結果が報告される。このコア実験は、深さ情報を有するテクスチャーを利用するイメージに基づくレンダリング技術に関する。また、10月にあったAFX adhocグループ会議期間中の57次MPEG会議及び議論以後、実験に基づいてノード定義に加えられたいくつかの変更が提示される。
【0017】
2.実験結果
2.1.テストモデル
●静止客体に対して
■シンプルテクスチャーを有する深さイメージノード
◆犬
◆チラノサウルスレックス(約20個のカメラを使用した深さイメージ)
◆テラスク(モンスター)(約20個のカメラを使用した深さイメージ)
◆膽星台(約20個のカメラを使用した深さイメージ)
◆椰子(約20個のカメラを使用した深さイメージ)
■階層テクスチャーを有する深さイメージノード
◆天使
■ポイントテクスチャーを有する深さイメージノード
◆天使
■オクツリーイメージノード
◆生物
●動的客体に対して
■シンプルテクスチャーを有する深さイメージノード
◆竜
◆背景での竜
■階層テクスチャーを有する深さイメージノード
◆提供されない
■オクツリーイメージノード
◆ロボット
◆背景での竜
●今後より多くのデータ(スキャニングまたはモデリングされた)が提供されるであろう。
【0018】
2.2.テスト結果
●シドニーで提案されたあらゆるノードはblaxxun contact 4.3参照ソフトウェアに統合されている。しかし、まだcvsサーバーにソースが更新されていない。
●イメージに基づくレンダリング(Image Based Rendering:IBR)に対する動的フォーマットはそれぞれの動映像ファイルから同じキーフレームに存在するイメージが同時に与えられるように複数の動映像ファイルの間に同調される必要がある。しかし、現在の参照ソフトウェアはMPEGシステムではできるだけこのような同調能力を支援しない。したがって、現在動的フォーマットはあらゆる動的データが既にファイルに存在すると仮定することによって表面化される。暫定的にAVIフォーマットの動映像ファイルがそれぞれの動的テクスチャーに使われる。
●階層文脈に対するいくつかの実験を実行した後、階層テクスチャーノードは効率的でないことが明らかになった。このようなノードは階層深さイメージに対して提案された。しかし、それを支援できるポイントテクスチャーノードがまた存在する。したがって、ノード定義で階層テクスチャーノードを削除することを提案する。
●図1は現在参照ソフトウェアに統合されたIBRの例である。
【0019】
3.IBRノード定義に対するアップデート
IBR提案に対するシドニー会議の結論はイメージ及びカメラ情報を含むIBRストリームを有さねばならず、IBRノードはそれへのリンク(url)を有すればよいということである。しかし、Rennesで開いたadhogグループ会議でのIBRに対する議論結果は、IBRノードとストリームいずれもイメージ及びカメラ情報を有さねばならないということである。したがって、IBRノードに対するノード定義は次のようにアップデートされる。IBRストリームの必要性はurlフィールドを説明する章で説明される。
【0020】
【表1】
【0021】
深さイメージノード(DepthImage node)は一つのIBRテクスチャーを定義する。複数の深さイメージノードが互いに関連される時、これらは一つのグループで処理されるので同じ変換ノードの下に位置せねばならない。
【0022】
diTextureフィールドは深さイメージノードに定義されている領域にマッピングされねばならない深さを有するテクスチャーを特定する。それは、多様な形態の深さイメージテクスチャー(シンプルテクスチャーまたはポイントテクスチャー)の一つである。
【0023】
位置(position)及び方向(orientation)フィールドはローカル座標系でIBRテクスチャーの観点の相対的位置を特定する。方向は基本方向に対する相対的回転を特定する一方、位置は座標系の原点(0,0,0)に相対的である。基本位置及び方向で、観察者は右側には+X軸と垂直に+Y軸とを有する原点に向かって−Z軸を見下ろしながらZ軸上に位置する。しかし、変換階層は視点の最終位置及び方向に影響を与える。
【0024】
fieldOfViewフィールドは、位置及び方向フィールドにより定義されたカメラ視点からの視覚を特定する。最初の値は水平角を意味し、第二の値は垂直角を意味する。基本値は45ラジアンである。しかし、直交(orhogonal)フィールドが真(TRUE)と設定されればfieldOfViewフィールドは隣接平面と遠接平面との幅と高さを意味する。
【0025】
nearPlaneとfarPlaneフィールドは視点から可視領域の隣接平面及び遠接平面までの距離を特定する。テクスチャー及び深さデータは隣接平面、遠接平面そしてfieldOfViewにより囲まれた領域を示す。深さデータは隣接平面から遠接平面までの距離で正規化される。
【0026】
直交フィールドは、IBRテクスチャーの視覚形態を特定する。真と設定されている場合にIBRテクスチャーは直交視点に基づく。そうでない場合にIBRテクスチャーは遠近視点に基づく。
【0027】
depthImageUrlフィールドは付加的に次の内容を含みうる深さイメージストリームのアドレスを特定する。
【0028】
●位置(position)
●方向(orientation)
●fieldOfView
●近接平面(nearPlane)
●遠接平面(farPlane)
●直交(orthogonal)
●diTexture(シンプルテクスチャーまたはポイントテクスチャー)
●上位フィールドのフラグオン/オフに対する1バイトヘッダ
【0029】
【表2】
【0030】
シンプルテクスチャーノードは単層のIBRテクスチャーを定義する。
テクスチャー(texture)フィールドはそれぞれのピクセルに対する色相を含む平面イメージを特定する。これは多様な形態のテクスチャーノード(イメージテクスチャー、動映像テクスチャーまたはピクセルテクスチャー)のうち一つである。深さノードがNULLであるか、深さフィールドが特定されていなければ、テクスチャーフィールドでアルファチャンネルは深さマップとして利用される。
【0031】
【表3】
【0032】
ポイントテクスチャー(PointTexture)ノードは複層のIBR点を特定する。
【0033】
幅(width)及び高さ(height)フィールドはテクスチャーの幅及び高さを特定する。
【0034】
深さ(depth)フィールドは横断順に投影された面で各点に対する複数の深さを特定して(正規化された座標上で)、左側下段のコーナーにある点から出発して右側に横断しながら上側にある線に移動する前に水平線で終了する。それぞれの点に対して、深さ(ピクセル)番号が先に貯蔵され、深さ番号値は次に貯蔵される。
【0035】
色相(color)フィールドは現在ピクセルの色相を特定する。順序はそれぞれの点に対する深さ(ピクセル)番号が含まれていないことを除いては深さフィールドと同一である。
【0036】
【表4】
【0037】
オクツリーイメージ(octreeimage)ノードは、オクツリー構造及びこれらの投影されたテクスチャーを定義する。全体オクツリーの閉じられたキューブの大きさは1×1×1であり、オクツリーキューブの中心はローカル座標系の原点である(0,0,0)でなければならない。
【0038】
オクツリー解像度(octreeresolution)フィールドは、閉じられたキューブの側面にかかったオクツリーリーフの最大数を特定する。オクツリーレベルは次の式を使用してオクツリー解像度から決定される。
【0039】
【数1】
【0040】
オクツリーフィールドはオクツリー内部ノードの集合を特定する。それぞれの内部ノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在することを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序にならねばならない。内部ノードの8個の子の順序が図3に示されている。
【0041】
オクツリーイメージフィールドは、diTextureフィールドに対してシンプルテクスチャーを有する深さイメージノードの集合を特定する。しかし、深さイメージに対する隣接平面、遠接平面フィールド及びシンプルテクスチャーで深さフィールドは使われない。
【0042】
octreeUrlフィールドは次のような内容を有するオクツリーイメージストリームのアドレスを特定する。
●フラグに対するヘッダ
●オクツリー解像度
●オクツリー
●オクツリーイメージ(複数の深さイメージノード)
■隣接平面は使われない
■遠接平面は使われない
■diTecture→深さを有していないシンプルテクスチャー
【0043】
II.ISO/IEC JTC 1/SC 29WG 11 動映像及び音響のコーディング
1.序論
本文書でIBR(AFX A8.3)に対するコア実験結果が報告される。このコア実験は深さ情報を有するテクスチャーを利用するIBR技術に関する。また、10月にあったAFX adhocグループ会議期間中の57次MPEG会議及び議論以後の実験に基づいてノード定義に加えられたいくつかの変更が提示される。2.octreeUrlに対するストリーミングフォーマット
2.1.ストリームフォーマット
オクツリーイメージノードはオクツリーイメージストリームのアドレスを特定するoctreeUrlフィールドを含む。このストリームは付加的に次のような内容を含むことができる。
●フラグに対するヘッダ
●オクツリー解像度
●オクツリー
●オクツリーイメージ(複数の深さイメージノード)
■隣接平面は使われない
■遠接平面は使われない
■diTexture→深さを持っていないシンプルテクスチャー
オクツリーフィールドはオクツリー内部ノード集合を特定する。それぞれの内部ノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在することを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序にならねばならない。内部ノードの8つの子の順序が図1に示されている。
【0044】
オクツリーイメージノードのオクツリーフィールドは簡単なフォーマットである。しかし、このフィールドは効率的なストリーミングのためにより圧縮されることができる。次に、オクツリーイメージノードのオクツリーフィールドに対する圧縮方案を記述する。
【0045】
2.2.オクツリーフィールドに対する圧縮方案
DIBRのオクツリー表現において、データは形態成分を表現するオクツリーフィールドで構成される。オクツリーは客体表面を完全に表現し、閉じられたキューブに存在する点の集合である。
圧縮された表現から形態の同一でない再生はかなり目立つアーチファクトを生じる。したがって、形態は情報の損失なしに圧縮されねばならない。
【0046】
2.2.1.オクツリー圧縮
深さ優先横断オクツリー形態で表現されるオクツリーフィールドの圧縮に対して、われらは部分マッチングによる予測(Prediction by Partial Matching:PPM)接近の一部概念を利用した無損失圧縮方法を開発した。われらが利用する主な思想はいくつかの以前シンボルによる次のシンボルの“予測”(すなわち、確率推定)である。これを‘文脈’と称する。それぞれの文脈に対して、このような文脈に存在するそれぞれのシンボルに対する推定された発生確率を含む確率テーブルが存在する。これは領域コーダと呼ばれる算術コーダと結合されて使われる。
【0047】
この方法の2つの主要な特性は、
1.子ノードに対して文脈として親ノードを使用し、
2.文脈の数を減らすために‘直交不変’推定を使用することである。
第2の思想は‘親−子’ノードの対に対する‘遷移確率’は直交変換(回転及び対称)下で通常的に不変という観察に基づく。このような仮定は添付1に記述されている。このような仮定により過度に多くの確率テーブルを有さずにより複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。多くの文脈を使用するほど推定された確率がより明確になり、したがって、コードがより簡潔になる。
【0048】
コーディングは、文脈モデルによる確率テーブルの生成及び更新過程である。提案された方法で、文脈はオクツリー構造で親−子階層でモデリングされる。まず、シンボルを、内部下位分割した後、下位キューブの発生を表すビットを有するバイトノードと定義する。したがって、オクツリーでそれぞれのノードはシンボルになることができ、それらの数値は0〜255になる。確率テーブル(Probabilistic Table:PT)は256個の整数値を含む。全体変数の和により割られたi番目変数値(0≦i≦255)はi番目シンボル発生頻度(確率推定)と同一である。確率文脈テーブル(ProbabilisticContextTable:PCT)はPTの集合である。シンボルの確率はPTの一つから決定される。特定のPTの数は文脈に依存する。PCTの例が表5に示されている。
【0049】
【表5】
【0050】
コーダは次のように動作する。コーダはまず0−文脈モデルを使用する(すなわち、あらゆるシンボルに対して一つのPTを使用し、均一分布から始まってそれぞれの新しくコーディングされたシンボルの次にPTを更新する)。ツリーは深さ優先順序で横断される。十分な資料が収集されれば(実験的に発見値は512個のコーディングされたシンボルである)、コーダは1−文脈モデルに転換する。1−文脈モデルは次のように特定された27個の文脈を有する。
【0051】
対称及び座標軸に対して90゜回転(添付2参照)を含む32個の固定された直交変換集合を想定すれば、これらの下位キューブに対する積層パターンによってシンボルを分類できる。われらの方法によれば、ここではグループと呼ばれる次のような特性を有する27個のシンボル集合が存在する。2個のシンボルは同じグループに属すればこのような固定された変換のうち一つにより連結される。
【0052】
バイト表記において、グループは27個の数字集合(添付2参照)により表現される。PTは親ノード自体ではない(256個のテーブルが存在する場合において)親ノードが属するグループ(図2で親シンボルと命名された)に従属的であると仮定する(したがって、27個のテーブル)。
【0053】
転換時、あらゆる文脈に対するPTは0−文脈PTの写本に配置される。それから、それぞれの27個のPTはコーディングに使われる時に更新される。
【0054】
2048個(さらに他の発見値)のシンボルが1−文脈モデルにコーディングされた後、文脈として対(親シンボル、ノードシンボル)を使用する2−文脈モデルに転換する。ノードシンボルは単純に親ノードにおいて現在ノードの位置である。したがって、2−文脈モデルに対して27*8個の文脈が存在する。このようなモデルへの転換時、それぞれの文脈に対して得られたPTはこのような文脈の‘内部に存在する’それぞれのノードに対して使われ、この時から独立的に更新される。
【0055】
技術的により詳細に説明すれば、1−文脈及び2−文脈モデルに対するエンコーディングは次のように進む。現在シンボルの文脈(すなわち、親ノード)に対して、これらのグループが決定される。これはテーブル検索により実施される(形態分析はプログラム開発段階で実施される)。それから、文脈をそれが属するグループの‘標準’(全部任意に選択された)成分として取る直交変換を適用する。同じ変換がシンボル自体に適用される(このような演算もテーブル検索として実施され、あらゆる可能な結合に対するあらゆる計算はもちろん事前に実施される)。事実上、これは、シンボルの文脈を含むグループに対するPTに存在する現在シンボルの正確な位置に対する計算である。それから、対応する確率が領域コーダに入力される。
【0056】
簡略にすれば、親シンボル及び下位ノード位置が与えられれば、グループID及びPCTでのPTの位置を識別する文脈ID(ContextID)が決定される。PTの確率分布及び文脈IDは領域コーダに入力される。エンコーディング後、PCTは次のエンコーディングに使われるために更新される。領域コーダはビットの代りにバイトに再正規化する算術コーディングの変形であり、したがって、算術コーディングの標準道具より0.01%低い圧縮品質を有して2倍も速く動作することに注目せねばならない。
【0057】
デコーディング手順は本質的にエンコーディング手順の逆である。これは文脈決定、確率更新等において正確に同じ方法を使用するので、説明する必要がない完全に標準的な手順である。
【0058】
2.3.テスト結果
図3は、静止及び動的モデルに対する本接近法の比較のためのテーブルである(横軸は圧縮率を表示する)。オクツリー圧縮率は元来オクツリーの大きさと比較して約1.5〜2倍で変わり、一般的な目的の無損失圧縮性能(RARプログラムのようなLempel−Ziv基盤)が約30%良好である。
【0059】
3.depthImageUrlに対するストリーミングフォーマット
3.1.ストリームフォーマット
深さイメージノードは、深さイメージストリームのアドレスを特定するdepthImageUrlフィールドを含む。このようなストリームは次のような内容を付加的に含むことができる。
●下のフィールドのオン/オフフラグのための1バイトヘッダ
●位置(position)
●方向(orientation)
●fieldOfView
●隣接平面(nearPlane)
●遠接平面(farPlane)
●直交(orthogonal)
●diTexture(シンプルテクスチャーまたはポイントテクスチャー)
【0060】
深さイメージノードのdiTextureに使われるポイントテクスチャーノードの定義は次の通りである。
【0061】
【表6】
【0062】
ポイントテクスチャーノードはIBR点に対する複数の層を定義する。幅(width)と高さ(height)フィールドとはテクスチャーの幅と高さとを特定する。深さ(depth)フィールドは左側下部コーナーに存在する点から出発して上位線に移動する前に右側に横断して水平線で終了する横断順に投影面での各点(正規化された座標)に対する複数の深さを特定する。それぞれの点に対して、深さ(ピクセル)の番号がまず貯蔵され、深さ値の番号が次に貯蔵される。色相(color)フィールドは現在ピクセルの色相を特定する。順序はそれぞれの点に対して深さ(ピクセル)の番号が含まれないということを除いては深さフィールドと同一である。
【0063】
ポイントテクスチャーに対する深さ及び色相フィールドは処理されていないフォーマットであり、このようなフィールドの大きさはかなり大きいはずである。したがって、このようなフィールドは効率的なストリーミングのために圧縮される必要がある。次の章は、ポイントテクスチャーノードのフィールドに対する圧縮方案を記述する。
【0064】
3.2.ポイントテクスチャーに対する圧縮方案
3.2.1.深さフィールドの圧縮
ポイントテクスチャーノードの深さフィールドは、単純に‘区分された閉じられたキューブ’に存在する点の集合である。底面を投影面と仮定する。モデルに対してm*n*1大きさの格子が与えられれば、点がこのような格子のセル(オクツリーの場合にこれらをボクセルと称する)の中心とする時、占有されたボクセルは1に、空いているボクセルは0と想定できる。それにより、ビット(m*n*1ビット)の結果集合はバイトストリームで構成される。これは深さが8である層と投影面(深さの大きさが8の倍数ではない場合に、必要ならば0である最後のバイト層を保護しながら)における一般的な順序(“列方向”)により深さ(投影面に垂直の)方向に存在するボクセルを横断することによって達成される。したがって、点の集合を8ビットグレースケールイメージの積層(多様な16ビットイメージ)として考えられる。ボクセルとビットに対応する図が図4(a)に示されている。
【0065】
例えば、図4(b)で黒色四角形は客体上の点に対応される。水平面は投影面である。高さが16である‘スライス’を仮定し、列をバイトとする。すなわち、図面で表示された点の上に存在する列は、18と1の値を有する2バイトスタック(または16−bit unsigned integer 274)を表す。もし、このような方式で得られたバイトの集合に最適のPPM基盤圧縮方法を適用すれば良好な結果を得られる。しかし、単純な1−文脈方法をここに直接適用すれば(もちろん直交不変または階層的な文脈はここに使用できない)、これは多少低級な圧縮を招く。下にLDI形態表現の他の形態−BVOC、最適PPM圧縮手段により圧縮された上のバイトアレイ、及び現在使われた圧縮手段により圧縮された同じアレイに対して要求される体積テーブルが与えられている(単位:Kbytes)。
【0066】
【表7】
【0067】
3.2.2.色相フィールド圧縮
ポイントテクスチャーノードの色相フィールドは客体の点に起因した色相集合である。オクツリーの場合とは異なり、色相フィールドは深さフィールドと一対一対応関係にある。概念は、色相データを公知の損失技術の一つにより圧縮されうる一つのイメージで表現することである。このようなイメージで最も重要なのは、オクツリーまたは深さイメージの場合における参照イメージよりはるかに小さいということであり、これはこのような接近法の実質的な動機である。イメージは多様な自然的な順序で深さ点をスキャニングして得られる。
【0068】
まず、LDI(ポイントテクスチャー)に対する元来の貯蔵フォーマットにより記録されたスキャニング順序−形態の‘深さ優先’スキャニング−を考慮する。多重ピクセルが単純なピクセルと同じく自然的な順序で投影面にわたってスキャニングされ、同じ多重ピクセル内部の点が深さ方向にスキャニングされる。このようなスキャニング順序は色相の1Dアレイ(1次nonzero多重ピクセル、2次nonzero多重ピクセル)を生成する。深さが把握されてからすぐ点の色相は連続的にこのようなアレイから再生成されうる。イメージ圧縮方法を適用できるようにするために、このような長いストリングを2Dアレイに一対一マッピングせねばならない。これは多様な方法により実施できる。
【0069】
色相ストリングが8*8ブロックで配列される時、下のテストで使われた接近法はいわゆる“ブロック単位スキャン”である。結果イメージは図5に示されている。
【0070】
このようなイメージの圧縮は標準JPEGを含む色々な方法により実施される。少なくともこのような形態の色相スキャンに対して[5]に記述されたテクスチャー圧縮方法を使用する時、もっと良好な結果が得られることが立証された。このような方法はそれぞれの8*8ブロックに対する適応ローカルパレタイジングに基づく。ここには、8倍圧縮及び12倍圧縮(ピクセル当り24ビットである‘raw’true−colorBMPフォーマットと比較する時)の2つのモードがある。このような形態のイメージでこのような方法の成功はそのパレット特性から正確に説明されうる。パレット特性により前面と背面とから点を混合することによって発生する地域的な色相変化を明確に考慮できる(これは“天使”の場合とはかなり異なりうる)。最適スキャンに対する調査の目的はこのような変化をできるだけ最大限度に減らすことである。
【0071】
3.3.テスト結果
元来のフォーマット及び圧縮されたフォーマットでモデルに対する例が添付3に図示されている。他のモデル(イナゴ)は非常に良好な一方、一部のモデル(すなわち、天使)の品質は圧縮後に依然として満足するほどではない。しかし、このような問題は適切なスキャニングで解決できると思料される。はなはだしくは12倍圧縮モードが利用されることもあるので、全体的な圧縮はかなり増加する。最後に、無損失圧縮は形態圧縮で最適PPM基盤結果に接近するために改善できる。
【0072】
ここに圧縮率に対するテーブルを提示する。
【0073】
【表8】
【0074】
4.結論
本文書には深さイメージに基づく表現に対するコア実験結果(AFX A8.3)が記述されている。DIBRストリームが紹介されたが、DIBRストリームはDIBRノードのurlフィールドを通じて連結される。このようなストリームはそれぞれのアイテムを選択的なものにするためのフラグと共にDIBRノードに存在するあらゆるアイテムで構成される。また、オクツリー及びポイントテクスチャーデータの圧縮が検討された。
【0075】
<添付1.BVO圧縮アルゴリズムにおいて文脈直交不変の形態的意味>
直交不変の概念の例が図6に図示されている。垂直軸を中心に時計回り方向に90°回転すると仮定する。ノードとそれの以前親ノードに対する任意の積層パターンと回転後のノードを仮定する。それにより、2つの相異なるパターンが同じパターンとして取扱われうる。
【0076】
<添付2.グループと変換>
1.32個の固定された直交変換
それぞれの変換は5ビットワードにより特定される。ビット組合わせは次のような基本変換で構成される(すなわち、k番目ビットが1であれば対応する変換が実施される)。
●1番目ビット−x及びy軸を交換
●2番目ビット−y及びz軸を交換
●3番目ビット−y−z平面に対称
●4番目ビット−x−z平面に対称
●5番目ビット−x−y平面に対称
【0077】
2.27グループ
それぞれのグループに対してここにグループの順序とそれの要素のnonzeroビット数を提示する。これらはボクセル設定時にNumberOfGroup、QuantityOfGroup、及びNumberOfFillBitsに記録される。
【0078】
【表9】
【0079】
3.シンボル及び変換
それぞれのシンボルsに対してグループgが属するインデックスとそれをグループの‘標準’要素として取扱う変換tの値とを提示する。
【0080】
シンボルの2進番号は次のようにボクセル2進座標にマッピングされる。番号のi番目ビットは2進座標x=i、y=i(1≪1)、そしてz=i(1≪2)を有する。
【0081】
【表10】
【0082】
<添付3.ポイントテクスチャー圧縮画面出力>
最適PPM基盤方法に対する形態圧縮図面が図7〜図9に示されている。
【0083】
III.深さ映像基盤表現に対するコア実験結果
1.序論
本文書で深さ映像基盤表現(Depth Image−Based Representation:DIBR)(AFX A8.3)に対するコア実験結果が報告される。このコア実験は、深さ情報を有するテクスチャーを使用する深さ基盤イメージ表現ノードに関する。ノードはパッタヤ(Pattaya)で開催された会議で受容され、委員会草案に対する提案に含まれている。しかし、オクツリーノードと深さイメージノードとを通したこのような情報のストリーミングは依然として進行中にある。ストリーミングフォーマットは、オクツリーイメージノードに対するオクツリーフィールド及びポイントテクスチャーノードに対する深さ/色相フィールドの圧縮を含む。
【0084】
2.DIBRフォーマット圧縮
ここでリンクを持っていないオクツリーデータ構造の効率的な新しい無損失圧縮技術を開示する。これにより既に簡潔な表現の体積を実験により約1.5〜2倍減らすことができる。また、エントロピーコーディングと特化されたブロック基盤テクスチャー圧縮方法とを結合した中間ボクセル表現を使用するいくつかのポイントテクスチャーフォーマットに対する無損失及び損失圧縮技術を提案する。
【0085】
2.1.オクツリーイメージ圧縮
オクツリーイメージでオクツリーイメージフィールドとオクツリーフィールドとは個別的に圧縮される。開示された方法は、オクツリーイメージに対しては一定程度の可視的に収容される歪曲が許容される一方、オクツリーフィールドは損失なしに圧縮されねばならないという概念に基づいて開発された。オクツリーイメージフィールドは、MPEG−4イメージ圧縮手段(静的モデルに対する)または動映像圧縮道具(動的モデルに対する)により圧縮される。
【0086】
2.1.1.オクツリーフィールド圧縮
オクツリー圧縮は、非常に簡略でリンクを持っていない2進ツリー表現の圧縮を扱っているため、オクツリーイメージ圧縮の最も重要な部分である。しかし、実験で後述される方法は、このような構造の体積を大体元来の半分に縮めた。動的なオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3Dフレームに対して個別的に圧縮される。
【0087】
2.1.1.1.文脈モデル
圧縮はデータの形態的特性を明確に使用する多様な適応算術コーディング(arithmeticcoding)(‘領域エンコーダ’で実行される[3][4])により実施される。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。提案された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
●現在バイトに対する文脈決定
●このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
●領域エンコーダに確率値提供
●現在文脈で現在バイト発生の頻度に1を足して現在PT更新(必要時、作業実行後に再正規化、下の詳細な説明を参照)
【0088】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈基盤適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、われらの場合、オクツリー構造及びデータの形態的特性を活用することによって圧縮効率が増進される。開示された接近法はオクツリー圧縮の問題において明確に新しい2つのアイディアに基づく。
【0089】
A.現在ノードに対して、文脈はそれの親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
B.特定の親ノードにおいて特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0090】
x−z平面上で−90゜回転する変換Rに対する仮定‘B’は図6に示されている。‘B’の裏面に存在する基本的な概念は、特定な形態の親ノードにおいて特定な形態の子ノードの発生確率は単にこれらの相対的な位置に依存するということである。このような仮定はPTの分析による実験で立証された。これにより、過度に多くのPTを保有せずに複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。複雑な文脈を使用するほど推定された確率がより明確になり、したがってコードがより簡潔になることに注目せねばならない。
【0091】
これから変換集合を紹介する。確率分布は不変であると仮定する。われらの状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は、3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0092】
【数2】
【0093】
例えば、図6に示された回転子Rは生成子を通じて次のように表現される。
R=m3・m2・m1・m2
ここで、‘・’との行列乗算である。
【0094】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(またグループ理論でオービットと称される)が存在する。そして、定義によりGからの変換により連結されるならば、二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0095】
仮定‘B’の実質的な重要性は、PTが親ノードその自体に従属的でなく、単に親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがありえるが、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルが必要である一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8176個のテーブルとが必要であるということに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTはテーブルIに記載された形態をとることができる。
【0096】
【表11】
【0097】
2.1.1.2.エンコーディング手順
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
●‘0−文脈モデル’とされている最初の段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つのPTを維持する。
●最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
●次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0098】
このようなアルゴリズムの核心は、現在バイトに該当文脈及び確率を決定することである。これは次のように実施される。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラス及びこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実行する。
●現在ノードの親Pを検索する。
●Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcという。
●PにTを適用し、現在ノードNがマッピングされている標準ノードで子の位置pを検索する。
●NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
●クラス位置組合わせ(c,p)に対応するPTのエントリTNから必要な確率を導出する。
【0099】
1−文脈モデルに対して、前述した段階は明らかな方式で変更される。あらゆる変換は事前に計算されてルックアップテーブルで実施されることはいうまでもない。
【0100】
ノードNのデコーディング過程でその親Pは既にデコーディングされているので、変換Tは公知のものであることに注目せねばならない。デコーディング過程であらゆる段階は対応するエンコーディング段階と完全に類似している。
【0101】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。われらの作業において、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0102】
P(N)=P(N)P+A
ここで、Aは相異なる文脈モデルに対して1から4まで典型的に変わる整数増分パラメータである。S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すれば、まもなくあらゆるエントリが再正規化される。Pでゼロ値が発生しないようにするために他のエントリは2で割る一方、1に該当するエントリは変わらずに残っている。
【0103】
2.2.ポイントテクスチャー圧縮
ポイントテクスチャーノードは圧縮される二つのフィールド、すなわち、深さフィールドと色相フィールドとを含む。ポイントテクスチャーデータ圧縮の主な難点は次のような要件に起因する。
●このような形式の形態表現において歪曲はかなり目立つので、形態は損失なしに圧縮されねばならない。
●色相情報はいかなる自然的な2D構造を持っていないため、イメージ圧縮技術を即刻適用できない。
本章でポイントテクスチャーモデル圧縮に対する3つの方法を提案する。
●標準ノード表現に対する無損失圧縮
●低解像度ノード表現に対する無損失圧縮
●低解像度ノード表現に対する無損失形態圧縮及び損失色相圧縮
【0104】
このような方法は客体技術の忠実度に対する3つのレベルに対応する。第1の方法は、深さ情報を元来の32ビット正確度まで貯蔵せねばならないということを想定する。しかし、実質的に深さ情報はたびたび品質の損傷なしにはるかに少ないビット数により量子化できる。特に、ポイントテクスチャーモデルが多角形モデルから変換される時、量子化解像度は望ましい出力スクリーンの解像度だけでなく元来モデルが有している視覚的な精密さの実際サイズによって選択される。この場合、8〜11ビットで要件が満たされ、深さ値は初期にこのような低解像度フォーマットに貯蔵される。
【0105】
第2の方法は、このような‘低解像度’表現に対する無損失圧縮を扱う。ここで、核心的なのは、相対的に少ないビット数(標準32ビットと比較して)でもモデルの中間ボクセル表現ができ、このような中間ボクセル表現は情報に対する実質的な損失なしに深さフィールドを圧縮できるようにするということである。2つの場合において、色相情報は色相データが補助的な2Dイメージで配列された後、損失なしに圧縮されてPNGフォーマットに貯蔵される。
【0106】
最後に、第3の方法は、形態の無損失圧縮と色相データの損失圧縮とを結合することによってより高い圧縮が可能にする。後者は[6]に開示された特化されたブロック基盤テクスチャー圧縮技術により実施される。このような方法が次の下位3章で詳細に開始される。
【0107】
2.2.1.標準ノード表現に対する無損失ポイントテクスチャー圧縮
これは次のように動作する簡単な無損失コーディング方法である。
●深さフィールドは、オクツリーフィールド圧縮で使われたものと類似した適応領域コーダにより圧縮される。このフォーマットに対して、PTがそれぞれの1−シンボル文脈に対して維持され、文脈は単純に以前バイトであるバージョンを使用する。したがって、256PTが使われる。深さフィールドはバイトストリームと見なされ、形態構造は明白に使われない。
●色相フィールドは平面実色相イメージに変換された後、圧縮される。ポイントテクスチャーモデルで点の色相は、まず臨時的な1Dアレイに深さフィールドでの深さ値のように同じ順序で記録される。モデルで全体点の個数をLとすれば、l・l≧Lが最も小さな整数になるlを計算し、辺が1である四角形イメージでこのようなlong‘ストリング’色相値を包む(必要時、検定ピクセルによりさらに包む)。次に、このようなイメージはMPEG−4無損失イメージ圧縮道具により圧縮される。本接近でPortable Network Graphics(PNG)フォーマットが使われる。‘天使’モデルからこのような方式により得られたイメージが図10(a)に図示されている。
【0108】
2.2.2.低解像度ノード表現に対する無損失ポイントテクスチャー圧縮
多くの場合に深さ情報に対する16−ビット解像度はかなり良好である。実際に、深さにおいて解像度はモデルが可視化されるスクリーンの解像度に対応されねばならない。相異なる点においてモデル深さの小さな変化がピクセルのサイズよりはるかに小さなスクリーン面での変位を導出する場合に、深さにおいてより低い解像度を使用することが当然であり、モデルはたびたび深さ値が8〜11ビットのフォーマットで表現される。そのようなモデルは大体適当な空間格子上で深さと色相値とを分離させることによって他のフォーマット、すなわち、多角形モデルから得られる。
【0109】
そのような減少された解像度表現はそれ自体が32ビットの深さを有する標準モデルの圧縮形式と見なされうる。しかし、そのようなモデルに対する中間ボクセル空間を使用するより簡単な表現が存在する。実際に、モデルの点は,区別段階により決定された空間を有する均一な空間格子のノードに属するものと見なされうる。このような観察結果を利用してより低い解像度ポイントテクスチャーの深さと色相フィールドとは次のように圧縮される。
●以前の方法でのように、色相フィールドは無損失イメージ圧縮技術により圧縮される。
●深さフィールドはまずボクセル表現に変換され、次に以前下位章で記述された多様な領域コーダにより圧縮される。
【0110】
中間ボクセルモデルは次のように生成される。モデルの深さ解像度sによってwidth×height×2sの大きさを有する分離されたボクセル空間を想定する(幅と高さパラメータはポイントテクスチャー定義に説明されている)。本提案で、全体として可能な巨大なボクセル空間を扱う必要がなく、‘薄い’断面だけ扱えばよい。投影面で行−列は(r、c)と称し、深さ座標はdという。‘スライス’{c=定数}(すなわち、垂直面によるモデルの断面)をボクセル表現に変換する。スライスを投影面に平行した‘列’に沿ってスキャニングして、(r,c)に投影された深さ値dを有するモデルの点が存在すればボクセル(r,c,d)を‘ブラック’と設定する。このような過程が図4に図示されている。
【0111】
スライスは生成されてからすぐ1−文脈領域コーダにより圧縮され、次のスライスに対する圧縮が始まる。このような方式で非常に大きいアレイを扱うことを避けうる。PTは、それぞれの新しいスライスに対して初期化されない。広い領域のモデルに対してボクセルの小さな部分だけが黒色であり、これにより多少高い圧縮率が得られる。圧縮の解除は記述された過程を逆にすることにより実施される。
【0112】
このような方法及びオクツリー表現による圧縮の比較が3章に示されている。しかし、規則的でないイメージは歪曲なしに大きく圧縮されないため、全体的なモデルの圧縮率は色相フィールドにより決定される。次の下位章で無損失形態圧縮技術と損失色相圧縮技術との結合について考慮する。
【0113】
2.2.3.低解像度ポイントテクスチャー表現に対する無損失形態圧縮及び損失色相圧縮
以前の方法のように、この方法は深さフィールドをボクセル表現に変換した後、適応1−文脈領域コーダにより圧縮する。色相フィールドはまた2Dイメージでマッピングされる。しかし、3D空間にある近い点を2Dイメージ平面にある隣接した点にマッピングするためにマッピングを構成しようとする。その後、特化されたテクスチャー圧縮方法(適応ブロックパーティション(Adaptive Block Partition:ABP))が結果イメージに適用される。該当アルゴリズムの主な段階は次の通りである。
【0114】
1.ポイントテクスチャーモデルの4個の連続的な‘垂直平面’の‘スライス’をボクセル表現に変換する。
2.得られたwidth×4×2sボクセルアレイを次によりスキャンする。
●投影面に平行した‘列’に沿って4×4×4ボクセル下位キューブの垂直‘平面’を投影面に最も近い列から列順に横断する(すなわち、通常的な2Dアレイ横断順序)。
●オクツリーイメージノード下位キューブ横断で使われたものと類似した順序でそれぞれの4×4×4内部のボクセルを横断する。
3.このような横断順序で互いに出合うモデルの点の色相を補助1Dアレイに記録する。
4.得られた色相アレイを2Dイメージに再配列する。
5.連関性のある64個の色相サンプルが8−by−8ピクセルブロックに列方向に配列され、次いで次の64個のサンプルが隣接した8−by−8ピクセルアレイに配列される。
6.得られたイメージをABP技術により圧縮する。
【0115】
このような3Dアレイスキャニング及びその結果の2Dイメージへのマッピング方法は次を考慮して選択される。4×4×4下位キューブ及び8×8イメージブロックは同数のサンプルを含んでいることに注目せねばならない。いくつかの連続的にスキャニングされた下位キューブが8×8ブロックを満たすのに十分な色相サンプルを含めば、このようなブロックがある程度均一化されて圧縮解除後の歪曲は3Dモデル上でほとんど認識できないほどである可能性が高い。ABPアルゴリズムはローカルパレッティング[29]のアシストで互いに独立的に8×8ブロックを圧縮する。テストで、最終的な3DモデルでABP圧縮により導入された歪曲はJPEGより非常に小さい。このようなアルゴリズムを選ぶまた他の理由は、圧縮解除速度が非常に速いということである(元来計画されたことに比べて)。圧縮率は8と12の二つの値を有することができる。ポイントテクスチャー圧縮アルゴリズムで圧縮率は8に固定される。
【0116】
しかし、このアルゴリズムはあらゆる場合に適用できるのではない。たとえ色相フィールド(図10(b))からこの方式により得られたイメージは‘自然的な’スキャニング順序に対するものよりもっと均一であっても、時に2D 8×8ブロックは3D空間で距離に対応する色相サンプルを含む。この場合、損失ABP方法はモデルの距離部分を形成する色相を混合でき、これは圧縮解除後に地域的な、しかし認識可能な歪曲を招来する。
【0117】
しかし、多くのモデルに対してこのアルゴリズムは良好に機能する。図11に良好でない場合(‘天使’モデル)と良好な場合(‘モルトン256’モデル)とを図示した。二つの場合においてモデル体積の減少は約7倍である。
【0118】
3.テスト結果
この章では、2つの相異なるフォーマット−オクツリーイメージ及びポイントテクスチャー−を有する‘天使’と‘モルトン256’の2つのモデルを比較した結果を示す。それぞれのモデルに対する参照イメージの寸法は256×256ピクセルである。
【0119】
3.1.ポイントテクスチャー圧縮
テーブル3ないしテーブル5に相異な圧縮方法の結果が与えられている。この実験に対するモデルは8ビットの深さフィールドを有するモデルから得られた。深さ値は32ビットの深さ値でのビット分布をより均一化して‘真の’32ビット値にある程度近づくように221+1の量子化段階を使用して(1,230)領域にかけて拡張された。
【0120】
この方法から高い圧縮率が期待されない。体積減少は典型的な実色相イメージの無損失圧縮については同じ順序である。データの形態特性はこの方法により捉えられないので、圧縮された深さ及び色相フィールドは比較する程の大きさである。
【0121】
なお、‘真の’深さ解像度をとる時にいかほど多くの同じモデルが損失なしに圧縮されうるかを説明する。以前の場合とは異なり、深さフィールドは約5〜6倍損失なしに圧縮される。これは形態データ冗長をはるかに多く言及させる中間ボクセル表現に起因する。実際に、ボクセルの小さな部分だけ黒色である。しかし、圧縮されていないモデルのサイズは32ビットの場合より小さいため、色相フィールド圧縮率は全体圧縮率を決定するが、これは32ビットの場合よりはるかに小さい(出力ファイルも同じく小さいが)。したがって、少なくとも深さフィールドだけ良好に圧縮できるものが望ましい。
【0122】
第3のモデルはこのためにABPと呼ばれる損失圧縮技術を使用する。この方法はもっと高い圧縮を与える。しかし、あらゆる損失圧縮技術のように、このモデルは一定の場合に望ましくないアーチファクトを招来する。このような場合が発生する客体の例は‘天使’モデルである。モデルの点をスキャニングする過程で空間的に距離がある点は同じ2Dイメージブロックに引き込まれる。このようなモデルの離れている点で色相は大きい差がありうる。一方、再構成された色相が自体の3D位置に再入力された後、標準JPEGにより発生した歪曲は絶対的に受容されないために、地域的なパレタイジングによりぼう大なほとんどのブロックを正確に圧縮できる。しかし、同じ方法により圧縮された‘モルトン256’モデルの可視品質はかなり良好であり、これは実験での大部分のモデルに該当する。
【0123】
【表12】
【0124】
【表13】
【0125】
3.2.オクツリーイメージ圧縮
テーブル6は、2つのテストモデルに対する圧縮及び圧縮されていないオクツリー成分の大きさを示す。このようなフィールドの減少は約1.6〜1.9倍であることが分かる。
【0126】
しかし、はなはだしくは8ビットの深さフィールドを有している圧縮されていないポイントテクスチャーモデルと比較してもオクツリーイメージははるかに簡単である。テーブル7には圧縮率が7.2と11.2と示されている。これは、オクツリーイメージへの変換なしに圧縮されうるポイントテクスチャー(各々6.7と6.8倍)より高い。しかし、既述したようにオクツリーイメージは不完全な色相情報を含むことができ、‘天使’モデルの場合がこれに該当する。このような場合に、3D色相補間が使われる。
【0127】
整理すれば、上に提示された実験は改善された圧縮道具の効率を立証すると結論づけられる。与えられたモデルに対する最適の道具選択は、モデルの形態的複雑性、色相分布特性、要求されるレンダリング速度及び他の要因に依存する。
【0128】
【表14】
【0129】
5.ISO/IEC 14496−1/PDAM4の研究に対する意見
次の改正案をISO/IEC 14496−1/PDAM4(N4627)の研究に提出した後、改正されたISO/IEC 14496−1/PDAM4の研究がISO/IEC 14496−1/PDAM4に結合されねばならない。
【0130】
6.5.3.1.1節 技術
問題:直交の基本値は最も一般的に使われる値でなければならない。
解決:直交フィールドの基本値を次のように“FALSE”から“TRUE”に取り替える。
【0131】
【表15】
【0132】
6.5.3.1.1節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法で実施されねばならない。
解決:DepthImageUrlフィールドを深さイメージノードから除去する。
【0133】
【表16】
【0134】
6.5.3.1.2節 社説
問題:‘正規化された(normalized)’という用語は現在文脈で深さフィールドに適用されるものとして、誤りである。
解決:第5段落で、‘正規化された’を‘スケールされた’に変更する。
提案された改正案:
nearPlaneとfarPlaneフィールドは視点から可視領域の隣接平面及び遠接平明までの距離を特定する。テクスチャー及び深さデータは隣接平面、遠接平面そしてfieldOfViewにより囲まれた領域を示す。深さデータは隣接平面から遠接平面までの距離にスケールされる。
【0135】
6.5.3.1.2節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法で実施される。
解決:depthImageUrlフィールドに対する説明を削除する(第7段落及びそれ以下)
【0136】
6.5.3.2.2節 社説
問題:深さフィールドの意味が不完全に特定された。
解決:3番目段落の長さフィールド定義を次のように変更する。
提案された改正案:
深さフィールドはテクスチャーフィールドにあるそれぞれのピクセルに対する深さを特定する。深さマップのサイズはイメージまたはテクスチャーフィールドの動映像と同じサイズでなければならない。深さフィールドは多様な形態のテクスチャーノード(イメージテクスチャー、動映像テクスチャーまたはピクセルテクスチャー)のうち一つであり、ここで、グレースケールイメージを表現するノードだけ許容される。深さフィールドが特定されていなければ、テクスチャーフィールドにあるアルファチャンネルが深さマップとして使われる。深さマップが深さフィールドまたはアルファチャンネルを通じて特定されていなければ、結果は規定されない。
【0137】
深さフィールドによりモデルの3D点で視点を通過して隣接平面及び遠接平面に平行した平面までの実際的な距離を計算できる。
【0138】
【数3】
【0139】
dが点と平面との距離であるため、この公式は遠近及び直交ケース両方に対して有効である。dmaxはそれぞれのピクセルに対して使われるビットにより表現されうる最も大きいd値である。
(1)深さは深さフィールドを通じて特定され、深さ値dはグレースケールと同一である。
(2)深さがテクスチャーフィールドを通じて定義されたイメージでのアルファチャンネルを通じて特定されれば、深さ値dはアルファチャンネル値と同一である。
【0140】
深さ値はまたモデルに属する点を表すために使われる。dが0でない点だけがモデルに属する。
【0141】
動的深さイメージに基づくモデルに対して、diTextureとしてシンプルテクスチャーを有する深さイメージだけ使われる。
【0142】
シンプルテクスチャーの各々は次の方法のうち一つでアニメ化されうる。
(1)深さフィールドは上の条件を満足する静止イメージであり、テクスチャーフィールドは任意の動映像テクスチャーである。
(2)深さフィールドは深さフィールドで上の条件を満足する任意の動映像テクスチャーであり、テクスチャーフィールドは静止イメージである。
(3)深さ及びテクスチャーは動映像テクスチャーであり、深さフィールドは上の条件を満足する。
(4)深さフィールドは使われず、深さ情報はテクスチャーフィールドをアニメ化する動映像テクスチャーのアルファチャンネルから導出される。
【0143】
6.5.3.3.2節 社説
問題:深さフィールドの意味が不完全に特定された。
解決:深さフィールド定義(第3段落)を提案された改正案に取り替える。
提案された改正案:
深さ値の形態的意味及びシンプルテクスチャーに対して採択されたそれらの解釈におけるあらゆる約束はここに同じく適用する。
【0144】
深さフィールドは投影面に存在するそれぞれの点に対する複数の深さを特定し、横断順序において遠接平面(上を参照)と見なされ、左側下段コーナーにある点から出発して右側に横断しながら上側にある線に移動する前に水平線で終了する。それぞれの点に対して、深さ(ピクセル)番号が先に貯蔵され、深さ番号値は次に貯蔵される。
【0145】
6.5.3.4.1節 H.1 技術
問題:オクツリーフィールドに対して使われたフィールドタイプであるSFストリングは矛盾する値を導出することがある。
解決:オクツリーフィールドに対するフィールドタイプをNFInt32に変更する。
【0146】
【表17】
6.5.3.4.1節 技術
問題:DIBRストリーミングはAFXに対する均一なストリーミング方法により実施されねばならない。
解決:オクツリーイメージノードからoctreeUrlフィールドを削除する。
【0147】
【表18】
【0148】
6.5.3.4.2節 社説
問題:オクツリー解像度(octreeresolution)フィールド定義(第2段落)は誤解を招く。
解決:‘許容される(allowed)’という単語を追加して説明を改正する。
提案された改正案:
オクツリー解像度フィールドは閉じられたキューブの側面に沿う最大に許容されるオクツリーリーフの数を特定する。オクツリーレベルは次の式を使用してオクツリー解像度から決定できる。
【0149】
【数4】
【0150】
6.5.3.4.2節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法により実施されねばならない。
解決:octreeUrlフィールドの説明(第5段落とそれ以下)を削除する。
提案された改正案:
6.5.3.4.2節 社説
問題:オクツリーイメージの動映像化が不完全に記述された。
解決:6.5.3.4.2節の末尾にオクツリーイメージ動映像化を記述する段落を追加する。
提案された修正案:
オクツリーイメージの動映像化は、単に深さフィールドの代わりにオクツリーフィールドを使用することにのみ差があるだけで、上に記述された深さイメージに基づく動映像に対する最初の3つの方法と同じ接近法により実施さうる。
【0151】
H.1節 技術
問題:ポイントテクスチャーノードにおいて深さデータの領域が将来の応用に対しては小さすぎる。多くのグラフィック道具は自体のz−バッファに対して24ビットまたは36ビットの深さを許容する。しかし、ポイントテクスチャーにおいて深さフィールドは16ビットである[0,65535]の領域を有する。
解決:H.1節で、ポイントテクスチャーに対するテーブルの深さ列の領域を次のように変更する。
【0152】
【表19】
【0153】
IV.ISO/IEC JTC 1/SC 29/WG 11 動映像及び音響のコーディング
1.序論
本文書で深さ映像基盤表現(Depth Image−Based Representation:DIBR)(AFX A8.3)においてオクツリーイメージ(OctreeImage)の改善が記述される。オクツリーイメージノードはPattayaで開催された会議で受容され、委員会草案に対する提案に含まれている。しかし、客体形状の閉鎖によっていくつかの特別な場合にはレンダリング品質が満足するほどではないと観察された。本文書には、ストリーミングのためのオクツリーイメージノードの圧縮方法だけでなく、オクツリーイメージノードの改善されたバージョン−構造化された2進体積オクツリー(Textured Binary Volumetric Octree:TBVO)−が開示される。
【0154】
2.構造化された2進体積オクツリー(TBVO)
2.1.TBVO概観
TBVOの目標は、2進体積オクツリー(Binary Volumetic Octree:BVO)の改善として速い視覚化が可能なより柔軟な表現/圧縮フォーマットを考案することである。これは、BVOに基づいていくつかの付加的な情報を貯蔵することによって達成される。BVOに基づいた表現はオクツリー構造及び参照イメージ集合で構成される。一方、TBVOに基づいた表現はBVOオクツリー構造及び参照イメージ集合、そしてカメラインデックスで構成される。
【0155】
BVO視覚化の主な問題はレンダリング時にそれぞれのボクセルに対応するカメラインデックスを決定せねばならないということである。このために、カメラへの投影を考慮する必要があるだけでなく、逆光を採択する過程を考慮する必要がある。最小限ボクセルが見られる所からカメラの存在を決定せねばならない。結果的に、特定のカメラに投影されるあらゆるボクセルを探さねばならない。しかし、ブルートフォース接近法を使用するならばこのような過程は非常に遅い。われらは客体形状の大部分に対して速くて正確にこれを実行するアルゴリズムを開発した。しかし、いかなるカメラによっても見られないボクセルについては依然としていくつかの問題点が存在する。
【0156】
それぞれのボクセルに系統的な色相を貯蔵することが可能な解決法になりうる。しかし、この場合、圧縮する色相情報においていくつかの問題点がある。すなわち、ボクセル色相をイメージフォーマットとして分類してそれを圧縮すれば、隣接するボクセルの色相相関関係が破壊されて圧縮率が満足するほどではない。
【0157】
TBVOで、このような問題はあらゆるボクセルに対してカメラ(イメージ)インデックスを貯蔵することによって解決される。カメラインデックスは一般的に大きいボクセルグループに対して同一であり、これにより付加的な情報の経済的な貯蔵のためのオクツリー構造の使用が可能である。このようなモデルに対する実験で平均的に単に15%の体積増加が観察されたことに注目する必要がある。モデリングは多少複雑であるが、より柔軟な方式の任意の形状を有する客体を表現できる。
【0158】
BVOに比べてTBVOの長所はレンダリングがより単純でもっと速いということであり、実質的に客体形状に加わる制限がないということである。
【0159】
2.2.TBVOの例
本節で、TBVO表現の有効性及び核心的な要素を示す典型的な例を示す。図12(a)に“天使”に対するBVOモデルが図示されている。
【0160】
通常的な6要素構造のBVOを利用すれば、胴体と翼の一部がいかなるカメラによっても観察されず、これにより描写されたイメージは多くの可視的な‘クラック’を有する。同じモデルのTBVO表現で全部8個のカメラが使われる(箱の6面に各々にあるカメラと2個の付加的なカメラ)。図13(a)にはカメラインデックスのイメージが図示されている。他の色相は他のカメラインデックスを意味する。付加的なカメラはキューブの内部に位置し、前面と背面を垂直に注視する。付加的なカメラのイメージ面が図13(b)及び図13(c)に図示されている。結果的に、図12(b)に示すように、モデルに対する連続的できれいなレンダリング結果を得るようになる。
【0161】
2.3.圧縮されていないTBVOストリーム描写
255個のカメラで十分であり、インデックスのために1バイトまで割り当てることを提案する。TBVOストリームはシンボルストリームである。あらゆるTBVOシンボルはBVOシンボルまたは構造化されたシンボルである。構造化されたシンボルはカメラインデックスを意味し、カメラインデックスは特定の番号または“未定の”コードになりうる。以下、“未定の”コードは“?”と表示する。
【0162】
TBVOストリームは幅優先順序で横断する。われらがBVOを有していてあらゆるリーフボクセルがカメラ番号を有している場合にTBVOストリームの記述方法について説明する。これはモデリング段階で実施されねばならない。TBVOストリームはリーフノードを含んでいるあらゆるBVOノード(BVOシンボルを有していない)を幅優先順序で横断する。次の擬似コードはストリームを完璧に記述する。
【0163】
【表20】
以上の過程によれば、図14(a)に示されたTBVOツリーに対するシンボルストリームが図14(b)に示されたように得られる。しかし、実質的なストリームにおいて3つの値(2個のカメラと定義されていないコード)だけ表現する必要があるので、それぞれの構造化されたシンボルはただ2ビットだけ必要である。
【0164】
2.4.TBVO圧縮
オクツリーイメージノードでオクツリーイメージとオクツリーフィールドとは個別的に圧縮される。開示された方法は、オクツリーイメージに対しては一定程度の可視的に受け入れられる歪曲が許容されるのに対し、オクツリーフィールドは損失なしに圧縮されねばならないという概念に基づいて開発された。
【0165】
2.4.1.オクツリーイメージフィールド圧縮
オクツリーイメージフィールドはMPEG−4で許容されるMPEG−4イメージ圧縮(静的モデルに対する)手段または映像圧縮道具(動的モデルに対する)により圧縮される。われらの接近で、われらはオクツリーイメージに対してJPEGフォーマットを使用した(それぞれの構造を維持させながら3D視覚化に必要な点だけJPEGイメージの‘少量化’と命名した一定の前処理を実行した後、すなわち3Dレンダリング段階で使われない与えられた構造の一部は所望する分だけ概略的に圧縮されうる)。
【0166】
2.4.2.オクツリーフィールド圧縮
オクツリー圧縮は、既に非常に簡略でリンクのない2進ツリー表現の圧縮を取扱っているゆえに、オクツリーイメージ圧縮の最も重要な部分である。しかし、実験で後述される方法はこのような構造の体積を元の約半分に減少させた。動的のオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3Dフレームに対して個別的に圧縮される。
【0167】
2.4.2.1.文脈モデル
圧縮はデータの形態的特性を明確に使用する多様な適応算術コーディング(‘領域エンコーダ’で実行される)により実施される。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。開示された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
●現在バイトに対する文脈決定
●このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
●領域エンコーダで確率値提供
●現在文脈で現在バイト発生の頻度に1を足して現在PT更新(必要時、作業隨行後に再正規化、下の詳細な説明を参照)
【0168】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈に基づく適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、私たちの場合、オクツリー構造及びデータの形態的特性を活用することによって圧縮効率を高める。開示された接近法はオクツリー圧縮の問題において明確に新しい2つのアイディアに基づく。
A.現在ノードに対し、文脈はそれの親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
B.特定の親ノードにおいて特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0169】
x−z平面上で−90゜回転する変換Rに対する仮定‘B’は図5に示されている。‘B’の裏面に存在する基本的な概念は、特定な形態の親ノードにおいて特定な形態の子ノードの発生確率は単にこれらの相対的な位置に依存するということである。このような仮定はPTの分析による実験で立証された。これにより、過度に多くのPTを保有せずに複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。複雑な文脈を使用するほど推定された確率がより明確になり、したがってコードがより簡潔になることに注目せねばならない。
【0170】
さて、変換集合を紹介する。確率分布は不変であると仮定する。われらの状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は、3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0171】
【数5】
【0172】
投影により生成されたグループ理論の典型的な結果のうち一つはGが48個の個別的な直交変換を含み、ある意味ではキューブを自体的に取る直交変換の最大グループである(いわゆる、coxeter group[27])。例えば、図6に示された回転子Rは生成子を通じて次のように表現される。
【0173】
【数6】
【0174】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時[5]、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(また、グループ理論でオービットと称される)が存在する。そして、定義によりGからの変換により連結されるならば、二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0175】
仮定‘B’の実質的な重要性は、PTが親ノードそれ自体に従属的でなく、単に親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがありえるが、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルが必要である一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8176個のテーブルとが必要であるということに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTはテーブルIに記載された形態をとることができる。
【0176】
【表21】
【0177】
2.4.2.2.エンコーディング手順
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
●‘0−文脈モデル’とされる最初の段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つのPTを維持する。
●最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
●次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0178】
このようなアルゴリズムの核心は、現在バイトに該当文脈及び確率を決定することである。これは次のように実施される。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラス及びこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実行する。
●現在ノードの親Pを検索する。
●Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcという。
●PにTを適用し、現在ノードNがマッピングされている標準ノードで子の位置pを検索する。
●NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
●クラス位置組合わせ(c,p)に対応するPTのエントリTNから必要な確率を導出する。
【0179】
1−文脈モデルに対して、前述した段階は明らかな方式で変更される。あらゆる変換は事前に計算されてルックアップテーブルで実施されることはいうまでもない。
【0180】
ノードNのデコーディング過程でその親Pは既にデコーディングされているので、変換Tは公知のものであることに注目せねばならない。デコーディング過程であらゆる段階は対応するエンコーディング段階と完全に類似している。
【0181】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。われらの作業において、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0182】
【数7】
S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すれば、まもなくあらゆるエントリが再正規化される。Pでゼロ値が発生しないようにするために他のエントリは2で割る一方、1に該当するエントリは変わらずに残っている。
【0183】
2.4.2.3.‘カメラノード’のエンコーディング
それぞれのボクセルに対する構造(カメラ)番号を決定するシンボルストリームは自体に固有なPTを使用して圧縮される。先に使用した用語上ではそれは単一文脈を保有する。PTエントリはオクツリーノードに対するエントリより大きい増加分を有して更新される。残りはノードシンボルコーディングと差がない。
【0184】
2.5.TBVO圧縮及びレンダリングの結果
TBVO圧縮の結果が図15、17ないし19に示されている。圧縮されたサイズは圧縮されたBVOと比較される。3番目の列で括弧内の数字は圧縮された形態的な体積である。一方、最初の数字はTBVO基盤の圧縮モデル(すなわち、構造が考慮された)の総体積である。可視的な歪曲の大きさ面で、LDI→(T)BVO→LDI変換後に色相差を測定するためにPSNRが計算された。圧縮されたモデルのサイズは、あらゆる構造(最小化されたJPEGで貯蔵された、2.4.1.参照)のサイズさと圧縮された形態サイズとの和である。TBVOの場合に圧縮された形態はカメラ情報も含む。TBVOのPSNRはBVOと比較する時にかなり改善される。
【0185】
TBVOはBVOより速いレンダリングを得る。“天使”モデルにおいて、BVOのフレームレートは7.5fpsである一方、TBVO−12のフレームレートは10.8fpsである。“モルトン”モデルにおいて、BVOのフレームレートは2.1fps(セレロン(登録商標)850MHz)である一方、TBVO−12のフレームレートは3.0fpsである。他の一方、レンダリングは動的なTBVOでもっと速く実施されることが観察された。“ドラゴン”モデルにおいて、BVOのフレームレートは29fps(ペンティアム(登録商標)IVで1.8GHz)である一方、TBVO−12のフレームレートは73fpsである。
【0186】
TBVOフォーマットは相当な柔軟性を提供する。例えば、図15には12個のカメラを使用する2つの方式(TBVO−12及びTBVO−(6+6))が図示されている。TBVO−12は6個のBVOカメラ(キューブ面)とキューブの中心で面と平行するように撮影した6個のイメージを使用する。(6+6)テクスチャーは6個のBVOカメラを使用し、それから、これらカメラにより眺望可能なすべてのボクセルと、同じ6個のカメラにより眺望可能な“写真”部分を除去する(‘peel’)。このようなイメージの例が図16に図示されている。
【0187】
BVOとTBVO−6天使モデル間の質(本質的及びPSNR値)において大きな差を注目せねばならない。たとえ同じカメラ位置が使われたとしても、TBVOはいなかるカメラからも観察されないボクセルを含むあらゆるボクセルにカメラ番号を割り当てることができる。これら番号は元の色相と最も一致するように選択される(すなわち、直接的な可視性とは関係なくそれぞれの地点に対してあらゆる‘カメラ’イメージで最上の色相一致が選択される。天使の場合、これは優れた結果を与える)。
【0188】
また、6個と12個のカメラを使用した場合間の非常に適切な‘形態’(すなわちBVO+カメラ)体積差に注目せねばならない。実際に、付加的なカメラは通常的に少ない領域を担当するので、これらの識別はまれであり、これらの構造は貧弱である(そしてよく圧縮される)。これら全ては‘天使’だけでなく下のあらゆるモデルにも適用される。
【0189】
【表22】
【0190】
オクツリーイメージ(OctreeImage)ノードは対応するカメラインデックスアレイ及びオクツリーイメージ集合が存在するオクツリー構造のTBVO構造を定義する。
【0191】
オクツリーイメージ(Octreeimages)フィールドはdiTextureフィールドに対してシンプルテクスチャー(SimpleTexture)を有する深さイメージ(DepthImage)ノード集合を特定する。これらシンプルテクスチャー(SimpleTexture)ノードで深さフィールドは使われない。直交(orthographic)フィールドは深さイメージ(DepthImage)ノードに対して真(TRUE)でなければならない。シンプルテクスチャー(SimpleTexture)各々に対してテクスチャーフィールドは客体または位置及び方向に対応する深さイメージ(DepthImage)フィールドで特定の直交カメラにより得られるような客体視点(例えば、カメラ面による客体の断面)の部分の色相情報を貯蔵する。それぞれのカメラに対応する客体の部分はモデル生成段階で割当てられる。位置(position)、方向(orientation)、及びテクスチャー(texture)値を利用した客体分割は、カメラの数(または、同一に含まれるオクツリーイメージの数字)を減らすと同時に、任意の選択された位置で暫定的に捕捉可能なあらゆる客体部分を含むために実施される。方向(orientation)フィールドは、カメラの視覚ベクターは単に一つの0でない成分(すなわち、閉じられたキューブ面のうち一つに垂直の成分)を有し、シンプルテクスチャー(SimpleTexture)イメージの側面は閉じられたキューブの対応する面と平行するという条件を満足せねばならない。
【0192】
オクツリー(octree)フィールドは客体形態を完全に記述する。形態は与えられた客体を構成するボクセル集合で表現される。オクツリーはツリー型のデータ構造であり、該当データ構造でそれぞれのノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在するということを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序でなければならない。内部ノードの8個の子順序が図4(b)に図示されている。全体オクツリーの閉じられたキューブのサイズは1×1×1であり、オクツリーキューブの中心は特定の座標系の原点(0,0,0)である。
【0193】
カメラID(cameraID)フィールドはボクセルに割当てられたカメラインデックスのアレイを含む。レンダリング段階でオクツリーリーフに起因した色相は、特定のインデックスを有するオクツリーイメージの一つにリーフを垂直に投影することによって決定される。インデックスはオクツリー方式で貯蔵される。もし、特定のカメラが特定のノードに含まれたあらゆるリーフに対して使われるならば、カメラインデックスを含むノードはストリームに入力される。そうでない場合、固定された‘追加的な下位分割’コードを含むノードが入力されるが、これはカメラインデックスが現在ノード(同じ反復的な形態で)の子下位ノードに対して個別的に特定されることを意味する。もし、カメラID(cameraID)が空いているならばBVOの場合と同じくカメラインデックスはレンダリング段階が進む間に決定される。
【0194】
オクツリー解像度(octreeresolution)フィールドは、閉じられたキューブの側面に沿う最大の許容可能なオクツリーリーフの数を特定する。オクツリーのレベルは次の式を利用してオクツリー解像度から決定される。
【0195】
2.7.ビットストリーム定義
2.7.1.オクツリー圧縮
2.7.1.1.概観
【0196】
深さ基盤イメージ表現においてオクツリーイメージノードはオクツリー構造及びそれの投影されたテクスチャーを定義する。オクツリーイメージアレイに貯蔵されているそれぞれのテクスチャーはシンプルテクスチャーを有する深さイメージノードを通じて定義される。オクツリーイメージノードの他のフィールドはオクツリー圧縮により圧縮されることができる。
【0197】
2.7.1.2.オクツリー
2.7.1.2.1.文法
【0198】
【表23】
2.7.1.2.2.意味
オクツリーの圧縮されたストリームはoctree_frame_start_codeの次に来るオクツリーヘッダ及び一つ以上のオクツリーフレームを含む。octree_frame_start_codeの値は常に0x000001C8である。この値はストリームのルック−アヘッドパーシングにより検出される。
【0199】
2.7.1.3.オクツリーヘッダ
2.7.1.3.1.文法
【0200】
【表24】
【0201】
2.7.1.3.2.意味
このようなクラスはオクツリー圧縮に対してヘッダ情報を読み出す。
octreeResolutionBitsにより長さが表現されるoctreeResolutionはオクツリーイメージノードのオクツリー解像度フィールドの値を含む。
【0202】
numOfTexturesはtextureNumBitsの長さであり、オクツリーイメージノードで使われるテクスチャー(またはカメラ)の番号を記述する。この値はオクツリーの各ノードに対するカメラIDの演算コーディングに使われる。textureNumBitsの値が0ならば、構造シンボルはルートノードのcurTexureを255と設定することによりコーディングされない。
【0203】
2.7.1.4.オクツリーフレーム
2.7.1.4.文法
【0204】
【表25】
【0205】
2.7.1.4.2.意味
このクラスは幅優先横断順序で一つのオクツリーフレームを読み出す。レベル0の最初のノードから出発して現在レベルのあらゆるノードを読み出した後、次のレベルのノード数はそれぞれのノードシンボルであらゆる1をカウントすることによって把握される。次のレベルで、ノードの数(nNodesInCurLevel)はストリームから読み出される。
【0206】
それぞれのノードをデコーディングする時、2.7.1.6節に開示されたように適切なcontextICが付与される。
【0207】
もし、現在ノード(curTexture)に対するテクスチャー(またはカメラ)IDが親ノードにより定義されていないならば、テクスチャーIDもtextureContextIDにより定義されているテクスチャーIDに対する文脈を使用してストリームから読み出す。もし、0でない値が得られれば(textureIDが定義されていれば)、この値はまたつながるレベルであらゆる子ノードに適用される。あらゆるノードをデコーディングした後、textureIDは依然として相変らずtextureID値が割当てられていないオクツリーのリーフノードに割当てられる。
【0208】
2.7.1.5.適応算術デコーディング
この章ではcontextIDによってC++型の文法表現を使用してオクツリー圧縮に使われた適応算術コーダを記述する。aa_decode()はcumul_freq[]関数である。PCTは2.7.1.6節に記述されたようなPCTのアレイである。
【0209】
【表26】
【0210】
【表27】
【0211】
2.7.1.6.デコーディング手順
デコーディング手順の全体的な構造は2.7.1.5節に開示されている(また前述したエンコーディング手順を参考)。これは算術的にエンコーディングされた(圧縮された)TBVOモデルを構成するビットストリームからTBVOノードを獲得する方法を示す。
【0212】
デコーディング手順の各段階で、文脈番号(すなわち、使用する確率インデックス)及びPT自体を更新せねばならない。あらゆるPTの集合(整数アレイ)を確率モデル(Probabilistic
model)と称する。i番目PTのj番目成分(成分の和で割られた)はi番目文脈でj番目シンボルの発生確率を推定する。
【0213】
PTの更新手順は次の通りである。まず、PTはあらゆるエントリが1になるように初期化される。シンボルをデコーディングする前に文脈番号(ContextID)が選択されねばならない。ContextIDは下の2.7.1.6.1.節及び2.7.1.6.2節で指摘されたように以前にデコーディングされたデータから決定される。ContextIDが得られれば2進算術デコーダを使用してシンボルをデコーディングする。次に、デコーディングされたシンボル周波数に適応段階を付加してPTを更新する。全体(積算された)テーブル成分の和が積算臨界値より大きくなれば正規化が実施される(2.7.1.5.1.参照)。
【0214】
2.7.1.6.1.テクスチャーシンボルの文脈モデリング
テクスチャーシンボルは一つの文脈だけでモデリングされる。これは単に一つのPTが使われることを意味する。このテーブルのサイズはnumOfTexturesの数に一つを加えたものと同じである。先ず、このテーブルは全部1に初期化される。許容可能なエントリ値の最大値は256と設定される。適応段階は32と設定される。このようなパラメータ値の組合わせによりテクスチャー番号をかなり可変的なストリームに適用することができる。
【0215】
2.7.1.6.2.ノードシンボルの文脈モデリング
256個の相異なるノードシンボルが存在し、それぞれのシンボルは2×2×22進ボクセルアレイを表現する。対応するシンボルを互いに変換させる3D直交変換がこのようなアレイに適用される。
【0216】
座標軸に対して90*n゜(n=0,1,2,3)だけ回転及び対称させる48個の固定された直交変換集合を想定すれば、このような行列は次のように数字順に与えられる。
【0217】
【数8】
【0218】
同じクラスに属すればこのような変換により2個のシンボルが連結されるようにクラスと呼ばれる22個のシンボル集合が存在する。コーディング方法は次のようなPCTを生成する。シンボルのContextIDは親が属するクラスの番号または組合わせられた番号(親クラス、親ノードで現在ノード位置)と同一である。これにより意味のある統計値を得るのに必要な時間を縮めながら文脈の数をかなり減少させることができる。
【0219】
それぞれのクラスに対して、一つの基本シンボルが決定され(テーブル9参照)、それぞれのシンボルに対してクラスの基本シンボルとして取扱う直交変換が事前に計算される(実際にエンコーディング/デコーディング手順でルックアップテーブルが使われる)。シンボルに対してContextIDが決定された後、任意のシンボルに、そのシンボルの親を基本成分として取扱うようにする逆変換(すなわち、逆行列)が適用される。テーブル10にはそれぞれのシンボルに対する文脈と対応される直接変換が与えられている。
【0220】
【表28】
【0221】
文脈モデルは既にデコーディングされたシンボル等の番号Nに依存する。
N<512に対して単に一つの文脈だけ存在する。PTは全部1に初期化される。PTでシンボルの数は256である。適応段階では2である。最大蓄積頻度は8192である。
【0222】
512≦N<2560(=2048+512)に対して1−文脈(文脈番号が一つのパラメータという意味でクラスの番号)モデルが使われる。このモデルは22個のPCTを使用する。ContextIDはデコーディングされたノードの親が属するクラスの番号である。親が子より先にデコーディングされるため、この番号はいつもルックアップテーブル(テーブル10参照)から決定できる。22個のPCT各々は以前段階から得られたPCTにより初期化される。各PTでシンボルの数は256である。適応段階では3である。最大蓄積周波数はまた8192である。シンボルはデコーディングされた後、上で定義された直交逆変換を利用して変換される。直交変換番号は、現在ノードシンボルの親と同じノードシンボルIDを有するテーブル10でさがすことができる。
【0223】
2560個のシンボルがデコーディングされれば、デコーダは2−文脈(次に説明されたように文脈番号が二つのパラメータで構成されるという意味で)に転換する。このモデルは176個(=22*8、すなわち、8個の位置による22個のクラス)のPCTを使用する。ここでContextIDは親クラス及び親ノードでの現在ノードの位置に依存する。このモデルに対する初期PTはそれの文脈にのみ依存する。あらゆる8位置PCTは以前段階で与えられたクラスに対して得られたPCTのクローンである。それぞれのPTでシンボルの数は256である。適応段階では4である。最大蓄積頻度はまた8192である。
【0224】
シンボルはデコーディングされた後、以前モデルのように直交逆変換(テーブル10に与えられた一つ)を利用して変換される。
【0225】
それぞれのクラスに対する基本成分の形態はテーブル10を使用して容易に得ることができる。基本成分は正確に変換IDが0(番号0は同じ変換に割当てられる)に対するシンボルである。
【0226】
【表29】
以下、本発明による深さイメージに基づく3次元客体表現装置及び方法で使われるMPEG−4ノード規定及びオクツリーイメージフォーマットの圧縮方法についてより詳細に説明する。
【0227】
本発明は、大部分イメージと深さマップに基づいた効果的で、かつ効率的な表現を提供し、前述した利点を全的に利用する一群のデータ構造−深さイメージに基づく表現(DIBR)−を開示する。また、主要なDIBRフォーマット−シンプルテクスチャー、ポイントテクスチャー、及びオクツリーイメージ−を簡略に説明する。
【0228】
図20は色相イメージと深さマップの一例を示した図面であり、図21は階層的な深さイメージ(Layered depth image:LDI)の一例を示した図面((a)客体の投影、(b)階層的なピクセル))である。
【0229】
シンプルテクスチャーはイメージ、対応する深さマップ、そしてカメラ説明(カメラの位置、方向及び形態、直交または遠近)で構成されたデータ構造である。一つのシンプルテクスチャーの表現容量はビルディングの正面のような客体に制限される。深さマップを有する正面イメージにより実質的な角度領域で正面視点を再構成できる。しかし、参照イメージがビルディング面の潜在的にみえることができるあらゆる部分を含む場合に、適切な位置に配置されたカメラにより生成されたシンプルテクスチャーの集合で全体ビルディングを表現できる。もちろん、これは木、人体、自動車にも適用される。さらに、シンプルテクスチャーの集合は3D動映像データを取扱うためのかなり自然な手段を提供する。この場合、参照イメージは参照ビデオストリームと共に再配置される。それぞれの3Dフレームに対する深さマップはこのようなビデオストリームのアルファチャンネル値によるか、分離されたグレースケールビデオストリームにより表現される。このような形態の表現で、イメージは損失圧縮フォーマットのように、たとえばJPEGに貯蔵されうる。これは色相情報の量を大きく減少させ、特に動映像の場合にそうである。しかし、形態情報(深さマップ)は損失なしに圧縮されねばならず、これは貯蔵容量の全体的な減少に影響を及ぼす。
【0230】
複雑な形態の客体の場合、時には当然な数の参照イメージで可視的な面全体を覆うことが容易ではない。その場合に望ましい表現はポイントテクスチャーである。このフォーマットも参照イメージ及び深さマップを保有するが、この場合、二つには多重値が付与される。カメラにより提供されたそれぞれの視線(直交または遠近)、あらゆる線の交差点に対して色相及び距離が客体と共に貯蔵される。交差点の数は線ごとに異なる。いくつかのポイントテクスチャーよりなる集合は複雑な客体の場合にも非常に詳細な表現を提供する。しかし、このフォーマットはシンプルテクスチャーの2D規則性の大部分に欠けていて自然なイメージ基盤圧縮形態を有することができない。同じ理由で、このフォーマットは単に静止客体に対して使われる。
【0231】
オクツリーイメージフォーマットは、‘大部分の2次元’シンプルテクスチャーと‘大部分の3次元’ポイントテクスチャーとの中間位置を占有する。オクツリーイメージの色相成分はイメージの集合で表現される一方、客体の形態をオクツリー構造の体積表現(閉じられたキューブの一般的な2進分割の階層的に構成されたボクセルに貯蔵する。このフォーマットはまた、それぞれのリーフボクセルに対して色相を含む参照イメージのインデックスを貯蔵する付加的なオクツリー形態のデータ構造を含む。オクツリーイメージのレンダリング段階で、リーフボクセルの色相はそれを対応する参照イメージに垂直に投影することによって決定される。オクツリーイメージの形態部分に対して効率的な圧縮方法が開発された。多様な適応文脈に基づく算術コーディングが存在する。ここで、文脈はデータの形態的特性を明確に利用して構成される。損失圧縮参照イメージと共に圧縮を利用することによってオクツリーイメージは空間的に非常に効率的な表現になる。シンプルテクスチャーのようにオクツリーイメージは参照イメージの代りに参照ビデオストリームを有し、二つの付加的な形態を表現するオクツリーに対するストリーム及びそれぞれの3Dフレームに対応するイメージ当たりボクセルを有するアニメーションバージョンを有する。
【0232】
DIBR群の新しいバージョンのMPEG−4標準のために開発されてきたし、MPEG−4AFXに含まれるように採択された。AFXは総合的なMPEG−4環境のためのより向上した特徴を提供し、関連のあるアニメーションコンテンツに対して再使用可能な構造(現存のMPEG−4構造を利用できる)を算出する共用できる道具の集合を含む。それぞれのAFXツールはBIFS(Binary Format for Scenes)ノード、総合的なストリーム、及び音響−映像ストリームとの互換性を示す。AFXの現バージョンは提案するDIBRだけでなく動映像に対する高級レベル描写(すなわち、動映像に基づいた骨格と皮膚)、向上したレンダリング(すなわち、手順的なテクスチャーマッピング、光フィールドマッピング)、簡略な表現(すなわち、NURBS曲面、ソリッド表現、下位分割曲面)、低伝送率アニメーション(すなわち、キーフレームアニメーション圧縮)等で構成される。
【0233】
DIBRフォーマットは、ユーザーに特定の作業に最も適した柔軟な道具を提供して、以前に提案された他のアイディアの長所と結合するように考案された。例えば、非動映像シンプルテクスチャー及びポイントテクスチャーは知られたフォーマットの特別な場合である一方、オクツリーイメージは全く新しい表現である。しかし、MPEG−4状況で、3つの基本DIBRフォーマットはいずれもビルディングブロックと見なされることができ、MPEG−4構造によりこれらを結合することは、本文献で提案されたイメージ基盤表現の多くを包括するだけでなく新しいフォーマットを構成するにあたって相当な潜在力を付与する。
【0234】
以下、深さイメージに基づく表現を説明する。前述された概念及び発明者が開発したいくつかを考慮して次のMPEG−4 AFXに使用するためのシンプルテクスチャー、ポイントテクスチャー、そしてオクツリーイメージのようなイメージ基盤フォーマットの集合を提案した。シンプルテクスチャー及びオクツリーイメージはアニメーションバージョンを有する。
【0235】
シンプルテクスチャーは深さイメージと結合された一つのイメージである。シンプルテクスチャーは緩和テクスチャーに相応する一方、ポイントテクスチャーはLDIに相応する。
【0236】
ブロック構成時、シンプルテクスチャー及びポイントテクスチャーに基づいてMPEG−4構造を使用する多様な表現を生成できる。公式的な規定は後述し、ここでは結果を形態的に記述する。
【0237】
深さイメージ構造は結合されるボックス、空間上の位置及びいくつかの他の情報と共にシンプルテクスチャーまたはポイントテクスチャーを規定する。深さイメージ集合は変換ノードと呼ばれる一つの構造の下に統合され、これにより多様な有用な表現を生成できる。これらのうち二つが最も広く使われ、これらは特定のMPEG−4名称を有してはいないが、実務上これらをボックステクスチャー(BoxTexture:BT)及び一般化されたボックステクスチャー(Generalized Box Texture:GBT)と称する。BTは客体または場面の結合キューブに対応する6個のシンプルテクスチャーの集合である一方、GBTは共に両立する3D表現を提供する任意個数のシンプルテクスチャーの集合である。BTの例が図22に図示されている。図22には、参照イメージ、深さマップ、そして結果的な3D客体が図示されている。BTは増加するワーピングアルゴリズムにより描写されることができるが、GBTにも適用可能な他の方法を使用する。GBT表現の例は図23に図示されている。図23で複雑な客体である椰子を表現するために21個のシンプルテクスチャーが使われる。
【0238】
例えば、統合メカニズムにより同じ客体または同じ客体の一部を表現するために他のカメラを有するいくつかのLDIを使用できることに注目せねばならない。したがって、イメージ基盤客体と同じデータ構造、LDIツリーセル、サーフェル基盤ツリー構造は、いずれも場面の構造にシンプルテクスチャーとポイントテクスチャーの位置及び解像度を適用するにおいてはるかに強い柔軟性を提供するこのようなフォーマットの特別な場合である。
【0239】
次に構造化された2進体積オクツリー(Textured Binary Volumetric Octree:TBVO)について説明する。
【0240】
より柔軟な表現及び速いレンダリングを有する多重解像度形態及びテクスチャーを利用するためにTBVOに基づいたオクツリーイメージ表現が開発された。TBVOの目標は2進体積オクツリー(Binary Volumetic Octree:BVO)の改善として速い視覚化が可能なより柔軟な表現/圧縮フォーマットを考案することである。TBVOは形態を表現するBVO、参照イメージ集合、及びオクツリーノードに対応するイメージインデックスなどの3つの主な成分で構成される。
【0241】
BVO形式の形態情報は、通常的なオクツリー方式で大きなセルに結合された規則的に離れている2進(占有または非占有)ボクセルの集合である。このような表現は、深さを有するピクセル各々が3次元空間で固有な点を規定するので、深さイメージデータから‘点雲’形式の媒介子を通じて容易に得られることができる。点雲のBVOへの変換は図24に図示されている。類似の過程により多角形モデルをBVOに変換できる。BVOのテクスチャー情報は参照イメージから得られる。参照イメージは与えられたカメラ位置と方向とでのボクセルのテクスチャーである。したがって、BVO自体は参照イメージと共にモデル表現を提供する。しかし、それぞれのBVOリーフに対する参照イメージインデックスを貯蔵する付加的な構造は、より速い視覚化及び良好な品質を可能にしたことが明らかになった。
【0242】
BVO視覚化の主要な問題は、レンダリング中にそれぞれのボクセルの対応するカメラインデックスを決定せねばならないということである。このために少なくともボクセルが見えるカメラの存在を決定しなければならない。もし、単純計算方法を使用すればこのような手順は非常に遅い。このような問題の上に、いかなるカメラによっても見えないボクセルに対しては依然としていくつかの難しさが存在し、これは描写されたイメージに望ましくない雑音をもたらす。
【0243】
それぞれのボクセルに対して明確な色相を貯蔵することが可能な解決策になりうる。しかし、この場合、色相情報を圧縮するにおいていくつかの問題点がある。すなわち、ボクセル色相をイメージフォーマットでグループ化し、それを圧縮すれば隣接するボクセルの色相関連性が破壊されて圧縮率が満足できなくなる。
【0244】
TBVOでこのような問題は、あらゆるボクセルに対するイメージインデックスを貯蔵することによって解決される。インデックスは大体大きいボクセルグループに対して同一であり、これにより付加的な情報の経済的な貯蔵のためのオクツリー構造を使用できる。モデルに対する実験で、BVOと参照イメージだけを使用する表現に比べて平均的にただ15%の体積が増加することと観察された。このようなモデリングはややより複雑であるが、より柔軟な方法で任意の形態の客体を表現できる。
【0245】
スプラットのサイズはボクセルのサイズから容易に算出されるので、TBVOはスプラットを持ってレンダリングするための非常に便利な表現である。ボクセル色相は参照イメージとボクセルのイメージインデックスを使用して容易に決定される。
【0246】
次に、TBVOのストリーミングについて説明する。
255個のカメラで十分であると仮定し、インデックスに対して1バイトまで割り当てる。TBVOストリームはシンボルストリームである。あらゆるTBVOシンボルはBVOシンボルまたはテクスチャーシンボルである。テクスチャーシンボルはカメラインデックスを称し、カメラインデックスは“規定されていない”特定の番号またはコードである。
【0247】
以下、“規定されていない”コードを‘?’とする。TBVOストリームは幅優先順序で横断する。BVOを有しており、あらゆるリーフボクセルがイメージインデックスである場合にTBVOストリームの記述方法について説明する。これはモデリング段階で実施されねばならない。TBVOストリームはリーフノードを含んでいるあらゆるBVOノード(BVOシンボルを有していない)を幅優先順序で横断する。図25にはストリームを完壁に記述する擬似コードが図示されている。
【0248】
TBVOビットストリームの技術に対する例が図14に図示されている。図14(a)に示されたTBVOツリーに対するシンボルストリームは手順によって図14(c)に示されたように得られる。この例で、テクスチャーシンボルはバイトで表現される。しかし、実際的なストリームでは3個の値(2個のカメラと規定されていないコード)だけ表現すればよいので、それぞれのテクスチャーシンボルは単に3ビットだけ必要である。
【0249】
次に、DIBRアニメーションについて説明する。アニメーションバージョンはDIBRフォーマットの二つ−シンプルテクスチャーとオクツリーイメージだけを含む深さイメージ−に対して規定される。データサイズは3Dアニメーションにおいて重要な問題のうち一つである。ビデオストリームは自然と動映像バージョンに結合されうるので実質的なデータ減少を提供するこのような特定のフォーマットを選択する。
【0250】
深さイメージに対して、アニメーションは参照イメージをMPEG−4動映像テクスチャーに取り替えることによって実施される。高品質損失映像圧縮は算出される3D客体の外形に深刻に影響を及ぼさない。深さマップを参照映像ストリームのアルファチャンネルに無損失モードに近く貯蔵されうる。レンダリング段階であらゆる参照イメージのようにフレームが受信されて圧縮が解除された後に3Dフレームが描写される。
【0251】
オクツリーイメージのアニメーションは似ている。参照イメージはMPEG−4動映像テクスチャーにより代替されて新しいオクツリーストリームが現れる。
次に、MPEG−4ノードを定義する。
【0252】
DIBRフォーマットはMPEG−4 AFXノード定義に詳細に記述されている。深さイメージは、シンプルテクスチャー(SimpleTexture)またはポイントテクスチャー(PointTexture)に対する円錐視点パラメータを決定するフィールドを含む。オクツリーイメージノードは形態と参照イメージフォーマットの集合が規定されたTBVO形態で客体を表現する。場面に独立的な情報はDIBRデータ構造の特別なフィールドに貯蔵され、これによりDIBR客体の相互作用を場面の残りの部分で補正できる。DIBRノードの定義は図26に図示されている。
【0253】
図27は、深さイメージの空間的な配置を示した図面である。図9に各フィールドの意味が記載されている。深さイメージノードは一つのDIBR客体を規定する。複数の深さイメージノードが互いに関連されている時、これらはグループで処理され、したがって同じ変換ノードの下に位置せねばならない。diTextureフィールドは深さを有するテクスチャー(シンプルテクスチャーまたはポイントテクスチャー)を特定し、これは深さイメージノードに規定された領域にマッピングされる。
【0254】
オクツリーイメージノードはオクツリー構造及びそれの投影されたテクスチャーを定義する。オクツリー解像度フィールドは閉じられたキューブの側面に沿うオクツリーリーフの最大個数を特定する。オクツリーフィールドはオクツリー内部ノードの集合を定義する。それぞれの内部ノードはバイトで表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在するということを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序でなければならない。内部ノードの8個の子順序が図14(b)に図示されている。ボクセルイメージインデックスフィールドはボクセルに割当てられたイメージインデックスの配列を含む。レンダリング段階で、オクツリーリーフに起因した色相はリーフを特定のインデックスを有するイメージに垂直に投影することによって決定される。インデックスはオクツリーと同じ形式で貯蔵される。もし、特定のイメージが特定のボクセルに含まれたあらゆるリーフに対して使われるならば、イメージのインデックスはストリームに入力される。そうでない場合に固定された‘追加的な下位分割’コードが入力され、これはイメージインデックスが現在ボクセルの子各々に対して個別的に規定されることを意味する(同一に反復される形態に)。もし、ボクセルイメージインデックスが空いているならばイメージインデックスはレンダリング段階で決定される。イメージフィールドは、diTextureフィールドに対して単純テクスチャーを有する深さイメージノードの集合を特定する。しかし、深さイメージノードの隣接平面(nearPlane)と遠接平面(farPlane)フィールド、そして単純テクスチャーノードでの深さフィールドは使われない。
【0255】
次に、オクツリーイメージフォーマットの圧縮について説明する。
ここでオクツリーイメージに対する圧縮方法を考慮する。典型的なテスト結果は後述する。ポイントテクスチャーの圧縮はまだ支援されておらず、これは次のバージョンのAFXで行われる。
【0256】
オクツリーイメージでオクツリーイメージフィールドとオクツリーフィールドとは個別的に圧縮される。提案された方法はオクツリーイメージフィールドに対してはある程度視覚的に受容可能な歪曲が許容される一方、オクツリーフィールドは損失なしに圧縮されねばならないという事実に基づいて開発された。
【0257】
オクツリーイメージフィールドはイメージ圧縮手段(静的モデルに対する)またはMPEG−4により支援されるビデオ圧縮道具(動的モデルに対する)により圧縮される。本接近でオクツリーイメージに対してJPEGフォーマットが使われる。客体/背景境界で関係ないピクセルを捨てて圧縮歪曲を抑圧する付加的な前処理(詳細な内容は後述)は圧縮率とレンダリング品質を高める。
【0258】
オクツリー圧縮は、非常に簡略でリンクを持ってない二進ツリー表現の圧縮を扱っているゆえにオクツリーイメージ圧縮の最も重要な部分である。しかし、実験で下述された方法はこのような構造の体積を元来の約半分に縮めた。動的なオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3次元フレームに対して個別的に圧縮される。
【0259】
圧縮は、データの形態的特性を明確に使用する多様な適応算術コーディングにより行われる。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。提案された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
【0260】
−現在バイトに対する文脈決定
−このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
−算術コーダに確率値提供
−現在文脈で現在バイト発生の頻度に1を加えて現在PT更新(必要時、作業遂行後に再正規化、下の詳細な説明を参照)
【0261】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈基盤適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、本発明ではオクツリー構造とデータの形態的特性を活用することによって圧縮効率が向上する。開示された接近法はオクツリー圧縮の問題において全く新しい2つのアイディアに基づく。
A1:現在ノードに対し、文脈はその親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
A2:特定の親ノードで特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0262】
x−z平面上で(から)−90゜回転する変換Rに対する仮定‘A1’が図6に図示されている。‘A2’の裏面に存在する基本的な概念は、特定の形態の親ノードでの特定の形態の子ノードの発生確率は単にそれらの相対的な位置に依存するということである。このような仮定は確率テーブルの分析による実験で立証された。これにより過度に多くの確率テーブルを保有せずにより複雑な文脈を使用できる。順に、これによりデータ大きさ及び速度面でだいぶ良好な結果を得ることができる。複雑な文脈を使用するほど推定された確率がより明確になり、したがって、コードがより簡潔になることに注目せねばならない。
【0263】
さて、変換集合を紹介する。確率分布は不変であると仮定する。この状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0264】
【数9】
【0265】
投影により生成されたグループ理論の典型的な結果のうち一つは、Gが48個の個別的な直交変換を含み、ある意味ではキューブを自体的にとる直交変換の最大グループ(いわゆる、Coxeter
group)であるということを示す。例えば、図6に示した回転子Rは生成子を通じて次のように表現される。
【0266】
【数10】
【0267】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(またグループ理論で軌道と称される)が存在する。そして、定義によりGからの変換により連結されるならば二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0268】
仮定‘A2’の実質的な重要性は確率テーブルが親ノードその自体に従属的ではなく、ただ親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがあり、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルがありえる一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8=176個のテーブルが必要であることに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTは表31に記載された形態を取ることができる。
【0269】
【表30】
【0270】
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
【0271】
‘0−文脈モデル’と受入れられる第1段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つの確率テーブルを維持する。
最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
【0272】
次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0273】
このようなアルゴリズムの核心は、現在バイトに該当文脈と確率を決定することである。これは次のように行われる。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラスとこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実施する。
【0274】
−現在ノードの親Pを検索する。
−Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcとする。
−PにTを適用し、現在ノードNがマッピングされている標準ノードで子位置pを検索する。
−NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
−クラス位置組合わせ(c,p)に対応する確率テーブルのエントリTNから必要な確率を導出する。
−1−文脈モデルに対して、前述した段階は明らかな方式に変更される。言及する必要なく、あらゆる変換は事前に計算されてルックアップテーブルで行われる。
【0275】
ノードNのデコーディング過程でそれの親Pは既にデコーディングされているので変換Tは知られているということに注目せねばならない。デコーディング過程であらゆる段階は対応されるエンコーディング段階と完全に似ている。
【0276】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。この作業で、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0277】
【数11】
【0278】
S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すればすぐあらゆるエントリが再正規化される。Pでゼロ値を発生させないために他のエントリは2で割る一方、1に該当するエントリは変わらずに残る。
【0279】
それぞれのボクセルに対するイメージインデックスを決定するシンボルストリームは自体の確率テーブルを利用して圧縮される。上で使われた用語でそれぞれのボクセルに対するイメージインデックスを決定するシンボルストリームは一つの文脈である。PTエントリはオクツリーノードに対するエントリより大きい増分で更新される。これにより確率が含まれたシンボル頻度の大きい変動に適用できる。残りはノードシンボルコーディングと差がない。
【0280】
DIBRフォーマットに対するレンダリング方法はAFX標準の一部ではないが、DIBR客体レンダリングの簡略性、速度及び品質を得るために使われる概念は説明する必要がある。本レンダリング方法は‘レンダリング原形’として使われる小さくて扁平な色相パッチのスプラットに基づく。下に略述された2つの接近法は深さイメージとオクツリーイメージとの2つの相異なる表現に適用される。レンダリング速度を向上させるためのスプラッティングのためにOpenGL関数が採用される。それにも拘わらず、ソフトウェアレンダリングも可能であり、これにより深さイメージまたはオクツリーイメージの単純な構造を利用して計算を最適化できる。
【0281】
深さイメージ客体をレンダリングするために使用する方法は極めて簡単である。しかし、それはOpenGL関数に依存してハードウェア加速器によりより速く動作することを言及する必要がある。この方法で、深さを有するあらゆるピクセルはレンダリングされる単純テクスチャー及び点テクスチャーから3D点に変換され、その後、このような点で小さなポリゴン(スプラット)の位置を決定してOpenGLのレンダリング関数を適用する。単純テクスチャーの場合に対するこのような過程の擬似コードが図28に図示されている。点テクスチャーの場合は正確に同じ過程に扱われる。
【0282】
スプラットのサイズは点と観察者との間の距離に適するように採択されねばならない。次のような簡単な方法が使われた。まず、与えられた3D客体の閉じられたキューブを経た均一格子に細分する。スプラットのサイズは格子各々のセルに対して計算され、この値はセル内の点に対して使われる。計算は次のように実施される。
【0283】
【数12】
【0284】
このような方法はより正確な半径計算、より複雑なスプラット、アンチエーリアシングなどにより明確に改善される。しかし、このような簡単な方法も良好な見解品質を提供する。
【0285】
同じ方法がオクツリーイメージのレンダリングに適用される。ここでより粗いレベルの一つでオクツリーノードがスプラットサイズの前述した計算で使われる。しかし、オクツリーイメージに対して色相情報はボクセル集合より先にマッピングされねばならない。それぞれのボクセルは対応する参照イメージインデックスを有しているので、これは非常に容易に実施される。参照イメージでピクセル位置もオクツリーストリームのパーシング過程中に把握される。オクツリーイメージボクセルの色相が決定されればすぐにスプラットサイズが算定され、OpenGLに基づいたレンダリングが前述したように使われる。
【0286】
DIBRフォーマットがいくつかの3Dモデルに対して実施されてテストされた。モデルのうち一つ(“膽星台”)は実際に物理的な客体をスキャニングして得られ(Cyberware社のカラー3Dスキャナーが使われた)、ほかのものは3DS−MAXデモパッケージから変換された。テストはOpenGL加速器を装着した1.8GHz インテル(登録商標)ペンティアム(登録商標)IV上で実施された。
【0287】
多角形からDIBRフォーマットに変換する方法は後述し、その後、モデリング、表現、そして相異なるDIBRフォーマットの圧縮結果を記述する。大部分のデータは深さイメージ及びオクツリーイメージに関するものである。このようなフォーマットは動映像バージョンを有して効果的に圧縮されうる。提示されるモデルはいずれも直交カメラで構成された。これは直交カメラが一般的に‘小さな’客体を表現するのに適切な方法であるからである。距離がある環境の経済的なDIBR表現のために遠近カメラが大部分使われる。
【0288】
DIBRモデル生成は、十分な数のシンプルテクスチャーを得ることから始まる。現実世界の客体に対してこのようなデータがデジタルカメラとスキャニング装置から得られる一方、多角形客体に対してシンプルテクスチャーが計算される。次の段階は使用しようとするDIBRフォーマットに依存する。
【0289】
深さイメージは簡単に得られたシンプルテクスチャーの集合である。たとえ深さマップを圧縮された形式で貯蔵できたとしても、形態において小さな歪曲がたびたびかなり目立つので無損失圧縮だけ許容される。
【0290】
参照イメージは損失圧縮形式で貯蔵できるが、この場合に前処理が必要である。JPEG損失圧縮のような公知の方法を使用することは一般的に受容されうるが、特に、背景色相が‘客体’に散る地点である、客体と参照イメージの背景との境界による境界面の不良は生成された3次元客体画面でより目立つようになる。このような問題の解決方案は、ブロックの平均色相と強度の急速な減衰を利用して境界ブロックでイメージを背景に拡張した後、JPEG圧縮を適用することである。このような効果は、背景ピクセルはレンダリングに使われないため、歪曲を歪曲が影響を及ぼさない背景に‘スキージング’することと似ている。損失圧縮された参照イメージの内部境界もやはり不良をもたらすが、これは一般的にあまり目につかない。
【0291】
オクツリーイメージモデルを生成するために中間点基盤表現(Point Based Representation:PBR)を使用する。PBRを構成する点の集合は、参照イメージに存在するピクセルを対応する深さマップに規定された距離により遷移することによって得られた色相を有する点の集合である。元のシンプルテクスチャーは結果的なPBRが十分に正確な客体表面に対する推定を提供するように構成される。その後、PBRは図5に示したようなオクツリーイメージに変換され、このようなフォーマットにより賦課された制限を満足する新しい完全な参照イメージ集合を生成するために使われる。同時に、オクツリーボクセルに対する参照イメージインデックスを示す付加的なデータ構造ボクセルイメージインデックスが生成される。この時、参照イメージは損失フォーマットで貯蔵されねばならず、これらはまず以前の下位章で説明したように前処理される。さらに、TBVO構造は明白にボクセルイメージインデックスの体積をよりもっと縮めるので、重畳されるピクセルは捨てられ、これはボクセルイメージインデックスの体積をさらに縮める。元の参照イメージとJPEGフォーマットで処理された参照イメージの例が図29に図示されている。
【0292】
オクツリーイメージに対する損失圧縮による品質低下は無視できるほどである。しかし、時に深さイメージ客体に対しては依然として目につく。
【0293】
ポイントテクスチャーモデルは、前述したように参照平面への客体投影を利用して構成される。もし、これにより十分なサンプルが生成されていなければ(これは投影ベクターにほとんど垂直の表面部分に対する場合でありうる)、付加的なシンプルテクスチャーがより多くのサンプルを提供するために構成される。得られた点の集合はその後にポイントテクスチャー構造で再構成される。
【0294】
いくつかの多角形モデルのデータサイズとそれらのDIBRバージョンのサイズとの比較が表32に記載されている。モデル名称の数字は彼らの参照イメージの解像度(ピクセル単位)を意味する。表32は静的なDIBRモデル圧縮に対する比較表であり、モデルのサイズはキロバイト単位である。
【0295】
【表31】
【0296】
参照イメージは高品質JPEGで貯蔵される一方、深さイメージで深さマップはPNGフォーマットで貯蔵される。表32のデータは深さイメージモデルのサイズが得られた多角形モデルのサイズより常に小さいことではないといういことを示す。しかし、オクツリーイメージにより提供された圧縮は大体はるかに大きい。これは深さマップを一つの効率的に圧縮されたオクツリーデータ構造に統合した結果であるだけでなく、参照イメージから冗長ピクセルを除去する精巧な前処理の結果である。一方、深さイメージ構造は‘椰子’のような複雑な客体を難しい前処理なしに表現するための簡単で汎用的な手段を提供する。
【0297】
表33はオクツリーイメージの特定データを示し、このようなフォーマットに対して開発された圧縮効率の概念を説明する。表のエントリは、オクツリーとボクセルイメージインデックス成分を構成するモデルの圧縮された部分と圧縮されていない部分とのデータサイズである。このような部分の減少は2から2.5倍まで変わる。表33で“椰子”モデルは表32での“椰子”モデルと同じものではない(次の下位章の図面参照)。表33には、オクツリーイメージフォーマットでのオクツリーとボクセルイメージインデックスフィールドとの比較結果が記載されている。また、ファイルサイズはキロバイト単位で四捨五入した。
【0298】
【表32】
【0299】
レンダリング速度に関するデータを提示する。“椰子512”の深さイメージのレンダリング速度は約2fps(frame per second)である(21個の単純テクスチャーであることに注目)。大きさが512である参照イメージを有してテストされた他の静的モデルは5〜6fpsでレンダリングされる。レンダリング速度は場面の複雑度に従属的ではなく参照イメージの数と解像度に大部分従属的であることに注目せねばならない。これは多角形表現に対する重要な長所であり、特に動映像の場合に一層そうである。動映像オクツリーイメージの“ドラゴン512”は秒当たり24フレームで視覚化される。圧縮結果は次の通りである。
【0300】
−オクツリーとボクセルイメージインデックス成分の圧縮されたサイズ:910KB(各々696KB及び214KB)
−圧縮されたAVIフォーマットの6個の参照ビデオストリーム:1370KB
−全体データ容量:2280KB
【0301】
“天使256”の深さイメージモデルが図22に図示されている。図30〜図34は、いくつかの他のDIBRと多角形モデルを示す。図30は“モルトン”モデルの多角形及び深さイメージの外観を比較した図面である。深さイメージモデルはJPEGフォーマットの参照イメージを使用し、レンダリングは前述された最も簡単なスプラッティングにより実施されるが、イメージ品質はかなり良好である。図31は、スキャニングされた“膽星台”モデルの2つの異なるバージョンを比較した図面である。モデルの上段部分にある黒い点は入力データの不良に起因する。図15は、21個のシンプルテクスチャーよりなるより複雑な“椰子”モデルを示す。たとえ単純化されたスプラッティングを実行した結果として、一般的にリーフが3DS−MAXの元のイメージより広くなったが、良好な品質を示す。
【0302】
最後に、図33は、“ドラゴン512”オクツリーイメージアニメーションから3Dフレームを示す。図34は、ポイントテクスチャーフォーマットが優秀な品質のモデルを提供できることを示す。
【0303】
以下、図35ないし図54を参照して本発明による深さイメージに基づく3次元客体の表現装置及び方法の望ましい実施例について詳細に説明する。
【0304】
図35は、本発明による深さイメージに基づく3次元客体の表現装置に関する一実施例の構成を示すブロック図である。図35を参照すれば、深さイメージに基づく3次元客体の表現装置1800は視点情報生成部1810、前処理部1820、第1イメージ生成部1830、第2イメージ生成部1840、ノード生成部1850、及びエンコーディング部1860で構成される。
【0305】
視点情報生成部1810は少なくとも一つ以上の視点情報を生成する。視点情報は客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するフィールドは位置フィールド、方向フィールド、視野フィールド、投影方法フィールド、及び距離フィールドを含む。
【0306】
位置フィールド及び方向フィールド各々にはイメージ平面を眺める位置及び方向が記録される。位置フィールドに記録される位置は、イメージが存在する座標系の原点に対する相対的な位置であり、方向フィールドに記録される方向は所定の基準方向に対する相対的な回転量である。視野フィールドには位置からイメージ平面までの視野の幅と高さが記録される。
【0307】
投影方法フィールドには、位置及び方向により特定される視点からイメージ平面までの視野が水平角と垂直角で表示される直交投影方法と、視点からイメージ平面までの視野が幅と高さで表示される遠近投影方法のうち選択された投影方法が記録される。直交投影方法が選択された場合に視野フィールドに記録される視野の幅と高さは各々イメージ平面の幅と高さであり、遠近投影方法が選択された場合に視野フィールドに記録される視野の幅と高さは各々視点からイメージ平面に至る視線により形成される水平角及び垂直角である。
【0308】
距離フィールドには、位置及び方向により特定される視点から近い境界平面までの距離と遠い境界平面までの距離とが記録される。距離フィールドにより深さ情報の領域が規定される。
【0309】
第1イメージ生成部1830は、視点情報に対応して客体を構成するそれぞれのピクセル点の色相情報に基づいて色相イメージを生成する。アニメーション客体を生成するビデオフォーマットの場合に深さ情報及び色相情報は複数のイメージフレーム列である。第2イメージ生成部1840は視点情報に対応して客体を構成するそれぞれのピクセル点の深さ情報に基づいて深さイメージを生成する。ノード生成部1850は視点情報、視点情報に対応する色相イメージ及び深さイメージで構成されたイメージノードを生成する。
【0310】
前処理部1820は、色相イメージで客体と背景との境界に位置するピクセルを前処理する。図36には前処理部1820の詳細な構成が図示されている。図36を参照すれば、前処理部1820は拡散部1910と圧縮部1920とを有する。拡散部1910は、ブロックの平均色相と急速な強度の減衰を利用してブロックの境界に位置するピクセルの色相を背景に拡散する。圧縮部1920は、ブロックに基づいた圧縮を行って歪曲を背景に放出する。エンコーディング部1860は生成されたイメージノードをエンコーディングしてビットストリームを出力する。
【0311】
図37は、本発明による深さイメージに基づく3次元客体の表現方法に関する一実施例の遂行過程を示すフローチャートである。図37を参照すれば、視点情報生成部1810は客体を眺める視点に対する視点情報を生成する(S2000)。第1イメージ生成部1830は、視点情報に対応して客体を構成するそれぞれのピクセル点の色相情報に基づいて色相イメージを生成する(S2010)。第2イメージ生成部1840は視点情報に対応して客体を構成するそれぞれのピクセル点の深さ情報に基づいて深さイメージを生成する(S2020)。ノード生成部1850は、視点情報、視点情報に対応する深さイメージ及び色相イメージで構成されるイメージノードを生成する(S2030)。
【0312】
拡散部1910は、ブロックの境界に位置するピクセルの色相を背景に拡散する(S2040)。圧縮部1920はブロックに基づいた圧縮により歪曲を背景に放出する(S2050)。エンコーディング部1860はイメージノードをエンコーディングしてビットストリームを出力する(S2060)。
【0313】
図35ないし図37を参照して説明した深さイメージに基づく3次元客体の表現装置及び方法は、シンプルテクスチャー(SimpleTexture)による客体表現に適用され、シンプルテクスチャーの構造は図26に図示されている。
図38は、本発明による深さイメージに基づく3次元客体の表現装置に対する他の実施例の構成を示すブロック図である。
【0314】
図38を参照すれば、深さイメージに基づく3次元客体の表現装置2100はサンプリング部2110、視点情報生成部2120、平面情報生成部2130、深さ情報生成部2140、色相情報生成部2150、及びノード生成部2160で構成される。
【0315】
サンプリング部2110は、客体を参照平面に投射してイメージ平面に対するサンプルを生成する。イメージ平面に対するサンプルは色相イメージ及び深さイメージで構成されたイメージ対で構成される。
【0316】
視点情報生成部2120は、客体を眺める視点に関する視点情報を生成する。視点情報は客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するフィールドは位置フィールド、方向フィールド、視野フィールド、投影方法フィールド、及び距離フィールドを含む。
【0317】
位置及び方向フィールドには各々イメージ平面を眺める位置及び方向が記録される。位置及び方向により視点が特定される。視野フィールドには視点からイメージ平面までの視野の幅と高さが記録される。投影方法フィールドには視点からイメージ平面までの視野が水平角と垂直角で表示される直交投影方法と、視点からイメージ平面までの視野が幅と高さで表示される遠近投影方法とのうち選択された投影方法が記録される。距離フィールドには視点から近い境界平面までの距離と、遠い境界平面までの距離とが記録される。距離フィールドにより深さ情報の領域が規定される。
【0318】
平面情報生成部2130は、視点情報に対応するイメージ平面に対するサンプルから得られた点集合で構成されるイメージ平面の幅、高さ、及び深さを規定する平面情報を生成する。平面情報は複数のフィールドで構成される。平面情報を構成するフィールドはイメージ平面の幅が記録される第1フィールド、イメージ平面の高さが記録される第2フィールド、及び深さ情報の解像度が記録される深さ解像度フィールドを含む。
【0319】
深さ情報生成部2140は、イメージ平面の各点に投射された客体のあらゆる投射点に対する深さが記録された深さ情報列を生成する。色相情報生成部2150はそれぞれの投射点に対する色相情報列を生成する。深さ情報列には投射点の数とそれぞれの投射点の深さ値とが順次に記録され、色相情報列には投射点各々に対する深さ値に対応する色相値が順次に記録される。
【0320】
ノード生成部2160はイメージ平面に対応する平面情報、深さ情報列及び色相情報列で構成されるノードを生成する。
【0321】
図39は、本発明による深さイメージに基づく3次元客体の表現方法に関する他の実施例の遂行過程を示すフローチャートである。図39を参照すれば、視点情報生成部2120は客体を眺める視点に関する視点情報を生成する(S2200)。平面情報生成部2130は視点情報に対応してイメージ平面の幅、高さ、及び深さを規定する平面情報を生成する(S2210)。サンプリング部2110は客体をイメージ平面に投影して平面に対するサンプルを生成する(S2220)。S2220段階はイメージ平面に対するより多くのサンプルを提供するために遂行され、イメージ平面が十分な場合には遂行されない。
【0322】
深さ情報生成部2140は、イメージ平面の各点に投射された客体のあらゆる投射点に対する深さが記録された深さ情報列を生成する(S2230)。色相情報生成部2150はそれぞれの投射点に対する色相情報列を生成する(S2240)。ノード生成部2160はイメージ平面に対応する平面情報、深さ情報列及び色相情報列で構成されるノードを生成する(S2250)。
【0323】
図38及び図39を参照して説明した深さイメージに基づく3次元客体の表現装置及び方法は、ポイントテクスチャー(PointTexture)による客体表現に適用される。ポイントテクスチャーの構造は図26に図示されている。
【0324】
図40は、本発明による深さイメージに基づく3次元客体の表現装置に対するさらに他の実施例の構成を示すブロック図である。図40を参照すれば、深さイメージに基づく3次元客体の表現装置2300は前処理部2310、参照イメージ決定部2320、形態情報生成部2330、インデックス生成部2340、ノード生成部2350、及びエンコーディング部2360で構成される。
【0325】
前処理部2310は参照イメージを前処理する。前処理部2310の詳細な構成が図41に図示されている。図41を参照すれば、前処理部2310は拡散部2410及び圧縮部2420を有する。拡散部2410は、ブロックの平均色相と急速な強度の減衰を利用して参照イメージで客体と背景との境界に位置するピクセルの色相を背景に拡散する。圧縮部2420は、参照イメージに対してブロックに基づいた圧縮を行って歪曲を背景に放出する。
【0326】
参照イメージ決定部2320は、形態情報生成部2330により分割されたキューブ各々に対して色相イメージを含む参照イメージを決定する。参照イメージは、視点情報と視点情報に対応する色相イメージとで構成される深さイメージノードである。この時、視点情報は前記客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するそれぞれのフィールドは前述した通りであるので詳細な説明は省略する。一方、深さイメージノードに含まれる色相イメージはシンプルテクスチャーまたはポイントテクスチャーになりうる。
【0327】
形態情報生成部2330は客体を含むオクツリーを8個の下位キューブに分割し、分割された下位キューブを子ノードと規定して客体に対する形態情報を生成する。形態情報生成部2330は、分割された下位キューブのサイズが所定の基準サイズより小さくなるまで下位キューブへの分割過程を反復的に実施する。形態情報はキューブの側面に沿って存在するオクツリーリーフの最大個数が記録される解像度フィールド、オクツリーの内部ノードの構造を示す配列が記録されるオクツリーフィールド、及びオクツリーの内部ノードに対応される参照イメージのインデックスが記録されるインデックスフィールドを含む。
【0328】
インデックス生成部2340は、形態情報に対応する参照イメージのインデックス情報を生成する。図42にはインデックス生成部2340の詳細な構成が図示されている。図42を参照すれば、インデックス生成部2340は色相点生成部2510、PBR生成部2520、イメージ変換部2530、及びインデックス情報生成部2540を有する。
【0329】
色相点生成部2510は、参照イメージに存在するピクセルを対応する深さマップに規定された距離だけ移動させて色相点を生成する。PBR生成部2520は色相点の集合により中間的なPBRイメージを生成する。イメージ変換部2530は、PBRイメージをそれぞれの点に対応するキューブにより表現したイメージのオクツリーイメージに変換する。インデックス情報生成部2540は、それぞれのキューブに対応する参照イメージのインデックス情報を生成する。
【0330】
ノード生成部2350は、形態情報、インデックス情報及び参照イメージで構成されるオクツリーノードを生成する。
【0331】
エンコーディング部2360は、オクツリーノードをエンコーディングしてビットストリームを出力する。エンコーディング部2360の詳細な構成が図43に図示されている。図43を参照すれば、エンコーディング部2360は文脈決定部2610、第1エンコーディング部2620、第2エンコーディング部2630、及び第3エンコーディング部2640、シンボルバイト記録部2650、及びイメージインデックス記録部2660で構成される。
【0332】
文脈決定部2610は、オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対する文脈を決定する。第1エンコーディング部2620は、22個のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから512個のノードをエンコーディングする。第1エンコーディング部2620は均一な分布からエンコーディングを始める。
【0333】
第2エンコーディング部2630は、親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して512番目ノードから2048番目ノードまでのノードをエンコーディングする。第2エンコーディング部2630は0−文脈モデルから1−文脈モデルへの転換時、0−文脈モデルの確率テーブルをあらゆる1−文脈モデルの確率テーブルに複写する。図44には第2エンコーディング部2630の詳細な構成が図示されている。
【0334】
図44を参照すれば、第2エンコーディング部2630は確率検索部2710、算術コーダ2720、及びテーブル更新部2730で構成される。確率検索部2710は、文脈に対応する確率テーブルから文脈での現在ノードの発生確率を検索する。算術コーダ2720は検索された確率を含む確率列によりオクツリーを圧縮する。テーブル更新部2730は、現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する。
【0335】
第3エンコーディング部2640は、親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して2048番目以後のノードをエンコーディングする。第3エンコーディング部2640は1−文脈モデルから2−文脈モデルへの転換時、親ノードパターンに対する1−文脈モデルの確率テーブルを同じ親ノードパターンでのそれぞれの位置に対応する2−文脈モデルの確率テーブルに複写する。図45には、第3エンコーディング部2640の詳細な構成が図示されている。
【0336】
図45を参照すれば、第3エンコーディング部2640は第1検索部2810、第1検出部2820、第2検索部2830、パターン生成部2840、第2検出部2850、算術コーダ2860、及びテーブル更新部2870で構成される。
【0337】
第1検索部2810は、現在ノードの親ノードを検索する。第1検出部2820は、検索された親ノードが属するクラスを検出して親ノードを検出されたクラスの標準ノードに変換する変換を検出する。第2検索部2830は、親ノードに検出された変換を適用して現在ノードがマッピングされている変換された親ノードで現在ノードの位置を検索する。パターン生成部2840は、現在ノードに検出された変換を適用して検出されたクラスと現在ノードの位置インデックスとの結合に該当するパターンを生成する。第2検出部2850は、検出されたクラスと位置とで構成される組合わせに対応する確率テーブルのエントリから必要な確率を検出する。算術コーダ2860は、第2検出部2850から入力された確率列によりオクツリーを圧縮する。テーブル更新部2870は、現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する。
【0338】
シンボルバイト記録部2650は、現在ノードがリーフノードではない場合に現在ノードに対応するシンボルバイトをビットストリームに記録する。その後、現在ノードのあらゆる子ノードが同じ参照イメージインデックスを有しており、現在ノードの親ノードが“未定の”参照イメージインデックスを有していれば、イメージインデックス記録部2660は現在ノードの下位ノードに対して同じ参照イメージインデックスをビットストリームに記録する。もし、現在ノードの子ノードが相異なる参照イメージインデックスを有していれば、イメージインデックス記録部2660は、現在ノードの下位ノードに対して“未定の”参照イメージインデックスを記録する。
【0339】
図46は、本発明による深さイメージに基づく3次元客体の表現方法に関する他の実施例の実施過程を示すフローチャートである。図46を参照すれば、形態情報生成部2330は、客体を含むオクツリーを下位キューブに分割して客体に対する形態情報を生成する(S2900)。形態情報は、キューブの側面に沿って存在するオクツリーリーフの最大個数が記録される解像度フィールド、オクツリーの内部ノードの構造を表す配列が記録されるオクツリーフィールド、及びオクツリーの内部ノードに対応される参照イメージのインデックスが記録されるインデックスフィールドで構成される。内部ノード各々はバイトで表現され、内部ノードに属する子ノードに対する下位子ノードの存在如何はバイトを構成するビット列に記録されるノード情報により表現される。下位キューブへの分割過程は、分割されたキューブのサイズが所定の基準サイズ(この値は実験的に決定できる)より大きければ分割されたキューブを再び8個に分割する(S2910)。
【0340】
参照イメージ決定部2320は、分割されたキューブ各々に対して色相イメージを含む参照イメージを決定する(S2920)。参照イメージは、視点情報と、視点情報に対応する色相イメージとで構成される深さイメージノードである。視点情報の構成は前述した通りである。一方、参照イメージに対して前処理過程が行われうる。
【0341】
図47は、参照イメージに対する前処理過程のフローチャートである。図47を参照すれば、ブロックの平均色相と急速な強度の減衰を利用して参照イメージで客体と背景との境界に位置するピクセルの色相を背景に拡散する(S3000)。そして、参照イメージに対してブロックに基づいた圧縮を行って歪曲を背景に放出する(S3010)。
【0342】
インデックス生成部2340は、形態情報に対応する参照イメージのインデックス情報を生成する(S2930)。図48には、インデックス生成段階の遂行過程が図示されている。図48を参照すれば、色相点生成部2510は参照イメージに存在するピクセルを対応する深さマップに規定された距離だけ移動させて色相点を生成する(S3100)。PBR生成部2520は、色相点の集合により中間的なPBRイメージを生成する(S3110)。イメージ変換部2530は、PBRイメージをそれぞれの点に対応するキューブにより表現したイメージのオクツリーイメージに変換する(S3120)。インデックス情報生成部2540はそれぞれのキューブに対応する参照イメージのインデックス情報を生成する(S3130)。
【0343】
ノード生成部2350は、形態情報、インデックス情報、及び参照イメージで構成されるオクツリーノードを生成する(S2940)。
【0344】
エンコーディング部2360は、オクツリーノードをエンコーディングしてビットストリームを出力する(S2950)。
【0345】
図49は、エンコーディング段階の遂行過程を示すフローチャートである。図49を参照すれば、文脈決定部2610は、オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対する文脈を決定する(S3200)。現在ノードが512番目以下の場合に(S3210)、0−文脈モデル及び算術コーディングを利用して第1エンコーディング段階を遂行する(S3220)。現在ノードが512番目を超過すれば(S3210)、現在ノードに対する文脈を決定した後(S3230)、2048番目ノードに到達するまで1−文脈モデル及び算術コーディングを利用して第2エンコーディング段階を遂行する(S3240)。現在ノードが2048番目を超過すれば(S3250)、現在ノードに対する文脈を決定した後(S3260)、2−文脈モデル及び算術コーディングを利用して第3エンコーディング段階を遂行する(S3270)。
【0346】
この時、0−文脈は文脈と独立的であり、1−文脈は親ノードのクラスである。一方、クラスの全体個数は22であり、基本変換により生成される直交変換Gにより連結される時、二つのノードが同じクラスに属する。基本変換は次の通りである。
【0347】
【数13】
【0348】
図50は、第2エンコーディング段階の遂行過程を示すフローチャートである。図50を参照すれば、確率検索部2710は文脈に対応する確率テーブルから文脈での現在ノードの発生確率を検索する(S3300)。算術コーダ2720は検索された確率を含む確率列によりオクツリーを圧縮する(S3310)。テーブル更新部2730は現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する(S3320)。
【0349】
図51は、第3エンコーディング段階の遂行過程を示すフローチャートである。図51を参照すれば、第1検索部2810は現在ノードの親ノードを検索する(S3400)。第1検出部2820は、検索された親ノードが属するクラスを検出して親ノードを検出されたクラスの標準ノードに変換する変換を検出する(S3410)。第2検索部2830は、親ノードに検出された変換を適用して現在ノードがマッピングされている変換された親ノードで前記現在ノードの位置を検索する(S3420)。パターン生成部2840は、現在ノードに検出された変換を適用して検出されたクラスと現在ノードの位置インデックスとの結合に当たるパターンを生成する(S3430)。第2検出部2850は検出されたパターンに対応する確率テーブルのエントリから必要な確率を検出する(S3440)。算術コーダ2860は第2検出部2850から入力された確率列によりオクツリーを圧縮する(S3450)。テーブル更新部2870は現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する(S3460)。
【0350】
図52は、エンコーディング段階で遂行されるオクツリーノードに対するビットストリームの生成過程を示すフローチャートである。図35を参照すれば、現在ノードがリーフノードではない場合(S3500)、シンボルバイト記録部2650は現在ノードに対応するシンボルバイトをビットストリームに記録して(S3510)S3520段階に進む。現在ノードがリーフノードであれば、S3510段階を遂行せずに直ちにS3520段階に進む。
【0351】
現在ノードのあらゆる子ノードが同じ参照イメージインデックスを有しており、現在ノードの親ノードが“未定の”参照イメージインデックスを有していれば(S3520)、イメージインデックス記録部2660は、現在ノードの下位ノードに対して同じ参照イメージインデックスをビットストリームに記録する(S3530)。もし、現在ノードの子ノードが相異なる参照イメージインデックスを有していれば(S3520)、イメージインデックス記録部2660は現在ノードの下位ノードに対して“未定の”参照イメージインデックスを記録する(S3540)。
【0352】
図53は、本発明による深さイメージに基づく3次元客体の表現装置に関するさらに他の実施例の構成を示すブロック図であり、図54は、本発明による深さイメージに基づく3次元客体の表現方法に関するさらに他の実施例の遂行過程を示すフローチャートである。
【0353】
図53及び図54を参照すれば、本発明による深さイメージに基づく3次元客体の表現装置3600は入力部3610、第1抽出部3620、デコーディング部3630、第2抽出部3540、及び客体表現部3650で構成される。
【0354】
入力部3610は外部装置からビットストリームを入力される(S3700)。第1抽出部3620は入力されたビットストリームからオクツリーノードを抽出する(S3710)。
【0355】
デコーディング部3630は抽出されたオクツリーノードをデコーディングする(S3720)。デコーディング部3630は文脈決定部、第1デコーディング部、第2デコーディング部、及び第3デコーディング部を具備する。デコーディング部3630を構成するそれぞれの構成要素は図43ないし図45そして図49ないし図52を参照して説明したエンコーディング部の対応する構成要素と同一なので詳細な説明は省略する。
【0356】
第2抽出部3640は、デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する(S3730)。客体表現部3650は、抽出された形態情報に対応する抽出された参照イメージを組合わせて客体を表現する(S3740)。
【0357】
本発明はまたコンピュータで読出しできる記録媒体にコンピュータが読めるコードとして具現することが可能である。コンピュータが読出しできる記録媒体は、コンピュータシステムによって読めるデータが貯蔵されるあらゆる記録装置を含む。コンピュータが読出しできる記録媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フレキシブルディスク、光データ貯蔵装置などがあり、またキャリヤウェーブ(例えば、インターネットを通した伝送)の形態に具現されるものも含む。またコンピュータが読出しできる記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて分散方式でコンピュータが読めるコードが貯蔵されて実行される。
【0358】
以上、本発明の望ましい実施例について図示及び説明したが、本発明は前述した特定の望ましい実施例に限定されず、特許請求の範囲で請求する本発明の要旨を外れずに、当業者であれば、誰でも多様な変形実施が可能であることはもちろんであり、そのような変更は特許請求の範囲の記載範囲内にある。
【符号の説明】
【0359】
2300 深さイメージに基づく3次元客体の表現装置
2320 参照イメージ決定部
2330 形態情報生成部
2340 インデックス生成部
2350 ノード生成部
2360 エンコーディング部
【技術分野】
【0001】
本発明は一群の深さイメージに基づく表現(Depth Image−Based Representation:DIBR)3次元客体表現装置及び方法に係り、より詳細には、MPEG−4動映像フレームワーク拡張(MPEG−4 Animation Framework eXtention:AFX)に採用されてきたDIBRという一群のコンピュータグラフィック及びアニメーションのための3次元客体の表現装置、3次元客体の表現方法およびその記録媒体に関する。
【背景技術】
【0002】
3次元(3−Dimensional:3D)グラフィックに関する研究の初期から研究者等の窮極的な目標は実際イメージのような現実的なグラフィック画面を生成することである。したがって、伝統的なレンダリング技術分野で多角形モデル(Polygonal model)を利用する研究が実行され、その結果として非常に現実的な3D環境を提供するのに十分な程度にモデリング及びレンダリング技術が開発されてきた。しかし、複雑なモデルを生成するための過程は専門家の多くの努力と時間を必要とする。また、現実的で複雑な環境は莫大な量の情報を必要とし、貯蔵及び伝送において低効率を招く。
【0003】
現在、コンピュータグラフィックにおいて3D客体表現の主要な方法は多角形モデルである。任意の形状を色相多角形の集合、すなわち、三角形により概略的に表現できる。ソフトウェアアルゴリズムの飛躍的な進歩及びグラフィックハードウェアの発展により、複雑な客体及び場面をリアルタイムでかなり現実的な静止及び動映像多角形モデルに視覚化できる。
【0004】
しかし、他の3D表現に関する研究がここ数年間非常に活発に進んできた。現実世界の客体に対する多角形モデルを構成し難いだけでなくレンダリングの複雑性及び写真のように現実的な場面を生成するのにおいて品質が落ちるということが、このような研究が進んできた主要な理由である。
【0005】
要求されるアプリケーションは莫大な量の多角形を必要とする。例えば、人体の詳細なモデルは数百万個の三角形を含み、これを扱うことは容易ではない。たとえ、3次元レーザースキャナーのように3次元測定技術分野での最近の進歩により収容可能なエラーを有する稠密なデータを得られるが、全体客体に対して連続的に完璧な多角形モデルを得ることは依然としてコストが多くかかって非常にむずかしい。一方、写真のような現実的な品質を得るための多角形レンダリングアルゴリズムは演算において複雑なのでリアルタイムレンダリングが不可能である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする技術的課題は、MPEG−4 AFXに採用されてきたDIBRと呼ばれる、一群のコンピュータグラフィックとアニメーションのための3次元表現のための深さイメージに基づくノード構造を提供するのにある。
【0007】
本発明が解決しようとする他の技術的課題は、MPEG−4 AFXに採用されてきたDIBRという一群のコンピュータグラフィック及びアニメーションのための3次元表現方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み出すことができる記録媒体を提供するのにある。
【課題を解決するための手段】
【0008】
前記技術的課題を達成するため、本発明による深さイメージに基づく3次元客体表現装置は、客体を構成するオクツリーのうち前記客体を含むオクツリーを所定個数の下位キューブに分割し、分割された下位キューブを子ノードと規定して前記客体に対する形態情報を生成する形態情報生成部と、前記キューブ各々に対して色相イメージを含む参照イメージを決定する参照イメージ決定部と、前記形態情報に対応する前記参照イメージのインデックス情報を生成するインデックス生成部と、前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成するノード生成部と、前記オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部とを含み、前記形態情報生成部は、前記分割された下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施する。
【0009】
さらに他の本発明による深さイメージに基づく3次元客体表現装置は、ビットストリームを入力される入力部と、前記ビットストリームからオクツリーノードを抽出する第1抽出部と、前記オクツリーノードをデコーディングするデコーディング部と、前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する第2抽出部と、前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する客体表現部とを含む。
【0010】
前記他の技術的な課題を達成するための、本発明による深さイメージに基づく3次元客体表現方法は、客体を構成するオクツリーのうち前記客体を含むオクツリーを所定個数の下位キューブに分割し、分割された下位キューブを子ノードと規定して前記客体に対する形態情報を生成する段階と、前記キューブ各々に対して色相イメージを含む参照イメージを決定する段階と、前記形態情報に対応する前記参照イメージのインデックス情報を生成する段階と、前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成する段階と、前記オクツリーノードをビットストリームにエンコーディングする段階とを含み、前記形態情報生成部は、前記分割された下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施する。
【0011】
さらに他の本発明による深さイメージに基づく3次元客体表現方法は、ビットストリームを入力される段階と、前記ビットストリームからオクツリーノードを抽出する段階と、前記オクツリーノードをデコーディングする段階と、前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する段階と、前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する段階とを含む。
【0012】
本発明によれば、イメージ基盤モデルに対するレンダリング時間が多角形の場合のように形態的な複雑性に比例せず、一般的に参照及び出力イメージに存在するピクセルの数に比例する。さらに、イメージ基盤表現が現実世界の客体と場面に適用されれば数百万個の多角形を使用せずに低コストで自然的な場面の写真のような現実的なレンダリングが可能になる。
【発明の効果】
【0013】
本発明によれば、このようなイメージ基盤表現は、色相3次元客体の完全な情報を2次元配列の集合−イメージ処理及び圧縮の公知の方法に直ちに適用できる単純で規則的な構造−でエンコーディングするので、アルゴリズムが簡単で多くの部分がハードウェアにより支援される。その上、イメージ基盤モデルに対するレンダリング時間は多角形の場合のように形態的な複雑性に比例せず、一般的に参照及び出力イメージに存在するピクセルの数に比例する。さらに、イメージ基盤表現が現実世界の客体と場面に適用されれば数百万個の多角形及び高コストの使用なしに自然な場面の写真のような現実的なレンダリングが可能になる。
【図面の簡単な説明】
【0014】
【図1】現在の参照ソフトウェアに統合されたIBRの例を示した図面である。
【図2】オクツリーの構造及び子の順序を示した図面である。
【図3】オクツリー圧縮率を示したグラフである。
【図4】LDIの投影を示した図面であり、(a)暗いセル(ボクセル)は1に対応し、白いセルは0に対応すし、(b)(x、depth)平面での2D切片である。
【図5】色相データの再配列後の“天使”モデルの色相成分を示した図面である。
【図6】ノード発生確率の直交不変を示した図面であり、(a)元来現在及び親ノードであり、(b)現在及び親ノード(y軸を中心に90゜回転)である。
【図7】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図8】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図9】‘天使’、‘イナゴ’及び‘モルトン’における最適PPM基盤方法に対する形態圧縮を示した図面である。
【図10】‘天使’ポイントテクスチャーモデルの色相フィールドを2Dイメージに再配列する2つの方式を示した図面である。
【図11】無損失形態圧縮及び損失色相圧縮の例を示した図面であり、(a)は元来の‘天使’モデル、(b)は圧縮された‘天使’モデル、(c)は元来の‘モルトン256’モデル、(d)圧縮された‘モルトン256’モデルである。
【図12】‘天使’モデルのBVOモデルとTBVOモデルとを示した図面である。
【図13】TBVOでの付加カメラにより撮影された付加イメージを示した図面であり、(a)はカメラインデックスイメージ、(b)は最初の付加イメージ、(c)は2番目の付加イメージである。
【図14】TBVOストリームを記述する一例を示した図面((a)TBVOツリー構造、(b)BVOノードとカメラインデックスでのオクツリー横断順序、(c)結果的なTBVOストリーム)である。
【図15】‘天使’モデルの圧縮結果を示した図面である。
【図16】除去された天使及びモルトンモデルのイメージを示した図面である。
【図17】‘モルトン’モデルの圧縮結果を示した図面である。
【図18】‘椰子512’モデルの圧縮結果を示した図面である。
【図19】‘ロボット512’モデルの圧縮結果を示した図面である。
【図20】色相イメージと深さマップの一例を示した図面である。
【図21】階層的な深さイメージの一例を示した図面((a)客体の投影、(b)階層的なピクセル)である。
【図22】中心に見られるモデルを描写するために使われる6個のシンプルテクスチャー(色相イメージと深さマップの対)よりなるBTの一例を示した図面である。
【図23】GBTの一例を示した図面((a)‘椰子’モデルに対するカメラの位置、(b)同じモデルに対する参照イメージ平面)である。
【図24】2Dで描写されたオクツリー表現の一例を示した図面((a)‘点雲’、(b)対応する中間マップ)である。
【図25】TBVOビットストリームを記述するための擬似コードである。
【図26】DIBRノードの定義を示す図面である。
【図27】深さイメージに対する視覚体積モデルを示した図面((a)遠近視点、(b)直交視点)である。
【図28】シンプルテクスチャーのOpenGLに基づくレンダリングの擬似コードである。
【図29】シンプルテクスチャーで参照イメージの圧縮の一例を示した図面((a)元来の参照イメージ、(b)JPEGフォーマットで修正された参照イメージ)である。
【図30】相異なるフォーマットの“モルトン”モデルのレンダリング結果の一例を示した図面((a)元来の多角形フォーマット、(b)深さイメージフォーマット、(c)オクツリーイメージフォーマット)である。
【図31】レンダリングの一例を示した図面((a)深さイメージフォーマットでスキャニングされた“膽星台”モデル、(b)オクツリーイメージフォーマットでスキャニングされた同じモデル)である。
【図32】“椰子”モデルのレンダリングの一例を示した図面((a)元来の多角形フォーマット、(b)深さイメージフォーマットの同じモデル)である。
【図33】オクツリーイメージの“ドラゴン512”アニメーションからのフレームを示すレンダリングの一例を示した図面である。
【図34】ポイントテクスチャーフォーマットの“天使412”モデルのレンダリングの一例を示した図面である。
【図35】本発明によるシンプルテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図36】前処理部(1820)の詳細な構成を示したブロック図である。
【図37】本発明によるシンプルテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の遂行過程を示したフローチャートである。
【図38】本発明によるポイントテクスチャーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図39】本発明によるポイントテクスチャーによる深さイメージに基づく3次元客体表現方法に関する一実施例の遂行過程を示したフローチャートである。
【図40】本発明によるオクツリーによる深さイメージに基づく3次元客体表現装置に関する一実施例の構成を示したブロック図である。
【図41】前処理部(2310)の詳細な構成を示したブロック図である。
【図42】インデックス生成部(2340)の詳細な構成を示したブロック図である。
【図43】エンコーディング部(2360)の詳細な構成を示したブロック図である。
【図44】第2エンコーディング部(2630)の詳細な構成を示したブロック図である。
【図45】第3エンコーディング部(2640)の詳細な構成を示したブロック図である。
【図46】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する一実施例の遂行過程を示したブロック図である。
【図47】参照イメージに関する前処理段階の遂行過程を示したフローチャートである。
【図48】インデックス生成段階の遂行過程を示したフローチャートである。
【図49】エンコーディング段階の遂行過程を示したフローチャートである。
【図50】第2エンコーディング段階の遂行過程を示したフローチャートである。
【図51】第3エンコーディング段階の遂行過程を示したフローチャートである。
【図52】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する他の実施例の遂行過程を示したフローチャートである。
【図53】本発明によるオクツリーによる深さイメージに基づく3次元客体表現装置に関する他の実施例の構成を示したブロック図である。
【図54】本発明によるオクツリーによる深さイメージに基づく3次元客体表現方法に関する他の実施例の遂行過程を示したフローチャートである。
【発明を実施するための形態】
【0015】
本出願は米国商標特許庁に仮出願された4件の出願を基礎出願として優先権を主張して出願される。以下、本出願の優先権主張の基礎になった4件の仮出願書に記載された発明を記述する。
【0016】
I.ISO/IEC JTC 1/SC 29WG 11 動映像及び音響のコーディング
1.序論
本文書でイメージに基づくレンダリング(AFX A8.3)に対するコア実験結果が報告される。このコア実験は、深さ情報を有するテクスチャーを利用するイメージに基づくレンダリング技術に関する。また、10月にあったAFX adhocグループ会議期間中の57次MPEG会議及び議論以後、実験に基づいてノード定義に加えられたいくつかの変更が提示される。
【0017】
2.実験結果
2.1.テストモデル
●静止客体に対して
■シンプルテクスチャーを有する深さイメージノード
◆犬
◆チラノサウルスレックス(約20個のカメラを使用した深さイメージ)
◆テラスク(モンスター)(約20個のカメラを使用した深さイメージ)
◆膽星台(約20個のカメラを使用した深さイメージ)
◆椰子(約20個のカメラを使用した深さイメージ)
■階層テクスチャーを有する深さイメージノード
◆天使
■ポイントテクスチャーを有する深さイメージノード
◆天使
■オクツリーイメージノード
◆生物
●動的客体に対して
■シンプルテクスチャーを有する深さイメージノード
◆竜
◆背景での竜
■階層テクスチャーを有する深さイメージノード
◆提供されない
■オクツリーイメージノード
◆ロボット
◆背景での竜
●今後より多くのデータ(スキャニングまたはモデリングされた)が提供されるであろう。
【0018】
2.2.テスト結果
●シドニーで提案されたあらゆるノードはblaxxun contact 4.3参照ソフトウェアに統合されている。しかし、まだcvsサーバーにソースが更新されていない。
●イメージに基づくレンダリング(Image Based Rendering:IBR)に対する動的フォーマットはそれぞれの動映像ファイルから同じキーフレームに存在するイメージが同時に与えられるように複数の動映像ファイルの間に同調される必要がある。しかし、現在の参照ソフトウェアはMPEGシステムではできるだけこのような同調能力を支援しない。したがって、現在動的フォーマットはあらゆる動的データが既にファイルに存在すると仮定することによって表面化される。暫定的にAVIフォーマットの動映像ファイルがそれぞれの動的テクスチャーに使われる。
●階層文脈に対するいくつかの実験を実行した後、階層テクスチャーノードは効率的でないことが明らかになった。このようなノードは階層深さイメージに対して提案された。しかし、それを支援できるポイントテクスチャーノードがまた存在する。したがって、ノード定義で階層テクスチャーノードを削除することを提案する。
●図1は現在参照ソフトウェアに統合されたIBRの例である。
【0019】
3.IBRノード定義に対するアップデート
IBR提案に対するシドニー会議の結論はイメージ及びカメラ情報を含むIBRストリームを有さねばならず、IBRノードはそれへのリンク(url)を有すればよいということである。しかし、Rennesで開いたadhogグループ会議でのIBRに対する議論結果は、IBRノードとストリームいずれもイメージ及びカメラ情報を有さねばならないということである。したがって、IBRノードに対するノード定義は次のようにアップデートされる。IBRストリームの必要性はurlフィールドを説明する章で説明される。
【0020】
【表1】
【0021】
深さイメージノード(DepthImage node)は一つのIBRテクスチャーを定義する。複数の深さイメージノードが互いに関連される時、これらは一つのグループで処理されるので同じ変換ノードの下に位置せねばならない。
【0022】
diTextureフィールドは深さイメージノードに定義されている領域にマッピングされねばならない深さを有するテクスチャーを特定する。それは、多様な形態の深さイメージテクスチャー(シンプルテクスチャーまたはポイントテクスチャー)の一つである。
【0023】
位置(position)及び方向(orientation)フィールドはローカル座標系でIBRテクスチャーの観点の相対的位置を特定する。方向は基本方向に対する相対的回転を特定する一方、位置は座標系の原点(0,0,0)に相対的である。基本位置及び方向で、観察者は右側には+X軸と垂直に+Y軸とを有する原点に向かって−Z軸を見下ろしながらZ軸上に位置する。しかし、変換階層は視点の最終位置及び方向に影響を与える。
【0024】
fieldOfViewフィールドは、位置及び方向フィールドにより定義されたカメラ視点からの視覚を特定する。最初の値は水平角を意味し、第二の値は垂直角を意味する。基本値は45ラジアンである。しかし、直交(orhogonal)フィールドが真(TRUE)と設定されればfieldOfViewフィールドは隣接平面と遠接平面との幅と高さを意味する。
【0025】
nearPlaneとfarPlaneフィールドは視点から可視領域の隣接平面及び遠接平面までの距離を特定する。テクスチャー及び深さデータは隣接平面、遠接平面そしてfieldOfViewにより囲まれた領域を示す。深さデータは隣接平面から遠接平面までの距離で正規化される。
【0026】
直交フィールドは、IBRテクスチャーの視覚形態を特定する。真と設定されている場合にIBRテクスチャーは直交視点に基づく。そうでない場合にIBRテクスチャーは遠近視点に基づく。
【0027】
depthImageUrlフィールドは付加的に次の内容を含みうる深さイメージストリームのアドレスを特定する。
【0028】
●位置(position)
●方向(orientation)
●fieldOfView
●近接平面(nearPlane)
●遠接平面(farPlane)
●直交(orthogonal)
●diTexture(シンプルテクスチャーまたはポイントテクスチャー)
●上位フィールドのフラグオン/オフに対する1バイトヘッダ
【0029】
【表2】
【0030】
シンプルテクスチャーノードは単層のIBRテクスチャーを定義する。
テクスチャー(texture)フィールドはそれぞれのピクセルに対する色相を含む平面イメージを特定する。これは多様な形態のテクスチャーノード(イメージテクスチャー、動映像テクスチャーまたはピクセルテクスチャー)のうち一つである。深さノードがNULLであるか、深さフィールドが特定されていなければ、テクスチャーフィールドでアルファチャンネルは深さマップとして利用される。
【0031】
【表3】
【0032】
ポイントテクスチャー(PointTexture)ノードは複層のIBR点を特定する。
【0033】
幅(width)及び高さ(height)フィールドはテクスチャーの幅及び高さを特定する。
【0034】
深さ(depth)フィールドは横断順に投影された面で各点に対する複数の深さを特定して(正規化された座標上で)、左側下段のコーナーにある点から出発して右側に横断しながら上側にある線に移動する前に水平線で終了する。それぞれの点に対して、深さ(ピクセル)番号が先に貯蔵され、深さ番号値は次に貯蔵される。
【0035】
色相(color)フィールドは現在ピクセルの色相を特定する。順序はそれぞれの点に対する深さ(ピクセル)番号が含まれていないことを除いては深さフィールドと同一である。
【0036】
【表4】
【0037】
オクツリーイメージ(octreeimage)ノードは、オクツリー構造及びこれらの投影されたテクスチャーを定義する。全体オクツリーの閉じられたキューブの大きさは1×1×1であり、オクツリーキューブの中心はローカル座標系の原点である(0,0,0)でなければならない。
【0038】
オクツリー解像度(octreeresolution)フィールドは、閉じられたキューブの側面にかかったオクツリーリーフの最大数を特定する。オクツリーレベルは次の式を使用してオクツリー解像度から決定される。
【0039】
【数1】
【0040】
オクツリーフィールドはオクツリー内部ノードの集合を特定する。それぞれの内部ノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在することを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序にならねばならない。内部ノードの8個の子の順序が図3に示されている。
【0041】
オクツリーイメージフィールドは、diTextureフィールドに対してシンプルテクスチャーを有する深さイメージノードの集合を特定する。しかし、深さイメージに対する隣接平面、遠接平面フィールド及びシンプルテクスチャーで深さフィールドは使われない。
【0042】
octreeUrlフィールドは次のような内容を有するオクツリーイメージストリームのアドレスを特定する。
●フラグに対するヘッダ
●オクツリー解像度
●オクツリー
●オクツリーイメージ(複数の深さイメージノード)
■隣接平面は使われない
■遠接平面は使われない
■diTecture→深さを有していないシンプルテクスチャー
【0043】
II.ISO/IEC JTC 1/SC 29WG 11 動映像及び音響のコーディング
1.序論
本文書でIBR(AFX A8.3)に対するコア実験結果が報告される。このコア実験は深さ情報を有するテクスチャーを利用するIBR技術に関する。また、10月にあったAFX adhocグループ会議期間中の57次MPEG会議及び議論以後の実験に基づいてノード定義に加えられたいくつかの変更が提示される。2.octreeUrlに対するストリーミングフォーマット
2.1.ストリームフォーマット
オクツリーイメージノードはオクツリーイメージストリームのアドレスを特定するoctreeUrlフィールドを含む。このストリームは付加的に次のような内容を含むことができる。
●フラグに対するヘッダ
●オクツリー解像度
●オクツリー
●オクツリーイメージ(複数の深さイメージノード)
■隣接平面は使われない
■遠接平面は使われない
■diTexture→深さを持っていないシンプルテクスチャー
オクツリーフィールドはオクツリー内部ノード集合を特定する。それぞれの内部ノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在することを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序にならねばならない。内部ノードの8つの子の順序が図1に示されている。
【0044】
オクツリーイメージノードのオクツリーフィールドは簡単なフォーマットである。しかし、このフィールドは効率的なストリーミングのためにより圧縮されることができる。次に、オクツリーイメージノードのオクツリーフィールドに対する圧縮方案を記述する。
【0045】
2.2.オクツリーフィールドに対する圧縮方案
DIBRのオクツリー表現において、データは形態成分を表現するオクツリーフィールドで構成される。オクツリーは客体表面を完全に表現し、閉じられたキューブに存在する点の集合である。
圧縮された表現から形態の同一でない再生はかなり目立つアーチファクトを生じる。したがって、形態は情報の損失なしに圧縮されねばならない。
【0046】
2.2.1.オクツリー圧縮
深さ優先横断オクツリー形態で表現されるオクツリーフィールドの圧縮に対して、われらは部分マッチングによる予測(Prediction by Partial Matching:PPM)接近の一部概念を利用した無損失圧縮方法を開発した。われらが利用する主な思想はいくつかの以前シンボルによる次のシンボルの“予測”(すなわち、確率推定)である。これを‘文脈’と称する。それぞれの文脈に対して、このような文脈に存在するそれぞれのシンボルに対する推定された発生確率を含む確率テーブルが存在する。これは領域コーダと呼ばれる算術コーダと結合されて使われる。
【0047】
この方法の2つの主要な特性は、
1.子ノードに対して文脈として親ノードを使用し、
2.文脈の数を減らすために‘直交不変’推定を使用することである。
第2の思想は‘親−子’ノードの対に対する‘遷移確率’は直交変換(回転及び対称)下で通常的に不変という観察に基づく。このような仮定は添付1に記述されている。このような仮定により過度に多くの確率テーブルを有さずにより複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。多くの文脈を使用するほど推定された確率がより明確になり、したがって、コードがより簡潔になる。
【0048】
コーディングは、文脈モデルによる確率テーブルの生成及び更新過程である。提案された方法で、文脈はオクツリー構造で親−子階層でモデリングされる。まず、シンボルを、内部下位分割した後、下位キューブの発生を表すビットを有するバイトノードと定義する。したがって、オクツリーでそれぞれのノードはシンボルになることができ、それらの数値は0〜255になる。確率テーブル(Probabilistic Table:PT)は256個の整数値を含む。全体変数の和により割られたi番目変数値(0≦i≦255)はi番目シンボル発生頻度(確率推定)と同一である。確率文脈テーブル(ProbabilisticContextTable:PCT)はPTの集合である。シンボルの確率はPTの一つから決定される。特定のPTの数は文脈に依存する。PCTの例が表5に示されている。
【0049】
【表5】
【0050】
コーダは次のように動作する。コーダはまず0−文脈モデルを使用する(すなわち、あらゆるシンボルに対して一つのPTを使用し、均一分布から始まってそれぞれの新しくコーディングされたシンボルの次にPTを更新する)。ツリーは深さ優先順序で横断される。十分な資料が収集されれば(実験的に発見値は512個のコーディングされたシンボルである)、コーダは1−文脈モデルに転換する。1−文脈モデルは次のように特定された27個の文脈を有する。
【0051】
対称及び座標軸に対して90゜回転(添付2参照)を含む32個の固定された直交変換集合を想定すれば、これらの下位キューブに対する積層パターンによってシンボルを分類できる。われらの方法によれば、ここではグループと呼ばれる次のような特性を有する27個のシンボル集合が存在する。2個のシンボルは同じグループに属すればこのような固定された変換のうち一つにより連結される。
【0052】
バイト表記において、グループは27個の数字集合(添付2参照)により表現される。PTは親ノード自体ではない(256個のテーブルが存在する場合において)親ノードが属するグループ(図2で親シンボルと命名された)に従属的であると仮定する(したがって、27個のテーブル)。
【0053】
転換時、あらゆる文脈に対するPTは0−文脈PTの写本に配置される。それから、それぞれの27個のPTはコーディングに使われる時に更新される。
【0054】
2048個(さらに他の発見値)のシンボルが1−文脈モデルにコーディングされた後、文脈として対(親シンボル、ノードシンボル)を使用する2−文脈モデルに転換する。ノードシンボルは単純に親ノードにおいて現在ノードの位置である。したがって、2−文脈モデルに対して27*8個の文脈が存在する。このようなモデルへの転換時、それぞれの文脈に対して得られたPTはこのような文脈の‘内部に存在する’それぞれのノードに対して使われ、この時から独立的に更新される。
【0055】
技術的により詳細に説明すれば、1−文脈及び2−文脈モデルに対するエンコーディングは次のように進む。現在シンボルの文脈(すなわち、親ノード)に対して、これらのグループが決定される。これはテーブル検索により実施される(形態分析はプログラム開発段階で実施される)。それから、文脈をそれが属するグループの‘標準’(全部任意に選択された)成分として取る直交変換を適用する。同じ変換がシンボル自体に適用される(このような演算もテーブル検索として実施され、あらゆる可能な結合に対するあらゆる計算はもちろん事前に実施される)。事実上、これは、シンボルの文脈を含むグループに対するPTに存在する現在シンボルの正確な位置に対する計算である。それから、対応する確率が領域コーダに入力される。
【0056】
簡略にすれば、親シンボル及び下位ノード位置が与えられれば、グループID及びPCTでのPTの位置を識別する文脈ID(ContextID)が決定される。PTの確率分布及び文脈IDは領域コーダに入力される。エンコーディング後、PCTは次のエンコーディングに使われるために更新される。領域コーダはビットの代りにバイトに再正規化する算術コーディングの変形であり、したがって、算術コーディングの標準道具より0.01%低い圧縮品質を有して2倍も速く動作することに注目せねばならない。
【0057】
デコーディング手順は本質的にエンコーディング手順の逆である。これは文脈決定、確率更新等において正確に同じ方法を使用するので、説明する必要がない完全に標準的な手順である。
【0058】
2.3.テスト結果
図3は、静止及び動的モデルに対する本接近法の比較のためのテーブルである(横軸は圧縮率を表示する)。オクツリー圧縮率は元来オクツリーの大きさと比較して約1.5〜2倍で変わり、一般的な目的の無損失圧縮性能(RARプログラムのようなLempel−Ziv基盤)が約30%良好である。
【0059】
3.depthImageUrlに対するストリーミングフォーマット
3.1.ストリームフォーマット
深さイメージノードは、深さイメージストリームのアドレスを特定するdepthImageUrlフィールドを含む。このようなストリームは次のような内容を付加的に含むことができる。
●下のフィールドのオン/オフフラグのための1バイトヘッダ
●位置(position)
●方向(orientation)
●fieldOfView
●隣接平面(nearPlane)
●遠接平面(farPlane)
●直交(orthogonal)
●diTexture(シンプルテクスチャーまたはポイントテクスチャー)
【0060】
深さイメージノードのdiTextureに使われるポイントテクスチャーノードの定義は次の通りである。
【0061】
【表6】
【0062】
ポイントテクスチャーノードはIBR点に対する複数の層を定義する。幅(width)と高さ(height)フィールドとはテクスチャーの幅と高さとを特定する。深さ(depth)フィールドは左側下部コーナーに存在する点から出発して上位線に移動する前に右側に横断して水平線で終了する横断順に投影面での各点(正規化された座標)に対する複数の深さを特定する。それぞれの点に対して、深さ(ピクセル)の番号がまず貯蔵され、深さ値の番号が次に貯蔵される。色相(color)フィールドは現在ピクセルの色相を特定する。順序はそれぞれの点に対して深さ(ピクセル)の番号が含まれないということを除いては深さフィールドと同一である。
【0063】
ポイントテクスチャーに対する深さ及び色相フィールドは処理されていないフォーマットであり、このようなフィールドの大きさはかなり大きいはずである。したがって、このようなフィールドは効率的なストリーミングのために圧縮される必要がある。次の章は、ポイントテクスチャーノードのフィールドに対する圧縮方案を記述する。
【0064】
3.2.ポイントテクスチャーに対する圧縮方案
3.2.1.深さフィールドの圧縮
ポイントテクスチャーノードの深さフィールドは、単純に‘区分された閉じられたキューブ’に存在する点の集合である。底面を投影面と仮定する。モデルに対してm*n*1大きさの格子が与えられれば、点がこのような格子のセル(オクツリーの場合にこれらをボクセルと称する)の中心とする時、占有されたボクセルは1に、空いているボクセルは0と想定できる。それにより、ビット(m*n*1ビット)の結果集合はバイトストリームで構成される。これは深さが8である層と投影面(深さの大きさが8の倍数ではない場合に、必要ならば0である最後のバイト層を保護しながら)における一般的な順序(“列方向”)により深さ(投影面に垂直の)方向に存在するボクセルを横断することによって達成される。したがって、点の集合を8ビットグレースケールイメージの積層(多様な16ビットイメージ)として考えられる。ボクセルとビットに対応する図が図4(a)に示されている。
【0065】
例えば、図4(b)で黒色四角形は客体上の点に対応される。水平面は投影面である。高さが16である‘スライス’を仮定し、列をバイトとする。すなわち、図面で表示された点の上に存在する列は、18と1の値を有する2バイトスタック(または16−bit unsigned integer 274)を表す。もし、このような方式で得られたバイトの集合に最適のPPM基盤圧縮方法を適用すれば良好な結果を得られる。しかし、単純な1−文脈方法をここに直接適用すれば(もちろん直交不変または階層的な文脈はここに使用できない)、これは多少低級な圧縮を招く。下にLDI形態表現の他の形態−BVOC、最適PPM圧縮手段により圧縮された上のバイトアレイ、及び現在使われた圧縮手段により圧縮された同じアレイに対して要求される体積テーブルが与えられている(単位:Kbytes)。
【0066】
【表7】
【0067】
3.2.2.色相フィールド圧縮
ポイントテクスチャーノードの色相フィールドは客体の点に起因した色相集合である。オクツリーの場合とは異なり、色相フィールドは深さフィールドと一対一対応関係にある。概念は、色相データを公知の損失技術の一つにより圧縮されうる一つのイメージで表現することである。このようなイメージで最も重要なのは、オクツリーまたは深さイメージの場合における参照イメージよりはるかに小さいということであり、これはこのような接近法の実質的な動機である。イメージは多様な自然的な順序で深さ点をスキャニングして得られる。
【0068】
まず、LDI(ポイントテクスチャー)に対する元来の貯蔵フォーマットにより記録されたスキャニング順序−形態の‘深さ優先’スキャニング−を考慮する。多重ピクセルが単純なピクセルと同じく自然的な順序で投影面にわたってスキャニングされ、同じ多重ピクセル内部の点が深さ方向にスキャニングされる。このようなスキャニング順序は色相の1Dアレイ(1次nonzero多重ピクセル、2次nonzero多重ピクセル)を生成する。深さが把握されてからすぐ点の色相は連続的にこのようなアレイから再生成されうる。イメージ圧縮方法を適用できるようにするために、このような長いストリングを2Dアレイに一対一マッピングせねばならない。これは多様な方法により実施できる。
【0069】
色相ストリングが8*8ブロックで配列される時、下のテストで使われた接近法はいわゆる“ブロック単位スキャン”である。結果イメージは図5に示されている。
【0070】
このようなイメージの圧縮は標準JPEGを含む色々な方法により実施される。少なくともこのような形態の色相スキャンに対して[5]に記述されたテクスチャー圧縮方法を使用する時、もっと良好な結果が得られることが立証された。このような方法はそれぞれの8*8ブロックに対する適応ローカルパレタイジングに基づく。ここには、8倍圧縮及び12倍圧縮(ピクセル当り24ビットである‘raw’true−colorBMPフォーマットと比較する時)の2つのモードがある。このような形態のイメージでこのような方法の成功はそのパレット特性から正確に説明されうる。パレット特性により前面と背面とから点を混合することによって発生する地域的な色相変化を明確に考慮できる(これは“天使”の場合とはかなり異なりうる)。最適スキャンに対する調査の目的はこのような変化をできるだけ最大限度に減らすことである。
【0071】
3.3.テスト結果
元来のフォーマット及び圧縮されたフォーマットでモデルに対する例が添付3に図示されている。他のモデル(イナゴ)は非常に良好な一方、一部のモデル(すなわち、天使)の品質は圧縮後に依然として満足するほどではない。しかし、このような問題は適切なスキャニングで解決できると思料される。はなはだしくは12倍圧縮モードが利用されることもあるので、全体的な圧縮はかなり増加する。最後に、無損失圧縮は形態圧縮で最適PPM基盤結果に接近するために改善できる。
【0072】
ここに圧縮率に対するテーブルを提示する。
【0073】
【表8】
【0074】
4.結論
本文書には深さイメージに基づく表現に対するコア実験結果(AFX A8.3)が記述されている。DIBRストリームが紹介されたが、DIBRストリームはDIBRノードのurlフィールドを通じて連結される。このようなストリームはそれぞれのアイテムを選択的なものにするためのフラグと共にDIBRノードに存在するあらゆるアイテムで構成される。また、オクツリー及びポイントテクスチャーデータの圧縮が検討された。
【0075】
<添付1.BVO圧縮アルゴリズムにおいて文脈直交不変の形態的意味>
直交不変の概念の例が図6に図示されている。垂直軸を中心に時計回り方向に90°回転すると仮定する。ノードとそれの以前親ノードに対する任意の積層パターンと回転後のノードを仮定する。それにより、2つの相異なるパターンが同じパターンとして取扱われうる。
【0076】
<添付2.グループと変換>
1.32個の固定された直交変換
それぞれの変換は5ビットワードにより特定される。ビット組合わせは次のような基本変換で構成される(すなわち、k番目ビットが1であれば対応する変換が実施される)。
●1番目ビット−x及びy軸を交換
●2番目ビット−y及びz軸を交換
●3番目ビット−y−z平面に対称
●4番目ビット−x−z平面に対称
●5番目ビット−x−y平面に対称
【0077】
2.27グループ
それぞれのグループに対してここにグループの順序とそれの要素のnonzeroビット数を提示する。これらはボクセル設定時にNumberOfGroup、QuantityOfGroup、及びNumberOfFillBitsに記録される。
【0078】
【表9】
【0079】
3.シンボル及び変換
それぞれのシンボルsに対してグループgが属するインデックスとそれをグループの‘標準’要素として取扱う変換tの値とを提示する。
【0080】
シンボルの2進番号は次のようにボクセル2進座標にマッピングされる。番号のi番目ビットは2進座標x=i、y=i(1≪1)、そしてz=i(1≪2)を有する。
【0081】
【表10】
【0082】
<添付3.ポイントテクスチャー圧縮画面出力>
最適PPM基盤方法に対する形態圧縮図面が図7〜図9に示されている。
【0083】
III.深さ映像基盤表現に対するコア実験結果
1.序論
本文書で深さ映像基盤表現(Depth Image−Based Representation:DIBR)(AFX A8.3)に対するコア実験結果が報告される。このコア実験は、深さ情報を有するテクスチャーを使用する深さ基盤イメージ表現ノードに関する。ノードはパッタヤ(Pattaya)で開催された会議で受容され、委員会草案に対する提案に含まれている。しかし、オクツリーノードと深さイメージノードとを通したこのような情報のストリーミングは依然として進行中にある。ストリーミングフォーマットは、オクツリーイメージノードに対するオクツリーフィールド及びポイントテクスチャーノードに対する深さ/色相フィールドの圧縮を含む。
【0084】
2.DIBRフォーマット圧縮
ここでリンクを持っていないオクツリーデータ構造の効率的な新しい無損失圧縮技術を開示する。これにより既に簡潔な表現の体積を実験により約1.5〜2倍減らすことができる。また、エントロピーコーディングと特化されたブロック基盤テクスチャー圧縮方法とを結合した中間ボクセル表現を使用するいくつかのポイントテクスチャーフォーマットに対する無損失及び損失圧縮技術を提案する。
【0085】
2.1.オクツリーイメージ圧縮
オクツリーイメージでオクツリーイメージフィールドとオクツリーフィールドとは個別的に圧縮される。開示された方法は、オクツリーイメージに対しては一定程度の可視的に収容される歪曲が許容される一方、オクツリーフィールドは損失なしに圧縮されねばならないという概念に基づいて開発された。オクツリーイメージフィールドは、MPEG−4イメージ圧縮手段(静的モデルに対する)または動映像圧縮道具(動的モデルに対する)により圧縮される。
【0086】
2.1.1.オクツリーフィールド圧縮
オクツリー圧縮は、非常に簡略でリンクを持っていない2進ツリー表現の圧縮を扱っているため、オクツリーイメージ圧縮の最も重要な部分である。しかし、実験で後述される方法は、このような構造の体積を大体元来の半分に縮めた。動的なオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3Dフレームに対して個別的に圧縮される。
【0087】
2.1.1.1.文脈モデル
圧縮はデータの形態的特性を明確に使用する多様な適応算術コーディング(arithmeticcoding)(‘領域エンコーダ’で実行される[3][4])により実施される。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。提案された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
●現在バイトに対する文脈決定
●このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
●領域エンコーダに確率値提供
●現在文脈で現在バイト発生の頻度に1を足して現在PT更新(必要時、作業実行後に再正規化、下の詳細な説明を参照)
【0088】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈基盤適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、われらの場合、オクツリー構造及びデータの形態的特性を活用することによって圧縮効率が増進される。開示された接近法はオクツリー圧縮の問題において明確に新しい2つのアイディアに基づく。
【0089】
A.現在ノードに対して、文脈はそれの親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
B.特定の親ノードにおいて特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0090】
x−z平面上で−90゜回転する変換Rに対する仮定‘B’は図6に示されている。‘B’の裏面に存在する基本的な概念は、特定な形態の親ノードにおいて特定な形態の子ノードの発生確率は単にこれらの相対的な位置に依存するということである。このような仮定はPTの分析による実験で立証された。これにより、過度に多くのPTを保有せずに複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。複雑な文脈を使用するほど推定された確率がより明確になり、したがってコードがより簡潔になることに注目せねばならない。
【0091】
これから変換集合を紹介する。確率分布は不変であると仮定する。われらの状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は、3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0092】
【数2】
【0093】
例えば、図6に示された回転子Rは生成子を通じて次のように表現される。
R=m3・m2・m1・m2
ここで、‘・’との行列乗算である。
【0094】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(またグループ理論でオービットと称される)が存在する。そして、定義によりGからの変換により連結されるならば、二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0095】
仮定‘B’の実質的な重要性は、PTが親ノードその自体に従属的でなく、単に親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがありえるが、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルが必要である一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8176個のテーブルとが必要であるということに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTはテーブルIに記載された形態をとることができる。
【0096】
【表11】
【0097】
2.1.1.2.エンコーディング手順
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
●‘0−文脈モデル’とされている最初の段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つのPTを維持する。
●最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
●次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0098】
このようなアルゴリズムの核心は、現在バイトに該当文脈及び確率を決定することである。これは次のように実施される。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラス及びこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実行する。
●現在ノードの親Pを検索する。
●Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcという。
●PにTを適用し、現在ノードNがマッピングされている標準ノードで子の位置pを検索する。
●NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
●クラス位置組合わせ(c,p)に対応するPTのエントリTNから必要な確率を導出する。
【0099】
1−文脈モデルに対して、前述した段階は明らかな方式で変更される。あらゆる変換は事前に計算されてルックアップテーブルで実施されることはいうまでもない。
【0100】
ノードNのデコーディング過程でその親Pは既にデコーディングされているので、変換Tは公知のものであることに注目せねばならない。デコーディング過程であらゆる段階は対応するエンコーディング段階と完全に類似している。
【0101】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。われらの作業において、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0102】
P(N)=P(N)P+A
ここで、Aは相異なる文脈モデルに対して1から4まで典型的に変わる整数増分パラメータである。S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すれば、まもなくあらゆるエントリが再正規化される。Pでゼロ値が発生しないようにするために他のエントリは2で割る一方、1に該当するエントリは変わらずに残っている。
【0103】
2.2.ポイントテクスチャー圧縮
ポイントテクスチャーノードは圧縮される二つのフィールド、すなわち、深さフィールドと色相フィールドとを含む。ポイントテクスチャーデータ圧縮の主な難点は次のような要件に起因する。
●このような形式の形態表現において歪曲はかなり目立つので、形態は損失なしに圧縮されねばならない。
●色相情報はいかなる自然的な2D構造を持っていないため、イメージ圧縮技術を即刻適用できない。
本章でポイントテクスチャーモデル圧縮に対する3つの方法を提案する。
●標準ノード表現に対する無損失圧縮
●低解像度ノード表現に対する無損失圧縮
●低解像度ノード表現に対する無損失形態圧縮及び損失色相圧縮
【0104】
このような方法は客体技術の忠実度に対する3つのレベルに対応する。第1の方法は、深さ情報を元来の32ビット正確度まで貯蔵せねばならないということを想定する。しかし、実質的に深さ情報はたびたび品質の損傷なしにはるかに少ないビット数により量子化できる。特に、ポイントテクスチャーモデルが多角形モデルから変換される時、量子化解像度は望ましい出力スクリーンの解像度だけでなく元来モデルが有している視覚的な精密さの実際サイズによって選択される。この場合、8〜11ビットで要件が満たされ、深さ値は初期にこのような低解像度フォーマットに貯蔵される。
【0105】
第2の方法は、このような‘低解像度’表現に対する無損失圧縮を扱う。ここで、核心的なのは、相対的に少ないビット数(標準32ビットと比較して)でもモデルの中間ボクセル表現ができ、このような中間ボクセル表現は情報に対する実質的な損失なしに深さフィールドを圧縮できるようにするということである。2つの場合において、色相情報は色相データが補助的な2Dイメージで配列された後、損失なしに圧縮されてPNGフォーマットに貯蔵される。
【0106】
最後に、第3の方法は、形態の無損失圧縮と色相データの損失圧縮とを結合することによってより高い圧縮が可能にする。後者は[6]に開示された特化されたブロック基盤テクスチャー圧縮技術により実施される。このような方法が次の下位3章で詳細に開始される。
【0107】
2.2.1.標準ノード表現に対する無損失ポイントテクスチャー圧縮
これは次のように動作する簡単な無損失コーディング方法である。
●深さフィールドは、オクツリーフィールド圧縮で使われたものと類似した適応領域コーダにより圧縮される。このフォーマットに対して、PTがそれぞれの1−シンボル文脈に対して維持され、文脈は単純に以前バイトであるバージョンを使用する。したがって、256PTが使われる。深さフィールドはバイトストリームと見なされ、形態構造は明白に使われない。
●色相フィールドは平面実色相イメージに変換された後、圧縮される。ポイントテクスチャーモデルで点の色相は、まず臨時的な1Dアレイに深さフィールドでの深さ値のように同じ順序で記録される。モデルで全体点の個数をLとすれば、l・l≧Lが最も小さな整数になるlを計算し、辺が1である四角形イメージでこのようなlong‘ストリング’色相値を包む(必要時、検定ピクセルによりさらに包む)。次に、このようなイメージはMPEG−4無損失イメージ圧縮道具により圧縮される。本接近でPortable Network Graphics(PNG)フォーマットが使われる。‘天使’モデルからこのような方式により得られたイメージが図10(a)に図示されている。
【0108】
2.2.2.低解像度ノード表現に対する無損失ポイントテクスチャー圧縮
多くの場合に深さ情報に対する16−ビット解像度はかなり良好である。実際に、深さにおいて解像度はモデルが可視化されるスクリーンの解像度に対応されねばならない。相異なる点においてモデル深さの小さな変化がピクセルのサイズよりはるかに小さなスクリーン面での変位を導出する場合に、深さにおいてより低い解像度を使用することが当然であり、モデルはたびたび深さ値が8〜11ビットのフォーマットで表現される。そのようなモデルは大体適当な空間格子上で深さと色相値とを分離させることによって他のフォーマット、すなわち、多角形モデルから得られる。
【0109】
そのような減少された解像度表現はそれ自体が32ビットの深さを有する標準モデルの圧縮形式と見なされうる。しかし、そのようなモデルに対する中間ボクセル空間を使用するより簡単な表現が存在する。実際に、モデルの点は,区別段階により決定された空間を有する均一な空間格子のノードに属するものと見なされうる。このような観察結果を利用してより低い解像度ポイントテクスチャーの深さと色相フィールドとは次のように圧縮される。
●以前の方法でのように、色相フィールドは無損失イメージ圧縮技術により圧縮される。
●深さフィールドはまずボクセル表現に変換され、次に以前下位章で記述された多様な領域コーダにより圧縮される。
【0110】
中間ボクセルモデルは次のように生成される。モデルの深さ解像度sによってwidth×height×2sの大きさを有する分離されたボクセル空間を想定する(幅と高さパラメータはポイントテクスチャー定義に説明されている)。本提案で、全体として可能な巨大なボクセル空間を扱う必要がなく、‘薄い’断面だけ扱えばよい。投影面で行−列は(r、c)と称し、深さ座標はdという。‘スライス’{c=定数}(すなわち、垂直面によるモデルの断面)をボクセル表現に変換する。スライスを投影面に平行した‘列’に沿ってスキャニングして、(r,c)に投影された深さ値dを有するモデルの点が存在すればボクセル(r,c,d)を‘ブラック’と設定する。このような過程が図4に図示されている。
【0111】
スライスは生成されてからすぐ1−文脈領域コーダにより圧縮され、次のスライスに対する圧縮が始まる。このような方式で非常に大きいアレイを扱うことを避けうる。PTは、それぞれの新しいスライスに対して初期化されない。広い領域のモデルに対してボクセルの小さな部分だけが黒色であり、これにより多少高い圧縮率が得られる。圧縮の解除は記述された過程を逆にすることにより実施される。
【0112】
このような方法及びオクツリー表現による圧縮の比較が3章に示されている。しかし、規則的でないイメージは歪曲なしに大きく圧縮されないため、全体的なモデルの圧縮率は色相フィールドにより決定される。次の下位章で無損失形態圧縮技術と損失色相圧縮技術との結合について考慮する。
【0113】
2.2.3.低解像度ポイントテクスチャー表現に対する無損失形態圧縮及び損失色相圧縮
以前の方法のように、この方法は深さフィールドをボクセル表現に変換した後、適応1−文脈領域コーダにより圧縮する。色相フィールドはまた2Dイメージでマッピングされる。しかし、3D空間にある近い点を2Dイメージ平面にある隣接した点にマッピングするためにマッピングを構成しようとする。その後、特化されたテクスチャー圧縮方法(適応ブロックパーティション(Adaptive Block Partition:ABP))が結果イメージに適用される。該当アルゴリズムの主な段階は次の通りである。
【0114】
1.ポイントテクスチャーモデルの4個の連続的な‘垂直平面’の‘スライス’をボクセル表現に変換する。
2.得られたwidth×4×2sボクセルアレイを次によりスキャンする。
●投影面に平行した‘列’に沿って4×4×4ボクセル下位キューブの垂直‘平面’を投影面に最も近い列から列順に横断する(すなわち、通常的な2Dアレイ横断順序)。
●オクツリーイメージノード下位キューブ横断で使われたものと類似した順序でそれぞれの4×4×4内部のボクセルを横断する。
3.このような横断順序で互いに出合うモデルの点の色相を補助1Dアレイに記録する。
4.得られた色相アレイを2Dイメージに再配列する。
5.連関性のある64個の色相サンプルが8−by−8ピクセルブロックに列方向に配列され、次いで次の64個のサンプルが隣接した8−by−8ピクセルアレイに配列される。
6.得られたイメージをABP技術により圧縮する。
【0115】
このような3Dアレイスキャニング及びその結果の2Dイメージへのマッピング方法は次を考慮して選択される。4×4×4下位キューブ及び8×8イメージブロックは同数のサンプルを含んでいることに注目せねばならない。いくつかの連続的にスキャニングされた下位キューブが8×8ブロックを満たすのに十分な色相サンプルを含めば、このようなブロックがある程度均一化されて圧縮解除後の歪曲は3Dモデル上でほとんど認識できないほどである可能性が高い。ABPアルゴリズムはローカルパレッティング[29]のアシストで互いに独立的に8×8ブロックを圧縮する。テストで、最終的な3DモデルでABP圧縮により導入された歪曲はJPEGより非常に小さい。このようなアルゴリズムを選ぶまた他の理由は、圧縮解除速度が非常に速いということである(元来計画されたことに比べて)。圧縮率は8と12の二つの値を有することができる。ポイントテクスチャー圧縮アルゴリズムで圧縮率は8に固定される。
【0116】
しかし、このアルゴリズムはあらゆる場合に適用できるのではない。たとえ色相フィールド(図10(b))からこの方式により得られたイメージは‘自然的な’スキャニング順序に対するものよりもっと均一であっても、時に2D 8×8ブロックは3D空間で距離に対応する色相サンプルを含む。この場合、損失ABP方法はモデルの距離部分を形成する色相を混合でき、これは圧縮解除後に地域的な、しかし認識可能な歪曲を招来する。
【0117】
しかし、多くのモデルに対してこのアルゴリズムは良好に機能する。図11に良好でない場合(‘天使’モデル)と良好な場合(‘モルトン256’モデル)とを図示した。二つの場合においてモデル体積の減少は約7倍である。
【0118】
3.テスト結果
この章では、2つの相異なるフォーマット−オクツリーイメージ及びポイントテクスチャー−を有する‘天使’と‘モルトン256’の2つのモデルを比較した結果を示す。それぞれのモデルに対する参照イメージの寸法は256×256ピクセルである。
【0119】
3.1.ポイントテクスチャー圧縮
テーブル3ないしテーブル5に相異な圧縮方法の結果が与えられている。この実験に対するモデルは8ビットの深さフィールドを有するモデルから得られた。深さ値は32ビットの深さ値でのビット分布をより均一化して‘真の’32ビット値にある程度近づくように221+1の量子化段階を使用して(1,230)領域にかけて拡張された。
【0120】
この方法から高い圧縮率が期待されない。体積減少は典型的な実色相イメージの無損失圧縮については同じ順序である。データの形態特性はこの方法により捉えられないので、圧縮された深さ及び色相フィールドは比較する程の大きさである。
【0121】
なお、‘真の’深さ解像度をとる時にいかほど多くの同じモデルが損失なしに圧縮されうるかを説明する。以前の場合とは異なり、深さフィールドは約5〜6倍損失なしに圧縮される。これは形態データ冗長をはるかに多く言及させる中間ボクセル表現に起因する。実際に、ボクセルの小さな部分だけ黒色である。しかし、圧縮されていないモデルのサイズは32ビットの場合より小さいため、色相フィールド圧縮率は全体圧縮率を決定するが、これは32ビットの場合よりはるかに小さい(出力ファイルも同じく小さいが)。したがって、少なくとも深さフィールドだけ良好に圧縮できるものが望ましい。
【0122】
第3のモデルはこのためにABPと呼ばれる損失圧縮技術を使用する。この方法はもっと高い圧縮を与える。しかし、あらゆる損失圧縮技術のように、このモデルは一定の場合に望ましくないアーチファクトを招来する。このような場合が発生する客体の例は‘天使’モデルである。モデルの点をスキャニングする過程で空間的に距離がある点は同じ2Dイメージブロックに引き込まれる。このようなモデルの離れている点で色相は大きい差がありうる。一方、再構成された色相が自体の3D位置に再入力された後、標準JPEGにより発生した歪曲は絶対的に受容されないために、地域的なパレタイジングによりぼう大なほとんどのブロックを正確に圧縮できる。しかし、同じ方法により圧縮された‘モルトン256’モデルの可視品質はかなり良好であり、これは実験での大部分のモデルに該当する。
【0123】
【表12】
【0124】
【表13】
【0125】
3.2.オクツリーイメージ圧縮
テーブル6は、2つのテストモデルに対する圧縮及び圧縮されていないオクツリー成分の大きさを示す。このようなフィールドの減少は約1.6〜1.9倍であることが分かる。
【0126】
しかし、はなはだしくは8ビットの深さフィールドを有している圧縮されていないポイントテクスチャーモデルと比較してもオクツリーイメージははるかに簡単である。テーブル7には圧縮率が7.2と11.2と示されている。これは、オクツリーイメージへの変換なしに圧縮されうるポイントテクスチャー(各々6.7と6.8倍)より高い。しかし、既述したようにオクツリーイメージは不完全な色相情報を含むことができ、‘天使’モデルの場合がこれに該当する。このような場合に、3D色相補間が使われる。
【0127】
整理すれば、上に提示された実験は改善された圧縮道具の効率を立証すると結論づけられる。与えられたモデルに対する最適の道具選択は、モデルの形態的複雑性、色相分布特性、要求されるレンダリング速度及び他の要因に依存する。
【0128】
【表14】
【0129】
5.ISO/IEC 14496−1/PDAM4の研究に対する意見
次の改正案をISO/IEC 14496−1/PDAM4(N4627)の研究に提出した後、改正されたISO/IEC 14496−1/PDAM4の研究がISO/IEC 14496−1/PDAM4に結合されねばならない。
【0130】
6.5.3.1.1節 技術
問題:直交の基本値は最も一般的に使われる値でなければならない。
解決:直交フィールドの基本値を次のように“FALSE”から“TRUE”に取り替える。
【0131】
【表15】
【0132】
6.5.3.1.1節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法で実施されねばならない。
解決:DepthImageUrlフィールドを深さイメージノードから除去する。
【0133】
【表16】
【0134】
6.5.3.1.2節 社説
問題:‘正規化された(normalized)’という用語は現在文脈で深さフィールドに適用されるものとして、誤りである。
解決:第5段落で、‘正規化された’を‘スケールされた’に変更する。
提案された改正案:
nearPlaneとfarPlaneフィールドは視点から可視領域の隣接平面及び遠接平明までの距離を特定する。テクスチャー及び深さデータは隣接平面、遠接平面そしてfieldOfViewにより囲まれた領域を示す。深さデータは隣接平面から遠接平面までの距離にスケールされる。
【0135】
6.5.3.1.2節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法で実施される。
解決:depthImageUrlフィールドに対する説明を削除する(第7段落及びそれ以下)
【0136】
6.5.3.2.2節 社説
問題:深さフィールドの意味が不完全に特定された。
解決:3番目段落の長さフィールド定義を次のように変更する。
提案された改正案:
深さフィールドはテクスチャーフィールドにあるそれぞれのピクセルに対する深さを特定する。深さマップのサイズはイメージまたはテクスチャーフィールドの動映像と同じサイズでなければならない。深さフィールドは多様な形態のテクスチャーノード(イメージテクスチャー、動映像テクスチャーまたはピクセルテクスチャー)のうち一つであり、ここで、グレースケールイメージを表現するノードだけ許容される。深さフィールドが特定されていなければ、テクスチャーフィールドにあるアルファチャンネルが深さマップとして使われる。深さマップが深さフィールドまたはアルファチャンネルを通じて特定されていなければ、結果は規定されない。
【0137】
深さフィールドによりモデルの3D点で視点を通過して隣接平面及び遠接平面に平行した平面までの実際的な距離を計算できる。
【0138】
【数3】
【0139】
dが点と平面との距離であるため、この公式は遠近及び直交ケース両方に対して有効である。dmaxはそれぞれのピクセルに対して使われるビットにより表現されうる最も大きいd値である。
(1)深さは深さフィールドを通じて特定され、深さ値dはグレースケールと同一である。
(2)深さがテクスチャーフィールドを通じて定義されたイメージでのアルファチャンネルを通じて特定されれば、深さ値dはアルファチャンネル値と同一である。
【0140】
深さ値はまたモデルに属する点を表すために使われる。dが0でない点だけがモデルに属する。
【0141】
動的深さイメージに基づくモデルに対して、diTextureとしてシンプルテクスチャーを有する深さイメージだけ使われる。
【0142】
シンプルテクスチャーの各々は次の方法のうち一つでアニメ化されうる。
(1)深さフィールドは上の条件を満足する静止イメージであり、テクスチャーフィールドは任意の動映像テクスチャーである。
(2)深さフィールドは深さフィールドで上の条件を満足する任意の動映像テクスチャーであり、テクスチャーフィールドは静止イメージである。
(3)深さ及びテクスチャーは動映像テクスチャーであり、深さフィールドは上の条件を満足する。
(4)深さフィールドは使われず、深さ情報はテクスチャーフィールドをアニメ化する動映像テクスチャーのアルファチャンネルから導出される。
【0143】
6.5.3.3.2節 社説
問題:深さフィールドの意味が不完全に特定された。
解決:深さフィールド定義(第3段落)を提案された改正案に取り替える。
提案された改正案:
深さ値の形態的意味及びシンプルテクスチャーに対して採択されたそれらの解釈におけるあらゆる約束はここに同じく適用する。
【0144】
深さフィールドは投影面に存在するそれぞれの点に対する複数の深さを特定し、横断順序において遠接平面(上を参照)と見なされ、左側下段コーナーにある点から出発して右側に横断しながら上側にある線に移動する前に水平線で終了する。それぞれの点に対して、深さ(ピクセル)番号が先に貯蔵され、深さ番号値は次に貯蔵される。
【0145】
6.5.3.4.1節 H.1 技術
問題:オクツリーフィールドに対して使われたフィールドタイプであるSFストリングは矛盾する値を導出することがある。
解決:オクツリーフィールドに対するフィールドタイプをNFInt32に変更する。
【0146】
【表17】
6.5.3.4.1節 技術
問題:DIBRストリーミングはAFXに対する均一なストリーミング方法により実施されねばならない。
解決:オクツリーイメージノードからoctreeUrlフィールドを削除する。
【0147】
【表18】
【0148】
6.5.3.4.2節 社説
問題:オクツリー解像度(octreeresolution)フィールド定義(第2段落)は誤解を招く。
解決:‘許容される(allowed)’という単語を追加して説明を改正する。
提案された改正案:
オクツリー解像度フィールドは閉じられたキューブの側面に沿う最大に許容されるオクツリーリーフの数を特定する。オクツリーレベルは次の式を使用してオクツリー解像度から決定できる。
【0149】
【数4】
【0150】
6.5.3.4.2節 技術
問題:DIBRストリーミングはAFXに対して均一なストリーミング方法により実施されねばならない。
解決:octreeUrlフィールドの説明(第5段落とそれ以下)を削除する。
提案された改正案:
6.5.3.4.2節 社説
問題:オクツリーイメージの動映像化が不完全に記述された。
解決:6.5.3.4.2節の末尾にオクツリーイメージ動映像化を記述する段落を追加する。
提案された修正案:
オクツリーイメージの動映像化は、単に深さフィールドの代わりにオクツリーフィールドを使用することにのみ差があるだけで、上に記述された深さイメージに基づく動映像に対する最初の3つの方法と同じ接近法により実施さうる。
【0151】
H.1節 技術
問題:ポイントテクスチャーノードにおいて深さデータの領域が将来の応用に対しては小さすぎる。多くのグラフィック道具は自体のz−バッファに対して24ビットまたは36ビットの深さを許容する。しかし、ポイントテクスチャーにおいて深さフィールドは16ビットである[0,65535]の領域を有する。
解決:H.1節で、ポイントテクスチャーに対するテーブルの深さ列の領域を次のように変更する。
【0152】
【表19】
【0153】
IV.ISO/IEC JTC 1/SC 29/WG 11 動映像及び音響のコーディング
1.序論
本文書で深さ映像基盤表現(Depth Image−Based Representation:DIBR)(AFX A8.3)においてオクツリーイメージ(OctreeImage)の改善が記述される。オクツリーイメージノードはPattayaで開催された会議で受容され、委員会草案に対する提案に含まれている。しかし、客体形状の閉鎖によっていくつかの特別な場合にはレンダリング品質が満足するほどではないと観察された。本文書には、ストリーミングのためのオクツリーイメージノードの圧縮方法だけでなく、オクツリーイメージノードの改善されたバージョン−構造化された2進体積オクツリー(Textured Binary Volumetric Octree:TBVO)−が開示される。
【0154】
2.構造化された2進体積オクツリー(TBVO)
2.1.TBVO概観
TBVOの目標は、2進体積オクツリー(Binary Volumetic Octree:BVO)の改善として速い視覚化が可能なより柔軟な表現/圧縮フォーマットを考案することである。これは、BVOに基づいていくつかの付加的な情報を貯蔵することによって達成される。BVOに基づいた表現はオクツリー構造及び参照イメージ集合で構成される。一方、TBVOに基づいた表現はBVOオクツリー構造及び参照イメージ集合、そしてカメラインデックスで構成される。
【0155】
BVO視覚化の主な問題はレンダリング時にそれぞれのボクセルに対応するカメラインデックスを決定せねばならないということである。このために、カメラへの投影を考慮する必要があるだけでなく、逆光を採択する過程を考慮する必要がある。最小限ボクセルが見られる所からカメラの存在を決定せねばならない。結果的に、特定のカメラに投影されるあらゆるボクセルを探さねばならない。しかし、ブルートフォース接近法を使用するならばこのような過程は非常に遅い。われらは客体形状の大部分に対して速くて正確にこれを実行するアルゴリズムを開発した。しかし、いかなるカメラによっても見られないボクセルについては依然としていくつかの問題点が存在する。
【0156】
それぞれのボクセルに系統的な色相を貯蔵することが可能な解決法になりうる。しかし、この場合、圧縮する色相情報においていくつかの問題点がある。すなわち、ボクセル色相をイメージフォーマットとして分類してそれを圧縮すれば、隣接するボクセルの色相相関関係が破壊されて圧縮率が満足するほどではない。
【0157】
TBVOで、このような問題はあらゆるボクセルに対してカメラ(イメージ)インデックスを貯蔵することによって解決される。カメラインデックスは一般的に大きいボクセルグループに対して同一であり、これにより付加的な情報の経済的な貯蔵のためのオクツリー構造の使用が可能である。このようなモデルに対する実験で平均的に単に15%の体積増加が観察されたことに注目する必要がある。モデリングは多少複雑であるが、より柔軟な方式の任意の形状を有する客体を表現できる。
【0158】
BVOに比べてTBVOの長所はレンダリングがより単純でもっと速いということであり、実質的に客体形状に加わる制限がないということである。
【0159】
2.2.TBVOの例
本節で、TBVO表現の有効性及び核心的な要素を示す典型的な例を示す。図12(a)に“天使”に対するBVOモデルが図示されている。
【0160】
通常的な6要素構造のBVOを利用すれば、胴体と翼の一部がいかなるカメラによっても観察されず、これにより描写されたイメージは多くの可視的な‘クラック’を有する。同じモデルのTBVO表現で全部8個のカメラが使われる(箱の6面に各々にあるカメラと2個の付加的なカメラ)。図13(a)にはカメラインデックスのイメージが図示されている。他の色相は他のカメラインデックスを意味する。付加的なカメラはキューブの内部に位置し、前面と背面を垂直に注視する。付加的なカメラのイメージ面が図13(b)及び図13(c)に図示されている。結果的に、図12(b)に示すように、モデルに対する連続的できれいなレンダリング結果を得るようになる。
【0161】
2.3.圧縮されていないTBVOストリーム描写
255個のカメラで十分であり、インデックスのために1バイトまで割り当てることを提案する。TBVOストリームはシンボルストリームである。あらゆるTBVOシンボルはBVOシンボルまたは構造化されたシンボルである。構造化されたシンボルはカメラインデックスを意味し、カメラインデックスは特定の番号または“未定の”コードになりうる。以下、“未定の”コードは“?”と表示する。
【0162】
TBVOストリームは幅優先順序で横断する。われらがBVOを有していてあらゆるリーフボクセルがカメラ番号を有している場合にTBVOストリームの記述方法について説明する。これはモデリング段階で実施されねばならない。TBVOストリームはリーフノードを含んでいるあらゆるBVOノード(BVOシンボルを有していない)を幅優先順序で横断する。次の擬似コードはストリームを完璧に記述する。
【0163】
【表20】
以上の過程によれば、図14(a)に示されたTBVOツリーに対するシンボルストリームが図14(b)に示されたように得られる。しかし、実質的なストリームにおいて3つの値(2個のカメラと定義されていないコード)だけ表現する必要があるので、それぞれの構造化されたシンボルはただ2ビットだけ必要である。
【0164】
2.4.TBVO圧縮
オクツリーイメージノードでオクツリーイメージとオクツリーフィールドとは個別的に圧縮される。開示された方法は、オクツリーイメージに対しては一定程度の可視的に受け入れられる歪曲が許容されるのに対し、オクツリーフィールドは損失なしに圧縮されねばならないという概念に基づいて開発された。
【0165】
2.4.1.オクツリーイメージフィールド圧縮
オクツリーイメージフィールドはMPEG−4で許容されるMPEG−4イメージ圧縮(静的モデルに対する)手段または映像圧縮道具(動的モデルに対する)により圧縮される。われらの接近で、われらはオクツリーイメージに対してJPEGフォーマットを使用した(それぞれの構造を維持させながら3D視覚化に必要な点だけJPEGイメージの‘少量化’と命名した一定の前処理を実行した後、すなわち3Dレンダリング段階で使われない与えられた構造の一部は所望する分だけ概略的に圧縮されうる)。
【0166】
2.4.2.オクツリーフィールド圧縮
オクツリー圧縮は、既に非常に簡略でリンクのない2進ツリー表現の圧縮を取扱っているゆえに、オクツリーイメージ圧縮の最も重要な部分である。しかし、実験で後述される方法はこのような構造の体積を元の約半分に減少させた。動的のオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3Dフレームに対して個別的に圧縮される。
【0167】
2.4.2.1.文脈モデル
圧縮はデータの形態的特性を明確に使用する多様な適応算術コーディング(‘領域エンコーダ’で実行される)により実施される。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。開示された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
●現在バイトに対する文脈決定
●このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
●領域エンコーダで確率値提供
●現在文脈で現在バイト発生の頻度に1を足して現在PT更新(必要時、作業隨行後に再正規化、下の詳細な説明を参照)
【0168】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈に基づく適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、私たちの場合、オクツリー構造及びデータの形態的特性を活用することによって圧縮効率を高める。開示された接近法はオクツリー圧縮の問題において明確に新しい2つのアイディアに基づく。
A.現在ノードに対し、文脈はそれの親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
B.特定の親ノードにおいて特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0169】
x−z平面上で−90゜回転する変換Rに対する仮定‘B’は図5に示されている。‘B’の裏面に存在する基本的な概念は、特定な形態の親ノードにおいて特定な形態の子ノードの発生確率は単にこれらの相対的な位置に依存するということである。このような仮定はPTの分析による実験で立証された。これにより、過度に多くのPTを保有せずに複雑な文脈を使用できる。順に、これによりデータサイズ及び速度面でかなり良好な結果を得られる。複雑な文脈を使用するほど推定された確率がより明確になり、したがってコードがより簡潔になることに注目せねばならない。
【0170】
さて、変換集合を紹介する。確率分布は不変であると仮定する。われらの状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は、3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0171】
【数5】
【0172】
投影により生成されたグループ理論の典型的な結果のうち一つはGが48個の個別的な直交変換を含み、ある意味ではキューブを自体的に取る直交変換の最大グループである(いわゆる、coxeter group[27])。例えば、図6に示された回転子Rは生成子を通じて次のように表現される。
【0173】
【数6】
【0174】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時[5]、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(また、グループ理論でオービットと称される)が存在する。そして、定義によりGからの変換により連結されるならば、二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0175】
仮定‘B’の実質的な重要性は、PTが親ノードそれ自体に従属的でなく、単に親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがありえるが、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルが必要である一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8176個のテーブルとが必要であるということに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTはテーブルIに記載された形態をとることができる。
【0176】
【表21】
【0177】
2.4.2.2.エンコーディング手順
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
●‘0−文脈モデル’とされる最初の段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つのPTを維持する。
●最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
●次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0178】
このようなアルゴリズムの核心は、現在バイトに該当文脈及び確率を決定することである。これは次のように実施される。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラス及びこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実行する。
●現在ノードの親Pを検索する。
●Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcという。
●PにTを適用し、現在ノードNがマッピングされている標準ノードで子の位置pを検索する。
●NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
●クラス位置組合わせ(c,p)に対応するPTのエントリTNから必要な確率を導出する。
【0179】
1−文脈モデルに対して、前述した段階は明らかな方式で変更される。あらゆる変換は事前に計算されてルックアップテーブルで実施されることはいうまでもない。
【0180】
ノードNのデコーディング過程でその親Pは既にデコーディングされているので、変換Tは公知のものであることに注目せねばならない。デコーディング過程であらゆる段階は対応するエンコーディング段階と完全に類似している。
【0181】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。われらの作業において、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0182】
【数7】
S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すれば、まもなくあらゆるエントリが再正規化される。Pでゼロ値が発生しないようにするために他のエントリは2で割る一方、1に該当するエントリは変わらずに残っている。
【0183】
2.4.2.3.‘カメラノード’のエンコーディング
それぞれのボクセルに対する構造(カメラ)番号を決定するシンボルストリームは自体に固有なPTを使用して圧縮される。先に使用した用語上ではそれは単一文脈を保有する。PTエントリはオクツリーノードに対するエントリより大きい増加分を有して更新される。残りはノードシンボルコーディングと差がない。
【0184】
2.5.TBVO圧縮及びレンダリングの結果
TBVO圧縮の結果が図15、17ないし19に示されている。圧縮されたサイズは圧縮されたBVOと比較される。3番目の列で括弧内の数字は圧縮された形態的な体積である。一方、最初の数字はTBVO基盤の圧縮モデル(すなわち、構造が考慮された)の総体積である。可視的な歪曲の大きさ面で、LDI→(T)BVO→LDI変換後に色相差を測定するためにPSNRが計算された。圧縮されたモデルのサイズは、あらゆる構造(最小化されたJPEGで貯蔵された、2.4.1.参照)のサイズさと圧縮された形態サイズとの和である。TBVOの場合に圧縮された形態はカメラ情報も含む。TBVOのPSNRはBVOと比較する時にかなり改善される。
【0185】
TBVOはBVOより速いレンダリングを得る。“天使”モデルにおいて、BVOのフレームレートは7.5fpsである一方、TBVO−12のフレームレートは10.8fpsである。“モルトン”モデルにおいて、BVOのフレームレートは2.1fps(セレロン(登録商標)850MHz)である一方、TBVO−12のフレームレートは3.0fpsである。他の一方、レンダリングは動的なTBVOでもっと速く実施されることが観察された。“ドラゴン”モデルにおいて、BVOのフレームレートは29fps(ペンティアム(登録商標)IVで1.8GHz)である一方、TBVO−12のフレームレートは73fpsである。
【0186】
TBVOフォーマットは相当な柔軟性を提供する。例えば、図15には12個のカメラを使用する2つの方式(TBVO−12及びTBVO−(6+6))が図示されている。TBVO−12は6個のBVOカメラ(キューブ面)とキューブの中心で面と平行するように撮影した6個のイメージを使用する。(6+6)テクスチャーは6個のBVOカメラを使用し、それから、これらカメラにより眺望可能なすべてのボクセルと、同じ6個のカメラにより眺望可能な“写真”部分を除去する(‘peel’)。このようなイメージの例が図16に図示されている。
【0187】
BVOとTBVO−6天使モデル間の質(本質的及びPSNR値)において大きな差を注目せねばならない。たとえ同じカメラ位置が使われたとしても、TBVOはいなかるカメラからも観察されないボクセルを含むあらゆるボクセルにカメラ番号を割り当てることができる。これら番号は元の色相と最も一致するように選択される(すなわち、直接的な可視性とは関係なくそれぞれの地点に対してあらゆる‘カメラ’イメージで最上の色相一致が選択される。天使の場合、これは優れた結果を与える)。
【0188】
また、6個と12個のカメラを使用した場合間の非常に適切な‘形態’(すなわちBVO+カメラ)体積差に注目せねばならない。実際に、付加的なカメラは通常的に少ない領域を担当するので、これらの識別はまれであり、これらの構造は貧弱である(そしてよく圧縮される)。これら全ては‘天使’だけでなく下のあらゆるモデルにも適用される。
【0189】
【表22】
【0190】
オクツリーイメージ(OctreeImage)ノードは対応するカメラインデックスアレイ及びオクツリーイメージ集合が存在するオクツリー構造のTBVO構造を定義する。
【0191】
オクツリーイメージ(Octreeimages)フィールドはdiTextureフィールドに対してシンプルテクスチャー(SimpleTexture)を有する深さイメージ(DepthImage)ノード集合を特定する。これらシンプルテクスチャー(SimpleTexture)ノードで深さフィールドは使われない。直交(orthographic)フィールドは深さイメージ(DepthImage)ノードに対して真(TRUE)でなければならない。シンプルテクスチャー(SimpleTexture)各々に対してテクスチャーフィールドは客体または位置及び方向に対応する深さイメージ(DepthImage)フィールドで特定の直交カメラにより得られるような客体視点(例えば、カメラ面による客体の断面)の部分の色相情報を貯蔵する。それぞれのカメラに対応する客体の部分はモデル生成段階で割当てられる。位置(position)、方向(orientation)、及びテクスチャー(texture)値を利用した客体分割は、カメラの数(または、同一に含まれるオクツリーイメージの数字)を減らすと同時に、任意の選択された位置で暫定的に捕捉可能なあらゆる客体部分を含むために実施される。方向(orientation)フィールドは、カメラの視覚ベクターは単に一つの0でない成分(すなわち、閉じられたキューブ面のうち一つに垂直の成分)を有し、シンプルテクスチャー(SimpleTexture)イメージの側面は閉じられたキューブの対応する面と平行するという条件を満足せねばならない。
【0192】
オクツリー(octree)フィールドは客体形態を完全に記述する。形態は与えられた客体を構成するボクセル集合で表現される。オクツリーはツリー型のデータ構造であり、該当データ構造でそれぞれのノードはバイトにより表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在するということを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序でなければならない。内部ノードの8個の子順序が図4(b)に図示されている。全体オクツリーの閉じられたキューブのサイズは1×1×1であり、オクツリーキューブの中心は特定の座標系の原点(0,0,0)である。
【0193】
カメラID(cameraID)フィールドはボクセルに割当てられたカメラインデックスのアレイを含む。レンダリング段階でオクツリーリーフに起因した色相は、特定のインデックスを有するオクツリーイメージの一つにリーフを垂直に投影することによって決定される。インデックスはオクツリー方式で貯蔵される。もし、特定のカメラが特定のノードに含まれたあらゆるリーフに対して使われるならば、カメラインデックスを含むノードはストリームに入力される。そうでない場合、固定された‘追加的な下位分割’コードを含むノードが入力されるが、これはカメラインデックスが現在ノード(同じ反復的な形態で)の子下位ノードに対して個別的に特定されることを意味する。もし、カメラID(cameraID)が空いているならばBVOの場合と同じくカメラインデックスはレンダリング段階が進む間に決定される。
【0194】
オクツリー解像度(octreeresolution)フィールドは、閉じられたキューブの側面に沿う最大の許容可能なオクツリーリーフの数を特定する。オクツリーのレベルは次の式を利用してオクツリー解像度から決定される。
【0195】
2.7.ビットストリーム定義
2.7.1.オクツリー圧縮
2.7.1.1.概観
【0196】
深さ基盤イメージ表現においてオクツリーイメージノードはオクツリー構造及びそれの投影されたテクスチャーを定義する。オクツリーイメージアレイに貯蔵されているそれぞれのテクスチャーはシンプルテクスチャーを有する深さイメージノードを通じて定義される。オクツリーイメージノードの他のフィールドはオクツリー圧縮により圧縮されることができる。
【0197】
2.7.1.2.オクツリー
2.7.1.2.1.文法
【0198】
【表23】
2.7.1.2.2.意味
オクツリーの圧縮されたストリームはoctree_frame_start_codeの次に来るオクツリーヘッダ及び一つ以上のオクツリーフレームを含む。octree_frame_start_codeの値は常に0x000001C8である。この値はストリームのルック−アヘッドパーシングにより検出される。
【0199】
2.7.1.3.オクツリーヘッダ
2.7.1.3.1.文法
【0200】
【表24】
【0201】
2.7.1.3.2.意味
このようなクラスはオクツリー圧縮に対してヘッダ情報を読み出す。
octreeResolutionBitsにより長さが表現されるoctreeResolutionはオクツリーイメージノードのオクツリー解像度フィールドの値を含む。
【0202】
numOfTexturesはtextureNumBitsの長さであり、オクツリーイメージノードで使われるテクスチャー(またはカメラ)の番号を記述する。この値はオクツリーの各ノードに対するカメラIDの演算コーディングに使われる。textureNumBitsの値が0ならば、構造シンボルはルートノードのcurTexureを255と設定することによりコーディングされない。
【0203】
2.7.1.4.オクツリーフレーム
2.7.1.4.文法
【0204】
【表25】
【0205】
2.7.1.4.2.意味
このクラスは幅優先横断順序で一つのオクツリーフレームを読み出す。レベル0の最初のノードから出発して現在レベルのあらゆるノードを読み出した後、次のレベルのノード数はそれぞれのノードシンボルであらゆる1をカウントすることによって把握される。次のレベルで、ノードの数(nNodesInCurLevel)はストリームから読み出される。
【0206】
それぞれのノードをデコーディングする時、2.7.1.6節に開示されたように適切なcontextICが付与される。
【0207】
もし、現在ノード(curTexture)に対するテクスチャー(またはカメラ)IDが親ノードにより定義されていないならば、テクスチャーIDもtextureContextIDにより定義されているテクスチャーIDに対する文脈を使用してストリームから読み出す。もし、0でない値が得られれば(textureIDが定義されていれば)、この値はまたつながるレベルであらゆる子ノードに適用される。あらゆるノードをデコーディングした後、textureIDは依然として相変らずtextureID値が割当てられていないオクツリーのリーフノードに割当てられる。
【0208】
2.7.1.5.適応算術デコーディング
この章ではcontextIDによってC++型の文法表現を使用してオクツリー圧縮に使われた適応算術コーダを記述する。aa_decode()はcumul_freq[]関数である。PCTは2.7.1.6節に記述されたようなPCTのアレイである。
【0209】
【表26】
【0210】
【表27】
【0211】
2.7.1.6.デコーディング手順
デコーディング手順の全体的な構造は2.7.1.5節に開示されている(また前述したエンコーディング手順を参考)。これは算術的にエンコーディングされた(圧縮された)TBVOモデルを構成するビットストリームからTBVOノードを獲得する方法を示す。
【0212】
デコーディング手順の各段階で、文脈番号(すなわち、使用する確率インデックス)及びPT自体を更新せねばならない。あらゆるPTの集合(整数アレイ)を確率モデル(Probabilistic
model)と称する。i番目PTのj番目成分(成分の和で割られた)はi番目文脈でj番目シンボルの発生確率を推定する。
【0213】
PTの更新手順は次の通りである。まず、PTはあらゆるエントリが1になるように初期化される。シンボルをデコーディングする前に文脈番号(ContextID)が選択されねばならない。ContextIDは下の2.7.1.6.1.節及び2.7.1.6.2節で指摘されたように以前にデコーディングされたデータから決定される。ContextIDが得られれば2進算術デコーダを使用してシンボルをデコーディングする。次に、デコーディングされたシンボル周波数に適応段階を付加してPTを更新する。全体(積算された)テーブル成分の和が積算臨界値より大きくなれば正規化が実施される(2.7.1.5.1.参照)。
【0214】
2.7.1.6.1.テクスチャーシンボルの文脈モデリング
テクスチャーシンボルは一つの文脈だけでモデリングされる。これは単に一つのPTが使われることを意味する。このテーブルのサイズはnumOfTexturesの数に一つを加えたものと同じである。先ず、このテーブルは全部1に初期化される。許容可能なエントリ値の最大値は256と設定される。適応段階は32と設定される。このようなパラメータ値の組合わせによりテクスチャー番号をかなり可変的なストリームに適用することができる。
【0215】
2.7.1.6.2.ノードシンボルの文脈モデリング
256個の相異なるノードシンボルが存在し、それぞれのシンボルは2×2×22進ボクセルアレイを表現する。対応するシンボルを互いに変換させる3D直交変換がこのようなアレイに適用される。
【0216】
座標軸に対して90*n゜(n=0,1,2,3)だけ回転及び対称させる48個の固定された直交変換集合を想定すれば、このような行列は次のように数字順に与えられる。
【0217】
【数8】
【0218】
同じクラスに属すればこのような変換により2個のシンボルが連結されるようにクラスと呼ばれる22個のシンボル集合が存在する。コーディング方法は次のようなPCTを生成する。シンボルのContextIDは親が属するクラスの番号または組合わせられた番号(親クラス、親ノードで現在ノード位置)と同一である。これにより意味のある統計値を得るのに必要な時間を縮めながら文脈の数をかなり減少させることができる。
【0219】
それぞれのクラスに対して、一つの基本シンボルが決定され(テーブル9参照)、それぞれのシンボルに対してクラスの基本シンボルとして取扱う直交変換が事前に計算される(実際にエンコーディング/デコーディング手順でルックアップテーブルが使われる)。シンボルに対してContextIDが決定された後、任意のシンボルに、そのシンボルの親を基本成分として取扱うようにする逆変換(すなわち、逆行列)が適用される。テーブル10にはそれぞれのシンボルに対する文脈と対応される直接変換が与えられている。
【0220】
【表28】
【0221】
文脈モデルは既にデコーディングされたシンボル等の番号Nに依存する。
N<512に対して単に一つの文脈だけ存在する。PTは全部1に初期化される。PTでシンボルの数は256である。適応段階では2である。最大蓄積頻度は8192である。
【0222】
512≦N<2560(=2048+512)に対して1−文脈(文脈番号が一つのパラメータという意味でクラスの番号)モデルが使われる。このモデルは22個のPCTを使用する。ContextIDはデコーディングされたノードの親が属するクラスの番号である。親が子より先にデコーディングされるため、この番号はいつもルックアップテーブル(テーブル10参照)から決定できる。22個のPCT各々は以前段階から得られたPCTにより初期化される。各PTでシンボルの数は256である。適応段階では3である。最大蓄積周波数はまた8192である。シンボルはデコーディングされた後、上で定義された直交逆変換を利用して変換される。直交変換番号は、現在ノードシンボルの親と同じノードシンボルIDを有するテーブル10でさがすことができる。
【0223】
2560個のシンボルがデコーディングされれば、デコーダは2−文脈(次に説明されたように文脈番号が二つのパラメータで構成されるという意味で)に転換する。このモデルは176個(=22*8、すなわち、8個の位置による22個のクラス)のPCTを使用する。ここでContextIDは親クラス及び親ノードでの現在ノードの位置に依存する。このモデルに対する初期PTはそれの文脈にのみ依存する。あらゆる8位置PCTは以前段階で与えられたクラスに対して得られたPCTのクローンである。それぞれのPTでシンボルの数は256である。適応段階では4である。最大蓄積頻度はまた8192である。
【0224】
シンボルはデコーディングされた後、以前モデルのように直交逆変換(テーブル10に与えられた一つ)を利用して変換される。
【0225】
それぞれのクラスに対する基本成分の形態はテーブル10を使用して容易に得ることができる。基本成分は正確に変換IDが0(番号0は同じ変換に割当てられる)に対するシンボルである。
【0226】
【表29】
以下、本発明による深さイメージに基づく3次元客体表現装置及び方法で使われるMPEG−4ノード規定及びオクツリーイメージフォーマットの圧縮方法についてより詳細に説明する。
【0227】
本発明は、大部分イメージと深さマップに基づいた効果的で、かつ効率的な表現を提供し、前述した利点を全的に利用する一群のデータ構造−深さイメージに基づく表現(DIBR)−を開示する。また、主要なDIBRフォーマット−シンプルテクスチャー、ポイントテクスチャー、及びオクツリーイメージ−を簡略に説明する。
【0228】
図20は色相イメージと深さマップの一例を示した図面であり、図21は階層的な深さイメージ(Layered depth image:LDI)の一例を示した図面((a)客体の投影、(b)階層的なピクセル))である。
【0229】
シンプルテクスチャーはイメージ、対応する深さマップ、そしてカメラ説明(カメラの位置、方向及び形態、直交または遠近)で構成されたデータ構造である。一つのシンプルテクスチャーの表現容量はビルディングの正面のような客体に制限される。深さマップを有する正面イメージにより実質的な角度領域で正面視点を再構成できる。しかし、参照イメージがビルディング面の潜在的にみえることができるあらゆる部分を含む場合に、適切な位置に配置されたカメラにより生成されたシンプルテクスチャーの集合で全体ビルディングを表現できる。もちろん、これは木、人体、自動車にも適用される。さらに、シンプルテクスチャーの集合は3D動映像データを取扱うためのかなり自然な手段を提供する。この場合、参照イメージは参照ビデオストリームと共に再配置される。それぞれの3Dフレームに対する深さマップはこのようなビデオストリームのアルファチャンネル値によるか、分離されたグレースケールビデオストリームにより表現される。このような形態の表現で、イメージは損失圧縮フォーマットのように、たとえばJPEGに貯蔵されうる。これは色相情報の量を大きく減少させ、特に動映像の場合にそうである。しかし、形態情報(深さマップ)は損失なしに圧縮されねばならず、これは貯蔵容量の全体的な減少に影響を及ぼす。
【0230】
複雑な形態の客体の場合、時には当然な数の参照イメージで可視的な面全体を覆うことが容易ではない。その場合に望ましい表現はポイントテクスチャーである。このフォーマットも参照イメージ及び深さマップを保有するが、この場合、二つには多重値が付与される。カメラにより提供されたそれぞれの視線(直交または遠近)、あらゆる線の交差点に対して色相及び距離が客体と共に貯蔵される。交差点の数は線ごとに異なる。いくつかのポイントテクスチャーよりなる集合は複雑な客体の場合にも非常に詳細な表現を提供する。しかし、このフォーマットはシンプルテクスチャーの2D規則性の大部分に欠けていて自然なイメージ基盤圧縮形態を有することができない。同じ理由で、このフォーマットは単に静止客体に対して使われる。
【0231】
オクツリーイメージフォーマットは、‘大部分の2次元’シンプルテクスチャーと‘大部分の3次元’ポイントテクスチャーとの中間位置を占有する。オクツリーイメージの色相成分はイメージの集合で表現される一方、客体の形態をオクツリー構造の体積表現(閉じられたキューブの一般的な2進分割の階層的に構成されたボクセルに貯蔵する。このフォーマットはまた、それぞれのリーフボクセルに対して色相を含む参照イメージのインデックスを貯蔵する付加的なオクツリー形態のデータ構造を含む。オクツリーイメージのレンダリング段階で、リーフボクセルの色相はそれを対応する参照イメージに垂直に投影することによって決定される。オクツリーイメージの形態部分に対して効率的な圧縮方法が開発された。多様な適応文脈に基づく算術コーディングが存在する。ここで、文脈はデータの形態的特性を明確に利用して構成される。損失圧縮参照イメージと共に圧縮を利用することによってオクツリーイメージは空間的に非常に効率的な表現になる。シンプルテクスチャーのようにオクツリーイメージは参照イメージの代りに参照ビデオストリームを有し、二つの付加的な形態を表現するオクツリーに対するストリーム及びそれぞれの3Dフレームに対応するイメージ当たりボクセルを有するアニメーションバージョンを有する。
【0232】
DIBR群の新しいバージョンのMPEG−4標準のために開発されてきたし、MPEG−4AFXに含まれるように採択された。AFXは総合的なMPEG−4環境のためのより向上した特徴を提供し、関連のあるアニメーションコンテンツに対して再使用可能な構造(現存のMPEG−4構造を利用できる)を算出する共用できる道具の集合を含む。それぞれのAFXツールはBIFS(Binary Format for Scenes)ノード、総合的なストリーム、及び音響−映像ストリームとの互換性を示す。AFXの現バージョンは提案するDIBRだけでなく動映像に対する高級レベル描写(すなわち、動映像に基づいた骨格と皮膚)、向上したレンダリング(すなわち、手順的なテクスチャーマッピング、光フィールドマッピング)、簡略な表現(すなわち、NURBS曲面、ソリッド表現、下位分割曲面)、低伝送率アニメーション(すなわち、キーフレームアニメーション圧縮)等で構成される。
【0233】
DIBRフォーマットは、ユーザーに特定の作業に最も適した柔軟な道具を提供して、以前に提案された他のアイディアの長所と結合するように考案された。例えば、非動映像シンプルテクスチャー及びポイントテクスチャーは知られたフォーマットの特別な場合である一方、オクツリーイメージは全く新しい表現である。しかし、MPEG−4状況で、3つの基本DIBRフォーマットはいずれもビルディングブロックと見なされることができ、MPEG−4構造によりこれらを結合することは、本文献で提案されたイメージ基盤表現の多くを包括するだけでなく新しいフォーマットを構成するにあたって相当な潜在力を付与する。
【0234】
以下、深さイメージに基づく表現を説明する。前述された概念及び発明者が開発したいくつかを考慮して次のMPEG−4 AFXに使用するためのシンプルテクスチャー、ポイントテクスチャー、そしてオクツリーイメージのようなイメージ基盤フォーマットの集合を提案した。シンプルテクスチャー及びオクツリーイメージはアニメーションバージョンを有する。
【0235】
シンプルテクスチャーは深さイメージと結合された一つのイメージである。シンプルテクスチャーは緩和テクスチャーに相応する一方、ポイントテクスチャーはLDIに相応する。
【0236】
ブロック構成時、シンプルテクスチャー及びポイントテクスチャーに基づいてMPEG−4構造を使用する多様な表現を生成できる。公式的な規定は後述し、ここでは結果を形態的に記述する。
【0237】
深さイメージ構造は結合されるボックス、空間上の位置及びいくつかの他の情報と共にシンプルテクスチャーまたはポイントテクスチャーを規定する。深さイメージ集合は変換ノードと呼ばれる一つの構造の下に統合され、これにより多様な有用な表現を生成できる。これらのうち二つが最も広く使われ、これらは特定のMPEG−4名称を有してはいないが、実務上これらをボックステクスチャー(BoxTexture:BT)及び一般化されたボックステクスチャー(Generalized Box Texture:GBT)と称する。BTは客体または場面の結合キューブに対応する6個のシンプルテクスチャーの集合である一方、GBTは共に両立する3D表現を提供する任意個数のシンプルテクスチャーの集合である。BTの例が図22に図示されている。図22には、参照イメージ、深さマップ、そして結果的な3D客体が図示されている。BTは増加するワーピングアルゴリズムにより描写されることができるが、GBTにも適用可能な他の方法を使用する。GBT表現の例は図23に図示されている。図23で複雑な客体である椰子を表現するために21個のシンプルテクスチャーが使われる。
【0238】
例えば、統合メカニズムにより同じ客体または同じ客体の一部を表現するために他のカメラを有するいくつかのLDIを使用できることに注目せねばならない。したがって、イメージ基盤客体と同じデータ構造、LDIツリーセル、サーフェル基盤ツリー構造は、いずれも場面の構造にシンプルテクスチャーとポイントテクスチャーの位置及び解像度を適用するにおいてはるかに強い柔軟性を提供するこのようなフォーマットの特別な場合である。
【0239】
次に構造化された2進体積オクツリー(Textured Binary Volumetric Octree:TBVO)について説明する。
【0240】
より柔軟な表現及び速いレンダリングを有する多重解像度形態及びテクスチャーを利用するためにTBVOに基づいたオクツリーイメージ表現が開発された。TBVOの目標は2進体積オクツリー(Binary Volumetic Octree:BVO)の改善として速い視覚化が可能なより柔軟な表現/圧縮フォーマットを考案することである。TBVOは形態を表現するBVO、参照イメージ集合、及びオクツリーノードに対応するイメージインデックスなどの3つの主な成分で構成される。
【0241】
BVO形式の形態情報は、通常的なオクツリー方式で大きなセルに結合された規則的に離れている2進(占有または非占有)ボクセルの集合である。このような表現は、深さを有するピクセル各々が3次元空間で固有な点を規定するので、深さイメージデータから‘点雲’形式の媒介子を通じて容易に得られることができる。点雲のBVOへの変換は図24に図示されている。類似の過程により多角形モデルをBVOに変換できる。BVOのテクスチャー情報は参照イメージから得られる。参照イメージは与えられたカメラ位置と方向とでのボクセルのテクスチャーである。したがって、BVO自体は参照イメージと共にモデル表現を提供する。しかし、それぞれのBVOリーフに対する参照イメージインデックスを貯蔵する付加的な構造は、より速い視覚化及び良好な品質を可能にしたことが明らかになった。
【0242】
BVO視覚化の主要な問題は、レンダリング中にそれぞれのボクセルの対応するカメラインデックスを決定せねばならないということである。このために少なくともボクセルが見えるカメラの存在を決定しなければならない。もし、単純計算方法を使用すればこのような手順は非常に遅い。このような問題の上に、いかなるカメラによっても見えないボクセルに対しては依然としていくつかの難しさが存在し、これは描写されたイメージに望ましくない雑音をもたらす。
【0243】
それぞれのボクセルに対して明確な色相を貯蔵することが可能な解決策になりうる。しかし、この場合、色相情報を圧縮するにおいていくつかの問題点がある。すなわち、ボクセル色相をイメージフォーマットでグループ化し、それを圧縮すれば隣接するボクセルの色相関連性が破壊されて圧縮率が満足できなくなる。
【0244】
TBVOでこのような問題は、あらゆるボクセルに対するイメージインデックスを貯蔵することによって解決される。インデックスは大体大きいボクセルグループに対して同一であり、これにより付加的な情報の経済的な貯蔵のためのオクツリー構造を使用できる。モデルに対する実験で、BVOと参照イメージだけを使用する表現に比べて平均的にただ15%の体積が増加することと観察された。このようなモデリングはややより複雑であるが、より柔軟な方法で任意の形態の客体を表現できる。
【0245】
スプラットのサイズはボクセルのサイズから容易に算出されるので、TBVOはスプラットを持ってレンダリングするための非常に便利な表現である。ボクセル色相は参照イメージとボクセルのイメージインデックスを使用して容易に決定される。
【0246】
次に、TBVOのストリーミングについて説明する。
255個のカメラで十分であると仮定し、インデックスに対して1バイトまで割り当てる。TBVOストリームはシンボルストリームである。あらゆるTBVOシンボルはBVOシンボルまたはテクスチャーシンボルである。テクスチャーシンボルはカメラインデックスを称し、カメラインデックスは“規定されていない”特定の番号またはコードである。
【0247】
以下、“規定されていない”コードを‘?’とする。TBVOストリームは幅優先順序で横断する。BVOを有しており、あらゆるリーフボクセルがイメージインデックスである場合にTBVOストリームの記述方法について説明する。これはモデリング段階で実施されねばならない。TBVOストリームはリーフノードを含んでいるあらゆるBVOノード(BVOシンボルを有していない)を幅優先順序で横断する。図25にはストリームを完壁に記述する擬似コードが図示されている。
【0248】
TBVOビットストリームの技術に対する例が図14に図示されている。図14(a)に示されたTBVOツリーに対するシンボルストリームは手順によって図14(c)に示されたように得られる。この例で、テクスチャーシンボルはバイトで表現される。しかし、実際的なストリームでは3個の値(2個のカメラと規定されていないコード)だけ表現すればよいので、それぞれのテクスチャーシンボルは単に3ビットだけ必要である。
【0249】
次に、DIBRアニメーションについて説明する。アニメーションバージョンはDIBRフォーマットの二つ−シンプルテクスチャーとオクツリーイメージだけを含む深さイメージ−に対して規定される。データサイズは3Dアニメーションにおいて重要な問題のうち一つである。ビデオストリームは自然と動映像バージョンに結合されうるので実質的なデータ減少を提供するこのような特定のフォーマットを選択する。
【0250】
深さイメージに対して、アニメーションは参照イメージをMPEG−4動映像テクスチャーに取り替えることによって実施される。高品質損失映像圧縮は算出される3D客体の外形に深刻に影響を及ぼさない。深さマップを参照映像ストリームのアルファチャンネルに無損失モードに近く貯蔵されうる。レンダリング段階であらゆる参照イメージのようにフレームが受信されて圧縮が解除された後に3Dフレームが描写される。
【0251】
オクツリーイメージのアニメーションは似ている。参照イメージはMPEG−4動映像テクスチャーにより代替されて新しいオクツリーストリームが現れる。
次に、MPEG−4ノードを定義する。
【0252】
DIBRフォーマットはMPEG−4 AFXノード定義に詳細に記述されている。深さイメージは、シンプルテクスチャー(SimpleTexture)またはポイントテクスチャー(PointTexture)に対する円錐視点パラメータを決定するフィールドを含む。オクツリーイメージノードは形態と参照イメージフォーマットの集合が規定されたTBVO形態で客体を表現する。場面に独立的な情報はDIBRデータ構造の特別なフィールドに貯蔵され、これによりDIBR客体の相互作用を場面の残りの部分で補正できる。DIBRノードの定義は図26に図示されている。
【0253】
図27は、深さイメージの空間的な配置を示した図面である。図9に各フィールドの意味が記載されている。深さイメージノードは一つのDIBR客体を規定する。複数の深さイメージノードが互いに関連されている時、これらはグループで処理され、したがって同じ変換ノードの下に位置せねばならない。diTextureフィールドは深さを有するテクスチャー(シンプルテクスチャーまたはポイントテクスチャー)を特定し、これは深さイメージノードに規定された領域にマッピングされる。
【0254】
オクツリーイメージノードはオクツリー構造及びそれの投影されたテクスチャーを定義する。オクツリー解像度フィールドは閉じられたキューブの側面に沿うオクツリーリーフの最大個数を特定する。オクツリーフィールドはオクツリー内部ノードの集合を定義する。それぞれの内部ノードはバイトで表現される。このようなバイトのi番目ビットの1は内部ノードのi番目の子に対して子ノードが存在するということを意味する。一方、0は子ノードが存在しないことを意味する。オクツリー内部ノードの順序はオクツリーの幅優先横断順序でなければならない。内部ノードの8個の子順序が図14(b)に図示されている。ボクセルイメージインデックスフィールドはボクセルに割当てられたイメージインデックスの配列を含む。レンダリング段階で、オクツリーリーフに起因した色相はリーフを特定のインデックスを有するイメージに垂直に投影することによって決定される。インデックスはオクツリーと同じ形式で貯蔵される。もし、特定のイメージが特定のボクセルに含まれたあらゆるリーフに対して使われるならば、イメージのインデックスはストリームに入力される。そうでない場合に固定された‘追加的な下位分割’コードが入力され、これはイメージインデックスが現在ボクセルの子各々に対して個別的に規定されることを意味する(同一に反復される形態に)。もし、ボクセルイメージインデックスが空いているならばイメージインデックスはレンダリング段階で決定される。イメージフィールドは、diTextureフィールドに対して単純テクスチャーを有する深さイメージノードの集合を特定する。しかし、深さイメージノードの隣接平面(nearPlane)と遠接平面(farPlane)フィールド、そして単純テクスチャーノードでの深さフィールドは使われない。
【0255】
次に、オクツリーイメージフォーマットの圧縮について説明する。
ここでオクツリーイメージに対する圧縮方法を考慮する。典型的なテスト結果は後述する。ポイントテクスチャーの圧縮はまだ支援されておらず、これは次のバージョンのAFXで行われる。
【0256】
オクツリーイメージでオクツリーイメージフィールドとオクツリーフィールドとは個別的に圧縮される。提案された方法はオクツリーイメージフィールドに対してはある程度視覚的に受容可能な歪曲が許容される一方、オクツリーフィールドは損失なしに圧縮されねばならないという事実に基づいて開発された。
【0257】
オクツリーイメージフィールドはイメージ圧縮手段(静的モデルに対する)またはMPEG−4により支援されるビデオ圧縮道具(動的モデルに対する)により圧縮される。本接近でオクツリーイメージに対してJPEGフォーマットが使われる。客体/背景境界で関係ないピクセルを捨てて圧縮歪曲を抑圧する付加的な前処理(詳細な内容は後述)は圧縮率とレンダリング品質を高める。
【0258】
オクツリー圧縮は、非常に簡略でリンクを持ってない二進ツリー表現の圧縮を扱っているゆえにオクツリーイメージ圧縮の最も重要な部分である。しかし、実験で下述された方法はこのような構造の体積を元来の約半分に縮めた。動的なオクツリーイメージバージョンで、オクツリーフィールドはそれぞれの3次元フレームに対して個別的に圧縮される。
【0259】
圧縮は、データの形態的特性を明確に使用する多様な適応算術コーディングにより行われる。オクツリーはバイトストリームである。それぞれのバイトはツリーのノード(すなわち、下位キューブ)を示し、バイトのビットは内部的な分割後の下位キューブの占有を示す。ビットパターンはノードの積層パターンと呼ばれる。提案された圧縮アルゴリズムは次のような方式でバイトを一つずつ処理する。
【0260】
−現在バイトに対する文脈決定
−このような文脈で現在バイトの発生‘確率’(正規化された頻度)を文脈に対応する‘確率テーブル’(PT)から検索
−算術コーダに確率値提供
−現在文脈で現在バイト発生の頻度に1を加えて現在PT更新(必要時、作業遂行後に再正規化、下の詳細な説明を参照)
【0261】
したがって、コーディングは文脈モデルによるPTの生成及び更新過程である。文脈基盤適応算術コーディング技術で(‘部分マッチングによる予測’のように)、シンボル文脈は一般的にいくつかの前置シンボル列である。しかし、本発明ではオクツリー構造とデータの形態的特性を活用することによって圧縮効率が向上する。開示された接近法はオクツリー圧縮の問題において全く新しい2つのアイディアに基づく。
A1:現在ノードに対し、文脈はその親ノードまたは{親ノード、親ノードに位置した現在ノード}で構成された対のうち一つであり、
A2:特定の親ノードで特定の形態的位置で与えられたノード発生‘確率’は任意の直交(回転または対称のような)変換集合に対して不変であると仮定する。
【0262】
x−z平面上で(から)−90゜回転する変換Rに対する仮定‘A1’が図6に図示されている。‘A2’の裏面に存在する基本的な概念は、特定の形態の親ノードでの特定の形態の子ノードの発生確率は単にそれらの相対的な位置に依存するということである。このような仮定は確率テーブルの分析による実験で立証された。これにより過度に多くの確率テーブルを保有せずにより複雑な文脈を使用できる。順に、これによりデータ大きさ及び速度面でだいぶ良好な結果を得ることができる。複雑な文脈を使用するほど推定された確率がより明確になり、したがって、コードがより簡潔になることに注目せねばならない。
【0263】
さて、変換集合を紹介する。確率分布は不変であると仮定する。この状況に適用するために、このような変換は閉じられたキューブを維持しなければならない。ユークリッド空間での直交変換の集合Gを考慮する。直交変換は3個の基本変換(生成子)m1、m2、及びm3の任意の番号及び順序上のあらゆる成分により得られる。
【0264】
【数9】
【0265】
投影により生成されたグループ理論の典型的な結果のうち一つは、Gが48個の個別的な直交変換を含み、ある意味ではキューブを自体的にとる直交変換の最大グループ(いわゆる、Coxeter
group)であるということを示す。例えば、図6に示した回転子Rは生成子を通じて次のように表現される。
【0266】
【数10】
【0267】
オクツリーノードに適用されたGからの変換は、相異なる下位キューブの積層パターンを有するノードを算出する。これによりノードの下位キューブの積層パターンによってノードを分類できる。グループ理論言語を使用する時、Gはオクツリーノードのあらゆる積層パターンに対する集合として作用すると言及する。計算によれば、22個の個別的なクラス(またグループ理論で軌道と称される)が存在する。そして、定義によりGからの変換により連結されるならば二つのノードが同じクラスに属する。一つのクラスで要素番号は1から24まで多様であり、常に48の除数である。
【0268】
仮定‘A2’の実質的な重要性は確率テーブルが親ノードその自体に従属的ではなく、ただ親ノードが属するクラスに従属的であるということである。親基盤文脈に対して256個のテーブルがあり、前者の場合に親−子位置基盤文脈に対して付加的な256×8=2048個のテーブルがありえる一方、後者の場合に親−クラス基盤文脈に対して22個のテーブルと22×8=176個のテーブルが必要であることに注目せねばならない。したがって、相対的に少数のPTを有して同等に複雑な文脈を使用することが可能である。作成されたPTは表31に記載された形態を取ることができる。
【0269】
【表30】
【0270】
PTに対する統計をより正確にするために、エンコーディング手順の3つの過程で相異なる方式が収集される。
【0271】
‘0−文脈モデル’と受入れられる第1段階で文脈を全く使用せず、均一な分布から出発して256個のエントリを保有した一つの確率テーブルを維持する。
最初の512個のノード(実験的に発見された番号)がエンコーディングされてすぐ、親ノードを文脈として使用する‘1−文脈モデル’に転換する。転換時、0−文脈PTはあらゆる22個の文脈に対するPTに複写される。
【0272】
次の2048個のノード(他の発見値)がエンコーディングされた後、‘2−文脈モデル’に転換する。この瞬間に親パターンの1−文脈PTは同じ親パターンでそれぞれの位置に対するPTに複写される。
【0273】
このようなアルゴリズムの核心は、現在バイトに該当文脈と確率を決定することである。これは次のように行われる。それぞれのクラスで‘標準要素’と呼ばれる一つの要素を固定する。可能な256個のノードが属するクラスとこのような特定ノードをそれのクラスの標準要素として取扱うGから事前に計算された変換を示すマップテーブル(Class Map Table:CMT)を貯蔵する。したがって、現在ノードNの確率を決定するために次のような段階を実施する。
【0274】
−現在ノードの親Pを検索する。
−Pが属するCMTからクラスを導出し、Pを該当クラスの標準ノードとして取扱う変換Tを導出する。クラス番号はcとする。
−PにTを適用し、現在ノードNがマッピングされている標準ノードで子位置pを検索する。
−NにTを適用すれば、新しく得られた積層パターンTNはクラスcの標準ノードで位置pに存在する。
−クラス位置組合わせ(c,p)に対応する確率テーブルのエントリTNから必要な確率を導出する。
−1−文脈モデルに対して、前述した段階は明らかな方式に変更される。言及する必要なく、あらゆる変換は事前に計算されてルックアップテーブルで行われる。
【0275】
ノードNのデコーディング過程でそれの親Pは既にデコーディングされているので変換Tは知られているということに注目せねばならない。デコーディング過程であらゆる段階は対応されるエンコーディング段階と完全に似ている。
【0276】
最後に、確率更新手順を略述する。Pを任意の文脈に対する確率テーブルという。このような文脈でノードNの発生確率に対応するPのエントリをP(N)と命名する。この作業で、P(N)は整数であり、それぞれのNの発生後にP(N)は次のように更新される。
【0277】
【数11】
【0278】
S(P)をPのあらゆるエントリの和とすれば、計算コーダ(ここでは領域コーダ)に印加されるNの確率がP(N)/S(P)として計算される。S(P)が臨界値216に到達すればすぐあらゆるエントリが再正規化される。Pでゼロ値を発生させないために他のエントリは2で割る一方、1に該当するエントリは変わらずに残る。
【0279】
それぞれのボクセルに対するイメージインデックスを決定するシンボルストリームは自体の確率テーブルを利用して圧縮される。上で使われた用語でそれぞれのボクセルに対するイメージインデックスを決定するシンボルストリームは一つの文脈である。PTエントリはオクツリーノードに対するエントリより大きい増分で更新される。これにより確率が含まれたシンボル頻度の大きい変動に適用できる。残りはノードシンボルコーディングと差がない。
【0280】
DIBRフォーマットに対するレンダリング方法はAFX標準の一部ではないが、DIBR客体レンダリングの簡略性、速度及び品質を得るために使われる概念は説明する必要がある。本レンダリング方法は‘レンダリング原形’として使われる小さくて扁平な色相パッチのスプラットに基づく。下に略述された2つの接近法は深さイメージとオクツリーイメージとの2つの相異なる表現に適用される。レンダリング速度を向上させるためのスプラッティングのためにOpenGL関数が採用される。それにも拘わらず、ソフトウェアレンダリングも可能であり、これにより深さイメージまたはオクツリーイメージの単純な構造を利用して計算を最適化できる。
【0281】
深さイメージ客体をレンダリングするために使用する方法は極めて簡単である。しかし、それはOpenGL関数に依存してハードウェア加速器によりより速く動作することを言及する必要がある。この方法で、深さを有するあらゆるピクセルはレンダリングされる単純テクスチャー及び点テクスチャーから3D点に変換され、その後、このような点で小さなポリゴン(スプラット)の位置を決定してOpenGLのレンダリング関数を適用する。単純テクスチャーの場合に対するこのような過程の擬似コードが図28に図示されている。点テクスチャーの場合は正確に同じ過程に扱われる。
【0282】
スプラットのサイズは点と観察者との間の距離に適するように採択されねばならない。次のような簡単な方法が使われた。まず、与えられた3D客体の閉じられたキューブを経た均一格子に細分する。スプラットのサイズは格子各々のセルに対して計算され、この値はセル内の点に対して使われる。計算は次のように実施される。
【0283】
【数12】
【0284】
このような方法はより正確な半径計算、より複雑なスプラット、アンチエーリアシングなどにより明確に改善される。しかし、このような簡単な方法も良好な見解品質を提供する。
【0285】
同じ方法がオクツリーイメージのレンダリングに適用される。ここでより粗いレベルの一つでオクツリーノードがスプラットサイズの前述した計算で使われる。しかし、オクツリーイメージに対して色相情報はボクセル集合より先にマッピングされねばならない。それぞれのボクセルは対応する参照イメージインデックスを有しているので、これは非常に容易に実施される。参照イメージでピクセル位置もオクツリーストリームのパーシング過程中に把握される。オクツリーイメージボクセルの色相が決定されればすぐにスプラットサイズが算定され、OpenGLに基づいたレンダリングが前述したように使われる。
【0286】
DIBRフォーマットがいくつかの3Dモデルに対して実施されてテストされた。モデルのうち一つ(“膽星台”)は実際に物理的な客体をスキャニングして得られ(Cyberware社のカラー3Dスキャナーが使われた)、ほかのものは3DS−MAXデモパッケージから変換された。テストはOpenGL加速器を装着した1.8GHz インテル(登録商標)ペンティアム(登録商標)IV上で実施された。
【0287】
多角形からDIBRフォーマットに変換する方法は後述し、その後、モデリング、表現、そして相異なるDIBRフォーマットの圧縮結果を記述する。大部分のデータは深さイメージ及びオクツリーイメージに関するものである。このようなフォーマットは動映像バージョンを有して効果的に圧縮されうる。提示されるモデルはいずれも直交カメラで構成された。これは直交カメラが一般的に‘小さな’客体を表現するのに適切な方法であるからである。距離がある環境の経済的なDIBR表現のために遠近カメラが大部分使われる。
【0288】
DIBRモデル生成は、十分な数のシンプルテクスチャーを得ることから始まる。現実世界の客体に対してこのようなデータがデジタルカメラとスキャニング装置から得られる一方、多角形客体に対してシンプルテクスチャーが計算される。次の段階は使用しようとするDIBRフォーマットに依存する。
【0289】
深さイメージは簡単に得られたシンプルテクスチャーの集合である。たとえ深さマップを圧縮された形式で貯蔵できたとしても、形態において小さな歪曲がたびたびかなり目立つので無損失圧縮だけ許容される。
【0290】
参照イメージは損失圧縮形式で貯蔵できるが、この場合に前処理が必要である。JPEG損失圧縮のような公知の方法を使用することは一般的に受容されうるが、特に、背景色相が‘客体’に散る地点である、客体と参照イメージの背景との境界による境界面の不良は生成された3次元客体画面でより目立つようになる。このような問題の解決方案は、ブロックの平均色相と強度の急速な減衰を利用して境界ブロックでイメージを背景に拡張した後、JPEG圧縮を適用することである。このような効果は、背景ピクセルはレンダリングに使われないため、歪曲を歪曲が影響を及ぼさない背景に‘スキージング’することと似ている。損失圧縮された参照イメージの内部境界もやはり不良をもたらすが、これは一般的にあまり目につかない。
【0291】
オクツリーイメージモデルを生成するために中間点基盤表現(Point Based Representation:PBR)を使用する。PBRを構成する点の集合は、参照イメージに存在するピクセルを対応する深さマップに規定された距離により遷移することによって得られた色相を有する点の集合である。元のシンプルテクスチャーは結果的なPBRが十分に正確な客体表面に対する推定を提供するように構成される。その後、PBRは図5に示したようなオクツリーイメージに変換され、このようなフォーマットにより賦課された制限を満足する新しい完全な参照イメージ集合を生成するために使われる。同時に、オクツリーボクセルに対する参照イメージインデックスを示す付加的なデータ構造ボクセルイメージインデックスが生成される。この時、参照イメージは損失フォーマットで貯蔵されねばならず、これらはまず以前の下位章で説明したように前処理される。さらに、TBVO構造は明白にボクセルイメージインデックスの体積をよりもっと縮めるので、重畳されるピクセルは捨てられ、これはボクセルイメージインデックスの体積をさらに縮める。元の参照イメージとJPEGフォーマットで処理された参照イメージの例が図29に図示されている。
【0292】
オクツリーイメージに対する損失圧縮による品質低下は無視できるほどである。しかし、時に深さイメージ客体に対しては依然として目につく。
【0293】
ポイントテクスチャーモデルは、前述したように参照平面への客体投影を利用して構成される。もし、これにより十分なサンプルが生成されていなければ(これは投影ベクターにほとんど垂直の表面部分に対する場合でありうる)、付加的なシンプルテクスチャーがより多くのサンプルを提供するために構成される。得られた点の集合はその後にポイントテクスチャー構造で再構成される。
【0294】
いくつかの多角形モデルのデータサイズとそれらのDIBRバージョンのサイズとの比較が表32に記載されている。モデル名称の数字は彼らの参照イメージの解像度(ピクセル単位)を意味する。表32は静的なDIBRモデル圧縮に対する比較表であり、モデルのサイズはキロバイト単位である。
【0295】
【表31】
【0296】
参照イメージは高品質JPEGで貯蔵される一方、深さイメージで深さマップはPNGフォーマットで貯蔵される。表32のデータは深さイメージモデルのサイズが得られた多角形モデルのサイズより常に小さいことではないといういことを示す。しかし、オクツリーイメージにより提供された圧縮は大体はるかに大きい。これは深さマップを一つの効率的に圧縮されたオクツリーデータ構造に統合した結果であるだけでなく、参照イメージから冗長ピクセルを除去する精巧な前処理の結果である。一方、深さイメージ構造は‘椰子’のような複雑な客体を難しい前処理なしに表現するための簡単で汎用的な手段を提供する。
【0297】
表33はオクツリーイメージの特定データを示し、このようなフォーマットに対して開発された圧縮効率の概念を説明する。表のエントリは、オクツリーとボクセルイメージインデックス成分を構成するモデルの圧縮された部分と圧縮されていない部分とのデータサイズである。このような部分の減少は2から2.5倍まで変わる。表33で“椰子”モデルは表32での“椰子”モデルと同じものではない(次の下位章の図面参照)。表33には、オクツリーイメージフォーマットでのオクツリーとボクセルイメージインデックスフィールドとの比較結果が記載されている。また、ファイルサイズはキロバイト単位で四捨五入した。
【0298】
【表32】
【0299】
レンダリング速度に関するデータを提示する。“椰子512”の深さイメージのレンダリング速度は約2fps(frame per second)である(21個の単純テクスチャーであることに注目)。大きさが512である参照イメージを有してテストされた他の静的モデルは5〜6fpsでレンダリングされる。レンダリング速度は場面の複雑度に従属的ではなく参照イメージの数と解像度に大部分従属的であることに注目せねばならない。これは多角形表現に対する重要な長所であり、特に動映像の場合に一層そうである。動映像オクツリーイメージの“ドラゴン512”は秒当たり24フレームで視覚化される。圧縮結果は次の通りである。
【0300】
−オクツリーとボクセルイメージインデックス成分の圧縮されたサイズ:910KB(各々696KB及び214KB)
−圧縮されたAVIフォーマットの6個の参照ビデオストリーム:1370KB
−全体データ容量:2280KB
【0301】
“天使256”の深さイメージモデルが図22に図示されている。図30〜図34は、いくつかの他のDIBRと多角形モデルを示す。図30は“モルトン”モデルの多角形及び深さイメージの外観を比較した図面である。深さイメージモデルはJPEGフォーマットの参照イメージを使用し、レンダリングは前述された最も簡単なスプラッティングにより実施されるが、イメージ品質はかなり良好である。図31は、スキャニングされた“膽星台”モデルの2つの異なるバージョンを比較した図面である。モデルの上段部分にある黒い点は入力データの不良に起因する。図15は、21個のシンプルテクスチャーよりなるより複雑な“椰子”モデルを示す。たとえ単純化されたスプラッティングを実行した結果として、一般的にリーフが3DS−MAXの元のイメージより広くなったが、良好な品質を示す。
【0302】
最後に、図33は、“ドラゴン512”オクツリーイメージアニメーションから3Dフレームを示す。図34は、ポイントテクスチャーフォーマットが優秀な品質のモデルを提供できることを示す。
【0303】
以下、図35ないし図54を参照して本発明による深さイメージに基づく3次元客体の表現装置及び方法の望ましい実施例について詳細に説明する。
【0304】
図35は、本発明による深さイメージに基づく3次元客体の表現装置に関する一実施例の構成を示すブロック図である。図35を参照すれば、深さイメージに基づく3次元客体の表現装置1800は視点情報生成部1810、前処理部1820、第1イメージ生成部1830、第2イメージ生成部1840、ノード生成部1850、及びエンコーディング部1860で構成される。
【0305】
視点情報生成部1810は少なくとも一つ以上の視点情報を生成する。視点情報は客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するフィールドは位置フィールド、方向フィールド、視野フィールド、投影方法フィールド、及び距離フィールドを含む。
【0306】
位置フィールド及び方向フィールド各々にはイメージ平面を眺める位置及び方向が記録される。位置フィールドに記録される位置は、イメージが存在する座標系の原点に対する相対的な位置であり、方向フィールドに記録される方向は所定の基準方向に対する相対的な回転量である。視野フィールドには位置からイメージ平面までの視野の幅と高さが記録される。
【0307】
投影方法フィールドには、位置及び方向により特定される視点からイメージ平面までの視野が水平角と垂直角で表示される直交投影方法と、視点からイメージ平面までの視野が幅と高さで表示される遠近投影方法のうち選択された投影方法が記録される。直交投影方法が選択された場合に視野フィールドに記録される視野の幅と高さは各々イメージ平面の幅と高さであり、遠近投影方法が選択された場合に視野フィールドに記録される視野の幅と高さは各々視点からイメージ平面に至る視線により形成される水平角及び垂直角である。
【0308】
距離フィールドには、位置及び方向により特定される視点から近い境界平面までの距離と遠い境界平面までの距離とが記録される。距離フィールドにより深さ情報の領域が規定される。
【0309】
第1イメージ生成部1830は、視点情報に対応して客体を構成するそれぞれのピクセル点の色相情報に基づいて色相イメージを生成する。アニメーション客体を生成するビデオフォーマットの場合に深さ情報及び色相情報は複数のイメージフレーム列である。第2イメージ生成部1840は視点情報に対応して客体を構成するそれぞれのピクセル点の深さ情報に基づいて深さイメージを生成する。ノード生成部1850は視点情報、視点情報に対応する色相イメージ及び深さイメージで構成されたイメージノードを生成する。
【0310】
前処理部1820は、色相イメージで客体と背景との境界に位置するピクセルを前処理する。図36には前処理部1820の詳細な構成が図示されている。図36を参照すれば、前処理部1820は拡散部1910と圧縮部1920とを有する。拡散部1910は、ブロックの平均色相と急速な強度の減衰を利用してブロックの境界に位置するピクセルの色相を背景に拡散する。圧縮部1920は、ブロックに基づいた圧縮を行って歪曲を背景に放出する。エンコーディング部1860は生成されたイメージノードをエンコーディングしてビットストリームを出力する。
【0311】
図37は、本発明による深さイメージに基づく3次元客体の表現方法に関する一実施例の遂行過程を示すフローチャートである。図37を参照すれば、視点情報生成部1810は客体を眺める視点に対する視点情報を生成する(S2000)。第1イメージ生成部1830は、視点情報に対応して客体を構成するそれぞれのピクセル点の色相情報に基づいて色相イメージを生成する(S2010)。第2イメージ生成部1840は視点情報に対応して客体を構成するそれぞれのピクセル点の深さ情報に基づいて深さイメージを生成する(S2020)。ノード生成部1850は、視点情報、視点情報に対応する深さイメージ及び色相イメージで構成されるイメージノードを生成する(S2030)。
【0312】
拡散部1910は、ブロックの境界に位置するピクセルの色相を背景に拡散する(S2040)。圧縮部1920はブロックに基づいた圧縮により歪曲を背景に放出する(S2050)。エンコーディング部1860はイメージノードをエンコーディングしてビットストリームを出力する(S2060)。
【0313】
図35ないし図37を参照して説明した深さイメージに基づく3次元客体の表現装置及び方法は、シンプルテクスチャー(SimpleTexture)による客体表現に適用され、シンプルテクスチャーの構造は図26に図示されている。
図38は、本発明による深さイメージに基づく3次元客体の表現装置に対する他の実施例の構成を示すブロック図である。
【0314】
図38を参照すれば、深さイメージに基づく3次元客体の表現装置2100はサンプリング部2110、視点情報生成部2120、平面情報生成部2130、深さ情報生成部2140、色相情報生成部2150、及びノード生成部2160で構成される。
【0315】
サンプリング部2110は、客体を参照平面に投射してイメージ平面に対するサンプルを生成する。イメージ平面に対するサンプルは色相イメージ及び深さイメージで構成されたイメージ対で構成される。
【0316】
視点情報生成部2120は、客体を眺める視点に関する視点情報を生成する。視点情報は客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するフィールドは位置フィールド、方向フィールド、視野フィールド、投影方法フィールド、及び距離フィールドを含む。
【0317】
位置及び方向フィールドには各々イメージ平面を眺める位置及び方向が記録される。位置及び方向により視点が特定される。視野フィールドには視点からイメージ平面までの視野の幅と高さが記録される。投影方法フィールドには視点からイメージ平面までの視野が水平角と垂直角で表示される直交投影方法と、視点からイメージ平面までの視野が幅と高さで表示される遠近投影方法とのうち選択された投影方法が記録される。距離フィールドには視点から近い境界平面までの距離と、遠い境界平面までの距離とが記録される。距離フィールドにより深さ情報の領域が規定される。
【0318】
平面情報生成部2130は、視点情報に対応するイメージ平面に対するサンプルから得られた点集合で構成されるイメージ平面の幅、高さ、及び深さを規定する平面情報を生成する。平面情報は複数のフィールドで構成される。平面情報を構成するフィールドはイメージ平面の幅が記録される第1フィールド、イメージ平面の高さが記録される第2フィールド、及び深さ情報の解像度が記録される深さ解像度フィールドを含む。
【0319】
深さ情報生成部2140は、イメージ平面の各点に投射された客体のあらゆる投射点に対する深さが記録された深さ情報列を生成する。色相情報生成部2150はそれぞれの投射点に対する色相情報列を生成する。深さ情報列には投射点の数とそれぞれの投射点の深さ値とが順次に記録され、色相情報列には投射点各々に対する深さ値に対応する色相値が順次に記録される。
【0320】
ノード生成部2160はイメージ平面に対応する平面情報、深さ情報列及び色相情報列で構成されるノードを生成する。
【0321】
図39は、本発明による深さイメージに基づく3次元客体の表現方法に関する他の実施例の遂行過程を示すフローチャートである。図39を参照すれば、視点情報生成部2120は客体を眺める視点に関する視点情報を生成する(S2200)。平面情報生成部2130は視点情報に対応してイメージ平面の幅、高さ、及び深さを規定する平面情報を生成する(S2210)。サンプリング部2110は客体をイメージ平面に投影して平面に対するサンプルを生成する(S2220)。S2220段階はイメージ平面に対するより多くのサンプルを提供するために遂行され、イメージ平面が十分な場合には遂行されない。
【0322】
深さ情報生成部2140は、イメージ平面の各点に投射された客体のあらゆる投射点に対する深さが記録された深さ情報列を生成する(S2230)。色相情報生成部2150はそれぞれの投射点に対する色相情報列を生成する(S2240)。ノード生成部2160はイメージ平面に対応する平面情報、深さ情報列及び色相情報列で構成されるノードを生成する(S2250)。
【0323】
図38及び図39を参照して説明した深さイメージに基づく3次元客体の表現装置及び方法は、ポイントテクスチャー(PointTexture)による客体表現に適用される。ポイントテクスチャーの構造は図26に図示されている。
【0324】
図40は、本発明による深さイメージに基づく3次元客体の表現装置に対するさらに他の実施例の構成を示すブロック図である。図40を参照すれば、深さイメージに基づく3次元客体の表現装置2300は前処理部2310、参照イメージ決定部2320、形態情報生成部2330、インデックス生成部2340、ノード生成部2350、及びエンコーディング部2360で構成される。
【0325】
前処理部2310は参照イメージを前処理する。前処理部2310の詳細な構成が図41に図示されている。図41を参照すれば、前処理部2310は拡散部2410及び圧縮部2420を有する。拡散部2410は、ブロックの平均色相と急速な強度の減衰を利用して参照イメージで客体と背景との境界に位置するピクセルの色相を背景に拡散する。圧縮部2420は、参照イメージに対してブロックに基づいた圧縮を行って歪曲を背景に放出する。
【0326】
参照イメージ決定部2320は、形態情報生成部2330により分割されたキューブ各々に対して色相イメージを含む参照イメージを決定する。参照イメージは、視点情報と視点情報に対応する色相イメージとで構成される深さイメージノードである。この時、視点情報は前記客体に対するイメージ平面を規定する複数のフィールドで構成される。視点情報を構成するそれぞれのフィールドは前述した通りであるので詳細な説明は省略する。一方、深さイメージノードに含まれる色相イメージはシンプルテクスチャーまたはポイントテクスチャーになりうる。
【0327】
形態情報生成部2330は客体を含むオクツリーを8個の下位キューブに分割し、分割された下位キューブを子ノードと規定して客体に対する形態情報を生成する。形態情報生成部2330は、分割された下位キューブのサイズが所定の基準サイズより小さくなるまで下位キューブへの分割過程を反復的に実施する。形態情報はキューブの側面に沿って存在するオクツリーリーフの最大個数が記録される解像度フィールド、オクツリーの内部ノードの構造を示す配列が記録されるオクツリーフィールド、及びオクツリーの内部ノードに対応される参照イメージのインデックスが記録されるインデックスフィールドを含む。
【0328】
インデックス生成部2340は、形態情報に対応する参照イメージのインデックス情報を生成する。図42にはインデックス生成部2340の詳細な構成が図示されている。図42を参照すれば、インデックス生成部2340は色相点生成部2510、PBR生成部2520、イメージ変換部2530、及びインデックス情報生成部2540を有する。
【0329】
色相点生成部2510は、参照イメージに存在するピクセルを対応する深さマップに規定された距離だけ移動させて色相点を生成する。PBR生成部2520は色相点の集合により中間的なPBRイメージを生成する。イメージ変換部2530は、PBRイメージをそれぞれの点に対応するキューブにより表現したイメージのオクツリーイメージに変換する。インデックス情報生成部2540は、それぞれのキューブに対応する参照イメージのインデックス情報を生成する。
【0330】
ノード生成部2350は、形態情報、インデックス情報及び参照イメージで構成されるオクツリーノードを生成する。
【0331】
エンコーディング部2360は、オクツリーノードをエンコーディングしてビットストリームを出力する。エンコーディング部2360の詳細な構成が図43に図示されている。図43を参照すれば、エンコーディング部2360は文脈決定部2610、第1エンコーディング部2620、第2エンコーディング部2630、及び第3エンコーディング部2640、シンボルバイト記録部2650、及びイメージインデックス記録部2660で構成される。
【0332】
文脈決定部2610は、オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対する文脈を決定する。第1エンコーディング部2620は、22個のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから512個のノードをエンコーディングする。第1エンコーディング部2620は均一な分布からエンコーディングを始める。
【0333】
第2エンコーディング部2630は、親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して512番目ノードから2048番目ノードまでのノードをエンコーディングする。第2エンコーディング部2630は0−文脈モデルから1−文脈モデルへの転換時、0−文脈モデルの確率テーブルをあらゆる1−文脈モデルの確率テーブルに複写する。図44には第2エンコーディング部2630の詳細な構成が図示されている。
【0334】
図44を参照すれば、第2エンコーディング部2630は確率検索部2710、算術コーダ2720、及びテーブル更新部2730で構成される。確率検索部2710は、文脈に対応する確率テーブルから文脈での現在ノードの発生確率を検索する。算術コーダ2720は検索された確率を含む確率列によりオクツリーを圧縮する。テーブル更新部2730は、現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する。
【0335】
第3エンコーディング部2640は、親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して2048番目以後のノードをエンコーディングする。第3エンコーディング部2640は1−文脈モデルから2−文脈モデルへの転換時、親ノードパターンに対する1−文脈モデルの確率テーブルを同じ親ノードパターンでのそれぞれの位置に対応する2−文脈モデルの確率テーブルに複写する。図45には、第3エンコーディング部2640の詳細な構成が図示されている。
【0336】
図45を参照すれば、第3エンコーディング部2640は第1検索部2810、第1検出部2820、第2検索部2830、パターン生成部2840、第2検出部2850、算術コーダ2860、及びテーブル更新部2870で構成される。
【0337】
第1検索部2810は、現在ノードの親ノードを検索する。第1検出部2820は、検索された親ノードが属するクラスを検出して親ノードを検出されたクラスの標準ノードに変換する変換を検出する。第2検索部2830は、親ノードに検出された変換を適用して現在ノードがマッピングされている変換された親ノードで現在ノードの位置を検索する。パターン生成部2840は、現在ノードに検出された変換を適用して検出されたクラスと現在ノードの位置インデックスとの結合に該当するパターンを生成する。第2検出部2850は、検出されたクラスと位置とで構成される組合わせに対応する確率テーブルのエントリから必要な確率を検出する。算術コーダ2860は、第2検出部2850から入力された確率列によりオクツリーを圧縮する。テーブル更新部2870は、現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する。
【0338】
シンボルバイト記録部2650は、現在ノードがリーフノードではない場合に現在ノードに対応するシンボルバイトをビットストリームに記録する。その後、現在ノードのあらゆる子ノードが同じ参照イメージインデックスを有しており、現在ノードの親ノードが“未定の”参照イメージインデックスを有していれば、イメージインデックス記録部2660は現在ノードの下位ノードに対して同じ参照イメージインデックスをビットストリームに記録する。もし、現在ノードの子ノードが相異なる参照イメージインデックスを有していれば、イメージインデックス記録部2660は、現在ノードの下位ノードに対して“未定の”参照イメージインデックスを記録する。
【0339】
図46は、本発明による深さイメージに基づく3次元客体の表現方法に関する他の実施例の実施過程を示すフローチャートである。図46を参照すれば、形態情報生成部2330は、客体を含むオクツリーを下位キューブに分割して客体に対する形態情報を生成する(S2900)。形態情報は、キューブの側面に沿って存在するオクツリーリーフの最大個数が記録される解像度フィールド、オクツリーの内部ノードの構造を表す配列が記録されるオクツリーフィールド、及びオクツリーの内部ノードに対応される参照イメージのインデックスが記録されるインデックスフィールドで構成される。内部ノード各々はバイトで表現され、内部ノードに属する子ノードに対する下位子ノードの存在如何はバイトを構成するビット列に記録されるノード情報により表現される。下位キューブへの分割過程は、分割されたキューブのサイズが所定の基準サイズ(この値は実験的に決定できる)より大きければ分割されたキューブを再び8個に分割する(S2910)。
【0340】
参照イメージ決定部2320は、分割されたキューブ各々に対して色相イメージを含む参照イメージを決定する(S2920)。参照イメージは、視点情報と、視点情報に対応する色相イメージとで構成される深さイメージノードである。視点情報の構成は前述した通りである。一方、参照イメージに対して前処理過程が行われうる。
【0341】
図47は、参照イメージに対する前処理過程のフローチャートである。図47を参照すれば、ブロックの平均色相と急速な強度の減衰を利用して参照イメージで客体と背景との境界に位置するピクセルの色相を背景に拡散する(S3000)。そして、参照イメージに対してブロックに基づいた圧縮を行って歪曲を背景に放出する(S3010)。
【0342】
インデックス生成部2340は、形態情報に対応する参照イメージのインデックス情報を生成する(S2930)。図48には、インデックス生成段階の遂行過程が図示されている。図48を参照すれば、色相点生成部2510は参照イメージに存在するピクセルを対応する深さマップに規定された距離だけ移動させて色相点を生成する(S3100)。PBR生成部2520は、色相点の集合により中間的なPBRイメージを生成する(S3110)。イメージ変換部2530は、PBRイメージをそれぞれの点に対応するキューブにより表現したイメージのオクツリーイメージに変換する(S3120)。インデックス情報生成部2540はそれぞれのキューブに対応する参照イメージのインデックス情報を生成する(S3130)。
【0343】
ノード生成部2350は、形態情報、インデックス情報、及び参照イメージで構成されるオクツリーノードを生成する(S2940)。
【0344】
エンコーディング部2360は、オクツリーノードをエンコーディングしてビットストリームを出力する(S2950)。
【0345】
図49は、エンコーディング段階の遂行過程を示すフローチャートである。図49を参照すれば、文脈決定部2610は、オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対する文脈を決定する(S3200)。現在ノードが512番目以下の場合に(S3210)、0−文脈モデル及び算術コーディングを利用して第1エンコーディング段階を遂行する(S3220)。現在ノードが512番目を超過すれば(S3210)、現在ノードに対する文脈を決定した後(S3230)、2048番目ノードに到達するまで1−文脈モデル及び算術コーディングを利用して第2エンコーディング段階を遂行する(S3240)。現在ノードが2048番目を超過すれば(S3250)、現在ノードに対する文脈を決定した後(S3260)、2−文脈モデル及び算術コーディングを利用して第3エンコーディング段階を遂行する(S3270)。
【0346】
この時、0−文脈は文脈と独立的であり、1−文脈は親ノードのクラスである。一方、クラスの全体個数は22であり、基本変換により生成される直交変換Gにより連結される時、二つのノードが同じクラスに属する。基本変換は次の通りである。
【0347】
【数13】
【0348】
図50は、第2エンコーディング段階の遂行過程を示すフローチャートである。図50を参照すれば、確率検索部2710は文脈に対応する確率テーブルから文脈での現在ノードの発生確率を検索する(S3300)。算術コーダ2720は検索された確率を含む確率列によりオクツリーを圧縮する(S3310)。テーブル更新部2730は現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する(S3320)。
【0349】
図51は、第3エンコーディング段階の遂行過程を示すフローチャートである。図51を参照すれば、第1検索部2810は現在ノードの親ノードを検索する(S3400)。第1検出部2820は、検索された親ノードが属するクラスを検出して親ノードを検出されたクラスの標準ノードに変換する変換を検出する(S3410)。第2検索部2830は、親ノードに検出された変換を適用して現在ノードがマッピングされている変換された親ノードで前記現在ノードの位置を検索する(S3420)。パターン生成部2840は、現在ノードに検出された変換を適用して検出されたクラスと現在ノードの位置インデックスとの結合に当たるパターンを生成する(S3430)。第2検出部2850は検出されたパターンに対応する確率テーブルのエントリから必要な確率を検出する(S3440)。算術コーダ2860は第2検出部2850から入力された確率列によりオクツリーを圧縮する(S3450)。テーブル更新部2870は現在文脈での現在ノードの発生頻度に所定の増分(例えば、1)を加えて確率テーブルを更新する(S3460)。
【0350】
図52は、エンコーディング段階で遂行されるオクツリーノードに対するビットストリームの生成過程を示すフローチャートである。図35を参照すれば、現在ノードがリーフノードではない場合(S3500)、シンボルバイト記録部2650は現在ノードに対応するシンボルバイトをビットストリームに記録して(S3510)S3520段階に進む。現在ノードがリーフノードであれば、S3510段階を遂行せずに直ちにS3520段階に進む。
【0351】
現在ノードのあらゆる子ノードが同じ参照イメージインデックスを有しており、現在ノードの親ノードが“未定の”参照イメージインデックスを有していれば(S3520)、イメージインデックス記録部2660は、現在ノードの下位ノードに対して同じ参照イメージインデックスをビットストリームに記録する(S3530)。もし、現在ノードの子ノードが相異なる参照イメージインデックスを有していれば(S3520)、イメージインデックス記録部2660は現在ノードの下位ノードに対して“未定の”参照イメージインデックスを記録する(S3540)。
【0352】
図53は、本発明による深さイメージに基づく3次元客体の表現装置に関するさらに他の実施例の構成を示すブロック図であり、図54は、本発明による深さイメージに基づく3次元客体の表現方法に関するさらに他の実施例の遂行過程を示すフローチャートである。
【0353】
図53及び図54を参照すれば、本発明による深さイメージに基づく3次元客体の表現装置3600は入力部3610、第1抽出部3620、デコーディング部3630、第2抽出部3540、及び客体表現部3650で構成される。
【0354】
入力部3610は外部装置からビットストリームを入力される(S3700)。第1抽出部3620は入力されたビットストリームからオクツリーノードを抽出する(S3710)。
【0355】
デコーディング部3630は抽出されたオクツリーノードをデコーディングする(S3720)。デコーディング部3630は文脈決定部、第1デコーディング部、第2デコーディング部、及び第3デコーディング部を具備する。デコーディング部3630を構成するそれぞれの構成要素は図43ないし図45そして図49ないし図52を参照して説明したエンコーディング部の対応する構成要素と同一なので詳細な説明は省略する。
【0356】
第2抽出部3640は、デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する(S3730)。客体表現部3650は、抽出された形態情報に対応する抽出された参照イメージを組合わせて客体を表現する(S3740)。
【0357】
本発明はまたコンピュータで読出しできる記録媒体にコンピュータが読めるコードとして具現することが可能である。コンピュータが読出しできる記録媒体は、コンピュータシステムによって読めるデータが貯蔵されるあらゆる記録装置を含む。コンピュータが読出しできる記録媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フレキシブルディスク、光データ貯蔵装置などがあり、またキャリヤウェーブ(例えば、インターネットを通した伝送)の形態に具現されるものも含む。またコンピュータが読出しできる記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて分散方式でコンピュータが読めるコードが貯蔵されて実行される。
【0358】
以上、本発明の望ましい実施例について図示及び説明したが、本発明は前述した特定の望ましい実施例に限定されず、特許請求の範囲で請求する本発明の要旨を外れずに、当業者であれば、誰でも多様な変形実施が可能であることはもちろんであり、そのような変更は特許請求の範囲の記載範囲内にある。
【符号の説明】
【0359】
2300 深さイメージに基づく3次元客体の表現装置
2320 参照イメージ決定部
2330 形態情報生成部
2340 インデックス生成部
2350 ノード生成部
2360 エンコーディング部
【特許請求の範囲】
【請求項1】
客体を含むオクツリーの各ノードである下位キューブを子ノードと規定して前記客体に対する形態情報を生成する形態情報生成部と、
前記キューブ各々に対して時点情報と前記時点情報に対応する色相イメージを含む参照イメージを決定する参照イメージ決定部と、
前記形態情報に対応する前記参照イメージのインデックス情報を生成するインデックス生成部と、
前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成するノード生成部と、
前記オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部と、を含み、
前記形態情報生成部は、前記下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施することを特徴とする深さイメージに基づく3次元客体の表現装置であって、
前記エンコーディング部は、
前記オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する文脈決定部と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから第1所定個数のノードをエンコーディングする第1エンコーディング部と、
親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをエンコーディングする第2エンコーディング部と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して前記第2所定個数以後の残りのノードをエンコーディングする第3エンコーディング部と、を含むことを特徴とする深さイメージに基づく3次元客体の表現装置。
【請求項2】
深さイメージに基づく3次元客体の表現装置が、
客体を含むオクツリーの各ノードである下位キューブを子ノードと規定して前記客体に対する形態情報が形態情報生成部により生成される段階と、
前記キューブ各々に対して時点情報と前記時点情報に対応する色相イメージを含む参照イメージが参照イメージ決定部により決定される段階と、
前記形態情報に対応する前記参照イメージのインデックス情報がインデックス生成部により生成される段階と、
前記形態情報、前記インデックス情報、及び前記参照イメージで構成されるオクツリーノードがノード生成部により生成される段階と、
エンコーディング部により前記オクツリーノードをビットストリームにエンコーディングする段階とを含み、
前記形態情報生成段階は、前記下位キューブのサイズが所定の基準サイズより小さくなるまで前記下位キューブへの分割過程を反復的に実施する深さイメージに基づく3次元客体の表現方法であって、
前記エンコーディング段階は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する段階と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから第1所定個数のノードをエンコーディングする第1エンコーディング段階と、
親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをエンコーディングする第2エンコーディング段階と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して前記第2所定個数以後の残りのノードをエンコーディングする第3エンコーディング段階と、を含むことを特徴とする深さイメージに基づく3次元客体の表現方法。
【請求項3】
ビットストリームを入力される入力部と、
前記ビットストリームからオクツリーノードを抽出する第1抽出部と、
前記オクツリーノードをデコーディングするデコーディング部と、
前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する第2抽出部と、
前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する客体表現部とを含む深さイメージに基づく3次元客体の表現装置であって、
前記デコーディング部は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する文脈決定部と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術デコーディングを利用して最初のノードから第1所定個数のノードをデコーディングする第1デコーディング部と、
親ノードを文脈として使用しながら1−文脈モデル及び算術デコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをデコーディングする第2デコーディング部と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術デコーディングを利用して前記第2所定個数以後の残りのノードをデコーディングする第3デコーディング部と、を含むことを特徴とする深さイメージに基づく3次元客体の表現装置。
【請求項4】
深さイメージに基づく3次元客体の表現装置が、
入力部によりビットストリームが入力される段階と、
第1抽出部により前記ビットストリームからオクツリーノードが抽出される段階と、
デコーディング部により前記オクツリーノードがデコーディングされる段階と、
前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージが第2抽出部により抽出される段階と、
客体表現部により前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体が表現される段階と、を含む深さイメージに基づく3次元客体の表現方法であって、
前記デコーディング段階は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次の ノードの予測のための文脈を決定する段階と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術デコーディングを利用して最初ノードから第1所定個数のノードをデコーディングする第1デコーディング段階と、
親ノードを文脈として使用しながら1−文脈モデル及び算術デコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをデコーディングする第2デコーディング段階と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術デコーディングを利用して前記第2所定個数以後の残りのノードをデコーディングする第3デコーディング段階と、を含むことを特徴とする深さイメージに基づく3次元客体の表現方法。
【請求項1】
客体を含むオクツリーの各ノードである下位キューブを子ノードと規定して前記客体に対する形態情報を生成する形態情報生成部と、
前記キューブ各々に対して時点情報と前記時点情報に対応する色相イメージを含む参照イメージを決定する参照イメージ決定部と、
前記形態情報に対応する前記参照イメージのインデックス情報を生成するインデックス生成部と、
前記形態情報、前記インデックス情報及び前記参照イメージで構成されるオクツリーノードを生成するノード生成部と、
前記オクツリーノードをエンコーディングしてビットストリームを出力するエンコーディング部と、を含み、
前記形態情報生成部は、前記下位キューブの大きさが所定の基準大きさより小さくなるまで前記下位キューブへの分割過程を反復的に実施することを特徴とする深さイメージに基づく3次元客体の表現装置であって、
前記エンコーディング部は、
前記オクツリーノードに対するエンコーディング回数に基づいてオクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する文脈決定部と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから第1所定個数のノードをエンコーディングする第1エンコーディング部と、
親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをエンコーディングする第2エンコーディング部と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して前記第2所定個数以後の残りのノードをエンコーディングする第3エンコーディング部と、を含むことを特徴とする深さイメージに基づく3次元客体の表現装置。
【請求項2】
深さイメージに基づく3次元客体の表現装置が、
客体を含むオクツリーの各ノードである下位キューブを子ノードと規定して前記客体に対する形態情報が形態情報生成部により生成される段階と、
前記キューブ各々に対して時点情報と前記時点情報に対応する色相イメージを含む参照イメージが参照イメージ決定部により決定される段階と、
前記形態情報に対応する前記参照イメージのインデックス情報がインデックス生成部により生成される段階と、
前記形態情報、前記インデックス情報、及び前記参照イメージで構成されるオクツリーノードがノード生成部により生成される段階と、
エンコーディング部により前記オクツリーノードをビットストリームにエンコーディングする段階とを含み、
前記形態情報生成段階は、前記下位キューブのサイズが所定の基準サイズより小さくなるまで前記下位キューブへの分割過程を反復的に実施する深さイメージに基づく3次元客体の表現方法であって、
前記エンコーディング段階は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する段階と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術エンコーディングを利用して最初のノードから第1所定個数のノードをエンコーディングする第1エンコーディング段階と、
親ノードを文脈として使用しながら1−文脈モデル及び算術エンコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをエンコーディングする第2エンコーディング段階と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術コーディングを利用して前記第2所定個数以後の残りのノードをエンコーディングする第3エンコーディング段階と、を含むことを特徴とする深さイメージに基づく3次元客体の表現方法。
【請求項3】
ビットストリームを入力される入力部と、
前記ビットストリームからオクツリーノードを抽出する第1抽出部と、
前記オクツリーノードをデコーディングするデコーディング部と、
前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージを抽出する第2抽出部と、
前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体を表現する客体表現部とを含む深さイメージに基づく3次元客体の表現装置であって、
前記デコーディング部は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次のノードの予測のための文脈を決定する文脈決定部と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術デコーディングを利用して最初のノードから第1所定個数のノードをデコーディングする第1デコーディング部と、
親ノードを文脈として使用しながら1−文脈モデル及び算術デコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをデコーディングする第2デコーディング部と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術デコーディングを利用して前記第2所定個数以後の残りのノードをデコーディングする第3デコーディング部と、を含むことを特徴とする深さイメージに基づく3次元客体の表現装置。
【請求項4】
深さイメージに基づく3次元客体の表現装置が、
入力部によりビットストリームが入力される段階と、
第1抽出部により前記ビットストリームからオクツリーノードが抽出される段階と、
デコーディング部により前記オクツリーノードがデコーディングされる段階と、
前記デコーディングされたオクツリーノードからオクツリーを構成する複数のキューブに対する形態情報及び参照イメージが第2抽出部により抽出される段階と、
客体表現部により前記抽出された形態情報に基づいて前記抽出された参照イメージを組合わせて客体が表現される段階と、を含む深さイメージに基づく3次元客体の表現方法であって、
前記デコーディング段階は、
前記オクツリーノードに対するエンコーディング回数に基づいて前記オクツリーの現在ノードに対して以前ノードによる次の ノードの予測のための文脈を決定する段階と、
所定個数のエントリを保有した一つの確率テーブルを維持しながら0−文脈モデル及び算術デコーディングを利用して最初ノードから第1所定個数のノードをデコーディングする第1デコーディング段階と、
親ノードを文脈として使用しながら1−文脈モデル及び算術デコーディングを利用して前記第1所定個数以後のノードから第2所定個数のノードをデコーディングする第2デコーディング段階と、
前記親ノード及び子ノードのパターンを文脈として使用しながら2−文脈モデル及び算術デコーディングを利用して前記第2所定個数以後の残りのノードをデコーディングする第3デコーディング段階と、を含むことを特徴とする深さイメージに基づく3次元客体の表現方法。
【図2】
【図3】
【図4】
【図6】
【図14】
【図21】
【図24】
【図25】
【図26】
【図27】
【図28】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図1】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図22】
【図23】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図3】
【図4】
【図6】
【図14】
【図21】
【図24】
【図25】
【図26】
【図27】
【図28】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図1】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図22】
【図23】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2010−218588(P2010−218588A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2010−157343(P2010−157343)
【出願日】平成22年7月9日(2010.7.9)
【分割の表示】特願2006−204014(P2006−204014)の分割
【原出願日】平成14年11月27日(2002.11.27)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成22年7月9日(2010.7.9)
【分割の表示】特願2006−204014(P2006−204014)の分割
【原出願日】平成14年11月27日(2002.11.27)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】
[ Back to top ]