(57)【特許請求の範囲】
【請求項１】
ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数が符号化された第１のコードストリームの一部分を復号する部分復号手段と、
前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第１のコードストリームの形式を変換した第２のコードストリームを生成する符号化手段と
を備え、
前記符号化手段は、前記第２のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第２のコードストリームを生成し、
前記部分復号手段は、
前記第１のコードストリームを復号する復号手段と、
前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化手段が前記符号化により所望の形式の前記第２のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出する抽出手段と、
前記抽出手段により抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成するベースバンドデータ生成手段と
を備える情報処理装置。
【請求項２】
前記抽出手段は、
前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記第２のコードストリームの画像の解像度の目標値に応じて、必要なサブバンドを選択するサブバンド選択手段を備える
請求項１に記載の情報処理装置。
【請求項３】
前記符号化手段は、前記第２のコードストリームの画像の解像度が目標値に一致または近似するように前記ベースバンドの画像データを符号化し、
前記サブバンド選択手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記サブバンドを選択する
請求項２に記載の情報処理装置。
【請求項４】
前記抽出手段は、
前記復号手段により復号されて生成される前記ウェーブレット変換係数のビットプレーンのデータ量をカウントするカウント手段と、
前記カウント手段によりカウントされる前記データ量に基づいて選択するビットプレーンの圧縮率を算出し、前記圧縮率と前記第２のコードストリームの圧縮率の目標値に基づいて、選択するビットプレーンを決定する決定手段と
を備える請求項１に記載の情報処理装置。
【請求項５】
前記符号化手段は、前記第２のコードストリームの圧縮率が前記目標値に一致または近似するように前記ベースバンドの画像データを符号化し、
前記決定手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの符号量が、前記目標値に一致または近似するように前記ビットプレーンを選択する
請求項４に記載の情報処理装置。
【請求項６】
前記抽出手段は、前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記第２のコードストリームの色形式に応じて、必要なサブバンドを選択するサブバンド選択手段を備える
請求項１に記載の情報処理装置。
【請求項７】
前記ベースバンド生成手段は、前記第２のコードストリームの色形式に応じた方法で、前記ウェーブレット変換係数に対するウェーブレット逆変換を行い、前記色形式の前記ベースバンドの画像データを生成する
請求項６に記載の情報処理装置。
【請求項８】
ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数が符号化された第１のコードストリームの一部分を復号する部分復号手段と、
前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第１のコードストリームの形式を変換した第２のコードストリームを生成する符号化手段と
を備える情報処理装置の情報処理方法であって、
前記符号化手段が、前記第２のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第２のコードストリームを生成し、
前記部分復号手段が、
前記第１のコードストリームを復号し、
復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化により所望の形式の前記第２のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出し、
抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、コードストリームの圧縮率、画像の解像度、または色形式等の形式変換処理（トランスコード）の負荷を低減させることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来のアーカイブシステムまたは画像のデータベースでは、マスタ画像と呼ばれる非圧縮の画像を記憶・保持しておき、これを必要に応じて圧縮して、圧縮結果のファイルをネットワーク経由で配信したり、記録メディアに保存したりする等のオペレーションを行っている。
【０００３】
映画制作では、まず35mmまたは60mmフィルムで撮影して、フィルムスキャンコンバータという機器を用いてデジタルデータにコンバートする。このデジタル化された映画ソースがマスタ画像になる。
【０００４】
医用の場合でも、レントゲン写真の画像は直接非圧縮のデータになる場合もあるが、フィルムの場合は上記と同様にフィルムスキャンされたデジタルデータがマスタ画像になる。
【０００５】
また、最近の一眼レフデジカメでは、CCD（Charge Coupled Device）やCMOS（Complementary Metal Oxide Semiconductor）のイメージセンサから取得したRAWデータまたはRGBデータを、非圧縮のままメモリカードに保存できるものが多い。
【０００６】
以上の様に、非圧縮のマスタ画像は画像としてのデータに欠損がないため重要であるが、難点はデータサイズが巨大になることである。従って、マスタ画像をネットワーク経由で転送する場合や、メモリカードに多くの画像を記録する場合には、何らかの圧縮（エンコード）を余議なくされる。
【０００７】
またハードディスクの容量は有限であることから、マスタ画像を可逆圧縮して、この可逆圧縮ファイルをハードディスクに記憶させる手段も採られている。その際、マスタ画像はテープなどのより安価な記録媒体にセーブしておくのが便利である。
【０００８】
デジタルシネマの用途では、DCI規格（Digital Cinema Initiatives）によって、映画配信のための圧縮フォーマットが決まっている。それによれば、ISO（International Organization for Standardization）規格のJPEG（Joint Photographic Experts Group）2000 Part-1を圧縮・伸長技術として使い、ビットレートは4,096×2,160のXYZ 12ビット（24Hz）の動画シーケンスに対して、ピークレートで250Mbpsである。従って、マスタ画像を上記のビットレートにエンコードして配信、及び上映する必要がある。
【０００９】
DCI規格では4,096×2,160というHDTV（High Definition Television）の４倍もの解像度を扱うので、上述した様に１度マスタ画像を可逆圧縮してデータサイズを数分の１に縮小してから、ハードディスクなどの記録装置に保存することが多い。
【００１０】
その後、可逆圧縮ファイルを可逆伸長してベースバンドに戻してから、JPEG2000非可逆圧縮によってDCI規格のJPEG2000ファイルを生成する手順になる。
【００１１】
一方、JPEG2000以外のコーデックについて言及すれば、BS（Broadcasting Satellite）デジタル放送ではMPEG-2（Moving Picture Experts Group -2）が普及しており、ワンセグ放送ではH.264のビデオ圧縮・伸長方式が採用されている。従って、１度JPEG2000で圧縮された画像をMPEG-2やH.264の他コーデックに変換する用途も生ずる。またJPEG2000ではデジタルシネマなど高解像度を対象とすることが多いが、MPEG-2やH.264ではHDTV以下の解像度がメインである。従って、JPEG2000からMPEG-2やH.264にトランスコードする場合、解像度変換も同時に行う必要性が生じる場合もある。
【００１２】
データ変換としては、例えば、高解像度画像のビットストリームのDCTブロックの低周波成分の係数のみを用いて逆離散コサイン変換を行い、標準解像度画像に復号するダウンデコーダがあった（例えば、特許文献１および特許文献２参照）。
【００１３】
【特許文献１】特許４０１６１６６号
【特許文献２】特許４０２６２３８号
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、コードストリームの形式を変換する従来のトランスコーダによる変換処理では、コードストリームを全てデコードし、ベースバンドのデータに対して変換処理を行い、エンコード処理によってコードストリームに変換していた。そのため、上述したようにマスタ画像のデータ量が大きい場合、デコード処理の負荷が増大する恐れがあった。
【００１５】
また、特許文献１や特許文献２に記載の方法では、符号化方式にMPEG-2が用いられているため、処理が複雑化し、負荷も増大する。また、変換処理による画質の劣化も大きい。さらに、エンコード処理との連携も考えられていない。
【００１６】
本発明はこのような問題を解決するためのものであり、コードストリームを他の形式のコードストリームに変換する際の負荷を低減させ、さらに不要な画質劣化を抑制することができるようにするものである。
【課題を解決するための手段】
【００１７】
本発明の一側面は、ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数が符号化された第１のコードストリームの一部分を復号する部分復号手段と、前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第１のコードストリームの形式を変換した第２のコードストリームを生成する符号化手段とを備え、前記符号化手段は、前記第２のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第２のコードストリームを生成し、前記部分復号手段は、前記第１のコードストリームを復号する復号手段と、前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化手段が前記符号化により所望の形式の前記第２のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出する抽出手段と、前記抽出手段により抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成するベースバンドデータ生成手段とを備える情報処理装置である。
【００１９】
前記抽出手段は、前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記第２のコードストリームの画像の解像度の目標値に応じて、必要なサブバンドを選択するサブバンド選択手段を備えることができる。
【００２０】
前記符号化手段は、前記第２のコードストリームの画像の解像度が目標値に一致または近似するように前記ベースバンドの画像データを符号化し、前記サブバンド選択手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記サブバンドを選択することができる。
【００２１】
前記抽出手段は、前記復号手段により復号されて生成される前記ウェーブレット変換係数のビットプレーンのデータ量をカウントするカウント手段と、前記カウント手段によりカウントされる前記データ量に基づいて選択するビットプレーンの圧縮率を算出し、前記圧縮率と前記第２のコードストリームの圧縮率の目標値に基づいて、選択するビットプレーンを決定する決定手段とを備えることができる。
【００２２】
前記符号化手段は、前記第２のコードストリームの圧縮率が前記目標値に一致または近似するように前記ベースバンドの画像データを符号化し、前記決定手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの符号量が、前記目標値に一致または近似するように前記ビットプレーンを選択することができる。
【００２３】
前記抽出手段は、前記復号手段により復号されて生成される前記ウェーブレット変換係数の中から、前記第２のコードストリームの色形式に応じて、必要なサブバンドを選択するサブバンド選択手段を備えることができる。
【００２４】
前記ベースバンド生成手段は、前記第２のコードストリームの色形式に応じた方法で、前記ウェーブレット変換係数に対するウェーブレット逆変換を行い、前記色形式の前記ベースバンドの画像データを生成することができる。
【００２５】
本発明の一側面は、また、ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数が符号化された第１のコードストリームの一部分を復号する部分復号手段と、前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第１のコードストリームの形式を変換した第２のコードストリームを生成する符号化手段とを備える情報処理装置の情報処理方法であって、前記符号化手段が、前記第２のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第２のコードストリームを生成し、前記部分復号手段が、前記第１のコードストリームを復号し、復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化により所望の形式の前記第２のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出し、抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成する情報処理方法。
【００２６】
本発明においては、第２のコードストリームに関するパラメータの目標値を用いてベースバンドの画像データが符号化されて所望の形式の第２のコードストリームが生成され、第１のコードストリームが復号され、復号されて生成されるウェーブレット変換係数の中から、目標値に応じて、符号化により所望の形式の第２のコードストリームを生成することができるベースバンドの画像データを生成するのに必要なウェーブレット変換係数が抽出され、抽出されたウェーブレット変換係数を用いてベースバンドの画像データが生成される。
【発明の効果】
【００２７】
本発明によれば、コードストリームを他の形式に変換することができる。特に、コードストリームを他の形式のコードストリームに変換する際の負荷を低減させるとともに不要な画質劣化を抑制することができることができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明を適用したトランスコーダの構成例を示すブロック図である。図１に示されるトランスコーダ１００は、画像データが符号化されたコードストリーム（符号化データ）を、他の形式のコードストリームに変換する形式変換装置である。例えば、トランスコーダ１００は、JPEG（Joint Photographic Experts Group）2000の方式で符号化されたコードストリームをH.264の符号化データに形式変換する。
【００２９】
トランスコーダ１００は、コードストリームを復号するデコーダと、復号して得られるベースバンドの画像データを符号化するエンコーダを有する。このとき、トランスコーダ１００は、符号化の目標値となる圧縮率や画像の解像度等の情報に基づいて復号処理を行うことにより、不要なデータに対する処理を低減させる。これによりトランスコーダ１００は、復号処理の負荷を軽減させるようにするだけでなく、変換処理による不要な画質劣化を低減することができる。
【００３０】
図１に示されるように、トランスコーダ１００は、部分デコード部１０１、エンコード部１０２、および入力部１０３を有する。
【００３１】
部分デコード部１０１は、入力されたコードストリームの一部を復号し、ベースバンドの画像データを生成する。エンコード部１０２は、そのベースバンドの画像データを所定の圧縮方式により圧縮符号化し、生成したコードストリームを出力する。
【００３２】
このとき、エンコード部１０２は、生成するコードストリームに関する情報、例えば、目標圧縮率や解像度の情報を、変換目標情報として部分デコード部１０１に供給する。部分デコード部１０１は、その変換目標情報に基づいて、コードストリームを必要な分だけ、部分的に復号してベースバンドの画像データを生成する。後述するように、部分デコード部１０１は、形式変換によるコードストリームのデータとしての変化量（符号量や解像度の変化）が大きいほど、復号するコードストリームの部分が少なくて済むので、復号処理の処理量を低減させることができる。
【００３３】
ただし、部分デコード部１０１が生成するベースバンドの符号量が少なすぎると、エンコード部１０２が目標符号量や解像度を達成することができなくなる恐れがある。そこで、部分デコード部１０１は、エンコード部１０２が目標値を達成するのに必要な情報量、若しくは、それより少し多くの情報量のベースバンドの画像データを生成するように、符号を選択して復号する。換言すれば、部分デコード部１０１は、エンコード部１０２が目標を達成することができる範囲において、復号処理の処理量をより低減させるように、コードストリームを部分的に復号する。部分デコード部１０１は、その範囲を、エンコード部１０２より供給される変換目標情報により判断する。以上のように部分デコード処理を行うことにより、部分デコード部１０１は、マスタ画像（原画像）のデータサイズが大きくても、容易かつ適切にコードストリームを復号することができる。
【００３４】
以下において、このようなコードストリームの一部分を復号することを部分デコード処理と称する。また、トランスコーダ１００は、どのような方式のコードストリームを形式変換するようにしてもよい。以下においては、トランスコーダ１００が、JPEG2000方式で符号化されたコードストリームを受け付け、その画像の解像度およびビットレート（圧縮率）を変換し、JPEG2000方式で符号化されたコードストリームを出力する場合について説明する。つまり、部分デコード部１０１およびエンコード部１０２は、JPEG2000方式で符号化または復号を行う。JPEG2000以外の方式のコードストリームを受け付ける、または、JPEG2000以外の方式のコードストリームを出力する場合は、部分デコード部１０１およびエンコード部１０２のそれぞれの対応する符号化復号方式を対応させればよい。
【００３５】
部分デコード部１０１は、エントロピ復号部１１１、抽出部１１２、およびベースバンド生成部１１３を有している。エントロピ復号部１１１は、入力されたコードストリームをエントロピ復号し、得られた係数データを抽出部１１２に供給する。抽出部１１２は、エンコード部１０２より供給される変換目標情報に基づいて、必要な係数データを抽出し、ベースバンド生成部１１３に供給する。ベースバンド生成部１１３は、供給された係数データに対してウェーブレット逆変換等の処理を行い、ベースバンドの画像データを生成し、それをエンコード部１０２に供給する。
【００３６】
エンコード部１０２は、コードストリーム生成部１２１、制御部１２２、および供給部１２３を有する。コードストリーム生成部１２１は、部分デコード部１０１より供給されるベースバンドの画像データを、制御部１２２の制御に基づいて、例えばJPEG2000方式で符号化し、コードストリームを生成し、出力する。制御部１２２は、入力部１０３により受け付けられた、外部の装置より供給される情報またはユーザ操作に基づいて、変換後のコードストリームのビットレート（圧縮率）や画像の解像度等を用いてコードストリーム生成部１２１を制御する。また、制御部１２２は、入力部１０３より入力された情報を供給部１２３に供給する。供給部１２３は、その情報を変換目標情報として部分デコード部１０１に供給する。
【００３７】
このとき、抽出部１１２は、その変換目標情報に基づいてエンコードに必要なデータのみ抽出するので、ベースバンド生成部１１３は、不要なデータの処理を低減させることができる。
【００３８】
次に、図１のトランスコーダ１００の構成の詳細について説明する。説明の便宜上、エンコード部１０２より先に説明し、その後、部分デコード部１０１の説明を行う。図２は、図１のエンコード部１０２の詳細な構成例を示すブロック図である。図２に示されるように、エンコード部１０２のコードストリーム生成部１２１は、DCレベルシフト部１５１、ウェーブレット変換部１５２、量子化部１５３、コードブロック化部１５４、ビットプレーン展開部１５５、EBCOT（Embedded Coding with Optimized Truncation）部１５６、ヘッダ生成部１５７、およびパケット生成部１５８を有する。
【００３９】
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画素のコードブロックは合計５０個存在することになる。後段の各処理部は、このコードブロック毎に処理を行う。
【００４８】
コードブロック化部１５４は、各コードブロックをその重要度順（重要度の高いほうから低いほうへ向かう順）に、ビットプレーン展開部１５５に供給する。ビットプレーン展開部１５５は、係数データを、ビットの位毎のビットプレーンに展開し、それをEBCOT部１５６に供給する。
【００４９】
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群を、１ビット毎、つまり位毎に分割（スライス）したものである。つまり、ビットプレーンは、その係数群の互いに同一の位のビット（係数ビット）の集合である。
【００５０】
図６にその具体例を示す。図６の左図は縦４個、横４個の計１６個の係数を示している。この１６個の係数のうち、絶対値が最大のものは１３で、２進数で１１０１と表現される。ビットプレーン展開部１５５は、このような係数群を、絶対値を示す４枚のビットプレーン（絶対値のビットプレーン）と、符号を示す１枚のビットプレーン（符号のビットプレーン）に展開する。つまり、図６中左の係数群は、図６中右に示されるように、４枚の絶対値のビットプレーンと１枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて０か１の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が０であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
【００５１】
ビットプレーン展開部１５５は、このように展開したビットプレーンをその重要度順（重要度の高いほうから低いほうへ向かう順）に、EBCOT部１５６に供給する。EBCOT部１５６は、係数データのビットプレーンを、その順、すなわち、重要度の高いほうから低いほうへ向かう順に符号化する。例えば、EBCOT部１５６は、各ビットプレーンを、係数の最上位ビット（MSB：Most Significant Bit）から最下位ビット（LSB：Less Significant Bit）に向かう順に符号化する。
【００５２】
図２に示されるようにEBCOT部１５６は、入力される係数データに対して、JPEG2000規格で定められたEBCOTと呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
【００５３】
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の順序で用いられて符号化される。
【００６０】
ただし、実際には、EBCOT部１５６は、MSB側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、全ての係数が０のビットプレーン（ゼロビットプレーンと称する）は符号化しない。
【００６１】
次に、係数の走査（スキャニング）について図８を用いて説明する。コードブロックは高さ４個の係数毎にストライプ（stripe）に分けられるストライプの幅はコードブロックの幅に等しい。スキャン順とは、１個のコードブロック内の、全ての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中の全ての係数が、このスキャン順で処理される。
【００６２】
なお、サブバンドや画像全体における符号化の順序の詳細については後述するが、EBCOT部１５６は、基本的に、重要度の高いものから低いものに向かう順序で各係数ビットを符号化する。
【００６３】
図２に戻り、EBCOT部１５６の算術符号化部１６２は、生成した符号化コードストリームを、制御部１２２の符号量加算部１７２を介してヘッダ生成部１５７およびパケット生成部１５８に供給する。
【００６４】
ヘッダ生成部１５７は、ヘッダ情報を生成し、そのヘッダ情報をパケット生成部１５８に供給する。パケット生成部１５８は、そのヘッダ情報を用いて符号化コードストリームのパケット化を行う。
【００６５】
JPEG2000規格では、符号化コードストリームを表現する際に、パケットと呼ばれる単位で符号化コードストリームがパッキングされる。このパケットの概念を図示したものが図９である。この図では、図３の例と同様に、ウェーブレット変換が３回施された例である。この場合、図９に示されるように、最低域の第１パケットから最高域の第４パケットまでの４個のパケットが生成される。従って、これら個々のパケット内サブバンド中に存在する、全てのコードブロックの符号化コードストリームが、パケット生成部１５８において、パケット毎にパッキングされ、エンコード部１０２より出力される。
【００６６】
また、図２に示されるように、エンコード部１０２の制御部１２２は、制御部１７１と符号量加算部１７２を有する。
【００６７】
符号量加算部１７２は、EBCOT部１５６より供給される符号語の符号量をカウントし、累積する。そして、符号量加算部１７２は、その符号語をヘッダ生成部１５７およびパケット生成部１５８に供給するとともに、符号量の累積値を制御部１７１に供給する。制御部１７１は、供給された符号量の累積値と、入力部１０３より入力された目標符号量とを比較し、累積値が目標符号量より小さい場合、EBCOT部１５６を制御し、次のビットプレーンの符号化を行わせる。EBCOT部１５６は、その制御に従って次に重要なビットプレーンを符号化し、生成した符号語を符号量加算部１７２に供給する。符号量加算部１７２は、その符号語の符号量をカウントして累積し、累積値を制御部１７１に供給する。
【００６８】
累積値が目標符号量に達するまで、以上のような処理が繰り返される。そして、累積値が目標符号量に達すると、制御部１７１は、EBCOT部１５６を制御し、符号化処理を終了させる。
【００６９】
以上のように、制御部１７１が、符号量加算部１７２において算出された符号量の累積値に基づいて、EBCOT部１５６を制御することにより、コードストリーム生成部１２１は、符号量を調整しながら符号化を行う。
【００７０】
制御部１７１は、さらに、入力部１０３より入力された出力コードストリーム（変換後のコードストリーム）の目標圧縮率（目標符号量）や画像の解像度の情報を、供給部１２３の目標圧縮率供給部１８２や解像度情報供給部１８１に供給する。
【００７１】
供給部１２３は、解像度情報供給部１８１、目標圧縮率供給部１８２、および多重化部１８３を有する。解像度情報供給部１８１は、制御部１７１より供給される、出力コードストリームの画像の解像度に関する情報を多重化部１８３に供給する。目標圧縮率供給部１８２は、制御部１７１において設定されている目標符号量とマスタ画像のデータ量に基づいて算出される、部分デコード部１０１における目標圧縮率を多重化部１８３に供給する。多重化部１８３は、解像度情報供給部１８１より供給される解像度の情報と、目標圧縮率供給部１８２より供給される目標圧縮率の情報を多重化し、変換目標情報として部分デコード部１０１の抽出部１１２に供給する。
【００７２】
これにより、部分デコード部１０１は、その目標圧縮率や解像度に合わせて、デコード処理を行うことができ、マスタ画像のデータ量が大きい場合であっても、不要な処理の負荷の増大を適切に抑制することができる。なお、目標圧縮率情報および解像度情報は、多重化せずにそれぞれを互いに独立に部分デコード部１０１に供給されるようにしてもよい。
【００７３】
次に図１の部分デコード部１０１について説明する。
【００７４】
図１０は、図１の部分デコード部１０１の詳細な構成例を示すブロック図である。図１０に示されるように、部分デコード部１０１のエントロピ復号部１１１は、パケット解読部２０１およびEBCOT部２０２を有する。
【００７５】
パケット解読部２０１は、入力されたパケットを解読し、パケットからコードストリームを抽出してEBCOT部２０２に供給する。EBCOT部２０２は、そのコードストリームをエントロピ復号し、ビットプレーンに展開されたウェーブレット係数を生成する。EBCOT部２０２は、算術復号部２１１およびビットモデリング部２１２を有する。算術復号部２１１はコードストリームを復号し、ビットモデリング部２１２はビットプレーンに展開されたウェーブレット係数を生成する。EBCOT部２０２は、生成したビットプレーン毎の係数データを、抽出部１１２のサブバンド選択部２２３に供給する。
【００７６】
抽出部１１２は、解像度情報取得部２２１、目標圧縮率取得部２２２、サブバンド選択部２２３、選択ビットプレーン符号量カウント部２２４、および選択ビットプレーン決定部２２５を有する。
【００７７】
解像度情報取得部２２１は、エンコード部１０２の供給部１２３より供給される変換目標情報より解像度情報を抽出して取得する。つまり、解像度情報取得部２２１は、解像度情報供給部１８１より供給される解像度情報を取得する。目標圧縮率取得部２２２は、エンコード部１０２の供給部１２３より供給される変換目標情報より目標圧縮率を抽出して取得する。つまり、目標圧縮率取得部２２２は、目標圧縮率供給部１８２より供給される目標圧縮率を取得する。
【００７８】
ビットモデリング部２１２より供給される係数データは、サブバンド毎に並べられた各係数データがさらにビットプレーン毎に並べられたものである。サブバンド選択部２２３は、解像度情報取得部２２１より供給される解像度情報に基づいて、ベースバンドの画像データに使用する係数データをサブバンド単位で選択する。つまり、サブバンド選択部２２３は、解像度情報に指定される解像度の画像データを生成するために必要なサブバンドを抽出する。サブバンド選択部２２３は、選択したサブバンドを選択ビットプレーン符号量カウント部２２４に供給する。
【００７９】
選択ビットプレーン符号量カウント部２２４は、供給されるビットプレーンを蓄積する。また、選択ビットプレーン符号量カウント部２２４は、蓄積したビットプレーンの中から、まず、後段の処理部に供給する（つまり復号結果として利用する）ビットプレーンである選択ビットプレーンの候補を選び、その候補の符号量をカウントし、そのカウント値（符号量の情報）を選択ビットプレーン決定部２２５に供給する。目標圧縮率取得部２２２は、変換目標情報より目標圧縮率を取得し、それを選択ビットプレーン決定部２２５に供給する。この目標符号量は、上述したように、エンコード部１０２が目標符号量を達成するために必要なベースバンドの画像データの符号量を、マスタ画像（原画像）の画像データに対する圧縮率で表したものである。
【００８０】
選択ビットプレーン決定部２２５は、選択ビットプレーン符号量カウント部２２４より供給される選択ビットプレーンの候補の符号量を用いて、その選択ビットプレーンの候補の、マスタ画像（原画像）の画像データに対する圧縮率を算出し、その圧縮率が、目標圧縮率取得部２２２より供給された目標圧縮率以下となったか否かを判定する。目標圧縮率に達した時点で、選択ビットプレーン決定部２２５は、選択ビットプレーン符号量カウント部２２４より選択ビットプレーンの候補を取得し、それらの候補を正式に選択ビットプレーンとして決定し、後段のベースバンド生成部１１３のコードブロック合成部２３１に供給する。
【００８１】
以上のように、抽出部１１２が、エンコード部１０２より取得する変換目標情報に応じて、一部のビットプレーンを選択することにより、ベースバンド生成部１１３は、その選択した一部のビットプレーンのみを用いてベースバンドの画像データを生成することができる。このようにすることにより、部分デコード部１０１は、エンコード部１０２において必要なデータ量、もしくは、それより少し多目のデータ量のベースバンドの画像データを生成することができる。
【００８２】
つまり、部分デコード部１０１は、入力されたコードストリームのうち、一部分のみを使用してベースバンドの画像データを生成する。上述したように、エンコード部１０２より供給される変換目標情報に基づいてこのような部分デコード処理を行うことにより、少なくともエンコード部１０２における符号化に必要なデータ量（目標符号量や解像度を達成するために必要な符号量）が確保されているので、エンコード部１０２は、不要な画質の劣化を伴わずにコードストリームを生成することができる。つまり、トランスコーダ１００は、不要な画質の劣化なしにコードストリームの形式変換を行うことができる。このように、部分デコード部１０１は、上述した部分デコード処理により、不要に高画質なベースバンドの画像データを生成する必要がなくなり、マスタ画像のデータ量が大きい場合であっても、不要に画質を低下させずに（適切に）、不要な処理の負荷の増大を抑制する（容易に復号処理を行う）ことができる。
【００８３】
なお、選択ビットプレーン符号量カウント部２２４は、重要度の高いビットプレーンを優先的に選択ビットプレーンの候補として選択する。つまり、選択ビットプレーン符号量カウント部２２４は、蓄積したビットプレーンを、重要度の高い方から低い方に向かう順に選択ビットプレーンの候補として１つずつ選択し、選択する度に符号量を算出し、選択ビットプレーン決定部２２５にその情報を供給する。
【００８４】
換言すれば、部分デコード部１０１は、重要度の高いデータほど優先的に復号してベースバンドの画像データを生成する。このように部分デコード処理を行うことにより、部分デコード部１０１は、可能な限り画質の劣化を抑制するように適切に復号処理を行うことができる。
【００８５】
ベースバンド生成部１１３は、コードブロック合成部２３１、逆量子化部２３２、ウェーブレット逆変換部２３３、およびDCレベル逆シフト部２３４を有する。
【００８６】
コードブロック合成部２３１は、供給されたビットプレーンを用いてコードブロック単位の係数データを生成し、さらにそれらを合成し、サブバンド毎の係数データを生成し、それを逆量子化部２３２に供給する。逆量子化部２３２は、供給された係数データを逆量子化し、それをウェーブレット逆変換部２３３に供給する。なお、トランスコーダ１００に入力されたコードストリームが可逆方式で圧縮されたコードストリームの場合、この逆量子化部２３２は省略される。ウェーブレット逆変換部２３３は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。DCレベル逆シフト部２３４は、その画像データのDC成分に対して、符号化時にシフトされた分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部２３４は、DCレベル逆シフト処理後の画像データをエンコード部１０２に供給する。
【００８７】
続いて、係数の重要度について説明する。トランスコーダ１００において、部分デコード部１０１およびエンコード部１０２は、既存のRD（Rate-Distortion）特性を利用したレート制御法とは大きくことなり、基本的に、重要度の高いものから低いものに向かう順番に各係数ビットを符号化または復号する。
【００８８】
例えば、図１１は、１つのサブバンドY-0LLを符号化（または復号）する順の例を示す図である。Y-0LLのYは輝度を表し、0LLは最低域を示している。このY-0LLにおいて、コードブロックCB0乃至コードブロックCBnまで（ｎ＋１）個のコードブロックが存在していることを示している。模様が付されている部分が、各コードブロックのビットプレーン群を示す。
【００８９】
図１１に示されるように、サブバンド内において、EBCOT部１５６およびEBCOT部２０２は、各コードブロックのビットプレーンを、優先順位の高いコードブロックから優先順位の低いコードブロックの順に符号化または復号する。図１１において、コードブロックCB0が最も優先順位の高い（最も重要度の高い）コードブロックを示し、コードブロックCBnが優先順位の最も低い（最も重要度の低い）コードブロックを示している。上述したように、各ビットプレーンは、MSBからLSBに向かう順に符号化または復号されるので、結局、図１１の例の場合、Y-0LL内の符号化・復号順は、矢印に示されるように順となる。
【００９０】
係数が０しか存在しないゼロビットプレーンは処理されないので、実際には、ビットプレーンは、図１１中に示される番号順（（１）から（１４）に向かう順）に処理される。なお、図１１中においては、この番号は、円で囲まれた数字で示されているが、本明細書中においては括弧つき数字で示す。つまり、最初にEBCOTの対象になるのは、最もビット位置の高い（１）のビットプレーンになる。このビット位置では（１）しかビットプレーンが存在していないので、（１）だけをEBCOTして、次のビット位置に移動する（点線で図示してある）。次のビット位置では、（２）と（３）のビットプレーンがEBCOTの対象になる。
【００９１】
次に、データ量の調整方法について説明する。
【００９２】
まず、エンコード部１０２の場合、上述した走査を繰り返し行い、各ビットプレーンのEBCOT符号化で発生した符号量を、前述の様に加算していき、その累算結果が目標符号量に達したときに、EBCOTを終了する。例えば、図１１において、（９）まで符号化した時点で目標符号量に到達したとすると、制御部１７１は、その時点でEBCOT部１５６に符号化を終了させる。従ってこの場合、（１０）も（９）とは同じビット位置にはあるが、エンコード部１０２より出力される符号化コードストリームの中には含まれないことになる。
【００９３】
部分デコード部１０１の場合、EBCOT部２０２では、供給される符号語が同様の走査順に復号される。選択ビットプレーン符号量カウント部２２４は、EBCOT部２０２より出力された順に各ビットプレーンを選択ビットプレーンの候補とし、その符号量をカウントする。つまり、（１）から（１４）の順に各ビットプレーンの符号量がカウントされる。選択ビットプレーン決定部２２５は、選択ビットプレーン符号量カウント部２２４より供給される符号量に基づいて、選択ビットプレーンの候補の、マスタ画像（原画像）の画像データに対する圧縮率を算出し、それを目標圧縮率取得部２２２より供給された目標圧縮率と比較する。
【００９４】
そして、選択ビットプレーンの候補の圧縮率が、以下の２式を満たし、目標圧縮率に達した時点で、選択ビットプレーン決定部２２５は、選択ビットプレーンの候補を、選択ビットプレーンとして正式に決定する。
【００９５】
目標圧縮率≦マスタ画像のデータサイズ／（１）乃至（９）の符号量の総和
目標圧縮率≧マスタ画像のデータサイズ／（１）乃至（１０）の符号量の総和
【００９６】
部分デコード部１０１の抽出部１１２は、以上のように、復号データのデータ量を調整する。
【００９７】
つまり、部分デコード部１０１およびエンコード部１０２は、それぞれ、係数データまたは符号語をその重要度の順に符号化または復号する。さらに、部分デコード部１０１およびエンコード部１０２は、その重要度の順にデータの取捨選択を行い、データ量を調整する。
【００９８】
以上においては、１つのサブバンド内における走査方法について説明した。つまり、この場合、画像全体においては、各サブバンドが所定の順に１つずつ処理される（サブバンド毎に処理される）。
【００９９】
符号化および復号の走査順は、これ以外であってもよく、例えば、図１２に示されるように、コンポーネント毎に処理されるような順でもよい。図１２は、各ビット位置を、Ｙ成分（輝度成分）の全てのサブバンドに渡って走査する場合の例を示す図である。
【０１００】
図１２の例の場合、各サブバンドが、重要度に応じて（この例の場合、低域（0LL）から高域（3HH）に向かう順に）並べられている。また、各サブバンド内においては、各コードブロックが、重要度に応じて（この例の場合、CB0からCBnに向かう順に）並べられている。このように並べられたビットプレーンは、矢印に示されるように、ビット位置毎に、MSB側からLSB側に向かう順に処理される。従って、この場合、３段目の走査において、Y-0LLのビットプレーンだけでなく、Y-1HLやY-3HHのビットプレーンも処理される。
【０１０１】
さらに、画像が複数のコンポーネントから構成されている場合、例えば、図１３に示されるように、全てのコンポーネントを通して走査するようにしてもよい。図１３は、各ビット位置を、Ｙ成分、Ｕ成分、およびＶ成分の全てのコンポーネントに渡って走査する場合の例を示す図である。
【０１０２】
図１３の例の場合、Ｙ成分（輝度成分）、Ｕ成分（色差成分）、およびＶ成分（色差成分）の各コンポーネントが、重要度に応じて（この例の場合、Ｙ成分、Ｕ成分、Ｖ成分の順に）並べられている。また、各コンポーネント内においては、各サブバンドが、重要度に応じて（この例の場合、低域（0LL）から高域（3HH）に向かう順に）並べられている。さらに、各サブバンド内においては、各コードブロックが、重要度に応じて（この例の場合、CB0からCBnに向かう順に）並べられている。このように並べられたビットプレーンは、矢印に示されるように、ビット位置毎に、MSB側からLSB側に向かう順に処理される。従って、この場合、１段目の走査において、Y-0LLのビットプレーンだけでなく、U-0LLのビットプレーンも処理される。
【０１０３】
より具体的に説明すると、EBCOT部１５６は、最初に、ゼロビットプレーンでないビットプレーンが存在する、MSBに最も近いビット位置において、Ｙ成分の全てのサブバンド（0LLから3HHまで）内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。EBCOT部１５６は、次に、同じビット位置において、Ｕ成分の全てのサブバンド（0LLから3HHまで）内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。EBCOT部１５６は、さらに、同じビット位置において、Ｖ成分の全てのサブバンド（0LLから3HHまで）内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。
【０１０４】
V-3HHまで走査が終了すると、EBCOT部１５６は、次に、１つ下位のビット位置に移動し、そのビット位置について、同様の順で走査を続ける。
【０１０５】
上述した図１２においてはコンポーネント毎に各ビット位置を走査するように説明したが、この場合、画像が複数のコンポーネントから構成されているときは、各コンポーネントをその重要度順に走査する。つまり、例えば、図１３の例のように、画像がＹ成分、Ｕ成分、およびＶ成分よりなり、この順に重要度が高い場合、まず、最も重要なＹ成分について処理が行われ、次にＵ成分について処理が行われ、最後に最も重要度の低いＶ成分について処理が行われるようにする。
【０１０６】
また、上述した図１１においてはサブバンド毎に各ビット位置を走査するように説明したが、この場合、各サブバンドをその重要度順に走査する。つまり、例えば、図１２の例のように、画像が0LL乃至3HHのサブバンドにより構成されており、この順に重要度が高い場合、まず、最も重要な0LL成分について処理が行われ、次に、その次に重要な1LH成分について処理が行われ、以下同様に重要度の順に処理が行われ、最終的に最も重要度の低い3HHについて処理が行われるようにする。例えば、図１４に示されるような、所定の順で各サブバンドが処理されるようにする。
【０１０７】
なお、この走査順は予め定められている。つまり、各ビットプレーンの重要度は予め定められており、部分デコード部１０１および非可逆エンコード部１０２は、この重要度について互いに共通の認識を持つ。
【０１０８】
以上のような、符号化・復号処理の流れの例を以下に説明する。
【０１０９】
最初に、図１５のフローチャートを参照して、トランスコーダ１００による形式変換処理の流れの例を説明する。
【０１１０】
コードストリームが入力され、形式変換処理が開始されると部分デコード部１０１は、ステップＳ１０１において、入力されたコードストリームに対して、その時点の変換目標情報に基づいて部分デコード処理を行う。部分デコード処理が終了すると、エンコード部１０２は、ステップＳ１０２において、デコードされて得られたベースバンドの画像データに対してエンコード処理を行い、必要に応じて変換目標情報を更新する。
【０１１１】
トランスコーダ１００は、入力されるコードストリームの画像データの各フレームに対して、以上のような形式変換処理を行う。なお、エンコード部１０２は、部分デコード部１０１より出力されるベースバンドの画像データを順次符号化することができる。つまり、ステップＳ１０１およびステップＳ１０２の各処理は、互いに同時並行的に実行するようにしてもよい。
【０１１２】
次に、図１６のフローチャートを参照して、図１５のステップＳ１０１において部分デコード部１０１により実行される部分デコード処理の流れの例を説明する。
【０１１３】
部分デコード処理が開始されると、部分デコード部１０１のエントロピ復号部１１１のパケット解読部２０１は、ステップＳ１２１において、受信したパケットよりコードストリームを取得する。ステップＳ１２２において、EBCOT部２０２は、そのコードストリームに対してエントロピ復号を行う。ステップＳ１２３において、抽出部１１２は、その時点の変換目標情報に基づいて、ステップＳ１２２の処理により得られた係数データの中から必要な係数を抽出する。ステップＳ１２４において、ベースバンド生成部１１３は、抽出された係数データに対してウェーブレット逆変換等の処理を行い、ベースバンドの画像データを生成する。
【０１１４】
ステップＳ１２４の処理を終了すると、部分デコード部１０１は、部分デコード処理を終了する。処理は、図１５のステップＳ１０１に戻り、ステップＳ１０２に進む。
【０１１５】
次に、図１７のフローチャートを参照して、図１６のステップＳ１２３において抽出部１１２により実行される抽出処理の流れの例を説明する。
【０１１６】
抽出処理が開始されると、解像度情報取得部２２１は、ステップＳ１４１において、変換目標情報より解像度情報を取得する。ステップＳ１４２において、目標圧縮率取得部２２２は、変換目標情報より目標圧縮率を取得する。ステップＳ１４３において、サブバンド選択部２２３は、ステップＳ１４１の処理により取得された解像度情報に基づいて、その解像度の画像を得るのに必要なサブバンドを処理対象サブバンドとして選択する。
【０１１７】
選択ビットプレーン符号量カウント部２２４は、選択されたサブバンドの係数（ビットプレーン）を保持し、ステップＳ１４４において、保持しているビットプレーン群（処理対象サブバンド）の中で最も重要なビットプレーンを選択ビットプレーンの候補に選択し、符号量を算出する。ステップＳ１４５において、選択ビットプレーン決定部２２５は、選択ビットプレーン符号量カウント部２２４によりカウントされた符号量に基づいて、その時点の選択ビットプレーンの候補の、マスタ画像（原画像）の画像データに対する圧縮率を算出する。ステップＳ１４６において、選択ビットプレーン決定部２２５は、その算出された圧縮率が、ステップＳ１４２の処理により取得された目標圧縮率以下であるか否かを判定する。
【０１１８】
選択ビットプレーンの候補の圧縮率が目標圧縮率より大きい（選択ビットプレーンの候補の符号量が十分多くない）と判定した場合、選択ビットプレーン決定部２２５は、処理をステップＳ１４７に進める。ステップＳ１４７において、選択ビットプレーン符号量カウント部２２４は、保持しているビットプレーン群（つまり処理対象サブバンド）の中で次に重要なビットプレーンを選択ビットプレーンの候補に選択し、符号量を算出し、さらに処理をステップＳ１４５に戻し、それ以降の処理を繰り返す。つまり、選択ビットプレーン符号量カウント部２２４および選択ビットプレーン決定部２２５は、選択ビットプレーンの候補の圧縮率が目標圧縮率以下になるまで、ステップＳ１４５乃至ステップＳ１４７の各処理を繰り返し実行し、選択ビットプレーンの候補の符号量を増加させていく。
【０１１９】
そして、ステップＳ１４６において、選択ビットプレーンの候補の圧縮率が目標圧縮率以下であると判定した場合、選択ビットプレーン決定部２２５は、処理をステップＳ１４８に進め、選択ビットプレーンを抽出し、コードブロック合成部２３１に供給し、抽出処理を終了する。処理は、図１６のステップＳ１２３に戻り、ステップＳ１２４に進む。
【０１２０】
抽出部１１２は、以上のように抽出処理を行うことにより、変換目標情報により指定される解像度および圧縮率の条件を満たすように、係数データを抽出することができる。
【０１２１】
次に、図１８のフローチャートを参照して、図１６のステップＳ１２４においてベースバンド生成部１１３により実行されるベースバンドデータ生成処理の流れの例を説明する。
【０１２２】
ベースバンドデータ生成処理が開始されると、ステップＳ１６１において、コードブロック合成部２３１は、選択ビットプレーン決定部２２５より供給される選択ビットプレーンを用いてコードブロックを合成する。ステップＳ１６２において、逆量子化部２３２は合成された各コードブロックに対して逆量子化を行う。ステップＳ１６３において、ウェーブレット逆変換部２３３は、逆量子化された係数データをウェーブレット逆変換する。ステップＳ１６４において、DCレベル逆シフト部２３４は、画像データのDCレベルの逆シフトを行い、ベースバンドデータ生成処理を終了する。処理は、図１６のステップＳ１２４に戻り、部分デコード処理が終了され、さらに、図１５のステップＳ１０１に戻り、ステップＳ１０２に進む。
【０１２３】
次に、図１９のフローチャートを参照してエンコード処理の流れの例を説明する。
【０１２４】
エンコード処理が開始されると、ステップＳ１８１において、DCレベルシフト部１５１は、入力された画像データのDCレベルをシフトする。ステップＳ１８２において、ウェーブレット変換部１５２は、画像データをウェーブレット変換する。ステップＳ１８３において、量子化部１５３は、ウェーブレット係数に対して量子化を行う。ステップＳ１８４において、コードブロック化部１５４は、量子化係数をコードブロック単位で分割する。ステップＳ１８５において、ビットプレーン展開部１５５は、コードブロック毎の係数データをビットプレーンに展開する。ステップＳ１８６において、EBCOT部１５６および制御部１２２は、各ビットプレーンを、その重要度順にエントロピ符号化する。エントロピ符号化処理の詳細については後述する。ステップＳ１８７において、ヘッダ生成部１５７およびパケット生成部１５８は、符号化されて得られた符号語をパケット化する。ステップＳ１８８において、供給部１２３（解像度情報供給部１８１、目標圧縮率供給部１８２、および多重化部１８３）は、解像度情報や目標圧縮率を多重化し、変換目標情報として部分デコード部１０１に供給し、エンコード処理を終了する。処理は図１５のステップＳ１０２に戻り、形式変換処理が終了される。
【０１２５】
次に、図１９のステップＳ１８６において実行されるエントロピ符号化処理の詳細な流れの例を、図２０のフローチャートを参照して説明する。
【０１２６】
エントロピ符号化処理が開始されると、制御部１７１は、ステップＳ２０１において、変数を初期化する。変数としては、例えば、符号化対象のコンポーネントＮC＝｛１，２，・・・，ＬC｝、サブバンドＮS＝｛１，２，・・・，ＬS｝、符号ブロックＢ、ビットプレーンＣ、符号量Ｔ（Ｂ，Ｃ，ＮC，ＮS）、および累積加算符号量Ｙがある。
【０１２７】
ステップＳ２０２において、制御部１７１は、入力部１０３より入力された解像度の指定に基づいて、その解像度の画像を得るのに必要なサブバンドを処理対象サブバンドとして決定する。上述したように部分デコード部１０１においてサブバンドの選択が適切に行われている場合、このサブバンドの選択は省略可能である。
【０１２８】
ステップＳ２０３において、EBCOT部１５６は、係数のビットプレーン情報（ゼロビットプレーン情報も含む）を取得する。ステップＳ２０４において、制御部１７１は、変数Ｙの値を「０」に設定する。ステップＳ２０５において、EBCOT部１５６は、ステップＳ２０２の処理において決定された処理対象サブバンドの中で最も重要なビットプレーンを選択する。
【０１２９】
ステップＳ２０６において、EBCOT部１５６は、選択したビットプレーンを符号化する。ステップＳ２０７において、符号量加算部１７２は、符号語の符号量Ｔ（Ｂ，Ｃ，ＮC，ＮS）を算出し、以下の式のように、変数Ｙにその符号量Ｔ（Ｂ，Ｃ，ＮC，ＮS）を加算する。
【０１３０】
Ｙ＝Ｙ＋Ｔ（Ｂ，Ｃ，ＮC，ＮS）
【０１３１】
ステップＳ２０８において、制御部１７１は、変数Ｙを参照し、符号化された符号量の累積値が目標符号量に達したか否かを判定する。変数Ｙの値（累積値）が目標符号量に達していないと判定した場合、制御部１７１は、処理をステップＳ２０９に進める。
【０１３２】
ステップＳ２０９において、EBCOT部１５６は、同一ビット位置に未処理のビットプレーンが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ２１０に進め、同一ビット位置の次に重要なビットプレーンを選択する。ビットプレーンを選択すると、EBCOT部１５６は、処理をステップＳ２０６に戻し、それ以降の処理を繰り返す。
【０１３３】
また、ステップＳ２０９において、同一ビット位置に未処理のビットプレーンが存在しないと判定した場合、EBCOT部１５６は、処理をステップＳ２１１に進め、未処理のビットプレーンが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ２１２に進める。ステップＳ２１２において、EBCOT部１５６は、次のビット位置の最も重要なビットプレーンを選択し、処理をステップＳ２０６に戻し、それ以降の処理を繰り返す。
【０１３４】
ステップＳ２０８において、変数Ｙの値（累積値）が目標符号量に達したと判定した場合、制御部１７１は、エントロピ符号化処理を終了する。処理は、図１９のステップＳ１８６に戻り、ステップＳ１８７に進む。また、ステップＳ２１１において、未処理のビットプレーンが存在しないと判定した場合、EBCOT部１５６は、エントロピ符号化処理を終了する。処理は、図１９のステップＳ１８６に戻り、ステップＳ１８７に進む。
【０１３５】
以上のような手順に従って、実際の画像に対して実験を行った結果を、図２１の表に示す。ここでは、トランスコーダ１００がJPEG2000の可逆方式で圧縮されたコードストリームを、ビットレートが異なるJPEG2000の非可逆方式のコードストリームに形式変換している。なお、この実験の各種条件は以下のとおりである。
【０１３６】
・原画データ：４０９６×２１６０画素×１０ビット×３（RGB）×２４fps＝６３７０Mbps
・テストシーケンス：Movie
・可逆圧縮結果（JPEG可逆モード）：３４６９Mbps（原画の約５４％）
・デコード画像：図１の非可逆エンコード結果のコードストリームを通常のJPEG2000非可逆デコーダでデコードした結果の画像
・非可逆エンコード後のビットレート：２５０Mbps
【０１３７】
図２１に示される表は、部分デコード時のビットレートとPSNR（Peak Signal-to-Noise Ratio）［dB］の関係を示すものである。
【０１３８】
図２１に示されるように、部分デコード時のビットレートを可逆のビットレート（３４６９Mbps）から徐々に下げていくと、それに従って、CPUのサイクル数が低減される。つまり、部分デコード時のビットレートを下げるほど、デコード処理の負荷が低減される。
【０１３９】
このとき、部分デコード時のビットレートを下げるほど、非可逆エンコードファイルのデコード画像のPSNRは、低下する。つまり、非可逆エンコードファイルのデコード画像の画質が低下する。
【０１４０】
しかしながら、部分デコード時のビットレートを、可逆レート（３４６９Mbps）のままとしたときと、後段の非可逆エンコードのビットレート２５０Mbpsと同一にしたときとの、非可逆エンコードファイルのデコード画像のPSNRの差は、３６．８９−３７．３８＝０．４９［dB］であり、その差は非常に小さい。それに比べて、CPUのサイクル数は、７７１／７１０５＝０．１０８となり、約１０分の１に低減される。なお、後段の非可逆エンコード時（２５０Mbps）のCPUサイクル数は、前段のデコード画像のビットレートの変化の影響を受けず、常に一定値（９０４サイクル）であった。
【０１４１】
以上のように、部分デコード部１０１は、画質の劣化を低減させながら、可逆圧縮ファイルの復号の負荷を低減させることができる。換言すれば、トランスコーダ１００は、マスタ画像のデータサイズが大きくても、容易かつ適切に、可逆圧縮ファイルを非可逆圧縮ファイルに変換することができる。
【０１４２】
なお、部分デコード部１０１が要求される解像度に合わせてウェーブレット逆変換するサブバンドを選択する場合、その選択によりウェーブレット逆変換処理されるデータ量が低減されるので、以上の実験結果から、さらに復号の負荷を低減させることができることは明らかである。
【０１４３】
以上においては、部分デコード部１０１においてデコード画像に利用するビットプレーンを選択するように説明したが、これ以外にも、例えば、マスタ画像（原画像）のデータサイズが既知であることから、図２２に示される例のように、切り捨てるビットプレーン（選択ビットプレーン以外のビットプレーン）を選択するようにしてもよい。この場合、部分デコード部１０１は、重要度の低い方から高いほうに向かう順で切り捨てるビットプレーン（以下、切り捨てビットプレーンと称する）を選択する。
【０１４４】
図２２は、切り捨てビットプレーンを選択する場合の走査順の例について説明する図である。図２２においては、この選択順が矢印で示されている。つまり、図２２の例の場合、LSBからMSBに向かう順で、切り捨てビットプレーンが選択される。最初に、（１４）のビットプレーンが選択され、次に（１３）のビットプレーンが選択される。そしてLSBのビットプレーンが全て選択されると次に１つ上のビット位置の、最も重要度の低いビットプレーン（（１０）のビットプレーン）が選択される。以下同様の手順で走査される。
【０１４５】
部分デコード部１０１は、このように選択した、切り捨てビットプレーンの符号量を加算し、それをマスタ画像（原画像）の画像データのデータサイズより減算することで、切り捨てられないビットプレーン（つまり、選択ビットプレーン）の符号量（さらにマスタ画像（原画像）の画像データに対する圧縮率）を算出することができる。すなわち、部分デコード部１０１は、この場合も、選択ビットプレーンを選択するときと同様に、データ量の制御を行うことができる。
【０１４６】
図２３は、この場合の部分デコード部１０１の詳細な構成例を示すブロック図である。図２３は、図１０に対応する図である。図２３に示されるように、この場合、抽出部１１２は、サブバンド選択部２２３の代わりにサブバンド破棄部３２３、選択ビットプレーン符号量カウント部２２４の代わりに切り捨てビットプレーン符号量カウント部３２４、選択ビットプレーン決定部２２５の代わりに切り捨てビットプレーン決定部３２５を有する。
【０１４７】
サブバンド破棄部３２３は、解像度情報取得部２２１により取得された解像度情報において要求される解像度を得るために不必要なサブバンドを破棄し、残りのサブバンドを切り捨てビットプレーン符号量カウント部３２４に供給する。
【０１４８】
切り捨てビットプレーン符号量カウント部３２４は、サブバンド破棄部３２３において破棄されなかったサブバンドのビットプレーンを蓄積し、重要度の低い方から高いほうに向かう順に切り捨てビットプレーンの候補として１つずつ選択し、選択した切り捨てビットプレーンの候補の符号量をカウントし、そのカウント値を、切り捨てビットプレーン決定部３２５に供給する。
【０１４９】
切り捨てビットプレーン決定部３２５は、切り捨てビットプレーン符号量カウント部３２４より供給される切り捨てビットプレーンの候補の符号量に基づいて、切り捨てないビットプレーン、つまり、選択ビットプレーンの、マスタ画像（原画像）の画像データに対する圧縮率を算出する。切り捨てビットプレーン決定部３２５は、その圧縮率と目標圧縮率取得部２２２により取得された目標圧縮率とを比較して、以下の２式が満たされる場合、切り捨てビットプレーンの候補を切り捨てビットプレーンとして決定し切り捨てる（残りのビットプレーンを選択ビットプレーンとして後段の処理部に供給する）。
【０１５０】
目標圧縮率≧マスタ画像のデータサイズ／（可逆圧縮符号量−（１４）乃至（１１）の符号量の総和）
目標圧縮率≦マスタ画像のデータサイズ／（可逆圧縮符号量−（１４）乃至（１０）の符号量の総和）
【０１５１】
以上の２式は、図２２の例において、（１４）のビットプレーンより切り捨てビットプレーンの選択を開始して、（１０）のビットプレーンまで選択した時点で、切り捨てないビットプレーン（以下、残ビットプレーンと称する）の圧縮率が目標圧縮率以上になったことを示している。
【０１５２】
切り捨てビットプレーン決定部３２５は、残ビットプレーンを選択ビットプレーンとしてコードブロック合成部２３１に供給する。
【０１５３】
この場合の抽出処理の流れの例を図２４のフローチャートを参照して説明する。この図２４のフローチャートは、図１７のフローチャートに対応する。
【０１５４】
抽出処理が開始されると、解像度情報取得部２２１は、ステップＳ３０１において、変換目標情報より解像度情報を取得する。ステップＳ３０２において、目標圧縮率取得部２２２は、変換目標情報より目標圧縮率を取得する。ステップＳ３０３において、サブバンド破棄部３２３は、ステップＳ３０１の処理により取得された解像度情報に基づいて、その解像度の画像を得るのに不必要なサブバンドを破棄する。
【０１５５】
切り捨てビットプレーン符号量カウント部３２４は、破棄されなかったサブバンドの係数（ビットプレーン）を保持し、ステップＳ３０４において、保持しているビットプレーン群の中で最も重要でないビットプレーンを切り捨てビットプレーンの候補に選択し、符号量を算出する。ステップＳ３０５において、切り捨てビットプレーン決定部３２５は、切り捨てビットプレーン符号量カウント部３２４によりカウントされた符号量に基づいて、その時点の残ビットプレーンの、マスタ画像（原画像）の画像データに対する圧縮率を算出する。ステップＳ３０６において、切り捨てビットプレーン決定部３２５は、その算出された圧縮率が、ステップＳ３０２の処理により取得された目標圧縮率以下であるか否かを判定する。
【０１５６】
残ビットプレーンの圧縮率が目標圧縮率以下である（残ビットプレーンの符号量が多すぎる）と判定した場合、切り捨てビットプレーン決定部３２５は、処理をステップＳ３０７に進める。ステップＳ３０７において、切り捨てビットプレーン符号量カウント部３２４は、保持しているビットプレーン群の中で次に重要でないビットプレーン（残ビットプレーンの中で最も重要でないビットプレーン）を切り捨てビットプレーンの候補に選択し、その符号量を算出し、さらに処理をステップＳ３０５に戻し、それ以降の処理を繰り返す。つまり、切り捨てビットプレーン符号量カウント部３２４および切り捨てビットプレーン決定部３２５は、残ビットプレーンの圧縮率が目標圧縮率より大きくになるまで、ステップＳ３０５乃至ステップＳ３０７の各処理を繰り返し実行し、選択ビットプレーンの候補の符号量を増加させていく。
【０１５７】
そして、ステップＳ３０６において、残ビットプレーンの圧縮率が目標圧縮率より大きいと判定した場合、切り捨てビットプレーン決定部３２５は、処理をステップＳ３０８に進め、前回までに選択された切り捨てビットプレーンを破棄し、残ビットプレーンを選択ビットプレーンとしてコードブロック合成部２３１に供給し、抽出処理を終了する。処理は、図１６のステップＳ１２３に戻り、ステップＳ１２４に進む。
【０１５８】
抽出部１１２は、以上のように抽出処理を行って不要なビットプレーンを破棄することにより、変換目標情報により指定される解像度および圧縮率の条件を満たすように、係数データを抽出することができる。
【０１５９】
なお、以上においては、部分デコード部１０１が変換目標情報のコードストリームの圧縮率と画像の解像度に基づいて部分デコード処理を行うように説明したが、部分デコード部１０１が変換目標情報に含まれるコードストリームの圧縮率のみに基づいて部分デコード処理を行うようにしてもよい。その場合、図１０に示される部分デコード部１０１の構成例において、解像度情報取得部２２１およびサブバンド選択部２２３を省略すればよい。また、図１７に示される抽出処理において、ステップＳ１４１およびステップＳ１４３の処理を省略すればよい。
【０１６０】
逆に、部分デコード部１０１が変換目標情報に含まれる画像の解像度のみに基づいて部分デコード処理を行うようにしてもよい。その場合、図１０に示される部分デコード部１０１の構成例において、目標圧縮率取得部２２２、選択ビットプレーン符号量カウント部２２４、および選択ビットプレーン決定部２２５を省略すればよい。また、図１７に示される抽出処理において、ステップＳ１４２、並びに、ステップＳ１４４乃至ステップＳ１４８の処理を省略すればよい。
【０１６１】
また、上述した以外のパラメータに基づいて部分デコード処理が行われるようにしてももちろんよい。例えば、トランスコーダ１００がコードストリームの画像の色空間の形式（色形式）を変換するようにし、部分デコード部１０１が、さらに、変換目標情報に含まれる色形式の情報に基づいて部分デコード処理を行うようにしてもよい。以下に、その場合について説明する。
【０１６２】
まず、色形式について説明する。画像の色空間としてYCbCrフォーマットを用いるとき、輝度成分であるＹ成分、並びに、色差成分であるＣｂ成分およびＣｒ成分の各成分の情報量の比（サンプリング周波数の比）は、例えば４：４：４、４：２：２、または４：２：０のように多様に設定可能である。
【０１６３】
例えば、４：４：４フォーマットの場合、Ｙ成分、Ｃｂ成分、およびＣｒ成分の情報量は互いに等しく、各成分の解像度も、図２５Ａに示されるＹ成分４０１、Ｃｂ成分４０２、およびＣｒ成分４０３のように互いに等しくなる。
【０１６４】
また、４：２：２フォーマットの場合、Ｃｂ成分およびＣｒ成分の情報量はＹ成分の半分となる。このときＣｂ成分とＣｒ成分の解像度は、図２５Ｂに示されるＣｂ成分４０４およびＣｒ成分４０５のように、横方向の解像度がＹ成分４０１の半分になる。
【０１６５】
さらに、４：２：０フォーマットの場合、Ｃｂ成分およびＣｒ成分の情報量はＹ成分の４分の１となる。このときＣｂ成分とＣｒ成分の解像度は、図２５Ｃに示されるＣｂ成分４０６およびＣｒ成分４０７のように、縦方向および横方向ともに解像度がＹ成分４０１の半分になる。
【０１６６】
このような色形式の変換について考える。例えば、４：４：４フォーマットのコードストリームを４：２：０フォーマットのコードストリームに変換する場合、部分デコード部１０１は、４：２：０フォーマットのベースバンドの画像データを生成すればよい。つまり、部分デコード部１０１が、復号の際に、Ｃｂ成分およびＣｒ成分について、Ｙ成分よりも１つ下のレベルの縦方向および横方向の両方に低域なサブバンドを選択するようにすればよい。実際には、その縦方向および横方向の両方に低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されており、部分デコード部１０１は、それらのサブバンド全てを選択する。
【０１６７】
また、例えば、４：４：４フォーマットのコードストリームを４：２：２フォーマットのコードストリームに変換する場合、部分デコード部１０１は、４：２：２フォーマットのベースバンドの画像データを生成すればよい。ただし、４：２：２フォーマットの場合、Ｃｂ成分およびＣｒ成分は横方向のみ解像度がＹ成分の半分となる。したがって、部分デコード部１０１は、復号の際に、Ｃｂ成分およびＣｒ成分について、Ｙ成分よりも１つ下のレベルの４つのサブバンドのうち、横方向に低域な２つのサブバンドを選択する。実際には、その横方向に低域な２つのサブバンドのうち、縦方向および横方向の両方に低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されている。部分デコード部１０１は、それらのサブバンド全てを、縦方向および横方向の両方に低域なサブバンドとして選択する。
【０１６８】
また、この選択により、色差成分の最上位のウェーブレット逆変換において、部分デコード部１０１は、２つのサブバンドを用いて縦方向のみウェーブレット逆変換を行い、図２５Ｂに示されるＣｂ成分４０４やＣｒ成分４０５に示されるような横方向の解像度がＹ成分４０１の半分に低減させたベースバンドの色差成分を生成するようにする。
【０１６９】
なお、この４：２：２フォーマットの色差成分に対するウェーブレット変換は、輝度成分と同様に行われるようにしてもよいが、最上位のウェーブレット変換を縦方向のみ行われるようにし、その低域成分に対して、２回目以降のウェーブレット変換を輝度成分の場合と同様に行われるようにしてもよい。以下においてはその場合について説明する。
【０１７０】
例えば、４：２：２フォーマットのコードストリームを４：２：０フォーマットのコードストリームに変換する場合、部分デコード部１０１は、４：２：０フォーマットのベースバンドの画像データを生成すればよい。つまり、部分デコード部１０１が、復号の際に、Ｃｂ成分およびＣｒ成分について、Ｙ成分よりも１つ下のレベルの低域なサブバンド（つまり、２つのサブバンドのうち縦方向に低域なサブバンド）を選択するようにすればよい。実際には、その低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されている。部分デコード部１０１は、それらのサブバンド全てを選択する。
【０１７１】
以下、この場合の部分デコード部１０１およびエンコード部１０２の構成例について説明する。図２６は、部分デコード部１０１の構成例を示すブロック図である。この図は図１０に対応する図である。
【０１７２】
図２６に示されるように、この場合抽出部１１２は、図１０に示される構成に加え、さらに、色情報取得部４２０を有する。色情報取得部４２０は、エンコード部１０２より供給される変換目標情報より、変換後のコードストリームの画像データの色形式を指定する情報である色情報を取得する。色情報取得部４２０は、取得した色情報を、変換目標情報とともに解像度情報取得部２２１に供給する。解像度情報取得部２２１は、変換目標情報より解像度情報を取得すると、その解像度情報を色情報とともにサブバンド選択部２２３に供給する。サブバンド選択部２２３は、供給された色情報および解像度情報に基づいて、処理対象とするサブバンドを選択し、選択したサブバンドを選択ビットプレーン符号量カウント部２２４に供給する。
【０１７３】
このようにサブバンド選択部２２３が、解像度情報および色情報に基づいてサブバンドの選択を行うことにより、抽出部１１２は、目標の解像度および色形式の画像のコードストリームを生成するために必要なサブバンドを適切に抽出することができる。この抽出により、ベースバンド生成部１１３は、そのベースバンド生成の不要な負荷の増大を抑制することができる。
【０１７４】
また、図２６に示されるように、ベースバンド生成部１１３は、図１０に示される構成に加え、さらに、色情報取得部４３０および制御部４３１を有する。色情報取得部４３０は、色情報取得部４２０と同様に変換目標情報に含まれる色情報を取得し、それを制御部４３１に供給する。制御部４３１は、その色情報に基づいて、ウェーブレット逆変換部２３３を制御し、ウェーブレット逆変換部２３３が、各色フォーマットにおいて適切に色差成分をウェーブレット逆変換することができるようにする。
【０１７５】
例えば、色情報により指定される色フォーマットが４：２：２の場合、制御部４３１は、ウェーブレット逆変換部２３３を制御し、色差成分に対する最上位の（最後の）ウェーブレット逆変換を、その時点で存在する２つのサブバンドを用いて画面縦方向に対してのみ行わせる。これにより、ベースバンド生成部１１３は、図２５Ｂに示されるＣｂ成分４０４およびＣｒ成分４０５のように、解像度が輝度成分に対して横方向のみ２分の１とされるベースバンドの色差成分を生成することができる。
【０１７６】
図２７は、この場合の、エンコード部１０２の構成例を示す図である。この図は図２に対応する。
【０１７７】
図２７に示されるように、この場合のエンコード部１０２のコードストリーム生成部１２１は、ウェーブレット変換部１５２の代わりにウェーブレット変換部４５２を有する。また、この場合のエンコード部１０２の制御部１２２は、制御部１７１の代わりに制御部４７１を有する。制御部４７１は、制御部１７１と同様の制御に加え、入力部１０３において入力された、変換後のコードストリームの画像データの色形式を指定する色情報に基づくウェーブレット変換部４５２の制御も行う。ウェーブレット変換部４５２は、制御部４７１に制御され、各色フォーマットにおいて適切に色差成分をウェーブレット変換する。例えば、色フォーマットが４：２：２の場合、ウェーブレット変換部４５２は、色差成分に対する最上位の（最初の）ウェーブレット変換を縦方向のみ行う。
【０１７８】
また、制御部４７１は、色情報を供給部１２３に供給する。図２７に示されるように、この場合の供給部１２３は、図２に示される構成に加え、さらに、色情報供給部４８０および多重化部４８４を有する。
【０１７９】
色情報供給部４８０は、制御部４７１より供給される色情報を、部分デコード部１０１に供給するために多重化部４８４に供給する。多重化部４８４は、その色情報と、解像度情報供給部１８１より供給される解像度情報を多重化し、それを多重化部１８３に供給する。多重化部１８３は、色情報が多重化された解像度情報と、目標圧縮率供給部１８２より供給される目標圧縮率を多重化し、部分デコード部１０１に供給する。
【０１８０】
以上のように色情報は、解像度情報および目標圧縮率と多重化され、変換目標情報として部分デコード部１０１の抽出部１１２に供給される。なお、各情報は多重化せずに別々に供給されるようにしてもよい。
【０１８１】
次にこの場合の処理の流れについて説明する。この場合も基本的に上述した他の場合と同様に処理が行われるが、部分デコード処理における抽出処理とベースバンドデータ生成処理、並びに、エンコード処理においてその一部の処理の流れが異なる。
【０１８２】
最初に、図２８のフローチャートを参照して、抽出処理の流れの例を説明する。このフローチャートは、図１７のフローチャートに対応する。
【０１８３】
抽出処理が開始されると色情報取得部４２０は、ステップＳ４０１において、変換目標情報より色情報を取得する。ステップＳ４０２およびステップＳ４０３の各処理は、図１７のステップＳ１４１およびステップＳ１４２と同様に行われる。ステップＳ４０４においてサブバンド選択部２２３は、色情報および解像度情報に基づいて処理対象サブバンドを選択する。つまり、サブバンド選択部２２３は、解像度に基づいてサブバンドを絞り込むだけでなく、上述したように色差成分について、色フォーマットの変換に伴い不要となるサブバンドを破棄するようにサブバンドの絞り込みを行う。ステップＳ４０５乃至ステップＳ４０９の各処理は、図１７のステップＳ１４４乃至ステップＳ１４８と同様に行われる。
【０１８４】
次に、図２９のフローチャートを参照して、ベースバンドデータ生成処理の流れの例を説明する。このフローチャートは、図１８のフローチャートに対応する。
【０１８５】
ベースバンドデータ生成処理が開始されると、ステップＳ４２１において、コードブロック合成部２３１は、ステップＳ１６１の場合と同様にコードブロックを合成する。ステップＳ４２２において、逆量子化部２３２は、ステップＳ１６２の場合と同様に逆量子化を行う。ステップＳ４２３において、ウェーブレット逆変換部２３３は、制御部４３１に制御され、色情報に基づいて逆量子化された係数データをウェーブレット逆変換する。ステップＳ４２４において、DCレベル逆シフト部２３４は、ステップＳ１６４の場合と同様に画像データのDCレベルの逆シフトを行い、ベースバンドデータ生成処理を終了する。
【０１８６】
以上のような抽出処理およびベースバンドデータ生成処理により、部分デコード部１０１は、色フォーマットを変換する場合も適切に形式変換処理（トランスコード）の負荷を低減させることができる。
【０１８７】
次に、図３０のフローチャートを参照して、エンコード処理の流れの例を説明する。このフローチャートは、図１９のフローチャートに対応する。
【０１８８】
エンコード処理が開始されると、ステップＳ４４１において、DCレベルシフト部１５１は、ステップＳ１８１の場合と同様に画像データのDCレベルをシフトする。ステップＳ４４２において、ウェーブレット変換部４５２は、色情報に基づいて、変換後の色フォーマットに合わせて適切に画像データをウェーブレット変換する。ステップＳ４４３乃至ステップＳ４４７の各処理は、ステップＳ１８３乃至ステップＳ１８７の各処理と同様に実行される。ステップＳ４４８において、供給部１２３（色情報供給部４８０、解像度情報供給部１８１、目標圧縮率供給部１８２、多重化部４８４、および多重化部１８３）は、色情報、解像度情報、および目標圧縮率を多重化し、変換目標情報として部分デコード部１０１に供給し、エンコード処理を終了する。
【０１８９】
以上のようなエンコード処理により、エンコード部１０２は、画像データを、その色フォーマットに応じて適切に符号化することができる。
【０１９０】
なお、以上においては、色情報、解像度情報、および目標圧縮率に基づいて色形式変換、解像度変換、および圧縮率変換の３つの形式変換を行う場合について説明したが、もちろん、色情報に基づく色形式変換のみを行うようにしても良いし、色情報に基づく色形式変換と解像度情報に基づく解像度変換の２つの形式変換を行うようにしてもよいし、色情報に基づく色形式変換と目標圧縮率に基づく圧縮率変換の２つの形式変換を行うようにしてもよい。
【０１９１】
また、以上において説明したトランスコーダ１００は任意のシステムに適用可能である。
【０１９２】
例えば、図３１Ａに示される符号化システム５０１は、画像データをエンコーダ５１１が符号化し、その符号化データがハードディスクや光ディスク等の記憶媒体５１２に記憶され、任意のタイミングでトランスコーダ１００がその符号化データを読み出して形式変換して出力する。このようにトランスコーダ１００を利用することにより、符号化システム５０１は、記憶媒体に多様な形式の符号化データを記憶させたり、ベースバンドの画像データを記憶させたりせずに、多様な形式の符号化データを提供することができる。
【０１９３】
また、例えば、図３１Ｂに示される符号化システム５０２は、記憶媒体５１２を用いる代わりに、エンコーダ５１１の出力を、伝送路５１３を介してトランスコーダ１００に伝送させている。このように、エンコーダ５１１において生成された符号化データを、トランスコーダ１００において多様な形式に順次変換することも可能である。
【０１９４】
さらに、例えば、図３１Ｃに示される符号化システム５０３は、エンコーダ５１１が画像データを符号化し、その符号化データを情報処理装置５１４が処理した後、トランスコーダ１００がその処理後の符号化データを形式変換して出力する。このように、エンコーダ５１１において生成された符号化データを、情報処理した後、トランスコーダ１００において多様な形式に順次変換することも可能である。
【０１９５】
もちろん、トランスコーダ１００は、これら以外のシステムにも適用可能である。また、トランスコーダ１００は、他の構成と一体化し、他の装置の一部とするようにしてもよい。例えば、図３１Ａに示されるエンコーダ５１１、記憶媒体５１２、およびトランスコーダ１００を１つの装置として構成するようにしてもよい。図３１Ｂおよび図３１Ｃの各システムについても同様である。また、これら以外の構成をトランスコーダ１００と一体化するようにしてももちろんよい。
【０１９６】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３２に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０１９７】
図３２において、パーソナルコンピュータ６００の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６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０２０３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０４】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表わすものである。
【０２０５】
なお、以上において、１つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて１つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０６】
【図１】本発明を適用したトランスコーダの主な構成例を示すブロック図である。
【図２】エンコード部の詳細な構成例を示すブロック図である。
【図３】サブバンドの構成例を示す図である。
【図４】サブバンドの構成例を示す図である。
【図５】各サブバンド中のコードブロックの位置関係を示す図である。
【図６】ビットプレーンの例を説明する図である。
【図７】符号化パスの例を説明する図である。
【図８】係数の走査の例を説明する図である。
【図９】パケットの概念を示す図である。
【図１０】部分デコード部の詳細な構成例を示すブロック図である。
【図１１】サブバンド毎の走査順の例を説明する図である。
【図１２】コンポーネント毎の走査順の例を説明する図である。
【図１３】画像全体の走査順の例を説明する図である。
【図１４】ブロック毎の処理順の例を説明する図である。
【図１５】形式変換処理の流れの例を説明するフローチャートである。
【図１６】部分デコード処理の流れの例を説明するフローチャートである。
【図１７】抽出処理の流れの例を説明するフローチャートである。
【図１８】ベースバンドデータ生成処理の流れの例を説明するフローチャートである。
【図１９】エンコード処理の流れの例を説明するフローチャートである。
【図２０】エントロピ符号化処理の流れの例を説明するフローチャートである。
【図２１】部分デコード時のビットレートとPSNRの関係を示す図である。
【図２２】切り捨てるビットプレーンの選択の走査順の例を説明する図である。
【図２３】部分デコード部の、他の構成例を示すブロック図である。
【図２４】抽出処理の流れの、他の例を説明するフローチャートである。
【図２５】色形式の例を説明する模式図である。
【図２６】部分デコード部のさらに他の構成例を示すブロック図である。
【図２７】エンコード部のさらに他の構成例を示すブロック図である。
【図２８】抽出処理の流れの、さらに他の例を説明するフローチャートである。
【図２９】ベースバンドデータ生成処理の流れの、他の例を説明するフローチャートである。
【図３０】エンコード処理の流れの、他の例を説明するフローチャートである。
【図３１】本発明を適用した符号化システムの構成例を示すブロック図である。
【図３２】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２０７】
１００  トランスコーダ，  １０１  部分デコード部，  １０２  エンコード部，  １０３  入力部，  １１２  抽出部，  １２２  制御部，  １２３  供給部，  １７１  制御部，  １７２  符号量加算部，  １８１  解像度情報供給部，  １８２  目標圧縮率供給部，  ２２１  解像度情報取得部，  ２２２  目標圧縮率取得部，  ２２３  サブバンド選択部，  ２２４  選択ビットプレーン符号量カウント部，  ２２５  選択ビットプレーン決定部，  ３２３  サブバンド破棄部，  ３２４  切り捨てビットプレーン符号量カウント部，  ３２５  切り捨てビットプレーン決定部，  ４２０  色情報取得部，  ４３０  色情報取得部，  ４３１  制御部，  ４５２  ウェーブレット変換部，  ４７１  制御部，  ４８０  色情報供給部，  ５０１乃至５０３  符号化システム，  ５１１  エンコーダ，  ５１２  記憶媒体，  ５１３  伝送路，  ５１４  情報処理装置
【図１】
0004656190.tif 000002
【図２】
0004656190.tif 000003
【図３】
0004656190.tif 000004
【図４】
0004656190.tif 000005
【図５】
0004656190.tif 000006
【図６】
0004656190.tif 000007
【図７】
0004656190.tif 000008
【図８】
0004656190.tif 000009
【図９】
0004656190.tif 000010
【図１０】
0004656190.tif 000011
【図１１】
0004656190.tif 000012
【図１２】
0004656190.tif 000013
【図１３】
0004656190.tif 000014
【図１４】
0004656190.tif 000015
【図１５】
0004656190.tif 000016
【図１６】
0004656190.tif 000017
【図１７】
0004656190.tif 000018
【図１８】
0004656190.tif 000019
【図１９】
0004656190.tif 000020
【図２０】
0004656190.tif 000021
【図２１】
0004656190.tif 000022
【図２２】
0004656190.tif 000023
【図２３】
0004656190.tif 000024
【図２４】
0004656190.tif 000025
【図２５】
0004656190.tif 000026
【図２６】
0004656190.tif 000027
【図２７】
0004656190.tif 000028
【図２８】
0004656190.tif 000029
【図２９】
0004656190.tif 000030
【図３０】
0004656190.tif 000031
【図３１】
0004656190.tif 000032
【図３２】
0004656190.tif 000033