JP5936687B2 - ツリー構造の適応的エントロピー符号化方法 - Google Patents

ツリー構造の適応的エントロピー符号化方法 Download PDF

Info

Publication number
JP5936687B2
JP5936687B2 JP2014520490A JP2014520490A JP5936687B2 JP 5936687 B2 JP5936687 B2 JP 5936687B2 JP 2014520490 A JP2014520490 A JP 2014520490A JP 2014520490 A JP2014520490 A JP 2014520490A JP 5936687 B2 JP5936687 B2 JP 5936687B2
Authority
JP
Japan
Prior art keywords
bitstream
symbols
symbol group
parts
symbol
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.)
Active
Application number
JP2014520490A
Other languages
English (en)
Other versions
JP2014527735A (ja
Inventor
チャン,ウェンフェイ
カイ,カンイン
チェン,ジボ
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2014527735A publication Critical patent/JP2014527735A/ja
Application granted granted Critical
Publication of JP5936687B2 publication Critical patent/JP5936687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4056Coding table selection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6088Selection strategies according to the data type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6094Selection strategies according to reasons other than compression rate or data type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Description

本発明は、ツリー構造の適応的エントロピー符号化方法及び対応する装置に関する。さらに、本発明は、ツリー構造の適応的エントロピー復号化方法及び対応する装置に関する。
エントロピー符号化は、数十年の間に研究されてきた。基本的には、Huffman符号化などの可変長符号化(VLC)、算術符号化及びLempel−Ziv圧縮やLempel−Ziv−Welch圧縮などの辞書ベース圧縮の3つのタイプのエントロピー符号化方法がある。VLCコードは、各シンボルを表現するため整数個のビットを使用する。Huffman符号化は、最も広範に利用されるVLC方法である。それは、より高い確率を有するシンボルにより少数のビットを割り当て、より低い確率のシンボルにより多くのビットを割り当てる。しかしながら、Huffmanコードは、各シンボルの確率が1/2の整数の冪乗でない場合、最適とはなりえない。他方、算術符号化は、各シンボルにフラクショナルビットを割り当てることが可能であり、これにより、データのグループのエントロピーにより良好に接近することが可能になる。Huffmanコード及び算術コードは、JPEG、MPEG−2、H.264/AVCなどの既存のイメージ/ビデオ圧縮規格において広範に利用されてきた。Lempel−Ziv(LZ)又はLempel−Ziv−Welch(LZW)は、テーブルエントリが繰り返されるデータの文字列の代わりとなるテーブルベース圧縮モデルを利用する。大部分のLZ方法について、当該テーブルは以前の入力データから動的に生成される。当該アルゴリズムは、高速に実現されるよう設計されているが、それはデータの限定的な解析しか実行しないため、通常は最適でない。このアルゴリズムのカテゴリは、GIF、Zip、PNG及び他の規格において利用されてきた。
3Dメッシュ符号化では、ジオメトリデータは、kd−treeベース[OG00]又はオクツリーベース[PK05]などの空間ツリーベースアプローチによって通常は圧縮される。これらのアルゴリズムは、ある空間ツリーによって入力された空間ポイントを組織化する。このとき、それらは、ツリー構造をトラバースし、入力ポイントをいこうに復元するのに必要な情報を記録する。空間ツリーを構築しながら、各非エンプティセルが1つのみの頂点を含み、頂点ポジションの十分正確な再構成を可能にするよう十分小さくなるまで、セルは再帰的に分割される。まず、境界ボックスが、3Dモデルのすべてのポイントを包囲するよう構成される。すべての3Dポイントの境界ボックス全体は、始めに単一のセルとみなされる。頂点ポジションが対応するセルの境界ボックスから復元可能であるため、空間ツリーベースアルゴリズムは、マルチ解像度圧縮及び同一の圧縮レシオをシングル解像度圧縮アルゴリズムとして実現可能であることを含む。
各繰り返しによって、[OG00]は、セルを2つのチャイルドセルに分割し、図1に示されるように、2つのチャイルドセルの1つに頂点の個数を符号化する。ペアレントセルがp個の頂点を有する場合、チャイルドセルの一方における頂点の個数は、算術符号化装置によってlog(p+1)ビットを利用して符号化できる。
他方、[PK05]は、各繰り返しにおいて非エンプティセルを8個のチャイルドセルに分割する。各オクツリーセル分割について、ジオメトリ符号化装置は、非エンプティチャイルドセルの個数T(1
Figure 0005936687
8)と、
Figure 0005936687
個の可能な組み合わせのうちの非エンプティチャイルドセルのコンフィギュレーションとを符号化する。データが直接的に符号化されると、Tは3ビットをとり、非エンプティチャイルドセルのコンフィギュレーションは、logビットをとる。符号化効率を向上させるため、[PK05]は、各チャイルドセルについてエンプティでない擬似確率を推定する。チャイルドセルのトラバース順序は、確率の降順に従って構成される。説明の簡単化のため、クワドツリーチャイルドセルとコードワードを生じさせる2Dの具体例が、図2に示される。トラバース順序は矢印により示される。
しかしながら、より高い圧縮レシオを実現するため、圧縮を向上させることが常に所望される。特に、データのロスなくこれを実現することが所望され、すなわち、(擬似)ロスレス再生を生じさせるフルクオリティ分解を可能にする方法が所望される。
本発明は、ビットストリームが3Dメッシュモデルを符号化する空間ツリーベースアプローチのツリー構造のトラバースから生じる場合、ビットストリームがシステマティックに特別な冗長性を有し、これがメッシュモデルの圧縮をさらに向上させるのに利用可能であるという事実の認識に基づく。特に、より高い圧縮効率が、例えば、クワドツリーベース又はオクツリーベース方法など、各セル分割が2個より多くのチャイルドセルを生じさせるツリーベースアプローチについて実現可能である。
従って、本発明は、少なくともビットストリームを符号化する方法、符号化されたビットストリームを復号化する方法、ビットストリームを符号化する装置及び符号化されたビットストリームを復号化する装置を提供する。
基本的には、ビットストリームを符号化する方法は、バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するステップであって、S1はS2のサブセットである、定義するステップと、ビットストリーム内において第1部分、第2部分及び第3部分を決定するステップであって、第1部分はTh1個以上の連続するS1シンボルを有し、第2部分はTh2個以上の連続するS2シンボルを有する、決定するステップと、ビットストリームを符号化するステップであって、第1部分、第2部分及び第3部分は異なるコードを用いて符号化される、符号化するステップと、ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジションを示す値を符号化するステップとを有する。
一実施例では、ビットストリームを符号化する方法は、
バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するステップであって、前記第1シンボルグループは前記第2シンボルグループのサブセットである、定義するステップと、
前記ビットストリーム内において2個以上の第1部分、0個以上の第2部分及び2個以上の第3部分を決定するステップであって、各第1部分は前記第1シンボルグループの少なくともTh1個の連続するシンボルを有し、各第2部分は前記第2シンボルグループの少なくともTh2個の連続するシンボル(であるが、第1シンボルグループの少なくともTh1個の連続するシンボルでない)を有し、前記ビットストリームの残りの部分は第3部分である、決定するステップと、
前記ビットストリームにおいて第1及び第3部分のみを有するパートを決定するステップと、
前記ビットストリームを符号化するステップであって、前記第1部分は第1コードを用いて符号化され、前記第2部分(存在する場合)は第2コードを用いて符号化され、前記第3部分は第3コードを用いて符号化され、前記ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジションを示す値がまた符号化され、前記第1及び第3部分のみを有するパートにおいて、第1部分と隣接する第3部分との間の境界ポジションの符号化は、前記第3部分が所定の長さを有する場合にはスキップされ、前記第3部分が前記所定の長さ以外の異なる長さを有する場合にはインプリシットに符号化される、符号化するステップとを有する。
すなわち、ビットストリームの各第3部分は、第1シンボルグループの少なくともTh1個の連続するシンボルと、第2シンボルグループの少なくともTh2個の連続するシンボルとを有さない。典型的には、ビットストリームの第3部分は、やや短く、数個のシンボルしか、しばしば1つのみのシンボルしか有さない。
第2パートにおける第1部分と隣接する第3部分との間の境界ポジションの異なるタイプのインプリシットな符号化が、例えば、2つの隣接する境界ポジション(境界ポジションが単調増加又は減少の順序を有するため決定されてもよい)を交換することによって、又は他の境界ポジション値と分離された又は付属するエスケープシーケンスによって、又は明確に格納されているシンボルによって可能である。
一実施例では、スキップされた境界ポジション(すなわち、それの符号化がスキップされている)は、ビットストリームの当該パート内の第3部分の左の(又は最初の又はオープニングの)境界である。他の実施例では、スキップされる境界ポジションは、ビットストリームの当該パート内の第3部分の右の(最後の又はクロージングの)境界である。
一態様では、ビットストリームを符号化する方法は、
バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するステップであって、第1シンボルグループが第2シンボルグループより少ないシンボルを有し、第1シンボルグループのシンボルがまた第2シンボルグループに含まれる、定義するステップと、
ビットストリーム内において、各々が第1シンボルグループの第1の定義された最小数の連続するシンボルを少なくとも有する2個以上の第1部分、各々が第2シンボルグループの第2の定義された最小数の連続するシンボルを少なくとも有する0個以上の第2部分、及びビットストリームの残りの部分を有する2個以上の第3部分を決定するステップと、
ビットストリームを少なくとも第1連続パートと第2連続パートとに分割するステップであって、第1パートは第3部分と0個以上の第2部分の少なくとも1つを有し、第2パートは第1部分と少なくとも2つの第2部分の少なくとも1つを有する、分割するステップと、
ビットストリームを符号化するステップであって、1個以上の第1部分は第1」エンコーダにおいて第1コードを用いて符号化され、1個以上の第2部分は第2エンコーダにおいて第2コードを用いて符号化され、1個以上の第3部分は第3エンコーダにおいて第3コードを用いて符号化される、符号化するステップと、
ビットストリームにおける第1部分、第2部分及び第3部分の長さ(又はそれぞれの境界ポジション)を符号化するステップであって、少なくとも第2パートにおいて、第1部分の長さ(又は境界ポジションの少なくとも1つ)の符号化は、当該長さが所定の長さである場合(すなわち、境界ポジションが、所定の隣接する境界ポジションに対して所定の距離を有する)にスキップされる、符号化するステップとを有する。
すなわち、ビットストリームの第2パートは、第3部分の何れも有しないように構成される。一実施例では、それはビットストリームの最後のパートである。一実施例では、各種部分を決定するのに、同じタイプの隣接部分が蓄積され、ストリームの隣接部分は常に異なるタイプを有するようになる。
一態様では、ビットストリームを符号化する装置は、1以上の処理手段を有し、
バイナリシンボルの第1及び第2シンボルグループを少なくとも定義する処理手段であって、第1シンボルグループは第2シンボルグループのサブセットである、処理手段と、
ビットストリーム内において2個以上の第1部分、0個以上の第2部分及び2個以上の第3部分を決定する処理手段であって、各第1部分は第1シンボルグループの少なくともTh1個の連続するシンボルを有し、各第2部分は第2シンボルグループの少なくともTh2個の連続するシンボルを有し(しなしながら、第1シンボルグループの少なくともTh1個の連続するシンボルでない)、ビットストリームの残りのパートが第3部分である、処理手段と、
ビットストリームにおいて第1及び第3部分のみを有するパートを決定する処理手段と、
ビットストリームを符号化する符号化手段であって、第1部分は第1コードを用いて第1エンコーダにおいて符号化され、第2部分(存在する場合)は第2コードを用いて第2エンコーダにおいて符号化され、第3部分は第3コードを用いて第3エンコーダにおいて符号化される、符号化手段と、
ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジション(又は第1部分、第2部分及び第3部分の長さ)を示す値を符号化する境界/長さ符号化手段であって、第1及び第3部分のみを有するパートにおいて、第1部分と隣接する第3部分との間の境界ポジションの符号化は、第3部分が所定の長さである場合(すなわち、境界ポジションが、所定の隣接する境界ポジションに対して所定の距離を有する)にスキップされる、境界/長さ符号化手段とを有する。
コンピュータに上述された方法を実行させる実行可能な命令を有するコンピュータ可読媒体。
本発明の効果的な実施例は、従属形式の請求項、以下の説明及び図面に開示される。
本発明の実施例が、添付した図面を参照して説明される。
図1は、2Dケースのkd−treeジオメトリ符号化の原理である。 図2は、2Dケースのクワドツリージオメトリ符号化の原理である。 図3は、ビットストリームの基本構造である。 図4は、3Dメッシュモデルを表す一例となるビットストリームである。 図5は、符号化方法のフローチャートである。 図6は、復号化方法のフローチャートである。 図7は、ビットストリームを第1、第2及び第3部分に分割する一例となる方法である。 図8は、クワドツリーベース2Dジオメトリ符号化と比較してオクツリーベース3Dジオメトリ符号化の原理である。 図9は、一例となる各種ビットストリーム構造である。 図10は、ビットストリームの一例となるヘッダの構造である。 図11は、ビットストリームを符号化する装置700のブロック図である。 図12は、ビットストリームを復号化する装置700のブロック図である。
以下の実施例は、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)は、異なるトラバースを用いた同一のセルと結果としてのコードとを示す。
図8は、オクツリー方式のペアレントセルとチャイルドセルとを示す。オクツリー方式では、ペアレントセルは、8つのチャイルドセル80,...,86に分割される(左下のセル82の公報の1つの隠されたチャイルドセルは図示されない)。可能なトラバース順序は、左右、上下及び前後とすることが可能であり、セルのトラバースシーケンス80−81−82−83−84−85−(左下セル82の後方に隠されたセル)−86を生じさせる。対応して、オクツリーケースでは、非エンプティチャイルドセルコンフィギュレーションは、エンプティ及び非エンプティチャイルドセルの可能な255個のすべての組み合わせをカバーする8ビットバイナリにより示される。非エンプティチャイルドセルの個数の分離した符号化は要求されない。テーブル1は、非エンプティチャイルドセルコンフィギュレーションシーケンスの具体例である。
Figure 0005936687
詳細に上述されたが、ペアレントセル内のチャイルドセルのトラバース順序は、本発明にとってあまり関連性はない。原理的には、任意のトラバース順序が、本発明について実質的に等価的に利用可能である。
8ビットシンボルは、従来の算術符号化により効率的に圧縮可能であるが、その結果はそれが可能であるほどには良好(すなわち、効率的)でない。本発明は、効率性が改善された符号化方法と、対応する復号化方法とを提供する。
Figure 0005936687
テーブル2において、典型的な複合3Dモデル(m1007)における最も頻繁に出現するシンボルの分布確率が示される。理解されるように、2進表現において1つの“1”のみを有するシンボルは、圧倒的な確率により出現する。ジオメトリカルな説明は、複数回の分割後に頂点はほとんどセルを共有しないということである。本発明によると、任意の可能なシンボルを要素とするシンボルセットS0={1,2,3,...,255}が規定される。さらに、頻繁に出現するシンボルである2の整数の冪乗を要素とする他のシンボルセットS1={1,2,4,8,16,32,64,128}が規定される。S1にはしばしばシンボルの長いランが含まれることが観察された。従って、確率モデルは、S1のシンボルのみを含むサブシーケンスの8シンボルモデルに簡単化される。
図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部分として符号化される。
Th1に適した数値は(例えば、3Dメッシュモデルなどについて)、10〜100の範囲内であるが、入力シーケンスの性質又はトラバースされるツリーの深さ及び構造のそれぞれに依存してより大きなものであってもよい。Th2に適した数値は(例えば、3Dメッシュモデルなどについて)、20〜200の範囲内であるが、入力シーケンスの性質又はトラバースされるツリーの深さ及び構造のそれぞれに依存してより大きなものであってもよい。一例となる値は、Th1=50及びTh2=70である。これらの値は、3Dメッシュモデルの圧縮について最適化され、特に3Dメッシュモデルにおける繰り返し構造の検出により取得されるインスタンスポジションの圧縮について最適化される。それらは、他のアプリケーションに適用されるとき、調整可能である。従って、一実施例では、ツリーのリーフノードは3Dメッシュモデルのポイントであるが、他の実施例では、ツリーのリーフノードはマルチ接続3Dメッシュモデルにおける繰り返し構造のインスタンスポジションである。
サブシーケンスが分割されるとき、境界を示すため数バイトのコストがかかる。そのコストは、S0モデルをS1又はS2モデルと置換することによって、圧縮の改善により補償される。S2モデルはS1よりはるかに多くのシンボルを有するため、S0モデルをS2により置換することによって取得されるゲインはより小さい。従って、Th2は、より効果的になるようにTh1より大きくなるべきである。しかしながら、本発明はまた、Th2=Th1又はTh2<Th1により機能する。
図3にも示されるように、デコーダ制御情報は、ビットストリームの始めにおいて符号化される。デコーダ制御情報は、ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す値Cを有する。
以下において、具体例が与えられる。以下のシンボルシーケンスを検討する。
Figure 0005936687
16個の“0”、16個の“1”、4個の“2”、4個の“3”がある。シンボルシーケンスのエントロピーは、
Figure 0005936687
となる。これは、直接的な算術符号化が実行可能なベストなものである。しかしながら、シンボルシーケンスを2つのサブシーケンスに分割する場合、さらなる圧縮が実現可能である。第1サブシーケンス
Figure 0005936687
は、16個のシンボルによるエンド及びシンボルの可能なすべてのタイプを有する。それの4つのシンボルタイプは、一様分布され、
Figure 0005936687
のエントロピーを有する。第2サブシーケンス
Figure 0005936687
は、2つのタイプのシンボル、すなわち、16個の“0”と16個の“1”とを有し、
Figure 0005936687
のエントロピーを有する。トータルのエントロピーは、32+32=64である。従って、以下に規定されるように、分割ポイントが適切に与えられる限り、さらなる改善が可能である。分割ポイントの表現のコストは、多数のシンボルの圧縮についてはわずかなオーバヘッドであり、それはまた本発明により最適化される。
オクツリー符号化などの本発明による適応的エントロピー符号化方法は、以下のように機能する。上述されるように、オクツリーシンボルの大多数は、2進表現において1つの“1”しか有さない。2つのシンボルセットは、S0={1,2,3,...,255}及びS1={1,2,4,8,16,32,64,128}として定義され、すなわち、S1は2進表現において1つの“1”しか有さないシンボルである。S1のシンボルが独立に符号化される場合、これは、エントロピーを減少されるが、当該シンボルの位置を指定するビットのオーバヘッドを生じさせるであろう。本発明は、実質的にS1シンボルの長いランを検出及び符号化するだけによって、エントロピーの減少とオーバヘッドとの双方を最適化する。
圧縮をさらに向上させるため、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つの算術コーデックは、同時に作用するか、又は少なくとも部分的な時間のオーバラップで作用する。従って、符号化及び/又は復号化処理の全体が加速される。
原理的には、ビットストリームの異なる部分及び部分のタイプJ,K,Nは、何れの方法により決定できる。ビットストリームの異なる部分を決定するための一例となる方法は、ビットストリームを第1、第2及び第3部分に分割する一例となる方法を示す図7を参照して後述される。
図7において、何れかの電子ストレージから入力シンボルシーケンスを受信又は読み込んだ後、シンボルは始めからスキャンされ、Th1個より多くの連続するS2シンボルを含むすべてのサブシーケンスが検出される。ここで、Th1は上述されるような所定の閾値である。これらのサブシーケンスをL,L,...,Lにより示し、残りをN,N,...,Nにより示す。これは、図7のライン#1に示されるような構成を生じさせる。
その後、Th1個より多くの連続するS1シンボルを含むサブシーケンスについて前のステップで検出された各Lタイプサブシーケンスを検索する。それらをJ,J,...,Jにより示す。LからJを削除することによって取得されたサブシーケンスは、K,K,...,Kにより示される(図7のライン#2を参照)。Th2個より少ないシンボルを含むKがNに再配置される。ここで、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タイプのサブシーケンスにより終わる。
図4において、一例となる結果として得られるクリップ(ヘッダなし)が示される。ここで、c,...,cは、サブシーケンスの境界の位置インジケータである。復号化は以下のように行われる。境界に関して、一実施例では、符号化は、エンドが既知であるため、ビットストリームのエンドから始まる。一実施例では、位置インジケータは、最後のものであるcが復号化に最初に利用されるため、ヘッダにおいて逆順c,...,cにおいて符号化/復号化される(図4に図示されない図10を参照)。最後の部分は常にJタイプである(すなわち、1つのビットのみが1に設定される)。これは、Jタイプの値は空間ツリーのリーフノードに対応するためである。従って、ビットストリームの最後の部分Jは、シンボル#100から始まってストリームの最後のシンボルで終わるJタイプ部分である。シンボルは、それがJタイプサブシーケンスであるため、第1シンボルセットS1からのものである。
ストリームの構造に関する情報は、ヘッダに符号化される。図10に示されるように、ストリームに何れかのKシーケンスがあるか示す単一のビット91が、ヘッダに符号化されてもよい(例えば、最初のビット91が“1”に設定されることは、Kシーケンスがあることを意味する)。一実施例では、Kシーケンスがある場合、以下のコードワード92(4ビットなど)は、ストリームにおける最後のKシーケンスのポジションを示す。この情報は、後述されるように、復号化に関連する。コードワード92は、第1パートH1と第2パートH2との間の境界を示すシーケンス番号であってもよい。(図4の具体例では、コードワード92は、cをエンドからスタートするとき4番目の符号化された境界ポジションであるとして示すため“4”の値を有し、又はcをエンドからスタートするとき5番目の復号化された境界ポジションであると示すため“5”の値を有し、又はcを示すため“2”の値を有するか、又は最後のKシーケンスKのポジション範囲の任意の値、50若しくは同様のものなどであってもよい。)従って、このコードワード92はまた、最後のKシーケンスで終わるビットストリームの第1パートH1の最後の部分を示す。
一実施例では、以降の第2コードワード93は、符号化された境界ポジションの個数を示す。第1及び第2コードワード92,93は慣例によりビットストリームにおいて異なって配置(スワップなど)されてもよいことに留意されたい。その後、境界ポジションcmax,...,cを表す値を有する部分94に続き(例えば、各12ビットが可能なストリーム長に依存するなど)、その後、実際のビットストリーム95に続く。一実施例では、第1パートH1は1つのNタイプ部分と1つのKタイプ部分のみを有することが含意される。この場合、ビットストリームの第1パートH1の最後の部分を示すコードワード92は必要でない。
従って、ヘッダ情報の情報は、次のサブシーケンス(逆順)Nが依然として第2パートH2にあり、従って、Nタイプを有する必要があることを示す。これは、第2パートH2は、交互のJタイプ及びNタイプ部分を有し、Jタイプ部分により終了するためである。本例では、Nサブシーケンスは大変短く、すなわち、1つのシンボルのみであると判断され、本実施例では、N個のサブシーケンスのデフォルト長である。従って、前の境界ポジションがc=100であったため、次の境界は、c=99である。すなわち、Nサブシーケンスは[99,100]である。その後、次の部分(逆順)Jは第2パートH2にあり、Jタイプでなければならないと判断される。それの下方の境界は、c=70である。その後、次の部分(逆順)Jは第2パートH2にあり、Jタイプでなければならないと判断される。それの下方の境界は、c=50である。ここで、4番目の符号化された境界ポジション値であるとしてcは、第1パートH1と第2パートH2との間の境界であると判断されてもよい。その後、次の部分(逆順)Kはc=30の下方の境界を有し、第1部分インジケータ92に従って第1パートH1の最後の部分であると判断される。従って、それは、Kタイプでなければならない。
すなわち、本実施例では、境界ポジションの予備的な符号化は、[100,99,72,70,50,30]であり、第2パートH2は、5番目の復号化された境界ポジション、すなわち、c=50から始まる。追加的なビットの節約を提供する境界ポジションの最終的な符号化を取得するため、境界ポジションの予備的な符号化は、以下のようにさらに詳細化される。
Nタイプの少なくとも部分の長さが、1などのデフォルト長の値と比較される。Nタイプの部分がデフォルト長に等しい長さを有すると判断され、当該判断に応答して、Nタイプ部分の下方の境界の符号化はスキップされる。従って、1つの境界値の符号化が節約できる。デフォルト長以外の異なる長さを有するNタイプ部分を示すため、隣接する(次のものなど)Jタイプ部分の境界ポジションがヘッダにおいて交換される。すなわち、境界ポジションは通常は単調な順序により(cmax,...,cの減少又はc,...,cmaxの増加)符号化され、図10を参照し、それらの値は単調な順序により増加又は減少し、隣接するN部分がデフォルト長を有する場合、Jタイプ部分の2つの境界ポジションが交換される。
すなわち、本実施例では、境界ポジションの符号化は[100,70,72,50,30]となる。第2パートH2は、4番目の符号化された境界ポジションc=50から始まる(又は5番目の復号化された境界ポジションc=50において、それぞれ以下を参照)。
交換された境界ポジションが復号化中にそれらの値に従って検出可能であるため、ビットストリームの第2パートH2においてNタイプシーケンスの境界ポジションを示すのに利用されるビットはない。通常の3Dメッシュモデル以外のデータ構造の一実施例では、同様の符号化情報がまた、ビットストリームの第1パートH1において利用可能である。
上記の実施例では、境界ポジションの復号化は以下のとおりである(図10を参考)。まず、それは、少なくとも1つのKシーケンスが存在するストリームの第1ビット91から復号化される。その後、一実施例では、最後のKシーケンスの後の境界ポジションcを示すインジケータ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]である。
最後の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タイプ部分との間であると判断する。
図5は、本発明の一実施例による符号化方法のフローチャートを示す。本実施例では、ビットストリームを符号化する方法は、以下のステップを有する。すなわち、第1ステップは、少なくともバイナリシンボルの第1及び第2グループを規定し(51)、第1シンボルグループS1は、第2シンボルグループS2のサブセットである。
第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から構成される。
第3ステップは、ビットストリームにおいて第1及び第3部分J1,J2,N2のみを有する連続パートH2を決定する(53)ことを有する。
第4ステップは、ビットストリームを符号化する(54)ことを有し、第1部分は第1コードを用いて符号化され(54A)、第2部分は第2コードを用いて符号化され(54B)、第3部分は第3コードを用いて符号化される(54C)。
第5ステップは、ビットストリームにおいて第1部分、第2部分及び第3部分の間の境界ポジションを示す値Cを符号化する(55)ことを有し、第1部分及び第3部分のみを有する連続パートH2では、第3部分N2の長さLN2が所定の長さである場合、第1部分J1,J2と隣接する第3部分N2(すなわち、第1部分J1,J2に隣接する)との間の境界ポジションの符号化は省略され、所定の長さと異なる場合、第3部分N2の長さLN2はインプリシットに符号化される。所定の長さは、正である必要があり(すなわち、非ゼロ)、好ましくは1である。しかしながら、それは、データ構造の特徴的構成に依存して、2などの他の値とすることができる。所定の長さは、デコーダの制御情報として符号化されるパラメータなどとしてインプリシット又はエクスプリシットに予め規定されてもよい。
一実施例では、所定の長さは、インプリシットに1となるよう予め規定される。本実施例は、特に3Dメッシュモデルを符号化するための空間ツリーベースアプローチのツリー構造のトラバースから得られるビットストリームの符号化に効果的である。
一実施例では、ビットストリームを符号化する方法は、バイナリシンボルの第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の長さLN2,LN3の符号化は、長さが1である場合にスキップされる、符号化するステップとを有する。
符号化方法のさらなる好適な実施例が後述される。
一実施例では、第1シンボルグループ(S1)は、1に設定される1ビットと0に設定される残りのビットとを有するバイナリシンボルを有し、第2シンボルグループ(S2)は、1に設定される1つ又は2つのビットと、残りのビットが0であるバイナリシンボルを有する。
一実施例では、ビットストリームは、特に3Dメッシュモデルの空間データ構造のトラバースされたオクツリー表現を表す。
一実施例では、符号化ステップ54は、第1シンボルセットS1に基づき第1コードを利用する第1符号化ステップ54Aと、第2シンボルセットS2に基づき第2コードを利用する第2符号化ステップ54Bと、第3シンボルセットS3に基づき第3コードを利用する第3符号化ステップ54Cとを有する。一実施例では、第1、第2及び第3符号化54A,54B,54Cの少なくとも一部は、同時に実行される。
一実施例では、デコーダ制御情報は、ビットストリームの始めで符号化され、デコーダ制御情報は、ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す値Cを有する。
一実施例では、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジション又は長さは、値のシーケンスcmax,...,cとして符号化され、ビットストリームの第1パートH1と第2パートH2の第1部分について、境界ポジションを表す値が、境界がスキップされない場合に単調な順序により符号化され、第1部分J1,J2と隣接する第3部分N2との間の境界ポジションのインプリシットな符号化は、第1部分J1の境界の順序(すなわち、下方及び上方の境界)を交換することを含む。一実施例では、ビットストリームの第3部分N2の所定の長さLN2は1である。
図6は、本発明の一実施例による復号化方法のフローチャートを示す。ビットストリームを復号化する方法は、以下のステップを有する。第1ステップは、ビットストリームの始めから制御情報Cを復号化すること(61)を有する。
第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にある。
第3ステップは、連続するシンボルを復号化する(64)ことを有し、以下の3つのサブステップを少なくとも有する。
第1サブステップは、第1シンボルデコーダを用いて、(第1シンボルグループS1に基づき)少なくとも2つ以上の第1部分J1,J2の連続するシンボルを固定長のシンボルに復号化する(64A)を有する。
第2サブステップは、少なくとも1つの第2部分K1が決定された場合、第1シンボルデコーダを用いて、(第2シンボルグループS2に基づき)0個以上の第2部分K1の連続するシンボルを固定長のシンボルに復号化する(64B)ことを有する。第2シンボルグループS2は、第1シンボルグループS1のシンボルと追加的なシンボルとを有する。
第3サブステップは、第3シンボルデコーダを用いて、(第3シンボルグループS3に基づき)2つ以上の第3部分N1,N2,N3のシンボルを固定長のシンボルに復号化する(64C)ことを有し、第3シンボルグループS3は、第2シンボルグループS2に含まれないシンボルのみを有する。
最後に、第4ステップ66は、制御情報に従って順番にビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルをリオーダリング及び提供することを有する。
復号化方法のさらなる効果的な実施例が後述される。
一実施例では、第1シンボルグループは、1に設定される1ビットと0である残りのビットを有するバイナリシンボルを有し、第2シンボルグループは、1に設定される1つ又は2つのビットと0である残りのビットとを有するバイナリシンボルを有する。
一実施例では、ビットストリームは、3Dメッシュモデルのトラバースされたオクツリー表現を表す。
一実施例では、ビットストリームの始めから制御情報Cを復号化する(61)ステップは、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジションを示す値のシーケンスcmax,...,cを復号化することを有し、ビットストリームの第1パートH1の境界ポジションを表す値は単調な順序を有し、ビットストリームの第2パートH2の第1部分J1,J2の境界ポジションを表す値は、単調な順序を有する。
一実施例では、復号化方法はさらに、交換された単調な順序を有するビットストリームの第2パートH2における境界ポジションを表す値の少なくとも1つのペアc,cを検出する(66B)ステップと、少なくとも1つの値のペアc,cの間の差分に従う長さを有する第1部分N2,N3の一方を値の一方に従う境界ポジションにおいて挿入する(66C)ステップとをさらに有する。
一実施例では、少なくとも2つ以上の第1部分J1,J2の復号化64A、少なくとも1つの第2部分K1が決定された場合の0個以上の第2部分K1の復号化64B、及び2個以上の第3部分N1,N2,N3の復号化64Cは、少なくとも部分的に同時に(少なくとも部分的な時間のオーバラップ)実行される。
一実施例では、ビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルを提供する(66)ステップは、第1部分、第2部分及び第3部分をリオーダリングする(66A)ことを含む。
一実施例では、制御情報Cは、第1部分、第2部分及び第3部分の少なくとも長さを有する。これらの長さは、境界ポジションの形式で表現されてもよい。
図11は、本発明の一実施例によるビットストリームを符号化する装置700のブロック図を示す。本実施例では、ビットストリームを符号化する装置は、以下のモジュールを有する。各モジュールは、独立したハードウェアブロックとして実現されてもよい。第1モジュール751は、バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するシンボル定義モジュールであり、第1シンボルグループS1は、第2シンボルグループS2のサブセットである。
第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から構成される。
第3モジュール753は、第1及び第3部分J1,J2,N2のみを有する連続パートH2をビットストリームにおいて少なくとも決定する決定モジュールである。
第4モジュール754は、ビットストリームを符号化する符号化モジュールであり、第1部分は第1コードを用いて符号化され(754A)、第2部分は第2コードを用いて符号化され(754B)、第3部分は第3コードを用いて符号化される(754C)。
第5モジュール755は、ビットストリームにおける第1部分、第2部分及び第3部分の間の境界ポジションを示す値Cを符号化する符号化モジュールであり、第1部分及び第3部分のみを有する連続パートH2において、第3部分N2の長さLN2が所定の長さである場合、第1部分J1,J2と隣接する第3部分N2(すなわち、第1部分J1,J2に隣接する)との間の境界ポジションの符号化はスキップされ、所定の長さと異なる場合、第3部分N2の長さLN2はインプリシットに符号化される。所定の長さは、正である必要があり(すなわち、非ゼロ)、好ましくは1である。しかしながら、それは、データ構造の特徴的構成に依存して2などの他の値とすることが可能である。所定の長さは、デコーダ制御情報として符号化されるパラメータなどとしてインプリシット又はエクスプリシットに予め規定されてもよい。
図12は、本発明の一実施例によるビットストリームを復号化する装置800のブロック図を示す。本実施例では、ビットストリームを復号化する装置は、以下のモジュールを有する。各モジュールは、独立したハードウェアブロックとして実現されてもよい。第1モジュール861は、ビットストリームの始めから制御情報Cを復号化する復号化モジュール61である。
第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にある。
第3モジュール864は、連続するシンボルを復号化する復号化モジュールであり、少なくとも以下の3つのサブモジュールを有する。
第1サブモジュール864Aは、第1シンボルデコーダを用いて、(第1シンボルグループS1に基づき)少なくとも2個以上の第1部分J1,J2の連続するシンボルを固定長のシンボルに復号化する第1復号化モジュールである。
第2サブモジュール864Bは、第1シンボルデコーダを用いて、少なくとも1つの第2部分K1が決定された場合、(第2シンボルグループS2に基づき)0個以上の第2部分K1の連続するシンボルを固定長のシンボルに復号化する第2復号化モジュールである。第2シンボルグループS2は、第1シンボルグループS1のシンボルと追加的なシンボルとを有する。
第3サブモジュール864Cは、第3シンボルデコーダを用いて、(第3シンボルグループS3に基づき)2個以上の第3部分N1,N2,N3のシンボルを固定長のシンボルに復号化する第3復号化モジュールであり、第3シンボルグループS3は、第2シンボルグループS2に含まれないシンボルのみを有する。
第4モジュール866は、制御情報に従って順番にビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルをリオーダリング及び提供する再構成出力モジュールである。すなわち、このモジュールは、ビットストリームの各種部分を復号化されたビットストリームに再構成する。
復号化装置の一実施例では、ビットストリームの始めから制御情報Cを復号化する復号化モジュール861は、ビットストリームにおける第1部分、第2部分及び第3部分の境界ポジションを示す値のシーケンス(cmax,...,c)の復号化を実行し、ビットストリームの第1パートH1の境界ポジションを表す値は単調な順序を有し、ビットストリームの第2パートH2の第1部分J1,J2の境界ポジションを表す値は単調な順序を有し、復号化モジュール861はさらに、交換された単調な順序を有するビットストリームの第2パートH2における境界ポジションを表す値の少なくとも1つのペア(c,c、上記及び図4を参照)を検出する検出モジュール866Bと、少なくとも1つの値のペア(c,c)の間の差分に従う長さを有する第1部分N2,N3の値の一方を、当該値の一方に従う境界ポジションに挿入する挿入モジュール866Cとを有する。
図8は、上述されるように、クワドツリーベース2Dジオメトリ符号化と比較したオクツリーベースベース3Dジオメトリ符号化の原理を示す。
図9は、各種のビットストリーム構造の具体例を示す。図9a)に示される第1構造では、ビットストリームの第1パートH1は、2つのKタイプ部分と、その結果としてさらに2つのNタイプ部分とを有する(オクツリー構造のルートに対応して最初の部分は通常はNタイプであるため)。ビットストリームの第2パートH2は、2つのJタイプ部分と、その結果として1つのNタイプ部分とを有する(すなわち、Nタイプ部分の個数はJタイプ部分の個数から1を差し引いたものである)。
図9b)に示される第2構造では、ビットストリームの第1パートH1は、2つのKタイプ部分と、1つのみのNタイプ部分とを有する(最初の部分がKタイプとなるように、Th2個のみの非エンプティチャイルドセルを有するペアレントセルのレアケースに対応して)。また、このケースは、本発明の原理に従って処理可能である。最後のKタイプ部分は、本ケースではK部分であり、境界ポジションの個数に従って、デコーダは、最初のシーケンスがKタイプでなければならないと判断できる。ビットストリームの第2パートH2は、2個のJタイプ部分と、その結果として1つのNタイプ部分とを有する。
図9c)に示される第3構造では、ビットストリームの第1パートH1は、1つのKタイプ部分と、その結果としてさらに1つのNタイプ部分とを有する。第1部分が第1部分の境界ポジションの個数に従って符号化/復号化可能な1つのみの部分を有する場合、追加的な表示は、上述されるように、それがKタイプ又はNタイプであるか示すのに必要とされる。ビットストリームの第2パートH2は、6個のJタイプ部分と、その結果としての5個のNタイプ部分とを有する(Jタイプ部分の個数から1を差し引いたもの)。
図9d)に示される第4構造では、ビットストリームの第1パートH1は、2個のKタイプ部分と、その結果としてさらに2個のNタイプ部分とを有する。ビットストリームの第2パートH2は、6個のJタイプ部分と、その結果としての5個のNタイプ部分とを有する(Jタイプ部分の個数から1を差し引いたもの)。
図10は、ビットストリームの一例となるヘッダの構造を示し、すでに上述された。簡単化のため、上述した実施例は、Kタイプサブシーケンスの個数を1に制限している。ビットストリームの始めの4ビットバイナリ92は、Kタイプの最後のサブシーケンスを示すのに利用可能である。これは、復号化がビットストリームのエンドからスタートするため、第1の復号化されたKタイプサブシーケンスとなる。例えば、バイナリ92は、Kであることが適格とされるサブシーケンスがないとき、“0000”であり、第1パートH1は、Nタイプ部分しか有さない。
本発明は、有意に異なる統計分布を有する複数のセクションに分割可能なデータを効率的に圧縮する方法を提供する。最も適切な統計モデルを各部分に適用することによって、より大きな圧縮が実現される。特に、本発明の方法は、3Dの頂点のポジションのためのオクツリー圧縮に対して大変良好に機能する。
符号化の1つの効果は、それが異なるデータセクションの特徴に調整されることである。最良の確率モデルが自動的に選択され、異なるセクションの算術符号化(又は他のエントロピー圧縮)に適用され、最適な圧縮が行われる。本発明の他の効果は、セクションの境界が既知の方法と比較してより少ないインデックス数により指定されることである。具体的には、オクツリー圧縮の一実施例では、オクツリーのシンボルは、255シンボル確率モデル、36シンボル確率モデル又は8シンボル確率モデルにより符号化される少数のセクションに分割される。これらのモデルは、特に複雑な又は中程度に複雑な3Dモデルなどの多数の3Dモデルのオクツリーデータについて最適化される。本発明のさらなる他の効果は、上記の初期的な確率モデルによる3個(又はそれ以上)のエントロピーコーデックが、対応するデータを圧縮するため独立して実行されてもよいことである。
以下の言及は特定の実施例に関連する。
一実施例では(図4と同様)、境界インジケータの順序は、符号化前に反転され、すなわち、cからcである。大部分のN(i>2)は1つのみの要素しか有さないことが観察され、このような1シンボルのサブシーケンスのための2つの境界インジケータを符号化することは無駄すぎる。従って、上方の境界のみが符号化される。例えば、Nが1つのシンボルしか有さない場合、cが符号化されている場合、cは符号化される必要はない。Nが複数のシンボルを有するとき、c及びcの双方が符号化される。しかしながら、cは、通常の順序と異なってcの前に符号化される。そのとき、デコーダは、複数シンボルのサブシーケンスとしてNを考慮するよう指示されるであろう。符号化される必要のあるx個の境界ポジションインジケータがあると仮定すると、xは4ビットバイナリとして符号化され、必要な境界インジケータが12ビットバイナリとして符号化される。図4の具体例のため、ビットストリームに書き込まれる値は[5:100,70,72,50,30]である。3個(又は2個)の算術エンコーダによりそれぞれN,K,Jのシンボルを符号化する。N及びKの初期的な確率モデルは、テーブル1の確率モデルに従って決定され、Jの初期的な確率は一様分布として設定される。上記のモデルは、各種ジオメトリデータのオクツリーシンボルの統計に基づき最適化される。3つの算術エンコーダの結果は合成され、ビットストリームに書き込まれる。最初の2つの算術エンコーダは、異なるエンコーダにより符号化されるサブストリームを分離する通常のシンボルに加えて、1以上のターミナルシンボルを有してもよい。
一実施例では、復号化は、ビットストリームを伸張するための以下のステップを有する。すなわち、存在する場合、サブシーケンスKがどこに配置されているか決定するための1ビットを読み込み、4ビットバイナリを読み込み、それを10進数値xとして復号化する。xはビットストリームにおける境界インジケータの個数である。x個の12ビットバイナリを読み込み、それらを10進数値c〜cとして復号化し、復号化された境界インジケータに従ってシンボルシーケンスのクリップ構造を構成する。一例として図4を取り上げ、x=5であり、復号化されたcは[100,70,72,50,30]である。エンドのサブシーケンスは常にJであるため、cはそれの下方の境界位置でなければならない。従って、J=[100,∞]を有し、“∞”は、上方の境界が復号化されたシンボルの個数に依存することを意味する。
復号化のさらなるステップは、最後のJサブシーケンスを取得した後、前のものが1つずつ構成される。c>ci−1である場合(通常の単調のケース)、前のサブシーケンスは1つのみのシンボルを有し、新たな値[c−1]が、前の前のサブシーケンスの上方の境界として挿入される。本例では、[100]及び[70,99]が取得される。
<ci−1である場合(非単調のケース)、前のサブシーケンスは[ci−1,c]である。すなわち、一般にすべての実施例では、境界ポジションは、隣接するN個のサブシーケンスがそれのデフォルトの長さを有しない場合、交換される。現在のサブシーケンスの境界は、更新されてもよい。本例では、取得された境界[70,90]は[72,90]に更新され、新たなサブシーケンスの境界[70,72]が利用可能である。

