JP4755309B2 - データ圧縮 - Google Patents

データ圧縮 Download PDF

Info

Publication number
JP4755309B2
JP4755309B2 JP2010259726A JP2010259726A JP4755309B2 JP 4755309 B2 JP4755309 B2 JP 4755309B2 JP 2010259726 A JP2010259726 A JP 2010259726A JP 2010259726 A JP2010259726 A JP 2010259726A JP 4755309 B2 JP4755309 B2 JP 4755309B2
Authority
JP
Japan
Prior art keywords
coefficient
coefficients
grouped
groups
data
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 - Lifetime
Application number
JP2010259726A
Other languages
English (en)
Other versions
JP2011045140A (ja
Inventor
モンロ,ドナルド・マーティン
Original Assignee
アイスコフ・ビジュアルズ・エルエルシー
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 アイスコフ・ビジュアルズ・エルエルシー filed Critical アイスコフ・ビジュアルズ・エルエルシー
Publication of JP2011045140A publication Critical patent/JP2011045140A/ja
Application granted granted Critical
Publication of JP4755309B2 publication Critical patent/JP4755309B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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/93Run-length coding

Landscapes

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

Description

本発明は、データ圧縮の方法および装置に関し、特にスチル・イメージやビデオ・イメージおよび/またはオーディオ・データの圧縮のための方法および装置に関するが、これらに専用というわけではない。
イメージ・データおよびオーディオ・データの圧縮のための多数の既知の手法がある。その例としては、スチル画像のエンコードおよびデコードのためのジョイント・ピクチャ・エキスパート・グループ(JPEG)・アルゴリズムや、ビデオ・データのエンコードおよびデコードのためのムービング・ピクチャ・エキスパート・グループ(MPEG)・アルゴリズムなどがある。これらおよび他の多くのエンコードおよびデコード・システムは、離散コサイン変換(Discrete Cosine Transform)(DCT)などのような空間変換(spatial transform)を使用して、元のイメージ・データを、圧縮された形にする。他のアルゴリズムは、代替の変換、例えばウェーブレット変換(Wavelet Transform)などを用いる。
典型的には、選択された変換からの出力は一連の変換係数であり、それは、全体として、オリジナル・データ(元のデータ)のエンコードされ圧縮された形を定義する。データを、例えばインターネットや低帯域ワイヤレス接続などのような通信媒体を通じて転送する必要がある場合、係数はバイナリ形態(ビット)へと変換され、そのバイナリ形態にされた係数が、任意の好適な通信プロトコルに従って転送されたり、任意の適切な形で(例えば、ディスクやメモリに)記憶される。
「埋め込み式(embedded)」システム(量子化器(quantizer)を用いる)では、変換係数は、レイヤーズ・オブ・シグニフィカンス(layers of significance、重みのあるレイヤ)(ビット・プレーン(bit planes))の順に並べられ、最大重みビット(モースト・シグニフィカント・ビット、most significant bits)が通常は最初に転送される。このような「埋め込み式」コード化手法では、受信側は、最初に低解像度イメージ受信し、伝送が進行するにつれてイメージは徐々に精密にされて高解像度になる。この手法は、受信側が受信しているイメージが、受信側の必要性に見合う十分な解像度となった任意の時に、受信側が伝送を終了できるようにする。
殆どの埋め込み式システムは、重み切り替え(significance-switching、シグニフィカンス・スイッチング)の概念を用いる。即ち、システムは、それぞれの係数の最大重みビットの位置をデコーダへ助言するための或る機構を提供する。シグニフィカンス・スイッチングなしでは、第1重みビット(ファースト・シグニフィカント・ビット、first significant bit)がまだ到達していない係数に関する重みのないビット(インシグニフィカント・ビット、insignificant bits)を反復して送ることになり、かなりの量の使用可能な帯域が無駄に使われる。これは、正の係数については、第1重みビット(即ち、1)がまだ到達していないときに零(0)を反復して送ることを意味する。シャピロ(Shapiro)のシステムなどのような幾つかのシステムでは、これを、一度に1つのビット・プレーンをスキャンすることにより行う。IEEE Transactions on Signal Processing, 41 (12)、3445乃至3462ページ、1993年12月のシャピロを参照されたい(更には、US-A-5321776およびUS-A-5315670に記載されている)。他のシステムは、デコーダへ最大重みビット位置を明確に送ることにより、最大重みビットの位置を通知する。例えば文献WO-A-99/08449およびWO-A-98/37700に説明されているシステムのような幾つかのシステムは、ビット伝送効率を改善するためにマスキング技術を用いる。
デジタル・システムにおいて負の数を表すための異なる表記のシステムがあり、その最も重要なことは、「符号および大きさ(sign and magnitude)の表記」と「2の補数(twos complement)の表記」とである。情報は、多くの場合に2の補数の表記でコンピュータに記憶されるが、圧縮アルゴリズムを記述するために、多くの場合に符号および大きさの表記が使用される。本発明の説明は、符号および大きさの表記に関連して行われ、この場合において、正の数の第1重みビット(first significant bit)(FSB)およびその負のバージョンは、データ・ワードにおいて同じ位置にある。
上記の全ての技術では、それぞれの個別の係数の第1重みビットは最初に送られ、それに続いて、より重みの低い連続するビットが、ビット・プレーン毎に、送られる。特定のカットオフ・ビット・プレーンに到達すると、システムは、係数を更に精細化する価値はないと考慮し、その結果として、カットオフ・ビット・プレーンの下に存在し得る更なるビットは送られない。
最近、FSBに続いて一定の数のビットが送られた後にそれ以上送る価値はない、ということが提案されている(「Proceedings of the IEEE International Conference on Image Processing 2000、バンクーバ」のモンロ(Monro)その他を参照されたい。これは更にWO02/13538に説明されている。)。これは、FSBに続くビット・パターンの数が限られていることを示唆する。例えば、特定の係数のFSBに2つの更なるビットが続くと定められることが知られている場合、そのパターンは4つの組み合わせのみ、即ち、11、10、01または00(大きさにおける降順で示す)である。
これらの全ての技術、およびこれらと同様の他の技術の目的は、可能な限り少ない数のビットを用いて、変換係数の値および変換データ・セットにおけめ変換係数の位置を送信または記憶することにより、効率的な圧縮を行うことである。データを送るために必要な理論的なビット数(エントロピ)を最小化するために、受渡機構のための係数のオーダーリング(順序付け)およびパッケージング(パッケージ化)の設計を支えるための多大な工夫がなされてきた。標準的な手法は、位置情報を最小数のビットで表すことを目的としており、それにより、データの値を定めるビットに使用できる使用可能な帯域を可能な限り多くすることを目的としている。
本発明では、データの値ではなく位置について注意を注ぐことにより、上記の手法は完全に放棄され、エントロピは改善される。極論的には、本発明は、データ・セットを完全に位置情報で記述し、値の情報を全く送らないようにすることを企図する。
本発明の第1の態様によるとデータ圧縮の方法が提供され、この方法は、データに変換を適用して複数の変換係数を導き出すステップと、それらの係数を複数のグループに分割するステップと、それらのグループを圧縮データとして順に記憶または送信するステップとを備える。これらのグループは好適には同じ確率ではない。
本発明は、更に、この方法を実施するコンピュータ・プログラム、およびそのようなコンピュータ・プログラムを担持する機械読取可能データ担体(例えば、CD)、およびそのようなコンピュータ・プログラムを表すビット・ストリーム(例えば、インターネットを介してダウンロードされるもの)が、その範囲にはいる。本発明は、更に、この方法を実施するコーダ(coder)、およびそのようなコーダを含むコーデックが、その範囲にはいる。
係数値の特徴に従って(または何らかの副情報に従って)係数を全てまたは部分的にグループ化し、値に関連する情報ではなく位置情報を明確に送ることを強調することにより、当出願人は、効率が更に改善されることを発見した。これは、驚くべきことに、グループの数が多い場合(例えば、係数の数と同じ場合)にも適用される。可能なグループの数よりもデータ値の数が少ない場合、幾つかのグループは空にされ、そして、効率は、送信のためにグループをランレングス符号化することにより、更に改善される。
グループへと分割することによりエントロピが低減されるのは、データの非定常性(non-stationarity)と関連する幾つかの理由による。例えば、係数値またはコードブック・エントリは、僅かに異なる発生頻度を有し得、また、位置依存型であり得る。係数をグループへと分割することにより、グループの統計値の差は暴露され、それにより、グループが組み合わされた場合よりも合計エントロピを低下させることになる。
グループあたりの値の平均数が1より小さくとも、ここに説明する方法は、コーダがデコーダへ空グループのランがあることを伝えるように構成する場合には、なおも効率を上げられるようにする。
本発明は、多数の様式で実施することが可能であり、ここでは、例として、幾つかの特定の実施形態を添付図面を参照して説明する。
図1は、4×4イメージの2スケール・ウェーブレット変換の例を示す。 図2は、ビット・プレーンへと分割された図1の係数を示す。 図3は、本発明の実施形態に従った第1の係数のグループ化を示す。 図4は、第2のグループ化を示す。
ここで図1を参照すると、この図は、通信媒体を介しての前方への送信または記憶のためにビット単位(bit-wise)エンコードを行うために我々が望み得るタイプのウェーブレット変換の出力を示す。この例において、図1に示す出力は4×4イメージの2スケール・ウェーブレット変換を表すが、実際的な実施形態では、係数値およびイメージ・サイズの範囲は典型的にもっと大きく、また、ウェーブレット・スケールの数も大きい。ビット単位エンコードが行われるデータ・セットは、必ずしもウェーブレット変換の係数である必要ではなく(なお、そうであることが好ましいことではある)、本発明は、例えばFFT、DCT、重複直交変換(lapped orthogonal transform)その他を含む任意の他のタイプの変換の係数からなる出力セットへも、同等に適用可能である。下記の方法は、他のデータ・セット、即ち、必ずしもイメージやオーディオを表すものではないデータ・セットの効率的なビット単位の圧縮にも使用することも可能である。ここに説明する方法は、例えばスプレッド・シート・データやワード・プロセッシング・データなどの効率的なビット単位の圧縮のために、同等に好適に作用する。例えば色、フォント、言語、更には臭いなどのような何れの関連する特徴も、係数のグループ化の基礎となり得る。
この方法は、従来のように係数値をバイナリ・ビットに変換し、図2に示すように個々にビット・プレーンを考慮することから開始する。図2では、簡素化するために、2つの係数1、2のみを示す。これらの係数の第1のものは、ビット・プレーン17に第1重みビット(FSB)21を有し、第2のものは、ビット・プレーン16にFSB22を有する。図において、埋められた矩形部分は1を表し、空いている矩形部分は0を表す。
図2中の考慮されているデータ・セット25は、図1に示すデータ・セットの全体または単にその一部であり得る。ここで、圧縮されたデータ・セットはウェーブレット変換の係数を含み、図2のデータ・セット25は、図1に示す個々のサブバンド11の1つを表し得る。
シャピロ(Shapiro)のシステムのような1つのタイプの従来の「埋め込み式」システムでは、変換された係数のビットは、通常、レイヤ毎に送られるものであり、最大重みビットが最初に送られる。従って、そのようなシステムでは、通常はビット21が最初に送られ、それに続いて順にビット・プレーン16、15、14の重みビットが送られる。このシステムでは、所定のスレッショルド・ビット・プレーン(この例では14)より下からはビットが送られない。ビット・プレーン上のビットがあるところをデコーダが理解できるように、送られる各ビットについての一意の位置も識別される必要がある。これは多種の方法で行うことができ、その一例は、適当なビット・プレーン上のジグザグのスキャン経路27に沿ってビットの位置を指定することである。他の多くのスキャン手法も知られている。
対照してみると、本発明では、係数のビットは、ビット・プレーン毎に加工しない状態で送信されるものではなく、送信または記憶の前にグループ化される。これは、多くの方法で行われ得る。好適な実施形態では、図3に示すように、係数は、最初に、それらの第1重みビットによりグループ化される。ここで、仮定として、送信される係数が全部で8つあり、これらが2つのグループに分割され、第1グループは、FSBがビット・プレーン17上にあるものであり、第2グループは、FSBがビット・プレーン16上にあるものであるとする。係数1および係数2は既に図2に示したものに対応し、係数3ないし係数8は明瞭化のために図2には示していない。
係数を2つのグループへと分割すると、更に、図4に示すように細かく分割する。この例では、係数は、ビット値により更に分割される。これらは4つのビット値(V、V、V、V)の合計であり、それがFSBの2つの可能な値と組み合わされて、8つのグループの合計を生じるものであり、そのうちの3つは空である。次に、グループは、それぞれの個別グループ内の係数がビット・プレーン17毎に送信されることにより、1つずつ送信(または記憶)される。従って、この例においては、最初に係数1が送信され、次に係数3および係数5がビット・プレーン毎に送信され、そして次に、係数4、次に係数2および7がビット・プレーン毎に、そして最後に、係数6および係数8がビット・プレーン毎に、送信される。
ここで「ビット値」はビットのシーケンス(一連のビット)を意味し、従って、例えば、もし係数がFSBにより既に分割されており、2つの更なるビットのみが送信されることが決定されている場合、8つの可能な係数またはデータ値101xxx、即ち、101000、101001、101010などの何れもが、同じグループに置かれる。なぜなら、FSBに続くビットのシーケンスは各場合とも01であるからである。デジタル・データは離散的な数の値のみをとるので、グループの数は、多数のビットが送信される場合には多くなり得るが、なおも制限されたものとなる。
たとえビット値が等しい確率であっても、なおも、ビット値によりグループへと分割することによりデータの埋め込みを改善する。この例において、4つの可能なビット値が生じ、それらは11、10、01、00(大きさにおける降順で示す)である。この順でグループを送ることにより、埋め込みを改善できる。なぜなら、デコードされるイメージまたは信号へ最も多くのパワーを加えるビット値が最初に送信されるからである。
また、可変深さエンコードを用いることも可能であり、言い換えると、異なる係数について異なる数のビットを送ることも可能である。純粋な位置情報を送信する場合、幾つかの係数は他の係数よりも高精度で送られる必要があるということを、デコーダは知る必要がない。なぜなら、デコーダが必要とする全ての情報はグループによって完全に記述されるからである。非常に高精度で送られる幾つかの係数は、一意的なビット値を有することになるようであり、従って、それら自体のグループへ行き着く。それに対して、非常に低精度で送られる係数は、一意的ではないビット値を有することになるようであり、従って、すべて同じグループへ行き着く。
別の可能性(それ自体で使用することも、1以上の上述の手法と組み合わせて使用することも可能)としては、係数をビット・プレーン毎に送信するが、まだ送信されていない次のビットの値に従って、各場合において係数をグループ化することがある。例えば、係数を、次のビットが1であるグループと、次のビットが0であるグループとの2つのグループに分割することができる。次に、最初のグループが送信(または記憶)され、それに続いて第2のグループが送信(または記憶)される。従って、有効に、係数自体の値ではなく、グループ内の各係数の位置を単に送信する。この手法は、多数のビットを送信する場合でもうまく働く。この技術は、FSBがスキャンされているビット・プレーンにおけるそのFSBの位置により表示され(signaled)、1つのみの更なるビットが定義される場合において、ここに説明した本発明を適用するものとして見られることができる。しかしながら、この手法は、改善された標準のビット・プレーン・スキャン技術に使用することもできる。なぜなら、第1に、0のビットの前に1のビットが表示される場合に、埋め込み処理を改善するからであり、第2に、従業者は、洗練(refinement)において0のビットおよび1のビットが同じ確率で発生しないことを認識しているからである。
更に別の例(図示せず)では、代替のグループ化を用いることができる。例えば、係数がコードブック番号またはアトム(atom)を定義する場合には、グループは、FSBの代わりにそれに基づくか、またはFSBに加えてそれにも基づく。典型的には、グループは、下記のもの、即ち、FSB、振幅、ビット値、アトム/コードブック、係数と関連する任意の他の情報(副情報)のうちの任意の1つを個々に含み得るかまたは任意の組み合わせを含み得る。符号によるグループ化も可能であるが、多くの状況において、特に有用というわれではない。なぜなら、+符号のグループは、通常、−符号のグループと等しい確率であるからである。
他のグループ化パラメータは除外されず、圧縮されるデータ・セットの種類によっては、ここで説明したパラメータ以外のパラメータを用いるのが好都合な場合もある。例えば、ウェーブレット変換などのような変換を用いてデータを周波数依存サブバンドへと分割した場合、サブバンド自体が第1または第2のグループの基礎を形成し得る。このような手法は、本方法を、従来のアルゴリズム、例えば、上述のシャピロの論文「Embedded Image Coding Using Zerotrees of Waveley Coefficients」に記載されたゼロツリー・ウェーブレット・アルゴリズム(Zerotree Wavelet Algorithm)(EZW)などと関連して使用する場合に、好都合であり得る。任意の関連する特徴、例えば、色、フォント、言語、更には臭いなどのようなものも、係数のグループ化の基礎を形成することができる。
グループ化の順は、手元にあるアプリケーションに従って任意の都合のよい方法で定義できる。従って、最初にFSBによりグループ化し、次にアトムによりグループ化すると都合がよいことが多く、これにより好適な埋め込みが行われるが、望まれる場合には、最初にアトムによりグループ化し、次にFSBによりグループ化することも、同等に可能である。
幾つかの実施形態では、グループは、或るものが最終的に一意的な係数またはデータ・アイテムとなり、全てのその属性がそのグループにより定義されるように、選択される。そのような場合、特定の係数の全ての属性が、そのグループにより一意的に定義され、これは、もはや何れの係数情報も送る必要はない、ということを意味する。その代わりに、システムは、単に、データ・セット内の係数の位置に関する情報を送る必要がある。明確な係数の大きさ(coefficient magnitude)を送らないということは、直感に反するように思えるが、その情報は実際はもはや必要ではない。なぜなら、デコーダがデータ・セットを再構築するために必要とする全てのものは、位置情報内に、および(潜在的に)それらグループ自体により、含まれているからである。典型的には、そのような手法は、符号および他の属性によるグループ化を必要とする。
グループ自体は、任意の好都合な手法で、伝送のためにエンコードされる。エントロピを更に低減させるために、実際には、ランレングス・コード化、ハフマン、算術コード化(arithmetic coding)の技術や他の無損失圧縮アルゴリズムを、送信される一連の係数へ適用できることが、当然、理解されるであろう。標準的な方法では、各係数の値は、通常はビット毎に送信され、その送信は、FSBから開始され、或る所定のカットオフ点で終了する。これは、固定されたビット・プレーン(例えばプレーン14)か、または各係数についてのFSBの下の或る所定の深さ(例えば、図2の文字Pで示されるような、それぞれの場合においてmspの3ビット下)かの何れかである。
このようにしてデータをグループ化することにより、デコーダ(デコーダは、コーダにより使用されるアルゴリズムを知っている)は、FSBのビット・プレーンを、単に、受信したデータ・ストリームにおけるそのFSBの位置から、決定することができるものであり、FSBの値を別に送信される必要ない。
もちろん、デコーダは、受信したデータ・ストリング中のそれがある場所を知ることができるようにする必要がある。これは、エンド・オブ・グループ(グループの終わり)(EOG)記号を各グループの終わりに送ることによって、または各グループを送信する前に、幾つの値が後続するかを信号で知らせることによって、達成することができる。また、幾つかの状況では、コーダが、何れのグループがポピュレート(populate)されるかをエンコーダに知らせるマスクを送信するのが、便利である。代替例としては、グループ自体をランレングス・エンコードして、同一のグループの長いラン(特に、空のグループ)が送信されないようにする。
好適な実施形態においては、グループの位置をランレングス・コード化し、同時に、グループ化に使用しない他の属性を送信する。代替例では、ランレングス・コード化によりグループの位置を知らせた後に、他の属性を、グループを通じてのスキャンとして、送信することができる。
この技術の現在の実施形態において、グループ化のレベルは、ユーザ選択可能なスイッチにより定められ、それは下記のようである。
0.FSBのみによるグループ化
1.FSB、およびビット値によるグループ化
2.(適当なデータ・セットに対しては)FSBと、ビット値と、アトム/コードブックの番号と、おそらくは符号とによるグループ化
下記の記載は、4つのスードコード(擬似コード)のリストであり、種種の転送の可能性を示している。各ケースにおいて、データは、既に、必要とされる数のグループへと分割されているものと仮定されている。
リスト1
・ 各グループについて
・ グループについての位置情報を、グループ化されていないデータと共に、送信する
・ グループの終わりを知らせる
リスト2
・ 各グループについて
・ 幾つの値があるかを知らせる
・ グループについての位置情報を、グループ化されていないデータと共に、送信する
リスト3(多くの空のグループがある場合)
・ 反復する
・ 次の空ではないグループの前に幾つの空のグループがあるかを知らせる
・ 空ではないグループのそれぞれについて
・ グループについての位置情報を、グループ化されていないデータと共に、送信する
・グループの終わりを知らせる
・ 全てのグループがスキャンされるまで
リスト4(多くの空のグループがある場合)
・ 反復する
・ 次の空ではないグループの前に幾つの空のグループがあるかを知らせる
・ 空ではないグループのそれぞれについて
・ 幾つの値があるかを知らせる
・ グループについての位置情報を、グループ化されていないデータと共に、送信する
・ 全てのグループがスキャンされるまで
説明した方法は、適用可能なところでは、係数が相関させられている場合に、予測アルゴリズム(係数の位置を予測するためのもの)と関連して使用することができる。これはエントロピを更に低減し得る。
図1ないし図4は、2次元データ・セットを圧縮する方法の使用を示しているが、この方法は、1次元データ・セット、例えば、変換されたオーディオ信号などの圧縮にも同様に適用可能であることが、理解されるであろう。説明した方法は、例えばワード・プロセッシング・ファイルやスプレッドシート・ファイルなどを含むテキスト情報の圧縮にも同様に適用可能であり、また、他の広範囲のデータにも適用可能である。実際、説明した方法は、変換が適用されるか否かにかかわらず、任意の(圧縮可能な)データを圧縮するために使用できる。

Claims (20)

  1. データ圧縮の方法であって、
    データに変換を適用して複数の変換係数を導き出すステップと、
    前記係数を複数の係数のグループに分割するステップであって、そにより、前記係数が係数値の特徴に従ってグループ化されるものであり、前記係数がそれらの第1シグニフィカント・ビットに従ってグループ化されるものであり、前記係数が複数の前記グループにより任意の所望される順にグループ化されるものである、ステップと、
    前記係数が置かれるグループ内のそれぞれの係数についての位置情報を含む圧縮データを順に記憶または送信するステップと、を備え、
    前記係数を複数の係数のグループに分割するステップでは、前記係数をバイナリ・ビットに変換し、各々の係数の第1シグニフィカント・ビットがどのビット・プレーン上にあるかに基づいて、前記係数を複数のグループに分割する、方法。
  2. 請求項1に記載のデータ圧縮の方法であって、前記係数が複数の前記グループにより任意の所望される順にグループ化される処理において、前記係数はそれらのビット値に基づく順にグループ化される、方法。
  3. 請求項1に記載のデータ圧縮の方法であって、前記係数が複数の前記グループにより任意の所望される順にグループ化される処理において、前記係数は、ビット・プレーン毎での送信のために、まだ記憶も送信もされていない次のビットの値に基づく順にグループ化される、方法。
  4. 請求項1に記載のデータ圧縮の方法であって、前記係数が複数の前記グループにより任意の所望される順にグループ化される処理において、前記係数は符号に基づく順にグループ化される、方法。
  5. 請求項1に記載のデータ圧縮の方法であって、前記係数が複数の前記グループにより任意の所望される順にグループ化される処理において、前記係数は振幅に基づく順にグループ化される、方法。
  6. 請求項1に記載のデータ圧縮の方法であって、それぞれの係数は個々の副情報と関連しており、前記係数が複数の前記グループにより任意の所望される順にグループ化される処理において、前記係数は前記副情報の特徴に基づく順にグループ化される、方法。
  7. 請求項1に記載のデータ圧縮の方法であって、前記係数が置かれるグループ内のそれぞれの係数についての位置情報は、送信するためにエンコードされる、方法。
  8. 請求項1に記載のデータ圧縮の方法であって、前記係数が置かれるグループ内のそれぞれの係数についての位置情報が、全ての残りの値関連の情報と共に、記憶または送信される、方法。
  9. 請求項1ないし7の何れかに記載のデータ圧縮の方法であって、前記係数の前記グループは記憶または送信される前にランレングス・エンコードされる、方法。
  10. 請求項1に記載のデータ圧縮の方法であって、前記変換はウェーブレット変換である、方法。
  11. 請求項1に記載のデータ圧縮の方法であって、前記変換は高速フーリエ変換である、方法。
  12. 請求項1に記載のデータ圧縮の方法であって、前記変換は離散コサイン変換である、方法。
  13. 請求項1に記載のデータ圧縮の方法であって、前記変換は重複直交変換である、方法。
  14. 請求項1に記載のデータ圧縮の方法であって、前記データはスチル・イメージまたはビデオを表す、方法。
  15. 請求項1に記載のデータ圧縮の方法であって、前記データはオーディオ・ストリームを表す、方法。
  16. 請求項1に記載のデータ圧縮の方法であって、前記データはテキストを表す、方法。
  17. コンピュータ・プログラムであって、コンピュータを、
    データに変換を適用して複数の変換係数を導き出す手段と、
    前記係数を複数の係数のグループに分割する手段であって、それにより、前記係数が係数値の特徴に従ってグループ化されるものであり、前記係数がそれらの第1シグニフィカント・ビットに従ってグループ化されるものであり、前記係数が複数のグループ化により任意の所望される順にグループ化されるものである、手段と、
    前記係数が置かれるグループ内のそれぞれの係数についての位置情報を含む圧縮データを順に記憶または送信する手段と、して機能させ、
    前記係数を複数の係数のグループに分割する手段は、前記係数をバイナリ・ビットに変換し、各々の係数の第1シグニフィカント・ビットがどのビット・プレーン上にあるかに基づいて、前記係数を複数のグループに分割する、コンピュータ・プログラム。
  18. コンピュータ・プログラムが記録されたコンピュータ読取可能な記録媒体であって、コンピュータを、
    データに変換を適用して複数の変換係数を導き出す手段と、
    前記係数を複数の係数のグループに分割する手段であって、それにより、前記係数が係数値の特徴に従ってグループ化されるものであり、前記係数がそれらのファースト・シグニフィカント・ビットに従ってグループ化されるものであり、前記係数が複数のグループ化により任意の所望される順にグループ化されるものである、手段と、
    前記係数が置かれるグループ内のそれぞれの係数についての位置情報を含む圧縮データを順に記憶または送信する手段と、して機能させ、
    前記係数を複数の係数のグループに分割する手段は、前記係数をバイナリ・ビットに変換し、各々の係数の第1シグニフィカント・ビットがどのビット・プレーン上にあるかに基づいて、前記係数を複数のグループに分割する、コンピュータ・プログラムを記録した記録媒体。
  19. コーダであって、
    データに変換を適用して複数の変換係数を導き出す手段と、
    前記係数を複数の係数のグループに分割する手段であって、それにより、前記係数が係数値の特徴に従ってグループ化されるものであり、前記係数がそれらの第1シグニフィカント・ビットに従ってグループ化されるものであり、前記係数が複数のグループ化により任意の所望される順にグループ化されるものである、手段と、
    前記係数が置かれるグループ内のそれぞれの係数についての位置情報を含む圧縮データを順に記憶または送信する手段と、を備え、
    前記係数を複数の係数のグループに分割する手段は、前記係数をバイナリ・ビットに変換し、各々の係数の第1シグニフィカント・ビットがどのビット・プレーン上にあるかに基づいて、前記係数を複数のグループに分割する、コーダ。
  20. コーダを含むコーデックであって、
    前記コーダが、
    データに変換を適用して複数の変換係数を導き出す手段と、
    前記係数を複数の係数のグループに分割する手段であって、それにより、前記係数が係数値の特徴に従ってグループ化されるものであり、前記係数がそれらの第1シグニフィカント・ビットに従ってグループ化されるものであり、前記係数が複数のグループ化により任意の所望される順にグループ化されるものである、手段と、
    前記係数が置かれるグループ内のそれぞれの係数についての位置情報を含む圧縮データを順に記憶または送信する手段と、を備え、
    前記係数を複数の係数のグループに分割する手段は、前記係数をバイナリ・ビットに変換し、各々の係数の第1シグニフィカント・ビットがどのビット・プレーン上にあるかに基づいて、前記係数を複数のグループに分割する、コーデック。
JP2010259726A 2003-09-18 2010-11-22 データ圧縮 Expired - Lifetime JP4755309B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0321954.0 2003-09-18
GBGB0321954.0A GB0321954D0 (en) 2003-09-18 2003-09-18 Data compression

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006526673A Division JP4664916B2 (ja) 2003-09-18 2004-08-13 データ圧縮

Publications (2)

Publication Number Publication Date
JP2011045140A JP2011045140A (ja) 2011-03-03
JP4755309B2 true JP4755309B2 (ja) 2011-08-24

Family

ID=29266282

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006526673A Expired - Lifetime JP4664916B2 (ja) 2003-09-18 2004-08-13 データ圧縮
JP2010259726A Expired - Lifetime JP4755309B2 (ja) 2003-09-18 2010-11-22 データ圧縮

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006526673A Expired - Lifetime JP4664916B2 (ja) 2003-09-18 2004-08-13 データ圧縮

Country Status (7)

Country Link
US (1) US7352298B2 (ja)
EP (1) EP1671275A1 (ja)
JP (2) JP4664916B2 (ja)
KR (1) KR101021822B1 (ja)
CN (1) CN100511282C (ja)
GB (1) GB0321954D0 (ja)
WO (1) WO2005027049A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4034317B2 (ja) * 2005-03-29 2008-01-16 富士通株式会社 画像符号化装置
US7848584B2 (en) 2005-09-08 2010-12-07 Monro Donald M Reduced dimension wavelet matching pursuits coding and decoding
US7813573B2 (en) 2005-09-08 2010-10-12 Monro Donald M Data coding and decoding with replicated matching pursuits
US8121848B2 (en) 2005-09-08 2012-02-21 Pan Pacific Plasma Llc Bases dictionary for low complexity matching pursuits data coding and decoding
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7770091B2 (en) 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US20070290899A1 (en) * 2006-06-19 2007-12-20 Donald Martin Monro Data coding
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US7689049B2 (en) 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) * 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US7974488B2 (en) * 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US7667624B2 (en) * 2007-01-22 2010-02-23 General Electric Company Methods and apparatus for clinical data compression
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US7707213B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US7737869B2 (en) * 2007-07-12 2010-06-15 Monro Donald M Symbol based data compression
US7511638B2 (en) 2007-07-12 2009-03-31 Monro Donald M Data compression for communication between two or more components in a system
US8238677B2 (en) * 2008-03-07 2012-08-07 International Business Machines Corporation Adaptive lossless data compression method for compression of color image data
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7786903B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US20120014595A1 (en) 2010-07-16 2012-01-19 Frederiksen Jeffrey E Color Space Conversion for Efficient Filtering
CN102520227B (zh) * 2011-12-14 2013-10-09 国电南瑞科技股份有限公司 一种基于扰动指示器的故障录波数据压缩方法
US8989509B2 (en) 2012-12-18 2015-03-24 Apple Inc. Streaming wavelet transform
US8903186B2 (en) * 2013-02-28 2014-12-02 Facebook, Inc. Methods and systems for differentiating synthetic and non-synthetic images
CN104683818B (zh) * 2015-03-15 2017-11-21 西安电子科技大学 基于双正交不变集多小波的图像压缩方法
US10623775B1 (en) * 2016-11-04 2020-04-14 Twitter, Inc. End-to-end video and image compression
JP6807795B2 (ja) * 2017-03-31 2021-01-06 日本放送協会 雑音除去装置及びプログラム
IT201800006911A1 (it) * 2018-07-04 2020-01-04 Metodo di codifica e decodifica di informazioni digitali
WO2023242593A1 (en) * 2022-06-16 2023-12-21 Mbda Uk Limited Method for image encoding
EP4294013A1 (en) * 2022-06-16 2023-12-20 MBDA UK Limited Method for image encoding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06217274A (ja) * 1993-01-18 1994-08-05 Matsushita Electric Ind Co Ltd 画像信号圧縮装置
US6757437B1 (en) * 1994-09-21 2004-06-29 Ricoh Co., Ltd. Compression/decompression using reversible embedded wavelets
GB9703441D0 (en) 1997-02-19 1997-04-09 British Tech Group Progressive block-based coding for image compression
GB9716579D0 (en) 1997-08-05 1997-10-08 Univ Bath Signal coding and decoding
US6130911A (en) * 1997-11-21 2000-10-10 Sharp Laboratories Of America, Inc. Method and apparatus for compressing reference frames in an interframe video codec
JP3701825B2 (ja) * 1999-11-01 2005-10-05 日本電信電話株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および動画像符号化、復号プログラムを記憶した記憶媒体
GB0019121D0 (en) 2000-08-03 2000-09-27 Wave Limited M Signal compression and decompression
US6993199B2 (en) * 2001-09-18 2006-01-31 Nokia Mobile Phones Ltd. Method and system for improving coding efficiency in image codecs
US7092965B2 (en) * 2002-07-09 2006-08-15 Lightsurf Technologies, Inc. System and method for improved compression of DCT compressed images
US7363941B2 (en) * 2004-12-16 2008-04-29 Dresser, Inc. Fluid control valve device

