JPH11225075A - 符号化方法及び装置 - Google Patents
符号化方法及び装置Info
- Publication number
- JPH11225075A JPH11225075A JP10274700A JP27470098A JPH11225075A JP H11225075 A JPH11225075 A JP H11225075A JP 10274700 A JP10274700 A JP 10274700A JP 27470098 A JP27470098 A JP 27470098A JP H11225075 A JPH11225075 A JP H11225075A
- Authority
- JP
- Japan
- Prior art keywords
- coefficients
- coefficient
- encoding
- bit
- tree
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/647—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】 (修正有)
【課題】符号化のスピードを実質的に増大させるため
に、一連のウエーブレット係数の効率的で効果的な符号
化を提供する。 【解決手段】所定サイズの一連のウエーブレット係数を
コンパクト表現の係数に符号化する符号化装置であっ
て、係数値を示すリーフ・ノードと、リーフノードを符
号化するために必要なビットの数を示す内部ノードと、
カレント内部ノードの子ノードとを有する係数のツリー
表現を構成し、ツリー表現形式をツリー・バッファ手段
に格納するツリー構成手段と、ツリー形式表現を格納す
るツリー・バッファ手段と、ツリーバッファ手段に内部
接続され、カレント・ツリー形式表現をリードし、その
符号化結果を出力するツリー符号化手段とを備え、ツリ
ー・バッファ手段は、少なくとも2つのツリー形式表現
を格納する手段を有する。
に、一連のウエーブレット係数の効率的で効果的な符号
化を提供する。 【解決手段】所定サイズの一連のウエーブレット係数を
コンパクト表現の係数に符号化する符号化装置であっ
て、係数値を示すリーフ・ノードと、リーフノードを符
号化するために必要なビットの数を示す内部ノードと、
カレント内部ノードの子ノードとを有する係数のツリー
表現を構成し、ツリー表現形式をツリー・バッファ手段
に格納するツリー構成手段と、ツリー形式表現を格納す
るツリー・バッファ手段と、ツリーバッファ手段に内部
接続され、カレント・ツリー形式表現をリードし、その
符号化結果を出力するツリー符号化手段とを備え、ツリ
ー・バッファ手段は、少なくとも2つのツリー形式表現
を格納する手段を有する。
Description
【0001】
【発明の属する技術分野】本発明は、データ圧縮の分野
に係り、特に、圧縮処理の結果として構成される、係数
を符号化するためのアーキテクチャを開示する。
に係り、特に、圧縮処理の結果として構成される、係数
を符号化するためのアーキテクチャを開示する。
【0002】
【発明の背景】デジタルのデータ圧縮、特にデジタル画
像の圧縮の分野は、大きな脚光を浴びている。
像の圧縮の分野は、大きな脚光を浴びている。
【0003】デジタル画像の圧縮の分野では、種々の技
術が利用されている。特に、1つのポピュラーな技術
が、標準のサイズブロックの画像を対応するコサイン成
分に変換する離散コサイン変換を利用するJPEG標準であ
る。この点において、高周波のコサイン成分は、実質的
な圧縮要因を得ることを補助するために重めに量子化さ
れる。この重めの量子化は、画像圧縮の”ロッシー”技
術の一例である。JPEG標準はまた、変換された係数の次
のロスレス圧縮を供される。
術が利用されている。特に、1つのポピュラーな技術
が、標準のサイズブロックの画像を対応するコサイン成
分に変換する離散コサイン変換を利用するJPEG標準であ
る。この点において、高周波のコサイン成分は、実質的
な圧縮要因を得ることを補助するために重めに量子化さ
れる。この重めの量子化は、画像圧縮の”ロッシー”技
術の一例である。JPEG標準はまた、変換された係数の次
のロスレス圧縮を供される。
【0004】最近、ウエーブレット変換が、データ圧縮
の他の手法として大きな脚光を浴びている。ウエーブレ
ット変換は、鋭いエッジのような不連続性を有するデー
タの表現に非常に適している。このような鋭いエッジ
は、画像データ等の中にしばしば存在する。
の他の手法として大きな脚光を浴びている。ウエーブレ
ット変換は、鋭いエッジのような不連続性を有するデー
タの表現に非常に適している。このような鋭いエッジ
は、画像データ等の中にしばしば存在する。
【0005】本発明の好適な実施の形態は、画像データ
の圧縮に関して説明されるが、好適な実施の形態がそれ
に限定されないことは自明である。信号へのウエーブレ
ット解析の様々な応用例に関して、IEEE Spectrumの199
6年10月26-35ページに記載されたBruce et.al.による
「Wavelet Analysis」という表題の調査記事がある。コ
ンピュータ・グラフィックスにおけるウエーブレットの
応用の議論に関して、Morgan Kaufmann Publishers, In
cが1996年に出版した「"Wavelets for ComputerGaphic
s", I. Stollinitz et. al.」がある。
の圧縮に関して説明されるが、好適な実施の形態がそれ
に限定されないことは自明である。信号へのウエーブレ
ット解析の様々な応用例に関して、IEEE Spectrumの199
6年10月26-35ページに記載されたBruce et.al.による
「Wavelet Analysis」という表題の調査記事がある。コ
ンピュータ・グラフィックスにおけるウエーブレットの
応用の議論に関して、Morgan Kaufmann Publishers, In
cが1996年に出版した「"Wavelets for ComputerGaphic
s", I. Stollinitz et. al.」がある。
【0006】符号化のスピードを実質的に増大させるた
めには、一連のウエーブレット係数の効率的で効果的な
符号化を提供するハードウエアのエンコーダ及び方法を
提供することが望ましい。
めには、一連のウエーブレット係数の効率的で効果的な
符号化を提供するハードウエアのエンコーダ及び方法を
提供することが望ましい。
【0007】
【発明の特徴】本発明の第1の特徴によれば、所定サイ
ズの一連の係数を前記係数のコンパクト表現の係数に符
号化する符号化装置であって、係数値を示すリーフ・ノ
ードと、リーフノードを符号化するために必要なビット
の数を示す内部ノードと、カレント内部ノードの子ノー
ドとを有する前記係数のツリー表現を構成するツリー構
成手段と、構成された前記ツリー表現を符号化して前記
係数の前記コンパクト表現を含むデータのストリームを
生成するツリー符号化手段と、を備える符号化装置が提
供される。
ズの一連の係数を前記係数のコンパクト表現の係数に符
号化する符号化装置であって、係数値を示すリーフ・ノ
ードと、リーフノードを符号化するために必要なビット
の数を示す内部ノードと、カレント内部ノードの子ノー
ドとを有する前記係数のツリー表現を構成するツリー構
成手段と、構成された前記ツリー表現を符号化して前記
係数の前記コンパクト表現を含むデータのストリームを
生成するツリー符号化手段と、を備える符号化装置が提
供される。
【0008】本発明の他の特徴によれば、所定サイズの
一連の係数をコンパクト表現の係数に符号化する符号化
方法であって、係数値を示すリーフ・ノードと、リーフ
・ノードを符号化するために必要なビットの数を示す内
部ノードと、カレント内部ノードの子ノードとを有する
前記係数のツリー表現を構成する構成ステップと、構成
された前記ツリー表現を符号化して前記係数の前記コン
パクト表現を含むデータのストリームを生成する符号化
ステップと、を含む符号化方法が提供される。
一連の係数をコンパクト表現の係数に符号化する符号化
方法であって、係数値を示すリーフ・ノードと、リーフ
・ノードを符号化するために必要なビットの数を示す内
部ノードと、カレント内部ノードの子ノードとを有する
前記係数のツリー表現を構成する構成ステップと、構成
された前記ツリー表現を符号化して前記係数の前記コン
パクト表現を含むデータのストリームを生成する符号化
ステップと、を含む符号化方法が提供される。
【0009】本発明の更に他の特徴によれば、所定サイ
ズの一連の係数をコンパクト表現の係数に符号化するた
めのコンピュータ・プログラムを記録したコンピュータ
読取可能な媒体を含むコンピュータ・プログラム・プロ
ダクトであって、係数値を示すリーフ・ノードと、リー
フ・ノードを符号化するために必要なビットの数を示す
内部ノードと、カレント内部ノードの子ノードとを有す
る前記係数のツリー表現を構成するツリー構成手段と、
構成された前記ツリー表現を符号化して前記係数の前記
コンパクト表現を含むデータのストリームを生成するツ
リー符号化手段と、を備えるコンピュータ・プログラム
・プロダクトが提供される。
ズの一連の係数をコンパクト表現の係数に符号化するた
めのコンピュータ・プログラムを記録したコンピュータ
読取可能な媒体を含むコンピュータ・プログラム・プロ
ダクトであって、係数値を示すリーフ・ノードと、リー
フ・ノードを符号化するために必要なビットの数を示す
内部ノードと、カレント内部ノードの子ノードとを有す
る前記係数のツリー表現を構成するツリー構成手段と、
構成された前記ツリー表現を符号化して前記係数の前記
コンパクト表現を含むデータのストリームを生成するツ
リー符号化手段と、を備えるコンピュータ・プログラム
・プロダクトが提供される。
【0010】本発明の他の特徴によれば、一連の係数か
ら符号化されたビット・ストリームを生成する符号化装
置であって、前記一連の係数を入力するビット・プレー
ン入力手段と、前記ビット・プレーン入力手段と他の手
段に内部接続され、前記係数をフィルタリングして所定
数のグループにし、更に、各グループ内の係数をフィル
タリングして先行ゼロ部分と非先行ゼロ部分とにし、ビ
ット・プレーン部によってビット・プレーン内のビット
・データを出力し、更に、前記グループ分けを示す信号
を出力する、複数のビット・データ有効性部と、前記ビ
ット・データ有効性部の前記出力に従って、前記符号化
されたビット・ストリームをパックして連続したストリ
ームとするパッキング・ロジック手段と、を備える符号
化装置が提供される。
ら符号化されたビット・ストリームを生成する符号化装
置であって、前記一連の係数を入力するビット・プレー
ン入力手段と、前記ビット・プレーン入力手段と他の手
段に内部接続され、前記係数をフィルタリングして所定
数のグループにし、更に、各グループ内の係数をフィル
タリングして先行ゼロ部分と非先行ゼロ部分とにし、ビ
ット・プレーン部によってビット・プレーン内のビット
・データを出力し、更に、前記グループ分けを示す信号
を出力する、複数のビット・データ有効性部と、前記ビ
ット・データ有効性部の前記出力に従って、前記符号化
されたビット・ストリームをパックして連続したストリ
ームとするパッキング・ロジック手段と、を備える符号
化装置が提供される。
【0011】本発明の更に他の特徴によれば、一連の係
数から符号化されたビット・ストリームを生成する符号
化方法であって、前記一連の係数を入力するステップ
と、前記係数データを所定数のビット・プレーンにグル
ープ分けするステップと、各グループ内の係数を先行ゼ
ロ部分と非先行ゼロ部分とにグループ分けするステップ
と、ビット・プレーン内の一連のビット・データを出力
するステップと、各グループ内の前記係数の前記グルー
プ分けを示すデータ有効ビットを出力するステップと、
前記データ有効ビットを使用して前記一連の係数をパッ
クして前記符号化されたビット・ストリームを生成する
ステップと、を含む符号化方法が提供される。
数から符号化されたビット・ストリームを生成する符号
化方法であって、前記一連の係数を入力するステップ
と、前記係数データを所定数のビット・プレーンにグル
ープ分けするステップと、各グループ内の係数を先行ゼ
ロ部分と非先行ゼロ部分とにグループ分けするステップ
と、ビット・プレーン内の一連のビット・データを出力
するステップと、各グループ内の前記係数の前記グルー
プ分けを示すデータ有効ビットを出力するステップと、
前記データ有効ビットを使用して前記一連の係数をパッ
クして前記符号化されたビット・ストリームを生成する
ステップと、を含む符号化方法が提供される。
【0012】本発明の他の特徴によれば、一連の係数か
ら符号化されたビット・ストリームを生成するためのコ
ンピュータ・プログラムが記録されたコンピュータ読取
可能な媒体を含むコンピュータ・プログラム・プロダク
トであって、前記一連の係数を入力する入力手段と、前
記係数データを所定数のビット・プレーンにグループ分
けする第1グループ手段と、各グループ内の係数を先行
ゼロ部分と非先行ゼロ部分とにグループ分けする第2グ
ループ手段と、ビット・プレーンのグループ内の前記一
連の係数を出力する出力手段と、各グループ内の前記係
数の前記グループ分けを示すデータ有効ビットを出力す
る出力手段と、出力データ有効ビットを使用して前記一
連の係数をパックして、前記符号化されたビット・スト
リームを生成するパッキング手段と、を含むコンピュー
タ・プログラム・プロダクトが提供される。
ら符号化されたビット・ストリームを生成するためのコ
ンピュータ・プログラムが記録されたコンピュータ読取
可能な媒体を含むコンピュータ・プログラム・プロダク
トであって、前記一連の係数を入力する入力手段と、前
記係数データを所定数のビット・プレーンにグループ分
けする第1グループ手段と、各グループ内の係数を先行
ゼロ部分と非先行ゼロ部分とにグループ分けする第2グ
ループ手段と、ビット・プレーンのグループ内の前記一
連の係数を出力する出力手段と、各グループ内の前記係
数の前記グループ分けを示すデータ有効ビットを出力す
る出力手段と、出力データ有効ビットを使用して前記一
連の係数をパックして、前記符号化されたビット・スト
リームを生成するパッキング手段と、を含むコンピュー
タ・プログラム・プロダクトが提供される。
【0013】本発明の更に他の特徴によれば、係数スト
リームを含む一連の係数であって、各係数が所定数のビ
ットで表現される一連の係数から、符号化されたビット
・ストリームを生成する符号化方法であって、前記係数
をビット・プレーンと同時に入力するステップと、前記
ビット・プレーンから前記係数の各々の最も有意なビッ
トを決定するステップと、最も有意な係数よりも小さい
前記係数の部分を格納するステップと、前記最も有意な
ビットの決定結果と前記係数の前記部分を利用して、イ
ンターリーブされた係数マグニチュード部分のストリー
ムと係数部分のストリームとを含む前記係数ストリーム
の複合可能なインターリーブされたコンパクト形式を符
号化するステップと、を含む符号化方法が提供される。
リームを含む一連の係数であって、各係数が所定数のビ
ットで表現される一連の係数から、符号化されたビット
・ストリームを生成する符号化方法であって、前記係数
をビット・プレーンと同時に入力するステップと、前記
ビット・プレーンから前記係数の各々の最も有意なビッ
トを決定するステップと、最も有意な係数よりも小さい
前記係数の部分を格納するステップと、前記最も有意な
ビットの決定結果と前記係数の前記部分を利用して、イ
ンターリーブされた係数マグニチュード部分のストリー
ムと係数部分のストリームとを含む前記係数ストリーム
の複合可能なインターリーブされたコンパクト形式を符
号化するステップと、を含む符号化方法が提供される。
【0014】本発明の更に他の特徴によれば、一連の係
数を符号化する符号化装置であって、前記一連の係数を
1つのビット・プレーンと同時に入力する入力手段と、
前記入力手段に内部接続され、前記係数の各々の最も有
意なビットを決定し格納するビット・プレーン・マグニ
チュード決定手段と、前記入力手段に内部接続され、前
記係数の有意性の低い係数を格納する係数格納手段と、
前記ビット・プレーン・マグニチュード決定手段及び前
記係数格納手段に内部接続され、値をリードして、イン
ターリーブされた係数マグニチュード部分のストリーム
と係数部分のストリームとを含む前記係数の復号可能な
インターリーブされたコンパクト形式を生成する画素パ
ッカー手段と、を備える符号化装置が提供される。
数を符号化する符号化装置であって、前記一連の係数を
1つのビット・プレーンと同時に入力する入力手段と、
前記入力手段に内部接続され、前記係数の各々の最も有
意なビットを決定し格納するビット・プレーン・マグニ
チュード決定手段と、前記入力手段に内部接続され、前
記係数の有意性の低い係数を格納する係数格納手段と、
前記ビット・プレーン・マグニチュード決定手段及び前
記係数格納手段に内部接続され、値をリードして、イン
ターリーブされた係数マグニチュード部分のストリーム
と係数部分のストリームとを含む前記係数の復号可能な
インターリーブされたコンパクト形式を生成する画素パ
ッカー手段と、を備える符号化装置が提供される。
【0015】本発明の更に他の特徴によれば、係数スト
リームを含む一連の係数であって、各係数が所定数のビ
ットによって表現される係数ストリームを符号化するた
めのコンピュータ・プログラムが記録されたコンピュー
タ読取可能な媒体を含むコンピュータ・プログラム・プ
ロダクトであって、前記係数をビット・プレーンと同時
に入力する入力手段と、前記ビット・プレーンから前記
係数の各々の最も有意なビットを決定する決定手段と、
最も有意なビットよりも小さい前記係数の部分を格納す
る格納手段と、前記最も有意なビット及び前記係数の前
記部分を利用して、インターリーブされた係数マグニチ
ュード部分のストリームと係数部分のストリームとを含
む前記係数を復号可能なインターリーブされたコンパク
ト形式に符号化する符号化手段と、を含むコンピュータ
・プログラム・プロダクトが提供される。
リームを含む一連の係数であって、各係数が所定数のビ
ットによって表現される係数ストリームを符号化するた
めのコンピュータ・プログラムが記録されたコンピュー
タ読取可能な媒体を含むコンピュータ・プログラム・プ
ロダクトであって、前記係数をビット・プレーンと同時
に入力する入力手段と、前記ビット・プレーンから前記
係数の各々の最も有意なビットを決定する決定手段と、
最も有意なビットよりも小さい前記係数の部分を格納す
る格納手段と、前記最も有意なビット及び前記係数の前
記部分を利用して、インターリーブされた係数マグニチ
ュード部分のストリームと係数部分のストリームとを含
む前記係数を復号可能なインターリーブされたコンパク
ト形式に符号化する符号化手段と、を含むコンピュータ
・プログラム・プロダクトが提供される。
【0016】
【発明の詳細な説明】この明細書では、1又はそれ以上
の添付図面において同一の参照符号が付されたステップ
及び/又は特徴が記載されているが、特段の言及がない
限り、これらの同一の参照符号が付されたステップ及び
/又は特徴は、同一の機能及び/又は動作を示す。
の添付図面において同一の参照符号が付されたステップ
及び/又は特徴が記載されているが、特段の言及がない
限り、これらの同一の参照符号が付されたステップ及び
/又は特徴は、同一の機能及び/又は動作を示す。
【0017】好適な実施の形態の説明の前に、オースト
ラリアの仮特許出願PO 4728号において開示された画像
圧縮及び解凍について説明する。この出願のタイトル
は、「A method for Digital Image Compression」であ
り、1997年1月22日に、キャノン・インフォメーション
・システムズ・リサーチ・オーストラリア・プロプライ
エタリー・リミテッドにより出願された。この圧縮及び
解凍の方法は、以下の「1.0 SWEET画像圧縮方法の概
要」、「1.1 第1のSWEET画像圧縮方法の符号化処
理」、「1.2第1のSWEET画像圧縮方法の復号処理」、
「1.3 2次元の例」、「1.4 第2のSWEET画像圧縮方法
の符号化処理」として説明されている。
ラリアの仮特許出願PO 4728号において開示された画像
圧縮及び解凍について説明する。この出願のタイトル
は、「A method for Digital Image Compression」であ
り、1997年1月22日に、キャノン・インフォメーション
・システムズ・リサーチ・オーストラリア・プロプライ
エタリー・リミテッドにより出願された。この圧縮及び
解凍の方法は、以下の「1.0 SWEET画像圧縮方法の概
要」、「1.1 第1のSWEET画像圧縮方法の符号化処
理」、「1.2第1のSWEET画像圧縮方法の復号処理」、
「1.3 2次元の例」、「1.4 第2のSWEET画像圧縮方法
の符号化処理」として説明されている。
【0018】[1.0 SWEET画像圧縮方法の概要]この符
号化方法に係る実施の形態の概要を説明するため、その
上位階層のブロック図を図1に示す。入力画像102は
望ましい線形変換を行う変換ブロック110に提供され
て、対応する変換係数112を生成する。本発明の好適
な実施の形態では離散ウェーブレット変換(DWT)が
用いられる。
号化方法に係る実施の形態の概要を説明するため、その
上位階層のブロック図を図1に示す。入力画像102は
望ましい線形変換を行う変換ブロック110に提供され
て、対応する変換係数112を生成する。本発明の好適
な実施の形態では離散ウェーブレット変換(DWT)が
用いられる。
【0019】画像の2次元DWTは画像に対する低周波
近似と3つの高周波細部コンポーネントを用いて画像を
表現する変換である。従来、これらのコンポーネントは
サブバンドと呼ばれている。DWTで形成された4枚の
部分画像の各々は元画像のサイズの1/4である。低周
波画像は元画像についての情報の大半を含む。この情
報、またはエネルギー・コンパクションは、画像圧縮に
活用される離散ウェーブレット変換画像サブバンドの特
徴である。
近似と3つの高周波細部コンポーネントを用いて画像を
表現する変換である。従来、これらのコンポーネントは
サブバンドと呼ばれている。DWTで形成された4枚の
部分画像の各々は元画像のサイズの1/4である。低周
波画像は元画像についての情報の大半を含む。この情
報、またはエネルギー・コンパクションは、画像圧縮に
活用される離散ウェーブレット変換画像サブバンドの特
徴である。
【0020】単一レベルDWTを低周波画像、またはサ
ブバンドに対して再帰的に任意の反復回数だけ適用でき
る。例えば、画像の3レベルDWTは、1回変換を適用
してから変換によって得られた低周波サブバンドにDW
Tを適用することで得られる。つまり、これにより9個
の細かいサブバンドと1つの(非常に)低周波のサブバ
ンドが得られる。3レベルDWTの後でも、得られた低
周波サブバンドは元画像についての相当量の情報を含ん
でおり、なおかつ64分の1の小ささ(1/4×1/4
×1/4)であることから、圧縮において64のファク
ターに影響を与える。
ブバンドに対して再帰的に任意の反復回数だけ適用でき
る。例えば、画像の3レベルDWTは、1回変換を適用
してから変換によって得られた低周波サブバンドにDW
Tを適用することで得られる。つまり、これにより9個
の細かいサブバンドと1つの(非常に)低周波のサブバ
ンドが得られる。3レベルDWTの後でも、得られた低
周波サブバンドは元画像についての相当量の情報を含ん
でおり、なおかつ64分の1の小ささ(1/4×1/4
×1/4)であることから、圧縮において64のファク
ターに影響を与える。
【0021】しかし、画像データを非相関させるための
他の線形変換も実行できる。例えば、離散コサイン変換
(DCT)を実行できる。変換係数112、または、さ
らに特定すれば符号化表現122を提供する効率的な方
法でビット再構成ブロック120によりビット・シーケ
ンスが表わす値を符号化する。
他の線形変換も実行できる。例えば、離散コサイン変換
(DCT)を実行できる。変換係数112、または、さ
らに特定すれば符号化表現122を提供する効率的な方
法でビット再構成ブロック120によりビット・シーケ
ンスが表わす値を符号化する。
【0022】復号処理は符号化処理の単なる逆である。
符号化係数は変換係数に復号される。(変換ドメイン
の)画像は逆変換されて元画像、またはそのある程度の
近似を形成する。
符号化係数は変換係数に復号される。(変換ドメイン
の)画像は逆変換されて元画像、またはそのある程度の
近似を形成する。
【0023】本発明の実施の形態の実行について更なる
説明を進める前に、以下で用いる術語の概略を提供す
る。数「ビットn」または「ビット数n」の二進整数表
現は最下位ビットの左側で2進数の桁n番目を表わす。
例えば、8ビットのバイナリ表現を仮定すると、十進数
9は00001001で表わされる。この数で、ビット
3は1に等しく、ビット2,ビット1,ビット0は各々
0,0,1に等しい。変換は複数の列及び行で構成され
た係数マトリクスとして表わされる。更には、それぞれ
の係数は1ビットのシーケンスによって表わされる。概
念的にマトリクスと言う場合には、3つの次元が含まれ
ている。列方向の第1次元、行方向の第2次元、ビット
シーケンス方向の第3次元の3つである。この3次元空
間において、同一のビット番号の各ビット・シーケンス
を通過する1平面は、ビット・プレーンと呼ばれる。
説明を進める前に、以下で用いる術語の概略を提供す
る。数「ビットn」または「ビット数n」の二進整数表
現は最下位ビットの左側で2進数の桁n番目を表わす。
例えば、8ビットのバイナリ表現を仮定すると、十進数
9は00001001で表わされる。この数で、ビット
3は1に等しく、ビット2,ビット1,ビット0は各々
0,0,1に等しい。変換は複数の列及び行で構成され
た係数マトリクスとして表わされる。更には、それぞれ
の係数は1ビットのシーケンスによって表わされる。概
念的にマトリクスと言う場合には、3つの次元が含まれ
ている。列方向の第1次元、行方向の第2次元、ビット
シーケンス方向の第3次元の3つである。この3次元空
間において、同一のビット番号の各ビット・シーケンス
を通過する1平面は、ビット・プレーンと呼ばれる。
【0024】変換符号化のアプリケーションのため、係
数の可能な範囲を表わすために必要とされる係数あたり
のビット数は、線形変換と入力画素の(画素あたりビッ
ト数で)各画素の解像度により決定される。各画素の値
の範囲は代表的には変換係数の大半の値に対して大き
く、大半の係数は先行するゼロの数が多い。例えば、数
値9は8ビット表現で4個のゼロが先行し、16ビット
表現では12個のゼロが先行する。本圧縮方法及び圧縮
装置は、効率的な方法で、係数のブロックに対して、こ
れらの先行するゼロを表現する(または符号化する)。
残りのビットと数値の符号は変更なしに直接符号化され
る。
数の可能な範囲を表わすために必要とされる係数あたり
のビット数は、線形変換と入力画素の(画素あたりビッ
ト数で)各画素の解像度により決定される。各画素の値
の範囲は代表的には変換係数の大半の値に対して大き
く、大半の係数は先行するゼロの数が多い。例えば、数
値9は8ビット表現で4個のゼロが先行し、16ビット
表現では12個のゼロが先行する。本圧縮方法及び圧縮
装置は、効率的な方法で、係数のブロックに対して、こ
れらの先行するゼロを表現する(または符号化する)。
残りのビットと数値の符号は変更なしに直接符号化され
る。
【0025】簡単にいうと、不必要に本発明を不明瞭に
しないために、以降で変換係数は符号なし2進数の形で
符号1ビットをつけて表現されるものと仮定する。つま
り、十進数−9と9は同じビット列即ち1001で表わ
され、前者は1に等しい符号ビットで負の値であること
を表わし、後者は0に等しい符号ビットで正の値を表わ
す。先行するゼロの個数は変換係数の範囲によって決ま
る。整数表現を用いる場合に、係数はすでに暗黙のうち
に最も近い整数値へ量子化されているが、これは本発明
においては必ずしも必要ではない。さらに、圧縮目的
で、小数点以下のビットに含まれる何らかの情報は通常
無視される。
しないために、以降で変換係数は符号なし2進数の形で
符号1ビットをつけて表現されるものと仮定する。つま
り、十進数−9と9は同じビット列即ち1001で表わ
され、前者は1に等しい符号ビットで負の値であること
を表わし、後者は0に等しい符号ビットで正の値を表わ
す。先行するゼロの個数は変換係数の範囲によって決ま
る。整数表現を用いる場合に、係数はすでに暗黙のうち
に最も近い整数値へ量子化されているが、これは本発明
においては必ずしも必要ではない。さらに、圧縮目的
で、小数点以下のビットに含まれる何らかの情報は通常
無視される。
【0026】領域は一組の連続的な画像係数で構成され
る。係数という述語は、以降で画素と相互交換可能なよ
うに使用されるが、当業者には良く理解されるように、
前者は変換ドメイン(例えばDWTドメイン)内の画素
を表わすために用いられるのが代表的である。
る。係数という述語は、以降で画素と相互交換可能なよ
うに使用されるが、当業者には良く理解されるように、
前者は変換ドメイン(例えばDWTドメイン)内の画素
を表わすために用いられるのが代表的である。
【0027】[1.1 第1のSWEET画像圧縮方法
の符号化処理]図3及び図4を参照して、第1の画像圧
縮方法について更に詳細に説明する。
の符号化処理]図3及び図4を参照して、第1の画像圧
縮方法について更に詳細に説明する。
【0028】図3はこの画像符号化方法を示すフローチ
ャートである。ステップ302において、入力画像を用
いて処理が開始される。ステップ304で、入力画像
は、線形変換、望ましくは離散ウェーブレット変換を用
いて変換される。最初の領域は画像全体となるように定
義される。例えば、入力画像の3レベルDWTの場合、
得られる係数は10個のサブバンドから構成され領域と
して指定できる。これ以外に、各々のサブバンドを別々
に処理し、各々の初期領域を注目サブバンド全体に設定
することができる。
ャートである。ステップ302において、入力画像を用
いて処理が開始される。ステップ304で、入力画像
は、線形変換、望ましくは離散ウェーブレット変換を用
いて変換される。最初の領域は画像全体となるように定
義される。例えば、入力画像の3レベルDWTの場合、
得られる係数は10個のサブバンドから構成され領域と
して指定できる。これ以外に、各々のサブバンドを別々
に処理し、各々の初期領域を注目サブバンド全体に設定
することができる。
【0029】ステップ306では、絶対値が最大の変換
係数の最も有意なビット(MSB)が決定され、パラメ
ータmaxBitNumberがこの係数値にセットされる。例え
ば、最大の変換係数が二進数の値00001001(十
進数の9)の場合、パラメータmaxBitNumberは3にセッ
トされるが、これはMSBがビット番号3であるためで
ある。これ以外に、パラメータmaxBitNumberは絶対値が
最大の変換係数のMSBより大きい何らかの値となるよ
うにセットしても良い。
係数の最も有意なビット(MSB)が決定され、パラメ
ータmaxBitNumberがこの係数値にセットされる。例え
ば、最大の変換係数が二進数の値00001001(十
進数の9)の場合、パラメータmaxBitNumberは3にセッ
トされるが、これはMSBがビット番号3であるためで
ある。これ以外に、パラメータmaxBitNumberは絶対値が
最大の変換係数のMSBより大きい何らかの値となるよ
うにセットしても良い。
【0030】さらに、ステップ306で、符号化パラメ
ータminBitNumberが符号化画像品質を指定するようにセ
ットされる。さらに詳しくは、この符号化パラメータ
は、変換される画像の全ての係数の精度を指定し、必要
に応じて変更できる。例えば、minBitNumberが3では、
値が1の場合より元の画像の再現がより粗くなる。
ータminBitNumberが符号化画像品質を指定するようにセ
ットされる。さらに詳しくは、この符号化パラメータ
は、変換される画像の全ての係数の精度を指定し、必要
に応じて変更できる。例えば、minBitNumberが3では、
値が1の場合より元の画像の再現がより粗くなる。
【0031】オプションとして、本技術が入力画像の符
号化表現で出力ヘッダを提供するステップ308を含
む。こうすれば、実際の実行の際、ヘッダ情報は符号化
表現の一部として出力される。例えば、出力ヘッダは、
画像の高さと幅、DWTのレベル数、DCサブバンドの
平均値、パラメータmaxBitNumber、パラメータminBitNu
mberを含むソース画像についての情報を含む。
号化表現で出力ヘッダを提供するステップ308を含
む。こうすれば、実際の実行の際、ヘッダ情報は符号化
表現の一部として出力される。例えば、出力ヘッダは、
画像の高さと幅、DWTのレベル数、DCサブバンドの
平均値、パラメータmaxBitNumber、パラメータminBitNu
mberを含むソース画像についての情報を含む。
【0032】ステップ310が始まると、変換画像の各
々のサブバンドがステップ312とステップ314で別
々に符号化される。各サブバンドは独立して、低周波か
ら高周波の順番に符号化される。DCサブバンドでは、
符号化の前に平均値が除去されステップ308でヘッダ
情報に符号化される。ステップ312では、各々のサブ
バンドはサブバンド全体として初期領域をセットするこ
とにより符号化される。ステップ314では、パラメー
タとしてmaxBitNumberおよびminBitNumberにより領域が
符号化される。これは、画像の低解像度バージョンが高
解像度以前にビットストリームに符号化されるため階層
化コードを提供する。処理はステップ316で終了す
る。
々のサブバンドがステップ312とステップ314で別
々に符号化される。各サブバンドは独立して、低周波か
ら高周波の順番に符号化される。DCサブバンドでは、
符号化の前に平均値が除去されステップ308でヘッダ
情報に符号化される。ステップ312では、各々のサブ
バンドはサブバンド全体として初期領域をセットするこ
とにより符号化される。ステップ314では、パラメー
タとしてmaxBitNumberおよびminBitNumberにより領域が
符号化される。これは、画像の低解像度バージョンが高
解像度以前にビットストリームに符号化されるため階層
化コードを提供する。処理はステップ316で終了す
る。
【0033】図4は各々の領域を符号化するために図3
のステップ314でコールされる手順"Code region(cur
rentBitNumber,minBitNumber)の詳細なフローチャート
である。ここでmaxBitNumberがcurrentBitNumberとして
提供される。ステップ402で処理が始まる。図4の領
域符号化処理への入力はcurrentBitNumberとminBitNumb
erパラメータを含む。望ましくは、本方法は、選択され
た領域または部分領域で処理がそれ自体をコールできる
ような再帰的技術として実行される。しかし、処理は非
再帰的な方法で実行してもよい。
のステップ314でコールされる手順"Code region(cur
rentBitNumber,minBitNumber)の詳細なフローチャート
である。ここでmaxBitNumberがcurrentBitNumberとして
提供される。ステップ402で処理が始まる。図4の領
域符号化処理への入力はcurrentBitNumberとminBitNumb
erパラメータを含む。望ましくは、本方法は、選択され
た領域または部分領域で処理がそれ自体をコールできる
ような再帰的技術として実行される。しかし、処理は非
再帰的な方法で実行してもよい。
【0034】決定ブロック404で、currentBitNumber
パラメータがminBitNumberパラメータより小さいか判定
するチェックを行なう。それ以外に、決定ブロック40
4が真(イエス)を返す場合には何も行なわずに処理は
ステップ406の呼び出し手順に戻る。この条件は、選
択された領域のあらゆる係数がminBitNumberより小さい
MSB番号を有することを表わしている。決定ブロック
404が偽(ノー)を返す場合、処理は決定ブロック4
08に進む。
パラメータがminBitNumberパラメータより小さいか判定
するチェックを行なう。それ以外に、決定ブロック40
4が真(イエス)を返す場合には何も行なわずに処理は
ステップ406の呼び出し手順に戻る。この条件は、選
択された領域のあらゆる係数がminBitNumberより小さい
MSB番号を有することを表わしている。決定ブロック
404が偽(ノー)を返す場合、処理は決定ブロック4
08に進む。
【0035】決定ブロック408では、選択された領域
が1×1画素か調べるチェックを行なう。決定ブロック
408が真(イエス)を返す場合、処理はステップ41
0に進む。ステップ410では、1×1画素が符号化さ
れる。望ましくは、これは符号化表現にminBitNumberよ
り上の残りのビットを直接出力することからなる。ステ
ップ412では、処理は呼び出し手順に戻る。それ以外
の場合、決定ブロック408が偽(ノー)を返す場合、
領域は1つ以上の係数から構成されており処理は決定ブ
ロック414に続く。
が1×1画素か調べるチェックを行なう。決定ブロック
408が真(イエス)を返す場合、処理はステップ41
0に進む。ステップ410では、1×1画素が符号化さ
れる。望ましくは、これは符号化表現にminBitNumberよ
り上の残りのビットを直接出力することからなる。ステ
ップ412では、処理は呼び出し手順に戻る。それ以外
の場合、決定ブロック408が偽(ノー)を返す場合、
領域は1つ以上の係数から構成されており処理は決定ブ
ロック414に続く。
【0036】決定ブロック414では、有意かどうか決
定するために選択領域をチェックする。つまり、領域の
有意性を調べる。領域内で各々の係数のMSBがcurren
tBitNumberパラメータの値より小さい場合には領域は有
意でないとされる。領域有意性の考え方を正確にするた
め、式(1)に数学的定義を掲載する。任意のビット番
号で、仮にcurrentBitNumber=nで、領域は次のような
場合に有意でないとされる:
定するために選択領域をチェックする。つまり、領域の
有意性を調べる。領域内で各々の係数のMSBがcurren
tBitNumberパラメータの値より小さい場合には領域は有
意でないとされる。領域有意性の考え方を正確にするた
め、式(1)に数学的定義を掲載する。任意のビット番
号で、仮にcurrentBitNumber=nで、領域は次のような
場合に有意でないとされる:
【0037】
【数1】 ここでRは領域、またcijはこの領域内の係数(i,j)を
表わす。
表わす。
【0038】決定ブロック414が偽(ノー)を返した
場合、処理はステップ416に続く。ステップ416で
は、値0(すなわち第1のトークン)が符号化表現スト
リームに出力され、currentBitNumberパラメータが1だ
けデクリメントされる。つまり、この領域の次に低いビ
ットプレーンが処理のために選択される。処理は決定ブ
ロック404に続き、ここでパラメータcurrentBitNumb
er-1とminBitNumberによりその領域が再処理される。そ
れ以外の場合、決定ブロック414が真(イエス)を返
した場合、つまり領域が有意な場合、処理はステップ4
18に続く。
場合、処理はステップ416に続く。ステップ416で
は、値0(すなわち第1のトークン)が符号化表現スト
リームに出力され、currentBitNumberパラメータが1だ
けデクリメントされる。つまり、この領域の次に低いビ
ットプレーンが処理のために選択される。処理は決定ブ
ロック404に続き、ここでパラメータcurrentBitNumb
er-1とminBitNumberによりその領域が再処理される。そ
れ以外の場合、決定ブロック414が真(イエス)を返
した場合、つまり領域が有意な場合、処理はステップ4
18に続く。
【0039】ステップ418では、値1(すなわち第2
のトークン)が符号化表現ストリームに出力される。ス
テップ420では、指定した分割アルゴリズムを用いて
選択領域が所定数(望ましくは4)の部分領域に分割さ
れる。使用する分割アルゴリズムでコーダに分かってい
る。
のトークン)が符号化表現ストリームに出力される。ス
テップ420では、指定した分割アルゴリズムを用いて
選択領域が所定数(望ましくは4)の部分領域に分割さ
れる。使用する分割アルゴリズムでコーダに分かってい
る。
【0040】本方法では正方形領域を使用する。領域は
4個の等しいサイズの(正方形)部分領域に分割される
のが望ましい。図2に図示してあるように、選択領域
(R)200はM×M係数のサイズを有し4つの等しい
サイズの部分領域210,212,214,216に分
割される。部分領域の各々はN×Nのサイズで、NはM
/2に等しい。初期領域のサイズと形状によってはこれ
が常に可能になるわけではない。不可能な場合には、初
期領域を多数の正方形領域に分割し、各々が2のべき乗
の寸法を取るようにし、これらの区画を別々に符号化で
きる。いずれの場合にも、インテリジェントな方法で行
なわれれば総合的な結果に対してこの初期化がもたらす
影響は最少である。別の方法として、ブロック単位のコ
ーダに適している異なる分割を用いてもよい。
4個の等しいサイズの(正方形)部分領域に分割される
のが望ましい。図2に図示してあるように、選択領域
(R)200はM×M係数のサイズを有し4つの等しい
サイズの部分領域210,212,214,216に分
割される。部分領域の各々はN×Nのサイズで、NはM
/2に等しい。初期領域のサイズと形状によってはこれ
が常に可能になるわけではない。不可能な場合には、初
期領域を多数の正方形領域に分割し、各々が2のべき乗
の寸法を取るようにし、これらの区画を別々に符号化で
きる。いずれの場合にも、インテリジェントな方法で行
なわれれば総合的な結果に対してこの初期化がもたらす
影響は最少である。別の方法として、ブロック単位のコ
ーダに適している異なる分割を用いてもよい。
【0041】ステップ422では、各々の部分領域が同
じcurrentBitNumberとminBitNumberパラメータで符号化
される。これは図4の手順 "Code region (currentBitN
umber,minBitNumber)"の再帰的呼び出しを用いて行なう
のが望ましい。部分領域の符号化は並列にまたは逐次的
に実施できる。後者の場合、処理は低周波サブバンドか
ら高周波サブバンドへ向かって始める。
じcurrentBitNumberとminBitNumberパラメータで符号化
される。これは図4の手順 "Code region (currentBitN
umber,minBitNumber)"の再帰的呼び出しを用いて行なう
のが望ましい。部分領域の符号化は並列にまたは逐次的
に実施できる。後者の場合、処理は低周波サブバンドか
ら高周波サブバンドへ向かって始める。
【0042】符号化表現において、変換係数はcurrentB
itNumberからminBitNumberへ画素ビットを単純に出力す
ることで符号化する。望ましくは、標記にしたがい係数
ビットの幾つかが非ゼロの場合にのみ符号を出力する。
例えば、currentBitNumber=3の場合で、minBitNumber=1
であれば、−9(00001001)は符号ビット
「1」に続く「100」に符号化される。
itNumberからminBitNumberへ画素ビットを単純に出力す
ることで符号化する。望ましくは、標記にしたがい係数
ビットの幾つかが非ゼロの場合にのみ符号を出力する。
例えば、currentBitNumber=3の場合で、minBitNumber=1
であれば、−9(00001001)は符号ビット
「1」に続く「100」に符号化される。
【0043】[1.2 第1の「SWEET」画像圧縮
方法の復号処理]図5は、図3および図4の処理を用い
て得られた画像の符号化表現を復号する方法を示すフロ
ーチャートである。ステップ502において、符号化表
現を用いて処理を開始する。ステップ504では、ヘッ
ダ情報が符号化表現から読み取られて元画像のサイズを
決定し、これによって初期領域サイズを決定する。ま
た、maxBitNumber(符号化処理における初期のcurrentB
itNumberに等しい)やminBitNumberなどの情報が入力さ
れる。更なる情報としてはDCサブバンドの平均値など
が挙げあれる。
方法の復号処理]図5は、図3および図4の処理を用い
て得られた画像の符号化表現を復号する方法を示すフロ
ーチャートである。ステップ502において、符号化表
現を用いて処理を開始する。ステップ504では、ヘッ
ダ情報が符号化表現から読み取られて元画像のサイズを
決定し、これによって初期領域サイズを決定する。ま
た、maxBitNumber(符号化処理における初期のcurrentB
itNumberに等しい)やminBitNumberなどの情報が入力さ
れる。更なる情報としてはDCサブバンドの平均値など
が挙げあれる。
【0044】ステップ506では、各サブバンドの復号
が各々のサブバンドへ領域を設定することから開始され
る。ステップ508では、maxBitNumberとminBitNumber
パラメータを用いて選択領域が復号される。ステップ5
10では、逆DWTを復号した選択領域にて起用する。
処理はステップ512で終了する。
が各々のサブバンドへ領域を設定することから開始され
る。ステップ508では、maxBitNumberとminBitNumber
パラメータを用いて選択領域が復号される。ステップ5
10では、逆DWTを復号した選択領域にて起用する。
処理はステップ512で終了する。
【0045】図6は手順コール"Decode region(current
BitNumber, minBitNumber)を用いて各領域を符号化する
ための図5のステップ508の詳細なフローチャートで
ある。ここでmaxBitNumberはcurrentBitNumberとして提
供される。ステップ602で処理が始まる。図6の領域
復号処理への入力はcurrentBitNumberとminBitNumberパ
ラメータである。また、本方法は再帰的技術として実行
するのが望ましい。しかし、この処理は非再帰的な方法
で実現することもできる。
BitNumber, minBitNumber)を用いて各領域を符号化する
ための図5のステップ508の詳細なフローチャートで
ある。ここでmaxBitNumberはcurrentBitNumberとして提
供される。ステップ602で処理が始まる。図6の領域
復号処理への入力はcurrentBitNumberとminBitNumberパ
ラメータである。また、本方法は再帰的技術として実行
するのが望ましい。しかし、この処理は非再帰的な方法
で実現することもできる。
【0046】決定ブロック604では、currentBitNumb
erがminBitNumberより小さいか決定するチェックを行な
う。決定ブロック604が真(イエス)を返す場合、処
理はステップ606に続き、ここで呼び出し手順に処理
が復帰する。それ以外の場合、決定ブロック604が偽
(ノー)を返した場合、処理は決定ブロック608に続
く。
erがminBitNumberより小さいか決定するチェックを行な
う。決定ブロック604が真(イエス)を返す場合、処
理はステップ606に続き、ここで呼び出し手順に処理
が復帰する。それ以外の場合、決定ブロック604が偽
(ノー)を返した場合、処理は決定ブロック608に続
く。
【0047】決定ブロック608では、選択領域が1×
1画素のサイズを有するか決定するチェックを行なう。
決定ブロック608が真(イエス)を返す場合、処理は
ステップ610に続く。ステップ610では、1×1領
域が復号される。処理はステップ612で呼び出し手順
に戻る。決定ブロック608が偽(ノー)を返した場
合、処理はステップ614に続く。ステップ614で
は、符号化表現からビットが入力される。
1画素のサイズを有するか決定するチェックを行なう。
決定ブロック608が真(イエス)を返す場合、処理は
ステップ610に続く。ステップ610では、1×1領
域が復号される。処理はステップ612で呼び出し手順
に戻る。決定ブロック608が偽(ノー)を返した場
合、処理はステップ614に続く。ステップ614で
は、符号化表現からビットが入力される。
【0048】決定ブロック616では、ビットが1に等
しいか決定するチェックを行なう。即ち領域が有意か決
定するために入力をチェックする。決定ブロック616
が偽(ノー)を返した場合処理はステップ618に進
む。ステップ618では、currentBitNumberが決定さ
れ、処理は決定ブロック604に続く。それ以外の場
合、決定ブロック616が真(イエス)を返した場合、
処理はステップ620に進む。ステップ620では、領
域が所定の個数(望ましくは4)の部分領域に分割され
る。ステップ622では、部分領域の各々がcurrentBit
NumberとminBitNumberを用いて復号される。これは図6
に図示してある処理への再帰的呼び出しを用いて行なわ
れる。ステップ624で処理は呼び出し手順に戻る。
しいか決定するチェックを行なう。即ち領域が有意か決
定するために入力をチェックする。決定ブロック616
が偽(ノー)を返した場合処理はステップ618に進
む。ステップ618では、currentBitNumberが決定さ
れ、処理は決定ブロック604に続く。それ以外の場
合、決定ブロック616が真(イエス)を返した場合、
処理はステップ620に進む。ステップ620では、領
域が所定の個数(望ましくは4)の部分領域に分割され
る。ステップ622では、部分領域の各々がcurrentBit
NumberとminBitNumberを用いて復号される。これは図6
に図示してある処理への再帰的呼び出しを用いて行なわ
れる。ステップ624で処理は呼び出し手順に戻る。
【0049】このように、エンコーダでの有意性の決定
から出力されたビットがアルゴリズムのどのパスを取る
かデコーダに指示し、こうしてエンコーダに倣う。画素
とおそらくは符号も適当なビット数(currentBitNumber
からminBitNumberまで、及び、それらに非ゼロがある場
合には符号ビット)で単純に読み出すことにより復号さ
れる。
から出力されたビットがアルゴリズムのどのパスを取る
かデコーダに指示し、こうしてエンコーダに倣う。画素
とおそらくは符号も適当なビット数(currentBitNumber
からminBitNumberまで、及び、それらに非ゼロがある場
合には符号ビット)で単純に読み出すことにより復号さ
れる。
【0050】[1.3 2次元的な例]本方法は大半の
変換係数の先行するゼロを効率的に符号化し、一方で最
も有意なビットから所定の最も有意でないビットへ、パ
ラメータminBitNumberにより指定されるビットを符号化
し、符号は単純にそのままとする。このようにして、本
圧縮方法ではうまく先行するゼロを表現している。本方
法はある状況で、即ち離散ウェーブレット変換画像係数
の符号化で非常に有効であり、代表的には広いダイナミ
ックレンジが示される。代表的には少数の係数が非常に
大きな値を有しているが、大半は非常に小さい値を有し
ている。
変換係数の先行するゼロを効率的に符号化し、一方で最
も有意なビットから所定の最も有意でないビットへ、パ
ラメータminBitNumberにより指定されるビットを符号化
し、符号は単純にそのままとする。このようにして、本
圧縮方法ではうまく先行するゼロを表現している。本方
法はある状況で、即ち離散ウェーブレット変換画像係数
の符号化で非常に有効であり、代表的には広いダイナミ
ックレンジが示される。代表的には少数の係数が非常に
大きな値を有しているが、大半は非常に小さい値を有し
ている。
【0051】4×4係数を含む2次元領域の符号化の例
について、図7Aから図7Dを参照して説明する。図7
Aの4×4領域700の処理は、係数全部のうちで最大
のビット番号(ビットプレーン)である7にmaxBitNumb
erをセットして開始する。
について、図7Aから図7Dを参照して説明する。図7
Aの4×4領域700の処理は、係数全部のうちで最大
のビット番号(ビットプレーン)である7にmaxBitNumb
erをセットして開始する。
【0052】
【数2】 図示の目的では、minBitNumberは3にセットされる。ヘ
ッダはmaxBitNumberとminBitNumberを含む符号化表現に
出力されるのが望ましい。領域700を符号化する処理
は次のように進む。
ッダはmaxBitNumberとminBitNumberを含む符号化表現に
出力されるのが望ましい。領域700を符号化する処理
は次のように進む。
【0053】currentBitNumber=7で、領域700はビ
ット番号7(図4の決定ブロック404,408,41
4およびステップ418を参照)に対して有意であるか
ら出力される。領域700は、図7Aの左上の領域71
0,右上の領域712,左下の領域714,右下の領域
716の4個の部分領域に分割される(図4のステップ
420参照)。部分領域各々は2×2係数で構成され
る。
ット番号7(図4の決定ブロック404,408,41
4およびステップ418を参照)に対して有意であるか
ら出力される。領域700は、図7Aの左上の領域71
0,右上の領域712,左下の領域714,右下の領域
716の4個の部分領域に分割される(図4のステップ
420参照)。部分領域各々は2×2係数で構成され
る。
【0054】図7Aの部分領域710,712,71
4,716はさらに図7Bに図示してある所定の処理シ
ーケンスで符号化される。領域750は4個の部分領域
750A〜750Dで構成される。図面に示してある3
本の矢印は処理の順番またはシーケンス、即ち左上の部
分領域750A、右上の部分領域750B、左下の部分
領域750C、右下の部分領域750Dそれぞれの処理
を表わす。
4,716はさらに図7Bに図示してある所定の処理シ
ーケンスで符号化される。領域750は4個の部分領域
750A〜750Dで構成される。図面に示してある3
本の矢印は処理の順番またはシーケンス、即ち左上の部
分領域750A、右上の部分領域750B、左下の部分
領域750C、右下の部分領域750Dそれぞれの処理
を表わす。
【0055】図7Aの部分領域710は最初に符号化さ
れる(図4のステップ422参照)。currentBitNumber
が7に等しい場合、1が符号化表現に出力される。部分
領域710は十進数の値200,13,−13,3を有
する4個の1×1画素に分割される。これらの係数の各
々はcurrentBitNumber=7からminBitNumber=3までの
各係数のビットを出力することで符号化される(図4の
決定ブロック408とステップ410参照)。符号ビッ
トは必要なら出力される。このようにして、十進数での
値が200なら符号ビット0に続けて11001と符号
化される。係数値13は符号ビット0付きで00001
として符号化される。係数値−13では符号ビット1の
ついた00001に符号化される。最後に、係数値3は
00000(符号ビットなし)に符号化される。各係数
の符号化表現は、currentBitNumberとminBitNumberの間
に、係数「200」のビットに先行する2個の「1」ビ
ットを含む。これで左上の部分領域710の符号化が完
了する。この状態での符号化出力は次のようになる:
れる(図4のステップ422参照)。currentBitNumber
が7に等しい場合、1が符号化表現に出力される。部分
領域710は十進数の値200,13,−13,3を有
する4個の1×1画素に分割される。これらの係数の各
々はcurrentBitNumber=7からminBitNumber=3までの
各係数のビットを出力することで符号化される(図4の
決定ブロック408とステップ410参照)。符号ビッ
トは必要なら出力される。このようにして、十進数での
値が200なら符号ビット0に続けて11001と符号
化される。係数値13は符号ビット0付きで00001
として符号化される。係数値−13では符号ビット1の
ついた00001に符号化される。最後に、係数値3は
00000(符号ビットなし)に符号化される。各係数
の符号化表現は、currentBitNumberとminBitNumberの間
に、係数「200」のビットに先行する2個の「1」ビ
ットを含む。これで左上の部分領域710の符号化が完
了する。この状態での符号化出力は次のようになる:
【0056】
【数3】 ヘッダ情報は前述の表現に示していない。
【0057】右上の部分領域712が次に符号化される
(図7B参照)。領域712は、7,6,5,4に等し
いcurrentBitNumberの各々について有意でないので、こ
れらのビット番号で0が出力される。currentBitNumber
=3では1が出力されるが、これはビットプレーンがビ
ット番号3に対して有意であるためである。部分領域7
12は値−11,−8,−4,−3を有する1×1画素
4個に分割される。これらの十進数の値は、符号ビット
1のついたビット値1,符号ビット1のビット値1,符
号ビットなしのビット値0,0に各々符号化される。つ
まりこの段階で、符号化表現は次のようになる:
(図7B参照)。領域712は、7,6,5,4に等し
いcurrentBitNumberの各々について有意でないので、こ
れらのビット番号で0が出力される。currentBitNumber
=3では1が出力されるが、これはビットプレーンがビ
ット番号3に対して有意であるためである。部分領域7
12は値−11,−8,−4,−3を有する1×1画素
4個に分割される。これらの十進数の値は、符号ビット
1のついたビット値1,符号ビット1のビット値1,符
号ビットなしのビット値0,0に各々符号化される。つ
まりこの段階で、符号化表現は次のようになる:
【0058】
【数4】 左下の部分領域714が次に符号化される。領域714
は、7,6,5,4に等しいcurrentBitNumberの各々に
ついて有意でないので、これらのビット番号で0が出力
される。currentBitNumber=3では1が出力されるが、
これはビットプレーンがビット番号3に対して有意であ
るためである。部分領域714は値8,1,2,−1を
有する1×1画素4個に分割される。これらが各々、符
号ビット0の2進数1、および符号ビットのない2進数
0,0,0に符号化される。
は、7,6,5,4に等しいcurrentBitNumberの各々に
ついて有意でないので、これらのビット番号で0が出力
される。currentBitNumber=3では1が出力されるが、
これはビットプレーンがビット番号3に対して有意であ
るためである。部分領域714は値8,1,2,−1を
有する1×1画素4個に分割される。これらが各々、符
号ビット0の2進数1、および符号ビットのない2進数
0,0,0に符号化される。
【0059】最後に、値−2,−2,−3,−3を有す
る右下の部分領域716が符号化される。currentBitNu
mber=7,6,5,4,3の各々で部分領域716がこ
れらのビット数に対して有意ではないため0を出力す
る。符号ビットは出力されない。つまり符号化表現は次
のようになる:
る右下の部分領域716が符号化される。currentBitNu
mber=7,6,5,4,3の各々で部分領域716がこ
れらのビット数に対して有意ではないため0を出力す
る。符号ビットは出力されない。つまり符号化表現は次
のようになる:
【0060】
【数5】 デコーダは単純に符号化処理にならって図7Cに図示し
たように符号化表現から領域を再構成する。
たように符号化表現から領域を再構成する。
【0061】復号処理は多数の方法で「よりスマート」
に行なうことができる。このような「よりスマート」な
方法の1つが図7Dに図示してある。この場合、非ゼロ
係数の大きさは2のminBitNumberのべき乗の半分ずつ各
々増加する。これが図7Dに図示してある。このように
すると、「スマート」な復号処理は、復号した係数と元
の係数の間の平均二乗誤差を一般的に減少できる。さら
に、エンコーダはこれ以外にもこの(種の)演算を実行
でき、これによってデコーダに図7Cに図示した最も簡
単な方法を利用させる。
に行なうことができる。このような「よりスマート」な
方法の1つが図7Dに図示してある。この場合、非ゼロ
係数の大きさは2のminBitNumberのべき乗の半分ずつ各
々増加する。これが図7Dに図示してある。このように
すると、「スマート」な復号処理は、復号した係数と元
の係数の間の平均二乗誤差を一般的に減少できる。さら
に、エンコーダはこれ以外にもこの(種の)演算を実行
でき、これによってデコーダに図7Cに図示した最も簡
単な方法を利用させる。
【0062】[1.4 第2のSWEET画像圧縮方法
の符号化処理]他のSWEET法による符号化処理につ
いて、図9から図12を参照して説明する。
の符号化処理]他のSWEET法による符号化処理につ
いて、図9から図12を参照して説明する。
【0063】デジタル画像全体の離散ウェーブレット変
換はブロック単位で実行できる。各ブロックでの変換の
結果は一組の係数となり、これは基本的に画像全体の離
散ウェーブレット変換の一組の空間的に対応する係数と
等しい。例えば、画像全体についての離散・ウェーブレ
ット変換の所定の係数の組から、デジタル画像の一部ま
たはブロックを指定された細部まで再現できる。周波数
ドメインから所定の係数の組を選択することは実質的に
空間ドメインからのデジタル画像(ブロック)の対応す
る部分を表現することになる。デジタル画像のブロック
単位の離散・ウェーブレット変換は、画像を複数ブロッ
クに分割し各ブロックに対して独立して変換を適用する
ことにより実行でき、これによって実質的に現在の空間
的な位置に関連したDWT係数を評価することができ
る。ブロック単位の変換アプローチを採用する利点は、
画像の他のブロックとの最小限の相互作用で(実質的に
独立して)ブロックを実質的に符号化できることであ
る。ブロック単位の技術は本質的にメモリーにローカラ
イズされており、そのためコンピュータ・システムを用
いて実現した場合には一般に効率的である。
換はブロック単位で実行できる。各ブロックでの変換の
結果は一組の係数となり、これは基本的に画像全体の離
散ウェーブレット変換の一組の空間的に対応する係数と
等しい。例えば、画像全体についての離散・ウェーブレ
ット変換の所定の係数の組から、デジタル画像の一部ま
たはブロックを指定された細部まで再現できる。周波数
ドメインから所定の係数の組を選択することは実質的に
空間ドメインからのデジタル画像(ブロック)の対応す
る部分を表現することになる。デジタル画像のブロック
単位の離散・ウェーブレット変換は、画像を複数ブロッ
クに分割し各ブロックに対して独立して変換を適用する
ことにより実行でき、これによって実質的に現在の空間
的な位置に関連したDWT係数を評価することができ
る。ブロック単位の変換アプローチを採用する利点は、
画像の他のブロックとの最小限の相互作用で(実質的に
独立して)ブロックを実質的に符号化できることであ
る。ブロック単位の技術は本質的にメモリーにローカラ
イズされており、そのためコンピュータ・システムを用
いて実現した場合には一般に効率的である。
【0064】図9は第2の符号化方法のブロック単位の
符号化処理を示すフローチャートである。処理はステッ
プ902から始まる。ステップ904で、ヘッダが出力
される。この情報は画像の高さと幅、DWTのレベル
数、2個のパラメータmaxBitNumberとminBitNumberを含
むのが望ましい。オプションとして、用途によっては多
少なりともヘッダ情報を使用できる。
符号化処理を示すフローチャートである。処理はステッ
プ902から始まる。ステップ904で、ヘッダが出力
される。この情報は画像の高さと幅、DWTのレベル
数、2個のパラメータmaxBitNumberとminBitNumberを含
むのが望ましい。オプションとして、用途によっては多
少なりともヘッダ情報を使用できる。
【0065】符号化パラメータmaxBitNumberは様々な方
法で選択できる。全ての画像ブロックについて、これら
のうちのどれかを符号化する前にブロックDWTを実行
する場合、maxBitNumberは全部のDWTブロックにわた
る最大の係数のMSB番号となるように選択できる。例
えば、最大の係数が10000001(十進数の12
9)だとすると、maxBitNumberはMSBがビット番号7
であるため7にセットされる。これ以外に、入力画像の
変換と解像度によって決まる決定閾値を用いることがで
きる。例えば、8ビット入力画像(7ビットと符号にレ
ベルがシフトされる)およびハール変換では、最大のM
SBはJ+7で区切られ、JはDWTのレベル数であ
る。ブロックが小さい場合、このパラメータの選択は圧
縮に対して有意な影響を有することがある。場合によっ
ては、maxBitNumberを選択するもっと洗練された方法を
用いることがある。しかし、これは特定のアプリケーシ
ョンに依存する。
法で選択できる。全ての画像ブロックについて、これら
のうちのどれかを符号化する前にブロックDWTを実行
する場合、maxBitNumberは全部のDWTブロックにわた
る最大の係数のMSB番号となるように選択できる。例
えば、最大の係数が10000001(十進数の12
9)だとすると、maxBitNumberはMSBがビット番号7
であるため7にセットされる。これ以外に、入力画像の
変換と解像度によって決まる決定閾値を用いることがで
きる。例えば、8ビット入力画像(7ビットと符号にレ
ベルがシフトされる)およびハール変換では、最大のM
SBはJ+7で区切られ、JはDWTのレベル数であ
る。ブロックが小さい場合、このパラメータの選択は圧
縮に対して有意な影響を有することがある。場合によっ
ては、maxBitNumberを選択するもっと洗練された方法を
用いることがある。しかし、これは特定のアプリケーシ
ョンに依存する。
【0066】パラメータminBitNumberは圧縮比に対する
画質の兼ね合いを決定し変更できる。例えば、ほぼ直交
に近い変換では、値3が8ビットグレースケールまたは
24ビットRGB画像で充分な画質を提供する。
画質の兼ね合いを決定し変更できる。例えば、ほぼ直交
に近い変換では、値3が8ビットグレースケールまたは
24ビットRGB画像で充分な画質を提供する。
【0067】ステップ906では、画像がブロックに分
解される(または画像ブロックが形成される)。画像は
重複するブロックに分割されるのが望ましい。しかし、
重複しないブロックを用いることもある。係数のブロッ
クは元画像全体と同程度の大きさとするか、または8×
8係数(3レベル変換で)と同程度の小ささにできる。
メモリーの少ないアプリケーションでは、できる限り小
さいブロックを使用する。一般に、16係数のブロック
サイズが、3乃至4レベルDWTによる高レベルの圧縮
に充分である。3レベルDWTでの8×8係数のブロッ
クサイズは各ブロックのDC係数に対して差動パルス符
号変調(DPCM)を用いることで良好な符号化効率を
維持できる。
解される(または画像ブロックが形成される)。画像は
重複するブロックに分割されるのが望ましい。しかし、
重複しないブロックを用いることもある。係数のブロッ
クは元画像全体と同程度の大きさとするか、または8×
8係数(3レベル変換で)と同程度の小ささにできる。
メモリーの少ないアプリケーションでは、できる限り小
さいブロックを使用する。一般に、16係数のブロック
サイズが、3乃至4レベルDWTによる高レベルの圧縮
に充分である。3レベルDWTでの8×8係数のブロッ
クサイズは各ブロックのDC係数に対して差動パルス符
号変調(DPCM)を用いることで良好な符号化効率を
維持できる。
【0068】ステップ908で、各ブロックはレベルシ
フトされ変換が実行される。望ましくは、DWTが使用
される。画像値はレベルシフトされ(例えば、8ビット
画像では128だけシフトされる)、望ましくない平均
バイアスを減少または排除し、画像の各々の空間ブロッ
クが変換される。DWTでは、現在のブロックを包囲す
るブロックについての何らかの知識が必要とされるのが
普通だが(また逆DWTでも同様だが)、これは厳密に
は必要とされない。
フトされ変換が実行される。望ましくは、DWTが使用
される。画像値はレベルシフトされ(例えば、8ビット
画像では128だけシフトされる)、望ましくない平均
バイアスを減少または排除し、画像の各々の空間ブロッ
クが変換される。DWTでは、現在のブロックを包囲す
るブロックについての何らかの知識が必要とされるのが
普通だが(また逆DWTでも同様だが)、これは厳密に
は必要とされない。
【0069】ステップ910では、maxBitNumberとminB
itNumberパラメータを用いてブロックを符号化する。処
理はステップ912で終了する。
itNumberパラメータを用いてブロックを符号化する。処
理はステップ912で終了する。
【0070】ブロックを符号化するステップ910が図
10のフローチャートに詳細に図示してある。図10の
ブロック符号化処理への入力はcurrentBitNumberおよび
minBitNumberパラメータを含む。図9のステップ910
において、maxBitNumberはcurrentBitNumberパラメータ
として入力される。処理はステップ1002で始まる。
決定ブロック1004では、currentBitNumberがminBit
Numberより小さいか決定するチェックを行なう。決定ブ
ロック1004が真(イエス)を返した場合、処理はス
テップ1006に進む。ステップ1006では、実行が
呼び出し処理に返され、これによってブロック内の全て
の係数がminBitNumberより小さいMSB番号を有するこ
とを表わす。それ以外の場合で、決定ブロック1004
は偽(ノー)を返すと、処理は決定ブロック1008に
進む。
10のフローチャートに詳細に図示してある。図10の
ブロック符号化処理への入力はcurrentBitNumberおよび
minBitNumberパラメータを含む。図9のステップ910
において、maxBitNumberはcurrentBitNumberパラメータ
として入力される。処理はステップ1002で始まる。
決定ブロック1004では、currentBitNumberがminBit
Numberより小さいか決定するチェックを行なう。決定ブ
ロック1004が真(イエス)を返した場合、処理はス
テップ1006に進む。ステップ1006では、実行が
呼び出し処理に返され、これによってブロック内の全て
の係数がminBitNumberより小さいMSB番号を有するこ
とを表わす。それ以外の場合で、決定ブロック1004
は偽(ノー)を返すと、処理は決定ブロック1008に
進む。
【0071】決定ブロック1008では、現在のブロッ
クが有意か決定するチェックを行なう。決定ブロック1
008が偽(ノー)を返した場合、処理はステップ10
10に進む。ステップ1010では、符号化表現に0が
出力されてcurrentBitNumberがデクリメントされ、言い
換えれば次に低いビットプレーンを選択する。処理は決
定ブロック1004に進む。これ以外の場合、決定ブロ
ック1008が真(イエス)を返した場合、処理はステ
ップ1012に進む。
クが有意か決定するチェックを行なう。決定ブロック1
008が偽(ノー)を返した場合、処理はステップ10
10に進む。ステップ1010では、符号化表現に0が
出力されてcurrentBitNumberがデクリメントされ、言い
換えれば次に低いビットプレーンを選択する。処理は決
定ブロック1004に進む。これ以外の場合、決定ブロ
ック1008が真(イエス)を返した場合、処理はステ
ップ1012に進む。
【0072】ステップ1010と併せて決定ブロック1
004と1008により処理はブロック内で最大の係数
のMSB番号を見つけ出すことができるようになる。ブ
ロック内の全ての係数のMSB番号がcurrentBitNumber
より小さければcurrentBitNumberに対してブロックは有
意でない。これは、ブロックのビットプレーンが有意か
またはminBitNumberよりcurrentBitNumberが小さくなる
まで反復される。
004と1008により処理はブロック内で最大の係数
のMSB番号を見つけ出すことができるようになる。ブ
ロック内の全ての係数のMSB番号がcurrentBitNumber
より小さければcurrentBitNumberに対してブロックは有
意でない。これは、ブロックのビットプレーンが有意か
またはminBitNumberよりcurrentBitNumberが小さくなる
まで反復される。
【0073】ステップ1012で、ビットプレーンが有
意であることを表わすように、符号化表現には1が出力
される。ステップ1014では、DCサブバンドが符号
化される。ステップ1016では、ブロックの細部が、
パラメータJ,currentBitNumber,minBitNumberを用い
て符号化される。ステップ1018では、実行が呼び出
し手順に戻る。つまり、ブロックが有意であれば、ステ
ップ1012,1014,1016が実行され、(一般
化)クワドツリー・セグメンテーションを用いてminBit
Numberより大きなMSB番号を有する全ての係数を見付
けようとする。ブロックが有意な場合には、DCサブバ
ンド係数と残りの係数から構成されレベルJに対して
「ブロック細部」と呼ばれるブロックの、2個の「サブ
ブロック」に分割される。これは全ての低いレベルでレ
ベルJのブロックについての高周波情報を表わすためで
ある。
意であることを表わすように、符号化表現には1が出力
される。ステップ1014では、DCサブバンドが符号
化される。ステップ1016では、ブロックの細部が、
パラメータJ,currentBitNumber,minBitNumberを用い
て符号化される。ステップ1018では、実行が呼び出
し手順に戻る。つまり、ブロックが有意であれば、ステ
ップ1012,1014,1016が実行され、(一般
化)クワドツリー・セグメンテーションを用いてminBit
Numberより大きなMSB番号を有する全ての係数を見付
けようとする。ブロックが有意な場合には、DCサブバ
ンド係数と残りの係数から構成されレベルJに対して
「ブロック細部」と呼ばれるブロックの、2個の「サブ
ブロック」に分割される。これは全ての低いレベルでレ
ベルJのブロックについての高周波情報を表わすためで
ある。
【0074】DCサブバンド符号化についての図10の
ステップ1014が図12のフローチャートで詳細に図
示してある。つまり、図12はcurrentBitNumberとminB
itNumberパラメータを使用するサブバンドまたはサブブ
ロックの符号化処理を示している。ステップ1202で
処理が始まる。決定ブロック1204では、currentBit
NumberがminBitNumberより小さいか判定するチェックを
行なう。決定ブロック1204が真(イエス)を返した
なら、処理はステップ1206に続く。ステップ120
6では、実行が呼びだし手順に戻る。それ以外の場合、
決定ブロック1204が偽(ノー)を返した場合、処理
は決定ブロック1208に進む。
ステップ1014が図12のフローチャートで詳細に図
示してある。つまり、図12はcurrentBitNumberとminB
itNumberパラメータを使用するサブバンドまたはサブブ
ロックの符号化処理を示している。ステップ1202で
処理が始まる。決定ブロック1204では、currentBit
NumberがminBitNumberより小さいか判定するチェックを
行なう。決定ブロック1204が真(イエス)を返した
なら、処理はステップ1206に続く。ステップ120
6では、実行が呼びだし手順に戻る。それ以外の場合、
決定ブロック1204が偽(ノー)を返した場合、処理
は決定ブロック1208に進む。
【0075】決定ブロック1208では(サブバンド
の)ブロックサイズが1×1画素か調べるチェックを行
なう。決定ブロック1208が真(イエス)を返した場
合、処理はステップ1210に進む。ステップ1210
では、1×1画素が符号化される。これは、必要なら符
号ビットに続けて、currentBitNumberとminBitNumberを
含め、これらの間にあるビットを出力することによる。
処理はステップ1212で呼びだし手順に戻る。それ以
外の場合、決定ブロック1208が偽(ノー)を返した
なら、処理は決定ブロック1214に進む。
の)ブロックサイズが1×1画素か調べるチェックを行
なう。決定ブロック1208が真(イエス)を返した場
合、処理はステップ1210に進む。ステップ1210
では、1×1画素が符号化される。これは、必要なら符
号ビットに続けて、currentBitNumberとminBitNumberを
含め、これらの間にあるビットを出力することによる。
処理はステップ1212で呼びだし手順に戻る。それ以
外の場合、決定ブロック1208が偽(ノー)を返した
なら、処理は決定ブロック1214に進む。
【0076】決定ブロック1214では、(サブバンド
の)ブロックが有意か調べるチェックを行なう。決定ブ
ロック1214が偽(ノー)を返した場合、処理はステ
ップ1216に進む。ステップ1216では、符号化表
現に0が出力されcurrentBitNumberがデクリメントされ
る。処理は決定ブロック1204に続く。それ以外の場
合で、決定ブロック1214が真(イエス)を返したな
ら、処理はステップ1218に進む。
の)ブロックが有意か調べるチェックを行なう。決定ブ
ロック1214が偽(ノー)を返した場合、処理はステ
ップ1216に進む。ステップ1216では、符号化表
現に0が出力されcurrentBitNumberがデクリメントされ
る。処理は決定ブロック1204に続く。それ以外の場
合で、決定ブロック1214が真(イエス)を返したな
ら、処理はステップ1218に進む。
【0077】ステップ1218では、(サブバンド)ブ
ロックが有意であることを表わすよう1が符号化表現に
出力される。ステップ1220では、(サブバンドの)
ブロックが4個のサブブロックに分割される。ステップ
1222では、図32の処理に再帰的呼び出しを行な
い、currentBitNumberとminBitNumberを用いて各々のサ
ブブロックを符号化する。ステップ1224では、実行
が呼び出し手順に戻る。
ロックが有意であることを表わすよう1が符号化表現に
出力される。ステップ1220では、(サブバンドの)
ブロックが4個のサブブロックに分割される。ステップ
1222では、図32の処理に再帰的呼び出しを行な
い、currentBitNumberとminBitNumberを用いて各々のサ
ブブロックを符号化する。ステップ1224では、実行
が呼び出し手順に戻る。
【0078】つまり図12に図示した処理では、サブバ
ンドまたはそのサブブロックが符号化される。最大のM
SB番号は前述のように分離される。サブブロックが1
つの画素だけで構成される場合、単一の係数として符号
化される。それ以外の場合、currentBitNumberがデクリ
メントされて、currentBitNumberがminBitNumberより小
さくなるまで、またはサブバンド(サブブロック)が有
意になるまで符号化表現には0が出力される。サブバン
ド(サブブロック)が有意な場合、4個の(できるだけ
等しくなるように)サブブロックに分割され、これらが
さらに符号化される。単一の係数、例えばDC係数は、
currentBitNumberからMINBINNへ係数ビットを出力する
ことにより符号化される。また、符号は係数ビットの幾
つかが非ゼロの場合にだけ出力するのが望ましい。
ンドまたはそのサブブロックが符号化される。最大のM
SB番号は前述のように分離される。サブブロックが1
つの画素だけで構成される場合、単一の係数として符号
化される。それ以外の場合、currentBitNumberがデクリ
メントされて、currentBitNumberがminBitNumberより小
さくなるまで、またはサブバンド(サブブロック)が有
意になるまで符号化表現には0が出力される。サブバン
ド(サブブロック)が有意な場合、4個の(できるだけ
等しくなるように)サブブロックに分割され、これらが
さらに符号化される。単一の係数、例えばDC係数は、
currentBitNumberからMINBINNへ係数ビットを出力する
ことにより符号化される。また、符号は係数ビットの幾
つかが非ゼロの場合にだけ出力するのが望ましい。
【0079】ブロック細部を符号化するための図10の
ステップ1016は図11のフローチャートに図示して
ある。ステップ1102で処理が始まる。決定ブロック
1104では、currentBitNumberがminBitNumberより小
さいか判定するチェックを行なう。決定ブロック110
4が真(イエス)を返した場合、ステップ1106で実
行は呼び出し手順に戻る。それ以外の場合、決定ブロッ
ク1104が偽(ノー)を返したならには、処理は決定
ブロック1108へ進む。
ステップ1016は図11のフローチャートに図示して
ある。ステップ1102で処理が始まる。決定ブロック
1104では、currentBitNumberがminBitNumberより小
さいか判定するチェックを行なう。決定ブロック110
4が真(イエス)を返した場合、ステップ1106で実
行は呼び出し手順に戻る。それ以外の場合、決定ブロッ
ク1104が偽(ノー)を返したならには、処理は決定
ブロック1108へ進む。
【0080】決定ブロック1108では、ブロック(細
部)が有意か判定するチェックを行なう。決定ブロック
1108が偽(ノー)を返した場合、処理はステップ1
110に進む。ステップ1110では、符号化表現に0
が出力されcurrentBitNumberがデクリメントされる。処
理は決定ブロック1104に進む。それ以外の場合に
は、決定ブロック1108が真(イエス)を返したな
ら、処理はステップ1112に進む。
部)が有意か判定するチェックを行なう。決定ブロック
1108が偽(ノー)を返した場合、処理はステップ1
110に進む。ステップ1110では、符号化表現に0
が出力されcurrentBitNumberがデクリメントされる。処
理は決定ブロック1104に進む。それ以外の場合に
は、決定ブロック1108が真(イエス)を返したな
ら、処理はステップ1112に進む。
【0081】ステップ1112では、ブロック(細部)
が有意であることを表わすよう符号化表現に1が出力さ
れる。ステップ1114では、HIGH−LOW(H
L)、LOW−HIGH(LH)、HIGH−HIGH
(HH)周波数サブバンドの各々が符号化される。各々
の解像度のHL,LH,HH周波数サブバンドは共通に
ACサブバンドと呼ばれる。これらのサブバンドの各々
は図6の処理にしたがって符号化される。ステップ11
16では、(ブロック細部が存在する場合)図5に図示
してある処理への再帰的呼び出しにより、パラメータJ
−1,currentBitNumber,minBitNumberを用いてブロッ
ク細部が符号化される。ステップ1118で実行は呼び
出し手順に戻る。
が有意であることを表わすよう符号化表現に1が出力さ
れる。ステップ1114では、HIGH−LOW(H
L)、LOW−HIGH(LH)、HIGH−HIGH
(HH)周波数サブバンドの各々が符号化される。各々
の解像度のHL,LH,HH周波数サブバンドは共通に
ACサブバンドと呼ばれる。これらのサブバンドの各々
は図6の処理にしたがって符号化される。ステップ11
16では、(ブロック細部が存在する場合)図5に図示
してある処理への再帰的呼び出しにより、パラメータJ
−1,currentBitNumber,minBitNumberを用いてブロッ
ク細部が符号化される。ステップ1118で実行は呼び
出し手順に戻る。
【0082】このように、レベルJでのブロック細部は
最大の係数のMSB番号を最初に分離するように処理さ
れる。これはcurrentBitNumberをデクリメントしてブロ
ックが有意になるまでゼロを出力することにより行な
う。ブロックは次にレベルJでの3個の高周波サブバン
ドとレベルJ−1について(J−1が0より大きい場
合)ブロック細部に分割される。この分割アプローチは
いわゆる1/f形式のスペクトルモデルにより誘導され
る。
最大の係数のMSB番号を最初に分離するように処理さ
れる。これはcurrentBitNumberをデクリメントしてブロ
ックが有意になるまでゼロを出力することにより行な
う。ブロックは次にレベルJでの3個の高周波サブバン
ドとレベルJ−1について(J−1が0より大きい場
合)ブロック細部に分割される。この分割アプローチは
いわゆる1/f形式のスペクトルモデルにより誘導され
る。
【0083】第2の圧縮方法に応じた復号処理は図9か
ら図12を参照して説明した符号化処理に倣うことによ
り実現できる。
ら図12を参照して説明した符号化処理に倣うことによ
り実現できる。
【0084】従って、この符号化及び複合方法及びその
装置は、画像を記憶するか送信するかのいずれか或いは
両方のために表現が適しているような効率的かつ柔軟性
のある方法でデジタル画像データを表現する。符号化技
術は一般に変換係数のアレイを表わすために使用でき、
また離散ウェーブレット変換ドメインにおいて画像を表
現することにより効率的な表現を提供するために使用で
きる。特に、本方法及び装置は入力画像から取得した変
換係数のブロックの先行するゼロを表現する(または符
号化する)ものである。本技術は、任意のサイズのコー
ドで元の画像の良好な再現を与える点に関してと、高速
な復号処理を提供する点に関して効率的である。さら
に、本技術は線形変換から得られた係数がエントロピー
符号化を使用することなく独立して符号化される点で柔
軟性がある。実施の形態の有利な側面としては符号化の
深さ第1の性質が挙げられる。さらに、サブバンドを符
号化する場合、本発明の有利な側面には各々のサブバン
ドを別々に階層符号化することが含まれる。
装置は、画像を記憶するか送信するかのいずれか或いは
両方のために表現が適しているような効率的かつ柔軟性
のある方法でデジタル画像データを表現する。符号化技
術は一般に変換係数のアレイを表わすために使用でき、
また離散ウェーブレット変換ドメインにおいて画像を表
現することにより効率的な表現を提供するために使用で
きる。特に、本方法及び装置は入力画像から取得した変
換係数のブロックの先行するゼロを表現する(または符
号化する)ものである。本技術は、任意のサイズのコー
ドで元の画像の良好な再現を与える点に関してと、高速
な復号処理を提供する点に関して効率的である。さら
に、本技術は線形変換から得られた係数がエントロピー
符号化を使用することなく独立して符号化される点で柔
軟性がある。実施の形態の有利な側面としては符号化の
深さ第1の性質が挙げられる。さらに、サブバンドを符
号化する場合、本発明の有利な側面には各々のサブバン
ドを別々に階層符号化することが含まれる。
【0085】[2. 好適な実施の形態に係る装置及び
方法]上記の画像圧縮方法の符号化出力を生成するため
の効率的で効果的な装置及び方法の好適な実施の形態を
説明する。
方法]上記の画像圧縮方法の符号化出力を生成するため
の効率的で効果的な装置及び方法の好適な実施の形態を
説明する。
【0086】[2.1 好適な実施の形態に係る装置及
び方法]図13には、好適な実施の形態に係る装置の構
成が概略的に示されている。構成1301では、入力デ
ータは、画素データの形式の入力であり、離散ウエーブ
レット変換1303がなされ、これにより係数データ1
304が生成される。次いで、係数データ1304は、
係数エンコーダ1305で符号化され、これにより出力
符号化係数1306が生成される。その後、この出力符
号化係数は、アプリケーションに応じて格納又は転送さ
れる。
び方法]図13には、好適な実施の形態に係る装置の構
成が概略的に示されている。構成1301では、入力デ
ータは、画素データの形式の入力であり、離散ウエーブ
レット変換1303がなされ、これにより係数データ1
304が生成される。次いで、係数データ1304は、
係数エンコーダ1305で符号化され、これにより出力
符号化係数1306が生成される。その後、この出力符
号化係数は、アプリケーションに応じて格納又は転送さ
れる。
【0087】本発明の好適な実施の形態は、特定の係数
エンコーダ1305に関するが、ウエーブレット変換手
段1303は、単なる代表例に過ぎず、他の種々の形態
を取ることができる。すなわち、ウエーブレット変換手
段1303は、説明の明瞭化のみを目的として挙げられ
ている。
エンコーダ1305に関するが、ウエーブレット変換手
段1303は、単なる代表例に過ぎず、他の種々の形態
を取ることができる。すなわち、ウエーブレット変換手
段1303は、説明の明瞭化のみを目的として挙げられ
ている。
【0088】ウエーブレット変換処理に関しては、多数
の標準的なテキスト、特にStollnitz等による前述の本
に記述されている。ここで、好適な実施の形態の動作の
適切な理解を助けるために、添付図面を参照してウエー
ブレット処理について検討する。
の標準的なテキスト、特にStollnitz等による前述の本
に記述されている。ここで、好適な実施の形態の動作の
適切な理解を助けるために、添付図面を参照してウエー
ブレット処理について検討する。
【0089】まず、図14に示すように、1つの原画像
1401は、離散ウエーブレット変換(Discrete Wavel
et Transform; DWT)を利用して、4つのサブ画像14
03〜1406に変換される。サブ画像或いはサブバン
ドは、通常、LL1、HL1、LH1、及びHH1と標
記される。サブバンド名のサフィックス”1”は、レベ
ル1を示す。LL1サブバンドは、元画像のローパス・
デシメーテッド・バージョン(low pass decimated ver
sion)である。
1401は、離散ウエーブレット変換(Discrete Wavel
et Transform; DWT)を利用して、4つのサブ画像14
03〜1406に変換される。サブ画像或いはサブバン
ドは、通常、LL1、HL1、LH1、及びHH1と標
記される。サブバンド名のサフィックス”1”は、レベ
ル1を示す。LL1サブバンドは、元画像のローパス・
デシメーテッド・バージョン(low pass decimated ver
sion)である。
【0090】利用されるウエーブレット変換は、例え
ば、Haar基礎関数、Daubechies基礎関数等に変更しても
よいし、これらを含んでもよい。
ば、Haar基礎関数、Daubechies基礎関数等に変更しても
よいし、これらを含んでもよい。
【0091】次いで、LL1サブバンドは、順番に、図
15に示すように、サブバンドLL2(1408)、H
L2(1409)、LH2(1410)、HH2(14
11)を与える第1の離散ウエーブレット変換に供され
る。この処理は、例えばLL4サブバンドが示されてい
る図16に示すように続行される。LL4バンドの分解
(decomposition)処理は、DCサブバンドとして参照
されるLL4を有するオクターブ・バンド・フィルタ・
バンクとして参照される。更なるレベルの分解は、入力
画像のサイズに応じてなされる。
15に示すように、サブバンドLL2(1408)、H
L2(1409)、LH2(1410)、HH2(14
11)を与える第1の離散ウエーブレット変換に供され
る。この処理は、例えばLL4サブバンドが示されてい
る図16に示すように続行される。LL4バンドの分解
(decomposition)処理は、DCサブバンドとして参照
されるLL4を有するオクターブ・バンド・フィルタ・
バンクとして参照される。更なるレベルの分解は、入力
画像のサイズに応じてなされる。
【0092】各単一レベルのDWTは、原画像を得るた
めに逆変換され得る。これにより、J-level DWTが逆変
換されて、一連のJ-single level inverse DWT'sが生成
される。
めに逆変換され得る。これにより、J-level DWTが逆変
換されて、一連のJ-single level inverse DWT'sが生成
される。
【0093】符号化された画像は、DCサブバンドの符
号化により階層的に処理される。次いで、残りのサブバ
ンドがレベルを下げるために符号化される。即ち、4レ
ベルのDWTに関して言えば、レベル4のサブバンド
が、DCサブバンド(LL4)の後に符号化される。そ
れは、HL4,LH4及びHH4サブバンドである。次
いで、レベル3のサブバンド(HL3、LH3、及びH
H3)が符号化され、次いで、レベル2のサブバンド
(HL2、LH2及びHH2)が符号化され、次いで、
レベル1のサブバンド(HL1,LH及びHH1)が符号
化される。
号化により階層的に処理される。次いで、残りのサブバ
ンドがレベルを下げるために符号化される。即ち、4レ
ベルのDWTに関して言えば、レベル4のサブバンド
が、DCサブバンド(LL4)の後に符号化される。そ
れは、HL4,LH4及びHH4サブバンドである。次
いで、レベル3のサブバンド(HL3、LH3、及びH
H3)が符号化され、次いで、レベル2のサブバンド
(HL2、LH2及びHH2)が符号化され、次いで、
レベル1のサブバンド(HL1,LH及びHH1)が符号
化される。
【0094】標準画像では、符号化されたサブバンド
は、通常は、”詳細(detail)”情報又はエネルギー
(energy)情報を画像中に含む。従って、それらは、し
ばしば、値の疎らなアレイからなり、実質的な圧縮は、
サブバンドの量子化及びそれらの疎らなマトリックス形
式の効率的な符号化によって達成される。
は、通常は、”詳細(detail)”情報又はエネルギー
(energy)情報を画像中に含む。従って、それらは、し
ばしば、値の疎らなアレイからなり、実質的な圧縮は、
サブバンドの量子化及びそれらの疎らなマトリックス形
式の効率的な符号化によって達成される。
【0095】好適な実施の形態に係る装置では、係数エ
ンコーダ1305は、ウエーブレット変換部1303か
ら係数データ1304を受け取る。本発明は、あらゆる
サイズの画像ブロックへの応用が可能であるが、説明の
簡単化のため、図17に示すように、画像(例えば、1
700)は、4×4のブロック1704の画素に分解さ
れるものとする。通常、本発明は、4×4ブロックより
も大きい画像ブロックN×Nへの応用が可能である。4
×4ブロックは、独立してウエーブレット変換を実行す
るするウエーブレット変換部3に取り込まれる。図17
aには、拡大したブロック1704が示されている。
ンコーダ1305は、ウエーブレット変換部1303か
ら係数データ1304を受け取る。本発明は、あらゆる
サイズの画像ブロックへの応用が可能であるが、説明の
簡単化のため、図17に示すように、画像(例えば、1
700)は、4×4のブロック1704の画素に分解さ
れるものとする。通常、本発明は、4×4ブロックより
も大きい画像ブロックN×Nへの応用が可能である。4
×4ブロックは、独立してウエーブレット変換を実行す
るするウエーブレット変換部3に取り込まれる。図17
aには、拡大したブロック1704が示されている。
【0096】最も一般的な画像については、ウエーブレ
ット変換処理の結果は、低周波係数において最大のエネ
ルギー又は最も有意なアピアリング(appearing)とな
る。図18には、10進及び8ビットの2進形式で示さ
れた係数(例えば、1802)を有する標準ウエーブレ
ット処理の出力例1800が示されている。
ット変換処理の結果は、低周波係数において最大のエネ
ルギー又は最も有意なアピアリング(appearing)とな
る。図18には、10進及び8ビットの2進形式で示さ
れた係数(例えば、1802)を有する標準ウエーブレ
ット処理の出力例1800が示されている。
【0097】図13の係数エンコーダ1305は、効率
的な手法である前述のセクション「1.4 SWEET画像圧縮
方法の符号化処理」に記載した第2の画像圧縮方法に応
じて、4×4の各ブロックの係数1800を符号化する
役割を有している。係数エンコーダ1305は、効率的
な手法である前述のセクション「1.1 第1のSWEET画像
圧縮方法の符号化処理」に記載した第1の画像圧縮方法
に応じて画像の係数を符号化するように変更されてもよ
く、これは当業者には明らかである。しかしながら、説
明の便宜のため、この好適な実施の形態では、第2の画
像圧縮方法を適用した好適な装置及び方法に関してのみ
説明する。
的な手法である前述のセクション「1.4 SWEET画像圧縮
方法の符号化処理」に記載した第2の画像圧縮方法に応
じて、4×4の各ブロックの係数1800を符号化する
役割を有している。係数エンコーダ1305は、効率的
な手法である前述のセクション「1.1 第1のSWEET画像
圧縮方法の符号化処理」に記載した第1の画像圧縮方法
に応じて画像の係数を符号化するように変更されてもよ
く、これは当業者には明らかである。しかしながら、説
明の便宜のため、この好適な実施の形態では、第2の画
像圧縮方法を適用した好適な装置及び方法に関してのみ
説明する。
【0098】第2の画像圧縮方法の基本アルゴリズム
は、標準画像について、係数を効率的に符号化化するた
めに、係数の予測マグニチュード(expected magnitud
e)に依存している。図15では、第2の画像圧縮方法の
動作に関して、係数LL2が最も有意で、HL2、LH2、HH2が
それに続き、更に、レベル1の係数HL1、LH1及び
HH1がそれに続いていると仮定されている。
は、標準画像について、係数を効率的に符号化化するた
めに、係数の予測マグニチュード(expected magnitud
e)に依存している。図15では、第2の画像圧縮方法の
動作に関して、係数LL2が最も有意で、HL2、LH2、HH2が
それに続き、更に、レベル1の係数HL1、LH1及び
HH1がそれに続いていると仮定されている。
【0099】図19には、オリジナルの係数行列が示さ
れている。ここでは、第2の画像圧縮方法において、図
18に示す例に従って、係数は、8ビットの値であるも
のと仮定する。好適な方法論は、マグニチュードによっ
て係数をソートし、最も有意なマグニチュードの係数の
先行する0のそれぞれについて0を出力する。1の値の
バイナリ係数に達すると、LL2係数1902は、常に最も
有意であるものと仮定されて、符号化される。次いで、
残りの係数1904がマグニチュードの順序でソートさ
れ、0がなくなるまで、先行する0の各レベルについて
0が出力される。この状態に達すると、HL2、LH2
及びHH2係数が分離されて、残りの係数1908を残
して、1906が符号化される。
れている。ここでは、第2の画像圧縮方法において、図
18に示す例に従って、係数は、8ビットの値であるも
のと仮定する。好適な方法論は、マグニチュードによっ
て係数をソートし、最も有意なマグニチュードの係数の
先行する0のそれぞれについて0を出力する。1の値の
バイナリ係数に達すると、LL2係数1902は、常に最も
有意であるものと仮定されて、符号化される。次いで、
残りの係数1904がマグニチュードの順序でソートさ
れ、0がなくなるまで、先行する0の各レベルについて
0が出力される。この状態に達すると、HL2、LH2
及びHH2係数が分離されて、残りの係数1908を残
して、1906が符号化される。
【0100】次いで、残りの係数1908は、マグニチ
ュードの順序でソートされ、1の値に達する前に、残り
の先行する0のそれぞれについて0が出力される。この
状態になると、残りの係数1910が符号化される。低
周波の係数を取り出すこの処理は、入力アレイのサイズ
に依存して、全係数が符号化されて0行列1912が残
るまで継続される。
ュードの順序でソートされ、1の値に達する前に、残り
の先行する0のそれぞれについて0が出力される。この
状態になると、残りの係数1910が符号化される。低
周波の係数を取り出すこの処理は、入力アレイのサイズ
に依存して、全係数が符号化されて0行列1912が残
るまで継続される。
【0101】図20には、図13の4×4の行列を符号
化する際の第2の画像圧縮方法の動作例を示す図であ
る。この例を詳細に見ると、10進の値で33を有する
係数は、まず、最も有意な係数であり、2つの先行する
0を有する。従って、2つの0が、ビット・プレーン・
レベル8及び7について出力される(2002、200
4)。次いで、10進で33の係数の値は、係数出力
(2006)のトリガリングになる。この係数は、1の
値の出力の後に出力される。
化する際の第2の画像圧縮方法の動作例を示す図であ
る。この例を詳細に見ると、10進の値で33を有する
係数は、まず、最も有意な係数であり、2つの先行する
0を有する。従って、2つの0が、ビット・プレーン・
レベル8及び7について出力される(2002、200
4)。次いで、10進で33の係数の値は、係数出力
(2006)のトリガリングになる。この係数は、1の
値の出力の後に出力される。
【0102】次いで、有意な2進ビット・セットとして
他に係数ががないため、ビット・プレーン・レベル番号
を下げるために0が出力される(2008)。このビッ
ト・プレーンでは、次いで、10進で17のビット・プ
レーンがセットされる。これは、1及び一連の係数20
10(図19の係数1906に対応する)の出力のトリ
ガであり、図19の係数1908に対応する係数を残
す。次いで、次の最も有意な10進の値は4であり、図
19のHL1係数に対応する係数2018がその後に続
くビット・プレーン・レベル3(2016)で1が出力
される前に、一連の0がステップ2012、2014で
出力される。ブロックが、1つ以上の画素係数を有する
場合は、このアルゴリズムは、各組の係数に対して繰り
返して適用される。即ち、このアルゴリズムは、HL1
係数、LH1係数及びHH1係数に対して繰り返して適
用される。これには、これらの係数を符号化するための
プッシュ・ダウン・スタックの動作を必要とする。従っ
て、図20のステップ2020を追加し、カレント・ビ
ット・プレーンは、再びビット・プレーン・レベル3に
なり、LH1に対応する係数は、このビット・プレーン
でいずれかが有意であるかどうかを決定するために検査
される。そして、このビット・レーンでは、有意な係数
がないため、0が出力され(2020)、続いて1が出
力され、更に、20222に示す一連の係数が出力され
る。次いで、HH1係数が、独立してビット・プレーン
・レベル3から繰り返され(2024)、ビット・プー
ン1に達して1の値及び対応する係数(2028)が出
力されるまで、一連の0が出力される(2024、20
26)。
他に係数ががないため、ビット・プレーン・レベル番号
を下げるために0が出力される(2008)。このビッ
ト・プレーンでは、次いで、10進で17のビット・プ
レーンがセットされる。これは、1及び一連の係数20
10(図19の係数1906に対応する)の出力のトリ
ガであり、図19の係数1908に対応する係数を残
す。次いで、次の最も有意な10進の値は4であり、図
19のHL1係数に対応する係数2018がその後に続
くビット・プレーン・レベル3(2016)で1が出力
される前に、一連の0がステップ2012、2014で
出力される。ブロックが、1つ以上の画素係数を有する
場合は、このアルゴリズムは、各組の係数に対して繰り
返して適用される。即ち、このアルゴリズムは、HL1
係数、LH1係数及びHH1係数に対して繰り返して適
用される。これには、これらの係数を符号化するための
プッシュ・ダウン・スタックの動作を必要とする。従っ
て、図20のステップ2020を追加し、カレント・ビ
ット・プレーンは、再びビット・プレーン・レベル3に
なり、LH1に対応する係数は、このビット・プレーン
でいずれかが有意であるかどうかを決定するために検査
される。そして、このビット・レーンでは、有意な係数
がないため、0が出力され(2020)、続いて1が出
力され、更に、20222に示す一連の係数が出力され
る。次いで、HH1係数が、独立してビット・プレーン
・レベル3から繰り返され(2024)、ビット・プー
ン1に達して1の値及び対応する係数(2028)が出
力されるまで、一連の0が出力される(2024、20
26)。
【0103】以上の符号化システムは、前述の特許出願
において詳述されており、その動作の詳細は、「1.4 第
2のSWEET画像圧縮方法の符号化処理」のセクションに
記載されている。
において詳述されており、その動作の詳細は、「1.4 第
2のSWEET画像圧縮方法の符号化処理」のセクションに
記載されている。
【0104】本発明の好適な実施の形態の1つの目的
は、符号化出力及び前述の画像圧縮方法の係数出力の生
成のための効率的な手法を提供することにある。
は、符号化出力及び前述の画像圧縮方法の係数出力の生
成のための効率的な手法を提供することにある。
【0105】好適な実施の形態の議論は、パーティショ
ン・ツリー構造を本質的に示す図20の出力構造の例の
理解に基づいて進める。図18及び図20の例に対応す
るパーティション・ツリー構造の1つの例が図21に示
されている。この場合、内部ノード或いはサークルは、
その下のサブツリー内の画素を示すためのビットの数の
最大値を含む。リーフ・ノード(例えば、2102)
は、画素データの値を含み、続くサブ・ツリー・ノード
(例えば、2104)は、その下のサブ・ツリー内の画
素を示すために必要なビットの数を更に符号化する。
ン・ツリー構造を本質的に示す図20の出力構造の例の
理解に基づいて進める。図18及び図20の例に対応す
るパーティション・ツリー構造の1つの例が図21に示
されている。この場合、内部ノード或いはサークルは、
その下のサブツリー内の画素を示すためのビットの数の
最大値を含む。リーフ・ノード(例えば、2102)
は、画素データの値を含み、続くサブ・ツリー・ノード
(例えば、2104)は、その下のサブ・ツリー内の画
素を示すために必要なビットの数を更に符号化する。
【0106】最初に一番左のブランチに接続されたルー
ト2100から、図21のツリー構造を横断することに
より、必要とされる最小ビット数と共に画素を符号化す
ることができる。すなわち、次の擬似コードが、パーテ
ィション・ツリーの反復的な処理において利用される。 係数のアレイが与えられると、リーフ・ノードではない
一番右下のリーフのツリー1606から開始することに
より、図21に示すような対応するツリーを構成するこ
とが可能になる。次いで、全てのリーフ2108〜21
14が取り込まれ、リーフ・ノードを示すために必要な
ビットの最小数が内部ノード1606に置かれる。特定
レベルで全ての内部ノードが満たされると、カレント・
レベルにおける各レベルが検査され(ノード、210
6、2120、2118)、それらの最大値が決定され
る。この最大値は、それらの親ノード値2116として
追加される。この処理は、ノード2104における値に
関して継続される。この値は、ノード2122、212
4、2126を示すために必要とされるビットの数及び
前のノード2116から得られる値によって決定され
る。この処理は、ルート・ノードに到達するまで、全て
の内部ノードを満たしながら継続される。
ト2100から、図21のツリー構造を横断することに
より、必要とされる最小ビット数と共に画素を符号化す
ることができる。すなわち、次の擬似コードが、パーテ
ィション・ツリーの反復的な処理において利用される。 係数のアレイが与えられると、リーフ・ノードではない
一番右下のリーフのツリー1606から開始することに
より、図21に示すような対応するツリーを構成するこ
とが可能になる。次いで、全てのリーフ2108〜21
14が取り込まれ、リーフ・ノードを示すために必要な
ビットの最小数が内部ノード1606に置かれる。特定
レベルで全ての内部ノードが満たされると、カレント・
レベルにおける各レベルが検査され(ノード、210
6、2120、2118)、それらの最大値が決定され
る。この最大値は、それらの親ノード値2116として
追加される。この処理は、ノード2104における値に
関して継続される。この値は、ノード2122、212
4、2126を示すために必要とされるビットの数及び
前のノード2116から得られる値によって決定され
る。この処理は、ルート・ノードに到達するまで、全て
の内部ノードを満たしながら継続される。
【0107】[2.2 第1の好適な実施の形態]図2
2には、前述の構成を構築する図13の係数エンコーダ
1305の第1の好適な実施の形態がより詳細に示され
ている。この係数エンコーダ1305は、対応するデー
タ1304を取り込んで符号化データ1306を連続的
に出力するように設計されている。エンコーダ1305
は、ツリー構成部(tree builder)2200とツリー・
コーダー2204の2つの主ロジック部を含む。ツリー
構成部2200は、入力係数データ1304を反対の順
序でリードして、全ての内部ノード(例えば、図21の
2106、2120、2118、2116、2104及
び2100)の値を計算すると共に、係数の値を対応す
るツリーのロケーションに格納する。このデータは、ツ
リー・テーブル(例えば、2202)内に格納される。
ツリー・テーブル2202は、複数のテーブルを同時に
格納する能力を有し、”ピンポン”バッファとして動作
する。これは、ツリー・コーダ2204によりツリー・
テーブル2202から、先に構成されたツリーを読み出
しながら、バッファの一方の側を第1のツリーを構築す
るために利用する動作である。バッファは、構成処理の
終了に伴ってスワップされる。
2には、前述の構成を構築する図13の係数エンコーダ
1305の第1の好適な実施の形態がより詳細に示され
ている。この係数エンコーダ1305は、対応するデー
タ1304を取り込んで符号化データ1306を連続的
に出力するように設計されている。エンコーダ1305
は、ツリー構成部(tree builder)2200とツリー・
コーダー2204の2つの主ロジック部を含む。ツリー
構成部2200は、入力係数データ1304を反対の順
序でリードして、全ての内部ノード(例えば、図21の
2106、2120、2118、2116、2104及
び2100)の値を計算すると共に、係数の値を対応す
るツリーのロケーションに格納する。このデータは、ツ
リー・テーブル(例えば、2202)内に格納される。
ツリー・テーブル2202は、複数のテーブルを同時に
格納する能力を有し、”ピンポン”バッファとして動作
する。これは、ツリー・コーダ2204によりツリー・
テーブル2202から、先に構成されたツリーを読み出
しながら、バッファの一方の側を第1のツリーを構築す
るために利用する動作である。バッファは、構成処理の
終了に伴ってスワップされる。
【0108】ツリー・コーダー2204は、構成された
ツリー・テーブルをルート・ノードから下方向に読み出
し、内部ノードにセットされた値に応じて画素を符号化
する役割を果たす。ツリー・コーダー2204の通常の
出力は、サイクル当たり、ちょうど4出力画素とするこ
とができる。
ツリー・テーブルをルート・ノードから下方向に読み出
し、内部ノードにセットされた値に応じて画素を符号化
する役割を果たす。ツリー・コーダー2204の通常の
出力は、サイクル当たり、ちょうど4出力画素とするこ
とができる。
【0109】図23には、ツリー構成部2200の構成
の一例が示されている。この構造は、フィニット・ステ
ート・マシーン(finite state machine)からなる制御
部2300の制御の下で動作する。このツリー構成部2
200は、ツリー・テーブル格納部に出力(2301)
の適切な出力値と共にツリー(図21)を構成する役割
を果たす。
の一例が示されている。この構造は、フィニット・ステ
ート・マシーン(finite state machine)からなる制御
部2300の制御の下で動作する。このツリー構成部2
200は、ツリー・テーブル格納部に出力(2301)
の適切な出力値と共にツリー(図21)を構成する役割
を果たす。
【0110】入力係数値1304は、リーフ・ノード・
エンコーダ1802及び内部ノード・エンコーダ230
4に送られる。リーフ・ノード・エンコーダは、係数デ
ータ2306を出力する役割を果たし、内部ノード・エ
ンコーダ2304は、内部ノード出力データ2308を
出力する役割を果たす。これらの値は、制御部2300
の制御の下でマルチプレクサ2310により選択され
る。
エンコーダ1802及び内部ノード・エンコーダ230
4に送られる。リーフ・ノード・エンコーダは、係数デ
ータ2306を出力する役割を果たし、内部ノード・エ
ンコーダ2304は、内部ノード出力データ2308を
出力する役割を果たす。これらの値は、制御部2300
の制御の下でマルチプレクサ2310により選択され
る。
【0111】図24には、図23のリーフ・ノード・エ
ンコーダ2302がより詳細に示されている。このリー
フ・ノード・エンコーダは、図24に示すように構成す
ることができ、計数値は、まず、図21に示す各リーフ
・レベル2128〜2136で、レジスタ群2400に
格納される。先行ゼロ決定部(leading zero determine
r)2402は、カレント出力ノードの下位の内部ノー
ド(lower internal nodes)を含む入力値2312の
他、レジスタ・アレイ2400に格納された入力係数を
示すために必要なビット数を決定する。2組の入力の最
大マグニチュード値が決定され、これが出力2314と
される。この出力2314は、内部ノードエンコーダ2
304(図23)にフィードバックされる。図25に
は、先行ゼロ決定部が示されている。先行ゼロ決定部
は、全入力係数値の中の最も有意なビット(most signi
ficant bit)を決定する第1の比較器群2500と、最
大入力ノード値を決定する第2の比較器群とを有する。
最終段の比較器群2504は、ユニット2500、25
02からの2つの出力のうち最大値を決定し、カレント
内部ノード出力値2314を生成する。様々なレベル
で、様々な入力信号が存在しないことが理解される。こ
の場合、0の値は、先行ゼロ決定器2402に影響を与
えないものとして利用され得る。
ンコーダ2302がより詳細に示されている。このリー
フ・ノード・エンコーダは、図24に示すように構成す
ることができ、計数値は、まず、図21に示す各リーフ
・レベル2128〜2136で、レジスタ群2400に
格納される。先行ゼロ決定部(leading zero determine
r)2402は、カレント出力ノードの下位の内部ノー
ド(lower internal nodes)を含む入力値2312の
他、レジスタ・アレイ2400に格納された入力係数を
示すために必要なビット数を決定する。2組の入力の最
大マグニチュード値が決定され、これが出力2314と
される。この出力2314は、内部ノードエンコーダ2
304(図23)にフィードバックされる。図25に
は、先行ゼロ決定部が示されている。先行ゼロ決定部
は、全入力係数値の中の最も有意なビット(most signi
ficant bit)を決定する第1の比較器群2500と、最
大入力ノード値を決定する第2の比較器群とを有する。
最終段の比較器群2504は、ユニット2500、25
02からの2つの出力のうち最大値を決定し、カレント
内部ノード出力値2314を生成する。様々なレベル
で、様々な入力信号が存在しないことが理解される。こ
の場合、0の値は、先行ゼロ決定器2402に影響を与
えないものとして利用され得る。
【0112】図23に戻って、内部ノード・エンコーダ
2304は、ステート・マシーン2300の制御の下で
必要な時に内部ノード出力2308を出力する他、リー
フ・ノード・エンコーダ出力値2314を格納する。こ
のリーフ・ノード・エンコーダ出力値2314は、必要
な時にリーフ・ノード・エンコーダにフィードバックさ
れる。
2304は、ステート・マシーン2300の制御の下で
必要な時に内部ノード出力2308を出力する他、リー
フ・ノード・エンコーダ出力値2314を格納する。こ
のリーフ・ノード・エンコーダ出力値2314は、必要
な時にリーフ・ノード・エンコーダにフィードバックさ
れる。
【0113】図23のツリー構成部2200は、入力と
して係数値を取り込んで、図21のツリー構造を符号化
してその出力とする。
して係数値を取り込んで、図21のツリー構造を符号化
してその出力とする。
【0114】図22に戻って、ツリー・コーダーは、ツ
リー・テーブル2202から図21のパーティション・
ツリー構造をリードして、符号化出力1306を出力す
る。ツリー・コーダ2204は、前述のように、”処理
ノード(process node)”というアルゴリズムを実行す
る。ツリー・コーダーは、また、前述のアルゴリズムを
実行するために、ステート・マシーン、対応する記憶及
び制御回路を有してもよい。
リー・テーブル2202から図21のパーティション・
ツリー構造をリードして、符号化出力1306を出力す
る。ツリー・コーダ2204は、前述のように、”処理
ノード(process node)”というアルゴリズムを実行す
る。ツリー・コーダーは、また、前述のアルゴリズムを
実行するために、ステート・マシーン、対応する記憶及
び制御回路を有してもよい。
【0115】図26には、ツリー・コーダー2204の
一構成例が示されている。4つのリーフ・ノードを有す
る内部ノードが内部ノード・コーダ2602によって生
成された場合、内部ノード・コーダは、0の並びと1を
出力して、有意なビット・プレーン(significant bit
plane)を必要なレベルまで下げる。内部ノード・コー
ダは、また、係数コンデンサ(coefficient condense
r)2602が必要とするビット数を出力する。係数コ
ンデンサ2602は、4つの係数を取り込んで、各々か
ら必要なビット数を取り出してパックする。データ・ス
トリーム・マージャ2604は、内部ノードコーダー2
602から有意な情報(significance information)を
受け取ると共に、係数コンデンサ2602から圧縮され
た係数を受け取って、それらをパックする。しかしなが
ら、全ての内部子ノード(internalchildren nodes)を
有する1つの内部ノードが発生した場合は、有意な情報
が出力される。ツリー・コーダ2204の制御部は、パ
ーティション・ツリーの構造に従うステート・マシーン
で構成してもよい。
一構成例が示されている。4つのリーフ・ノードを有す
る内部ノードが内部ノード・コーダ2602によって生
成された場合、内部ノード・コーダは、0の並びと1を
出力して、有意なビット・プレーン(significant bit
plane)を必要なレベルまで下げる。内部ノード・コー
ダは、また、係数コンデンサ(coefficient condense
r)2602が必要とするビット数を出力する。係数コ
ンデンサ2602は、4つの係数を取り込んで、各々か
ら必要なビット数を取り出してパックする。データ・ス
トリーム・マージャ2604は、内部ノードコーダー2
602から有意な情報(significance information)を
受け取ると共に、係数コンデンサ2602から圧縮され
た係数を受け取って、それらをパックする。しかしなが
ら、全ての内部子ノード(internalchildren nodes)を
有する1つの内部ノードが発生した場合は、有意な情報
が出力される。ツリー・コーダ2204の制御部は、パ
ーティション・ツリーの構造に従うステート・マシーン
で構成してもよい。
【0116】図35は、第1の好適な実施の形態におい
て一連の係数の符号化の方法が示されている。ステップ
3500では、必要なパラメータが初期化され、変換す
べき画像の一連の係数が入力される。次のステップ35
02では、これらの一連の係数のツリー表現が構成され
る。このツリー構成は、入力係数を反対の順序で読込
み、入力係数の値を対応するツリーのロケーションに格
納する他、全内部ノード(例えば、図21の2106、
2120、2118、2116、2104及び210
0)の値を演算することにより開始される。このデータ
は、先に構成されたツリーをバッファからリードしなが
らバッファの他の側を第1ツリーを構成するために利用
するようなダブルバッファに格納されることが好まし
い。次のステップ3504では、構成されたツリー表現
が符号化される。この符号化は、前述の"ProcessNode"
アルゴリズムの形態で行われる。この処理は、ステップ
3506で終了する。
て一連の係数の符号化の方法が示されている。ステップ
3500では、必要なパラメータが初期化され、変換す
べき画像の一連の係数が入力される。次のステップ35
02では、これらの一連の係数のツリー表現が構成され
る。このツリー構成は、入力係数を反対の順序で読込
み、入力係数の値を対応するツリーのロケーションに格
納する他、全内部ノード(例えば、図21の2106、
2120、2118、2116、2104及び210
0)の値を演算することにより開始される。このデータ
は、先に構成されたツリーをバッファからリードしなが
らバッファの他の側を第1ツリーを構成するために利用
するようなダブルバッファに格納されることが好まし
い。次のステップ3504では、構成されたツリー表現
が符号化される。この符号化は、前述の"ProcessNode"
アルゴリズムの形態で行われる。この処理は、ステップ
3506で終了する。
【0117】以上のように、第1の実施の形態は、係数
データを高速に符号化する効率的な形態であり、ハード
ウェアによる構成が容易で、係数データの符号化を高速
に行うことができる。 [2.3 第2の好適な実施の形態]図27において、
ウエーブレット係数行列は、各々符号化の分離レベルで
ある係数のグループ或いは組に分割される。レベル21
36(図21)でのA係数は、符号化される第1の係数
である。B係数B1、B2及びB3は、次のレベル21
34(図21)で符号化される。C係数C1〜C4は、
グループとしてレベル2132(図21)で符号化され
る。続いて、D係数は、レベル2130で符号化され、
E係数は、レベル2128で符号化される。このような
フォーマットは、第2の実施の形態のエンコーダにおい
て利用される。
データを高速に符号化する効率的な形態であり、ハード
ウェアによる構成が容易で、係数データの符号化を高速
に行うことができる。 [2.3 第2の好適な実施の形態]図27において、
ウエーブレット係数行列は、各々符号化の分離レベルで
ある係数のグループ或いは組に分割される。レベル21
36(図21)でのA係数は、符号化される第1の係数
である。B係数B1、B2及びB3は、次のレベル21
34(図21)で符号化される。C係数C1〜C4は、
グループとしてレベル2132(図21)で符号化され
る。続いて、D係数は、レベル2130で符号化され、
E係数は、レベル2128で符号化される。このような
フォーマットは、第2の実施の形態のエンコーダにおい
て利用される。
【0118】図28には、高速エンコーダの1つの形態
2800が示されている。この形態では、入力としての
係数行列を、有意でないビット・プレーン(least sign
ificant bit plane)2804から最も有意なビット・
プレーン(most significantbit plane)2812まで
のビット・プレーンに分割する。各ビット・プレーン
は、独立のビット・プレーン部(例えば、2814、・・
・、2822)に送られる。ビット・プレーン部の出力
は、係数データを符号化した形式のデータを出力するパ
ッキング・ロジック部2824に送られる。各出力は、
隣のビット・プレーン部にも送られる。
2800が示されている。この形態では、入力としての
係数行列を、有意でないビット・プレーン(least sign
ificant bit plane)2804から最も有意なビット・
プレーン(most significantbit plane)2812まで
のビット・プレーンに分割する。各ビット・プレーン
は、独立のビット・プレーン部(例えば、2814、・・
・、2822)に送られる。ビット・プレーン部の出力
は、係数データを符号化した形式のデータを出力するパ
ッキング・ロジック部2824に送られる。各出力は、
隣のビット・プレーン部にも送られる。
【0119】図29には、ビット・プレーン部2814
の1つの形態が示されている。ビット・プレーン部28
14は、入力2902及び2904を受け取る。入力2
902は、対応するビット・プレーンの16ビットを含
み、入力2904は、前段のビット・プレーン部からの
データ有効ビットA〜Eを含む。ビット・プレーン部
は、データ有効ビットA〜E(2906)を次段のビッ
ト・プレーン部に出力する。また、パッキング・ロジッ
ク部への出力は、16個の入力データ・ビット2908
及び5個のデータ有効ビット2910である。ビット・
プレーン部は、次の論理式を実行する。ここで、「+」
は、論理的なOR演算である。 A = A' + BitA B = B' + (BitB1 + BitB2 + BitB3) C = C' + (BitC1 + BitC2 + BitC3) D = D' + (BitD1 + BitD2 + BitD3 + BitD4) E = E' + (BitE1 + BitE2 + BitE3 + BitE4) 従って、ビット・プレーン部は、各係数グループA〜E
が有効である場合に決定することが理解される。
の1つの形態が示されている。ビット・プレーン部28
14は、入力2902及び2904を受け取る。入力2
902は、対応するビット・プレーンの16ビットを含
み、入力2904は、前段のビット・プレーン部からの
データ有効ビットA〜Eを含む。ビット・プレーン部
は、データ有効ビットA〜E(2906)を次段のビッ
ト・プレーン部に出力する。また、パッキング・ロジッ
ク部への出力は、16個の入力データ・ビット2908
及び5個のデータ有効ビット2910である。ビット・
プレーン部は、次の論理式を実行する。ここで、「+」
は、論理的なOR演算である。 A = A' + BitA B = B' + (BitB1 + BitB2 + BitB3) C = C' + (BitC1 + BitC2 + BitC3) D = D' + (BitD1 + BitD2 + BitD3 + BitD4) E = E' + (BitE1 + BitE2 + BitE3 + BitE4) 従って、ビット・プレーン部は、各係数グループA〜E
が有効である場合に決定することが理解される。
【0120】図30には、図28のパッキング・ロジッ
ク回路2824の構成の1つの形態が示されている。パ
ッキング・ロジックは、入力データ有効ビット群から開
始アドレスを抽出するABCDE開始アドレス抽出器3
000を含む。更に、データ・パッカー群3002〜3
010は、係数データをパックして、所定サイズの係数
を有する連続体(contiguous units)にする。開始アド
レス3011及びデータ・パッカー3002〜3010
からのデータ出力は、所定の出力サイズ3016の正し
くフォーマットされた係数ストリーム3014を形成す
るためにデータを結合する結合ユニット3012に送ら
れる。係数ストリームデータは、その後、必要に応じ
て、更なる出力3018のために出力格納部3016に
送られる。
ク回路2824の構成の1つの形態が示されている。パ
ッキング・ロジックは、入力データ有効ビット群から開
始アドレスを抽出するABCDE開始アドレス抽出器3
000を含む。更に、データ・パッカー群3002〜3
010は、係数データをパックして、所定サイズの係数
を有する連続体(contiguous units)にする。開始アド
レス3011及びデータ・パッカー3002〜3010
からのデータ出力は、所定の出力サイズ3016の正し
くフォーマットされた係数ストリーム3014を形成す
るためにデータを結合する結合ユニット3012に送ら
れる。係数ストリームデータは、その後、必要に応じ
て、更なる出力3018のために出力格納部3016に
送られる。
【0121】データ有効ビットが与えられると、係数
A,B,C,D及びEの各組の開始ポイントを決定する
ことができる。図31には、A,B,C,D,E開始抽
出部3000の構造が示されている。各係数成分A〜E
に関するデータ有効ビットは、対応するマグニチュード
・ユニット出力部(例えば、3102)に送られる。マ
グニチュード・ユニット出力部は、最も有意なデータビ
ット(most significantdata bit)を出力する。この処
理は、各出力データ成分に関して繰り返され、その出力
は、ルックアップ・テーブル3104で利用される。ル
ックアップ・テーブル3014は、係数データの全体サ
イズ3108の他、係数開始値Astart〜Estartを出力す
るように、予め演算が施されている。
A,B,C,D及びEの各組の開始ポイントを決定する
ことができる。図31には、A,B,C,D,E開始抽
出部3000の構造が示されている。各係数成分A〜E
に関するデータ有効ビットは、対応するマグニチュード
・ユニット出力部(例えば、3102)に送られる。マ
グニチュード・ユニット出力部は、最も有意なデータビ
ット(most significantdata bit)を出力する。この処
理は、各出力データ成分に関して繰り返され、その出力
は、ルックアップ・テーブル3104で利用される。ル
ックアップ・テーブル3014は、係数データの全体サ
イズ3108の他、係数開始値Astart〜Estartを出力す
るように、予め演算が施されている。
【0122】図30に戻り、A,B,C,D,E開始抽
出部からの出力は、データ・パッカーからの出力と共に
結合部3012に送られる。結合部は、独立したバレル
シフター群(例えば、3200)で構成される。このバ
レルシフターは、対応するデータ入力、例えば、対応す
るパッカーからのAdata_packedをラッチすることができ
る。データ入力は、対応する開始入力(Astart)に応じ
てバレル・シフトされ、正しい位置に移される。バレル
・シフター(例えば、3200)からの出力群は、次い
で、OR演算され、これにより出力データを構成する最
終出力3202が構成される。更に、ルックアップ・テ
ーブルからの全体サイズ値3108はサイズ・データ3
204として出力される。
出部からの出力は、データ・パッカーからの出力と共に
結合部3012に送られる。結合部は、独立したバレル
シフター群(例えば、3200)で構成される。このバ
レルシフターは、対応するデータ入力、例えば、対応す
るパッカーからのAdata_packedをラッチすることができ
る。データ入力は、対応する開始入力(Astart)に応じ
てバレル・シフトされ、正しい位置に移される。バレル
・シフター(例えば、3200)からの出力群は、次い
で、OR演算され、これにより出力データを構成する最
終出力3202が構成される。更に、ルックアップ・テ
ーブルからの全体サイズ値3108はサイズ・データ3
204として出力される。
【0123】図30に戻り、出力データは、その後、出
力格納器3016に送られ、ここで、図32の全体サイ
ズ値3204に従ってバレル・シフトされ、必要に応じ
て最終出力3018と共に出力される(3016、図3
0)。
力格納器3016に送られ、ここで、図32の全体サイ
ズ値3204に従ってバレル・シフトされ、必要に応じ
て最終出力3018と共に出力される(3016、図3
0)。
【0124】従って、図28の構成は、係数を符号化し
た出力を高速に生成するシステムを提供することが理解
される。係数プレーンは、効果的に並列に処理され、パ
ッキングも並列に処理される。更に、この構成は、パイ
プライン処理が簡単なパイプライン・フォーマットで構
成されており、スループプットを高めることができる。
た出力を高速に生成するシステムを提供することが理解
される。係数プレーンは、効果的に並列に処理され、パ
ッキングも並列に処理される。更に、この構成は、パイ
プライン処理が簡単なパイプライン・フォーマットで構
成されており、スループプットを高めることができる。
【0125】図36には、第2の実施の形態において、
一連の係数から符号化されたビット・ストリームを生成
する方法のフローチャートが示されている。ステップ3
600では、必要なパラメータが初期化される。次のス
テップ3602では、係数のブロックが入力される。こ
の係数のブロックは、ウエーブレット変換の係数である
ことが好ましい。ウエーブレット変換に関する説明とし
ては、各係数が8ビットを有する4×4の係数アレイが
挙げられる。次のステップ3604では、係数データ
は、ビット・プレーンにグループ分けされる。図28に
示す高速のエンコーダーの好適な実施の形態において
は、係数データは、ビット・プレーンにグループ分けさ
れ、ビット・プレーン部2804〜2812に送られ
る。次のステップ3606では、係数データは、図27
に示すように、各グループA,B,C,D,E内で0部
分及び非0部分にグループ分けされる。例えば、B内の
係数データは、00011111のようにグループ化さ
れる。先行する3つの0は、全て0を含むB内の第7、
第6、第5ビット・プレーンを示す。後続の5つの1
は、それぞれ0以外の値を少なくとも1つ含む第4、第
3、第2、第1及び第0のビット・プレーンを示す。ス
テップ3608では、係数を含むビット・プレーンが出
力される。ステップ3610では、各グループA,B,
C,D,及びE内で0グループ及び非0グループである
ことを示すデータ有効ビットが出力される。グループ
A,B,C,D,及びEに対応する各々の出力されたビ
ット・プレーンについて5つのデータ有効ビットがあ
る。データ有効ビットは、0/非0のグループ分けを示
す。例えば、上記の例では、Bグループの第7ビット・
プレーンに関するデータ有効ビットは1である。次のス
テップ3612では、係数を含むビット・プレーンがデ
ータ有効ビットを利用してパックされ、符号化されたビ
ット・ストリームが生成される。この処理は、ステップ
3614で終了する。
一連の係数から符号化されたビット・ストリームを生成
する方法のフローチャートが示されている。ステップ3
600では、必要なパラメータが初期化される。次のス
テップ3602では、係数のブロックが入力される。こ
の係数のブロックは、ウエーブレット変換の係数である
ことが好ましい。ウエーブレット変換に関する説明とし
ては、各係数が8ビットを有する4×4の係数アレイが
挙げられる。次のステップ3604では、係数データ
は、ビット・プレーンにグループ分けされる。図28に
示す高速のエンコーダーの好適な実施の形態において
は、係数データは、ビット・プレーンにグループ分けさ
れ、ビット・プレーン部2804〜2812に送られ
る。次のステップ3606では、係数データは、図27
に示すように、各グループA,B,C,D,E内で0部
分及び非0部分にグループ分けされる。例えば、B内の
係数データは、00011111のようにグループ化さ
れる。先行する3つの0は、全て0を含むB内の第7、
第6、第5ビット・プレーンを示す。後続の5つの1
は、それぞれ0以外の値を少なくとも1つ含む第4、第
3、第2、第1及び第0のビット・プレーンを示す。ス
テップ3608では、係数を含むビット・プレーンが出
力される。ステップ3610では、各グループA,B,
C,D,及びE内で0グループ及び非0グループである
ことを示すデータ有効ビットが出力される。グループ
A,B,C,D,及びEに対応する各々の出力されたビ
ット・プレーンについて5つのデータ有効ビットがあ
る。データ有効ビットは、0/非0のグループ分けを示
す。例えば、上記の例では、Bグループの第7ビット・
プレーンに関するデータ有効ビットは1である。次のス
テップ3612では、係数を含むビット・プレーンがデ
ータ有効ビットを利用してパックされ、符号化されたビ
ット・ストリームが生成される。この処理は、ステップ
3614で終了する。
【0126】[2.4 第3の好適な実施の形態]図3
3には、係数エンコーダ1305の好適な第3の実施の
形態の動作が示されている。第3の好適な実施の形態に
おいては、入力データ1304は、各係数が8ビットを
有する4×4のアレイのブロックを含むものと仮定す
る。第3の好適な実施の形態では、画素データは、1つ
のビット・プレーンが係数エンコーダに送られる時に、
該係数エンコーダに送り込まれる。この動作は、最も有
意なプレーンから開始される。この係数エンコーダの主
動作部は、一群のnumbitレジスタ3302、一群の最小
画素レジスタ3304及び画素パッカー3306を含
む。
3には、係数エンコーダ1305の好適な第3の実施の
形態の動作が示されている。第3の好適な実施の形態に
おいては、入力データ1304は、各係数が8ビットを
有する4×4のアレイのブロックを含むものと仮定す
る。第3の好適な実施の形態では、画素データは、1つ
のビット・プレーンが係数エンコーダに送られる時に、
該係数エンコーダに送り込まれる。この動作は、最も有
意なプレーンから開始される。この係数エンコーダの主
動作部は、一群のnumbitレジスタ3302、一群の最小
画素レジスタ3304及び画素パッカー3306を含
む。
【0127】一群のnumbitレジスタ3302は、まず、
係数エンコーダ1305に送られてくる新しいブロック
のために全てリセットされる。numbitレジスタは、それ
ぞれの係数に対応して、16個の1ビットレジスタ33
06を有し、これらは、ビット・プレーン入力1304
から最初に1を受信することによってセットされる。ビ
ット・プレーン番号レジスタ3308は、ビット・プレ
ーンが入力される時に該ビット・プレーンをカウントダ
ウンする。3310には、16個の3ビット・レジスタ
が設けられており、これは1ビット・レジスタがセット
された時に対応するビット・プレーン番号を格納する。
従って、1ビット・レジスタ3306は、入力から1つ
の1ビットを受信した時にハイにラッチされ、この時、
対応するレベルが3ビット・レジスタ3310にラッチ
される。1つの1ビット・ステータス・レジスタ330
6がセットされると、更なるラッチは起こらない。16
個の3ビットの番号3310の各々は、比較器3312
のバンクに出力され、ここで、カレント・ビット・プレ
ーン番号3308と比較される。ビット・プレーン番号
カウンタ3308の内容がnumbitレジスタ3310にお
ける対応する値以下であれば、プレーン・データ値が最
小画素レジスタ3304のうち対応する1つのにラッチ
される。従って、最小画素レジスタは、出力すべき係数
を格納し、numbitレジスタは、各係数の有意なビットの
番号をを格納する。画素パッカー3314は、最少画素
レジスタ3304及びnumbitレジスタ3302をアクセ
スする。画素パッカー3314は、numbitレジスタ33
02及び最小画素レジスタ3304の双方の内容をリー
ドして、それらの画素をどのようにパックするかを決定
する。画素パッカーの出力は、要求されるビットストリ
ームとなる。
係数エンコーダ1305に送られてくる新しいブロック
のために全てリセットされる。numbitレジスタは、それ
ぞれの係数に対応して、16個の1ビットレジスタ33
06を有し、これらは、ビット・プレーン入力1304
から最初に1を受信することによってセットされる。ビ
ット・プレーン番号レジスタ3308は、ビット・プレ
ーンが入力される時に該ビット・プレーンをカウントダ
ウンする。3310には、16個の3ビット・レジスタ
が設けられており、これは1ビット・レジスタがセット
された時に対応するビット・プレーン番号を格納する。
従って、1ビット・レジスタ3306は、入力から1つ
の1ビットを受信した時にハイにラッチされ、この時、
対応するレベルが3ビット・レジスタ3310にラッチ
される。1つの1ビット・ステータス・レジスタ330
6がセットされると、更なるラッチは起こらない。16
個の3ビットの番号3310の各々は、比較器3312
のバンクに出力され、ここで、カレント・ビット・プレ
ーン番号3308と比較される。ビット・プレーン番号
カウンタ3308の内容がnumbitレジスタ3310にお
ける対応する値以下であれば、プレーン・データ値が最
小画素レジスタ3304のうち対応する1つのにラッチ
される。従って、最小画素レジスタは、出力すべき係数
を格納し、numbitレジスタは、各係数の有意なビットの
番号をを格納する。画素パッカー3314は、最少画素
レジスタ3304及びnumbitレジスタ3302をアクセ
スする。画素パッカー3314は、numbitレジスタ33
02及び最小画素レジスタ3304の双方の内容をリー
ドして、それらの画素をどのようにパックするかを決定
する。画素パッカーの出力は、要求されるビットストリ
ームとなる。
【0128】画素パッカー3314は、numbitレジスタ
3302から値をリードして、各係数の最も有意なビッ
トを決定し、また、最小画素レジスタ3304から最小
係数値をリードし、最小係数値及び有意なビットの番号
を示す0を出力する。この方法は、「1.4 第2のSW
EET画像圧縮方法の符号化処理」に説明されている。
3302から値をリードして、各係数の最も有意なビッ
トを決定し、また、最小画素レジスタ3304から最小
係数値をリードし、最小係数値及び有意なビットの番号
を示す0を出力する。この方法は、「1.4 第2のSW
EET画像圧縮方法の符号化処理」に説明されている。
【0129】図34は、このような画素パッカー331
4の一例を示している。画素パッカー3314は、フィ
ニット・ステート・マシーン(finite state machine)
3400を含む。フィニット・ステート・マシーンは、
パーティション構造を知っており、numbitレジスタ33
02及び最小画素レジスタ3304から所定の方法で関
連する画素をアクセスする。例えば、DC画素値は、通
常、フィニット・ステート・マシーン3400により最
初にアクセスされる。フィニット・ステート・マシーン
3400は、関連するロケーションを最小画素レジスタ
・リーダ3402及びnumbitレジスタ・リーダ3404
に送る。これらは、該当するnumbit値及び最小画素値を
引き出す。フィニット・ステート・マシーン3400
は、次いで、カレント・ビット・レベルとnumbit値とを
比較する。まず、カレント・ビット・レベルは、ビット
の最大数にセットされる。numbit値がカレント・ビット
・レベルより小さい場合は、フィニット・ステート・マ
シーン3400は、まず、出力シフト・レジスタ340
6に対して、カレント・ビット番号とnumbit番号との差
分と等価な一連の0を出力する。フィニット・ステート
・マシーン3400は、次いで、出力レジスタ3406
に対して、最小画素ビット値を出力する。最後に、フィ
ニット・ステート・マシーン3400は、カレント・ビ
ット・レベルを、次にヒープ3408に格納されるnumb
itレベルにセットする。しかしながら、numbit値がカレ
ント・ビット値と等しい場合は、フィニット・ステート
・マシーン3400は、単に最小画素値を出力する。こ
のようにして、先行する0部分は、係数部分でインター
リーブされる。
4の一例を示している。画素パッカー3314は、フィ
ニット・ステート・マシーン(finite state machine)
3400を含む。フィニット・ステート・マシーンは、
パーティション構造を知っており、numbitレジスタ33
02及び最小画素レジスタ3304から所定の方法で関
連する画素をアクセスする。例えば、DC画素値は、通
常、フィニット・ステート・マシーン3400により最
初にアクセスされる。フィニット・ステート・マシーン
3400は、関連するロケーションを最小画素レジスタ
・リーダ3402及びnumbitレジスタ・リーダ3404
に送る。これらは、該当するnumbit値及び最小画素値を
引き出す。フィニット・ステート・マシーン3400
は、次いで、カレント・ビット・レベルとnumbit値とを
比較する。まず、カレント・ビット・レベルは、ビット
の最大数にセットされる。numbit値がカレント・ビット
・レベルより小さい場合は、フィニット・ステート・マ
シーン3400は、まず、出力シフト・レジスタ340
6に対して、カレント・ビット番号とnumbit番号との差
分と等価な一連の0を出力する。フィニット・ステート
・マシーン3400は、次いで、出力レジスタ3406
に対して、最小画素ビット値を出力する。最後に、フィ
ニット・ステート・マシーン3400は、カレント・ビ
ット・レベルを、次にヒープ3408に格納されるnumb
itレベルにセットする。しかしながら、numbit値がカレ
ント・ビット値と等しい場合は、フィニット・ステート
・マシーン3400は、単に最小画素値を出力する。こ
のようにして、先行する0部分は、係数部分でインター
リーブされる。
【0130】ブロックの次元をN×M、1画素がKビッ
トであると仮定する。画素パッカーが要求に応じて一度
に4画素をパックすることができるとすると、numbitレ
ジスタ及び最少画素レジスタを満たすためにはKサイク
ルを要し、ビット・ストリームを出力するためにはN×
M/4サイクルを要する。
トであると仮定する。画素パッカーが要求に応じて一度
に4画素をパックすることができるとすると、numbitレ
ジスタ及び最少画素レジスタを満たすためにはKサイク
ルを要し、ビット・ストリームを出力するためにはN×
M/4サイクルを要する。
【0131】勿論、他の様々な変形が可能である。例え
ば、1つの変形例では、最小画素レジスタ及びnumbitレ
ジスタを重複して設けて、最小画素レジスタ及びnumbit
レジスタが次のコーディング・ブロックで満たされてい
く際に、画素パッカー3314が1つの符号化されたブ
ロックを出力するようにしてもよい。更に他の変形例で
は、最小画素レジスタ3304は、高周波係数成分のた
めに、より少ない記憶素子を備えてもよい。この場合、
右下の画素のマグニチュードが許容範囲を越えた場合
に、オーバーフローが起こる。エラーは、次の方法によ
り解決又は低減される。 1.画素のマグニチュードを決定するためにnumbitレジ
スタを使用し、”1”を適切なビット部分に挿入し、出
力画素がマグニチュードと同一の順序を有するようにす
る。 2.ビット・プレーンを再スキャンする。ただし、この
時、古いnumbitレジスタは、画素が最小画素レジスタに
格納される位置に再配置され、これにより右下の画素が
通常より多くの記憶素子を有する。画素パッカーは、変
更された画素位置を認識するために再構成される必要が
ある。 3.最小画素レジスタの代わりに全画素レジスタ(full
pixel registers)を設けて、全画素の全ビットを格納
する。
ば、1つの変形例では、最小画素レジスタ及びnumbitレ
ジスタを重複して設けて、最小画素レジスタ及びnumbit
レジスタが次のコーディング・ブロックで満たされてい
く際に、画素パッカー3314が1つの符号化されたブ
ロックを出力するようにしてもよい。更に他の変形例で
は、最小画素レジスタ3304は、高周波係数成分のた
めに、より少ない記憶素子を備えてもよい。この場合、
右下の画素のマグニチュードが許容範囲を越えた場合
に、オーバーフローが起こる。エラーは、次の方法によ
り解決又は低減される。 1.画素のマグニチュードを決定するためにnumbitレジ
スタを使用し、”1”を適切なビット部分に挿入し、出
力画素がマグニチュードと同一の順序を有するようにす
る。 2.ビット・プレーンを再スキャンする。ただし、この
時、古いnumbitレジスタは、画素が最小画素レジスタに
格納される位置に再配置され、これにより右下の画素が
通常より多くの記憶素子を有する。画素パッカーは、変
更された画素位置を認識するために再構成される必要が
ある。 3.最小画素レジスタの代わりに全画素レジスタ(full
pixel registers)を設けて、全画素の全ビットを格納
する。
【0132】以上のように、第3の好適な実施の形態に
よれば、係数データの高速な符号化のための効率的な形
態を提供し、また、ハードウェアによる実行を容易に
し、高速の係数データの符号化を可能にすることができ
る。
よれば、係数データの高速な符号化のための効率的な形
態を提供し、また、ハードウェアによる実行を容易に
し、高速の係数データの符号化を可能にすることができ
る。
【0133】図37には、本発明の第4の好適な実施の
形態において、係数ストリームを含む一連の係数を符号
化する方法のフローチャートが示されている。この例に
おいては、説明をKN単にするため、8ビットの係数値
を有する4×4のアレイについて説明する。ステップ3
700では、処理が開始され、パラメータが初期化され
る。次のステップ3702では、1つのビット・プレー
ンと同時に係数が入力され、処理はステップS3704
に進む。ステップ3704では、現在符号化されている
領域内の各係数について最も有意なビット値が決定され
る。次のステップ3706では、該領域内の係数であっ
て最も有意なビットよりも小さい係数の位置が格納され
る。処理は、ステップS3708に進み、0部分及び係
数部分が図34を参照して説明した方法で出力される。
処理は、ステップ3710で終了する。
形態において、係数ストリームを含む一連の係数を符号
化する方法のフローチャートが示されている。この例に
おいては、説明をKN単にするため、8ビットの係数値
を有する4×4のアレイについて説明する。ステップ3
700では、処理が開始され、パラメータが初期化され
る。次のステップ3702では、1つのビット・プレー
ンと同時に係数が入力され、処理はステップS3704
に進む。ステップ3704では、現在符号化されている
領域内の各係数について最も有意なビット値が決定され
る。次のステップ3706では、該領域内の係数であっ
て最も有意なビットよりも小さい係数の位置が格納され
る。処理は、ステップS3708に進み、0部分及び係
数部分が図34を参照して説明した方法で出力される。
処理は、ステップ3710で終了する。
【0134】[2.5 装置の他の実施の形態]本発明
に係る好適なエンコーダはハードウェアにより構成され
るが、符号化処理は、図8に一例を示すように、汎用の
コンピュータを使用して実施されてもよい。この場合、
図34、35又は36の処理は、コンピュータ上で実行
されるソフトウェアにより構成される。特に、符号化方
法の手順は、コンピュータにより実行される命令によっ
て実現される。ソフトウェアは、2つの分離した部分に
分割されてもよい。1つの部分は、符号化方法の実行部
であり、他の部分は、ユーザとの間のユーザインターフ
ェースを管理する。ソフトウェアは、コンピュータ読取
可能な媒体(例えば、後述の記憶デバイスを含む)に格
納することができる。ソフトウェアは、コンピュータ読
取可能な媒体からコンピュータにロードされて、コンピ
ュータにより実行される。かかるソフトウェア又はコン
ピュータ・プログラムが記録されたコンピュータ読取可
能な媒体は、コンピュータ・プログラム・プロダクトで
ある。コンピュータにおけるコンピュータ・プログラム
・プロダクトの使用は、本発明の実施の形態に係るデジ
タル画像の符号化表現を符号化するための有益な装置を
提供する。
に係る好適なエンコーダはハードウェアにより構成され
るが、符号化処理は、図8に一例を示すように、汎用の
コンピュータを使用して実施されてもよい。この場合、
図34、35又は36の処理は、コンピュータ上で実行
されるソフトウェアにより構成される。特に、符号化方
法の手順は、コンピュータにより実行される命令によっ
て実現される。ソフトウェアは、2つの分離した部分に
分割されてもよい。1つの部分は、符号化方法の実行部
であり、他の部分は、ユーザとの間のユーザインターフ
ェースを管理する。ソフトウェアは、コンピュータ読取
可能な媒体(例えば、後述の記憶デバイスを含む)に格
納することができる。ソフトウェアは、コンピュータ読
取可能な媒体からコンピュータにロードされて、コンピ
ュータにより実行される。かかるソフトウェア又はコン
ピュータ・プログラムが記録されたコンピュータ読取可
能な媒体は、コンピュータ・プログラム・プロダクトで
ある。コンピュータにおけるコンピュータ・プログラム
・プロダクトの使用は、本発明の実施の形態に係るデジ
タル画像の符号化表現を符号化するための有益な装置を
提供する。
【0135】コンピュータ・システム800は、コンピ
ュータ802、ビデオ・ディスプレイ816、及び入力
デバイス818、820からなる。更に、コンピュータ
・システム800は、他のデバイス、例えば、ライン・
プリンタ、レーザ・プリンタ、プロッタその他のコンピ
ュータ802に接続されるデバイスを含んでもよい。コ
ンピュータ・システム800は、モデム通信路、コンピ
ュータ・ネットワーク等の適切な通信チャネル830を
使用して。通信インターフェース808cを介して1以
上の他のコンピュータと接続されてもよい。コンピュー
タ・ネットワークは、ローカル・エリア・ネットワーク
(LAN)、ワイド・エリア・ネットワーク(WA
N)、イントラネット、及び/又はインターネットを含
み得る。
ュータ802、ビデオ・ディスプレイ816、及び入力
デバイス818、820からなる。更に、コンピュータ
・システム800は、他のデバイス、例えば、ライン・
プリンタ、レーザ・プリンタ、プロッタその他のコンピ
ュータ802に接続されるデバイスを含んでもよい。コ
ンピュータ・システム800は、モデム通信路、コンピ
ュータ・ネットワーク等の適切な通信チャネル830を
使用して。通信インターフェース808cを介して1以
上の他のコンピュータと接続されてもよい。コンピュー
タ・ネットワークは、ローカル・エリア・ネットワーク
(LAN)、ワイド・エリア・ネットワーク(WA
N)、イントラネット、及び/又はインターネットを含
み得る。
【0136】コンピュータ802自体は、図8に示すよ
うに、中央処理装置(以下では、単にプロセッサとい
う)804、例えばランダム・アクセス・メモリ(RA
M)及びリード・オンリー・メモリ(ROM)を含むメ
モリ806、入出力(I/O)インターフェース808
a、808b及び808c、ビデオ・インターフェース
810、及び、代表的にブロック812として図示され
た1以上記憶デバイスからなる。記憶デバイス812
は、フロッピー・ディスク、ハード・ディスク・ドライ
ブ。光磁気ディスク・ドライブ、CD−ROM、磁気テ
ープ、その他、当業者に周知の不揮発性記憶デバイスの
1つ以上を含み得る。構成要素804〜812の各々
は、典型的には、データ、アドレス及びコントロール・
バスからなるバス814を介して1以上の他のデバイス
と接続される。
うに、中央処理装置(以下では、単にプロセッサとい
う)804、例えばランダム・アクセス・メモリ(RA
M)及びリード・オンリー・メモリ(ROM)を含むメ
モリ806、入出力(I/O)インターフェース808
a、808b及び808c、ビデオ・インターフェース
810、及び、代表的にブロック812として図示され
た1以上記憶デバイスからなる。記憶デバイス812
は、フロッピー・ディスク、ハード・ディスク・ドライ
ブ。光磁気ディスク・ドライブ、CD−ROM、磁気テ
ープ、その他、当業者に周知の不揮発性記憶デバイスの
1つ以上を含み得る。構成要素804〜812の各々
は、典型的には、データ、アドレス及びコントロール・
バスからなるバス814を介して1以上の他のデバイス
と接続される。
【0137】ビデオ・インターフェース810は、ビデ
オ・ディスプレイ816に接続され、ビデオ・ディスプ
レイ816上に表示するための信号をコンピュータ80
2から提供する。コンピュータ802を操作するための
ユーザ入力は、1以上の入力デバイス808bによって
提供され得る。例えば、オペレータは、キーボード81
8、及び/又はマウス820等のポインティング・デバ
イスを使用して、コンピュータ802に入力を提供する
ことができる。
オ・ディスプレイ816に接続され、ビデオ・ディスプ
レイ816上に表示するための信号をコンピュータ80
2から提供する。コンピュータ802を操作するための
ユーザ入力は、1以上の入力デバイス808bによって
提供され得る。例えば、オペレータは、キーボード81
8、及び/又はマウス820等のポインティング・デバ
イスを使用して、コンピュータ802に入力を提供する
ことができる。
【0138】システム800は、本発明の技術的思想の
範囲を逸脱しない範囲で採用され得る他の構成例を説明
することのみを目的として挙げたものである。実施に供
されるコンピュータの例としては、IBM−PC/AT
又はその互換機、PCのマッキントッシュ(商標)のフ
ァミリー、サン・スパークステーション(商標)等が挙
げられる。前述のコンピュータは、本発明の実施に供し
得るコンピュータのタイプの例示に過ぎない。典型的に
は、以下の実施の形態の処理は、コンピュータ読取可能
な媒体としてのハード・ディスク・ドライブ(図8にお
いて、代表的にブロック812として説明されている)
に記録されたソフトウェア又はプログラムのレジデント
であり、プロセッサ804により読み出され制御され
る。プログラム及び画素データ及びネットワークから取
り込んだあらゆるデータの一時的な記憶は、半導体メモ
リ806を使用して、普通はハードディスク・ドライブ
812と提携しながら実現される。
範囲を逸脱しない範囲で採用され得る他の構成例を説明
することのみを目的として挙げたものである。実施に供
されるコンピュータの例としては、IBM−PC/AT
又はその互換機、PCのマッキントッシュ(商標)のフ
ァミリー、サン・スパークステーション(商標)等が挙
げられる。前述のコンピュータは、本発明の実施に供し
得るコンピュータのタイプの例示に過ぎない。典型的に
は、以下の実施の形態の処理は、コンピュータ読取可能
な媒体としてのハード・ディスク・ドライブ(図8にお
いて、代表的にブロック812として説明されている)
に記録されたソフトウェア又はプログラムのレジデント
であり、プロセッサ804により読み出され制御され
る。プログラム及び画素データ及びネットワークから取
り込んだあらゆるデータの一時的な記憶は、半導体メモ
リ806を使用して、普通はハードディスク・ドライブ
812と提携しながら実現される。
【0139】例えば、プログラムは、例えば、CD−R
OMやフロッピー・ディスク(図8において、代表的に
ブロック812として説明されている)に符号化した形
態でユーザに提供され得る。また、例えば、プログラム
は、ユーザがコンピュータに接続されたモデムを介して
ネットワークから読み出すことによっても当該ユーザに
提供され得る。更に、ソフトウェアは、磁気テープ、R
OM、集積回路、光磁気ディスク、コンピュータと他の
デバイスとの間のラジオ又は赤外伝送チャネル、PCM
CIA等のコンピュータ読取可能なカード、インターネ
ット及びイントラネット(電子メール転送、ウェブ・サ
イトに記録された情報を含む)等のコンピュータ読取可
能な媒体からコンピュータ・システム800にロードす
ることができる。なお、上記の説明は、コンピュータ読
取可能な媒体に関連する例示に過ぎず、本発明の技術的
思想の範囲を逸脱しない範囲で他のコンピュータ読取可
能な媒体を実施することもできる。
OMやフロッピー・ディスク(図8において、代表的に
ブロック812として説明されている)に符号化した形
態でユーザに提供され得る。また、例えば、プログラム
は、ユーザがコンピュータに接続されたモデムを介して
ネットワークから読み出すことによっても当該ユーザに
提供され得る。更に、ソフトウェアは、磁気テープ、R
OM、集積回路、光磁気ディスク、コンピュータと他の
デバイスとの間のラジオ又は赤外伝送チャネル、PCM
CIA等のコンピュータ読取可能なカード、インターネ
ット及びイントラネット(電子メール転送、ウェブ・サ
イトに記録された情報を含む)等のコンピュータ読取可
能な媒体からコンピュータ・システム800にロードす
ることができる。なお、上記の説明は、コンピュータ読
取可能な媒体に関連する例示に過ぎず、本発明の技術的
思想の範囲を逸脱しない範囲で他のコンピュータ読取可
能な媒体を実施することもできる。
【0140】上記の説明は、本発明の実施の形態の幾つ
かの例であり、当業者であれば、本発明の技術的思想の
範囲を逸脱しない範囲で、これを改良し変形することが
できる。従って、上記の実施の形態は、本発明の例示的
な説明にのみ供するものであって、本発明を限定的に解
釈させるものではないと認識されるべきものである。
かの例であり、当業者であれば、本発明の技術的思想の
範囲を逸脱しない範囲で、これを改良し変形することが
できる。従って、上記の実施の形態は、本発明の例示的
な説明にのみ供するものであって、本発明を限定的に解
釈させるものではないと認識されるべきものである。
【図1】本出願において説明する画像表現技術を説明す
るための上位階層のブロック図である。
るための上位階層のブロック図である。
【図2】本出願において説明するパーティショニングを
説明する図である。
説明する図である。
【図3】本出願において説明する画像の表現又は符号化
の方法を説明するフローチャートである。
の方法を説明するフローチャートである。
【図4】図3における領域のコーディングのステップの
詳細なフローチャートである。
詳細なフローチャートである。
【図5】図3の方法に従って生成される画像の符号化表
現のデコーディングの方法を示すフローチャートであ
る。
現のデコーディングの方法を示すフローチャートであ
る。
【図6】図5における領域のデコーディングのステップ
を示すフローチャートである。
を示すフローチャートである。
【図7A】図3のエンコーディング及びデコーディング
方法に係る2次元の8係数領域の処理を説明する図であ
る。
方法に係る2次元の8係数領域の処理を説明する図であ
る。
【図7B】図3のエンコーディング及びデコーディング
方法に係る2次元の8係数領域の処理を説明する図であ
る。
方法に係る2次元の8係数領域の処理を説明する図であ
る。
【図7C】図3のエンコーディング及びデコーディング
方法に係る2次元の8係数領域の処理を説明する図であ
る。
方法に係る2次元の8係数領域の処理を説明する図であ
る。
【図7D】図3のエンコーディング及びデコーディング
方法に係る2次元の8係数領域の処理を説明する図であ
る。
方法に係る2次元の8係数領域の処理を説明する図であ
る。
【図8】汎用のコンピュータのブロック図である。
【図9】本出願において説明する画像の表現及びエンコ
ーディング方法の他の例を示すフローチャートである。
ーディング方法の他の例を示すフローチャートである。
【図10】本出願において説明する画像の表現及びエン
コーディング方法の他の例を示すフローチャートであ
る。
コーディング方法の他の例を示すフローチャートであ
る。
【図11】本出願において説明する画像の表現及びエン
コーディング方法の他の例を示すフローチャートであ
る。
コーディング方法の他の例を示すフローチャートであ
る。
【図12】本出願において説明する画像の表現及びエン
コーディング方法の他の例を示すフローチャートであ
る。
コーディング方法の他の例を示すフローチャートであ
る。
【図13】ウエーブレット変換係数エンコーダの形態を
示す図である。
示す図である。
【図14】第1レベルの離散ウエーブレット変換処理を
説明する図である。
説明する図である。
【図15】第2レベルの離散ウエーブレット変換処理を
説明する図である。
説明する図である。
【図16】フル・レベルの離散ウエーブレット変換処理
を説明する図である。
を説明する図である。
【図17】ブロック・エンコーディング処理を説明する
図である。
図である。
【図18】エンコーディング方法の4×4ブロックの例
を説明する図である。
を説明する図である。
【図19】エンコーディングの方法論を説明する図であ
る。
る。
【図20】係数出力処理を説明する図である。
【図21】第1、第2及び第3の好適な実施の形態にお
いて利用されるパーティション・ツリーを説明する図で
ある。
いて利用されるパーティション・ツリーを説明する図で
ある。
【図22】第1の好適な実施の形態の係数エンコーダの
構成を説明する図である。
構成を説明する図である。
【図23】第1の好適な実施の形態のツリー構成器の構
成を説明する図である。
成を説明する図である。
【図24】第1の好適な実施の形態のリーフ・ノード・
エンコーダの構成を説明する図である。
エンコーダの構成を説明する図である。
【図25】第1の好適な実施の形態の先行ゼロ決定器の
構成を説明する図である。
構成を説明する図である。
【図26】第1の好適な実施の形態のツリー・コーダー
の構成を説明する図である。
の構成を説明する図である。
【図27】第2の好適な実施の形態において利用される
係数のグループ分けを説明する図である。
係数のグループ分けを説明する図である。
【図28】第2の好適な実施の形態のエンコーダの構成
を説明する図である。
を説明する図である。
【図29】図28の1つのビット・プレーン・ユニット
を説明する図である。
を説明する図である。
【図30】第2の好適な実施の形態のエンコーダのパッ
キング・ロジックの構成を説明する図である。
キング・ロジックの構成を説明する図である。
【図31】図30のA,B,C,D,E開始抽出器13
0の構成を説明する図である。
0の構成を説明する図である。
【図32】図30の結合ユニットの構成を説明する図で
ある。
ある。
【図33】第3の好適な実施の形態の係数エンコーダを
説明する図である。
説明する図である。
【図34】図33の係数エンコーダにおいて使用される
画素パッカーを説明する図である。
画素パッカーを説明する図である。
【図35】第1の好適な実施の形態に係る一連の係数の
エンコーディングの方法のフローチャートである。
エンコーディングの方法のフローチャートである。
【図36】第2の好適な実施の形態において、一連の係
数から符号化されたビット・ストリームを生成する方法
を示すフローチャートである。
数から符号化されたビット・ストリームを生成する方法
を示すフローチャートである。
【図37】第3の好適な実施の形態において、一連の係
数から符号化されたビット・ストリームを生成する方法
を示すフローチャートである。
数から符号化されたビット・ストリームを生成する方法
を示すフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 000001007 キヤノン株式会社 東京都大田区下丸子3丁目30番2号 (72)発明者 ドミニック ウィップ オーストラリア国 2113 ニュー サウス ウェールズ州,ノース ライド,トーマ ス ホルト ドライブ 1 キヤノン イ ンフォメーション システムズ リサーチ オーストラリア プロプライエタリー リミテツド内 (72)発明者 テレバー ロバート エルボーン オーストラリア国 2113 ニュー サウス ウェールズ州,ノース ライド,トーマ ス ホルト ドライブ 1 キヤノン イ ンフォメーション システムズ リサーチ オーストラリア プロプライエタリー リミテツド内
Claims (24)
- 【請求項1】 所定サイズの一連の係数を前記係数のコ
ンパクト表現の係数に符号化する符号化装置であって、 係数値を示すリーフ・ノードと、リーフノードを符号化
するために必要なビットの数を示す内部ノードと、カレ
ント内部ノードの子ノードとを有する前記係数のツリー
表現を構成するツリー構成手段と、 構成された前記ツリー表現を符号化して前記係数の前記
コンパクト表現を含むデータのストリームを生成するツ
リー符号化手段と、 を備えることを特徴とする符号化装置。 - 【請求項2】 前記ツリー構成手段と前記ツリー符号化
手段を内部接続すると共に前記ツリー表現を格納するツ
リー・バッファ手段を更に備えることを特徴とする請求
項1に記載の符号化装置。 - 【請求項3】 前記ツリー・バッファ手段は、少なくと
も2つのツリー表現を格納する手段を含み、前記ツリー
構成手段は、前記ツリー符号化手段は、該ツリー符号化
手段によって先に生成された第2の前記ツリー表現をリ
ードしている際に第1の前記ツリー表現を形成すること
を特徴とする請求項2に記載の符号化装置。 - 【請求項4】 前記係数は、ウエーブレット係数を含む
ことを特徴とする請求項1に記載の符号化装置。 - 【請求項5】 所定サイズの一連の係数をコンパクト表
現の係数に符号化する符号化方法であって、 係数値を示すリーフ・ノードと、リーフ・ノードを符号
化するために必要なビットの数を示す内部ノードと、カ
レント内部ノードの子ノードとを有する前記係数のツリ
ー表現を構成する構成ステップと、 構成された前記ツリー表現を符号化して前記係数の前記
コンパクト表現を含むデータのストリームを生成する符
号化ステップと、 を含むことを特徴とする符号化方法。 - 【請求項6】 前記構成ステップは、最も深いリーフ・
ノードから深さ優先の順に前記ツリーを構成するステッ
プを含むことを特徴とする請求項4に記載の符号化方
法。 - 【請求項7】 前記符号化ステップは、前記データ・ス
トリームを生成するために、ブレス(breath)優先の順
に前記ツリー表現を符号化するステップを含むことを特
徴とする請求項4に記載の符号化方法。 - 【請求項8】 前記一連の係数は、所定の方法で複数の
グループに分割され、前記構成ステップは、 前記複数のグループを順に横断するステップと、 各グループについて、前記リーフ・ノードにグループの
係数値を格納するステップと、 各グループについて、グループの係数の最大の最も有意
なビットを決定し、それを前記内部ノードに格納するス
テップと、 を含むことを特徴とする請求項4に記載の符号化方法。 - 【請求項9】 所定サイズの一連の係数をコンパクト表
現の係数に符号化するためのコンピュータ・プログラム
を記録したコンピュータ読取可能な媒体を含むコンピュ
ータ・プログラム・プロダクトであって、 係数値を示すリーフ・ノードと、リーフ・ノードを符号
化するために必要なビットの数を示す内部ノードと、カ
レント内部ノードの子ノードとを有する前記係数のツリ
ー表現を構成するツリー構成手段と、 構成された前記ツリー表現を符号化して前記係数の前記
コンパクト表現を含むデータのストリームを生成するツ
リー符号化手段と、 を備えることを特徴とするコンピュータ・プログラム・
プロダクト。 - 【請求項10】 前記ツリー構成手段は、最も深いリー
フ・ノードから深さ優先の順に前記ツリーを生成する手
段を含むことを特徴とする請求項9に記載のコンピュー
タ・プログラム・プロダクト。 - 【請求項11】 前記ツリー符号化手段は、前記データ
・ストリームを生成するために、ブレス(breath)優先
の順に前記ツリー表現を符号化する手段を含むことを特
徴とする請求項9に記載のコンピュータ・プログラム・
プロダクト。 - 【請求項12】 前記一連の係数は、所定の方法で複数
のグループに分割され、前記ツリー構成手段は、 前記複数のグループを順に横断する手段と、 各グループについて、前記リーフ・ノードにグループの
係数値を格納する手段と、 各グループについて、グループの係数の最大の最も有意
なビットを決定し、それを前記内部ノードに格納する手
段と、 を含むことを特徴とする請求項9に記載のコンピュータ
・プログラム・プロダクト。 - 【請求項13】 一連の係数から符号化されたビット・
ストリームを生成する符号化装置であって、 前記一連の係数を入力するビット・プレーン入力手段
と、 前記ビット・プレーン入力手段と他の手段に内部接続さ
れ、前記係数をフィルタリングして所定数のグループに
し、更に、各グループ内の係数をフィルタリングして先
行ゼロ部分と非先行ゼロ部分とにし、ビット・プレーン
部によってビット・プレーン内のビット・データを出力
し、更に、前記グループ分けを示す信号を出力する、複
数のビット・データ有効性部と、 前記ビット・データ有効性部の前記出力に従って、前記
符号化されたビット・ストリームをパックして連続した
ストリームとするパッキング・ロジック手段と、 を備えることを特徴とする符号化装置。 - 【請求項14】 前記係数は、データのウエーブレット
・デコンボジションを含み、前記グループは、前記ウエ
ーブレット・デコンボジションのサブバンドを含むこと
を特徴とする請求項13に記載の符号化装置。 - 【請求項15】 前記パッキング・ロジック手段は、 前記グループをパックして、パックされたグループとす
るパッキング手段と、 前記グループの各々の中の開始アドレスを抽出する開始
アドレス抽出手段と、 前記パッキング手段及び前記開始アドレス抽出手段に内
部接続され、前記パックされたグループをパックして連
続的な符号化されたビット・ストリームとする結合手段
と、 を有することを特徴とする請求項13に記載の符号化装
置。 - 【請求項16】 一連の係数から符号化されたビット・
ストリームを生成する符号化方法であって、 前記一連の係数を入力するステップと、 前記係数データを所定数のビット・プレーンにグループ
分けするステップと、各グループ内の係数を先行ゼロ部
分と非先行ゼロ部分とにグループ分けするステップと、 ビット・プレーン内の一連のビット・データを出力する
ステップと、 各グループ内の前記係数の前記グループ分けを示すデー
タ有効ビットを出力するステップと、 前記データ有効ビットを使用して前記一連の係数をパッ
クして前記符号化されたビット・ストリームを生成する
ステップと、 を含むことを特徴とする符号化方法。 - 【請求項17】 前記係数は、データのウエーブレット
・デコンボジションを含み、前記グループは、前記ウエ
ーブレット・デコンボジションのサブバンドを含むこと
を特徴とする請求項16に記載の符号化方法。 - 【請求項18】 前記パッキング・ステップは、 前記グループをパックして、パックされたグループとす
るステップと、 前記グループの各々の中の開始アドレスを抽出するステ
ップと、 前記パックされたグループを結合して、符号化されたビ
ット・ストリームを生成するステップと、 を含むことを特徴とする請求項16に記載の符号化方
法。 - 【請求項19】 一連の係数から符号化されたビット・
ストリームを生成するためのコンピュータ・プログラム
が記録されたコンピュータ読取可能な媒体を含むコンピ
ュータ・プログラム・プロダクトであって、 前記一連の係数を入力する入力手段と、 前記係数データを所定数のビット・プレーンにグループ
分けする第1グループ手段と、 各グループ内の係数を先行ゼロ部分と非先行ゼロ部分と
にグループ分けする第2グループ手段と、 ビット・プレーンのグループ内の前記一連の係数を出力
する出力手段と、 各グループ内の前記係数の前記グループ分けを示すデー
タ有効ビットを出力する出力手段と、 出力データ有効ビットを使用して前記一連の係数をパッ
クして、前記符号化されたビット・ストリームを生成す
るパッキング手段と、 を含むことを特徴とするコンピュータ・プログラム・プ
ロダクト。 - 【請求項20】 前記係数は、データのウエーブレット
・デコンポジションを含み、前記グループは、前記ウエ
ーブレット・デコンポジションのサブバンドを含むこと
を特徴とする請求項19に記載のコンピュータ・プログ
ラム・プロダクト。 - 【請求項21】 前記パッキング手段は、 前記グループをパックして、パックされたグループとす
るパッキング手段と、 前記グループの各々の開始アドレスを抽出する抽出手段
と、 前記パックされたグループを結合して、前記符号化され
たビット・ストリームを生成する結合手段と、 を更に含むことを特徴とする請求項19に記載のコンピ
ュータ・プログラム・プロダクト。 - 【請求項22】 係数ストリームを含む一連の係数であ
って、各係数が所定数のビットで表現される一連の係数
から、符号化されたビット・ストリームを生成する符号
化方法であって、 前記係数をビット・プレーンと同時に入力するステップ
と、 前記ビット・プレーンから前記係数の各々の最も有意な
ビットを決定するステップと、 最も有意な係数よりも小さい前記係数の部分を格納する
ステップと、 前記最も有意なビットの決定結果と前記係数の前記部分
を利用して、インターリーブされた係数マグニチュード
部分のストリームと係数部分のストリームとを含む前記
係数ストリームの複合可能なインターリーブされたコン
パクト形式を符号化するステップと、 を含むことを特徴とする符号化方法。 - 【請求項23】 一連の係数を符号化する符号化装置で
あって、 前記一連の係数を1つのビット・プレーンと同時に入力
する入力手段と、 前記入力手段に内部接続され、前記係数の各々の最も有
意なビットを決定し格納するビット・プレーン・マグニ
チュード決定手段と、 前記入力手段に内部接続され、前記係数の有意性の低い
係数を格納する係数格納手段と、 前記ビット・プレーン・マグニチュード決定手段及び前
記係数格納手段に内部接続され、値をリードして、イン
ターリーブされた係数マグニチュード部分のストリーム
と係数部分のストリームとを含む前記係数の復号可能な
インターリーブされたコンパクト形式を生成する画素パ
ッカー手段と、 を備えることを特徴とする符号化装置。 - 【請求項24】 係数ストリームを含む一連の係数であ
って、各係数が所定数のビットによって表現される係数
ストリームを符号化するためのコンピュータ・プログラ
ムが記録されたコンピュータ読取可能な媒体を含むコン
ピュータ・プログラム・プロダクトであって、 前記係数をビット・プレーンと同時に入力する入力手段
と、 前記ビット・プレーンから前記係数の各々の最も有意な
ビットを決定する決定手段と、 最も有意なビットよりも小さい前記係数の部分を格納す
る格納手段と、 前記最も有意なビット及び前記係数の前記部分を利用し
て、インターリーブされた係数マグニチュード部分のス
トリームと係数部分のストリームとを含む前記係数を復
号可能なインターリーブされたコンパクト形式に符号化
する符号化手段と、 を含むことを特徴とするコンピュータ・プログラム・プ
ロダクト。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPO9519A AUPO951997A0 (en) | 1997-09-29 | 1997-09-29 | A decoder method and architecture |
AU9519 | 1997-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11225075A true JPH11225075A (ja) | 1999-08-17 |
Family
ID=3803800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10274700A Withdrawn JPH11225075A (ja) | 1997-09-29 | 1998-09-29 | 符号化方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6411736B1 (ja) |
EP (1) | EP0920213A3 (ja) |
JP (1) | JPH11225075A (ja) |
AU (1) | AUPO951997A0 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065253B2 (en) * | 1999-09-03 | 2006-06-20 | Intel Corporation | Wavelet zerotree coding of ordered bits |
US6956903B2 (en) | 2001-05-29 | 2005-10-18 | Intel Corporation | Method and apparatus for three-dimensional wavelet transform |
US6834123B2 (en) | 2001-05-29 | 2004-12-21 | Intel Corporation | Method and apparatus for coding of wavelet transformed coefficients |
GB0019121D0 (en) * | 2000-08-03 | 2000-09-27 | Wave Limited M | Signal compression and decompression |
AUPR192700A0 (en) * | 2000-12-06 | 2001-01-04 | Canon Kabushiki Kaisha | Storing coding image data in storage of fixed memory size |
AU2003900531A0 (en) * | 2003-01-30 | 2003-02-20 | Canon Kabushiki Kaisha | Compression into a fixed buffer |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4982345A (en) * | 1989-01-23 | 1991-01-01 | International Business Machines Corporation | Interactive computer graphics display system processing method for identifying an operator selected displayed object |
US6356663B1 (en) * | 1994-09-09 | 2002-03-12 | Intel Corporation | Processing image signals using spatial decomposition |
US5434567A (en) * | 1994-09-09 | 1995-07-18 | Kabushiki Kaisha Toshiba | Encoding image signals by further transforming transformed DC signals |
US5764802A (en) * | 1994-09-09 | 1998-06-09 | Intel Corporation | Encoding image signals using a blur image |
US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
US5966465A (en) * | 1994-09-21 | 1999-10-12 | Ricoh Corporation | Compression/decompression using reversible embedded wavelets |
US5867602A (en) * | 1994-09-21 | 1999-02-02 | Ricoh Corporation | Reversible wavelet transform and embedded codestream manipulation |
AUPO472897A0 (en) * | 1997-01-22 | 1997-02-20 | Canon Information Systems Research Australia Pty Ltd | A method for digital image compression |
-
1997
- 1997-09-29 AU AUPO9519A patent/AUPO951997A0/en not_active Abandoned
-
1998
- 1998-09-28 EP EP98307845A patent/EP0920213A3/en not_active Withdrawn
- 1998-09-29 US US09/161,771 patent/US6411736B1/en not_active Expired - Fee Related
- 1998-09-29 JP JP10274700A patent/JPH11225075A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US6411736B1 (en) | 2002-06-25 |
EP0920213A2 (en) | 1999-06-02 |
EP0920213A3 (en) | 2003-09-17 |
AUPO951997A0 (en) | 1997-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6266450B1 (en) | Encoding method and apparatus | |
KR100296066B1 (ko) | 웨이브렛에기초한코딩기술에의해생성된제로트리를인코딩하기위한장치및방법 | |
US5412741A (en) | Apparatus and method for compressing information | |
US6236758B1 (en) | Apparatus and method for encoding wavelet trees by backward predictive coding of wavelet transformed coefficients | |
JP3976876B2 (ja) | 画像圧縮方法 | |
US6263110B1 (en) | Method for data compression | |
JP2000032461A (ja) | 画像符号化方法、画像復号方法及び装置及びコンピュ―タプログラム製品 | |
JPH11266161A (ja) | データ圧縮方法及びデータ圧縮装置 | |
JP2004505520A (ja) | ウェーブレット分解を用いたビデオ符号化方法 | |
US6606416B1 (en) | Encoding method and apparatus for representing a digital image | |
JPH11225075A (ja) | 符号化方法及び装置 | |
Hussin et al. | A comparative study on improvement of image compression method using hybrid DCT-DWT techniques with huffman encoding for wireless sensor network application | |
Genitha et al. | A technique for multi-spectral satellite image compression using EZW algorithm | |
Wagh et al. | Design & implementation of JPEG2000 encoder using VHDL | |
AU727894B2 (en) | An encoding method and apparatus | |
AU708489B2 (en) | A method and apparatus for digital data compression | |
GB2302244A (en) | Wavelet transform filter | |
WO1997002705A1 (en) | Method and apparatus for hierarchical representation and compression of data | |
Larrauri | A new Algorithm for Lossless Compression applied to two-dimensional Static Images | |
US20110091119A1 (en) | Coding apparatus and coding method | |
AU745160B2 (en) | An encoding method and apparatus for representing a digital image | |
Metta | A DWT-DCT image compression scheme | |
Prabu et al. | A Survey on Various Models and Methods in Image Compression for an Efficient Image Retrieval | |
PS | Implementation of Image compression algorithm using verilog with area, power and timing constraints | |
Rucker | Three-dimensional wavelet-based algorithms for the compression of geoscience data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060110 |