所定の初期的な確率モデルを有する2個又は3個の算術デコーダによりシンボルを伸張する。1つのサブストリームのターミナルシンボルが出現するとき、新たなデコーダが機能し始める。その後、サブシーケンスの適切なポジションに配置するための復号化されたシンボルの2個又は3個の系列が取得される。オクツリー圧縮に関して示されたが、本発明の趣旨及び範囲内で想到される当業者に明らかなオクツリー圧縮以外の他のタイプの符号化が構成されてもよいことに留意すべきである。さらに、第1及び第2シンボルセットS1,S2に関して示されるが、他のタイプのシンボルセット及び/又は追加的なシンボルセットの階層(1に設定された1、2又は3ビットによるシンボルセットS3など)が、本発明の趣旨及び範囲内で想到される当業者に明らかなように、構成されてもよいことに留意すべきである。これは、符号化対象のデータが異なるセクションにおいて有意に異なる統計分布を有する場合、特に真である。
それの好適な実施例に適用されるような本発明の基本的に新規な特徴が図示、説明及び指摘されたが、開示された装置及びそれらの動作の形態及び詳細により説明された装置及び方法の各種の省略、置換及び変更は、本発明の趣旨から逸脱することなく当業者により可能であることが理解されるであろう。本発明は3Dメッシュモデルに関して開示されたが、当業者は、ここに説明される方法及び装置が(限定することなく)特にジオメトリ符号化についてクワドツリー、オクツリー又は相当する同様のアプローチを利用する何れかのデータ圧縮方法又は装置に適用されてもよいことを認識するであろう。具体例として、マップ上のポイント、任意の3次元構造上のポイント又は同様のものなどの空間ポイントがあげられる(すなわち、空間座標を有するポイント)。空間ポイントはそれらの2D又は3D座標により表され、ツリー構造はポイント間の関係を符号化し、それは実際には符号化されるツリーであるため、本発明は、n次元座標(n=1,2,3,4などを含む)により特徴付けされるリーフ要素の間の関係を表す任意のツリー状の構成を符号化するのに利用可能であり、特にモデル適応的エントロピー符号化に利用可能である。同一の結果を実現するため実質的に同じ方法で実質的に同じ機能を実行する要素のすべての組み合わせは本発明の範囲内であることが、明示的に意図される。1つの説明された実施例から他の実施例への要素の置換はまた、完全に意図され、想定される。
本発明は純粋に具体例による説明され、詳細の変更は本発明の範囲から逸脱することなく可能であることが理解されるであろう。
説明、(適切である場合)請求項及び図面に開示される核特徴は、独立して又は何れか適切な組み合わせにより提供されてもよい。適切である場合、特徴はハードウェア、ソフトウェア又はこれら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記載の装置。
引用文献
[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

Claims (15)

  1. ビットストリームを符号化する方法であって、
    バイナリシンボルの第1及び第2シンボルグループを少なくとも定義するステップであって、前記第1シンボルグループに属するシンボルは2進表現において1を1つしか含まず、前記第2シンボルグループに属するシンボルは2進表現において1を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. 前記ビットストリームは、3Dメッシュモデルの空間データ構造のトラバースされるオクツリー表現を表す、請求項1に記載の方法。
  3. 前記符号化するステップは、前記第1シンボルグループに基づく第1コードを用いた第1符号化と、前記第2シンボルグループに基づく前記第2コードを用いた第2符号化と、第3シンボルグループに基づく前記第3コードを用いた第3符号化とを有し、
    前記第1、第2及び第3符号化の少なくとも一部は、同時に実行される、請求項1又は2に記載の方法。
  4. デコーダ制御情報が、前記ビットストリームの始めに符号化され、
    前記デコーダ制御情報は、前記ビットストリームの第1部分、第2部分及び第3部分の間の境界ポジションを示す前記値を有する、請求項1乃至3のうち何れか一項記載の方法。
  5. 前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジション又は長さは、値のシーケンスとして符号化され、
    前記ビットストリームの第1パートと及び第2パートの第1部分について、前記境界ポジションを表す値は、境界がスキップされていない場合には単調な順序で符号化され、
    前記第1部分と隣接する第3部分との間の境界ポジションのインプリシットな符号化は、前記第1部分の下方及び上方の境界の境界の順序を交換することを含む、請求項1乃至4のうち何れか一項記載の方法。
  6. 前記ビットストリームの第3部分の所定の長さは1である、請求項1乃至5のうち何れか一項記載の方法。
  7. ビットストリームを復号化する方法であって、
    前記ビットストリームの始めから第1部分、第2部分及び第3部分の長さを有する制御情報を復号化するステップと、
    前記制御情報に従って、前記ビットストリーム内において各々が第1シンボルグループの連続するシンボルを有する少なくとも2個以上の第1部分、各々が第2シンボルグループの連続するシンボルを有する0個以上の第2部分、及び第3シンボルグループのシンボルを有する2個以上の第3部分を決定するステップであって、前記第3部分及び前記0個以上の第2部分の少なくとも1つは前記ビットストリームの連続する第1パートにあり、前記第1部分及び前記少なくとも2個の第2部分の少なくとも1つは前記ビットストリームの連続する第2パートにあり、前記第1シンボルグループに属するシンボルは2進表現において1を1つしか含まず、前記第2シンボルグループに属するシンボルは2進表現において1を1つ又は2つ含む、決定するステップと、
    第1シンボルデコーダを用いて、第1シンボルグループに基づき前記少なくとも2個以上の第1部分の連続するシンボルを固定長のシンボルに復号化するステップと、
    第1シンボルデコーダを用いて、少なくとも1個の第2部分が決定された場合、前記第1シンボルグループのシンボルと追加的なシンボルとを有する第2シンボルグループに基づき前記0個以上の第2部分の連続するシンボルを前記固定長のシンボルに復号化するステップと、
    第3シンボルデコーダを用いて、第3シンボルグループに基づき前記2個以上の第3部分のシンボルを前記固定長のシンボルに復号化するステップであって、前記第3シンボルグループは前記第2シンボルグループに含まれないシンボルのみを有する、復号化するステップと、
    前記制御情報に従って順番に前記ビットストリームの第1部分、第2部分及び第3部分の復号化されたシンボルを提供するステップとを有する方法。
  8. 前記ビットストリームは、3Dメッシュモデルのトラバースされるオクツリー表現を表す、請求項7に記載の方法。
  9. 前記ビットストリームの始めから制御情報を復号化するステップは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスを復号化することを含み、前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
    当該方法はさらに、
    交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す値の少なくとも1つのペアを検出するステップと、
    前記値の1つに従う境界ポジションに、前記少なくとも1つのペアの値の間の差分に従う長さを有する前記第1部分の1つを挿入するステップと、
    を有する、請求項7又は8に記載の方法。
  10. 前記少なくとも2個以上の第1部分の復号化、少なくとも1個の第2部分が決定された場合の前記0個以上の第2部分の復号化、及び前記2個以上の第3部分の復号化は、少なくとも部分的に同時に実行され、
    前記ビットストリームの前記第1部分、前記第2部分及び前記第3部分の復号化されたシンボルを提供するステップは、前記第1部分、前記第2部分及び前記第3部分をリオーダリングすることを含む、請求項乃至9のうち何れか一項記載の方法。
  11. ビットストリームを符号化する装置であって、
    バイナリシンボルの第1及び第2シンボルグループを少なくも定義する定義モジュールであって、前記第1シンボルグループに属するシンボルは2進表現において1を1つしか含まず、前記第2シンボルグループに属するシンボルは2進表現において1を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符号化モジュールとを有する装置。
  12. ビットストリームを復号化する装置であって、
    前記ビットストリームの始めから制御情報を復号化する第1復号化モジュールと、
    前記制御情報に従って前記ビットストリーム内において、各々が第1シンボルグループの連続するシンボルを有する少なくとも2個以上の第1部分、各々が第2シンボルグループの連続するシンボルを有する0個以上の第2部分、及び第3シンボルグループのシンボルを有する2個以上の第3部分を決定する第1決定モジュールであって、前記第3部分と前記0個以上の第2部分との少なくとも1つは前記ビットストリームの第1の連続パートにあり、前記第1部分と前記少なくとも2個の第2部分との少なくとも1つは前記ビットストリームの第2の連続パートにあり、前記第1シンボルグループに属するシンボルは2進表現において1を1つしか含まず、前記第2シンボルグループに属するシンボルは2進表現において1を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部分を順番に提供する再構成出力モジュールとを有する装置。
  13. 前記ビットストリームの始めから制御情報を復号化する復号化モジュールは、前記ビットストリームにおける前記第1部分、前記第2部分及び前記第3部分の境界ポジションを示す値のシーケンスの復号化を実行し、
    前記ビットストリームの第1パートの境界ポジションを表す値は単調な順序を有し、前記ビットストリームの第2パートの第1部分の境界ポジションを表す値は単調な順序を有し、
    前記復号化モジュールはさらに、
    交換された単調な順序を有する前記ビットストリームの第2パートにおける境界ポジションを表す値の少なくとも1つのペアを検出する検出モジュールと、
    前記値の1つに従う境界ポジションに、前記少なくとも1つのペアの値の間の差分に従う長さを有する前記第1部分の1つを挿入する挿入モジュールと、
    を有する、請求項12に記載の装置。
  14. 請求項1乃至6のうち何れか一項記載の方法をコンピュータに実行させる実行可能な命令を有するコンピュータプログラム
  15. 請求項乃至10のうち何れか一項記載の方法をコンピュータに実行させる実行可能な命令を有するコンピュータプログラム
JP2014520490A 2011-07-18 2011-07-18 ツリー構造の適応的エントロピー符号化方法 Active JP5936687B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077279 WO2013010317A1 (en) 2011-07-18 2011-07-18 Method for adaptive entropy coding of tree structures

Publications (2)

Publication Number Publication Date
JP2014527735A JP2014527735A (ja) 2014-10-16
JP5936687B2 true JP5936687B2 (ja) 2016-06-22

Family

ID=47557641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014520490A Active JP5936687B2 (ja) 2011-07-18 2011-07-18 ツリー構造の適応的エントロピー符号化方法

Country Status (7)

Country Link
US (1) US9532056B2 (ja)
EP (1) EP2734980B1 (ja)
JP (1) JP5936687B2 (ja)
KR (1) KR101862438B1 (ja)
CN (1) CN103814396B (ja)
TW (1) TW201306495A (ja)
WO (1) WO2013010317A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5932051B2 (ja) 2011-11-07 2016-06-08 トムソン ライセンシングThomson Licensing 予測位置復号
CN104115496A (zh) 2012-02-09 2014-10-22 汤姆逊许可公司 基于八叉树分解的三维模型的高效压缩
US20140006536A1 (en) * 2012-06-29 2014-01-02 Intel Corporation Techniques to accelerate lossless compression
GB2563019B (en) * 2017-05-29 2021-07-28 Canon Kk Improved valence-based encoding and decoding of connectivity data in a 3D model
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10699444B2 (en) * 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
EP3514969B1 (en) * 2018-01-18 2021-08-04 BlackBerry Limited Methods and devices using direct coding in point cloud compression
JP7168591B2 (ja) * 2018-01-26 2022-11-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
JP7151141B2 (ja) * 2018-04-12 2022-10-12 富士フイルムビジネスイノベーション株式会社 符号化装置、復号装置及びプログラム
WO2019235587A1 (ja) * 2018-06-08 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
EP3816940A4 (en) * 2018-06-27 2021-09-08 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
CN112424833A (zh) * 2018-07-13 2021-02-26 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
WO2020050343A1 (ja) * 2018-09-05 2020-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US10912625B2 (en) * 2019-01-23 2021-02-09 Proprio, Inc. Aligning pre-operative scan images to real-time operative images for a mediated-reality view of a surgical site
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
CN112398484B (zh) 2019-08-15 2024-04-23 华为技术有限公司 一种编码方法及相关设备
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US12020378B2 (en) * 2020-08-18 2024-06-25 Qualcomm Incorporated Compressed geometry rendering and streaming
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
CN113595896B (zh) * 2021-08-05 2022-04-05 河南大学 一种基于vlc链路的混合数据中心网络的多路由通信方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674911B1 (en) 1995-09-14 2004-01-06 William A. Pearlman N-dimensional data compression using set partitioning in hierarchical trees
KR100294927B1 (ko) 1998-08-29 2001-07-12 윤종용 점진적인 삼차원 메쉬 정보의 부호화 방법 및 그 장치
CN1102271C (zh) 1998-10-07 2003-02-26 国际商业机器公司 具有习惯用语处理功能的电子词典
CN1160918C (zh) 2000-10-21 2004-08-04 三星电子株式会社 在移动通信系统中传输分组数据
EP1246385B1 (en) 2001-03-26 2014-04-30 LG Electronics Inc. Method of transmitting or receiving data packet in packet data communication system using hybrid automatic repeat request
EP2282310B1 (en) 2002-09-04 2012-01-25 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
KR100695142B1 (ko) * 2004-03-08 2007-03-14 삼성전자주식회사 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치
KR20070029756A (ko) 2004-06-02 2007-03-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 인코딩 및 디코딩 장치 및 그 방법
CN100469144C (zh) * 2005-09-02 2009-03-11 上海乐金广电电子有限公司 熵编码器表格变换方法
KR101100207B1 (ko) * 2005-11-08 2011-12-28 엘지전자 주식회사 디지털 방송 시스템 및 처리 방법
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
JP4893957B2 (ja) * 2006-08-07 2012-03-07 富士ゼロックス株式会社 符号化装置、復号化装置、符号化方法及びプログラム
CN1946180B (zh) * 2006-10-27 2010-05-12 北京航空航天大学 一种基于Octree的三维模型压缩编码方法
KR100969764B1 (ko) * 2008-02-13 2010-07-13 삼성전자주식회사 메쉬 모델로 구현된 3차원 데이터의 부호화 및 복호화 방법
BRPI0922846A2 (pt) * 2008-12-03 2018-01-30 Nokia Corp alternando entre modos de codificação do coeficiente dct
EP2214315A1 (en) * 2009-01-30 2010-08-04 Thomson Licensing Method and device for encoding a bit sequence
US8767823B2 (en) * 2011-03-30 2014-07-01 Industrial Technology Research Institute Method and apparatus for frame memory compression
US9035807B2 (en) * 2011-08-25 2015-05-19 Thomson Licensing Hierarchical entropy encoding and decoding
WO2013067674A1 (en) 2011-11-07 2013-05-16 Thomson Licensing Predictive position encoding
CN104115496A (zh) 2012-02-09 2014-10-22 汤姆逊许可公司 基于八叉树分解的三维模型的高效压缩
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds

Also Published As

Publication number Publication date
EP2734980B1 (en) 2018-03-21
TW201306495A (zh) 2013-02-01
WO2013010317A1 (en) 2013-01-24
EP2734980A1 (en) 2014-05-28
CN103814396A (zh) 2014-05-21
US9532056B2 (en) 2016-12-27
JP2014527735A (ja) 2014-10-16
KR20140042864A (ko) 2014-04-07
KR101862438B1 (ko) 2018-05-29
CN103814396B (zh) 2017-03-08
EP2734980A4 (en) 2016-04-27
US20140185668A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
JP5936687B2 (ja) ツリー構造の適応的エントロピー符号化方法
US9035807B2 (en) Hierarchical entropy encoding and decoding
US5818877A (en) Method for reducing storage requirements for grouped data values
JP5932051B2 (ja) 予測位置復号
JP5955378B2 (ja) エンコード方法及びデコード方法
CN103067022B (zh) 一种整型数据无损压缩方法、解压缩方法及装置
JP2022539411A (ja) 点群符号化方法、点群復号化方法、符号器、復号器及びコンピュータ記憶媒体
JP2015504545A (ja) 予測位置符号化
US10003794B2 (en) Terminable spatial tree-based position coding and decoding
CN106899848B (zh) 用于图像和视频编码的自适应二进制化器选择
CN104125475A (zh) 一种多维量子数据压缩、解压缩方法及装置
US20220005229A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie
KR101023536B1 (ko) 데이터 무손실 압축 방법
CN112740707A (zh) 点云的编解码方法和装置
CN104682966A (zh) 列表数据的无损压缩方法
US10938411B1 (en) Compression and/or decompression of activation data
CN116996077A (zh) 面向时序浮点数据的有损压缩方法、解压方法及设备
Argyriou DNA based image coding
KR20050037307A (ko) N-트리 검색에 기초한 허프만 디코딩 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

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: 20160412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160510

R150 Certificate of patent or registration of utility model

Ref document number: 5936687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250