(57)【特許請求の範囲】
【請求項１】
（ａ）ポイントテクスチャデータと、ボクセルデータと、オクツリーデータとのうちの少なくとも一つを含んで構成される３次元体積データを、3次元体積データ符号化装置の適応オクツリーデータ生成部によって中間ノードに所定のラベルが付与された適応オクツリーデータに変換する段階と、
（ｂ）前記適応オクツリーのノードを、該3次元体積データ符号化装置のノード符号化部が符号化する段階と、
（ｃ）前記（ｂ）段階における符号化により得られるデータから、該3次元体積データ符号化装置のビットストリーム生成部によってビットストリームを生成する段階と
からなり、
前記（ａ）段階は、
前記３次元体積データ符号化装置の３次元体積データ入力部によって、ポイントテクスチャデータ及びボクセルデータをオクツリーデータに変換する段階と、
該３次元体積データ符号化装置のオクツリー変換部によって、前記オクツリーデータを、中間ノードに所定のラベルが付与された適応オクツリーに変換する段階とを備え、
前記（ａ）段階の適応オクツリーデータ変換は、
３次元バウンディングボリュームを用いて、３次元体積データをボクセルデータに変換する段階と、
３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルと、ボクセルの空間がない位置を、前記ノード符号化部によって前記所定のラベルを付して区別する段階と
を備え、
前記所定のラベルは、前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、該ノードはＳノードと設定され、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、該ノードはＷノードと設定され、前記物体を含むボクセルより構成される場合は「Ｂ」であり、該ノードはＢノードと設定され、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、該ノードはＰノードと設定され、前記ノードのボクセルの空間がない場合は「Ｅ」であり、該ノードはＥノードと設定される
ことを特徴とする３次元体積データ符号化方法。
【請求項２】
前記（ｂ）段階は、
（ｂ１）前記ノード符号化部のノード順序選択部によって前記適応オクツリーの各ノードの符号化の順序を決定する段階と、
（ｂ２）前記ノード符号化部のノードＳＯＰ選択部によって前記ノードの各々を、ＳノードとＰノードとのうちの何れに符号化するのかを示すノード種類情報を設定する段階と、
（ｂ３）前記ノード種類情報がＳノードであれば、前記ノード符号化部のＳノード符号化部がＳノードの詳細情報を符号化し、Ｐノードであれば、前記ノード符号化部のＰノード符号化部がＰノードの詳細情報を符号化する段階と
を含むことを特徴とする請求項１に記載の３次元体積データ符号化方法。
【請求項３】
前記（ｂ１）段階は、
３次元物体の適応オクツリーの前記ラベルを参照して、トップダウン方式で、ルートノードから一つずつ幅優先探索方式で符号化するノードを決定する
ことを特徴とする請求項２に記載の３次元体積データ符号化方法。
【請求項４】
前記（ｂ２）段階は、
（ｂ２−１）Ｓノードに符号化する場合のエントロピと、Ｐノードに符号化する場合のエントロピとを求め、求めたエントロピが小さい方のノードに符号化することを決定する段階と、
（ｂ２−２）前記（ｂ２−１）段階において決定されたノードのラベルのＡＡＣ符号化を行う段階と
を備えることを特徴とする請求項３に記載の３次元体積データ符号化方法。
【請求項５】
前記（ｂ３）段階のＳノード符号化では、
色情報の平均値とサブノードのラベルとを符号化し、
前記色情報の符号化は、現在ノードの領域にあるボクセルの平均色であるＲ、Ｇ、Ｂ値をＡＡＣで符号化し、
下位ノードラベル符号化は、現在ノードの下位ノードのラベルであるＢ（Ｂｌａｃｋ）またはＷ（Ｗｈｉｔｅ）の値をＡＡＣ符号化することを特徴とする請求項４に記載の３次元体積データ符号化方法。
【請求項６】
前記（ｂ３）段階のＰノード符号化では、
深さ情報及び色情報を符号化し、
前記深さ情報の符号化は、所定の個数のコンテキストを使用して、該当ノードの総てのサブノードをラスタースキャン順序でＰＰＭ符号化またはＡＡＣ符号化を行い、
前記色情報符号化は、現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値をＤＰＣＭ符号化、及びＡＡＣ符号化することにより行われる
ことを特徴とする請求項４に記載の３次元体積データ符号化方法。
【請求項７】
前記（ｃ）段階は、
前記符号化されたデータ及び３次元物体のバウンディングボリュームの解像度  情報を、ビットストリームに生成し、
前記ビットストリームは、ノード符号化時に、開始ノードから特定ノードまで符号化する損失符号化方式と、最初のノードから最後のノードまで何れも符号化する無損失符号化方式とを支援するビットストリームであることを特徴とする請求項１に記載の３次元体積データ符号化方法。
【請求項８】
ポイントテクスチャデータと、ボクセルデータと、オクツリーデータとのうちの少なくとも一つを含んで構成される３次元体積データを、中間ノードに所定のラベル番号が付与された適応オクツリーデータに変換する適応オクツリー生成部と、
前記適応オクツリーのノードを符号化するノード符号化部と、
前記ノード符号化部で符号化されたデータからビットストリームを生成するビットストリーム生成部と
を含み、
前記適応オクツリー生成部は、
ポイントテクスチャデータ及びボクセルデータからなる３次元体積データをオクツリーに変換する３次元体積データ入力部と、
前記オクツリーを、中間ノードに所定のラベルが付与された適応オクツリーデータに変換するオクツリー変換部と
を備え、
前記適応オクツリーデータは、
前記３次元体積データを、３次元バウンディングボリュームを用いて変換することで得られるデータであり、
前記適応オクツリーデータでは、３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルと、ボクセルの空間がない位置とが、所定のラベルを付けて区分され、
前記所定のラベルは、
前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、該ノードはＳノードと設定され、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、該ノードはＷノードと設定され、前記物体を含むボクセルより構成される場合は「Ｂ」であり、該ノードはＢノードと設定され、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、該ノードはＰノードと設定され、前記ノードのボクセルの空間がない場合は「Ｅ」であり、該ノードはＥノードと設定される、
ことを特徴とする３次元体積データ符号化装置。
【請求項９】
前記ノード符号化部は、
前記適応オクツリーの各ノードの符号化の順序を決定するノード順序選択部と、
前記ノードの各々を、ＳノードとＰノードとのうちの何れに符号化するのかを決定するノードＳＯＰ選択部と、
Ｓノードに符号化する場合には、Ｓノードの詳細情報を符号化するＳノード符号化部と、
Ｐノードに符号化する場合には、Ｐノードの詳細情報を符号化するＰノード符号化部と
を含むことを特徴とする請求項８に記載の３次元体積データ符号化装置。
【請求項１０】
前記ノード順序選択部は、
前記３次元物体の適応オクツリーの前記ラベルを参照して、トップダウン方式で、ルートノードから一つずつ幅優先探索方式で符号化するノードを決定する
ことを特徴とする請求項９に記載の３次元体積データ符号化装置。
【請求項１１】
前記ノードＳＯＰ選択部は、
Ｓノードに符号化する場合のエントロピと、Ｐノードに符号化する場合のエントロピとを求め、求めたエントロピが小さい方のノードに決定し、
決定されたノードのラベルのＡＡＣで符号化を行う
ことを特徴とする請求項９に記載の３次元体積データ符号化装置。
【請求項１２】
前記Ｓノード符号化部は、
色情報の平均値とサブノードのラベルとを符号化し、
前記Ｐノード符号化部は、
深さ情報と色情報とを符号化する
ことを特徴とする請求項９に記載の３次元体積データ符号化装置。
【請求項１３】
前記ビットストリーム生成部は、
３次元物体のバウンディングボリュームの解像度情報を含み、ノード符号化の際に開始ノードから特定ノードまでを符号化する損失符号化方式と、開始ノードから終了ノードまでの総てのノードを符号化する無損失符号化方式とを採用するビットストリームを生成する
ことを特徴とする請求項８に記載の３次元体積データ符号化装置。
【請求項１４】
（１）３次元体積データ復号化装置のビットストリーム読み取り部によって、３次元体積データのビットストリームからツリーを構成するノードを読み取る段階と、
（２）該３次元体積データ復号化装置のノード復号化部によって、読み取られたノードを復号化する段階と、
（３）該３次元体積データ復号化装置の適応オクツリー復元部によって、前記復号化されたノードから適応オクツリーを復元する段階と、
（４）該３次元体積データ復号化装置のデータ復号化部によって、前記適応オクツリーからオクツリーと、ボクセルと、ポイントテクスチャデータとのうちの何れか一つのデータを復元する段階と
を含み、
前記（３）段階の適応オクツリーのデータ復元に際し、
物体が存在する位置のボクセルと、物体が存在しない位置のボクセルとが、所定のラベルにより区別され、
前記所定のラベルは、前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、該ノードはＳノードと設定され、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、該ノードはＷノードと設定され、前記物体を含むボクセルより構成される場合は「Ｂ」であり、該ノードはＢノードと設定され、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、該ノードはＰノードと設定され、前記ノードのボクセルの空間がない場合は「Ｅ」であり、該ノードはＥノードと設定される、
ことを特徴とする３次元体積データ復号化方法。
【請求項１５】
前記（１）段階は、
前記ビットストリーム読み取り部によって３次元物体のバウンディングボリュームの解像度情報を読み取る段階をさらに備え、
前記（２）段階は、
前記ノード復号化部によって前記解像度情報を利用して、ノード復号化の際に、開始ノードから特定ノードまでを復号化する損失復号化段階を備える
ことを特徴とする請求項１４に記載の３次元体積データ復号化方法。
【請求項１６】
前記（１）段階は、
前記ビットストリーム読み取り部によって３次元物体のバウンディングボリュームの解像度情報を読み取る段階をさらに備え、
前記（２）段階は、
前記ノード復号化部によって前記解像度情報を利用して、開始ノードから終了ノードまでの総てのノードを復号化する無損失復号化段階を備える
ことを特徴とする請求項１４に記載の３次元体積データ復号化方法。
【請求項１７】
前記（２）段階は、
（２−１）前記ノード復号化部のノード順序選択部によって前記ノードの復号化の順序を決定する段階と、
（２−２）該ノード復号化部のノードＳＯＰ選択部によって前記ノードを、ＳノードとＰノードとのうちの何れに復号化するのかを示すノード種類情報を設定する段階と、
（２−３）前記ノード種類情報がＳノードであれば、該ノード復号化部のＳノード複号化部によってＳノードの詳細情報を復号化し、Ｐノードであれば、該ノード復号化部のＰノード複号化部によってＰノードの詳細情報を復号化する段階と
を含むことを特徴とする請求項１４に記載の３次元体積データ復号化方法。
【請求項１８】
前記（２−１）段階では、
３次元物体の適応オクツリー構造を、トップダウン方式で復元しつつ、ルートノードから一つずつ幅優先探索方式で復号化するノードを選択する
ことを特徴とする請求項１７に記載の３次元体積データ復号化方法。
【請求項１９】
前記（２−２）段階では、
ＳまたはＰのラベルを逆ＡＡＣで復号化して、前記ノードをＳノードまたはＰノードに復号化することを特徴とする請求項１７に記載の３次元体積データ復号化方法。
【請求項２０】
前記（２−３）段階のＳノード復号化は、
色情報の平均値を復号化する段階と、
サブノードのラベルを復号化する段階と
を含むことを特徴とする請求項１７に記載の３次元体積データ復号化方法。
【請求項２１】
前記色情報の平均値を復号化する段階は、
逆ＡＡＣで復号化して、現在ノードの領域にあるボクセルの平均色であるＲ、Ｇ、Ｂ値を復号化し、
下位ノードのラベル復号化は、逆ＡＡＣで復号化して、下位ノードのラベルであるＢ（Ｂｌａｃｋ）またはＷ（Ｗｈｉｔｅ）の値を復号化する
ことを特徴とする請求項２０に記載の３次元体積データ復号化方法。
【請求項２２】
前記（２−３）段階のＰノード復号化は、
深さ情報を復号化する段階と、
色情報を復号化する段階と
を含むことを特徴とする請求項１７に記載の３次元体積データ復号化方法。
【請求項２３】
前記深さ情報の復号化は、
所定の個数のコンテキストを使用して、復号化対象ノード以下の全体下位ノードをラスタースキャン順序で逆ＰＰＭまたは逆ＡＡＣで復号化し、
前記色情報の平均値を復号化する段階は、
現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値を逆ＡＡＣ復号化、及び逆ＤＰＣＭ復号化することにより行われる
ことを特徴とする請求項２２に記載の３次元体積データ復号化方法。
【請求項２４】
３次元体積データのビットストリームからツリーを構成するノードを読み取るビットストリーム読み取り部と、
前記読み取られたノードを復号化するノード復号化部と、
前記ノード復号化部で復号化されたノードから、適応オクツリーを復元する適応オクツリー復元部と、
前記適応オクツリーから、オクツリーと、ボクセルと、ポイントテクスチャデータのうちの少なくとも一つを復元するデータ復元部と
を含み、
前記適応オクツリー復元部の適応オクツリーデータでは、
３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルと、ボクセルの空間がない位置とが、所定のラベルを付けて区別され、
該所定のラベルは、
前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、該ノードはＳノードと設定され、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、該ノードはＷノードと設定され、前記物体を含むボクセルより構成される場合は「Ｂ」であり、該ノードはＢノードと設定され、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、該ノードはＰノードと設定され、前記ノードのボクセルの空間がない場合は「Ｅ」であり、該ノードはＥノードと設定される
ことを特徴とする３次元体積データ復号化装置。
【請求項２５】
前記ビットストリーム読み取り部は、
３次元物体のバウンディングボリュームの解像度情報と、ノードとを読み取り、
前記ノード復号化部は、
前記解像度情報を利用して、ノード復号化に際し、開始ノードから特定ノードまでの復号化と、開始ノードから終了ノードまでの総てのノードの復号化とのうちの何れかを行う
ことを特徴とする請求項２４に記載の３次元体積データ復号化装置。
【請求項２６】
前記ノード復号化部は、
ノードの復号化の順序を決定するノード順序選択部と、
前記ノードの各々を、ＳノードとＰノードとのうちの何れに復号化するのかを決定するノードＳＯＰ選択部と、
Ｓノードに復号化する場合には、Ｓノードの詳細情報を復号化するＳノード復号化部と、
Ｐノードに復号化する場合には、Ｐノードの詳細情報を復号化するＰノード復号化部と
を含むことを特徴とする請求項２４に記載の３次元体積データ復号化装置。
【請求項２７】
前記ノード順序選択部は、
前記３次元物体の適応オクツリー構造を、トップダウン方式で復元しつつ、ルートノードから一つずつ幅優先探索方式で復号化するノードを決定し、
前記ノードＳＯＰ選択部は、
ＳまたはＰのラベルを逆ＡＡＣで復号化して、ＳノードまたはＰノードに復号化する
ことを特徴とする請求項２６に記載の３次元体積データ復号化装置。
【請求項２８】
前記Ｓノード復号化部は、
色情報の平均値とサブノードのラベルとを復号化し、
前記Ｐノード復号化部は、
深さ情報と色情報とを復号化する
ことを特徴とする請求項２６に記載の３次元体積データ復号化装置。
【請求項２９】
前記深さ情報の復号化は、
所定の個数のコンテキストを使用して、該当ノードの総てのサブノードをラスタースキャン順序で、逆ＰＰＭ復号化または逆ＡＡＣ復号化することで行われ、
前記色情報の平均値を復号化する段階は、
現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値を、逆ＡＡＣ復号化、及び逆ＤＰＣＭ復号化することにより行われる
ことを特徴とする請求項２８に記載の３次元体積データ復号化装置。
【請求項３０】
請求項１乃至７、及び１４乃至２３のうちの何れか１項に記載の発明を、コンピュータで実行するためのプログラムを記録したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元体積データの符号化及び復号化に係り、更に詳細には、ポイントテクスチャ（ＰｏｉｎｔＴｅｘｔｕｒｅ）、ボクセル、オクトツリーデータのうち、いずれか一つからなる３次元体積データの符号化／復号化方法及び装置に関する。
【背景技術】
【０００２】
３次元グラフィックスに使用されるデータは、一般的にそのデータ量が大きい。ポイントテクスチャデータは、ボクセルデータとオクトツリーとに変換できるが、それらの３次元体積データの量は膨大である。そのような大容量データは、保存するのに大容量のメモリー空間が必要であり、演算するのに高速のプロセッシング能力が必要である。したがって、データを処理するのにコストが高くなるという問題があり、データを効率的に圧縮する必要性がある。
【０００３】
最近、３次元グラフィックス分野では、実際のイメージのような現実感のあるグラフィック画面を生成しようとする研究が進められてきたが、その一つが、イメージベースドレンダリング方式である。それは、従来の３次元データモデリング方法で使用される多角形メッシュモデルと比較して、データの大きさと演算時間とを減らし得るだけでなく、より現実感のある映像を提供し得るという長所がある。
【０００４】
現在、３次元物体を表現する主な方法は、多角形メッシュモデルである。それは、三角形、四角形またはそれ以上の多角形を使用して、任意の３次元の形状を表現できる。３次元グラフィックスソフトウェア技術とハードウェア技術の発展により、複雑な物体と背景とをリアルタイムで静止画または動画の多角形モデルで視覚化することが可能となった。
【０００５】
一方、更に他の３次元表現方式についての研究が、ここ数年間に活発に進められてきた。それは、現実世界の物体を多角形モデルにより表現することが難しく、且つレンダリングが複雑なため演算時間が長く、実際の写真のように現実的なイメージを生成できないため、そのような研究が進められてきた。
【０００６】
あるアプリケーションでは、莫大な量の多角形を必要とする。例えば、人体の詳細なモデルは、通常、数百万個以上の多角形を含み、これらを扱うことは容易ではない。たとえ３次元スキャナーのように、３次元測定技術分野の最近の進歩によって、受容できる誤差しか含まない稠密な３次元データが得られるが、物体全体に対して連続的で完全な多角形モデルを得ることは、相変らず高コストがかかり、且つ非常にむずかしい。また、写真のような高解像度を得るためのレンダリング技術は、演算において複雑であるため、リアルタイムレンダリングがむずかしい。
【０００７】
デプスイメージベースドリプレゼンテーション（Ｄｅｐｔｈ  Ｉｍａｇｅ−Ｂａｓｅｄ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ：以下、ＤＩＢＲ）は、複雑な３次元物体を表現しレンダリングする新たな表現方法及びレンダリング方法である。ＤＩＢＲは、ＭＰＥＧ−４  ＡＦＸ（Ａｎｉｍａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ  ｅＸｔｅｎｓｉｏｎ）に採択されている。コンピュータグラフィックスでは、通常多角形メッシュで３次元物体を表現してきたが、ＤＩＢＲは、３次元物体を、目に見える物体の表面を取り囲む１セットの参照イメージで示す。各参照イメージは、対応するデプスマップで示され、前記デプスマップは、イメージ平面のピクセルから物体の表面までの距離を配列で示したものである。ＤＩＢＲの利点の一つは、複雑な多角形モデルを直接使用せずとも、参照イメージによって物体に高画質で視覚化することができるということである。更に、ＤＩＢＲビューをレンダリングする複雑さは、背景の複雑さには関係なくビューのピクセル数（すなわち、ビューの解像度）のみに関連する。ＤＩＢＲファミリーの主な形式は、シンプルテクスチャ、ポイントテクスチャ及びオクトツリーイメージである。前記ポイントテクスチャは、１つのカメラ位置から見たピクセルの配列で物体を表現する。それぞれのポイントテクスチャピクセルは、色（ｃｏｌｏｒ）、深さ（ｄｅｐｔｈ）（ピクセルからカメラまでの距離）及びポイントテクスチャレンダリングを補助する幾つかの他の属性により表現される。各視線に沿って多数のピクセルがあり、したがって、ポイントテクスチャは、通常多数の層より構成され得る。１次元でのポイントテクスチャの簡単な例が、図１に示されている。ポイントテクスチャは、通常大量のデータを含む。実際のイメージでは、更に高いサンプリング密度と莫大な量のデータが必要になる。したがって、ポイントテクスチャイメージの圧縮は、効率的に行われなければならない。ポイントテクスチャのノード規格は、図２に示されている。図２のノード規格で、ｄｅｐｔｈとｃｏｌｏｒフィールドが圧縮対象である。
【０００８】
ポイントテクスチャに関する研究は今までほとんど行われていない。非特許文献１で、ポイントテクスチャ映像を圧縮する方法が提示されているが、前記方法は、階層化された深さイメージ（Ｌａｙｅｒｅｄ  Ｄｅｐｔｈ  Ｉｍａｇｅ：ＬＤＩ）の圧縮方法と呼ばれる。深さ情報を圧縮するために、ＪＰＥＧ−ＬＳアルゴリズムが適用されている。また、色情報は、現存するコード化標準を使用して圧縮される。しかし、そのようなアルゴリズムは、漸進的な圧縮及び伝送を支援できない。
【０００９】
パターンコード表現（ＰＣＲ）を使用して、３次元ボクセル表面モデルを圧縮する方法が非特許文献２で提案されている。しかし、その方法は、階層的オクトツリー構造を利用せず、漸進的圧縮を利用することもできない。
【００１０】
ＭＰＥＧ−４  ＡＦＸ標準で、ＰＰＭ（Ｐｒｅｄｉｃｔｉｏｎ  ｂｙ  Ｐａｒｔｉａｌ  Ｍａｔｃｈｉｎｇ）方法を利用したオクトツリー圧縮方法が非特許文献３で提案されている。その方法も、漸進的ビットストリームを作り得ない。そして、その方法では、オクトツリー圧縮方法を使用するため、ボリュームデータの解像度は、幅、高さ、深さの値がすべて同じでなければならない固定された解像度のデータしか圧縮することができないという短所がある。すなわち、幅、高さ、深さが、それぞれ異なる任意の解像度を有するデータについては圧縮できない。
【非特許文献１】Ｊ．Ｄｕａｎ及びＪ．Ｌｉ著、「Ｃｏｍｐｒｅｓｓｉｏｎ  ｏｆ  ｔｈｅ  Ｌａｙｅｒｅｄ  Ｄｅｐｔｈ  Ｉｍａｇｅ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ、ｖｏｌ．１２、ｎｏ．３、ｐｐ．３６５−３７２、２００３年３月発行
【非特許文献２】Ｃ．Ｓ．Ｋｉｍ及びＳ．Ｕ．Ｌｅｅ著、「Ｃｏｍｐａｃｔ  Ｅｎｃｏｄｉｎｇ  ｏｆ  ３Ｄ  Ｖｏｘｅｌ  Ｓｕｒｆａｃｅ  Ｂａｓｅｄ  ｏｎ  Ｐａｔｔｅｒｎ  Ｃｏｄｅ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ、ｖｏｌ．１１、ｎｏ．８、ｐｐ．９３２−９４３、２００２年発行
【非特許文献３】ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  １４４９６−１６：２００３：Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｃｏｄｉｎｇ  ｏｆ  Ａｕｄｉｏ−Ｖｉｓｕａｌ  Ｏｂｊｅｃｔｓ−Ｐａｒｔ  １６：Ａｎｉｍａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ  ｅＸｔｅｎｓｉｏｎ（ＡＦＸ）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明が達成しようとする技術的課題は、３次元体積データを効率的に符号化し、更に任意の解像度を有する３次元体積データを符号化でき、且つ漸進的な圧縮を可能とする、３次元体積データの符号化方法及び装置を提供することにある。
【００１２】
本発明が達成しようとする他の技術的課題は、３次元体積データの解像度に関係なく、任意の解像度を有する３次元体積データを復号化でき、且つ適応オクトツリーを使用して漸進的な圧縮に対する復元を可能とする、３次元体積データ復号化方法及び装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明に係る３次元体積データ符号化方法は、（ａ）ポイントテクスチャデータと、ボクセルデータと、オクツリーデータとのうちの少なくとも一つを含んで構成される３次元体積データを、中間ノードに所定のラベルが付与された適応オクツリーデータに変換する段階と、（ｂ）前記適応オクツリーのノードを符号化する段階と、（ｃ）前記（ｂ）段階における符号化により得られるデータからビットストリームを生成する段階とを含む。
【００１４】
前記（ａ）段階は、ポイントテクスチャデータ及びボクセルデータをオクツリーデータに変換する段階と、前記オクツリーデータを、中間ノードに前記所定のラベルが付与された適応オクツリーに変換する段階とを備えることが好ましい。
【００１５】
前記（ａ）段階の適応オクツリーデータ変換は、３次元バウンディングボリュームを用いて、３次元体積データをボクセルデータに変換する段階と、３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルとを、所定のラベルを付して区別する段階とを備えることが好ましい。
【００１６】
前記所定のラベルは、前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、前記物体を含むボクセルより構成される場合は「Ｂ」であり、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、前記ノードのボクセルの空間がない場合は「Ｅ」であることが好ましい。
【００１７】
前記（ｂ）段階は、（ｂ１）前記適応オクツリーの各ノードの符号化の順序を決定する段階と、（ｂ２）前記ノードの各々を、ＳノードとＰノードとのうちの何れに符号化するのかを示すノード種類情報を設定する段階と、（ｂ３）前記ノード種類情報がＳノードであれば、Ｓノードの詳細情報を符号化し、Ｐノードであれば、Ｐノードの詳細情報を符号化する段階とを含むことが好ましい。
【００１８】
前記（ｂ１）段階は、３次元物体の適応オクツリーの前記ラベルを参照して、トップダウン方式で、ルートノードから一つずつ幅優先探索方式で符号化するノードを決定することが好ましい。
【００１９】
前記（ｂ２）段階は、（ｂ２−１）Ｓノードに符号化する場合のエントロピと、Ｐノードに符号化する場合のエントロピとを求め、求めたエントロピが小さい方のノードに符号化することを決定する段階と、（ｂ２−２）前記（ｂ２−１）段階において決定されたノードのラベルのＡＡＣ符号化を行う段階とを備えることが好ましい。
【００２０】
前記（ｂ３）段階のＳノード符号化では、色情報の平均値とサブノードのラベルとを符号化し、前記色情報の符号化は、現在ノードの領域にあるボクセルの平均色であるＲ、Ｇ、Ｂ値をＡＡＣで符号化し、前記下位ノードラベル符号化は、現在ノードの下位ノードのラベルであるＢ（Ｂｌａｃｋ）またはＷ（Ｗｈｉｔｅ）の値をＡＡＣ符号化することが好ましい。
【００２１】
前記（ｂ３）段階のＰノード符号化では、深さ情報及び色情報を符号化し、前記深さ情報の符号化は、所定の個数のコンテキストを使用して、該当ノードの総てのサブノードをラスタースキャン順序でＰＰＭ符号化またはＡＡＣ符号化を行い、前記色情報符号化は、現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値をＤＰＣＭ符号化、及びＡＡＣ符号化することにより行われることが好ましい。
【００２２】
前記（ｃ）段階は、前記符号化されたデータ及び３次元物体のバウンディングボリュームの解像度情報を、ビットストリームに生成し、前記ビットストリームは、ノード符号化時に、開始ノードから特定ノードまで符号化する損失符号化方式と、最初のノードから最後のノードまで何れも符号化する無損失符号化方式とを支援するビットストリームであることが好ましい。
【００２３】
本発明に係る３次元体積データ符号化装置は、ポイントテクスチャデータと、ボクセルデータと、オクツリーデータとのうちの少なくとも一つを含んで構成される３次元体積データを、中間ノードに所定のラベル番号が付与された適応オクツリーデータに変換する適応オクツリー生成部と、前記適応オクツリーのノードを符号化するノード符号化部と、前記ノード符号化部で符号化されたデータからビットストリームを生成するビットストリーム生成部とを含むことが好ましい。
【００２４】
前記適応オクツリー生成部は、ポイントテクスチャデータ及びボクセルデータからなる３次元体積データをオクツリーに変換する３次元体積データ入力部と、前記オクツリーを、中間ノードに所定のラベルが付与された適応オクツリーデータに変換するオクツリー変換部とを備えることが好ましい。
【００２５】
前記適応オクツリーデータは、前記３次元体積データを、３次元バウンディングボリュームを用いて変換することで得られるデータであり、前記適応オクツリーデータでは、３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルとが、所定のラベルを付けて区分されていることが好ましい。
【００２６】
前記所定のラベルは、前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、前記物体を含むボクセルより構成される場合は「Ｂ」であり、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、前記ノードのボクセルの空間がない場合は「Ｅ」であることが好ましい。
【００２７】
前記ノード符号化部は、前記適応オクツリーの各ノードの符号化の順序を決定するノード順序選択部と、前記ノードの各々を、ＳノードとＰノードとのうちの何れに符号化するのかを決定するノードＳＯＰ選択部と、Ｓノードに符号化する場合には、Ｓノードの詳細情報を符号化するＳノード符号化部と、Ｐノードに符号化する場合には、Ｐノードの詳細情報を符号化するＰノード符号化部とを含むことが好ましい。
【００２８】
前記ノード順序選択部は、前記３次元物体の適応オクツリーの前記ラベルを参照して、トップダウン方式で、ルートノードから一つずつ幅優先探索方式で符号化するノードを決定することが好ましい。
【００２９】
前記ノードＳＯＰ選択部は、Ｓノードに符号化する場合のエントロピと、Ｐノードに符号化する場合のエントロピとを求め、求めたエントロピが小さい方のノードに決定し、決定されたノードのラベルのＡＡＣで符号化を行うことが好ましい。
【００３０】
前記Ｓノード符号化部は、色情報の平均値とサブノードのラベルとを符号化し、前記Ｐノード符号化部は、深さ情報と色情報とを符号化することが好ましい。
【００３１】
前記ビットストリーム生成部は、３次元物体のバウンディングボリュームの解像度情報を含み、ノード符号化の際に開始ノードから特定ノードまでを符号化する損失符号化方式と、開始ノードから終了ノードまでの総てのノードを符号化する無損失符号化方式とを採用するビットストリームを生成することが好ましい。
【００３２】
本発明に係る３次元体積データ復号化方法は、（１）３次元体積データのビットストリームからツリーを構成するノードを読み取る段階と、（２）読み取られたノードを復号化する段階と、（３）前記復号化されたノードから適応オクツリーを復元する段階と、（４）前記適応オクツリーからオクツリーと、ボクセルと、ポイントテクスチャデータとのうちの何れか一つのデータを復元する段階とを含む。
【００３３】
前記（１）段階は、３次元物体のバウンディングボリュームの解像度情報を読み取る段階をさらに備え、前記（２）段階は、前記解像度情報を利用して、ノード復号化の際に、開始ノードから特定ノードまでを復号化する損失復号化段階を備えることが好ましい。
【００３４】
前記（１）段階は、３次元物体のバウンディングボリュームの解像度情報を読み取る段階をさらに備え、前記（２）段階は、前記解像度情報を利用して、開始ノードから終了ノードまでの総てのノードを復号化する無損失復号化段階を備えることが好ましい。
【００３５】
前記（２）段階は、（２−１）前記ノードの復号化の順序を決定する段階と、（２−２）前記ノードを、前記ノードをＳノードとＰノードとのうちの何れに復号化するのかを示すノード種類情報を設定する段階と、（２−３）前記ノード種類情報がＳノードであれば、Ｓノードの詳細情報を復号化し、Ｐノードであれば、Ｐノードの詳細情報を復号化する段階とを含むことが好ましい。
【００３６】
前記（２−１）段階では、３次元物体の適応オクツリー構造を、トップダウン方式で復元しつつ、ルートノードから一つずつ幅優先探索方式で復号化するノードを選択することが好ましい。
【００３７】
前記（２−２）段階では、ＳまたはＰのラベルを逆ＡＡＣで復号化して、ＳノードまたはＰノードに復号化することが好ましい。
【００３８】
前記（２−３）段階のＳノード復号化は、色情報の平均値を復号化する段階と、サブノードのラベルを復号化する段階とを含むことが好ましい。
【００３９】
前記色情報の平均値を復号化する段階は、逆ＡＡＣで復号化して、現在ノードの領域にあるボクセルの平均色であるＲ、Ｇ、Ｂ値を復号化し、前記下位ノードのラベル復号化は、逆ＡＡＣで復号化して、下位ノードのラベルであるＢ（Ｂｌａｃｋ）またはＷ（Ｗｈｉｔｅ）の値を復号化することが好ましい。
【００４０】
前記（２−３）段階のＰノード復号化は、深さ情報を復号化する段階と、色情報を復号化する段階と含むことが好ましい。
【００４１】
前記深さ情報の復号化は、所定の個数のコンテキストを使用して、復号化対象ノード以下の全体下位ノードをラスタースキャン順序で逆ＰＰＭまたは逆ＡＡＣで復号化し、前記色情報の平均値を復号化する段階は、現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値を逆ＡＡＣ復号化、及び逆ＤＰＣＭ復号化することにより行われることが好ましい。
【００４２】
前記（３）段階の適応オクツリーのデータ復元に際し、物体が存在する位置のボクセルと、物体が存在しない位置のボクセルとが、所定のラベルにより区別されていることが好ましい。
【００４３】
前記所定のラベルは、復元する３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、前記物体を含まないボクセルより構成される場合は「Ｗ」であり、前記物体を含むボクセルより構成される場合は「Ｂ」であり、逆ＰＰＭアルゴリズムにより復号化された場合は「Ｐ」であり、前記ノードのボクセルの空間がない場合は「Ｅ」であることが好ましい。
【００４４】
本発明に係る３次元体積データ復号化装置は、３次元体積データのビットストリームからツリーを構成するノードを読み取るビットストリーム読み取り部と、前記読み取られたノードを復号化するノード復号化部と、前記ノード復号化部で復号化されたノードから、適応オクツリーを復元する適応オクツリー復元部と、前記適応オクツリーから、オクツリーと、ボクセルと、ポイントテクスチャデータのうちの少なくとも一つを復元するデータ復元部とを含むことが好ましい。
【００４５】
前記ビットストリーム読み取り部は、３次元物体のバウンディングボリュームの解像度情報と、ノードとを読み取り、前記ノード復号化部は、前記解像度情報を利用して、ノード復号化に際し、開始ノードから特定ノードまでの復号化と、開始ノードから終了ノードまでの総てのノードの復号化とのうちの何れかを行うことが好ましい。
【００４６】
前記ノード復号化部は、ノードの復号化の順序を決定するノード順序選択部と、前記ノードの各々を、ＳノードとＰノードとのうちの何れに復号化するのかを決定するノードＳＯＰ選択部と、Ｓノードに復号化する場合には、Ｓノードの詳細情報を復号化するＳノード復号化部と、Ｐノードに復号化する場合には、Ｐノードの詳細情報を復号化するＰノード復号化部とを含むことが好ましい。
【００４７】
前記ノード順序選択部は、前記３次元物体の適応オクツリー構造を、トップダウン方式で復元しつつ、ルートノードから一つずつ幅優先探索方式で復号化するノードを決定し、前記ノードＳＯＰ選択部は、ＳまたはＰのラベルを逆ＡＡＣで復号化して、ＳノードまたはＰノードに復号化することが好ましい。
【００４８】
前記Ｓノード復号化部は、色情報の平均値とサブノードのラベルとを復号化し、前記Ｐノード復号化部は、深さ情報と色情報とを復号化することが好ましい。
【００４９】
前記深さ情報の復号化は、所定の個数のコンテキストを使用して、該当ノードの総てのサブノードをラスタースキャン順序で、逆ＰＰＭ復号化または逆ＡＡＣ復号化することで行われ、前記色情報の平均値を復号化する段階は、現在ノードのラベルが「Ｂ」であるボクセルのＲ、Ｇ、Ｂ値を、逆ＡＡＣ復号化、及び逆ＤＰＣＭ復号化することにより行われることが好ましい。
【００５０】
前記適応オクツリー復元部の適応オクツリーデータでは、３次元物体が存在する位置のボクセルと、３次元物体が存在しない位置のボクセルとが、所定のラベルを付けて区別されており、前記ラベルは、前記３次元体積データを示すツリーのノードが、サブノードより構成される場合は「Ｓ」であり、前記３次元物体を含まないボクセルより構成される場合は「Ｗ」であり、前記物体を含むボクセルより構成される場合は「Ｂ」であり、ＰＰＭアルゴリズムにより符号化された場合は「Ｐ」であり、前記ノードのボクセルの空間がない場合は「Ｅ」であることが好ましい。
【００５１】
また、本発明は前記した方法をコンピュータで実行するためのプログラムを記録したコンピュータ可読記録媒体として提供することもできる。
【発明の効果】
【００５２】
本発明による３次元体積データの符号化及び復号化方法及び装置は、莫大な量の３次元体積データを高効率に符号化でき、固定された解像度の３次元体積データだけでなく、任意の解像度の３次元体積データも高効率に符号化でき、少ないデータ量で高画質の３次元体積データを復元できる。なお、漸進的なビットストリームを生成するため、デコーディング時に３次元体積データを漸進的に表示し得る。
【発明を実施するための最良の形態】
【００５３】
以下、添付図面を参照して、本発明に係るポイントテクスチャ、ボクセル、オクトツリーのデータ構造のうち、いずれか一つからなる３次元体積データの符号化／復号化方法及び装置について詳細に説明する。
【００５４】
まず、本発明による３次元物体データの符号化装置及び方法を説明する。図３Ａは、本発明による３次元物体データの符号化装置の構成をブロック図として示したものであって、ボリュームデータ入力部３００、適応オクトツリー変換部３２０、ノード符号化部３４０及びビットストリーム生成部３６０を含む。そして、図３Ｂは、本発明による３次元物体データの符号化方法をフローチャートとして示した図面である。
【００５５】
前記ボリュームデータ入力部３００は、３次元物体データを表現しているポイントテクスチャ、ボクセル及びオクトツリーデータのうち、いずれか一つを入力として受ける。ポイントテクスチャデータは、ボクセルデータやオクトツリーに変換できる。ポイントテクスチャデータが入力されれば、ボクセルデータに変換し、更にオクトツリーデータに変換する。ボクセルデータが入力されれば、オクトツリーデータに変換する（第３２段階）。オクトツリーデータが入力されれば、データを変換しないでそのまま使用する。
【００５６】
ポイントテクスチャの深さ情報をボクセルデータに変換するには、まずバウンディングボリュームを作る。バウンディングボリュームは、ポイントテクスチャと同じ解像度を有する。例えば、もしポイントテクスチャがＸｘＹ解像度の映像を有し、各ピクセルの深さ情報の解像度がＺならば、ＸｘＹｘＺバウンディングボリュームが生成される。バウンディングボリュームの原点は、正面の左下端コーナーに位置する。右側のボクセルは、左側のボクセルより大きいｘ値を有し、上方のボクセルは、下方のボクセルより大きいｙ値を有し、後方のボクセルは、前方のボクセルより大きいｚ値を有する。深さ情報を２進ボリュームデータへ変換することはすぐにできる。ボリュームデータのあらゆるボクセルは、Ｗｈｉｔｅ（０）に初期化される。その後、ボクセルの位置がポイントテクスチャにあるボクセルで占有されていれば、ボクセルはＢｌａｃｋ（１）に設定される。
【００５７】
図７では、ツリー構造で親子の関係を示す。図７の（ａ）は、クアドツリーの例であり、図７の（ｂ）は、オクトツリーの例である。オクトツリーは、ルートノードの一つから８個の子ノードをし、各子ノードは、下位に８個の子ノードを有するか、または末端ノードを有しうる。ノードは、ＢｌａｃｋまたはＷｈｉｔｅの値を有しうるが、末端ノードがＢｌａｃｋであれば、占有ボクセルであることを示し、Ｗｈｉｔｅであれば、空ボクセルであることを示す。ここで、占有ボクセルとは、物体が存在する位置のボクセルであり、空ボクセルとは、物体が存在しない位置のボクセルである。末端ノードではない中間ノードで、Ｂｌａｃｋである場合は、下位ノードの中に占有ボクセルを有するノードがあることを表し、Ｗｈｉｔｅである場合は、下位ノードすべてが空であることを表す。このようなオクトツリーは、３次元体積データを表すのに使用される典型的な構造である。
【００５８】
図３Ｂに示すように、前記適応オクトツリー変換部３２０は、前記ボリュームデータ入力部３００で変換されたか、またはそのまま入力されたオクトツリーデータを入力として適応オクトツリーを生成する（第３４段階）。前記適応オクトツリーは、ルートノードの１つから８個の子ノードを有し、各子ノードは、下位に８個の子ノードまたは末端ノードを有しうる。そのノードには、５種類のラベルが付けられ、本発明では、そのような特性を有するツリーを適応オクトツリーと定義する。
【００５９】
前記適応オクトツリーは、中間ノードにラベルが付けられるという点以外、その構造はオクトツリーと同様である。前記５種類のラベルは、Ｓノード（Ｓｐｌｉｔ）、Ｐノード（ＰＰＭ）、Ｂノード（Ｂｌａｃｋ）、Ｗノード（Ｗｈｉｔｅ）、Ｅノード（Ｅｍｐｔｙ）として定義され、表１は、前記オクトツリーノードの５種類ラベルを表している。
【００６０】
【表１】
0004759284.tif 000002
【００６１】
適応オクトツリーは、次のように生成される。第一に、３次元物体に対するバウンディングボリュームが物体を含んでいれば、ルートノードはＳノードと表示され、ボリュームは８個の大きさの等しい下位ボリュームに細分される。細分されたボリュームが、Ｗｈｉｔｅボクセルのみを含んでいれば、対応するノードはＷノードと表示され、細分されたボリュームがＢｌａｃｋボクセルのみを含んでいれば、対応するノードはＢノードと表示される。細分されたボリュームが、Ｗｈｉｔｅボクセルしか含まない、またはＢｌａｃｋボクセルしか含まない場合以外は、そのノードはＳノードと設定され、前記ボリュームは、８個の更に小さいボリュームに細分される。この手順は、ツリーがあらかじめ設定された深さになるまで繰り返される。その深さで、もしノードが、ＢｌａｃｋボクセルとＷｈｉｔｅボクセルの両方を含んでいれば、Ｐノードとなり得、そのボクセル値は、ＰＰＭ方法により符号化されうる。
【００６２】
一方、バウンディングボリュームを８個の大きさの等しいボリュームに分けるとき、軸を等しい長さで半分に分けることができなければ、分けられる一方を他方に対して、１ボクセル長くなるように規則的に分ける。ところが、もし他方、すなわち、１ボクセル短くなる部分で、ボクセルの空間がない場合には、Ｅｍｐｔｙボクセルと定義し、前記ＥｍｐｔｙボクセルのラベルをＥノードとする。もし、あるノードがＥノードを含みながら、ＢノードとＷノードのみから構成される場合、前記ノードをＰノードとして取り扱い得、そのボクセル値をＰＰＭ方法により符号化できる。
【００６３】
説明を容易にするために、クアドツリーの例を挙げて詳細に説明する。図８と図９とは、適応オクトツリーの概念を更に容易に説明するための、適応クアドツリーを示した図面である。図８の（ａ）は、幅が３で高さが４の解像度が３ｘ４である２次元イメージに対するクアドツリーを示した図面である。色のない白いボクセルは、空のボクセルを示し、色のあるボクセルは、占有されたボクセルを示す。図８の（ｃ）で、色のあるノードは、図８の（ａ）と同じ色のボクセルと対応する。
【００６４】
ルートノードで、下位４個のノードに細分するとき、幅は３であるため、一方は２に、他方は１に分けられる。高さは４であるため、２と２に分けられる。図８（ｃ）の適応クアドツリーで、ルートノードがＳノードであるのは、下位ノードが物体を含んでいるためである。ルートノードの４個の子ノードはＳ、Ｓ、Ｗ、Ｂノードである。最初のノードと２番目のノードとがＳノードであるのは、下位の子ノードでボクセルの情報を表現するためである。最初のＳノードの子ノードは、Ｗ、Ｂ、Ｂ、Ｂノードであって、図８（ｂ）の左上端の４個のボクセル領域に該当する。２番目のＳノードの子ノードは、Ｗ、Ｅ、Ｂ、Ｅノードであって、図８（ｂ）の右上端の４個のボクセル領域に該当する。Ｂノードは、ボクセルが占有されていることを示し、Ｗノードは、ボクセルが空であることを示す。符号化対象となる情報は、ＢノードとＷノードとで表現されるボクセルである。Ｅノードは、ボクセルの空間がないことを示し、符号化対象からは除外される情報である。したがって、Ｅノードは、仮想のノードであって、バウンディングボリューム全体の解像度情報を利用して、その位置を特定することができるノードである。図８の（ｂ）で、右上端に、４個のボクセルのうち点線で示された２個のボクセルがＥノードであって、元来の図８（ａ）にはない領域である。このように、仮想のＥノードを表すのは、最初のＳノードが下位の４個の子ノードを有するように、仮想のクアドツリーを作るためである。
【００６５】
同様に、適応オクトツリーにおいても、Ｓノードの８個の子ノードを表現するに当って、ボクセルの空間がある子ノードの場合は、ＢノードまたはＷノードで表示し、ボクセルの空間がない子ノードの場合は、Ｅノードで表現する。空間を下位８個の子ノードに分けるとき、適応クアドツリーと同様に、一方を他方に対して、１ボクセルだけ長く規則的に分ける。すなわち、３次元体積空間を、Ｘ、Ｙ、Ｚの３軸で表現するとき、−Ｘ方向、−Ｙ方向、−Ｚ方向を、＋Ｘ方向、＋Ｙ方向、＋Ｚ方向より１ボクセル長く割り当てる。その逆の場合も可能であるが、本発明では、すべてのノードに対して前者の規則を適用する。
【００６６】
図８（ｃ）で、ルートノードの３番目の子ノードであるＷノードは、図８（ｂ）の左下端の４個のボクセル領域に該当し、すべて空ボクセルであることを示す。図８（ｃ）のルートノードの４番目の子ノードであるＢノードは、図８（ｂ）の右下端の４個のボクセル領域に該当するものであって、仮想のＥノード以外はすべて占有ボクセルであることを示す。図９も、適応ツリーの例を示すものであって、図９の（ａ）は、解像度が５ｘ７である２次元イメージを示し、図９の（ｂ）は、前記図９の（ａ）に対応する適応クアドツリーを示している。
【００６７】
一方、前記ボリュームデータ入力部３００と適応オクトツリー変換部３２０は、一つに統合され得る。すなわち、ポイントテクスチャ、ボクセル及びオクトツリーのデータのうち、いずれか一つからなる３次元体積データを、直接適応オクトツリーのデータに変換する適応オクトツリー生成部３０に組み入れることができる。
【００６８】
前記ノード符号化部３４０は、前記適応オクトツリー変換部３２０で生成された適応オクトツリーのノードを符号化する（第３６段階）。前記ノード符号化部３４０は、図４に示されたように、ノード順序選択部４００、ノードＳＯＰ選択部４２０、Ｓノード符号化部４４０及びＰノード符号化部４６０からなる。
【００６９】
適応オクトツリーで各ノードを順次選択するとき、前記ノード順序選択部４００によって、どのノードを符号化するかを決定し、そのノードの位置情報値を出力する。更に詳細に説明すれば、前記ノード順序選択部４００は、３次元物体に対する適応ツリー構造において、前記ラベルを参照することによって、ルートノードからトップダウン方式で一つずつ符号化するノードを選択して、そのノードの位置情報値を出力する。キューを使用する幅優先探索方式で符号化するノードの順序を定める。最初にルートノードがキューに挿入され、ルートノードの子ノードのラベルを符号化する間にルートノードがキューから除去される。図１０（ａ）において、符号化するルートノードは正方形で示されるＳであり、符号化するノードの実際の値は、長方形の中にあるルートノードの子ノードであって、Ｓ、Ｓ、Ｗ、Ｂである。
【００７０】
前記ノードＳＯＰ選択部４２０は、前記ノード順序選択部４００で選択されたノードを、Ｓノードに符号化するか、またはＰノードに符号化するかを選択する。すなわち、前記ノードＳＯＰ選択部４２０は、符号化するノードをＳノードに符号化するか、Ｐノードに符号化するかを判断する。Ｓノードに符号化する場合と、Ｐノードに符号化する場合の各エントロピを計算して、エントロピが小さい方を選択する。前記選択されたＳノードまたはＰノードのラベルをＡＡＣ符号化する。
【００７１】
前記Ｓノード符号化部４４０は、分割（Ｓｐｌｉｔ）ノード符号化を行う。すなわち、前記Ｓノード符号化部４４０は、図１３に示される手順でＳノードを符号化する。まず、符号化するＳノードの平均色をＡＡＣで符号化し（１１００段階）、子ノードのラベルを符号化する（１１２０段階）。図１０の（ａ）で、ルートノードをＳノードに符号化するとき、ルートノードの子ノードのラベルはＳ、Ｓ、Ｗ、Ｂであり、それは、符号化する実際の値である。子ノードのラベルのうちＳは、Ｂに置換して符号化する。したがって、図１０（ｂ）の長方形の中にあるノードのように、Ｂ、Ｂ、Ｗ、Ｂに符号化される。その値は、復号化器で復元される値と同じである。
【００７２】
前記Ｐノード符号化部４６０は、ＰＰＭノード符号化を行う。前記Ｐノード符号化部４６０は、図１４に示される手順でＰノードを符号化する。まず、そのノードのボリューム領域にある深さ情報、すなわちボクセル値をＰＰＭで符号化し（１２００段階）、各ボクセル位置の色情報をＤＰＣＭとＡＡＣとで符号化する（１２２０段階）。図１５は、ボクセルをＰＰＭで符号化するとき、使用するコンテキストを示した図面である。右側のＤｅｐｔｈ（深さ）がｋである２次元平面が、以前に符号化されたボクセルと、現在符号化するボクセルとがある一断面であり、左側のＤｅｐｔｈがｋ−１である２次元平面が、前に符号化されたボクセルがある隣接断面である。効率的に符号化するために、Ｘで印された位置のボクセルは、コンテキストとして使用せず、残りの１０個の円形のボクセルをコンテキストとして使用してＰＰＭで符号化する。したがって、その場合コンテキストは、‘００１１１０１００００１１'から‘０１１１００００１１’に減る。コンテキストの配列順序は、ラスタースキャン順序による。前記ＰＰＭは、元来ファクシミリデータを無損失で圧縮するために、クリアリィ（Ｃｌｅａｒｙ）とウィッテン（Ｗｉｔｔｅｎ）により提案された。
【００７３】
一方、前記図３に示されたビットストリーム生成部３６０は、前記ノード符号化部３４０で符号化されたノードからビットストリームを生成する（第３８段階）。ツリーの各ノードが、Ｓノードであるときは、Ｓｐｌｉｔノード符号化されたビットストリームを生成し、Ｐノードであるときは、ＰＰＭノード符号化されたビットストリームを生成する。
【００７４】
図１６（ａ）で示されるように、ヘッダ情報に関しては、３次元物体を含むボリュームの解像度情報である幅、高さ及び深さに符号化され、ビットストリームを生成する。次に、ルートノードから順次ノードを一つずつ符号化し、ビットストリームを生成する。図１６（ａ）で示されるように、符号化するノードの合計数をＮ個とすれば、それらのノードはＮｏｄｅ−１、Ｎｏｄｅ−２、…、Ｎｏｄｅ−Ｎで表現できる。図１６（ｂ）で示されるように、それらの各ノードのビットストリームは、ＳＯＰ（‘Ｓ’または‘Ｐ’）とＤＩＢ（Ｄｅｔａｉｌｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂｉｔｓ）より構成される。
【００７５】
図１６（ｃ）で示されるように、ＳＯＰが現ノードがＳノードであると示す場合、ＤＩＢは、現ノード領域の平均色と子ノードがＷノードであるか否かを示す最大８個のフラグより構成される。８個のフラグをＣｈ１、Ｃｈ２、…、Ｃｈ８で表現できるが、それは、８個のボクセル領域があることを示す。ボクセル領域がないノードがあれば、ない個数だけフラグの個数も減り、符号化対象から除外される。符号化するフラグ等の値は、ＡＡＣで符号化できる。
【００７６】
図１６（ｄ）で示されるように、ＳＯＰが現ノードはＰノードであることを示す場合、現ノード領域の中にあるボクセルの値、すなわち深さ情報がＰＰＭで符号化され、Ｂボクセルの色情報は、順次ＤＰＣＭで符号化され、ＡＡＣで符号化される。次いで、ＰＰＭでの符号化を説明する。前記したように、深さ情報は、二進数ボクセル値で表現される。Ｗボクセルは、透明な背景を示し、Ｂボクセルは、３次元物体のボクセルを示す。Ｐノード内の二進数ボクセル値は、隣接するボクセル値をコンテキストとして使用してＰＰＭで符号化される。ラスタースキャン順序により、隣接するボクセルの１３個のコンテキストを使用して処理及び操作するには、そのデータ量が大きすぎる。したがって、コンテキストの数を効果的に減らす必要がある。全体エントロピにほとんど影響を与えない３個のボクセルを除去する。除去されたボクセルは、図１５に示されたように、‘Ｘ’で印される。そのコンテキストを利用して、ボクセルはコンテキストベースドＡＡＣによって符号化される。
【００７７】
深さ情報を符号化した後、現ノード領域の中にあるＢボクセルの色のＲ、Ｇ、Ｂ値は、ラスタースキャン順序でＤＰＣＭで符号化され、ＡＡＣで符号化される。符号化するＢボクセルのＲ、Ｇ、Ｂ値は、前に符号化されたＢボクセルの各Ｒ、Ｇ、Ｂ値からそれぞれ予測され、その予測誤差値は、ＡＡＣで符号化される。
【００７８】
前に述べた本発明による３次元体積データの符号化方法において、３次元物体データの符号化について漸進的な符号化方式を中心に説明したが、無損失符号化方式や損失符号化方式を利用しても符号化できる。すなわち、無損失符号化方式では、符号化する３次元物体をすべて符号化し、損失符号化方式では、ルートノードから始まる一部のノードのみビットストリームに符号化する。
【００７９】
前記ノード復号化部５２０は、読み取られたノードからＳノードまたはＰノードを復号化する。図６に示されたように、前記ノード復号化部５２０は、ノード順序選択部６００、ノードＳＯＰ選択部６２０、Ｓノード復号化部６４０及びＰノード復号化部６６０からなる。前記ノード順序選択部６００は、適応オクトツリーで各ノードを順次復元するとき、どのノードを復号化すべきかを通知する。前記ノードＳＯＰ選択部６２０は、前記ノード順序選択部６００で選択されたノードが、Ｓノードで復号化されたかまたはＰノードで復号化されたかを判断する。前記Ｓノード復号化部６４０は、Ｓｐｌｉｔノード復号化を行い、前記Ｐノード復号化部６６０はＰＰＭノード復号化を行う。
【００８０】
前記適応オクトツリー復元部５４０は、復元されたノードから適応オクトツリーを復元して、それをオクトツリーに変換する。適応オクトツリーには、５種類のラベルがあるが、オクトツリーにはそのようなラベルがなく、ノードにＢｌａｃｋまたはＷｈｉｔｅの値のみを有する。
【００８１】
前記ボリュームデータ復元部５６０は、オクトツリーデータを入力として元の３次元物体データに復元する。元の３次元物体データとは、ポイントテクスチャ、ボクセル及びオクトツリーのいずれかのデータである。
【００８２】
以下、本発明による３次元物体データの復号化方法及び装置について説明する。図５Ａは、本発明による３次元物体データの復号化装置をブロック図として示したものであって、ビットストリーム読み取り部５００、ノード復号化部５２０、適応オクトツリー復元部５４０、ボリュームデータ復元部５６０を含む。図５Ｂは、本発明による３次元物体データの復号化方法をフローチャートとして示したものである。
【００８３】
前記ビットストリーム読み取り部５００は、符号化された３次元体積データのビットストリームを入力としてツリーの各ノードを読み取る（第５０段階）。ＳノードはＳｐｌｉｔノードとして、ＰノードはＰＰＭノードとして読み取られる。図１６の（ａ）に示されるように、まずヘッダ情報に関しては、３次元物体を含むボリュームの解像度情報である幅、高さ、深さに復号化してビットストリームを読み取る。その後、ルートノードから順次ノードを一つずつ復号化し、ビットストリームを読み取る。図１６（ａ）で示されるように、復号化するノードの合計数をＮ個とすれば、Ｎｏｄｅ−１、Ｎｏｄｅ−２、…、Ｎｏｄｅ−Ｎと表現できる。図１６（ｂ）で示されるように、それらの各ノードのビットストリームは、ＳＯＰ（‘Ｓ'または‘Ｐ’）、ＤＩＢとして読み取られる。
【００８４】
図１６（ｃ）で示されるように、ＳＯＰが現ノードがＳノードであると示す場合、ＤＩＢは、現ノード領域の平均色に復号化され、子ノードがＷノードであるか否かを示すフラグの値に復号化される。ボクセル領域がないノードがあれば、ない個数だけフラグの個数も減り、復号化対象から除外される。このようなＥノードは、仮想のノードであって、バウンディングボリューム全体の解像度情報により計算して位置を特定できる。
【００８５】
図１６（ｄ）で示されるように、ＳＯＰが現ノードがＰノードであると示す場合、現ノード領域の中にあるボクセルの値、すなわち深さ情報がＰＰＭで復号化され、Ｂボクセルの色情報は、順次逆ＡＡＣと逆ＤＰＣＭとで復号化される。Ｐノード内の復号化する二進数ボクセル値は、隣接する復号化された１０個のボクセル値をコンテキストとして使用して、ＰＰＭで復号化する。
【００８６】
深さ情報を復号化した後、現ノード領域の中にあるＢボクセルの色のＲ、Ｇ、Ｂ値は、ラスタースキャン順序で逆ＡＡＣと逆ＤＰＣＭとで復号化される。復号化するＢボクセルのＲ、Ｇ、Ｂ値は、前に復号化されたＢボクセルの各Ｒ、Ｇ、Ｂ値からそれぞれ逆に予測され、その予測誤差値は逆ＡＡＣで復号化される。
【００８７】
一方、前記ノード復号化部５２０は、読み取られたノードからＳノードまたはＰノードを復号化する（第５２段階）。図６に示されたように、前記ノード復号化部５２０は、ノード順序選択部６００、ノードＳＯＰ選択部６２０、Ｓノード復号化部６４０及びＰノード復号化部６６０からなる。
【００８８】
前記ノード順序選択部６００は、適応オクトツリーで各ノードを順次復元するとき、どのノードを復号化すべきかを通知する。更に詳細に説明すれば、前記ノード順序選択部６００は、３次元物体に対する適応ツリー構造をトップダウン方式で復元しながら、ルートノードから一つずつ復号化するノードを選択して、そのノードの位置情報値を出力する。キューを使用する幅優先探索方式で復号化するノードの順序を定める。最初にルートノードがキューに挿入され、ルートノードの子ノードのラベルを復号化する間にルートノードがキューから除去される。図１０（ｂ）で、復号化するルートノードは正方形で示されるＳであり、復号化するノードの実際の値は、長方形の中にあるルートノードの子ノードであって、Ｂ、Ｂ、Ｗ、Ｂである。
【００８９】
前記ノードＳＯＰ選択部６２０は、前記ノード順序選択部６００で選択されたノードが、ＳノードであるかまたはＰノードであるかを判断して、それによりＳノードに復号化するかまたはＰノードに復号化するかを決定する。その値は、ビットストリーム読み取り部５００で復号化された値により選択される。
【００９０】
前記Ｓノード復号化部６４０は、前記ノードの種類の情報がＳノードであれば、Ｓノードの詳細情報を復号化し、図１７に示される手順でＳノードを復号化する。Ｓノードのボクセルの平均のＲ、Ｇ、Ｂ値をまず逆ＡＡＣで復号化する（１５００段階）。そして、逆ＡＡＣによって子ノードのラベルを、ＢまたはＷの値に復号化する（１５５０段階）。図１０の（ｂ）で、ルートノードをＳノードに復号化するとき、その子ノードのラベルはＢ、Ｂ、Ｗ、Ｂであり、これが復号化された実際の値である。子ノードのラベルのうちＢは、一時的なラベルである可能性が高く、後でＳやＰに変わり得る。
【００９１】
前記Ｐノード復号化部６６０は、前記ノードの種類の情報がＰノードであれば、Ｐノードの詳細情報を復号化し、図１８で示される手順でＰノードを復号化する。まず、そのノード領域内のボクセルの深さ情報をＰＰＭで復号化し（１６００段階）、各ボクセルの色情報を逆ＡＡＣと逆ＤＰＣＭとで復号化する（１６５０段階）。図１５は、ボクセルをＰＰＭで復号化するとき使用するコンテキストを示す。右側のＤｅｐｔｈがｋである２次元平面が、以前に復号化されたボクセルと、現在復号化するボクセルとがある一断面であり、左側のＤｅｐｔｈがｋ−１である２次元平面が、以前に復号化されたボクセルがある隣接断面である。Ｘで印された位置のボクセルは、コンテキストとして使用せず、１０個の円形のボクセルをコンテキストとして使用して、ＰＰＭで復号化する。したがって、その場合コンテキストは、‘０１１１００００１１’となる。コンテキストの配列順序は、ラスタースキャン順序による。そして、前記色情報は、逆ＡＡＣ及び逆ＤＰＣＭによって現ノード内のＢボクセル等の色であるＲ、Ｇ、Ｂ値に復号化される。
【００９２】
一方、図５の前記適応オクトツリー復元部５４０は、復号化されたノードから適応オクトツリーを復元する（第５４段階）。前記適応オクトツリーには５種類のラベルがあるが、オクトツリーにはそのようなラベルがなく、ノードにＢｌａｃｋまたはＷｈｉｔｅの値のみを有する。ここで、適応オクトツリーは、前記符号化装置及び方法で説明したものと同じであるため、詳細な説明は省略する。
【００９３】
前記ボリュームデータ復元部５６０は、適応オクトツリーデータを入力として元の３次元物体データを復元する（第５６段階）。元の３次元物体データとは、ポイントテクスチャ、ボクセル及びオクトツリーのいずれかのデータである。前に述べたように、オクトツリーは、ボクセルとポイントテクスチャデータとに互いに変換できる。
【００９４】
３次元物体データの復号化について漸進的な復号化方式を中心に説明したが、無損失復号化方式や損失復号化方式を利用しても復号化できる。すなわち、無損失復号化方式では、ビットストリームをすべて復号化し、損失復号化方式では、最初から一部のビットストリームのみ復号化する。
【００９５】
本発明は、コンピュータ可読記録媒体に記録されたコンピュータ可読コードとして実現することができる。コンピュータ可読記録媒体には、コンピュータシステムが読み取ることができるデータを保存するあらゆる種類の記録装置が含まれる。コンピュータ可読記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フレキシブルディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットによる伝送）の形態で実現されるものも含まれる。また、コンピュータ可読記録媒体は、ネットワークで連結されたコンピュータシステムに分配し、分散方式でコンピュータ可読コードに保存し、且つ実行することができる。
【００９６】
本発明による３次元物体データの符号化及び復号化方法の性能を、図１９に示されるテストモデルを使用して評価した。図１９の（ａ）ないし（ｅ）に示されたモデルは、解像度２５６ｘ２５６ｘ２５６を有し、図１９の（ｆ）ないし（ｈ）は、５１２ｘ５１２ｘ５１２解像度を有する。
【００９７】
本発明は、３次元グラフィックデータ圧縮及び復元に有用に使用されうる。
【図面の簡単な説明】
【００９８】
【図１】階層化された深さのイメージについてのポイントテクスチャの例を示した図面である。
【図２】ポイントテクスチャノードの規格を示した図面である。
【図３Ａ】本発明による３次元物体データの符号化装置を、ブロック図として示した図面である。
【図３Ｂ】本発明による３次元物体データの符号化方法をフローチャートとして示した図面である。
【図４】ノード符号化部をブロック図として示した図面である。
【図５Ａ】本発明による３次元物体データの復号化装置をブロック図として示した図面である。
【図５Ｂ】本発明による３次元物体データの復号化方法をフローチャートとして示した図面である。
【図６】ノード復号化部をブロック図として示した図面である。
【図７】（ａ）及び（ｂ）は、ツリーで親子関係を示した図面である。
【図８】（ａ）ないし（ｃ）は、３ｘ４の解像度を有する適応ツリーの例を示した図面である。
【図９】（ａ）及び（ｂ）は、５ｘ７の解像度を有する適応ツリーの例を示した図面である。
【図１０】（ａ）及び（ｂ）は、ノード符号化とノード復号化とを説明するための例を示した図面である。
【図１１】（ａ）及び（ｂ）は、ノード符号化とノード復号化とを説明するための例を示した図面である。
【図１２】（ａ）及び（ｂ）は、ノード符号化とノード復号化とを説明するための例を示した図面である。
【図１３】Ｓノードの符号化手順をフローチャートとして示した図面である。
【図１４】Ｐノードの符号化手順をフローチャートとして示した図面である。
【図１５】（ａ）及び（ｂ）は、ＰＰＭによる符号化及び復号化手順におけるコンテキストの使用を示した図面である。
【図１６】（ａ）ないし（ｄ）は、ノードのビットストリームの構造を示した図面である。
【図１７】Ｓノードの復号化手順をフローチャートとして示した図面である。
【図１８】Ｐノードの復号化手順をフローチャートとして示した図面である。
【図１９】（ａ）ないし（ｈ）は、本発明の性能を評価するためのテストモデルを示した図面である。
【符号の説明】
【００９９】
３００  ボリュームデータ入力部
３２０  適応オクトツリー変換部
３４０  ノード符号化部
３６０  ビットストリーム生成部
４００  ノード順序選択部
４２０  ノードＳＯＰ選択部
４４０  Ｓノード符号化部
４６０  Ｐノード符号化部
５００  ビットストリーム読み取り部
５２０  ノード復号化部
５４０  適応オクトツリー復元部
５６０  ボリュームデータ復元部
６００  ノード順序選択部
６２０  ノードＳＯＰ選択部
６４０  Ｓノード復号化部
６６０  Ｐノード復号化部
【図１】
0004759284.tif 000003
【図２】
0004759284.tif 000004
【図３Ａ】
0004759284.tif 000005
【図３Ｂ】
0004759284.tif 000006
【図４】
0004759284.tif 000007
【図５Ａ】
0004759284.tif 000008
【図５Ｂ】
0004759284.tif 000009
【図６】
0004759284.tif 000010
【図７】
0004759284.tif 000011
【図８】
0004759284.tif 000012
【図９】
0004759284.tif 000013
【図１０】
0004759284.tif 000014
【図１１】
0004759284.tif 000015
【図１２】
0004759284.tif 000016
【図１３】
0004759284.tif 000017
【図１４】
0004759284.tif 000018
【図１５】
0004759284.tif 000019
【図１６】
0004759284.tif 000020
【図１７】
0004759284.tif 000021
【図１８】
0004759284.tif 000022
【図１９】
0004759284.tif 000023