(58)【調査した分野】(Int.Cl.,DB名)
前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して前記頂点座標誤差の上限を推定することを更に有し、
前記実行することは、前記推定された上限に応答する、
請求項1に記載の方法。
前記変形の前記平行移動部分を量子化することに関連する前記量子化誤差は、前記平行移動部分を量子化するための第3の量子化パラメータ及び前記平行移動部分の範囲に応答して決定される、
請求項7に記載の方法。
頂点座標誤差推定器は、前記頂点座標誤差が、前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して符号化又は復号化される必要があるかどうかを決定する、
請求項12に記載の装置。
前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して前記頂点座標誤差の上限を推定する頂点座標誤差推定器を更に有し、
前記頂点座標誤差エンコーダ又は前記頂点座標誤差デコーダ、夫々、前記推定された上限に応答して前記頂点座標誤差を符号化又は復号する、
請求項12に記載の装置。
前記頂点座標誤差量子化パラメータ推定器は、前記変形の平行移動部分を量子化すること又は前記パターンの形状を量子化することに関連する量子化誤差に応答して、最大許容誤差を決定する、
請求項16に記載の装置。
前記頂点座標誤差量子化パラメータ推定器は、前記平行移動部分を量子化するための第3の量子化パラメータ及び前記平行移動部分の範囲に応答して、前記変形の前記平行移動部分を量子化することに関連する前記量子化誤差を決定する、
請求項17に記載の装置。
【発明を実施するための形態】
【0012】
図1に示されるように、3Dモデルにおいて多くの反復構造が存在してよい。3Dモデルを効率よく符号化するよう、反復構造は、パターン及びインスタンスに体系化されてよい。インスタンスは、例えば、平行移動、回転、及びスケーリングのような情報を含む変換マトリクス及びパターンIDを用いて、対応するパターンの変形として表現され得る。
【0013】
インスタンスがパターンID及び変換マトリクスによって表現される場合に、パターンID及び変換マトリクスは、インスタンスを圧縮するときに圧縮されるべきである。結果として、インスタンスは、パターンID及び復号された変換マトリクスを通じて再構成されてよい。すなわち、インスタンスは、パターンIDによってインデックスを付された復号されたパターンの変形として(復号された変換マトリクスから)再構成されてよい。一実施形態において、変換マトリクスを符号化する場合に、変換マトリクスの回転部分は、例えば、一定のビットの数を用いて、量子化されてよい。量子化で導入される損失のために、復号された回転部分は、原の回転部分とは異なることがある。
【0014】
図2A及び
図2Bは、2D表現におけるコンポーネントの例を表す。コンポーネント210及び220はパターンであり、コンポーネント250及び270(実線)は、圧縮される原のインスタンスであり、コンポーネント260及び280(破線)は、再構成されたインスタンスである。特に、インスタンス250及び270は、夫々、パターン210及び220の変形された(すなわち、回転及び平行移動された)バージョンとして表現され得る。
【0015】
図2Bの例で、回転の量子化は、約5°の誤差を導入し、よって、原のインスタンスと再構成されたインスタンスとの間に差を引き起こす。
図2Bから分かるように、回転誤差(角度における)はインスタンス250及び270について同じようであり、一方、回転量子化によって引き起こされる頂点座標誤差(すなわち、原のインスタンスと再構成されたインスタンスとの間、例えば、
図2BではAからA’、BからB’、の頂点シフト)は、両方のインスタンスの間で有意に変化し、インスタンス270は、より一層大きな頂点座標誤差を有する。結果として、再構成されたコンポーネントの品質は一貫せず、例えば、より大きいインスタンスは、より小さいインスタンスよりも低い再構成品質を有し得る。
【0016】
本原理は、回転量子化によって引き起こされる頂点座標誤差を有効に補償する方法及び装置を提供する。一実施形態において、回転情報は、インスタンスのサイズに従って適応的に量子化されてよい。例えば、より大きいビット数、又はより小さい量子化ステップサイズのような、より精緻な量子化パラメータが、より大きいインスタンスの回転部分を量子化するために使用されてよい。
【0017】
コンポーネントにおける異なる頂点は、同じ回転誤差によって引き起こされる異なる頂点座標誤差を有するので、より精緻な量子化パラメータを使用するだけでは、常に良い解決法とは限らない。一例としてインスタンス270を用いると、頂点B及びCは、より大きい頂点座標誤差を有し、それらは符号化される必要があり得る。一方、頂点D及びEは、厳密に再構成され、それらの頂点座標誤差は符号化される必要がない。頂点B及びCの厳密な再構成のために十分に精緻な量子化パラメータを有するために、頂点D及びEは、必要以上に高い精度で再構成される可能性がある。すなわち、一定のビットが、頂点D及びEに対して不必要に費やされる。
【0018】
他の実施形態において、3Dコンポーネントにおける頂点が異なる頂点座標誤差を有し得ると認識して、本原理は、適応的に頂点座標誤差を補償する。頂点がインスタンスの回転中心から遠ければ遠いほど、頂点座標誤差はより大きくなり得ることが観測される。すなわち、頂点座標誤差が符号化される必要があるかどうかは、頂点と回転中心との間の距離に依存し得る。結果として、頂点座標誤差が補償される必要があるかどうかに関する決定は、頂点ごとに異なってよい。
【0019】
図3は、3Dモデルのインスタンスを符号化する方法300の例を表す。方法300はステップ305から開始する。ステップ310で、3Dモデルデータが入力され、初期化が実行される。品質パラメータ、最大許容頂点座標誤差、変換行列の回転部分及び平行移動部分のための量子化パラメータのような追加データが更に入力されるか、又は入力から推定されてよい。1つの例となる実施形態において、初期化ステップは、反復構造をパターン及びインスタンスに体系化し、インスタンスについて変換マトリクスを生成し、パターンを符号化して、再構成されたパターンを形成してよい。特定の符号化されるべきインスタンス(Cと表される。)に関し、対応する原のパターン、再構成されたパターン、及び変換マトリクスは、夫々、P、P’、及びTと表される。インスタンスは、厳密に、パターンの変形、すなわち、C=TPとして表現され得ることが可能である。代替的に、パターンの変形は、幾つかの環境下で、インスタンスの近似、すなわち、C≒TPであってよい。
【0020】
変換マトリクス(T)はステップ320で符号化される。符号化された変換マトリクスは、次いでステップ330で、T’として復号される。インスタンスは、例えば、対応する再構成されたパターン及び復号された変換マトリクスを用いて、ステップ340で再構成される(C’=T’P’)。再構成されたインスタンスを用いて、方法300は引き続き、インスタンスの個々の頂点が、符号化される必要があるほど大きい頂点座標誤差を有し得るかどうかを試験する。
【0021】
ステップ345で、e
est,iと表される、頂点iの頂点座標誤差の上限が推定される。実際の頂点座標誤差よりむしろ、頂点座標誤差の上限を用いることによって、本原理は、エンコーダ及びデコーダの両方が、頂点が頂点座標誤差を補償する必要があるかどうかに関する同じ決定を行うことを可能にする。
【0022】
ステップ350で、e
est,iが閾値、例えば、入力から受け取られる最大許容誤差、又は入力パラメータから推定される閾値を超えるかどうかが確認される。e
est,iが閾値を超える場合は、再構成されたインスタンスにおける頂点(V
i’)と原のインスタンスにおける対応する頂点(V
i)との間の実際の頂点座標誤差(E
i)が、ステップ355で、例えば、E
i=V
i−V
i’として、計算される。頂点座標誤差を符号化するために、量子化パラメータがステップ360で推定される。頂点座標誤差はステップ365で量子化され、次いでステップ370でエントロピ符号化される。そうではなく、e
est,iが閾値を超えない場合は、頂点座標誤差は符号化されず、制御はステップ380へ渡される。
【0023】
ステップ380で、更なる頂点が処理される必要があるかどうかが確認される。更なる頂点が処理されるべきである場合は、制御はステップ345へ返される。さもなければ、制御は終了ステップ399へ渡される。
【0024】
方法300におけるステップは調整されてよい。一実施形態において、ステップ360は、ステップ355より前に実施されてよい。他の実施形態において、ステップ345で、頂点座標誤差の上限は、処理されるべき全ての頂点について推定され、上限の最大値e
est,max=max(e
est,1,・・・,e
est,i,・・・)が計算される。e
est,iは、インスタンスにおける頂点iについて推定される上限を表す。e
est,max<e
thである場合は、考慮中の全ての頂点座標誤差は閾値より小さく、頂点誤差は符号化される必要がない。よって、ステップ350〜380はスキップされてよい。そうではなく、e
est,max≧e
thである場合は、幾つかの頂点は、閾値を超える頂点座標誤差を有し、ステップ350〜380は実行されてよい。ステップ355〜370は、頂点補正又は頂点誤差補償のためのステップと呼ばれることがある。
【0025】
図4は、3Dモデルのインスタンスを復号する方法400の例を表す。方法400の入力は、ビットストリーム、例えば、方法300を用いて生成されたビットストリームを含んでよい。追加データ、例えば、復号されるインスタンスに対応する再構成されたパターン(P’)が更に入力として含まれてよい。方法400はステップ405から開始する。ステップ410で、初期化が実行される。例えば、変換マトリクスのための量子化パラメータが、入力されたビットストリームから導出される。
【0026】
変換マトリクスは、ステップ415でT’として復号される。インスタンスは、例えば、再構成されたパターン及び復号された変換マトリクスを用いて、ステップ420でC’として再構成される(C’=T’P’)。ステップ425で、頂点iの頂点座標誤差の上限(e
est,i)が推定される。
【0027】
ステップ430で、e
est,iが閾値を超えるかどうかが確認される。e
est,iが閾値を超える場合は、量子化パラメータ、例えば、量子化ビットの数(n
q)がステップ440で推定される。符号化された頂点座標誤差がステップ450で復号される。例えば、n
qビットがビットストリームから復号される。頂点座標誤差は、次いでステップ460で、E
i’へ逆量子化される。ステップ470で、逆量子化された頂点座標誤差(E
i’)は、ステップ420で最初に再構成されたインスタンスの対応する頂点(V
i’)を補償するために、例えば、V
i”=V
i’+E
i’として、使用される。すなわち、再構成されたインスタンスの頂点はリファインメントされる。
【0028】
そうではなく、e
est,iが閾値を超えない場合は、頂点座標誤差は符号化されず、制御はステップ480へ渡される。ステップ480で、更なる頂点が処理される必要があるかどうかが確認される。処理される必要がある頂点が存在する場合は、制御はステップ425へ返される。さもなければ、制御は終了ステップ499へ渡される。
【0029】
適切にインスタンスを復号するよう、頂点座標誤差(e
est,i)の上限を推定し且つ量子化パラメータを推定する同じ方法、同じ値の閾値がエンコーダ及びデコーダで使用されるべきである点に留意されたい。例えば、方法300によって生成されたビットストリームが方法400への入力として使用される場合に、ステップ425及び440は夫々、ステップ345及び360に対応すべきであり、ステップ430及び350で使用される閾値(e
th)の値は同じであるべきである。
【0030】
以下では、頂点について頂点座標誤差の上限を推定すること(345,425)及び頂点について量子化パラメータを決定すること(360,440)の例となる実施形態が議論される。
【0031】
[頂点座標誤差の上限の推定]
パターンからインスタンスへの回転は、3つの角度{ψ,θ,φ}によって表現されてよい。例えば、θ∈[−π/2,π/2],ψ,φ∈[−π,π]。一例において、ψ、θ及びφは、夫々、n、n−1及びnビットにより量子化される。それにより、回転角度は、同じ範囲の量子化誤差を有する。すなわち、Δψ、Δθ及びΔφは全て[−π/2n,π/2n]にある。ここで、Δψ、Δθ及びΔφは、夫々、ψ、θ及びφについての量子化誤差である。角度は、異なる範囲にあり、他の量の量子化ビットを使用してよい。幾何学的特性を用いて、頂点座標誤差の上限が導出されてよい。
【0032】
コンポーネントを回転させることは、コンポーネントの頂点及び回転中心の間の距離である半径を有する球状でコンポーネントの頂点の夫々を動かすことと見なされ得る。
図5は、如何にして頂点が異なる位置で再構成され得るのかを表す2D表現による例を示す。この例において、点Oは、コンポーネントの回転中心であり、点Aは、コンポーネントの頂点であり、頂点Aは、量子化誤差Δαに起因して位置A
1で再構成される。AとA
1との間の直線距離|AA
1|は、AとA
1との間の球面距離
<外1>
よりも小さいことが推定され得る。すなわち、
【数1】
回転中心が原点であるとして、頂点Aの座標が(x,y,z)であるならば、回転量子化によって引き起こされる頂点シフト(|AA
1|)は、次のように計算され得る:
【数2】
すなわち、回転量子化によって引き起こされる頂点iの頂点座標誤差の上限は、次のように推定され得る:
【数3】
ここで、r
iは、再構成されたインスタンスの頂点i及び回転中心の間の距離であり、r
maxは、再構成されたインスタンスの頂点及び回転中心の間の最も遠い距離である。上限はまた、他の量子化パラメータが回転角度のために使用される場合に導出され得る。他の幾何学的又は数学的特性は、より厳しい上限を導出するために、更に利用されてよい。
【0033】
回転量子化によって引き起こされる頂点座標誤差が符号化又は復号される必要があるかどうかを、エンコーダ及びデコーダの両方で利用可能である情報に基づき決定することによって、ビットストリームにおける明示的なシグナリングビットは、頂点座標誤差が符号化されるかどうかを示すために必要とされず、よって、圧縮効率を改善することができる。
【0034】
[頂点座標誤差のための量子化パラメータの決定]
頂点iについての頂点座標誤差の推定される上限(e
est,i)を考えると、量子化パラメータが導出され得る。一実施形態において、量子化パラメータは、頂点座標誤差のための量子化ステップサイズが平行移動部分のためのそれと同じようであるように、選択され得る。量子化ビットの数(Q
res,i)が量子化パラメータとして推定されるべき場合に、Q
res,iは、次のように計算されてよい:
【数4】
ここで、Q
translationは、変換マトリクスの平行移動部分のための量子化ビットの数であり、Rangeは、平行移動の動的範囲である。Q
translation−log
2(Range/e
est,i)<1である場合に、Q
res,iは0に設定されてよく、頂点iについての頂点座標誤差は符号化されない。
【0035】
Q
res,iは、式(3)とは別なふうに計算されてよく、例えば:
【数5】
Q
res,i=0である場合は、頂点iについての頂点座標誤差は符号化されない。
【0036】
式(3)及び(4)において、量子化パラメータQ
res,iは、頂点座標誤差のための量子化ステップサイズが変換マトリクスの平行移動部分のためのそれと同じようであるように、選択される。他の例において、量子化パラメータQ
res,iは、頂点座標誤差のための量子化ステップサイズがパターン形状を量子化するためのそれと同じようであるように、選択されてよい。
【0037】
他の実施形態において、量子化パラメータは、量子化ステップサイズが最大許容誤差又は閾値(e
th)と同じようであるように、選択されてよい。すなわち、量子化ビットの数は、次のように計算されてよい:
【数6】
Q
res,iはまた、式(3)〜(5)とは別なふうに計算されてよい。例えば、Q
res,iは、式(3)〜(5)において計算される値から一定比率でオフセット又はスケーリングされてよい。
【0038】
頂点iがV
i={x
i,y
i,z
i}に位置し、再構成された頂点iがV
i’={x
i’,y
i’,z
i’}に位置するとして、頂点座標誤差は、次のように計算され得る:
【数7】
一例としてE
x,iを用いて、我々は、如何にして量子化又は逆量子化が実行され得るのかを説明する。
【0039】
誤差の範囲[−e
est,i,e
est,i]を考えると、量子化ステップサイズは、次のように計算されてよい:
【数8】
その量子化ステップサイズを用いて、頂点座標誤差E
x,iは、次のように、量子化された誤差へと量子化されてよい:
【数9】
デコーダにおいて、量子化された誤差e
qは、次のように、逆量子化された誤差E
x,i’へと逆量子化されてよい:
【数10】
同様に、他の軸沿いの頂点座標誤差は量子化又は逆量子化され得る。上記で、一貫した量子化スキームが使用される。他の量子化スキームがまた、量子化又は逆量子化のために使用されてよい。
【0040】
他の実施形態において、我々は、異なる軸沿いの頂点座標誤差(すなわち、E
x,i,E
y,i,E
z,i)は異なってよく、且つ、それらは別なふうに量子化されてよいということを考慮に入れる。例えば、式(1)における|AA
1|は3つに軸に投影可能であり、夫々の軸に沿った座標誤差の上限は然るべく計算可能であり、よって、夫々の軸に沿った座標誤差のための量子化パラメータは異なってよい。例えば、座標誤差のための上限は、次のように、個々の軸ごとに決定され得る:
【数11】
このように、量子化ビットは、夫々、軸ごとに決定され得る。量子化パラメータ、例えば、量子化ステップサイズ又は量子化ビットの数を、エンコーダ及びデコーダの両方に利用可能である情報に基づき決定することによって、頂点座標誤差のための量子化パラメータに関する明示的な情報は、ビットストリームにおいて不要であり、よって、圧縮効率を更に改善することができる。
【0041】
図6は、インスタンスエンコーダ600の例のブロック図を表す。装置600の入力は、符号化されるインスタンス(C)、対応するパターン(P)及び再構成されたパターン(P’)、変換マトリクスT、品質パラメータ、並びに変換マトリクスのための量子化パラメータを含んでよい。
【0042】
変換マトリクスエンコーダ610は、例えば、変換マトリクスの異なる部分のための量子化パラメータに基づき、変換マトリクスTを符号化する。変換マトリクスデコーダ630は、再構成された変換マトリクスT’を得るようエンコーダ610の出力を復号する。対応する再構成されたパターンP’及びT’を用いて、インスタンスは、3Dコンポーネント再構成モジュール640でC’=T’P’として再構成されてよい。加算器670は、原のインスタンスと再構成されたインスタンスとの間の差を、例えば、E=C−C’として、取る。
【0043】
再構成されたインスタンス及び変換マトリクスのための入力された量子化パラメータに基づき、頂点座標誤差推定器650は、例えば、式(2)を用いて、頂点座標誤差の上限(e
est)を推定する。上限(e
est)が閾値を超える場合は、頂点座標誤差量子化パラメータ推定器660は、頂点座標誤差エンコーダ680で頂点座標誤差を量子化するための量子化パラメータを推定する。変換マトリクスエンコーダ610及び頂点座標誤差エンコーダ680の出力は、ビットストリームアセンブラ620によってビットストリームにまとめられる。ビットストリームは、3Dモデルのためのビットストリームを全体で形成するよう、パターン又は他のコンポーネントを表す他のビットストリームと結合され得る。
【0044】
図7は、インスタンスデコーダ700の例のブロック図を表す。装置700の入力は、インスタンス(C)に対応するビットストリーム、例えば、方法300に従って又はエンコーダ600によって生成されたビットストリームと、対応する再構成されたパターン(P’)とを含んでよい。エントロピデコーダ710は、例えば、変換マトリクスに使用される量子化パラメータ及び量子化された頂点座標誤差を得るよう、ビットストリームを復号する。
【0045】
変換マトリクスデコーダ720は、例えば、変換マトリクスの異なる部分のための量子化パラメータに基づき、変換マトリクスT’を再構成する。対応する再構成されたパターンP’及びT’を用いて、インスタンスは、3Dコンポーネント再構成モジュール730でC’=T’P’として再構成されてよい。
【0046】
再構成されたインスタンス及び変換マトリクスのための量子化パラメータに基づき、頂点座標誤差推定器740は、例えば、式(2)を用いて、頂点座標誤差の上限(e
est)を推定する。上限(e
est)が閾値を超える場合は、頂点座標誤差量子化パラメータ推定器750は、頂点座標誤差デコーダ760で頂点座標誤差を復号するために使用される量子化パラメータを推定する。復号された頂点座標誤差E’は、3Dコンポーネント再構成モジュール730で最初に再構成されたインスタンスをリファインメントするために使用される。特に、加算器770は、復号された座標誤差(E’)と、最初の再構成されたインスタンス(C’)とを、例えば、C”=C’+E’として、合計する。C”は、通常、最初の再構成されたインスタンスC’よりも原のインスタンスの正確な表現を提供する。
【0047】
図8は、3Dモデルエンコーダ800の例のブロック図を表す。装置800の入力は、3Dモデル、3Dモデルを符号化するための品質パラメータ及び他のメタデータを含んでよい。3Dモデルは、最初に、反復構造発見モジュール810を通過する。反復構造発見モジュール810は、パターン、インスタンス及び固有コンポーネントに関して3Dモデルを出力する。パターンエンコーダ820は、パターンを圧縮するために用いられ、固有コンポーネントエンコーダ850は、固有コンポーネントを符号化するために用いられる。インスタンスに関し、インスタンス成分情報は、ユーザにより選択されたモードに基づき符号化される。インスタンス情報グループモードが選択される場合は、インスタンス情報は、グループ化インスタンス情報エンコーダ840を用いて符号化される。さもなければ、それは、素インスタンス情報エンコーダ830を用いて符号化される。インスタンスエンコーダ600は、エンコーダ830又は840において使用されてよい。符号化されたコンポーネントは、更に、反復構造検証部860において検証される。符号化されたコンポーネントがその品質要件を満足しない場合は、それは、固有コンポーネントエンコーダ850を用いて符号化されるであろう。パターン、インスタンス、及び固有コンポーネントのためのビットストリームは、ビットストリームアセンブラ870でまとめられる。
【0048】
図9は、3Dモデルデコーダ900の例のブロック図を表す。装置900の入力は、3Dモデルのビットストリーム、例えば、エンコーダ800によって生成されたビットストリームを含んでよい。圧縮されたビットストリームにおけるパターンに関連した情報は、パターンデコーダ920によって復号される。固有コンポーネントに関連した情報は、固有コンポーネントデコーダ950によって復号される。インスタンス情報の復号化はまた、ユーザにより選択されたモードに依存する。インスタンス情報グループモードが選択される場合は、インスタンス情報は、グループ化インスタンス情報デコーダ940を用いて復号される。さもなければ、それは、素インスタンス情報デコーダ930を用いて復号される。インスタンスデコーダ700は、デコーダ930又は940において使用されてよい。復号されたパターン、インスタンス情報及び固有コンポーネントは、モデル再構成モジュール960で出力3Dモデルを生成するよう再構成される。
【0049】
図10を参照して、データ送信システム100が示されている。データ送信システム100へは、上記の特徴及び原理が適用されてよい。データ送信システム1000は、例えば、衛星、ケーブル、電話回線、又は地上放送のような様々な媒体のいずれかを用いて信号を送信するヘッドエンド又は伝送システムであってよい。データ送信システム1000はまた、記憶のための信号を供給するのに使用されてよい。伝送は、インターネット又は何らかの他のネットワーク上で供給されてよい。データ送信システム1000は、例えば、ビデオコンテンツ又は3Dモデルのような他のコンテンツを生成し配信することができる。
【0050】
データ送信システム1000は、プロセッサ1001から、処理されたデータ又は他の情報を受け取る。一実施において、プロセッサ1001は3Dモデルを生成する。プロセッサ1001はまた、例えば、3Dモデルが符号化されるべき品質を示すメタデータをデータ送信システム1000へ供給してよい。
【0051】
データ送信システム又は装置1000は、エンコーダ1002と、符号化された信号を送信することができる送信器1004とを含む。エンコーダ1002は、プロセッサ1001からデータ情報を受け取る。エンコーダ1002は、符号化された信号を生成する。エンコーダ1002のエントロピ符号化エンジンは、例えば、算術符号化又はハフマン符号化であってよい。エンコーダ1002は、例えば、
図8に記載されるエンコーダ800であってよい。
【0052】
エンコーダ1002は、例えば、様々な情報片を受け取って、それらを、記憶又は送信のために、構造化されたフォーマットにまとめるアセンブリユニットを含むサブモジュールを含んでよい。様々な情報片は、例えば、符号化された又は符号化されていないビデオ、及び符号化された又は符号化されていない要素を含んでよい。幾つかの実施において、エンコーダ1002は、プロセッサ1001を含み、従って、プロセッサ1001の動作を実行する。
【0053】
送信器1004は、エンコーダ1002から符号化された信号を受信し、符号化された信号を1又はそれ以上の出力信号において送信する。送信器1004は、例えば、符号化されたピクチャ及び/又はそれに関連した情報を表す1又はそれ以上のビットストリームを有するプログラム信号を送信するよう適応されてよい。典型的な送信器は、例えば、エラー訂正符号化を提供すること、信号においてデータをインターリーブすること、信号においてエネルギをランダム化すること、及び信号を変調器1006を用いて1又はそれ以上の搬送波上に変調することのうちの1又はそれ以上のような機能を実行する。送信器1004は、アンテナ(図示せず。)を含むか、又はそれとインターフェース接続してよい。更に、送信器1004の実施は、変調器1006に制限されてよい。
【0054】
データ送信システム1000はまた、ストレージユニット1008へ通信上結合されている。一実施において、ストレージユニット1008は、エンコーダ1002へ結合されており、エンコーダ1002からの符号化されたビットストリームを記憶する。他の実施において、ストレージユニット1008は、送信器1004へ結合されており、送信器1004からのビットストリームを記憶する。送信器1004からのビットストリームは、例えば、送信器1004によって更に処理された1又はそれ以上の符号化されたビットストリームを含んでよい。ストレージユニット1008は、種々の実施において、標準DVD、ブルーレイディスク、ハードドライブ、又は何らかの他のストレージデバイスのうちの1又はそれ以上である。
【0055】
図11を参照して、データ受信システム1100が示されている。データ受信システム1100へは、上記の特徴及び原理が適用されてよい。データ受信システム1100は、ストレージデバイス、衛星、ケーブル、電話回線、又は地上放送のような様々な媒体上で信号を受信するよう構成されてよい。信号は、インターネット又は何らかの他のネットワーク上で受信されてよい。
【0056】
データ受信システム1100は、例えば、携帯電話機、コンピュータ、セットトップボックス、テレビ受像機、又は符号化されたビデオを受信し、例えば、表示(例えば、ユーザへの表示)のために、処理のために、若しくは記憶のために、復号されたビデオ信号を供給する他のデバイスであってよい。よって、データ受信システム1100は、その出力を、例えば、テレビ受像機の画面、コンピュータモニタ、コンピュータ(記憶、処理、又は表示のため)、又は何らかの他のストレージ、プロセッシング若しくはディスプレイデバイスへ供給してよい。
【0057】
データ受信システム1100は、データ情報を受け取って処理することができ、データ情報は、例えば、3Dモデルを含んでよい。データ受信システム又は装置1100は、例えば、本願の実施において記載される信号のような、符号化された信号を受信する受信器1102を含む。受信器1102は、例えば、3Dモデル、又は
図10のデータ送信システム1000から出力された信号のうちの1又はそれ以上を供給する信号を受信してよい。
【0058】
受信器1102は、例えば、符号化されたピクチャ又は3Dモデルを表す複数のビットストリームを有するプログラム信号を受信するよう適応されてよい。典型的な受信器は、例えば、変調及び符号化されたデータ信号を受信すること、復調器1104を用いて1又はそれ以上の搬送波からデータ信号を復調すること、信号においてエネルギを逆ランダム化すること、信号においてデータをデインターリーブすること、及び信号をエラー訂正復号化することのうちの1又はそれ以上のような機能を実行する。受信器1102は、アンテナ(図示せず。)を含むか、又はそれとインターフェース接続してよい。受信器1102の実施は、復調器1104に制限されてよい。
【0059】
データ受信システム1100は、デコーダ1106を含む。受信器1102は、受信された信号をデコーダ1106へ供給する。受信器1102によってデコーダ1106へ供給される信号は、1又はそれ以上の符号化されたビットストリームを含んでよい。デコーダ1106は、例えば、ビデオ情報又は3Dモデルを含む復号されたビデオ信号のような、復号された信号を出力する。デコーダ1106は、例えば、
図9に記載されるデコーダ900であってよい。
【0060】
データ受信システム又は装置1100はまた、ストレージユニット1107へ通信上結合されている。一実施において、ストレージユニット1107は、受信器1102へ結合されており、受信器1102は、ストレージユニット1107からビットストリームにアクセスする。他の実施において、ストレージユニット1107は、デコーダ1106へ結合されており、デコーダ1106は、ストレージユニット1107からビットストリームにアクセスする。ストレージユニット1107からアクセスされるビットストリームは、種々の実施において、1又はそれ以上の符号化されたビットストリームを含む。ストレージユニット1107は、種々の実施において、標準DVD、ブルーレイディスク、ハードドライブ、又は何らかの他のストレージデバイスのうちの1又はそれ以上である。
【0061】
デコーダ1106からの出力データは、一実施において、プロセッサ1108へ供給される。プロセッサ1108は、一実施において、3Dモデル再構成を実行するよう構成されるプロセッサである。幾つかの実施において、デコーダ1106は、プロセッサ1108を含み、従って、プロセッサ1108の動作を実行する。他の実施において、プロセッサ1108は、例えば、セットトップボックス又はテレビ受像機のような、下流デバイスの部分であってよい。
【0062】
ここで記載される実施態様は、例えば、方法若しくは処理、装置、ソフトウェアプログラム、データストリーム、又は信号において実施されてよい。たとえ信号の実施形態との関連でしか論じられない(例えば、方法としてしか論じられない)としても、論じられる特徴の実施は他の形態(例えば、装置又はプログラム)においても実施されてよい。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実施されてよい。方法は、概して、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル・ロジック・デバイスを含む処理装置を指す、例えばプロセッサのような装置において実施されてよい。プロセッサはまた、例えば、コンピュータ、携帯電話機、ポータブル/パーソナル・デジタル・アシスタント(PDA)、及びエンドユーザ間の情報の通信を助ける他の装置のような通信装置を有する。
【0063】
本原理の“一実施形態”若しくは“実施形態”又は“一実施態様”若しくは“実施態様”及びそれらの他の変形への言及は、その実施形態に関連して記載される特定の特徴、構造、特性等が本原理の少なくとも1つの実施形態において含まれることを意味する。よって、本明細書の全体を通じて様々な箇所で現れる“一実施形態において”若しくは“実施形態において”又は“一実施態様において”若しくは“実施態様において”との表現及びその変形表現の出現は、必ずしも全て同じ実施形態に言及するわけではない。
【0064】
加えて、本願又はその特許請求の範囲は、様々な情報片を“決定する”と言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、又はメモリから情報を取り出すことのうちの1又はそれ以上を含んでよい。
【0065】
加えて、本願又はその特許請求の範囲は、様々な情報片に“アクセスする”と言及することがある。情報にアクセスすることは、例えば、情報を受信すること、情報を取り出すこと(例えば、メモリから)、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのうちの1又はそれ以上を含んでよい。
【0066】
加えて、本願又はその特許請求の範囲は、様々な情報を“受信する”と言及することがある。受信することは、“アクセスすること”と同じく、広義の語であるよう意図される。情報を受信することは、例えば、情報にアクセスすること、又は情報を取り出すこと(例えば、メモリから)のうちの1又はそれ以上を含んでよい。更に、“受信すること”は、通常、何らかの形で、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのような動作中に生じる。
【0067】
当業者には当然に、実施は、例えば、記憶又は送信され得る情報を搬送するようフォーマットされた様々な信号を生成してよい。情報は、例えば、方法を実行する命令、又は記載される実施のうちの1つによって生成されたデータを含んでよい。例えば、信号は、記載される実施形態のビットストリームを搬送するようフォーマットされてよい。そのような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を用いる)、又はベースバンド信号としてフォーマットされてよい。フォーマッティングは、例えば、データストリームを符号化し、符号化されたデータストリームにより搬送波を変調することを含んでよい。信号が搬送する情報は、例えば、アナログ又はデジタルの情報であってよい。信号は、知られている様々な異なる有線又は無線リンクを介して送信されてよい。信号は、プロセッサ可読媒体で記憶されてよい。
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
3Dモデルを表すビットストリームを生成又は復号する方法であって、
前記3Dモデルの構造に関連するパターンの、該パターンの変形として表されるインスタンスに対応する再構成されたインスタンスにアクセスするステップと、
前記変形の回転部分を量子化するために使用される第1の量子化パラメータにアクセスし、該第1の量子化パラメータに応答して前記再構成されたインスタンスが決定されるステップと、
前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の頂点座標誤差の符号化又は復号化を、前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの回転中心との間の距離のうちの少なくとも1つに応答して実行するステップと
を有する方法。
(付記2)
前記実行するステップは、
前記頂点座標誤差が、前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して符号化又は復号化される必要があるかどうかを決定するステップ
を有する、付記1に記載の方法。
(付記3)
前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して前記頂点座標誤差の上限を推定するステップを更に有し、
前記実行するステップは、前記推定された上限に応答する、
付記1に記載の方法。
(付記4)
前記上限は、(√2π/2n)・rに対応し、nは、前記回転部分のための前記第1の量子化パラメータに対応し、rは、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離である、
付記3に記載の方法。
(付記5)
前記実行するステップは、前記推定された上限が閾値を超えることに応答する、
付記3に記載の方法。
(付記6)
前記推定するステップは、特定の軸沿いの頂点座標誤差の上限を推定し、
当該方法は、
前記推定された特定の軸沿いの頂点座標誤差の上限に応答して、前記特定の軸に沿って前記頂点座標誤差を量子化するための第2の量子化パラメータを決定するステップ
を更に有する、付記3に記載の方法。
(付記7)
前記推定された上限に応答して前記頂点座標誤差を量子化するための第2の量子化パラメータを決定するステップ
を更に有する付記3に記載の方法。
(付記8)
前記第2の量子化パラメータは、更に最大許容誤差に応答して決定される、
付記7に記載の方法。
(付記9)
前記最大許容誤差は、前記変形の平行移動部分を量子化すること又は前記パターンの形状を量子化することに関連する量子化誤差に応答して決定される、
付記8に記載の方法。
(付記10)
前記変形の前記平行移動部分を量子化することに関連する前記量子化誤差は、前記平行移動部分を量子化するための第3の量子化パラメータ及び前記平行移動部分の範囲に応答して決定される、
付記9に記載の方法。
(付記11)
前記第2の量子化パラメータは、Qtranslation−log2(range/eest)の関数であり、Qtranslationは、前記平行移動部分を量子化するための前記第3の量子化パラメータであり、rangeは、前記平行移動部分の最大範囲であり、eestは、前記推定された上限である、
付記10に記載の方法。
(付記12)
前記第1の量子化パラメータ、前記第2の量子化パラメータ、及び前記第3の量子化パラメータの夫々は、量子化ビットの数及び量子化ステップサイズのうちの少なくとも1つに対応する、
付記1乃至11のうちいずれか一つに記載の方法。
(付記13)
前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の前記頂点座標誤差を決定するステップと、
量子化された誤差を形成するよう第2の量子化パラメータに応答して前記決定された頂点座標誤差を量子化するステップと、
前記量子化された誤差を前記ビットストリームに符号化するステップと
を更に有する付記1に記載の方法。
(付記14)
前記ビットストリームから前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の前記頂点座標誤差を決定するステップと、
逆量子化された誤差を形成するよう第2の量子化パラメータに応答して前記決定された頂点座標誤差を逆量子化するステップと、
前記逆量子化された誤差に応答して前記再構成されたインスタンスをリファインメントするステップと
を更に有する付記1に記載の方法。
(付記15)
3Dモデルを表すビットストリームを生成又は復号する装置であって、
前記3Dモデルの構造に関連するパターンの、該パターンの変形として表されるインスタンスに対応する再構成されたインスタンスを、前記変形の回転部分を量子化するために使用される第1の量子化パラメータに応答して再構成する3Dコンポーネント再構成モジュールと、
前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の頂点座標誤差を、前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの回転中心との間の距離のうちの少なくとも1つに応答して、符号化する頂点座標誤差エンコーダ、又は復号する頂点座標誤差デコーダと
を有する装置。
(付記16)
頂点座標誤差推定器は、前記頂点座標誤差が、前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して符号化又は復号化される必要があるかどうかを決定する、
付記15に記載の装置。
(付記17)
前記第1の量子化パラメータ及び、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離のうちの少なくとも1つに応答して前記頂点座標誤差の上限を推定する頂点座標誤差推定器を更に有し、
前記頂点座標誤差エンコーダ又は前記頂点座標誤差デコーダ、夫々、前記推定された上限に応答して前記頂点座標誤差を符号化又は復号する、
付記15に記載の装置。
(付記18)
前記上限は、(√2π/2n)・rに対応し、nは、前記回転部分のための前記第1の量子化パラメータに対応し、rは、前記再構成されたインスタンスの前記対応する頂点と前記再構成されたインスタンスの前記回転中心との間の距離である、
付記17に記載の装置。
(付記19)
前記頂点座標誤差推定器は、前記推定された上限を閾値と比較する、
付記17に記載の装置。
(付記20)
前記推定された上限に応答して前記頂点座標誤差を量子化するために使用される第2の量子化パラメータを決定する頂点座標誤差量子化パラメータ推定器
を更に有する付記17に記載の装置。
(付記21)
前記頂点座標誤差量子化パラメータ推定器は、更に最大許容誤差に応答して前記第2の量子化パラメータを決定する、
付記20に記載の装置。
(付記22)
前記頂点座標誤差推定器は、特定の軸沿いの頂点座標誤差の上限を推定し、
当該装置は、
前記推定された特定の軸沿いの頂点座標誤差の上限に応答して、前記特定の軸に沿って前記頂点座標誤差を量子化するための第2の量子化パラメータを決定する頂点座標誤差量子化パラメータ推定器
を更に有する、付記17に記載の装置。
(付記23)
前記頂点座標誤差量子化パラメータ推定器は、前記変形の平行移動部分を量子化すること又は前記パターンの形状を量子化することに関連する量子化誤差に応答して、前記最大許容誤差を決定する、
付記22に記載の装置。
(付記24)
前記頂点座標誤差量子化パラメータ推定器は、前記平行移動部分を量子化するための第3の量子化パラメータ及び前記平行移動部分の範囲に応答して、前記変形の前記平行移動部分を量子化することに関連する前記量子化誤差を決定する、
付記22に記載の装置。
(付記25)
前記第2の量子化パラメータは、Qtranslation−log2(range/eest)の関数であり、Qtranslationは、前記平行移動部分を量子化するための前記第3の量子化パラメータであり、rangeは、前記平行移動部分の最大範囲であり、eestは、前記推定された上限である、
付記24に記載の装置。
(付記26)
前記第1の量子化パラメータ、前記第2の量子化パラメータ、及び前記第3の量子化パラメータの夫々は、量子化ビットの数及び量子化ステップサイズのうちの少なくとも1つに対応する、
付記15乃至25のうちいずれか一つに記載の装置。
(付記27)
前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の前記頂点座標誤差を決定する加算器と、
第2の量子化パラメータに応答して前記決定された頂点座標誤差を符号化する頂点座標誤差エンコーダと
を更に有する付記15に記載の装置。
(付記28)
前記ビットストリームから前記インスタンスの頂点と前記再構成されたインスタンスの対応する頂点との間の前記頂点座標誤差を決定するエントロピデコーダと、
逆量子化された誤差を形成するよう第2の量子化パラメータに応答して前記決定された頂点座標誤差を復号する頂点座標誤差デコーダと、
前記逆量子化された誤差に応答して前記再構成されたインスタンスをリファインメントする加算器と
を更に有する付記15に記載の装置。
(付記29)
付記1乃至14のうちいずれか一つに記載の方法に従ってビットストリームを生成又は復号する命令を記憶するコンピュータ可読記憶媒体。
(付記30)
付記1乃至13のうちいずれか一つに記載の方法に従って生成されるビットストリームを記憶するコンピュータ可読記憶媒体。