(57)【要約】【課題】データの符号化または復号の負荷を低減させることができるようにする。【解決手段】エンコーダ１００の選択部１０６は、所定の条件が満たされる位より上位のビットプレーンについて圧縮データを選択し、所定の条件が満たされる位、およびそれより下位のビットプレーンについて非圧縮データを選択する。さらに、選択部１０６は、所定の条件が満たされる位より下位において符号化部１０５によるエントロピ符号化処理を省略するように制御する。これに対してデコーダは、コードストリームを解読し、圧縮データのビットプレーンは復号し、非圧縮データのビットプレーンは復号せずにウェーブレット逆変換を行い、復号画像データを生成する。本発明は、例えば、エンコーダまたはデコーダに適用することができる。【選択図】図１
2010093669.tif 000002
【特許請求の範囲】
【請求項１】
画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、
前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、
前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択手段と、
前記所定順において、前記選択手段により前記非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて前記非圧縮データを選択する選択制御手段と
を備える情報処理装置。
【請求項２】
前記符号化手段は、JPEG（Joint Photographic Experts Group）2000のEBCOT（Embedded Block Coding with Optimized Truncation）により前記符号化を行う
請求項１に記載の情報処理装置。
【請求項３】
前記所定順は、前記ビット深度の上位側から下位側に向かう順である
請求項１に記載の情報処理装置。
【請求項４】
前記選択手段は、前記画像データの符号化結果として前記圧縮データを選択するビットプレーン数が最大数に達した場合、前記圧縮率に関わらず、前記非圧縮データを前記画像データの符号化結果として選択する
請求項１に記載の情報処理装置。
【請求項５】
前記選択手段は、
前記ビットプレーン毎の圧縮データの圧縮率を算出する圧縮率算出手段と、
前記圧縮率算出手段により算出された前記圧縮率を前記目標圧縮率と比較し、前記圧縮率が前記目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記圧縮率が前記目標圧縮率以下の場合、前記非圧縮データを前記画像データの符号化結果として選択する比較選択手段と
を備える請求項１に記載の情報処理装置。
【請求項６】
前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、
前記ビットプレーン毎の圧縮データの圧縮率と前記目標圧縮率との大小関係を判定する判定手段と
をさらに備え、
前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、
前記判定手段は、前記サブバンド毎に独立して設定される前記目標圧縮率を用いて、前記圧縮率の判定を行う
請求項１に記載の情報処理装置。
【請求項７】
前記目標圧縮率を設定する設定手段をさらに備え、
前記判定手段は、前記設定手段により設定された前記目標圧縮率を用いて、前記圧縮率の判定を行う
請求項６に記載の情報処理装置。
【請求項８】
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備える
請求項１に記載の情報処理装置。
【請求項９】
情報処理装置が、
画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、
前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、
符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択し、
前記所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて前記非圧縮データを選択する
情報処理方法。
【請求項１０】
画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、
前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、
所定数の前記ビットプレーンについて、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データを、前記画像データの符号化結果として選択する選択手段と、
前記所定順において、前記選択手段により前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択制御手段と
を備える情報処理装置。
【請求項１１】
前記所定順は、前記ビット深度の上位側から下位側に向かう順である
請求項１０に記載の情報処理装置。
【請求項１２】
前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段をさらに備え、
前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、
前記選択手段は、前記サブバンド毎に独立して設定される前記所定数の前記ビットプレーンについて、前記圧縮データを、前記画像データの符号化結果として選択する
請求項１０に記載の情報処理装置。
【請求項１３】
前記所定数を設定する設定手段をさらに備え、
前記選択手段は、前記設定手段により設定された前記所定数の前記ビットプレーンについて、前記圧縮データを、前記画像データの符号化結果として選択する
請求項１０に記載の情報処理装置。
【請求項１４】
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備える
請求項１０に記載の情報処理装置。
【請求項１５】
情報処理装置が、
画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、
前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、
所定数の前記ビットプレーンについて、符号化されて生成された前記ビットプレーン毎の圧縮データを、前記画像データの符号化結果として選択し、
前記所定順において、前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する
情報処理方法。
【請求項１６】
画像データの一部または全部が符号化されて生成されたデータを解読し、所定のデータ単位毎に、前記データを復号するか否かを判定する解読判定手段と、
前記解読判定手段による判定結果に基づいて、前記データの一部または全部を復号する復号手段と
を備える情報処理装置。
【請求項１７】
前記解読判定手段は、前記データを解読して、処理対象とした前記所定のデータ単位の前記データの数をカウントし、カウント値が所定数を超えるまで前記データを復号すると判定し、前記カウント値が前記所定数を超えた場合、前記データを復号しないと判定する
請求項１６に記載の情報処理装置。
【請求項１８】
前記解読判定手段は、前記データを解読して、前記データに含まれる、前記所定のデータ単位の前記データが圧縮データであるか否かを示す制御情報を取得し、前記制御情報に基づいて、前記データを復号するか否かを判定する
請求項１６に記載の情報処理装置。
【請求項１９】
前記復号手段により復号された前記データおよび前記復号手段により復号されなかった前記データをウェーブレット逆変換するウェーブレット逆変換手段をさらに備える
請求項１６に記載の情報処理装置。
【請求項２０】
情報処理装置が、
画像データの一部または全部が符号化されて生成されたデータを解読し、所定のデータ単位毎に、前記データを復号するか否かを判定し、
判定結果に基づいて、前記データの一部または全部を復号する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、データの符号化または復号の負荷を低減させることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来のアーカイブシステムや画像のデータベースでは、マスタ画像と呼ばれる非圧縮の画像を記憶・保持しておき、これを必要に応じて圧縮し、圧縮結果のファイルをネットワーク経由で配信したり記録メディアに保存したりする等のオペレーションが行われる。
【０００３】
映画制作では、まず35mmまたは60mmフィルムで撮影して、フィルムスキャンコンバータという機器を用いてデジタルデータにコンバートする。このデジタル化された映画ソースがマスタ画像になる。
【０００４】
医用の場合でも、レントゲン写真の画像は直接非圧縮のデータになる場合もあるが、フィルムの場合は上記と同様にフィルムスキャンされたデジタルデータがマスタ画像になる。
【０００５】
また、最近の一眼レフデジカメでは、CCD（Charge Coupled Device）やCMOS（Complementary Metal Oxide Semiconductor）のイメージセンサから取得したRAWデータまたはRGBデータを、非圧縮のままメモリカードに保存することができるものが多い。
【０００６】
以上の様に、非圧縮のマスタ画像は画像としてのデータに欠損がないため重要であるが、難点はデータサイズが巨大になることである。従って、マスタ画像をネットワーク経由で転送する場合や、メモリカードに多くの画像を記録する場合には、何らかの圧縮（エンコード）を余議なくされる。
【０００７】
また、このようなマスタ画像を記録するためのハードディスクの容量は有限であることから、マスタ画像を可逆圧縮して、この可逆圧縮ファイルをハードディスクに記憶させる手段も採られている。その際、マスタ画像はテープなどのより安価な記録媒体にセーブしておくのが便利である。
【０００８】
可逆圧縮（ロスレス圧縮とも言う）の技術としては、ファイル圧縮で汎用のZip、LZ77圧縮などが有名であるが、画像圧縮には不適（圧縮率が悪い）という問題点がある。国際規格のJPEG（Joint Photographic Experts Group）にも、可逆圧縮がJPEG-LSとして規格化されているが、実用性という点では全く普及していない。
【０００９】
可逆圧縮の規格として、さらに、JPEG2000がある（例えば、特許文献１参照）。このJPEG2000は、可逆と非可逆の２つの圧縮オプションが用意されており、さらに、スケラビリティ（解像度、画質、コンポーネントなど）などの他の優れた利点を兼ね備えている。このJPEG2000は、非可逆用の圧縮として、例えばデジタルシネマに利用される。DCI規格（Digital Cinema Initiatives）によれば、JPEG2000 Part-1を圧縮・伸長技術として使うことが決められている。
【００１０】
また、JPEG2000は、可逆用の圧縮としても利用される。例えば、非圧縮のマスタ画像を一時保存する際の圧縮に利用される。また、JPEG2000の特徴であるスケラビリティを利用して、まず可逆圧縮を行って圧縮ファイルを生成しておき、必要に応じてDCI規格などの非可逆ファイルに変換するような場合にも利用される。
【００１１】
特許文献１には、固定小数点型ウェーブレット変換器と、整数型ウェーブレット変換器の両方を備え、可逆変換および非可逆変換の両方を行うことができ、画質や圧縮率の選択の自由度を高め得るような画像符号化装置が記載されている。
【００１２】
【特許文献１】特許３９０６６３０号
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したようなJPEG2000方式の場合、可逆圧縮の処理量が大きすぎ、実用的でない恐れがあった。JPEG2000のエントロピ符号化では、ビットモデリングと算術符号化を組み合わせたEBCOT（Embedded Block Coding with Optimized Truncation）という技術が採用されている。EBCOTはJPEG2000の高い圧縮性能の基盤になっている反面、非常に計算負荷が大きいという難点も有する。JPEG2000の可逆圧縮の場合、EBCOTが全ビットプレーンに対して実行されるため、更に計算負荷が増大する。したがって、JPEG2000可逆圧縮方式のエンコーダを実現する場合、この負荷の大きさによりハードウェアコストが許容範囲を超えるほど増大してしまい、実現が困難になる恐れがあった。
【００１４】
また、処理負荷の増大から、符号化の処理時間が許容範囲を超えるほど増大する恐れがあった。例えば、DCI規格のマスタ画像は高解像度画像（例えば４Ｋ×２Ｋ）であり、JPEG2000可逆圧縮方式により、このようなマスタ画像を１ピクチャ分可逆圧縮すると、一般的なエンコーダではその処理に数秒を要する。このペースでは、例えば約２時間程度のコンテンツの符号化を行うのに、全体で数日の期間を要する。このように処理時間が増大すると、例えば、ハードウェア占有や電気代等の処理コストだけでなく、作業員の人件費も増大する恐れがある。
【００１５】
従って、圧縮率を犠牲にしないで、JPEG2000可逆圧縮の計算負荷を軽減する手段の確立が、非常に望まれてきた。
【００１６】
本発明はこのような問題を解決するためのものであり、データの符号化または復号の負荷を低減させることができるようにするものである。
【課題を解決するための手段】
【００１７】
本発明の第１の側面は、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択手段と、前記所定順において、前記選択手段により前記非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて前記非圧縮データを選択する選択制御手段とを備える情報処理装置である。
【００１８】
前記符号化手段は、JPEG（Joint Photographic Experts Group）2000のEBCOT（Embedded Block Coding with Optimized Truncation）により前記符号化を行うことができる。
【００１９】
前記所定順は、前記ビット深度の上位側から下位側に向かう順であることができる。
【００２０】
前記選択手段は、前記画像データの符号化結果として前記圧縮データを選択するビットプレーン数が最大数に達した場合、前記圧縮率に関わらず、前記非圧縮データを前記画像データの符号化結果として選択することができる。
【００２１】
前記選択手段は、前記ビットプレーン毎の圧縮データの圧縮率を算出する圧縮率算出手段と、前記圧縮率算出手段により算出された前記圧縮率を前記目標とする圧縮率と比較し、前記圧縮率が前記目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記圧縮率が前記目標圧縮率以下の場合、前記非圧縮データを前記画像データの符号化結果として選択する比較選択手段とを備えることができる。
【００２２】
前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、前記ビットプレーン毎の圧縮データの圧縮率と前記目標圧縮率との大小関係を判定する判定手段とをさらに備え、前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、前記判定手段は、前記サブバンド毎に独立して設定される前記目標圧縮率を用いて、前記圧縮率の判定を行うことができる。
【００２３】
前記目標圧縮率を設定する設定手段をさらに備え、前記手段は、前記設定手段により設定された前記目標圧縮率を用いて、前記圧縮率の判定を行うことができる。
【００２４】
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備えることができる。
【００２５】
本発明の第１の側面は、また、情報処理装置が、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が、目標とする圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択し、前記所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて前記非圧縮データを選択する情報処理方法である。
【００２６】
本発明の第２の側面は、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、所定数の前記ビットプレーンについて、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データを、前記画像データの符号化結果として選択する選択手段と、前記所定順において、前記選択手段により前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択制御手段とを備える情報処理装置である。
【００２７】
前記所定順は、前記ビット深度の上位側から下位側に向かう順であることができる。
【００２８】
前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段をさらに備え、前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、前記選択手段は、前記サブバンド毎に独立して設定される前記所定数の前記ビットプレーンについて、前記圧縮データを、前記画像データの符号化結果として選択することができる。
【００２９】
前記所定数を設定する設定手段をさらに備え、前記選択手段は、前記設定手段により設定された前記所定数の前記ビットプレーンについて、前記圧縮データを、前記画像データの符号化結果として選択することができる。
【００３０】
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備えることができる。
【００３１】
本発明の第２の側面は、また、情報処理装置が、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、所定数の前記ビットプレーンについて、符号化されて生成された前記ビットプレーン毎の圧縮データを、前記画像データの符号化結果として選択し、前記所定順において、前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する情報処理方法である。
【００３２】
本発明の第３の側面は、画像データの一部または全部が符号化されて生成されたデータを解読し、所定のデータ単位毎に、前記データを復号するか否かを判定する解読判定手段と、前記解読判定手段による判定結果に基づいて、前記データの一部または全部を復号する復号手段とを備える情報処理装置である。
【００３３】
前記解読判定手段は、前記データを解読して、処理対象とした前記所定のデータ単位の前記データの数をカウントし、カウント値が所定数を超えるまで前記データを復号すると判定し、前記カウント値が前記所定数を超えた場合、前記データを復号しないと判定することができる。
【００３４】
前記解読判定手段は、前記データを解読して、前記データに含まれる、前記所定のデータ単位の前記データが圧縮データであるか否かを示す制御情報を取得し、前記制御情報に基づいて、前記データを復号するか否かを判定することができる。
【００３５】
前記復号手段により復号された前記データおよび前記復号手段により復号されなかった前記データをウェーブレット逆変換するウェーブレット逆変換手段をさらに備えることができる。
【００３６】
本発明の第３の側面は、また、情報処理装置が、画像データの一部または全部が符号化されて生成されたデータを解読し、所定のデータ単位毎に、前記データを復号するか否かを判定し、判定結果に基づいて、前記データの一部または全部を復号する情報処理方法である。
【００３７】
本発明の第１の側面においては、画像データが、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開され、ビットプレーンに展開された画像データが、所定順に、ビットプレーン毎に符号化され、符号化されて生成されたビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、圧縮データが画像データの符号化結果として選択され、ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前のビットプレーン毎の画像データである非圧縮データが画像データの符号化結果として選択され、所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理が中止されて非圧縮データが選択される。
【００３８】
本発明の第２の側面においては、画像データが、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビット）の集合であるビットプレーンに展開され、ビットプレーンに展開された画像データが、所定順に、ビットプレーン毎に符号化され、所定数のビットプレーンについて、符号化されて生成されたビットプレーン毎の圧縮データが、画像データの符号化結果として選択され、所定順において、圧縮データが選択された所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理が中止されて、符号化される前のビットプレーン毎の画像データである非圧縮データが画像データの符号化結果として選択される。
【００３９】
本発明の第３の側面においては、画像データの一部または全部が符号化されて生成されたデータが解読され、所定のデータ単位毎に、データを復号するか否かが判定され、判定結果に基づいて、データの一部または全部が復号される。
【発明の効果】
【００４０】
本発明によれば、データの符号化または復号を行うことができる。特に、データ符号化または復号の処理量を低減させ、処理時間の低減を可能とすることができる。
【発明を実施するための最良の形態】
【００４１】
以下、発明を実施するための最良の形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（符号化処理：圧縮率に基づいて圧縮・非圧縮選択を行う例）
２．第２の実施の形態（符号化処理：固定数に基づいて圧縮・非圧縮選択を行う例）
３．第３の実施の形態（符号化処理：圧縮率および固定数に基づいて圧縮・非圧縮選択を行う例）
４．第４の実施の形態（符号化処理：圧縮・非圧縮選択の基準を制御する例）
５．第５の実施の形態（復号処理：圧縮・非圧縮選択されたコードストリームの復号を行う例）
【００４２】
＜１．第１の実施の形態＞
［エンコーダの構成例］
図１は、本発明を適用したエンコーダの構成例を示すブロック図である。必要に応じて図２乃至図６を参照して説明する。図１に示されるエンコーダ１００は、画像データをJPEG（Joint Photographic Experts Group）2000の方式で符号化して圧縮する符号化装置である。エンコーダ１００は、画像データを可逆圧縮する。もちろん、非可逆圧縮するようにしてもよい。
【００４３】
エンコーダ１００は、画像データをウェーブレット変換し、得られた係数を、コードブロック毎にビットプレーンに展開し、ビットプレーン毎にエントロピ符号化する。
【００４４】
JPEG2000のビットプレーンは、下位ビット側のものほどランダムノイズが多くなる傾向があり、エントロピ符号化による圧縮の圧縮率（メリット）が低下する。これに対して、エントロピ符号化の処理量（デメリット）は、どのビットプレーンを処理対象とする場合も大きな変化はない。つまり、処理対象のビットプレーンが下位ビット側になるほど、エントロピ符号化により得られるメリットが、デメリットに対して小さくなる。
【００４５】
そこで、エンコーダ１００は、上位ビット（MSB）側のビットプレーンから順にエントロピ符号化していき、途中のビットプレーンにおいてそのエントロピ符号化を終了する。つまり、エンコーダ１００は、上位ビット側の一部のビットプレーンのみエントロピ符号化し、残りの下位側のビットプレーンは符号化せずに出力する。
【００４６】
換言すれば、エンコーダ１００は、得られる効果が大きい、上位ビット側のビットプレーンに対してのみエントロピ符号化を行い、得られる効果が小さい、下位ビット側のビットプレーンに対しては符号化処理を省略する。この符号化処理の省略により、エンコーダ１００は、処理量を低減させることができる。しかも、圧縮率が低くなる下位ビット側のビットプレーンの符号化処理のみを省略するので、圧縮効率に対する影響を小さくすることができる。
【００４７】
図１に示されるように、エンコーダ１００は、DCレベルシフト部１０１、ウェーブレット変換部１０２、コードブロック化部１０３、ビットプレーン展開部１０４、符号化部１０５、選択部１０６、およびパケット生成部１０７を有する。
【００４８】
DCレベルシフト部１０１は、後段のウェーブレット変換を効率的に行うために画像データのDC成分のレベルシフトを行う。例えば、RGB信号が正の値（符号無しの整数）を持っている。そこで、DCレベルシフト部１０１は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従ってYCbCr信号のCbやCr（色差信号）の様に符号（正負両方あり）の整数値を持つ信号を原信号とする場合、このレベルシフトは行われない。
【００４９】
ウェーブレット変換部１０２は、通常、低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答（フィルタ係数）を有するので、ウェーブレット変換部１０２は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
【００５０】
ウェーブレット変換部１０２は、DCレベルシフト部１０１より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得する。ウェーブレット変換部１０２は、そのDCレベルシフト後の画像データに対して、５×３ウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部１０２は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
【００５１】
そして、ウェーブレット変換部１０２は、このようなフィルタリング処理を、図２に示されるように、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、画像のエネルギーの多くが低域成分に集中しているからである。
【００５２】
図２は、分割レベル数３のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。この場合、ウェーブレット変換部１０２は、まず、画像全体をフィルタリングし、サブバンド3LL（図示せず）、3HL、3LH、および3HHを生成する。次に、ウェーブレット変換部１０２は、生成されたサブバンド3LLに対して再度フィルタリングを行い、2LL（図示せず）、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部１０２は、生成されたサブバンド2LLに対して再度フィルタリングを行い、0LL、1HL、1LH、および1HHを生成する。
【００５３】
ウェーブレット変換部１０２は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、コードブロック化部１０３に供給する。なお、JPEG2000の規格では、可逆圧縮の場合、量子化処理は省略される。換言すれば、エンコーダ１００が非可逆圧縮を行う場合、量子化部を設け、ウェーブレット変換部１０２において得られたウェーブレット係数が、その量子化部において量子化され、得られた量子化係数が、コードブロック化部１０３に供給されるようにすればよい。
【００５４】
コードブロック化部１０３は、サブバンド毎のウェーブレット係数を、予め定められた所定の大きさの、エントロピ符号化の処理単位であるコードブロックに分割する。図３は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。図２の例において、最も分割レベルが小さい3HHのサブバンドの大きさが例えば640×320画素であるとすると、64×64画素のコードブロックは合計５０個存在することになる。後段の各処理部は、このコードブロック毎に処理を行う。もちろん、このコードブロックのサイズ（画素数）は任意である。
【００５５】
コードブロック化部１０３は、各コードブロックをビットプレーン展開部１０４に供給する。ビットプレーン展開部１０４は、そのコードブロック毎の係数データを、ビットの位毎のビットプレーンに展開し、それを符号化部１０５に供給する。
【００５６】
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群（例えばコードブロック）を、１ビット毎、つまり位毎に分割（スライス）したものである。つまり、ビットプレーンは、それぞれが複数ビットのビット深度を持つ複数のデータの、互いに同一の位のビット（係数ビット）の集合である。
【００５７】
図４にその具体例を示す。図４の左図は縦４個、横４個の計１６個の係数を示している。この１６個の係数のうち、絶対値が最大のものは１３で、２進数で１１０１と表現される。ビットプレーン展開部１０４は、このような係数群を、絶対値を示す４枚のビットプレーン（絶対値のビットプレーン）と、符号を示す１枚のビットプレーン（符号のビットプレーン）に展開する。つまり、図４中左の係数群は、図４中右に示されるように、４枚の絶対値のビットプレーンと１枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて０か１の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が０であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
【００５８】
なお、このようにビットプレーンとされる係数群における係数の数は任意である。以下においては、処理単位を統一することで各部における処理を容易にするために、ビットプレーン展開部１０４が、係数をコードブロック毎にビットプレーン展開するものとして説明する。
【００５９】
ビットプレーン展開部１０４は、このように展開したビットプレーンを、係数の最上位ビット（MSB：Most Significant Bit）から最下位ビット（LSB：Less Significant Bit）に向かう順に、符号化部１０５に供給する。つまり、ビットプレーン展開部１０４は、ビット深度の上位側から下位側に向かう順に、展開したビットプレーンを符号化部１０５に供給する。
【００６０】
符号化部１０５は、入力される係数データ（ビットプレーン）に対して、JPEG2000規格で定められたEBCOT（Embedded Coding with Optimized Truncation）と呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
【００６１】
図１に示されるように、符号化部１０５は、ビットモデリング部１１１および算術符号化部１１２を有する。ビットモデリング部１１１は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、算術符号化部１１２にコンテキストを送出する。算術符号化部１１２は、係数のビットプレーンを算術符号化する。
【００６２】
コードブロックの縦横のサイズは４から２５６まで２のべき乗で、通常使用される大きさは、３２×３２、６４×６４、１２８×３２等がある。係数値がｎビットの符号付き２進数で表されていて、bit０からbit（ｎ−２）がLSBからMSBまでのそれぞれのビットを表わすとする。残りの１ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の３種類の符号化パスによって行われる。
【００６３】
（１）Significant Propagation Pass
あるビットプレーンを符号化するSignificance Propagation Passでは、８近傍の少なくとも１つの係数が有意（Significant）であるようなnon-significant係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が１である場合は、符号が＋であるか、−であるかが続けて算術符号化される。
【００６４】
ここでsignificanceという言葉について説明する。Significanceとは、各係数に対して符号化されたときにsignificantを表わす１に変化し、以降常に１であり続けるものである。従って、significanceとは、有効桁の情報をすでに符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
【００６５】
（２）Magnitude Refinement Pass
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化するSignificance Propagation Passで符号化されていないsignificantな係数のビットプレーンの値が算術符号化される。
（３）Cleanup Pass
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Pass で符号化されていないnon-sigunificanceな係数のビットプレーンの値が算術符号化される。また、その符号化されたビットプレーンの値が１である場合、符号が＋であるか−であるかが続けて算術符号化される。
【００６６】
なお、以上の３つのPassでの算術符号化では、ケースに応じて（１）ZC（Zero Coding）、（２）RLC（Run-Length Coding）、（３）SC（Sign Coding）、または（４）MR（Magnitude Refinement）等の手法が使い分けられる。なお、ここではMQ符号化と呼ばれる算術符号が用いられるものとする。MQ符号化は、JBIG2で規定された学習型の２値算術符号である。JPEG2000では、すべての符号化パスで合計１９種類のコンテキストがある。
【００６７】
これらの３つの符号化パスの用いられる順序の例は図４に示される。最初に最上位ビット（MSB）のビットプレーンであるビットプレーン（ｎ−２）｛Bit-Plane（ｎ−２）｝がCleanup Passによって符号化される。続いて１枚ずつ順次LSB側に向かって各ビットプレーンが、上述した３つの符号化パスがSignificant Propagation Pass，Magnitude Refinement Pass，Cleanup Passの順序で用いられて符号化される。
【００６８】
ただし、実際には、符号化部１０５は、MSB側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、MSBから連続する、全ての係数が０のビットプレーン（ゼロビットプレーンと称する）は符号化しない。
【００６９】
次に、係数の走査（スキャニング）について図６を用いて説明する。コードブロックは高さ４個の係数毎にストライプ（stripe）に分けられるストライプの幅はコードブロックの幅に等しい。スキャン順とは、１個のコードブロック内の、全ての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中の全ての係数が、このスキャン順で処理される。
【００７０】
符号化部１０５は、選択部１０６により符号化を行わないように制御されるまで、各ビットプレーンに対してエントロピ符号化を行う。符号化部１０５の算術符号化部１１２は、生成したコードストリーム（符号化後のビットプレーン）を、選択部１０６に供給する。選択部１０６には、また、符号化部１０５において符号化される前の係数データ（符号化前のビットプレーン）が供給される。
【００７１】
選択部１０６は、所定の条件に従って、供給されたこれらのデータ（符号化前のデータおよび符号化後のデータ）のうち、いずれか一方を、画像データの符号化結果として選択する。選択部１０６には、符号化前および符号化後のビットプレーンが、MSB側からLSB側に向かう順に供給される。つまり、選択部１０６は、MSB側からLSB側に向かう順に、各ビットプレーンについて選択を行う。
【００７２】
初期状態において、選択部１０６は、符号化後のビットプレーンを選択する。選択部１０６は、その選択の度に、所定の条件が満たされるか否かを判定する。所定の条件が満たされると、選択部１０６は、符号化前のビットプレーンを選択する。選択部１０６は、それより下位については、符号化前のビットプレーンを選択する。
【００７３】
すなわち、選択部１０６は、所定の条件が満たされる位より上位については符号化後のビットプレーン（圧縮データ）を選択し、所定の条件が満たされる位、およびそれより下位については符号化前のビットプレーン（非圧縮データ）を符号化結果として選択する。
【００７４】
上述したように、JPEG2000のビットプレーンの特徴から、MSBに近いビットプレーンほど画質に与える影響が大きく圧縮効率が高い。これに対して、LSBに近いビットプレーンほどランダムノイズが多くなる傾向があり、その圧縮率は自ずと悪くなる。そこで、エンコーダ１００は、圧縮効率が低い下位のビットプレーンにおいては、符号化処理を省略し、その代わりに符号化前のビットプレーンを出力する。そのような動作を実現するために、選択部１０６は、出力するデータの選択を行う。
【００７５】
なお、この処理順は任意であり、必ずしも、MSB側からLSB側に向かう順でなくてもよいが、MSB側からLSB側に向かう順にすることにより、上述したような圧縮効率の傾向を利用することができる。
【００７６】
なお、選択部１０６は、単にデータの選択を行うだけでなく、所定の条件が満たされる場合、図１において点線矢印で示されるように符号化部１０５に制御情報を供給し、符号化処理を中止させる。つまり、所定の条件が満たされる位より下位においては符号化部１０５によるエントロピ符号化処理が省略される。この符号化処理の省略により、符号化処理の負荷が低減される。
【００７７】
もちろん、選択部１０６が、非圧縮データ選択後に下位のビットプレーンに対して、再度、上述した判定を行うようにしてもよいが、その分、判定処理だけでなく、符号化処理も必要になり、処理量が増大する。そもそも、上述したようにJPEG2000のビットプレーンの特徴から、一般的には、下位のビットプレーンにおいて、圧縮率の劇的な向上は期待することができない。したがって、特別な事情がない限り、所定の条件が満たされる位より下位においては非圧縮データがせんたくされるようにし、符号化部１０５によるエントロピ符号化処理が省略されるようにするのが望ましい。
【００７８】
選択部１０６は、選択したデータをパケット生成部１０７に供給する。パケット生成部１０７は、供給されたデータ（コードストリーム）について、ヘッダ情報を生成し、そのヘッダ情報を用いてデータのパケット化を行う。
【００７９】
［選択部の構成例］
図７は、図１の選択部１０６の構成例を示すブロック図である。図７の例の場合、選択部１０６は、符号化部１０５によるエントロピ符号化の圧縮率をビットプレーン毎に判断する。選択部１０６は、その圧縮率が目標圧縮率より高い場合、符号化部１０５により符号化されて得られた圧縮データを、画像データの符号化結果として選択する。また、選択部１０６は、圧縮率が目標圧縮率より低い場合、符号化される前の非圧縮データを、画像データの符号化結果として選択する。そして、選択部１０６は、それより下位のビットプレーンに対して、符号化部１０５を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
【００８０】
このような処理を実行するために選択部１０６は、圧縮率算出部１２１、記憶部１２２、圧縮率比較選択部１２３、および埋込部１２４を有する。
【００８１】
圧縮率算出部１２１は、符号化部１０５より供給される符号化後のビットプレーン（圧縮データ）と、ビットプレーン展開部１０４より供給される符号化前のビットプレーン（非圧縮データ）とを比較し、符号化後のビットプレーン（圧縮データ）の圧縮率を算出する。より具体的には、圧縮率算出部１２１は、符号化後のビットプレーン（圧縮データ）の、符号化前のビットプレーン（非圧縮データ）に対する比を圧縮率として算出する。圧縮率算出部１２１は、算出した圧縮率を圧縮率比較選択部１２３に供給する。
【００８２】
記憶部１２２は、例えばRAMやフラッシュメモリ等により構成される記憶領域である。記憶部１２２は、例えば工場出荷時や符号化処理開始時等、事前に入力された、ビットプレーンの目標圧縮率を記憶する。記憶部１２２は、所定のタイミングでその目標圧縮率を圧縮率比較選択部１２３に供給する。なお、記憶部１２２は、予め目標圧縮率が記憶されるROMにより構成されるようにしてもよい。また、記憶部１２２を圧縮率比較選択部１２３に内蔵するようにしてもよい。さらに、圧縮率比較選択部１２３において目標圧縮率が必要になる度に、例えばユーザや他の処理部等がその目標圧縮率を入力するようにしてもよい。その場合、記憶部１２２は省略されるようにしてもよい。
【００８３】
圧縮率比較選択部１２３は、圧縮率算出部１２１により算出された圧縮率と、目標圧縮率とを比較して大小判定を行い、その判定結果に基づいてデータ選択を行う。
【００８４】
例えば、ビットプレーンの圧縮率が目標圧縮率を下回っている場合、圧縮率比較選択部１２３は、ビットプレーン展開部１０４より供給される非圧縮データを選択する。この場合、圧縮率比較選択部１２３は、符号化部１０５に対して制御情報を供給し、そのコードブロックのそれより下位のビットプレーンの符号化処理を実行しないようにさせる。そして、圧縮率比較選択部１２３は、そのコードブロックのそれより下位について全て非圧縮データを選択する。
【００８５】
また、例えば、圧縮結果の圧縮率が目標圧縮率を上回っている場合、圧縮率比較選択部１２３は、符号化部１０５より供給される圧縮後のデータを選択する。この場合、圧縮率比較選択部１２３は、次の（１つ下位の）ビットプレーンに対しても同様に圧縮率の大小判定を行う。
【００８６】
算出された圧縮率をＡとし、目標圧縮率をＮとすると、以上の制御は以下のように表すことができる。
【００８７】
If（Ａ＜Ｎ）（目標を下回っている）then
｛そのビットプレーンは非圧縮のまま送出する｝
Else（目標を上回っている）
｛そのビットプレーンはEBCOTの結果を送出する｝
【００８８】
圧縮率比較選択部１２３は、以上のように選択したビットプレーン（選択データ）を埋込部１２４に供給する。圧縮率比較選択部１２３は、さらに、データ選択に関する情報を制御情報として埋込部１２４に供給する。
【００８９】
埋込部１２４は、圧縮率比較選択部１２３より供給される選択データの所定の位置に所定の情報を埋め込み、出力データを生成する。例えば、埋込部１２４は、符号化条件などの情報を記述する部分であるCOD（Coding style default）パラメータ（ISO（International Organization for Standardization）154441 JPEG2000 Part-1規格書より）内部のSPcodまたはSPcocパラメータの空きビットに、圧縮率比較選択部１２３より供給される制御情報を多重化する。つまり、埋込部１２４は、制御情報を画像データの符号化結果であるコードストリームに付加する。
【００９０】
この制御情報としては、例えば、EBCOT符号化打ち切りのビットプレーン数のように、選択を圧縮データから非圧縮データに切り替えた位を示す情報がある。もちろん、これ以外の情報が含まれるようにしてもよい。
【００９１】
図８はこの埋め込みを説明するための図である。図８に示される表は、SPcodやSPcocパラメータとして与えられる８ビットの構成を説明するものである。この表に示されるように、SPcodやSPcocパラメータの下位６ビットには、それぞれ各種情報が割り当てられているが、これらのMSBから上位２ビットは、JPEG2000規格ではReserved、つまり空きビットになっている。埋込部１２４は、例えば、この２ビットを用いてEBCOT符号化打ち切りのビットプレーン数を指定する。
【００９２】
なお、このような制御情報の埋め込み位置は、このコードストリームの復号処理を行うデコーダが特定可能な位置であれば任意である。この埋め込み位置は予め定められていてもよいし、埋め込み位置を示す情報を別途用意するようにしてもよい。また、制御情報の情報量も任意である。
【００９３】
埋込部１２４は、生成した出力データ（コードストリーム）をパケット生成部１０７に供給する。このように、埋込部１２４により制御情報をコードストリームに埋め込むことにより、このコードストリームを復号するデコーダは、コードストリームより制御情報を抽出し、その制御情報に基づいて適切にコードストリームを復号することができる。例えば、デコーダは、他の情報を必要とせずに、コードストリームのみから、EBCOT符号化打ち切りのビットプレーン数を特定することができる。これによりデコーダの構成や処理を容易にすることができる。
【００９４】
なお、この制御情報は、コードストリームとは別にデコーダに提供するようにしてもよい。その場合、埋込部１２４は省略可能であり、その分、エンコーダ１００の処理が容易になるが、この制御情報の授受についてデコーダとの間の取り決めが必要になる。また、デコーダが、その別途提供される制御情報を、復号処理に利用することができるようにする必要がある。
【００９５】
［動作説明］
次に、図９のフローチャートを参照して、エンコーダ１００による符号化処理の流れの例を説明する。動画像データを符号化するエンコーダ１００は、以下に説明する符号化処理を動画像の各フレームについて実行する。
【００９６】
符号化処理が開始されると、DCレベルシフト部１０１は、ステップＳ１０１において、入力された画像データのDCレベルをシフトする。ステップＳ１０２において、ウェーブレット変換部１０２は、画像データをウェーブレット変換する。ステップＳ１０３において、コードブロック化部１０３は、ウェーブレット係数をコードブロック単位で分割する。ステップＳ１０４において、ビットプレーン展開部１０４は、コードブロック毎の係数データをビットプレーンに展開する。ステップＳ１０５において、選択部１０６は、処理対象ビットプレーンを設定し、前回（１つ上位のビットプレーン選択において）非圧縮データが選択されたか否かを判定する。非圧縮データが選択されていないと判定した場合、選択部１０６は、処理をステップＳ１０６に進める。
【００９７】
ステップＳ１０６において、符号化部１０５は、処理対象ビットプレーンをエントロピ符号化する。ステップＳ１０７において、選択部１０６は、選択処理を実行し、圧縮データ（符号化前のビットプレーン）または非圧縮データ（符号化後のビットプレーン）のいずれか一方を選択し、処理をステップＳ１０９に進める。選択処理の詳細については後述する。
【００９８】
また、ステップＳ１０５において、前回、非圧縮データが選択されたと判定した場合、処理は、ステップＳ１０８に進む。ステップＳ１０８において、選択部１０６は、非圧縮データを選択し、符号化処理を行わずに、処理をステップＳ１０９に進める。
【００９９】
ステップＳ１０９において、選択部１０６は、選択した選択データを用いてコードストリームを生成する。ステップＳ１１０において、選択部１０６は、全てのビットプレーンを処理したか否かを判定する。全てのビットプレーンを処理していないと判定した場合、選択部１０６は、処理をステップＳ１１１に進め、処理対象を次のビットプレーンに移す。ステップＳ１１１の処理が終了すると、処理はステップＳ１０５に戻り、それ以降の処理が繰り返される。
【０１００】
ステップＳ１０５乃至ステップＳ１１１の処理が繰り返し実行され、ステップＳ１１０において、全てのビットプレーンを処理したと判定された場合、処理はステップＳ１１２に進む。ステップＳ１１２において、選択部１０６の埋込部１２４は、コードストリームに、例えばビットプレーン選択の切り替え位置を示す情報等の制御情報を埋め込む。
【０１０１】
ステップＳ１１３において、選択部１０６は、全てのコードブロックを処理したか否かを判定する。全てのコードブロックを処理していないと判定した場合、選択部１０６は、処理をステップＳ１１４に進め、次のコードブロックの、ゼロビットプレーンでないビットプレーンの中で最上位のビットプレーンに処理対象を移す。ステップＳ１１４の処理が終了すると、処理は、ステップＳ１０４に戻り、それ以降の処理が繰り返される。
【０１０２】
ステップＳ１０４乃至ステップＳ１１４の処理が繰り返し実行され、ステップＳ１１３において全てのコードブロックを処理したと判定された場合、符号化処理が終了される。
【０１０３】
このように、一部のビットプレーンにおいてエントロピ符号化処理を省略することにより、エンコーダ１００は、符号化処理の負荷を低減させることができる。また、下位のビットプレーンにおいてエントロピ符号化を省略することにより、エンコーダ１００は、符号化処理省略の影響の増大を抑制し、符号化処理の圧縮効率を大きく低減させることなく、処理時間を短縮させることができる。
【０１０４】
次に、図１０のフローチャートを参照して、図９のステップＳ１０７において実行される選択処理の詳細な流れの例を説明する。
【０１０５】
選択処理が開始されると、圧縮率算出部１２１は、ステップＳ１３１において圧縮データの圧縮率を算出する。ステップＳ１３２において、圧縮率比較選択部１２３は、圧縮率が目標圧縮率より大きいか否かを判定する。圧縮率が目標圧縮率より大きいと判定した場合、圧縮率比較選択部１２３は、処理をステップＳ１３３に進め、圧縮データを選択し、選択処理を終了する。この場合、次の（下位の）ビットプレーンについても、この選択処理が行われる。
【０１０６】
また、ステップＳ１３２において、圧縮率が目標圧縮率より大きくないと判定した場合、圧縮率比較選択部１２３は、処理をステップＳ１３４に進め、非圧縮データを選択し、選択処理を終了する。この場合、次の（下位の）ビットプレーンについては、この選択処理は省略される（ステップＳ１０８の処理が行われる）。
【０１０７】
このように、圧縮率に基づいてビットプレーンの選択を行うことにより、選択部１０６は、圧縮率を目標値より大きく低減させないように符号化を行いながら、その符号化の処理時間を低減させることができる。
【０１０８】
［エンコード結果の例］
次に上述したエンコーダ１００により符号化を行ったときの圧縮率と処理時間について、図１１および図１２を参照して説明する。図１１は、選択部１０６が選択を切り替えるビットプレーンの違いによる圧縮比の変化を示す図である。
【０１０９】
図１１において縦軸の「Img-1」乃至「Img-5」は、符号化を行った５種類の画像を示している。また、横軸は圧縮比（％）を示している。すなわち、図１１に示される棒グラフは、５種類の画像データを、複数パターンで符号化し、各パターンの符号化結果の圧縮比を比較するものである。
【０１１０】
なお、図１１の横軸に示される圧縮比は、符号化後の圧縮データのデータサイズを、符号化前の非圧縮データのデータサイズで除算して算出したものである。つまり、符号化後の圧縮データのデータサイズが小さいほど圧縮比の値（％）は小さくなり、圧縮率が良好となる。逆に、符号化後の圧縮データのデータサイズが大きいほど圧縮比の値（％）は大きくなり、圧縮率が悪化する。
【０１１１】
図１１の例においては、「Img-1」乃至「Img-5」の画像データを、それぞれ、７種類のパターンで符号化している。７本のうち一番上の棒グラフに対応する「ALL」は、選択部１０６が、全ての位において符号化後のビットプレーン（圧縮データ）を選択するパターンである。所謂、通常の符号化方法のパターンである。
【０１１２】
７本のうち上から２番目の棒グラフに対応する「５BP」は、選択部１０６が、ゼロビットプレーンを除く上位６個のビットプレーン（ビットプレーン番号０乃至５）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、７番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１３】
また、７本のうち上から３番目の棒グラフに対応する「４BP」は、選択部１０６が、ゼロビットプレーンを除く上位５個のビットプレーン（ビットプレーン番号０乃至４）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、６番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１４】
さらに、７本のうち上から４番目の棒グラフに対応する「３BP」は、選択部１０６が、ゼロビットプレーンを除く上位４個のビットプレーン（ビットプレーン番号０乃至３）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、５番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１５】
また、７本のうち上から５番目の棒グラフに対応する「２BP」は、選択部１０６が、ゼロビットプレーンを除く上位３個のビットプレーン（ビットプレーン番号０乃至２）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、４番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１６】
さらに、７本のうち上から６番目の棒グラフに対応する「１BP」は、選択部１０６が、ゼロビットプレーンを除く上位２個のビットプレーン（ビットプレーン番号０および１）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、３番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１７】
また、７本のうち一番下の棒グラフに対応する「０BP」は、選択部１０６が、ゼロビットプレーンを除く最上位のビットプレーン（ビットプレーン番号０）において符号化後のビットプレーン（圧縮データ）を選択するパターンである。つまり、この場合、選択部１０６は、２番目以降の位においては、符号化前のビットプレーン（非圧縮データ）を選択し、そのエントロピ符号化処理を省略させる。
【０１１８】
図１１に示されるように、「Img-1」乃至「Img-5」の画像データのいずれかに関わらず、どのパターンで圧縮を行っても、その圧縮比に大きな差は生じない。例えば、各画像において圧縮比が最も小さくなりやすい「３BP」のパターンと、圧縮比が最も大きくなりやすい「０BP」のパターンで圧縮比を比較してもその差は１％以下程度である。
【０１１９】
図１２は、選択部１０６が選択を切り替えるビットプレーンの違いによる符号化処理時間の変化を示す図である。
【０１２０】
図１２に示される棒グラフの見方は基本的に図１１と同様である。ただし、横軸は、符号化処理の速度（フレームレート）を示す。この数値が大きいほど処理速度が速く処理時間が短いことを示す。つまり、図１２に示される棒グラフは、「Img-1」乃至「Img-5」の各画像データを、図１１の場合と同じ「ALL」乃至「０BP」の７つのパターンで符号化したときの、それぞれの符号化処理の速度を比較するものである。
【０１２１】
図１２に示されるように、各パターンによって処理速度が大きく異なる。当然、符号化処理を行うビットプレーンが少なくなるほど、つまり、選択部１０６がより上の位において符号化前のビットプレーンを選択するパターンほど処理速度は顕著に速くなる。例えば、ゼロビットプレーンを除く最上位において符号化前のビットプレーンを選択する「０BP」のパターンの処理速度は、全ての位において符号化後のビットプレーンを選択する「ALL」のパターンの処理速度より２倍近く速い。
【０１２２】
つまり、エンコーダ１００は、上位の一部のビットプレーンのみ符号化することで、圧縮比の悪化を実用上問題ない程度に抑制しながら、符号化処理の処理量を低減させることができる。処理量の低減により、符号化処理の処理速度が向上し、処理時間が短縮する。また、処理量の低減により、符号化処理に必要なハードウェアスペックを低くすることができ、エンコーダ１００のコストを低減することができる。また、処理時間の短縮により、電気代や人件費等の、符号化処理の運用コストも低減させることができる。さらに、処理時間の短縮により、一定時間内における処理量を増大させることも可能になり、生産性を向上させることができる。つまり、エンコーダ１００は、デメリットに比べて圧倒的に大きなメリットを得ることができる。
【０１２３】
ただし、全てのビットプレーンを符号化しないと圧縮比は極端に悪くなるので、少なくともゼロビットプレーンを除く最上位（ビットプレーン番号０）のビットプレーンの符号化は必要である。
【０１２４】
なお、図１１および図１２に示されるように、このような符号化の特徴は、符号化対象の画像データの内容に大きく依存しない。すなわち、画像の内容に関わらず、エンコーダ１００は、圧縮率を大きく悪化させずに処理量を低減させることができる。
【０１２５】
特に、選択部１０６は、上述したように、目標圧縮率と実際の圧縮率との比較により、符号化前のビットプレーンを選択するか否かを決定するので、圧縮率が十分によい場合は符号化後のビットプレーンが選択される。換言すれば、圧縮率が十分に悪く、圧縮の効果が少ない場合に限り、エントロピ符号化処理が省略される。したがって、選択部１０６は、エントロピ符号化処理の省略による圧縮率の不要な悪化を低減させることができる。換言すれば、エンコーダ１００は、上述した処理による圧縮率の悪化や処理量低減の、符号化対象の画像の内容に対する依存度を、より低減させることができる。
【０１２６】
なお、目標圧縮率は、どのような値であってもよい。また、目標圧縮率は、任意のデータ単位毎に変えてもよい（他と独立して任意の値を設定することができる）。
【０１２７】
例えば、コードブロック単位で目標圧縮率を設定するようにしてもよい。その場合、細やかな制御が可能になるが、その分、目標圧縮率のデータ量が増大し、コードブロック毎に目標圧縮率を変更する等、処理が複雑化する恐れもある。
【０１２８】
また、例えば、ウェーブレット係数のサブバンド単位で目標圧縮率を設定するようにしてもよい。図２に示されるように、ウェーブレット係数のサブバンドは、より高域な成分程、コードブロック数が多い（データ量が大きい）。また、上述したように、ウェーブレット係数のサブバンドは、より低域な成分にエネルギーが集中する。つまり、より低域な成分程、画質に与える影響が大きい。そこで、エンコーダ１００は、このようなウェーブレット係数のサブバンドの特徴を活かし、より画質に与える影響が大きい低域な成分程より多くの情報を残すように目標圧縮率を低くし、かつ、より情報量に与える影響が大きい高域な成分程より多くの情報を削減するように、目標圧縮率を高く設定する。このようにすることにより、エンコーダ１００は、画質の劣化を低減するとともに圧縮効率を向上させるように、画像データを符号化することができる。
【０１２９】
さらに、例えば、ピクチャ単位で目標圧縮率を設定するようにしてもよい。図１１に示されるように、圧縮率は、画像の内容に全く依存しないわけではない。例えば、高周波成分が多く含まれ、より複雑な画像の場合、その符号化処理の負荷が大きくなるだけでなく、圧縮率も低下する恐れがある。逆に、例えば黒画像のように、単純な画像の場合、符号化処理の負荷は低く、かつ、その圧縮率を容易に高くすることができる。このような画像の内容に応じて目標圧縮率を設定することにより、符号化処理の負荷をより効率よく低減させることができる。
【０１３０】
以上においては、圧縮率と目標圧縮率との比較により選択の切り替えを制御するように説明したが、圧縮データを選択するビットプレーンの数を予め定めておくようにしてももちろんよい。
【０１３１】
つまり、この場合、選択部１０６は、符号化結果の圧縮率に関わらず、ゼロビットプレーンを除く最上位から数えて、予め定められた所定の数の位のビットプレーンにおいて、選択するデータを圧縮データから非圧縮データに切り替える。
【０１３２】
＜２．第２の実施の形態＞
［選択部の構成例］
図１３は、その場合の、選択部１０６の詳細な構成例を示すブロック図である。図７を参照して説明した場合と同様の部分については同様の符号を付してある。
【０１３３】
図１３の例の場合、選択部１０６は、符号化部１０５により符号化されて得られた圧縮データを選択するとともに、そのビットプレーン数をカウントする。そして、ビットプレーン数が予め定められた数を超えた場合、選択部１０６は、その選択を、符号化される前の非圧縮データに切り替える。そして、選択部１０６は、それより下位のビットプレーンに対して、符号化部１０５を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
【０１３４】
このような処理を実行するために選択部１０６は、図７の圧縮率算出部１２１および圧縮率比較選択部１２３の代わりにカウント選択部２２３を有する。
【０１３５】
カウント選択部２２３は、初期状態において圧縮データを、画像データの符号化結果として選択し、そのビットプレーン数をカウント（累算）する。記憶部１２２は、目標圧縮率の代わりに指定ビットプレーン数を記憶する。この指定ビットプレーン数は、圧縮データを選択するビットプレーンの数を指定する値であり、例えば工場出荷時や符号化処理開始時等、事前に入力される。記憶部１２２は、所定のタイミングでその指定ビットプレーン数をカウント選択部２２３に供給する。なお、記憶部１２２は、予め指定ビットプレーン数が記憶されるROMにより構成されるようにしてもよい。また、記憶部１２２をカウント選択部２２３に内蔵するようにしてもよい。さらに、カウント選択部２２３において指定ビットプレーン数が必要になる度に、例えばユーザや他の処理部等がその指定ビットプレーン数を入力するようにしてもよい。その場合、記憶部１２２は省略されるようにしてもよい。
【０１３６】
カウント選択部２２３においてカウントされたカウント値が、その指定ビットプレーン数を超えた場合、カウント選択部２２３は、ビットプレーン展開部１０４より供給される非圧縮データを、画像データの符号化結果として選択する。この場合、カウント選択部２２３は、符号化部１０５に対して制御情報を供給し、そのコードブロックのそれより下位のビットプレーンの符号化処理を実行しないようにさせる。そして、カウント選択部２２３は、そのコードブロックのそれより下位について全て非圧縮データを選択する。
【０１３７】
カウント選択部２２３は、以上のように選択したビットプレーン（選択データ）を埋込部１２４に供給する。カウント選択部２２３は、さらに、データ選択に関する情報を制御情報として埋込部１２４に供給する。
【０１３８】
埋込部１２４は、カウント選択部２２３より供給される選択データの所定の位置に所定の情報を埋め込み、出力データを生成し、生成した出力データ（コードストリーム）をパケット生成部１０７に供給する。
【０１３９】
例えば、指定ビットプレーン数が「４」であるとする。その場合、エンコーダ１００は、図１４に示されるように、ビットプレーン番号「０」乃至「３」の４つのビットプレーンについて、CPパス、SPパス、およびMRパスのそれぞれについて符号化を行い、指定ビットプレーン数を超えるビットプレーン番号「４」以降のビットプレーンについて、符号化処理を省略し、非圧縮データを出力する。特にCPパスにおいては、非圧縮データはバイト境界に合うようにパディングされた後、終端される。
【０１４０】
また、例えば、指定ビットプレーン数が「２」であるとする。その場合、エンコーダ１００は、図１５に示されるように、ビットプレーン番号「０」および「１」の２つのビットプレーンについては、CPパス、SPパス、およびMRパスのそれぞれについて符号化が行われ、指定ビットプレーン数を超えるビットプレーン番号「２」以降のビットプレーンについては、符号化処理が省略され、非圧縮データが出力される。特にCPパスにおいては、非圧縮データはバイト境界に合うようにパディングされた後、終端される。
【０１４１】
以上のように、この場合の選択部１０６は、指定ビットプレーン数分のビットプレーンを符号化し、それ以下のビットプレーンを符号化しないようにすることができる。換言すれば、エンコーダ１００は、指定ビットプレーン数によって、選択部１０６により非圧縮データが選択される位置（位）を、上述した目標圧縮率を用いる場合よりも、より確実に制御することができる。
【０１４２】
［動作説明］
なお、この場合の符号化処理は、図９のフローチャートを参照して説明した場合と基本的に同様に行われる。図１６のフローチャートを参照して、図９のステップＳ１０７において実行される、この場合の選択処理の詳細な流れの例を説明する。
【０１４３】
選択処理が開始されると、カウント選択部２２３は、ステップＳ２３１において処理対象としたビットプレーン数をカウントする。ステップＳ２３２において、カウント選択部２２３は、処理対象としたビットプレーン数が、所定の数（指定ビットプレーン数）を超えたか否かを判定する。
【０１４４】
処理対象としたビットプレーン数が、所定の数を超えていないと判定された場合、処理はステップＳ２３３に進む。ステップＳ２３３において、カウント選択部２２３は、符号化部１０５より供給された圧縮データを選択する。圧縮データを選択するとカウント選択部２２３は、選択処理を終了し、処理を図９のステップＳ１０７に処理を戻し、ステップＳ１０９に処理を進める。
【０１４５】
また、処理対象としたビットプレーン数が、所定の数を超えたと判定された場合、処理はステップＳ２３４に進む。ステップＳ２３４において、カウント選択部２２３は、ビットプレーン展開部１０４より供給された非圧縮データを選択する。非圧縮データを選択するとカウント選択部２２３は、選択処理を終了し、処理を図９のステップＳ１０７に処理を戻し、ステップＳ１０９に処理を進める。
【０１４６】
このように、カウント選択部２２３は、ゼロビットプレーンを除く最上位から、指定ビットプレーン数により指定される数の位において、ビットプレーンの符号化を行わせ、圧縮データを選択する。また、カウント選択部２２３は、それ以外の下位の位においては、ビットプレーンの符号化を行わせずに、非圧縮データを選択する。
【０１４７】
これにより、選択部１０６は、上述した圧縮率を用いる場合と同様に、圧縮率の悪化を抑制しながら、その符号化の処理量を低減させることができる。そしてこの場合、選択を切り替える位を直接的に指定することができるので、エンコーダ１００は、上述した圧縮率の場合よりも確実に所望の位までビットプレーンを符号化することができる。
【０１４８】
なお、指定ビットプレーン数は、どのような値であってもよい。また、指定ビットプレーン数は、目標圧縮率の場合と同様に、例えば、コードブロック単位、ウェーブレット係数のサブバンド単位、または、ピクチャ単位等、任意のデータ単位毎に変えてもよい（他と独立して任意の値を設定することができる）。
【０１４９】
また、以上に説明した目標圧縮率と指定ビットプレーン数の両方を用いて制御を行うようにしてもよい。例えば、選択部１０６が、基本的に目標圧縮率に基づいて圧縮・非圧縮の選択の切り替えを制御するようにする。そして、さらに、圧縮データを選択するビットプレーン数の上限値を設け、選択部１０６が、その上限以上に圧縮データを選択させることができないようにする。
【０１５０】
＜３．第３の実施の形態＞
［選択部の構成例］
図１７は、その場合の、選択部１０６の詳細な構成例を示すブロック図である。図７や図１３を参照して説明した場合と同様の部分については同様の符号を付してある。
【０１５１】
図１７の例の場合、選択部１０６は、符号化部１０５により符号化されて得られた圧縮データを目標圧縮率に基づいて選択するとともに、そのビットプレーン数をカウントする。そして、ビットプレーン数が予め定められた数を超えた場合、選択部１０６は、ビットプレーンの圧縮率が目標圧縮率より大きくても、その選択を、符号化される前の非圧縮データに切り替える。そして、選択部１０６は、それより下位のビットプレーンに対して、符号化部１０５を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
【０１５２】
このような処理を実行するために選択部１０６は、図７の圧縮率算出部１２１の代わりに比較カウント選択部３２３を有する。
【０１５３】
比較カウント選択部３２３は、初期状態において圧縮データを、画像データの符号化結果として選択する。また、比較カウント選択部３２３が圧縮データを選択している間、圧縮率算出部１２１は、圧縮データの圧縮率を算出する。その算出方法は、図７を参照して説明した場合と同様である。比較カウント選択部３２３は、図７を参照して説明した圧縮率比較選択部１２３の場合と同様に、その圧縮率と、記憶部１２２より供給される目標圧縮率とを比較し、圧縮率が目標圧縮率以下となる場合、非圧縮データを、画像データの符号化結果として選択する。つまり、比較カウント選択部３２３は、非圧縮データに選択を切り替える。なお、目標圧縮率は、図７を参照して説明した場合と同様のパラメータである。比較カウント選択部３２３は、それより下位のビットプレーンについて、符号化部１０５を制御してエントロピ符号化処理を中止させ、非圧縮データを選択する。
【０１５４】
ところで、比較カウント選択部３２３は、圧縮データを選択するとき、図１３を参照して説明したカウント選択部２２３の場合と同様に、その選択したビットプレーン数をカウントする。そして、比較カウント選択部３２３は、圧縮率が目標圧縮率以上であっても、そのカウント値が、記憶部１２２より供給される指定ビットプレーン数を超えた場合、非圧縮データを、画像データの符号化結果として選択する（非圧縮データに選択を切り替える）。比較カウント選択部３２３は、それより下位のビットプレーンについて、符号化部１０５を制御してエントロピ符号化処理を中止させ、非圧縮データを選択する。
【０１５５】
比較カウント選択部３２３は、図７の圧縮率比較選択部１２３の場合と同様に、選択データと制御情報を埋込部１２４に供給する。埋込部１２４は、図７の場合と同様に、制御情報を選択データのコードストリームの所定の位置に埋め込み、出力データを生成し、生成した出力データ（コードストリーム）をパケット生成部１０７に供給する。
【０１５６】
以上のように、この場合の選択部１０６は、目標圧縮率によって、ビットプレーンの符号化を制御することができるととともに、符号化するビットプレーンの上限を設ける（最大数を定義する）ことができる。
【０１５７】
例えば、図７等を参照して説明したように、目標圧縮率を用いて圧縮・非圧縮の選択を行う場合、目標圧縮率の設定が処理対象の画像に対して不適切であると、目標圧縮率による制御が効かない恐れがある。例えば、目標圧縮率が不適切な値であることにより、どのコードブロックにおいても全てのビットプレーンが符号化されてしまう恐れがある。つまり、結果として、符号化方法の処理量が従来の方法の場合と同様となってしまい、得られる効果が小さくなってしまう恐れがある。
【０１５８】
また、図１３等を参照して説明したように、符号化を行うビットプレーン数を直接指定する場合、選択を切り替える位置が固定されるので、画像に応じた制御が困難である。
【０１５９】
図１７を参照して上述したように、目標圧縮率を用いて圧縮・非圧縮の選択を行わせるとともに、その圧縮データの選択に上限を設けることにより、画像に応じた制御が可能になるとともに、効果（処理量の低減）の確保（保証）を可能にすることができる。換言すれば、目標圧縮率の設定許容範囲が拡大するので、その設定が容易になる。さらに換言すれば、画像の内容によらず、十分に処理量を低減することができるので、エンコーダ１００の汎用性を向上させることができる。
【０１６０】
［動作説明］
なお、この場合の符号化処理は、図９のフローチャートを参照して説明した場合と基本的に同様に行われる。図１８のフローチャートを参照して、図９のステップＳ１０７において実行される、この場合の選択処理の詳細な流れの例を説明する。
【０１６１】
選択処理が開始されると、圧縮率算出部１２１は、ステップＳ３３１において、図１０のステップＳ１３１の場合と同様に、圧縮データの圧縮率を算出する。ステップＳ３３２において、比較カウント選択部３２３は、図１０のステップＳ１３２の場合と同様に、算出された圧縮率が目標圧縮率より大きいか否かを判定する。
【０１６２】
圧縮率が目標圧縮率より大きいと判定された場合、処理はステップＳ３３３に進む。ステップＳ３３３において、比較カウント選択部３２３は、図１６のステップＳ２３１の場合と同様に、処理対象としたビットプレーン数をカウントする。ステップＳ３３４において、比較カウント選択部３２３は、図１６のステップＳ２３２の場合と同様に、処理対象としたビットプレーン数が、所定の数（指定ビットプレーン数）を超えたか否かを判定する。
【０１６３】
処理対象としたビットプレーン数が、所定の数を超えていないと判定された場合、処理はステップＳ３３５に進む。ステップＳ３３５において、比較カウント選択部３２３は、図１０のステップＳ１３３や図１６のステップＳ２３３の場合と同様に、符号化部１０５より供給された圧縮データを選択する。圧縮データを選択すると比較カウント選択部３２３は、選択処理を終了し、処理を図９のステップＳ１０７に処理を戻し、ステップＳ１０９に処理を進める。
【０１６４】
また、ステップＳ３３４において、処理対象としたビットプレーン数が、所定の数を超えたと判定された場合、処理はステップＳ３３６に進む。さらに、ステップＳ３３２において、圧縮率が目標圧縮率より大きくないと判定された場合、処理はステップＳ３３６に進む。ステップＳ３３６において、比較カウント選択部３２３は、図１０のステップＳ１３４や図１６のステップＳ２３４の場合と同様に、ビットプレーン展開部１０４より供給された非圧縮データを選択する。非圧縮データを選択すると比較カウント選択部３２３は、選択処理を終了し、処理を図９のステップＳ１０７に処理を戻し、ステップＳ１０９に処理を進める。
【０１６５】
つまり、カウント選択部２２３は、圧縮率を算出し、目標圧縮率と比較するだけでなく、圧縮率が目標圧縮率より大きい場合、処理対象としたビットプレーン数をカウントし、そのカウント値を指定ビットプレーン数と比較する。
【０１６６】
このように制御することにより、選択部１０６は、圧縮率が目標圧縮率より大きくても、指定ビットプレーン数によって、非圧縮データを選択するようにすることができる。これにより、エンコーダ１００は、上述したように、画像に応じた制御が可能になるとともに、効果（処理量の低減）の確保（保証）を可能にすることができる。
【０１６７】
なお、上述した他の場合と同様に、指定ビットプレーン数や目標圧縮率は、どのような値であってもよいし、任意のデータ単位毎に変えてもよい（他と独立して任意の値を設定することができる）。
【０１６８】
以上においては、圧縮データ・非圧縮データの選択に利用するパラメータとして、目標圧縮率や指定ビットプレーン数を用いる場合を説明したが、このパラメータは、圧縮データ・非圧縮データの選択に利用可能なものであればどのようなものであってもよい。例えば、目標圧縮率や指定ビットプレーン数を間接的に指定する情報であってもよい。例えば、指定ビットプレーン数の場合、圧縮データを選択するビットプレーン数であってもよいし、選択を切り替えるビットプレーンのビットプレーン番号であってもよいし、非圧縮データを選択するビットプレーン数であってもよい。また、例えば、目標圧縮率の代わりに目標符号量を設定するようにしてもよい。さらに、例えば、処理時間を計測し、所定時間経過後は非圧縮データが選択されるようにしてもよい。また、例えば、選択データの総符号量を計測し、所定の符号量を超えた場合、非圧縮データが選択されるようにしてもよい。もちろん、これら以外のパラメータを用いて圧縮データ・非圧縮データの選択を行うようにしてもよい。
【０１６９】
また、パラメータは、必要に応じて設定（変更）可能であるようにしてもよい。例えば、指定ビットプレーン数を選択部１０６が設定（変更）することができるようにしてもよい。
【０１７０】
＜４．第４の実施の形態＞
［選択部の構成例］
図１９は、その場合の、選択部１０６の詳細な構成例を示すブロック図である。図７や図１３を参照して説明した場合と同様の部分については同様の符号を付してある。
【０１７１】
図１９の例の場合、選択部１０６は、諸条件に基づいて指定ビットプレーン数を設定し、その指定ビットプレーン数を用いて圧縮データ・非圧縮データの選択を制御する。
【０１７２】
このような処理を実行するために選択部１０６は、図１３の場合の記憶部１２２の代わりに設定部４２２を有する。つまり、図１９の場合、選択部１０６は、設定部４２２、カウント選択部２２３、および埋込部１２４を有する。
【０１７３】
設定部４２２は、所定のタイミングで諸条件に基づいて指定ビットプレーン数を設定し、その設定した指定ビットプレーン数をカウント選択部２２３に供給する。
【０１７４】
例えば、設定部４２２は、処理対象とする画像データに基づいて指定ビットプレーン数を設定する。より具体的には、設定部４２２は、データサイズ、解像度、若しくはフレームレート等の画像データの規格、または、画像の内容等に基づいて、適切な指定ビットプレーン数を設定する。例えば、処理対象の画像データのデータサイズや解像度が大きかったり、フレームレートが高かったりする場合、設定部４２２は、コスト低減のために、符号化の処理量の低減を優先させ、指定ビットプレーン数を小さな値に設定する。また、画像の内容が複雑であるなどして圧縮効率の悪化が予想される場合、符号化の処理量の低減を優先させ、指定ビットプレーン数を小さな値に設定する。逆に、例えば、符号化処理が容易な場合や、高圧縮効率が期待できる場合等、圧縮率の向上を優先すべきと判断する場合、設定部４２２は、指定ビットプレーン数を大きな値に設定する。
【０１７５】
また、例えば、設定部４２２は、エンコーダ１００の動作モードに応じて指定ビットプレーン数を設定する。より具体的には、設定部４２２は、例えば、ユーザや他の装置（または処理部）が指定した動作モードに応じて適切な指定ビットプレーン数を設定する。例えば、ユーザがエンコーダ１００の動作モードを圧縮比優先モードに設定すると、設定部４２２は、指定ビットプレーン数を大きな値に設定する。また、例えば、ユーザがエンコーダ１００の動作モードを処理時間優先モードに設定すると、設定部４２２は、指定ビットプレーン数を小さな値に設定する。
【０１７６】
さらに、例えば、設定部４２２は、出力したパケットが蓄積される記憶領域の容量や、出力したパケットが送信される通信回線の空き帯域幅等の、外部状況に関する情報に基づいて適切な指定ビットプレーン数を設定する。例えば、記憶領域の容量が少なくなったり、通信回線の空き帯域幅が細くなったりして、圧縮率の向上を優先すべき場合、設定部４２２は、指定ビットプレーン数を大きな値に設定する。また、例えば、記憶領域の容量が十分に大きかったり、通信回線の空き帯域幅が十分広かったりして、処理速度を優先すべき場合、設定部４２２は、指定ビットプレーン数を小さな値に設定する。
【０１７７】
このように、設定部４２２は、エンコーダ１００以外において得られる情報に対して適切な値を指定ビットプレーン数として設定することができる。このとき、設定部４２２は、指定ビットプレーン数を自由に設定するようにしてもよいし、予め用意されたいくつかの候補（選択肢）の中から選択するようにしてもよい。
【０１７８】
カウント選択部２２３は、このように設定された指定ビットプレーン数に基づいて、図１３等を参照して説明した場合と同様に選択制御を行う。
【０１７９】
埋込部１２４は、図１３の場合と同様に、制御情報を選択データのコードストリームの所定の位置に埋め込み、出力データを生成し、生成した出力データ（コードストリーム）をパケット生成部１０７に供給する。
【０１８０】
以上のように、この場合の選択部１０６は、指定ビットプレーン数を設定し、その値を用いてビットプレーンの符号化を制御することができる。
【０１８１】
なお、設定部４２２は、上述した各種条件のうち複数の条件を用いて指定ビットプレーン数を設定するようにしてもよい。さらに、上述した以外の条件をに基づいて指定ビットプレーン数を設定するようにしてもよい。
【０１８２】
［動作説明］
なお、この場合の符号化処理の流れの例について、図２０のフローチャートを参照して説明する。この符号化処理は図９のフローチャートを参照して説明した符号化処理に対応する。この場合も、エンコーダ１００は、この符号化処理を動画像の各フレームについて実行する。
【０１８３】
図２０に示されるステップＳ４０１乃至ステップＳ４０３の各処理は、図９のステップＳ１０１乃至ステップＳ１０３の各処理と同様に実行される。つまり、符号化処理が開始されると、DCレベルシフト部１０１は、ステップＳ４０１において、入力された画像データのDCレベルをシフトする。ステップＳ４０２において、ウェーブレット変換部１０２は、画像データをウェーブレット変換する。ステップＳ４０３において、コードブロック化部１０３は、ウェーブレット係数をコードブロック単位で分割する。
【０１８４】
ステップＳ４０４において、設定部４２２は、目標値、すなわち、上述したような各種条件に基づいて、指定ビットプレーン数を設定する。
【０１８５】
指定ビットプレーン数が設定されると、ステップＳ４０５乃至ステップＳ４１５の各処理は、図９のステップＳ１０４乃至ステップＳ１１４の各処理と同様に実行される。
【０１８６】
すなわち、ステップＳ４０５において、ビットプレーン展開部１０４は、コードブロック毎の係数データをビットプレーンに展開する。ステップＳ４０６において、選択部１０６は、処理対象ビットプレーンを設定し、前回非圧縮データが選択されたか否かを判定する。非圧縮データが選択されていないと判定した場合、選択部１０６は、処理をステップＳ４０７に進める。
【０１８７】
ステップＳ４０７において、符号化部１０５は、処理対象ビットプレーンをエントロピ符号化する。ステップＳ４０８において、選択部１０６は、選択処理を実行し、圧縮データまたは非圧縮データのいずれか一方を選択し、処理をステップＳ４１０に進める。
【０１８８】
また、ステップＳ４０６において、前回、非圧縮データが選択されたと判定した場合、処理は、ステップＳ４０９に進む。ステップＳ４０９において、選択部１０６は、非圧縮データを選択し、符号化処理を行わずに、処理をステップＳ４１０に進める。
【０１８９】
ステップＳ４１０において、選択部１０６は、選択した選択データを用いてコードストリームを生成する。ステップＳ４１１において、選択部１０６は、全てのビットプレーンを処理したか否かを判定する。全てのビットプレーンを処理していないと判定した場合、選択部１０６は、処理をステップＳ４１２に進め、処理対象を次のビットプレーンに移す。ステップＳ４１２の処理が終了すると、処理はステップＳ４０６に戻り、それ以降の処理が繰り返される。
【０１９０】
ステップＳ４０６乃至ステップＳ４１２の処理が繰り返し実行され、ステップＳ４１１において、全てのビットプレーンを処理したと判定された場合、処理はステップＳ４１３に進む。ステップＳ４１３において、選択部１０６の埋込部１２４は、コードストリームに、例えばビットプレーン選択の切り替え位置を示す情報等の制御情報を埋め込む。
【０１９１】
ステップＳ４１４において、選択部１０６は、全てのコードブロックを処理したか否かを判定する。全てのコードブロックを処理していないと判定した場合、選択部１０６は、処理をステップＳ４１５に進め、次のコードブロックの、ゼロビットプレーンでないビットプレーンの中で最上位のビットプレーンに処理対象を移す。ステップＳ４１５の処理が終了すると、処理は、ステップＳ４０５に戻り、それ以降の処理が繰り返される。
【０１９２】
ステップＳ４０５乃至ステップＳ４１５の処理が繰り返し実行され、ステップＳ４１４において全てのコードブロックを処理したと判定された場合、符号化処理が終了される。
【０１９３】
このように、エントロピ符号化を省略するビットプレーン数を状況に応じて調整することにより、エンコーダ１００は、符号化処理の負荷を適切に低減させることができる。
【０１９４】
なお、指定ビットプレーン数の設定タイミングは任意であり、上述したステップＳ４０４以外のタイミングで指定することも可能である。さらに、どのようなデータ単位で指定ビットプレーン数を設定するようにしてもよい。
【０１９５】
以上においては、指定ビットプレーン数を設定する場合について説明したが、パラメータの種類は任意であり、どのようなパラメータであっても、指定ビットプレーン数の場合と同様にして設定可能とすることができる。例えば、目標圧縮率を用いて圧縮データ・非圧縮データの選択を行う場合も、上述した指定ビットプレーン数の場合と同様に、目標圧縮率を設定する設定部を設けるようにしてもよい。
【０１９６】
＜５．第５の実施の形態＞
［デコーダの構成例］
次に、以上のように説明したエンコーダ１００に対応するデコーダ（復号装置）について説明する。図２１は、本発明を適用したデコーダの構成例を示すブロック図である。
【０１９７】
図２１に示されるデコーダ５００は、エンコーダ１００より供給されるコードストリームをエンコーダ１００の符号化方式に対応する復号方法で復号し、復号画像データを得る復号装置である。
【０１９８】
デコーダ５００は、エンコーダ１００より供給されるコードストリームを解読し、エンコーダ１００における圧縮データ・非圧縮データの選択を切り替えたビットプレーンを特定し、そのエンコーダ１００の選択に合わせて各ビットプレーンの復号を行う。すなわち、デコーダ５００は、エンコーダ１００が符号化したビットプレーンについて、エンコーダ１００の符号化方式に対応する復号方法で復号を行い、エンコーダ１００が符号化しなかったビットプレーンについて、復号せずにそのまま利用する。つまり、デコーダ５００は、各ビットプレーンを適宜復号して合成し、ベースバンドの画像データを生成する（復号画像データを得る）。
【０１９９】
なお、以上においては、エンコーダ１００がコードストリームをパケット化して出力するように説明した。したがって、エンコーダ１００の出力を復号する場合、実際には、そのパケットを解析してコードストリームを抽出するパケット解析処理が必要になる。しかしながら、このパケット解析処理は任意の方法により可能であるので、以下においては、説明の簡略化のため、このパケット解析処理についての説明は省略する。
【０２００】
図２１に示されるように、デコーダ５００は、解読部５０１、処理選択部５０２、復号部５０３、ビットプレーン合成部５０４、コードブロック合成部５０５、ウェーブレット逆変換部５０６、およびDCレベル逆シフト部５０７を有する。
【０２０１】
解読部５０１は、供給されたコードストリームを解読する。例えば、解読部５０１は、コードストリームに埋め込まれている、エンコーダ１００における圧縮データ・非圧縮データの選択に関する制御情報を抽出し、その制御情報に基づいて、処理対象のビットプレーンが符号化されているか否かを判定する。より具体的には、例えば、解読部５０１は、JPEG2000のシンタックスに従ってコードストリームを解読し、図８に示されるSPcodまたはSPcocの上位２ビットをリードする。そして解読部５０１は、その読み出した値に基づいて、上位何ビットのビットプレーンがEBCOT符号化されているか否かを判別する。
【０２０２】
つまり、この例の場合、コードストリームには、エンコーダ１００が圧縮データ・非圧縮データの選択を切り替えたビットプレーン（位置）を示す情報が制御情報として埋め込まれている。換言すれば、この制御情報は、処理対象のデータが圧縮データであるか、非圧縮データであるかを所定の単位（例えばビットプレーン）毎に示す情報である。解読部５０１は、この制御情報の内容にしたがって、処理対象のビットプレーンが符号化されているか否か、すなわち、処理対象のデータが圧縮データであるか否かを、所定のデータ単位毎に判別する。
【０２０３】
この制御情報の内容は、直接的または間接的に、処理対象のデータが圧縮データであるか、非圧縮データであるかを示すものであれば、どのようなものであってもよい。例えば、圧縮データが選択されたビットプレーン数や非圧縮データが選択されたビットプレーン数であってもよい。また、選択を切り替えたビットプレーンを示すビットプレーン番号や、圧縮データであるか非圧縮データであるかをビットプレーン毎に示す識別情報であってもよい。さらに、圧縮データであるか否かの判断基準を求めるための演算に利用される演算パラメータなどであってもよい。解読部５０１は、制御情報の内容に応じた方法で、処理対象のデータが圧縮データであるか否かを、所定のデータ単位毎に判別する。
【０２０４】
なお、エンコーダ１００における圧縮データ・非圧縮データの選択に関する制御情報がコードストリームとは別に事前に供給されるようにしてもよい。その場合、解読部５０１は、その情報に基づいて処理対象のビットプレーンが符号化されているか否かを判定する。また、エンコーダ１００が符号化するビットプレーン数が予め定められており、そのビットプレーン数の情報が予めデコーダ５００に提供されているようにしてもよい。その場合、解読部５０１は、コードストリームの解読として、これまでに処理対象としたビットプレーン数をカウントし、カウント値が所定数を超えるまで処理対象のデータが圧縮データであると判定し、カウント値が所定数を超えた場合、処理対象のデータが非圧縮データであると判定する。
【０２０５】
つまり、解読部５０１に供給されるコードストリームは、画像データの一部または全部が符号化されて生成されたデータである。解読部５０１は、このようなコードストリームを解読し、所定のデータ単位毎に、前記コードストリームを復号するか否かを判定する。解読部５０１は、このような解読結果を、ビットプレーン単位のコードストリームとともに処理選択部５０２に供給する。
【０２０６】
処理選択部５０２は、解読部５０１の解読結果に基づいて、処理対象のビットプレーンが符号化されているか否かを判定する。符号化されていると判定した場合、処理選択部５０２は、処理対象のビットプレーンのコードストリーム（圧縮データ）を復号部５０３に供給する。また、処理対象のビットプレーンが符号化されていないと判定した場合、処理選択部５０２は、処理対象のビットプレーンのコードストリーム（非圧縮データ）をビットプレーン合成部５０４に供給する。
【０２０７】
復号部５０３は、ビットプレーン単位のコードストリーム（圧縮データ）をエンコーダ１００の符号化に対応する復号方法で復号し、その復号結果（非圧縮データ）をビットプレーン合成部５０４に供給する。図２１の例の場合、復号部５０３は、算術復号部５１１およびビットモデリング部５１２を有する。算術復号部５１１はコードストリームを復号し、ビットモデリング部５１２はビットプレーンに展開されたウェーブレット係数を生成する。
【０２０８】
ビットプレーン合成部５０４は、ビットプレーンに展開されたウェーブレット係数を合成し、コードブロック単位のウェーブレット係数を生成する。コードブロック合成部５０５は、コードブロック単位の係数データを合成し、サブバンド毎の係数データを生成し、それをウェーブレット逆変換部５０６に供給する。ウェーブレット逆変換部５０６は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。DCレベル逆シフト部５０７は、その画像データのDC成分に対して、符号化時にシフトされた分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部５０７は、DCレベル逆シフト処理後の画像データを出力する。
【０２０９】
以上のように、デコーダ５００は、エンコーダ１００によるビットプレーン毎の圧縮データ・非圧縮データの選択に応じて、各ビットプレーンのコードストリームを適宜復号し、復号画像データを獲ることができる。つまり、デコーダ５００は、エンコーダ１００が一部のビットプレーンに対するエントロピ符号化を省略したコードストリームを適切に復号することができる。さらに、その場合、デコーダ５００は、通常の、全てのビットプレーンを復号する場合よりも、復号処理の処理量を低減させることができる。
【０２１０】
［動作説明］
このデコーダ５００による復号処理の流れの例を図２２のフローチャートを参照して説明する。なお、デコーダ５００は、以下に説明する復号処理を、ピクチャ単位で繰り返し実行する。
【０２１１】
復号処理が開始されると、デコーダ５００の解読部５０１は、ステップＳ５０１において、供給されたコードストリームを解読する。ステップＳ５０２において、処理選択部５０２は、その解読結果に基づいて、処理対象ビットプレーンが符号化されているか否かを判定する。処理対象ビットプレーンが符号化されている、すなわち、処理対象のコードストリームが圧縮データであると判定した場合、処理選択部５０２は、処理をステップＳ５０３に進める。
【０２１２】
ステップＳ５０３において、復号部５０３は、処理対象のビットプレーンのコードストリーム、すなわち、圧縮データをエントロピ復号し、処理をステップＳ５０４に進める。また、ステップＳ５０２において、処理対象ビットプレーンが符号化されていない、すなわち、処理対象のコードストリームが非圧縮データであると判定した場合、処理選択部５０２は、処理をステップＳ５０４に進める。
【０２１３】
ステップＳ５０４において、ビットプレーン合成部５０４は、処理対象のビットプレーンの非圧縮データを蓄積するとともに、処理対象のコードブロック内の全てのビットプレーンが処理されたか否かを判定する。未処理のビットプレーンが存在すると判定した場合、ビットプレーン合成部５０４は、処理をステップＳ５０１に戻し、処理対象を次のビットプレーンに変更し、それ以降の処理を繰り返させる。
【０２１４】
ステップＳ５０１乃至ステップＳ５０４の処理が繰り返し実行され、ステップＳ５０４において、処理対象のコードブロック内の全てのビットプレーンが処理されたと判定した場合、ビットプレーン合成部５０４は、ステップＳ５０５に処理を進める。ステップＳ５０５において、ビットプレーン合成部５０４は、蓄積した非圧縮データを合成し、コードブロック単位のウェーブレット係数を生成する。
【０２１５】
ステップＳ５０６において、コードブロック合成部５０５は、処理対象のコードブロックのウェーブレット係数を蓄積するとともに、処理対象のサブバンド内の全てのコードブロックが処理されたか否かを判定する。未処理のコードブロックが存在すると判定した場合、コードブロック合成部５０５は、処理をステップＳ５０１に戻し、処理対象を次のコードブロックに変更し、それ以降の処理を繰り返させる。
【０２１６】
ステップＳ５０１乃至ステップＳ５０６の処理が繰り返し実行され、ステップＳ５０６において、処理対象のサブバンド内の全てのコードブロックが処理されたと判定した場合、コードブロック合成部５０５は、ステップＳ５０７に処理を進める。ステップＳ５０７において、コードブロック合成部５０５は、蓄積したウェーブレット係数を合成し、サブバンド単位のウェーブレット係数を生成する。
【０２１７】
ステップＳ５０８において、ウェーブレット逆変換部５０６は、生成されたサブバンド単位のウェーブレット係数を蓄積するとともに、全てのサブバンドが処理されたか否かを判定する。未処理のサブバンドが存在すると判定した場合、ウェーブレット逆変換部５０６は、処理をステップＳ５０１に戻し、処理対象を次のサブバンドに変更し、それ以降の処理を繰り返させる。
【０２１８】
ステップＳ５０１乃至ステップＳ５０８の処理が繰り返し実行され、ステップＳ５０８において、全てのサブバンドが処理されたと判定した場合、ウェーブレット逆変換部５０６は、ステップＳ５０９に処理を進める。ステップＳ５０９において、ウェーブレット逆変換部５０６は、蓄積したウェーブレット係数をウェーブレット逆変換し、ベースバンドの復号画像データを生成する。ステップＳ５１０において、DCレベル逆シフト部５０７は、DCレベルをエンコーダ１００におけるシフト量に応じて、そのエンコーダ１００によるシフト方向と反対方向にシフトし、復号処理を終了する。
【０２１９】
以上のように、コードストリームを解読しながら復号処理を行うので、デコーダ５００は、エンコーダ１００により符号化されたコードストリームを適切に復号することができるとともに、復号処理の処理量を低減させることができる。
【０２２０】
以上に説明したエンコーダ１００およびデコーダ５００は、上述した以外の構成を含むようにしてももちろんよい。また、１つの装置としてだけでなく、複数の装置よりなるシステムとして構成されるようにしてもよい。例えば、デジタルシネマ用編集装置、アーカイブシステム、画像データベース、医用画像の記録システム、ネットワークサーバ、ノンリニア編集装置、PC上のオーサリング・ツールまたはそのソフトウェア・モジュール等として構成されるようにしてもよい。
【０２２１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図２３に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２２２】
図２３において、パーソナルコンピュータ６００の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）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６１２、ハードディスクなどより構成される記憶部６１３、モデムなどより構成される通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２２５】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０２２６】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２２７】
この記録媒体は、例えば、図２３に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０２２８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２２９】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表わすものである。
【０２３０】
なお、以上において、１つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて１つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２３１】
【図１】本発明を適用したエンコーダの主な構成例を示すブロック図である。
【図２】サブバンドの構成例を示す図である。
【図３】各サブバンド中のコードブロックの例を示す図である。
【図４】ビットプレーンの例を説明する図である。
【図５】符号化パスの例を説明する図である。
【図６】係数の走査の例を説明する図である。
【図７】選択部の詳細な構成例を示すブロック図である。
【図８】SPcocまたはSPcodパラメータの構成例を説明する図である。
【図９】符号化処理の流れの例を説明するフローチャートである。
【図１０】選択処理の流れの例を説明するフローチャートである。
【図１１】圧縮データ選択数と圧縮率の関係の例を示す図である。
【図１２】圧縮データ選択数と処理速度の関係の例を示す図である。
【図１３】選択部の他の構成例を示すブロック図である。
【図１４】符号化動作の例を説明する図である。
【図１５】符号化動作の他の例を説明する図である。
【図１６】選択処理の流れの、他の例を説明するフローチャートである。
【図１７】選択部のさらに他の構成例を示すブロック図である。
【図１８】選択処理の流れの、さらに他の例を説明するフローチャートである。
【図１９】選択部のさらに他の構成例を示すブロック図である。
【図２０】符号化処理の流れの、他の例を説明するフローチャートである。
【図２１】本発明を適用したデコーダの構成例を示すブロック図である。
【図２２】復号処理の流れの例を説明するフローチャートである。
【図２３】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２３２】
１００  エンコーダ，  １０１  DCレベルシフト部，  １０２  ウェーブレット変換部，  １０３  コードブロック化部，  １０４  ビットプレーン展開部，  １０５  符号化部，  １０６  選択部，  １０７  パケット生成部，  １１１  ビットモデリング部，  １１２  算術符号化部，  １２１  圧縮率算出部，  １２２  記憶部，  １２３  圧縮率比較選択部，  １２４  埋込部，  ２２３  カウント選択部，  ３２３  比較カウント選択部，  ４２２  設定部，  ５００  デコーダ，  ５０１  解読部，  ５０２  処理選択部，  ５０３  復号部，  ５０４  ビットプレーン合成部，  ５０５  コードブロック合成部，  ５０６  ウェーブレット逆変換部，  ５０７  DCレベル逆シフト部，  ５１１  算術復号部，  ５１２  ビットモデリング部
【図１】
2010093669.tif 000003
【図２】
2010093669.tif 000004
【図３】
2010093669.tif 000005
【図４】
2010093669.tif 000006
【図５】
2010093669.tif 000007
【図６】
2010093669.tif 000008
【図７】
2010093669.tif 000009
【図８】
2010093669.tif 000010
【図９】
2010093669.tif 000011
【図１０】
2010093669.tif 000012
【図１１】
2010093669.tif 000013
【図１２】
2010093669.tif 000014
【図１３】
2010093669.tif 000015
【図１４】
2010093669.tif 000016
【図１５】
2010093669.tif 000017
【図１６】
2010093669.tif 000018
【図１７】
2010093669.tif 000019
【図１８】
2010093669.tif 000020
【図１９】
2010093669.tif 000021
【図２０】
2010093669.tif 000022
【図２１】
2010093669.tif 000023
【図２２】
2010093669.tif 000024
【図２３】
2010093669.tif 000025