(57)【要約】【課題】  算術符号化の処理負荷を軽減すると共に、画質劣化を抑えて効果的にレート制御を行う。【解決手段】  画像符号化装置１において、符号量加算部１８は、ＥＢＣＯＴ部１７で符号化されたビットプレーン毎の算術符号Ｄ１７の符号量を累積し、累積値を制御部１９に供給する。制御部１９は、この累積値と目標符号量とを比較し、まだ目標符号量に達していない場合には、次のビットプレーンの符号化を行うように、ＥＢＣＯＴ部１７に制御信号Ｄ１９を送信する。そして、符号量加算部１８は、累積値が目標符号量に達した場合には、符号量制御完了後の算術符号Ｄ２０をヘッダ生成部２０及びパケット生成部２１に供給する。このとき、ＥＢＣＯＴ部１７では、全符号ブロックを横断的に、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎の量子化係数Ｄ１５を符号化する。【選択図】  図１
2008245296.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御する
ことを特徴とする画像符号化装置。
【請求項２】
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
上記符号化手段は、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、
上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御する
ことを特徴とする画像符号化装置。
【請求項３】
入力画像の輝度成分及び色差成分のコンポーネントに対してそれぞれ階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
上記符号化手段は、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、
上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御する
ことを特徴とする画像符号化装置。
【請求項４】
上記符号量制御手段は、上記累積値が上記所定の目標符号量を上回った場合には、該所定の目標符号量を上回る直前の符号化までの符号を上記符号化コードストリームに含めることを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項５】
全符号ブロックの全ビットプレーンを上記最もビット位置の高いビットプレーンから上記最もビット位置の低いビットプレーンの方向に複数のレイヤに分割するレイヤ分割手段をさらに備え、
上記符号量制御手段は、各ビットプレーンに含まれる符号化パスの符号化が終了する毎に生成された符号の符号量を累積し、累積値が各レイヤの目標符号量以下である場合には、該レイヤの次の符号化を行うように上記符号化手段を制御し、上記累積値が該レイヤの目標符号量を上回った場合には、次のレイヤの最初の符号化を行うように上記符号化手段を制御し、上位累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御することを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項６】
ＪＰＥＧ−２０００方式に従って上記入力画像を符号化するものであり、
上記符号量制御手段は、終端処理されていない符号化パスの符号量を、その符号化パスにおける最後の符号化が終了した時点で出力が確定している符号量をＬとしたとき、Ｌ＋３として求める
ことを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項７】
ＪＰＥＧ−２０００方式に従って上記入力画像を符号化するものであり、
上記符号量制御手段は、終端処理されていない符号化パスの符号量を、その符号化パスにおける最後の符号化が終了した時点で出力が確定している符号量をＬとしたとき、符号の計算中にＣレジスタが左ビットシフトされる回数を計数するＣＴカウンタの値が５以上の場合にＬ＋２として求め、上記ＣＴカウンタの値が５未満の場合にＬ＋３として求める
ことを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項８】
上記フィルタリング手段によって生成されたサブバンド内の変換係数を、上記サブバンド毎に設定された重み係数を用いて重み付けを行った量子化ステップサイズで除算して量子化する量子化手段をさらに備えることを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項９】
上記重み係数は、低域成分のサブバンドほど上記量子化ステップサイズが小さくなるように設定されていることを特徴とする請求項８記載の画像符号化装置。
【請求項１０】
上記重み係数は、輝度情報のコンポーネントの方が色差情報のコンポーネントよりも上記量子化ステップサイズが小さくなるように設定されていることを特徴とする請求項８記載の画像符号化装置。
【請求項１１】
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御する
ことを特徴とする画像符号化方法。
【請求項１２】
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
上記符号化工程では、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、
上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御する
ことを特徴とする画像符号化方法。
【請求項１３】
入力画像の輝度成分及び色差成分のコンポーネントに対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
上記符号化工程では、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、
上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御する
ことを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＪＰＥＧ−２０００方式のように、ウェーブレット変換とエントロピー符号化とにより画像を圧縮する画像符号化装置及びその方法に関する。
【背景技術】
【０００２】
従来の代表的な画像圧縮方式として、ＩＳＯ（International Standards Organization）によって標準化されたＪＰＥＧ（Joint Photographic Experts Group）方式がある。これは、離散コサイン変換（Descrete Cosine Transform；ＤＣＴ）を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、ＤＣＴ特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
【０００３】
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、ＤＣＴのように高圧縮でブロック歪みが顕著になるという欠点がないことから、ＤＣＴに代わる新たな技術として有力視されている。
【０００４】
２００１年１月に国際標準化が完了したＪＰＥＧ−２０００方式は、このウェーブレット変換に高能率なエントロピー符号化（ビットプレーン単位のビット・モデリングと算術符号化）を組み合わせた方式を採用しており、ＪＰＥＧに比べて符号化効率の大きな改善を実現している。
【０００５】
これらの国際規格ではデコーダ側の規格のみが定められており、エンコーダ側は自由に設計することができる。その反面、目標の圧縮率を実現する効果的なレート制御手法についての規格が存在しないため、ノウハウの確立が何よりも重要になる。特にＪＰＥＧ方式では、このレート制御が困難であり、目標値を得るまでに複数回の符号化を施す必要も多々あった。しかしながら、これは処理時間の増大に繋がるため、ＪＰＥＧ−２０００方式では、１度の符号化で目標の符号量を得ることが望まれている。
【０００６】
ここで、ＪＰＥＧ−２０００方式では、ＲＤ（Rate-Distortion）特性を利用したレート制御手法が一般的に用いられているが、このレート制御手法は、汎用性があるものの非常に計算負荷が高いという欠点があった。
【０００７】
そこで本件出願人は、以下の特許文献１において、一旦生成した符号化コードストリームを後尾から切り捨てることでレート制御を行う技術を提案している。この技術によれば、目標符号量に正確に合わせた制御が可能になる。
【０００８】
【特許文献１】特開２００２−１６５０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、この特許文献１の技術では、画質に与える影響が大きい符号ブロックが符号化コードストリームの後尾にあった場合には、それらが切り捨てられることで画質劣化が生じる虞があるため、さらに効果的なレート制御手法が望まれている。
【００１０】
また、ＪＰＥＧ−２０００方式では、一般に負荷が高いエントロピー符号化の処理の軽減手法についての規格も存在しないため、ノウハウの確立が何よりも重要になる。
【００１１】
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばＪＰＥＧ−２０００方式の画像符号化装置において、算術符号化の処理負荷を軽減すると共に、画質劣化を抑えて効果的にレート制御を行う画像符号化装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した目的を達成するために、本発明に係る画像符号化装置は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
【００１３】
また、本発明に係る画像符号化装置は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号化手段は、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
【００１４】
さらに、本発明に係る画像符号化装置は、入力画像の輝度成分及び色差成分のコンポーネントに対してそれぞれ階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号化手段は、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
【００１５】
また、上述した目的を達成するために、本発明に係る画像符号化方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
【００１６】
また、本発明に係る画像符号化方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド内の全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号化工程では、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
【００１７】
さらに、本発明に係る画像符号化方法は、入力画像の輝度成分及び色差成分のコンポーネントに対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号化工程では、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
【発明の効果】
【００１８】
本発明に係る画像符号化装置及びその方法によれば、所定の順序で符号化パスを符号化し、符号化パス又は各ビットプレーンに含まれる符号化パスの算術符号化が終了する毎に生成された算術符号の符号量を累積して所定の目標符号量と比較し、所定の目標符号量未満である場合にのみ、さらに次の符号化パスを符号化するため、符号量制御によって最終的に切り捨てられる符号化パス又はビットプレーンの算術符号化を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎のビットモデリングを行い、ビットモデリングの行われたビットプレーンから符号化パスを算術符号化するため、画質に重要な影響を与えるビットプレーンから符号化コードストリームに含まれることとなり、同じ符号量でも高画質を維持することができる。特に、量子化の際にサブバンド毎に設定された重み係数を用いて例えば低域成分のサブバンドほど量子化ステップサイズが小さくなるように量子化ステップサイズの重み付けを行うことで、より画質を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ＪＰＥＧ−２０００方式により入力画像を圧縮符号化する画像符号化装置及びその方法に適用したものである。以下では、先ず、画像符号化装置の全体構成及びその動作について説明し、次いで、この画像符号化装置において本発明が適用された要部を説明する。
【００２０】
（１）画像符号化装置の構成及び動作
本実施の形態における画像符号化装置の概略構成を図１に示す。図１に示すように、画像符号化装置１は、ＤＣレベルシフト部１０と、ウェーブレット変換部１１と、量子化部１２と、符号ブロック化部１３と、ビットプレーン分解部１４と、ビットモデリング部１５と、算術符号化部１６と、符号量加算部１８と、制御部１９と、ヘッダ生成部２０と、パケット生成部２１とから構成されている。ここで、ビットモデリング部１５と算術符号化部１６とにより、ＥＢＣＯＴ（Embedded Coding with Optimized Truncation）部１７が構成される。
【００２１】
ＤＣレベルシフト部１０は、後段のウェーブレット変換部１１におけるウェーブレット変換を効率的に行い圧縮率を向上させるために、原信号のレベルシフトを行う。原理的には、ＲＧＢ信号は、正の値（符号なしの整数値）を持つため、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率を向上させることができる。これに対して、ＹＣｂＣｒ信号におけるＣｂやＣｒといった色差信号は、正負両方の整数値を持つため、レベルシフトは行われない。
【００２２】
ウェーブレット変換部１１は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答（フィルタ係数）を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図１では図示を省略する。
【００２３】
ＤＣレベルシフト部１０は、フィルタリングに必要な最低限の画像信号Ｄ１０を入力し、上述のようにレベルシフトを行う。そして、ウェーブレット変換部１１は、ＤＣレベルシフト後の画像信号Ｄ１１に対して、ウェーブレット変換を行うフィルタリング処理を行い、ウェーブレット変換係数Ｄ１２を生成する。
【００２４】
このウェーブレット変換では、通常図２に示すように低域成分が繰り返し変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。このことは、図３（Ａ）に示す分割レベル＝１から図３（Ｂ）に示す分割レベル＝３のように、分割レベルを進めていくに従って、同図のようにサブバンドが形成されていくことからも分かる。ここで、図２におけるウェーブレット変換の分割レベルは３であり、この結果計１０個のサブバンドが形成されている。ここで、図２においてＬ，Ｈはそれぞれ低域，高域を表し、Ｌ，Ｈの前の数字は分割レベルを表す。すなわち、例えば１ＬＨは、水平方向が低域で垂直方向が高域である分割レベル＝１のサブバンドを表す。
【００２５】
量子化部１２は、ウェーブレット変換部１１から供給されたウェーブレット変換係数Ｄ１２に対して非可逆圧縮を施す。量子化手段としては、ウェーブレット変換係数Ｄ１２を量子化ステップサイズで除算するスカラ量子化を用いることができる。ここで、ＪＰＥＧ−２０００方式の規格上、上述の非可逆圧縮を行う場合で、非可逆の９×７ウェーブレット変換フィルタを用いる場合には、自動的にスカラ量子化を併用することが決められている。一方、可逆の５×３ウェーブレット変換フィルタを用いる場合には、量子化が行われず、後述するレート制御部１９において符号量制御が行われる。したがって、図１の量子化部１２が動作するのは、実際には非可逆の９×７ウェーブレット変換フィルタを用いた場合である。以下、この非可逆の９×７ウェーブレット変換フィルタを用いる場合を想定して説明を進める。
【００２６】
符号ブロック化部１３は、量子化部１２で生成された量子化係数Ｄ１３を、エントロピー符号化の処理単位である所定の大きさの符号ブロックに分割する。ここで、サブバンド中の符号ブロックの位置関係を図４に示す。通常、例えば６４×６４程度のサイズの符号ブロックが、分割後の全てのサブバンド中に生成される。したがって、図２において最も分割レベルが小さい３ＬＨのサブバンドの大きさが６４０×３２０であった場合には、６４×６４の符号ブロックは、水平方向に１０個、垂直方向に５個、合計５０個存在することになる。符号ブロック化部１３は、符号ブロック毎の量子化係数Ｄ１４をビットプレーン分解部１４に供給し、後段の符号化処理は、これらの符号ブロック毎に行われる。
【００２７】
ビットプレーン分解部１４は、符号ブロック毎の量子化係数Ｄ１４をビットプレーンに分解する。このビットプレーンの概念について図５を用いて説明する。図５（Ａ）は、縦４個、横４個の計１６個の係数からなる量子化係数を仮定したものである。この１６個の係数のうち絶対値が最大のものは１３であり、２進数表現では１１０１となる。したがって、係数の絶対値のビットプレーンは、図５（Ｂ）に示すような４つのビットプレーンから構成される。なお、各ビットプレーンの要素は、全て０又は１の数をとる。一方、量子化係数の符号は、−６が唯一負の値であり、それ以外は０又は正の値である。したがって、符号のビットプレーンは、図５（Ｃ）に示すようになる。ビットプレーン分解部１４は、このビットブレーンに分解された量子化係数Ｄ１５をビットモデリング部１５に供給する。
【００２８】
ビットモデリング部１５は、ビットプレーン分解部１４においてビットプレーンに分解された量子化係数Ｄ１５に対して、以下のようにして係数ビットモデリングを行い、係数ビット毎のシンボル及びコンテキストＤ１６を算術符号化部１６に供給する。そして、算術符号化部１６は、この係数ビット毎のシンボル及びコンテキストＤ１６に対して算術符号化を施し、得られた算術符号Ｄ１７を符号量加算部１８に供給する。ここで、本実施の形態では、特にＪＰＥＧ−２０００規格で定められたＥＢＣＯＴと呼ばれるエントロピー符号化を例に取りながら説明する。このＥＢＣＯＴについては、例えば、文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」等に詳細に記載されている。なお、上述したように、ビットモデリング部１５と算術符号化部１６とにより、ＥＢＣＯＴ部１７が構成される。
【００２９】
ＥＢＣＯＴは、所定の大きさのブロック毎にそのブロック内の係数ビットの統計量を測定しながら符号化する手段であり、符号ブロック単位に量子化係数をエントロピー符号化する。符号ブロックは、最上位ビット（MSB）から最下位ビット（LSB）方向にビットプレーン毎に独立して符号化される。また、符号ブロックの縦横のサイズは、４から２５６までの２の冪乗で、通常は３２×３２、６４×６４、１２８×３２等の大きさが使用される。量子化係数は、ｎビットの符号付き２進数で表されており、ｂｉｔ０からｂｉｔ(ｎ−２)がＬＳＢからＭＳＢまでのそれぞれのビットを表す。なお、残りの１ビットは符号である。符号ブロックの符号化は、ＭＳＢ側のビットプレーンから順番に、以下の(a)〜(c)に示す３種類の符号化パスによって行われる。
【００３０】
(a) Significance Propagation Pass
(b) Magnitude Refinement Pass
(c) Clean Up Pass
３つの符号化パスの用いられる順序を図６に示す。図６に示すように、先ずビットプレーン（ｎ−２）（MSB）がClean Up Pass（以下、適宜ＣＵパスという。）によって符号化される。続いて、順次ＬＳＢ側に向かい、各ビットプレーンが、Significance Propagation Pass（以下、適宜ＳＰパスという。）、Magnitude Refinement Pass（以下、適宜ＭＲパスという。）、ＣＵパスの順序で用いられて符号化される。
【００３１】
但し、実際にはＭＳＢ側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、ゼロ係数のみから構成されるビットプレーン（ゼロビットプレーン）は符号化しない。この順序で３種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質のトレードオフを取る、すなわちレート制御を行うことができる。
【００３２】
ここで、係数ビットの走査（スキャニング）について図７を用いて説明する。符号ブロックは、高さ４個の係数ビット毎にストライプ（stripe）に分けられる。ストライプの幅は、符号ブロックの幅に等しい。スキャン順とは１個の符号ブロック内の全ての係数ビットを辿る順番であり、符号ブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各符号化パスにおいて符号ブロック中の全ての係数ビットがこのスキャン順で処理される。
【００３３】
以下、上述した３つの符号化パスについて説明する。なお、この３つの符号化パスについては、何れも上述した文献文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」に記載されている。
【００３４】
(a) Significance Propagation Pass
あるビットプレーンを符号化するＳＰパスでは、８近傍の少なくとも１つの係数が有意（significant）であるようなnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が１である場合には、符号の正負が続けて算術符号化される。
【００３５】
ここでsignificanceとは、各係数ビットに対して符号化器が持つ状態である。significanceの初期値は、non-significantを表す「０」であり、その係数で１が符号化されたときにsignificantを表す「１」に変化し、以降常に「１」であり続ける。したがって、significanceとは、有効桁の情報を既に符号化したか否かを示すフラグともいえる。あるビットプレーンでＳＰパスが発生すれば、以降のビットプレーンではＳＰパスは発生しない。
【００３６】
(b) Magnitude Refinement Pass
ビットプレーンを符号化するＭＲパスでは、ビットプレーンを符号化するＳＰパスで符号化していないsignificantな係数ビットが算術符号化される。
【００３７】
(c) Clean Up Pass
ビットプレーンを符号化するＣＵパスでは、ビットプレーンを符号化するＳＰパスで符号化していないnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が１である場合には、符号の正負が続けて算術符号化される。
【００３８】
なお、以上の３つの符号化パスでの算術符号化では、ケースに応じてＺＣ（Zero Coding）、ＲＬＣ（Run-Length Coding）、ＳＣ（Sign Coding）、ＭＲ（Magnitude Refinement）が使い分けられて係数のコンテキストが選択される。そして、ＭＱ符号化と呼ばれる算術符号によって、係数ビットのシンボルと選択されたコンテキストとが符号化される。このＭＱ符号化は、ＪＢＩＧ２で規定された学習型の２値算術符号である。ＭＱ符号化については、例えば、文献「ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000」等に記載されている。ＪＰＥＧ−２０００規格では、全ての符号化パスで合計１９種類のコンテキストがある。
【００３９】
以上のようにして、ビットモデリング部１５は、ビットプレーン毎の量子化係数Ｄ１５を３つの符号化パスで処理し、係数ビット毎のシンボル及びコンテキストＤ１６を生成する。そして、算術符号化部１６は、この係数ビット毎のシンボル及びコンテキストＤ１６に対して算術符号化を施す。
【００４０】
符号量加算部１８は、算術符号化部１６から供給された算術符号Ｄ１７の符号量を累積し、累積値を制御部１９に供給する。制御部１９は、この累積値と目標符号量とを比較し、まだ目標符号量に達していない場合には、次のビットプレーンの符号化を行うように、ＥＢＣＯＴ部１７に制御信号Ｄ１９を送信する。そして、符号量加算部１８は、累積値が目標符号量に達した場合には、符号量制御完了後の符号化コードストリームＤ２０をヘッダ生成部２０及びパケット生成部２１に供給する。なお、符号量加算部１８及び制御部１９における処理の詳細や、各ビットプレーンの符号化の順序等については後述する。
【００４１】
ヘッダ生成部２０は、符号量加算部１８から供給された符号化コードストリームＤ２０に基づいて、符号ブロック内での付加情報、例えば符号ブロック内の符号化パスの個数や符号化コードストリームＤ２０のデータ長等をヘッダＤ２１として生成し、このヘッダＤ２１をパケット生成部２１に供給する。
【００４２】
パケット生成部２１は、符号化コードストリームＤ２０とヘッダＤ２１とを合わせてパケットＤ２２を生成し、外部に出力する。この際、パケット生成部２１は、図８に示すように同一解像度レベルから個々のパケットを生成する。なお、図８から分かるように、最低域であるパケット−１は、ＬＬ成分のみを含み、それ以外のパケット−２乃至パケット−４は、ＬＨ成分，ＨＬ成分及びＨＨ成分を含む。
【００４３】
以上のように、本実施の形態における画像符号化装置１は、ウェーブレット変換及びエントロピー符号化を用いて入力画像を高効率に圧縮符号化し、パケット化して出力することができる。
【００４４】
（２）画像符号化装置における適用部分
（２−１）符号量加算部及び制御部の動作
ところで、一般にＪＰＥＧ−２０００方式により入力画像を圧縮符号化する画像符号化装置では、ＥＢＣＯＴにおけるエントロピー符号化の処理負荷が非常に高い。その一方で、目標の圧縮率又はビットレートで符号化する際には、ＥＢＣＯＴで符号化した後に実際には使用されないものが存在し、これらは結果的に無駄になる。
【００４５】
そこで、本実施の形態における符号量加算部１８は、ＥＢＣＯＴ部１７で符号化されたビットプレーン毎の算術符号Ｄ１７の符号量を累積し、累積値を制御部１９に供給する。制御部１９は、この累積値と目標符号量とを比較し、まだ目標符号量に達していない場合には、次のビットプレーンの符号化を行うように、ＥＢＣＯＴ部１７に制御信号Ｄ１９を送信する。そして、符号量加算部１８は、累積値が目標符号量に達した場合には、符号量制御完了後の符号化コードストリームＤ２０をヘッダ生成部２０及びパケット生成部２１に供給する。
【００４６】
このとき、ＥＢＣＯＴ部１７では、全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎の量子化係数Ｄ１５のビットモデリングを行い、得られた係数ビット毎のシンボル及びコンテキストＤ１６を算術符号化する。
【００４７】
具体的に、図９に示すサブバンド内では、図中矢印で示すように、優先順位の高い符号ブロック（図中ＣＢ０）から優先順位の低い符号ブロック（図中ＣＢｎ）の順に、且つ最もビット位置の高いＭＳＢ側のビットプレーンから最もビット位置の低いＬＳＢ側のビットプレーンの順に符号化する。この図９において、ゼロ係数しか存在しないゼロビットプレーンは符号化を行わないので、実際に最初に符号化対象となるのは、図中丸１で示すビットプレーンとなる。このビット位置には、丸１で示すビットプレーンしか存在していないため、このビットプレーンだけを符号化して、次のビット位置に移動する。次のビット位置では、丸２と丸３で示すビットプレーンが符号化対象となる。この操作を繰り返し行い、各ビットプレーンの符号化で発生した符号量を累積加算し、その累積値が目標符号量に達した時点で、例えば図中丸９で示すビットプレーンまで符号化した時点で、残りのビットプレーンの符号化を終了する。したがって、図中丸１０で示すビットプレーンは、丸９で示すビットプレーンと同じビット位置に存在するが、ＥＢＣＯＴ部１７で符号化されないこととなる。
【００４８】
ここで、図９は１つのサブバンドに注目した例であったが、図２のように３回ウェーブレット変換した場合の輝度成分Ｙの全てのサブバンドを符号化する場合には、図１０に示すような順序で符号化する。すなわち、図中矢印で示すように、全サブバンドの全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する。このとき、サブバンド間で同じビット位置のビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に選択する。例えば図２に示したように３回ウェーブレット変換を行った場合、図１１に示すように、０ＬＬ、１ＨＬ、１ＬＨ、１ＨＨ、２ＨＬ、２ＬＨ、２ＨＨ、３ＨＬ、３ＬＨ、３ＨＨの順に選択する。これは、画像の重要な部分が高域よりも低域に集まっているためである。
【００４９】
さらに、画像が複数のコンポーネントから構成されている場合には、図１２に示すような順序で符号化する。この図１２は、輝度成分Ｙと色差成分Ｕ，Ｖとの合計３つのコンポーネントで構成される場合について説明するものである。この図１２では、先ず輝度成分Ｙについて同じビット位置のビットプレーンをＹ−０ＬＬからＹ−３ＨＨの順に符号化し、続いて色差成分Ｕについて同じビット位置のビットプレーンを同様に符号化し、最後に色差成分Ｖについて同じビット位置のビットプレーンを符号化する。そして、Ｖ−３ＨＨのサブバンドまで符号化が終了したら、１つ下位のビット位置に移動し、再びＹ−０ＬＬから同様に同じビット位置のビットプレーンを符号化する。
【００５０】
なお、この図１２では、Ｙ，Ｕ，Ｖの順に符号化したが、これは、一般に色差成分よりも輝度成分に対して人間の視覚特性が敏感なためである。但し、同じ色差成分であるＵ及びＶの重要度は入力画像に依存するため、優先順位を適宜可変にすることが好ましい。
【００５１】
さらに、Ｙ，Ｕ，Ｖの３つのコンポーネントが存在する場合、サブバンド毎の優先順位は、図１３乃至図１５に示すようなバリエーションが可能である。先ず図１３は、上述した輝度成分を優先するものであり、輝度成分Ｙの全てのサブバンドを符号化した後に、色差成分Ｕの全てのサブバンドを符号化し、最後に色差成分Ｖの全てのサブバンドを符号化する。次に図１４は、最低域について全てのコンポーネントを符号化した後で、順次高域へと符号化するものである。輝度の細かいテクスチャよりも色差の低域情報を優先したい場合に、この優先順位を用いるとよい。続いて図１５は、図１３及び図１４の混合型である。この図１５では、輝度成分Ｙは、色差成分Ｕ，Ｖよりも少し高域まで先に処理している。輝度成分を優先するが図１３ほどには優先したくない場合には、この優先順位を用いるとよい。なお、図１５に示す混合型は一例であり、他の順序であってもよい。
【００５２】
ここで、以上説明したビットプレーン毎の符号量の加算処理手順を図１６のフローチャートに示す。この図１６では、符号量加算部１８及び制御部１９における処理のみならず、ＥＢＣＯＴ部１７における符号化処理についても併せて示している。
【００５３】
先ずステップＳ１において、ビットプレーン分解部１４での動作が終了した時点で、量子化係数のビットプレーン情報（ゼロビットプレーン情報を含む）を記憶・保持する。
【００５４】
次にステップＳ２において、累積符号量Ｙを０に初期化し、続くステップＳ３において、ゼロビットプレーンを含む、サブバンド間で最もビット位置の高い最初のビットプレーンを選択する。ここで、同じビット位置に複数のビットプレーンが存在する場合には、上述の通り、サブバンドについては最低域のサブバンドから最高域のサブバンドの順に、コンポーネントについては例えばＹ、Ｕ、Ｖの順に選択する。
【００５５】
続いてステップＳ４において、選択したビットプレーンを符号化し、ステップＳ５において、そのビットプレーンの符号量Ｔ[Ns,Nc,C,B]をＹに加算する。ここで、Ｎｓ，Ｎｃ，Ｃ，Ｂは、それぞれサブバンド番号、コンポーネント番号、符号ブロック番号、ビットプレーン番号を示す。なお、このビットプレーン毎の符号量の算出方法の詳細については後述する。
【００５６】
ステップＳ６では、累積符号量Ｙが目標符号量を上回ったか否かが判別され、累積符号量Ｙが目標符号量を上回った場合（Yes）には処理を終了し、それまでに符号化されたビットプレーンの算術符号を含めた符号化コードストリームＤ２０をヘッダ生成部２０及びパケット生成部２１に供給する。このとき、厳密には目標符号量を超えているため、目標符号量以下に抑えたい場合には、１つ前のビットプレーンの算術符号までを符号化コードストリームＤ２０に含めてヘッダ生成部２０及びパケット生成部２１に供給することが好ましい。一方、累積符号量Ｙが目標符号量以下である場合（No）にはステップＳ７に進む。
【００５７】
ステップＳ７では、同じビット位置のビットプレーンが存在するか否かが判別される。同じビット位置のビットプレーンが存在する場合（Yes）にはステップＳ８に進み、次のビットプレーンを選択してステップＳ４に戻る。一方、同じビット位置のビットプレーンが存在しない場合（No）にはステップＳ９に進む。
【００５８】
ステップＳ９では、ビット位置が最も低いか否か、すなわち最下位ビット（LSB）か否かが判別される。ビット位置が最も低い場合（Yes）には処理を終了し、そうでない場合（No）にはステップＳ１０において最下位ビット（LSB）側の次のビット位置の最初のビットプレーンを選択してステップＳ４に戻る。
【００５９】
以上のように、本実施の形態におけるＥＢＣＯＴ部１７、符号量加算部１８及び制御部１９によれば、所定の順序でビットプレーン毎の量子化係数を符号化し、各ビットプレーンの符号化が終了する毎に得られた算術符号の符号量を累積して目標符号量と比較し、目標符号量未満である場合にのみ、さらに次のビットプレーンの符号化を行うため、最終的に切り捨てられるビットプレーンについては計算負荷が高いＥＢＣＯＴの処理を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、画質に重要な影響を与える優先順位の高いビットプレーンから順に符号化するため、同じ符号量でも高画質を維持することができる。
【００６０】
（２−１−２）変形例
上述の例では、シングルレイヤの場合について説明したが、ＪＰＥＧ−２０００規格では、符号化側で複数のビットプレーンをＭＳＢ側からＬＳＢ側の方向に複数のレイヤに分割してマルチレイヤ化し、個々のレイヤ毎にパケット化することができる。そして復号側で復号するレイヤ数を可変にすることで、スケーラビリティを実現することができる。
【００６１】
図１７は、図８に示したシングルレイヤをマルチレイヤ化した図である。レイヤが増えるに従ってパケットも増えることが分かる。また、図１８は、図１０をマルチレイヤ化した図である。図１８では、レイヤ０，１，２，３の４つのレイヤに分割されている。各レイヤの斜線領域がＥＢＣＯＴ部１７で符号化されるビットプレーンである。図１８より、レイヤ０ではゼロビットプレーンが多いが、レイヤ３ではゼロビットプレーンがなく、全てのビットプレーンが符号化対象となる。
【００６２】
マルチレイヤの場合における符号量の加算処理手順は、基本的には図１６に示したフローチャートの通りであるが、レイヤ毎に目標符号量を設定することができる。そして、あるレイヤでの目標符号量に達した場合には、そのレイヤの残りのビットプレーンの符号化を行わず、次のレイヤの最初のビットプレーンから符号化を始める。このとき、予め符号化を行うレイヤ数を決めておくようにしても構わない。
【００６３】
（２−２）符号化パス毎の符号量の算出方法
ＪＰＥＧ−２０００規格の算術符号化では、符号化パス又はビットプレーンにおける最後の算術符号化が終了した時点で出力されている符号の長さを、そのままその符号化パス又はビットプレーンの符号の長さとすることは一般的にはできない。
【００６４】
そこで、以下では、符号化パス毎の符号量を求める方法を説明する。なお、ビットプレーン毎の符号量については、符号化パス毎の符号量の和として求めることができるため、説明を省略する。
【００６５】
ＪＰＥＧ−２０００規格の符号化方式においては、符号化パスは、終端処理（terminate）される場合とされない場合とがある。終端処理される場合には、出力されている符号の長さがそのままその符号化パスの符号量となる。一方、終端処理されない場合には、出力されている符号に加えて、図１９に示すＢバッファ及びＣレジスタ上のデータも、その符号化パスの符号量に含まれる。このＢバッファ及びＣレジスタは、図１の算術符号化部１６の内部にある。なお、ある符号化パスが終端処理されるか否かは、ＪＰＥＧ−２０００の符号化モードによって決まる。デフォルトの符号化モードでは、終端処理されるのは各符号ブロックで最後の符号化パスのみである。そのため、それ以外の符号化パスでは終端処理されず、したがって、終端処理されない場合の符号量を求めることが重要となる。
【００６６】
本実施の形態では、符号化パスが終端処理されない場合に、その符号化パスの最後の算術符号化が終了した時点で出力が確定している符号量をＬとしたとき、その符号化パスの符号量をＬ＋３として計算する。
【００６７】
以下、この計算方法の妥当性を説明する。図１９に示される通り、Ｂバッファは８ビットの領域、Ｃレジスタは２８ビットの領域である。また、Ｃレジスタの内容は、上位ビットから順にキャリービットｃ１、バイト出力用ビットｂ１〜ｂ８、スペーサービットｓ１〜ｓ３、及び小数部ビットｘ１〜ｘ１６に分けられる。そしてＢバッファにあるデータと、Ｃレジスタにあるデータのうちキャリービットｃ１から小数部ビットの最上位桁であるｘ１までのビットとがあれば、その符号化パスまでの情報を表すのに十分であるという性質がある。
【００６８】
算術符号はＣレジスタ上で計算される。算術符号の計算中にＣレジスタが左シフトされる回数を数えるためにＣＴカウンタがあり、Ｃレジスタが左シフトされる毎に値が１減らされるようになっている。そのＣＴカウンタの値が０になったとき、Ｃレジスタから１バイトのデータがＢバッファに出力される。
【００６９】
この処理をＢバッファの内容が１６進数でＦＦであった場合と、そうでなかった場合に分けて説明する。
【００７０】
先ず、Ｂバッファの内容が１６進数でＦＦでなかった場合について、図２０を用いて説明する。始めに、Ｂバッファのデータとキャリービットｃ１の値とを加えた値が確定した符号として出力される。続いて、Ｃレジスタのバイト出力用ビットｂ１〜ｂ８の値がＢバッファに移される。さらに、ＣＴカウンタの値が８にセットされる。
【００７１】
次に、Ｂバッファの内容が１６進数でＦＦであった場合について、図２１を用いて説明する。始めに、Ｂバッファの内容がそのまま確定した符号として出力される。続いてＣレジスタのキャリービットｃ１とバイト出力用ビットｂ１〜ｂ７の値とがＢバッファに移される。さらに、ＣＴカウンタの値が７にセットされる。
【００７２】
ここで、図１９に示した符号に必要なデータが実際に確定した符号として出力されるまでの動作について考える。
【００７３】
先ず、Ｂバッファの内容がＦＦ以外であり、常に図２０に示した処理が適用される例について、図２２を用いて説明する。符号化パスの最後の算術符号化が終了した時点におけるＢバッファ及びＣレジスタが（ａ）の状態で表されるとする。図２０に示した処理を適用することで（ｂ）の状態となり、１つ目の符号バイトが確定して出力される。続いてＣＴ＝０になるまでＣレジスタを８回左シフトし、（ｃ）の状態になる。そして、図２０に示した処理を適用することで（ｄ）の状態となり、２つ目の符号バイトが確定して出力される。続いてＣＴ＝０になるまでＣレジスタを８回左シフトし、（ｅ）の状態となる。この（ｅ）の状態において、符号に必要なデータはＢバッファにのみ残っている。そのため、３回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、この場合における符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に３を加えたものとなる。
【００７４】
次に、Ｂバッファの内容がＦＦとなり、図２１に示した処理が適用される場合がある例について、図２３を用いて説明する。符号化パスの最後の算術符号化が終わった時点におけるＢバッファ及びＣレジスタが（ａ）の状態で表されるとする。図２１に示した処理を適用することで（ｂ）の状態となり、１つ目の符号バイトが確定して出力される。続いてＣＴ＝０になるまでＣレジスタを７回左シフトし、（ｃ）の状態になる。ＪＰＥＧ−２０００規格の特徴として、Ｂバッファの値としてＦＦが続くことはないため、（ｃ）の状態におけるＢバッファの値はＦＦではない。そこで、図２０に示した処理を適応することで（ｄ）の状態となり、２つ目の符号バイトが確定して出力される。続いてＣＴ＝０になるまでＣレジスタを８回左シフトし、（ｅ）の状態となる。この（ｅ）の状態において、符号に必要なデータはＢバッファにのみ残っている。そのため、３回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、この場合についても、符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に３を加えたものとなる。
【００７５】
図示しないが、ＢバッファがＦＦになるタイミングが異なる場合についても同様である。つまり、符号化パスが終端処理されていない場合、その符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に３を加えたものである。
【００７６】
図１の算術符号化部１６において以上で示した符号化パスの符号量の計算方法を用いることにより、符号化パスが終端処理されていない場合にも符号化パス及びビットプレーンの符号量を求めることができる。
【００７７】
なお、符号化パスが終端処理されていない場合には、その符号化パスを表す符号の最後の部分は未確定であり、次の符号化パスのデータによって値が変わる。しかし本実施の形態では、図１９に示したＣレジスタのｘ１の位置のビットが出力されるだけの符号量があれば十分であるという性質を用い、その符号量を次の符号化パスの符号化を始める前に求めている。そのため、本実施の形態によれば、続く符号化パスをＥＢＣＯＴ部１７で符号化する前に、各符号化パスの符号量を求めることが可能になる。したがって、ＥＢＣＯＴ符号化を行いながら符号量を累積し、目標符号量になり次第、以降の符号化を省略して高速に符号化を完了するということが効率よくできる。
【００７８】
（２−２−２）変形例
上述の例では、ＣＴカウンタの値に関わりなく、符号化パスが終端処理されない場合に、その符号化パスの最後の算術符号化が終了した時点で出力が確定している符号量をＬとしたとき、その符号化パスの符号量をＬ＋３として計算したが、ＣＴカウンタの値を考慮し、ＣＴカウンタの値が５以上のときにＬ＋２、ＣＴカウンタの値が５未満のときにＬ＋３として計算するようにしても構わない。
【００７９】
これにより、上述の例よりも少ない符号量で済み、圧縮効率を向上させることができる。但し、ＣＴカウンタの値を参照して値を切り替えるオーバーヘッドがあるため、処理を少しでも減らしたい場合には、上述の手法を用いる方がよい。
【００８０】
以下、この計算方法の妥当性を説明する。符号化パスにおける最後の算術符号化が終了した時点におけるＢバッファ及びＣレジスタが、図２４の（ａ）の状態で表されるとする。このとき、ＣＴカウンタの値が５であるため、桁溢れせずにＣレジスタをあと５回左シフトすることができる。シフト後は（ｂ）の状態で表される。このとき、Ｂバッファの内容がＦＦであるため、図２１に示した処理を適用することで（ｃ）の状態となり、１つ目の符号バイトが確定して出力される。続いてＣＴ＝０になるまでＣレジスタを７回左シフトし、（ｄ）の状態になる。この（ｄ）の状態において、符号に必要なデータはＢバッファにのみ残っている。そのため、２回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、ＣＴカウンタの値が５である場合、符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に２を加えたものとなる。
【００８１】
なお、ＣＴカウンタの値が５より大きい場合も、同様に２回の符号バイト確定出力によって符号に必要なデータを全て出力することができる。また、Ｂバッファの内容がＦＦでなかった場合も同様である。つまり、符号化パスが終端処理されていない場合、その符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力確定している符号量をＬとしたとき、ＣＴカウンタの値が５以上の場合にはＬ＋２となり、ＣＴカウンタの値が５未満の場合にはＬ＋３となる。
【００８２】
（２−３）量子化部の動作
上述したように、量子化部１２は、ウェーブレット変換部１１から供給されたウェーブレット変換係数Ｄ１２に対して、量子化ステップサイズで除算するスカラ量子化により非可逆圧縮を施す。
【００８３】
ところで、ＪＰＥＧ−２０００規格で規定されている量子化は、以下の式（１）に示すように、ある変換係数ａｂ（ｘ，ｙ）（但し、ｘは水平方向の位置を示し、ｙは垂直方向の位置を示す）を、サブバンドｂの量子化ステップサイズΔＷｂで除算することによって、量子化係数Ｑｂ（ｘ，ｙ）を算出するものである。
【００８４】
【数１】
2008245296.tif 000003
式（１）におけるΔＷｂは、以下の式（２）に従って算出することができる。ここで、ΔＢ−Ｓｔｅｐは、全サブバンドで共通の基本ステップサイズを示し、Ｌ２ｂは、サブバンドｂの合成フィルタ基底波形のＬ２ノルムを示し、ΔＮｂは、サブバンドｂの正規化量子化ステップサイズを示す。
【００８５】
【数２】
2008245296.tif 000004
次に、ΔＷｂが算出されてから、以下の式（３）に従って指数εｂ及び仮数μｂを求める。ここで、Ｒｂはサブバンドｂにおけるダイナミックレンジである。これらの値εｂ、μｂが実際に最終的な符号化コードストリームに含まれることになる。
【００８６】
【数３】
2008245296.tif 000005
ここで、本実施の形態における量子化部１２は、量子化ステップサイズΔＷｂを求める際に、上述した式（２）を用いるのではなく、サブバンドｂ毎の重み係数ＶＷｂを用いて、以下の式（４）に従って算出する。
【００８７】
【数４】
2008245296.tif 000006
この重み係数ＶＷｂは、サブバンド毎、或いはＹ（輝度）、Ｃｂ，Ｃｒ（色差）といったコンポーネント毎に設定することができ、重み係数テーブルとして記憶される。この重み係数の値が大きい場合には、上述した式（４）からΔＷｂが小さくなり、式（１）から量子化係数Ｑｂ（ｘ，ｙ）が大きくなるため、画像の重要な部分が集中している低域ほど値を大きくすることが好ましい。また、色差情報（Cb，Cr）よりも輝度情報（Y）に対して人間の視覚特性が敏感であるため、輝度情報（Y）の方の値を大きくすることが好ましい。
【００８８】
５回ウェーブレット変換・分割を行う場合の重み係数テーブルの一例を図２５に示す。図２５に示すように、分割レベルが小さい低域ほど値が大きく、また、色差情報（Cb，Cr）よりも輝度情報（Y）の方が値が大きくなっている。
【００８９】
後段の符号ブロック化部１３では、量子化部１２で生成された量子化係数Ｄ１３が所定の大きさの符号ブロックに分割され、ビットプレーン分解部１４では、符号ブロック毎の量子化係数Ｄ１４がビットプレーンに分解されるため、量子化係数の値が大きいほど、ビットプレーン数が多くなる。したがって、上述したように、符号量加算部１８及び制御部１９において、全ての符号ブロックで最もビット位置の高い算術符号から最下位ビットの算術符号の順に、ビットプレーン毎又は符号化パス毎の算術符号を選択する場合には、より重要な情報を優先的に符号化コードストリームに含めることができ、結果として高画質な符号化画像を提供することができる。
【００９０】
以上、本発明を実施するための最良の形態について説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００９１】
例えば、上述した実施の形態では、ビットプレーン毎に符号量制御を行うものとして説明したが、これに限定されるものではなく、符号化パス毎に符号量制御を行うようにしても構わない。この場合、上述した優先順位に従って符号化パス毎の算術符号化を行い、１つの符号化パスを算術符号化する毎に符号量の累積値と目標符号量とを比較する。そして、累積値が目標符号量以下である場合にのみ、次の符号化パスを算術符号化する。
【産業上の利用可能性】
【００９２】
以上説明した本発明によれば、例えばＪＰＥＧ−２０００方式に従って入力画像を符号化する際に、最終的に切り捨てられるビットプレーンについて計算負荷が高いＥＢＣＯＴの処理を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、画質に重要な影響を与える優先順位の高いビットプレーンから順に符号化することにより、同じ符号量でも高画質を維持することができる。
【図面の簡単な説明】
【００９３】
【図１】本実施の形態における画像符号化装置の概略構成を説明する図である。
【図２】３回ウェーブレット変換した場合のサブバンドを説明する図である。
【図３】実際の画像をウェーブレット変換した場合のサブバンドを説明する図である。
【図４】符号ブロックとサブバンドとの関係を説明する図である。
【図５】ビットプレーンを説明する図であり、同図（Ａ）は、計１６個の係数から成る量子化係数を示し、同図（Ｂ）は、係数の絶対値のビットプレーンを示し、同図（Ｃ）は、符号のビットプレーンを示す。
【図６】符号ブロック内の符号化パスの処理手順を説明する図である。
【図７】符号ブロック内の係数のスキャン順序を説明する図である。
【図８】同画像符号化装置で生成されるパケットを説明する図である。
【図９】１つのサブバンド内におけるビットプレーンの選択順序を説明する図である。
【図１０】複数のサブバンド間におけるビットプレーンの選択順序を説明する図である。
【図１１】複数のサブバンドの優先順位を説明する図である。
【図１２】３つのコンポーネントが存在する場合におけるビットプレーンの選択順序を説明する図である。
【図１３】３つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。
【図１４】３つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。
【図１５】３つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。
【図１６】ビットプレーン毎の符号量の加算処理手順を説明するフローチャートである。
【図１７】図８をマルチレイヤ化した図である。
【図１８】図１０をマルチレイヤ化した図である。
【図１９】同画像符号化装置の算術符号化部におけるＢバッファ及びＣレジスタを示す図である。
【図２０】Ｂバッファの内容が１６進数でＦＦでなかった場合における符号の確定出力を説明する図である。
【図２１】Ｂバッファの内容が１６進数でＦＦであった場合における符号の確定出力を説明する図である。
【図２２】常に図２０の処理が適用される場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。
【図２３】図２１の処理が適用されることがある場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。
【図２４】ＣＴカウンタの値が５である場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。
【図２５】サブバンド毎に重み付けして量子化する場合の重み係数テーブルの一例を示す図である。
【符号の説明】
【００９４】
１  画像符号化装置、１０  ＤＣレベルシフト部、１１  ウェーブレット変換部、１２  量子化部、１３  符号ブロック化部、１４  ビットプレーン分解部、１５  ビットモデリング部、１６  算術符号化部、１７  ＥＢＣＯＴ部、１８  符号量加算部、１９  制御部、２０  ヘッダ生成部、２１  パケット生成部
【図１】
2008245296.tif 000007
【図２】
2008245296.tif 000008
【図３】
2008245296.tif 000009
【図４】
2008245296.tif 000010
【図５】
2008245296.tif 000011
【図６】
2008245296.tif 000012
【図７】
2008245296.tif 000013
【図８】
2008245296.tif 000014
【図９】
2008245296.tif 000015
【図１０】
2008245296.tif 000016
【図１１】
2008245296.tif 000017
【図１２】
2008245296.tif 000018
【図１３】
2008245296.tif 000019
【図１４】
2008245296.tif 000020
【図１５】
2008245296.tif 000021
【図１６】
2008245296.tif 000022
【図１７】
2008245296.tif 000023
【図１８】
2008245296.tif 000024
【図１９】
2008245296.tif 000025
【図２０】
2008245296.tif 000026
【図２１】
2008245296.tif 000027
【図２２】
2008245296.tif 000028
【図２３】
2008245296.tif 000029
【図２４】
2008245296.tif 000030
【図２５】
2008245296.tif 000031
【手続補正書】
【提出日】平成20年8月27日(2008.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データを符号化する符号化装置において、
上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成手段と、
上記画像データをフィルタリングして生成されたサブバンド内の符号ブロックを対象として、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化手段と、
各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化手段を制御する制御手段と
を備える符号化装置。
【請求項２】
上記制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量以下である場合に、次のビットプレーンにおける符号化を行うように上記符号化手段を制御する
請求項１記載の符号化装置。
【請求項３】
上記制御手段は、上記目標符号量を上回る直前のビットプレーンの符号化までに生成された符号を、上記符号化手段により生成される符号化ストリームに含める
請求項１記載の符号化装置。
【請求項４】
上記符号化手段は、ＪＰＥＧ−２０００方式に従って符号化する
請求項１記載の符号化装置。
【請求項５】
画像データを符号化する符号化方法において、
上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成工程と、
上記画像データをフィルタリングして生成されたサブバンド内の符号ブロックを対象として、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化工程と、
各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化工程を制御する制御工程と
を備える符号化方法。
【請求項６】
画像データを符号化する符号化装置において、
上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成手段と、
上記画像データをフィルタリングして生成された複数のサブバンドの符号ブロックを対象として、最低域のサブバンドから最高域のサブバンドの順に、かつ、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化手段と、
各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化手段を制御する制御手段と
を備える符号化装置。
【請求項７】
上記画像データは輝度成分と色差成分とから構成されており、
上記符号化手段は、輝度成分から色差成分の順に符号化する
請求項６記載の符号化装置。
【請求項８】
画像データを符号化する符号化方法において、
上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成工程と、
上記画像データをフィルタリングして生成された複数のサブバンドの符号ブロックを対象として、最低域のサブバンドから最高域のサブバンドの順に、かつ、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化工程と、
各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化工程を制御する制御工程と
を備える符号化方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、例えばＪＰＥＧ−２０００方式のように、ウェーブレット変換とエントロピー符号化とにより画像を圧縮する符号化装置及びその方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
上述した目的を達成するために、本発明に係る符号化装置は、画像データを符号化する符号化装置において、上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成手段と、上記画像データをフィルタリングして生成されたサブバンド内の符号ブロックを対象として、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化手段と、各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化手段を制御する制御手段とを備える。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明に係る符号化方法は、画像データを符号化する符号化方法において、上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成工程と、上記画像データをフィルタリングして生成されたサブバンド内の符号ブロックを対象として、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化工程と、各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化工程を制御する制御工程とを備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明に係る符号化装置は、画像データを符号化する符号化装置において、上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成手段と、上記画像データをフィルタリングして生成された複数のサブバンドの符号ブロックを対象として、最低域のサブバンドから最高域のサブバンドの順に、かつ、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化手段と、各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化手段を制御する制御手段とを備える。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明に係る符号化方法は、画像データを符号化する符号化方法において、上記画像データを符号ブロックに分割して、最上位ビットから最下位ビットに至るビットプレーンを生成する生成工程と、上記画像データをフィルタリングして生成された複数のサブバンドの符号ブロックを対象として、最低域のサブバンドから最高域のサブバンドの順に、かつ、最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎に符号化して、符号化ストリーム生成する符号化工程と、各ビットプレーンにおける符号化が終了する毎に生成された符号量の累積値が目標符号量を上回った場合に、次のビットプレーンにおける符号化を停止するように上記符号化工程を制御する制御工程とを備える。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】