Also Published As

Publication number Publication date
CN1853198A (zh) 2006-10-25
CN100511282C (zh) 2009-07-08
KR20070026305A (ko) 2007-03-08
US7352298B2 (en) 2008-04-01
WO2005027049A1 (en) 2005-03-24
JP2011045140A (ja) 2011-03-03
JP2007506322A (ja) 2007-03-15
GB0321954D0 (en) 2003-10-22
KR101021822B1 (ko) 2011-03-17
JP4664916B2 (ja) 2011-04-06
EP1671275A1 (en) 2006-06-21
US20070030177A1 (en) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4755309B2 (ja) データ圧縮
US6850649B1 (en) Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding
US5881176A (en) Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5966465A (en) Compression/decompression using reversible embedded wavelets
US6477280B1 (en) Lossless adaptive encoding of finite alphabet data
Subramanya Image compression technique
US6678419B1 (en) Reordering wavelet coefficients for improved encoding
US6757437B1 (en) Compression/decompression using reversible embedded wavelets
Sanchez et al. Prioritized region of interest coding in JPEG2000
US20050027521A1 (en) Embedded multiple description scalar quantizers for progressive image transmission
EP3831065B1 (en) Entropy coding for signal enhancement coding
JP2005218124A (ja) データ圧縮システム
EP1001604B1 (en) Embedding a watermark into a compressed image signal
EP1166565B1 (en) Image encoding using reordering wavelet coefficients
EP1333679B1 (en) Data compression
Vidhya et al. A Review of lossless and lossy image compression techniques
Boliek et al. Decoding compression with reversible embedded wavelets (CREW) codestreams
EP1465350A2 (en) Embedded multiple description scalar quantizers for progressive image transmission
JPH11136519A (ja) 画像処理装置
JP2001045482A (ja) 画像処理装置及び方法
Muzaffar et al. Simplified Wavelet based image compression using fixed length residual value
Sanchez et al. Transactions Letters_
Uddin et al. Lossless Digital Image Compression using Quad-Tree Gray-Code Embedded Bit Plane Imaging Method
Sharma et al. Image Compression Using Wavelet Transform: A Literature
Perkins et al. 13.6 FLEXIBILITY AND ADAPTABILITY OF NOAA’S LOW RATE INFORMATION TRANSMISSION SYSTEM

Legal Events

Date Code Title Description
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: 20110502

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

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4755309

Country of ref document: JP

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250