JP2002501709A - ウェーブレットに基づくデータ圧縮を行う方法及び装置 - Google Patents

ウェーブレットに基づくデータ圧縮を行う方法及び装置

Info

Publication number
JP2002501709A
JP2002501709A JP50100399A JP50100399A JP2002501709A JP 2002501709 A JP2002501709 A JP 2002501709A JP 50100399 A JP50100399 A JP 50100399A JP 50100399 A JP50100399 A JP 50100399A JP 2002501709 A JP2002501709 A JP 2002501709A
Authority
JP
Japan
Prior art keywords
tree
zero
wavelet
integrated circuit
wavelet transform
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.)
Ceased
Application number
JP50100399A
Other languages
English (en)
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 JP2002501709A publication Critical patent/JP2002501709A/ja
Ceased legal-status Critical Current

Links

Classifications

    • 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/186Methods 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 a colour or a chrominance component
    • 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]

Landscapes

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

Abstract

(57)【要約】 モーション・ウェーブレット変換ゼロ・ツリー・コーデックは、高圧縮を実現し、かつ、適切なサイズのハードウェア内に非常に低コストで実行される。ウェーブレット変換(200)は、形成されたウェーブレット係数(802〜816)をエンコードするツリー・ウォーク技術(500)と組み合わせて使用される。2−6ウェーブレット変換を使用する(700)。ウェーブレット変換から得られたウェーブレット係数(802〜816)は、ウェーブレット係数のピラミッド(600)内に表示される。ウェーブレット係数を各ノードに1つずつ保持するために、ゼロ・ツリー(820)のアレイをピラミッド(600)から形成する。ツリー・ウォーク及びエンコーディングを補助するために、各ノードの高位値(854〜858)を計算する。エンコードされたビットの出力を形成するために、各ゼロ・ツリー(820)をトラバースする。エンコードされたビットはツリー・ウォーク中に直接出力される。

Description

