JPH07168809A - ウェーブレット変換方法及びウェーブレット変換回路 - Google Patents

ウェーブレット変換方法及びウェーブレット変換回路

Info

Publication number
JPH07168809A
JPH07168809A JP6083939A JP8393994A JPH07168809A JP H07168809 A JPH07168809 A JP H07168809A JP 6083939 A JP6083939 A JP 6083939A JP 8393994 A JP8393994 A JP 8393994A JP H07168809 A JPH07168809 A JP H07168809A
Authority
JP
Japan
Prior art keywords
data
block
data values
value
values
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
JP6083939A
Other languages
English (en)
Inventor
Gregory P Knowles
グレゴリー・ピー・ノウルズ
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.)
Klics Ltd
Original Assignee
Klics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/040,301 external-priority patent/US5546477A/en
Application filed by Klics Ltd filed Critical Klics Ltd
Publication of JPH07168809A publication Critical patent/JPH07168809A/ja
Pending legal-status Critical Current

Links

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
    • 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/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Dc Digital Transmission (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 前方向の分離状ウェーブレット変換及びツリ
ー符号化方法を使用して原入力デジタルデータストリー
ムから符号化され圧縮されたデジタルデータストリーム
を作成する。 【構成】 入力デジタルデータストリームはビデオ画像
データ値のストリームであり得る。装置は、符号化され
圧縮されたデジタルデータストリーム(DS)から原入
力DSに極めて類似した符号化及び圧縮DSを作成する
こともできる。前方向変換分離状ウェーブレット処理の
ための二重コンボルバが開示され、これはまた符合する
逆方向変換分離状ウェーブレット処理のフィルタも遂行
する。二重コンボルバの一部はまた前方向分離状ウェー
ブレット処理の前にデジタルビデオ画像データ値の入力
するストリームのフィルタに使用することができる。デ
ータ値を記憶するメモリ量を削減すると同様に、メモリ
へのデータ値の読み出しそして書き込みのためのアドレ
スを発生する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタル方式でエンコ
ードされたデータを圧縮、解凍、転送、及びまたは記憶
するための装置に関し、特に、デジタルビデオ画像デー
タの圧縮及び解凍に関する。
【0002】
【従来の技術】従来のデータ圧縮・解凍方法は、人間の
視覚がSN比に極めて鈍感であるという事実をほんの部
分的にしか利用していない。従って、従来の規格に固有
な複雑さというものは、人間の目を対象とすることを考
慮するとかなり無駄な部分を含んでいる。しかもこれら
の規格は、イメージの面積によりコード化を行うもので
あって、人間の視覚にとってより重要であるエッジのよ
うな情報についてとくに敏感ではない。
【0003】
【発明が解決しようとする課題】このような現代の圧縮
規格が人間の視覚特性に適合していないことを考慮する
と、後記するような境界に関する問題に対処し、人間の
視覚が、SN比よりもエッジ型の情報に敏感であるとい
う事実に着目し、これらの方法の複雑さを解消し、経済
性を高めるような新たな圧縮及び解凍方式がのぞまれて
いる。
【0004】
【課題を解決するための手段】上述された目的は、係数
Xを有する第1のデジタルフィルタと、前記係数X未満
であって、相互接続されたアキュムレータの数に実質的
に等しい係数Yを有する第2のデジタルフィルタとによ
って、一連の入力画像データ値をフィルタし、一連の変
換画像データ値とするべく、少なくとも1つの加算器回
路と1つの記憶回路より成る複数の相互接続したアキュ
ムレータを使用する過程よりなることを特徴とするウェ
ーブレット変換方法を提供することによって達成され
る。
【0005】
【作用】本発明に基づく装置は、離散ウェーブレット
(wavelet)変換及びツリーデコード方法を用い
た、入力デジタルデータストリームからデコード及び圧
縮されたデジタルデータストリームを生み出すものであ
る。この装置はまた、対応するツリーデコーディング方
法及び対応する逆離散ウェーブレット変換を用いて、デ
コード及び圧縮されたデジタルデータストリームから、
初めの入力デジタルデータストリームに非常に類似した
てデコードされかつ解凍されたデジタルデータストリー
ムを生み出すことができる。この装置は、順離散ウェー
ブレット変換及び対応する逆離散ウェーブレット変換の
何れをも実施するように構成可能な離散ウェーブレット
変換回路を有する。離散ウェーブレット変換回路は、メ
モリに記憶されたデータにアクセスするための適切なア
ドレスを発生させるアドレスジェネレータを有する。デ
ータを記憶するために必要なメモリの合計数を減少さ
せ、かつダイナミックランダムアクセスメモリ(DRA
M)装置を含む様々な記憶装置に有利に構造及び方法が
開示されている。離散ウェーブレット変換回路のコンボ
ルバ回路は離散ウェーブレット変換のための境界フィル
タリング及び非境界フィルタリングの両方を実施し、か
つ逆離散ウェーブレット変換のための開始、奇数、偶数
及び終了再構築フィルタリングを実施する。コンボルバ
回路は、1)次の離散ウェーブレット変換の前に画像デ
ータの数を減少させる、2)順離散ウェーブレット変換
を実施するべく減少された画像データを操作するという
2つの機能を有する。
【0006】この装置はまた、エンコードモード、また
はデコードモードに於て構成されるツリープロセッサ/
エンコーダ・デコーダ回路を有する。エンコードモード
に於て、ツリープロセッサ/エンコーダ・デコーダ回路
はサブバンド分解のデータのツリーを伝達するためのア
ドレスを発生し、トークンを発生し、かつメモリ内に記
憶された選択された転送されたデータを量子化かつハフ
マンコード化する。デコーダモードでは、ツリープロセ
ッサ/エンコーダ・デコーダ回路はハフマンデコードさ
れたデータとトークンとを受信し、デコードされたデー
タをハフマンデコード化し、かつ逆量子化し、トークン
及びデータから変換されたデータのツリーを再構成し、
かつメモリ内にデータの再構成されたツリーを記憶す
る。
【0007】この装置は、限定されるものではないが、
デジタル方式でデコードされたデータの有効な記憶、転
送、再構成が必要とされるその他のデジタルエレクトロ
ニクス分野及びビデオデータの記憶、ビデオデータの転
送、テレビ、ビデオ電話、コンピュータネットワークの
分野で有効である。この装置は、デジタルビデオテープ
(VCRまたは“ビデオカセットデコーダ”として知ら
れている)のビデオ及びまたはオーディオの有効かつ廉
価な記憶と同様に、コンパクトレーザディスク(CDと
して知られている)のビデオ及びオーディオの有効かつ
廉価な圧縮及び記憶を可能とする。同様に、CD及びV
CRテープを含むデジタル式のデータ記憶媒体からビデ
オ及びまたはオーディオの有効かつ廉価な再構成及び解
凍を可能にする。
【0008】
【実施例】本明細書の一部である参考資料Dは、6ペー
ジの紙面からなる。参考資料Dは、ビデオエンコーダ/
デコーダ集積回路チップのツリープロセッサ/エンコー
ダ・デコーダ部分に含まれたCONTROL ENAB
LEブロックの、VHDLハードウェア記述言語による
記述である。本明細書の一部である参考資料Eは、9ペ
ージの紙面からなる。参考資料Eは、ビデオエンコーダ
/デコーダ集積回路チップのツリープロセッサ/エンコ
ーダ・デコーダ部分に含まれたMODE CONTRO
Lブロックの、VHDLハードウェア記述言語による記
述である。本明細書の一部をなす参考資料Fは、9ペー
ジの紙面からなる。参考資料Fは、VHDLハードウェ
ア記述言語で記述された、ビデオエンコーダ/デコーダ
集積回路チップのツリープロセッサ/エンコーダ・デコ
ーダ部分に含まれるCONTROL COUNTERブ
ロックの、VHDLハードウェア記述言語による記述で
ある。
【0009】この特許出願明細書の記述の一部は、著作
権保護の対象となる内容を含む。著作権者は、特許商標
庁の特許ファイルまたは記録によってその特許明細書ま
たは開示内容が明らかになるために、特許明細書または
その開示内容がいかなる者によっても複写によって再生
されることに反対するものではないが、しかし全ての著
作権を保有するものである。参考資料D、E及びFのV
HDLハードウェア記述言語は、IEEE標準1076
−1987である国際標準であり、“IEEEStan
dard VHDL Language Refere
nce Manual”に記載されている。本開示内容
の一部である参考資料Gは、182ページの紙面からな
る。参考資料Gは、ビデオエンコーダ/デコーダ集積回
路チップの1実施例の、VHDLハードウェア記述言語
による記述である。参考資料GのVHDLハードウェア
記述言語は、IEEE標準1076−1987である国
際標準であり、“IEEEStandard VHDL
Language Reference Manua
l”に記述されている。“IEEE Standard
VHDL Language Reference
Manual”は、ニュージャージー州08855,ピ
スカタウェイ,ホーゼライン445のInstitut
e of Electrical and Elect
ronics Engineers、Inc.、(電話
番号1−00−678−4333)から入手することが
できる。
【0010】図1は、パーソナルコンピュータのカード
スロットに挿入可能な拡張プリント回路基板100を示
している。プリント回路基板100は、本発明の様々な
側面に基ずく特徴を表すために用いられる。プリント回
路基板100は、(CDプレーヤーのような)外部ビデ
オソース104からアナログビデオ信号101を受け取
り、そのアナログビデオ信号の情報をデジタル形式のデ
ータに変換し、データを転送かつ圧縮し、かつ圧縮され
たデータを(IBMパーソナルコンピュータまたはIB
Mパーソナルコンピュータと適合するパーソナルコンピ
ュータのISA/NUBUSパラレルバスのような)計
算機データバス106に出力する。この圧縮動作を実施
する一方で、基板100はまた、圧縮されたデータから
再構成可能なビデオ信号をも出力する。このビデオ信号
は外部モニタ108に表示することができる。これによ
って、利用者は、圧縮されたデータが生み出されている
間に、後に圧縮されたデータから再構成される画像の質
を視覚的にチェックすることができる。基板100はま
たパーソナルコンピュータのデータバスから圧縮された
ビデオデータを前もって読み込み、そのデータを解凍及
び逆変換してアナログビデオ信号にし、かつこのアナロ
グビデオ信号を表示するために外部モニタ108に出力
することができる。
【0011】基板100はまた、アナログ/デジタルビ
デオデコーダ110、ビデオエンコーダ/デコーダ集積
回路チップ112、2個のスタティックランダムアクセ
スメモリ(SRAM)ユニット114及び116、ディ
スプレイドライバ118、及びファースイン・ファース
トアウトメモリ120を有する。アナログ/デジタル
(A/D)ビデオデコーダ110は、入力されたアナロ
グビデオ信号111をデジタル形式に変換する。ビデオ
エンコーダ/デコーダチップ112は、デジタル形式の
ビデオ信号を受信し、離散ウェーブレット変換(dis
crete wavelet transform D
WT)機能を実施し、次にツリー処理機能を実施し、次
に対応する圧縮されたデジタルデータストリームを生み
出すべくハフマンデコード機能(Huffman en
coding function)を実施する。メモリ
ユニット116はDWT変換された“新”ビデオフレー
ム及びDWT変換された“旧”ビデオフレームを記憶し
ている。
【0012】ビデオエンコーダ/デコーダチップ112
は、離散ウェーブレット変換回路122及びツリープロ
セッサ/エンコーダ・デコーダ回路124を有する。離
散ウェーブレット変換回路122はチップ112がビデ
オデータを圧縮するように構成されているかまたは圧縮
されたビデオデータを解凍するように構成されているか
によって、順離散ウェーブレット変換または逆離散ウェ
ーブレット変換の何れかを行う。同様に、ツリープロセ
ッサ/エンコーダ・デコーダ回路124は、チップ11
2が圧縮動作を行うように構成されているかまたは解凍
動作を行うように構成されているかによって、ウェーブ
レット変換された画像を圧縮されたデータストリームに
エンコードするかまたは圧縮されたデータストリームを
解凍された画像にデコードするかの何れかの動作を行
う。ビデオエンコーダ/デコーダチップ112はまた、
ダウンロードレジスタバス128を介してコンピュータ
バス106に接続されており、離散ウェーブレット変換
回路122及びツリープロセッサ/エンコーダ・デコー
ダ回路124は、ISAバス106から(画像サイズを
表示する値のような)制御値を受信することができる。
制御値は、変換、ツリー処理、及びエンコーディング/
デコーディング動作を制御するために用いられる。FI
FOバッファ120は、ビデオエンコーダ/デコーダチ
ップ112とデータバス106との間のデータの流れを
バッファする。メモリユニット114は、圧縮されてい
ないデジタルビデオ形式でビデオフレームを記憶する。
ディスプレイドライバチップ118は、デコーダ110
またはメモリユニット114の一方からのデジタルビデ
オデータを、外部モニタ108に表示することのできる
アナログビデオ信号に変換する。
【0013】図2は、アナログ/デジタルビデオデコー
ダ110のブロック図である。アナログ/デジタルビデ
オデコーダ110は、アナログビデオ入力信号101
を、1つの8ビットデジタル画像データ出力信号202
と2つのデジタルビデオSYNC出力信号201に変換
する。8ビットデジタル画像出力信号202は、画素ク
ロミナンス信号U及びVと時分割多重化された画素輝度
信号Yを含む。ビデオSYNC出力信号201は、水平
同期信号及び垂直同期信号を含む。
【0014】図3A〜図3Cは、基板100で用いられ
ている4:1:1の輝度クロミナンスフォーマット
(Y:U:V)を表している。人間の目は、輝度の変化
に対するよりもクロミナンスの変化に対しての感度が低
いために、各画素が、その隣接する3つの画素と8ビッ
トクロミナンス信号Uと8ビットクロミナンス信号Vを
共有するようにクロミナンス信号がサブサンプルされて
いる。画像の左上隅の4個の画素は例えば、[Y00,
U00,V00][Y01,U00,V00][Y1
0,U00,V00]及び[Y11,U00,V00]
で表現される。その右隣にある次の4個の画素は[Y0
2,U01,V01][Y03,U01,V01][Y
12,U01,V01]及び[Y13,U01,V0
1]で表現される。A/Dビデオデコーダ110は、フ
レームの全ての8ビットY輝度信号をシリアルに出力
し、次にフレームの全ての8ビットUクロミナンス信号
をシリアルに出力し、その次にフレームの全ての8ビッ
トVクロミナンス信号をシリアルに出力する。フレーム
のY、U及びV信号は、1/30秒毎に出力される。A
/Dビデオデコーダ110は、ラスタースキャン(RA
STER−SCAM)フォーマットの信号を出力するの
で、画素信号Y00、Y01、Y02...の行が出力
され、次に画素信号Y10、Y11、Y12...の第
2の行が出力され、以下同様に図3Aのフレームの全て
の値が出力される。次に図3Bの信号が、行毎に出力さ
れ、その次に図Cの信号が行毎に出力される。この4:
1:1フォーマットでは、画像のU及びV成分の各々
は、Y成分に含まれるデータの4分の1のデータを含
む。
【0015】図4は、A/Dビデオデコーダ110の出
力の時間に対するグラフである。デコーダ出力のビット
速度は、30フレーム/秒×12ビット/画素に等し
い。例えば、640×400画素の画像に対しては、デ
ータ速度は約110×108ビット/秒である。A/D
ビデオデコーダ110はまた、入力されるアナログビデ
オ入力信号102の水平及び垂直同期信号を検知し、ビ
デオエンコーダ/デコーダチップ112への対応するデ
ジタルビデオSYNC出力信号201を生み出す。
【0016】ビデオエンコーダ/デコーダ集積回路チッ
プ112は、2つの動作モードを有する。集積回路チッ
プ112はビデオデータストリームを圧縮されたデータ
ストリームに順変換かつ圧縮(“エンコード”)する
か、圧縮されたデータストリームをビデオデータストリ
ームに逆変換かつ解凍(“デコード”)する。圧縮モー
ドでは、デジタル画像データ202と同期信号201は
A/Dビデオデコーダ110から、ビデオエンコーダ/
デコーダチップ112内の離散ウェーブレット変換回路
122へ伝達される。離散ウェーブレット変換回路12
2は、画像データに離散ウェーブレット変換動作を実施
し、その結果得られたウェーブレット変換された画像デ
ータをメモリユニット116の“新”部分に記憶する。
この変換動作の間の様々な時刻に於て、メモリユニット
116の“新”部分は中間のウェーブレット変換された
信号を記憶するので、メモリユニット116の任意のメ
モリ位置が、何回にも亘って読み出し及び上書きされ
る。メモリ位置が上書きされる回数は、ウェーブレット
変換のオクターブの数に対応する。画像データが、サブ
バンド解凍されたウェーブレット変換された画像データ
に変換された後、エンコーダ/デコーダチップ112の
ツリープロセッサ/エンコーダ・デコーダ回路124
は、メモリ116の“新部分”からサブバンド解凍され
たウェーブレット変換された画像データを読み出し、そ
のデータを処理し、かつFIFOバッファ120へのラ
イン130へ圧縮された(“エンコードされた”)デジ
タルデータストリームを出力する。このツリー処理及び
エンコーディング処理の間、ツリープロセッサ/エンコ
ーダ・デコーダ回路124は更に、エンコードされた第
1フレームの量子化されたバージョンを生み出し、この
量子化されたバージョンをメモリユニット116の
“旧”部分に記憶する。エンコードされた第1フレーム
の量子化されたバージョンは、メモリユニットの“新”
部分からのウェーブレット変換された画像データの第2
フレームが続いてエンコードされバス106に出力され
るときのレファレンスとして用いられる。第2フレーム
がエンコードされバス106に出力されるとき、エンコ
ードされた第2フレームの量子化されたバージョンは、
メモリユニット116の“旧”部分に書き込まれる。同
様に、メモリユニット116の“旧”部分に記憶された
エンコードされた第2フレームの量子化されたバージョ
ンは、画像データの第3フレームをエンコードするため
にレファレンスとして後に用いられる。
【0017】解凍モードの間、圧縮された(“エンコー
ドされた”)データは、データバス106からFIFO
120へ書き込まれ、FIFO120からビデオエンコ
ーダ/デコーダチップ112のツリープロセッサ/エン
コーダ・デコーダ回路124へ読み出される。ツリープ
ロセッサ/エンコーダ・デコーダ回路124は、圧縮さ
れたデータを解凍されたウェーブレット変換された画像
データにデコードし、次にメモリユニット116の
“旧”部分にこの解凍されたウェーブレット変換された
画像データを記憶する。この動作の間、メモリユニット
116の“新”部分は使用されない。むしろ、ツリープ
ロセッサ/エンコーダ・デコーダ回路124は、メモリ
ユニット116の“旧”部分に予め記憶された前のフレ
ームを読み出し、このフレームをFIFO120から受
け取られたデータストリームからの情報で変調し、次の
フレームを生み出す。新しいフレームは、メモリユニッ
ト116の同じ“旧”部分の前のフレームに上書きされ
る。画像データのフレームのデコードされたウェーブレ
ット変換されたデータがメモリユニット116の“旧”
部分に存在するので、離散ウェーブレット変換回路12
2は、メモリユニット116にアクセスし、画像データ
のフレームに逆離散ウェーブレット変換動作を行う。逆
変換の連続した各々のオクターブの間に、メモリユニッ
ト116の“旧”部分の特定のメモリ位置が読み出され
かつ上書きされる。メモリ位置が上書きされる回数は、
ウェーブレット変換のオクターブの数に対応する。画像
データをオクターブ0変換領域から標準画像領域へ変換
する逆変換の最後のオクターブの時に、離散ウェーブレ
ット変換回路122は、結果として得られた解凍されか
つ逆変換された画像データをメモリユニット114内に
書き込む。圧縮されかつ逆変換された画像データはま
た、ビデオディスプレイドライバ118に出力され、か
つモニタ108に表示される。
【0018】図5は、ビデオエンコーダ/デコーダチッ
プ112の離散ウェーブレット変換回路122のブロッ
ク図である。破線によって囲まれた図示された離散ウェ
ーブレット変換回路122は、行コンボルバブロックC
ONV ROW502と、列コンボルバブロックCON
V COL504と、制御ブロック506と、DWTア
ドレス発生ブロック508と、REGISTERSブロ
ック503と、3個のマルチプレクサMUX1 501、
MUX2 512、及びMUX3 514とを有する。A/
Dビデオデコーダ118から受け取られたデジタルビデ
オ画像データのフレームをウェーブレット変換領域に変
換するために、順2次元離散ウェーブレット変換が実行
される。同様に、フレームのウェーブレット変換された
デジタルデータを、モニタ108などに表示するために
適したデジタルビデオ出力に逆変換するためには、逆2
次元離散ウェーブレット変換が実行される。今説明され
ている本発明の実施例では、1994年3月30日に出
願された係属中のPCT出願“Data Compre
ssion and Decompression”に
記載された“four coefficient qu
asi−Daubechies digital fi
lters”が用いられる。
【0019】図5に示された離散ウェーブレット変換回
路122は、以下の様に順離散ウェーブレット変換を実
施する。初めに、8ビットのデジタルビデオ画像データ
値のストリームが、各値毎に8本のリード516を通し
て離散ウェーブレット変換回路122へ供給される。デ
ジタルビデオ画像データ値は、マルチプレクサMUX1
510を通して、行コンボルバCONV ROWブロッ
ク502の入力リード線518に接続されている。CO
NV ROWブロック502の出力リード520は、マ
ルチプレクサMUX2 512を通して、CONV CO
Lブロック504の入力リード522に接続されてい
る。CONV COL504ブロックの出力リード52
4は、マルチプレクサMUX3 を通してメモリユニット
116のデータリード526に接続されているので、C
ONV COLブロック504からのデータ出力値は、
メモリユニット116の“新”部分に書き込まれる。メ
モリユニット116の“新”部分への書き込みは、ウェ
ーブレット変換の第1のパスまたは第1のオクターブを
完成させる。ウェーブレット変換の次のパスまたは次の
オクターブを実施するためには、オクターブ0の変換さ
れたデータ値のうちのローパス成分データ値が、メモリ
ユニット116から読み出され、入力リード526と、
ライン528とマルチプレクサMUX1 510を通し
て、CONV ROWブロック502の入力リード51
8に供給される。データの流れが、行コンボルバCON
V ROWブロック502と列コンボルバCONV C
OLブロック504を通り、CONV COLブロック
504から出力されたデータは再びマルチプレクサMU
X3 514とリード526を通してメモリユニット11
6に書き込まれる。このプロセスの間、制御ブロック5
06は、MUX1 510、MUX2 512、MUX3 5
14、CONV ROWブロック502、CONVCO
Lブロック504、DWTアドレス発生ブロック50
8、及びメモリユニット116への制御信号を提供す
る。このプロセスは、変換の引き続く各オクターブ毎に
繰り返される。変換の次のオクターブで、メモリユニッ
ト116から読み出されるデータ値は、変換の前のオク
ターブでメモリユニット116に書き込まれたローパス
値である。
【0020】逆離散ウェーブレット変換転換を実施する
ために行われる動作は、離散ウェーブレット変換を実施
するために行われる動作とほぼ反対の順番で行われる。
画像データのフレームは、メモリユニット116内に記
憶された変換された状態から始まる。例えば、変換の一
番高いオクターブ(OCE)がオクターブ1の時、変換
されたデータ値は、メモリユニット116から読み出さ
れ、リード526、ライン528及びマルチプレクサM
UX2 512を通してCONV COLブロック504
入力リード522に供給される。CONV COLブロ
ック504が出力されるデータ値は次に、ライン525
及びマルチプレクサMUX1 510を通してCONV
ROWブロック502の入力リード518に供給され
る。CONV ROWブロック502からのデータ値
は、出力リード520に出力され、ライン532、マル
チプレクサMUX3 514及びリード526を通してメ
モリユニット116に書き込まれる。逆変換の次のオク
ターブ即ちオクターブ0は、CONV ROWブロック
502によって出力されるデータ値が、メモリユニット
116ではなく、ライン516を通してメモリユニット
114へ送られる完全に逆変換されたビデオデータであ
ること以外は、同様に実施される。制御ブロック506
は、マルチプレクサMUX1 510、マルチプレクサM
UX2 512、マルチプレクサMUX3 514、CON
V ROWブロック502、CONV COLブロック
504、DWTアドレス発生ブロック508、メモリユ
ニット116及びメモリユニット114への制御信号を
この過程の間に供給する。
【0021】ウェーブレット変換動作及び逆ウェーブレ
ット変換動作の両方に於て、制御ブロック506は、A
/Dビデオデコーダ110から受け取られた外部ビデオ
同期信号201によってタイミングを取られている。制
御ブロック506は、これらの同期信号を、レジスタ入
力値ximage、yimageとしてだけでなく上述
された適切な制御信号を発生させるためにも用いてい
る。制御ブロック506は、制御制御リード550を通
してマルチプレクサMUX1 510と、制御リード55
2を通してマルチプレクサMUX2 512と、制御リー
ド554を通してマルチプレクサMUX3と、制御リー
ド546を通してCONV ROWブロック502と、
制御リード548を通してCONV COLブロック5
04と、制御リード534、544及び556を通して
DWTアドレス発生ブロック508と、制御リード20
08を通してメモリユニット116と、制御リード21
06を通してメモリユニット114と、それぞれ接続さ
れている。
【0022】図5に示されているように、マルチプレク
サ510は、CONTROLブロック506から供給さ
れたリード550の制御信号の値に基づいて、A/Dビ
デオデコーダ110からのライン516に受け取られた
デジタルビデオ入力データ値と、メモリユニット116
またはマルチプレクサMUX3 514からライン528
に受け取られたデータ値と、CONV COLブロック
504からライン525に受け取られたデータの内の何
れかの入力信号を、CONV ROWブロック502の
入力リード518に供給する。マルチプレクサMUX2
512は、CONTROLブロック506が発生したリ
ード552の制御信号の値に基づいて、行コンボルバC
ONV ROWブロック502から出力されたデータ値
またはマルチプレクサMUX3 514からライン528
に出力されたデータ値の何れか一方をCONV COL
ブロック504の入力リード522に供給する。マルチ
プレクサMUX3 514は、CONTROLブロック5
06が発生した制御信号に基づいて、CONV ROW
ブロック502からライン532へ出力されたデータ値
またはCONV COLブロック504からライン52
4へ出力されたデータ値の何れか一方をリード526に
出力する。図5の、ブロックCONV ROWブロック
502、CONV COLブロック504、CONTR
OL506、DWTアドレス発生器508及びREGI
STERS536は、デジタル画像データ値のマトリッ
クスの変換に関連して以下に詳しく説明される。ライン
516、532、528及び525は、入力及び出力リ
ード518、520、522、524及び526と同様
に、各々16ビットのパラレルライン及びリードであ
る。
【0023】図6は、行コンボルバCONV ROWブ
ロック502のブロック図である。図7は、列コンボル
バCONV COLブロック504のブロック図であ
る。図33及び図34は、図5のCONTROLブロッ
ク506のブロック図である。図56及び図57は、図
5のDWTアドレス発生ブロック508のブロック図で
ある。
【0024】図6に示されているように、CONV R
OWブロック502は、ウェーブレット変換マルチプレ
クサ回路602と、行ウェーブレット変換回路604
と、遅れ要素606と、マルチプレクサMUX608
と、可変シフトレジスタ610とからなる。離散ウェー
ブレット変換変換を実行するために、デジタルビデオ値
は、図1に示されたビデオエンコーダ/デコーダチップ
112の離散ウェーブレット変換回路122へ1つずつ
供給される。本発明に基づくある実施例では、デジタル
ビデオ値は、8ビットのY(輝度)値、それに続く8ビ
ットのU(クロミナンス)値と、それに続く8ビットの
V(クロミナンス)値とからなるストリームの形式から
なる。デジタルビデオデータ値は、“ラスタスキャン
(RASTERSCAN)”形式で入力されている。説
明を明瞭かつ容易にするために輝度の値Yの8×8マト
リクスの離散ウェーブレット変換が表1に表されてい
る。もしY1のマトリクスが、8×8マトリクスならば
次のU及びVマトリクスは各々4×4マトリクスとな
る。
【0025】
【表1】
【0026】離散ウェーブレット変換回路122に供給
されるY値の順番は、第1の行ではD00、D0
1、...、D07であり、次に第2の行ではD10、
D11、...、D17であり、あとは各行ごとに表1
に示される値となっている。図5のマルチプレクサ51
0は、制御ブロック506によって制御されて、このデ
ータ値のストリームを行コンボルバCONV ROWブ
ロック502へ供給する。行コンボルバCONV RO
Wブロック502は、行データ値D00、D01、D0
2、...、D07のハイパス4係数quasi−Da
ubechies デジタルフィルタG=(d、c、−
e、a)及びローパス4係数quasi−Daubec
hies デジタルフィルタH=(a、b、c、−d)
による行コンボリューションを実行し、ここでa=11
/32、b=19/32、c=5/32、d=30/3
2である。係数a、b、c及びdは、1994年3月3
0日に出願された係属中のPCT出願“Data Co
mpression and Decompressi
on”に記載されているように4係数Daubechi
es waveletに関連している。
【0027】CONV ROWブロック502の表1に
表されたデータに対する動作は、図6、8、9、10乃
至13を参照しながら説明される。図8は、CONV
ROWブロックのウェーブレット変換乗算回路602の
詳細なブロック図である。図9は、CONV ROWブ
ロックの行ウェーブレット変換回路604の詳細なブロ
ック図である。図11及び図12は、図5の制御ブロッ
ク506によって、図9の行ウェーブレット変換回路6
04に供給される制御信号の順序を表している。この制
御信号の順序は、表1のマトリクスの行に対して1次元
ウェーブレット変換を実施する。図8のウェーブレット
変換乗算回路602は、連続した各々の入力データ値x
を、係数32a、32b、32c及び32dのさまざま
な組合せと掛け合わせる組合せ論理ブロックからなる。
この組合せ論理ブロックは、シフトレジスタ802、8
04、806及び808からなり、このシフトレジスタ
は、複数ビットの2進データ入力値xを左に1ビット、
2ビット、3ビット及び4ビットそれぞれシフトさせ
る。入力値x自身と同様に、これらのシフトされた値の
さまざまな組合せが、複数ビット加算器810、81
2、814、816及び818に供給される。データ出
力32dx、32(c−d)x、32cx、32ax、
32(a+d)x、32bx及び32(c+d)xはし
たがって、図6及び図9に詳しく示されているように別
個のリードの集合から行ウェーブレット変換回路604
に提供される。図9に示された行ウェブレット変換回路
604は、マルチプレクサの集合、加算器の集合、遅れ
要素の集合からなる。マルチプレクサmux1 902、
マルチプレクサmux2 904及びマルチプレクサmu
x3906は、図5のCONTROLブロック506か
らリード546に供給された制御信号によって決定され
るように、図8のウェーブレット変換多重回路602の
出力データを選択して通過させる。リード546のこれ
らの制御信号は、図9のmuxsel(1)、muxs
el(2)及びmuxsel(3)によって表されてい
る。CONTROLブロック506からリード546を
通して行ウェーブレット変換回路604に提供される残
りの制御信号は、andsel(1)、andsel
(2)、andsel(3)、andsel(4)、a
ddsel(1)、addsel(2)、addsel
(3)、addsel(4)、muxandsel
(1)、muxandsel(2)、muxandse
l(3)、centermuxsel(1)及びcen
termuxsel(2)から成る。
【0028】図10及び図11は、変換の行コンボリュ
ーションの間の、異なる時間における制御信号の値を表
している。例えば、時刻t=0では、マルチプレクサm
ux2 906、muxsel(2)への制御入力信号は
2に等しい。従って、マルチプレクサmux2 904
は、値32(a+b)xを伝達する第2入力リードをそ
の出力リードに接続する。マルチプレクサ908、91
0、912及び914の各々は、制御信号の値に基づい
て、入力リードの値を通過させるかまたは0の値を通過
させる。制御信号andsel(1)〜andsel
(4)は、マルチプレクサ908、910、912及び
914の選択された入力リード線に各々供給される。マ
ルチプレクサ916、918及び920は等しい機能を
有する。マルチプレクサ916、918及び920の出
力は、制御信号muxandsel(1)からmuxa
ndsel(3)の値に各々依存している。マルチプレ
クサ922と924は、制御選択入力centermu
xsel(1) 及びcentermuxsel(2)
によって各々決定されるように、その“左側の”入力リ
ードの値またはその“右側の”入力リードの値のいずれ
かを通過させる。加算/減算器926、928、930
及び932は、制御信号の値addsel(1)〜ad
dsel(4)に基づいて、その左側の入力リードの値
とその右側の入力リードの値の和または差を通過させ
る。要素934、936、938及び940は、両立さ
れた機関に於て、各々の入力リードの値を出力する一周
期遅れ要素である。
【0029】図12及び図13は、行CONV ROW
500を制御する制御信号546が図10及び図11に
示されたものである時、表1のデータを変換する間に、
行コンボルブCONV ROW500を通過するデータ
を表す図である。表1の左端の行列のデータ値では、開
始順ローパスフィルタGS及び開始順ハイパスフィルタ
HSは、1994年3月30日に出願された係属中のP
CT出願”DataCompression and
Deconpression”の式22及び24に基づ
いて次のように求められる。 32H00=32((a+b)D00+cD01−dD
02) 32G00=32((c+d)D00−bD01+aD
02)
【0030】図9の行ウェブレット変換回路は、この回
路に対する制御信号が図10及び図11に示された時刻
t=0の時の値の時、これらの開始順ローパスフィルタ
ー及びハイパスフィルターを用いることによって開始さ
れる。時刻t=0の時、muxsel(2)は値2を有
する。マルチプレクサmux2904はしたがって、そ
の出力リードに値32(a+b)D00を出力する。m
uxsel(3)は、値3を有するので、マルチプレク
サmux3 906は、その出力リード値32(c+d)
D00を出力する。制御信号andsel(2)及びa
ndsel(3)によって、マルチプレクサ910及び
912は、図10及び図11に示すように時刻t=0に
於て値0を出力するので、加算/減算器ブロック928
及び930の出力リードは、図12及び図13に示すよ
うに各々値32(a+b)D00及び32(c+d)D
00を出力されている。これらの値は、遅れ要素936
及び938の入力リードに供給される。遅れ要素936
及び938は、行変換の場合、1単位時間の遅れ要素で
ある。制御信号andsel(2)及びandsel
(3)がマルチプレクサ910及び912に値0を出力
させているので、制御信号centermuxsel
(1)及びcentermuxsel(3)は時刻t=
0で効力を発生させない。
【0031】時刻t=1では、データ値xはD01であ
る。制御信号muxsel(2)は、1に設定されてい
るので、マルチプレクサmux2 904は値32bD0
1を出力する。加算/減算器ブロック922の選択信号
centermuxsel(1)は、その右側の入力リ
ードの値を通過させるように設定されている。加算/減
算器ブロック930の時刻t=0での出力値32(c+
d)D00はしたがって、遅れ要素938の1単位時間
遅れによってマルチプレクサmux4 922を通過す
る。制御信号andsel(2)が通過するように設定
され、加算/減算器ブロック928には2つの値32
(c+d)D00と32bD01が供給される。制御信
号addsel(2)が減算をするように設定されてい
るので、加算/減算器ブロック918の出力値は、図1
0及び図11に示すように32((c+d)D00−e
D01)である。同様に、制御信号centermux
sel(2)、andsel(3)、muxsel
(3)、muxandsel(2)及びaddsel
(3)が図10及び図11に示されている値のとき、加
算/減算器ブロック930の出力値は、図12及び図1
3に示すように32((a+b)D00+cD01)で
ある。
【0032】時刻t=2の時、入力データ値xはD02
である。制御信号andsel(1)、muxsel
(1)及びmuxandsel(1)は、加算/減算器
ブロック926への入力が、32aD02及び32
((c+d)D06−bD01)となるように設定され
ている。加算/減算器ブロック928からの前の出力は
値32((c+d)D00−bD01)であった。制御
信号addsel(1)は図10及び図11に示すよう
に加算を行うように設定されているので、ブロック92
6の出力は図12及び図13に示すように32((c+
d)D00−bD01+aD02)である。同様に、制
御信号addsel(4)、andsel(4)及びm
uxandsel(3)の値によって、加算/減算器ブ
ロック932の出力値は、図12及び図13に示されて
いるように32((a+b)D00+cD01−dD0
2)である。
【0033】図10及び図11に示されているように、
遅れ要素940の出力リードOUT2は時刻t=3に於
て、値32H00を有する。値32((a+b)D00
−bD01+aD02)は、上述されたように、32H
00=32((a+b)D00+cD01−dD02)
であるので、32H00と等しい。同様に、遅れ要素9
34の出力リードOUT1は、ブロック926の出力リ
ードが、一つ前の周期に於て、値32((c+d)D0
0−bD01+aD02)を有するので、時刻t=3に
於て値32G00を有する。32H00は、1次元行コ
ンボリューションのハイパス及びローパス要素を有する
データストリープの32G00に先立つので、遅れ要素
606が32G00を遅らせるために、図6のCONV
ROW行コンボルバ内に提供される。32G00は、
マルチプレクサ608への入力であるリードの32H0
0の後に続く。マルチプレクサ608は、制御ブロック
506からの制御リード546の一つに提供された値m
ux608によって指示されるように、図6に示される
ような左側入力及び右側入力のいずれか一方を選択す
る。信号mux608は、値32H00が、マルチプレ
クサ608の出力リードの値32G00に先立つように
タイミングを取られている。
【0034】マルチプレクサ608の出力リードは、図
6に示されているように、可変シフトレジスタ610に
接続されている。可変シフトレジスタ610の機能は、
マルチプレクサ608から出力された値を、右側にmビ
ットシフトすることによってCONV ROWブロック
からの出力データ値を正規化することである。この場
合、例えば、マルチプレクサ608の出力値を、32で
除算し、正規化された値H00及びG00を生み出すこ
とが望ましい。この動作を完了するために、制御リード
546の一つによって制御ブロック506に提供された
m行の値は、5に設定される。離散ウェーブレット変換
回路の制御ブロック506の従う一般的な規則は、
(1)変換の間に、30による除算を行うべく、m行を
5に設定すること、(2)逆変換の間に、行の中間部分
を16で除算するべくm行を4に設定すること、(3)
逆変換の間に、行の初めと終わりの値を発生させるとき
8で除算を行うべくm行を3にセットすることである。
説明されている例では、変換動作の間に、変換される行
の始めの値は、m行が5に等しく設定されるように発生
させられている。
【0035】図10及び図11に示されているように、
centermuxsel(1)及びcentermu
xel(2)制御信号が変化し、マルチプレクサ922
及び924の右側及び左側入力リードの値が、各々の次
のデータ値がコンボルブされるために各々の出力リード
を通過する。これは、時間周期を変化させるとき、加算
/減算器ブロック928及び930を通過するデータの
流れを反転する。時間周期t=0では、例えば、図12
及び図13に示されているように、“ブロック926の
出力”の列の時間周期t=1に於ける値32aD01は
32bD0を加算され、“ブロック928の出力”の列
の時間t=2に於ける値32(aD01+bD02)を
形成する。次に、時間周期t=3では、“ブロック93
0の出力”の列の値32(dD01+cD02)は、3
2bD03を加算され、“ブロック928の出力”の列
の値32(dD01+cD02−bD03)を形成す
る。
【0036】従って、時間周期t=2では、32bD0
2及びブロック926からの前の出力32bD01の2
つの値がブロック928に供給される。図10及び図1
1に示すようにaddsel(2)が加算をするべく設
定されているので、ブロック928からの出力値は、3
2(aD01+bD02)となる。
【0037】同様に、ブロック930の出力は、32
(dD01+cD02)である。このようにして、図1
0及び図11に示された一連の制御信号によって、図9
の回路は、図12及び図13のデータフローがマルチプ
レクサmux608及びm行の設定を5に等しくしたシ
フトレジスター610を通過した後に、ローパス非境界
成分及びハイパス非境界成分H01、G01、H02及
びG02を発生させるようにすることがわかる。表1の
初めの行の最後のデータ値D07が行コンボルバに入力
されたとき、最後の順ローパスフィルタ及び最後の順ハ
イパスフィルタがt=7で始まるようにするためには、
制御信号muxsel(2)が3に設定され、32(b
−a)D07がブロック928を通過する。制御信号m
uxsel(3)が4に設定され、32(c−d)D0
7がブロック930を通過する。制御信号addsel
(2)が減算を行うべく設定され、制御信号addse
l(3)が加算を行うべく設定される。従って、加算/
減算器928の出力は、32(dD05+cD06−
(b−a)D07)となる。同様に、加算/減算器93
0の出力は、32(aD05+bD06+(c−d)D
07)となる。
【0038】図12及び図13に示されるように、これ
らの値は、次の時間周期t=0のときに、muxand
sel(1)及びmuxandsel(3)の両方を0
に設定することによって加算/減算器ブロック926及
び932が入力された値を変化させずに出力するように
して、ブロック926及び932から出力される。遅れ
要素934及び940は、時刻t=9で、値32G03
及び32H03を出力リードOUT1及びOUT2から
出力させる。図6に示すようにマルチプレクサ608
は、図5のCONTROLブロック506によって指示
されるように、遅れユニット606の出力とOUTに出
力の何れかを選択する。シフトレジスタ610は次に、
上述されたように行の最後の値に対してm行を5に設定
することによって出力を正規化する。結果として得られ
た値G03及びH03は、1994年3月30日に出願
されたPCT出願“Data Compression
and Decompression”の式26及び
28に基づいて、最後のローパス変換デジタルフィルタ
及び最後のハイパス変換デジタルフィルタによって、出
力値として出力される。即ち、ツリー係数開始順変換ロ
ーパスフィルタ及びツリー係数開始順変換ハイパスフィ
ルタが、値H00及びG00を発生させたことになる。
4係数quasi−Daubecheisローパス順変
換フィルタ及び4係数quasi−Daubechei
sハイパス順変換フィルタが、値H01...G02を
発生させたことになる。3係数終了順変換ローパスフィ
ルタ及び3係数終了順変換ハイフィルタが、値H03及
びG03を発生させたことになる。
【0039】同じ順序が、表1のマトリクスの各行に関
して繰り返される。このように2つの入力データ値に対
して、1つのハイパス(G)データ値と、1つのローパ
ス(H)データ値が生み出される。CONV ROWブ
ロック502の結果として得られた出力データ値が図1
4に示されている。
【0040】図5に示されているように、行コンボルバ
CONV ROWブロック502からの出力値は、19
94年3月30日に出願された係属中のPCT出願“D
ata Compression and Decom
pression”に記載された方法に基づくフィルタ
を用いることによって列コンボリューションを実施する
ために列コンボルバCONV COLブロック504を
通過させられる。
【0041】図7は、図5の列コンボルバCONV C
OLブロック504のブロック図である。CONV C
OLブロック504は、ウェーブレット変換乗算回路7
02、列ウェーブレット変換回路704、マルチプレク
サ708及び可変シフトレジスタ710を有する。一般
的に、図7に示された回路の全体の動作は、図6に示さ
れた回路の全体の動作と等しい。列コンボルバのウェー
ブレット変換乗算回路702は、図6のウェーブレット
変換乗算回路602と等しい。従って、図8の破線に
は、2つの符号602及び702が付されている。
【0042】図15は、列コンボルバの図7の列ウェー
ブレット変換回路704の詳細なブロック図である。図
15に示されるようにCONV COLブロック504
は、CONV ROWブロック502の単一遅れ要素9
34、936、938及び940が、それぞれ“ライン
遅れ”ブロック1334、1336、1338及び13
40によって置き換えられている以外は、CONV R
OWブロック502と等しい。ライン遅れブロックは、
現在説明されている行の場合では、8時間単位を表す1
つの行の時間遅れを表している。本発明に基づく他の実
施例では、ライン遅れは、ランダムアクセスメモリ(R
AM)によって実現されている。
【0043】図12のマトリクスの値を列コンボリュー
ションするためには、図7のシフトレジスタ710によ
って1ビットのシフトを行った後に、初めの列の3つの
値H00、H10、H20が処理され、図23のローパ
ス値及びハイパス値HH00及びHG00が形成され
る。次に、図14のマトリクスの2番目の列の初めの3
つの値G00、G10、G20が、同様に処理され、G
H00及びGG00が形成され、以下同様にして、図2
3のマトリクスの上部の2行の値が形成される。各列の
3個の値が処理される理由は、開始ローパスフィルタ及
び開始ハイパスフィルタが、4係数フィルタではなく3
係数フィルタであるためである。
【0044】図16乃至図18は、図14のデータ値の
変換中に、列コンボルバを制御する制御信号を表す図で
ある。図19乃至図22は、列コンボルバを通過するデ
ータを表す図である。データ値の対応する組は、列ウェ
ーブレット変換回路704のライン遅れ1334及び1
340から出力されている。このために、ローパスフィ
ルタ出力値は、ライン遅れ1340の出力リードからで
はなく、加算/減算器ブロック1332の出力リードか
らライン遅れ1340の入力リードへ供給されているの
で、各時間周期に於いて列ウェーブレット変換回路から
単一の変換されたデータ値が出力されることになる。図
16乃至図18では、出力データ値32HH00...
32GH03が、時間周期t=16からt=23の間に
出力され、一方出力データ値32HG00...32G
G03が、1ライン遅れの後の時間周期t=24からt
=31の間に出力されている。図7のマルチプレクサ7
08及び可変シフトレジスタ710を通過した後に、列
コンボルブされたデータ値HH00...GH03及び
HG00...GG03は、アドレスジェネレータによ
って制御されながらメモリユニット116に書き込まれ
る。図23の全てのデータ値がメモリユニット116に
書き込まれた後に、1つのオクターブ0サブバンド解凍
がメモリユニット116内に存在することになる。
【0045】次のオクターブの解凍を実施するために、
メモリユニット116内のローパス成分HH値のみが処
理される。HH値は、メモリユニット116から読み出
され、制御ブロック506への制御信号が、処理されて
いるより小さいデータ値のマトリクスを表すように調節
されること以外は、上述されたようにCONV ROW
ブロック502及びCONV COLブロック504を
通過する。1行当たり4個のローパス成分HH値のみが
存在するために、CONV COLブロック504のラ
イン遅れは4時間単位に短縮されている。図23のデー
タ値のオクターブ1行順変換を完了させるための制御信
号が図24及び図25に示されている。オクターブ1行
順変換のための対応するデータの流れが図26及び図2
7に示されている。同様に、オクターブ1列順変換を完
成させるための制御信号が図28及び図29に示されて
おり、オクターブ1列順変換のための対応するデータの
流れが図30乃至図32に示されている。
【0046】列コンボルバCONV COLブロック5
04から出力された結果として得られたHHHH、HH
HHG、HH、GH及びHHGGデータ値は、メモリユ
ニット116に転送され、1994年3月30日に出願
された係属中のPCT出願“Data Compres
sion and Decompression”の第
17図及び第18図に関連して説明されたように、HH
データ値に対応するメモリユニット116の位置のみを
上書きする。その結果、オクターブ1サブバンド分解が
メモリユニット116に記憶される。この過程は、デー
タ値の大型のマトリックスに対して実施され、所望に応
じた多数のオクターブを備えたサブバンド分解を生み出
す。説明及び例示を容易にするため、現在説明されてい
る例に関しては、オクターブ1よりも高いオクターブに
ついての制御入力及びデータ流れ図は例示されていな
い。しかし、オクターブ2及びそれ以上のオクターブに
対する制御入力及びデータフローは、オクターブ0及び
オクターブ1に関して実施された上述された方法に基づ
いて、1994年3月30日に出願された係属中のPC
T出願“Data Compression and
Decompression”に記載された方法によっ
て与えられるように構成される。
【0047】図33及び図34は、図5の制御ブロック
の1つの可能な実施例のブロック図を表している。制御
ブロック506は、カウンタ2102と組み合わせ論理
ブロック2104とを有する。図10、14、17、1
9、22、24、26及び28に示された順離散ウェー
ブレット変換動作及び逆離散ウェーブレット変換動作の
ための制御信号は、組み合わせ論理ブロック2104の
出力リードに出力される。制御ブロック506への入力
信号は、A/Dビデオデコーダ110に接続されたsy
ncリード201と、REGISTERSブロック53
6に接続されたdirectionリード538とRE
GISTERSブロック536に接続されたimage
sizeリード540及び542を有する。regi
sterリード538、540及び542の信号の値
は、レジスタダウンロードパス128を通してデータパ
ス106からビデオエンコーダ/デコーダチップ112
のREGISTERSブロック536にダウンロードさ
れる。制御ブロック506の出力リードは、CONV
ROW制御リード546、CONV COL制御リード
548、DWT制御リード550、552及び554
と、メモリ制御リード2106及び2108と、DWT
アドレス発生muxcontrolリード556、DW
Tアドレス発生読み出し制御リード534と、DWTア
ドレス発生書き込み制御リード544とを有する。
【0048】カウンタブロック2102は、信号row
count、信号row carry、信号col
count、信号col carry、信号octav
e、及び信号channelを発生し、かつこれらの信
号を組み合わせ論理ブロック2104に供給する。他の
動作の間、カウンタ2102は、データ値の順序を0か
らximageまでカウントすることによって信号ro
w count及び信号row carryを発生さ
せ、ここでximageはリード540に受け取られた
画像の水平方向のディメンションを表している。同様
に、カウンタ2102は、データ値の順序を0からyi
mageまでカウントすることによって信号col c
ount及び信号col carryを発生させ、ここ
でyimageはリード542によって受け取られた画
像の垂直方向のディメンションを表している。組み合わ
せ論理ブロック2104の入力は、制御ブロック506
への入力direction、ximage、yima
ge及びsyncと同様に、カウンタブロック2102
の出力をも含む。組み合わせ論理ブロック2104の出
力制御の順序は、論理ブロック2104に供給された信
号を組み合わせて発生させられる。
【0049】画像のYデータ値が変換された後、画像の
クロミナンス成分U及びVが変換される。本発明の現在
説明されている実施例では、Y:U:Vのフォーマット
としては4:1:1フォーマットが用いられている。デ
ータ値のUマトリクス及びVマトリクスの各々は、デー
タ値のYマトリクスの行及び列のそれぞれ半分の数の行
及び列を有する。クロミナンスのこれらの成分の各々に
対するウェーブレット変換は、表1のマトリクスに対応
するマトリクスの寸法が小さいこと及び行が短いために
CONV COLのライン遅れが短いこと以外は、Yデ
ータ値の変換と同様に行われる。
【0050】図5の離散ウェーブレット変換回路は、離
散ウェーブレット変換を用いて、画像データ値を多重オ
クターブサブバンド分解に変換するばかりでなく、変換
された画像データを画像領域のサブバンド分解に変換す
る逆離散ウェーブレット変換を実施するためにも用いら
れる。1オクターブの逆離散ウェーブレット変換では、
図5の逆列コンボルバ504は、リード526、ライン
528及びマルチプレクサmux2 512を通してメモ
リユニット116から読み出された変換された画像デー
タ値を処理し、逆行コンボルバ502は、列コンボルバ
によって供給されたデータ出力値を操作する。
【0051】図35乃至図39では、列コンボルバ50
4がメモリユニット116に記憶された変換された画像
データに逆オクターブ1離散ウェーブレット変換を実施
するときの、図5の列コンボルバ504への制御信号及
びデータフローを示している。図36乃至図39に示さ
れているように、時刻t=4に於ける図15の加算/減
算器ブロック1326からのデータ出力値は、32
((b−a)HHHH00+(c−d)HHHG00)
である。従って、列コンボルバは、1994年3月30
日に出願された係属中のPCT出願“Data Com
pressionand Decompressio
n”に記載された方程式52によって説明された2係数
開始再構築フィルタに基づいて、最初の2つの値HHH
H00及びHHHG00を処理する。次に、ブロック1
333及び1326は、1994年3月30日に出願さ
れた係属中のPCT出願“Data Compress
ionand Decompression”の式20
及び19の4係数奇数及び偶数再構築フィルタ(インタ
ーリブされた逆変換フィルタ)を列コンボルバが実施し
ていることを表す値を出力する。図37乃至図39は、
列コンボルバが、1994年3月30日に出願された係
属中のPCT出願“Data Compression
and Decompression”の式59に基
づいて、変換されたデータ値の最初の列の最後の2つの
データ値HHHH10及びHHHG10(時刻t=2
0)に2係数終了再構築フィルタ(逆変換フィルタ)を
実施していることを表している。図15の列コンボルバ
からのデータ出力値は、ライン525及びマルチプレク
サmux1 515を通して図5の行コンボルバ502に
供給される。
【0052】図40乃至図42には、行コンボルバが列
コンボルバからのデータ出力値に逆オクターブ1離散ウ
ェーブレット変換を実施しているときの、行コンボルバ
502への制御信号及びデータフローを表している。列
コンボルバ504は図37乃至図39に示されているよ
うに、変換された値HHHH00...HHGH01及
びそれに続く値を受取り、図35及び図36に示されて
いるように出力リード524に値HHH00...HH
G01及びそれに続く値を発生する。行コンボルバ50
2は、図40に示された値HHH00...HHG01
及びそれに続く値を受取り、行コンボルバ502の出力
リード520に図40に示された値HH00、HH0
1、HH03及びそれに続く値を発生させる。図41乃
至図42のデータフローは、行コンボルバが行の初めの
2つの値を開始再構築フィルタし、それに続く非境界デ
ータ値を奇数及び偶数再構築フィルタし、かつ行の最後
の2つの値を終了再構築フィルタしていることを表して
いる。行コンボルバ502からの出力データ値HHは、
図23に示されたデータ値HHに対応するメモリユニッ
ト116内のメモリ位置に書き込まれる。
【0053】メモリユニット116に記憶されたオクタ
ーブ0データ値を画像領域に逆変換するためには、列コ
ンボルバ504及び行コンボルバ502が、逆オクター
ブ0離散ウェーブレット変換を実施する。図43乃至図
51は、列コンボルバが、メモリユニット116に記憶
された変換された画像データ値を、逆オクターブ0離散
ウェーブレット変換するときに、列コンボルバ504へ
の制御信号とデータフローを表している。次に、列コン
ボルバから出力されたデータ値は、ライン528及びマ
ルチプレクサmux1 510を通して図5の行コンボル
バ502に供給される。
【0054】図52乃至図55は、行コンボルバが、変
換された画像データを画像領域へ逆変換するべく列コン
ボルバからの出力データを逆オクターブ0離散ウェーブ
レット変換するときの、図5の行コンボルバ502への
制御信号とデータフローを表している。列コンボルバ5
04は、図46乃至図51に示された変換された値HH
00...GH03及びそれに続く値を受け取り、出力
リード524へ図43乃至図45に示された値H0
0...G03及びそれに続く値を発生させる。列コン
ボルバ502は、図52及び図53に示された値H0
0...G03及びそれに続く値を受け取り、行コンボ
ルバ502の出力リード520へ図52及び図53に示
された逆変換されたデータ値D00、D01、D0
2...D07及びそれに続く値を発生させる。行コン
ボルバ502から出力された逆変換されたデータ値は、
メモリユニット114に書き込まれる。
【0055】図35乃至図55の制御信号及びデータフ
ローは、表1のマトリクスの初めの値と概ね等しい、オ
クターブ1からオクターブ0へ逆変換され、かつオクタ
ーブ0から画像領域に逆変換されたデータ値を含む。逆
変換を実施するために、行コンボルバ及び列コンボルバ
を制御する制御信号は、制御ブロック506によって発
生される。メモリユニット116及び114へデータを
読み出すため及びメモリユニット116及び114へデ
ータを書き込むために用いられるアドレス及び制御信号
は、制御ブロック506によって制御されながらDWT
アドレス発生ブロック508によって発生させられる。
【0056】変換されたデータ値のYマトリクスの逆ウ
ェーブレット変換が終了した後に、変換されたデータ値
のU及びVマトリクスは、Yマトリクスが逆変換された
方法と同様の方法によって、順番に逆変換される。
【0057】図56及び図57は、図5のDWTアドレ
ス発生ブロック508のブロック図である。DWTアド
レス発生ブロック508は、各オクターブの順変換及び
逆変換のためのメモリユニット116及び114への読
み出し及びまたは書き込みアドレスを供給する。DWT
アドレス発生508は、読み出しアドレス発生部及び書
き込みアドレス発生部を有する。読み出しアドレス発生
部は、マルチプレクサ3006、加算器3010、マル
チプレクサ3002及びリセット可能な遅れ要素301
4を有する。書き込みアドレス発生部は同様に、マルチ
プレクサ3008、加算器3012、マルチプレクサ3
004及び、リセット可能な遅れ要素3016を有す
る。DWTアドレス発生ブロックは、制御リード53
4、556及び544を通して制御ブロック560と接
続され、アドレスリード3022を通してメモリユニッ
ト116と接続され、かつアドレスリード3020を通
してメモリユニット114に接続されている。DWTア
ドレス発生ブロック508の入力リードは、DWTアド
レス発生読み出し制御リード534、DWTアドレス発
生書き込み制御リード544、及びmuxcontro
lリード534を有する。一方、DWTアドレス発生読
み出し制御リード534は、値col endR、ch
annel start R、reset R、oct
add factor R、incr R、 bas
e u R及びbase VRを伝達するリード6を有
する。一方、DWTアドレス発生書き込み制御リード5
44は、値col end W、channel st
art W、rest W、oct add fact
or W、incr W、base u W及びbas
ev Wを伝達するリードを有する。これらのリードで
伝達される全ての信号は制御ブロック506によって供
給される。DWTアドレス発生ブロック508の出力リ
ードは、メモリユニット116にアドレス情報を提供す
るアドレスリード3022及びメモリユニット114に
アドレス情報を提供するアドレスリード3020を有す
る。リード3022に提供されるアドレスは、制御ブロ
ック506によってリード556に提供される制御信号
muxcontrolによって指定されるようにDWT
変換回路122の時間周期によって、読み出しアドレス
または書き込みアドレスのいずれか一方である。リード
3020に提供されるアドレスは、メモリユニット11
4がDWT変換回路122によって書き込まれるのみの
ために、書き込み専用のアドレスである。
【0058】表1、図14及び図23のマトリックスの
ような、2次元のデータ値のマトリックスのメモリ位置
は、0、1、2及びそれに続く数値によって指定された
メモリ位置アドレスを有し、このアドレスは、各行に於
て左から右に増加し、かつ各行の最後にある最も右のメ
モリ位置から次の行の最も左にあるメモリ位置に飛ぶこ
とによって1増加する。オクターブ0のデータ値のマト
リックス内に連続したデータ値をアドレス指定するため
には、アドレスは、マトリックスからの各々の新しいデ
ータ値Dを読み出すことによって1増加される。オクタ
ーブ1に対しては、アドレスは、HHの値が図23に示
されているように一列おきに配置されているので2増加
させられる。行番号は、HHの値が、一行おきに配置さ
れているので、1ではなく2増加させられる。したがっ
て、DWTアドレス発生ブロック508は、各行の最後
が到着するまでに、2増加させられる。次に、DWTア
ドレス発生ブロック508は図16からわかるように、
ximage+2だけ増加させられる。例えば、HH0
0がアドレス0を備えていると仮定した時、図23の行
の最後のHHの値は、メモリアドレス16に於てHH0
3であり、そのアドレスは、マトリックスのデータ値全
体に亘って左から右または行から行に移動することによ
って1増加させられる。2行目の次のHHの値は、メモ
リアドレス16に於てHH10である。したがって行に
おける増加因子は、incr=2octaveである。行の最
後における増加因子は、oct add factor
=(2octave−1)×ximage+2octaveであり、
ここでoctaveは0以上であり、ximageは画
像のx方向の寸法である。
【0059】ある実施例では、変換されたYデータ値
は、アドレス0からアドレス(ximage×yima
ge−1)までのメモリユニット116内に記憶され、
ここでyimageはXデータ値のマトリックスのY方
向の寸法である。変換されたUデータ値は次にアドレス
base uからbase v−1までのメモリユニッ
ト116に記憶され、ここでbase u=ximag
e×yimageであり、base v=ximage
×yimage+ximage×yimage/4であ
る。同様に、変換されたVデータ値は、アドレスbas
e vを先頭とするアドレスのメモリユニット116に
記憶される。
【0060】図56及び図57の読み出しアドレス発生
部分の動作は、読み出し部分及び書き込み部分の両方を
表している。動作中に、図56及び図57のマルチプレ
クサbase mux3002は、Yチャネルに対して
読み出しベースアドレスを0に設定し、Uチャネルに対
しbase u Rを設定し、Vチャネルに対してba
se v Rを設定する。マルチプレクサ3002は、
各U、V、Yチャネルが開始された時発生する制御信号
チャネルchannel start Rによって制御
されている。マルチプレクサmux3006は、増加因
子をincrRに設定し、または各行の最後では、増加
因子をoct add factorRに設定する。マ
ルチプレクサmux3006から出力された増加因子
は、加算器3010に供給され、この加算器は遅れ要素
3014の出力リードに存在する現在のアドレスにこの
増加因子を加え、次の読み出しアドレスnext ad
dr Aを発生させる。次の読み出しアドレスnext
addr Rは、遅れ要素3014に記憶される。
【0061】本発明に基づくある実施例では、各オクタ
ーブに対するincr R及びoct add fac
tor Rの表が、初期化時に、ダウンロードレジスタ
バス128を通してビデオエンコーダ/デコーダチップ
112のREGISTERSブロック534にダウンロ
ードされる。これらの表は、初期化時に制御ブロック5
06を通過する。図を明瞭にするために、REGIST
ERSブロック536を制御ブロック506と接続する
リードは、図5では省略されている。他の実施例では、
incr R及びoct add factor Rの
値は、基板上に配置された少数のゲートを用いてxim
ageの値からハードウェア内で予め計算されている。
U及びVマトリックスは、Yマトリックスの列の数の半
分の列を有するので、U及びVジャンプ表は、xima
geをximage/2に置き換えることによって1ビ
ットシフトによって計算される。ツリーエンコーダ/デ
コーダは、ximageの2octaveより大きい複数の2
(OCT+1)に限定するので、oct add facto
rの2octaveの加算は実際、連結となっている。したが
って、因子(2octave−1)×ximageのみが、計
算されかつダウンロードされなければならない。U及び
Vアドレスのジャンプ表は、この因子を右に1ビットシ
フトさせ次に2octaveと連結させることによってYアド
レスから得ることができる。したがって、適切なマトリ
ックスのデータ値がマトリックスを記憶しているメモリ
から読み出され、処理されたデータ値がメモリユニット
の適切なメモリ位置のマトリックス内に書き込まれる。
【0062】図58及び59は、図1のツリープロセッ
サ/エンコーダデコーダ回路124の実施例のブロック
図である。図58はエンコーダモードの回路を表し、図
59は、デコーダモードの回路を表している。ツリープ
ロセッサー/エンコーダ・デコーダ回路124は、DE
CIDEブロック3112と、TP ABTR GEN
ブロック3114と、量子化器ブロック3116と、M
ODE CONTROLブロック3118と、ハフマン
エンコーダ/デコーダブロック3120と、バッファブ
ロック3122と、CONTROL COUNTERブ
ロック3124と、遅れ要素3126と、遅れ要素31
28と、VALUE REGISTERSブロック31
30とを有する。
【0063】ツリープロセッサ/エンコーダ・デコーダ
回路124は、入力−出力データリード130を通して
FIFOバッファ120に連結されている。ツリープロ
セッサ/エンコーダ・デコーダ回路124は、旧フレー
ムデータバス3102と、新しいフレームデータバス3
104と、アドレスバス3106と、メモリ制御バス3
108及び3110を通して、メモリユニット116に
連結されている。ツリープロセッサ/エンコーダ・デコ
ーダ回路124のVALUE REGISTERSブロ
ック3130は、REGISTERダウンロードバス1
28を通してデータバス106に連結されている。図5
8と図59は、同一の物理的なハードウェア構成を表し
ているが、図を明瞭にするために、デコーダのハードウ
ェア構成とエンコーダのハードウェア構成が別個に表さ
れている。図58では2つのデータバス3104と31
02が理解を助けるために別個に表されているが、新フ
レームデータバスと旧フレームデータバスは実際にはビ
デオエンコーダ/デコーダチップ112の同一のピンを
占有し、新しいフレームデータと古いフレームデータは
図5に示されているようにメモリユニット116の同一
のリード526上で時分割されている。図58の制御バ
ス3108と3110は、図5の制御ライン2108に
対応している。離散ウェーブレット順変換回路122の
DWTアドレス発生ブロック508と、ツリープロセッ
サ/エンコーダ・デコーダ回路124のアドレスツリー
プロセッサアドレス発生ブロック3114がメモリユニ
ット116をアクセスするので、この2つのブロックは
同一の物理アドレス、データ及び制御ラインを使用して
も良い。
【0064】図60は、DECIDEブロック3112
の実施例を表している。DECIDEブロック3112
の機能は、旧フレームと新フレームの各々に対するデー
タ値の2×2ブロックをメモリユニット16から受け取
り、これらのデータちの2×2ブロックとリード331
6、3318、3320及び3322の信号から、リー
ド3302、3304、3306、3308、331
0、3312及び3314に7個のフラグを発生させ
る。MODE CONTROL3118は、これらのフ
ラグとリード3、リード3316、3318及び332
0を通して供給されたVALUE REGISTERS
ブロック3130からの値を用いて、新しい2×2ブロ
ックがエンコードされるモードを決定する。新2×2ブ
ロックと旧2×2ブロックのデータ値が配置されるメモ
リユニット116のアドレスは、アドレス発生TP A
DDR GENブロック3114によって決定される。
【0065】REGISTERリード3316の入力信
号は、VALUE REGISTERSブロック313
0からの限定された出力値である。REGISTERリ
ード3318の入力信号は、VALUE REGIST
ERSブロック3130からのqstep出力値であ
る。REGISTERリード3320への入力信号は、
VALUE REGISTERSブロック3130から
のcompare出力値である。REGISTERリー
ド3322の入力信号は、サブバンド分解のツリーの現
在の位置の関数としての、TP ADDR GENブロ
ック3114によって発生されたオクターブ値である。
1994年3月30日に出願された係属中のPCT出願
“Data Compression and Dec
ompression”の方程式62〜71で記載され
ているように、リード3302、3304、3306、
3308、3310、3312及び3314で各々生み
出されるフラグの値new z、nz flag、or
igin、noflag、no z、oz flag及
びmotionは、次の方程式に基づいて計算される。
【0066】
【数1】
【数2】
【数3】
【数4】
【数5】
【数6】
【数7】
【数8】
【数9】
【数10】
【0067】DECIDEブロック3112は、減算器
ブロック3321、絶対値(ABS)ブロック332
6、3328及び3330と、加算ブロック3332、
3334及び3336と、比較ブロック3338、33
40、3342、3344、3346、3350及び3
352と、加算器ブロック3354と、シフトレジスタ
ブロック3356とを有する。ABSブロック3326
からの出力値は、リード3104上のデータ値new
[x][y]の絶対値である。同様に、ABSブロック
3328からの出力値は、リード3102上のデータ値
old[x][y]の絶対値である。ABSブロック3
330の出力値は、データ値new[x][y]とol
d[x][y]との差の絶対値である。ABSブロック
3326の出力リードに接続された比較器3338は、
qstepがブロック3326によって出力される値よ
りも小さい場合、リード出力3302のnew zフラ
グを立ち上げない。ブロック3332は、ブロック33
26から出力された最後の4個の値を合計し、ブロック
3332からの出力値は比較器ブロック3340に供給
される。比較器ブロック3340は、この値とlimi
t3316の値を比較する。リード3304上のフラグ
nz flag3304は、limitがブロック33
32によって出力された値以上の時、立ち上げられる。
この値は方程式4のnz flagに対応する。合計ブ
ロック3334は同様に、ブロック3328によって出
力された最も最近の値を合計する。ブロック3332及
び3334によって出力された値は、ブロック3354
によって合計され、かつブロック3354によって出力
された値はシフトレジスタブロック3356に供給され
る。シフトレジスタブロック3356は、受け取った値
をオクターブビットだけ左にシフトする。合計ブロック
3336はブロック3330によって出力された最新の
4個の値を合計する。比較器ブロック3342は、ブロ
ック3332によって出力された値とブロック3336
によって出力された値を比較し、式7に基づいてmot
ionフラグを立ち上げる。出力リード3306のor
iginフラグは、ブロック3332によって出力され
た値がブロック3336によって出力された値未満の
時、立ち上げられる。この値は、上述された式6のor
iginに対応する。ブロック3336からの出力値
は、ブロック3344によって値compareと比較
され、フラグnoslagは、compareがブロッ
ク3336からの出力値よりも大きい場合に立ち上げら
れる。ブロック3346は、ブロック3330からの出
力値を、値qstepと比較し、qstepが小さい
時、フラグno zは立ち上げられない。これは、式9
のフラグno zに対応する。リード3102のold
入力値は、ブロック3350によって値0と比較され、
old入力値の各々が0に等しい時、リード3312の
フラグoz flagが立ち上げられる。これは、上述
された式10のoz flagに対応する。図33のD
ECIDEブロックによって生み出された7個のフラグ
は、MODECONTROLブロック3118を通過
し、次のモードを決定する。
【0068】図31のツリープロセッサ/エンコーダ・
デコーダ回路124は、遅れ要素3126及び3128
を有する。遅れ要素3126は、新フレームデータバス
3104によって、メモリユニット116のNEW部分
に接続され、値new[x][y]を受け取る。遅れ要
素3128は、メモリユニット116のOLD部分と、
旧フレームデータバス3102を通して接続され、値o
ld[x][y]を受け取る。これらの遅れ要素は、本
発明のある実施例では、スタティックランダムアクセス
メモリ(SRAM)によって実施され、メモリユニット
116からの各々の入力値を量子化器ブロック3116
に供給する前に、4周期遅らせる働きをする。最新の4
個のデータがエンコードされる新しいモードが決定され
る前に、最新の4個のデータ値を読みだすことが必要な
ので、DECIDEブロック3112がデータフローの
中に4周期の遅れを導入するために、この遅れ要素が必
要となる。したがってこの遅れ要素は、MODE CO
NTROLブロック3118によって量子化器ブロック
3116に供給される信号を、メモリユニット116か
ら読み出されて量子化器ブロック3316に供給される
値と同期させる。
【0069】図58及び図59のツリープロセッサ/エ
ンコーダ・デコーダ回路124は、VALUE REG
ISTERSブロック3130を有する。VALUE
REGISTERSブロック3130は、外部ソースか
らの値を受け取り、ツリープロセッサ/エンコーダ・デ
コーダ124の他のブロックに接続されたリード331
6、3318、3320、3132、3134及び31
36にこれらの値を伝送する機能を果たす。今説明され
ている実施例では、外部ソースはデータバス106及び
であり、VALUE REGISTERSブロック31
30は、ダウンロードレジスタバス128によってデー
タバス106と接続されている。レジスタリード331
6は、limitの値に対応する信号を伝送し、DEC
IDEブロック3112とMODE CONTROLブ
ロック3118に接続されている。レジスタリード33
18は、値qstepを表す信号を伝送し、かつDEC
IDEブロック3112とMODE CONTROLブ
ロック3118に接続されている。レジスタリード33
20は、値compareを表す信号を伝送し、かつD
ECIDEブロック3112とMODE CONTRO
Lブロック3118に接続されている。レジスタリード
3132は、値ximageを表す信号を伝送し、かつ
TP ADDR GENブロック3114とMODE
CONTROLブロック3118に接続されている。レ
ジスタリード3134は、値yimageを表す信号を
伝送し、かつTP ADDR GENブロック3114
とMODE CONTROLブロック3118に接続さ
れている。レジスタリード3136は、値direct
ionに対応する信号を伝送し、かつTP ADDRG
ENブロック3114と、MODE CONTROLブ
ロック3118と、バッファブロック3122と、ハフ
マンエンコーダ/デコーダブロック3120と、量子化
器ブロック3116とに接続されている。図を明瞭にす
るために、図58及び図59には、VALUE REG
ISTERSブロック3130とツリープロセッサ/エ
ンコーダ・デコーダ回路124の他のブロックとの間に
形成された接続の一部のみが表されている。ある実施例
では、VALUE REGISTERSブロック313
6は、バス106からアドレス指定されるメモリマップ
ドレジスタからなる。
【0070】図61乃至図63は、図59のTP AD
DR GENブロック3114の実施例のブロック図で
ある。図61乃至図63のTP ADDR GENブロ
ック3114は、カウンタ回路を用いてサブバンド分解
のツリーデータ値の選択された2×2ブロックをアクセ
スするアドレスを発生させる(1994年3月30日に
出願された係属中のPCT出願“Data Compr
ession andDecompression”の
第27図〜第29図を参照されたい)。図61乃至図6
3は、ツリーオクターブカウンタ回路を表している。T
T ADDRGENブロック3114に供給される信号
は、MODE CONTROLブロック3118、CO
NTROL COUNTERブロック3124及びVA
LUE REGISTERSブロック3130によって
提供されている。MODECONTROLブロック31
18は、3ビット値NEW MODEを伝送するリード
3402によってTP ADDR GENブロック31
14に接続されている。CONTROL COUNTE
R3124は、信号read enable及び信号w
rite enableをそれぞれ伝送するリード34
04及び3406によってTP ADDR GENブロ
ック3114に接続されている。VALUE REGI
STERブロック3130は、ximageの値を表示
する信号を伝送するregisterリード3132に
よってTP ADDR GENブロック3114に接続
されている。TPADDR GENブロック3114の
出力リードが、ツリープロセッサアドレスバス3106
及びオクターブリード3322を有する。アドレスジェ
ネレータTP ADDR GENブロック3114は、
一連の個々のカウンタ即ちカウンタTreeRoot
x3410、カウンタTreeRoot y3408、
カウンタC3 3412、カウンタC2 3414、カウン
タC1 3416及びカウンタsud count341
8を有する。TP ADDR GENブロック3114
もまた、control enableブロック342
0、マルチプレクサ3428、マルチプレクサ343
0、NORゲート3436、ANDゲート3422、3
424及び3426、ANDゲート3428、3430
及び3432、マルチプレクサブロック3432及び加
算ブロック3434を有する。
【0071】カウンタTreeRoot x3410
は、0から(ximage/2OCT+1)−1までカウン
トし、カウンタTreeRoot y3408は、0か
ら(yimage/2OCT+1)−1までカウントし、こ
こでOCTは、分解のオクターブの最大数を表す。カウ
ンタC3、C2、C1及びsub countは、それ
ぞれ2ビットカウンタであり、0から3までカウントア
ップし、次に0に戻る。これらのカウンタの各々は、C
ONTROL ENABLEブロック3420によって
供給される各々のカウントイネーブル制御信号に応答し
てカウントアップする。図61乃至図63は、カウンタ
TreeRoot x、TreeRooty、C3、C
2、C1及びsub countに各々供給されるカウ
ントイネーブル制御信号x en、y en、c3 e
n、c2 en、c1 en、及びsub enを表し
ている。これらのカウンタの一つがその最大数に達した
時、そのカウンタはCONTROL ENABLEブロ
ック3420にキャリーアウト信号を供給する。このキ
ャリーアウト信号は図61乃至図63に於てx car
ry、y carry、c3 carry、c2 ca
rry、c1 carry及びsub carryとし
て表されている。
【0072】CONTROL ENABLEブロック3
420はリード3402の入力信号new mode
と、キャリーアウト信号に応答し、カウンタイネーブル
信号を発生する。CONTROL ENABLEによっ
て出力されたオクターブ信号は、現在アドレス指定され
ているデータ値の変換のオクターブの値を表している。
c1 carry、c2 carry、及びc3 ca
rry信号は、CONTROL ENABLEブロック
3420に伝送される前にCONTROL COUNT
ERブロック450から供給されたwrite ena
bls信号との間で論理和の計算が行われる。このAN
D操作は、図61乃至図63に示されたANDゲート3
422、3424及び3426によって実行される。C
ONTROL
【0073】ENABLEブロック3420からのカウ
ンタイネーブル信号は、ORゲート3436によってr
ead enableとwrite enableとを
論理OR演算することによって得られた信号と、論理A
ND演算される。これらの論理AND演算は、図61乃
至図63に示されたANDゲート3428、3430、
及び3432によって実行される。ANDゲート342
2、3424、3426、3428、3430及び34
32は、read enable及びwrite en
able信号によってイネーブル信号及びキャリー信号
をゲートするように働き、アドレス空間は、各状態ごと
に読み出しと書き込みの2つの周期を繰り返す。
【0074】CONTROL ENABLEブロック3
420は、2ビットカウンタ3412、3414及び3
418fはカウント値が3に達したとき、TreeRo
otはカウント値が(ximage/2OCT+1)−1に
達したとき、及びTreeRoot y3408はカウ
ント値が(yimade/2OUT+1)−1に達したと
き、選択されたカウンタが増加することをイネーブルす
るイネーブル信号を出力する。データ値のマトリクスの
任意のオクターブのデータ値の2×2ブロックの結果と
して得られたxアドレス及びyアドレスは、以下のさま
ざまなカウンタによって出力された信号から得られる。
【0075】オクターブが0のとき、
【数11】
【数12】
【0076】オクターブが1のとき、
【数14】
【0077】オクターブが2のとき、
【数15】
【数16】
【0078】図61乃至図63及び式1〜16には、オ
クターブの値に基づいて、xアドレス成分の値とyアド
レス成分の値が、各々マルチプレクサ3428と343
0によって発生させられる様子が表されている。式11
〜16の(2)は、2ビットカウンタの最下位ビットを
表しており、一方(1)は2ビットカウンタの最上位ビ
ットを表している。TreeRoot x及びTree
Root yは、それぞれカウンタ3410及び341
8によって出力された複数ビット値である。マルチプレ
クサ3430の出力は、マルチプレクサ3432に供給
され、マルチプレクサ3430によって出力された値は
値ximageと乗算される。マルチプレクサ3432
から出力された値は、加算ブロック3434によってマ
ルチプレクサ3428から出力された値と加算され、実
際のアドレスがアドレスバス3106に出力され、メモ
リユニット117に伝送される。参考資料Aは、ハード
ウェア記述言語VHDLによって既述されたツリーオク
ターブアドレスジェネレータのCONTROL ENA
BLEブロック3420の1つの可能な実施例を開示し
ている。図61乃至図63に例示され及び参考資料Aに
開示されたCONTROL ENABLEブロック34
20は、所望に応じてエンコーディング方法またはデコ
ーディング方法によって昇順及び降順に並べられるツリ
ーのサブバンド分解を可能にするステートマシンであ
る。CONTROL ENABLEブロック3420
は、イネーブル信号を発生させ、カウンタはMODE
CONTROLブロック3118によって指定されたツ
リー内の位置にデータ値の2×2ブロックの4個のアド
レスを発生させる。MODE CONTROLブロック
3118の命令は、値new modeを伝送するリー
ド3402を通して読み出される。各状態は4個の連続
した周期で遷移され、ブロックの4つのアドレスは、適
切なカウンタC3 3412、C2 3414またはC1 3
416をイネーブルすることによって出力される。適切
なカウンタがカウント値3に到達すると、キャリーアウ
ト信号がCONTROL ENABELブロック342
0に送り返され、次の周期で次の状態への遷移が行われ
る。
【0079】図64は、TP ADDR GENブロッ
ク3114が図65乃至図66に例示されたツリーの全
てのブロックを通過するときの、図34のTP ADD
RGENブロック3114の状態を表している。図64
は、データ値のブロック4つのアドレス値の発生を表し
ている行を有する。図35の(0−3)は、カウンタに
よる4つの出力値を表している。状態の名前(即ちup
0、up1、down1)は、ツリーのブロックの上へ
の動きまたは下への動きを表すものではなく、参考資料
AのVHDLコードに表された状態の名前に対応するも
のである。(参考資料Aでは、状態down1、dow
n2及びdown3は全て実施を最適化するためにdo
wn1として参照されている。)例えば、図64の第1
の行の状態up0は、図65及び図66のツリーのルー
トに配置された2×2ブロックの値をアドレス指定する
ことに対応する。図65及び図66のツリーでは、3オ
クターブが存在する。ツリーのルートでの2×2ブロッ
クのこれらの4個のアドレスが発生させられた後、ツリ
ーは状態up1に遷移することによってオクターブ1に
上昇する。
【0080】図65及び図66は、3オクターブサブバ
ンド分解の1つのキーの全てのデータ値の完全なトラバ
ースと、図64の対応するCONTROL ENABL
Eブロックの状態を表している。そのようなツリーは、
サブバンド分解の各々のサブバンド“GH”、“HG”
及び“GG”に対して存在する。
【0081】サブバンド分解のツリーをトラバースする
前に初めに分解の全てのローパスHHHHHH成分の値
がカウンタsub countを値00を出力するよう
に設定することによってアドレス指定される。カウンタ
C3 3412は、その4つの数値を通して増加させられ
る。次に、カウンタTreeRoot xが増加させら
れ、次にカウンタC3 3412が再びその4つの値を通
して増加させられる。この過程は、TreeRoot
xがその最大値に達するまで繰り返される。次にその過
程は、TreeRoot yを増加させることによって
繰り返される。このようにして、全てのHHHHHHロ
ーパス成分がアクセスされる。式15及び16はHHH
HHHローパス成分のデータ値のアドレスを計算するた
めに用いられる。
【0082】次に、TreeRoot x及びTree
Root yによって与えられるツリーの“GH”サブ
バンドのブロックがアドレス指定される。この“GH”
サブバンドは、sub count=10(sub c
ount(1)=1及びsub count(2)=
0)の値に対応する。図35に示されたup0状態は、
式15に基づいて“GH”ツリーのルートブロックの4
個のアドレスを発生させるために用いられる。次に図6
4に示されたup1状態が用いられ、式13及び14に
対応するアドレスがオクターブ1のデータ値に所望の2
×2ブロックをアクセスするべく計算される。オクター
ブ0の4個の2×2ブロックが次に式11及び12に基
づいてアクセスされる。TreeRoot xと、Tr
eeRoot yとsub countに到達しない状
態で、状態zz0、zz1、zz2及びzz3へ順番に
遷移し、各状態に於て4個のアドレスが発生させられ
る。これらの4個の状態の各々から遷移した後に、カウ
ンタC2 3414は、C2 en信号によってCONT
ROL ENABLEブロック3420によって増加さ
せられ、ツリーのそのブランチの次のオクターブ0のブ
ロックに移動する。状態zz3で増加が行われた後に、
ツリーの左のブランチが空にされる。次の2×2ブロッ
クに移動するために、C3カウンタ3412は増加させ
られ、C2カウンタ3414がその4つの値を通して循
環し、式13及び14に基づいて状態down1の次の
オクターブ1ブロックの4つのアドレスを発生させる。
このようにして、TP ADDR GENブロック31
14は、MODE CONTROLブロック3118か
ら受け取られた命令に基づいてツリーをトラバースする
ために適切なアドレスを発生させる。ツリー“GH”サ
ブバンドツリーのトラバースが終了したとき、サブバン
ド分解のトラバースはTreeRoot x及びTre
eRoot yの値を変えることなしに次のサブバンド
の対応するツリーに移動する。従って、ツリーの“G
H”、“HG”及び“GG”ファミリーがトラバースさ
れる。3つのサブバンドツリーの全てのブロックがトラ
バースされた後に、TreeRoot x及びTree
Root yの値が、変更され、サブバンドツリーの他
のファミリーへ移動する。
【0083】サブバンドツリーの次のファミリーへ移動
するために、カウンタTreeRoot x3410が
増加させられ、C3 3412、C2 3414、C1 34
16カウンタが0に戻される。MODE CONTRO
Lブロック3118の制御のもとで新しい“GH”ツリ
ーのトラバースの過程が上述された過程と同じように行
われる。同様に、対応する“HG”ツリー及び“GG”
ツリーがトラバースされる。TreeRoot x34
10がその最終値に到達した後に、ツリーのファミリー
の全ての行がサーチされたことになる。カウンタTre
eRoot y3408は増加させられ、ツリーのファ
ミリーの次の行へ移動する。この過程は、分解の全ての
ツリーが処理されるまで続けられる。
【0084】ローパス成分HHHHHHは(sub c
ount=00の時)ツリー分解を有しない。この発明
の本実施例に従い、ローパス成分データ値は上述したよ
うにまず読みとられ、ツリーエンコーダが3個のサブバ
ンドを読みとりそして符号化する前に符号化される。H
HHHHHサブバンドに於けるデータ値のアドレスはs
ub count=00に於てオクターブ3x及びyア
ドレスから得られる。カウンタC3 3412、ツリール
ート x 3410、及びツリールート y3408は
それらの各値を介して作動する。ローパス成分データ値
及びYデータ値に対する全てのサブバンドの全てのツリ
ーが符号化された後に、ツリートラバース方法がU及び
Vデータ値に繰り返される。
【0085】図65及び図66のツリーの全てのブロッ
クはツリートラバースの上記の例に於てトラバースする
が、モード制御ブロック3118はある条件下に於て、
1994年3月30日付出願の“data compr
ession and decompression”
の国際出願に記載のように特定のブランチのデータ値の
処理を停止し、ツリーの次のブランチへの移動を決定す
ることができる。これは、例えばモード制御ブロック3
118による値新モード出力がモードSTOPを示すと
きに起こる。この場合、制御イネーブルブロック342
0の状態マシーンは、ツリーの現位置に依拠して次のブ
ランチの何れかに移動する、即ち、その時点に於て完了
したブランチが最後のツリーの最後のブランチである場
合には次のツリーとなる。
【0086】図61、図62、及び図63はTP AD
DR GENブロック3114に供給される制御信号入
力読み出しイネーブル及び書き込みイネーブルを図解す
る。これらのイネーブル信号は、新/旧ブロックの読み
出しとアップデイトされた値の旧フレームメモリへの書
き込みとが異なる時に生ずる故に設けられる。2個のア
ドレス発生器の必要を避けるため、カウンタC3 341
2、C2 3414、及びC1 3416のイネーブル信号
は読み出しイネーブル及び書き込みイネーブル信号の論
理ORによって論理的にAND化される。同様に、これ
らのカウンタのキャリーアウト信号は書き込みイネーブ
ル信号によって論理的にAND化される。新/旧ブロッ
クがメモリから読み出される時間の間、読み出しイネー
ブル信号は論理高に設定され、書き込みイネーブル信号
は論理低に設定される。このことは2×2ブロックのア
ドレスを生ずる効果を有するが、ブロックカウントの最
後に於ける状態変更を不可能にする。従ってカウンタは
カウンタがブロックカウントを開始した時の初期値に戻
り、そして書き込みイネーブル信号が論理高に設定され
た場合には4個のアドレス値の同一のシーケンスが発生
される。しかしながら、このとき、キャリーアウトは制
御イネーブルブロック3420内にて可能とされる。従
って次の状態はブロックカウントの終局に於て取り入れ
られる。このようにして、アドレス空間は1状態につき
2回ずつ、1回は読み出し及び1回は書き込みを介して
循環する。
【0087】図67は図58の量子化ブロック3116
の1実施例のブロック線図である。図58に示すよう
に、量子化ブロック3116はモード制御ブロック31
18、ハフマン(Huffman)エンコーダ・デコー
ダブロック3120、遅延ブロック3126、遅延ブロ
ック3128及びバリューレジスタブロック3130に
接続する。入力リード3702はモード制御ブロック3
118からの信号差を伝送し、これが新フレームと旧フ
レームの間の差が量子化されるべきか否かまたは新フレ
ームが単独で量子化されるべきか否かを決定する。新
[x][y]及び旧[x][y]の値が各々線3704
及び3706に供給され、4クロックサイクルによって
遅延されたメモリユニット116からの値を表示する。
入力リード3708及び3710は各々ハフマンエンコ
ーダ・デコーダブロック3120からのsign in
v及びgindex invの値を伝送する。レジスタ
リード3318及び3136は各々バリューレジスタブ
ロック3130からのgstep及び方向の値に符合す
る信号を伝送する。
【0088】符号化の間、量子化ブロック3116は、
信号差によって指令されるようにそして旧[x][y]
の値を利用して新[x][y]の値上への量子化を行
い、出力リード3712への出力値gindex、出力
リード3714へのsign、及びデータバス3102
への量子化されそして逆量子化された値である旧[x]
[y]を発生する。その量子化されそして逆量子化され
た値である旧[x][y]はメモリユニット116内に
書き戻される。
【0089】デコーディングの間、量子化ブロック間3
116はsign inv及びgindex invの
信号差によって指令されるように、旧[x][y]の値
上への逆の量子化を行い、旧[x][y]の逆に量子化
された値を発生し、これはバス3102を介してメモリ
ユニット116の旧部分に供給される。リード3136
はバリューレジスタ3130によって供給される値方向
を伝送する。
【0090】値方向は量子化器(quantizer)
がエンコーダモードによって作動するかそれともデコー
ダモードによって作動するかを制御する。図67はマル
チプレクサ3716と3718が、適合するモードに符
号した信号をパスさせるために方向信号を使用すること
を図解する(エンコーダモードに対してはsign及び
gindex;デコーダモードに対してはsign i
nv及びgindexinv)。マルチプレクサ372
0は新及び旧データ値の差をパスするかそれとも異なる
信号の値に依拠した新値をパスする。絶対値ブロックA
BS3722はマルチプレクサ3720による値出力を
絶対値形式に変換し、その絶対値形式の値をブロック3
724に供給する。マルチプレクサ3720の出力リー
ドはまたサインブロック3726に結合される。サイン
ブロック3726はサイン信号をリード3714に発生
し、マルチプレクサ3716に供給する。
【0091】量子化器ブロック3116のブロック37
24はgstepの閾値を有する可視システム(HV
S)重量子化器である。図67に於てmagにて示され
る入力リード3728上の値はモデュロ・グステップ
(modulo gstep)区画を介して量子化され
る(1994年3月30日付出願の“data com
pression and decompressio
n”の国際出願に於ける図30及び31並びに関連する
説明を参照)。結果として量子化されたインデックス値
gindexはハフマンエンコーダブロック3120へ
のリード3712上の出力となる。マルチプレクサ37
16はブロック3726からのリード3714上のsi
gn信号を受信し、またリード3708上のsign
inv信号も受信する。マルチプレクサ3716はエン
コーダモードに於てsign値をパスし、デコーダモー
ドに於てsign inv値をパスする。同様に、マル
チプレクサ3718は、リード3712上のginde
x信号とリード3710上のgindex inv信号
の2個の入力を有する。マルチプレクサ3718はエン
コーダモードに於てgindex値をパスし、デコーダ
モードに於てgindex inv値をパスする。逆向
き量子化器ブロック3030は、マルチプレクサ371
8による値出力を値gstepによって逆向きに量子化
し値gvalueを発生する。ブロックNEC3732
は図67にてgvalueにて示されるブロック373
0の出力リード上の値のサインを逆転する。マルチプレ
クサ3734はマルチプレクサ3716からの信号出力
によって決定されるように正及び負の変型間のgval
ueを選択する。
【0092】エンコーダモードに於て、異なる信号が主
張された場合、出力リード3712のgindexは新
データ値と旧データ値の間の量子化された差量を伝送
し、マルチプレクサ3734の出力リード3736は新
データ値と旧データ値の間の量子化された差量の逆向き
量子化信号を伝送する。エンコーダモードに於て、異な
る入力が現れない場合には、出力リード3712のgi
ndexは新データ値の量子化された量のみを伝送し、
リード3736上の値は新データ値の量子化された量の
逆向き量子化の信号である。
【0093】加算器ブロック3738はリード3736
上の逆量子化された値を旧[x][y]データ値に加算
し、その結果をマルチプレクサ3740に供給する。従
って異なる信号が現れたときは、リード3706上の旧
逆量子化された値と逆量子化器3730によって作成さ
れた逆量子化値の間の差はブロック3738に於てブロ
ック3730の逆量子化された出力の論理反転値を逆量
子化された旧値に加えることによって決定される。マル
チプレクサ3740はバス3102を介して加算器ブロ
ック3738の出力をメモリユニット116の旧部分内
にパスして戻す。もし逆に異なる信号が現れない場合に
は、マルチプレクサ3740はバス3102を介してリ
ード3736上の値をメモリユニット116の旧部分に
パスする。従って最も新しく符号化されたフレームの逆
量子化された値のフレームはエンコードの間メモリユニ
ットの旧部分内に維持される。
【0094】この発明の一実施例に従い、gstepの
値は、0≦n≦7を条件としてgstep=2nとなる
ように選ばれ、従って量子化器ブロック3724及び逆
量子化器3730はnビットによるシフトのみを行う。
ブロック3724はVHDLとなり、ここで>>は左方
向へのシフトを意味し、magはブロック3722によ
る値出力を意味する。
【表2】
【0095】同様にブロック3730はVHDLによっ
て以下の様に記述される。
【表3】 ここで<<は右方向へのシフトを意味し、&は連結を意
味する。シフトの後に連結する因数は2n-1−1であ
る。
【0096】図58のツリープロセッサ/エンコーダ・
デコーダ回路124はまたモード制御ブロック3118
を含む。エンコーダモードに於てモード制御ブロック3
118はデータ値を圧縮データストリームに圧縮するた
めデータ値のツリーがトラバースされるとき、1994
年3月30日付出願の“data compressi
on and decompression”の国際出
願に記載のようにモード変更を決定する。デコーダモー
ドに於て、モード制御ブロック3118は、トークン
(Tokens)及びデータ値の入力圧縮データストリ
ームからデータ値のツリーが再構成されるときに、19
94年3月30日付出願の“data compres
sion and decompression”の国
際出願に記載のようにモード変更を実行する。
【0097】MODE CONTROLブロック311
8は、決定ブロック3112、CONTROL COU
NTブロック3124、TP ADDR GENブロッ
ク3114及びバリューレジスタブロック3130から
の信号を受信する。MODECONTROLブロック3
118は決定ブロック3112からの7つのフラッグ値
を受信する。CONTROL COUNTブロック31
24からの入力はCONTROL COUNTブロック
3124の状態を示す4ビット状態ベクトル3138で
ある。CONTROL COUNTブロック3124は
9つの状態の1つであり得るため4つのビットが必要で
ある。TD ADDR GENブロック3114からの
入力はリード3322によって伝送されるオクターブ信
号である。VALUE REGISTERSブロック3
130はMODE CONTROLブロック3118へ
のリード3316、3318、3320、3132、3
134及び3136上に値を供給する。付加的にデコー
ダモードに於て、バッファ3122はハフマンデコーデ
ィングをされないトークン(token)値を図59に
示すようにリード3202及びMODE CONTRO
Lブロック3118に供給する。
【0098】MODE CONTROLブロック311
8は値new modeを出力し、これはリード314
0を介してバッファブロック3122に供給されるトー
クン長値T Lと同様にリード3402を介してTP
ADDR GENブロック3114に供給される。エン
コーダモードに於て、MODE CONTROLブロッ
ク3118はまたトークンを発生し、リード3202を
介してバッファブロック3122に供給する。従ってリ
ード3202は、前向きモードに於てはトークン値をM
ODE CONTROLブロック3118からバッファ
ブロック3122へと伝送し、かつデコーダモードに於
てはトークン値をバッファ3122よりMODE CO
NTROLブロック3118へと伝送する双方向リード
である。一方トークン長値T Lはエンコーダモード及
びデコーダモードの両者に於てMODE CONTRO
Lブロック3118によってバッファブロック3122
に供給される。MODE CONTROLブロック31
18はまた差信号を発生し差信号をリード3142を介
して量子化器ブロック3116に供給する。MODE
CONTROLブロック3118は新データ値と旧デー
タ値の間の差が量子化されるべき場合に差信号を主張
し、新データ値のみが量子化されるべき場合には差信号
を主張しない。参考資料BはVHDL言語のMODE
CONTROLブロック3118の一実施例VHDL記
述である。
【0099】エンコーディング過程に於て、MODE
CONTROLブロック3118は当初、現ツリー内に
於てエンコードされつつあるブロックのすぐ下のブロッ
クからプロモード(pro mode)と呼ばれるモー
ドとなる。例えば最も左側のブランチ内の状態zz0、
‥、zz3に符合する図65及び図66のブロックは最
も左側のオクターブの1ブロックから各プロモードを引
き継ぐ。同様に、図65及び図66の最も左側のオクタ
ーブの1ブロックは、オクターブ2のツリーのルートか
らプロモードを引き継ぐ。新及び旧ブロックのデータ値
が読まれた後そして上述したように決定ブロック311
2が新ブロックのためのフラグを生じた後に、MODE
CONTROLブロック3118の状態マシンが、新
データ値、フラグ及びプロモードに基づいて新ブロック
のための新モードを決定する。新モードの値は、一旦決
定されると、モードラッチ内に現ブロックの現在モード
として記憶される。ツリーの各オクターブのために1つ
のモードラッチがあり、ローパスデータ値のために1つ
のモードラッチがある。モードラッチはオクターブによ
って示されるスタックを形成し、モードラッチはツリー
のブロックの各々がエンコードされるモードを含む。
【0100】図58及び図59のツリープロセッサ回路
はまたハフマンエンコーダ・デコーダブロック3120
を含む。エンコーダモードに於て、ハフマンエンコーダ
・デコーダブロック3120への入力は量子化器ブロッ
ク3116によって供給される。これらの入力はgin
dex値及びsign信号を含み、各々リード3712
及び3714によって伝送される。ハフマンエンコーダ
・デコーダ3120の出力はリード3142上のハフマ
ンエンコード値及びリード3144上のハフマン長H
lを含み、この両者ともバッファブロック3122に供
給される。
【0101】デコーダモードに於て、ハフマンエンコー
ダ・デコーダブロック3120への入力はリード320
4によって、バッファブロック3122から伝送される
ハフマンエンコード値である。ハフマンエンコーダ・デ
コーダ3120の出力はリード3144上のハフマン長
H l及び、各々リード3708と3710を介して量
子化器ブロック3116に供給されるsign inv
及びgindex inv値を含む。ハフマンエンコー
ダ・デコーダブロック3120は組合せ論理を利用する
表4に示すテーブルの条件を満たす。
【表4】
【0102】エンコーダモードに於て、gindex値
は圧縮データストリームへの組合せのための対応するハ
フマン(Huffman)コードに変換される。一方M
ODE CONTROLブロック3118によって発生
されるトークンはエンコードされず、むしろ圧縮データ
ストリーム内に直接書き込まれる。
【0103】図68は図58及び図59のバッファブロ
ック3122の可能な実施例を図解する。エンコーダモ
ード内でのバッファブロック3122の機能はエンコー
ドされたデータ値及びトークンを単一のシリアル圧縮デ
ータストリームにアセンブルすることである。
【0104】デコーダモードに於て、バッファブロック
3122の機能は圧縮シリアルデータストリームをエン
コードされたデータ値及びトークンにリアセンブルする
ことである。異なるハフマンエンコードデータ値の異な
る長さに依拠して複雑性がバッファブロック3122内
に導入される。図58に図解するように、バッファ31
22は入力・出力リード130を介してFIFOバッフ
ァ120に結合され、トークン値リード3202及びト
ークン長リード3140を介してMODE CONTR
OLブロック3118に結合され、リード3144及び
ハフマン長リード3144を介してハフマンエンコーダ
・デコーダ3120に結合され、サイクル選択リード3
802を介して制御カウンタ3124に結合され、リー
ド3136を介してVALUE REGISTERS3
130に結合される。リード3136上をVALUE
REGISTERSブロック3130から伝送される方
向信号はバッファブロック3122がエンコーダモード
またデコーダモードの何れで作動するかを決定する。エ
ンコーダモードに於て、マルチプレクサ3804、38
06、3808及び3814は図68に於けるそれらの
“E”インプットに対応する値を選択する。エンコーダ
モードに於て、バッファブロック3122はリード31
42上に存するハフマンエンコード値信号と、リード3
202上に存するトークン値信号と、リード3802上
のサイクル選択信号と、リード3144上のハフマン長
信号H Lと、リード3140上のトークン長信号T
Lとを処理する。リード3802を介してCONTRO
L COUNTブロック3124によって供給されるサ
イクル選択信号はマルチプレクサ3810と3812に
供給され、(ハフマンエンコーダ・デコーダブロック3
120から受信される)ハフマンエンコード値か、また
は(MODE CONTROLブロック3118から受
信される)エンコードされないトークン値が現在的にア
センブルされて出力データストリーム内に入る値である
かどうかを制御する。
【0105】図69は、エンコーダモードに構成された
場合の、図68のバッファブロック3122の簡略ダイ
アグラムを図解する。値sfは入力トークン長値及びハ
フマン値長値の作動モドュロ(modulo)の16の
合計である。sfを決定する回路は加算器ブロック39
02、モドュロ16分割ブロック3904及び遅延ブロ
ック3906を含む。先行の値sfに加算される入力長
値が16以上の結果長を生ずる場合は、ブロック390
4はこの結果長から16を引き新値sfを決定する。比
較器ブロック3908はまたマルチプレクサ3901の
入力リード3916に信号high lowを送りsf
が16を超えたことを示す。図69はマルチプレクサ3
901の出力データリードからのデータ入力値及びマル
チプレクサ3810の出力データリードからのデータ入
力値を受信するバレルシフタ3912を示す。バレルシ
フタ3912は32ビット出力信号を32ビットバッフ
ァ3914に送る。32ビットバッファ3914の下位
16ビット出力は入力/出力リード130への出力であ
るビデオエンコーダ/デコーダチップのエンコードされ
たビットストリーム出力を構成する。
【0106】先行値であるsfに入力値長を加えたもの
が16以上である場合には、バッファ3914の下位1
6ビットはFIFOバッファ120へ送り出され、マル
チプレクサ3901はバッファ3914の上位16ビッ
トをバレルシフタ3912内の下位16ビットの位置に
パスして送り返すように設定される。そこで値sfは1
6だけ減少を示す。これらのパスして戻されたビットは
次にバッファ3914の下位16ビットの中のどれかの
ビットとなり、ここに後続の入力するエンコードされた
値またはマルチプレクサ3810から受信されたトーク
ンが、バレルシフタによって、位置sfから始まってス
タックされ、16以上のビット数のパックされたビット
が形成される。
【0107】代替的に、sfの値に新たに入力する値の
長さを加えたものが16より小さい場合には、マルチプ
レクサ3901はバッファ3914の下位16ビットを
パスしてバレルシフタ3912に戻すように制御され、
FIFOバッファ120にはビットは提供されない。後
続の入力するエンコードされた値及びマルチプレクサ3
810から取られるビットは、バレルシフタ3912内
の先行のエンコードされたデータ値またはトークンのビ
ットの上端にスタックされる。値sfは16を超えない
ので、sfが16分の減少を示すことはない。
【0108】図70はエンコードモードに於けるバッフ
ァ3122のバレルシフタの典型的な出力を図解する。
ハフマンエンコード言語の最長は16ビットである。ト
ークンの全てはその長さに於て2ビットであり、ここで
長さは新たにエンコードされた値またはトークンのビッ
トの数である。図70に於ける値sは最後にエンコード
されたデータ値またはバレルシフタ内に存するトークン
の直後に続くバレルシフタ3912内のビット位置を示
す。従って新たにエンコードされた値またはトークンは
バレルシフタ3912内に於てs..s+長さの位置に
書き込まれる。バレルシフタの結果生ずる32ビットの
出力は32ビットバッファ3914に再度書き込まれ
る。比較器ブロックはs+長さである新値を16と比較
する。もしもこのs+長さの値が図70に示すように1
6以上である場合には、マルチプレクサ入力リード39
16上に制御信号high lowが主張される。従っ
てバッファの下位16ビットはデータ値のビットによっ
て及び/またはトークンのビットによって既に完全にパ
ックされる。従ってこれらの下位16ビットは出力デー
タストリームの部分を含む出力である。データ値及び/
またはトークンによって不完全にパックされた上位16
ビットはバレルシフタ内の下位16ビットの位置に送り
返され、下位16ビット内の残留するパックされていな
いビットは新データビットまたは新トークンビットによ
ってパックされることができる。
【0109】一方、もしもs+長さの値が15以下の場
合には、バレルシフタ391内の下位16ビットの位置
にパックされていないビットが残留する。バレルシフタ
3912内のこれらの下位ビットは従ってバッファ39
14を介してリード130に出力することができない。
s+長さの値が16以上の時にのみバレルシフタ391
2の内容がバッファ3914に書き込まれ、下位16ビ
ットがリード130を介して出力される。
【0110】デコーダモードに於て、バッファ3122
はリード130のエンコードされたデータストリーム
と、MODE CONTROLブロック3118からの
リード3140のトークン長信号T Lと、リード31
44のハフマンエンコード長信号H Lと、リード38
02の制御信号サイクル選択とを受信する。マルチプレ
クサ3804、3806、及び3808はそれらの各々
の“D”入力上の値を選択するように制御される。サイ
クル選択信号3802は、データ値またはトークンが入
力するデータストリームから抽出されるかどうかに依拠
してハフマンエンコード長H L及びトークン長TLの
間での選択を行う。
【0111】図71はデコーダモードにて構成されたバ
ッファブロック3122の略示ダイヤグラムである。値
iは入力トークン長値及びハフマン値長値の作動モデ
ュロ32の合計である。siの値を決定する回路は加算
器ブロック4002、モデュロ32分割ブロック400
4、及び遅延ブロック4006を含む。siに加算され
る入力する長値が32よりも大きな値を結果する場合に
は、モデュロ32分割ブロック4004がこの値から3
2を引く。比較器ブロック4008は信号をバッファ3
914に送り、何時siが32以上の値に到達したかを
示す。付加的に、比較器ブロック4008は信号をバッ
ファ3914とマルチプレクサ3901及び4010の
両者に送り、何時siが16以上の値に到達したかを示
す。
【0112】デコーダモードに於けるバッファ3122
は、またバッファ3914、マルチプレクサ3901と
4010、及びバレルシフタ4012を含む。ハフマン
エンコードデータ値が入力するデータストリームの次の
値である場合には、バレルシフタ4012内に存するエ
ンコードされたデータストリームの16ビットが出力リ
ード3204を介してハフマンデコーダブロック312
0にパスされる。エンコードされたデータ値を表す16
ビット中のビットの数は使用されるハフマンコードに従
ったデータ値に依拠する。トークンが入力するデータス
トリーム中の次の値である場合には、バレルシフタ40
12からの2個の最上位ビットのみがMODE CON
TROLブロック3118へのリード3202上の出力
となるトークン値として利用される。残りの14のビッ
トはこのサイクル中出力されない。エンコードされたデ
ータ値または2ビットトークンでの何れかである多数の
ビットが出力された後、siの値はバレルシフタ401
2内のビットの第1ビットに対する直接箇所にまでアッ
プデイトされ、これに最終出力のビットが続く。加算器
ブロック4002、モジュールブロック4002、及び
遅れ要素4006を含む回路は先の出力値またはトーク
ンの長さをsiモデュロ32に加算しバレルシフタ40
12内の次の値またはトークンの開始位置を決定する。
比較器ブロック4008は値si+入力する長値の数値
を求め、そしてこの値が16以上の時には実際の値をリ
ード4014に伝送し、またこの値が32以上である場
合には実際の値をリード4016に伝送する。siが1
6以上の時、バッファ3914はエンコードされたビッ
トストリームのビットの新16ビットをその下位半分の
中に読み込む。siが32以上の時、バッファ3914
は新16ビットをその上位半分のなかに読み込む。バッ
ファ3914に続く2個のマルチプレクサ4014及び
3910はバッファ3914の低い半分と高い半分の順
序を再配置し、エンコードされたデータストリームの元
の順序をバレルシフタ4012の入力リードに維持す
る。
【0113】図58及び59のツリープロセッサ/エン
コーダ・デコーダ回路124はCONTROL COU
NTブロック3124を含む。CONTROL COU
NTブロック3214はこれらのブロックが行う作動の
タイミングを決定する制御信号を出力することによりツ
リープロセッサ/エンコーダ・デコーダ回路124のブ
ロックの全体的なタイミング及び作動順序を制御する。
この発明の1実施例に従って、ツリープロセッサ/エン
コーダ・デコーダ112は各ステージが1クロックサイ
クルを占める9つのステージのパイプラインシーケンス
に完全にパイプライン連絡される。参考資料CはVHD
Lコードで記述されたCONTROLCOUNTブロッ
ク3124の一実施例を図解する。
【0114】CONTROL COUNTブロック31
24による信号出力は読み出しサイクルの間アクティブ
な、リード3404上の読み出しイネーブル信号と、書
き込みサイクルの間アクティブな、リード3406上の
書き込みイネーブル信号とを含む。この出力信号はまた
リード3108及び3110上のメモリ制御信号を含
み、これは各々メモリからの読み出しまたはメモリへの
書き込みのためメモリユニット116の旧部分と新部分
とを制御する。信号出力はまたリード3138上の4ビ
ット状態ベクトルを含み、これは現サイクルにてモード
制御ブロック3118を供給する。4ビット状態ベクト
ルはスキップ(skip)サイクルの間1乃至4の値を
通じてカウントされ、トークン(token)サイクル
の間5の値を通じてカウントされ、データ(data)
サイクルの間6−9の値を通じてカウントされる。CO
NTROL COUNERブロック3124による信号
出力はまたリード3802上のサイクル状態値を含み、
これはトークンサイクルまたはデータサイクルが行われ
る場合にバッファ3122に信号を送る。
【0115】図72はCONTROL COUNTER
ブロック3124によって制御されたパイプラインによ
って連絡されたエンコーディング/デコーディング過程
を図解する。サイクルは、ハフマンエンコード/デコー
ド化されたデータがエンコードビットストリーム中に出
力/入力されかつ旧フレーム値がメモリに書き戻されと
きであるデータサイクルと、トークンが出力/入力され
た時であるトークンサイクルと、エンコード/デコード
されたデータがエンコードビットストリームに対し出力
されずまたはエンコードされたビットストリームから受
信されないときである残りの場合のスキップサイクルの
3つの形式に分割される。CONTROL COUNT
ERブロック3124のカウンタは8まで数え上げそこ
で0にリセットする。カウントの各シーケンスに於て、
このカウンタは現在のモードに依拠して各種の制御信号
のデコードを行う。パイプラインサイクルは以下の通り
である。
【表5】
【0116】図72は一旦新モードが計算されるとツリ
ー内のデータ値の他のブロックが処理されうることを図
解する。ツリープロセッサ/エンコーダ/デコーダは従
って完全にパイプライン接続され、各5クロックサイク
ル毎に変換された新データ値を処理することができる。
パイプラインシーケンスを変更するには、CONTRO
L COUNTERブロック3124のブロック内の制
御信号を再度プログラムすることのみが必要である。
【0117】追加的実施例 4:1:1のフォーマットのデジタルビデオはA/Dビ
デオデコーダ110からラスタ走査形態にて列から列へ
とビデオエンコーダ/デコーダ回路112の離散ウェー
ブレット変換回路122に向けライン202上に出力さ
れる。図73はこの発明による他の実施例を図解する。
アナログビデオがビデオ源104からA/Dビデオデコ
ーダ回路4300へ供給される。例えばフィリップ(P
hilpe)製であるA/Dビデオデコーダ回路430
0はライン4301上に4:2:2フォーマットのデジ
タルビデオを水平デシメータ回路4302に向けて出力
する。水平デシメータ回路4302に入力する各2個の
データ値のために水平デシメータ回路4302はローパ
スフィルタリングを行い1つのデータ値を出力する。水
平デシメータ回路4302の大幅に減少されかつローパ
スフィルタされた出力はメモリユニット114に供給さ
れ、データ値は図73に図解するようにメモリユニット
114内に書き込まれ保存される。ライン4301上の
4:2:2のフォーマットのデジタルビデオは1秒につ
き30フレームのフレーム率にて生じ、各フレームは2
個のフィールドからなる。奇数フィールドを捨てること
により、残りの偶数フィールドを変換し圧縮/解凍する
ために全33×3msフレーム期間が有効となる。偶数
フィールドは水平デシメータ回路4302によってロー
パスフィルタされ、水平デシメータ回路4302の出力
は、1秒につき30フレームの率にて生じ、この場合に
各フレームは1つのフィールドのみよりなる。メモリユ
ニット114は640×240の全画像データ値を含
む。160×240Uデータ値と同様、また160×2
40Vデータ値と同様320×240Yデータ値が存在
する。
【0118】順変換を行うために、メモリユニット11
4からのY値は上述したようにビデオエンコーダ/デコ
ーダチップ112によって読まれ、離散ウェーブレット
(wavelet)変換回路122の行コンボルバ(c
onvolver)及び列コンボルバ(convolv
er)によって処理され、Yの値の3オクターブのサブ
バンド分解がメモリユニット116内に書き込まれる。
Y値の3オクターブサブバンド分解は図73に於てメモ
リユニット116の新部分のY部分4303内に書き込
まれた状態にて図解される。
【0119】Y値のための3オクターブサブバンド分解
がメモリユニット116内に書き込まれた後、ビデオエ
ンコーダ/デコーダチップ112はメモリユニット11
4からU画像データ値を読むが、行コンボルバをバイパ
スする。従ってメモリユニット114内のU値の各列は
列コンボルバによってローパス成分とハイパス成分中に
デジタル的にフィルタされる。ハイパス成分Gは捨てら
れ、ローパス成分Hは図73に図解されるメモリユニッ
ト116の新部分のU部分4304内に書き込まれる。
メモリユニット116のU部分4304がU値のローパ
スH成分によって書き込まれた後、ビデオエンコーダ/
デコーダチップ112はU部分4304からこれらのU
値を読込み、離散ウェーブレット変換回路122の行コ
ンボルバ及び列コンボルバの両者を使用してこれらのU
データ値を処理してU値サブバンド分解を生ずるため、
追加的にオクターブの変換を遂行する。U値サブバンド
分解はメモリユニット116のU部分4304内に記憶
される。同様に、メモリユニット114内のV画像デー
タ値はビデオエンコーダ/デコーダチップ112によっ
て離散ウェーブレット変換回路122の列コンボルバ内
に読み込まれ、高パス成分Gは捨てられ、ローパス成分
Hはメモリユニット116の新部分のV部分4305内
に書き込まれる。V部分4305のVデータ値は次にビ
デオエンコーダ/デコーダチップ112によって読ま
れ、離散ウェーブレット変換回路122の行コンボルバ
及び列コンボルバの両者によって処理され、U部分43
04内に記憶されたUサブバンド分解に符合するVサブ
バンド分解を発生する。この過程が図3A乃至図3Cに
関連して既述した4:1:1の3オクターブ離散ウェー
ブレット変換と比較しうる前方3オクターブ離散ウェー
ブレット変換を完成する。メモリユニット116のY部
分4303は320X240のデータ値メモリ位置を含
み、U部分4304は160X120のデータ値メモリ
位置を含み、V部分4305は160X120のデータ
値メモリ位置を含む。
【0120】図5に図解するDWTアドレス発生器50
8は出力線OUT2上に一連の19ビットアドレスを発
生する。しかしながら現説明の実施例に従い、メモリユ
ニット114はダイナミックランダムアクセスメモリ
(DRAM)である。このメモリユニット114は水平
デシメータ回路4302からロードされ、ビデオエンコ
ーダ/デコーダチップ112によって読み出し及び書き
込みが行われる。例えば、ビデオエンコーダ/デコーダ
チップ112がメモリユニット114内のYデータ値に
アクセスするため、制御ブロック506によってDWT
アドレス発生器508に供給されるinc R値が2に
設定される。このことがビデオエンコーダ/デコーダチ
ップ112のDWTアドレス発生器508を図73に図
解する偶数アドレスを介して増大へと導き、メモリユニ
ット114内のY値のみが読まれる。Y値の全てがメモ
リユニット114から読まれ、Yサブバンド分解に変換
された後、base u Rは1に変換され、Chan
nel start rは図56及び図57のBASE
MUX3002がbase u Rを選択しメモリユ
ニット114内の最初のUデータ値にアドレスするよう
に設定される。incR値はメモリユニット114内の
Uデータ値のみがアクセスされるように4に設定される
ので、後続のUデータ値がアクセスされる。同様に、b
ase VR値の3への設定及びBASE MUX30
02がbase V R入力リードを選択するようなC
hannel start r値の設定により、Vデー
タ値がアクセスされる。連続するVデータ値はinc
Rが3に留まるのでメモリユニット114から読まれ
る。
【0121】この実施例に従いビデオエンコーダ/デコ
ーダチップ112はメモリユニット114を読むので、
DWTアドレス発生器508はメモリユニット114に
読み出しアドレス及び書き込みアドレスの両者を供給す
る。従って、図56及び図57の読み出しアドレスバス
3018及び書き込みアドレスバス3020は、DWT
アドレス発生器のOUT2出力線上にアドレスを供給す
るため共にマルチプレックス処理される(図示しな
い)。
【0122】図73のメモリユニット116内に記憶さ
れた3オクターブサブバンド分解への逆変換を遂行する
ため、ビデオエンコーダ/デコーダチップ112の行コ
ンボルバ及び列コンボルバは逆変換を遂行するローパス
成分とハイパス成分の両者を必要とする。サブバンド分
解のU及びVデータ値にオクターブ0の逆変換を遂行す
る場合には、ビデオエンコーダ/デコーダチップ112
がハイパス変換データ値を読むべきときに0が挿入され
る。オクターブ0の逆変換に於いては、行コンボルバは
バイパスされ、列コンボルバの出力がU及びVの逆方向
変換されたデータ値を目的としてメモリユニット114
内の適当な位置に直接書き込まれる。一方メモリユニッ
ト116内のY変換データ値が逆変換されるべき場合に
は、ビデオエンコーダ/デコーダチップ112の列コン
ボルバ及び行コンボルバの両者が逆変換の3オクターブ
の各々に於いて使用される。結果として生ずる逆変換Y
データ値は図73に示されるように適当な位置に於いて
メモリユニット114内に書き込まれる。
【0123】図74はメモリユニット116がスタティ
ックランダムアクセスメモリ(SRAM)である図1に
図解するこの発明の実施例に基づくメモリユニット11
6の新部分のY部分からの一続きの読み出し及び書き込
みYデータ値を図解する。図74の点線は単一2次元マ
トリクス内にY値の全サブバンド分解を記憶するのに適
当な広さと深さのメモリ位置の2次元マトリクス内の各
個別メモリ位置を表示する。離散ウェーブレット変換チ
ップ122は第1の時間間隔の間R0に示されるメモリ
位置を読み、第2の時間間隔の間に変換されたデータ値
をW1に示されるメモリ位置に出力し、R2に示される
メモリ位置からの他のデータ値を読み、W3等に示され
るメモリ位置への変換データ値の書き込みを行う。もし
もメモリユニット116がダイナミックランダムアクセ
スメモリ(DRAM)として実現されるならば、この方
法でのアドレスメモリユニット116は各連続する時間
間隔にアクセスされるメモリユニットの異なる行への配
置を結果する。連続状アクセスが標準のダイナミックラ
ンダムアクセスメモリの異なる行に対して行われる場合
には、行アドレス選択(RAS)サイクルは行アドレス
が変更する各時点において遂行されなければならない。
一方、連続状アクセスが同一の行に属するメモリ位置に
於いて遂行される場合、列アドレス選択(CAS)サイ
クルのみが遂行されることが必要である。CASサイク
ルの遂行は標準のダイナミックランダムアクセスメモリ
内に於いてRASサイクルよりも顕著に速い。従ってメ
モリユニット114がダイナミックランダムアクセスメ
モリとして実現されかつメモリユニット116が図44
に図解する様式にて読み出し及び書き込みされる場合に
はアクセスは遅い。
【0124】図75はメモリユニット116がダイナミ
ックランダムアクセスメモリとして了解されるこの発明
の他の実施例に従った一続きの読み出し及び書き込みメ
モリユニット116を図解する。再び、点線は各メモリ
位置を意味し、メモリ位置のマトリックスは単一2次元
マトリックス内のサブバンド分解のY部分に適合するに
十分な広さでかつ十分な深さであると考える。第1の時
間間隔に於いて、R0で示されるメモリ位置が読まれ
る。次の時間間隔に於いてメモリ位置R1が読まれ、次
に後続の時間間隔に於いてR2が読まれ、次に後続の時
間間隔に於いてR3が読まれ、同様の作動が行われる。
このようにしてローパス成分HH値の1行が、ただ1つ
のRASサイクルと多数のCASサイクルを使用してビ
デオエンコーダ/デコーダチップ112内に読み込まれ
る。次に、図75中に符号R160、R161、R16
2等で示されるようにローパス成分HHデータ値の第2
行が読まれる。第2行に読み込まれる最後のローパス成
分データ値はR319として示される。この行も、ま
た、ただ1つのRASサイクルと多数のCASサイクル
を使用してビデオエンコーダ/デコーダチップ112内
に読み込まれる。図20、図21及び図22は離散ウェ
ーブレット変換チップ122によって決定される結果的
オクターブ1変換データ値が図15に図解される133
4及び1340にて示されるライン遅れ内に現に存在す
るというデータ値を読み込んだ後を図解する。本発明の
この実施例に於いてはこの点に於いて、離散ウェーブレ
ット変換チップ122の行コンボルバと列コンボルバと
は、ライン遅れ1334及び1340が連続する様式に
て読まれかつ図75に図解するようにメモリユニット1
16の新部分のY部分に書き込まれる点を除いて全ての
制御信号が凍結されることにより停止される。このよう
にして、時間間隔0乃至319に於いて先行して読まれ
た2行のメモリ位置はここで時間間隔320乃至639
に於いて結果として生ずるオクターブ1変換値によって
オーバライトされる。時間間隔320乃至479に於い
て変換データ値を書き込むにはただ1つのRASサイク
ルのみが必要とされる。同様に時間間隔480乃至63
9の間に変換データ値を書き込むにはただ1つのRAS
サイクルのみが必要とされる。このことは顕著に速いメ
モリユニット116へのアクセスを結果する。メモリユ
ニット116を実現するのにスタティックランダムアク
セスメモリよりもむしろダイナミックランダムアクセス
メモリを使用できるので、システムコストは相当に削減
される。
【0125】本発明のこの実施例に従って、ビデオエン
コーダ/デコーダ回路112の列コンボルバの出力OU
T2の出力は図15に図解するようにブロック1332
の出力リードに結合される。しかしながら、何れの他の
オクターブの順変換または逆変換に於いて出力リードO
UT2はライン遅れ1340に結合される。従って、図
75に図解のメモリアクセス設計に従った実施例に於い
て、ライン遅れ1340の出力かまたは加算器ブロック
1332の出力の何れかを図13の列ウェーブレッド変
換回路704の出力リードOUT2に結合するマルチプ
レクサ(図示しない)が提供される。
【0126】図76は本発明に従った他の実施例を図解
する。メモリユニット116は新部分と旧部分とを含
む。新部分と旧部分の各々はサブバンド分解を含む。ウ
ェーブレットサブバンド分解の空間的な局所性の故に、
ローパス成分データ値の2×2ブロックはデータ値の高
周波数2×2ブロックの3個のツリーより成る高パス成
分を有する。例えば、3オクターブサブバンド分解に於
いて、ローパス成分データ値の各2×2ブロック及び高
パス成分データ値のこれに関連する3ツリーは図76に
図解するメモリの16×16領域を形成する。
【0127】ダイナミックランダムアクセスメモリ(D
RAM)内に於いてメモリユニット116を実現するた
め、離散ウェーブレット変換回路122内にてライン遅
れとして使用されるスタティックランダムアクセスメモ
リ(SRAM)4600、4601、4602及び46
03が、メモリユニット116の旧部分内の1つの16
×16ブロックと同様にメモリユニット116の新部分
内に1つの16×16ブロックを保持するためのキャッ
シュメモリとして使用される。このことが、メモリユニ
ットの新部分と旧部分を実現し、最大で16のRASサ
イクルを使用してダイナミックランダムアクセスメモリ
の各16×16ブロックへのアクセスを可能とする。こ
のことが、ビデオエンコーダ/デコーダチップ112に
於いてメモリユニット116上にスタティックランダム
アクセスメモリよりもむしろダイナミックランダムアク
セスメモリの使用を可能とし、このことがシステムコス
トを削減する。
【0128】図77は図76に図解の回路によって遂行
される一連の作動の時間変化を図解する。第1の時間間
隔に於いて旧16×16ブロック3はSRAM 1 4
601内に読み込まれる。ビデオエンコーダ/デコーダ
チップ112にはメモリユニット116にアクセスする
ためにただ1組のデータピンのみが存するので第2の時
間間隔に於いてメモリユニット116の新部分の16×
16ブロック0がSRAM0 4600内に読み込まれ
る。双方向マルチプレクサ4604はSRAM1460
1内に現に存在する旧データ値の16×16ブロックを
ツリープロセッサ/エンコーダ・デコーダ回路124の
双方向入力ポートの旧値4606に結合するように選択
入力4605によって制御される。同様に、SRAM
0 4600内に存在する16×16の新データ値はツ
リープロセッサ/エンコーダ・デコーダ回路124の入
力ポートの新値4607に結合される。従って、ツリー
プロセッサ/エンコーダ/デコーダ回路124は第3の
時間間隔に於いてツリー処理とエンコードを行う。同一
の第3の時間間隔の間に、逆に量子化された旧16×1
6ブロックはマルチプレクサ4604を介してSRAM
1 4601内に再度書き込まれる。第4の時間間隔に於
いて、旧16×16ブロックはSRAM2 4602内に
書き込まれる。続いて、第3の時間間隔に於いて新デー
タ値の16×16ブロックがメモリユニット116から
SRAM0 4600内に読み込まれる。新そして旧16
×16ブロックが再び、SRAM2 4602内に書き込
まれる 逆に量子化された16×16の旧ブロックを処理するた
めツリープロセッサ/エンコーダ・デコーダに提供され
る。ツリープロセッサ/エンコーダ・デコーダ回路12
4がツリー処理及びエンコードを遂行する間、SRAM
1 4601内の逆量子化された16×16ブロックはメ
モリユニット116の旧部分の16×16ブロック3に
書き戻される。続いて、第7の時間間隔に於いて、メモ
リユニット116の旧部分の16×16ブロック5はS
RAM1 4601内に読み込まれ、かつ第8の時間間隔
に於いてメモリユニット116内の新データ値4の16
×16ブロックはSRAM0 4600内に読み込まれ
る。第9の時間間隔に於いて、ツリープロセッサ/エン
コーダ・デコーダ回路124は16×16の新そして旧
ブロック4及び5を処理し、一方SRAM2 4602内
の逆量子化されたデータ値の16×16ブロックはメモ
リユニット116の旧部分内の16×16ブロック2内
に書き込まれる。このパイプライン結合技術は、ツリー
プロセッサ/エンコーダ・デコーダ回路124が処理し
つつかつメモリユニット116から読み出しをしない時
間間隔の利点を利用することによりダイナミックランダ
ムアクセスメモリ(DRAM)が各時間間隔の間にアク
セスされることを可能とする。メモリユニット116の
全てのアクセスは、メモリ位置の16×16ブロックに
向けられるのでCASサイクルの数を最大限にすること
ができる。異なる時間間隔の間での新そして旧サブバン
ド分解の各種の16×16ブロックのアクセスを示すた
めに、図76に於いてメモリユニット116とビデオエ
ンコーダ/デコーダ回路112の間に矢印が記載されて
いる。しかしながらビデオエンコーダ/デコーダチップ
112は、データ値をメモリユニット116から読みか
つメモリユニット116に書き込むためのデータリード
を1セットのみ有するので、2重ポートスタティックラ
ンダムアクセスメモリ4600−4602の右側の入力
/出力ポートは共にバスされ、かつビデオエンコーダ/
デコーダチップ112の入力/出力データピンに結合さ
れる。
【0129】ファーストイン・ファーストアウト(FI
FO)メモリ120を実現するのに追加的メモリの設置
の必要性を避けるためビデオエンコーダ/デコーダチッ
プ112の列コンボルバにライン遅れとして使用される
SRAM3 4603が、ISAバス106とビデオエン
コーダ/デコーダチップ112の間のエンコード及びデ
コード作動に於ける圧縮データストリームの緩衝(bu
ffer)を目的としてツリープロセッサ/エンコーダ
・デコーダ回路124に結合される。SRAM3のこの
共同利用は、離散ウェーブレット変換回路122は第1
の時間間隔中に作動し、ツリープロセッサ/エンコーダ
デコーダ回路124は第2の時間間隔中に作動すること
の故に可能である。
【0130】ツリープロセッサ/エンコーダ・デコーダ
回路124がデコード機能を遂行するときには、メモリ
ユニット116の新部分は必要とされず、SRAM0 は
使用されない。従って図77中に図解の時間線のリード
(read)0、リード1、及びリード4の時間間隔は
デコード中は省略される。
【0131】この発明は上述の特定の実施例によって記
述されたが、この発明はそれに限定されない。特定実施
例の各特徴の修正、再配置及び組み合わせをこの発明の
範囲から逸脱することなく実施することができる。例え
ば圧縮は行うが解凍は行わない集積回路チップを実現す
ることができ、また解凍は行うが圧縮は行わない他の集
積回路チップを実現することもできる。メモリユニット
を離散ウェーブレット変換回路及びツリープロセッサ/
エンコーダ・デコーダ回路と同一のチップに設置するこ
とを含むいかなるレベルの集積下も実施することができ
る。この発明は、パーソナルコンピュータ、ビデオカセ
ットレコーダ、ビデオカメラ、テレビ、コンパクトディ
スクプレーヤ及びデコーダ、及びデジタルテープ装置を
含む製品に組み込むことができる。この発明は更に画像
データ、ビデオデータ及び/または音声データを処理す
ることができる。4係数準ダウベシス(Daubech
ies)順変換フィルタ及び符合する4係数再構成(逆
変換)フィルタを利用することができ、1994年3月
30日付け出願の“data compression
and decompression”の国際出願に
開示のフィルタを含む各種の開始終了順変換フィルタ及
び各種の符合する開始終了再構成(逆変換)フィルタを
も利用することができ、1994年3月30日付け出願
の“datacompression and dec
ompression”の国際出願に開示のフィルタを
含む。トークンをエンコードしまたはデコードすること
ができる。連続するビデオフレームに於ける動きを含む
他の情報をエンコードするための他の形式のトークンを
利用することもできる。ハフマン(Huffman)エ
ンコード以外の他の形式のエンコードを利用することが
でき、異なる量子化設計を利用することもできる。従っ
て好実施例に関する上述の説明は単に説明、指示目的の
ために表現されたものであり、添付請求の範囲の記載の
ようにこの発明の範囲を限定することを意図したもので
はない。
【0132】参考説明 以下の説明は、同一出願人により1994年3月30日
付けのPCT国際出願される出願明細書の内容に基づく
もので、本件出願の理解の助けになるものであるため
に、本件出願の一部として添付した。
【0133】アペンディクスへの言及 本出願の一部をなすアペンディクス(参考資料)Aは、
プログラム用C言語により記述されたソフトウェアのプ
ログラムリストである。同じく本出願の一部をなすアペ
ンディクスB−1及びB−2は、これら両者により、一
般的に用いられるハードウェア記述言語ELLAによる
ハードウェアの実施態様の説明である。同じく本出願の
一部をなすアペンディクスCは、プログラム用のC言語
及びアセンブリコードにより記述されたソフトウェアの
プログラムリストである。本出願の開示内容の一部は著
作件の保護対象である。著作権の権利者は、本出願の複
製をすることに異論はないが、その他の点については全
ての著作権についての権利を保有するものである。
【0134】背景技術 コンピュータのモニタに表示されるイメージは、デジタ
ルデータ値の2次元マトリックスとして表すことができ
る。VGAコンピュータモニタにおける1つのフレーム
は、例えば、ピクセル値の3つのマトリックスにより表
すことができる。3つのマトリックスのそれぞれは、モ
ニタ上の各ピクセルに対応するデータ値を有する。
【0135】モニタ上のイメージは、スクリーン上のピ
クセルの輝度(輝度)値Yを表す1つのデータ値の64
0×480のマトリックス及びスクリーン上のピクセル
のクロミナンス(色)値U及びVを表すデータ値の2つ
の640×480のマトリックスにより表すことができ
る。輝度及びクロミナンス値はアナログ量であるが、各
ピクセルの1つの輝度値及び2つのクロミナンス値をア
ナログ量からディスクリートなデジタル値にデジタル化
することができる。各輝度及びクロミナンスデジタル値
は8ビット数により表すことができる。コンピュータモ
ニタの1つのフレームは、従って、通常の圧縮されない
形に於いて、約7メガビットのメモリを必要とする。圧
縮されないデジタル形式により1つのイメージを記憶或
いは伝送するために大量のメモリが必要であることか
ら、一旦圧縮されたデジタルデータをそれを見る時に再
び元のイメージデータに復元するような解凍を行うよう
に、イメージデータを記憶或いは伝送する前に圧縮して
おくことが好ましい。このようにして、より少ない量の
圧縮されたデジタルデータを記憶又は伝送することとな
る。従って、様々なデジタルイメージの圧縮及び解凍方
法が開発されている。
【0136】1つの方法に於いては、各デジタル値が対
応するデジタルコードに変換される。コードのあるもの
は少ないビット数を有し、コードの他のものは、より大
きな数のビットを有する。このようにコードのあるもの
は比較的短く、他のコードが長いことを利用して、もと
のイメージのもとのデジタルデータ値を、デジタルフィ
ルタを用いてフィルタし、高周波成分と低周波成分とに
分離する。高周波成分はイメージに於けるアンビギティ
ー(ambiguity)を表し、従って、実際の画像
に対して比較的大量の同一のデータ値を有することを見
いだすことができる。頻繁に発生する高周波成分に於け
るデジタルデータ値を短いデジタルコードによりコード
化し、イメージデータを記憶するために必要なビット数
の総数を、全てのデータ値を8ビットにより表す場合に
必要となるような数から減少させることができる。この
ようにして得られるコード化されたデータのビットの総
数は、もとのデータ値のビット数よりも少ないことか
ら、もとのイメージが圧縮されたということができる。
【0137】圧縮され、コード化されたデータをもとの
イメージデータに復元するために解凍する場合、圧縮さ
れかつコード化されたデータは、同一のデジタルコード
を用いてデコードされる。このようにして得られる高周
波及び低周波成分は再び組み合わされ、もとのイメージ
データ値の2次元的なマトリックスを形成することとな
る。
【0138】圧縮されるべきデータがイメージデータの
ように2次元的なデータである場合、デジタルフィルタ
による、もとのデータの高周波及び低周波成分への分離
は、イメージの水平方向及びイメージの垂直方向など2
つの方向についてのフィルタを行うことにより達成され
る。同様に、デコードされた高周波及び低周波成分は、
これら2つの方向即ち次元について組み合わせることに
より、もとのイメージデータ値へと組み合わせることが
できる。
【0139】より高度の圧縮を達成するために、低周波
成分それ自体をフィルタし、それをコード化する前にさ
らに高周波及び低周波成分に分離することができる。同
様にして、低周波成分の低周波成分をさらにフィルタす
ることもできる。このように繰り返しフィルタを行う方
法を、何回も繰り返すことができる。このように繰り返
しフィルタが行われるか否かを問わず、フィルタされた
イメージは、高周波及び低周波成分に変換(Trans
form)されたと呼ばれる。このデジタルフィルタを
変換と呼ぶ。同様に、高周波及び低周波成分は、もとの
データ値へと逆変換されると呼ばれる。このプロセスは
逆変換と呼ばれる。
【0140】図78は8ビットデータ輝度値の840×
480のマトリックスにより表される白い背景上の黒い
四角からなるデジタルグレースケールイメージを示すダ
イアグラム図である。
【0141】図79はもとのイメージの高周波及び低周
波成分を生成する際の第1の中間過程を示すダイアグラ
ム図である。入力として複数のデータ値を用い単一のデ
ータを出力するハイパスデジタルフィルタが、もとのイ
メージ値を左から右に行毎に横切りGサブブロック3を
生成する。Gサブブロック3に於けるデジタル値の数
は、図78の、もとのイメージに於けるデータ値の数の
半分である。何故なら、デジタルフィルタは、右方向
に、Gサブブロック3のために生成される1つデータ出
力毎に2つの追加のデータ値を処理するように2つ毎に
移動するためである。同様に、入力として複数のデータ
値を用い単一のデータを出力するローパスデジタルフィ
ルタが、もとのイメージ値を左から右に行毎に横切りH
サブブロック4を生成する。Hサブブロック4に於ける
デジタル値の数は、図78の、もとのイメージに於ける
データ値の数の半分である。何故なら、デジタルフィル
タは、右方向に、Hサブブロック4のために生成される
1つデータ出力毎に2つの追加のデータ値を処理するよ
うに2つ毎に移動するためである。ハイパスGサブブロ
ック3に於ける2つの垂直バーのそれぞれが、図78の
もとのイメージに於ける水平方向について空間的な変化
が起きる部分に於いて発生する。フィルタGが図78の
イメージに対して水平方向に走査されたときに、Gフィ
ルタが白いデータ値から黒いデータ値へと変化したとき
に、Gデジタルフィルタはサブブロック3内に対応する
黒のデータ値を出力する。同様に、Gデジタルフィルタ
が次の変化に遭遇すると、即ち黒から白のデータ値への
変化に遭遇したとき、Gデジタルフィルタは再びGサブ
ブロック3に対して対応する黒いデータ値を出力する。
【0142】図80は、もとのイメージの高周波及び低
周波成分を生成する際の第2の中間的過程を示すダイア
グラム図である。ハイパスデジタルフィルタが、図80
のサブブロックH及びGの幾つもの列に対して走査さ
れ、図80に示されるHGサブブロック5及びGGサブ
ブロック6を生成する。同様に、ローパスデジタルフィ
ルタが図79のサブブロックH及びGの幾つもの列に対
して走査され、図80に示されるGHサブブロック7及
びHHサブブロック8を生成する。その結果、サブブロ
ックHHにはローパス成分が、サブブロックGH、HG
及びGGには3つの高周波成分が配置される。図80に
於ける高周波及び低周波データ値の総数は図78のもと
のイメージのデータ値の数に等しい。ハイパス成分サブ
ブロックGH、HG及びGGに於けるデータ値は、オク
ターブゼロの高周波成分データ値と呼ばれる。
【0143】次にローパスサブブロックHHが同様に水
平及び垂直方向にフィルタされ、その低周波及び高周波
成分に分離される。図81はそのようにして得られたサ
ブブロックを示す。HHHGサブブロック9、HHGH
サブブロック10及びHHGGサブブロック11のデー
タ値は、オクターブ1の高周波成分データ値と呼ばれ
る。サブブロックHHHHは低周波成分である。図示さ
れていないが、低周波HHHHサブブロック12を同様
の方法により更にフィルタすることができる。図81に
示されるように、オクターブ0及び1の高周波成分は、
大体に於いて白である。何故なら、これらのサブブロッ
クに於ける黒は、対応する高周波サブブロックを生成す
るときのもととなったデータブロックに於ける白から黒
又は黒から白への変化を表すことによるものである。図
78に於けるエッジとも呼ばれる白から黒への或いは黒
から白への変化は、図80に示されるようにHG、HG
及びGGクアドラントに於ける高周波データ値を発生す
る。
【0144】上記した方法を用いてイメージデータを所
望の回数フィルタした後、その結果得られる変換された
データ値を、表6に示されたHuffmanコード等の
デジタルコードを用いてコード化される。
【表6】
【0145】図78のもとのイメージの高周波成分が、
図80及び81からも明らかであるように概ね白である
ことから、上記したデジタル構造に於いてはグレースケ
ール白に対して単一のビット0が割り当てられている。
変換されたイメージに於いて次に最も一般的なグレース
ケールは黒である。従ってグレースケール黒には次に短
いコード101が割り当てられている。図78のイメー
ジは、黒及び白のピクセルのみからなる。イメージが他
のグレースケールの濃淡度を有するものであれば、それ
らのグレースケールに対して別のコードが割り当てら
れ、やはり最も頻繁なグレースケールには比較的短いコ
ードが割り当てられる。ハフマンコード化による結果
は、高周波成分に於いて優勢であるようなデジタル値
は、少ないビット数を有するコードにコード化される。
従って、もとのイメージデータを表すために必要となる
ビットの数が減少する。従って、イメージは圧縮された
と呼ぶことができる。しかしながら、デジタルフィルタ
が、データ値の境界部分にあるときに圧縮を行う際に問
題が発生する。例えば、ハイパス成分を発生するハイパ
スデジタルフィルタがもとのイメージデータの左側に於
いてオクターブ0のハイパスデータ値を生成するとき
に、フィルタによって必要とされるフィルタ入力のある
ものが存在しないことがある。
【0146】図82は、オクターブ0の第1のハイパス
データ値G0を生成するために4係数ハイパスデジタル
フィルタGによって必要とされる4つのデータ値を示し
ている。図82に示されるように、データ値D1、D2
3及びD4は、オクターブ0の第2のハイパスデータ値
であるデータ値G1を生成するために必要となる。第1
のハイパス成分出力データ値G0を生成するためには、
それに対して、データちD-1、D0、D1及びD2が必要
とされる。しかしながら、データ値D-1はもとのイメー
ジデータ中には存在しない。
【0147】変換されるべきイメージデータの境界を越
える場合のデジタルフィルタに於ける問題を解消するた
めに幾つもの手法が開発されている。ゼロパッディング
と呼ばれる一つの手法に於いては、イメージの外側の存
在しないデータ値は単にゼロであると仮定される。しか
しながら、この場合、イメージに於ける対象が、イメー
ジの境界を本来越えるはずであったが、仮定された0が
境界に於ける対象を突然短縮してしまうことによる境界
の非連続性を引き起こす。円形畳み込み積分(circ
ular convolution)と呼ばれる別の方
法に於いては、2次元的な多オクターブ変換が、1次元
的有限畳み込みにより表現される。円形畳み込みは、デ
ータの端部を互いに結合する。そのため、結合部には偽
の非連続性が発生するが、イメージの境界を越えて存在
するデータ値の問題は既に存在しない。対称円形畳み込
みと呼ばれる別な手法に於いては、各データの境界にお
けるイメージデータに対して鏡像が与えられる。ランプ
(ramp)信号などの信号は、鏡像が与えられたとき
にピークを形成する。二重対称円形畳み込みと呼ばれる
別の手法に於いては、データに対して空間的な鏡像が与
えられるばかりでなく、値も、境界について得られる虚
像が与えられる。この方法は、信号及びその一次導関数
に対して連続性を維持させようとするものであるが、畳
み込みを行う前に鏡像として与えられる値を予め計算し
ておかなければならないことから、鏡像を与えるために
大量の計算が必要となる。
【0148】図83は、境界の問題を解決しようとして
開発された更に別の方法を示している。この方法によれ
ば、高周波及び低周波デジタルフィルタが、イメージデ
ータに於けるイメージの境界を解消するために蛇状のパ
ターンをもってデータ値内を移動する。初期の一次的畳
み込みを行った後、イメージは交互するローパスおよび
ハイパス情報の列を有するようになる。ハイパスバンド
に先だってローパスサブバンドを蛇のように通過するこ
とにより2つの非連続性が導入されるのみである。しか
しながら、この蛇状の運動を伴う方法は、フィルタがイ
メージデータ中を動き回るに従って、列が代わる毎にデ
ジタルフィルタの係数を反転しなければならない。この
ようなフィルタの係数を変更すること及びデータ値の様
々なブロック内を通過するデジタルフィルタの運動の方
向を変化させることは、このような蛇状の運動を伴う方
法の実施を困難にする。従って、データ圧縮及び解凍に
用い得るような境界の問題を解決する容易に実施可能な
方法が求められている。
【0149】この変換過程は、イメージデータの境界に
於いて問題を引き起こすばかりでなく、この変換プロセ
ス自体が、多量の複雑な計算或いはデータの再配置を一
般に必要とする。従って、イメージのデータ値を圧縮お
よび解凍するために必要となる時間が課題となる。しか
も、順変換及び逆変換に必要とされる計算を行うために
必要となるハードウェアのコストが極めて多大となるた
め、この変換方法は、経済性が必要とされる用途には適
用することができない。従って、このような圧縮及び解
凍方法は、順変換及び逆変換に関連する境界の問題を上
手く取扱い得るばかりでなく、ハードウェアやソフトウ
ェアを効率的且つ経済的に使用し得るものであることが
求められる。即ち、この方法で必要とされる計算が簡単
でなければならない。。
【0150】変換及びコード化プロセスに加えて、更に
別の圧縮方法も存在する。例えばツリーエンコーディン
グと呼ばれる方法を用いることができる。更に、データ
を更に圧縮するために量子化と呼ばれる方法を用いるこ
ともできる。ツリーエンコーディング及び量子化は、”
Image Compression usingth
e 2−D Wavelet Transform”
A.S.Lewis及びG.Knowles、IEEE
Transaction on Image Pro
cessing、1992年4月に記載されている。し
かも、一連のイメージを含むビデオデータは、連続する
イメージが近似するという利点を利用して圧縮すること
ができる。一連のイメージの一部が比較的変化しないも
のである場合、第1のイメージのそのような部分を次の
イメージのために用いることができ、一連のイメージを
表すために必要となるビットの数を減らすことができ
る。
【0151】JPEGは、白黒の場合10対1の圧縮比
を達成し、カラーイメージの場合15対1の圧縮比を一
般に達成し得る静止画のための国際的な規格である。J
PEG規格は、量子化及びハフマン様コードに加えてデ
ィスクリートコサイン変換と呼ばれる一種のフーリエ変
換を組み合わせたものである。MPEG1及びMPEG
2は2つの国際的なビデオ圧縮の規格である。MPEG
2はテレビ放送に用いることをめざして現在開発中の規
格である。MPEG2によれば、与えられた同軸ケーブ
ルにより、従来よりも大量のテレビ情報を伝送し得るよ
うに画像を制御することを可能にする。H.261は、
ディスクリートコサイン変換に基づくもう1つのビデオ
規格である。H.261は、必要とされるデータ転送速
度に応じて圧縮の度合いを変化させる。
【0152】JPEG、MPEG1、MPEG2及び
H.261等の圧縮規格は、もとの画像と再構成された
画像との間のエラーに於けるSN比を極小化するように
最適化されている。このような最適化の要請のために、
これらの方法は極めて複雑である。例えばMPEG1を
実現するための半導体チップは高価であって、1.5百
万個のトランジスタを必要とする。これらの方法は、人
間の視覚がSN比に極めて鈍感であるという事実をほん
の部分的にしか利用していない。従って、このような規
格に固有な複雑さというものは、人間の目を対象とする
ことを考慮するとかなり無駄な部分を含んでいる。しか
もこれらの規格は、イメージの面積によりコード化を行
うものであって、人間の視覚にとってより重要であるエ
ッジのような情報についてとくに敏感ではない。このよ
うな現代の圧縮規格が人間の視覚特性に適合していない
ことを考慮すると、上記したような境界に関する問題に
対処し、人間の視覚が、SN比よりもエッジ型の情報に
敏感であるという事実に着目し、これらの方法の複雑さ
を解消し、経済性を高めるような新たな圧縮及び解凍方
式がのぞまれている。
【0153】発明の開示 本出願に於いては、ウェーブレット分解、周波数に基づ
くツリーエンコーディング、ツリーに基づく運動エンコ
ーディング、周波数重み付け量子化、ハフマンコード化
及びビット速度の制御のためのツリーに基づく活動(a
ctivity)推定技術などに基づく圧縮及び解凍方
法が開示される。ウェーブレット分解及びもとのデータ
値に近いデータ値を再構成するために順及び逆疑似完全
再構成(reconstruction)変換が用いら
れる。順及び逆疑似完全再構成変換は、上記した境界に
関する問題を解決するために、変換されるべき或いは逆
変換されるべきデータの境界に於いて特別なフィルタを
用いる。
【0154】本発明の或る実施例によれば、分解方法
が、4係数逆完全再構成デジタルフィルタを用いる。こ
れらの逆完全再構成デジタルフィルタの係数は、その実
行のために必要となる加算演算の数が小さいことから、
マイクロプロセッサを用いた汎用のデジタルコンピュー
タに於いてソフトウェアにより高速で実行することがで
きる。この方法は、小さな低周波成分イメージを生成す
るために部分的にサブバンド分解を逆変換する。この小
さなイメージは、小さなイメージの行については内挿法
を実施し、一方の次元について拡張し、内挿された小さ
なイメージの行を複製することにより第2の次元方向に
拡張される。変換されたクロミナンスデータ値は、対応
する輝度データ値を逆変換するために用いられる逆完全
再構成デジタルフィルタよりも少ない数の係数を有する
逆完全再構成デジタルフィルタを用いて逆変換される。
或る実施例に於いては、変換されたクロミナンスデータ
値を逆変換する逆変換完全再構成デジタルフィルタとし
て2係数ハール(Haar)デジタルフィルタが用いら
れる。圧縮されたデータストリームに於いて可変長トー
クンが用いられることにより、圧縮されたデータストリ
ーム中でのデータ値のコード化に用いられるエンコード
方法に於ける変化を示すようにしている。
【0155】好適実施例の説明 疑似完全再構成フィルタ ウェーブレット変換は地理学的は信号を分析する際に遭
遇する問題を解決するためにJean Morletに
より1984年に導入された。”Cycle−octa
ve and Related Transforms
In Seizmic Signal Analys
is”、Goupillaud、Grossman及び
Morlet、Geoexploration、vo
l.23、1984を参照されたい。それ以来、ウェー
ブレット変換は信号を分析する新規且つ興味深い方法と
して評価され、量子力学や信号処理等の広範囲の用途に
適用されている。ウェーブレット変換は信号の分析のた
めに現在主に用いられている古典的なフーリエ技術に対
して幾つもの利点を有する。本発明に於けるウェーブレ
ット変換及びハイ及びローパス4係数疑似完全再構成フ
ィルタについては、以下にウィンドウフーリエ変換に関
連して説明する。
【0156】ウィンドウフーリエ変換は信号のスペクト
ル要素を分析するために現在主に用いられている変換方
法である。フーリエ変換は、分析対象たる信号を一組の
復素正弦波関数に分解する。得られたフーリエシリーズ
は、信号の周波数スペクトルとして解釈される。連続的
フーリエ変換は次のように定義される。
【数17】 ここでf(t)は分析対象たる時間領域の信号であり、
F(ω)は分析対象たる信号のフーリエ変換である。多
くの用途に於いては入力信号の周波数分布の推定を必要
とするにもかかわらず、上記した公式は多くの場合実用
的でない。フーリエ変換を計算するためには、入力信号
f(t)を時間tのあらゆる値について定義しなければ
ならないのに対し、多くの実用的なシステムにおいては
f(t)は有限な時間範囲についてのみ定義されてい
る。
【0157】フーリエ変換を適用し得るように有限な入
力信号を無限な信号に変換しようとするいくつかの方法
が考案されている。ウィンドウフーリエ変換はそのよう
な1つの方法である。ウィンドウフーリエ変換は次のよ
うに定義される。
【数18】 ここでf(t)は分析対象たる時間領域信号であり、F
w(ω、τ)は分析対象たる時間領域信号のウィンドウ
フーリエ変換であり、w(t)はウィンドウ関数であ
る。ウィンドウ関数は有限長の区間の外側に於いては0
の値を有するように定められる。或いは、入力ftの周
波数成分が時間とともに変化する場合には、より局部的
なウィンドウ関数を用いることにより時間τに於いて変
換を行うことにより入力信号を分析することができる。
いずれの場合も、出力として得られる変換関数はウィン
ドウ関数と分析対象たる信号の畳み込み積分であること
から、ウィンドウのスペクトル自体が変換結果にあらわ
れる。従って、ウィンドウ関数はその効果が最も小さく
なるように選択される。別の視点からこの方法を見る
と、ウィンドウフーリエ変換の基礎関数は複素正弦波で
はなくむしろウィンドウ複素正弦波であることが理解で
きよう。Dennis Gaborは信号を分析するた
めのGabor関数と呼ばれる完全な基礎関数の組を生
成するために、周波数の変化する正弦波について実ガウ
ス関数を用い、ガウス関数の有効幅により与えられる局
部性により、スペクトルの全体がカバーされるように正
弦波関数を変化させた。
【0158】ウェーブレット変換は、信号を、周波数及
び時間の両者について殆ど局部的な1組の基礎関数に分
解する。これは、1組の基礎関数を形成するための空間
的及びスペクトル的局部性を有する関数を移動及び膨張
させることにより達成される。
【数19】 ここでs及びuは実数であり、変換の変数である。関数
Ψ(t)はウェーブレットと呼ばれる。
【0159】分析対象たる信号の連続的なウェーブレッ
ト変換は次のように定義される。
【数20】 ここでf(t)は分析対象たる時間領域信号であり、W
(s、u)はそのウェーブレット変換であり、Ψはウェ
ーブレットであり、sは正の膨張係数であり、uはスケ
ーリングされた変位距離である。ウェーブレット変換の
空間的及びスペクトル的局部性は、ウェーブレットの特
性に依存する。
【0160】デジタル的にサンプルされた、イメージの
圧縮に於ける分析対象たる信号が有限の長さを有するこ
とから、連続的なウェーブレット変換のディスクリート
な形式のものが用いられる。ウェーブレット変換は、オ
クターブと呼ばれる一連の解像度に応じて多解像度分解
を行う。連続するオクターブの周波数は対数周波数目盛
上で均一に変化する。この対数目盛は、隣接するオクタ
ーブが周波数について2倍となるように定められる。基
礎関数は次の式により与えられる。
【数21】 ここでZは全ての整数の集合であり、Z2={(j、
n):j、n∈Z}で、Ψj(x)=(2j1/2Ψ(2j
x)。
【0161】サンプリングされるシステムに於いて、解
像度rは、単位長さ当たりr個のサンプルの割合で分析
対象たる信号がサンプルされたことを意味する。多解像
度分析は、幾つかの解像度に於いて入力信号を分析し、
本発明の場合、数列r=2jが用いられ、ここでj∈Z
である。連続するオクターブ間の周波数の違いは2倍と
なる。
【0162】Stephane Mallatは最初に
多解像度空間シーケンス{Vj}j∈Zを定義することに
よりウェーブレット変換と多解像度分析との間の関係を
定式化した。ここで、Vjは解像度2jに於けるあらゆる
可能な近似信号の組を表す。更に彼は、Vjの正規直交
型の基底を{φj(x−2jn)}n∈Zにより構成する
ことができることを示した。ここで、φ(x)はスケー
リング関数と呼ばれる。但し、j∈Zについてφ
j(x)=(2j1/2φ(2jx)である。更に、信号f
(x)が、次のようなサンプルの組により解像度2j
もって近似し得ることを示した。
【数22】 但し、<f、g>=∫f(x)g(x)dx(−∽<x
<∽)、f、g∈L2(R)である。これは、2jのサン
プル率をもって信号f(x)をスケール関数φj(−
x)により畳み込み積分したことに等しい。しかしなが
ら、この表現は、Vj⊂Vj+1j∈Zであることから極め
て冗長である。むしろ、連続する解像度Oj+○Vj=V
j+1間の差情報を表す一連の多解像度詳細信号Ojを生成
するほうがより効率的である。但し、OjはVjに対して
直交する。Mallatは、ウェーブレットと呼ばれる
関数が存在することを示した。ここで、
【数23】 但し、{Ψj(x−2-jn)}n∈Zは、Ojの正規直交
基底であり、{Ψj(x−2-jn)}、(j、n)∈Z2
は、L2(R)の正規直交基底である。解像度2 j+1に於
ける詳細信号は次のようなデータ値の組により表され
る。
【数24】 これは、2jのサンプル率をもってウェーブレットΨ
j(−x)と信号f(x)とを畳み込み積分したことに
等しい。
【0163】従って、もとの信号f(x)はデータ値
(Sj、(Nj)J≦j≦−1)の集合により完全に表現
されることが理解されよう。但し、J<0はオクターブ
の数を表す。データ値の形式をなすこのような表現方法
は、ディスクリートウェーブレット分解として知られて
いる。Mallatにより用いられたSjなる表現は、
もとの信号の繰り返しローパスフィルタ値を表す。S0
はもとのデータ値Dに対応する。S-1は、ローパスフィ
ルタからのHデータ値に対応する。N-1はハイパスフィ
ルタからのGデータ値に対応する。S-2は先のHサブバ
ンドからの次のローパスフィルタ値に対応する。N
-2は、先のHサブバンドからの次のハイパスフィルタ値
に対応する。
【0164】ディスクリートなウィンドウフーリエ変換
及びディスクリートなウェーブレット変換のサンプリン
グパターンを、これら両変換の最も高い周波数のサンプ
ルの空間的な局部性を維持しなから比較することにより
デイスクリートなウェーブレット分解の効率を評価する
ことが出来る。ウィンドウフーリエ変換は、リニアなサ
ンプリンググリッドを形成し、各データ値は、その近傍
からの一定の空間的距離または一定の周波数から離れて
いる。その結果、低周波数をかなり過剰にサンプリング
することとなる。それに対して、ウェーブレット変換の
場合には、そのオクターブ幅の周波数バンドのそれぞれ
に対して最小限の割合でもってサンプルを行うことから
ディスクリートなウェーブレット分解には何ら冗長な情
報が導入されない。ウェーブレット変換は、オクターブ
幅の周波数バンドを用いることにより高周波に於いて高
い局部的な空間的サンプリングを達成することが出来
る。低周波域に於いては、空間的な局部性よりもスペク
トル的局部性が重要になる。
【0165】図84は、サンプルされた一連のデータ値
の空間的及びスペクトル的局部性を示している。データ
値を囲む枠は、データ値の空間的及びスペクトル的局部
性を表している。図84の領域は、説明の便宜のために
設けられたものである。実際には、隣接するデータ値の
間には、いくらかのオーバーラップやエーリアシングが
存在し、それらの特徴は用いられたウェーブレット関数
により決定される。
【0166】Mallatは、只2つのフィルタのみを
用いるピラミッド手法によりウェーブレット変換を計算
し得ることを示した。この手法によれば、Sj及びN
jが、Sj+1から計算され、Sjは次のオクターブの分解
の入力として用いられる。ローパスフィルタHは次の式
により表される。
【数25】 Mallatは、Sjを、Sj+1からHと共に畳み込み積
分し、出力を1つ置きに保持することにより計算し得る
ことを示した(即ち、ファクタ2のサブサンプリン
グ)。
【0167】Sj+1からからNjを計算するための方法が
導かれる。この方法は、ハイパスフィルタGと共に、S
j+1を畳み込み積分し、ファクタ2のサブサンプリング
を行うことを伴うものである。ハイパスフィルタGは、
次の係数により定義される。
【数26】 H及びGフィルタ間の関係は、これらのフィルタがハー
ドウェアとして構成された場合に経済的となる。
【0168】図85及び86は、これらのフィルタH及
びGが、入力信号を2つのハーフバンド出力信号に分割
するような補完的な対を形成することを示している。ハ
イ及びローパス出力は、高周波情報を何ら損なうこと無
く、ファクタ2によりサブサンプリングすることが出来
る。何故なら、サブサンプリングに於いて導入されたエ
ーリアシングは、再構成時に修正されるからである。元
のイメージデータ値と同数のフィルタされたデータ値が
存在する。
【0169】対象となる信号を最も良く分析し得る特定
のウェーブレットは、分析対象たる信号の特性に強く依
存する。ウェーブレットが信号の特徴に近似するもので
あればあるほど信号のウェーブレットによる表現の効率
が高まる。しかも、量子化により導入される再構成エラ
ーはウェーブレットに類似する。典型的にはエーリアシ
ングの量は、空間的なサポート即ちウェーブレットフィ
ルタの係数の数に応じて変化する。長いウェーブレット
は、隣接するオクターブバンド間のエーリアシングが極
小化されるように構成されることが出来る。しかしなが
らエーリアシングの空間的な等価物、即ちオーバラップ
は、フィルタに応じて増大する。逆に、短いウェーブレ
ットは、空間的には殆どオーバラップを示さないが、周
波数領域に於いては、大量のエーリアシングを示す。ウ
ェーブレットの特定の用途に於ける適正な用途を的確に
判断するためには、サイズ及び形状に関するこれらのフ
ァクタを十分考慮しなければならない。
【0170】ウェーブレット変換をイメージ処理に適用
するために本発明は、4係数Daubechiesウェ
ーブレットとと呼ばれる特定のウェーブレットを用い
る。4係数Daubechiesウェーブレットは、4
つの係数を有するのみであることから、その長さが小さ
い。これは、対象物のエッジなどの重要なイメージの特
徴を分析するのに適している。エッジは、その定義から
して、空間的な局部的不連続性に他ならない。エッジ
は、しばしばハイパスフィルタによりフィルタを行った
ときには分析用のフィルタとエッジが一致したときのみ
比較的大きなフィルタ出力を発生するような広い幅のス
ペクトル範囲を有する。分析用フィルタがエッジに一致
しない場合、フィルタにより比較的小さなフィルタ出力
が発生する。用いられる分析用フィルタが短ければ短い
程それだけ微細にエッジの空間的位置が判別できること
となる。長いフィルタは、エッジを表すための比較的大
きなデータ値をそれだけ大量に発生する。フィルタの短
さは、フーリエ或いはディスクリートコサイン変換等の
イメージ変換や、より長いフィルタを用いた場合に比較
して経済的に変換を計算することができる。4係数Da
ubechiesウェーブレットはその空間的及びエー
リアシング特性を十分に検討した結果採用されたもので
ある。6係数Daubechiesウェーブレット等の
ような長いウェーブレットは、より複雑な構成を許容し
得る場合には、使用可能である。SN比が許容し得るも
のであれば、2係数Haarウェーブレット等のような
短いフィルタを用いることもできる。
【0171】4係数Daubechiesウェーブレッ
トの真の係数は、次の通りである。
【数27】 ローパス4係数Daubechiesデジタル係数は、
次の式により与えられる。
【数28】 4係数Daubechiesデジタルフィルタのハイパ
スは、次の式により与えられる。
【数29】
【0172】式28及び29に於いて、D(x−1)、
D(x)、D(x+1)及びD(x+2)は4つの連続
したデータ値である。H(x/2)及びG(x/2)
は、真の完全な再構成フィルタ即ち元のデータを完全に
再構成する逆変換である。例えばフィルタがD(1)、
D(2)、D(3)及びD(4)に対して作用した場
合、H(1)及びG(1)が得られる。この場合のイン
デックスXは2となる。フィルタH及びDについてのイ
ンデックスとしてX/2が存在することから、Xの値は
偶数のみとなる。
【0173】実際のデータに対して変換を行う際に計算
が複雑とならないように無理数となる4係数Daube
chiesフィルタの係数を、ソフトウェア或いはハー
ドウェアで効率的に取り扱い得るように有理数に変換す
る。浮動小数係数は、ソフトウェア或いはハードウェア
などに於いて浮動小数点の演算を行うと多大な時間が必
要となるためにここでは用いられない。
【0174】このような実用上の観点から4Daube
chies係数を変換するために係数a、b、c及びd
の3つの関係が重要である。Hフィルタがゲイン1を有
するためには、次の式が成立しなければならない。
【数30】
【0175】Gフィルタが、入力データ値のすべての0
周波数成分を排除するためには、次の式が成立しなけれ
ばならない。
【数31】 このようにして得られたH及びGフィルタが、元のイメ
ージデータを完全に再構成し得るような分解を行い得る
ものとするためには次の式が成立しなければならない。
【数32】
【0176】真の4係数Daubechiesフィルタ
は、上記した3つの式30、31及び32を満足する。
しかしながら、真のロー及びハイパス4係数Daube
chiesフィルタが実用上の目的で変換された場合
に、3つの関係の少なくとも1つが成立しない。好適実
施例に於いては、ゲインが1であることと、全ての0周
波数成分を排除することが維持される。第3の関係即ち
式32の関係について妥協がなされる。イメージデータ
の圧縮プロセスは、それ自体、本発明に基づくツリーコ
ーディングや量子化のためにある程度のノイズを導入す
るものであることから、完全な再構成については妥協が
必要である。再構成されたデータ値は、実際のイメージ
を圧縮し再構成した場合には、ある程度のノイズを伴わ
ざるを得ない。式30及び31を満たし式32を近似的
に満たすフィルタを疑似完全再構成フィルタと呼ぶもの
とする。
【0177】表7は実用上の目的で係数a、b、c及び
dを変換するプロセスを示している。
【表7】 真の4係数Daubechiesフィルタ係数が表7の
左側のコラムに示されている。その右側のコラムには、
小数点以下4桁まで丸められた真の係数が示されてい
る。丸められた係数は、32倍され、その右側のコラム
の値とされる。第3のコラムの各値から整数値が選択さ
れる。どの整数を選択するかは、イメージデータを圧縮
するソフトウェア或いはハードウェアの複雑さに対して
重要な影響を及ぼす。第2のコラムについて32倍した
ことによる結果として得られる変換後の整数値が変化し
ないように選択された小数は32により除される。
【0178】第4のコラムのための整数を選択するにあ
たって3つの式30、31及び32の関係に着目する。
a=11/32、b=19/32、c=5/32及びd
=3/32の場合、a+b+c−d=1及びa−b+c
+d=0の関係が維持される。表7の最も右側の係数が
最も左のコラムの真の係数に極めて近いことから係数
a、b、c及びdに基づく係数フィルタは、殆ど完全な
再構成を行うことができる。典型的な640×480の
イメージについては順及び逆変換後のデータ値の再構成
値ともとのデータ値との間のエラーは、実験によれば5
0dBを越えることが確認された。
【0179】結果として得られたハイパス4係数疑似D
aubechiesフィルタは、
【数33】 となり、結果として得られたローパス4係数疑似Dau
bechiesフィルタは、
【数34】 となる。
【0180】ハイ及びローパス4係数疑似Daubec
hiesフィルタが、式30、31を満足し、式32を
近似的に満足することから、ハイ及びローパス4係数疑
似フィルタは、疑似完全再構成フィルタといえる。
【0181】式33、34の疑似Daubechies
フィルタの変換後の係数は、ソフトウェア或いはハード
ウェアにおいてかなりの計算の簡略化を可能にする。3
2による乗算や除算など、2の倍数による乗算或いは除
算は、比較的簡単に実施することができる。ハードウェ
ア或いはソフトウェアに於いては2の乗算或いは2の除
算はシフトにより達成することができる。典型的なシス
テムに於いて、フィルタを構成する際に、デジタルフィ
ルタにより処理されるべきデータ値かすでに記憶されて
いることから、データをメモリから読んだ後にこのデー
タをシフトすることは計算上の負担を相似させない。同
様に、ある量の符号を変化させることも計算上の負担を
増大させない。それに対して2のべき乗でない数による
乗算或いは除算は、ソフトウェア及びハードウェアのい
ずれに於いてもかなりの計算上の負担を引き起こす。式
33、34に於ける係数を選択することにより、H及び
Gを単に加算及びシフトのみにより計算することができ
る。即ち全ての乗算及び除算は、2のべき乗でない数に
よる乗算或いは除算を何等伴うことがない。デジタルフ
ィルタがデータ値に対いてシーケンシャルに対して適用
されることから、フィルタが先行するデータ値を処理す
る間に計算された和或いは差を用いることにより加算ス
テップの数を減少させるようにパイプライニングの手法
を用いることもできる。
【0182】しかも、逆変換フィルタの係数の大きさが
変換フィルタの係数と同一である。以下に述べるよう
に、係数の順番及び符号のみが変化する。同一のハード
ウェア或いはソフトウェアを順変換及び逆変換の両者に
対して適用する場合行われなければならない除算の数を
半分にすることができる。また、分析されるべき信号が
サブサンプルされることから、サンプル1つ置きに行う
のみで良いことから、加算のステップの数を半減させる
ことができる。従ってフィルタの有効数は、データを分
解成分に変換する場合と、分解データをイメージに再構
成するための逆変換の両者に於いて、ただ1つあれば済
むことになる。
【0183】疑似完全再構成変換を用いることによるイ
メージ圧縮及び解凍 カラーイメージは、赤緑青のそれぞれ、即ち輝度−クロ
ミナンスチャンネルをそれぞれ別個のイメージとして取
り扱うことにより分解することができる。輝度−クロミ
ナンス−クロミナンス(YUV又はYIQ)の場合、ク
ロミナンス成分は、予めサブサンプルされている。従っ
て、クロミナンスチャンネルを、輝度チャンネルとは異
なるオクターブ数により変換するのが望ましい。人間の
目は、高い空間周波数に於いてクロミナンスに対して比
較的鈍感であり、従って出力イメージに何等認識できる
品質の劣化を伴うことなくこれらのチャンネルをサブサ
ンプルする事ができる。通常これらのクロミナンスチャ
ンネルは各次元についてファクタ2によりサブサンプル
され、これら両チャンネルで、輝度チャンネルのバンド
幅の50%を占めるのみである。イメージ圧縮技術を実
行しようとする際にクロミナンスチャンネルは、通常は
輝度チャンネルと同等に取り扱われる。また、圧縮手法
も3つのチャンネルに対して別個に適用される。これ
は、高い圧縮比及び高いイメージ品質が必要とされる場
合を除いて合理的である。圧縮手法から必要ビット数を
減らし、より高い品質上の要請を満足する上で人間の視
覚により輝度値よりクロミナンス値が重要であることを
認識し、圧縮手法を人間の視覚に、より適合させること
によりその性能を改善することができる。
【0184】図87はデータ値の2次元マトリックスを
示している。水平方向に延在するデータ値の行と垂直方
向に延在するデータの列とが示されている。各データ値
は、例えばピクセルの輝度値等のイメージのピクセル情
報を示す8ビットバイナリ数からなる。図87のデータ
値は、白い背景101上の黒い四角形100を表してい
る。
【0185】図87のイメージのデータ値を本発明のあ
る一面に基づいて変換するためには、ハイパス4係数疑
似Daubechiesデジタルフィルタを行ごとに各
データ値に対して水平方向に走査し、図88に示される
ようなハイパス出力値Gのブロック102を得る。図8
8のバイパス出力値のブロック102の幅は、図87の
データの元のマトリックスの幅の半分となる。これは、
ハイパス4係数疑似Daubechiesデジタルフィ
ルタがデータ値2つごとに両方向に走査されるものであ
る。デジタルフィルタにより2つのデータ値が処理され
る度ごとに1つのデジタルフィルタ出力が発生すること
から、図87のデータ値はファクタ2をもってサブサン
プルされたということかできる。
【0186】図91は、バイパスデジタルフィルタによ
るサブサンプリングを示している。ハイパス出力G
1が、ハイパスデジタルフィルタによりデータ値D1、D
2、D3及びD4から得られる。次に得られるハイパス出
力値即ち出力G2は、ハイパスデジタルフィルタにより
データ値D3、D4、D5及びD6から得られる。ハイパス
デジタルフィルタは、ハイパス出力を1つを発生する度
ごとに右方向にデータ値2つ分だけ移動することとな
る。
【0187】ローパス4係数疑似Daubechies
デジタルフィルタは、更に、行ごとに水平方向に走査さ
れ、図88に示されるようなローパス出力のHブロック
103を形成する。このHブロック103は、ブロック
102を形成するのと同様の要領を持ってサブサンプル
することにより形成される。ロー及びハイパスフィルタ
出力を、Mallatは、Sj及びOjと呼んだのに対し
それぞれH及びGと呼ぶことは、2次元的ウェーブレッ
ト変換の記述を単純化する。
【0188】図92は、ローパスデジタルフィルタのサ
ブサンプリングを示す。ローパス出力H1が、データ値
1、D2、D3及びD4からローパスデジタルフィルタに
より得られる。次に得られるローパス出力即ちH2は、
ローパスデジタルフィルタにより、データ値D3、D4
5及びD6から得られる。従って、ローパスデジタルフ
ィルタは、ローパス出力が1つ得られるごとに、データ
値2つ分だけ右方向に移動することになる。
【0189】ハイ及びローパス4係数疑似Daubec
hiesデジタルフィルタがブロック102及び103
を形成した後、ハイ及びローパス4係数疑似Daube
chiesデジタルフィルタがブロック102及び10
3のコラム即ち列に沿って走査される。従って、ブロッ
ク102及び103に於ける値が、再びサブサンプルさ
れることとなる。ハイパス4係数疑似Daubechi
esデジタルフィルタは、ブロック104及び105を
形成する。ローパス4係数疑似Daubechiesで
デジタルフィルタは、ブロック106及び107を形成
する。結果として得られた4つのブロック104〜10
7が図89に示されている。ブロック106が元のイメ
ージデータの低周波成分である。ブロック107、10
4及び105は、元のイメージデータの高周波数データ
を含む。ブロック106がブロックHHとして示されて
おり、ブロック107がブロックGHとして示され、ブ
ロック104がブロックHGとして示されブロック10
5が、ブロックGGとして示されている。
【0190】このようにハイ及びローパス4係数疑似D
aubechiesデジタルフィルタを水平及び垂直方
向にデータ値に沿って走査し、データ値を高周波及び低
周波成分に分解するプロセスが、HHブロック106の
データを入力データ値として繰り返される。その結果が
図90に示されている。ブロック108が低周波成分で
あり、ブロックHHHHとして、ブロック109、11
0、111が高周波成分のオクターブ1を含み、それぞ
れHHHG及びHHGH及びHHGGとして示されてい
る。ブロックHG、GH及びGGは高周波成分のオクタ
ーブ0を含む。
【0191】この繰り返し分解法は、図87〜92につ
いて示された例に於いては、2回繰り返されるのみで、
ハイパス成分オクターブ0及び1を形成するのみである
が、このような繰り返し分解の繰り返し数を他の数値を
選択することもできる。元のデータ値をオクターブ0、
1、2及び3に繰り返し分解することが、多くの静止画
データについて満足する結果を生み出し得ることが見い
出されており、元のデータをオクターブ0、1及び2に
繰り返し分解することが多くのビデオイメージデータに
ついて満足すべき結果を生み出すことが見いだされてい
る。
【0192】しかも、ハイ及びローパスフィルタの、水
平に続いて垂直方向に走査する手順を逆転することもで
きる。すなわち、水平方向に先ず走査し、次に垂直方向
に走査する手順はこの例に於いては単に例示的なもので
ある。フィルタは、垂直方向に移動し次に水平方向に移
動する事ができる。あるいは、デジタルフィルタを、デ
ータ値に沿って他の手順をもって或いは他の次元につい
て移動させることも可能である。
【0193】元のイメージデータが、図87に示される
ように元々2次元ブロックとして配列されている場合に
は、ハイ及びローパスフィルタにより元のイメージデー
タ値を処理するこにとより、必ずしも図89に示される
ようにHH値が位置するような結果を必ずしも得るとは
限らない。逆に、得られたHH値がどこに書き込まれて
いるかに応じてHHデータ値をブロック全体に分布させ
ることもできる。しかししながら、HH値の位置を決定
することは可能である。図89に於いてHH値は、単に
図示及び説明の便宜のために右上隅に全て位置している
ものとしたにすぎない。
【0194】図93は、二次元アレイをなす元のイメー
ジデータ値を12×12の配置にした1つの例を示して
いる。図93は、図87に対応する。各データ値のアレ
イ中の位置は行番号と列番号とにより決定される。デー
タ値の行番号及び列番号は、例えばアドレス式の記憶媒
体に於ける行アドレス及び列アドレスと対応するもので
あってよい。このようなアドレス付きの記憶媒体は、例
えば半導体メモリや磁気記憶媒体或いは光学的記憶媒体
からなるものであってよい。行及び列は、例えばCRT
や平面ディスプレイに於けるピクセルの位置を含むピク
セル配置に対応するものであってもよい。
【0195】図194は、1オクターブ分解を行った後
の2次元アレイの状態を示す。HH低周波成分が、HG
値、GH値及びGG値と同様に2次元アレイ中に分散し
ている。図17に於いてこれらのデータ値に付された添
字は、図89に示された構成に於ける特定のデータ値の
行及び列番地を表す。例えばHH00、HH01、HH02
HH03、HH04及びHH05は、図89のHHブロック1
06に於けるデータ値の最も上の行に対応する6つのデ
ータ値であり、HH00、HH10、HH20、HH30、HH
40及びHH50は、図89のHHHブロック106に於け
るデータ値の最も左側の列に対応する6つのデータ値で
ある。
【0196】ハイ及びローパス順変換デジタルフィルタ
が図93の4つのデータ値D00、D01、D02及びD03
処理した場合、ローパス順変換デジタルフィルタの出力
が第0行、第2列に書き込まれ、ハイパス順変換デジタ
ルフィルタの出力が第0行、第3列に書き込まれる。次
に、ハイ及びローパス順変換デジタルフィルタが、デー
タ2つ分右方向に移動し、データ値D03、D04、D05
びD06を処理する。ロー及びハイパス順変換デジタルフ
ィルタの出力がそれぞれ第0行、第4列及び第0行、第
5列に書き込まれる。このようにして、ロー及びハイパ
ス順変換デジタルフィルタの出力が、フィルタから出力
され、2次元アレイに於けるデータ値の行をオーバーラ
イトするようなインターリーブ(interleave
d)された低周波及び高周波成分データ値を出力するよ
うに出力される。
【0197】同様に、ロー及びハイパス順変換デジタル
フィルタが、第0列、第1〜4行の4つのデータ値を処
理した場合、ローパス順変換デジタルフィルタの出力が
第0列、第2行に書き込まれる。ハイパス順変換デジタ
ルフィルタの出力が、第0列、第3行に書き込まれる。
次に、ロー及びハイパス順変換デジタルフィルタがデー
タ値2つ分下方向に移動し、第0列、第3〜6行のデー
タを処理する。ロー及びハイパス順変換デジタルフィル
タの出力がそれぞれ第0列、第4行及び第0列、第5行
に書き込まれる。やはり、ロー及びハイパス順変換デジ
タルフィルタの出力が、2次元アレイの列をオーバーラ
イトするべくインターリーブされた状態でフィルタから
出力される。
【0198】図95は、第2オクターブ分解の後の2次
元アレイの状態を示す。図15のブロック108に対応
するHHH低周波成分及びオクターブ1高周波成分HH
HGH、HHHGH及びHHHGGが2次元アレイ中に
分散している。図94のHH00、HH01、HH02、HH
03及びHH04がロー及びハイパス順変換デジタルフィル
タにより処理されると、その出力がそれぞれ第0行、第
4列及び第0行、第6列に書き込まれる。同様に、第0
列、第2、4、6及び8行に於ける値が、ロー及びハイ
パス順変換デジタルフィルタにより処理され、その結果
がそれぞれ第0列、第4行及び第0列、第6行に書き込
まれる。図95に於けるデータ値が、変換された後のデ
ータ値を表す。変換されたデータ値は、元のイメージ値
の分解成分を有するものであるということができる。
【0199】このデータ値を読み、データ値を変換しフ
ィルタの出力を書き込む方法は、極めて大きな2次元ア
レイについて容易に拡張することができる。説明の便宜
及び図示を明瞭にするために図87〜95の2次元アレ
イに於いては比較的少数の位置のみが図示されている。
【0200】変換されたデータは、逆のプロセスを行う
ことにより元のイメージデータに実質的に等しいイメー
ジデータ値に再変換される。この逆ブロセスが逆変換と
呼ばれる。図95に於ける分解データがインタリーブさ
れていることから、逆変換を行う2つのデジタルフィル
タは、インターリーブされた逆変換デジタルフィルタと
呼ばれる。奇数番目のデータ値は、奇数番のインターリ
ーブされた逆デジタルフィルタOにより決定される。偶
数番のデータ値は、偶数番のインタリーブされた逆変換
デジタルフィルタEにより決定される。
【0201】奇数番目のインタリーブされた逆変換デジ
タルフィルの係数がロー及びハイパス順変換フィルタの
係数に関連づけられていることから、偶数及び奇数番目
のインターリーブされた逆変換デジタルフィルタをロー
及びハイパス順変換デジタルフィルタから決定すること
ができる。偶数及び奇数番目のインターリーブされた逆
変換デジタルフィルタの係数を決定するために、ロー及
びハイパス順変換デジタルフィルタの係数が反転され
る。式33のローパス順変換デジタルフィルタHの第1
〜4番目の係数がa、b、c及び−dである場合、逆フ
ィルタHの第1〜4番目の係数が−d、c、b及びaよ
り表される。同様に、式34のハイパス順変換デジタル
フィルタH*の第1〜4番目の係数がd、c、−b及び
aである場合、逆フィルタG*の第1〜4番目の係数が
a、−b、c及びdにより表される。
【0202】偶数番目のインターリーブされた逆変換デ
ジタルフィルタEの第1〜4番目の係数は、H*の第1
番目の係数、G*の第1番目の係数、H*の第3番目の
係数及びG*の第3番目の係数である。偶数番目インタ
リーブ逆変換デジタルフィルタEの係数は、従って−
d、a、b及びcとなる。a=11/32、b=19/
32、c=5/32及びd=3/32であるようなロー
及びハイパス4係数疑似Daubechiesデジタル
フィルタの場合、偶数インタリーブされた逆変換デジタ
ルフィルタは、
【数35】 により表され、H(x−1)、G(x−1)、H(x)
及びG(x)は、逆変換されるべき分解成分の変換され
たデータ値である。
【0203】奇数番目のインターリーブされた逆変換デ
ジタルフィルタOの第1〜4番目の係数は、H*の第2
番目の係数、G*の第2番目の係数、H*の第4番目の
係数及びG*の第4番目の係数である。奇数番目インタ
リーブ逆変換デジタルフィルタOの係数は、従ってc、
−b、a及びdとなる。a=11/32、b=19/3
2、c=5/32及びd=3/32であるようなロー及
びハイパス4係数疑似Daubechiesデジタルフ
ィルタの場合、奇数インタリーブされた逆変換デジタル
フィルタは、
【0204】
【数36】
【0205】により表され、H(x−1)、G(x−
1)、H(x)及びG(x)は、逆変換されるべき分解
成分の変換されたデータ値である。
【0206】図95の変換されたデータ値を図94のデ
ータ値に逆変換するためにHHHHデータ値によりHH
HG、HHGG及びHHGH並びにデータ値が逆変換さ
れ、図94のHHデータが得られる。このプロセスは、
図90のHHHGのブロック109、HHGHのブロッ
ク110、HHGGのブロック111及びHHHHのブ
ロック108を、図89のブロック106のHHデータ
値に逆変換することに対応する。従って図95のHG、
GH及びGGデータ値は、この逆変換ステップに於いて
は、奇数及び偶数番目のインタリーブされた逆変換デジ
タルフィルタによって処理されない。
【0207】図95に於いて偶数番目のインタリーブさ
れた逆変換デジタルフィルタは、第0列、第0、2、4
及び6行の値を処理し、第0列、第2行に奇数番目のデ
ータを生成する。偶数番目のインタリーブされた逆変換
デジタルフィルタデータは、同じ位置の値を処理し、第
0列、第4行に偶数番目のデータ値を生成する。次に奇
数及び偶数番目のインタリーブされた逆変換デジタルフ
ィルタは、第0列、第4、6、8及びA行の値を処理
し、第0列、第6行及び第0列、第8行にそれぞれ値を
形成する。図95に於ける6つの列0、2、6、4、8
及びAのそれぞれは、このプロセスに従い、奇数及び偶
数番目のインタリーブされた逆変換にデジタルフィルタ
により処理される。
【0208】次に、様々な位置が再び奇数及び偶数番目
のインターリーブされた逆変換デジタルフィルタにより
再び処理される。但しこの場合には、水平方向に走査さ
れる。第0行、第0、2、4及び6列の値を処理し、第
0行、第2列及び第0行、第4列にそれぞれ値を生成す
る。次に奇数及び偶数番目のインタリーブされた逆変換
デジタルフィルタは、第0行、第4、6、8及びA列の
値を処理し、第0行、第6列及び第0行、第8列にそれ
ぞれ値を形成する。6つの行0、2、6、4、8及びA
のそれぞれは、このプロセスに従い、奇数及び偶数番目
のインタリーブされた逆変換にデジタルフィルタにより
処理される。この結果が図94に示される再構成結果で
ある。
【0209】次に偶数及び奇数番インタリーブされた逆
変換デジタルフィルタは、図94に示された値を図93
に示された値に処理する。この逆変換は、図89のHH
ブロック106、HGブロック104、GHブロック1
07及びGGブロック105を、図87のデータ値の単
一のブロックに変換することに対応する。このようにし
て得られる図93の再構成されたデータ値は、元のイメ
ージデータ値に実質的に等しい。
【0210】しかしながら、図93に於けるデータ値を
順変換して図94のデータ値を得る際に、ロー及びハイ
パス4係数疑似Daubechiesデジタルフィルタ
が、図93のデータ値の12×12のマトリックスの中
に存在しないデータ値を必要とすることから、図94の
全てのデータ値を生成することができない。これらの追
加のデータ値は、変換されるべきデータ値の境界の外に
あると云うことができる。
【0211】図96は、境界を越えて作動し、G0デー
タ値を生成する、ハイパス4係数疑似Daubechi
esデジタルフィルタを示している。他の高周波Gデー
タ値を生成するのと同様の要領をもってG0データ値を
生成するためには、ハイパスデジタルフィルタが、デー
タ値D-1、D0、D1及びD2を入力として必要とする。
しかしながら、D-1は存在しない。同様に図97は、境
界を越えて作動し、Hデータ値を生成するローパス4係
数疑似Daubechiesデジタルフィルタを示して
いる。他の高周波Hデータ値を生成するのと同様の要領
をもってH0データ値を生成するためには、ハイパスデ
ジタルフィルタが、データ値D-1、D0、D1及びD2
入力として必要とする。しかしながら、D-1は存在しな
い。
【0212】本発明は、この境界問題を追加の疑似Da
ubechiesデジタルフィルタを用いて、本来は境
界の外側に位置するデータ値を必要とするような、境界
に隣接するデータ値を生成するために用いることにより
解決する。最初のハイパス出力G0を生成するために用
いられるハイパススタート疑似Daubechies順
変換デジタルフィルタGsが存在する。また、最初のロ
ーパス出力H0を生成するために用いられるローパスス
タート疑似Daubechies順変換デジタルフィル
タHsが存在する。これらのスタート疑似Daubec
hies順変換デジタルフィルタは、4係数フィルタで
はなく、3係数フィルタであり、従って出力を生成する
ために3つのデータ値のみを必要とする。これによりス
タート疑似Daubechies順変換デジタルフィル
タは、境界に於いて作動することができ、境界を越える
ことなく第1の順変換データ値を生成することができ
る。
【0213】図98は、イメージデータ値D0〜DBの開
始境界部分に於いて作動するロー及びハイパススタート
疑似Daubechies順変換デジタルフィルタを示
している。3係数ロー及びハイパススタート疑似Dau
bechies順変換デジタルフィルタは、データ値D
0、D1及びD2を処理し、出力H0及びG0を生成する。
その一方、H1、H2、H3及びH4が、ローパス4係数疑
似Daubechies順変換デジタルフィルタにより
生成され、G1、G2、G3及びG4がハイパス4係数疑似
Daubechiesデジタルフィルタにより生成され
る。
【0214】2次元アレイの行又は列のデータ値の中間
部等のデータ値の端部に於いて同様な境界問題に遭遇す
る。ロー及びハイパス4係数疑似Daubechies
デジタルフィルタG及びHが、データ値の中間部を処理
するのと同様の要領をもって境界部分に於いて用いられ
た場合、4係数疑似Daubechies順変換デジタ
ルフィルタは、最後のロー及びハイパス出力を生成する
ために端部を越えていかなければならない。
【0215】本発明は、この境界問題を本来は境界の外
側のデータを必要とするような端部境界に隣接する変換
データ値を生成するために追加の疑似Daubechi
es順変換デジタルフィルタを用いる。最後のローパス
出力を生成するために用いられるローパスエンド疑似D
aubechies順デジタルフィルタHeが存在す
る。最後のハイパス出力を生成するために用いられるハ
イパスエンド疑似Daubechies順デジタルフィ
ルタGeが存在する。これら両エンド疑似Daubec
hies順デジタルフィルタは、4係数フィルタでなく
3係数フィルタであることから、出力を生成するために
3つのデータ値を必要とするものである。これにより、
疑似Daubechies順変換デジタルフィルタは、
境界部に於いて作動することができ、境界を越えること
なく最後の変換データ値を生成することができる。
【0216】図98は、イメージデータの終端境界部に
於いて作動する2つのロー及びハイパスエンド疑似Da
ubechies順変換デジタルフィルタを示してい
る。これらの3係数ロー及びハイパスエンド疑似Dau
bechies順変換デジタルフィルタは、データ値D
9、DA及びDBを処理しそれぞれ出力H5及びG5を生成
する。この適当なスタート或いはエンド、ロー或いはハ
イパスフィルタを用いるプロセスは、変換されるべきデ
ータ値の各行及び列の始端部或いは終端部に於いて変換
を行う際に用いられる。
【0217】ローパススタート疑似Daubechie
s順変換デジタルフィルタHsの形式は、本来は境界の
外に位置するような仮想的なデータD-1の値を選択し、
4係数順変換フィルタが、第1のローパス出力H0を生
成するのに、仮想的なデータ値の境界を越える必要があ
るような場合には、この4係数ローパス疑似Daube
chies順フィルタの値を決定することにより決定さ
れる。この境界の外の仮想的なデータ値D-1はいくつか
の値の1つをとるものとすることができる。ある実施例
に於いては、仮想的なデータ値D-1は、境界に於けるデ
ータ値D0に等しい値を取る。或る実施例に於いては、
仮想的なデータ値D-1は、D0の値に関わらず0に定め
られる。3係数ローパス疑似Daubechies順変
換デジタルフィルタHsは、従って次の形を取る。
【0218】
【数37】
【0219】但し、K1は積aD-1に等しく、D0は一
連のデータ値の開始境界に於ける最初のデータ値であ
り、a、b、c及びdは、ローパス4係数疑似Daub
echies順変換デジタルフィルタの4つの係数であ
る。例えば、仮想的なデータD-1が、境界に隣接するが
その内側に位置するデータ値D0に等しいものとして選
択された場合、K1=aD0であり、この場合a=11
/32及びD0は、境界に隣接するデータ値であって、
式37は、次のように表される。
【0220】
【数38】 ハイパススタートDaubechies疑似順変換デジ
タルフィルタGsは、同一の仮想的データ値D-1を用い
ることにより同一のプロセスにより決定され、ハイパス
スタートDaubechies順変換デジタルフィルタ
sは、次の形を有する。
【0221】
【数39】 但し、K2は積dD-1に等しく、D0は一連のデータ値
の開始境界に於ける最初のデータ値であり、a、b、c
及びdは、ハイパス4係数疑似Daubechies順
変換デジタルフィルタの4つの係数である。もし、仮想
的なデータD-1がデータ値D0に等しいものとして選択
された場合、式39は、次のように表される。
【数40】
【0222】ローパスエンド疑似Daubechies
順変換デジタルフィルタHeの形式は、ローパススター
ト疑似Daubechies順変換デジタルフィルタと
同様に決定される。データ値DCは、境界を超えように
決定される。4係数ローパスエンド疑似Daubech
ies順変換デジタルフィルタが、最後のローパス出力
5を発生するように、境界をデータ値DCに向けて4係
数フィルタがあたかも超えるかのように決定される。従
って、3係数ローパス疑似Daubechies順変換
デジタルフィルタは次の形を有する。
【数41】 但し、K3は積dDCに等しく、DBは一連のデータ値の
開始境界に於ける最後のデータ値であり、a、b、c及
びdは、ローパス4係数疑似Daubechies順変
換デジタルフィルタの4つの係数である。DBは、この
例の、一連のデータ値のシーケンスに於ける最後のデー
タ値であり、終端境界に隣接する。例えば、仮想的なデ
ータDCが、境界に隣接するがその内側に位置するデー
タ値DBに等しいものとして選択された場合、K3=d
Bであり、この場合、式41は、次のように表され
る。
【数42】
【0223】ハイパスエンドDaubechies疑似
順変換デジタルフィルタGeは、同一の仮想的データ値
Cを用いることにより同一のプロセスにより決定さ
れ、3係数ハイパスエンドDaubechies順変換
デジタルフィルタは、次の形を有する。
【数43】 但し、K4は積aDCに等しく、DBは一連のデータ値に
於ける最後のデータ値であり、a、b、c及びdは、ハ
イパス4係数疑似Daubechies順変換デジタル
フィルタの4つの係数である。DBは終端境界に隣接す
る。もし、仮想的なデータDCがデータ値DBに等しいも
のとして選択された場合、式43は、次のように表され
る。
【数44】
【0224】上記に於ける特定のロー及びハイパスエン
ドDaubechies順変換デジタルフィルタは、図
98のデータ値D0〜DBの場合についてのものであり、
スタータ及びエンドデジタルフィルタを決定する要領を
示すためにのみ例示されたものである。疑似Daube
chiesフィルタがロー及びハイパス順変換デジタル
フィルタとして用いられるない場合、同一の仮想的なデ
ータ値或いは境界の外側のデータ値を選択し、フィルタ
の値をあたかもフィルタが境界の外側に拡張されたかの
ように決定する方法を用いることができる。或る実施例
に於いては、境界に於ける出力を発生するためにデータ
値の内側領域に対して作用するデジタルフィルタに必要
となるものからなるように選択された複数の仮想的なデ
ータ値が用いられる。この境界についての手法は、様々
な形式のデジタルフィルタに拡張可能であり、また4以
外の数の係数を有するデジタルフィルタに拡張可能であ
る。
【0225】図99に示されるように、境界に於けるデ
ータ値の順変換が境界問題を引き起こすのみならず、変
換されたデータ値を元のイメージデータ値に逆変換する
場合にも境界問題が引き起こされる。非境界データ値を
順変換するために4係数疑似Daubechiesフィ
ルタが用いられている本実施例に於いては、逆変換は、
奇数逆変換デジタルフィルタ及び偶数逆変換デジタルフ
ィルタを伴う。奇数及び偶数フィルタのそれぞれは、4
つの係数を有する。偶数及び係数再構成フィルタは、交
互に、一連の逆変換されたデータ値を発生する。
【0226】図99に於いて、変換されるべくデータ値
が、H0、G0、...H4、G4、H5、G5により示され
ている。順変換が先ず行を処理し、次に列を処理する場
合、逆変換は列を最初に処理し、次に行を処理する。従
って、図22は、移動したデータ値の列が、逆変換の第
1の過程に於いて処理されることを示している。しかし
ながら、上記した例に於ける順及び逆変換は、列を下向
きに処理し、行を左から右へと処理する。
【0227】図99に於いて逆変換デジタルフィルタに
より再構成された逆変換されたデータ値がD0、D1、D
2、D3、...DBにより示されている。奇数逆変換デ
ジタルフィルタの出力が左側に示されており、偶数逆変
換デジタルフィルタの出力が右側に示されるている。
【0228】逆変換されるべき一連のデータ値H0
0、...H4、G4、H5、G5の開始部分に於いて4
係数奇数及び偶数逆変換デジタルフィルタが、値H0
0、H1及びG1を用いて再構成データ値D1及びD2
値を決定する。しかしながら、再構成データ値D0は、
境界を越える4係数偶数逆変換デジタルフィルタを用い
ることなく、4係数偶数逆変換デジタルフィルタにより
再構成することができない。4係数偶数逆変換フィルタ
が、データ値D0を形成し得るように上向きに2つのデ
ータ値分シフトされるものとすると、偶数4係数逆変換
デジタルフィルタは、変換されるべき2つの追加のデー
タ値、G-1及びH-1を必要とすることとなる。しかしな
がら、H0は、境界内の最初のデータ値であり、境界に
隣接して位置している。
【0229】偶数4係数逆変換デジタルフィルタが、境
界を越えて拡張されるのを回避するために、2係数逆変
換デジタルフィルタが用いられる。
【数45】 この場合、K1=aD0及びK2=dD0である。D
0は、最初のデータ値であり、H0は、開始境界に隣接す
る逆変換されるべきデータ値である。この偶数スタート
逆変換デジタルフィルタは、4係数偶数逆変換デジタル
フィルタの形を有するが、境界を越えるデータ値G-1
0に等しくなるように選択され、境界の外側に位置す
るH-1データ値がG0と等しくなるように選択される。
従って、偶数スタート逆変換デジタルフィルタは、
-1、G-1、H0及びG0の関数ではなく、H0及びG0
みの関数としてD0を決定する。
【0230】同様に、2係数奇数エンド逆変換デジタル
フィルタが、4係数奇数逆変換デジタルフィルタが逆変
換されるべき一連のデータ値の他の境界に於いて終端境
界部を超えないようにするために用いられる。ここで用
いられる2係数奇数エンド逆変換デジタルフィルタは次
の式により表される。
【数46】 この場合、K4=aDBであり、K3=dDBである。D
Bは、決定されるべきデータ値であり、G5は終端境界部
に隣接する逆変換されるべきデータ値である。この奇数
エンド逆変換デジタルフィルタは、4係数奇数逆変換デ
ジタルフィルタの形式を有するが、境界の外に位置する
6データ値は、G5と等しくなるように選択され、境界
の外側に位置するG6データ値は、H5に等しくなるよう
に選択される。奇数エンド逆変換デジタルフィルタは、
従ってDBを、H5、G5、H6及びG6の関数ではなく、
5及びG5のみの関数として決定する。
【0231】本実施例に於いて用いられた特定の偶数ス
タート及び奇数エンド逆変換デジタルフィルタは、単に
例示として与えられたものであることを了解されたい。
一連のデータ値に於いて異なる数のデータ値を逆変換す
る場合、境界に於いて奇数エンド逆変換デジタルフィル
タに代えて、偶数エンド逆変換デジタルフィルタを用い
ることができる。偶数エンド逆変換デジタルフィルタ
は、上記したプロセスに基づき内側のデータ値を処理す
る偶数逆変換デジタルフィルタよりも少ない係数を有す
るように変更された偶数逆変換デジタルフィルタからな
る。疑似Daubechies逆変換デジタルフィルタ
以外のフィルタを用いた場合、スタート及びエンド逆変
換デジタルフィルタを、境界に隣接しないデータ値を逆
変換するために用いられた実際の偶数及び奇数逆変換デ
ジタルフィルタにより形成することができる。逆変換に
於いては、スタート逆変換デジタルフィルタは、開始境
界部分に於いて変換されたデータ値の開始部分を処理
し、4係数逆変換デジタルフィルタが非境界変換データ
値を処理し、エンド逆変換デジタルフィルタが変換デー
タ値の終端部を処理する。
【0232】真のDaubechiesフィルタ係数
a、b、c及びdは、逆変換デジタルフィルタが境界で
はない元のイメージデータ値を正しく再構成することを
示す或る単純な関係を満足する。
【数47】 また、次の2次式も満足する。
【数48】
【0233】2つの連続するH、Gの対を取り、
【数49】
【数50】
【数51】
【数52】 を得て、逆変換デジタルフィルタを用いることにより式
49〜52に対して乗算を行うことにより、
【数53】
【数54】
【数55】
【数56】
【数57】
【数58】
【数59】
【数60】 を得ることができる。
【0234】式53〜56及び57〜60を加算するこ
とにより
【数61】
【数62】 を得ることができる。
【0235】4係数真のDaubechiesフィルタ
の係数を用いることにより式47、48の関係が成立す
る。従って、式61、62は、出力に於いて1ビットシ
フトしたときに元の一連のデータ値が再構成されること
を示している。。
【0236】同様に、式45の偶数スタート再構成フィ
ルタ及び式46の奇数エンド再構成フィルタが境界に隣
接する元のイメージデータを正しく再構成する様子が以
下に示される。偶数スタートフィルタについては、式4
5、46に於いてK1=aD0、K2=dD0とすると、
【数63】
【数64】 を得ることができ、従って、
【数65】
【数66】
【数67】
【数68】 従って、式45から
【数69】 を得る。
【0237】奇数エンドフィルタについてはK3=dD
B、K4=aDBとする事により、
【数70】
【数71】
【数72】
【数73】
【数74】
【数75】 となり、従って、式46から
【数76】 となる。
【0238】これにより順変換ローパスハイパススター
ト及びエンドデジタルフィルタが用いられたとき、スタ
ート及びエンド境界逆変換デジタルフィルタは、元のイ
メージの境界データ値を再構成し得ることが示される。
【0239】ツリーエンコーディング及びディコーディ
ング 上記したように、順疑似完全逆変換を行うことは、イメ
ージ情報を表すデータ値の数を減少させない。従って、
分解されたデータ値は、データ値の全てを記憶したり転
送したりする必要がないようにコード化される。本発明
は、人間の視覚の特徴を考慮して、視覚的に重要な情報
に対しては、比較的多数のビット数を割り当て、比較的
視覚的に重要でない情報に対しては、比較的小さな数の
ビットを割り当てるようにしている。
【0240】順疑似完全逆変換をイメージデータ値の2
次元アレイに適用することにより様々な次元及びスペク
トル内容を有する幾つものサブバンドイメージを得るこ
とかできる。従来形式のサブバンドコーディングを用い
た場合、各バンドについては重み付けファクタが設けら
れる場合もあるが、サブバンドイメージは、互いに独立
してコード化される。この従来形式のサブバンドエンコ
ード方法は、スペクトル反応のみが各バンドに於いて正
確に位置決めされるため、最も受け入れられているコー
ド方法の1つとなっている。
【0241】しかしながら、本発明によればイメージの
分析のために有限なサポートウェーブレットが用いら
れ、分解のサブバンドが、周波数バンドが位置する空間
的な位置を示す空間的な位置情報と分解成分のサブバン
ドを含む。大多数のサブバンドエンコード方法が、優れ
た周波数分離及び最大限のストップバンドリジェクショ
ンを達成するために長いフィルタを用いるのに対し、本
発明に用いられるフィルタは、良好な空間的位置の特定
能力を保有するために、周波数特性がやや犠牲にされ
る。
【0242】イメージは、背景の濃度及びエッジ及び性
状(texture)の3つの成分からなるものと見る
ことができる。順疑似完全逆変換は、背景の濃度(ロー
パス輝度及びクロミナンスバンド)を、高波数バンドに
含まれるエッジ及び性状に関する情報から分離する。理
想的には、エッジ及び性状の両者をエンコードするため
に十分なバンド幅を取ることによりイメージを完全に再
構成可能とすることも考えられる。エンコーディングの
ために圧縮がもっぱら画像内の冗長性を除去することに
よるものである。しかしながら圧縮されたデータを低い
データ転送速度をもって伝送したり記憶する場合、複雑
なイメージの視覚情報の或る部分が失われざるを得な
い。エッジは視覚的に重要なイメージの特徴であること
から、本発明に基づくエンコード方法は、伝送及び記憶
のためにエッジ上の特徴に関する情報を特定しかつエン
コードし、性状に関する情報についてのエンコードにつ
いてはそれほど重きを置かない。
【0243】エッジが何であり性状が何であるかについ
ての正確な定義は存在しない。本発明は、複数の形式の
性状を含むエッジの定義を用いる。エッジ及びエッジ状
の特徴は、濃度にシャープな非連続性が発生するような
空間的な局部的現象として定義され、エッジ又はエッジ
状の特徴は周波数範囲については非0スペクトル成分を
有する。従って本発明は、空間的な局部性を考慮し、可
逆的であるような周波数分解を用いる。疑似完全逆変換
デジタルフィルタを伴うウェーブレット変換は、これら
の要請を満足する。
【0244】エッジが、同一の局部的部分に於いて、分
解成分の周波数範囲に亘る非0成分に有するエッジを表
す、非0データ値のウェーブレット分解成分を探すこと
によりエッジを特定することができる。この方法は、分
解成分の低周波サブバンドを吟味することによりエッジ
を探索することから始まる。これらのバンドは、ウェー
ブレット変換に於いてサブサンプリングが用いられ、各
低周波データ値に対する空間的なサポートが大きいこと
から、少ない数のデータ値を有するにすぎない。最も低
い周波数のサブバンドを短時間に探索した後に、エッジ
であると考えられる部分の位置が決定される。エッジの
位置が、最も低い周波数のサブバンドに於いて決定され
ると、これらの位置は、高周波解像度により吟味されエ
ッジが存在していることを確認し、その空間的な位置を
更に正確に決定する。
【0245】図100は、1次元的バイナリサーチの例
を示す。図100の分解成分に於いては、左から右に3
つのバイナリツリーが設定されている。これらは、図1
00に於ける分解データ値の3つのオクターブ、オクタ
ーブ0、1、2からなる。ローパス成分は、エッジ情報
の多くがフィルタにより除去されていることから、分解
成分のオクターブの1つとは考えられない。図101A
〜Dは、1次元的なデータ値Dの配列を、図100のツ
リー構造のような一連の変換されたデータ値に順変換す
る様子を示している。図101Aのシリーズに於けるデ
ータ値は、図24Bに於ける低周波及び高周波成分H及
びGにフィルタされる。図101Bの低周波成分は、図
101Cの低周波及び高周波成分HH及びHGにフィル
タされる。図24Cの低周波成分HHは、フィルタさ
れ、低周波及び高周波成分HHH及びHHGにフィルタ
される。図101DのHHHブロックよりk変換された
データ値は、図23の低周波成分データ値A、G及びM
に対応する。図101DのHHGブロック241の変換
されたデータ値は、図100のオクターブにデータ値
B、H及びNに対応する。図101DのHGブロック2
42の変換データ値は、図100のオクターブ1データ
値に対応する。同様に、Gブロック243の変換データ
値は、図100のオクターブ0データ値に対応する。図
100に於いては、3つのツリーが示されるのみである
が、ブロック240に於けるHHHの数を大きくし、図
23のツリー構造のサイズを、対応する要領をもって水
平方向に拡張することができる。
【0246】図100の分解のような1次元的ウェーブ
レットの分解成分のエンコードは、バイナリツリーサー
チと同様に行われる。所定の周波数バンドに於ける所定
のデータ値に対する空間的なサポートは、周波数につい
て1オクターブ上の2つのデータ値と同様である。この
ように、ウェーブレット分解成分を、図100に示され
るようにバイナリツリーのアレイとして可視化すること
ができ、この場合各ツリーは空間的な局部性を表す。変
換オクターブの数が増大するに伴い、ツリーは上側に伸
び出し、その数が少なくなる。
【0247】図100に示されるように、分解成分のデ
ータ値のそれぞれは、人間の視覚にとって興味のある特
徴或いは人間の視覚にとって興味のない特徴を表す。イ
メージに於ける物体のエッジ或いはエッジ状の特徴を表
すデータ値は、興味のあるデータ値の一例である。エン
コード方法は、深さ優先サーチからなり、ツリーの幹か
ら出発し、興味のあるツリーの枝を上り、興味のない枝
にて終了する。興味のないデータ値に遭遇したり或いは
枝の最上部に到達するまでツリーの全ての枝を上った
後、別のツリーのエンコードが行われる。従って、エン
コード方法は、オクターブ2からオクターブ1から更に
オクターブ0へと、図100の興味のあるデータ値を従
うことから、エッジは、低周波から高周波解像度へと進
み、空間的な位置の近似が益々改善され、エッジの形状
がより正確に定められるようになる。興味のないデータ
値の上側のツリーの高周波データ値は、対応する低周波
データ値がこの位置に於けるエッジの存在を示していな
いことから、興味のないデータと仮定する。低周波バン
ドに於ける興味のないデータ値よりも上側の高周波バン
ドに存在する興味のあるデータ値は、ノイズとして除去
される。
【0248】図100に於ける1次元的ツリー構造は、
次のようにしてエンコードされる。低周波成分は、視覚
的に重要な情報を保持しており、従って常に興味がある
とされる。従ってエンコード方法は、低周波成分Aから
開始される。このデータ値がエンコードされる。次に、
オクターブ2データ値Dが、人間の視覚にとって興味の
あるエッジ又はエッジ状の特徴を表すか否かを決定する
べくテストされる。データ値Eが興味のあるものである
ことから、次のビットがエンコードされたデータ値を表
すものであることを示すトークンが発行される。次の興
味あるデータ値Bがエンコードされる。このツリーが未
だ終了していないため、この方法は、周波数について上
向きに継続される。次にオクターブ1のデータ値Cがテ
ストされる。この例の目的のためには、データ値Cは、
図100に於けるデータ値A、B、C、D、G、H、
J、L及びMと同様と興味があるとされる。エンコード
されたデータ値が後に続くことを示すトークンが発行さ
れる。トークンが送り出された後、データ値Cがエンコ
ードされる。この枝が興味のないデータ値をもって終了
していないため、この方法が周波数について上向きに繰
り返される。データ値Dをテストしそれが興味のあるも
のであるか否かを判定する。データ値Dが興味あるもの
であることから、トークンが発行され、データ値Dがエ
ンコードされる。オクターブ0が、この分解過程に於け
る最も高いオクターブであることから、このエンコード
方法は、先の興味あるデータ値Cの属するのとは異なる
枝をテストする。しかしながら、データ値Eは、興味の
ないものであることが判定された。従って興味のないこ
とを示すトークンが発行される。データ値Eはエンコー
ドされず、圧縮されたデータ中には現れない。データ値
Cから開始する2つの枝がいずれも終了したことから、
この方法は、周波数について下向きに継続され、先の興
味あるデータ値Bからの残りの枝をテストする。しかし
ながら、データ値Fは、興味のないものであることが判
定された。従って興味のないことを示すトークンが発行
され、データ値Fはエンコードされず、従ってエンコー
ドされたデータには現れない。この枝が終了したことか
ら、データ値Fよりも周波数については上側の全てのデ
ータ値は興味のないものとする。一連のエンコードされ
たデータ値及びトークンを受けるデコード装置は、興味
のないことを示すトークンから、全ての対応する高周波
データ値が、エンコード装置により興味のないものであ
るとされたことを判定することができる。従って、デコ
ード装置は、適当なデータ値を興味のないものとして、
これらの位置に0を書き込み、エンコード装置がFより
も上の、これらの興味のないデータ値を伝送する必要を
なくす。第1のツリーがエンコードされると、この方法
は次の低周波成分、データ値Gに進む。これは低周波成
分であり、従って常に興味があるものとされる。そこで
データ値Gがエンコードされる。更に、この方法は、ブ
ロックH、I、J、K及びLをこの順に通過し、次のツ
リーに進み、興味のある或いは興味のないトークンを発
行し、興味のあるデータ値をエンコードする。同様に、
第2のツリーが終了した後、低周波成分データ値Mがエ
ンコードされる。データ値Nは、興味のないものである
ことが判定され、興味のないことを示すトークンが発せ
られ、第3のツリーのエンコードが終了する。
【0249】本発明の別の実施例によれば、1次元の場
合を2次元の場合に拡張した例が示されている。バイナ
リツリーを用いる代わりに4つのブランチツリーが用い
られる。しかしながら、実用的なイメージエンコード方
法を生み出すために、現実世界を反映したファクタも考
慮される。ノイズの多いイメージデータを取り扱う際
に、単一のデータ値を用いてツリーの残りの部分が0で
あるとするのは信頼性に欠ける。従って2次元の実施例
に於いては、ツリー構造に於いて、ノイズ要素として、
データ値の2×2の小さなブロックが用いられる。エッ
ジが存在するか否かの判断は、4つの値に基づき、これ
は1つの値に基づく判定よりも信頼性が高い。
【0250】図102は、図95の分解の一部を表すツ
リー構造を示す。図95の分解をイメージデータ値の、
より大きな2次元アレイのために更に下向きに或いは右
方向に拡張するようにすることができる。同様に、図1
02のツリー構造を、より大きなデータ値のアレイにつ
いて更に右方向に拡張することができる。図102は、
オクターブ0及び1高周波要素を有するのみである分解
を示している。分解が、高周波成分の追加のオクターブ
を有する場合、ツリー構造が更に上方に拡張されること
となる。図100に示されたバイナリツリー構造とは異
なり、図102に於けるツリー構造は、4つの枝を有す
るツリーからなる。4つのオクターブ1データ値HHH
Gからなる2×2のブロックは、4つのHG2×2ブロ
ックに対して周波数の点で上方向に拡張された木の根を
なしている。更に、もう1オクターブの分解が行われれ
ば、オクターブ2高周波2×2ブロックの新たなレベル
がツリー構造に挿入されることとなる。例えば、4つの
HHHGオクターブ1の2×2ブロックは、その下側に
単一のオクターブ2HHHHHGブロックを有する。低
周波成分は、HHHHHHにより示されることとなる。
【0251】図2103は、図102に示されたツリー
構造の分解の図解モデルである。図90について上記し
たように様々に記述されたブロックの実際のデータ値
が、データ値の2次元アレイ中に分配される。図102
の枠のそれぞれに於いてカンマにより区分された2つの
数は、図95の2次元アレイに於ける行及び列をそれぞ
れ示す。このツリー構造を用いることにより、図95の
変換されたデータ値中をサーチし、データ値の興味ある
2×2ブロックをエンコードし、興味のない2×2ブロ
ックを無視することができる。
【0252】2次元的エンコード方法が、どのようにツ
リー構造を用いて分解中をサーチするかを説明したが、
いくつかの重要な定義が導入される。第1に、イメージ
decompは、オクターブの数OCTSに分解された
WIDTH×HEIGHT寸法により定義される。関数
Accessが、与えられた引数に対して、ウェーブレ
ット分解decompに於ける特定のデータ値のメモリ
アドレスを出力する。 Address=Access(oct、sub、x、
y);octは、求められるデータ値のオクターブであ
り、最も高いオクターブを表す0と、変換OCTSのオ
クターブの数−1であるOCTS−1との間の整数であ
る。subは、求められたデータ値が見いだされた分解
のHH、HG、GH及びGGバンドの何れかであるかを
示す。ローパスデータ値をアクセスするためにsub=
HHを用いることは、octの値が最も低いオクターブ
にされた時にのみ有効である。座標x及びyは、oct
及びsubにより特定されるサブバンドの上左隅からの
空間的な位置を表す。有効なx及びyの値の範囲は、ア
クセスされるオクターブに依存する。xは、{0...
WIDTH/2oct+1}の範囲を有し、yは{0...
HEIGHT/2oct+1}の範囲を有する。
【0253】関数Access及びウェーブレット分解
が与えられた場合、2×2のデータ値からなるブロック
は、関数ReadBlockにより読み出される。 block=ReadBlock(decomp、oct、sub、x、y){ block[0][0]=decomp[Access(decomp 、oct、sub、x、y)]; block[0][1]=decomp[Access(decom p、oct、sub、x+1、y)]; block[1][0]=decomp[Access(decom p、oct、sub、x、y+1)]; block[1][1]=decomp[Access(decom p、oct、sub、x+1、y+1)];}
【0254】ウェーブレット分解は、変数decomp
を介して関数ReadBlockに送られる。データ値
の2×2のブロックは、変数blockを介して戻され
る。
【0255】データ値の2×2のブロックが読まれる
と、その2×2のブロックが視覚的に興味のあるものか
以内を従ってエンコードされるべきか或いは排除される
か否かの決定が行われる。この決定は、Thresho
ldと呼ばれる関数により行われる。関数Thresh
oldの引数は、block、oct及びsubであ
る。Thresholdは、ブロックが興味あるもので
ある場合には、ブール変数Trueを返し、ブロックが
興味のないものである場合には、Falseを返す。
【0256】ブロックが、関数Thresholdによ
り興味あるものであると判定された場合、Encode
Blockと呼ばれる関数を用いてエンコードする。関
数SendTokenは、トークンに続くブロックがエ
ンコードされているか(即ちBlockNotEmpt
y)またはエンコードされていないか(BlockEm
pty)かを、圧縮されたデータを後にデコードするこ
ととなるデコード装置に対して通知するために、エンコ
ードされたブロックの前にトークンを挿入する。ブロッ
クが興味あるものであると判定された場合、Block
NotEmptyトークンが送られ、ブロックがエンコ
ードされる。次にエンコードされたブロックのツリーコ
ードを上り、エッジの位置をより良く判定するようにす
る。ツリーのエンコード手順SendTreeは、従っ
て繰り返し的に次のように定義される。 SendTree(decomp、oct、sub、x、y){ block=ReadBlock(decomp、oct、sub、x、y); If Treshold(decomp、oct、sub、Q){ SendToken(BlockNotEmpty); EncodeBlock(block、oct、sub、Q); If (oct>0){ SendTree(decomp、oct−1、sub、2*x 、2*y、Q); SendTree(decomp、oct−1、sub、2*( x+1)、2*y、Q); SendTree(decomp、oct−1、sub、2*x 、2*(y+1)、Q); SendTree(decomp、oct−1、sub、2*( x+1)、2*(y+1)、Q); } } else SendToken(BlockEmpty); }
【0257】手順SendTreeは、ハイパス成分デ
ータ値をエンコードするためにのみ用いられる。手順S
endTree(decomp、oct、sub、x、
y、Q)に於いてReadBlockによりアクセスさ
れる2×2ブロックが、閾値テストに合格するものであ
ると判定された場合、分解ツリーに於ける次に高い2×
2ブロックの1つをテストするためにSendTree
(decomp、oct−1、sub、2*x、2*
y、Q)が用いられる。ローパスデータ値は、ツリーコ
ードの一部をなすものであるとされない。ローパスデー
タ値は、別の手順SendLPFを用いてエンコードさ
れる。更に、ローパス値がEncodeBlockに用
いられたのと異なる手法を用いてエンコードされ、従っ
て新たな手順EncodeBlockLPFが必要とな
る。 SendLPF(decomp、x、y、Q){ block= Readblock(decomp、OCTS−1、HH 、x、y)}; EncodeBlockLPF(block、OCTS−1、Q); }
【0258】従って、イメージ全体をエンコードするた
めには、SendLPFが、ローパスバンド内の全ての
ブロック位置に対して適用され、SendTreeが、
最も低いオクターブハンド内のHG、GH及びGGバン
ド内の全てのブロック位置に対して適用される。従って
手順SendDecompが全体のイメージの分解をエ
ンコードするために次のように定義される。 SendDecomp(decomp、Q){ For(y=0;y<HEIGHT/2OCTS;y=y+2) For(x=0;x<WIDTH/2OCTS;x=x+2){ SendLPF(deomp、x、y、Q); SendTree(decomp、OCTS−1、HG、x、y、Q); SendTree(decomp、OCTS−1、GH、x、y、Q); SendTree(decomp、OCTS−1、GG、x、y、Q); } }
【0259】従って、上記した関数はウェーブレット分
解されたイメージをエンコードする方法を定義づける。
実際のイメージをエンコードする速度の点でツリーの多
くは、最小のオクターブ内で終息しており、従って分解
の多くは吟味されない。このように、多くのツリーが最
初のオクターブに於いて終息しているため、データ値の
多くは、エンコードされる必要がなく、従って圧縮及び
解凍方法を実施する際にメモリのバンド幅やブロックの
処理の量を減少させることができる。関数Thresh
old、EncodeBlockLPF及びAcces
sが単純な計算を必要とするのみで、分解されたデータ
値を高速でエンコードすることができる。
【0260】関数Accessを実現するために2次元
ツリー分解のデータ値の全てのアドレスを含むテーブル
を変数x、y、sub及びoctを用いてアクセスする
ことができる。少ない数をデータ値を有する小さなイメ
ージについては、このロックアップテーブルを用いる方
法が現実的である。例えばxの値が80個の異なる値を
取り、yが60個の異なる値を取り、subが4つの異
なる値を取り、octが3つ又は4つの値を取るような
イメージの場合、このテーブルは、約15万個の10ビ
ットアドレスを有することとなる。従って、それ程メモ
リを必要とすることなく同一の変数から同一のx、yア
ドレスを決定する方法が望まれる。
【0261】本発明の或る実施例によれば、変数x、
y、sub及びoctから、X及びYを決定するために
関数が用いられる。例えば、アドレスXを次のように定
めることができる。 X=((x<<1)+(sub>>1))<<oct ここで、<<は、値xを右方向に1つシフトすることを
意味し、>>は、左側に1つシフトすることを意味す
る。
【0262】例えば、アドレスYは、次のように決定す
ることかできる。 Y=((y<<1)+(1 & sub))<<oct 但し、&は、ビットごとのAND関数を表す。
【0263】高性能システムに於いては、関数Acce
ssを次のような方法に基づいて実現することができ
る。上記したような繰り返し関数を呼び出す方法やテー
ブルルックアップ方法は、リアルタイムのソフトウェア
やハードウェアで実施するには、時間がかかりすぎる。
図104、105は、トークンを発行し、データ値の2
×2ブロックをエンコードするために、どのようにして
図102のツリー分解を横切ることができるかを示して
いる。図104に於けるX及びYは、図95の2次元マ
トリックスにおける座標アドレスを示す。図102のツ
リーの分解を横切るためには、図102により表される
データ値のX及びYアドレスを決定し得ることが必要で
ある。図104は、図102の分解のオクターブ0に位
置するデータ値の2×2ブロックについて、どのように
してデータ値2×2のX及びYアドレスが決定されるか
を示している。同様に、図105は、分解のオクターブ
1に於けるデータ値3つの2×2のブロックのYアドレ
スが決定されるか並びに図102の分解ローパス成分の
データ値の1つの2×2ブロックがどのように決定され
るかを示している。X及びYは、それぞれoct、Tr
eeRoot及びsubの関数である。subの値は、
求められるデータ値の2×2ブロックのサブバンドによ
り決定される。
【0264】図106は分解の各サブバンドについての
subx及びsubyの値を示すチャートである。例え
ば、HHバンドに於いてデータ値の2×2ブロックが求
められる場合、subx及びsubyの値が、それぞれ0
及び0となる。TreeRootx及びTreeRoo
yの値は、共に、求められるデータ値の特定の2×2
ブロックを含む分解の特定のツリーを表す。
【0265】図104、105に於いて、四角はデジタ
ルカウンタを示している。四角同士を結ぶ矢印は、カウ
ンタをインクリメントする手順を示す。例えば、カウン
タC1と呼ばれる図104の最も右側の四角は、図10
4に於いてビットC1xとして表される最も下位のビッ
ト及びビットC1yとして最も上位のビットを有する。
同様に、図104の右側隣の四角は2つのビットを有す
るデジタルカウンタC2を表し、これらのビットは、最
も下位のビットC2x及び最も上位のビットC2yからな
る。X、Yアドレスの構造は、求められるデータ値の2
×2ブロックが属するオクターブに依存する。オクター
ブoct=1に於けるXYアドレスを生成するために、
カウンタC1は含まれず、サブバンドビットを表すsu
x及びsubyのビットは左側に一桁シフトされ、最も
下位のビットには0が置かれる。図105のカウンタの
インクリメントは矢印により示されるようにして行われ
る。
【0266】図102のローパス成分HHHHの4つの
データ値のXYアドレスを決定するために、図105が
用いられる。ここで求められるデータ値の2×2ブロッ
クが、ローパス成分の2×2ブロックであるため、su
x及びsubyの値は、図106のテーブルにより必要
とされるように0となる。図105のC2カウンタは、
C2x及びC2yの4つの可能な値をもってインクリメン
トされ、図102のローパス成分に於けるHHHHのデ
ータ値の2×2ブロックに於ける4つのアドレスを生成
する。TreeRootx及びTreeRootyの値
は、分解の第1のツリーであることから0となる。それ
に続く分解のツリーについては、TreeRootx
びTreeRootyが、図105の矢印により示され
るようにインクリメントされ、ツリー分解に於けるロー
パス成分のデータ値の他の2×2ブロックのXYアドレ
スが決定される。このデータ値のHHHH2×2ブロッ
クの位置が決定されると、4つのデータ値がエンコード
され、ツリー構造内のサーチが、図102に於いてHH
HGとして示されたオクターブ1に於けるデータ値の2
×2ブロックへと進む。この2×2ブロックの4つのデ
ータ値のXYアドレスを決定するために、ビットsub
x及びsubyの値が図106に従って、変更される。こ
の2×2ブロックがHGサブバンド内にあることから、
subx及びsubyの値はそれぞれ0及び1となる。次
にC2カウンタが、その4つの値を経てインクリメント
され、そのブロック内の4つデータ値の4つのアドレス
を生成する。ここで、この2×2ブロックが興味あるも
のであると判定された場合、興味あることを示すトーク
ンが、送り出され、ブロックの4つの値のそれぞれがエ
ンコードされ、ツリーがHG#1により示されるオクタ
ーブ0に於けるデータ値の2×2ブロックへと昇る。こ
れら4つのアドレスは図104に従って決定される。サ
ブバンドはサブバンドHGであることから、ビットsu
x及びsubyの値がそれぞれ0及び1である。次にC
1がインクリメントされ、図97の2×2ブロックオク
ターブ0のHG#1に示される4つのアドレスが生成さ
れる。この2×2ブロックが興味あるものであれば、興
味ある旨のトークンが送り出され、4つのデータ値がエ
ンコードされる。2×2ブロックが興味あるものでない
と判定された場合、興味ない旨のトークンが送り出さ
れ、4つのデータ値がエンコードされる。分解のツリー
構造内のサーチは更にオクターブ0のブロックHG#2
に進む。オクターブ0のブロックHG#1の4つのアド
レスが生成された後、C2カウンタのC2xビットが、
図104に示された矢印に従ってインクリメントされ
る。従って、オクターブ0のブロックHG#2が、再び
C1カウンタがその4つの状態を経てインクリメントさ
れる際にアドレスされる。この2×2ブロックのデータ
値が興味あるものであると判定された場合、興味ある旨
のトークンが送り出され、それに続いてエンコードされ
たデータ値が送り出される。2×2ブロックのデータ値
が興味あるものでないと判定された場合、興味ない旨の
トークンが送り出される。オクターブ0のHGサブバン
ドの4つの2×2ブロックのサーチが全て終了すると、
HGツリーが終了し、サーチはオクターブ1のHHGH
2×2ブロックの4つのデータ値の4つのアドレスを決
定するようになる。この方法によれば、分解の構造を横
切り、最小限のオーバーヘッドにより任意のオクターブ
または任意のサブバンドに於ける任意の2×2ブロック
のアドレスを決定することができる。連続するアドレス
間を移動したり、ツリーを降下することは、JPEGな
どのような他の圧縮方法によって用いられるようなスネ
ーキングアドレスパスに比較すると簡単な操作である。
【0267】この手法によれば、ソフトウェアとして構
成された場合、他の手法では時間がかかり過ぎるような
リアルタイムの圧縮及び解凍が可能である。ハードウェ
アにより構成された場合には、ゲートの数を減らすこと
ができ、効率的な構成が可能となる。この例は、ウェー
ブレット変換分解のツリー構造を横切る1つの方法を提
供するものであるが、ツリー構造を異なる要領をもって
横切るために、図104、105により示される制御構
造を変更することにより、他の方法をもってツリー構造
を横切ることができる。例えば、まずローパスHHHH
ブロックの全ての位置を定めエンコードした後に、分解
のHHHGツリーの全て、次にHHGHツリーの全て、
次にHHGGツリーの全てを処理することができる。
【0268】量子化 興味あると判定されたツリー分解の各2×2ブロックの
各データ値を量子化し、次にハフマンエンコードする。
データ値のそれぞれを量子化するために、2倍幅0ステ
ップを伴うリニアなミッドステップ量子化手段が用いら
れる。図107は、10ビット補数データ値の量子化の
要領を示す。量子化されるべき10ビットデータ値の範
囲は、図107の水平線の上側の数により示されるよう
に−512から511である。この範囲は複数のステッ
プに分割される。図108は、図107に於いて128
から256に至るデータ値の1つステップを示してい
る。128〜255の範囲の値を有する全ての入力デー
タ値は、データ値をqstepにより除すことにより量
子化される。従って、図108に示されるように値15
0を有するデータ値Aは、qstep値128により除
され、qindexの数として1が得られる。qind
exを得るために整数の除算が用いられ、余りの部分は
捨て去られる。qindexが決定されると、それがハ
フマンエンコードされる。全体的なQ値が圧縮されたデ
ータ値のフレーム1つ毎に送り出される。値qstep
は、以下に説明するように全体的Q値から決定される。
【0269】qindex数及びqstep数を逆量子
化し、逆変換前の変換データ値の値を決定するために、
送り込まれる量子化された値をデコードするための装置
が、以下に説明する方法に基づきQの値を用いてqst
epの値を計算する。qstepの値が決定されると、
与えられたデータ値についてのqindexにqste
pが乗算される。
【0270】図108に示される例に於いては、1(q
index)×128(qstep)の結果逆量子化さ
れた値128が得られる。この逆量子化値128が用い
られるとすると、ステップ128〜255の全てのデー
タ値がステップの左の端部に於いて128の値に逆量子
化されることとなる。こうした場合には、許容できない
大きなエラーが発生する。それに対して、図108の範
囲の全てのデータ値がミッドステップ値191に逆量子
化されるとすると、発生するエラーが小さくなる。従っ
て、逆量子化手段値qvalveを、qindex及び
qstepから次のように計算することができる。 qvalve(qindex、qstep) =qindex*qstep−(qstep/2−1) if qindex<0 =0 if qindex=0 =qindex*qstep+(qstep/2−1) if qindex>0
【0271】しかしながら、人間の視覚は、量子化され
たデータ値に含まれる特定のサブバンドに依存する量子
化エラーに対して異なる感度を有する。人間の視覚がイ
メージの強度を、認識できる構造に関連づけるメカニズ
ムは完全には理解されていないが、画質に対する圧縮比
を最大化するために、人間の視覚に関する情報を可及的
に利用することが重要である。ウェーブレット変換は、
人間の脳により行われる初期のイメージ処理を近似する
ものである。空間周波数応答及びWeberの法則など
のファクターをウェーブレット変換されたデータ値に対
して直接適用することができる。なぜなら、変換された
データ値は便利な表記方法であるからである。
【0272】図109は空間周波数に対する人間の目の
感度を示す。空間周波数が、視角θ毎にサイクルCによ
り測定される。スクリーンが、図110に示されるよう
に、見る者から距離dを置いて配置される。正弦波的に
変化する輝度の光がスクリーン上に投影される。空間周
波数は、距離dに於ける視角θ毎の輝度サイクルの数で
ある。図109から人間の目の感度は空間周波数に応じ
て変化することが理解される。従って、qstepの値
は、量子化されるべきデータ値のオクターブ及びサブバ
ンドに応じて変化する。データ値が量子化されるqst
epは、そのデータ値について、変数oct、sub及
びQから次のように決定される。 qstep(oct、sub、Q) =Q*hvs_factor(oct、sub) hvs_factor(oct、sub) =21/2 if sub=GG 1 otherwise =1.00 if oct=0 0.32 if oct=1 0.16 if oct=2 0.10 if oct=3 スケーリングファクタ1.00、0.32、0.16及
び0.10は、図109の空間周波数スケールを、人間
の視覚の感度の周波数依存性を考慮したものとするため
のものである。
【0273】上記した以外のスケーリングファクタを用
い得ることも了解されたい。例えば、人間の目ではなく
人間の耳により知覚されたオーディオデータを圧縮する
ために量子化手段が用いられた場合等にほかのスケーリ
ングファクタを用いることができる。しかも、サブバン
ドGGは、水平及び垂直情報よりも人間の目にとってそ
れほど重要でない対角方向情報を含んでいることから、
サブバンドGGは、他のサブバンドよりも強く量子化さ
れる。この方法は、量子化の度合いを人間の視覚により
適合させるために、データ値の2×2ブロックのレベル
まで拡張することができる。本実施例に於いて2つのパ
ラメータを有するのみである関数hvs_factor
は本発明の1実施例に過ぎない。例えば、関数hvs_
factorを、背景の明るさや性状のマスキングなど
oct及びsub以外の人間の視覚システムの特徴を考
慮することもできる。
【0274】閾値の設定 ツリー分解に於けるデータ値の新たな2×2ブロック毎
に、ブロックが興味あるものか興味あるものでないかを
判定しなければならない。これは次の関数により行われ
る。
【数77】 不等号の右側のダブルサメーションにより表されるブロ
ックのデータ値の絶対値の和が決定され、この値が閾値
limitと比較される。興味あるブロックとは、4つ
のデータ値の絶対値の和がこの値を越える場合であり、
興味のないブロックとは、この和が値limit以下で
あることにより判定される。
【0275】この値limitは、オクターブとともに
変化する可変量子化手段のステップの大きさを考慮した
ものである。例えば、データ値の2×2ブロックが、テ
ストthresholdを合格するものと判定されて
も、qstepにより量子化された後に4つの0量子化
値となる場合もある。例えば、−128と127との間
の全てのデータ値が量子化され、これらのデータ値のあ
るものが興味のある2×2ブロックに対応する場合で
も、図107に示されるように0の量子化されたqin
dexを有するようにされる。そのため、値limit
が次に式により計算される。
【数78】 この式に於いて、Bthresholdはベース閾値イ
メージファクタである。この実施例に於いては、このベ
ース閾値は1.0に等しい。ベース閾値Bthresh
oldの値が1.0であることは、テストイメージにつ
いて広範囲な実験を行うことにより決定される。式78
に於けるファクタ4は、対象となるブロックには4つの
データ値があるということを考慮して設けられたもので
ある。このようにして、ブロックが興味あるものでない
と判定された場合には、その量子化手段の値は後に、0
とされる。この重み付けのされた閾値ファクタlimi
tはまた、より少ない数のデータ値が量子化されること
から、量子化手段に於いて実行される演算の数を減少さ
せる。
【0276】ハフマンコーディング ウェーブレット変換はもとのイメージのデータ値とは大
きく異なる統計的特徴を有する変換されたデータ値を生
成する。ハイパスサブバンドの変換されたデータ値は、
平均値0のエクスポーネンシャルまたはラプラシアン特
性に類似した確率分布を有する。
【0277】図111はテストイメージLennaに於
ける4オクターブウェーブレット分解に於けるハイパス
データ値の分布を示す。図112は、ウェーブレット変
換の前のテストイメージLennaのデータ値の分布を
示す。ローパス成分データ値はもとのイメージに於ける
輝度及びクロミナンスの分布に近似する平坦な分布を有
する。ハイ及びローパスデータ値はそのために異なる要
領をもってエンコードされる。
【0278】ローパス成分データ値は、関数Encod
eBlockLPFにより次のようにエンコードされ
る。 EncodeBlockLPF(blcok、OCT−1、Q){ Output(block[0][0]/qstep(OCT−1、HH 、Q)); Output(block[0][1]/qstep(OCT−1、HH 、Q)); Output(block[1][0]/qstep(OCT−1、HH 、Q)); Output(block[0][0]/qstep(OCT−1、HH 、Q));}
【0279】エンコードを行った後、ローパスデータ値
は量子化され、圧縮されたデータストリーム中に出力さ
れる。ローパスデータ値はハフマンエンコードされな
い。
【0280】閾値テストに合格した高周波成分データ値
は量子化され、ハフマンエンコードされることにより、
ラプラシアン分布の恩恵を受けることができる。関数E
ncodeBlockは興味ある高周波成分ブロックの
4つのデータ値のそれぞれに対して量子化及びハフマン
エンコードを行う。関数EncodeBlockに於い
ては、変数subが提供され、関数qstepが呼ばれ
たときに、異なる高周波成分サブバンドについて異なる
量子化qstep値を用いることができる。関数huf
fmanは、表8に示されるような固定ハフマンコード
テーブルに対するテーブルルックアップを行う。Enc
odeBlockは次のように定義される。 EncodeBlockLPF(blcok、oct、sub、Q){ Output(huffman(block[0][0]/qstep( oct、HH、Q))); Output(huffman(block[0][1]/qstep( oct、HH、Q))); Output(huffman(block[1][0]/qstep( oct、HH、Q))); Output(huffman(block[1][1]/qstep( oct、HH、Q))); }
【表8】表8のハフマンコードに於ける左から2番目の
ビットは符号ビットである。7≦|qindex|≦2
1である場合には、|qindex|−1の値は4ビッ
トにより表される。22≦|qindex|≦37であ
る場合には、|qindex|−22の値は4ビットに
より表される。
【0281】トークンのエンコード 高い圧縮比の場合、トークンにより圧縮されたデータス
トリーム中で用いられるビットの数は、興味のないトー
クンのグループを組み合わせることにより削減すること
ができる。これは、新たなトークンを導入することによ
り達成される。本発明のある実施例によれば、2つの新
たなトークンOctEmpty及びOctNotEmp
tyが用いられる。オクターブ0のツリーに於けるハイ
パス成分ブロックについては、4つのブランチが存在す
る。追加されたトークンの対は、全ての4つが興味ない
ものであるかを示している。4つ全てが興味ないもので
あれば、ただ1つのOctEmptyトークンを送りだ
せば良い。それ以外の場合には4つのブランチがエンコ
ードされる前にOctNotEmptyトークンが生成
される。上記した特定のトークンが、最善の圧宿比を可
能にするためよりもむしろハードウェア及びソフトウェ
アの構成を単純化するために適宜選択される。比較的少
ない数のビットを有する、他のトークンを用いた圧縮さ
れたデータストリームに於ける比較的長いトークンビッ
トのシーケンスを表す他の方法を、トークンOctEm
pty及びOcNotEmptyに代えて用い、より高
い圧縮比を実現することもできる。
【0282】ビデオエンコーディング及びデコーディン
静止画のデコーディングの場合と比較して、連続するビ
デオ画像は通常より大量の冗長な情報を含んでいる。こ
の情報の冗長性は、ビット速度を減少させるために利用
することができる。ビデオ画像の新たなフレームに於け
る位置が、その前のビデオ画像の対応する位置と同一ま
たは概ね同一の情報を有する場合、新たなフレームのこ
の部分についてはエンコードをする必要がなく、圧縮デ
ータ中に含まれる必要がない。これにより、エンコード
されたビットストリーム内のビット総数を減少させるこ
とができる。
【0283】図113は、ビデオエンコーダ31及びビ
デオデコーダ32を示している。ビデオ入力信号は、順
ウェーブレット変換ブロック33により変換され、その
出力は新たなフレームメモリ34に書き込まれる。新た
なフレームのメモリ34に於けるビデオ情報の第1のフ
レームは、旧いフレームを記憶するための旧いフレーム
メモリ35内には何らその前のフレームが存在していな
いことから、新たなフレームと呼ばれる。従って、比較
ツリーエンコーダ36は、新たなフレームメモリ34か
らのデータ値出力から上記したようにトークン及び変換
データ値を生成する。変換されたデータ値は、qind
exレベルに量子化手段37により量子化される。これ
らのqindexレベルはハフマンエンコーダ38によ
りハフマンエンコードされる。このようにしてエンコー
ドされたデータ値はバッファ38Aのトークンと組み合
わされ、解凍されたデータビットストリーム39を発生
する。
【0284】この方法の要点は、ビデオエンコーダ31
内に存在する旧いフレームを、ビデオエンコーダ32内
の旧いフレーム40と完全に同一にする点にある。これ
により、新たなイメージ及び旧いイメージとの間の差を
エンコードされたビットストリームが含み、新たなフレ
ームのいくつかの部分が圧縮のために転送される必要が
ないことから、デコーダ32は、エンコードされたビッ
トストリーム39を正確にデコードすることができる。
従って、逆量子化手段41がビデオエンコーダ31に備
えられており、qindexレベルを逆量子化し、旧い
フレームメモリ35に送られた旧いフレームをビデオ入
力信号の新たなフレームと次に比較し得るようにする。
【0285】ビデオデコーダ32に於いては、圧縮され
たデータストリーム39がバッファ42により受け取ら
れる。トークンはハフマンエンコードされたqinde
xレベルから分離される。ハフマンエンコードされたq
indexレベルはハフマンデコーダ43に供給され、
その出力が逆量子化手段44に送られる。逆量子化手段
44の出力は、比較ツリーデコーダ44の制御の下に旧
いフレームメモリ40に書き込まれる。比較ツリーデコ
ーダ45は、或る程度、バッファ42により受け取られ
たトークンに応じて、旧いフレームメモリ40に何を書
き込むかを決定する。変換データ値の新たなフレームが
旧いフレームメモリ40に存在すれば、逆ウエーブレッ
ト変換46は、その変換データ値のフレームを、対応す
るビデオ出力信号に逆変換する。逆ウェーブレット変換
46が、元の新たなフレームデータ値に対応するデータ
値を再構成する場合に、旧いフレームメモリ40の内容
に上書きし、その内容を劣化させないように、中間的フ
レームメモリ47が維持される。
【0286】図102からのオクターブ1のHHHG、
HHGH、HHGG及びHHHHは、逆ウエーブレット
変換46により旧いフレームメモリ40から読み出さ
れ、上記したようなオクターブ1逆変換を行う。しかし
ながら、結果として得られるオクターブ0のHHサブバ
ンド即ち逆ウエーブレット変換46からの出力は、旧い
フレームメモリ40の内容を劣化させないように、中間
的なフレームメモリ47に書き込まれる。オクターブ0
の逆ウエーブレット変換について、HG、GH及びGG
サブバンドが旧いフレームメモリ40から読み出され、
HHサブバンドが中間フレームメモリ47から読み出さ
れ、逆ウエーブレット変換を完了する。
【0287】圧縮されたビデオデータ39の第2のフレ
ームがビデオデコーダ32により受け取られたとき、比
較ツリーデコーダ45により受け取られたトークンは旧
いフレームメモリ40に含まれるビデオ情報の前回のフ
レームの内容に対応している。従って、ビデオデコーダ
32はフレームメモリ40の内容及び圧縮されたデータ
ストリーム39に於いて、エンコードされたデータ値を
用いてビデオデータの最新のフレームを再構成する。こ
れは圧縮されたデータの再構成のためにツリーを横切る
ためにエンコーダが用いた分解のツリーと同一の横切り
経路をビデオデコーダ32が追随するために、ビデオデ
コーダが必要とする全ての情報を、圧縮されたデータス
トリームが含んでいることにより可能となる。従って、
ビデオデコーダ32は、ビデオエンコーダ31と一体に
作動する。エンコーダ31とデコーダ32は何れもツリ
ーに於ける対応する位置に於いて同一のモードを維持す
る。エンコーダ31が新たなモードを決定すると、圧縮
されたデータストリーム39内に対応するトークンを導
入し、このトークンは、ビデオデコーダ32が新たなモ
ードを得るために用いられる。
【0288】図114は本発明に基づく1つの実施例の
作動要領を示す。ビデオデコーダ31及びビデオデコー
ダ32の作動を説明するために1つの例について説明す
る。ビデオシーケンスの最初のフレームを、静止モード
によりビデオデコーダ31により処理する。静止画モー
ドは、STILL、VOID_STILL及びLPF_
STILLからなる3つのサブモードを有する。分解の
ローパス2×2ブロックのデータ値は、ビデオエンコー
ダ31の比較ツリーエンコーダ36に、LPF_STI
LLサブモードをとらせる。このサブモードに於いて
は、2×2ブロックの4つのデータ値は量子化される
が、ハフマンエンコードされない。同様に、トークンも
発行されない。データ値の連続するローパス成分2×2
ブロックは、順次量子化され、その出力が圧縮データス
トリーム39に送られる。
【0289】次に、サブバンドの1つの最も低い周波数
オクターブが比較ツリーエンデコーダ36により処理さ
れる。このデータ値の2×2ブロックは図102に於け
るブロックHHHGに対応する。この2×2ブロックの
4つのデータ値は、閾値limitに対してテストさ
れ、興味があるものか否かが判定される。2×2ブロッ
クHHHGが興味あるものであれば、単一ビットトーク
ン1が図114に示されるように発行され、比較ツリー
エンコーダはSTILLモードに留まり、2×2ブロッ
クHHHGの4つのデータ値が順次量子化され、エンコ
ードされ、更に圧縮データストリーム39に出力され
る。
【0290】この例の目的のためには、ブロックHHH
Gが興味あるものであると仮定する。従って、図102
のツリー構造をオクターブ0の2×2ブロックHG#1
まで昇る。比較ツリーエンコーダ31がSTILLモー
ドに留まるため、このブロックはSTILLモードによ
りエンコーダされる。ブロックHG#1の4つのデータ
値が、興味あるか否かがテストされる。この連続するツ
リーコードのブロックをテストするシーケンスは、上記
したようにして繰り返される。
【0291】4つのオクターブ0のサブブロックHG#
1〜4を横切った後、比較ツリーエンコーダ36は、ツ
リー構造内にてオクターブ1に於ける2×2ブロック即
ちブロックHHGHのデータ値に進む。この例では、こ
の2×2ブロックが興味無いものであるとされる。比較
ツリーエンコーダ36が4つのデータ値を読んだ後、閾
値テストの結果この2×2ブロックが興味の無いもので
あることが示される。図114に示されるように、静止
画モードであるエンコーダ31は、単一ビットトークン
0を発行し、比較ツリーエンコーダ36はVOID_S
TILLサブモードに入る。圧縮データストリーム39
に対して何ら追加の情報が出力されないが、比較ツリー
エンコーダ36は2×2ブロックHHGHの4つの位置
に0を書き込み、興味の無い2×2ブロックHHGHの
上側のツリーに於ける2×2ブロックの全ての位置にも
0を書き込む。図102の例に於いては、比較ツリーエ
ンコーダ36はブロックHHGH、GH#1〜4の全て
のアドレスに0を書き込む。このように0を書き込む操
作は、ビデオデコーダ32がその次に対応するデータ値
を受けることがないために実行されるものである。むし
ろ、ビデオデコーダ32は、興味の無いことを示すトー
クン即ち単一ビット0のみを受けることになる。従っ
て、ビデオエンコーダ32は、対応するツリーの残りの
部分に於いてフレーム40に0を書き込む。ビデオエン
コーダ31及びビデオデコーダ32が同一の旧いフレー
ム35、40を有するようにするために、ビデオデコー
ダもこれらの興味の無いブロックに0を書き込まなけれ
ばならない。
【0292】ビデオデータが最初のフレームがエンコー
ドされ、STILLモードにて送り出された後、ビデオ
データの次のフレームがビデオエンコーダ31により処
理される。デフォールトモードとしてエンコーダはST
ILLモードに入る。ローパス周波数成分2×2ブロッ
クについては、ビデオエンコーダ31は図114に示さ
れるようにLPF_SENDモードに入る。このような
低周波成分2×2ブロックのエンコーダは、図102に
於ける2×2ブロックHHHHのエンコーダに対応す
る。しかしながら、比較ツリーエンコーダ36は、フレ
ームメモリ34に於ける新たなフレームと、フレームメ
モリ35に於ける旧いフレームとを有する。従って、比
較ツリーエンコーダ36は、旧いフレームに於ける4つ
のデータ値からの新たなフレームの対応する4つのデー
タ値の算術的な差を対応する位置にて決定し、これらの
差の和を閾値と比較する。この比較対象となる閾値co
mpareは、式77、78と同様に、どのブロックが
興味あるかを定める先に述べた閾値の場合と同様にベー
ス比較閾値Bcompareから計算される。これらの
差の和が比較閾値よりも小さい場合、ビデオエンコーダ
31は単一ビットトークン0を送り出し、LPF_SE
NDモードに留まる。これが図114に示されている。
ビデオエンコーダ31は、ローパス周波数成分2×2ブ
ロックに対応する何等のデータ値も伝送しない。
【0293】それに対して、算術的和が比較閾値を超え
る場合、単一ビットトークン1が図114に示されるよ
うに発行され、この場合、ビデオエンコーダ31は、旧
いフレームに対する新たなフレームの連続する4つのデ
ータ値のそれぞれの算術的な差を量子化手段37に送
り、更にハフマンエンコーダ38に送る。実際のデータ
値を送り出す代わりに算術的な差がエンコーダされ送り
出されるが、これにより、新たなフレーム及び旧いフレ
ームに於ける2つのブロックがかなり近似していると言
う事実に基づき、必要ビット数が、より少なくなるとい
うことに基づくものである。
【0294】ビデオエンコーダ31が、図102に示さ
れるようにオクターブ1のサブバンドHHHGをエンコ
ーダする場合、ビデオエンコーダ31は図114に示さ
れるようにSENDモードを採る。このモードに於いて
は、比較ツリーエンコーダ35は、新たな2×2ブロッ
クのデータ値を旧い2×2ブロックと比較し、図115
に示されるように一連のフラッグを発生するような一連
の算術的操作を行う。これらのフラッグに基づき、ビデ
オエンコーダ31は2ビットトークンを発行し、この2
×2ブロックのために4つの新たなモードの1つを採
る。例えば、図102に於ける2×2ブロックHHHG
がビデオエンコーダ31により受け取られると、フラッ
グozflag、nzflag、new_z、nofl
ag、motion、origin及びno_zが決定
される。これらのフラッグは次の式により決定される。
【数79】
【数80】
【数81】
【数82】
【数83】
【数84】
【数85】
【数86】
【数87】
【数88】 これらのフラッグの値に基づき、2×2ブロックHHH
Gのための新たなモードが図115から決定される。
【0295】新たなモードがSENDモードであると決
定された場合、2ビットトークン11が図114に示さ
れるように送り出される。対応する4つのデータの算術
的差が決定され、ハフマンエンコードされ、圧縮データ
ストリーム39に送り込まれる。
【0296】フラッグが、新たなモードがSTILL_
SENDであることを示した場合、2ビットトークン0
1が送り出され、2×2ブロックの4つのデータ値が量
子化され、ハフマンコード化され送り出される。STI
LL_SENDモードを採ると、ビデオエンコーダ31
は、ツリーの終端部に到達するまでSTILL_SEN
Dモードに留まる。このSTILL_SENDモードに
於いては、1または0からなる単一ビットトークンが、
データ値の各ブロックのエンコーダに先行して送り出さ
れる。STILL_SENDモードからVOIDモード
に移ると、ビデオエンコーダ31は単一ビット0トーク
ンを送り出し、対応する2×2ブロックの対応するアド
レスに0を書き込み、その上側にツリーに於ける2×2
ブロックのデータ値のアドレスにも0を書き込む。
【0297】フラッグが、ビデオエンコーダ31のモー
ドがSENDからVOIDに移ったことを示した場合、
2ビットトークン10が発行され、2×2ブロックの4
つのデータ値が0と置換される。VOIDモードが採ら
れると、ビデオエンコーダ31はその上側のツリーに於
ける2×2ブロックの全てのデータ値の全てのアドレス
に0を書き込む。
【0298】現在エンコード中のツリーにそれ以上の情
報がないことをフラッグが示した場合、即ち旧いツリー
と新たなツリーとが概ね同一であることが示された場
合、2ビットトークン00が発行され、ビデオエンコー
ダ31は分解に於ける次のツリーに移る。
【0299】一般に、ビデオエンコーダ31がVOID
モードを採ると、ビデオエンコーダは、旧いブロックが
既に4つの0データ値を有することを判定するまでその
モードに留まる。この場合は、VOIDモードに留まり
2×2ブロック内に或いはその上側のブロックの残りの
部分に0を書き込む必要は無い。これは、旧いツリー
が、既にこれらのブロック内に0を必ず有しているから
である。これは、フレームメモリ35に於ける旧いツリ
ーが先に逆量子化手段41によりエンコードされたこと
により言えることである。
【0300】ビデオエンコーダ32は、分解のツリー構
造を認識しており、ビデオエンコーダ31はトークンを
用いてビデオデコーダ32と通信することから、ビデオ
デコーダ32は、ビデオエンコーダ31が圧縮データス
トリーム39を形成するためにツリー構造内を横切るの
と同様の要領をもってツリー構造内を移動する。このよ
うにして、ビデオデコーダ32は、解凍データストリー
ム39から適当なデータ値を旧いデータフレーム40の
対応する位置に書き込む。ビデオデコーダ32により必
要とされる唯一のフラッグはozflagであり、これ
はビデオデコーダが旧いフレームメモリ40の内容を読
むことにより得られるものである。
【0301】速度制御 全ての伝送媒体及び記憶媒体はデータを受け入れ可能な
最大バンド幅を有する。このバンド幅は、1秒当たりの
ビット数により表示される。例えば、標準的なISDN
チャンネルデジタル電話ラインは例えば、毎秒64Kビ
ットのバンド幅を有する。ビデオシーケンスに於いて一
連のイメージを圧縮する際には、イメージを圧縮する度
合いに応じて、発生する毎秒のビット数がかなり高い場
合がある。この毎秒ビット数が場合によっては伝送媒体
または記憶媒体の最大バンド幅を越える場合がある。従
って、伝送媒体或いは記憶媒体の最大バンド幅を越えな
いように1秒当たりのビット数を削減する必要がある。
【0302】伝送媒体や記憶媒体に導入される毎秒ビッ
ト数を抑制する1つの方法はバッファを用いることであ
る。大きな数のビット数を有するフレームは、ビット数
の少ないフレームとともにフレームバッファに記憶さ
れ、バッファから伝送媒体或いは記憶媒体へとやり取り
されるデータの1秒当たりのビット数は比較的一定の数
に維持される。バッファが充分に大きい場合には、長い
時間について見た、バッファへの入力の毎秒ビット数の
全体的な平均を、バッファから伝送媒体または記憶媒体
に送り出される最大ビット数と同等或いはそれ以下であ
る限りに於いて所望のビット速度を常に維持することが
できる。
【0303】しかしながら、大きなバッファに於ける問
題は、テレビ電話の場合に発生する。大きなバッファの
場合には、ビデオデータの1つのフレームがバッファに
入力された時刻と、このフレームがビデオバッファから
出力され、伝送媒体または記憶媒体に送り出される時刻
との間にはかなりの時間遅れが存在する。テレビ電話の
場合、一人のユーザが話し始めた時刻と、別のユーザが
その話を聞く時刻との間にかなりの時間遅れが発生す
る。この時間遅れは、latensyと呼ばれ好ましく
ない。そのために、テレビ電話についてはH.261規
格にはバッファサイズが規定されている。
【0304】本発明の或る実施例によれば、フレーム当
たりに発生するビットするをフレーム毎に変化させる速
度制御機構が設けられている。上記したツリーエンコー
ディングコードのために、あるフレームについて出力さ
れるビット数はツリーエンコーディングプロセスに於い
て登るツリーの数に依存する。ツリーを登るか否かの決
定は、ツリー構造の最も低い高周波オクターブに於いて
なされる。図102から理解されるように、サブバンド
の最も低い周波数には、サブバンドツリーの上方に比べ
るとより少ない数のブロックが存在する。このツリー構
造の特定の2×2ブロックについて、特定のブロックが
興味あるものであると判定されるまで閾値limitの
式に於けるQの値を減少させることができる。従って、
特定のQは、対応するブロックが興味あるものとされた
時点に於いて決定される。このプロセスは、最も低い周
波数のHG、GH及びGGサブバンドに於ける各ブロッ
クについて行うことができる。このようにして、特定の
Qの値に於いて興味あるものとなる3つのサブバンドの
最も低い周波数に於ける2×2ブロックの数を示すヒス
トグラムを形成することができる。
【0305】このヒストグラムから、与えられたQの値
について興味あるとされる3つのサブバンドの最も低い
周波数に於ける2×2ブロックの総数に関する関係が得
られる。与えられたQの値について興味あるとされる3
つのサブバンドの最も低い周波数のオクターブに於ける
ブロックの数は、与えられたQを用いてツリーを登った
ときに発生することとなるビットの数を表すものと仮定
すると、対応するフレームが、このQの値によりエンコ
ードされたときに所望の数のビットが形成されるような
Qの値を決定することができる。しかも、閾値を越える
度合いが大きければ大きい程、そのツリーをエンコード
するために必要となるビット数が増大する。従って、与
えられたQの値について興味あるとされるブロックの数
をQにより重み付けすることが可能である。最後に、こ
のようにして得られたQの値は、変動を平滑化するため
にフレーム間に亘って平均されるべきである。
【0306】CCITT推奨H.261に基づくエンコ
ーダモデルRM8は、DCTに基づくもので、次のよう
な欠点を有する。RMSにより用いられる速度制御方法
がリニアフィードバック手法に基づく。バッファの限度
はQに比例する。Qの値は、各ブロックのグループ毎に
(GOB)調整され、オーバフロー或いはアンダフロー
を回避する。これは、イメージのある部分は、他の部分
とは異なるレベルの画質をもって伝送されることを意味
する。イメージの部分に於いて変化が小さい場合、Qの
値が小さくなり、興味のない領域が正確にエンコードさ
れることとなる。しかしながら、興味の対象は通常動く
部分である。逆に、活動の活発な領域のエンコーディン
グに際しては、Qの値が上昇し、動く領域に於けるエラ
ーが増大する。これが、ブロックに基づく変換と組み合
わされると、エラーが視覚上許容出来ないものとなる。
【0307】本発明の実施例について説明した速度制御
方法はフレーム全体に対して1つのQの値を用いる。Q
の値はフレーム毎にのみ調整される。従って、イメージ
の全ての部分は同一のQの値をもってエンコードされる
こととなる。しかも、ツリー構造は、与えられたフレー
ムについて生成されるビット数の推定値を決定するため
に比較的少数のブロックのみをテストすればよいものと
することから、従来技術に基づく圧縮及び解凍手法によ
って可能であるよりも良好なビット速度を達成し得るよ
うにQを変化させるより優れた方法を実現することがで
きる。
【0308】ツリーに基づく運動の推定 図116は白い背景2に示された黒い箱1を示す。図1
17は、同一の白い背景2の中で同一の黒い箱1が右に
移動し、異なる位置を占めた状態を示す。図116及び
117のこれら2つのフレームが上記した方法に基づい
てエンコードされると、図116に於いて符号3により
示された白から黒へのエッジに対応するウェーブレット
分解に於いてツリーが得られる。同様に、図117に於
いて符号3により示される白から黒へのエッジ3′を表
すウェーブレット分解に於ける別のツリーが得られる。
これら2つのツリーに対応する全てのデータ値は、興味
あるものとされる。なぜなら、エッジは分解の全てのオ
クターブに於いて興味あるデータ値とされるからであ
る。しかも、黒い箱1の対応するエッジの移動により、
これら2つのツリーの両者のエッジの全てのデータ値
が、得られる圧縮データストリームに於ける興味あるデ
ータ値としてエンコードされる。従って、上記した方法
は、両イメージに於いて同一の白から黒へのエッジを表
すのが同一のデータ値であることを考慮することなく、
単にこれらが異なる位置にあるものであるとして取り扱
う。
【0309】図118はエッジの1次元表現を示す。対
応するローパス成分データ値は図118には示されてい
ない。データ値4、5、6、7、8及び9は、図118
に於ける興味あるデータ値を示し、他のデータ値は小さ
なデータ値を有し、従って、それらのブロックを興味な
いものとする。図118に於いては、データ値4及び5
が1つの2データ値ブロックとして取り扱われる。同様
にブロック6及び7は、単一のブロックとして、やは
り、ブロック8及び9もそれぞれ単一のブロックとして
取り扱われる。図118は、図示明瞭にするために1次
元を表現するのみであるが、図116のフレームのエッ
ジ3を表している。
【0310】図119は図117に示されたエッジ3′
を示している。値19及び21が、図118に於いては
2つのデータ値ブロック8及び9にあったものが、図1
19に於いては2つのデータ値ブロック10及び11に
あることから、図119は黒い箱1のエッジが移動した
ことを示している。図119に於けるエンコードに於い
ては、値19及び21は、エンコードされ圧縮データス
トリーム中に送られる代わりに、これら2つの新たな位
置を示す制御コードが生成される。多数の制御コードが
可能であるが、ここでは1つ実施例のみが示される。
【0311】2つのデータ値ブロック10及び11が、
興味あるものであるか否かを判定される際に、ブロック
が興味あるものであるとされたものとする。しかしなが
ら、旧いフレームに於ける隣接するブロックも、同じく
テストされ、同じ値が存在するか否かが判定される。こ
の場合、値19及び21は、1つの2データ値ブロック
分右に移動したことが判定される。運動により興味があ
ることに対応するトークンが、単純な興味あるトークン
に代えて発行される。次に、単一ビット1が送り出さ
れ、値19及び21により表されるエッジが右方向に移
動したことを示す。エッジが左に動いたとすると、制御
コード0が生成され、値19及び21により表されるエ
ッジが左に1つシフトされる。従って、図119のエン
コード手順に於いては、運動により興味があることに対
応するトークンの次には単一制御コード1が生成され
る。従って、興味ある値19及び21は、圧縮データス
トリーム中に含まれる必要はない。この運動により興味
があるとすることに対応するトークン及びこの制御コー
ド1を受けたビデオデコーダは、単に旧いフレームから
興味ある値19及び21を新たなフレームに於けるこれ
らの値の示された新たな位置にコピーし、ビデオエンコ
ーダが、実際の興味あるデータ値自体をエンコードした
り、転送したりする必要をなくす。オクターブ0、1ま
たは2のいずれについても1つのブロックに対応する2
つのデータ値について同一のトークン及び制御コードを
送り出すことができる。
【0312】図120は、図116のエッジ3が、図1
17に示された黒い箱1の新たな位置よりも遠い新たな
位置に移動したことを表している。従って、値20及び
21が、2データ値ブロック12及び13に於いて右側
に位置していることが見いだされる。この2データ値ブ
ロック12及び13のエンコーディングに於いて、運動
により興味があるとされることに対応するトークンが発
行される。このトークンに続いて、右方向の運動を表す
制御コード1が生成される。従って、ビデオエンコーダ
はデータ値20及び21をエンコードする必要がなく、
単に運動により興味があることに対応するトークンを発
行し、次に右方向運動制御コードを生成する。ビデオエ
ンコーダが2データ値ブロック14及び15に進むと、
ビデオエンコーダは、運動により興味があるとされるト
ークンを発行する必要がなく、左方向運動制御コード0
のみを生成する。同様に、ビデオエンコーダが2データ
値ブロック16及び17をエンコードする際に、ビデオ
エンコーダは単に左方向運動制御コード0を発するのみ
である。オクターブ0及び1の制御コードは、運動自体
を表すものではないが、運動するエッジの低周波の興味
あるブロックの情報の左側または右側の位置を示す。そ
の結果、ビデオエンコーダは、図120の分解に於ける
移動したエッジを表す実際のデータ値をなんらエンコー
ドする必要はない。
【0313】図118〜120に示された1次元モデル
は、図示及び説明を単純化するためのものである。しか
しながら、このエッジの運動を表す方法が、図102に
示されたウェーブレット分解等の2次元ウェーブレット
分解についても用いられることを了解されたい。ビデオ
エンコーダは、旧いフレームのデータ値の最も隣接する
ブロックをサーチするのみでエッジを表すデータ値の移
動をサーチする。この方法は、用途に応じて多数のまた
は少数の隣接するブロックをサーチするために用いるこ
とができる。図104及び105に示された代替案は、
これらの隣接するもブロックの位置を定めるために用い
ることができる。図118〜120に示されたエッジの
運動は、分解のツリーコードに於いて同一のデータ値が
動かされたことを示しているが、実際にはエッジの運動
に伴い、同一のエッジを表すデータ値が僅かに変化する
ことを了解されたい。ビデオエンコーダは、対応するデ
ータ値が実際に同一なエッジを表すか否かを判定するた
めに、運動データ値閾値を用いることにより対応するデ
ータ値を判断して、このことを考慮する。エッジの運動
を示し、エッジのデータ値自体を送り出さないことによ
り、圧縮比を増大させ、解凍されたイメージの画質を改
善することができる。
【0314】疑似Daubechies6係数フィルタ 疑似Daubechies6係数フィルタは、表9に小
数点8桁まで示された6つのローパスフィルタ係数によ
り定義される。係数は、また、α、β、γ及びεからな
る4つの定数によっても定められる。
【0315】
【表9】
【0316】定数a、b、c、−d、−e及びfの和は
1/2である。正規化された係数の和は1であり、それ
によりフィルタはゲイン1を有するようになりこれは、
別の表現方法によればεを4.2510934にするこ
とに等しい。これらの値は、一連の分数により任意の精
度をもって近似することができる。上記した例に於いて
は、正規化された値のそれぞれに128が掛け合わさ
れ、それぞれ適宜丸められ、係数aが30/128に変
換される。従って、浮動小数点による演算を行う代わり
に整数の乗算によってフィルタを行うことができる。こ
れは、デジタルハードウェアのゲート数を減らし、コン
ピュータソフトウェアの速度を高める上で有効である。
次の式は、フィルタ過程に於ける1つのステップを表
し、出力H及びGは、ロー及びハイパス出力である。
【0317】
【数89】
【数90】
【0318】H1及びG1は次のように計算される。各デ
ータ値Dは、対応する分子(30、73、41、12、
7及び3)により掛け合わされ、図示されるように互い
に加算される。H及びGは、和を定数128で割ること
により得ることができる。128が2のべき乗であるこ
とからこの割り算はデジタルハードウェアに対して負担
をかけることがなく、ソフトウェアによっても単純な算
術的シフトのみによって行うことかできる。フィルタH
及びGは、疑似完全再構成フィルタである。
【0319】
【数91】
【数92】
【数93】
【数94】 式91は、ゲインを1にし、式82は、ハイパスフィル
タが、一定の入力信号に対して0を発生させ、式83及
び84は、一旦変換された元のデータを完全に再構成し
得ることを示している。
【0320】次の式は、逆変換に於ける1つのステップ
を示している。
【0321】
【数95】
【数96】
【0322】順フィルタ過程については、インターリー
ブされたH及びGデータストリームが関連する整数分子
により掛け合わされ、図示されているように互いに加算
される。出力Dのデータ値は、和を定数64で割ること
により得られ、この数も同じく2のべき乗である。
【0323】最初及び最後のH及びGの値を計算するた
めのフィルタの方程式は、データストリームの境界の外
側の値を必要としないように変更されなければならな
い。例えば、H0を6係数フィルタを用いて計算する場
合、値D-1及びD-2が必要となる。これらの値が定義さ
れていないことから、データストリームの始め及び終り
に於いて異なるフィルタを用いることができる。新たな
フィルタは、最初及び最後のデータ値の再構成プロセス
が可能であるように決定される。次の方程式の対は、最
初のH、G値を計算するために用いられるフィルタを示
している。
【0324】
【数97】
【数98】
【0325】最後のH及びG値は、次の式により計算さ
れる。
【数99】
【数100】
【0326】この場合、データストリームの外側のデー
タ値であるような非境界方程式を用いた場合と等価であ
る。次の逆変換境界フィルタを、最初の2つ及び最後の
2つのデータ値を再構成するために用いることができ
る。
【0327】
【数101】
【数102】
【数103】
【数104】
【0328】ソフトウェア解凍速度の増大 専用のデジタルハードウェアを用いてビデオイメージを
圧縮し、ソフトウェアを用いて解凍するようなビデオの
圧縮及び解凍システムが望まれる。例えばビデオメール
の用途に於いては、あるユーザは、ビデオカメラに接続
されたIBMPCパソコンのためのハードウェア圧縮拡
張カードを用い、ビデオメッセージファイルとしてビデ
オメッセージを記録することができる。この圧縮された
ビデオメッセージファイルは、オフィスビルなどのハー
ドワイヤされたネットーク等のようなネットワーク上に
電子メールとして伝送される。受け取り側のユーザは、
圧縮されたビデオメッセージファイルを、通常の電子メ
ールファイルを受け取るのと同様に受け取り、ソフトウ
ェアを用いて圧縮されたビデオメッセージファイルを解
凍し、ビデオメールを取り出す。ビデオメールは、受け
取り側のパソコンのモニタに表示されることができる。
ビデオイメージをソフトウェアにより解凍可能とするこ
とにより、多数の受け取り側のユーザが、比較的高価な
ハードウェアを購入する必要がないことから、ビデオイ
メージをソフトウェアにより解凍し得るのが望ましい。
解凍を行うためにソフトウェアは、例えば、複合システ
ムのコストを低減するために無料で配布することもでき
る。ある従来技術に基づくシステムに於いては、即ちI
ntel Indio圧縮システムに於いては、ハード
ウェア圧縮拡張カードが、ビデオを圧縮し、圧縮された
ビデオをソフトウェアパッケージにより解凍することが
できる。
【0329】しかしながら、このシステムは、比較的小
さな圧縮比を達成し得るのみである。従って、ビデオイ
メージの画質は、標準的なパソコンの計算能力やビデオ
バンド幅が増大した場合でも何等改善されない。
【0330】以上の明細書の記載は、ビデオの圧縮及び
解凍のための方法及び装置を開示している。参考資料A
に含まれているプログラム言語Cにより記述されたソフ
トウェア解凍や解凍手段は、現在の標準的なパソコンに
よって1秒当たり2フレームずつ解凍し得るのみであ
る。従って、より高速に解凍をソフトウェアで行い得る
ような方法が望まれる。
【0331】上記したビデオを解凍する方法を、ソフト
ウェアの実行速度を向上させるように修正した。ハイ及
びローパス順変更完全再構成デジタルフィルタを実現す
るために用いられた係数b=19/32、a=11/3
2、c=5/32及びd=3/32は、上記した方法に
基づいて専用のハードウェアを用いてビデオを圧縮する
ために用いたが、ソフトウェアによりデジタルコンピュ
ータ上での解凍に於いては、係数d=5/8、a=5/
8、c=1/8及びd=1/8が用いられた。係数は、
以下の表10に示されるようにして決定された。
【0332】
【表10】
【0333】本実施例に基づく、偶数スタート逆変換デ
ジタルフィルタは、次の式により表される。
【0334】
【数105】 但し、例えばD0は、元のイメージの行の対応する第1
のデータ値を示す第1の逆変換データ値であり、H0
びG0は、サブバンド分解の行の最初のロー及びハイパ
ス成分変換データ値である。
【0335】本実施例に基づく奇数エンド逆変換デジタ
ルフィルタは、次の式により表される。
【数106】 但し、例えばDBは、元のイメージの行の対応する最後
のデータ値を示す最後の逆変換データ値であり、HB
びGBは、サブバンド分解の行の最後のロー及びハイパ
ス成分変換データ値である。
【0336】本実施例に基づく奇数インターリーブされ
た逆変換デジタルフィルタは次の式により表される。
【数107】
【0337】本実施例に基づく偶数インターリーブされ
た逆変換デジタルフィルタは次の式により表される。
【数108】
【0338】式107及び式108により示されるよう
に、奇数及び偶数インターリーブ逆変換デジタルフィル
タは、サブバンド分解の同一のH及びGの値に対して作
用することができるが式105及び106の偶数スター
ト及び奇数エンドフィルタの行に於いて奇数及び偶数逆
変換データ値を形成する。
【0339】上記した偶数スタートと奇数エンド、奇数
インタリーブ及び偶数インタリーブ逆変換デジタルフィ
ルタを用いることにより、680480マイクロプロセ
ッサを用いたMacintosh Quadraパソコ
ンを用いて約毎秒15フレームのフレーム速度を達成す
ることができた。係数b=5/8、a=3/8、c=1
/8及びd=1/8を用いたデジタルフィルタによれ
ば、わずかに低い圧縮比が許容可能である場合には、低
コストに専用のデジタルハードウェアを構成することが
できる。
【0340】デジタルコンピュータに於いてビデオを解
凍する際にソフトウェアによる解凍のスピードを更に増
大させるために、前記に於いては3オクターブの順変換
により圧縮されていたものを2オクターブの逆変換によ
り行うことができる。これによれば、オクターブ0分解
のローパス成分が得られる。オクターブ0分解のローパ
ス成分は、元のイメージのエーリアシングの1/4サイ
ズデシメーテッド(decimated)バージョンと
なる。逆変換のオクターブ0を行うよりもオクターブ0
分解のローパス成分のデータ値の各行を拡張し、データ
値の数を2倍にするために水平線形内挿法が用いられ
た。行の数を増大させるために、内挿されたデータ値の
各行を1回コピーし、行の総数を2倍とした。ある実施
例に於いては、線形内挿法以外の内挿法を用いて画質を
改善した。例えばスプライン内挿法や、多項式内挿法を
用いることもできる。
【0341】ビデオを解凍する際に、ソフトウェアによ
る実行速度を更に増大させる式104〜107のデジタ
ルフィルタを用いて読みデータ値を解凍した。しかしな
がら輝度データ値は、4つよりも少ない数の係数を有す
る偶数及び奇数インターリーブ再構成フィルタを用いて
解凍した。ある実施例に於いては、2係数奇数インター
リーブHaar及び偶数インタリーブHaar再構成フ
ィルタは、次の式により表される。
【数109】
【数110】
【0342】上記したHaarフィルタは、それぞれ2
つの係数を有するのみであることから、上記した方法に
於いて言及した境界の問題は発生しない。従って、別の
スタート逆変換デジタルフィルタ及び別のエンド逆変換
デジタルフィルタが用いられない。
【0343】ビデオを解凍する際のソフトウェアの実行
速度を更に増大させるために可変長SEND及びSTI
LL_SENDトークンが用いられる。データ値は、上
記したようなハフマンコードを用いてエンコードされる
が、トークンは、可変長形式で発行され、圧縮されたデ
ータストリーム中でも可変長として現れる。これにより
最初にフラッグを計算することなく解凍を行うことがで
きる。
【0344】図121は、本発明のある実施例に基づき
エンコード及デコードするために用いられる可変長トー
クンを示している。SENDモードからSTOPモード
への変化或いはSTILL_SENDモードからSTO
Pモードへの変化は、図121に示された変化のうちで
最も頻繁に発生するものであることから、対応するトー
クンは、1つのビットのみからなる。
【0345】一般に、ビデオシーケンスに於いてある領
域が隣接するフレーム間に於いて白から黒に変化し、エ
ンコーダがLPF_SENDモードである場合、量子化
を行った後の対応するデータ値は32よりもずっと大き
くなる。37は、上記した方法について言及された特定
のハフマンコードを用いてエンコードし得る最大の数で
ある。このように大きなデータ値に於ける変化をエンコ
ードできないことから、37を超える量子化された値の
変化については解凍されたイメージ中にアーティファク
トが生成される。従って、本発明のある実施例の以下の
表11に示されるようなハフマンコードが用いられる。
【0346】
【表11】上記したような表11に於いては、値(|q
index|−8)は、7ビットの長さを有する。表1
1に於けるsは、符号ビットである。
【0347】本実施例は、ビデオメールの用途に限定さ
れるものでなく、また、専用のハードウェアにより圧縮
しデジタルコンピュータによりソフトウェア的に解凍を
行うものに限定されない。マイクロプロセッサを有する
汎用のデジタル回路を用いた圧縮されたイメージデータ
ストリームをデコードを逆変換することができる。係数
5/8、3/8、1/8及び1/8は、符号に関わらず
イメージデータ値をサブバンド分解に変換するために用
いられる4係数ハイ及びローパス順変換完全再構成デジ
タルフィルタのための4つの係数であってよい。
【0348】以上発明の特定の実施例について説明した
が、本発明は上記に限定されない。4係数Daubec
hiesフィルタ以外のフィルタを用いることができ
る。ある実施例に於いては6係数Daubechies
フィルタが用いられた。本発明の実施例は、1次元的、
2次元的或いは3次元的な3構造を用いて実行すること
ができる。データ値の2×2のブロックが興味あるもの
であるかはテストする代わりに、他のサイズのブロック
を用いることもできる。例えばデータ値の3×3のブロ
ックを用いることもできる。分解の異なるオクターブに
於いて異なるサイズのブロックを用いることもできる。
ある実施例に於いては、異なる種類の興味のあるブロッ
クが存在する。分解のツリー構造を用いることに加えて
トークンを用いることはエンコードされるデータ値の数
を減らすが、これは他の意味を有するトークンに拡張す
ることができる。運動により興味があるとされるトーク
ンはその1つの例である。速度制御の目的でフレームの
活発度を推定するためにツリー構造を様々な方法で用い
ることもできる。上記した実施例から様々な境界フィル
タ、閾値、エンコーダ及びデコーダモード、トークンの
ツリーを横切るためのアドレスの発生手段、量子化方
式、ハフマン用コード及び速度制御が考えられる。従っ
て上記した実施例はあくまでも説明の便宜のためであっ
て、本発明の範囲を限定するものでないことを了解され
たい。
【図面の簡単な説明】
【図1】パーソナルコンピュータのカードスロットに挿
入可能な拡張プリント回路基板のブロック図。
【図2】図1に示されたアナログ/デジタルビデオデコ
ーダチップの実施例のブロック図。
【図3】図3はA乃至Cからなり、図1の拡張基板によ
って用いられる4:1:1輝度・クロミナンスフォーマ
ットY:U:Vを表している。
【図4】図1及び図2のアナログ/デジタルビデオデコ
ーダチップからの出力値の時間変化を表す図。
【図5】図1のビデオエンコーダ・デコーダチップの離
散ウェーブレット変換回路のブロック図。
【図6】図5の行コンボルバブロックのブロック図。
【図7】図5の列コンボルバブロックのブロック図。
【図8】図6及び図7のウェーブレット変換乗算回路の
ブロック図。
【図9】図6の行ウェーブレット変換回路のブロック
図。
【図10】順オクターブ0変換の間の図5の行コンボル
バによって出力された信号及び図5の行コンボルバを制
御する制御信号を表した図。
【図11】順オクターブ0変換の間の図5の行コンボル
バによって出力された信号及び図5の行コンボルバを制
御する制御信号を表した図。
【図12】順オクターブ0変換の間の図5の行コンボル
バのデータフローを表す図。
【図13】順オクターブ0変換の間の図5の行コンボル
バのデータフローを表す図。
【図14】順オクターブ0変換の間の図5の行コンボル
バによって出力されたデータ値を表す図。
【図15】図7の列ウェーブレット変換回路のブロック
図。
【図16】順オクターブ0変換の間の図5の列コンボル
バによって出力された信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図17】順オクターブ0変換の間の図5の列コンボル
バによって出力された信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図18】順オクターブ0変換の間の図5の列コンボル
バによって出力された信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図19】順オクターブ0変換の間の図5に示された列
コンボルバのデータフローを表す図。
【図20】順オクターブ0変換の間の図5に示された列
コンボルバのデータフローを表す図。
【図21】順オクターブ0変換の間の図5に示された列
コンボルバのデータフローを表す図。
【図22】順オクターブ0変換の間の図5に示された列
コンボルバのデータフローを表す図。
【図23】順オクターブ0変換の間の図5の列コンボル
バの動作の後の図1のメモリユニット116に存在する
データ値を表す図。
【図24】順オクターブ1変換中の図5の行コンボルバ
によって出力された信号及び図5の行コンボルバを制御
する制御信号を表す図。
【図25】順オクターブ1変換中の図5の行コンボルバ
によって出力された信号及び図5の行コンボルバを制御
する制御信号を表す図。
【図26】順オクターブ1変換の間の図5に示された行
コンボルバのデータフローを表す図。
【図27】順オクターブ1変換の間の図5に示された行
コンボルバのデータフローを表す図。
【図28】順オクターブ1変換の間の図5の列コンボル
バによって出力された信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図29】順オクターブ1変換の間の図5の列コンボル
バによって出力された信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図30】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図31】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図32】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図33】図5の離散ウェーブレット変換回路のコント
ロールブロック506の一実施例を表すブロック図。
【図34】図5の離散ウェーブレット変換回路のコント
ロールブロック506の一実施例を表すブロック図。
【図35】逆オクターブ1変換の間の図5の列コンボル
バによって出力される信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図36】逆オクターブ1変換の間の図5の列コンボル
バによって出力される信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図37】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図38】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図39】順オクターブ1変換の間の図5の列コンボル
バのデータフローを表す図。
【図40】逆オクターブ1変換の間の図5の行コンボル
バによって出力される信号及び図5の行コンボルバを制
御する制御信号を表す図。
【図41】逆オクターブ1変換の間の図5の行コンボル
バのデータフローを表す図。
【図42】逆オクターブ1変換の間の図5の行コンボル
バのデータフローを表す図。
【図43】逆オクターブ0変換の間の図5の列コンボル
バによって出力される信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図44】逆オクターブ0変換の間の図5の列コンボル
バによって出力される信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図45】逆オクターブ0変換の間の図5の列コンボル
バによって出力される信号及び図5の列コンボルバを制
御する制御信号を表す図。
【図46】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図47】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図48】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図49】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図50】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図51】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図52】逆オクターブ0変換の間の図5の行コンボル
バによって出力される信号及び図5の行コンボルバを制
御する制御信号を表す図。
【図53】逆オクターブ0変換の間の図5の行コンボル
バによって出力される信号及び図5の行コンボルバを制
御する制御信号を表す図。
【図54】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図55】逆オクターブ0変換の間の図5の列コンボル
バのデータフローを表す図。
【図56】図5の離散ウェーブレット変換回路のDWT
アドレス発生ブロックのブロック図。
【図57】図5の離散ウェーブレット変換回路のDWT
アドレス発生ブロックのブロック図
【図58】エンコーダモードを表すために簡略化され
た、図1のツリープロセッサ/エンコーダ・デコーダ回
路124のブロック図。
【図59】デコーダモードを表すために簡略化された、
図1のツリープロセッサ/エンコーダ・デコーダ回路1
24のブロック図。
【図60】図58及び図59のツリープロセッサ/エン
コーダ・デコーダの決定回路ブロック3112のブロッ
ク図。
【図61】図58及び図59のツリープロセッサ/エン
コーダ・デコーダのツリープロセッサアドレス発生器T
P ADDR GENブロック3114のブロック図。
【図62】図58及び図59のツリープロセッサ/エン
コーダ・デコーダのツリープロセッサアドレス発生器T
P ADDR GENブロック3114のブロック図。
【図63】図58及び図59のツリープロセッサ/エン
コーダ・デコーダのツリープロセッサアドレス発生器T
P ADDR GENブロック3114のブロック図。
【図64】図61乃至図63のプロセッサアドレス発生
器のCONTROL ENABLEブロック3420の
状態表を表す図。
【図65】図64の状態及び対応するオクターブを表
す、ツリー解凍を表すグラフ。
【図66】図64の状態及び対応するオクターブを表
す、ツリー解凍を表すグラフ。
【図67】図58及び図59のツリープロセッサ/エン
コーダ・デコーダの量子化回路ブロック3116のブロ
ック図。
【図68】図58及び図59のツリープロセッサ/エン
コーダ・デコーダのバッファブロック3122のブロッ
ク図。
【図69】エンコーダモードに於けるバッファブロック
3122の動作を例示するべく簡単化された、図68の
バッファブロック3122のブロック図。
【図70】図69に示すようにバッファブロック312
2がエンコーダモードの時、バッファブロック3122
のバレルシフタ3912の出力を表す図。
【図71】デコーダモードに於けるバッファブロック3
122の動作を表すべく簡単化された、図68のバッフ
ァブロック3122を表す図。
【図72】図59及び図58のツリープロセッサ/エン
コーダ・デコーダ124によって用いられるパイプライ
ンされたエンコーディング・デコーディングスキームを
表す図。
【図73】Y:U:V:入力が、4:2:2フォーマッ
トである、本発明に基づく他の実施例のブロック図。
【図74】メモリユニット116がスタティックランダ
ムアクセスメモリ(SRAM)によって実施された本発
明に基づく第1の実施例のPC基板100のメモリユニ
ット116の新部分への輝度データ値の書き込み及び新
部分からの輝度データ値の読み出しのシーケンスを表す
図。
【図75】メモリユニット116がダイナミックランダ
ムアクセスメモリ(DRAM)によって実施された、本
発明に基づく第2の実施例のPC基板100のメモリユ
ニット116の新部分への輝度データ値の書き込み及び
新部分からの輝度データ値の読み出しシーケンスを表す
図。
【図76】PC基板100のメモリユニット116がダ
イナミックランダムアクセスメモリによって実施され、
複数のスタティックランダムアクセスメモリが、ツリー
プロセッサ/エンコーダ・デコーダ124とメモリユニ
ット116との間のキャッシュバッファとして用いられ
ている、本発明に基づく第3実施例を表す図。
【図77】図76に示された回路の動作シーケンスの時
間変化を表す図。
【図78】従来技術に基づくイメージのサブバンド分解
を示すダイアグラム図である。
【図79】従来技術に基づくイメージのサブバンド分解
を示すダイアグラム図である。
【図80】従来技術に基づくイメージのサブバンド分解
を示すダイアグラム図である。
【図81】従来技術に基づくイメージのサブバンド分解
を示すダイアグラム図である。
【図82】従来技術に基づくサブバンド分解に付随する
境界問題を示すダイアグラム図でる。
【図83】従来技術に基づくサブバンド分解に付随する
境界問題を解決する方法を示すダイアグラム図である。
【図84】一次元分解を示すダイアグラム図である。
【図85】入力信号をハイパス成分とローパス成分とに
分解する要領を示すダイアグラム図である。
【図86】入力信号をハイパス成分とローパス成分とに
分解する要領を示すダイアグラム図である。
【図87】本発明の或る実施例に基づく変換プロセスを
示すダイアグラム図である。
【図88】本発明の或る実施例に基づく変換プロセスを
示すダイアグラム図である。
【図89】本発明の或る実施例に基づくハイパス及びロ
ーパス順変換デジタルフィルタの作動を示すダイアグラ
ム図である。
【図90】本発明の或る実施例に基づくハイパス及びロ
ーパス順変換デジタルフィルタの作動を示すダイアグラ
ム図である。
【図91】本発明の或る実施例に基づく変換プロセスを
示すダイアグラム図である。
【図92】本発明の或る実施例に基づく変換プロセスを
示すダイアグラム図である。
【図93】本発明の或る実施例に基づく、もとのデータ
値の2次元マトリックスを示すダイアグラム図である。
【図94】本発明の或る実施例に基づく1オクターブの
順変換を行った後の図16の2次元マトリックスを示す
ダイアグラム図である。
【図95】本発明の或る実施例に基づく2オクターブの
順変換を行った後の図16の2次元マトリックスを示す
ダイアグラム図である。
【図96】本発明の或る実施例に基づき境界問題が解決
される様子を示すダイアグラム図である。
【図97】本発明の或る実施例に基づき境界問題が解決
される様子を示すダイアグラム図である。
【図98】本発明の或る実施例に基づく境界順変換デジ
タルフィルタの作動を示すダイアグラム図である。
【図99】本発明の或実施例に基づく開始及び終了逆変
換デジタルフィルタの作動を示すダイアグラム図であ
る。
【図100】本発明の或る実施例に基づく一次元ツリー
構造を示すダイアグラム図である。
【図101】A〜Dからなり、図23の一次元ツリー構
造に対応する一次元分解に於けるデータ値の繰り返しフ
ィルタリングの様子を示すダイアグラム図である。
【図102】本発明の或る実施例に基づくデータ値の2
×2ブロック構造を有する2次元ツリー構造を示すダイ
アグラム図である。
【図103】図25の2次元ツリー構造のデータ値を絵
画的に示す図である。
【図104】本発明の或る実施例に基づくツリー構造の
データ値のアドレスを決定するための方法及び装置を示
すダイアグラム図である。
【図105】本発明の或る実施例に基づくツリー構造の
データ値のアドレスを決定するための方法及び装置を示
すダイアグラム図である。
【図106】本発明の或る実施例に基づくツリー構造の
データ値のアドレスを決定するための方法及び装置を示
すダイアグラム図である。
【図107】本発明の或る実施例に基づく変換されたデ
ータ値の量子化過程を示すダイアグラム図である。
【図108】本発明の或る実施例に基づく変換されたデ
ータ値の量子化過程を示すダイアグラム図である。
【図109】空間周波数に対する人間の目の感度を示す
ダイアグラム図である。
【図110】空間周波数に対する人間の目の感度を示す
ダイアグラム図である。
【図111】テストイメージLの4オクターブウェーブ
レット分解におけるハイパス成分データ値の分布を示す
ダイアグラム図である。
【図112】ウェーブレット変換を行う前のテストイメ
ージLのデータ値の分布を示すダイアグラム図である。
【図113】本発明の或.実施例に基づくビデオエンコ
ーダ及びビデオデコーダを示すブロック図である。
【図114】図36のビデオエンコーダ及びビデオデコ
ーダの異なるモード及び対応するトークン値を示すダイ
アグラム図である。
【図115】いままでのモードに代えて新たなモードに
移るために組み合わされる様々なフラッグを示すダイア
グラム図である。
【図116】運動を表すために白い背景に示された黒い
ボックスを示すダイアグラム図である。
【図117】運動を表すために白い背景に示された黒い
ボックスを示すダイアグラム図である。
【図118】図39及び図40に示されたエッジの運動
に対応する一次元ツリー構造を示す。
【図119】図39及び図40に示されたエッジの運動
に対応する一次元ツリー構造を示す。
【図120】図39及び図40に示されたエッジの運動
に対応する一次元ツリー構造を示す。
【図121】本発明の或る実施例に基づく可変長トーク
ンを示すダイアグラム図である。
【数13】
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 7/30 A 8842−5J H04B 1/66 9372−5K H04L 25/08 B 9199−5K H04N 7/30 G06F 15/66 M H04N 7/133 Z

Claims (45)

    【特許請求の範囲】
  1. 【請求項1】 係数Xを有する第1のデジタルフィル
    タと、前記係数X未満であって、相互接続されたアキュ
    ムレータの数に実質的に等しい係数Yを有する第2のデ
    ジタルフィルタとによって、一連の入力画像データ値を
    フィルタし、一連の変換画像データ値とするべく、少な
    くとも1つの加算器回路と1つの記憶回路より成る複数
    の相互接続したアキュムレータを使用する過程よりなる
    ことを特徴とするウェーブレット変換方法。
  2. 【請求項2】 前記一連の変換画像データ値の最初の
    データ値は前記第1のデジタルフィルタの出力からな
    り、前記一連の変換画像データの第2のデータ値は前記
    第2のデジタルフィルタの出力からなることを特徴とす
    る請求項1に記載の方法。
  3. 【請求項3】 前記第1のデジタルフィルタが境界フ
    ィルタからなることを特徴とする請求項2に記載の方
    法。
  4. 【請求項4】 一連のデータ値の最初のデータ値を第
    1の複数個の所定値で乗算し第1の複数個の積を発生す
    る過程と、 前記複数個の積の選ばれた1つを第1のアキュムレータ
    の第1の入力に入力し、 前記一連のデータ値の第2のデータ値を第2の複数個の
    所定値で乗算し第2の複数個の積を発生する過程と、 前記第2の複数個の積の選ばれた1つを、前記第1のア
    キュムレータの出力が供給された第2の入力を備えた第
    2のアキュムレータの第1の入力に入力する過程と、 前記一連のデータ値の第3のデータ値を第3の複数個の
    所定値で乗算し第3の複数個の積を発生する過程と、 前記第3の複数個の積の選ばれた1つを、前記第2のア
    キュムレータの出力が供給された第2の入力の入力を備
    えた第3のアキュムレータの第1の入力に入力する過程
    と、 前記一連のデータ値の第4のデータ値を少なくとも1つ
    の所定値で乗算し少なくとも1つの第4の積を発生する
    過程と、 前記少なくとも1つの第4の積を、前記第3のアキュム
    レータの出力が供給された第2の入力を備えた第4のア
    キュムレータの第1の入力に入力する過程とからなり、 前記複数個の所定値の各々は準完全再構成フィルタの係
    数及び境界準完全再構成フィルタの係数よりなる群から
    選ばれること特徴とするウェーブレット変換方法。
  5. 【請求項5】 前記第1、第2、第3及び第4のアキ
    ュムレータの各々が、 分解の1オクターブの処理の間
    に部分的に変換されたA個のデータ値を記憶する1つの
    加算器回路と、 前記記憶回路の各々は分解の他のオクターブの処理の間
    に部分的に変換された、前記Aとは同一ではないB個の
    データ値を記憶する1つの記憶回路とを有することを特
    徴とする請求項4に記載の方法。
  6. 【請求項6】 前記一連のデータ値が2次元画像の行
    と列のデータ値からなり、前記データ値の前記行と前記
    列の両者を下位バンド分解に変換することを特徴とする
    請求項4に記載の方法。
  7. 【請求項7】 一連のデータ値の最初のデータ値を第
    1の複数個の所定値で乗算し第1の複数個の積を発生す
    る過程と、 前記複数個の積の選ばれた1つを第1のアキュムレータ
    の第1の入力に入する過程と、 前記一連のデータ値の第2のデータ値を第2の複数個の
    所定値で乗算し第2の複数個の積を発生する過程と、 前記第2の複数個の積の選ばれた1つを、前記第1アキ
    ュムレータの出力が供給された第2の入力を備えた第2
    のアキュムレータの第1の入力に入力する過程と、 前記一連のデータ値の第3のデータ値を第3の複数個の
    所定値で乗算し第3の複数個の積を発生する過程と、 前記第3の複数個の積の選ばれた1つを、前記第2のア
    キュムレータの出力が供給された第2の入力を備えた第
    3のアキュムレータの第1の入力に入力する過程と、 前記一連のデータ値の第4のデータ値を少なくとも1つ
    の所定値で乗算し少なくとも1つの第4の積を発生する
    過程と、 前記少なくとも1つの第4の積を、前記第3のアキュム
    レータの出力が供給された第2の入力を備えた第4のア
    キュムレータの第1の入力に入力する過程とを有し、 少なくとも前記複数個の所定値のいくつかは境界完全再
    構成フィルタの係数及び境界準完全再構成フィルタの係
    数より成る群から選ばれることを特徴とするウェーブレ
    ット変換方法。
  8. 【請求項8】 前記第2のアキュムレータの前記出力
    は前記第1のアキュムレータの第2の入力に供給され、 前記第3のアキュムレータの前記出力は前記第2のアキ
    ュムレータの第3の入力に供給され、 前記第4のアキュムレータの前記出力は前記第3のアキ
    ュムレータの第3の入力に供給されることを特徴とする
    請求項7に記載の方法。
  9. 【請求項9】 データ値の各々が複数個のメモリ位置
    の各1つに記憶される複数個のメモリ位置から一連のデ
    ータ値を読み出す過程と、 前記データ値が下位バンド分解の一連の変換データ値に
    変換されるのに伴い前記メモリ位置のいくつかを連続し
    て一時に1つずつオーバライトする過程とを有すること
    を特徴とするウェーブレット変換方法。
  10. 【請求項10】 入力リードと出力リードとを有し、 画像境界に接近する一連のC個の入力画像データ値を、
    交互のロー及びハイパス変換画像データ値である対応す
    る一連の前記C個の変換画像データ値に変換することを
    特徴とするウェーブレット変換回路。
  11. 【請求項11】 入力データ値を受信する入力を有し
    かつ複数の出力を有する乗算回路と、 各々が前記乗算回路の前記複数個の出力の選ばれた1つ
    に結合される複数のデータ入力と、少なくとも1つの制
    御入力と、データ出力とを備えたマルチプレクサと、 前記第1のマルチプレクサの前記データ出力に結合され
    た第1のデータ入力と、第2のデータ入力と、複数の制
    御入力と、データ出力とを備えた第1のアキュムレータ
    回路と、 各々が前記乗算回路の前記複数の出力の選ばれた1つに
    結合された複数のデータ入力と、少なくとも1つの制御
    入力と、データ出力とを備えた第2のマルチプレクサ
    と、 前記第2のマルチプレクサの前記データ出力に結合され
    た第1のデータ入力と、前記第1のアキュムレータ回路
    の前記データ出力に結合された第2のデータ入力と、第
    3のデータ入力と、複数の制御入力と、データ出力とを
    備えた第2のアキュムレータ回路と、 複数のデータ入力と、少なくとも1つの制御入力と、デ
    ータ出力とを備えた第3のマルチプレクサと、 前記第3のマルチプレクサの前記データ出力に結合され
    た第1のデータ入力と、前記第2のアキュムレータ回路
    の前記データ出力に結合された第2のデータ入力と、第
    3のデータ入力と、複数の制御入力と、データ出力とを
    備えた第3のアキュムレータ回路と、 第1のデータ入力と、前記乗算回路の前記複数の出力の
    1つに結合された第2のデータ入力と、複数の制御入力
    と、前記第3のアキュムレータ回路の前記第3のデータ
    入力に結合されたデータ出力とを備えた第4のアキュム
    レータ回路と、 前記第1、第2及び第3のマルチプレクサ並びに前記第
    1、第2、第3及び第4のアキュムレータ回路に結合さ
    れ、前記第1、第2、第3のマルチプレクサ及び前記第
    1、第2、第3及び第4のアキュムレータ回路を制御
    し、第1デジタルフィルタを使用する境界下位連続を変
    換し、かつ第2デジタルフィルタを使用する非境界下位
    連続を変換する制御回路とを有し、 境界に接近する境界下位連続と非境界下位連続とよりな
    るデータ値の境界に接近したデータ値の連続を変換する
    ウェーブレット変換回路。
  12. 【請求項12】 一連のデータ値の第1のデータ値を
    第1の複数の所定値で乗算し第1の複数個の積を発生す
    る過程と、 前記複数個の積の選ばれた1つを、第1の出力端子を備
    えた第1のアキュムレータの第1の入力に入力する過程
    と、 前記一連のデータ値の第2のデータ値を第2の複数個の
    所定値で乗算し第2の複数の積を発生する過程と、 前記第2の複数の積の選ばれた1つを、前記第1のアキ
    ュムレータの出力がその第2の入力に供給されると共に
    その出力が前記第1のアキュムレータの第2の入力に供
    給された第2のアキュムレータの第1の入力に入力する
    過程と、 前記一連のデータ値の第3のデータ値を第3の複数個の
    所定値で乗算し第3の複数個の積を発生する過程と、 前記第3の複数個の積の選ばれた1つを、前記第2のア
    キュムレータの出力がその第2の入力に供給ると共にそ
    の出力が前記第2のアキュムレータの第3の入力に供給
    された第3のアキュムレータの第1の入力に入力する過
    程と、 前記一連のデータ値の第4のデータ値を少なくとも1つ
    の所定値で乗算し少なくとも1つの第4の積を発生する
    過程と、 前記少なくとも1つの第4の積を、前記第3のアキュム
    レータの出力がその第2の入力に供給され、かつその出
    力が前記第3のアキュムレータの第3の入力に供給され
    ると共に第2の出力端子を備えた第4のアキュムレータ
    の第1の入力に入力する過程とを有することを特徴とす
    るウェーブレット変換方法。
  13. 【請求項13】 複数のイメージデータ値を記憶する
    複数のメモリ位置の選ばれた1つをアドレスする方法で
    あって、 第1の時間間隔に於いて複数のメモリ位置のシーケンス
    をアドレスする過程と、 前記第1の時間間隔に於いて少なくとも前記シーケンス
    の一部を下位バンド分解の第1オクターブに変換する過
    程と、 第2の時間間隔に於いて前記複数のメモリ位置の前記シ
    ーケンスのサブシーケンスをアドレスする過程と、 前記第2の時間間隔に於いて少なくとも前記下位連続の
    一部を、少なくとも下位バンド分解の一部を含む前記第
    1オクターブから少なくとも前記下位バンド分解の一部
    を含む第2オクターブへ変換する過程とを有することを
    特徴とする、複数のイメージデータ値を記憶する複数の
    メモリ位置の選ばれた1つをアドレスする方法。
  14. 【請求項14】 前記シーケンスへのアドレス過程
    が、第1の値と第2の値を、前記シーケンスのメモリ位
    置の連続するアドレスである第1のアドレスに加え、前
    記シーケンスのメモリ位置の連続するアドレスである第
    2のアドレスを発生する過程を有し、 前記サブシーケンスへのアドレス過程が、第3の値と第
    4の値を、前記メモリ位置のサブシーケンスの連続する
    アドレスである第1のアドレスへ加え、前記メモリ位置
    のサブシーケンスの連続するアドレスである第2のアド
    レスを生ずる過程を有することを特徴とする請求項13
    に記載の方法。
  15. 【請求項15】 前記シーケンスへのアドレス過程
    が、前記メモリ位置のシーケンスの連続するアドレスで
    ある第1のアドレスから第1の値及び第2の値の1つを
    減算し、前記メモリ位置のシーケンスの連続するアドレ
    スである第2のアドレスを発生する過程を有し、 前記サブシーケンスをアドレスする過程が、前記メモリ
    位置のサブシーケンスの連続するアドレスである第1の
    アドレスから第3の値及び第4の値の一方を減算し、前
    記メモリ位置のサブシーケンスの連続するアドレスであ
    る第2のアドレスを発生する過程を有することを特徴と
    する請求項13に記載の方法。
  16. 【請求項16】 複数のオクターブよりなるサブバン
    ド分解の複数のデータ値を記憶する複数のメモリ位置の
    選ばれたメモリ位置をアドレスする方法であって、 オクターブ依存の値を有する第1の数及びオクターブ依
    存の他の数を有する第2の数の1つを、前記複数のメモ
    リ位置の各1つの連続するアドレスである第1のアドレ
    スに加えて、前記複数のメモリ位置の各1つの連続する
    アドレスである第2のアドレスを発生する過程を有する
    ことを特徴とする、複数のオクターブよりなるサブバン
    ド分解の複数のデータ値を記憶する複数のメモリ位置の
    選ばれたメモリ位置をアドレスする方法。
  17. 【請求項17】 多数のオクターブよりなるサブバン
    ド分解の複数のデータ値を記憶する複数のメモリ位置の
    選ばれた1つをアドレスする方法であって、 前記複数のメモリ位置の連続するアドレスである第1の
    アドレスから、オクターブ依存の値を有する第1の数及
    びオクターブ依存の他の値を有する第2の数の一方を減
    算することにより、前記複数のメモリ位置の連続するア
    ドレスである第2のアドレスを発生する過程を有するこ
    とを特徴とする、多数のオクターブよりなるサブバンド
    分解の複数のデータ値を記憶する複数のメモリ位置の選
    ばれた1つをアドレスする方法。
  18. 【請求項18】 サブバンド分解の複数のデータ値を
    記憶する複数のメモリ位置のアドレスを発生する回路で
    あって、 オクターブに依存する第1の可変計数づつ増加すると共
    に出力を備えた第1のカウンターと、 前記第1のカウンターの前記出力に結合された第1のデ
    ータ入力と、画像のサイズを表示する値を受信するよう
    結合された第2のデータ入力と、データ出力とを備えた
    乗算回路と、 オクターブに依存する第2の可変計数づつ増分すると共
    に出力を備えた第2のカウンターと、 前記乗算回路の前記出力に結合された第1のデータ入力
    と、前記第2のカウンターの前記出力に結合された第2
    のデータ入力と、前記アドレスを発生するデータ出力と
    を備えた加算器回路とを有することを特徴とする、サブ
    バンド分解の複数のデータ値を記憶する複数のメモリ位
    置のアドレスを発生する回路。
  19. 【請求項19】 前記第1のカウンターはクロック入
    力信号を受信し、前記クロック入力信号の1クロックサ
    イクルに於いて前記第1の可変計数づつ増加し、 前記第2のカウンターはクロック入力信号を受信し、前
    記クロック入力信号の1クロックサイクルに於いて前記
    第2の可変計数づづ増加する請求項18に記載の回路。
  20. 【請求項20】 サブバンド分解の、輝度データ値を
    含む複数のデータ値を記憶する複数のメモリ位置のアド
    レスを発生する状態マシンであって、 第1の信号を受信し、第1の信号を受信すると状態を変
    更し、前記サブバンド分解の1オクターブを示す第2の
    信号を受信し、発生した前記アドレスが輝度データ値で
    あるかどうかを示す第3の信号を受信し、前記第1、第
    2、及び第3の信号に基づいて状態を変更することを特
    徴とする状態マシーン。
  21. 【請求項21】 発生した前記アドレスがクロミナン
    スデータ値であるかどうかを示す第4の信号を示す第4
    の信号を受信し、前記第4の信号に基づいて状態を変更
    することを特徴とする請求項20に記載の状態マシー
    ン。
  22. 【請求項22】 アドレス発生回路であって、 第1の増分値を受信する第1のデータ入力と、第2の増
    分値を受信する第2のデータ入力と、第3のデータ入力
    と、データ出力とを備えたアキュムレータ回路と、 前記アキュムレータ回路の前記データ出力に結合された
    データ入力と、前記アキュムレータ回路の前記第3のデ
    ータ入力に結合され、前記アドレスを出力するデータ出
    力とを備えた記憶要素とを有することを特徴とするアド
    レス発生回路。
  23. 【請求項23】 前記アキュムレータ回路が、 アドレスベース・オフセットクロミナンス値と、アドレ
    スベース・オフセット輝度値とを受信する第4のデータ
    入力と、 第5のデータ入力とを有することを特徴とする請求項2
    2に記載の回路。
  24. 【請求項24】 新フレームのサブバンド分解のブロッ
    クである新ブロックの複数のデータ値と、旧フレームの
    サブバンド分解のブロックである旧ブロックの複数のデ
    ータ値を受信し、ORIGIN、NEW Z、NO
    Z、MOTION、NOFLAGよりなるフラグの群か
    ら選ばれる複数の異なるフラグを発生するフラグ発生回
    路と、 状態マシンの現状態及びまた前記異なるフラッグに基づ
    いて与えられた、VOID、SEND、STILL、S
    END STILL、STOPよりなる群から選ばれる
    新状態となると共に前記新しい状態を示すトークンを出
    力する状態マシーンとを有することを特徴とする回路。
  25. 【請求項25】 画像データ値の第1の数の第1のシ
    ーケンスを画像値の前記第1の数よりも小さい第2の数
    の第2のシーケンスにローパスフィルタするデジタル回
    路を使用する過程と、 画像データ値の前記第2のシーケンスをローパスフィル
    タしサブバンド分解を発生する前記デジタル回路を使用
    する過程とを有することを特徴とする方法。
  26. 【請求項26】 前記ローパスフィルタはローパス順
    変換完全再構成デジタルフィルタであることを特徴とす
    る請求項25に記載の方法。
  27. 【請求項27】 前記デジタル回路がコンボルバを含
    むことを特徴とする請求項26に記載の方法。
  28. 【請求項28】 メモリのメモリ位置の行のサブバン
    ド分解の一部を含む第1の数から第1のデータ値の数を
    読む過程と、 ハイパス成分データ値とローパス成分データ値とを含む
    第2のデータ値の数を発生するべく、第1のデータ値の
    前記数を変換する過程と、 前記変換過程の後、第2のデータ値の前記数を前記メモ
    リのメモリ位置の行の、前記第1の数と等しい第2の数
    に書き込む過程とを有することを特徴とする方法。
  29. 【請求項29】 前記読み込み過程に於いて読まれる
    前記メモリ位置の行が、前記書き込み過程に於いて書き
    込まれる前記メモリ位置の行とは異なることを特徴とす
    る請求項28に記載の方法。
  30. 【請求項30】 前記読み込み過程に於いて読まれる
    前記メモリ位置の行が、前記書き込み過程に於いて書き
    込まれるメモリ位置の行と同一であることを特徴とする
    請求項28に記載の方法。
  31. 【請求項31】 前記第1データ値の数が前記第2デ
    ータ値の数と等しいことを特徴とする請求項28に記載
    の方法。
  32. 【請求項32】 メモリがダイナミックメモリからな
    ることを特徴とする請求項28に記載の方法。
  33. 【請求項33】 メモリのメモリ位置の行の第1の数
    から、サブバンド分解の一部を含む第1のデータ値の数
    を読み込む過程と、 ハイパス成分データ値とローパス成分データ値とを含む
    第2のデータ値の数を発生するべく、前記第1のデータ
    値の数を逆変換する過程と、 前記逆変換過程の後、前記第2データ値の数を前記メモ
    リのメモリ位置の行の前記行の第1の数と等しい第2の
    数に書き込む過程とを有することを特徴とする方法。
  34. 【請求項34】 メモリのメモリ位置の行の第1の数
    から第1の画像データ値の数を読み込む過程と、 サブバンド分解のハイパス成分データ値とローパス成分
    データ値とを含む第2のデータ値の数を発生するべく、
    前記第1のデータ値の数を変換する過程と、 前記変換過程の後、前記第2データ値の数を前記メモリ
    のメモリ位置の行の前記行の第1の数と等しい第2の数
    に書き込む過程とを有することを特徴とする方法。
  35. 【請求項35】 ローパス成分データ値の複数個のブ
    ロックを含む第1の複数個のダイナミックメモリ位置か
    ら、各々がデータ値のブロックの3個の関連するハイパ
    ス成分ツリーを有するローパス成分データ値の第1のブ
    ロックとデータ値のブロックの関連する第1のハイパス
    成分ツリーとを読み込む過程と、 ローパス成分データ値の前記第1のブロックと前記第1
    の複数個のダイナミックメモリ位置から読み込まれたデ
    ータ値のブロックの関連する第1のハイパス成分ツリー
    とを第2のメモリに書き込む過程と、 ローパス成分データ値の第2のブロックとデータ値のブ
    ロックの関連する第2のハイパス成分ツリーを、各々が
    データ値のブロックの3個の関連するハイパス成分ツリ
    ーを有するローパス成分データ値のブロックの複数個を
    含む第2の複数個のダイナミックメモリ位置から読み込
    む過程と、 前記第2の複数個のダイナミックメモリ位置から読み込
    まれたローパス成分データ値の前記第2のブロックとデ
    ータ値のブロックの関連する第2のハイパス成分ツリー
    を第4のメモリに書き込む過程と、 前記第2及び第4のメモリに書き込まれた前記データ値
    を処理して圧縮画像データストリームを処理する過程と
    を有することを特徴とする方法。
  36. 【請求項36】 前記第2のメモリが、複数のスタテ
    ィックランダムアクセスメモリ位置からなり、前記第4
    のメモリは他の複数のスタティックランダムアクセスメ
    モリ位置からなることを特徴とする請求項35に記載の
    方法。
  37. 【請求項37】 前記ローパス成分データ値の第1の
    ブロック及びデータ値のブロックの関連する第1のハイ
    パス成分ツリーが256個のメモリ位置からなり、 前記ローパス成分データ値の第1のブロック及びデータ
    値のブロックの関連する第1のハイパス成分ツリーが、
    3個のオクターブサブバンド分解の一部を含むことを特
    徴とする請求項35に記載の方法。
  38. 【請求項38】 前記処理過程が、ローパス成分デー
    タ値の第3のブロック及びデータ値のブロックの関連す
    る第3のハイパス成分ツリーを発生する方法であって、 前記ローパス成分データ値の第3のブロックとデータ値
    のブロックの関連する第3のハイパス成分ツリーを前記
    第4のメモリ内に書き込む過程と、 前記第2の複数個のダイナミックメモリの前記第2のブ
    ロックが読み出されるダイナミックメモリ位置とは異な
    る位置から、ローパス成分データ値の第4のブロック
    を、前記第2の複数個のダイナミックメモリからデータ
    値のブロックの関連する第4のハイパス成分ツリーを、
    各々読み出す過程と、 前記第4のブロックを読み出す前記過程の後、ローパス
    成分データ値の前記第3のブロックとデータ値のブロッ
    クの関連する第3のハイパス成分ツリーを前記第2の複
    数個のダイナミックメモリ内へ書き込む過程とを有する
    ことを特徴とする請求項35に記載の方法。
  39. 【請求項39】 前記処理過程がローパス成分データ
    値の第3のブロックとデータ値のブロックの関連する第
    3のハイパス成分ツリーを発生する方法であって、 ローパス成分データ値の前記第3のブロックとデータ値
    のブロックの関連する第3のハイパス成分ツリーとを前
    記第4のメモリに書き込む過程と、 前記第4のメモリからローパス成分データ値の前記第3
    のブロックとデータ値のブロックの関連する第3のハイ
    パス成分ツリーを読み込み、そしてローパス成分データ
    値の前記第3のブロックとデータ値のブロックの関連す
    る第3のハイパス成分ツリーを前記第2の複数個のダイ
    ナミックメモリ位置に書き込む過程とを有することを特
    徴とする請求項35に記載の方法。
  40. 【請求項40】 ローパス成分データ値の複数個を含
    む第1の複数個のダイナミックメモリ位置から、各々が
    データ値のブロックの3個の関連するハイパス成分ツリ
    ーを有するローパス成分データ値の第1ブロックとデー
    タ値のブロックの関連するブロックのハイパス成分ツリ
    ーを読み込む過程と、 前記第1複数個のダイナミックメモリ位置から読み込ま
    れるローパス成分データ値の第1のブロックデータ値の
    ブロック関連する第1のハイパス成分ツリーを第2のメ
    モリに書き込む過程と、 符号化されたデータストリームを利用してローパス成分
    データ値の第2のブロックとデータ値のブロックの関連
    するハイパス成分ツリーを発生するべく、前記符号化さ
    れたデータストリームを受信する過程と、 ローパス成分データ値の前記第2のブロックとデータ値
    のブロックの関連する第2のハイパス成分ツリーを前記
    第2のメモリに書き込む過程と、 前記第2のメモリからのローパス成分データ値のブロッ
    クの関連する第2のハイパス成分ツリーを読み込み、ロ
    ーパス成分データ値の前記第2のブロックとデータ値の
    ブロックの関連する第2のハイパス成分ツリーを前記第
    2の複数個のダイナミックメモリ位置に書き込む過程と
    を有することを特徴とする方法。
  41. 【請求項41】 第1の時間間隔の間、コンボルバ内
    に於てスタティックランダムアクセスメモリの複数個の
    メモリ位置をライン遅れとして使用する過程と、 第2の時間間隔の間、前記複数個のメモリ位置を使用し
    てローパス成分データ値のブロックとデータ値のブロッ
    ク関連するハイパス成分ツリーを記憶する過程とを有す
    ることを特徴とする方法。
  42. 【請求項42】 トークンと変換画像データ値とを含む
    入力データストリームを受信し、量子化されたデータス
    トリーム及び逆量子化されたデータストリームを発生す
    る第1の回路と、 前記量子化されたデータストリームを受信し、前記第1
    の回路によって発生される前記逆量子化されたデータス
    トリームと同一である逆量子化されたデータストリーム
    を発生する第2の回路とを有することを特徴とするシス
    テム。
  43. 【請求項43】 前記第1の回路が、 前記入力データストリームからのモード制御信号を発生
    する手段と、 前記入力データストリーム及び前記モード制御信号の前
    記変換された画像データ値を受信し、前記モード制御信
    号に依拠して第1の量子化方法及び第2の量子化方法の
    1つを使用し前記変換画像データ値を前記量子化データ
    ストリームに量子化すると共に前記量子化データストリ
    ームからの前記逆量子化されたデータストリームを発生
    する量子化手段と、 前記量子化データストリームから圧縮データストリーム
    を発生する手段とを有し、 前記第2の回路が、 前記圧縮データストリームからモード制御信号を発生す
    る手段と、 前記圧縮データストリームから量子化データ値を発生す
    る手段と、 前記前記圧縮データストリームと前記モード制御信号の
    前記量子化データ値を受信し、前記量子化データ値をデ
    ータストリームに逆量子化する量子化手段とを有するこ
    とを特徴とする請求項42に記載のシステム。
  44. 【請求項44】 サブバンド分解をトラバースするア
    ドレスを発生する回路であって、 第1のカウントイネーブル信号を受信し、前記アドレス
    を含む第1の複数個のカウント出力信号を発生し、そし
    て第1の搬出信号を発生する第1のカウンタと、 第2のカウントイネーブル信号を受信し、前記アドレス
    を含む第2の複数個のカウント出力信号を発生し、そし
    て第2の搬出信号を発生する第2のカウンタと、 第3のカウントイネーブル信号を受信し、前記アドレス
    を含む第3の複数個のカウント出力信号を発生し、そし
    て第3の搬出信号を発生する第3のカウンタと、 第4のカウントイネーブル信号を受信し、前記アドレス
    を含む第4の複数個のカウント出力信号を発生し、そし
    て第4の搬出信号を発生する第4のカウンタと、 前記第1、第2、第3及び第4の搬出信号を受信し前記
    第1、第2、第3及び第4のカウントイネーブル信号を
    発生する手段とを有することを特徴とする、サブバンド
    分解をトラバースするアドレスを発生する回路。
  45. 【請求項45】 前記サブバンド分解が、3個のハイ
    パスサブバンドを含み、 前記第1の複数個のカウント出力信号が、ツリーのルー
    トのXアドレスの表示であり、 前記第2の複数個とカウント出力信号が、前記ツリーの
    前記値のYアドレスの表示であり、 前記ツリーがデータ値のブロックの複数個を含み、 前記第3の複数個のカウント出力信号が、前記ツリーの
    データ値のブロック内のデータ値のアドレスの表示であ
    り、 前記第4の複数個のカウント出力信号が、前記ツリーの
    サブバンドの表示であることを特徴とする請求項44に
    記載の回路。
JP6083939A 1993-03-30 1994-03-30 ウェーブレット変換方法及びウェーブレット変換回路 Pending JPH07168809A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US08/040,301 US5546477A (en) 1993-03-30 1993-03-30 Data compression and decompression
US10074793A 1993-07-30 1993-07-30
US13057193A 1993-10-01 1993-10-01
US08/040,301 1993-10-01
US08/100,747 1993-10-01
US08/130,571 1993-10-01

Publications (1)

Publication Number Publication Date
JPH07168809A true JPH07168809A (ja) 1995-07-04

Family

ID=27365694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6083939A Pending JPH07168809A (ja) 1993-03-30 1994-03-30 ウェーブレット変換方法及びウェーブレット変換回路

Country Status (3)

Country Link
US (1) US6118902A (ja)
EP (1) EP0622741A3 (ja)
JP (1) JPH07168809A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033355A (ko) * 2014-07-16 2017-03-24 얌쯔 아이피 비브이 4k 및 8k 애플리케이션을 위한 다중 비디오 압축, 압축 해제, 및 디스플레이

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2180240A1 (en) * 1994-01-14 1995-07-20 Charles K. Chui Boundary-spline-wavelet compression for video images
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6549666B1 (en) 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6229927B1 (en) * 1994-09-21 2001-05-08 Ricoh Company, Ltd. Reversible embedded wavelet system implementation
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
US6757437B1 (en) * 1994-09-21 2004-06-29 Ricoh Co., Ltd. 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
US6195465B1 (en) 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6847403B1 (en) * 1997-11-05 2005-01-25 Polycom, Inc. Integrated portable videoconferencing unit
US6044172A (en) * 1997-12-22 2000-03-28 Ricoh Company Ltd. Method and apparatus for reversible color conversion
US6516029B1 (en) * 1998-03-06 2003-02-04 Divio, Inc. Method and apparatus for adaptive video encoding
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network
US7024046B2 (en) 2000-04-18 2006-04-04 Real Time Image Ltd. System and method for the lossless progressive streaming of images over a communication network
EP1229738B1 (en) * 2000-11-10 2011-03-09 Ricoh Company, Ltd. Image decompression from transform coefficients
US6684235B1 (en) * 2000-11-28 2004-01-27 Xilinx, Inc. One-dimensional wavelet system and method
WO2002045004A1 (en) * 2000-12-01 2002-06-06 Lizardtech, Inc. Method of image processing utilizing a pipelined inverse wavelet transform
WO2002048966A1 (en) 2000-12-14 2002-06-20 Rtimage Inc. Three-dimensional image streaming system and method for medical images
US20030055856A1 (en) * 2001-09-19 2003-03-20 Mccanny Paul Gerard Architecture component and method for performing discrete wavelet transforms
JP4267848B2 (ja) * 2001-09-25 2009-05-27 株式会社リコー 画像符号化装置、画像復号装置、画像符号化方法、及び、画像復号方法
US7239754B2 (en) * 2002-07-16 2007-07-03 Hiroshi Akimoto Method, apparatus and system for compressing still images in multipurpose compression systems
EP1585060A1 (en) * 2004-04-06 2005-10-12 Visiowave S.A. Subband video coding with temporal prediction
US7882462B2 (en) * 2006-09-11 2011-02-01 The Mathworks, Inc. Hardware definition language generation for frame-based processing
US8666194B2 (en) 2009-08-28 2014-03-04 Adobe Systems Incorporated System and method for editing frequency content of images
US8694947B1 (en) 2009-12-09 2014-04-08 The Mathworks, Inc. Resource sharing workflows within executable graphical models
US9436441B1 (en) 2010-12-08 2016-09-06 The Mathworks, Inc. Systems and methods for hardware resource sharing
US8494290B2 (en) * 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US9355000B1 (en) 2011-08-23 2016-05-31 The Mathworks, Inc. Model level power consumption optimization in hardware description generation
US20140064366A1 (en) * 2012-09-03 2014-03-06 Texas Instruments Incorporated Intra-Prediction Estimation Using Approximate Reconstructed Samples
US10078717B1 (en) 2013-12-05 2018-09-18 The Mathworks, Inc. Systems and methods for estimating performance characteristics of hardware implementations of executable models
US10261760B1 (en) 2013-12-05 2019-04-16 The Mathworks, Inc. Systems and methods for tracing performance information from hardware realizations to models
US9716888B2 (en) * 2014-03-26 2017-07-25 Vixs Systems, Inc. Video processing with static and dynamic regions and method for use therewith
US10423733B1 (en) 2015-12-03 2019-09-24 The Mathworks, Inc. Systems and methods for sharing resources having different data types
US9858636B1 (en) 2016-06-30 2018-01-02 Apple Inc. Configurable convolution engine
US10176551B2 (en) 2017-04-27 2019-01-08 Apple Inc. Configurable convolution engine for interleaved channel data
US10325342B2 (en) * 2017-04-27 2019-06-18 Apple Inc. Convolution engine for merging interleaved channel data

Family Cites Families (42)

* 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
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
US4599567A (en) * 1983-07-29 1986-07-08 Enelf Inc. Signal representation generator
US4701006A (en) * 1985-02-20 1987-10-20 Stanford University Optical-digital hologram recording
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
US4663660A (en) * 1986-06-20 1987-05-05 Rca Corporation Compressed quantized image-data transmission technique suitable for use in teleconferencing
GB2197766B (en) * 1986-11-17 1990-07-25 Sony Corp Two-dimensional finite impulse response filter arrangements
US4817182A (en) * 1987-05-04 1989-03-28 General Electric Company Truncated subband coding of images
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
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
US5095447A (en) * 1988-03-25 1992-03-10 Texas Instruments Incorporated Color overlay of scanned and reference images for display
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
US4979223A (en) * 1988-03-25 1990-12-18 Texas Instruments Incorporated Data handling system for pattern inspector or writer
US5018210A (en) * 1988-03-25 1991-05-21 Texas Instruments Incorporated Pattern comparator with substage illumination and polygonal data representation
US4897717A (en) * 1988-03-30 1990-01-30 Starsignal, Inc. Computer-based video compression system
US4982283A (en) * 1988-05-06 1991-01-01 General Electric Company Line-sequential pyramid processing of a plurality of raster-scanned image variables
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
FR2643986B1 (fr) * 1989-03-03 1991-05-17 Thomson Csf Procede d'analyse d'un signal par ondelettes
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
US5014134A (en) * 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus
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
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
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
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
JP2945487B2 (ja) * 1990-12-26 1999-09-06 株式会社日立製作所 行列乗算器
US5121191A (en) * 1991-03-15 1992-06-09 Aware, Inc. Method and apparatus for coding motion pictures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033355A (ko) * 2014-07-16 2017-03-24 얌쯔 아이피 비브이 4k 및 8k 애플리케이션을 위한 다중 비디오 압축, 압축 해제, 및 디스플레이

Also Published As

Publication number Publication date
US6118902A (en) 2000-09-12
EP0622741A2 (en) 1994-11-02
EP0622741A3 (en) 1998-12-30

Similar Documents

Publication Publication Date Title
JPH07168809A (ja) ウェーブレット変換方法及びウェーブレット変換回路
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
US5661822A (en) Data compression and decompression
US5546477A (en) Data compression and decompression
US5859788A (en) Modulated lapped transform method
US5710835A (en) Storage and retrieval of large digital images
US6301392B1 (en) Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage
US6101279A (en) Image compression system using block transforms and tree-type coefficient truncation
US6026217A (en) Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval
JP4493215B2 (ja) ウェーブレット係数の方向性予測コード化法を用いた画像圧縮
US6603814B2 (en) Video compression scheme using wavelets
JPH09507730A (ja) ビデオ・イメージに対する境界スプライン・ウエーブレット圧縮
JP2002516540A (ja) 知覚的に無損失の画像をもたらす2次元離散ウェーブレット変換に基づくカラー画像の圧縮
JP2002501709A (ja) ウェーブレットに基づくデータ圧縮を行う方法及び装置
JPH11501420A (ja) Jpeg画像圧縮標準を実現するvlsi回路構造体
JPH08116265A (ja) 符号化方法、符号化/復号方法及び復号方法
US6996595B2 (en) Apparatus and method for consolidating output data from a plurality of processors
US6523051B1 (en) Digital signal transformation device and method
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
US20050232349A1 (en) Compressing video frames
Lienhart et al. An FPGA-based video compressor for H. 263 compatible bit streams
Marino et al. Wavelet-based perceptually lossless coding of RGB images
Rao et al. Implementation of a 2D-DWT system architecture for JPEG2000 using MATLAB and DSP
US6327601B1 (en) Linear transform system for decoding video data
WO2001010130A1 (en) Method and device for pyramidal image coding