JPH1084484A - Data compression system - Google Patents

Data compression system

Info

Publication number
JPH1084484A
JPH1084484A JP10979097A JP10979097A JPH1084484A JP H1084484 A JPH1084484 A JP H1084484A JP 10979097 A JP10979097 A JP 10979097A JP 10979097 A JP10979097 A JP 10979097A JP H1084484 A JPH1084484 A JP H1084484A
Authority
JP
Japan
Prior art keywords
data compression
compression system
image
data
bit
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
Application number
JP10979097A
Other languages
Japanese (ja)
Other versions
JP3989999B2 (en
Inventor
F Keith Alexander
エフ キース アレクサンダー
L Schwarz Edward
エル シュワルツ エドワード
Zandi Ahmad
ザンディ アーマド
Borlick Martin
ボーリック マーティン
J Gomissh Michael
ジェー ゴーミッシュ マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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
Priority claimed from US08/642,518 external-priority patent/US5881176A/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JPH1084484A publication Critical patent/JPH1084484A/en
Application granted granted Critical
Publication of JP3989999B2 publication Critical patent/JP3989999B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To properly compress an image, including two kinds of image which are an image of a naturally continuous gradation and an image of binary/noise free/shallow pixel density by the same system. SOLUTION: A mode selection mechanism 110 discriminates whether the input image data 110 are a continuous gradation image or a binary image or which part of the image has such a characteristics so as to select the mode, and the input image data 110 gives the part to wavelet system coders (a reversible wavelet transformation block 102, an imbeded sequencing quantization block 103, and a horizontal context model block 105) or a binary system coder (a gray coding block 104). Each coder has the same entropy coder 106 in common.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はデータ圧縮及び伸長
システムの分野に係り、特に、圧縮/伸長システムにお
けるデータの非損失性(lossless)及び損失性(loss
y)の符号化及び復号化の方法と装置に関する。
FIELD OF THE INVENTION The present invention relates to the field of data compression and decompression systems, and more particularly to lossless and lossy data in compression / decompression systems.
y) encoding and decoding method and apparatus.

【0002】[0002]

【従来の技術】データ圧縮は、大量のデータの蓄積及び
伝送のために非常に有用なツールである。例えば、文書
のファクシミリ伝送のような画像伝送に要する時間は、
圧縮を利用して画像再生に必要とされるビット数を減ら
すと飛躍的に短縮される。
BACKGROUND OF THE INVENTION Data compression is a very useful tool for storing and transmitting large amounts of data. For example, the time required for image transmission, such as facsimile transmission of documents,
If compression is used to reduce the number of bits required for image reproduction, the time will be dramatically reduced.

【0003】従来より、多くの様々なデータ圧縮手法が
存在している。圧縮手法は、おおまかに分類すると2つ
のカテゴリー、つまり損失性符号化と非損失性符号化と
に分けることができる。損失性符号化とは、情報の損失
を生じ、したがって元のデータの完全な再現が保証され
ない符号化のことである。損失性符号化の目標とすると
ころは、元のデータから変わったとしても、その変化が
不快であったり目だったりしないようにすることであ
る。非損失性圧縮では、情報がすべて保存され、データ
は完全な復元が可能な方法で圧縮される。
[0003] There have been many different data compression techniques. Compression techniques can be broadly classified into two categories: lossy coding and lossless coding. Lossy coding is a coding that results in a loss of information and thus does not guarantee complete reproduction of the original data. The goal of lossy encoding is to keep the changes from being unpleasant or noticeable, even if they have changed from the original data. In lossless compression, all information is preserved, and the data is compressed in a way that allows full decompression.

【0004】非損失性圧縮では、入力シンボルもしくは
輝度データが出力符号語に変換される。入力としては、
画像データ、音声データ、1次元データ(例えば空間的
または時間的に変化するデータ)、2次元データ(例え
ば2つの空間軸方向に変化する(または1つの空間次元
と1つの時間次元で変化する)データ)、あるいは多次
元/マルチスペクトルのデータがあろう。圧縮がうまく
いけば、その符号語は、符号化前の入力シンボル(また
は輝度データ)のために必要とされたビット数より少な
いビット数で表現される。非損失性符号化法には、辞書
符号化方式(例えば、Lempel-Ziv 方式)、ランレング
ス符号化方式、計数符号化方式、エントロピー符号化方
式がある。非損失性の画像圧縮では、圧縮は予測または
コンテキストと符号化に基づいている。ファクシミリ圧
縮用JBIG規格と、連続階調画像用のDPCM(差分
パルス符号変調−JPEG規格のオプション)は画像用
の非損失性圧縮の例である。損失性圧縮では、入力シン
ボルまたは輝度データは、量子化されてから出力符号語
へ変換される。量子化は、データの重要な特徴量を保存
する一方、重要でない特徴量を除去することを目的とし
ている。損失性圧縮システムは、量子化に先立ち、エネ
ルギー集中をするための変換を利用することが多い。J
PEGは画像データ用の損失性符号化法の一例である。
[0004] In lossless compression, input symbols or luminance data are converted to output codewords. As input,
Image data, audio data, one-dimensional data (for example, data that changes spatially or temporally), and two-dimensional data (for example, changes in two spatial axes (or changes in one spatial dimension and one time dimension)) Data) or multi-dimensional / multi-spectral data. If compression is successful, the codeword is represented with fewer bits than were required for the input symbol (or luminance data) before encoding. The lossless coding method includes a dictionary coding method (for example, Lempel-Ziv method), a run-length coding method, a counting coding method, and an entropy coding method. In lossless image compression, compression is based on prediction or context and coding. The JBIG standard for facsimile compression and the DPCM (differential pulse code modulation-JPEG standard option) for continuous tone images are examples of lossless compression for images. In lossy compression, input symbols or luminance data are quantized and then converted to output codewords. Quantization aims at preserving important features of data while removing unimportant features. Lossy compression systems often utilize transforms to concentrate energy prior to quantization. J
PEG is an example of a lossy encoding method for image data.

【0005】画像信号処理における近年の開発は、効率
的かつ高精度のデータ圧縮符号化方式を追求することに
関心を集中してきた。変換またはピラミッド信号処理の
様々な方式が提案されており、その中に多重解像度ピラ
ミッド処理方式とウエーブレット(wavelet)ピラミッ
ド処理方式とがある。これら2方式はサブバンド処理方
式及び階層処理方式とも呼ばれる。画像データのウエー
ブレット・ピラミッド処理方式は、直交ミラーフィルタ
(QMF)を用いてオリジナル画像のサブバンド分解を
する特殊な多重解像度ピラミッド処理方式である。他の
非QMFウエーブレット方式もある。ウエーブレット処
理方式に関し、これ以上の情報を得るにはAntonini,
M.,et al.,”Image Coding Using Wavelet Tra
nsform”, IEEE Transactions on Image Processin
g,Vol.1,No.2,April1992、及びShapiro,
J.,”An Embedded Hierarchical Image CoderU
sing Zerotrees of Wavelet Coefficients”,Pro
c.IEEE DataCompression Conference,pgs.214-22
3,1993を参照されたい。また、可逆変換に関する情報
を得るには、Said,A.and Pearlman,W.”Revers
ibleImage Compression via Multiresolution Repr
esentation and PredictiveCoding”,Dept.of El
ectrical,Computer and System Engineering,Ren
ssealaer Polytechnic Institute,Troy,NY 1993
を参照されたい。
[0005] Recent developments in image signal processing have focused on pursuing efficient and accurate data compression encoding schemes. Various schemes of transformation or pyramid signal processing have been proposed, including a multi-resolution pyramid processing scheme and a wavelet pyramid processing scheme. These two systems are also called a subband processing system and a hierarchical processing system. The wavelet pyramid processing method for image data is a special multi-resolution pyramid processing method for performing subband decomposition of an original image using a quadrature mirror filter (QMF). There are other non-QMF wavelet schemes. For more information on the wavelet processing method, see Antonini,
M., et al., "Imaging Coding Using Wavelet Tra.
nsform ", IEEE Transactions on Image Processin
g, Vol. 1, No. 2, April 1992, and Shapiro,
J., "An Embedded Hierarchical Image CoderU
sing Zerotrees of Wavelet Coefficients ”, Pro
c. IEEE Data Compression Conference, pgs. 214-22
See 3, 1993. To obtain information on the reversible conversion, Said, A. et al. and Pearlman, W.C. "Revers
ibleImage Compression via Multiresolution Repr
esentation and Predictive Coding ”, Dept. of El
ectrical, Computer and System Enginering, Ren
ssealaer Polytechnic Institute, Troy, NY 1993
Please refer to.

【0006】圧縮は、しばしば非常に時間がかかり、ま
た膨大なメモリを必要とする。より高速に、かつ/又
は、可能なかぎり少ないメモリで、圧縮を行うのが望ま
しい。品質を保証できない、圧縮率が不十分である、あ
るいはデータレートが制御可能でないという理由で、圧
縮を利用しなかった応用分野もある。しかし、伝送及び
/又は記憶すべき情報量を減らすため圧縮を利用するの
が望ましい。
[0006] Compression is often very time consuming and requires a large amount of memory. It is desirable to perform the compression faster and / or with as little memory as possible. In some applications, compression was not used because quality could not be guaranteed, the compression ratio was insufficient, or the data rate was not controllable. However, it is desirable to use compression to reduce the amount of information to be transmitted and / or stored.

【0007】従来技術に、自然連続階調画像を扱うため
の圧縮システムがある。その一例が、国際標準Dis.10
918-1,”Digital Compression and Coding ofCont
inuous-Tone Still Images”,CCITT勧告T.81で
あり、これは通常、JPEGと呼ばれる。従来技術に、
2値/ノイズフリー/浅画素深度画像を扱うための圧縮
システムもある。そのようなシステムの一例が、国際標
準ISO/IEC 11544,”Information Technology
-Coded Repersentation of Picture and Audio In
formation-Progressive Bi-level Image Compressi
on”,CCITT勧告T.82であり、これは通常、JBIG
と呼ばれる。しかしながら、従来技術には両方を適切に
処理するシステムがない。そのようなシステムがあると
望ましい。
The prior art includes a compression system for handling natural continuous tone images. One example is the international standard Dis. Ten
918-1, "Digital Compression and Coding of Cont
inuous-Tone Still Images ", CCITT Recommendation T.81, which is commonly referred to as JPEG.
There are also compression systems for handling binary / noise-free / shallow pixel depth images. One example of such a system is the international standard ISO / IEC 11544, "Information Technology.
-Codded Repersentation of Picture and Audition
formation-Progressive Bi-level Image Compressi
on ”, CCITT Recommendation T.82, which is usually
Called. However, there is no system in the prior art that handles both properly. It would be desirable to have such a system.

【0008】パーサ(parser)はコンピュータ科学にお
いて周知である。パーサは、構造が初めは分かっていな
いオブジェクトの種々の部分に意義付けする役割があ
る。例えば、コンパイラの一部として動作するあるパー
サは、プログラム・ファイル中のある文字列が”識別
子”であり、別の文字列が予約語を構成し、また別の文
字列がコメントの部分であると決定するだろう。このパ
ーサは、文字列がどういう”意味”であるかを判定する
のではなく、対象のどういう種類の部分であるかを判断
するだけである。
[0008] Parsers are well known in the computer science. The parser is responsible for signifying various parts of the object whose structure is not initially known. For example, some parsers that operate as part of a compiler have one string in the program file as an "identifier", another string constitutes a reserved word, and another string as a comment. Will decide. This parser does not judge what "meaning" the character string is, but only what kind of part of the object it is.

【0009】ほとんどの画像記憶フォーマットは単一用
途のものである。すなわち、単一の解像度または単一の
品質レベルしか利用できない。他の画像フォーマットは
多用途が可能である。従来技術の多用途画像フォーマッ
トの中には、2つ又は3つの解像度/品質の選択肢をサ
ポートするものもあるが、解像度又は品質の一方しか指
定できず、両方は指定できないものもある。利用できる
解像度及び品質の選択肢を増加させることが望ましい。
[0009] Most image storage formats are single use. That is, only a single resolution or a single quality level is available. Other image formats are versatile. Some prior art versatile image formats support two or three resolution / quality options, but some can only specify one of resolution or quality, but not both. It is desirable to increase the available resolution and quality options.

【0010】例えば、インターネットのワールド・ワイ
ド・ウェブサーバーは、現在、大量のデータの中から必
要とされる情報を提供する。普通、ユーザは画面上で多
数の画像を閲覧し、いくつかを印刷することに決めるこ
とができる。しかし残念ながら、閲覧ツールの現状で
は、画像が主にモニタ用のものであると印刷出力の品質
がかなり悪くなってしまい、画像が主に印刷用のもので
あると閲覧時間が極端に長くなってしまう。”非損失
の”画像の取得は、不可能であるか、あるいは、全く独
自のダウンロードとしてなされねばならない。
[0010] For example, the Internet World Wide Web server currently provides the required information from a large amount of data. Normally, a user can view many images on a screen and decide to print some. Unfortunately, in the current state of browsing tools, the quality of the printed output is considerably poor if the image is mainly for monitoring, and the viewing time will be extremely long if the image is mainly for printing. Would. Acquisition of "lossless" images is either impossible or must be done as a completely independent download.

【0011】[0011]

【発明が解決しようとする課題】本発明の一般的な目的
は、良好なエネルギー集中をもたらす変換を利用する損
失性及び非損失性のデータ圧縮システムを提供すること
にある。より具体的に述べれば、本発明の目的は、自然
連続階調の画像、2値/ノイズフリー/浅画素深度の画
像、及び、その両方の種類のデータを含む画像を適切に
処理できるデータ処理システムを提供すること、様々な
解像度/品質の画像フォーマットをサポートできるデー
タ圧縮システムを提供すること、並びに、画像出力装置
より与えられる装置特性に応じて装置依存の量子化を遂
行するパーサを含むデータ圧縮装置を提供することにあ
る。
SUMMARY OF THE INVENTION It is a general object of the present invention to provide a lossy and non-lossy data compression system that utilizes a transform that provides good energy concentration. More specifically, an object of the present invention is to provide a data processing apparatus capable of appropriately processing a natural continuous tone image, a binary / noise-free / shallow pixel depth image, and an image including both types of data. Providing a system, providing a data compression system that can support various resolution / quality image formats, and data including a parser that performs device-dependent quantization according to device characteristics provided by an image output device A compression device is provided.

【0012】[0012]

【課題を解決するための手段】請求項1乃至11の各項
記載の発明によるデータ圧縮システムは、可逆埋め込み
ウェーブレットにより画像データを圧縮するウェーブレ
ット方式のコーダ、バイナリ符号化スキームにより画像
データを圧縮するバイナリ方式のコーダ、及び、ウェー
ブレット方式又はバイナリ方式を選択するために接続さ
れた選択制御部からなる。請求項2記載の発明によれ
ば、ウェーブレット方式のコーダは可逆ウェーブレット
変換部、該可逆ウェーブレット変換部に接続された埋め
込み順序付け量子化器、及び、該埋め込み順序付け量子
化器に接続されたコンテキストモデルからなる。請求項
3記載の発明によれば、ウェーブレット方式のコーダは
エントロピー・コーダをさらに含む。請求項4記載の発
明によれば、ウェーブレット方式はグレイ符号化を実行
する。また、請求項5記載の発明によれば、ウェーブレ
ット方式とバイナリ方式は一つの符号化器を共有する。
請求項6記載の発明によれば、データ圧縮システムはエ
ントロピー・コーダをさらに含む。請求項7記載の発明
によればエントロピー・コーダは有限状態マシン・コー
ダからなり、請求項8記載の発明によれば、有限状態マ
シン・コーダはルックアップテーブルからなる。請求項
9記載の発明によればエントロピー・コーダはQコーダ
からなり、請求項10記載の発明によればエントロピー
・コーダはQMコーダからなり、請求項11記載の発明
によれば並列コーダからなる。
According to a first aspect of the present invention, there is provided a data compression system for compressing image data by a reversible embedding wavelet. The data compression system compresses image data by a binary encoding scheme. It consists of a binary coder and a selection control unit connected to select the wavelet method or the binary method. According to the second aspect of the present invention, the coder of the wavelet system comprises a reversible wavelet transform unit, an embedding ordering quantizer connected to the reversible wavelet transform unit, and a context model connected to the embedding ordering quantizer. Become. According to the invention described in claim 3, the coder of the wavelet system further includes an entropy coder. According to the fourth aspect of the present invention, the wavelet method performs Gray coding. According to the invention of claim 5, the wavelet method and the binary method share one encoder.
According to the invention of claim 6, the data compression system further includes an entropy coder. According to the invention of claim 7, the entropy coder comprises a finite state machine coder, and according to the invention of claim 8, the finite state machine coder comprises a look-up table. According to the ninth aspect of the present invention, the entropy coder comprises a Q coder, according to the tenth aspect, the entropy coder comprises a QM coder, and according to the eleventh aspect, a parallel coder.

【0013】請求項12乃至19の各項記載の発明によ
るデータ圧縮システムは、可逆ウェーブレット変換部、
該可逆ウェーブレット変換部に接続された埋め込み順序
付け量子化器、該埋め込み順序付け量子化器に接続され
たコンテキストモデル、埋め込みバイナリ方式符号化機
構、及び該コンテキストモデル及び該埋め込みバイナリ
方式符号化機構に接続されたエントロピー・コーダを含
み、該可逆ウェーブレット変換、該埋め込み順序付け量
子化器及び該コンテキストモデルは可逆埋め込みウェー
ブレットにより画像データを圧縮するように動作可能で
あり、該バイナリ方式符号化機構はバイナリ符号化スキ
ームにより画像データを圧縮するように動作可能であ
り、さらに、当該システムはウェーブレット方式又はバ
イナリ方式を選択するために接続された選択制御部を含
む。請求項13記載の発明によればバイナリ方式はグレ
イ符号化を実行する。請求項14記載の発明によればエ
ントロピー・コーダは有限状態マシン・コーダからな
り、請求項15記載の発明によれば有限状態マシン・コ
ーダはルックアップテーブルからなる。請求項16記載
の発明によればエントロピー・コーダはQコーダからな
り、請求項17記載の発明によればエントロピー・コー
ダはQMコーダからなり、請求項18記載の発明によれ
ばエントロピー・コーダは並列コーダからなる。請求項
19記載の発明によれば、フォワード変換は可逆ウェー
ブレットからなる。
[0013] A data compression system according to the present invention as defined in claims 12 to 19, further comprising: a reversible wavelet transform unit;
An embedding ordering quantizer connected to the lossless wavelet transform unit, a context model connected to the embedding ordering quantizer, an embedding binary encoding mechanism, and connected to the context model and the embedding binary encoding mechanism Wherein the reversible wavelet transform, the embedding ordered quantizer and the context model are operable to compress image data with the reversible embedding wavelet, and wherein the binary encoding scheme comprises a binary encoding scheme. And the system further includes a selection control connected to select between a wavelet format and a binary format. According to the thirteenth aspect, the binary system performs Gray encoding. According to the invention of claim 14, the entropy coder comprises a finite state machine coder, and according to the invention of claim 15, the finite state machine coder comprises a look-up table. According to the invention of claim 16, the entropy coder comprises a Q coder, according to the invention of claim 17, the entropy coder comprises a QM coder, and according to the invention of claim 18, the entropy coder is a parallel coder. Consists of a coder. According to the nineteenth aspect, the forward transform comprises a reversible wavelet.

【0014】請求項20乃至26の各項記載の発明によ
るデータ圧縮システムは、ヒストグラム圧縮機構、該ヒ
ストグラム圧縮機構に接続された可逆ウェーブレット変
換部、該可逆ウェーブレット変換部に接続された埋め込
み順序付け量子化器、該埋め込み順序付け量子化器に接
続されたコンテキスト・モデリング機構、及び該コンテ
キスト・モデリング機構に接続されたコーダからなる。
請求項21記載の発明によればヒストグラム圧縮機構は
ブーリアンヒストグラムを作り、請求項22記載の発明
によればヒストグラム圧縮機構は整数値を画像データ中
の全ての可能な画素値に写像する。請求項23記載の発
明によれば、ヒストグラム圧縮機構で利用されたマッピ
ングを復号化器に通知するために接続された通知機構を
さらに含む。請求項24記載の発明によれば、マッピン
グは復号化器に受け取られた圧縮データに含まれるヘッ
ダで通知される。請求項25記載の発明によれば、ヘッ
ダ中の1つのビットが、それがセットされたときに、カ
レント・タイルのために別のヒストグラムが利用される
ことを復号化器に指示する。請求項26記載の発明によ
れば、復号化器は、値のダイナミックレンジと等しい、
ある数のビットを送ることによって通知され、該ある数
のビット中の各ビットはダイナミックレンジ内の対応し
た値が使われるときにセットされる。
A data compression system according to the present invention is characterized in that a histogram compression mechanism, a reversible wavelet transform section connected to the histogram compression mechanism, and an embedding-ordered quantization connected to the reversible wavelet transform section. A context modeling mechanism connected to the embedding ordering quantizer, and a coder connected to the context modeling mechanism.
According to the twenty-first aspect of the present invention, the histogram compression mechanism creates a boolean histogram, and according to the twenty-second aspect, the histogram compression mechanism maps an integer value to all possible pixel values in the image data. According to the twenty-third aspect, the apparatus further includes a notifying mechanism connected to notify the decoder of the mapping used in the histogram compression mechanism. According to the twenty-fourth aspect, the mapping is notified by a header included in the compressed data received by the decoder. According to the invention of claim 25, one bit in the header, when set, indicates to the decoder that another histogram is to be used for the current tile. According to the invention of claim 26, the decoder equals the dynamic range of the value,
Informed by sending a certain number of bits, each bit of the certain number of bits is set when the corresponding value in the dynamic range is used.

【0015】請求項27乃至43の各項記載の発明によ
るデータ圧縮システムは、少なくとも1つのマーカーを
持つヘッダを有する符号ストリームを格納するメモリ、
少なくとも1つの出力装置、該メモリに接続され、か
つ、該少なくとも1つの出力装置より装置特性を受け取
るように接続されたパーサからなり、該パーサは装置依
存の量子化を実行するように動作可能である。請求項2
8記載の発明によれば、符号ストリームは非損失性圧縮
データからなり、請求項29記載の発明によれば、少な
くとも1つのマーカーは符号ストリーム中の各タイルの
ために用いられた成分の数、サブサンプリング及びアラ
インメントを示し、請求項30記載の発明によれば、符
号ストリームは主ヘッダを含み、符号ストリーム中の各
タイルの前にローカルヘッダが置かれる。請求項31記
載の発明によれば、主ヘッダは符号ストリーム中の全て
のタイルに適用され、各ローカルヘッダは関連したタイ
ルにのみ適用される、請求項32記載の発明によれば、
ローカルヘッダ中の少なくとも1つは主ヘッダに優先す
る。請求項33記載の発明によれば、パーサは符号スト
リーム中のマーカーを符号ストリームを量子化するため
に利用し、請求項34記載の発明によれば、マーカー中
の少なくとも1つは周波数情報を示す。請求項35記載
の発明によれば、データ圧縮システムは符号ストリーム
を生成するための圧縮装置をさらに含む。請求項36記
載の発明によれば、パーサは量子化選択装置からなり、
請求項37記載の発明によれば、量子化選択装置は画像
の集合の変換及び量子化を、様々な係数のビットプレー
ンを捨てることによって行う。請求項38記載の発明に
よれば、タグの1つは各タイル中のデータ内の重要性レ
ベルを示し、請求項39記載の発明によれば、タグは重
要性レベルロケータ信号を示し、該信号に従って該パー
サは打ち切りをする。請求項40記載の発明によれば、
タグは保存すべき重要性レベルの数を示し、請求項41
記載の発明によれば、タグは保存すべきバイトの数を示
す。請求項42記載の発明によれば、タグは重要性レベ
ルとバイト数を関連付ける指示を各タイルに含み、請求
項43記載の発明によれば、少なくとも1つのマーカー
は各タイル中の重要性レベルのバイト数を示す。
A data compression system according to any one of claims 27 to 43, comprising: a memory for storing a code stream having a header having at least one marker;
At least one output device, comprising a parser coupled to the memory and connected to receive device characteristics from the at least one output device, the parser operable to perform device-dependent quantization. is there. Claim 2
According to the invention of claim 8, the code stream comprises lossless compressed data, and according to the invention of claim 29, at least one marker comprises a number of components used for each tile in the code stream; Indicating sub-sampling and alignment, according to the invention of claim 30, the codestream comprises a main header and a local header is placed before each tile in the codestream. According to the invention of claim 31, according to the invention of claim 32, the main header is applied to all tiles in the code stream, and each local header is applied only to the associated tile.
At least one of the local headers takes precedence over the main header. According to the invention of claim 33, the parser uses a marker in the code stream to quantize the code stream, and according to the invention of claim 34, at least one of the markers indicates frequency information. . According to the invention of claim 35, the data compression system further includes a compression device for generating a code stream. According to the invention of claim 36, the parser comprises a quantization selection device,
According to the thirty-seventh aspect, the quantization selection device performs the conversion and the quantization of the set of images by discarding bit planes of various coefficients. According to the invention of claim 38, one of the tags indicates an importance level in the data in each tile, and according to the invention of claim 39, the tag indicates an importance level locator signal; , The parser stops. According to the invention of claim 40,
43. The tag indicates the number of importance levels to be stored, and
According to the described invention, the tag indicates the number of bytes to be stored. According to the invention of claim 42, the tag includes an instruction for associating the importance level with the number of bytes in each tile, and according to the invention of claim 43, at least one marker indicates the importance level of each tile. Indicates the number of bytes.

【0016】[0016]

【発明の実施の形態】圧縮及び伸長のための方法及び装
置について述べる。以下の本発明に関する詳細な説明に
おいて、本発明を完全に理解してもらうために、コーダ
の種類、ビット数、信号名等々、様々な具体例が示され
る。しかし、当業者には、そのような具体例によらずに
本発明を実施し得ることは明白になろう。他方、本発明
をいたずらに難解にしないため、周知の構造及びデバイ
スはブロック図の形式で表し、詳しくは示さない。
DETAILED DESCRIPTION A method and apparatus for compression and decompression is described. In the following detailed description of the present invention, various examples are shown, such as the type of coder, the number of bits, the names of signals, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without such an embodiment. In other instances, well-known structures and devices are shown in block diagram form and not shown in detail in order not to unnecessarily obscure the present invention.

【0017】以下の詳細説明のかなりの部分は、コンピ
ュータメモリ内のデータビットに対する演算のアルゴリ
ズム及び記号表現によって与えられる。このようなアル
ゴリズム記述及び表現は、データ処理技術分野の当業者
によって、その研究の内容を他の当業者に対し最も効率
的に伝えるために用いられる手段である。あるアルゴリ
ズムがあり、それが概して、希望する結果に至る自己矛
盾のないステップ系列だと考えられるとしよう。これら
のステップは、物理量の物理的処理を必要とするもので
ある。必ずという訳ではないが、これらの物理量は記
憶、転送、結合、比較、その他処理が可能な電気的また
は磁気的信号の形をとるのが普通である。これらの信号
をビット、値、要素、記号、文字、用語、数字等で表わ
すのが、主に慣用上の理由から、時に都合がよいことが
分かっている。
A significant portion of the following detailed description is provided by algorithms and symbolic representations of operations on data bits within a computer memory. Such algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most efficiently convey the substance of their work to others skilled in the art. Suppose we have an algorithm, which is generally considered to be a self-consistent sequence of steps leading to the desired result. These steps require physical processing of physical quantities. Usually, but not necessarily, these physical quantities take the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise processed. It has proven convenient at times, principally for reasons of convention, to represent these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

【0018】しかしながら、このような用語は、適切な
物理量と関係付けられるべきであり、また、これら物理
量につけた便宜上のラベルに過ぎないということに留意
すべきである。以下の説明から明らかなように、特に断
わらない限り、”処理””演算””計算””判定””表
示”等々の用語を用いて論じることは、コンピュータシ
ステムのレジスタ及びメモリ内の物理的(電子的)な量
として表現されたデータを処理して、コンピュータシス
テムのメモリまたはレジスタ、同様の情報記憶装置、情
報伝送装置あるいは表示装置の内部の同様に物理量とし
て表現された他のデータへ変換する、コンピュータシス
テムあるいは同様の電子演算装置の作用及びプロセスを
指すものである。
It should be noted, however, that such terms are to be associated with the appropriate physical quantities and are merely convenient labels attached to these quantities. As will be apparent from the following description, discussions using terms such as "processing", "operations", "calculations", "judgments", "displays", and the like, unless otherwise specified, refer to physical ( Processes data expressed as electronic quantities and converts them into other data, also expressed as physical quantities, inside a memory or register of a computer system, a similar information storage device, an information transmission device or a display device. , Computer systems or similar electronic computing devices.

【0019】本発明はまた、本明細書に述べる操作を実
行するための装置にも関係する。この装置は、要求目的
のために専用に作られてもよいし、あるいは、汎用コン
ピュータを内蔵プログラムにより選択的に駆動または再
構成したものでもよい。本明細書に提示されるアルゴリ
ズム及び表示は、本質的に、いかなる特定のコンピュー
タやその他装置とも関係がない。様々な汎用マシンを本
明細書に述べたところに従うプログラムで利用してもよ
いし、あるいは、必要な方法ステップの実行のためによ
り特化した装置を作るほうが好都合であるかもしれな
い。これら多様なマシンに要求される構造は以下の説明
より明らかになろう。さらに、本発明を説明するにあた
り、いかなる特定のプログラミング言語とも関連付けな
い。本明細書において述べるように、本発明の教えると
ころを実現するために多様なプログラミング言語を使用
してよいことが分かるであろう。
The present invention also relates to an apparatus for performing the operations herein. The device may be specially made for the required purpose, or it may be a general purpose computer selectively driven or reconfigured by a built-in program. The algorithms and displays presented herein are not inherently related to any particular computer or other device. A variety of general purpose machines may be utilized in programs according to the teachings herein, or it may be advantageous to make more specialized equipment for performing the necessary method steps. The required structure for a variety of these machines will appear from the description given. Further, in describing the present invention, it is not associated with any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention, as described herein.

【0020】下記用語が以下の説明に用いられる。それ
ら各種用語にはすでに語義がある。しかし、規定された
語義は、それら用語が当該分野において知られている範
囲に限定して考えられるべきでない。これら語義は、本
発明の理解を手助けするために規定されたものである。
The following terms are used in the description that follows. These various terms already have meanings. However, the defined meaning should not be considered as limiting the scope to those terms known in the art. These definitions are provided to assist in understanding the present invention.

【0021】アラインメント(alignment):ある周波
数帯域内の変換係数の、他の周波数帯域に対するシフト
度合。
Alignment: The degree of shift of a transform coefficient in one frequency band with respect to another frequency band.

【0022】バイナリ符号化方式:2値、有限画素深度
の、又はノイズフリーのデータのための符号化の一方
式。一実施例にあっては、バイナリ符号化方式は画素の
グレイ(Gray)符号化と特有のコンテキスト・モデルから
なる。
Binary coding scheme: A coding scheme for binary, finite pixel depth, or noise-free data. In one embodiment, the binary encoding scheme consists of Gray encoding of pixels and a specific context model.

【0023】ビット・シグニフィカンス(bit-signific
ance):符号(sign)絶対値表現に似た数表現で、ヘッ
ド(head)ビットの後に符号(sign)ビットが続き、さら
に、テール(tail)ビットがあれば、その後に続く。埋め
込み(embedding)は、この数表現に対しビットプレーン
順に符号化する。
Bit-significance (bit-signific
ance): A numerical expression similar to a sign absolute value expression, in which a head bit is followed by a sign bit, and further followed by a tail bit, if any. Embedding encodes this numerical expression in bit plane order.

【0024】コンテキスト・モデル:符号化しようとす
るカレント・ビットに関する原因として利用可能な情報
で、カレント・ビットに関する過去に学習した情報を提
供し、エントロピー符号化のための条件付確率予測を可
能にする。
Context model: Information that can be used as a cause for the current bit to be coded and provides previously learned information about the current bit and enables conditional probability prediction for entropy coding. I do.

【0025】埋め込み量子化:符号ストリームに包含さ
れる量子化。例えば、重要性レベルが、最高のレベルか
ら最低のレベルへと順に並べられているときには、符号
ストリームの単なる打ち切りによって量子化が行われ
る。タグ、マーカー、ポインタ、その他の信号によって
同じ作用を得ることができる。
Embedded quantization: quantization included in the code stream. For example, when the importance levels are ordered from the highest level to the lowest level, quantization is performed by simply truncating the code stream. The same effect can be obtained with tags, markers, pointers, and other signals.

【0026】エントロピー・コーダ:カレント・ビット
を、確率予測に基づいて符号化又は復号化する装置。
Entropy coder: A device that encodes or decodes a current bit based on probability prediction.

【0027】エントロピー・コーダは、本明細書では多
重コンテキスト・バイナリ・コーダとも呼ばれるであろ
う。カレント・ビットのコンテキストは”近傍”ビット
に関するいくつかの選ばれた配置であり、カレント・ビ
ット(1ビットまたは複数ビット)の最適表現のための
確率予測を可能にする。一実施例では、エントロピー・
コーダはバイナリ・コーダ又はハフマン・コーダを含
む。
An entropy coder will also be referred to herein as a multiple context binary coder. The context of the current bit is some chosen arrangement of "neighbor" bits, allowing probability prediction for an optimal representation of the current bit (s). In one embodiment, the entropy
The coder includes a binary coder or a Huffman coder.

【0028】固定長:データの特定ブロックを圧縮デー
タの特定ブロックへ変換する方式。例えばBTC(ブロ
ック打ち切り符号化)、VQ(ベクトル量子化)のいく
つかの方式。固定長符号は固定レート・固定サイズのア
プリケーションに適するが、レート・歪み性能は可変レ
ート方式に比べ劣ることが多い。
Fixed length: A method for converting a specific block of data into a specific block of compressed data. For example, some schemes such as BTC (block truncation coding) and VQ (vector quantization). Fixed-length codes are suitable for fixed-rate, fixed-size applications, but their rate and distortion performance is often inferior to variable-rate systems.

【0029】固定レート:ある一定の画素レートを維持
しなければならず、帯域幅の限定された通信路を持つア
プリケーション又は方式。この目的を成し遂げるには、
全体的に平均して圧縮するというよりも、局所的に平均
して圧縮することが必要である。例えば、MPEGは固
定レートを要求する。
Fixed Rate: An application or scheme that must maintain a certain pixel rate and has a channel with limited bandwidth. To achieve this goal,
It is necessary to perform local average compression rather than global average compression. For example, MPEG requires a fixed rate.

【0030】固定サイズ:限られたサイズのバッファを
持つアプリケーション又は方式。この目的を成し遂げる
ため、全体的に平均した圧縮が達成される、例えば、印
刷バッファ。(アプリケーションは、固定レートでかつ
固定サイズのことも、そのどちらかのこともある。) 周波数帯域:各周波数帯域は、同じフィルタ処理系列に
よりもたらされる一群の係数を表す。
Fixed size: An application or scheme with a limited size buffer. To this end, an overall average compression is achieved, for example a print buffer. (The application may be fixed rate and / or fixed size.) Frequency bands: Each frequency band represents a group of coefficients resulting from the same filtering sequence.

【0031】ヘッド・ビット:ビット・シグニフィカン
ス表現において、ヘッドビットとは、最上位ビッから最
初の非ゼロのビットまでの、該最初の非ゼロビットを含
めた絶対値ビットである。
Head Bit: In the bit significance representation, a head bit is an absolute value bit from the most significant bit to the first non-zero bit, including the first non-zero bit.

【0032】水平コンテキストモデル:(一実施例で
は)埋め込みウエーブレット係数及びバイナリ・エント
ロピー・コーダのためのコンテキスト・モデル。
Horizontal Context Model: Context model for embedded wavelet coefficients and binary entropy coder (in one embodiment).

【0033】ベキ等:画像を損失性形式で伸長してから
同じ損失性符号語へ再圧縮することを可能にする符号
化。
Power: A coding that allows an image to be decompressed in a lossy format and then recompressed into the same lossy codeword.

【0034】画像タイル:それぞれが同一のパラメータ
を持つ、オーバーラップのない連続した部分画像の格子
の定義を可能にするため選ばれた矩形領域。画像タイル
は、ウエーブレット方式符号化において変換の計算のた
め必要になるバッファ・サイズに影響を及ぼす。画像タ
イルはランダムにアドレスできる。符号化操作は1画像
タイル中の画素及び係数データを処理用する。このた
め、画像タイルを乱順に構文解析又は復号化することが
できる。すなわち、画像タイルを、ランダムにアドレス
し、又は注目領域の伸長の様々な歪みレベルに応じて復
号化することができる。一実施例では、画像タイルは最
上部及び最下部のもの以外は全て同一サイズである。画
像タイルは、画像全体のサイズ以下の任意サイズにして
よい。
Image tile: A rectangular area chosen to enable the definition of a grid of consecutive non-overlapping partial images, each having the same parameters. Image tiles affect the buffer size required for the calculation of the transform in wavelet coding. Image tiles can be addressed randomly. The encoding operation processes pixels and coefficient data in one image tile. Thus, image tiles can be parsed or decoded in random order. That is, the image tiles can be addressed at random or decoded according to various distortion levels of extension of the region of interest. In one embodiment, the image tiles are all the same size except those at the top and bottom. The image tile may be of any size less than or equal to the size of the entire image.

【0035】重要性レベル:特定の体系を定義すること
により、入力データ(画素データ、係数、誤差信号等)
は視覚的効果が同じ複数のグループに論理的に分類され
る。例えば、最上位の一つまたは複数のビットプレーン
は、多分、それより下位のビットプレーンより視覚的に
重要であろう。また、低い周波数の情報は一般に高い周
波数の情報より重要である。”視覚的重要性”の実用定
義の殆どは、後述のように本発明も含め、何らかの誤差
基準に関係している。しかし、それよりも良好な視覚的
尺度が、視覚的重要性の体系定義に組み入れられるかも
しれない。データの種類が異なれば視覚的重要性レベル
も異なる。例えば、音声データは音声の重要性レベルを
持つ。
Importance level: By defining a specific system, input data (pixel data, coefficients, error signals, etc.)
Are logically grouped into groups with the same visual effect. For example, the most significant bit plane or planes may be more visually important than the lower bit planes. Also, low frequency information is generally more important than high frequency information. Most practical definitions of "visual significance" relate to some error criteria, including the present invention, as described below. However, better visual measures may be incorporated into the systematic definition of visual importance. Different types of data have different levels of visual importance. For example, audio data has an audio importance level.

【0036】オーバーラップ変換:単一のソース標本点
が同一周波数の複数の係数に寄与する変換。その例に、
多くのウエーブレットとオーバーラップ直交変換(Lapp
edOrthogonal Tansform)がある。
Overlap transform: A transform in which a single source sample point contributes to multiple coefficients of the same frequency. In that example,
Many wavelets and overlapping orthogonal transforms (Lapp
edOrthogonal Tansform).

【0037】プログレッシブ:符号化データの一部から
矛盾のない伸長結果を得られ、かつデータを増やすこと
で精度を上げることができるように順序付けられた符号
ストリーム。データのビットプレーンが浅いほうから深
いほうへ順序付けられた符号ストリーム;この場合は、
普通、ウエーブレット係数データをさす。
Progressive: A code stream that is ordered so that consistent decompression results can be obtained from a portion of the coded data, and the accuracy can be increased by increasing the data. A codestream in which the bit planes of the data are ordered from shallow to deep; in this case,
Usually refers to wavelet coefficient data.

【0038】プログレッシブ画素深度:データのビット
プレーンが浅いほうから深いほうへ順序付けられた符号
ストリーム。
Progressive pixel depth: A codestream in which the bit planes of the data are ordered from shallow to deep.

【0039】プログレッシブ・ピラミッド:解像度が下
がる毎に大きさが2分の1(面積では4分の1)になる
解像度成分の連続。
Progressive pyramid: A series of resolution components whose size decreases by half (1/4 in area) each time the resolution decreases.

【0040】可逆変換:一実施例では、圧縮結果を元に
復元できる、整数演算により実施される効率的変換。
Reversible transformation: In one embodiment, an efficient transformation performed by integer arithmetic that can be decompressed based on the compression result.

【0041】S変換:1つの2タップ・ローパスフィル
タと1つの2タップ・ハイパスフィルタからなる特殊な
可逆ウエーブレットフィルタ対。
S-transform: A special pair of reversible wavelet filters consisting of one 2-tap low-pass filter and one 2-tap high-pass filter.

【0042】テール:ビット・シグニフィカンス表現
で、テール(tail)ビットとは最上位の非ゼロのビットよ
り下位の低い絶対値ビットである。
Tail: In the bit significance representation, a tail bit is a lower magnitude bit that is lower than the most significant non-zero bit.

【0043】テール情報:一実施例では、ビット・シグ
ニフィカンス表現で表された係数のためにとり得る4つ
の状態。係数及びカレント・ビットプレーンの関数であ
り、水平コンテキスト・モデルのために利用される。
Tail information: In one embodiment, four states that can be taken for coefficients expressed in a bit significance representation. A function of the coefficients and the current bit plane, which is used for the horizontal context model.

【0044】テール・オン(tail-on):一実施例では、
テール情報の状態がゼロか非ゼロであるかに依存した2
つの状態。水平コンテキスト・モデルのために利用され
る。
Tail-on: In one embodiment,
2 depending on whether the state of the tail information is zero or non-zero
State. Used for horizontal context model.

【0045】タイルデータ(tile data)セグメント:
一つの画像タイルを完全に記述する符号ストリームの部
分。一実施例においては、画像タイルの始まり(SO
T)を定義するタグから、次のSOTまで、又は画像の
終わり(EOI)のタグまでの全データ。
Tile data segment:
The part of the codestream that completely describes one image tile. In one embodiment, the beginning of the image tile (SO
All data from the tag defining T) to the next SOT or the end of image (EOI) tag.

【0046】変換係数:ウエーブレット変換を適用した
結果。ウエーブレット変換においては、係数は対数分割
された周波数スケールを表す。
Conversion coefficient: the result of applying the wavelet transform. In the wavelet transform, the coefficients represent a logarithmic divided frequency scale.

【0047】TS変換:2・6(Two-Six)変換。1つ
の2タップ・ローパス分析フィルタと1つの6タップ・
ハイパス分析フィルタからなる特殊な可逆ウエーブレッ
トフィルタ対。合成フィルタは、分析フィルタの直交ミ
ラー・フィルタである。
TS conversion: 2.6 (Two-Six) conversion. One 2-tap low-pass analysis filter and one 6-tap
A special reversible wavelet filter pair consisting of a high-pass analysis filter. The synthesis filter is a quadrature mirror filter of the analysis filter.

【0048】TT変換:2・10(Two-Ten)変換。1
つの2タップ・ローパス分析フィルタと1つの10タッ
プ・ハイパス分析フィルタからなる特殊な可逆ウエーブ
レットフィルタ対。合成フィルタは分析フィルタの直交
ミラー・フィルタである。
TT conversion: 2 · 10 (Two-Ten) conversion. 1
A special reversible wavelet filter pair consisting of two 2-tap low-pass analysis filters and one 10-tap high-pass analysis filter. The synthesis filter is a quadrature mirror filter of the analysis filter.

【0049】統合型(unified)非損失性/損失性:同
じ圧縮システムが、非損失性又は損失性の復元が可能な
符号データストリームを提供する。
[0049] Unified lossless / lossy: The same compression system provides a lossless or lossy decompressible coded data stream.

【0050】ウエーブレット・フィルタ:ウエーブレッ
ト変換に使われるハイパスとローパスの合成フィルタ及
び分析フィルタ。
Wavelet filter: A high-pass and low-pass synthesis filter and an analysis filter used for wavelet transformation.

【0051】ウエーブレット変換:”周波数”及び”時
間(空間)”領域の両方の拘束条件を用いる変換。説明
する一実施例では、1つのハイパスフィルタと1つのロ
ーパスフィルタからなる変換である。結果として得られ
る係数は2:1の間引きを施され(臨界フィルタ処
理)、次にそれらフィルタがローパス係数にかけられ
る。
Wavelet transform: A transform that uses both "frequency" and "temporal (space)" domain constraints. In one embodiment to be described, the conversion consists of one high-pass filter and one low-pass filter. The resulting coefficients are decimated 2: 1 (critical filtering), and the filters are then applied to the low-pass coefficients.

【0052】ウエーブレット・ツリー:最高レベルのウ
エーブレット分解のLL部内の単一の係数と関係付けら
れた係数群。係数の個数はレベル数の関数である。ウエ
ーブレット・ツリーのスパンは、分解レベル数に依存す
る。例えば、1レベル分解の場合には、ウエーブレット
・ツリーのスパンは4画素、2レベル分解では16画
素、等々である。
Wavelet tree: A group of coefficients associated with a single coefficient in the LL part of the highest level wavelet decomposition. The number of coefficients is a function of the number of levels. The span of the wavelet tree depends on the number of decomposition levels. For example, for one-level decomposition, the span of the wavelet tree is four pixels, for two-level decomposition, 16 pixels, and so on.

【0053】本発明の概要 本発明は、符号化部及び復号化部を持つ圧縮/伸長シス
テムを提供する。符号化部は入力データを符号化して圧
縮データを生成する働きをし、他方、復号化部は既に符
号化されたデータを復号化して元の入力データの再構成
データを生成する働きをする。入力データには、画像
(静止画像あるいは動画像)、音声等々の様々な種類の
データが含まれる。一実施例では、データはデジタル信
号データであるが、デジタル化したアナログデータ、テ
キストデータ形式、その他の形式も可能である。そのデ
ータのソースは、例えば符号化部及び/または復号化部
のためのメモリまたは通信路である。
The present invention provides a compression / decompression system having an encoding unit and a decoding unit. The encoder functions to encode the input data to generate compressed data, while the decoder functions to decode the already encoded data to generate reconstructed data of the original input data. The input data includes various types of data such as images (still images or moving images), sounds, and the like. In one embodiment, the data is digital signal data, but digitized analog data, text data format, and other formats are also possible. The source of the data is, for example, a memory or a communication path for the encoder and / or the decoder.

【0054】本発明において、符号化部及び/または復
号化部の構成要素は、ハードウエア又はコンピュータシ
ステム上で利用されるソフトウエアによって実現し得
る。本発明は、非損失性の圧縮/伸長システムを提供す
る。本発明はまた、損失性の圧縮/伸長を実行するよう
にも構成し得る。本発明は、圧縮データの構文解析を、
伸長をすることなく実行するように構成し得る。
In the present invention, the components of the encoding unit and / or the decoding unit can be realized by hardware or software used on a computer system. The present invention provides a lossless compression / decompression system. The present invention may also be configured to perform lossy compression / decompression. The present invention provides parsing of compressed data,
It can be configured to execute without decompression.

【0055】本発明のシステムの概要 本発明は、自然画像に見られる滑らかなエッジと平坦な
領域を非常に良好に表現する。本発明は、可逆埋め込み
ウエーブレットを利用して、画素深度の深い画像を圧縮
する。しかしながら、可逆埋め込みウエーブレット、他
のウエーブレット変換方式及びシヌソイド変換方式は、
テキストや図形画像に見られるシャープなエッジを表現
するのは得意ではない。この種の画像は、グレイ(Gra
y)符号化を行ってからJBIGのようなコンテキスト
・ベースのビットプレーン符号化を行うことにより良好
に圧縮できる。さらに、ノイズフリーのコンピュータ生
成画像は、バイナリ方式により良好にモデル化される。
Overview of the System of the Present Invention The present invention very well represents smooth edges and flat areas found in natural images. The present invention utilizes a reversible embedded wavelet to compress images with a large pixel depth. However, reversible embedded wavelets, other wavelet transform schemes and sinusoidal transform schemes,
I am not good at expressing sharp edges found in text and graphic images. This kind of image is a gray
y) Good encoding can be achieved by performing encoding and then performing context-based bit-plane encoding such as JBIG. In addition, noise-free computer-generated images are well modeled in a binary fashion.

【0056】本発明は、2値画像及び図形画像の圧縮の
ためのバイナリ方式を提供する。このバイナリ方式は、
ダイナミックレンジ全体を使わないある種の画像に対す
る圧縮も改善する。このバイナリ方式においては、本発
明は変換を使わないで画像のビットプレーンを符号化す
る。
The present invention provides a binary scheme for compressing binary and graphic images. This binary method is
It also improves compression for certain images that do not use the entire dynamic range. In this binary scheme, the present invention encodes a bit plane of an image without using a transform.

【0057】図1は、バイナリ方式を採用した本発明の
圧縮システムの一実施例のブロック図である。なお、シ
ステムの復号化部は逆の順序で動作し、データフローも
同様である。図1において、入力画像101は多成分処
理機構111に入力される。この多成分処理機構111
は、オプションの色空間変換、及び、サブサンプリング
を施された画像成分に関するオプションの処理を提供す
る。方式選択機構110は、画像が連続階調画像か2値
画像か、あるいは、画像のどの部分がそのような特性を
持っているかを判定する。画像データは方式選択機構1
10へ送られ、方式選択機構110は、その画像データ
又はその部分をウエーブレット方式処理(ブロック10
2,103,105)又はバイナリ方式処理(ブロック
104)へ送る。本発明においては、どのモードを利用
するかの決定は、データに依存して決まる。一実施例で
は、方式選択機構110はマルチプレクサからなる。方
式選択機構110は、復号化動作中は利用されない。
FIG. 1 is a block diagram of an embodiment of the compression system of the present invention employing a binary system. Note that the decoding unit of the system operates in the reverse order, and the data flow is the same. In FIG. 1, an input image 101 is input to a multi-component processing mechanism 111. This multi-component processing mechanism 111
Provides optional color space conversion and optional processing for subsampled image components. The method selection mechanism 110 determines whether the image is a continuous tone image or a binary image, or which part of the image has such characteristics. Image data is stored in the system selection mechanism
10, and the method selecting mechanism 110 processes the image data or the portion by the wavelet method processing (block 10).
2, 103, 105) or binary processing (block 104). In the present invention, the decision of which mode to use depends on the data. In one embodiment, scheme selector 110 comprises a multiplexer. The scheme selection mechanism 110 is not used during the decoding operation.

【0058】ウエーブレット方式では、可逆ウエーブレ
ット変換ブロック102が可逆ウエーブレット変換を実
行する。同ブロック102の出力は係数の系列である。
埋め込み順序付け量子化ブロック103は、(可逆ウエ
ーブレット変換ブロック102により生成された)入力
画像101中の係数全部のアラインメントを生成するた
め、係数をビット・シグニフィカンス表現にしてからラ
ベル付けする。
In the wavelet method, the reversible wavelet transform block 102 performs a reversible wavelet transform. The output of the block 102 is a series of coefficients.
The embedding ordering quantization block 103 labels the coefficients in a bit-significant representation to generate an alignment of all the coefficients in the input image 101 (generated by the lossless wavelet transform block 102).

【0059】画像データ101が受け取られ、そして
(適切な多成分処理の後)可逆ウエーブレット変換ブロ
ック102において後に説明されるように可逆ウエーブ
レットを利用して変換されることにより、画像の多重解
像度分解を表す係数の系列が生成される。本発明の可逆
ウエーブレット変換は、計算が複雑でない。この変換
は、ソフトウエア又はハードウエアにより、全く系統誤
差を生じさせないで実行できる。さらに、本発明のウエ
ーブレットはエネルギー集中及び圧縮性能に優れてい
る。これらの係数は埋め込み順序付け量子化ブロック1
03に受け取られる。
The image data 101 is received and transformed (after appropriate multi-component processing) using a reversible wavelet as described below in a reversible wavelet transform block 102 to provide a multi-resolution image of the image. A sequence of coefficients representing the decomposition is generated. The reversible wavelet transform of the present invention is not computationally complicated. This conversion can be performed by software or hardware without causing any systematic error. Further, the wavelet of the present invention is excellent in energy concentration and compression performance. These coefficients are embedded ordering quantization block 1
03 received.

【0060】埋め込み順序付け量子化ブロック103
は、後述のように埋め込み順序付け量子化をする。その
結果は埋め込み(embedded)データストリームである。
この埋め込みデータストリームは、符号化時、伝送時又
は復号化時に、結果の符号ストリームの量子化を許す。
一実施例においては、埋め込み順序付け量子化ブロック
103は、係数を順序付けして符号・絶対値形式に変換
する。
Embedding ordering quantization block 103
Performs embedding ordering quantization as described later. The result is an embedded data stream.
This embedded data stream allows quantization of the resulting code stream when encoding, transmitting or decoding.
In one embodiment, the embedding ordered quantization block 103 orders and transforms the coefficients into a sign / magnitude format.

【0061】埋め込みデータストリームは水平コンテキ
ストモデル・ブロック105に受け取られる。水平コン
テキストモデル・ブロック105は、埋め込みデータス
トリーム中のデータをその重要性に基づきモデル化する
(後述)。変換モードでは、”ビットプレーン”は変換
係数の重要性レベル・プレーンであり、水平コンテキス
トモデル・ブロック105はウエーブレット係数をビッ
ト・シグニフィカンス表現に整える。
The embedded data stream is received in horizontal context model block 105. The horizontal context model block 105 models the data in the embedded data stream based on its significance (described below). In transform mode, the "bit plane" is the transform coefficient importance level plane, and the horizontal context model block 105 arranges the wavelet coefficients into a bit significant representation.

【0062】順序付け及びモデリングの結果は、エント
ロピー・コーダ106により符号化すべきデシジョン(d
ecisions)(又はシンボル)である。一実施例では、全
てのデシジョンが一つのコーダへ送られる。他の実施例
では、デシジョンは重要性によってラベル付けされ、各
重要性レベルのデシジョンは別々の複数の(物理または
仮想)コーダによって処理される。ビットストリーム
は、エントロピー・コーダ106により重要性の順に符
号化される。一実施例では、エントロピー・コーダ10
6は1つ又は複数のバイナリ・エントロピー・コーダか
らなる。別の実施例では、ハフマン符号化が利用され
る。
The result of the ordering and modeling is the result of the decision (d
ecisions) (or symbols). In one embodiment, all decisions are sent to one coder. In another embodiment, the decisions are labeled by importance and the decisions at each importance level are processed by separate multiple (physical or virtual) coders. The bitstream is encoded by the entropy coder 106 in order of importance. In one embodiment, the entropy coder 10
6 comprises one or more binary entropy coder. In another embodiment, Huffman coding is used.

【0063】バイナリ方式では、グレイ(Gray)符号化ブ
ロック104が入力画像101の画素に対しグレイ符号
化を行う。グレイ符号化は画素のビットプレーン間の相
関の一部を利用するビット操作である。それは、任意の
値xとx+1に対し、gray(x)とgray(x+1)は<その基数
2の表現で異なるのは1ビットだけであるからである。
一実施例では、グレー符号化ブロック104は8ビット
画素に対し点毎の変換、すなわち gray(x)=x XOR x/2 を実行する。本発明は、この形式のグレー符号化を利用
することに限定されるわけでも、8ビットのサイズの画
素を利用しなければならないわけでもない。しかし、上
記式を利用すると、ビットプレーン単位のプログレッシ
ブ伝送の場合のように、利用可能な最上位ビットの一部
だけで画素を再構成できるという利点がある。言い換え
ると、この形式のグレー符号化はビット・シグニフィカ
ンスの順序付けを保存する。
In the binary system, a Gray coding block 104 performs Gray coding on the pixels of the input image 101. Gray coding is a bit operation that utilizes some of the correlation between bit planes of pixels. This is because, for arbitrary values x and x + 1, gray (x) and gray (x + 1) differ only by 1 bit in their radix-2 representation.
In one embodiment, gray coding block 104 performs a point-by-point transformation on 8-bit pixels, ie, gray (x) = x XOR x / 2. The present invention is not limited to using this form of Gray coding, nor does it have to use 8-bit sized pixels. However, using the above equation has the advantage that the pixel can be reconstructed with only a part of the available most significant bits, as in the case of progressive transmission in bit plane units. In other words, this form of Gray coding preserves the ordering of the bit significance.

【0064】バイナリ方式では、グレイ符号化ブロック
104及びエントロピー・コーダ106を利用し、デー
タはビットプレーン毎に符号化される。一実施例では、
グレイ符号化ブロック104内のコンテキストモデル
は、カレント・ビットを、空間及び重要性レベル情報を
利用して条件付けする。
In the binary system, data is encoded for each bit plane using the Gray encoding block 104 and the entropy coder 106. In one embodiment,
The context model within Gray coding block 104 conditions the current bit using spatial and importance level information.

【0065】バイナリ方式の場合、グレイ符号化画素に
対しJBIGのようなコンテキストモデルが利用され
る。一実施例においては、画像タイルの各ビットプレー
ンは別々に符号化され、それぞれのビットは、周辺の1
0画素の値を利用し、ラスター順に条件付けされて符号
化される。図2はバイナリ方式における各ビットプレー
ンの各ビットのためのコンテキストモデルの幾何学的関
係を示す。このビットの条件付けは、固有パターン毎の
適応的確率予測をもたらす。なお、バイナリ・エントロ
ピー・コーダがグレイ符号化値のビットプレーン・エン
トロピー符号化に利用されるときには、いくつかのテン
プレートがバイナリ・エントロピー・コーダのコンテキ
ストモデルのために用いられてもよい。図3は29 個の
コンテキスト・ビン(bin)のための7画素と2ビットの
ビットプレーン情報を示す。
In the case of the binary system, a context model such as JBIG is used for gray coded pixels. In one embodiment, each bit plane of the image tile is encoded separately and each bit is
Using the value of 0 pixel, the image is conditioned and encoded in raster order. FIG. 2 shows the geometric relationship of the context model for each bit of each bit plane in a binary fashion. Conditioning of this bit results in adaptive probability prediction for each unique pattern. It should be noted that when a binary entropy coder is used for bit-plane entropy coding of Gray coded values, some templates may be used for the context model of the binary entropy coder. Figure 3 shows a 7 pixel and bit plane information 2 bits for 2 nine context bin (bin).

【0066】このコンテキストとカレント・ビットの値
を利用して、エントロピー・コーダ106はビットスト
リームを生成する。この同じバイナリ・エントロピー・
コーダ106が、変換モードとバイナリ方式の両方のデ
ータの符号化に利用される。一実施例では、エントロピ
ー・コーダ106はルックアップ・テーブルで実現され
る有限状態マシンからなる。なお、本発明は、Qコー
ダ、QMコーダ、高速並列コーダのような任意のバイナ
リ・エントロピー・コーダと一緒に利用し得る。
Using this context and the value of the current bit, entropy coder 106 generates a bitstream. This same binary entropy
A coder 106 is used to encode both conversion mode and binary data. In one embodiment, entropy coder 106 comprises a finite state machine implemented with a look-up table. It should be noted that the present invention can be used with any binary entropy coder, such as a Q coder, a QM coder, or a high-speed parallel coder.

【0067】エントロピー・コーダ106はいずれの方
式についても同じものであり、かつ、バイナリ・コンテ
キストモデルは単純であるため、同一システムでバイナ
リ方式と変換方式を実現するのに、ごく僅かな追加資源
しか必要とされない。さらに、コンテキストモデルの構
成は異なるが、両モードのための必要資源は同じであ
る。すなわち、両方のモードで、コンテキスト格納のた
めに同じメモリを利用し、また、同じバイナリ・エント
ロピー・コーダを利用する。
Since the entropy coder 106 is the same for both schemes and the binary context model is simple, only a few additional resources are needed to implement the binary and conversion schemes on the same system. Not required. Furthermore, although the configuration of the context model is different, the required resources for both modes are the same. That is, both modes use the same memory for context storage and use the same binary entropy coder.

【0068】本発明は、画像全体に対して実行されても
よいし、あるいは、より一般的であるが、画像のタイリ
ングされたセグメントに対して実行されてもよい。タイ
ルの中には、変換方式による方が圧縮が良好なものと、
バイナリ方式による方が良好なものとがある。使用すべ
きモードの選択アルゴリズムは様々なものが可能であ
る。タイルが利用されるときには、タイル単位のランダ
ムアクセスが可能である。また、注目領域は各別に高精
度に復号化することができる。最後に、変換方式とバイ
ナリ方式のいずれを選択するかは、1つ1つのタイル毎
に決定することができる。
The present invention may be performed on the entire image, or more generally, on tiled segments of the image. Some tiles are better compressed by the conversion method,
Some are better with the binary method. Various selection algorithms for the mode to be used are possible. When tiles are used, random access in tile units is possible. In addition, the attention area can be separately decoded with high accuracy. Finally, whether to select the conversion method or the binary method can be determined for each tile.

【0069】また、画像は、本発明のデュアルモード・
システムを利用してもビットプレーンに関しプログレッ
シブであり、JBIGに教えられるように階層形式に符
号化し得ることに注意されたい。
The image is a dual mode image of the present invention.
Note that the system is still progressive with respect to the bit plane and can be encoded in a hierarchical format as taught by JBIG.

【0070】復号化に関しては、タイルのヘッダ中の1
ビットを、データの符号化に利用された方式を指定する
ために利用してよい。方式選択機構110は用いられな
い。元のダイナミックレンジから低いダイナミックレン
ジへの非損失性マッピング、例えばヒストグラム圧縮
(後述)によるようなものが可能であれば、さらに役に
立つことがある。JBIGにおけるようなルック・アヘ
ッド(look ahead)を利用してもよい。このルック・ア
ヘッドは、JBIGにおけるような普通の予測又は決定
論的予測を使用してよい。
For decoding, 1 in the header of the tile
The bits may be used to specify the scheme used to encode the data. The method selection mechanism 110 is not used. It may be more useful if a lossless mapping from the original dynamic range to a lower dynamic range is possible, such as by histogram compression (described below). Look ahead, such as in JBIG, may be used. This look ahead may use ordinary or deterministic prediction as in JBIG.

【0071】バイナリ方式又は変換方式の選択 方式選択機構110は、バイナリ方式と変換方式の選択
をする。一実施例では、入力画像は両方の方式で符号化
され、方式選択機構110は得られたビットレートが低
い方の方式を選択する(非損失性圧縮を仮定)。つま
り、よく圧縮する方のモードが選ばれる。この方法は、
コストが高いと思われるかもしれないが、それほどでは
ない。というのは、バイナリ方式と変換方式は共に、ソ
フトウエアが比較的高速であり、かつ、ハードウエアも
小規模であるからである。この方法から派生する方法
は、コーダをバイパスし、エントロピー値を利用して低
い方のビットレートを判定する方法である。
Selection of Binary Method or Conversion Method The method selection mechanism 110 selects a binary method or a conversion method. In one embodiment, the input image is encoded in both schemes, and scheme selector 110 selects the scheme with the lower resulting bit rate (assuming lossless compression). In other words, the mode that compresses well is selected. This method
It may seem expensive, but not so much. This is because both the binary method and the conversion method are relatively fast in software and small in hardware. A method derived from this method is to bypass the coder and use the entropy value to determine the lower bit rate.

【0072】別の実施例においては、本発明は画像の画
素値の完全な(又は部分的な)ヒストグラム、又は、隣
接画素値のペア間の差分のヒストグラムを生成する。画
素値のヒストグラムの場合、そのヒストグラムのピーク
が、画素深度のダイナミックレンジより遥かに小さな値
で生じたならば、バイナリ方式を選ぶ、というようなデ
ータの統計的解析を使う。
In another embodiment, the present invention generates a complete (or partial) histogram of the pixel values of an image or a histogram of the differences between pairs of adjacent pixel values. In the case of a histogram of pixel values, a statistical analysis of the data is used, such as selecting a binary method if the peak of the histogram occurs at a value much smaller than the dynamic range of the pixel depth.

【0073】一実施例では、本発明は隣接画素のペア間
の第1次差分の完全な(又は部分的な)ヒストグラムが
生成される。標準的な画像では、そのようなヒストグラ
ムは正にラプラシアン分布であり、ウエーブレット方式
が利用されよう。しかし、ヒストグラムがラプラシアン
分布のピークを持たないときには、バイナリ方式が利用
される。
In one embodiment, the present invention produces a complete (or partial) histogram of first order differences between pairs of adjacent pixels. In a standard image, such a histogram is exactly Laplacian distributed, and a wavelet scheme would be used. However, when the histogram has no Laplacian distribution peak, the binary method is used.

【0074】両方の種類のヒストグラムを生成し、方式
の選択のために一緒に利用してもよい。
[0074] Both types of histograms may be generated and used together for system selection.

【0075】いずれも後述するが、TS変換又はTT変
換のdn フィルタ出力は第1次統計量に近い。これは、
変換が実行されヒストグラムが生成される方法を示唆す
る。そのヒストグラムに基づいて、方式が選択される。
その方式が変換方式のときには、システムは既に生成さ
れた変換係数を続けて処理する。バイナリ方式が選択さ
れると、変換係数は捨てられ(又は、画素がセーブされ
たか否かによっては逆変換され)、システムはバイナリ
方式を開始する。
As will be described later, the dn filter output of the TS conversion or the TT conversion is close to the first order statistics. this is,
Suggest how the transformation will be performed and the histogram generated. A method is selected based on the histogram.
If the scheme is a transform scheme, the system continues to process the already generated transform coefficients. When the binary scheme is selected, the transform coefficients are discarded (or inversely transformed, depending on whether the pixels have been saved) and the system starts the binary scheme.

【0076】別の実施例では、領域分割及び/又は文書
種類に関する以前の知識が、どちらの方式を選択すべき
の決定を支援するかもしれない。
In another embodiment, previous knowledge of segmentation and / or document type may assist in deciding which method to choose.

【0077】もっとより長い符号化時間を利用できるな
らば、2方式の利点を最大にするようにタイリングのサ
イズを選ぶことができる。
If longer encoding times are available, the size of the tiling can be chosen to maximize the benefits of the two schemes.

【0078】なお、一実施例においては、本発明のシス
テムはバイナリ方式符号化を含まず、したがって、可逆
埋め込みウエーブレット圧縮(CREW)及び伸長だけ
を利用することに注意されたい。
It should be noted that in one embodiment, the system of the present invention does not include binary coding, and therefore utilizes only lossless embedded wavelet compression (CREW) and decompression.

【0079】ウエーブレット分解 本発明は、最初に、可逆ウエーブレットを利用して、
(画像データとしての)画像または他のデータ信号の分
解を実行する。本発明において、可逆ウエーブレット変
換は、整数係数を持つ信号の非損失性復元が可能な完全
再構成システムを整数演算で実現する。効率的な可逆変
換は、行列式が1(又はほぼ1)の変換行列によるもの
である。
Wavelet Decomposition The present invention first utilizes a reversible wavelet,
Performs decomposition of an image (as image data) or other data signal. In the present invention, the reversible wavelet transform realizes a complete reconstruction system capable of lossless restoration of a signal having an integer coefficient by an integer operation. An efficient reversible transform is due to a transform matrix with a determinant of 1 (or nearly 1).

【0080】本発明は、可逆ウエーブレットを利用する
ことにより、有限精度の演算で非損失性圧縮を提供する
ことができる。画像データに可逆ウエーブレット変換を
適用することにより生成される結果は、係数の系列であ
る。
The present invention can provide lossless compression with finite precision arithmetic by utilizing a reversible wavelet. The result produced by applying the lossless wavelet transform to the image data is a sequence of coefficients.

【0081】本発明の可逆ウエーブレット変換は、フィ
ルタの集合を用いて実現し得る。一実施例では、そのフ
ィルタは1つの2タップ・ローパスフィルタと1つの6
タップ・ハイパスフィルタである。一実施例では、これ
らフィルタは加減算(とハードワイヤのビットシフト)
だけで実現される。
The reversible wavelet transform of the present invention can be realized using a set of filters. In one embodiment, the filter comprises one 2-tap low-pass filter and one 6-tap low-pass filter.
It is a tap high-pass filter. In one embodiment, these filters are addition and subtraction (and hard-wire bit shifting).
Only realized.

【0082】Hadamard変換を利用する本発明の一実施
例は、完全再構成システムである。
One embodiment of the present invention utilizing the Hadamard transform is a complete reconstruction system.

【0083】Hadamard変換に関する情報を得るには、
Anil K.Jain,”Fundamentals ofImage Process
ing”,P.155を読まれたい。Hadamard変換の逆変換
は、本明細書においてS変換と呼ばれる。
To obtain information about the Hadamard transform,
Anil K. Jain, "Fundamentals of Image Process"
ing ", page 155. The inverse of the Hadamard transform is referred to herein as the S-transform.

【0084】S変換は、一般添数nを用いて出力を次の
ように定義することができる。
In the S conversion, the output can be defined as follows using the general index n.

【0085】[0085]

【数1】 (Equation 1)

【0086】なお、変換係数アドレッシングにおける因
数2は、暗黙の1/2サブサンプリングの結果である。
この変換は可逆であり、その逆変換は次の通りである。
The factor 2 in the transform coefficient addressing is the result of implicit 1/2 subsampling.
This transformation is reversible and its inverse is as follows:

【0087】[0087]

【数2】 (Equation 2)

【0088】記号Symbol

【0089】[0089]

【外1】 [Outside 1]

【0090】は、切り捨てて丸めること、つまり打ち切
りを意味し、床関数と呼ばれることがある。同様に、天
井関数
Means rounding down, that is, truncation, and is sometimes called a floor function. Similarly, the ceiling function

【0091】[0091]

【外2】 [Outside 2]

【0092】は最も近い整数へ切り上げて丸めることを
意味する。
Means rounding up to the nearest integer.

【0093】完全再構成システムのもう一つの例は2・
6(TS)変換である。可逆TS変換は、ローパスとハ
イパスのフィルタの2つの出力に関する次の式により定
義される。
Another example of a complete reconstruction system is 2 ·
6 (TS) conversion. The reversible TS transform is defined by the following equation for the two outputs of the low-pass and high-pass filters.

【0094】[0094]

【数3】 (Equation 3)

【0095】TS変換は可逆であり、その逆変換は次の
通りである。
The TS conversion is reversible, and the inverse conversion is as follows.

【0096】[0096]

【数4】 (Equation 4)

【0097】ここで、次式によりp(n)がまず計算さ
れなければならない。
Here, p (n) must first be calculated by the following equation.

【0098】[0098]

【数5】 (Equation 5)

【0099】ローパスフィルタからの結果を、ハイパス
フィルタにおいて2度(第1項と第2項で)利用でき
る。したがって、ほかに2つの加算を行うだけで、ハイ
パスフィルタの結果を得られる。
The result from the low pass filter can be used twice (in the first and second terms) in the high pass filter. Therefore, the result of the high-pass filter can be obtained only by performing two additional additions.

【0100】完全再構成システムのもう一つの例は2・
10(TT)変換である。可逆TT変換は、ローパスと
ハイパスのフィルタの2つの出力に関する次式により定
義される。
Another example of a complete reconstruction system is 2 ·
10 (TT) conversion. The reversible TT transform is defined by the following equation regarding two outputs of a low-pass and a high-pass filter.

【0101】[0101]

【数6】 (Equation 6)

【0102】このd(n)の式はs(n)を使って単純
化することができる(さらに、64による整数除算は、
分子に32を足すことにより丸めることができる)。こ
れにより次式が得られる。
This d (n) equation can be simplified using s (n) (furthermore, integer division by 64 is
It can be rounded by adding 32 to the molecule). This gives the following equation:

【0103】[0103]

【数7】 (Equation 7)

【0104】このTT変換は可逆であり、その逆変換は
次式である。
This TT transform is reversible, and its inverse transform is given by the following equation.

【0105】[0105]

【数8】 (Equation 8)

【0106】ここで、p(n)は次式によりまず計算さ
れなければならない。
Here, p (n) must first be calculated by the following equation.

【0107】[0107]

【数9】 (Equation 9)

【0108】TS変換とTT変換のいずれにおいても、
S変換と同様、ローパスフィルタは、入力信号x(n)の
レンジが出力信号s(n)のレンジと同じになるように作
られる。すなわち、平滑出力の増大はまったくない。入
力信号がbビットの深さのときには、出力信号もbビッ
トの深さである。例えば、信号が8ビット画像の場合、
ローパスフィルタの出力も8ビットである。このこと
は、例えばローパスフィルタを連続して適用することに
より平滑出力がさらに分解されるピラミッド・システム
のために重要な特性である。従来技術のシステムにおい
ては、出力信号のレンジが入力信号のレンジより大き
く、このことがフィルタの連続的適用を困難にしてい
る。また、変換を整数演算で行う際の丸めによる系統誤
差がないので、損失性システムの全ての誤差を量子化に
より制御可能である。さらに、ローパスフィルタは、2
つのタップしか持たないため、非オーバーラップ・フィ
ルタになる。この特性は、ハードウエア化のために重要
である。
In both the TS conversion and the TT conversion,
Like the S-transform, the low-pass filter is made such that the range of the input signal x (n) is the same as the range of the output signal s (n). That is, there is no increase in the smooth output. When the input signal is b bits deep, the output signal is also b bits deep. For example, if the signal is an 8-bit image,
The output of the low-pass filter is also 8 bits. This is an important property for a pyramid system, for example, where the smoothed output is further resolved by successively applying a low-pass filter. In prior art systems, the range of the output signal is greater than the range of the input signal, which makes continuous application of the filter difficult. In addition, since there is no systematic error due to rounding when performing conversion by integer arithmetic, all errors of the lossy system can be controlled by quantization. Furthermore, the low-pass filter is 2
Having only one tap results in a non-overlapping filter. This property is important for hardware implementation.

【0109】一実施例では、3と22による乗算は、図
22に示すようなシフトと加算により実現される。図2
2において、s(n)入力は乗算器1501に接続され、
乗算器1501はs(n)入力に2を乗じる。一実施例で
は、この乗算は、s(n)信号のビットの1桁左シフトと
して実現される。乗算器1501の出力は加算器150
2によりs(n)信号と加算される。加算器1502の出
力は、3s(n)信号である。加算器1502の出力はま
た、乗算器1503により2を乗じられる。乗算器15
03は、1桁左シフトとして実現される。乗算器150
3の出力は加算器1505により乗算器1504の出力
と加算され、乗算器1504はs(n)信号を4桁左シフ
トにより16倍する。加算器1505の出力は22s
(n)信号である。
In one embodiment, the multiplication by 3 and 22 is realized by shifting and adding as shown in FIG. FIG.
At 2, the s (n) input is connected to a multiplier 1501;
Multiplier 1501 multiplies the s (n) input by two. In one embodiment, this multiplication is implemented as a single digit left shift of the bits of the s (n) signal. The output of the multiplier 1501 is the adder 150
2 and is added to the s (n) signal. The output of adder 1502 is a 3s (n) signal. The output of adder 1502 is also multiplied by 2 by multiplier 1503. Multiplier 15
03 is implemented as a one-digit left shift. Multiplier 150
The output of 3 is added to the output of the multiplier 1504 by the adder 1505, and the multiplier 1504 multiplies the s (n) signal by 16 times by shifting left by four digits. The output of the adder 1505 is 22 s
(n) signal.

【0110】フィルタに対する厳格な可逆性要件は、次
のことに着目することによって緩和することができる。
ハイパス係数は、ある順序で符号化されて復号化され
る。前に復号化されたハイパス係数に対応する画素値
は、正確に分かっているので、カレント・ハイパスフィ
ルタ処理に用いることができる。
The stringent reversibility requirements for filters can be relaxed by noting the following:
The high-pass coefficients are encoded and decoded in a certain order. The pixel value corresponding to the previously decoded high-pass coefficient is accurately known and can be used for current high-pass filtering.

【0111】TS変換及びTT変換は非オーバーラップ
のローパス合成フィルタとハイパス分析フィルタを有す
る。ハイパス合成フィルタとローパス分析フィルタだけ
がオーバーラップ・フィルタである。
The TS transform and the TT transform have non-overlapping low-pass synthesis filters and high-pass analysis filters. Only the high-pass synthesis filter and the low-pass analysis filter are overlap filters.

【0112】TSフィルタは、タイル境界に関し良好な
特性を有する。タイルのサイズがツリーのサイズの倍数
である場合を考える。そして、画像がタイルに分割され
る場合に生じるような、ある信号の一部に対する変換の
適用を考察する。ローパス分析フィルタはオーバーラッ
プ・フィルタではないので、ローパス係数はタイリング
による影響を受けない。すなわち、信号のその部分が均
一個数の信号を持つ場合、そのローパス係数は信号全体
を変換したときのそれと同じである。
The TS filter has good characteristics with respect to tile boundaries. Consider the case where the tile size is a multiple of the tree size. Then, consider applying a transform to a portion of a signal, such as would occur when an image is divided into tiles. Since the lowpass analysis filter is not an overlap filter, the lowpass coefficients are not affected by tiling. That is, if that portion of the signal has a uniform number of signals, its low-pass coefficients are the same as when the entire signal is transformed.

【0113】復号化中に、量子化のためハイパス係数が
存在せず、画像がSS係数だけを使って最高圧縮率で再
構成される場合には、タイル境界にまたがってローパス
合成フィルタが使われてよく、逆変換はローパス係数を
用いて信号全体について実行される。SS係数のタイリ
ングによって変化しないので、解はタイリングが利用さ
れないときと全く同じである。これにより、信号の一部
分に対しフォワード変換を実行することにより生じるア
ーティファクト(artifacts)が除去される。
During decoding, if no high-pass coefficients exist for quantization and the image is reconstructed at the highest compression ratio using only SS coefficients, a low-pass synthesis filter is used across the tile boundaries. The inverse transform may be performed on the entire signal using low-pass coefficients. Since the tiling of the SS coefficients does not change, the solution is exactly the same as when tiling is not used. This removes artifacts caused by performing a forward transform on a portion of the signal.

【0114】復号化中に、ハイパス係数が存在する(し
かし、ハイパス係数はそれらの値が幾分の不確定性を持
つように量子化されている)場合には、オーバーラップ
1Dローパス分析フィルタ演算がある境界を横切って別
の部分へ入る場所の標本に対し次のことを行うことがで
きる。タイル境界を横切らない標本について、実際に利
用されたフィルタに基づき、可能な最小及び最大の再構
成値が決定される。その標本に関し、ローパス係数(と
ローパスフィルタ)だけを用い、そしてタイル境界を横
切ることによって、そうであったであろう再構成値(す
なわちオーバーラップ予測値)が決定される。そのオー
バーラップ予測値が可能な最小と最大の再構成値の間
(それらの値も含む)であれば、そのオーバーラップ予
測値が用いられる。そうでなければ、その可能な最大と
最小の再構成値のうちの、オーバーラップ予測値に近い
方の値が用いられる。こうすることによって、信号の断
片に対しフォワード変換を実行することにより生じるア
ーティファクトを減らす。
During decoding, if the high-pass coefficients are present (but the high-pass coefficients are quantized so that their values have some uncertainty), the overlap 1D low-pass analysis filter operation The following can be done on a sample where one crosses one boundary and enters another. For samples that do not cross tile boundaries, the minimum and maximum possible reconstruction values are determined based on the filters actually used. For that sample, by using only the low-pass coefficients (and the low-pass filter), and by traversing the tile boundaries, the reconstruction values (ie, the overlap predictions) that would have been so are determined. If the overlap prediction is between the minimum and maximum possible reconstruction values (including those values), the overlap prediction is used. Otherwise, of the possible maximum and minimum reconstruction values, the one closest to the overlap prediction is used. This reduces the artifacts caused by performing a forward transform on a signal fragment.

