JP2007116725A - データアレイの予測符号化方法およびシステム - Google Patents

データアレイの予測符号化方法およびシステム Download PDF

Info

Publication number
JP2007116725A
JP2007116725A JP2006317303A JP2006317303A JP2007116725A JP 2007116725 A JP2007116725 A JP 2007116725A JP 2006317303 A JP2006317303 A JP 2006317303A JP 2006317303 A JP2006317303 A JP 2006317303A JP 2007116725 A JP2007116725 A JP 2007116725A
Authority
JP
Japan
Prior art keywords
value
quantization
encoded
encoding
video stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006317303A
Other languages
English (en)
Other versions
JP4444943B2 (ja
JP2007116725A5 (ja
Inventor
Julien Signes
ジュリアン・シグネス
Olivier Ondet
オリビエ・オンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of JP2007116725A publication Critical patent/JP2007116725A/ja
Publication of JP2007116725A5 publication Critical patent/JP2007116725A5/ja
Application granted granted Critical
Publication of JP4444943B2 publication Critical patent/JP4444943B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

【課題】既知の符号化の非効率性を解決する、つまり、ビデオストリームの値のデータアレイを統一的に符号化する方法およびシステムを提供する。
【解決手段】符号化されるエレメントのデータタイプを選択し、選択されたデータタイプの量子化パラメータを使用して予測値を量子化し、ビデオストリームの一部として符号化することを、すべてのアレイに対して繰り返す。結果的なビデオストリームは、位置、色、スケール、回転、法線、ベクトル等の符号化結果である。
【選択図】図2

Description

発明の属する技術分野
本発明はコンピュータで生成されるイメージの符号化に関し、特にデータの関数と無関係な、データアレイの統一的な符号化方法に関する。これにより位置データ、回転、垂線のアレイが一貫して符号化される。
従来の技術
用語“コンピュータで生成されたイメージ”とは、ビデオ技術の拡張された分野を含む。元来、この用語は、簡単なテキストイメージまたは2Dイメージと等しいものを表すことが多かったが、現在ではこの用語は、あらゆるタイプのデジタル符号化されたビデオストリームを含む。モーションピクチャーズエキスパートグループ(MPEG)は、イメージストリームの符号化および復号化に要求される技術を研究するために形成された。結果的に得られた標準規格(現在“MPEG-1”と呼ばれている)は、2つの付加的なMPEG標準規格、MPEG-2およびMPEG-4の基礎として機能している。MPEG-4標準規格は、“進行中”の標準規格であり、本発明の基礎を形成する。委員会の最終的な草案は、ISO/IEC FCD 14496-1 MPEG-4システムおよび-2 MPEG-4ビジュアルである。その内容は参照によりここに取り込まれている。
草案の標準規格はビデオの単一ストリームベースのモデルから出発し、連携して動作する一連のストリームへ焦点を移している。標準規格の一部分はシーンに対するバイナリフォーマット(“BIFS”としても知られている)である。このフォーマットは3Dオブジェクトおよびそれらの運動の記述を可能にし、ビデオストリームのその部分とのさらなるインタラクションの能力を備えている。MPEG-4 BIFS用草案標準規格は、線形量子化プロセスにより多数のデータフィールドを符号化することを提案しているが、これは多数のフィールド内の相関を考慮していない。したがってMPEG-4 BIFSはアレイの予測符号化については記載していない。
別の提案されたグラフィックスフォーマットはバーチャルリアリティマークアップ言語用の圧縮されたバイナリフォーマット(以後“CBF VRML”という)であり、これはいくつかのノードのいくつかのフィールドに対してそしてデータタイプの限定された一部に対してのみ適用可能である。それぞれ1997年8月22日と1997年10月15日付けのCBF VRML標準規格の第4、第5の草案はwww.vrml.orgから入手可能であり、参照によりここに取り込まれている。同様に、1998年4月3日付けのCBF VRML97の改定された要求事項明細書も参照によりここに取り込まれている。
さらに別のグラフィックスフォーマットは、タグイメージファイルフォーマット(TIFF)である。TIFF仕様のバージョン6.0の内容は、参照によりここに取り込まれている。TIFFファイルの各エントリは4つの部分、即ち(1)タグ、(2)タイプ識別子、(3)カウント、(4)1つ以上の値、として記憶される。バージョン6.0仕様書の16ページには、“大部分のフィールドが1つの値だけを含んでいても、全てのフィールドが実際には1次元アレイである”ことが記載されている。さらに、16ページには1ファイルにつき多数のイメージが存在してもよいことが記載されているが、仕様書は3Dイメージのストリーミングではなく独立して符号化された2Dイメージに対して設計されている。
本発明の目的は、既知のMPEG-4 BIFSデータストリームの符号化の非効率性を解決することである。
本発明のさらに別の目的は、時間的な予測符号化プロセスを使用して、シーンまたはオブジェクトを表すデータのアレイを符号化するための方法およびシステムを提供することである。
本発明のこれらの目的およびその他の目的は、(1)値のアレイを一律に符号化するコンピュータにより実現される方法と、(2)値のアレイを一律に符号化するシステムと、(3)値のアレイを一律に符号化するコンピュータプログラム製品のうちの1つ以上のものにより解決される。このようなシステムは、ゲーム、バーチャルリアリティ環境、および映画の改良された記憶および再生に適用可能である。さらに、向上した効率に基づいて、本発明により符号化されたビデオストリームは、あまり効率的ではない符号化されたストリームよりも狭い帯域幅の通信リンクによって再生できる。
発明の実施の形態
本発明のより完璧なアプリケーション、およびそれに付随する利点の多くは、以下の詳細な説明を参照することによって、特に添付図面とともに検討することによって容易に明らかになるであろう。
図面を参照すると、同じ参照符号は、いくつかの図にわたって同じまたは対応した部分を示している。図1は、値のアレイの一律の符号化および/または復号化を行うコンピュータシステムの概略図である。コンピュータ100 は本発明の方法を実施し、コンピュータハウジング102 はマザーボード104を収容している。マザーボード104は、CPU106 と、メモリ108 (例えば、DRAM,ROM,EPROM,EEPROM,SRAM,SDRAM,およびフラッシュRAM)と、その他のオプション的な特定用途向け論理デバイス(例えば、ASIC)または構成可能な論理デバイス(例えば、GALおよび書き換え可能FPGA)とを含む。コンピュータ100 はさらに、複数の入力デバイス(例えば、キーボード122 およびマウス124 )、およびモニタ120 を制御するためのディスプレイカード110 を含む。さらに、コンピュータシステム100 はフロッピー(登録商標)ディスクドライブ114、他の取外し可能な媒体デバイス(例えば、コンパクトディスク119 、テープ、および(示されていない)取外し可能な磁気光学媒体)、およびハードディスク112または適切なデバイスバス(例えば、SCSIバス、強化されたIDEバス、またはウルトラDMAバス)を使用して接続された固定された他の高密度媒体ドライブも備えている。また、同じデバイスバスまたは別のデバイスバスに接続されているものとして、コンピュータ100 は、コンパクトディスク読出し装置118 、(示されていない)コンパクトディスク読出し/書込みユニット、または(示されていない)コンパクトディスクジュークボックスをさらに備えていてもよい。コンパクトディスク119 はCDキャディに入って示されているが、コンパクトディスク119はキャディを必要としないCD-ROMドライブ中に直接挿入することができる。さらに、符号化および/または復号化されたアレイのリストが(示されていない)プリンタにより印刷される。
前述したように、システムは、少なくとも1つのコンピュータ読出し可能媒体を含む。コンピュータ読出し可能媒体の例は、コンパクトディスク119 、ハードディスク112 、フロッピー(登録商標)ディスク、テープ、光磁気ディスク、PROM(EPROM,EEPROM,フラッシュEPROM),DRAM,SRAM,SDRAMなどである。本発明は、コンピュータ読出し可能媒体の任意の1つまたはそれらの組み合わせに記憶されるソフトウェアを含み、このソフトウェアはコンピュータ100 のハードウェアを制御し、コンピュータ100 が人間のユーザと対話できるようにする。このようなソフトウェアは、デバイスドライバ、オペレーティングシステム、および開発ツールのようなユーザアプリケーションを含むが、それらに制限されない。これらのコンピュータ読出し可能媒体はさらに、シーン記述および/またはアニメーション化におけるアレイの一律の符号化および/または復号化のための本発明のコンピュータプログラム製品をさらに含む。本発明のコンピュータコード機構/デバイスは、スクリプト、翻訳プログラム、ダイナミックリンクライブラリ、Java(登録商標)クラス、および完全な実行可能プログラムを含む、任意の翻訳されたまたは実行可能なコードメカニズムとすることができるが、それらに制限されない。
図2に示されているように、オーサリングツール200 はシーン240 を生成する第1のステップで使用される。オーサリングツール200 が一連のイメージを生成すると、それら一連のイメージは量子化装置205 へ送信される。量子化後、量子化されたイメージはプレディクタ210 へ送られ、このプレディクタ210は、前のフレームと後のフレームの間の類似性を利用して、差分符号化によって後のフレームの内容をさらにコンパクトに表す。プレディクタは線形または非線形(即ち、多次)補間を含んでもよい。フレーム間の差分はエントロピーエンコーダ/デコーダ215 により符号化される。エンコーダ/デコーダ215 は多数のエントロピーシステムのうちの任意の1つ(例えば、適応型算術エンコーダ)であってもよい。エンコーダ/デコーダ215 の結果は、組込まれたプロトコル220 でフォーマットされ、送信機または記憶装置225 を使用して送信または記憶される。
フォーマットされ、記憶され/送信されたイメージを復号化するため、逆に“元に戻す”ように符号化プロセスが行われる。最初に、フォーマットは、組込まれたプロトコル220 により復号化されて、元のエントロピー符号化データが生成される。このエントロピー符号化データは、補償装置を含むデコーダ230 に与えられる。補償装置は、前のフレームと差分符号化を使用して、量子化されたデータのフレームを生成する。量子化されたデータはデータをシーンに逆量子化する逆量子化装置235 に送られる。量子化プロセスでは多くのビットが使用されるので、シーンはオーサリングされた元のシーンの完全な表示ではないかもしれないが、本発明を使用することにより、追加のビットを他の目的(例えば高い分解能の量子化)に使用できるように、アレイがより効率的に符号化される。
明瞭にする目的で、オーサリングはここでは一連のアニメーションパラメータvを生成するために実行されるものとして説明される。任意のパラメータvi は一連のパラメータのi番目のパラメータであり、それ自体は実数値のアレイを含んでもよい。量子化中、パラメータvi は量子化されたパラメータvqi に変換される。量子化方法の1つの例は、MPEG-4BIFSバージョン1に記載されているような線形の一律の量子化である。
このような量子化プロセスは、以下で説明するような、値の予測が全ての値のタイプに拡張される補償プロセスをサポートする。1つ以上の予測関数が各データタイプに対して規定され、これによりそのデータタイプの値が予測できる。別の実施形態では、1つの予測関数(例えば、加算)が全てのデータタイプに対して使用される。予測の結果として、復号化中に、目的のシーンを再生成するのに必要とされるビットの数は、一般的により少なくなる。
以下で説明する符号化方法は、シーン内のデータのアレイの全てのタイプに適用される一般化された一律の予測符号化方法である。したがって、この方法はフレーム内符号化(即ちIモード)と予測符号化(即ちPモード)に適用可能である。代わりの実施形態において、Pモードでは、可変長のエンコーダがデータサイズをさらに減少するために使用される。図3の(A)乃至(C)で示されているように、回転に適用される場合、データの符号化は量子化なしのときよりも少ない数のビットで実現でき、予測符号化と組み合わせる場合にはさらに少数のビットで実現できる。
別のタイプのデータも処理できる。任意の2Dまたは3Dパラメータvは、次式により与えられる次元Dの実数値のベクトルとして見ることができる。
v=(v[0],v[1],…,v[D-1])
このパラメータの対応する量子化値は、次式により与えられる次元D' の整数のアレイである。
q=(q[0],q[1],…,q[D'-1])
ここで次元D' はDに等しい必要はない。ベクトル、単位ベクトル、整数は、本発明の予測的かつ量子化された符号化にしたがって符号化されるパラメータの3つの特定のカテゴリーを構成している。
グループ“ベクトル”は、3次元、2次元、1次元ベクトルに区分される。3次元ベクトルは、位置3D、サイズ3D、テクスチャ座標の各タイプの値を符号化するために使用される。2次元ベクトルは、位置2D、サイズ2D、テクスチャ座標の各タイプの値を符号化するために使用される。1次元ベクトルは、任意の1つの整数ではない値を符号化する浮動点である。即ち、角度、スケール、補間キー、境界浮動点の各タイプの値を符号化するために長さlの浮動小数点アレイが使用される。色も、スケール0.0−1.0でそれぞれ表される赤、緑、青成分を有する浮動小数点3次元ベクトルの特別な形態である。MPEG-4 BIF Sv1仕様に基づいて、量子化タイプとアニメーションタイプが1,2,4,5,6,7,8,11,12であるカテゴリーにベクトルは使用される。
単位ベクトルの特別な特性の結果として、単位ベクトルは別々に処理され、垂線および回転(QuantTypesとAnimationTypes9および10)に使用される。回転および垂線の使用のさらなる詳細は、先に参照した本出願人の同日特許出願の明細書に記載されている。
最後のカテゴリーである整数も予測的で量子化される符号化を受ける。MPEG4 BIFSv1仕様に基づくと、このカテゴリーは量子化タイプとアニメーションタイプ3,13,14に一致する。参照のため、カテゴリーのさらに完全な記述を以下のテーブル1とテーブル2で行う。
テーブル1:量子化タイプ(量子化カテゴリー)
カテゴリー 説明
0 なし
1 3D位置
2 2D位置
3 描画順序
4 SF色
5 テクスチャ座標
6 角度
7 スケール
8 補間キー
9 垂線
10 回転
11 オブジェクトサイズ3D
12 オブジェクトサイズ2D
13 線形スカラー量子化
14 座標インデックス
15 保留
テーブル2:アニメーションタイプ
カテゴリー 説明
0 なし
1 位置3D
2 位置2D
3 保留
4 色
5 保留
6 角度
7 浮動点
8 境界浮動点
9 垂線
10 回転
11 サイズ3D
12 サイズ2D
13 整数
14 保留
15 保留
量子化/逆量子化プロセスはいくつかのパラメータにより特定される。これらのパラメータは符号化パラメータの一般的なカテゴリーに基づく。ベクトルに関して、量子化装置/逆量子化装置に以下のものが与えられるべきである。
QuantMin:ベクトルの量子化の最小境界であり、パラメータの次元Dと同じ次元の浮動小数点の数(“浮動点”)のアレイとして符号化される。
QuantMax:ベクトルの量子化の上限境界であり、パラメータの次元Dと同じ次元の浮動点のアレイとして符号化される。
QuantNbBits:ベクトルの量子化に使用されるビット数である。
あるカテゴリー(例えば、色、すなわち当然に境界浮動点)に対しては、QuantMinとQuantMax値はパラメータのデフォルト(有限)境界から得られる。別の実施形態では、量子化ステップはQuantMaxの代わりに以下のように特定される。
QuantStep=(QuantMax-QuantMin)/((2^(QuantNbBits ))-1)
同様に、単位ベクトルに対して、エンコーダ/デコーダは、1つの符号化パラメータQuantNbBits、即ちベクトル量子化で使用されるビット数が与えられるだけである。一貫させるために、浮動点QuantMinとQuantMaxはそれぞれ0と1として規定される。
整数に対しては、量子化装置/逆量子化装置には以下のものが与えられる。
QuantMin:ベクトルに対する量子化の下限境界であり、整数として符号化される。
QuantNbBits:ベクトルの量子化で使用されるビット数である。
基本的な量子化プロセスは以下の3つのパラメータにしたがって実数値を量子化する。
QuantMin:最小の量子化値である。
QuantMax:最大の量子化値である。
QuantNbBits:量子化で使用されるビット数である。
量子化ステップは以下のものにしたがって規定できる。
QuantNbBits ≦0:量子化ステップは実際の意味をもたず、量子化値は単に0に設定される。
QuantNbBits >0: QuantStep =(QuantMax-QuantMin)/(2QuantNbBits -1)
基本的な量子化プロセスは(Cプログラミング言語スタイルで)以下の関数により規定される。
int quantize (float QuantMin, float QuantMax, float v, int QuantNbBits)
returns the rounded value of (v-QuantMin) / QuantStep
したがって、基本的な逆量子化プロセスは以下の関数により規定される。
float invQuantize (float QuantMin, float QuantMax, float vq, int QuantNbBits )
returns (QuantMin+vq*QuantStep)
MPEG4 BIFS v1で記載されている量子化プロセスは、前述したような量子化および逆量子化関数を使用し、そして本発明に適応可能である。量子化プロセスが補償プロセスも同様にサポートする限り、他の量子化および逆量子化関数を代わりの実施形態で使用してもよい。
補償プロセスの一部として、以下のパラメータが規定される。
CompMin:補償ベクトルvDeltaの下限境界を規定する整数アレイである。
CompNbBits:補償ベクトルの成分を符号化するために使用されるビット数を規定する整数である。
これらの値は補償装置の特別な特性ではないが、バイナリファイル中の補償ベクトルvDeltaの成分の符号化を規定する。各成分vDelta[i]は、CompMin[i]により変換され、CompNbBitsを使用して符号化される。したがって、実際の符号化値はvDelta[i]-CompMin[i]である。
一般的な予測プロセスを、連続的な量子化値vq1とvq2、およびそれらの間のデルタ値vDeltaに関して説明する。
符号化プロセスを最初に説明する。ベクトルおよび整数に対しては、計算は簡単であり、次式により与えられる。
vDelta[i]=vq2[i]-vq1[i]
単位ベクトルに対しては、さらに詳細な計算が使用される(上述した共に留保中の特許出願でさらに詳細に説明されている)。前述したように、QuantNbBits=0ならば、使用するために利用可能なビットがないので実際の符号化は存在しない。その場合、全ての値はゼロと仮定され、ビデオストリームに書き込まれる必要はない。
しかしながら、QuantNbBits>0のとき、符号化プロセスは以下のように行われる。最初に、変数invは1に設定される(しかしこの変数はプロセス中に変更されてもよい)。次に、減少された成分の数Nが決定され、ここで垂線ではN=2、回転ではN=3である。その後、vq1とvq2との間の差分方位および方向が以下の式に基づいて計算される。
dOri=(ori2-ori1)mod(N+1)
dDir=dir1*dir2
スケール=2QuantNbBits-1 −1
2つの場合について検討する。
Figure 2007116725
変数inverseは、inverse=inv*dDirにしたがって計算される。量子化プロセスの限界的非単射性(marginal non-injectivity)の結果、vDeltaによるvq1の補償、vq2’は正確にvq2を生成しない。しかしながらvq2とvq2'は常にほぼ同一の垂線または回転を表す。
値の3つの基本的なカテゴリー(即ち、整数、ベクトル、単位ベクトル)のそれぞれの値が予測できる。整数は簡単な減算を使用して予測される。ベクトルは予測のための量子化された成分ベースの減算を利用する。単位ベクトルはマッピングキューブのトポロジ構造に基づいた特殊化された減算を用いる。
各データタイプの値が予測されると、復号化中に補償が使用され、予測値と実際の値との間の差が補正される。vq1を先に計算された量子化パラメータとし、vDeltaをデルタ値とし、vq2を加算から得られた量子化値とする。結果として、量子化値vqは整数のアレイvq[]を含む。さらに、垂線および回転に対しては、vq1は方位を含み、垂線のみは、方向を含む。同様に、デルタ値vDeltaは整数のアレイvDelta[]を含む。さらに、垂線に対しては、値が−1または1である整数の逆数を含む。結果的なvq2は計算されている値のタイプに応じて計算される。ベクトルおよび整数に対しては、vq2の成分は次式により与えられる。
vq2[i]=vq1[i]+vDelta[i]
しかしながら、単位ベクトルに対しては、単位キューブ構造のために付加的な処理が実行される。
前述したように、以下の方法が実行される。最初に、成分単位での加算が実行され、その結果は以下により与えられる一時的なアレイに記憶される。
vqTemp[i]=vq1[i]+vDelta[i]
QuantNbBitsが0または1であるならば、スケールは1/2に設定され、そうでなければ2QuantNbBits-1-1に設定される。共に留保中の特許出願でさらに詳細に説明されているようにQuantNbBits=0の使用は、基本的に本発明についてのQuantNbBits=1と等しい。方向および方位情報だけを使用することにより(即ちQuantNbBits=0のとき)、1つの面から他のそれぞれの面への移動が説明できる。
しかしながら、以下で説明するさらに一般的な場合では、QuantNbBits>=2である。減少された成分の数Nが設定される(ここで垂線ではN=2、回転ではN=3である)。これらの初期ステップが行われると、3つの条件のいずれが満たされるかに基づいて、付加的な処理が以下で説明するように実行される。
Figure 2007116725
3つのタイプの値(即ち整数、ベクトル、単位ベクトル)のそれぞれでは、補償プロセスは予測プロセスの逆である。即ち整数では、簡単な加算プロセスは予測的な減算をもとに戻す。同様に、ベクトルに対しては、量子化された成分ベースの加算が使用される。最後に、トポロジ的なコヒーレント加算が単位ベクトルに対して使用され、潜在的に新しい方位と方向の計算を必要とする。
図2を参照して説明したように、エンコーダ215 がエントロピー符号化を完了すると、結果的な値は、ヘッダ情報と共に、プロトコルにより特定されたフォーマットで記憶されなければならない。したがって、1つの実施形態は(他の構造も可能であるが)以下の構造を利用する。まず、各ノードの各フィールドにはパラメータカテゴリーが与えられる。パラメータカテゴリーは、先に説明したプロセスにしたがって、QuantMin,QuantMax,QuantNbBits,CompMin,CompNbBitsのどれが使用されるべきかを記述する。次に、各アレイに対するヘッダが符号化される。ヘッダは以下のものを含む。
(1)フィールドの長さ、
(2)以下の3つのカテゴリーのうちの1つが与えられた場合のIモード(即ち簡単な量子化)とPモードのポリシー。
(a)予測符号化値だけが1つのイントラ値に続く。
(b)I値がn個のp値のそれぞれに対して与えられる(したがってエラーの伝播の長さを制限する)。
(c)値がI値またはP値であるかを示すため、ビットが各値に先行(または後続)する。
その後、予測値の符号化のための量子化および補償パラメータがストリームに付加される。イントラ量子化パラメータ(QuantMin、QuantMax、QuantNbBits)は、符号化されたフィールドの範囲で対応する量子化パラメータによりBIFS中で検索できる。補償パラメータ(CompMin、CompNbBits)は直接ストリームに加算される。
最後に、量子化値のアレイが、イントラ/予測ポリシーに続いて符号化される。I値は量子化値として符号化される。P値はそのセッションが任意の2つのイントラ間でオープンである適応型算術エンコーダにより符号化される。
以下のビットストリームシンタックスが使用されて、値のアレイが符号化される。ビットストリームシンタックスは、MPEG-4 FDIS14496-1により特定されるようなMSDL言語の規約を使用する。
1.0 ArrayOfData
1.1 シンタックス
class ArrayOfData{
ArrayHeader header;
ArrayOfValues values;
}
1.2 意味
データのアレイはHeaderとArrayOfValuesからなる。
2.0 ArrayHeader
2.1 シンタックス
class ArrayHeader{
int(5) NbBits;
int(NbBits) numberOfFields:
bit(2) IPPolicy;
if (IPPolicy==1)
int(NbBits) intraInterval;
InitialArrayQP qp;
}
2.2 意味
アレイヘッダはフィールド数を特定するための第1の情報を含む(NbBitsはnumberOfFieldsの符号化に使用されるビット数である)。イントラ/予測ポリシー(IPPolicy)は以下のように特定される。
0の場合:開始における1つのみのイントラ値と、予測符号化値のみ
1の場合:所定数の予測値ごとのイントラ
2の場合:値がイントラまたは予測値であるかを決定するための各値に対するビットである。
最後に、InitialArrayQPが符号化される。
3.0 InitialArrayQP
3.1 シンタックス
class InitialArrayQP{
switch (IPPolicy)
case 1 ;
int NbBits;
int(NbBits)intraInterval;
// no break
case 0 :
case 2 :
int(5) CompNbBits;
for(int i=0;i<NbComp(quantType))
int(QuantNbBits+1) CompMin[i]
// no break
case 3 :
break;
}
3.2 意味
IPPolicyが1であるならば、2つのイントラ間の間隔のサイズが最初に特定される。IPPolicyと無関係に、予測モードCompNbBitsとCompMinsで使用されるビット数が符号化される(関数NbComp()は量子化限界の成分の数を返す関数であり、オブジェクトに基づいている。例えばこれは3D位置に対して3を返し、2D位置に対して2を返し、回転に対して3を返す)。
4.0 ArrayQP
4.1 シンタックス
class ArrayQP{
switch (IntraMode)
case 1 ;
int NbBits;
int(NbBits) intraInterval;
// no break
case 0 :
case 2 :
boolean(1) hasCompNbBits;
if (hasCompNbBits)
int(5) CompNbBits;
boolean(1) hasCompMin
if (hasCompMin)
for (int i=0;i<NbComp(quantType))
int(QuantNbBits+1) CompMin[i]
// no break
case 3 :
break;
}
4.2 意味
ArrayQPはInitialArrayQPと同じ目的を実現するが、この場合パラメータはオプション的に設定される。これらがストリームで設定されない場合には、これらは、InitialArrayQPまたはパラメータの最後に受信された値を参照してデフォルトにより設定される。
IPPolicyが1であるならば、2つのイントラ間の間隔のサイズが最初に特定される。いずれの場合でも、予測モード(CompNbBitsとCompMins)で使用されるビット数が符号化される。関数NbComp()は、量子化限界の成分の数を返す関数であり、単にオブジェクトに依存する。例えば3D位置では3であり、2D位置では2であり、回転では3などである。
5.0 ArrayOfValues
5.1 シンタックス
class ArrayOfValues{
ArrayIValue value[0];
for (int i=1; i < numberOfFields;i++)
{
switch (IntraMode) {
case 0:
ArrayPValue value;
break;
case 1:
bit (1) isIntra;
if (isIntra) {
bit(1) hasQP;
if (hasQP)
ArrayQP qp;
ArrayIValue value;
}else {
ArrayPValue value;
}
break;
case 2:
if ( (i intraInterval) == 0) {
bit(1) hasQP;
if (hasQP)
ArrayQP qp;
ArrayIValue value;
}else {
ArrayPvalue value;
}
break;
}
}
5.2 意味
値のアレイは最初に第1のイントラ値を符号化し、その後IPPolicyにしたがってイントラおよび予測値を符号化する。Pだけのモードでは、もはやイントラ値は符号化されない。第2のモードでは、ビットは各値においてPまたはIモードを決定する。その場合、QPをイントラ値のために送信することができる。QPが送信されるならば、演算型エンコーダの統計が再設定される。第3のモードでは、イントラはintraInterval値ごとに送信される。
6.0 ArrayIValue
6.1 シンタックス
class AnimationIValue(FieldData field) {
switch (field.animType) {
case 9: //Normal
int(1) direction
case 10: //Rotation
int(2) orientation
break;
default:
break;
}
for (j=0;j<getNbComp(field);j++)
int(QuantNbBits) vq[j];
}
6.2 意味
ArrayIValueは、フィールドの量子化されたイントラ値を表している。この値は量子化セクションで説明した量子化プロセスに続いて符号化され、そしてフィールドのタイプにしたがって符号化される。垂線に対しては、量子化プロセスで特定されている方向および方位値が最初に符号化される。回転に対しては、方位値のみが符号化される。方向を表すビットが0であるならば、垂線の方向は1に設定され、ビットが1であるならば、垂線の方向は−1に設定される。方位の値は2ビットを使用して符号のない整数として符号化される。フィールド値の圧縮された成分vq[i]はその後、フィールドデータ構造で特定されたビット数を使用して、符号のない整数のシーケンスとして符号化される。イントラモードの復号化プロセスは、逆量子化プロセスを適用することによりアニメーション値を計算する。
7.0 ArrayPValue
7.1 シンタックス
class ArrayPValue(FieldData field) {
switch (field.animType) {
case 9: // Normal
int(1) inverse
break;
default:
break;
}
for (j=0;j<getNbComp(field);j++)
int(aacNbBits) vqDelta[j];
}
7.2 意味
ArrayPValueは先に受信された量子化値と、フィールドの現在の量子化値との間の差を表している。この値は前述したような補償プロセスを使用して符号化される。
値は、処理v aac=aa decode(モデル)により、適応型算術コーダビットストリームから復号化される。このモデルは、処理model update(モデル,v aac)で更新される。垂線に対しては、逆数値が均一で更新されていないモデルで、適応型算術コーダにより復号化される。ビットが0であるならば、逆数値は1に設定され、ビットが1であるならば、逆数値は−1に設定される。補償値vqDelta[i]はその後1つずつ復号化される。vq(t-1)を前のフレームで復号化された量子化値とし、v_acc(t)をフィールドのモデルで瞬間tにおいてフレームの適応型算術デコーダにより復号化された値とする。時間tの値は以下のように先の値から得られる。
vDelta(t)=v acc(t)+Pmin
vq(t)=AddDelta(vq(t-1),vDelta(t))
v(t)=InvQuant(vq(t))
フィールドのモデルは、値が適応型算術コーダにより復号化される度に更新される。animTypeが1(位置3D)、または2(位置2D)であるならば、フィールド値の各成分はその自己のモデルとオフセットPMin[i]を使用している。全ての他の場合では、同じモデルとオフセットPMin[0]が全ての成分に対して使用される。
以下のテーブル3で示されているように、本発明にしたがった値のアレイの圧縮は、実質的に類似したビデオストリームを表すVRML ASCIIファイルと比較して、シーンの大きな圧縮を行うことができる。
Figure 2007116725
当業者に自明であるように、本発明の方法に基づいて多くの変形が行われてよい。したがって、上述の例および実施形態は例示であり、本発明の技術的範囲を限定することを意図するものではない。特許請求の範囲の記載によってのみ、本出願人が権限を有する保護の範囲が限定される。
図1は、本発明の符号化および/または復号化サービスを実現するコンピュータの概略図である。 図2は、エンコーダ/デコーダシステムの概略図である。 図3(A)は、128ビットで回転を符号化するために使用される元のビット長を示した図であり、(B)は、それぞれ27ビットで一連の回転を符号化するため8ビット量子化を使用する既知の量子化および符号化方法を使用した結果を示した図であり、(C)は、本発明にしたがった、即ち(1)27ビットで第1の回転を符号化し、(2)それぞれ12ビットでその後の一連の回転を符号化するための8ビットの量子化と4ビットの予測符号化を用いた、量子化および予測符号化方法を使用した結果を示した図である。

Claims (3)

  1. (a)ビデオストリームで使用される実質的に各データタイプに対して、対応するタイプ特定の量子化パラメータを決定するステップと、
    (b)前記ビデオストリーム中で使用されるデータタイプのうちの1つのデータタイプの第1のアレイから第1の値を選択するステップと、
    (c)前記対応するタイプ特定の量子化パラメータを使用して前記第1の値を量子化するステップと、
    (d)前記ビデオストリーム中で使用されるデータタイプのうちの1つのデータタイプの前記第1のアレイから第2の値を選択するステップと、
    (e)前記対応するタイプ特定の量子化パラメータを使用して前記第1の値と前記第2の値とから予測値を決定するステップと、
    (f)前記対応するタイプ特定の量子化パラメータを使用して前記予測値を量子化するステップと、
    (g)前記量子化された第1の値と前記量子化された予測値とを符号化して前記ビデオストリームに入れるステップと、
    (h)符号化されて前記ビデオストリームに入れられるべき実質的にすべてのアレイに対して前記ステップ(b)−(g)を反復するステップとを含むビデオストリームを符号化するコンピュータで実行される方法。
  2. ヘッダ情報を符号化して前記ビデオストリームに入れるステップをさらに含む請求項1記載の方法。
  3. 前記ステップ(g)および(h)で符号化されたビデオストリームを復号化するステップをさらに含む請求項1記載の方法。
JP2006317303A 1998-12-04 2006-11-24 データアレイの予測符号化方法およびシステム Expired - Fee Related JP4444943B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/205,191 US6075901A (en) 1998-12-04 1998-12-04 Method and system for predictive encoding of arrays of data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000587300A Division JP3999463B2 (ja) 1998-12-04 1999-11-30 データアレイの予測符号化方法およびシステム

Publications (3)

Publication Number Publication Date
JP2007116725A true JP2007116725A (ja) 2007-05-10
JP2007116725A5 JP2007116725A5 (ja) 2009-07-02
JP4444943B2 JP4444943B2 (ja) 2010-03-31

Family

ID=22761183

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000587300A Expired - Fee Related JP3999463B2 (ja) 1998-12-04 1999-11-30 データアレイの予測符号化方法およびシステム
JP2006317303A Expired - Fee Related JP4444943B2 (ja) 1998-12-04 2006-11-24 データアレイの予測符号化方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000587300A Expired - Fee Related JP3999463B2 (ja) 1998-12-04 1999-11-30 データアレイの予測符号化方法およびシステム

Country Status (11)

Country Link
US (1) US6075901A (ja)
EP (1) EP1138012A4 (ja)
JP (2) JP3999463B2 (ja)
KR (1) KR100458101B1 (ja)
CN (1) CN1124563C (ja)
AU (1) AU753876B2 (ja)
BR (1) BR9915947B1 (ja)
CA (1) CA2352292C (ja)
IL (1) IL143438A (ja)
NO (1) NO20012723L (ja)
WO (1) WO2000034912A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693645B2 (en) * 1999-12-01 2004-02-17 Ivast, Inc. Optimized BIFS encoder
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
EP1322120B1 (en) 2001-11-27 2011-03-30 Samsung Electronics Co., Ltd. Encoding and decoding key value data of orientation interpolator node
US7026960B2 (en) 2001-11-27 2006-04-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
KR100480787B1 (ko) * 2001-11-27 2005-04-07 삼성전자주식회사 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
EP2302929B1 (en) * 2001-11-27 2015-03-25 Samsung Electronics Co., Ltd. Coding and decoding of a bitstream with a coordinate interpolator
EP1322118B1 (en) * 2001-11-27 2012-11-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
EP1331824A3 (en) * 2001-11-27 2005-09-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of coordinate interpolator
EP1320265B1 (en) 2001-11-27 2014-05-21 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding position interpolator
CN100581253C (zh) * 2001-11-27 2010-01-13 三星电子株式会社 用于解码比特流的装置和方法
EP1592253B1 (en) * 2001-11-27 2012-06-27 Samsung Electronics Co., Ltd. Generating differentially coded data of quantized coordinate data of vertices of moving objects
US7013803B2 (en) 2002-02-06 2006-03-21 Quad/Tech, Inc. Color registration control system for a printing press
US7253929B2 (en) * 2002-02-06 2007-08-07 Quad/Tech, Inc. Camera assembly for a printing press
US7809204B2 (en) * 2002-10-18 2010-10-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of coordinate interpolator
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
CA2628746C (en) * 2005-12-05 2014-08-26 Jeffrey Fischer Chemical composition and method for detecting counterfeit paper currency
KR100738109B1 (ko) * 2006-04-03 2007-07-12 삼성전자주식회사 입력 신호의 양자화 및 역양자화 방법과 장치, 입력신호의부호화 및 복호화 방법과 장치
BR112014025640B1 (pt) * 2012-04-18 2021-08-10 Interdigital Madison Patent Holdings Método e aparelho para gerar ou decodificar um fluxo de bits que representa um modelo 3d
AU2013372617B2 (en) 2013-01-10 2019-07-04 Interdigital Vc Holdings, Inc. Method and apparatus for vertex error correction

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751742A (en) * 1985-05-07 1988-06-14 Avelex Priority coding of transform coefficients
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data

Also Published As

Publication number Publication date
IL143438A0 (en) 2002-04-21
KR20010101112A (ko) 2001-11-14
IL143438A (en) 2005-12-18
AU1713200A (en) 2000-06-26
CA2352292A1 (en) 2000-06-15
CA2352292C (en) 2008-01-22
EP1138012A4 (en) 2005-01-19
CN1329733A (zh) 2002-01-02
NO20012723D0 (no) 2001-06-01
BR9915947B1 (pt) 2010-12-14
EP1138012A1 (en) 2001-10-04
JP4444943B2 (ja) 2010-03-31
CN1124563C (zh) 2003-10-15
JP3999463B2 (ja) 2007-10-31
KR100458101B1 (ko) 2004-11-26
NO20012723L (no) 2001-08-01
US6075901A (en) 2000-06-13
BR9915947A (pt) 2001-08-21
AU753876B2 (en) 2002-10-31
WO2000034912A1 (en) 2000-06-15
JP2002532923A (ja) 2002-10-02

Similar Documents

Publication Publication Date Title
JP4444943B2 (ja) データアレイの予測符号化方法およびシステム
JP7257547B2 (ja) 点群圧縮のための方法及び装置、並びにコンピュータプログラム
JP4399393B2 (ja) 3次元生成シーンにおける回転および垂線の符号化方法およびシステム
US8411975B2 (en) Method and apparatus for encoding and decoding key value data of coordinate interpolator
Hoppe Efficient implementation of progressive meshes
US5818463A (en) Data compression for animated three dimensional objects
JP2007151119A (ja) ダイナミックプロトタイプを使用してマルチマディアストリームを制御する方法およびシステム
JP2022526232A (ja) 点群圧縮のための方法並びにその、装置およびコンピュータプログラム
KR20040049259A (ko) 3차원 객체 데이터 부호화 및 복호화 방법 및 장치
Isik et al. Lvac: Learned volumetric attribute compression for point clouds using coordinate based networks
JP2004537887A (ja) 入れ子メッシュを導入した画像の符号化及び復号のための方法及び装置とそれに対応するプログラム
US7809204B2 (en) Method and apparatus for encoding and decoding key value data of coordinate interpolator
RU2236751C2 (ru) Способы и устройство для сжатия и восстановления траектории анимации с использованием линейной аппроксимации
MXPA01005520A (en) Method and system for predictive encoding of arrays of data
Santa-Cruz et al. Coding of 3D virtual objects with NURBS
Santa-Cruz et al. Compression of parametric surfaces for efficient 3D model coding
Smolic et al. A survey on coding of static and dynamic 3D meshes
Smolic et al. A survey on coding of static and dynamic 3D meshes
Song et al. Progressive compression and transmission of PointTexture images
MXPA01005522A (en) Method and system for encoding rotations and normals in 3d generated scenes
MXPA01005521A (en) Method and system for controlling multimedia streams using dynamic prototypes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees