(57)【特許請求の範囲】
【請求項１】
２次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、
同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する係数抽出手段と、
前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成する有意係数判別手段と、
前記係数の組ごとに、前記フラグ情報を可変長符号化するフラグ情報符号化手段と、
前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する有意係数符号化手段と
を有することを特徴とする符号化装置。
【請求項２】
前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする連長判定手段と、前記連長数が確定するごとに、連長数を可変長符号化する連長数符号化手段とを備え、
前記フラグ情報符号化手段は、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記有意係数符号化手段は、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化すること
を特徴とする請求項１に記載の符号化装置。
【請求項３】
前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする連長判定手段と、前記連長数が確定するごとに、連長数を可変長符号化する連長数符号化手段とを備え、
前記フラグ情報符号化手段は、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記有意係数符号化手段は、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記有意係数判別手段における前記指定されたサブバンドが、LHサブバンド、HLサブバンドおよびHHサブバンドを含むことを特徴とする請求項１ないし請求項３の何れか１項に記載の符号化装置。
【請求項５】
前記有意係数判別手段における前記指定された成分が、係数を構成する全ての成分を含むことを特徴とする請求項１ないし請求項４の何れか１項に記載の符号化装置。
【請求項６】
前記有意係数判別手段における前記指定されたサブバンドおよび成分が、LHサブバンドの色差成分、HLサブバンドの色差成分およびHHサブバンドの輝度および色差成分を含むことを特徴とする請求項１ないし請求項３の何れか１項に記載の符号化装置。
【請求項７】
前記有意係数判別手段は、指定されたサブバンドの判別処理において、複数の色差成分のどちらもゼロであるか否かの判別を行って１ビットの判別情報を生成することを特徴とする請求項１ないし請求項３の何れか１項に記載の符号化装置。
【請求項８】
前記有意係数判別手段は、LHサブバンドおよびHLサブバンドの判別処理において、複数の色差成分がどちらもゼロであるか否かの判別を行って各１ビットの判別情報を生成することを特徴とする請求項７に記載の符号化装置。
【請求項９】
前記有意係数判別手段は、前記連長判定手段によって連長数が確定するごとに、確定した連長数がゼロであるか否かの判別情報を生成し、連長開始座標における指定されたサブバンドおよび指定された成分の判別情報を生成し、これら判別情報を結合してフラグ情報とするものであり、
前記連長符号化手段は、前記連長数が確定するごとに、連長数がゼロでない場合のみ連長数を可変長符号化すること
を特徴とする請求項２または請求項３に記載の符号化装置。
【請求項１０】
前記ウェーブレット変換手段の基底関数がＨＡＡＲであることを特徴とする請求項１ないし請求項９の何れか１項に記載の符号化装置。
【請求項１１】
ウェーブレット変換により得られた複数のサブバンドの係数が符号列として入力される復号装置であって、
前記サブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する係数復号手段を備え、
前記係数復号手段は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号手段と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号手段とを備え、
前記フラグ情報は、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする復号化装置。
【請求項１２】
前記係数復号手段が復号処理を行うごとに、連長数を復号して連長数メモリに格納する連長数復号手段を備え、
前記連長数メモリの値がゼロでない場合には前記係数復号手段による復号処理を行わず、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する連長手段を備えたことを特徴とする請求項１１に記載の復号化装置。
【請求項１３】
前記係数復号手段が復号処理を行うごとに、連長数を復号して連長数メモリに格納する連長数復号手段を備え、
前記連長数メモリの値がゼロでない場合には前記係数復号手段による復号処理を行わず、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する連長手段を備えたことを特徴とする請求項１１に記載の復号装置。
【請求項１４】
前記フラグ情報における前記指定されたサブバンドが、LHサブバンド、HLサブバンドおよびHHサブバンドを含むことを特徴とする請求項１１ないし請求項１３の何れか１項に記載の復号化装置。
【請求項１５】
前記フラグ情報における前記指定された成分が、係数を構成する全ての成分を含むことを特徴とする請求項１１ないし請求項１４の何れか１項に記載の復号化装置。
【請求項１６】
前記フラグ情報における前記指定されたサブバンドおよび成分が、LHサブバンドの色差成分、HLサブバンドの色差成分、HHサブバンドの輝度および色差成分を含むことを特徴とする請求項１１ないし請求項１３の何れか１項に記載の復号化装置。
【請求項１７】
前記フラグ情報が、指定されたサブバンドにおいて、複数の色差成分がどちらもゼロであるか否かを示す各１ビットの判別情報を含むことを特徴とする請求項１１ないし請求項１３の何れか１項に記載の復号化装置。
【請求項１８】
前記フラグ情報が、LHサブバンドおよびHLサブバンドにおいて、複数の色差成分がどちらもゼロであるか否かを示す各１ビットの判別情報を含むことを特徴とする請求項１７に記載の復号化装置。
【請求項１９】
前記フラグ情報が、連長数がゼロであるか否かを示す１ビットの判別情報を含み、前記連長数復号手段が、前記フラグ情報によって連長数がゼロでないことが判別された場合にのみ、連長数を復号することを特徴とする請求項１２または請求項１３に記載の復号化装置。
【請求項２０】
前記逆ウェーブレット変換手段の基底関数がＨＡＡＲであることを特徴とする請求項１１ないし請求項１９の何れか１項に記載の復号化装置。
【請求項２１】
２次元信号を複数の周波数領域であるサブバンドに分割する第１のステップと、
同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２のステップと、
前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３のステップと、
前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４のステップと
を含むことを特徴とする符号化方法。
【請求項２２】
前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする第５のステップと、
前記連長数が確定するごとに、連長数を可変長符号化する第６のステップと
を含み、
前記第３のステップでは、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記第４のステップでは、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化する
ことを特徴とする請求項２１に記載の符号化方法。
【請求項２３】
前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする第５のステップと、
前記連長数が確定するごとに、連長数を可変長符号化する第６のステップと
を含み、
前記第３のステップでは、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記第４のステップでは、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化する
ことを特徴とする請求項２１に記載の符号化方法。
【請求項２４】
ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１のステップを含み、
前記第１のステップは、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号ステップと、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号ステップとを含み、
前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする復号化方法。
【請求項２５】
連長数を復号して連長数メモリに格納する第２のステップと、
前記コンピュータが、前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する第３のステップを含むことを特徴とする請求項２４に記載の復号化方法。
【請求項２６】
連長数を復号して連長数メモリに格納する第２のステップと、
前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する第３のステップを含むことを特徴とする請求項２４に記載の復号化方法。
【請求項２７】
情報処理装置に、
２次元信号を複数の周波数領域であるサブバンドに分割する第１の処理と、
同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２の処理と、
前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３の処理と、
前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４の処理と
を行わせるための符号化のプログラム。
【請求項２８】
前記情報処理装置に、
前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする第５の処理と、
前記連長数が確定するごとに、連長数を可変長符号化する第６の処理と
を行わせ、
前記第３の処理では、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記第４の処理では、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化する
ことを特徴とする請求項２７に記載の符号化のプログラム。
【請求項２９】
前記情報処理装置に、
前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする第５の処理と、
前記連長数が確定するごとに、連長数を可変長符号化する第６の処理と
を行わせ、
前記第３の処理では、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、
前記第４の処理では、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化する
ことを特徴とする請求項２７に記載の符号化のプログラム。
【請求項３０】
情報処理装置に、
ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１の処理を行わせ、
前記第１の処理は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号処理と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号処理とを含み、
前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含む
ことを特徴とする復号化のプログラム。
【請求項３１】
前記情報処理装置に、
連長数を復号して連長数メモリに格納する第２の処理と、
前記連長数メモリの値がゼロでない場合には前記第１の処理による復号処理に代えて、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する第３の処理と
を行わせることを特徴とする請求項３０に記載の復号化のプログラム。
【請求項３２】
前記情報処理装置に、
連長数を復号して連長数メモリに格納する第２の処理と、
前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する第３の処理と
を行わせることを特徴とする請求項３０に記載の復号化のプログラム。
【請求項３３】
情報処理装置が読み取り可能な記録媒体であって、
前記情報処理装置に、
２次元信号を複数の周波数領域であるサブバンドに分割する第１の処理と、
同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２の処理と、
前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３の処理と、
前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４の処理と
を行わせることを特徴とする符号化のプログラムが記録された記録媒体。
【請求項３４】
情報処理装置が読み取り可能な記録媒体であって、
前記情報処理装置に、
ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１の処理を行わせ、
前記第１の処理は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号処理と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号処理とを含み、
前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含む
ことを特徴とする復号化のプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元信号における圧縮伸張の技術に係り、特にウェーブレット変換を用いた２次元信号の符号化及び復号化の技術に関する。
【背景技術】
【０００２】
画像信号に代表される２次元信号を記録媒体に格納する場合やネットワークを通して伝送する場合には、記録媒体や伝送路を効率的に利用するためにデータの圧縮あるいは符号化が不可欠である。従来、ＤＣＴ（離散コサイン変換）を用いた符号化や予測符号化などの種々の方式が提案され、実際に使用されている。近年は、ウェーブレット変換を用いた情報圧縮方法が盛んに研究され、種々の提案がされている。【０００３】
ウェーブレット変換は、一種のサブバンド符号化であり、水平および垂直方向に各々帯域分割するサブバンド分割を、低域側について繰り返し行うことで多階層の帯域分割を行う。このような帯域分割はオクターブ分割と呼ばれる。３階層まで分割した場合は、図１６に示すような１０個のサブバンドが得られる。ここで、3LL, 3LH, 3HL, 3HHは最下位層のサブバンド、2LH, 2HL, 2HHはその上の階層のサブバンド、1LH, 1HL, 1HHは最上位層のサブバンドである。また、LHは、水平方向にローパスフィルタ、垂直方向にハイパスフィルタをかけたサブバンド、HLは、水平方向にハイパスフィルタ、垂直方向にローパスフィルタをかけたサブバンド、HHは、水平方向および垂直方向ともハイパスフィルタをかけたサブバンドである。各サブバンドには、ウェーブレット変換係数が含まれる。各サブバンドに含まれるウェーブレット変換係数を、本明細書ではサブバンド係数と呼ぶ。また、一般に、ウェーブレット変換はYCbCr(YUV)などの色成分ごとに行われるが、本明細書では、同一階層・同一位置に対応する全ての色成分のウェーブレット変換係数をまとめて一つのサブバンド係数と呼ぶ。また、同一サブバンド係数に属する各色成分を、サブバンド係数の成分と呼ぶ。【０００４】
ウェーブレット変換は、一枚の画像を複数の解像度を有する画像成分の重ね合わせにより階層的に表現できること、JPEG方式のブロック歪等、ブロック構造に起因する特有の歪や雑音が少ないこと等の特徴を有するため、JPEG2000等の方式で採用されている。ただし、ウェーブレット変換そのものには圧縮効果が無いため、各サブバンド係数を効率良く圧縮できるエントロピー符号化方式と組み合わせて使用される。【０００５】
例えば、JPEG2000では、エントロピー符号化方式として算術符号化を用い、サブバンド係数をビットプレーンに分解し、各サブバンドで一定サイズの符号化ブロックに分割した上で算術符号化している（例えば特許文献１参照）。【０００６】
また非特許文献１では、同一階層に属するLH, HL, HHサブバンドから同一空間座標に対応する係数の組を抽出してベクトルを構成する。具体的には、例えば3LH, 3HL, 3HHにおいては同一空間位置から1個ずつ取り出した3個の係数で3次元ベクトルを構成し、2LH, 2HL, 2HHにおいては同一空間位置の2×2ブロックから4個ずつ取り出した12個の係数で12次元ベクトルを構成する。次に、電力（大きさ）がゼロ付近のベクトルをゼロに量子化して無効ベクトルとし、無効ベクトルに属する全ての係数を符号化対象から除外する。そして、有効ベクトルについて、そのベクトルの電力のクラスに応じたコードブックによりベクトル量子化する。【０００７】
他方、エントロピー符号化方式の一つとしてハフマン符号が周知であり、ハフマン符号を用いて各サブバンド係数を符号化する画像符号化装置も提案されている（例えば特許文献２参照）。【０００８】
【特許文献１】特開２００３−２７４１８５号公報
【特許文献２】特開２００２−１１２０３９号公報
【非特許文献１】松村秀逸、加藤道明、武部幹，ウェーブレット変換画像のサブバンド階層・電力クラス別ベクトル量子化法，１９９５年画像符号化シンポジウム（PCSJ95）， １９９５．１０，p.121-122
【発明の開示】
【発明が解決しようとする課題】
【０００９】
JPEG2000においては、LH, HL, HHサブバンド係数の符号化にビットプレーン分解による算術符号化を用いることによって圧縮率を高めているが、一般に算術符号化を用いると、演算コストが大きく、処理速度が非常に遅くなるという問題がある。【００１０】
この問題を改善するためにLH, HL, HHサブバンド係数の符号化にハフマン符号を用いると、LH, HL, HHの各係数値が独立に符号化されるため符号効率が悪くなる。たとえば、典型的な画像では、高周波HHサブバンドのU,V係数値の大部分が０であり、エントロピー的には平均1ビット未満となる場合も多い。しかし、ハフマン符号では出現確率が非常に大きくても最低1ビットの符号長を要するため、符号が冗長となる。【００１１】
他方、非特許文献１に見られるように、同一階層に属するLH, HL, HHサブバンドから同一空間座標に対応する係数の組を抽出してベクトルを構成し、ベクトル単位で有効、無効を判定する方式は、粗い量子化を前提とする低ビットレートの符号化には適している。しかし、高ビットレートな符号化や、低ビットレートにおいてもLH, HL, HHサブバンドから抽出した同一空間座標に対応する係数の組のうちの一部の係数のみ非ゼロになるような場合（特にグラフィック画像で頻発する）には、それらの係数の組であるベクトル全体が有効ベクトルと判定され、そのベクトルに属する全係数が符号化されるため、良好な圧縮率が得られない。【００１２】
本発明の目的は、エントロピー符号化方式としてハフマン符号などのプレフィックス符号を用いる場合にも、十分な圧縮率を達成することのできる符号化／復号方法および装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の符号化装置は、ウェーブレットサブバンド空間における、同一階層のLH, HL, HHサブバンドから、同一空間座標に対応する各係数の各成分を一つずつ抽出し、係数の組を形成する係数抽出手段と、各係数の各成分が有意（非ゼロ）であるか否かを判定し、その判定結果を、抽出された係数の組ごとに結合してフラグ情報を生成する有意係数判定手段と、抽出された係数値の組ごとに、生成されたフラグ情報を符号化するフラグ情報符号化手段と、抽出された係数値の組ごとに有意係数を符号化する係数符号化手段とを備えている。【００１４】
本発明の第１の発明は、２次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する係数抽出手段と、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成する有意係数判別手段と、前記係数の組ごとに、前記フラグ情報を可変長符号化するフラグ情報符号化手段と、前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する有意係数符号化手段とを有することを特徴とする。【００１５】
本発明の第２の発明は、上記第１の発明において、前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする連長判定手段と、前記連長数が確定するごとに、連長数を可変長符号化する連長数符号化手段とを備え、前記フラグ情報符号化手段は、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記有意係数符号化手段は、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００１６】
本発明の第３の発明は、上記第１の発明において、前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする連長判定手段と、前記連長数が確定するごとに、連長数を可変長符号化する連長数符号化手段とを備え、前記フラグ情報符号化手段は、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記有意係数符号化手段は、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００１７】
本発明の第４の発明は、上記第１ないし第３のいずれかの発明において、前記有意係数判別手段における前記指定されたサブバンドが、LHサブバンド、HLサブバンドおよびHHサブバンドを含むことを特徴とする。【００１８】
本発明の第５の発明は、上記第１ないし第４のいずれかの発明において、前記有意係数判別手段における前記指定された成分が、係数を構成する全ての成分を含むことを特徴とする。【００１９】
本発明の第６の発明は、上記第１ないし第３のいずれかの発明において、前記有意係数判別手段における前記指定されたサブバンドおよび成分が、LHサブバンドの色差成分、HLサブバンドの色差成分およびHHサブバンドの輝度および色差成分を含むことを特徴とする。【００２０】
本発明の第７の発明は、上記第１ないし第３のいずれかの発明において、前記有意係数判別手段は、指定されたサブバンドの判別処理において、複数の色差成分のどちらもゼロであるか否かの判別を行って１ビットの判別情報を生成することを特徴とする。【００２１】
本発明の第８の発明は、上記第７の発明において、前記有意係数判別手段は、LHサブバンドおよびHLサブバンドの判別処理において、複数の色差成分がどちらもゼロであるか否かの判別を行って各１ビットの判別情報を生成することを特徴とする。【００２２】
本発明の第９の発明は、上記第２又は第３の発明において、前記有意係数判別手段は、前記連長判定手段によって連長数が確定するごとに、確定した連長数がゼロであるか否かの判別情報を生成し、連長開始座標における指定されたサブバンドおよび指定された成分の判別情報を生成し、これら判別情報を結合してフラグ情報とするものであり、前記連長符号化手段は、前記連長数が確定するごとに、連長数がゼロでない場合のみ連長数を可変長符号化することを特徴とする。【００２３】
本発明の第１０の発明は、上記第１ないし第９のいずれかの発明において、前記ウェーブレット変換手段の基底関数がＨＡＡＲであることを特徴とする。【００２４】
本発明の第１１の発明は、ウェーブレット変換により得られた複数のサブバンドの係数が符号列として入力される復号装置であって、前記サブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する係数復号手段を備え、前記係数復号手段は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号手段と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号手段とを備え、前記フラグ情報は、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする。【００２５】
本発明の第１２の発明は、上記第１１の発明において、前記係数復号手段が復号処理を行うごとに、連長数を復号して連長数メモリに格納する連長数復号手段を備え、前記連長数メモリの値がゼロでない場合には前記係数復号手段による復号処理を行わず、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する連長手段を備えたことを特徴とする。【００２６】
本発明の第１３の発明は、上記第１１の発明において、前記係数復号手段が復号処理を行うごとに、連長数を復号して連長数メモリに格納する連長数復号手段を備え、前記連長数メモリの値がゼロでない場合には前記係数復号手段による復号処理を行わず、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する連長手段を備えたことを特徴とする。【００２７】
本発明の第１４の発明は、上記第１１ないし第１３のいずれかの発明において、前記フラグ情報における前記指定されたサブバンドが、LHサブバンド、HLサブバンドおよびHHサブバンドを含むことを特徴とする。【００２８】
本発明の第１５の発明は、上記第１１ないし第１４のいずれかの発明において、前記フラグ情報における前記指定された成分が、係数を構成する全ての成分を含むことを特徴とする。【００２９】
本発明の第１６の発明は、上記第１１ないし第１３のいずれかの発明において、前記フラグ情報における前記指定されたサブバンドおよび成分が、LHサブバンドの色差成分、HLサブバンドの色差成分、HHサブバンドの輝度および色差成分を含むことを特徴とする。【００３０】
本発明の第１７の発明は、上記第１１ないし第１３のいずれかの発明において、前記フラグ情報が、指定されたサブバンドにおいて、複数の色差成分がどちらもゼロであるか否かを示す各１ビットの判別情報を含むことを特徴とする。【００３１】
本発明の第１８の発明は、上記第１７の発明において、前記フラグ情報が、LHサブバンドおよびHLサブバンドにおいて、複数の色差成分がどちらもゼロであるか否かを示す各１ビットの判別情報を含むことを特徴とする。【００３２】
本発明の第１９の発明は、上記第１２又は第１３の発明において、前記フラグ情報が、連長数がゼロであるか否かを示す１ビットの判別情報を含み、前記連長数復号手段が、前記フラグ情報によって連長数がゼロでないことが判別された場合にのみ、連長数を復号することを特徴とする。【００３３】
本発明の第２０の発明は、上記第１１ないし第１９のいずれかの発明において、前記逆ウェーブレット変換手段の基底関数がＨＡＡＲであることを特徴とする。【００３４】
本発明の第２１の発明は、２次元信号を複数の周波数領域であるサブバンドに分割する第１のステップと、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２のステップと、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３のステップと、前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４のステップとを含むことを特徴とする。【００３５】
本発明の第２３の発明は、上記第２１の発明において、前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする第５のステップと、前記連長数が確定するごとに、連長数を可変長符号化する第６のステップとを含み、前記第３のステップでは、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記第４のステップでは、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００３６】
本発明の第２３の発明は、上記第２１の発明において、前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする第５のステップと、前記連長数が確定するごとに、連長数を可変長符号化する第６のステップとを含み、前記第３のステップでは、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記第４のステップでは、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００３７】
本発明の第２４の発明は、ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１のステップを含み、前記第１のステップは、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号ステップと、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号ステップとを含み、前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする。【００３８】
本発明の第２５の発明は、上記第２４の発明において、連長数を復号して連長数メモリに格納する第２のステップと、前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する第３のステップを含むことを特徴とする。【００３９】
本発明の第２６の発明は、上記第２４の発明において、連長数を復号して連長数メモリに格納する第２のステップと、前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する第３のステップを含むことを特徴とする。【００４０】
本発明の第２７の発明は、情報処理装置に、２次元信号を複数の周波数領域であるサブバンドに分割する第１の処理と、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２の処理と、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３の処理と、前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４の処理とを行わせるための符号化プログラムであることを特徴とする。【００４１】
本発明の第２８の発明は、上記第２７の発明において、前記情報処理装置に、前記係数の組ごとに、全係数の全成分がゼロであるか否かを判別し、ゼロの連続出現数を連長数としてカウントする第５の処理と、前記連長数が確定するごとに、連長数を可変長符号化する第６の処理とを行わせ、前記第３の処理では、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記第４の処理では、前記連長数が確定するごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００４２】
本発明の第２９の発明は、上記第２７の発明において、前記情報処理装置に、前記係数の組ごとに、LHサブバンド、HHサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、連長数をカウントアップする第５の処理と、前記連長数が確定するごとに、連長数を可変長符号化する第６の処理とを行わせ、前記第３の処理では、前記連長数が確定するごとに、連長が中断した前記係数の組のフラグ情報を生成して可変長符号化し、前記第４の処理では、前記連長数が確定するごとに、前記判別処理を行った係数および成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数および成分がある場合には、それらについてはゼロ、非ゼロにかかわらず可変長符号化することを特徴とする。【００４３】
本発明の第３０の発明は、情報処理装置に、ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１の処理を行わせ、前記第１の処理は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号処理と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号処理とを含み、前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする。【００４４】
本発明の第３１の発明は、上記第３０の発明において、前記情報処理装置に、さらに、連長数を復号して連長数メモリに格納する第２の処理と、前記連長数メモリの値がゼロでない場合には前記第１の処理による復号処理に代えて、前記連長数メモリの値を減少させるとともに全係数の全成分をゼロとして出力する第３の処理を行わせることを特徴とする。【００４５】
本発明の第３２の発明は、上記第３０の発明において、前記情報処理装置に、連長数を復号して連長数メモリに格納する第２の処理と、前記連長数メモリの値がゼロでない場合には前記第１のステップによる復号処理に代えて、前記連長数メモリの値を減少させるとともに、LHサブバンド係数およびHHサブバンド係数として、水平方向で直前に復号された成分と同じ値を出力し、かつ、HLサブバンドの係数として、垂直方向で直前に抽出された係数の成分と同じ値を出力する第３の処理を行わせるプログラムであることを特徴とする。【００４６】
本発明の第３３の発明は、情報処理装置が読み取り可能な記録媒体であって、前記情報処理装置に、２次元信号を複数の周波数領域であるサブバンドに分割する第１の処理と、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドから、同一空間座標に対応する各係数の各成分を抽出して、係数の組を構成する第２の処理と、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かの判別処理を行って各１ビットの判別情報を生成し、その判別情報を前記係数の組ごとに結合して複数ビット長のフラグ情報を生成し、該生成したフラグ情報を可変長符号化する第３の処理と、前記係数の組ごとに、前記判別処理を行った係数の成分について、ゼロでない成分を可変長符号化し、前記判別処理を行っていない係数の成分がある場合には、それらについて、ゼロ、非ゼロにかかわらず可変長符号化する第４の処理とを行わせることを特徴とする。【００４７】
本発明の第３４の発明は、情報処理装置が読み取り可能な記録媒体であって、前記情報処理装置に、ウェーブレット変換により得られた複数のサブバンドの符号列から、同一階層に属するLHサブバンド、HLサブバンドおよびHHサブバンドの同一空間座標に対応する各係数の各成分を復号して係数の組を構成する第１の処理を行わせ、前記第１の処理は、前記係数の組ごとに、値がゼロとなる係数の成分を示すフラグ情報を復号するフラグ情報復号処理と、フラグ情報に基づいて、ゼロでない係数の成分について可変長符号を復号する有意係数復号処理とを含み、前記フラグ情報が、前記係数の組ごとに、あらかじめ指定された一つ以上のサブバンドの、あらかじめ指定された一つ以上の成分がゼロであるか否かを判別する各１ビットの判別情報の集合を含むことを特徴とする。
【発明の効果】
【００４８】
本発明では、同一階層・同一空間座標における各色成分の係数のうち、複数のゼロ係数が多次元化されて符号化される。このため、最も頻出するゼロ係数が多次元化されるため平均ビット数が低減でき、圧縮率が向上する。有意係数符号化時にはフラグ分の符号が追加されることになるが、多くの画像で係数の有意性に偏り（HH係数のU, V成分は０であ率が高い等）や相関（Y成分の係数値が０の場合には、U, V成分でも０である率が高い等）があるため、フラグが追加されることによる符号量増分は比較的小さく、全体として圧縮率は向上する。このため、本発明によれば、係数の符号化方式としてハフマン符号等のプレフィクス符号を用いても、十分な圧縮率の向上が図れる効果がある。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】本発明の第１の実施の形態の動作を示すフローチャートである。
【図３】本発明の第２の実施の形態のブロック図である。
【図４】本発明の第２の実施の形態の動作を示すフローチャートである。
【図５】本発明の第３の実施の形態のブロック図である。
【図６】本発明の第３の実施の形態の動作を示すフローチャートである。
【図７】本発明の第４の実施の形態のブロック図である。
【図８】本発明の第４の実施の形態の動作を示すフローチャートである。
【図９】本発明の第５の実施の形態のブロック図である。
【図１０】本発明の第６の実施の形態のブロック図である。
【図１１】本発明の第７の実施の形態のブロック図である。
【図１２】本発明の第１の実施の形態の動作を模式的に示す図である。
【図１３】本発明の第２の実施の形態の動作を模式的に示す図である。
【図１４】本発明の第３の実施の形態の動作を模式的に示す図である。
【図１５】本発明の第４の実施の形態の動作を模式的に示す図である。
【図１６】ウェーブレット変換の説明図である。
【符号の説明】
【００５０】
１１    画像入力装置
１２    データ記憶装置
１２１  サブバンドメモリ
１２２  抽出係数メモリ
１２３  フラグ情報メモリ
１３    データ処理装置
１３１  画像入力手段
１３２  ウェーブレット変換手段
１３３  係数抽出手段
１３４  有意係数判定手段
１３５  フラグ情報符号化手段
１３６  有意係数符号化手段
１４    符号出力装置
２１    符号入力装置
２２    データ記憶装置
２２１  フラグ情報メモリ
２２２  係数メモリ
２２３  サブバンドメモリ
２２４  画像メモリ
２３    データ処理装置
２３１  フラグ情報復号手段
２３２  有意係数復号手段
２３３  係数出力手段
２３４  逆ウェーブレット変換手段
２３５  画像出力手段
２４    画像出力装置
３１    画像入力装置
３２    データ記憶装置
３２１  サブバンドメモリ
３２２  抽出係数メモリ
３２３  符号化対象係数メモリ
３２４  前ライン係数メモリ
３２５  連長数メモリ
３２６  フラグ情報メモリ
３３    データ処理装置
３３１  画像入力手段
３３２  ＨＡＡＲウェーブレット変換手段
３３３  係数抽出手段
３３４  連長判定手段
３３５  有意係数判定手段
３３６  フラグ情報符号化手段
３３７  有意係数符号化手段
３３８  連長数符号化手段
３４    符号出力装置
４１    符号入力装置
４２    データ記憶装置
４２１  フラグ情報メモリ
４２２  連長数メモリ
４２３  前ライン係数メモリ
４２４  係数メモリ
４２５  サブバンドメモリ
４２６  画像メモリ
４３    データ処理装置
４３１  フラグ情報復号手段
４３２  連長数復号手段
４３３  連長手段
４３４  有意係数復号手段
４３５  ＨＡＡＲ逆ウェーブレット変換手段
４３６  画像出力手段
４４    画像出力装置
【発明を実施するための最良の形態】
【００５１】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。【００５２】
図１を参照すると、本発明の第１の実施の形態は、画像入力装置１１と、データ記憶装置１２と、プログラム制御により動作するデータ処理装置１３と、符号出力装置１４とから構成されている。【００５３】
データ記憶装置１２は、サブバンドメモリ１２１と、抽出係数メモリ１２２と、フラグ情報メモリ１２３とを含む。【００５４】
サブバンドメモリ１２１は、画像入力装置１１から入力された画像を２次元ウェーブレット変換することにより得られた複数階層のサブバンドのデータを記憶する。【００５５】
抽出係数メモリ１２２は、サブバンドメモリ１２１から順次抽出された同一階層のLH, HL, HHサブバンドの同一空間座標の係数の組を格納する。係数組の抽出順は、たとえば画像の左上端から右下端までのスキャンライン方向に従う。【００５６】
フラグ情報メモリ１２３は、抽出係数メモリ１２２に格納された各係数値の各色成分が有意（非ゼロ）であるかどうかを表すフラグ情報を格納する。本実施の形態の場合、各係数値の各色成分それぞれ独立に有意かどうかを表示するために、各係数値の各色成分ごとに1ビットのフラグを割り当てている。【００５７】
データ処理装置１３は、画像入力手段１３１と、ウェーブレット変換手段１３２と、係数抽出手段１３３と、有意係数判定手段１３４と、フラグ情報符号化手段１３５と、有意係数符号化手段１３６とを含む。【００５８】
これらの手段はそれぞれ概略つぎのように動作する。【００５９】
画像入力手段１３１は、画像入力装置１１から画像データを入力し、0LLサブバンドとしてサブバンドメモリ１２１に蓄積する。【００６０】
ウェーブレット変換手段１３２は、サブバンドメモリ１２１から(n-1)LLサブバンドを読み出し、ウェーブレット変換を行って、nLL, nLH, nHL, nHHの各サブバンドに分解し、サブバンドメモリ１２１へ出力する。これをn=1から始めて所定の回数繰り返し、オクターブ分割された各階層のサブバンドを、サブバンドメモリ１２１内に構成する。【００６１】
係数抽出手段１３３は、LH, HL, HHサブバンドから、同一階層かつ空間的に同一位置に対応する係数値を抽出し、抽出係数メモリ１２２に格納する。この際、YCbCr(YUV)など複数の色成分を持つ画像では、同一階層かつ空間的に同一位置に対応する、全ての色成分の係数値を抽出する。【００６２】
有意係数判定手段１３４は、抽出係数メモリ１２２に格納された各係数値の各色成分について、有意（非ゼロ）であるかどうかを判定し、各1ビットのフラグとする。さらに、これら全係数の全色成分についてのフラグ情報を結合し、複数ビットのフラグ情報として、フラグ情報メモリ１２３に格納する。【００６３】
フラグ情報符号化手段１３５は、フラグ情報メモリ１２３の値を可変長符号化し、符号出力装置１４へ出力する。【００６４】
有意係数符号化手段１３６は、抽出係数メモリ１２２の係数のうち、有意係数のみを可変長符号化し、符号出力装置１４へ出力する。【００６５】
次に、図１及び図２のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。【００６６】
まず、画像入力手段１３１は、画像入力装置１１から画像データを入力し、0LLサブバンドとしてサブバンドメモリ１２１に蓄積する（図２のステップＳ１０１）。【００６７】
次に、ウェーブレット変換手段１３２は、サブバンドメモリ１２１から(n-1)LLサブバンドを読み出し、ウェーブレット変換を行って、nLL, nLH, nHL, nHHの各サブバンドに分解し、サブバンドメモリ１２１へ出力する。これをn=1から始めて所定の回数繰り返し、オクターブ分割された各階層のサブバンドを、サブバンドメモリ１２１内に構成する（ステップＳ１０２）。【００６８】
次に、係数抽出階層が、最低周波(図１では3LH, 3HL, 3HH)に初期化される（ステップＳ１０３）。【００６９】
次に、係数抽出座標が、原点(0,0)に初期化される（ステップＳ１０４）。【００７０】
次に、係数抽出手段１３３は、同一階層のLH,HL,HHサブバンドから、空間的に同一位置に対応する係数値を抽出し、抽出係数メモリ１２２に格納する（ステップＳ１０５）。この際、YCbCr(YUV)など複数の色成分を持つ画像では、全ての色成分の係数値を抽出する。【００７１】
次に、有意係数判定手段１３４は、抽出係数メモリ１２２に格納された各係数値の各色成分について、有意（非ゼロ）であるかどうかを判定し、各1ビットのフラグとする。さらに、これら全係数の全色成分についてのフラグ情報を結合し、複数ビットのフラグ情報として、フラグ情報メモリ１２３に格納する（ステップＳ１０６〜Ｓ１１０）。【００７２】
有意係数判定の動作（ステップＳ１０６〜Ｓ１０９）において、まず、有意係数判定手段１３４は、フラグ情報メモリ１２３を０にクリアする（ステップＳ１０６）。【００７３】
続いて、有意係数判定手段１３４は、係数nの成分mについて有意であるかを判定し（ステップＳ１０７）、有意であれば係数nの成分m用のフラグビットを立てる（ステップＳ１０８）。これらの処理（ステップＳ１０７〜Ｓ１０８）を、全係数の全成分の判定が完了するまで（ステップＳ１０９）、n, mを変更して（ステップＳ１１０）繰り返す。【００７４】
次に、フラグ情報符号化手段１３５は、フラグ情報メモリ１２３の値を可変長符号化し、符号出力装置１４へ出力する（ステップＳ１１１）。【００７５】
次に、有意係数符号化手段１３６は、抽出係数メモリ１２２の係数のうち、有意係数のみを可変長符号化し、符号出力装置１４へ出力する（ステップＳ１１２〜Ｓ１１５）。【００７６】
具体的には、まず、係数nの成分m用のフラグビットが立っているどうかを判定し（ステップＳ１１２）、フラグが立っていれば、係数nの成分mの値を符号化し、符号出力装置１４へ出力する（ステップＳ１１３）。これらの処理（ステップＳ１１２〜Ｓ１１３）を、全係数の全成分の判定が完了するまで（ステップＳ１１４）、n, mを変更して（ステップＳ１１５）繰り返す。【００７７】
続いて、以上の処理が同一階層の全座標について完了したかどうかを判定し（ステップＳ１１６）、完了していない場合は係数抽出座標を次の座標にスキャンし（ステップＳ１１７）、ステップＳ１０５に戻る。【００７８】
同一階層の全座標の処理が完了すると、全階層での処理が完了したかを判定し（ステップＳ１１８）、完了していない場合は係数抽出階層を次の階層にスキャンし（ステップＳ１１９）、ステップＳ１０４に戻る。【００７９】
次に、本実施の形態の効果について説明する。【００８０】
本実施の形態では、同一階層および同一空間座標における各色成分の係数のうち、複数のゼロ係数が多次元化されて符号化される。このため、最も頻出するゼロ係数が多次元化されるため平均ビット数が低減でき、ハフマン符号などの単純なプレフィックス符号を用いても、高圧縮率が達成できる。【００８１】
有意係数符号化時にはフラグ分の符号が追加されることになるが、多くの画像で9係数の有意性に偏り（HH係数、特にU, V成分は０である率が高い等）や相関（Y成分の係数値が０の場合には、U, V成分でも０である率が高い等）があるため、フラグが追加されることによる符号量増分は比較的小さく、全体として圧縮率は向上する。【００８２】
なお、本実施の形態では、LLサブバンドの符号化については記載を省略したが、ここには、LZWなどの従来方式が利用できる。LLサブバンドの処理量および符号量が全体に占める割合は小さいため、従来方式を適用しても、本発明による効果は依然として大きい。【００８３】
また、本実施の形態では、表色系としてYCbCr(YUV)を例にして説明したが、RGBやL*a*b*、CMYK等の他の表色系を用いた場合にも同様に適用することができる。【００８４】
また、本実施の形態によるフラグ情報符号化手段１３５は、フラグ情報および係数値が得られる度に符号を出力する１パス符号化方式としたが、これを２パスとし、一度目のパスで頻度数えを行って静的ハフマン符号を生成し、２度目のパスで符号を出力するようにしてもよい。【００８５】
また、本実施の形態では、LH, HL, HHのY, U, V成分について全て多次元化したが、ゼロ値の出現確率が比較的小さいLHのY成分、HLのY成分など、一部の成分については有意係数判定処理を行わず、必ず個別に符号化するようにしてもよい。これにより、フラグ情報メモリのビット幅を8ビット以下にすることができ、メモリやバスの使用効率が改善する。【００８６】
また、ウェーブレット変換後に、ゼロに近い係数値を強制的にゼロにするような量子化処理を加えると、圧縮率が更に向上する。【００８７】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。【００８８】
図３を参照すると、本発明の第２の実施の形態は、符号入力装置２１と、データ記憶装置２２と、プログラム制御により動作するデータ処理装置２３と、画像出力装置２４とから構成されている。【００８９】
データ記憶装置２２は、フラグ情報メモリ２２１と、係数メモリ２２２と、サブバンドメモリ２２３と、画像メモリ２２４とを含む。【００９０】
フラグ情報メモリ２２１は、データ処理装置２３により復号されたフラグ情報を格納する。【００９１】
係数メモリ２２２は、データ処理装置２３により復号された同一空間座標のLH, HL, HHサブバンドの係数の組を格納する。【００９２】
サブバンドメモリ２２３は、データ処理装置２３により復号されたサブバンドを格納する。なお、サブバンドメモリ２２３内のLLサブバンドには、あらかじめ画像の直流成分が格納されているものとする。【００９３】
画像メモリ２２４は、データ処理装置２３により復号された画像データを格納する。【００９４】
データ処理装置２３は、フラグ情報復号手段２３１と、有意係数復号手段２３２と、係数出力手段２３３と、逆ウェーブレット変換手段２３４と、画像出力手段２３５とを含む。【００９５】
これらの手段はそれぞれ概略つぎのように動作する。【００９６】
フラグ情報復号手段２３１は、符号入力装置２１からフラグ情報にかかる可変長符号データを取得して復号し、復号結果をフラグ情報メモリ２２１へ格納する。【００９７】
有意係数復号手段２３２は、フラグ情報メモリ２２１からフラグ情報を読み出す。さらに、フラグ情報の各ビット値の真偽に応じて、同一階層における同一空間座標の係数(LH, HL, HH)の各成分(Y, U, V)が有意であるか否かを判別する。判別結果が有意である係数・成分については、符号入力装置２１から可変長符号データを取得して復号し、係数メモリ２２２へ格納する。判別結果が非有意である係数・成分については、値をゼロとして係数メモリ２２２に格納する。【００９８】
この結果、同一階層における同一空間座標の各成分の係数値が、係数メモリ２２２に復号される。【００９９】
係数出力手段２３３は、係数メモリ２２２に格納された係数値を読み出し、サブバンドメモリ２２３へ出力する。【０１００】
逆ウェーブレット変換手段２３４は、サブバンドメモリ２２３から、LL, LH, HL, HHサブバンドの係数値を読み出し、逆ウェーブレット変換を行って、結果を画像メモリ２２４へ出力する。【０１０１】
画像出力手段２３５は、画像メモリ２２４から、画像データを読み出し、画像出力装置２４へ出力する。【０１０２】
次に、図３及び図４のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。【０１０３】
まず、係数復号階層が、最低周波に初期化される（ステップＳ２０１）。【０１０４】
次に、係数復号座標が、原点(0, 0)に初期化される（ステップＳ２０２）。【０１０５】
フラグ情報復号手段２３１は、符号入力装置２１から可変長符号データを取得して復号し、復号結果をフラグ情報メモリ２２１へ格納する（ステップＳ２０３）。【０１０６】
有意係数復号手段２３２は、フラグ情報メモリ２２１からフラグ情報を読み出す。【０１０７】
フラグ情報の各ビット値の真偽に応じて、同一階層における同一空間座標の係数(LH, HL, HH)の各成分(Y, U, V)が有意であるか否かを判別する（ステップＳ２０４）。【０１０８】
判別結果が有意である係数の成分については、符号入力装置２１から可変長符号データを取得して復号し、係数メモリ２２２へ格納する（ステップＳ２０５）。判別結果が非有意である係数の成分については、値をゼロとして係数メモリ２２２に格納する（ステップＳ２０６）。【０１０９】
以上、ステップＳ２０４〜Ｓ２０６の処理が全ての係数の成分について完了したかどうかを判定し（ステップＳ２０７）、完了していなければ、未完了の係数の成分をスキャンし（ステップＳ２０８）、ステップＳ２０４に戻る。【０１１０】
係数出力手段２３３は、係数メモリ２２２に格納された係数値を読み出し、サブバンドメモリ２２３へ出力する（ステップＳ２０９）。【０１１１】
以上、ステップＳ２０３〜Ｓ２０９の処理が全ての座標について完了したかどうかを判定し（ステップＳ２１０）、完了していなければ、未完了の復号座標をスキャンし（ステップＳ２１１）、ステップＳ２０３に戻る。【０１１２】
全ての座標の係数値の復号が完了すると、逆ウェーブレット変換手段２３４は、サブバンドメモリ２２３から、LL, LH, HL, HHサブバンドの係数値を読み出し、逆ウェーブレット変換を行って、結果を画像メモリ２２４へ出力する（ステップＳ２１２）。【０１１３】
以上、ステップＳ２０２〜Ｓ２１２の処理が全ての階層について完了したかどうかを判定し（ステップＳ２１３）、完了していなければ、画像メモリ２２４をサブバンドメモリ２２３のLLに格納した上で、次の階層をスキャンし（ステップＳ２１４）、ステップＳ２０２に戻る。【０１１４】
全ての階層について処理が完了すると、画像出力手段２３５は、画像メモリ２２４から画像データを読み出し、画像出力装置２４へ出力する（ステップＳ２１５）。【０１１５】
次に、本実施の形態の効果について説明する。【０１１６】
本実施の形態は、第１の実施の形態で符号化されたデータの復号装置に相当し、プレフィックス符号による単純な復号が可能でありながら、圧縮率を向上させることができる利点がある。【０１１７】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。【０１１８】
図５を参照すると、本発明の第３の実施の形態は、画像入力装置３１と、データ記憶装置３２と、プログラム制御により動作するデータ処理装置３３と、符号出力装置３４とから構成されている。【０１１９】
データ記憶装置３２は、サブバンドメモリ３２１と、抽出係数メモリ３２２と、符号化対象係数メモリ３２３と、前ライン係数メモリ３２４と、連長数メモリ３２５と、フラグ情報メモリ３２６とを含む。サブバンドメモリ３２１と抽出係数メモリ３２２は、第１の実施の形態における図１のサブバンドメモリ１２１と抽出係数メモリ１２２と同じものである。【０１２０】
符号化対象係数メモリ３２３は、LH, HL, HHの各係数値を一つ以上保持可能な容量を持ち、各階層符号化時に、初期値として、例えばすべてゼロ値が格納される。また、連長数（ゼロの連続出現数）が確定するごとに、抽出係数メモリ３２２の内容がコピーされる。本実施の形態の場合、符号化対象係数メモリ３２３に格納された各係数値が符号化の対象となる。【０１２１】
前ライン係数メモリ３２４は、符号化対象となる階層のHLサブバンドを１ライン分保持可能な容量を持ち、各階層符号化時に、初期値として、例えばすべてゼロ値が格納される。また、抽出係数メモリ３２２のHLの係数値が適宜コピーされる。【０１２２】
連長数メモリ３２５は、各階層符号化時に、初期値としてゼロ値が格納される。また、LH, HHのサブバンドの係数の全成分が、水平方向で直前に抽出された係数の全成分と等しく、かつ、HLのサブバンドの係数の全成分が、垂直方向で直前に抽出された係数の全成分と等しい場合に、カウントアップされる。【０１２３】
フラグ情報メモリ３２６は、符号化対象係数メモリ３２３に格納された各係数値の各色成分が有意（非ゼロ）であるかどうかを表すと共に、連長数メモリ３２５の連長数が有意（非ゼロ）データあるかどうかを表すフラグ情報を格納する。本実施の形態の場合、係数値の色成分のうち、ゼロ値の頻度に相関性のある成分どうしに同じ1ビットのフラグを割り当てることで、フラグ情報のビット数を削減している。本実施の形態では、LH, HL係数のU成分とV成分でフラグを共有している。本実施の形態の場合、フラグ情報のビット数は8ビットである。【０１２４】
データ処理装置３３は、画像入力手段３３１と、ＨＡＡＲウェーブレット変換手段３３２と、係数抽出手段３３３と、連長判定手段３３４と、有意係数判定手段３３５と、フラグ情報符号化手段３３６と、有意係数符号化手段３３７と、連長数符号化手段３３８とを含む。【０１２５】
これらの手段はそれぞれ概略つぎのように動作する。【０１２６】
画像入力手段３３１は、画像入力装置３１から画像データを入力し、0LLサブバンドとしてサブバンドメモリ３２１に蓄積する。【０１２７】
ＨＡＡＲウェーブレット変換手段３３２は、ＨＡＡＲを基底関数とするウェーブレット変換手段である。ＨＡＡＲウェーブレット変換手段３３２は、サブバンドメモリ３２１から(n-1)LLサブバンドを読み出し、ＨＡＡＲウェーブレット変換を行って、nLL, nLH, nHL, nHHの各サブバンドに分解し、サブバンドメモリ３２１へ出力する。これをn=1から初めて所定の回数繰り返し、オクターブ分割された各階層のサブバンドを、サブバンドメモリ３２１内に構成する。【０１２８】
係数抽出手段３３３は、LH, HL, HHサブバンドから、同一階層かつ空間的に同一位置に対応する係数値を抽出し、抽出係数メモリ３２２に格納する。この際、YCbCr(YUV)など複数の色成分を持つ画像では、同一階層かつ空間的に同一位置に対応する、全ての色成分の係数値を抽出する。【０１２９】
連長判定手段３３４は、抽出係数メモリ３２２内のLH係数値と符号化対象係数メモリ３２３内のLH係数値、抽出係数メモリ３２２内のHH係数値と符号化対象係数メモリ３２３内のHH係数値、および、抽出係数メモリ３２２内のHL係数値と前ライン係数メモリ３２４に含まれる同一X座標のHL係数値をそれぞれ比較する。これら比較した係数値がすべて一致し、かつ、連長数メモリ３２５内の連長数が、予め設定された最大値未満である場合、連長数メモリ３２５の連長数をインクリメントする。HL係数が異なる場合は、抽出係数メモリ３２２内のHL係数値を、前ライン係数メモリ３２４の同一X座標のHL係数に転写する。【０１３０】
有意係数判定手段３３５は、符号化対象係数メモリ３２３に格納された各係数値の各色成分について、有意（非ゼロ）であるかどうかを判定する。LH, HLおよびHH係数のY成分、および、HH係数のU, V成分については、それぞれ判定結果を1ビットのフラグとする。LH, HL係数のU成分とV成分については、それぞれ、U成分とV成分のうち少なくとも一つが有意である場合に、1ビットのフラグを立てる。また、連長数メモリ３２５の連長数が有意（非ゼロ）であるかどうかを判定し、同様に1ビットのフラグとする。さらに、これら全てのフラグ情報を結合し、複数ビットのフラグ情報として、フラグ情報メモリ３２６に格納する。【０１３１】
フラグ情報符号化手段３３６は、フラグ情報メモリ３２６の値を可変長符号化し、符号出力装置３４へ出力する。【０１３２】
有意係数符号化手段３３７は、符号化対象係数メモリ３２３の係数のうち、有意係数のみを可変長符号化し、符号出力装置３４へ出力する。また、符号出力後、抽出係数メモリ３２２の係数値を、符号化対象係数メモリ３２３へコピーする。【０１３３】
連長数符号化手段３３８は、連長数メモリ３２５に含まれる連長数が非ゼロの場合に、連長数を可変長符号化し、符号出力装置３４へ出力する。また、符号出力後、連長数メモリ３２５の連長数をゼロに初期化する。【０１３４】
次に、図５及び図６のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。【０１３５】
まず、画像入力手段３３１は、画像入力装置３１から画像データを入力し、0LLサブバンドとしてサブバンドメモリ３２１に蓄積する（図６のステップＳ３０１）。【０１３６】
次に、ＨＡＡＲウェーブレット変換手段３３２は、サブバンドメモリ３２１から(n-1)LLサブバンドを読み出し、ウェーブレット変換を行って、nLL, nLH, nHL, nHHの各サブバンドに分解し、サブバンドメモリ３２１へ出力する。これをn=1から始めて所定の回数繰り返し、オクターブ分割された各階層のサブバンドを、サブバンドメモリ３２１内に構成する（ステップＳ３０２）。【０１３７】
次に、係数抽出階層が、最低周波(図５では3LH, 3HL, 3HH)に初期化される（ステップＳ３０３）。【０１３８】
次に、連長数メモリ３２５、符号化対象係数メモリ３２３、前ライン係数メモリ３２４がゼロ値で初期化される。また、係数抽出座標が原点(0, 0)に初期化される（ステップＳ３０４）。【０１３９】
次に、係数抽出手段３３３は、同一階層のLH, HL, HHサブバンドから、空間的に同一位置に対応する係数値を抽出し、抽出係数メモリ３２２に格納する（ステップＳ３０５）。この際、YCbCr(YUV)など複数の色成分を持つ画像では、全ての色成分の係数値を抽出する。【０１４０】
次に、連長判定手段３３４は、抽出係数メモリ３２２内のLH係数値と符号化対象係数メモリ３２３内のLH係数値とを比較し、同一であればステップＳ３０７に進む。異なっていればステップＳ３１１に進む（ステップＳ３０６）。【０１４１】
次に、連長判定手段３３４は、抽出係数メモリ３２２内のHH係数値と符号化対象係数メモリ３２３内のHH係数値とを比較し、同一であればステップＳ３０８に進む。異なっていればステップＳ３１１に進む（ステップＳ３０７）。【０１４２】
次に、連長判定手段３３４は、抽出係数メモリ３２２内のHL係数値と前ライン係数メモリ３２４内の同一X座標のHL係数値とを比較し、同一であればステップＳ３０９に進む。異なっていればステップＳ３１１に進む（ステップＳ３０８）。【０１４３】
次に、連長判定手段３３４は、連長数メモリ３２５に格納されている連長数が、予め設定された最大値未満である場合、ステップＳ３１０に進む。最大値以上である場合、ステップＳ３１１に進む（ステップＳ３１０）。【０１４４】
以上の全条件を満たす場合、連長判定手段３３４は、連長数メモリ３２５内の連長数をインクリメントし、ステップＳ３３２へ進む（ステップＳ３１０）。【０１４５】
以上のいずれかの条件が満たされない場合、有意係数判定手段３３５は、有意係数判定処理（ステップＳ３１１〜Ｓ３２７）を行う。【０１４６】
有意係数判定処理において、まず、有意係数判定手段３３５は、フラグ情報メモリ３２６内のフラグ値をゼロクリアする（ステップＳ３１１）。【０１４７】
次に、有意係数判定手段３３５は、連長数メモリ３２５内の連長数が非ゼロであるかどうかを調べ（ステップＳ３１２）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、連長数用のビットを立てる（ステップＳ３１３）。【０１４８】
次に、有意係数判定手段３３５は、符号化対象係数メモリ３２３内のLH係数のY成分が非ゼロであるかどうかを調べ（ステップＳ３１４）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、LH係数のY成分用のビットを立てる（ステップＳ３１５）。【０１４９】
次に、有意係数判定手段３３５は、符号化対象係数メモリ３２３内のLH係数のUまたはV成分が非ゼロであるかどうかを調べ（ステップＳ３１６）、少なくとも一つが非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、LH係数のUV成分用のビットを立てる（ステップＳ３１７）。【０１５０】
同様に、有意係数判定手段３３５は、符号化対象係数メモリ３２３内のHL係数のY成分が非ゼロであるかどうかを調べ（ステップＳ３１８）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、HL係数のY成分用のビットを立てる（ステップＳ３１９）。また、符号化対象係数メモリ３２３内のHL係数のUまたはV成分が非ゼロであるかどうかを調べ（ステップＳ３２０）、少なくとも一つが非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、HL係数のUV成分用のビットを立てる（ステップＳ３２１）。【０１５１】
次に、有意係数判定手段３３５は、符号化対象係数メモリ３２３内のHH係数のY成分が非ゼロであるかどうかを調べ（ステップＳ３２２）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、HH係数のY成分用のビットを立てる（ステップＳ３２３）。同様に、符号化対象係数メモリ３２３内のHH係数のU成分が非ゼロであるかどうかを調べ（ステップＳ３２４）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、HH係数のU成分用のビットを立てる（ステップＳ３２５）。また、符号化対象係数メモリ３２３内のHH係数のV成分が非ゼロであるかどうかを調べ（ステップＳ３２６）、非ゼロであれば、フラグ情報メモリ３２６内のフラグビットのうち、HH係数のV成分用のビットを立てる（ステップＳ３２７）。【０１５２】
以上の有意係数判定処理が終了すると、フラグ情報符号化手段３３６は、フラグ情報メモリ３２６のフラグを可変長符号化し（ステップＳ３２８）、符号出力装置３４へ出力する。【０１５３】
次に、有意係数符号化手段３３７は、図２のステップＳ１１２〜１１４に示した第１の実施の形態における有意係数符号化処理と同様の方法で、有意係数の符号化を行う（ステップＳ３２９）。具体的には、LH, HL, HH係数のY, U, V成分のうち、フラグ情報メモリ３２６のフラグビットが立っている成分について、所定の順番で可変長符号化を行う。ここでは、LH-Y→LH-U→LH-V→HL-Y→HL-U→HL-V→HH-Y→HH-U→HH-Vの順に判定と符号化を行うものとする。このとき、LHとHLのU, V成分については、少なくとも一つが有意の場合に、U, V両方を可変長符号化し、出力する。【０１５４】
次に、連長数符号化手段３３８は、連長数メモリ３２５に含まれる連長数が非ゼロの場合に、連長数を可変長符号化し、符号出力装置３４へ出力する（ステップＳ３３０）。【０１５５】
符号出力後、有意係数符号化手段３３７および連長数符号化手段３３８は、抽出係数メモリ３２２の係数値を符号化対象係数メモリ３２３へコピーし、連長数を初期化する。また、抽出係数メモリ３２２内のHL係数値を前ライン係数メモリ３２４の同一X座標のHL係数へ転写する（ステップＳ３３１）。【０１５６】
以上、ステップＳ３０５〜Ｓ３３１の処理が全ての座標について完了したかどうかを判定し（ステップＳ３３２）、完了していなければ、未完了の復号座標をスキャンし（ステップＳ３３３）、ステップＳ３０５に戻る。【０１５７】
全ての座標についての処理が完了すると、終端処理として、有意係数符号化手段３３７が、ステップＳ３１１〜３２７と同様の有意係数判定処理を行い（ステップＳ３３４）、フラグ情報符号化手段３３６が、フラグ情報メモリ３２６のフラグを符号化して出力し（ステップＳ３３５）、有意係数符号化手段３３７が有意係数を符号化して出力し（ステップＳ３３６）、連長数符号化手段３３８が連長数を符号化して出力する（ステップＳ３３７）。【０１５８】
以上、ステップＳ３０４〜Ｓ３３７の処理が全階層について完了したかを判定し（ステップＳ３３８）、完了していない場合は係数抽出階層を次の階層にスキャンし（ステップＳ３３９）、ステップＳ３０４に戻る。【０１５９】
次に、本実施の形態の効果について説明する。【０１６０】
本実施の形態では、第１の実施の形態の効果に加えて、フラグ情報が8ビットとなっているため、メモリやバス利用効率を向上させることができる。フラグ情報を8ビットに収めるため、本実施の形態では、LHのU成分とV成分、HLのU成分とV成分とを、それぞれ１ビットのフラグに統合している。一般に、これらの係数間では、有意性に強い相関がある（たとえば、LHのU成分が有意の場合はV成分も有意である率が高く、U成分がゼロの場合はV成分もゼロである率が高い）ため、統合しても圧縮率はほとんど低下しない。【０１６１】
同様に、HH係数についてもU, V成分のフラグを統合してもよい。ただし、元々HH係数のU, V成分にはゼロ値が多いため、多次元化による圧縮率への寄与も大きい。このため、それぞれ個別に有意性を判定した方が、圧縮率面で有利である。【０１６２】
また、本実施の形態では、連長により圧縮率が向上するという効果もある。【０１６３】
一般に、LHサブバンドでは水平方向、HLサブバンドでは垂直方向に同一値が連続する傾向が強い。特に、文字や図形などのグラフィック画像において、ＨＡＡＲウェーブレット変換を適用した場合にはその傾向が顕著である。【０１６４】
また、HHサブバンドに関しても、水平方向に同一値が連続する傾向がある。グラフィック画像においてＨＡＡＲウェーブレット変換を適用した場合にはその傾向が顕著である。【０１６５】
このことから、ＨＡＡＲウェーブレット変換と組み合わせて、これらの係数の連続出現数を連長圧縮することにより、グラフィック画像の圧縮率を大幅に向上させることができる。また、この連長判定方式は、グラフィック画像だけでなく自然画に適用しても概ね良好な圧縮率を得ることができる。【０１６６】
また、上記連長判定方式において、HL係数については、垂直方向の連長ではなく、１ライン前のHL係数値と比較して一致長を解析している。こうしたスライド辞書方式により、垂直の連長をカウントするよりもメモリアクセスの連続性が向上し、高速化が達成される。【０１６７】
また、連長値をLH, HL, HH係数、Y, U, V成分をそれぞれ個別に数えて符号化するのではなく、一括して扱うことにより、処理の簡略化および圧縮率の向上が達成される。その理由として、多くの画像において、各成分での連長切断位置に相関がある（たとえば、LHのY成分で連長が途切れる場合には、その他の成分でも連長が途切れる率が高い）ことが挙げられる。このため、連長数を個別に記録せず、一括で数えて符号化しても圧縮率が低下しにくい。また、全てゼロ値の連長が続いているような状況で、いずれかの成分のみ非ゼロ値が現れて連長が切断されたとしても、本実施の形態ではゼロ値が多次元化されるため、ゼロ値が再符号化されることによる圧縮率低下はごく僅かである。【０１６８】
また、一般的な画像では連長数０が最も多く出現するが、本実施の形態では、連長数が０か１以上かはフラグ情報として多次元化されているため、連長数０が多発する場合にも圧縮率はほとんど低下しない。また、連長数が１以上になるかどうかは、LH, HL, HH係数の有意性と相関が高い（たとえば、全てゼロ値の場合には連長が１以上になる率が高い）ため、これらが多次元化することで更に圧縮率が向上する。【０１６９】
なお、本実施の形態では、YCbCr(YUV)表色系を例にとり、LHのU成分とV成分、HLのU成分とV成分のフラグを結合したが、その他の表色系を用いる場合には、ゼロ値の頻度に相関性のある成分（たとえば色差成分、L*a*b*の場合a*とb*）同士を結合することが効果的である。【０１７０】
また、本実施の形態において各階層で最初に符号化されるのは、各階層で初期設定された符号化対象係数メモリである。このうち、連長用フラグビットを除くLH, HL, HH係数のフラグビットは初期値固定であるため、符号として出力すると冗長になる。したがって、各階層での初期符号出力では、連長数だけを可変長符号化して出力するようにしてもよい。【０１７１】
〈第３の実施の形態の変形例〉
なお、連長判定の方法としては、第３の実施の形態で述べた方法の他に、LH, HL, HHの全成分がゼロである場合に連長と判定する方法を採用することができる。この連長判定方式は、同一値の連長数をカウントする方式よりも、自然画において若干圧縮率が向上する。ただし、グラフィック画像においては圧縮率は大きく低下する。【０１７２】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。【０１７３】
図７を参照すると、本発明の第４の実施の形態は、符号入力装置４１と、データ記憶装置４２と、プログラム制御により動作するデータ処理装置４３と、画像出力装置４４とから構成されている。【０１７４】
データ記憶装置４２は、フラグ情報メモリ４２１と、連長数メモリ４２２と、前ライン係数メモリ４２３と、係数メモリ４２４と、サブバンドメモリ４２５と、画像メモリ４２６とを含む。【０１７５】
フラグ情報メモリ４２１は、データ処理装置４３により復号されたフラグ情報を格納する。【０１７６】
連長数メモリ４２２は、各階層復号時に、初期値としてゼロ値が格納され、その後に復号された連長を適宜格納する。【０１７７】
前ライン係数メモリ４２３は、復号対象となる階層のHLサブバンドを１ライン分保持可能な容量を持ち、各階層復号時に、初期値として、すべてゼロ値が格納される。【０１７８】
係数メモリ４２４は、LH, HL, HHの各係数値を一つ以上保持可能な容量を持ち、各階層復号時に、初期値として、すべてゼロ値が格納される。【０１７９】
サブバンドメモリ４２５は、LLサブバンドのみ保持可能な容量を持ち、あらかじめ画像の直流成分が格納されているものとする。【０１８０】
画像メモリ４２６は、データ処理装置４３により復号された画像データを格納する。【０１８１】
データ処理装置４３は、フラグ情報復号手段４３１と、連長数復号手段４３２と、連長手段４３３と、有意係数復号手段４３４と、ＨＡＡＲ逆ウェーブレット変換手段４３５と、画像出力手段４３６とを含む。【０１８２】
これらの手段はそれぞれ概略つぎのように動作する。【０１８３】
フラグ情報復号手段４３１は、符号入力装置４１から可変長符号データを取得して復号し、復号結果をフラグ情報メモリ４２１へ格納する。【０１８４】
連長数復号手段４３２は、符号入力装置４１から可変長符号データを取得して復号し、復号結果を連長数メモリ４２２へ格納する。【０１８５】
連長手段４３３は、連長数メモリ４２２から連長数を読み出し、非ゼロであるかどうかの判定を行う。連長数が非ゼロであれば、連長数をデクリメントして連長数メモリ４２２を更新し、前ライン係数メモリ４２３の同一Ｘ座標のHL係数値を、係数メモリ４２４のHL係数へ転写する。【０１８６】
有意係数復号手段４３４は、フラグ情報メモリ４２１からフラグ情報を読み出す。さらに、フラグ情報の各ビット値の真偽に応じて、同一階層における同一空間座標の係数(LH, HL, HH)の各成分(Y, U, V)が有意である否かを判別する。判別結果が有意である係数の成分については、符号入力装置４１から可変長符号データを取得して復号し、係数メモリ４２４へ格納する。判別結果が非有意である係数の成分については、値をゼロとして係数メモリ４２４に格納する。なお、LHおよびHL係数のU, V成分については、1ビットのフラグに統合されており、フラグが立っている場合はU, V両成分を復号する。【０１８７】
この結果、同一階層における同一空間座標の各成分の係数値が、係数メモリ４２４に復号される。【０１８８】
ＨＡＡＲ逆ウェーブレット変換手段４３５は、係数メモリ４２４からLH, HL, HHサブバンドの係数値を読み出すとともに、同一階層における同一空間座標に対応するLLサブバンドの係数値をサブバンドメモリ４２５から読み出す。さらに、これらの係数値にＨＡＡＲ逆ウェーブレット変換を行って、結果を画像メモリ４２６へ出力する。【０１８９】
画像出力手段４３６は、画像メモリ４２６から、画像データを読み出し、画像出力装置４４へ出力する。【０１９０】
次に、図７及び図８のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。【０１９１】
まず、係数復号階層が、最低周波に初期化される（ステップＳ４０１）。【０１９２】
次に、連長数メモリ４２２、係数メモリ４２４、前ライン係数メモリ４２３がゼロ値で初期化される。また、係数抽出座標が原点(0, 0)に初期化される（ステップＳ４０２）。【０１９３】
連長手段４３３は、連長数メモリ４２２から連長数を読み出し、非ゼロであるかどうかの判定を行う（ステップＳ４０３）。連長数が０であれば、ステップＳ４０６へ進む。連長数が非ゼロであれば、連長数をデクリメントして連長数メモリ４２２を更新し（ステップＳ４０４）、係数メモリ４２４のHL係数を、前ライン係数メモリ４２３から同一Ｘ座標のHL係数値へ転写する（ステップＳ４０５）。そして、ステップＳ４３１へ進む。【０１９４】
ステップＳ４０６では、フラグ情報復号手段４３１は、符号入力装置４１から可変長符号データを取得して復号し、復号結果をフラグ情報メモリ４２１へ格納する。次に、有意係数復号手段４３４は、フラグ情報メモリ４２１からフラグ情報を読み出し、有意係数復号処理（ステップＳ４０７〜Ｓ４２８）を行う。【０１９５】
まず、有意係数復号手段４３４は、LH係数のY成分のフラグが立っているかどうかを調べる（ステップＳ４０７）。立っている場合には、符号入力装置４１から可変長符号を取得して復号し、復号結果を係数メモリ４２４内のLH係数のY成分に格納する（ステップＳ４０８）。立っていない場合は、係数メモリ４２４内のLH係数のY成分にゼロを格納する（ステップＳ４０９）。【０１９６】
次に、有意係数復号手段４３４は、LH係数のUV成分のフラグが立っているかどうかを調べる（ステップＳ４１０）。立っている場合には、符号入力装置４１から可変長符号を２つ続けて取得して復号し、復号結果を係数メモリ４２４内のLH係数のU成分およびV成分に格納する（ステップＳ４１１）。立っていない場合は、係数メモリ４２４内のLH係数のU成分およびV成分にゼロを格納する（ステップＳ４１２）。【０１９７】
次に、有意係数復号手段４３４は、HL係数のY成分のフラグが立っているかどうかを調べる（ステップＳ４１３）。立っている場合には、符号入力装置４１から可変長符号を取得して復号し、復号結果を係数メモリ４２４内のHL係数のY成分に格納する（ステップＳ４１４）。立っていない場合は、係数メモリ４２４内のHL係数のY成分にゼロを格納する（ステップＳ４１５）。【０１９８】
次に、有意係数復号手段４３４は、HL係数のUV成分のフラグが立っているかどうかを調べる（ステップＳ４１６）。立っている場合には、符号入力装置４１から可変長符号を２つ続けて取得して復号し、復号結果を係数メモリ４２４内のHL係数のU成分およびV成分に格納する（ステップＳ４１７）。立っていない場合は、係数メモリ４２４内のHL係数のU成分およびV成分にゼロを格納する（ステップＳ４１８）。【０１９９】
次に、有意係数復号手段４３４は、HH係数のY成分のフラグが立っているかどうかを調べる（ステップＳ４１９）。立っている場合には、符号入力装置４１から可変長符号を取得して復号し、復号結果を係数メモリ４２４内のHH係数のY成分に格納する（ステップＳ４２０）。立っていない場合は、係数メモリ４２４内のHH係数のY成分にゼロを格納する（ステップＳ４２１）。【０２００】
次に、有意係数復号手段４３４は、HH係数のU成分のフラグが立っているかどうかを調べる（ステップＳ４２２）。立っている場合には、符号入力装置４１から可変長符号を取得して復号し、復号結果を係数メモリ４２４内のHH係数のU成分に格納する（ステップＳ４２３）。立っていない場合は、係数メモリ４２４内のHH係数のU成分にゼロを格納する（ステップＳ４２４）。【０２０１】
次に、有意係数復号手段４３４は、HH係数のV成分のフラグが立っているかどうかを調べる（ステップＳ４２５）。立っている場合には、符号入力装置４１から可変長符号を取得して復号し、復号結果を係数メモリ４２４内のHH係数のV成分に格納する（ステップＳ４２６）。立っていない場合は、係数メモリ４２４内のHH係数のV成分にゼロを格納する（ステップＳ４２７）。【０２０２】
以上の処理が完了すると、有意係数復号手段４３４は、係数メモリ４２４に復号されたHL係数値を、前ライン係数メモリ４２３の同一Ｘ座標のHL係数に転写する（ステップＳ４２８）。【０２０３】
また連長数復号手段４３２は、連長数のフラグビットが真であれば、連長数を復号し、連長数メモリ４２２に格納する（ステップＳ４２９、Ｓ４３０）。そして、ステップＳ４３１へ進む。【０２０４】
ステップＳ４３１では、ＨＡＡＲ逆ウェーブレット変換手段４３５は、係数メモリ４２４からLH, HL, HHサブバンドの係数値を読み出すとともに、同一階層における同一空間座標に対応するLLサブバンドの係数値をサブバンドメモリ４２５から読み出す（ステップＳ４３１）。さらに、これらの係数値にＨＡＡＲ逆ウェーブレット変換を行って、結果を画像メモリ４２６へ出力する（ステップＳ４３２）。【０２０５】
以上、ステップＳ４０３〜Ｓ４３２の処理が全ての座標について完了したかどうかを判定し（ステップＳ４３３）、完了していなければ、未完了の復号座標をスキャンし（ステップＳ４３４）、ステップＳ４０３に戻る。【０２０６】
以上、ステップＳ４０２〜Ｓ４３３の処理が全ての階層について完了したかどうかを判定し（ステップＳ４３５）、完了していなければ、画像メモリ４２６に格納されたデータを新たなLLサブバンド成分と見なし、サブバンドメモリ４２５のLLに格納した上で、次の階層をスキャンし（ステップＳ４３６）、ステップＳ４０２に戻る。【０２０７】
全ての階層について処理が完了すると、画像出力手段４３６は、画像メモリ４２６から、画像データを読み出し、画像出力装置４４へ出力する（ステップＳ４３７）。【０２０８】
次に、本実施の形態の効果について説明する。【０２０９】
本実施の形態は、第３の実施の形態で符号化されたデータの復号装置に相当する。【０２１０】
本実施の形態では、第２の実施の形態の効果に加えて、フラグ情報が8ビットとなっているため、メモリやバス利用効率を向上させることができる。また、連長により圧縮率を向上できる。【０２１１】
HL係数の連長については、垂直方向の連長ではなく、１ライン前のHL係数値と比較して一致長を解析するスライド辞書方式とすることにより、メモリアクセスの連続性向上と高速化が達成される。【０２１２】
また、連長値をLH, HL, HH係数、Y, U, V成分それぞれ個別に数えて符号化するのではなく、一括して扱うことにより、処理の簡略化および、圧縮率の向上が達成される。【０２１３】
また、ウェーブレット変換の基底としてＨＡＡＲを用いているため、同一階層かつ同一空間座標のLH, HL, HH係数を復号後、その係数を用いて直ちに逆ウェーブレット演算を行うことができる。このため、係数メモリの内容を一旦サブバンドメモリに退避する必要がなく、メモリ容量が削減できるとともに、DRAMなどの実メモリアクセス回避による高速化が達成される。【０２１４】
〈第４の実施の形態の変形例〉
第３の実施の形態の変形例のように、LH, HL, HHの全成分がゼロである場合に連長と判定する方法で符号化された符号列を復号する復号装置も考えられる。この場合、連長数メモリ４２２の値がゼロでない場合にはフラグ情報復号手段４３１および有意係数復号手段４３４による復号処理を行わず、連長手段４３３は、連長数メモリ４２２の値を減少させるとともに全係数の全成分をゼロとして出力する。【０２１５】
上述した第１〜第４の実施の形態では、符号化装置で符号化された画像データを復号装置で復号する場合を説明したが、符号化装置と復号装置が１つの通信端末に内蔵され、別の通信端末との間で双方向画像通信を行うことも可能である。以下、カメラおよびディスプレイが接続された通信端末（たとえばカメラ付き携帯電話機など）を例にとって説明する。【０２１６】
図９は本発明の第５の実施の形態による符号化および復号装置を内蔵した双方向通信端末のブロック図である。端末には、プログラム制御プロセッサとしてのＣＰＵ５０１が設けられ、内部バスによりキャッシュメモリ５０２およびメインメモリ５０３に接続されている。内部バスはさらにポートを介して外部バス５０４に接続され、外部バス５０４には必要なプログラムを格納したプログラムメモリ５０５、データメモリ５０６、カメラ５０８を接続するインタフェース５０７、ディスプレイ５１０を接続するインタフェース５０９、および通信制御部５１２を接続するインタフェース５１１などがそれぞれ接続されている。通信制御部５１２はネットワーク５１３に接続される。携帯電話機であれば、通信制御部５１２は無線通信部およびチャネル制御部を含み、ネットワーク５１３は移動通信ネットワークである。【０２１７】
プログラムメモリ５０５には、符号化プログラム、復号プログラム、通信端末の全体的動作を制御するメインプログラムなどが格納されている。符号化プログラムは第１、第３の実施の形態で説明した図２、図６のいずれかに示すフローチャートで表現されるものであり、復号プログラムは図４、図８に示すフローチャートで表現されるものである。符号化プログラムおよび復号プログラムの上述した各プロセスはメインプログラムによるプロセスの管理下で実行される。【０２１８】
データメモリ５０６はサブバンドメモリおよび係数メモリ、フラグ情報メモリを含む。サブバンドメモリは、たとえば図１のサブバンドメモリ１２１や図３のサブバンドメモリ２２３である。係数メモリは、たとえば図１の抽出係数メモリ１２２や図３の係数メモリ２２２である。フラグ情報メモリは、たとえば図１のフラグ情報メモリ１２３や図３のフラグ情報メモリ２２１である。【０２１９】
また、カメラ５０８は図１、図５の符号化装置における画像入力装置１１、３１に対応し、ディスプレイ５１０は図３、図７の復号装置における画像出力装置２４、４４に対応する。カメラで撮像された画像データは上述したようにウェーブレット変換および符号化され、その符号列がネットワーク５１３を介して相手方端末へ送信される。逆に、相手側から受信した画像データの符号列は上述したように復号されウェーブレット逆変換されてディスプレイ５１０上に表示される。詳細な動作は既に説明したとおりであり、いずれもキャッシュメモリ５０２を係数メモリとして利用することができる。【０２２０】
本発明による符号化装置は、上述したようにＣＰＵ上で各制御プログラムを実行することにより実現できるが、ハードウエアにより実現することも可能である。以下では上述した第１の実施の形態の各プロセスをハードウエア化した構成を例示するが、第３の実施の形態でも同様に構成される。【０２２１】
図１０は本発明の第６の実施の形態による符号化装置の一例を示すブロック図である。カメラ等の画像入力装置６０１により入力した画像データはサブバンドメモリ６０２に格納され、上述したようにウェーブレット変換部６０３により順次ウェーブレット変換される。こうして得られたサブバンド係数ＬＬ、ＬＨ, ＨＬ, ＨＨがサブバンドメモリ６０２に格納され、さらに、係数抽出部６０４は、サブバンドメモリ６０２から同一階層かつ同一座標のＬＨ ＨＬ, ＨＨの係数組を抽出し、それら係数組を係数レジスタ６０５に格納する。レジスタ６０５に格納された係数組は、有意係数判定部６０６によって、それぞれが有意であるかどうか判定され、フラグ情報レジスタ６０７に格納される。フラグ情報符号化部６０９は、フラグ情報レジスタ６０７の内容を可変長符号化して符号出力部６１０へ出力する。有意係数符号化部６０８は、係数レジスタ６０５のうち、有意係数のみを可変長符号化して符号出力部６１０へ出力する。【０２２２】
本発明による復号装置は、上述したようにＣＰＵ上で各制御プログラムを実行することにより実現できるが、ハードウエアにより実現することも可能である。以下では上述した第２の実施の形態の各プロセスをハードウエア化した構成を例示するが、第４の実施の形態でも同様に構成される。【０２２３】
図１１は本発明の第７の実施の形態による復号装置の一例を示すブロック図である。第６の実施の形態による符号化装置により送出された符号列は符号入力装置７０１により入力される。フラグ情報復号部７０２は、可変長符号を復号してフラグ情報レジスタ７０３に格納する。有意係数復号部７０４は、フラグ情報レジスタ７０３の各ビットから各係数が有意であるかどうかを判定し、有意係数については可変長符号を復号して係数レジスタ７０５に格納し、有意でない係数についてはゼロ値を係数レジスタ７０５に格納する。こうして生成された係数レジスタ７０５の値は、サブバンドメモリ７０７内に、同一階層かつ同一空間座標の係数として格納される。逆ウェーブレット変換部７０６は、サブバンドメモリ７０７からLH, HL, HHサブバンドを読み出し、逆ウェーブレット変換を行って結果をサブバンドメモリ７０７に格納する。最終的に得られたLLサブバンドが、画像出力部７０８へ出力される。【０２２４】
本発明によると、同一階層における同一空間座標の係数の有意、非有意情報を多次元化してフラグ情報を生成し、フラグ情報を可変長符号化した後に有意係数のみを可変長符号化しているため、エントロピー符号化方式としてハフマン符号などのプレフィックス符号を用いる場合にも、十分な圧縮率を達成することができる。
【実施例】
【０２２５】
以下、図１２を参照して、本発明の第１の実施の形態の具体的な実施例について説明する。【０２２６】
図１２は、本発明の第１の実施の形態による符号化動作を模式的に示した図である。本実施例では、データ処理装置としてパーソナルコンピュータを、データ記憶装置として半導体メモリ（パーソナルコンピュータに含まれる）を、符号出力装置として磁気ディスク装置を備えているものとする。また、画像データは、磁気ディスク装置上のファイルとして与えられるものとする。【０２２７】
まず、磁気ディスク装置から、画像データが読み込まれ、0LLサブバンドＺ１０１としてサブバンドメモリに格納される。【０２２８】
0LLサブバンドZ101は、ウェーブレット変換手段により、オクターブ分割された各階層のサブバンドZ102を、サブバンドメモリ内に構成する。【０２２９】
係数抽出手段は、同一階層・同一空間座標に対応する係数値を、LH, HL, HHサブバンドから抽出する。ここでは、LH係数Z106、HL係数Z107、HH係数Z108が抽出され、抽出係数メモリに格納される。【０２３０】
有意係数判定手段は、LH係数Z106、HL係数Z107、HH係数Z108の各色成分(Y, U, V)について、有意（非ゼロ）であるかどうかを調べ、有意である場合には、フラグ情報レジスタZ109のうち、対応するビットフラグを立てる。これにより、たとえば、LHでは、Y, U成分が非ゼロであるため、FLHY, FLHUのビットが1となり、V成分は０であるため、FLHVのビットは０となる。【０２３１】
こうして得られたフラグ情報レジスタZ109の値は、01A2h(16進表記)となる。フラグ情報符号化手段はこの値を可変長符号化し、符号Z111として、ファイルZ110へ出力する。【０２３２】
さらに、有意係数符号化手段は、LH係数Z106、HL係数Z107、HH係数Z108のうち、有意係数のみを抽出して可変長符号化し、ファイルZ110へ出力する。たとえば、LH係数Z106のY、Uは非ゼロであるため、可変長符号Z112, Z113として出力される。また同様に、HL係数Z107のYは非ゼロであるため、可変長符号Z114として出力される。HH係数Z107のUは非ゼロであるため、可変長符号Z115として出力される。【０２３３】
このようにして、全ての空間座標・階層について同様の処理が行われ、符号化が完了する。【０２３４】
以下、図１３を参照して、本発明の第２の実施の形態の具体的な実施例について説明する。【０２３５】
図１３は、本発明の第２の実施の形態による復号動作を模式的に示した図である。本実施例では、データ処理装置としてパーソナルコンピュータを、データ記憶装置として半導体メモリ（パーソナルコンピュータに含まれる）を、画像出力装置として磁気ディスク装置を備えているものとする。また、符号データは、磁気ディスク装置上のファイルZ201として与えられるものとする。【０２３６】
フラグ情報復号手段は、符号データZ201から可変長データZ202を読み出して復号し、フラグ情報メモリZ207に格納する。ここでは、フラグ情報の復号結果を01A2h(16進表記)とする。【０２３７】
有意係数復号手段は、フラグ情報メモリZ207の各ビットを参照し、ビットが立っている場合に、そのビット位置に対応する係数値が有意であると見なして、符号データZ201から可変長符号を読み出し、復号してLH係数メモリZ208、HL係数メモリZ209、HH係数メモリZ210に格納する。ビットが立っていない場合には、そのビット位置に対応する係数値にゼロを書き込む。【０２３８】
たとえば、FLHYのビットが立っているため、可変長符号Z203を読み出して復号して係数値2を得るとともに、LH係数メモリZ208のY成分に係数値2を格納する。同様に、FLHU, FHLY, FHHUのビットが立っているため、可変長符号Z204, Z205, Z206を読み出して復号し、結果をLH係数メモリのU成分、HL係数メモリのY成分、HH係数メモリのU成分に格納する。それ以外の成分については、ビットが立っていないため、ゼロ値が格納される。【０２３９】
こうして得られたLH, HL, HH係数値は、サブバンドメモリZ211における同一階層の同一空間座標に順次出力される。【０２４０】
各階層の復号が完了すると、逆ウェーブレット変換手段によって逆ウェーブレット変換が行われ、結果が画像メモリZ212に格納される。【０２４１】
以上の処理が全階層について完了すると、最終的な画像がファイルへ出力される。【０２４２】
以下、図１４を参照して、本発明の第３の実施の形態の具体的な実施例について説明する。【０２４３】
図１４は、本発明の第３の実施の形態による符号化動作を模式的に示した図である。本実施例では、データ処理装置としてパーソナルコンピュータを、データ記憶装置として半導体メモリ（パーソナルコンピュータに含まれる）を、符号出力装置として磁気ディスク装置を備えているものとする。また、画像データは、磁気ディスク装置上のファイルとして与えられるものとする。【０２４４】
まず、磁気ディスク装置から、画像データが読み込まれ、ＨＡＡＲウェーブレット変換手段によって、オクターブ分割された各階層のサブバンドZ301が、サブバンドメモリ内に構成される。以降、順次、各階層のLH, HL, HH係数が符号化されるが、以下では、1LH, 1HL, 1HHの符号化について説明する。【０２４５】
また、以下では、連長数の最大値を255とする。【０２４６】
Z301の1LH, 1HL, 1HHの各サブバンドの上段各２行は、各空間座標での各係数のY, U, V成分値を示している。たとえば、座標(x, y)=(0, 0)において、LH係数のY成分、U成分、V成分はそれぞれ3, 2, 0であり、HL係数のY成分、U成分、V成分は0, 0, 0であり、HH係数のY成分、U成分、V成分は0, 2, 0であることを示している。【０２４７】
まず、連長数メモリZ3021が0に初期化され、符号化対象係数メモリZ3022がすべて0に初期化される。また、前ライン係数メモリZ3023がすべて0に初期化される。また、係数抽出座標が(0, 0)に初期化される。【０２４８】
座標(0, 0)での処理を、Z302〜Z304に示す。【０２４９】
係数抽出手段は、同一階層・同一空間座標に対応する係数値を、LH, HL, HHサブバンドから抽出する。座標(0, 0)のLH係数(3, 2, 0)、HL係数(0, 0, 0)、HH係数(0, 2, 0)が抽出され、抽出係数メモリZ3024に格納される。これにより、各係数メモリ、連長数メモリはZ302の状態となる。【０２５０】
連長判定手段は、LH係数(3, 2, 0)およびHH係数(0, 2, 0)が、符号化対象係数メモリZ3022のLH係数(0, 0, 0)、HH係数(0, 0, 0)と等しいかどうか、また、HL係数(0, 0, 0)が、x座標=0に対応する前ライン係数メモリZ3023と等しいかどうかを調べる。【０２５１】
ここでは、LH, HH係数の値が異なるため、連長条件を満たさない。このため、有意係数判定処理が行われる。有意係数判定処理の動作をZ303に示す。【０２５２】
有意係数判定手段は、符号化対象係数メモリZ3022の係数値と、連長数メモリZ3021の値が非ゼロであるかどうかを調べ、結果をフラグ情報メモリZ3031に格納する。ここでは、すべての値が0であるため、フラグ情報は0となる。【０２５３】
フラグ情報符号化手段は、フラグ情報メモリZ3031の値を可変長符号化する。【０２５４】
有意係数符号化手段は、符号化対象係数メモリZ3022から有意係数のみを可変長符号化する。ここでは、有意係数が存在しないため、係数の符号は生成されない。【０２５５】
連長数符号化手段は、連長数メモリZ3021が非ゼロであるかどうかを調べ、非ゼロであれば連長数を可変長符号化する。ここでは、連長数が０のため、連長数の符号は生成されない。【０２５６】
これにより、座標(0, 0)ではZ304の可変長符号が生成され、ファイルへ出力される。【０２５７】
連長数メモリが0に初期化され、x座標=0に対応する前ライン係数メモリZ3023が、抽出係数メモリZ3024のHL係数値(0, 0, 0)で更新され、符号化対象係数メモリZ3022に、抽出係数メモリZ3024の各係数値が転写される。【０２５８】
以上で、座標(0, 0)での処理が完了する。【０２５９】
次に、座標(1, 0)での処理をZ305に示す。【０２６０】
座標(1, 0)のLH係数(3, 2, 0)、HL係数(0, 0, 0)、HH係数(0, 2, 0)が抽出され、抽出係数メモリZ3054に格納される。これにより、各係数メモリ、連長数メモリはZ305の状態となる。【０２６１】
連長判定手段は、LH係数(3, 2, 0)およびHH係数(0, 2, 0)が、符号化対象係数メモリZ3052のLH係数(3, 2, 0)、HH係数(0, 2, 0)と等しいかどうか、また、HL係数(0, 0, 0)が、x座標=1に対応する前ライン係数メモリZ3053と等しいかどうかを調べる。判定の結果、これらが全て等しく、また、連長数Z3051が最大値(255)未満であるため、連長条件を満たす。連長数メモリZ3051の値をインクリメントして1とし、座標(1,0)での処理が完了する。【０２６２】
座標(2, 0)〜(3, 0)では、座標(1, 0)と同様に連長が継続し、連長数は3となる。【０２６３】
座標(4, 0)での処理をZ306〜Z308に示す。【０２６４】
座標(4, 0)のLH係数(3, 2, 0)、HL係数(0, 4, 0)、HH係数(0, 2, 0)が抽出され、抽出係数メモリZ3064に格納される。これにより、各係数メモリ、連長数メモリはZ306の状態となる。【０２６５】
連長判定手段は、LH係数(3, 2, 0)およびHH係数(0, 2, 0)が、符号化対象係数メモリZ3062のLH係数(3, 2, 0)、HH係数(0, 2, 0)と等しいかどうか、また、HL係数(0, 4, 0)が、x座標=4に対応する前ライン係数メモリZ3063と等しいかどうかを調べる。【０２６６】
ここでは、HL係数の値が異なるため、連長条件を満たさない。従って、以降では有意係数判定処理が行われる。有意係数判定処理の動作をZ307に示す。【０２６７】
有意係数判定手段は、符号化対象係数メモリZ3062の係数値と、連長数メモリZ3061の値が非ゼロであるかどうかを調べ、結果をフラグ情報メモリZ3071に格納する。【０２６８】
フラグ情報メモリZ3071の最上位のビットは連長数のフラグである。連長数は３であり、非ゼロであるため、フラグビットには1が格納される。【０２６９】
フラグ情報メモリZ3071の最上位から２番目のビットはLHのY成分のフラグである。LHのY成分は3であり、非ゼロであるため、フラグビットには1が格納される。【０２７０】
フラグ情報メモリZ3071の最上位から３番目のビットはLHのUV成分のフラグである。LHのU, V成分はそれぞれ2, 0であり、非ゼロ値を含むため、フラグビットには1が格納される。【０２７１】
フラグ情報メモリZ3071の最上位から４番目のビットはHLのY成分のフラグである。HLのY成分は0であるため、フラグビットには0が格納される。【０２７２】
フラグ情報メモリZ3071の最上位から５番目のビットはHLのUV成分のフラグである。HLのU, V成分はそれぞれ0,0であり、すべてゼロ値であるため、フラグビットには0が格納される。【０２７３】
フラグ情報メモリZ3071の最上位から６番目のビットはHHのY成分のフラグである。HHのY成分は0であるため、フラグビットには0が格納される。【０２７４】
フラグ情報メモリZ3071の最上位から７番目のビットはHHのU成分のフラグである。HHのU成分は2であり非ゼロであるため、フラグビットには1が格納される。【０２７５】
フラグ情報メモリZ3071の最上位から８番目のビットはHHのV成分のフラグである。HHのV成分は０であるため、フラグビットには0が格納される。【０２７６】
フラグ情報符号化手段は、以上で生成されたフラグ情報メモリZ3071の値（E2h, 16進表記）を可変長符号化する。【０２７７】
有意係数符号化手段は、符号化対象係数メモリZ3062から有意係数のみを可変長符号化する。LH, HLでは、U, V成分のいずれかもしくは両方が非ゼロ値の場合に、U, V成分を両方可変長符号化する。ここでは、LHのY成分(3)、UV成分(2, 0)、HHのU成分(2)が符号化される。【０２７８】
連長数符号化手段は、連長数メモリZ3061が非ゼロであるかどうかを調べ、非ゼロであれば連長数を可変長符号化する。ここでは、連長数が３のため、連長数3の符号が生成される。【０２７９】
これにより、座標(4, 0)ではZ308の可変長符号が生成され、ファイルへ出力される。【０２８０】
連長数メモリZ3061が0に初期化され、x座標=0に対応する前ライン係数メモリZ3063が、抽出係数メモリZ3064のHL係数値(0, 4, 0)で更新され、符号化対象係数メモリZ3062に、抽出係数メモリZ3064の各係数値が転写される。【０２８１】
以上で、座標(4, 0)での処理が完了する。【０２８２】
座標(0, 1)〜(3, 1)では、座標(1, 0)と同様に連長が継続し、連長数は4となる。【０２８３】
座標(4, 1)での処理をZ306〜Z308に示す。【０２８４】
座標(4, 1)のLH係数(3, 2, 0)、HL係数(0, 0, 0)、HH係数(0, 2, 0)が抽出され、抽出係数メモリZ3094に格納される。これにより、各係数メモリ、連長数メモリはZ309の状態となる。【０２８５】
連長判定手段は、LH係数(3, 2, 0)およびHH係数(0,2,0)が、符号化対象係数メモリZ3092のLH係数(3, 2, 0)、HH係数(0, 2, 0)と等しいかどうか、また、HL係数(0, 0, 0)が、x座標=4に対応する前ライン係数メモリZ3093と等しいかどうかを調べる。【０２８６】
x座標=4に対応する前ライン係数メモリZ3023は、座標(0, 4)の処理時にHL係数値(0, 4, 0)で上書きされており、(0, 4, 0)となっている。このため、HL係数の値が異なり、連長条件を満たさない。従って、以降では有意係数判定処理が行われる。有意係数判定処理の動作をZ310に示す。【０２８７】
有意係数判定手段は、符号化対象係数メモリZ3092の係数値と、連長数メモリZ3091の値が非ゼロであるかどうかを調べ、結果をフラグ情報メモリZ3101に格納する。【０２８８】
連長数は４であるため、連長数のフラグビットには1が格納される。LHのY成分は3であるためフラグビットは1となる。LHのUV成分は(2, 0)であるためフラグビットは1となる。HLのY成分は0であるためフラグビットは0となる。HLのUV成分は(4, 0)であるためフラグビットは1となる。HHのY成分は0であるためフラグビットは0となる。HHのU成分は2であるためフラグビットは1となる。HHのV成分は0であるためフラグビットは0となる。【０２８９】
フラグ情報符号化手段は、以上で生成されたフラグ情報メモリZ3101の値（EAh, 16進表記）を可変長符号化する。【０２９０】
有意係数符号化手段は、符号化対象係数メモリZ3092から有意係数のみを可変長符号化する。ここでは、LHのY成分(3)、UV成分(2, 0)、HLのUV成分(4, 0)、HHのU成分(2)が符号化される。【０２９１】
連長数符号化手段は、連長数メモリZ3091が非ゼロであるかどうかを調べ、非ゼロであれば連長数を可変長符号化する。ここでは、連長数が４のため、連長数４の符号が生成される。【０２９２】
これにより、座標(4, 1)ではZ311の可変長符号が生成され、ファイルへ出力される。【０２９３】
連長数メモリが0に初期化され、x座標=0に対応する前ライン係数メモリZ3093が、抽出係数メモリZ3094のHL係数値(0, 0, 0)で更新され、符号化対象係数メモリZ3092に、抽出係数メモリZ3094の各係数値が転写される。【０２９４】
以上で、座標(4, 1)での処理が完了する。【０２９５】
このようにして、全ての空間座標について同様の処理が行われた後、符号化未完了の符号化対象メモリと連長数が符号化され、対象階層の符号化処理が全て完了する。【０２９６】
以上の処理を全階層に対して行うことで、すべての符号化処理が完了する。【０２９７】
以下、図１５を参照して、本発明の第４の実施の形態の具体的な実施例について説明する。【０２９８】
図１５は、本発明の第４の実施の形態による復号動作を模式的に示した図である。本実施例では、データ処理装置としてパーソナルコンピュータを、データ記憶装置として半導体メモリ（パーソナルコンピュータに含まれる）を、画像出力装置として磁気ディスク装置を備えているものとする。また、符号データは、磁気ディスク装置上のファイルとして与えられるものとする。【０２９９】
以下では、あらかじめサブバンドメモリZ401に1LLのデータが格納されているものとし、0LLの画像Z402を復号する手順を示す。【０３００】
Z401の1LL, 1LH, 1HL, 1HHの各サブバンドの最上段は、各空間座標での各係数のY, U, V成分値が示している。たとえば、サブバンドメモリZ401に格納されているLL係数の、座標(0, 0)でのY成分、U成分、V成分の値は、それぞれa,b,cであることを示している。また、座標(0, 0)の復号処理で得られるLH係数のY成分、U成分、V成分はそれぞれ3, 2, 0であり、HL係数のY成分、U成分、V成分は0, 0, 0であり、HH係数のY成分、U成分、V成分は0, 2, 0であることを示している。【０３０１】
0LL階層の復号開始時には、まず、連長数メモリZ3021が0に初期化され、符号化対象係数メモリZ3022がすべて0に初期化される。また、前ライン係数メモリZ3023がすべて0に初期化される。また、係数抽出座標が(0, 0)に初期化される。【０３０２】
座標(0, 0)での処理をZ403〜Z405に示す。【０３０３】
まず、連長手段によって、連長数が非ゼロであるかどうかが判定される。(0, 0)では連長数ゼロであるため、連長処理は行われない。【０３０４】
フラグ復号手段は、可変長符号Z403を読み出し、フラグ情報Z4041を復号する。【０３０５】
有意係数復号手段は、フラグ情報メモリZ4041の各ビットを参照し、ビットが立っている場合に、そのビット位置に対応する係数値が有意であると見なして、符号データZ403から可変長符号を読み出し、復号して係数メモリZ4053に格納する。ビットが立っていない場合には、そのビット位置に対応する係数値にゼロを書き込む。また、連長に対応するフラグビットが立っている場合、連長数復号手段は、連長数が有意であると見なして、連長数を復号する。これら一連の処理をZ404に示す。【０３０６】
座標(0, 0)ではフラグ情報メモリZ4041の値はE2hである。FLHY（最上位から２番目）のビットが立っているため、入力符号Z403から復号して係数値3を得るとともに、係数メモリZ4053内のLH係数のY成分に係数値3を格納する。同様に、FLHU, LHV（最上位から３番目）, FHHU（最上位から７番目）のビットが立っているため、入力符号Z403から復号して、LH係数のU成分=2, LH係数のV成分=0, HH係数のU成分=2を、係数メモリZ4053内のLH係数のU成分とV成分、HH係数メモリのU成分にそれぞれ格納する。それ以外の成分については、ビットが立っていないため、ゼロ値が格納される。【０３０７】
また、係数の復号に伴い、x座標=0に対応する前ライン係数メモリZ4052が、係数メモリZ4053のHL係数値で書き換えられる。【０３０８】
また、連長に対応するフラグビット（最上位）が立っているため、連長数復号手段は入力符号Z403から連長数を復号し、連長数メモリZ4051に格納する。【０３０９】
こうして、サブバンドメモリZ401における同一階層・座標(0, 0)のLH, HL, HH係数値が係数メモリZ4053に格納され、各メモリの状態はZ405となる。【０３１０】
逆ウェーブレット変換手段は、サブバンドメモリZ401から、座標(0, 0)に対応する係数値Z406を読み出して、係数メモリZ4053のLH, HL, HH係数値と合わせて２次元ＨＡＡＲ逆ウェーブレット変換処理を行う。逆ウェーブレット変換の結果得られた0LL成分は、画像メモリZ402内の画素A, B, C, D, E, F, G, H, I, J, K, Lとして出力される。【０３１１】
座標(1, 0)での処理をZ407〜Z408に示す。【０３１２】
まず、連長手段によって、連長数が非ゼロであるかどうかが判定される。(1, 0)では連長数３であるため、連長数がデクリメントされて2となり、連長数メモリZ4071が更新される。また、係数メモリZ4073のHL係数値に、x座標=1に対応する前ライン係数メモリZ4072が転写される。【０３１３】
こうして、サブバンドメモリZ401における同一階層・座標(1, 0)のLH, HL, HH係数値が係数メモリZ4073に格納され、各メモリの状態はZ407となる。【０３１４】
逆ウェーブレット変換手段は、サブバンドメモリZ401から、座標(1, 0)に対応する係数値Z408を読み出して、係数メモリZ4073のLH, HL, HH係数値と合わせて２次元ＨＡＡＲ逆ウェーブレット変換処理を行う。逆ウェーブレット変換の結果得られた0LL成分は、画像メモリZ402へ出力される。【０３１５】
座標(2, 0)〜(3, 0)までは、座標(1, 0)と同様にして連長処理が行われる。連長数は順次デクリメントされていき、(3, 0)の処理完了時に0となる。【０３１６】
座標(4, 0)での処理をZ409〜Z412に示す。【０３１７】
まず、連長手段によって、連長数が非ゼロであるかどうかが判定される。(4, 0)では連長数ゼロであるため、連長処理は行われない。【０３１８】
フラグ復号手段は、可変長符号Z409を読み出し、フラグ情報Z4101を復号する。【０３１９】
有意係数復号手段および連長数復号手段は、Z404と同様の方法で、Z410に示す通りの復号処理を行う。【０３２０】
座標(4, 0)ではフラグ情報メモリZ4101の値はEAhである。FLHY（最上位から２番目）のビットが立っているため、入力符号Z409から復号して係数値3を得るとともに、係数メモリZ4113内のLH係数のY成分に係数値3を格納する。同様に、FLHU, LHV（最上位から３番目）, FHLU, HLV（最上位から５番目）, FHHU（最上位から７番目）のビットが立っているため、入力符号Z409から復号して、LH係数のU成分=2, LH係数のV成分=0, HL係数のU成分=4, HL係数のV成分=0, HH係数のU成分=2を、係数メモリZ4113内のLH係数のU成分とV成分、HL係数のU成分とV成分、HH係数のU成分にそれぞれ格納する。それ以外の成分については、ビットが立っていないため、ゼロ値が格納される。【０３２１】
また、係数の復号に伴い、x座標=0に対応する前ライン係数メモリZ4112が、係数メモリZ4113のHL係数値で書き換えられる。【０３２２】
また、連長に対応するフラグビット（最上位）が立っているため、連長数復号手段は入力符号Z409から連長数を復号し、連長数メモリZ4111に格納する。【０３２３】
こうして、サブバンドメモリZ401における同一階層・座標(4, 0)のLH, HL, HH係数値が係数メモリZ4113に格納され、各メモリの状態はZ411となる。【０３２４】
逆ウェーブレット変換手段は、サブバンドメモリZ401から、座標(4, 0)に対応する係数値Z412を読み出して、係数メモリZ4113のLH, HL, HH係数値と合わせて２次元ＨＡＡＲ逆ウェーブレット変換処理を行う。逆ウェーブレット変換の結果得られた0LL成分は、画像メモリZ402へ出力される。【０３２５】
以上の処理が全座標について完了すると、最終的な画像がファイルへ出力される。【０３２６】
上述の本発明によれば、高速かつ高画質な画像配信サービスといった用途に適用できる。また、ネットワークスキャナやFAX複合機などで蓄積した文書画像を、遠隔から高画質かつ高速に閲覧する、といった用途にも適用可能である。【０３２７】
本出願は、２００６年７月７日に出願された日本出願特願２００６−１８７３６４号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0004424522.tif 000002
【図２】
0004424522.tif 000003
【図３】
0004424522.tif 000004
【図４】
0004424522.tif 000005
【図５】
0004424522.tif 000006
【図６】
0004424522.tif 000007
【図７】
0004424522.tif 000008
【図８】
0004424522.tif 000009
【図９】
0004424522.tif 000010
【図１０】
0004424522.tif 000011
【図１１】
0004424522.tif 000012
【図１２】
0004424522.tif 000013
【図１３】
0004424522.tif 000014
【図１４】
0004424522.tif 000015
【図１５】
0004424522.tif 000016
【図１６】
0004424522.tif 000017