(58)【調査した分野】(Int.Cl.,DB名)
前記ビットストリームの始めから制御情報を復号化するステップは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスを復号化することを含み、前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
当該方法はさらに、
交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す値の少なくとも1つのペアを検出するステップと、
前記値の1つに従う境界ポジションに、前記少なくとも1つのペアの値の間の差分に従う長さを有する前記第1部分の1つを挿入するステップと、
を有する、請求項7又は8に記載の方法。
前記少なくとも2個以上の第1部分の復号化、少なくとも1個の第2部分が決定された場合の前記0個以上の第2部分の復号化、及び前記2個以上の第3部分の復号化は、少なくとも部分的に同時に実行され、
前記ビットストリームの前記第1部分、前記第2部分及び前記第3部分の復号化されたシンボルを提供するステップは、前記第1部分、前記第2部分及び前記第3部分をリオーダリングすることを含む、請求項7乃至9のうち何れか一項に記載の方法。
前記ビットストリームの始めから制御情報を復号化する復号化モジュールは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスの復号化を実行し、
前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
前記復号化モジュールはさらに、
交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す値の少なくとも1つのペアを検出する検出モジュールと、
前記値の1つに従う境界ポジションに、前記少なくとも1つのペアの値の間の差分に従う長さを有する前記第1部分の1つを挿入する挿入モジュールと、
を有する、請求項12に記載の装置。
【発明を実施するための形態】
【0020】
以下の実施例は、3Dメッシュモデルのオクツリー表現に基づく。本発明は、以下にさらに規定されるように、他のデータセット又はアプリケーションに適合されてもよい。3Dメッシュ符号化方式のオクツリー表現の基本的方法は、[OG00]から知られ、
図2に関してここでは説明される。
図2は、2Dケースのクワドツリージオメトリ符号化の原理を示すが、
図8に関して以下に示されるように、それは3Dモデルに容易に適合可能である。符号化について、現在のペアレントセルは、所定の順序でトラバースされる4つのチャイルドセルに分割され、チャイルドセル毎に1ビットが、チャイルドセル内にポイントがあるか示す。
図2a)などにおいて、2つのペアレントセル1,2のチャイルドセルは、図示されるようにトラバースされる(非エンプティチャイルドセルはグレイにカラー化される)。第1ペアレントセル1のチャイルドセル10,11,12,13は、トラバースの第1及び第3チャイルドセル10,12が1により示される非エンプティ(すなわち、1以上のポイントを含む)であるため、第1シーケンス1010により符号化される。第2及び第4チャイルドセル11,13は、ゼロにより符号化されるエンプティ(すなわち、ポイントを含まない)である。
図2b)は、異なるトラバースを用いた同一のセルと結果としてのコードとを示す。
【0021】
図8は、オクツリー方式のペアレントセルとチャイルドセルとを示す。オクツリー方式では、ペアレントセルは、8つのチャイルドセル80,...,86に分割される(左下のセル82の公報の1つの隠されたチャイルドセルは図示されない)。可能なトラバース順序は、左右、上下及び前後とすることが可能であり、セルのトラバースシーケンス80−81−82−83−84−85−(左下セル82の後方に隠されたセル)−86を生じさせる。対応して、オクツリーケースでは、非エンプティチャイルドセルコンフィギュレーションは、エンプティ及び非エンプティチャイルドセルの可能な255個のすべての組み合わせをカバーする8ビットバイナリにより示される。非エンプティチャイルドセルの個数の分離した符号化は要求されない。テーブル1は、非エンプティチャイルドセルコンフィギュレーションシーケンスの具体例である。
【0022】
【表1】
詳細に上述されたが、ペアレントセル内のチャイルドセルのトラバース順序は、本発明にとってあまり関連性はない。原理的には、任意のトラバース順序が、本発明について実質的に等価的に利用可能である。
【0023】
8ビットシンボルは、従来の算術符号化により効率的に圧縮可能であるが、その結果はそれが可能であるほどには良好(すなわち、効率的)でない。本発明は、効率性が改善された符号化方法と、対応する復号化方法とを提供する。
【0024】
【表2】
テーブル2において、典型的な複合3Dモデル(m1007)における最も頻繁に出現するシンボルの分布確率が示される。理解されるように、2進表現において1つの“1”のみを有するシンボルは、圧倒的な確率により出現する。ジオメトリカルな説明は、複数回の分割後に頂点はほとんどセルを共有しないということである。本発明によると、任意の可能なシンボルを要素とするシンボルセットS0={1,2,3,...,255}が規定される。さらに、頻繁に出現するシンボルである2の整数の冪乗を要素とする他のシンボルセットS1={1,2,4,8,16,32,64,128}が規定される。S1にはしばしばシンボルの長いランが含まれることが観察された。従って、確率モデルは、S1のシンボルのみを含むサブシーケンスの8シンボルモデルに簡単化される。
【0025】
図3は、ビットストリームの基本構造を示す。ビットストリームは、2つの第1部分J1,J2(すなわち、第1タイプJの部分)、1つの第2部分K1(すなわち、第2タイプKの部分)及び3つの第3部分N1,N2,N3(すなわち、第3タイプNの部分)を有する。各第1部分は、第1シンボルグループS1の連続するシンボルの第1の所定数Th1を少なくとも有し、各第2部分は、第2シンボルグループの連続するシンボルの第2の所定数Th2を少なくとも有し、ビットストリームの残りの部分が第3部分N1,N2,N3である。すなわち、第3部分N1,N2,N3は、ビットストリームに出現しうる任意のシンボルを有することが可能であるが、第1部分として適格であるのに十分でない第1シンボルグループS1の連続するシンボル(すなわち、第1の所定数Th1未満)と、第2部分として適格であるのに十分でない第2シンボルグループの連続するシンボル(すなわち、第2の所定数Th2未満)とを有することが可能である。もちろん、第1シンボルグループS1は第2シンボルグループS2のサブセットであるが、第1部分Jとして適格である連続するシンボルのシーケンスは、第2部分Kでなく第1部分Jとして符号化される。その理由は、第1部分は第2部分より高い効率性により符号化可能であるということである。さらに、第1及び第2部分J,Kは、第3部分Nより高い効率性で符号化可能であり、これにより、第2部分Kとして適格であるサブシーケンスが第2部分として符号化される。
【0026】
Th1に適した数値は(例えば、3Dメッシュモデルなどについて)、10〜100の範囲内であるが、入力シーケンスの性質又はトラバースされるツリーの深さ及び構造のそれぞれに依存してより大きなものであってもよい。Th2に適した数値は(例えば、3Dメッシュモデルなどについて)、20〜200の範囲内であるが、入力シーケンスの性質又はトラバースされるツリーの深さ及び構造のそれぞれに依存してより大きなものであってもよい。一例となる値は、Th1=50及びTh2=70である。これらの値は、3Dメッシュモデルの圧縮について最適化され、特に3Dメッシュモデルにおける繰り返し構造の検出により取得されるインスタンスポジションの圧縮について最適化される。それらは、他のアプリケーションに適用されるとき、調整可能である。従って、一実施例では、ツリーのリーフノードは3Dメッシュモデルのポイントであるが、他の実施例では、ツリーのリーフノードはマルチ接続3Dメッシュモデルにおける繰り返し構造のインスタンスポジションである。
【0027】
サブシーケンスが分割されるとき、境界を示すため数バイトのコストがかかる。そのコストは、S0モデルをS1又はS2モデルと置換することによって、圧縮の改善により補償される。S2モデルはS1よりはるかに多くのシンボルを有するため、S0モデルをS2により置換することによって取得されるゲインはより小さい。従って、Th2は、より効果的になるようにTh1より大きくなるべきである。しかしながら、本発明はまた、Th2=Th1又はTh2<Th1により機能する。
【0028】
図3にも示されるように、デコーダ制御情報は、ビットストリームの始めにおいて符号化される。デコーダ制御情報は、ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す値C
1を有する。
【0029】
以下において、具体例が与えられる。以下のシンボルシーケンスを検討する。
【0030】
【数2】
16個の“0”、16個の“1”、4個の“2”、4個の“3”がある。シンボルシーケンスのエントロピーは、
【数3】
となる。これは、直接的な算術符号化が実行可能なベストなものである。しかしながら、シンボルシーケンスを2つのサブシーケンスに分割する場合、さらなる圧縮が実現可能である。第1サブシーケンス
【数4】
は、16個のシンボルによるエンド及びシンボルの可能なすべてのタイプを有する。それの4つのシンボルタイプは、一様分布され、
【数5】
のエントロピーを有する。第2サブシーケンス
【数6】
は、2つのタイプのシンボル、すなわち、16個の“0”と16個の“1”とを有し、
【数7】
のエントロピーを有する。トータルのエントロピーは、32+32=64である。従って、以下に規定されるように、分割ポイントが適切に与えられる限り、さらなる改善が可能である。分割ポイントの表現のコストは、多数のシンボルの圧縮についてはわずかなオーバヘッドであり、それはまた本発明により最適化される。
【0031】
オクツリー符号化などの本発明による適応的エントロピー符号化方法は、以下のように機能する。上述されるように、オクツリーシンボルの大多数は、2進表現において1つの“1”しか有さない。2つのシンボルセットは、S0={1,2,3,...,255}及びS1={1,2,4,8,16,32,64,128}として定義され、すなわち、S1は2進表現において1つの“1”しか有さないシンボルである。S1のシンボルが独立に符号化される場合、これは、エントロピーを減少されるが、当該シンボルの位置を指定するビットのオーバヘッドを生じさせるであろう。本発明は、実質的にS1シンボルの長いランを検出及び符号化するだけによって、エントロピーの減少とオーバヘッドとの双方を最適化する。
【0032】
圧縮をさらに向上させるため、2進表現において2個まで(すなわち、1つ又は2つ)の“1”を有するシンボルを要素とする他のシンボルセットS2={3,5,9,17,33,65,129,6,10,18,34,66,130,12,20,36,68,132,24,40,72,136,48,80,144,96,160,192,1,2,4,8,16,32,64,128}が定義される。S2に含まれるシンボルのグループの符号化はまた、特定の条件において圧縮を改善する。従って、本発明は、2つ又は3つの算術コーデックを利用して、異なるシンボルセット内のシンボルを独立して符号化及び/又は復号化する。一実施例では、これら2つ又は3つの算術コーデックは、同時に作用するか、又は少なくとも部分的な時間のオーバラップで作用する。従って、符号化及び/又は復号化処理の全体が加速される。
【0033】
原理的には、ビットストリームの異なる部分及び部分のタイプJ,K,Nは、何れの方法により決定できる。ビットストリームの異なる部分を決定するための一例となる方法は、ビットストリームを第1、第2及び第3部分に分割する一例となる方法を示す
図7を参照して後述される。
【0034】
図7において、何れかの電子ストレージから入力シンボルシーケンスを受信又は読み込んだ後、シンボルは始めからスキャンされ、Th1個より多くの連続するS2シンボルを含むすべてのサブシーケンスが検出される。ここで、Th1は上述されるような所定の閾値である。これらのサブシーケンスをL
1,L
2,...,L
nにより示し、残りをN
1,N
2,...,N
nにより示す。これは、
図7のライン#1に示されるような構成を生じさせる。
【0035】
その後、Th1個より多くの連続するS1シンボルを含むサブシーケンスについて前のステップで検出された各Lタイプサブシーケンスを検索する。それらをJ
1,J
2,...,J
mにより示す。L
iからJ
iを削除することによって取得されたサブシーケンスは、K
1,K
2,...,K
nにより示される(
図7のライン#2を参照)。Th2個より少ないシンボルを含むK
jがN
iに再配置される。ここで、Th2は、上述されたS2シンボルの所定の閾値である(
図7のライン#3を参照)。このようにして、シンボルシーケンスは、3つのタイプJ,K,Nの複数のサブシーケンス(ここでは部分又はクリップとも呼ばれる)に分割される。第1タイプの各部分JはTh1個の連続するS1シンボル(第1シンボルグループ)を少なくとも有し、第2タイプの各部分KはTh2個の連続するS2シンボル(第2シンボルグループ)を有し、入力ビットストリームの残りの部分は、Th1個より少ない連続するS1シンボルとTh2個より少ない連続するS2シンボルとを有する第3部分N1,N2,N3である。ビットストリームは、2つの連続する部分、すなわち、Kタイプのすべての部分を少なくとも有する第1の連続パートH1と、J及びKタイプの部分のみを有する第2パートH2とに論理的に分割できる。空間ツリーを符号化するため、ツリー構造のリーフノードをトラバースすることにより終了する通常のトラバース順序が利用される。例えば、3Dメッシュモデルについて、リーフノードはモデルの1つのポイントのみに対応する。従って、ストリーム(及び第2パートH2)は常にJタイプのサブシーケンスにより終わる。
【0036】
図4において、一例となる結果として得られるクリップ(ヘッダなし)が示される。ここで、c
1,...,c
6は、サブシーケンスの境界の位置インジケータである。復号化は以下のように行われる。境界に関して、一実施例では、符号化は、エンドが既知であるため、ビットストリームのエンドから始まる。一実施例では、位置インジケータは、最後のものであるc
6が復号化に最初に利用されるため、ヘッダにおいて逆順c
6,...,c
1において符号化/復号化される(
図4に図示されない
図10を参照)。最後の部分は常にJタイプである(すなわち、1つのビットのみが1に設定される)。これは、Jタイプの値は空間ツリーのリーフノードに対応するためである。従って、ビットストリームの最後の部分J
3は、シンボル#100から始まってストリームの最後のシンボルで終わるJタイプ部分である。シンボルは、それがJタイプサブシーケンスであるため、第1シンボルセットS1からのものである。
【0037】
ストリームの構造に関する情報は、ヘッダに符号化される。
図10に示されるように、ストリームに何れかのKシーケンスがあるか示す単一のビット91が、ヘッダに符号化されてもよい(例えば、最初のビット91が“1”に設定されることは、Kシーケンスがあることを意味する)。一実施例では、Kシーケンスがある場合、以下のコードワード92(4ビットなど)は、ストリームにおける最後のKシーケンスのポジションを示す。この情報は、後述されるように、復号化に関連する。コードワード92は、第1パートH1と第2パートH2との間の境界を示すシーケンス番号であってもよい。(
図4の具体例では、コードワード92は、c
2をエンドからスタートするとき4番目の符号化された境界ポジションであるとして示すため“4”の値を有し、又はc
2をエンドからスタートするとき5番目の復号化された境界ポジションであると示すため“5”の値を有し、又はc
2を示すため“2”の値を有するか、又は最後のKシーケンスK
1のポジション範囲の任意の値、50若しくは同様のものなどであってもよい。)従って、このコードワード92はまた、最後のKシーケンスで終わるビットストリームの第1パートH1の最後の部分を示す。
【0038】
一実施例では、以降の第2コードワード93は、符号化された境界ポジションの個数を示す。第1及び第2コードワード92,93は慣例によりビットストリームにおいて異なって配置(スワップなど)されてもよいことに留意されたい。その後、境界ポジションc
max,...,c
0を表す値を有する部分94に続き(例えば、各12ビットが可能なストリーム長に依存するなど)、その後、実際のビットストリーム95に続く。一実施例では、第1パートH1は1つのNタイプ部分と1つのKタイプ部分のみを有することが含意される。この場合、ビットストリームの第1パートH1の最後の部分を示すコードワード92は必要でない。
【0039】
従って、ヘッダ情報の情報は、次のサブシーケンス(逆順)N
3が依然として第2パートH2にあり、従って、Nタイプを有する必要があることを示す。これは、第2パートH2は、交互のJタイプ及びNタイプ部分を有し、Jタイプ部分により終了するためである。本例では、N
3サブシーケンスは大変短く、すなわち、1つのシンボルのみであると判断され、本実施例では、N個のサブシーケンスのデフォルト長である。従って、前の境界ポジションがc
6=100であったため、次の境界は、c
5=99である。すなわち、N
3サブシーケンスは[99,100]である。その後、次の部分(逆順)J
2は第2パートH2にあり、Jタイプでなければならないと判断される。それの下方の境界は、c
3=70である。その後、次の部分(逆順)J
1は第2パートH2にあり、Jタイプでなければならないと判断される。それの下方の境界は、c
2=50である。ここで、4番目の符号化された境界ポジション値であるとしてc
2は、第1パートH1と第2パートH2との間の境界であると判断されてもよい。その後、次の部分(逆順)K
1はc
1=30の下方の境界を有し、第1部分インジケータ92に従って第1パートH1の最後の部分であると判断される。従って、それは、Kタイプでなければならない。
【0040】
すなわち、本実施例では、境界ポジションの予備的な符号化は、[100,99,72,70,50,30]であり、第2パートH2は、5番目の復号化された境界ポジション、すなわち、c
2=50から始まる。追加的なビットの節約を提供する境界ポジションの最終的な符号化を取得するため、境界ポジションの予備的な符号化は、以下のようにさらに詳細化される。
【0041】
Nタイプの少なくとも部分の長さが、1などのデフォルト長の値と比較される。Nタイプの部分がデフォルト長に等しい長さを有すると判断され、当該判断に応答して、Nタイプ部分の下方の境界の符号化はスキップされる。従って、1つの境界値の符号化が節約できる。デフォルト長以外の異なる長さを有するNタイプ部分を示すため、隣接する(次のものなど)Jタイプ部分の境界ポジションがヘッダにおいて交換される。すなわち、境界ポジションは通常は単調な順序により(c
max,...,c
0の減少又はc
0,...,c
maxの増加)符号化され、
図10を参照し、それらの値は単調な順序により増加又は減少し、隣接するN部分がデフォルト長を有する場合、Jタイプ部分の2つの境界ポジションが交換される。
【0042】
すなわち、本実施例では、境界ポジションの符号化は[100,70,72,50,30]となる。第2パートH2は、4番目の符号化された境界ポジションc
2=50から始まる(又は5番目の復号化された境界ポジションc
2=50において、それぞれ以下を参照)。
【0043】
交換された境界ポジションが復号化中にそれらの値に従って検出可能であるため、ビットストリームの第2パートH2においてNタイプシーケンスの境界ポジションを示すのに利用されるビットはない。通常の3Dメッシュモデル以外のデータ構造の一実施例では、同様の符号化情報がまた、ビットストリームの第1パートH1において利用可能である。
【0044】
上記の実施例では、境界ポジションの復号化は以下のとおりである(
図10を参考)。まず、それは、少なくとも1つのKシーケンスが存在するストリームの第1ビット91から復号化される。その後、一実施例では、最後のKシーケンスの後の境界ポジションc
2を示すインジケータ92が復号化され、例えば、4の値を有する。その後、一実施例では、符号化された境界ポジションの個数を表す値93が、5となるよう復号化される。その後、次の(number_of_boundary_positions)*12のビットが、境界ポジション値として復号化され、すなわち、[100,70,72,50,30]である。一実施例では、インジケータ92に従って、4番目の符号化された境界ポジション値の前の境界ポジション値(50である)は、第2パートH2にある。従って、値が単調減少でない場合(本例において)、1ビットN部分を示す境界値は省略された。従って、デコーダは、第3の値(すなわち、72)が第2の値(すなわち、70)より大きいことを検出し、この結果、100−1=99であるインプリシットな境界ポジションを100−1=99である(previous_boundary_position−1)に挿入し、さらに交換された境界ポジションをそれらの正しい順序に交換し戻す。従って、復号化は、[100,99,72,70,...]から始まるように復号化されたポジションシーケンスを抽出できる。以降の境界ポジションは、本例では単調である。従って、復号化されたポジションシーケンスは、[100,99,72,70,50,30]である。
【0045】
最後のK部分とビットストリームの第1パートH1とを示す表示92は、部分のタイプを決定するのに利用可能である。すなわち、一実施例では、表示92が5などであるという事実から、デコーダは、5番目の値(すなわち、50)がビットストリームの第1パートH1と第2パートH2との間の境界であると判断する。従って、デコーダは、先頭の4つの値(100,99,72,70)がJタイプ部分とNタイプ部分との間の境界ポジションであり、5番目の境界ポジション(50)がJタイプ部分とKタイプ部分との間であるか、又はそれぞれH1とH2との間であり、残りの境界ポジション(コンケースでは30のみ)がKタイプ部分とNタイプ部分との間であると判断する。
【0046】
図5は、本発明の一実施例による符号化方法のフローチャートを示す。本実施例では、ビットストリームを符号化する方法は、以下のステップを有する。すなわち、第1ステップは、少なくともバイナリシンボルの第1及び第2グループを規定し(51)、第1シンボルグループS1は、第2シンボルグループS2のサブセットである。
【0047】
第2ステップは、ビットストリーム内において2個以上の第1部分J1,J2、0個以上の第2部分K1及び2個以降の第3部分N1,N2,N3を決定する(52)を含み、各第1部分Jは、少なくとも第1シンボルグループS1の第1の所定数Th1個の連続するシンボルを有し、各第2部分Kは、少なくとも第2シンボルグループの第2の所定数Th2個の連続するシンボルを有し、ビットストリームの残りは第3部分N1,N2,N3から構成される。
【0048】
第3ステップは、ビットストリームにおいて第1及び第3部分J1,J2,N2のみを有する連続パートH2を決定する(53)ことを有する。
【0049】
第4ステップは、ビットストリームを符号化する(54)ことを有し、第1部分は第1コードを用いて符号化され(54A)、第2部分は第2コードを用いて符号化され(54B)、第3部分は第3コードを用いて符号化される(54C)。
【0050】
第5ステップは、ビットストリームにおいて第1部分、第2部分及び第3部分の間の境界ポジションを示す値C
1を符号化する(55)ことを有し、第1部分及び第3部分のみを有する連続パートH2では、第3部分N2の長さL
N2が所定の長さである場合、第1部分J1,J2と隣接する第3部分N2(すなわち、第1部分J1,J2に隣接する)との間の境界ポジションの符号化は省略され、所定の長さと異なる場合、第3部分N2の長さL
N2はインプリシットに符号化される。所定の長さは、正である必要があり(すなわち、非ゼロ)、好ましくは1である。しかしながら、それは、データ構造の特徴的構成に依存して、2などの他の値とすることができる。所定の長さは、デコーダの制御情報として符号化されるパラメータなどとしてインプリシット又はエクスプリシットに予め規定されてもよい。
【0051】
一実施例では、所定の長さは、インプリシットに1となるよう予め規定される。本実施例は、特に3Dメッシュモデルを符号化するための空間ツリーベースアプローチのツリー構造のトラバースから得られるビットストリームの符号化に効果的である。
【0052】
一実施例では、ビットストリームを符号化する方法は、バイナリシンボルの第1シンボルグループS1及び第2シンボルグループS2を少なくとも規定するステップであって、第1シンボルグループS1は第2シンボルグループS2より少ないシンボルを有し、第1シンボルグループのシンボルはまた第2シンボルグループに含まれる、規定するステップと、ビットストリーム内において各々が第1シンボルグループS1の規定された第1の最小数Th1個の連続するシンボルを少なくとも有する2つ以上の第1部分J1,J2と、各々が第2シンボルグループS2の規定された第2の最小数Th2個の連続するシンボルを少なくとも有する0個以上の第2部分K1と、ビットストリームの残りの部分を有する2つ以上の第3部分N1,N2,N3(ストリームが異なるタイプの交互の隣接部分を有するように、等しいタイプの隣接部分が蓄積される)を決定するステップと、ビットストリームを少なくとも第1連続パートH1と第2連続パートH2とに分割するステップであって、第1部分は、第3部分N1と0個以上の第2部分K1との少なくとも1つを有し、第2部分は、第1部分N2とビットストリームを符号化する少なくとも2つの第2部分J1,J2との少なくとも1つを有し、1つ以上の第1部分J1,J2は第1エンコーダEnc1を用いて符号化され、1つ以上の第2部分K1は第2エンコーダEnc2を用いて符号化され、1つ以上の第3部分N1,N2,N3は第3エンコーダEnc3を用いて符号化される、分割するステップと、ビットストリームにおいて第1部分、第2部分及び第3部分の長さを符号化するステップであって、少なくとも第2パートH2において、第1部分N2,N3の長さL
N2,L
N3の符号化は、長さが1である場合にスキップされる、符号化するステップとを有する。
【0053】
符号化方法のさらなる好適な実施例が後述される。
【0054】
一実施例では、第1シンボルグループ(S1)は、1に設定される1ビットと0に設定される残りのビットとを有するバイナリシンボルを有し、第2シンボルグループ(S2)は、1に設定される1つ又は2つのビットと、残りのビットが0であるバイナリシンボルを有する。
【0055】
一実施例では、ビットストリームは、特に3Dメッシュモデルの空間データ構造のトラバースされたオクツリー表現を表す。
【0056】
一実施例では、符号化ステップ54は、第1シンボルセットS1に基づき第1コードを利用する第1符号化ステップ54Aと、第2シンボルセットS2に基づき第2コードを利用する第2符号化ステップ54Bと、第3シンボルセットS3に基づき第3コードを利用する第3符号化ステップ54Cとを有する。一実施例では、第1、第2及び第3符号化54A,54B,54Cの少なくとも一部は、同時に実行される。
【0057】
一実施例では、デコーダ制御情報は、ビットストリームの始めで符号化され、デコーダ制御情報は、ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す値C
1を有する。
【0058】
一実施例では、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジション又は長さは、値のシーケンスc
max,...,c
0として符号化され、ビットストリームの第1パートH1と第2パートH2の第1部分について、境界ポジションを表す値が、境界がスキップされない場合に単調な順序により符号化され、第1部分J1,J2と隣接する第3部分N2との間の境界ポジションのインプリシットな符号化は、第1部分J1の境界の順序(すなわち、下方及び上方の境界)を交換することを含む。一実施例では、ビットストリームの第3部分N2の所定の長さL
N2は1である。
【0059】
図6は、本発明の一実施例による復号化方法のフローチャートを示す。ビットストリームを復号化する方法は、以下のステップを有する。第1ステップは、ビットストリームの始めから制御情報C
1を復号化すること(61)を有する。
【0060】
第2ステップは、制御情報に従ってビットストリーム内において、各々が第1シンボルグループS1の連続するシンボルを有する2つ以上の第1部分J1,J2と、各々が第2シンボルグループS2の連続するシンボルを有する0個以上の第2部分K1と、第3シンボルグループS3のシンボルを有する2つ以上の第3部分N1,N2,N3とを決定する(62)ことを有し、第3部分N1と0個以上の第2部分K1との少なくとも1つが、ビットストリームの第1連続パートH1にあり、第1部分N2と少なくとも2つの第2部分J1,J2との少なくとも1つが、ビットストリームの第2連続パートH2にある。
【0061】
第3ステップは、連続するシンボルを復号化する(64)ことを有し、以下の3つのサブステップを少なくとも有する。
【0062】
第1サブステップは、第1シンボルデコーダを用いて、(第1シンボルグループS1に基づき)少なくとも2つ以上の第1部分J1,J2の連続するシンボルを固定長のシンボルに復号化する(64A)を有する。
【0063】
第2サブステップは、少なくとも1つの第2部分K1が決定された場合、第1シンボルデコーダを用いて、(第2シンボルグループS2に基づき)0個以上の第2部分K1の連続するシンボルを固定長のシンボルに復号化する(64B)ことを有する。第2シンボルグループS2は、第1シンボルグループS1のシンボルと追加的なシンボルとを有する。
【0064】
第3サブステップは、第3シンボルデコーダを用いて、(第3シンボルグループS3に基づき)2つ以上の第3部分N1,N2,N3のシンボルを固定長のシンボルに復号化する(64C)ことを有し、第3シンボルグループS3は、第2シンボルグループS2に含まれないシンボルのみを有する。
【0065】
最後に、第4ステップ66は、制御情報に従って順番にビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルをリオーダリング及び提供することを有する。
【0066】
復号化方法のさらなる効果的な実施例が後述される。
【0067】
一実施例では、第1シンボルグループは、1に設定される1ビットと0である残りのビットを有するバイナリシンボルを有し、第2シンボルグループは、1に設定される1つ又は2つのビットと0である残りのビットとを有するバイナリシンボルを有する。
【0068】
一実施例では、ビットストリームは、3Dメッシュモデルのトラバースされたオクツリー表現を表す。
【0069】
一実施例では、ビットストリームの始めから制御情報C
1を復号化する(61)ステップは、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジションを示す値のシーケンスc
max,...,c
0を復号化することを有し、ビットストリームの第1パートH1の境界ポジションを表す値は単調な順序を有し、ビットストリームの第2パートH2の第1部分J1,J2の境界ポジションを表す値は、単調な順序を有する。
【0070】
一実施例では、復号化方法はさらに、交換された単調な順序を有するビットストリームの第2パートH2における境界ポジションを表す値の少なくとも1つのペアc
3,c
4を検出する(66B)ステップと、少なくとも1つの値のペアc
3,c
4の間の差分に従う長さを有する第1部分N2,N3の一方を値の一方に従う境界ポジションにおいて挿入する(66C)ステップとをさらに有する。
【0071】
一実施例では、少なくとも2つ以上の第1部分J1,J2の復号化64A、少なくとも1つの第2部分K1が決定された場合の0個以上の第2部分K1の復号化64B、及び2個以上の第3部分N1,N2,N3の復号化64Cは、少なくとも部分的に同時に(少なくとも部分的な時間のオーバラップ)実行される。
【0072】
一実施例では、ビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルを提供する(66)ステップは、第1部分、第2部分及び第3部分をリオーダリングする(66A)ことを含む。
【0073】
一実施例では、制御情報C
1は、第1部分、第2部分及び第3部分の少なくとも長さを有する。これらの長さは、境界ポジションの形式で表現されてもよい。
【0074】
図11は、本発明の一実施例によるビットストリームを符号化する装置700のブロック図を示す。本実施例では、ビットストリームを符号化する装置は、以下のモジュールを有する。各モジュールは、独立したハードウェアブロックとして実現されてもよい。第1モジュール751は、バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するシンボル定義モジュールであり、第1シンボルグループS1は、第2シンボルグループS2のサブセットである。
【0075】
第2モジュール752は、ビットストリーム内において2個以上の第1部分J1,J2、0個以上の第2部分K1及び2個以上の第3部分N1,N2,N3を決定する決定モジュールであり、各第1部分Jは、第1シンボルグループS1の第1の所定数Th1個の連続するシンボルを少なくとも有し、各第2部分Kは、第2シンボルグループの第2の所定数Th2個の連続するシンボルを少なくとも有し、ビットストリームの残りは第3部分N1,N2,N3から構成される。
【0076】
第3モジュール753は、第1及び第3部分J1,J2,N2のみを有する連続パートH2をビットストリームにおいて少なくとも決定する決定モジュールである。
【0077】
第4モジュール754は、ビットストリームを符号化する符号化モジュールであり、第1部分は第1コードを用いて符号化され(754A)、第2部分は第2コードを用いて符号化され(754B)、第3部分は第3コードを用いて符号化される(754C)。
【0078】
第5モジュール755は、ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジションを示す値C
1を符号化する符号化モジュールであり、第1部分及び第3部分のみを有する連続パートH2において、第3部分N2の長さL
N2が所定の長さである場合、第1部分J1,J2と隣接する第3部分N2(すなわち、第1部分J1,J2に隣接する)との間の境界ポジションの符号化はスキップされ、所定の長さと異なる場合、第3部分N2の長さL
N2はインプリシットに符号化される。所定の長さは、正である必要があり(すなわち、非ゼロ)、好ましくは1である。しかしながら、それは、データ構造の特徴的構成に依存して2などの他の値とすることが可能である。所定の長さは、デコーダ制御情報として符号化されるパラメータなどとしてインプリシット又はエクスプリシットに予め規定されてもよい。
【0079】
図12は、本発明の一実施例によるビットストリームを復号化する装置800のブロック図を示す。本実施例では、ビットストリームを復号化する装置は、以下のモジュールを有する。各モジュールは、独立したハードウェアブロックとして実現されてもよい。第1モジュール861は、ビットストリームの始めから制御情報C
1を復号化する復号化モジュール61である。
【0080】
第2モジュール862は、制御情報に従ってビットストリーム内において各々は第1シンボルグループS1の連続するシンボルを有する少なくとも2つ以上の第1部分J1,J2、各々が第2シンボルグループの連続するシンボルを有する0個以上の第2部分K1、及び第3シンボルグループのシンボルを有する2個以上の第3部分N1,N2,N3を決定する決定モジュールであり、第3部分N1及び0個以上の第2部分K1の少なくとも1つは、ビットストリームの第1連続パートH1にあり、第1部分N2及び少なくとも2個の第2部分J1,J2の少なくとも1つは、ビットストリームの第2の連続パートH2にある。
【0081】
第3モジュール864は、連続するシンボルを復号化する復号化モジュールであり、少なくとも以下の3つのサブモジュールを有する。
【0082】
第1サブモジュール864Aは、第1シンボルデコーダを用いて、(第1シンボルグループS1に基づき)少なくとも2個以上の第1部分J1,J2の連続するシンボルを固定長のシンボルに復号化する第1復号化モジュールである。
【0083】
第2サブモジュール864Bは、第1シンボルデコーダを用いて、少なくとも1つの第2部分K1が決定された場合、(第2シンボルグループS2に基づき)0個以上の第2部分K1の連続するシンボルを固定長のシンボルに復号化する第2復号化モジュールである。第2シンボルグループS2は、第1シンボルグループS1のシンボルと追加的なシンボルとを有する。
【0084】
第3サブモジュール864Cは、第3シンボルデコーダを用いて、(第3シンボルグループS3に基づき)2個以上の第3部分N1,N2,N3のシンボルを固定長のシンボルに復号化する第3復号化モジュールであり、第3シンボルグループS3は、第2シンボルグループS2に含まれないシンボルのみを有する。
【0085】
第4モジュール866は、制御情報に従って順番にビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルをリオーダリング及び提供する再構成出力モジュールである。すなわち、このモジュールは、ビットストリームの各種部分を復号化されたビットストリームに再構成する。
【0086】
復号化装置の一実施例では、ビットストリームの始めから制御情報C
1を復号化する復号化モジュール861は、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジションを示す値のシーケンス(c
max,...,c
0)の復号化を実行し、ビットストリームの第1パートH1の境界ポジションを表す値は単調な順序を有し、ビットストリームの第2パートH2の第1部分J1,J2の境界ポジションを表す値は単調な順序を有し、復号化モジュール861はさらに、交換された単調な順序を有するビットストリームの第2パートH2における境界ポジションを表す値の少なくとも1つのペア(c
3,c
4、上記及び
図4を参照)を検出する検出モジュール866Bと、少なくとも1つの値のペア(c
3,c
4)の間の差分に従う長さを有する第1部分N2,N3の値の一方を、当該値の一方に従う境界ポジションに挿入する挿入モジュール866Cとを有する。
【0087】
図8は、上述されるように、クワドツリーベース2Dジオメトリ符号化と比較したオクツリーベースベース3Dジオメトリ符号化の原理を示す。
【0088】
図9は、各種のビットストリーム構造の具体例を示す。
図9a)に示される第1構造では、ビットストリームの第1パートH1は、2つのKタイプ部分と、その結果としてさらに2つのNタイプ部分とを有する(オクツリー構造のルートに対応して最初の部分は通常はNタイプであるため)。ビットストリームの第2パートH2は、2つのJタイプ部分と、その結果として1つのNタイプ部分とを有する(すなわち、Nタイプ部分の個数はJタイプ部分の個数から1を差し引いたものである)。
【0089】
図9b)に示される第2構造では、ビットストリームの第1パートH1は、2つのKタイプ部分と、1つのみのNタイプ部分とを有する(最初の部分がKタイプとなるように、Th2個のみの非エンプティチャイルドセルを有するペアレントセルのレアケースに対応して)。また、このケースは、本発明の原理に従って処理可能である。最後のKタイプ部分は、本ケースではK
2部分であり、境界ポジションの個数に従って、デコーダは、最初のシーケンスがKタイプでなければならないと判断できる。ビットストリームの第2パートH2は、2個のJタイプ部分と、その結果として1つのNタイプ部分とを有する。
【0090】
図9c)に示される第3構造では、ビットストリームの第1パートH1は、1つのKタイプ部分と、その結果としてさらに1つのNタイプ部分とを有する。第1部分が第1部分の境界ポジションの個数に従って符号化/復号化可能な1つのみの部分を有する場合、追加的な表示は、上述されるように、それがKタイプ又はNタイプであるか示すのに必要とされる。ビットストリームの第2パートH2は、6個のJタイプ部分と、その結果としての5個のNタイプ部分とを有する(Jタイプ部分の個数から1を差し引いたもの)。
【0091】
図9d)に示される第4構造では、ビットストリームの第1パートH1は、2個のKタイプ部分と、その結果としてさらに2個のNタイプ部分とを有する。ビットストリームの第2パートH2は、6個のJタイプ部分と、その結果としての5個のNタイプ部分とを有する(Jタイプ部分の個数から1を差し引いたもの)。
【0092】
図10は、ビットストリームの一例となるヘッダの構造を示し、すでに上述された。簡単化のため、上述した実施例は、Kタイプサブシーケンスの個数を1に制限している。ビットストリームの始めの4ビットバイナリ92は、Kタイプの最後のサブシーケンスを示すのに利用可能である。これは、復号化がビットストリームのエンドからスタートするため、第1の復号化されたKタイプサブシーケンスとなる。例えば、バイナリ92は、Kであることが適格とされるサブシーケンスがないとき、“0000”であり、第1パートH1は、Nタイプ部分しか有さない。
【0093】
本発明は、有意に異なる統計分布を有する複数のセクションに分割可能なデータを効率的に圧縮する方法を提供する。最も適切な統計モデルを各部分に適用することによって、より大きな圧縮が実現される。特に、本発明の方法は、3Dの頂点のポジションのためのオクツリー圧縮に対して大変良好に機能する。
【0094】
符号化の1つの効果は、それが異なるデータセクションの特徴に調整されることである。最良の確率モデルが自動的に選択され、異なるセクションの算術符号化(又は他のエントロピー圧縮)に適用され、最適な圧縮が行われる。本発明の他の効果は、セクションの境界が既知の方法と比較してより少ないインデックス数により指定されることである。具体的には、オクツリー圧縮の一実施例では、オクツリーのシンボルは、255シンボル確率モデル、36シンボル確率モデル又は8シンボル確率モデルにより符号化される少数のセクションに分割される。これらのモデルは、特に複雑な又は中程度に複雑な3Dモデルなどの多数の3Dモデルのオクツリーデータについて最適化される。本発明のさらなる他の効果は、上記の初期的な確率モデルによる3個(又はそれ以上)のエントロピーコーデックが、対応するデータを圧縮するため独立して実行されてもよいことである。
【0095】
以下の言及は特定の実施例に関連する。
【0096】
一実施例では(
図4と同様)、境界インジケータの順序は、符号化前に反転され、すなわち、c
yからc
1である。大部分のN
i(i>2)は1つのみの要素しか有さないことが観察され、このような1シンボルのサブシーケンスのための2つの境界インジケータを符号化することは無駄すぎる。従って、上方の境界のみが符号化される。例えば、N
3が1つのシンボルしか有さない場合、c
6が符号化されている場合、c
5は符号化される必要はない。N
3が複数のシンボルを有するとき、c
5及びc
6の双方が符号化される。しかしながら、c
5は、通常の順序と異なってc
6の前に符号化される。そのとき、デコーダは、複数シンボルのサブシーケンスとしてN
3を考慮するよう指示されるであろう。符号化される必要のあるx個の境界ポジションインジケータがあると仮定すると、xは4ビットバイナリとして符号化され、必要な境界インジケータが12ビットバイナリとして符号化される。
図4の具体例のため、ビットストリームに書き込まれる値は[5:100,70,72,50,30]である。3個(又は2個)の算術エンコーダによりそれぞれN
i,K
i,J
iのシンボルを符号化する。N及びKの初期的な確率モデルは、テーブル1の確率モデルに従って決定され、Jの初期的な確率は一様分布として設定される。上記のモデルは、各種ジオメトリデータのオクツリーシンボルの統計に基づき最適化される。3つの算術エンコーダの結果は合成され、ビットストリームに書き込まれる。最初の2つの算術エンコーダは、異なるエンコーダにより符号化されるサブストリームを分離する通常のシンボルに加えて、1以上のターミナルシンボルを有してもよい。
【0097】
一実施例では、復号化は、ビットストリームを伸張するための以下のステップを有する。すなわち、存在する場合、サブシーケンスK
1がどこに配置されているか決定するための1ビットを読み込み、4ビットバイナリを読み込み、それを10進数値xとして復号化する。xはビットストリームにおける境界インジケータの個数である。x個の12ビットバイナリを読み込み、それらを10進数値c
x〜c
1として復号化し、復号化された境界インジケータに従ってシンボルシーケンスのクリップ構造を構成する。一例として
図4を取り上げ、x=5であり、復号化されたc
iは[100,70,72,50,30]である。エンドのサブシーケンスは常にJであるため、c
xはそれの下方の境界位置でなければならない。従って、J
3=[100,∞]を有し、“∞”は、上方の境界が復号化されたシンボルの個数に依存することを意味する。
【0098】
復号化のさらなるステップは、最後のJサブシーケンスを取得した後、前のものが1つずつ構成される。c
i>c
i−1である場合(通常の単調のケース)、前のサブシーケンスは1つのみのシンボルを有し、新たな値[c
i−1]が、前の前のサブシーケンスの上方の境界として挿入される。本例では、[100]及び[70,99]が取得される。
【0099】
c
i<c
i−1である場合(非単調のケース)、前のサブシーケンスは[c
i−1,c
i]である。すなわち、一般にすべての実施例では、境界ポジションは、隣接するN個のサブシーケンスがそれのデフォルトの長さを有しない場合、交換される。現在のサブシーケンスの境界は、更新されてもよい。本例では、取得された境界[70,90]は[72,90]に更新され、新たなサブシーケンスの境界[70,72]が利用可能である。
所定の初期的な確率モデルを有する2個又は3個の算術デコーダによりシンボルを伸張する。1つのサブストリームのターミナルシンボルが出現するとき、新たなデコーダが機能し始める。その後、サブシーケンスの適切なポジションに配置するための復号化されたシンボルの2個又は3個の系列が取得される。オクツリー圧縮に関して示されたが、本発明の趣旨及び範囲内で想到される当業者に明らかなオクツリー圧縮以外の他のタイプの符号化が構成されてもよいことに留意すべきである。さらに、第1及び第2シンボルセットS1,S2に関して示されるが、他のタイプのシンボルセット及び/又は追加的なシンボルセットの階層(1に設定された1、2又は3ビットによるシンボルセットS3など)が、本発明の趣旨及び範囲内で想到される当業者に明らかなように、構成されてもよいことに留意すべきである。これは、符号化対象のデータが異なるセクションにおいて有意に異なる統計分布を有する場合、特に真である。
【0100】
それの好適な実施例に適用されるような本発明の基本的に新規な特徴が図示、説明及び指摘されたが、開示された装置及びそれらの動作の形態及び詳細により説明された装置及び方法の各種の省略、置換及び変更は、本発明の趣旨から逸脱することなく当業者により可能であることが理解されるであろう。本発明は3Dメッシュモデルに関して開示されたが、当業者は、ここに説明される方法及び装置が(限定することなく)特にジオメトリ符号化についてクワドツリー、オクツリー又は相当する同様のアプローチを利用する何れかのデータ圧縮方法又は装置に適用されてもよいことを認識するであろう。具体例として、マップ上のポイント、任意の3次元構造上のポイント又は同様のものなどの空間ポイントがあげられる(すなわち、空間座標を有するポイント)。空間ポイントはそれらの2D又は3D座標により表され、ツリー構造はポイント間の関係を符号化し、それは実際には符号化されるツリーであるため、本発明は、n次元座標(n=1,2,3,4などを含む)により特徴付けされるリーフ要素の間の関係を表す任意のツリー状の構成を符号化するのに利用可能であり、特にモデル適応的エントロピー符号化に利用可能である。同一の結果を実現するため実質的に同じ方法で実質的に同じ機能を実行する要素のすべての組み合わせは本発明の範囲内であることが、明示的に意図される。1つの説明された実施例から他の実施例への要素の置換はまた、完全に意図され、想定される。
【0101】
本発明は純粋に具体例による説明され、詳細の変更は本発明の範囲から逸脱することなく可能であることが理解されるであろう。
【0102】
説明、(適切である場合)請求項及び図面に開示される核特徴は、独立して又は何れか適切な組み合わせにより提供されてもよい。適切である場合、特徴はハードウェア、ソフトウェア又はこれら2つの組み合わせにより実現されてもよい。請求項に示される参照番号は、単なる例示であり、請求項の範囲に対して限定的な効果を有するものでない。
以下、上記の実施形態に関する付記を例示的に列挙する。
(付記1)
ビットストリームを符号化する方法であって、
バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するステップであって、前記第1シンボルグループは前記第2シンボルグループのサブセットである、定義するステップと、
前記ビットストリーム内において2個以上の第1部分、0個以上の第2部分及び2個以上の第3部分を決定するステップであって、各第1部分は前記第1シンボルグループの第1の所定数個の連続するシンボルを少なくとも有し、各第2部分は前記第2シンボルグループの第2の所定数個の連続するシンボルを少なくとも有し、前記ビットストリームの残りの部分は第3部分である、決定するステップと、
前記ビットストリームにおいて第1及び第3部分のみを有するパートを決定するステップと、
前記ビットストリームを符号化するステップであって、前記第1部分は第1コードを用いて符号化され、前記第2部分は第2コードを用いて符号化され、前記第3部分は第3コードを用いて符号化される、符号化するステップと、
前記ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジションを示す値を符号化するステップであって、前記第1及び第3部分のみを有するパートにおいて、第1部分と隣接する第3部分との間の境界ポジションの符号化は、前記第3部分が所定の長さを有する場合にはスキップされ、前記第3部分が前記所定の長さ以外の異なる長さを有する場合にはインプリシットに符号化される、符号化するステップとを有する方法。
(付記2)
前記第1シンボルグループは、1に設定された1ビットと、0に設定された残りのビットとを有するバイナリシンボルを有し、
前記第2シンボルグループは、1に設定された1又は2ビットと、0に設定された残りのビットとを有するバイナリシンボルを有する、付記1記載の方法。
(付記3)
前記ビットストリームは、特に3Dメッシュモデルの空間データ構造のトラバースされるオクツリー表現を表す、付記1又は2記載の方法。
(付記4)
前記符号化するステップは、第1シンボルセットに基づく前記第1コードを用いた第1符号化と、第2シンボルセットに基づく前記第2コードを用いた第2符号化と、第3シンボルセットに基づく前記第3コードを用いた第3符号化とを有し、
前記第1、第2及び第3符号化の少なくとも一部は、同時に実行される、付記1乃至3何れか一項記載の方法。
(付記5)
デコーダ制御情報が、前記ビットストリームの始めに符号化され、
前記デコーダ制御情報は、前記ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す前記値を有する、付記1乃至4何れか一項記載の方法。
(付記6)
前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジション又は長さは、値のシーケンスとして符号化され、
前記ビットストリームの第1パートと及び第2パートの第1部分について、前記境界ポジションを表す値は、境界がスキップされていない場合には単調な順序で符号化され、
前記第1部分と隣接する第3部分との間の境界ポジションのインプリシットな符号化は、前記第1部分の境界の順序を交換することを含む、付記1乃至5何れか一項記載の方法。
(付記7)
前記ビットストリームの第3部分の所定の長さは1である、付記1乃至6何れか一項記載の方法。
(付記8)
ビットストリームを復号化する方法であって、
前記ビットストリームの始めから(第1部分、第2部分及び第3部分の長さを有する)制御情報を復号化するステップと、
前記制御情報に従って、前記ビットストリーム内において各々が第1シンボルグループの連続するシンボルを有する少なくとも2個以上の第1部分、各々が第2シンボルグループの連続するシンボルを有する0個以上の第2部分、及び第3シンボルグループのシンボルを有する2個以上の第3部分を決定するステップであって、前記第3部分及び前記0個以上の第2部分の少なくとも1つは前記ビットストリームの連続する第1パートにあり、前記第1部分及び前記少なくとも2個の第2部分の少なくとも1つは前記ビットストリームの連続する第2パートにある、決定するステップと、
第1シンボルデコーダを用いて、(第1シンボルグループに基づき)前記少なくとも2個以上の第1部分の連続するシンボルを固定長のシンボルに復号化するステップと、
第1シンボルデコーダを用いて、少なくとも1個の第2部分が決定された場合、(前記第1シンボルグループのシンボルと追加的なシンボルとを有する第2シンボルグループに基づき)前記0個以上の第2部分の連続するシンボルを前記固定長のシンボルに復号化するステップと、
第3シンボルデコーダを用いて、(第3シンボルグループに基づき)前記2個以上の第3部分のシンボルを前記固定長のシンボルに復号化するステップであって、前記第3シンボルグループは前記第2シンボルグループに含まれないシンボルのみを有する、復号化するステップと、
前記制御情報に従って順番に前記ビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルを提供するステップとを有する方法。
(付記9)
前記第1シンボルグループは、1に設定された1ビットと、0に設定された残りのビットとを有するバイナリシンボルを有し、
前記第2シンボルグループは、1に設定された1又は2ビットと、0に設定された残りのビットとを有する、付記7記載の方法。
(付記10)
前記ビットストリームは、3Dメッシュモデルのトラバースされるオクツリー表現を表す、付記7又は8記載の方法。
(付記11)
前記ビットストリームの始めから制御情報を復号化するステップは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスを復号化することを含み、前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
当該方法はさらに、
交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す少なくとも1つの値のペアを検出するステップと、
前記値の1つに従う境界ポジションに、前記少なくとも1つの値のペアの間の差分に従う長さを有する前記第1部分の1つを挿入するステップと、
を有する、付記7乃至9何れか一項記載の方法。
(付記12)
前記少なくとも2個以上の第1部分の復号化、少なくとも1個の第2部分が決定された場合の前記0個以上の第2部分の復号化、及び前記2個以上の第3部分の復号化は、少なくとも部分的に同時に(少なくとも部分的な時間のオーバラップで)実行され、
前記ビットストリームの前記第1部分、前記第2部分及び前記第3部分の復号化されたシンボルを提供するステップは、前記第1部分、前記第2部分及び前記第3部分をリオーダリングすることを含む、付記7乃至10何れか一項記載の方法。
(付記13)
ビットストリームを符号化する装置であって、
バイナリシンボルの第1及び第2シンボルグループを少なくても定義する定義モジュールであって、前記第1シンボルグループは前記第2シンボルグループのサブセットである、定義モジュールと、
前記ビットストリーム内において2個以上の第1部分、0個以上の第2部分及び2個以上の第3部分を決定する第1決定モジュールであって、各第1部分は前記第1シンボルグループの第1の所定数個の連続するシンボルを少なくとも有し、各第2部分は前記第2シンボルグループの第2の所定数個の連続するシンボルを少なくとも有し、前記ビットストリームの残りの部分は第3部分である、第1決定モジュールと、
前記ビットストリームにおいて第1及び第3部分のみを有するパートを決定する第2決定モジュールと、
前記ビットストリームを符号化する第1符号化モジュールであって、前記第1部分は第1コードを用いて第1サブエンコーダにおいて符号化され、前記第2部分は第2コードを用いて第2サブエンコーダにおいて符号化され、前記第3部分は第3コードを用いて第3サブエンコーダにおいて符号化される、第1符号化モジュールと、
前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の間の境界ポジションを示す値を符号化する第2符号化モジュールであって、前記第1及び第3部分のみを有するパートにおいて、第1部分と隣接する第3部分との間の境界ポジションの符号化は、前記第3部分が所定の長さを有する場合にはスキップされ、前記第3部分が前記所定の長さ以外の異なる長さを有する場兄はインプリシットに符号化される、第2符号化モジュールとを有する装置。
(付記14)
ビットストリームを復号化する装置であって、
前記ビットストリームの始めから制御情報を復号化する第1復号化モジュールと、
前記制御情報に従って前記ビットストリーム内において、各々が第1シンボルグループの連続するシンボルを有する2個以上の第1部分、各々が第2シンボルグループの連続するシンボルを有する0個以上の第2部分、及び第3シンボルグループのシンボルを有する2個以上の第3部分を決定する第1決定モジュールであって、前記第3部分と前記0個以上の第2部分との少なくとも1つは前記ビットストリームの第1の連続パートにあり、前記第1部分と前記少なくとも2個の第2部分との少なくとも1つは前記ビットストリームの第2の連続パートにある、第1決定モジュールと、
第1シンボルデコーダを用いて、第1シンボルグループに基づき前記少なくとも2個以上の第1部分の連続するシンボルを固定長のシンボルに復号化する第1復号化サブモジュールと、第1シンボルデコーダを用いて、少なくとも1つの第2部分が決定された場合、前記0個以上の第2部分の連続するシンボルを前記固定長のシンボルに復号化する第2復号化サブモジュールと、第3シンボルデコーダを用いて、(第3シンボルグループに基づき)前記2個以上の第3部分のシンボルを前記固定長のシンボルに復号化する第3復号化サブモジュールであって、前記第3シンボルグループは前記第2シンボルグループに含まれないシンボルのみを有する、第3復号化サブモジュールとを有する第2復号化モジュールと、
前記制御情報に従って前記ビットストリームの前記第1部分、前記第2部分及び前記第3部分を順番に提供する再構成出力モジュールとを有する装置。
(付記15)
前記ビットストリームの始めから制御情報を復号化する復号化モジュールは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスの復号化を実行し、
前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
前記復号化モジュールはさらに、
交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す少なくとも1つの値のペアを検出する検出モジュールと、
前記値の1つに従う境界ポジションに、前記少なくとも1つの値のペアの間の差分に従う長さを有する前記第1部分の1つを挿入する挿入モジュールと、
を有する、付記14記載の装置。
【0103】
引用文献
[OG00]O.Devillers,P.Gandoin.Geometoric compression for interactive transmission,in:IEEE Visualization,2000,pp.319−326
[PK05]J.L.Peng,C.−C.Jay Kuo,Geometry−guided progressive lossless 3D mesh coding with octree(OT) decomposition,ACM SIGGRAPH(ACM Transactions on Graphics 24(3)),609−616,2005