【発明の詳細な説明】 ウェーブレットに基づくデータ圧縮を行う方法及び装置 発明の分野 本発明はデータの圧縮及び伸長に関する。より詳細には、本発明は画像及びビ デオを圧縮するモーション・ウェーブレット変換ゼロ・ツリー・コーデックに関 する。 発明の背景 画像処理における多くの重要なアプリケーションは、高い圧縮比を実現する低 コスト、高速かつ高品質なビデオ・コーデック(コーダ/デコーダ)を実行する 必要がある。特に、低コストかつ高速に実行することが、ビデオ・カセット・レ コーダ(VCR)、ケーブル・テレビジョン、カメラ、セットトップ・ボックス 及び他のコンシューマー・デバイスなどの低いビット・レートを有するビデオ. アプリケーションに望ましい。特に、この種のコーデックを比較的小さな低コス ト単一集積回路上に実現することが多くの場合において望ましい。 圧縮の技術分野における最近の重要な進歩は、様々な団体によって実現されて いる。例えば、近年、株式会社リコーは、“可逆埋め込みウェーブレットを用い た圧縮(Compres si on With Rever si ble Embedded Wavelets)”(CREW )と称される連続階調静止画像圧縮技術を開示している。CREWは、ロスレス (可逆)ウェーブレット変換に基づいて、連続階調静止画像をロスレス圧縮及び ロッシー(非可逆)圧縮する総合システムであって、かつ、埋め込み量子化を含 む。ウェーブレット変換を実行するために、CREW技術はTS−変換フィルタ を使用する。TS−変換フィルタは周知の2−6双直交フィルタをベースとして いる。変換後におけるエンコーディングを実現するために、CREW技術は3つ のアダプティブ・バイナリ・エントロピー・コーダのうちのいずれか1つを使用 する。即ち、有限ステート・マシン(Finite State Machine(FSM))コーダ、Q Mコーダ(QM-Coder)、及び高速パラレル・コーダ(high-speed parallel co der)のうちの1つである。 可逆ウェーブレット変換、埋め込みコード・ストリームあるいは高速高圧縮バ イナリ・エントロピー・コーダの使用により、CREW技術は多くのハイエンド 画像圧縮アプリケーションに理想的である。これらのアプリケーションは医療画 像、プリプレス画像、連続階調ファクシミリ・ドキュメント、イメージ・アーカ イバル、ワールド・ワイド・ウェブ画像及びサテライト画像を含む。品質を保証 できないことと、あるいは圧縮比が十分に高くないことと、更にはデータ・レー トを制御できないことといった理由の、いずれか1つの理由により、これらのア プリケーションの多くでは、従来は圧縮は行われていない。従って、CREW技 術を用いれば、高品質かつ高圧縮レートを実現したデータ圧縮を、これらのハイ エンド画像圧縮アプリケーションへ提供することができる。しかし、比較的高い 圧縮比を要求する非常に低コストな高品質リアルタイム・ビデオ・コーデックを 実行するに際して、とりわけCREW技術が適しているか否かは明らかではない 。特に、CREW技術が、コンシューマー・デバイスにおける低ビット・レート ・アプリケーションに使用する低コストで高速な実行手段として、とりわけ適し ているか否かは明らかではない。 単一チップ上で、ビデオ画像をリアルタイムでの圧縮及び伸長するハードウェ ア・デバイスが存在している。例えば、マサチューセッツ州ノーウッドに所在す るアナログ・デバイスイズ・インコーポレイテッド(Analog Devices,Inc.)か ら入手可能なADV601デバイスは、インターレース・ディジタル・ビデオを リアルタイムでの圧縮及び伸長するための低コストな単一チップCMOS・VL SIデバイスである。ウェーブレット変換を入力データに対して実施するために 、ADV601は7−9双直交ウェーブレット変換(ドベシイ(Daubechies)ウ ェーブレット)を使用する。エンコーディングを行うために、ADV601は周 知のハフマン・コーディングを使用する。 都合の悪いことに、乗算が必要であるために、ADV601はデータの処理速 度が遅くなることがある。更に、ハードウェア上で実行するにも、またソフトウ ェア上で実行するにも高い費用が必要になることがある。例えば、エンコーディ ング及びデコーディングをそれぞれ実施するために、ドベシィ・ウェーブレット はウェーブレット係数毎に平均で6回の乗算を必要とする。640x480ピク セルの一般的な画像では、画像毎に307,200個のウェーブレット係数、即 ち、約185万回の乗算が存在する。ビデオの場合、この数は更に高くなり得る 。例えば、毎秒30フレームの場合、エンコーディング及びデコーディングをそ れぞれ実施するために、毎秒5千5百万回の乗算を実施する必要がある。これら の乗算の数値は、とりわけリアル・タイム・ビデオ画像の処理速度が遅いこと、 およびハードウェア上で実行するには更に高い費用が必要となることを意味して いる。 一般的な圧縮の説明を継続する。一般的に、変換に基づくデータの圧縮は変換 ステップ、量子化ステップ及びエンコーディング・ステップを含んでいる。ビッ ト・エンコーディングは様々な技術を用いて実施することができる。 古典的なウェーブレットをエンコードするために、ゼロツリー・アルゴリズム として知られるビット・エンコーディング技術が従来から使用されいる。ウェー ブレット係数をエンコーディングするためのゼロツリー・アルゴリズムは、J. M.シャピロ(J.M.Shapiro)が“ウェーブレット係数のゼロツリーを使用した 埋め込み画像コーディング(Embedded Image Coding Using Zerotrees of Wavel et Coefficients)”41(12):34453462,IEEE Trans.Signal Process,1993に最 初に開示している。ビデオ技術のための回路及びシステムに関するIEEE会報 (the IEEE Transactions on Circuits and Systems for Video Technology)に 発表された“階層ツリーにおけるセット・パーティショニングに基づく高速で効 率の高い新たな画像コーデック(A New Fast and Efficient Image Codec Based on Set Partitioninf in Hierarchical Trees)”という原稿において、A.サ イード及びW.A.パールマン(A.Said and W.A.Pearlman)はこの技術を更に 広げている。この技術に関する更なる説明は、IEEEリポート(IEEE Report )0-7803-1254-6/93,1993に掲載されているA.サイード及びW.パールマンに よる“スペーシャル−オリエンテーション・ツリーを使用した画像圧縮(Image Compression Using the Spatial-Orientation Tree)”にも開示されている。こ れらの文献の内容は、この開示をもって本明細書中に開示したものとする。ウェ ーブレット係数が画像のスムーズな領域において指数関数的に減少するという事 実 に、サイード及びパールマンのエンコーディング技術は基づいている。指数関数 的に減少することから、特定の係数が閾値未満である場合、その子供に当たる係 数も閾値未満になる可能性が非常に高くなる。従って、サブスレショルド係数( sub-threshold coefficient)未満の小さな係数のサブツリー全体を廃棄するこ とができる。 サイード及びパールマンのゼロツリー・アルゴリズムは、その実行を容易にす るために、リスト及びセットを使用する。低位セットのリスト(list of insign ificant sets(LIS))、低位ノードのリスト(list of insignificant nodes( LIN))及び高位ノードのリスト(list of significant nodes(LSN))が存在 する。セットOはノードにつながる全ての子供を表し、セットDはノードにつな がる全ての子孫を表し、セットLはノードにつながる全ての孫及びその子孫を表 す。トップ・レベル・ノードを含むようにするために、リストLIS及びLIN を最初に初期化する。リストLSNを空のリストへ初期化する。サイード及びパ ールマンのゼロツリー・アルゴリズムは、リストを処理することと、ノードをリ スト及びセットの間で前後にシフトすることに大きく依存している。このリスト 処理及びシャフリングの技術は、ソフトウェア内で高速に実行することができる が、ハードウェア上で実行するためにはそれほど適しているわけではない。この 1つの理由としては、この種の実行のためには多くのメモリ及びハードウェアを 使用する点が挙げられる。第2の理由としては、このリスト処理を行うために必 要な複雑なアクセス・パターンが、更に多くのメモリ及び関連するハードウェア を必要とするのみならず、アルゴリズムをハードウェア内で実行すると、このア ルゴリズムが更に遅くなる点が挙げられる。従って、サイード及びパールマンの ゼロッリー・アルゴリズムを使用することは、圧縮デバイスでハードウェア的に 実行するためには特に望ましいわけではない。 例えば、ビデオ・コーデッタをハードウェア内で実行するために、従来技術が ゼロツリーを使用していることは自明なことではない。例えば、CREW技術及 びADV601デバイスは、ゼロ・ツリーを使用していない。第2世代ウェーブ レットと組み合わせた改良型ゼロツリーの使用は、本願の譲受人と同一の譲受人 へ譲渡された1996年2月27日出願のコラロフ他(Kolarov et al.)による ”ウェーブレットに基づくデータ圧縮(Wavelet-Based Data Compression)”と 称される継続中の米国特許出願第08/607,388号に開示されている。3 次元面上で定義されたファンクションの圧縮及び伸長を行う効果的な技術を、こ れは提供している。 従って、適切なサイズであって、かつ非常に低コストで、しかもハードウェア 内で実行可能なビデオ及び画像の圧縮技術が望まれている。更に、ゼロツリー・ エンコーディングが提供する効果を、この種の圧縮技術が備えることが望まれて いる。 発明の概要 本発明の目的を達成するために、高圧縮比を実現し、かつ、適切なサイズのハ ードウェア内に低コストで実行可能なモーション・ウェーブレット変換ゼロ・ツ リー・コーデックを開示する。特に、本発明の実施形態は高速なリアルタイムで のビデオ圧縮に適する。 本発明の1つの態様は、ウェーブレット変換と、このウェーブレット変換によ って形成されたウェーブレット係数をエンコーディングするための新たなツリー ・ウォーク技術とを組み合わせて使用する。これによって、低コスト、高速かつ 高品質に、ビデオ・コーデックを実行することが可能となる。1つの特定の実施 形態では、ハードウェア内で更に安価に実行するために、本発明は2−6ウェー ブレット変換を使用する。別の実施形態では、ウェーブレット変換によって得ら れたウェーブレット係数を、ゼロ・ツリーのアレイ内に表示する。エンコードさ れたピットを出力するために、このゼロ・ツリーのアレイをトラバースする。 本発明はADV601ビデオ・エンコーダ/デコーダ・デバイスより優れてい る。ADV601に使用されているフィルタより短く、かつ、演算の集中度が更 に低いフィルタを使用することによって、性能を改善している。例えば、ADV 601は乗算を必要とする7−9ウェーブレット変換を使用している。しかし、 2−6ウェーブレット変換を使用する本発明の実施形態は、変換を実行するに際 して乗算を全く必要としない。実行するためには、より少数の加算が必要なだけ である。この結果、本発明の方法は、ソフトウェア上で充分に安価に実行するこ とができ、とりわけハードウェア上では更に安価に実行することができる。更に 、本発明の実施形態はゼロツリーを新たな様式でトラバースする。これによって 、エンコードされたビットをツリー・ウォーク中に直接出力でき、複雑で時間の かかるリスト処理及びシャフリングを不要とする。セット及びリスト間における ノード及び係数のシャフリングを使用する従来のゼロ・ツリー・アルゴリズムと は異なり、本発明は形成されたゼロ・ツリーのダイレクト・ツリー・ウォークを 実施する。このことは、ハードウェア上で更に効率的かつ安価に実行できること を意味している。本発明は単一集積回路上での実行に特に適している。 更に、本発明は、様々な画像及びビデオに対して、ピーク信号対雑音比(PS NR)を更に改善する。ADV601のテスト・スイートからの画像と、MPE G4案の評価に使用されたビデオ・シーケンスとを使用した実験では、本発明が PSNR及び知覚の両方の点でADV601より優れていることが明らかになっ た。 本発明の態様はピクセルのフィールドを独立して変換できる。このことにより 、圧縮の複雑性を大きく低減することができるとともに、必要なRAMの量を減 少させることができる。この実施形態の特定の実行においては、フィールド内の エッジ・ポイントを通る条件で二次近似が行われ、この二次近似はフィールド境 界を越えて連続するものとして扱われている。従来技術のようにゼロ値を係数に 単に割り当てるのではなく、特定の数値を、最初のリフトした差及び最後のリフ トした差(W0及びWn−1)に対してそれぞれ提供し、これによって、情報を 連続する複数のパスでフィルタリングするために、改良型2−6双直交フィルタ を使用している。特定の数値をフィールドの境界に位置する複数のリフトした差 値に対してそれぞれ割り当てることにより、各フィールドの独立した処理が可能 になるとともに、画像を伸長した際に通常発生するモザイク模様を減少すること ができる。 本発明はコンピュータ・モニタ、テレビジョン、カメラ及びハンドヘルド デ バイスなどで使用する画像などの様々な画像に効果的であり、かつ、NTSCビ デオ、PALテレビジョン及びSECAMテレビジョンなどの様々な規格に適用 できる。 図面の簡単な説明 本発明及びその効果は添付図面に基づく以下の説明から最もよく理解できる。 図1はピクセル、走査線、ストライプ及びブロックを使用する従来の画像表示 方式を示す図である。 図2は本発明の1つの実施形態に基づくビデオ画像を圧縮するシステムを示す 図である。 図3は第1パスを画像のフィールド上で実施する手順を示すフローチャートで ある。 図4A〜図4Dはゼロツリーのアレイのうちの1つのゼロツリーにおけるウェ ーブレット係数のエンコーディング及び出力に効果的な実施形態の手順を示すフ ローチャートである。 図5はナビゲーション・ビットを出力し、そして、値を返す手順を示すフロー チャートである。 図6は多くのサブバンド内に位置するウェーブレット係数の変換ピラミッドを 示す図である。 図7は1つの特定の実施形態に基づく改良型2−6双直交フィルタの第1ステ ージを示す図である。 図8は改良型2−6双直交フィルタのコンビネーション・ユニットのための係 数テーブルを示す図である。 図9はウェーブレット係数のための変換ピラミッドの図であり、様々なサブバ ンドからのウェーブレット係数を任意の数のゼロ・ツリー内に体系化する方法を 示している。 図10は変換ピラミッド内のウェーブレット係数から形成されたゼロ・ツリー を示す図である。 図11はゼロ・ツリー内の任意のノードに関連する値を示す図である。 図12は本発明の実施形態の実現に適した一般的なコンピュータ・システムの ブロック図である。 発明の詳細な説明 本発明の複数の実施形態は、単独で実行するにも、また様々な形で組み合わせ 実行するにも適している。例えば、本発明はC++言語または任意の他の適切な コンピュータ言語で書かれたソフトウェアで実行するのに適している。他のソフ トウェア上で実行することが可能であるが、以下の説明は最終的にはハードウェ ア上で実行することができるように最適化されている。 標準的な集積回路と、ASICなどのカスタム集積回路と、FPGA、PAL またはPLAなどのプログラム可能論理回路とのうちのいずれか1つのハードウ ェア内において、本発明を実行することができる。本発明の1つの特定の実行に おいては、VHDLコードを形成するために、Xylinx FPGA上で実行 する。次いで、ビデオ・カメラなどの製品内への配置に効果的なカスタム集積回 路を形成するために、このVHDLコード(より具体的には、マクロ)を他のV HDLコードと結合できる。カスタム集積回路上でこのように実行すれば、シリ コンの比較的狭い領域上で高い圧縮が可能になる。本発明を他の様々なハードウ ェア記述言語で実現できることを認識する必要がある。 本発明はコンポジット・ビデオ信号と、Sビデオ信号などの他の複合信号とに 適用可能であり、かつ、コンポーネント・ビデオ信号などの信号を分離するため にも適用できる。また、“ビデオ”という用語を頻繁に使用するが、本発明は静 止画像及びビデオ画像の両方へ適用可能であって、かつ、更に高い次元の情報の ストリームへも適用可能なことを理解する必要がある。本明細書で使用する“ビ デオ”という用語は、従来のビデオ情報へ適用されるのみならず、これらの他の 種類の画像及び情報へも適用される。 図1はピクセル、走査線、ストライプ及びブロックを使用する従来の画像表示 方式を示す。フレーム12はビデオ・カメラ、テレビジョン及びコンピュータ・ モニタなどの様々なソースのうちの任意の1つから形成された静止画像を表す。 プログレッシブ・スキャンを使用するイメージング・システムでは、各画像12 はフレームである。インターレース・スキャンを使用するシステムでは、各画像 12は情報のフィールドを表す。使用するスキャンニングの種類に基づいて、画 像12は静止画像の他の種類の画像単位を表し得る。フレーム12内の情報は任 意の数のピクセル14によって表し得る。各ピクセルはディジタル化された情報 を表す。更に、各ピクセルは任意の数のビットで表し得るが、多くの場合、各ピ クセルは8ビットで表される。 各走査線16は任意の数のピクセル14を有する。これによって、各走査線1 6は情報の水平線をフレーム12内に表示する。一般的に、情報のブロック20 は1ストライプの高さと、特定の数のピクセルからなる幅とを有する。例えば、 使用する規格の種類に基づいて、ブロックは8x8ピクセル、8x32ピクセル または任意の他のサイズであり得る。この場合、画像は複数のブロックへ分割さ れる。そして、アプリケーションの種類に基づいて、これらのブロックは転送、 圧縮、処理または他の操作が可能である。フレーム、フィールド、ストライプ及 び/または他の画像単位も同様に転送、圧縮及び処理が可能である。NTSCビ デオ(インターレース・スキャンを使用するテレビジョン規格)では、例えば、 情報のフィールドは60分の1秒毎に表示され、フレーム(2つのフィールドを 含む)は30分の1秒毎に表示され、情報のフレームの連続表示によって映像が 形成される。プログレッシブ・スキャンを使用するコンピュータ・モニタの場合 、ユーザーによるディスプレイ・シーンの形成を実現するために、情報のフレー ムを30分の1秒毎にスクリーン上でリフレッシュする。 ハイレベル・ブロック図 更に効率的なエンコーディングを実現するために、不必要な係数のサブツリー の廃棄を可能にするという効果を、ゼロツリー内におけるウェーブレット係数の 表示は提供する。更に、ウェーブレット係数のゼロ・ツリーをエンコーディング する現在の技術は、リスト処理(前記のサイード及びパールマンのアルゴリズム など)に大きく依存しており、ハードウェア上で実行するには不適切である。そ して、ゼロツリー内に表示されているウェーブレット係数のエンコーディングは 、その場でのゼロ・ツリーのツリー・ウォーキングと、このツリー・ウォーキン グの発生時に行われるウェーブレット係数のビットのエンコーディング及び出力 とによって実現できる。この場合、リスト及びセットは廃棄されており、これら に付随して発生するリスト処理と、前後へのノードのシャフリングとは不要にな る。換言するならば、ウェーブレット係数をゼロ・ツリー内に表示した後、ウェ ーブレット係数を各ノードでエンコードする新たな技術を使用することによって 、このゼロ・ツリーのツリー・ウォーキングが可能になる。効率的なアルゴリズ ムのために、ゼロ・ツリーのツリー・ウォーキングを行う間、ビットが出力され る。リスト処理を使用していないため、ハードウェア上で実行することは更に簡 単であり、かつ、更に低いコストで実現できる。本発明はハードウェア上で更に 簡単に実行できる簡単な比較(乗算とは対照的)及びシフティングなどを使用し ている。このため、単一集積回路上でハードウェア的に実行することが可能であ る。必要とされるスペースは更に少なくなり、演算は更に高速となる。これはサ イード及びパールマンのゼロツリー・アルゴリズムとは対照的である。サイード 及びパールマンのゼロツリー・アルゴリズはリスト・シャフリングと、多数のス タックの維持とを必要とし、これらは更に大きく、かつ、更に複雑なハードウェ アを要する。 図2は本発明の1つの実施形熊に基づくビデオ画像を圧縮するシステム100 を示す。システム100の各パスのオペレーションの詳細は以下の図3、図4A 〜図4D及び図5のフローチャートにおいて説明する。以下の説明はビデオ画像 の圧縮を例として使用する。しかし、本発明は情報を含む様々な画像の圧縮に適 しており、ビデオ画像に限定されないことを理解する必要がある。更に、説明を 簡単にするために、各画像、即ち、フレームが2つのフィールドを含むインター レース・スキャンで表示された画像の圧縮を、図2及び以下の図は示す。しかし 、本発明をプログレッシブ・スキャン(フィールドはフレームである)または他 の規格(これらの規格では、多数のフィールドによってフレームを表示し得る) へ同様に適用し得ることを、当業者は理解できる。更に、以下の説明はピクセル 、走査線、ストライプ及びブロックの操作を開示する。また、情報の階層を表示 する他の任意の表示方式を、本発明の範囲から逸脱することなく使用できること を理解する必要がある。 システム100は本発明を用いて圧縮する男性102の画像を示している。画 像102は白黒またはカラーであり得る。更に、システム100は画像102を アナログ信号またはディジタル信号として受信し得る。画像102はアナログ信 号として受信され、かつ、ディジタル化され、次いで、情報のピクセルによって 表示されることが好ましい。 例として、画像102をカラー画像とする(但し、画像102は簡単な白黒画 像であってもよい)。従って、画像102のフィールド内のピクセルは白黒輝度 値、第1クロミナンス値及び第2クロミナンス値を有する。この結果、画像10 2の各フィールドはピクセル値のルミナンス・ストリーム110、ピクセル値の 第1クロミナンス・ストリーム112及びピクセル値の第2クロミナンス・スト リーム114を招来する。圧縮されたデータのストリーム123として出力され る前に、ルミナンス・ストリーム110は第1パス・バッファ120内で1フィ ールドずつ処理され、次いで、第2パス・バッファ122内で1フィールドずつ 処理される。同様に、圧縮されたデータのストリーム127として出力される前 に、クロミナンス・ストリーム112は第1パス・バッファ124内で1フィー ルドずつ処理され、次いで、第2パス・バッファ126内で1フィールドずつ処 理される。更に、圧縮されたデータのストリーム131として出力される前に、 クロミナンス・ストリーム114は第1パス・バッファ128内で1フィールド ずつ処理され、次いで、第2パス・バッファ130内で1フィールドずつ処理さ れる。各ストリームの第1パスはデータを変換し、かつ、量子化する。そして、 第2パスは第1パスにおける変換によって形成されたウェーブレット係数をエン コードする。これらの第1パス及び第2パスの実施方法の例を示す手順を以下に 詳述する。 ストリーム110,112,114は1フィールドずつ処理する必要はなく、 フレーム単位、ブロック単位、ストライプ単位または他の情報単位毎に処理でき ることを理解する必要がある。任意の適切なデータ・ストラクチャまたはハード ウェア・インプリメンテーションを使用することにより、第1パス・バッファ1 20,124,128をソフトウェアまたはハードウェア内にインプリメントで きる。同様に、第2パス・バッファ122,126,130を任意の様式でイン プリメントできる。例示の目的で、ルミナンス・ストリーム110の処理のみを 以下に詳述する。クロミナンス・ストリーム112,114を、これと同様に処 理できることを、当業者は理解できる。 第1パス 図3は第1パスを画像のフィールドに対して実施する手順200を示すフロー チャートである。手順200を図6〜図11に基づいて詳述する。ステップ20 2では、ウェーブレット係数のピラミッドを形成するために、ウェーブレット変 換をフィールドへ適用する。ステップ202は任意の適切なピラミッド・ウェー ブレット変換を使用して実行できる。例えば、本発明の1つの特定の実施形態で は、図6に示すマラー・ピラミッド(Mallat pyramid)600は240x640 ピクセルのサイズを有するフィールドのために形成されている。マラー・ピラミ ッドは当該技術分野で知られており、当業者はマラー・ピラミッドの構造を理解 できる。ピラミッド600は、図6に1〜14の番号で示す14個のサブバンド に含まれるウェーブレット係数のピラミッドである。 この例では、ローパス変換及びハイパス変換(即ち、H、L)を実現するため に、垂直フィルタ及び水平フィルタのシーケンスを使用している。入力係数と同 じ数の出力係数を形成するために、これらのローパス変換及びハイパス変換をそ れぞれ2倍ダウンサンプリングする。2次元の場合、水平フィルタ及び垂直フィ ルタをそれぞれ1回適用することにより、4つのバンド(即ち、HH、HL、L H及びLL)が形成される。各バンドは4分の1サイズである。このプロセスを LL象限でのみ反復することによって、マラー・ピラミッドが形成される。 ウェーブレット係数のピラミッドは様々なフィルタのシーケンスを使用して形 成できる。しかし、水平方向における5回のフィルタ・アプリケーションと、垂 直方向における4回のフィルタ・アプリケーションとによって、マラー・ピラミ ッド600を形成することが好ましい。図6に示すように、240x640フィ ールドの場合、これによって、14個のウェーブレット・サブバンドが形成され る。ピラミッドの行は一番上の行から一番下の行までインデックス付けされてお り(iによって)、一番上の行はゼロのインデックスを有する。同様に、ピラミ ッドの列は左端の列から右端の列までインデックス付けされており(jによって )、左端の列はゼロのインデックスを有する。 一般的に、フィルタは係数2つ分よりは長い。このため、画像の境界付近にお ける変換値を計算するには、実際の画像自体の外側に位置する画像値が通常、必 要となる。ピラミッドの更に高いレベルへ向かうに従って、これらの画像値は画 像自体から指数関数的に更に遠ざかる。係数2つ分より長いフィルタを用いると 、画像の内側であっても振り返り処理(Looking ahead)が必要となる。それも 、ピラミッド・レベルが高くなるに従って指数関数的に大きくなる距離の振り返 り処理が必要となる。 様々なフィルタを本発明で使用できる。しかし、1つの特定の実施形熊では、 フィールド内から得られた画像値を使用するために、本発明は2−6双直交ウェ ーブレット変換の改良バージョンを使用する。2−6双直交変換は画像に非常に 効果的である。更に、2−6双直交変換は、非常に短いフィルタと、小さい分子 を備えたダイアディック有理数である係数と、効果的な2段階ファクタリング( 即ち、リフティング)とを含む。都合のよいことに、実際の画像自体の外側に位 置する画像値を必要としない2−6双直交ウェーブレット変換の改良バージョン を使用している。この改良型フィルタの実施例を図7及び図8に基づいて以下に 詳述する。これらの改良型フィルタの使用の説明は、本願の譲受人と同一の譲受 人へ譲渡された継続中の米国特許出願第09/079,101号、第09/07 9,104号、第09/079,049号及び第09/079,427号(これ らの米国特許出願の米国代理人ドケット・ナンバはそれぞれINT1P017、 INT1P022、INT1P023及びINT1P024である)に開示され ており、これらの米国特許出願の内容はこの開示をもって本明細書中に開示した ものとする。 任意の適切なピラミッド・ウェーブレット変換を使用して、ウェーブレット係 数のピラミッドを形成した後、ウェーブレット係数をステップ204で量子化す る。ウェーブレット係数の量子化は、任意の適切な技術を使用して実施してもよ く、あるいは全く実施しなくてもよい。本発明の好ましい実施形態では、量子化 はウェーブレット係数を2のべき乗で割ることによって実施される(即ち、各ウ ェーブレット係数を右へシフトすることによって実施される)。L2−ノルムを 最小限に抑制するために、2倍細かい尺度をそれぞれ実現すべく、変換係数を2 で割る必要がある。L1−ノルムを最小限に抑制するために、2倍の尺度をそれ ぞれ実現すべく、変換係数を4で割る必要がある。 ステップ206では、図9及び図10に示すように、ウェーブレット係数のピ ラミッド600を多数のゼロ・ツリー内に体系化する。任意の適切な技術を使用 することにより、ピラミッド600を1つまたは任意の数のゼロ・ツリー内に表 示、体系化または変換できる。例えば、図9及び図10はピラミッド600をゼ ロ・ツリーのアレイ内に体系化する方法の1例を示す。図9はウェーブレット係 数ピラミッド600を示す図であり、複数の異なるサブバンドからのウェーブレ ット係数を任意の数のゼロ・ツリー内に体系化する方法を示す。図10はピラミ ッド600内のウェーブレット係数から形成されたゼロ・ツリー820を示す。 例として、1つの特定のゼロ・ツリーを詳述する。しかし、サブバンド1内に ルート、即ち、根を有する任意の数のゼロ・ツリーを形成できることは明らかで ある。本実施形態では、各ゼロ・ツリーのルートはサブバンド1内に存在し、か つ、右側へ枝分かれしている。ピラミッド600からのウェーブレット係数は、 ゼロ・ツリーの各ノードに関連づけられている。各ゼロ・ツリーを形成する方法 は以下のアルゴリズムを使用する。サブバンド12,13,14内の係数(ピラ ミッド600の右側及び下側エッジにそれぞれ位置する)は子供を有していない 。バンド2〜11内の係数u(i,j)は4つの子供、即ち、u(2i,2j) ,u(2i,2j+1),u(2i+1,2j),u(2i+1,2j+1)を 有する。バンド1内の係数u(i,j)は3つの子供、即ち、u(i+15,j ),u(i,j+20),u(i+15,j+20)を有する。バンド1内の係 数の3つの子供の15のオフセット及び20のオフセットは、特に240x64 0のサイズを有するフィールドのオフセットであり、他の任意の適切なオフセッ トをこれとは異なるサイズを有するフィールド及び/またはブロックに使用でき る。 従って、サブバンド1内の任意のウェーブレット係数802は、3つの子供を 3つのサブバンド2,3,4内に有する。図示するように、これら3つの子供は 4つの子供を対応する3つのサブバンド5,6,7内にそれぞれ有する。より具 体的には、ウェーブレット係数802は3つの子供、即ち、係数804、係数8 06及び係数808を有する。係数804は4つの子供、即ち、係数810、係 数812、係数814及び係数816をサブバンド5内に有する。係数806及 び係数808は前記のアルゴリズムによって決定した4つのウェーブレット係数 子供をサブバンド6及びサブバンド7内にそれぞれ有する(図示略)。そして、 各係数810〜816は4つの子供をサブバンド8内に有し、以下同様に続く。 図10はピラミッド600から形成されたゼロ・ツリー820の詳細を示す。 分かりやすくするために、係数806及び係数808から枝分かれするサブツリ ーと、係数810〜816から枝分かれするサブツリーとは図示していない。従 って、サブバンド1内にルートをそれぞれ有するゼロ・ツリーのアレイをピラミ ッド600から体系化できる。 ステップ208は各ゼロ・ツリー内の各ノードに関する3つの高位値を計算す る。図11はゼロ・ツリー内の任意のノードに関するこれらの値を示している。 前記のように、ウェーブレット係数852は各ノードに関連している。各ノード の高位値854は、該ノードに関連するウェーブレット係数852内の高位ビッ トの数量を示す数である。例えば、8ビット・ウェーブレット係数が2つの先行 ゼロを有する場合、この係数は6つの高位ビットを有し、高位値854は6の値 を有する。親ノードの子孫の高位値856は、該親ノードの全ての子孫の最も高 い高位値854を表す。例えば、親ノードの複数ある子孫ノードのうちの1つの 最も高い高位値854が7の値を有することが確定した場合、7の値が該親ノー ドの子孫の高位値856へ割り当てられる。同様に、ノードの孫の高位値858 は、該ノードの全ての孫及びその下に位置する全ての子孫の最も高い高位値85 4を表す。換言するならば、高位値854は任意のノードの全ての孫及びその下 に位置する子孫(この任意のノードの子供を除く)に対して計算され、発見され た最も高い値は、前記の任意のノードの孫の高位値858へ割り当てられる。こ の定義を使用することによって、リーフ・ノードは高位値854のみを有し、こ れらのリーフから1レベル上のノードは高位値854及び高位値856のみを有 し、このレベルより高いレベルの全てのノードは前記の3つの全ての高位値を有 する。 ゼロ・ツリー内のノードに関連するこれら3つの高位値854,856,85 8の計算を、様々な方法で実施できることを理解する必要がある。好ましい実施 形態では、ステップ208は各ツリーを下端から上端まで進み、該当する各ノー ドの3つの値を一度に計算していく。これにより、これらの値は効率的に計算さ れ、ゼロ・ツリーのルートに達した時点には、ツリー内の全ノードの3つの高位 値が全て計算される。この計算はゼロ・ツリーのアレイに属する各ゼロ・ツリー に対して実施される。 第2パス 図4A〜図4Dは、ゼロ・ツリーのアレイのうちの1つのゼロ・ツリーに含ま れるウェーブレット係数をエンコーディングし、かつ、出力するために効果的な 本発明の実施形態に基づく手順500を示すフローチャートである。各ツリーの ウェーブレット係数をエンコードするために、手順400が各ツリーに対して同 様に実行されていることを理解する必要がある。ツリーのアレイは任意の適切な 順番でエンコード可能である。そして、デコーディングを促進するために、この 順番はデコーダにとってもアプリオリであることが好ましい。 ブロッタ502は手順500で使用する変数の簡単な説明を提供する。変数A はカレント・ノードを表す。そして、特定の実行においては、変数Aはカレント ・ノードのアドレスを表す。変数SIG(A)はノードAに関連するウェーブレッ ト係数内の高位ビットの数量を表す。換言するならば、変数SIG(A)はノード Aの最も高位の高いビットのビット・プレーン・ナンバを表す。ノードAの子供 の高位子孫が存在する場合にのみ、変数L flagは真になる。変数D.SIG(A)は ノードAの子孫の高位値を表し、変数L.SIG(A)はノードAの孫及びその下に 位置する子孫の高位値を表す。 ブロック504はツリー内のウェーブレット係数の各ビット・プレーンを1ビ ット・プレーンずつ処理していくルーピング・コンストラクトである。最も高位 のビット・プレーンを最初に処理し、最も低位のビット・プレーンを最後に処理 することが好ましい。例えば、8ビットを有するウェーブレット係数の場合、ビ ット・プレーン7を最初に処理し、ビット・プレーン0を最後に処理する。ツリ ー全体の最後のビット・プレーンを処理した後、手順500は完了する。 ステップ506は変数カレント・ノードをツリーのルートにセットする初期化 ステップである。ステップ508は、L flagスタッタを最初にクリアし、次いで 、L flag変数を真に初期化する別の初期化ステップである。L flagスタックは、 変数L flagの値を格納するスタック・データ・ストラクチャであり、かつ、ツリ ー・ウォークのガイドを補助すべく使用される。ノードが高位であることが確定 した際に、これを指摘することによって、L flagスタックはツリー・ウォークを ガイドする。ノードが高位であることが確定した後、この情報をL flagスタック に格納し、そして後からリトリーブできる。都合の良いことに、ノードを訪れる 度、ノードの高位を計算する必要はなく、L flagスタックがこの情報を格納して いる。 ステップ510はルーピング・コンストラクトである。ツリー・ウォークがル ートへ戻るまでの間、ルーピング・コンストラタトは、以下の複数のステップを ツリー内の訪れた各ノードに対して繰り返し実行すべく動作する。都合のよいこ とに、ツリー内の各ノードを訪れることは不必要となり得る。以下に詳述するよ うにツリーの一部を切り取ることがあるため、以下の複数のステップは実際に訪 れたノードに対してのみ実施される。このサブツリーの切り取りは、手順500 を実施するために必要な時間を大幅に削減し、かつ、更に高い圧縮比を実現する 。ツリー・ウォータがコネクタEを通じてループ510のトップへ戻った際、ツ リー・ウォークがこの時点までにルート・ノードへ戻っているか否かを決定する 。ツリー・ウォークがルート・ノードへ戻っている場合、これはそのビット・プ レーンに関連するノードの処理が完了していることを示している。そして、次の ビット・プレーンに関連するツリー内のノードを処理するために、コントロール はコンストラクト504へ戻る。しかし、カレント・ノードがルートでない場合 、コネクタBで示すように、ループをカレント・ノードから再び開始する。 ステップ512はカレント・ノードの高位値がカレント・ビット・プレーン・ ナンバ以下であるか否かを決定する。カレント・ノードの高位値がカレント・ビ ット・プレーン・ナンバ以下でない場合、カレント・ビット・プレーン・ポジシ ョンに存在するビットが高位であり、かつ、出力する必要があることを、これは 示している。従って、ステップ522では、カレント・ビット・プレーンに関連 するこの高位のウェーブレット係数のビットを出力する。しかし、高位値がビッ ト・プレーン・ナンバより大きくない場合、この高位値がカレント・ビット・プ レーン・ナンバに等しいか否かを、ステップ514は決定する。この高位値がカ レント・ビット・プレーン・ナンバに等しい場合、これは第1高位ビット(これ は符号ビットであり得る)に遭遇していることを示しており、ステップ518で は、“1”の高位ビットを出力する。ステップ520では、このウェーブレット 係数の符号ビットを出力する。ウェーブレット係数が正である場合、“1”を出 力し、ウェーブレット係数が負である場合、“0”を出力する。次いで、ステッ プ522では、前記のように、カレント・ビット・プレーンに関連するウェーブ レット係数のビットを出力する。カレント・ノードの高位値がカレント・ビット ・プレーン・ナンバより小さい場合、そのポジションにおけるビットが高位でな いことを、これは示している。そして、ステップ516において、“0”の高位 ビットを出力するが、ウェーブレット係数からのビットは出力しない。 ステップ516またはステップ522を終えた後、コントロールはコネクタC を通じてステップ524へ移動する。カレント・ノードの子供が高位の子孫を有 しているか否かを、ステップ524は決定する。カレント・ノードの子供が高位 の子孫を有していない場合、このビット・プレーンのその子供より下のサブツリ ーを“切り取り”、かつ、無視し得ることを、これは意味している。そして、コ ントロールはコネクタDを通じてステップ548へ移動する。カレント・ノード の子供が高位の子孫を有する場合、これはゼロ・ツリーのブランチを探索するこ とを示している。そして、ステップ526では、D flagを仮にセットする。カレ ント・ノードが高位子供を有するか否かが現時点において不明であることを、こ れは示している。 次いで、カレント・ノードが実際に子供を有するか否かを、ステップ528は テストする。カレント・ノードが実際に子供を有する場合、ステップ530にお いて、引き数D.SIG(A)及びカレント・ビット・プレーン・ナンバを使用して 、ナビゲーション・ビットを出力する。ナビゲーション・ビットの出力は以下の 図5において詳述する。ナビゲーション・ビット出力手順からのリターン値は変 数D flagへ割り当てる。 カレント・ノードが子供を有していないことがステップ528によって決定さ れた場合、カレント・ノードが高位の子供を有するか否かを、ステップ532は 決定する。カレント・ノードが高位の子供を有していない場合、これは複数ある 孫ノードのうちの1つが高位であることを示し、コントロールはコネクタDを通 じてステップ548へ移動する。しかし、カレント・ノードが高位の子供を有し ている場合、これはその子供ノードを探索すべきことを意味している。ステップ 534に示すように、ツリー・ウォークはカレント・ノードの第1の子供へ移動 する。ステップ536はL flagの値をL flagスタック上へプッシュし、ステップ 538はL flagを0にセットする。 ステップ540はカレント・ノードが孫を有するか否かをテストする(このテ ストは子孫ノードのいずれかが高位であり得ることに起因して実施される)。カ レント・ノードが孫を有する場合、ステップ542において、引き数L.SIG(A )及びカレント・ビット・プレーン・ナンバを使用して、ナビゲーション・ビッ トを出力する。ナビゲーション・ビット出力手順は以下の図5において詳述する 。この手順からのリターン値を変数L flagへ割り当てる。カレント・ノードが孫 を有していない場合、ステップ544において、ツリー・ウォークはカレント・ ノードの第1の子供へ移動する。ステップ546に示すように、カレント・ノー ドの第1の子供へのツリー・ウォークにより、ツリーのアーム(即ち、レベル) 上でのウォーク・ダウンは終了する。そして、ルーピングを継続するか否かを決 定するために、コントロールはコネクタEを通じてルーピング・コンストラクト 510へ戻る。 カレント・ノードが子供ノードのグループ内における最後の子供であるか否か を、ステップ548はテストする。換言するならば、親ノードの全ての子供を探 索し、その結果、兄弟が他に存在していないか否かを、ステップ548はテスト する。兄弟が他に存在しない場合、ステップ550において、カレント・ノード の親までウォーク・アップすることによって、ツリー・ウォークを継続する。ス テップ552はカレント・ノードがルートであるか否かを決定する。カレント・ ノードがルートである場合、ステップ554はループ上でのこのウォーク・アッ プが完了したことを示す。そして、ループを完了するために、コントロールはコ ネクタEを通じてコンストラクト510へ戻る。カレント・ノードがルートでな い場合、ステップ556はトップの値をL flagスタックから弾き出し、かつ、変 数L flagへ割り当てる。 ステップ548へ戻り、カレント・ノードが最後の子供でない場合、ステップ 558はカレント・ノードがルートであるか否かを決定する。カレント・ノード がルートである場合、これが次の兄弟アームへのウォークの完了であることを、 ステップ560は示す。そして、コントロールはコネクタEを通じてコンストラ クト510へ戻る。しかし、カレント・ノードがルートでないことを、ステップ 558が決定した場合、ステップ562において、カレント・ノードの次の兄弟 までウォークすることによって、ツリー・ウォークを継続する。このステップの 後、ブロック564は、このビット・プレーンのウォークが完了することと、ア ームを横切るウォークを継続することのうちのいずれか一方を示す。次いで、コ ントロールはコネクタEを通じてコンストラクト510へ戻る。 図5はナビゲーション・ビットを出力し、かつ、値を返す手順570を示すフ ローチャートである。手順570は2つの引き数、即ち、D.SIG(A)またはL.S IG(A)である引き数Xと、カレント・ビット・プレーン・ナンバである値Nと をアクセプトする。値Xが値N以下であるか否かを、ステップ572は決定する 。値Xが値N以下でない場合、ビットは出力されず、ステップ574において、 “1”の値を返す。値Xが値N以下である場合、Xの値がNの値に等しいか否か を、ステップ576は決定する。Xの値がNの値に等しい場合、ステップ578 はナビゲーション・ビット“1”を出力し、ステップ574において、“1”の 値を返す。Xの値がNの値より小さい場合、ステップ580において、ナビゲー ション・ビット“0”を出力し、ステップ582において、“0”の値を返す。 圧縮された画像の伸長 オリジナル画像102を形成するために、前記のエンコーディング・アルゴリ ズムによって形成された出力ビット・ストリームを伸長する処理は、当業者が理 解するように、前記の手順を逆にたどることによって実施できる。一般的に(但 し、量子化の場合を除く)、図3、図4A〜図4D及び図5に示す前記の複数の ステップは可逆ステップである。例えば、図4A〜図4Dのツリー・ウォークの 手順では、ビットが出力されるのに対して、デコード操作の手順では、ビットが 入力される。この点を除けば、図4A〜図4Dのツリー・ウォークの手順はデコ ード操作の手順と同じである。ウェーブレット係数はビット・プレーン毎に積み 重ねられる。また、最も高位のビット・プレーンを最初に処理し、そして、次に 高位のビット・プレーンを処理するといった具合に、ビット・プレーンを処理し ていくので、ノードの高位値はビットの入力時には既知の状態にある。更に、変 更点をこの伸長操作に導入可能である。例えば、量子化を補償するために、余分 なゼロまたはランダム・ノイズを導入し得る。 改良型2−6双直交フィルタ 前記のように、ウェーブレット係数のピラミッドを形成すべく情報のフィール ドを変換するために、様々なフィルタのうちの任意のフィルタを使用できる。2 −6双直交フィルタは、望ましい画像処理機能を有する。このため、2−6双直 交フィルタのシーケンスを使用することが好ましい。画像値のみを使用するため に、改良型2−6双直交フィルタのシーケンスを使用することが更に望ましい。 係数2つ分より長い他の種類のフィルタを使用しても、画像の境界付近の変換値 を計算するために、実際の画像自体の外側に位置する画像値が必要となる。必要 となるRAM容量が増加するので、実際の画像の外側に位置する画像値を使用す ることは望ましくない。画像の振り返り処理(Look ahead)は、水平方向にはそ れほど困難ではない。しかし、垂直方向では、8x(k/2−1)走査線(kは フィルタ長)の振り返り処理(Look aheda)することが必要となり場合がある。 そうなると、RAM容量の深刻な問題が生じる。実際の画像の外側に位置する画 像値を変換の一部に使用する場合、ハードウェア上での実行は更に困難である。 標準的な2−6双直交フィルタは当該技術分野において周知である。変更を加え た和演算及び差演算を実施する改良型2−6双直交フィルタを、図7及び図8に 基づいて以下に詳述する。 標準的な2−6双直交フィルタは、ハール(Haar)変換とみなし得る。ハール 変換では、ピクセルのペア間の和演算及び差演算を実施し、次いで、リフティ ング・ステップを実施する。リフティング・ステップでは、それぞれの差値と対 応する和値との線形結合することによって差値を変更する。画像(即ち、フィー ルドなど)の独立した処理を可能にすべく、各画像の最初のリフトした差値及び 最後のリフトした差値に対する固有の一次結合を行う改良型2−6双直交フィル タを、本発明では効果的に使用する。以下の図は情報のフィールドの処理を示す 。但し、フレーム、ブロック及びストライプなどの他の単位をこれと同様に処理 することができる。 図7は1つの特定の実施形態に基づく改良型2−6双直交フィルタの第1ステ ージ700を示す。第2ステージをこれと同様に実行することが好ましい。フィ ルタ700はピクセル値Xkのストリームを、和ユニット702及び差ユニット 704へ供給された画像102のフィールドから受け取る。コンビネーション・ ユニット706は異なる複数の和値を複数の特定の係数とそれぞれ結合し、かつ 、この結果を和ユニット708内の各差diへ加える。フィルタ700からの出 力は和Siのストリームと、リフトした差Wiのストリームとになる。 一般的に、リフトした差値を数式wi=di−si-1/8+si+1/8を用いて形 成するために、標準的な2−6双直交フィルタはそれぞれの差値を調整する。従 って、それぞれの差値は直前の和値の1/8を差し引かれ、そして、次の和値の 1/8を加えられる。標準的な2−6双直交フィルタでは、調整された差値に対 応する実際の和値は、該差値を調整するために使用されていない。改良型2−6 双直交フィルタは和値のユニット706から固有の結合を効果的に構成するので 、フィールドの外側に位置する値を用いることなく各差値を調整することができ る。 図8は1つの特定の実施形態に基づく改良型フィルタ700のコンビネーショ ン・ユニット706の係数を示す。フィールドの独立した処理を可能とするため に、改良型フィルタは和値のための固有の係数を使用する。この固有の係数は、 調整を行う差値に対応する和値のためのゼロでない係数を含む。より具体的には 、これらの固有の係数はフィールドの最初のリフトした差値及び最後のリフトし た差値(W0及びWn-1)に使用される。図8はコンビネーション・ユニット7 06を実行するために使用する係数テーブル709を示す。テーブル709は和 値の列710と、リフトした差値の行712とを有する。テーブル709の各セ ルは、リフトした差値を計算する際に、対応する和値に使用する係数を示してい る。行722及び行732は標準的な2−6双直交フィルタにおける従来の係数 を表している。例えば、リフトした差はw1=d1−s0/8+s2/8などとなる 。 行720及び行734に示すように、テーブル709は最初のリフトした差値 及び最後のリフトした差値の計算のためのユニークな係数値を効果的に提供する 。この特定の実施形態では、最初の係数は−3/8、1/2及び−1/8である 。従って、最初のリフトした差値はw0=d0−3s0/8+s1/2−s2/8に なる。最後の係数は1/8、−1/2及び3/8である。従って、最後のリフト した差値はwn-1=dn-1+sn-3/8−sn-2/2+3sn-1/8になる。フィル タ700の最初のリフトした差値及び最後のリフトした差値として、これらの固 有の係数値を使用しているので、ゼロ次モーメント、1次モーメント及び2次モ ーメントが除かれて、各フィールドを独立して処理することが可能になる。 好ましい実施形態 1つの実施形態では、本発明はソフトウェア内で実行される。そして、このソ フトウェアは3つの基本コンポーネントから構成されている。即ち、入出力コン ポーネントと、ウェーブレット変換及びスケーリングコンポーネントと、ゼロツ リー・エンコーディング及びデコーディングコンポーネントである。勿論、適切 なハードウェアがあれば、これらのコンポーネントを使用して、本発明をハード ウェア上で実行することができる。これらのコンポーネントを以下にそれぞれ詳 述する。 圧縮操作の場合、コーデックはビット深さが24ビットのビット・マップ画像 を要求する。圧縮のために、これらの画像はそのRGB色空間から別の色空間( 現在は、Y、Cr、Cb)へ変換される。現時点では、この色空間のクロミナン ス・コンポーネントをハーフサンプリングする。即ち、走査線内の互いに隣接す るY値、即ち、輝度値の各ペアに対して、1つのCr値及び1つのCb値が存在 するようなサンプリングである。画像のサイズに基づいて、コーデックはインタ ーレース・スキャンまたはプログレッシブ・スキャンを行うことができる。前記 の640x480画像などの最も大きい画像フォーマットの場合、インターレー スが適用され、圧縮は各フィールドに対して独立して実施される。 伸長操作の場合、バッファ部材内に格納された圧縮された画像を有するデータ ・ストラクチャを、コーデックは要求する。圧縮されたデータはデコードされ、 かつ、画像の3つの色空間コンポーネントを含むバッファ内へ逆ウェーブレット 変換される。次いで、このバッファ内のデータはハーフサンプリングされたクロ ミナンスを有する色空間からRGB色空間へ変換によって戻される。この結果、 24ビットのビットマップ画像が伸長操作する間に形成される。 ウェーブレット変換及びスケーリングは一緒に実施される。640x480画 像を構成する2つの640x240フィールドのそれぞれに対して、ウェーブレ ット変換を水平方向に5回及び垂直方向に4回それぞれ適用する。各水平−垂直 変換ペアに続いて、データをスケーリングする。現在のところ、L2−ノルムに 適したスケーリングを適用する。即ち、データを2で割る。伸長オペレーション の間、逆プロセスを適用し、値は2倍に膨れあがり、逆ウェーブレット変換を正 ウェーブレット変換とは逆の順序で適用する。これは可逆プロセスを実現する。 ゼロツリー・エンコーディング及びゼロツリー・デコーディングは、前記のツ リー・ウォークを使用して実施する。一般的に、圧縮する各フレームでは、エン コードするゼロ・ツリーの総数はサブバンド1内のウェーブレット係数の数量に 等しい(640x480画像の場合、この数量は300個である)。ゼロツリー ・エンコーディング及びゼロツリー・デコーディングにおけるループは、色空間 コンポーネント、サブバンド1ルート係数及びビット・プレーンの順で重ねられ る。所望のビット・レートを超えないように、十分なビット・プレーンを出力す る。エンコードの間、エンコードするツリー内の各係数の高位値、子供の高位値 及び孫の高位値を最初に計算する。次いで、各ビット・プレーンのッリー・ウォ ークをガイドするために、これらの高位値を使用する。このツリー・ウォーク中 、ナビゲーション・ビット、先行ゼロ、符号ビット、後続ビット値及び後続ゼロ が形成される。ビット・レートがターゲット・ビット・レートを越えずにターゲ ット・ビット・レートに最も近い値となるように、ビット・プレーンでのエンコ ーディングを終了させる。各ビット・プレーンによって形成されるビットのカウ ントは、これを実現するカウントに維持する。サブバンド1内の係数をルートと する各ゼロ・ツリーを、別々にエンコーディング及びデコーディングすることに よって、必要なストレージの量を最小限に抑制する。これにより、ストレージを 1つのゼロ・ツリーに対してのみ割り当てればよく、このストレージを他のゼロ ・ツリーのエンコーディング及びデコーディングの間に再度使用できる。デコー ディングはエンコーディングの逆である。ループは、色コンポーネント、サブバ ンド1ルート係数及びビット・プレーンの順で再び並べられる。そして、圧縮さ れたビット・ストリームから読み取られたビットは、デコーディング・ツリー・ ウォークをガイドする。エンコード・プロセス及びデコード・プロセスはそれぞ れの逆であるため、全てのビット・プレーンをエンコードした場合、オリジナル のウェーブレット係数を損失なく再生できる。一般的に、データの損失は形成さ れたビット・プレーンを切り捨てることによって生じる。 1つの例として、本発明の実施形態に基づくゼロツリー・エンコーディング及 びゼロツリー・デコーディングを実行するために効果的なコンピュータ・コード を、付録A,B,C,D,Eは提供する。図4A〜図4Dのフローチャートに対 応するMatlab言語で書かれたコードを、付録Aは含む。再帰的ゼロ・ツリー・ウ ォーク・エンコード、再帰的ゼロツリー・ウォーク・デコード、非再帰的ゼロツ リー・ウォーク・エンコード及び非再帰的ゼロツリー・ウォーク・デコードを実 行するための疑似コードを、付録B,C,D,Eは含んでいる。 コンピュータ・システム 図12は本発明の実施形熊の実現に適するコンピュータ・システム900を示 す。コンピュータ・システム900は任意の数のプロ七ッサ902(中央処理装 置、即ち、CPUとも称される)を有する。プロセッサ902は、一次ストレー ジ906(ランダム・アクセス・メモリ、即ち、RAMなど)及び別の一次スト レージ904(リード・オンリ・メモリ、即ち、ROMなど)を含むストレージ ・デバイスへ接続されている。当該技術分野で知られているように、一次ストレ ージ904はデータ及び命令を単方向でCPUへ転送すべく機能する。その一方 、一次ストレージ906はデータ及び命令を両方向で転送すべく一般的に使用さ れる。これら2つの一次ストレージ・デバイスは以下に詳述する任意の適切なコ ンピュータ読取り可能媒体を含み得る。大容量ストレージ・デバイス908はC PU902へ両方向で接続され、かつ、別のデータ・ストレージ能力を提供する 。更に、大容量ストレージ・デバイス908は以下に詳述する任意のコンピュー タ読取り可能媒体を含み得る。大容量ストレージ・デバイス908はプログラム 及びデータなどを格納するために使用可能であり、かつ、一般的には、一次スト レージより遅い二次ストレージ媒体(ハード・ディスクなど)である。適切なケ ースでは、大容量ストレージ・デバイス908内に保持されている情報は、バー チャル・メモリとして一次ストレージ906の一部に標準的な様式で組み込み得 る。CD−ROM914などの特定の大容量ストレージ・デバイスは、データを 単方向でCPUへ転送する。 CPU902は1つ以上の入出力装置を含むインターフェース910へ接続さ れている。入出力装置の例としては、ビデオ・モニタ、トラック・ボール、マウ ス、キーボード、マイクロホン、タッチ・ディスプレイ、トランスデューサ・カ ード・リーダー、磁気テープ・リーダー、ペーパー・テープ・リーダー、タブレ ット、スタイラス、音声認識装置、手書き文字認識装置、バイオメトリクス・リ ーダーまたは他のコンピュータが挙げられる。符号912で示すように、ネット ワーク接続を使用することにより、CPU902を別のコンピュータまたはテレ コミュニケーション・ネットワークへ任意で接続できる。このネットワーク接続 により、前記の方法のステップを実施する過程で、CPUは情報をネットワーク から受信し、かつ、情報をネットワークへ出力し得る。更に、本発明の実施形態 に基づく方法はCPU902上で単独で実行するか、または処理の一部を共有す る遠隔CPUと協動してインターネットなどのネットワーク接続を通じて実行で きる。 更に、本発明の実施形熊は様々なコンピュータ実行オペレーションを実施する ためのプログラム・コードを含むコンピュータ読み取り可能媒体を有するコンピ ュータ・ストレージ・プロダクトに関する。前記の媒体及びプログラム・コード は、本発明の目的のために特別に設計され、かつ、形成されたものであるか、ま たはコンピュータ・ソフトウェアの技術分野の当業者がよく知っており、かつ、 利用できるものであり得る。コンピュータ読み取り可能媒体の例は、ハード・デ ィスク、フロッピー・ディスク及び磁気テープなどの磁気媒体と、CD−ROM ディスクなどの光媒体と、フロプティカル・ディスクなどの光磁気媒体と、特定 用途向け集積回路(ASIC)、プログラム可能論理回路(PLD)、ROMデ バイス及びRAMデバイスなどのプログラム・コードを格納し、かつ、実行する ために特別に形成されたハードウェア・デバイスとを含む(但し、これらに限定 されない)。プログラム・コードの例は、コンパイラなどによって形成されたマ シン・コードと、コンピュータがインタプリタを使用して実行する更に高いレベ ルのコードを有するファイルとを含む。 以上、理解を容易にする目的で、本発明をある程度詳しく説明したが、特定の 変更及び修正を本発明の請求の範囲内で実施しても良い。例えば、本発明は様々 な静止画像、ビデオ画像及び更に高次元のデータに対して適用可能である。例え ば、本発明は2次元静止画像、3次元ビデオ画像及び4次元地震情報へ適用され る。一般的に、本発明は多次元情報の圧縮及び伸長に効果的である。更に、圧縮 は白黒情報またはカラー画像に対して実施可能である。また、本発明は様々な集 積回路及びソフトウェア言語で実行するのに適している。ウェーブレット係数の 表示が可能なピラミッドを形成するために、任意の適切なウェーブレット変換を 使用できる。ゼロ・ツリーを、このピラミッドから様々な方法で形成可能であり 、前記のゼロ・ツリーを変更したものも使用できる。更に、ゼロ・ツリーのツリ ー・ウォークを行う1つの特定の技術を開示したが、これに類する他のツリー・ ウォークを使用できる。従って、前記の複数の実施形態は例示を目的とするもの であって、限定を目的としない。更に、本発明は本明細書に開示する詳細部分に 限定されることはなく、寧ろ、請求の範囲及びそれに等価なものの範囲によって 定義される。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,ML,MR, NE,SN,TD,TG),AP(GH,GM,KE,L S,MW,SD,SZ,UG,ZW),EA(AM,AZ ,BY,KG,KZ,MD,RU,TJ,TM),AL ,AM,AT,AU,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GE,GH,GM,GW,HU ,ID,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,US,U Z,VN,YU,ZW (72)発明者 コラロフ・クラジミール・ディー. アメリカ合衆国 カリフォルニア州94025 メンロ・パーク,アビイ・アベニュー, 2050 (72)発明者 フーバー・ディー.・ロバート アメリカ合衆国 カリフォルニア州95014 クパーティノ,スティーブンス・クリー ク・キャニオン・ロード,16360 (72)発明者 アリギィ・ウイリアム・ジェイ. アメリカ合衆国 カリフォルニア州94530 エル・セリト,サン・カルロス・アベニ ュー,245

Claims (1)

  1. 【特許請求の範囲】 1.ビデオ情報を圧縮する方法であって、 ビデオ画像の一部を受信する工程と、 ウェーブレット変換を前記一部へ適用し、これによって、前記一部を表すウェ ーブレット係数を形成する工程と、 前記ウェーブレット係数を少なくとも1つのゼロ・ツリー内に表示する工程と 、 前記少なくとも1つのゼロ・ツリーのツリー・ウォークを実施し、エンコード されたビットを前記ツリー・ウォーク中に前記ウェーブレット係数から出力する ことによって、ビデオ画像の前記一部を圧縮する工程と を含む方法。 2.前記ツリー・ウォータを実施する工程を補助するために、前記少なくとも1 つのゼロ・ツリーの各ノードに関する高位値を計算し、これによって、前記ツリ ー・ウォーク中に、低位値を有するノードを無視する工程を更に含む請求項1に 記載の方法。 3.請求項1または2のいずれかに記載の方法であって、 前記ウェーブレット変換を適用する工程は、 改良型2−6双直交フィルタを使用して、前記一部を垂直方向及び水平方向 にそれぞれ連続的にフィルタリングしつつ、前記一部からの値のみを用いて前記 フィルタリングすることで、必要なメモリの量を減少させる副工程を含む方法。 4.請求項1ないし3のいずれかに記載の方法であって、 前記ウェーブレット変換を適用する工程は、ウェーブレット変換ピラミッドを 形成し、 前記ウェーブレット係数を表示する工程は、 前記ウェーブレット係数を複数のゼロ・ツリー内に表示し、前記各ゼロ・ツ リーが前記ウェーブレット変換ピラミッドの第1サブバンド内にルートを有する ようにする副工程 を含む方法。 5.ビデオ情報を圧縮する集積回路であって、 ビデオ画像の一部を受信する工程と、 ウェーブレット変換を前記一部へ適用し、これによって、前記一部を表すウェ ーブレット係数を形成する工程と、 前記ウェーブレット係数を少なくとも1つのゼロ・ツリー内に表示する工程と 、 前記少なくとも1つのゼロ・ツリーのツリー・ウォークを実施し、エンコード されたビットを前記ツリー・ウォーク中に前記ウェーブレット係数から出力する ことによって、ビデオ画像の前記一部を圧縮する工程と を実施すべく形成された集積回路。 6.前記ツリー・ウォークを実施する工程を補助するために、前記少なくとも1 つのゼロ・ツリーの各ノードに関する高位値を計算し、これによって、低位値を 有するノードを前記ツリー・ウォーク中に無視する工程を更に実施すべく形成さ れた請求項5に記載の集積回路。 7.請求項5または6に記載の集積回路であって、 改良型2−6双直交フィルタを使用して、前記一部を垂直方向及び水平方向に それぞれ連続的にフィルタリングしつつ、これによって、前記一部からの値のみ を用いて前記フィルタリングすることによって、必要なメモリの量を減少させる 工程を更に実施すべく形成された集積回路。 8.請求項5ないし7のいずれかに記載の集積回路であって、 前記ウェーブレット変換を適用する工程中に、ウェーブレット変換ピラミッド を形成する工程と、 前記ウェーブレット係数を複数のゼロ・ツリー内に表示し、前記各ゼロ・ツリ ーが前記ウェーブレット変換ピラミッドの第1サブバンド内にルートを有するよ うにする工程と を更に実施すべく形成された集積回路。 9.ビデオ画像を圧縮する集積回路であって、 ウェーブレット変換を前記ビデオ画像へ適用し、これによって、前記ビデオ画 像を表すウェーブレット係数を形成する第1パス・バッファであって、前記ウェ ーブレット係数を少なくとも1つのゼロ・ツリー内に表示する第1パス・バッフ ァと、 前記少なくとも1つのゼロ・ツリーのツリー・ウォークを実施し、エンコード されたビットを前記ツリー・ウォーク中に前記ウェーブレット係数から出力する ことによって、ビデオ画像を圧縮する第2パス・バッファと を有する集積回路。 10. 改良型2−6双直交フィルタを使用して、前記ビデオ画像を垂直方向及 び水平方向にそれぞれ連続的にフィルタリングしつつ、前記ビデオ画像からの値 のみを用いて前記フィルタリングを行うことで、必要なメモリの量を減少させる フィルタリング・ユニットを更に有する請求項9に記載の集積回路。 11.画像情報を圧縮する方法であって、 画像の一部を受信する工程と、 ウェーブレット変換ピラミッドを前記一部から形成し、これによって、ウェー ブレット係数を形成する工程と、 前記ウェーブレット係数をツリー構造内に体系化する工程と、 前記ツリー構造のツリー・ウォータを実施し、エンコードされたビットを前記 ツリー・ウォータ中に前記ウェーブレット係数から出力することによって、画像 の前記一部を圧縮する工程と を含んだ方法。 12.前記ツリー構造は少なくとも1つのゼロ・ツリーである請求項11に記載 の方法。 13.請求項11または12に記載の方法であって、 前記ツリー・ウォークを実施する工程を補助するために、前記ツリー構造の各 ノードに関する高位値を計算し、これによって、低い高位を有するノードを前記 ツリー・ウォーク中に無視する工程を更に含んだ方法。 14.請求項11ないし13のいずれかに記載の方法であって、 前記ウェーブレット変換ピラミッドを形成する工程は、 改良型2−6双直交フィルタを使用して、前記一部を垂直方向及び水平方向 にそれぞれ連続的にフィルタリングしつつ、前記一部からの値のみを用いて前記 フィルタリングを行うことで、必要なメモリの量を減少させる副工程 を含んだ方法。 15.請求項11ないし14のいずれかに記載の方法であって、 前記ウェーブレット係数を体系化する工程は、 前記ウェーブレット係数を複数のゼロ・ツリー内に体系化し、前記各ゼロ・ ツリーが前記ウェーブレット変換ピラミッドの第1サブバンド内にルートを有す るようにする副工程を含んだ方法。 16.画像情報を圧縮する集積回路であって、 画像の一部を受信する工程と、 ウェーブレット変換ピラミッドを前記一部から形成し、これによって、ウェー ブレット係数を形成する工程と、 前記ウェーブレット係数をツリー構造内に体系化する工程と、 前記ツリー構造のツリー・ウォークを実施し、エンコードされたビットを前記 ツリー・ウォーク中に前記ウェーブレット係数から出力することによって、画像 の前記一部を圧縮する工程と を実施すべく形成された集積回路。 17.前記ツリー構造は少なくとも1つのセロ・ツリーである請求項16に記載 の集積回路。 18.請求項16または17に記載の集積回路であって、 前記ツリー・ウォークを実施する工程を補助するために、前記ツリー構造の各 ノードに関する高位値を計算し、これによって、低い高位を有するノードを前記 ツリー・ウォーク中に無視する工程を更に実施すべく形成された集積回路。 19.請求項16ないし18のいずれかに記載の集積回路であって、 改良型2−6双直交フィルタを使用して、前記一部を垂直方向及び水平方向に それぞれ連続的にフィルタリングしつつ、前記一部からの値のみを用いて前記フ ィルタリングすることで、必要なメモリの量を減少させる工程を更に実施すべく 形成された集積回路。 20.請求項16ないし19のいずれかに記載の集積回路であって、 前記ウェーブレット係数を複数のゼロ・ツリー内に体系化し、前記各ゼロ・ツ リーが前記ウェーブレット変換ピラミッドの第1サブバンド内にルートを有する ようにする工程を更に実施すべく形成された集積回路。 21.圧縮されたビデオ情報を伸長する方法であって、 圧縮されたビデオ情報を表すエンコードされたビットを入力し、前記エンコー ドされたビットの値に基づいて、ゼロ・ツリーのツリー・ウォークを実施する工 程と、 前記ビットを前記ゼロ・ツリーのノード内へ配置し、これによって、ウェーブ レット係数を前記ゼロ・ツリーのノード内に形成する工程と、 前記ゼロ・ツリーからの前記ウェーブレット係数を、ウェーブレット変換ピラ ミッド内に表示する工程と、 逆ウェーブレット変換を前記ウェーブレット変換ピラミッド内のウェーブレッ ト係数へ適用し、これによって、伸長されたビデオ情報を形成する工程と を含む方法。 22.前記逆ウェーブレット変換を適用する工程は、 改良型2−6双直交フィルタを使用して、前記ウェーブレット係数を垂直方向 及び水平方向にそれぞれ連続的に逆フィルタリングし、これによって、必要なメ モリの量を減少させる副工程 を含む請求項21に記載の方法。 23.請求項21または22に記載の方法であって、 前記ビットを複数のゼロ・ツリー内に配置し、これによって、ウェーブレット 係数を前記複数のゼロ・ツリーのノード内に形成する工程と、 前記複数のゼロ・ツリーからのウェーブレット係数を、ウェーブレット変換ピ ラミッド内に表示し、前記各ゼロ・ツリーが前記ウェーブレット変換ピラミッド の第1サブバンド内にルートを有するようにする工程と を更に含んだ方法。