【0115】1Dフィルタ演算が実行される度に再構成
値が選ばれる。これが正しく行われると、各ハイパス係
数はちょうど一つの有効な再構成値が与えられ、選択に
より誤差を変換の複数レベルに伝搬し得なくなる。
A reconstruction value is selected each time the 1D filter operation is performed. If this is done correctly, each high-pass coefficient will be given exactly one valid reconstruction value, and the selection will not be able to propagate the error to multiple levels of the transform.

【0116】非線形画像モデル 本発明の一実施例は、TS変換又はTT変換のような線
形フィルタの可逆近似であるウエーブレット・フィルタ
を利用する。一実施例では、可逆非線形フィルタが用い
られるかもしれない。TS変換及びTT変換に類似した
非線形フィルタの一種は次のとおりである。
Nonlinear Image Model One embodiment of the present invention utilizes a wavelet filter, which is a reversible approximation of a linear filter such as a TS or TT transform. In one embodiment, a reversible nonlinear filter may be used. One type of nonlinear filter similar to the TS conversion and the TT conversion is as follows.

【0117】[0117]

【数10】 (Equation 10)

【0118】その逆変換はTS変換及びTT変換の場合
と同じであるが、ただしp(n)は次の通りである。
The inverse transform is the same as in the case of the TS transform and the TT transform, except that p (n) is as follows.

【0119】[0119]

【数11】 [Equation 11]

【0120】この実施例において、q(n)は平滑(smoot
h)係数(及び必要なら前の詳細(detail)係数)からのx
(2n)-x(2n+1)に関する予測である。この予測は非線形
画像モデルを利用する。一実施例では、非線形画像モデ
ルはHuber-Markov確率場である。この非線形画像モデ
ルは、フォーワード変換と逆変換sにおいて全く同一で
ある。反復画像モデルの場合、反復の回数と次数は同一
である。
In this embodiment, q (n) is smooth (smoot
h) x from coefficient (and previous detail coefficient if necessary)
This is a prediction related to (2n) -x (2n + 1). This prediction utilizes a non-linear image model. In one embodiment, the non-linear image model is a Huber-Markov random field. This nonlinear image model is exactly the same in the forward transform and the inverse transform s. In the case of an iterative image model, the number and order of iterations are the same.

【0121】非線形画像モデルの一例は次の通りであ
る。ある一定の反復回数の場合に、それぞれの値(画素
又はローパス係数)x(k)は新たな値x'(k)に調整され
る(ただし、kは2n又は2n+1である)。任意の反
復回数を用いてよいが、一実施例では3回の繰り返しが
用いられる。最終の反復からq(n)の値が求まる。
One example of the nonlinear image model is as follows. For a certain number of iterations, each value (pixel or low-pass coefficient) x (k) is adjusted to a new value x '(k), where k is 2n or 2n + 1. Any number of repetitions may be used, but in one embodiment, three repetitions are used. The value of q (n) is obtained from the last iteration.

【0122】[0122]

【数12】 (Equation 12)

【0123】反復の度に、各x(k)に対する変化y(k)が
計算される。
At each iteration, the change y (k) for each x (k) is calculated.

【0124】[0124]

【数13】 (Equation 13)

【0125】ここでAは変化率であり、これは任意の正
値でよい。一実施例ではA=1である。Biは差分検出
子である。例えば、1次元の場合、Biは次の通りであ
る。
Here, A is the rate of change, which may be any positive value. In one embodiment, A = 1. Bi is a difference detector. For example, in a one-dimensional case, Bi is as follows.

【0126】[0126]

【数14】 [Equation 14]

【0127】2次元の場合、水平、垂直、及び2つの対
角線方向の差分を検出するための4つのBi値があろ
う。Biとして他の差分演算子を用いてもよい。
In the two-dimensional case, there will be four Bi values for detecting the difference between horizontal, vertical and two diagonal directions. Another difference operator may be used as Bi.

【0128】[0128]

【数15】 (Equation 15)

【0129】ここで、Tは閾値であり、これは任意の正
値でよい。Tは画像のエッジを構成する差分を表す。一
実施例では、T=8である。
Here, T is a threshold, which may be any positive value. T represents a difference constituting an edge of the image. In one embodiment, T = 8.

【0130】x'(2n)+x'(2n+1)=x(2n)+x(2n+
1)の拘束条件のもとに、値x'(2n),x'(2n+1)のペ
アは変化y(2n),y(2n+1)のペアによって調整され
る。これは、変化y(2n),y(2n+1)を結合して単一の
変化y'(2n)、つまり、両変化にサポートされる最大の
変化にすることによって達成される。
X '(2n) + x' (2n + 1) = x (2n) + x (2n +
Under the constraint condition 1), the pair of values x '(2n) and x' (2n + 1) is adjusted by the pair of changes y (2n) and y (2n + 1). This is achieved by combining the changes y (2n), y (2n + 1) into a single change y '(2n), the largest change supported by both changes.

【0131】y(n)とy(2n+1)が両方とも正か負のとき
には、 y'(sn)=0 である。そうでない場合、|y(2n)|<|y(2n+1)|な
らば、 y'(2n)=y(2n) であり、そうでなければ y'(sn)=−y(2n+1) である。そして x'(2n)=x(2n)+y'(2n) x'(2n+1)=x(2n+1)−y'(2n) である。Huber−Markov確率場に関するこれ以上の情
報を得るには、R.R.Schultz and R.L.Steven
son,”Improved definition imageexpansion”,Pro
ceedings of IEEE International Conference on Ac
oust.,Speech and Signal Processing,vol.III,
pp.173-176,San Fransisco,March 1992 を見られ
たい。
When y (n) and y (2n + 1) are both positive or negative, y ′ (sn) = 0. Otherwise, if | y (2n) | <| y (2n + 1) |, then y ′ (2n) = y (2n), otherwise y ′ (sn) = − y (2n + 1). Then, x '(2n) = x (2n) + y' (2n) x '(2n + 1) = x (2n + 1) -y' (2n). For more information on the Huber-Markov random field, see R. Schultz and R.S. L. Steven
son, "Improved definition imageexpansion", Pro
ceedings of IEEE International Conference on Ac
oust., Speech and Signaling Processing, vol. III,
pp. 173-176, San Francisco, March 1992.

【0132】いくつかの実施例では、変換は1次元から
2次元へ拡張されるが、その拡張のためにまずq(n)=
0として各次元に対し別々に変換を行う。次に、画像モ
デルの同様の適用によってLH,HL,HH値のための
3つのq(n)値を計算する。
In some embodiments, the transform is extended from one-dimensional to two-dimensional, but for that extension first q (n) =
Conversion is performed separately for each dimension as 0. Next, three q (n) values are calculated for the LH, HL, and HH values by a similar application of the image model.

【0133】2次元ウエーブレット分解 本発明のローパスフィルタ及びハイパスフィルタを用い
て、多重解像度分解が行なわれる。分解レベル数は可変
であり任意数でよいが、現在のところ分解レベル数は2
レベル乃至5レベルである。最大レベル数は、log2
(長さ又は幅の最大値)である。
Two-dimensional Wavelet Decomposition Multi-resolution decomposition is performed using the low-pass filter and the high-pass filter of the present invention. The number of decomposition levels is variable and may be any number, but currently the number of decomposition levels is 2
The levels are from level 5 to level 5. The maximum number of levels is log2
(Maximum value of length or width).

【0134】画像のような2次元データに対し変換を実
行する最も普通のやり方は、1次元フィルタを別々に適
用する方法、つまり、行に沿って適用したのち列に沿っ
て適用するという方法である。第1レベルの分解により
4つの異なった係数バンドが得られ、これら係数バンド
は本明細書ではLL,HL,LH,HHと呼ぶ。これら
文字は、前に定義した平滑(smooth)フィルタと詳細(det
ail)フィルタの適用を意味するロー(L)とハイ(H)
を表す。したがって、LLバンドは行方向及び列方向の
平滑フィルタより得られた係数からなっている。ウエー
ブレット係数を図4乃至図7のような形に配置するのが
一般的なやりかたである。
The most common way to perform a transformation on two-dimensional data, such as an image, is to apply the one-dimensional filter separately, that is, apply it along the rows and then along the columns. is there. The first level of decomposition yields four different coefficient bands, referred to herein as LL, HL, LH, HH. These characters correspond to the smooth filter defined earlier and the det (det
ail) Low (L) and high (H) meaning the application of the filter
Represents Therefore, the LL band is made up of coefficients obtained from the row and column direction smoothing filters. It is a common practice to arrange the wavelet coefficients in a form as shown in FIGS.

【0135】ウエーブレット分解の各周波数サブバンド
はさらに分解することができる。最も普通のやりかたは
LLサブブロックだけをさらに分解する方法であり、こ
れは各分解レベルのLL周波数サブバンドが生成された
時にそれをさらに分解することを含むであろう。このよ
うな多重分解はピラミッド分解と呼ばれる(図4乃至図
7)。記号LL,LH,HL,HHと分解レベル番号に
よって各分解を示す。なお、本発明のTSフィルタ、T
Tフィルタのいずれによっても、ピラミッド分解は係数
サイズを増加させない。
Each frequency sub-band of the wavelet decomposition can be further decomposed. The most common approach is to further decompose only the LL sub-blocks, which will involve further decomposing the LL frequency subbands at each decomposition level as they are generated. Such multiple decomposition is called pyramid decomposition (FIGS. 4 to 7). Each decomposition is indicated by a symbol LL, LH, HL, HH and a decomposition level number. The TS filter of the present invention, T
With any of the T filters, pyramid decomposition does not increase the coefficient size.

【0136】例えば、可逆ウエーブレット変換が再帰的
に1つの画像に適用されると、第1レベルの分解は最も
細かいディテールもしくは解像度に対し作用する。第1
分解レベルで、画像は4つのサブ画像(すなわちサブバ
ンド)に分解される。各サブバンドは、1つの空間周波
数帯域を表わしている。第1レベルのサブバンドはLL
0,LH0,HL0,HH0と表される。元の画像を分解す
るプロセスは、水平,垂直の両次元における1/2サブ
サンプリングを含むので、図4に示されるように、第1
レベルのサブバンドLL0,LH0,HL0,HH0はそれ
ぞれ、入力が持っていた画像の画素(または係数)の個
数の4分の1の個数の係数を持つ。
For example, if the reversible wavelet transform is applied recursively to an image, the first level of decomposition operates on the finest detail or resolution. First
At the decomposition level, the image is decomposed into four sub-images (ie, sub-bands). Each subband represents one spatial frequency band. The first level subband is LL
0, LH0, HL0, HH0. Since the process of decomposing the original image involves サ ブ subsampling in both the horizontal and vertical dimensions, as shown in FIG.
Each of the level sub-bands LL0, LH0, HL0, HH0 has one-fourth of the number of pixels (or coefficients) of the image of the input.

【0137】サブバンドLL0は、水平方向の低い周波
数情報と垂直方向の低い周波数情報を同時に含んでい
る。一般に、画像エネルギーの大部分は当該サブバンド
に集中している。サブバンドLH0は、水平方向の低い
周波数情報と垂直方向の高い周波数情報(例えば水平方
向エッジの情報)を含んでいる。サブバンドHL0は、
水平方向の高い周波数情報と垂直方向の低い周波数情報
(例えば垂直方向エッジの情報)を含んでいる。サブバ
ンドHH0は、水平方向の高い周波数情報と垂直方向の
高い周波数情報(例えばテクスチャ又は斜めエッジの情
報)を含んでいる。
The sub-band LL0 simultaneously includes low frequency information in the horizontal direction and low frequency information in the vertical direction. Generally, most of the image energy is concentrated in that subband. The sub-band LH0 includes low-frequency information in the horizontal direction and high-frequency information in the vertical direction (for example, horizontal edge information). Subband HL0 is
It includes high frequency information in the horizontal direction and low frequency information in the vertical direction (for example, information on vertical edges). The sub-band HH0 includes high-frequency information in the horizontal direction and high-frequency information in the vertical direction (for example, information on texture or oblique edges).

【0138】この後に続く第2、第3、第4の下位分解
レベルはそれぞれ、前レベルの低周波数LLサブバンド
を分解することによって作られる。第1レベルの当該サ
ブバンドLL0が分解されることによって、図5に示す
ように、やや精細な第2レベルのサブバンドLL1,L
H1,HL1,HH1が作られる。同様に、サブバンドL
L1が分割されることによって、図6に示すように、精
細度の粗い第3レベルのサブバンドLL2,LH2,HL
2,HH2が生成される。また、図7に示すように、サブ
バンドLL2が分割されることにより、精細度がより粗
い第4レベルのサブバンドLL3,LH3,HL3,HH3
が作られる。2:1のサブサンプリングにより、第2レ
ベルの各サブバンドは、原画像の16分の1の大きさで
ある。このレベルの各標本(つまり画素)は、原画像中
の同一位置のやや細いディテールを表す。同様に、第3
レベルの各サブバンドは、原画像の64分の1の大きさ
である。第3レベルでの各画素は、原画像中の同一位置
のかなり粗いディテールを表す。また、第4レベルの各
サブバンドは原画像の256分の1の大きさである。
The second, third, and fourth lower decomposition levels that follow are each created by decomposing the previous level low frequency LL subband. By decomposing the first level sub-band LL0, as shown in FIG. 5, the second level sub-bands LL1 and L
H1, HL1, and HH1 are created. Similarly, subband L
By dividing L1, as shown in FIG. 6, the third level sub-bands LL2, LH2, HL with coarser definition are obtained.
2, HH2 is generated. Further, as shown in FIG. 7, the sub-band LL2 is divided, so that the sub-bands LL3, LH3, HL3, and HH3 of the fourth level with lower definition are provided.
Is made. With 2: 1 subsampling, each subband at the second level is one-sixteenth the size of the original image. Each sample (or pixel) at this level represents a slightly smaller detail at the same location in the original image. Similarly, the third
Each sub-band of the level is 1 / 64th the size of the original image. Each pixel at the third level represents a fairly coarse detail of the same location in the original image. Each sub-band at the fourth level is 1 / 256th of the size of the original image.

【0139】分解画像はサブサンプリングのため原画像
より物理的に小さいので、原画像の格納のために使用さ
れたメモリを利用して、分解サブバンド全部を格納でき
る。つまり、3レベル分割の場合、原画像と分解サブバ
ンドLL0,LL1は捨てられ、保存されない。
Since the decomposed image is physically smaller than the original image due to sub-sampling, all of the decomposed sub-bands can be stored using the memory used for storing the original image. That is, in the case of three-level division, the original image and the decomposition sub-bands LL0 and LL1 are discarded and not stored.

【0140】4つのサブバンド分解レベルだけを示した
が、個々のシステムの要件に応じて、それ以上のレベル
を生成することも可能である。また、DCTのような他
の変換又は一次元配置のサブバンドによって、様々な親
子関係を定義してもよい。
Although only four sub-band decomposition levels have been shown, it is possible to generate more levels depending on the requirements of the particular system. Various parent-child relationships may also be defined by other transforms such as DCT or one-dimensionally arranged subbands.

【0141】ピラミッド分解 ウエーブレット分解の各周波数サブバンドはさらに分解
することができる。一実施例においては、LL周波数サ
ブバンドだけが分解される。本明細書では、このような
分解はピラミッド分解と呼ばれる。記号LL,LH,H
L,HHと分解レベル番号で各分解を表示する。なお、
本発明のウエーブレット・フィルタによれば、ピラミッ
ド分解は係数サイズを増大させない。
Pyramid Decomposition Each frequency sub-band of the wavelet decomposition can be further decomposed. In one embodiment, only the LL frequency subband is decomposed. Such a decomposition is referred to herein as a pyramid decomposition. Symbol LL, LH, H
Each decomposition is indicated by L, HH and the decomposition level number. In addition,
According to the wavelet filter of the present invention, the pyramid decomposition does not increase the coefficient size.

【0142】別の実施例では、LLに加えて他のサブバ
ンドも分解されるかもしれない。以下の説明におい
て、”LL”なる用語は”SS”(”L”=”S”)と
入れ替えて用いてよい。同様に、”H”なる用語も”
D”と入れ替えて用いてもよい。
In another embodiment, other sub-bands in addition to LL may be resolved. In the following description, the term “LL” may be used interchangeably with “SS” (“L” = “S”). Similarly, the term "H" is also
D "may be used interchangeably.

【0143】ウエーブレットのツリー構造 ピラミッド分解のウエーブレット係数には自然で有用な
ツリー構造がある。なお、LL周波数サブブロックは最
終の分解レベルに対応したただ一つしかない。これに対
し、LH,HL,HHのバンドはレベル数と同数存在す
る。このツリー構造により、ある周波数帯域内の係数の
親は、それより低い解像度の同じ周波数帯域内の係数で
あり、かつ同じ空間位置関係にあることが明らかにな
る。
Wavelet Tree Structure The wavelet coefficients of the pyramid decomposition have a natural and useful tree structure. Note that there is only one LL frequency sub-block corresponding to the final decomposition level. On the other hand, the number of LH, HL, and HH bands is equal to the number of levels. This tree structure reveals that the parents of the coefficients in a certain frequency band are the coefficients in the same frequency band of lower resolution and have the same spatial positional relationship.

【0144】各ツリーのルートは、純粋に平滑な係数で
ある。画像のような2次元の信号の場合、ツリーのルー
トは3つの”子”を持ち、ほかのノードはそれぞれ4つ
の子を持つ。この階層的ツリーは2次元信号に限定され
ない。例えば、1次元信号の場合、ルートは1つの子を
持ち、ルート以外のノードはそれぞれ2つの子を持つ。
これ以上高い次元は、1次元の場合及び2次元の場合よ
り導かれる。
The root of each tree is a purely smooth coefficient. For a two-dimensional signal such as an image, the root of the tree has three "children", and the other nodes each have four children. This hierarchical tree is not limited to two-dimensional signals. For example, in the case of a one-dimensional signal, the root has one child, and nodes other than the root each have two children.
Higher dimensions are derived from the one-dimensional and two-dimensional cases.

【0145】図8は連続した2レベル間の親子関係を表
している。図8において、Aの係数は、B,C,Dに対
する直接の親であるが、B,C,Dを親とする係数(E
とH,FとI,GとJ)に対する親でもある。例えば、
Bは、E付近の4係数、H付近の16係数、等々に対す
る親である。
FIG. 8 shows a parent-child relationship between two consecutive levels. In FIG. 8, the coefficient of A is a direct parent to B, C, and D, but the coefficient (E
And H, F and I, and G and J). For example,
B is the parent for 4 coefficients near E, 16 coefficients near H, and so on.

【0146】多重解像度分解のプロセスは、フィルタ系
列を使って遂行し得る。
The process of multi-resolution decomposition may be performed using a filter sequence.

【0147】1次元の模範的フィルタを使って実現され
る1次元2レベル変換の例については、米国特許出願第
08/498,695号(1995年6月30日受
理、”Method and Apparatus For Compression Us
ing Reversible WaveletTransforms and an Embedd
ed Codestream”)及び米国特許出願第08/498,
036号(1995年6月30日受理”Reversible W
avelet Transformand Embedded Code-stream Manip
ulation”)を見られたい。
For an example of a one-dimensional two-level transformation implemented using a one-dimensional exemplary filter, see US patent application Ser. No. 08 / 498,695, filed Jun. 30, 1995, entitled "Method and Apparatus For Compression." Us
ing Reversible WaveletTransforms and an Embedd
ed Codestream ") and U.S. patent application Ser.
No. 036 (Received June 30, 1995, "Reversible W
avelet Transformand Embedded Code-stream Manip
ulation ”).

【0148】フォワード・ウエーブレット変換の実行 本発明では、水平方向の1−D(次元)パス、次で垂直
方向の1−Dパスによってウエーブレット変換が実行さ
れる。レベル数で反復回数が決まる。図9は前に定義し
たようなフォワードTT変換フィルタを使う4レベル分
解を表す。
Execution of Forward Wavelet Transform In the present invention, the wavelet transform is executed by a 1-D (dimensional) pass in the horizontal direction and then by a 1-D pass in the vertical direction. The number of levels determines the number of iterations. FIG. 9 represents a four-level decomposition using a forward TT transform filter as previously defined.

【0149】別の実施例では、任意のレベルの水平又は
垂直のウエーブレット変換の任意の時点のTT変換の代
わりに、S変換のような別の可逆ウエーブレット変換フ
ィルタを用いることができる。一実施例では、水平方向
と垂直方向の両方にTT変換を利用して4レベル分解が
実行される。一実施例では、4レベル分解において、4
つのTT変換の中の2つがS変換で置き換えられる。こ
れは圧縮の損失は少ないが、メモリ使用量に対する効果
は大きい。水平方向の変換と垂直方向の変換は交互に適
用されるであろう。
In another embodiment, another reversible wavelet transform filter, such as an S-transform, can be used instead of the TT transform at any point in the horizontal or vertical wavelet transform at any level. In one embodiment, a four-level decomposition is performed using the TT transform in both the horizontal and vertical directions. In one embodiment, in a four-level decomposition,
Two of the TT transforms are replaced by S transforms. This has less compression loss, but has a greater effect on memory usage. The horizontal and vertical transforms will be applied alternately.

【0150】なお、S変換とTT変換の組合せが水平方
向及び垂直方向の変換を実施するために用いられてもよ
い。変換の順序は雑多でよいが、完全に可逆的であるた
めには、復号化器はその順序を知って逆の順序で逆操作
を実行しなければならない。後述のように、復号化器は
変換順序をヘッダで知らされるかもしれない。
Note that a combination of the S-transform and the TT-transform may be used for performing the horizontal and vertical conversions. The order of the transformations can be mixed, but to be completely reversible, the decoder must know the order and perform the inverse operation in the reverse order. As described below, the decoder may be informed of the conversion order in the header.

【0151】埋め込み順序付け 本発明では、ウエーブレット分解の結果として生成され
た係数はエントロピー符号化される。本発明において
は、係数は最初に埋め込み符号化(embeddedcoding)を
施されるが、この符号化では、視覚的に重要な順に係数
が順序付けられ、または、より一般的に、何等かの誤差
規準(例えば、歪み規準)を考慮して係数が順序付けら
れる。誤差または歪みの規準には、ピーク誤差と平均2
乗誤差(MSE)が含まれる。また、ビット・シグニフ
ィカンス空間配置(bit-significance spatial locatio
n)より、データベース照会のための妥当性を優先させ
るように、また方向別に(垂直、水平、斜め等)順序付
けてもよい。
Embedding Ordering In the present invention, the coefficients generated as a result of wavelet decomposition are entropy coded. In the present invention, the coefficients are first subjected to embedded coding, in which the coefficients are ordered in visually important order, or more generally some error criterion ( For example, the coefficients are ordered taking into account the distortion criterion). Error or distortion criteria include peak error and mean 2
Multiplicative error (MSE). In addition, bit-significance spatial locatio
n) may be ordered by preference (vertical, horizontal, diagonal, etc.) to prioritize validity for database queries.

【0152】データの順序付けは、符号ストリームの埋
め込み量子化したものを生成するために行われる。本発
明においては、2つの順序付け方法が用いられる。その
一つは係数を順序付けするためのものであり、もう一つ
は係数中の2進値を順序付けするためのものである。本
発明の順序付けは、ビットストリームを生成し、このビ
ットストリームはその後にバイナリ・エントロピー・コ
ーダにより符号化される。
The ordering of the data is performed to generate an embedded quantized version of the code stream. In the present invention, two ordering methods are used. One is for ordering the coefficients, and the other is for ordering the binary values in the coefficients. The ordering of the present invention produces a bitstream that is subsequently encoded by a binary entropy coder.

【0153】タイル 本発明においては、変換と符号化の前に、画像はタイル
に分割される。タイルは、完全独立に符号化される全体
画像の部分画像であり、図11のように番号がつけられ
た画像上に配置された規則的な矩形格子により定義され
る。右端と下端のタイルは、原画像及びタイル・サイズ
に応じて色々なサイズになる。
Tile In the present invention, before transformation and encoding, the image is divided into tiles. A tile is a partial image of the entire image that is completely independently encoded, and is defined by a regular rectangular grid arranged on the numbered images as shown in FIG. The tiles at the right and bottom edges have various sizes depending on the original image and the tile size.

【0154】タイルは画像サイズ以下の任意の高さ、幅
にしてよいが、タイル・サイズの選び方は性能に影響す
る。小さなタイル、特にラスタ順画像の垂直方向の寸法
が小さいタイルは、作業域用メモりを減らすことができ
る。しかし、タイルが小さすぎると、合図のための(si
gnaling)オーバーヘッド、タイル境界での変換効率の
損失、エントロピー・コーダの立ち上がり適応という3
つの要因により圧縮効率が下がる。タイルの寸法を、最
も低い周波数成分の大きさの倍数(CREWツリー)、
つまりレベル数の関数(2のレベル数乗)にするのが有
利である。原画像のサイズによるが、128×128又
は256×256のタイルが多くのアプリケーションに
適当と思われる。
The tiles may have any height and width equal to or less than the image size, but the selection of the tile size affects the performance. Small tiles, especially tiles with small vertical dimensions in raster-ordered images, can reduce work area memory. However, if the tiles are too small,
gnaling) overhead, loss of conversion efficiency at tile boundaries, rising adaptation of entropy coder
Two factors reduce compression efficiency. The size of the tile is a multiple of the magnitude of the lowest frequency component (CREW tree),
That is, it is advantageous to use a function of the number of levels (2 raised to the power of the number of levels). Depending on the size of the original image, 128 × 128 or 256 × 256 tiles may be suitable for many applications.

【0155】タイルは一連の画像の圧縮のために利用さ
れるかもしれない。したがって、タイルされた画像は、
時間的に異なる画像(映画のような)又は空間的に異な
る画像(MRIの如き3D断面のような)かもしれな
い。これを知らせる格別の方法はないが、CMTが利用
されるかもしれない。
Tiles may be used for compression of a series of images. So the tiled image is
It may be a temporally different image (like a movie) or a spatially different image (like a 3D section like MRI). There is no special way to signal this, but CMT may be used.

【0156】変換、コンテキスト・モデル、エントロピ
ー符号化は1つの画像タイルの画素及び係数だけに作用
する。それゆえに、画像タイルは順序によらずに解析又
は復号化することができ、すなわちランダムにアドレス
することができ、あるいは、注目領域の伸長のため様々
な歪みレベルに復号化することができる。
Transforms, context models, and entropy coding operate only on pixels and coefficients of one image tile. Therefore, the image tiles can be analyzed or decoded out of order, ie, can be addressed randomly, or can be decoded to different distortion levels due to the extension of the region of interest.

【0157】1つの画像タイルの画素データは全部、符
号化器で一度に利用できる、例えばメモリにバッファさ
れる。ひとたび画素データが変換されれば、全ての係数
データを水平コンテキスト・モデルに利用できる。全て
の係数をランダムにアクセスできるので、画像タイル内
部の埋め込みの順序は、符号化器及び復号化器が知って
いる限り任意でよい。エントロピー・コーダは、この順
序付けに関し無頓着であるから、その順序は圧縮率に大
きな影響を及ぼすので注意して選ばねばならない。
All pixel data of one image tile is available to the encoder at one time, eg, buffered in memory. Once the pixel data has been transformed, all coefficient data is available for the horizontal context model. Since all coefficients can be accessed randomly, the order of embedding within the image tiles can be arbitrary as long as the encoder and decoder know. Since the entropy coder is careless about this ordering, it must be chosen carefully because its order has a large effect on the compression ratio.

【0158】画像タイルは矩形配置されたツリー(LL
係数及びその全ての子孫)の番号により定義される。各
ツリー内の画素の数はウエーブレット分解のレベル数の
関数である。
Image tiles are arranged in a rectangular tree (LL).
Coefficient and all its descendants). The number of pixels in each tree is a function of the number of levels in the wavelet decomposition.

【0159】画像基準格子は、各成分の大きさが格子点
の整数倍である最小の格子面である。このことは、殆ど
の画像で、画像基準格子が最頻成分と同一であることを
暗に意味する。
The image reference grid is a minimum grid plane in which the size of each component is an integral multiple of a grid point. This implies that for most images, the image reference grid is the same as the mode component.

【0160】1成分の画像又は全成分が同一サイズの画
像の場合、画像基準格子は画像と同一サイズである(例
えば格子点は画像の画素である)。複数の成分の全部が
同一サイズというわけではない画像の場合、そのサイズ
は画像基準格子点の整数倍と定義される。例えば、CC
IR601 YCrCb色成分系は、各Cr及びCb成分に対し
2つのY成分を持つように定義される。したがって、Y
成分は画像基準格子を定義し、Cr成分とCb成分はそれ
ぞれ水平方向に2単位を、垂直方向に1単位をカバーす
る。
If one component image or all components are the same size image, the image reference grid is the same size as the image (for example, the grid points are pixels of the image). In the case of an image in which all of the plurality of components are not the same size, the size is defined as an integral multiple of the image reference grid point. For example, CC
The IR601 YCrCb color component system is defined to have two Y components for each Cr and Cb component. Therefore, Y
The components define an image reference grid, and the Cr and Cb components cover two units in the horizontal direction and one unit in the vertical direction.

【0161】ビット・シグニフィカンス表現 一実施例では、係数内の2進値に対し用いられる埋め込
み順序はビットプレーン順である。係数はビット・シグ
ニフィカンス表現で表される。ビット・シグニフィカン
ス表現は、最上位ビット(MSB)ではなくて符号(si
gn)ビットが、最初の非ゼロの絶対値ビットと共に符号
化される符号・絶対値表現である。
Bit Significance Representation In one embodiment, the embedding order used for the binary values in the coefficients is bit plane order. The coefficients are represented in a bit significance representation. The bit significance representation is not the most significant bit (MSB) but the code (si
gn) bits are the sign-magnitude representation encoded with the first non-zero magnitude bit.

【0162】ビット・シグニフィカンス形式で表現され
る数には3種類のビット、すなわちヘッド(head)ビッ
ト、テール(tail)ビット及び符号(sign)ビットがある。
ヘッドビットとは、MSBから最初の非ゼロ絶対値ビッ
トまでの全てのゼロビットと、その最初の非ゼロ絶対値
ビットである。その最初の非ゼロ絶対値ビットが存在す
るビットプレーンで、係数の重要性が定まる。最初の非
ゼロ絶対値ビットの後からLSBまでのビットがテール
ビットである。符号ビットは符号(sign)を表わすにすぎ
ない。MSBが非ゼロビットの数、例えば±2n は、ヘ
ッドビットを1ビットしか持たない。ゼロの係数は、テ
ールビットも符号ビットも持たない。図12にビット・
シグニフィカンス表現の例を示す。
The number represented in the bit significance format has three types of bits: a head bit, a tail bit, and a sign bit.
The head bits are all zero bits from the MSB to the first non-zero magnitude bit, and the first non-zero magnitude bit. The significance of the coefficients is determined by the bit plane in which the first non-zero magnitude bit resides. The bits after the first non-zero magnitude bit to the LSB are tail bits. The sign bit only represents a sign. A number of non-zero bits with MSBs, for example ± 2n, has only one head bit. Zero coefficients have neither tail bits nor sign bits. FIG.
Here is an example of a significance expression.

【0163】画素の輝度に関連して起こるような、値が
非負整数の場合、採用し得る順序はビットプレーン順
(例えば、最上位ビットプレーンから最下位ビットプレ
ーンへの順)である。2の補数による負整数も許容され
る実施例では、符号ビットの埋め込み順序は、整数の絶
対値の最初の非ゼロビットと同じである。したがって、
1つの非ゼロビットが符号化されるまで、符号ビットは
考慮されない。例えば、符号・絶対値表記法によれば、
−7の16ビット数は 1000000000000111 である。ビットプレーン・ベースで、初めの12デシジ
ョン(decision)は”無意味”すなわちゼロとなる。最
初の1のビットは13番目のデシジョンに見つかる。次
に符号ビット(”負”)が符号化される。符号ビットが
符号化された後、テールビットが処理される。14番目
と15番目のデシジョンは共に”1”である。
For values that are non-negative integers, such as those that occur in connection with pixel brightness, the possible order is bit-plane order (eg, most significant bit plane to least significant bit plane). In embodiments where two's complement negative integers are also allowed, the sign bit embedding order is the same as the first non-zero bit of the absolute value of the integer. Therefore,
Until one non-zero bit is encoded, the sign bit is not considered. For example, according to the sign / absolute value notation,
The 16-bit number of −7 is 10000000000001111. On a bit-plane basis, the first twelve decisions are "meaningless" or zero. The first one bit is found in the thirteenth decision. Next, the sign bit ("negative") is encoded. After the sign bits are encoded, the tail bits are processed. The 14th and 15th decisions are both "1".

【0164】係数は最上位のビットプレーンから最下位
のビットプレーンへと符号化されるので、データのビッ
トプレーン数が正確にわからなければならない。本発明
においては、データから計算される、又は画像の深度及
びフィルタ係数から導き出される係数値の絶対値の上限
を見つけることによって、ビットプレーン数が決定され
る。例えば、その上限が149のときには、有意な8ビ
ットつまり8つのビットプレーンがある。ソフトウエア
の速度のため、ビットプレーン符号化は用いられないか
もしれない。別の実施例では、ビットプレーンが符号化
されるのは、係数が2進数として意味をなす時だけであ
る。
Since the coefficients are encoded from the most significant bit plane to the least significant bit plane, the number of data bit planes must be known accurately. In the present invention, the number of bitplanes is determined by finding the upper limit of the absolute value of the coefficient value calculated from the data or derived from the image depth and the filter coefficients. For example, when the upper limit is 149, there are eight significant bits, or eight bit planes. Due to the speed of the software, bitplane encoding may not be used. In another embodiment, the bit planes are encoded only when the coefficients make sense as binary numbers.

【0165】係数アラインメント(alignment) 本発明は、ビットプレーン符号化の前に係数相互のアラ
インメントを行う。これは、FFTやDCTと同様、異
なった周波数サブバンド内の係数は異なった周波数を表
すからである。本発明は、係数のアラインメントを行う
ことにより量子化を可能にする。量子化の重さが小さい
係数ほど早いビットプレーン側へアラインメントされる
(例えば左へシフトされる)。よって、ストリームが打
ち切りされる場合、これらの係数は、それを定義するビ
ットが、より重く量子化された係数に比べ多くなる。
Coefficient Alignment In the present invention, coefficients are aligned with each other before bit plane coding. This is because, like FFT and DCT, coefficients in different frequency subbands represent different frequencies. The present invention enables quantization by performing coefficient alignment. A coefficient with a smaller quantization weight is aligned to the bit plane side earlier (for example, shifted to the left). Thus, if the stream is truncated, these coefficients will have more bits defining them compared to the heavier quantized coefficients.

【0166】一実施例では、係数はSNR又はMSEの
見地から最高のレート・歪み性能が得られるようにアラ
インメントがなされる。MSEのような統計的誤差基準
から見てほぼ最適のアラインメントを含め、多くのアラ
インメントが可能である。あるいは、アラインメントは
係数データの物理視覚的(physchovisual)量子化を許す
かもしれない。アラインメントは画像品質に(換言すれ
ばレート・歪み曲線に)相当な影響を及ぼすが、非損失
性システムの最終的な圧縮率には殆ど影響しない。他の
アラインメントは、特殊な量子化である注目領域忠実度
符号化や解像度プログレッシブアラインメントに対応す
るかもしれない。
In one embodiment, the coefficients are aligned for the best rate-distortion performance from an SNR or MSE perspective. Many alignments are possible, including near-optimal alignments with respect to statistical error criteria such as MSE. Alternatively, the alignment may allow for physchovisual quantization of the coefficient data. Alignment has a significant effect on image quality (in other words, on the rate-distortion curve), but has little effect on the final compression ratio of a lossless system. Other alignments may correspond to special quantization, region-of-interest fidelity encoding, or resolution progressive alignment.

【0167】アラインメントは、圧縮データのヘッダで
通知されるかもしれない。係数はビット・シグニフィカ
ンス順に符号化されるが、最上位の重要性レベルは符号
化単位中の係数から導き出される。各係数の符号ビット
は、その係数が非ゼロの絶対値ビットを持つ最も上位の
重要性レベルまで符号化されない。これは、絶対値がゼ
ロの係数の符号ビットを符号化しないという利点があ
る。また、符号ビットは、埋め込み符号ストリーム中の
それが関連する点まで符号化されない。様々なサイズの
係数に関するアラインメントは、符号化器及び復号化器
のいずれも分かっているので、エントロピー・コーダの
効率に全く影響を与えない。
[0167] The alignment may be signaled in the header of the compressed data. The coefficients are encoded in bit significance order, with the highest significance level being derived from the coefficients in the coding unit. The sign bit of each coefficient is not coded to the highest significance level for which the coefficient has a non-zero magnitude bit. This has the advantage that the sign bit of the coefficient whose absolute value is zero is not coded. Also, the sign bit is not encoded to the point in the embedded code stream at which it is relevant. The alignment for the various sized coefficients has no effect on the efficiency of the entropy coder, since both the encoder and the decoder are known.

【0168】bビット/画素の画像の2レベルのTS変
換及びTT変換分解における係数のビット深度を図13
に示す。図14は、本発明における係数アラインメント
に用いられる周波数帯域用乗数の例である。係数のアラ
インメントのために、1-HH係数のサイズが基準として用
いられ、このサイズに対し相対的にシフトが与えられ
る。
FIG. 13 shows the bit depths of the coefficients in two-level TS conversion and TT conversion decomposition of an image of b bits / pixel.
Shown in FIG. 14 is an example of a frequency band multiplier used for coefficient alignment in the present invention. For coefficient alignment, the size of the 1-HH coefficient is used as a reference, and a shift is given relative to this size.

【0169】一実施例では、画像中の全ての係数のアラ
インメントを生成するため、係数は最大の係数の絶対値
を考えてシフトされる。アラインメント後の係数は、次
に、重要性レベルと呼ばれるビットプレーン単位で、最
上位の重要性レベル(MSIL)より最下位の重要性レ
ベル(LSIL)へと処理される。符号(sign)ビット
は、MSILの一部ではないので、各係数の最後のヘッ
ドビットまで符号化されない。重要なことは、アライン
メントはエントロピー・コーダへビットが送られる順序
を制御するに過ぎないことである。割増の0のビットの
パッディング、シフト、格納、符号化が実際に行われる
わけではない。
In one embodiment, to generate an alignment of all the coefficients in the image, the coefficients are shifted in view of the absolute value of the largest coefficient. The aligned coefficients are then processed from the highest importance level (MSIL) to the lowest importance level (LSIL) in bit plane units called importance levels. Since the sign bit is not part of the MSIL, it is not coded up to the last head bit of each coefficient. Importantly, the alignment only controls the order in which bits are sent to the entropy coder. The padding, shifting, storage, and encoding of the extra zero bits are not actually performed.

【0170】表1はアラインメントの例を示す。Table 1 shows an example of the alignment.

【0171】[0171]

【表1】 [Table 1]

【0172】様々なサイズの係数に関するアラインメン
トは、符号化器と復号化器の両方に分かっているので、
エントロピー・コーダの効率にはまったく影響を与えな
い。
Since the alignment for the various size coefficients is known to both the encoder and the decoder,
It has no effect on the efficiency of the entropy coder.

【0173】同じデータセットの符号化単位が異なった
アラインメントを持っても構わないことに注意された
い。
Note that the coding units of the same data set may have different alignments.

【0174】符号ストリームの順序付け 図15は、符号化ストリームの順序付けと符号化単位内
における順序付けを示している。図15において、ヘッ
ダ1001の後に、符号化単位1002が最も上の帯域
より最も下の帯域へと順に続く。符号化単位の内部で
は、LL係数1003は符号化されずにラスター(ライ
ン)順に格納される。LL係数の後に、重要性レベル
が、1ビットプレーンずつ、最上位のビットプレーンか
ら最下位のビットプレーンへと順にエントロピー符号化
される。この時、すべての係数の第1ビットプレーンが
符号化され、次に第2ビットプレーンが符号化され、以
下同様に符号化される。一実施例では、アラインメント
はヘッダ1001中に指定される。
Ordering of Code Stream FIG. 15 shows the ordering of the coded stream and the ordering within the coding unit. In FIG. 15, a coding unit 1002 follows the header 1001 in order from the highest band to the lowest band. Inside the coding unit, the LL coefficient 1003 is stored in raster (line) order without being coded. After the LL coefficients, the significance levels are entropy coded, one bit plane at a time, from the most significant bit plane to the least significant bit plane. At this time, the first bit plane of all coefficients is encoded, then the second bit plane is encoded, and so on. In one embodiment, the alignment is specified in header 1001.

【0175】一実施例では、LL係数は、それが8ビッ
ト値のときは、符号化されずにラスター順に格納される
にすぎない。LL係数のサイズが8ビット未満のときに
は、LL係数はパッディングにより8ビットにされる。
LL係数が8ビットより長いときには、LL係数は次の
ように格納される。まず、各係数の最上位の8ビットが
符号化されずラスター順に格納される。次に、係数の残
りの下位ビットはパックされてラスター順に格納され
る。例えば、10ビットのLL係数の場合、4個のLL
係数の最下位ビットは1バイトにパックされる。このよ
うにして、実際の画像の深度にかかわらず、係数毎に8
ビットのLLデータを得られるので、簡略画像もしくは
プレビュー画像の素早い生成が可能になる。
In one embodiment, the LL coefficients, when they are 8-bit values, are stored only in raster order without encoding. When the size of the LL coefficient is less than 8 bits, the LL coefficient is padded to 8 bits.
When the LL coefficient is longer than 8 bits, the LL coefficient is stored as follows. First, the most significant 8 bits of each coefficient are not encoded and stored in raster order. Next, the remaining lower bits of the coefficients are packed and stored in raster order. For example, in the case of a 10-bit LL coefficient, four LLs
The least significant bit of the coefficient is packed into one byte. In this way, regardless of the actual image depth, 8 per coefficient
Since bit LL data can be obtained, a simplified image or a preview image can be quickly generated.

【0176】各ビットプレーン期間内に係数が処理され
る順序は、低い解像度より高い解像度へ、かつ低い周波
数より高い周波数への順である。各ビットプレーン内の
係数サブバンドの順序は、高いレベル(低解像度、低周
波数)より低いレベル(高分解能、高周波数)への順で
ある。各周波数サブバンドの内部において、符号化はあ
る決まった順序でなされる。一実施例では、その順序は
ラスター順、2×2ブロック順、ジグザグ順、Peanoス
キャン順、等々である。
The order in which the coefficients are processed during each bit plane period is from lower resolution to higher resolution and from lower frequency to higher frequency. The order of the coefficient subbands in each bit plane is from higher levels (low resolution, low frequency) to lower levels (high resolution, high frequency). Within each frequency subband, the encoding is performed in a certain order. In one embodiment, the order is raster order, 2x2 block order, zigzag order, Peano scan order, and so on.

【0177】図15の符号ストリームを用いる4レベル
分解の場合、その順序は次のとおりである。 4-LL,4-HL,4-LH,4-HH,3-HL,3-LH,3-HH,2-HL,2-LH,2-HH,
1-HL,1-LH,1-HH 。
In the case of four-level decomposition using the code stream of FIG. 15, the order is as follows. 4-LL, 4-HL, 4-LH, 4-HH, 3-HL, 3-LH, 3-HH, 2-HL, 2-LH, 2-HH,
1-HL, 1-LH, 1-HH.

【0178】符号ストリーム・データを重要性によって
分けると、データを媒体に格納したり、ノイズのある通
信路により伝送するのに有利である。データの異なった
部分に、異なった冗長度を持つ誤り訂正/検出符号を用
いることができる。最も高い冗長度の符号をLL係数の
ヘッダに用いることができる。(重要度を基準にして)
重要性の低いエントロピー符号化データは、冗長度の低
い誤り訂正/検出符号を用いることができる。訂正不可
能な誤りが生じたときには、データのパケットを廃棄
(量子化)すべきか、または、通信路より再送信すべき
か、もしくは記憶装置から再読みだしすべきかを決定す
るために、そのデータの重要性レベルも利用できる。例
えば、高冗長度の誤り訂正BCH符号(Reed-Solomon
符号など)が、ヘッダデータ、LLデータ、エントロピ
ー符号化データの最も重要な4分の1のために用いられ
るかもしれない。エントロピー符号化データの残りの4
分の3は、低冗長度の誤り検出チェックサム又はCRC
(巡回冗長検査)によって保護されるであろう。一実施
例では、BCH符号を用いるパケットは常に再送信され
て廃棄されず、一方、チェックサム又はCRC符号を持
つパケットは再送信されず、データの送信を試みて失敗
した後に廃棄されるであろう。
Separating the code stream data by importance is advantageous for storing the data on a medium or transmitting it over a noisy channel. Error correcting / detecting codes with different degrees of redundancy can be used for different parts of the data. The code with the highest redundancy can be used for the header of the LL coefficient. (Based on importance)
For the less important entropy coded data, an error correction / detection code with low redundancy can be used. When an uncorrectable error occurs, the data packet must be discarded (quantized), re-transmitted from the communication channel, or re-read from the storage device to determine the data packet. Importance levels are also available. For example, a high redundancy error correction BCH code (Reed-Solomon
Codes, etc.) may be used for the most important quarter of the header data, LL data, entropy coded data. Remaining 4 of entropy encoded data
The third is a low redundancy error detection checksum or CRC.
(Cyclic Redundancy Check). In one embodiment, packets using the BCH code will always be retransmitted and not discarded, while packets with a checksum or CRC code will not be retransmitted and will be discarded after an unsuccessful attempt to transmit data. Would.

【0179】一実施例においては、ヘッダデータがデー
タの各部分に使用される誤り訂正/検出符号を指定す
る。言い換えれば、ヘッダ中の情報が、誤り訂正符号を
切り替えるべき時点を指示する。一実施例では、誤り訂
正/検出符号は、通信路に利用されるパケット間で、又
は記憶媒体に利用されるブロック間で変更されるだけで
ある。
In one embodiment, the header data specifies the error correction / detection code used for each portion of the data. In other words, the information in the header indicates when to switch the error correction code. In one embodiment, the error correction / detection code is only changed between packets used for the communication path or between blocks used for the storage medium.

【0180】図26は、ヘッダ1901の後に符号化さ
れないLL係数(1902)とエントロピー符号化デー
タ1903が埋め込み順に続く符号ストリームを示す。
図示のように、ヘッダ1901とLL係数1902は最
高冗長度の符号を使用するが、エントロピー符号化デー
タ1903は最低冗長度の符号を使用する。本発明は、
最高の冗長度から最低の冗長度までの多くの異なった符
号が使用されるスライディングスケールを採用すること
もできる。
FIG. 26 shows a code stream in which an LL coefficient (1902) which is not coded and entropy coded data 1903 follow the header 1901 in the order of embedding.
As shown, the header 1901 and the LL coefficient 1902 use the code with the highest redundancy, while the entropy coded data 1903 uses the code with the lowest redundancy. The present invention
A sliding scale may be employed in which many different codes are used, from highest redundancy to lowest redundancy.

【0181】水平コンテキストモデル 本発明に利用される水平コンテキストモデルの一実施例
を以下に説明する。このモデルは、係数の空間及びスペ
クトル従属性に基づいて符号化単位内のビットを利用す
る。隣接した係数及び親係数の利用可能な2進値を、コ
ンテキストを生成するために使用してもよい。しかし、
コンテキストはデコーダビリティを左右し、また、多少
は効率的適応に影響を及ぼす。
Horizontal Context Model An embodiment of the horizontal context model used in the present invention will be described below. This model utilizes the bits in a coding unit based on the spatial and spectral dependencies of the coefficients. The available binary values of the adjacent and parent coefficients may be used to generate the context. But,
Context affects the decodability and also influences the efficient adaptation somewhat.

【0182】水平コンテキストモデルによる係数のモデ
リング 本発明は、バイナリ・エントロピー・コーダのための埋
め込みビット・シグニフィカンス順の係数により生成さ
れた符号ストリームをモデル化するためのコンテキスト
・モデルを提供する。一実施例では、コンテキスト・モ
デルはランレングス・カウント(count)、空間モデ
ル、符号(sign)ビット・モデル、テールビット・モデ
ルからなる。ランレングス・カウントは、同じ状態のビ
ットのランを測定する。空間モデルは、ヘッドビットに
関する近傍係数及び親係数の情報を含んでいる。
Modeling Coefficients with a Horizontal Context Model The present invention provides a context model for modeling a codestream generated with coefficients in embedded bit significance order for a binary entropy coder. In one embodiment, the context model comprises a run-length count, a spatial model, a sign bit model, and a tail bit model. Run length count measures the run of bits in the same state. The spatial model includes information on the neighborhood coefficient and the parent coefficient regarding the head bit.

【0183】図16は、符号化単位の全ての係数の隣接
係数を表す。図16において、隣接係数は分かりやすい
地理的表記法で表されている(例えば、N=北、NE=
北東、等々)。ある係数、例えば図16のPと、カレン
ト・ビットプレーンが与えられたとすると、コンテキス
トモデルは、そのビットプレーンより前の符号化単位全
てから得られるどの情報も利用することができる。本コ
ンテキストモデルの場合、注目係数の親係数も利用され
る。
FIG. 16 shows adjacent coefficients of all the coefficients of the coding unit. In FIG. 16, the adjacent coefficients are represented in an easy-to-understand geographical notation (for example, N = North, NE =
Northeast, etc.). Given a coefficient, eg, P in FIG. 16, and a current bitplane, the context model can utilize any information available from all coding units prior to that bitplane. In the case of the present context model, the parent coefficient of the coefficient of interest is also used.

【0184】水平ヘッドビット・コンテキストモデル ヘッドビットは、最も圧縮できるデータである。したが
って、圧縮率を上げるため、大量のコンテキストもしく
は条件付けが使われる。隣接係数又は親係数の値を注目
係数の注目ビットに対するコンテキストを決定するため
に利用するというよりもむしろ、その情報は本明細書に
おいてテール情報と呼ぶ2ビットにまとめられる。この
情報は、メモリに格納されてもよいし、隣接係数又は親
係数から動的に計算されてもよい。テール情報は、最初
の非ゼロの絶対値ビットがすでに見つかったか否か(例
えば最初の”オン”ビットがすでに見つかったか否か)
を示し、そして、すでに見つかっているならば、幾つ前
のビットプレーンであったかを示す。表2はテール情報
ビットの説明である。
Horizontal Head Bit Context Model The head bit is the most compressible data. Therefore, a large amount of context or conditioning is used to increase the compression ratio. Rather than using the value of the adjacent or parent coefficient to determine the context for the bit of interest of the coefficient of interest, the information is grouped into two bits, referred to herein as tail information. This information may be stored in memory or may be calculated dynamically from neighboring or parent coefficients. The tail information indicates whether the first non-zero magnitude bit has already been found (eg, whether the first "on" bit has already been found).
And, if found, how many previous bit planes it was. Table 2 describes the tail information bits.

【0185】[0185]

【表2】 [Table 2]

【0186】この2ビットのテール情報から、そのテー
ル情報がゼロか否かを示す1ビットの”テール・オン”
ビットが合成される。一実施例では、テール情報とテー
ル・オンビットは係数が符号化された直後に更新され
る。別の実施例では、その更新は、並列的コンテキスト
生成を可能にするため、もっと後に行われる。
From the 2-bit tail information, 1-bit “tail-on” indicating whether the tail information is zero or not.
The bits are combined. In one embodiment, the tail information and tail-on bits are updated immediately after the coefficients are encoded. In another embodiment, the update occurs later to allow for parallel context creation.

【0187】さらに、この2ビットは、符号化される重
要性レベルを示すために利用される。最初の2ビットプ
レーンは値0、第2の2ビットプレーンは値1、第3の
2ビットプレーンは値2、残りのビットプレーンは値3
を使用する。さらに、すべてゼロのヘッドビットのラン
レングス符号化がある。
Furthermore, these two bits are used to indicate the importance level to be encoded. The first two bit planes have the value 0, the second two bit planes have the value 1, the third two bit planes have the value 2, and the remaining bit planes have the value 3.
Use In addition, there is run-length encoding of all zero head bits.

【0188】ヘッドビットのための10ビットのコンテ
キストは、親係数及びW係数それぞれの2ビット情報、
N,E,SW,S各係数の1ビット情報、2ビットの重
要性レベル情報からなる。
The 10-bit context for the head bit is 2-bit information for each of the parent coefficient and the W coefficient,
It consists of 1-bit information of each coefficient of N, E, SW and S, and 2-bit importance level information.

【0189】一実施例では、一部又は全ての周波数帯域
についてテール情報は用いられない。こうすることによ
り、周波数帯域を、その親を前もって復号化すねことな
く復号化できるようになる。
In one embodiment, no tail information is used for some or all of the frequency bands. This allows the frequency band to be decoded without having to decode its parent in advance.

【0190】別の実施例では、各周波数帯域のビットプ
レーンの重要性レベルへの割り当てに、一つのアライン
メントを用いる。親のテール・オン情報の決定に、もう
一つのアラインメントを利用するが、これが利用する親
のビットプレーンは実際に符号化されているビットプレ
ーンより少ない。これにより、ある周波数帯域のいくつ
かのビットプレーンが、同じ重要性レベルの対応した親
ビットプレーンを復号化せずに復号化できるようになる
(図51参照)。例えば、MSEアラインメントに基づ
いた親のテール・オン情報によらず、ピラミッド・アラ
インメントにより画像を符号化できる(図50参照)。
これにより、復号化器は、MSE アラインメントを模
擬し、又はピラミッド・アラインメントとMSEアライ
ンメントの間の任意のアラインメントを模擬し、ピラミ
ッド・アラインメントで復号化することができる。
In another embodiment, one alignment is used to assign each frequency band to a bit plane importance level. Another alignment is used to determine the parent tail-on information, which uses fewer parent bitplanes than the actual encoded bitplanes. This allows several bit planes in a certain frequency band to be decoded without decoding corresponding parent bit planes of the same importance level (see FIG. 51). For example, an image can be encoded by pyramid alignment without using parent tail-on information based on MSE alignment (see FIG. 50).
This allows the decoder to simulate the MSE alignment, or to simulate any alignment between the pyramid alignment and the MSE alignment, and decode with the pyramid alignment.

【0191】図29はコンテキスト従属関係を示す。子
はその親に条件付けられる。したがって、親は、その子
を復号化する前に復号化されなければならない、特に符
号化時に用いたアラインメントと異なるアラインメント
を用いて復号化する時にはそうである。
FIG. 29 shows context dependency. Children are conditioned on their parents. Thus, a parent must be decoded before decoding its children, especially when decoding with an alignment that is different from the alignment used during encoding.

【0192】水平符号(sign)ビット・コンテキストモデ
ル 最後のヘッドビットの後で、符号ビットが符号化され
る。符号のコンテキストは、N係数が正であるか負であ
るか、符号がまだ符号化されていないかによって、3つ
存在する。
Horizontal Sign (Bit) Context Model After the last head bit, the sign bit is encoded. There are three code contexts depending on whether the N coefficient is positive or negative and whether the code has not been coded yet.

【0193】水平テールビット・コンテキストモデル テールビットのためのコンテキストは、注目係数のテー
ル情報の値によって3つ存在する。(テールビットを符
号化しようとしているときには、テール情報値は1,2
又は3に限られることに注意されたい) 水平コンテキストモデルのためのステップ システムのコンテキストモデルは、コンテキストを記述
するために最高11ビットを使う。この数がまるまる指
定されなくともよい。各ビット位置の意味は、前の2進
値に依存する。まず第1に、ヘッドビットのある”ラン
符号化”を提供するために、ただ1つのコンテキストが
用いられる。ヘッドビットのランがないとにきは、各ビ
ットは、あるコンテキストに寄与する隣接係数及び親係
数により符号化される。ステップの具体例は以下のとお
りである。
Horizontal Tail Bit Context Model There are three contexts for tail bits depending on the value of the tail information of the coefficient of interest. (When trying to encode tail bits, the tail information value is 1, 2
Or note that it is limited to 3) Steps for the horizontal context model The context model of the system uses up to 11 bits to describe the context. The whole number does not have to be specified. The meaning of each bit position depends on the previous binary value. First, only one context is used to provide some "run coding" with head bits. When there is no run of head bits, each bit is coded with adjacent and parent coefficients that contribute to a context. Specific examples of the steps are as follows.

【0194】1)ルックアヘッド(look-ahead)をすべ
きか判定する。 次のN個の係数とそれらの北側に隣接する係数のテール
情報がすべてゼロならば、システムはステップ2に進
む。そうでなければ、次のN個の係数のためステップ3
に進む。一実施例では、N=16である。
1) It is determined whether look-ahead should be performed. If the tail information of the next N coefficients and their north adjacent coefficients is all zero, the system proceeds to step 2. Otherwise, step 3 for the next N coefficients
Proceed to. In one embodiment, N = 16.

【0195】2)ルックアヘッド手順を行う。 次のN個の係数の符号化すべきカレント・ビットプレー
ンのビットがゼロならば、1つの0が符号化され、シス
テムはステップ1から次のN係数に移行する。そうでな
ければ、1つの1が符号化され、システムは次のN係数
のためステップ3に進む。
2) Perform a look-ahead procedure. If the bit of the current bitplane to be encoded of the next N coefficients is zero, a 0 is encoded and the system moves from step 1 to the next N coefficients. Otherwise, one 1 is encoded and the system goes to step 3 for the next N coefficients.

【0196】3)注目係数の状態を判定し符号化する。 注目係数のテール情報が0ならば、注目係数のカレント
・ビットプレーンのビットは、西の係数と親係数(オプ
ション)のテール情報の2ビット、北西、東、南西、南
の係数のテールオンビット、及び重要性レベル情報の2
ビットにより作られる1024個の可能なコンテキスト
により符号化され、システムはステップ4に進む。な
お、一実施例では、親係数は利用されないため、コンテ
キストは隣接係数と重要性レベル情報だけから作られ
る。注目係数のテール情報が0でなければ、注目係数の
カレント・ビットプレーンのビットはテールビットであ
り、注目係数のテール情報の2ビットから作られる3つ
のコンテキストにより符号化される。
3) The state of the coefficient of interest is determined and encoded. If the tail information of the coefficient of interest is 0, the bits of the current bit plane of the coefficient of interest are the two bits of the tail information of the west coefficient and the parent coefficient (optional), and the tail-on bits of the northwest, east, southwest, and south coefficients. And importance level information 2
Encoded with 1024 possible contexts created by the bits, the system proceeds to step 4. In one embodiment, since the parent coefficient is not used, the context is created only from the adjacent coefficient and the importance level information. If the tail information of the coefficient of interest is not 0, the bit of the current bit plane of the coefficient of interest is a tail bit, and is encoded by three contexts formed from two bits of the tail information of the coefficient of interest.

【0197】4)カレント・ヘッドビットの状態を判定
し、必要なら符号(sign)ビットを符号化する。 注目係数のカレント・ビットプレーンのビットが1なら
ば、注目係数の符号(sign)は、北係数のテールオンビ
ット及び符号ビットにより作られる3つの可能なコンテ
キストにより符号化される。
4) Determine the state of the current head bit, and encode the sign bit if necessary. If the bit in the current bit plane of the coefficient of interest is 1, the sign of the coefficient of interest is encoded by the three possible contexts created by the tail-on bit and the sign bit of the north coefficient.

【0198】図17は前述のプロセスのフローチャート
である。図17において、白いブロックは符号化と関係
がなく、黒いブロックは符号化に関係がある。図に示さ
ないが、各エントロピー符号化デシジョン(decision)
に対し1つのコンテキストが定義される。前述の作用及
びフローは、当業者には理解できるであろう。
FIG. 17 is a flowchart of the above-described process. In FIG. 17, white blocks have nothing to do with coding, and black blocks have no relation to coding. Although not shown, each entropy coded decision (decision)
One context is defined for The foregoing operations and flows will be understood by those skilled in the art.

【0199】水平コンテキストモデルの一例が、入力係
数を符号/絶対値形式に変換する符号/絶対値ユニット
の一例とともに、米国特許出願第08/498,695
号(1995年6月30日受理、”Method and Appar
atus For CompressionUsing Reversible Wavelet
Transforms and an Embedded Codestream”)、及
び、米国特許出願第08/498,036号(1995
年6月30日受理、”Reversible Wavelet Transfor
m and Embedded CodestreamManipulation")に記述
されている。
One example of a horizontal context model is disclosed in US patent application Ser. No. 08 / 498,695, along with an example of a sign / magnitude unit that converts input coefficients to sign / magnitude format.
(Received June 30, 1995, “Method and Apppar
atus For CompressionUsing Reversible Wavelet
Transforms and an Embedded Codestream ") and U.S. patent application Ser. No. 08 / 498,036 (1995).
June 30, 2013, "Reversible Wavelet Transfor
m and Embedded Codestream Manipulation ").

【0200】エントロピー符号化 一実施例では、本発明により実施されるエントロピー符
号化は、バイナリ・エントロピー・コーダによって実行
される。一実施例では、エントロピー・コーダ106は
Qコーダ、QMコーダ、有限状態マシン、又は高速並列
コーダ等からなる。単一のコーダを用いて単一の出力符
号ストリームを生成してもよい。あるいは、複数の(物
理又は仮想)コーダを用い、複数の(物理又は仮想)デ
ータストリームを生成してもよい。
Entropy Coding In one embodiment, the entropy coding performed by the present invention is performed by a binary entropy coder. In one embodiment, entropy coder 106 comprises a Q coder, a QM coder, a finite state machine, or a fast parallel coder. A single coder may be used to generate a single output code stream. Alternatively, multiple (physical or virtual) coders may be used to generate multiple (physical or virtual) data streams.

【0201】一実施例では、本発明のバイナリ・エント
ロピー・コーダはQコーダからなる。Qコーダに関する
情報を得るには、Pennebaker,W.B.,et al.,”A
nOverview of the Basic Principles of the Q-cod
er Adaptive BinaryArithmetic,”IBM Journal of
Research and Development,Vol.32,pg.717-26,19
88 を読まれたい。別の実施例では、バイナリ・エント
ロピー・コーダは、周知の効率的なバイナリ・エントロ
ピー・コーダであるQMコーダを用いる。QMコーダ
は、確率スキューが非常に高いビットに対し特に効率的
である。QMコーダはJPEG規格とJBIG規格の両
方で利用される。
In one embodiment, the binary entropy coder of the present invention comprises a Q coder. For information on the Q coder, see Pennebaker, W.C. B., et al., "A
nOverview of the Basic Principles of the Q-cod
er Adaptive Binary Arithmetic, "IBM Journal of
Research and Development, Vol. 32, pg. 717-26,19
I want to read 88. In another embodiment, the binary entropy coder uses a QM coder, which is a well-known efficient binary entropy coder. QM coders are especially efficient for bits with very high probability skew. QM coders are used in both JPEG and JBIG standards.

【0202】バイナリ・エントロピー・コーダは、有限
状態マシン(FSM)コーダでもよい。このようなコー
ダは、確率及び事象(outcome)から圧縮ビットストリー
ムへの単純な変換を提供する。一実施例では、有限状態
マシン・コーダは、符号化器、復号化器の両方として、
テーブルルックアップにより実現される。多様な確率予
測法を、このような有限状態マシンコーダに利用でき
る。0.5に近い確率に対する圧縮率が非常によい。大
きくスキューした確率に対する圧縮率は、用いられるル
ックアップテーブルのサイズに依存する。QMコーダと
同様、有限状態マシン・コーダは、デシジョンが発生順
に符号化されるので、埋め込みビットストリームに有効
である。出力はルックアップテーブルにより決められる
ので、”キャリーオーバー”(carry over)問題が起こる
心配は全くない。実際には、QコーダやQMコーダと違
って、符号化と圧縮出力ビットの生成との間に最大の遅
延がある。一実施例では、本発明の有限状態マシン・コ
ーダは、1993年12月21日発行の米国特許第5,
272,478号”Method and Apparatus forEntro
py Coding”に述べられているBコーダからなる。
[0202] The binary entropy coder may be a finite state machine (FSM) coder. Such a coder provides a simple conversion of probabilities and outcomes into a compressed bitstream. In one embodiment, the finite state machine coder includes both an encoder and a decoder,
This is realized by table lookup. A variety of probability prediction methods are available for such a finite state machine coder. The compression ratio for probabilities close to 0.5 is very good. The compression ratio for the large skew probability depends on the size of the lookup table used. Like a QM coder, a finite state machine coder is useful for embedded bitstreams because the decisions are encoded in chronological order. Since the output is determined by a look-up table, there is no concern about "carry over" problems. In practice, unlike a Q coder or a QM coder, there is a maximum delay between encoding and generating the compressed output bits. In one embodiment, the finite state machine coder of the present invention is disclosed in U.S. Pat.
No. 272,478 "Method and Apparatus for Entro
py Coding ".

【0203】一実施例では、本発明のバイナリ・エント
ロピー・コーダは高速並列コーダからなる。QMコーダ
もFSMコーダも、1ビットずつ符号化又は復号化され
る必要がある。高速並列コーダは、数ビットを並列に処
理する。一実施例では、高速並列コーダは、圧縮性能を
犠牲にすることなく、VLSIハードウエア又はマルチ
プロセッサ・コンピュータで実現される。本発明におい
て利用し得る高速並列コーダの一例が、1995年1月
10日発行の米国特許第5,381,145号”Metho
d and Apparatus for Parallel Decoding and Enco
ding of Data”に述べられている。
In one embodiment, the binary entropy coder of the present invention comprises a high speed parallel coder. Both QM and FSM coders need to be encoded or decoded bit by bit. A high-speed parallel coder processes several bits in parallel. In one embodiment, the high speed parallel coder is implemented on VLSI hardware or a multiprocessor computer without sacrificing compression performance. One example of a high speed parallel coder that can be used in the present invention is U.S. Pat. No. 5,381,145 issued Jan. 10, 1995, "Metho.
d and Apparatus for Paraallel Decoding and Enco
ding of Data ”.

【0204】殆どの効率的なバイナリ・エントロピー・
コーダは、基本フィードバックループによって速度が制
限される。考えられる一解決法は、入力データストリー
ムを複数のストリームに分割して並列の複数の符号化器
に与えることである。それら符号化器の出力は、複数の
可変長符号化データ・ストリームである。この種の方法
の一つの課題は、データを単一のチャンネルでどのよう
にして伝送するかである。米国特許第5,381,14
5号に述べられている高速並列コーダは、この課題を、
それら符号化データストリームをインターリーブする方
法によって解決する。
Most efficient binary entropy
The coder is speed limited by the basic feedback loop. One possible solution is to split the input data stream into multiple streams and feed them to multiple encoders in parallel. The output of the encoders is a plurality of variable length encoded data streams. One challenge with this type of method is how to transmit the data on a single channel. US Patent No. 5,381,14
The high-speed parallel coder described in No. 5 solves this problem.
The solution is to interleave the coded data streams.

【0205】本発明において利用されるコンテキストの
多くは定確率であり、このことがBコーダのような有限
状態マシン・コーダを特に有効なものにする。なお、シ
ステムが0.5に近い確率を利用する場合、上記特許に
開示された高速並列コーダ及び有限状態マシン・コーダ
は共にQコーダより効率よく動作する。よって、それら
両方のコーダは、本発明のコンテキストモデルに対し本
質的な圧縮上の強みを持っている。
Many of the contexts utilized in the present invention are constant probabilities, which makes finite state machine coders, such as B coders, particularly useful. It should be noted that if the system utilizes a probability close to 0.5, both the fast parallel coder and the finite state machine coder disclosed in the above patent operate more efficiently than the Q coder. Thus, both of these coders have an inherent compression advantage over the context model of the present invention.

【0206】別の実施例では、バイナリ・エントロピー
・コーダ及び高速m元コーダの両方が利用される。高速
m元コーダはハフマン・コーダでよい。
In another embodiment, both a binary entropy coder and a fast m-ary coder are used. The fast m-ary coder may be a Huffman coder.

【0207】本発明の符号化及び復号化のプロセス 図18乃至図20のフローチャートは、本発明の符号化
プロセス及び復号化プロセスの例を表している。処理ロ
ジックは、ソフトウエア及び/又はハードウエアによっ
て実現してよい。
Coding and Decoding Process of the Present Invention The flowcharts of FIGS. 18 to 20 show examples of the coding process and the decoding process of the present invention. Processing logic may be implemented by software and / or hardware.

【0208】図18は本発明の符号化プロセスの一例を
示す。図18において、符号化プロセスの最初で、処理
ロジックが1タイル分の入力データを取得する(処理ブ
ロック1201)。
FIG. 18 shows an example of the encoding process of the present invention. In FIG. 18, at the beginning of the encoding process, processing logic obtains one tile of input data (processing block 1201).

【0209】処理ロジックは次に、バイナリ符号化を実
行しなければならないか判定する(処理ブロック120
2)。バイナリ符号化を実行すべきときには、プロセス
は処理ブロック1211に進み、処理ロジックは入力デ
ータに対しGray符号化を実行し、そして各係数の各
ビットをバイナリ方式コンテキストモデルによりモデル
化する(処理ブロック1212)。処理は処理ブロック
1208へ進む。
Processing logic then determines whether binary encoding must be performed (processing block 120).
2). If binary coding is to be performed, the process proceeds to processing block 1211 where processing logic performs Gray coding on the input data and models each bit of each coefficient with a binary context model (processing block 1212). ). Processing proceeds to processing block 1208.

【0210】バイナリ符号化を実行する必要がなけれ
ば、プロセスは処理ブロック1203へ進み、処理ロジ
ックはデータに可逆フィルタをかける。可逆フィルタを
かけた後、処理ロジックは別の分解レベルが必要か判定
する(処理ブロック1204)。別の分解レベルが必要
ならば、処理ロジックはLL係数に可逆フィルタをかけ
(処理ブロック1205)、そして処理は処理ブロック
1204へ戻り再び判定を行う。別の分解レベルが必要
でないならば、プロセスは処理ブロック1206へ進
み、処理ロジックは係数を符号・絶対値形式へ変換す
る。それから、処理ロジックは各係数の各ビットを水平
コンテキストモデルによりモデル化し(処理ブロック1
207)、プロセスは処理ブロック1208へ進む。
[0210] If binary encoding need not be performed, the process proceeds to processing block 1203 where processing logic filters the data reversibly. After applying the reversible filter, processing logic determines whether another level of decomposition is required (processing block 1204). If another level of decomposition is required, processing logic filters the LL coefficients reversibly (processing block 1205), and processing returns to processing block 1204 to make the determination again. If another level of decomposition is not required, the process proceeds to processing block 1206, where processing logic converts the coefficients to a sign-magnitude format. Processing logic then models each bit of each coefficient with a horizontal context model (processing block 1).
207), the process proceeds to processing block 1208.

【0211】処理ブロック1208で、処理ロジックは
各係数の各ビットを符号化する。そして、処理ブロック
は各符号化データを送信又は格納する(処理ブロック1
209)。
[0211] At processing block 1208, processing logic encodes each bit of each coefficient. Then, the processing block transmits or stores each encoded data (processing block 1).
209).

【0212】処理ブロックは、次に、画像中に他にもタ
イルが使われているか判定する(処理ブロック121
0)。画像中に他のタイルがあるならば、処理ロジック
は処理ブロック1201へループバックし処理が繰り返
されるが、他のタイルがなければプロセスは終了する。
Next, the processing block determines whether any other tile is used in the image (processing block 121).
0). If there are other tiles in the image, processing logic loops back to processing block 1201 and the process repeats; otherwise, the process ends.

【0213】図19は、本発明の復号化プロセスの一例
を示す。図19において、プロセスはまず1タイル分の
符号化データを取得する(処理ブロック1301)。次
に、処理ロジックはその符号化データをエントロピー復
号化する(処理ブロック1302)。そして、処理ロジ
ックは、そのデータがバイナリ復号化されなければなら
ないか判定する(処理ブロック1203)。そのデータ
がビット毎にバイナリ復号化されなければならないとき
には、プロセスは処理ブロック1311へ進み、処理ロ
ジックは各係数の各ビットをバイナリ方式コンテキスト
モデルによりモデル化し、そして、そのデータに対し逆
Gray符号化を施す(処理ブロック1312)。この
逆グレイ符号化の後、プロセスは処理ブロック1309
へ進む。
FIG. 19 shows an example of the decoding process of the present invention. In FIG. 19, the process first obtains encoded data for one tile (processing block 1301). Next, processing logic entropy decodes the encoded data (processing block 1302). Processing logic then determines whether the data must be binary decoded (processing block 1203). If the data has to be binary decoded bit by bit, the process proceeds to processing block 1311 where processing logic models each bit of each coefficient with a binary context model, and performs inverse Gray coding on the data. Is applied (processing block 1312). After this inverse Gray encoding, the process proceeds to processing block 1309
Proceed to.

【0214】バイナリ復号化が実行される必要がないと
きには、プロセスは処理ブロック1304へ進み、処理
ロジックは各係数の各ビットを水平コンテキストモデル
によりモデル化する。そして、処理ロジックは各係数を
フィルタ処理に適した形式へ変換し(処理ブロック13
05)、係数に可逆フィルタをかける(処理ブロック1
306)。
If binary decoding does not need to be performed, the process proceeds to processing block 1304 where processing logic models each bit of each coefficient with a horizontal context model. Processing logic then converts each coefficient into a form suitable for filtering (processing block 13).
05), applying a reversible filter to the coefficients (processing block 1)
306).

【0215】可逆フィルタをかけた後、処理ロジックは
別のレベルの分解があるか判定する(処理ブロック13
07)。別レベルの分解があるならば、プロセスは処理
ブロック1308へ進み、処理ロジックは係数に可逆フ
ィルタをかけ、そしてプロセスは処理ブロック1307
へループバックする。別の分解レベルが必要でなけれ
ば、プロセスは処理ブロック1309へ進み、再構成さ
れたデータは送信されるか格納される。
After applying the reversible filter, processing logic determines if there is another level of decomposition (processing block 13).
07). If there is another level of decomposition, the process proceeds to processing block 1308, processing logic filters the coefficients reversibly, and the process proceeds to processing block 1307.
Loop back to If another level of decomposition is not required, the process proceeds to processing block 1309 where the reconstructed data is transmitted or stored.

【0216】次に、処理ロジックは画像中に他にタイル
があるか判定する(処理ブロック1310)。画像中に
ほかにタイルがあるときには、処理は処理ブロック13
01へループバックして処理が繰り返されが、他にタイ
ルがなければ、プロセスは終了する。
Next, processing logic determines if there are any more tiles in the image (processing block 1310). If there are other tiles in the image, the process goes to processing block 13
The process is repeated by looping back to 01, but if there are no more tiles, the process ends.

【0217】図20は本発明によるビット・モデル化の
ためのプロセスの一例を示す。図20において、ビット
・モデル化プロセスは初めに係数変数Cを最初の係数に
設定する(処理ブロック1401)。つぎに、|c|>
S の判定を行う(処理ブロック1402)。判定結果
がyesのときには、処理は処理ブロック1403に進
み、処理ロジックはテールビット用モデルを用いて係数
CのビットSを符号化し、そして処理ブロック1408
に処理が進む。このテールビット用モデルは静的(非適
応型)モデルでかまわない。|c|が2S より大きくな
いときには、処理は処理ブロック1404に進み、処理
ロジックはテンプレートをヘッドビット(頭の0と最初
の”1”ビット)に適用する。テンプレートを適用した
後、処理ロジックは係数CのビットSを符号化する(処
理ブロック1405)。可能なテンプレートを図21に
示す。
FIG. 20 illustrates an example of a process for bit modeling according to the present invention. In FIG. 20, the bit modeling process first sets the coefficient variable C to the first coefficient (processing block 1401). Next, | c |>
A determination of 2 S is made (processing block 1402). If the answer is yes, processing proceeds to processing block 1403, where processing logic encodes bit S of coefficient C using the tail bit model, and processing block 1408.
The process proceeds to. The tail bit model may be a static (non-adaptive) model. | C | when is not greater than 2 S, the process proceeds to process block 1404, processing logic applies the template to the head bit (0 and the first "1" bit of the head). After applying the template, processing logic encodes bits S of coefficient C (processing block 1405). A possible template is shown in FIG.

【0218】次に、係数CのビットSがオンであるか判
定する(処理ブロック1406)。係数CのビットSが
オンでなければ、処理ブロック1408へ進む。一方、
係数CのビットSがオンならば、処理は処理ブロック1
407に進み、処理ロジックは符号(sign)ビットを符号
化する。そして処理は処理ブロック1408へ進む。
Next, it is determined whether the bit S of the coefficient C is on (processing block 1406). If bit S of coefficient C is not on, processing continues at processing block 1408. on the other hand,
If the bit S of the coefficient C is on, the processing proceeds to processing block 1
Proceeding to 407, processing logic encodes the sign bit. Processing then proceeds to processing block 1408.

【0219】処理ブロック1408で、係数Cが最後の
係数であるか判定する。係数Cが最後の係数でなけれ
ば、処理は処理ブロック1409に進み、係数変数Cは
次の係数に設定され、そして処理ブロック1402から
処理を続ける。一方、係数Cが最後の係数ならば、処理
ブロック1410に進み、Sが最後のビットプレーンで
あるか判定する。Sが最後のビットプレーンでなけれ
ば、ビットプレーン変数Sが1だけデクリメントされ
(処理ブロック1411)、処理ブロック1401から
処理を続ける。Sが最後のビットプレーンならば、処理
は終了する。
At processing block 1408, it is determined whether coefficient C is the last coefficient. If coefficient C is not the last coefficient, processing proceeds to processing block 1409, coefficient variable C is set to the next coefficient, and processing continues at processing block 1402. On the other hand, if coefficient C is the last coefficient, processing continues at processing block 1410 where it is determined whether S is the last bit plane. If S is not the last bit plane, the bit plane variable S is decremented by 1 (processing block 1411) and processing continues from processing block 1401. If S is the last bit plane, the process ends.

【0220】TS変換設計 本発明は、一実施例において、バッファメモリ内の適所
においてTS変換を計算する。これを行う際、計算値を
再配置するためのメモリの余分なライン及び余分な時間
は必要とされない。TS変換については既に述べたが、
本発明は、臨界サンプリングしたものに対しオーバーラ
ップ変換を適用する。別の実施例では、TT変換が用い
られる。
TS Transform Design In one embodiment, the present invention computes TS transforms in place in a buffer memory. In doing this, no extra lines of memory and extra time are needed to rearrange the calculated values. As mentioned above about TS conversion,
The present invention applies an overlap transform to the critically sampled one. In another embodiment, a TT transform is used.

【0221】図24(A)乃至図24(C)は、本発明
の変換の計算中に本発明により採用されるメモリ操作方
法を示す。図24(A)はメモリの初期状態を示す。図
24(A)において、メモリの最初の行には、前の値(n
-1)の平滑("S")係数及び詳細("D")係数(計算済
み)、カレント値(n)の平滑("S")係数及び部分的に
完成した詳細係数("B")が、4つの入力標本("X")の
値(X2n+2,X2n+2,X2n+4,X2n+5)とともに入って
いる。変換計算の中間結果は、図24(B)の同じメモ
リ行に示されている。この行の変更点は、第5記憶エレ
メント及び第6記憶エレメントにおいて、X2n+2とX2n
+3の値がSn+1とBn+1の値に置き換わったことだけであ
ることに注意されたい。このように、もはや必要でない
格納値を変換計算中に生成された結果によって置き換え
ることにより、本発明はメモリスペースを節約する。図
24(C)は変換が完了し詳細出力Dn を生成後におけ
る同じメモリ行を示す。図24(B)から唯一変わった
点は部分的に完成した詳細係数Bn が詳細出力Dn で置
き換わったことである。
FIGS. 24A to 24C illustrate the memory manipulation method employed by the present invention during the computation of the transform of the present invention. FIG. 24A shows an initial state of the memory. In FIG. 24A, the first row of the memory contains the previous value (n
-1) smoothing ("S") coefficient and detail ("D") coefficient (calculated), current value (n) smoothing ("S") coefficient and partially completed detail coefficient ("B") With the values (X2n + 2, X2n + 2, X2n + 4, X2n + 5) of the four input samples ("X"). The intermediate result of the conversion calculation is shown in the same memory row in FIG. The change in this row is that X2n + 2 and X2n in the fifth storage element and the sixth storage element.
Note that the value of +3 has only been replaced by the values of Sn + 1 and Bn + 1. Thus, the present invention saves memory space by replacing stored values that are no longer needed with the results generated during the transform calculation. FIG. 24C shows the same memory row after the conversion is completed and the detailed output Dn is generated. The only difference from FIG. 24B is that the partially completed detail coefficient Bn has been replaced by the detail output Dn.

【0222】nに関し詳細出力が計算された後、変換計
算プロセスは、詳細出力Dn+1を計算するために行を下
げて計算を続ける。
After the detail output has been calculated for n, the transform calculation process continues down the row to calculate the detail output Dn + 1.

【0223】次に示すコード例を、変換を行うため用い
てよい。フォワード変換とリバース変換のための水平コ
ードが含まれていることに注意されたい。
The following code example may be used to perform the conversion. Note that horizontal codes for forward and reverse transforms are included.

【0224】以下において、変数sooはSn-1値を指
し、変数osoはSn値を指し、変数oosはSn+1を指
す。
In the following, the variable soo indicates the Sn-1 value, the variable oso indicates the Sn value, and the variable os indicates Sn + 1.

【0225】フォワードTS変換の一例のためのコード
(C言語)の具体例は以下の通りである。 /* TSFoword_1() */ void TSForward_1(long *x,int width) { long *start=x; long *ox=x+2; long soo; long oso; long oos; oso=(*x+*(x+1))>>1; oos=(*ox+*(ox+1))>>1; soo=oos; *(x+1)=*x-*(x+1); *x=oso; while((ox+2)-start<width){ x=ox; os+=2; soo=oso; oso=oos; oos=(*ox+*(ox+1))>>1; *(x+1)=*x-*(x+1)+((oos-soo+2)>>2); *x=oso; } x=ox; soo=oso; oso=oos; oos-soo; *(x+1)=*x-*(x+1); *x=oso; } 。
A specific example of a code (C language) for an example of the forward TS conversion is as follows. / * TSFoword_1 () * / void TSForward_1 (long * x, int width) {long * start = x; long * ox = x + 2; long soo; long oso; long oos; oso = (* x + * (x + 1)) >>1; oos = (* ox + * (ox + 1)) >>1; soo = oos; * (x + 1) = * x-* (x + 1); * x = oso; while ((ox + 2) -start <width) {x = ox; os + = 2; soo = oso; oso = oos; oos = (* ox + * (ox + 1)) >>1; * (x + 1) = * x-* (x + 1) + ((oos-soo + 2) >>2); * x = oso;} x = ox; soo = oso; oso = oos; oos-soo; * (x + 1) = * x-* (x + 1); * x = oso;}.

【0226】インバースTS変換の一例のためのコード
(C言語)の具体例は以下のとおりである。 /* TSReverse_1() */ void TSReverse_1(long *x,int width) { long *start=x; long *d=x+1; long ns=*(x+1); long P; while(x+2-start<width){ p=*d-((*(x+2)-ns+2)>>2); ns=*x; *d=*x-(P>>1); *x+=((p+1)>>1); x+=2; d=x+1; } p=*d; *d=*x-(p>>1); *x=((p+1)>>1); 。
A specific example of a code (C language) for an example of the inverse TS conversion is as follows. / * TSReverse_1 () * / void TSReverse_1 (long * x, int width) {long * start = x; long * d = x + 1; long ns = * (x + 1); long P; while (x + 2 -start <width) {p = * d-((* (x + 2) -ns + 2) >>2); ns = * x; * d = * x- (P >>1); * x + = ((p + 1) >>1); x + = 2; d = x + 1;} p = * d; * d = * x- (p >>1); * x = ((p + 1)>>1);

【0227】1次元の例のみ示したが、本発明は多次元
及び多レベルにも利用し得る。なお、この手法は、他の
計算のためにもはや必要でなくなった値を部分的又は最
終的結果により1対1に置き換える任意のオーバーラッ
プ変換に利用できる。
Although only a one-dimensional example is shown, the invention can be used in multiple dimensions and multiple levels. Note that this approach can be used for any overlap transformation that replaces values that are no longer needed for other calculations with a partial or final result one-to-one.

【0228】図25は、3レベル用のメモリバッフアの
2次元表現を示す。図25において、各ブロック180
1〜1804のメモリロケーションには係数値が入って
いる。すなわち、ブロック1801〜1804のそれぞ
れは、係数値の8×8ブロックである。
FIG. 25 shows a two-dimensional representation of a memory buffer for three levels. In FIG. 25, each block 180
The memory locations 1-1804 contain coefficient values. That is, each of the blocks 1801 to 1804 is an 8 × 8 block of coefficient values.

【0229】係数は、2の自然数乗の間隔で配置され
る。レベルと、S又はDのオフセットが与えられれば、
どの係数もアクセスできる。それゆえに、特定のレベル
と水平及び垂直周波数を選択することによって、アクセ
スをすることができる。バッファはラスター順にアクセ
スされてもよい。
The coefficients are arranged at intervals of a natural power of 2. Given the level and the S or D offset,
Any coefficient can be accessed. Therefore, access can be made by selecting specific levels and horizontal and vertical frequencies. The buffers may be accessed in raster order.

【0230】ユニット・バッファ構成 本発明の一実施例においては、単一のバッファで圧縮シ
ステムの変換ブロック、コンテキストモデル・ブロッ
ク、符号化ブロックをサポートする。このバッファは、
係数を効率的にアクセスでき他にメモりを必要としない
2次元のスクローリング・メモリバッファである。バッ
ファの各ラインはライン・アクセス・バッファに格納さ
れたポインタを介してアクセスされる。図23(A)及
び図23(B)は、このスクローリング・バッファの構
成を示し、ライン・アクセス・バッファ1601にバッ
ファ1602の各ラインを指すポインタが入っている。
Unit Buffer Configuration In one embodiment of the present invention, a single buffer supports transform blocks, context model blocks, and coding blocks of a compression system. This buffer is
A two-dimensional scrolling memory buffer that allows efficient access to coefficients and requires no additional memory. Each line of the buffer is accessed via a pointer stored in a line access buffer. FIGS. 23A and 23B show the configuration of this scrolling buffer. A line access buffer 1601 contains pointers to each line of the buffer 1602.

【0231】スクロールは、ライン・アクセス・バッフ
ァに格納されるポインタを並べ直すことによりなされ
る。その例が図23(A)及び図23(B)に示されて
いる。図23(A)はバッファの初期状態を示す。図2
3(B)を見るに、ラインA,B,Cがバッフアから取
り除かれ、ラインG,H,Iによってそれぞれで置き換
えられた後に、バッファにスクローリング・バッファの
作用を付与するため、ライン・アクセス・バッファのポ
インタは、第1のポインタがバッファ内のラインDを指
し、第2のポインタがラインEを指し、第3のポインタ
がラインFを指すように変更される。次に、ラインG,
H,Iを指すポインタがライン・アクセス・バッファの
最後の3つの位置を占める。なお、6ラインのバッファ
を持つことに本発明が限定されるわけではなく、これは
あくまで一例として用いられるにすぎない。もっとライ
ン数の多いバッファが一般的に使用されるが、これは当
業者には周知であろう。しかして、ライン・アクセス・
バッファ経由のアクセスは、記憶を物理的に移動させる
ことなく、ユニット・バッファがスクロールするような
外観を呈する。これにより、スピードを犠牲にせずに、
最小限のメモリを使用できるようになる。
Scrolling is performed by rearranging the pointers stored in the line access buffer. Examples are shown in FIGS. 23A and 23B. FIG. 23A shows the initial state of the buffer. FIG.
Referring to FIG. 3 (B), after lines A, B, and C have been removed from the buffer and replaced by lines G, H, and I, respectively, the line access is performed to impart the effect of a scrolling buffer to the buffer. The pointers in the buffer are changed so that the first pointer points to line D in the buffer, the second pointer points to line E, and the third pointer points to line F. Next, line G,
Pointers to H and I occupy the last three positions in the line access buffer. Note that the present invention is not limited to having a buffer of 6 lines, and this is used only as an example. Buffers with a higher number of lines are commonly used and will be known to those skilled in the art. Then, line access
Access through the buffer has the appearance of scrolling the unit buffer without physically moving the storage. This allows you to sacrifice speed,
Uses minimal memory.

【0232】本発明においては、そのようなユニット・
バッファを用いることにより、常に画像の1つの帯域の
みメモリに記憶しつつ、画像全体に対するオーバーラッ
プ変換の適用をサポートする。これを達成するため、少
なくとも1バンドのウェーブレット・ユニットを構成す
るウエーブレット係数のセットを完全に計算するために
必要な数分の画像のラインに対してだけウエーブレット
変換を適用する。このような場合には、計算の完了した
ウェーブレット係数のセットを、モデル化し、エントロ
ピー符号化し、そしてウエーブレット・ユニット・バッ
ファの該当部分より取り除くことができる。計算が未完
のウエーブレット係数は、次の反復で計算を完了させる
ために、そのまま残る。そして、ライン・ポインタを並
べ替えることによりウェーブレット・ユニット・バッフ
ァをスクロールし、ウェーブレット・ユニット・バッフ
ァの空き部分にほかのデータを入れることができる。こ
れで、計算途中のウェーブレット係数を完全に計算する
ことができる。
In the present invention, such a unit
The use of a buffer supports the application of the overlap transform to the entire image, while always storing only one band of the image in memory. To achieve this, the wavelet transform is applied to only as many lines of the image as necessary to completely compute the set of wavelet coefficients that make up the at least one band wavelet unit. In such a case, the computed set of wavelet coefficients can be modeled, entropy coded, and removed from the appropriate portion of the wavelet unit buffer. The incompletely calculated wavelet coefficients remain so as to complete the calculation in the next iteration. Then, by rearranging the line pointers, the wavelet unit buffer can be scrolled, and other data can be put in the empty portion of the wavelet unit buffer. Thus, the wavelet coefficients in the middle of the calculation can be completely calculated.

【0233】一例として、ハイパスフィルタがカレント
係数及び次のローパスフィルタ係数に依存するオーバー
ラップ変換を適用することを考える。この例の場合、た
った2レベルの分解が画像データに適用されるであろう
が、これは1つのウエーブレット・ユニットが4エレメ
ント長であることを暗に示す。
As an example, consider that a high-pass filter applies an overlap transform that depends on the current coefficient and the next low-pass filter coefficient. In this example, only two levels of decomposition would be applied to the image data, which implies that one wavelet unit is four elements long.

【0234】少なくとも1つの帯域のウエーブレット・
ユニットを構成するウエーブレット係数のセットを完全
に計算するために、ウエーブレット・ユニット・バッフ
ァの高さは少なくとも8ラインつまり2ウェーブレット
・ユニットである。
Wavelets of at least one band
In order to fully calculate the set of wavelet coefficients that make up the unit, the height of the wavelet unit buffer is at least 8 lines or 2 wavelet units.

【0235】2次元のウェーブレット・ユニット・バッ
ファに対しウェーブレット変換を適用する際には、まず
1次元のウェーブレット変換がバッファの各行(ライ
ン)に対し適用される。それから、1次元のウェーブレ
ット変換がバッファの各列に対し適用される。
When applying a wavelet transform to a two-dimensional wavelet unit buffer, first, a one-dimensional wavelet transform is applied to each row of the buffer. Then, a one-dimensional wavelet transform is applied to each column of the buffer.

【0236】ウェーブレット・ユニット・バッファの各
列に対し1次元ウェーブレット変換を適用する時に、ユ
ニット・バッファに格納されていない画像のエレメント
に依存する各列の最後のエレメントについては、ハイパ
スフィルタの計算を部分的にしか終わらせることができ
ない。これが図55に示されている。
When applying the one-dimensional wavelet transform to each column of the wavelet unit buffer, the calculation of the high-pass filter is performed for the last element of each column that depends on the image element not stored in the unit buffer. It can only be partially completed. This is shown in FIG.

【0237】第2レベルのウェーブレット分解を実行す
る時に、再び、各列の最後のエレメントについては、ハ
イパスフィルタの計算を部分的にしか終わらせることが
できない。これが図56に示されている。
When the second-level wavelet decomposition is performed, the calculation of the high-pass filter for the last element of each column can be only partially completed. This is shown in FIG.

【0238】なお、一実施例においては、多くの分解レ
ベルを利用する時に、SS係数(第2分解レベルの場合
は図55の1SS、第3レベルの場合は図56の2S
S)にのみウェーブレット変換が適用されるだろう。こ
のような場合、ユニット・バッファの行及び列のロケー
ションは、バッファの適切なエントリーの読み書きを保
証するようスキップされるだろう。
In one embodiment, when many decomposition levels are used, the SS coefficient (1SS in FIG. 55 for the second decomposition level, 2S in FIG. 56 for the third level) is used.
Only in S) will the wavelet transform be applied. In such a case, the row and column locations of the unit buffer will be skipped to ensure reading and writing of the appropriate entry in the buffer.

【0239】この例では、バッファの上半分には計算が
完了したウェーブレット係数のセットが入っており、こ
のウェーブレット係数セットは1帯域のウェーブレット
・ユニットを構成しており、モデル化し、エントロピー
符号化し、そしてバッファから取り除くことができる。
In this example, the upper half of the buffer contains a set of wavelet coefficients for which calculation has been completed, and this wavelet coefficient set constitutes a one-band wavelet unit, which is modeled, entropy-coded, And can be removed from the buffer.

【0240】バッファの上半分が空くと、バッファを高
さの半分だけスクロースすることができる。ここで、画
像の次の4ラインをバッファに読み込むことができる。
バッファに格納された新たなラインそれぞれに対し、1
次元ウェーブレット変換を適用することができる。バッ
ファの列方向に、部分的に計算された係数を完全に計算
することができるが、再び、各列の最後のエレメントは
部分的にしか計算することができない。
When the upper half of the buffer is free, the buffer can be sucrose by half the height. Here, the next four lines of the image can be read into the buffer.
1 for each new line stored in the buffer
A dimensional wavelet transform can be applied. In the column direction of the buffer, the partially calculated coefficients can be calculated completely, but again, the last element of each column can only be calculated partially.

【0241】第2レベルのウェーブレット分解のために
も同様のことが行われる。再び、バッファの上半分は計
算の完了したウェーブレット係数が入り、その段階でプ
ロセスはほかに処理すべき画像のラインがなくなるまで
反復する。
The same is done for the second level wavelet decomposition. Again, the upper half of the buffer contains the computed wavelet coefficients, at which point the process repeats until there are no more lines of the image to process.

【0242】ライン・アクセス・バッファ内のライン・
ポインタの並べ替えは、様々なやり方で行うことができ
る。一つのやり方は、新しいライン・アクセス・バッフ
ァを作り、それに旧ライン・アクセス・バッファからポ
インタをコピーする方法である。ウェーブレット・ユニ
ット・バッファの高さを法としてスクロールするために
は、旧ライン・アクセス・バッファのエレメントiに格
納されているポインタが、インデックス(i+ライン
数)にコピーされることになろう。
Lines in the line access buffer
Rearranging the pointers can be done in various ways. One way is to create a new line access buffer and copy the pointer from the old line access buffer into it. To scroll modulo the height of the wavelet unit buffer, the pointer stored in element i of the old line access buffer would be copied to the index (i + number of lines).

【0243】なお、圧縮システムの3つのステージは、
バッファ内のデータに対し、そのデータがバッファより
出される前に遂行されるので、係数は一般的に様々に順
序つけられること留意すべきである。ラスター順データ
操作が行われる場合には、本発明のスクロール・バッフ
ァは最小限のメモリで間に合う。
Note that the three stages of the compression system are:
It should be noted that the coefficients are generally ordered differently as the data in the buffer is performed before the data leaves the buffer. When raster-ordered data operations are performed, the scroll buffer of the present invention will suffice with minimal memory.

【0244】ソフトウエア(及び/又はハードウエア)
によりライン・アクセス・バッファを管理してポインタ
を操作する。このソフトウエアも、バッファ内のどのデ
ータが処理を完了しバッファから出してよいか知ってい
る。
Software (and / or hardware)
Manages the line access buffer and operates the pointer. This software also knows which data in the buffer has completed processing and can be moved out of the buffer.

【0245】アラインメント法 本発明は、係数値を左へ任意量だけシフトする。一実施
例では、このアラインメントは、仮想的アラインメント
法によって行われる。この仮想的アラインメント法は、
係数を実際にシフトしない。その代わりとして、係数を
1ビットプレーンずつ処理する間に、特定の係数につい
てアラインメントが必要とされる実際のビットプレーン
が計算される。重要性レベルと特定の係数に対し適用さ
れるべきシフト量とが与えられれば、本発明は、その係
数の所望の絶対ビットプレーンを、それが可能なビット
プレーンの範囲内にあればアクセスする。すなわち、特
定の係数の所望の絶対ビットプレーンは、カレント重要
性レベルから該係数に適用されるべきシフト量を差し引
いたものにより与えられる。この所望ビットプレーン
は、それが最小の有効な絶対ビットプレーンより大きい
か又は等しく、かつ最大の有効な絶対ビットプレーンよ
り小さいか又は等しいときに有効とみなされる。
Alignment Method In the present invention, the coefficient value is shifted to the left by an arbitrary amount. In one embodiment, the alignment is performed by a virtual alignment method. This hypothetical alignment method
Do not actually shift the coefficients. Instead, while processing the coefficients one bit plane at a time, the actual bit plane that needs to be aligned for a particular coefficient is calculated. Given the level of importance and the amount of shift to be applied to a particular coefficient, the present invention accesses the desired absolute bit plane for that coefficient if it is within the range of possible bit planes. That is, the desired absolute bit plane for a particular coefficient is given by the current importance level minus the amount of shift to be applied to that coefficient. The desired bit plane is considered valid when it is greater than or equal to the smallest valid absolute bit plane and less than or equal to the largest valid absolute bit plane.

【0246】2つのアラインメント法が普通である。そ
の中の第1の方法は、平均2乗誤差(MSE)法と呼ば
れるもので、フルフレーム(full-frame)の再構成画像
を原画像と比較した時にMSEが縮小もしくは最小化さ
れるように、係数をアラインメントする方法である。図
50は、このアラインメントの一例である。図51も参
照のこと。
Two alignment methods are common. The first of these methods is called the mean square error (MSE) method, which reduces or minimizes the MSE when comparing a full-frame reconstructed image with an original image. , The coefficients are aligned. FIG. 50 is an example of this alignment. See also FIG.

【0247】第2の方法は、ピラミッド型のアラインメ
ント法であり、画像がピラミッド・レベルのサイズに再
構成される場合に良好なレート・歪み性能を提供する。
ここでは、隣接レベルの係数は共通の重要レベルを持た
ない、つまりオーバーラップがない。図51の左側にあ
るアラインメントは、3レベルTS変換のための厳密に
ピラミッド型のアラインメントを表す。図51の右側
は、レベル2のピラミッド型アラインメントを表す。
(図51の厳密にピラミッド型の部分は、レベル3と2
のピラミッド型アラインメントと呼んでよかろう。)
各場合において、レベル内部の係数はMSEに関連して
アラインメントされる。
The second method is a pyramid-type alignment method, which provides good rate-distortion performance when the image is reconstructed to a pyramid-level size.
Here, the adjacent level coefficients do not have a common significance level, ie there is no overlap. The alignment on the left side of FIG. 51 represents a strictly pyramidal alignment for a three-level TS conversion. The right side of FIG. 51 represents a level 2 pyramid alignment.
(The strictly pyramid-shaped part of FIG.
May be called a pyramid-shaped alignment. )
In each case, the coefficients inside the level are aligned with respect to the MSE.

【0248】図52は、メモリ記憶係数と一つのアライ
ンメントとの間の典型的な関係を示す。
FIG. 52 shows a typical relationship between memory storage coefficients and one alignment.

【0249】本発明によれば、実際のシフト操作を行う
必要がないため、メモリサイズの制約がなくなる。さら
に、本発明は、余分なメモリを必要とせず、任意のアラ
インメント法を簡単に実施できる。
According to the present invention, since there is no need to perform an actual shift operation, there is no restriction on the memory size. Furthermore, the present invention does not require extra memory and can easily implement any alignment method.

【0250】ヒストグラム圧縮 本発明はヒストグラム圧縮を利用してもよい。一実施例
では、変換又はバイナリ方式の処理を施される前にヒス
トグラム圧縮が利用される。ヒストグラム圧縮は、一部
の画像に対する圧縮率を向上させる。そのような画像は
通常、ダイナミックレンジの一部の値がどの画素にも使
われない画像である。言い換えれば、画像のダイナミッ
クレンジにギャップが存在する。例えば、ある画像が合
計256の値の中の0と255の値しかとらないときに
は、その原画像と一対一対応を持つが、ダイナミックレ
ンジのずっと小さな新たな画像を生成できる。この画像
生成は、整数を画像のとる値に写像する増加関数を定義
することにより達成される。例えば、画像が0と255
の値しか使わないときには、マッピングで0を0に、1
を255に写像する。別の実施例では、画像が偶数(又
は奇数)画素しか持たないときには、画素値を0〜12
8の値に再写像する。
Histogram Compression The present invention may utilize histogram compression. In one embodiment, histogram compression is used before undergoing any transformation or binary processing. Histogram compression improves the compression ratio for some images. Such images are typically images in which some values of the dynamic range are not used for any pixels. In other words, there is a gap in the dynamic range of an image. For example, if an image takes only values 0 and 255 out of a total of 256 values, a new image having a one-to-one correspondence with the original image, but with a much smaller dynamic range can be generated. This image generation is achieved by defining an increasing function that maps an integer to the value of the image. For example, if the images are 0 and 255
When only the value of is used, 0 becomes 0 in the mapping and 1
To 255. In another embodiment, when the image has only even (or odd) pixels, the pixel value is
Remap to a value of 8.

【0251】ヒストグラム圧縮を行った後に、画像デー
タに本発明の可逆埋め込みウェーブレットによる圧縮を
施してよい。このように、ヒストグラム圧縮は前処理モ
ードで用いられる。一実施例では、ヒストグラムは、ブ
ーリアン(Boolean)ヒストグラムを基礎としており、
値が生じるか否かのリストを保持するようなものであ
る。まず、全ての生起数が昇順に記録される。次に、そ
れぞれの値は0から順に写像される。
After performing the histogram compression, the image data may be compressed by the reversible embedding wavelet of the present invention. Thus, histogram compression is used in the pre-processing mode. In one embodiment, the histogram is based on a Boolean histogram,
It's like keeping a list of whether values occur. First, all occurrences are recorded in ascending order. Next, each value is mapped in order from 0.

【0252】一実施例では、誤差の影響を減らすためガ
ード(guard)画素値が用いられる。隣接した再写像画
素値が大きなギャップで隔てられた実画素値に対応する
かもしれないので、再写像値の小さな誤差が実値の大き
な誤差をもたらすことがある。再写像値の近くに割増値
を追加することにより、そのような誤差の影響は減少す
るであろう。
In one embodiment, guard pixel values are used to reduce the effects of errors. Small errors in the re-mapped values can result in large errors in the real values, as adjacent re-mapped pixel values may correspond to real pixel values separated by a large gap. By adding an extra value near the remapping value, the effects of such errors will be reduced.

【0253】原画像を再構成するために、マッピングが
利用されたことが復号化器へ通知される。このマッピン
グをヘッダ中に指示してもよい。これにより、復号化器
において後処理のために同様のテーブルを作成できるよ
うになる。一実施例では、復号化器はレンジをタイル毎
に通知される。一実施例では、本発明は、まず当該マッ
ピングが行われることを知らせ、次に欠落した値(例え
ば上例の254)の数を知らせる。ヒストグラム圧縮の
利用の有無を知らせるためのコストは、たったの1ビッ
トである。このビットの後に、全ての再写像値のテーブ
ルが続くことになろう。
The decoder is informed that the mapping has been used to reconstruct the original image. This mapping may be indicated in the header. This allows the decoder to create a similar table for post-processing. In one embodiment, the decoder is informed of the range by tile. In one embodiment, the present invention first signals that the mapping is to be performed, and then indicates the number of missing values (eg, 254 in the example above). The cost to inform whether histogram compression is used is only one bit. This bit will be followed by a table of all re-mapped values.

【0254】一実施例では、1タイルずつヒストグラム
圧縮を実行する時の通知量を減らすため、1つのビット
で、新しいブーリアン・ヒストグラムが直前に使用した
ブーリアン・ヒストグラムと同じか違うかを知らせる。
このような場合、新たなブーリアン・ヒストグラムが復
号化器に通知されるのは、それが直前のヒストグラムと
異なるとき(のみ)である。新しいブーリアン・ヒスト
グラムが前のものと違う場合でも、その間に類似点があ
るのが普通である。より詳しくいえば、2つのヒストグ
ラムの排他的論理和はエントロピー・コーダによる圧縮
性がより高いので、それを生成して復号化器へ通知して
もよい。
In one embodiment, to reduce the amount of notification when performing histogram compression on a tile-by-tile basis, one bit indicates whether the new Boolean histogram is the same as or different from the Boolean histogram used immediately before.
In such a case, the new boolean histogram is notified to the decoder only when it differs from the previous histogram (only). Even if the new boolean histogram is different from the previous one, there are usually similarities between them. More specifically, since the exclusive OR of the two histograms is more compressible by the entropy coder, it may be generated and notified to the decoder.

【0255】ヒストグラムは、サイズのダイナミックレ
ンジと同じくらいのビット数(例えば8ビット深度の場
合は256ビット)を送信することにより通知できる。
そのビットの並び順は画素値に対応する。この場合、あ
るビットが1であるのは、それに対応した値が画像中に
用いられるときである。ヘッダのコストを削減もくしは
最小化するため、このビット列を、第1次マルコフ(Ma
rkov)コンテキストモデルのもとでエントロピー符号化
してもよい。
The histogram can be notified by transmitting the same number of bits as the dynamic range of the size (for example, 256 bits in the case of 8-bit depth).
The order of the bits corresponds to the pixel value. In this case, a certain bit is 1 when a corresponding value is used in an image. To reduce or minimize the cost of the header, this bit string is
rkov) Entropy coding may be performed under a context model.

【0256】別の実施例では、欠落した値が過半数のと
きには発生した値が順に記録されるであろうが、そうで
ないときには欠落した値が順に記録される。
In another embodiment, if the missing value is a majority, the values that occurred will be recorded sequentially, otherwise the missing values will be recorded sequentially.

【0257】一実施例では、本発明のバイナリ方式が、
パレット化された画像の圧縮のために利用されるであろ
う。パレットはヘッダに格納されるであろう。しかし、
パレット化画像は埋め込まれないであろうから、損失性
伸長のための量子化は妥当な結果をもたらさない。別の
実施例では、パレット化画像は連続階調(カラー又はグ
レースケール)画像に変換され、各成分が変換方式又は
バイナリ方式により圧縮されるかもしれない。これは妥
当な損失性圧縮が可能である。
In one embodiment, the binary scheme of the present invention is:
It will be used for compression of palletized images. The palette will be stored in the header. But,
Quantization for lossy decompression does not give reasonable results, since the palletized image will not be embedded. In another embodiment, the paletted image may be converted to a continuous tone (color or grayscale) image, and each component may be compressed in a conversion or binary manner. This allows for reasonable lossy compression.

【0258】ある種の画像は、1つの指定色(又は指定
色の小サブセット)が特定の目的のために使用された連
続階調画像である。その特定目的色は注記用かもしれな
い。例えば、グレースケールの医用画像には、その画像
を識別するためのコンピュータ生成のカラー文字がある
かもしれない。もう一つの特定目的色は、オーバーレイ
画像において画素が透過であって、下側の画像の画素が
代わりに表示されることを示すかもしれない。禁止され
た色は別の成分画像に分解されるであろう。そして、連
続階調成分及び特殊色成分は、変換方式又はバイナリ方
式で圧縮/伸長されるであろう。
Certain images are continuous tone images in which one designated color (or a small subset of the designated colors) has been used for a particular purpose. The special purpose color may be for notes. For example, a grayscale medical image may have computer-generated color characters to identify the image. Another special purpose color may indicate that the pixels in the overlay image are transparent and that the pixels in the lower image are displayed instead. Forbidden colors will be separated into separate component images. The continuous tone component and the special color component will then be compressed / expanded in a conversion or binary manner.

【0259】なお、変換方式及びバイナリ方式は輝度デ
ータのために利用されることが多いが、アルファ混合用
のアルファ・チャネルのような他の形式の2次元データ
が用いられてもよい。
Although the conversion method and the binary method are often used for luminance data, other types of two-dimensional data such as an alpha channel for alpha mixing may be used.

【0260】パーサ(parser) 本発明によれば、符号ストリームを、伸長することな
く、送信又は復号化の前に構文解析できるようになる。
この構文解析は、ビットストリームを打ち切り、特定の
量子化のために必要な量の情報だけを伝達することがで
きるパーサによって実行される。このパーサを支援する
ため、マーカー(marker)及びポインタがビットストリ
ーム内の符号化単位の各ビットプレーンの位置を決定す
る。
Parser According to the present invention, a code stream can be parsed before being transmitted or decoded without decompression.
This parsing is performed by a parser that can abort the bitstream and convey only the amount of information needed for a particular quantization. To support this parser, markers and pointers determine the position of each bit plane of a coding unit in the bit stream.

【0261】本発明は、画像圧縮システムにおいて構文
解析によって実施される装置依存の量子化を提供する。
圧縮システムにおいてマーカーを用いることにより、符
号化後に装置に応じ選択される量子化が可能になる。出
力装置はその特性をパーサに報告し、パーサはその特定
装置向けに符号化済みファイルを量子化する。この量子
化は、ファイルの一部を省くことによる。可逆ウェーブ
レット変換の利用は、画像の非損失復元、あるいは、装
置に応じた視覚的に非損失の色々な歪みでの画像の復元
を可能にする。
The present invention provides device dependent quantization performed by parsing in an image compression system.
The use of markers in the compression system allows device-selective quantization after encoding. The output device reports its characteristics to the parser, which quantizes the encoded file for that particular device. This quantization is by omitting a part of the file. The use of the reversible wavelet transform allows lossless restoration of the image, or restoration of the image with various visually lossless distortions depending on the device.

【0262】本発明によれば、量子化を符号化後に実行
することが可能になる。図27及び図28は、パーサを
備えた圧縮システムのブロック図である。図27及び図
28において、元の圧縮されていない画像2101が本
発明の圧縮装置2102に入力される。圧縮装置210
2は、画像2101を圧縮ビットストリーム2103へ
非損失圧縮するとともとに、圧縮ビットストリーム21
03にマーカーを付加する。
According to the present invention, quantization can be performed after encoding. 27 and 28 are block diagrams of a compression system including a parser. 27 and 28, an original uncompressed image 2101 is input to a compression device 2102 of the present invention. Compression device 210
2 losslessly compresses the image 2101 into a compressed bit stream 2103,
03 and a marker is added.

【0263】圧縮ビットストリーム2103はパーサ2
104に入力し、パーサ2104は圧縮ビットストリー
ム2103のある部分を出力として提供する。そのある
部分は、圧縮ビットストリーム2103の全部であるか
もしれないし、その一部分だけかもしれない。要求側の
エージェントもしくは装置は、伸長画像が必要とされる
時に、その装置特性をパーサ2104に与える。それに
応じて、パーサ2104は圧縮ビットストリーム210
4の適切な部分を選択して送出する。パーサ2104は
画素もしくは係数レベルの演算もエントロピー符号化/
復号化も行わない。別の実施例では、パーサ2104は
そのような働きを多少は果たすかもしれない。
A compressed bit stream 2103 is a parser 2
Input to 104, parser 2104 provides some portion of compressed bitstream 2103 as output. That part may be the entire compressed bit stream 2103 or only a part thereof. The requesting agent or device provides the device characteristics to the parser 2104 when the decompressed image is needed. In response, parser 2104 generates compressed bit stream 210
4. Select and send the appropriate part of 4. The parser 2104 performs the entropy coding /
No decoding is performed. In another embodiment, parser 2104 may perform some such functions.

【0264】パーサ2104は、低解像度用の圧縮係数
を選択することにより、モニタに画像を表示するための
符号化データを提供することができる。それと異なる要
求に対しては、パーサ2104は注目領域(ROI)の
非損失性伸長を可能にするように圧縮データを選択す
る。一実施例では、パーサ2104は、要求に従って、
プレビュー画像からプリンタ解像度画像又はフルサイズ
の医用モニタ画像(恐らく16ビットの画素深度を持
つ)までの変化に必要なビットを送出する。
The parser 2104 can provide encoded data for displaying an image on a monitor by selecting a low-resolution compression coefficient. For different requests, parser 2104 selects the compressed data to allow lossless decompression of the region of interest (ROI). In one embodiment, parser 2104, according to the request,
It sends out the bits needed to change from a preview image to a printer resolution image or a full size medical monitor image (possibly with 16 bit pixel depth).

【0265】パーサ2104により提供されたデータは
通信路及び/又は記憶装置2106へ出力される。伸長
装置2107は、そのデータにアクセスし、圧縮データ
を伸長する。伸長された、すなわち再構成されたデータ
は、伸長画像2108として出力される。
The data provided by parser 2104 is output to a communication channel and / or storage device 2106. The decompression device 2107 accesses the data and decompresses the compressed data. The decompressed, that is, reconstructed data is output as a decompressed image 2108.

【0266】図29において、2HH周波数帯域内のビ
ットプレーンは3HH周波数帯域からの情報を利用して
符号化される。ビットプレーンをより明瞭に示すため、
図50及び図51に図29が書き直されている。図50
のように係数が格納される場合(MSE)には、圧縮ビ
ットストリームの打ち切りはMSEレート・歪み最適量
子化とほとんど同一である。この打ち切りが、図50に
陰をつけたマーカーで示されている。図30を調べる
と、この配列はプリンタには適切かもしれないが、モニ
タには十分でないであろう。図51に示すように、係数
が”ピラミッド状に”格納される場合、つまり、ある周
波数帯域の全ビットが最初に格納される場合には、ビッ
トストリームの打ち切りは様々な解像度の画像を提供す
る。
In FIG. 29, a bit plane in the 2HH frequency band is encoded using information from the 3HH frequency band. To show the bitplane more clearly,
FIG. 29 is rewritten in FIGS. 50 and 51. FIG.
When the coefficients are stored (MSE), the compression bit stream truncation is almost the same as the MSE rate-distortion optimal quantization. This truncation is indicated by the shaded marker in FIG. Looking at FIG. 30, this arrangement may be appropriate for a printer, but not enough for a monitor. As shown in FIG. 51, if the coefficients are stored "pyramidally", that is, if all bits of a certain frequency band are stored first, truncation of the bitstream provides images of various resolutions. .

【0267】マーカーを巧みに使えば、両タイプの打ち
切りが可能になり、解像度の低い、忠実度の低い画像を
発生するであろう。図50及び図51中の濃淡の変化
は、最高解像度で低忠実度のビットストリームを発生す
るであろうビットストリームの打ち切りを表す。LH,
HL,HH係数の全部をさらに打ち切れば、画像の解像
度を下げることになろう。
With the skillful use of markers, both types of truncation will be possible and will produce a low resolution, low fidelity image. The shading changes in FIGS. 50 and 51 represent a truncation of the bitstream that would produce a low fidelity bitstream at the highest resolution. LH,
Further truncation of all HL and HH coefficients would reduce the resolution of the image.

【0268】多くの画像圧縮の応用では、画像は、一度
だけ圧縮されるが、何度も伸長されるかもしれない。あ
いにく、たいていの圧縮システムは、許容される損失量
と適当な量子化とが符号化の時点で決定されなければな
らない。プログレッシブ・システムは段々に精細になる
一揃いの画像を与えるが、非損失性再構成は一般にでき
ない、すなわちプログレッシブ・ビルドアップと関係の
ない非損失な方法で符号化された”差分画像”を送り出
すことにより、非損失性再構成が提供される。
In many image compression applications, an image is compressed only once, but may be decompressed many times. Unfortunately, most compression systems require that the amount of loss allowed and the appropriate quantization be determined at the time of encoding. Progressive systems provide a progressively more refined set of images, but generally do not allow lossless reconstruction, i.e., send out "differential images" encoded in a lossless manner independent of progressive buildup This provides a lossless reconstruction.

【0269】本発明においては、符号化器は、種々の係
数を周波数及びビットプレーン要素に分解するに足るだ
けの情報を保存する。一実施例では、次のエントロピー
符号化データ単位に何が入っているか知らせるためのマ
ーカーがビットストリームに挿入される。例えば、マー
カーは、次のエントロピー符号化データ単位に、最上位
より3番目のビットプレーンのためのHH周波数情報が
入っていることを示すかもしれない。
In the present invention, the encoder stores enough information to decompose the various coefficients into frequency and bit plane components. In one embodiment, a marker is inserted into the bitstream to indicate what is in the next entropy coded data unit. For example, the marker may indicate that the next entropy coded data unit contains HH frequency information for the third bitplane from the most significant.

【0270】誰かがモニタ上で画像を調べたいとする
と、低解像度のグレースケール画像を生成するために必
要な情報を要求するであろう。そのユーザがその画像を
印刷したいときには、高解像度の2値画像を生成するた
めに必要な情報が要求されるであろう。最後に、そのユ
ーザが圧縮試験を実施したいとき、あるいはセンサ雑音
の統計分析や医療診断を行いたいときには、その画像の
非損失版が要求されるであろう。
If someone wants to examine an image on a monitor, they will require the information needed to generate a low resolution grayscale image. When the user wants to print the image, the information needed to generate a high resolution binary image will be required. Finally, if the user wants to perform a compression test, or do a statistical analysis of sensor noise or a medical diagnosis, a non-lossy version of the image will be required.

【0271】図31は、パーサ、復号化器、出力装置と
のやりとりに関するブロック図である。図31におい
て、パーサ2402は、マーカー付の非損失性圧縮デー
タ、並びに1つ以上の出力装置、例えば図示のディスプ
レイ・モジュール2405の装置特性を受け取るように
接続される。この装置特性に基づき、パーサ2402は
圧縮データの適当な部分を選択し、それを通信路240
3へ送り、通信路2403はそのデータを伸長装置24
04へ転送する。伸長装置2404はそのデータを復号
化し、復号化データをディスプレイ・モジュール240
5に与える。
FIG. 31 is a block diagram relating to exchanges with a parser, a decoder, and an output device. In FIG. 31, a parser 2402 is connected to receive lossless compressed data with markers, as well as device characteristics of one or more output devices, such as the display module 2405 shown. Based on this device characteristic, parser 2402 selects the appropriate portion of the compressed data and
3 and the communication path 2403 transmits the data to the decompression device 24.
04. The decompressor 2404 decodes the data and outputs the decoded data to the display module 240
Give 5

【0272】本発明は、ワールド・ワイド・ウェブ、そ
の他の画像サーバーに対する改良したサポートをデータ
ストリームに与える。データストリームのある部分はモ
ニタ用の低空間解像度・高画素深度の画像をサポートす
ることができる。別の部分は、高空間解像度・低画素深
度のプリンタをサポートすることができる。データスト
リーム全体は非損失性伝送を提供する。これら3つの使
い方が同じ圧縮データによりサポートされるので、ブラ
ウザがモニタ画像、印刷画像及び非損失性画像を順番に
要求するならば、余分なデータを全く送る必要がない。
伝送されたモニタ画像用情報で印刷画像のために必要と
されるものは、印刷画像のために再利用できる。伝送さ
れたモニタ画像と印刷画像のための情報は、非損失画像
のために再利用できる。本発明は、閲覧のための伝送時
間(伝送費用)を減らし、また、サーバーに格納しなけ
ればならないデータ量を最小にする。
The present invention provides improved support for data streams to the World Wide Web and other image servers. Some portions of the data stream can support low spatial resolution, high pixel depth images for monitors. Another part can support high spatial resolution, low pixel depth printers. The entire data stream provides a lossless transmission. Since these three uses are supported by the same compressed data, there is no need to send any extra data if the browser requests a monitor image, a print image, and a lossless image in order.
The transmitted monitor image information required for the print image can be reused for the print image. The transmitted information for monitor and print images can be reused for lossless images. The present invention reduces transmission time (transmission cost) for browsing and minimizes the amount of data that must be stored on the server.

【0273】本発明のシステムにおいては、画像は1度
だけ圧縮されるが、データが何であるかを示すために様
々なマーカーが格納される。その後、ワールド・ワイド
・ウェブ(WEB)サーバーは、表示の要求を受信し、
必要な係数を提供するであろう。WEBサーバーは、圧
縮とか伸長とか何もする必要がなく、送るべきビットス
トリームの適当な部分を選択するだけである。
In the system of the present invention, the image is compressed only once, but various markers are stored to indicate what the data is. Thereafter, the World Wide Web (WEB) server receives the request for display,
Will provide the necessary coefficients. The WEB server does not need to do any compression or decompression, but only selects the appropriate part of the bitstream to send.

【0274】このような構文解析システムによる量子化
は、可逆ウェーブレット及びコンテキストモデルによる
高度の非損失性圧縮がないとしても、帯域幅の実質的な
増加をもたらす。この構文解析システムは高品質の注目
領域の選択にも利用できる。
Quantization with such a parsing system results in a substantial increase in bandwidth, even without a high degree of lossless compression with lossless wavelets and context models. This parsing system can also be used to select high quality regions of interest.

【0275】図32は量子化選択装置を示す。一実施例
では、この選択装置はソフトウエアによって、各種装置
のための適切な量子化プロファイルを決定するよう構成
される。画像は変換され、様々な周波数帯域のビットプ
レーンを捨てることによって量子化される。次に逆ウェ
ーブレット変換が実行される。再構成画像は表示に矛盾
しない何らかの方法で処理される。モニタに表示される
高解像度画像については、その処理はある種のスケーリ
ングであろう。プリンタの場合には、ある種の閾値処理
又はディザ処理かもしれない。同じ処理が原画像に適用
され、圧縮画像と比較される。平均2乗誤差が例として
用いられたが、どのような視覚的差異基準を用いてもよ
い。様々なビットプレーンの量子化による誤差を利用
し、ビットレートの節減による歪みが最低となるように
ビットプレーンを選択し量子化する。このプロセスは所
望のビットレート又は歪みに達するまで続けられるであ
ろう。各種画像処理操作のための代表的な量子化がいっ
たん決まったならば、量子化をシミュレートする必要は
なく、代表値が用いられるであろう。
FIG. 32 shows a quantization selection device. In one embodiment, the selection device is configured by software to determine an appropriate quantization profile for the various devices. The image is transformed and quantized by discarding bitplanes of various frequency bands. Next, an inverse wavelet transform is performed. The reconstructed image is processed in some manner consistent with the display. For high resolution images displayed on a monitor, the process will be some kind of scaling. In the case of a printer, it may be some sort of thresholding or dithering. The same process is applied to the original image and compared to the compressed image. Although the mean square error was used as an example, any visual difference criterion may be used. A bit plane is selected and quantized using errors caused by quantization of various bit planes so that distortion due to bit rate saving is minimized. This process will continue until the desired bit rate or distortion is reached. Once the representative quantization for the various image processing operations has been determined, there is no need to simulate the quantization and the representative values will be used.

【0276】勿論、スケーリングのような単純な画像処
理操作に関しては、様々な周波数帯域の量子化の効果を
解析的に決定できる。その他のディザ処理やコントラス
ト・マスキングのような操作に関しては、シミュレーシ
ョンによりほぼ最適な量子化を見つけるのはずっと簡単
である。
Of course, for simple image processing operations such as scaling, the effects of quantization in various frequency bands can be analytically determined. For other operations such as dithering and contrast masking, it is much easier to find a near optimal quantization by simulation.

【0277】図32において、符号ストリーム2500
は、量子化を含む伸長2501及び非損失性伸長250
3を施される。その伸長結果に対し、画像処理又は歪み
モデル2502,2504が適用される。その出力は画
像であり、MSE又はHV5差モデル2505のような
差モデルを適用される。その差判定の結果に基づき、ア
ラインメントが調節され(2504)、したがって量子
化も調節される。
In FIG. 32, a code stream 2500
Are the extension 2501 with quantization and the lossless extension 250
3 is given. Image processing or distortion models 2502 and 2504 are applied to the expansion result. The output is an image and a difference model such as MSE or HV5 difference model 2505 is applied. Based on the result of the difference determination, the alignment is adjusted (2504), and thus the quantization is adjusted.

【0278】構文解析を容易にするため、本発明は一連
のヘッダによる合図を利用する。一実施例では、本発明
の符号ストリーム構造は、1つ以上のタグ値を持つ主ヘ
ッダを含む。主ヘッダ中のタグは、符号ストリーム中の
すべてのタイルのために用いられた成分の数、サブサン
プリング及びアラインメント等の情報を知らせる。一実
施例では、符号ストリーム中の各タイルの前に、そのヘ
ッダがある。タイル・ヘッダの情報は、当該タイルに対
してのみ適用され、また主ヘッダの情報をくつがえすか
もしれない。
To facilitate parsing, the present invention utilizes a series of header cues. In one embodiment, the codestream structure of the present invention includes a main header with one or more tag values. The tags in the main header signal information such as the number of components used for all tiles in the codestream, subsampling and alignment. In one embodiment, each tile in the codestream is preceded by its header. The information in the tile header applies only to that tile and may override the information in the main header.

【0279】ヘッダはそれぞれ1つ以上のタグを含む。
一実施例では、インライン・マーカーはない。ヘッダ・
タグは、ある既知の点からユーザがコーダをリセットす
る所までの圧縮データの量を示す。一実施例では、どの
タグもみな16の倍数のビット数である。したがって、
主ヘッダ及びタイル・ヘッダはどれもみな16の倍数の
ビット数である。なお、どのタグも、16以外の数の倍
数のビット数でも構わないことに注意されたい。どのタ
イルデータ・セグメントも、16の倍数のビット数にな
るよう適当数の0が挿入される。
[0279] The headers each include one or more tags.
In one embodiment, there are no inline markers. header·
The tag indicates the amount of compressed data from a known point to where the user resets the coder. In one embodiment, every tag is a multiple of 16 bits. Therefore,
Both the main header and the tile header are multiples of 16 bits. Note that any tag may be a multiple of a number other than 16 bits. In each tile data segment, an appropriate number of zeros is inserted so that the number of bits is a multiple of sixteen.

【0280】一実施例では、各タイル・ヘッダはそのタ
イル・サイズを指示するかもしれない。別の実施例で
は、各タイルは、どこで次のタイルが始まるか指示する
かもしれない。なお、符号ストリームのバックトラック
が可能なときには、そのような情報をすべて主ヘッダに
挿入することにより、符号化が簡単になるかもしれな
い。パーサは、符号ストリームに関する情報をその量子
化を実行するために利用することができる。
[0280] In one embodiment, each tile header may indicate its tile size. In another embodiment, each tile may indicate where the next tile begins. It should be noted that when backtracking of the code stream is possible, encoding may be simplified by inserting all such information into the main header. The parser can use information about the codestream to perform its quantization.

【0281】一実施例では、タイル・ヘッダはタイルが
ウェーブレット方式とバイナリ方式のいずれで符号化さ
れたか指示するかもしれない。重要性レベル・インディ
ケータは、タイルのデータと重要性レベルとを関係付け
る。重要性レベル・ロケータ(locator)は、可能な打
ち切り位置を知らせる。例えば、各タイルに対し同じ歪
みが望まれるときには、どの重要性レベルがその所望の
歪みレベルと等しいか分かれば、パーサは符号ストリー
ムを適切な位置で打ち切ることができる。一実施例で
は、各タイルは、同じビット数を持つのではなく、ほぼ
同じ歪みを持つ。
In one embodiment, the tile header may indicate whether the tile was encoded in a wavelet or binary fashion. The importance level indicator associates the data of the tile with the importance level. An importance level locator indicates possible truncation locations. For example, when the same distortion is desired for each tile, the parser can truncate the codestream at the appropriate location, knowing which importance level is equal to the desired distortion level. In one embodiment, instead of having the same number of bits, each tile has approximately the same distortion.

【0282】本発明は、重要性レベル・ロケータ・タグ
を持つことにより、複数のタイルと、各タイルのどこで
終わるべきかの指示を持ち得るようにしている。
The present invention has an importance level locator tag so that it can have multiple tiles and an indication of where each tile should end.

【0283】タグとポインタ 復号化又は構文解析に用いられる構文解析用マーカー及
びその他の情報が、タグに入れられてもよい。一実施例
では、ヘッダは以下のルールに従うタグによって制御情
報を与える。
Tags and Pointers Parsing markers and other information used for decoding or parsing may be included in the tags. In one embodiment, the header provides control information by tags according to the following rules.

【0284】タグは固定サイズでも可変サイズでもよ
い。成分数、タイル数、レベル数、又はリセットもしく
は所望情報の数により、タグは長さが変わってもよい。
[0284] Tags may be fixed size or variable size. Depending on the number of components, the number of tiles, the number of levels, or the number of resets or desired information, the tag may vary in length.

【0285】画像が構文解析され量子化されるならば、
それらのタグは新しい画像特性を表すように変更され
る。
If the image is parsed and quantized,
Those tags are changed to represent the new image characteristics.

【0286】データストリーム中のリセット点は、8の
倍数のビット数になるように0を挿入される。エントロ
ピー・コーダを符号ストリームのある点でリセットでき
るが、その点は符号化時に決定される(しかし、それを
行うことができるのは、一つの重要性レベルの符号化の
終わりでだけである)。このリセットは、エントロピー
・コーダにおける全ての状態情報(コンテキスト及び確
率)が既知の初期状態に戻されることを意味する。次
に、符号ストリームは次の8の倍数のビット数まで0を
挿入される。
At the reset point in the data stream, 0 is inserted so that the number of bits is a multiple of eight. The entropy coder can be reset at some point in the codestream, but that point is determined at the time of encoding (but it can only be done at the end of one importance level of encoding). . This reset means that all state information (context and probability) in the entropy coder is returned to a known initial state. Next, the code stream is padded with zeros up to the next multiple of 8 bits.

【0287】パーサは、画像を量子化する際に符号スト
リーム・タグだけを手がかりとして用いる。一実施例で
は、この量子化処理のために、タイル長、成分長、リセ
ット、ビット対重要性レベル、及び、重要性レベル・ロ
ケータの各タグが用いられる。
The parser uses only codestream tags as clues when quantizing an image. In one embodiment, the tags of tile length, component length, reset, bit versus importance level, and importance level locator are used for the quantization process.

【0288】パーサによって画像が量子化された後、そ
のタグはすべて新しい符号ストリームを反映するよう変
更される。これは画像と、タイルサイズ、成分数、成分
のスパン、全ての長さとポインタ等々に影響を及ぼすの
が普通である。さらに、画像がどのように量子化された
かを記述する情報タグも含まれる。
After the image has been quantized by the parser, all of its tags are modified to reflect the new codestream. This usually affects the image, tile size, number of components, span of components, all lengths and pointers, etc. Also included is an information tag that describes how the image was quantized.

【0289】表3は、本発明の一実施例における全ての
タグの一覧表である。説明と用語はしばしばJPEGと
は異なるが、可能な場合には同じマーカーと識別子が用
いられる。どの画像も少なくとも2つのヘッダ、すなわ
ち、画像の始まりにある主ヘッダと、各タイルの始まり
にあるタイルヘッダとを有する。(どの符号ストリーム
もみな少なくとも1つのタイルを含む)3種類のタグ、
すなわち区切りタグ、機能タグ及び情報タグも用いられ
る。区切りタグは、ヘッダ及びデータのフレーミングの
ために用いられる。機能タグは、利用される符号化機能
を記述するために使われる。情報タグはデータに関する
オプションの情報を提供する。
Table 3 is a list of all tags in one embodiment of the present invention. The description and terminology are often different from JPEG, but the same markers and identifiers are used where possible. Every image has at least two headers, a main header at the beginning of the image and a tile header at the beginning of each tile. Three types of tags (each code stream contains at least one tile):
That is, a separation tag, a function tag, and an information tag are also used. The delimiter tag is used for framing the header and data. The function tag is used to describe the encoding function used. Information tags provide optional information about the data.

【0290】[0290]

【表3】 [Table 3]

【0291】なお、”x”は当該タグが当該ヘッダ中で
用いられないことを意味する。ヘッダ中のTLMタグ又
は各タイル中のTLTタグのどちかが必要とされるが、
その両方は必要でない。成分ポインタが必要であるの
は、2つ以上の成分があるときだけである。
[0291] Note that "x" means that the tag is not used in the header. Either the TLM tag in the header or the TLT tag in each tile is required,
Both are not required. Component pointers are only needed when there are more than one component.

【0292】図33は本発明の符号ストリームにおける
区切りタグの配置を表す。各符号ストリームは、1つの
SOIタグ、1つのSOCタグ、1つのEOIタグだけ
(及び少なくとも1つのタイル)を持つ。各タイルは1
つのSOTタグと1つのSOSタグを持つ。各区切りタ
グは16ビットで、長さ情報を含まない。
FIG. 33 shows the arrangement of delimiter tags in the code stream of the present invention. Each codestream has only one SOI tag, one SOC tag, one EOI tag (and at least one tile). Each tile is 1
It has one SOT tag and one SOS tag. Each delimiter tag is 16 bits and does not include length information.

【0293】SOIタグは、JPEGファイルの始まり
を示し、16ビットのJPEGマジックナンバー(magi
c number)である。
The SOI tag indicates the start of a JPEG file and has a 16-bit JPEG magic number (magi
c number).

【0294】SOCタグはファイルの始まりを示し、S
OIタグの直後にくる。SOIタグとSOCタグは全体
として、ユニーク数を形成する16ビットとなる。
The SOC tag indicates the start of the file,
It comes right after the OI tag. The SOI tag and the SOC tag as a whole have 16 bits forming a unique number.

【0295】SOTタグはタイルの始まりを示す。符号
ストリームには少なくとも1つのタイルがある。SOT
はストリームがまだ同期していることを保証するための
チェックとして働く。
The SOT tag indicates the start of a tile. There are at least one tile in the codestream. SOT
Works as a check to ensure that the stream is still synchronized.

【0296】SOSタグは”スキャン”の始まりを示
し、その後にタイルの実画像データが続く。SOSはタ
イル・ヘッダの終わりを示し、また、CREW符号スト
リームには少なくとも1つのSOSがなければならな
い。SOSとその次のSOT又はEOI(画像の終わ
り)との間のデータは16の倍数のビット数であり、こ
の符号ストリームは必要であれば0が挿入される。
[0296] The SOS tag indicates the start of "scan", and is followed by the actual image data of the tile. The SOS indicates the end of the tile header, and there must be at least one SOS in the CREW codestream. The data between the SOS and the next SOT or EOI (end of image) is a multiple of 16 bits and the codestream is padded with zeros if necessary.

【0297】EOIタグは画像の終わりを示す。EOI
はストリームがまだ同期していることを保証するための
チェックとして働く。符号ストリーム中に少なくとも1
つのEOIがある。
The EOI tag indicates the end of the image. EOI
Works as a check to ensure that the stream is still synchronized. At least one in the codestream
There are two EOIs.

【0298】機能タグは、タイル又は画像の全体を符号
化するために利用される機能を記述する。これらタグの
中には、主ヘッダに用いられるが、個々のタイルの符号
化中に別の値を持つ同じタグを使って覆すことができる
ものもある。SIZタグは画像格子の幅と高さ、タイル
の幅と高さ、成分数、色空間変換(必要なとき)、各成
分のサイズ(画素深度)、及び成分が基準格子をどのよ
うに埋めるかを定義する。このタグは主ヘッダにのみ出
現し、タイル・ヘッダ中には出現しない。各タイルは、
その成分のすべてに同じ特性を提供させる。ここで定義
されたパラメータの多くは他のタグのためにも用いられ
るため、SIZタグはSOCタグのすぐ後に続かねばな
らない。このタグの長さは、SIZの後の最初のフィー
ルドであるLsizに保存されるが、成分数に依存する。
図34はSIZタグに関する画像とタイルのサイズのシ
ンタックスを示す。
The function tag describes a function used to encode the entire tile or image. Some of these tags are used in the main header, but can be overridden using the same tag with different values during the encoding of individual tiles. The SIZ tag is the width and height of the image grid, the width and height of the tile, the number of components, the color space conversion (if necessary), the size of each component (pixel depth), and how the components fill the reference grid Is defined. This tag appears only in the main header, not in the tile header. Each tile is
All of its ingredients provide the same properties. Since many of the parameters defined here are also used for other tags, the SIZ tag must immediately follow the SOC tag. The length of this tag is stored in the first field after SIZ, Lsiz, but depends on the number of components.
FIG. 34 shows the syntax of the image and tile size for the SIZ tag.

【0299】以下は各要素のサイズと値の説明リストで
ある。
The following is a description list of the size and value of each element.

【0300】SIZ:マーカー。SIZ: marker.

【0301】Lsiz:マーカを含めない、バイト数で
表したタグの長さ(偶数でなければならない)。
Lsiz: Tag length in bytes, not including marker (must be even).

【0302】Xsiz:画像基準格子の幅(1成分の画
像又は共通のサブサンプリングによる色成分を持つ画像
では画像幅と同じ)。
Xsiz: width of the image reference grid (same as the image width in the case of one-component images or images having color components by common sub-sampling).

【0303】Ysiz:画像基準格子の高さ(1成分の
画像又は共通のサブサンプリングによる色成分を持つ画
像では画像の高さと同じ)。
Ysiz: Height of image reference grid (same as image height for one-component images or images having color components by common subsampling).

【0304】XTsiz:1タイル画像基準格子の幅。
タイルは、あらゆる成分の1標本を持てるだけの幅でな
ければならない。画像幅内のタイルの数は
XTsiz: 1 tile image reference grid width.
The tile must be wide enough to hold one specimen of all components. The number of tiles in the image width is

【0305】[0305]

【外3】 [Outside 3]

【0306】に等しい。Is equal to

【0307】YTsiz:1タイル画像基準格子の高
さ。タイルは、あらゆる成分の1標本を持てるだけの高
さでなければならない。画像高さ内のタイルの数は
YTsiz: Height of one tile image reference grid. The tile must be tall enough to hold one specimen of all components. The number of tiles in the image height is

【0308】[0308]

【外4】 [Outside 4]

【0309】に等しい。Is equal to

【0310】Csiz:画像中の成分の数。Csiz: number of components in the image.

【0311】CSsiz:色空間変換の種類(必要なと
き)。このタグは包括的ではない。(多くの多成分空間
変換はここでは指定できない。それらは本発明のファイ
ルフォーマット内でない、ほかの場所で指示される必要
がある)。表4に色空間変換のための値を示す。
CSsiz: Type of color space conversion (when necessary). This tag is not comprehensive. (Many multi-component spatial transformations cannot be specified here; they need to be specified elsewhere, not within the file format of the present invention). Table 4 shows values for color space conversion.

【0312】[0312]

【表4】 [Table 4]

【0313】このタグにおいて記述されるサブサンプリ
ングは、各成分に最高解像度を利用できない画像に適用
される。本発明のシステムは、最高解像度を利用できる
時に重要性の低い成分のサイズを縮小する別の方法があ
る。
The subsampling described in this tag is applied to an image for which the highest resolution cannot be used for each component. The system of the present invention has another way to reduce the size of less important components when the highest resolution is available.

【0314】Ssizi: 第i成分の精度(画素深
度)。このパラメータ、XRsiz及びYRsizは全
ての成分ために繰り返される。
Ssisi: Accuracy (pixel depth) of the i-th component. This parameter, XRsiz and YRsiz, is repeated for all components.

【0315】XRsizi:第i成分のX次元の大き
さ。例えば、数字2は当該成分が2つの水平基準格子点
に寄与することを意味する。このパラメータと、Ssi
z、YRsizは全ての成分のために繰り返される。
XRsisi: X-dimensional size of the i-th component. For example, the number 2 means that the component contributes to two horizontal reference grid points. This parameter and Ssi
z, YRsiz is repeated for all components.

【0316】YRsizi:第i成分のY次元の大き
さ。例えば、数字2は当該成分が2つの垂直基準格子点
に寄与することを意味する。このパラメータと、Xsi
z、XRsizは全ての成分のために繰り返される。
YRsisi: Y-dimensional size of the i-th component. For example, the number 2 means that the component contributes to two vertical reference grid points. This parameter and Xsi
z, XRsiz are repeated for all components.

【0317】res:必要なときに最後に置かれる0の
埋め草バイト。
Res: Zero padding byte placed last when needed.

【0318】[0318]

【表5】 [Table 5]

【0319】CODタグは、画像又はタイルに用いられ
たバイナリ方式やウェーブレット方式といった符号化方
式、変換フィルタ及びエントロピー・コーダを記述す
る。このタグは主ヘッダに含まれ、またタイルヘッダに
も使用できる。このタグの長さは成分数に依存する。図
35は、符号化方式シンタックスを示す。表6は符号化
方式のためのサイズと値を示す。
The COD tag describes an encoding method such as a binary method or a wavelet method used for an image or a tile, a transform filter, and an entropy coder. This tag is included in the main header and can also be used for tile headers. The length of this tag depends on the number of components. FIG. 35 shows the coding scheme syntax. Table 6 shows the sizes and values for the encoding scheme.

【0320】[0320]

【表6】 [Table 6]

【0321】COD:マーカー。COD: marker.

【0322】Lcod:マーカーを含めない、バイト数
で表したタグの長さ(偶数でなければならない)。
Lcod: tag length in bytes, excluding marker (must be even).

【0323】Ccodi:各成分の符号化方式。Ccodi: Coding method for each component.

【0324】res:必要なときに最後に置かれる0の
埋め草バイト。
Res: Zero padding byte placed last when needed.

【0325】[0325]

【表7】 [Table 7]

【0326】各成分毎に、ALGタグはピラミッドレベ
ル数と係数のアラインメントを記述する。ALGは主ヘ
ッダに用いられ、またタイルヘッダにも用いることがで
きる。このタグの長さは、成分数に依存し、場合によっ
てはレベル数にも依存する。図36は、本発明の成分ア
ラインメント・シンタックスの一例を示す。図36にお
いて、以下の成分が含まれる。
For each component, the ALG tag describes the alignment of pyramid level numbers and coefficients. ALG is used for the main header and can also be used for the tile header. The length of this tag depends on the number of components and, in some cases, on the number of levels. FIG. 36 shows an example of the component alignment syntax of the present invention. In FIG. 36, the following components are included.

【0327】ALG:このマーカーは、成分アラインメ
ント・パラメータのサイズと値を示す。
ALG: This marker indicates the size and value of the component alignment parameter.

【0328】[0328]

【表8】 [Table 8]

【0329】Lalg:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lag: tag length in bytes (not including markers) (even number).

【0330】Palgi:第i成分のピラミッド分解レ
ベル数。このパラメータとAalg、場合によってはS
algも、各成分毎に1レコードとして繰り返される。
Palgi: Number of pyramid decomposition levels of the i-th component. This parameter and Aalg, and possibly S
alg is also repeated as one record for each component.

【0331】Aslgi:第i成分のアラインメント。
このテーブル・エントリーは、係数のアラインメントを
記述し、あらゆる成分のために繰り返される。表9にA
algパラメータの値を表す。
Aslgi: Alignment of the i-th component.
This table entry describes the alignment of the coefficients and is repeated for every component. A in Table 9
Represents the value of the alg parameter.

【0332】[0332]

【表9】 [Table 9]

【0333】Palg、場合によってはSalgも、各
成分毎に1レコードとして繰り返される。
[0333] Palg and, in some cases, Salg are repeated as one record for each component.

【0334】Talgi:表10にテール情報選択方法
を示す。
Talgi: Table 10 shows a method for selecting tail information.

【0335】[0335]

【表10】 [Table 10]

【0336】Salgij:第i成分の第jサブブロック
のアラインメント値であり、当該成分のためのAalg
iの値が”カスタム・アラインメント"であるときにのみ
用いられる。この数は、どの カスタム・アラインメン
トが選ばれるかにより8ビット又は16ビットであり、
また、当該成分に関し、画像のあらゆる周波数帯域のた
めに順番に繰り返される。(バイナリ方式に関しては、
Salgijは第iピラミッドレベルのアラインメント値
である) Salgijが用いられる時には、Salgij
と、Aalg及びPalgは各成分毎に1レコードとし
て繰り返される。
Salgij: Alignment value of the j-th sub-block of the ith component, and Aalg for the component
Used only when the value of i is "custom alignment". This number can be 8 or 16 bits depending on which custom alignment is chosen,
Also, for that component, it is repeated in order for every frequency band of the image. (For the binary method,
Salgij is the alignment value at the ith pyramid level.) When Salgij is used, Salgij
And Aalg and Parg are repeated as one record for each component.

【0337】res:必要なときに最後に置かれる0の
埋め草バイト。
Res: Zero padding byte placed last when needed.

【0338】TLMタグは、画像中のあらゆるタイルの
長さを記述する。各タイルの長さは、SOTタグの第1
バイトから(次のタイルの)次のSOTタグの第1バイ
ト、又はEOI(画像の終わり)までを測った長さであ
る。言い換えれば、この長さはタイルへのポインタのリ
スト又はデイジーチェーンである。
[0338] The TLM tag describes the length of every tile in the image. The length of each tile is the first of the SOT tags
Length measured from byte to first byte of next SOT tag (for next tile) or EOI (end of image). In other words, this length is a list of pointers to tiles or a daisy chain.

【0339】符号ストリームは、単一のTLMタグ又は
各タイル毎のTTLタグのいずれかを含むが、その両方
は含まない。主ヘッダ中にTLMタグが使用される時に
は、TLTタグは用いられない。逆に、各タイルがTL
Tタグで終わるときには、TLMタグは用いられない。
TLMヘッダ中の個々のタイル長の値は、TLMが使わ
れないとしたならば対応TLTタグのために用いられる
であろう値と同じである。TLMタグの長さは、画像中
のタイル数に依存する。図37はタイル長・主ヘッダの
シンタックスの一例を示す。
The codestream contains either a single TLM tag or a TTL tag for each tile, but not both. When a TLM tag is used in the main header, no TLT tag is used. Conversely, each tile is TL
When ending with a T tag, no TLM tag is used.
The value of each tile length in the TLM header is the same value that would be used for the corresponding TLT tag if TLM were not used. The length of the TLM tag depends on the number of tiles in the image. FIG. 37 shows an example of the syntax of the tile length / main header.

【0340】TLM:表11に、タイル長・主ヘッダパ
ラメータのサイズと値を示す。
TLM: Table 11 shows the sizes and values of the tile length / main header parameters.

【0341】[0341]

【表11】 [Table 11]

【0342】Ltlm:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Ltlm: Tag length in bytes, excluding markers (even number).

【0343】Ptlmi:第iタイルのSOTマーカー
から次のSOT(又はEOI)マーカーまでのバイト数
で表した長さ。これは、画像中のあらゆるタイルのため
に繰り返される。
Ptlmi: Length in bytes from the SOT marker of the i-th tile to the next SOT (or EOI) marker. This is repeated for every tile in the image.

【0344】TLTタグはカレント・タイルの長さを記
述するが、この長さは、SOTタグの第1バイトから次
のタイルのSOTタグの第1バイトまで(又はEOIま
で)を測った長さである。言い換えれば、TLTは次の
タイルへのポインタである。TLTシンタックスの一例
を図38に示す。
The TLT tag describes the length of the current tile. This length is the length measured from the first byte of the SOT tag to the first byte of the SOT tag of the next tile (or to the EOI). It is. In other words, TLT is a pointer to the next tile. FIG. 38 shows an example of the TLT syntax.

【0345】TLMタグかTLTタグのいずれかが必要
とされ、両方は必要とされない。TLTタグは、使用さ
れる時には、全てのタイルヘッダに必要とされ、そして
TLMタグは使われない。これらのタイル長の値は両マ
ーカーとも同一である。
Either a TLM tag or a TLT tag is required, but not both. TLT tags are required for all tile headers when used, and TLM tags are not used. These tile length values are the same for both markers.

【0346】TLT:表12に、タイル長・タイルヘッ
ダパラメータのサイズと値を示す。
TLT: Table 12 shows the sizes and values of the tile length and tile header parameters.

【0347】[0347]

【表12】 [Table 12]

【0348】Ltlt:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Ltlt: Tag length in bytes (not including markers) (even number).

【0349】Ptlt:タイルのSOTマーカーから次
のSOTマーカー(又はEOIマーカー)までの長さ
(バイト数)。
Ptlt: Length (number of bytes) from the SOT marker of the tile to the next SOT marker (or EOI marker).

【0350】CPTタグは、SOTの第1バイトより、
タイル中の第1成分以外のすべての成分の第1バイトを
指し示す。成分符号化データは各タイル内にノンインタ
ーリーブ形式で配置され、8ビット境界から始まる。こ
の点でエントロピー・コーダはリセットされる。
[0350] The CPT tag is obtained from the first byte of SOT.
Points to the first byte of all components except the first component in the tile. The component coded data is arranged in a non-interleaved manner in each tile and starts from an 8-bit boundary. At this point the entropy coder is reset.

【0351】画像が2つ以上の成分を含むときに、この
タグはあらゆるタイルのタイルヘッダに使用される。こ
の可変長タグのサイズは、画像中の成分数に依存する。
成分ポインタのシンタックスの一例を図39に示す。
This tag is used for the tile header of every tile when the image contains more than one component. The size of the variable-length tag depends on the number of components in the image.
FIG. 39 shows an example of the syntax of the component pointer.

【0352】CPT:表13に、成分ポインタのパラメ
ータのサイズと値を示す。
CPT: Table 13 shows the sizes and values of the parameters of the component pointer.

【0353】[0353]

【表13】 [Table 13]

【0354】Lcpt:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lcpt: Tag length in bytes (not including markers) (even number).

【0355】Pcpti:カレント・タイルのSOTタ
グから次の成分の始まりまでのバイト数。第1成分のデ
ータはSOSタグの直後に始まるため、Pcpt値の数
は成分数より小さい。新たな成分データは8ビット境界
上で始まる。
Pcpti: The number of bytes from the SOT tag of the current tile to the start of the next component. Since the data of the first component starts immediately after the SOS tag, the number of Pcpt values is smaller than the number of components. New component data starts on an 8-bit boundary.

【0356】IRSタグは、カレント・タイルのSOT
タグの第1バイトよりデータ中のリセットを指し示す。
これらのリセットは、符号化が完了した重要レベルの終
わりの後の8ビット境界に見出される。リセットが生じ
る点の成分は、CPTタグ値とリセット・ポインタとの
間の関係によって決定できる。このタグの長さは、復号
化器に利用されたリセットの数に依存する。重要性レベ
ル・リセット・シンタックスの一例を図40に示す。
The IRS tag is the SOT of the current tile.
The first byte of the tag indicates a reset in the data.
These resets are found on 8-bit boundaries after the end of the significance level at which encoding is completed. The component at which a reset occurs can be determined by the relationship between the CPT tag value and the reset pointer. The length of this tag depends on the number of resets used by the decoder. An example of the importance level reset syntax is shown in FIG.

【0357】IRS:表14に重要性レベル・リセット
のパラメータのサイズと値を表す。
IRS: Table 14 shows the size and value of the importance level reset parameter.

【0358】[0358]

【表14】 [Table 14]

【0359】Lirs:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lirs: Tag length in bytes (not including markers) (even number).

【0360】Iirsi:第iリセットでのカレント重
要性レベルの番号。このIirsタグと、対応したPi
rsタグとが一種のレコードを形成し、これは各リセッ
ト毎に繰り返される。これらのレコードは、リセットを
持つ最も高い重要性レベルからリセットを持つ最低の重
要性レベルへと続き、その次の成分の重要性レベルのも
のが続き、同様にして最後の成分まで続く順序である。
[0360] Iirs i: current importance level number in the i-th reset. This Irs tag and the corresponding Pi
The rs tag forms a kind of record, which is repeated at each reset. These records are in order from the highest importance level with reset to the lowest importance level with reset, followed by the next component importance level, and so on to the last component. .

【0361】Pirsi:カレント・タイルのSOTタ
グから第iリセットのバイトまでのバイト数。このPi
rsタグとIirsタグとが一種のレコードを形成し、
これは各リセットに対し繰り返される。これらのレコー
ドは、最小のポインタから最大のポインタへの順序でな
ければならない。すなわち、これらのレコードは、各リ
セットバイトを符号ストリーム中で出現した順に指し示
す(数が小さくなるほど、物理的には先に出現するバイ
トを指す)。
Pirs i : The number of bytes from the SOT tag of the current tile to the i-th reset byte. This Pi
The rs tag and the Iirs tag form a kind of record,
This is repeated for each reset. These records must be in order from the smallest pointer to the largest. That is, these records point to each reset byte in the order in which they appear in the codestream (smaller numbers indicate physically occurring bytes first).

【0362】特定の情報タグがもっぱら情報目的のため
に含まれる。これらの情報タグは、復号化器のためには
必要ではないが、パーサの助けとなろう。
[0362] Certain information tags are included solely for informational purposes. These information tags are not needed for the decoder, but will help the parser.

【0363】例えば、VERタグはメジャー・バージョ
ン番号及びマイナー・バージョン番号を記述する。この
タグは、主ヘッダに使われる。このタグは、規定されて
はいるが、画像の復号化に必要とされる機能レベルを意
味しない。実は、その目的は、あらゆる復号化器及びパ
ーサを、本発明のどのバージョンの符号ストリームも復
号化及び構文解析できるようにすることである。本発明
のバージョン番号のシンタックスの一例を図41に示
す。
For example, the VER tag describes a major version number and a minor version number. This tag is used for the main header. This tag, although specified, does not imply a functional level required for image decoding. In fact, its purpose is to allow any decoder and parser to decode and parse any version of the codestream of the present invention. FIG. 41 shows an example of the syntax of the version number of the present invention.

【0364】VER:表15にバージョン番号パラメー
タのサイズと値を示す。
VER: Table 15 shows the size and value of the version number parameter.

【0365】[0365]

【表15】 [Table 15]

【0366】Lver:マーカーを含めない、バイト数
で表した卓の長さ(偶数である)。
Lver: Table length in bytes (not including markers) (even number).

【0367】Vver:メジャー・バージョン番号。Vver: major version number.

【0368】Rver:マイナー・バージョン番号。Rver: minor version number.

【0369】BVIタグは、画像幅を基準にして、ビッ
トの数を重要性レベルに関連付ける。このオプションの
タグは、主ヘッダに用いられる。この可変長タグのサイ
ズは、符号化器によって数え上げられた重要性レベルの
数に依存する。ビット対重要性レベル・シンタックスの
一例を図42に示す。
A BVI tag associates a number of bits with an importance level based on the image width. This optional tag is used for the main header. The size of this variable length tag depends on the number of importance levels enumerated by the encoder. An example of bit versus importance level syntax is shown in FIG.

【0370】BVI:表16に、タイル長主ヘッダ・パ
ラメータのサイズと値を示す。
BVI: Table 16 shows the size and value of the tile length main header parameter.

【0371】[0371]

【表16】 [Table 16]

【0372】Lbvi:マーカーを含めない、ビット数
で表したタグの長さ(偶数である)。
Lbvi: Tag length in bits (not including the marker) (even number).

【0373】Cbvii:これは、どの成分データが記
述されるのか知らせる。このCbviパラメータはIb
vi及びPbviと共に、1レコードを形成し、これは
記述されたすべての成分及び重要性レベルについて繰り
返される。最初の成分の全ての重要性レベル記述、次の
成分の全ての重要性レベル記述、等々と続くような順序
でなければならない。
Cbvi i : This indicates which component data is to be described. This Cbvi parameter is Ib
Together with vi and Pbvi form a record, which is repeated for all components and importance levels described. The order must be such that all importance level descriptions for the first component, all importance level descriptions for the next component, and so on.

【0374】Ibvii:カレント成分において、Pb
vii内のバイト数につき符号化された重要性レベルの
番号。この番号(1つ又は複数)は、レート・歪み曲線
の関心点を伝えるために符号化時に選択される。このI
bviパラメータはCbvi及びPbviとともに1レ
コードを形成し、これは記述されたすべての成分及び重
要性レベルについて繰り返される。
Ibvi i : In the current component, Pb
Importance level number encoded for the number of bytes in vii. This number (s) is selected during encoding to convey the point of interest of the rate-distortion curve. This I
The bvi parameter forms a record with Cbvi and Pbvi, which is repeated for all components and importance levels described.

【0375】Pbvii:主ヘッダとタイルヘッダ、及
び、Ibvii内の重要性レベルの数に関連した全ての
データを含む符号化ファイル中のバイト数。このPbv
iパラメータはCbvi及びIbviとともに1レコー
ドを形成し、これは記述されたすべての成分及び重要性
レベルについて繰り返される。
Pbvi i : Number of bytes in the encoded file containing the main header and tile header, and all data related to the number of importance levels in Ibvii. This Pbv
The i-parameter together with Cbvi and Ibvi form a record, which is repeated for all components and importance levels described.

【0376】res:必要なときに最後に置かれる0の
埋め草バイト。
Res: Zero padding byte placed last when needed.

【0377】ILLタグは、符号化データの重要性レベ
ルの終わりに対応した符号ストリームへのポインタを記
述する。ILLタグは、IRSタグと似ているけれど
も、リセットも8ビット境界へのビット挿入もないデー
タを指し示す。このタグにより、パーサは、画像幅基準
でほぼ同じひずみのタイルを見つけて打ち切ることが可
能になる。このタグは、オプションであり、タイルヘッ
ダ中でだけ使われる。このタグの長さは、数え上げられ
た重要性レベルの数に依存する。重要性レベル・ロケー
タのシンタックスの一例を図43に示す。
The ILL tag describes a pointer to a code stream corresponding to the end of the importance level of the encoded data. An ILL tag is similar to an IRS tag, but points to data without resets or insertion of bits on 8-bit boundaries. This tag allows the parser to find and cut off tiles with approximately the same distortion on an image width basis. This tag is optional and is used only in the tile header. The length of this tag depends on the number of importance levels counted. An example of the importance level locator syntax is shown in FIG.

【0378】ILL:マーカー。表17に、重要性レベ
ル・ロケータのパラメータのサイズと値を示す。
ILL: Marker. Table 17 shows the size and value of the importance level locator parameters.

【0379】[0379]

【表17】 [Table 17]

【0380】Lill:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lill: The length of the tag in bytes, not including the marker (even number).

【0381】Iilli:Pilli内のバイト数に関し
符号化される重要性レベルの番号。それら番号はそれぞ
れ、レート・歪み曲線の関心点を伝達するため符号化時
に選択される。このIill番号はPillパラメータ
と共に1レコードを形成するが、これは最も速い成分に
おいて最高重要度レベルから最低重要性レベルへの順に
繰り返され、以下、後の成分における重要な最高重要性
レベルから最低重要性レベルまでを特定する同様レコー
ドが続く。
Iill i : Importance level number encoded for the number of bytes in Pilli. Each of these numbers is selected during encoding to convey the point of interest of the rate-distortion curve. This Iill number forms one record with the Pil parameter, which is repeated in order from the highest importance level to the lowest importance level for the fastest component, and from the highest importance level to the lowest importance level for the later components. A similar record follows up to the gender level.

【0382】Pilli:カレント・タイルのSOTの
第1バイトより、当該タイルの符号化データ中のIil
liの重要性レベルが完了するバイトを指し示す。この
Pill数はIillパラメータと共に1レコードを形
成し、これは最も速い成分において最高の重要性レベル
から最低の重要性レベルへの順に繰り返され、以下、後
の成分における重要な最高重要性レベルから最低重要レ
ベルまでを特定する同様レコードが続く。
[0382] Pil i : from the first byte of the SOT of the current tile, Iil in the encoded data of the tile.
points to the byte where the importance level of li is completed. This number of pills together with the ill parameter forms a record, which is repeated from the highest importance level to the lowest importance level for the fastest component, and from the highest importance level to the lowest importance level for the later components. A similar record follows up to the critical level.

【0383】RXYタグは、実寸法に関する画像基準格
子のX解像度及びY解像度を定義する。このタグは主ヘ
ッダにのみ用いられる。解像度(画素/単位)のシンタ
ックスの一例を図44に示す。
[0383] The RXY tag defines the X resolution and the Y resolution of the image reference grid for the actual dimensions. This tag is used only for the main header. FIG. 44 shows an example of the syntax of the resolution (pixels / unit).

【0384】RXY:表18に、解像度(画素/単位)
を指定するためのパラメータのサイズと値を示す。
RXY: Table 18 shows the resolution (pixels / unit)
Indicates the size and value of the parameter for specifying.

【0385】[0385]

【表18】 [Table 18]

【0386】Lrxy:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lrxy: Tag length in bytes, excluding markers (even number).

【0387】Xrxy:単位あたりの基準格子画素数。Xrxy: Reference grid pixel number per unit.

【0388】Yrxy:単位あたりの基準格子ライン
数。
Yrxy: Number of reference grid lines per unit.

【0389】RXrxy:X次元の単位。したがって、
水平方向の解像度は、Xrxy格子画素/10(RXr
xy−128)メートルである。
RXrxy: X-dimensional unit. Therefore,
The horizontal resolution is Xrxy grid pixels / 10 (RXr
xy-128) meters.

【0390】RYrxy:Y次元の単位。したがって、
垂直方向の解像度はYrxy格子ライン/10(RYr
xy−128)メートルである。
RYrxy: Y-dimensional unit. Therefore,
The vertical resolution is Yrxy grid lines / 10 (RYr
xy-128) meters.

【0391】CMTタグはヘッダ内の非構造化データを
許す。このタグは、主ヘッダとタイルヘッダのいずれに
も使用できる。このタグの長さは、コメントの長さに依
存する。コメントのシンタックスの一例を図45に示
す。
The CMT tag allows for unstructured data in the header. This tag can be used for both the main header and the tile header. The length of this tag depends on the length of the comment. FIG. 45 shows an example of the syntax of the comment.

【0392】CMT:表19にコメント・パラメータの
大きさと値を示す。
CMT: Table 19 shows the size and value of the comment parameter.

【0393】[0393]

【表19】 [Table 19]

【0394】Lcmt:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lcmt: tag length in bytes, excluding markers (even number).

【0395】Rcmt:タグのレジストレーション(re
gistration)値。表20に、レジストレーション・パラ
メータの値を示す。
Rcmt: Tag registration (re
gistration) value. Table 20 shows the values of the registration parameters.

【0396】[0396]

【表20】 [Table 20]

【0397】Ccmti:非構造化データのバイト。任
意に繰り返される。
Ccmti: byte of unstructured data. It is repeated arbitrarily.

【0398】res:必要なときに、最後に置かれる0
の埋め草バイト。
Res: 0 placed at the end when necessary
Filling bytes.

【0399】QCSタグは、量子化符号データがどこま
で量子化済みかを記述する。パーサ又は符号化器により
量子化が実行される時に、このタグは、符号化器が、重
要性レベルに関しどこまで符号化すべきかを大まかに判
断するのを助ける。このタグは、オプションであり、タ
イルヘッダにのみ使用される。量子化符号ストリームの
シンタックスの一例を図46に示す。
The QCS tag describes how much the quantized code data has been quantized. When the quantization is performed by the parser or encoder, this tag helps the encoder roughly determine how much to encode in terms of importance level. This tag is optional and is used only for the tile header. FIG. 46 shows an example of the syntax of the quantization code stream.

【0400】QCS:表21に、量子化符号ストリーム
のパラメータのサイズと値を示す。
QCS: Table 21 shows the sizes and values of the parameters of the quantized code stream.

【0401】[0401]

【表21】 [Table 21]

【0402】Lqcs:マーカーを含めない、バイト数
で表したタグの長さ(偶数である)。
Lqcs: Tag length in bytes (not including the marker) (even number).

【0403】Cilli:カレント成分の番号。このC
ill番号はIqcsとともに1レコードを形成し、こ
れは最も速い成分における最高重要性レベルから最低重
要性レベルへの順に繰り返され、以下、後の成分におけ
る重要な最高重要性レベルから最低重要レベルまでを特
定する同様レコードが続く。
[0404] Cill i : Number of the current component. This C
The ill number forms a record with Iqcs, which is repeated in order from the highest importance level to the lowest importance level for the fastest component, and from the highest importance level to the lowest importance level for the later components. A similar record to identify follows.

【0404】Iqcsi:これは、符号化データの少な
くとも一部分が残っている重要性レベルである。当該点
から次のリセットまでに残っているデータは全て、打ち
切り済み(量子化済み)である。
[0404] Iqcsi: This is the level of importance in which at least a portion of the encoded data remains. All data remaining from that point until the next reset is already censored (quantized).

【0405】res:必要に応じて最後に置かれる0の
埋め草バイト。
Res: Zero padding byte placed at the end if necessary.

【0406】損失性係数再構成 本発明は、一実施例において、値を所定の整数値の集合
に丸めることで損失性再構成を行う。例えば、0と31
の間の全ての係数は0に量子化され、32〜63の間の
全ての係数は32に量子化される等々である。図47
は、量子化しないときの係数の代表的分布を示す。各係
数の最も下のビットが分かっていない場合に、そのよう
な量子化が行われるかもしれない。別の実施例では、各
値域の中央の値が、その係数群を表すより正確な値を提
供するかもしれない。例えば、64と127の間の全て
の係数が95に量子化される。値がある点へ量子化され
るとき、その点は再構成点と呼ばれる。
In one embodiment, the present invention performs lossy reconstruction by rounding values to a set of predetermined integer values. For example, 0 and 31
Are quantized to 0, all coefficients between 32-63 are quantized to 32, and so on. FIG.
Indicates a typical distribution of coefficients when not quantized. Such quantization may occur if the lowest bit of each coefficient is not known. In another embodiment, the value in the middle of each bin may provide a more accurate value that represents the set of coefficients. For example, all coefficients between 64 and 127 are quantized to 95. When a value is quantized to a point, that point is called a reconstruction point.

【0407】画像間の差異により、得られる分布は形が
ゆがむ。例えば、図47中の曲線2701と曲線270
2を比較されたい。
The resulting distribution is distorted by the differences between the images. For example, curves 2701 and 270 in FIG.
Compare two.

【0408】本発明においては、再構成点は、その分布
に基づいて選ばれる。一実施例では、分布が推定され、
その推定分布に基づき再構成点が選ばれる。推定分布
は、既に分かったデータに基づき生成される。データを
収集する以前は、デフォルトの再構成点が用いられるで
あろう。このように、本発明は、適応的な損失性再構成
方法を提供する。さらに、本発明は、係数再構成を改善
する非反復の方法である。分布の差異によって値域の使
用が不均一になることを補償するため、本発明は次のよ
うに規定する。
In the present invention, the reconstruction points are selected based on their distribution. In one embodiment, the distribution is estimated,
A reconstruction point is selected based on the estimated distribution. The estimated distribution is generated based on already known data. Prior to collecting the data, a default reconstruction point will be used. Thus, the present invention provides an adaptive lossy reconstruction method. Further, the present invention is a non-iterative method for improving coefficient reconstruction. To compensate for the non-uniform use of the range due to differences in distribution, the present invention defines:

【0409】[0409]

【数16】 (Equation 16)

【0410】ただし、2S は利用できるデータを基に復
号化器により測定された標本分散であり、Qは復号化器
に知らされた量子化である。次に、非ゼロ係数を0から
遠ざけることによって、それを修正する。
Here, 2 S is the sample variance measured by the decoder based on the available data, and Q is the quantization notified to the decoder. Next, it corrects the non-zero coefficients by moving them away from zero.

【0411】[0411]

【数17】 [Equation 17]

【0412】ただし、iは任意の整数である。[0412] Here, i is an arbitrary integer.

【0413】一実施例では、全部の復号化が完了した後
に、非ゼロ係数はすべて、ある再構成レベルに調整され
る。この調整をするためには、各係数を読み込み、恐ら
く修正し、そして書き込むことが必要である。
In one embodiment, after all decoding is complete, all non-zero coefficients are adjusted to a certain reconstruction level. To make this adjustment, it is necessary to read, possibly modify, and write each coefficient.

【0414】別の実施例では、各係数の各ビットプレー
ンが処理される時に、その係数が非ゼロならば、その係
数の適当な再構成値が記憶される。復号化が止まった時
に、全係数がそれらの適当な再構成値に設定される。こ
うすることにより、再構成レベルの設定のため別にメモ
リを経由する必要がなくなる。
In another embodiment, when each bit plane of each coefficient is processed, if the coefficient is non-zero, the appropriate reconstructed value of the coefficient is stored. When decoding stops, all coefficients are set to their appropriate reconstruction values. By doing so, there is no need to go through a separate memory for setting the reconstruction level.

【0415】カラー 本発明は、カラー画像(及びデータ)に適用できる。図
1の多成分処理機構101は、カラーデータのために必
要とされる処理を実行する。例えば、YUV色空間に
は、3つの成分、つまりY成分、U成分、V成分があ
り、各成分は別々に符号化される。
Color The present invention can be applied to color images (and data). The multi-component processing mechanism 101 shown in FIG. 1 performs processing required for color data. For example, the YUV color space has three components, a Y component, a U component, and a V component, and each component is separately encoded.

【0416】一実施例では、各成分のエントロピー符号
化データは、他の成分のエントロピー符号化データから
分離される。この実施例においては、成分のインターリ
ービングはない。成分別にデータを分けることは、ピラ
ミッド・アラインメントと組み合わされると、復号化器
又はパーサが異なった成分を容易に別々に量子化できる
ようにするのに役立つ。
[0416] In one embodiment, the entropy coded data for each component is separated from the entropy coded data for the other components. In this example, there is no interleaving of the components. Separating the data by component, when combined with pyramid alignment, helps the decoder or parser to easily quantize different components separately.

【0417】他の実施例では、異なった成分のエントロ
ピー符号化データが周波数帯域単位又は重要性レベル単
位でインターリーブされる。これは、MSEアラインメ
ントと組み合わされると、共通の打ち切りを全成分のデ
ータの量子化に利用できるので有益である。このインタ
ーリービング方式のためには、符号化器が異なった成分
の周波数帯域間又は重要性レベル間の関係を提供する必
要がある。周波数帯域又は重要性レベルはかなり大量の
符号化データであろうから、パーサ又は復号化器はマー
カーを利用し成分を独立に量子化できるであろう。
In another embodiment, different components of entropy coded data are interleaved on a per frequency band or per importance level basis. This is beneficial when combined with MSE alignment, since a common truncation can be used to quantize the data of all components. For this interleaving scheme, the encoder needs to provide a relationship between frequency bands or importance levels of the different components. Since the frequency band or importance level would be a fairly large amount of encoded data, the parser or decoder could use the markers to quantize the components independently.

【0418】さらに別の実施例では、異なった成分のエ
ントロピー符号化データは、画素毎又は係数毎にインタ
ーリーブされる。これは、MSEアラインメントと組み
合わされると、全成分に共通の打ち切りが作用するので
有益である。画素単位のインターリービングの場合、復
号化器及びパーサは符号化器で定義されのと同じ成分間
関係を利用しなければならない。
In still another embodiment, entropy encoded data of different components is interleaved on a pixel-by-pixel or coefficient-by-coefficient basis. This is beneficial when combined with the MSE alignment since a common truncation acts on all components. For pixel-by-pixel interleaving, the decoder and parser must use the same inter-component relationships defined in the encoder.

【0419】本発明によれば、同じシステムでサブサン
プリングを実行できる。
According to the present invention, subsampling can be performed by the same system.

【0420】一実施例では、各成分は別々に記憶され
る。伸長装置及びパーサを使うことにより、損失性出力
画像を生成する時には、別々の成分メモリのそれぞれか
ら分解レベル及び成分の選択されたものだけが取得され
るであろう。例えば、YUV色空間において、Y色成分
については分解レベルの全部が取得されるであろうが、
U成分とY成分については第1分解レベル以外の分解レ
ベルがすべて取得されるであろう。結果として得られる
画像の組合せは、4:1:1画像である。なお、メモリ
に格納されているデータの異なった部分を用いることに
より、別の型式の画像を得ることもできる。
In one embodiment, each component is stored separately. By using a decompressor and parser, when generating a lossy output image, only a selected one of the decomposition levels and components will be obtained from each of the separate component memories. For example, in the YUV color space, the full decomposition level would be obtained for the Y color component,
For the U and Y components, all decomposition levels other than the first decomposition level will be obtained. The resulting image combination is a 4: 1: 1 image. Note that different types of images can be obtained by using different parts of the data stored in the memory.

【0421】多くの型式の多成分画像を処理可能であ
る。画像データは、YUVのほかに、RGB(赤、緑、
青)、CMY(シアン、マゼンタ、黄)、CMYK(シ
アン、マゼンタ、黄、黒)又はCCIR601 YCrCb
でもよい。多重スペクトル画像データ(例えば、リモー
トセンシング・データ)も用い得る。RGBやCMYの
ような視覚的データに対しては、米国特許出願第08/
436,662号(1995年5月8日受理、" Metho
d and Apparatus for Reversible ColorCompressio
n "に述べられているような非損失性色空間変換を利用
できる。
Many types of multi-component images can be processed. The image data is RGB (red, green,
Blue), CMY (cyan, magenta, yellow), CMYK (cyan, magenta, yellow, black) or CCIR601 YCrCb
May be. Multispectral image data (eg, remote sensing data) may also be used. For visual data such as RGB and CMY, US patent application Ser.
No. 436,662 (received May 8, 1995, "Metho
d and Apparatus for Reversible ColorCompressio
n "can be used.

【0422】ビット抽出 本発明は、ビット抽出を高めるようにコンテキストモデ
ルを計算しビットを符号化することができる。具体的に
は、ヘッドビットのためのコンテキストモデルは、隣接
画素より与えられる情報を基礎にしている。しばしば、
特に損失性圧縮を行う時に、このコンテキストは0であ
る。ヘッドビット・コンテキストの近似統計量のため、
本発明はヘッドビットのためのコンテキストを保持する
機構を提供する。
Bit Extraction The present invention can compute a context model and encode bits to enhance bit extraction. Specifically, the context model for the head bit is based on information provided by neighboring pixels. often,
This context is zero, especially when performing lossy compression. Because of the approximate statistics of the headbit context,
The present invention provides a mechanism for maintaining a context for a head bit.

【0423】一実施例では、符号化に先だってメモリが
クリアされる。コンテキストは、その親、隣接画素の一
つ、又は注目画素が変わるまで、そのままである。変化
した時に、影響を受ける全てのコンテキストに関しコン
テクスト・メモリが更新される。テール情報を利用する
ときには、隣接画素と子だけが更新される。ヘッドビッ
トがオンの時に1係数につき1度だけメモリが更新され
る。
In one embodiment, the memory is cleared prior to encoding. The context remains until its parent, one of its neighbors, or the pixel of interest changes. When changed, the context memory is updated for all affected contexts. When using tail information, only the adjacent pixels and children are updated. When the head bit is on, the memory is updated only once per coefficient.

【0424】一実施例では、各係数は、符号(sign)の1
ビット、テールオン情報の4ビット、コンテキストの8
ビット、その後に続く係数の19ビットからなる32ビ
ット整数として記憶される。係数の一例を図48に示
す。
In one embodiment, each coefficient is one of the sign
4 bits for tail-on information, 8 for context
The bit is stored as a 32-bit integer consisting of 19 bits of the following coefficient. FIG. 48 shows an example of the coefficient.

【0425】一実施例では、テールオン情報の4ビット
を利用して5つの異なったケースを生成する。
In one embodiment, five different cases are generated using four bits of tail-on information.

【0426】テールオン情報の4ビットの値が0のケー
スにおいては、カレント係数の絶対値ビットのカレント
・ビットプレーンのビットは、コンテキストビットを利
用して符号化される。該ビットが0ならば、プロセスは
終了する。該ビットが1ならば、係数の符号が符号化さ
れる。それから、テールオン情報の第1ビットが反転さ
れ、北、北東、西、南、東及び4つの子のコンテキスト
が更新され、プロセスは終了する。
In the case where the 4-bit value of the tail-on information is 0, the bit of the current bit plane of the absolute value bit of the current coefficient is encoded using the context bit. If the bit is 0, the process ends. If the bit is 1, the sign of the coefficient is encoded. Then, the first bit of the tail-on information is inverted, the north, northeast, west, south, east and four child contexts are updated, and the process ends.

【0427】テールオン情報の4ビットの値が1のケー
スにおいては、カレント係数の絶対値ビットのカレント
・ビットプレーンのビットは当該ケースのための一定の
コンテキストを使って符号化される。テールオン情報の
第2ビットが反転される。カレント係数の東と子のコン
テキストが更新される。プロセスは終了する。
In the case where the 4-bit value of the tail-on information is 1, the bits of the current bit plane of the absolute value bits of the current coefficient are encoded using a certain context for the case. The second bit of the tail-on information is inverted. The east of the current coefficient and the child context are updated. The process ends.

【0428】テールオン情報の4ビットの値が7のケー
スにおいては、カレント係数の絶対値ビットのカレント
・ビットプレーンのビットは当該ケースのための一定の
コンテキストを使って符号化される。テールオン情報の
第3ビットが反転される。どのコンテキストも更新不要
である。プロセスは終了する。
In the case where the 4-bit value of the tail-on information is 7, the bits of the current bit plane of the absolute value bits of the current coefficient are encoded using a certain context for the case. The third bit of the tail-on information is inverted. All contexts do not need to be updated. The process ends.

【0429】テールオン情報の4ビットの値が3のケー
スにおいては、カレント係数の絶対値ビットのカレント
・ビットプレーンのビットは、当該ケース用の一定のコ
ンテキストを用いて符号化される。テールオン情報の第
4ビットが反転される。カレント係数の東と子のコンテ
キストが更新される。プロセスは終了する。
In the case where the 4-bit value of the tail-on information is 3, the bits of the current bit plane of the absolute value bits of the current coefficient are encoded using a certain context for the case. The fourth bit of the tail-on information is inverted. The east of the current coefficient and the child context are updated. The process ends.

【0430】テールオン情報の4ビットの値が15のケ
ースにおいては、カレント係数の絶対値ビットのカレン
ト・ビットプレーンのビットは、当該ケースのための一
定のコンテキストを使って符号化される。テールオン情
報のどのビットも反転不要である。プロセスは終了す
る。
In the case where the 4-bit value of the tail-on information is 15, the bits of the current bit plane of the absolute value bits of the current coefficient are encoded using a certain context for the case. None of the bits of the tail-on information need be inverted. The process ends.

【0431】図48は本発明の係数の例を示す。図48
において、係数2801は、符号ビット2802と、そ
れに続くテールネオン情報ビット2803、それに続く
コンテキストビット2804、それに続く係数絶対値ビ
ット2805とからなる。前述のプロセスが図49のフ
ローチャートに示されている。
FIG. 48 shows an example of coefficients according to the present invention. FIG.
, The coefficient 2801 is composed of a sign bit 2802, a tail neon information bit 2803 that follows, a context bit 2804 that follows, and a coefficient absolute value bit 2805 that follows. The foregoing process is illustrated in the flowchart of FIG.

【0432】変化が生じた時に全コンテキストを更新す
る当該手法を使うことにより、ヘッドビットが圧倒的に
0である限り、コンテキスト・モデリングが高速に働
く。特に損失性符号化の場合にそうである。
By using this approach to update all contexts when a change occurs, context modeling works faster as long as the head bits are overwhelmingly zero. This is especially true for lossy coding.

【0433】可逆ウェーブレット係数のハフマン符号化 本発明は、一実施例において、ハフマン符号化を使って
ウェーブレット係数を符号化する。ハフマン符号化のた
めのアルファベットは2つの部分からなる。第1の部分
は0係数のランの長さに等しく、第2の部分は0でない
ターミネータ(terminator)係数のハッシュ値である。
図53にアルファベット・フォーマットを示すが、これ
は0係数の数、換言すれば、そのランの長さを示す4ビ
ットと、それに続く0から15までのハッシュ値を表す
4ビットとからなる。
Huffman Coding of Lossless Wavelet Coefficients In one embodiment, the invention encodes wavelet coefficients using Huffman coding. The alphabet for Huffman coding consists of two parts. The first part is equal to the length of the zero coefficient run, and the second part is the hash value of the non-zero terminator coefficient.
FIG. 53 shows the alphabet format, which consists of the number of 0 coefficients, in other words, 4 bits indicating the length of the run, and 4 bits indicating the hash value from 0 to 15 that follows.

【0434】このハッシュ値は値Nであり、このNは0
でないターミネータ係数の絶対値の、2を底とする対数
の整数部分である。一実施例では、このハッシュ値は値
Nを表すのに必要なビット数である。例えば、N=−
1,1の場合、ハッシュ値は1である。他方、N=−
3,−2,2,3の場合、値Nを表すのに必要なビット
数は2である。同様の対応はJPEGに用いられてい
る。
The hash value is a value N, where N is 0
Is the integer part of the log base 2 of the absolute value of the non-terminator coefficient. In one embodiment, this hash value is the number of bits required to represent the value N. For example, N =-
In the case of 1,1, the hash value is 1. On the other hand, N =-
In the case of 3, -2, 2, and 3, the number of bits required to represent the value N is two. A similar correspondence is used for JPEG.

【0435】このようなシチュエーションでは、許容さ
れる0係数のランの最大長は15である。ランが15を
超えるときには、0が16個のランの後に新たなランが
続くことを表すため特殊なトークンが使われるであろ
う。このような例外トークンの一つは、最初の4ビット
と最後の4ビットの両方とも全部0である。一実施例で
は、2番目の4ビットが0の16個のトークンが全部、
例外ケースのために用いられる。したがって、256個
の8ビットのハフマン・トークンがある。
In such a situation, the maximum allowed length of a zero coefficient run is fifteen. When the run exceeds 15, a special token will be used to indicate that 0 is followed by 16 runs and a new run. In one such exception token, both the first four bits and the last four bits are all zeros. In one embodiment, all 16 tokens with the second 4 bits set to 0 are:
Used for exception cases. Thus, there are 256 8-bit Huffman tokens.

【0436】一実施例では、ハフマン・トークンに関す
るテーブルが作られる。一実施例では、そのテーブルが
全ての画像に対して用いられる。別の実施例では、多く
のテーブルが作成され、量子化に応じて1つの特定のテ
ーブルが選ばれる。各テーブルは、量子化しようとする
ビット数に基づいて選択される。すなわち、量子化する
ビット数が1ビット、2ビット、3ビット等々であるか
によって、テーブルがそれぞれ選択されるわけである。
別の実施例では、ハフマン符号は特定画像向けのもので
あり、画像と一緒に記憶/伝送される。
In one embodiment, a table is created for Huffman tokens. In one embodiment, the table is used for all images. In another embodiment, many tables are created and one particular table is chosen depending on the quantization. Each table is selected based on the number of bits to be quantized. That is, the table is selected depending on whether the number of bits to be quantized is 1 bit, 2 bits, 3 bits, or the like.
In another embodiment, the Huffman code is image specific and is stored / transmitted with the image.

【0437】テーブルを利用するために、一つのハフマ
ン・トークンが生成される。そして、このトークンが、
それが符号化されるテーブルに送られる。
To use the table, one Huffman token is generated. And this token is
It is sent to the table to be encoded.

【0438】ハフマン・トークンは0のランの長さ及び
非0のターミネータ・シンボルのハッシュ値を特定する
が、ターミネータ・シンボルを一意的に特定するために
割増のビットが必要になる。本発明の一実施例は、これ
ら割増ビットを用意する。ハフマン・トークンが(例え
ばテーブル等から得られる)ハフマン符号語で置き換え
られた後、ターミネータ・シンボルのハッシュ値に等し
い割増ビットが書かれる。例えば、−1,1のケースで
は割増の1ビットが書かれるが、−3,−2,2,3の
ケースにおいては割増の2ビットが書かれる。このよう
に、本発明は、ターミネータ・シンボルを一意的に特定
する、割増ビットによってサイズが可変のハフマン符号
化を提供する。
A Huffman token specifies a run length of 0 and a hash value of a non-zero terminator symbol, but requires extra bits to uniquely identify the terminator symbol. One embodiment of the present invention provides these extra bits. After the Huffman token has been replaced with a Huffman codeword (e.g., obtained from a table or the like), an extra bit equal to the hash value of the terminator symbol is written. For example, in the case of -1, 1 extra 1 bit is written, but in the case of -3, -2, 2, 3 extra 2 bits are written. Thus, the present invention provides Huffman coding that is variable in size with extra bits that uniquely identifies the terminator symbol.

【0439】なお、他のm元コーダを用いてもよい。例
えば、あるアルファベットとm元符号を0係数のために
用い、別のアルファベットとm元符号をハッシュ値のた
めに用いてもよい。
Note that another m-ary coder may be used. For example, one alphabet and the m-ary code may be used for the 0 coefficient and another alphabet and the m-ary code may be used for the hash value.

【0440】一実施例では、量子化レベル毎のハフマン
・テーブルのセットが予め計算され、殆どの画像に対し
て利用される。様々なテーブル間で選択するために、あ
るテーブルを使用中に圧縮がモニタされるであろう。そ
のテーブルを使用した結果に基づいて、スキューがもっ
と大きい又は小さいテーブルへの切り替えが行われるで
あろう。
In one embodiment, a set of Huffman tables for each quantization level is pre-computed and used for most images. Compression will be monitored while using one table to select between the various tables. Based on the results of using that table, a switch to a table with more or less skew will be made.

【0441】本発明の係数はすべて、あるバッファに入
れられる。各バッファ毎に、どのテーブルを使用すべき
かの決定がなされるであろう。8つのハフマン・テーブ
ルのどれを利用すべきか指示するため、3ビットと1つ
のヘッダが用いられるかもしれない。しかして、そのヘ
ッダを知らせることによって、テーブル選択がなされる
であろう。
All of the coefficients of the present invention are placed in a buffer. For each buffer, a decision will be made as to which table to use. Three bits and one header may be used to indicate which of the eight Huffman tables to use. Thus, by informing the header, a table selection will be made.

【0442】係数が符号化される順序は重要である。従
来技術の係数符号化では、例えばJPEGでは、係数は
ジグザグ順に圧縮されることに注意されたい。本発明に
おいては、係数全部があるバッファ内にあるので、ジグ
ザグ順にすることはできない。ジグザグ順は、低い周波
数から高い周波数への順序と理解されるなら、埋め込み
ウェーブレットによる圧縮(ツリー順)に拡張すること
ができる。
The order in which the coefficients are encoded is important. Note that in prior art coefficient coding, for example in JPEG, the coefficients are compressed in zigzag order. In the present invention, the coefficients cannot be placed in zigzag order because they are all in a buffer. If the zigzag order is understood as an order from low to high frequencies, it can be extended to compression (tree order) with embedded wavelets.

【0443】一実施例では、バッファ全体について直線
的な順序で係数が符号化される。そのような例を図54
に示す。なお、この実施例において、平滑係数の最初の
ブロックは除外されることに注意されたい。
In one embodiment, the coefficients are encoded in a linear order for the entire buffer. FIG. 54 shows such an example.
Shown in Note that in this embodiment, the first block of smoothing coefficients is excluded.

【0444】別の実施例では、すべてのブロックは、低
い周波数のブロックより高い周波数のブロックへと、ラ
スター順に符号化される。そのような例を図54(B)
に示す。メモリの制約のため、1つの周波数パスの全部
は、別の周波数パスが始まる前に完了しないかもしれな
い。メモリによって制限される場合、もう一つの方法は
1つのツリーを一度に符号化する方法である。ルートか
ら初めて、すべてのツリーが横方向に符号化される。た
だし、平滑係数であるところのルートは含めない。この
方法が図54(C)に示されている。図54(C)には
最初のツリーが示されており、最初のサブブロックのセ
ットより1ラインが取られ、その次のサブブロックのセ
ットより2ラインが取られ、その次のサブブロックのセ
ットより4ラインが取られる。これらラインは他のライ
ンが利用可能になる以前に利用可能であるため、このよ
うな実施例が可能である。
In another embodiment, all blocks are encoded in raster order into higher frequency blocks than lower frequency blocks. Such an example is shown in FIG.
Shown in Due to memory constraints, all of one frequency path may not be completed before another frequency path begins. If limited by memory, another method is to encode one tree at a time. Starting from the root, all trees are coded horizontally. However, a route that is a smoothing coefficient is not included. This method is shown in FIG. FIG. 54 (C) shows the first tree, where one line is taken from the first set of sub-blocks, two lines are taken from the next set of sub-blocks, and the next set of sub-blocks is taken. More four lines are taken. Such an embodiment is possible because these lines are available before other lines become available.

【0445】残りのツリーが0係数からなることを示す
ため、例外トークンを保存してもよい。これは、16個
の0を示す同じトークンが何度も何度も使用されないよ
うにする。
An exception token may be stored to indicate that the rest of the tree consists of zero coefficients. This ensures that the same token representing 16 zeros is not used again and again.

【0446】一実施例では、全ての重要性レベルがハフ
マン符号化によって符号化される。別の実施例では、複
数の重要性レベルからなる1又は複数のグループがハフ
マン符号化によって符号化される。別々のグループ毎に
全ての重要性レベルをハフマン符号化により符号化して
もよいし、あるいは、一部の重要性レベルをハフマン符
号化で符号化し、残りの重要性レベルを水平コンテキス
トモデルとバイナリ・エントロピー・コーダにより符号
化してもよい。
In one embodiment, all importance levels are encoded by Huffman coding. In another embodiment, one or more groups of importance levels are encoded by Huffman coding. All importance levels may be encoded by Huffman coding for each separate group, or some importance levels may be encoded by Huffman coding, and the remaining importance levels may be encoded by horizontal context models and binary coding. It may be encoded by an entropy coder.

【0447】重要性レベルの1グループのハフマン符号
化による符号化は、以下のように行われる。そのグルー
プ内の重要性レベルの係数のビットが全てヘッドビット
のときには、その係数は0係数として(多分、ラン・カ
ウントの一部として)ハフマン符号化される。その係数
のビットが全てテールビットならば、それらビットは
(多分、ランを終結させる)割増ビットとして符号化さ
れる。ハフマン符号語は使われない。その係数のビット
が(ヘッドビット又はテールビットのほかに)に符号(s
ign)ビットを含んでいるときには、(多分、ランを終結
させる)ハフマン符号語と割増ビットの両方が符号化さ
れる。
The encoding by Huffman encoding for one group of importance levels is performed as follows. If the significance level coefficient bits in the group are all head bits, the coefficient is Huffman coded as a 0 coefficient (perhaps as part of a run count). If the bits of the coefficient are all tail bits, then those bits are encoded as extra bits (probably terminating the run). No Huffman codeword is used. The bits of the coefficient are signed (in addition to the head or tail bits)
When ign) bits are included, both the Huffman codeword (possibly terminating the run) and the extra bits are encoded.

【0448】複数の重要性レベルをハフマン符号化すれ
ば、実行コストは減少する。しかし、ハフマン符号化デ
ータの中途での打ち切りは、レート・歪みの悪化を招
く。重要性レベルのグループをハフマン符号化すれば、
レート・歪みが良好になるようグループの始まり/終わ
りでの打ち切りが可能になる。用途によっては、限定数
の必要とされる量子化点が符号化時に分かっている。量
子化点のない重要性レベルは、それに続くレベルと一緒
にしてハフマン符号化することができる。
[0448] Huffman coding of multiple importance levels reduces execution costs. However, discontinuation of Huffman coded data in the middle causes deterioration of rate and distortion. Huffman coding of groups of importance levels gives
Censoring at the beginning / end of the group is possible so that the rate and distortion are good. In some applications, a limited number of required quantization points are known at the time of encoding. Importance levels without quantization points can be Huffman coded together with subsequent levels.

【0449】用途 本発明は多くの用途に利用できる。そのような用途のい
くつかを例として以下に述べる。具体的には、解像度が
高く画素深度が大きいハンエンドの用途及びアーティフ
ァクト(artifact)を許容しない用途に、本発明を利用で
きる。本発明によれば、ハイエンドの用途は高品質環境
で最高品質を維持でき、同時に、帯域幅、データ記憶又
は表示機能がさらに制限される用途でも同じ圧縮データ
を利用可能である。これはまさに、ウエブ・ブラウザの
ような近頃の画像応用分野に一般に要求される装置独立
な表現である。
Applications The present invention can be used for many applications. Some of such applications are described below by way of example. Specifically, the present invention can be used for high-end applications with high resolution and large pixel depth and applications that do not tolerate artifacts. In accordance with the present invention, high-end applications can maintain the highest quality in a high-quality environment, while at the same time utilizing the same compressed data in applications where bandwidth, data storage or display capabilities are further limited. This is exactly the device independent representation commonly required in modern imaging applications such as web browsers.

【0450】画素深度の深い画像(10ビット〜16ビ
ット/画素)に対する本発明の優れた非損失圧縮性能
は、医用画像のために理想的である。非損失性圧縮のみ
ならず、本発明は、ブロックベース圧縮装置に知られて
いる多くのアーティファクトのない真の損失性圧縮装置
である。本発明を利用することに由来する損失性アーテ
ィファクトは、急峻なエッジに沿う傾向があるので、人
間の視覚系の視覚マスキング現象によって見えないこと
が多い。
The excellent lossless compression performance of the present invention for images with deep pixel depth (10 bits to 16 bits / pixel) is ideal for medical images. In addition to lossless compression, the present invention is a true lossless compressor without the many artifacts known in block-based compressors. The lossy artifacts resulting from utilizing the present invention tend to be along sharp edges and are often invisible due to the visual masking phenomenon of the human visual system.

【0451】本発明は、画像が非常に高解像度で高い画
素深度を持つことの多いプリプレス(pre-press)業に関
連した用途に利用できる。本発明のピラミッド分解によ
れば、プリプレス・オペレータが(モニタ上の)画像の
低解像度損失性バージョンに対し画像処理操作を行うの
が容易である。操作が終わったならば、同じ操作を非損
失性バージョンに対して実行できる。
The present invention can be used in applications related to the pre-press industry where images often have very high resolution and high pixel depth. The pyramid decomposition of the present invention facilitates a prepress operator performing image processing operations on a low resolution lossy version of an image (on a monitor). Once the operation is over, the same operation can be performed on the non-lossy version.

【0452】本発明は、圧縮しないと送信に要する時間
があまりに長くなりやすいファクシミリ文書の用途にも
適用可能である。本発明によれば、様々な空間解像度及
び画素解像度のファクス装置より、非常に高品位の画像
出力が可能になる。
The present invention is also applicable to facsimile document applications in which the time required for transmission is likely to be too long without compression. According to the present invention, a very high-quality image can be output from a facsimile apparatus having various spatial resolutions and pixel resolutions.

【0453】本発明は、圧縮を必要とする画像アーカイ
ブシステムに、特に記憶容量を増加させるために、利用
することもできる。本発明の装置独立な出力は、帯域幅
が異なる資源、メモリ及びディスプレイを持つシステム
により画像アーカイブシステムをアクセスでき、有益で
ある。本発明のプログレッシブ伝送機能は、ブラウジン
グのためにも有益である。最後に、画像アーカイブシス
テムの出力装置用に望ましい非損失性圧縮が本発明によ
り提供される。
The present invention can also be used in image archiving systems that require compression, especially to increase storage capacity. The device-independent output of the present invention advantageously allows an image archiving system to be accessed by systems with different bandwidth resources, memories and displays. The progressive transmission feature of the present invention is also beneficial for browsing. Finally, the present invention provides a desirable lossless compression for an output device of an image archiving system.

【0454】本発明の非損失性又は高品質損失性データ
ストリームの階層プログレッシブ性により、本発明はワ
ールド・ワイド・ウェブ用に、特に装置独立性、プログ
レッシブ伝送及び高品質が必須な場合に理想的である。
The hierarchical progressive nature of the lossless or high quality lossy data stream of the present invention makes the present invention ideal for the World Wide Web, especially where device independence, progressive transmission and high quality are essential. It is.

【0455】本発明は、衛星画像、特に高画素深度及び
高解像度になる傾向のある衛星画像にも適用できる。さ
らに、衛星画像の用途は通信路の帯域幅が制限される。
本発明はフレキシビリティがあり、またプログレッシブ
伝送特性があるので、本発明を利用すれば人間による画
像のブラウジング又はプレビューが可能になろう。
The present invention is also applicable to satellite images, especially satellite images that tend to have high pixel depth and high resolution. Further, the use of satellite images limits the bandwidth of the communication path.
Because the present invention is flexible and has progressive transmission characteristics, the present invention will allow humans to browse or preview images.

【0456】ATMネットワークのような”固定レー
ト”で帯域幅が制限される用途は、データが利用可能な
帯域幅をオーバーフローしたときにデータを減少させる
手段を必要とする。しかしながら、十分な帯域幅がある
ときには(あるいはデータが高度に圧縮可能なときに
は)、品質上の不利益があってはならない。同様に、コ
ンピュータや他の画像装置におけるメモリが制限された
フレーム記憶装置のような”固定サイズ”の用途も、メ
モリが満杯になったときにデータを減少させる手段を必
要とする。繰り返すが、適当なメモリ量に非損失圧縮す
ることが可能な画像に対して不利益があってはならな
い。
Applications where bandwidth is limited at a "fixed rate", such as ATM networks, require a means to reduce data when data overflows the available bandwidth. However, when there is sufficient bandwidth (or when the data is highly compressible), there should be no quality penalty. Similarly, "fixed-size" applications, such as memory-limited frame stores in computers and other imaging devices, also require a means to reduce data when memory is full. Again, there should be no penalty for images that can be losslessly compressed to a reasonable amount of memory.

【0457】本発明の埋め込み符号ストリームは、これ
ら両方の用途にかなう。埋め込み操作は、損失性画像の
伝送又は記憶のために符号ストリームが切り捨てもしく
は打ち切りされることを無条件に許す。切りつめもしく
は打ち切りが必要でなければ、画像は非損失で届く。
The embedded code stream of the present invention serves both of these uses. The embedding operation unconditionally allows the codestream to be truncated or truncated for transmission or storage of the lossy image. If no truncation or truncation is needed, the image arrives lossless.

【0458】要するに、本発明は、単一連続階調画像圧
縮システムを提供する。本発明のシステムは、同じ符号
ストリームに対して非損失性かつ損失性であり、埋め込
みの量子化(符号ストリームに含まれる)を利用する。
本発明のシステムはまた、ピラミッド型であり、プログ
レッシブであり、補間手段を提供し、かつ、実施が容易
である。したがって、本発明はフレキシブルな”装置独
立の”圧縮システムを提供する。
In sum, the present invention provides a single continuous tone image compression system. The system of the present invention is lossless and lossy for the same code stream and utilizes embedded quantization (included in the code stream).
The system of the present invention is also pyramidal, progressive, provides interpolation means, and is easy to implement. Thus, the present invention provides a flexible "device independent" compression system.

【0459】統合型の損失性及び非損失性圧縮システム
は非常に有用である。同じシステムで最新の損失性及び
非損失性圧縮を実行でき、その上、同じ符号ストリーム
である。このシステムは、画像の非損失性符号を保存す
るか打ち切って損失性バージョンにするかを、符号化
中、符号ストリームの格納又は伝送中あるいは復号化中
に決定することができる。
An integrated lossy and lossless compression system is very useful. State-of-the-art lossy and lossless compression can be performed on the same system, plus the same codestream. The system can determine whether to preserve or abort the lossless code of the image into a lossy version during encoding, during storage or transmission of the codestream, or during decoding.

【0460】本発明により提供される損失性圧縮は、埋
め込み量子化によって達成される。すなわち、符号スト
リームは量子化を含んでいる。実際の量子化(又は視覚
的重要性)レベルは、復号化器又は通信路との相関点要
素であることもあり、必ずしも符号化器との相関的要素
ではない。バンド幅、記憶及びディスプレイ資源が許す
なら、画像は非損失で復元される。そうでないならば、
画像は最も制約された資源に要求されるだけ量子化され
る。
The lossy compression provided by the present invention is achieved by embedded quantization. That is, the code stream includes quantization. The actual quantization (or visual significance) level may be a correlation point factor with the decoder or channel, and not necessarily with the encoder. If bandwidth, storage and display resources allow, the image is restored losslessly. If not,
The image is quantized as required for the most constrained resources.

【0461】本発明に用いられるウエーブレットはピラ
ミッド型であり、差分画像のない、画像の1/2分解が
実行される。これは非常に特殊な階層分解である。画像
のブラウジングのため又は低解像度装置による表示のた
めに縮小画像(thumbnails)を必要とする用途に、本発明
のピラミッド性は理想的である。
The wavelet used in the present invention is of a pyramid type, and performs 1 / decomposition of an image without a difference image. This is a very special hierarchical decomposition. The pyramidality of the present invention is ideal for applications requiring thumbnails for image browsing or display on low resolution devices.

【0462】本発明における埋め込みの使い方はプログ
レッシブであり、より具体的にはビットプレーン順であ
る、すなわちMSBの後に下位ビットが続く順である。
具体的には本発明はウエーブレット領域においてプログ
レッシブであるが、空間領域及びウエーブレット領域の
両方ともプログレッシブに分解してもよい。プリンタの
ような、空間解像度はあるが画素解像度は低い用途にと
って、本発明におけるビットのプログレッシブな順序づ
けは理想的である。これらの特徴を同一符号ストリーム
で得られる。
The usage of embedding in the present invention is progressive, more specifically, in the order of bit planes, ie, in the order of MSB followed by lower bits.
Specifically, the present invention is progressive in the wavelet domain, but both the spatial domain and the wavelet domain may be progressively decomposed. For applications with spatial resolution but low pixel resolution, such as printers, the progressive ordering of the bits in the present invention is ideal. These features are obtained in the same code stream.

【0463】本発明は、ソフトウエアでもハードウエア
でも比較的容易に実施できる。ウエーブレット変換は、
ハイパス、ローパスの各係数ペアにつき4つの加算/減
算操作と、いくつかのシフトだけで計算することができ
る。埋め込み及び符号化は、単純な”コンテキストモデ
ル”とバイナリ又はm元”エントロピー・コーダ”によ
って実行される。このエントロピー・コーダは、有限状
態マシン、並列コーダ又はハフマン・コーダによって実
現できる。
The present invention can be implemented relatively easily by software or hardware. Wavelet transformation is
It can be calculated with only four addition / subtraction operations for each high-pass and low-pass coefficient pair and only a few shifts. The embedding and encoding is performed by a simple "context model" and a binary or m-ary "entropy coder". This entropy coder can be implemented by a finite state machine, a parallel coder or a Huffman coder.

【0464】[0464]

【発明の効果】以上の説明から明らかな如く、本発明の
データ圧縮システムによれば、良好なエネルギー集中を
もたらす変換を利用し画像データ等の効率的な損失性又
は非損失性の圧縮が可能であり、また、自然連続階調の
画像、2値/ノイズフリー/浅画素深度の画像、及び、
その両方の種類のデータを含む画像を同じシステムで適
切に処理することができ、さらに、様々な解像度/品質
の画像フォーマットを柔軟にサポートすることができ、
またさらに、パーサは符号データを伸長することなく、
画像出力装置の特性に応じて符号データストリームの適
切な量子化を行うことができる等々の効果を有するもの
である。
As is apparent from the above description, according to the data compression system of the present invention, efficient lossy or non-lossy compression of image data and the like can be performed by using a conversion that provides good energy concentration. And a natural continuous tone image, a binary / noise-free / shallow pixel depth image, and
Images containing both types of data can be properly processed by the same system, and it can flexibly support image formats of various resolutions / quality,
Furthermore, the parser does not decompress the code data,
This has effects such as appropriate quantization of the code data stream according to the characteristics of the image output device.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の圧縮システムの一実施例のブロック図
である。
FIG. 1 is a block diagram of a compression system according to an embodiment of the present invention.

【図2】バイナリ方式における各ビットプレーンの各ビ
ットに対するコンテキストモデルの可能な幾何学的関係
の一例を示す図である。
FIG. 2 illustrates an example of a possible geometric relationship of a context model for each bit of each bit plane in a binary scheme.

【図3】バイナリ方式における各ビットプレーンの各ビ
ットに対するコンテキストモデルの可能な幾何学的関係
の一例を示す図である。
FIG. 3 is a diagram illustrating an example of a possible geometric relationship of a context model for each bit of each bit plane in a binary scheme.

【図4】第1レベルの分解を示す図である。FIG. 4 illustrates a first level decomposition.

【図5】第2レベルの分解を示す図である。FIG. 5 illustrates a second level decomposition.

【図6】第3レベルの分解を示す図である。FIG. 6 illustrates a third level of decomposition.

【図7】第4レベルの分解を示す図である。FIG. 7 illustrates a fourth level decomposition.

【図8】前後2レベル間の親子関係を示す。FIG. 8 shows a parent-child relationship between two levels before and after.

【図9】TT変換だけを利用するウエーブレット分解過
程の一例を示す図である。
FIG. 9 is a diagram showing an example of a wavelet decomposition process using only the TT transform.

【図10】TT変換とS変換を利用するウエーブレット
分解過程の一例を示す図である。
FIG. 10 is a diagram showing an example of a wavelet decomposition process using a TT transform and an S transform.

【図11】画像のタイリングの説明図である。FIG. 11 is an explanatory diagram of tiling of an image.

【図12】ビット・シグニフィカンス表現の例を示す図
である。
FIG. 12 is a diagram illustrating an example of a bit significance expression.

【図13】本発明における係数サイズを示す図である。FIG. 13 is a diagram showing a coefficient size in the present invention.

【図14】本発明における係数アラインメントのために
使われる周波数帯域用乗数の例を示す図である。
FIG. 14 is a diagram showing an example of a frequency band multiplier used for coefficient alignment in the present invention.

【図15】符号ストリームの構成の一例を示す図であ
る。
FIG. 15 is a diagram illustrating an example of a configuration of a code stream.

【図16】係数(又は画素)間の隣接関係を示す図であ
る。
FIG. 16 is a diagram showing an adjacency relationship between coefficients (or pixels).

【図17】テール・ビット処理プロセスのフローチャー
トである。
FIG. 17 is a flowchart of a tail bit processing process.

【図18】本発明の符号化プロセスの一例のフローチャ
ートである。
FIG. 18 is a flowchart of an example of the encoding process of the present invention.

【図19】本発明の復号化プロセスの一例のフローチャ
ートである。
FIG. 19 is a flowchart of an example of the decoding process of the present invention.

【図20】本発明のモデリング・プロセスのフローチャ
ートである。
FIG. 20 is a flowchart of the modeling process of the present invention.

【図21】モデリング・プロセスに利用可能なテンプレ
ートを示す図である。
FIG. 21 illustrates templates available for the modeling process.

【図22】TT変換フィルタの一部分の一例を示すブロ
ック図である。
FIG. 22 is a block diagram illustrating an example of a part of a TT conversion filter.

【図23】本発明のスクロール・バッファの説明図であ
る。
FIG. 23 is an explanatory diagram of a scroll buffer according to the present invention.

【図24】本発明に採用されるメモリ操作の説明図であ
る。
FIG. 24 is an explanatory diagram of a memory operation employed in the present invention.

【図25】3レベル用メモリ・バッファの2次元表現を
示す図である。
FIG. 25 is a diagram showing a two-dimensional representation of a three-level memory buffer.

【図26】本発明の符号ストリームの一例を示す図であ
る。
FIG. 26 is a diagram illustrating an example of a code stream according to the present invention.

【図27】パーサを備えた圧縮システムのブロック図で
ある
FIG. 27 is a block diagram of a compression system with a parser.

【図28】図27の圧縮システムに対応する伸長システ
ムのブロック図である。
FIG. 28 is a block diagram of a decompression system corresponding to the compression system of FIG. 27.

【図29】コンテキスト従属関係を示す図である。FIG. 29 is a diagram showing a context dependency relationship.

【図30】画素深度及び空間解像度の面から定義された
用途を示す図である。
FIG. 30 is a diagram showing applications defined in terms of pixel depth and spatial resolution.

【図31】パーサ、復号化器及びそれらの出力装置との
相互作用の一例を示すブロック図である。
FIG. 31 is a block diagram illustrating an example of a parser, a decoder, and their interaction with an output device.

【図32】量子化選択装置の一例を示すブロック図であ
る。
FIG. 32 is a block diagram illustrating an example of a quantization selection device.

【図33】符号ストリーム中の区切りタグの配置を示す
図である。
FIG. 33 is a diagram illustrating an arrangement of delimiter tags in a code stream.

【図34】SIZタグの説明図である。FIG. 34 is an explanatory diagram of an SIZ tag.

【図35】CODタグの説明図である。FIG. 35 is an explanatory diagram of a COD tag.

【図36】ALGタグの説明図である。FIG. 36 is an explanatory diagram of an ALG tag.

【図37】TLMタグの説明図である。FIG. 37 is an explanatory diagram of a TLM tag.

【図38】TLTタグの説明図である。FIG. 38 is an explanatory diagram of a TLT tag.

【図39】CPTタグの説明図である。FIG. 39 is an explanatory diagram of a CPT tag.

【図40】IRSタグの説明図である。FIG. 40 is an explanatory diagram of an IRS tag.

【図41】VERタグの説明図である。FIG. 41 is an explanatory diagram of a VER tag.

【図42】BVIタグの説明図である。FIG. 42 is an explanatory diagram of a BVI tag.

【図43】ILLタグの説明図である。FIG. 43 is an explanatory diagram of an ILL tag.

【図44】RXYタグの説明図である。FIG. 44 is an explanatory diagram of an RXY tag.

【図45】CMTタグの説明図である。FIG. 45 is an explanatory diagram of a CMT tag.

【図46】QCSタグの説明図である。FIG. 46 is an explanatory diagram of a QCS tag.

【図47】損失性再構成のための典型的分布を示すグラ
フである。
FIG. 47 is a graph showing an exemplary distribution for lossy reconstruction.

【図48】典型的な係数を示す図である。FIG. 48 is a diagram showing typical coefficients.

【図49】テール情報解析プロセスのフローチャートで
ある。
FIG. 49 is a flowchart of a tail information analysis process.

【図50】MSEアラインメント法を説明するための図
である。
FIG. 50 is a diagram for explaining the MSE alignment method.

【図51】ピラミッド・アラインメント法を説明するた
めの図である。
FIG. 51 is a diagram for explaining a pyramid alignment method.

【図52】メモリ記憶係数とアラインメントの間の典型
的な関係を示す図である。
FIG. 52 illustrates a typical relationship between memory storage coefficients and alignment.

【図53】符号語の一例を示す図である。FIG. 53 is a diagram illustrating an example of a codeword.

【図54】ハフマン符号化法による係数の構文解析の方
法を説明するための図である。
[Fig. 54] Fig. 54 is a diagram for describing a method for syntax analysis of coefficients by the Huffman coding method.

【図55】ユニットバッファを用い第2レベルのウェー
ブレット分解を実行する場合の2Dメモリの中間形式を
示す図である。
FIG. 55 is a diagram illustrating an intermediate format of a 2D memory when performing second-level wavelet decomposition using a unit buffer.

【図56】ユニットバッファを用い第3レベルのウェー
ブレット分解を実行する場合の2Dメモリの中間型式を
示す図である。
FIG. 56 is a diagram showing an intermediate type of a 2D memory when performing a third-level wavelet decomposition using a unit buffer.

【符号の説明】[Explanation of symbols]

101 入力画像データ 102 可逆ウェーブレット変換ブロック 103 埋め込み順序付け量子化ブロック 104 グレイ(Gray)符号化ブロック 105 水平コンテキストモデル・ブロック 106 エントロピー・コーダ 110 方式選択機構 111 多成分処理機構 1001 ヘッダ 1002 符号化単位 1003 LL係数 1004 第1ビットプレーン 1005 第2ビットプレーン 1006 最終ビットプレーン 1501 乗算器 1502 加算器 1503 乗算器 1504 乗算器 1505 加算器 1601 ラインアクセスバッファ 1602 バッファ 1901 ヘッダ 1902 LL係数 1903 エントロピー符号化データ 2101 圧縮されていない原画像 2102 圧縮装置 2103 マーカ付き非損失性圧縮ビットストリーム 2104 パーサ 2106 通信路又は記憶装置 2107 伸長装置 2108 伸長画像 2401 マーカ付きの非損失性圧縮データ 2402 パーサ 2403 通信路 2404 伸長装置 2405 ディスプレイ・モジュール 2500 符号ストリーム 2501 量子化を含む伸長 2502 画像処理又は歪みモデル 2503 非損失性伸長 2504 画像処理又は歪みモデル 2505 MSE又はHVS差モデル 2506 アラインメント調整 2801 係数 2802 符号ビット 2803 テールオン情報 2804 コンテキストビット 2805 係数ビット Reference Signs List 101 input image data 102 lossless wavelet transform block 103 embedding ordered quantization block 104 Gray coding block 105 horizontal context model block 106 entropy coder 110 method selection mechanism 111 multi-component processing mechanism 1001 header 1002 coding unit 1003 LL Coefficient 1004 First bit plane 1005 Second bit plane 1006 Last bit plane 1501 Multiplier 1502 Adder 1503 Multiplier 1504 Multiplier 1505 Adder 1601 Line access buffer 1602 Buffer 1901 Header 1902 LL coefficient 1903 Entropy coded data 2101 Compressed No original image 2102 Compressor 2103 Lossless compressed bit stream with markers 2 04 Parser 2106 Channel or storage 2107 Decompressor 2108 Decompressed image 2401 Lossless compressed data with marker 2402 Parser 2403 Communication path 2404 Decompressor 2405 Display module 2500 Code stream 2501 Decompression including quantization 2502 Image processing or distortion model 2503 Lossless decompression 2504 Image processing or distortion model 2505 MSE or HVS difference model 2506 Alignment adjustment 2801 Coefficient 2802 Sign bit 2803 Tail-on information 2804 Context bit 2805 Coefficient bit

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成9年7月2日[Submission date] July 2, 1997

【手続補正1】[Procedure amendment 1]

【補正対象書類名】図面[Document name to be amended] Drawing

【補正対象項目名】全図[Correction target item name] All figures

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図1】 FIG.

【図2】 FIG. 2

【図3】 FIG. 3

【図11】 FIG. 11

【図12】 FIG.

【図16】 FIG. 16

【図41】 FIG. 41

【図4】 FIG. 4

【図5】 FIG. 5

【図6】 FIG. 6

【図13】 FIG. 13

【図21】 FIG. 21

【図22】 FIG.

【図35】 FIG. 35

【図38】 FIG. 38

【図7】 FIG. 7

【図8】 FIG. 8

【図9】 FIG. 9

【図14】 FIG. 14

【図28】 FIG. 28

【図29】 FIG. 29

【図10】 FIG. 10

【図15】 FIG.

【図24】 FIG. 24

【図26】 FIG. 26

【図30】 FIG.

【図36】 FIG. 36

【図37】 FIG. 37

【図39】 FIG. 39

【図40】 FIG. 40

【図42】 FIG. 42

【図43】 FIG. 43

【図44】 FIG. 44

【図17】 FIG.

【図18】 FIG.

【図19】 FIG.

【図23】 FIG. 23

【図45】 FIG. 45

【図46】 FIG. 46

【図20】 FIG.

【図27】 FIG. 27

【図53】 FIG. 53

【図25】 FIG. 25

【図31】 FIG. 31

【図33】 FIG. 33

【図32】 FIG. 32

【図34】 FIG. 34

【図47】 FIG. 47

【図48】 FIG. 48

【図49】 FIG. 49

【図50】 FIG. 50

【図51】 FIG. 51

【図54】 FIG. 54

【図52】 FIG. 52

【図55】 FIG. 55

【図56】 FIG. 56

───────────────────────────────────────────────────── フロントページの続き (72)発明者 アーマド ザンディ アメリカ合衆国 カリフォルニア州 94025 メンローパーク サンド ヒル ロード 2882 リコーコーポレーション内 (72)発明者 マーティン ボーリック アメリカ合衆国 カリフォルニア州 94025 メンローパーク サンド ヒル ロード 2882 リコーコーポレーション内 (72)発明者 マイケル ジェー ゴーミッシュ アメリカ合衆国 カリフォルニア州 94025 メンローパーク サンド ヒル ロード 2882 リコーコーポレーション内 ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Ahmed Zandy United States 94025 Menlo Park Sand Hill Road 2882 Ricoh Corporation, California (72) Inventor Martin Borrick United States 94025 Menlo Park Sand Hill Road 2882 Ricoh Corporation ( 72) Inventor Michael J. Gormish 94025 Menlo Park Sand Hill Road, California, USA 2882 Ricoh Corporation

Claims (43)

【特許請求の範囲】[Claims] 【請求項1】 可逆埋め込みウェーブレットにより画像
データを圧縮するウェーブレット方式のコーダ、 バイナリ符号化スキームにより画像データを圧縮するバ
イナリ方式のコーダ、及びウェーブレット方式又はバイ
ナリ方式を選択するために接続された選択制御部からな
るデータ圧縮システム。
1. A coder of a wavelet system for compressing image data by a reversible embedded wavelet, a coder of a binary system for compressing image data by a binary encoding scheme, and a selection control connected to select a wavelet system or a binary system. Data compression system consisting of parts.
【請求項2】 請求項1記載のデータ圧縮システムにお
いて、ウェーブレット方式のコーダは、可逆ウェーブレ
ット変換部、該可逆ウェーブレット変換部に接続された
埋め込み順序付け量子化器、及び、該埋め込み順序付け
量子化器に接続されたコンテキストモデルからなること
を特徴とするデータ圧縮システム。
2. The data compression system according to claim 1, wherein the wavelet type coder includes a reversible wavelet transform unit, an embedding ordering quantizer connected to the reversible wavelet transform unit, and an embedding ordering quantizer. A data compression system comprising a connected context model.
【請求項3】 請求項1記載のデータ圧縮システムにお
いて、ウェーブレット方式のコーダはエントロピー・コ
ーダをさらに含むことを特徴とするデータ圧縮システ
ム。
3. The data compression system according to claim 1, wherein the wavelet type coder further comprises an entropy coder.
【請求項4】 請求項1記載のデータ圧縮システムにお
いて、ウェーブレット方式はグレイ符号化を実行するこ
とを特徴とするデータ圧縮システム。
4. The data compression system according to claim 1, wherein the wavelet method performs Gray coding.
【請求項5】 請求項1記載のデータ圧縮システムにお
いて、ウェーブレット方式とバイナリ方式は一つの符号
化器を共有することを特徴とするデータ圧縮システム。
5. The data compression system according to claim 1, wherein the wavelet method and the binary method share one encoder.
【請求項6】 エントロピー・コーダをさらに含むこと
を特徴する請求項1記載のデータ圧縮システム。
6. The data compression system according to claim 1, further comprising an entropy coder.
【請求項7】 請求項6記載のデータ圧縮システムにお
いて、エントロピー・コーダは有限状態マシン・コーダ
からなることを特徴とするデータ圧縮システム。
7. The data compression system according to claim 6, wherein the entropy coder comprises a finite state machine coder.
【請求項8】 請求項7記載のデータ圧縮システムにお
いて、有限状態マシン・コーダはルックアップテーブル
からなることを特徴とするデータ圧縮システム。
8. The data compression system according to claim 7, wherein the finite state machine coder comprises a look-up table.
【請求項9】 請求項6記載のデータ圧縮システムにお
いて、エントロピー・コーダはQコーダからなることを
特徴とするデータ圧縮システム。
9. The data compression system according to claim 6, wherein the entropy coder comprises a Q coder.
【請求項10】 請求項6記載のデータ圧縮システムに
おいて、エントロピー・コーダはQMコーダからなるこ
とを特徴とするデータ圧縮システム。
10. The data compression system according to claim 6, wherein the entropy coder comprises a QM coder.
【請求項11】 請求項6記載のデータ圧縮システムに
おいて、エントロピー・コーダは並列コーダからなるこ
とを特徴とするデータ圧縮システム。
11. The data compression system according to claim 6, wherein the entropy coder comprises a parallel coder.
【請求項12】 可逆ウェーブレット変換部、 該可逆ウェーブレット変換部に接続された埋め込み順序
付け量子化器、 該埋め込み順序付け量子化器に接続されたコンテキスト
モデル、 埋め込みバイナリ方式符号化機構、及び該コンテキスト
モデル及び該埋め込みバイナリ方式符号化機構に接続さ
れたエントロピー・コーダを含み、該可逆ウェーブレッ
ト変換、該埋め込み順序付け量子化器及び該コンテキス
トモデルは可逆埋め込みウェーブレットにより画像デー
タを圧縮するように動作可能であり、該バイナリ方式符
号化機構はバイナリ符号化スキームにより画像データを
圧縮するように動作可能であり、さらに、 ウェーブレット方式又はバイナリ方式を選択するために
接続された選択制御部を含んでなるデータ圧縮システ
ム。
12. A reversible wavelet transform unit, an embedding ordering quantizer connected to the reversible wavelet transform unit, a context model connected to the embedding ordering quantizer, an embedding binary encoding mechanism, and the context model An entropy coder connected to the embedded binary encoding mechanism, wherein the reversible wavelet transform, the embedding ordered quantizer and the context model are operable to compress image data with the reversible embedded wavelet; A data compression system operable to compress image data according to a binary encoding scheme, the binary encoding mechanism further comprising a selection control unit connected to select a wavelet type or a binary type.
【請求項13】 請求項12記載のデータ圧縮システム
において、バイナリ方式はグレイ符号化を実行すること
を特徴とするデータ圧縮システム。
13. The data compression system according to claim 12, wherein the binary system performs Gray coding.
【請求項14】 請求項12記載のデータ圧縮システム
において、エントロピー・コーダは有限状態マシン・コ
ーダからなることを特徴とするデータ圧縮システム。
14. The data compression system according to claim 12, wherein the entropy coder comprises a finite state machine coder.
【請求項15】 請求項14記載のデータ圧縮システム
において、有限状態マシン・コーダはルックアップテー
ブルからなることを特徴とするデータ圧縮システム。
15. The data compression system according to claim 14, wherein the finite state machine coder comprises a look-up table.
【請求項16】 請求項12記載のデータ圧縮システム
において、エントロピー・コーダはQコーダからなるこ
とを特徴とするデータ圧縮システム。
16. The data compression system according to claim 12, wherein the entropy coder comprises a Q coder.
【請求項17】 請求項12記載のデータ圧縮システム
において、エントロピー・コーダはQMコーダからなる
ことを特徴とするデータ圧縮システム。
17. The data compression system according to claim 12, wherein the entropy coder comprises a QM coder.
【請求項18】 請求項12記載のデータ圧縮システム
において、エントロピー・コーダは並列コーダからなる
ことを特徴とするデータ圧縮システム。
18. The data compression system according to claim 12, wherein the entropy coder comprises a parallel coder.
【請求項19】 請求項17記載のデータ圧縮システム
において、フォワード変換は可逆ウェーブレットからな
ることを特徴とするデータ圧縮システム。
19. The data compression system according to claim 17, wherein the forward transform comprises a reversible wavelet.
【請求項20】 ヒストグラム圧縮機構、 該ヒストグラム圧縮機構に接続された可逆ウェーブレッ
ト変換部、 該可逆ウェーブレット変換部に接続された埋め込み順序
付け量子化器、 該埋め込み順序付け量子化器に接続されたコンテキスト
・モデリング機構、及び該コンテキスト・モデリング機
構に接続されたコーダからなるシステム。
20. A histogram compression mechanism, a reversible wavelet transform unit connected to the histogram compression mechanism, an embedding ordered quantizer connected to the reversible wavelet transform unit, and a context modeling connected to the embedding ordered quantizer. A system comprising a mechanism and a coder connected to the context modeling mechanism.
【請求項21】 請求項20記載のシステムにおいて、
ヒストグラム圧縮機構はブーリアンヒストグラムを作る
ことを特徴とするデータ圧縮システム。
21. The system according to claim 20, wherein
A data compression system wherein the histogram compression mechanism creates a boolean histogram.
【請求項22】 請求項20記載のデータ圧縮システム
において、ヒストグラム圧縮機構は整数値を画像データ
中の全ての可能な画素値に写像することを特徴とするデ
ータ圧縮システム。
22. The data compression system according to claim 20, wherein the histogram compression mechanism maps an integer value to all possible pixel values in the image data.
【請求項23】 ヒストグラム圧縮機構で利用されたマ
ッピングを復号化器に通知するために接続された通知機
構をさらに含むことを特徴する請求項20記載のデータ
圧縮システム。
23. The data compression system of claim 20, further comprising a notification mechanism connected to notify a decoder of a mapping used in the histogram compression mechanism.
【請求項24】 請求項23記載のデータ圧縮システム
において、マッピングは復号化器に受け取られた圧縮デ
ータに含まれるヘッダで通知されることを特徴とするデ
ータ圧縮システム。
24. The data compression system according to claim 23, wherein the mapping is notified by a header included in the compressed data received by the decoder.
【請求項25】 請求項23記載のデータ圧縮システム
において、ヘッダ中の1つのビットが、それがセットさ
れたときに、カレント・タイルのために別のヒストグラ
ムが利用されることを復号化器に指示することを特徴と
するデータ圧縮システム。
25. The data compression system of claim 23, wherein one bit in the header, when set, tells the decoder that another histogram is used for the current tile. A data compression system characterized by indicating.
【請求項26】 請求項23記載のデータ圧縮システム
において、復号化器は、値のダイナミックレンジと等し
い、ある数のビットを送ることによって通知され、該あ
る数のビット中の各ビットはダイナミックレンジ内の対
応した値が使われるときにセットされることを特徴とす
るデータ圧縮システム。
26. The data compression system of claim 23, wherein the decoder is notified by sending a number of bits equal to the dynamic range of the value, wherein each bit in the number of bits is a dynamic range. A data compression system characterized in that it is set when the corresponding value in is used.
【請求項27】 少なくとも1つのマーカーを持つヘッ
ダを有する符号ストリームを格納するメモリ、 少なくとも1つの出力装置、 該メモリに接続され、かつ、該少なくとも1つの出力装
置より装置特性を受け取るように接続されたパーサから
なり、該パーサは装置依存の量子化を実行するように動
作可能であるデータ圧縮システム。
27. A memory for storing a code stream having a header with at least one marker, at least one output device, connected to the memory, and connected to receive device characteristics from the at least one output device. A data compression system comprising a parser, wherein the parser is operable to perform device-dependent quantization.
【請求項28】 請求項27記載のデータ圧縮システム
において、符号ストリームは非損失性圧縮データからな
ることを特徴とするデータ圧縮システム。
28. The data compression system according to claim 27, wherein the code stream comprises lossless compressed data.
【請求項29】 請求項27記載のデータ圧縮システム
において、少なくとも1つのマーカーは符号ストリーム
中の各タイルのために用いられた成分の数、サブサンプ
リング及びアラインメントを示すことを特徴とするデー
タ圧縮システム。
29. The data compression system of claim 27, wherein at least one marker indicates a number, subsampling, and alignment of components used for each tile in the codestream. .
【請求項30】 請求項27記載のデータ圧縮システム
において、符号ストリームは主ヘッダを含み、符号スト
リーム中の各タイルの前にローカルヘッダが置かれるこ
とを特徴とするデータ圧縮システム。
30. The data compression system according to claim 27, wherein the code stream includes a main header, and a local header precedes each tile in the code stream.
【請求項31】 請求項30記載のデータ圧縮システム
において、主ヘッダは符号ストリーム中の全てのタイル
に適用され、各ローカルヘッダは関連したタイルにのみ
適用されることを特徴とするデータ圧縮システム。
31. The data compression system of claim 30, wherein the main header applies to all tiles in the codestream, and each local header applies only to the associated tile.
【請求項32】 請求項31記載のデータ圧縮システム
において、ローカルヘッダ中の少なくとも1つは主ヘッ
ダに優先することを特徴とするデータ圧縮システム。
32. The data compression system according to claim 31, wherein at least one of the local headers has priority over the main header.
【請求項33】 請求項27記載のデータ圧縮システム
において、パーサは符号ストリーム中のマーカーを符号
ストリームを量子化するために利用することを特徴とす
るデータ圧縮システム。
33. The data compression system according to claim 27, wherein the parser uses a marker in the code stream to quantize the code stream.
【請求項34】 請求項33記載のデータ圧縮システム
において、マーカー中の少なくとも1つは周波数情報を
示すことを特徴とするデータ圧縮システム。
34. The data compression system according to claim 33, wherein at least one of the markers indicates frequency information.
【請求項35】 符号ストリームを生成するための圧縮
装置をさらに含むことを特徴とする請求項27記載のデ
ータ圧縮システム。
35. The data compression system according to claim 27, further comprising a compression device for generating a code stream.
【請求項36】 請求項27記載のデータ圧縮システム
において、パーサは量子化選択装置からなることを特徴
とするデータ圧縮システム。
36. The data compression system according to claim 27, wherein the parser comprises a quantization selection device.
【請求項37】 請求項36記載のデータ圧縮システム
において、量子化選択装置は画像の集合の変換及び量子
化を、様々な係数のビットプレーンを捨てることによっ
て行うことを特徴とするデータ圧縮システム。
37. The data compression system according to claim 36, wherein the quantization selection device performs transformation and quantization of the set of images by discarding bit planes of various coefficients.
【請求項38】 請求項27記載のデータ圧縮システム
において、タグの1つは各タイル中のデータ内の重要性
レベルを示すことを特徴とするデータ圧縮システム。
38. The data compression system of claim 27, wherein one of the tags indicates a level of importance in the data in each tile.
【請求項39】 請求項27記載のデータ圧縮システム
において、タグは重要性レベルロケータ信号を示し、該
信号に従って該パーサは打ち切りをすることを特徴とす
るデータ圧縮システム。
39. The data compression system according to claim 27, wherein the tag indicates a significance level locator signal, and the parser aborts according to the signal.
【請求項40】 請求項27記載のデータ圧縮システム
において、タグは保存すべき重要性レベルの数を示すこ
とを特徴とするデータ圧縮システム。
40. The data compression system of claim 27, wherein the tag indicates a number of importance levels to be stored.
【請求項41】 請求項27記載のデータ圧縮システム
において、タグは保存すべきバイトの数を示すことを特
徴とするデータ圧縮システム。
41. The data compression system according to claim 27, wherein the tag indicates the number of bytes to be stored.
【請求項42】 請求項27記載のデータ圧縮システム
において、タグは重要性レベルとバイト数を関連付ける
指示を各タイルに含むことを特徴とするデータ圧縮シス
テム。
42. The data compression system of claim 27, wherein the tag includes an indication in each tile that associates an importance level with a byte count.
【請求項43】 請求項33記載のデータ圧縮システム
において、少なくとも1つのマーカーは各タイル中の重
要性レベルのバイト数を示すことを特徴とするデータ圧
縮システム。
43. The data compression system of claim 33, wherein at least one marker indicates a number of bytes of a significance level in each tile.
JP10979097A 1996-05-03 1997-04-25 Data compression system Expired - Fee Related JP3989999B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/642518 1996-05-03
US08/642,518 US5881176A (en) 1994-09-21 1996-05-03 Compression and decompression with wavelet style and binary style including quantization by device-dependent parser

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005044810A Division JP2005218124A (en) 1996-05-03 2005-02-21 Data compression system

Publications (2)

Publication Number Publication Date
JPH1084484A true JPH1084484A (en) 1998-03-31
JP3989999B2 JP3989999B2 (en) 2007-10-10

Family

ID=24576918

Family Applications (2)

Application Number Title Priority Date Filing Date
JP10979097A Expired - Fee Related JP3989999B2 (en) 1996-05-03 1997-04-25 Data compression system
JP2005044810A Pending JP2005218124A (en) 1996-05-03 2005-02-21 Data compression system

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005044810A Pending JP2005218124A (en) 1996-05-03 2005-02-21 Data compression system

Country Status (1)

Country Link
JP (2) JP3989999B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002159009A (en) * 2000-09-01 2002-05-31 Canon Inc Method and device for entropy coding and deconding
US6792150B1 (en) 1999-11-02 2004-09-14 Ricoh Company, Ltd. Method, apparatus and computer program product for image data compression and decompression capable of high-speed processing
JP2005205746A (en) * 2004-01-23 2005-08-04 Fuji Xerox Co Ltd Image forming system, and its control device, method and program for controlling it
US7349579B2 (en) 2001-09-25 2008-03-25 Ricoh Company, Ltd. Image processing device, image processing method, and image reading method
US7751586B2 (en) 2004-09-29 2010-07-06 Ricoh Company, Ltd. Image processing apparatus, image processing method, and computer product
US8179548B2 (en) 2006-06-06 2012-05-15 Ricoh Company, Ltd. Apparatus and method for data processing
EP3435240A1 (en) * 2017-07-28 2019-01-30 Apple Inc. Systems and methods for performing memory compression
CN110750757A (en) * 2019-10-29 2020-02-04 哈尔滨工业大学 Image jitter amount calculation method based on gray scale linear modeling and pyramid decomposition
CN111049527A (en) * 2019-12-23 2020-04-21 云南大学 Image coding and decoding method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
WO2008126139A1 (en) * 2007-03-30 2008-10-23 Fujitsu Limited Image data compressor and decoder
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video
CN112188200A (en) * 2020-09-30 2021-01-05 深圳壹账通智能科技有限公司 Image processing method, device, equipment and storage medium

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792150B1 (en) 1999-11-02 2004-09-14 Ricoh Company, Ltd. Method, apparatus and computer program product for image data compression and decompression capable of high-speed processing
US7020341B2 (en) 1999-11-02 2006-03-28 Ricoh Company, Ltd. Method, apparatus and computer program product for image data compression and decompression capable of high-speed processing
JP2002159009A (en) * 2000-09-01 2002-05-31 Canon Inc Method and device for entropy coding and deconding
JP4721390B2 (en) * 2000-09-01 2011-07-13 キヤノン株式会社 Entropy encoding method
US7349579B2 (en) 2001-09-25 2008-03-25 Ricoh Company, Ltd. Image processing device, image processing method, and image reading method
JP2005205746A (en) * 2004-01-23 2005-08-04 Fuji Xerox Co Ltd Image forming system, and its control device, method and program for controlling it
JP4506180B2 (en) * 2004-01-23 2010-07-21 富士ゼロックス株式会社 Image forming system, control device therefor, control method, and control program
US7751586B2 (en) 2004-09-29 2010-07-06 Ricoh Company, Ltd. Image processing apparatus, image processing method, and computer product
US8179548B2 (en) 2006-06-06 2012-05-15 Ricoh Company, Ltd. Apparatus and method for data processing
EP3435240A1 (en) * 2017-07-28 2019-01-30 Apple Inc. Systems and methods for performing memory compression
CN109308192A (en) * 2017-07-28 2019-02-05 苹果公司 System and method for executing memory compression
US10331558B2 (en) 2017-07-28 2019-06-25 Apple Inc. Systems and methods for performing memory compression
EP3671471A1 (en) * 2017-07-28 2020-06-24 Apple Inc. Systems and methods for performing memory compression
US10769065B2 (en) 2017-07-28 2020-09-08 Apple Inc. Systems and methods for performing memory compression
CN109308192B (en) * 2017-07-28 2023-07-21 苹果公司 System and method for performing memory compression
CN110750757A (en) * 2019-10-29 2020-02-04 哈尔滨工业大学 Image jitter amount calculation method based on gray scale linear modeling and pyramid decomposition
CN110750757B (en) * 2019-10-29 2023-04-07 哈尔滨工业大学 Image jitter amount calculation method based on gray scale linear modeling and pyramid decomposition
CN111049527A (en) * 2019-12-23 2020-04-21 云南大学 Image coding and decoding method

Also Published As

Publication number Publication date
JP2005218124A (en) 2005-08-11
JP3989999B2 (en) 2007-10-10

Similar Documents

Publication Publication Date Title
US7634145B2 (en) Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5966465A (en) Compression/decompression using reversible embedded wavelets
US6757437B1 (en) Compression/decompression using reversible embedded wavelets
US7321695B2 (en) Encoder rate control
US7016545B1 (en) Reversible embedded wavelet system implementation
US6873734B1 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
JP3653183B2 (en) Wavelet coefficient reconstruction processing method and apparatus, and recording medium
US6195465B1 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US7492955B2 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
JP2005218124A (en) Data compression system
JP2007267384A (en) Compression apparatus and compression method
GB2313757A (en) Method using an embedded codestream
Ansari et al. Jpeg and jpeg2000
Mandal Digital image compression techniques
Lossless Compress System couple crowd lax lena man woman1 woman2

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050627

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050701

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070719

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees