JP4884438B2 - 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 - Google Patents
階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 Download PDFInfo
- Publication number
- JP4884438B2 JP4884438B2 JP2008215480A JP2008215480A JP4884438B2 JP 4884438 B2 JP4884438 B2 JP 4884438B2 JP 2008215480 A JP2008215480 A JP 2008215480A JP 2008215480 A JP2008215480 A JP 2008215480A JP 4884438 B2 JP4884438 B2 JP 4884438B2
- Authority
- JP
- Japan
- Prior art keywords
- subtree
- context
- compression
- compression coding
- content
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
Description
−マルチメディア用アプリケーション
−インデクセーションツール(indexation tool)
−メタデータ(meta-data)取扱いツール
−MPEG−7規格
−SMIL
−常設TV(TV Anytime)
−第三世代の無線通信(3GPP)
そのような方法は、このツリーの構造を選択的に圧縮するステップも含む。
有利には、このツリーは、MPEG7規格によるBiM(2進MPEG)形である。
この圧縮コード化技術の1つは、線形の量子化を選択的に実行する。
有利には、この圧縮コード化技術の1つは統計的な圧縮アルゴリズムを実行する。
選択的には、このアルゴリズムはGZip形である。
有利には、このアルゴリズムは、少なくとも2つのリーフの内容に対応するデータの集合に対して同時に実行される。
このツリーは、XML(Extended markup language:拡張マークアップ言語規約)形の文書の構造を選択的に示す。
本発明は、階層化ツリーを圧縮するための上記の方法に基づいて圧縮されたマルチメディア信号をデコードする方法にも関係する。
この現在のコンテキストは、少なくとも1つのコンテントタイプを選択的に定義し、この方法は、リーフがこのコンテントタイプの内容を有するようなこのコンテントタイプに関連した圧縮デコーディング技術を実行するステップを含む。
(はじめに)
図1に示したコーディングコンテキストは、ビットストリームをデコーディングする間に必要なデコーディング情報の集合である。コーディングコンテキストは、定義されるノードのサブツリー全体に適用できる。ツリーの全てのノードにおいて、コーディングコンテキストを修正して、新しいコーディングコンテキストを作成し、対応するサブツリーに適用するようにできる。
(定義)
(コーディングコンテキスト(codingContext))
「コーディングコンテキスト」とは、デコーダがビットストリームをデコードするために必要とする情報の集合、すなわちコンテキスト情報である。コーディングコンテキストは、それが定義されているノード及びこのノードに対応するサブツリー全体に適用できる。
現在のコーディングコンテキスト(つまり、ある記述の指定されたノードにおいて適用可能なコンテキスト)は、文書内で修正することができる(換言すれば、その下にある情報の集合の修正)。コーディングコンテキストが修正されるたびに、修正された情報の集合を保持する新しいコーディングコンテキストが作成される。全てのコーディングコンテキストは、デコーダがコンテキストに対応するサブツリーのデコーディングを終了したとき、それらを元に戻すためにスタックされるべきものである。
BiMのデコーダは、下記の2つのデコーダからなる、すなわち、
−コンテキストデコーダ(context decoder)。このデコーダは、コンテキスト情報のデコーディング専用である。前述したように、コンテキスト情報は記述の一部ではない。これは幾つかの外部形状、後方及び前方の互換性、高速スキッピング(fast skipping)などを保持する情報の集合である。
−要素デコーダ(element decoder)。このデコーダはBiM正規デコーダ[1](BiM regular one)であり、要素情報のデコーディング専用である。
記述の各要素は、図2に示した3つの部分にコード化される。この場合、ヘッダ部は大きさをゼロにできる2つのチャンクから構成される。
−MCはメタコンテキストのチャンク(metacontext chunk)である。
−Cはコンテキストチャンクである。
−エレメント(Element)は要素チャンクであり、これは正規の要素コーディングチャンクである([1]を参照のこと)
このMCメタコンテキストチャンクは、デコーダが次のCコンテキストチャンクをデコードするために必要とする情報を含む。すなわち、MCチャンクは、Cコンテキストチャンクのコンテキストチャンクである。
このCコンテキストチャンクは、デコーダが次の要素チャンクをデコードするために必要な、現在のコーディングコンテキストの情報の集合を変更できる情報を含む。言い換えると、このCチャンクは、要素チャンクのコンテキストチャンクである。
現在のBiMコーディングコンテキストは、情報の集合、すなわち、次の2つの主な部類に分割できるコンテキスト情報を保持する。
−(この節に含まれた情報がコンテキストデコーディング工程のみに影響する場合の)メタコンテキスト部。
−(この節に含まれた情報が要素デコーディング工程のみに影響する場合の)コンテキスト部。
(定義)
MCメタコンテキストチャンクは、その大きさをゼロにすることができ、デコーダが以下の節で説明されるような次のCコンテキストチャンクを読み取る必要があるかどうかを知るための情報を含む。
freezing_stateのデフォルト値は偽である。すなわち、デフォルトでは、根本的なコンテキストを動的に変更できるようになっている。
新しいコンテキストが作成されるときには、
−freezing_state値は、その父親のコンテキスト(father's context)のfreezing_state値に設定される。
新しいコンテキストを作成するために、記述の各ノードにおいて、
−freezing_state値を偽の値から真の値に切り換えることができる。
freezing_state値が真の場合には、MCメタコンテキストチャンク(及び次のCコンテキストチャンク)はビットストリームにコード化されない。真でない場合には、ヘッダ部分のMCメタコンテキストチャンクは下記のようにコード化される。
context_chunk値が真の場合には、デコーダは次のCコンテキストチャンクを読み込む必要がある。
(定義)
Cコンテキストチャンクは、大きさをゼロにすることができ、現在のコンテキスト変数を動的に変更できる情報の集合を含む。これらの変数は、BiM要素のデコーディング工程に影響を与えるため、コーディング特性(codingProperties)と呼ばれる。
(関係するコーディング特性)
allows_skip変数は、FDCシステム文書[1]の中で定義されているように、特別な4ビットのビットフィールド(bitfield)の最初の2ビットによって、ビットストリームの始めで初期化される。
allows_partial_instantiation変数は、特別な4ビットのビットフィールドの第3の2ビットによって、ビットストリームの始めで初期化される。
allows_subtyping変数は、特別な4ビットのビットフィールドの第4の2ビットによって、ビットストリームの始めで初期化される。
schema_modeのデフォルト値は、モノラル(mono)である。すなわち、デフォルトでは、ルートのサブツリー/コンテキストは1つのスキーマを用いてコード化される。
新しいコンテキストの作成時に、
−allows_skip値は、その父親のコンテキストのallows_skip値に設定される。
−allows_partial_instantiation値は、その父親のコンテキストの値に設定される。
−allows_subtyping値は、その父親のコンテキストの値に設定される。
−schema_mode値は、そのデフォルト値に設定される。
新しいコンテキストを作成するために、記述の各ノードにおいて、
−allows_skipは動的に修正できる。
−allows_partial_instantiationは動的に修正できない。
−allows_subtypingは動的に修正できない。
−schema_modeは動的に修正できる。
Cコンテキストチャンクは、MCメタコンテキストチャンクが既に存在し、その以前のローカル変数context_chunkが真の場合にのみ存在する。
現在のコンテキストの動的な修正は、BiMの正規のコード化方式を用いてコード化されるXML要素を用いて記述される。BiMスキーマからの汎用要素modifyContextが使用される。http://www.mpeg7.org/2001/BiMCodingのコーディングスキーマは、補遺1に記載されている。
Cコンテキストチャンクは、上記のスキーマによるBiMの正規の方式を用いて記述する必要がある。
前述したように、コンテキスト内の現在のコーディング特性の修正は、新しいコンテキストの作成を意味する。このため、Cコンテキストチャンクが存在することは、修正されたコーディング特性を保持する新しいコンテキストが作られたことを意味する。
allowsSkip要素がmodifyContext要素の中で例示される場合には、allows_skipの値は新しいコンテキストの中で更新される。
schema_mode要素がmodifyContext要素の中で例示される場合には、schema_modeの値は新しいコンテキストの中で更新される。
allows_skip値及びschema_mode値は、スキッピング特性を処理する場合に要素デコーディング工程に影響を与える。この動作は[1]に記載されている。
schema_mode値は、要素が1つのスキーマだけにより又は幾つかのスキーマによりコード化されるのかどうかを知るために要素デコーディング工程に影響する。この仕組みは[1]に記載されている。
allows_partial_instantiation値は、1つの特殊なタイプのpartiallylnstantiatedタイプを要素の可能なサブタイプに加えることによって、要素デコーディング工程に影響を与える。[1]を参照のこと。
allows_subtyping値は、要素デコーディング工程に影響し、要素が多形性(polymorphism)(xsi:typeの属性を有する)又はユニオンの場合には、要素又は属性が異なる可能なタイプを持つことができるようにする。[1]を参照のこと。
2.1 リーフを圧縮するためのフレームワークを提供するコンテキスト方法の拡張
本発明は、新規で興味ある特徴、すなわち、結果として生ずるビットストリームの大きさを減らすために、ある文書のリーフを圧縮する局部圧縮機(local compressor)を使用して、現在のBiMコンテキスト方法を拡張することを提案する。
サブツリーでは、1つ又は数個の指定された単純なタイプのインスタンスがあると、それらは全て1つ又は数個の指定された圧縮機を用いて圧縮することができる。これは基本的には、圧縮機と1つ又は数個の単純なタイプとの間のマッピングを定義する。
さらに、
−場合によっては、圧縮機は幾つかの外部パラメータを必要とすることができる。
−幾つかのサブツリー内で圧縮機を使用し、別のサブツリーでは使用しないようにするために、マッピングを起動又は停止することができる。
最後に、起動または停止するために、マッピングは参照可能でなければならず、このためコンテキストの中で固有の識別子を持つ必要がある。
その結果、各コンテキストは、ゼロ、1つ又は数個のcodecTypeMapperを保持できる。ここで、codecTypeMapperは、識別子、1つ又は数個の単純なタイプ、コーデック、選択可能な外部のコーデックパラメータ及び活性化状態から成る4プレット(4-plet)である。
(CodecTypeMapper)
codecTypeMapperは、4プレットであり、
−サブツリーまたはコンテキストの中で固有の参照キーとして使用される識別子と、
−マッピングが適用できる1つ又は数個の単純なタイプと、
−コーデックと、
−任意選択的な外部コーデックパラメータ(コーデックに依存する)と、
−活性化状態と
を備えている。
識別子は、固有の番号であり、明白な方法でコンテキスト内のマッピングを識別する。BiMのコーディングスキーマは、コンテキスト内のcodecTypeMappersの最大数を32に制限する。
あるスキーマにおいて定義された全ての単純なタイプ(simple type)は、全てのコーデックによって先験的に(a priori)コード化することができるが、各コーデックはこの選択を制限できる。例えば、以後文書の中で定義するような線形の量子化器(linear quantizer)は、数値的な単純なタイプと共にのみ使用できる。
圧縮機または解凍機(compressor/decompressor)の役目をするコーデック(codec)は、入力ビットを取り入れて出力ビットを書き込むモジュールである。それは幾つかの選択可能な外部パラメータを必要とすることがある。
コーデックは、BiMのコーディングスキーマの中で定義された非抽象的なコーデックの名前の中の名前によって識別される。上記の節の中で定義された現在のBiMのコーディングスキーマは、どの非抽象的なコーデックも定義しないが、本明細書の2.2節(段落番号[0061]以下)では定義している。
活性化状態はブーリアンフラグである。
(CodecTypeMapper)
各コンテキストは、
−ゼロ、1つ又は数個のcodecTypeMapperを保持できる。
−1つ又は数個のcodecTypeMapperを定義できる。
−1つ又は数個の現行のcodecTypeMapperを起動又は停止できる。
あるcodecTypeMapperがコンテキストの中で定義されると、それは全てのそのサブコンテキストの中に残る。
コンテキスト内に存在するcodecTypeMapperを削除又は修正することはできない(活性化状態は除く)。
マッピングの識別子は、コンテキストの全てのcodecTypeMapperの中で一意的でなければならない。
codecTypeMapperを1つ又は数個の単純なタイプ及びコーデックと結び付ける場合、このコーデックは単純なタイプ自体及びそれらから生じた全ての単純なタイプをコード化/デコードする。
コンテキストには、コーデックの場合とは異なり、たかだか1つの単純なタイプが存在する必要がある。
2種類のコーデック、すなわち、メモリ無しのコーデックとコンテキスト式コーデックとがある。
メモリ無しのコーデックは、常に同じ入力バイトを同じバイト出力にコード化するモジュールであり、コーデックの履歴に無関係である。典型的なメモリ無しのコーデックは、線形の限定子である。BiMのリーフ圧縮(本明細書の2.2節を参照のこと)は、そのようなコーデックを説明している。
コンテキスト式コーデックは、送られた以前のバイトを使用する(このため、コーデックのコンテキストは変更される)モジュールである。そのようなコーデックは、受け取った同じ入力バイトに対して同じ出力バイトを発生しない。典型的なコンテキスト式コーデックは、Zipのようなローカルコーデックであり、本明細書の2.2節に説明されている。
メモリ無しのコーデックは、現在のコンテキストのアーキテクチャでは何ら問題を引き起こさないが、コンテキスト式コーデックはスキップ可能なサブツリーの場合には問題を発生する。そのような場合には、この前者がサブツリーをスキップした場合にデコーダを混乱させないように、コンテキスト式コーデックはリセットされる。
全てのサブツリー又はコンテキストにおいて、codecTypeMapperを起動又は停止することができる。
この仕組みにより、codecTypeMapperを文書ツリーのより高いレベルで定義し、使用されているサブツリーの中でのみcodecTypeMapperを再定義せずに起動することができる。
この部分では、新しいcodingPropertyを、前述したコンテキスト部の以前の変数の集合に加える。この新しいcodingPropertyはcodecTypeMapperと名付けられ、前の節の中で説明された以前のcodecTypeMapperのリストである。
コンテキストはcodecTypeMapperのリストを保持する。
デフォルトにより、サブツリー又はコンテキスト内にはcodecTypeMapperはない。
codecTypeMapperをコンテキスト内で定義する場合には、その識別子、コーデック及びsimple_type値を定義する必要がある。指定されない場合は、新しく定義されたcodecTypeMapperの活性化状態はデフォルトにより真に設定される。すなわち、新しく定義されたcodecTypeMapperはデフォルトにより起動される。
(規則1)
新しいコンテキストの作成時には、codecTypeMapperのリストはその父親のコンテキストのコピーである。
−識別子の値がコピーされる。
−simple_typeの値がコピーされる。
−コーデックの値が規則2に従ってコピーされる。
−codec_parameterの値がコピーされる。
−activation_stateの値がコピーされる。
(規則2)
コーデックの値がコピーされ、下記が成立する場合、つまり、
−父親のコーデックのcodingProperty[i].codecがコンテキスト式コーデックであり、
−現在のコンテキストがスキップ可能である場合には、
デコーダは、父親のコーデックの事例(その値だけでなく)をコピーし、それをリセットすることによって、コーデックの新しい事例を作成することが期待される。
例えば、ZLibコーデックがコピーされ、スキップ可能なノードに入るときに再度初期化される。
codecTypeMapperのリストを記述の中で下記のように動的に修正できる。
−新しいcodecTypeMapperを定義できる。
−現在の(次に参照可能な)activation_stateのcodecTypeMapperを動的に修正できる。
(そのactivation_stateを除き、)現在のcodecTypeMapperを削除することはできず、そのメンバを動的に修正することもできない。
同じ前の規則はCコンテキストチャンクのデコーディングに適用するが、補遺2で説明される新しいスキーマが、新しいcodecTypeMapperの動的な修正機能を加えるために使用される。
(実施例)
補遺3に示した実施例は、記述する場合の1つの活性化された線形の限定子(本明細書の2.2節を参照のこと)の定義を示す。
異なるコーデックを用いてデータをコード化するために、本発明によって実現された仕組みをここで示す。より正確に言うと、ここで2つの実施例を示す、すなわち、1つは線形の量子化コーデックを使用して例えば浮動小数点の値を圧縮する実施例、及びもう1つはgzipのコーデックを使用して例えばストリング値を圧縮する実施例である。
BiMのサブツリーのコーディング[1]は、記述のデータリーフを圧縮しない。現在は、リーフ値は、(IEEE754のフロート及びダブル(floats and doubles)、UTFストリングなどの)その種類に関連してコード化される。
(定義)
線形量子化は、情報源が既知であり、このため損失を制御できる場合に、ビットストリーム内のコード化された数の大きさを減らすための通常の損失の多い方法である。
一例として、サンプリングされたオーディオ信号の包絡線は正確なビットサイズの量子化を有するとして良く知られており、この技術は、MPEG−7のオーディオ記述をコーディングするために効果的に使用することができる。
νが実数の場合には、νはnbitsビットのνqにより下記のようにコード化することができる。
−νqは、νの量子化及びコード化された値である。
−nbitsは、ビットに必要な精度である。
−νminは、νが到達できる最小の包含的値である。
−νmaxは、νが到達できる最大の包含的値である。
線形の量子化は、本明細書の2.1節の中で説明されたコーディングコンテキスト方法で定義されたように、コーデックとして使用できる。この方法を用いて、線形の量子化を記述のどのようなサブツリーの中でも、望ましい単純なタイプの数値データのリーフに対して適用できる。
本明細書の2.1節のコーデックに対する定義によれば、このコーデックはメモリ無しのコーデックであり、これは全ての極小の数値及び極小でない数値の単純なタイプに適用できる。そのXMLスキーマの基本タイプは、フロート、ダブル又はデシマルである。
線形量子化器のコーデックは、下記の3つの必須のパラメータである
−上記のnbits変数であるbitSizeと、
−上記のνmin変数であるminInclusiveと、
−上記のνmax変数であるmaxInclusiveと
を必要とする。
線形量子化のコーデックは、抽象的なCodecTypeタイプ(2.1節を参照のこと)に基づいて、コーディングコンテキストのnamespaceのURL xmlns:cc=http://www.mpeg7.org/2001/BiMCodingにおける補遺5の中で与えられたスキーマで定義されたタイプLinearQuantizerCodecTypeの新しいコーデックである。
補遺6で示された実施例は、記述における線形量子化器の定義を示す。
伝統的な損失のない統計的な圧縮アルゴリズムは、コーディングコンテキスト方法(2.1節を参照)の中で定義されたようなコーデックとして使用できる。この方法を用いて、どの記述のサブツリーの中でも、望ましい単純なタイプのデータリーフを効率的に圧縮できる。
このコーデックは、特に記述が多くの反復的な又は同様のストリングを含む場合には、ビットストリームの大きさを著しく減少させるために有用である。
(Zip又はGZipなどの)伝統的な損失のない統計的な圧縮アルゴリズムをBiMの中で用いて、記述の任意のリーフを圧縮することができる。
しかし、大抵の場合、データリーフが10文字よりも少ない短いストリングの場合には、通常の統計的な圧縮アルゴリズムは大きなルックアヘッドバッファ(lookahead buffer)を必要とするため、このアルゴリズムの性能は良くない。
最適な圧縮比を実現するために、文書のリーフは圧縮する前に、小さいバッファにバッファする必要がある。次の節は、根本的な損失のない統計的な圧縮アルゴリズムに依存するそのようなバッファ付き統計的コーダ(a buffered statistical coder)を定義する。
バッファ付き統計的コーダは、一般的な下記の基本的な方法である、
−ストリームの圧縮又は解凍動作を初期化するinitialize_stream()と、
−コーダの現在の統計的なモデルをリセットするreset_model()と、
−入力の解凍されたバイトを取り、圧縮ストリームの中に入れるfeed_input_bytes()と、
−既に処理された入力バイトを圧縮し、対応する圧縮された出力バイトを出すことによって、圧縮ストリームをフラッシュするflush_output_bytes()と、
−指定された量の圧縮された入力バイトを取り、対応する解凍された出力バイトを出すことによってそれらをデコードするdecompress_input_bytes()と
を必ず含む根本的な統計的コーダに依存する。
バッファ付きコーデックは、bufferSizeのバイト長、すなわちバイトアレイバッファ(byte array buffer)のFIFO構造を有する。
エンコーダ側から見ると、bufferSize値はフラッシングの前にエンコーダがどの位の入力バイトを処理できるかを示す。デコーダ側からすると、これは根本的な統計的コーダのAPIを通してビットストリームをデコードするために必要な最小のバッファ寸法である。
このバッファはfillingLevel変数も有する。この変数は、バッファのバイトにおける実際の充填レベルを含む。
GZip圧縮方式の中で使用されるZLibの公開ライブラリのAPI[4]は、文書リーフに対して統計的圧縮を行うための効率的で有用なAPIを提供する。
−initialize_stream()は、Z_DEFAULT_COMPRESSIONの効率値のパラメータを用いて、ZLibのinflateInit()又はdeflateInit()機能によってマッピングすることができる。
−reset_model()は、ZLibのinflateEnd()又はdeflateEnd()コール及び次のinitialize_stream()コールを用いてマッピングすることができる。
−feed_input_bytes()は、Z_NO_FLUSHパラメータを用いてZLibのdeflate()方法によりマッピングすることができる。
−flush_output_bytes()は、Z_SYNC_FLUSHパラメータを用いてZLibのdeflate()方法によりマッピングすることができる。
−decompress_input_bytes()は、ZLibのdeflate()方法によりマッピングすることができる。
この節では、コーディングコンテキスト方法の中で定義された、ZLib APIに依存する、上記のバッファ付き統計的コーダの統合について説明する。
2.1節のコーデックに対する定義によれば、このコーデックはコンテキスト式コーデックであり、これは全ての極小のストリングタイプ及び極小でないストリングタイプに適用できる。ZLibCodecは、[1]の中で説明したように、文書のリーフの根本をなす基本的なコード化に依存している。例えば、intリーフは32ビットの符号のない整数によりコード化され、stringリーフはUTF−8のコード化により、float及びdoubleリーフはIEEE754形式でコード化される。このため、ZLibCodecは、コード化されたリーフを圧縮できる。
バッファ付きのZLibコーデックは、根本的なZLibの効率がZ_DEFAULT_COMPRESSIONに設定され、bufferSizeパラメータがデコーダ側からは必要とはされないため、どのような外部のパラメータも必要としない。
このZLibコーデックは、抽象的なCodecTypeタイプ(2.1節を参照のこと)に基づいて、補遺7のコーディングコンテキストのnamespaceの中で説明されたスキーマによって定義されたZLibCodecTypeタイプの新しいコーデックである。
コーデックの活性化又はインスタンシエーションにおいては、
−FIFOのバッファ構造はクリアであると想定され、そのfillingLevelは0に設定される。
−グローバル変数referencable_chunkは0に初期化される。
このreferencable_chunkは、エンコーダが保持しなければならない参照可能なビットのチャンクを含むべきである。その理由は、その値がコード化工程の間に後で知られるからである。通信関数signal_reference_chunk_known()は、このチャンクが知られた場合には呼び出すことができる。
全てのゼロでないチャンクのバイトの大きさは、[1]で定義されたように、標準的な符号無しの無限の整数4+1コーディング(infinite integer 4+1 coding)を用いて、flush_output_bytes()呼出しの間にチャンク自身の前に書き込まれるべきである。
入力リーフ(input leaf)は、その基本のタイプに関連したテキストのリーフのコード化された値である。このリーフのバイトの長さは、フィールドleaf.lengthによって与えられる。一例[1]を挙げれば、stringリーフは、ストリングのバイトの大きさが前に来る(無限整数のコーディング[1]を用いてコード化された)UTF−8のコードであり、doubleリーフは、対応するIEEE754規格の64ビット値である。
chunk encode_leaf(chunk leaf) [
while (leaf is not empty) [
if (fillingLevel + leaf.length < bufferSize) [
feed_input_bytes(leaf,leaf.length)
fillingLevel = fillingLevel + leaf.length
if (referencable_chunk is null) [
referencable_chunk = new chunk
return referencable_chunk
] else [
return nil_size_chunk
]
] else [
remaining_bytes = bufferSize - fillingLevel - leaf.length
feed_input_bytes(leaf,remaining_bytes)
referencable_chunk = flush_output_bytes()
signal_reference_chunk_known()
fillingLevel = 0
leaf = leaf.remove_beginning_bytes(remaining_bytes)
referencable_chunk = null
]
]
]
string_fifoをストリングFIFOとする。
下記の方法get()及びput()は、それぞれ、FIFOから要素を取り出し、FIFOに要素を置く。
FIFOが空かどうかを知る方法はEmpty()信号である。
subをサブストリングを取り出す関数とする。
concatを連結関数とする。
getData()を、リーフからのde-gzipデータを保持するchar[]を戻す関数とする。
split(char[] , char sep, Fifo, char[] remainder)を各セパレータ「sep」において文字のアレイを分割し、この分割されたストリング要素をFIFOに保管し残りを戻す方法とする。
[
if (data==null) return;
int BEGIN=0;
for (int I=0;I<data.length;I++)
[
if (data[I]==sep)
[
char[] str= concat(remainder, sub(data,BEGIN,I));
put(string_fifo, str);
BEGIN=I+1;
]
]
if(BEGIN!=data.length)
[
//there's a remainder.
remainder = sub(data,BEGIN,data.length);
]
]
String decode()
[
if (isEmpty(string_fifo)
[
data = getData();
split(data,0x00,string_fifo,remainder);
]
return get(string_fifo);
]
初期化されたとき、string_fifoは空である。
コーデックの活性化又はインスタンシエーションにおいては、
−FIFOの構造はクリアであると想定され、そのnumberOfLeavesは0に設定される。
−変数first_chunkは真に設定される。
セパレータのバイトを0x00とする。
下記のdecode_leaf関数は、ビットストリームからの圧縮されたリーフをデコードすることができる。
string decode_leaf() [
if (numberOfLeaves == 0) [
read_and_decompressed_byte()
numberOfLeaves = count_number_of_leave_in_buffer()
] else [
]
]
1.FIFOが空の場合には、
a.コード化データをデコードする。
b.0x00により分離された全ての要素をFIFOの中にスタックする。
c.最後の文字が0x00でない場合は、未完成のストリングを一時的に保管する。
d.「last_element」が空でない場合は、それをFIFO内の第1の要素の先頭に挿入する。
e.このラウンドの未完成のストリングをlast_elementの中に入れる。
f.第1の要素を取り除き戻す。
これは、「FIFOは空ではない」及び「現在のリーフにはコード化されたデータはない」と言うのに等しい。
補遺8で与えられた説明は、string及びanyURIタイプでマッピングされたZLibCodecTypeのコーデックを使用する場合の例である。
下記の図面は、記述(string及びanyURIのXMLスキーマの基本のタイプから得られた記述)のテキストのリーフを圧縮するためにZLibCodecを使用する場合の性能を示す。bufferSize=256バイトのバッファは、コード化工程の間に使用された。使用されたファイルは、MPEG−7のMDSサブグループにより提供された。
Claims (15)
- マルチメディア信号を記述する階層化ツリーを圧縮する方法であって、
該ツリーが、コンテントタイプと呼ばれる少なくとも2つの明確な特徴を有するデータに対応付けることができる、ノードとリーフとを含み、コンピュータが、前記リーフの少なくともいくつかのコンテントタイプに対応したデータ圧縮を実行するものであり、
前記コンピュータが圧縮コード化技術をあるコンテントタイプに対応付けるステップと、
前記コンピュータが少なくとも1つのサブツリーを識別するステップと、
前記コンピュータが該サブツリーに対して圧縮コード化技術の1つを割り当てるステップと、
前記コンピュータが、前記圧縮コード化技術に対応した前記コンテントタイプをもつ前記サブツリーのリーフに対してのみ、該サブツリーに割り当てられた前記圧縮コード化技術を実行するステップであって、前記サブツリーの他のリーフはどのような圧縮コード化も受けることはないものである、実行するステップと
を含んでなる方法。 - 前記圧縮コード化技術は、あるコンテントタイプのパラメータ記述により指定されたものである請求項1に記載の方法。
- 前記サブツリーがMPEG7規格によるBiM(2進MPEG)タイプである請求項1または2に記載の方法。
- 前記コンテントタイプが、フロート、ダブル又はデシマルであり、前記MPEG7規格に従うタイプである請求項3に記載の方法。
- 前記圧縮コード化技術の1つが線形の量子化コーデックを使用する請求項1から請求項4のいずれかに記載の方法。
- 前記圧縮コード化技術の1つが統計的圧縮コーデックを使用する請求項1から請求項5のいずれかに記載の方法。
- 前記アルゴリズムがGZipタイプである請求項6に記載の方法。
- 前記アルゴリズムが少なくとも2つのリーフのデータに対応するデータの集合に対して同時に実行されるものである請求項6及び請求項7のいずれかに記載の方法。
- 前記サブツリーがXML(拡張マークアップ言語)タイプの文書の構造を示すものである請求項1から請求項8のいずれかに記載の方法。
- デコーダが前記サブツリーをスキップできるようにする幾つかの情報を含む少なくとも1つのコーディングコンテキストを、前記コンピュータによって前記サブツリーに関連付けるステップをさらに含む請求項1から請求項9のいずれかに記載の方法。
- 前記幾つかの情報が、
使用された圧縮コード化技術を示す1つの情報、及び/又は、
対応するサブツリーが圧縮されているかどうかを示す1つの情報、及び/又は、
対応するサブツリーがスキップ可能かどうかを示す1つの情報、及び/又は、
使用された圧縮コード化技術の少なくとも1つのパラメータが修正されているかどうかを示す1つの情報
を含むものである請求項10に記載の方法。 - 請求項1から請求項11のいずれかの方法に従って圧縮されたマルチメディア信号をデコーディングする方法であって、
コンピュータが、前記信号によって送られた少なくとも1つのコーディングコンテキストに従って、少なくとも1つのコンテントタイプを定義する現在のデコーディングコンテキストをリフレッシュするステップと、
前記コンピュータが、前記コンテントタイプのコンテントを含むリーフに対して、該コンテントタイプに対応した圧縮デコーディング技術を実行するステップと
を含む方法。 - 請求項1から請求項12のいずれかの方法によって圧縮された階層化ツリーを表すデータ構造であって、前記ツリーが、コンテントタイプと呼ばれる少なくとも2つの明確な特徴を有するデータに対応付けることができる、ノードとリーフとを含み、前記ツリーが、少なくとも1つのコンテントタイプのためのある圧縮コード化技術に割り当てられる少なくとも1つのサブツリーも含むものであり、少なくとも1つのフィールドを含む前記データ構造は、
前記圧縮コード化技術に対応付けられる前記コンテントタイプのコンテントを有し、前記サブツリーの前記リーフが前記圧縮コード化を受けるものである、前記サブツリーの前記リーフと、
前記圧縮コード化技術に対応付けられる前記コンテントタイプのコンテントを有しておらず、どのような圧縮コード化を受けないものである、前記サブツリーの他のリーフと
を含んでなるデータ構造。 - 前記データ構造は、
前記少なくとも1つのコンテントタイプのために前記サブツリーに割り当てられる前記圧縮コード化技術を示す少なくとも1つのフィールドと、
前記サブツリーのために前記圧縮コード化技術に対応付けられる前記少なくとも1つのコンテントタイプを示す少なくとも1つのフィールドと
をさらに含むものである請求項13に記載のデータ構造。 - 前記データ構造は、前記コンテントタイプの少なくとも1つのために前記サブツリーに割り当てられる前記圧縮コード化技術の少なくとも1つのパラメータを示す少なくとも1つのフィールドをさらに含むものである請求項14に記載のデータ構造。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01460047.2 | 2001-07-13 | ||
EP01460047A EP1276324B1 (en) | 2001-07-13 | 2001-07-13 | Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003513248A Division JP2004535034A (ja) | 2001-07-13 | 2002-07-12 | 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009043267A JP2009043267A (ja) | 2009-02-26 |
JP4884438B2 true JP4884438B2 (ja) | 2012-02-29 |
Family
ID=8183367
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003513248A Withdrawn JP2004535034A (ja) | 2001-07-13 | 2002-07-12 | 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 |
JP2008215480A Expired - Fee Related JP4884438B2 (ja) | 2001-07-13 | 2008-08-25 | 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003513248A Withdrawn JP2004535034A (ja) | 2001-07-13 | 2002-07-12 | 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US20040267710A1 (ja) |
EP (1) | EP1276324B1 (ja) |
JP (2) | JP2004535034A (ja) |
KR (1) | KR20040036897A (ja) |
CN (1) | CN100493187C (ja) |
AT (1) | ATE341901T1 (ja) |
AU (1) | AU2002330359A1 (ja) |
BR (1) | BRPI0211106B8 (ja) |
CA (1) | CA2452639C (ja) |
DE (1) | DE60123596T2 (ja) |
ES (1) | ES2272429T3 (ja) |
MX (1) | MXPA04000219A (ja) |
WO (1) | WO2003007614A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7126955B2 (en) | 2003-01-29 | 2006-10-24 | F5 Networks, Inc. | Architecture for efficient utilization and optimum performance of a network |
US8159940B1 (en) | 2004-11-11 | 2012-04-17 | F5 Networks, Inc. | Obtaining high availability using TCP proxy devices |
KR100660028B1 (ko) * | 2005-02-23 | 2006-12-20 | 인천대학교 산학협력단 | 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법 |
US8111694B2 (en) | 2005-03-23 | 2012-02-07 | Nokia Corporation | Implicit signaling for split-toi for service guide |
CN101223699A (zh) * | 2005-07-21 | 2008-07-16 | 易斯普维 | 压缩与解压缩结构化文档的方法和装置 |
US7783781B1 (en) | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
US8275909B1 (en) | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
US7882084B1 (en) | 2005-12-30 | 2011-02-01 | F5 Networks, Inc. | Compression of data transmitted over a network |
US8417833B1 (en) | 2006-11-29 | 2013-04-09 | F5 Networks, Inc. | Metacodec for optimizing network data compression based on comparison of write and read rates |
CN101584120B (zh) * | 2007-01-19 | 2013-01-09 | 三菱电机株式会社 | 表装置、可变长度编码装置、可变长度解码装置 |
JP4360428B2 (ja) | 2007-07-19 | 2009-11-11 | ソニー株式会社 | 記録装置、記録方法、コンピュータプログラムおよび記録媒体 |
KR101323439B1 (ko) | 2008-11-12 | 2013-10-29 | 보드 오브 트러스티스 오브 더 리랜드 스탠포드 주니어 유니버시티 | 특징 디스크립터를 표현하고 식별하는 방법, 장치 및 컴퓨터 판독가능 저장 매체 |
CN101741708B (zh) * | 2008-11-13 | 2012-11-21 | 华为技术有限公司 | 一种存储数据的方法和装置 |
US8818024B2 (en) | 2009-03-12 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for object tracking |
CN101557399A (zh) * | 2009-05-20 | 2009-10-14 | 深圳市汇海科技开发有限公司 | 一种xmpp协议传输数据压缩与解压缩方法 |
US8687891B2 (en) | 2009-11-19 | 2014-04-01 | Stanford University | Method and apparatus for tracking and recognition with rotation invariant feature descriptors |
US9002859B1 (en) | 2010-12-17 | 2015-04-07 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
WO2012097009A2 (en) | 2011-01-10 | 2012-07-19 | Ward Roy W | Systems and methods for high-speed searching and filtering of large datasets |
EP2557752B1 (de) | 2011-08-11 | 2017-09-27 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zum herstellen einer end-zu-end-kommunikation zwischen zwei netzwerken |
US9171054B1 (en) | 2012-01-04 | 2015-10-27 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
US8990204B1 (en) | 2012-01-17 | 2015-03-24 | Roy W. Ward | Processing and storage of spatial data |
US10521411B2 (en) | 2016-08-10 | 2019-12-31 | Moonshadow Mobile, Inc. | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
CN107092656B (zh) * | 2017-03-23 | 2019-12-03 | 中国科学院计算技术研究所 | 一种树状结构数据处理方法及系统 |
US11379420B2 (en) * | 2019-03-08 | 2022-07-05 | Nvidia Corporation | Decompression techniques for processing compressed data suitable for artificial neural networks |
CN113282776B (zh) * | 2021-07-12 | 2021-10-01 | 北京蔚领时代科技有限公司 | 用于图形引擎资源文件压缩的数据处理系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995001677A1 (en) * | 1993-06-30 | 1995-01-12 | Codex, Inc. | Method and apparatus for encoding and decoding compressed data in data communication |
WO1997034240A1 (en) * | 1996-03-15 | 1997-09-18 | University Of Massachusetts | Compact tree for storage and retrieval of structured hypermedia documents |
EP0928070A3 (en) * | 1997-12-29 | 2000-11-08 | Phone.Com Inc. | Compression of documents with markup language that preserves syntactical structure |
JP2000067348A (ja) * | 1998-08-24 | 2000-03-03 | Matsushita Electric Ind Co Ltd | 携帯電話機及び携帯電話機による緊急通報システム |
JP4003854B2 (ja) * | 1998-09-28 | 2007-11-07 | 富士通株式会社 | データ圧縮装置及び復元装置並びにその方法 |
GB9911099D0 (en) * | 1999-05-13 | 1999-07-14 | Euronet Uk Ltd | Compression/decompression method |
FR2813743B1 (fr) * | 2000-09-06 | 2003-01-03 | Claude Seyrat | Procede de compression/decompression de documents structures |
EP1223759A1 (en) * | 2001-01-08 | 2002-07-17 | Robert Bosch Gmbh | Method for providing an extension code for a binary description for multimedia data |
FR2820563B1 (fr) * | 2001-02-02 | 2003-05-16 | Expway | Procede de compression/decompression d'un document structure |
-
2001
- 2001-07-13 EP EP01460047A patent/EP1276324B1/en not_active Expired - Lifetime
- 2001-07-13 ES ES01460047T patent/ES2272429T3/es not_active Expired - Lifetime
- 2001-07-13 AT AT01460047T patent/ATE341901T1/de not_active IP Right Cessation
- 2001-07-13 DE DE60123596T patent/DE60123596T2/de not_active Expired - Lifetime
-
2002
- 2002-07-12 WO PCT/EP2002/008667 patent/WO2003007614A2/en active Application Filing
- 2002-07-12 MX MXPA04000219A patent/MXPA04000219A/es active IP Right Grant
- 2002-07-12 JP JP2003513248A patent/JP2004535034A/ja not_active Withdrawn
- 2002-07-12 CA CA2452639A patent/CA2452639C/en not_active Expired - Fee Related
- 2002-07-12 CN CNB028140419A patent/CN100493187C/zh not_active Expired - Fee Related
- 2002-07-12 US US10/483,576 patent/US20040267710A1/en not_active Abandoned
- 2002-07-12 AU AU2002330359A patent/AU2002330359A1/en not_active Abandoned
- 2002-07-12 KR KR10-2004-7000437A patent/KR20040036897A/ko not_active Application Discontinuation
- 2002-07-12 BR BRPI0211106A patent/BRPI0211106B8/pt not_active IP Right Cessation
-
2008
- 2008-08-25 JP JP2008215480A patent/JP4884438B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ATE341901T1 (de) | 2006-10-15 |
CN1528091A (zh) | 2004-09-08 |
MXPA04000219A (es) | 2005-04-19 |
JP2004535034A (ja) | 2004-11-18 |
BR0211106A (pt) | 2004-06-22 |
EP1276324B1 (en) | 2006-10-04 |
CA2452639C (en) | 2012-10-23 |
DE60123596T2 (de) | 2007-08-16 |
US20040267710A1 (en) | 2004-12-30 |
ES2272429T3 (es) | 2007-05-01 |
CN100493187C (zh) | 2009-05-27 |
CA2452639A1 (en) | 2003-01-23 |
DE60123596D1 (de) | 2006-11-16 |
JP2009043267A (ja) | 2009-02-26 |
BRPI0211106B8 (pt) | 2017-04-11 |
EP1276324A1 (en) | 2003-01-15 |
WO2003007614A3 (en) | 2003-10-16 |
KR20040036897A (ko) | 2004-05-03 |
WO2003007614A2 (en) | 2003-01-23 |
BRPI0211106B1 (pt) | 2016-10-18 |
AU2002330359A1 (en) | 2003-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4884438B2 (ja) | 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法 | |
Collet et al. | Zstandard Compression and the application/zstd Media Type | |
US6633242B2 (en) | Entropy coding using adaptable prefix codes | |
JP2022526098A (ja) | エントロピコーディングにおいて等確率シンボルをハンドリングするための方法およびデバイス | |
US6309424B1 (en) | Content independent data compression method and system | |
US7492290B1 (en) | Alternative encoding for LZSS output | |
US20150009051A1 (en) | Data Compression Systems and Methods | |
US20030218554A1 (en) | Method and system for compressing and decompressing multiple independent blocks | |
US20070234192A1 (en) | Encoding and distribution of schema for multimedia content descriptions | |
US6225922B1 (en) | System and method for compressing data using adaptive field encoding | |
EP1158420A1 (en) | Method for a description of audio-visual data content in a multimedia environment | |
JPH07123407A (ja) | Hdtv復号化器 | |
Gupta et al. | A review on different types of lossless data compression techniques | |
US7571152B2 (en) | Method for compressing and decompressing structured documents | |
US7930435B2 (en) | Hub and spoke compression | |
JP4727669B2 (ja) | LASeR二進表現のポイントシーケンス符号化/復号化方法及び装置 | |
US20080001790A1 (en) | Method and system for enhancing data compression | |
Timmerer et al. | An evaluation of existing metadata compression and encoding technologies for MPEG-21 applications | |
Fang et al. | Automatic generation of entropy coding programs using flavor | |
Huang et al. | Lossless compression algorithm for multi-source sensor data research | |
US6522270B1 (en) | Method of coding frequently occurring values | |
Tyagi et al. | Implementation of Data Compression Algorithms | |
Garba et al. | Analysing Forward Difference Scheme on Huffman to Encode and Decode Data Losslessly | |
Timmerer et al. | AND ENCODING TECHNOLOGIES FOR MPEG-21 APPLICATIONS | |
JP2009543243A (ja) | 構造化文書の圧縮のための方法と装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110121 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110420 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110425 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110523 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110526 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110603 |
|
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: 20111111 |
|
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: 20111206 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4884438 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |