JP2005304056A - 符号化方法及び装置 - Google Patents

符号化方法及び装置 Download PDF

Info

Publication number
JP2005304056A
JP2005304056A JP2005120798A JP2005120798A JP2005304056A JP 2005304056 A JP2005304056 A JP 2005304056A JP 2005120798 A JP2005120798 A JP 2005120798A JP 2005120798 A JP2005120798 A JP 2005120798A JP 2005304056 A JP2005304056 A JP 2005304056A
Authority
JP
Japan
Prior art keywords
coefficient
bit
pass
data
processing block
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.)
Pending
Application number
JP2005120798A
Other languages
English (en)
Inventor
Ahmad Zandi
ザンディ アーマド
James D Allen
ディー アレン ジェイムス
Edward L Schwartz
エル シュワルツ エドワード
Martin P Boliek
ピー ボーリック マーティン
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 JP2005304056A publication Critical patent/JP2005304056A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/148Wavelet transforms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/162User input
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】ウェーブレット変換を利用した効率的な圧縮を可能にする符号化装置を提供する。
【解決手段】入力データに応じて、ウェーブレット変換により変換信号を生成する変換手段、及び、該変換信号を符号化して該入力データを圧縮したデータを得る圧縮手段からなり、該変換手段は1次元フィルタを使い該入力データを分割して係数の系列を得る手段を含み、該1次元フィルタは1画素おきに適用される構成とする。また、前記一次元フィルタは、演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割りふるようにする。
【選択図】図1

Description

本発明はデータ圧縮及び伸長システムの分野に係り、特に、圧縮/伸長システムにおけるデータの符号化のための方法及び装置に関する。
データ圧縮は、大量のデータの蓄積及び伝送のために非常に有用なツールである。例えば、文書のファクシミリ伝送のような画像の伝送に要する時間は、圧縮を使ってその画像の再生に必要とされるビット数を減らすと、飛躍的に短縮される。
従来より、多くの様々なデータ圧縮手法が存在している。圧縮手法は2つの大まかなカテゴリー、つまり損失性符号化と非損失性符号化とに分類できる。損失性符号化とは、情報の損失を生じ、したがってオリジナルデータの完全な再現が保証されない符号化のことである。損失性符号化の目標とするところは、オリジナルデータから変化しても、その変化が不快であったり目だったりしないようにすることである。非損失性圧縮では、全ての情報が保存され、データは完全な再現が可能な方法で圧縮される。
非損失性圧縮では、入力シンボルもくしは輝度データが出力符号語に変換される。入力としては、画像データ、音声データ、1次元データ(例えば空間的または時間的に変化するデータ)、2次元データ(例えば2つの空間軸方向に変化する(または1つの空間次元と1つの時間次元で変化する)データ)、あるいは多次元/マルチスペクトルのデータがあろう。圧縮がうまくいけば、その符号語は、符号化されない入力シンボル(または輝度データ)のために必要とされるビット数より少ないビット数で表現される。
非損失性符号化法には、辞書符号化方式(例えば、Lempel-Ziv方式)、ランレングス符号化方式、計数符号化方式、エントロピー符号化方式がある。非損失性画像圧縮では、圧縮は予測またはコンテキストと符号化に基づいている。ファクシミリ圧縮用のJBIG規格と、連続濃淡画像用のDPCM(differntial pulse code modulation−JPEG規格のオプション)は画像用非損失性圧縮の例である。
損失性圧縮では、入力シンボルまたは輝度データは、量子化されてから出力符号語へ変換される。量子化は、データの重要な特徴量を保存する一方、重要でない特徴量を除去することを目的としている。損失性圧縮システムは、量子化に先立ち、エネルギー集中をするために変換を用いる。
画像信号処理における最近の開発は、効率的かつ高精度のデータ圧縮符号化方式を追求することに関心を集中し続けている。変換またはピラミッド信号処理の様々な方式が提案されており、その中にマルチ解像度ピラミッド処理方式とウェーブレット(wavelet)ピラミッド処理方式とがある。これら2方式は、サブバンド処理方式及び階層処理方式とも呼ばれる。画像データのウェーブレット・ピラミッド処理方式は、直交ミラーフィルタ(QMF)を用いてオリジナル画像のサブバンド分割をする特殊なマルチ解像度ピラミッド処理方式である。なお、他の非QMFウェーブレット方式が存在する。
ウェーブレット処理方式に関し、より多くの情報を得るには、例えば非特許文献1を参照されたい。
従来のウェーブレット処理方式の多くの問題点は、データ全部をその処理中に記憶しておくために大きなメモリが必要となることである。換言すれば、ウェーブレット処理を実施する場合、データ全部を、その符号化がなされる前に調べなければならない。かかる場合、少なくとも1回、データ全部のフルパスを完了するまでは全くデータ出力がない。実際、ウェーブレット処理は普通、データのマルチパスを必要とする。それ故に、大きなメモリがしばしば必要になる。大きなメモリを必要とせずに、ウェーブレット処理を利用することが望ましい。さらに、データの単一パスだけでウェーブレット処理を遂行することが望ましい。
多くのウェーブレットまたはサブバンド変換装置は特定の正規型のフィルタを必要とする。例えば、低域通過フィルタと高域通過フィルタは同一長でなければならず、その係数の2乗和は1でなければならず、高域通過フィルタは時間−周波数特性が低域通過フィルタと正反対でなければならない、等々である。(1991年5月にLawton等に発行された米国特許第5,014,134号を参照)。より広範な種類のフィルタを許容することが望まれる。すなわち、低域通過フィルタと高域通過フィルタは同一長でなく、その係数の2乗和は1である必要がなく、高域通過フィルタは低域通過フィルタと正反対の時間−周波数特性である必要がない等々、そのような低域通過フィルタと高域通過フィルタを使用するウェーブレットまたはサブバンド変換装置を提供することが望まれる。
本発明は、前述の問題点に鑑み、効率的な非圧縮性/圧縮性データ圧縮/伸長システムを実現しようとするもので、より具体的には、効率的な圧縮を可能にする符号化方法及び装置を提供することを目的とする。
本発明は、入力データを符号化するための方法であって、該入力データに応じて、ウェーブレット変換により変換信号を生成する変換ステップ、及び、該変換信号を符号化して該入力データを圧縮したデータを得る圧縮ステップからなり、
該変換ステップは1次元フィルタを使い該入力データを分割して係数の系列を得るステップを含み、該1次元フィルタは1画素おきに適用されることを特徴とする。前記一次元フィルタは、演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割りふるものであることを特徴とする。
また、本発明は、入力データを符号化するための装置であって、該入力データに応じて、ウェーブレット変換により変換信号を生成する変換手段、及び、該変換信号を符号化して該入力データを圧縮したデータを得る圧縮手段からなり、該変換ステップは1次元フィルタを使い該入力データを分割して係数の系列を得る手段を含み、該1次元フィルタは1画素おきに適用されることを特徴とする。前記一次元フィルタは、演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割りふるものであることを特徴とする。
一実施例によれば、入力データを複数の係数に変換する可逆ウェーブレットフィルタと、該複数の係数に対し埋め込み符号化を行なうことにより、ビットストリームを生成する、該可逆ウェーブレットフィルタに接続された埋め込み符号化器と、該ビットストリームに対しエントロピー符号化を行なって、符号化データを生成する、該埋め込み符号化器に接続されたエントロピー符号化器からなる符号化装置が提供される。
一実施例によれば、入力データを受け取って、該入力データの分割したものを表わす係数の系列を生成する変換符号化器と、該係数の系列を受け取り、該係数の系列に対しビット・シグニフィカンス符号化を行なって符号化データを生成する埋め込み符号化器とからなり、該埋め込み符号化器が該係数の系列の全部を受け取る前に符号化データを発生する符号化装置が提供される。この符号化装置は例えば、該変換符号化器及び該埋め込み符号化器が1パスで該入力データから符号化データを生成するように動作するように構成される。
一実施例によれば、入力データ信号のサンプルの第1のペアを加算して第1の結果を生成する第1加算器と、該第1の結果に基づいた第1の低域通過係数を出力する第1出力論理と、ある低域通過係数と該第1低域通過係数の入力を有し、該ある低域通過係数を該第1低域通過係数から減算して第2の結果を発生する第1減算器(該ある低域通過係数は該第1減算器にフィードバックとして受け取られる)と、該入力データ信号のサンプルの第2のペアを相互に減算して第3の結果を発生する第2減算器と、該第3結果に基づく入力と該第2結果を受け取って加算し第4の結果を発生する第2加算器と、該第4結果に基づいた第2の低域通過係数を生成する第2出力論理とからなり、該第1及び第2の低域通過係数を出力するウェーブレット変換フィルタが提供される。このウェーブレット変換フィルタにおいて、該第1出力論理及び/または該第2出力論理は、例えば除算器からなり、該除算器は例えばビットシフタからなる。
一実施例によれば、入力データ信号のサンプルの第1のペアを加算して第1の結果を生成する第1加算器と、該第1結果を受け取り、該第1結果に第1の因数を乗じて第2の結果を得る第1乗算器(該第2結果は第1の低域通過係数として出力される)と、ある低域通過係数を受け取り該第2結果より減算して第3の結果を発生する第1減算器(該ある低域通過係数は該第1減算器にフィルードバックとして受け取られる)と、該入力データ信号のサンプルの第2のペアを相互に減算して第4の結果を発生する第2減算器と、該第4結果を受け取って該第4結果を第2の因数で除して第5の結果を発生する第1除算器と、該第3結果及び該第5結果を受け取って加算し第6の結果を発生する第2加算器と、該第6結果を受け取り該第6結果を第3の因数で除して第2の低域通過係数を生成する第2除算器とからなり、該第1低域通過係数及び該第2低域通過係数が出力されるウェーブレット変換フィルタが提供される。このウェーブレット変換フィルタにおいて、該乗算器及び/または該除算器の少なくとも1つは例えばシフタからなる。
一実施例によれば、1対の低域通過係数の減算をして第1の結果を発生する第1減算器と、該第1結果に基づいた第1の入力を、ある高域通過係数から減算して第2の結果を発生する第2減算器と、該第2結果を、ある低域通過係数に基づいた第2入力に加算して第3の結果を発生する第1加算器と、該第2結果を、該ある低域通過係数から減算して第4の結果を発生する第3減算器とからなり、該第3結果に基づいた第1のサンプルと該第4結果に基づいた第2のサンプルを出力するウェーブレット変換フィルタが提供される。このウェーブレット変換フィルタに、該第3結果を受け取り、該第3結果をクリップして該第1サンプルを発生する第1クリップ機構、及び/または、該第1結果を受け取り、該第1結果を第1因数により除して該第1入力を発生する除算器、及び/または、該ある低域通過係数を受け取り、該ある低域通過係数を乗算して該第2入力を生成する乗算器を加えた構成のウェーブレット変換フィルタも提供される。
また、一実施例によれば、複数のデータシンボルを受け取って該複数のデータシンボルをフォーマットされたデータシンボルの集合にフォーマットするフォーマッティングユニットと、該複数のデータシンボルに応じて複数のデシジョンを生成する、該フォーマッティングユニットに接続されたシグニフィカンスユニットと、該シグニフィカンスユニットから該複数のデシジョンを受け取って記憶または出力するメモリ機構とからなる符号化装置が提供される。この符号化装置において、該複数のデータシンボルは例えば複数の係数からなり、該フォーマッティングユニットは、例えば、該複数のデータシンボルを符号−絶対値形式にフォーマットされたデータの集合へ変換するための符号−絶対値ユニットからなり、該符号−絶対値ユニットは、例えば、各データシンボルに対するシグニフィカンス表示を出力するシグニフィカンス判定機構と、該複数のデータシンボルのそれぞれを受け取り、そのデータシンボルに対する符号及び仮数を生成する符号及び仮数ジェネレータと、該複数のデータシンボルのそれぞれに対するインデックスを生成するインデックスカウンタからなる。該シグニフィカンス判定機構は、例えば、プライオリティエンコーダからなり、あるいは、1対のプライオリティエンコーダと、該1対のプラオリティエンコーダのそれぞれの出力の間で選択することによって該シグニフィカンス表示を出力する選択機構とからなる。
また、上記構成の符号化装置に、該複数のフォーマットされたデータシンボルを受け取って記憶する絶対値メモリを追加した構成の符号化装置も本発明により提供される。この符号化装置において、例えば、該複数のフォーマットされたデータシンボルのそれぞれは、シグニフィカンスレベルに基づいて該絶対値メモリに格納される。また、例えば、該絶対値メモリは複数の記憶領域を具備し、該複数の記憶領域のそれぞれは別個のシグニフィカンスレベルのためのデータを格納し、該絶対値メモリは複数のカウンタをさらに具備し、該複数のカウンタのそれぞれは、該フォーマットされたデータシンボルの格納のためのアドレスを提供するため該複数の記憶領域の1つに関係付けられる。
本発明によれば、効率的な圧縮を可能にする符号化装置を実現することができ、したがって、効率的な非損失性/損失性データ圧縮/伸長システムを提供できる。
本発明は、入力データに応じて変換信号を生成する方法及び装置を含む。一実施例において、この変換信号は、可逆ウェーブレット変換によって生成される。本発明はまた、変換信号を、入力データの非損失圧縮されたものを表わすデータへと圧縮するための方法及び装置を含む。一実施例において、本発明は非最小長の可逆フィルタを用いて入力データを分割する。この分割は、多数の1次元フィルタを用いて行なわれるかもしれない。
本発明はまた、変換信号の埋め込み符号化(embedded coding)を行なう方法及び装置を含む。本発明の埋め込み符号化は、係数系列の順序付けと変換信号に対するビット・シグニフィカンス埋め込み(bit significance embedding)を含む。
本発明はまた、入力データの非損失圧縮データを変換信号へ伸長するための方法及び装置も含む。本発明はまた、非損失性圧縮データの丸めにより入力信号の損失性圧縮も可能である。本発明は、インバース可逆ウェーブレット変換を用いて、変換信号から入力データを生成し、入力データの再現データを得るための方法及び装置も含む。
圧縮及び伸長のための方法及び装置について述べる。以下の本発明に関する詳細な説明において、本発明を完全に理解してもらうために、符号化器の種類、ビット数、信号名等々、様々な具体例が示される。しかし、当業者にとって、そのような具体例によらずに本発明を実施し得ることは明白であろう。他方、本発明をいたづらに難解にしないため、周知の構造及びデバイスは詳細にではなくブロック図の形で示される。
以下の詳細説明のかなりの部分が、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現によって与えられる。これらのアルゴリズム記述及び表現は、データ処理技術分野の当業者によって、その研究の内容を他の当業者に対し最も効率的に伝えるために用いられる手段である。あるアルゴリズムがあり、それが概して、希望する結果に至る自己矛盾のないステップ系列だと考えられるとしよう。これらのステップは、物理量の物理的処理を必要とするものである。必ずという訳ではないが、通常、これらの物理量は記憶、転送、結合、比較、その他処理が可能な電気的または磁気的信号の形をとる。これらの信号をビット、値、要素、記号、文字、用語、数字等で表わすのが、主に慣用上の理由から、時に都合がよいことが分かっている。
しかしながら、このような用語は、適切な物理量と関係付けられるべきであって、これら物理量につけた便宜上のラベルに過ぎないということを心に留めるべきである。以下の説明から明らかなように、特に断わらない限り、“処理”“演算”“計算”“判定”“表示”等々の用語を用いて論じることは、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)な量として表現されたデータを処理して、コンピュータシステムのメモリまたはレジスタ、同様の情報記憶装置、情報伝送装置あるいは表示装置の内部の同様に物理量として表現された他のデータへ変換する、コンピュータシステムあるいは同様の電子演算装置の作用及びプロセスを指すものである。
本発明はまた、本明細書に述べられる操作を実行する装置に関する。この装置は、必要な目的のために専用に作られてもよいし、あるいは、汎用コンピュータを内蔵プログラムにより選択的に駆動または再構成したものでもよい。本明細書に提示されるアルゴリズム及び表示は、本質的に、いかなる特定のコンピュータやその他装置とも関係がない。様々な汎用マシンを本明細書に教示したところに従ったプログラムと一緒に用いてもよいし、あるいは、必要な方法のステップの実行のためにより特化した装置を作るほうが好都合であるかもしれない。これら多様なマシンに要求される構造は以下の説明より明らかになろう。さらに、本発明は、特定のプログラミング言語と関連付けては説明されない。本明細書において述べるように、本発明の教示するところを実現するために、多様なプログラミング言語を用い得ることが理解されるであろう。
<概要>
本発明は、符号化部及び復号部を持つ圧縮/伸長システムを提供する。符号化部は入力データを符号化して圧縮データを生成する役割を持ち、他方、復号部は前もって符号化されたデータを復号してオリジナル入力データの再現データを生成する役割を持つ。入力データは、画像(静止画像あるいはビデオ画像)、音声等々の様々なデータ形式のものがあろう。一実施例ではデータはデジタル信号データであるが、デジタル化されたアナログデータ、テキストデータ形式、その他の形式が可能である。データのソースは、符号化部及び/または復号部のためのメモリまたはチャネルであろう。
本発明における符号化部及び/または復号部の構成要素は、ハードウエアあるいは、コンピュータシステム上で使われるようなソフトウエアによって実現し得る。本発明は、非損失性圧縮/伸長システムを提供する。本発明はまた、損失性圧縮/伸長を実行するようにも構成し得る。
図1は、システムの符号化部の一実施例のブロック図である。なお、システムの復号部はデータフローに沿って逆の順序で動作する。
図1において、入力画像データ101が可逆ウェーブレット変換ブロック102に受け取られる。可逆ウェーブレット変換ブロック102の出力はビット・シグニフィカンス埋め込み(bit-significance embedding)ブロック103に接続される。可逆ウェーブレット変換ブロック102の出力に応答して、ビット・シグニフィカンス埋め込みブロック103は少なくとも1つのビットストリームを出力し、このビットストリームはエントロピー符号化器104に受け取られる。エントロピー符号化器104は、ビット・シグニフィカンス埋め込みブロック103からの入力に応じて、符号ストリーム107を出力する。
一実施例において、ビット・シグニフィカンス埋め込みブロック103は、図2に示されるように、符号(sign)−絶対値フォーマッティングユニット109、周波数ベース(frequency-based)コンテキストモデル105及び統合空間/周波数(joint space/frequency)コンテキストモデル106からなる。一実施例では、統合空間/周波数コンテキストモデル106は水平(horizon)コンテキストモデルである。いくつかの実施例では、周波数ベースコンテキストモデル105はシグニフィカンス・ツリー(significance tree)モデルである。符号−絶対値フォーマッティングユニット109、周波数ベースコンテキストモデル105及び統合空間/周波数(JSF)コンテキストモデル106は、本発明におけるビット・シグニフィカンス埋め込みを遂行する。符号−絶対値フォーマッティングユニット109の入力は可逆ウェーブレット変換ブロック102の出力と接続される。符号−絶対値フォーマッティングユニット109の出力はスイッチ108に接続される。スイッチ108は、符号−絶対値フォーマッティングユニット109の出力を周波数ベースコンテキストモデル(モデリングブロック)105または統合空間/周波数コンテキストモデル(統合空間/周波数モデリングブロック)106のいずれかの入力に与えるように接続される。周波数ベースコンテキストモデル(周波数ベース符号化ブロック)105及び統合空間/周波数コンテキストモデル(水平順序(horizon order)符号化ブロック)106の出力はエントロピー符号化器104の入力に接続される。エントロピー符号化器104は、出力符号ストリーム107を生成する。
図1に戻る。本発明においては、後に定義するように、画像データ1014は可逆ウェーブレット変換ブロック102において受け取られ、可逆ウェーブレットを使って変換符号化され、その画像のマルチ解像度分割を表わす一つの係数系列が生成される。これらの係数はビット・シグニフィカンス埋め込みブロック103に受け取られる。
ビット・シグニフィカンス埋め込みブロック103は、それらの係数を順序付けして符号−絶対値形式へ変換する。そして、このフォーマットされた係数は、それらのシグニフィカンス(significance)(後述)に基づき、様々な埋め込み(embedded)モデリング法の組合せを適用される。本発明においては、フォーマットされた係数は2つの埋め込みモデリング法(例えば周波数ベースモデリングとJSFモデリング)の中のいずれか一方を適用される。
一実施例においては、フォーマットされた係数は、周波数ベースモデリングか統合空間/周波数モデリングを適用される。本発明において、入力データが複数のビットプレーン(bitplane)を持つ画像データからなる時には、いくつかのビットプレーンが周波数モデリングによって符号化され、残りのビットプレーンがJSFモデリングにより符号化される。どのビットプレーンにどの方法を使うべきかの決定は、ユーザ・パラメータであってよい。一実施例においては、上位の係数ビットプレーンが順序付けられて本発明の周波数ベースモデリングにより符号化される。本発明の周波数ベースコンテキストモデル法においては、係数ビットのシグニフィカンスの予測はウェーブレットのピラミッド構造と関連している。下位の係数ビットプレーンは順序付けられて本発明の統合空間/周波数コンテキストモデルにより符号化される。このJSFモデリング(例えば水平モデリング)は、周波数ベース符号化に比べ、周波数領域係数関係の相関が小さいビットプレーンに対して有利である。
ビット・シグニフィカンス埋め込みの結果が、エントロピー符号化器により符号化すべきデシジョン(decicion)(あるいはシンボル)である。一実施例では、全てのデシジョンが一つの符号化器へ送られる。他の実施例では、デシジョンはシグニフィカンス(significance)によってラベル付けされ、各シグニフィカンス・レベルのデシジョンが別々の複数の(物理または仮想)符号化器によって処理される。
周波数ベースコンテキストモデル105及びJSFモデル106より得られたビットストリームは、シグニフィカンス順に、エントロピー符号化器104によって符号化される。一実施例では、エントロピー符号化器104はバイナリのエントロピー符号化器からなる。ある実施例では、エントロピー符号化器104はQコーダ、米国特許第5,272,478号に定義されたB−コーダ、あるいは、米国特許出願第08/016,035号(“Method and Apparatus for Parallel Docoding and Encoding of Data”、1993年2月10日受理)に述べられているような符号化器からなる。Q−コーダについてさらに情報を得るには、Pennebaker,W.B.,et al,“An Overview of the Basic Principles of the Q-coder Adaptive Binary Arithmetic,IBM Journal of Research and Development Vol.32,pg.717-26,1988を参照されたい。ある実施例では、単一の符号化器が単一の出力符号ストリームを発生する。他の実施例では、複数の(物理または仮想)符号化器が、複数の(物理または仮想)データストリームを発生する。
<ウェーブレット分割(Wavelet Decomposition)>
本発明は、最初に、可逆ウェーブレットを用いて、画像(画像データとしての)または他のデータ信号の分割を行なう。本発明においては、可逆ウェーブレット変換は、整数係数を持つ信号の非損失性復元が可能な精密復元システムを整数演算で実現する。本発明は、可逆ウェーブレットを用いることにより、限定された精度の演算によって非損失性圧縮を提供できる。画像データに可逆ウェーブレット変換を適用することによって生成される結果は、一つの係数系列である。本発明の一実施例では、可逆ウェーブレット変換はフィルタの集合を用いて実現される。ある実施例では、そのフィルタとは1つの2タップ低域通過フィルタと1つの6タップ高域通過フィルタである。ある実施例では、これらフィルタは加減算(及びハードワイヤのビットシフト)だけで実現される。また、本発明においては、高域通過フィルタは低域通過フィルタの結果を使って出力を生成する。結果として得られる高域通過係数は画素解像度より数ビット分だけ大きく、低域通過係数は画素解像度と同一である。ピラミッド分割では低域通過係数だけが繰り返しフィルタされるため、マルチレベル分割により解像度は増加しない。
ウェーブレット変換システムは一対のFIR分析フィルタh0(n),h1(n)と一対のFIR合成フィルタg0(n),g1(n)によって定義される。本発明において、h0とg0は低域通過フィルタであり、h1とg1は高域通過フィルタである。このウェーブレット変換システムのブロック図が、図3に示されている。
図3において、ブロック201,202により入力信号x(n)に対して分析フィルタh0,h1がかけられ、その出力がブロック203,204で2:1の間引き(臨界的サブサンプリング)を施されることにより、変換信号y0(n),y1(n)が生成される。この変換信号y0(n),y1(n)はそれぞれ、本明細書においては低域通過係数、高域通過係数と呼ばれる。これらの分析フィルタとそれらに対応した間引きもしくはサブサンプリングのブロック201〜204は、ウェーブレット変換システムの分析部を構成する。符号化器/復号器205,206は、変換ドメインにおいて実行される全ての処理論理及びルーチン(例えば、予測、量子化、符号化等々)を含む。
図3に示したウェーブレット変換システムは合成部も持ち、この合成部において変換信号はブロック207,208により1:2のアップサンプリングを施され(各項の後にゼロが挿入される)、ついで合成フィルタg0(N),g1(n)(ブロック209,210)に通される。低域通過係数y0(n)は低域通過合成フィルタg0(ブロック209)に通され、高域通過係数y1(n)は高域通過合成フィルタg1(ブロック210)に通される。フィルタg0(n),g1(n)の出力が合成されて
Figure 2005304056
が作られる。
ある実施例ではダウンサンプリング(サブサンプリング)とアップサンプリングが行なわれるが、他の実施例では、ダウンサンプリング及びアップサンプリングにより不要となる計算が行なわれないようなフィルタが使用される。
ウェーブレット変換システムはZ変換によって記述してもよい。ここにおいて、
Figure 2005304056
は入力信号と出力信号であり、Y0(Z),Y1(Z)は低域通過の変換信号と高域通過の変換信号であり、H0(Z),H1(Z)は低域通過分析フィルタと高域通過分析フィルタであり、G0(Z),G1(Z)は低域通過合成フィルタと高域通過合成フィルタである。変換ドメインにおいて修正も量子化もなければ、図3の出力
Figure 2005304056
は次式により与えられる。
Figure 2005304056
本発明において、上記式における右辺の第2項は“エイリアシング”(折り返し)項と呼ばれるが、これはキャンセルされる。というのは、合成フィルタが分析フィルタの直交ミラーフィルタとされているからである。すなわち、
Figure 2005304056
フィルタ係数によれば、
Figure 2005304056
したがって、直交ミラーフィルタのペアに関し、代入すると、出力は次のようになる。
Figure 2005304056
よって、本発明の直交ミラーシステムにおいては、出力は分析フィルタの項だけで決定される。ウェーブレット変換は、フィルタにより生成された出力がフィルタの入力として直接的または間接的に用いられるという点で、変換信号に対し再帰的に適用される。以上説明した実施例においては、低域通過変換成分y0(n)だけが再帰的に変換されるため、当該システムはピラミッド型である。そのようなピラミッドシステムの一例が図9に示されている。
Z変換はハードウエア及び/またはソフトウエアのデータ操作を説明するのに便利な表現方法である。Z-mによる乗算は、ハードウエアによるmクロックサイクルの遅延、及び、ソフトウエアによるm個前の要素への配列アクセスのモデルである。そのようなハードウエア手段は、メモリ、パイプステージ、シフタ、レジスタ等を含む。
本発明において、信号x(n)と信号
Figure 2005304056
は、ある乗定数及びある遅延期間までは一致する。すなわち、Z変換では
Figure 2005304056
これは精密復元システムと呼ばれる。しかして、本発明の一実施例において、入力データに最初に適用されたウェーブレット変換は精密に復元可能である。
ハダマード変換(Hadamard Transform)を使う本発明の一実施例は精密復元システムであり、その正規化形式はZ領域で次のように記述される。
Figure 2005304056
代入すると、出力は次のとおりである。
Figure 2005304056
これが精密復元であることは明らかである。ハダマード変換について更に情報を得るためには、Anil K.Jain,Fundamentals of Image Processing,pg.155を見られたい。
ハダマード変換の可逆型は、本明細書においてS−変換と呼ばれる。S−変換についてさらに情報を得るためには、Said,A.and Pearlman,W.,“Reversible Image Compression via Multiresolution Representation and Predictive Coding”,Dept.of Electrical,Computer and Systems Engineering,Renssealaer Polytechnic Institute,Troy,NY 1993を参照されたい。ハダマード変換は精密復元変換であるから、下に示す非正規化型(一定の因子だけがハダマード変換と違っている)もまた精密復元変換である。
Figure 2005304056
入力信号のサンプルをx0,x1とすると、S−変換はつぎのように当該システムの可逆システムである。
Figure 2005304056
上記式中の記号
Figure 2005304056
は、切り捨てる、あるいは丸めることを意味し、時にフロアー関数(floor function)と呼ばれる。同様に、シーリング関数(ceiling function)
Figure 2005304056
は最も近い整数へ切り上げることを意味する。
このシステムが可逆であることの証明は、近似により失われる情報がx(0)+x(1)の最下位ビットだけであるという事実から得られる。しかしながら、x(0)+x(1)とx(0)−x(1)の最下位ビットは同一であるので、これは高域通過出力y1(0)から再生することができる。換言すれば、次式のとおりである。
Figure 2005304056
S−変換は、最小長(minimal length)の可逆フィルタを用いる非オーバーラップ(non-overlapping)変換である。最小長フィルタは、2タップのフィルタのペアからなる。最小長変換は良好なエネルギー集中を得られない。最小長フィルタは、その長さがフィルタの数に等しいので、非オーバーラップ変換を実現する。オーバーラップ変換は、フィルタ数より大きな長さのフィルタを少なくとも1つ用いる。長い(非最小長の)フィルタを使うオーバーラップ変換は、より良好なエネルギー集中を得ることができる。本発明は、オーバーラップ変換を可能にする非最小長の可逆フィルタを提供する。
精密復元システムのもう一つの例は、次に示すZ領域定義を持つTwo/Six(TS)−変換からなる。
Figure 2005304056
代入すると、出力は次の通りであり、これは精密復元変換である。
Figure 2005304056
TS−変換の有理非正規化型は次のとおりである。
Figure 2005304056
x(0),x(1),...,x(5)が信号の6サンプルであるとき、最初の3つの低域通過係数y0(0),y0(1),y0(2)と最初の高域通過係数y1(0)は次式で示される。
Figure 2005304056
しかし、TS−変換の有理非正規化型をそのまま具体化したのでは可逆でない。次に述べる例で、そのような構成が局所的に非可逆であることを明らかにする。グローバルケースのための例としては、もっと長い系列を作ることができる。y0(0)とy0(2)を計算するために丸めを行なうため、
−(x(0)+x(1)+)+(x(4)+x(5))≠−y0(0)+y0(2)
であるから、ローカル情報を使うとき当該変換は可逆でない。
例えば、x(0)=1,x(1)=1,x(2)=3,x(3)=1,x(4)=1,x(5)=1であるときには、
Figure 2005304056
また、x(0)=1,x(1)=2,x(2)=4,x(3)=1,x(4)=1,x(5)=1であるときには、
Figure 2005304056
0(0),y0(1),y1(0)は入力x(0)...x(5)の異なった2つの組に対して同一であるから、この変換は可逆でない。y0(0),...,y1(0)を与えられたとき、このローカル情報から、その2つの組のいずれが入力されたのか判定できないからである。(全係数からのグローバル情報を用いるときに、当該変換が可逆でないとは証明できないことに注意されたい。)
さて、異なった高域通過フィルタ作用を提供する可逆TS−変換を考えよう。この変換を、ここではRTS−変換と呼ぶ。
x(0),x(1),x(2),x(3),x(4),x(5)が信号の6サンプルであるとき、初めの3つの低域通過係数y0(0),y0(1),y0(2)と最初の高域通過係数y1(0)は次式で与えられる。
Figure 2005304056
Figure 2005304056
上式が成り立つので、x(2)−x(3)は完全に既知となった。前記(数17)のy0(1)と、x(2)−x(3)とx(2)−x(3)とが上のように決まれば、x(0)+x(1)とx(0)−x(1)の最下位ビットは同一であるから、x(2)とx(3)は復元できる。すなわち、次式のとおりである。
Figure 2005304056
プログラミング言語“C”で実現した、RTS−変換のためのフィルタの例を図57乃至図60に示す。図57及び図58に示すものは1レベル分割RTS変換のためのフォワードフィルタ及びインバースフィルタであり、図59及び図60に示すものは2レベル分割RTS変換のためのフォワードフィルタ及びインバースフィルタである。
なお、数学的には
1/8(−1−Z-1+8Z-2−8Z-3+Z-4+Z-5
と、
1/4(1/2(−1−Z-1)+4(Z-2−Z-3)+1/2(Z-4+Z-5))
は、無限精度演算によって行なう時には同一である。2番目の式が可逆フィルタを表わしている理由は、整数演算で実際に実施してみれば明白である。低域通過フィルタと高域通過フィルタをハードウエアにより実現した典型例を、図29及び図30に関連して説明する。
なお、S−変換及びRTS−変換の両方において、低域通過フィルタは入力信号x(n)のレンジが出力信号y0(n)のレンジと同一になるように構成される。例えば、信号が8ビットの画像であるときには、低域通過フィルタの出力も8ビットである。このことは、低域通過フィルタが連続的に適用されるピラミッドシステムにとって重要な特性である。というのは、従来システムでは、出力信号のレンジが入力信号のレンジより大きく、そのことがフィルタの連続的適用を難しくしていたからである。さらに、低域通過フィルタは2つのタップしか持たないため、このフィルタは非オーバーラップフィルタになる。この特性は、後述のように、フィルタをハードウエアで実現する上で重要である。
RTS−変換に関し、一実施例では低域通過フィルタ及び高域通過フィルタは次のように定義される。
Figure 2005304056
このように、低域通過フィルタの出力は高域通過フィルタにおいて2回(第1項と第3項で)使われる。したがって、高域通過フィルタの結果に到達するために、ほかに2つの加算しか行なう必要がない。
多くのオーバーラップ非最小長可逆フィルタが本発明で用いられてもよい。非オーバーラップ最小長可逆フィルタでフィルタリングを行なう変換システムのフォワード変換とインバース変換の説明を図4に示す。例えば、次に示す種類のフィルタが本発明に用いられてもよい。整数L≧zに対し、
Figure 2005304056
この高域通過フィルタの長さは2Lである。Lが奇数ならば、フィルタはより対称フィルタに近くなろう。ai,b,ci,kが整数で、k≦bのときは、フィルタは可逆である。ai,b,ci,kが2のべき乗(あるいは、ある2のべき乗の負値もしくは補数)であれば、フィルタの構成が簡単になる。(ai,ciの値と関係なく)k=bならば、高域通過フィルタ出力y1のレンジは最小になる。各aiについて、ai=−ciとなるciが丁度1つ存在するときには、高域通過フィルタは一定した入力に対し全く応答しない。j−(L-1)=iの時にai=−ciならば、フィルタは、より対称フィルタに近くなろう。
もう一つの有用な特性が次式で表わされる。
Figure 2005304056
この特性によって、高域通過フィルタが、m=1の時に直線的に変化する入力に対し応答しなくなり、m=2の時に二次曲線的に変化する入力信号に対し応答しなくなる、等々となる。ここでmはモーメント条件である。この特性が、RTS−変換のエネルギー集中がS−変換より優れていることの主な根拠である。
フィルタは可逆性のための最低条件を充足しなければならないけれども、用途が違えば、他の特性のいずれも満たさないフィルタ、いくつかを満たすフィルタ、あるいは全部を満たすフィルタを用いてよい。いくつかの実施例においては、次に例示する高域通過フィルタの中の1つが用いられる。本発明を難解にしないため、これらのフィルタは、フィルタの有理型の整数係数を単に表にして表わす形式で下に示す。
Figure 2005304056
最後のフィルタは(Two/Ten)TT−フィルタであり、3次増加関数に対して応答しないという特性を有する。なお、22=16+2x3、3=2+1であるので、このフィルタは合計7つの加減算によって実現できることに注意されたい。
フィルタの厳密な可逆性要件は、次のことに留意することにより緩和できる。高域通過係数は、ある順序で符号化され復号される。前に復号された高域通過係数に対応する画素値が正確に知れれば、それを現在の高域通過フィルタリングで使うことができる。例えば、下記のフィルタは、ラスター順が用いられる時に使用できる。
Figure 2005304056
単一の固定高域フィルタを使用する必要はない。適応型フィルタを使ってもよいし、あるいは複数のフィルタを使うこともできる。複数のフィルタの適応化ないし選択のために使われるデータは、ある特定の逆フィルタリング動作に先立って復号器内で入手可能なデータに限定されなければならない。
複数のフィルタを使用する一方法は、高域通過係数をプログレッシブ処理することである。1つおきの高域通過フィルタリング演算(y1(0),y1(2),y1(4),...)は、RTS高域通過フィルタのような可逆フィルタを用いて最初に処理してよい。残りのフィルタリング操作(y1(1),y1(3),y1(5),...)には、最高6タップの非可逆フィルタを用いてよい。というのは、フィルタのオーバーラップ部分への入力の正確な値が知れているからである。例えば、次に示すフィルタのどれでも使用してよい。
Figure 2005304056
いくつかの実施例では、高域通過フィルタは予測/補間(内挿)操作に置き換えられるかもしれない。予測器/補間器は、特定の予測/補間操作の前に復号器において入手可能なデータを利用し、1対の入力間の差分を予測する。予測した差分は入力の実際の差分から差し引かれ、その差が出力される。一実施例では、DPCM、プログレッシブ符号化あるいは空間領域符号化に使われている従来の予測方法が使用される。
本発明の低域通過フィルタ及び高域通過フィルタを用いて、マルチ解像度分割が行なわれる。分割レベル数は可変であり任意数でよいが、しかしながら、現在のところ分割数は2乃至5レベルである。
例えば、可逆ウェーブレット変換が再帰的に1つの画像に適用されるときは、第1レベルの分割は最も細かいディテールもしくは解像度に対し作用する。第1分割レベルでは、画像は4つのサブ画像(すなわちサブバンド)に分割される。各サブバンドは、1つの空間周波数帯域を表わしている。第1レベルのサブバンドはLL0,LH0,HL0,HH0と称される。原画像を分割するプロセスは、水平,垂直両次元における2:1のサブサンプリングを含むので、図5に示されるように、第1レベルのサブバンドLL0,LH0,HL0,HH0はそれぞれ入力が持っている画像の画素数(または係数)の4分の1の数の係数を持っている。
サブバンドLL0は、水平方向の低い周波数の情報と垂直方向の低い周波数の情報を同時に含んでいる。一般に、画像エネルギーの大部分が当該サブバンドに集中している。サブバンドLH0は、水平方向の低い周波数の情報と垂直方向の高い周波数の情報(例えば水平方向エッジ情報)を含んでいる。サブバンドHL0は、水平方向の高い周波数の情報と垂直方向の低い周波数の情報(例えば垂直方向エッジ情報)を含んでいる。サブバンドHH0は、水平方向の高い周波数の情報と垂直方向の高い周波数の情報(例えばテクスチャもしくは斜めエッジの情報)を含んでいる。
この後に続く第2、第3、第4の分割レベルは、前レベルの低周波LLサブバンドを分割することによって作られる。第1レベルの当該サブバンドLL0が分割されることによって、そこそこ精細な第2レベルのサブバンドLL1,LH1,HL1,HH1が作られる(図6)。同様に、サブバンドLL1が分割されることによって、粗い第3レベルのサブバンドLL2,LH2,HL2,HH2が生成される(図7)。また、図8に示されるように、サブバンドLL2が分割されることにより、より粗い第4レベルのサブバンドLL3,LH3,HL3,HH3が作られる。2:1のサブサンプリングにより、第2レベルの各サブバンドは、原画像の16分の1の大きさである。このレベルの各サンプル(つまり画素)は、原画像中の同一位置のそこそこ細いディテールを表現する。同様に、第3レベルの各サブバンドは、原画像の34分の1の大きさである。第3レベルでの各画素は、原画像中の同一位置のかなり粗いディテールを表現する。また、第4レベルの各サブバンドは、原画像の256分の1の大きさである。
分割された画像はサブサンプリングによる物理的に原画像より小さいので、原画像の格納のために使用されるメモリを利用して、分割サブバンド全部を格納できる。換言すれば、3レベル分割の場合、原画像と分割サブバンドLL0,LL1は捨てられ、保存されない。
粗いディテールのサブバンド成分と、その次に精細なディテールのサブバンド成分との間には親−子の関係が存在する。
4つのサブバンド分割レベルだけを示したが、個別のシステムの条件に応じて、それ以上のレベルを生成することも可能である。また、DCTのような他の変換あるいは一次元配置のサブバンドによって、異なった親子関係が定義されてもよい。
マルチ解像度分割のプロセスは、図9に示すようなフィルタ系列を使って行ない得る。長さLの一次元信号を表わす入力信号は、フィルタユニット401,402による低域通過フィルタリング及び高域通過フィルタリングの後、ユニット403,404によって2:1にサブサンプリングされる。ユニット403から出力されるサブサンプル信号は、ユニット405,406による低域通過フィルタリング及び高域通過フィルタリングの後、ユニット407,408により2:1にサブサンプリングされる。サブバンド成分L,Hがユニット407,408の各出力に現われる。同様に、ユニット407の出力信号は、ユニット409,410により低域通過フィルタリング及び高域通過フィルタリングを施された後、ユニット411,412によりそれぞれサブサンプリングされる。サブバンド成分L,Hがユニット411,412の各出力に現われる。上に述べたように、本発明の一実施例においてサブバンド分割に用いられるフィルタは、水平周波数帯域と垂直周波数帯域を低周波帯域と高周波帯域へ分割するためのデジタル直交ミラーフィルタである。
図10は、二次元の2レベル変換を示している。図11も、図29及び図30に示したような一次元フィルタを使って実現した二次元2レベル変換を示している。一次元フィルタ(451〜456)は、サブサンプリングにより不要になる演算を避けるため1画素位置おきに適用される。一実施例では、一次元フィルタは演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割り振る。
したがって、本発明は、非最小長のオーバーラップ可逆フィルタが使用される圧縮・伸長システムを提供する。図12は、そのようなシステムの一実施例のブロック図である。図12において、最初に階層的分割が行なわれる(ブロック461)。この階層的分割の結果は圧縮器462へ送られて圧縮される。ここで実行される圧縮には、ベクトル量子化、スカラー量子化、ゼロ・ランレングス計数、ハフマン符号化等々が含まれよう。圧縮器462の出力は、オリジナル入力データの圧縮されたものを表わすデータからなる。伸長器463は、そのデータを、いつか受け取って伸長することになろう。本発明は、次に、非最小長オーバーラップ可逆フィルタを用い逆分割を行なって(ブロック464)、オリジナルデータの復元データを生成する。
本発明の可逆ウェーブレットフィルタは、図13に示すように、典型的な分析及び強調システムにも使用し得る。図13において、非最小長オーバーラップ可逆ウェーブレットフィルタを使って、入力データに対し階層的分割が行なわれる(ブロック471,473)。分析ユニット472は、フィルタにより生成された係数を受け取り、それら係数をデシジョンに分類する。すなわち、係数を完全に符号化するのではなく、重要な情報だけが抽出される。例えば、文書保管システムにおいては、空白のページが最も粗い低域通過サブバンドだけを使って認識されよう。もう一つ例を挙げれば、ある特定のサブバンドの高域通過情報だけを用いて、テキスト画像と自然シーン画像とを区別する。階層的分割は、最初に粗いサブバンドによって粗いレジストレーション(registration)が行なわれるような、多数の画像のレジストレーションのためにも使用し得る。もう一つの実施例においては、係数は強調処理またはフィルタリングを施され(ブロック474)、次に逆分割が行なわれる(ブロック475)。鮮明化、エッジ強調、ノイズ制御等々を階層的分割を使って行なうこともできる。このように、本発明は、統合時間/空間領域及び周波数領域の分析並びにフィルタリング/強調処理システム用のウェーブレット変換を提供する。
<ビット・シグニフィカンス埋め埋み(Bit-Significance Embedded)符号化>
本発明では、ウェーブレット分割の結果として生成される係数がエントロピー符号化される。本発明においては、係数は最初に埋め込み符号化(embedded coding)を施されるが、この符号化では、視覚的に重要な順に係数が順序付けられ、また、より一般的には、何等かの誤差規準(例えば、歪み規準)を考慮して係数が順序付けられる。誤差または歪みの規準には、ピーク誤差と平均2乗誤差(MSE)が含まれる。また、順序付けは、ビット・シグニフィカンス空間配置(bit-significance spatial location)、データベース照会のための妥当性及び方向(垂直、水平、斜め等)を優先させるように行なうことができる。本発明は、複数の埋め込み符号化法を利用し、あるシグニフィカンス・レベルの一部の係数はある符号化法で符号化されるが、残りの係数は別の符号化法で符号化される。本発明においては、周波数ベースモデリングと統合空間/周波数モデリングとが、それぞれ本発明のウェーブレット変換により生成された係数の符号化に利用される異なった2つの埋め込み符号化システムである。周波数ベースモデリングは、低い周波数の1係数を符号化する時に高い周波数の多数の係数を予測する必要がある。統合空間/周波数モデリングは、既知の周波数帯域と近傍画素(またはデータ)を両方利用する。統合空間/周波数モデリングの一例は、本明細書において水平(horizon)モデリングと呼ばれる。
データはまず符号−絶対値形式にフォーマットされ、次に該データはシグニフィカンス(singificance)に基づいて格納される。特定のシグニフィカンス規準を考慮してデータが格納された後、該データは符号化される。周波数ベース符号化及び水平符号化は両方ともビット・シグニフィカンス順序付けをベースにしてよいが、異なるイベント符号化方法を用いる。
ある信号がx(n)毎にRビットの精度で表現されているとした場合、本発明の埋め込み符号化は、その信号の各x(n)の最上位ビット(または複数ビット)を符号化し、次にその下位のビット(または複数ビット)を符号化し、さらに下位のビットというように符号化する。例えば、視覚的に決まる順序付けの場合、中央部分でコーナー沿いまたは縁近傍より高い品質を要求する画像(例えば、ある種の医用画像)は、中央部分の画素の下位ビットが周辺部の画素の上位ビットより先に符号化されるような符号化がなされよう。
ビット・シグニフィカンス歪み(bit significance distortion)規準に基づいた埋め込みシステムの場合、データのバイナリ値は絶対値によって順序付けられる。値が負でない整数の場合(例えば、画素の輝度に関してそうなる)、採用し得る順序はビットプレーン順(例えば、最上位ビットプレーンから最下位ビットプレーンへの順番)である。2の補数の負整数も許容される実施例では、符号ビットの埋め込み順序は、整数の絶対値の最初の非ゼロのビットと同じである。したがって、1つの非ゼロビットが符号化されるまで、符号ビットは考慮されない。その結果、本発明のビット・シグニフィカンス埋め込みシステムにおいて1つのイベントの可能値は、符号ビットが符号化される前では3元である。この三元イベントは、“非有意(not significant)”、“積極的有意(positive significant”、“消極的有意(negative significant)”である。例えば、符号−絶対値表記法を使うと、−7の16ビット数は
1000000000000111
である。ビットプレーンベースで、初めの12デシジョンは“非有意”となろう。最初の“1”−ビットは13番目のデシジョンで生じる。13番目のデシジョンは“消極的有意”となろう。符号ビットが符号化された後、その可能なイベントは2つ、すなわち0,1に減る。14番目と15番目のデシジョンは共に“1”である。
本発明の一実施例においては、係数を記録するためにリストが用いられる。一実施例では、各係数に関係付けられた1ビットのフラグ(本明細書ではグループフラグと呼ぶ)で、符号ビットが符号化前の係数と、符号ビットが符号化済みの係数を区別する。もう一つの実施例では、フラグビットの代わりに2つ以上のリストを使用できる。別の実施例では単一のリストがフラグ無しで用いられる。
もう一つの実施例では、リストは使用されない。1つの係数に対する全てのデシジョンが生成され、シグニフィカンスによってラベル付けされた後に、次の係数に対するデシジョンが生成される。こうすることで、リストに係数全部は格納しなくともよくなる。
<符号化プロセス及び復号プロセス>
次に説明する図44乃至図55のフローチャートは、本発明の符号化プロセス及び復号プロセスを表わしている。図44及び図45は、本発明の符号化器の変換及びモデリングプロセスを表わすフローチャートである。図44において、符号化器の変換及びモデリングプロセスは、初めに入力データを獲得する(処理ブロック2501)。入力データ獲得後、本発明は可逆ウェーブレットフィルタをかける(処理ブロック2502)。
次に、別のレベルの分割を要するか判定する(処理ブロック2503)。別のレベルの分割を要するときには、処理ブロック2504へ進み、そこで直前の分割により得られたLL係数に可逆フィルタがかけられ、そして処理ブロック2503へ戻る。このようにして、本発明は任意のレベル数の分割が行なえるようにする。
別のレベルの分割を要しないときには、処理ブロック2506へ進み、各係数のためのグループフラグをA−グループに初期化する。グループフラグを初期化した後、A−パス用のビットプレーンSAは最上位ビットプレーン(max)とされる(処理ブロック2507)。次にB−パス用のビットプレーンSBはその1つ下位のビットプレーン(max−1)とされる(処理ブロック2508)。
次に、A−パス用のビットプレーンSAを周波数ベースモデルを用いて符号化すべきか否かを判定する(処理ブロック2509)。ビットプレーンSAを周波数ベースモデルで符号化すべきであれば、処理ブロック2510へ進み、各係数は周波数ベースモデルでモデル化されてからエントロピー符号化される。他方、ビットプレーンSAが周波数ベースモデルで符号化されるべきでなければ、処理ブロック2511に進み、各係数は統合空間/周波数モデルでモデル化されてからエントロピー符号化される。
いずれの場合でも、その後に処理ブロック2512へ進み、ビットプレーンSAがゼロ以上であるか判定することにより、当該ビットプレーンが最後のビットプレーンであるか否かを表示する。ビットプレーンSAがゼロ以上ならば、処理ブロック2509へループバックする。他方、ビットプレーンSAがゼロ以上でないときには、処理ブロック2513へ進み、ビットプレーンSBがゼロ以上であるか判定することにより、該ビットプレーンがB−パスを受けるべき最後のビットプレーンであるか判定する。ビットプレーンSBがゼロ以上ならば、処理ブロック2509に進む。しかし、ビットプレーンSBがゼロ以上でなければ、処理ブロック2514に進み、符号化データがチャネルへ転送されるかメモリに格納される。符号化データを格納または転送した後、本発明の符号化器の変換及びモデリングプロセスは終了する。
図46及び図47は、本発明の復号器の変換及びモデリングプロセスを示す。図46において、本発明の復号器の変換及びモデリングプロセスは、まず符号化データの取り込みを行なう(処理ブロック2601)。この符号化データはチャネルまたはメモリ、あるいは他の伝送システムより受け取られるであろう。符号化データを取り込んだ後に、各係数のグループフラグがA−グループに初期化される(処理ブロック2602)。この初期化に続いて、A−パス用ビットプレーンSAは最上位ビットプレーン(max)とされ(処理ブロック2603)、次にB−パス用ビットプレーンSBはその1つ下位のビットプレーン(max−1)とされる(処理ブロック2604)。そして、各係数の値が初期値のゼロに設定される(処理ブロック2605)。
各係数の値をゼロに初期化した後、ビットプレーンSAが周波数ベースモデルを用いて復号されるべきか否かを判定する(処理ブロック2606)。ビットプレーンSAを周波数ベースモデルで復号すべきであれば、処理ブロック2607へ進み、各係数は周波数ベースモデルでモデル化されたのちエントロピー復号される。ビットプレーンSAを周波数ベースモデルで復号すべきでないときには、処理ブロック2608へ進み、各係数は統合空間/周波数モデルでモデル化されてからエントロピー復号される。
各係数がモデル化された後、処理は処理ブロック2609へ進み、ビットプレーンSAが最後のビットプレーンであるか判定するために、ビットプレーンSAがゼロ以上であるか調べる。ビットプレーンSAがゼロ以上ならば、処理ブロック2606に進む。他方、ビットプレーンビットプレーンSAがゼロ以上でなければ、B−パスのビットプレーンSB がゼロ以上であるか判定することにより、ビットプレーンSBがB−パス用の最後のビットプレーンであるか否かを表示する(処理ブロック2610)。最後のビットプレーンであるならば、次の復号のために処理ブロック2606へ進む。他方、B−パス用ビットプレーンSBがゼロ以上でないならば、最も粗い分割レベルによる係数に逆(inverse)可逆フィルタがかけられる(処理ブロック2611)。次に、全てのレベルの逆フィルタ処理が済んだか判定する(処理ブロック2612)。済んでいなければ、残っている最も粗い分割レベルに関する係数に、逆可逆フィルタがかけられる(処理ブロック2613)。そして処理ブロック2612に戻って、全てのレベルの逆フィルタ処理が済んだか再度調べる。
全レベルが逆フィルタ処理済みとなったならば、処理ブロック2614に進み、復元データの格納または伝送が行なわれる。
図48及び図49は、各係数のモデリングプロセスの一実施例を示す。図示のプロセスは、周波数ベースモデリングまたはJSFモデリングのモデリングプロセスと符号化または復号を表わしている。すなわち、4つの処理ブロック(2507,2508,2607,2608)のそれぞれは、図48及び図49のモデリングプロセスを用いて実現し得る。図48において、最初のプロセスは、モデリングが1パスで行なわれるべきか否かの判定(処理ブロック2701)で始まる。モデリングが1パスでなされるべきでないときは、ビットプレーンSAがビットプレーンSBより大きいか判定する(処理ブロック2702)。大きくなければ、プロセスは処理ブロック2703へ移り、A−パスが実行されるべきでないことを表示するためフラグ(do_A_flag)がクリアされる。ビットプレーンSAがビットプレーンSBより大きいときは、処理ブロック2704に進み、フラグ(do_A_flag)はセットされ、A−パスが実行されることを表示する。
処理ブロック2703または2704の次に、処理ブロック2705に進み、ビットプレーンSBがビットプレーンSAと等しいか判定する。等しくなければ、本発明はB−パスを発生させないためにフラグ(do_B_flag)をクリアし(処理ブロック2705b)、そして処理ブロック2707に進む。ビットプレーンSBがビットプレーンSAと等しいときには、フラグdo_B_flagがセットされてB−パスが実行されることを表示し(処理ブロック2706)、処理はまた処理ブロック2707に進む。
処理ブロック2707で、A−パスフラグがセットされており、ゼロツリー(zerotree)モデリングが行なわれるべきか判定する。フラグが、A−パスが発生しゼロツリーモデリングが行なわれることを表示しているときには、“確定/未確定”(determined/undetermined)フラグが、各係数に対し“未確定”状態に初期化され(処理ブロック2708)、処理ブロック2709へ進む。他方、A−パス表示フラグもゼロツリーモデリング表示もセットされていないときには、処理ブロック2709へ直接進む。処理ブロック2709において、最初の係数が変数Cに設定される。
最初の係数が変数Cに割り当てられると、B−パス表示フラグがセットされているか判定する(処理ブロック2719)。B−パス表示フラグ(do_B_flag)がセットされているならば、本発明は係数Cに対しB−パスを実行し(処理ブロック2710)、処理ブロック2711へ進む。他方、B−パスフラグがセットされていないときには、Cに対してB−パスは実行されず、処理は処理ブロック2711へ直接進む。
次に、A−パス表示フラグ(do_A_flag)がセットされているか判定する(処理ブロック2711)。A−パス表示フラグがセットされているならば、係数Cに対してA−パスが実行される(処理ブロック2717)。その後、処理ブロック2713に進む。A−パス表示フラグがセットされていないときには、係数Cに対するA−パスを実行することなく処理ブロック2713へ進む。
処理ブロック2713において、係数Cが最終の係数であるか判定する。係数Cが最終の係数でなければ、処理ブロック2714に進み、次の係数が変数Cに割り当てられ、処理ブロック2719へ進む。しかし、係数Cが最終の係数であるならば、処理ブロック2715へ進みB−パスフラグ(do_B_flag)がセットされているか判定する。B−パスフラグがセットされているならば、ビットプレーンSB−1をビットプレーンSBに設定し(処理ブロック2716)、処理ブロック2717へ進む。B−パス表示フラグがセットされていなければ、処理ブロック2717へ進む。処理ブロック2717では、A−パスフラグがセットされているか判定する。セットされているならば、ビットプレーンSA−1をビットプレーンSAにトプレーンSAに設定し(処理ブロック2718)、プロセスは終了する。また、A−パスフラグがセットされていなければ、プロセスは直ちに終了する。
実施例によっては、ある特定のビットプレーンの係数がA−グループであるかB−グループであるかを、フラグビットを使わずに判定することができる。これは1係数あたり1ビットのメモリの節約になり、大きな画像の場合には意味があろう。フラグビットを使う代わりに、AND論理を用いて、マスクが係数と比較される。ANDの結果が0ならば、そのビットはA−グループであり、そうでなければB−グループである。これらマスクの例を8ビットプレーン分につき表7に示す(実施例説明の末尾)。なお、これらマスクは2(bitplane+1)の2の補数である(符号ビット含まず)。
A−パスとB−パスそれぞれに独自のマスクを割り当てることができるので、A−パスを必要なだけ、対応のB−パスの前に実行することができる。17ビットプレーンの場合、3個のA−パスが実行され、次に14個のA−パスとB−パスが同時に実行され、最後に2個のB−パスが実行される。普通、A−パスのデシジョンのほうがB−パスのデシジョンより効率的に符号化できるので、初めに多数のA−パスを実行すると、損失性圧縮の質を向上できる。
図50及び図51は、縮小フラグメモリ(後に詳細説明で述べる)を使用した本発明の符号化器の一実施例を示す。図50において、符号化器の変換及びモデリングプロセスは、初めに入力データを獲得する(処理ブロック2801)。入力データを獲得した後、本発明は可逆ウェーブレットフィルタをかける(処理ブロック2802)。
次に、別のレベルの分割が必要であるか判定する(処理ブロック2803)。別レベルの分割を要するならば、処理ブロック2804に進み、直前の分割により得られたLL係数に可逆ウェーブレットフィルタがかけられ、そして処理ブロック2803へ進む。このように、本発明によれば任意レベル数の分割を行なうことができる。
別レベルの分割が必要でないときには、処理ブロック2805へ進み、A−パス用ビットプレーンSAは最上位ビットプレーン(max)とされる。そして、B−パス用ビットプレーンSBはその次位のビットプレーン(max−1)とされる(処理ブロック2806)。
次に、マスクMA
Figure 2005304056
に設定され(処理ブロック2807)、マスクMB
Figure 2005304056
に設定される(処理ブロック2814)。そして、A−パス用ビットプレーンSAを周波数ベースモデルで符号化すべきか否か判定する(処理ブロック2808)。ビットプレーンSAを周波数ベースモデルで符号化すべきであれば、処理ブロック2809に進み、各係数の1ビットが周波数ベースモデルによりモデル化されてエントロピー符号化される。他方、ビットプレーンSAが周波数ベースモデルで符号化されるべきでないときには、処理ブロック2810に進み、各係数の1ビットが統合空間/周波数モデルによりモデル化されてエントロピー符号化される。
いずれの場合にも、次に処理ブロック2811に進み、ビットプレーンSAがゼロ以上であるか判定することにより、それが最後のビットプレーンであるか否かを表示する。ビットプレーンSAがゼロ以上であるならば、処理ブロック2808へループバックする。他方、ビットプレーンSAがゼロ以上でなければ、処理ブロック2812に進み、ビットプレーンSBがB−パスを施される最後のビットプレーンであるか判断するため、ビットプレーンSBがゼロ以上であるか判定する。ビットプレーンSBがゼロ以上であれば、処理ブロック2808から処理を繰り返す。しかし、ビットプレーンSBがゼロ以上でなければ、処理ブロック2813に進み、符号化データがチャネルへ転送されるかメモリに格納される。符号化データを格納または転送した後、本発明の符号化器の変換及びモデリングのプロセスは終了する。
図52及び図53は、縮小フラグメモリを使用した時の本発明の復号器の変換及びモデリングプロセスの別の実施例を示す。図52において、本発明の復号器の変換及びモデリングプロセスは、まず符号化データを取り込む(処理ブロック2901)。この符号化データは、チャネルかメモリあるいはその他の伝送システムより受け取られるであろう。
符号化データが受け取られると、A−バス用ビットプレーンSAは最上位ビットプレーン(max)とされ(処理ブロック2903)、B−パス用ビットプレーンSBはその次位のビットプレーン(max−1)とされる(処理ブロック2904)。各係数の値が初期値のゼロに設定される(処理ブロック2905)。次にマスクMB
Figure 2005304056
に設定され(処理ブロック2902)、またマスクMA
Figure 2005304056
に設定される(処理ブロック2915)。そして、ビットプレーンSAが周波数ベースモデルで復号されるべきか否かを判定する(処理ブロック2906)。ビットプレーンSAが周波数ベースモデルによって復号されるべきときには、処理ブロック2907へ進み、各係数の1ビットが周波数ベースモデルでモデル化されてエントロピー復号される。ビットプレーンSAが周波数ベースモデルで復号されるべきでないならば、処理ブロック2908へ進み、各係数の1ビットが統合空間/周波数モデルでモデル化されてエントロピー復号される。
各係数のモデル化後、処理ブロック2909へ進み、ビットプレーンSAが最終のビットプレーンであるか判断するため、ビットプレーンSAがゼロ以上であるか判定する。ビットプレーンSAがゼロ以上ならば、処理ブロック2902へ進む。他方、ビットプレーンSAがゼロ以上でないと、B−パスのビットプレーンSBがゼロ以上であるか判定し(処理ブロック2910)、それによりビットプレーンSBが最後のB−パス用ビットプレーンであることを表示する。ビットプレーンSBがゼロ以上ならば、次の復号のため処理ブロック2902へ進む。他方、ビットプレーンSBがゼロ以上でないときには、最も粗い分割レベルによる係数に対して逆可逆フィルタがかけられる(処理ブロック2911)。次に、全レベルが逆フィルタ処理されたか判定する(処理ブロック2912)。違うときには、残っている最も粗い分割レベルに関する係数に対して逆可逆フィルタがかけられる(処理ブロック2913)。そして処理ブロック2912へ戻り、全レベルの逆フィルタ処理が済んだか判定する。
全レベルの逆フィルタ処理が済んだならば、処理ブロック2914に進み、復元データの格納または伝送が行なわれる。
図54及び図55は、各係数のモデリングプロセスの一実施例を示す。なお、図48及び図49と同様、図54及び図55のプロセスは図50及び図51並びに図52及び図53のモデリングステップの実現のために用い得るものである。図54において、最初のプロセスはまず、A−パスが必要で、かつ、SAがゼロ以上であるかを判定する(処理ブロック3001)。その通りであるならば、A−パスが実行されるべきであることを表示するフラグ(do_A_flag)がセットされ(処理ブロック3004)、処理ブロック3002へ進む。そうでないときには、フラグdo_A_flagはクリアされる(処理ブロック3003)。
ビットプレーンSAがビットプレーンSBより大きいときには、処理ブロック3004に進み、A−パスが実行されることを表示するためのフラグがセットされる。ビットプレーンSAがビットプレーンSBより大きくないときには、処理ブロック3003へ進み、A−パスが生じることを表示するためのフラグはクリアされる。
処理ブロック3003または3004に続いて、処理ブロック3002に進み、ビットプレーンSBがゼロ以上で、かつ、B−パスが必要であるかを判定する。両ビットプレーンが等しくなければ、本発明はフラグ(do_B_flag)をクリアしてB−パスを発生させないようにし(処理ブロック3005)、処理ブロック3007へ進む。ビットプレーンSBがビットプレーンSAと等しいときには、B−パスが実行されるべきことを表示するためフラグ(do_B_flag)がセットされ(処理ブロック3006)、処理ブロック3007へ進む。
処理ブロック3007において、A−パスフラグがセットされており、かつゼロツリーモデリングが行なわれるべきか判定する。フラグがA−パスが生じるべきで、かつゼロツリーモデリングが実行されるべきであることを表示しているときには、子を有する各係数に対して“確定/未確定”フラグが“未確定”状態に初期化され(処理ブロック3008)、処理は処理ブロック3009へ進む。他方、A−パス表示フラグもゼロツリーモデリング表示もセットされていないときには、処理ブロック3009へ直接進む。処理ブロック3009において、最初の係数が変数Cに設定される。
最初の係数が変数Cに割り付けられたならばB−パス表示フラグがセットされているか判定する(処理ブロック3019)。B−パス表示フラグ(do_B_flag)がセットされているならば、本発明は係数Cに対してB−パスを実行し(処理ブロック3010)、処理ブロック3011へ進む。他方、B−パスフラグがセットされていないときには、B−パスはCに対し実行されず、処理ブロック3011へ直接進む。
次にA−パス表示フラグがセットされているか判定する(処理ブロック3011)。A−パス表示フラグがセットされているならば、A−パスが係数Cに対して実行される(処理ブロック3012)。そして、処理ブロック3013へ進む。A−パス表示フラグがセットされていないときには、係数Cに対しA−パスを実行することなく、処理ブロック3013へ進む。
処理ブロック3013において、係数Cが最終の係数であるか判定する。係数Cが最終の係数でなければ、処理ブロック3014へ進み、次の係数が変数Cに割り付けられ、処理ブロック3019へ進む。しかし、係数Cが最終の係数であるならば、処理ブロック3015へ進み、B−パスフラグ(do_B_flag)がセットされているか判定する。B−パスフラグがセットされているならば、ビットプレーンSB−1がビットプレーンSBとされ(処理ブロック3016)、処理ブロック3017へ進む。B−パス表示フラグがセットされていないときには、処理ブロック3017へ進む。処理ブロック3017では、A−パスフラグがセットされているか判定する。セットされているならば、ビットプレーンSA−1がビットプレーンSAとされ(処理ブロック3018)、処理は終了する。また、A−パスフラグがセットされていなければ、処理が直ちに終了する。
<係数ツリー>
ピラミッドシステムでは、ツリー構造を用いて係数を複数の組みにグループ分けできる。各ツリーのルートは純粋に1つの低域通過係数である。図14は、変換画像の純粋に1つの低域通過係数に関するツリー構造を示す。画像のような二次元信号の場合、ツリーのルートは3個の“子”を持ち、ノード以外のノードはそれぞれ4個の子を持つ。ツリー階層構造は二次元信号に限定されない。例えば、一次元信号の場合、ルートは1個の子を持ち、ルート以外のノードはそれぞれ2個の子を持つ。一次元及び二次元のケースから、より多次元のケースが分かる。
ツリー構造は、図9乃至図11に示したフィルタの動作からも明らかである。フィルタのペア群の作用とサブサンプリングにより、前述の係数は関係付けられる。
本発明においては、係数が符号−絶対値形式にされた後、コンテキストモデルが複数の符号化法のどれを、係数をさらに符号化するために用いるべきか判断する。ゼロツリー符号化(zerotree coding)のような周波数ベース符号化方式は、一定のサブバンド分割に関連した特定の閾値に対する有意データを効率的に符号化する。関連したサブバンド分割の孤立した単一の係数の有意(singificance)または無意(insignificance)を表現するシンボルを用いることに加え、全部の子が無意である(全部の子が一定の閾値以下の絶対値を持つ)無意の親のエントリーは一つにまとめられ、一緒に符号化される。これらのツリーはゼロツリー(zerotree)と呼ばれることがある。これらの無意なツリーは、ゼロツリールート(zerotree root)と呼ばれることのある一つの専用シンボルで符号化される。しかしながら、有意な子孫が存在するならば、無意な係数のエントリーは“孤立ゼロ”(isolated zero)用シンボルを用いて符号化される。かくして、1つのツリーは、係数の符号(sign)が未だ符号化されていないデシジョンについて、4つのシンボル(積極的有意、消極的有意、孤立ゼロまたはゼロツリールート)を用いて符号化される。
周波数ベース符号化は、圧縮システムで特に有用である。というのは、無意なツリーの一括符号化が、少数の親係数により多数の子孫係数の無意を予測可能にするからである。ツリー中の子孫係数に関連したエントリーはルートから予測できるので、それらの無意を符号化するために余分なシンボルは必要とされない。ツリー全体の無意は非常に低コストで符号化される。よって、上位のビットプレーンは、殆ど、その多くがゼロツリールートでも孤立ゼロでもない(すなわち符号化される必要のない無意なツリーの子である)無意な係数からできている。
Shapiroは、Zerotreeと呼ばれる周波数ベースモデルを米国特許第5,321,776号で開示している。Shapiroの方法では、主リストと副リストという2つのリストを用いて係数全部を記憶する。シグニフィカンス(significance)レベル毎に、主パスと副パスという2つのパスが作られる。一実施例では、本発明の周波数ベースモデルはZerotreeである。
別の実施例においては、Zerotree(Shapiroによって述べられた)に類似した周波数ベースモデルが用いられる。複数のリストを使うのではなく、リストが1つだけ用いられ、そのリストの各エレメントは2グループの中の一方のメンバーである旨マークされる。係数をA−グループとB−グループに分類することは、Shapiroが主リストと副リストを用いて行なった分類に相当する。Shapiroの複数リストを使う方法は、副リスト中の係数の順序付けのフレキシブリティを大きくできるが、ソフト/ハードの複雑さが増加するという犠牲を伴う。本実施例の単一リスト・ゼロツリー(Single List Zerotree)法は、A−パスとB−パスという2つのパスを使う。これら2つのパスはそれぞれ、Shapiroの主パスと副パスに相当する。この単一リスト・ゼロツリーモデルについて、以下に述べる。
本発明の符号化システムは符号−絶対値形式の係数の1つのリストをメモリ内に作る。このリストの各エレメントは、該エレメントが“AグループまたはB−グループ”のいずれのメンバーであるかを表示する1ビットのラベルを持っている。あるステージの初めで、有意であると判明していない係数はA−グループに属するとしてラベル付けされる。前のより大きな閾値に対して有意であると前に判明している係数は、B−グループであるとラベル付けされる。リストは、係数を符号化の処理がなされる順に格納する。文字通り最初のステージの開始時点では、どの係数も有意であるとは確定していないので、全ての係数がA−グループのメンバーとしてラベル付けされている。係数が有意または無意であると判定された時に、それら係数のエントリーが元のA−グループ表示からB−グループ表示へ変更される。このリストは閾値を次第に細かくして順次更新される。すなわち、リストのマルチパスが生じる。
一実施例では、B−グループに対応する2元イベントは0次マルコフコンテキストモデルの下でバイナリ算術符号化される。A−グループの係数に対応する4元イベントも、0次マルコフコンテキストモデルの下で符号化される。
子がその親より先にモデル化されることがないよう、本発明のリスト内の係数の順序はツリー構造を保存する。したがって、ツリー構造を保存する、ある順序付けが決まり、それが一貫して使われる。一実施例では、係数は最初に使用された記憶ロケーションより順番にメモリに格納される。別の実施例では、連結リスト(linked list)が用いられるかもしれない。
一実施例では、係数はビット・シグニフィカンスもしくはビットプレーン埋め込み方式で符号化される。係数は最上位のビットプレーンから最下位のビットプレーンへと符号化されるので、データのビットプレーン数を確定しなければならない。本発明では、係数値の絶対値の上限を、データから計算するか、画像の濃さ(depth)とフィルタ係数より得ることによって、ビットプレーン数の確定がなされる。一例を挙げれば、上限が149のときは、8ビットのシグニフィカンスもしくは8つのビットプレーンがある。
図15及び図16は本発明の単一リスト・ゼロツリー符号化プロセスを示す。一実施例では、図15及び図16に示すプロセスは図48及び図49に示すモデリングプロセスで用いられる。図15において、プロセスは初めに係数Cのグループフラグが“A−グループ”に設定されているか調べる(処理ブロック3221)。“A−グループ”に設定されていないときは、プロセスは終わる。他方、係数Cのグループフラグが“A−グループ”に設定されているときは、処理ブロック3222に進み、C係数の“確定/未確定”フラグが“未確定”に設定されているか判定する。係数Cの“確定/未確定”フラグが“未確定”に設定されていなければ、プロセスは終了する。しかし、係数Cの“確定/未確定”フラグが“未確定”に設定されているならば、処理ブロック3203に進み、係数CのビットSAが1であるか判定する。
係数CのビットSAが1でなければ、処理ブロック3207(図16)へ進む。他方、係数CのビットSAが1のときには、処理ブロック3204へ進み、係数Cの符号(sign)が正であるか判定する。係数Cの符号が正でないならば、デシジョンは“A−グループ”コンテキストの“消極的有意”として符号化され(処理ブロック3205)、処理ブロック3229へ進む。係数Cの符号が正であるならば、デシジョンは“A−グループ”コンテキストの“積極的有意”として符号化され(処理ブロック3206)、処理ブロック3229へ進む。処理ブロック3229ではCのグループフラグは“B−グループ”に設定される。
処理ブロック3207で、係数Cの全ての子孫(子)についてビットSAが0であるか判定する。ビットSAが0でないときには、テシジョンは“A−グループ”コンテキストの“有意な子のある無意”(01)として符号化され(処理ブロック3208)、プロセスは終了する。他方、係数Cの全部の子孫(子)についてビットSAが0であるときには、“A−グループ”コンテキストの“ゼロルート”(00)として符号化される(処理ブロック3209)。それから、係数Cの子孫全部に対する“確定/未確定”フラグが“確定”に設定され(処理ブロック3221)、処理は終了する。
別の実施例では、プロセスの終了判定は、所望の圧縮率に達したか否かでなされる。
一実施例では、B−パスから得られる2元イベントは、0次マルコフ情報源コンテキストモデルの下でエントロピー符号化される。A−パスより得られる2ビットのアルファベット(サイズは4)も、0次マルコフ情報源コンテキストモデル下で、4元(サイズ4のアルファベット)算術符号化器により符号化される。
図17及び図18は、縮小フラグメモリを使う本発明の単一リストゼロツリー符号化プロセスの別の実施例を示す。一実施例では、図17及び図18のプロセスが図54及び図55のプロセスにおけるA−パスとして使用される。図17において、プロセスは初めに係数CとマスクMAとを論理積した結果が0であるか判定する(処理ブロック3201)。0でなければ、プロセスは終了する。他方、係数CをマスクMAと論理積した結果が0ならば、処理ブロック3202に進み、係数Cの親の“確定/未確定”フラグが“未確定”に設定されているか判定する。係数Cの親の“確定/未確定”フラグが“未確定”に設定されていないときは、プロセスは終了する。しかし、係数Cの親の“確定/未確定”フラグが“未確定”に設定されているときには、処理ブロック3203に進み、係数CのビットSAが1であるか判定する。
係数CのビットSAが1でなければ、処理ブロック3207へ進む。他方、係数CのビットSAが1であるならば、処理ブロック3204に進み、係数Cの符号(sign)が正であるか判定する。係数Cの符号が正でなければ、デシジョンは“A−グループ”コンテキストの“消極的有意”で符号化され(処理ブロック3205)、プロセスは終了する。係数Cの符号が正であるならば、デシジョンは“A−グループ”コンテキストの“積極的有意”として符号化され(処理ブロック3206)、プロセスは終了する。一実施例では、4元符号化器が用いられ、4元デシジョンが1つのコンテキストで符号化される。別の実施例では、バイナリ符号化器が使用され、3つのコンテキストが用いられる(例えば、この3つのコンテキストは、デシジョンの第1ビット、第1ビットが0のときの第2ビット、及び第1ビットが1のときの第2ビット、である)。
処理ブロック3207では、係数Cの子孫(子)全てにつきビットSAが0であるか判定する。ビットSAが0でなければ、デシジョンは“A−グループ”コンテキストの“有意の子がある無意”,“孤立ゼロ”(01)として符号化され(処理ブロック3208)、プロセスは終了する。他方、係数Cの子孫(子)全てにつきビットSAが0であるならば、デシジョンは“A−グループ”コンテキストの“ゼロツリー・ルート”(00)として符号化される(処理ブロック3209)。そして、係数Cの“確定/未確定”フラグが“確定”に設定される(処理ブロック3210)。続いて、係数の子孫(同様に子孫を持つ)の全部に対する“確定/未確定”フラグが“確定”に設定され(処理ブロック3211)、プロセスは終わる。
<復号ステップ>
本発明においては、復号は符号化と密接行進的に行なわれる。
図19はゼロツリー水平符号化(zerotree horizon coding)プロセスのためのA−パスプロセスの一実施例を示し、これは図48及び図49のプロセスと共に用い得る。図19において、プロセスは初めに係数Cのグループフラグが“A−グループ”に設定されているか判定する(処理ブロック3521)。“A−グループ”に設定されていなければ、プロセスは終了する。しかし“A−グループ”に設定されているならば、処理ブロック3528に進み、係数Cの“確定/未確定”フラグが“未確定”に設定されているか判定する。“未確定”に設定されていなければ、プロセスは終了する。“未確定”に設定されているならば、処理ブロック3502に進み、3元デシジョンはA−グループコンテキストで復号される。
次に、デシジョンが“積極的有意”であるか判定する(処理ブロック3503)。デシジョンが“積極的有意”であるならば、係数の符号が正に設定され(処理ブロック3505)、係数の絶対値が
Figure 2005304056
に設定され(処理ブロック3507)、係数Cのグループフラグが“B−グループ”に設定され(処理ブロック3541)、処理は終了する。
デシジョンが“積極的有意”でないときは(処理ブロック3503)、デシジョンが“消極的有意”であるか判定する(処理ブロック3504)。デシジョンが“消極的有意”でないときには、処理ブロック3510に進み、デシジョンが“ゼロツリー・ルート”であるか判定する。デシジョンが“ゼロツリー・ルート”でなければ、プロセスは終わる。デシジョンが“ゼロツリー・ルート”ならば、係数Cの子孫全部の“確定/未確定”フラグが“未確定”に設定され(処理ブロック3531)、プロセスは終了する。
しかし、処理ブロック3504の判定でデシジョンが“消極的有意”と判断されたときには、係数Cの符号が負に設定され(処理ブロック3506)、係数Cの絶対値が
Figure 2005304056
に設定され(処理ブロック3507)、係数CのグループフラグがB−グループに設定され(処理ブロック3541)、プロセスは終了する。
図20は縮小フラグメモリを用いるゼロツリー水平復号プロセスのためのA−パスプロセスの他の実施例を示し、これは図54及び図55に述べたプロセスにおいて用いることができる。図20において、プロセスは初めに係数CとマスクMAの論理積結果が0であるか判定する(処理ブロック3501)。0でなければ、プロセスは終了する。しかし、係数CとマスクMAを論理積した結果が0ならば、処理ブロック3508へ進み、係数の“確定/未確定”フラグが“未確定”であるか判定する。“未確定”でなければ、処理は終了する。“未確定”であれば、処理ブロック3502に進み、3元デシジョンはA−グループコンテキストで復号される。
次に、デシジョンが“積極的有意”であるか判定する(処理ブロック3503)。デシジョンが“積極的有意”であるならば、係数の符号が正に設定され(処理ブロック3505)、係数の絶対値が
Figure 2005304056
に設定され(処理ブロック3507)、プロセスは終了する。
デシジョンが“積極的有意”でなければ、それが“消極的有意”であるか判定する(処理ブロック3504)。“消極的有意”でなければ、処理ブロック3509に進み、デシジョンが“ゼロツリー・ルート”であるか判定する。デシジョンがゼロツリー・ルートでなければ、プロセスは終了する。デシジョンがゼロツリー・ルートであるならば、係数Cの“確定/未確定”フラグが“確定”に設定され(処理ブロック3510)、係数Cの全子孫(これも同様に子孫を持つ)に対する“確定/未確定”フラグが“確定”に設定され(処理ブロック3511)、プロセスは終了する。
しかしながら、処理ブロック3504のテストでデシジョンが“消極的有意”であると判定したときには、係数Cの符号は負に設定され(処理ブロック3506)、係数Cの絶対値は
Figure 2005304056
に設定され(処理ブロック3507)、プロセスは終了する。
Shapiroは4元デシジョンを使ってツリーを記述する方法を選択したが、その代案が存在する。ツリーのルートを符号化する時にツリー全体の特性をより詳細に記述するため、拡大したアルファベットを使用してもよい。一実施例では、以下の6元デシジョンの集合が用いられる。
・無意の子を持つ無意(ゼロツリー・ルート)
・少なくとも1つの有意な子を持つ無意
・有意、積極的かつ全てのが非消極的(non-negative)
・有意、積極的かつ少なくとも1つの子が消極的
・有意、消極的かつ全ての子が非積極的(non-positive)
・有意、消極的かつ少なくとも1つの子が積極的
この実施例では、ツリー全体について、無意に加え符号(sign)情報も予測される。別の実施例では、他の符号(sign)制限またた絶対値制限のあるツリーが予測可能である。択一的予測器が、テクスチャあるいはマルチ解像度のフィーチャを表現する場合に特に有効かもしれない。アルファベットの拡大とともに、高次のマルコフコンテキスト(後述)を使用するのが有効かもしれない。
<マルチパスリストベース(Multipass List Based)統合空間/周波数埋め込みモデリング>
本発明において、本明細書に開示された水平順序(horizon order)モデリングのような周波数埋め込み符号化(frequency embedded coding)は、A−グループの係数に対応する3元イベントを符号化する。水平符号化では、符号化ステップに先行する初期化は全て、周波数ベースのシステムと同一である。一実施例では、バイナリエントロピー符号化は、“A−グループ 絶対値”、“A−グループ 符号(sign)”、及び“B−グループ”という3つのコンテキストで行なわれる。
図21は本発明の単一リスト水平符号化プロセスのためのA−パスの一実施例のフローチャートである。このプロセスは図48及び図49のプロセスで使用し得る。図21において、このA−パスプロセスは初めに係数Cのグループフラグが“A−グループ”であるか判定する(処理ブロック3111)。“A−グループ”でなければ、プロセスは終了する。係数Cのグループフラグが“A−グループ”に設定されているときは、処理ブロック3102に進み係数CのビットSAが1であるか判定する。係数CのビットSAが1でなければ、デシジョンは“A−グループ”コンテキストの無意(0)として符号化され(処理ブロック3103)、プロセスは終了する。係数CのビットSAが1ならば、処理ブロック3104へ進み係数Cの符号(sign)が正であるか判定する。係数Cの符号が正ならば、デシジョンは“A−グループ”コンテキストの“積極的有意”(10)として符号化され(処理ブロック3106)、処理ブロック3117へ進む。他方、係数Cの符号が正でなければ、デシジョンは“A−グループ”コンテキストの“消極的有意”(11)として符号化され(処理ブロック3105)、処理ブロック3117へ進む。処理ブロック3117で、係数Cのグループフラグが“B−グループ”に設定される。
図22は、縮小フラグメモリを使用する本発明の単一リスト水平符号化プロセスのためのA−パスの他の実施例のフローチャートである。このプロセスは図54及び図55のプロセスで用い得る。図22において、このA−パスプロセスは初めに係数CをマスクMAと論理積した結果が0であるか判定する(処理ブロック3101)。0でなければ、プロセスは終了する。係数CのマスクMAの論理積結果が0であるときは、処理ブロック3102に進み係数CのSAが1であるか判定する。係数CのSAが1でなければ、デシジョンは“A−グループ”コンテキストの無意(0)として符号化され(処理ブロック3108)、プロセスは終了する。係数CのSAが1であるならば、処理ブロック3104へ進み係数Cの符号(sign)が正であるか判定する。係数Cの符号が正であるならば、デシジョンは“A−グループ”コンテキストの“積極的有意”(10)として符号化され、プロセスは終了する。他方、係数Cの符号が正でなければ、デシジョンは“A−グループ”コンテキストの“消極的有意”(11)として符号化され(処理ブロック3105)、プロセスは終了する。
<復号ステップ>
図23は本発明の単一リスト水平復号プロセスのためのA−パスプロセスの一実施例を示し、図48及び図49のプロセスに利用し得る。図23において、このプロセスは初めに係数Cのグループフラグが“A−グループ”に設定されているか判定する(処理ブロック3411)。“A−グループ”に設定されていなければ、プロセスは終了する。しかし、係数Cのグループフラグが“A−グループ”に設定されているならば、処理ブロック3402に進み3元デシジョンはA−グループコンテキストで復号される。
次に、デシジョンが“積極的有意”であるか判定する(処理ブロック3403)。デシジョンが“積極的有意”であるならば、係数Cの符号(sign)が正に設定され(処理ブロック3405)、係数の絶対値が
Figure 2005304056
に設定され(処理ブロック3407)、係数Cのグループフラグが”B−グループ”に設定され(処理ブロック3418)、プロセスは終了する。
デシジョンが“積極的有意”でなければ、デジジョンが“消極的有意”であるか判定する(処理ブロック3404)。デジションが“消極的有意”でなければ、プロセスは終了する。しかし、デシジョンが“消極的有意”であるならば、係数Cの符号が負に設定され(処理ブロック3406)、係数Cの絶対値が
Figure 2005304056
に設定され(処理ブロック3407)、係数Cのグループフラグが“B−グループ”に設定され(処理ブロック3418)、プロセスは終了する。
図24は縮小フラグメモリを使用する単一リスト水平復号プロセスのためのA−パスプロセスの他の実施例を示し、これは図54及び図55のプロセスにおいて用い得る。図24において、プロセスは初めに係数CとマスクMAの論理積結果が0であるか判定する(処理ブロック3401)。0でなければ、プロセスは終了する。しかし、係数CとマスクMAの論理積結果が0ならば、処理ブロック3402に進み3元デシジョンはA−グループコンテキストで復号される。
次にデシジョンが“積極的有意”であるか判定する(処理ブロック3403)。デシジョンが“積極的有意”ならば、係数Cの符号(sign)が正に設定され(処理ブロック3405)、係数の絶対値が
Figure 2005304056
に設定され(処理ブロック3407)、プロセスは終了する。
デシジョンが“積極的有意”でなければ、デシジョンが“消極的有意”であるか判定する(処理ブロック3404)。デジジョンが“消極的有意”でなければプロセスは終了する。しかし、デシジョンが“消極的有意”であるならば、係数Cの符号(sign)が負に設定され(処理ブロック3406)、係数Cの絶対値が
Figure 2005304056
に設定され(処理ブロック3407)、プロセスは終わる。
<ゼロツリー符号化/復号及び水平符号化/復号のためのB−パス>
一実施例においては、本発明のゼロツリー符号化/復号と水平符号化/復号のためのB−パスプロセスは同一である。符号化プロセスと復号プロセスのためのB−パスアルゴリズムの実施例が図25及び図26と図27及び図28にそれぞれ示されている。
図25はゼロツリー符号化及び単一リスト水平符号化のプロセスのために部分的に用いられるB−パスプロセスの一実施例を示し、図48及び図49のプロセスに利用し得る。図25において、プロセスは最初に係数Cのグループフラグが“B−グループ”に設定されているか判定する(処理ブロック3311)。“B−グループ”に設定されていなければ、プロセスは終了する。他方、グループフラグが“B−グループ”に設定されているならば、処理ブロック3302に進み係数CのビットSBが“1”であるか判定する。係数CのビットSBが“1”でなければ、デシジョンは“B−グループ”コンテキストの“0”として符号化され(処理ブロック3303)、プロセスは終了する。係数CのビットSBが“1”であるならば、デシジョンは“B−グループ”コンテキストの“1”として符号化され(処理ブロック3304)、プロセスは終了する。
図26はゼロツリー符号化及び単一リスト水平符号化のプロセスに部分的に用いられる、縮小フラグメモリを使うB−パスプロセスの他の実施例を示し、図54及び図55のプロセスに使用し得る。図26において、プロセスは最初にマスクMBと係数Cの論理積結果が0でないか判定する(処理ブロック3301)。0であるならば、プロセスは終了する。他方、マスクMBと係数Cの論理積結果が0でなければ、処理ブロック3302に進み係数CのビットSBが“1”であるか判定する。係数CのビットSBが“1”でなければ、デシジョンは“B−グループ”コンテキストの“0”として符号化され(処理ブロック3303)、プロセスは終了する。係数CのビットSBが“1”であるならば、デシジョンは“B−グループ”コンテキストの“1”として符号化され(処理ブロック3304)、プロセスは終了する。
図27は本発明のB−パス復号の一実施例を示し、図48及び図49のプロセスに利用し得る。図27において、最初に係数Cのグループフラグが“B−グループ”に設定されているか判定する(処理ブロック3611)。そのように設定されていなければ、プロセスは終了する。しかし、係数Cのグループフラグが“B−グループ”に設定されているならば、デシジョンは“B−グループ”コンテキストで復号される(処理ブロック3602)。次に、デシジョンが“1”であるか判定する(処理ブロック3603)。デシジョンが“1”でなければプロセスは終了する。デシジョンが“1”ならば、係数CのビットSBがセットされ(処理ブロック3604)、プロセスは終了する。
図28は縮小フラグメモリを使用する本発明のB−パス復号の他の実施例を示し、図54及び図55のプロセスにおいて使用できる。図28において、最初に係数CとマスクMBとの論理積の結果が非0か判定する(処理ブロック3601)。係数CとマスクMBとの論理積の結果が0ならば、プロセスは終了する。しかし、係数CをマスクMBと論理積した結果が非0ならば、デシジョンは“B−グループ”コンテキストで復号される(処理ブロック3602)。そして、デシジョンが“1”であるか判定する(処理ブロック3603)。デジションが“1”でなければ、プロセスは終了する。デシジョンが“1”であれば、係数CのビットSBがセットされ(処理ブロック3604)、プロセスは終了する。
本発明は、ゼロツリー順序号化と水平順序符号化の組合せを用いて、可逆ウェーブレットにより生成された係数のビット・シグニフィカンス符号化を行なう。なお、A−グループとB−グループの両方並びに“A”パスと“B”パスに対応する3元と2元のイベントを使うことは、ゼロツリー順序付けの利用から水平順序付けの利用への切り替えが任意のAパスの終わりでなされるという点で、非常に重要である。これは、下位ビットでのゼロツリー順序付けに伴う予測の非効率を補う。したがって、本発明においては、システムは初めに上位ビットデータをゼロツリー符号化し、リストのある回数のパスの後に、つまり、いくつかのビットプレーンが符号化された後に、本発明の符号化器は水平符号化によって残りのデータを符号化するように切り替わる。そのパスの回数は、統計的に選んでもよいし、あるいは、ゼロツリー順序付け符号化ブロックの性能をモニタして適応的に選んでもよい。
<コンテキストモデルの代案>
一実施例では、5個のバイナリコンテキストビン(bin)が用いられる。これは、1024個より若干多いコンテキストを用いるJBIGのような他のシステムに比べると少ない。もっと多くのコンテキストを用いれば、圧縮率は向上するであろう。デシジョンは、空間的位置、レベル、及び/またはビット位置により条件付けられてもよい。デシジョンは、現在データと空間的位置、レベル及び/またはビット位置が接近した、前に符号化されたデータにより条件付けられてもよい。一般的に、前述の0次マルコフコンテキストは、より高次のマルコフコンテキストによって置き換えてもよい。
いくつか例を挙げるならば、次のとおりである。各仮数(いくつかの実施例におけるB−グループデータ)の最上位の(したがって最も容易に予測される)ビットは、その他のビットとは異なったコンテキストを用いてもよい。有意/非有意のデシジョンは、同一変換レベルの空間的に接近した前の係数に対して下された同様のデシジョンにより条件付けされてもよい。同様に、有意な係数の符号ビットは、同一レベルの空間的に接近した前の係数の符号ビット、あるいは親の係数の符号ビットにより条件付けられてもよい。
コンテキストモデルの改良は、空間的構造またはマルチ解像度構造を有する画像を圧縮する場合に特に重要である。線図形またはテキストの濃淡画像は、そのような種類の構造の両方を持つ画像の一例である。コンテキストモデルの改良は、ある指定されたピーク誤差で圧縮及び伸長されなければならないファイルの圧縮にも重要である。
<他の実施例>
本発明は、ハードウエア及び/またはソフトウエアで実現し得る。ハードウエアにより本発明を実施するには、ウェーブレットフィルタ、同フィルタにデータを供給するためのメモリ/データフロー管理機能、本発明の埋め込み符号化を制御するためのコンテキストモデル、同コンテキストモデルにデータを提供するためのメモリ/データフロー管理機能、及びバイナリエントロピー符号化器を実現する必要がある。
<ウェーブレットフィルタ>
本発明のフォワード・ウェーブレットフィルタの一実施例が図29に示されている。図29に示したウェーブレットフィルタは、x(2)〜x(5)として示した16ビットの2の補数の入力画素を4個取り込む。
図29において、2タップ“11”低域通過フィルタは1個の16ビット加算器1001を用いる。その出力はそれぞれSとDと呼ばれる。この加算器の出力(S)は、1ビットシフトブロック1003により16ビットに丸められる。この1ビットシフトブロック1003は、17ビット入力を1ビット右シフトすることにより2で割る働きをする。
6タップ“-1 -1 8 -8 1 1”高域通過フィルタは、−S0+4D1+S2という計算を必要とする。S2−S0の計算は、1ビットシフトブロック1003の出力及びY0(0)を受け取る16ビット減算器1005により求められる。4D1項は、減算器1002と2ビットシフトブロック1004を用いて計算される。16ビット減算器1002の出力は、2ビット左シフトされることにより4倍される。2ビットシフトブロック1004の4D1出力と減算器1005の出力の加算が20ビット加算器1006により行なわれる。この最後の加算器の出力は、2ビットシフトブロック1007によって18ビットに丸められる。この2ビットシフトブロック1007は、その20ビット入力を2ビット右シフトすることにより、4で割る働きをする。
このように、必要とされる演算ハードウエア全体(中間結果を格納するためのレジスタは数にいれない)は、
・16ビット加算器 1個
・16ビット減算器 2個
・19ビット加算器 1個
である。なお、シフトは配線により行なわれるので論理は不要である。
他の実施例では、Nビットサイズの入力の場合、1個のNビット加算器、2個のNビット減算器及び1個の(N+3)ビット加算器が使われることになろう。
これらの加算器/減算器はハードウエアコストが非常に低いので、希望するならばフィルタの並列構成も利用できる。
あるいは、x(3)とx(2)の減算の代わりに、x(4)−x(5)を計算し、これを次のシフトまたはフィルタ処理のためのx(2)−x(3)として必要になるまでセーブしてもよい。このフォワードフィルタ(及び下に述べる逆フィルタ)のいずれも、より高いスループットを得るためパイプライン化してもよい。
逆ウェーフレットフィルタが図30に示されている。Y0(0),Y0(2)入力は減算器1101により減算される。この減算の結果は2ビットシフトブロック1102で右に2ビットシフトされる。これは事実上、減算器1101の出力を4で割算することである。この2ビットシフトブロック1102の出力と入力Y1(0)との間で減算が行なわれる。入力Y0(1)は、1ビットシフトブロック1103により左に1ビットシフトされることにより、2倍される。Y0(1)が1ビットシフト(2倍)された後、そのシフト後の値のLSBは減算器1104の出力から得られたLSBであり、1ビットシフトブロック1103の16ビット出力と結合されて加算器1105と減算器1106の入力となる。加算器1105及び減算器1106のもう一方の入力は、減算器1104の出力である。加算器1105及び減算器1106の出力はその後、クリッピッングを施される。
2つのクリップ操作の1つを選んで使用できる。いずれの場合でも、20ビットの値が1ビットシフトされ(2で割られ)、19ビット値とされる。非損失性圧縮だけを実行するシステムの場合、下位16ビットを出力してよい(残り3ビットは無視してよい)。損失性システム(または損失性/非損失性システム)では、19ビット値は、負ならば0に設定され、216−1を超えるときには216−1に設定され、それ以外ならば下位16ビットを出力してよい。
Nビットサイズの入力の場合、1個のNビット減算器、1個の(N+2)ビット減算器、1個の(N+3)ビット加算器及び1個の(N+3)ビット減算器が使われることになろう。そして、クリップユニットはNビットを出力する。
<メモリの使い方>
本発明のウェーブレットフィルタのためのメモリ及びデータフロー管理に関しては、1枚のフルフレームがメモリにぴったり入る画像の場合、メモリ/データフロー管理は難しい問題ではない。1024×1024×16ビットの医用画像(すなわちサイズが2Mバイト)の場合でさえも、1つのフルフレームバッファを要求することは多くの用途にとって合理的である。より大きい画像(例えば、A4,400DPI,4色の画像は約50Mバイトの大きさである)については、限られた量のラインバッファメモリを用いてウェーブレット変換を行なうのが望ましい。
なお、本発明が1パスシステムを実現するのにフルフレームバッファは必要でない。このため、必要とされるメモリは100分のいくつかになる(大きな画像のためのフルフレームバッファを使用する場合に比べ)。本発明の1パスシステムは後述する。
フィルタメモリに格納されるデータは、埋め込み符号化及びバイナリエントロピー符号化される係数の系列である。埋め込み符号化は、周波数ベース符号化または水平符号化の利用を調整し、かつデータを適当な順序で供給するため、あるコンテキストモデルを用いる。このコンテキストモデルは、メモリ管理手順と連関して動作する。フルフレームメモリを持つシステムでは、データを適当な順序で供給することは難しくない。フルフレームバッファを持たないシステムの場合、本発明の1パスの実施例の変換データ管理手順(後述)は、コンテキストモデルが1つのツリー分の係数だけバッファすればよいように係数をコンテキストモデルに供給する。1パスの周波数ベースコンテキストモデル及び1パスの統合空間/周波数コンテキストモデルは、一度に1つのツリーを処理する。
本発明の埋め込み操作の結果は、本発明の周波数ベースモデリング機構及び本発明の統合空間/周波数モデリング機構よりビットストリームを生成させる。これらのビットストリームは、次にバイナリエントロピー符号化器により符号化される。
フルフレームバッファを持つシステムでは、どのようなバイナリエントロピー符号化器(あるいは他の適当な符号化器)を用いてもよい。フルフレームバッファを持たないシステムでは、複数の独立した符号化器を使用するか、あるいは1つの符号化器が複数の独立した符号化器をシミュレートできるか、のいずれかでなければならない。また、独立した複数の符号化器の出力を管理するためにメモリまたはチャネルの管理が必要となる。本発明の利点は、管理されるべきデータが優先順位付けされる(埋め込まれる)ことである。圧縮中または伝送中に十分なスペースまたは帯域幅を利用できないときには、重要度の低いデータを直ちに廃棄することができるため、合理的な損失性圧縮が可能である。
<本発明の1パスシステム>
本発明は、システムの入力データを、それを受け取った時に完全に処理できる1パス変換を提供する。このようなシステムでは、データの処理が後続データに依存しない。画像を圧縮するために必要とされるメモリが、画像の長さに依存しない。本発明は、かかる依存性の排除により、データ全部の処理が完了する前に圧縮データを出力可能なシステムを提供する。
<A.1パス変換のためのデータ管理>
図31は本発明の教えるところに従って帯状にラスタ順に圧縮中の画像の一部を示す。4レベルの分割を想定する。各ツリーは24×24=16×16=256個の係数を有する。しかし、本発明におけるウェーブレット変換の高域通過フィルタはオーバーラップしているので、各ツリーは256個より多数の入力画素に依存する。2タップ“11”低域通過フィルタ(L)は全くオーバーラップを生じず、オーバーラップは全て6タップ“-1 -1 8 -8 1 1”高域通過フィルタ(H)に起因する。低域通過フィルタを3回、続いて高域通過フィルタを1回、直列的にかける場合(LLLH)に、最大のオーバーラップが生じる。低域通過フィルタを3回かける(LLL)には、23=8個の入力画素のサポートを必要とする。8×8画素サイズのサポート領域が図31に示されている。高域通過フィルタが直列に入れられた時には、サポート領域は(6×23)×(6×23)=48×48画素である。1つの48×48画素のサポート領域は、図31に見られるように36個の8×8ブロックからなる。
図31に示した48×48画素サポート領域の係数が現在処理されているとする。このサポート領域の淡く陰を付けた部分は、前のサポート領域で既に利用された画素を表わす。サポート領域の外側の淡く陰を付けた部分は、前サポート領域で既に利用され、かつ、これから先のサポート領域で必要となる画素を示している。黒い16×16領域は、当該サポート領域のまだ利用されていない画素を含む部分である。同様に、濃く陰を付けた16×16領域は、まだ利用されておらず、次の48×48サポート領域で利用されることになる画素を含む。1個の3レベル16×16変換が計算され、他の8個の3レベル16×16変換についての前の結果がバッファから読み出され、そして変換の第4レベルがこれら9個の3レベル16×16変換に施される。この実行に要するバッファリングは、(2×画像幅+32)×16画素に対する3レベル変換係数を格納するに足り、その上に16ライン(1つの帯)バッファ分の画素を格納するに足りるということである。
図32は1パスウェーブレットフィルタリングユニットの一実施例のブロック図であり、このユニットはフィルタ制御ユニット1301、メモリ1302及びフィルタ1303からなる。フィルタ1303は図29に関連して説明したフィルタからなる。メモリ1302は図31に関連して上に述べたメモリを指し、画素または係数を格納する。フィルタ制御ユニット1301は、メモリ1302とフィルタ1303の間のデータフローを決定する。フィルタ制御ユニット1301の動作は後述する。
図33は別のウェーブレットフィルタユニットを示す。高速動作を達成するため、複数のフィルタを使用可能である。一実施例では、フィルタ1303は4個または5個の入力を必要とし(例えば、逆フィルタ、フォワードフィルタ)、2個の出力を出すので、必要とされるメモリ帯域幅はかなりになろう。メモリは、1ロケーションあたり複数の画素/係数を、また複数のバンク及び/または複数のポートを持つかもしれない。メモリインターフェイスユニット1401は、処理中に利用されるローカルデータ用の小バッファを提供することによって、必要とされるメモリ帯域幅を減らす。メモリインターフェイスユニット1401はまた、メモリ1302の入出力(I/O)とフィルタのI/Oとの間のマルチプレクス/デマルチプレクスを行なう。
フィルタリングのために必要とされるメモリ帯域幅に加え、メモリ1302への画素入力及びコンテキストモデルへの係数の出力のために余分な帯域幅が必要となるかもしれない。画素がラスタ順に入力されるならば、帯バッファのために余分なメモリが必要になろう。
メモリが1ロケーションあたり複数の要素(画素または係数)を格納する場合、水平方向または垂直方向に隣接する要素を1行または1列に格納するのではなく、1個のN×Nブロック(Nは2のべき乗)の要素が同じロケーションを共有すれば、必要なメモリアクセス及びバッファの量が減少しよい。こうすると、垂直方向アクセス及び水平方向アクセスのいずれにも等しく便利である。
図34に示されるように、複数バンクのメモリも、それを水平方向アクセスと垂直方向アクセスで均等に利用できるように構成し得る。2バンクの場合、どちらかのバンクを選択するために用意される1ビットのバンク選択ビットが、例えば、垂直座標と水平座標の最下位ビットを論理和することによって作られるかもしれない。4バンクの場合、2ビットのバンク選択ビットが、水平座標と垂直座標の最下位2ビットを加算(2ビット加算器を用いてモジュロ4で)することによって作られるかもしれない。
図35は、フィルタ制御ユニット1301(図32)による2レベル分割を実現するための1パスフィルタ動作を示す。なお、説明の都合上、まず2レベル分割について論じてから、本発明の一般的手法を説明する。他の実施例では、3レベル、4レベル、またはそれ以上のレベル数の分割が用いられる。2レベル分割は、1ツリーあたり16個の係数を持ち、前に利用されなかった16個の入力画素について計算を必要とする。1ツリーの係数に対するフィルタリングは、入出力レートと調和すべく16時間単位以内で成し遂げられる。この例では、必要とされるスループットである1単位時間あたり2フィルタリング動作を達成するため、並列動作する2個のフィルタが用いられる。図35は、フィルタの前エッジが適用される各空間位置について、各フィルタリング動作が実行される時刻を示す数字を表わしている。
フィルタリングの順序はフィルタの前エッジで決まるので、フィルタリングは、あるツリーの係数の全部を生成しないうちに次のツリーの係数のどれかを生成する。ツリーの子のフィルタリングは親のフィルタリングの前に行なわれ、低域通過フィルタリングは対応の高域通過フィルタリングの前に行なわれる。フィルタリングは、Aグループの係数に作用する。
レベル1の水平フィルタリングは時刻0から時刻7の期間に実行され、その結果は一時バッファに格納される。(各空間位置から2個の係数が得られる。)
時刻2から時刻9の期間に、(第2のフィルタにより)垂直フィルタリングが、バッファ内のデータ及びメモリから与えられる前水平フィルタリングによるデータに対して行なわれる(各空間位置毎に2回)。垂直フィルタリングは、2番目の水平フィルタリングが完了したら直ぐに開始できる。HH,HL,LH係数は(適当な時刻に)コンテキストモデルへ出力できる準備ができている。LL係数は次のレベルで使われる。
フィルタが2個だけでは、レベル1の水平フィルタリングが完了して1つのフィルタが利用できるようになる時刻8まで、レベル0の水平フィルタリングは開始できない。レベル0の垂直フィルタリングが完了し必要データ全部が得られてから1サイクル後の時刻10まで、レベル0の水平フィルタリングは終了できない。次の時刻11と時刻12の間、レベル1の垂直フィルタリングを行なうことができる。
下記表1は、各時間単位における各フィルタの動作をまとめて示す。各エントリーの形式は、レベル番号、水平または垂直(“H”または“V”)、そして前エッジの空間位置である。垂直フィルタリング操作の入力は、添字“L”または“H”を用いて低域、高域が区別されている。なお、両方のフィルタは同じものであるから、一方のフィルタを水平フィルタリングに、他方のフィルタを垂直フィルタリングに、割り当てる必要はない。
Figure 2005304056
レベル1水平フィルタリングは、次の入力画素群に対して時刻11に再び開始することができるけれども、そうするとフィルタを入出力レートより高速に動作させることになる。本発明では、そのようにしないで、フィルタは遊び(アイドル)になり、そして次の入力画素群は時刻16に始まることになろう。遊びのフィルタリングサイクルはメモリ転送のために利用される。遊びサイクルは、必要ならば、各入力画素群に対するフィルタリングの終わりに発生させるのではなくて、フィルタリングサイクル中に分散させてもよい。
2レベルの場合を考慮な入れて3レベルの場合を表2に示す。情報を1ページに表わして読み易くするため、2または4時間単位の連鎖が使われている。
Figure 2005304056
表3は4レベルの場合を示す。1グループの係数につき256時間ユニットあるので、単純にするためフィルタリングのレベルと方向だけが示されている。
Figure 2005304056
本発明のフィルタリング及びメモリサブシステムの出力は係数の系列であり、これは本発明のビット・シグニフィカンス埋め込み符号化を受ける。
<B.1パスシステム用コンテキストモデル>
本発明の一実施例である1パスシステム用ビット・シグニフィカンス埋め込みコンテキストモデルでは、各ツリーが4つの部分に分けて処理される。ツリーのルートである最高レベルのLL係数は、1パス水平順序符号化によって符号化される。ルートの3個の子から始まる3個のサブツリー(subtree)である最高レベルのHH,HL,LH係数は、1パス統合空間/周波数モデリング及び1パス周波数ベースモデリングの両方によって処理される。ビット・シグニフィカンス埋め込みコンテキストモデルがデータ全部を処理するより前に符号化データが出力されるように、係数は符号化される。
<1パス・シグニフィカンス(significance)ツリー>
ゼロツリーコンテキストモデルは1パスシステムに利用できない。ゼロツリーは全ての係数を保持する1つのリスト(または複数のリスト)を必要とし、またゼロツリーはリストに複数のパスを作る。もう一つの周波数ベースモデルである1パス・シグニフィカンスツリーは、全係数を保持するリストを全く必要としない。1パス・シグニフィカンスツリーとゼロツリーとの間のもう一つの相違点は、シグニフィカンスツリーは全ての子を処理した後に、その親を処理しつつデシジョンを生成するのに対し、ゼロツリーは親を先に処理するということである。
本発明のコンテキストモデルが図36にブロック図の形で示されている。このコンテキストモデル1700は、符号/絶対値ユニット109(図37)とシグニフィカンス(significance)ユニット1702という2つの処理ユニットを含む。コンテキストモデル1700はまた、絶対値メモリ1701とツリー(tree)メモリ1703という2つのメモリを(メモリ制御論理も)用いる。これら2つのメモリユニットのそれぞれは、複数の記憶エリアによって高速動作中に交互に使用できるように構成してもよい(すなわち、一方がデータ書き込み中である時に、他方は読み出し中であるかまたは空である)。
絶対値メモリ1701は、ツリー中の係数をシグニフィカンスに基づいた順序に、例えば、係数の絶対値に基づいた順に並べ替える。この並べ替えは、各可能な絶対値のためのキュー(queue)を作ることによって達成される。シグニフィカンスユニット1702は、係数をシグニフィカンス(例えば絶対値)の順に受け取り、A−パスアルゴリズムを処理する符号化器のためのデシジョンを生成する。ツリーメモリ1703はシグニフィカンスユニット1702に接続され、オールゼロの後のゼロツリーを削除する。
以下の説明は、係数が18ビットであり、かつ入力データが4レベル分割されていると仮定している。
符号−絶対値フォーマッティングユニット109の一実施例が図37に示されており、これは入力した係数を符号−絶対値形式へ変換する。符号−絶対値フォーマッティングユニット109は、18ビットの係数を受け取るように接続されており、インバータ1801、マルチプレクサ(MUX)1802、プライオリティ(priority)エンコーダ1803、及びカウンタ1804からなる。符号−絶対値ユニット109は、シグニフィカンス(significance)表示(例えば5ビット値)、入力係数の仮数(例えば17ビット)、入力係数の符号(sign)(例えば1ビット)、及びカウンタ1804からのインデックス(例えば7ビット)を出力する。
MUX1802は、符号−絶対値フォーマッティングユニット109に直接入力した係数の17ビットと、この17ビットをインバータ(2の補数器)1801により反転したものを受け取るように接続されている。MUX1802の選択入力に入る符号ビット(係数のビット17)に基づき、2つの入力のうちの正のものが仮数として出力される。
符号−絶対値フォーマッティングユニット109はプライオリティエンコーダ1803を使い、各係数の最初の有効ビットを決定する。各係数の最初の有効ビットに基づいて、1つのシグニフィカンスレベルを係数に関係付けることができる。
カウンタ1804は、1つのインデックスを現在のツリー要素に関係付けするために利用される。4レベル分割の場合、そのインデックスは0から84まで変化する(1つのサブツリーの要素数は1+4+16+64=85であるから)。入力係数はツリー順であり、この例では、最初に親、最後が子の順序であると仮定している。異なった分割レベルによる係数は、表4に示す通りである。
Figure 2005304056
図38は、絶対値メモリ1701の一実施例のブロック図である。1つのカウンタ(1900〜1916)とメモリ(1920〜1936)が、可能な各シグニフィカンスレベルに関係付けられている(ただし、符号化される必要のないゼロ係数に対しては何も必要でない)。例えば、カウンタ1916とメモリ1936はシグニフィカンス(significane)レベル17に関係付けられている。一実施例では16のシグニフィカンスレベルがある。したがって、17個のカウンタ1900〜1916と、それに関連した17個のメモリ1920〜1936がある。
一実施例では、各メモリは、サブツリーの可能な各係数につき、85のロケーションを持たなければならない(各サブツリーは85個の係数を含むから)、しかし、そのメモリサイズは便宜上、2のべき乗、例えば128に丸められるであろう。メモリの各エントリーは1ビットの符号ビット、7ビットのインデックスビット及びNビットの絶対値ビットを格納できる(Nはシグニフィカンスレベルである)。固定幅のメモリを使いたいときには、シグニフィカンスレベル16と0のエントリー、シグニフィカンスレベル15と1のエントリー、等々を結合することができ、そうすることにより、各ワードは合計32ビットの2つのエントリーを含む。当然のことながら、シグニフィカンスレベル数が奇数の場合、あるワードは1つのエントリー(この例ではレベル7)しか含まない。
符号−絶対値フォーマッティングユニット109より受け取った符号(sign)、インデックス及び仮数の値は、適切なメモリの、それに関係付けられたメモリカウンタにより与えられるアドレスに書き込まれる。この関係付けられたカウンタは、該当シグニフィカンスレベルの次の係数が次ロケーションに格納されるようインクリメントされる。
記憶内容は、シグニフィカンスの降順にメモリ1902〜1926のそれぞれより読み出される。各係数の出力は、その仮数、符号(sign)及びインデックス出力からなる。最高のシグニフィカンスレベル(例えばレベル16)のカウンタが0でなければ、このカウンタはデクリメントされ、メモリはそのアドレスが読み出される。これはカウンタ値が0になるまで繰り返される。そして、次のシグニフィカンスレベル(例えばレベル15)が検討される。全てのカウンタが0までデクリメントされ全部のメモリが空になるまで、各シグニフィカンスレベルが順に検討される。
リアルタイムのシステムにおいては、2バンクのカウンタ及びメモリを用いるのが望ましいかもしれない。そうすれば、一方のバンクを、他方のバンクが出力のために使われている時に入力のために用いることができる。
カウンタは、LIFO(後入れ先出し)が実現されるように関連したメモリをアドレスする。LIFOは、サブツリーが親から先に入力される場合には適する順序である。そうではなく、サブツリーが子から先に入力されるのであれば、カウンタの動作はFIFO(先入れ先出し)を実現するように変更されることになろう。
図39はシグニフィカンスユニット1702の一実施例のブロック図である。図39において、インデックスカウンタ2001はサブツリーの各係数を、子から先に順に進めるために用いられる。一実施例では、インデックスカウンタ2001は84に初期化されてから0までカウントダウンする。シグニフィカンス(significance)カウンタ2004は、最大のシグニフィカンスレベル(この例では16)から始まって、インデックスカウンタが1サイクルする(84に戻る)毎にカウントダウンすることにより、ビットプレーンを管理する。ある特定のインデックスのレベルが、前記表4に示した機能を遂行するインデックス−レベル論理2003によって決定される。
絶対値メモリ1701は、シグニフィカンスカウンタ2004の出力によりイネーブルされたメモリ内にある次の係数のインデックス、絶対値及び符号を提供する。メモリから入力したインデックスがインデックスカウンタ2001のインデックス出力と同一であると、一致論理2002が非ゼロ出力表示をアサートする。この非ゼロ出力表示は、次サイクルで絶対値メモリが次のインデックス等を供給すべきことを意味する。一致がとれないときには、不一致表示がデシジョン(decision)ジェネレータ2008へ送られる。
一実施例では、フラグ0,フラグ1,フラグ2として示した3個のフリップフロップ2005,2006,2007が、非ゼロデータの管理のために用いられ、また、これらフリップフロップは分割レベル0,1,2にそれぞれ割り当てられている。なお、必要なフリップフロップの個数は、分割レベル数より1つ少ない。フリップフロップ2005〜2007は、最初にクリアされる。一致論理2002から出る非ゼロ信号がアサートされた時に、フリップフロップ2005〜2007中の現在のレベルより小さいレベルに割り当てられたフリップフロップがセットされる。現在のレベルに割り当てられたフリップフロップはクリアされる。レベルはインデックス−レベル論理2003によって与えられるが、このインデックス−レベル論理2003はインデックスカウンタ2001によって与えられたインデックスに応じてレベルを提供する。
”符号化済み”フラグ(ある実施例ではレジスタファイル)が各インデックス毎に1ビットずつ記憶される。非ゼロ信号がアサートされた時に、符号化済みフラグ記憶内の現在インデックスカウンタ値に関連したビットがセットされる。そうでなくて、シグニフィカンスカウンタ値が最大値になれば、関連したビットはクリアされる。そうでなければ、そのビットの値はそのままの値を維持する。符号化済みフラグ記憶から出る符号化済み出力信号は、現在のインデックスに関連したビットの新値と同じである。なお、他の実施例では、符号化済みフラグは用いられず、したがって符号化済み信号も全く用いられない。
一実施例では、デシジョンジェネレータ2008は、現在レベルが3であり、かつ前レベルが3でなかったか判定する。この判定に応じて、デシジョンジェネレータ2008は開始出力をアサートし、開始レベル出力は前レベルである。非ゼロ信号がアサートされたならば、デシジョンジェネレータ2008は“有意”なるデシジョンを出力し、また、符号(00、01)と仮数を出力する。そうでなくて、符号化済み入力がアサートされたならば、デシジョンは出力されない。そうでなくて、現在レベルに割り当てられたフラグフリップフロップがセットされたならば、デシジョンジェネレータ2008は“無意、有意な子あり”なるデシジョン(10)を出力する。そうでなければ、デシジョンジェネレータ2008は、“無意、かつ子も無意”なるデシジョン(11)を出力し、かつオールゼロ信号をアサートする。
なお、周波数ベースモデリングと水平1パス統合空間−周波数モデリングの両方を実現するためには、シグニフィカンスユニット1702に対し以下の変更がなされる。シグニフィカンスカウンタ2004はある閾値と比較され、カウンタ値が同閾値を超えるときにのみオールゼロ信号がアサートされる。
一実施例では、ツリーメモリ1703(図40、後述)に対するシグニフィカンスカテゴリー入力は、シグニフィカンスカウンタ2004の出力である。この実施例のコンテキストモデル(すなわちビット・シグニフィカンス埋め込みユニット)では、シグニフィカンスカテゴリーはビットプレーン数に基づいており、17の異なったシグニフィカンスカテゴリーがある。これは任意に選んでよい。別の実施例では、シグニフィカンスカテゴリーを減らすためビットプレーンが結合されるかもしれない。また、より多くのシグニフィカンスカテゴリーを作るために、レベル情報をビットプレーン情報に追加することもできる。シグニフィカンスカテゴリーを増やすと、より優れた損失性圧縮が可能になるであろう。他方、シグニフィカンスカテゴリーが少ないほうが、ハードウエアの複雑さが軽減されるであろう。
図40は本発明のツリーメモリユニットの一実施例のブロック図である。図40において、メモリ2101は、デシジョンと、可能な各デシジョンのためのシグニフィカンス表示を記憶するための適切なスペースを有する。一実施例では、4レベル分割、7シグニフィカンスレベルの場合で、メモリ2101のロケーション数は85×17=1455である。
メモリ2101をアクセスするためアドレスが生成される。カウンタ2102は最初は0である。デシジョンジェネレータ2008がオールゼロ入力をアサートしない時に、カウンタ2102の値がメモリのアドレスのために用いられる。デシジョンジェネレータ2008が開始入力をアサートすると、カウンタ2102の現在値は開始レベルに応じてレジスタ2110〜2112中の1つのレジスタに格納される。開始レベルは一種の選択機構として作用する。そして、カウンタ2102はインクリメントされる。
デシジョンジェネレータ2008がオールゼロ入力をアサートした時に、レベル入力により選択されたレジスタ(すなわち2110、2111、2112)中の値がメモリ2101のアドレスのために用いられ、この値に1を加えた値がカウンタ2102にロードされる。これは、無意の親の無意の子のために使用されたメモリロケーションを無視させる。
メモリ出力期間に、出力すべきロケーションのアドレスを提供するためカウンタ2102はデクリメントされる。出力(及びデクリメント)はカウンタ2102が0になった時に止まる。メモリ2101の出力はエントロピー符号化器に受け取られ、エントロピー符号化器は指定されたシグニフィカンスでデシジョンを適切に符号化する。
リアルタイム動作のためには、2個のツリーメモリユニットを用い、一方を入力に利用し、同時に他方を出力に利用するようにすることができる。
<係数アラインメント(alignment)>
本発明の一実施例においては、ゼロツリーコンテキストモデルは非正規化1+Z-1低域通過フィルタを使用する。しかし、ゼロツリーコンテキストモデルは、例えば次に示したような正規化フィルタと一緒に使用し得る。
Figure 2005304056
正規化フィルタを使用するためには、図41のフォワード・ウェーブレットフィルタ1000と(周波数ベース)コンテキストモデル105の間のアラインメント(alignment)ユニット2200のようなアラインメントユニットを用いて、非正規化フィルタにより獲得したエネルギー(あるいは失ったエネルギー)を補償し、圧縮を改善することができる。アラインメントは損失性動作のための非一様量子化を許容するので、アラインメントは損失性画像復元の視覚的品質を改善できる。一次元の場合、ツリーの各レベルからの係数のアラインメントは様々であろう(除数=21/2,2,2×21/2,4、乗数=2×21/2,2,21/2,1)。二次元の場合、除数は2,3,8,16、乗数は8,4,2,1であろう。
アラインメントは単に同様の符号化用バイナリデシジョンをグループにするためであるので、厳密な正規化値を用いることは重要でない。復号期間にはアラインメントを逆にしなければならないので、乗算と除算の両方が必要になる。2のべき乗の乗数(因数)/除数を用いると、ハードウエアによる効率的なシフト操作を行なえるようになろう。係数に2のべき乗が掛け合わされる場合、シグニフィカンスの小さい追加された0ビットは符号化する必要がない。
しかし、アラインメント乗数/除数を2のべき乗に制限する代わりに、21/2=〜1.5または21/2=〜2÷1.5というような近似を、以下の方法とともに用いることができる。乗数/除数で係数を乗算/除算するのではなく、代わりに“重要な”係数だけが乗数/除数によりスケール(scale)されてもよい。符号−絶対値フォーマッティングユニットは、図42に示すように、(1)最も上位の“1”ビットの次位ビットも“1”のときに最も上位の“1”ビットの位置を返し、(2)そうでなければ最も上位の“1”ビットの一つ下の位置を返す“1.5”プラオリティエンコーダ2301を含むように変更し得る。3ビット入力の場合の“1.5”プライオリティエンコーダの真理値表を表5に示す。
Figure 2005304056
現在のインデックス値で指示される係数のレベルに応じて、マルチプレクサ2302は標準的なプライオリティエンコーダ1803または“1.5”プライオリティエンコーダ2301のどちらかより与えられるシグニフィカンス(significance)を選択する。“1.5”アラインメントが用いられる時には常に、仮数はN+1ビットである(Nはシグニフィカンス値)。そうでない時には、仮数はNビットである。
アラインメントユニット2200は、シフタとして作用する2入力乗算器からなり、1または2によるアラインメントを実施できる。これと、符号−絶対値フォーマッティングユニットにより提供される“1.5”アラインメントとを組み合わせることで、1,1.5,または3のアラインメントが可能である。1,1.5または3は、単純であるので(すなわち2のべき乗である)、一次元信号のために必要な乗数のよい近似値である。(画像のような二次元信号の場合、それら数はより単純である。)
復号期間において、“1.5”プライオリティエンコーダが用いられる時には仮数の第(N+2)ビット(符号されない)は第(N+1)ビットの補数である。
係数アラインメントを、ゼロツリーのチューニング及びより精度の高い非一様量子化のために利用できる。画像(二次元信号)の場合、RTS変換の一実施例は、図56に示した数を周波数帯域に掛け合わせることによって、係数を調整する。これらの数を掛けると、RTS変換が、その正確な復元ウェーブレットの極めて精度のよい近似となる。
エントロピー符号化器は、アラインメントプロセスが効率的になるよう考慮しなければならない。
部分ビットプレーンによる周波数ベースコンテキストモデル
周波数ベースモデリングの別の方法は、部分ビットプレーンもしくは部分的な有意ビット(bits of significance)を利用する。これを実現する一つの方法は、各ビットプレーンを2回処理することであり、その結果、パスとしてA1−パス、B1−パス、A0−パス、B0−パスがある。なお、これらパスの名称は、A1−パスが“11”で始まる係数を扱い、A0−パスが“10”で始まる係数を扱うことから選ばれた。
ビットプレーンSに対するA1−パスの期間において、A−グループの係数が有意であるのはビットS,S−1がともに非ゼロのときだけである。A2−パスの期間において、A−グループの係数はビットSが非ゼロのきに有意である。最上位の2ビットは知れているので、B1−パスとB0−パスはS−1ビットを処理するだけでよい(S=0は最下位ビットプレーンであると仮定する)。
1つおきの部分ビットプレーンは、因数が1.5または2/1.5と異なるから、異なるレベルに対するアラインメントは、各レベル毎に必要な部分ビットプレーンをグループにすることによって達成できる。
部分ビットプレーンは、周波数ベースコンテキストモデルに利用された親/子関係によってデータのより精密なモデリングをもたらす。さらに精密なモデリングのために、3つ以上のパス、例えば4つまたは8つのパスを用いてもよい。例えば、4パスの場合、A11−パスは“111”で始まる係数を扱うことになろう。そして他のパスは“110”,“101”,“100”を扱うことになろう。より精度の悪いモデリングもまた利用されるかもしれない。例えば、1つおきのビットプレーンに対しのみ1つのパスが行なわれるかもしれない。このような低精度モデリングの場合には、より多くのビットがB−グループによって符号化される。
<C.1パスシステムのための符号化器及びメモリ/チャネル管理>
データ全部をメモリに格納するシステム及びデータをチャネルで伝送するシステムに関して、1パスシステムにおける符号化データのメモリ管理を提案する。1パスシステムでは、符号化データは“埋め込みカジュアル(embedded casual)”アクセスすることができて、シグニフィカンスの高いデータを損なわずにシグニフィカンスの低いデータを廃棄できるよう格納されなければならない。符号化データは可変長であるので、動的メモリ割り当てを利用できる。
本発明の一実施例では、埋め込み符号化スキームは18個のビットプレーンを用い、したがって18個の重シグニフィカンスレベルをデータに割り当てる。1パスシステムの符号化器は、“埋め込みカジュアル(embedded casual)”でなければならない。すなわち、あるビットプレーンに対応するイベントの復号に、それにより下位のビットプレーンの情報を必要としない。1パスの場合、普通、あるツリーのビット全部が符号化された後に次のツリーのビットが符号化されるから、シグニフィカントの異なるビットが分離されない。内部状態(internal state)を用いるハフマン符号化器のような符号化器にとって、このことは問題ではない。しかし、多くの圧縮率の優れた高度な圧縮器は内部状態を用いる。
これら符号化器に関する当該問題を解決する一方法は、18個の異なる符号化器、多分Q−コーダチップ、を用いることである。9個のQ−コーダチップを使用できるであろう手法が、“Data Compression for Recording on a Record Mediumなる発明の名称で1992年3月17日発行された米国特許第5,097,261号(Langdon,Jr)に述べられている。より優れた方法は、単一の物理符号化器で様々な仮想符号化器を実現するためにパイプライン方式の符号器、例えば“Method and Appartus for Parallel Decoding and Encoding of Data”なる発明の名称で1993年1月10日受理された米国特許出願第08/016,035号に述べられている符号化器を用いる。このような符号化器では、各確率毎の複数のビットジェネレータ状態がデータの一部に割り当てられる。例えば、18ビットデータの場合、18個の状態中の各状態がある1つの特定のビットプレーンに割り当てられることになろう。符号化器内部のレジスタもまたデータの各部分に割り当てられる。この符号化器においては、インターリービングは行なわれない。すなわち、データの各部分は単にビット詰めされる。
複数の物理符号化器または仮想符号化器を備えた実施例では、データの各部分にメモリが割り当てられる。圧縮が完了した時に、割り当てられたメモリとその内容を記述する連結リストが結果として得られる。
メモリがオーバーフローすると、メモリ割り当てルーチンはより重要な情報をそれより重要でないデータに上書きさせる。例えば、数値データの最下位ビットが初めに上書きされることになろう。メモリの割り当てられ方を記述する情報が、符号化データのほかに、格納されなければならない。
図43は、3つのシグニフィカンスカテゴリーのための動的メモリ割り当てユニットの例を示す。本発明をいたずらに難解にしないため3カテゴリーしか述べないが、一般的には、8カテゴリー、16カテゴリー、18カテゴリーというように、もっと大きな数のカテゴリーが用いられるであろう。レジスタファイル(または他の記憶手段)481が、各シグニフィカンスカテゴリー毎のポインタ(現在ポインタ)のほかに、次の空きメモリロケーションを指示するための別のポインタ(フリーポインタ)を保持する。メモリ482は一定サイズのページに分割される。
最初、1つのシグニフィカンスカテゴリーに割り当てられた各ポインタは、あるメモリページの先頭を指し示し、また、フリーポインタは次に利用できるメモリページを指し示す。シグニフィカンスカテゴリーで区別された符号化データは、対応したポインタによりアドレスされたメモリロケーションに格納される。そして、このポインタは、次のメモリロケーションを指すようにインクリメントされる。
ポインタが現在ページの最大値に達した時に、フリーポインタに格納されている次の空きページの先頭のアドレスが、リンクとして現在ページと一緒に格納される。一実施例では、この目的のために、符号化データのメモリまたは独立したメモリもしくはレジスタファイルが用いられるかもしれない。次に、現在ポインタは次のフリーページを指すように設定される。フリーポインタはインクリメントされる。これらのステップにより、1つの新しいメモリページがある特定のシグニフィカンスカテゴリーに割り当てられ、かつ、ある共通のシグニフィカンスカテゴリーのためのデータを含むメモリページのリンクを得られる結果、復号期間に割り当て順序を確認することができる。
メモリの全ページが使用中であり、しかも、メモリ内のシグニフィカンスが最小のデータよりシグニフィカンスが大きいデータがさらに存在する時には、メモリの再割り当てが行なわれるかもしれない。そのような再割り当てのための3つの手法について述べる。いずれの手法にあっても、最小のシグニフィカンカスのデータに割り当てられているメモリが、それより高いシグニフィカンスのデータへ再割り当てされ、もはや最小シグニフィカンスのデータは格納されない。
第1の手法は、最小シグニフィカンスのデータに現在使われているページが単純にシグニフィカンスの高いデータに割り当てられるだけである。最も一般的なエントロピー符号化器は内部状態情報を利用するので、そのページに前に格納されていた最小シグニフィカンスのデータは全部失われる。
第2の手法は、最小シグニフィカンスのデータによって現在使われているページは、それより大きいシグニフィカンスのデータに割り当てられる。第1の手法と違い、ポインタは当該ページの末尾を指すように設定され、大きいシグニフィカンスのデータが当該ページに書き込まれるにしたがい対応ポインタはデクリメントされる。この手法は、大きなシグニフィカンスのデータがページ全体を必要としないときには、ページの先頭にある最小シグニフィカンスのデータが保存されるという利点を有する。
第3の手法は、最小シグニフィカンスのデータの現在ページを再割り当てするのではなく、最小シグニフィカンスのデータの任意のページを再割り当てすることができる。そのためには、全ページの符号化データが独立に符号化される必要があり、このことは圧縮率の低下を招くかもしれない。また、全てのページの先頭に対応する非符号化データが識別される必要もある。最小シグニフィカンスのデータの任意のページを捨てることができるので、より大きな量子化のフレキシビリティを得られる。
画像の複数領域にわたって一定の圧縮率を達成するシステムでは、上記第3の手法は特に魅力的であろう。ある指定した数のメモリページを画像の1つの領域に割り当てることができる。シグニフィカンスの小さなデータが保存されるか否かは、特定の領域において達成される圧縮率によって決まる。なお、ある領域に割り当てられたメモリは、非損失性圧縮が必要とするメモリがそのメモリ量より少ないならば、完全には利用されない。画像のある領域に対し一定の圧縮率を達成すれば、その画像領域へのランダムアクセスをサポートすることができる。
圧縮が完了した時に、そのデータを必要ならばシグニフィカンス順にチャネルまたは記憶装置へ送ってよい。そうすれば、様々なリンク(link)とポインタはもう必要ではなく、また、マルチパス復号を行なってもよい。あるいは、1パス復号のために、各シグニフィカンス毎にデータへのポインタを保存することができる。
用途によっては、いくつかのシグニフィカンスカテゴリーは使われないかもしれない。例えば、12ビットの医用画像に対して16ビットの圧縮器が使用されるかもしれないが、その場合、ビットプレーン15...12に対応したシグニフィカンスカテゴリーは使用されないであろう。ページが大きく、かつ、多くのシグニフィカンスカテゴリーが使用されない例では、(いくつかのカテゴリーが使われないことをシステムが予め知らない時には)それらの使用しないカテゴリーにメモリを割り当てる必要はないのであるから、メモリを浪費することになろう。このメモリ浪費に対するもう一つの解決策は、各シグニフィカンスカテゴリー毎のカウントを保持するための小メモリ(もしくはレジスタ)を使用することであろう。このカウントは、他のデシジョンが発生する前に発生した“無意,有意な子なし”デシジョンの数を記録するであろう。これらのカウンタの格納のため必要となるメモリは、不使用のシグニフィカンスカテゴリーに利用されるメモリと“相殺”されなければならない。
システムにおいて利用可能なメモリ全量をより上手に利用するため、各ページにその両端からデータを書き込む機能を利用することができる。全ページが割り当てられている時に、一端側に十分な空きスペースのあるページを、その端から利用するように割り当てることができる。ページの両端を利用する機能は、2種類のデータがぶつかるロケーションの管理コストと比較衡量されなければならない。もっとも、一方のデータ種類が重要でなく単純に上書きされてよい場合は別である。
<チャネルの利用>
データがメモリに格納される代わりにチャネルで伝送され、かつ、固定サイズのメモリページが利用される(1つのシグニフィカンスカテゴリーにつき1ページだけ必要とされる)システムにおいて、あるメモリページが一杯になった時に、そのページはチャネルで伝送され、そして、伝送されるとすぐにメモリロケーションは再び利用できる。用途によっては、メモリのページサイズはチャネルで用いられるデータパケットのサイズまたはパケットサイズの倍数とすることができる。(なお、一実施例では、1シグニフィカンスレベルあたり2ページを使用できるので、一方のページにデータを書き込みながら他方のページをチャネルへ出力するため読み出すことができる。)
ある通信方式では、例えばATM(非同期転送モード)では、パケットにプライオリティを割り当てることができる。ATMは、プライマリとセカンダリの2つのプライオリティレベルを有する。セカンダリパケットは十分な帯域幅を利用できるときだけ伝送される。どのシグニフィカンスカテゴリーがプライマリであるか、どのシグニフィカンスカテゴリーがセカンダリであるかを判断するために、閾値を利用することができる。もう一つの方法は、ある閾値よりシグニフィカンスの小さいシグニフィカンスカテゴリーを伝送しないように、符号化器において閾値を利用することであろう。
<ピーク誤差を制限した損失性圧縮>
ある種の用途では、完全な(非損失の)復元は必要でない。指定された最大のピーク誤差で圧縮を成し遂げることが望ましいかもしれない。ピーク誤差を±Eと仮定する。これは、圧縮データを切り捨て、所望の精度を得るのに必要でないシグニフィカンスの小さなデータ全てを廃棄することによって達成できる。
指定された最大ピーク誤差の圧縮を遂行するもう一つの方法は、2×E+1以下の値で、圧縮すべき画像の各画素を除算(整数除算)することである。復元中に、画像の各画素は
出力画素=(2×E+1)×入力画素+E
と処理される。(あるいは、伸長中にEを加算する代わりに、圧縮中に2×E+1で割算する前に減算が行なってもよい。)
指定された最大ピーク誤差の圧縮を達成するもう一つの方法は、除算と乗算をシフトで置き換えることである。そのシフト量は、
Figure 2005304056
である。シフト操作は便利であるので、(ピーク誤差に代わる)より好ましい誤差仕様は(−2n<エラー≦2n]なる形の誤差であろう。
上に述べたことは、損失性画像圧縮の技術分野において周知である係数の量子化と混同すべきでない。多くの損失性圧縮システム(例えばJPEG)においては、変換領域係数は最大ピーク誤差を割り付けられるが、これは画像のピーク誤差を間接的に規制するに過ぎない。決定的な違いは、本発明が画素に対して量子化を行ない、かつ、係数の非損失性圧縮を使うことである。
変換領域量子化も利用することができる。多くの係数は、変換の複数レベルにわたるピーク誤差の伝搬に対して影響がある。子のない高域通過係数に関するピーク誤差への影響を決定することは容易である。
一次元信号を最大ピーク誤差±Eで符号化することを考える。これは、最も精細な高域通過係数を±2Eに量子化することで達成できる。二次元信号の対しては、高域通過フィルタが2回かけられるので、最も精細なHH係数を±4Eに量子化すればよい。
入力画像の量子化による方法の一つの代案は、エントロピー符号化器に対するデシジョンを規制することである。一例は次のとおりである。各係数について、係数を0に設定しても、当該係数に影響されるいかなる画素にも最大誤差を超える誤差が生じないならば、当該係数は0に設定される。ある具体例では、特定の係数のみ、多分、子を持たないAC係数だけがテストされる。係数は、一度に一つしか検討しない贅沢なやり方で検討される。ほかのやり方は、係数の小グループを考え、グループの可能な最大の部分集合を0にするようにする。
Figure 2005304056
本発明の符号化システムの符号化部の一実施例を示すブロック図である。 本発明のビット・シグニフィカンス埋め込みブロックの一実施例を示すブロック図である。 ウェーブレット分析/合成システムのブロック図である。 非オーバーラップ最小長可逆フィルタを用いてフィルタリングする変換システムのフォワード変換とリバース変換の説明図である。 レベル1分割の結果の説明図である。 レベル2分割の結果の説明図である。 レベル3分割の結果の説明図である。 レベル4分割の結果の説明図である。 3レベル・ピラミッド変換の一例を示すブロック図である。 2次元・2レベル変換の一例を示すブロック図である。 2次元・2レベル変換の別の例を示すブロック図である。 本発明の可逆ウェーブレットを用いる圧縮・伸長システムを示すブロック図である。 本発明の可逆ウェーブレットを用いる強調及び分析システムを示すブロック図である。 ウェーブレット係数のツリー構造を示す図である。 本発明の単一リスト・ゼロツリー符号化プロセスの一実施例を示すフローチャートである。 図15に示したフローチャートの続きを示すフローチャートである。 本発明の単一リスト・ゼロツリー符号化プロセスの他の実施例を示すフローチャートである。 図17に示したフローチャートの続きを示すフローチャートである。 本発明のゼロツリー水平復号プロセスのためのA−パスの一実施例を示すフローチャートである。 本発明のゼロツリー水平復号プロセスのためのA−パスの他の実施例を示すフローチャートである。 本発明の単一リスト水平符号化プロセスのためのA−パスの一実施例を示すフローチャートである。 本発明の単一リスト水平符号化プロセスのためのA−パスの他の実施例を示すフローチャートである。 本発明の単一リスト水平復号プロセスのためのA−パスの一実施例を示すフローチャートである。 本発明の単一リスト水平復号プロセスのためのA−パスの他の実施例を示すフローチャートである。 本発明のゼロツリー水平符号化及び単一リスト水平符号化のプロセスのためのB−パスの一実施例を示すフローチャートである。 本発明のゼロツリー水平符号化及び単一リスト水平符号化のプロセスのためのB−パスの他の実施例を示すフローチャートである。 本発明のゼロツリー水平復号及び単一リスト水平復号のプロセスのためのB−パスの一実施例を示すフローチャートである。 本発明のゼロツリー水平復号及び単一リスト水平復号のプロセスのためのB−パスの他の実施例を示すフローチャートである。 本発明のフォワード・ウェーブレットフィルタの一実施例を示すブロック図である。 本発明のリバース・ウェーブレットフィルタの一実施例を示すブロック図である。 4レベル・ピラミッド分割のためのラインバッファ内の画像及び係数を説明するための図である。 フィルタ制御ユニットを使用する本発明のウェーブレットフィルタユニットの一実施例を示すブロック図である。 フィルタ制御ユニットを使用する本発明のウェーブレットフィルタユニットの他の実施例を示すブロック図である。 水平、垂直アクセスをサポートするためのメモリバンクの割り当てを2バンクの場合と4バンクの場合について示す図である。 2レベル分割の場合の1パスフィルタ動作を説明する図である。 本発明のコンテキストモデルの一実施例を示すブロック図である。 本発明の符号−絶対値フォーマッティングユニットの一実施例を示すブロック図である。 本発明の絶対値メモリユニットの一実施例を示すブロック図である。 本発明のシグニフィカンスユニットの一実施例を示すブロック図である。 本発明のツリーメモリユニットの一実施例を示すブロック図である。 ウェーブレット係数のアラインメントを説明するためのブロック図である。 “1.5”アラインメントを使用した本発明のシグニフィカンスユニットの一実施例を示すブロック図である。 1パス動作のための符号化データメモリの動的割り当ての例を示す図である。 本発明の符号化プロセスの一実施例を示すフローチャートである。 図44に示したフローチャートの続きを示すフローチャートである。 本発明の復号プロセスの一実施例を示すフローチャートである。 図46に示したフローチャートの続きを示すフローチャートである。 本発明の符号化プロセス及び復号プロセスのための各係数のモデリングプロセスの一実施例を示すフローチャートである。 図48に示したフローチャートの続きを示すフローチャートである。 本発明の符号化プロセスの他の実施例を示すフローチャートである。 図50に示したフローチャートの続きを示すフローチャートである。 本発明の復号プロセスの他の実施例を示すフローチャートである。 図52に示したフローチャートの続きを示すフローチャートである。 本発明の符号化プロセス及び復号プロセスにおける各係数のモデリングのためのプロセスの他の実施例を示すフローチャートである。 図54に示したフローチャートの続きを示すフローチャートである。 本発明において係数アライメントのために用いられる周波数帯域用乗数の例を示す図である。 1レベル分割RTS変換用のフォワードフィルタを実現するためのC言語ソースリストの一例を示す図である。 1レベル分割RTS変換用のインバースフィルタを実現するためのC言語ソースリストの一例を示す図である。 2レベル分割RTS変換用のフォワードフィルタを実現するためのC言語ソースリストの一例を示す図である。 2レベル分割RTS変換用のインバースフィルタを実現するためのC言語ソースリストの一例を示す図である。
符号の説明
102 可逆ウェーブレット変換ブロック
103 ビット・シグニフィカンス埋め込みブロック
104 エントロピー符号化器
105 周波数ベースコンテキストモデル
106 統合空間/周波数(JSF)コンテキストモデル
108 スイッチ
109 符号−絶対値フォーマッティングユニット
401,405,409 低域通過フィルタユニット
402,406,410 高域通過フィルタユニット
403,404,407 サブサンプリングユニット
408,411,412 サブサンプリングユニット
1000 フォワード・ウェーブレットフィルタ
1001,1006 加算器
1002,1005 減算器
1003 1ビットシフトブロック
1004 2ビットシフトブロック
1007 2ビットシフトブロック
1101 減算器
1102 2ビットシフトブロック
1103 1ビットシフトブロック
1104 減算器
1105 加算器
1106 減算器
1107,1108 クリッピングブロック
1301 フィルタ制御ユニット
1302 メモリ
1303 フィルタ
1401 メモリインターフェイスユニット
1700 コンテキストモデル
1701 絶対値メモリ
1702 シグニフィカンスユニット
1703 ツリーメモリ
1801 インバータ
1802 マルチプレクサ
1803 プライオリティエンコーダ
1804 カウンタ
1900〜1916 カウンタ
1920〜1936 メモリ
2001 インデックスカウンタ
2002 一致論理
2003 インデックス−レベル論理
2004 シグニフィカンスカウンタ
2005〜2007 フリップフロップ(フラグ0〜2)
2008 デシジョンジェネレータ
2101 メモリ
2102 カウンタ
2103 マルチプレクサ
2110〜2112 レジスタ
2200 アラインメントユニット
2301 ”1.5”プライオリティエンコーダ
2302 マルチプレクサ

Claims (4)

  1. 入力データを符号化するための方法であって、
    該入力データに応じて、ウェーブレット変換により変換信号を生成する変換ステップ、及び、該変換信号を符号化して該入力データを圧縮したデータを得る圧縮ステップからなり、
    該変換ステップは1次元フィルタを使い該入力データを分割して係数の系列を得るステップを含み、該1次元フィルタは1画素おきに適用されることを特徴とする符号化方法。
  2. 前記一次元フィルタは、演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割りふるものであることを特徴とする請求項1記載の符号化方法。
  3. 入力データを符号化するための装置であって、
    該入力データに応じて、ウェーブレット変換により変換信号を生成する変換手段、及び、該変換信号を符号化して該入力データを圧縮したデータを得る圧縮手段からなり、
    該変換手段は1次元フィルタを使い該入力データを分割して係数の系列を得る手段を含み、該1次元フィルタは1画素おきに適用されることを特徴とする符号化装置。
  4. 前記一次元フィルタは、演算を低域通過フィルタ演算と高域通過フィルタ演算との間に割りふるものであることを特徴とする請求項3記載の符号化装置。
JP2005120798A 1994-09-21 2005-04-19 符号化方法及び装置 Pending JP2005304056A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/310,146 US5748786A (en) 1994-09-21 1994-09-21 Apparatus for compression using reversible embedded wavelets

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003026242A Division JP2003274186A (ja) 1994-09-21 2003-02-03 符号化装置

Publications (1)

Publication Number Publication Date
JP2005304056A true JP2005304056A (ja) 2005-10-27

Family

ID=23201196

Family Applications (6)

Application Number Title Priority Date Filing Date
JP23798795A Expired - Fee Related JP3436832B2 (ja) 1994-09-21 1995-09-18 ウエーブレット変換フィルタ
JP2002256535A Pending JP2003179498A (ja) 1994-09-21 2002-09-02 符号化器
JP2003026242A Pending JP2003274186A (ja) 1994-09-21 2003-02-03 符号化装置
JP2005120797A Pending JP2005304055A (ja) 1994-09-21 2005-04-19 符号化方法及び装置
JP2005120796A Expired - Lifetime JP3800552B2 (ja) 1994-09-21 2005-04-19 符号化方法及び装置
JP2005120798A Pending JP2005304056A (ja) 1994-09-21 2005-04-19 符号化方法及び装置

Family Applications Before (5)

Application Number Title Priority Date Filing Date
JP23798795A Expired - Fee Related JP3436832B2 (ja) 1994-09-21 1995-09-18 ウエーブレット変換フィルタ
JP2002256535A Pending JP2003179498A (ja) 1994-09-21 2002-09-02 符号化器
JP2003026242A Pending JP2003274186A (ja) 1994-09-21 2003-02-03 符号化装置
JP2005120797A Pending JP2005304055A (ja) 1994-09-21 2005-04-19 符号化方法及び装置
JP2005120796A Expired - Lifetime JP3800552B2 (ja) 1994-09-21 2005-04-19 符号化方法及び装置

Country Status (4)

Country Link
US (4) US5748786A (ja)
JP (6) JP3436832B2 (ja)
DE (1) DE19534943B4 (ja)
NL (1) NL1001248C2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023796A3 (ko) * 2010-08-17 2012-05-10 삼성전자 주식회사 가변적 트리 구조의 변환 단위를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법 및 그 장치
AU2015203115B2 (en) * 2010-08-17 2015-08-13 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
CN108880604A (zh) * 2018-06-28 2018-11-23 河南机电职业学院 一种扩频通信***中多分量调频干扰抑制方法和装置

Families Citing this family (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251637B1 (en) 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US6173275B1 (en) * 1993-09-20 2001-01-09 Hnc Software, Inc. Representation and retrieval of images using context vectors derived from image information elements
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6873734B1 (en) * 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US5659631A (en) * 1995-02-21 1997-08-19 Ricoh Company, Ltd. Data compression for indexed color image data
SE507410C2 (sv) * 1995-11-08 1998-05-25 Ericsson Telefon Ab L M Förfarande och anordning för rörelseestimering
US5982434A (en) * 1996-03-22 1999-11-09 Sony Corporation Image signal coding method and device thereof, image signal decoding method and device thereof, and recording medium
US6141452A (en) * 1996-05-13 2000-10-31 Fujitsu Limited Apparatus for compressing and restoring image data using wavelet transform
US6310972B1 (en) * 1996-06-28 2001-10-30 Competitive Technologies Of Pa, Inc. Shape adaptive technique for image and video compression
IL119523A0 (en) * 1996-10-30 1997-01-10 Algotec Systems Ltd Data distribution system
US5748116A (en) * 1996-11-27 1998-05-05 Teralogic, Incorporated System and method for nested split coding of sparse data sets
US5909518A (en) * 1996-11-27 1999-06-01 Teralogic, Inc. System and method for performing wavelet-like and inverse wavelet-like transformations of digital data
US5859604A (en) * 1997-01-14 1999-01-12 International Business Machines Corporation Merged VLSI implementation of hardware optimized Q-Coder and software optimized QM-Coder
US7003168B1 (en) 1997-03-11 2006-02-21 Vianet Technologies, Inc. Image compression and decompression based on an integer wavelet transform using a lifting scheme and a correction method
US6445823B1 (en) * 1997-03-12 2002-09-03 Texas Instruments Incorporated Image compression
AUPO600897A0 (en) * 1997-04-04 1997-05-01 Canon Information Systems Research Australia Pty Ltd An efficient method of image compression comprising a low resolution image in the bit stream
GB2325584B (en) * 1997-05-01 2000-03-29 Ricoh Kk Decompression system using inverse wavelet transform
US5949911A (en) * 1997-05-16 1999-09-07 Teralogic, Inc. System and method for scalable coding of sparse data sets
US6125201A (en) * 1997-06-25 2000-09-26 Andrew Michael Zador Method, apparatus and system for compressing data
US6021227A (en) * 1997-06-30 2000-02-01 Hewlett-Packard Company Image compression system including encoder having run mode
EP0930788A4 (en) * 1997-07-30 2003-12-17 Mitsubishi Electric Corp METHOD AND DEVICE FOR COMPRESSING AND ENLARGING AN IMAGE
EP0905651A3 (en) * 1997-09-29 2000-02-23 Canon Kabushiki Kaisha Image processing apparatus and method
US6956973B1 (en) * 1997-09-30 2005-10-18 Texas Instruments Incorporated Image compression
DE19744407C1 (de) 1997-10-08 1999-02-11 Luratech Ges Fuer Luft Und Rau Verfahren zur mehrdimensionalen, diskreten Wavelet-Transformation und Transformationseinheit zur Durchführung des Verfahrens
US6937659B1 (en) * 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
US6044172A (en) * 1997-12-22 2000-03-28 Ricoh Company Ltd. Method and apparatus for reversible color conversion
JP3679586B2 (ja) * 1997-12-24 2005-08-03 キヤノン株式会社 符号化及び復号装置とその符号化及び復号方法
JP2002503901A (ja) 1998-02-13 2002-02-05 クビス・インク 飛越し走査移動画像の最適圧縮方法及び装置
US20020044692A1 (en) * 2000-10-25 2002-04-18 Goertzen Kenbe D. Apparatus and method for optimized compression of interlaced motion images
US6134350A (en) * 1998-02-18 2000-10-17 Dome Imaging Systems, Inc. Method of producing wavelets and compressing digital images and of restoring the digital images
AUPP248498A0 (en) * 1998-03-20 1998-04-23 Canon Kabushiki Kaisha A method and apparatus for encoding and decoding an image
JP3639108B2 (ja) * 1998-03-31 2005-04-20 株式会社ソニー・コンピュータエンタテインメント 描画装置および描画方法、並びに提供媒体
AU3770699A (en) * 1998-04-29 1999-11-16 Zulu Broadcasting Llc Portable data transmission system for global and local computer networks
FR2846837B1 (fr) * 2002-11-05 2005-04-29 Canon Kk Codage de donnees numeriques avec determination d'un parcours parmi les donnees
US6236757B1 (en) * 1998-06-18 2001-05-22 Sharp Laboratories Of America, Inc. Joint coding method for images and videos with multiple arbitrarily shaped segments or objects
US8050329B2 (en) * 1998-06-26 2011-11-01 Mediatek Inc. Method and apparatus for generic scalable shape coding
US6215907B1 (en) * 1998-06-26 2001-04-10 Fisher-Rosemont Systems, Inc. Recursive on-line wavelet data compression technique for use in data storage and communications
US6310978B1 (en) * 1998-10-01 2001-10-30 Sharewave, Inc. Method and apparatus for digital data compression
AUPP686498A0 (en) * 1998-10-30 1998-11-26 Canon Kabushiki Kaisha A decoder for decoding a coded representation of a digital image
US6606416B1 (en) 1998-10-30 2003-08-12 Canon Kabushiki Kaisha Encoding method and apparatus for representing a digital image
US6463177B1 (en) * 1998-11-04 2002-10-08 Sharp Laboratories Of America, Inc. Dynamic management of embedded coded images in a digital storage device
US6487319B1 (en) * 1998-11-18 2002-11-26 Sarnoff Corporation Apparatus and method for identifying the location of a coding unit
US6208276B1 (en) * 1998-12-30 2001-03-27 At&T Corporation Method and apparatus for sample rate pre- and post-processing to achieve maximal coding gain for transform-based audio encoding and decoding
US6718065B1 (en) * 1999-02-04 2004-04-06 Quvis, Inc. Optimized signal quantification
KR20010101951A (ko) * 1999-02-04 2001-11-15 추후제출 확률적 공진과 에너지 대체를 사용하여 압축 영상의외형을 개선하는 시스템 및 방법
JP2002536896A (ja) * 1999-02-04 2002-10-29 クビス・インク 最適化された信号定量化
EP1030524A1 (en) * 1999-02-19 2000-08-23 Alcatel Method for encoding a digital image and coder
US6215908B1 (en) * 1999-02-24 2001-04-10 Intel Corporation Symmetric filtering based VLSI architecture for image compression
JP2000295618A (ja) * 1999-03-08 2000-10-20 Texas Instr Inc <Ti> 埋込み型ゼロトリーパターン及びビットプレーンを使用する画像符号化方法
US6633679B1 (en) 1999-03-23 2003-10-14 Teletechnologies, Ltd. Visually lossless still image compression for CMYK, CMY and Postscript formats
CN1197253C (zh) 1999-04-15 2005-04-13 株式会社理光 数据高速压缩伸展方法及其装置
US6643406B1 (en) 1999-07-28 2003-11-04 Polaroid Corporation Method and apparatus for performing linear filtering in wavelet based domain
US7065253B2 (en) 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
US6594391B1 (en) * 1999-09-03 2003-07-15 Lucent Technologies Inc. Method and apparatus for texture analysis and replicability determination
US6956903B2 (en) * 2001-05-29 2005-10-18 Intel Corporation Method and apparatus for three-dimensional wavelet transform
US6834123B2 (en) * 2001-05-29 2004-12-21 Intel Corporation Method and apparatus for coding of wavelet transformed coefficients
US6771829B1 (en) * 1999-10-23 2004-08-03 Fastvdo Llc Method for local zerotree image coding
US6549673B1 (en) * 1999-10-28 2003-04-15 Lucent Technologies Inc. Wavelet-based compression of images for storage, transmission and reconstruction using hierarchical subband decomposition
JP2001136524A (ja) * 1999-11-02 2001-05-18 Ricoh Co Ltd 圧縮伸長装置
US6912250B1 (en) 1999-11-12 2005-06-28 Cornell Research Foundation Inc. System and methods for precursor cancellation of intersymbol interference in a receiver
TW452708B (en) * 1999-11-24 2001-09-01 Winbond Electronics Corp Architecture for fast compression of 2-dimensional image data
US8204924B1 (en) 1999-12-06 2012-06-19 Hrl Laboratories, Llc Variable precision wavelets
US6671413B1 (en) * 2000-01-24 2003-12-30 William A. Pearlman Embedded and efficient low-complexity hierarchical image coder and corresponding methods therefor
AUPQ618500A0 (en) 2000-03-13 2000-04-06 Canon Kabushiki Kaisha Memory management of compressed images data
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
EP1152620A3 (en) * 2000-04-28 2002-09-11 Avxing International Ltd. Image coding embedded in matrix operation
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US6678422B1 (en) * 2000-08-30 2004-01-13 National Semiconductor Corporation Method and apparatus for image data compression with low memory requirement
US7239424B1 (en) * 2000-09-08 2007-07-03 Ricoh Co., Ltd. Wavelet-based image processing path
WO2002035849A1 (en) * 2000-10-24 2002-05-02 Eyeball Networks Inc. Three-dimensional wavelet-based scalable video compression
AUPR192700A0 (en) 2000-12-06 2001-01-04 Canon Kabushiki Kaisha Storing coding image data in storage of fixed memory size
US7069545B2 (en) * 2000-12-29 2006-06-27 Intel Corporation Quantization and compression for computation reuse
US6895120B2 (en) * 2001-03-30 2005-05-17 Ricoh Co., Ltd. 5,3 wavelet filter having three high pair and low pair filter elements with two pairs of cascaded delays
AUPR433901A0 (en) * 2001-04-10 2001-05-17 Lake Technology Limited High frequency signal construction method
WO2002091222A1 (en) * 2001-05-07 2002-11-14 Hrl Laboratories, Llc System, method and computer readable medium for a signal subband coder
US6697521B2 (en) * 2001-06-15 2004-02-24 Nokia Mobile Phones Ltd. Method and system for achieving coding gains in wavelet-based image codecs
DE10129240A1 (de) 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
US7082450B2 (en) * 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US7876820B2 (en) * 2001-09-04 2011-01-25 Imec Method and system for subband encoding and decoding of an overcomplete representation of the data structure
JP3796432B2 (ja) * 2001-10-31 2006-07-12 キヤノン株式会社 フィルタ処理装置およびフィルタ処理方法
JP4002502B2 (ja) * 2001-11-27 2007-11-07 三星電子株式会社 座標インタポレータの符号化/復号化装置及びその方法
US7460722B2 (en) * 2002-01-11 2008-12-02 Canon Kabushiki Kaisha Encoding of digital data with determination of sample path
FR2834855B1 (fr) * 2002-01-11 2004-04-02 Canon Kk Codage de donnees numeriques avec determination de parcours d'echantillons
US7317840B2 (en) * 2002-02-26 2008-01-08 Decegama Angel Methods for real-time software video/audio compression, transmission, decompression and display
US7630569B2 (en) * 2002-02-26 2009-12-08 Decegama Angel Real-time software video/audio transmission and display with content protection against camcorder piracy
US20030198395A1 (en) * 2002-04-19 2003-10-23 Droplet Technology, Inc. Wavelet transform system, method and computer program product
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
JP4090293B2 (ja) * 2002-06-28 2008-05-28 三洋電機株式会社 動画像再生装置
DE10229706A1 (de) * 2002-07-02 2004-12-09 T-Mobile Deutschland Gmbh Verfahren zur Speicherplatzverwaltung in einem Speichrmedium eines digitalen Endgeräts bei einer Datenspeicherung nach dem Verfahren der priorisierten Pixelübertragung
JP3902990B2 (ja) * 2002-07-02 2007-04-11 キヤノン株式会社 アダマール変換処理方法及びその装置
US7239754B2 (en) * 2002-07-16 2007-07-03 Hiroshi Akimoto Method, apparatus and system for compressing still images in multipurpose compression systems
EP1734511B1 (en) * 2002-09-04 2009-11-18 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
JP2004104347A (ja) * 2002-09-06 2004-04-02 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
JP3956360B2 (ja) * 2002-09-30 2007-08-08 株式会社リコー 撮像装置及び画像処理方法
FR2846179B1 (fr) * 2002-10-21 2005-02-04 Medialive Embrouillage adaptatif et progressif de flux audio
JP2004153751A (ja) * 2002-11-01 2004-05-27 Ricoh Co Ltd 画像処理装置及び画像処理方法
US7463782B2 (en) * 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
US7330597B2 (en) * 2002-11-22 2008-02-12 Texas Instruments Incorporated Image compression
FR2849980B1 (fr) * 2003-01-15 2005-04-08 Medialive Procede pour la distribution de sequences video, decodeur et systeme pour la mise en oeuvre de ce prodede
AU2003900531A0 (en) * 2003-01-30 2003-02-20 Canon Kabushiki Kaisha Compression into a fixed buffer
FR2852179A1 (fr) 2003-03-06 2004-09-10 Thomson Licensing Sa Procede de codage d'une image video
FR2853786B1 (fr) * 2003-04-11 2005-08-05 Medialive Procede et equipement de distribution de produits videos numeriques avec une restriction de certains au moins des droits de representation et de reproduction
JP4135617B2 (ja) * 2003-09-08 2008-08-20 ソニー株式会社 画像符号化装置及び方法
EP2713619A3 (en) * 2003-11-18 2015-01-07 Mobile Imaging in Sweden AB Method for processing a digital image and image representation format
US20050228654A1 (en) * 2004-03-30 2005-10-13 Yolanda Prieto Method and apparatus for improved bit rate efficiency in wavelet based codecs by means of subband correlation
US7653255B2 (en) 2004-06-02 2010-01-26 Adobe Systems Incorporated Image region of interest encoding
US7570286B2 (en) * 2005-05-27 2009-08-04 Honda Motor Co., Ltd. System and method for creating composite images
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
WO2007028241A2 (en) * 2005-09-07 2007-03-15 Universal Data Protection Corporation Method and system for data security of recording media
US20070071331A1 (en) * 2005-09-24 2007-03-29 Xiteng Liu Image compression by economical quaternary reaching method
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
JP2007188211A (ja) * 2006-01-12 2007-07-26 Matsushita Electric Ind Co Ltd 画像処理装置、撮像装置、画像処理方法およびそのプログラム
US20070162531A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US20070290899A1 (en) * 2006-06-19 2007-12-20 Donald Martin Monro Data coding
JP4424522B2 (ja) * 2006-07-13 2010-03-03 日本電気株式会社 符号化及び復号化装置ならびに符号化方法及び復号方法
JP4182446B2 (ja) * 2006-07-14 2008-11-19 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7689049B2 (en) * 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) * 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) * 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
JP4732316B2 (ja) * 2006-12-07 2011-07-27 キヤノン株式会社 画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
US10194175B2 (en) * 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US20080218809A1 (en) * 2007-03-08 2008-09-11 Wen Wu Chen Method and architecture of sending and receiving facsimile over instant messaging software
WO2008126139A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited 画像データ圧縮装置及び復号装置
EP1980956A1 (en) * 2007-04-12 2008-10-15 Deutsche Thomson OHG Method and apparatus for selectively reducing noise in a digital signal
PT3399756T (pt) 2007-04-12 2020-10-13 Dolby Int Ab Disposição em mosaico na codificação e descodificação de vídeo
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US7511639B2 (en) * 2007-07-12 2009-03-31 Monro Donald M Data compression for communication between two or more components in a system
US7737869B2 (en) * 2007-07-12 2010-06-15 Monro Donald M Symbol based data compression
US8144037B2 (en) * 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7671767B2 (en) * 2007-07-12 2010-03-02 Donald Martin Monro LIFO radix coder for electrical computers and digital data processing systems
US7511638B2 (en) * 2007-07-12 2009-03-31 Monro Donald M Data compression for communication between two or more components in a system
US7990289B2 (en) * 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US7545291B2 (en) * 2007-07-12 2009-06-09 Donald Martin Monro FIFO radix coder for electrical computers and digital data processing systems
US8055085B2 (en) * 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7548176B2 (en) * 2007-07-12 2009-06-16 Donald Martin Monro Data coding buffer for electrical computers and digital data processing systems
US7602316B2 (en) * 2007-07-12 2009-10-13 Monro Donald M Data coding/decoding for electrical computers and digital data processing systems
GB0716158D0 (en) * 2007-08-17 2007-09-26 Imagination Tech Ltd Data compression
US8238677B2 (en) * 2008-03-07 2012-08-07 International Business Machines Corporation Adaptive lossless data compression method for compression of color image data
JP4875649B2 (ja) * 2008-03-19 2012-02-15 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US20100002147A1 (en) * 2008-07-02 2010-01-07 Horizon Semiconductors Ltd. Method for improving the deringing filter
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US7786903B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7791513B2 (en) * 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
KR101676059B1 (ko) * 2009-01-26 2016-11-14 톰슨 라이센싱 비디오 코딩을 위한 프레임 패킹
WO2010087809A1 (en) * 2009-01-27 2010-08-05 Thomson Licensing Methods and apparatus for transform selection in video encoding and decoding
CN102131081A (zh) * 2010-01-13 2011-07-20 华为技术有限公司 混合维度编解码方法和装置
JP5722349B2 (ja) 2010-01-29 2015-05-20 トムソン ライセンシングThomson Licensing ブロックに基づくインターリーブ
US8559741B2 (en) * 2010-06-02 2013-10-15 Altek Corporation Lossless image compression method
US8793391B2 (en) * 2010-11-30 2014-07-29 Deutsche Telekom Ag Distortion-aware multihomed scalable video streaming to multiple clients
US9706214B2 (en) * 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US8917950B2 (en) 2011-01-18 2014-12-23 Sony Corporation Simplifying parametric loop filters
US8494290B2 (en) * 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US8537171B2 (en) * 2011-05-13 2013-09-17 Samsung Display Co., Ltd. Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space
US9948928B2 (en) 2011-07-20 2018-04-17 Nxp Usa, Inc. Method and apparatus for encoding an image
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
JP5966347B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966346B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
WO2013179101A1 (en) * 2012-06-01 2013-12-05 Freescale Semiconductor, Inc. Method and apparatus for performing compression of image data
KR102056686B1 (ko) * 2013-02-18 2019-12-18 삼성디스플레이 주식회사 영상 처리부, 이를 포함하는 표시 장치 및 이를 이용한 영상 처리 방법
FR3005816B1 (fr) * 2013-05-17 2019-11-29 Jean-Claude Colin Procede pour encoder, notamment des images compressees, notamment par "range coder" ou compression arithmetique.
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
US9674554B2 (en) 2014-10-28 2017-06-06 Sony Corporation Image processing system with coding mode and method of operation thereof
US9294782B1 (en) 2014-10-28 2016-03-22 Sony Corporation Image processing system with artifact reduction mechanism and method of operation thereof
US9357232B2 (en) 2014-10-28 2016-05-31 Sony Corporation Image processing system with binary decomposition and method of operation thereof
US10356410B2 (en) 2014-10-28 2019-07-16 Sony Corporation Image processing system with joint encoding and method of operation thereof
US9357237B2 (en) 2014-10-28 2016-05-31 Sony Corporation Image processing system with bitstream reduction and method of operation thereof
US10063889B2 (en) 2014-10-28 2018-08-28 Sony Corporation Image processing system with conditional coding and method of operation thereof
US10917663B2 (en) 2015-09-18 2021-02-09 Koninklijke Philips N.V. Method and apparatus for fast and efficient image compression and decompression
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video
US10462490B2 (en) * 2015-11-06 2019-10-29 Raytheon Company Efficient video data representation and content based video retrieval framework
AU2017204643B2 (en) 2017-07-07 2020-05-14 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
GB2605931B (en) * 2017-10-18 2023-05-10 Frank Donnelly Stephen Entropy and value based packet truncation
US11109046B2 (en) * 2018-02-14 2021-08-31 Sony Corporation Image processing apparatus and image processing method
CN110545445A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种视频压缩方法及装置、服务器及计算机可读存储介质
CN109067405B (zh) * 2018-07-27 2022-10-11 深圳市元征科技股份有限公司 一种数据压缩的方法、装置、终端及计算机可读存储介质
WO2021197407A1 (en) * 2020-04-02 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Video coding using adaptation parameter sets

Family Cites Families (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3506327A (en) 1964-04-23 1970-04-14 Battelle Development Corp Wavefront reconstruction using a coherent reference beam
US3950103A (en) 1972-10-27 1976-04-13 Canadian Patents And Development Limited Method and apparatus to determine spatial distribution of magnitude and phase of electro-magnetic fields especially optical fields
DE2640157C2 (de) 1976-09-07 1982-10-07 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern
DE2640140C2 (de) 1976-09-07 1982-10-07 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und Anordnung zur redundanzvermindernden Bildcodierung
US4136954A (en) 1976-12-29 1979-01-30 Jamieson John A Imaging apparatus including spatial-spectral interferometer
US4223354A (en) 1978-08-30 1980-09-16 General Electric Company Phase corrected raster scanned light modulator and a variable frequency oscillator for effecting phase correction
US4393456A (en) 1981-03-19 1983-07-12 Bell Telephone Laboratories, Incorporated Digital filter bank
DE3171311D1 (en) 1981-07-28 1985-08-14 Ibm Voice coding method and arrangment for carrying out said method
US4437087A (en) * 1982-01-27 1984-03-13 Bell Telephone Laboratories, Incorporated Adaptive differential PCM coding
US4674125A (en) 1983-06-27 1987-06-16 Rca Corporation Real-time hierarchal pyramid signal processing apparatus
US4599567A (en) 1983-07-29 1986-07-08 Enelf Inc. Signal representation generator
US4652881A (en) 1984-01-10 1987-03-24 Lewis Bernard L Efficient adaptive filter bank
FR2577084B1 (fr) 1985-02-01 1987-03-20 Trt Telecom Radio Electr Systeme de bancs de filtres d'analyse et de synthese d'un signal
US4701006A (en) 1985-02-20 1987-10-20 Stanford University Optical-digital hologram recording
US4751742A (en) * 1985-05-07 1988-06-14 Avelex Priority coding of transform coefficients
GB2181318B (en) 1985-10-04 1989-12-28 Sony Corp Two-dimensional finite impulse response filters
US4760563A (en) 1986-01-09 1988-07-26 Schlumberger Technology Corporation Seismic exploration using exactly invertible discrete transformation into tau-p space
US4929223A (en) 1986-02-18 1990-05-29 Adolph Coors Company Packaging alignment system
DE3732085A1 (de) 1986-03-26 1989-04-06 Ant Nachrichtentech Digitaler filterbaum
US4663660A (en) 1986-06-20 1987-05-05 Rca Corporation Compressed quantized image-data transmission technique suitable for use in teleconferencing
GB8621994D0 (en) * 1986-09-12 1986-10-22 Crosfield Electronics Ltd Image processing
US4868868A (en) 1986-09-30 1989-09-19 Oki Electric Industry Co., Ltd. Sub-band speech analyzing and synthesizing device
FR2606576B1 (fr) 1986-11-07 1989-02-03 Labo Electronique Physique Dispositif pour transmettre des images de television haute definition dans des canaux a bande etroite
GB2197766B (en) 1986-11-17 1990-07-25 Sony Corp Two-dimensional finite impulse response filter arrangements
US4815023A (en) 1987-05-04 1989-03-21 General Electric Company Quadrature mirror filters with staggered-phase subsampling
US4817182A (en) 1987-05-04 1989-03-28 General Electric Company Truncated subband coding of images
US4774574A (en) * 1987-06-02 1988-09-27 Eastman Kodak Company Adaptive block transform image coding method and apparatus
BE1000643A5 (fr) * 1987-06-05 1989-02-28 Belge Etat Procede de codage de signaux d'image.
DE3853555T2 (de) 1987-06-09 1995-08-17 Sony Corp Verarbeitung des Bewegungsvektors in digitalen Fernsehbildern.
US4837517A (en) 1987-07-16 1989-06-06 Schlumberger Technology Corporation Spatial frequency method and apparatus for investigating earth conductivity with high vertical resolution by induction techniques
US4785349A (en) 1987-10-05 1988-11-15 Technology Inc. 64 Digital video decompression system
US4936665A (en) 1987-10-25 1990-06-26 Whitney Theodore R High resolution imagery systems and methods
US5156943A (en) 1987-10-25 1992-10-20 Whitney Theodore R High resolution imagery systems and methods
US5028995A (en) * 1987-10-28 1991-07-02 Hitachi, Ltd. Picture signal processor, picture signal coder and picture signal interpolator
US4827336A (en) 1987-12-18 1989-05-02 General Electric Company Symbol code generation processing from interframe DPCM of TDM'd spatial-frequency analyses of video signals
US5018210A (en) 1988-03-25 1991-05-21 Texas Instruments Incorporated Pattern comparator with substage illumination and polygonal data representation
US5001764A (en) 1988-03-25 1991-03-19 Texas Instruments Incorporated Guardbands for pattern inspector
US4985927A (en) 1988-03-25 1991-01-15 Texas Instruments Incorporated Method of detecting and reviewing pattern defects
US5095447A (en) 1988-03-25 1992-03-10 Texas Instruments Incorporated Color overlay of scanned and reference images for display
US4897717A (en) 1988-03-30 1990-01-30 Starsignal, Inc. Computer-based video compression system
EP0339589A3 (en) * 1988-04-28 1992-01-02 Sharp Kabushiki Kaisha Orthogonal transform coding system for image data
US4982283A (en) 1988-05-06 1991-01-01 General Electric Company Line-sequential pyramid processing of a plurality of raster-scanned image variables
US4899147A (en) * 1988-06-03 1990-02-06 Unisys Corporation Data compression/decompression apparatus with throttle, start-up and backward read controls
US4829378A (en) 1988-06-09 1989-05-09 Bell Communications Research, Inc. Sub-band coding of images with low computational complexity
US4904073A (en) 1988-08-10 1990-02-27 Aware, Inc. Fractal tiling for multiple mirror optical devices
FR2637400B1 (fr) 1988-09-30 1990-11-09 Labo Electronique Physique Dispositif de traitement ameliore d'un signal echographique
US4929946A (en) * 1989-02-09 1990-05-29 Storage Technology Corporation Adaptive data compression apparatus including run length encoding for a tape drive system
FR2643986B1 (fr) 1989-03-03 1991-05-17 Thomson Csf Procede d'analyse d'un signal par ondelettes
US4918524A (en) 1989-03-14 1990-04-17 Bell Communications Research, Inc. HDTV Sub-band coding using IIR filter bank
JPH02305182A (ja) 1989-05-19 1990-12-18 Fuji Photo Film Co Ltd 画像信号圧縮符号化装置
US5072308A (en) 1989-06-21 1991-12-10 International Mobile Machines Corporation Communication signal compression system and method
US4987480A (en) 1989-07-11 1991-01-22 Massachusetts Institute Of Technology Multiscale coding of images
US4974187A (en) 1989-08-02 1990-11-27 Aware, Inc. Modular digital signal processing system
US5073964A (en) 1989-08-04 1991-12-17 Aware, Inc. Signal processing device and method
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
US5014134A (en) * 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus
US5235435A (en) 1989-11-08 1993-08-10 Adobe Systems Incorporated Method of producing halftone images
US5097261A (en) * 1989-11-22 1992-03-17 International Business Machines Corporation Data compression for recording on a record medium
US5173880A (en) 1989-12-26 1992-12-22 Exxon Production Research Company Method of generating seismic wavelets using seismic range equation
US5068911A (en) 1990-02-09 1991-11-26 Aware, Inc. Method and apparatus for representing an image
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
US4999705A (en) * 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding
US5384725A (en) * 1990-05-18 1995-01-24 Yale University Method and apparatus for encoding and decoding using wavelet-packets
DE4016172C1 (ja) 1990-05-19 1991-03-28 Werner 5900 Siegen De Ackermann
US5101446A (en) 1990-05-31 1992-03-31 Aware, Inc. Method and apparatus for coding an image
US5128757A (en) 1990-06-18 1992-07-07 Zenith Electronics Corporation Video transmission system using adaptive sub-band coding
DE69028772T2 (de) 1990-07-11 1997-04-03 Philips Electronics Nv Vorrichtung zur Ableitung eines kompatiblen Zeilensprungfernsehsignals mit geringer Auflösung und anderen Komponenten eines hochauflösenden Zeilensprungfernsehsignals sowie Vorrichtung zur Wiederherstellung des Originalsignals
US5148498A (en) 1990-08-01 1992-09-15 Aware, Inc. Image coding apparatus and method utilizing separable transformations
US5081645A (en) 1990-08-06 1992-01-14 Aware, Inc. Novel spread spectrum codec apparatus and method
US5128791A (en) 1990-08-13 1992-07-07 Bell Communications Research, Inc. Multi-channel HDTV system
US5097331A (en) 1990-08-24 1992-03-17 Bell Communications Research, Inc. Multiple block-size transform video coding using an asymmetric sub-band structure
US5049992A (en) 1990-08-27 1991-09-17 Zenith Electronics Corporation HDTV system with receivers operable at different levels of resolution
US5049993A (en) 1990-10-03 1991-09-17 Bell Communications Research, Inc. Format conversion preprocessing method and circuit
GB2252002B (en) * 1991-01-11 1995-01-04 Sony Broadcast & Communication Compression of video signals
JP3012698B2 (ja) * 1991-01-29 2000-02-28 オリンパス光学工業株式会社 画像データの符号化装置および符号化方法
US5121191A (en) 1991-03-15 1992-06-09 Aware, Inc. Method and apparatus for coding motion pictures
US5276525A (en) * 1991-03-22 1994-01-04 Bell Communications Research, Inc. Two-dimensional block scanning for subband image and video coding
US5262958A (en) 1991-04-05 1993-11-16 Texas Instruments Incorporated Spline-wavelet signal analyzers and methods for processing signals
JPH04323963A (ja) * 1991-04-23 1992-11-13 Canon Inc 画像処理方法及び装置
US5235434A (en) * 1991-06-27 1993-08-10 Polaroid Corporation Method and apparatus for selectively adjusting the brightness of large regions of an image
US5315670A (en) * 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
GB2262854B (en) * 1991-12-24 1995-05-24 Sony Broadcast & Communication Image processing apparatus
US5347479A (en) * 1991-12-27 1994-09-13 Nec Corporation Small-size wavelet transform apparatus
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
US5321776A (en) * 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
KR0150955B1 (ko) * 1992-05-27 1998-10-15 강진구 비트고정을 위한 영상압축방법과 신장방법 및 그 장치
US5511151A (en) * 1992-06-10 1996-04-23 Canon Information Systems, Inc. Method and apparatus for unwinding image data
US5303200A (en) * 1992-07-02 1994-04-12 The Boeing Company N-dimensional multi-port memory
US5272478A (en) * 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
US5379355A (en) * 1992-08-24 1995-01-03 Ricoh Corporation Data encoding using one or more adaptive decision trees
JPH06125543A (ja) * 1992-10-12 1994-05-06 Toshiba Corp 符号化装置
US5638498A (en) * 1992-11-10 1997-06-10 Adobe Systems Incorporated Method and apparatus for reducing storage requirements for display data
US5631977A (en) * 1992-12-08 1997-05-20 Fuji Xerox Co., Ltd. Encoding device for encoding an image along an order determined by resolution tone level
JP3293920B2 (ja) * 1993-01-22 2002-06-17 キヤノン株式会社 画像処理装置およびその方法
US5563960A (en) * 1993-01-22 1996-10-08 David Sarnoff Research Center, Inc. Apparatus and method for emphasizing a selected region in the compressed representation of an image
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
US5414780A (en) * 1993-01-27 1995-05-09 Immix Method and apparatus for image data transformation
IL104636A (en) * 1993-02-07 1997-06-10 Oli V R Corp Ltd Apparatus and method for encoding and decoding digital signals
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5420891A (en) 1993-03-18 1995-05-30 New Jersey Institute Of Technology Multiplierless 2-band perfect reconstruction quadrature mirror filter (PR-QMF) banks
EP0622741A3 (en) 1993-03-30 1998-12-30 KLICS, Ltd. Device and method for data compression/decompression
US5546477A (en) * 1993-03-30 1996-08-13 Klics, Inc. Data compression and decompression
AU6381394A (en) 1993-03-30 1994-10-24 Lewis, Adrian S. Data compression and decompression
JP3499254B2 (ja) 1993-06-04 2004-02-23 富士写真フイルム株式会社 画像データ圧縮処理方法
GB2281465B (en) * 1993-08-27 1997-06-04 Sony Uk Ltd Image data compression
US5495292A (en) 1993-09-03 1996-02-27 Gte Laboratories Incorporated Inter-frame wavelet transform coder for color video compression
US5717789A (en) * 1993-09-08 1998-02-10 California Institute Of Technology Image enhancement by non-linear extrapolation in frequency space
JP3282138B2 (ja) 1993-09-08 2002-05-13 富士写真フイルム株式会社 画像データ圧縮処理方法および画像データ再構成方法
IL107658A0 (en) 1993-11-18 1994-07-31 State Of Israel Ministy Of Def A system for compaction and reconstruction of wavelet data
US5453945A (en) * 1994-01-13 1995-09-26 Tucker; Michael R. Method for decomposing signals into efficient time-frequency representations for data compression and recognition
EP0739570A1 (en) * 1994-01-14 1996-10-30 Houston Advanced Research Center Boundary-spline-wavelet compression for video images
US5541594A (en) * 1994-03-28 1996-07-30 Utah State University Foundation Fixed quality source coder with fixed threshold
US5534925A (en) * 1994-05-02 1996-07-09 Cognitech Inc. Image compression by optimal reconstruction
US5602589A (en) * 1994-08-19 1997-02-11 Xerox Corporation Video image compression using weighted wavelet hierarchical vector quantization
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6195465B1 (en) * 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
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
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
US5604824A (en) 1994-09-22 1997-02-18 Houston Advanced Research Center Method and apparatus for compression and decompression of documents and the like using splines and spline-wavelets
GB2295936B (en) * 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
KR0159434B1 (ko) * 1995-04-19 1999-01-15 김광호 휴먼 비쥬얼 시스템 모델링을 이용한 웨이블렛 영상 압축/복원장치 및 방법
JP2840589B2 (ja) * 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US6088062A (en) * 1996-10-29 2000-07-11 Sony Corporation Picture signal processing apparatus
US6031940A (en) * 1996-11-27 2000-02-29 Teralogic, Inc. System and method for efficiently encoding video frame sequences
US5909518A (en) * 1996-11-27 1999-06-01 Teralogic, Inc. System and method for performing wavelet-like and inverse wavelet-like transformations of digital data
US6020975A (en) * 1996-12-20 2000-02-01 Apple Computer, Inc. System and method for accelerated data recompression
US5999656A (en) * 1997-01-17 1999-12-07 Ricoh Co., Ltd. Overlapped reversible transforms for unified lossless/lossy compression
TW341018B (en) * 1997-09-23 1998-09-21 Winbond Electronics Corp The compress and de-compress apparatus for video signal and its method
US6237010B1 (en) * 1997-10-06 2001-05-22 Canon Kabushiki Kaisha Multimedia application using flashpix file format
US6229929B1 (en) * 1998-05-14 2001-05-08 Interval Research Corporation Border filtering of video signal blocks
US6236765B1 (en) * 1998-08-05 2001-05-22 Intel Corporation DWT-based up-sampling algorithm suitable for image display in an LCD panel
US6263109B1 (en) * 1998-09-25 2001-07-17 Hewlett-Packard Company Context-based ordering and coding of transform coefficient bit-planes for embedded bitstreams
SE513353C2 (sv) * 1998-10-21 2000-08-28 Ericsson Telefon Ab L M Partiell hämtning av bilder i den komprimerade domänen
US6201897B1 (en) * 1998-11-09 2001-03-13 Earth Resource Mapping Transformation and selective inverse transformation of large digital images
US6356668B1 (en) * 1998-12-29 2002-03-12 Eastman Kodak Company Method for efficient rate control
US6339658B1 (en) * 1999-03-09 2002-01-15 Rockwell Science Center, Llc Error resilient still image packetization method and packet structure
US6546143B1 (en) * 1999-03-12 2003-04-08 Hewlett-Packard Development Company Efficient wavelet-based compression of large images
US6350989B1 (en) * 1999-04-23 2002-02-26 Sandia National Laboratories Wafer-fused semiconductor radiation detector
US6549673B1 (en) * 1999-10-28 2003-04-15 Lucent Technologies Inc. Wavelet-based compression of images for storage, transmission and reconstruction using hierarchical subband decomposition
JP4367880B2 (ja) * 1999-12-09 2009-11-18 キヤノン株式会社 画像処理装置及びその方法並びに記憶媒体

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023796A3 (ko) * 2010-08-17 2012-05-10 삼성전자 주식회사 가변적 트리 구조의 변환 단위를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법 및 그 장치
CN103181168A (zh) * 2010-08-17 2013-06-26 三星电子株式会社 使用可变树结构变换单元的视频编码方法和设备以及视频解码方法和设备
AU2015203115B2 (en) * 2010-08-17 2015-08-13 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
AU2015203116B2 (en) * 2010-08-17 2015-08-20 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US9648349B2 (en) 2010-08-17 2017-05-09 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US9654800B2 (en) 2010-08-17 2017-05-16 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US9654799B2 (en) 2010-08-17 2017-05-16 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US9661347B2 (en) 2010-08-17 2017-05-23 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US9674553B2 (en) 2010-08-17 2017-06-06 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
US10154287B2 (en) 2010-08-17 2018-12-11 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
CN108880604A (zh) * 2018-06-28 2018-11-23 河南机电职业学院 一种扩频通信***中多分量调频干扰抑制方法和装置
CN108880604B (zh) * 2018-06-28 2021-05-14 河南机电职业学院 一种扩频通信***中多分量调频干扰抑制方法和装置

Also Published As

Publication number Publication date
US20070116369A1 (en) 2007-05-24
JP3436832B2 (ja) 2003-08-18
US6222941B1 (en) 2001-04-24
DE19534943B4 (de) 2006-01-12
JP2003179498A (ja) 2003-06-27
JPH08139935A (ja) 1996-05-31
NL1001248C2 (nl) 1997-06-04
US7492955B2 (en) 2009-02-17
US5748786A (en) 1998-05-05
JP2005304054A (ja) 2005-10-27
JP2003274186A (ja) 2003-09-26
DE19534943A1 (de) 1996-03-28
JP3800552B2 (ja) 2006-07-26
JP2005304055A (ja) 2005-10-27
US20060222254A1 (en) 2006-10-05
NL1001248A1 (nl) 1996-03-21

Similar Documents

Publication Publication Date Title
JP3800552B2 (ja) 符号化方法及び装置
JP3800551B2 (ja) データ処理装置及び方法
JP3693988B2 (ja) 通信管理システム及び通信管理方法
US7167592B2 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
JP3302229B2 (ja) 符号化方法、符号化/復号方法及び復号方法
GB2293733A (en) Apparatus for image data compression using reversible embedded waveletts
JP2007267384A (ja) 圧縮装置及び圧縮方法
GB2302244A (en) Wavelet transform filter
GB2313757A (en) Method using an embedded codestream
GB2302488A (en) Image data compression using embedded coding

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060419