JP2002540711A - 有限アルファベットデータのロスレス適応符号化 - Google Patents
有限アルファベットデータのロスレス適応符号化Info
- Publication number
- JP2002540711A JP2002540711A JP2000608507A JP2000608507A JP2002540711A JP 2002540711 A JP2002540711 A JP 2002540711A JP 2000608507 A JP2000608507 A JP 2000608507A JP 2000608507 A JP2000608507 A JP 2000608507A JP 2002540711 A JP2002540711 A JP 2002540711A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encoding
- encoded
- length
- string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003044 adaptive effect Effects 0.000 title claims description 31
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000003247 decreasing effect Effects 0.000 claims abstract 2
- 230000006978 adaptation Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 abstract description 11
- 230000001419 dependent effect Effects 0.000 abstract description 4
- 230000002441 reversible effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 17
- 230000006835 compression Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 13
- 238000013139 quantization Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000000903 blocking effect Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 241000122235 Junco hyemalis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- 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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (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)
- Dc Digital Transmission (AREA)
Abstract
Description
改善されたウェーブレット符号化および復号に関する。 (関連出願の参照) 本願は、本願と同一譲受人に譲渡された、同日出願の、弁理士整理番号777
.264US1を有する「Image Encoding Using Reo
rdering and Blocking of Wavelet Coef
ficients Combined With Adaptive Enco
ding」、および、777.265US1を有する「Reordering
Wavelet Coefficients For Improved En
coding」という名称の同時係属出願に関連し、これらは参照のため本明細
書に組み込まれる。
所有者は、特許商標局の特許ファイルまたは記録において現れるような、特許明
細書または特許開示の、いかなる者によるファクシミリ複製にも異議を有するも
のでないが、そうでない場合はいかなるすべての著作権も留保するものである。
以下の注記は、以下で、かつ、本明細書の図面において記載されたようなソフト
ウェアおよびデータに適用される。すなわち、Copyright(著作権)1
999,Microsoft Corporation,All Rights
Reserved。
、およびその他、多数の応用例において使用されている。たいていの場合、ピク
チャを少量のストレージに適合させるため、あるいは短時間でダウンロードされ
るために、ピクチャを圧縮することが必要である。例えば、典型的なデジタルカ
メラでは、ピクチャが、1024×768画素(ピクセル)の解像度で、ピクセ
ルにつき12〜24ビットの解像度で撮られる。したがって、各イメージにおけ
る生データが、約1.2〜2.5メガバイトである。いくつかのピクチャをコン
ピュータディスケットに適合させるため、例えば、各ピクチャによって使用され
たデータ量を減らすことが必要である。達成される圧縮率が大きいほど、より多
くのピクチャがディスケットまたはメモリカードに適合し、より高速に、電話回
線など、帯域幅が制限された伝送媒体を介して転送することができる。
は、ISO(International Standards Organi
zation)のJPEG(joint photographic expe
rts group)委員会によって定義されたものであり、1992年に定義
され、最も普及した、デジタルピクチャを圧縮する方法である。JPEGでは、
小型の正方形のブロックのピクセル(サイズ8×8)が周波数領域に、離散コサ
イン変換(DCT)によってマップされる。DCT係数が量子化され(スケール
ファクタによって除算され、最も近い整数に丸められる)、1次元のベクトルに
、固定のジグザク走査パターンを介してマップされる。このベクトルが、ランレ
ングスおよびハフマン符号化の組合せを介して符号化される。
低コストのハードウェアにおいて利点である。しかし、これは、JPEGの主な
問題、すなわち、ブロッキングアーチファクト(blocking artif
acts)にも通じる。隣接ブロックからの量子化エラーはブロック間では相関
しないが、ブロック内で相関するので、8×8ブロックの境界が、復元されたイ
メージにおいて、隣接ブロック間の符号化における潜在的な差により可視となる
。このようなアーチファクトは、タイリングまたはブロッキングアーチファクト
と呼ばれ、これらはオーバーラップ基底関数による変換を使用することによって
低減させることができる(が、完全に解消することはできない)。
Tをウェーブレット分解によって置き替えることであり、これは効率的な時間周
波数表現を提供する。大変よい圧縮性能を、ウェーブレット係数を量子化および
符号化することによって、得ることができる。
術論文において報告されている。ウェーブレットによれば、典型的にはJPEG
より20%〜50%よい範囲の圧縮率を達成することが可能である。より重要に
は、ウェーブレット変換が、JPEGの妨げとなるブロッキングアーチファクト
を有していないピクチャに通じる。したがって、ウェーブレットベースの変換が
、ますます普及しつつある。実際に、JPEGの次の改訂はJPEG2000と
称され、ここでは、考慮中のすべての提案がウェーブレットを使用する。
する係数に分解する。これは、サブバンドの4×4の行列の結果となり、これが
大きいブロックフォーマットと呼ばれ、スペクトル分解およびチャネルの順序付
けを表す。文字LおよびHが使用されて、各サブバンドのためのローパスフィル
タリングおよびハイパスフィルタリングがそれぞれ識別される。最初のサブバン
ドがLLおよびHL係数を含み、各集合(set)における最初の文字(let
ter)が水平フィルタリングに対応し、第2のものが垂直フィルタリングに対
応する。2つの段階が、各サブバンドフィルタリングの結合において使用される
。順序付けが、左から右へ、かつ、下から上へ増大する周波数に対応する。この
順序付けが固定されて、符号化および復号が、固定された方法において機能する
ことができる。次いで、係数の量子化が実行され、その後にある形式の係数の圧
縮符号化が続き、さらにイメージを圧縮するために適応ハフマン符号化または算
術符号化が含まれる。これらの形式の符号化は、データタイプに依存するゼロツ
リー構造を含んで、大変複雑になる可能性がある。これらの符号化器はかなり複
雑であり、多数が、圧縮される異なるイメージに合わせて修正される必要があり
、これらをハードウェアにおいて実施することを困難にする。
ードウェアやソフトウェアでも実施されるような、簡素な符号化技術への要求が
ある。
生する可能性が高い、符号付き整数データにおいて実行される。この符号化はビ
ットプレーンにおいて実行され、これが、復元の精度における、ロスレス(エラ
ーなし)から様々なレベルの近似復元までのスケーラビリティを可能にする。ハ
フマン符号化とは異なり、コードテーブルが必要ではなく、これは、簡素な規則
がコードワードを入力ストリングから決定するためである。
)が割り当てられ、最も可能性の高い入力、ゼロの、長さ2kを有するランが表
現され、kは、コードワードにおいて使用されたビットの数を最小化することを
求め、量子化された係数のストリングを表現するために使用されたコードワード
を制御するパラメータである。kは、より長いランに遭遇するときに増加し、そ
うでない場合、たとえば、そのランにおけるものとは異なったシンボルに遭遇す
るときに減少するように適合される。ビットプレーンの符号化は、適応算術符号
化器など、いかなる効率的なエントロピー符号化器によっても行うことができる
が、一実施態様においては、新しい適応ランレングスおよびGolomb−Ri
ce符号化器が使用される。
(set partitions)のための別々のリストの使用を必要としない
ことにより、ハードウェア実施をより構築しやすく、ソフトウェア実施はより高
速で動作することができる。
れ、これは本明細書の一部を形成し、例示として、本発明を実施することができ
る特定の例示的実施形態が図示される。これらの実施形態が、当業者が本発明を
実施できるようにするために十分な詳細において記載され、他の実施形態を利用
できること、および、論理的、機械的、電気的、かつ他の変更を、本発明の精神
または範囲から逸れることなく行うことができることを理解されたい。したがっ
て、以下の詳細な説明は、限定の意味において取られるものではなく、本発明の
範囲は、付属の特許請求の範囲によってのみ定義される。
を実施するコンピュータシステムの動作を記載する。この後に、量子化されたウ
ェーブレット係数の固定並べ替え、および、それらの適応ランレングス符号化の
高レベルの記載が続く。このような符号化されたデータのための復号器も記載さ
れる。次いで、高レベルの記載から選択されたブロックのさらなる詳細が、フロ
ーチャートの使用によって記載される。この後に、このような符号化器および復
号器の、ソフトウェアアプリケーションのオフィス一式における使用の一般的な
記載が続く。結論は、いくつかの潜在的な利点を記載し、さらなる代替実施形態
を記載する。
単で一般的な説明を提供する。本発明が以下で、一般に、パーソナルコンピュー
タ(PC)によって実行される命令を含む、コンピュータ実行可能プログラムモ
ジュールに関連して記載される。プログラムモジュールには、ルーチン、プログ
ラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらが特定
のタスクを実行し、あるいは特定の抽象データ型を実施する。本発明を他のコン
ピュータシステム構成により実施することができ、これらには、マルチメディア
機能を有するハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロ
セッサに基づくプログラム可能な家庭用電化製品、ネットワークPC、ミニコン
ピュータ、メインフレームコンピュータなどが含まれることは、当業者には理解
されよう。本発明はまた、分散コンピューティング環境において実施することも
でき、タスクがリモート処理デバイスによって実行され、これらが通信ネットワ
ークを介してリンクされる。分散コンピューティング環境では、プログラムモジ
ュールを、ローカルおよびリモートのメモリストレージ装置に位置付けることが
できる。
0の形式において示し、これが、処理装置21、システムメモリ22、および、
システムメモリおよび他のシステム構成要素を処理装置21に結合するシステム
バス23を含む。システムバス23を、いくつかのタイプのいずれにすることも
でき、これには、メモリバスまたはメモリコントローラ、周辺バス、およびロー
カルバスが含まれ、これは様々なバス構造のいずれを使用することもできる。シ
ステムメモリ22が読取り専用メモリ(ROM)24およびランダムアクセスメ
モリ(RAM)25を含む。基本入出力システム(BIOS)26は、ROM2
4に格納され、情報をパーソナルコンピュータ20の構成要素間で転送する基本
ルーチンを含む。BIOS26は、システムのための起動ルーチンも含む。パー
ソナルコンピュータ20はさらに、ハードディスク(図示せず)から読み取りか
つこれに書き込むためのハードディスクドライブ27、リムーバブル磁気ディス
ク29から読み取りかつこれに書き込むための磁気ディスクドライブ28、およ
び、CD−ROMまたは他の光媒体など、リムーバブル光ディスク31から読み
取りかつこれに書き込むための光ディスクドライブ30を含む。ハードディスク
ドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30が、
システムバス23へ、それぞれハードディスクドライブインターフェース32、
磁気ディスクドライブインターフェース33、および光ディスクドライブインタ
ーフェース34によって接続される。ドライブおよびそれらの関連付けられたコ
ンピュータ読取り可能媒体が、パーソナルコンピュータ20用の、コンピュータ
可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性スト
レージを提供する。本明細書に記載された例示的環境は、ハードディスク、リム
ーバブル磁気ディスク29およびリムーバブル光ディスク31を使用するが、コ
ンピュータによりアクセス可能なデータを格納することができる他のタイプのコ
ンピュータ読取り可能媒体も例示的動作環境において使用できることは、当業者
には理解されよう。このような媒体には、磁気カセット、フラッシュメモリカー
ド、デジタル汎用ディスク、ベルヌーイカートリッジ、RAM、ROMなどが含
まれる可能性がある。
1、ROM24およびRAM25において格納することができる。プログラムモ
ジュールには、オペレーティングシステム35、1つまたは複数のアプリケーシ
ョンプログラム36、他のプログラムモジュール37およびプログラムデータ3
8が含まれる可能性がある。ユーザが、コマンドおよび情報をパーソナルコンピ
ュータ20へ、キーボード40およびポインティングデバイス42など、入力装
置を介して入力することができる。他の入力装置(図示せず)には、マイクロフ
ォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなど
が含まれる可能性がある。これらおよび他の入力装置が、しばしば処理装置21
へ、システムバス23に結合されたシリアルポートインターフェース46を介し
て接続されるが、これらを、パラレルポート、ゲームポートまたはユニバーサル
シリアルバス(USB)など、図1において図示されていない他のインターフェ
ースを介して接続することもできる。モニタ47または他の表示装置も、システ
ムバス23へ、ビデオアダプタ48などのインターフェースを介して接続する。
モニタに加えて、パーソナルコンピュータは典型的には、スピーカおよびプリン
タなど、他の周辺出力装置(図示せず)を含む。
ュータ49など、1つまたは複数のリモートコンピュータへの論理接続を使用し
て動作することができる。リモートコンピュータ49は、別のパーソナルコンピ
ュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネ
ットワークノードにすることができる。これは典型的には、パーソナルコンピュ
ータ20に関して上で記載された構成要素の多数またはすべてを含むが、ストレ
ージ装置50のみが図1に例示されている。図1に示された論理接続は、ローカ
ルエリアネットワーク(LAN)51およびワイドエリアネットワーク(WAN
)52を含む。このようなネットワーキング環境は、オフィス、企業全体のコン
ピュータネットワーク、イントラネットおよびインターネットにおいて一般的で
ある。
ーク51へ、ネットワークインターフェースまたはアダプタ53を介して接続す
る。インターネットなど、WANネットワーキング環境において使用されるとき
、PC20が典型的には、モデム54、または、ネットワーク52を介して通信
を確立するための他の手段を含む。モデム54は、PC20の内部あるいは外部
にすることができ、システムバス23へ、シリアルポートインターフェース46
を介して接続する。ネットワーク環境では、20内に常駐するように示されるM
icrosoft(登録商標)Wordを含むものなどのプログラムモジュール
、またはその一部を、リモートストレージ装置50に格納することができる。も
ちろん、図示されたネットワーク接続は例示的であり、通信リンクをコンピュー
タ間で確立する他の手段で置換することができる。
方法を使用して設計することができる。C++およびJava(登録商標)は、
共通のオブジェクト指向コンピュータプログラミング言語の2つの例であり、こ
れらはオブジェクト指向プログラミングに関連付けられた機能性を提供する。オ
ブジェクト指向プログラミング方法は、データメンバ(変数)、および、このデ
ータにおいて動作するメンバ関数(メソッド)を、クラスと呼ばれる単一のエン
ティティにカプセル化するための手段を提供する。オブジェクト指向プログラミ
ング方法は、既存のクラスに基づいて新しいクラスを作成するための手段も提供
する。
は、コンピュータメモリ内部に格納される属性であり、メソッドは、このデータ
上で動作して潜在的に他のサービスを提供する実行可能コンピュータコードであ
る。オブジェクトの概念が本発明において活用され、本発明のある態様が、一実
施形態においてオブジェクトとして実施される。
成される。各インターフェースを、ある識別子によって一意に識別することがで
きる。インターフェースはインスタンス化を有しておらず、つまり、インターフ
ェースは定義でしかなく、インターフェースによって指定されるメソッドを実施
するために必要とされた実行可能コードを有していない。オブジェクトは、イン
ターフェースによって指定されたメソッドのための実行可能コードを提供するこ
とによって、インターフェースをサポートすることができる。オブジェクトによ
って供給された実行可能コードは、インターフェースによって指定された定義に
従わなければならない。オブジェクトは、追加のメソッドを提供することもでき
る。インターフェースが、オブジェクト指向プログラミング環境における、ある
いはそれによる使用に限定されないことは、当業者には理解されよう。
ック図が、図2に示され、対応する復号器が図3に示される。符号化器および復
号器が、イメージピクセルデータに関して各入力および出力として記載され、他
のデータも望まれるように変換することができる。図示の実施形態では、イメー
ジピクセルデータがウェーブレット変換ブロック210に提供され、これが周知
の方法で動作して、ウェーブレット係数を量子化ブロック220へ提供する。ウ
ェーブレット係数は、背景のセクションで記載されたような大きいブロックフォ
ーマットである。量子化は、一様量子化器(uniform quantize
r)によって実行され、これが、しきい値Tを定義する量子化ステップによって
制御される。これは、各係数の表現が、ステップの中間における値によって、ス
テップの間に入る結果となる。Tが小さいほど、量子化において受ける損失が少
ない。したがって、ブロック220の出力は一連の整数の数値であり、これらが
、量子化されたウェーブレット係数である。多数の他の応用例におけるように、
量子化器を、標準の丸めに基づくように、あるいは、ゼロに向かう丸めにおける
(「不感帯(dead zone)」を有する量子化器としても知られる)よう
にすることができる。
数を、同様の値のクラスタにグループ化する。これは、ゼロになる可能性が最も
高い周波数係数のブロックの、クラスタ化または共にグループ化の結果となる。
並べ替えは、データが単調に減衰する振幅の分布を有する傾向があるという意味
において、類似データのグループ化の可能性を増大させる。最初のブロックが、
より大振幅のデータを有する傾向があるが、後続のブロックでは、ウェーブレッ
ト係数の振幅が減衰する傾向がある。グループ化は、走査順序を固定することに
よって行われ、これはデータ独立である。このようなグループ化の1つの集合(
set)が、図4において、64ブロックのウェーブレット係数を有する例につ
いて示される。図4では、低周波数の構成要素が、グループ化の左上隅に向かっ
て配置され、各レベルの低高および高低サブバンドからの係数のブロックが交番
させられる。並べ替えおよびブロッキングブロック230が、マクロブロックの
シーケンスを、指示された走査順序で提供する。最初のブロック0は、ウェーブ
レットツリーのレベル0のすべての係数を含む。これは、最も粗い解像度に対応
する。ブロック0〜3は、レベル1のすべての係数を含む。ブロック0〜15は
、レベル2のすべての係数を含み、レベル3は、ブロック0〜63を含む。ブロ
ックが、各レベルの低高および高低サブバンドから交互になり、低高がシーケン
スの最上部であることに留意されたい。以下の数学的説明のセクションでは、こ
の特定の順序付けの利点を論じる。他の順序付けは、当業者によって理解される
ように可能であるが、上の順序付けが他のものよりよく動作すると思われる。次
いで、ビットが、最上位のビットで開始して、順次に符号化される。
(lossless manner)で符号化する。ブロックのクラスタ化が、
圧縮するデータを提供し、これが大きなゼロのクラスタを有する。ビットプレー
ンに基づいて符号化することによってさらにデータを並べ替えることが、大きな
ゼロのストリング(strings of zeros)を発見する可能性を増
大させる。最初のビットプレーンについて最上位のビットで開始することが、ゼ
ロの長いストリングのより高い可能性に通じる。さらに、これは、最も関連のあ
るデータが最初に符号化されることも保証する。第3または第4のビットプレー
ンが符号化されるときまで、確率は、1とは対照的にゼロについてほぼ等しく、
直線的二進符号化を効果的に使用することができる。
の適合である。簡素な項では、2k個のゼロのストリングが、ゼロに等しい単一
のビットからなるコードワードによって表現される。ゼロコードワードによって
表現されたゼロのストリングの長さは、パラメータkによって制御され、これは
データに遭遇したときに、観察されたゼロの頻度に基づいて変わる。ゼロ値が符
号化されたとき、ゼロがより可能性が高いと仮定され、そのためパラメータkの
値が増加される。ゼロでない値に遭遇したとき、kが減少される。このような増
加および減少の量を適切に制御することによって、符号化器が、変化するゼロの
確率を有するビットのストリングをよく追跡することができ、実際にこの確率を
推定するオーバーヘッドの必要性がない。フィードバックループ245が使用さ
れて、符号化器240のバックワード適応的な性質が表現される。この符号化は
、効率的な圧縮、および、入力データの統計量における変化への高速な適合に備
える。符号化器240がビットストリームを外部に提供し、これは、最も関連の
ある情報がビットストリームの最初で提供されることにおいて、効果的にプログ
レッシブである。最下位のビットが最後のビットプレーンで符号化されるので、
より低解像度のビットストリームでは、解像度忠実性ブロック250で表現され
たように、これらを効果的に廃棄するかあるいは符号化しないことができる。こ
れは、データのより低い帯域幅伝送に有用である。
データ変換の逆である。図2の符号化器によって生成されたものなど、符号化さ
れたデータのビットストリームが、ロスレス適応復号ブロック310で受信され
る。ビットストリームを直接、復号器から、ローカルのストレージから、あるい
はリモートの復号器またはストレージから、衛星伝送、ケーブル伝送または他の
ネットワークによってなど、多数の実行可能伝送媒体の1つを介して受信するこ
とができる。復号ブロック310が、符号化中に開発された規則を、フィードフ
ォワード線315を介して受信する。ブロック310が本質的に、使用されるス
トリング長を受信し、データを規則に従って復元する。再度、これはブロックレ
ベルで動作するが、これは本発明の要件ではない。これは単に、より大量のメモ
リを必要とするか、あるいは、このようなメモリが使用可能でなかった場合はペ
ージングを必要とする、イメージまたは他のデータの表現全体を同時に処理する
ことよりも、好都合にする。忠実性低減の1つの形式を、ブロック310で、ビ
ットプレーンにおける最後のビットを復号しないことのみによって実行すること
ができる。これは効果的に、パラメータTによって制御されたステップサイズを
倍増する。これは、データの忠実性を低減するための簡素な方法である。
くなるべきである。しかし、320のイメージのより高解像度の層を、このポイ
ントで、ブロック320で示されたように除去することができ、これは、より高
い周波数ウェーブレット係数を効果的に使用しないことのみによる。これは、イ
メージまたはイメージの集合を表示するために使用されたウィンドウが小型であ
った場合、有用となる。次いで、ブロック330が使用されて、ブロックが元の
位置へ戻るようにアンシャッフルあるいは並べ替えされる。並べ替えブロック3
30の出力は、受信されたビットストリームにおけるヘッダによって提供される
ステップサイズを使用することによって、ブロック340で戻すように再乗算さ
れる必要がある整数の数値である。これが、復元されたウェーブレット係数を提
供する。ヘッダは、イメージサイズがどれほど大きいかについての情報、および
、他の標準イメージフォーマットのデータも提供する。次いで、逆ウェーブレッ
ト変換が、周知の方法で350で実行される。選択された所望の忠実性または解
像度低減以外の損失のみが、量子化ステップにおいて受けられ、これがTパラメ
ータの修正によって制御可能であることに留意されたい。
ことができる。データを除去するための1つの方法は、含まれた整数をゼロにす
ることによる。解像度を低減するためのさらなる方法は、アンシャッフルブロッ
ク330の動作を修正することであり、これに、値を所望のポイントでゼロにす
るように命令することができる。アンシャッフルブロック330および逆ウェー
ブレット変換ブロック350に、どこでゼロが開始するかを伝えることによって
、このようなポイントでの実際のデータの不必要な処理をなくすように、これら
を容易に修正することができる。
ゼロを有するデータにおいて、大変よく動作する。このタイプのデータを、ゼロ
のいずれの側においても確率の近い指数減衰を有するデータの高い確率を有する
ものとして特徴付けることもできる。静的イメージデータおよびビデオなど、マ
ルチメディアデータがこの特性を有する。さらに、多数のタイプの物理データの
変換も、このタイプの特性を有する。物理データを取り込むとき、情報は通常、
少数の場所においてのみ起こり、これは、他のデータの大部分がゼロであること
を意味する。データの対称性も、このタイプの符号化が最適に機能するために望
まれる特性である。すなわち、負および正の値の指数的減少が、情報スパイクの
いずれの側においても有益である。このような物理データの例には、ECGおよ
び他の生物測定(biometric)タイプのデータが含まれる。
的説明が、次に提供される。以下のステップが、符号化アルゴリズムを定義する
。
,...,N−1が与えられると、そのウェーブレット変換係数X(r,s)、
r=0,1,...,M−1、s=0,1,...,N−1を計算する。
化しきい値である。このステップは、連続のウェーブレット係数X(r,s)を
整数のシーケンスq(r,s)にマップする。これは、情報損失を導入する唯一
のステップである。
れる。
よびNBがMB=M/2JおよびNB=N/2Jによって定義される。パラメー
タJが、uk(l)にグループ化される量子化された係数の方形ブロックのサイ
ズ、よってブロックサイズを制御する。
定義される。
l)}の形式でグループ化され、k=iKB,iKB+1,...,iKB+K B −1である。各マクロブロックでは、そのビットプレーンが、適応ランレング
ス/Rice(RLR)符号化器に従って、連続して量子化される。Uiのため
のRLRコードによって使用されたビット数の二進符号化と、その後に続く実際
のRLR出力ビットが、出力ビットストリームに追加される。
。
,Imax−1について復号する。Imax<Kであった場合、ウェーブレット
係数のより低解像度のバージョンが回復される。所望の復元精度が与えられると
、各マクロブロック内で、最初の少数のビットプレーンのみが復号されることに
留意されたい。復号しないように選択されるビットプレーンq(r,s)におけ
るすべてのビットが、ゼロに設定される。解像度のスケーラビリティが、Ima x <Kを選択することによって達成されるが、忠実性のスケーラビリティは、各
マクロブロックのためのビットプレーンの部分集合のみを復号することによって
達成される。
る。
囲に不感帯を有する一様量子化器を含み、これが、ラプラシアン(ダブルサイド
エクスポーネンシャル)確率分布を有するランダム変数の最小エントロピースカ
ラ量子化について最適であることに近いことに留意されたい。
を並べ替えるため、左上隅の指標(rk,sk)のシーケンスが定義される。図
4で示された走査順序が使用され、MB=M/2JおよびNB=N/2Jが各ブ
ロックのサイズを制御する。パラメータJは、ブロックゼロが正確に、最も粗い
解像度ですべてのウェーブレット係数、例えば、すべてのスケーリング関数の係
数を含むように、選択されるべきである。したがって、Jは、ウェーブレット変
換で使用された解像度レベルの数(ツリー深度)に等しくするべきである。これ
は、図4の、すべての左上隅の指標(rk,sk)のシーケンスから推断するこ
とが容易である。
めに、インデックス0からKmax−1までのすべてのブロックを使用すること
が望ましいことが明らかであり、Kmaxは4の累乗である。したがって、PW
C復号器のステップ1では、Kmaxが4の累乗であるようにImax−1が選
択される。
代替走査の理由は、簡素である。元のイメージが特定の特徴(または特徴なし)
をある空間位置で有すると仮定すると、その位置に対応するLHおよびHLサブ
バンドのクラスタが、大きい(あるいは小さい)値を有する可能性が高い。した
がって、同一空間位置に対応するLHおよびHLサブバンドからのこのペアのブ
ロックが、マクロブロックにおいて連続して、あるいは、少なくとも近似して、
あるいは、互いに接近して見えるようにすることによって、大小の値のクラスタ
を作成する可能性がより高い。これが、量子化された係数のビットプレーンにお
ける長いゼロのランの確率を増大させる。
ために使用されたアルゴリズムを記載する。アルゴリズムは、コンピュータプロ
グラム命令において、あるいは、ハードウェア、ファームウェア、または望まれ
るようなすべての組合せにおいて実施することができる。アルゴリズムが開始ブ
ロック710で入力される。715で、M×Nの量子化されたウェーブレット係
数を含む入力行列Qが読み取られる。係数は、量子化ブロック220によって提
供されたものなどである。720で、ウェーブレットレベルの数が、周知の方法
でJWとして定義される。ブロック725で、ブロックサイズがNH×NVとし
て定義され、NHはM/(2JW)に等しく、NVはN/(2JW)に等しい。
次いで、730で、最初の出力ブロックが書き込まれ、IHおよびIVがそれぞ
れNHおよびNVとして初期化され、これは、サイズがより大きいさらなるブロ
ックの書込みのためのループを定義することにおける使用のためである。簡素化
された例では、図4において、行列Qが16×16であり、4レベルであり、ブ
ロックサイズが1であると仮定する。これが、初期の1のIHおよびIVを提供
する。さらなる例では、ブロックサイズがより大きく、8×8または16×16
など、またはさらに高いものなどである。
、IHがM未満であるかどうかを調べるために検査することによって決定される
。IHがなおM未満であった場合、より多くの係数が書き込まれる必要がある。
図4を見るとわかるように、最初の係数のブロックは1×1のサイズであり、次
いで、これらが2×2および4×4などに増大する。次の集合のフローチャート
のブロックが使用されて、続くブロックが書き込まれ、これは、1から、ブロッ
ク745でIH/NHとして設定されるブロックサイズパラメータNBLKへル
ープすることによる。750でIを使用して、755でJを使用して定義された
入れ子ループが使用されて、760で、出力ブロックLHおよびHLの書込みの
順序が制御される。JがNEXT文762でインクリメントされ、IがNEXT
文764でインクリメントされる。これは、このブロックの行が最初にこの特定
の実施において書き込まれる結果となる。列も、望まれた場合は最初に書き込ま
れることが可能であり、あるいは、いかなる他の順序の書込みも使用することが
できる。初めてループを介して、16×16のサイズおよび4レベルの行列が与
えられると、NBLKも1であり、そのためブロック430および440のみが
書き込まれる。
の入れ子ループの集合(set)が、再度IおよびJを使用してセットアップさ
れて、780で出力ブロックを書き込むための位置が定義される。この出力ブロ
ックは同一レベルのHHブロックに対応し、これは最初に通過するブロック45
0である。NEXT JおよびNEXT I文が入れ子ループを、それぞれ78
2および784で完了する。HHブロックが、上のLHおよびHLブロックと同
時に書き込まれている可能性もあり、これは、入れ子ループが等しいためである
ことに留意されたい。このレベルのすべてのブロックが書き込まれた後、790
で、IHおよびIVが2の指数としてインクリメントされ、次いで、740で比
較されて、IHがなおM未満であるかどうかが調べられる。IHがM未満でなか
った場合、795で、アルゴリズムが、本発明による完全な並べ替えられたウェ
ーブレット係数の集合を提供した後、終了する。
込まれ、その後に、3回目に入れ子ループを介してブロック480、475およ
び490が続く。より高いレベルを有する、より大きい行列のサイズも企図され
る。
、それが書き込まれた方法と同一方法で読み取ることができる。必要とされるも
のは、元の行列のサイズ、および、書き込まれたレベルの数の知識だけである。
次いで、書込み順序が単に逆にされて、係数が元の順序で提供される。直接マッ
ピングも使用することができるが、著しい追加の帯域幅を設ける必要がある。
り容易に理解することができる。ビットプレーンは単に、入力の量子化されたウ
ェーブレット係数または他のデータの二進表現(絶対値+符号)における、特定
のインデックスのビットのシーケンスである。例えば、表1は、値のシーケンス
{9,−6,1,0,−2,3,−4,−1,2}のためのビットプレーンを示
す。この表では、ビットプレーン4がシーケンス{100000000}であり
、ビットプレーン3がシーケンス{010000100}であり、ビットプレー
ン2がシーケンス{010011001}であり、ビットプレーン1がシーケン
ス{101001010}である。
高いようであり、これは、量子化されたウェーブレットデータおよび有限アルフ
ァベットデータの典型でもある。上のパターンから、より高いビットプレーンが
、より高いゼロの頻度を示す傾向があることがわかり、これは、より高い絶対値
の入力値がより可能性が少ないためである。ビットプレーン1(最下位のビット
)および符号ビットプレーン(sign bit plane)は典型的には、
ほぼ等しい頻度のゼロおよび1を有する。
化するためのアルゴリズムを記載し、505で開始する。510で、ビットプレ
ーンが最初に、N個の数値を含む入力バッファxから読み取られる。515で、
ビットプレーン数bmaxが計算され、520で、有効フラグベクトルsflg
がすべてゼロに設定される。
れ、そのため符号化が最上位のビットプレーンで開始する。530で、インデッ
クス「bit」によってポイントされたビットの値が、ビットプレーンベクトル
bpを形成する。ブロック535および540で示されたように、各プレーンb
pについて、ビットが2つの部分集合に分割される。x1は、「1」エントリが
より高いプレーンにおいて見られていない位置に対応し、これらが有効ビットと
呼ばれる。x2は、「1」が既により高いプレーンにおいて見られている位置に
対応し、これらがリファインビット(refinement bits)と呼ば
れる。
LGR)符号化器により符号化され、これは、x1におけるより高いゼロの頻度
から利益を得る。x1において1に等しいあらゆるビットについて、符号ビット
も符号化され、出力コードの最後に追加される。
ビットを出力ストリームに追加することによって行われる。符号化効率における
最小損失に遭遇し、これは、ゼロおよび1が、x2では通常、等しく可能性があ
るためである。
として処理されないためであることに留意されたい。符号ビットは、各ビットプ
レーンのx1ベクトルを符号化する処理において送信される。したがって、ベク
トルx1を、アルファベットから引き出されるもの{0,+1,−1}、すなわ
ちビットおよび符号であると見なすこともできる。
るか、および、どれがx2に属するビットであるかについての情報が、明示的に
符号化される必要がないことである。ベクトルsflgがビットの割振りをx1
に制御し、sflgが最初にすべてゼロに初期化され、次いで、各ビットプレー
ンが符号化された後に555で更新される。したがって、復号器が容易にsfl
gへの変更を追跡することができる。次のビットプレーンに継続するため、56
0でbitがデクリメントされ、565で、最後のプレーンが復号されたかどう
かを調べるために検査される。そうでなかった場合、制御が、次のビットプレー
ンの符号化のためにブロック530へ進む。bitがゼロに等しかったか、ある
いは、より低解像度の符号化が望まれた場合はより高い数であった場合、570
で、すべてのx1およびx2符号化の出力を含む出力バッファが書き込まれ、5
75で処理が終了する。
化利得が存在するところにある。これは、多数のゼロを有する長いベクトルx1
を、より少ないゼロを有するより小さいコードにおいてマップする。ARLGR
符号化器を、以下に示されたように、関連付けられた符号ビットを有するか、あ
るいは、有していない二進シーケンスを符号化することに使用することができる
。ARGLR符号化器を理解するために、最初に、ランレングス符号化およびG
olomb−Rice符号化の基礎を考察されたい。
えは、入力データベクトルにおける同一値の長いストリングを、繰り返される値
およびその値が何回繰り返されるべきであるかを指定するコードによって、置き
替えることである。このような反復ストリングが十分長く、十分多かった場合、
RL符号化が、データベクトルを表現するために必要とされるビット数における
著しい低減に通じる。
データの符号化に適用することができる。一例は、グラフィックスファイルにお
いて、例えば、白の背景においてデジタル化された黒の描画である。白い画素(
ピクセル)が0に等しいビットによって表現され、黒の点が1に等しいビットに
よって表現された場合、ゼロの方が現れる可能性がはるかに高いことが明らかで
ある。実際に、多数の標準のグラフィックスファイルフォーマットが、RL符号
化を使用している。
。数が幾何学的確率分布を有するソースから引き出された場合、すなわち、Pr
ob{x=n}=abnであり、aおよびbがパラメータであった場合、Gol
ombコードが本当に最適(予想された最小の長さ)であることが、後に示され
た。数年後、Riceが無関係に、実際に実施することが大変容易であるGol
ombコードの部分集合を導出した。これらのコードが、Golomb−Ric
eコードとして知られるようになった。
コードと結合される。結果として生じたランレングス=Golomb−Rice
コードが、表2に示される。このコードは、パラメータkによって特徴付けられ
、これがコードワード0に関連付けられたランの長さを制御し、この最大ランレ
ングスは2kに等しい。
、符号を、ゼロでない各ビットのコードワードに追加する必要がある。そのため
、RLGRコードの簡素な拡張が、表3に示されたように使用される。
ファベットのいずれかを使用して、パラメータkが、予想されたコード長を最小
にするために選択されるべきである。ソースがメモリを有しておらず、経時的に
一定の統計量を有し、P0=Prob{シンボル=0}によって特徴付けられた
場合、kの最適値をP0の関数として計算することが容易である。
的な例は、ピクチャまたは走査された文書の量子化されたウェーブレット係数な
ど、物理的世界から得られたデータを含む。したがって、RLGRパラメータk
を経時的に調整して、データのローカルな統計量に最適に合致させる必要がある
。多数の戦略(strategies)が考察されており、たいていは入力デー
タを適切な長さのブロックに分割することを含む。各ブロックについて、P0が
推定され、次いで、kの最適値が計算される。次いで、追加のコードが各ブロッ
クの始めで送信されてkの値が示され、これが復号器によって使用されるべきで
ある。
d adaptive strategy)が、RLGRパラメータkを変更す
るために使用される。バックワード適応によって、kにおける変化が、直接的に
入力データではなく、符号化されたシンボルに基づいて計算されることを意味す
る。基本戦略は、次のシンボルを符号化することにおいて使用されるkの値が、
先に符号化されたデータにのみ依存するべきであるということである。したがっ
て、復号器が、変化するkの値を回復するために行う必要のあることは、符号化
器と同一適合規則を適用することだけである。したがって、復号を簡素化するた
めに、このような規則を、計算するために可能な限り簡素にすることが重要であ
る。
40は、パラメータkを変更するための以下の規則を使用する。ブロック604
で、いくつかのパラメータが最初に定義される。スケールファクタLが最初に定
義され、これが使用されて、kpがL*kとして定義される。kpは補助パラメ
ータであり、その値が、それぞれ量UpまたはDnだけ上がるかあるいは下がり
、kの小数の移動を、浮動小数点演算の使用なしに許可する。最後に、Uqが定
義され、これが使用されて、出力コードがゼロであり、かつkがゼロに等しかっ
た場合、kpが上に移動される。606で、入力バッファxが読み取られ、M個
の数値を含む。608で、kがk0に設定され、kpがL*kに設定され、ru
nが0に設定される。この処理は、入力データの長期の統計量のためによい選択
であるkの値、例えば、k=2で開始される。610で、最初のシンボルxin
dex=1で開始して、シンボルがx(xindex)に設定され、runma
xが2kに設定される。
出力コードに基づいて調整される。出力コードが0であり、k≠0であった場合
、kpが所定のインクリメントステップUpでインクリメントされ、すなわち、
kp=kp+Upに設定される。出力コードが0であり、k=0であった場合、
kpが所定のインクリメントステップUqでインクリメントされ、すなわち、k
p=kp+Uqに設定される。出力コードが1で開始した場合(ゼロでない入力
に対応する)、kpが所定のデクリメントステップDnでデクリメントされ、す
なわち、kp=kp−Dnに設定される。次の入力シンボルを符号化するための
kの値が、k=[kp/L]に設定される(すなわち、kp/Lを最も近い整数
に切り捨てる)。
kが増加されて、より長いシーケンスのゼロを、単一の出力ビット=0によって
取り込むことができるようにする。ゼロでないシンボルに遭遇した場合、kが減
少されて、過度に長い出力コードが回避される。上の補助パラメータkpおよび
スケールファクタLの使用が、小数ステップにおけるkの調整を、上に示された
ように浮動小数点演算を使用する必要なく、可能にする。
パラメータの典型的な選択、すなわち、L=4、Up=4、Dn=5およびUq
=2について、きわめてよかった(符号化率がソースエントロピーに大変接近す
る)。いくつかの場合、これらのパラメータにおける調整が、さらにわずかに高
性能に通じる可能性がある。
6、608、610および612を参照して、上に記載されたような、後に続く
パラメータの初期化および定義が、614で最初に検査されて、それがゼロに等
しいかどうかが調べられる。そうであった場合、かつ、symbolがゼロであ
った場合、618でUqがkpに加算される。620でゼロが出力バッファに追
加され、622で、kpが範囲外、すなわちkpmaxを超えた場合、これがク
リップされる。624で、kが、スケールファクタkp/L未満の最大整数に設
定される。次いで、Xindexがインクリメントされ、628で決定されたと
きにM未満であった場合、612で次のsymbolが選択される。Mより大き
かった場合、630で出力ビットバッファが書き込まれ、640で処理が終了す
る。
た場合、642で、1が出力ビットバッファに追加され、644で、データが符
号ビットを有した場合、symbolの符号ビットが出力ビットバッファに追加
され、処理が622に進んで、kpが範囲内であるかどうかを調べるために検査
する。
さらなる検査が実行される。symbolがゼロに等しくなかった場合、652
で、1が出力ビットバッファに追加され、654で、runのkビット値が出力
ビットバッファに追加される。656で、Dnがkpから減算され、処理が64
4へ進み、任意選択の符号ビットが追加される。
されて、これがrunmaxに等しいかどうかが調べられる。そうでなかった場
合、622で、kpがkpmaxを超えないようにクリップされる。662で、
runがrunmaxに等しかった場合、664で、0が出力ビットバッファに
追加され、666で、runがゼロに設定される。最後に、Upがkpに加算さ
れ、処理が再度、kpのクリップのためにブロック622へ戻り、624でkの
設定、626でxindexをインクリメントし、628で、最後のシンボルが
処理されたかどうかを調べるために検査する。そうであった場合、630で情報
が出力ビットバッファに書き込まれ、640で処理が終了する。
化器を使用した結果が示される。簡素なビットプレーン符号化器が、計算的によ
り簡素であるにもかかわらず、適応算術符号化器(これらが最新式であると見な
されている)よりもよく実行することに留意されたい。
ラビリティである。記載されたビットプレーン符号化により、より低忠実性のバ
ージョンの信号を、プレーン1より高いビットプレーンで復号処理を停止するこ
とによって、容易に得ることができる。これは、情報のプログレッシブ伝送およ
び復元、および、インターネットなど、通信チャネルの重要な機能を可能にする
。もう1つのスケーラビリティの応用例は、例えば、デジタルカメラにおけるも
のである。ユーザがより多数のピクチャを撮影することを望み、既に格納された
ピクチャの品質を犠牲にすることをいとわなかった場合、既存のイメージのより
低いビットプレーンを除去して、新しいピクチャのためにストレージを開放する
ことができる。
記載するが、これは、値0が値1よりもおそらくはるかに多い二進データのため
の汎用符号化器として、大変有用である可能性がある。これは特に、確率分布が
絶えず変化している場合において真である。例えば、480×640ピクセルの
解像度で走査された白黒の描画を符号化する問題を考察する。白=0および黒=
1のマッピングを仮定すると、ARLGR符号化器を直接データへ適用すること
ができる。しかし、符号化器240は、1のランをあまりよく処理せず、そのた
め、差分演算子が最初にピクセルのすべての行に渡って適用される。2番目の行
で開始して下へ移動し、各ピクセル値が、上の行における同じピクセルと同一色
を有した場合は0で、異なる色を有した場合は1で置き替えられる。これが、列
に渡って繰り返される。結果として生じたビットが、ARLGR符号化器240
により符号化される。
かなる損失もない。これにより、データがARLGR符号化により適切となる。
表5は、このような簡素な符号化器の性能の、他の手法との比較を示す。
ズムより、性能がほぼ2倍すぐれている。これは、ファックスアルゴリズムによ
って使用されたバイトの55%のみを使用する。実際に、新しいARLGRに基
づいた符号化器は、最新式の適応算術符号化器にすら、この特定のイメージでは
小さい差で優った。加えて、これは最低の計算上の複雑性を有した。これは単な
る一例であり、この結果が、使用されたイメージおよびパラメータの調整に応じ
て変わる可能性があることに留意されたい。
示される。1つの特定のオフィス(登録商標)一式は、812で示された複数の
高レベルアプリケーションを含み、文書処理、Eメール、スプレッドシート、プ
レゼンテーションツール、写真操作プログラムおよびブラウザなどのアプリケー
ションを含む。これらのアプリケーションをサポートすることは、826および
818の、少なくとも2レベル低いソフトウェア、ハードウェア、またはそれら
の組合せの機能である。図示された機能は、ビデオイン/アウト機能826およ
びファックス/スキャナ機能818を含む。多数の他の機能もこのレベルで存在
することができる。
部ソースから受信するための能力を提供する。ビデオおよびファックス/スキャ
ナ機能が、本明細書に記載され、ブロック832に示された符号化器および復号
器を利用して、先に記載されたような符号化および復号機能を提供する。生のイ
メージまたは他の適切なデータが、ピクセルまたは他の形式において取り込まれ
、符号化器832が使用されてこれを符号化する。さらに、符号化されたデータ
が、本明細書に記載されたタイプの符号化を使用するいずれかのソースから得ら
れた場合、832の復号器が、それを受信するアプリケーションによって呼び出
されて、それを表示可能あるいは使用可能なフォーマットに変換あるいは復号す
る。
ケーションも統合することができる後続の製品など、統合されたオフィス一式な
どを含むことができる多数のアプリケーションが、圧縮あるいは解凍(deco
mpress)される必要のあるデータを処理する可能性がますます高いことに
留意されたい。本発明は、他の形式の符号化の代替物を提供し、これはJPEG
に存在するブロッキングアーチファクトを除去し、ソフトウェア、ハードウェア
、または、望まれたような混成形式において、実施することがより複雑でない。
832の符号化器/復号器も、このようなオフィス一式に統合することが容易で
ある。
構造を使用する必要なしに大小のウェーブレット係数が分離したグループにクラ
スタ化される。次いで、係数が適応的に、ランレングスコードに基づいて符号化
され、これは、量子化された係数のストリングを表現するために使用されたコー
ドワードを制御するパラメータを継続的に修正し、コードワードにおいて使用さ
れたビット数を最小化することを求める。順序付けパターンが固定され、係数符
号化が、各イメージについて修正されたテーブルを必要としないので、本発明は
、より容易なハードウェアまたはソフトウェア実施に役立つ。さらなる利点には
、ブロッキングアーチファクトの解消、および、イメージデータのためのいかな
る所望の圧縮率のための単一パス符号化も含まれる。
号化された係数の復号が最初に実行され、その後に係数のアンシャッフルが続く
。次いで、アンシャッフルされた係数が、逆ウェーブレット変換を受けて、イメ
ージピクセルなど、変換され圧縮されたデータが回復される。適応算術符号化を
、並べ替えに関連して使用して、類似の圧縮の利点を得ることもできるが、わず
かに高い複雑さを伴う。
のための別々のリストの使用を必要としないことによって、ハードウェア実施が
より構築しやすい。この応用例は、本発明のいかなる適合または変形形態をも包
含することを意図されるものである。本発明が特許請求の範囲およびその均等物
によってのみ限定されることが、明白に意図されるものである。
る符号化器のブロック図である。
フルする復号器のブロック図である。
ロック図である。
すフローチャートである。
である。
書込みを示すフローチャートである。
アアプリケーション一式における使用を示すブロック図である。
改善されたウェーブレット符号化および復号に関する。
対する1つの解決策が、Ordentlich E.他の文献、「A low
complexity modeling approach for emb
edded coding of wavelet compression
coefficients」 Proceedings DCC ′98Dat
a Compression Conference(CAT.No.98TB
100225),Proceedings DCC ′98Data Comp
ression Conference,Snowbird,UT,USA,3
0March−1 April 1998,page408−417,XP00
0925096 1998 LosAlamitos,CA,USA,IEEE
Comput.Soc,USA ISBN 0−8186−8406−2によ
り開示されている。Ordentlichは2段階のプロセスを開示しており、
そこでは係数の一集合(a set of coefficiences)が、
その集合の外にある、前もって符号化された情報に応じて複数の係数の集合に分
解される。第2の段階では、選択される順序付け(ordering)によって
制約される通常のコンテキストモデル化を使用して複数の係数の集合を分解する
。この場合、結果として生じるキャラクタは、適応ランレングスGolomb−
Rice符号化器を使用して符号化される。 ウェーブレット圧縮係数および同様の有限アルファベットデータに作用し、ハ
ードウェアやソフトウェアでも実施されるような、簡素な符号化技術への要求が
ある。
Claims (30)
- 【請求項1】 有限アルファベットデータキャラクタを符号化する方法であ
って、 適応ランレングス符号化器のストリング長を初期化すること、 符号化パラメータに基づいて前記ストリング長を修正すること、および、 既に符号化されたキャラクタに基づいて前記符号化パラメータを修正すること
を含むことを特徴とする方法。 - 【請求項2】 前記符号化パラメータは、予想されたキャラクタに遭遇する
たびに増加されることを特徴とする請求項1に記載の方法。 - 【請求項3】 前記予想されたキャラクタはゼロであることを特徴とする請
求項2に記載の方法。 - 【請求項4】 前記符号化パラメータは、予想されたキャラクタに遭遇しな
いたびに減少されることを特徴とする請求項1に記載の方法。 - 【請求項5】 前記予想されたキャラクタはゼロであることを特徴とする請
求項4に記載の方法。 - 【請求項6】 前記キャラクタは、ビットプレーンに基づいて符号化される
ことを特徴とする請求項1に記載の方法。 - 【請求項7】 最下位のビットプレーンは、二進符号化を使用して符号化さ
れることを特徴とする請求項6に記載の方法。 - 【請求項8】 前記符号化の解像度を修正するために最上位のビットプレー
ンのみが符号化されることを特徴とする請求項6に記載の方法。 - 【請求項9】 ゼロのストリングは、小さい値によって表現されることを特
徴とする請求項1に記載の方法。 - 【請求項10】 より長いストリングについて一般により短い値によってス
トリングを表現すること、および、プロジレッシブ符号化されたビットストリー
ムを提供することをさらに含むことを特徴とする請求項1に記載の方法。 - 【請求項11】 請求項1に記載の方法をコンピュータに実行させる命令が
格納されていることを特徴とするコンピュータ読取り可能媒体。 - 【請求項12】 有限アルファベットデータを符号化する方法であって、 適応ランレングス符号化器のストリング長を初期化すること、および、 累乗kによって前記ストリング長を修正することを含み、kは適応パラメータ
であり、さらに、 ゼロが符号化されるたびに前記適応パラメータkを増加すること、および、 1が符号化されるたびに前記適応パラメータkを減少することを含み、ストリ
ング長は、ビットプレーンに基づいて符号化されるシンボルによって表現される
こと を特徴とする方法。 - 【請求項13】 kは整数であり、符号化パラメータを一度に小数だけイン
クリメントするためにスケールファクタLが使用されることを特徴とする請求項
12に記載の方法。 - 【請求項14】 前記データはウェーブレット変換係数を含むことを特徴と
する請求項12に記載の方法。 - 【請求項15】 前記データは生物測定値を表すことを特徴とする請求項1
2に記載の方法。 - 【請求項16】 前記データは、ファックスされるイメージの走査を表すこ
とを特徴とする請求項12に記載の方法。 - 【請求項17】 有限アルファベットデータを符号化するための符号化器で
あって、 適応ランレングス符号化器のストリング長を初期化する手段と、 符号化パラメータに基づいて前記ストリング長を修正する手段と、 既に符号化されたデータに基づいて前記符号化パラメータを修正する手段と を含むことを特徴とする符号化器。 - 【請求項18】 コンピュータによって復号するための圧縮されたイメージ
を表現するデータ構造が格納されているコンピュータ読取り可能媒体であって、
前記データ構造は、 1およびゼロのストリングを表現する複数の値と、 選択されたストリングの長さを修正するために使用される、先に符号化された
データに基づいて選択されたゼロのストリングに関連付けられた符号化パラメー
タと を含むことを特徴とするコンピュータ読取り可能媒体。 - 【請求項19】 請求項18の符号化器によって符号化されたデータを復号
することを特徴とする復号器。 - 【請求項20】 バックワード適応ランレングス符号化を使用して、符号化
された有限アルファベットデータキャラクタを復号する方法であって、 適応ランレングス復号器のストリング長を初期化すること、 復号パラメータに基づいて前記ストリング長を修正すること、および、 既に復号されたキャラクタに基づいて前記符号化パラメータを修正すること を含むことを特徴とする方法。 - 【請求項21】 前記復号パラメータは、予想されたキャラクタに遭遇する
たびに増加されることを特徴とする請求項20に記載の方法。 - 【請求項22】 前記予想されたキャラクタはゼロであることを特徴とする
請求項22に記載の方法。 - 【請求項23】 前記復号パラメータは、予想されたキャラクタに遭遇しな
いたびに減少されることを特徴とする請求項20に記載の方法。 - 【請求項24】 前記予想されたキャラクタはゼロであることを特徴とする
請求項23に記載の方法。 - 【請求項25】 前記キャラクタはビットプレーンに基づいて復号されるこ
とを特徴とする請求項20に記載の方法。 - 【請求項26】 最下位のビットプレーンは、二進符号化を使用して復号さ
れることを特徴とする請求項25に記載の方法。 - 【請求項27】 前記復号の解像度を修正するために最上位のビットプレー
ンのみが復号されることを特徴とする請求項26に記載の方法。 - 【請求項28】 ゼロのストリングは、小さい値によって表現されることを
特徴とする請求項20に記載の方法。 - 【請求項29】 バックワード適応ランレングス符号化を使用して、符号化
された有限アルファベットデータキャラクタを復号する方法をコンピュータに実
行させるためのコンピュータ実行可能命令が格納されているコンピュータ読取り
可能媒体であって、前記方法は、 適応ランレングス復号器のストリング長を初期化すること、 復号パラメータに基づいて前記ストリング長を修正すること、および、 既に復号されたキャラクタに基づいて前記符号化パラメータを修正すること を含むことを特徴とするコンピュータ読取り可能媒体。 - 【請求項30】 有限アルファベットデータを復号するための復号器であっ
て、 適応ランレングス符号化されたデータを復号するためのストリング長を初期化
する手段と、 復号パラメータに基づいて前記ストリング長を修正する手段と、 既に復号されたデータに基づいて前記符号化パラメータを修正する手段と を含むことを特徴とする復号器。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/280,135 | 1999-03-26 | ||
US09/276,954 | 1999-03-26 | ||
US09/277,255 | 1999-03-26 | ||
US09/276,954 US6850649B1 (en) | 1999-03-26 | 1999-03-26 | Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding |
US09/277,255 US6477280B1 (en) | 1999-03-26 | 1999-03-26 | Lossless adaptive encoding of finite alphabet data |
US09/280,135 US6678419B1 (en) | 1999-03-26 | 1999-03-26 | Reordering wavelet coefficients for improved encoding |
PCT/US2000/007955 WO2000059116A1 (en) | 1999-03-26 | 2000-03-24 | Lossless adaptive encoding of finite alphabet data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002540711A true JP2002540711A (ja) | 2002-11-26 |
JP4426118B2 JP4426118B2 (ja) | 2010-03-03 |
Family
ID=27402856
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000608618A Expired - Fee Related JP4540855B2 (ja) | 1999-03-26 | 2000-03-24 | ウェーブレット係数の並べ替えを使用したイメージ符号化 |
JP2000608507A Expired - Fee Related JP4426118B2 (ja) | 1999-03-26 | 2000-03-24 | 有限アルファベットデータのロスレス適応符号化 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000608618A Expired - Fee Related JP4540855B2 (ja) | 1999-03-26 | 2000-03-24 | ウェーブレット係数の並べ替えを使用したイメージ符号化 |
Country Status (7)
Country | Link |
---|---|
EP (2) | EP1166565B1 (ja) |
JP (2) | JP4540855B2 (ja) |
KR (1) | KR100733949B1 (ja) |
AT (2) | ATE272925T1 (ja) |
AU (3) | AU3922200A (ja) |
DE (2) | DE60012717T2 (ja) |
WO (3) | WO2000059231A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005333622A (ja) * | 2004-04-15 | 2005-12-02 | Microsoft Corp | イメージおよびビデオの予測可逆符号化 |
JP2011521536A (ja) * | 2008-05-02 | 2011-07-21 | マイクロソフト コーポレーション | 並べ替えられた変換係数のマルチレベル表現 |
US8712783B2 (en) | 2002-09-04 | 2014-04-29 | Microsoft Corporation | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU770148B2 (en) * | 2000-12-06 | 2004-02-12 | Canon Kabushiki Kaisha | Digital image compression and decompression |
AUPR192800A0 (en) | 2000-12-06 | 2001-01-04 | Canon Kabushiki Kaisha | Digital image compression and decompression |
US6798364B2 (en) | 2002-02-05 | 2004-09-28 | Intel Corporation | Method and apparatus for variable length coding |
US20060072834A1 (en) * | 2003-04-17 | 2006-04-06 | Lynch William C | Permutation procrastination |
US7286945B2 (en) * | 2003-11-19 | 2007-10-23 | Honeywell International Inc. | Apparatus and method for identifying possible defect indicators for a valve |
US7274995B2 (en) * | 2003-11-19 | 2007-09-25 | Honeywell International Inc. | Apparatus and method for identifying possible defect indicators for a valve |
KR101155525B1 (ko) * | 2005-06-20 | 2012-06-19 | 삼성전자주식회사 | 기록/재생 장치 및 방법 |
WO2008070843A2 (en) * | 2006-12-07 | 2008-06-12 | Qualcomm Incorporated | Line-based video rate control and compression |
FR2934103B1 (fr) * | 2008-07-16 | 2010-08-27 | Sagem Securite | Procede et systeme de transmission securisee d'une image entre deux points distants |
CN108028928B (zh) * | 2015-09-18 | 2021-02-19 | 皇家飞利浦有限公司 | 用于快速和高效的图像压缩和解压缩的方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321776A (en) * | 1992-02-26 | 1994-06-14 | General Electric Company | Data compression system including successive approximation quantizer |
US5717394A (en) * | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
JP3943634B2 (ja) * | 1995-11-02 | 2007-07-11 | キヤノン株式会社 | 情報処理装置及び方法 |
US5818877A (en) * | 1996-03-14 | 1998-10-06 | The Regents Of The University Of California | Method for reducing storage requirements for grouped data values |
IL119523A0 (en) * | 1996-10-30 | 1997-01-10 | Algotec Systems Ltd | Data distribution system |
JP3213582B2 (ja) * | 1997-05-29 | 2001-10-02 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
JP2002501532A (ja) * | 1997-05-30 | 2002-01-15 | メルク エンド カンパニー インコーポレーテッド | 新規血管形成阻害薬 |
EP0940994B1 (en) * | 1998-03-06 | 2014-04-16 | Canon Kabushiki Kaisha | Image processing apparatus and method and storage medium storing steps realizing such method |
-
2000
- 2000-03-24 WO PCT/US2000/007831 patent/WO2000059231A1/en active Application Filing
- 2000-03-24 EP EP00916649A patent/EP1166565B1/en not_active Expired - Lifetime
- 2000-03-24 DE DE2000612717 patent/DE60012717T2/de not_active Expired - Lifetime
- 2000-03-24 KR KR1020017012203A patent/KR100733949B1/ko active IP Right Grant
- 2000-03-24 AU AU39222/00A patent/AU3922200A/en not_active Abandoned
- 2000-03-24 AU AU37723/00A patent/AU3772300A/en not_active Abandoned
- 2000-03-24 WO PCT/US2000/007832 patent/WO2000059232A1/en active IP Right Grant
- 2000-03-24 EP EP00918402A patent/EP1188244B1/en not_active Expired - Lifetime
- 2000-03-24 AT AT00916649T patent/ATE272925T1/de not_active IP Right Cessation
- 2000-03-24 AU AU39169/00A patent/AU3916900A/en not_active Abandoned
- 2000-03-24 WO PCT/US2000/007955 patent/WO2000059116A1/en active Search and Examination
- 2000-03-24 DE DE60015755T patent/DE60015755T2/de not_active Expired - Lifetime
- 2000-03-24 JP JP2000608618A patent/JP4540855B2/ja not_active Expired - Fee Related
- 2000-03-24 JP JP2000608507A patent/JP4426118B2/ja not_active Expired - Fee Related
- 2000-03-24 AT AT00918402T patent/ATE282260T1/de not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8712783B2 (en) | 2002-09-04 | 2014-04-29 | Microsoft Corporation | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes |
US9390720B2 (en) | 2002-09-04 | 2016-07-12 | Microsoft Technology Licensing, Llc | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes |
JP2005333622A (ja) * | 2004-04-15 | 2005-12-02 | Microsoft Corp | イメージおよびビデオの予測可逆符号化 |
JP2011521536A (ja) * | 2008-05-02 | 2011-07-21 | マイクロソフト コーポレーション | 並べ替えられた変換係数のマルチレベル表現 |
US9172965B2 (en) | 2008-05-02 | 2015-10-27 | Microsoft Technology Licensing, Llc | Multi-level representation of reordered transform coefficients |
Also Published As
Publication number | Publication date |
---|---|
EP1188244B1 (en) | 2004-11-10 |
WO2000059232A1 (en) | 2000-10-05 |
JP4426118B2 (ja) | 2010-03-03 |
EP1166565B1 (en) | 2004-08-04 |
EP1166565A1 (en) | 2002-01-02 |
WO2000059116A1 (en) | 2000-10-05 |
ATE282260T1 (de) | 2004-11-15 |
DE60012717T2 (de) | 2005-01-13 |
DE60015755T2 (de) | 2005-04-07 |
AU3916900A (en) | 2000-10-16 |
AU3922200A (en) | 2000-10-16 |
KR20020008133A (ko) | 2002-01-29 |
KR100733949B1 (ko) | 2007-07-02 |
JP4540855B2 (ja) | 2010-09-08 |
EP1188244A1 (en) | 2002-03-20 |
DE60012717D1 (de) | 2004-09-09 |
ATE272925T1 (de) | 2004-08-15 |
AU3772300A (en) | 2000-10-16 |
JP2002540740A (ja) | 2002-11-26 |
DE60015755D1 (de) | 2004-12-16 |
WO2000059231A1 (en) | 2000-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6850649B1 (en) | Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding | |
US6477280B1 (en) | Lossless adaptive encoding of finite alphabet data | |
US6678419B1 (en) | Reordering wavelet coefficients for improved encoding | |
US7110609B2 (en) | System and method for progressively transform coding digital data | |
Schwartz et al. | Implementation of compression with reversible embedded wavelets | |
CA2775622C (en) | System and method for progressively transforming and coding digital data | |
US6356665B1 (en) | Quad-tree embedded image compression and decompression method and apparatus | |
JP4365957B2 (ja) | 画像処理方法及びその装置及び記憶媒体 | |
US20020018597A1 (en) | Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium | |
JP2006502604A (ja) | 任意形状オブジェクトの画像圧縮方法 | |
JP4426118B2 (ja) | 有限アルファベットデータのロスレス適応符号化 | |
US7346218B2 (en) | Method and apparatus for encoding and decoding subband decompositions of signals | |
US7551788B2 (en) | Digital image coding device and method for noise removal using wavelet transforms | |
US9077960B2 (en) | Non-zero coefficient block pattern coding | |
Zandi et al. | CREW lossless/lossy medical image compression | |
WO1998054841A1 (en) | Data compressing device by permutation encoding and decompressing device | |
US20110091119A1 (en) | Coding apparatus and coding method | |
Hilles et al. | Image coding techniques in networking | |
Bilgin et al. | JPEG2000: Highly scalable image compression | |
Bindulal et al. | Adaptive Scalable Wavelet Difference Reduction Method for Efficient Medical Image Transmission | |
JP2001352543A (ja) | 画像符号化システム及び画像符号化装置及び方法及び記憶媒体 | |
Lossless | Compress System couple crowd lax lena man woman1 woman2 | |
Abul-Hassan | Multimedia Networking review paper | |
Saksena | Wavelet-based image compression | |
Metta | A DWT-DCT image compression scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070202 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090819 |
|
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: 20091208 |
|
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: 20091210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4426118 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131218 Year of fee payment: 4 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |