JPH10304368A - Compression system/method, expansion system, forward converter, compressor, coding method, coder, integrated circuit, decoder, context modeling device, compression method, coding system and conversion coefficient processing method - Google Patents

Compression system/method, expansion system, forward converter, compressor, coding method, coder, integrated circuit, decoder, context modeling device, compression method, coding system and conversion coefficient processing method

Info

Publication number
JPH10304368A
JPH10304368A JP10118048A JP11804898A JPH10304368A JP H10304368 A JPH10304368 A JP H10304368A JP 10118048 A JP10118048 A JP 10118048A JP 11804898 A JP11804898 A JP 11804898A JP H10304368 A JPH10304368 A JP H10304368A
Authority
JP
Japan
Prior art keywords
data
bit
coefficients
encoding
coefficient
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
JP10118048A
Other languages
Japanese (ja)
Other versions
JP4148429B2 (en
Inventor
L Schwarz Edward
エル シュワルツ エドワード
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
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JPH10304368A publication Critical patent/JPH10304368A/en
Application granted granted Critical
Publication of JP4148429B2 publication Critical patent/JP4148429B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To attain high speed lossy/lossless compression. SOLUTION: Pixel data are supplied to a Wavelet transformation block 2803 via a pixel data I/F 2801 from a band buffer at the time of coding in an integrated circuit(IC) incorporating a printer compression/expansion function, and converted to reversible Wavelet, and highest importance data of a transformation coefficient are applied to a context model 2805 for coding. Lowest importance data of the transformation coefficient are stored in the band buffer via a coefficient data I/F 2804 and then read and given to the context model 2805, where the data are coded.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データ圧縮及び伸
長システムの分野に係り、特に、圧縮/伸長システムに
おけるロスレス及びロッシーのデータ符号化及び復号化
に関する。
The present invention relates to the field of data compression and decompression systems, and more particularly to lossless and lossy data encoding and decoding in compression / decompression systems.

【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 to reproduce an image, it 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 therefore 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. With lossless compression, all information is preserved, and data is compressed in a completely decompressible manner.

【0004】ロスレス圧縮では、入力シンボルもしくは
輝度データが出力符号語に変換される。入力としては、
画像データ、音声データ、1次元データ(例えば空間的
または時間的に変化するデータ)、2次元データ(例え
ば2つの空間軸方向に変化する(または1つの空間次元
と1つの時間次元で変化する)データ)、あるいは多次
元/マルチスペクトルのデータがあろう。圧縮がうまく
いけば、その符号語は、符号化前の入力シンボル(また
は輝度データ)のために必要とされたビット数より少な
いビット数で表現される。ロスレス符号化法には、辞書
符号化方式(例えば、Lempel-Ziv方式)、ランレングス
符号化方式、計数符号化方式、エントロピー符号化方式
がある。ロスレス画像圧縮では、圧縮は予測または文脈
と符号化に基づいている。ファクシミリ圧縮用JBIG
標準(ISO/IEC 11544)と、DPCM(差分パルス符号変
調−連続階調画像用のJPEG標準のオプション)は画
像用のロスレス圧縮の例である。ロッシー圧縮では、入
力シンボルまたは輝度データは、量子化され、しかるの
ちに出力符号語へ変換される。量子化の目的とするとこ
ろは、データの重要な特徴量を保存する一方で、重要で
ない特徴量を除去することである。ロッシー圧縮システ
ムは、量子化に先立ち、エネルギー集中をするための変
換を利用することが多い。JPEGは画像データ用のロ
ッシー符号化法の一例である。
[0004] In lossless compression, input symbols or luminance data are converted into 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. JBIG for facsimile compression
The standard (ISO / IEC 11544) and DPCM (Differential Pulse Code Modulation-an option of the JPEG standard 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. The goal of quantization is to preserve important features of the data while removing non-essential features. Lossy compression systems often use transforms to concentrate energy prior to quantization. JPEG is an example of a lossy encoding method for image data.

【0005】画像信号処理における近年の開発は、効率
的かつ高精度のデータ圧縮符号化方式の追求に関心を集
中してきた。変換またはピラミッド信号処理の様々な方
式が提案されており、その中に多重解像度ピラミッド処
理方式とウエーブレット・ピラミッド処理方式とがあ
る。これら2方式はサブバンド処理方式及び階層処理方
式とも呼ばれる。画像データのウエーブレット・ピラミ
ッド処理方式は、クァドレチャーミラーフィルタ(Quad
rature Mirror filter;QMF)を用いてオリジナル画
像のサブバンド分割をする特殊な多重解像度ピラミッド
処理方式である。なお、他の非QMFウエーブレット方
式もある。ウエーブレット処理方式に関し、これ以上の
情報を得るには、Antonini, M., et al.," Image Codin
g UsingWavelet Transform ",IEEE Transactions on Im
age Processing, Vol.1, No.2,April 1992、及び、Shap
iro,J., " An Embedded Hierarchical Image CoderUsin
g Zerotrees of Wavelet Coefficients", Proc. IEEE D
ata CompressionConference, pgs.214-223,1993 を参照
されたい。また、可逆変換に関する情報を得るには、Sa
id,A.and Pearlman,W., "Reversible Image Compressio
n viaMultiresolution Representation and Predictiv
e Coding", Dept.ofElectrical,Computer and System E
ngineering,Renssealaer PolytechnicInstitute,Troy,N
Y 1993 を参照されたい。
[0005] Recent developments in image signal processing have focused on the pursuit of an efficient and accurate data compression encoding scheme. Various schemes of conversion 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. Wavelet and pyramid processing of image data uses a quadrature mirror filter (Quadrature mirror filter).
This is a special multi-resolution pyramid processing method that divides an original image into sub-bands using a rature mirror filter (QMF). Note that there is another non-QMF wavelet system. For more information on wavelet processing, see Antonini, M., et al., "Image Codin
g UsingWavelet Transform ", IEEE Transactions on Im
age Processing, Vol.1, No.2, April 1992 and Shap
iro, J., "An Embedded Hierarchical Image CoderUsin
g Zerotrees of Wavelet Coefficients ", Proc. IEEE D
See ata CompressionConference, pgs. 214-223, 1993. To obtain information about the reversible conversion, use Sa
id, A.and Pearlman, W., "Reversible Image Compressio
n viaMultiresolution Representation and Predictiv
e Coding ", Dept.ofElectrical, Computer and System E
ngineering, Renssealaer PolytechnicInstitute, Troy, N
See Y 1993.

【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 at all because the quality could not be guaranteed, the compression ratio was insufficient, or the data rate was not controllable. However, the use of compression is desirable to reduce the amount of information to be transmitted and / or stored.

【0007】デジタルコピア、プリンタ及び多機能機器
は、フレーム記憶を備えると性能が非常に向上する。フ
レーム記憶が圧縮されれば、これら製品におけるフレー
ム記憶に必要とされるメモリが減り、したがってそのコ
ストが削減される。しかし、多くのフレーム記憶はラン
ダムアクセスメモリ(RAM)で実現される。RAMは
高速であるが一般に高価である。ハードディスクもメモ
リとして使用でき、一般に安い(一般にRAMほど高価
ではない)と考えられる。したがって、システムの製造
者であれば、フレーム記憶などにRAMにかえてハード
ディスクを用い、より安価なシステムを製造することが
有利であると考えるであろう。
[0007] The performance of digital copiers, printers and multifunction devices is greatly enhanced when they are equipped with frame storage. Compressed frame storage reduces the memory required for frame storage in these products, and thus reduces its cost. However, many frame stores are implemented with random access memory (RAM). RAM is fast but generally expensive. Hard disks can also be used as memory and are generally considered cheap (generally less expensive than RAM). Therefore, system manufacturers will find it advantageous to use hard disks instead of RAMs for frame storage, etc., and to manufacture cheaper systems.

【0008】速度が重要なアプリケーションにとってハ
ードディスクを使用することの一つの問題点は、RAM
ほど高速にハードディスクから情報を直接呼び出すこと
が困難であることである。また、多くのハードディスク
は、情報をディスクに格納する時に、ディスクに格納可
能な情報量を増加させるため圧縮を利用する。この圧縮
の実行に要する時間も、速度が重要なアプリケーション
でハードディスクの使用をためらわせる要因であろう。
ハードディスクの使用、圧縮の利用に内在する速度の遅
さが、速度の重要なアプリケーションにハードディスク
を使用することを難しくしている。
One problem with using a hard disk for speed critical applications is that RAM
It is difficult to retrieve information directly from the hard disk as quickly as possible. Also, many hard disks use compression when storing information on the disk to increase the amount of information that can be stored on the disk. The time required to perform this compression may also be a factor in slowing down hard disk use in speed critical applications.
The slowness inherent in the use of hard disks and the use of compression makes it difficult to use hard disks for speed critical applications.

【0009】よって、本発明は、高速なロッシー/ロス
レス圧縮を可能にすることを主たる目的とする。本発明
のもう一つの目的は、高価なRAMに代えて安価なハー
ドディスクを使用可能なシステムを提供することを目的
とする。本発明の他の目的は、速度をハードディスクに
マッチングさせ、かつ、圧縮を利用してハードディスク
をプリントエンジンなどのシステムの他の部分の帯域幅
にマッチングさせることができるようにすることであ
る。また、本発明の別の目的は、圧縮及び伸長のための
時間がRAM速度に比べそれほど遅くない場合にRAM
を使用できるようにすることである。本発明の他の目的
は、以下の説明から明らかになろう。
Accordingly, an object of the present invention is to enable high-speed lossy / lossless compression. Another object of the present invention is to provide a system that can use an inexpensive hard disk instead of an expensive RAM. It is another object of the present invention to be able to match the speed to the hard disk and use compression to match the hard disk to the bandwidth of other parts of the system, such as a print engine. It is another object of the present invention to provide a method for compressing and decompressing data when the time for compression and
Is to be able to use. Other objects of the present invention will become clear from the following description.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するた
め、以下に列挙した構成の装置、システム及び方法が本
発明に包含される。
In order to achieve the above object, the present invention includes apparatuses, systems and methods having the following configurations.

【0011】(1)バッファ;該バッファに格納されて
いる画素に対し可逆ウェーブレット変換を行って係数を
出力に生成するための、該バッファに接続された入力を
有するウェーブレット変換ユニット;該ウェーブレット
変換ユニットから出力されるウェーブレット変換画素の
ビットプレーン及び該バッファより受け取った該バッフ
ァに格納されたウェーブレット変換画素のビットプレー
ンを符号化するための、該該ウェーブレット変換ユニッ
トに接続されたコーダを具備してなるシステム。
(1) a buffer; a wavelet transform unit having an input connected to the buffer for performing a reversible wavelet transform on pixels stored in the buffer to generate coefficients as outputs; And a coder connected to the wavelet transform unit for encoding the bit plane of the wavelet transform pixel output from the buffer and the bit plane of the wavelet transform pixel received from the buffer and stored in the buffer. system.

【0012】(2)該バッファが少なくとも1つの画素
バンドを格納するためのバンドバッファからなることを
特徴とする前記(1)のシステム。
(2) The system according to (1), wherein said buffer comprises a band buffer for storing at least one pixel band.

【0013】(3)該コーダが文脈モデルと並列エント
ロピーコーダを具備し;最高重要度データは埋め込まれ
ず、バッファリングされずに係数順に符号化され、低重
要度データの一部はバッファリングされ、埋め込まれ、
そして重要度順にメモリに書き込まれることを特徴とす
る前記(1)のシステム。
(3) the coder comprises a context model and a parallel entropy coder; the highest importance data is not embedded and is coded in coefficient order without buffering, and a part of the low importance data is buffered; Embedded,
The system according to (1), wherein the data is written to the memory in order of importance.

【0014】(4)該コーダが高速並列コーダからなる
ことを特徴とする前記(1)のシステム。
(4) The system according to (1), wherein the coder comprises a high-speed parallel coder.

【0015】(5)該コーダがQMコーダからなること
を特徴とする前記(1)のシステム。
(5) The system according to (1), wherein the coder comprises a QM coder.

【0016】(6)該コーダが有限状態マシンコーダか
らなることを特徴とする前記(1)のシステム。
(6) The system according to (1), wherein said coder comprises a finite state machine coder.

【0017】(7)符号化データインターフェースをさ
らに具備することを特徴とする前記(1)のシステム。
(7) The system according to (1), further comprising an encoded data interface.

【0018】(8)バッフアより受け取られた画素情報
をウェーブレット変換するステップ、ここで、係数の少
なくとも1つのビットプレーンがウェーブレット変換画
素を表現する;該バッファ内の画素を符号化ビットプレ
ーンによって置き換えるステップ;及び該バッファ内の
ビットプレーンを符号化するステップを含んでなる圧縮
方法。
(8) Wavelet transforming the pixel information received from the buffer, wherein at least one bit plane of the coefficients represents a wavelet transformed pixel; replacing pixels in the buffer with an encoded bit plane. And encoding the bitplanes in the buffer.

【0019】(9)バンドバッファ;逆変換処理を施さ
れる係数のための複数の符号化単位;出力装置へ出力さ
れる画素を格納するための少なくとも1つの符号化単
位;該出力装置へ出力される既に逆変換された係数に対
応する画素のための少なくとも1つの符号化単位;該バ
ンドバッファに接続された伸長器を具備してなり、該伸
長器が圧縮データを変換係数に伸長し、該変換係数を該
バンドバッファに書き込み、該バンドバッファより該変
換係数を再び読み出し、それに逆変換を施して画素値を
生成し、それを該バンドバッファに書き込む伸長システ
ム。
(9) a band buffer; a plurality of coding units for coefficients to be subjected to inverse transform processing; at least one coding unit for storing pixels to be output to an output device; output to the output device At least one coding unit for pixels corresponding to the already inverse transformed coefficients, comprising: a decompressor connected to the band buffer, the decompressor decompressing the compressed data into transform coefficients; A decompression system that writes the transform coefficients to the band buffer, reads the transform coefficients from the band buffer again, performs inverse transform on the transform coefficients to generate pixel values, and writes them to the band buffer.

【0020】(10)該伸長器が圧縮データをある記憶
領域から読み出すことを特徴とする前記(9)の伸長シ
ステム。
(10) The decompression system according to (9), wherein the decompressor reads out the compressed data from a certain storage area.

【0021】(11)該記憶領域がハードディスクから
なることを特徴とする前記(10)の伸長システム。
(11) The decompression system according to (10), wherein the storage area comprises a hard disk.

【0022】(12)該バンドバッファに接続されたプ
リントエンジンをさらに有することを特徴する前記
(9)の伸長システム。
(12) The decompression system according to (9), further comprising a print engine connected to the band buffer.

【0023】(13)係数を最高重要度データと低重要
度データに分割するステップ;最高重要度データを直ち
に係数順に符号化するため文脈モデルへ送るステップ;
低重要度データ及び複数の指示ビットをメモリに格納す
るステップ;及び係数の集合中の全係数の最高重要度デ
ータを符号化した後に、低重要度データを符号化し、該
複数の指示ビットに部分的に基づいた順序で埋め込むス
テップを含んでなる方法。
(13) dividing the coefficients into highest importance data and lower importance data; sending the highest importance data to a context model for immediate encoding in coefficient order;
Storing the low importance data and the plurality of indicator bits in a memory; and encoding the low importance data after encoding the highest importance data of all the coefficients in the set of coefficients, Embedding in an order based on the target.

【0024】(14)該指示ビットが第1のビットと第
2のビットからなることを特徴とする前記(13)の方
法。
(14) The method according to the above (13), wherein the indication bit comprises a first bit and a second bit.

【0025】(15)該指示ビット中の第1ビットが、
該係数の低重要度データの先頭ビットがヘッドビット又
はテールビットであるか否か指示し、該指示ビット中の
第2ビットが、該指示ビット中の該第1ビットが該係数
の低重度データの先頭ビットがヘッドビットであると指
示するときに、符号ビットを表すことを特徴とする前記
(13)の方法。
(15) The first bit of the indication bits is
Indicates whether the first bit of the low significance data of the coefficient is a head bit or a tail bit, wherein the second bit of the designation bit is the first bit of the designation bit and the low severity data of the coefficient The method according to (13), wherein when indicating that the first bit is a head bit, it indicates a sign bit.

【0026】(16)該指示ビットが低重要度データに
隣接して格納されることを特徴とする前記(13)の方
法。
(16) The method according to the above (13), wherein the indication bit is stored adjacent to the low importance data.

【0027】(17)入力データを受け取るように接続
された入力と、偶数サンプルと奇数サンプルを転送する
ための第1と第2の出力を持つ入力バッフア;該偶数サ
ンプルと該奇数サンプルを受け取って係数を生成するよ
うに接続され、その水平ローパス係数と垂直ハイパス係
数が当該順変換装置の出力であるところの第1レベル変
換ユニット、;該第1レベル変換ユニットによって生成
されたss係数を受け取るように接続された第1入力
と、より上のレベルの変換フィルタ処理からのss係数
を受け取るように接続された第2入力とを有するメモ
リ;より上のフィルタ処理のためにSS係数を順序付け
するための、該メモリに接続された第1入力を持つ順序
付けユニット;及び複数の変換レベルを適用するために
該順序付けユニットに接続された第1のフィルタユニッ
トを具備してなり、該フィルタユニットは該順序付けユ
ニットより受け取ったss係数に対しより上のレベルの
変換を行い、該フィルタユニットが生成するss係数は
該メモリの該第2入力と該順序付けユニットの第2入力
にフィードバックされる順変換装置。
(17) An input buffer having an input connected to receive input data and first and second outputs for transferring even and odd samples; receiving the even and odd samples; A first level transform unit connected to generate coefficients, the horizontal low pass coefficient and the vertical high pass coefficient being the output of the forward transform device; receiving the ss coefficients generated by the first level transform unit; A memory having a first input connected to the first input and a second input connected to receive ss coefficients from the higher level transform filtering; for ordering the SS coefficients for higher filtering. An ordering unit having a first input connected to the memory; and an ordering unit for applying a plurality of translation levels to the ordering unit. A first filter unit followed by the filter unit, the filter unit performing a higher level transformation on the ss coefficients received from the ordering unit, the ss coefficients generated by the filter unit being stored in the memory in the memory. A forward conversion device fed back to a second input and a second input of the ordering unit.

【0028】(18)該第1レベル変換ユニットは入力
データの2×2ブロックを処理することを特徴する前記
(17)の順変換装置。
(18) The forward conversion device according to (17), wherein the first level conversion unit processes 2 × 2 blocks of input data.

【0029】(19)該第1レベル変換ユニットが:第
1と第2の出力を持つ、第1レベル水平変換を行うため
の第2のフィルタユニット;該第2のフィルタユニット
の該第1出力に接続された第1のシングルディレイ;該
第2のフィルタユニットの該第2出力に接続された第2
のシングルディレイ;該第2のフィルタユニットの該第
2出力に接続されたダブルディレイ;該第1シングルデ
ィレイ及び該ダブルディレイの出力に接続された第1の
マルチプレクサ;該第2フィルタユニットの出力及び該
第2シングルディレイの出力を受け取るように接続され
た第2のマルチプレクサ;及び該第1及び第2のマルチ
プレクサからの出力を受け取って第1レベル垂直変換を
行うために接続された第3のフィルタユニットを具備し
てなることを特徴とする前記(17)の順変換装置。
(19) The first level conversion unit: a second filter unit for performing a first level horizontal conversion, having a first and a second output; the first output of the second filter unit A first single delay connected to the second filter unit; a second single delay connected to the second output of the second filter unit.
A single delay connected to the second output of the second filter unit; a first multiplexer connected to the outputs of the first single delay and the double delay; an output of the second filter unit; A second multiplexer connected to receive the output of the second single delay; and a third filter connected to receive the outputs from the first and second multiplexers and perform a first level vertical transform. The forward conversion device according to the above (17), comprising a unit.

【0030】(20)画像を圧縮するための装置であっ
て、 圧縮器;該圧縮器に接続された作業域メモリを具備して
なり、該作業域メモリは画像と同じサイズであり、該圧
縮器は画像中の画素より大きな係数を使用して画像を符
号化するために該作業域を利用する圧縮装置。
(20) An apparatus for compressing an image, comprising: a compressor; a work area memory connected to the compressor, wherein the work area memory is the same size as the image; A compressor that uses the work area to encode the image using coefficients larger than the pixels in the image.

【0031】(21)最高重要度データと低重要度デー
タとからなる情報を符号化する方法であって、最高重要
度データを符号化するステップ;0のヘッドビットだけ
から構成されていない各係数についての低重要度データ
中の先頭ビットプレーンの位置を符号化するステップ;
0のヘッドビットだけから構成されていない低重要度デ
ータの各ビットプレーンを符号化するステップを含んで
なる方法。
(21) A method for encoding information consisting of the highest importance data and the low importance data, wherein the highest importance data is encoded; each coefficient which is not constituted only by the zero head bit Encoding the position of the leading bit plane in the low importance data for
Encoding each bit plane of low importance data that does not consist of only zero head bits.

【0032】(22)該情報がウェーブレット係数から
なることを特徴とする前記(21)の方法。
(22) The method according to (21), wherein said information comprises wavelet coefficients.

【0033】(23)該先頭の低重要度ビットプレーン
の位置を符号化するステップが、低重要度データのビッ
トプレーン全体にわたるルックアヘッドの実行を含むこ
とを特徴とする前記(21)の方法。
(23) The method of (21), wherein the step of encoding the position of the leading low importance bit plane comprises performing a look ahead over the entire bit plane of low importance data.

【0034】(24)該最高重要度データを符号化する
ステップが:各木に関し、ss係数を符号化するステッ
プ;最高重要度データに対するルックアヘッドを実行す
るステップ;及び各非ss係数についてデータを有する
各ビットプレーンのためのヘッド又はテールビットを符
号化するステップ;及び該係数が非0ならば符号ビット
を符号化するステップを含んでなることを特徴とする前
記(21)の方法。
(24) encoding the highest significance data includes: for each tree, encoding ss coefficients; performing a look-ahead on the highest significance data; and removing data for each non-ss coefficient. Encoding the head or tail bits for each bit plane comprising: and encoding the sign bit if the coefficient is non-zero.

【0035】(25)該ルックアヘッドが木ルックアヘ
ッドからなり、該ルックアヘッドを実行するステップ
が、ss係数を符号化することと、木全体の非0ヘッド
ビットを持つ先頭の0のビットプレーンを符号化するこ
とを含むことを特徴とする前記(24)の方法。
(25) The look-ahead comprises a tree look-ahead, and the step of performing the look-ahead includes encoding a ss coefficient and determining a leading zero bit plane with non-zero head bits for the entire tree. (24) The method according to the above (24), comprising encoding.

【0036】(26)最高重要度データは1ウェーブレ
ット木が一度に処理されることを特徴とする前記(2
4)の方法。
(26) The highest importance data is obtained by processing one wavelet tree at a time.
Method 4).

【0037】(27)該ルックアヘッドが、ウェーブレ
ット木内の全ての非ss係数に関し全て0のヘッドビッ
トからなるビットプレーンを決定することを特徴とする
前記(21)の方法。
(27) The method according to (21), wherein said look ahead determines a bit plane consisting of all zero head bits for all non-ss coefficients in the wavelet tree.

【0038】(28)個別に符号化すべき最初のビット
プレーンを識別するステップをさらに含むことを特徴と
する前記(27)の方法。
(28) The method of (27), further comprising the step of identifying a first bit plane to be individually encoded.

【0039】(29)個別に符号化すべき最初のビット
プレーンを識別するステップが、第2分割の全ての非s
s係数が0であることを第1のビットによって指示する
こと、及び、第1分割の全ての非ss係数が0であるこ
とを第2のビットによって指示することを含んでなるこ
とを特徴とする前記(28)の方法。
(29) The step of identifying the first bit plane to be individually coded comprises the steps of:
indicating by a first bit that the s coefficient is 0, and indicating by a second bit that all non-ss coefficients of the first division are 0. (28).

【0040】(30)該最高重要度データを符号化する
ステップが:各木に関し、ss係数を符号化するステッ
プ;各木の全ての非ss係数に対しヘッドビットが全て
0のビットプレーンを確定するためのルックアヘッドを
実行するステップ;木全体の最高重要度データが0であ
るか判定するステップ;木全体の最高重要度データが0
でないならば、木の全ての係数に関し、木中の最初の非
ss係数であって、データを含んでいる最初のビットプ
レーンから始まるカレント係数を全ビットプレーンにつ
いて符号化するステップ;カレント係数が0でなければ
符号ビットを符号化するステップを含んでなることを特
徴とする前記(21)の方法。
(30) encoding the highest importance data: encoding ss coefficients for each tree; determining bit planes with all zero head bits for all non-ss coefficients for each tree; Performing a look-ahead to determine whether the highest importance data of the entire tree is 0;
If not, for all coefficients in the tree, encode the current coefficient for all bitplanes, starting with the first non-ss coefficient in the tree, starting with the first bitplane containing data; Otherwise, the method comprises the step of encoding the sign bit.

【0041】(31)該低重要度データを符号化するス
テップが:各木に関し;各係数毎に;ルックアヘッド区
間の始まりならばルックアヘッドを実行するステップ;
ルックアヘッドが非アクティブならばヘッド又はテール
ビットを符号化するステップ;及び最初のオンビットが
出現済みでかつルックアヘッドが非アクティブならば符
号ビットを符号化するステップを含んでなることを特徴
とする前記(21)の方法。
(31) The step of encoding the low importance data includes: for each tree; for each coefficient; performing a look-ahead if the beginning of a look-ahead interval;
Encoding the head or tail bits if the look-ahead is inactive; and encoding the sign bits if the first on-bit has appeared and the look-ahead is inactive. The method according to the above (21).

【0042】(32)最高重要度データと低重要度デー
タからなる情報を符号化する装置であって、最高重要度
データを符号化するための手段;0のヘッドビットのみ
からなるものでない各係数についての低重要度データに
おける最初のビットプレーンの位置を符号化するための
手段;0のヘッドビットのみからなるものでない低重要
度データの各ビットプレーンを符号化するための手段を
具備してなる装置。
(32) An apparatus for encoding information consisting of highest importance data and low importance data, means for encoding the highest importance data; each coefficient not consisting of only 0 head bits Means for encoding the position of the first bit-plane in the low importance data for; comprising means for encoding each bit plane of the low importance data which does not consist solely of zero head bits. apparatus.

【0043】(33)該情報がウェーブレット係数から
なることを特徴とする前記(32)の装置。
(33) The apparatus according to (32), wherein said information comprises wavelet coefficients.

【0044】(34)該最初の低重要度ビットプレーン
の位置を符号化するための手段が、低重要度データの全
ビットプレーンにわたってルックアヘッドを行うための
手段を具備してなることを特徴とする前記(32)の装
置。
(34) The means for encoding the position of the first low importance bit plane comprises means for performing look-ahead over all bit planes of low importance data. (32).

【0045】(35)該最重要度データを符号化するた
めの手段が:各木のss係数を符号化するための手段;
各木の最重要度データに対するルックアヘッドを実行す
るための手段;各木の各非ss係数について、データを
持つ各ビットプレーンに関するヘッド又はテールビット
を符号化するための手段;及び各木の各非ss係数につ
いて、その係数が0でないときに符号ビットを符号化す
るための手段を具備してなることを特徴とするクレーム
32の装置。
(35) The means for encoding the most significant data include: means for encoding the ss coefficient of each tree;
Means for performing a look-ahead on the most significant data of each tree; for each non-ss coefficient of each tree, means for encoding the head or tail bits for each bitplane with data; and for each tree 33. The apparatus of claim 32, comprising means for encoding a sign bit for a non-ss coefficient when the coefficient is not zero.

【0046】(36)該ルックアヘッドは木ルックアッ
プからなり、該ルックアヘッドを実行するための手段
は、ss係数を符号化するための手段と、全ての木につ
いて非0のヘッドビットを持つ最初の0のビットプレー
ンを符号化するための手段とを具備してなることを特徴
とする前記(35)の装置。
(36) The look-ahead comprises a tree lookup, wherein the means for performing the look-ahead comprises means for encoding ss coefficients and a first having non-zero head bits for all trees. Means for encoding a zero bit plane.

【0047】(37)最高重要度データは1ウェーブレ
ット木が一度に処理されることを特徴とする前記(3
5)の装置。
(37) The highest importance data is obtained by processing one wavelet tree at a time.
The device of 5).

【0048】(38)該ルックアヘッドを実行するため
の手段が、ウェーブレット木内の全ての非ss係数につ
いて全て0のヘッドビットからなるビットプレーンを確
定することを特徴とする前記(32)の装置。
(38) The apparatus according to (32), wherein said means for performing look-ahead determines a bit plane consisting of all zero head bits for all non-ss coefficients in the wavelet tree.

【0049】(39)個別に符号化すべき最初のビット
プレーンを識別するための手段をさらに具備することを
特徴とする前記(38)の装置。
(39) The apparatus according to (38), further comprising means for identifying a first bit plane to be individually encoded.

【0050】(40)該個別に符号化すべき最初のビッ
トプレーンを識別するための手段が、第2分割の全ての
非ss係数が0であることを第1のビットによって指示
するための手段と、第1分割の全ての非ss係数が0で
あることを第2のビットによって指示するための手段と
を具備してなることを特徴とする前記(39)の装置。
(40) The means for identifying the first bit plane to be individually coded includes means for indicating by a first bit that all non-ss coefficients of the second division are zero. Means for indicating by a second bit that all non-ss coefficients of the first division are 0.

【0051】(41)該最高重要度データを符号化する
ための手段が:各木のss係数を符号化するための手
段;各木内の全ての非ss係数について、全て0のヘッ
ドビットであるビットプレーンを確定するためのルック
アヘッドを実行するための手段;各木の木全体の最高重
要度データが0であるか判定するための手段;木全体の
最高重要度データが0でなければ、木内の全係数の全ビ
ットプレーンについてカレント係数のビットを符号化す
るための手段、ここでカレント係数はデータを含んでい
る最初のビットプレーンから始まる木中の最初の非ss
係数である;及び木全体の最高重要度データが0でない
場合に木内の全係数のカレント係数が0でないときに符
号ビットを符号化するための手段を具備してなることを
特徴とする前記(32)の装置。
(41) The means for encoding the highest significance data are: means for encoding the ss coefficients of each tree; all non-ss coefficients in each tree have zero head bits. Means for performing a look-ahead to determine the bit plane; means for determining whether the highest importance data of the entire tree of each tree is 0; Means for encoding the bits of the current coefficient for all bitplanes of all coefficients in the tree, where the current coefficient is the first non-ss in the tree starting from the first bitplane containing data
And a means for encoding a sign bit when the highest significance data of the entire tree is not 0 and the current coefficient of all coefficients in the tree is not 0. 32).

【0052】(42)該低重要度データを符号化するた
めの手段が:ルックアヘッド区間の始まりならば各木の
各係数に対するルックアヘッドを行うための手段;ルッ
クアヘッドが非アクティブならば各木の各係数のヘッド
又はテールビットを符号化するための手段;及び最初の
オンビットが出現済みでかつルックアヘッドが非アクテ
ィブならば各木の各係数の符号ビットを符号化するため
の手段、を具備してなることを特徴とする前記(32)
の装置。
(42) The means for encoding the low importance data include: means for performing a look-ahead for each coefficient of each tree if the beginning of the look-ahead interval; each tree if the look-ahead is inactive Means for encoding the head or tail bits of each coefficient of each of the following; and means for encoding the sign bit of each coefficient of each tree if the first on-bit has appeared and the look ahead is inactive. (32) characterized by comprising:
Equipment.

【0053】(43)所定数の係数を調べるステップ;
該所定数の係数中の全てのヘッドビットが符号化される
まで、全てのヘッドビットを毎サイクル1つずつエント
ロピー符号化するステップ;該所定数の係数の符号ビッ
ト及びテールビットを同じサイクルで符号化するステッ
プを含んでなることを特徴とする情報のm項符号化の方
法。
(43) checking a predetermined number of coefficients;
Entropy-encoding all head bits, one per cycle, until all head bits in the predetermined number of coefficients are encoded; encoding the sign bits and tail bits of the predetermined number of coefficients in the same cycle A method of m-term encoding of information, comprising the step of:

【0054】(44)ICチップとメモリとの間で画素
データを転送するための画素データインターフェース;
該画素データインターフェースを介し、該メモリへ及び
該メモリから情報を転送するための、該画素データイン
ターフェースに接続された可逆ウェーブレット変換部;
該可逆ウェーブレット変換部より与えられたデータを符
号化するための文脈を提供するための、該可逆ウェーブ
レット変換部に接続された文脈モデル;該可逆ウェーブ
レット変換部によって生成された係数を、該文脈モデル
によって提供された文脈に基づいて符号化するための符
号化器を具備してなる集積回路(IC)。
(44) A pixel data interface for transferring pixel data between the IC chip and the memory;
A reversible wavelet transform unit connected to the pixel data interface for transferring information to and from the memory via the pixel data interface;
A context model connected to the lossless wavelet transform unit for providing a context for encoding the data given by the lossless wavelet transform unit; An integrated circuit (IC) comprising an encoder for encoding based on the context provided by the IC.

【0055】(45)該可逆ウェーブレット変換部から
該メモリへ係数を符号化することなく転送するために接
続された係数データインターフェースをさらに具備する
ことを特徴とする前記(44)の集積回路。
(45) The integrated circuit according to (44), further comprising a coefficient data interface connected to transfer the coefficients from the reversible wavelet transform unit to the memory without encoding.

【0056】(46)該係数データインターフェースが
係数を該メモリから該文脈モデルへ符号化のために転送
することを特徴とする前記(44)の集積回路。
(46) The integrated circuit of (44), wherein said coefficient data interface transfers coefficients from said memory to said context model for encoding.

【0057】(47)エントロピー符号化データをメモ
リへ供給するための符号化データインターフェースをさ
らに具備することを特徴とする前記(44)の集積回
路。
(47) The integrated circuit according to (44), further comprising an encoded data interface for supplying entropy encoded data to a memory.

【0058】(48)符号化データを復号化するための
復号化器をさらに具備することを特徴とする前記(4
7)の集積回路。
(48) The above (4), further comprising a decoder for decoding the encoded data.
7) The integrated circuit.

【0059】(49)復号化器にエントロピー符号化デ
ータを復号化するため与える符号化データインターフェ
ースをさらに具備することを特徴とする前記48の集積
回路。
(49) The integrated circuit according to (48), further comprising an encoded data interface for providing a decoder with an entropy encoded data for decoding.

【0060】(50)可逆色空間変換を行うために該画
素データインターフェースと該可逆ウェーブレット変換
部の間に接続された可逆色空間変換器をさらに具備する
ことを特徴とする前記(44)の集積回路。
(50) The integration according to (44), further comprising a reversible color space converter connected between the pixel data interface and the reversible wavelet transform unit for performing reversible color space conversion. circuit.

【0061】(51)符号化データを受け取り、該符号
化データを確率予測値に基づいて復号化するために接続
され、カレントラインから復号化されたビットを生成す
る少なくとも1つのビットジェネレータ;該カレントラ
インから復号化されたビットに基づいて確率予測値を提
供するために該少なくとも1つのビットジェネレータに
接続された確率予測マシン;部分文脈アドレスに基づい
て複数の文脈を該確率予測マシンに与えるために該確率
予測マシンに接続された文脈モデルを具備してなり、該
確率予測マシンが該復号化ビットに基づいて該複数の文
脈から文脈を選択することを特徴とする、符号化データ
を復号化するための復号化装置。
(51) at least one bit generator connected to receive the encoded data and to decode the encoded data based on the probability prediction value and producing decoded bits from a current line; A probability prediction machine connected to the at least one bit generator for providing a probability prediction based on the bits decoded from the line; and for providing a plurality of contexts to the probability prediction machine based on a partial context address Decoding encoded data comprising a context model connected to the probability prediction machine, the probability prediction machine selecting a context from the plurality of contexts based on the decoded bits. Device for decoding.

【0062】(52)既に読み出されていて、したがっ
てそのデータが該確率予測マシン内で利用可能であるア
ドレスを検出するため該確率予測マシンに接続された同
一アドレス指示手段をさらに具備し、該同一アドレス指
示手段はアドレッシングされる部分文脈に基づいてデー
タが該確率予測マシン内に既に存在することの指示を、
該確率予測マシンに対し発生することを特徴とする前記
(51)の復号化装置。
(52) further comprising identical address indicating means connected to said probability prediction machine for detecting an address which has already been read and therefore said data is available in said probability prediction machine; The same address designating means provides an indication that data is already present in the probability prediction machine based on the partial context addressed.
The decoding apparatus according to (51), wherein the decoding is performed for the probability prediction machine.

【0063】(53)該部分文脈アドレスを提供するた
めに該文脈モデルに接続された複数のシフトレジスタを
さらに具備することを特徴とする前記(51)の復号化
装置。
(53) The decoding device according to (51), further comprising a plurality of shift registers connected to the context model to provide the partial context address.

【0064】(54)複数の上ラインを与えるために接
続されたラインバッファをさらに具備することを特徴と
する前記(51)の復号化装置。
(54) The decoding device according to (51), further comprising a line buffer connected to provide a plurality of upper lines.

【0065】(55)低重要度データと最高重要度デー
タを受け取り、どのビットプレーンがデータを含んでい
るか判定するために接続され、該低重要度データの処理
時に使用される符号化単位全体の最初のオンビットを持
つビットプレーンの指示を生成する先頭ビットプレーン
ユニット;低重要度データと最高重要度データを受け取
り、該低重要度データのための指示情報を生成するため
接続された比較メカニズム;符号ビット、最高重要度デ
ータ、及びデータを持つ最初のビットプレーンの指示を
受け取るために接続され、条件付け情報を提供するため
係数を遅延させるメモリ;符号ビットのための文脈を提
供するため該メモリに接続された第1の文脈モデル;ヘ
ッドビットのための文脈を提供するため該メモリ及び該
最高重要度データに接続された第2の文脈モデル;テー
ルビットのための文脈を提供するため該メモリ及び該最
高重要度データに接続された第3の文脈モデルを具備し
てなることを特徴とする文脈モデル装置。
(55) receives the low importance data and the highest importance data, is connected to determine which bit plane contains the data, and is connected to the entire coding unit used when processing the low importance data. A leading bitplane unit for generating an indication of a bitplane having a first on-bit; a comparison mechanism connected to receive the low importance data and the highest importance data and to generate indication information for the low importance data; A memory connected to receive the sign bit, the highest significance data, and an indication of the first bit plane with the data, delaying the coefficients to provide conditioning information; to the memory to provide context for the sign bit Connected first context model; the memory and the highest importance data to provide context for head bits Context model apparatus characterized by comprising comprises a third context models connected to the memory and highest-important data to provide a context for the tail bits; second context model connected.

【0066】(56)入力データを最高重要度データと
低重要度データとに分けるための分割メカニズムをさら
に具備することを特徴とする前記(55)の文脈モデル
装置。
(56) The context model apparatus according to (55), further comprising a dividing mechanism for dividing input data into highest importance data and lower importance data.

【0067】(57)該分割メカニズムがバレルシフタ
からなることを特徴とする前記(56)の文脈モデル装
置。
(57) The context model apparatus according to (56), wherein said dividing mechanism comprises a barrel shifter.

【0068】(58)該バレルシフタが量子化レベルに
基づいてデータをシフトすることを特徴とする前記(5
7)の文脈モデル装置。
(58) The barrel shifter shifts data based on a quantization level.
7) The context model device.

【0069】(59)該比較メカニズムが:最高重要度
データが0であるか判定することによりテールビットが
既に出現したことを表示するためのもので、その出力が
テールオンビットであるところの第1の比較ユニット;
最高重要度データが1であるか判定するものであって、
該最高重要度データが1である時に、その出力が0であ
る第2の比較ユニット;及び該第2の比較ユニットの出
力及び符号ビットを受け取って、セレクト入力が第1の
状態のときに第1のテールビットを出力し、セレクト入
力が第2の状態のときに符号を出力するために接続され
たマルチプレクサを具備してなることを特徴とする前記
(55)の文脈モデル装置。
(59) The comparison mechanism is to indicate that the tail bit has already appeared by determining whether the highest significance data is 0, and to determine if the output is a tail-on bit. 1 comparison unit;
Determining whether the highest importance data is 1;
A second comparing unit whose output is 0 when the highest importance data is 1; and receiving the output and the sign bit of the second comparing unit, the second comparing unit receiving the first input when the select input is in the first state. The context model apparatus of (55), further comprising a multiplexer connected to output one tail bit and output a code when the select input is in the second state.

【0070】(60)該セレクト入力は該第1の比較ユ
ニットのテールオン出力からなることを特徴とする前記
(58)の文脈モデル装置。
(60) The context model apparatus according to (58), wherein said select input comprises a tail-on output of said first comparison unit.

【0071】(61)該第1と第2の比較ユニット中の
少なくとも1つはビット比較器からなることを特徴とす
る前記(58)の文脈モデル装置。
(61) The context model apparatus according to (58), wherein at least one of the first and second comparison units comprises a bit comparator.

【0072】(62)該先頭ビットプレーンユニット
が:係数とフィードバックを受け取るように接続された
ORゲート;該ORゲートの出力を受け取るために接続
されたレジスタ;及び該レジスタの出力を受け取り、1
を持つ係数の最初のビットプレーンを指示するために接
続されたプライオリティエンコーダを具備してなること
を特徴とする前記(55)の文脈モデル装置。
(62) the first bit plane unit: an OR gate connected to receive the coefficients and the feedback; a register connected to receive the output of the OR gate;
The context model apparatus of (55), further comprising a priority encoder connected to indicate a first bit plane of the coefficient having the following.

【0073】(63)該レジスタが、その内容を符号化
単位の始まりでリセットするためのリセット入力を有す
ることを特徴とする前記(62)の文脈モデル装置。
(63) The context model apparatus according to (62), wherein said register has a reset input for resetting its contents at the beginning of a coding unit.

【0074】(64)該リセット入力が各木の始まりで
も該レジスタの内容をリセットすることを特徴とする前
記(63)の文脈モデル装置。
(64) The context model apparatus according to (63), wherein the contents of said register are reset even when said reset input is at the beginning of each tree.

【0075】(65)符号化レートを確認するため符号
語の平均長を測定するステップ;及び所要の圧縮量に基
づいて圧縮レートを調整するステップを含んでなる圧縮
実行のための方法。
(65) A method for performing compression, comprising: measuring the average length of a codeword to determine the coding rate; and adjusting the compression rate based on the required amount of compression.

【0076】(66)該符号化レートが圧縮が第1の要
求レベルより下であることを示すときに量子化量を増加
させるステップ;及び該符号化レートが圧縮が第2の要
求レベルより上であることを示すときに量子化量を減少
させるステップをさらに含むことを特徴とする前記(6
5)の方法。
(66) increasing the amount of quantization when the coding rate indicates that compression is below a first required level; and when the coding rate is higher than a second required level of compression. The method further comprises the step of reducing the amount of quantization when indicating that
Method 5).

【0077】(67)該第1と第2の要求レベルが同一
でないことを特徴とする前記(66)の方法。
(67) The method according to (66), wherein said first and second request levels are not the same.

【0078】(68)符号語の平均長を測定するステッ
プがビット生成の後で行われることを特徴とする前記
(65)の方法。
(68) The method according to (65), wherein the step of measuring the average length of the code word is performed after bit generation.

【0079】(69)新たな圧縮レートを復号化器へ通
知するステップをさらに含むことを特徴とする前記(6
5)の方法。
(69) The method according to (6), further comprising the step of notifying the decoder of the new compression rate.
Method 5).

【0080】(70)該通知が明示的であることを特徴
とする前記(69)の方法。
(70) The method according to (69), wherein said notification is explicit.

【0081】(71)該通知が暗黙的であることを特徴
とする前記(69)の方法。
(71) The method according to (69), wherein said notification is implicit.

【0082】(72)文脈モデル;該文脈モデルに接続
された確率予測マシン;該確率予測マシンに接続された
ビットジェネレータ;及び平均符号語長を測定すること
によって符号化レートを制御するための、該ビットジェ
ネレータに接続された符号化器レート制御手段を具備し
てなるシステム。
(72) a context model; a probability prediction machine connected to the context model; a bit generator connected to the probability prediction machine; and a control unit for controlling a coding rate by measuring an average codeword length. A system comprising an encoder rate control means connected to the bit generator.

【0083】(73)該符号化器レート制御手段が量子
化を調整することを特徴とする前記(72)のシステ
ム。
(73) The system according to (72), wherein said encoder rate control means adjusts quantization.

【0084】(74)新たな量子化レベルに関し復号化
器に通知するためのシグナリングブロックをさらに具備
することを特徴とする前記(72)のシステム。
(74) The system according to (72), further comprising a signaling block for notifying the decoder about the new quantization level.

【0085】(75)該符号化器の圧縮データストリー
ム出力に対するヘッダデータを生成するためのシグナリ
ングブロックをさらに具備し、該ヘッダデータが新たな
量子化レベルを復号化器に対し指示するため該圧縮デー
タストリームに連結されることを特徴とする前記(7
2)のシステム。
(75) The encoder further comprises a signaling block for generating header data for the compressed data stream output of the encoder, wherein the header data indicates a new quantization level to the decoder. (7) being connected to a data stream.
2) System.

【0086】(76)該符号化器レート制御手段が、該
量子化レベルが該復号化器で後に使用するため必要であ
る旨の指示を記憶することを特徴とする前記(72)の
システム。
(76) The system according to (72), wherein said encoder rate control means stores an indication that said quantization level is needed for later use in said decoder.

【0087】(77)変換係数の集合のデータビットプ
レーンの最低重要度部分を処理する方法であって:メモ
リから第1の量のデータを読み出すステップ;該変換係
数の集合の下位のビットプレーン中のデータの少ない変
換されたビットプレーンを補うため、該第1の量のデー
タの読み出しと同時に該第1の量のデータより大きな第
2の量のデータをメモリに書き込むステップを含んでな
る方法。
(77) A method for processing the least significant portion of a data bit plane of a set of transform coefficients: reading a first amount of data from memory; in a lower bit plane of the set of transform coefficients. Reading the first amount of data and simultaneously writing a second amount of data to the memory that is greater than the first amount of data to supplement the converted bit plane with less data.

【0088】(78)最低重要度部分係数を記憶するた
めに必要とされるビットが、ビットプレーン数が減少す
るにつれ増加することを特徴とする前記(77)の方
法。
(78) The method of (77), wherein the number of bits required to store the least significant partial coefficients increases as the number of bitplanes decreases.

【0089】[0089]

【発明の実施の形態】圧縮及び伸長のための方法及び装
置について述べる。以下の説明において、遅延の種類、
ビットレート、フィルタの種類等々の様々な具体例が示
される。しかし、当業者には、そのような具体例によら
ずに本発明を実施し得ることが明白になろう。他方、本
発明をいたずらに難解にしないため、周知の構造及びデ
バイスはブロック図の形式で表し、詳しくは示さない。
DETAILED DESCRIPTION A method and apparatus for compression and decompression is described. In the following description, the type of delay,
Various specific examples, such as bit rates, filter types, etc., are shown. However, it will be apparent to one skilled in the art that the present invention may be practiced without such specific examples. 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.

【0090】以下の詳細説明のかなりの部分は、コンピ
ュータメモリ内のデータビットに対する演算のアルゴリ
ズム及び記号表現によって与えられる。このようなアル
ゴリズム記述及び表現は、データ処理技術分野の当業者
によって、その研究の内容を他の当業者に対し最も効率
的に伝えるために用いられる手段である。あるアルゴリ
ズムがあり、それが概して、希望する結果に至る自己矛
盾のないステップ系列だと考えられるとしよう。これら
のステップは、物理量の物理的処理を必要とするもので
ある。必ずという訳ではないが、これらの物理量は記
憶、転送、結合、比較、その他処理が可能な電気的また
は磁気的信号の形をとるのが普通である。これらの信号
をビット、値、要素、記号、文字、用語、数値等で表わ
すのが、主に慣用上の理由から、時に都合がよいことが
分かっている。
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.

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

【0092】本発明はまた、本明細書に述べる操作を実
行するための装置にも関係する。この装置は、要求目的
のために専用に作られてもよいし、あるいは、汎用コン
ピュータを内蔵プログラムにより選択的に駆動または再
構成したものでもよい。そのようなプログラムは、それ
に限定されないが、コンピュータのシステムバスにそれ
ぞれ接続されたフロッピーディスク、光ディスク、CD
−ROM、光磁気ディスク、リードオンリーメモリ(R
OM)、ランダムアクセスメモリ(RAM)、EPRO
M、EEPROM、磁気カード又は光カード、あるいは
電子的命令の格納に適したその他の媒体など、コンピュ
ータの読み出し可能な記憶媒体に格納してよい。本明細
書に提示されるアルゴリズム及び表示は、本質的に、ど
のような特定のコンピュータ、その他装置とも関わりが
ない。様々な汎用マシンを本明細書に述べたところに従
ったプログラムと一緒に利用してよいが、必要とされる
方法のステップの実行のためのより特化した装置を作る
ほうが好都合であるかもしれない。これら多様なマシン
に要求される構造は以下の説明より明らかになろう。さ
らに、いかなる特定のプログラミング言語とも関連付け
ることなく本発明を説明する。本明細書において述べる
ように、本発明を実現するために多様なプログラミング
言語を使用し得ることが理解されよう。
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. Such programs include, but are not limited to, floppy disks, optical disks, CDs, each connected to a computer system bus.
-ROM, magneto-optical disk, read-only memory (R
OM), random access memory (RAM), EPRO
It may be stored on a computer readable storage medium, such as an M, EEPROM, magnetic or optical card, or other medium suitable for storing electronic instructions. The algorithms and displays presented herein are not inherently related to any particular computer or other device. Although a variety of general purpose machines may be utilized with programs in accordance with the teachings herein, it may be advantageous to create more specialized equipment for performing the required method steps. Absent. The required structure for a variety of these machines will appear from the description given. Further, the invention is described without reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the invention, as described herein.

【0093】下記用語が以下の説明に用いられる。これ
ら各種用語にはすでに語義がある。しかし、規定された
語義は、それら用語が当該分野において知られている範
囲に限定して考えられるべきでない。これら語義は、本
発明の理解を手助けするために規定されたものである。
The following terms are used in the following description. 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.

【0094】ABS符号化:ビット生成のための単純な
コード(例えばランコード)と使用符号語に基づく確率
予測(例えばテーブルを用いる確率予測)を利用する並
列エントロピー符号化法。一実施例にあっては、ABS
符号化は数個のコーダからのストリームのマルチプレキ
シング及びデマルチプレキシングのための方法も含む。
ABS coding: A parallel entropy coding method that uses a simple code (for example, a run code) for bit generation and a probability prediction based on a used code word (for example, a probability prediction using a table). In one embodiment, the ABS
Coding also includes methods for multiplexing and demultiplexing streams from several coders.

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

【0096】算術符号化:有限精度演算によるShannon/
Elias符号化、バイナリ・エントロピーコーダに限らな
い。
Arithmetic coding: Shannon /
Not limited to Elias coding, binary entropy coder.

【0097】B符号化:圧縮のために有限状態マシンを
利用するバイナリ・エントロピーコーダ。Huffman符号
化と違って、有限状態マシンの利用がバイナリ・シンボ
ルをうまく処理し、ある範囲の入力確率に対して有効で
ある。
B coding: A binary entropy coder that utilizes a finite state machine for compression. Unlike Huffman coding, the use of a finite state machine handles binary symbols well and is valid for a range of input probabilities.

【0098】バイナリ・エントロピーコーダ:最高確率
シンボル(mps)及び最低確率シンボル(lps)と
して表現されることの多いバイナリ(yes/no)デシジョン
に基づいて動作するノイズレスのコーダ。
Binary entropy coder: A noiseless coder that operates on a binary (yes / no) decision, often expressed as a highest probability symbol (mps) and a lowest probability symbol (lps).

【0099】バイナリ方式:画素のエッジ−フィル(edg
e-fill)Grayエンコーディングと特殊な文脈モデル
を用いる符号化方式。
Binary method: edge-fill (edg) of a pixel
e-fill) An encoding method using Gray encoding and a special context model.

【0100】バイナリ方式文脈モデル:2値及び階調数
が少ない画像データのための文脈モデル。
Binary context model: a context model for image data with a small number of binary and gray levels.

【0101】ビット・シグニフィカンス(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.

【0102】子ベース(child-based)順:2次元画像の
スキャン順。ラスタ順に似ているが、2×2ブロック単
位で動作する。ある「親」周波数帯域をラスタ順にスキ
ャンすることを考える。各係数は4個の子を持っている
であろう。これらの子は、左上のものから始めて右上、
左下、右下と順序付けられ、その後に次の親と次の4つ
の子の組が続き、以下同様にラインの終わりまで続く。
そして処理は次の2ラインに戻り、最終的に右下コーナ
ーで終わる。どのラインもスキップされない。子ベース
順は2×2ブロック順とも呼ばれる。
Child-based order: scan order of a two-dimensional image. Similar to raster order, but operates in 2 × 2 block units. Consider scanning a certain "parent" frequency band in raster order. Each coefficient will have four children. These children start at the top left,
Ordered lower left, lower right, followed by the next parent and the next set of four children, and so on until the end of the line.
Then, the process returns to the next two lines, and finally ends at the lower right corner. No lines are skipped. The child base order is also referred to as a 2 × 2 block order.

【0103】係数: 変換後の成分。Coefficient: component after conversion.

【0104】成分: 画像の構成要素。成分が画素を構
成する。例えば、赤、緑、青の帯域は成分帯域である。
個々の画素は赤、緑、青の成分から構成される。成分と
成分帯域に、画像への空間写像を持つ任意の種類の情報
を含めることができる。
Component: A component of an image. The components make up the pixel. For example, the red, green, and blue bands are component bands.
Each pixel is composed of red, green and blue components. The components and component bands can include any type of information that has a spatial mapping to the image.

【0105】文脈モデル:符号化しようとするカレント
・ビットに関し因果的に利用できる情報で、カレント・
ビットに関する過去に学習した情報を提供してエントロ
ピー符号化のための条件付確率予測を可能にする。2値
画像において、ある画素のための1つの可能な文脈は、
同じラインの先行2画素と前ラインの3画素である。
Context model: Causally available information about the current bit to be encoded.
Provides previously learned information about bits to enable conditional probability prediction for entropy coding. In a binary image, one possible context for a pixel is:
The preceding two pixels on the same line and the three pixels on the previous line.

【0106】分割レベル:ウェーブレット分割ピラミッ
ド内の位置。解像度と直接関係がある。
Division level: Position in the wavelet division pyramid. Directly related to resolution.

【0107】効率変換:係数への最高のエネルギー集中
を達成すると同時に最小のビット数を用いてそれら係数
を表現する変換。
Efficiency conversion: A conversion that achieves the highest energy concentration on the coefficients while using the least number of bits to represent them.

【0108】埋め込み文脈モデル:文脈ビンと結果の重
要度レベルへの分割を、重要な値が保存されれば効率的
なロッシー圧縮が得られるように行う文脈モデル。
Embedded context model: A context model that divides the context bins and results into importance levels so that efficient lossy compression is obtained if important values are preserved.

【0109】順序付けによる埋め込み:明示的な重要度
のラベリングはないが、最も重要なデータが初めの部分
にくるように圧縮データが順序付けされる、埋め込み文
脈モデルの特殊ケース。
Embedding by ordering: A special case of an embedding context model where there is no explicit significance labeling, but the compressed data is ordered so that the most important data comes first.

【0110】埋め込み量子化:コードストリームに包含
される量子化。例えば、重要度レベルが最高のレベルか
ら最低のレベルへと順に並べられているときには、コー
ドストリームの単なる打ち切りによって量子化が行われ
る。タグ、マーカー、ポインタ、その他の信号によって
同じ働きを得ることができる。復号化時には画像に対し
多重量子化を行うことができるが、符号化時には単一の
埋め込み量子化しか行うことができない。
Embedded quantization: quantization included in the code stream. For example, when the importance levels are arranged in order from the highest level to the lowest level, quantization is performed by simply truncating the code stream. Tags, markers, pointers, and other signals can accomplish the same thing. Multiple decoding can be performed on an image during decoding, but only a single embedded quantization can be performed during encoding.

【0111】エントロピーコーダ:カレント・ビット
を、確率予測に基づいて符号化又は復号化する装置。本
明細書では、エントロピーコーダは多重文脈バイナリコ
ーダとも呼ばれることがある。カレント・ビットの文脈
は何らかの選ばれた配置の「近傍」ビットであり、カレ
ント・ビット(1ビットまたは複数ビット)の最適表現
のための確率予測を可能にする。一実施例では、エント
ロピーコーダはバイナリコーダ、並列ランレングスコー
ダ、又はHuffmanコーダである。
Entropy coder: A device that encodes or decodes a current bit based on probability prediction. Herein, an entropy coder may also be referred to as a multiple context binary coder. The context of the current bit is the "neighbor" bit of some chosen arrangement, allowing probability prediction for an optimal representation of the current bit (s). In one embodiment, the entropy coder is a binary coder, a parallel run-length coder, or a Huffman coder.

【0112】エントリー・ポイント:既知の符号化状態
で始まる符号化データ中のポイント。復号化器は、この
点から、その前データを復号化することなく復号化を開
始できる。これには、大抵の場合、文脈とバイナリ・エ
ントロピーコーダを所期状態にリセットする必要があ
る。各符号化単位の符号化データはエントリーポイント
から始まる。
Entry point: A point in encoded data starting with a known encoding state. From this point, the decoder can start decoding without decoding the previous data. This often requires resetting the context and binary entropy coder to the expected state. The encoded data of each encoding unit starts from an entry point.

【0113】固定長:データの特定ブロックを圧縮デー
タの特定ブロックへ変換する方式。例えばBTC(ブロ
ック符号化)と、VQ(ベクトル量子化)のいくつかの
方式。固定長コードは固定レート・固定サイズのアプリ
ケーションに適するが、レート・歪み性能は可変レート
方式に比べ劣ることが多い。
Fixed length: A method for converting a specific block of data into a specific block of compressed data. For example, some schemes of BTC (block 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.

【0114】固定レート:ある一定の画素レートを維持
し、帯域幅の限定された通信路を持つアプリケーション
又はシステム。一実施例においては、この目標を達成す
るため、全体的に平均した圧縮というより、局所的に平
均した圧縮が達成される。例えば、MPEGは固定レー
トを要求する。
Fixed rate: An application or system that maintains a certain pixel rate and has a communication path with a limited bandwidth. In one embodiment, to achieve this goal, locally averaged compression is achieved rather than globally averaged compression. For example, MPEG requires a fixed rate.

【0115】固定サイズ:限られたサイズのバッファを
持つアプリケーション又はシステム。一実施例では、こ
の目標を達成するため全体的に平均した圧縮がなされ
る。例えば、プリント・バッファ。(アプリケーション
は、固定レートのことも、固定サイズのことも、その両
方のこともある。)周波数帯域:各周波数帯域は、同じ
フィルタ処理系列によりもたらされる一群の係数を表
す。
Fixed size: An application or system with a limited size buffer. In one embodiment, an overall average compression is made to achieve this goal. For example, a print buffer. (Applications can be fixed rate, fixed size, or both.) Frequency bands: Each frequency band represents a group of coefficients resulting from the same filtering sequence.

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

【0117】ハフマン(Huffman)コーダ:一般に、各シ
ンボルに対して整数個のビットを発生する固定長コー
ダ。
Huffman coder: Generally, a fixed length coder that generates an integer number of bits for each symbol.

【0118】重要度レベル:埋め込みデータの1つのビ
ットプレーン全体に対応する、圧縮される前の符号化デ
ータの単位。重要度レベルは、異なった係数周波数帯域
からの適切なビットプレーン全てを含む。
Importance level: A unit of encoded data before compression corresponding to one entire bit plane of embedded data. The importance levels include all appropriate bit planes from different coefficient frequency bands.

【0119】LPS(最低確率シンボル):50%未満
の確率を持つバイナリデシジョンにおける事象(outcom
e)。2つの事象が等確率の時にどちらがmps又はlp
sに選ばれるかは符号化器と復号化器が同じ選定をする
ならば重要なことではない。
LPS (lowest probability symbol): An event (outcom) in a binary decision with a probability of less than 50%
e). Which is mps or lp when two events have equal probability
The choice of s is not important if the encoder and decoder make the same choice.

【0120】ロスレス/ノイズレス/可逆符号化:原デ
ータの完全な復元が可能な方法によるデータ圧縮。
Lossless / Noiseless / Reversible coding: Data compression by a method that allows complete restoration of original data.

【0121】ロッシー符号化:原データの完全な復元を
保障しないデータ符号化。視覚的に不快であったり目立
ったりしないように、原データから変化してもよい。多
くの場合、固定レートが可能である。
Lossy coding: Data coding that does not guarantee complete restoration of the original data. It may vary from the original data so that it is not visually unpleasant or noticeable. In many cases, a fixed rate is possible.

【0122】MPS(最高確率シンボル):50%を超
える確率を持つバイナリデシジョンにおける事象。
MPS (Highest Probability Symbol): An event in a binary decision with a probability greater than 50%.

【0123】重複変換:単一のソース標本点が同じ周波
数の複数の係数に寄与する変換。その例に、多くのウエ
ーブレット及び重複直交変換がある。
Overlap Transform: A transform in which a single source sample point contributes to multiple coefficients of the same frequency. Examples include many wavelets and overlapping orthogonal transforms.

【0124】親係数:カレントの係数又は画素と同じ画
像空間をカバーする、すぐ上の階層レベルの係数又は画
素。例えば図1において、1SD係数の親は2SD係数
であり、これは3SD係数の親である。
Parent coefficient: A coefficient or pixel at the next higher hierarchical level covering the same image space as the current coefficient or pixel. For example, in FIG. 1, the parent of the 1SD coefficient is the 2SD coefficient, which is the parent of the 3SD coefficient.

【0125】確率予測マシン/モジュール:文脈内での
確率を追跡する、符号化システムの要素。
Probability Prediction Machine / Module: An element of a coding system that tracks probabilities in context.

【0126】プログレッシブ画素深度:フル解像度のデ
ータのビットプレーンが浅いほうから深いほうへ順序付
けられたコードストリーム。
Progressive pixel depth: A code stream in which the bit planes of full resolution data are ordered from shallow to deep.

【0127】プログレッシブ・ピラミッド:解像度が下
がる毎に各次元が2分の1(面積では4分の1)になる
解像度成分の系列。
Progressive pyramid: A sequence of resolution components in which each dimension is reduced to one-half (one-fourth in area) each time the resolution is reduced.

【0128】Qコーダ:乗算が加算によって置き換えら
れ、確率が離散値に限定され、確率予測値がビット出力
時に更新されるバイナリ算術コーダ。
Q coder: A binary arithmetic coder in which multiplication is replaced by addition, probabilities are limited to discrete values, and probability predictions are updated on bit output.

【0129】ラスター順:2次元画像のスキャン順。左
上コーナーからスタートして左から右へ移動し、それか
ら次ラインの左端に戻り、最終的に右下コーナーで終了
する。どのラインもスキップされない。
Raster order: scanning order of two-dimensional images. Start from the upper left corner, move from left to right, then return to the left end of the next line, and finally end at the lower right corner. No lines are skipped.

【0130】可逆変換:一実施例では、圧縮結果を原デ
ータに復元可能な、整数演算により実現される効率変
換。
Reversible conversion: In one embodiment, efficiency conversion realized by integer arithmetic, which can restore the compression result to the original data.

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

【0132】タイル(tile)データセグメント:一つの
符号化単位を完全に記述するコードストリームの部分。
Tile data segment: A part of a code stream that completely describes one coding unit.

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

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

【0135】統合型(unified)ロスレス/ロッシー:
同じ圧縮システムが、ロスレス復元又はロッシー復元が
可能なコードストリームを提供する。本発明の一実施例
では、このコードストリームは復号化器に対する設定情
報も指令もなくてよい。
[0135] unified lossless / lossy:
The same compression system provides a codestream that can be losslessly decompressed or lossy decompressed. In one embodiment of the invention, this codestream may be free of configuration information and instructions to the decoder.

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

【0137】ウエーブレット変換:「周波数」及び「時
間(又は空間)」の両方の領域の拘束条件がある変換。
一実施例では、ハイパスフィルタとローパスフィルタか
らなる変換である。結果として得られた係数は1/2に
間引かれ(臨界フィルタ処理され)、それらフィルタが
ローパス係数にかけられる。
Wavelet transform: A transform having constraints on both the "frequency" and "time (or space)" areas.
In one embodiment, the transformation comprises a high-pass filter and a low-pass filter. The resulting coefficients are decimated (critically filtered) by a factor of two and the filters are subjected to low pass coefficients.

【0138】ウエーブレット木:最高レベルのウエーブ
レット分割のSS部内の単一の係数と関係付けられた係
数と画素。係数の個数はレベル数の関数である。図1
は、1つのウェーブレット木に含まれる係数を示す。ウ
エーブレット木のスパンは、分割レベル数に依存する。
例えば、ウェーブレット木のスパンは、1レベル分割で
は4画素、2レベル分割では16画素、等々である。図
59に、1つのウェーブレット木に集約される画素の個
数を様々なレベル数の場合について示す。2次元の場
合、各ウェーブレット木はSD,DD,DSと呼ばれる
3つの部分木からなる。
Wavelet tree: coefficients and pixels associated with a single coefficient in the SS part of the highest level wavelet partition. The number of coefficients is a function of the number of levels. FIG.
Indicates a coefficient included in one wavelet tree. The span of the wavelet tree depends on the number of division levels.
For example, the span of a wavelet tree is 4 pixels in 1-level division, 16 pixels in 2-level division, and so on. FIG. 59 shows the number of pixels aggregated in one wavelet tree for various levels. In the two-dimensional case, each wavelet tree is composed of three subtrees called SD, DD, and DS.

【0139】<概要>本発明は、符号化部及び復号化部
を持つ圧縮/伸長システムを提供する。符号化部は入力
データを符号化して圧縮データを生成する働きをし、他
方、復号化部は既に符号化されたデータを復号化して元
の入力データの再構成データを生成する働きをする。入
力データとして、画像(静止画像あるいは動画像)、音
声等々の様々な種類のデータがあり得る。一実施例で
は、データはデジタル信号データであるが、デジタル化
したアナログデータ、テキストデータ形式、その他の形
式も可能である。そのデータのソースは、例えば符号化
部及び/又は復号化部のためのメモリまたは通信路であ
る。
<Overview> 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. As input data, there can be 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.

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

【0141】本発明のシステムは、可逆ウェーブレット
による高速のロッシー/ロスレス圧縮を用いるが、これ
については後により詳しく説明する。このシステムは、
例えばレーザープリンタのようなプリンタであるかもし
れない。一実施例では、このプリンタは与えられたペー
ジの記憶に安価なハードディスクを用いることにより、
必要とされる高価なランダムアクセスメモリ(RAM)
の量を大幅に削減する。そのハードディスク又は他の記
憶装置の限定された帯域幅を、プリントエンジンに必要
とされる、より大きな帯域幅に合わせるために圧縮が利
用される。本発明の符号化技術はプリントエンジンの要
求する高速、リアルタイム性を満たし、さらに本発明
は、画像の特性及びハードディスクのバースト性に応じ
て、優れたロッシー圧縮又はロスレス圧縮のどちらも可
能である。
The system of the present invention uses fast lossy / lossless compression with lossless wavelets, which will be described in more detail later. This system is
For example, it may be a printer such as a laser printer. In one embodiment, the printer uses an inexpensive hard disk to store a given page,
Expensive random access memory (RAM) required
Significantly reduce the amount of Compression is used to match the limited bandwidth of the hard disk or other storage device to the larger bandwidth required by the print engine. The encoding technique of the present invention satisfies the high-speed and real-time properties required by the print engine, and the present invention can perform either excellent lossy compression or lossless compression depending on the characteristics of the image and the burst characteristics of the hard disk.

【0142】以下の詳細な説明において、可逆ウェーブ
レットによる圧縮の概要、圧縮フレーム記憶のアプリケ
ーション、カラーレーザープリンタ、プリンタ・チップ
の実例について述べる。プリンタのレンダリング・エン
ジンはハードディスクを記憶に利用する。ハードディス
クはプリント・エンジンより低速であるので、レートを
整合させるため圧縮が利用される。ディスプレイリスト
(display list)技法も、レンダリング中に必要とされる
メモリを減らすために利用してよい。ディスプレイリス
ト・ベースのレンダリングエンジンは、圧縮システムが
画像のバンドを独立に処理することを許容する。なお、
プリンタシステムに関連して本発明を説明するが、本発
明は圧縮及び/又は伸長サブシステムを含む他のシステ
ムにも適用可能である。
In the following detailed description, an outline of compression by the reversible wavelet, an application of compressed frame storage, a color laser printer, and an actual example of a printer chip will be described. The printer's rendering engine utilizes the hard disk for storage. Since hard disks are slower than print engines, compression is used to match the rates. Display list
(Display list) techniques may also be used to reduce the memory required during rendering. A display list based rendering engine allows the compression system to process bands of the image independently. In addition,
Although the invention is described with reference to a printer system, the invention is applicable to other systems that include a compression and / or decompression subsystem.

【0143】また、埋め込み統合型ロスレス/ロッシー
圧縮システムについても本明細書において述べる。シス
テムの埋め込み特性は、品質をディスクの転送レートに
より決定可能にする。圧縮が容易な画像(例えば、テキ
スト及び/又は線画からなる殆どの文書)の場合、ロス
レス圧縮がなされる。圧縮しにくい画像(例えば、ノイ
ズの多い自然画像及び/又は中間調のある文書)の場
合、高品質のロッシー圧縮がなされる。
The embedded integrated lossless / lossy compression system is also described in this specification. The embedding characteristics of the system allow the quality to be determined by the transfer rate of the disk. For images that are easy to compress (eg, most documents consisting of text and / or line drawings), lossless compression is used. For images that are difficult to compress (e.g., noisy natural images and / or halftone documents), high quality lossy compression is provided.

【0144】カラー画像のロスレス圧縮と高品質ロッシ
ー圧縮の両方をサポートするシステムに関する説明につ
いては、米国特許出願第08/642,518号(1996年5月3日
受理、" Compression and Decompression with Wavelet
Style and Binary StyleIncluding Quantization by D
evice-Dependent Parser")、及び、米国特許出願第08/4
36,662(1995年5月8日受理、" Method and Apparatus
for ReversibleColor Conversion")を参照されたい。
For a description of a system that supports both lossless and high quality lossy compression of color images, see US patent application Ser. No. 08 / 642,518, filed May 3, 1996, entitled "Compression and Decompression with Wavelet."
Style and Binary StyleIncluding Quantization by D
evice-Dependent Parser ") and US patent application Ser. No. 08/4
36,662 (Received May 8, 1995, "Method and Apparatus
for ReversibleColor Conversion ").

【0145】<可逆ウェーブレット>本発明は、可逆ウ
ェーブレットによる圧縮を利用する。
<Reversible Wavelet> The present invention utilizes compression by a reversible wavelet.

【0146】<ウェーブレット分割>本発明は、初め
に、可逆ウエーブレットを利用して、(画像データとし
ての)画像または他のデータ信号の分割を行う。本発明
において、可逆ウエーブレット変換は、整数係数を持つ
信号のロスレス復元が可能な完全再構成システムを整数
演算で実現する。効率逆変換は、行列式が1(又はほぼ
1)の変換行列を使用する可逆変換である。
<Wavelet Division> The present invention first performs division of an image (as image data) or another data signal using a reversible wavelet. 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. The inverse efficiency transform is a reversible transform using a transform matrix having a determinant of 1 (or almost 1).

【0147】本発明は、可逆ウエーブレットを用いるこ
とにより、有限精度の演算でロスレス圧縮をすることが
可能である。画像データに可逆ウエーブレット変換を適
用することにより生成される結果は、係数の系列であ
る。
According to the present invention, lossless compression can be performed by finite-precision arithmetic operations by using a reversible wavelet. The result produced by applying the lossless wavelet transform to the image data is a sequence of coefficients.

【0148】本発明の可逆ウエーブレット変換は、1組
のフィルタを用いて実現できる。一実施例では、それら
のフィルタは、本明細書においてTS変換もしくは2・
6変換と呼ばれる変換を行うための2タップ・ローパス
フィルタと6タップ・ハイパスフィルタである。他の一
実施例では、それらのフィルタは、本明細書においてT
T変換もしくは2・10変換と呼ばれる変換を行うため
の2タップ・ローパスフィルタと10タップ・ハイパス
フィルタである。これらフィルタは、加減算(とハード
ワイヤのビットシフト)だけで実現することができる。
The reversible wavelet transform of the present invention can be realized using a set of filters. In one embodiment, the filters are referred to herein as TS transforms or 2.
There are a 2-tap low-pass filter and a 6-tap high-pass filter for performing conversion called 6-conversion. In another embodiment, the filters are referred to herein as T
They are a 2-tap low-pass filter and a 10-tap high-pass filter for performing conversion called T conversion or 2 · 10 conversion. These filters can be implemented with only addition and subtraction (and hard-wired bit shifting).

【0149】TT変換には、TS変換に比べると、少な
くとも1つの長所と、少なくとも1つの短所がある。長
所は、TT変換がTS変換よりも良好な圧縮が得られる
ことである。TT変換の短所は、10タップのフィルタ
が長い分、高いハードウェアコストを要することであ
る。
The TT conversion has at least one advantage and at least one disadvantage compared to the TS conversion. The advantage is that the TT transform provides better compression than the TS transform. A disadvantage of the TT transform is that a 10-tap filter requires a long hardware cost for a long time.

【0150】<2次元ウェーブレット分割>本発明のロ
ーパスフィルタ及びハイパスフィルタを用いて、多重解
像度分割が行なわれる。分割レベル数は可変であり任意
数でよいが、現在のところ分割レベル数は2レベルから
8レベルまでである。最大レベル数は、log2(入力
の長さ又は幅の最大値)である。
<Two-Dimensional Wavelet Division> Multi-resolution division is performed using the low-pass filter and the high-pass filter of the present invention. The number of division levels is variable and may be an arbitrary number, but currently the number of division levels is from 2 to 8 levels. The maximum number of levels is log2 (the maximum value of the length or width of the input).

【0151】画像のような2次元データに対し変換を行
う最も普通のやり方は、1次元フィルタを別々に適用す
る方法、つまり、ラインに沿って適用し、次に列に沿っ
て適用するという方法である。第1レベルの分割により
4つの異なった帯域の係数が得られ、これらは本明細書
ではSS,DS,SD,DDと呼ばれる。これら文字
は、ロー(L)パスフィルタとハイ(H)パスフィルタ
にそれぞれ対応する前述のスムーズ(S)フィルタとディ
テール(D)フィルタを指す。したがって、SS帯域はラ
イン方向及び列方向の両方のスムーズフィルタより得ら
れた係数からなっている。
The most common way to perform transformations on two-dimensional data, such as images, is to apply a one-dimensional filter separately, ie, apply along a line and then apply along a column. It is. The first level of division results in four different band coefficients, referred to herein as SS, DS, SD, and DD. These characters refer to the above-mentioned smooth (S) filter and detail (D) filter respectively corresponding to the low (L) pass filter and the high (H) pass filter. Therefore, the SS band consists of coefficients obtained from both the line direction and column direction smooth filters.

【0152】ウエーブレット分割の各周波数部分帯域は
さらに分割することができる。最も普通のやりかたはS
S部分帯域だけをさらに分割する方法であり、各分割レ
ベルのSS周波数部分帯域が生成された時にそれをさら
に分割することになろう。このような多重分割はピラミ
ッド分割と呼ばれる。記号SS,SD,DS,DDと分
割レベル番号によって各分割を表示する。
Each frequency sub-band of the wavelet division can be further divided. The most common way is S
This is a method of further dividing only the S sub-band, and will further divide the SS frequency sub-band of each division level when it is generated. Such multiple division is called pyramid division. Each division is indicated by the symbols SS, SD, DS, DD and the division level number.

【0153】なお、本発明のTS変換、TT変換のいず
れかを用いても、ピラミッド分割によって係数のサイズ
は増加しない。
It should be noted that the size of the coefficient does not increase due to the pyramid division even if either the TS transform or the TT transform of the present invention is used.

【0154】可逆ウエーブレット変換が再帰的に画像に
適用される場合、第1レベルの分割は最も細かいディテ
ールもしくは解像度に対し作用する。第1分割レベル
で、画像は4つの部分画像(すなわち部分帯域)に分解
される。各部分帯域は、1つの空間周波数帯域を表わし
ている。第1レベルの部分帯域は1SS,1SD,1D
S,1DDと表される。原画像を分割するプロセスに水
平と垂直の両次元について1/2サブサンプリングが含
まれるので、第1レベルの部分帯域1SS,1SD,1
DS,1DDはそれぞれ、入力が持っていた画像の画素
(または係数)の1/4の個数の係数を持つ。
When the reversible wavelet transform is applied recursively to an image, the first level of division operates on the finest detail or resolution. At the first split level, the image is decomposed into four sub-images (ie, sub-bands). Each sub-band represents one spatial frequency band. The first level sub-bands are 1SS, 1SD, 1D
S, 1DD. Since the process of dividing the original image includes サ ブ subsampling in both the horizontal and vertical dimensions, the first level sub-bands 1SS, 1SD, 1
DS and 1DD each have a coefficient whose number is 4 of the pixels (or coefficients) of the image that the input has.

【0155】部分帯域1SSは、水平方向の低い周波数
の情報と垂直方向の低い周波数の情報を同時に含んでい
る。一般に、画像エネルギーの大部分は、この部分帯域
に集中している。部分帯域1SDは、水平方向の低い周
波数の情報と垂直方向の高い周波数の情報(例えば水平
方向エッジの情報)を含んでいる。部分帯域1DSは、
水平方向の高い周波数の情報と垂直方向の低い周波数の
情報(例えば垂直方向エッジの情報)を含んでいる。部
分帯域1DDは、水平方向の高い周波数の情報と垂直方
向の高い周波数の情報(例えばテクスチャ又は斜めエッ
ジの情報)を含んでいる。
The sub-band 1SS simultaneously contains information of low frequency in the horizontal direction and information of low frequency in the vertical direction. Generally, most of the image energy is concentrated in this sub-band. The partial band 1SD includes information of a low frequency in the horizontal direction and information of a high frequency in the vertical direction (for example, information of a horizontal edge). The partial band 1DS is
It contains information of a high frequency in the horizontal direction and information of a low frequency in the vertical direction (for example, information of a vertical edge). The partial band 1DD includes information of a high frequency in the horizontal direction and information of a high frequency in the vertical direction (for example, information of texture or oblique edge).

【0156】この後に続く下位の第2、第3、第4分割
レベルはそれぞれ、前レベルの低周波数SS部分帯域を
分割することによって作られる。第1レベルの部分帯域
1SSが分割されて、やや精細な第2レベルの部分帯域
2SS,2SD,2DS,2DDが作られる。同様に、
部分帯域2SSが分割されて、精細度の粗い第3レベル
の部分帯域3SS,3SD,3DS,3DDが生成され
る。また、部分帯域3SSが分割されることにより、精
細度がより粗い第4レベルの部分帯域4SS,4SD,
4DS,4DDが作られる。1/2サブサンプリングに
より、第2レベルの各部分帯域は原画像の16分の1の
大きさである。このレベルの各標本(つまり画素)は、
原画像中の同一位置のやや細いディテールを表す。同様
に、第3レベルの各部分帯域は、原画像の64分の1の
大きさである。このレベルでの各画素は、原画像中の同
一位置のかなり粗いディテールを表す。また、第4レベ
ルの各部分帯域は原画像の256分の1の大きさであ
る。
The subsequent lower second, third and fourth division levels are respectively created by dividing the previous low-frequency SS sub-band. The first-level sub-band 1SS is divided to produce a slightly finer second-level sub-band 2SS, 2SD, 2DS, 2DD. Similarly,
The sub-band 2SS is divided to generate third-level sub-bands 3SS, 3SD, 3DS, and 3DD of coarser definition. Also, by dividing the sub-band 3SS, the fourth-level sub-bands 4SS, 4SD,
4DS and 4DD are created. With サ ブ subsampling, each subband at the second level is 1/16 of the original image. Each sample (or pixel) at this level
Represents slightly fine detail at the same position in the original image. Similarly, each sub-band at the third level is 1 / 64th the size of the original image. Each pixel at this level represents a fairly coarse detail of the same location in the original image. Each partial band at the fourth level is 1 / 256th the size of the original image.

【0157】分割された画像はサブサンプリングのため
に原画像より大きさが小さいので、原画像の格納に使用
されたメモリを、分割された部分帯域の全部の格納のた
めに使用できる。つまり、3レベル分割の場合、原画像
と分割部分帯域1SS,2SSは捨てられてしまい、保
存されない。
Since the divided image is smaller in size than the original image due to subsampling, the memory used for storing the original image can be used for storing all of the divided sub-bands. That is, in the case of three-level division, the original image and the divided partial bands 1SS and 2SS are discarded and are not saved.

【0158】4つの部分帯域分割レベルについて述べた
が、個々のシステムの要求に応じて、それ以上のレベル
を生成することも可能である。また、DCTのような他
の変換又は一次元配置の部分帯域を用いて、異なった親
子関係を定義してもよい。
Although four sub-band splitting levels have been described, it is possible to generate more levels depending on the requirements of the individual system. Different parent-child relationships may also be defined using other transforms such as DCT or one-dimensionally arranged sub-bands.

【0159】なお、本発明のウェーブレットフィルタに
よれば、ピラミッド分割は係数サイズを増加させない。
他の実施例においては、SSのほかに他の部分帯域も分
割されるかもしれない。
According to the wavelet filter of the present invention, the pyramid division does not increase the coefficient size.
In other embodiments, other sub-bands may be split apart from the SS.

【0160】<ウェーブレットの木構造>ピラミッド分
割のウエーブレット係数には自然で有用な木構造があ
る。部分帯域分割の結果は、最終の分割レベルに対応し
たただ一つのSS周波数部分帯域である。これに対し、
レベル数と同数のSD,DS,DD帯域がある。この木
構造により、ある周波数帯域内の係数の親は、それより
低い解像度の同じ周波数帯域内の係数であり、かつ同じ
空間位置関係にあることが明らかになる。
<Wavelet Tree Structure> The wavelet coefficient of the pyramid division has a natural and useful tree structure. The result of the sub-band split is a single SS frequency sub-band corresponding to the final split level. In contrast,
There are as many SD, DS, and DD bands as the number of levels. This tree structure reveals that the parent of the coefficient in a certain frequency band is a coefficient in the same frequency band with a lower resolution, and has the same spatial positional relationship.

【0161】本発明においては、各木は、SS係数と、
3つの部分木すなわちDS,SD,DDの部分木からな
る。本発明の処理は、普通、これら3つの部分木に対し
て行われる。各木のルートは、純粋に平滑な係数であ
る。画像のような2次元信号の場合、3つの部分木があ
り、それぞれの部分木は4つの子を持つ。この木階層構
造は2次元信号に限定されない。例えば、1次元信号の
場合、各部分木は1つの子を持つ。これ以上の高い次元
は、1次元の場合及び2次元の場合から導き出される。
In the present invention, each tree has an SS coefficient and
It consists of three subtrees, namely, DS, SD, and DD subtrees. The processing of the present invention is typically performed on these three subtrees. The root of each tree is a purely smooth coefficient. In the case of a two-dimensional signal such as an image, there are three subtrees, and each subtree has four children. This tree hierarchical structure is not limited to two-dimensional signals. For example, for a one-dimensional signal, each subtree has one child. Higher dimensions are derived from the one-dimensional case and the two-dimensional case.

【0162】多重解像度分割のプロセスは、フィルタ系
列を使って行うことができる。1次元の典型的フィルタ
を使って実現される2次元2レベル変換の例について
は、米国特許出願第08/498,695号(1995年6月30日受
理、"Method and Apparatus ForCompression Using Rev
ersible Wavelet Transforms and an EmbeddedCodestre
am")及び米国特許出願第08/498,036号(1995年6月30
日受理、"Reversible Wavelet Transform and Embedded
Codestream Manipulation")を参照されたい。
The multi-resolution division process can be performed using a filter sequence. For an example of a two-dimensional two-level transform implemented using a typical one-dimensional filter, see US Patent Application No. 08 / 498,695, filed June 30, 1995, entitled "Method and Apparatus ForCompression Using Rev.
ersible Wavelet Transforms and an EmbeddedCodestre
am ") and US patent application Ser. No. 08 / 498,036 (June 30, 1995).
Accepted by Japan, "Reversible Wavelet Transform and Embedded
Codestream Manipulation ").

【0163】<順ウエーブレット変換の実行>本発明で
は、2回の1-D演算によって、すなわち、まず水平方向
の1-D演算を行い、次に垂直方向の1-D演算を行うことに
よって、ウエーブレット変換が実施される。一実施例に
おいては、あるハードウェアで水平方向の演算を実行
し、別のハードウェアで垂直方向の演算を実行する。
<Execution of Forward Wavelet Transform> In the present invention, two 1-D operations are performed, that is, first, a horizontal 1-D operation is performed, and then, a vertical 1-D operation is performed. , A wavelet transform is performed. In one embodiment, the horizontal operation is performed by one piece of hardware and the vertical operation is performed by another piece of hardware.

【0164】レベル数で反復回数が決まる。一実施例で
は、水平方向と垂直方向の両方についてTT変換を使っ
て、4レベル分割が実行される。別の実施例では、TT
変換に代えTS変換を使って、4レベル分割が実行され
る。
The number of repetitions is determined by the number of levels. In one embodiment, a 4-level split is performed using a TT transform for both the horizontal and vertical directions. In another embodiment, TT
Four-level division is performed using TS conversion instead of conversion.

【0165】本発明の変換は、演算効率が非常に優れて
いる。一実施例において、本発明は、必要とされるオン
チップ及びオフチップのメモリの容量と帯域幅を減らす
ように、変換で行われる計算を順序付けする。
The conversion of the present invention has a very high operation efficiency. In one embodiment, the present invention orders the calculations performed in the transform to reduce the required on-chip and off-chip memory capacity and bandwidth.

【0166】<変換のための計算順序とデータフロー>
前述のように本発明においては、変換の計算のための基
本単位はウェーブレット木である。4レベル変換の場合
を考えると、各ウェーブレット木は16×16の画素ブ
ロックである。16×16ブロックの画素(CMYK画
像の場合は4成分全部)が本発明の変換部に入力され、
係数生成のための可能な計算が全て実行される。(逆変
換も同様であり、16×16の係数ブロックが入力さ
れ、可能な全ての計算が実行される) 本発明は重複変
換を用いるため、先行の隣接木からの情報が記憶されて
計算に利用される。カレントのウェーブレット木と先行
隣接情報との間の境界は、本明細書ではシーム(seam)と
呼ばれる。本発明の変換を実行するためにシームを越え
て保存される情報については、後に詳述する。
<Calculation order and data flow for conversion>
As described above, in the present invention, the basic unit for calculating the transform is a wavelet tree. Considering the case of four-level transform, each wavelet tree is a 16 × 16 pixel block. Pixels of a 16 × 16 block (all four components in the case of a CMYK image) are input to the conversion unit of the present invention,
All possible calculations for coefficient generation are performed. (Similarly, the inverse transform is performed. A 16 × 16 coefficient block is input and all possible calculations are performed.) Since the present invention uses an overlap transform, information from a preceding neighboring tree is stored and the calculation is performed. Used. The boundary between the current wavelet tree and the preceding neighbor information is referred to herein as a seam. The information stored across seams to perform the transformations of the present invention is described in greater detail below.

【0167】<ウェーブレット木の順序付け>特定のア
プリケーション(例えば印刷)の場合、本発明の符号化
単位は幅が大きく長さが小さいため、変換を計算するた
めのウェーブレット木の順序付けが重要である。一実施
例では、各符号化単位は4096×256画素からな
る。
<Ordering Wavelet Tree> For a specific application (for example, printing), the order of the wavelet tree for calculating the transform is important because the coding unit of the present invention has a large width and a small length. In one embodiment, each coding unit consists of 4096 × 256 pixels.

【0168】以下の説明では、符号化単位はそれぞれ4
096×256画素からなる。しかしながら、それ以外
のサイズの符号化単位にも以下に述べる順序付けを適用
可能であることに留意されたい。図2はラスタ順と同様
の順序を示す。この順序を、本明細書では長シーム変換
順と呼ぶ。図2において、太線はシームを越えて保存さ
れるデータ量を示し、また、どの位のメモリ量が変換の
計算に必要とされるかを示している。このデータは、水
平方向変換の場合には1つのウェーブレット木に比例す
るが、垂直方向の変換の場合には画像の幅(本例では4
096)に比例する。このデータのためのメモリ量で
は、外部メモリを使用する必要があるかもしれない。し
かし、ラスタ順に近いため、逆変換期間に、ウェーブレ
ット木の1つの水平行が画素へ変換されると直ちにデー
タを変換部から(例えば、プリンタのアプリケーション
ではプリンタへ)出力することができる。
In the following description, the coding unit is 4
It consists of 096 × 256 pixels. However, it should be noted that the ordering described below can be applied to coding units of other sizes. FIG. 2 shows an order similar to the raster order. This order is referred to herein as a long seam transform order. In FIG. 2, the bold line indicates the amount of data stored over the seam and how much memory is needed for the calculation of the transform. This data is proportional to one wavelet tree in the case of the horizontal transform, but is the width of the image (4 in this example) in the case of the vertical transform.
096). The amount of memory for this data may require the use of external memory. However, since it is close to the raster order, data can be output from the conversion unit (for example, to a printer in a printer application) as soon as one horizontal line of the wavelet tree is converted to a pixel during the inverse conversion period.

【0169】図3は別の順序を示すもので、この順序を
本明細書では短シーム順と呼ぶ。シームのためのメモリ
量は、水平方向の変換の場合には符号化単位の高さ(本
例では256)に比例し、垂直方向の変換の場合には1
つのウェーブレット木に比例する。この順序によれば必
要なメモリ量が大幅に減少し、オンチップ記憶が可能に
なる。
FIG. 3 shows another order, and this order is referred to as a short seam order in this specification. The amount of memory for seam is proportional to the height of the coding unit (256 in this example) in the case of horizontal conversion, and 1 in the case of vertical conversion.
Is proportional to one wavelet tree. This order greatly reduces the amount of memory required and allows for on-chip storage.

【0170】図4は、別の短シーム順を示す。メモリ量
が2つのウェーブレット木に比例するという負担がある
が、ラスタ順に処理される連続した画素の個数が増加す
る。この順序又はそれに類似した順序によって、シーム
(seam)メモリのコストをほとんど増加させることなく、
バンドバッファの高速ページモードRAM又はEDO(e
xtended data out)RAMをより効率的に使用できる。
この効率向上が得られるのは、殆どのメモリが隣接した
メモリロケーションのアクセスのために最適化されてい
るからである。したがって、シーム順により隣接メモリ
アクセスの使用が増加することで、メモリ使用効率の向
上がもたらされる。
FIG. 4 shows another short seam order. Although the burden is that the amount of memory is proportional to the two wavelet trees, the number of consecutive pixels processed in raster order increases. This or similar
(seam) with little increase in memory cost
High-speed page mode RAM or EDO (e
xtended data out) RAM can be used more efficiently.
This efficiency gain is obtained because most memories are optimized for accessing adjacent memory locations. Therefore, the use of the adjacent memory access increases in the seam order, thereby improving the memory use efficiency.

【0171】<1つのウェーブレット木を得るための計
算>以下の式はTS変換とTT変換の両方を定義する。
入力x(n)に対するローパスフィルタの出力であるスムー
ズ(smooth)信号s(n)と、ハイパスフィルタの出力であ
るディテール(detail)信号d(n)は次式のように計算さ
れる。
<Calculation for Obtaining One Wavelet Tree> The following equation defines both the TS transform and the TT transform.
A smooth signal s (n) output from the low-pass filter for the input x (n) and a detail signal d (n) output from the high-pass filter are calculated as follows.

【0172】[0172]

【数1】 (Equation 1)

【0173】逆変換は次式で示される。The inverse transformation is represented by the following equation.

【0174】[0174]

【数2】 (Equation 2)

【0175】ただし、p(n)は次式により計算される。Note that p (n) is calculated by the following equation.

【0176】[0176]

【数3】 (Equation 3)

【0177】TS変換とTT変換はt(n)の定義が異な
る。
[0177] The TS conversion and the TT conversion have different definitions of t (n).

【0178】TS変換の場合は次のとおりである。The case of the TS conversion is as follows.

【0179】[0179]

【数4】 (Equation 4)

【0180】TT変換の場合は次のとおりである。The case of the TT conversion is as follows.

【0181】[0181]

【数5】 (Equation 5)

【0182】なお、以下の説明において、In the following description,

【0183】[0183]

【外1】 [Outside 1]

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

【0185】<TS変換>6タップ・フィルタと2タッ
プ・フィルタを偶数位置に使用する結果、3つの情報を
記憶しなければならない。6タップ・フィルタは2ディ
レーを必要とする。2タップ・フィルタは、その結果を
6タップ・フィルタの結果に対し中心に置くことができ
るようにするために1ディレーを必要とする。具体的に
は、2つのs(・)値と、1つのd(・)値又はd(・)計算
の部分結果を記憶する必要がある。これらの値のメモリ
は、フィルタ処理がシームを跨いでも跨がなくても、同
じである。
<TS Conversion> As a result of using the 6-tap filter and the 2-tap filter at even positions, three pieces of information must be stored. A 6 tap filter requires 2 delays. A two tap filter requires one delay to be able to center its result on the result of a six tap filter. Specifically, it is necessary to store two s (•) values and one d (•) value or a partial result of the d (•) calculation. The memory of these values is the same whether or not the filtering process crosses the seam.

【0186】図5から図12は、本発明のウェーブレッ
ト木に対し4レベル変換のためのTS変換フィルタを適
用する度に得られる結果を示すものである。これらの図
において、ローパスフィルタの出力はスムーズ(smoot
h)の代わりに"s"と表示されており、ハイパスフィルタ
の出力はデイテール(detail)の代わりに"d"と表示さ
れている。"B"は"d"の計算に用いられる中間値、すなわ
ちx(2n)-x(2n+1)値を意味する。"B"値は順変換時に用い
られ、逆変換の場合には、どの計算にも用いられない"
d"値がその場所に格納される。記号"sd"は、ある係数
が、水平方向のローパスフィルタをかけてから垂直方向
のハイパスフィルタをかけた結果であることを示す。"d
s","dd","ss","dB","sB"の意味も同様である。太線
の四角は256個の入力画素に対応する。網掛けした"
s","ds","ss"値は、前のウェーブレット木を使って計算
され、カレントのウェーブレット木で用いるために記憶
される。
FIGS. 5 to 12 show the results obtained each time a TS transform filter for four-level transform is applied to the wavelet tree of the present invention. In these figures, the output of the low-pass filter is smooth (smoot
"s" is shown instead of h) and the output of the high-pass filter is shown as "d" instead of detail. "B" means an intermediate value used for calculating "d", that is, an x (2n) -x (2n + 1) value. The "B" value is used in the forward transform and not used in any calculations in the reverse case. "
The value "d" is stored in that location. The symbol "sd" indicates that a coefficient is the result of applying a horizontal low-pass filter and then a vertical high-pass filter. "d
The same applies to the meanings of "s", "dd", "ss", "dB", and "sB". Squares in bold lines correspond to 256 input pixels.
The s "," ds "," ss "values are calculated using the previous wavelet tree and stored for use in the current wavelet tree.

【0187】順変換の場合、レベル2,レベル3及びレ
ベル4の変換の入力は前レベルで得られた"ss"係数であ
る。"sd","ds","dd"係数は完成しているから、計算され
た時に出力可能である。逆変換は全ての計算を逆順に、
すなわち、レベルを最初に第4レベル、次に第3レベ
ル、第2レベル、最後に第1レベルの順に、方向を初め
に垂直方向、次に水平方向の順にして行う。変換のパス
内では、順変換と逆変換のデータフローは同一であり、
計算が異なるだけである。
In the case of the forward conversion, the input of the level 2, level 3 and level 4 conversion is the "ss" coefficient obtained at the previous level. Since the "sd", "ds", and "dd" coefficients are completed, they can be output when they are calculated. The inverse transformation performs all calculations in reverse order,
That is, levels are performed first in the order of the fourth level, then in the third level, in the second level, and finally in the first level, in the order of vertical first, then horizontal. Within the transformation path, the forward and reverse transformation data flows are identical,
Only the calculations are different.

【0188】<TS変換のハードウェア>図13は、1
次元フィルタを実現するための順/逆フィルタユニット
の一実施例のブロック図である。メモリと計算ユニット
だけが示されており、ハードワイアド・シフトは示され
ていない。図13において、フィルタユニット4000
は順変換及び逆変換の両方を処理する。他の実施例は順
変換と逆変換のために別々のユニットを使用する。順変
換の場合、サイズ"n"の入力が用いられ、"s"出力と"d"
出力が生成される。逆変換の場合、"s"入力と"d"入力が
使われ、別の出力が生成される。
<Hardware for TS Conversion> FIG.
FIG. 4 is a block diagram of an embodiment of a forward / reverse filter unit for realizing a dimensional filter. Only the memory and computation units are shown, not the hardwired shift. In FIG. 13, the filter unit 4000
Handles both forward and inverse transforms. Other embodiments use separate units for forward and inverse transforms. In the case of forward conversion, an input of size "n" is used, "s" output and "d"
Output is generated. In the case of the inverse transformation, the "s" and "d" inputs are used, producing another output.

【0189】加算器4001は、nビットの入力を受け
取り、それら入力を加算して出力x(2n+2)+x(2n+3)を出
すように接続される。加算器4002は一方のnビット
入力を他方のnビット入力から減算し、x(2n+2)-x(2n+
3)の値を出力する。加算器4001,4002の出力は
マルチプレクサ(mux)4003,4004の一方の
入力にそれぞれ接続される。mux4003,4004
の他方の入力は、s入力とd入力を受け取るようにそれ
ぞれ接続されている。一実施例では、s入力はnビット
であり、d入力はnビットより大きい。
The adder 4001 is connected so as to receive n-bit inputs, add the inputs, and generate an output x (2n + 2) + x (2n + 3). An adder 4002 subtracts one n-bit input from the other n-bit input, and calculates x (2n + 2) -x (2n +
Output the value of 3). Outputs of the adders 4001 and 4002 are connected to one inputs of multiplexers (muxes) 4003 and 4004, respectively. mux 4003, 4004
Are connected to receive an s input and a d input, respectively. In one embodiment, the s input is n bits and the d input is greater than n bits.

【0190】mux4003,4004の出力は、フィ
ルタが順モードか逆モードかを指示する順/逆制御信号
によって制御される。順モード、逆モードのいずれにお
いても、mux4003の出力はs(n+1)である。他方、
mux4004の出力は、順モードではp(n+1)であり、
逆モードではd(n+1)である。mux4003,4004
の出力は、mux4006から出力されるs(n)のフィー
ドバックとともにレジスタファイル4005の入力と接
続される。レジスタファイル4005は1つのウェーブ
レットの長さ分の各成分のためのエントリーを持つ。デ
ータは通常、レジスタファイル4005を通過する。空
間位置に基づき、レジスタファイル4005への入力は
遅延されて出力される。アドレス入力がレジスタファイ
ル4005の出力を制御する。一実施例では、レジスタ
ファイル4005は、1バンクにつき1つのポートを持
つ2つのメモリバンクからなり、2つのメモリバンクを
交互にピンポン式にアクセスして使用される。mux4
003の出力はフィルタユニットのs出力でもある。
The outputs of muxes 4003 and 4004 are controlled by forward / reverse control signals indicating whether the filter is in forward mode or reverse mode. In both the forward mode and the reverse mode, the output of the mux 4003 is s (n + 1). On the other hand,
The output of mux 4004 is p (n + 1) in forward mode,
In the reverse mode, it is d (n + 1). mux 4003, 4004
Is connected to the input of the register file 4005 together with the feedback of s (n) output from the mux 4006. The register file 4005 has an entry for each component for one wavelet length. Data typically passes through register file 4005. Input to the register file 4005 is delayed and output based on the spatial position. The address input controls the output of the register file 4005. In one embodiment, the register file 4005 is composed of two memory banks having one port per bank, and the two memory banks are alternately accessed in a ping-pong manner. mux4
The output of 003 is also the s output of the filter unit.

【0191】レジスタファイル4005の出力は、シー
ムバッファ入力4020の外部バッファデータとともに
mux4006の入力に接続される。その出力4006
Aは、mux4003の出力が2回遅延されたs(n-1)で
ある。出力4006Bは、s(n+1)を1回遅延されたs(n)
である。出力4006Cは、順変換のときはp(n)であ
り、逆変換のときはd(n)である。mux4006はま
た、外部にバッファされるシーム(seam)データをシーム
バッファ出力4021に出力するように制御される。出
力4006Cは、加算器4008,4009の一方の入
力に接続される。加算器4008,4009の他方の入
力はmux4015の出力である。mux4015は境
界条件を処理する。境界上では、mux4015は、そ
の入力の一方に布線された0を出力する。実施例によっ
ては、布線の0は別の値を使うように変更されるかもし
れない。非境界の条件では、加算器4007により一方
の入力s(n+1)から他方の入力s(n-1)を減算することによ
って出力されるt(n)をmux4015は出力する。
An output of the register file 4005 is connected to an input of the mux 4006 together with external buffer data of the seam buffer input 4020. Its output 4006
A is s (n-1) where the output of mux 4003 is delayed twice. The output 4006B is obtained by delaying s (n + 1) once by s (n).
It is. The output 4006C is p (n) for forward transform and d (n) for inverse transform. Mux 4006 is also controlled to output externally buffered seam data to seam buffer output 4021. Output 4006C is connected to one input of adders 4008 and 4009. The other input of adders 4008 and 4009 is the output of mux 4015. Mux 4015 handles boundary conditions. On the boundary, mux 4015 outputs a hardwired 0 to one of its inputs. In some embodiments, the wiring 0 may be changed to use a different value. Under the non-boundary condition, the mux 4015 outputs t (n) output by subtracting one input s (n + 1) from the other input s (n-1) by the adder 4007.

【0192】加算器4008は、mux4006の出力
4006Cとmux4015の出力を加算し、フィルタ
ユニットのd出力を発生する。加算器4009は、mu
x4015の出力からmux4006の出力4006C
を減算する。加算器4009の出力はmux4006の
出力4006Bのs(n)と加算器4010によって加算さ
れ、フィルタユニットのnビット出力が生成される。加
算器4009の出力はまた、加算器4011によってm
ux4006の出力4006Bであるs(n)から減算さ
れ、加算器4011はフィルタユニットの他方のnビッ
ト出力を逆向きに出力する。
The adder 4008 adds the output 4006C of the mux 4006 and the output of the mux 4015 to generate the d output of the filter unit. The adder 4009 calculates
From the output of x4015 to the output 4006C of mux4006
Is subtracted. The output of the adder 4009 is added to s (n) of the output 4006B of the mux 4006 by the adder 4010 to generate an n-bit output of the filter unit. The output of adder 4009 is also
Subtracted from s (n), which is the output 4006B of ux 4006, adder 4011 outputs the other n-bit output of the filter unit in the opposite direction.

【0193】1つのウェーブレット木より長いシームの
場合には、シームデータは、レジスタファイル4005
ではなく、オンチップのスタティックRAM(SRA
M)又は外部メモリに格納されるかもしれない。mux
4006は、このような付加的なシームメモリに対する
アクセスを提供する。
In the case of a seam longer than one wavelet tree, the seam data is stored in the register file 4005.
Instead of an on-chip static RAM (SRA
M) or stored in external memory. mux
4006 provides access to such additional seam memory.

【0194】フィルタユニット4000のハードウェア
コストの大部分は、レジスタファイル4005によるも
のである。全体の必要メモリ量はフィルタユニットの個
数によって決まる。一実施例では、3つの値(s,s,d又
はss,ss,sd)を記憶するために合計60ロケーションが
必要とされる。それより多数のフィルタユニットが使用
される時には、それぞれのフィルタユニットのための必
要メモリは、それより少ない。したがって、多数のフィ
ルタユニットを使用するハードウェアコストは低い。
Most of the hardware cost of the filter unit 4000 is due to the register file 4005. The total required memory amount is determined by the number of filter units. In one embodiment, a total of 60 locations are required to store three values (s, s, d or ss, ss, sd). When a larger number of filter units are used, less memory is required for each filter unit. Therefore, the hardware cost of using a large number of filter units is low.

【0195】高速の逆変換は、復号化の終了と印刷のよ
うなデータ出力動作の開始との間の遅れ時間の短縮を可
能にする。これは、伸長のために必要な作業域メモリを
減少させ、より大きな符号化単位を可能にする。高速の
順変換は、より大きな帯域幅を使用可能な時にフィルタ
がデータのバーストを処理できるようにし、したがっ
て、ルックアヘッドによって文脈モデルがデータを素早
く処理できる時には、変換がより多くのデータを文脈モ
デルに供給することを可能にする。符号化期間に順変換
が文脈モデルに追従できないと、符号化中のディスクの
帯域幅が無駄になり、印刷の開始時間を遅らせる。ま
た、多数のフィルタを備えることにより、制御及びデー
タフローを単純化できる。
The fast inverse transform allows a reduction in the delay between the end of decoding and the start of a data output operation such as printing. This reduces the work area memory required for decompression and allows for larger coding units. The fast forward transform allows the filter to process bursts of data when more bandwidth is available, so when the look-ahead allows the context model to process the data quickly, the transform uses more data in the context model. To be supplied to If the forward transform cannot follow the context model during the encoding period, the bandwidth of the disk being encoded will be wasted and the printing start time will be delayed. Also, by providing a large number of filters, control and data flow can be simplified.

【0196】図14は本発明による第1レベル順変換の
一実施例のブロック図である。図14において、図13
で説明したような2つのフィルタユニット401,40
2は、変換の第1レベルを実行する。フィルタユニット
401はレベル1の水平変換を行い、フィルタユニット
402はレベル1の垂直変換を行う。一実施例では、第
1レベル変換は入力の2×2ブロックを処理する。4つ
のレジスタ403〜406はフィルタユニット401の
出力を遅延させるためのディレーユニットとして働く。
これは子ベース順と呼ばれる。レジスタ403はフィル
タユニット401のs出力を受け取り、レジスタ40
4,405はd出力を受け取る。レジスタ404の出力
はレジスタ406の入力に接続される。レジスタ40
3,406の出力はmux407の入力に接続され、フ
ィルタユニット401のs出力とレジスタ405の出力
はmux408の入力に接続される。2つのmux40
7,408は、フィルタユニット401から出力された
係数を遅延したものからフィルタユニット402の入力
を選択する。
FIG. 14 is a block diagram of an embodiment of the first level forward conversion according to the present invention. In FIG. 14, FIG.
Two filter units 401 and 40 as described in
2 performs the first level of conversion. The filter unit 401 performs level 1 horizontal conversion, and the filter unit 402 performs level 1 vertical conversion. In one embodiment, the first level transform processes a 2x2 block of input. The four registers 403 to 406 serve as delay units for delaying the output of the filter unit 401.
This is called child-based order. Register 403 receives the s output of filter unit 401 and registers
4,405 receives the d output. The output of register 404 is connected to the input of register 406. Register 40
The outputs of 3,406 are connected to the input of mux 407, and the s output of filter unit 401 and the output of register 405 are connected to the input of mux 408. Two mux40
Reference numerals 7 and 408 select the input of the filter unit 402 from the delayed coefficients output from the filter unit 401.

【0197】フィルタユニット401は、2つの垂直方
向に隣接した入力対を連続的に処理して4つの係数を生
成し、これら係数は各成分毎にレジスタ403〜406
によって適切に遅延されてフィルタユニット402に入
力することができる。4つの結果のうちの3つは直ちに
出力することができるが、"ss"出力はさらに処理され
る。
The filter unit 401 continuously processes two vertically adjacent input pairs to generate four coefficients, which are stored in registers 403 to 406 for each component.
, And can be input to the filter unit 402 after being appropriately delayed. Three of the four results can be output immediately, but the "ss" output is further processed.

【0198】第1レベル順変換は2×2配置の4画素の
グループを処理する。説明のため、第1行に画素a,b
があり、第2行に画素c,dがあるとする。図14の第
1レベル変換の動作は次のとおりである。最初のサイク
ルで、フィルタユニット401によって水平変換が画素
a,bに施される。フィルタユニット401はSab,D
abを生成し、Sabはレジスタ403に格納され、Dabは
レジスタ404,405に格納される。次のサイクル
で、画素c,dがフィルタユニット401によって水平
処理が行われ。このフィルタユニット401を適用した
結果、ScdとDcdが生成され、Scdはレジスタ403
に、Dcdはレジスタ404,405に格納される。この
サイクルで、レジスタ403からのSabとレジスタ40
5からのScdをフィルタユニット402が処理して変換
の垂直パスを実行し、SSとSDを生成する。また、こ
の第2サイクル期間中に、値Dabはレジスタ404から
レジスタ406へ移動する。次のサイクルで、レジスタ
406からの値Dabとレジスタ405からの値Dcdがフ
ィルタユニット402により処理され、フィルタユニッ
ト402は出力DS,DDを生成する。同じサイクル中
に、フィルタユニット401は次の2×2ブロックの
a,b画素を処理する。
The first level forward conversion processes a group of four pixels arranged in a 2 × 2 arrangement. For the sake of explanation, pixels a and b are included in the first row.
And the pixels c and d are in the second row. The operation of the first level conversion in FIG. 14 is as follows. In the first cycle, the horizontal conversion is performed on the pixels a and b by the filter unit 401. Filter unit 401 is Sab, D
ab is generated, Sab is stored in the register 403, and Dab is stored in the registers 404 and 405. In the next cycle, the pixels c and d are subjected to horizontal processing by the filter unit 401. As a result of applying the filter unit 401, Scd and Dcd are generated, and Scd is stored in the register 403.
Is stored in registers 404 and 405. In this cycle, Sab from register 403 and register 40
5 is processed by filter unit 402 to perform a vertical pass of the transform to generate SS and SD. Also, during this second cycle, the value Dab moves from register 404 to register 406. In the next cycle, the value Dab from register 406 and the value Dcd from register 405 are processed by filter unit 402, which produces outputs DS and DD. During the same cycle, the filter unit 401 processes the next 2 × 2 block of a and b pixels.

【0199】図15は、本発明による順変換の一実施例
のブロック図である。図15において、レベル1変換部
502はレベル1変換を実行する。一実施例では、レベ
ル1変換部502は図14のレベル1変換部からなる。
フィルタユニット505は変換のレベル2,3,4を処
理する。メモリ503は"ss"係数を、変換を実行するた
めに必要なだけの係数が得られるまで記憶する。記憶す
る必要がある係数の個数を図60に示す。(各ロケーシ
ョンは各成分の1つの係数を格納する)順序ユニット5
04は、適切な入力をフィルタユニット505にマルチ
プレクスする。入力バッファ501と出力バッファ50
6は、この変換部に要求される転送順序とバンドバッフ
ァ又は文脈モデルに要求される順序との間の整合をとる
ために必要であろう。
FIG. 15 is a block diagram of an embodiment of the forward conversion according to the present invention. In FIG. 15, a level 1 conversion unit 502 performs a level 1 conversion. In one embodiment, level 1 converter 502 comprises the level 1 converter of FIG.
Filter unit 505 processes levels 2, 3, and 4 of the transform. Memory 503 stores the "ss" coefficients until as many coefficients as necessary to perform the conversion are obtained. FIG. 60 shows the number of coefficients that need to be stored. (Each location stores one coefficient for each component) Ordering unit 5
04 multiplexes the appropriate inputs to the filter unit 505. Input buffer 501 and output buffer 50
Step 6 would be necessary to match the transfer order required for this converter with the order required for the band buffer or context model.

【0200】逆変換の場合、データフローが逆にされ、
レベル4逆変換が行われたのちにレベル3、レベル2、
レベル1の変換が順に行われる。レベル2変換の出力は
第1レベル変換ハードウェアであるレベルレベル1変換
部502へ入力される。また、垂直フィルタ処理が水平
フィルタ処理の前に行われる。水平フィルタ処理と垂直
フィルタ処理は一方がシーム用の付加的メモリに対する
アクセスを必要とする以外は同じであるから、少量のマ
ルチプレキシングによってデータフローを逆にすること
が可能である。逆変換の前に、2バイト係数を、2つの
信号用ビットを持つ埋め込み形式から普通の2の補数の
数値へ変換する必要がある。図14及び図15に示した
要素は、TT変換の場合にも同様に使用できる。
In the case of the inverse transformation, the data flow is reversed,
After the Level 4 inverse transformation is performed, Level 3, Level 2,
Level 1 conversions are performed sequentially. The output of the level 2 conversion is input to the level level 1 conversion unit 502 which is the first level conversion hardware. Further, the vertical filtering is performed before the horizontal filtering. Since the horizontal and vertical filtering are the same except that one requires access to additional memory for the seam, a small amount of multiplexing can reverse the data flow. Prior to the inverse transformation, the two-byte coefficients need to be converted from an embedded form with two signaling bits to a normal two's complement number. The elements shown in FIGS. 14 and 15 can be similarly used in the case of TT conversion.

【0201】<変換タイミング>図15の順変換部の変
換タイミングは、個々のフィルタユニットのタイミング
がベースになる。第1のフィルタユニットすなわちフィ
ルタユニット401は水平方向レベル1変換を計算し、
第2のフィルタユニットすなわちフィルタユニット40
2は垂直方向レベル1変換を計算する。第3のフィルタ
ユニットすなわちフィルタユニット505はレベル2〜
4の変換を計算し、又は遊休状態である。
<Conversion Timing> The conversion timing of the forward conversion unit in FIG. 15 is based on the timing of each filter unit. A first filter unit or filter unit 401 calculates a horizontal level 1 transform,
Second filter unit or filter unit 40
2 computes the vertical level 1 transform. The third filter unit, ie, filter unit 505,
4 is calculated or idle.

【0202】一実施例では、第3のフィルタユニット
(505)は、遊休状態でなければ、偶数クロックサイ
クル期間中に水平変換を計算し、奇数クロックサイクル
期間中に垂直変換を計算する。逆変換のためのタイミン
グも同様である(ただし逆になる)。
In one embodiment, the third filter unit (505) calculates the horizontal transform during even clock cycles and the vertical transform during odd clock cycles if not idle. The same applies to the timing for the inverse conversion (however, the timing is reversed).

【0203】以下に述べる例では、ウェーブレット木内
の2×2ブロックは、ラスタ順の転置順に処理される。
なお、ウェーブレット木内の2×2ブロックがラスタ順
に処理されるならば、高速ページモードDRAM/ED
O(extended data out)DRAMをサポートするために
必要とされる入/出力(I/O)バッファリングがもっ
と少なくなるかもしれない。
In the example described below, 2 × 2 blocks in the wavelet tree are processed in the transposition order in the raster order.
If 2 × 2 blocks in the wavelet tree are processed in raster order, the high-speed page mode DRAM / ED
Less input / output (I / O) buffering may be required to support an extended data out (O) DRAM.

【0204】図16は、係数が出力される時のタイミン
グ図である。以下のタイミングは画素毎のタイミングで
ある。1画素あたり4つの成分がある。
FIG. 16 is a timing chart when a coefficient is output. The following timing is a timing for each pixel. There are four components per pixel.

【0205】 時刻0から開始 do: for (x+0;x<16/2;y++) for(y=0;y<16;y++) (x,y) にレベル1水平フィルタを適用 時刻1から開始 do: for (x=0;y<16/2;y++)/ for(y=0;y<16/2;y++) for(xx=-1;xx<1;xx++) /* 0=smmoth,-1=previous detail */ (2*x+xx,y)にレベル1垂直フィルタを適用 for (x=0;x<8/2;x++) 時刻18+x*32から開始、偶数時刻にdo: for(y=0;y<8;y++) (x,y)にレベル2水平フィルタを適用 for (x=0;x<8/2;x++) 時刻21+x*32から開始、奇数時刻にdo: for(y=0;y<8/2;y++) for(xx=-1;xx<1;xx++) /* 0=smooth,-1=previous detail */ (2*x+xx,y)にレベル2垂直フィルタを適用 for (x=0;x<4/2;x++) 時刻66+x*64から開始、偶数時刻にdo: for (y=0;y<4;y++) (x,y)にレベル3水平フィルタを適用 for (x=0;x<4/2;x++) 時刻69+x*64から開始、奇数時刻にdo: for(y=0;y<4/2;y++) for(xx=-1;xx<1;xx++) /* 0=smooth, -1=previous detail*/ (2*x+xx,y)にレベル3垂直フィルタを適用 時刻138に (0,0)にレベル4水平フィルタを適用 時刻140に (0,1)にレベル4水平フィルタを適用 時刻141に (0,0)にレベル4垂直フィルタを適用 /* smooth */ 時刻143に (-1,0)にレベル4垂直フィルタを適用 /* previous detail */ 。Start at time 0 do: for (x + 0; x <16/2; y ++) for (y = 0; y <16; y ++) Apply level 1 horizontal filter to (x, y) From time 1 Start do: for (x = 0; y <16/2; y ++) / for (y = 0; y <16/2; y ++) for (xx = -1; xx <1; xx ++) / * 0 = smmoth , -1 = previous detail * / Apply level 1 vertical filter to (2 * x + xx, y) for (x = 0; x <8/2; x ++) Starting at time 18 + x * 32, at even time do: for (y = 0; y <8; y ++) Apply level 2 horizontal filter to (x, y) for (x = 0; x <8/2; x ++) Start at time 21 + x * 32, odd number At the time do: for (y = 0; y <8/2; y ++) for (xx = -1; xx <1; xx ++) / * 0 = smooth, -1 = previous detail * / (2 * x + xx , y) apply level 2 vertical filter for (x = 0; x <4/2; x ++) Start at time 66 + x * 64, do: for (y = 0; y <4; y ++) at even time Apply level 3 horizontal filter to (x, y) for (x = 0; x <4/2; x ++) Start at time 69 + x * 64, do: for (y = 0; y <4 / 2; y ++) for (xx = -1; xx <1; xx ++) / * 0 = smooth, -1 = previous detail * / Apply level 3 vertical filter to (2 * x + xx, y) Level 4 water at (0,0) Flat filter applied Level 4 horizontal filter applied at (0,1) at time 140 Level 4 vertical filter applied at (0,0) at time 141 / * smooth * / Level at (143,0) at time 143 4 Apply vertical filter / * previous detail * /.

【0206】<TT変換>図17から図24はTT変換
の各1次元フィルタ処理の結果(出力)を示す。太線の
長方形は、現在処理されている入力画素に対応する1つ
のウェーブレット木内の係数を示し、網掛けしたものは
記憶されている前ウェーブレット木からの係数を示
す。"B"と記された値は記憶される中間結果である(ま
た、隣接標本間の差分である)。TT変換はTS変換と
似ているが、もっと多くのメモリを必要とする。
<TT Transformation> FIGS. 17 to 24 show the results (outputs) of each one-dimensional filter processing of the TT transformation. The bold rectangles indicate the coefficients in one wavelet tree corresponding to the currently processed input pixel, and the shaded ones indicate the coefficients from the stored previous wavelet tree. The value marked "B" is the stored intermediate result (and also the difference between adjacent samples). The TT transform is similar to the TS transform, but requires more memory.

【0207】図25は、10タップの順/逆フィルタユ
ニットのブロック図である。なお、ハードワイアド・シ
フト(hardwired shfts)と丸めオフセット(rounding off
sets)は煩雑さを避けるため示されていない。図25中
のmux806を変換境界でのミラー処理のためにも使
用できることに注意されたい。ミラー処理を1回行うた
めに、重複ユニットの"d"入力のゼロイング(zeroing)と
s(n+2)入力のマルチプレキシングも行う必要がある。
FIG. 25 is a block diagram of a 10-tap forward / inverse filter unit. Note that hardwired shfts and rounding off
sets) are not shown to avoid complexity. Note that mux 806 in FIG. 25 can also be used for mirroring at the transform boundary. In order to perform the mirror processing once, zeroing of the “d” input of the duplicate unit and
It is also necessary to multiplex the s (n + 2) input.

【0208】図25において、加算器801,802
は、フィルタユニットの順パス期間中に2nビット入力
を受け取るように接続される。加算器801は2nビッ
ト入力を加算して値を出力し、この値はmux803の
一方の入力に与えられる。加算器802は一方の入力を
他方の入力から減算し、mux804の一方の入力への
出力を発生する。mux803,804はまた、フィル
タユニットの逆モード動作のためにs,d入力をれぞれ
受け取るように接続される。mux803の出力はnビ
ット入力で、これはs(n+2)であり、mux804の出力
はn+1ビット入力で、これは順パスのp(n+2)、逆パスのd
(n+2)である。
In FIG. 25, adders 801 and 802
Are connected to receive 2n bit inputs during the forward pass of the filter unit. Adder 801 adds the 2n-bit inputs and outputs a value, which is provided to one input of mux 803. Adder 802 subtracts one input from the other to produce an output to one input of mux 804. Muxes 803 and 804 are also connected to receive s and d inputs, respectively, for reverse mode operation of the filter unit. The output of mux 803 is an n-bit input, which is s (n + 2), and the output of mux 804 is an n + 1-bit input, which is p (n + 2) in the forward pass and d in the reverse pass.
(n + 2).

【0209】mux803,804の出力はメモリ80
5の入力に接続される。メモリ805の入力には、mu
x806の出力806A,806D〜806Fも接続さ
れるる。メモリ805は、その入力を空間配置に基づい
て遅延させて出力に出す。一実施例では、メモリ805
はレジスタファイル、又は、2つのバンクを有しかつ1
バンクあたり1つのポートを持ちピンポン式に動作させ
られるSRAMから構成される。メモリ805の入力に
は、mux806へ送出される出力を制御するためにア
ドレスが入力される。一実施例では、このアドレスは1
成分あたり16又は28ロケーションを格納する。
The outputs of mux 803 and 804 are stored in memory 80
5 inputs. The input of the memory 805 includes mu
Outputs 806A, 806D to 806F of x806 are also connected. The memory 805 delays the input based on the spatial arrangement and outputs the delayed output. In one embodiment, memory 805
Is a register file, or one with two banks and one
It comprises an SRAM having one port per bank and operated in a ping-pong manner. An address is input to the input of the memory 805 to control an output sent to the mux 806. In one embodiment, this address is 1
Store 16 or 28 locations per component.

【0210】メモリ805の出力は、シームバッファ入
力802より受け取る外部バッファデータとともにmu
x806の入力に接続される。mux806の出力80
6Aは、s(n+1)、すなわちmux803の出力のs(n+2)
を1回遅延(シングルディレー)させたものである。m
ux806の出力806Bは、s(n)すなわちmux80
3の出力を2回遅延(ダブルディレー)させたものであ
る。mux806の出力806Cは、順パスではp(n)す
なわちmux806の出力を2回遅延させたものであ
り、逆パスではd(n)すなわちmux804の出力を2回
遅延させたものである。mux806の出力806E
は、s(n-1)すなわちmux803の出力を3回遅延させ
たものである。最後に、出力806Fは、順パスではp
(n+1)、すなわちmux804の出力を1回遅延させた
ものであり、逆パスではd(n+1)すなわちmux804の
出力を1回遅延させたものである。
[0210] The output of the memory 805 is mu together with the external buffer data received from the seam buffer input 802.
x806. Output 80 of mux 806
6A is s (n + 1), that is, s (n + 2) of the output of mux 803.
Is delayed once (single delay). m
The output 806B of ux 806 is s (n), ie, mux 80
The output of No. 3 is delayed twice (double delay). The output 806C of the mux 806 is obtained by delaying p (n), that is, the output of the mux 806 twice in the forward pass, and d (n), ie, outputting the mux 804 twice in the reverse pass. Output 806E of mux 806
Is obtained by delaying s (n-1), that is, the output of the mux 803 three times. Finally, output 806F is p in the forward pass
(n + 1), that is, the output of mux 804 is delayed once, and in the reverse path, d (n + 1), that is, the output of mux 804 is delayed once.

【0211】重複ユニット807は、mux803の出
力並びにmux806の出力806A,806D,80
6Eを受け取るように接続される。重複ユニット807
は、その入力に応答してt(n)を発生する。重複ユニット
の一実施例を図26に示す。
The duplication unit 807 outputs the output of the mux 803 and the outputs 806A, 806D, and 80 of the mux 806.
Connected to receive 6E. Duplicate unit 807
Generates t (n) in response to its input. One embodiment of the overlapping unit is shown in FIG.

【0212】重複ユニット807の出力t(n)は加算器8
08,809に接続される。加算器808はt(n)をmu
x806の出力806Cと加算し、フィルタユニットの
D出力を生成する。加算器809は、mux806の出
力806Cをt(n)から減算する。加算器809の出力は
加算器810,811の各入力に接続される。加算器8
10は、加算器809の出力とmux806の出力80
6Bを加算し、逆フィルタユニットとして動作時のフィ
ルタユニットのnビット出力の1つを発生する。加算器
811は、加算器809の出力をmux806の出力8
06Bから減算し、逆フィルタとして動作時のフィルタ
ユニットの他方の出力を生成する。
The output t (n) of the duplication unit 807 is
08,809. The adder 808 calculates t (n) as mu
The output 806C of x806 is added to generate a D output of the filter unit. The adder 809 subtracts the output 806C of the mux 806 from t (n). The output of the adder 809 is connected to each input of the adders 810 and 811. Adder 8
10 is an output of the adder 809 and an output 80 of the mux 806.
6B to generate one of the n-bit outputs of the filter unit when operating as an inverse filter unit. The adder 811 outputs the output of the adder 809 to the output 8 of the mux 806.
06B to generate the other output of the filter unit during operation as an inverse filter.

【0213】図26は、図25の順/逆フィルタのため
の重複ユニットの一実施例のブロック図である。図26
において、この重複ユニットは加算器901〜906、
乗算器907〜909、除算器901からなる。乗算器
及び除算器はハードワイアド・シフトであってもよい。
FIG. 26 is a block diagram of one embodiment of an overlapping unit for the forward / inverse filter of FIG. FIG.
In, this overlapping unit is added to adders 901 to 906,
It comprises multipliers 907 to 909 and a divider 901. The multiplier and the divider may be a hardwired shift.

【0214】図26の重複ユニットは、前述のTT変換
のためのt(n)を計算する。図26において、加算器90
1はs(n+2)入力を受け取り、それをs(n-2)入力から減算
するように接続され、加算器903の一方の入力に接続
される出力を発生する。加算器902は、s(n-1)を受け
取り、それをs(n+1)から減算するように接続される。加
算器902の出力は乗算器907,908の入力に接続
される。乗算器907は、その入力を2倍する。一実施
例においては、この乗算は、入力のビットを1ビット左
シフトすることによりなされる。乗算器907の出力は
加算器903の他方の入力に接続される。
The overlap unit in FIG. 26 calculates t (n) for the above-described TT conversion. In FIG. 26, an adder 90
One is connected to receive the s (n + 2) input and subtract it from the s (n−2) input, producing an output connected to one input of adder 903. Adder 902 is connected to receive s (n-1) and subtract it from s (n + 1). The output of the adder 902 is connected to the inputs of multipliers 907 and 908. Multiplier 907 doubles its input. In one embodiment, the multiplication is performed by shifting the bits of the input one bit to the left. The output of the multiplier 907 is connected to the other input of the adder 903.

【0215】乗算器908は、加算器902の出力を1
6倍する。一実施例では、この乗算は、加算器902か
ら出力されるビットを4ビット左シフトすることにより
なされる。乗算器908の出力は、加算器905の一方
の入力に接続される。加算器903の出力は、加算器9
04の一方の入力と乗算器909の入力に接続される。
A multiplier 908 outputs the output of the adder 902 to 1
Multiply by 6. In one embodiment, this multiplication is performed by shifting the bits output from adder 902 to the left by 4 bits. An output of the multiplier 908 is connected to one input of the adder 905. The output of the adder 903 is
04 and one input of a multiplier 909.

【0216】乗算器909は加算器903の出力を2倍
する。一実施例では、この乗算は、加算器903より出
力されるビットを1ビット左シフトすることによりなさ
れる。乗算器909の出力は加算器904の他方の入力
に接続される。加算器904の出力は加算器906の入
力に接続され、ハードワイヤド入力である32と加算さ
れる。加算器906の出力は除算器910の入力に接続
される。除算器910は、入力を64で除算する。一実
施例では、この除算は、入力のビットを6ビット右シフ
トすることによりなされる。除算器910の出力はt(n)
出力となる。なお、図26は、各出力にカレント値を示
している。
The multiplier 909 doubles the output of the adder 903. In one embodiment, this multiplication is performed by shifting the bits output from the adder 903 to the left by one bit. The output of the multiplier 909 is connected to the other input of the adder 904. The output of adder 904 is connected to the input of adder 906 and is added to the hardwired input 32. The output of adder 906 is connected to the input of divider 910. Divider 910 divides the input by 64. In one embodiment, this division is performed by right shifting the bits of the input by 6 bits. The output of divider 910 is t (n)
Output. FIG. 26 shows the current value for each output.

【0217】可逆TS変換、可逆T変換の両方におい
て、S変換と同様に、ローパスフィルタを、入力信号x
(n)のレンジが出力信号s(n)のレンジと同じになるよう
に作ることができる。すなわち、スムーズ(smooth)出力
は増大しない。入力信号が8ビット深さのときは、スム
ーズ出力もbビットである。例えば、信号が8ビット画
像のときには、ローパスフィルタの出力も8ビットであ
る。このことは、スムーズ出力が例えば連続的にローパ
スフィルタをかけることにより更に圧縮されるピラミッ
ドシステムにとって重要な特性である。従来のシステム
においては、出力信号のレンジが入力信号のレンジより
大きいため、連続的にフィルタをかけることが困難であ
る。また、変換の整数演算に系統誤差がないので、ロッ
シーシステムの全ての誤差を量子化によって制御可能で
ある。さらに、ローパスフィルタは、2つのタップしか
持たないため、非重複フィルタになる。この特性は、ハ
ードウェア化のために重要である。
In both the reversible TS conversion and the reversible T conversion, similarly to the S conversion, a low-pass filter is applied to the input signal x.
It can be made so that the range of (n) is the same as the range of the output signal s (n). That is, the smooth output does not increase. When the input signal is 8 bits deep, the smooth output is also b bits. For example, when the signal is an 8-bit image, the output of the low-pass filter is also 8-bit. This is an important property for pyramid systems where the smooth output is further compressed, for example, by continuous low-pass filtering. In conventional systems, it is difficult to filter continuously because the range of the output signal is greater than the range of the input signal. In addition, since there is no systematic error in the integer operation of the conversion, all errors in the lossy system can be controlled by quantization. Furthermore, the low-pass filter is a non-overlapping filter because it has only two taps. This property is important for hardware implementation.

【0218】<埋め込み順序づけ>本発明では、ウエー
ブレット分割の結果生成された係数はエントロピー符号
化される。本発明では、係数は最初に埋め込み順序付け
を施されるが、この埋め込み順序付けにおいては、視覚
的に重要な順に係数が順序付けられ、より一般的には、
何等かの誤差距離(例えば、歪み距離)に関連して係数
が順序付けられる。誤差距離または歪み距離には、ピー
ク誤差と平均2乗誤差(MSE)が含まれる。また、順
序付けは、ビット・シグニフィカンス(bit-significan
ce)空間配置より、データベース照会のための妥当性を
優先させるように、また方向別に(垂直、水平、斜め
等)、行ってもよい。
<Embedding Ordering> In the present invention, coefficients generated as a result of wavelet division are entropy coded. In the present invention, the coefficients are first subjected to embedding ordering, in which the coefficients are ordered in visually important order, and more generally,
The coefficients are ordered with respect to some error distance (eg, distortion distance). The error distance or the distortion distance includes a peak error and a mean square error (MSE). In addition, ordering is performed using bit-significan
ce) It may be done in such a way that the validity for the database query is prioritized over the spatial arrangement and for each direction (vertical, horizontal, diagonal, etc.).

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

【0220】<ビット・シグニフィカンス表現>原成分
が符号無しの時でも、大抵の変換係数は符号付き数値で
ある(少なくとも1つのディテール(detail)フィルタか
ら出力される係数はどれも符号付きである)。一実施例
では、係数内の2進値に用いられる埋め込み順序はビッ
トプレーン順である。係数は、符号化される前に、ビッ
ト・シグニフィカンス表現で表される。ビット・シグニ
フィカンス表現は、最上位ビット(MSB)ではなく
て、符号ビットが最初の非ゼロの絶対値ビットと一緒に
エンコードされる符号・絶対値表現である。すなわち、
符号ビットは、絶対値ビット全体の前に来るのではな
く、最初の非ゼロの絶対値ビットの次に来る。また、符
号ビットは、最上位の非ゼロ絶対値ビットと同じビット
プレーン内にあるとみなされる。
<Bit Significance Representation> Even when the original component is unsigned, most transform coefficients are signed numerical values (all coefficients output from at least one detail filter are signed). . 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-significant representation before being encoded. The bit significance representation is a sign-magnitude representation where the sign bit is encoded along with the first non-zero magnitude bit, rather than the most significant bit (MSB). That is,
The sign bit comes after the first non-zero magnitude bit rather than before the entire magnitude bit. Also, the sign bit is considered to be in the same bit plane as the most significant non-zero magnitude bit.

【0221】ビット・シグニフィカンス形式は数値を3
組のビット、すなわちヘッドビット、テール(tail)ビッ
ト及び符号ビットによって表現する。ヘッドビットと
は、MSBから最初の非ゼロ絶対値ビットまでの全ての
ゼロビット(最初の非ゼロ絶対値ビットを含む)であ
る。最初の非ゼロ絶対値ビットが現れるビットプレーン
で、係数の重要度が定まる。テールビットは、最初の非
ゼロ絶対値ビットの後からLSBまでの絶対値ビットか
らなる。符号ビットはただ単に符号(sign)を表わすもの
で、例えば0は正符号を、1は負符号を表す。MSBが
非ゼロビットの、±2のn乗のような数値は、ヘッドビ
ットを1ビットしか持たない。ゼロの係数は、テールビ
ットも符号ビットも持たない。図61は−7から8まで
の4ビット係数の取り得る全ての値を示す。
In the bit significance format, the numerical value is 3
It is represented by a set 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 (including the first non-zero magnitude bit). The significance of the coefficients is determined in the bit plane where the first non-zero magnitude bit appears. The tail bits consist of magnitude bits after the first non-zero magnitude bit up to the LSB. The sign bit simply represents a sign, for example, 0 represents a positive sign and 1 represents a negative sign. Numeric values, such as ± 2 to the nth power, where the MSB is a non-zero bit, have only one head bit. Zero coefficients have neither tail bits nor sign bits. FIG. 61 shows all possible values of the 4-bit coefficient from -7 to 8.

【0222】図61において、各段に表されるビット・
シグニフィカンス表現は1ビット又は2ビットを含む。
2ビットの場合、その最初のビットは最初の1のビット
であり、その後に符号ビットが来る。
In FIG. 61, the bits represented in each stage
The significance representation contains one or two bits.
In the case of two bits, the first bit is the first one bit, followed by the sign bit.

【0223】画素の輝度に関して起こるような、値が非
負整数の場合、採用し得る順序はビットプレーン順(例
えば、最上位ビットプレーンから最下位ビットプレーン
への順序)である。2の補数による負整数も許容される
実施例では、符号ビットの埋め込み順序は、整数の絶対
値の最初の非ゼロビットと同じである。したがって、1
つの非ゼロビットが符号化されるまで、符号ビットは考
慮されない。例えば、符号・絶対値表記法によれば、1
6ビット数−7は1000000000000111で
ある。ビットプレーン・ベースでは、初めの12デシジ
ョン(decision)は”非有意”すなわちゼロとなる。最初
の1のビットは13番目のデシジョンに見つかる。次に
符号ビット(”負”)が符号化される。符号ビットが符
号化された後、テールビットが処理される。14番目と
15番目のデシジョンは共に”1”である。
If the value is a non-negative integer, such as occurs with respect to pixel brightness, the possible order is bitplane order (eg, most significant bitplane to least significant bitplane). 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, 1
The sign bit is not considered until two non-zero bits are encoded. For example, according to the sign / absolute value notation, 1
The 6-bit number -7 is 10000000000001111. On a bit-plane basis, the first 12 decisions are "insignificant" 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".

【0224】係数は最上位のビットプレーンから最下位
のビットプレーンへと符号化されるので、データのビッ
トプレーン数が正確にわからなければならない。本発明
においては、データから計算される、又は画像の深さ及
びフィルタ係数から導き出される係数値の絶対値の上境
界を見つけることによって、ビットプレーン数が決定さ
れる。例えば、その上境界が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 bound 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 boundary is 149, there are significant 8 bits, that is, 8 bit planes. At the speed of software, bitplane encoding may not be available. In another embodiment, the bit planes are encoded only when the coefficients make sense as binary numbers.

【0225】<係数桁揃え(alignment)>本発明は、
ビットプレーン符号化の前に、係数を相互に桁揃えす
る。こうするのは、FFTやDCTと同様、異なった周
波数部分帯域内の係数は異なった周波数を表すからであ
る。本発明は、係数を桁揃えすることにより量子化を制
御する。軽く量子化される係数ほど早いビットプレーン
側へ桁揃えされる(例えば左へシフトされる)。よっ
て、ストリームが打ち切られる場合、これらの係数は、
それを定義するビットが、より重く量子化された係数に
比べ多くなる。
<Coefficient alignment> The present invention relates to:
Prior to bitplane encoding, the coefficients are mutually aligned. This is because, like FFT and DCT, coefficients in different frequency sub-bands represent different frequencies. The present invention controls quantization by aligning coefficients. The lighter the quantized coefficient, the faster the bit plane is aligned (for example, shifted to the left). Thus, if the stream is truncated, these coefficients are
There are more bits defining it compared to heavier quantized coefficients.

【0226】一実施例では、係数はSNR又はMSEか
らみて最高のレート・歪み性能が得られるように桁揃え
される。MSEのような統計誤差距離から見てほぼ最適
の桁揃えを含め、可能な多くの桁揃えがある。あるい
は、桁揃えは係数データの物理視覚的(physchovisual)
量子化を可能にするかもしれない。桁揃えは画像品質に
(換言すればレート・歪み曲線に)相当な影響を及ぼす
が、ロスレスシステムの最終的な圧縮率には殆ど影響を
与えない。特殊な量子化である注目領域忠実度符号化に
は、他の桁揃え、すなわち解像度プログレッシブ桁揃え
が合うかもしれない。
In one embodiment, the coefficients are digitized to provide the best rate / distortion performance in terms of SNR or MSE. There are many possible justifications, including near-optimal justification in terms of statistical error distances such as MSE. Alternatively, the alignment is physchovisual in the coefficient data
May allow quantization. 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. A special quantization, region-of-interest fidelity coding, may be aligned with other alignments, ie, resolution progressive alignment.

【0227】桁揃えは、圧縮データのヘッダ中で指示さ
れてもよいし、個別のアプリケーション用に固定されて
もよい(すなわちシステムが1つの桁揃えしか持たな
い)。様々なサイズの係数に関する桁揃えは、符号化器
及び復号化器の両方に分かっているので、エントロピー
コーダの効率に全く影響を与えない。
The alignment may be indicated in the header of the compressed data, or may be fixed for a particular application (ie, the system has only one alignment). The alignment for the various size coefficients is known to both the encoder and the decoder and has no effect on the efficiency of the entropy coder.

【0228】bビット/画素の画像の2レベルのTS変
換及びTT変換分割における各種係数のビット深さが図
28に示されている。図29は、本発明において係数桁
揃えに用いられる周波数帯域に対する乗数の一例であ
る。係数の桁揃えのために、1-DD係数のサイズが基準
として用いられ、このサイズに対するシフトが与えられ
る。nシフトは2のn乗倍することである。
FIG. 28 shows bit depths of various coefficients in two-level TS conversion and TT conversion division of an image of b bits / pixel. FIG. 29 is an example of a multiplier for a frequency band used for coefficient digit alignment in the present invention. For coefficient alignment, the size of the 1-DD coefficient is used as a reference and a shift to this size is given. The n shift is to multiply 2 to the nth power.

【0229】一実施例では、最大の係数の絶対値に対し
て係数をシフトすることにより、画像中の全ての係数の
桁揃えを生成する。そして、桁揃え後の係数は、重要度
レベルと呼ばれるビットプレーン単位で、最上位の重要
度レベルより最下位の重要度レベルへと処理される。符
号は、各係数の最後のヘッドビットと一緒に符号化され
る。符号ビットは最後のヘッドビットの重要度レベルに
ある。重要なことは、桁揃えがエントロピーコーダへビ
ットが送られる順序を制御するに過ぎないことである。
割増0ビットのパッディング、シフト、格納、符号化が
実際に行われるわけではない。
In one embodiment, the digit alignment of all coefficients in the image is generated by shifting the coefficients relative to the absolute value of the largest coefficient. Then, the coefficients after digit alignment are processed from the highest importance level to the lowest importance level in units of bit planes called importance levels. The code is encoded together with the last head bit of each coefficient. The sign bit is at the significance level of the last head bit. The important thing is that the justification only controls the order in which the bits are sent to the entropy coder.
Padding, shifting, storing, and encoding of the extra 0 bits are not actually performed.

【0230】図62に係数桁揃えのための桁揃え数の一
例を示す。様々なサイズの係数に関する桁揃えは、符号
化器と復号化器の両方に分かっているのでエントロピー
コーダの効率にはまったく影響を与えない。同じデータ
セットの符号化単位が異なった桁揃えを持つ場合がある
ことに注意されたい。
FIG. 62 shows an example of a digit alignment number for coefficient digit alignment. The alignment for the various size coefficients has no effect on the efficiency of the entropy coder since it is known to both the encoder and the decoder. Note that the coding units of the same data set may have different alignment.

【0231】<コードストリームの順序付け及び文脈モ
デル>図27は、コードストリームの順序付けと、符号
化単位内部の順序付けを示す。図27において、ヘッダ
1001の後に、符号化単位1002が上の帯域より下
の帯域へと順に続く。(単一の画像タイプ用にデザイン
されたアプリケーションでは、ヘッダ1001はオプシ
ョンである。) 各符号化単位は、最高重要度のデータ
1003、低重要度データ1004、最低重要度のデー
タ1005からなる。
<Code Stream Ordering and Context Model> FIG. 27 shows the code stream ordering and the ordering inside the coding unit. In FIG. 27, after a header 1001, a coding unit 1002 follows in order from the upper band to the lower band. (In applications designed for a single image type, the header 1001 is optional.) Each coding unit consists of data 1003 with the highest importance, data 1004 with the lowest importance, and data 1005 with the lowest importance.

【0232】文脈モデルは、データが符号化される順序
とデータの特定ビット用の条件付けの両方を決定する。
順序付けについてまず考える。データの最高レベルの順
序付けは前述した。データは、変換順にロスレス符号化
される「最高重要度のデータ」(MICと呼ぶこともあ
る)と、埋め込み統合型ロスレス/ロッシー方式で符号
化される「低重要度のデータ」(LICと呼ぶこともあ
る)とに分けられる。
The context model determines both the order in which the data is encoded and the conditioning for particular bits of data.
First, consider ordering. The highest level ordering of data has been described above. Data is “highest importance data” (also referred to as MIC) which is losslessly encoded in the order of conversion, and “low importance data” (referred to as LIC) which is encoded by an embedded integrated lossless / lossy method. Sometimes it is).

【0233】各ビットプレーン内で係数が処理される順
序は、低い解像度より高い解像度へ向かう順(低い周波
数より高い周波数へ向かう順)である。各ビットプレー
ン内の係数部分帯域の順序は、高いレベル(低解像度、
低周波数)より低いレベル(高解像度、高周波数)への
順である。各周波数部分帯域の内部において、符号化は
ある決まった順序でなされる。一実施例では、その順序
はラスター順、2×2ブロック順、S字状(serpentine)
順、Peanoスキャン順、等々である。
The order in which the coefficients are processed in each bit plane is in the order from lower resolution to higher resolution (order from lower frequency to higher frequency). The order of the coefficient sub-bands in each bit plane is higher level (low resolution,
Low frequency) to lower levels (high resolution, high frequency). Within each frequency sub-band, the encoding is performed in a certain order. In one embodiment, the order is raster order, 2x2 block order, S-shaped (serpentine)
Order, Peano scan order, and so on.

【0234】図27のコードストリームを用いる4レベ
ル分割の場合、その順序は次のとおりである。 4-SS,4-DS,4-SD,4-DD,3-DS,3-SD,3-DD,2-DS,2-SD,2-DD,
1-DS,1-SD,1-DD 。
In the case of four-level division using the code stream shown in FIG. 27, the order is as follows. 4-SS, 4-DS, 4-SD, 4-DD, 3-DS, 3-SD, 3-DD, 2-DS, 2-SD, 2-DD,
1-DS, 1-SD, 1-DD.

【0235】本発明に利用される水平文脈モデルの一実
施例を以下に説明する。このモデルは、空間的、スペク
トル的な係数の従属性に基づいて符号化単位内のビット
を利用する。近傍係数及び親係数に関して得られる2進
値を、文脈を生成するために利用できる。しかし、文脈
はデコーダビリティと因果関係があり、また、多少は効
率的適応と因果関係がある。
An embodiment of the horizontal context model used in the present invention will be described below. This model utilizes the bits in the coding unit based on the spatial and spectral coefficient dependencies. The binary values obtained for the neighborhood and parent coefficients can be used to generate context. However, context has a causal relationship with decodability and, to some extent, efficient adaptation.

【0236】本発明は、バイナリ・エントロピーコーダ
のために、係数により生成された埋め込みビット・シグ
ニフィカンス順のビットストリームをモデル化するため
の文脈モデルを提供する。
The present invention provides a context model for modeling an embedded bit significant order bit stream generated by coefficients for a binary entropy coder.

【0237】図56は、符号化単位の各係数の近傍係数
を示す。図56において、近傍係数は分かりやすい地理
的表記法で表されている(例えば、N=北、NE=北
東、等々)。図56のPのような、ある係数とカレント
・ビットプレーンが与えられると、文脈モデルは、その
ビットプレーンより前の符号化単位全ての任意の情報を
利用できる。この文脈モデルの場合、注目係数の親係数
も利用される。
FIG. 56 shows neighboring coefficients of each coefficient of the coding unit. In FIG. 56, neighborhood coefficients are represented in an easy-to-understand geographical notation (eg, N = north, NE = northeast, etc.). Given a coefficient and a current bit plane, such as P in FIG. 56, the context model can use any information on all coding units prior to that bit plane. In the case of this context model, the parent coefficient of the coefficient of interest is also used.

【0238】ヘッドビットは、最も圧縮できるデータで
ある。したがって、圧縮率を上げるため、大量の文脈も
しくは条件付けが使われる。近傍係数又は親係数の値を
注目係数の注目ビットの文脈を決定するために利用する
のではなく、その情報は図30に関連して説明する2つ
の指示ビットにまとめられる。この情報は、メモリに格
納されてもよいし、近傍係数又は親係数から動的に計算
されてもよい。
The head bit is data that can be compressed most. Therefore, a great deal of context or conditioning is used to increase the compression ratio. Rather than using the value of the neighborhood or parent coefficient to determine the context of the bit of interest of the coefficient of interest, the information is grouped into two indication bits, described in connection with FIG. This information may be stored in memory or may be calculated dynamically from the neighborhood or parent coefficients.

【0239】<メモリからディスクへの埋め込み>本発
明のための埋め込みスキームの一実施例は、データの符
号化の開始時にはバンドバッファメモリ全体がデータで
塞がっているので、作業域メモりとして利用できる余分
なスペースがバンドバッファメモリ内にないという事実
をベースにしている。本発明においては、埋め込まれる
データはメモリに格納され、また重要度が低いデータで
ある。それより重要度の高いデータは直接符号化され
る。重要度が最低のデータはいくつかの最下位ビットか
らなる。
<Embedding from Memory to Disk> One embodiment of the embedding scheme for the present invention can be used as work area memory because the entire band buffer memory is filled with data at the start of data encoding. It is based on the fact that there is no extra space in the band buffer memory. In the present invention, data to be embedded is stored in a memory, and is data of low importance. More important data is directly encoded. The least significant data consists of several least significant bits.

【0240】一実施例において、各係数の一部が後に符
号化するためメモリに再書き込みされるときには、的確
な符号化を保証するために、符号ビットが分かっている
ことは勿論、ヘッドビットとテールビットも分からなけ
ればならない。一実施例では、ヘッド、テール及び符号
ビットの情報を指示するために2ビット又はそれ以上
(例えば、3ビット、4ビット、5ビット等々)の指示
ビットが用いられる。
In one embodiment, when a portion of each coefficient is re-written to memory for later encoding, the head bits, as well as the sign bits are known, to assure proper encoding, to ensure proper encoding. You also need to know the tail bit. In one embodiment, two or more (eg, three, four, five, etc.) indicator bits are used to indicate head, tail, and sign bit information.

【0241】一実施例では、8ビットのメモリロケーシ
ョンが使用される場合、2ビットの指示ビットでヘッ
ド、テール及び符号ビットの情報を指示する。2ビット
の指示ビットを使用すれば、最低重要度の6重要度レベ
ルを2指示ビットと一緒にメモリに再書き込みすること
ができる。1つの指示ビットで、6重要度レベルの最上
位ビットがヘッドビットであるかテールビットであるか
を指示する。第1の指示ビットがヘッドビットであるこ
とを指示するときには、第2の指示ビットはその係数の
符号である。他方、第1の指示ビットがメモリに再書き
込みされたデータの最上位ビットがテールビットである
ことを指示するときには、第2の指示ビットは自由な指
示ビットであり追加的なテール情報、例えば最高重要度
のテールビットが最初のテールビットであるか、もっと
後のテールビットであるかを指示することができる。
In one embodiment, when an 8-bit memory location is used, two indication bits indicate head, tail, and sign bit information. The use of two indicator bits allows the least significant six importance levels to be rewritten to memory along with the two indicator bits. One indication bit indicates whether the most significant bit of the six importance levels is a head bit or a tail bit. When indicating that the first indicator bit is a head bit, the second indicator bit is the sign of the coefficient. On the other hand, when the first indicator bit indicates that the most significant bit of the data rewritten to the memory is a tail bit, the second indicator bit is a free indicator bit and additional tail information, e.g. It can indicate whether the significance tail bit is the first tail bit or a later tail bit.

【0242】図30は、最高重要度のデータ1301
(MICと呼ばれる)と低重要度のデータ1302(L
ICと呼ばれる)に分割された係数を示す。一実施例で
は、MICは各係数の上位6ビットからなり、LICは
下位6ビットからなる。最高重要度データ1301は文
脈モデルへ送られ、直ちに係数順に符号化される。この
データについては、外部メモリにバッファリングする必
要はない。低重要度データ1302はメモリ(例えばR
AM)に書き込まれ、その後、重要度順に符号化され埋
め込まれる。また、データ中の2ビットの指示ビットが
メモリに書き込まれる。指示ビット1303は、メモリ
に書き込まれたデータの最上位ビットがヘッドビットで
あるか否かを示す。指示ビット1304は、係数の符号
を与えるか、そのデータに最初のテールビットが含まれ
ているか否かを示す。なお、指示ビットは、低重要度デ
ータ1302と連結した形で記憶してもよいし、データ
1302を記憶しているメモリと関連した別のメモリ又
はメモリロケーションに、係数の各部分に関連した指示
ビットを識別できように格納してもよい。
FIG. 30 shows the data 1301 of the highest importance.
(Called MIC) and low importance data 1302 (L
(Referred to as IC). In one embodiment, the MIC consists of the upper 6 bits of each coefficient, and the LIC consists of the lower 6 bits. The highest importance data 1301 is sent to the context model and immediately encoded in coefficient order. There is no need to buffer this data in external memory. The low importance data 1302 is stored in a memory (for example, R
AM), and then encoded and embedded in order of importance. Also, two instruction bits in the data are written to the memory. The instruction bit 1303 indicates whether the most significant bit of the data written to the memory is a head bit. Indication bit 1304 gives the sign of the coefficient or indicates whether the data contains the first tail bit. It should be noted that the indication bits may be stored in concatenated form with the low importance data 1302 or may be stored in another memory or memory location associated with the memory storing the data 1302, with the indication associated with each portion of the coefficient. The bits may be stored so that they can be identified.

【0243】図63中の例で2ビットの指示ビットの使
い方を示す。図63の欄は図30のデータ形式と一致す
るように配列されている。符号ビットは"S"で示され、
テールビットは"T"で表され、何でも構わないビットは"
X"で表され、テールオン(tail-on)ビットの値は"h"又
は"t"で表されている。図63において、指示ビット
は、h=0,t=1である。この取り決めを、他の実施
例において、そのまま用いてよい。一実施例では、図6
3の0の符号ビットは正符号を示し、1の符号ビットは
負符号を示す。その逆の割り当てを用いてもよい。な
お、符号ビットは常に最初の"on"ビットと一緒に保存さ
れるので、同時に符号化して埋め込むことができる。図
63において、"T"は係数の対応ビットを指し、0又は
1である。
The example of FIG. 63 shows how to use two instruction bits. The columns of FIG. 63 are arranged so as to match the data format of FIG. The sign bit is indicated by "S",
Tail bits are represented by "T", and bits that do not matter are "
X ", and the value of the tail-on bit is represented by" h "or" t. "In Fig. 63, the indication bits are h = 0, t = 1. In another embodiment, it may be used as it is.
A 0 sign bit of 3 indicates a positive sign, and a 1 sign bit indicates a negative sign. The opposite assignment may be used. Since the sign bit is always stored together with the first "on" bit, it can be encoded and embedded at the same time. In FIG. 63, “T” indicates a corresponding bit of the coefficient, and is “0” or “1”.

【0244】一実施例では、復号化期間中に、最高重要
度のデータは、それが復号化される時にメモリに書き込
まれ、同時に、低重要度データを記憶するためにメモリ
を初期化するため、適当な2つの指示ビットがメモリに
書き込まれる。(係数の桁揃えによっては最高重要度デ
ータの一部が次のバイトにも格納されることがある)こ
の初期化によって、低重要度データを1度に1ビットプ
レーンずつ復号化するのに、1係数あたり1バイト(実
施例によっては、1バイト未満)を読み出して書き込む
だけでよい。係数が読み出されて逆変換に入力される時
に、その係数は普通の数値形式(例えば2の補数形式)
に変換される。
In one embodiment, during decoding, the most important data is written to memory as it is decoded, while at the same time initializing the memory to store the less important data. , The appropriate two indication bits are written to memory. (Depending on the alignment of the coefficients, some of the highest importance data may also be stored in the next byte.) This initialization allows the low importance data to be decoded one bit plane at a time. It is only necessary to read and write one byte per coefficient (less than one byte in some embodiments). When a coefficient is read and input to the inverse transform, the coefficient is in its normal numeric form (eg, two's complement form)
Is converted to

【0245】”最高重要度データ”と”低重要度デー
タ”のほかに、符号化時に捨てられる又は量子化される
データもあるかもしれない。係数は、量子化スケールフ
ァクタ(2のQ-1乗)で割られる。(係数の量子化はJ
PEG規格に述べられている)本発明においては、除算
はビットプレーンの切り捨てによって行われるので、量
子化は2のベキ乗である。例えば、Q=1は1による除
算を意味するから、係数は変化しないが、Q=2は2に
よる除算を意味するから、1つのビットプレーンが切り
捨てられるということである。これらの除算は、シフト
例えば、Q=2のときは1ビット位置分のシフト)によ
って行ってもよい。図31と図32は、様々な部分帯域
について、量子化と係数桁揃えの両方を考慮した最高重
要度データと低重要度データの形式を示す。
In addition to "high importance data" and "low importance data", there may be data that is discarded or quantized during encoding. The coefficients are divided by a quantization scale factor (2 to the power of Q-1). (Coefficient quantization is J
In the present invention (as described in the PEG standard), the quantization is a power of two because the division is performed by truncation of the bit plane. For example, Q = 1 means division by 1, so the coefficient does not change, but Q = 2 means division by 2, so that one bit plane is truncated. These divisions may be performed by a shift (for example, a shift of one bit position when Q = 2). FIGS. 31 and 32 show the formats of the highest importance data and the low importance data in consideration of both quantization and coefficient alignment for various subbands.

【0246】図31は、データが切り捨てられないロス
レスのケースを示す。JPEGの規約にならい、これを
量子化A=1と呼ぶ。というのは、現実の係数が1で除
算される(損失なし)であるからである。最高重要度デ
ータは網が掛けられていない。低重要度データは網掛け
されている。
FIG. 31 shows a lossless case in which data is not truncated. This is called quantization A = 1 according to the JPEG rules. This is because the actual coefficient is divided by 1 (no loss). The highest importance data is not shaded. Low importance data is shaded.

【0247】図32は、1ビットプレーン分のデータが
切り捨てられたケースを示す。1つのビットプレーンを
切り捨てることは2で割ることと等価であるので、Q=
2である。捨てられたビットプレーンは黒で表されてい
る。
FIG. 32 shows a case where data for one bit plane has been truncated. Since truncating one bit plane is equivalent to dividing by two, Q =
2. Discarded bitplanes are shown in black.

【0248】図31と図32に示されているもののほか
に、最高重要度データにはSS係数も含まれることに注
意されたい。係数ビットは8ビットデータとして示され
ているが、可逆色空間を使用するときには8ビットのデ
ータが必要となり、色差係数のサイズが1ビットだけ増
加する。
It should be noted that in addition to those shown in FIGS. 31 and 32, the highest importance data also includes SS coefficients. Although the coefficient bits are shown as 8-bit data, when using a reversible color space, 8-bit data is required, and the size of the color difference coefficient increases by one bit.

【0249】本発明において、符号ビットの文脈モデル
は、最後のヘッドビットの次の符号の符号化を含む。N
係数が正であるか負であるか、符号がまだ符号化されて
いないか否かによって、符号に関する文脈は3つ存在す
る。あるいは、符号について1つの文脈だけを用いても
よい、すなわち符号を常に50%として符号化してもよ
い。
In the present invention, the sign bit context model includes the encoding of the sign next to the last head bit. N
There are three contexts for codes depending on whether the coefficients are positive or negative and whether the code has not been coded yet. Alternatively, only one context may be used for the code, that is, the code may always be coded at 50%.

【0250】 <ウェーブレット係数の符号化順序> ウェーブレット係数の符号化順序の一例を次の擬似コードにまとめる: 最高重要度データを符号化 最初のデータのある低重要度ビットプレーンの位置を符号化 for 各低重要度データビットプレーン do 1つの低重要度データビットプレーンを符号化 。<Encoding Order of Wavelet Coefficient> An example of the encoding order of the wavelet coefficients is summarized in the following pseudo code: Encoding the highest importance data Encoding the position of the low importance bit plane having the first data for Each low importance data bit plane do encodes one low importance data bit plane.

【0251】最高重要度データが符号化される時に、0
のヘッドビットだけでない低重要度データの最初のビッ
トプレーンを、各係数について求める。こうすること
で、符号化器及び復号化器が低重要度データのビットプ
レーン全体についてルックアヘッド(look-ahead)をする
ことが可能になる。このことは、全情報がK係数にあり
CMY係数が全て0の白黒データ単位の符号化の場合に
有用である。ビットプレーンを個別的に符号化しないこ
とは、特にR2(7)が使用可能な最長のランレングスコー
ドである場合に、圧縮率を向上させる。("R2"コードに
ついては、米国特許第5,381,145号及び同5,583,500号を
参照されたい) しかし、4つの並列符号化コア(core)
が同時に成分を処理するときには、処理速度は符号化す
べき最多のビットプレーンを持つ成分によって決まる。
他の成分に割り当てられたコアは、符号化されないビッ
トプレーンの期間中、遊休状態である。
When the highest importance data is encoded, 0
For each coefficient, the first bit plane of the low importance data other than the head bits of the first bit plane is obtained. This allows the encoder and decoder to look-ahead for the entire bit plane of low significance data. This is useful for encoding in black and white data units in which all information is in the K coefficient and all CMY coefficients are 0. Not encoding bit planes individually improves the compression ratio, especially when R2 (7) is the longest run-length code available. (See US Pat. Nos. 5,381,145 and 5,583,500 for the "R2" code.) However, four parallel encoding cores
Process the components at the same time, the processing speed is determined by the component with the most bitplanes to encode.
Cores assigned to other components are idle during the uncoded bit plane.

【0252】前記擬似コードの処理の一実施例を説明す
るフローチャートが図33に示されている。図33にお
いて、文脈モデルはまず最高重要度部分(MIC)を符
号化する(処理ブロック1401)。MICの符号化
後、処理ロジックは低重要度部分(LIC)の最初のデ
ータを持つビットプレーンの位置を符号化する(処理ブ
ロック1402)。これは符号化単位全体に対するもの
である。LICに6個のビットプレーンがあるときに
は、そのビットプレーンのどれもデータを含まないか、
1個、又は2個、3個、4個、5個あるいは6個のビッ
トプレーンがデータを含む。次に処理ロジックは、カレ
ントLICビットプレーン変数に、この最初のデータを
持つLICビットプレーンを設定する(処理ブロック1
403)。
FIG. 33 is a flow chart for explaining one embodiment of the processing of the pseudo code. In FIG. 33, the context model first encodes the highest importance part (MIC) (processing block 1401). After encoding the MIC, processing logic encodes the location of the bit plane with the first data of the low importance portion (LIC) (processing block 1402). This is for the entire coding unit. If the LIC has 6 bit planes, none of the bit planes contains data,
One, two, three, four, five, or six bit planes contain data. Next, the processing logic sets the LIC bit plane having the first data in the current LIC bit plane variable (processing block 1).
403).

【0253】データのあるLICビットプレーンが全て
符号化されたか判定する(処理ブロック1404)。そ
の全部が符号化済みならば処理は終了するが、そうでな
ければ1つのLICビットプレーンを符号化し(処理ブ
ロック1405)、カレントLICビットプレーン変数
に、次のLICビットプレーンを設定する(処理ブロッ
ク1406)。そして、処理は処理ブロック1404に
ループバックする。
It is determined whether all LIC bitplanes with data have been encoded (processing block 1404). If all of them have been encoded, the process ends. If not, one LIC bit plane is encoded (processing block 1405), and the next LIC bit plane is set in the current LIC bit plane variable (processing block). 1406). The process then loops back to processing block 1404.

【0254】 <最高重要度データの符号化順序> 最高重要度データの符号化順序の一実施例は次の通りである: for 各木 do SS係数を符号化 MICルックアヘッドを実行(又は木ルックアヘッドを実行) for 各非SS係数 for データのある各ビット(プレーン)do ヘッドビット又はテールビットを符号化 if 係数は0でない 符号ビットを符号化 。<Encoding Order of Highest Importance Data> One embodiment of the encoding order of the highest importance data is as follows: for encoding each tree do SS coefficient Perform MIC look ahead (or tree look) Ahead is performed) for each non-SS coefficient for each bit (plane) of data do head bit or tail bit if if coefficient is non-zero code bit is encoded.

【0255】最高重要度データは、1ウェーブレット木
が一度に処理される。繰り返しになるが、最高重要度デ
ータは埋め込まれない。MICルックアヘッドにより、
ウェーブレット木内のSSでない全係数についてヘッド
ビットがオールゼロでないビットプレーンを決定する。
一実施例では、個別に符号化すべき最初のビットプレー
ンを識別するのに4ビット数値で十分である。図34に
示す他の実施例においては、1つのビットが、第2分割
のSS以外の全ての係数1501(網掛け領域)が0で
あることを示すために用いられ、もう1つのビットが、
第1分割のSS以外の全ての係数1503が0であるこ
とを示すために用いられる。これら2ビットが、最初の
ビットプレーンの識別のために用いられる4ビットに加
えて用いられる。
For the highest importance data, one wavelet tree is processed at a time. Again, the highest importance data is not embedded. By MIC look ahead,
A bit plane whose head bits are not all zeros is determined for all the non-SS coefficients in the wavelet tree.
In one embodiment, a 4-bit value is sufficient to identify the first bit plane to be individually coded. In another embodiment shown in FIG. 34, one bit is used to indicate that all coefficients 1501 (shaded area) other than SS of the second division are 0, and another bit is used.
It is used to indicate that all coefficients 1503 other than SS of the first division are 0. These two bits are used in addition to the four bits used for identification of the first bit plane.

【0256】他の実施例においては、SS係数が符号化
され、次に木全体について非ゼロのヘッドビットを持つ
最初のビットプレーンが符号化される、木ルックアヘッ
ドが用いられるかもしれない。
In another embodiment, a tree look-ahead may be used where the SS coefficients are encoded and then the first bitplane with non-zero head bits for the entire tree is encoded.

【0257】SS係数と最初のビットプレーンの符号化
のために条件付けが利用されるときに文脈再来遅延を補
償するため、SS係数のビット(可逆色空間を使用する
なら9ビット)の実際の符号化/復号化とルックアヘッ
ド値を交替させてよい。条件付けが利用されないときに
は、交替は必要とされない。
The actual code of the bits of the SS coefficient (9 bits if a lossless color space is used) to compensate for the context return delay when the conditioning is used for encoding the SS coefficient and the first bit plane. The encoding / decoding and the look-ahead value may be alternated. When conditioning is not used, no replacement is required.

【0258】前述のように、本発明の文脈モデルはルッ
クアヘッドを利用する。このルックアヘッドの一例が、
最高重要度データすなわち最高重要度部分(MIC)に
対し用いられてよい。一実施例では、図34に示すよう
に、各木のために6ビット、すなわち、最大ビットプレ
ーンのために4ビット、レベル0オールゼロのビットプ
レーンのために1ビット、レベル1オールゼロのビット
プレーンのために1ビット、が用いられる。最大ビット
プレーンがゼロのときには、余分な2ビットが冗長であ
るが大したことではない。別の方法では、”(孤立し
た)ゼロ/非ゼロ”を判定するため適応的符号化判定が
用いられる。非ゼロ係数については、以下によりさらに
記述される: ・ 係数の値と符号を決定するためのM項演算(合計:
2サイクル/係数) ・ ”±1/非±1”を判定するため適応的符号化判定
が用いられる。絶対値が1のときに符号を求め、絶対値
が1を超えるときに符号と値を求めるために、もう1サ
イクル使用される。(合計:3サイクル/係数) ・ 同様に、”±1/非±1”、”±2,3/非±2,3”
等々を合計4サイクル/係数で行うことができる。 ・ 以下の手順: if MICビットプレーン全部は0でない then デシジョン”-1,0,1"又は"その他"を適応符号化 if "-1,0,1" then "0"又は"-1,+1"を適応符号化 if "-1,+1" then 符号ビットを記述 else "-3,-2,2,3"又は"その他"を適応符号化 if "-3,-2,2,3" then "-2,2"又は"-3,3"を1ビットで記述 符号ビットを記述 else 木に対し決定された最大ビット数で値を記述 符号ビットを記述 。
As described above, the context model of the present invention utilizes look-ahead. An example of this look ahead is
It may be used for the highest importance data, ie, the highest importance part (MIC). In one embodiment, as shown in FIG. 34, 6 bits for each tree, 4 bits for the largest bit plane, 1 bit for the level 0 all-zero bit plane, and 1 bit for the level 1 all-zero bit plane. For this purpose, one bit is used. When the largest bit plane is zero, the extra two bits are redundant but not significant. Another method uses an adaptive coding decision to determine "(isolated) zero / non-zero." Non-zero coefficients are further described below: M-ary operation to determine coefficient values and signs (sum:
(2 cycles / coefficient)-Adaptive coding determination is used to determine "± 1 / non ± 1". Another cycle is used to determine the sign when the absolute value is 1, and to determine the sign and value when the absolute value exceeds 1. (Total: 3 cycles / coefficient) ・ Similarly, “± 1 / non ± 1”, “± 2,3 / non ± 2,3”
Etc. can be performed with a total of 4 cycles / coefficient. -The following procedure: if MIC bit planes are not all 0 then adaptively encode decision "-1,0,1" or "other" if "-1,0,1" then "0" or "-1, + 1 "adaptive coding if" -1, + 1 "then code bit else else" -3, -2,2,3 "or" other "adaptive coding if" -3, -2,2,3 "then"-2, 2 "or"-3, 3 "is described with 1 bit. Describes the sign bit. else Describes the value with the maximum number of bits determined for the tree. Describes the sign bit.

【0259】なお、1ビット又は複数ビットの”記述”
は、適応符号化でも、50%確率での符号化でも、単な
る符号化データストリームへのコピーでもよい。
It is to be noted that one or more bits of "description"
May be adaptive coding, coding with 50% probability, or simply copying into a coded data stream.

【0260】全部又は大部分のビットプレーンを個別に
符号化すべきときには、変換のいくつかのレベルに桁揃
えのため利用されないビットプレーンがあり、この利用
されないビットプレーンは符号化されない。ヘッドビッ
ト及びテールビットについてのビット−文脈遅延(bit t
o context delay)の処理については多くの選択肢があ
る。一つの方法は、3つの係数、DD,SD及び,DSを交互に
処理する方法である。非0係数の符号ビットは係数の最
後に符号化できる。これは、最高重要度データは全部が
常にロスレスであり、最初の”オン”ビットのすぐ後に
続く必要はないからである。
When all or most of the bit planes are to be coded individually, some levels of the transform have unused bit planes for alignment and the unused bit planes are not coded. Bit-context delay (bit t) for head and tail bits
o There are many options for handling the context delay. One method is to alternately process three coefficients, DD, SD, and DS. The sign bit of the non-zero coefficient can be encoded at the end of the coefficient. This is because all of the highest importance data is always lossless and need not immediately follow the first "on" bit.

【0261】最高重要度部分(MIC)を符号化するた
めの擬似コードを説明するフローチャートの一例が図3
5に示されている。図35において、処理ロジックが最
初の木をカレント木とすることから処理が始まる(処理
ブロック1601)。次に、処理ロジックはSS係数を
符号化する(処理ブロック1602)。SS係数の符号
化後、処理ロジックは当該木のMIC中のデータを持つ
最初のビットプレーンの位置を符号化する(処理ブロッ
ク1603)、すなわちMICルックアヘッドを行う。
An example of a flowchart for explaining a pseudo code for encoding the highest importance part (MIC) is shown in FIG.
It is shown in FIG. In FIG. 35, the process starts when the processing logic sets the first tree as the current tree (processing block 1601). Next, processing logic encodes the SS coefficients (processing block 1602). After encoding the SS coefficients, processing logic encodes the location of the first bitplane with data in the MIC of the tree (processing block 1603), ie, performs MIC look-ahead.

【0262】次に、処理ロジックは、木全部のMICが
ゼロであるか判定する(処理ブロック1604)。木全
部のMICがゼロならば処理ロジックは処理ブロック1
614に進むが、そうでなければ、処理ブロック160
5に移行し、処理ロジックは当該木の最初の非SS係数
をカレント係数にする。
Next, processing logic determines whether the MIC of the entire tree is zero (processing block 1604). If the MIC of all trees is zero, processing logic goes to processing block 1
Proceed to 614; otherwise, process block 160
Going to 5, processing logic makes the first non-SS coefficient of the tree the current coefficient.

【0263】カレント係数を木の最初の非SS係数に設
定した後、処理ロジックは、データを持つ最初のビット
プレーンをカレントビットプレーンにする(処理ブロッ
ク1606)。次に処理ロジックは、カレントビットプ
レーンのカレント係数の1つのビットを符号化する(処
理ブロック1607)。その後、処理ロジックは、その
全てのビットプレーンが符号化されたか判定する(処理
ブロック1608)。ビットプレーン全部の符号化が済
んでいないときには、処理ブロックは次のビットプレー
ンをカレントビットプレーンとし(処理ブロック160
9)、処理ブロック1607へ進む。全部のビットプレ
ーンが符号化されてしまったときには、処理ロジックは
カレント係数がゼロであるか判定する(処理ブロック1
610)。カレント係数がゼロでなければ、処理ロジッ
クは符号ビットを符号化し(処理ブロック1611)、
処理ブロック1613へ進む。カレント係数がゼロなら
ば、処理ロジックは処理ブロック1613へ進む。
After setting the current coefficient to the first non-SS coefficient of the tree, processing logic makes the first bitplane with data the current bitplane (processing block 1606). Next, processing logic encodes one bit of the current coefficient of the current bit plane (processing block 1607). Thereafter, processing logic determines whether all of the bitplanes have been encoded (processing block 1608). If not all of the bit planes have been encoded, the processing block sets the next bit plane as the current bit plane (processing block 160).
9), proceed to processing block 1607; When all bitplanes have been encoded, processing logic determines whether the current coefficient is zero (processing block 1).
610). If the current coefficient is not zero, processing logic encodes the sign bit (processing block 1611),
Proceed to processing block 1613. If the current coefficient is zero, processing logic proceeds to processing block 1613.

【0264】処理ブロック1613で、処理ロジックは
木内の全係数の符号化が済んだか判定する。木の全係数
の符号化が済んでいなければ、処理ロジックは木内の次
の係数をカレント係数とし(処理ブロック1612)、
処理ブロック1606へ進む。木内の全係数が符号化さ
れてしまったときには、処理ロジックは全ての木の符号
化が済んだか判定する(処理ブロック1614)。全て
の木が符号化されたときには処理が終了するが、そうで
なければ処理ブロック1615に進み、処理ロジックは
次の木をカレント木とし、処理ブロック1602に移行
する。
At processing block 1613, processing logic determines whether all coefficients in the tree have been encoded. If all the coefficients in the tree have not been coded, processing logic makes the next coefficient in the tree the current coefficient (processing block 1612),
Proceed to processing block 1606. When all the coefficients in the tree have been encoded, processing logic determines whether all trees have been encoded (processing block 1614). If all trees have been coded, the process ends; otherwise, processing continues at processing block 1615, where processing logic makes the next tree the current tree and moves to processing block 1602.

【0265】図36は、最高重要度データの符号化パス
期間に利用されるフォーマッティング・ユニット及び文
脈モデルの一実施例のブロック図である。図36におい
て、バレルシフタ1701は、最高重要度データが最小
ディスク帯域を超えないようにしてロスレス圧縮を保証
するため、係数の絶対値と符号化時に用いられた量子化
レベルを受け取るように接続される。このように、量子
化レベルでバレルシフタ1701を制御する。一実施例
では、バレルシフタ1701は、絶対値ビットを0,
1,2又は3ビットだけシフトして1,2,4又は8の
量子化をサポートする。他の実施例では、これより低い
又は高い量子化数がサポートされる、例えば2量子化を
サポートするだけである。
FIG. 36 is a block diagram of an embodiment of a formatting unit and a context model used during the encoding pass of the highest importance data. In FIG. 36, a barrel shifter 1701 is connected to receive the absolute value of the coefficient and the quantization level used at the time of encoding in order to ensure lossless compression by preventing the highest importance data from exceeding the minimum disk bandwidth. . As described above, the barrel shifter 1701 is controlled at the quantization level. In one embodiment, barrel shifter 1701 sets absolute value bits to 0,
Shift by 1, 2, or 3 bits to support 1, 2, 4, or 8 quantization. In other embodiments, lower or higher quantization numbers are supported, for example, only two quantizations are supported.

【0266】バレルシフタ1701の出力は、下位の6
ビットプレーンすなわち低重要度データと、残りの高位
ビットプレーンすなわち最高重要度データとからなる。
他の実施例では、これら2出力を生じさせるために単純
な分離メカニズムが用いられる。
The output of the barrel shifter 1701 is the lower 6
It consists of a bit plane, ie, low importance data, and the remaining higher bit planes, ie, highest importance data.
In other embodiments, a simple separation mechanism is used to generate these two outputs.

【0267】バレルシフタ1701の両出力は先頭ビッ
トプレーンユニット1702に入力され、データを含ん
でいるビットプレーンが判別される。先頭ビットプレー
ンユニット1702は、低重要度データ処理時に用いら
れる全ての符号化単位について、最初の”オン”ビット
を持つビットプレーンを見つけるために利用される。
(図27参照)。もう一つの先頭ビットプレーンユニッ
ト1706も、バレルシフタ1701から出力される最
高重要度データを受け取るよう接続されている。先頭ビ
ットプレーンユニット1706は、高重要度データ処理
時に各木に対し利用される。先頭ビットプレーンユニッ
トの一実施例を、図37を参照して後述する。
Both outputs of the barrel shifter 1701 are input to the head bit plane unit 1702, and the bit plane containing data is determined. The head bit plane unit 1702 is used to find a bit plane having the first “on” bit for all coding units used in low importance data processing.
(See FIG. 27). Another leading bit plane unit 1706 is also connected to receive the highest significance data output from barrel shifter 1701. The head bit plane unit 1706 is used for each tree at the time of high importance data processing. One embodiment of the head bit plane unit will be described later with reference to FIG.

【0268】バレルシフタ1701は比較ユニット17
03,1704にも接続される。これら比較ユニット1
703,1704は最高重要度データに対し2つの比較
を行い、低重要度データのための2ビットの指示情報を
発生する。比較ユニット1703は、最高重要度データ
が0であるか判定することにより、テールビットが既に
出現したか(すなわち、符号化がもうテール内である
か)指示する。比較ユニット1703の出力がテールオ
ンビットである。比較ユニット1704は、最高重要度
データが1であるか否か判定する。最高重要度データが
1であると、図63から、出力は0である。比較ユニッ
ト1704の出力は、マルチプレクサ(MUX)170
5の一方の入力に接続される。mux1705の他方の
入力は符号ビットを受け取るように接続されている。m
ux1705のセレクト入力は比較ユニット1703の
出力によって制御され、比較ユニット1703の出力が
テールビットであると指示するときにきmux1705
の出力は”先頭テール”ビット1304である。しか
し、比較ユニット1703の出力がヘッドビットである
と指示するときには、mux1705は符号を出力する
ように制御される。
[0268] The barrel shifter 1701 is
03,1704. These comparison units 1
Reference numerals 703 and 1704 perform two comparisons on the highest importance data, and generate 2-bit indication information for the low importance data. Comparison unit 1703 indicates whether the tail bit has already occurred (ie, whether the encoding is already in the tail) by determining if the highest importance data is zero. The output of the comparison unit 1703 is a tail-on bit. The comparison unit 1704 determines whether or not the highest importance data is 1. If the highest importance data is 1, the output is 0 from FIG. The output of the comparison unit 1704 is a multiplexer (MUX) 170
5 is connected to one input. The other input of mux 1705 is connected to receive the sign bit. m
The select input of ux 1705 is controlled by the output of compare unit 1703 and mux 1705 when indicating that the output of compare unit 1703 is a tail bit.
Output is a "head tail" bit 1304. However, when the output of comparison unit 1703 indicates a head bit, mux 1705 is controlled to output a sign.

【0269】一実施例では、比較ユニット1703,1
704は単純なビット比較器により構成される。
In one embodiment, the comparison unit 1703,1
Reference numeral 704 denotes a simple bit comparator.

【0270】メモリ1707が、符号ビット、バレルシ
フタ1701より出力される最高重要度データ、及び先
頭ビットプレーンユニット1706の出力を受け取るよ
うに接続される。メモリ1707は、親と近傍の情報を
条件付けに利用できるよう係数を遅延させるために利用
される。メモリ1707の構成は後述する。
[0270] A memory 1707 is connected to receive the sign bit, the highest significance data output from the barrel shifter 1701, and the output of the first bit plane unit 1706. The memory 1707 is used to delay coefficients so that information on the parent and the neighborhood can be used for conditioning. The configuration of the memory 1707 will be described later.

【0271】文脈モデル(CM)1710〜1712は
符号、ヘッド、テール、その他のビットのための条件付
けを与える。これら各文脈モデルについては後述する。
Context models (CM) 1710-1712 provide conditioning for sign, head, tail, and other bits. Each of these context models will be described later.

【0272】図37は、先頭ビットプレーンユニットの
一実施例を示す。図37において、先頭ビットプレーン
ユニット1800は、係数とレジスタ1802の出力か
らのフィードバックを受け取るように接続されたORゲ
ート1801を有する。ORゲート1801の出力はレ
ジスタ1802の入力に接続される。レジスタ1802
は、木スタート/符号化単位リセット指示によって制御
される。レジスタ1802の出力はプライオリティエン
コーダ1803に接続される。プライオリティエンコー
ダ1803の出力は、先頭ビットプレーンユニット18
00の出力である。
FIG. 37 shows an embodiment of the head bit plane unit. In FIG. 37, the first bit plane unit 1800 has an OR gate 1801 connected to receive a coefficient and feedback from the output of the register 1802. The output of OR gate 1801 is connected to the input of register 1802. Register 1802
Is controlled by a tree start / coding unit reset instruction. The output of the register 1802 is connected to the priority encoder 1803. The output of the priority encoder 1803 is
00 output.

【0273】初めに、レジスタ1802がクリアされ
る。レジスタ1802の各ビットは、ORゲート180
1によって入力係数の各ビットと論理和がとられる。係
数の0の各ビットについては、レジスタ1802の値は
現在の値のままであり、それがプライオリティエンコー
ダ1803へ出力される。係数の1の各ビット(例えば
先頭の1)については、ORゲート1801のレジスタ
1802への出力は1であり、これがプライオリティエ
ンコーダ1803へ入力される。そして、プライオリテ
ィエンコーダ1803は先頭の1を見つけるが、これが
係数の1を持つ最初のビットプレーンである。
First, the register 1802 is cleared. Each bit of the register 1802 is
The logical sum of each bit of the input coefficient is calculated by 1. For each bit of the coefficient 0, the value in the register 1802 remains at the current value, which is output to the priority encoder 1803. For each bit of the coefficient 1 (for example, the leading 1), the output of the OR gate 1801 to the register 1802 is 1, which is input to the priority encoder 1803. Then, the priority encoder 1803 finds the leading 1, which is the first bit plane having the coefficient 1.

【0274】 <低重要度データの処理順序> 最低重要度データの各ビットプレーンは以下のように処理される: for 各木 do for 各係数 do if ルックアヘッド区間の始まり ルックアヘッドを実行 if ルックアヘッドはアクティブでない ヘッドビット又はテールビットを符号化 if 先頭の”オン”ビット 符号ビットを符号化 。<Processing Order of Low Importance Data> Each bit plane of the minimum importance data is processed as follows: for each tree do for each coefficient do if start of look-ahead section execute look-ahead if look-ahead Encodes inactive head or tail bits if the first "on" bit encodes the sign bit.

【0275】LICビットプレーンの符号化プロセスの
一実施例を図38のフローチャートに示す。LICビッ
トプレーン符号化プロセスは、処理ロジックが最初の木
をカレント木にすることから始まる(処理ブロック19
01)。次に、処理ロジックは、カレント木の最初の非
SS係数をカレント係数とする(処理ブロック190
2)。カレント木の最初の非SS係数をカレント係数と
した後、処理ブロックは符号化がルックアヘッド区間の
開始点に対するものか判定する(処理ブロック190
3)。符号化プロセスがルックアヘッド区間の開始点に
あるきには、処理ロジックはルックアヘッドを行う(処
理ブロック1904)、そして処理ブロック1905に
進む。符号化プロセスがルックアヘッド区間の開始点に
ないときには、処理ロジックは直ちに処理ブロック19
05に移行し、ルックアヘッドがアクティブであるか判
定する。
One embodiment of the LIC bit plane encoding process is shown in the flowchart of FIG. The LIC bitplane encoding process begins with processing logic making the first tree the current tree (processing block 19).
01). Next, processing logic makes the first non-SS coefficient of the current tree the current coefficient (processing block 190
2). After making the first non-SS coefficient of the current tree the current coefficient, the processing block determines whether the encoding is for the start of a look-ahead interval (processing block 190
3). If the encoding process is at the beginning of the look-ahead interval, processing logic performs a look-ahead (processing block 1904) and proceeds to processing block 1905. If the encoding process is not at the beginning of the look-ahead interval, processing logic immediately proceeds to processing block 19
In step 05, it is determined whether the look ahead is active.

【0276】ルックアヘッドがアクティブならば、処理
ロジックは処理ブロック1909へ進み、カレント木の
全係数が符号化されたか判定する。カレント木の全係数
が符号化されたときには処理ブロック1913から処理
が継続するが、そうでないときには、処理ロジックはル
ックアヘッド区間の後のカレント木の次の係数をカレン
ト係数とし(処理ブロック1910)、処理ブロック1
903へ進む。
[0276] If look ahead is active, processing logic proceeds to processing block 1909 where it determines if all coefficients of the current tree have been encoded. If all the coefficients in the current tree have been encoded, processing continues from processing block 1913; otherwise, processing logic sets the next coefficient in the current tree after the look-ahead interval to be the current coefficient (processing block 1910). Processing block 1
Go to 903.

【0277】ルックアヘッドがアクティブでないときに
は、処理ロジックはヘッドビット又はテールビットを符
号化し(処理ブロック1906)、次に最初の非ゼロビ
ットが受け取られたか判定する(処理ブロック190
7)。最初の非ゼロビットが受け取られていないなら
ば、処理ロジックは処理ブロック1911へ進む。最初
の非ゼロビットが受け取られているならば、処理ブロッ
ク1908に進み、処理ロジックは符号ビットを符号化
し、そして処理は処理ブロック1911へ進む。
If look ahead is not active, processing logic encodes the head or tail bits (processing block 1906) and then determines whether the first non-zero bit has been received (processing block 190).
7). If the first non-zero bit has not been received, processing logic proceeds to processing block 1911. If the first non-zero bit has been received, processing continues at processing block 1908, where processing logic encodes the sign bit, and processing continues at processing block 1911.

【0278】処理ブロック1911で、処理ロジックは
カレント木の全係数が符号化されたか判定する。カレン
ト木の全係数が符号化済みでなければ、処理ロジックは
カレント木の次の係数をカレント係数とし(処理ブロッ
ク1912)、処理ブロック1903へ移行する。カレ
ント木の全係数が符号化されたならば処理ブロック19
13に進み、処理ロジックは全ての木が符号化されたか
判定する。全ての木が符号化済みでなければ、処理ロジ
ックは次の木をカレント木とし(処理ブロック191
4)、処理ブロック1902から処理を継続する。全木
が符号化済みならば、処理は終了する。
At processing block 1911, processing logic determines whether all coefficients of the current tree have been coded. If not all coefficients in the current tree have been encoded, processing logic makes the next coefficient in the current tree the current coefficient (processing block 1912) and moves to processing block 1903. If all the coefficients of the current tree have been encoded, processing block 19
Proceeding to 13, processing logic determines whether all trees have been encoded. If not all trees have been encoded, processing logic sets the next tree as the current tree (processing block 191).
4) The processing is continued from the processing block 1902. If the entire tree has been encoded, the process ends.

【0279】1つのウェーブレット木を一度に処理する
ことは重要ではないが、変換はデータをその順に読み書
きさせるため、それが都合がよいであろう。ウェーブレ
ット木毎にデータが処理されるときには、ビット−文脈
遅延を、DD,SD,DS係数間の交替(部分木間の交
替)によって調整できる。別の方法として、一度に1つ
の部分帯域を符号化してもよい。どのような順序を選ん
だとしても、異なった部分帯域の桁揃えに用いられない
ヘッド/テールビットは、符号化されることがないか
ら、無駄なサイクルを必要としない。
It is not important to process one wavelet tree at a time, but it may be convenient because the transform causes the data to be read and written in that order. When the data is processed for each wavelet tree, the bit-context delay can be adjusted by alternating between DD, SD, and DS coefficients (alternating between subtrees). Alternatively, one subband may be encoded at a time. Regardless of the order chosen, the head / tail bits that are not used to align the different sub-bands are not encoded and do not require wasted cycles.

【0280】図39は、低重要度データのためのルック
アヘッド及び文脈モデルの一実施例のブロック図であ
る。一実施例では、最高重要度データ及び低重要度デー
タは、符号、ヘッド及びテールビットのための条件付け
を与える同じ文脈モデル(CM)を利用する。
FIG. 39 is a block diagram of one embodiment of a look-ahead and context model for low importance data. In one embodiment, the highest importance data and the low importance data utilize the same context model (CM) that provides conditioning for the code, head and tail bits.

【0281】図39において、文脈モデル2001〜2
003は入力データを受け取るように接続される。符号
文脈モデル2001はテールオンビット、符号/先頭テ
ールビット指示及びデータを受け取るように接続され
る。ヘッドビット文脈モデル2002は、テールオンビ
ット及びデータを受け取るように接続される。テールビ
ット文脈モデル2003は、テールオンビット、符号/
先頭テールビット指示及びデータを受け取るように接続
される。各文脈モデル2001〜2003は、そのに入
力に応じて1つの文脈を生成する。
In FIG. 39, context models 2001-2
003 is connected to receive input data. The code context model 2001 is connected to receive a tail-on bit, a code / lead tail bit indication and data. Headbit context model 2002 is connected to receive tail-on bits and data. The tail bit context model 2003 includes a tail on bit, a sign /
Connected to receive leading tail bit indication and data. Each of the context models 2001 to 2003 generates one context according to its input.

【0282】文脈モデル2001〜2003によって生
成される文脈は、mux2004の入力に接続される。
mux2004は、前ビット及びビットシグニフィカン
ス表現そのものによって制御される。ヘッドビット文脈
モデル2002は、データ入力に1のビットが来るまで
利用される。符号文脈モデル2001は、最後のビット
がヘッドの最初の1のビットであった時に利用される。
その後、テールビット文脈モデル2003が利用され
る。
A context generated by the context models 2001 to 2003 is connected to an input of the mux 2004.
The mux 2004 is controlled by the previous bit and the bit significance representation itself. The head bit context model 2002 is used until one bit comes to the data input. The code context model 2001 is used when the last bit was the first one bit of the head.
Thereafter, the tail bit context model 2003 is used.

【0283】mux2004の出力は、”=ヘッド?”
ユニット2005及び先入れ/先出し(FIFO)バッ
ファ2006に接続される。”=ヘッド?”ユニット2
005は、現在の文脈が近傍及び親の0のヘッドビット
があるヘッドビット文脈であるか調べる。文脈が全てヘ
ッドにあるときには、”=ヘッド?”ユニット2005
から出る信号でFIFOバッファ2006をクリアす
る。
The output of mux 2004 is “= head?”
Unit 2005 and First In / First Out (FIFO) buffer 2006. "= Head?" Unit 2
005 checks if the current context is a head bit context with 0 head bits of neighbors and parents. When all the context is in the head, “= head?” Unit 2005
Clears the FIFO buffer 2006 with the signal coming out.

【0284】文脈と結果は、ルックアヘッド区間中、F
IFO2006又は他のメモリにバッファされる。ルッ
クアヘッド区間の終わりで、必要ならば、ルックアヘッ
ド・デシジョン及び/又は個々のデシジョンが符号化さ
れる。一度に1ウェーブレット木ずつ係数が処理される
場合には、ルックアヘッド用のFIFOは、単一のFI
FOを全ての部分帯域のために用いてもよいし、部分帯
域毎に1つずつ、複数のFIFOを用いてもよい。
The context and the result are:
Buffered in IFO 2006 or other memory. At the end of the look-ahead interval, if necessary, the look-ahead decisions and / or individual decisions are encoded. If the coefficients are processed one wavelet tree at a time, the FIFO for look-ahead is a single FI
The FO may be used for all the sub-bands, or a plurality of FIFOs may be used, one for each sub-band.

【0285】なお、マルチプレキシングを減らしたいの
であれば、最高重要度データもルックアヘッドを利用し
てもよい。しかし、各木毎にルックアヘッドと先頭ビッ
トプレーンの両方を利用するのは、やや冗長である。
If it is desired to reduce multiplexing, look-ahead may be used for the highest importance data. However, using both the look ahead and the leading bit plane for each tree is somewhat redundant.

【0286】ある成分に割り当てられたコアが符号ビッ
トを符号化するときには、同じビットプレーンの符号ビ
ットを符号化しない、他成分に割り当てられたコアは遊
休状態となる。したがって、各コアが別のビットプレー
ンの符号ビットを符号化するときには、最高4クロック
サイクルを符号ビットに対して使用してよい。一実施例
では、1係数につき、最高6ビットのヘッド又はテール
ビットがある。
When a core assigned to a component encodes a code bit, a core assigned to another component that does not encode a code bit in the same bit plane is in an idle state. Thus, when each core encodes a sign bit in another bit plane, up to four clock cycles may be used for the sign bit. In one embodiment, there are up to 6 bits of head or tail bits per coefficient.

【0287】タイミングに関し考えられる1つの問題点
は、最高重要度部分が十分に圧縮されることにより、そ
のデータの一部分の復号化期間にディスクが遊休状態に
なることである。バンドバッフアに十分なメモリ帯域が
あるならば、最高重要度データの処理を高速化するため
ルックアヘッドを利用してもよい。その場合、低重要度
データがヘッドの始まりとなることがある。また、ディ
スクが、最高持続レートより高いバースト転送レートを
有しても大丈夫であろう。ハードディスクは、かなりの
バッファを持っているのが普通で、このバッファに先読
みすることで遊休時間が排除されるであろう。
[0287] One possible timing problem is that the highest importance portion is sufficiently compressed that the disk becomes idle during the decoding of a portion of the data. If the band buffer has sufficient memory bandwidth, a look-ahead may be used to speed up processing of the most important data. In that case, low importance data may be the beginning of the head. It would also be OK if the disk had a burst transfer rate higher than the maximum sustained rate. Hard disks typically have a significant buffer, and looking ahead to this buffer will eliminate idle time.

【0288】<文脈モデルの一部の条件付け>文脈モデ
ルで利用される条件付けは、ハードウェアコストと圧縮
率との兼ね合いで決まる。したがって、以下の部分で
は、条件付けのための多くの選択肢を提示し設計者の検
討に供する。
<Partial Conditioning of Context Model> Conditioning used in the context model is determined by a balance between hardware cost and compression ratio. Therefore, in the following sections, we present a number of options for conditioning and provide designer consideration.

【0289】<SS係数のための文脈モデル>文脈モデ
ルの一実施例においては、SS係数は符号化されない。
SS係数は原データの高々256分の1であるので、そ
れらを符号化する利益は殆どない。もしSS係数を符号
化したいなら、Grayエンコーディング、同一係数中
の前ビットによる条件付け、及び/又は前係数中の対応
ビットによる条件付けによって処理してよかろう。
<Context Model for SS Coefficients> In one embodiment of the context model, SS coefficients are not encoded.
Since the SS coefficients are at most 1/256 of the original data, there is little benefit in encoding them. If it were desired to encode the SS coefficients, it would be processed by Gray encoding, conditioning by the previous bit in the same coefficient, and / or conditioning by the corresponding bit in the previous coefficient.

【0290】<先頭ビットプレーンのための文脈モデル
>各ウェーブレット木の最高重要度データについての先
頭ビットプレーン情報の4ビットは、SS係数と同様な
方法で処理できる。これは原データのサイズを521分
の1しか増加させない。一実施例では、それらは、原デ
ータに比べサイズが小さいため符号化されなくともよ
く、また、Grayエンコーディングと何らかの条件付
けをしてもよい。同様に、図34に従って6ビットが用
いられるときには、それら6ビットをSS係数と同様に
処理してよい。
<Context Model for First Bit Plane> Four bits of the first bit plane information for the highest importance data of each wavelet tree can be processed in the same manner as the SS coefficient. This only increases the size of the original data by a factor of 521. In one embodiment, they may not be coded because they are smaller in size than the original data, and may be some conditioned with Gray encoding. Similarly, when 6 bits are used according to FIG. 34, those 6 bits may be processed in the same manner as the SS coefficient.

【0291】<ヘッドビットのための文脈モデル>図4
0は、ヘッドビットのための条件付けを提供する文脈モ
デルの一実施例のブロック図である。図40において、
文脈モデル2100は、ビットプレーン文脈モデルに見
られるものと同様のシフトレジスタを含む。重要な相違
点は、カレントビットプレーンの先行係数を利用せず、
条件付けがテールオン情報をベースにしており、全ての
先行ビットプレーンとカレントビットプレーン中の既に
符号化された情報を利用することである。また、符号化
されたビットプレーン又はビットプレーン群と、重要度
レベル及び部分帯域バケッティングにより生成された符
号化部分帯域又は部分帯域群のレートを識別するため数
ビットを利用することである。
<Context Model for Head Bit> FIG.
0 is a block diagram of one embodiment of a context model that provides conditioning for head bits. In FIG.
Context model 2100 includes a shift register similar to that found in the bit plane context model. The important difference is that without using the leading coefficient of the current bit plane,
The conditioning is based on the tail-on information and utilizes the already encoded information in all preceding and current bit planes. In addition, several bits are used to identify an encoded bit plane or a group of bit planes and a rate of an encoded partial band or a partial band group generated by importance level and partial band bucketing.

【0292】図40において、文脈モデル2100は2
つの入力、すなわちカレント重要度レベル2110とメ
モリからの係数2111を有する。カレント重要度レベ
ル2110はテールオン情報/ビットジェネレータブロ
ック2101と重要度レベル・部分帯域バケッティング
(bucketing)ブロック2102の入力に接続される。メ
モリからの係数2111はブロック2101とレジスタ
2103〜2106に接続される。
In FIG. 40, the context model 2100 is 2
It has two inputs, a current importance level 2110 and a coefficient 2111 from memory. The current importance level 2110 is the tail-on information / bit generator block 2101 and the importance level / partial band bucketing.
(bucketing) Connected to input of block 2102. The coefficient 2111 from the memory is connected to the block 2101 and the registers 2103 to 2106.

【0293】ブロック2101は、係数を受け取って1
のビットの有無を判定する。一実施例では、ブロック2
101は1のビットの場所も特定する。ブロック210
1の出力は、テールオン情報に基づいた1ビット又は2
ビットである。一実施例では、テール情報は、最初の非
0絶対値ビットが観測されているか否か(先頭の”オン
ビット”が観測されたか否か)を表し、また、観測され
ているならば、何ビットプレーン前かを表す。図64は
テール情報ビットの説明である。
The block 2101 receives the coefficient and sets 1
Is determined. In one embodiment, block 2
101 also specifies the location of the one bit. Block 210
The output of 1 is 1 bit or 2 based on the tail-on information.
Is a bit. In one embodiment, the tail information indicates whether the first non-zero magnitude bit has been observed (whether the leading "on bit" has been observed) and, if so, what. Indicates whether it is before the bit plane. FIG. 64 explains the tail information bits.

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

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

【0296】ヘッドビットのための文脈の10ビット
は、親とW(西)係数それぞれからの2ビット情報、N
(北),E(東),SW(南西),S(南)の各係数か
らの1ビット情報、2ビットの重要性レベル情報からな
る。
The 10 bits of context for the head bits are 2 bits of information from the parent and W (west) coefficients, respectively, N
(North), E (East), SW (Southwest), S (South) 1-bit information from each coefficient, 2-bit importance level information.

【0297】一実施例では、一部又は全ての周波数帯域
についてテール情報が用いられない。こうすることによ
り、周波数帯域を、その親を前もって復号化することな
く復号化できるようになる。
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 first decoding its parent.

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

【0299】図40において、ブロック2101の出力
はレジスタ2103〜2106の入力に接続される。レ
ジスタ2103〜2106は近傍データを蓄積する。例
えば、上/左シフトレジスタ2103は、カレント係数
の直上のビットを、そのラインの間中保持する。カレン
ト・シフトレジスタ2104はカレントラインの係数の
ビットを保持し、下/右シフトレジスタ2105はシフ
トレジスタの直下ラインからのラインを保持する。最後
に、親レジスタ2106は親データを保持する。こられ
シフトレジスタの出力が文脈を構成する。
In FIG. 40, the output of block 2101 is connected to the inputs of registers 2103 to 2106. Registers 2103 to 2106 store nearby data. For example, the up / left shift register 2103 holds the bit immediately above the current coefficient throughout the line. The current shift register 2104 holds the bits of the coefficient of the current line, and the down / right shift register 2105 holds the line from the line immediately below the shift register. Finally, the parent register 2106 holds the parent data. The output of these shift registers constitutes the context.

【0300】重要度レベル・部分帯域バケッティング(b
ucketing)ブロック2102の出力も文脈として利用さ
れる。複数の部分帯域及び異なったレベルを同じ文脈で
符号化しようとする時に文脈の一部となるような場合で
ある。そのような場合、ブロック2102の出力は、レ
ジスタ2103〜2106の出力と組み合わされて文脈
を構成する。そのような場合でなければ、文脈はレジス
タ2103〜2106の出力だけから構成される。ま
た、文脈モデル2100から1つのビットが出力され
る。
The importance level / partial band bucketing (b
The output of the (ucketing) block 2102 is also used as context. This is the case when multiple sub-bands and different levels are to be coded in the same context and become part of the context. In such a case, the output of block 2102 is combined with the output of registers 2103-2106 to form a context. Otherwise, the context consists only of the outputs of registers 2103-2106. Also, one bit is output from the context model 2100.

【0301】カレントビットプレーンのデータを使用す
るためのビット−文脈遅延を考慮して、DD,SD,D
S係数間の交替により符号化を行ってもよい(部分木間
の交替)。
In consideration of the bit-context delay for using the data of the current bit plane, DD, SD, D
Encoding may be performed by switching between S coefficients (alternating between subtrees).

【0302】なお、条件付けに必要となる係数を格納す
るためにメモリが必要となる(図36参照)。全ての近
傍係数及び親により条件付けする文脈モデルの一実施例
のためのメモリ使用方法を図41に示す。短シーム変換
順を想定している。(外部メモリを使用して長シーム変
換順をサポートすることもできる。それには、メモリ量
と帯域幅の両方の追加が必要となろう。)高レベルの親
による条件付けは非常にコストがかかる。ある木のレベ
ル4のDD係数は、当該木のレベル1のDD係数の殆ど
より16木だけ後になるまで計算されない。また、後で
符号化される係数全体(図41の影が付けられていない
係数)を記憶することは、後に条件付けで利用するため
のテールオン情報(図41の影が付けられたもの)だけ
を記憶する場合にくらべて非常にコストがかかる。同じ
木にある”西”情報と当該”西”木のからのデータなし
に生成される親のみに基づいて条件付けをすれば、必要
となるメモリ量が大幅に減少するであろう。親又は西の
情報が得られない場合には、北又は東から得られる情報
をコピーするのが有効である。
A memory is required to store coefficients required for conditioning (see FIG. 36). The memory usage for one embodiment of a context model conditioned by all neighborhood coefficients and parents is shown in FIG. Short seam conversion order is assumed. (External memory can also be used to support the long-seam transformation order, which would require the addition of both memory and bandwidth.) Conditioning by high-level parents is very costly. The level 4 DD coefficient for a tree is not calculated until it is 16 trees after most of the level 1 DD coefficients for that tree. Also, storing the entire coefficients to be encoded later (coefficients not shaded in FIG. 41) means that only the tail-on information (shaded in FIG. 41) to be used later for conditioning is stored. It costs much more than memorizing. Conditioning based solely on the "west" information in the same tree and the parent generated without data from the "west" tree would significantly reduce the amount of memory required. If parent or west information is not available, it is useful to copy information obtained from north or east.

【0303】<符号ビットの文脈モデル>符号ビットの
ための条件付けを与える文脈モデルは単純である。上の
画素の符号が分かっているときには、それが条件付けの
ために利用される。上の画素の符号が分かっていないと
きには、そのビットは符号化されない。((R2(0))が利
用される。あるいは、全符号ビットについて不符号化(R
2(0))を使用できる)。
<Context Model for Sign Bit> The context model that gives the condition for the sign bit is simple. When the sign of the upper pixel is known, it is used for conditioning. If the sign of the upper pixel is not known, the bit is not coded. ((R2 (0)) is used. Alternatively, uncoded (R
2 (0)) can be used).

【0304】図42は、符号ビットのための文脈モデル
の一実施例のブロック図である。図42において、mu
x2301は、北の符号ビット2303と0のビット2
304を受け取り、北のテールオンビット2302によ
り制御されることにより、北のテールオンビット230
2が1のときに北の符号ビット2303を出力し、そう
でないときに0を出力する。このように、北の画素は、
その南の画素に対する文脈を提供するための北テールオ
ンビット2302と北符号ビット2303を供給する。
FIG. 42 is a block diagram of one embodiment of the context model for the sign bit. In FIG. 42, mu
x2301 is the north sign bit 2303 and bit 2 of 0
304, and is controlled by the north tail-on bit 2302 to cause the north tail-on bit 230
When 2 is 1, the north sign bit 2303 is output; otherwise, 0 is output. Thus, the north pixel is
It provides a north tail on bit 2302 and a north sign bit 2303 to provide context for that south pixel.

【0305】<テールビットの文脈モデル>テールビッ
トに対しては条件付けは利用されない。一実施例では、
固定した確率状態が用いられ、確率更新は用いられな
い。図65は、テールビットに用いられるコードの3つ
の選択肢を表す。R2(1)とR2(0)を用いる2番目の選択肢
が良い選択である。
<Context Model of Tail Bit> No conditioning is used for the tail bit. In one embodiment,
A fixed probability state is used and no probability update is used. FIG. 65 shows three options of the code used for the tail bit. The second option using R2 (1) and R2 (0) is a good choice.

【0306】一実施例では、M≒60%,L≒40%な
る確率に好適な黄金比コードは次のとおりである: 入力 符号語 MMM 00 MML 110 ML 01 LM 10 SS 111
In one embodiment, the golden ratio codes suitable for probabilities M な る 60%, L ≒ 40% are as follows: input codeword MMM 00 MML 110 ML 01 LM 10 SS 111
.

【0307】<文脈ビン(bin)の要約>システムで利用
可能な文脈ビンの最小個数は次のとおりである。SS,
各木の先頭ビットプレーン、符号及びテールビットはす
べて符号化されない(R2(0)コードが使われる)。PE
M状態や最高確率シンボル(MPS)ビットを記憶する
必要はないが、R2(0)コードを選択するためのロジック
がなければならない。したがって、これをどのように考
えるかによるが、ハードウェアコストは0又は1文脈ビ
ンである。ヘッドビットに対しては適応符号化が用いら
れるべきである。低重要度データは、1ビットプレーン
が一度に符号化されるから、ビットプレーンによる条件
付けは重要でない。最高重要度データについては、各ウ
ェーブレット木の先頭ビットプレーンは、ビットプレー
ン数を十分に減少させるであろうから、それらビットプ
レーンによる条件付けは重要でない。部分帯域による条
件付けの有効性は、どのようなものかあまり明確でない
が、これもこの最小の文脈例では無視できる。3つの近
傍係数と1つの親係数のテールビットを合計4ビット
(16文脈ビン)のために使用してよい。1つの追加の
文脈ビンをルックアヘッドのために使用してよい。(メ
モリサイズが依然として2のベキ乗となるように、2つ
の文脈ビンを一緒にマッピングしてルックアヘッド用の
空きを作るのが、より好都合であるかもしれない。)
<Summary of Context Bins> The minimum number of context bins available in the system is as follows. SS,
The first bit plane, code and tail bits of each tree are not coded (the R2 (0) code is used). PE
There is no need to store the M state or the highest probability symbol (MPS) bits, but there must be logic to select the R2 (0) code. Thus, depending on how this is considered, the hardware cost is 0 or 1 context bin. Adaptive coding should be used for the head bits. For low importance data, conditioning by bit planes is not important because one bit plane is encoded at a time. For the highest significance data, the conditioning by those bit planes is not important, as the first bit plane in each wavelet tree will sufficiently reduce the number of bit planes. The effectiveness of subband conditioning is less clear, but it can also be ignored in this minimal context example. The tail bits of three neighboring coefficients and one parent coefficient may be used for a total of 4 bits (16 context bins). One additional context bin may be used for look ahead. (It may be more convenient to map the two context bins together to make room for the look-ahead so that the memory size is still a power of two.)
.

【0308】4つのコアを用い(文脈を4回複写する必
要がある)、また1コアあたり2つの文脈メモリバンク
を用いる場合、”符号化されない”文脈をどのように考
えるか、また2つのヘッド文脈ビンが一緒にマッピング
されるか否かによって、使用すべき文脈の最小個数は1
28と144の間となろう。
Using four cores (needs to copy the context four times) and using two context memory banks per core, how to think of the "uncoded" context, and two heads Depending on whether context bins are mapped together, the minimum number of contexts to use is 1
Will be between 28 and 144.

【0309】十分な条件付けのあるシステムは以下のと
おりである: ・SS(9ビット)と先頭ビットプレーン(4ビット)
のために、1ビットあたり4文脈ビン、合計52文脈ビ
ンを使用する。(これら文脈ビンはバンクに分割されて
もよい、複写される必要はない。) ・テールビットは符号化されず、R2(0)とR2(1)の両方が
使用される。これをどう考えるかによるが、そのコスト
は0,1又は2文脈ビンである。 ・2つの適応的文脈と1つの”無コード”文脈が符号ビ
ットのために用いられる。 ・ヘッドビットは近傍係数/親係数のために8ビット、
部分帯域/ビットプレーン情報のために2ビット(10
24文脈ビン)を使用し得る。 ・1つの文脈がルックアヘッドのために使用される。
A fully conditioned system is as follows: SS (9 bits) and first bit plane (4 bits)
Use 4 context bins per bit, for a total of 52 context bins. (These context bins may be split into banks and need not be duplicated.) • Tail bits are not encoded, and both R2 (0) and R2 (1) are used. Depending on how you think about this, the cost is 0, 1, or 2 context bins. Two adaptive contexts and one "no code" context are used for the sign bit. Head bits are 8 bits for the neighborhood coefficient / parent coefficient,
2 bits (10 bits) for partial band / bit plane information
24 context bins). One context is used for look ahead.

【0310】文脈モデルの他の例が、入力係数を符号/
絶対値形式に変換する符号/絶対値ユニットの一例とと
もに、米国特許出願第08/498,695号(1995年6月30日受
理、" Method and Apparatus For Compression Using R
eversible WaveletTransforms and an Embedded Codest
ream")、米国特許出願第08/498,036号(1995年6月30日
受理、"Reversible Wavelet Transform and EmbeddedCo
destream Manipulation")、米国特許出願第08/642,51
8号(1996年5月3日受理、"Compression and Decompre
ssion with Wavelet Style amd Binary StyleIncluding
Quantization by Device-Dependent Parser")、及び、
米国特許出願第08/643,268号(1996年5月3日受理、"C
ompression/Deconpression UsingReversible Embedded
Wavelets")、に記載されている。
Another example of a context model is that the input coefficient is
US patent application Ser. No. 08 / 498,695, filed Jun. 30, 1995, entitled "Method and Apparatus For Compression Using R,"
eversible WaveletTransforms and an Embedded Codest
ream "), US patent application Ser. No. 08 / 498,036, filed Jun. 30, 1995," Reversible Wavelet Transform and EmbeddedCo.
destream Manipulation "), US patent application Ser. No. 08 / 642,51.
No. 8 (Received May 3, 1996, "Compression and Decompre
ssion with Wavelet Style amd Binary StyleIncluding
Quantization by Device-Dependent Parser "), and
U.S. Patent Application No. 08 / 643,268, accepted May 3, 1996, "C
ompression / Deconpression UsingReversible Embedded
Wavelets ").

【0311】この文脈モデルはデータのエントロピー符
号化のための文脈を提供する。一実施例では、本発明に
よって行われる全てのエントロピー符号化は、バイナリ
・エントロピーコーダによって実行される。単一のコー
ダを使用して単一の出力コードストリームを生成しても
よい。あるいは、多数の(現実の又は仮想の)コーダを
使用して多数の(現実の又は仮想の)データストリーム
を生成してもよい。
This context model provides a context for the entropy coding of the data. In one embodiment, all entropy encoding performed by the present invention is performed by a binary entropy coder. A single coder may be used to generate a single output code stream. Alternatively, multiple (real or virtual) coders may be used to generate multiple (real or virtual) data streams.

【0312】<LICのためのM項符号化>図43は、
LICに対するM項符号化の利用を表している。M項符
号化を圧縮符号化のために利用すると、ルックアヘッド
として作用する(図示の如く)。初めに、次の8係数の
状態が調べられる。ヘッドに何かあると、ヘッドビット
に対しエントロピー符号化が行われ、8係数の全ヘッド
ビットが符号化されるまで、全ヘッドビットが毎サイク
ル1ビットずつエントロピー符号化される。図43にお
いて、1のヘッドビットは第1サイクル及び第3サイク
ルで符号化されるが、0のヘッドビットは第2サイクル
及び第4サイクルで符号化される。全ヘッドビットがエ
ントロピー符号化されると、符号ビットとテールビット
が同一サイクルで符号化される。例えば、図43におい
て、1のヘッドビットの次にくる符号ビット及びテール
ビットは全て第5サイクルで符号化される。このように
して、全体のサイクル数が減少する。
<M-Term Coding for LIC> FIG.
9 illustrates the use of M-term coding for LIC. When M-term coding is used for compression coding, it acts as a look-ahead (as shown). First, the state of the next eight coefficients is examined. If there is something in the head, entropy coding is performed on the head bits, and all head bits are entropy-coded one bit per cycle until all head bits of eight coefficients are coded. In FIG. 43, a head bit of 1 is encoded in the first and third cycles, while a head bit of 0 is encoded in the second and fourth cycles. When all the head bits are entropy coded, the sign bit and the tail bit are coded in the same cycle. For example, in FIG. 43, all the sign bits and tail bits following one head bit are encoded in the fifth cycle. In this way, the overall number of cycles is reduced.

【0313】<本発明の印刷システムへの応用>図44
は、プリンタのフロントエンドの一実施例のブロック図
である。図44において、レンダラー(renderer)250
1はページ記述言語又はディスプレイリストの形式のデ
ータを受け取る。レンダラー2501は、ラスター画像
処理によって構成されてもよい。各ロケーション(例え
ばスポット)毎に、レンダラー2501は、その色(ア
プリケーションによるが、例えば、白黒、8ビットRG
B値、8ビットCMYK値)を決定する。レンダラー2
501の出力は、バンドにフォーマットされた画素の集
合であり、バンドバッファ(メモリ)2503に格納さ
れる。
<Application of the Present Invention to a Printing System> FIG.
FIG. 2 is a block diagram of an embodiment of a front end of the printer. In FIG. 44, a renderer 250
1 receives data in the form of a page description language or a display list. The renderer 2501 may be configured by raster image processing. For each location (e.g., spot), the renderer 2501 uses its color (for example, black and white, 8-bit RG
B value, 8-bit CMYK value). Renderer 2
An output 501 is a set of pixels formatted in a band, and is stored in a band buffer (memory) 2503.

【0314】他の実施例では、Adobe Postscript(登録
商標)やMicrosoft Windows(登録商標)GDIのよう
なページ記述言語(PDL)によるデータはディスプレ
イリストへ変換される。このディスプレイリストは画素
のバンドを生成するために用いられる。この実施例で
は、画素は連続階調値を表すと仮定され、プリントエン
ジンに必要とされる何らかの中間調処理もしくはディザ
処理が、伸長後に行われることになろう。
In another embodiment, data in a page description language (PDL) such as Adobe Postscript (registered trademark) or Microsoft Windows (registered trademark) GDI is converted into a display list. This display list is used to generate a band of pixels. In this example, the pixels are assumed to represent continuous tone values, and any halftoning or dithering required by the print engine will take place after decompression.

【0315】本発明においては、バンドバッファ250
3として使用されるメモリは、圧縮用作業域としても使
用される(必要メモリを増加させない)。この二重利用
については詳しく後述する。
In the present invention, the band buffer 250
The memory used as 3 is also used as a compression work area (does not increase the required memory). This double use will be described later in detail.

【0316】圧縮器2504は各画素バンドを圧縮す
る。圧縮器2504に対する入力が中間調処理もしくは
ディザ処理された画素であるときにも圧縮器2504は
動作するが、ウェーブレット処理による場合、圧縮率は
良くないであろう。中間調処理もしくはディザ処理され
た画素に対してはバイナリ文脈モデルを利用できる。圧
縮器2504は圧縮データをディスク2505に書き込
む。ディスク2505はハードディスクかもしれない。
別の実施例では、ディスク2505はランダムアクセス
メモリ(RAM)、フラッシュメモリ、光ディスク、磁
気テープ、任意の種類の記憶手段、任意種類の通信チャ
ネルかもしれない。
[0316] The compressor 2504 compresses each pixel band. The compressor 2504 also operates when the input to the compressor 2504 is a pixel that has been subjected to halftone processing or dithering, but the compression ratio will not be good if it is based on wavelet processing. A binary context model can be used for halftone or dithered pixels. The compressor 2504 writes the compressed data to the disk 2505. Disk 2505 may be a hard disk.
In another embodiment, disk 2505 may be random access memory (RAM), flash memory, optical disk, magnetic tape, any type of storage means, any type of communication channel.

【0317】図45は、プリンタのバックエンドの一実
施例のブロック図である。図45において、プリンタの
バックエンド2500はディスク2505に接続された
伸長器2602、バンドバッファ(メモリ)2603、
プリントエンジン2604からなる。伸長器2602
は、ハードディスク2505から圧縮データを読み込ん
で伸長する。伸長されたデータは画素形式でバンドバッ
ファ(メモリ)2603に格納される。バンドバッファ
2603は、圧縮器2504のための作業域として働く
バンドバッファ2503と同じメモリでもよい。プリン
トエンジン2604に対し画素をリアルタイムに送るこ
とができるようにするため、伸長器2602はバンドバ
ッファ2603をデータが十分に満たされた状態に保
つ。
FIG. 45 is a block diagram of one embodiment of the back end of the printer. In FIG. 45, the back end 2500 of the printer includes a decompressor 2602 connected to a disk 2505, a band buffer (memory) 2603,
A print engine 2604 is provided. Expander 2602
Reads compressed data from the hard disk 2505 and decompresses it. The expanded data is stored in a band buffer (memory) 2603 in a pixel format. Band buffer 2603 may be the same memory as band buffer 2503 serving as a work area for compressor 2504. The expander 2602 keeps the band buffer 2603 full of data so that the pixels can be sent to the print engine 2604 in real time.

【0318】図46は、オプショナルな画質改善を含む
別の実施例である。図46において、伸長器2602よ
り出力される画素は画質改善ブロック2705を介して
バンドバッファ2603に入力するが、他の情報すなわ
ち未だ画素になっていない情報(部分的な係数)はバン
ドバッファ2603へ直接送られる。画質改善ブロック
2705は、補間処理、平滑化処理、誤差拡散処理、中
間調処理及び/又はディザ処理などの機能を果たす。
FIG. 46 shows another embodiment including an optional image quality improvement. In FIG. 46, the pixel output from the decompressor 2602 is input to the band buffer 2603 via the image quality improvement block 2705, but other information, that is, information (partial coefficients) that have not yet become a pixel, is input to the band buffer 2603. Sent directly. The image quality improvement block 2705 performs functions such as interpolation processing, smoothing processing, error diffusion processing, halftone processing, and / or dither processing.

【0319】伸長器2602とバンドバッファ2603
の間に必要となる帯域幅のため、伸長器2602はま
ず、変換係数をバンドバッファ2603に書き込み、バ
ンドバッファ2603をアクセスして特定の係数を取り
込み、逆変換を行ってからバンドバッファ2603に再
び書き込む。なお、バンドバッファ2603は、作業域
としては小さいかもしれない。例えば、1ページの画像
が64Mバイトでバンドバッファ2603が16Mバイ
トでも、小さな作業域メモリだと考えられるであろう。
Decompressor 2602 and band buffer 2603
The expander 2602 first writes the transform coefficient to the band buffer 2603, accesses the band buffer 2603 to fetch a specific coefficient, performs an inverse transform, and then returns to the band buffer 2603 because of the required bandwidth. Write. Note that the band buffer 2603 may be small as a work area. For example, a 64 Mbyte image per page and a 16 Mbyte band buffer 2603 would be considered a small working area memory.

【0320】例えば、32ビット/画素(8ビットの4
成分CMYK)、400dpiのA4画像で、8ページ
/分の場合に必要とされる、バンドバッファ2603か
らプリントエンジン2604へのデータレートは、約8
Mバイト/秒である。代表的なハードディスクの転送速
度はおおよそ2Mバイト/秒(例えば1.7〜3.5M
バイト/秒)である。したがって、ディスク2505の
帯域幅をプリンタの帯域幅に整合させるためには、約
4:1の圧縮率が要求される。一実施例によれば、図4
4の圧縮器2504及び図45又は図46の伸長器26
02が、単一の集積回路チップに収容される。
For example, 32 bits / pixel (8 bits of 4 bits)
(CMYK), 400 dpi A4 image, the data rate from band buffer 2603 to print engine 2604 required for 8 pages / minute is about 8
M bytes / sec. A typical hard disk transfer speed is approximately 2 Mbytes / sec (for example, 1.7 to 3.5 Mbytes).
Bytes / second). Therefore, to match the bandwidth of the disk 2505 to the bandwidth of the printer, a compression ratio of about 4: 1 is required. According to one embodiment, FIG.
4 and the expander 26 of FIG. 45 or FIG.
02 are housed in a single integrated circuit chip.

【0321】図47は、プリンタの圧縮/伸長機能を内
蔵した集積回路(IC)チップの一実施例のブロック図
である。図47において、画素データインターフェース
2801はバンドバッファ(不図示)と接続される。画
素データインターフェース2801は、バンドバッファ
に対する読み書きのためのアドレスを生成する。可逆色
空間変換を行うため、オプショナルの可逆色空間変換器
2802が含まれるかもしれない。係数データインター
フェース2804は、読み書きのためのアドレスを生成
し、また2バイト係数を正しくアセンブルする。係数デ
ータインターフェース2804は、画素データインター
フェース2801と一緒に、外部メモリにある必要のあ
るラインバッファリング又は係数バッファリングを制御
する。係数データインターフェース2804と、可逆色
空間変換の利用については後により詳しく説明する。
FIG. 47 is a block diagram showing an embodiment of an integrated circuit (IC) chip having a built-in compression / decompression function of a printer. In FIG. 47, the pixel data interface 2801 is connected to a band buffer (not shown). The pixel data interface 2801 generates an address for reading / writing from / to the band buffer. An optional reversible color space converter 2802 may be included to perform a reversible color space conversion. The coefficient data interface 2804 generates addresses for reading and writing, and assembles 2-byte coefficients correctly. The coefficient data interface 2804, together with the pixel data interface 2801, controls the need for line buffering or coefficient buffering in external memory. The use of the coefficient data interface 2804 and lossless color space conversion will be described in more detail later.

【0322】なお、双方向の矢印は、データがいずれの
向きにも流れ得ることを意味している。例えば、データ
を圧縮する時には、ICチップの様々なコンポーネント
を通じてデータは左から右へ流れる。他方、データ伸長
時には、データはおおむね右から左へ向かって流れる。
Note that a bidirectional arrow indicates that data can flow in any direction. For example, when compressing data, the data flows from left to right through various components of the IC chip. On the other hand, at the time of data decompression, data flows generally from right to left.

【0323】データの符号化時には、画素データインタ
ーフェース2801から、又は可逆色空間変換器280
2から(それが含まれているとき)、画素をウェーブレ
ット変換ブロック2803が受け取ってウェーブレット
変換を施す。一実施例において、ウェーブレット変換ブ
ロック2803により実行される変換は重複ウェーブレ
ット変換である。これはロスレス及びロッシーの画像圧
縮のためのエネルギー集中をする。ロッシー圧縮の場
合、JPEGの悩みであるブロック境界歪みが回避され
る。フィルタ係数は、適切に桁揃えされた時には、スカ
ラー量子化で良好なロッシー圧縮結果が得られるように
正規化される。一実施例では、ウェーブレット変換ブロ
ック2803は、2・6変換を行う。他の実施例では、
ウェーブレット変換ブロック2803は2・10変換を
行う。ウェーブレット変換ブロック2803は他の公知
の変換を行ってもよい。ウェーブレット変換ブロック2
803の様々な具体例について後に詳述する。
When encoding data, the pixel data interface 2801 or the reversible color space converter 280
From 2 (when it is included), the pixel is received by the wavelet transform block 2803 and subjected to wavelet transform. In one embodiment, the transform performed by wavelet transform block 2803 is an overlap wavelet transform. This provides energy concentration for lossless and lossy image compression. In the case of lossy compression, block boundary distortion which is a problem of JPEG is avoided. When properly aligned, the filter coefficients are normalized so that scalar quantization yields good lossy compression results. In one embodiment, wavelet transform block 2803 performs a 2.6 transform. In another embodiment,
The wavelet transform block 2803 performs 2 · 10 transform. Wavelet transform block 2803 may perform other known transforms. Wavelet transform block 2
Various examples of 803 will be described later in detail.

【0324】ウェーブレット変換ブロック2803から
出力された係数は、後で符号化するため、係数データイ
ンターフェース2804を介してメモり(例えばバンド
バッファ)へ再び書き込まれることがある。一実施例で
は、メモリに再書き込みされるデータは低重要度データ
であり、その詳細は後述する。このようなデータは、そ
の後にICチップに読み込まれ符号化される。
The coefficients output from the wavelet transform block 2803 may be written again to a memory (for example, a band buffer) via the coefficient data interface 2804 for later encoding. In one embodiment, the data rewritten to the memory is low importance data, the details of which are described below. Such data is then read into an IC chip and encoded.

【0325】ウェーブレット変換ブロック2803より
出力された係数、又は係数データインターフェース28
04を介して受け取られた係数は、文脈モデル2805
に供給される。文脈モデル2805は、符号化器/復号
化器2806によるデータの符号化(又は復号化)のた
めの文脈を提供する。一実施例では、文脈モデル280
5はデータを直接的に符号化へ渡すことができる。この
ように、文脈モデル2805は最高重要度文脈モデルと
して動作する。各種の文脈モデルの実現構成は前述し
た。
The coefficients output from the wavelet transform block 2803 or the coefficient data interface 28
Coefficient received via the context model 2805
Supplied to Context model 2805 provides context for encoding (or decoding) data by encoder / decoder 2806. In one embodiment, the context model 280
5 can pass data directly to the encoding. In this way, the context model 2805 operates as the highest importance context model. The implementation configuration of various context models has been described above.

【0326】一実施例では、符号化器/復号化器280
6は高速並列コーダからなる。高速並列コーダは、数ビ
ットを並列に処理する。一実施例では、高速並列コーダ
はVLSIハードウェアで実現され、あるいは圧縮性能
を犠牲にすることなくマルチプロセッサ・コンピュータ
で実現される。本発明において利用し得る高速並列コー
ダの一例が、1995年1月10日発行の米国特許第5,381,14
5号 ”Method andApparatus for Parallel Decoding a
nd Encoding of Data”に述べられている。
In one embodiment, the encoder / decoder 280
6 comprises a high-speed parallel coder. A high-speed parallel coder processes several bits in parallel. In one embodiment, the high speed parallel coder is implemented in VLSI hardware or in 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,14 issued on Jan. 10, 1995.
No. 5 "Method and Apparatus for Parallel Decoding a
nd Encoding of Data ”.

【0327】他の実施例では、バイナリ・エントロピー
コーダはQコーダ、QMコーダ、有限状態マシンコーダ
等からなる。QMコーダは周知の効率バイナリエントロ
ピーコーダである。有限状態マシン(FSM)コーダは
確率及び事象(outcome)から圧縮ビットストリームへの
単純な変換を提供する。一実施例では、有限状態マシン
コーダは、テーブルルックアップにより、符号化器及び
復号化器の両方として実現される。多様な確率予測法
を、このような有限状態マシンコーダで利用できる。一
実施例では、本発明の有限状態マシンコーダは、1993年
12月21日発行の米国特許第5,272,478号”Method and Ap
paratus for Entropy Coding ”に記載されているBコ
ーダからなる。
In another embodiment, the binary entropy coder comprises a Q coder, a QM coder, a finite state machine coder, and the like. The QM coder is a well-known efficiency binary entropy coder. A finite state machine (FSM) coder provides a simple conversion of probabilities and outcomes into a compressed bitstream. In one embodiment, the finite state machine coder is implemented as both an encoder and a decoder by table lookup. A variety of probability prediction methods can be used with such a finite state machine coder. In one embodiment, the finite state machine coder of the invention
U.S. Patent No. 5,272,478 issued December 21, "Method and Ap
paratus for Entropy Coding ".

【0328】符号化器/復号化器2806の出力は、デ
ィスク又は他の記憶媒体あるいは他の通信路とのインタ
ーフェースを提供する符号化データインターフェース2
807に接続される。
The output of the encoder / decoder 2806 is an encoded data interface 2 that provides an interface to a disk or other storage medium or other communication path.
807.

【0329】符号化データインターフェース2807
は、ディスクとの間で符号化データを送受する。一実施
例では、SCSIインターフェースコントローラがチッ
プに含まれているならば、それはこの点に実装されるで
あろう。他の実施例では、符号化データインターフェー
ス2807は外部のSCSIコントローラと通信する。
SCSI以外の記憶又は通信が利用されてもよい。
Encoded data interface 2807
Transmits and receives encoded data to and from a disk. In one embodiment, if a SCSI interface controller was included on the chip, it would be implemented at this point. In another embodiment, encoded data interface 2807 communicates with an external SCSI controller.
Storage or communication other than SCSI may be used.

【0330】伸長期間に、符号化データインターフェー
ス2807を介し、ディスク(又は他のメモリ装置もし
くは通信路)より符号化データが符号化器/復号化器2
806に受信され、そこで文脈モデル2805より与え
られる文脈を使って伸長される。伸長により得られた係
数はウェーブレット変換ブロック2803によって逆変
換される。(なお、一実施例ではウェーブレット変換ブ
ロック2803が順変換と逆変換の両方を遂行するが、
他の実施例では順変換と逆変換は別々のブロックにより
行われる。) ウェーブレット変換ブロック2803の
出力は画素からなり、これはオプショナルな色空間変換
を施され、画素データインターフェース2801を介し
てバンドバッファへ出力される。
During the decompression period, the encoded data is transmitted from the disk (or another memory device or communication path) via the encoded data interface 2807 to the encoder / decoder 2.
806, where it is decompressed using the context provided by the context model 2805. The coefficients obtained by the decompression are inversely transformed by the wavelet transform block 2803. (Note that in one embodiment, the wavelet transform block 2803 performs both forward and inverse transforms,
In another embodiment, the forward and inverse transforms are performed by separate blocks. The output of the wavelet transform block 2803 is composed of pixels, which are subjected to an optional color space conversion, and output to the band buffer via the pixel data interface 2801.

【0331】印刷期間におけるシステムの基本タイミン
グが図48に示されている。図48において、各符号化
単位の符号化データがディスクから読み出される。可能
な限り多くのデータが読み出され、短時間遅れて、係数
が復号化される。復号化が終わると、逆ウェーブレット
変換が計算される。この変換の終了後、画素をプリント
エンジンへ送ることができる。なお、図48中の影付け
は、特定の符号化単位に対し様々なアクションが何時生
じるかを明らかにする。
The basic timing of the system during the printing period is shown in FIG. In FIG. 48, encoded data of each encoding unit is read from the disk. As much data as possible is read out and, with a short delay, the coefficients are decoded. After decoding, an inverse wavelet transform is calculated. After completion of this conversion, the pixels can be sent to the print engine. Note that the shadowing in FIG. 48 reveals when various actions occur for a particular coding unit.

【0332】<メモリからディスクへの係数埋め込み>
図27は、本発明における符号化データの構成を示す。
図27において、最高重要度データ1003は変換され
た直後に係数順に符号化される(埋め込まれない)。し
たがって、このデータはバッファされる必要がない。一
実施例では、最高重要度データ1003は、常にディス
クから読み出すことができるように、その量が制限され
る。
<Embedding Coefficients from Memory to Disk>
FIG. 27 shows the configuration of encoded data according to the present invention.
In FIG. 27, immediately after conversion, the highest importance data 1003 is encoded (not embedded) in coefficient order. Therefore, this data does not need to be buffered. In one embodiment, the amount of highest importance data 1003 is limited so that it can always be read from disk.

【0333】ある量の低重要度データ1004がバッフ
ァされ、埋め込まれ、そしてディスクに重要度の順に書
き込まれる。バッファし、埋め込みし、書き込むことが
できるデータ量は、転送時間によって決まる。すなわ
ち、システムは、ディスクからの転送時間が終了するま
でデータを読み込む。ディスクの転送レートによって、
どれだけのデータが保存されるかが決まる。これらのレ
ートは分かっており、また個々の転送の物理特性に依存
している。
An amount of low importance data 1004 is buffered, embedded, and written to disk in order of importance. The amount of data that can be buffered, embedded, and written depends on the transfer time. That is, the system reads data until the transfer time from the disk ends. Depending on the disk transfer rate,
It determines how much data is stored. These rates are known and depend on the physical characteristics of the individual transfer.

【0334】圧縮しにくい画像の場合、符号化期間に捨
てられるデータもある。このデータは最低重要度データ
1005として示されている。最良のディスク転送レー
トの場合でも最低重要度データを読み出させる可能性が
全くないのであれば、そのデータをディスクに格納する
理由がない。多くの、おそらく殆どの画像では、データ
が捨てられることはないであろう。
In the case of an image that is difficult to compress, some data is discarded during the encoding period. This data is shown as minimum importance data 1005. Even at the best disk transfer rate, there is no reason to store the least important data if there is no possibility of having it read. For many, and probably most, images, no data will be discarded.

【0335】符号化データの順序付けと、それを達成す
る方法については、既に詳しく説明した。
The ordering of the encoded data and the method of achieving it have already been described in detail.

【0336】以下、圧縮時及び伸長時のバンドバッファ
の管理について述べ、続いて符号化データの埋め込みス
キームについて説明する。変換、文脈モデル及び符号化
器/復号化器の並列化のハードウェアによる実現例につ
いても説明する。
Hereinafter, the management of the band buffer at the time of compression and decompression will be described, and then the scheme of embedding the encoded data will be described. An example of hardware implementation of conversion, a context model, and parallelization of an encoder / decoder will also be described.

【0337】<画素及び係数のインターフェース>図4
9は、画素データの編成方法の一例を示す。図49にお
いて、ページ3000はバンド3001〜3004に分
割される。一実施例では、ページ3000はページ記述
言語又はディスプレイリストによる1ページの記述から
なり、各バンドの画素を生成するために使用される。一
実施例では、バンド3001〜3004のそれぞれは、
ディスプレイリスト技法によって、別々にラスタライズ
される。各バンド3001〜3004はさらに符号化単
位(例えば3001A〜3001D)に分割される。
<Pixel and Coefficient Interface> FIG.
9 shows an example of a method of organizing pixel data. In FIG. 49, page 3000 is divided into bands 3001 to 3004. In one embodiment, page 3000 comprises a description of one page in a page description language or display list, and is used to generate pixels for each band. In one embodiment, each of the bands 3001-3004 is
It is separately rasterized by the display list technique. Each band 3001 to 3004 is further divided into coding units (for example, 3001A to 3001D).

【0338】1バンドにつき多数の符号化単位を用いる
利点は、伸長期間にバンドバッファの部分部分を循環的
に(ピンポンバッファと同様に)作業域として使用でき
ることである。換言すれば、ある部分の画素を伸長しバ
ンドバッファに格納し、プリンタへ送ると同時に、バン
ドバッファの別の部分を係数を復号化している間格納す
るための作業域として使用しつつ、その係数に対応した
画素を記憶するためにバンドバッフアのもう1つの部分
を使用することができる。
An advantage of using multiple coding units per band is that a portion of the band buffer can be used cyclically (similar to a ping-pong buffer) as a work area during the decompression period. In other words, while decompressing some portion of the pixel and storing it in the band buffer and sending it to the printer, while using another portion of the band buffer as a work area to store while decoding the coefficient, Another portion of the band buffer can be used to store the pixels corresponding to.

【0339】図50は、ページ3100のバンドバッフ
ァ3101を示す。バンドバッファ3101は符号化単
位3101A〜3101Dからなる。符号化単位310
1A,3101Bは、伸長器が係数を格納するための作
業域として働く。符号化単位3101Cはプリンタへ送
る画素を記憶し、一方、符号化単位3101Dは伸長器
が次の画素を格納するための作業域として働く。
FIG. 50 shows the band buffer 3101 of the page 3100. The band buffer 3101 includes coding units 3101A to 3101D. Coding unit 310
1A and 3101B serve as work areas for the decompressor to store coefficients. Coding unit 3101C stores the pixels to send to the printer, while coding unit 3101D serves as a work area for the decompressor to store the next pixel.

【0340】ページ3100全体が印刷される時に、バ
ンドバッファ3101の部分部分を循環的に使用でき
る。例えば、次の符号化単位として、符号化単位310
1Dの画素がプリンタへ出力される画素である。そうな
った時に、符号化単位3101B,3101Cは伸長器
が係数を記憶するための作業域として使用される。また
その時に、符号化単位3101Aは伸長器が次にプリン
タへ出力する画素を記憶するための作業域として使用さ
れる。
When the entire page 3100 is printed, a portion of the band buffer 3101 can be used cyclically. For example, as the next encoding unit, the encoding unit 310
1D pixels are pixels output to the printer. When this happens, coding units 3101B and 3101C are used as work areas for the decompressor to store the coefficients. At that time, the coding unit 3101A is used as a work area for storing a pixel to be output next to the printer by the decompressor.

【0341】本発明においては、係数は画素より大き
い。したがって、2倍のメモリが作業域メモリに割り当
てられる。別の実施例では、バンドは多くの又はより少
ない符号化単位に分割される。例えば、一実施例では、
バンドはそれぞれ8個の符号化単位に分割される。
In the present invention, the coefficient is larger than the pixel. Therefore, twice as much memory is allocated to work area memory. In another embodiment, the band is divided into more or fewer coding units. For example, in one embodiment,
Each band is divided into eight coding units.

【0342】<メモリ帯域幅>画素データインターフェ
ースと係数データインターフェースは協力してバンドバ
ッファメモリを効率的に管理する。高速ページモードD
RAM、EDO(extended data out)DRAM、その他
の連続アクセスに適したメモリが使用されるときには、
これらインターフェースは連続したアドレスのデータを
十分な長さのバーストとして転送し、メモリの可能帯域
幅を有効に利用する。連続したアドレスに対するバース
トアクセスをサポートするために、いくつかの小バッフ
ァが必要とされるかもしれない。
<Memory Bandwidth> The pixel data interface and the coefficient data interface cooperate to efficiently manage the band buffer memory. High-speed page mode D
When RAM, EDO (extended data out) DRAM, or other memory suitable for continuous access is used,
These interfaces transfer data at consecutive addresses as bursts of sufficient length to effectively utilize the available bandwidth of the memory. Some small buffers may be needed to support burst access to consecutive addresses.

【0343】図51は、並列メモリアクセス要求を説明
する復号化タイミング図である。図51において、復号
化に必要とされる帯域幅は以下のとおりである。一実施
例において、2MHz画素クロック、8MHz成分クロ
ック、32MHz復号化器クロックが用いられ、また、
プリントエンジンが1バイト/成分クロックを要求し、
変換器が1係数につき2バイトを読み込み、1成分につ
き1バイトを書き込むことを思い出されたい。変換が符
号化単位時間の半分で実行されるとすれば、変換は6バ
イト/成分クロックを必要とする。変換速度は、計算時
間ではなくメモリ帯域幅によって制限される。24バイ
ト/成分クロックの帯域幅を利用できるならば、符号化
単位時間の8分の1の時間内で変換を計算できるであろ
う。外部メモリがシームのために使用されるときには、
変換は余分な帯域幅を必要とするかもしれない。一実施
例では、符号化データの最高重要度部分については、係
数を復号化するのに1成分クロックあたり2バイトの書
き込みを必要とする。符号化データの低重要度部分の各
ビットプレーンについては、復号化するのに1成分クロ
ックにつき1バイトの読み出しと書き込みを必要とす
る。なお、これは実施例によってはもっと小さいかもし
れない。両方の動作が符号化単位時間の半分を使うなら
ば、4バイト/成分クロックの帯域幅と24バイト/成
分クロックの帯域幅がそれぞれ必要となろう。文脈シー
ム情報のために外部メモリが使用されるならば、余分な
帯域幅が必要となるかもしれない。
FIG. 51 is a decoding timing chart for explaining a parallel memory access request. In FIG. 51, the bandwidth required for decoding is as follows. In one embodiment, a 2 MHz pixel clock, an 8 MHz component clock, a 32 MHz decoder clock is used, and
The print engine requests 1 byte / component clock,
Recall that the converter reads two bytes per coefficient and writes one byte per component. If the conversion is performed in half an encoding unit time, the conversion requires a 6 byte / component clock. Conversion speed is limited by memory bandwidth, not by computation time. If the bandwidth of 24 bytes / component clock is available, the transform could be calculated in one eighth of the coding unit time. When external memory is used for seams,
The conversion may require extra bandwidth. In one embodiment, for the most important part of the encoded data, decoding the coefficients requires writing two bytes per component clock. For each bit plane in the low significance portion of the encoded data, decoding requires one byte read and write per component clock. Note that this may be smaller in some embodiments. If both operations use half of the coding unit time, 4 bytes / component clock bandwidth and 24 bytes / component clock bandwidth would be required, respectively. If external memory is used for context seam information, extra bandwidth may be required.

【0344】一実施例では、最高のバーストモード転送
速度は、4メモリアクセス/成分クロック(1アクセス
/復号化器クロック)である。したがって、32ビット
のデータバスを用いれば、最高転送速度は16バイト/
成分クロックよりやや小さい。64ビットのデータバス
を用いれば、最高転送速度は32バイト/成分クロック
よりやや小さい。
In one embodiment, the highest burst mode transfer rate is 4 memory accesses / component clock (1 access / decoder clock). Therefore, if a 32-bit data bus is used, the maximum transfer rate is 16 bytes /
Slightly smaller than component clock. With a 64-bit data bus, the maximum transfer rate is slightly less than 32 bytes / component clock.

【0345】<LICメモリの必要帯域幅の削減>LI
Cの各係数の各ビットは、復号化中に外部メモリの1回
の読み出しと1回の書き込みを必要とする。(符号化に
は1回の読み出ししか必要としない。)これらのメモリ
アクセスが必要とされるメモリ帯域幅の大半の原因であ
る。一実施例では、各LIC係数を8ビット単位で記憶
する代わりに、可能な時に8ビット未満を使って係数を
記憶することにより必要な帯域幅を減らす。
<Reduction of Required Bandwidth of LIC Memory> LI
Each bit of each coefficient of C requires one read and one write of the external memory during decoding. (Encoding requires only one read.) These memory accesses account for most of the required memory bandwidth. In one embodiment, instead of storing each LIC coefficient in 8-bit units, less than 8 bits are used to store the coefficients when possible, thereby reducing the required bandwidth.

【0346】図66は、各ビットプレーンの復号化のた
めLIC係数を記憶するのに必要なメモリ量を表してい
る。図66において、MICの処理時に1係数につき1
ビット(テールオンビット)が書き込まれる。ビットプ
レーン5のために書き込まれるものがビットプレーン4
のために再び読み出される:テールオンビットと、ビッ
ト5が何であったかと、ビット5が1であったときの符
号ビットを含む2〜3ビットである。割合は、各ビット
プレーンについて、何パーセントの係数が関係している
かを示す。これは、図31を見ればもっと明瞭になろ
う。図31において、DD1からDS4,SD4までの
部分帯域からの全係数がビットプレーン5にデータを持
つので(網掛けされているように)、ビットプレーン5
は全ての部分帯域からの係数を持つ。ビットプレーン0
はDD1部分帯域からの係数しか持たない。図66に示
されるように、ビットプレーン4とビットプレーン5は
共に全部分帯域からの係数を有するので、その割合は1
00%であるが、ビットプレーン0は25%の係数しか
持たない(DD1部分帯域に)。復号化が進むにつれ、
いくつかのビットプレーンはビットプレーン0に達する
前に完了する。
FIG. 66 shows the amount of memory required to store LIC coefficients for decoding each bit plane. In FIG. 66, when processing the MIC, one coefficient is used.
A bit (tail-on bit) is written. What is written for bit plane 5 is bit plane 4
Read again for: two to three bits, including the tail-on bit, what bit 5 was, and the sign bit when bit 5 was one. The percentage indicates what percentage coefficient is involved for each bit plane. This will be clearer when looking at FIG. In FIG. 31, since all the coefficients from the partial bands from DD1 to DS4 and SD4 have data in the bit plane 5 (as shaded), the bit plane 5
Has coefficients from all subbands. Bit plane 0
Has only the coefficients from the DD1 sub-band. As shown in FIG. 66, since both bit plane 4 and bit plane 5 have coefficients from all partial bands, the ratio is 1
00%, but bitplane 0 has only 25% coefficients (for DD1 subband). As decryption proceeds,
Some bit planes are completed before reaching bit plane 0.

【0347】図66において、復号化の開始時はビット
プレーンの復号化は全く行われていないため、全ての係
数の1ビット(1係数につき1ビット)だけ読み出され
ヘッド又はテールであるか調べられる。復号化が進むに
したがい1係数あたりのビット数が増加する。
In FIG. 66, since the decoding of the bit plane is not performed at the start of the decoding, only one bit (one bit per one coefficient) of all the coefficients is read, and it is checked whether the head or the tail is present. Can be As the decoding progresses, the number of bits per coefficient increases.

【0348】図52は、読み出されたデータより大きな
データの書き込みを処理するため循環アドレッシングを
利用する方法を説明するものである。このようなことが
起きるのは、処理の結果、初めに読み出されたビットよ
り多い、書き込むべきビットが発生するからである。図
52において、プロセスは1係数あたり1ビット(メモ
リスペースの8分の1である)を書き込むことから始ま
る。続いて、1係数あたり1ビットが読み出され、同時
に1係数あたり2〜3ビットが書き込まれる。次に、1
係数あたり2〜3ビットが読み出され、同時に1係数あ
たり3〜4ビットが書き込まれる。これがデータ全部が
処理されるまで続く。
FIG. 52 illustrates a method of using circular addressing to process writing of data larger than read data. This occurs because the processing results in more bits to be written than are initially read. In FIG. 52, the process begins by writing one bit per coefficient (one-eighth of the memory space). Subsequently, one bit is read out per coefficient, and simultaneously two or three bits are written per coefficient. Then, 1
Two to three bits are read out per coefficient, and three to four bits are written simultaneously per coefficient. This continues until all the data has been processed.

【0349】ハードウェア構成を簡略化するためのいく
つかの選択肢がある。常に最小数のビットを使用するの
ではなく、ことによれば1,2,3,4,6又は8ビッ
トだけが使用されるかもしれない。これは、サイズによ
っては1ビットが無駄なるかもしれない。LICにおい
て符号ビットが符号化されないか分かっていないときで
も、符号ビットのためのスペースは常に使用できるだろ
う。
There are several options for simplifying the hardware configuration. Rather than always using the minimum number of bits, perhaps only 1, 2, 3, 4, 6 or 8 bits may be used. This may waste one bit depending on the size. Space for sign bits will always be available, even when the sign bits are not encoded or known in the LIC.

【0350】メモリ帯域幅を一層減少させるであろう選
択肢は、テールオンビットを必要でないときには記憶し
ないことかもしれない。例えば、ビットプレーン0を書
き込む時には、ヘッドビットかテールビットの6ビット
がある。これらビットのどれかが非0ならば、テールオ
ンは真のはずであり、テールオン値を記憶する必要はな
く、符号ビットを第7ビットとして記憶させることがで
きる。
An option that will further reduce memory bandwidth may be to not store tail-on bits when not needed. For example, when writing bit plane 0, there are six bits, head bits or tail bits. If any of these bits is non-zero, then tail-on must be true and the tail-on value need not be stored and the sign bit can be stored as the seventh bit.

【0351】最高重要度部分(MIC)のためのメモリ
帯域幅も可変長記憶方法によって減らしてもよい。いつ
も1係数あたり8ビットを使用する代わりに、最小数の
ビットを使用するだけでも節減をもたらすだろう。0係
数の代わりに6ビットのルックアヘッド値(図34に示
すような)を記憶すれば、メモリが一層効率的に使用さ
れることになろう。
The memory bandwidth for the highest importance part (MIC) may also be reduced by a variable length storage method. Instead of always using 8 bits per coefficient, using only the minimum number of bits will result in savings. Storing a 6-bit look-ahead value (as shown in FIG. 34) instead of the zero coefficient would make the memory more efficient.

【0352】<可逆色空間>本発明は、2つの色空間の
間の変換を完全に可逆的でかつ整数演算で実行可能とす
る可逆色空間変換を随意に実行できるようにする。すな
わち、変換された色空間データを逆変換することによ
り、順変換過程で丸めや打ち切りが行われようと既存の
データを全て得ることができる。可逆色空間変換は、本
願出願人に譲渡された米国特許出願第08/436,662号(19
95年5月8日受理、"Method andApparatus for Reversi
ble Color Conversion")に記載されている。
<Reversible Color Space> The present invention makes it possible to arbitrarily execute a reversible color space conversion that enables conversion between two color spaces to be completely reversible and executable by integer arithmetic. In other words, by performing the inverse conversion of the converted color space data, all existing data can be obtained regardless of whether rounding or truncation is performed in the forward conversion process. Reversible color space conversion is described in U.S. patent application Ser. No. 08 / 436,662, assigned to the assignee of the present application.
Accepted May 8, 1995, "Method and Apparatus for Reversi
ble Color Conversion ").

【0353】色空間変換は、ロスレスの結果を提供する
能力を損なわずに反対(opponent)色空間の利点を活か
す。ロスレスの場合、反対色空間は相関を弱め圧縮を向
上させる。ロッシーの場合、反対色空間は輝度情報を色
差情報より軽く量子化させ視覚的品質の向上をもたら
す。本発明の変換に可逆色空間が使用されると、輝度及
び色差係数の埋め込みはロッシー圧縮としてはサブサン
プリングよりも優れており、しかもロスレス圧縮が可能
である。
Color space conversion takes advantage of the opponent color space without compromising the ability to provide lossless results. In the case of lossless, the opposite color space weakens the correlation and improves compression. In the case of lossy, the inverse color space quantizes the luminance information lighter than the color difference information, resulting in an improved visual quality. When a reversible color space is used for the conversion of the present invention, embedding of luminance and color difference coefficients is superior to subsampling as lossy compression, and lossless compression is possible.

【0354】可逆色空間が使用されるときには、8ビッ
ト輝度成分の最上位ビットと9ビット色差成分が同じ桁
揃えとなるように係数を桁揃えするのが望ましい。ロッ
シー圧縮のためには、この桁揃えは色差データを輝度デ
ータの2倍に量子化せしめ、また輝度のロスレス圧縮と
色差のロッシー(ただし非常に高品質の)圧縮を可能に
する。これらの結果は共にHuffman視覚系の特性を利用
する。
When a reversible color space is used, it is desirable to align the coefficients so that the most significant bit of the 8-bit luminance component and the 9-bit color difference component have the same digit alignment. For lossy compression, this alignment causes the chrominance data to be quantized to twice the luminance data, and also allows lossless compression of luminance and lossy (but very high quality) compression of chrominance. Both of these results utilize characteristics of the Huffman visual system.

【0355】<他の画素操作>プリンタは、殆ど又は全
体が非連続階調の文書をしばしば処理する。例えば、黒
と白だけ(0と255の値だけ)からなるテキスト画像
が普通であろう。一実施例では、バンドのヒストグラム
が作られる。例えば、0,255黒/白だけの画像(K
成分)を0,1画像に再写像することができる。同様の
コンパクション(compaction)をスポットカラー画像に対
して施すことができる。なお、コンパクションが使われ
るときには、圧縮はロスレスでなければならない。しか
し、コンパクションが行われる時には、達成されるロス
レス圧縮は実質的に改善される。
Other Pixel Manipulations Printers often process mostly or entirely non-continuous tone documents. For example, a text image consisting of only black and white (only values of 0 and 255) would be common. In one embodiment, a histogram of the band is created. For example, an image of only 0,255 black / white (K
Component) can be re-mapped to a 0,1 image. A similar compaction can be performed on a spot color image. Note that when compaction is used, compression must be lossless. However, when compaction takes place, the lossless compression achieved is substantially improved.

【0356】また、本明細書に述べた重複ウェーブレッ
ト変換を使う代わりに、ロスレス、ビットプレーン・ベ
ースの、JBIGのような文脈モデルによって、2値画
像とスポットカラー画像を処理することもできる。
Instead of using the overlap wavelet transform described in this specification, a binary image and a spot color image can be processed by a lossless, bit plane based, JBIG-like context model.

【0357】他の実施例では、システムがバイナリモー
ドを持つように設計されるかもしれない。図54は、J
BIG方式文脈モデルテンプレートと類似したバイナリ
文脈モデルの一実施例を示す。図54において、シフト
レジスタ3501〜3503はJBIG標準にしたがう
複数のビットを提供する。シフトレジスタ3501,3
502は、ラインバッファ3500より2つ上のライン
と1つ上のラインを受け取る。この”上”ラインは、図
56に示されるような、テンプレートの北西(NW)位
置、北(N)位置及び北東(NE)位置の画素に対応す
るビットを提供する。シフトレジスタ3501,350
2の出力は直接的に文脈モデル(メモリ)3505に与
えられる。シフトレジスタ3503の出力は、JBIG
標準の適応的テンプレートを実現できるオプショナルな
mux3504へ与えられる。文脈メモリ(モデル)3
505は確率予測マシン3506に接続され、確率予測
マシン3506はビットジェネレータ3507へ接続さ
れる。文脈メモリ(モデル)3505、確率予測マシン
3506、ビットジェネレータ3507は相互に従来周
知の方法で動作する。
In another embodiment, the system may be designed to have a binary mode. FIG.
4 shows one embodiment of a binary context model similar to the BIG context model template. In FIG. 54, shift registers 3501 to 3503 provide a plurality of bits according to the JBIG standard. Shift registers 3501, 3
502 receives a line two lines above and one line above the line buffer 3500. The "up" line provides bits corresponding to the pixels at the northwest (NW), north (N), and northeast (NE) positions of the template, as shown in FIG. Shift registers 3501, 350
The output of 2 is provided directly to the context model (memory) 3505. The output of shift register 3503 is JBIG
Provided to an optional mux 3504 that can implement a standard adaptive template. Context memory (model) 3
505 is connected to a probability prediction machine 3506, which is connected to a bit generator 3507. The context memory (model) 3505, the probability prediction machine 3506, and the bit generator 3507 operate in a mutually known manner.

【0358】mux3504の出力は、シフトレジスタ
3501,3502の出力及びビットジェネレータ35
07からのフィードバックと共に、文脈メモリ3505
のアドレッシングに使われる文脈ビンアドレスを形成す
る。一実施例では、文脈メモリ3505は、一実施例で
は、文脈メモリ3505に、各確率状態を記述するため
の6ビットからなる文脈モデルが1,024個入ってい
る。これは1,024×6ビットの文脈メモリを必要と
する。
The output of mux 3504 is the output of shift registers 3501 and 3502 and bit generator 35
07 along with the feedback from 07
Form the context bin address used for addressing the. In one embodiment, the context memory 3505, in one embodiment, contains 1,024 6-bit context models for describing each probability state. This requires 1,024 x 6 bits of context memory.

【0359】ビットジェネレータ3507は、カレント
・ラインから復号化されたビットを、文脈アドレスの一
部として提供するので、文脈メモリに対するアクセス時
間を含んだ大きな”ビット−文脈”遅延がある。
Since bit generator 3507 provides the decoded bits from the current line as part of the context address, there is a large "bit-context" delay that includes access time to the context memory.

【0360】図55は、シフトレジスタ3501,35
02の出力及びマルチプレクサ3504の出力を受け取
る同一アドレス指示ブロック3601と協力し、確率予
測マシンをアクセスするために、カレント・ラインから
の復号化ビットを使用する他の実施例を示す。PEM3
506は、前ビットを受け取り、それを利用して、使用
された文脈対の中から適切な1つの文脈を選択する。選
択された文脈は更新され、両文脈はメモリに再書き込み
される。同一アドレス指示ブロック3601は、既に読
み出されてデータが確率予測マシン内にあるアドレスを
検出する。同一アドレス指示ブロック3801は、メモ
リ内の失効した情報に代えてPEM内に既にあるデータ
(更新されたデータかもしれない)を使用するための信
号も発生する。
FIG. 55 shows shift registers 3501 and 35
Another embodiment that uses the decoded bits from the current line to access a probability prediction machine in cooperation with the same address indication block 3601 that receives the output of O.02 and the output of multiplexer 3504 is shown. PEM3
506 receives the previous bit and utilizes it to select an appropriate context from the used context pairs. The selected context is updated and both contexts are rewritten to memory. The same address indication block 3601 detects an address that has been read and has data in the probability prediction machine. The same address indication block 3801 also generates a signal to use data already in the PEM (which may be updated data) instead of stale information in memory.

【0361】一実施例では、復号化器は各確率状態を記
述する6ビットからなる1024個の文脈ビンを含む。
これは512×12ビットの文脈メモリを必要とする。
シフトレジスタ3501,3502の出力は、マルチプ
レクサ3504の出力と共に、前ビットだけが利用され
ない部分文脈ビンアドレスを与える。これにより、文脈
メモリ3505から1対の文脈ビンが選択される。文脈
ビンの2ビット以上を部分文脈から排除できる。各メモ
リロケーションに2のn乗個の確率状態が入る。ここで
nは排除されたビットの個数である。
In one embodiment, the decoder includes 1024 context bins of 6 bits describing each probability state.
This requires 512 × 12 bits of context memory.
The outputs of shift registers 3501 and 3502, together with the output of multiplexer 3504, provide a partial context bin address where only the previous bit is not used. As a result, a pair of context bins is selected from the context memory 3505. More than one bit of the context bin can be excluded from the partial context. Each memory location contains 2 n probability states. Here, n is the number of excluded bits.

【0362】”ビット−文脈”遅延が減少することに注
意されたい。前ビットが復号化される前に文脈メモリア
クセスが生じてもよい。前ビットが復号化される前に、
対をなす両状態に対するPEM状態の処理が並列的に開
始してもよい。高速動作を達成できる。
Note that the "bit-context" delay is reduced. A context memory access may occur before the previous bit is decoded. Before the previous bit is decoded,
The processing of the PEM state for both states forming a pair may be started in parallel. High-speed operation can be achieved.

【0363】<符号化器レート制御>符号化器のレート
制御を行うには、データを量子化する能力があるだけで
なく、量子化に関する決定ができるようにレートを測定
することも必要である。レートが圧縮が良好でないこと
(すなわち所望のレベルでないこと)を示すときには、
量子化を増大させてよい。他方、レートが圧縮が高すぎ
ることを示すときには、量子化を減少させてよい。レー
ト制御決定は符号化器と復号化器とで全く同じように行
われねばならない。
<Encoder Rate Control> In order to control the rate of the encoder, it is necessary not only to have the ability to quantize data but also to measure the rate so that a decision regarding quantization can be made. . When the rate indicates poor compression (ie not at the desired level)
The quantization may be increased. On the other hand, if the rate indicates that the compression is too high, the quantization may be reduced. The rate control decision must be made exactly the same at the encoder and at the decoder.

【0364】符号化器と復号化器が同じ決定をするよう
保証する一方法は、シグナリング(signaling)を使うこ
とである。符号化器は所定のインターバルでレートを測
定し、次インターバルで利用するため量子化Qをメモリ
に記憶する。復号化器は単純に各インターバルのための
量子化をメモリから取り出す。これには余分なメモリが
必要である。例えば、(Qの+2,+1,0,-1の変化の表示又
は1,2,3,4のQの記憶のための)256ロケーション×
2ビットのオンチップSRAMは、4096ライン画像
に対し16ライン毎に量子化Qを変化させるのに足りる
であろう。
One way to ensure that the encoder and decoder make the same decision is to use signaling. The encoder measures the rate at predetermined intervals and stores the quantized Q in memory for use in the next interval. The decoder simply retrieves the quantization for each interval from memory. This requires extra memory. For example, 256 locations x (for display of + 2, + 1,0, -1 changes in Q or storage of 1,2,3,4 Q)
A 2-bit on-chip SRAM would be sufficient to change the quantization Q every 16 lines for a 4096 line image.

【0365】レート測定には様々な選択肢がある。図5
3は、符号化器と復号化器のペアを示す。図53に示す
符号化器/復号化器ペアは、文脈モデル(CM)、確率
予測モデル/マシン(PEM)、及びビットジェネレー
タ(BG)、並びにランカウント(run count)並べ換え
ユニット、インターリーブド(interleaved)ワード並べ
換えユニット及びシフタからなる。説明については、本
願出願人に譲渡された、また引用により本明細書に組み
込まれる米国特許第5,381,145号及び同第5,583,500号を
参照されたい。
There are various options for rate measurement. FIG.
Reference numeral 3 denotes a pair of an encoder and a decoder. The encoder / decoder pair shown in FIG. 53 includes a context model (CM), a probability prediction model / machine (PEM), and a bit generator (BG), and a run count reordering unit, interleaved. ) Consists of a word reordering unit and a shifter. See U.S. Patent Nos. 5,381,145 and 5,583,500, assigned to the assignee of the present invention and incorporated herein by reference for explanation.

【0366】復号化器がレートを同じ場所で測定できな
いとしても、レート測定値は明確でなければならない。
例えば、レート測定値は、圧縮コードストリームの一部
として復号化器に与えられる。
Even if the decoder cannot measure the rate in the same place, the rate measurement must be unambiguous.
For example, a rate measurement is provided to a decoder as part of a compressed codestream.

【0367】小さい方のサークル(図53中の位置2)
として示した、もう一つのレート測定の選択肢は、符号
化器においてインターリーブド・ワードの始まりをカウ
ントすることである。これは、他の実施例では、ビット
生成ステージ(図53中の位置4)の後で行われる。符
号化器と復号化器は同時に符号語に取りかかるため、レ
ートの暗黙的なシグナリングを用いてもよい。このカウ
ントを、レジスタと符号語長を加算する加算器からなる
平均符号語長を測定する計算ハードウェアによって行っ
てもよい。このカウントと平均ビット数測定を行うため
のハードウェアは当該技術分野では周知であり、図53
にブロック3401として示されている。このブロック
を、システム中の別の場所(例えば、符号化器及び復号
化器の両方の位置1,2,3,4)で同様の測定をする
ために用いてもよいことは明らかであろう。
The smaller circle (position 2 in FIG. 53)
Another rate measurement option, denoted as, is to count the beginning of an interleaved word at the encoder. This is performed after the bit generation stage (position 4 in FIG. 53) in another embodiment. Since the encoder and decoder work on the codeword at the same time, implicit rate signaling may be used. This counting may be performed by computational hardware that measures the average codeword length, comprising a register and an adder that adds the codeword length. The hardware for performing this counting and the average bit number measurement is well known in the art, and FIG.
Is shown as block 3401 in FIG. It will be apparent that this block may be used to make similar measurements elsewhere in the system (e.g., locations 1, 2, 3, 4 of both the encoder and decoder). .

【0368】他の選択肢は、ビットジェネレータの後及
びインターリーブド・ワード並べ換えユニットの前(図
53の位置3)で完全な符号語のサイズをカウントする
方法や、ディスクに実際に書き込まれたデータ量を測定
する方法(図53の位置1)であろう。
Other options include counting the size of the complete codeword after the bit generator and before the interleaved word reordering unit (position 3 in FIG. 53), and the amount of data actually written to disk. (Position 1 in FIG. 53).

【0369】レート測定は暗黙的でもよい。すなわち、
符号化器と復号化器の両方で同じレート測定計算を行
う。例えば、符号化器と復号化器が、新しい符号語が始
まる度に符号語の平均サイズを累積してもよい。これは
図53の位置4に示されている。(実際のサイズを使う
ことはできない。符号化器は符号語の終わりまでサイズ
が分からないからである。) コアに使用されるRコー
ドのサイズがR2(0)からR2(7)まで変わるときには、平均
符号語サイズは1ビットから4.5ビットまで変化す
る。確率予測がうまくいけば、平均を使うことは非常に
正確であろう。そうでなくとも、最小符号語長と最大符
号語長の差は平均に対し一般的にそれほど大きくないの
で、予測値は依然として有効である。Rz(k)符号語の平
均サイズはk/2+1ビットである。
The rate measurement may be implicit. That is,
The same rate measurement calculation is performed at both the encoder and the decoder. For example, the encoder and decoder may accumulate the average codeword size each time a new codeword starts. This is shown at position 4 in FIG. (The actual size cannot be used because the encoder does not know the size until the end of the codeword.) When the size of the R code used for the core changes from R2 (0) to R2 (7) , The average codeword size varies from 1 bit to 4.5 bits. If the probability prediction goes well, using the average will be very accurate. Otherwise, the prediction is still valid because the difference between the minimum codeword length and the maximum codeword length is typically not large relative to the average. The average size of the Rz (k) codeword is k / 2 + 1 bits.

【0370】目標とすることろは、ほぼ全ての場合に、
最高重要度データが十分に圧縮され、かつ無量子化(Q=
1)が必要とならないことであろう。”病理学の”画像だ
けは量子化(Q>1)を必要とする。しかし、量子化機
能を含むことにより、病理学の画像に対しシステムが動
かなくならないよう保証することができる。
In almost all cases, the goal is to
The highest importance data is fully compressed and unquantized (Q =
1) will not be necessary. Only "pathological" images require quantization (Q> 1). However, by including a quantization function, it can be ensured that the system does not get stuck on pathological images.

【0371】符号化器レート制御のもう一つの利益は、
最大帯域幅に達した時に低重要度データの符号化を止め
ることができることである。これは符号化スピードを増
加させ、データ出力のためのトータル時間を減少させる
(例えばトータル印刷時間を減らす)。
Another benefit of encoder rate control is that
The ability to stop encoding low importance data when the maximum bandwidth is reached. This increases the encoding speed and reduces the total time for data output (eg, reduces the total printing time).

【0372】量子化変化の結果(Qの値)を記憶するこ
とが重要である。例えば、量子化が変化する場合、一群
の係数中の最大係数の決定は首尾一貫していなければな
らない。また、(ビットプレーンが捨てられる場合に)
量子化係数を再構成するのに、最良の結果を得るために
は捨てられたビットプレーン数を考慮する必要がある。
It is important to store the result of the quantization change (the value of Q). For example, if the quantization changes, the determination of the largest coefficient in the group of coefficients must be consistent. Also (if the bitplane is discarded)
To reconstruct the quantized coefficients, it is necessary to consider the number of discarded bitplanes for best results.

【0373】<高速の並列符号化と文脈モデル>本発明
のエントロピー符号化部は2つの部分からなる。一つは
並列動作する高速符号化コアで、確率予測とビット生成
をする。もう一つは文脈モデルで、符号化に使う文脈を
提供する。
<High-Speed Parallel Coding and Context Model> The entropy coding unit of the present invention comprises two parts. One is a high-speed coding core that operates in parallel, and performs probability prediction and bit generation. The other is a context model, which provides the context used for encoding.

【0374】所要速度を達成するために必要なコアの個
数はアプリケーション次第である。
The number of cores required to achieve the required speed depends on the application.

【0375】エントロピー符号化システムの他の部分
は、本発明の係数のための文脈モデルである。文脈モデ
ルを構築するにあたって、とり得るトレードオフが数多
くある。本発明は、一実施例において、本発明の高速並
列コーダの使用をサポートするための並列化を可能にす
る文脈モデルを低いハードウェアコストで提供する。こ
の文脈モデルの実施例は前述した。
Another part of the entropy coding system is the context model for the coefficients of the present invention. There are many trade-offs that can be made in building a context model. The present invention, in one embodiment, provides a context model that enables parallelization at low hardware cost to support the use of the high speed parallel coder of the present invention. Examples of this context model have been described above.

【0376】ウェーブレット係数のための文脈モデルに
ついてだけ説明したが、本発明はウェーブレット係数だ
けをサポートする文脈モデルに限定されるものではな
い。例えば、2値画像又はスポットカラー画像のために
ビットプレーン符号化モードが必要ならば、米国特許出
願第08/642,518号(1996年5月3日受理、"Compressiona
nd Decompression with Wavelet Style and Binary Sty
le IncludingQuantization by Device-Dependent Parse
r")、及び、米国特許出願第08/643,268号(1996年5月3
日、"Compression/Decompression Using Reversible Em
beddedWavelets"に述べられているような、補助の文脈
モデルを利用してよい。
Although only a context model for wavelet coefficients has been described, the invention is not limited to a context model that supports only wavelet coefficients. For example, if a bit-plane coding mode is required for a binary or spot color image, see U.S. patent application Ser. No. 08 / 642,518 (received May 3, 1996, "Compressiona
nd Decompression with Wavelet Style and Binary Sty
le IncludingQuantization by Device-Dependent Parse
r ") and U.S. patent application Ser. No. 08 / 643,268 (May 3, 1996).
Day, "Compression / Decompression Using Reversible Em
Auxiliary context models, such as those described in "beddedWavelets", may be used.

【0377】<並列化>一実施例では、係数のビット数
が8ビットから12ビットまで(可逆色空間が使われる
ときには13ビットまで)の場合に、1係数あたり8ビ
ットを符号化/復号化するために4つの高速符号化コア
が使用される。一実施例では、1つのコアに4成分のそ
れぞれが割り当てられ、並列化とデータフローを単純化
する。各係数は、(ルックアヘッドのためのデシジョン
等を含む)ビットの符号化/復号化のために最大16サ
イクルまで使うことができる。
<Parallelization> In one embodiment, when the number of bits of a coefficient is 8 to 12 bits (up to 13 bits when a reversible color space is used), 8 bits per coefficient are encoded / decoded. Four high speed coding cores are used to do this. In one embodiment, each of the four components is assigned to one core, simplifying parallelization and data flow. Each coefficient can be used for up to 16 cycles for encoding / decoding bits (including decisions for look ahead, etc.).

【0378】本発明は、一部のコアがそのルックアヘッ
ドの成功により遊休状態であったり別のコアが先頭の”
オン”ビットの後の符号ビットを処理中であっても、各
成分用コアを同期した状態に維持する。文脈モデルを動
作させるためのトータル時間は、データによって変動
し、特にルックアヘッドの有効性によって大きく変動
し、また、それほどではないが先頭の”オン”ビットの
位置によっても変動する。
According to the present invention, some cores may be idle due to the success of their look-ahead, or other cores may be at the beginning.
Maintains the component cores in sync even while processing the sign bit after the “on” bit. The total time to run the context model varies with data, especially the look-ahead effectiveness And, to a lesser extent, the position of the leading "on" bit.

【0379】以上の説明を読めば当業者には本発明の多
くの変形及び修正が明白となるであろうから、説明のた
めに図示、説明された特定の実施例は限定することを意
図したものでは決してないものと理解されるべきであ
る。
After reading the foregoing description, many variations and modifications of the present invention will become apparent to those skilled in the art, and the specific embodiments shown and described by way of illustration are intended to be limiting. It should be understood that it is not.

【0380】[0380]

【発明の効果】以上の説明から明らかなように、本発明
によれば、高速なロッシー/ロスレス圧縮が可能にな
り、また、圧縮/伸長システムに安価なハードディスク
を使用可能となり、また、速度をハードディスクにマッ
チングさせ、かつ、圧縮を利用してハードディスクをプ
リントエンジンなどのシステムの他の部分の帯域幅にマ
ッチングさせることが可能になる等々の多くの効果を得
られる。
As is apparent from the above description, according to the present invention, high-speed lossy / lossless compression can be performed, an inexpensive hard disk can be used in a compression / decompression system, and the speed can be reduced. Many effects can be obtained, such as matching to the hard disk and using compression to match the hard disk to the bandwidth of other parts of the system, such as the print engine.

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

【図1】文脈従属関係を示す図である。FIG. 1 is a diagram showing a context dependency relationship.

【図2】ラスタ順と同様の順序を示す図である。FIG. 2 is a diagram illustrating an order similar to a raster order.

【図3】短シーム順の一例を示す図である。FIG. 3 is a diagram showing an example of a short seam order.

【図4】短シーム順の他の例を示す図である。FIG. 4 is a diagram showing another example of the short seam order.

【図5】TS変換のレベル1水平処理結果を示す図であ
る。
FIG. 5 is a diagram showing a result of level 1 horizontal processing of TS conversion.

【図6】TS変換のレベル1垂直処理結果を示す図であ
る。
FIG. 6 is a diagram showing a result of level 1 vertical processing of TS conversion.

【図7】TS変換のレベル2水平処理結果を示す図であ
る。
FIG. 7 is a diagram showing a result of level 2 horizontal processing of TS conversion.

【図8】TS変換のレベル2垂直処理結果を示す図であ
る。
FIG. 8 is a diagram illustrating a result of level 2 vertical processing of TS conversion.

【図9】TS変換のレベル3水平処理結果を示す図であ
る。
FIG. 9 is a diagram showing a result of level 3 horizontal processing of TS conversion.

【図10】TS変換のレベル3垂直処理結果を示す図で
ある。
FIG. 10 is a diagram showing a result of level 3 vertical processing of TS conversion.

【図11】TS変換のレベル4水平処理結果を示す図で
ある。
FIG. 11 is a diagram showing a level 4 horizontal processing result of TS conversion.

【図12】TS変換のレベル4垂直処理結果を示す図で
ある。
FIG. 12 is a diagram showing a result of level 4 vertical processing of TS conversion.

【図13】順/逆フィルタの一例のブロック図である図
である。
FIG. 13 is a block diagram illustrating an example of a forward / inverse filter.

【図14】本発明による第1レベル順変換の一例のブロ
ック図である。
FIG. 14 is a block diagram of an example of a first level forward transform according to the present invention.

【図15】本発明による完全な順変換の一例を示すブロ
ック図である。
FIG. 15 is a block diagram illustrating an example of a complete forward transform according to the present invention.

【図16】係数出力時のタイミング図である。FIG. 16 is a timing chart at the time of outputting a coefficient.

【図17】TT変換のレベル1水平処理結果を示す図で
ある。
FIG. 17 is a diagram showing a result of level 1 horizontal processing of TT conversion.

【図18】TT変換のレベル1垂直処理結果を示す図で
ある。
FIG. 18 is a diagram illustrating a result of the level 1 vertical processing of the TT conversion.

【図19】TT変換のレベル2水平処理結果を示す図で
ある。
FIG. 19 is a diagram showing a result of level 2 horizontal processing of TT conversion.

【図20】TT変換のレベル2垂直処理結果を示す図で
ある。
FIG. 20 is a diagram illustrating a result of the level 2 vertical processing of the TT conversion.

【図21】TT変換のレベル3水平処理結果を示す図で
ある。
FIG. 21 is a diagram illustrating a level 3 horizontal processing result of the TT conversion.

【図22】TT変換のレベル3垂直処理結果を示す図で
ある。
FIG. 22 is a diagram illustrating a result of level 3 vertical processing of TT conversion.

【図23】TT変換のレベル4水平処理結果を示す図で
ある。
FIG. 23 is a diagram showing a result of level 4 horizontal processing of TT conversion.

【図24】TT変換のレベル4垂直処理結果を示す図で
ある。
FIG. 24 is a diagram illustrating a result of level 4 vertical processing of TT conversion.

【図25】10タップの順/逆フィルタユニットのブロ
ック図である。
FIG. 25 is a block diagram of a 10-tap forward / reverse filter unit.

【図26】図25に示す順/逆フィルタにおける重複ユ
ニットの一例のブロック図である。
26 is a block diagram of an example of an overlapping unit in the forward / inverse filter shown in FIG.

【図27】コードストリームの順序付け及び符号化単位
内の順序付けを示す図である。
FIG. 27 is a diagram illustrating ordering of a code stream and ordering within a coding unit.

【図28】bビット/画素の入力画像を2レベルTS変
換及びTT変換で分解した場合の各種係数のビット深さ
を示す図である。
FIG. 28 is a diagram illustrating bit depths of various coefficients when an input image of b bits / pixel is decomposed by two-level TS conversion and TT conversion.

【図29】本発明において係数桁揃えに用いられる周波
数帯域に対する乗数の一例を示す図である。
FIG. 29 is a diagram illustrating an example of a multiplier for a frequency band used for coefficient digit alignment in the present invention.

【図30】最高重要度データと低重要度データとに分割
した係数を示す図である。
FIG. 30 is a diagram showing coefficients divided into highest importance data and lower importance data.

【図31】データが捨てられることのないロスレスのケ
ースを示す図である。
FIG. 31 is a diagram illustrating a lossless case in which data is not discarded.

【図32】データの1ビットプレーンが捨てられたケー
スを示す図である。
FIG. 32 is a diagram illustrating a case where a 1-bit plane of data is discarded.

【図33】圧縮/伸長システムの動作の一例を示すフロ
ーチャートである。
FIG. 33 is a flowchart showing an example of the operation of the compression / decompression system.

【図34】一つの木に対し6ビットが用いられる例を示
す図である。
FIG. 34 is a diagram illustrating an example in which 6 bits are used for one tree.

【図35】最高重要度部分の符号化を示すフローチャー
トである。
FIG. 35 is a flowchart showing encoding of a highest importance portion.

【図36】最高重要度データの符号化パスに用いられる
フォーマッティングユニット及び文脈モデルの一例のブ
ロック図である。
FIG. 36 is a block diagram of an example of a formatting unit and a context model used in the encoding pass of the highest importance data.

【図37】先頭ビットプレーンユニットの一例を示すブ
ロック図である。
FIG. 37 is a block diagram illustrating an example of a head bit plane unit.

【図38】LICビットプレーンの符号化プロセスの一
例を示すフローチャートである。
FIG. 38 is a flowchart illustrating an example of an encoding process of an LIC bit plane.

【図39】低重要度データのためのルックアヘッド・モ
デル及び文脈モデルの一例を示すブロック図である。
FIG. 39 is a block diagram illustrating an example of a look-ahead model and a context model for low importance data.

【図40】ヘッドビットのための文脈モデルの一例を示
すブロック図である。
FIG. 40 is a block diagram illustrating an example of a context model for a head bit.

【図41】全ての隣り合うもの及び親による条件付けが
ある文脈モデルの一例のためのメモリ使用方法を示す図
である。
FIG. 41 illustrates memory usage for an example of a context model with conditioning by all neighbors and parents.

【図42】符号ビットのための文脈モデルの一例を示す
ブロック図である。
FIG. 42 is a block diagram illustrating an example of a context model for sign bits.

【図43】LICに対する並列符号化の一例を示す図で
ある。
FIG. 43 is a diagram illustrating an example of parallel encoding for an LIC.

【図44】プリンタのフロントエンドの一例を示すブロ
ック図である。
FIG. 44 is a block diagram illustrating an example of a front end of the printer.

【図45】プリンタのバックエンドの一例を示すブロッ
ク図である。
FIG. 45 is a block diagram illustrating an example of a back end of the printer.

【図46】プリンタのバックエンドの他の例を示すブロ
ック図である。
FIG. 46 is a block diagram illustrating another example of the back end of the printer.

【図47】プリンタの圧縮/伸長機能を含む集積回路チ
ップの一例を示すブロック図である。
FIG. 47 is a block diagram illustrating an example of an integrated circuit chip including a compression / expansion function of a printer.

【図48】印刷時の基本タイミングを示す図である。FIG. 48 is a diagram showing basic timing at the time of printing.

【図49】画素データの編成方法の一例を示す図であ
る。
FIG. 49 is a diagram illustrating an example of a method of organizing pixel data.

【図50】バンドバッファを示す図である。FIG. 50 is a diagram showing a band buffer.

【図51】同時メモリアクセス要求を明らかにする復号
化タイミング図である。
FIG. 51 is a decoding timing diagram that clarifies a simultaneous memory access request.

【図52】読み出されたデータより大きなデータの書き
込みを処理するための循環アドレッシングの利用法を示
す図である。
FIG. 52 illustrates the use of circular addressing to handle the writing of data larger than the read data.

【図53】符号化器と復号化器のペアを示すブロック図
である。
FIG. 53 is a block diagram showing a pair of an encoder and a decoder.

【図54】バイナリ文脈モデルの一例を示すブロック図
である。
FIG. 54 is a block diagram illustrating an example of a binary context model.

【図55】バイナリ文脈モデルの他の例を示すフロック
図である。
FIG. 55 is a block diagram showing another example of the binary context model.

【図56】符号化単位の各係数の近傍係数を示す図であ
る。
FIG. 56 is a diagram showing neighboring coefficients of each coefficient of a coding unit.

【図57】MSE桁揃えに基づいたピラミッド桁揃えを
示す図である。
FIG. 57 illustrates pyramid alignment based on MSE alignment.

【図58】ウェーブレット係数のMSE桁揃えを示す図
である。
FIG. 58 is a diagram showing MSE digit alignment of wavelet coefficients.

【図59】様々なレベル数の場合のウェーブレット木の
スパンを示す表図である。
FIG. 59 is a table showing the span of a wavelet tree for various numbers of levels.

【図60】記憶する必要のある”ss”係数の個数を示
す表図である。
FIG. 60 is a table showing the number of “ss” coefficients that need to be stored.

【図61】4ビット係数のビットシグニフィカンス表現
を示す表図である。
FIG. 61 is a table showing a bit significance expression of a 4-bit coefficient.

【図62】係数桁揃えのための桁揃え数を示す表図であ
る。
FIG. 62 is a table showing the number of digit alignments for coefficient digit alignment.

【図63】最高重要度データ及び低重要度データの指示
ビットを説明する表図である。
FIG. 63 is a table illustrating instruction bits of the highest importance data and the low importance data.

【図64】テール情報の定義を示す表図である。FIG. 64 is a table showing the definition of tail information.

【図65】テールビットに用いられる確率状態を示す表
図である。
FIG. 65 is a table showing probability states used for tail bits.

【図66】各ビットプレーンの復号化のためのLIC係
数の記憶に要するメモリ量を示す表図である。
FIG. 66 is a table showing the amount of memory required to store LIC coefficients for decoding each bit plane.

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

401,402 フィルタユニット 403〜406 レジスタ 407,408 マルチプレクサ(mux) 501 入力バッファ 502 レベル1変換部 503 ”ss”遅延メモリ 504 レベル2〜4順序ユニット 505 フィルタユニット 506 出力バッファ 801,802 加算器 803,804 マルチプレクサ(mux) 805 メモリ 806 マルチプレクサ(mux) 807 重複ユニット 807〜811 加算器 901〜906 加算器 907〜909 乗算器 910 除算器 1001 ヘッダ 1002 符号化単位 1003 最高重要度データ 1004 低重要度データ 1005 最低重要度データ 1301 最高重要度データ 1302 低重要度データ 1303,1304 指示ビット 1701 バレルシフタ 1702,1706 先頭ビットプレーンユニット 1703,1704 比較ユニット 1705 マルチプレクサ(mux) 1707 メモリ 1710 符号文脈モデル 1711 ヘッド文脈モデル 1712 テール文脈モデル 1801 ORゲート 1802 レジスタ 1803 プライオリティエンコーダ 2001 符号文脈モデル 2002 ヘッド文脈モデル 2003 テール文脈モデル 2004 マルチプレクサ(mux) 2005 ”=ヘッド?”ユニット 2006 FIFOバッファ 2101 テールオン情報/ビットジェネレータブロッ
ク 2102 重要度レベル・部分帯域バケッティングブロ
ック 2103 上/左シフトレジスタ 2104 カレントシフトレジスタ 2105 下/右シフトレジスタ 2106 親レジスタ 2301 マルチプレクサ(mux) 2501 レンダラー 2503 バンドバッファ 2504 圧縮器 2505 ディスク 2602 伸長器 2603 バンドバッファ 2604 プリントエンジン 2705 画質改善ブロック 2801 画素データインターフェース 2802 可逆色空間変換器 2803 ウェーブレット変換ブロック 2804 係数データインターフェース 2805 文脈モデル 2806 符号化器/復号化器 2807 符号化データインターフェース 3500 ラインバッファ 3501〜3503 シフトレジスタ 3504 マルチプレクサ(mux) 3505 文脈メモリ 3506 確率予測マシン(PEM) 3507 ビットジェネレータ 3601 同一アドレス指示ブロック 4001,4002 加算器 4003,4004 マルチプレクサ(mux) 4005 レジスタファイル 4007〜4011 加算器 4015 マルチプレクサ(mux)
401, 402 Filter unit 403-406 Register 407, 408 Multiplexer (mux) 501 Input buffer 502 Level 1 conversion unit 503 "ss" delay memory 504 Level 2-4 order unit 505 Filter unit 506 Output buffer 801 802 Adder 803 804 Multiplexer (mux) 805 Memory 806 Multiplexer (mux) 807 Duplicate unit 807-811 Adder 901-906 Adder 907-909 Multiplier 910 Divider 1001 Header 1002 Coding unit 1003 Highest importance data 1004 Low importance data 1005 Least importance data 1301 Highest importance data 1302 Low importance data 1303, 1304 Indication bit 1701 Barrel shifter 1702, 1706 Head Bit plane unit 1703, 1704 Comparison unit 1705 Multiplexer (mux) 1707 Memory 1710 Code context model 1711 Head context model 1712 Tail context model 1801 OR gate 1802 Register 1803 Priority encoder 2001 Code context model 2002 Head context model 2003 Tail context model 2004 Multiplexer ( mux) 2005 "= head?" unit 2006 FIFO buffer 2101 Tail-on information / bit generator block 2102 Importance level / partial band bucketing block 2103 Up / left shift register 2104 Current shift register 2105 Down / right shift register 2106 Parent register 2301 Multiplexer (Mux) 2501 Renderer 2503 Band buffer 2504 Compressor 2505 Disk 2602 Decompressor 2603 Band buffer 2604 Print engine 2705 Image quality improvement block 2801 Pixel data interface 2802 Reversible color space converter 2803 Wavelet transform block 2804 Coefficient data interface 2805 Context model 2806 Encoder / decoding 2807 Encoded data interface 3500 Line buffer 3501 to 3503 Shift register 3504 Multiplexer (mux) 3505 Context memory 3506 Probability prediction machine (PEM) 3507 Bit generator 3601 Same address instruction block 4001,4002 Adder 4003,4004 Multiplexer (mux) 4005 Register fire 4,007 to 4,011 adder 4015 multiplexer (mux)

───────────────────────────────────────────────────── フロントページの続き (54)【発明の名称】 圧縮システム、圧縮方法、伸長システム、順変換装置、圧縮装置、符号化方法、符号化装置、集 積回路、復号化装置、文脈モデル装置、圧縮実行方法、符号化システム、及び、変換係数処理方 法 ──────────────────────────────────────────────────続 き Continuation of the front page (54) [Title of the Invention] Compression system, compression method, decompression system, forward conversion device, compression device, encoding method, encoding device, integration circuit, decoding device, context model device , Compression execution method, encoding system, and transform coefficient processing method

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】 バッファ、 該バッファに格納されている画素に対し可逆ウェーブレ
ット変換を行って係数を出力に生成するための、該バッ
ファに接続された入力を有するウェーブレット変換ユニ
ット、及び該ウェーブレット変換ユニットから出力され
るウェーブレット変換画素のビットプレーン及び該バッ
ファより受け取った該バッファに格納されたウェーブレ
ット変換画素のビットプレーンを符号化するための、該
該ウェーブレット変換ユニットに接続されたコーダを具
備してなる圧縮システム。
1. A buffer, a wavelet transform unit having an input connected to the buffer for performing a reversible wavelet transform on the pixels stored in the buffer to generate coefficients at an output, and the wavelet transform unit. And a coder connected to the wavelet transform unit for encoding the bit plane of the wavelet transform pixel output from the buffer and the bit plane of the wavelet transform pixel received from the buffer and stored in the buffer. Compression system.
【請求項2】 該バッファが少なくとも1つの画素バン
ドを格納するためのバンドバッファからなることを特徴
とする請求項1記載の圧縮システム。
2. The compression system according to claim 1, wherein said buffer comprises a band buffer for storing at least one pixel band.
【請求項3】 該コーダが、文脈モデルと並列エントロ
ピーコーダを具備し、 最高重要度データは埋め込まれず、バッファリングされ
ずに係数順に符号化され、低重要度データの一部はバッ
ファリングされ、埋め込まれ、そして重要度順にメモリ
に書き込まれることを特徴とする請求項1記載の圧縮シ
ステム。
3. The coder comprises a context model and a parallel entropy coder, wherein the highest importance data is not embedded and coded in coefficient order without buffering, and a part of the low importance data is buffered; The compression system of claim 1, wherein the compression system is embedded and written to memory in order of importance.
【請求項4】 該コーダが高速並列コーダからなること
を特徴とする請求項1記載の圧縮システム。
4. The compression system according to claim 1, wherein said coder comprises a high-speed parallel coder.
【請求項5】 該コーダがQMコーダからなることを特
徴とする請求項1記載の圧縮システム。
5. The compression system according to claim 1, wherein said coder comprises a QM coder.
【請求項6】 該コーダが有限状態マシンコーダからな
ることを特徴とする請求項1記載の圧縮システム。
6. The compression system according to claim 1, wherein said coder comprises a finite state machine coder.
【請求項7】 符号化データインターフェースをさらに
具備することを特徴とする請求項1記載の圧縮システ
ム。
7. The compression system according to claim 1, further comprising an encoded data interface.
【請求項8】 バッフアより受け取った画素情報をウェ
ーブレット変換するステップ、ここで、係数の少なくと
も1つのビットプレーンでウェーブレット変換画素を表
現する、 該バッファ内の画素を符号化ビットプレーンによって置
き換えるステップ、及び該バッファ内のビットプレーン
を符号化するステップを含んでなる圧縮方法。
8. Wavelet transforming the pixel information received from the buffer, wherein the wavelet transform pixels are represented by at least one bit plane of coefficients, replacing the pixels in the buffer with coded bit planes. A compression method comprising encoding a bit plane in the buffer.
【請求項9】 バンドバッファ、 逆変換処理を施される係数のための複数の符号化単位、 出力装置へ出力される画素を格納するための少なくとも
1つの符号化単位、 該出力装置へ出力される既に逆変換された係数に対応す
る画素のための少なくとも1つの符号化単位、及び該バ
ンドバッファに接続された伸長器を具備してなり、該伸
長器が圧縮データを変換係数に伸長し、該変換係数を該
バンドバッファに書き込み、該バンドバッファより該変
換係数を再び読み出し、それに逆変換を施して画素値を
生成し、それを該バンドバッファに書き込むことを特徴
とする伸長システム。
9. A band buffer, a plurality of coding units for coefficients subjected to inverse transform processing, at least one coding unit for storing pixels output to an output device, output to the output device At least one encoding unit for pixels corresponding to already inverse transformed coefficients, and a decompressor connected to the band buffer, the decompressor decompressing the compressed data into transform coefficients, A decompression system for writing the transform coefficients to the band buffer, re-reading the transform coefficients from the band buffer, performing inverse transform on the transform coefficients to generate pixel values, and writing the pixel values to the band buffer.
【請求項10】 係数を最高重要度データと低重要度デ
ータとに分割するステップ、 最高重要度データを直ちに係数順に符号化するため文脈
モデルへ送るステップ、 低重要度データ及び複数の指示ビットをメモリに格納す
るステップ、及び係数の集合中の全係数の最高重要度デ
ータを符号化した後に、低重要度データを符号化し、該
複数の指示ビットに部分的に基づいた順序で埋め込むス
テップを含んでなる圧縮方法。
10. Dividing the coefficients into highest importance data and lower importance data, sending the highest importance data to a context model for immediate encoding in coefficient order, transferring the lower importance data and the plurality of indication bits. Encoding the highest importance data of all the coefficients in the set of coefficients, and then encoding the low importance data and embedding in an order based partially on the plurality of indicator bits. Compression method.
【請求項11】 入力データを受け取るように接続され
た入力と、偶数サンプルと奇数サンプルを転送するため
の第1と第2の出力とを持つ入力バッフア、 該偶数サンプルと該奇数サンプルを受け取って係数を生
成するように接続され、その水平ローパス係数と垂直ハ
イパス係数が当該順変換装置の出力であるところの第1
レベル変換ユニット、 該第1レベル変換ユニットによって生成されたss係数
を受け取るように接続された第1入力と、より上のレベ
ルの変換フィルタ処理からのss係数を受け取るように
接続された第2入力とを有するメモリ、 より上のフィルタ処理のためにSS係数を順序付けする
ための、該メモリに接続された第1入力を持つ順序付け
ユニット、及び複数の変換レベルを適用するために該順
序付けユニットに接続された第1のフィルタユニットを
具備してなり、該フィルタユニットは該順序付けユニッ
トより受け取ったss係数に対しより上のレベルの変換
を行い、該フィルタユニットが生成するss係数は該メ
モリの該第2入力と該順序付けユニットの第2の入力に
フィードバックされることを特徴とする順変換装置。
11. An input buffer having an input connected to receive input data, and an input buffer having first and second outputs for transferring even and odd samples, receiving the even and odd samples. A first low-pass coefficient and a first high-pass coefficient whose horizontal low-pass coefficient and vertical high-pass coefficient are the outputs of the forward transform device.
A level conversion unit, a first input connected to receive the ss coefficient generated by the first level conversion unit, and a second input connected to receive the ss coefficient from the higher level conversion filtering. A ordering unit having a first input connected to the memory for ordering SS coefficients for further filtering, and a connection to the ordering unit for applying a plurality of transform levels. The filter unit performs a higher level transformation on the ss coefficients received from the ordering unit, and the ss coefficients generated by the filter unit are stored in the first memory unit of the memory. A forward transform device, wherein two inputs and a second input of the ordering unit are fed back.
【請求項12】 画像を圧縮するための装置であって、
圧縮器、及び、該圧縮器に接続された作業域メモリを具
備してなり、該作業域メモリは画像と同じサイズであ
り、該圧縮器は画像中の画素より大きな係数を使用して
画像を符号化するために該作業域を利用することを特徴
とする圧縮装置。
12. An apparatus for compressing an image, comprising:
A compressor and a working area memory connected to the compressor, the working area memory being the same size as the image, the compressor using a larger coefficient than the pixels in the image to compress the image. A compression apparatus characterized in that said work area is used for encoding.
【請求項13】 最高重要度データと低重要度データと
からなる情報を符号化する方法であって、 最高重要度データを符号化するステップ、 0のヘッドビットだけから構成されていない各係数の低
重要度データにおける最初のビットプレーンの位置を符
号化するステップ、及び0のヘッドビットだけから構成
されていない低重要度データの各ビットプレーンを符号
化するステップを含んでなる符号化方法。
13. A method for encoding information consisting of maximum importance data and low importance data, the method comprising: encoding the highest importance data; and encoding each coefficient which is not composed of only 0 head bits. An encoding method comprising: encoding a position of a first bit plane in low importance data; and encoding each bit plane of low importance data that does not include only zero head bits.
【請求項14】 最高重要度データと低重要度データか
らなる情報を符号化する装置であって、 最高重要度データを符号化するための手段、 0のヘッドビットのみからなるものでない各係数の低重
要度データにおける最初のビットプレーンの位置を符号
化するための手段、及び0のヘッドビットのみからなる
ものでない低重要度データの各ビットプレーンを符号化
するための手段を具備してなる符号化装置。
14. An apparatus for encoding information consisting of maximum importance data and low importance data, comprising: means for encoding the highest importance data; and means for encoding each coefficient which does not consist only of zero head bits. A code comprising means for encoding the position of the first bit plane in the low importance data, and means for encoding each bit plane of the low importance data which does not consist solely of zero head bits. Device.
【請求項15】 情報のm項符号化の方法であって、 所定数の係数を調べるステップ、 該所定数の係数中の全てのヘッドビットが符号化される
まで、全てのヘッドビットを毎サイクル1つずつエント
ロピー符号化するステップ、及び該所定数の係数の符号
ビット及びテールビットを同じサイクルで符号化するス
テップを含んでなる符号化方法。
15. A method of m-term coding of information, comprising: examining a predetermined number of coefficients, wherein all head bits in each predetermined number of coefficients are encoded every cycle until all head bits in the predetermined number of coefficients are coded. An encoding method comprising: entropy encoding one by one; and encoding code bits and tail bits of the predetermined number of coefficients in the same cycle.
【請求項16】 集積回路チップとメモリとの間で画素
データを転送するための画素データインターフェース、 該画素データインターフェースを介し、該メモリへ及び
該メモリから情報を転送するための、該画素データイン
ターフェースに接続された可逆ウェーブレット変換部、 該可逆ウェーブレット変換部より与えられたデータを符
号化するための文脈を提供するための、該可逆ウェーブ
レット変換部に接続された文脈モデル、 該可逆ウェーブレット変換部によって生成された係数
を、該文脈モデルによって提供された文脈に基づいて符
号化するための符号化器を具備してなる集積回路。
16. A pixel data interface for transferring pixel data between an integrated circuit chip and a memory, said pixel data interface for transferring information to and from said memory via said pixel data interface. A reversible wavelet transform unit connected to a context model connected to the reversible wavelet transform unit for providing a context for encoding data given by the reversible wavelet transform unit; An integrated circuit comprising an encoder for encoding the generated coefficients based on a context provided by the context model.
【請求項17】 符号化データを復号化するための復号
化装置であって、 符号化データを受け取り、該符号化データを確率予測値
に基づいて復号化するために接続され、カレントライン
から復号化されたビットを生成する少なくとも1つのビ
ットジェネレータ、 該カレントラインから復号化されたビットに基づいて確
率予測値を提供するために該少なくとも1つのビットジ
ェネレータに接続された確率予測マシン、及び部分文脈
アドレスに基づいて複数の文脈を該確率予測マシンに与
えるための、該確率予測マシンに接続された文脈モデル
を具備してなり、該確率予測マシンが該復号化されたビ
ットに基づいて該複数の文脈から文脈を選択することを
特徴とする復号化装置。
17. A decoding device for decoding encoded data, comprising: receiving encoded data, decoding the encoded data based on a probability prediction value, and decoding from a current line. At least one bit generator for generating a coded bit, a probability prediction machine connected to the at least one bit generator for providing a probability prediction based on the bits decoded from the current line, and a partial context And providing a context model to the probability prediction machine for providing a plurality of contexts to the probability prediction machine based on the address, wherein the probability prediction machine is configured to provide the plurality of contexts based on the decoded bits. A decoding device for selecting a context from a context.
【請求項18】 低重要度データと最高重要度データを
受け取り、どのビットプレーンがデータを含んでいるか
判定するために接続され、該低重要度データの処理時に
使用される符号化単位全体の最初のオンビットを持つビ
ットプレーンの指示を生成する先頭ビットプレーンユニ
ット、 低重要度データと最高重要度データを受け取り、該低重
要度データのための指示情報を生成するために接続され
た比較メカニズム、 符号ビット、最高重要度データ、及びデータを持つ最初
のビットプレーンの指示を受け取るように接続され、条
件付け情報を提供するため係数を遅延させるメモリ、 該符号ビットのための文脈を提供するため該メモリに接
続された第1の文脈モデル、 ヘッドビットのための文脈を提供するため該メモリ及び
該最高重要度データに接続された第2の文脈モデル、 テールビットのための文脈を提供するため該メモリ及び
該最高重要度データに接続された第3の文脈モデルを具
備してなる文脈モデル装置。
18. The first of the entire coding unit used to receive the low importance data and the highest importance data, determine which bit plane contains the data, and be used in processing the low importance data. A leading bit plane unit that generates an indication of a bit plane having an on-bit of; a comparison mechanism connected to receive the low importance data and the highest importance data and generate indication information for the low importance data; A memory connected to receive the sign bit, the highest significance data, and an indication of the first bit plane with the data, and delaying the coefficients to provide conditioning information; the memory to provide a context for the sign bit A first context model connected to the memory and the highest importance data to provide a context for a head bit. Connected second context model, the third context model system consisting comprises a context model of which is connected to the memory and highest-important data to provide a context for the tail bits.
【請求項19】 符号化レートを確認するため符号語の
平均長を測定するステップ、及び、所要の圧縮量に基づ
いて圧縮レートを調整するステップを含んでなる圧縮実
行方法。
19. A method for performing compression, comprising: measuring an average length of a codeword to check a coding rate; and adjusting the compression rate based on a required amount of compression.
【請求項20】 文脈モデル、 該文脈モデルに接続された確率予測マシン、 該確率予測マシンに接続されたビットジェネレータ、及
び平均符号語長を測定することによって符号化レートを
制御するための、該ビットジェネレータに接続された符
号化器レート制御手段を具備してなる符号化システム。
20. A context model, a probability prediction machine connected to the context model, a bit generator connected to the probability prediction machine, and a method for controlling a coding rate by measuring an average codeword length. An encoding system comprising an encoder rate control means connected to a bit generator.
【請求項21】 変換係数の集合のデータビットプレー
ンの最低重要度部分を処理する方法であって、 メモリから第1の量のデータを読み出すステップ、及び
該変換係数の集合の下位のビットプレーン中のデータの
少ない変換ビットプレーンを補うため、該第1の量のデ
ータの読み出しと同時に該第1の量のデータより大きな
第2の量のデータをメモリに書き込むステップを含んで
なる変換係数処理方法。
21. A method for processing a least significant portion of a data bit plane of a set of transform coefficients, comprising: reading a first amount of data from a memory; A conversion bit plane comprising the step of reading the first amount of data and simultaneously writing a second amount of data larger than the first amount of data to the memory to compensate for the converted bit plane having a smaller amount of data. .
JP11804898A 1997-05-01 1998-04-28 Compression system, compression method, and decompression system Expired - Fee Related JP4148429B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84707497A 1997-05-01 1997-05-01
US08/847074 1997-05-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007080246A Division JP2007267384A (en) 1997-05-01 2007-03-26 Compression apparatus and compression method

Publications (2)

Publication Number Publication Date
JPH10304368A true JPH10304368A (en) 1998-11-13
JP4148429B2 JP4148429B2 (en) 2008-09-10

Family

ID=25299688

Family Applications (2)

Application Number Title Priority Date Filing Date
JP11804898A Expired - Fee Related JP4148429B2 (en) 1997-05-01 1998-04-28 Compression system, compression method, and decompression system
JP2007080246A Pending JP2007267384A (en) 1997-05-01 2007-03-26 Compression apparatus and compression method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007080246A Pending JP2007267384A (en) 1997-05-01 2007-03-26 Compression apparatus and compression method

Country Status (6)

Country Link
JP (2) JP4148429B2 (en)
KR (1) KR100317792B1 (en)
DE (1) DE19819405B4 (en)
FR (1) FR2763766B1 (en)
GB (1) GB2325584B (en)
HK (1) HK1023470A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013505661A (en) * 2009-09-22 2013-02-14 サムスン エレクトロニクス カンパニー リミテッド Video signal generating apparatus and method for minimizing crosstalk between luminance signal and color difference signal
JP2013131858A (en) * 2011-12-20 2013-07-04 Axell Corp Image processing apparatus and method
JP2015073274A (en) * 2013-10-03 2015-04-16 三星ディスプレイ株式會社Samsung Display Co.,Ltd. Apparatus and method for compact bit-plane data compression

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
US6201897B1 (en) * 1998-11-09 2001-03-13 Earth Resource Mapping Transformation and selective inverse transformation of large digital images
DE10008055A1 (en) * 2000-02-22 2001-08-30 Infineon Technologies Ag Data compression method
US6633688B1 (en) 2000-04-28 2003-10-14 Earth Resource Mapping, Inc. Method system and apparatus for providing image data in client/server systems
KR20030021009A (en) * 2001-09-05 2003-03-12 김효준 Image compression method using block-based zerotree and quadtree
KR100451584B1 (en) * 2001-12-20 2004-10-08 엘지전자 주식회사 Device for encoding and decoding a moving picture using of a wavelet transformation and a motion estimation
US7460722B2 (en) 2002-01-11 2008-12-02 Canon Kabushiki Kaisha Encoding of digital data with determination of sample path
FR2834832B1 (en) * 2002-01-11 2005-05-20 Canon Kk CODING DIGITAL DATA WITH HISTOGRAM CALCULATION
AU2003272833A1 (en) * 2002-09-17 2004-04-08 Vladimir Ceperkovic Fast codec with high compression ratio and minimum required resources
RU2486245C2 (en) 2007-10-15 2013-06-27 Чугаи Сейяку Кабусики Кайся Method of producing cell capable to produce heteroproteins with high yield
CN101981592B (en) * 2007-11-30 2013-02-06 三菱电机株式会社 Content aware resizing of images and videos

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3639753A1 (en) * 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh METHOD FOR TRANSMITTING DIGITALIZED SOUND SIGNALS
US5272478A (en) * 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
US5638498A (en) * 1992-11-10 1997-06-10 Adobe Systems Incorporated Method and apparatus for reducing storage requirements for display data
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
DE19549491C2 (en) * 1994-02-23 2003-08-07 Ricoh Kk Palletised image compression with entropy encoding
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
GB2293734B (en) * 1994-09-20 1997-04-09 Ricoh Kk Method for compression using reversible embedded wavelets
GB2302245B (en) * 1994-09-20 1997-10-22 Ricoh Kk Wavelet transform filter
JP3302229B2 (en) * 1994-09-20 2002-07-15 株式会社リコー Encoding method, encoding / decoding method and decoding method
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US6195465B1 (en) * 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US5881176A (en) * 1994-09-21 1999-03-09 Ricoh Corporation Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5731988A (en) * 1995-05-08 1998-03-24 Richo Company, Ltd. Method and apparatus for reversible color conversion

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013505661A (en) * 2009-09-22 2013-02-14 サムスン エレクトロニクス カンパニー リミテッド Video signal generating apparatus and method for minimizing crosstalk between luminance signal and color difference signal
JP2013131858A (en) * 2011-12-20 2013-07-04 Axell Corp Image processing apparatus and method
JP2015073274A (en) * 2013-10-03 2015-04-16 三星ディスプレイ株式會社Samsung Display Co.,Ltd. Apparatus and method for compact bit-plane data compression

Also Published As

Publication number Publication date
FR2763766B1 (en) 2002-10-25
GB9808412D0 (en) 1998-06-17
KR19980086694A (en) 1998-12-05
KR100317792B1 (en) 2002-02-19
GB2325584B (en) 2000-03-29
GB2325584A (en) 1998-11-25
DE19819405A1 (en) 1998-11-26
HK1023470A1 (en) 2000-09-08
JP2007267384A (en) 2007-10-11
DE19819405B4 (en) 2006-06-29
FR2763766A1 (en) 1998-11-27
JP4148429B2 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
US7016545B1 (en) Reversible embedded wavelet system implementation
US8565298B2 (en) Encoder rate control
JP3800551B2 (en) Data processing apparatus and method
JP3693988B2 (en) Communication management system and communication management method
JP2007267384A (en) Compression apparatus and compression method
US5881176A (en) Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5966465A (en) Compression/decompression using reversible embedded wavelets
JPH11168633A (en) Reconstruction execution method, reconstruction execution device, record medium, inverse conversion execution method, inverse conversion execution device, suitable reconstruction generating method, suitable reconstruction generator, coding data processing method, coding data processing unit and data processing system
JP2005218124A (en) Data compression system
GB2341034A (en) Reversible wavelet system implementation
AU2004218686B2 (en) A Combined Spatial and Transform Domain Method for Compressing Image Data into a Fixed Size Buffer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080618

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080620

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130704

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees