(57)【特許請求の範囲】
【請求項１】
画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、
前記解析手段による解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定する決定手段と、
前記決定手段により決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する１系統のコードストリームを生成する統合手段と
を備える画像処理装置。
【請求項２】
前記コードストリームは、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有する
請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記解析手段により解析された前記プログレッション構造に、系統についてのプログレッション構造を加えるように、前記統合後のプログレッション構造を決定する
請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、系統、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、レイヤ、系統、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項６】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、系統、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項７】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、解像度レベル、系統、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項８】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、系統、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項９】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、解像度レベル、ポジション、系統、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項１０】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項１１】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、ポジション、系統、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項１２】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項１３】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、コンポーネント、系統、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とする
請求項３に記載の画像処理装置。
【請求項１４】
前記統合後のプログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備える
請求項１に記載の画像処理装置。
【請求項１５】
画像処理装置の画像処理方法であって、
解析手段が、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、
決定手段が、解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定し、
統合手段が、決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する１系統のコードストリームを生成する
画像処理方法。
【請求項１６】
画像が符号化された多系統のコードストリームが統合されて生成された１系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、
前記解析手段により解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の１系統のコードストリームを、前記多系統のコードストリームに分離する分離手段と
を備える画像処理装置。
【請求項１７】
前記分離手段により分離された各系統のコードストリームを復号する復号手段をさらに備える
請求項１６に記載の画像処理装置。
【請求項１８】
前記分離手段により分離された各系統のコードストリームについて、前記プログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備える
請求項１６に記載の画像処理装置。
【請求項１９】
前記統合後の１系統のコードストリームは、系統、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有する
請求項１６に記載の画像処理装置。
【請求項２０】
画像処理装置の画像処理方法であって、
解析手段が、画像が符号化された多系統のコードストリームが統合されて生成された１系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、
分離手段が、解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の１系統のコードストリームを、前記多系統のコードストリームに分離する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、多系統の画像が符号化されたコードストリームの利便性を向上させることができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
最近、立体視（所謂３Ｄ画像表示）対応の映画が普及しつつある。例えば、３Ｄ表示可能な映画（所謂３Ｄ映画）が積極的に制作されるようになり、従来の２Ｄ表示のみ可能な映画（所謂２Ｄ映画）との大きな差別化になっている。３Ｄ映画の場合、コンテンツ（画像データ等）は、MPEG-4 AVCの拡張フォーマットであるMVC（Multi-view Video Coding）規格によって高能率に圧縮されて、Blu-Ray Disc（登録商標）等の記録媒体に記録される。
【０００３】
ユーザは、家庭用のBlu-Ray Discプレイヤでそのコンテンツを再生し、立体視用のメガネ（所謂３Ｄメガネ）をかけて視聴することで、家庭でいながらにして３Ｄ映画を楽しむことができる。
【０００４】
このような３Ｄ映画等の立体視用のコンテンツ（３Ｄコンテンツ）が急速に普及しつつある。３Ｄコンテンツの画像としては、人間の目の両眼視差を利用したステレオ画が主流である。これは、左眼用の画像と右眼用の画像を、ユーザのそれぞれの目に別々に見させることにより、ユーザに視差を感じさせ、被写体を立体的に認知させるものである。
【０００５】
しかしながら、上述した両眼視差による立体視では、任意の方向からの立体視を実現することはできない。これを実現するためには被写体画像の奥行き方向のデータ情報（Depth_Map）を抽出する必要がある。
【０００６】
画像データから画像処理・分析技術を用いて、大まかな奥行き情報を自動的に抽出する研究は盛んに行われている（例えば、非特許文献１および非特許文献２参照）。これらの技術や、比較的容易とされる複数のカメラから画像内の被写体の奥行き情報を抽出する技術によって、２眼のみならず複数の自由視点からの立体画像が生成できる足がかりになる。
【０００７】
しかしながら、２眼ステレオ画像ならば元々のデータ量には限界があるが、複数眼の画像データ及びそれらの奥行きデータをトータルすると、膨大なデータ量になる。従ってこれらのデータをいかに高能率に圧縮するかが重要になってくる。
【０００８】
例えば、ステレオ画像の場合、左右各系統の画像をエンコードして生成された符号化コードストリームは、２系統となる。同様に、マルチビューの場合、そのビューの数だけ符号化コードストリームが存在することになる。そこで、１つの方法として、これらの多系統のコードストリームを１つの符号化コードストリームに統合することが考えられる。このようにすることにより、符号化効率を向上させることができる。
【０００９】
ところで、JPEG2000はデジタルシネマ規格のコーデックとして採用されているのみならず、セキュリティやアーカイブ、医用画像、ブロードキャスティングなど広範囲に使われているISOの静止画国際規格である。このJPEG2000の豊富な機能の１つにスケラビリティがある。これは１つの符号化コードストリームを複数の同一カテゴリに属するものに分ける機能である。これによって符号化コードストリーム内のプログレッション（順番）を並び替えることで、解像度や画質等のスケラビリティ（復号画像の拡張性）を実現することができる。従って、コードストリームをより多様な用途で使用することができるようなり、コードストリームの利便性が向上する。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Fast Approximate Energy Minimization via Graph Cuts”IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.23, No.11, November 2001,
【非特許文献２】“Stereo Matching Using Belief Propagation”IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.25, No.7, July 2003
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、多系統（マルチビュー）のコードストリームを統合する場合における、復号画像の拡張性を実現するためのデータ構造であるプログレッションについて定義されていなかった。したがって、多系統のコードストリームを統合して１本のコードストリームを生成する場合、このプログレッションの機能を使用することができず、コードストリームの利便性を向上させることができない恐れがあった。
【００１２】
本発明は、このような状況に鑑みて提案されたものであり、多系統の画像を符号化して１本のコードストリームを生成する場合のプログレッションを定義することにより、多系統の画像が符号化されたコードストリームの利便性を向上させることができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一側面は、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、前記解析手段による解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定する決定手段と、前記決定手段により決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する１系統のコードストリームを生成する統合手段とを備える画像処理装置である。
【００１４】
前記コードストリームは、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有することができる。
【００１５】
前記決定手段は、前記解析手段により解析された前記プログレッション構造に、系統についてのプログレッション構造を加えるように、前記統合後のプログレッション構造を決定することができる。
【００１６】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、系統、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００１７】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、レイヤ、解像度レベル、コンポーネント、およびポジションの順の階層構造を有する場合、レイヤ、系統、解像度レベル、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００１８】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、系統、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００１９】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、レイヤ、コンポーネント、およびポジションの順の階層構造を有する場合、解像度レベル、系統、レイヤ、コンポーネント、およびポジションの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２０】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、系統、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２１】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、解像度レベル、ポジション、コンポーネント、およびレイヤの順の階層構造を有する場合、解像度レベル、ポジション、系統、コンポーネント、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２２】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２３】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、ポジション、コンポーネント、解像度レベル、およびレイヤの順の階層構造を有する場合、ポジション、系統、コンポーネント、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２４】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、系統、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２５】
前記決定手段は、前記解析手段により解析された前記プログレッション構造が、コンポーネント、ポジション、解像度レベル、およびレイヤの順の階層構造を有する場合、コンポーネント、系統、ポジション、解像度レベル、およびレイヤの順の階層構造を、前記統合後のプログレッション構造とすることができる。
【００２６】
前記統合後のプログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備えることができる。
【００３２】
本発明の一側面は、また、画像処理装置の画像処理方法であって、解析手段が、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、決定手段が、解析結果に従って前記多系統のコードストリームの統合後のプログレッション構造を決定し、統合手段が、決定された前記統合後のプログレッション構造に従って、前記多系統のコードストリームを統合し、前記プログレッション構造を有する１系統のコードストリームを生成する画像処理方法である。
【００３３】
本発明の他の側面は、画像が符号化された多系統のコードストリームが統合されて生成された１系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析する解析手段と、前記解析手段により解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の１系統のコードストリームを、前記多系統のコードストリームに分離する分離手段とを備える画像処理装置である。
【００３４】
前記分離手段により分離された各系統のコードストリームを復号する復号手段をさらに備えることができる。
【００３５】
前記分離手段により分離された各系統のコードストリームについて、前記プログレッション構造に関する情報であるプログレッション情報を生成し、前記コードストリームに付加するプログレッション情報生成手段をさらに備えることができる。
【００３６】
前記統合後の１系統のコードストリームは、系統、レイヤ、解像度レベル、コンポーネント、およびポジションについてのプログレッション構造を有することができる。
【００３７】
本発明の他の側面は、また、画像処理装置の画像処理方法であって、解析手段が、画像が符号化された多系統のコードストリームが統合されて生成された１系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を解析し、分離手段が、解析された前記プログレッション構造に含まれる、系統についてのプログレッション構造に従って、前記統合後の１系統のコードストリームを、前記多系統のコードストリームに分離する画像処理方法である。
【００３８】
本発明の一側面においては、画像が符号化された多系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造が解析され、その解析結果に従って多系統のコードストリームの統合後のプログレッション構造が決定され、その決定された統合後のプログレッション構造に従って、多系統のコードストリームが統合され、プログレッション構造を有する１系統のコードストリームが生成される。
【００３９】
本発明の他の側面においては、画像が符号化された多系統のコードストリームが統合されて生成された１系統のコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造が解析され、その解析されたプログレッション構造に含まれる、系統についてのプログレッション構造に従って、統合後の１系統のコードストリームが、多系統のコードストリームに分離される。
【発明の効果】
【００４０】
本発明によれば、画像を処理することができる。特に、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
【図面の簡単な説明】
【００４１】
【図１】本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【図２】エンコード部の主な構成例を示すブロック図である。
【図３】サブバンドの構成例を示す図である。
【図４】サブバンドの構成例を示す図である。
【図５】各サブバンド中のコードブロックの例を示す図である。
【図６】ビットプレーンの例を説明する図である。
【図７】符号化パスの例を説明する図である。
【図８】係数の走査の例を説明する図である。
【図９】レイヤを説明する図である。
【図１０】レイヤの構成例を説明する図である。
【図１１】コードストリーム生成部の主な構成例を示すブロック図である。
【図１２】プログレッション機能の例を説明する図である。
【図１３】プログレッション機能の他の例を説明する図である。
【図１４】JPEG2000のSGcodパラメータを説明する図である。
【図１５】JPEG2000のプログレッションオーダのパラメータの例を示す図である。
【図１６】本発明を適用したコードストリームの復号順の例を説明する図である。
【図１７】本発明を適用したコードストリームの復号順の他の例を説明する図である。
【図１８】本発明を適用したコードストリームの復号順の、さらに他の例を説明する図である。
【図１９】本発明を適用したコードストリームの復号順の、さらに他の例を説明する図である。
【図２０】プログレッションオーダの拡張例を示す図である。
【図２１】JPEG2000のケイパビリティＲサイズパラメータの定義を説明する図である。
【図２２】本発明を適用したビュー数の定義の方法の例を説明する図である。
【図２３】多系統入力符号化処理の流れの例を説明するフローチャートである。
【図２４】符号化処理の流れの例を説明するフローチャートである。
【図２５】コードストリーム生成処理の流れの例を説明するフローチャートである。
【図２６】本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【図２７】コードストリーム解析部の主な構成例を示すブロック図である。
【図２８】デコード部の主な構成例を示すブロック図である。
【図２９】多系統出力復号処理の流れの例を説明するフローチャートである。
【図３０】解析処理の流れの例を説明するフローチャートである。
【図３１】復号処理の流れの例を説明するフローチャートである。
【図３２】本発明を適用した画像符号化装置の主な構成例を示すブロック図である・
【図３３】奥行きデータの例を説明する図である・
【図３４】多系統入力符号化処理の流れの他の例を説明するフローチャートである。
【図３５】本発明を適用したネットワークシステムの主な構成例を説明する図である。
【図３６】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００４２】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（画像符号化装置）
４．第４の実施の形態（ネットワークシステム）
５．第５の実施の形態（パーソナルコンピュータ）
【００４３】
＜１．第１の実施の形態＞
［画像符号化装置の構成］
図１は、本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【００４４】
図１に示される画像符号化装置１００は、複数の入力系統を有し（多系統入力）、各入力系統より入力した多系統の画像データを、それぞれ符号化してコードストリームを生成し、さらにそのコードストリームを統合して、１本のコードストリームを生成する。その際、画像符号化装置１００は、JPEG2000（Joint Photographic Experts Group 2000）のような、復号画像の拡張性を実現するためのプログレッション機能を有するようにコードストリームを生成する。つまり、画像符号化装置１００は、より多様な用途に使用可能な、利便性の高いコードストリームを生成する。
【００４５】
図１に示されるように。画像符号化装置１００は、Ｘ本の系統の画像データを入力する。画像符号化装置１００は、エンコード部１０１−１乃至エンコード部１０１−Ｘ、並びに、コードストリーム生成部１０２を有する。
【００４６】
エンコード部１０１−１乃至エンコード部１０１−Ｘは、Ｘ系統の入力画像データ（入力画像データ１１１−１乃至入力画像データ１１１−Ｘ）をそれぞれ符号化し、Ｘ本のコードストリーム（コードストリーム１１２−１乃至コードストリーム１１２−Ｘ）を生成する。
【００４７】
コードストリーム生成部１０２は、エンコード部１０１−１乃至エンコード部１０１−Ｘの出力（コードストリーム１１２−１乃至コードストリーム１１２−Ｘ）を受け付け、外部からの指定１１３に基づいて、それらを統合して１本のコードストリームを生成し、出力する（コードストリーム１１４）。
【００４８】
以下において、エンコード部１０１−１乃至エンコード部１０１−Ｘを互いに区別する必要のない場合、単にエンコード部１０１と称する。また、入力画像データ１１１−１乃至入力画像データ１１１−Ｘを互いに区別する必要のない場合、単に入力画像データ１１１と称する。さらに、コードストリーム１１２−１乃至コードストリーム１１２−Ｘを互いに区別する必要のない場合、単にコードストリーム１１２と称する。
【００４９】
各エンコード部１０１は、後述するように、画質や解像度等について、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を有するようにコードストリーム１１２を生成する。コードストリーム生成部１０２は、外部からの指定１１３に基づいて、それらのコードストリーム１１２が有するプログレッション構造に加え、さらに、多系統についてのプログレッション構造（系統に関する拡張性を実現するデータ構造、つまり、どの系統を復号するか、どの系統をどの順に復号するか等を制御することができるデータ構造）を有するようにコードストリーム１１４を生成する。
【００５０】
なお、以上においては、エンコード部１０１を各系統に設けるように説明したが、１つのエンコード部１０１が複数の系統の入力画像データ１１１をそれぞれ符号化することができるようにしてもよい。例えば、画像符号化装置１００が１個のエンコード部１０１を有するようにし、そのエンコード部１０１が、Ｘ系統の入力画像データ１１１をそれぞれ符号化し、Ｘ系統のコードストリームを生成するようにしてもよい。
【００５１】
［エンコード部の構成］
図２は、図１のエンコード部１０１の主な構成例を示すブロック図である。エンコード部１０１は、JPEG2000方式と同様のプログレッション構造を有するコードストリームを生成するように符号化を行うエンコーダである。エンコード部１０１がJPEG2000方式により画像を符号化するようにしてもよい。
【００５２】
図２に示されるように、エンコード部１０１は、DCレベルシフト部１３１、ウェーブレット変換部１３２、量子化部１３３、コードブロック化部１３４、およびビットプレーン展開部１３５を有する。
【００５３】
DCレベルシフト部１３１は、後段のウェーブレット変換を効率的に行うために、矢印１６１のようにエンコード部１０１に入力された画像データ（図１の入力画像データ１１１）のDC成分のレベルシフトを行う。例えば、RGB信号が正の値（符号無しの整数）を持っている。そこで、DCレベルシフト部１３１は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従って、YCbCr信号の色差データCbや色差データCrの様に符号（正負両方あり）の整数値を持つ信号を原信号とする場合には、このレベルシフトは行われない。
【００５４】
ウェーブレット変換部１３２は、通常低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答（フィルタ係数）を有するので、ウェーブレット変換部１３２は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
【００５５】
ウェーブレット変換部１３２は、矢印１６２のようにDCレベルシフト部１３１より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得すると、そのDCレベルシフト後の画像データに対して、所定のウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部１３２は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
【００５６】
そして、ウェーブレット変換部１３２は、このようなフィルタリング処理を、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、例えば図３に示されるように、画像のエネルギーの多くが低域成分に集中しているからである。
【００５７】
図３は、サブバンドの構成例を示す図である。図３に示されるように、分割レベル数１の状態においても分割レベル数３の状態においても、画像のエネルギーの多くは、低域成分に集中している。
【００５８】
図４は、分割レベル数４のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。
【００５９】
この場合、ウェーブレット変換部１３２は、まず、画像全体をフィルタリングし、サブバンド1LL（図示せず）、1HL、1LH、および1HHを生成する。次に、ウェーブレット変換部１３２は、生成されたサブバンド1LLに対して再度フィルタリングを行い、2LL（図示せず）、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部１３２は、生成されたサブバンド2LLに対して再度フィルタリングを行い、3LL、3HL、3LH、および3HHを生成する。さらに、ウェーブレット変換部１３２は、生成されたサブバンド3LLに対して再度フィルタリングを行い、4LL、4HL、4LH、および4HHを生成する。
【００６０】
このように、分割レベル数４まで分析フィルタリングが行われると、１３個のサブバンドが生成される。図４に示されるように、分割レベルが１つ上位に進むごとに、サブバンドのサイズは、縦方向および横方向にそれぞれ２分の１となる。
【００６１】
つまり、例えば横方向に１９２０画素の画像のベースバンドの画像データが１回分析フィルタリングされると、横方向に９６０画素のサブバンドが４つ（1LL,1HL,1LH,1HH）生成される。さらに、サブバンド1LLが１回分析フィルタリングされると、横方向に４８０画素のサブバンドが４つ（2LL,2HL,2LH,2HH）が生成される。さらに、サブバンド2LLが回分析フィルタリングされると、横方向に２４０画素のサブバンドが４つ（3LL,3HL,3LH,3HH）が生成される。さらに、サブバンド3LLが１回分析フィルタリングされると、横方向に１２０画素のサブバンドが４つ（4LL,4HL,4LH,4HH）が生成される。
【００６２】
なお、ウェーブレット変換の分割レベル数は任意である。
【００６３】
ウェーブレット変換部１３２は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、矢印１６３に示されるように量子化部１３３に供給する。量子化部１３３は、供給されたウェーブレット係数を量子化する。この量子化の方法は任意であるが、量子化ステップサイズで除算するスカラ量子化が一般的である。量子化部１３３は、量子化により得られた量子化係数を、矢印１６４に示されるように、コードブロック化部１３４に供給する。なお、これより後段においては、ウェーブレット係数の代わりに量子化係数が供給されることになるが、この量子化係数もウェーブレット係数の場合と基本的に同様に扱われる。したがって、以下においては、必要でない限りその点についての説明は省略し、単に係数または係数データと称する。
【００６４】
なお、エンコード部１０１が、復号処理により元のデータを完全に復元可能な可逆符号化方式により画像データを符号化する場合、この量子化部１３３の処理は省略され、矢印１６５に示されるように、ウェーブレット変換部１３２の出力がコードブロック化部１３４に供給される。
【００６５】
ウェーブレット係数は、コードブロック化部１３４で、エントロピ符号化の処理単位である所定の大きさのコードブロックに分割される。図５は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。後段の各処理部は、このコードブロック毎に処理を行う。
【００６６】
コードブロック化部１３４は、矢印１６６に示されるように、各コードブロックをビットプレーン展開部１３５に供給する。ビットプレーン展開部１３５は、係数データを、ビットの位毎のビットプレーンに展開する。
【００６７】
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群を、１ビット毎、つまり位毎に分割（スライス）したものである。つまり、ビットプレーンは、その係数群の互いに同一の位のビット（係数ビット）の集合である。
【００６８】
図６にその具体例を示す。図６の左図は縦４個、横４個の計１６個の係数を示している。この１６個の係数のうち、絶対値が最大のものは１３で、２進数で１１０１と表現される。ビットプレーン展開部１３５は、このような係数群を、絶対値を示す４枚のビットプレーン（絶対値のビットプレーン）と、符号を示す１枚のビットプレーン（符号のビットプレーン）に展開する。つまり、図６中左の係数群は、図６中右に示されるように、４枚の絶対値のビットプレーンと１枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて０か１の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が０であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
【００６９】
エンコード部１０１は、さらに、ビットモデリング部１３６、算術符号化部１３７、符号量加算部１３８、レート制御部１３９、ヘッダ生成部１４０、およびパケット生成部１４１を有する。
【００７０】
ビットプレーン展開部１３５は、展開したビットプレーンを、矢印１６７に示されるように、ビットモデリング部１３６に供給する。
【００７１】
ビットモデリング部１３６および算術符号化部１３７は、EBCOT（Embedded Coding with Optimized Truncation）部１５１として動作し、入力される係数データに対して、JPEG2000規格で定められたEBCOTと呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
【００７２】
ビットモデリング部１３６は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、矢印１６８に示されるように、制御情報、シンボル、およびコンテキスト等の情報を算術符号化部１３７に供給する。算術符号化部１３７は、係数のビットプレーンを算術符号化する。
【００７３】
コードブロックの縦横のサイズは４から２５６まで２のべき乗で、通常使用される大きさは、３２×３２、６４×６４、１２８×３２等がある。係数値がｎビットの符号付き２進数で表されていて、bit０からbit（ｎ−２）がLSBからMSBまでのそれぞれのビットを表すとする。残りの１ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の３種類の符号化パスによって行われる。
【００７４】
（１）Significant Propagation Pass
（２）Magnitude Refinement Pass
（３）Cleanup Pass
【００７５】
３つの符号化パスの用いられる順序は、図７で示される。最初にBit-plane（n-1）（MSB）がCleanup Passによって符号化される。続いて順次LSB側に向かい、各ビットプレーンの符号化が、３つの符号化パスをSignificant Propagation Pass、Magnitude Refinement Pass、Cleanup Passの順序で用いて行われる。
【００７６】
ただし、実際にはMSB側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、MSB側から連続するオール０のビットプレーン（ゼロビットプレーンと称する）は符号化しない。この順序で３種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの、任意の符号化パス迄で符号化を打ち切ることにより、符号量と画質のトレードオフを取る（レート制御を行う）。
【００７７】
次に、係数の走査（スキャニング）について図８を用いて説明する。コードブロックは高さ４個の係数毎にストライプ（stripe）に分けられる。ストライプの幅はコードブロックの幅に等しい。スキャン順とは、１個のコードブロック内の、すべての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中のすべての係数が、このスキャン順で処理される。
【００７８】
以下、３つの符号化パスについて述べる。以下はいずれもJPEG-2000規格書（参考文献：ISO/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system）に記述されている内容である。
【００７９】
（１）Significance Propagation Pass（SPパス）：
あるビットプレーンを符号化するSignificance Propagation Passでは、８近傍の少なくとも１つの係数が有意（significant）であるようなnon-significant係数のビットプレーンの値を算術符号化する。その符号化したビットプレーンの値が１である場合は、符号が＋であるか、−であるかを続けてMQ符号化する。
【００８０】
ここでsignificanceというJPEG2000特有の用語について説明する。significanceとは、各係数に対して符号化器が持つ状態で、significanceの初期値はnon-significantを表す０、その係数で１が符号化されたときにsignificantを表す１に変化し、以降常に１であり続けるものである。従って、significanceとは有効桁の情報を既に符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
【００８１】
（２）Magnitude Refinement Pass（MRパス）：
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化する Significance Propagation Passで、且つ符号化していないsignificantな係数のビットプレーンの値をMQ符号化する。
【００８２】
（３）Cleanup Pass（CUパス）：
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Passで、且つ符号化していないnon-significantな係数のビットプレーンの値をMQ符号化する。その符号化したビットプレーンの値が１である場合は符号が＋であるか−であるか（Sign情報）を続けてMQ符号化する。
【００８３】
尚、以上の３つの符号化パスでのMQ符号化では、ケースに応じて、ZC（Zero Coding）、RLC（Run-Length Coding）、SC（Sign Coding）、およびMR（Magnitude Refinement）が使い分けられる。ここでMQ符号化と呼ばれる算術符号が用いられる。MQ符号化は、JBIG2（参考文献：ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000）で規定された学習型の２値算術符号である。
【００８４】
図２に戻り、算術符号化部１３７は、生成したコードストリームを、矢印１６９に示されるように、符号量加算部１３８に供給する。符号量加算部１３８は、そのコードストリームの符号量をカウントし、累積する。
【００８５】
そして、符号量加算部１３８は、そのコードストリームを、矢印１７２および矢印１７３に示されるように、ヘッダ作成部１４０およびパケット生成部１４１に供給するとともに、矢印１７０に示されるように、符号量の累積値をレート制御部１３９に供給する。レート制御部１３９は、供給された符号量の累積値に基づいて、矢印１７１に示されるように、EBCOT部１５１を制御し、累積値が目標符号量に達した時点で符号化を終了させる。つまり、レート制御部１３９は、発生符号量の制御（コードストリームのレート制御）を行う。
【００８６】
パケット生成部１４１は、供給されたコードストリームをパケット化する。ヘッダ生成部１４０は、そのパケットのヘッダ情報を生成し、そのヘッダ情報を矢印１７４に示されるように、パケット生成部１４１に供給する。パケット生成部１４１は、そのヘッダ情報を用いてパケット化を行う。
【００８７】
このパケットの概念を図９に示す。図９に示される例では、ウェーブレット変換を３回施した例で、その結果、最低域のPacket-1から最高域のPacket-4までの4個のパケットが生成されることを示している。従って、これら個々のパケット内のサブバンド中に存在する、すべての符号ブロックの符号化コードストリームが、パケット毎にパッキングされることになる。
【００８８】
また図１０は、符号化パスを、レイヤ１乃至レイヤＬのＬ個のレイヤに分割したケースを図示したものである。あるコードブロックで、レイヤｎの先頭の符号化パスはレイヤ（ｎ−１）の最終後尾の符号化パスの直後に位置する。したがって、レイヤ数が増えるごとにコードストリームの符号量が増加する。つまり復号画像の画質が向上する（解像度は変化しない）。
【００８９】
したがって、復号時に、レイヤ１からどのレイヤまでを復号するかを制御することにより、復号画像の画質を制御することができる。以下において、特に説明をしない限り、「画質」は、このレイヤ（つまり各画素の情報量）に依存する復号画像の視覚的品質のことを示すものとする。
【００９０】
なお、どのコードブロックのどの符号化パスでレイヤの境界を切るかは、エンコーダ（画像符号化装置１００）により設定することができる。以上のパケット内のサブバンド中に存在する、すべてのコードブロックのコードストリームが、パケット毎にパッキングされることになる。
【００９１】
生成されたパケットは矢印１７５に示されるように、エンコード部１０１の外部に出力され、コードストリーム生成部１０２に供給される。
【００９２】
各エンコード部１０１は、上述したようにJPEG2000方式で画像データを符号化し、解像度やレイヤ等について、JPEG2000のプログレッション機能を持たせたコードストリームを生成する。
【００９３】
［コードストリーム生成部］
図１１は、図１のコードストリーム生成部１０２の主な構成例を示すブロック図である。図１１に示されるように、コードストリーム生成部１０２は、プログレッション解析部１８１、指定受付部１８２、プログレッション決定部１８３、統合部１８４、およびプログレッション情報生成部１８５を有する。
【００９４】
プログレッション解析部１８１は、入力されるコードストリーム１１２−１乃至コードストリーム１１２−Ｘのそれぞれについて、プログレッション構造を解析し、各コードストリームがどのような構造で構成されるかを特定する。プログレッション解析部１８１は、解析が済んだコードストリーム１９１−１乃至１９１−Ｘを統合部１８４に供給する。また、プログレッション解析部１８１は、各コードストリームの解析結果をプログレッション決定部１８３に供給する（矢印１９２）。
【００９５】
なお、以下において、コードストリーム１９１−１乃至１９１−Ｘを互いに区別して説明する必要が無い場合、単にコードストリーム１９１と称する。
【００９６】
指定受付部１８２は、例えば、ユーザや他の装置等、外部から供給される、統合後のコードストリームのプログレッション構造の指定１１３を受け付け、それをプログレッション決定部１８３に供給する（矢印１９２）。プログレッション決定部１８３は、プログレッション解析部１８１から供給される解析結果、および、指定受付部１８２から供給される外部からの指定に基づいて、統合後のコードストリームのプログレッション構造を決定し、その情報を統合部１８４に供給する（矢印１９４）。なお、プログレッション決定部１８３は、解析結果や外部からの指定だけでなく、適宜、その他の情報も用いてプログレッション構造の決定を行うようにしてもよい。
【００９７】
統合部１８４は、プログレッション決定部１９３より供給されるプログレッション構造に関する情報に基づいて、統合後のコードストリームが解像度や画質の他に、さらに、各系統についてもプログレッション構造を有するように、プログレッション解析部１８１から供給される各コードストリームを統合する。統合部１８４は、統合した１本のコードストリーム１９５をプログレッション情報生成部１８５に供給する。
【００９８】
プログレッション情報生成部１８５は、そのコードストリーム１９４のプログレッション構造に関する情報であるプログレッション情報を生成し、そのプログレッション情報を、例えばヘッダ情報等、統合後のコードストリーム１９４の所定の位置に埋め込む。プログレッション情報生成部１８５は、プログレッション情報を付加したコードストリーム１１４を出力する。
【００９９】
［JPEG2000のプログレッション］
JPEG2000の符号化における特徴として、ビットプレーンと、ウェーブレット変換によって生成されるサブバンドとがある。これらによってプログレッションの定義が可能になる。
【０１００】
プログレッションとは、同じカテゴリに属する符号語の順番である。例えば同じ解像度レベルに属する異なるレイヤの符号語を集めれば、画像サイズが同一で画質が異なる画像を生成することができる。逆に同じレイヤに属する異なる解像度レベルの符号語を集めれば、画質が同じで画像サイズが異なる画像を生成することができる。つまり、復号画像の拡張性を実現するためのデータ構造である。
【０１０１】
JPEG2000では、このように所定の要素について、コードストリームから一部のデータのみを復号することができる。これにより、１つのコードストリームから多様な復号画像を容易に得ることができる。つまり、コードストリームにこのようなプログレッション構造を持たせることにより、より多様な用途に使用することができるようになり、コードストリームの利便性が向上する。
【０１０２】
例えば、１つのコードストリームから、大画面の表現力が豊かな高性能の液晶ディスプレイに対しては、高解像度かつ高ビットレートの復号画像を提供し、小画面で画像処理能力が低い携帯電話機等に対しては、低解像度かつ低ビットレートの復号画像を提供する、といったことも、復号するレイヤやサブバンド等のプログレッションの要素の選択により、容易に実現することができる。
【０１０３】
なお、このようなプログレッション構造は、復号処理だけでなく、復号画像の画像サイズや画質等を変化させる変換処理（トランスコード）においても利用することができる。つまり、上述した復号処理の場合と同様に、レイヤやサブバンド等のプログレッションの要素を選択するだけで、容易に、復号画像の画像サイズや画質を変化させたコードストリームを生成する（すなわちトランスコードする）ことができる。
【０１０４】
JPEG2000の場合、プログレッションの要素には、解像度レベル、レイヤ、ポジション、およびコンポーネントの４つが存在する。
【０１０５】
解像度レベルは、図３で図示したように、ウェーブレット変換に伴って生成されるレベルである。つまり、解像度レベルは、復号画像の画像サイズを定義するものである。レイヤは、図１０で図示した通り、ビットプレーン方向のレベルで画質を左右する要素である。また、コンポーネントは、例えばYCｂCrのような異なる成分からなる場合に定義されるものである（YCbCrやRGBの場合、コンポーネント数は、３になる）。最後にポジションであるが、これはJPEG2000の特徴の１つのタイリングに関係するもので、画面を複数の矩形ブロックに分割エンコード・デコードする場合の、各タイルの個数や位置を定義する。
【０１０６】
以上のようにプログレッションの要素が複数存在する場合、要素毎の階層構造が形成される。JPEG2000のPart-1の場合、上述した要素を使ったLRCP（Layer Resolution-level Component Position Progression）、RLCP（Resolution-level Layer Component Position Progression）、RPCL（Resolution-level Position Component Layer）、PCRL（Position Component Resolution-level Layer）、およびCPRL（Component Position Resolution-level Layer）の５通りの階層構造が用意されている。
【０１０７】
図１２はLRCPの順番にJPEG2000の符号語を並べた符号化コードストリームを、その順番にデコードした時に生成されるデコード画像を図示したものである。このプログレッション構造の場合、以下の順番にパケットが並んでいる。すなわち、最上位階層がレイヤ（全レイヤ数＝Ｌ）、その１つ下の階層が解像度レベル（N(max)が最大解像度レベル）、さらにその１つ下の階層がコンポーネント（Csizはコンポーネント総数）、最下位階層がポジションとなるように、符号語が並べられている。なお、以下においては、ポジション（P）についての説明は省略している。  
【０１０８】
for each l = 0, …, L-1
for each r = 0, …, N(max)
for each i = 0, …, Csiz-1
{ packet for component(i), resolution-level（ｒ）, layer(l) }
【０１０９】
この場合、最上位階層がレイヤであるので、復号画像は、図１２に示される画像２０１、画像２０２、画像２０３、画像２０４の順のように、徐々に画質が向上していくように表示される。
【０１１０】
図１３はRLCPの順番にJPEG2000の符号語を並べた符号化コードストリームを、その順番にデコードした際に生成されるデコード画像を図示したものである。このプログレッション構造の場合、以下の順番にパケットが並んでいる。すなわち、最上位階層が解像度レベル、その１つ下の階層がレイヤ、さらにその１つ下の階層がコンポーネント、最下位階層がポジションとなるように、符号語が並べられている。なお、以下においては、ポジション（P）についての説明は省略している。  
【０１１１】
for each r = 0, …, N(max)
for each l = 0, …, L-1
for each i = 0, …, Csiz-1
{ packet for component(i), resolution-level（ｒ）, layer(l) }
【０１１２】
この場合、最上位階層が解像度レベルであるので、復号画像は、図１３に示される画像２１１、画像２１２、画像２１３、画像２１４の順のように、徐々に画像サイズ（解像度）が大きくなるように表示される。
【０１１３】
このように、プログレッションの各要素の階層構造に応じて、コードストリームの復号処理の順序が異なり、復号画像の表示のされ方も変化する。その他のRPCL、PCRL、およびCPRLについても同様に、それぞれの階層構造に応じた順序で復号処理が進められる。
【０１１４】
［JPEG2000でのプログレッションの定義］
図１４は、JPEG2000 Part-1ドラフトのTable A-14に定義されている、符号化スタイル用のパラメータであるSGcodパラメータの例を示す図である。SGcod内のProgression order（８ビット）で上記のプログレッションの順番を定義することが可能である。
【０１１５】
このTable A-16では、図１５に示されるように、上述したLRCP, RLCP, RPCL, PCRL, CPRLの５通りのプログレッションが定義されている。
【０１１６】
［プログレッションの拡張］
図１のコードストリーム生成部１０２（図１１のプログレッション解析部１８１）に供給されるコードストリーム１１２は、上述したようなJPEG2000のプログレッション構造を有する。
【０１１７】
コードストリーム生成部１０２（図１１の統合部１８４）は、このプログレッション構造を拡張し、従来の構造に、多系統についてのプログレッション構造（系統に関する拡張性を実現するプログレッション構造）をさらに加えるように各コードストリームを統合し、１本のコードストリームを生成する。統合後のプログレッションの階層構造の例を以下に説明する。
【０１１８】
［XLRCP］
階層構造の第１の例は、最上位階層を系統とし、以下の階層をLRCPとするXLRCPである。この場合、復号画像は、図１６に示されるように、１系統ずつ順に復号されて表示される。つまり、XLRCPのコードストリームは、まず第１の系統について、画像２０１−１、画像２０２−１、画像２０３−１、画像２０４−１のように、レイヤ１からレイヤＮまでが復号される（徐々に画質が向上する）。
【０１１９】
第１の系統の復号画像が得られると、次に、第２の系統について、画像２０１−２、画像２０２−２、画像２０３−２、画像２０４−２のように、レイヤ１からレイヤＮまでが復号される（徐々に画質が向上する）。
【０１２０】
このように、１系統ずつ復号され、最後に、第Ｘの系統について、画像２０１−Ｘ、画像２０２−Ｘ、画像２０３−Ｘ、画像２０４−Ｘのように、レイヤ１からレイヤＮまでが復号される（徐々に画質が向上する）。
【０１２１】
例えば、入力画像データ１１１がビュー数がＶのマルチビューの場合（つまり入力系統数Ｘ＝Ｖの場合）、コードストリーム生成部１０２（統合部１８４）は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｖがビュー数（入力系統数Ｘ）を示している（VLRCP）。マルチビューはカメラの台数を増やすことで、視野角の広い３Ｄ映像を生成することができる他、画像の奥行き方向の抽出もステレオに比べて遥かに容易に実現できる特徴がある。その結果、カメラ間の任意視点の画像を補間・合成する技術も多くの研究機関で検討されている。また３Ｄ以外の用途でも横一線にカメラを配置することでパノラマ画像を生成することにも有用である。なお、以下においては、ポジション（P）についての説明は省略している。
【０１２２】
for each v = 0, …, V-1
for each l = 0, …, L-1
for each r = 0, …, N(max)
for each i = 0, …, Csiz-1
{ packet for view(v), component(i), resolution-level（ｒ）, layer(l) }
【０１２３】
また、例えば、入力画像データ１１１が３Ｄ画像データの場合（つまり入力系統数Ｘ＝２の場合）、コードストリーム生成部１０２（統合部１８４）は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｓが系統（left or right）を示している（SLRCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１２４】
for each s = left, right
for each l = 0, …, L-1
for each r = 0, …, N(max)
for each i = 0, …, Csiz-1
{ packet for stereo(s), component(i), resolution-level（ｒ）, layer(l) }
【０１２５】
［LXRCP］
階層構造の第２の例は、LRCPの第２の階層を系統とするLXRCPである。この場合、復号画像は、図１７に示されるように、１レイヤずつ順に復号されて表示される。つまり、LXRCPのコードストリームは、まず第１の系統について、画像２０１−１、画像２０１−２、・・・、画像２０１−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個のレイヤ１の画像が生成される）。
【０１２６】
レイヤ１の復号画像がＸ個得られると、次に、レイヤ２について、画像２０２−１、画像２０２−２、・・・、画像２０２−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個のレイヤ２の画像が生成される）。
【０１２７】
続いて、レイヤ３についても同様に、画像２０３−１、画像２０３−２、・・・、画像２０３−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個のレイヤ３の画像が生成される）。
【０１２８】
このように、１レイヤずつ復号され、最後に、レイヤＬについて、画像２０４−１、画像２０４−２、・・・、画像２０４−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個のレイヤＬの画像が生成される）。
【０１２９】
この構造例は、例えば伝送するネットワークの帯域が小さい時に、下位レイヤから上位レイヤの順に符号化コードストリームを伝送することで、受信側（デコード側）ではステレオ画像の画質が徐々に向上するようなアプリケーションに好適である。
【０１３０】
例えば、入力画像データ１１１がビュー数がＶのマルチビューの場合（つまり入力系統数Ｘ＝Ｖの場合）、コードストリーム生成部１０２（統合部１８４）は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｖがビュー数（入力系統数Ｘ）を示している（LVRCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１３１】
for each l = 0, …, L-1
for each v = 0, …, V-1
for each r = 0, …, N(max)
for each i = 0, …, Csiz-1
{ packet for view(v), component(i), resolution-level（ｒ）, layer(l) }
【０１３２】
また、例えば、入力画像データ１１１が３Ｄ画像データの場合（つまり入力系統数Ｘ＝２の場合）、コードストリーム生成部１０２（統合部１８４）は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｓが系統（left or right）を示している（LSRCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１３３】
for each l = 0, …, L-1
for each s = left, right
for each r = 0, …, N(max)
for each i = 0, …, Csiz-1
{ packet for stereo(s), component(i), resolution-level（ｒ）, layer(l) }
【０１３４】
［XRLCP］
階層構造の第３の例は、最上位階層を系統とし、以下の階層をRLCPとするXRLCPである。この場合、復号画像は、図１８に示されるように、１系統ずつ順に復号されて表示される。つまり、XRLCPのコードストリームは、まず第１の系統について、画像２１１−１、画像２１２−１、画像２１３−１、画像２１４−１のように、最下位層の解像度レベルから最上位階層の解像度レベルまでが復号される（徐々に画像サイズが大きくなる）。
【０１３５】
第１の系統の復号画像が得られると、次に、第２の系統以降も同様に１系統ずつ復号され、最後に、第Ｘの系統について、画像２１１−Ｘ、画像２１２−Ｘ、画像２１３−Ｘ、画像２１４−Ｘのように、最下位層の解像度レベルから最上位階層の解像度レベルまでが復号される（徐々に画像サイズが大きくなる）。
【０１３６】
例えば、入力画像データ１１１がビュー数がＶのマルチビューの場合（つまり入力系統数Ｘ＝Ｖの場合）、コードストリーム生成部１０２（統合部１８４）は、このようなXRLCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｖがビュー数（入力系統数Ｘ）を示している（VRLCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１３７】
for each v = 0, …, V-1
for each r = 0, …, N(max)
for each l = 0, …, L-1
for each i = 0, …, Csiz-1
{ packet for view(v), component(i), resolution-level（ｒ）, layer(l) }
【０１３８】
また、例えば、入力画像データ１１１が３Ｄ画像データの場合（つまり入力系統数Ｘ＝２の場合）、コードストリーム生成部１０２（統合部１８４）は、このようなXLRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｓが系統（left or right）を示している（SRLCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１３９】
for each s = left, right
for each r = 0, …, N(max)
for each l = 0, …, L-1
for each i = 0, …, Csiz-1
{ packet for stereo(s), component(i), resolution-level（ｒ）, layer(l) }
【０１４０】
［RXLCP］
階層構造の第４の例は、RLCPの第２の階層を系統とするRXLCPである。この場合、復号画像は、図１９に示されるように、１解像度レベルずつ順に復号されて表示される。つまり、RXLCPのコードストリームは、まず最下位層の解像度レベルについて、画像２１１−１、・・・、画像２１１−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個の最下位層の解像度レベルの画像が生成される）。
【０１４１】
最下位層の解像度レベルの復号画像がＸ個得られると、次に、１つ上の解像度レベルについて、画像２１２−１、・・・、画像２１２−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個の下から２番目の解像度レベルの画像が生成される）。
【０１４２】
続いて、下から３番目の解像度レベルについても同様に、画像２１３−１、・・・、画像２１３−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個の下から３番目の解像度のレベルの画像が生成される）。
【０１４３】
このように、１解像度レベルずつ復号され、最後に、最上位層の解像度レベルについて、画像２１４−１、・・・、画像２１４−Ｘのように、第１の系統から第Ｘの系統までが順に復号される（Ｘ個の最上位層の解像度レベルの画像が生成される）。
【０１４４】
この構造例は、例えば、伝送するネットワークの帯域が小さい時に、下位レイヤから上位レイヤの順に符号化コードストリームを伝送することで、受信側（デコード側）ではステレオ画像の解像度が徐々に向上するようなアプリケーションに好適である他、受信側の端末（TV（テレビジョン受像機）やポータブル表示装置、携帯端末など）の表示可能な解像度に応じて、最適な階層の符号語だけを送受信するアプリケーションに好適である。
【０１４５】
例えば、入力画像データ１１１がビュー数がＶのマルチビューの場合（つまり入力系統数Ｘ＝Ｖの場合）、コードストリーム生成部１０２（統合部１８４）は、このようなRXLCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｖがビュー数（入力系統数Ｘ）を示している（RVLCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１４６】
for each r = 0, …, N(max)
for each v = 0, …, V-1
for each l = 0, …, L-1
for each i = 0, …, Csiz-1
{ packet for view(v), component(i), resolution-level（ｒ）, layer(l) }
【０１４７】
また、例えば、入力画像データ１１１が３Ｄ画像データの場合（つまり入力系統数Ｘ＝２の場合）、コードストリーム生成部１０２（統合部１８４）は、このようなLXRCPの構造を有するコードストリームを以下のように生成する。なお、以下においては、変数ｓが系統（left or right）を示している（RSLCP）。なお、以下においては、ポジション（P）についての説明は省略している。
【０１４８】
for each r = 0, …, N(max)
for each s = left, right
for each l = 0, …, L-1
for each i = 0, …, Csiz-1
{ packet for stereo(s), component(i), resolution-level（ｒ）, layer(l) }
【０１４９】
［その他の構造］
RPCL、PCRL、およびCPRLについての拡張も、上述したLRCPやRLCPの場合と、基本的に同様に行われる。
【０１５０】
例えば、RPCLの場合のプログレッション構造を以下に示す。以下において(tx(0), tx(1))はあるタイルの左端Ｘ座標と、右端Ｘ座標を示し、(ty(0), ty(1))はあるタイルの左端Ｙ座標と、右端Ｙ座標を示す。
【０１５１】
for each r = 0, …, N(max)
for each y= ty(0), …., ty(1)-1
for each x= tx(0), …., tx(1)-1
for each i = 0, …, Csiz-1
for each l = 0, …, L-1
{ packet for component(i), resolution-level（ｒ）, layer(l) }
【０１５２】
なお、タイリングなし（画面に１つだけタイルが存在する）の場合、２階層目と３階層目のループが実質存在しない。
【０１５３】
以上のように、階層構造は、プログレッション構造毎に異なるものの、いずれの構造の場合も、コードストリームを統合する際に、多系統についてのプログレッション（系統に関する拡張性を実現するデータ構造）が、指定された階層に挿入される。
【０１５４】
このようにして、統合後のプログレッション構造として、例えば、XLRCP、LXRCP、XRLCP、RXLCP、XRPCL、RPXCL、VPCRL、PXCRL、XCPRL、およびCXPRLの１０種類の構造を定義することができる。もちろん、統合後のプログレッション構造として、これら以外の構造を適用するようにしてもよい。例えば、この多系統についてのプログレッションを他の階層に挿入するようにしてもよい。また、上述した１０種類の一部が含まれていなくてもよい。また、用意されるプログレッション構造の数はいくつであってもよく、９種類以下であってもよいし、１１種類以上であってもよい。
【０１５５】
［拡張プログレッションの定義］
JPEG2000の場合、プログレッションの階層構造は、図１５を参照して説明したように、SGcod内のProgression order（８ビット）で定義されている。プログレッション情報生成部１８５において、図２０に示されるように、上位4ビットも用いて、このProgression orderを拡張することで、上述した１０個の階層構造が定義される（XLRCP（0001 0000）、LXRCP（0010 0000）、XRLCP（0001 0001）、RXLCP（0010 0001）、XRPCL（0001 0010）、RPXCL（0010 0010）、XPCRL（0001 0011）、PXCRL（0010 0011）、XCPRL(0001 0100)、CXPRL(0010 0100)）。
【０１５６】
プログレッション情報生成部１８５は、統合部１８４が統合した１系統のコードストリーム１９５のタイルパートヘッダまたはメインヘッダ内に存在するSGcodパラメータのProgression orderを、そのコードストリーム１９５のプログレッション構造に対応する値に設定する。
【０１５７】
もちろん、各プログレッション構造に対して割り当てる値は任意であり、図２０に示される以外の値を割り当てるようにしてもよい。また、階層構造の定義の方法は、任意であり、他のパラメータにおいて定義するようにしてもよい。例えば、同じCODマーカセグメント中のSPcocやPpocにおいて定義するようにしてもよい。例えば、SGcod、SPcoc、およびPpocのうち、少なくともいずれか１つにおいて定義するようにしてもよい。
【０１５８】
もちろん、これら以外のパラメータにおいて定義することもできる。ただし、図２０に示されるように、Progression orderの上位４ビットを用いて拡張することにより、下位４ビットについては、従来のJPEG2000との互換性を維持することができるなど、従来のJPEG2000との親和性を高めることができる。したがって、例えば、このような拡張に対応しない従来のJPEG2000のデコーダにおいては、下位４ビットの値によって、従来のように４つの要素の階層構造として復号することができる。
【０１５９】
［ビュー数の定義］
次にビュー数（入力系統数）の定義について説明する。図２１は、JPEG2000 Part-1で定義されたメインヘッダのSIZマーカのRsiz（１６ビット）が定義されたTable A-10である。規格書の文中には以下の説明書きがある。
【０１６０】
Rsiz：Denotes capabilities that a decoder needs to properly decode the codestream.
【０１６１】
このように、Table A-10によれば、Rsizには１６ビットが割り当てられているものの、現在Profile-0とProfile-1の定義にしか使われていない（一部デジタルシネマ規格（DCI規格）で2K解像度用にRsiz=3、4K解像度用にRsiz=4が使われている例外がある）。
【０１６２】
この空きを利用して、プログレッション情報生成部１８５は、図２２に示される様に、Rsizの上位から１２ビットを用いてビュー数を定義するようにする。このようにすることにより、最大数4,096まで対応可能である。なお、図２２中の"ｘ"の記号は「使用禁止」を意味する。
【０１６３】
プログレッション情報生成部１８５は、統合部１８４において生成されたコードストリーム１９５のメインヘッダのRsizの値を、図２２の定義に従って、統合前のコードストリームの系統数Ｘに対応する値に設定する。
【０１６４】
もちろん、ビュー数の定義方法は任意であり、Rsiz以外において定義するようにしてもよいが、上述したように、Rsizにおいてビュー数を定義することにより、不要にデータ量を増大させず、従来のJPEG2000との高い親和性を保ったまま、容易に、多数（最大数4,096）の入力系統に対応することができる。
【０１６５】
［多系統入力符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れの例について説明する。
【０１６６】
最初に、画像符号化装置１００により実行される、多系統の入力画像データを符号化し、プログレッション機能を有するように統合して１本のコードストリームを生成する多系統入力符号化処理の流れの例を図２３のフローチャートを参照して説明する。
【０１６７】
入力画像データ１１１が入力されて多系統入力符号化処理が開始されると、ステップＳ１０１において、各エンコード部１０１は、自身に対応する入力系統から入力された画像データ１１１を符号化する。ステップＳ１０２において、画像符号化装置１００は、全系統の入力画像を符号化したか否かを判定し、未処理の系統が存在すると判定された場合、処理をステップＳ１０１に戻し、全ての系統の入力画像が処理されたと判定されるまで待機する。
【０１６８】
ステップＳ１０２において、全ての系統の入力画像が符号化されたと判定された場合、画像符号化装置１００は、処理をステップＳ１０３に進める。ステップＳ１０３において、コードストリーム生成部１０２は、各系統のコードストリームを統合し、プログレッション機能を有する１系統のコードストリームを生成する。コードストリームを生成すると、画像符号化装置１００は、多系統入力符号化処理を終了する。
【０１６９】
［符号化処理の流れ］
次に、図２３のステップＳ１０１において実行される各系統の符号化処理の流れの例を図２４のフローチャートを参照して説明する。
【０１７０】
符号化処理が開始されると、ステップＳ１２１において、DCレベルシフト部１３１は、自身が対応する入力系統より入力された画像データのDCレベルをシフトする。ステップＳ１２２において、ウェーブレット変換部１３２は、DCレベルがシフトされた画像データをウェーブレット変換する。
【０１７１】
ステップＳ１２３において、量子化部１３３は、非可逆符号化方式の場合、ステップＳ１２２において生成されたウェーブレット係数を量子化する。なお、可逆符号化方式の場合、この処理は省略される。
【０１７２】
ステップＳ１２４において、コードブロック化部１３４は、量子化された係数をコードブロック単位で分割する。ステップＳ１２５において、ビットプレーン展開部１３５は、そのコードブロック毎の係数をビットプレーンに展開する。
【０１７３】
ステップＳ１２６において、EBCOT部１５１は、ビットプレーン展開された係数を符号化する。ステップＳ１２７において、レート制御部１３９は、符号量加算部１３８において加算された符号量等を用いて、発生符号量のレートを制御する。
【０１７４】
ステップＳ１２８において、ヘッダ生成部１４０は、パケットヘッダを生成する。ステップＳ１２９において、パケット生成部１４１は、パケットを生成する。ステップＳ１３０において、エンコード部１０１は、そのパケットを外部に出力する。
【０１７５】
ステップＳ１３０の処理が終了すると、符号化処理が終了される。なお、この符号化処理は、画像データの供給が終了するか、終了の指示を受けるまで、所定のデータ単位毎に繰り返し実行される。また、この符号化処理は、各エンコード部１０１において実行される。
【０１７６】
このように符号化処理を行うことにより、エンコード部１０１は、各系統の入力画像を、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造を有するように符号化することができる。
【０１７７】
［コードストリーム生成処理の流れ］
次に、図２３のステップＳ１０３において実行されるコードストリーム生成処理の流れの例を図２５のフローチャートを参照して説明する。
【０１７８】
コードストリーム生成部１０２は、各エンコード部１０１からコードストリーム１１２が供給されると、コードストリーム生成処理を開始する。コードストリーム生成処理が開始されると、プログレッション解析部１８１は、ステップＳ１５１において、各エンコード部１０１から供給されたコードストリームの全てについて、プログレッションを解析する。
【０１７９】
ステップＳ１５２においｔえ、指定受付部１８２は、例えばユーザや外部の装置等から供給される、コードストリーム統合後のプログレッション構造に関する指定を受け付ける。
【０１８０】
ステップＳ１５３において、プログレッション決定部１８３は、ステップＳ１５１の処理により得られた解析結果と、ステップＳ１５２の処理により受け付けられた外部からの指定に基づいて、統合後のコードストリームのプログレッション構造を決定する。
【０１８１】
ステップＳ１５４において、統合部１８４は、ステップＳ１５３において決定されたプログレッション構造を有するように、各系統のコードストリームを統合する。ステップＳ１５５において、プログレッション情報生成部１８５は、統合後のコードストリームのプログレッション情報を生成し、例えば、SGcod内のProgression orderや、SIZマーカのRsiz等、統合後のコードストリームの所定の位置にそのプログレッション情報を付加する。
【０１８２】
ステップＳ１５６において、プログレッション情報生成部１８５は、コードストリームを出力する。
【０１８３】
このように、コードストリーム生成部１０２は、各系統のコードストリームを、各コードストリームのプログレッション構造に、多系統についてのプログレッション構造（系統に関する拡張性を実現するデータ構造）を追加した構造を有するように統合することができる。このようにすることにより、画像符号化装置１００は、多系統の入力画像を符号化し、復号画像の拡張性を実現し、より多様な用途に使用可能なコードストリームを生成することができる。
【０１８４】
また、統合後のプログレッション構造（拡張されたプログレッション構造）を示すプログレッション情報をコードストリームに付加するので、そのコードストリームを復号する画像復号装置は、そのコードストリームに付加されたプログレッション情報に基づいて、容易に、コードストリームを復号することができる。
【０１８５】
つまり、画像符号化装置１００は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
【０１８６】
なお、プログレッション情報は、コードストリームとは別のデータとして復号側に提供されるようにしてもよい。ただし、その場合、コードストリームとプログレッション情報の対応関係を明らかにする（復号側において対応関係を把握することができるようにする）必要がある。
【０１８７】
＜２．第２の実施の形態＞
［画像復号装置の構成］
図２６は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【０１８８】
図２６に示される画像復号装置３００は、図１の画像符号化装置１００に対応する復号装置であり、画像符号化装置１００により多系統の入力画像を符号化して統合し、生成された１系統のコードストリームを復号して分離し、多系統の復号画像を生成する。
【０１８９】
その際、画像復号装置３００は、入力されるコードストリームが有する、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造に従ってコードストリームを復号し、多系統の復号画像を得ることができる。もちろん、画像復号装置３００は、入力されるコードストリームが有するプログレッション構造に従って、必要な情報のみを復号するようにし、用途に対して画質や画像サイズ等が適切な復号画像（用途に応じた復号画像）を得ることができるようにしてもよい。
【０１９０】
図２６に示されるように、画像復号装置３００は、コードストリーム解析部３０１、並びに、デコード部３０２−１乃至デコード部３０２−Ｘを有する。
【０１９１】
コードストリーム解析部３０１は、入力されたコードストリーム３１１に付加されたプログレッション情報等に基づいて、コードストリーム３１１のプログレッション構造を解析し、コードストリーム３１１を統合される前の系統数（ビュー数）Ｘのコードストリームに分離する。
【０１９２】
コードストリーム解析部３０１は、分離したコードストリーム３１２−１乃至コードストリーム３１２−Ｘを、それぞれの系統に対応するデコード部３０２−１乃至デコード部３０２−Ｘに供給する。デコード部３０２−１乃至デコード部３０２−Ｘは、それぞれ、入力されたコードストリームを、図１のエンコード部１０１に対応する方法で復号し、復号画像データ３１３−１乃至復号画像データ３１３−Ｘを生成し、出力する。
【０１９３】
つまり、画像復号装置３００は、コードストリーム３１１を入力し、Ｘ個の出力系統のそれぞれから復号画像を出力する（すなわち、Ｘ系統の復号画像を出力する）。このとき、画像復号装置３００は、コードストリーム３１１のプログレッション構造に従った順序でコードストリームを復号したり、コードストリーム３１１のプログレッション構造に従って一部のデータのみを復号したりすることができる。このように、画像復号装置３００は、コードストリーム３１１から、より容易に、多様な用途に応じた復号画像を得る（復号画像の拡張性を実現する）ことができる。
【０１９４】
なお、以下において、デコード部３０２−１乃至デコード部３０２−Ｘを互いに区別して説明する必要が無い場合、単に、デコード部３０２と称する。また、以下において、コードストリーム３１２−１乃至コードストリーム３１２−Ｘを互いに区別して説明する必要が無い場合、単に、コードストリーム３１２と称する。さらに、以下において、復号画像データ３１３−１乃至復号画像データ３１３−Ｘを互いに区別して説明する必要が無い場合、単に、復号画像データ３１３と称する。
【０１９５】
なお、以上においては、デコード部３０２を各系統に設けるように説明したが、１つのデコード部３０２が複数の系統のコードストリーム３１２をそれぞれ復号することができるようにしてもよい。例えば、画像復号装置３００が１個のデコード部３０２を有するようにし、そのデコード部３０２が、Ｘ系統のコードストリーム３１２をそれぞれ復号し、Ｘ系統の復号画像データ３１３を生成するようにしてもよい。
【０１９６】
［コードストリーム解析部の構成］
図２７は、図２６のコードストリーム解析部３０１の主な構成例を示すブロック図である。図２７に示されるように、コードストリーム解析部３０１は、プログレッション解析部３２１、分割部３２２、およびプログレッション情報生成部３２３を有する。
【０１９７】
プログレッション解析部３２１は、入力されるコードストリーム３１１に付加されたプログレッション情報を解析し、コードストリーム３１１のプログレッション構造を解析する。例えば、プログレッション解析部３２１は、コードストリーム３１１のメインヘッダやタイルパートヘッダ等に記述されるSGcod内のProgression orderやSIZマーカのRsizを参照し、コードストリーム３１１のプログレッション構造やビュー数を把握する。プログレッション解析部３２１は、解析が済んだコードストリーム３３１と、解析結果３３２を分割部３２２に供給する。
【０１９８】
分割部３２２は、プログレッション解析部３２１から供給されたプログレッションの解析結果に基づいて、プログレッション解析部３２１から供給されたコードストリーム３３１が有する、多系統についてのプログレッション構造（系統に関する拡張性を実現するデータ構造）に基づいて、１系統であったコードストリーム３３１を、統合前のＸ個の系統のコードストリームに分離する。
【０１９９】
コードストリーム３３１は、所定の単位毎の符号化データが、プログレッション構造の順序に従って整列されている。分割部３２２は、そのコードストリーム３３１が有するプログレッション構造のうち、多系統についてのプログレッション構造に従って、コードストリーム３３１の供給先とするデコード部３０２を切り替える。
【０２００】
つまり、コードストリーム３３１においては、統合前の各系統のコードストリームの部分データが、多系統についてのプログレッション構造に従って並べられている。分割部３２２は、この多系統についてのプログレッション構造に従って、各部分データを、その部分データが属する系統に出力する。この処理により、コードストリーム３３１はＸ個の系統に分離される。
【０２０１】
分割部３２２は、分離したコードストリーム３３３−１乃至コードストリーム３３３−Ｘを、プログレッション情報生成部３２３に供給する。プログレッション情報生成部３２３は、コードストリーム３３３−１乃至コードストリーム３３３−Ｘのそれぞれについて、プログレッション構造を示すプログレッション情報を生成し、それをコードストリーム３３３−１乃至コードストリーム３３３−Ｘの所定の位置に付加する。
【０２０２】
プログレッション情報生成部３２３は、プログレッション情報を付加したコードストリーム３１２−１乃至コードストリーム３１２−Ｘを、それぞれの系統のデコード部３０２に供給する。
【０２０３】
なお、以下において、コードストリーム３３３−１乃至コードストリーム３３３−Ｘを互いに区別して説明する必要が無い場合、単にコードストリーム３３３と称する。
【０２０４】
［デコード部の構成］
図２８は、デコード部３０２の主な構成例を示すブロック図である。このデコード部３０２は、図１のエンコード部１０１に対応し、エンコード部１０１により符号化されて生成されたコードストリームを復号する。図２８に示されるように、デコード部３０２は、パケット解読部３５１、算術復号部３５２、ビットモデリング部３５３、ビットプレーン合成部３５４、コードブロック合成部３５５、ウェーブレット逆変換部３５６、およびDCレベル逆シフト部３５７を有する。
【０２０５】
パケット解読部３５１は、矢印３６１に示されるように、画像符号化装置１００から供給されるパケットを解読し、矢印３６２に示されるように、コードストリームを算術復号部３５２に供給する。
【０２０６】
算術復号部３５２およびビットモデリング部３５３は、EBCOT部３７１として動作し、入力されるコードストリームに対して、例えばJPEG2000規格等で定められたEBCOTと呼ばれるエントロピ復号を行う。
【０２０７】
算術復号部３５２は、算術符号化部１３７に対応する方法でコードストリームを復号し、矢印３６３に示されるように、コンテキストをビットモデリング部３５３に供給する。ビットモデリング部３５３は、ビットモデリング部１３６に対応する方法で、ビットプレーンに展開されたウェーブレット係数を生成する。ビットモデリング部３５３は、生成したビットプレーン毎の係数データを、矢印３６４に示されるように、ビットプレーン合成部３５４に供給する。
【０２０８】
ビットプレーン合成部３５４は、ビットプレーンに展開されたウェーブレット係数を合成する。ビットプレーン合成部３５４は、ビットプレーンを合成したウェーブレット係数を、矢印３６５に示されるように、コードブロック合成部３５５に供給する。
【０２０９】
コードブロック合成部３５５は、供給されたビットプレーンを用いてコードブロック単位の係数データを生成し、さらにそれらを合成し、サブバンド毎の係数データを生成する。コードブロック合成部３５５は、矢印３６６に示されるように、それをウェーブレット逆変換部３５６に供給する。
【０２１０】
ウェーブレット逆変換部３５６は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。ウェーブレット逆変換部３５６は、生成したベースバンドの画像データを、矢印３６７に示されるように、DCレベル逆シフト部３５７に供給する。
【０２１１】
DCレベル逆シフト部３５７は、その画像データのDC成分に対して、DCレベルシフト部１３１においてシフトした分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部３５７は、DCレベル逆シフト処理後の画像データ（復号画像データ）を、矢印３６８に示されるように、デコード部３０２の外部に出力する。
【０２１２】
各コードストリーム３１２は、所定の単位毎の符号化データが、プログレッション構造に従った順序で整列されている。従って、デコード部３０２は、入力されたコードストリーム３１２を、順次復号することにより、コードストリーム３１２に含まれるプログレッション構造に従った順序で、コードストリーム３１２を復号することができる。
【０２１３】
［多系統出力復号処理の流れ］
次に、画像復号装置３００により実行される各種処理の流れの例について説明する。画像復号装置３００は、多系統の画像が統合されたコードストリームを復号するために、多系統出力復号処理を行う。最初に、この多系統出力復号処理の流れの例を図２９のフローチャートを参照して説明する。
【０２１４】
画像復号装置３００は、画像符号化装置１００において生成されたコードストリームを取得すると、多系統出力復号処理を開始する。多系統出力復号処理が開始されると、コードストリーム解析部３０１は、ステップＳ３０１において、取得したコードストリームを解析し、そのコードストリームを、統合前の系統数のコードストリームに分離する。
【０２１５】
ステップＳ３０２において、各系統のデコード部３０２は、コードストリームのプログレッション構造に従って、そのコードストリームを復号し、復号画像データ３１３を出力する。ステップＳ３０３において、画像復号装置３００は、全ての系統のコードストリームの復号が終了したか否かを判定し、復号が終了していない系統が存在すると判定された場合、処理をステップＳ３０２に戻す。ステップＳ３０３において、全ての系統のコードストリームの復号が終了したと判定された場合、画像復号装置３００は、多系統出力復号処理を終了する。
【０２１６】
［解析処理の流れ］
次に、図２９のステップＳ３０１において実行される解析処理の詳細な流れの例を、図３０のフローチャートを参照して説明する。
【０２１７】
解析処理が開始されると、プログレッション解析部３２１は、ステップＳ３２１において、コードストリームに付加されているプログレッション情報を解析し、コードストリームのプログレッション構造やビュー数等を把握する。
【０２１８】
ステップＳ３２２において、分割部３２２は、ステップＳ３２１の処理により解析されたコードストリームのプログレッション構造にしたがって、コードストリームを系統ごとに分離する。
【０２１９】
ステップＳ３２３において、プログレッション情報生成部３２３は、分離された各系統のコードストリームについて、それぞれプログレッション情報を生成し、付加する。
【０２２０】
ステップＳ３２４において、プログレッション情報生成部３２３は、プログレッション情報を付加した各系統のコードストリームを出力する。
【０２２１】
ステップＳ３２４の処理が終了すると、コードストリーム解析部３０１は、解析処理を終了し、処理を図２９のステップＳ３０１に戻し、ステップＳ３０２以降の処理を実行させる。
【０２２２】
［復号処理の流れ］
次に、図２９のステップＳ３０２において実行される復号処理の詳細な流れの例を、図３１のフローチャートを参照して説明する。
【０２２３】
復号処理が開始されると、パケット解読部３５１は、ステップＳ３４１において、取得されたパケットから符号化データを抽出する。
【０２２４】
ステップＳ３４２において、EBCOT部３７１は、ステップＳ３４１において抽出された符号化データを復号する。ステップＳ３４３において、ビットプレーン合成部３５４は、その復号により得られた係数データのビットプレーンを合成し、コードブロック毎の係数データを生成する。ステップＳ３４４において、コードブロック合成部３５５は、そのコードブロック毎の係数データのコードブロックを合成し、サブバンド毎の係数データを生成する。
【０２２５】
ステップＳ３４５において、ウェーブレット逆変換部３５６は、そのサブバンド毎の係数データをウェーブレット逆変換し、ベースバンドの画像データを生成する。なお、画像符号化装置１００において係数データが量子化されている場合、係数データに対して、その量子化に対応する逆量子化を行ってからウェーブレット逆変換を行う。
【０２２６】
ステップＳ３４６において、DCレベル逆シフト部３５７は、そのウェーブレット逆変換により得られたベースバンドの画像データのDCレベルを逆シフトする。
【０２２７】
ステップＳ３４７において、デコード部３０２は、DCレベル逆シフト処理が施された画像データを復号画像データとして出力系３６８から出力する。例えば、この復号画像データが例えば図示せぬディスプレイに出力され、その画像が表示される。
【０２２８】
ステップＳ３４７の処理が終了すると、デコード部３０２は、復号処理を終了する。デコード部３０２は、このような復号処理を復号処理単位毎に繰り返す。コードストリームは、各符号化データがプログレッション構造に応じた順序で整列されているので、デコード部３０２は、プログレッション情報に従って、供給される符号化データを順次復号することにより、容易に、コードストリームをプログレッション構造に従った順序で復号することができる。
【０２２９】
以上のように、画像復号装置３００は、コードストリームに付加されているプログレッション情報を解析することにより、復号画像の拡張性を実現するためのデータ構造であるプログレッション構造に応じた復号を行い、多系統の復号画像データを生成することができる。つまり、画像復号装置３００は、画像符号化装置１００が生成したコードストリームを適切に復号し、復号画像の拡張性を実現することができる。したがって、画像復号装置３００は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
【０２３０】
＜３．第３の実施の形態＞
［画像符号化装置の構成］
近年、画像を立体視することができる３Ｄ映像が普及しつつあるが、両眼視差を利用したステレオ画方式が主流である。しかしながら、このステレオ画を用いた両眼視差による立体視では、任意の方向からの立体視を実現することはできない。そこで、被写体画像の各部の奥行き方向の位置を示す奥行きデータ（Depth_Map）を用いる方法が考えられた。
【０２３１】
この奥行きデータを複数系統の画像データから抽出する方法が考えられている。つまり、ある被写体を複数の方向から撮影し、その各撮影画像内の被写体の位置の差から、その被写体の奥行き方向の位置を算出する。このような方法により、撮影画像内の全ての被写体について奥行き方向の位置を求め、奥行きデータを生成する。
【０２３２】
このような奥行きデータを用いることにより、画像内の被写体の奥行き方向の位置が特定可能であるので、その情報を基に、任意の視点からの両眼視差を算出することができる。つまり、任意の視点からのステレオ画を生成することができる。
【０２３３】
このような奥行きデータを１系統として、上述したように、画像データとともに符号化し、プログレッション構造を有するように、１系統のコードストリームとするようにしてもよい。
【０２３４】
つまり、第１の実施の形態においては、多系統の画像を符号化し、１系統のコードストリームを生成する場合について説明したが、本発明は、このような奥行きデータも１系統の入力として符号化し、プログレッション構造を有する１系統のコードストリームにする場合にも適用することができる。
【０２３５】
図３２は、その場合の画像符号化装置の構成例を示すブロック図である。図３２において、図１の画像符号化装置１００と同様の構成については、同じ番号を付してある。図３２において、画像符号化装置４００は、基本的に画像符号化装置１００と同様の構成を有するが、さらに、奥行きデータ生成部４１１およびエンコード部４１２を有する。
【０２３６】
なお、この場合、各入力系統の入力画像データ１１１は、略同一の被写体が互いに異なる方向から撮影された、若しくは、描かれた画像、すなわち、マルチビューを構成する画像である。
【０２３７】
奥行きデータ生成部４１１は、各入力画像データ１１１を用いて、画像内の被写体の奥行き方向の位置を示す奥行きデータ４２１を生成する。この被写体の奥行き方向の位置の算出方法は任意である。
【０２３８】
図３３に奥行きデータの例を示す。図３３Ａに示される画像データ１１１の奥行きデータの例を図３３Ｂに示す。図３３Ｂに示されるように、奥行きデータ４２１は、画像データ１１１の全領域の奥行き方向の位置を、例えば画素毎やブロック毎のように所定の範囲毎に、所定のビット数で示す情報である。つまり、奥行きデータ４２１は、一般的にグレースケールのビットマップデータとして表すことができる。このビットマップデータの階調数が、奥行きデータ４２１のビット深度（つまり、奥行き方向の位置の表現力）となる。
【０２３９】
したがって、この奥行きデータも、他の入力画像データ１１１と基本的に同様に符号化することができる。図３２に戻り、奥行きデータ生成部４１１は、生成した奥行きデータ４２１をエンコード部４１２に供給する。エンコード部４１２は、エンコード部１０１と同様の構成を有し、同様の処理を行う。つまり、エンコード部４１２は、奥行きデータ４２１を、エンコード部１０１と同様に符号化し、JPEG2000のようなプログレッション構造を有するコードストリーム４２２を生成する。エンコード部４１２は、生成したコードストリーム４２２をコードストリーム生成部１０２に供給する。
【０２４０】
つまり、コードストリーム生成部１０２からみると、入力が１系統増えた（Ｘ＋１）ことになるが、もともと入力系統数Ｘは任意である。つまり、コードストリーム生成部１０２は、第１の実施の形態の場合と同様に各系統のコードストリームを統合し、多系統についてのプログレッション構造を加えたプログレッション構造を有する１系統のコードストリーム１１４を生成する。
【０２４１】
なお、奥行きデータは、画像符号化装置４００の外部において生成されるようにしてもよい。その場合の画像符号化装置４００は、図１の画像符号化装置１００と同様の構成となる。つまり、画像データと奥行きデータを入力とする場合、画像符号化装置１００によりそれらを符号化することができる。
【０２４２】
［多系統入力符号化処理の流れ］
次に、画像符号化装置４００により実行される多系統入力符号化処理の流れの例について、図３４のフローチャートを参照して説明する。この処理は、図２３のフローチャートに対応する。
【０２４３】
つまり、図３４のステップＳ４０１およびステップＳ４０２の各処理は、図２３のステップＳ１０１およびステップＳ１０２と同様に実行される。
【０２４４】
ステップＳ４０３において、奥行きデータ生成部４１１は、各系統の入力画像データ１１１から、奥行きデータを生成する。ステップＳ４０４において、エンコード部４１２は、その奥行きデータを、ステップＳ４０１の場合と同様に符号化する。
【０２４５】
ステップＳ４０５において、コードストリーム生成部１０２は、ステップＳ４０１において生成されたコードストリームと、ステップＳ４０４において生成されたコードストリームとを、図２３のステップＳ１０３の場合と同様に統合し、プログレッション構造を有する１系統のコードストリームを生成する。
【０２４６】
ステップＳ４０５の処理が終了すると、画像符号化装置４００は、多系統入力符号化処理を終了する。
【０２４７】
このように、画像符号化装置４００は、マルチビューを構成する多系統の入力画像データから奥行きデータを生成し、その奥行きデータとともに各系統の入力画像データを符号化し、プログレッション構造を有する１系統のコードストリームを生成することができる。
【０２４８】
つまり、画像符号化装置４００は、このように奥行きデータを含める場合であっても、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
【０２４９】
なお、復号側においては、奥行きデータは、１系統の画像データ（ビットマップデータ）として処理することができる。つまり、第２の実施の形態において説明した画像復号装置３００は、画像符号化装置４００により生成されたコードストリーム１１４も、画像符号化装置１００により生成されたコードストリーム１１４と同様に復号することができる。
【０２５０】
＜４．第４の実施の形態＞
［ネットワークシステムの構成］
以上において説明した画像符号化装置１００若しくは画像符号化装置４００により生成されたコードストリームは、任意の方法で画像復号装置３００に転送するようにしてもよい。例えば、画像符号化装置１００若しくは画像符号化装置４００が、生成したコードストリームを、Blu-Ray Disc、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体に記録し、画像復号装置３００がその記録媒体からコードストリームを読み出して復号するようにしてもよい。
【０２５１】
また、画像符号化装置１００若しくは画像符号化装置４００が、生成したコードストリームを、有線若しくは無線のネットワーク等、任意の通信媒体を介して画像復号装置３００に伝送するようにしてもよい。
【０２５２】
さらに、以上においては、画像符号化装置１００および画像符号化装置４００のコードストリーム生成部１０２が、プログレッション構造に関して、外部からの指定１１３を取得するように説明したが、この指定の提供元は任意である。例えば、上述したようにユーザや他の装置から供給されるようにしてもよい。また、画像符号化装置が生成したコードストリームを復号する画像復号装置から供給されるようにしてもよい。
【０２５３】
図３５は、本発明を適用したネットワークシステムの構成例を示すブロック図である。
【０２５４】
図３５に示されるネットワークシステム５００は、多系統の画像データを送信側から受信側にネットワーク５０１を介して伝送するシステムである。その際、ネットワークシステム５００は、伝送時に使用する帯域幅を低減させるために、送信側において、多系統の画像データを符号化してまとめ、１系統のコードストリームとして伝送し、受信側において、復号して元の多系統の復号画像データを得る。
【０２５５】
ネットワーク５０１は、任意の通信媒体により構成される。例えば、ネットワーク５０１は、インターネットやLAN等に代表される任意のネットワークにより構成される。ネットワーク５０１は、１つのネットワークであってもよいし、複数のネットワークの集合体であってもよい。したがって、ネットワーク５０１は、ケーブル等の通信媒体の他に、中継器等の任意の通信機器が含まれるようにしてもよい。また、ネットワーク５０１は、有線のネットワークであってもよいし、無線のネットワークであってもよいし、有線と無線が混在するようにしてもよい。
【０２５６】
ネットワークシステム５００は、送信側の符号化装置として、上述した画像符号化装置１００を有する。また、ネットワークシステム５００は、受信側の復号装置として、上述した画像復号装置３００を有する。
【０２５７】
つまり、送信側の画像符号化装置１００は、伝送する多系統の画像データを符号化し、プログレッション構造を有する１系統のコードストリーム１１４を生成し、それをネットワーク５０１を介して画像復号装置３００に送信する。
【０２５８】
受信側の画像復号装置３００は、それをコードストリーム３１１として受信し、復号して、元の多系統の画像データに分離して出力する。
【０２５９】
また、画像復号装置３００は、画像データの使用方法等に基づいて、プログレッション構造に関する指定５１１を、ネットワーク５０１を介して、画像符号化装置１００に提供する。画像符号化装置１００のコードストリーム生成部１０２は、それを外部からの指定１１３として受け付ける。
【０２６０】
このようにすることにより、画像符号化装置１００は、受信（復号）側の用途に応じたプログレッション構造のコードストリームを容易に生成することができる。つまり、ネットワークシステム５００は、多系統の画像が符号化されたコードストリームの利便性を向上させることができる。
【０２６１】
なお、プログレッション構造に関する指定は、画像復号装置３００以外の装置、例えば、ネットワーク５０１に含まれる制御センタや中継ハブ等が、ネットワーク５０１の帯域幅や混雑状況等に基づいて行う（画像符号化装置１００に提供する）ようにしてもよい。
【０２６２】
なお、コードストリームがプログレッション構造を有するようにすればよいので、画像データの符号化方式はJPEG2000方式に限定されない。
【０２６３】
＜５．第５の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図３６に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２６４】
図３６において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２６５】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０２６６】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部６１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部６１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２６７】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０２６８】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２６９】
この記録媒体は、例えば、図３６に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどにより構成される。
【０２７０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２７１】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２７２】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２７３】
また、以上において、１つの装置（または処理部）として説明した構成が、複数の装置（または処理部）として構成されるようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成が、まとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部が他の装置（または他の処理部）の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２７４】
例えば、図１のコードストリーム生成部１０２を独立した装置とし、多系統のコードストリームを入力とし、それらを統合して、プログレッション構造を有する１系統のコードストリームとして出力する装置とするようにしてもよい。
【０２７５】
本発明は、例えば、３Ｄデジタルシネマ用編集装置、３Ｄアーカイブシステム、放送局の３Ｄ画像伝送装置、３Ｄ画像データベース、３Ｄ医用画像の記録システム、３Ｄゲーム機、テレビ受像機システム、３Ｄ対応のBlu Ray Discレコーダ若しくはプレイヤ、自由視点テレビ、臨場感TV会議システム、パーソナルコンピュータ等にインストールされるオーサリング・ツールまたはそのソフトウェア・モジュール等に適用することができる。
【符号の説明】
【０２７６】
１００  画像符号化装置，  １０１  エンコード部，  １０２  コードストリーム生成部，  １８１  プログレッション解析部，  １８２  指定受付部，  １８３  プログレッション決定部，  １８４  統合部，  １８５  プログレッション情報生成部，  ３００  画像復号装置，  ３０１  コードストリーム解析部，  ３０２  デコード部，  ３２１  プログレッション解析部，  ３２２  分割部，  ３２３  プログレッション情報生成部，  ４００  画像符号化装置，  ４１１  奥行きデータ生成部，  ４１２  エンコード部，  ５００  ネットワークシステム，  ５０１  ネットワーク
【図１】
0005392199.tif 000002
【図２】
0005392199.tif 000003
【図３】
0005392199.tif 000004
【図４】
0005392199.tif 000005
【図５】
0005392199.tif 000006
【図６】
0005392199.tif 000007
【図７】
0005392199.tif 000008
【図８】
0005392199.tif 000009
【図９】
0005392199.tif 000010
【図１０】
0005392199.tif 000011
【図１１】
0005392199.tif 000012
【図１２】
0005392199.tif 000013
【図１３】
0005392199.tif 000014
【図１４】
0005392199.tif 000015
【図１５】
0005392199.tif 000016
【図１６】
0005392199.tif 000017
【図１７】
0005392199.tif 000018
【図１８】
0005392199.tif 000019
【図１９】
0005392199.tif 000020
【図２０】
0005392199.tif 000021
【図２１】
0005392199.tif 000022
【図２２】
0005392199.tif 000023
【図２３】
0005392199.tif 000024
【図２４】
0005392199.tif 000025
【図２５】
0005392199.tif 000026
【図２６】
0005392199.tif 000027
【図２７】
0005392199.tif 000028
【図２８】
0005392199.tif 000029
【図２９】
0005392199.tif 000030
【図３０】
0005392199.tif 000031
【図３１】
0005392199.tif 000032
【図３２】
0005392199.tif 000033
【図３３】
0005392199.tif 000034
【図３４】
0005392199.tif 000035
【図３５】
0005392199.tif 000036
【図３６】
0005392199.tif 000037