(57)【特許請求の範囲】
【請求項１】
画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化する有効桁数符号化部と、
値が０の係数データのみで構成される組により構成されるゼロランを符号化し、前記ゼロランを構成する前記組の数の２進表現の桁数より１少ない数の符号０と、前記組の数の２進表現とにより構成される符号を生成するゼロラン符号化部と、
前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化する絶対値符号化部と、
前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化するサイン符号化部と
を備える画像処理装置。
【請求項２】
前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０と、符号１とにより構成される符号を生成する
請求項１に記載の画像処理装置。
【請求項３】
前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０により構成される符号を生成する
請求項１に記載の画像処理装置。
【請求項４】
前記有効桁数符号化部は、処理対象である今の組の最大有効桁数の、前回処理対象であった前の組の最大有効桁数からの変化量を示す符号を生成する
請求項１乃至請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記有効桁数符号化部は、前記変化量を示す符号として、前記変化量より１少ない数の符号０と、変動の終端を示す符号１とを生成する
請求項４に記載の画像処理装置。
【請求項６】
前記有効桁数符号化部は、前記今の組の最大有効桁数が０である場合、前記変化量を示す符号として、前記変化量より１少ない数の符号０のみを生成する
請求項５に記載の画像処理装置。
【請求項７】
前記有効桁数符号化部は、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成する
請求項４乃至請求項６のいずれかに記載の画像処理装置。
【請求項８】
前記有効桁数符号化部は、前記前の組の最大有効桁数が０でなかった場合のみ、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成する
請求項７に記載の画像処理装置。
【請求項９】
画像データをウェーブレット変換するウェーブレット変換部と、
前記ウェーブレット変換部により画像データがウェーブレット変換されて得られたウェーブレット係数を量子化する量子化部と
をさらに備え、
前記有効桁数符号化部、前記ゼロラン符号化部、前記絶対値符号化部、および前記サイン符号化部は、それぞれ、前記量子化部により前記ウェーブレット係数が量子化されて得られた量子化係数について符号化を行う
請求項１乃至請求項８のいずれかに記載の画像処理装置。
【請求項１０】
画像処理装置の画像処理方法であって、
有効桁数符号化部が、画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化し、
ゼロラン符号化部が、値が０の係数データのみで構成される組により構成されるゼロランを符号化し、前記ゼロランを構成する前記組の数の２進表現の桁数より１少ない数の符号０と、前記組の数の２進表現とにより構成される符号を生成し、
絶対値符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化し、
サイン符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化する
画像処理方法。
【請求項１１】
複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号する有効桁数復号部と、
前記有効桁数復号部による復号の結果、処理対象である今の組の最大有効桁数が０である場合、値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号するゼロラン復号部と、
前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号する絶対値復号部と、
前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号するサイン復号部と
を備える画像処理装置。
【請求項１２】
前記ゼロラン復号部は、符号１を読み込むか、ラインの最後まで符号を読み込むまで、順次符号を読み込む１回目の読み込みを行い、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達していない場合、前記１回目の読み込みで読み込んだ符号０の数分の符号をさらに読み込む２回目の読み込みを行い、前記２回目の読み込みで読み込んだ符号の先頭に符号１をつけた符号列を２進表現とする数の、値が０の係数データを生成する
請求項１１に記載の画像処理装置。
【請求項１３】
前記ゼロラン復号部は、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達した場合、前記ラインの最後まで達する数の、値が０の係数データを生成する
請求項１２に記載の画像処理装置。
【請求項１４】
前記有効桁数復号部は、前記ゼロラン復号部による前記２回目の読み込み後、符号１を読み込むまで順次符号を読み込み、読み込んだ符号０の数より１多い数を、前記ゼロランを構成する組の次の組の最大有効桁数とする
請求項１２に記載の画像処理装置。
【請求項１５】
前記ゼロラン復号部による復号の結果得られた値が０の量子化係数、または、前記絶対値復号部による復号の結果得られた絶対値、および、前記サイン復号部による復号の結果得られたサインよりなる量子化係数を逆量子化する逆量子化部と、
前記逆量子化部により前記量子化係数が逆量子化されて得られたウェーブレット係数を、ウェーブレット逆変換するウェーブレット逆変換部と
をさらに備える請求項１１乃至請求項１４のいずれかに記載の画像処理装置。
【請求項１６】
画像処理装置の画像処理方法であって、
有効桁数復号部が、複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号し、
ゼロラン復号部が、前記最大有効桁数の復号の結果、処理対象である今の組の最大有効桁数が０である場合、値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号し、
絶対値復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号し、
サイン復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、より容易に符号化または復号することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
画像（データ）の符号化を行う場合に、入力された画像に対して帯域分割処理を行うことにより生成された各サブバンド（周波数帯域）の係数を符号化する符号化方式として、JPEG（Joint Photographic Experts Group）2000が知られている。
【０００３】
JPEG2000方式により画像を符号化する場合、入力された画像をウェーブレット変換することにより得られたウェーブレット係数が量子化され、量子化により得られた量子化係数がさらにエントロピ符号化される。
【０００４】
従来、エントロピ符号化においては、EBCOT（Embedded Block Coding with Optimized Truncation）と称されるビットモデリングと、MQコーダと称される算術符号化が行われている。すなわち、量子化係数がビットモデリングされ、さらにビットプレーンごとに複数のコーディングパスに基づいて算術符号化される。そして、算術符号化により得られた符号が符号化された画像（データ）として出力される（例えば、特許文献1参照）。
【０００５】
また、JPEG2000方式により符号化された画像を復号する場合、符号化を行う場合とは逆の手順で処理が行われる。より具体的には、符号化された画像のデータとしての符号がエントロピ復号されて逆量子化され、これにより得られた量子化係数がさらにウェーブレット逆変換される。そして、ウェーブレット逆変換により得られた画像が復号された画像として出力される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１６６２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら上述した技術では、EBCOTおよびMQコーダにおける処理量が多いため、画像の符号化および復号を高速に行うことは困難であり、例えば、横1920画素、縦1080画素などの解像度の高いHD（High Definition）画像をリアルタイムで符号化（または復号）するためには、高価な専用のハードウェアを用意する必要があった。
【０００８】
本開示は、このような状況に鑑みてなされたものであり、画像をより容易に符号化または復号することができるようにするものである。
【課題を解決するための手段】
【０００９】
本開示の一側面は、画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化する有効桁数符号化部と、値が０の係数データのみで構成される組により構成されるゼロランを符号化し、前記ゼロランを構成する前記組の数の２進表現の桁数より１少ない数の符号０と、前記組の数の２進表現とにより構成される符号を生成するゼロラン符号化部と、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化する絶対値符号化部と、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化するサイン符号化部とを備える画像処理装置である。
【００１１】
前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０と、符号１とにより構成される符号を生成することができる。
【００１２】
前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０により構成される符号を生成することができる。
【００１３】
前記有効桁数符号化部は、処理対象である今の組の最大有効桁数の、前回処理対象であった前の組の最大有効桁数からの変化量を示す符号を生成することができる。
【００１４】
前記有効桁数符号化部は、前記変化量を示す符号として、前記変化量より１少ない数の符号０と、変動の終端を示す符号１とを生成することができる。
【００１５】
前記有効桁数符号化部は、前記今の組の最大有効桁数が０である場合、前記変化量を示す符号として、前記変化量より１少ない数の符号０のみを生成することができる。
【００１６】
前記有効桁数符号化部は、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成することができる。
【００１７】
前記有効桁数符号化部は、前記前の組の最大有効桁数が０でなかった場合のみ、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成することができる。
【００１８】
画像データをウェーブレット変換するウェーブレット変換部と、前記ウェーブレット変換部により画像データがウェーブレット変換されて得られたウェーブレット係数を量子化する量子化部とをさらに備え、前記有効桁数符号化部、前記ゼロラン符号化部、前記絶対値符号化部、および前記サイン符号化部は、それぞれ、前記量子化部により前記ウェーブレット係数が量子化されて得られた量子化係数について符号化を行うことができる。
【００１９】
本開示の一側面は、また、画像処理装置の画像処理方法であって、有効桁数符号化部が、画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化し、ゼロラン符号化部が、値が０の係数データのみで構成される組により構成されるゼロランを符号化し、前記ゼロランを構成する前記組の数の２進表現の桁数より１少ない数の符号０と、前記組の数の２進表現とにより構成される符号を生成し、絶対値符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化し、サイン符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化する画像処理方法である。
【００２０】
本開示の他の側面は、複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号する有効桁数復号部と、前記有効桁数復号部による復号の結果、処理対象である今の組の最大有効桁数が０である場合、値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号するゼロラン復号部と、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号する絶対値復号部と、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号するサイン復号部とを備える画像処理装置である。
【００２２】
前記ゼロラン復号部は、符号１を読み込むか、ラインの最後まで符号を読み込むまで、順次符号を読み込む１回目の読み込みを行い、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達していない場合、前記１回目の読み込みで読み込んだ符号０の数分の符号をさらに読み込む２回目の読み込みを行い、前記２回目の読み込みで読み込んだ符号の先頭に符号１をつけた符号列を２進表現とする数の、値が０の係数データを生成することができる。
【００２３】
前記ゼロラン復号部は、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達した場合、前記ラインの最後まで達する数の、値が０の係数データを生成することができる。
【００２４】
前記有効桁数復号部は、前記ゼロラン復号部による前記２回目の読み込み後、符号１を読み込むまで順次符号を読み込み、読み込んだ符号０の数より１多い数を、前記ゼロランを構成する組の次の組の最大有効桁数とすることができる。
【００２５】
前記ゼロラン復号部による復号の結果得られた値が０の量子化係数、または、前記絶対値復号部による復号の結果得られた絶対値、および、前記サイン復号部による復号の結果得られたサインよりなる量子化係数を逆量子化する逆量子化部と、前記逆量子化部により前記量子化係数が逆量子化されて得られたウェーブレット係数を、ウェーブレット逆変換するウェーブレット逆変換部とをさらに備えることができる。
【００２６】
本開示の他の側面は、また、画像処理装置の画像処理方法であって、有効桁数復号部が、複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号し、ゼロラン復号部が、前記最大有効桁数の復号の結果、処理対象である今の組の最大有効桁数が０である場合、値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号し、絶対値復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号し、サイン復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号する画像処理方法である。
【００２７】
本開示の一側面においては、画像データから生成された複数の係数データを所定の数毎に１組とし、組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報が符号化され、値が０の係数データのみで構成される組により構成されるゼロランが符号化されて、そのゼロランを構成する組の数の２進表現の桁数より１少ない数の符号０と、その組の数の２進表現とにより構成される符号が生成され、ゼロラン以外の係数データについて、組毎に、各係数データの絶対値が符号化され、ゼロラン以外の係数データについて、組毎に、各係数データの正負のサインが符号化される。
【００２８】
本開示の他の側面においては、複数の係数データを所定の数毎に１組として組毎に生成された、組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号が復号され、その最大有効桁数の復号の結果、処理対象である今の組の最大有効桁数が０である場合、値が０の係数データのみで構成される組により構成されるゼロランを示す符号が復号され、ゼロラン以外の係数データについて組毎に生成された、各係数データの絶対値を示す符号が復号され、ゼロラン以外の係数データについて組毎に生成された、各係数データの正負のサインを示す符号が復号される。
【発明の効果】
【００２９】
本開示によれば、画像を処理することが出来る。特に、画像を、より容易に符号化または復号することができる。
【図面の簡単な説明】
【００３０】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】サブバンドを説明するための図である。
【図３】符号化される量子化係数の一例を示す図である。
【図４】ゼロラン符号化の一例を示す図である。
【図５】ゼロランの符号の一例を説明する図である。
【図６】ゼロラン符号化の、他の例を示す図である。
【図７】ゼロランの符号の、他の例を説明する図である。
【図８】ゼロラン符号化の、さらに他の例を示す図である。
【図９】ゼロランの符号の、さらに他の例を説明する図である。
【図１０】エントロピ符号化部の主な構成例を示すブロック図である。
【図１１】VLC符号化部の主な構成例を示すブロック図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】エントロピ符号化処理の流れの例を説明するフローチャートである。
【図１４】W個組符号化処理の流れの例を説明するフローチャートである。
【図１５】W個組符号化処理の流れの例を説明する、図１４に続くフローチャートである。
【図１６】画像復号装置の主な構成例を示すブロック図である。
【図１７】エントロピ復号部の主な構成例を示すブロック図である。
【図１８】符号分割部の構成例を示すブロック図である。
【図１９】符号分割部の、他の構成例を示すブロック図である。
【図２０】VLC復号部の主な構成例を示すブロック図である。
【図２１】復号処理の流れの例を説明するフローチャートである。
【図２２】エントロピ復号処理の流れの例を説明するフローチャートである。
【図２３】W個組復号処理の流れの例を説明するフローチャートである。
【図２４】W個組復号処理の流れの例を説明する、図２３に続くフローチャートである。
【図２５】画像符号化装置の他の構成例を示すブロック図である。
【図２６】画像復号装置の他の構成例を示すブロック図である。
【図２７】符号化・復号の流れの例を説明する図である。
【図２８】パーソナルコンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００３１】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（画像符号化装置・画像復号装置）
４．第４の実施の形態（パーソナルコンピュータ）
【００３２】
＜１．第１の実施の形態＞
［画像符号化装置］
図１は、画像符号化装置の主な構成例を示すブロック図である。図１に示される画像符号化装置１１は、画像データを符号化し、得られた符号化データを出力する画像処理装置である。
【００３３】
図１に示されるように、画像符号化装置１１は、ウェーブレット変換部２１、量子化部２２、およびエントロピ符号化部２３を有する。
【００３４】
ウェーブレット変換部２１には、例えば、必要に応じてDCレベルシフトが施されたコンポーネント信号である画像（データ）が入力される。ウェーブレット変換部２１は、その入力された画像をウェーブレット変換して複数のサブバンドに分解する。ウェーブレット変換部２１は、ウェーブレット変換により得られたサブバンドのウェーブレット係数を量子化部２２に供給する。
【００３５】
量子化部２２は、ウェーブレット変換部２１から供給されたウェーブレット係数を量子化し、その結果として得られた量子化係数をエントロピ符号化部２３に供給する。
【００３６】
エントロピ符号化部２３は、量子化部２２から供給された量子化係数をエントロピ符号化し、これにより得られた符号を符号化された画像（符号化データ）として出力する。エントロピ符号化部２３から出力された画像（符号化データ）は、例えば、レート制御処理された後、パケット化されて記録されたり、画像符号化装置１１に接続された他の装置（図示せず）に供給されたりする。
【００３７】
エントロピ符号化部２３は、以下に説明するように量子化係数の符号化を行う。これにより、エントロピ符号化部２３は、より容易な符号化を実現する。
【００３８】
次に、図２および図３を参照して、図１のエントロピ符号化部２３が行うエントロピ符号化について説明する。
【００３９】
図２は、サブバンドを説明するための図である。例えば、図２に示すように、１つのサブバンドがラインL1乃至ラインL6の６本のラインから構成されているとし、xy座標系におけるライン上の画素に対応する位置を（x，y）とする。ここで、各ラインの図中、左端の位置のx座標は０とされ、ラインL1のy座標は０とされる。
【００４０】
量子化部２２からエントロピ符号化部２３には、ビットプレーン表現された、サブバンドの各位置（x，y）における量子化係数がラインL1からラインL6までラスタスキャン順に入力される。
【００４１】
換言するに、エントロピ符号化部２３には、まず、ラインL1の左端の位置（0，0）に対応する量子化係数が入力される。次にその位置（0，0）の右隣の位置（1，0）に対応する量子化係数がエントロピ符号化部２３に入力され、ラインL1の右端の位置まで、量子化係数が入力された位置の右隣の位置に対応する量子化係数がエントロピ符号化部２３に順次入力される。
【００４２】
そして、ラインL1上の位置の量子化係数が全て入力されると、ラインL2の左端の位置（0，1）から順番に右端の位置まで、ラインL2上の各位置に対応する量子化係数がエントロピ符号化部２３に入力され、同様にラインL3からラインL6まで、各ライン上の位置に対応する量子化係数がエントロピ符号化部２３に入力される。
【００４３】
例えば、図３の図中、左上に示すように、図２のラインL1の左端の位置の量子化係数から順番に、12個の量子化係数がエントロピ符号化部２３に入力されると、エントロピ符号化部２３は、予め定められた所定の数w（図３ではw＝4）ずつ量子化係数を符号化する。
【００４４】
ここで、図３の左上に示された各量子化係数は、その符号の絶対値が２進数の桁に分けられて表現されて（ビットプレーン表現されて）おり、図３の例では、エントロピ符号化部２３には、１つのライン（図２のラインL1）の量子化係数“-0101”、“+0011”、“-0110”、“+0010”、“+0011”、“+0110”、“0000”、“-0011”、“+1101”、“-0100”、“+0111”、および“-1010”が順番に入力される。
【００４５】
１つの量子化係数は、“＋”（正）または“−”（負）で表わされる量子化係数の符号（以下、量子化係数のサイン（Sign）と称する。）と、２進数で表わされた量子化係数の絶対値とからなる。図３では、量子化係数の絶対値の各桁の値を示す各ビットのうち、図中、最も上側のビットが最上位ビット（最上位の桁のビット）を表わしている。したがって、例えば、量子化係数“-0101”は、そのサインが“−”であり、２進数で表わされた絶対値が“0101”であるので、この量子化係数は１０進数で表わすと“-5”となる。
【００４６】
まず、エントロピ符号化部２３は、入力された１つのラインの量子化係数（の絶対値）が全て０（ゼロ）であるか否かを判定し、その判定結果に応じて、これから符号化するラインの量子化係数が全て０であるか否かを示す符号を出力する。量子化係数が全て０であると判定した場合、エントロピ符号化部２３は、ラインの量子化係数が全て０であるか否かを示す符号として０を出力して、現在行っているラインの量子化係数の符号化を終了する。また、全ての量子化係数の値が０ではない（０の量子化係数のみではない）と判定した場合、エントロピ符号化部２３は、ラインの量子化係数が全て０であるか否かを示す符号として１を出力する。
【００４７】
図中、左上に示した１２個の量子化係数が入力された場合、入力されたラインの量子化係数は０のみではないので、図中、右上に示すように、エントロピ符号化部２３は符号として１を出力する。
【００４８】
ラインの量子化係数が全て０であるか否かを示す符号として、量子化係数が全て０でないことを示す符号１が出力されると、次に、エントロピ符号化部２３は、入力された最初の４つ（Ｗ個）の量子化係数“-0101”、“+0011”、“-0110”、および“+0010”の符号化を行う。
【００４９】
エントロピ符号化部２３は、今回入力された連続する４つの量子化係数の最大有効桁数（図３における変数Ｂの値）と、前回符号化した（入力された）４つ（Ｗ個）の量子化係数の最大有効桁数とを比較し、最大有効桁数が変化したか否かを判定して、量子化係数の最大有効桁数を示す符号を出力する。
【００５０】
ここで、最大有効桁数とは、まとめて符号化する４つ（Ｗ個）の量子化係数のうち、絶対値が最も大きい量子化係数の有効桁数をいう。換言すれば、最大有効桁数は、４つの量子化係数のうち、絶対値が最も大きい量子化係数の最上位にある１が何桁目にあるかを示す。したがって、例えば、まとめて符号化する４つの量子化係数“-0101”、“+0011”、“-0110”、および“+0010”の最大有効桁数は、絶対値が最も大きい量子化係数“-0110”の最上位にある１の桁である“３”とされる。
【００５１】
また、量子化係数の最大有効桁数を示す符号は、最大有効桁数が変化したか否かを示す符号、最大有効桁数が増加したか、または減少したかを示す符号、および最大有効桁数の変化量を示す符号からなり、最大有効桁数が変化していない場合、最大有効桁数が増加したか、または減少したかを示す符号、および最大有効桁数の変化量を示す符号は出力されない。
【００５２】
エントロピ符号化部２３は、最大有効桁数の比較の結果、最大有効桁数が変化した場合、最大有効桁数が変化したことを示す符号１を出力し、最大有効桁数が変化していない場合、最大有効桁数が変化していないことを示す符号０を出力する。
【００５３】
なお、最大有効桁数が変化したか否かを判定する場合に、今回初めて４つの量子化係数が入力されるとき、すなわち、符号化するサブバンドの量子化係数が初めて入力されるとき（例えば、図２のラインL1の左端から順番に４つの量子化係数が入力されるとき）、前回、そのサブバンドの量子化係数は符号化されていないので、前回符号化した４つ（Ｗ個）の量子化係数の最大有効桁数は０とされる。
【００５４】
したがって、エントロピ符号化部２３は、今回入力された４つの量子化係数“-0101”、“+0011”、“-0110”、および“+0010”の最大有効桁数３と、前回符号化した量子化係数の最大有効桁数０とを比較し、最大有効桁数が変化したので符号１を出力する。
【００５５】
また、エントロピ符号化部２３は、最大有効桁数が変化したことを示す符号１に続いて、最大有効桁数が増加したか、または減少したかを示す符号を出力する。ここで、エントロピ符号化部２３は、最大有効桁数が増加した場合には０を出力し、最大有効桁数が減少した場合には１を出力する。
【００５６】
図３の例の場合、前回の最大有効桁数は０であり、今回の最大有効桁数は３であるので、図中、右上に示すように、エントロピ符号化部２３は、最大有効桁数が増加したことを示す符号０を出力する。
【００５７】
さらに、エントロピ符号化部２３は、最大有効桁数が増加したか、または減少したかを示す符号を出力すると、最大有効桁数がどれだけ増加または減少したかを示す符号、すなわち、最大有効桁数の変化量を示す符号を出力する。具体的には、エントロピ符号化部２３は、最大有効桁数の変化量（すなわち、増加量または減少量）をｎとすると、（n-1）個の符号０を出力し、それらの０に続いて符号１を出力する。
【００５８】
図３の最初の４つの量子化係数を符号化する場合、最大有効桁数の変化量は３（＝3-0）であるので、エントロピ符号化部２３は符号として、２（＝3-1）個の０を出力し、さらに１を出力する。
【００５９】
次に、エントロピ符号化部２３は、今回符号化する４つ（Ｗ個）の量子化係数のそれぞれの絶対値を示す最大有効桁数分の符号を出力する。すなわち、エントロピ符号化部２３は、それぞれの量子化係数について、最大有効桁数により示される有効桁の最大の桁から順番に最小の桁まで、量子化係数の絶対値の各桁の値を示す符号を出力する。
【００６０】
今回符号化する量子化係数は、“-0101”、“+0011”、“-0110”、および“+0010”であるので、エントロピ符号化部２３は、まず、最初に入力された量子化係数“-0101”の絶対値を示す最大有効桁数分の符号を出力する。ここで、今回の最大有効桁数は３であるので、エントロピ符号化部２３は、量子化係数“-0101”の最大有効桁数により示される有効桁の最大の桁（すなわち、３桁目）の値“１”、最大の桁より１つ下の桁（２桁目）の値“０”、および最下位の桁の値“１”を出力する。これにより、量子化係数“-0101”の絶対値を示す有効桁数分の符号“101”が出力される。
【００６１】
同様に、エントロピ符号化部２３は、量子化係数“+0011”、“-0110”、および“+0010”の絶対値を示す有効桁数分の符号“011”、“110”、および“010”を順番に出力する。したがって、量子化係数は、“-0101”、“+0011”、“-0110”、および“+0010”のそれぞれの絶対値を示す最大有効桁数分の符号として、“101011110010”が出力される。このように、エントロピ符号化部２３からは、量子化係数の絶対値を示す符号として、符号化する４つの量子化係数の最大有効桁数に応じた長さの符号が出力される。
【００６２】
そして最後に、エントロピ符号化部２３は、４つ（Ｗ個）の量子化係数のうち、絶対値が０でない量子化係数のそれぞれのサインを示す符号を出力する。ここで、エントロピ符号化部２３は、量子化係数のサインが“＋”（正）である場合、符号０を出力し、サインが“−”（負）である場合、符号１を出力する。
【００６３】
今回符号化する量子化係数は、“-0101”、“+0011”、“-0110”、および“+0010”であり、これらの量子化係数のサインは、順に負、正、負、正であるので、図中、右上に示すように、エントロピ符号化部２３は、量子化係数のそれぞれのサインを示す符号として、“1010”を出力する。
【００６４】
最初に入力された４つの量子化係数が符号化されると、エントロピ符号化部２３は、続いて、次の連続する４つの量子化係数“+0011”、“+0110”、“0000”、および“-0011”の符号化を行う。
【００６５】
最初に（前回）入力された量子化係数の符号化における場合と同様に、まず、エントロピ符号化部２３は、今回、新たに入力された４つ（Ｗ個）の量子化係数の最大有効桁数と、前回符号化した４つの量子化係数の最大有効桁数とを比較する。
【００６６】
今回入力された４つ（Ｗ個）の量子化係数“+0011”、“+0110”、“0000”、および“-0011”の最大有効桁数は、絶対値が最も大きい量子化係数“+0110”の最上位にある１の桁である“３”であり、前回符号化した量子化係数の最大有効桁数“３”と同じであるので、エントロピ符号化部２３は、最大有効桁数が変化していないことを示す符号０を出力する。
【００６７】
続いて、エントロピ符号化部２３は、今回符号化する４つ（Ｗ個）の量子化係数“+0011”、“+0110”、“0000”、および“-0011”のそれぞれの絶対値を示す最大有効桁数分の符号“011”、“110”、“000”、および“011”が順番に並べられた符号“011110000011”を出力する。
【００６８】
そして、量子化係数の絶対値を示す符号が出力されると、エントロピ符号化部２３は、４つの量子化係数のうち、絶対値が０でない量子化係数のそれぞれのサインを示す符号を出力する。
【００６９】
今回符号化する量子化係数は、“+0011”、“+0110”、“0000”、および“-0011”であり、３つ目の量子化係数“0000”はその絶対値が０であるので、エントロピ符号化部２３は、０でない量子化係数“+0011”、“+0110”、および“-0011”のそれぞれのサイン（正、正、負）を示す符号“001”を出力する。
【００７０】
４つの量子化係数“+0011”、“+0110”、“0000”、および“-0011”が符号化されると、さらに、エントロピ符号化部２３は、次の４つの量子化係数“+1101”、“-0100”、“+0111”、および“-1010”の符号化を行う。
【００７１】
まず、エントロピ符号化部２３は、今回、新たに入力された４つ（Ｗ個）の量子化係数の最大有効桁数と、前回符号化した４つの量子化係数の最大有効桁数とを比較する。
【００７２】
今回入力された４つ（Ｗ個）の量子化係数“+1101”、“-0100”、“+0111”、および“-1010”の最大有効桁数は、絶対値が最も大きい量子化係数“+1101”の最上位にある１の桁である“４”であり、前回符号化した量子化係数の最大有効桁数“３”とは異なるので、エントロピ符号化部２３は、最大有効桁数が変化したことを示す符号１を出力する。
【００７３】
また、前回の最大有効桁数は３であり、今回の最大有効桁数は４であるので、エントロピ符号化部２３は、図中、右側に示すように、最大有効桁数が増加したことを示す符号０を出力する。
【００７４】
さらに、エントロピ符号化部２３は、最大有効桁数がどれだけ増加または減少したかを示す符号を出力する。この場合、最大有効桁数の変化量は１（＝4-3）であるので、エントロピ符号化部２３は、符号として、０（＝1-1）個の０を出力し、さらに１を出力する（すなわち、符号１を出力する）。
【００７５】
次に、エントロピ符号化部２３は、今回符号化する４つ（Ｗ個）の量子化係数“+1101”、“-0100”、“+0111”、および“-1010”のそれぞれの絶対値を示す最大有効桁数分の符号“1101”、“0100”、“0111”、および“1010”が順番に並べられた符号“1101010001111010”を出力する。
【００７６】
そして、量子化係数の絶対値を示す符号が出力されると、エントロピ符号化部２３は、４つの量子化係数のうち、０でない量子化係数のそれぞれのサインを示す符号を出力する。
【００７７】
今回符号化する量子化係数は、“+1101”、“-0100”、“+0111”、および“-1010”であり、これらの量子化係数のサインは、順番に正、負、正、負であるので、図中、右下に示すように、エントロピ符号化部２３は、量子化係数のそれぞれのサインを示す符号として、“0101”を出力する。
【００７８】
このようにして、エントロピ符号化部２３は、入力された量子化係数を、連続する予め定められた数（Ｗ個）ずつ符号化する。これにより、エントロピ符号化部２３からは、符号化するラインの量子化係数が全て０であるか否かを示す符号が出力され、ラインの量子化係数が全て０でないことを示す符号が出力されると、次に、Ｗ個の量子化係数の最大有効桁数を示す符号、Ｗ個の量子化係数の絶対値（ビットプレーン表現）を示す符号、およびそれらの量子化係数のサインを示す符号が出力される。
【００７９】
そして、これらのＷ個の量子化係数の最大有効桁数を示す符号、Ｗ個の量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号のそれぞれは、そのラインの量子化係数が全て符号化されるまで、次のＷ個の量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号が繰り返し出力される。
【００８０】
なお、量子化係数がラスタスキャン順に符号化されると説明したが、量子化係数が符号化される順番は必ずしもラスタスキャン順である必要はない。例えば、図２に示したサブバンドの量子化係数が符号化される場合、最初に位置（0，0）、（0，1）、（0，2）、および（0，3）（すなわち、ラインL1乃至ラインL4のそれぞれの図中、左端の位置）の量子化係数が符号化され、次に、位置（1，0）、（1，1）、（1，2）、および（1，3）の量子化係数が符号化されるといったように、図中、縦方向に並ぶ４つの位置の量子化係数をＷ個の量子化係数として、Ｗ個ずつ順番に符号化するようにしてもよい。
【００８１】
このようにして、エントロピ符号化部２３は、サブバンドの量子化係数を、予め定められた所定の数ずつまとめて符号化し、量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を出力する。
【００８２】
このように、サブバンドの量子化係数を、予め定められた所定の数ずつまとめて符号化することで、例えば、JPEG2000方式により画像を符号化する場合とは異なり、複数のコーディングパスに基づいて、ビットプレーンごとに複数の処理を行う必要がなく、また、可変長符号化を行うので、符号化の処理量を大幅に低減することができる。これにより、より高速に画像の符号化を行うことができ、高解像度の画像をリアルタイムで符号化するための符号化装置を安価で実現することができる。
【００８３】
さらに、画像符号化装置１１においては、画像を符号化する場合に、符号の長さを明示的に符号化する必要がないため、符号量を少なくすることができ、符号の長さの情報を管理する必要もない。
【００８４】
なお、以上においては、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数を、最大有効桁数を示す変数Bnewの値とすると説明したが、変数Bnewの値は、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数以上の値であればよい。変数Bnewの値が大きくなると、量子化係数の絶対値を示す符号の符号量が多くなるが、変数Bnewの値を、絶対値の最も大きい量子化係数の有効桁数以上の値とすることで、量子化係数の最大有効桁数を示す符号の符号量を少なくすることができる。
【００８５】
［ゼロラン処理１］
以上のような符号化方法の場合、処理対象のラインの量子化係数が全て０でなければ、値が０の量子化係数も、値が０でない量子化係数の場合と同様に処理される。しかしながら、値が０の量子化係数は、局所的に集中し易く、連続して出現することが多い。
【００８６】
そこで、エントロピ符号化部２３は、このような値が０の量子化係数が連続して出現する部分（０連長若しくはゼロランとも称する）を、まとめて符号化する。このようにすることにより、エントロピ符号化部２３は、このような０連長（ゼロラン）の部分を、値が０でない量子化係数の組を符号化する場合よりも効率よく符号化することができる。つまり、エントロピ符号化部２３は、０が多い係数データの符号化の符号化効率を向上させることができる。
【００８７】
以下に、より具体的に説明する。図４は、ゼロラン符号化の一例を示す図である。
【００８８】
例えば、図４の上に示されるように、処理対象のラインにおいて、４つ（Ｗ個）の量子化係数の組がＭ組連続するとする。この処理対象のラインには、値が０でない量子化係数も含まれるので、最初の符号は１となる。
【００８９】
図４中、最初に処理される一番左の、４つ（Ｗ個）の量子化係数の組の最大有効桁数は３であるので、次に、最大有効桁数Ｂが初期値０から「変更あり（diff）」であることを示す符号１が出力される。次に、「Ｂを増やす（plus）」ことを示す符号０が出力される。
【００９０】
最大有効桁数Ｂの値は０から３に増える（増分３）ので、次に、符号０が２つ（増分３−１）出力され、続いて、変動の終端（enough）を示す符号１が出力される。つまり、この符号１が検出されることにより、変更後の最大有効桁数Ｂの値が決定される。
【００９１】
そして、今回符号化する４つ（Ｗ個）の量子化係数“-0101”、“+0011”、“-0110”、および“+0010”のそれぞれの絶対値を示す最大有効桁数分の符号“101011110010”が出力される。
【００９２】
さらに、今回符号化する４つ（Ｗ個）の量子化係数の内の、０でない量子化係数の符号（＋か−か）を示す符号”1010”が出力される。
【００９３】
そして、符号化処理対象は、次の４つ（Ｗ個）の量子化係数の組に移る。図４に示されるように、左から２番目の、４つ（Ｗ個）の量子化係数の組は、その量子化係数の値が全て０である。つまり、最大有効桁数Ｂの値は、０である。そして、この最大有効桁数Ｂ＝０の組が、Ｍ組連続する（０連長Ｍ）（Ｍは任意の自然数）。
【００９４】
エントロピ符号化部２３は、このようなゼロラン（０連長）を、以下のようにまとめて符号化する。
【００９５】
まず、最大有効桁数Ｂ≠０の組の場合と同様に、最大有効桁数Ｂが０以外の値（例えば３）から０に変わるので、「変更あり（diff）」であることを示す符号１が出力される。次に、「Ｂを減らす（minus）」ことを示す符号１が出力される。
【００９６】
次に、最大有効桁数Ｂの値は３から０に減る（減分３）ので、次に、符号０が２つ（減分３−１）出力される。
【００９７】
ここで、前の組と同様、変動の終端（enough）を示す符号１が出力されるようにしてもよいが、この組は最大有効桁数Ｂの変更後の値が０であるため、変動の終端（enough）を示す符号１の出力が省略されるようにしてもよい。
【００９８】
最大有効桁数Ｂの減分を示す符号（図４の例では符号０が２つ）によって、最大有効桁数Ｂの値が０になることが明らかとなる。最大有効桁数Ｂの最小値は、０であり、これ以上は減少しない。つまり、この２つの符号０によって、最大有効桁数Ｂの変更後の値が０に確定する。
【００９９】
したがって、このように最大有効桁数Ｂの変更後の値が０である場合、変動の終端（enough）を示す符号１は不要であり、省略することができる。このようにすることにより、エントロピ符号化部２３は、符号１の出力を省略した分、符号量を低減させることができる。すなわち、エントロピ符号化部２３は、符号化効率を向上させることができる。
【０１００】
次に、ゼロランを示す符号が出力される。ゼロランの長さ（ゼロ連長）Ｍ（組）を２進表現した場合の桁数Ｎから１を減算した値の数分の符号０の後に１つの符号１を並べ、さらに、Ｎ桁の２進数を確定するための、０連長の２進表現の最上位ビット以外の各桁の値を並べたものが、このゼロランを示す符号とされる。
【０１０１】
なお、この符号に、最上位ビットを含めないのは、その値が必ず１だからである。換言するに、（Ｎ−１）個の符号０の後に、０連長の２進表現を並べたものが、このゼロランを示す符号とされているとも言える。つまり、この符号化は、０連長の２進表現を、０連長の桁数−１だけシフトすることで、容易に実現することができる。
【０１０２】
例えば、エントロピ符号化部２３は、各０連長に対して、図５に示されるような表（テーブル情報）を予め記憶しておく。エントロピ符号化部２３は、ゼロランの長さ（０連長）Ｍを求め、図５のテーブル情報を用いて、そのＭに対応する符号を選択し、その符号を出力する。
【０１０３】
なお、図５においては、説明の便宜上、符号にカンマ（，）が設けられているが、実際の符号には、このカンマは、含まれない。
【０１０４】
以上のように、エントロピ符号化部２３は、ゼロランをまとめて、より効率よく符号化することができる。つまり、エントロピ符号化部２３は、０が多い係数データの符号化の符号化効率を向上させることができる。
【０１０５】
以上のようにゼロランが符号化されると、処理対象が、図４の一番右の、４つ（Ｗ個）の量子化係数の組に移される。
【０１０６】
この組の最大有効桁数Ｂは４である。したがって、最大有効桁数Ｂを示す符号が出力される。ただし、ここで、最大有効桁数Ｂの値は０から４に変わるので、最大有効桁数Ｂを示す符号として、上述したように、「変更あり（diff）」であることを示す符号１や、「Ｂを増やす（plus）」ことを示す符号０が出力されるようにしてもよいが、前の組の最大有効桁数Ｂが０であることから、これらの符号の出力が省略されるようにしてもよい。
【０１０７】
最大有効桁数Ｂの最小値は０であるので、前の組の最大有効桁数Ｂが０である場合、処理対象であるこの組の最大有効桁数Ｂが変化するのであれば、それは増加方向であることが明らかである。また、この組が最大有効桁数Ｂが変化しない（０のままである）のであれば、この組もゼロランに含められるので、最大有効桁数Ｂを示す符号は出力されない。
【０１０８】
したがって、この組の最大有効桁数Ｂが０でなく、かつ、前の組の最大有効桁数Ｂが０である場合、「変更あり（diff）」であることを示す符号１や、「Ｂを増やす（plus）」ことを示す符号０の出力が省略されるようにすることができる。このようにすることにより、エントロピ符号化部２３は、符号の出力を省略した分、符号量を低減させることができる。すなわち、エントロピ符号化部２３は、符号化効率を向上させることができる。
【０１０９】
次に、最大有効桁数Ｂの値が０から４に増える（増分４）ので、次に、符号０が３つ（増分４−１）出力され、続いて、変動の終端（enough）を示す符号１が出力される。つまり、この符号１が検出されることにより、変更後の最大有効桁数Ｂの値が決定される。
【０１１０】
そして、今回符号化する４つ（Ｗ個）の量子化係数“+1101”、“-0100”、“+0111”、および“-1010”のそれぞれの絶対値を示す最大有効桁数分の符号“1101010001111010”が出力される。
【０１１１】
さらに、今回符号化する４つ（Ｗ個）の量子化係数の内の、０でない量子化係数の符号（＋か−か）を示す符号”0101”が出力される。
【０１１２】
［終端のゼロラン処理］
なお、ゼロランがラインの最後（右端）まで連続する場合、例えば、以下のように、さらに短い符号が用いられるようにし、符号量が低減されるようにしてもよい。
【０１１３】
図６は、ゼロラン符号化の、他の例を示す図である。図６に示される例のように、ゼロランが最後まで続く場合、ゼロランの終端は、ラインの最後であることは明らかなので、終端を示す符号（最大有効桁数Ｂを示す符号）が、不要になる。
【０１１４】
換言するに、上述したゼロランを示す符号において、（Ｎ−１）個の符号０が、処理対象ラインの未処理の組数（現在処理対象の組からライン最後の組までの組数）より多い場合、ゼロランがラインの最後まで続くことが明らかである。
【０１１５】
そこで、図６の例のように、ゼロランが最後まで続く場合、（０連長Ｍの２進表現−１）の桁数個の符号０の後に、符号１を並べたものが、このゼロランを示す符号として出力され、その時点でこのラインについての符号化が終了される。
【０１１６】
例えば、エントロピ符号化部２３は、ラインの最後まで続く各０連長に対して、図７に示されるような表（テーブル情報）を予め記憶しておく。エントロピ符号化部２３は、ゼロランの長さ（０連長）Ｍを求め、このゼロランがラインの最後まで続くことが判明すると、図７のテーブル情報を用いて、そのＭに対応する符号を選択し、その符号を出力する。
【０１１７】
このようにすることにより、図４の例の場合に比べて、ゼロランを示す符号の符号量を低減させることができる。また、その後の、最大有効桁数Ｂを示す符号も省略することができる。したがって、エントロピ符号化部２３は、符号化効率をさらに向上させることができる。
【０１１８】
なお、このようなゼロランを示す符号において、ゼロランがラインの最後まで続くことは、符号０の数により明らかとなる。したがって、ゼロランを示す符号において、例えば、図８の例に示されるように、（０連長Ｍの２進表現−１）の桁数個の符号０の後に続く符号１が省略されるようにしてもよい。
【０１１９】
例えば、エントロピ符号化部２３は、ラインの最後まで続く各０連長に対して、図９に示されるような表（テーブル情報）を予め記憶しておく。エントロピ符号化部２３は、ゼロランの長さ（０連長）Ｍを求め、このゼロランがラインの最後まで続くことが判明すると、図９のテーブル情報を用いて、そのＭに対応する符号を選択し、その符号を出力する。
【０１２０】
このようにすることにより、図６の例の場合に比べて、ゼロランを示す符号の符号量を低減させることができる。したがって、エントロピ符号化部２３は、符号化効率をさらに向上させることができる。
【０１２１】
［エントロピ符号化部］
以上のようなゼロランの符号化を行う処理部について具体的に説明する。図１０は、エントロピ符号化部２３の主な構成例を示すブロック図である。
【０１２２】
図１０に示されるように、エントロピ符号化部２３は、ライン判定部６１、VLC（Variable Length Coding）符号化部６２、最大有効桁数計算部６３、VLC符号化部６４、有効桁抽出部６５、VLC符号化部６６、サイン抽出部６７、VLC符号化部６８、および符号連結部６９を有する。
【０１２３】
量子化部２２（図１）から出力された量子化係数は、ライン判定部６１、最大有効桁数計算部６３、有効桁抽出部６５、およびサイン抽出部６７に供給（入力）される。
【０１２４】
ライン判定部６１は、量子化部２２から入力された、これから符号化する１つのラインの量子化係数が全て０であるか否かを判定し、その判定の結果を示す情報をVLC符号化部６２に供給する。
【０１２５】
VLC符号化部６２は、ライン判定部６１からの判定の結果を示す情報に基づいて、符号化するラインの量子化係数が全て０であるか否かを示す符号を符号連結部６９に出力する。
【０１２６】
最大有効桁数計算部６３は、量子化部２２から入力された、連続するＷ個の量子化係数の最大有効桁数を計算し、その計算の結果を示す情報をVLC符号化部６４および有効桁抽出部６５に供給する。
【０１２７】
VLC符号化部６４は、最大有効桁数計算部６３からの計算の結果を示す情報に基づいて、Ｗ個の量子化係数の最大有効桁数を示す符号を符号連結部６９に供給する。また、VLC符号化部６４は、ゼロランが存在する場合、最大有効桁数計算部６３からの計算の結果を示す情報に基づいて、ゼロランを示す符号を符号連結部６９に供給する。
【０１２８】
有効桁抽出部６５は、最大有効桁数計算部６３からの計算の結果を示す情報に基づいて、量子化部２２から供給されたＷ個の量子化係数の有効桁を抽出し、抽出した量子化係数の有効桁（のデータ）をVLC符号化部６６およびサイン抽出部６７に供給する。
【０１２９】
VLC符号化部６６は、有効桁抽出部６５からの量子化係数の有効桁に基づいて、これらの量子化係数の絶対値を符号化し、これにより得られた量子化係数の絶対値を示す符号を符号連結部６９に供給する。
【０１３０】
サイン抽出部６７は、有効桁抽出部６５からの量子化係数の有効桁に基づいて、量子化部２２から供給された量子化係数のサインを抽出して、抽出したサイン（のデータ）をVLC符号化部６８に供給する。
【０１３１】
VLC符号化部６８は、サイン抽出部６７からのサイン（のデータ）を符号化し、これにより得られる量子化係数のサインを示す符号を符号連結部６９に供給する。
【０１３２】
符号連結部６９は、VLC符号化部６２、VLC符号化部６４、VLC符号化部６６、およびVLC符号化部６８のそれぞれから供給された、ラインの量子化係数が全て０であるか否かを示す符号、最大有効桁数を示す符号、並びに、ゼロランを示す符号、または、量子化係数の絶対値を示す符号および量子化係数のサインを示す符号のそれぞれを連結し、符号化された画像（データ）として出力する。
【０１３３】
［VLC符号化部］
図１１は、VLC符号化部６４の主な構成例を示すブロック図である。
【０１３４】
図１１に示されるように、VLC符号化部６４は、最大有効桁数変化符号化部７１、最大有効桁数変化量符号化部７２、および０連長符号化部７３を有する。
【０１３５】
最大有効桁数変化符号化部７１は、最大有効桁数Ｂが、前の組から変化するか否かを検出し、その変化の有無を示す符号を、最大有効桁数を示す符号として、符号連結部６９に供給する。
【０１３６】
最大有効桁数変化量符号化部７２は、最大有効桁数Ｂが、前の組からの変化する場合、その変化量を求め、その変化量を示す符号を、最大有効桁数を示す符号として、符号連結部６９に供給する。
【０１３７】
０連長符号化部７３は、ゼロランが存在する場合、そのゼロランの長さ（０連長）を求め、そのゼロランの長さ（０連長）を示す符号を、ゼロランを示す符号として、符号連結部６９に供給する。
【０１３８】
［符号化処理の流れ］
次に、以上のような画像符号化装置１１の各部が実行する処理の具体的な流れについて説明する。
【０１３９】
最初に、図１２のフローチャートを参照して、画像符号化装置１１（図１）による、符号化処理の流れの例を説明する。この符号化処理は、ウェーブレット変換部２１に、符号化する画像（データ）が入力されると開始される。
【０１４０】
ステップＳ１１において、ウェーブレット変換部２１は、入力された画像にウェーブレット変換を施して、入力された画像を複数のサブバンドに分解し、各サブバンドのウェーブレット係数を量子化部２２に供給する。
【０１４１】
ステップＳ１２において、量子化部２２は、ウェーブレット変換部２１から供給されたウェーブレット係数を量子化し、その結果得られた量子化係数をエントロピ符号化部２３に供給する。これにより、エントロピ符号化部２３には、例えば、図３を参照して説明したビットプレーン表現された、サブバンドの各位置の量子化係数が入力される。
【０１４２】
ステップＳ１３において、エントロピ符号化部２３は、エントロピ符号化処理を行い、符号化処理を終了する。なお、エントロピ符号化処理の詳細は後述するが、エントロピ符号化部２３は、エントロピ符号化処理において、図３を参照して説明したように、量子化部２２から供給された量子化係数を所定の数（Ｗ個）ずつ符号化し、符号化するラインの量子化係数が全て０であるか否かを示す符号、量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を、符号化された画像（符号化データ）として出力する。
【０１４３】
また、エントロピ符号化部２３は、エントロピ符号化処理において、図４乃至図９を参照して説明したように、符号化するラインに値が０の量子化係数が連続するゼロランが存在する場合、そのゼロランを示す符号を、符号化された画像（符号化データ）として出力する。
【０１４４】
このようにして、画像符号化装置１１は、入力された画像を符号化して出力する。
【０１４５】
［エントロピ符号化処理の流れ］
次に、図１３のフローチャートを参照して、図１２のステップＳ１３の処理に対応するエントロピ符号化処理について説明する。
【０１４６】
図１２のステップＳ１２において、量子化部２２から出力された量子化係数は、エントロピ符号化部２３（図１０）のライン判定部６１、最大有効桁数計算部６３、有効桁抽出部６５、およびサイン抽出部６７に供給（入力）される。
【０１４７】
ステップＳ４１において、ライン判定部６１は、これから符号化するサブバンドのラインを示す変数yをy＝0として、これを記憶する。
【０１４８】
例えば、図２に示したサブバンドの量子化係数を符号化する場合、ライン判定部６１は、そのサブバンドのライン（ラインL1乃至ラインL6）を示す変数yを、y＝0とする。なお、ここで、変数yにより示されるラインyは、サブバンドのライン上の各位置（x，y）のy座標がyであるラインを示している。したがって、例えば、ライン判定部６１が記憶している変数yがy＝0である場合、その変数により示されるラインは、ライン上の各位置のy座標が０であるラインL1となる。
【０１４９】
ステップＳ４２において、最大有効桁数計算部６３は、ライン判定部６１が記憶している変数yにより示されるラインyよりも１つ前のライン（y-1）上の最初に入力されるＷ個の量子化係数の最大有効桁数を示す変数BinitをBinit＝0として、これを記憶する。
【０１５０】
例えば、ライン（y−1）が、図２に示したラインL1である場合、ライン（y−1）上の最初に入力されるＷ個の量子化係数の最大有効桁数を示す変数Binitの値は、ラインL1の図中、左端の位置からＷ個の量子化係数、すなわち、位置（0，0）、（1，0）、・・・、（w-1，0）のＷ個の量子化係数の最大有効桁数となる。また、ライン判定部６１が記憶している変数yがy＝0である場合、ライン（y−1）は存在しないので、変数Binitの値は、Binit＝0とされる。
【０１５１】
ステップＳ４３において、ライン判定部６１は、記憶している変数yにより示されるラインyの量子化係数（の絶対値）が全て０であるか否かを判定する。例えば、ラインyが、図２に示したラインL1である場合、ライン判定部６１は、ラインL1上の位置（x，y）の量子化係数が全て０であるとき、量子化係数が全て０であると判定する。
【０１５２】
ステップＳ４３において、量子化係数が全て０であると判定した場合、ライン判定部６１は、量子化係数が全て０である旨の情報を生成してそれをVLC符号化部６２および最大有効桁数計算部６３に供給し、処理をステップＳ４４に進める。
【０１５３】
ステップＳ４４において、VLC符号化部６２は、ライン判定部６１からの量子化係数が全て０である旨の情報に基づいて、符号化するラインの量子化係数が全て０であることを示す符号０を符号連結部６９に出力（供給）する。符号連結部６９は、VLC符号化部６２から供給された符号０を、ラインyの量子化係数の符号化の結果得られた符号として、そのまま出力する。
【０１５４】
ステップＳ４５において、最大有効桁数計算部６３は、ライン判定部６１からの量子化係数が全て０である旨の情報に基づいて、記憶している変数Binitの値をBinit＝0とし、変数Binitを更新する。
【０１５５】
ステップＳ４６において、ライン判定部６１は、符号化しているサブバンドのラインのうち、未処理のラインがあるか否かを判定する。すなわち、ライン判定部６１は、符号化しているサブバンドの全てのラインの量子化係数を符号化したか否かを判定する。例えば、図２に示したサブバンドの量子化係数を符号化している場合、ラインL1乃至ラインL6上の全ての位置の量子化係数が符号化されたとき、ライン判定部６１は、未処理のラインが存在しないと判定する。
【０１５６】
そのステップＳ４６において、未処理のラインがあると判定した場合、ライン判定部６１は、次のライン、すなわち、ライン（y＋1）上の各位置の量子化係数を符号化するので、処理をステップＳ４７に進める。
【０１５７】
ステップＳ４７において、ライン判定部６１は、記憶しているラインを示す変数yをインクリメントしてy＝y＋1とし、処理をステップＳ４３に戻し、上述したそれ以降の処理を再び実行させる。
【０１５８】
これに対して、ステップＳ４６において、未処理のラインが無いと判定した場合、ライン判定部６１は、サブバンドを構成する全てのラインについて量子化係数を符号化したので、エントロピ符号化処理を終了し、処理を図１２のステップＳ１３に戻し、符号化処理を終了させる。
【０１５９】
また、図１３のステップＳ４３において、ラインyの量子化係数が全て０でない（０でない量子化係数が存在する）と判定した場合、ライン判定部６１は、量子化係数が全て０でない（０でない量子化係数が存在する）旨の情報を生成してそれをVLC符号化部６２および最大有効桁数計算部６３に供給し、ステップＳ４８に処理を進める。
【０１６０】
ステップＳ４８において、VLC符号化部６２は、ライン判定部６１からの量子化係数が全て０でない旨の情報に基づいて、符号化するラインの量子化係数が全て０でないことを示す符号１を符号連結部６９に出力（供給）する。
【０１６１】
ステップＳ４９において、エントロピ符号化部２３はＷ個組符号化処理を行う。なお、Ｗ個組符号化処理の詳細は後述するが、Ｗ個組符号化処理において、エントロピ符号化部２３は、ライン判定部６１が記憶している変数yにより示されるラインy上の量子化係数を、連続するＷ個組毎に符号化する。
【０１６２】
ここで、ライン判定部６１が記憶している変数yおよび、最大有効桁数計算部６３が記憶している変数xにより特定されるラインy上の位置を（x，y）とすると、ラインy上のＷ個の連続する位置は、ラインy上の連続する位置（x，y）、（x＋1，y）、・・・、（x＋w−1，y）とされる。すなわち、Ｗ個組符号化処理において、エントロピ符号化部２３は、位置（x，y）、（x＋1，y）、・・・、（x＋w−1，y）のそれぞれの量子化係数を符号化する。
【０１６３】
Ｗ個組符号化処理が終了すると、エントロピ符号化部２３は、処理をステップＳ４６に戻し、それ以降の処理を実行させる。
【０１６４】
このようにして、エントロピ符号化部２３は、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に符号化する。
【０１６５】
このように、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に符号化することによって、入力された量子化係数を入力された順番に処理することができ、量子化係数の符号化により生じる遅延をより少なくすることができる。
【０１６６】
［W個組符号化処理の流れ］
次に、図１４および図１５のフローチャートを参照して、図１３のステップＳ４９の処理に対応するＷ個組符号化処理について説明する。
【０１６７】
Ｗ個組符号化処理が開始されると、VLC符号化部６４は、ステップＳ７１において、ｉ，Ｂ、およびmax等の各種変数を初期化する。例えば、VLC符号化部６４は、変数ｉとＢの値をそれぞれ０に設定し（ｉ＝０，Ｂ＝０）、変数maxの値を、処理対象である当該ライン上の係数Ｗ個組の数とする（max＝係数Ｗ個組の数）。
【０１６８】
ステップＳ７２において、最大有効桁数計算部６３は、記憶している変数xにより特定されるラインy上の位置を（x，y）として、連続するＷ個の位置（x，y）、（x＋1，y）、・・・、（x＋w−1，y）の量子化係数のうち、絶対値が最も大きい量子化係数の有効桁数を、これから符号化するＷ個の量子化係数の最大有効桁数を示す変数Bnewの値として、この変数Bnewを記憶する。
【０１６９】
また、最大有効桁数計算部６３は、求められたＷ個の量子化係数の最大有効桁数、すなわち、変数Bnewの値をVLC符号化部６４および有効桁抽出部６５に供給する。
【０１７０】
例えば、Ｗ個の連続する位置の量子化係数のそれぞれが、図３に示した量子化係数“-0101”、“+0011”、“-0110”、および“+0010”である場合、これらの量子化係数のうち、絶対値が最大の量子化係数は“-0110”であり、その有効桁数は“-0110”の最上位にある１の桁である“３”であるので、変数Bnewの値は３とされる。
【０１７１】
ステップＳ７３において、最大有効桁数変化符号化部７１は、Bnew＝Ｂであるか否かを判定する。すなわち、最大有効桁数変化符号化部７１は、記憶している、前回符号化されたＷ個の量子化係数の最大有効桁数を示す変数Ｂの値が、最大有効桁数計算部６３から供給された、これから符号化するＷ個の量子化係数の最大有効桁数を示す変数Bnewの値と同じであるか否かを判定する。
【０１７２】
ステップＳ７３において、Bnew＝Ｂであると判定した場合、最大有効桁数変化符号化部７１は、処理をステップＳ７４に進め、これから符号化するＷ個の量子化係数の最大有効桁数を示す符号として、最大有効桁数が変化していないことを示す符号０を符号連結部６９に出力する。そして、最大有効桁数を示す符号０を出力すると、最大有効桁数変化符号化部７１は、ステップＳ７５乃至ステップＳ７９の各処理を省略（スキップ）し、ステップＳ８０に処理を進める。
【０１７３】
これに対して、ステップＳ７３において、Bnew＝Ｂでないと判定した場合、最大有効桁数変化符号化部７１は、処理をステップＳ７５に進め、（最大有効桁数が変化したので、）最大有効桁数が変化したことを示す符号１を符号連結部６９に出力する。
【０１７４】
ステップＳ７６において、最大有効桁数変化符号化部７１は、Bnew＞Ｂであるか否かを判定する。
【０１７５】
処理対象の量子化係数の組（今の組）の最大有効桁数Bnewが、前回処理対象であった量子化係数の組（前の組）の最大有効桁数Ｂよりも大きい（最大有効桁数が増加した）と判定した場合、最大有効桁数変化符号化部７１は、処理をステップＳ７７に進める。
【０１７６】
ステップＳ７７において、最大有効桁数変化符号化部７１は、最大有効桁数が増加したことを示す符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。続いて、最大有効桁数変化量符号化部７２は、最大有効桁数の変化量（増分）を示す（Bnew-B-1）個の符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。そして、最大有効桁数変化量符号化部７２は、処理をステップＳ７９に進める。
【０１７７】
また、ステップＳ７６において、今の組の最大有効桁数Bnewが、前の組の最大有効桁数Ｂよりも小さい（最大有効桁数が減少した）と判定した場合、最大有効桁数変化符号化部７１は、処理をステップＳ７８に進める。
【０１７８】
ステップＳ７８において、最大有効桁数変化符号化部７１は、最大有効桁数が減少したことを示す符号１を、最大有効桁数を示す符号として、符号連結部６９に出力する。続いて、最大有効桁数変化量符号化部７２は、最大有効桁数の変化量（減分）を示す（B-Bnew-1）個の符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。そして、最大有効桁数変化量符号化部７２は、処理をステップＳ７９に進める。
【０１７９】
ステップＳ７９において、最大有効桁数変化量符号化部７２は、今の組の最大有効桁数Bnewが０でない場合、変動の終端（enough）を示す符号１を、符号連結部６９に出力する。つまり、ここでは、今の組の最大有効桁数Bnewが０である場合、この符号１の出力が省略（スキップ）されるものとしている。この変動の終端（enough）を示す符号１の出力を省略しない場合、最大有効桁数変化量符号化部７２は、最大有効桁数Ｂの変化量（減分）を示す（B-Bnew-1）個の符号０に続けて、その変動の終端（enough）を示す符号１を符号連結部６９に出力すればよい。
【０１８０】
そして、最大有効桁数変化量符号化部７２は、処理をステップＳ８０に進める。
【０１８１】
ステップＳ８０において、最大有効桁数変化符号化部７１は、Bnew≠０であるか否かを判定する。今の組の最大有効桁数Bnewが０でない（Bnew≠０）と判定された場合、最大有効桁数変化符号化部７１は、処理をステップＳ８１に進める。
【０１８２】
ステップＳ８１において、最大有効桁数計算部６３は、変数Ｂに変数Bnewの値をセットする（Ｂ＝Bnewとする）。
【０１８３】
ステップＳ８２において、有効桁抽出部６５は、ｉ番目の係数Ｗ個組の各量子化係数について、有効桁を抽出する。VLC符号化部６６は、有効桁抽出部６５から供給された、各量子化係数の有効桁の絶対値を示す符号（Ｂ×Ｗビットの符号）を符号連結部６９に出力する。
【０１８４】
ステップＳ８３において、サイン抽出部６７は、ｉ番目の係数Ｗ個組の各量子化係数について、サイン（符号）を抽出する。VLC符号化部６８はサイン抽出部６７から供給された、絶対値が０でない各量子化係数の符号（サイン）を示す符号（１×Ｗビットの符号）を符号連結部６９に出力する。
【０１８５】
ステップＳ８４において、エントロピ符号化部２３は、変数ｉ＜max―１であるか否かを判定する。すなわち、エントロピ符号化部２３は、処理対象のラインの全ての量子化係数の組を処理したか否かを判定する。
【０１８６】
変数ｉ＜max―１であり、処理対象のライン上に未処理の組が存在すると判定された場合、エントロピ符号化部２３は、処理をステップＳ８５に進める。
【０１８７】
ステップＳ８５において、エントロピ符号化部２３は、変数ｉをインクリメント（変数ｉ＝ｉ＋１）し、処理をステップＳ７２に戻す。
【０１８８】
また、ステップＳ８４において、変数ｉ＜max―１でなく、処理対象のライン上に未処理の組が存在しないと判定された場合、エントロピ符号化部２３は、Ｗ個組符号化処理を終了する。
【０１８９】
また、ステップＳ８０において、今の組の最大有効桁数Bnewが０である（Bnew＝０）と判定された場合、最大有効桁数変化符号化部７１は、処理を図１５のステップＳ９１に進める。
【０１９０】
ステップＳ９１において、０連長符号化部７３は、変数countの値を１とする（count＝１とする。
【０１９１】
ステップＳ９２において、エントロピ符号化部２３は、変数ｉ＜max―１であるか否かを判定する。すなわち、エントロピ符号化部２３は、処理対象のラインの全ての量子化係数の組を処理したか否かを判定する。
【０１９２】
変数ｉ＜max―１であり、処理対象のライン上に未処理の組が存在すると判定された場合、エントロピ符号化部２３は、処理をステップＳ９３に進める。ステップＳ９３において、エントロピ符号化部２３は、変数ｉをインクリメント（変数ｉ＝ｉ＋１）し、処理をステップＳ９４に進める。
【０１９３】
ステップＳ９４において、最大有効桁数計算部６３は、記憶している変数xにより特定されるラインy上の位置を（x，y）として、連続するＷ個の位置（x，y）、（x＋1，y）、・・・、（x＋w−1，y）の量子化係数のうち、絶対値が最も大きい量子化係数の有効桁数を、これから符号化するＷ個の量子化係数の最大有効桁数を示す変数Bnewの値として、この変数Bnewを記憶する。
【０１９４】
ステップＳ９５において、０連長符号化部７３は、今の組の最大有効桁数が０である（Bnew＝０）か否かを判定する。今の組の最大有効桁数が０である（Bnew＝０）と判定した場合、０連長符号化部７３は、処理をステップＳ９６に進める。
【０１９５】
ステップＳ９６において、０連長符号化部７３は、ゼロランの組数のカウント値である変数countをインクリメント（変数count＝count＋１）し、処理をステップＳ９２に戻し、それ以降の処理を実行させる。
【０１９６】
つまり、ゼロランが終了するまで（ステップＳ９５においてBnew＝０でないと判定されるまで）ステップＳ９２乃至ステップＳ９６の各処理が繰り返される。
【０１９７】
ステップＳ９５において、今の組の最大有効桁数が０でない（Bnew≠０）と判定した場合、０連長符号化部７３は、処理をステップＳ９７に進める。
【０１９８】
ステップＳ９７において、０連長符号化部７３は、例えば図５のテーブルの一番右の列に示されるような、（変数countの桁数−１）個の符号０に、変数countの２進表現を続けたものを、ゼロランを示す符号として符号連結部６９に出力する。
【０１９９】
ステップＳ９８において、最大有効桁数変化符号化部７１は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０を符号連結部６９に出力する。なお、ここでは、変動の終端（enough）を示す符号１の出力は省略（スキップ）されている。この変動の終端（enough）を示す符号１の出力を省略しない場合、最大有効桁数変化符号化部７１は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０に続けて、その変動の終端（enough）を示す符号１を符号連結部６９に出力すればよい。
【０２００】
ステップＳ９８の処理が終了すると、最大有効桁数変化符号化部７１は、処理を図１４のステップＳ８１に戻し、それ以降の処理を実行させる。
【０２０１】
また、図１５のステップＳ９２において、変数ｉ＜max―１でなく、処理対象のライン上に未処理の組が存在しないと判定された場合、エントロピ符号化部２３は、処理をステップＳ９９に進める。この場合、ゼロランがラインの最後に到達する。
【０２０２】
したがって、０連長符号化部７３は、ステップＳ９９において、例えば、図９のテーブルの左から３列目に示されるような、（変数count−１）の桁数個の符号０を、ゼロランを示す符号として符号連結部６９に出力する。なお、ここで、例えば図７のテーブルの左から３列目に示されるように、（変数count−１）の桁数個の符号０に符号１を続けたものを、ゼロランを示す符号としてもよい。
【０２０３】
ステップＳ９９の処理を終了すると、０連長符号化部７３は、処理を図１４に戻し、Ｗ個組符号化処理を終了する（処理を図１３のステップＳ４６に戻す）。
【０２０４】
このようにして、エントロピ符号化部２３は、サブバンドの量子化係数を、予め定められた所定の数ずつまとめて符号化し、量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を出力する。
【０２０５】
このようにすることで、例えば、JPEG2000方式により画像を符号化する場合とは異なり、複数のコーディングパスに基づいて、ビットプレーンごとに複数の処理を行う必要がなく、また、可変長符号化を行うので、符号化の処理量を大幅に低減することができる。これにより、画像符号化装置１１は、より容易に画像の符号化を行うことができ、高解像度の画像をリアルタイムで符号化するための符号化装置を安価で実現することができる。
【０２０６】
さらに、画像符号化装置１１は、符号の長さを明示的に符号化する必要がないため、符号量を少なくすることができ、符号の長さの情報を管理する必要もない。
【０２０７】
また、上述したように、連続する、値が０の量子化係数のみにより構成される組を、まとめてゼロランとして符号化するので、画像符号化装置１１は、さらに、０が多い係数データの符号化の符号化効率を向上させることができる。
【０２０８】
なお、以上においては、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数を、最大有効桁数を示す変数Bnewの値とすると説明したが、変数Bnewの値は、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数以上の値であればよい。変数Bnewの値が大きくなると、量子化係数の絶対値を示す符号の符号量が多くなるが、変数Bnewの値を、絶対値の最も大きい量子化係数の有効桁数以上の値とすることで、量子化係数の最大有効桁数を示す符号の符号量を少なくすることができる。
【０２０９】
＜２．第２の実施の形態＞
［画像復号装置］
図１６は、画像復号装置の主な構成例を示すブロック図である。図１６に示される画像復号装置１１１は、画像符号化装置１１に対応する画像処理装置である。すなわち、画像復号装置１１１は、画像符号化装置１１に入力される画像データを符号化して出力した符号化データを、画像符号化装置１１の符号化処理に対応する方法で復号し、復号画像データを出力する。
【０２１０】
図１６に示されるように、画像復号装置１１１は、エントロピ復号部１２１、逆量子化部１２２、およびウェーブレット逆変換部１２３を有する。
【０２１１】
エントロピ復号部１２１には、符号化された画像（データ）が入力される。エントロピ復号部１２１は、入力された符号化された画像としての符号をエントロピ復号し、これにより得られた量子化係数を逆量子化部１２２に供給する。
【０２１２】
逆量子化部１２２は、エントロピ復号部１２１から供給された量子化係数を逆量子化し、逆量子化により得られた各サブバンドのウェーブレット係数をウェーブレット逆変換部１２３に供給する。
【０２１３】
ウェーブレット逆変換部１２３は、逆量子化部１２２から供給された、各サブバンドのウェーブレット係数にウェーブレット逆変換を施し、その結果得られた画像を、復号された画像として出力する。
【０２１４】
［エントロピ復号部］
図１７は、エントロピ復号部１２１の主な構成例を示すブロック図である。
【０２１５】
図１７に示されるように、エントロピ復号部１２１は、符号分割部１５１、ライン判定部１５２、発生部１５３、VLC復号部１５４、VLC復号部１５５、VLC復号部１５６、量子化係数合成部１５７、および切替部１５８を有する。
【０２１６】
符号分割部１５１は、ライン判定部１５２、VLC復号部１５４、VLC復号部１５５、およびVLC復号部１５６のそれぞれから供給される情報に基づいて、入力された、符号化された画像としての符号を分割し、分割された所定の長さの符号をライン判定部１５２、VLC復号部１５４、VLC復号部１５５、またはVLC復号部１５６に供給する。
【０２１７】
すなわち、符号分割部１５１は、入力された符号を、符号化された１つのラインの量子化係数が全て０であるか否かを示す符号、符号化されたＷ個の量子化係数の最大有効桁数を示す符号、ゼロランを示す符号、符号化されたＷ個の量子化係数の絶対値を示す符号、および符号化された量子化係数のサインを示す符号に分割し、それぞれを、ライン判定部１５２、VLC復号部１５４、VLC復号部１５５、およびVLC復号部１５６の内、各データに対応する処理部に供給する。
【０２１８】
より具体的には、符号分割部１５１は、符号化された１つのラインの量子化係数が全て０であるか否かを示す符号を、ライン判定部１５２に供給する。また、符号分割部１５１は、符号化されたＷ個の量子化係数の最大有効桁数を示す符号を、VLC復号部１５４に供給する。さらに、符号分割部１５１は、ゼロランを示す符号を、VLC復号部１５４に供給する。また、符号分割部１５１は、符号化されたＷ個の量子化係数の絶対値を示す符号を、VLC復号部１５５に供給する。さらに、符号分割部１５１は、符号化された量子化係数のサインを示す符号を、VLC復号部１５６に供給する。
【０２１９】
ライン判定部１５２は、符号分割部１５１から供給された符号に基づいて、符号化されたサブバンドの１つのラインの量子化係数が全て０であるか否かを判定し、その判定の結果を示す情報を、符号分割部１５１、発生部１５３、およびVLC復号部１５４に供給する。
【０２２０】
発生部１５３は、ライン判定部１５２からの判定の結果を示す情報に基づいて、１ライン分の０である量子化係数を示す符号を発生して切替部１５８に供給する。
【０２２１】
VLC復号部１５４は、符号分割部１５１から供給された、符号化されたＷ個の量子化係数の最大有効桁数を示す符号を復号して、符号化されたＷ個の量子化係数の最大有効桁数を求め、求めた最大有効桁数を示す情報を、符号分割部１５１、VLC復号部１５５、および量子化係数合成部１５７に供給する。
【０２２２】
また、VLC復号部１５４は、符号分割部１５１から供給された、ゼロランを示す符号を復号し、ゼロランを構成する量子化係数群を生成する。VLC復号部１５４は、復号されて得られた量子化係数群を、符号分割部１５１、VLC復号部１５５、および量子化係数合成部１５７に供給する。
【０２２３】
VLC復号部１５５は、VLC復号部１５４からの最大有効桁数を示す情報に基づいて、符号分割部１５１から供給された量子化係数の絶対値を示す符号を復号し、これにより得られたＷ個の量子化係数の有効桁（のデータ）を、VLC復号部１５６および量子化係数合成部１５７に供給する。また、VLC復号部１５５は、量子化係数の絶対値を示す符号の復号の結果を示す情報を符号分割部１５１に供給する。
【０２２４】
VLC復号部１５６は、VLC復号部１５５から供給された量子化係数の有効桁に基づいて、符号分割部１５１から供給された量子化係数のサインを示す符号を復号し、これにより得られる量子化係数のサイン（のデータ）を量子化係数合成部１５７に供給する。また、VLC復号部１５６は、量子化係数のサインを示す符号の復号の結果を示す情報を符号分割部１５１に供給する。
【０２２５】
量子化係数合成部１５７も、VLC復号部１５４からの最大有効桁数を示す情報に基づいて、VLC復号部１５５から供給された量子化係数の有効桁およびVLC復号部１５６から供給された量子化係数のサインを合成し、これにより得られたＷ個の量子化係数を切替部１５８に供給する。
【０２２６】
また、量子化係数合成部１５７は、VLC復号部１５４から供給されるゼロランを構成する値が０の量子化係数群を、切替部１５８に供給する。
【０２２７】
切替部１５８は、発生部１５３または量子化係数合成部１５７からの量子化係数を出力する。
【０２２８】
［符号分割部］
図１８は、符号分割部１５１の主な構成例を示すブロック図である。図１８に示されるように、符号分割部１５１は、制御部１７１およびメモリ１７２を有する。
【０２２９】
制御部１７１は、図１７に示されるライン判定部１５２、VLC復号部１５４、VLC復号部１５５、およびVLC復号部１５６のそれぞれから供給される情報に基づいて、メモリ１７２に一時的に記憶されている符号のうち、所定の長さの符号を読み出して、ライン判定部１５２、VLC復号部１５４、VLC復号部１５５、またはVLC復号部１５６に供給する。
【０２３０】
また、符号分割部１５１は、図１８に示した構成例の他、例えば、図１９に示されるように構成されてもよい。
【０２３１】
図１９に示される符号分割部１５１は、制御部１９１、スイッチ１９２、並びに、ノード１９３−１乃至ノード１９３−４を有する。
【０２３２】
制御部１９１は、符号化された画像としての符号が符号分割部１５１に入力されると、図１７に示したライン判定部１５２、VLC復号部１５４、VLC復号部１５５、およびVLC復号部１５６のそれぞれから供給される情報に基づいて、スイッチ１９２を制御し、入力された符号のうち、所定の長さの符号をライン判定部１５２、VLC復号部１５４、VLC復号部１５５、またはVLC復号部１５６に供給させる。
【０２３３】
すなわち、ノード１９３−１乃至ノード１９３−４のそれぞれは、ライン判定部１５２、VLC復号部１５４、VLC復号部１５５、およびVLC復号部１５６のそれぞれに接続されており、制御部１９１は、符号の供給先として、ノード１９３−１乃至ノード１９３−４のいずれかを選択し、スイッチ１９２と、選択されたノードとの接続を制御する。
【０２３４】
スイッチ１９２が制御部１９１の制御に基づいて選択されたノードを入力と接続するので、符号分割部１５１に入力された符号は、スイッチ１９２、およびスイッチ１９２と接続されたノードを介して、符号の供給先として選択されたライン判定部１５２、VLC復号部１５４、VLC復号部１５５、またはVLC復号部１５６に供給される。
【０２３５】
［VLC復号部］
図２０は、VLC復号部１５４の主な構成例を示すブロック図である。
【０２３６】
図２０に示されるように、VLC復号部１５４は、最大有効桁数変化復号部２０１、最大有効桁数変化量復号部２０２、および０連長復号部２０３を有する。
【０２３７】
最大有効桁数変化復号部２０１は、符号分割部１５１から供給される、最大有効桁数を示す符号に含まれる、最大有効桁数の変化を示す符号を復号する。
【０２３８】
最大有効桁数変化量復号部２０２は、符号分割部１５１から供給される、最大有効桁数を示す符号に含まれる、最大有効桁数の変化量を示す符号を復号する。
【０２３９】
VLC復号部１５４は、それらの復号により得られた情報を、VLC復号部１５５や量子化係数合成部１５７に供給する。
【０２４０】
また、０連長復号部２０３は、符号分割部１５１から供給される、ゼロランを示す符号を復号し、ゼロランを構成する量子化係数群を生成する。VLC復号部１５４は、生成された量子化係数群を、VLC復号部１５５および量子化係数合成部１５７に供給する。
【０２４１】
［復号処理の流れ］
次に、図２１のフローチャートを参照して、画像復号装置１１１による復号処理について説明する。この復号処理は、エントロピ復号部１２１に符号化された画像としての符号が入力されると開始される。
【０２４２】
ステップＳ１３１において、エントロピ復号部１２１は、エントロピ復号処理を行い、入力された画像としての符号をエントロピ復号し、これにより得られた量子化係数を逆量子化部１２２に供給する。
【０２４３】
なお、エントロピ復号処理の詳細は後述するが、このエントロピ復号処理において、エントロピ復号部１２１は、符号化されたサブバンドのライン上の連続する位置の量子化係数をＷ個ずつ復号し、復号された量子化係数を逆量子化部１２２に供給する。また、このエントロピ復号処理において、エントロピ復号部１２１は、値が０の量子化係数よりなるゼロランを示す符号を復号することにより、ゼロランを構成する値が０の量子化係数群をまとめて復号する。
【０２４４】
ステップＳ１３２において、逆量子化部１２２は、エントロピ復号部１２１から供給された量子化係数を逆量子化し、逆量子化により得られた各サブバンドのウェーブレット係数をウェーブレット逆変換部１２３に供給する。
【０２４５】
ステップＳ１３３において、ウェーブレット逆変換部１２３は、逆量子化部１２２から供給された、各サブバンドのウェーブレット係数にウェーブレット逆変換を施し、その結果得られた画像を出力して復号処理は終了する。
【０２４６】
このようにして、画像復号装置１１１は、符号化された画像を復号して出力する。
【０２４７】
［エントロピ復号処理の流れ］
次に、図２２のフローチャートを参照して、図２１のステップＳ１３１の処理に対応するエントロピ復号処理について説明する。
【０２４８】
ステップＳ１６１において、ライン判定部１５２は、これから復号するサブバンドのラインを示す変数yをy＝0として、これを記憶する。
【０２４９】
ステップＳ１６２において、VLC復号部１５４は、ライン判定部１５２が記憶している変数yにより示されるラインyよりも１つ前のライン（y−1）上の最初に入力されるＷ個の量子化係数の最大有効桁数を示す変数BinitをBinit＝０として、これを記憶する。
【０２５０】
例えば、ライン（y−1）が、図２に示したラインL1である場合、ライン（y−1）上の最初に入力されるＷ個の量子化係数の最大有効桁数を示す変数Binitの値は、ラインL1の図中、左端の位置からＷ個の量子化係数の最大有効桁数となる。また、ライン判定部１５２が記憶している変数yがy＝０である場合、ライン（y−1）は存在しないので、変数Binitの値は、Binit＝０とされる。
【０２５１】
ステップＳ１６３において、符号分割部１５１は、入力された符号のうち、最初の１ビットの符号を、これから復号するラインの量子化係数が全て０であるか否かを示す符号として、ライン判定部１５２に供給する。
【０２５２】
また、そのステップＳ１６３において、ライン判定部１５２は、符号分割部１５１から読み込んだ（供給された）１ビットの符号が０であるか否かを判定し、その判定の結果を示す情報を生成して発生部１５３、VLC復号部１５４、および符号分割部１５１に供給する。符号が０であると判定した場合、ラインyの量子化係数が全て０であるので、ライン判定部１５２は、処理をステップＳ１６４に進める。
【０２５３】
ステップＳ１６４において、発生部１５３は、ライン判定部１５２からの判定の結果を示す情報に基づいて、ラインyの量子化係数を全て０とする。そして、発生部１５３は、ラインyの量子化係数を示す符号を発生して切替部１５８に供給する。
【０２５４】
例えば、１つの量子化係数が４桁で表わされ、１つのラインの量子化係数が５個である場合、発生部１５３は、ラインyの量子化係数を示す符号として、２０（＝４×５）個の０を発生して切替部１５８に供給する。切替部１５８は、発生部１５３から供給された連続する２０個の０を、１つのラインの量子化係数を示す符号として、逆量子化部１２２に出力する。
【０２５５】
ステップＳ１６５において、VLC復号部１５４は、ライン判定部１５２からの判定の結果を示す情報に基づいて、記憶している変数Binitの値をBinit＝０とし、変数Binitを更新する。
【０２５６】
ステップＳ１６６において、ライン判定部１５２は、復号しているサブバンドのラインのうち、未処理のラインがあるか否かを判定する。すなわち、ライン判定部１５２は、復号しているサブバンドの全てのライン上の位置の量子化係数を復号したか否かを判定する。
【０２５７】
ステップＳ１６６において、未処理のラインがあると判定した場合、ライン判定部１５２は、自分自身が記憶している変数yにより示されるラインyの次のライン（y＋１）上の各位置の量子化係数を復号するので、処理をステップＳ１６７に進める。
【０２５８】
ステップＳ１６７において、ライン判定部１５２は、記憶しているラインを示す変数yをインクリメントしてy＝y＋１とし、処理をステップＳ１６３に戻し、それ以降の処理を実行させる。
【０２５９】
これに対して、ステップＳ１６６において、未処理のラインが無いと判定した場合、サブバンドを構成する全てのラインについて量子化係数が復号されたので、ライン判定部１５２は、エントロピ復号処理を終了し、処理を図２１のステップＳ１３１に戻し、ステップＳ１３２以降の処理を実行させる。
【０２６０】
また、図２２のステップＳ１６３において、符号が０でないと判定した場合、ライン判定部１５２は、処理をステップＳ１６８に進める。ステップＳ１６８において、エントロピ復号部１２１は、Ｗ個組復号処理を行う。
【０２６１】
なお、Ｗ個組復号処理の詳細は後述するが、このＷ個組復号処理において、エントロピ復号部１２１は、ライン判定部１５２が記憶している変数yにより示されるラインy上の連続するＷ個の位置の量子化係数を復号する。
【０２６２】
また、このＷ個組復号処理において、エントロピ復号部１２１は、値が０の量子化係数よりなるゼロランを示す符号を復号することにより、ゼロランを構成する値が０の量子化係数群をまとめて復号する。
【０２６３】
Ｗ個組復号処理が終了すると、エントロピ復号部１２１は、処理をステップＳ１６６に戻し、それ以降の処理を実行させる。
【０２６４】
このようにして、エントロピ復号部１２１は、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に復号する。
【０２６５】
このように、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に復号することによって、符号化された量子化係数を、入力された順番に処理することができ、量子化係数の復号により生じる遅延をより少なくすることができる。
【０２６６】
［Ｗ個組復号処理の流れ］
次に、図２３および図２４のフローチャートを参照して、図２２のステップＳ１６８において実行されるＷ個組復号処理の流れの例を説明する。
【０２６７】
ステップＳ２０１において、エントロピ復号部１２１は、変数ｉ、Ｂ、max等、各種変数を初期化する。例えば、エントロピ復号部１２１は、変数ｉ＝０とし、変数Ｂ＝０とし、変数max＝係数Ｗ個組の数とする。また、０連長復号部２０３は、例えば、すべての係数の初期値＝０とする。
【０２６８】
上述したように、図２２のステップＳ１６８において、符号分割部１５１からVLC復号部１５４には、これから復号するＷ個の量子化係数の最大有効桁数が変化したか否かを示す１ビットの符号が供給される。
【０２６９】
ステップＳ２０２において、最大有効桁数変化復号部２０１は、最大有効桁数が変化したか否かを示す符号として、１ビットの符号を読み込む（符号分割部１５１から１ビットの符号を取得する）。最大有効桁数変化復号部２０１は、読み込んだこの１ビットの符号が０であるか否かを判定し、０であると判定した場合、最大有効桁数は変化していないので、最大有効桁数が変化していない旨の情報を生成し、それを符号分割部１５１、VLC復号部１５５、および量子化係数合成部１５７に供給する。そして、最大有効桁数変化復号部２０１は、ステップＳ２０３乃至ステップＳ２０７の各処理を省略（スキップ）して、ステップＳ２０８に処理を進める。
【０２７０】
すなわち、最大有効桁数が変化したか否かを示す符号が０である場合、最大有効桁数が増加したか、または減少したかを示す符号や、最大有効桁数の変化量を示す符号は伝送されない。したがって、最大有効桁数が増加したか、または減少したかを示す符号、および、最大有効桁数の変化量を示す符号を復号する処理であるステップＳ２０３乃至ステップＳ２０７の各処理は省略（スキップ）される。
【０２７１】
これに対して、ステップＳ２０２において、読み込んだ１ビットの符号が０でないと判定した場合、最大有効桁数が変化したので、最大有効桁数変化復号部２０１は、処理をステップＳ２０３に進める。
【０２７２】
ステップＳ２０３において、最大有効桁数変化復号部２０１は、最大有効桁数が増加したか、または減少したかを示す符号として、１ビットの符号を読み込む（符号分割部１５１から１ビットの符号を取得する）。最大有効桁数変化復号部２０１は、読み込んだこの１ビットの符号が０であるか否かを判定し、０であると判定した場合、処理をステップＳ２０４に進める。
【０２７３】
この１ビットの符号が０である場合、最大有効桁数が前より減少している。そこで、最大有効桁数変化量復号部２０２は、ステップＳ２０４において、次に１がでるか、最大（Ｂ−１）ビットまで符号の読み込みを行う。つまり、最大有効桁数変化量復号部２０２は、読み込んだ符号が０である間、この符号の読み込みを継続し、符号１が読みこまれた場合、その符号の読み込みを終了する。また、符号１が読みこまれず、読み込んだ符号０のビット数が（Ｂ−１）ビットに達した場合（符号０が（Ｂ−１）ビット連続した場合）、最大有効桁数変化量復号部２０２は、その符号０の読み込みを終了する。
【０２７４】
最大有効桁数変化量復号部２０２は、それまでに読み込んだ符号０の数をｎとする。
【０２７５】
ステップＳ２０５において、最大有効桁数変化量復号部２０２は、その読み込んだ符号０の数ｎを用いて、最大有効桁数Ｂを、以下の式（１）のように更新する。
【０２７６】
Ｂ＝Ｂ−（ｎ＋１）  ・・・（１）
【０２７７】
最大有効桁数Ｂを更新すると、最大有効桁数変化量復号部２０２は、処理をステップＳ２０８に進める。
【０２７８】
また、ステップＳ２０３において、読み込んだ１ビットの符号が０でないと判定された場合、処理をステップＳ２０６に進める。
【０２７９】
ステップＳ２０６において、最大有効桁数変化量復号部２０２は、ステップＳ２０４において、次に１がでるまで符号の読み込みを行う。つまり、最大有効桁数変化量復号部２０２は、読み込んだ符号が０である間、この符号の読み込みを継続し、符号１が読みこまれた場合、その符号の読み込みを終了する。
【０２８０】
最大有効桁数変化量復号部２０２は、それまでに読み込んだ符号０の数をｎとする。
【０２８１】
ステップＳ２０７において、最大有効桁数変化量復号部２０２は、その読み込んだ符号０の数ｎを用いて、最大有効桁数Ｂを、以下の式（２）のように更新する。
【０２８２】
Ｂ＝Ｂ＋（ｎ＋１）  ・・・（２）
【０２８３】
最大有効桁数Ｂを更新すると、最大有効桁数変化量復号部２０２は、処理をステップＳ２０８に進める。
【０２８４】
ステップＳ２０８において、最大有効桁数変化復号部２０１は、Ｂ≠０であるか否かを判定する。Ｂ≠０であると判定した場合、最大有効桁数変化復号部２０１は、処理をステップＳ２０９に進める。
【０２８５】
ステップＳ２０９において、VLC復号部１５５は、ｉ番目の係数Ｗ個組（すなわち、処理対象の組）の各量子化係数について、符号をＢビット読み込み、その値を量子化係数の絶対値とする。
【０２８６】
ステップＳ２１０において、VLC復号部１５６は、ｉ番目の係数Ｗ個組（すなわち、処理対象の組）の各量子化係数の内、ステップＳ２０９において求めた絶対値が０でない係数について、符号を１ビット読み込み、その値を量子化係数の符号（サイン）とする。
【０２８７】
量子化係数合成部１５７は、ステップＳ２０９において生成された絶対値と、ステップＳ２１０において生成された符号（サイン）とを合成し、符号（サイン）付きの４桁の量子化係数を生成する。量子化係数合成部１５７は、その符号（サイン）付きの量子化係数を切替部１５８に供給する。
【０２８８】
また、ステップＳ２１１において、エントロピ復号部１２１は、変数ｉ＜max―１であるか否かを判定する。すなわち、エントロピ復号部１２１は、処理対象のラインの全ての量子化係数の組を処理したか否かを判定する。
【０２８９】
変数ｉ＜max―１であり、処理対象のライン上に未処理の組が存在すると判定された場合、エントロピ復号部１２１は、処理をステップＳ２１２に進める。ステップＳ２１２において、エントロピ復号部１２１は、変数ｉをインクリメント（変数ｉ＝ｉ＋１）し、処理をステップＳ２０２に戻す。
【０２９０】
また、変数ｉ＜max―１でなく、処理対象のライン上に未処理の組が存在しないと判定された場合、エントロピ復号部１２１は、処理をステップＳ２１３に進める。
【０２９１】
ステップＳ２１３において、切替部１５８は、量子化係数合成部１５７から供給される１ライン分の量子化係数（符号（サイン）付きの量子化係数や値が０の量子化係数）を、逆量子化部１２２に出力する。
【０２９２】
ステップＳ２１３の処理を終了すると、切替部１５８は、Ｗ個組復号処理を終了し、処理を図２２のステップＳ１６６に戻す。
【０２９３】
また、ステップＳ２０８において、Ｂ≠０でないと判定した場合、最大有効桁数変化復号部２０１は、処理を図２４のステップＳ２３１に進める。
【０２９４】
図２４のステップＳ２３１において、０連長復号部２０３は、変数max−ｉ−１の桁数をＤとする。
【０２９５】
ステップＳ２３２において、０連長復号部２０３は、符号の読み込み（符号分割部１５１からの符号の取得）を開始し、符号１を取得するか、符号０を最大Ｄビット読み込むまで、その符号の読み込み（１回目の読み込み）を行う。
【０２９６】
この１回目の読み込みにより、図５のテーブルの一番右の列に示される符号列の、カンマ（，）より左の部分が読み込まれるか、または、図７若しくは図９のテーブルの左から３番目の列の符号列が読み込まれる。
【０２９７】
そして、０連長復号部２０３は、読み込んだ符号０の数をｎとする。
【０２９８】
ステップＳ２３３において、０連長復号部２０３は、Ｄ≠ｎであるか否かを判定する。Ｄ≠ｎであると判定された場合、すなわち、ゼロランがラインの最後まで達していないと判定された場合、０連長復号部２０３は、処理をステップＳ２３４に進める。
【０２９９】
つまり、この場合、１回目の読み込みにより、図５のテーブルの一番右の列に示される符号列の、カンマ（，）より左の部分が読み込まれていることになる。この１回目の読み込みにより、そこからｎ個目の符号までが、カンマ（，）の右の部分に相当するということ（ゼロランを示す符号がｎビットであること）が明らかとなっている。
【０３００】
そこで、０連長復号部２０３は、ステップＳ２３４において、符号をｎビット読み込む（２回目の読み込み）。その読み込んだnビットの先頭に符号１をつけた符号列を変数countに代入する。つまり、図５のテーブルの左から２列目の２進表現が変数countに代入される。
【０３０１】
ステップＳ２３５において、０連長復号部２０３は、値０の量子化係数を、count個（２進表現）生成し、量子化係数合成部１５７に出力する。例えば、図５のテーブルを用いて説明すると、仮に、変数count＝１００の場合、値０の量子化係数が４個生成される。
【０３０２】
量子化係数合成部１５７は、そのcount個の値０の量子化係数（ゼロランを構成する量子化係数）を切替部１５８に供給する。
【０３０３】
ステップＳ２３６において、０連長復号部２０３は、以下の式（３）のように、変数ｉを、変数countを用いて更新する。すなわち、０連長復号部２０３は、処理対象の組をゼロランの次の組に移動させる。
【０３０４】
ｉ＝ｉ＋count  ・・・（３）
【０３０５】
ステップＳ２３７において、最大有効桁数変化量復号部２０２は、符号の読み込み（符号分割部１５１からの符号の取得）を開始し、符号１を取得するまで、その符号の読み込みを行う。そして、最大有効桁数変化量復号部２０２は、符号１を読み込むと、それまでに読み込んだ符号０の数＋１を最大有効桁数Ｂとする。最大有効桁数変化量復号部２０２は、その更新した最大有効桁数ＢをVLC復号部１５５や量子化係数合成部１５７に供給する。
【０３０６】
つまり、ステップＳ２３７においては、ゼロランの次の量子化係数の組の、最大有効桁数Ｂに関する復号が行われる。なお、ここでは、前の組がゼロランを構成する量子化係数の組であり、Ｂ＝０であるので、「変更あり（diff）」であることを示す符号１や、「Ｂを増やす（plus）」ことを示す符号０は省略されている。
【０３０７】
ステップＳ２３７の処理が終了すると、最大有効桁数変化量復号部２０２は、処理を図２３のステップＳ２０９に戻し、それ以降の処理を実行させる。つまり、ゼロランの次の量子化係数の組の、量子化係数の絶対値や符号（サイン）等が復号される。
【０３０８】
また、図２４のステップＳ２３３において、Ｄ＝ｎであると判定された場合、すなわち、ゼロランがラインの最後まで達すると判定された場合、０連長復号部２０３は、処理をステップＳ２３８に進める。
【０３０９】
つまり、この場合、１回目の読み込みにより、図７若しくは図９のテーブルの左から３番目の列の符号列が読み込まれていることになる。
【０３１０】
そこで、０連長復号部２０３は、ステップＳ２３８において、値が０の量子化係数をＤ個生成し、量子化係数合成部１５７に出力する。量子化係数合成部１５７は、そのＤ個の値０の量子化係数（ゼロランを構成する量子化係数）を切替部１５８に供給する。
【０３１１】
ステップＳ２３８の処理が終了すると、０連長復号部２０３は、処理を図２３のステップＳ２１３に戻し、それ以降の処理を実行させる。つまり、値が０の量子化係数が逆量子化部１２２に供給される。
【０３１２】
このようにして、エントロピ復号部１２１は、符号化されたサブバンドの量子化係数を、予め定められた所定の数ずつまとめて復号する。
【０３１３】
このように、符号化されたサブバンドの量子化係数を、予め定められた所定の数ずつまとめて復号することで、例えば、JPEG2000方式により画像を復号する場合とは異なり、複数のコーディングパスに基づいて、ビットプレーンごとに複数の処理を行う必要がなく、より高速に画像の復号を行うことができる。これにより、高解像度の画像をリアルタイムで復号するための復号装置を安価で実現することができる。
【０３１４】
また、以上のように各処理を実行することにより、画像復号装置１１１は、ゼロランがまとめて符号化された符号を正しく復号し、値が０の量子化係数を復元することができる。したがって、画像復号装置１１１は、ゼロランの符号量の低減を実現することができ、０が多い係数データの符号化の符号化効率の向上を実現することができる。
【０３１５】
ところで、以上において説明した画像符号化装置１１にいては、量子化係数の絶対値を符号化（または復号）する場合に、予め定められたＷ個の量子化係数の絶対値を順番に符号化すると説明したが、汎用DSP（Digital Signal Processor）や、汎用CPUにおいて用いられているSIMD（Single Instruction Multiple Data）演算命令を利用して、Ｗ個の量子化係数を同時に（並列に）符号化（または復号）することにより、より高速に画像を符号化（または復号）することができる。
【０３１６】
また、第１の実施の形態および第２の実施の形態においては、処理対象のラインの量子化係数が全て０であるか否かを示す符号を、画像符号化装置１１が生成し、画像復号装置１１１が復号するように説明したが、この符号は省略するようにしてもよい。
【０３１７】
その場合、画像符号化装置１１においては、図１０のエントロピ符号化部２３のライン判定部６１とVLC符号化部６２とを省略することができる。また、図１３のステップＳ４３乃至ステップＳ４５、並びに、ステップＳ４６の処理が省略され、ステップＳ４２の処理の後、ステップＳ４９の処理が実行され、その後ステップＳ４６の処理が実行される。また、ステップＳ４７の処理終了後、処理は、ステップＳ４９に戻される。
【０３１８】
また、画像復号装置１１１においては、図１７のエントロピ復号部１２１のライン判定部１５２と発生部１５３とを省略することができる。また、図２２のステップＳ１６３乃至ステップＳ１６５の処理が省略され、ステップＳ１６２の処理の後、ステップＳ１６８の処理が実行され、その後、ステップＳ１６６の処理が実行される。また、ステップＳ１６７の処理終了後、処理は、ステップＳ１６８に戻される。
【０３１９】
このようにすることにより、処理対象のラインの量子化係数の値が０のみで無い場合、符号量を１ビット低減させることができる。また、処理対象のラインの全ての量子化係数の値が０である場合も、上述したようにゼロランをまとめて符号化することにより、その符号量を十分に低減させることができる。
【０３２０】
なお、エントロピ符号化部２３が符号化するデータは、量子化係数以外であっても良い。例えば、画像符号化装置１１において、量子化部２２を省略し、エントロピ符号化部２３が、ウェーブレット変換部２１から出力されるウェーブレット係数を符号化するようにしてもよい。その場合、エントロピ復号部１２１は、入力された符号化データを復号し、ウェーブレット係数を出力する。したがって、この場合、画像復号装置１１１において、逆量子化部１２２を省略することができる。エントロピ復号部１２１は、入力された符号化データを復号し、画像データを出力する。したがって、この場合、画像復号装置１１１において、ウェーブレット逆変換部１２３も省略することができる。
【０３２１】
また、さらにウェーブレット変換部２１も省略し、エントロピ符号化部２３が、画像データ（入力画像）を符号化するようにしてもよい。その場合も、エントロピ復号部１２１は、入力された符号化データを復号し、エントロピ符号化部２３が符号化したデータに対応するデータを出力する。
【０３２２】
＜３．第３の実施の形態＞
［画像符号化装置］
図２５は、画像符号化装置の他の構成例を示すブロック図である。図２５に示される画像符号化装置４０１は、入力される画像データを低遅延に符号化し、生成した符号化データを出力する画像処理装置である。
【０３２３】
図２５に示されるように、画像符号化装置４０１は、ウェーブレット変換部４１０、途中計算用バッファ部４１１、係数並び替え用バッファ部４１２、係数並び替え部４１３、レート制御部４１４、およびエントロピ符号化部４１５を有する。
【０３２４】
画像符号化装置４０１に入力された画像データは、途中計算用バッファ部４１１に格納される。ウェーブレット変換部４１０は、途中計算用バッファ部４１１に格納された画像データに対してウェーブレット変換を施す。すなわち、ウェーブレット変換部４１０は、途中計算用バッファ部４１１から画像データを読み出して、分析フィルタによりフィルタ処理を施して低域成分および高域成分の係数のデータを生成し、生成された係数データを途中計算用バッファ部４１１に格納する。
【０３２５】
ウェーブレット変換部４１０は、水平分析フィルタと垂直分析フィルタとを有し、画像データ群に対して、画面水平方向と画面垂直方向の両方について分析フィルタ処理を行う。ウェーブレット変換部４１０は、例えば、リフティング演算を用いてこのような分析フィルタ処理を行う。
【０３２６】
ウェーブレット変換部４１０は、途中計算用バッファ部４１１に格納された低域成分の係数データを再度読み出し、読み出した係数データに対して分析フィルタによるフィルタ処理を施して、高域成分および低域成分の係数のデータをさらに生成する。生成された係数データは、途中計算用バッファ部４１１に格納される。つまり、ウェーブレット変換部４１０は、低域成分に対して再帰的に分析フィルタ処理を繰り返し、係数データを成分毎に階層化する。
【０３２７】
ウェーブレット変換部４１０は、この処理を繰り返して分解レベルが所定レベルに達したら、途中計算用バッファ部４１１から係数データを読み出し、読み出された係数データを係数並び替え用バッファ部４１２に格納する。
【０３２８】
係数並び替え部４１３は、係数並び替え用バッファ部４１２に格納された係数データを、復号される順（ウェーブレット逆変換される順）に読み出し、エントロピ符号化部４１５に供給する。エントロピ符号化部４１５は、供給された係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。
【０３２９】
エントロピ符号化部４１５は、レート制御部４１４と連動的に動作し、出力される圧縮符号化データのビットレートが略一定値となるように制御される。すなわち、レート制御部４１４は、エントロピ符号化部４１５からの符号化データ情報に基づき、エントロピ符号化部４１５により圧縮符号化されたデータのビットレートが目標値に達した時点あるいは目標値に達する直前でエントロピ符号化部４１５による符号化処理を終了するように制御する制御信号を、エントロピ符号化部４１５に対して供給する。エントロピ符号化部４１５は、レート制御部４１４から供給される制御信号に応じて符号化処理が終了した時点で、符号化データを出力する。
【０３３０】
画像符号化装置４０１は、このような画像の符号化を、画面の縦方向について、数ライン毎の処理に分割して、複数回に分けて段階的に行う。より具体的には、画像符号化装置４０１は、ウェーブレット変換後の最低域成分のサブバンド１ライン分の係数データを生成するために必要なライン数毎に、入力画像データを符号化する。
【０３３１】
以下において、この最低域成分のサブバンドの１ライン分の係数データを生成するために必要な、他のサブバンドも含めたラインの集まりを、ラインブロック（またはプレシンクト）と称する。ここでラインとは、ウェーブレット変換前の画像データに対応するピクチャ若しくはフィールド内、または各サブバンド内において形成される１行分の画素データ若しくは係数データのことを示す。
【０３３２】
なお、ラインブロック（プレシンクト）を構成するデータは、画像データであっても良いし、ウェーブレット変換された係数データであっても良いし、エントロピ符号化された符号化データであってもよい。つまり、ラインブロック（プレシンクト）は、ウェーブレット変換前の元の画像データにおける、ウェーブレット変換後の最低域成分のサブバンド1ライン分の係数データを生成するために必要なライン数分の画素データ群に対応するデータであれば、どのような状態のデータであってもよい。例えば、その画素データ群をウェーブレット変換して得られる各サブバンドの係数データ群のことを示す場合もある。
【０３３３】
つまり、ウェーブレット変換部４１０は、ラインブロック（プレシンクト）毎にウェーブレット変換処理を行う。すなわち、ウェーブレット変換部４１０は、再低域成分までの分析フィルタ処理が可能な最小量の入力画像データが途中計算用バッファ部４１１に蓄積され次第、ウェーブレット変換処理を開始する。
【０３３４】
従来のウェーブレット変換の方法の場合、まず、水平分析フィルタリング処理をピクチャ全体に対して行い、次に垂直分析フィルタリング処理をそのピクチャ全体に対して行う。そして得られた低域成分全体に対して同様の水平分析フィルタリング処理と垂直分析フィルタリング処理を順に行う。以上のように、分解レベルが最終レベルに達するまで、分析フィルタリング処理が再帰的に繰り返される。従って、各分析フィルタリング処理の結果をバッファに保持させる必要があるが、その際、バッファは、ピクチャ全体、若しくは、その時点の分解レベルの低域成分全体のフィルタリング結果を保持する必要があり、多大なメモリ容量を必要とすることになる（保持するデータ量が多い）。
【０３３５】
また、この場合、ピクチャ内において全てのウェーブレット変換が終了しないと、後段の係数並び替えやエントロピ符号化を行うことができず、遅延時間が増大する。
【０３３６】
これに対して、ウェーブレット変換部４１０は、上述したようにラインブロック単位で垂直分析フィルタリング処理および水平分析フィルタリング処理を最終レベルまで連続して行うので、従来の方法と比較して、一度に（同時期に）保持する（バッファリングする）必要のあるデータの量が少なく、用意すべきバッファのメモリ量を大幅に低減させることができる。また、最終レベルまで分析フィルタリング処理が行われることにより、後段の係数並び替えやエントロピ符号化等の処理も実行可能となる。
【０３３７】
係数並び替え部４１３は、次に読み出す係数データが係数並び替え用バッファ部４１２に格納され次第、その係数データを読み出す。エントロピ符号化部４１５は、供給される係数データを順次エントロピ符号化する。したがって、ウェーブレット変換部４１０がより低遅延に係数データの出力を開始することにより、係数並び替え部４１３やエントロピ符号化部４１５も、より低遅延に各自の処理を開始することができる。
【０３３８】
つまり、符号化データがより低遅延に出力されるようになる。以上のウェーブレット変換、係数並び替え、およびエントロピ符号化の各処理は、互いに並列に処理を行うことができる。従って、従来の方法と比較して遅延時間を大幅に低減させることができる。つまり、画像符号化装置４０１は、より低遅延に入力画像データを符号化し、符号化データを出力することができる。
【０３３９】
このような、画像符号化装置４０１に、本技術を適用してもよい。例えば、エントロピ符号化部４１５として、図１のエントロピ符号化部２３を適用する。このようにすることにより、画像符号化装置４０１は、より低遅延に符号化処理を行うことができるだけでなく、より容易に符号化処理を行うことができる。
【０３４０】
つまり、画像符号化装置４０１は、符号化処理の負荷を低減させることができる。これにより、より高速に符号化処理を行うようにすることができる。また、より安価に画像符号化装置４０１を実現することができる（製造コストを低減させることができる）。さらに、画像符号化装置４０１は、ゼロラン部分をより効率よく符号化することができ、０が多い係数データの符号化の符号化効率を向上させることができる。
【０３４１】
［画像復号装置］
図２６は、画像復号装置の他の構成例を示すブロック図である。図２６に示される画像復号装置４２０は、図２５の画像符号化装置４０１に対応する画像処理装置である。つまり、画像復号装置４２０は、画像符号化装置４０１が、画像データを符号化して生成した符号化データを復号し、復号画像データを生成する。
【０３４２】
図２６に示されるように、画像復号装置４２０は、エントロピ復号部４２１、係数バッファ部４２２、およびウェーブレット逆変換部４２３を有する。
【０３４３】
画像復号装置４２０に入力された符号化データは、エントロピ復号部４２１に供給される。エントロピ復号部４２１は、その符号化データを、エントロピ符号化部４１５によるエントロピ符号化に対応する方法でエントロピ復号し、エントロピ符号化前の係数データを復元する。エントロピ復号部４２１は、その係数データを係数バッファ部４２２に供給し、格納させる。
【０３４４】
ウェーブレット逆変換部４２３は、係数バッファ部４２２に格納された係数データを読み出し、垂直方向および水平方向にそれぞれ合成フィルタ処理を行い、その合成フィルタ処理の結果を再び係数バッファ部４２２に格納する。ウェーブレット逆変換部４２３は、この処理を分解レベルに応じて繰り返して、復号画像データ（出力画像データ）を得る。ウェーブレット逆変換部４２３は、生成した復号画像データを画像復号装置４２０の外部に出力する。
【０３４５】
このとき、係数データは、画像符号化装置４０１の係数並び替え部４１３により、ウェーブレット逆変換される順に並び替えられているので、ウェーブレット逆変換部４２３は、係数バッファ部４２２に格納される係数を順次読み出し、合成フィルタ処理に用いることができる。つまり、ウェーブレット逆変換部４２３は、より低遅延にウェーブレット逆変換を行うことができる。
【０３４６】
したがって、画像復号装置４２０は、より低遅延に符号化データを復号し、復号画像データを出力することができる。
【０３４７】
このような、画像復号装置４２０に、本技術を適用してもよい。例えば、エントロピ復号部４２１として、図１６のエントロピ復号部１２１を適用する。このようにすることにより、画像復号装置４２０は、より低遅延に復号処理を行うことができるだけでなく、より容易に復号処理を行うことができる。
【０３４８】
つまり、画像復号装置４２０は、復号処理の負荷を低減させることができる。これにより、より高速に復号処理を行うようにすることができる。また、より安価に画像復号装置４２０を実現することができる（製造コストを低減させることができる）。さらに、画像復号装置４２０は、ゼロラン部分の、より効率よい符号化を実現することができ、０が多い係数データの符号化の符号化効率の向上を実現させることができる。
【０３４９】
［符号化・復号の流れ］
以上のような画像符号化装置４０１および画像復号装置４２０を用いて、より低遅延にデータ伝送可能なデータ伝送システムを実現することができる。
【０３５０】
データ伝送において、データを符号化して伝送し、伝送先において復号することは、伝送効率の向上の為に効果的である。
【０３５１】
このように画像データを符号化して伝送するデータ伝送システムにおいて、伝送元の画像符号化装置として、画像符号化装置４０１を適用し、伝送先の画像復号装置として、画像復号装置４２０を適用する。このようにすることにより、上述したように、より低遅延な符号化・復号を実現することができるので、より低遅延なデータ伝送を実現することができる。
【０３５２】
より具体的に説明する。図２７は、画像データを、画像符号化装置４０１によって符号化し、その符号化データを、画像復号装置４２０によって復号する流れの例を説明する図である。図２７は、５×３フィルタを用いて、分解レベル＝２までウェーブレット変換によるフィルタ処理を施した例である。ウェーブレット変換部４１０において、図２７Ａに一例が示されるように、入力画像データの第１ラインから第７ラインに対して１回目の分析フィルタ処理が水平および垂直方向にそれぞれ行われる（図２７ＡのIn-1）。
【０３５３】
１回目の分析フィルタ処理の分解レベル＝１の処理において、３ライン分の係数データが生成され、図２７Ｂに一例が示されるように、分解レベル＝１で形成される領域HH、領域HLおよび領域LHのそれぞれに配置される（図２７ＢのWT-1）。
【０３５４】
また、分解レベル＝１で形成される領域LLは、分解レベル＝２による水平および垂直方向の分析フィルタ処理でさらに４分割される。分解レベル＝２で生成される係数データは、分解レベル＝1による領域LL内の、領域LL、領域HH、領域HL、および領域LHのそれぞれに、１ラインずつ配置される。
【０３５５】
ウェーブレット変換部４１０による２回目以降のフィルタ処理では、４ライン毎にフィルタ処理が行われ（図２７ＡのIn-2・・・）、分解レベル＝１で２ラインずつの係数データが生成され（図２７ＢのWT-2）、分解レベル＝２で１ラインずつの係数データが生成される。
【０３５６】
図２７Ｂのようにウェーブレット変換されたデータを復号する際には、図２７Ｃに一例が示されるように、符号化側の第１ライン乃至第７ラインによる１回目のフィルタ処理に対して、復号側の１回目の合成処理による第１ラインが出力される（図２７ＣのOut-1）。以降、符号化側の２回目から最後の回の前までのフィルタ処理に対して、復号側で４ラインずつが出力される（図２７ＣのOut-2・・・）。そして、符号化側の最後の回のフィルタ処理に対して、復号側で７ラインが出力される。
【０３５７】
以上のように、画像符号化装置４０１による符号化処理と、画像復号装置４２０による復号処理は、それぞれ、ラインブロック毎に行うことができ、また、互いに並行に処理を行うことができる。したがって、画像符号化装置４０１に画像データが入力されてから、画像復号装置４２０から復号画像データが出力されるまでの遅延時間が大幅に低減される。つまり、より低遅延なデータ伝送を実現することができる。
【０３５８】
このような、データ伝送システムの画像符号化装置４０１および画像復号装置４２０に、本技術を、上述したように適用することにより、より容易な符号化処理や復号処理を実現することができる。さらに、０が多い係数データの符号化の符号化効率を向上させることができるので、伝送効率をさらに向上させることができる。
【０３５９】
なお、画像符号化装置４０１および画像復号装置４２０の構成は、本技術を適用することができる限り、上述した例に限らない。例えば、係数の並び替えは、画像復号装置４２０において行われるようにしてもよい。また、ウェーブレット変換処理（ウェーブレット逆変換処理）の代わりにその他の変換処理（逆変換処理）を適用するようにしてもよい。さらに、係数データに対して量子化・逆量子化を行うようにしてもよい。
【０３６０】
以上のようなデータ伝送システムの具体例として、例えば、テレビジョン放送局や制作スタジオなどにおいて、スタジオ収録や中継などの際に、ビデオカメラと、カメラコントロールユニットやスイッチャとを接続する１本の同軸ケーブルで、映像信号、音声信号、送り返し（リターン）の映像信号、同期信号など複数の信号を重畳させて送信すると共に、電源の供給も行うようにしたデジタルトライアックスシステムがある。
【０３６１】
また、このデータ伝送システムは、例えば、テレビジョン会議システム、家庭用ゲーム機器とビデオカメラやモニタ等の周辺機器との間の通信システム等、任意のシステムに応用することができる。さらに、このデータ伝送システムは、装置内部の処理部間のデータ伝送にも適用することができる。
【０３６２】
すなわち、本技術は、画像データを符号化した符号化データを伝送するあらゆるシステムに適用することができる。
【０３６３】
＜４．第４の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図２８に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０３６４】
図２８において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３６５】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０３６６】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部６１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部６１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３６７】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０３６８】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３６９】
この記録媒体は、例えば、図２８に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどにより構成される。
【０３７０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３７１】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３７２】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３７３】
また、以上において、１つの装置（または処理部）として説明した構成が、複数の装置（または処理部）として構成されるようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成が、まとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部が他の装置（または他の処理部）の構成に含まれるようにしてもよい。つまり、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０３７４】
なお、本技術は以下のような構成も取ることができる。
（１）  画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化する有効桁数符号化部と、
値が０の係数データのみで構成される組により構成されるゼロランを符号化するゼロラン符号化部と、
前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化する絶対値符号化部と、
前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化するサイン符号化部と
を備える画像処理装置。
（２）  前記ゼロラン符号化部は、前記ゼロランを構成する前記組の数の２進表現の桁数より１少ない数の符号０と、前記組の数の２進表現とにより構成される符号を生成する
前記（１）に記載の画像処理装置。
（３）  前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０と、符号１とにより構成される符号を生成する
前記（２）に記載の画像処理装置。
（４）  前記ゼロラン符号化部は、前記ゼロランが処理対象のラインの最後まで続く場合、前記ゼロランを構成する前記組の数より１少ない数の２進表現の桁数の符号０により構成される符号を生成する
前記（２）に記載の画像処理装置。
（５）  前記有効桁数符号化部は、処理対象である今の組の最大有効桁数の、前回処理対象であった前の組の最大有効桁数からの変化量を示す符号を生成する
前記（１）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記有効桁数符号化部は、前記変化量を示す符号として、前記変化量より１少ない数の符号０と、変動の終端を示す符号１とを生成する
前記（５）に記載の画像処理装置。
（７）  前記有効桁数符号化部は、前記今の組の最大有効桁数が０である場合、前記変化量を示す符号として、前記変化量より１少ない数の符号０のみを生成する
前記（６）に記載の画像処理装置。
（８）  前記有効桁数符号化部は、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成する
前記（５）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記有効桁数符号化部は、前記前の組の最大有効桁数が０でなかった場合のみ、前記今の組の最大有効桁数が、前記前の組の最大有効桁数から変化したか否かを示す符号と、前記今の組の最大有効桁数が、前記前の組の最大有効桁数より増えたか減ったかを示す符号とをさらに生成する
前記（８）に記載の画像処理装置。
（１０）  画像データをウェーブレット変換するウェーブレット変換部と、
前記ウェーブレット変換部により画像データがウェーブレット変換されて得られたウェーブレット係数を量子化する量子化部と
をさらに備え、
前記有効桁数符号化部、前記ゼロラン符号化部、前記絶対値符号化部、および前記サイン符号化部は、それぞれ、前記量子化部により前記ウェーブレット係数が量子化されて得られた量子化係数について符号化を行う
前記（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）  画像処理装置の画像処理方法であって、
有効桁数符号化部が、画像データから生成された複数の係数データを所定の数毎に１組とし、前記組毎に、絶対値が最も大きい係数データの有効桁数である最大有効桁数に関する情報を符号化し、
ゼロラン符号化部が、値が０の係数データのみで構成される組により構成されるゼロランを符号化し、
絶対値符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの絶対値を符号化し、
サイン符号化部が、前記ゼロラン以外の係数データについて、前記組毎に、各係数データの正負のサインを符号化する
画像処理方法。
（１２）  複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号する有効桁数復号部と、
値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号するゼロラン復号部と、
前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号する絶対値復号部と、
前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号するサイン復号部と
を備える画像処理装置。
（１３）  前記ゼロラン復号部は、前記有効桁数復号部による復号の結果、処理対象である今の組の最大有効桁数が０である場合、前記ゼロランを示す符号を復号する
前記（１２）に記載の画像処理装置。
（１４）  前記ゼロラン復号部は、符号１を読み込むか、ラインの最後まで符号を読み込むまで、順次符号を読み込む１回目の読み込みを行い、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達していない場合、前記１回目の読み込みで読み込んだ符号０の数分の符号をさらに読み込む２回目の読み込みを行い、前記２回目の読み込みで読み込んだ符号の先頭に符号１をつけた符号列を２進表現とする数の、値が０の係数データを生成する
前記（１３）に記載の画像処理装置。
（１５）  前記ゼロラン復号部は、前記１回目の読み込みで読み込んだ符号の示すゼロランが前記ラインの最後まで達した場合、前記ラインの最後まで達する数の、値が０の係数データを生成する
前記（１４）に記載の画像処理装置。
（１６）  前記有効桁数復号部は、前記ゼロラン復号部による前記２回目の読み込み後、符号１を読み込むまで順次符号を読み込み、読み込んだ符号０の数より１多い数を、前記ゼロランを構成する組の次の組の最大有効桁数とする
前記（１４）に記載の画像処理装置。
（１７）  前記ゼロラン復号部による復号の結果得られた値が０の量子化係数、または、前記絶対値復号部による復号の結果得られた絶対値、および、前記サイン復号部による復号の結果得られたサインよりなる量子化係数を逆量子化する逆量子化部と、
前記逆量子化部により前記量子化係数が逆量子化されて得られたウェーブレット係数を、ウェーブレット逆変換するウェーブレット逆変換部と
をさらに備える前記（１２）乃至（１６）のいずれかに記載の画像処理装置。
（１８）  画像処理装置の画像処理方法であって、
有効桁数復号部が、複数の係数データを所定の数毎に１組として前記組毎に生成された、前記組において絶対値が最も大きい係数データの有効桁数である最大有効桁数を示す符号を復号し、
ゼロラン復号部が、値が０の係数データのみで構成される組により構成されるゼロランを示す符号を復号し、
絶対値復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの絶対値を示す符号を復号し、
サイン復号部が、前記ゼロラン以外の係数データについて前記組毎に生成された、各係数データの正負のサインを示す符号を復号する
画像処理方法。
【符号の説明】
【０３７５】
１１  画像符号化装置，  ２３  エントロピ符号化部，  ６４  VLC符号化部，  ７１  最大有効桁数変化符号化部，  ７２  最大有効桁数変化量符号化部，  ７３  ０連長符号化部，  １１１  画像復号装置，  １２１  エントロピ復号部，  １５４  VLC復号部，  ２０１  最大有効桁数変化復号部，  ２０２  最大有効桁数変化量復号部，  ２０３  ０連長復号部
【図１】
0005966345.tif 000002
【図２】
0005966345.tif 000003
【図３】
0005966345.tif 000004
【図４】
0005966345.tif 000005
【図５】
0005966345.tif 000006
【図６】
0005966345.tif 000007
【図７】
0005966345.tif 000008
【図８】
0005966345.tif 000009
【図９】
0005966345.tif 000010
【図１０】
0005966345.tif 000011
【図１１】
0005966345.tif 000012
【図１２】
0005966345.tif 000013
【図１３】
0005966345.tif 000014
【図１４】
0005966345.tif 000015
【図１５】
0005966345.tif 000016
【図１６】
0005966345.tif 000017
【図１７】
0005966345.tif 000018
【図１８】
0005966345.tif 000019
【図１９】
0005966345.tif 000020
【図２０】
0005966345.tif 000021
【図２１】
0005966345.tif 000022
【図２２】
0005966345.tif 000023
【図２３】
0005966345.tif 000024
【図２４】
0005966345.tif 000025
【図２５】
0005966345.tif 000026
【図２６】
0005966345.tif 000027
【図２７】
0005966345.tif 000028
【図２８】
0005966345.tif 000029