(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個組符号化処理の流れの例を説明するフローチャートである。
【図２１】最大有効桁数処理の流れの例を説明するフローチャートである。
【図２２】最大有効桁数処理の流れの例を説明する、図２１に続くフローチャートである。
【図２３】画像復号装置の主な構成例を示すブロック図である。
【図２４】エントロピ復号部の主な構成例を示すブロック図である。
【図２５】符号分割部の構成例を示すブロック図である。
【図２６】符号分割部の、他の構成例を示すブロック図である。
【図２７】VLC復号部の主な構成例を示すブロック図である。
【図２８】復号処理の流れの例を説明するフローチャートである。
【図２９】エントロピ復号処理の流れの例を説明するフローチャートである。
【図３０】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”が出力される。
【０１１２】
［終端のゼロラン処理］
なお、ゼロランがラインの最後（右端）まで連続する場合、例えば、以下のように、さらに短い符号が用いられるようにし、符号量が低減されるようにしてもよい。
【０１１３】
図６は、ゼロラン符号化の、他の例を示す図である。図６に示される例のように、ゼロランが最後まで続く場合、ゼロランの終端は、ラインの最後であることは明らかなので、終端を示す符号（最大有効桁数Ｂを示す符号）が、不要になる。
【０１１４】
換言するに、上述したゼロランを示す符号において、（Ｎ−１）個の符号０が、処理対象ラインの未処理の組数（現在処理対象の組からライン最後の組までの組数）より多い場合、ゼロランがラインの最後まで続くことが明らかである。
【０１１５】
そこで、図６の例のように、ゼロランが最後まで続く場合、（０連長Ｍの２進表現−１）の桁数個の符号０の後に、符号１を並べたものが、このゼロランを示す符号として出力され、その時点でこのラインについての符号化が終了される。
【０１１６】
例えば、エントロピ符号化部２３は、ラインの最後まで続く各０連長に対して、図７に示されるような表（テーブル情報）を予め記憶しておく。エントロピ符号化部２３は、ゼロランの長さ（０連長）Ｍを求め、このゼロランがラインの最後まで続くことが判明すると、図７のテーブル情報を用いて、そのＭに対応する符号を選択し、その符号を出力する。
【０１１７】
このようにすることにより、図４の例の場合に比べて、ゼロランを示す符号の符号量を低減させることができる。また、その後の、最大有効桁数Ｂを示す符号も省略することができる。したがって、エントロピ符号化部２３は、符号化効率をさらに向上させることができる。
【０１１８】
なお、このようなゼロランを示す符号において、ゼロランがラインの最後まで続くことは、符号０の数により明らかとなる。したがって、ゼロランを示す符号において、例えば、図８の例に示されるように、（０連長Ｍの２進表現−１）の桁数個の符号０の後に続く符号１が省略されるようにしてもよい。
【０１１９】
例えば、エントロピ符号化部２３は、ラインの最後まで続く各０連長に対して、図９に示されるような表（テーブル情報）を予め記憶しておく。エントロピ符号化部２３は、ゼロランの長さ（０連長）Ｍを求め、このゼロランがラインの最後まで続くことが判明すると、図９のテーブル情報を用いて、そのＭに対応する符号を選択し、その符号を出力する。
【０１２０】
このようにすることにより、図６の例の場合に比べて、ゼロランを示す符号の符号量を低減させることができる。したがって、エントロピ符号化部２３は、符号化効率をさらに向上させることができる。
【０１２１】
［非パイプライン処理］
ところで、以上のような符号化・復号方法の場合、Ｗ個の量子化係数を１組とし、各組の、最大有効桁数の符号化、絶対値の符号化、および、正負を示す符号（サイン）の符号化が、図１０に示される例のように、順次行われていた。
【０１２２】
図１０は、符号化処理または復号処理の各処理要素のタイミングチャートである。図１０において、時刻の矢印は、時系列を示す。また、ｔ０乃至ｔ７は、時刻を示す。さらに、各四角は、符号化処理の処理要素を示す。
【０１２３】
また、Bi（以下、B(i)とも称する）は、Ｗ個の量子化係数を１組とするときの、処理対象ラインの先頭から（ｉ＋１）番目の（（ｉ＋１）番目に処理される）組の最大有効桁数の符号化処理または復号処理を示す。なお、変数ｉは、０以上の整数である。つまり、また、absi（以下、A(i)とも称する）は、Ｗ個の量子化係数を１組とするときの、処理対象ラインの左から（ｉ＋１）番目の（（ｉ＋１）番目に処理される）組の各量子化係数の絶対値の符号化処理または復号処理を示す。さらに、signi（以下、S(i)とも称する）は、Ｗ個の量子化係数を１組とするときの、処理対象ラインの左から（ｉ＋１）番目の（（ｉ＋１）番目に処理される）組の各量子化係数の符号（サイン）の符号化処理または復号処理を示す。
【０１２４】
さらに、図１０において、点線矢印は、符号化データにおける符号化処理の各処理要素の符号の並びの順序を示す。つまり、符号化処理の各処理要素の結果は、各組について、B(i)、A(i)、S(i)の順に並べられる。図１０の例の場合、符号は、B0、abs0、sign0、B1、abs1、sign1、B2、abs2、sign2、・・・の順に出力される。
【０１２５】
［非パイプライン処理のゼロランの処理］
つまり、各処理要素の符号は、以下のような順序に並ぶ（図１１Ａ）。
【０１２６】
... B(3) A(3) S(3) B(4) A(4) S(4) B(5) A(5) S(5) B(6) A(6) S(6) ...
【０１２７】
ここで、B(4)＝B(5)＝０とすると、A(4)、S(4)、A(5)、S(5)の符号が無くなる（長さ０の符号となる）。長さ０の符号を - で示すと以下の通りになる（図１１Ｂ）。
【０１２８】
... B(3) A(3) S(3) B(4)  -    -   B(5)  -    -   B(6) A(6) S(6) ...
【０１２９】
このB(4)、B(5)、B(6)の部分の符号化を、上述したゼロランのルールに沿って行うと、B(4)、B(5)、B(6)がまとめて、diff，minus，more*，enoughという符号に置き換えられた。つまり、B(4)、B(5)、B(6)は連続して並んでいるので、符号化の場合、０連長が確定する周期６（cycle6）において、上述したB(4)、B(5)、B(6)の符号（diff，minus，more*，enough）が出力された（図１１Ｃ）。
【０１３０】
これに対して、復号の場合、B(4)、B(5)、B(6)が始まる周期４（cycle4）において、B(4)、B(5)、B(6)の符号（diff，minus，more*，enough）が復号された（図１１Ｄ）。
【０１３１】
［非パイプライン処理の制約］
復号処理においては、取得した符号化データが順次復号される。つまり、復号処理の各処理要素は、この符号の並び順に行われる。そのため、復号処理の各処理要素を実行するために、以下のような制約が生じる。
【０１３２】
実行される処理→必要な情報
B(i+1)の頭出し→S(i)の頭、S(i)の長さ
B(i+1)の復号  →B(i)の復号結果
A(i+1)の頭出し→B(i+1)の頭、＜B(i+1)の長さ＞
A(i+1)の復号  →＜B(i+1)の復号結果＞
S(i+1)の頭出し→＜A(i+1)の頭＞、＜B(i+1)の復号結果＞
S(i+1)の復号  →＜A(i+1)復号結果＞
【０１３３】
つまり、絶対値の復号を行うために、符号化データから絶対値の符号化データを得る必要があるが、そのためには、最大有効桁数の符号化データの終端位置を明らかにする必要がある。そのため、絶対値の復号を行う前に、最大有効桁数の符号化データの先頭位置とその符号長を明らかにしなければならない。また、絶対値の符号化データは、最大有効桁数分の絶対値を用いて生成されるので、絶対値の復号には、最大有効桁数の情報が必要になる。
【０１３４】
また、サイン（正負の符号）の復号を行うために、符号化データからサインの符号化データを得る必要があるが、そのためには、絶対値の符号化データの終端位置を明らかにする必要がある。そのため、サインの復号を行う前に、絶対値の符号化データの先頭位置とその符号長を明らかにしなければならない。また、絶対値が０の場合、サインの符号化データは存在しないので、サインの復号には、各量子化係数の絶対値の情報が必要になる。
【０１３５】
しかしながら、時刻ｔ（ｉ＋１）からみて、１つ前のタイミング（時刻ｔｉ）で開始された処理B(i)、A(i)、S(i)の復号が終わった時点においては、上述した必要な情報の内、＜＞で囲れた情報が、まだ不明である。
【０１３６】
つまり、B(i)、A(i)、S(i)の復号が終わった時点で、
・B(i+1)の復号を開始する情報は揃っている
・A(i+1)の復号を開始するには、B(i+1)の復号が終わるのを待つ必要がある
・S(i+1)の復号を開始するには、A(i+1)の復号が終わるのを待つ必要がある
ということが分かる。
【０１３７】
つまり、復号処理においては、図１０の実線矢印に示されるような依存関係が生じる。したがって、Ｂ、ＡおよびＳの各処理要素は、逐次に処理する必要があり、並列処理化することが出来なかった。
【０１３８】
例えば、図１０において、abs2の処理を実行するためには、B2の処理結果が必要であるので、時刻ｔ２になり次第、B1,abs1、およびsign1（１つ前の時刻ｔ１に開始される処理）の処理結果を用いて処理を開始することができなかった。
【０１３９】
また、例えば、図１０において、sign3の処理を実行するためには、abs3の処理結果が必要であるので、時刻ｔ３になり次第、B2,abs2、およびsign2（１つ前の時刻ｔ２に開始される処理）の処理結果を用いて処理を開始することができなかった。
【０１４０】
［パイプライン処理１］
そこで、例えば、図１２に示されるように、１組に対する復号処理の、各処理要素（B(i)、A(i)、およびS(i)）が互いに異なるタイミング（時刻）に実行される（開始される）ようにする。つまり、復号処理の各処理要素（Ｂ、ＡおよびＳ）を、それぞれパイプライン処理のように実行する。つまり、復号処理の各処理要素（Ｂ、ＡおよびＳ）を並行して実行することができるようにする。
【０１４１】
図１２は、パイプライン処理を行う場合の各処理要素の実行タイミングを示すタイミングチャートの例を説明する図である。
【０１４２】
図１２の例の場合、絶対値の復号処理A(i)の実行タイミングを、最大有効桁数の復号処理B(i)の実行タイミングより１組分遅らせる。また、符号（サイン）の復号処理S(i)の実行タイミングを、最大有効桁数の復号処理Ｂ(i)の実行タイミングより２組分遅らせる。
【０１４３】
つまり、例えば、時刻ｔ（ｉ＋２）において、ｉ番目の組の符号（サイン）の復号処理S(i)、（ｉ＋１）番目の組の絶対値の復号処理A(i+1)、（ｉ＋２）番目の組の最大有効桁数の復号処理B(i+2)が実行され、その後、時刻ｔ（ｉ＋３）において、（ｉ＋１）番目の組の符号（サイン）の復号処理S(i+1)、（ｉ＋２）番目の組の絶対値の復号処理A(i+2)、（ｉ＋３）番目の組の最大有効桁数の復号処理B(i+3)が実行されるようにする。
【０１４４】
換言するに、符号化データにおいては、互いに同じ時刻に開始される各処理要素Ｂ、Ａ、およびＳの各符号化処理結果（符号化データ）が、Ｓ、Ａ、Ｂの順に並べられている。
【０１４５】
このようにすることにより、この場合の、復号処理の各処理要素の実行のための制約は、以下のようになる。
【０１４６】
実行される処理→必要な情報
S(i+1)の頭出し→B(i+2)の頭、B(i+2)の長さ
S(i+1)の復号  →A(i+1)の復号結果
A(i+2)の頭出し→S(i+1)の頭、A(i+1)の復号結果から計算できるS(i+1)の長さ
A(i+2)の復号  →B(i+2)の復号結果
B(i+3)の頭出し→A(i+2)の頭、B(i+2)の復号結果から導かれるA(i+2)の長さ
B(i+3)の復号  →B(i+2)の復号結果
【０１４７】
つまり、この場合、どの処理についても、１つ前の時刻において開始される処理が終了した時点で、必要な情報が全て揃う。したがって、処理対象の組の復号処理のどの処理要素も、現在時刻において開始することができる。
【０１４８】
つまり、復号処理における各処理要素の依存関係は、図１２の実線矢印に示されるような関係となる。したがって、１つの組に対するＢ、ＡおよびＳの各処理要素間の依存関係が解消されるので、これらを並列処理化することが出来る。したがって、復号処理のスループットを向上させることができる。
【０１４９】
なお、このように復号処理を行うために、符号化データにおいて、互いに同じ時刻に開始される各処理要素Ｂ、Ａ、およびＳの各符号化処理結果（符号化データ）が、Ｓ、Ａ、Ｂの順に並べられている。処理時間を増大させる並び替え処理等を行わずに、このような並びを実現させるためには、符号化処理も同様の手順で行えばよい。換言するに、符号化処理においてもこのような手順で符号化を行うことにより、復号処理の場合と同様に、符号化処理のスループットを向上させることができる。
【０１５０】
ハードウエアの場合、図１０の例のようにＢ、Ａ、およびＳを逐次処理する場合でも、各処理要素のために別々の回路を使っていた。そのため、回路規模を増大させずに、上述したような高速化のための並列処理を実現することができる。
【０１５１】
また、ソフトウエアの場合、Ｂの処理をはじめてから、Ｂに関連する結果が揃うまでの時間、Ａの処理をはじめてから、Ａに関連する結果が揃うまでの時間などにあるCPUのパイプライン処理（pipeline）の空きを有効利用することが出来る。
【０１５２】
［パイプライン処理１のゼロランの処理］
このように処理を導入した場合、各処理要素の符号は、以下のように並んでいた（図１３Ａ）。
【０１５３】
... S(2) A(3) B(4) S(3) A(4) B(5) S(4) A(5) B(6) S(5) A(6) B(7) ...
【０１５４】
B(4)＝B(5)＝０とすると、A(4)、S(4)、A(5)、S(5)の符号は無くなる（長さ０の符号となる）。長さ０の符号を - で示すと以下の通りになる（図１３Ｂ）。
【０１５５】
... S(2) A(3) B(4) S(3)  -   B(5)  -    -   B(6)  -   A(6) B(7) ...
【０１５６】
このB(4)、B(5)、B(6)の部分の符号化を、上述したゼロランのルールに沿って行うと、この場合、(4)とB(5)の間にS(3)が存在するので、B(4)、B(5)、B(6)をまとめて、diff，minus，more*，enoughという符号に置き換えることが困難になった。
【０１５７】
例えば、符号化の場合、B(6)でBが0でないことが分かってから０連長が決定するので、B(6)のタイミングでないと、ゼロランを示す符号が確定しない。そのため、ゼロランを示す符号の位置がS(3)よりも後になってしまう（図１３Ｃ）。
【０１５８】
これに対して、復号の場合、S(3)よりも前であるB(4)のタイミングでＢの値を復号しないと、A(4)をどう扱うべきかが明らかにならない。そのため、ゼロランを示す符号がS(3)よりも前に必要であった（図１３Ｄ）。このように、符号化の都合にあわせると順次復号を行うことが困難になる恐れがあった。
【０１５９】
［パイプライン処理２］
なお、パイプライン処理（pipeline）の形は他にも可能である。図１４は、パイプライン処理を行う場合のタイミングチャートの、他の例を説明する図である。
【０１６０】
例えば、図１４に示されるように、符号化データにおいて、互いに同じ時刻に開始される各処理要素の符号Ｂ、Ａ、およびＳが、Ｂ、Ａ、Ｓの順に並べられるようにしてもよい。符号化データがこのような並びであっても、各処理要素B(i+3)、A(i+2)、S(i+1)の実行に必要な情報は、図１２の場合と同様に、時刻t（ｉ＋３）において揃っている。したがって、時刻t（ｉ＋３）において、各処理要素B(i+3)、A(i+2)、S(i+1)を並列に実行することができる。つまり、図１２の場合と同様に、符号化処理や復号処理のスループットを向上させることができる。
【０１６１】
［パイプライン処理２のゼロランの処理］
このように処理を導入した場合、各処理要素の符号は、以下のように並んでいた。
【０１６２】
... B(4) A(3) S(2) B(5) A(4) S(3) B(6) A(5) S(4) B(7) A(6) S(5) B(8) A(7) S(6) ...
【０１６３】
B(4)＝B(5)＝０とすると、A(4)、S(4)、A(5)、S(5)の符号が無くなる（長さ０の符号となる）。長さ０の符号を - で示すと以下の通りになる。
【０１６４】
... B(4) A(3) S(2) B(5)  -   S(3) B(6)  -    -   B(7) A(6)  -   B(8) A(7) S(6) ...
【０１６５】
このB(4)、B(5)、B(6)の部分の符号化を、上述したゼロランのルールに沿って行うと、この場合、(4)とB(5)の間にS(3)とS(2)が存在するので、B(4)、B(5)、B(6)をまとめて、diff，minus，more*，enoughという符号に置き換えることが困難になった。
【０１６６】
例えば、符号化の場合、B(6)でBが0でないことが分かってから０連長が決定するので、B(6)のタイミングでないと、ゼロランを示す符号が確定しない。そのため、ゼロランを示す符号の位置がS(3)やS(2)よりも後になってしまう。
【０１６７】
これに対して、復号の場合、S(3)よりも前であるB(4)のタイミングでＢの値を復号しないと、A(4)をどう扱うべきかが明らかにならない。そのため、ゼロランを示す符号がS(3)よりも前に必要であった。このように、この場合も、符号化の都合にあわせると順次復号を行うことが困難になる恐れがあった。
【０１６８】
［パイプライン処理に対応したゼロラン処理］
そこで、図１５Ａに示される例のように、B(4)、B(5)、B(6)の符号を分割してS(3)の前後に並べるようにする。すなわち、diff、minus、並びにmore*をS(3)の前に並べ（配置し）、０連長符号、並びに、more*、および、enoughをS(3)の後に並べる（配置する）。
【０１６９】
このようにすることにより、符号化の場合、図１５Ｂに示される例のように、周期４（cycle4）において、B(4)を符号化し、周期５（cycle5）において、S(3)を符号化し、周期６（cycle6）において、B(5)、B(6)を符号化することができる。すなわち、問題なく符号化を行うことができる。
【０１７０】
また、復号の場合、図１５Ｃに示される例のように、周期４（cycle4）において、B(4)を復号し、周期５（cycle5）において、S(3)、B(5)、B(6)をそれぞれ復号することができる。すなわち、問題なく符号化を行うことができる。
【０１７１】
なお、０連長符号、並びに、more*、および、enoughを復号する周期（cycle）は、その他の処理要素の復号との順序を維持していればよい。例えば、図１５の例の場合、図１５Ｄに示されるように、０連長符号、並びに、more*、および、enoughの復号を、周期５（cycle5）において行うようにしても良いし、周期６（cycle6）において行うようにしても良い。また、図１５Ｄに示されるように、０連長符号の復号を周期５（cycle5）において行い、more*、および、enoughの復号を周期６（cycle6）において行う等、複数の周期に分けてこれらの復号を行うようにしても良い。
【０１７２】
［エントロピ符号化部］
以上のように、ゼロランをまとめて符号化するとともに、各処理要素を並列に処理する符号化処理を行う処理部について具体的に説明する。図１６は、エントロピ符号化部２３の主な構成例を示すブロック図である。
【０１７３】
図１６に示されるように、エントロピ符号化部２３は、ライン判定部６１、VLC（Variable Length Coding）符号化部６２、最大有効桁数計算部６３、VLC符号化部６４、有効桁抽出部６５、VLC符号化部６６、サイン抽出部６７、VLC符号化部６８、および符号連結部６９を有する。
【０１７４】
さらに、エントロピ符号化部２３は、遅延部７１乃至遅延７５を有する。
【０１７５】
量子化部２２（図１）から出力された量子化係数は、ライン判定部６１および最大有効桁数計算部６３に供給（入力）される。また、量子化部２２から出力された量子化係数は、遅延部７１を介して有効桁抽出部６５にも供給される。さらに、量子化部２２から出力された量子化係数は、遅延部７３および遅延部７４を介して、サイン抽出部６７にも供給される。
【０１７６】
遅延部７１乃至遅延部７５は、例えば、フリップフロップ（FF）等により構成され、情報の供給を１組分遅延させる。つまり、遅延部７１乃至遅延部７５は、供給される情報を保持し、次の組の処理タイミングにおいて、その保持している情報を後段の処理部に供給する。例えば、遅延部７１乃至遅延部７５は、時刻ｔｉに行われた処理の結果として供給される情報を、一時的に保持し、時刻ｔ（ｉ＋１）において、後段の処理部に供給する。つまり、その後段の処理部においては、遅延部７１乃至遅延部７５から供給された情報を、時刻ｔ（ｉ＋１）に行う処理に利用する。
【０１７７】
より具体的には、遅延部７１は、量子化部２２から出力された量子化係数や、最大有効桁数計算部６３から供給される最大有効桁数の計算結果を、次の組の処理タイミングにおいて、有効桁抽出部６５に供給する。また、遅延部７２は、最大有効桁数計算部６３から供給される最大有効桁数の計算結果を、次の組の処理タイミングにおいて、有効桁抽出部６５に供給する。
【０１７８】
遅延部７３は、量子化部２２から出力された量子化係数や、最大有効桁数計算部６３から供給される最大有効桁数の計算結果を、次の組の処理タイミングにおいて、遅延部７４に供給する。遅延部７４は、遅延部７３から供給されるこれらの情報を、次の組の処理タイミングにおいて、サイン抽出部６７に供給する。
【０１７９】
また、遅延部７５は、有効桁抽出部６５から供給される量子化係数の有効桁（のデータ）を、次の組の処理タイミングにおいて、サイン抽出部６７に供給する。
【０１８０】
ライン判定部６１は、量子化部２２から入力された、これから符号化する１つのラインの量子化係数が全て０であるか否かを判定し、その判定の結果を示す情報をVLC符号化部６２に供給する。つまり、ライン判定部６１は、量子化係数の入力タイミングにおいて、処理を行う。
【０１８１】
VLC符号化部６２は、ライン判定部６１からの判定の結果を示す情報に基づいて、符号化するラインの量子化係数が全て０であるか否かを示す符号を符号連結部６９に出力する。つまり、VLC符号化部６２は、量子化係数の入力タイミングにおいて、処理を行う。
【０１８２】
最大有効桁数計算部６３は、量子化部２２から入力された、連続するＷ個の量子化係数の最大有効桁数を計算し、その計算の結果を示す情報をVLC符号化部６４に供給する。つまり、最大有効桁数計算部６３は、量子化係数の入力タイミングにおいて、処理を行う。なお、最大有効桁数計算部６３は、最大有効桁数の計算結果を示す情報を、遅延部７１および遅延部７２を介して、有効桁抽出部６５にも供給する。
【０１８３】
VLC符号化部６４は、最大有効桁数計算部６３からの計算の結果を示す情報に基づいて、Ｗ個の量子化係数の最大有効桁数を示す符号を符号連結部６９に供給する。また、VLC符号化部６４は、ゼロランが存在する場合、最大有効桁数計算部６３からの計算の結果を示す情報に基づいて、ゼロランを示す符号を符号連結部６９に供給する。つまり、VLC符号化部６４は、量子化係数の入力タイミングにおいて、処理を行う。
【０１８４】
有効桁抽出部６５は、遅延部７１および遅延部７２を介して最大有効桁数計算部６３から供給された最大有効桁数の計算結果を示す情報に基づいて、遅延部７１を介して量子化部２２から供給されたＷ個の量子化係数の有効桁を抽出し、抽出した量子化係数の有効桁（のデータ）をVLC符号化部６６に供給する。つまり、有効桁抽出部６５は、量子化係数の入力タイミングから１組分遅延して、処理を行う。なお、有効桁抽出部６５は、抽出した量子化係数の有効桁（のデータ）を、遅延部７５を介して、サイン抽出部６７にも供給する。
【０１８５】
VLC符号化部６６は、有効桁抽出部６５からの量子化係数の有効桁に基づいて、これらの量子化係数の絶対値を符号化し、これにより得られた量子化係数の絶対値を示す符号を符号連結部６９に供給する。つまり、VLC符号化部６６は、量子化係数の入力タイミングから１組分遅延して、処理を行う。
【０１８６】
サイン抽出部６７は、遅延部７５を介して有効桁抽出部６５から供給された量子化係数の有効桁に基づいて、遅延部７３および遅延部７４を介して量子化部２２から供給された量子化係数のサインを抽出して、抽出したサイン（のデータ）をVLC符号化部６８に供給する。つまり、サイン抽出部６７は、量子化係数の入力タイミングから２組分遅延して、処理を行う。
【０１８７】
VLC符号化部６８は、サイン抽出部６７からのサイン（のデータ）を符号化し、これにより得られる量子化係数のサインを示す符号を符号連結部６９に供給する。つまり、VLC符号化部６８は、量子化係数の入力タイミングから２組分遅延して、処理を行う。
【０１８８】
符号連結部６９は、VLC符号化部６２、VLC符号化部６４、VLC符号化部６６、およびVLC符号化部６８のそれぞれから供給された、ラインの量子化係数が全て０であるか否かを示す符号、最大有効桁数を示す符号、量子化係数の絶対値を示す符号、並びに、量子化係数のサインを示す符号のそれぞれを連結し、符号化された画像（データ）として出力する。
【０１８９】
［VLC符号化部］
図１７は、VLC符号化部６４の主な構成例を示すブロック図である。
【０１９０】
図１７に示されるように、VLC符号化部６４は、最大有効桁数変化符号化部８１、最大有効桁数変化量符号化部８２、および０連長符号化部８３を有する。
【０１９１】
最大有効桁数変化符号化部８１は、最大有効桁数Ｂが、前の組から変化するか否かを検出し、その変化の有無を示す符号を、最大有効桁数を示す符号として、符号連結部６９に供給する。
【０１９２】
最大有効桁数変化量符号化部８２は、最大有効桁数Ｂが、前の組からの変化する場合、その変化量を求め、その変化量を示す符号を、最大有効桁数を示す符号として、符号連結部６９に供給する。
【０１９３】
０連長符号化部８３は、ゼロランが存在する場合、そのゼロランの長さ（０連長）を求め、そのゼロランの長さ（０連長）を示す符号を、ゼロランを示す符号として、符号連結部６９に供給する。
【０１９４】
なお、最大有効桁数変化符号化部８１および最大有効桁数変化量符号化部８２は、ゼロラン先頭の組の最大有効桁数Ｂの符号化を行う周期（cycle）において、最大有効桁数Ｂ≠０から最大有効桁数Ｂ＝０への変化を示す符号（diff,minus,more*）を出力する。
【０１９５】
その後、０連長符号化部８３は、ゼロランの長さ（０連長）を計測し、ゼロラン終端の次の組（最大有効桁数Ｂ≠０となる組）の最大有効桁数Ｂの符号化を行う周期（cycle）において、０連長符号（ゼロランの長さを示す符号）を出力する。
【０１９６】
また、その０連長符号と同周期（cycle）において、最大有効桁数変化符号化部８１および最大有効桁数変化量符号化部８２は、最大有効桁数Ｂ＝０から最大有効桁数Ｂ≠０への変化を示す符号（more*，enough）を出力する。
【０１９７】
［パイプライン処理に対応したゼロラン処理］
つまり、新たにＢが０になるとき、そのタイミングでdiff, minus, more*の符号によりＢが０になることを符号化する。（※１）
【０１９８】
０連長が確定した時点で、ゼロラン符号により０連長を符号化し、ライン最後まで０ではない場合、続けてmore*, enoughの符号により、次の０でないＢの値を符号化する。（※2）
【０１９９】
符号化する係数情報を見て確定した値を符号化しているので、この符号化は可能である。また、図１３を参照して説明した場合の、S(3)は、（※1）と同じタイミングで符号化され、（※1）の後ろに連接される。そのため、（※1）の符号と（※2）の符号の間にS(3)が置かれることになる。これにより、復号も可能になる。
【０２００】
［符号化処理の流れ］
次に、以上のような画像符号化装置１１の各部が実行する処理の具体的な流れについて説明する。
【０２０１】
最初に、図１８のフローチャートを参照して、画像符号化装置１１（図１）による、符号化処理の流れの例を説明する。この符号化処理は、ウェーブレット変換部２１に、符号化する画像（データ）が入力されると開始される。
【０２０２】
ステップＳ１１において、ウェーブレット変換部２１は、入力された画像にウェーブレット変換を施して、入力された画像を複数のサブバンドに分解し、各サブバンドのウェーブレット係数を量子化部２２に供給する。
【０２０３】
ステップＳ１２において、量子化部２２は、ウェーブレット変換部２１から供給されたウェーブレット係数を量子化し、その結果得られた量子化係数をエントロピ符号化部２３に供給する。これにより、エントロピ符号化部２３には、例えば、図３を参照して説明したビットプレーン表現された、サブバンドの各位置の量子化係数が入力される。
【０２０４】
ステップＳ１３において、エントロピ符号化部２３は、エントロピ符号化処理を行い、符号化処理を終了する。なお、エントロピ符号化処理の詳細は後述するが、エントロピ符号化部２３は、エントロピ符号化処理において、図３を参照して説明したように、量子化部２２から供給された量子化係数を所定の数（Ｗ個）ずつ符号化し、符号化するラインの量子化係数が全て０であるか否かを示す符号、量子化係数の最大有効桁数を示す符号、ゼロランを示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を、符号化された画像（符号化データ）として出力する。
【０２０５】
その際、エントロピ符号化部２３は、エントロピ符号化処理の各処理要素を、図１５を参照して説明したようなタイミングで、互いに並列に実行する。これによりエントロピ符号化部２３は、エントロピ符号化処理のスループットを向上させることができる。また、符号化するラインに値が０の量子化係数が連続するゼロランをまとめて符号化することができるので、エントロピ符号化部２３は、符号化効率を向上させることができる。
【０２０６】
このようにして、画像符号化装置１１は、入力された画像を符号化して出力する。
【０２０７】
［エントロピ符号化処理の流れ］
次に、図１９のフローチャートを参照して、図１８のステップＳ１３の処理に対応するエントロピ符号化処理について説明する。
【０２０８】
図１８のステップＳ１２において、量子化部２２から出力された量子化係数は、エントロピ符号化部２３のライン判定部６１、最大有効桁数計算部６３、（遅延部７１を介して）有効桁抽出部６５、および（遅延部７３および遅延部７４を介して）サイン抽出部６７に供給（入力）される。
【０２０９】
ステップＳ４１において、ライン判定部６１は、これから符号化するサブバンドのラインを示す変数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符号化部６２は、ライン判定部６１からの量子化係数が全て０でない旨の情報に基づいて、符号化するラインの量子化係数が全て０でないことを示す符号１を符号連結部６９に出力（供給）する。符号連結部６９は、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）のそれぞれの量子化係数を符号化する。
【０２２５】
Ｗ個組符号化処理が終了すると、エントロピ符号化部２３は、処理をステップＳ４６に戻し、それ以降の処理を実行させる。
【０２２６】
このようにして、エントロピ符号化部２３は、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に符号化する。
【０２２７】
このように、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に符号化することによって、入力された量子化係数を入力された順番に処理することができ、量子化係数の符号化により生じる遅延をより少なくすることができる。
【０２２８】
［Ｗ個組符号化処理の流れ］
次に、図２０のフローチャートを参照して、図１９のステップＳ４９の処理に対応するＷ個組符号化処理について説明する。
【０２２９】
Ｗ個組符号化処理が開始されると、エントロピ符号化部２３は、ステップＳ６１において、ｉ，Ｂ、およびmax等の各種変数を初期化する。例えば、エントロピ符号化部２３は、変数ｉとＢの値をそれぞれ０に設定し（ｉ＝０，Ｂ＝０）、変数maxの値を、処理対象である当該ライン上の係数Ｗ個組の数とする（max＝係数Ｗ個組の数）。
【０２３０】
ステップＳ６２において、サイン抽出部６７およびVLC符号化部６８は、（ｉ−１）番目の係数Ｗ個組が存在する場合、その各係数について、絶対値が０でない各量子化係数のサインを示す符号を並べたものを、当該組のサインを示す符号として生成し、符号連結部６９に出力（供給）する。符号連結部６９は、VLC符号化部６８から供給された符号を、ラインyの（ｉ−１）番目の組の絶対値を示す符号として、そのまま出力する。なお、（ｉ−１）番目の係数Ｗ個組が存在しない場合、この処理は省略（スキップされる）。
【０２３１】
ステップＳ６３において、有効桁抽出部６５およびVLC符号化部６６は、ｉ番目の係数Ｗ個組が存在する場合、その各係数について、前回のステップＳ６４の処理により求められた最大有効桁数Ｂビット分の絶対値を抽出し、それらを並べたものを、当該組の絶対値を示す符号として生成し、符号連結部６９に出力（供給）する。符号連結部６９は、VLC符号化部６６から供給された符号を、ラインyのｉ番目の組の絶対値を示す符号として、そのまま出力する。なお、ｉ番目の係数Ｗ個組が存在しない場合、この処理は省略（スキップされる）。
【０２３２】
ステップＳ６４において、最大有効桁数計算部６３およびVLC符号化部６４は、最大有効桁数処理を行い、最大有効桁数を示す符号を生成し、それを符号連結部６９に出力（供給）する。符号連結部６９は、VLC符号化部６４から供給された符号を、ラインyの（ｉ＋１）番目の組の最大有効桁数を示す符号として、そのまま出力する。
【０２３３】
ステップＳ６４の処理が終了すると、最大有効桁数計算部６３およびVLC符号化部６４は、処理をステップＳ６５に進める。
【０２３４】
ステップＳ６５において、エントロピ符号化部２３は、変数ｉ≦（max＋１）であるか否かを判定する。すなわち、エントロピ符号化部２３は、処理対象のラインの全ての量子化係数の組を処理したか否かを判定する。
【０２３５】
変数ｉ≦（max＋１）であり、処理対象のライン上に未処理の組が存在すると判定された場合、エントロピ符号化部２３は、処理をステップＳ６６に進める。
【０２３６】
ステップＳ６６において、エントロピ符号化部２３は、変数ｉをインクリメント（変数ｉ＝ｉ＋１）し、処理をステップＳ６２に戻す。
【０２３７】
つまり、ステップＳ６２の処理は、図１６の遅延部７３および遅延部７４により、ステップＳ６４の処理に比べて、２周期（2cycle）分遅延されている。したがって、ステップＳ６２においては、ステップＳ６４の２組前の処理対象の組が処理対象とされる。
【０２３８】
また、ステップＳ６３の処理は、図１６の遅延部７１により、ステップＳ６４の処理に比べて、１周期（1cycle）分遅延されている。したがって、ステップＳ６３においては、ステップＳ６４の１組前の処理対象の組が処理対象とされる。
【０２３９】
変数ｉは、０以上の整数である。したがって、例えば、ｉ＝０の場合、ステップＳ６４の処理のみが行われる。また、例えば、ｉ＝１の場合、ステップＳ６３およびステップＳ６４の処理が行われる。２≦ｉ＜maxの場合、ステップＳ６２乃至ステップＳ６４の処理が行われる。ｉ＝maxの場合、ステップＳ６２およびステップＳ６３の処理が行われる。ｉ＝max＋１の場合、ステップＳ６２の処理のみが行われる。
【０２４０】
そして、ステップＳ６５において、ｉ＞（max＋１）であると判定した場合、エントロピ符号化部２３は、処理をステップＳ６７に進める。
【０２４１】
ステップＳ６７において、VLC符号化部６４は、ステップＳ６４の最大有効桁数処理において計測したゼロランの長さ（０連長）を示す変数countが０でない場合、ライン終端に達するゼロランを示す符号として、（count−１）の桁数個の符号０を生成し、それを符号連結部６９に出力（供給）する。符号連結部６９は、VLC符号化部６４から供給された符号を、ラインyのライン終端に達するゼロランを示す符号として、そのまま出力する。
【０２４２】
なお、変数countの値が０である場合、この処理は省略（スキップ）される。
【０２４３】
ステップＳ６７の処理が終了すると、VLC符号化部６４は、Ｗ個組符号化処理を終了し、処理を図１９に戻す。
【０２４４】
［最大有効桁数処理の流れ］
次に、図２１および図２２のフローチャートを参照して、図２０のステップＳ６４において実行される最大有効桁数処理の流れの例を説明する。
【０２４５】
最大有効桁数処理が開始されると、ステップＳ７１において、最大有効桁数計算部６３は、（ｉ＋１）番目の係数Ｗ個組のうち、絶対値が最も大きい量子化係数の有効桁数を、これから符号化するＷ個の量子化係数の最大有効桁数を示す変数Bnewの値として、この変数Bnewを記憶する。
【０２４６】
また、最大有効桁数計算部６３は、求められたＷ個の量子化係数の最大有効桁数、すなわち、変数Bnewの値をVLC符号化部６４に供給する。また、最大有効桁数計算部６３は、その変数Bnewの値を、遅延部７１若しくは遅延部７２を介して、有効桁抽出部６５に供給する。
【０２４７】
例えば、Ｗ個の連続する位置の量子化係数のそれぞれが、図３に示した量子化係数“-0101”、“+0011”、“-0110”、および“+0010”である場合、これらの量子化係数のうち、絶対値が最大の量子化係数は“-0110”であり、その有効桁数は“-0110”の最上位にある１の桁である“３”であるので、変数Bnewの値は３とされる。
【０２４８】
ステップＳ７２において、VLC符号化部６４は、ステップＳ７１の処理結果に基づいて、（ｉ＋１）番目の係数Ｗ個組が存在するか否かを判定する。存在しないと判定した場合、VLC符号化部６４は、最大有効桁数処理を終了し、処理を図２０に戻す。例えば、ｉ≧maxの場合、（ｉ＋１）番目の係数Ｗ個組は、存在しない。このような場合、ステップＳ７３乃至ステップＳ８２の処理は省略（スキップ）される。
【０２４９】
（ｉ＋１）番目の係数Ｗ個組が存在すると判定した場合、VLC符号化部６４は、処理をステップＳ７３に進める。
【０２５０】
ステップＳ７３において、０連長符号化部８３は、変数count＝０であるか否かを判定する。ゼロラン中でなく、count＝０であると判定した場合、０連長符号化部８３は、処理をステップＳ７４に進める。
【０２５１】
ステップＳ７４において、最大有効桁数変化符号化部８１は、Bnew＝Ｂであるか否かを判定する。すなわち、最大有効桁数変化符号化部８１は、記憶している、前回符号化されたＷ個の量子化係数の最大有効桁数を示す変数Ｂの値が、最大有効桁数計算部６３から供給された、これから符号化するＷ個の量子化係数の最大有効桁数を示す変数Bnewの値と同じであるか否かを判定する。
【０２５２】
Bnew＝Ｂであると判定した場合、最大有効桁数変化符号化部８１は、処理をステップＳ７５に進め、これから符号化するＷ個の量子化係数の最大有効桁数を示す符号として、最大有効桁数が変化していないことを示す符号０を符号連結部６９に出力する。そして、最大有効桁数を示す符号０を出力すると、最大有効桁数変化符号化部８１は、ステップＳ７６乃至ステップＳ８０の各処理を省略（スキップ）し、ステップＳ８１に処理を進める。
【０２５３】
これに対して、ステップＳ７４において、Bnew＝Ｂでないと判定した場合、最大有効桁数変化符号化部８１は、処理をステップＳ７６に進め、（最大有効桁数が変化したので、）最大有効桁数が変化したことを示す符号１を符号連結部６９に出力する。
【０２５４】
ステップＳ７７において、最大有効桁数変化符号化部８１は、Bnew＞Ｂであるか否かを判定する。
【０２５５】
処理対象の量子化係数の組（今の組）の最大有効桁数Bnewが、前回処理対象であった量子化係数の組（前の組）の最大有効桁数Ｂよりも大きい（最大有効桁数が増加した）と判定した場合、最大有効桁数変化符号化部８１は、処理をステップＳ７８に進める。
【０２５６】
ステップＳ７８において、最大有効桁数変化符号化部８１は、最大有効桁数が増加したことを示す符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。続いて、最大有効桁数変化量符号化部８２は、最大有効桁数の変化量（増分）を示す（Bnew-B-1）個の符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。そして、最大有効桁数変化量符号化部８２は、処理をステップＳ８０に進める。
【０２５７】
また、ステップＳ７７において、今の組の最大有効桁数Bnewが、前の組の最大有効桁数Ｂよりも小さい（最大有効桁数が減少した）と判定した場合、最大有効桁数変化符号化部８１は、処理をステップＳ７９に進める。
【０２５８】
ステップＳ７９において、最大有効桁数変化符号化部８１は、最大有効桁数が減少したことを示す符号１を、最大有効桁数を示す符号として、符号連結部６９に出力する。続いて、最大有効桁数変化量符号化部８２は、最大有効桁数の変化量（減分）を示す（B-Bnew-1）個の符号０を、最大有効桁数を示す符号として、符号連結部６９に出力する。そして、最大有効桁数変化量符号化部８２は、処理をステップＳ８０に進める。
【０２５９】
ステップＳ８０において、最大有効桁数変化量符号化部８２は、今の組の最大有効桁数Bnewが０でない場合、変動の終端（enough）を示す符号１を、符号連結部６９に出力する。つまり、ここでは、今の組の最大有効桁数Bnewが０である場合、この符号１の出力が省略（スキップ）されるものとしている。この変動の終端（enough）を示す符号１の出力を省略しない場合、最大有効桁数変化量符号化部８２は、最大有効桁数Ｂの変化量（減分）を示す（B-Bnew-1）個の符号０に続けて、その変動の終端（enough）を示す符号１を符号連結部６９に出力すればよい。
【０２６０】
そして、最大有効桁数変化量符号化部８２は、処理をステップＳ８１に進める。
【０２６１】
ステップＳ８１において、０連長符号化部８３は、Bnewが０の場合、すなわち、ゼロランが開始された場合、変数countの値を０から１に変更する。そして、０連長符号化部８３は、処理をステップＳ８２に進める。
【０２６２】
ステップＳ８２において、最大有効桁数計算部６３は、変数Ｂに変数Bnewの値をセットする（Ｂ＝Bnewとする）。
【０２６３】
ステップＳ８２の処理が終了すると、最大有効桁数計算部６３は、最大有効桁数処理を終了し、処理を図２０に戻す。
【０２６４】
また、図２１のステップＳ７３において、ゼロラン中であり、count＝０でないと判定した場合、０連長符号化部８３は、処理を図２２のステップＳ９１に進める。
【０２６５】
図２２のステップＳ９１において、０連長符号化部８３は、Bnew＝０であるか否かを判定する。Bnew＝０であり、今の組でもゼロランが終了しないと判定された場合、０連長符号化部８３は、処理をステップＳ９２に進める。
【０２６６】
ステップＳ９２において、０連長符号化部８３は、ゼロランの組数のカウント値である変数countをインクリメント（変数count＝count＋１）し、処理を図２１のステップＳ８２に戻し、それ以降の処理を実行させる。
【０２６７】
また、図２２のステップＳ９１において、Bnew＝０でなく、今の組でもゼロランが終了すると判定された場合、０連長符号化部８３は、処理をステップＳ９３に進める。
【０２６８】
ステップＳ９３において、０連長符号化部８３は、例えば図５のテーブルの一番右の列に示されるような、（変数countの桁数−１）個の符号０に、変数countの２進表現を続けたものを、ゼロランを示す符号として符号連結部６９に出力する。
【０２６９】
ステップＳ９４において、最大有効桁数変化量符号化部８２は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０を符号連結部６９に出力する。なお、ここでは、変動の終端（enough）を示す符号１の出力は省略（スキップ）されている。この変動の終端（enough）を示す符号１の出力を省略しない場合、最大有効桁数変化量符号化部８２は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０に続けて、その変動の終端（enough）を示す符号１を符号連結部６９に出力すればよい。
【０２７０】
ステップＳ９５において、０連長符号化部８３は、変数countの値を０とする。ステップＳ９５の処理が終了すると、０連長符号化部８３は、処理を図２１のステップＳ８２に戻し、それ以降の処理を実行させる。
【０２７１】
このようにして、エントロピ符号化部２３は、サブバンドの量子化係数を、予め定められた所定の数ずつまとめて符号化し、量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を出力する。
【０２７２】
このようにすることで、例えば、JPEG2000方式により画像を符号化する場合とは異なり、複数のコーディングパスに基づいて、ビットプレーンごとに複数の処理を行う必要がなく、また、可変長符号化を行うので、符号化の処理量を大幅に低減することができる。これにより、画像符号化装置１１は、より容易に画像の符号化を行うことができ、高解像度の画像をリアルタイムで符号化するための符号化装置を安価で実現することができる。
【０２７３】
さらに、画像符号化装置１１は、符号の長さを明示的に符号化する必要がないため、符号量を少なくすることができ、符号の長さの情報を管理する必要もない。
【０２７４】
また、上述したように、連続する、値が０の量子化係数のみにより構成される組を、まとめてゼロランとして符号化するので、画像符号化装置１１は、さらに、０が多い係数データの符号化の符号化効率を向上させることができる。
【０２７５】
さらに、そのゼロランの符号化を行いながら、１つの組に対する符号化処理の各処理要素を、互いに異なるタイミングで実行させるようにすることにより、画像符号化装置１１は、符号化効率を向上させながら、符号化処理のスループットの向上を実現することができる。その結果、画像符号化装置１１は、より高速に符号化処理を行うことができる。
【０２７６】
なお、以上においては、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数を、最大有効桁数を示す変数Bnewの値とすると説明したが、変数Bnewの値は、Ｗ個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数以上の値であればよい。変数Bnewの値が大きくなると、量子化係数の絶対値を示す符号の符号量が多くなるが、変数Bnewの値を、絶対値の最も大きい量子化係数の有効桁数以上の値とすることで、量子化係数の最大有効桁数を示す符号の符号量を少なくすることができる。
【０２７７】
なお、符号化処理の各処理要素の符号化データを、図１４の例のように並べる場合、図２０のフローチャートにおいて、ステップＳ６２乃至ステップＳ６４の各処理の実行順を、ステップＳ６４、ステップＳ６３、ステップＳ６２の順に入れ替えればよい。
【０２７８】
＜２．第２の実施の形態＞
［画像復号装置］
図２３は、画像復号装置の主な構成例を示すブロック図である。図２３に示される画像復号装置１１１は、画像符号化装置１１に対応する画像処理装置である。すなわち、画像復号装置１１１は、画像符号化装置１１に入力される画像データを符号化して出力した符号化データを、画像符号化装置１１の符号化処理に対応する方法で復号し、復号画像データを出力する。
【０２７９】
図２３に示されるように、画像復号装置１１１は、エントロピ復号部１２１、逆量子化部１２２、およびウェーブレット逆変換部１２３を有する。
【０２８０】
エントロピ復号部１２１には、符号化された画像（データ）が入力される。エントロピ復号部１２１は、入力された符号化された画像としての符号をエントロピ復号し、これにより得られた量子化係数を逆量子化部１２２に供給する。
【０２８１】
逆量子化部１２２は、エントロピ復号部１２１から供給された量子化係数を逆量子化し、逆量子化により得られた各サブバンドのウェーブレット係数をウェーブレット逆変換部１２３に供給する。
【０２８２】
ウェーブレット逆変換部１２３は、逆量子化部１２２から供給された、各サブバンドのウェーブレット係数にウェーブレット逆変換を施し、その結果得られた画像を、復号された画像として出力する。
【０２８３】
［エントロピ復号部］
図２４は、エントロピ復号部１２１の主な構成例を示すブロック図である。
【０２８４】
図２４に示されるように、エントロピ復号部１２１は、符号分割部１５１、ライン判定部１５２、発生部１５３、VLC復号部１５４、VLC復号部１５５、VLC復号部１５６、量子化係数合成部１５７、および切替部１５８を有する。
【０２８５】
また、エントロピ復号部１２１は、遅延部１６１および遅延部１６２を有する。
【０２８６】
遅延部１６１および遅延部１６２は、例えば、フリップフロップ（FF）等により構成され、情報の供給を１組分遅延させる。つまり、遅延部１６１および遅延部１６２は、供給される情報を保持し、次の組の処理タイミングにおいて、その保持している情報を後段の処理部に供給する。例えば、遅延部１６１および遅延部１６２は、時刻ｔｉに行われた処理の結果として供給される情報を、一時的に保持し、時刻ｔ（ｉ＋１）において、後段の処理部に供給する。つまり、その後段の処理部においては、遅延部１６１および遅延部１６２から供給された情報を、時刻ｔ（ｉ＋１）に行う処理に利用する。
【０２８７】
より具体的には、遅延部１６１は、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復号部１５４の主な構成例を示すブロック図である。
【０３１１】
図２７に示されるように、VLC復号部１５４は、最大有効桁数変化復号部２０１、最大有効桁数変化量復号部２０２、および０連長復号部２０３を有する。
【０３１２】
最大有効桁数変化復号部２０１は、符号分割部１５１から供給される、最大有効桁数を示す符号に含まれる、最大有効桁数の変化を示す符号を復号する。
【０３１３】
最大有効桁数変化量復号部２０２は、符号分割部１５１から供給される、最大有効桁数を示す符号に含まれる、最大有効桁数の変化量を示す符号を復号する。
【０３１４】
VLC復号部１５４は、それらの復号により得られた情報を、VLC復号部１５５や量子化係数合成部１５７に供給する。
【０３１５】
また、０連長復号部２０３は、符号分割部１５１から供給される、ゼロランを示す符号を復号し、ゼロランを構成する量子化係数群を生成する。VLC復号部１５４は、生成された量子化係数群を、VLC復号部１５５および量子化係数合成部１５７に供給する。
【０３１６】
［パイプライン処理に対応したゼロラン復号処理］
本技術においては、最大有効桁数Ｂの復号に２つの状態、ノーマルモード（normal mode）とゼロランモード（zero run mode）を導入する。各ラインの復号開始時に、状態はノーマルモード（normal mode）に初期化される。
【０３１７】
ノーマルモード（normal mode）では、画像復号装置１１１は、図１３の例の場合と同様に、次のＢを１つだけ復号する。そして、Ｂが０になることが明らかになったら、ゼロランモード（zero run mode）に移る（※3）。
【０３１８】
ゼロランモード（zero run mode）では、ゼロラン符号により０連長を復号し、ライン最後まで０ではない場合、画像復号装置１１１は、続けてmore*, enoughの符号により、次の０でないＢの値を復号する（※4）。そして０連長だけ進んだあとでノーマルモード（normal mode）に移る。
【０３１９】
画像復号装置１１１が（※3）で復号するのは、（※1）で符号化した符号である。そして、画像復号装置１１１は、（※3）の復号を終えた後の符号を使って（※3）の復号と同じタイミングでS(3)を復号し、次のタイミングで（※2）で符号化した符号を（※4）で復号する。したがって、画像復号装置１１１は、画像符号化装置１１が符号化した符号化データを復号することができる。
【０３２０】
［復号処理の流れ］
次に、図２８のフローチャートを参照して、画像復号装置１１１による復号処理について説明する。この復号処理は、エントロピ復号部１２１に符号化された画像としての符号が入力されると開始される。
【０３２１】
ステップＳ１３１において、エントロピ復号部１２１は、エントロピ復号処理を行い、入力された画像としての符号をエントロピ復号し、これにより得られた量子化係数を逆量子化部１２２に供給する。
【０３２２】
なお、エントロピ復号処理の詳細は後述するが、このエントロピ復号処理において、エントロピ復号部１２１は、符号化されたサブバンドのライン上の連続する位置の量子化係数をＷ個ずつ復号し、復号された量子化係数を逆量子化部１２２に供給する。また、このエントロピ復号処理において、エントロピ復号部１２１は、値が０の量子化係数よりなるゼロランを示す符号を復号することにより、ゼロランを構成する値が０の量子化係数群をまとめて復号する。
【０３２３】
その際、エントロピ復号部１２１は、エントロピ復号処理の各処理要素を、図１５を参照して説明したようなタイミングで、互いに並列に実行する。これによりエントロピ復号部１２１は、エントロピ復号処理のスループットを向上させることができる。
【０３２４】
ステップＳ１３２において、逆量子化部１２２は、エントロピ復号部１２１から供給された量子化係数を逆量子化し、逆量子化により得られた各サブバンドのウェーブレット係数をウェーブレット逆変換部１２３に供給する。
【０３２５】
ステップＳ１３３において、ウェーブレット逆変換部１２３は、逆量子化部１２２から供給された、各サブバンドのウェーブレット係数にウェーブレット逆変換を施し、その結果得られた画像を出力して復号処理は終了する。
【０３２６】
このようにして、画像復号装置１１１は、符号化された画像を復号して出力する。
【０３２７】
［エントロピ復号処理の流れ］
次に、図２９のフローチャートを参照して、図２８のステップＳ１３１の処理に対応するエントロピ復号処理について説明する。
【０３２８】
ステップＳ１６１において、ライン判定部１５２は、これから復号するサブバンドのラインを示す変数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復号部１５５は、求めた各量子化係数の絶対値を、符号分割部１５１に供給するとともに、遅延部１６２を介して、VLC復号部１５６および量子化係数合成部１５７に供給する。
【０３５２】
なお、ｉ番目の係数Ｗ個組が存在しない場合、この処理は省略（スキップされる）。
【０３５３】
ステップＳ１８４において、VLC復号部１５４は、最大有効桁数処理を行い、最大有効桁数を示す符号を復号して最大有効桁数Ｂを求める。VLC復号部１５４は、求めた最大有効桁数Ｂを、符号分割部１５１に供給するとともに、遅延部１６１を介して、VLC復号部１５５および量子化係数合成部１５７に供給する。
【０３５４】
ステップＳ１８４の処理が終了すると、VLC復号部１５４は、処理をステップＳ１８５に進める。
【０３５５】
ステップＳ１８５において、エントロピ復号部１２１は、変数ｉ≦（max＋１）であるか否かを判定する。すなわち、エントロピ復号部１２１は、処理対象のラインの全ての量子化係数の組を処理したか否かを判定する。
【０３５６】
変数ｉ≦（max＋１）であり、処理対象のライン上に未処理の組が存在すると判定された場合、エントロピ復号部１２１は、処理をステップＳ１８６に進める。
【０３５７】
ステップＳ１８６において、エントロピ復号部１２１は、変数ｉをインクリメント（変数ｉ＝ｉ＋１）し、処理をステップＳ１８２に戻す。
【０３５８】
つまり、ステップＳ１８２の処理は、図２４の遅延部１６１および遅延部１６２により、ステップＳ１８４の処理に比べて、２周期（2cycle）分遅延されている。したがって、ステップＳ１８２においては、ステップＳ１８４の２組前の処理対象の組が処理対象とされる。
【０３５９】
また、ステップＳ１８３の処理は、図２４の遅延部１６１により、ステップＳ１８４の処理に比べて、１周期（1cycle）分遅延されている。したがって、ステップＳ１８３においては、ステップＳ１８４の１組前の処理対象の組が処理対象とされる。
【０３６０】
変数ｉは、０以上の整数である。したがって、例えば、ｉ＝０の場合、ステップＳ１８４の処理のみが行われる。また、例えば、ｉ＝１の場合、ステップＳ１８３およびステップＳ１８４の処理が行われる。２≦ｉ＜maxの場合、ステップＳ１８２乃至ステップＳ１８４の処理が行われる。ｉ＝maxの場合、ステップＳ１８２およびステップＳ１８３の処理が行われる。ｉ＝max＋１の場合、ステップＳ１８２の処理のみが行われる。
【０３６１】
そして、ステップＳ１８５において、ｉ＞（max＋１）であると判定した場合、エントロピ復号部１２１は、Ｗ個組復号処理を終了し、処理を図２９に戻す。
【０３６２】
［最大有効桁数処理の流れ］
次に、図３１および図３２のフローチャートを参照して、図３０のステップＳ１８４において実行される最大有効桁数処理の流れの例を説明する。
【０３６３】
最大有効桁数処理が開始されると、ステップＳ２０１において、VLC復号部１５４は、（ｉ＋１）番目の係数Ｗ個組が存在するか否かを判定する。存在しないと判定した場合、VLC復号部１５４は、最大有効桁数処理を終了し、処理を図３０に戻す。例えば、ｉ≧maxの場合、（ｉ＋１）番目の係数Ｗ個組は、存在しない。このような場合、最大有効桁数処理は終了される。
【０３６４】
また、図３１のステップＳ２０１において、（ｉ＋１）番目の係数Ｗ個組が存在すると判定した場合、VLC復号部１５４は、処理をステップＳ２０２に進める。
【０３６５】
ステップＳ２０２において、０連長復号部２０３は、変数count＝０であるか否かを判定する。ゼロラン中でなく、count＝０であると判定した場合、０連長復号部２０３は、処理をステップＳ２０３に進める。
【０３６６】
ステップＳ２０３において、VLC復号部１５４は、モードが０乃至２のいずれであるかを判定する。モードが０（mode＝０）であると判定した場合、VLC復号部１５４は、処理をステップＳ２０４に進める。
【０３６７】
ステップＳ２０４において、最大有効桁数変化復号部２０１は、符号分割部１５１から供給される符号を１ビット読み込み、その符号が０であるか否かを判定する。読み込んだ符号が０である場合、最大有効桁数Ｂは、前の組と同じである。したがって、最大有効桁数変化復号部２０１は、ステップＳ２０５乃至ステップＳ２０９の各処理を省略し、処理をステップＳ２１１に進める。
【０３６８】
また、ステップＳ２０４において、読み込んだ符号が１であると判定した場合、最大有効桁数Ｂの値が前の組から変化しているので、最大有効桁数変化復号部２０１は、処理をステップＳ２０５に進める。
【０３６９】
ステップＳ２０５において、最大有効桁数変化復号部２０１は、符号分割部１５１から供給される符号を１ビット読み込み、その符号が０であるか否かを判定する。読み込んだ符号が０であると判定した場合、最大有効桁数Ｂの値は、前の組より増加している。この場合、最大有効桁数変化復号部２０１は、ステップＳ２０６に処理を進める。
【０３７０】
ステップＳ２０６において、最大有効桁数変化量復号部２０２は、符号１を読み込むまで、符号分割部１５１から供給される符号を１ビットずつ読み込む。最大有効桁数変化量復号部２０２は、符号１を読み込んだ時点で、この読み込みを終了し、それまでに読み込んだ符号０の数をｎとする。
【０３７１】
ステップＳ２０７において、最大有効桁数変化量復号部２０２は、その変数ｎを用いて、最大有効桁数Ｂの値を更新する。すなわち、最大有効桁数変化量復号部２０２は、処理対象である今の組の最大有効桁数Ｂを、以下の式（１）のように決定する。
【０３７２】
Ｂ＝Ｂ＋（ｎ＋１）  ・・・（１）
【０３７３】
今の組の最大有効桁数Ｂを決定すると、最大有効桁数変化量復号部２０２は、処理をステップＳ２１１に進める。
【０３７４】
また、ステップＳ２０５において、読み込んだ符号が０でないと判定した場合、最大有効桁数Ｂの値は、前の組より減少している。この場合、最大有効桁数変化復号部２０１は、ステップＳ２０８に処理を進める。
【０３７５】
ステップＳ２０８において、最大有効桁数変化量復号部２０２は、符号１を読み込むまで、若しくは、最大（Ｂ−１）ビット符号を読み込むまで、符号分割部１５１から供給される符号を１ビットずつ読み込む。最大有効桁数変化量復号部２０２は、符号１を読み込んだ時点、若しくは、（Ｂ−１）ビット符号を読み込んだ時点で、この読み込みを終了し、それまでに読み込んだ符号０の数をｎとする。
【０３７６】
ステップＳ２０９において、最大有効桁数変化量復号部２０２は、その変数ｎを用いて、最大有効桁数Ｂの値を更新する。すなわち、最大有効桁数変化量復号部２０２は、処理対象である今の組の最大有効桁数Ｂを、以下の式（２）のように決定する。
【０３７７】
Ｂ＝Ｂ−（ｎ＋１）  ・・・（２）
【０３７８】
今の組の最大有効桁数Ｂを決定すると、最大有効桁数変化量復号部２０２は、処理をステップＳ２１１に進める。
【０３７９】
また、ステップＳ２０３において、モードが２（mode＝２）であると判定した場合、VLC復号部１５４は、処理をステップＳ２１０に進める。
【０３８０】
ステップＳ２１０において、VLC復号部１５４は、モードを０（mode＝０）に戻し、処理をステップＳ２０６に戻し、それ以降の処理を実行させる。
【０３８１】
ステップＳ２１１において、VLC復号部１５４は、最大有効桁数Ｂが０である場合、すなわち、ゼロランになった場合、モードを１（mode＝１）にする。
【０３８２】
ステップＳ２１１の処理を終了すると、VLC復号部１５４は、最大有効桁数処理を終了し、処理を図３０に戻す。
【０３８３】
また、図３１のステップＳ２０２において、変数count＝０でないと判定した場合、ゼロラン中であるので、０連長復号部２０３は、処理をステップＳ２１２に進める。
【０３８４】
ステップＳ２１２において、０連長復号部２０３は、以下の式（３）のように、変数countをデクリメント（１減算）する。
【０３８５】
count＝count−１  ・・・（３）
【０３８６】
ステップＳ２１３において、VLC復号部１５４は、この変数countが０であれば、モードを２（mode＝２）に設定する。
【０３８７】
ステップＳ２１３の処理が終了すると、VLC復号部１５４は、最大有効桁数処理を終了し、処理を図３０に戻す。
【０３８８】
また、図３１のステップＳ２０３において、モードが１（mode＝１）であると判定した場合、VLC復号部１５４は、処理を図３２に進める。
【０３８９】
図３２のステップＳ２３１において、VLC復号部１５４は、モードを０（mode＝０）に設定する。また、ステップＳ２３２において、０連長復号部２０３は、変数max−ｉ−１の桁数をＤとする。
【０３９０】
ステップＳ２３３において、０連長復号部２０３は、符号の読み込み（符号分割部１５１からの符号の取得）を開始し、符号１を取得するか、最大Ｄビット読み込むまで、その符号の読み込み（１回目の読み込み）を行う。
【０３９１】
この１回目の読み込みにより、図５のテーブルの一番右の列に示される符号列の、カンマ（，）より左の部分が読み込まれるか、または、図７若しくは図９のテーブルの左から３番目の列の符号列が読み込まれる。
【０３９２】
そして、０連長復号部２０３は、読み込んだ符号０の数をｎとする。
【０３９３】
ステップＳ２３４において、０連長復号部２０３は、Ｄ≠ｎであるか否かを判定する。Ｄ≠ｎであると判定された場合、すなわち、ゼロランがラインの最後まで達していないと判定された場合、０連長復号部２０３は、処理をステップＳ２３５に進める。
【０３９４】
つまり、この場合、１回目の読み込みにより、図５のテーブルの一番右の列に示される符号列の、カンマ（，）より左の部分が読み込まれていることになる。この１回目の読み込みにより、そこからｎ個目の符号までが、カンマ（，）の右の部分に相当するということ（ゼロランを示す符号がｎビットであること）が明らかとなっている。
【０３９５】
そこで、０連長復号部２０３は、ステップＳ２３５において、符号をｎビット読み込む（２回目の読み込み）。その読み込んだnビットの先頭に符号１をつけた符号列を変数countに代入する。つまり、図５のテーブルの左から２列目の２進表現が変数countに代入される。
【０３９６】
ステップＳ２３５の処理が終了すると、０連長復号部２０３は、処理を図３１のステップＳ２１２に戻し、それ以降の処理を実行させる。
【０３９７】
また、図３２のステップＳ２３４において、Ｄ＝ｎであると判定された場合、すなわち、ゼロランがラインの最後まで達すると判定された場合、０連長復号部２０３は、処理をステップＳ２３６に進める。
【０３９８】
つまり、この場合、１回目の読み込みにより、図７若しくは図９のテーブルの左から３番目の列の符号列が読み込まれていることになる。
【０３９９】
そこで、０連長復号部２０３は、ステップＳ２３６において、変数countの値を（max−１）とし、処理を図３１のステップＳ２１２に戻し、それ以降の処理を実行させる。
【０４００】
このように、符号化されたサブバンドの量子化係数を、予め定められた所定の数ずつまとめて復号することで、例えば、JPEG2000方式により画像を復号する場合とは異なり、複数のコーディングパスに基づいて、ビットプレーンごとに複数の処理を行う必要がなく、より高速に画像の復号を行うことができる。これにより、高解像度の画像をリアルタイムで復号するための復号装置を安価で実現することができる。
【０４０１】
また、以上のように各処理を実行することにより、画像復号装置１１１は、ゼロランがまとめて符号化された符号を正しく復号し、値が０の量子化係数を復元することができる。したがって、画像復号装置１１１は、ゼロランの符号量の低減を実現することができ、０が多い係数データの符号化の符号化効率の向上を実現することができる。
【０４０２】
さらに、上述したように、復号処理の各処理要素の実行を制御し、１つの組に対する復号処理の各処理要素を、互いに異なるタイミングで実行させるようにすることにより、画像復号装置１１１は、復号処理のスループットを向上させることができる。その結果、画像復号装置１１１は、より高速に復号処理を行うことができる。
【０４０３】
＜３．第３の実施の形態＞
［パイプライン処理に適応したゼロラン符号化処理の他の例］
なお、ゼロランの符号化は、上述した例に限らず、以下のように行っても良い。
【０４０４】
例えば、上述した（※2）において、最大有効桁数Ｂが０に変化した直後の係数でＢが０でない場合、符号１に連接してその０でなかったＢの値をmore*，enoughの符号で送る。
【０４０５】
これに対して、Ｂが０に変化した直後の係数でＢが０であった場合、符号０を送る。０連長が確定した時点で、ゼロラン符号により０連長を符号化したものから符号先頭の１ビットの０を削除して送り、ライン最後まで０ではない場合、続けてmore*，enoughの符号により、次の０でないＢの値を符号化する。
【０４０６】
このようにしても、第１の実施の形態と同様に符号化を行うことができる。
【０４０７】
したがって、この場合も、画像符号化装置１１の構成も、各処理の流れも、第１の実施の形態において説明した場合と、基本的に同様である。
【０４０８】
ただし、最大有効桁数処理において、図２１のフローチャートの各処理は、第１の実施の形態の場合と同様に実行されるが、図２２のフローチャートの部分の各処理は、図３３のフローチャートに示されるように実行される。
【０４０９】
つまり、図２１のステップＳ７３において、変数count＝０でないと判定された場合、処理は、図３３のステップＳ３０１に進められる。そして、そのステップＳ３０１において、０連長符号化部８３は、さらに、変数count＝１であるか否かを判定する。変数count＝１である場合、すなわち、Ｂが０に変化した直後の組の場合、０連長符号化部８３は、処理をステップＳ３０２に進める。
【０４１０】
ステップＳ３０２において、０連長符号化部８３は、Bnew＝０であるか否かを判定する。Bnew＝０であると判定した場合、０連長符号化部８３は、処理をステップＳ３０３に進め、符号０を出力する。そして、ステップＳ３０４において、０連長符号化部８３は、変数countをインクリメントし（１加算し）、以下の式（４）のように更新する。
【０４１１】
count＝count＋１  ・・・（４）
【０４１２】
ステップＳ３０４の処理が終了すると、０連長符号化部８３は、処理を図２１のステップＳ８２に戻す。
【０４１３】
また、図３３のステップＳ３０２において、Bnew＝０でないと判定した場合、０連長符号化部８３は、処理をステップＳ３０５に進め、符号１を出力する。
【０４１４】
ステップＳ３０６において、０連長符号化部８３は、（Bnew−１）個の０に続いて、符号１を出力する。
【０４１５】
ステップＳ３０７において、０連長符号化部８３は、変数countの値を０（count＝０）とする。ステップＳ３０７の処理が終了すると、０連長符号化部８３は、処理を図２１のステップＳ８２に戻す。
【０４１６】
また、ステップＳ３０１において、変数count＝１でないと判定した場合、すなわち、Ｂが０に変化した直後の組でない場合、０連長符号化部８３は、処理をステップＳ３０８に進める。
【０４１７】
図３３のステップＳ３０８において、０連長符号化部８３は、Bnew＝０であるか否かを判定する。Bnew＝０であり、今の組でもゼロランが終了しないと判定された場合、０連長符号化部８３は、処理をステップＳ３０９に進める。
【０４１８】
ステップＳ３０９において、０連長符号化部８３は、ゼロランの組数のカウント値である変数countをインクリメント（変数count＝count＋１）し、処理を図２１のステップＳ８２に戻し、それ以降の処理を実行させる。
【０４１９】
また、図３３のステップＳ３０８において、Bnew＝０でなく、今の組でゼロランが終了すると判定された場合、０連長符号化部８３は、処理をステップＳ３１０に進める。
【０４２０】
ステップＳ３１０において、０連長符号化部８３は、例えば図５のテーブルの一番右の列に示されるような、（変数countの桁数−２）個の符号０に、変数countの２進表現を続けたものを、ゼロランを示す符号として符号連結部６９に出力する。
【０４２１】
ステップＳ３１１において、最大有効桁数変化量符号化部８２は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０を符号連結部６９に出力する。なお、ここでは、変動の終端（enough）を示す符号１の出力は省略（スキップ）されている。この変動の終端（enough）を示す符号１の出力を省略しない場合、最大有効桁数変化量符号化部８２は、最大有効桁数Ｂの増分を示す（Bnew−１）個の符号０に続けて、その変動の終端（enough）を示す符号１を符号連結部６９に出力すればよい。
【０４２２】
ステップＳ３１２において、０連長符号化部８３は、変数countの値を０とする。ステップＳ３１２の処理が終了すると、０連長符号化部８３は、処理を図２１のステップＳ８２に戻し、それ以降の処理を実行させる。
【０４２３】
このようにして、エントロピ符号化部２３は、第１の実施の形態の場合と同様に符号化を行うことができる。
【０４２４】
［パイプライン処理に適応したゼロラン復号処理の他の例］
この符号化に対応する復号処理について説明する。ゼロランモード（zero run mode）の最初のタイミングにおいて、画像復号装置１１１は、０若しくは１，more*，enoughのどちらかを復号する。
【０４２５】
１，more*，enoughを復号した場合、０連長が１であり、more*，enoughによって示される値が新しいＢである。０連長が１であるからこのタイミングでＢの値が必要となるが、きちんと復号出来ている。
【０４２６】
これに対して、０を復号した場合、画像復号装置１１１は、ゼロランモード（zero run mode）の次のタイミングで既に０を１ビット使っていることを考慮に入れてゼロラン符号により０連長を復号する。つまり、画像復号装置１１１は、ライン最後まで０ではない場合、続けてmore*，enoughの符号により、次の０でないＢの値を復号する。そして画像復号装置１１１は、０連長だけ進んだあとでノーマルモード（normal mode）に移る。０連長が２以上なので、このタイミングで０連長を復号しても問題ない。
【０４２７】
この場合も、画像復号装置１１１の構成も、各処理の流れも、第２の実施の形態において説明した場合と、基本的に同様である。
【０４２８】
ただし、最大有効桁数処理は、図３４および図３５のフローチャートのように実行される。
【０４２９】
図３４に示されるステップＳ３５１乃至ステップＳ３６３の各処理は、基本的に図３１のステップＳ２０１乃至ステップＳ２１３の各処理と同様に実行される。
【０４３０】
図３４のステップＳ３５３において、モードが１（mode＝１）であると判定した場合、VLC復号部１５４は、処理を図３５に進める。
【０４３１】
図３５のステップＳ３８１において、最大有効桁数変化復号部２０１は、符号分割部１５１から供給される符号を１ビット読み込み、その符号が０であるか否かを判定する。
【０４３２】
読み込んだ符号が０であると判定した場合、最大有効桁数変化復号部２０１は、処理をステップＳ３８２に進める。ステップＳ３８２乃至ステップＳ３８７の各処理は、図３２のステップＳ２３１乃至ステップＳ２３６の各処理と同様に実行される。
【０４３３】
また、ステップＳ３８１において、読み込んだ符号が１であると判定した場合、最大有効桁数変化復号部２０１は、処理をステップＳ３８８に進める。
【０４３４】
ステップＳ３８８において、VLC復号部１５４は、モードを２（mode＝２）に設定する。
【０４３５】
ステップＳ３８８の処理が終了すると、VLC復号部１５４は、処理を図３４のステップＳ３５３に戻す。
【０４３６】
このようにして、エントロピ復号部１２１は、第２の実施の形態の場合と同様に復号を行うことができる。
【０４３７】
なお、復号処理の各処理要素の符号化データを、図１３の例のように並べる場合、図３０のフローチャートにおいて、ステップＳ１８２乃至ステップＳ１８４の各処理の実行順を、ステップＳ１８４、ステップＳ１８３、ステップＳ１８２の順に入れ替えればよい。
【０４３８】
なお、以上においては、図１２や図１４の例のように、絶対値の符号化処理または復号処理Ａの実行タイミングを、最大有効桁数の符号化処理または復号処理Ｂより１組分遅延させ、サインの符号化処理または復号処理Ｓの実行タイミングを、最大有効桁数の符号化処理または復号処理Ｂより２組分遅延させるように説明した。しかしながら、各処理要素の実行タイミングは、互いに異なっていればよく、このパターンに限らない。
【０４３９】
例えば、絶対値の符号化処理または復号処理Ａの実行タイミングを、最大有効桁数の符号化処理または復号処理Ｂより２組分以上遅延させてもよい。その場合、サインの符号化処理または復号処理Ｓの実行タイミングは、絶対値の符号化処理または復号処理Ａより０組分以上遅延させればよい。
【０４４０】
また、例えば、サインの符号化処理または復号処理Ｓの実行タイミングは、絶対値の符号化処理または復号処理Ａより２組分以上遅延させてもよい。
【０４４１】
さらに、以上においては、時刻ｔｉを、処理要素の実行タイミングとして説明したが、符号化処理や復号処理の各処理要素の実行タイミングは、時刻ｔｉに限らない。符号化処理や復号処理の各処理要素は、図１２や図１４のタイミングチャートで示した依存関係による遅延が生じない限り、任意のタイミングで実行することができる。
【０４４２】
例えば、時刻ｔｉから時刻ｔ（ｉ＋１）までの時間を１周期とし、その周期の中で、処理を終了することができるタイミングであれば、任意のタイミングで処理要素が実行されるようにしてもよい。
【０４４３】
＜４．第４の実施の形態＞
［パイプライン処理の他の例］
また、次の周期に跨って、１処理要素の処理が行われるようにしてもよい。つまり、１処理要素の処理を、複数周期を使って実行するようにしてもよい。例えば、最大有効桁数の符号化処理または復号処理Ｂを、例えば、図３６に示されるように、２組分の時間を用いて行うようにしても良い。この場合、符号化データにおける各処理要素の符号の並びは、図３６の点線矢印に示されるようになる。つまり、この場合も、符号の並びは、図１２の場合と同様である。
【０４４４】
その場合も、依存関係から、図３６に示されるように、最大有効桁数の符号化処理または復号処理B(i)の全ての処理は、絶対値の符号化処理または復号処理A(i)を行う前に終了させる必要がある。例えば、最大有効桁数の符号化処理または復号処理Ｂの処理時間が、絶対値の符号化処理または復号処理Ａやサインの符号化処理または復号処理Ｓの処理時間に比べて極端に長い場合（処理時間の偏りが大きい場合）、このように処理を行うことで、各サイクルに発生する待機時間を低減させることができ、スループットを向上させることができる。
【０４４５】
この場合、エントロピ符号化部２３は、図３７に示される例のように構成すればよい。すなわち、この場合、エントロピ符号化部２３は、図１６の構成に加え、VLC符号化部３０１および遅延部３０２をさらに有する。
【０４４６】
VLC符号化部３０１は、VLC符号化部６４と合わせて、図１６の場合のVLC符号化部６４と同様の処理を行う。つまり、図１６の場合、のVLC符号化部６４が、図２１および図２２のフローチャートに示される最大有効桁数処理の各処理を実行するが、図３７の例の場合、これらの処理の内、一部の処理をVLC符号化部３０１が行い、残りの処理をVLC符号化部６４が行う。
【０４４７】
遅延部３０２は、遅延部７１乃至遅延部７５と同様に、VLC符号化部３０１から出力される情報を、１組分遅延させて、VLC符号化部６４に供給する。
【０４４８】
このようにすることにより、最大有効桁数処理が２組分のサイクルで実行されるようになる。なお、最大有効桁数処理のどの処理までをVLC符号化部３０１が行うようにし、どの処理からをVLC符号化部６４が行うようにするかは任意である。
【０４４９】
また、この場合、エントロピ復号部１２１は、図３８に示される例のように構成すればよい。すなわち、この場合、エントロピ復号部１２１は、図２４の構成に加え、VLC復号部３５１をさらに有する。
【０４５０】
VLC復号部３５１は、VLC復号部１５４と合わせて、図２４の場合のVLC復号部１５４と同様の処理を行う。つまり、図２４の場合、のVLC復号部１５４が、図３１および図３２のフローチャートに示される最大有効桁数処理の各処理を実行するが、図３８の例の場合、これらの処理の内、一部の処理をVLC復号部１５４が行い、残りの処理をVLC復号部３５１が行う。
【０４５１】
VLC復号部３５１は、遅延部１６１を介して、VLC復号部１５４から、処理結果（図３１および図３２の最大有効桁数処理の途中結果）を取得し、残りの処理を実行する。
【０４５２】
このようにすることにより、最大有効桁数処理が２組分のサイクルで実行されるようになる。なお、最大有効桁数処理のどの処理までをVLC復号部１５４が行うようにし、どの処理からをVLC復号部３５１が行うようにするかは任意である。
【０４５３】
ところで、以上において説明した画像符号化装置１１にいては、量子化係数の絶対値を符号化（または復号）する場合に、予め定められたＷ個の量子化係数の絶対値を順番に符号化すると説明したが、汎用DSP（Digital Signal Processor）や、汎用CPUにおいて用いられているSIMD（Single Instruction Multiple Data）演算命令を利用して、Ｗ個の量子化係数を同時に（並列に）符号化（または復号）することにより、より高速に画像を符号化（または復号）することができる。
【０４５４】
なお、エントロピ符号化部２３が符号化するデータは、量子化係数以外であっても良い。例えば、画像符号化装置１１において、量子化部２２を省略し、エントロピ符号化部２３が、ウェーブレット変換部２１から出力されるウェーブレット係数を符号化するようにしてもよい。その場合、エントロピ復号部１２１は、入力された符号化データを復号し、ウェーブレット係数を出力する。したがって、この場合、画像復号装置１１１において、逆量子化部１２２を省略することができる。エントロピ復号部１２１は、入力された符号化データを復号し、画像データを出力する。したがって、この場合、画像復号装置１１１において、ウェーブレット逆変換部１２３も省略することができる。
【０４５５】
また、さらにウェーブレット変換部２１も省略し、エントロピ符号化部２３が、画像データ（入力画像）を符号化するようにしてもよい。その場合も、エントロピ復号部１２１は、入力された符号化データを復号し、エントロピ符号化部２３が符号化したデータに対応するデータを出力する。
【０４５６】
＜５．第５の実施の形態＞
［画像符号化装置］
図３９は、画像符号化装置の他の構成例を示すブロック図である。図４０に示される画像符号化装置４０１は、入力される画像データを低遅延に符号化し、生成した符号化データを出力する画像処理装置である。
【０４５７】
図３９に示されるように、画像符号化装置４０１は、ウェーブレット変換部４１０、途中計算用バッファ部４１１、係数並び替え用バッファ部４１２、係数並び替え部４１３、レート制御部４１４、およびエントロピ符号化部４１５を有する。
【０４５８】
画像符号化装置４０１に入力された画像データは、途中計算用バッファ部４１１に格納される。ウェーブレット変換部４１０は、途中計算用バッファ部４１１に格納された画像データに対してウェーブレット変換を施す。すなわち、ウェーブレット変換部４１０は、途中計算用バッファ部４１１から画像データを読み出して、分析フィルタによりフィルタ処理を施して低域成分および高域成分の係数のデータを生成し、生成された係数データを途中計算用バッファ部４１１に格納する。
【０４５９】
ウェーブレット変換部４１０は、水平分析フィルタと垂直分析フィルタとを有し、画像データ群に対して、画面水平方向と画面垂直方向の両方について分析フィルタ処理を行う。ウェーブレット変換部４１０は、例えば、リフティング演算を用いてこのような分析フィルタ処理を行う。
【０４６０】
ウェーブレット変換部４１０は、途中計算用バッファ部４１１に格納された低域成分の係数データを再度読み出し、読み出した係数データに対して分析フィルタによるフィルタ処理を施して、高域成分および低域成分の係数のデータをさらに生成する。生成された係数データは、途中計算用バッファ部４１１に格納される。つまり、ウェーブレット変換部４１０は、低域成分に対して再帰的に分析フィルタ処理を繰り返し、係数データを成分毎に階層化する。
【０４６１】
ウェーブレット変換部４１０は、この処理を繰り返して分解レベルが所定レベルに達したら、途中計算用バッファ部４１１から係数データを読み出し、読み出された係数データを係数並び替え用バッファ部４１２に格納する。
【０４６２】
係数並び替え部４１３は、係数並び替え用バッファ部４１２に格納された係数データを、復号される順（ウェーブレット逆変換される順）に読み出し、エントロピ符号化部４１５に供給する。エントロピ符号化部４１５は、供給された係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。
【０４６３】
エントロピ符号化部４１５は、レート制御部４１４と連動的に動作し、出力される圧縮符号化データのビットレートが略一定値となるように制御される。すなわち、レート制御部４１４は、エントロピ符号化部４１５からの符号化データ情報に基づき、エントロピ符号化部４１５により圧縮符号化されたデータのビットレートが目標値に達した時点あるいは目標値に達する直前でエントロピ符号化部４１５による符号化処理を終了するように制御する制御信号を、エントロピ符号化部４１５に対して供給する。エントロピ符号化部４１５は、レート制御部４１４から供給される制御信号に応じて符号化処理が終了した時点で、符号化データを出力する。
【０４６４】
画像符号化装置４０１は、このような画像の符号化を、画面の縦方向について、数ライン毎の処理に分割して、複数回に分けて段階的に行う。より具体的には、画像符号化装置４０１は、ウェーブレット変換後の最低域成分のサブバンド１ライン分の係数データを生成するために必要なライン数毎に、入力画像データを符号化する。
【０４６５】
以下において、この最低域成分のサブバンドの１ライン分の係数データを生成するために必要な、他のサブバンドも含めたラインの集まりを、ラインブロック（またはプレシンクト）と称する。ここでラインとは、ウェーブレット変換前の画像データに対応するピクチャ若しくはフィールド内、または各サブバンド内において形成される１行分の画素データ若しくは係数データのことを示す。
【０４６６】
なお、ラインブロック（プレシンクト）を構成するデータは、画像データであっても良いし、ウェーブレット変換された係数データであっても良いし、エントロピ符号化された符号化データであってもよい。つまり、ラインブロック（プレシンクト）は、ウェーブレット変換前の元の画像データにおける、ウェーブレット変換後の最低域成分のサブバンド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符号化部，  ６５  有効桁抽出部，  ６６  VLC符号化部，  ６７  サイン抽出部，  ６８  VLC符号化部，  ６９  符号連結部，  ７１乃至７５  遅延部，  ８１  最大有効桁数変化符号化部，  ８２  最大有効桁数変化量符号化部，  ８３  ０連長符号化部，  １１１  画像復号装置，  １２１  エントロピ復号部，  １５１  符号分割部，  １５２  ライン判定部，  １５３  発生部，  １５４乃至１５６  VLC復号部，  １５７  量子化係数合成部，  １５８  切替部，  １６１および１６２  遅延部，  ２０１  最大有効桁数変化復号部，  ２０２  最大有効桁数変化量復号部，  ２０３  ０連長復号部，  ３０１  VLC符号化部，  ３０２  遅延部，  ３５１  VLC復号部
【図１】
0005966347.tif 000002
【図２】
0005966347.tif 000003
【図３】
0005966347.tif 000004
【図４】
0005966347.tif 000005
【図５】
0005966347.tif 000006
【図６】
0005966347.tif 000007
【図７】
0005966347.tif 000008
【図８】
0005966347.tif 000009
【図９】
0005966347.tif 000010
【図１０】
0005966347.tif 000011
【図１１】
0005966347.tif 000012
【図１２】
0005966347.tif 000013
【図１３】
0005966347.tif 000014
【図１４】
0005966347.tif 000015
【図１５】
0005966347.tif 000016
【図１６】
0005966347.tif 000017
【図１７】
0005966347.tif 000018
【図１８】
0005966347.tif 000019
【図１９】
0005966347.tif 000020
【図２０】
0005966347.tif 000021
【図２１】
0005966347.tif 000022
【図２２】
0005966347.tif 000023
【図２３】
0005966347.tif 000024
【図２４】
0005966347.tif 000025
【図２５】
0005966347.tif 000026
【図２６】
0005966347.tif 000027
【図２７】
0005966347.tif 000028
【図２８】
0005966347.tif 000029
【図２９】
0005966347.tif 000030
【図３０】
0005966347.tif 000031
【図３１】
0005966347.tif 000032
【図３２】
0005966347.tif 000033
【図３３】
0005966347.tif 000034
【図３４】
0005966347.tif 000035
【図３５】
0005966347.tif 000036
【図３６】
0005966347.tif 000037
【図３７】
0005966347.tif 000038
【図３８】
0005966347.tif 000039
【図３９】
0005966347.tif 000040
【図４０】
0005966347.tif 000041
【図４１】
0005966347.tif 000042
【図４２】
0005966347.tif 000043