(57)【要約】３Ｄモデルは、“パターン−インスタンス”表現を用いてモデル化可能であり、インスタンス成分は、パターンの変形（例えば、回転、平行移動、及びスケーリング）として表現され得る。圧縮効率を改善するよう、インスタンスの変形のための回転部分及び平行移動部分についての量子化パラメータは、対応するパターンを符号化するのに使用される量子化パラメータに基づき決定され得る。具体的に、回転部分のための量子化パラメータはインスタンスのサイズに依存してよく、平行移動部分のための量子化パラメータは平行移動のスケールに依存してよい。すなわち、より大きいインスタンスは、回転部分について、より細かい量子化パラメータを使用してよい。量子化パラメータは、パターン、変形の平行移動部分、及び変形の回転部分を圧縮することで引き起こされる量子化誤差が同程度であるように決定される。
2015520886.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄモデルを表すビットストリームを生成又は復号する方法であって、
前記３Ｄモデルに関連するパターンを符号化するために使用される第１の量子化パラメータにアクセスするステップと、
前記パターンの、該パターンの変形として表されるインスタンスのスケールと、前記パターンのスケールとを決定するステップと、
前記第１の量子化パラメータ、前記インスタンスのスケール、及び前記パターンのスケールに応答して、前記インスタンスについての前記変形の回転部分のための第２の量子化パラメータを決定するステップと、
前記第２の量子化パラメータに応答して、前記インスタンスについての前記変形の前記回転部分の符号化又は復号化を実行するステップと
を有する方法。
【請求項２】
前記第２の量子化パラメータは、前記インスタンスのスケールと前記パターンのスケールとの間の比に応答して決定される、
請求項１に記載の方法。
【請求項３】
前記インスタンスについての前記回転部分のスケールを決定するステップを更に有し、
前記第２の量子化パラメータは、前記インスタンスについての前記回転部分のスケールに応答して決定される、
請求項１に記載の方法。
【請求項４】
前記パターンのスケールは、前記３Ｄモデルにおける全てのパターンの境界ボックスの対角距離に応答して決定される、
請求項１に記載の方法。
【請求項５】
前記インスタンスのスケールは、当該インスタンスの境界ボックスの対角距離に応答して決定される、
請求項１に記載の方法。
【請求項６】
前記インスタンスについての前記変形の平行移動部分のスケールを決定するステップと、
前記第１の量子化パラメータ、前記平行移動部分のスケール、及び前記パターンのスケールに応答して、前記平行移動部分のための第３の量子化パラメータを決定するステップと
を更に有する、請求項１に記載の方法。
【請求項７】
前記平行移動部分のための前記第３の量子化パラメータは、前記平行移動部分のスケールと前記パターンのスケールとの間の比に応答して決定される、
請求項６に記載の方法。
【請求項８】
前記パターン、前記変形の前記回転部分、及び前記変形の平行移動部分を符号化するにより引き起こされる量子化誤差は、略同じである、
請求項１に記載の方法。
【請求項９】
前記パターンを符号化するために使用される前記第１の量子化パラメータは、前記３Ｄモデルのスケール及び前記パターンのスケールのうちの少なくとも１つに応答して決定される、
請求項１に記載の方法。
【請求項１０】
前記変形の前記平行移動部分を量子化することに関連する前記量子化誤差は、前記平行移動部分を量子化するための第３の量子化パラメータ及び前記平行移動部分の範囲に応答して決定される、
請求項９に記載の方法。
【請求項１１】
請求項１乃至９のうちいずれか一項に記載の方法に従って３Ｄモデルを表すビットストリームを生成又は復号する手段を有する装置。
【請求項１２】
請求項１乃至９のうちいずれか一項に記載の方法に従ってビットストリームを生成又は復号する命令を記憶するコンピュータ可読媒体。
【請求項１３】
請求項１乃至９のうちいずれか一項に記載の方法に従って生成されるビットストリームを記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄモデルを表すビットストリームを生成する方法及び装置と、そのようなビットストリームを復号する方法及び装置とに関する。
【背景技術】
【０００２】
実際の用途において、多くの３Ｄモデルは、多数の連結されたコンポーネントから成る。そのようなマルチコンポーネント３Ｄモデルは、通常、図１に示されるように、様々な変形において多くの反復構造を含む。
【０００３】
入力モデルにおいて反復構造を利用するマルチコンポーネント３Ｄモデルのための有効な圧縮アルゴリズムが知られている。３Ｄモデルの反復構造は、様々な位置、方向付け、及びスケーリング係数から見つけられる。その場合に、３Ｄモデルは、“パターン−インスタンス”表現に体系化される。パターンは、対応する反復構造の代表的な形状を表すために使用される。反復構造に属するコンポーネントは、対応するパターンのインスタンスとして表され、パターンＩＤ並びに変形情報、例えば、パターンに対する反転、平行移動、回転及び可能なスケーリングによって表現されてよい。インスタンス変形情報は、例えば、反転部分、平行移動部分、回転部分及び可能なスケーリング部分に体系化されてよい。反復的でない３Ｄモデルの幾つかのコンポーネントが存在することがあり、それらは固有コンポーネントと呼ばれる。
【０００４】
K.Cai，W.Jiang，及びT.Luoによる“System  and  method  for  error  controllable  repetitive  structure  discovery  based  compression”と題された他の自己のＰＣＴ出願（PCT/CN2012/070877，整理番号PA120001）において、インスタンス成分の間の冗長性を低減して圧縮効率を改善するよう３Ｄモデルにおける反復構造を識別する方法及び装置が開示されている。なお、このＰＣＴ出願の教示は、具体的に参照により本願に援用される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際特許出願第PCT/CN2012/070877号
【発明の概要】
【課題を解決するための手段】
【０００６】
本原理は、以下で記載されるように、３Ｄモデルを表すビットストリームを生成又は復号する方法であって、前記３Ｄモデルに関連するパターンを符号化するために使用される第１の量子化パラメータにアクセスするステップと、前記パターンの、該パターンの変形として表されるインスタンスのスケールと、前記パターンのスケールとを決定するステップと、前記第１の量子化パラメータ、前記インスタンスのスケール、及び前記パターンのスケールに応答して、前記インスタンスについての前記変形の回転部分のための第２の量子化パラメータを決定するステップと、前記第２の量子化パラメータに応答して、前記インスタンスについての前記変形の前記回転部分の符号化又は復号化を実行するステップとを有する方法を提供する。本原理はまた、それらのステップを実行する装置を提供する。
【０００７】
本原理はまた、上記の方法に従ってビットストリームを生成又は復号する命令を記憶するコンピュータ可読記憶媒体を提供する。
【０００８】
本原理はまた、上記の方法に従って生成されるビットストリームを記憶するコンピュータ可読記憶媒体を提供する。
【図面の簡単な説明】
【０００９】
【図１】多数の連結されたコンポーネント及び反復構造を備える３Ｄモデルを例示する。
【図２Ａ】パターンを表す絵による例を示す。
【図２Ｂ】対応するインスタンス及び再構成されたインスタンスを表す絵による例を示す。
【図２Ｃ】対応するインスタンス及び回転パラメータの再構成誤差を伴うインスタンスを表す絵による例を示す。
【図３】本原理の実施形態に従って、３Ｄモデルのパターン及びインスタンスを符号化する例を表すフロー図である。
【図４】本原理の実施形態に従って、３Ｄモデルのパターン及びインスタンスを復号する例を表すフロー図である。
【図５】本原理に従う３Ｄモデルのエンコーダを例示する。
【図６】本原理に従う３Ｄモデルのデコーダを例示する。
【図７】本原理の実施形態に従うビットストリーム構造を表す例を示す。
【発明を実施するための形態】
【００１０】
図１に示されるように、３Ｄモデルにおいて多くの反復構造が存在してよい。３Ｄモデルを効率よく符号化するよう、反復構造は、パターン及びインスタンスに体系化されてよい。インスタンスは、例えば、平行移動、回転、及びスケーリングのような情報を含む変換マトリクス及びパターンＩＤを用いて、対応するパターンの変形として表現され得る。
【００１１】
インスタンスがパターンＩＤ及び変換マトリクスによって表現される場合に、パターンＩＤ及び変換マトリクスは、インスタンスを圧縮するときに圧縮されるべきである。結果として、インスタンスは、パターンＩＤ及び復号された変換マトリクスを通じて再構成されてよい。すなわち、インスタンスは、パターンＩＤによってインデックスを付された復号されたパターンの変形として（復号された変換マトリクスから）再構成されてよい。
【００１２】
図２Ａ及び図２Ｂは、２Ｄ表現におけるコンポーネントの例を表す。コンポーネント２１０及び２２０はパターンであり、コンポーネント２３０及び２５０（実線）は、圧縮される原のインスタンスであり、コンポーネント２４０及び２６０（破線）は、再構成されたインスタンスである。特に、インスタンス２３０及び２５０は、夫々、パターン２１０及び２２０の変形された（すなわち、回転及び平行移動された）バージョンとして表現され得る。図２Ｂにおいて、原のインスタンスと再構成されたインスタンスとの間には、平行移動及び回転移動の両方の量子化によって引き起こされる誤差が存在する。説明のために、図２Ｃにおいて、我々は、回転誤差のみを有するインスタンス２７０及び２８０を提供する。
【００１３】
図２Ｃの例で、回転の量子化は、約５°の誤差を導入し、原のインスタンスと再構成されたインスタンスとの間に差を引き起こす。図２Ｃから分かるように、回転誤差（角度における）はインスタンス２３０及び２５０について同じようであり、一方、回転量子化によって引き起こされる頂点座標誤差（すなわち、原のインスタンスと再構成されたインスタンスとの間、例えば、図２ＣではＡからＡ”、ＢからＢ”、の頂点シフト）は、両方のインスタンスの間で有意に変化し、インスタンス２５０は、より一層大きな頂点座標誤差を有する。結果として、同じ量子化が、様々なサイズを有するインスタンスについて使用される場合に、再構成されたコンポーネントの品質は一貫せず、例えば、より大きいインスタンスは、より小さいインスタンスよりも低い再構成品質を有し得る。
【００１４】
本原理は、３Ｄエンコーダの速度ひずみ性能を考慮することによって、３Ｄインスタンス成分についての変形情報を効率よく量子化するための方法及び装置を提供する。一実施形態において、最大許容ひずみを考えると、インスタンスの回転部分及び平行移動部分のための量子化パラメータは、速度ひずみ性能が改善されるように決定される。以下で、量子化ビットの数が、量子化パラメータの例として使用される。本原理は、量子化ステップサイズのような他の量子化パラメータが使用される場合に、適用されてよい。
【００１５】
変形のスケーリング部分は、無損失浮動小数点コーデックによって圧縮され得るので、変形のスケーリング部分は、以下の議論に関与しない。
【００１６】
発見された“パターン−インスタンス”表現に基づき、原のインスタンスの頂点ｖは、次の式によって表現され得る：
ｖ＝Ｒ×ｐ＋Ｔ          （１）
ここで、ｐは、対応するパターンにおけるｖの対応する頂点であり、Ｒ及びＴは、夫々、パターンとインスタンスとの間の回転行列及び変換ベクトルである。
【００１７】
ｖの復号された位置ｖｄは、次のように計算され得る：
ｖｄ＝Ｒｄ×ｐｄ＋Ｔｄ          （２）
ここで、ｐｄは、ｐの復号された位置であり、Ｒｄ及びＴｄは、夫々、復号された回転行列及び復号された変換ベクトルである。
【００１８】
頂点ｖについての圧縮によって引き起こされるひずみは、次いで、次のように計算され得る：
ｖ−ｖｄ＝（Ｒ×ｐ＋Ｔ）−（Ｒｄ×ｐｄ＋Ｔｄ）
＝（Ｒ×ｐ−Ｒｄ×ｐｄ）＋（Ｔ−Ｔｄ）          （３）
＝（Ｒ×ｐ−Ｒｄ×ｐｄ）＋ΔＴ
数学理論に基づき、以下が推測され得る：
【数１】
2015520886.tif 000003
ここで、‖Δｐ‖ｍａｘは、頂点ｐの量子化誤差の上限であり、‖ΔＴ‖ｍａｘは、インスタンス平行移動の量子化誤差の上限である。
【００１９】
回転行列が、同数の量子化ビットを用いて量子化され得るオイラー角（α，β，γ）によって表現されるとしたならば、その場合：
【数２】
2015520886.tif 000004
ここで、Δθｍａｘは、α、β及びγについての量子化誤差の上限である。式（５）は、他の表現又は異なる量子化パラメータが角度（α，β，γ）に使用される場合に適応可能である。式（５）を用いると、式（４）は次のようになる：
【数３】
2015520886.tif 000005
ここで、‖ｐ‖ｍａｘは、対応するパターンのいずれかの頂点と対応するパターンの中心との間の最大距離である。
【００２０】
パターンを符号化するために使用される量子化ビットの数がＱＢ＿Ｐａｔｔｅｒｎと表され、且つ、平行移動を符号化するための量子化ビットの数がＱＢ＿ｔｒａｎｓｌａｔｉｏｎと表されるならば、‖Δｐ‖ｍａｘは、次のように計算されてよい：
【数４】
2015520886.tif 000006
そして、‖ΔＴ‖ｍａｘは、次のように計算されてよい：
【数５】
2015520886.tif 000007
ここで、Ｐａｔｔｅｒｎ＿Ｓｃａｌ及びＴｒａｎｓｌａｔｉｏｎ＿Ｓｃａｌは、夫々、パターン頂点の境界ボックス及び平行移動のスケールである。一例において、Ｔｒａｎｓｌａｔｉｏｎ＿Ｓｃａｌは、全てのインスタンスの全ての平行移動の最大及び最小の可能な値の間の差として測定可能であり、Ｐａｔｔｅｒｎ＿Ｓｃａｌは、全てのパターンを含む境界ボックスの対角距離として測定可能である。他の例において、Ｐａｔｔｅｒｎ＿Ｓｃａｌは、ｘ、ｙ、及びｚ次元の最大値として測定可能である。
【００２１】
我々の目標の１つは、最大符号化誤差を制御しながらビットを割り当てることである。最大許容符号化誤差がＭａｘＥｒｒであるならば、式（６）は、以下の不等式を満足すべきである：
【数６】
2015520886.tif 000008
一実施形態において、簡単のために、我々は、全てのパターンが同数の量子化ビットを使用し、全てのインスタンス平行移動が同数の量子化ビットを使用すると仮定する。よって、パターンについての量子化誤差は、次の式を満足してよい：
【数７】
2015520886.tif 000009
そして、インスタンスについての量子化誤差は、次の式を満足してよい：
【数８】
2015520886.tif 000010
量子化誤差のための上限が式（８）及び（９）において推定された後、我々は、パターン頂点の境界ボックス及びインスタンス平行移動のスケールに基づき、量子化ビットの数を推定することができる。
【００２２】
１つの簡略化された例となる実施形態において、我々は、いずれの上限も同じであると仮定してよく、よって、式（８）及び（９）に従って、インスタンス平行移動は、パターンと同数の量子化ビットを使用してよい。
【００２３】
他の例となる実施形態において、パターンの境界ボックスとインスタンスの境界ボックスとの間のスケール差が考慮される。‖ｐ‖ｍａｘ＜‖ΔＴ‖ｍａｘならば、平行移動部分のための量子化ビットの数は、次のように計算され得る：
【数９】
2015520886.tif 000011
パラメータＴｒａｎｓｌａｔｉｏｎ＿Ｓｃａｌは、ビットストリームにおいて送信されてよく、それは、エンコーダ及びデコーダの両方で利用可能になる。それにより、式（１０）は、エンコーダ及びデコーダの両方で使用され得る。式（１０）に従って、全てのインスタンス平行移動は、パターンのスケールとインスタンス平行移動との間の比に関係がある同じ量子化パラメータを使用する。
【００２４】
図２において論じられたように、同じ回転量子化誤差（角度における）は、より大きいコンポーネントにおいて、より大きい頂点シフトを引き起こすことがある。よって、回転情報のための量子化パラメータは、インスタンスのサイズに従って適応的に量子化されてよい。例えば、より大きいビット数、又はより小さい量子化ステップサイズのような、より精緻な量子化パラメータが、より大きいインスタンスの回転部分を量子化するために使用されてよい。
【００２５】
回転量子化誤差により引き起こされる頂点座標誤差は、次の式を満足してよい：
【数１０】
2015520886.tif 000012
すなわち、ｉ番目のインスタンス成分についての回転量子化誤差の上限は、次のように推定されてよい：
【数１１】
2015520886.tif 000013
ここで、ＨａｌｆＳｃａｌｉは、ｉ番目のインスタンス成分の半分のスケール（すなわち、インスタンスの境界ボックスの対角距離の半分）である。一実施形態において、ＨａｌｆＳｃａｌｉは、対応する再構成されたパターンから推定されてよい。エンコーダ及びデコーダの両方によってアクセス可能な再構成されたパターンを用いてＨａｌｆＳｃａｌｉを推定することによって、回転部分のための量子化パラメータは、デコーダで計算可能であり、よって、エンコーダは、ビットストリームにおいて回転部分のための量子化パラメータを明示的に示す必要がない。Δθｍａｘ＿ｉは、式（１２）から別なふうに推定されてよい。例えば、より厳しい近似が式（５）において推定される場合に、式（１２）並びに式（７）及び（１１）は然るべく更新されてよい。
【００２６】
圧縮の前に、全てのパターンは、世界座標系とアライメントされる。次いで、全てのパターンは、同じ量子化パラメータを用いて一緒に符号化されてよい。パターンの位置及び方向付けがまた符号化され、ビットストリームにおいて記録される。パターンを符号化するための量子化ビットの数（ＱＢ＿Ｐａｔｔｅｒｎ）を用いて、ｉ番目のインスタンスの回転部分のための量子化ビットの数（ＱＢ＿Ｒｏｔｉ）は、次のように、回転角度及びパターン頂点の境界ボックスのスケールに基づき計算されてよい：
【数１２】
2015520886.tif 000014
ここで、ａｎｇｌｅ＿Ｓｃａｌは、回転角度のスケールである。一例において、ａｎｇｌｅ＿Ｓｃａｌは、全てのインスタンス回転の最大及び最小の可能な対の間の差として測定可能である。他の例において、我々は、ａｎｇｌｅ＿Ｓｃａｌを２πに設定する。
【００２７】
Ｐａｔｔｅｒｎ＿Ｓｃａｌが全てのパターンの境界ボックスのサイズとして測定され、且つ、夫々のオイラー角の可能な値が０〜２πであるとすると、式（１３）は次のようになる：
【数１３】
2015520886.tif 000015
すなわち、インスタンスがより大きい（すなわち、ＨａｌｆＳｃａｌｉがより大きい）場合に、インスタンスのための量子化ビットの数（ＱＢ＿Ｒｏｔｉ）は、より大きくなるよう決定される。よって、本原理に従って、より大きいインスタンスは、その回転部分について、より精細な量子化を得る。
【００２８】
ここで、我々は、式（１４）において変形におけるスケーリング部分は存在しないと仮定する。式（１４）は、回転角度のスケールが変化するか、変形のスケーリング部分が考慮されるか、又はパターン及びインスタンスのサイズが別なふうに測定される場合に、然るべく調整されるべきである。
【００２９】
先に論じられたように、インスタンスの変換マトリクスの平行移動部分及び回転部分のための量子化パラメータは、圧縮効率を改善するために、パターンを符号化するのに使用される量子化パラメータに基づき決定されてよい。１つの例となる実施形態において、パターンを符号化するのに使用される量子化ビットの数（ＱＢ＿Ｐａｔｔｅｒｎ）は、ビットストリームにおいて示されてよく、インスタンスの変換マトリクスの平行移動部分は、式（１０）を用いて計算されてよく、回転部分のための量子化ビットの数は、式（１４）を用いて計算されてよい。
【００３０】
他の例となる実施形態において、我々は、パターン頂点、インスタンス平行移動及びインスタンス回転の再構成誤差の上限が同じであると仮定する。すなわち、
【数１４】
2015520886.tif 000016
ここで、‖ΔＥ‖ｍａｘは、モデル全体の量子化誤差の上限であり、‖ΔＰ‖ｍａｘは、全てのパターンのための量子化誤差の上限である。結果として、パターンを符号化するための量子化ビットの数は、次のように、３Ｄ入力モデル全体の量子化ビットの数から計算されてよい：
【数１５】
2015520886.tif 000017
ここで、ＱＢ＿ＥｎｔｉｒｅＭｏｄｅｌは、３Ｄ入力モデル全体のための量子化ビットの数であり、ＥｎｔｉｒｅＭｏｄｅｌ＿Ｓｃａｌは、３Ｄ入力モデル全体のサイズを反映する。
【００３１】
上記において、Ｐａｔｔｅｒｎ＿Ｓｃａｌは、３Ｄモデルにおける全てのパターンを用いて測定され得る。他の実施形態において、パターンは別個に圧縮され、同じパターンのインスタンスは一緒に圧縮される。全てのパターンは、同じ量子化パラメータを使用してよい。更に、式（１０）及び（１３）におけるＰａｔｔｅｒｎ＿Ｓｃａｌは、対応するパターンの境界ボックスのスケールに対応し、式（１０）におけるＴｒａｎｓｌａｔｉｏｎ＿Ｓｃａｌ及び式（１３）におけるａｎｇｌｅ＿Ｓｃａｌは、夫々、現在のパターンのインスタンスの平行移動及び回転角度のスケールに対応する。
【００３２】
図３は、３Ｄモデルのパターン及びインスタンスを符号化する方法３００の例を表す。方法３００はステップ３０５から開始する。ステップ３１０で、３Ｄモデルデータが入力され、初期化が実行される。品質パラメータや、パターンを符号化するための量子化パラメータのような追加データが更に入力されるか、又は入力から推定されてよい。１つの例となる実施形態において、初期化ステップは、反復構造をパターン及びインスタンスに体系化し、インスタンスについて変換マトリクスを生成する。ステップ３２０で、パターンは、再構成されたパターンを形成するよう符号化される。ステップ３５０で、パターン、平行移動、及び回転のスケールが決定される。例えば、パターンのスケール（Ｐａｔｔｅｒｎ＿Ｓｃａｌ）は、全てのパターンを含む境界ボックスの対角距離として測定されてよく、平行移動のスケール（Ｔｒａｎｓｌａｔｉｏｎ＿Ｓｃａｌ）は、メタデータから取得され、ビットストリームにおいて送信されてよく、回転スケール（ａｎｇｌｅ＿Ｓｃａｌ）は、角度表現に基づき決定されてよい。例えば、ａｎｇｌｅ＿Ｓｃａｌは、オイラー表現が使用される場合に２πに設定される。
【００３３】
ステップ３６０で、インスタンスについての変換マトリクスの平行移動部分のための量子化パラメータは、例えば、式（１０）を用いて、決定されてよい。変換マトリクスの回転部分のための量子化パラメータは、例えば、式（１４）を用いて、決定されてよい。インスタンスについての変換マトリクスは、次いでステップ３７０で符号化される。ステップ３８０で、更なるインスタンスが処理される必要があるかどうかが確認される。更なるインスタンスが処理されるべきである場合は、制御はステップ３５０へ返される。さもなければ、制御は終了ステップ３９９へ渡される。
【００３４】
図４は、３Ｄモデルのパターン及びインスタンスを復号する方法４００の例を表す。方法４００の入力は、ビットストリーム、例えば、方法３００を用いて生成されたビットストリームを含んでよい。方法４００はステップ４０５から開始する。ステップ４１０で、初期化が実行される。例えば、パターンを符号化するために使用される量子化パラメータが、入力されたビットストリームから導出される。
【００３５】
パターンがステップ４２０で復号される。ステップ４３５で、パターン、平行移動、及び回転のスケールが決定される。ステップ４４０で、インスタンス成分についての変換マトリクスの平行移動部分及び／又は回転部分のための量子化パラメータが決定されてよい。変換マトリクスは、ステップ４５０で復号される。インスタンスは、次いでステップ４６０で、例えば、対応する再構成されたパターン及び復号された変換マトリクスを用いて、再構成される。ステップ４７０で、更なるインスタンスが処理される必要があるかどうかが確認される。処理される必要があるインスタンスが存在する場合は、制御はステップ４３５へ返される。さもなければ、制御は終了ステップ４９９へ渡される。
【００３６】
適切にインスタンスを復号するよう、パターン、平行移動、及び回転についてスケールを決定し、且つ、量子化パラメータを計算する対応する方法が、エンコーダ及びデコーダで使用されるべきである点に留意されたい。例えば、方法３００によって生成されたビットストリームが方法４００への入力として使用される場合に、ステップ４３５及び４４０は夫々、ステップ３５０及び３６０に対応すべきである。
【００３７】
図３及び図４において、３Ｄモデルにおける全てのパターンは、インスタンスより前に符号化又は復号される。他の実施形態において、夫々のパターンの符号化／復号化は、対応するインスタンスの符号化／復号化が後に続いてよい。
【００３８】
上記において、如何にして量子化ビットの数を割り当てるべきかは、最大許容誤差を前提として論じられている。他方で、式（７）はまた、速度制御のために、すなわち、復号される３Ｄモデルの品質を最適化するようビットの数を鑑み量子化パラメータを決定するために、使用され得る。
【００３９】
圧縮されたパターンの、ビットの数において測定されるサイズは、次のように計算されてよい：
Ｃｏｍｐｒ＿Ｐａｔｔｅｒｎ
＝ＱＢ＿Ｐａｔｔｅｒｎ×Ｐａｔｔｅｒｎ＿Ｖｅｒ＿Ｎｕｍ×Ｃｐｖ＋Ｐａｔｔｅｒｎ＿Ｔｒｉ＿Ｎｕｍ×Ｃｐｔ          （１６）
ここで、Ｐａｔｔｅｒｎ＿Ｖｅｒ＿Ｎｕｍ及びＰａｔｔｅｒｎ＿Ｔｒｉ＿Ｎｕｍは、夫々、全てのパターンの頂点の数及び三角形の数であり、Ｃｐｖ及びＣｐｔは、例えば、エントロピ符号化の圧縮比を計数するために使用される、所定の値である。一実施において、Ｃｐｖ＝０．２及びＣｐｔ＝３である。圧縮されたインスタンスのサイズは、次のように計算され得る：
【数１６】
2015520886.tif 000018
ここで、Ｃｉｎｓｔａは、所定の値である。圧縮された固有コンポーネントのサイズは、次のように計算され得る：
Ｃｏｍｐｒ＿ＵｎｉＣｏｍｐ
＝ＱＢ＿ＵｎｉＣｏｍｐ×ＵｎｉＣｏｍｐ＿Ｖｅｒ＿Ｎｕｍ×Ｃｐｖ＋ＵｎｉＣｏｍｐ＿Ｔｒｉ＿Ｎｕｍ×Ｃｐｔ          （１８）
ここで、ＱＢ＿ＵｎｉＣｏｍｐは、固有コンポーネントを符号化するための量子化ビットの数であり、ＵｎｉＣｏｍｐ＿Ｖｅｒ＿Ｎｕｍ及びＵｎｉＣｏｍｐ＿Ｔｒｉ＿Ｎｕｍは、夫々、固有コンポーネントの頂点の数及び三角形の数である。１つの例となる実施形態において、‖ΔＵ‖ｍａｘ＝‖ΔＰ‖ｍａｘであり、ＱＢ＿ＵｎｉＣｏｍｐは、次のように計算されてよい：
【数１７】
2015520886.tif 000019
ここで、ＵｎｉＣｏｍｐ＿Ｓｃａｌは、固有部分の境界ボックスのスケールである。固有コンポーネントの平行移動のための量子化ビットは、次のように計算されてよい：
【数１８】
2015520886.tif 000020
ここで、ＵｎｉＣｏｍｐ＿Ｔｒａｎｓｌ＿Ｓｃａｌは、全ての固有コンポーネントの全ての平行移動の境界ボックスのスケールである。
【００４０】
圧縮された３Ｄモデルの全体のサイズは、次いで、次のように計算され得る：
Ｃｏｍｐｒ＿ＥｎｔｉｒｅＭｏｄｅｌ＝Ｃｏｍｐｒ＿Ｐａｔｔｅｒｎ＋Ｃｏｍｐｒ＿Ｉｎｓｔａ＋Ｃｏｍｐｒ＿ＵｎｉＣｏｍｐ          （２０）。
式（１０）、（１４）及び（１９）に基づき、ＱＢ＿Ｔｒａｎｓｌａｔｉｏｎ、ＱＢ＿Ｒｏｔｉ、又はＱＢ＿ＵｎｉＣｏｍｐは、ＱＢ＿Ｐａｔｔｅｒｎの関数として求められ得る。次いで、式（１０）、（１４）、及び（１６）〜（１９）に従って、Ｃｏｍｐｒ＿Ｐａｔｔｅｒｎ、Ｃｏｍｐｒ＿Ｉｎｓｔａ、又はＣｏｍｐｒ＿ＵｎｉＣｏｍｐは、ＱＢ＿Ｐａｔｔｅｒｎの関数として表現され得る。更に、式（２０）を用いて、圧縮された３Ｄモデルの全体のサイズＣｏｍｐｒ＿ＥｎｔｉｒｅＭｏｄｅｌとＱＢ＿Ｐａｔｔｅｒｎとの間の関係が求められ得る。続いて、期待される圧縮されたモデルサイズＣｏｍｐｒ＿Ｍｏｄｅｌを鑑みて、ＱＢ＿Ｐａｔｔｅｒｎが決定されてよい。ＱＢ＿Ｐａｔｔｅｒｎから、符号化誤差の上限ＭａｘＥｒｒは、ＭａｘＥｒｒ＝３×Ｐａｔｔｅｒ＿Ｓｃａｌ／２ＱＢ＿Ｐａｔｔｅｒｎ＋１を用いて計算され得る。
【００４１】
図５は、３Ｄモデルエンコーダ５００の例のブロック図を表す。装置５００の入力は、３Ｄモデル、３Ｄモデルを符号化するための品質パラメータ及び他のメタデータを含んでよい。３Ｄモデルは、最初に、反復構造発見モジュール５１０を通過する。反復構造発見モジュール８１０は、パターン、インスタンス及び固有コンポーネントに関して３Ｄモデルを出力する。パターンエンコーダ５２０は、パターンを圧縮するために用いられ、固有コンポーネントエンコーダ５５０は、固有コンポーネントを符号化するために用いられる。インスタンスに関し、インスタンス成分情報は、ユーザにより選択されたモードに基づき符号化される。インスタンス情報グループモードが選択される場合は、インスタンス情報は、グループ化インスタンス情報エンコーダ５４０を用いて符号化される。さもなければ、それは、素インスタンス情報エンコーダ５３０を用いて符号化される。符号化されたコンポーネントは、更に、反復構造検証部５６０において検証される。符号化されたコンポーネントがその品質要件を満足しない場合は、それは、固有コンポーネントエンコーダ５５０を用いて符号化されるであろう。パターン、インスタンス、及び固有コンポーネントのためのビットストリームは、ビットストリームアセンブラ５７０でまとめられる。
【００４２】
圧縮効率を改善するよう、原の３Ｄモデルの全てのコンポーネントは、コンポーネントの中心がアライメントされるように平行移動されてよい。中心の平行移動は、圧縮され、ビットストリームにおいて示される必要がある。速度ひずみ性能は、コンポーネントの境界ボックスが（ほとんどの場合において）よりずっと小さくてよく、且つ、より少ない量子化ビットが同じ符号化誤差について必要とされるので、改善され得る。
【００４３】
加えて、パターンは、コンポーネントの中心を原点へ平行移動させることによって生成されてよく、原のコンポーネントは、インスタンスとみなされてよい。圧縮効率を改善するよう、パターン成分（パターンに対応するコンポーネント）に関し、平行移動のみが、圧縮されたビットストリームにおいて示される。パターン−インスタンス表現からのビットレート節約を保証するよう反復構造が全く又は十分に存在しない場合は、入力された３Ｄモデルの全てのコンポーネントは、固有コンポーネントと見なされてよい。
【００４４】
図６は、３Ｄモデルデコーダ６００の例のブロック図を表す。装置６００の入力は、３Ｄモデルのビットストリーム、例えば、エンコーダ５００によって生成されたビットストリームを含んでよい。圧縮されたビットストリームにおけるパターンに関連した情報は、パターンデコーダ６２０によって復号される。固有コンポーネントに関連した情報は、固有コンポーネントデコーダ６５０によって復号される。インスタンス情報の復号化はまた、ユーザにより選択されたモードに依存する。インスタンス情報グループモードが選択される場合は、インスタンス情報は、グループ化インスタンス情報デコーダ６４０を用いて復号される。さもなければ、それは、素インスタンス情報デコーダ６３０を用いて復号される。復号されたパターン、インスタンス情報及び固有コンポーネントは、モデル再構成モジュール６６０で出力３Ｄモデルを生成するよう再構成される。
【００４５】
図７は、圧縮されたビットストリームを生成する方法７００の例を表す。ビットストリームは、圧縮されたストリームを復号するための必要な情報を全て含むヘッダバッファ（ＰＢ３ＤＭＣ＿ｓｔｒｅａｍ＿ｈｅａｄｅｒ７１０）から始まる。情報は、次のものを含んでよい：
・原のモデルにおいて固有の部分が存在するかどうか，
・原のモデルにおいて少なくとも１つの反復構造が存在するかどうか，
・“グループインスタンス変形モード”又は“素インスタンス変形モード”がこのビットストリームにおいて使用されているかどうか，
・原の３Ｄモデルに関する情報，
・インスタンスが有し得る属性のタイプに関する情報，
・形状を圧縮するために使用される３Ｄモデル圧縮方法，及び
・全ての３Ｄオブジェクト（必要な場合に、パターン及び他の部分）の接続性及び特性。
【００４６】
原のモデルにおいて固有の部分及び反復構造が存在しない場合は（ｕｎｉ＿ｐａｒｔ＿ｂｉｔ＝＝０＆ｒｅｐｅａｔ＿ｓｔｒｕｃ＿ｂｉｔ＝＝０）、ビットストリームの残りの部分は、ＰＢ３ＤＭＣ＿ｓｔｒｅａｍ＿ｈｅａｄｅｒにおいて示されている３Ｄモデル圧縮方法を用いる圧縮された入力３Ｄモデル（７３０）である。そうでない場合は、ビットストリームにおける次の部分は、幾らか存在する場合に（７４０）、全ての固有コンポーネントの圧縮された結果である（７４５）。少なくとも１つの反復構造が存在する場合は（７５０）、次のデータフィールドは、全てのパターンの圧縮された結果である（７６０）。インスタンス変形パッキングモードがビットストリームにおいて選択されているかどうかに依存して（７７０）、ｃｏｍｐｒ＿ｉｎｓｔａ＿ｇｒｏｕｐｅｄ＿ｄａｔａ（７８０）又はｃｏｍｐｒ＿ｉｎｓｔａ＿ｅｌｅｍｅｎｔａｒｙ＿ｄａｔａ（７８５）のいずれかがビットストリームにおける次の部分である。
【００４７】
表１において、ヘッダについての例となるシンタックス及びセマンティクスが本原理のために表されている。幾つかのデータフィールドは３ＤＭＣエクステンション［w11455，Final  text  of  ISO/IEC  14496-16  4th  Edition，MPEG-3DGC，93th  MPEG  meeting，2011-02］のビットストリーム定義から取られている点に留意されたい。
【００４８】
【表１】
2015520886.tif 000021
ｖｅｒ＿ｎｕｍ：この３２ビットの符号なし整数は、３Ｄモデル全体の頂点の数を含む。この値は、復号された３Ｄモデルを検証するために使用され得る。
ｔｒｉ＿ｎｕｍ：この３２ビットの符号なし整数は、３Ｄモデル全体の三角形の数を含む。この値は、復号された３Ｄモデルを検証するために使用され得る。
ｄｅｆａｕｌｔ＿ｃｏｏｒｄ＿ｂｂｏｘ：この１ビットの符号なし整数は、デフォルトの境界ボックスが３Ｄモデル全体の形状のために使用されるかどうかを示す。０は、他の境界ボックスを用いることを意味し、１は、デフォルトの境界ボックスを用いることを意味する。デフォルトの境界ボックスは、ｘｍｉｎ＝０．０、ｙｍｉｎ＝０．０、ｚｍｉｎ＝０．０、ｘｍａｘ＝１．０、ｙｍａｘ＝１．０、及びｚｍａｘ＝１．０として定義される。
ｃｃｏｒｄ＿ｂｂｏｘ：このデータフィールドは、３Ｄモデル全体の形状の境界ボックスを含む。形状境界ボックスは、（ｘｍｉｎ，ｙｍｉｎ，ｚｍｉｎ，ｘｍａｘ，ｙｍａｘ，ｚｍａｘ）によって定義される。
ＱＰ＿ｃｏｏｒｄ：この５ビットの符号なし整数は、３Ｄモデル形状の品質パラメータを示す。ＱＰ＿ｃｏｏｒｄの最小値は３であり、最大値は３１である。ＱＰ＿ｃｏｏｒｄは、式（１０）におけるＱＰ＿Ｐａｔｔｅｒｎ又は式（１５）におけるＱＢ＿ＥｎｔｅｒＭｏｄｅｌに対応してよい。
ｎｏｒｍａｌ＿ｂｉｎｄｉｎｇ：この２ビットの符号なし整数は、３Ｄモデルへの法線の結合を示す。許容値は、以下の表において記載される：
【表２】
2015520886.tif 000022
ｄｅｆａｕｌｔ＿ｎｏｒｍａｌ＿ｂｂｏｘ：この１ビットの符号なし整数は、常に‘０’であるべきであり、これにより、デフォルトの境界ボックスが３Ｄモデル全体の法線のために使用されることを示す。法線のデフォルトの境界ボックスは、ｎｘｍｉｎ＝０．０、ｎｙｍｉｎ＝０．０、ｎｚｍｉｎ＝０．０、ｎｘｍａｘ＝１．０、ｎｙｍａｘ＝１．０、及びｎｚｍａｘ＝１．０として定義される。
ＱＰ＿ｎｏｒｍａｌ：この５ビットの符号なし整数は、３Ｄモデル形状の品質パラメータを示す。ＱＰ＿ｎｏｒｍａｌの最小値は３であり、最大値は３１である。
ｃｏｌｏｒ＿ｂｉｎｄｉｎｇ：この２ビットの符号なし整数は、３Ｄモデルへの色の結合を示す。以下の表は、許容値を示す：
【表３】
2015520886.tif 000023
ｄｅｆａｕｌｔ＿ｃｏｌｏｒ＿ｂｂｏｘ：この１ビットの符号なし整数は、デフォルトの境界ボックスが３Ｄモデル全体の色のために使用されるかどうかを示す。０は、他の境界ボックスを用いることを意味し、１は、デフォルトの境界ボックスを用いることを意味する。デフォルトの境界ボックスは、ｒｍｉｎ＝０．０、ｇｍｉｎ＝０．０、ｂｍｉｎ＝０．０、ｒｍａｘ＝１．０、ｇｍａｘ＝１．０、及びｂｍａｘ＝１．０として定義される。
ｃｏｌｏｒ＿ｂｂｏｘ：このデータフィールドは、３Ｄモデル全体の色の境界ボックスを含む。色境界ボックスは、（ｒｍｉｎ，ｇｍｉｎ，ｂｍｉｎ，ｒｍａｘ，ｇｍａｘ，ｂｍａｘ）によって定義される。
ＱＰ＿ｃｏｌｏｒ：この５ビットの符号なし整数は、色の品質パラメータを示す。ＱＰ＿ｃｏｌｏｒの最小値は３であり、最大値は３１である。
ｍｕｌｔｉ＿ｔｅｘＣｏｏｒｄ＿ｎｕｍ：この５ビットの符号なし整数は、頂点／角ごとのテクスチャ座標の数を与える。
【表４】
2015520886.tif 000024
ｄｅｆａｕｌｔ＿ｔｅｘＣｏｏｒｄ＿ｂｂｏｘ：この１ビットの符号なし整数は、デフォルトの境界ボックスがテクスチャ座標のために使用されるかどうかを示す。０は、他の境界ボックスを用いること意味し、１は、デフォルトの境界ボックスを用いることを意味する。デフォルトの境界ボックスは、ｕｍｉｎ＝０．０、ｖｍｉｎ＝０．０、ｕｍａｘ＝１．０及びｖｍａｘ＝１．０として定義される。
ｔｅｘＣｏｏｒｄ＿ｂｂｏｘ：このデータフィールドは、３Ｄモデル全体のテクスチャ座標の境界ボックスを含む。テクスチャ座標境界ボックスは、（ｕｍｉｎ，ｖｍｉｎ，ｕｍａｘ，ｖｍａｘ）によって定義される。
ＱＰ＿ｔｅｘＣｏｏｒｄ：この５ビットの符号なし整数は、テクスチャ座標の品質パラメータを示す。ＱＰ＿ｔｅｘＣｏｏｒｄの最小値は３であり、最大値は３１である。
ｍｕｌｔｉ＿ａｔｔｒｉｂｕｔｅ＿ｎｕｍ：この５ビットの符号なし整数は、頂点／面／角ごとの属性の数を示す。
ａｔｔｒｉｂｕｔｅ＿ｂｉｎｄｉｎｇ：この２ビットの符号なし整数は、３Ｄモデルへの属性の結合を示す。以下の表は、許容値を示す：
【表５】
2015520886.tif 000025
ｄｅｆａｕｌｔ＿ａｔｔｒｉｂｕｔｅ＿ｂｂｏｘ：この１ビットの符号なし整数は、デフォルトの境界ボックスが属性のために使用されるかどうかを示す。０は、他の境界ボックスを用いることを意味し、１は、デフォルトの境界ボックスを用いることを意味する。デフォルトの境界ボックスは、ａｔｔｒｉｂｕｔｅ＿ｍｉｎ［１．．ａｔｔｒｉｂｕｔｅ＿ｄｉｍ］＝０．０、ａｔｔｒｉｂｕｔｅ＿ｍａｘ［１．．ａｔｔｒｉｂｕｔｅ＿ｄｉｍ］＝１．０として定義される。
ａｔｔｒｉｂｕｔｅ＿ｂｂｏｘ：このデータフィールドは、属性の境界ボックスを含む。属性境界ボックスは、（ａｔｔｒｉｂｕｔｅ＿ｍｉｎ［１．．ａｔｔｒｉｂｕｔｅ＿ｄｉｍ］，ａｔｔｒｉｂｕｔｅ＿ｍａｘ［１．．ａｔｔｒｉｂｕｔｅ＿ｄｉｍ］）によって定義される。
ＱＰ＿ａｔｔｒｉｂｕｔｅ：この５ビットの符号なし整数は、属性の品質パラメータを示す。ＱＰ＿ａｔｔｒｉｂｕｔｅの最小値は３であり、最大値は３１である。
【００４９】
表２において、固有の部分についての例となるシンタックス及びセマンティクスが本原理のために表されている：
【表６】
2015520886.tif 000026
ｃｏｍｐｒ＿ｕｎｉ＿ｃｏｍｐ＿ｄａｔａ：このデータフィールドは、３ｄ＿ｍｏｄｅｌ＿ｃｏｍｐｒ＿ｍｏｄｅによって示される圧縮方法によって符号化されている全ての固有コンポーネントの圧縮された形状、接続性及び特性を含む。全ての固有コンポーネントは、圧縮より前に原型へ平行移動されている。
ｃｏｍｐｒ＿ｕｎｉ＿ｃｏｍｐ＿ｔｒａｎｓｌ：このデータフィールドは、全ての固有コンポーネントについての圧縮された平行移動ベクトルを含む。固有コンポーネント平行移動ベクトルは、最初に量子化、次いでエントロピ符号化によって、圧縮されている。このデータフィールドは、ｃｏｍｐｒ＿ｕｎｉ＿ｃｏｍｐ＿ｄａｔａとともに同位の固有コンポーネントを使用する。
ｂｉｔ＿ｎｕｍ＿ｕｎｉ＿ｃｏｍｐ＿ｔｒａｎｓｌ（）：この関数は、ＱＰ＿ｃｏｏｒｄに基づき夫々の固有コンポーネント平行移動ベクトルを量子化するために使用されるビットの数を計算する。
【００５０】
表３において、反復構造についての例となるシンタックス及びセマンティクスが本原理のために表されている：
【表７】
2015520886.tif 000027
ｃｏｍｐ＿ｐａｔｔｅｒｎ＿ｄａｔａ：このデータフィールドは、３ｄ＿ｍｏｄｅｌ＿ｃｏｍｐｒ＿ｍｏｄｅによって示される圧縮方法によって符号化されている全てのパターンの圧縮された形状、接続性及び特性を含む。
ｃｏｍｐ＿ｐａｔｔｅｒｎ＿ｔｒａｎｓｌ：このデータフィールドは、全てのパターン成分についての圧縮された平行移動ベクトルを含む。パターン平行移動ベクトルは、最初に量子化によって、次いでエントロピ符号化によって、圧縮されている。このデータフィールドは、ｃｏｍｐｒ＿ｐａｔｔｅｒｎ＿ｄａｔａとともに同位のパターンを使用する。
ｃｏｍｐｒ＿ｉｎｓｔａ＿ｅｌｅｍｅｎｔａｒｙ＿ｄａｔａ：このデータフィールドは、“素インスタンス変形モード”を用いる全てのインスタンスについての圧縮された変形データを含む。それは、バイトアライメントされた態様において圧縮されている。
ｃｏｍｐｒ＿ｉｎｓｔａ＿ｇｒｏｕｐｅｄ＿ｄａｔａ：このデータフィールドは、“グループ化インスタンス変形モード”を用いる全てのインスタンスについての圧縮された変形データを含む。それは、バイトアライメントされた態様において圧縮されている。
ｂｉｔ＿ｎｕｍ＿ｐａｔｔｅｒｎ＿ｔｒａｎｓｌ（）：この関数は、ＱＰ＿ｃｏｏｒｄに基づき夫々のパターン成分の平行移動ベクトルを量子化するために使用されるビットの数を計算する。
【００５１】
表４において、インスタンスについての例となるシンタックス及びセマンティクスが本原理のために表されている：
【表８】
2015520886.tif 000028
ｉｎｓｔａ＿ｔｒａｎｓｌ＿ｂｂｏｘ：このデータフィールドは、インスタンス平行移動情報を圧縮する場合に量子化が使用され得るように、全ての平行移動ベクトルの境界ボックスを含む。境界ボックスは、ｉｎｓｔａ＿ｔｒａｎｓｌ＿ｘｍｉｎ、ｉｎｓｔａ＿ｔｎｒａｓｌ＿ｙｍｉｎ、ｉｎｓｔａ＿ｔｎｒａｓｌ＿ｚｍｉｎ、ｉｎｓｔａ＿ｔｒａｎｓｌ＿ｘｍａｘ、ｉｎｓｔａ＿ｔｎｒａｓｌ＿ｙｍａｘ、ｉｎｓｔａ＿ｔｎｒａｓｌ＿ｚｍａｘによって定義される。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｐａｔｔｅｒｎＩＤ：このデータフィールドは、ｉ番目のインスタンスの圧縮されたパターンＩＤを含む。
ｅｌｅｍ＿ｉｎｓｔａ＿ｆｌｉｐ＿ｆｌａｇ：この１ビットの符号なし整数は、ｉ番目のインスタンスが対応するパターンと比べて反転されているかどうかを示す。反転されたパターンは、インスタンス三角形の法線が、対応するパターン三角形の逆方向にあることを意味する。０は、ｉ番目のインスタンスが反転されていないことを意味し、１は、ｉ番目のインスタンス反転されていることを意味する。
ｅｌｅｍ＿ｉｎｓｔａ＿ｒｅｆｌｅｃｔｉｏｎ＿ｆｌａｇ：この１ビットの符号なし整数は、ｉ番目のインスタンスの変形が反転を含むかどうかを示す。０は、ｉ番目のインスタンスの変形が反転を含まないことを意味し、１は、ｉ番目のインスタンスの変形が反転を含むことを意味する。
ｅｌｅｍ＿ｉｎｓｔａ＿ａｔｔｒｉｂｕｔｅ＿ｈｅａｄｅｒ：このデータフィールドは、ｉ番目のインスタンスの属性ヘッダを含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｔｒａｎｓｌ：このデータフィールドは、ｉ番目のインスタンスの圧縮された平行移動ベクトルを含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｒｏｔａｔ＿ｓｐｈｅｒｉｃａｌ：このデータフィールドは、球形モードにおけるｉ番目のインスタンスの圧縮された回転変形を含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｓｃａｌｉｎｇ：このデータフィールドは、ｉ番目のインスタンスの圧縮されたスケーリング係数を含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｅｒｒｏｒ＿ｃｏｍｐｅｎ＿ｄａｔａ：このデータフィールドは、ｉ番目のインスタンスの圧縮された符号化誤差補償データを含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ａｔｔｒｉｂｕｔｅ＿ｄａｔａ：このデータフィールドは、ｉ番目のインスタンスの圧縮された属性データを含む。
ｂｉｔ＿ｎｕｍ＿ｉｎｓｔａ＿ｔｎｒａｓｌ（）：この関数は、ＱＰ＿ｃｏｏｒｄに基づきインスタンス平行移動ベクトルを量子化するために使用されるビットの数を計算する。
ｎｅｅｄ＿ｅｒｒｏｒ＿ｃｏｍｐｅｎｓａｔｉｏｎ（）：この関数は、ｉ番目のインスタンスの符号化誤差が補償されるべきかどうかを決定する。
ｂｉｔ＿ｎｕｍ＿ｖｅｒｔｅｘ＿ｃｏｄｉｎｇ＿ｅｒｒｏｒ（）：この関数は、ＱＰ＿ｃｏｏｒｄに基づきｉ番目のインスタンスの夫々の頂点の符号化誤差を量子化するために使用されるビットの数を適応的に計算する。
【００５２】
表５において、回転角度についての例となるシンタックス及びセマンティクスが本原理のために表されている。球形モードにおけるｉ番目のインスタンスの回転は、３つの角度、すなわち、アルファα（ａｌｐｈａ）、ベータβ（ｂｅｔａ）及びガンマγ（ｇａｍｍａ）によって表現される：
【表９】
2015520886.tif 000029
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｒｏｔａｔ＿ａｌｐｈａ：このデータフィールドは、ｉ番目のインスタンスの回転の圧縮されたアルファを含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｒｏｔａｔ＿ｂｅｔａ：このデータフィールドは、ｉ番目のインスタンスの回転の圧縮されたベータを含む。
ｃｏｍｐｒ＿ｅｌｅｍ＿ｉｎｓｔａ＿ｒｏｔａｔ＿ｇａｍｍａ：このデータフィールドは、ｉ番目のインスタンスの回転の圧縮されたガンマを含む。
ｂｉｔ＿ｎｕｍ＿ｒｏｔａｔ＿ａｌｐｈａ（）：この関数は、ＱＰ＿ｃｏｏｒｄ及び対応するパターンのスケールに基づきｉ番目のインスタンスの回転のアルファ値のためのビットの数を適応的に計算する。
ｂｉｔ＿ｎｕｍ＿ｒｏｔａｔ＿ｂｅｔａ（）：この関数は、ＱＰ＿ｃｏｏｒｄ及び対応するパターンのスケールに基づきｉ番目のインスタンスの回転のベータ値のためのビットの数を適応的に計算する。
ｂｉｔ＿ｎｕｍ＿ｒｏｔａｔ＿ｇａｍｍａ（）：この関数は、ＱＰ＿ｃｏｏｒｄ及び対応するパターンのスケールに基づきｉ番目のインスタンスの回転のガンマ値のためのビットの数を適応的に計算する。
【００５３】
ここで記載される実施態様は、例えば、方法若しくは処理、装置、ソフトウェアプログラム、データストリーム、又は信号において実施されてよい。たとえ信号の実施形態との関連でしか論じられない（例えば、方法としてしか論じられない）としても、論じられる特徴の実施は他の形態（例えば、装置又はプログラム）においても実施されてよい。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実施されてよい。方法は、概して、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル・ロジック・デバイスを含む処理装置を指す、例えばプロセッサのような装置において実施されてよい。プロセッサはまた、例えば、コンピュータ、携帯電話機、ポータブル／パーソナル・デジタル・アシスタント（ＰＤＡ）、及びエンドユーザ間の情報の通信を助ける他の装置のような通信装置を有する。
【００５４】
本原理の“一実施形態”若しくは“実施形態”又は“一実施態様”若しくは“実施態様”及びそれらの他の変形への言及は、その実施形態に関連して記載される特定の特徴、構造、特性等が本原理の少なくとも１つの実施形態において含まれることを意味する。よって、本明細書の全体を通じて様々な箇所で現れる“一実施形態において”若しくは“実施形態において”又は“一実施態様において”若しくは“実施態様において”との表現及びその変形表現の出現は、必ずしも全て同じ実施形態に言及するわけではない。
【００５５】
加えて、本願又はその特許請求の範囲は、様々な情報片を“決定する”と言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、又はメモリから情報を取り出すことのうちの１又はそれ以上を含んでよい。
【００５６】
更に、本願又はその特許請求の範囲は、様々な情報片に“アクセスする”と言及することがある。情報にアクセスすることは、例えば、情報を受信すること、情報を取り出すこと（例えば、メモリから）、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのうちの１又はそれ以上を含んでよい。
【００５７】
加えて、本願又はその特許請求の範囲は、様々な情報を“受信する”と言及することがある。受信することは、“アクセスすること”と同じく、広義の語であるよう意図される。情報を受信することは、例えば、情報にアクセスすること、又は情報を取り出すこと（例えば、メモリから）のうちの１又はそれ以上を含んでよい。更に、“受信すること”は、通常、何らかの形で、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのような動作中に生じる。
【００５８】
当業者には当然に、実施は、例えば、記憶又は送信され得る情報を搬送するようフォーマットされた様々な信号を生成してよい。情報は、例えば、方法を実行する命令、又は記載される実施のうちの１つによって生成されたデータを含んでよい。例えば、信号は、記載される実施形態のビットストリームを搬送するようフォーマットされてよい。そのような信号は、例えば、電磁波として（例えば、スペクトルの無線周波数部分を用いる）、又はベースバンド信号としてフォーマットされてよい。フォーマッティングは、例えば、データストリームを符号化し、符号化されたデータストリームにより搬送波を変調することを含んでよい。信号が搬送する情報は、例えば、アナログ又はデジタルの情報であってよい。信号は、知られている様々な異なる有線又は無線リンクを介して送信されてよい。信号は、プロセッサ可読媒体で記憶されてよい。
【００５９】
［関連出願］
本願は、２０１２年４月１９日付けで出願された国際特許出願第ＰＣＴ／ＣＮ２０１２／０７４３８８号に基づく優先権を主張するものである。なお、この国際特許出願は、参照により本願に援用される。
【図１】
2015520886.tif 000030
【図２Ａ】
2015520886.tif 000031
【図２Ｂ】
2015520886.tif 000032
【図２Ｃ】
2015520886.tif 000033
【図３】
2015520886.tif 000034
【図４】
2015520886.tif 000035
【図５】
2015520886.tif 000036
【図６】
2015520886.tif 000037
【図７】
2015520886.tif 000038
【国際調査報告】
2015520886.tif 000039
2015520886.tif 000040
2015520886.tif 000041