JP50100399A 1997-05-30 1998-05-29 ウェーブレットに基づくデータ圧縮を行う方法及び装置 Ceased JP2002501709A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5093397P 1997-05-30 1997-05-30
US60/050,933 1997-05-30
PCT/US1998/011059 WO1998054675A1 (en) 1997-05-30 1998-05-29 Method and apparatus for wavelet based data compression

Publications (1)

Publication Number Publication Date
JP2002501709A true JP2002501709A (ja) 2002-01-15

Family

ID=21968415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50100399A Ceased JP2002501709A (ja) 1997-05-30 1998-05-29 ウェーブレットに基づくデータ圧縮を行う方法及び装置

Country Status (6)

Country Link
US (1) US6381280B1 (ja)
EP (1) EP0985193B1 (ja)
JP (1) JP2002501709A (ja)
AU (1) AU7709098A (ja)
DE (1) DE69811072T2 (ja)
WO (1) WO1998054675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015039171A (ja) * 2007-10-04 2015-02-26 エスエムエスシー・ヨーロッパ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング リアルタイム映像送信システム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181073B1 (en) * 1999-03-08 2007-02-20 Texas Instruments Incorporated Image coding using embedded zerotree patterns and bitplanes
US6546143B1 (en) * 1999-03-12 2003-04-08 Hewlett-Packard Development Company Efficient wavelet-based compression of large images
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
CN1197253C (zh) * 1999-04-15 2005-04-13 株式会社理光 数据高速压缩伸展方法及其装置
US6956903B2 (en) * 2001-05-29 2005-10-18 Intel Corporation Method and apparatus for three-dimensional wavelet transform
US6834123B2 (en) * 2001-05-29 2004-12-21 Intel Corporation Method and apparatus for coding of wavelet transformed coefficients
US6771829B1 (en) * 1999-10-23 2004-08-03 Fastvdo Llc Method for local zerotree image coding
US6885774B2 (en) * 1999-10-28 2005-04-26 Lucent Technologies Inc. Coefficient computation in image compression using set partitioning in hierarchical trees
US6671413B1 (en) * 2000-01-24 2003-12-30 William A. Pearlman Embedded and efficient low-complexity hierarchical image coder and corresponding methods therefor
US6885395B1 (en) * 2000-05-26 2005-04-26 Eastman Kodak Company Selectively adjusting the resolution levels or the quality levels of digital images stored in a digital camera memory
US6795504B1 (en) * 2000-06-21 2004-09-21 Microsoft Corporation Memory efficient 3-D wavelet transform for video coding without boundary effects
FR2815748B1 (fr) * 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
DE60144176D1 (de) * 2000-11-10 2011-04-21 Ricoh Co Ltd Bilddekompression von Transformkoeffizienten
US6829384B2 (en) * 2001-02-28 2004-12-07 Carnegie Mellon University Object finder for photographic images
US6947486B2 (en) * 2001-03-23 2005-09-20 Visioprime Method and system for a highly efficient low bit rate video codec
WO2003001695A1 (en) * 2001-06-26 2003-01-03 Cineform, Inc. Method and apparatus for real-time editing of plural content streams
US6825780B2 (en) * 2002-04-19 2004-11-30 Droplet Technology, Inc. Multiple codec-imager system and method
US20030229773A1 (en) * 2002-05-28 2003-12-11 Droplet Technology, Inc. Pile processing system and method for parallel processors
US7844122B2 (en) * 2002-06-21 2010-11-30 Droplet Technology, Inc. Chroma temporal rate reduction and high-quality pause system and method
US20030206597A1 (en) * 2002-04-19 2003-11-06 Droplet Technology, Inc. System, method and computer program product for image and video transcoding
US20030198395A1 (en) * 2002-04-19 2003-10-23 Droplet Technology, Inc. Wavelet transform system, method and computer program product
US6847317B2 (en) * 2002-05-28 2005-01-25 Droplet Technology, Inc. System and method for a dyadic-monotonic (DM) codec
JP2004127064A (ja) * 2002-10-04 2004-04-22 Konica Minolta Holdings Inc 画像処理方法、画像処理装置、画像処理プログラム及び画像記録装置
US6826301B2 (en) * 2002-10-07 2004-11-30 Infocus Corporation Data transmission system and method
EP1579386A1 (fr) * 2002-12-31 2005-09-28 France Telecom Procede et dispositif de detection de points d'interet dans une image numerique source, programme d'ordinateur et support de donees correspondants
US9171577B1 (en) 2003-04-25 2015-10-27 Gopro, Inc. Encoding and decoding selectively retrievable representations of video content
US10803126B1 (en) 2005-01-13 2020-10-13 Robert T. and Virginia T. Jenkins Method and/or system for sorting digital signal information
KR100764245B1 (ko) 2005-12-30 2007-10-08 고려대학교 산학협력단 워터마킹 방법 및 그 장치
US8014597B1 (en) 2006-03-22 2011-09-06 Woodman Labs Method for efficient compression and decoding of single sensor color image data
TWI463807B (zh) * 2012-01-19 2014-12-01 Univ Nat Kaohsiung 1St Univ Sc 一種改良式訊號壓縮之演算法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2640157C2 (de) 1976-09-07 1982-10-07 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern
DE2640140C2 (de) 1976-09-07 1982-10-07 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und Anordnung zur redundanzvermindernden Bildcodierung
FR2643986B1 (fr) 1989-03-03 1991-05-17 Thomson Csf Procede d'analyse d'un signal par ondelettes
US5014134A (en) 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus
US5068911A (en) 1990-02-09 1991-11-26 Aware, Inc. Method and apparatus for representing an image
US5384725A (en) 1990-05-18 1995-01-24 Yale University Method and apparatus for encoding and decoding using wavelet-packets
US5101446A (en) 1990-05-31 1992-03-31 Aware, Inc. Method and apparatus for coding an image
US5148498A (en) 1990-08-01 1992-09-15 Aware, Inc. Image coding apparatus and method utilizing separable transformations
US5287529A (en) 1990-08-21 1994-02-15 Massachusetts Institute Of Technology Method for estimating solutions to finite element equations by generating pyramid representations, multiplying to generate weight pyramids, and collapsing the weighted pyramids
WO1992017970A1 (en) 1991-04-02 1992-10-15 Aware, Inc. Channel codec apparatus and method utilizing flat codes
US5262958A (en) 1991-04-05 1993-11-16 Texas Instruments Incorporated Spline-wavelet signal analyzers and methods for processing signals
US5315670A (en) 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
US5321776A (en) 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
US5272478A (en) 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
US5414780A (en) 1993-01-27 1995-05-09 Immix Method and apparatus for image data transformation
US5381145A (en) 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5477272A (en) * 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
GB2302245B (en) 1994-09-20 1997-10-22 Ricoh Kk Wavelet transform filter
US6483946B1 (en) 1995-10-25 2002-11-19 Sarnoff Corporation Apparatus and method for encoding zerotrees generated by a wavelet-based coding technique
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression
US6125201A (en) * 1997-06-25 2000-09-26 Andrew Michael Zador Method, apparatus and system for compressing data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015039171A (ja) * 2007-10-04 2015-02-26 エスエムエスシー・ヨーロッパ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング リアルタイム映像送信システム

Also Published As

Publication number Publication date
DE69811072T2 (de) 2004-01-15
US6381280B1 (en) 2002-04-30
EP0985193A1 (en) 2000-03-15
AU7709098A (en) 1998-12-30
DE69811072D1 (de) 2003-03-06
EP0985193B1 (en) 2003-01-29
WO1998054675A1 (en) 1998-12-03

Similar Documents

Publication Publication Date Title
JP2002501709A (ja) ウェーブレットに基づくデータ圧縮を行う方法及び装置
US7076108B2 (en) Apparatus and method for image/video compression using discrete wavelet transform
US6125201A (en) Method, apparatus and system for compressing data
US7024046B2 (en) System and method for the lossless progressive streaming of images over a communication network
US6101284A (en) Methods and systems for optimizing image data compression involving wavelet transform
Jasmi et al. Comparison of image compression techniques using huffman coding, DWT and fractal algorithm
JP2003533912A (ja) イメージ・データ再利用を伴う/伴わない複数解像度イメージ上のスケーラブル・グラフィックス・イメージ描画
JP2000513895A (ja) データを圧縮するための方法、装置およびシステム
WO2001016764A1 (en) System and method for transmitting a digital image over a communication network
JP2007159154A (ja) タイル型ウェーブレット状変換及び希薄データコード化に基づく多解像度像データ管理システム及び方法
US5737448A (en) Method and apparatus for low bit rate image compression
JP5133317B2 (ja) 記憶容量の低減と色回転と複合信号と境界フィルタ処理とをともなったビデオ圧縮の方法及びそのための集積回路
KR20000059799A (ko) 웨이브릿 부호화를 이용한 움직임 보상 부호화 장치 및 방법
DE19819405B4 (de) Implementation eines reversiblen eingebetteten Wavelet-Systems
US7630568B2 (en) System and method for low-resolution signal rendering from a hierarchical transform representation
US8331708B2 (en) Method and apparatus for a multidimensional discrete multiwavelet transform
US6934420B1 (en) Wave image compression
US8031782B2 (en) Systems and methods for compression, transmission and decompression of video codecs
KR100381204B1 (ko) 칼라 정지영상의 부호화 및 복호화 방법
Chen et al. Medical image compression with structure-preserving adaptive quantization
JP4372327B2 (ja) 画像符号化装置および画像符号化方法並びに復号化装置および復号化方法
Rahmonaliyev et al. COMPARATIVE ANALYSIS OF THE EFFICIENCY OF IMAGE COMPRESSION METHODS BASED ON DISCRETE COSINE TRANSFORM AND FRACTAL CODING
Bilgin et al. JPEG2000: Highly scalable image compression
JPH09182074A (ja) 画像信号符号化方法及び装置、画像信号復号方法及び装置
Sitnikov et al. Green's Function as a Transform for Image Compression

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070402

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20070704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070814