以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
以下、MCTSに含まれる各タイルのように、独立に符号化及び復号できるタイルを独立タイルと呼び、MCTSのような独立タイルの集まりを独立タイルセットと呼ぶことにする。
<実施形態1>
以下、図1を用いて本実施形態に係る画像符号化装置を構成する各処理部の概要を説明する。図1は、本実施形態の画像符号化装置100を示すブロック図である。
図1における101は、画像(入力画像)を入力する端子(入力手段)である。入力画像は1フレームずつ入力されるものとする。102は1フレーム内の垂直方向及び水平方向のタイル分割の数、及び各タイルの位置を決定するタイル設定部である。さらに、タイル設定部102は分割されたタイルのうちいずれかを独立タイルとして符号化するか否かを決定する。以下、タイル設定部102によって設定される、水平方向タイルの分割数、垂直方向タイルの分割数、及び分割の位置を表す情報を、タイル分割情報と称す。また、当該タイル分割情報に関しては、非特許文献1において、ピクチャのヘッダデータであるPicture Parameter Set(PPS)の記載部分に説明されているのでここでは説明を省略する。
ここで、本実施形態におけるタイル分割の例を、図2を用いて説明する。本実施形態の図2において、1フレームを4K2K(水平方向4096画素×垂直方向2160画素)とする。以下、本実施形態では、水平方向4096画素×垂直方向2160画素を、4096×2160画素と表記する。画素数が変化しても同様である。さらに、図2における201〜206はそれぞれフレームを表す。各フレーム201〜206は、水平方向に4分割、垂直方向に3分割することにより、タイル番号0〜11の12個のタイルで構成される。即ち、1タイルのサイズは1024×720画素となる。但し、分割数はこれに限定されない。さらに、図2に示すフレーム201〜206の中の太枠で示されたタイル5及びタイル6をそれぞれ独立タイルとし、タイル5とタイル6とからなる領域を独立タイルセットとする。また、図2に示すフレーム201〜206中の細枠は、各タイルの境界を表す。また、図2に示す拡大画像における太枠はこれらの独立タイルセットに対応する位置を表す。さらに、図2から明らかなように、各レイヤにおいて、水平方向及び垂直方向のタイルの分割数、及び各タイルの相対的な位置はそれぞれ一致している。
図2におけるフレーム201は、時刻tに入力された基本レイヤのフレームを表す。フレーム202は、時刻t+δに入力された基本レイヤのフレームを表す。時刻t+δにおいてフレーム201は符号化及び局所復号(逆量子化及び逆変換)済みであり、フレーム202を符号化する際には局所復号されたフレーム201を参照フレームとして用いることができる。
フレーム203は、フレーム201を符号化した後に、局所復号を行うことで再構成画像の生成を行い、さらに当該再構成画像を拡張レイヤと同等のサイズに拡大した拡大画像である。フレーム204は、フレーム202を符号化した後に、局所復号を行うことで再構成画像の生成を行い、さらに当該再構成画像を拡張レイヤと同等のサイズに拡大した拡大画像である。
フレーム205は、時刻tに入力された拡張レイヤのフレームを表す。フレーム206は、時刻t+δに入力された拡張レイヤのフレームを表す。
再び、図1の各処理部の説明に戻る。以下、時刻t+δのフレームを符号化対象のフレームとして説明する。
タイル設定部102は、シーケンス単位で独立タイルを含むか否かの情報を表す独立タイルフラグを生成する。タイル設定部102は、符号化対象のフレームに独立タイルが含まれる場合に独立タイルフラグの値を1とし、符号化対象のフレームに独立タイルが含まれない場合に独立タイルフラグの値を0とする。さらに、タイル設定部102は、符号化対象のフレームに独立タイルが含まれる(独立タイルフラグの値が1)場合、当該独立タイルの位置を表す独立タイル位置情報を生成する。一般的に、独立タイル位置情報は、画像内のタイル番号で表されるが、本発明はこれに限定されない。そして、タイル設定部102は、生成した独立タイルフラグ及び独立タイル位置情報をタイル分割情報として後段へ出力する。本実施形態において、タイル設定部102から出力されたタイル分割情報は、拡張レイヤ分割部104、基本レイヤ分割部105、独立タイル判定部106、及びヘッダ符号化部114に入力される。
103は縮小部である。縮小部103は、端子101から入力した入力画像を予め決められたフィルタ等を用いて縮小し、解像度を低下させた縮小画像(基本レイヤ画像)を生成する。
104は拡張レイヤ分割部である。拡張レイヤ分割部104は、端子101から入力した入力画像を拡張レイヤの画像(拡張レイヤ画像)とし、タイル設定部102によって出力されたタイル分割情報に基づいて、当該拡張レイヤ画像を1つ以上のタイルに分割する。ここで、拡張レイヤ分割部104は、図2に示すように、入力されたフレーム206をタイル0〜11の12個のタイルに分割する。さらに、拡張レイヤ分割部104は、分割した各タイルを、タイル番号の順番(0、1、2、・・・、11の順)で後段にそれぞれ出力する。
114はヘッダ符号化部である。シーケンス単位及びピクチャ単位のヘッダ符号データを生成する。特に、ヘッダ符号化部114は、タイル設定部102で生成された独立タイルフラグと独立タイル位置情報とを入力し、MCTS SEI(SEIメッセージ)を生成し、VUIパラメータ(vui_parameters)を符号化する。
105は基本レイヤ分割部である。基本レイヤ分割部105は、縮小部103によって生成された基本レイヤ画像を、タイル設定部102によって出力されたタイル分割情報に基づいて、1つ以上のタイルに分割する。即ち、基本レイヤ分割部105は、当該タイル分割情報に基づく各タイルの位置が縮小部103によって生成された基本レイヤ画像において相対的に等しい位置になるように、当該基本レイヤ画像をタイルに分割する。本実施形態において、基本レイヤ分割部105は、図2に示すように入力されたフレーム202をタイル0〜11の12個のタイルに分割する。さらに、基本レイヤ分割部105は、分割した各タイルを、タイル番号の順番で後段にそれぞれ出力する。また、基本レイヤ分割部105は、出力するタイル(符号化対象のタイル)の番号を独立タイル判定部106に通達する。
106は、符号化対象のタイル(符号化対象タイル)が独立タイルであるか否かを判定する、独立タイル判定部である。独立タイル判定部106は、タイル設定部102で生成された独立タイルフラグ及び独立タイル位置情報と、基本レイヤ分割部105から入力された符号化対象タイルの番号とに基づいて、符号化対象タイルが独立タイルであるか否かを判定する。ここで、独立タイルフラグが1であり、独立タイル位置情報によって独立タイルの位置がタイル5であり、符号化対象タイルがタイル5である場合に、独立タイル判定部106は、符号化対象タイルが独立タイルであると判定することができる。さらに、独立タイル判定部106は、判定結果を独立タイル符号化フラグとして後段に出力する。ここで、独立タイル判定部106は、符号化対象タイルが独立タイルである場合に当該独立タイル符号化フラグの値を1とし、符号化対象タイルが独立タイルではない場合に当該独立タイル符号化フラグの値を0とする。
107は、基本レイヤ分割部105から入力された、基本レイヤ画像の符号化対象タイルの画像を符号化する基本レイヤ符号化部である。基本レイヤ符号化部107は、独立タイル判定部106から入力された独立タイル符号化フラグに基づいて、符号化対象タイルを符号化し、基本レイヤ符号データを生成する。
ここで、独立タイル符号化フラグが、符号化対象タイルが独立タイルであることを示す場合の基本レイヤ符号化部107における符号化処理について説明する。この場合、基本レイヤ符号化部107は局所復号済みの基本レイヤの再構成画像のうち当該符号化対象タイルを含む独立タイルセットの位置と相対的に等しい位置の画素のみを参照して予測及び符号化を行う。さらに、図2を例にとって説明すれば、フレーム202のタイル5を符号化対象とする場合、基本レイヤ符号化部107はフレーム201の独立タイルセット内のタイル5及びタイル6のみを参照して予測及び符号化を行う。一方、独立タイル符号化フラグが、符号化対象タイルが独立タイルでないことを示す場合、基本レイヤ符号化部107は局所復号済みの基本レイヤの再構成画像の全ての画素を参照して予測及び予測誤差等の符号化を行う。図2を用いて説明すれば、フレーム202のタイル2を符号化対象とする場合、基本レイヤ符号化部107はフレーム201の全てのタイル(タイル0〜11)を参照して予測及び符号化を行う。
さらに、基本レイヤ符号化部107は、予測のために用いられた予測モード、予測によって生成された予測誤差、当該予測誤差を符号化して生成した基本レイヤ符号データ等を後段に出力する。
108は基本レイヤ符号化部107で生成された係数(予測モード及び予測誤差)等を入力し、当該予測誤差を局所復号して基本レイヤの再構成画像を生成する基本レイヤ再構成部である。さらに、基本レイヤ再構成部108は、生成した再構成画像を保持する。これは、基本レイヤ符号化部107及び拡張レイヤ符号化部112において、当該再構成画像を用いて予測を行うためである。
109は拡大部であり、基本レイヤの再構成画像を拡張レイヤのサイズに拡大する。図2において、拡大部109はフレーム201及びフレーム202の各々の再構成画像に対して拡大を行い、フレーム203及びフレーム204を生成する。
112は、拡張レイヤ分割部104から入力されたタイルの画像を符号化する拡張レイヤ符号化部である。拡張レイヤ符号化部112は、独立タイル判定部106から入力された独立タイル符号化フラグに基づいて参照画像を選択し、符号化対象タイルを符号化し、拡張レイヤ符号データを生成する。
ここで、独立タイル符号化フラグが1(符号化対象タイルが独立タイルである)の場合、拡張レイヤ符号化部112は基本レイヤの局所復号済みの再構成画像を拡大した拡大画像と、局所復号済みの拡張レイヤの再構成画像とを参照する。そして、拡張レイヤ符号化部112は、当該拡大画像及び当該再構成画像の各画像の独立タイルセットに含まれる画像を参照して予測及び符号化を行う。さらに、図2を例にとって説明すれば、フレーム206のタイル5を符号化対象とする場合、拡張レイヤ符号化部112は、フレーム204のタイル5及びタイル6とフレーム206のタイル5のうち局所復号済みの再構成画像とを参照して予測及び符号化を行う。一方、独立タイル符号化フラグが0(符号化対象タイルが独立タイルでない)の場合、拡張レイヤ符号化部112は、局所復号済みの基本レイヤの拡大画像及び局所復号済みの拡張レイヤの再構成画像を参照して独立タイルに限定せずに予測を行う。そして、拡張レイヤ符号化部112は、予測して生成された予測誤差等を符号化する。
さらに、拡張レイヤ符号化部112は、基本レイヤ符号化部107と同様に、予測のために用いられた予測モード、予測によって生成された予測誤差、当該予測誤差を符号化して生成した拡張レイヤ符号データ等を後段に出力する。
113は拡張レイヤ符号化部112によって符号化の途中で生成された係数(予測モード及び予測誤差)等を用いて局所復号を行い、拡張レイヤの再構成画像を生成する拡張レイヤ再構成部である。さらに、拡張レイヤ再構成部113は、拡張レイヤ符号化部112における符号化処理で用いるために、生成した再構成画像を保持する。
110は基本レイヤ符号化部107で生成された基本レイヤ符号データ、拡張レイヤ符号化部112で生成された拡張レイヤ符号データ、ヘッダ符号化部114で生成されたヘッダ符号データを統合し、ビットストリームを生成する統合部である。また、111は、統合部110によって生成されたビットストリームを外部に出力する端子である。
全体制御部115は、画像符号化装置内の各処理部の制御、及び各処理部間のパラメータ伝達を行う。尚、図1において、全体制御部115と画像符号化装置内の各処理部との間の結線を省略している。そして、全体制御部115は画像符号化装置内の各処理部の制御、及び各処理部間のパラメータの読み書きを、パラメータ信号線またはレジスタバスのいずれかを通じて行うことが可能である。また、本実施形態において、図1の全体制御部115は、画像符号化装置内に設置されているが、本発明はこれに限定されない。即ち、全体制御部115は、当該画像符号化装置外に設置され、当該画像符号化装置内の各処理部の制御、及び各処理部間のパラメータの読み書きを、パラメータ信号線またはレジスタバスのいずれかを通じて行ってもよい。
上述した画像符号化装置100における、画像の符号化動作を図3に示したフローチャートを用いて以下に説明する。
ステップS301にて、画像符号化装置100は、ユーザによって指示された階層符号化の階層数を取得する。本実施形態では、拡張レイヤを1階層とし、全体で2階層(基本レイヤと1つの拡張レイヤ)の階層符号化を行うものとする。
ステップS302にて、タイル設定部102は符号化対象のフレーム内のタイル分割の数及び分割の位置を決定し、さらに当該符号化対象のフレーム内のいずれかのタイルを独立タイルとするか否かを決定する。また、本実施形態ではタイル5及びタイル6を独立タイルとし、タイル5とタイル6とを合わせて1つの独立タイルセットを構成する。従って本実施形態では、独立タイル判定部106は独立タイルフラグを1とする。ちなみに、符号化対象のフレーム内に独立タイルが含まれていない場合には、独立タイル判定部106は独立タイルフラグを0とする。さらに、独立タイル判定部106は、決定した独立タイルフラグを拡張レイヤ分割部104、基本レイヤ分割部105、独立タイル判定部106、及びヘッダ符号化部114に入力する。
ステップS303にて、ヘッダ符号化部114は独立タイル判定部106から入力される独立タイルフラグを判定する。ヘッダ符号化部114が、独立タイルフラグが1であると判定した場合はステップS304の処理へ進み、独立タイルフラグが0であると判定した場合はステップS305の処理へ進む。
ステップS304にて、ヘッダ符号化部114は、各タイルの位置の一致情報を表すvui_parametersのtile_boundaries_aligned_flag符号を1に設定する。尚、当該vui_parametersのtile_boundaries_aligned_flag符号は、各レイヤ間でタイルの相対的な位置が一致しているか否かを表す、一致情報を符号化したものである。
ステップS305にて、ヘッダ符号化部114は、シーケンスヘッダの1つであるvideo_parameter_setを符号化する。当該video_parameter_set符号には、階層符号化の階層数を表すvps_max_layers_minus1符号が含まれる。尚、本実施形態において、vps_max_layers_minus1は1となる。続いて、ヘッダ符号化部114は、Sequence parameter set(非特許文献1に7.3.2.2に記載)を符号化する。Sequence parameter set符号にはvui_parametersも含まれる。vui_parametersにはステップS304で設定されたtile_boundaries_aligned_flag符号が含まれる。統合部110は、これらの符号データ(video_parameter_set符号及びSequence parameter set符号)を入力し、ビットストリームを生成する。さらに、統合部110は、生成した当該ビットストリームを、端子111を介して画像符号化装置100の外へ出力する。
ステップS306にて、ヘッダ符号化部114はピクチャヘッダであるPicture parameter set(非特許文献1に7.4.3.3に記載)を符号化する。統合部110は、ピクチャヘッダの符号データ(Picture parameter set符号)を入力し、ビットストリームを生成する。さらに、統合部110は、生成した当該ビットストリームを、端子111を介して画像符号化装置100の外へ出力する。
ステップS307にて、ヘッダ符号化部114は独立タイル判定部106から入力される独立タイルフラグを判定する。ヘッダ符号化部114が、独立タイルフラグが1であると判定した場合はステップS308の処理へ進み、独立タイルフラグが0であると判定した場合はステップS309の処理へ進む。
ステップS308にて、符号化対象のシーケンスは独立タイルを含んでいるので、ヘッダ符号化部114はMCTS SEIを符号化する。MCTS SEI符号については非特許文献2の第2章に記載されている通りである。本実施形態において、1フレームに含まれる独立タイルセットは1つであるため、num_sets_in_message_minus1符号は0となる。また、mcts_id符号は0とする。さらに、num_tile_rects_in_set_minus1符号は1となる。尚、num_tile_rects_in_set_minus1符号はMCTSに属する独立タイルの数を表す。本実施形態では独立タイルセットの中にタイル5とタイル6の2つのタイルが独立タイルとして含まれるので、num_tile_rects_in_set_minus1符号の値は1となる。また、top_left_tile_index符号及びbottom_right_tile_index符号は独立タイルの位置を表すもので、本実施形態では前者の値は5であり、後者の値は6となる。ヘッダ符号化部114は、上記のように各ヘッダ情報を符号化して、MCTS SEIの符号を生成する。さらに、統合部110は、ヘッダ符号化部114で生成されたMCTS SEI符号を入力してビットストリームを生成し、当該ビットストリームを、端子111を介して画像符号化装置100の外へ出力する。
ステップS309にて、縮小部103は入力画像を縮小し、基本レイヤ画像を生成する。尚、本実施形態では拡張レイヤが1階層であるため、縮小部103によって基本レイヤを生成するが、本発明はこれに限定されない。拡張レイヤが2階層以上(全体で3階層以上)の階層符号化の場合、縮小部103を複数設けてもよいし、1つの縮小部103で必要な階層数の画像を生成してもよい。
ステップS310にて、基本レイヤ分割部105は画像の左上からタイル番号順で、符号化する基本レイヤのタイルの画像を抽出する。基本レイヤ分割部105は抽出した基本レイヤのタイルの画像を基本レイヤ符号化部107へ出力する。
ステップS311にて、独立タイル判定部106は、基本レイヤ分割部105から符号化対象タイルのタイル番号を入力する。さらに、独立タイル判定部106は、タイル設定部102から当該符号化対象タイルの独立タイル位置情報を入力する。尚、本実施形態において独立タイル位置情報は5と6である。独立タイル判定部106は入力された符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とが一致する場合、独立タイル判定部106は、符号化対象タイルが独立タイルであると判定し、独立タイル符号化フラグを1とし、ステップS312へ進む。一方、符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とが一致しない場合、独立タイル判定部106は、符号化対象タイルが独立タイルではないと判定し、独立タイル符号化フラグを0とし、ステップS313へ進む。
ステップS312にて、符号化対象タイルは基本レイヤの符号化対象のフレームにおける独立タイルである。このため、基本レイヤ符号化部107は、局所復号済みの基本レイヤの他のフレームにおける、当該符号化対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる再構成画像を参照してフレーム間予測及び符号化を行う。また、基本レイヤ符号化部107は、符号化対象のフレームの符号化対象タイル内の局所復号済みの再構成画像を参照してイントラ予測及び符号化を行う。図2において、フレーム202のタイル5を符号化する場合について説明する。基本レイヤ符号化部107は、基本レイヤ再構成部108に格納されているフレーム201のタイル5とタイル6、及びフレーム202のタイル5の局所復号済みの再構成画像を参照して予測及び符号化を行う。さらに、基本レイヤ符号化部107は、符号化して得られた基本レイヤの符号化対象タイルの符号データを基本レイヤ符号データとして統合部110に出力する。統合部110は基本レイヤ符号化部107から出力される基本レイヤ符号データと、ヘッダ符号化部114及び拡張レイヤ符号化部112から出力されるその他の符号データとを統合し、ビットストリームを生成する。そして、統合部110は、生成したビットストリームを、端子111を介して出力する。また、基本レイヤ再構成部108は、基本レイヤ符号化部107で符号化の途中で生成された係数(予測モード及び予測残差)等を用いて、基本レイヤの再構成画像を順次生成し、保持する。
ステップS313にて、符号化対象タイルは基本レイヤの符号化対象のフレームにおける独立タイルではない。このため、基本レイヤ符号化部107は、局所復号済みの基本レイヤの他のフレームの画像全体を参照して、符号化対象タイルをフレーム間予測及び符号化する。図2において、フレーム202のタイル5を符号化する場合に、基本レイヤ符号化部107は、基本レイヤ再構成部108に格納されているフレーム201の全てのタイル及びフレーム202のタイル5の局所復号済みの再構成画像を参照して予測及び符号化する。さらに、基本レイヤ符号化部107は、生成した基本レイヤ符号データを統合部110に出力する。統合部110は、ステップS312における説明と同様に、基本レイヤ符号データとその他の符号データとを統合してビットストリームを生成し、当該ビットストリームを、端子111を介して出力する。さらに、基本レイヤ再構成部108は、基本レイヤ符号化部107で符号化の途中で生成された係数等を用いて、基本レイヤの再構成画像を順次生成し、保持する。
ステップS314にて、全体制御部115は、基本レイヤの全てのタイルを符号化し終わったか否かを判定する。基本レイヤの全てのタイルの符号化処理が終わっていないと判定された場合(ステップS314のNO)、ステップS310に戻り、基本レイヤ分割部105は次のタイル番号のタイルを抽出及び出力し、処理を続行する。一方、基本レイヤの全てのタイルの画像の符号化処理が終了していると判定された場合(ステップS314のYES)、ステップS315に進む。
ステップS315にて、拡張レイヤ分割部104は画像の左上からタイル番号順で、符号化する拡張レイヤのタイルの画像を抽出する。拡張レイヤ分割部104は抽出した拡張レイヤのタイルの画像を拡張レイヤ符号化部112へ出力する。
ステップS316にて、独立タイル判定部106はステップS311における処理と同様に、入力された符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とが一致する場合、独立タイル判定部106は、符号化対象タイルが独立タイルであると判定し、独立タイル符号化フラグを1とし、ステップS317へ進む。一方、符号化対象タイルのタイル番号と独立タイル位置情報のタイル番号とが一致しない場合、独立タイル判定部106は、符号化対象タイルが独立タイルではないと判定し、独立タイル符号化フラグを0とし、ステップS319へ進む。
ステップS317にて、符号化対象タイルは拡張レイヤの符号化対象のフレームにおける独立タイルである。このため、拡大部109は、基本レイヤ再構成部108に格納されている、局所復号済みの基本レイヤの再構成画像から、符号化対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる再構成画像を入力する。拡大部109は、入力された再構成画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ符号化部112に出力する。
ステップS318にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象タイルの画像を、基本レイヤの局所復号済みの再構成画像を参照対象として予測及び符号化する。即ち、拡張レイヤ符号化部112は、ステップS317で生成された拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部113に格納されている局所復号済みの拡張レイヤのうち、符号化対象タイルの位置と相対的に等しい位置の独立タイルセットの再構成画像を参照対象として、符号化対象タイルのフレーム間予測を行う。さらに、拡張レイヤ符号化部112は、符号化対象タイル内の局所復号済みの再構成画像を参照対象としてイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報(フレーム間予測によって得られた動きベクトル等)及び予測誤差を符号化する。さらに、拡張レイヤ再構成部113は、拡張レイヤ符号化部112による符号化の途中で生成された係数(予測モード及び予測残差)等を用いて、拡張レイヤの再構成画像を順次生成し、保持する。
ステップS319にて、符号化対象タイルは拡張レイヤの符号化対象のフレームにおける独立タイルではない。このため、拡大部109は、基本レイヤ再構成部108に格納されている基本レイヤの再構成画像の全体を用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ符号化部112に出力する。
ステップS320にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象タイルの画像を、基本レイヤの局所復号済みの再構成画像を参照して符号化する。即ち、拡張レイヤ符号化部112は、ステップS319で生成された拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部113に格納されている局所復号済みの拡張レイヤの再構成画像を参照して、符号化対象タイルのフレーム間予測を行う。さらに、拡張レイヤ符号化部112は、符号化対象タイル内の局所復号済みの再構成画像を参照して、符号化対象タイルのイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報及び予測誤差を符号化する。さらに、拡張レイヤ再構成部113は、拡張レイヤ符号化部112で符号化の途中で生成された係数等を用いて、拡張レイヤ再構成画像を順次生成し、保持する。
ステップS321にて、全体制御部115は、拡張レイヤの全てのタイルを符号化し終わったか否かを判定する。拡張レイヤの全てのタイルの符号化処理が終わっていないと判定した場合(ステップS321のNO)、ステップS315に戻り、拡張レイヤ分割部104は次のタイル番号のタイルを抽出及び出力し、処理を続行する。一方、拡張レイヤの全てのタイルの画像の符号化処理が終了していると判定した場合(ステップS321のYES)、ステップS322に進む。
ステップS322にて、全体制御部115は、端子101から入力されるシーケンスに含まれる全てのフレームの画像の符号化処理が終了したか否かを判定する。符号化処理を行っていないフレームが存在する場合は(ステップS322のNO)、ステップS309に進み、次のフレームの処理を行う。符号化処理を行っていないフレームが存在しない場合は(ステップS322のYES)、符号化処理を終了する。
以上の構成と動作により、独立タイル及び独立タイルセットを使用する場合において、拡張レイヤと基本レイヤの各タイルの相対的な位置を一致させることができる。即ち、基本レイヤで設定された独立タイルセットに含まれるタイルが、各拡張レイヤにおいて当該独立タイルセットと相対的に等しい位置の独立タイルセットに含まれるように設定する。これにより、階層符号化のいずれの階層においても、独立タイルの予測及び復号のために参照する画素を制限することができ、予測処理を高速化することができる。特に、注目領域等を独立タイルに設定することで、独立タイルは基本レイヤから拡張レイヤまで他のタイルを参照せずに、独立に符号化できるため、必要な部分を従来よりも高速に処理することが可能になる。
尚、本実施形態において、図2のように、符号化対象のフレームより時間的に前のフレームのみを参照フレームとして予測及び符号化する例を示したが、これに限定されない。即ち、複数フレームを参照して予測及び符号化する場合においても同様に参照されることは上記の説明から明白である。
また、本実施形態において、縮小部103及び拡大部109を用いた画像符号化装置100について説明したが、本発明はこれに限定されない。即ち、縮小部103及び拡大部109を省略してもよい。または、縮小率及び拡大率を1として基本レイヤ符号化部107で設定される量子化パラメータよりも拡張レイヤ符号化部112で設定される量子化パラメータを小さくするようにしてもよい。これによって、SNR階層符号化を行うことが可能になる。
また、本実施形態において、拡張レイヤの独立タイルセットのタイルを予測する場合に参照する拡大画像を、当該独立タイルセットと相対的に等しい位置の基本レイヤのタイルの画像だけで生成を行ったが、本発明はこれに限定されない。即ち、ステップS319のように基本レイヤの独立タイルの周辺の画素も参照対象としても構わない。
また、本実施形態において、基本レイヤと1階層の拡張レイヤの階層符号化(全体で2階層の階層符号化)を行うものとして説明したが、本発明はこれに限定されず、全体で3階層以上の階層符号化であっても構わない。この場合、縮小部103、拡張レイヤ分割部104、拡張レイヤ符号化部112、拡張レイヤ再構成部113、及び拡大部109を1つのセットとして、当該セットを拡張レイヤの階層数分だけ設けることにより、より多くの階層に対応することができる。また、図4に示すように、拡張レイヤ符号化部112、拡張レイヤ再構成部413、拡大部409、及び縮小部403を1つずつ有し、各拡張レイヤの符号化において、兼用で使用しても構わない。
図4は、複数の階層の拡張レイヤを符号化可能な画像符号化装置であって、拡張レイヤ符号化部112、拡張レイヤ再構成部413、拡大部409、及び縮小部403を1つずつ有する画像符号化装置のブロック図である。図4において、図1の画像符号化装置100の各処理部と同じ機能を果たすものについては同じ番号を付し、説明を省略する。401は階層符号化の階層数を設定する階層数設定部である。403は縮小部である。図1の縮小部103が端子101から入力した入力画像を縮小して1つの縮小画像を生成するのに対し、縮小部403は、階層数設定部401から入力した階層数に基づいて、入力画像を縮小して複数の階層の縮小画像を生成する。402はフレームメモリであり、縮小部403で生成された各階層の縮小画像を格納する。409は拡大部である。図1の拡大部109が基本レイヤの再構成画像を拡張レイヤのサイズに拡大して1つの拡大画像を生成するのに対し、拡大部109は階層数設定部401から入力した階層数に基づいて、当該再構成画像を拡大して複数の異なる解像度の階層の拡大画像を生成する。413は拡張レイヤ再構成部である。拡張レイヤ再構成部413は、階層数設定部401から階層数を入力し、拡張レイヤ符号化部112で生成された係数等を用いて拡張レイヤの再構成画像を生成し、当該再構成画像を拡大部409及び拡張レイヤ符号化部112へ出力する。410は統合部であり、階層数設定部401から階層数を入力し、当該階層数分の符号データをビットストリームに統合する。
図4に示す画像符号化装置400を用いて符号化を行う場合の、各処理部の動作を図5に示したフローチャートを用いて以下に説明する。図5は、図3のステップS309からステップS320の間を変更した部分のみを示している。図5において、図3のステップと同様の機能を果たすステップに関しては図3と同じ番号を付与し、説明を省略する。また、図3のステップS301にて、階層数設定部401は階層数を3に設定するとして、以下に説明する。尚、本発明において階層数は特に限定されない。また、ステップS305にて、vps_max_layers_minus1符号を2としてヘッダ符号データの生成が行われるとする。
ステップS501にて、縮小部403は1フレームの階層数分の縮小画像を生成する。本実施形態ではステップS301で階層数が3に設定されるため、縮小部403は1つの基本レイヤ画像と2つの拡張レイヤ画像とを生成する。即ち、縮小部403は、入力画像を縦横1/2にした拡張第1階層(第1拡張レイヤ)画像と、第1拡張レイヤ画像をさらに縦横1/2にした基本レイヤ画像とを生成する。ここで、縮小部403は、入力された解像度の画像を拡張第2階層(第2拡張レイヤ)画像とする。さらに、縮小部403は、基本レイヤ画像、第1拡張レイヤ画像、及び第2拡張レイヤ画像をそれぞれフレームメモリ402に出力する。
尚、ステップS312からステップS314にて、前述の通り、全体制御部115は、フレームメモリ402から出力された基本レイヤ画像を符号化する。基本レイヤ再構成部108は符号化された画像を局所復号して再構成画像を生成する、これを保持しておく。
ステップS502にて、階層数設定部401は、ステップS312乃至ステップS313で符号化された基本レイヤ、又は後述するステップS518乃至ステップS520で符号化された階層の拡張レイヤを上位レイヤとする。さらに、階層数設定部401は、そのレイヤに続く符号化対象の拡張レイヤを下位レイヤとする。ここでは、まず、ステップS312乃至ステップS313で符号化された基本レイヤを上位レイヤとし、第1拡張レイヤを下位レイヤとして設定する。
ステップS515にて、拡張レイヤ分割部104は符号化対象の階層の画像の左上からタイル番号順で、符号化する拡張レイヤのタイルの画像を抽出する。拡張レイヤ分割部104は抽出した拡張レイヤのタイルの画像を拡張レイヤ符号化部112へ出力する。ここでは、第1拡張レイヤ画像における符号化対象タイルの画像を抽出し、拡張レイヤ符号化部112に入力する。
ステップS517にて、符号化対象タイルは符号化対象のフレームにおける独立タイルである。このため、拡大部409は、基本レイヤ再構成部108又は拡張レイヤ再構成部413に格納されている上位レイヤの再構成画像から、符号化対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる再構成画像を入力する。拡大部409は、入力された再構成画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ符号化部112に入力する。ここでは、拡大部409は、基本レイヤ再構成部108に格納されている再構成画像から拡大画像を生成し、当該拡大画像を拡張レイヤ符号化部112に入力する。
ステップS518にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象タイルの画像を、局所復号済みの再構成画像を参照して予測及び符号化する。即ち、拡張レイヤ符号化部112は、ステップS517で生成された拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部413に格納されている局所復号済みの拡張レイヤの他のフレームにおいて符号化対象タイルの位置と相対的に等しい位置の独立タイルセットの再構成画像を参照して、フレーム間予測を行う。さらに、拡張レイヤ符号化部112は、符号化対象タイル内の局所復号済みの再構成画像を参照してイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報(フレーム間予測によって得られた動きベクトル等)及び予測誤差を符号化する。さらに、拡張レイヤ再構成部413は、拡張レイヤ符号化部112による符号化の途中で生成された係数(予測モード及び予測残差)等を用いて、拡張レイヤの再構成画像を順次生成し、保持する。
ステップS519にて、符号化対象タイルは符号化対象のフレームにおける独立タイルではない。このため、拡大部409は、基本レイヤ再構成部108に格納されている基本レイヤの再構成画像の全体又は拡張レイヤ再構成部413に格納されている上位の拡張レイヤの再構成画像の全体を用いてフィルタリング等で拡大して拡大画像を生成する。さらに、拡大部409は、生成した拡大画像を拡張レイヤ符号化部112に出力する。ここでは、拡大部409は、基本レイヤ再構成部108に格納されている再構成画像から拡大画像を生成する。
ステップS520にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象タイルの画像を、局所復号済みの再構成画像を参照して符号化する。即ち、拡張レイヤ符号化部112は、ステップS519で生成された拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部413に格納されている局所復号済みの拡張レイヤの再構成画像を参照して、符号化対象タイルのフレーム間予測を行う。さらに、拡張レイヤ符号化部112は、符号化対象タイル内の局所復号済みの再構成画像を参照して、符号化対象タイルのイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報及び予測誤差を符号化する。さらに、拡張レイヤ再構成部413は、拡張レイヤ符号化部112で符号化の途中で生成された係数等を用いて、拡張レイヤの再構成画像を順次生成し、保持する。
ステップS503にて、全体制御部115は、階層数設定部401で設定された全ての階層について符号化が終了したか否かを判定する。全ての階層のタイルの符号化処理が終わっていないと判定した場合(ステップS521のNO)、ステップS502に戻り、階層数設定部401は次の階層を下位レイヤに設定し、処理を続行する。一方、拡張レイヤの全てのタイルの画像の符号化処理が終了していると判定した場合(ステップS521のYES)、ステップS523に進む。ここでは、第2拡張レイヤの符号化が終了していないと判定し、ステップS502に戻る。
ステップS522にて、全体制御部115は、端子101から入力されるシーケンスに含まれる全てのフレームの画像の符号化処理が終了したか否かを判定する。符号化処理を行っていないフレームが存在する場合は(ステップS522のNO)、ステップS501に進み、次のフレームの処理を行う。符号化処理を行っていないフレームが存在しない場合は(ステップS522のYES)、符号化処理を終了する。
以下、第2拡張レイヤ画像の符号化処理について説明する。即ち、ステップS502にて、階層数設定部401は、ステップS518乃至ステップS520で符号化された第1拡張レイヤ階層を上位レイヤとし、第2拡張レイヤを下位レイヤとして設定する。ステップS515にて、拡張レイヤ分割部104は第2拡張レイヤ画像における符号化対象タイルの画像を抽出し、拡張レイヤ符号化部112に入力する。
ステップS517にて、符号化対象タイルは符号化対象のフレームにおける独立タイルである。このため、拡大部409は、拡張レイヤ再構成部413に格納されている上位レイヤ(第1拡張レイヤ)の再構成画像から、符号化対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる再構成画像を入力する。拡大部409は、入力された独立タイルセットの再構成画像のみを用いて、フィルタリング等で拡大して上位レイヤ(第1拡張レイヤ)の拡大画像を生成し、当該拡大画像を拡張レイヤ符号化部112に入力する。ステップS518にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象の下位レイヤ(第2拡張レイヤ)のタイルの画像を、局所復号済みの再構成画像を参照して予測及び符号化する。即ち、拡張レイヤ符号化部112は、ステップS517で生成された上位レイヤ(第1拡張レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部413に格納されている局所復号済みの下位レイヤ(第2拡張レイヤ)において符号化対象タイルの位置と相対的に等しい位置の独立タイルセットの画像を参照してフレーム間予測を行う。さらに、拡張レイヤ符号化部112は、符号化対象タイル内の下位レイヤ(第2拡張レイヤ)の局所復号済みの再構成画像を参照してイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報(フレーム間予測によって得られた動きベクトル等)及び予測誤差を符号化する。さらに、拡張レイヤ再構成部413は、拡張レイヤ符号化部112で符号化の途中で生成された係数等を用いて、下位レイヤ(第2拡張レイヤ)の再構成画像を順次生成し、保持する。
一方、ステップS519にて、符号化対象タイルは符号化対象のフレームにおける独立タイルではない。このため、拡大部409は、拡張レイヤ再構成部413に格納されている上位の拡張レイヤ(第1拡張レイヤ)の再構成画像を用いてフィルタリング等で拡大して上位レイヤ(第1拡張レイヤ)の拡大画像を生成する。さらに、拡大部409は、生成した拡大画像を拡張レイヤ符号化部112に出力する。
ステップS520にて、拡張レイヤ符号化部112は、拡張レイヤ分割部104から入力された符号化対象タイルの画像を局所復号済みの再構成画像を参照して符号化する。即ち、拡張レイヤ符号化部112は、ステップS519で生成された上位レイヤ(第1拡張レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ符号化部112は、拡張レイヤ再構成部413に格納されている局所復号済みの下位レイヤ(第2拡張レイヤ階層)の再構成画像を参照してフレーム間予測を行う。さらに拡張レイヤ符号化部112は、下位レイヤ(第2拡張レイヤ)の符号化対象タイル内の局所復号済みの再構成画像を参照してイントラ予測を行う。拡張レイヤ符号化部112は、これらの予測によって得られた予測に関する情報及び予測誤差を符号化する。さらに、拡張レイヤ再構成部413は、拡張レイヤ符号化部112で符号化の途中で生成された係数等を用いて、下位レイヤ(第2拡張レイヤ)の再構成生画像を順次生成し、保持する。
ステップS503にて、全体制御部115は、階層数設定部401で設定された全ての階層について符号化が終了したか否かを判定し、終了していると判定した場合はステップS522へ進み、終了していないと判定した場合はステップS502に戻る。ここでは、第2拡張レイヤまでの符号化が終了しているため、ステップS522に進む。ステップS522にて、全てのフレームの符号化が終了すれば、符号化処理を終了する。
以上の動作によって、拡張レイヤが複数階層存在する場合においても、独立タイルセットを必要な符号データだけを復号し、最小の画像の参照のみで復号画像を再生できる符号データを生成できる。
また、MCTS SEI符号がビットストリームに存在する場合、タイル位置一致情報であるvui_parametersのtile_boundaries_aligned_flag符号は1に必ずセットされる。即ち、vui_parametersにおいて、MCTS SEI符号がビットストリームに存在する場合、符号データとしてのtile_boundaries_aligned_flag符号を省略することもできる。もし、MCTS SEI符号がビットストリームに無ければ、tile_boundaries_aligned_flag符号の値を符号化し、その符号データがビットストリームに含まれる。MCTS SEI符号がビットストリームにあれば、tile_boundaries_aligned_flag符号の値は符号化されず、復号側で必ず1の値が設定される。このようにすることで、冗長となるtile_boundaries_aligned_flag符号を削減することが可能になる。
また、階層符号化において、重要な領域を切り出し、その切り出された領域に独立タイルセットを適応させて符号化することで、重要な領域を高速に読み出せる符号データを生成することができる。
<実施形態2>
以下、図6を用いて本実施形態に係る画像復号装置を構成する各処理部の概要を説明する。図6は、本実施形態の画像復号部605を有する画像表示装置600を示すブロック図である。本実施形態では、実施形態1で生成されたビットストリームを復号する場合を例にとり説明を行う。
601は通信等によってビットストリームを入力するインターフェースである。602はインターフェース601から入力されたビットストリームや予め記録されていたビットストリームを格納する記憶部である。603はユーザによって指示されたビットストリームを表示するための、表示方法を指定する表示制御部である。表示制御部603は復号する階層(レイヤ)と復号する領域(表示領域)とを表示制御信号として画像復号部605に出力する。本実施形態において、復号する階層は階層数で表され、表示領域は表示するタイルの位置で表されるものとするが、本発明はこれに限定されない。604はセレクタであり、入力するビットストリームの入力先を指定する。605は本実施形態に係る画像復号部である。606は表示部であり、画像復号部605で生成された復号画像を表示する。
次に、画像表示装置600における画像の表示動作を以下に説明する。尚、表示制御部603が、ユーザによってビットストリームの基本レイヤ画像を復号及び表示すること指示された場合について説明する。これは監視カメラ等によって撮像された画像を符号化したビットストリームを入力して、当該撮像された画像の全体をモニタリングする場合に相当する。インターフェース601は、監視カメラ等からフレーム単位で入力されるビットストリーム(入力ビットストリーム)を受信し、記憶部602及びセレクタ604に出力する。記憶部602は、入力ビットストリームを記録し、セレクタ604は表示制御部603による指示によって、入力ビットストリームを画像復号部605に出力する。画像復号部605は、表示制御部603から表示制御信号として表示するレイヤ、及び表示するタイル等の情報を入力する。即ち、表示制御部603はビットストリームの基本レイヤの復号及び表示をユーザによって指示されるため、画像復号部605には、復号するレイヤが基本レイヤであることを示す情報と、表示領域が全てのタイルであることを示す情報とが入力される。
以下、図7を用いて本実施形態に係る画像復号部605を構成する各処理部の概要を説明する。図7は、本実施形態の画像復号部605を示すブロック図である。
図7における701は、セレクタ604から出力されたビットストリームを入力する端子である。説明を容易にするため、ビットストリームは、ヘッダデータや1フレームずつの符号データが入力されるものとする。本実施形態において、このフレーム単位の符号データには、1フレームを構成する全ての階層符号データが含まれているものとするが、本発明はこれに限定されず、スライス等の単位で入力されても構わない。また、フレームのデータ構成もこれに限定されない。
702は図6の表示制御部603から出力された復号に関する表示制御信号を入力する端子である。表示制御信号としては、復号するレイヤ及び復号するタイルの位置情報が入力される。さらに、端子702に入力された表示制御信号は、分離部704、基本レイヤ復号部707、拡張レイヤ復号部710に入力される。703はバッファであり、端子701から入力された1フレーム分の階層符号データを格納する。
704は分離部である。分離部704は、バッファ703から入力された階層符号データからヘッダ符号データ、基本レイヤ符号データ、各拡張レイヤ符号データを分離する。さらに、分離部704は、レイヤ毎に分離した階層符号データ(基本レイヤ符号データ及び各拡張レイヤ符号データ)を、タイル毎の符号データにそれぞれ分割して出力する。そして、分離されたそれぞれの符号データは、ヘッダ復号部705、基本レイヤ復号部707、拡張レイヤ復号部710に出力される。また、分離部704は、タイル毎に分離した符号データを各処理部へ出力する場合に、出力するタイル(復号対象のタイル)の番号をタイルの位置情報として独立タイル判定部706に出力する。
705はヘッダ復号部である。ヘッダ復号部705は、シーケンス単位及びピクチャ単位のヘッダ符号データを復号し、復号に必要なパラメータを再生する。特に、ヘッダ符号データにMCTS SEI符号が存在する場合、ヘッダ復号部705はこれも復号する。特に、ヘッダ復号部705は、独立タイルフラグと独立タイル位置情報とを復号し、再生する。706は、復号対象のタイル(復号対象タイル)が独立タイルであるか否かを判定する独立タイル判定部である。独立タイル判定部706は、ヘッダ復号部705から入力した独立タイルフラグ及び独立タイル位置情報と、分離部704から入力した復号対象タイルの位置情報とに基づいて、復号対象タイルが独立タイルであるか否かを判定する。さらに、独立タイル判定部706は、判定結果を基本レイヤ復号部707及び拡張レイヤ復号部710に入力する。
707は基本レイヤ復号部である。基本レイヤ復号部707は、分離部704で分離された基本レイヤのタイルの符号データを復号し、基本レイヤの復号画像を生成する。708はフレームメモリであり、基本レイヤ復号部707で生成された基本レイヤの各タイルの復号画像を保持する。709は拡大部であり、基本レイヤの復号画像を拡張レイヤの解像度に拡大して拡大画像を生成する。720はセレクタであり、基本レイヤの復号画像又は拡張レイヤの復号画のうち所望の復号画像を選択し、選択した復号画像を端子712に出力する。712は端子であり、セレクタ720から入力された復号画像を画像復号部605の外部に出力する。
710は拡張レイヤ復号部である。拡張レイヤ復号部710は、分離部704で分離された拡張レイヤのタイルの符号データを復号し、拡張レイヤの復号画像を生成する。711はフレームメモリであり、拡張レイヤ復号部710で生成された拡張レイヤの各タイルの復号画像を保持する。
全体制御部714は、画像復号部605の各処理部の制御、及び各処理部間のパラメータ伝達を行う。尚、図1において、全体制御部714と画像復号部605内の各処理部との間の結線を省略している。そして、全体制御部714は画像復号部605内の各処理部の制御、及び各処理部間のパラメータの読み書きを、パラメータ信号線またはレジスタバスのいずれかを通じて行うことが可能である。また、本実施形態において、図1の全体制御部714は、画像復号部605内に設置されているが、本発明はこれに限定されない。即ち、全体制御部714は、当該画像復号部605外に設置され、当該画像復号部605内の各処理部の制御、及び各処理部間のパラメータの読み書きを、パラメータ信号線またはレジスタバスのいずれかを通じて行ってもよい。
上述した画像復号部605における、画像の復号動作を図8に示したフローチャートを用いて以下に説明する。
まず、復号対象のレイヤ(復号対象レイヤ)が基本レイヤのみの場合について述べる。ここでは、ユーザが表示制御部603に、インターフェース601から入力されるビットストリームにおいて基本レイヤの、復号及び表示を指示するとする。
ステップS801にて、端子701から入力された、ビットストリームの先頭に存在するヘッダ符号データは、バッファ703及び分離部704による処理を経てヘッダ復号部705に入力される。ヘッダ復号部705は、シーケンスヘッダの1つであるvideo_parameter_setを復号する。このvideo_parameter_setには階層符号化の階層数を表すvps_max_layers_minus1符号が含まれる。本実施形態において、vps_max_layers_minus1符号は1である。続いてヘッダ復号部705は、Sequence parameter set符号を復号する。Sequence parameter set符号にはvui_parametersも含まれる。vui_parametersにはタイル位置一致情報であるtile_boundaries_aligned_flag符号が含まれている。本実施形態において、tile_boundaries_aligned_flag符号は1である。
ステップS802にて、ヘッダ復号部705は、Picture parameter set符号を復号する。これらのヘッダ符号データの復号については非特許文献1に詳細に記載されているのでここでは説明を省略する。
ステップS803にて、独立タイル判定部706は、復号対象のフレーム内に独立タイルがあるか否かを判定する。そして、判定結果を、独立タイルフラグとする。尚、実際には〜にMCTS SEIの有無を判定する。ヘッダ符号データにMCTS SEIが存在するのであれば、独立タイルフラグを1とし、ステップS804に進む。ヘッダ符号データにMCTS SEIが存在しないのであれば、独立タイル可否フラグを0とし、ステップS805に進む。本実施形態では、ヘッダ符号データにMCTS SEIが存在すると判断して、独立タイルフラグを1とし、ステップS804に進む。尚、復号対象のフレーム内に独立タイルが存在する場合、タイル位置一致情報であるvui_parametersのtile_boundaries_aligned_flag符号は1となっている必要がある。もし、vui_parametersのtile_boundaries_aligned_flag符号が1でなければ、ヘッダ復号部705は、エラーを返して復号を停止するようにしても構わない。さらに、ヘッダ復号部705は、独立タイルフラグを独立タイル判定部706、基本レイヤ復号部707、及び拡張レイヤ復号部710に入力さする。
ステップS804にて、ヘッダ復号部705はMCTS SEI符号を復号し、独立タイルフラグと独立タイル位置情報を取得する。
ステップS805にて、分離部704は端子702から入力された表示部分にかかるタイルの位置情報を入力する。本実施形態において、基本レイヤ全体の表示が指示されている。このため、表示部分にかかるタイルは基本レイヤの全てのタイルとなる。即ち、分離部704は、基本レイヤの復号対象タイルの符号データを、タイル0からタイル番号順でバッファ703から抽出し、基本レイヤ復号部707に出力する。
ステップS806にて、独立タイル判定部706は、分離部704から復号対象タイルの番号を入力する。また、独立タイル判定部706は、ヘッダ復号部705から独立タイル位置情報を入力する。本実施形態では、独立タイルセットは1つであり、独立タイル位置情報は5と6である。独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。そして、復号対象タイルのタイル番号が独立タイル位置情報のタイル番号と一致する場合(ステップS806のYES)、独立タイル判定部706は復号対象タイルが独立タイルであると判定し、ステップS807に進む。復号対象タイルのタイル番号が独立タイル位置情報のタイル番号と一致しない場合(ステップS806のNO)、復号対象タイルが独立タイルセットのタイルではないと判定し、ステップS808に進む。
ステップS807にて、復号対象タイルは基本レイヤの復号対象のフレームにおける独立タイルである。このため、基本レイヤ復号部707は、復号済みの基本レイヤの他のフレームにおける、当該復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の独立タイルと、復号対象タイル内の復号済み画素のみを参照して復号を行う。即ち、基本レイヤ復号部707は、フレームメモリ708に格納されている、復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の独立タイルの復号画像を参照してフレーム間予測を行う。さらに、基本レイヤ復号部707は、フレームメモリ708に格納されている復号対象タイル内の復号画像を参照してイントラ予測を行う。そして、基本レイヤ復号部707は、復号した基本レイヤの復号対象タイルの復号画像をフレームメモリ708に格納する。尚、当該復号画像は以後のタイルの復号時に参照される。また、基本レイヤ復号部707は、当該基本レイヤのタイルの復号画像をセレクタ720及び端子712を介して図6の表示部606へ出力する。
ステップS808にて、復号対象タイルは基本レイヤの復号対象のフレームにおける独立タイルではない。このため、基本レイヤ復号部707は、復号済みのフレームの基本レイヤの復号画像と復号対象のフレームの基本レイヤの復号済み画素を参照して復号を行う。即ち基本レイヤ復号部707は、フレームメモリ708に格納されている復号画像を参照してフレーム間予測を行う。さらに、基本レイヤ復号部707は、復号対象タイル内の復号済みの復号画像を参照してイントラ予測を行う。そして、基本レイヤ復号部707は、復号した基本レイヤの復号対象タイルの復号画像をフレームメモリ708に格納する。尚、当該復号画像は以降のタイルの復号時に参照される。また、基本レイヤ復号部707は、当該基本レイヤのタイルの復号画像をセレクタ720及び端子712を介して図6の表示部606へ出力する。
ステップS809にて、全体制御部714は、基本レイヤの1フレーム分の全てのタイルの符号データを復号したか否かを判定する。基本レイヤの1フレーム分の全てのタイルの符号データの復号処理が終わっていないと判定された場合(ステップS809のNO)、ステップS805に戻り、分離部704は次のタイルを抽出して出力し、処理を続行する。一方、基本レイヤの1フレーム分の全てのタイルの符号データの復号処理が終了していると判定された場合(ステップS809のYES)、ステップS810に進む。
ステップS810にて、分離部704は、図6の表示制御部603から端子702を介して入力された表示制御信号に基づいて、復号及び表示するレイヤに拡張レイヤが含まれているか否かを判定する。拡張レイヤの復号及び表示が指示されている場合(ステップS810におけるYES)はステップS811に進み、そうでない場合(ステップS810におけるNO)はステップS818に進む。ここでは、基本レイヤのみの復号であることからステップS818に進み、拡張レイヤ復号部710は復号処理を行わない。
ステップS818にて、全体制御部714は、端子701から入力されるシーケンスに含まれる全てのフレームの基本レイヤの符号データ又は拡張レイヤの符号データの復号処理が終了したか否かを判定する。ここでは、全体制御部714が全てのフレームの基本レイヤの符号データの復号を終了したか否かを判定する。復号処理を行っていない基本レイヤ又は拡張レイヤの符号データが存在する場合は(ステップS818のNO)、ステップS805に進み、次のフレームの処理を行う。復号処理を行っていないフレームの符号データが存在しない場合は(ステップS818のYES)、復号処理を終了する。
尚、画像復号部605によって復号された画像は、図6の表示部606に出力される。表示部606は、表示制御部603から基本レイヤの画像の表示が指示されることにより、画像復号部605から出力された基本レイヤの復号画像全体を表示する。
また、ユーザの指示によって表示制御部603から記録されている映像の基本レイヤの表示が指示された場合、セレクタ604の入力を記憶部602とする。そして、表示制御部603は記憶部602から必要なビットストリームを選択し、セレクタ604に出力するよう制御する。
続いて、復号対象レイヤが拡張レイヤの場合について述べる。ユーザから表示制御部603に、インターフェース601から入力されるビットストリームの拡張レイヤの、復号と一部の表示を指示された場合の復号処理について説明する。これは、監視カメラ等によって撮影された画像の一部を詳細にモニタリングする場合に相当する。画像復号部605は、基本レイヤと拡張レイヤの、復号及び表示する領域に含まれるタイルの番号を表示制御部603から指示される。本実施形態では説明を簡単にするために、表示する領域に含まれるタイルを図2のタイル5とタイル6の領域とする。以下、画像復号部605における、拡張レイヤの画像の復号動作を、基本レイヤのみの復号及び表示を指示された場合と同様に、図8に示したフローチャートに基づいて説明する。また、基本レイヤのみの復号と同じ動作を行う部分は説明を簡略化する。
ステップS801にて、基本レイヤのみの表示を指示された場合と同様に、ヘッダ復号部705は、video_parameter_set及びSequence parameter setを復号する。そして、ヘッダ復号部705はこれらの中のvps_max_layers_minus1符号及び、tile_boundaries_aligned_flag符号を復号する。
ステップS802にて、基本レイヤのみの表示時と同様に、ヘッダ復号部705は、Picture parameter set符号を復号する。
ステップS803にて、基本レイヤのみの表示時と同様に、ヘッダ復号部705はヘッダ符号データに独立タイルがあるか否かを判定する。
ステップS804にて、基本レイヤのみの表示時と同様に、ヘッダ復号部705はMCTS SEI符号を復号し、独立タイルフラグと独立タイル位置情報を取得する。
ステップS805にて、分離部704は端子702から入力された表示部分にかかるタイルの位置情報を入力する。本説明では、表示を指示されているタイルの位置はタイル5とタイル6である。ここではまず、分離部704は、端子702から入力された、表示を指示されているタイルの位置情報に基づいて復号対象タイルをタイル5とし、当該タイル5の基本レイヤの符号データを抽出し、抽出した符号データを基本レイヤ復号部707に出力する。また、表示を指示されているタイル位置情報を独立タイル判定部706に入力する。
ステップS806にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここで、復号対象タイルであるタイル5は独立タイルであるので、ステップ807に進む。
ステップS807にて、復号対象タイルは独立タイルである。基本レイヤのみの表示時と同様に、基本レイヤ復号部707は、基本レイヤのタイル5の符号データを復号して復号画像を生成し、当該復号画像をフレームメモリ708へ格納する。尚、ここでは拡張レイヤの表示を行うので、基本レイヤ復号部707は、生成した復号画像の、端子712からの出力は行わない。但し、本発明はこれに限定されず、基本レイヤ復号部707が復号画像を出力することも可能である。その場合、基本レイヤ復号部707で生成される復号画像と、拡張レイヤ復号部710で生成される復号画像の両方を出力し、表示部606で選択して表示することも可能である。
ステップS809にて、全体制御部714は、分離部704から入力された表示部分にかかる基本レイヤの全てのタイルの符号データを復号したか否かを判定する。ここでは、タイル6の符号データの復号が終わっていないため、ステップS806に戻り、タイル6の基本レイヤの符号データの復号を行う。
以下、タイル6の基本レイヤの符号データの復号について説明する。
ステップS805にて、分離部704は、タイル6の基本レイヤの符号データを抽出する。ステップS806にて、独立タイル判定部706は復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較し、復号対象タイルであるタイル6は独立タイルであるため、ステップS807に進む。ステップS807にて、基本レイヤ復号部707は、タイル6の基本レイヤの符号データを復号し、復号画像をフレームメモリ708へ格納する。
ステップS809にて、全体制御部714は、分離部704から入力された表示部分にかかる基本レイヤの全てのタイルの符号データを復号したと判定し、ステップS810に進む。
ステップS810にて、分離部704は、図6の表示制御部603から端子702を介して入力された表示制御信号に基づいて、表示するレイヤに拡張レイヤが含まれているか否かを判定する。ここでは、拡張レイヤまで表示するので、ステップS811に進む。
ステップS811にて、ステップS805と同様に、分離部704は端子702から入力された表示部分にかかるタイルの位置情報を入力する。ここでは、表示を指示されているタイルの位置はタイル5とタイル6である。分離部704は、入力された、表示を指示されているタイルの位置情報に基づいて、復号対象タイルであるタイル5の拡張レイヤの符号データを抽出し、抽出した符号データを拡張レイヤ復号部710に出力する。また、表示を指示されているタイル位置情報を独立タイル判定部706に入力する。
ステップS812にて、ステップS806と同様に、独立タイル判定部706は復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。各タイル番号が一致すればステップS813に進み、一致しなければステップS815に進む。ここでは、独立タイル位置情報は5と6である。したがって、独立タイル判定部706は、復号対象タイルであるタイル5は独立タイルセットのタイルであると判定し、ステップS813に進む。
ステップS813にて、復号対象タイルは拡張レイヤの復号対象のフレームにおける独立タイルである。拡大部709は、フレームメモリ708に格納されている、復号済みの基本レイヤの復号画像から復号対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる復号画像を入力する。拡大部709は、入力された独立タイルの復号画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ復号部710に出力する。
ステップS814にて、拡張レイヤ復号部710は、分離部704から入力された復号対象タイルの拡張レイヤ符号データを復号する。拡張レイヤ復号部710は、拡大部709から入力される拡大画像と、フレームメモリ711に格納された復号済みの拡張レイヤの復号画像と、復号対象タイルの復号済みの画素とを参照して復号画像を生成する。即ち、拡張レイヤ復号部710は、ステップS813で生成された基本レイヤの拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ711に格納されている拡張レイヤの復号画像のうち復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。図2を用いて具体的に説明すると、フレーム206のタイル5の復号を行う際に、フレーム204の拡大画像、復号済みのフレーム205のタイル5とタイル6の復号画像、及びフレーム206のタイル5の復号済み画素を参照して復号を行う。拡張レイヤ復号部710によって生成された拡張レイヤのタイルの復号画像はフレームメモリ711に出力され、フレームメモリ711で保持される。また、拡張レイヤ復号部710で生成された拡張レイヤの復号画像は、セレクタ720及び端子712を介して図6の表示部606に出力される。
ステップS817にて、全体制御部714は、分離部704から入力された表示部分にかかる拡張レイヤの全てのタイルの符号データを復号したか否かを判定する。ここでは、タイル6の拡張レイヤの符号データの復号が終わっていないため、ステップS811に戻り、タイル6の拡張レイヤの符号データの復号を行う。
以下、タイル6の拡張レイヤの符号データの復号について説明する。
ステップS811にて、タイル6の拡張レイヤの符号データを抽出する。ステップS812にて、独立タイル判定部706は復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここで、復号対象タイルであるタイル6は独立タイルであるため、ステップS813に進む。
ステップS813にて、拡大部709は、入力された独立タイルの復号画像のみを用いて、拡大画像を生成する。
ステップS814にて、拡張レイヤ復号部710は、タイル6の拡張レイヤの符号データを復号して復号画像を生成し、当該復号画像をフレームメモリ711へ格納する。拡張レイヤ復号部710は、タイル6の拡張レイヤの符号データの復号において、拡大部709から入力される拡大画像と、フレームメモリ711に格納された復号済みの拡張レイヤの復号画像と、復号対象タイルの復号済みの画素とを参照する。即ち、拡張レイヤ復号部710は、ステップS813で生成された基本レイヤの拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ711に格納されている拡張レイヤにおいて復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。図2を用いて具体的に説明すると、フレーム206のタイル6の復号を行う際に、フレーム204の拡大画像、復号済みのフレーム205のタイル5とタイル6の復号画像、及びフレーム206のタイル6の復号済み画素を参照して復号を行う。拡張レイヤ復号部710によって生成された拡張レイヤのタイルの復号画像はフレームメモリ711に出力され、フレームメモリ711で保持される。また、拡張レイヤ復号部710で生成された拡張レイヤの復号画像は、セレクタ720及び端子712を介して図6の表示部606に出力される。
ステップS817にて、全体制御部714は、表示部分にかかる拡張レイヤの全てのタイルの符号データを復号したと判定し、ステップS818に進む。
ステップS818にて、全体制御部714は、端子701から入力されるシーケンスに含まれる全てのフレームの、表示部分にかかるタイルの符号データの復号処理が終了したか否かを判定する。復号処理を行っていないフレームが存在する場合は(ステップS818のNO)、ステップS805に進み、次のフレームの処理を行う。復号処理を行っていないフレームが存在しない場合は(ステップS818のYES)、復号処理を終了する。
以上、表示領域(復号対象タイル)が独立タイルセットで構成されている場合について述べたが、独立タイルで構成されない場合について述べる。ステップS805までは前述のとおりである。
ステップS806にて、独立タイル判定部706は、復号対象タイルが独立タイルではないと判定し、ステップS808に進む。ステップS808にて、復号対象レイヤが基本レイヤのみの場合と同様に、基本レイヤ復号部707は、基本レイヤのタイルを復号して復号画像を生成し、当該復号画像をフレームメモリ708に格納する。尚、ここでは拡張レイヤの表示を行うので、基本レイヤ復号部707は、生成した復号画像の、端子712からの出力は行わない。
ステップS809にて、全体制御部714は、基本レイヤの1フレーム分の全てのタイルの符号データを復号したか否かを判定する。ここでは、全体制御部714は基本レイヤの1フレーム分の全てのタイルの符号化データを復号したと判定して、ステップS810へ進む。ステップS810にて、分離部704は、入力された表示制御信号に基づいて拡張レイヤまで表示することが指示されていると判定し、ステップS811に進む。ステップS811にて、分離部704は、表示部分にかかるタイルの位置情報を端子702から入力する。分離部704は入力された位置情報に基づいて、復号対象タイルであるタイルの拡張レイヤの符号データを抽出する。ステップS812にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここでは、独立タイル判定部706は、復号対象タイルが独立タイルセットのタイルではない(復号対象タイルのタイル番号は独立タイル位置情報のタイル番号と一致しない)と判定し、ステップS815に進む。
ステップS815にて、復号対象タイルは独立タイルではない。拡大部709はフレームメモリ708に格納されている、復号済みの基本レイヤの復号画像から、復号対象タイルの位置と相対的に等しい位置の基本レイヤのタイルと、当該タイルの周辺の復号画像とを入力する。拡大部709は、入力された基本レイヤの復号画像を用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ復号部710に出力する。
ステップS816にて、拡張レイヤ復号部710は、分離部704から入力された復号対象タイルの拡張レイヤ符号データを復号する。拡張レイヤ復号部710は、拡大部709から入力される拡大画像と、フレームメモリ711に格納された復号済みの拡張レイヤの復号画像と、復号対象タイルの復号済みの画素とを参照して復号画像を生成する。即ち、拡張レイヤ復号部710は、ステップS815で生成された基本レイヤの拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ711に格納されている拡張レイヤの復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。拡張レイヤ復号部710によって生成された拡張レイヤのタイルの復号画像はフレームメモリ711に出力され、フレームメモリ711で保持される。また、拡張レイヤ復号部710で生成された拡張レイヤの復号画像は、端子712を介して図6の表示部606に出力される。
ステップS817にて、全体制御部714は、端子702から分離部704に入力された表示部分にかかるタイルの位置情報に基づく関係する全てのタイルが復号されたか否かを判定する。全てのタイルの復号処理が終わっていなければ(ステップS817のNO)、ステップS811に戻り、分離部704は次のタイルを抽出して出力し、処理を続行する。表示部分にかかる全てのタイルの符号データの復号処理が終了していれば(ステップS817のYES)、ステップS818に進む。
ステップS818にて、全体制御部714は、全てのフレーム分の符号データの復号処理が終了したか否かを判定する。復号処理を行っていない符号データが存在する場合は(ステップS818のNO)、ステップS805に進み、次のフレームの処理を行う。復号処理を行っていない符号データが存在しない場合は(ステップS818のYES)、復号処理を終了する。
図6に戻り、表示部606は表示制御部603から拡張レイヤの画像の表示を指示されている。このため、表示部606は、画像復号部605によって復号された拡張レイヤの復号画像を表示する。尚、拡張レイヤは基本レイヤよりも高解像度であるため、拡張レイヤの復号画像を表示することにより、表示部606は基本レイヤの画像の一部分を拡大表示したような効果が得ることができる。
また、ユーザの指示によって表示制御部603から記録されている映像の基本レイヤの表示が指示された場合、セレクタ604の入力を記憶部602とする。そして、表示制御部603は記憶部602から必要なビットストリームを選択し、セレクタ604に出力するよう制御する。
以上の構成と動作により、独立タイル及び独立タイルセットを使用する場合において、拡張レイヤと基本レイヤの各タイルの相対的な位置を一致させることができる。即ち、基本レイヤで独立復号タイルセットのタイルであれば、全ての拡張レイヤで当該タイルの位置と相対的に等しい位置のタイルは独立復号タイルセットのタイルとすることができる。これにより、階層符号化されたビットストリームを復号する場合に、いずれの階層においても独立タイルを最小の画像データの参照のみで復号できる。このように、予測において参照する画像データを減らすことにより、データの転送量を抑えたり、演算量を削減したり、低消費電力を実現することが可能となる。また、独立タイルの復号処理において基本レイヤから拡張レイヤまで各階層で、当該独立タイル以外のタイルを参照せずに独立に復号することにより、高速処理が可能となる。特に、符号化側で重要な領域に独立タイルセットを適応するように符号化してビットストリームを生成することで、当該ビットストリームを復号する場合において、当該重要な領域を高速に復号することができる。
尚、本実施形態において、図2のように、復号対象のフレームより時間的に前のフレームのみを参照フレームとして予測及び復号する例を示したが、これに限定されない。即ち、複数フレームを参照して予測及び復号する場合においても同様に参照されることは上記の説明から明白である。
また、本実施形態において、拡大部709を用いた画像復号部605について説明したが、本発明はこれに限定されない。即ち、拡大部709を省略してもよい。または、拡大率を1とし、基本レイヤ復号部707で復号される量子化パラメータよりも拡張レイヤ復号部710で復号される量子化パラメータを小さくするようにしてもよい。これによって、SNR階層データの復号を行うことが可能になる。
また、本実施形態において1フレームの符号データに全ての階層の符号データを含む例を取って説明したが、これに限定されず、レイヤ毎に入力されても構わない。例えば、記憶部602にレイヤ毎に符号データをまとめて格納しておき、拡張レイヤに関しては必要に応じてそこから符号データを切り出して読み出してももちろん構わない。
また、本実施形態において、基本レイヤと1階層の拡張レイヤ(全体で2階層)のある場合で説明したが、本発明はこれに限定されず、全体で3階層以上あっても構わない。この場合、拡張レイヤ復号部710、フレームメモリ711、及び拡大部709を1つのセットとして、当該セットを拡張レイヤの階層数分だけ設けることにより、より多くの階層に対応することができる。また、図9に示すように、拡張レイヤ復号部710、フレームメモリ911、及び拡大部909を1つずつ有し、各階層の復号において兼用で使用しても構わない。図9は、複数の階層の拡張レイヤを復号可能な画像復号装置であって、拡張レイヤ復号部710、フレームメモリ911、及び拡大部909を1つずつ有する画像復号装置のブロック図である。図9において、図7の画像復号部605の各処理部と同じ機能を果たすものについては同じ番号を付し、説明を省略する。908はフレームメモリであり、基本レイヤ復号部707で生成された復号画像を保持している。フレームメモリ908は、図7のフレームメモリ708とはセレクタ920への出力を行う機能が追加されていることが異なる。909は拡大部であり、図7の拡大部709とは、フレームメモリ911からの入力とフレームメモリ908からの入力を選択して入力が可能になっていることが異なる。911はフレームメモリであり、図7のフレームメモリ711とは、所望のタイルの符号データを拡大部909及びセレクタ920に出力する機能を付与されていることが異なる。920はセレクタであり、フレームメモリ908又はフレームメモリ911から所望の復号画像を選択して入力し、選択した復号画像を端子912に出力する。912は端子であり、セレクタ920から入力された復号画像を画像復号部605の外部に出力する。
図9に示す画像復号部605を用いて復号処理を行う場合に、各処理部の動作を図10に示したフローチャートを用いて以下に説明する。図10は、図8のステップS805からステップS818を変更した部分のみを示している。図10において、図8のステップと同様の機能を果たすステップに関しては図8と同じ番号を付与し、説明を省略する。また、本実施形態では実施形態1の図4に記載の画像符号化装置400によって、図5の符号化方法で生成されたビットストリームであって、階層数が3であるビットストリームを復号する一例につて説明する。図8のステップS801からステップS804にて、前述の通り、ヘッダ復号部705はヘッダ符号データを復号する。ここではvps_max_layers_minus1符号は2である。
まず、復号対象レイヤが基本レイヤのみの場合について述べる。ここでは、ユーザが表示制御部603に、インターフェース601から入力されるビットストリームにおいて基本レイヤの全体の復号及び表示の開始を指示するとする。以下、前述の基本レイヤのみの表示時と同様に、図8のステップS805からステップS809によって、基本レイヤの1フレーム分の復号が終了しているとする。但し、基本レイヤ復号部707で生成された復号画像は全てフレームメモリ908に格納される。
ステップS1010にて、基本レイヤ復号部707又は拡張レイヤ復号部710は、復号済みの階層の階層数と表示制御部603が指示する表示する階層とを比較し、表示する階層が復号済みであるか否かを判定する。復号済みの階層数が表示する階層に達している場合(ステップS1010のYES)、ステップS1003に進み、達していない場合(ステップS1010のNO)、ステップS1001に進む。ここでは、分離部704が、端子702から入力される表示制御信号に基づいて、表示する階層は基本レイヤのみであると判定したとする。このため、基本レイヤ復号部707は、ステップS1010において表示する階層に達したと判断し、ステップS1003に進む。
ステップS1003にて、セレクタ920は、復号された階層のうち、最下位の階層の復号画像を選択する。この場合、最下位の階層は基本レイヤであるので、セレクタ920は、フレームメモリ908から復号された基本レイヤの復号画像を読み出し、読み出した復号画像を端子912を介して図6の表示部606に出力する。そして、表示部606は、表示制御部603から基本レイヤの画像の表示が指示されることにより、画像復号部605から出力された基本レイヤの復号画像全体を表示する。
続いて、復号対象レイヤが拡張レイヤの場合について述べる。ここでは、ユーザが表示制御部603に、インターフェース601から入力されるビットストリームにおいて拡張レイヤの復号と、拡張レイヤの復号画像の一部の表示を指示した場合の、復号について説明する。また、例として、表示する階層は第2拡張レイヤ(階層数は3)として説明を行う。さらに、本実施形態では説明を簡単にするために、表示する領域に含まれるタイルを図2のタイル5とタイル6の領域とする。復号動作については基本レイヤのみの復号及び表示が指示された場合と同様に、図10に示したフローチャートに基づいて説明する。また、基本レイヤのみの復号と同じ動作を行う部分は説明を簡略化する。
ステップS806にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここでは、復号対象タイルであるタイル5は独立タイルであるので、ステップ807に進む。ステップS807にて、基本レイヤ復号部707は、基本レイヤのタイル5の復号データを復号して復号画像を生成し、当該復号画像をフレームメモリ908へ格納する。ステップS809にて、全体制御部714は、分離部704から入力された表示部分にかかる基本レイヤの全てのタイルの符号データを復号したか否かを判定する。
ステップS1010にて、基本レイヤ復号部707又は拡張レイヤ復号部710は、復号済みの階層の階層数と表示制御部603が指示する表示する階層とを比較し、表示する階層が復号済みであるか否かを判定する。ここでは、端子702から入力される表示制御信号によれば、表示する階層は第2拡張レイヤ(階層数は3)である。したがって、拡張レイヤ復号部710は、表示する階層が復号済みでないと判断し、ステップS1001に進む。
ステップS1001にて、拡張レイヤ復号部710は、ステップS807乃至ステップS808で復号された基本レイヤ、又は後述するステップS1014乃至ステップS1016で復号された階層の拡張レイヤを上位レイヤとする。さらに、続く復号対象の拡張レイヤを下位レイヤとする。最初はステップS807乃至ステップS808で符号化された基本レイヤを上位レイヤとし、第1拡張レイヤを下位レイヤとして設定する。
ステップS1011にて、分離部704は、端子702から入力された表示部分にかかるタイルの位置情報を入力する。本説明では、当該表示部分にかかるタイルの位置はタイル5とタイル6である。そして、分離部704は、端子702から入力された位置情報に基づいて、バッファ703に格納された階層符号データのうち復号対象タイルであるタイル5の下位レイヤ(第1拡張レイヤ)の符号データを抽出する。さらに、分離部704は、抽出した符号データを拡張レイヤ復号部710に出力する。また、分離部704は、そのタイル位置情報を独立タイル判定部706に入力する。
ステップS812にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。タイル番号が一致すればステップS1013に進み、一致しなければステップS1015に進む。ここでは、独立タイル位置情報は5と6であり、復号対象タイルであるタイル5は独立タイル位置情報のタイル番号と一致する。したがって、独立タイル判定部706は、復号対象タイルが独立タイルセットのタイルであると判定し、ステップS1013に進む。
ステップS1013にて、復号対象タイルは独立タイルである。拡大部909は、上位レイヤが基本レイヤであることから、フレームメモリ908に格納されている基本レイヤの復号画像から復号対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる独立タイルの復号画像を入力する。拡大部909は、入力された独立タイルの復号画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ復号部710へ出力する。
ステップS1014にて、ステップS814と同様に、拡張レイヤ復号部710は分離部704から入力された復号対象タイルの下位レイヤ(第1拡張レイヤ)の符号データを復号する。拡張レイヤ復号部710は、拡大部909から入力される拡大画像と、フレームメモリ911に格納された復号済みの拡張レイヤ(第1拡張レイヤ)の復号画像と、復号対象タイルの復号済みの画素とを参照して復号画像を生成する。即ち、拡張レイヤ復号部710は、ステップS1013で生成された上位レイヤ(基本レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ911に格納されている下位レイヤ(第1拡張レイヤ)の復号画像のうち復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。拡張レイヤ復号部710で復号された下位レイヤ(第1拡張レイヤ)のタイルの復号画像はフレームメモリ911に出力され、フレームメモリ911で保持される。
ステップS1017にて、全体制御部714は、分離部704から入力された表示部分にかかる下位レイヤ(第1拡張レイヤ)の全てのタイルの符号データを復号したか否かを判定する。ここでは、タイル6の拡張レイヤの符号データの復号が終わっていないため、ステップS1011に戻り、タイル6の下位レイヤ(第1拡張レイヤ)の符号データの復号を行う。
以下、タイル6の下位レイヤ(第1拡張レイヤ)の符号データの復号について説明する。
ステップS1011にて、分離部704は、バッファ703に格納された階層符号データのうち復号対象タイルであるタイル6の下位レイヤ(第1拡張レイヤ)の符号データを抽出する。ステップS812にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここでは、独立タイル判定部706は、復号対象タイルであるタイル6が独立タイルであると判定し、ステップS1013に進む。
ステップS1013にて、拡大部909は、入力された上位レイヤ(基本レイヤ)の独立タイルの復号画像のみを用いて、拡大画像を生成する。即ち、拡大部909はフレームメモリ908から復号画像を入力して、フィルタリング等で拡大して拡大画像を生成する。
ステップS1014にて、拡張レイヤ復号部710は、タイル6の下位レイヤ(第1拡張レイヤ)の符号データを復号して復号画像を生成し、当該復号画像をフレームメモリ911へ格納する。拡張レイヤ復号部710は、タイル6の下位レイヤ(第1拡張レイヤ)の符号データの復号において、拡大部909から入力される拡大画像とフレームメモリ911に格納された復号済みの拡張レイヤの復号画像と復号対象タイルの復号済みの画素とを参照する。即ち、拡張レイヤ復号部710は、ステップS1013で生成された上位レイヤ(基本レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ911に格納されている下位レイヤ(第1拡張レイヤ)の復号画像のうち復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。さらに、拡張レイヤ復号部710で復号された下位レイヤ(第1拡張レイヤ)のタイルの復号画像はフレームメモリ911に出力され、フレームメモリ911で保持される。
ステップS1017にて、全体制御部714は、表示部分にかかる下位レイヤ(第1拡張レイヤ)の全てのタイルの符号データを復号したと判定し、ステップS1002に進む。
ステップS1002にて、全体制御部714は、復号されたvps_max_layers_minus1符号で表される全ての階層について符号化が終了したか否かを判定する。全ての階層のタイルの復号処理が終わっていなければ(ステップS1002のNO)、ステップS1010に戻り、表示の判定を行う。全ての階層のタイルの復号処理が終了していれば(ステップS1002のYES)、ステップS1003に進む。ここでは、拡張レイヤの復号処理が終了していないため、拡張レイヤ復号部710は、全ての階層のタイルの復号処理が終了していないと判定し、ステップS1010に戻る。
以下、第2拡張レイヤの復号を行う。即ち、ステップS1010にて、拡張レイヤ復号部710は、表示する階層が復号済みであるか否かを判定する。端子702から入力される表示制御信号によれば、表示する階層は第2拡張レイヤである。ここでは、拡張レイヤ復号部710は、第1拡張レイヤまでしか復号していない(第2拡張レイヤは復号済みでない)と判定するため、ステップS1001に進む。ステップS1001にて、拡張レイヤ復号部710は、ステップS1014乃至ステップS1016で復号された第1拡張レイヤを上位レイヤとし、第2拡張レイヤを下位レイヤとして設定する。
ステップS1011にて、分離部704は、バッファ703に格納された階層符号データのうち下位レイヤ(第2拡張レイヤ)のタイルの符号データを抽出し、拡張レイヤ復号部710に入力する。ここではまず、分離部704は、タイル5の下位レイヤ(第2拡張レイヤ)の符号データを抽出し、抽出した符号データを拡張レイヤ復号部710に入力する。ステップS812にて、独立タイル判定部706は、復号対象タイルであるタイル5が独立タイルであると判定し、ステップS1013に進む。ステップS1013にて、拡大部909は、上位レイヤが拡張レイヤ(第1拡張レイヤ)である。このため、拡大部909は、フレームメモリ908に格納されている上位レイヤ(第1拡張レイヤ)の復号画像から復号対象タイルの位置と相対的に等しい位置の独立タイルセットに含まれる独立タイルの復号画像を入力する。即ち、拡大部909は入力された上位レイヤ(第1拡張レイヤ)の独立タイルの復号画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ復号部710に入力する。
ステップS1014にて、拡張レイヤ復号部710は、分離部704から入力された復号対象タイルの下位レイヤ(第2拡張レイヤ)の符号データを復号する。拡張レイヤ復号部710は、次の画像を参照して復号画像を生成する。即ち、拡張レイヤ復号部710は、拡大部909から入力される上位レイヤ(第1拡張レイヤ階層)の拡大画像と、フレームメモリ911に格納された復号済みの拡張レイヤ(第2拡張レイヤ)の復号画像と、復号対象タイルの復号済みの画素とを参照する。即ち、拡張レイヤ復号部710は、ステップS1013で生成された上位レイヤ(第1拡張レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ911に格納されている下位レイヤ(第1拡張レイヤ)の復号画像のうち復号対象タイルの位置と相対的に等しい位置の独立タイルセット内の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。さらに、拡張レイヤ復号部710で復号された下位レイヤ(第2拡張レイヤ)のタイルの復号画像はフレームメモリ911に出力され、フレームメモリ911で保持される。
ステップS1017にて、全体制御部714は、分離部704から入力された表示部分にかかる下位レイヤ(第2拡張レイヤ)の全てのタイルの符号データを復号したか否かを判定する。ここでは、タイル6の拡張レイヤの符号データの復号が終わっていないため、ステップS1011に戻り、タイル6の下位レイヤ(第2拡張レイヤ)の符号データの復号を行う。タイル6の下位レイヤの復号については、上位レイヤを第1拡張レイヤ階層とし、下位レイヤを第2拡張レイヤとすれば、前述のとおりタイル5の第2拡張レイヤの符号データの復号処理と同様であるので、説明を省略する。
ステップS1002にて、全体制御部714は、第2拡張レイヤまで復号したので、全ての階層のタイルの復号処理が終わったと判定し、ステップS1003に進む。ステップS1003にて、セレクタ920は、復号された階層のうち、最下位の階層の復号画像を選択する。この場合、最下位の階層は第2拡張レイヤであるので、セレクタ920はフレームメモリ911から第2拡張レイヤの復号画像を読み出し、当該第2拡張レイヤの復号画像を端子912を介して図6の表示部606に出力する。そして、表示部606は、表示制御部603から第2拡張レイヤの画像の表示が指示されることにより、画像復号部605から出力された第2拡張レイヤの復号画像全体を表示部606は表示する。
尚、上記において、表示する階層を第2拡張レイヤ(階層数は3)として説明を行った。しかしながら、階層符号化の符号データの階層数が3以上であり、表示する階層を第1拡張レイヤ(階層数は2)とした場合、第1拡張レイヤの復号が終了した(ステップS1002にてNO)後に、スタップS1010にてステップS1003に進む。このため、第2拡張レイヤより上位の階層の符号データの復号の復号は行われない。
以上、表示領域(復号対象タイル)が独立タイルセットで構成されている場合について述べたが、独立タイルで構成されない場合について述べる。ステップS805までは前述のとおりである。
ステップS806にて、独立タイル判定部706は、復号対象タイルが独立タイルではないと判定し、ステップS808に進む。ステップS808にて、復号対象レイヤが基本レイヤのみの場合と同様に、基本レイヤ復号部707は、基本レイヤのタイルを復号して復号画像を生成し、当該復号画像をフレームメモリ908に格納する。
ステップS809にて、全体制御部714は、基本レイヤの1フレーム分の全てのタイルの符号データを復号したか否かを判定する。ここでは、基本レイヤ復号部707は基本レイヤの1フレーム分の全てのタイルの符号化データを復号したと判定して、ステップS1010へ進む。ステップS1010にて、基本レイヤ復号部707又は拡張レイヤ復号部710は、第2拡張レイヤまで表示するので、表示する階層が復号済みでないと判定し、ステップS1001に進む。
ステップS1001にて、拡張レイヤ復号部710は、ステップS808で復号された基本レイヤを上位レイヤとし、続く復号対象の拡張レイヤ(第1拡張レイヤ)を下位レイヤとする。ステップS1011にて、分離部704は、端子702から入力された表示部分にかかるタイルの位置情報を入力する。そして、分離部704は、入力された位置情報に基づいて、バッファ703に格納された階層符号データのうち復号対象タイルの下位レイヤ(第1拡張レイヤ)の符号データを抽出する。ステップS812にて、独立タイル判定部706は、復号対象タイルのタイル番号と独立タイル位置情報のタイル番号とを比較する。ここでは、復号対象タイルであるタイル5は独立タイル位置情報のタイル番号と一致しない。従って、独立タイル判定部706は、復号対象タイルが独立タイルセットのタイルではないと判定し、ステップS1015に進む。
ステップS1015にて、拡大部909はフレームメモリ908に格納されている上位レイヤ(基本レイヤ)の復号画像から、復号対象タイルの位置と相対的に等しい位置の基本レイヤのタイルと、当該タイルの周辺の復号画像とを入力する。拡大部909は、入力された基本レイヤのタイルの復号画像のみを用いて、フィルタリング等で拡大して拡大画像を生成し、当該拡大画像を拡張レイヤ復号部710に出力する。
ステップS1016にて、拡張レイヤ復号部710は、分離部704から入力された復号対象タイルの下位レイヤ(第1拡張レイヤ)の符号データを復号する。拡張レイヤ復号部710は、以下を参照して予測画像を生成する。即ち、拡大部909から入力される上位レイヤ(基本レイヤ)の拡大画像と、フレームメモリ911に格納された復号済みの下位レイヤ(第1拡張レイヤ)の復号画像と、復号対象タイルの下位レイヤ(第1拡張レイヤ)の復号済みの画素とを参照する。さらに、拡張レイヤ復号部710は、参照により生成した予測画像と復号した予測誤差から復号画像を生成する。即ち、拡張レイヤ復号部710は、ステップS1015で生成された上位レイヤ(基本レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ711に格納されている下位レイヤ(第1拡張レイヤ)の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、下位レイヤ(第1拡張レイヤ)の復号対象タイル内の復号画像を参照してイントラ予測を行う。拡張レイヤ復号部710によって生成された下位レイヤ(第1拡張レイヤ)のタイルの復号画像はフレームメモリ911に出力され、フレームメモリ911で保持される。
ステップS1017にて、全体制御部714は、表示部分にかかる下位レイヤ(第1拡張レイヤ)の全てのタイルの符号データの復号処理を終了したか否かを判定する。ここでは拡張レイヤ復号部710は、第1拡張レイヤの全てのタイルの符号データの復号処理を終了したと判定し、ステップS1002に進む。ステップS1002にて、全体制御部714は、全ての階層について復号処理が終了したか否かを判定する。ここでは、拡張レイヤ復号部710は、第2拡張レイヤの復号処理が終了していないと判定し、ステップS1010に戻る。
以下、第2拡張レイヤの復号を行う。ステップS1010にて、拡張レイヤ復号部710は、表示する階層である第2拡張レイヤ階層の復号が終わっていないと判定し、ステップS1001に進む。ステップS1001にて、拡張レイヤ復号部710は、ステップS1016で復号された第1拡張レイヤを上位レイヤとし、第2拡張レイヤを下位レイヤとして設定する。ステップS1011にて、分離部704は、下位レイヤ(第2拡張レイヤ)の復号対象タイルの符号データを抽出し、当該符号データを拡張レイヤ復号部710へ出力する。ステップS812にて、独立タイル判定部706は、復号対象タイルが独立タイルセットのタイルではないと判定し、ステップS1015に進む。ステップS1015にて、拡大部909は、上位レイヤが拡張レイヤ(第1拡張レイヤ)であることから、フレームメモリ908に格納されている拡張レイヤ(第1拡張レイヤ)レイヤの復号画像を入力する。そして、拡大部909は、入力された上位レイヤ(第1拡張レイヤ)の復号画像を用いて、フィルタリング等で拡大して拡大画像を生成する。この時、復号対象タイルの位置と相対的に等しい位置のタイルと、当該タイルの周囲の画素を用いて拡大画像を生成してもよい。さらに、拡大部909は、生成した拡大画像を拡張レイヤ復号部710に入力する。
ステップS1014にて、拡張レイヤ復号部710は、分離部704から入力された復号対象タイルの下位レイヤ(第2拡張レイヤ)の符号データを復号する。拡張レイヤ復号部710は拡大部909から入力される上位レイヤ(第1拡張レイヤ)の拡大画像と、フレームメモリ911に格納された復号済みの拡張レイヤ(第2拡張レイヤ)の復号画像と、復号対象タイルの復号済みの画素とを参照して復号画像を生成する。即ち、拡張レイヤ復号部710はステップS1015で生成された上位レイヤ(第1拡張レイヤ)の拡大画像を参照してレイヤ間予測を行う。また、拡張レイヤ復号部710は、フレームメモリ911に格納されている下位レイヤ(第1拡張レイヤ)の復号画像を参照してフレーム間予測を行う。さらに、拡張レイヤ復号部710は、復号対象タイル内の復号画像を参照してイントラ予測を行う。拡張レイヤ復号部710で復号された下位レイヤ(第2拡張レイヤ)のタイルの復号画像はフレームメモリ911に出力され、フレームメモリ911で保持される。
ステップS1017にて、全体制御部714は、分離部704から入力された表示部分にかかる下位レイヤ(第2拡張レイヤ)の全てのタイルの符号データを復号したか否かを判定する。ここでは、拡張レイヤ復号部710は、第2拡張レイヤの全てのタイルの符号データの復号を終了したと判定し、ステップS1002へ進む。ステップS1002にて、全体制御部714は、第2拡張レイヤまで復号したので、全ての階層のタイルの復号処理が終わったと判定し、ステップS1003に進む。ステップS1003にて、セレクタ920は、復号された階層のうち、最下位の階層の復号画像を選択する。この場合、最下位の階層は第2拡張レイヤであるので、セレクタ920は、フレームメモリ911から復号画像を読み出し、読み出した復号画像を端子912を介して図6の表示部606に出力する。そして、表示部606は、表示制御部603から第2拡張レイヤの画像の表示が指示されることにより、画像復号部605から出力された第2拡張レイヤの復号画像を表示する。
尚、上記において、表示する階層は第2拡張レイヤ(階層数は3)として説明を行った。しかしながら、階層符号化の符号データの階層数が3以上であり、表示する階層を第1拡張レイヤ(階層数は2)とした場合、第1拡張レイヤの復号が終了した(ステップS1002にてNO)後に、スタップS1010にてステップS1003に進む。このため、第2拡張レイヤより上位の階層の符号データの復号は行われない。
以上の構成と動作により、各拡張レイヤと基本レイヤの各レイヤにおいて独立復号タイルの相対的な位置を一致させることができる。即ち、基本レイヤで所定のタイルを独立タイルを設定した場合、各拡張レイヤにおいて、当該基本レイヤの独立タイルの位置と相対的に等しい位置のタイルは独立タイルとすることができる。これにより、階層符号化のいずれの階層においても、独立タイルの符号データの予測及び復号のために参照する画素を制限することができる。特に、図6において、表示制御部603によって表示を指示されたタイルが独立タイルであれば、記憶部602から必要な符号データを読み出し、画像復号部605は当該符号データのみを復号すれば良い。このため、従来よりも高速に処理することが可能になる。
さらに、MCTS SEI符号がビットストリームに存在する場合、タイル位置一致情報であるvui_parametersのtile_boundaries_aligned_flag符号は1に必ずセットされる。即ち、vui_parametersにおいて、MCTS SEI符号がビットストリームに存在する場合、符号データとしてのtile_boundaries_aligned_flag符号を省略することができる。もし、MCTS SEI符号がビットストリームに無ければ、tile_boundaries_aligned_flag符号を復号し、後段の復号で参照される。MCTS SEI符号がビットストリームにあれば、tile_boundaries_aligned_flag符号は符号化されていないので、復号側で必ず1の値を設定する。このようにすることで、tile_boundaries_aligned_flag符号が無くても同様に復号することが可能になる。
<実施形態3>
上記実施形態1及び実施形態2において、それぞれ図1、図4、図6、図7、及び図9に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムで実行しても良い。
図11は、上記実施形態1及び実施形態2に係る画像符号化装置及び画像復号装置の各処理部が行う処理を実行するコンピュータのハードウェアの構成例を示すブロック図である。
CPU1101は、RAM1102やROM1103に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上術した各実施形態に係る画像符号化装置及び画像復号装置が行うものとして上述した各処理を実行する。即ち、CPU1101は、図1、図4、図6、図7、及び図9に示した各処理部として機能することになる。
RAM1102は、外部記憶装置1106からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1107を介して外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、RAM1102は、CPU1101が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1102は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM1103は、本コンピュータの設定データや、ブートプログラム等を格納する。操作部1104は、キーボードやマウス等により構成されており、本コンピュータをユーザが操作することで、各種の指示をCPU1101に対して入力することができる。出力部1105は、CPU1101による処理結果を表示させるための制御を行う。また、出力部1105は、例えば液晶ディスプレイで構成される表示部(不図示)において、CPU1601による処理結果を表示するための制御を行う。
外部記憶装置1106は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1106には、オペレーティングシステム(OS)や、図1、図4、図6、図7、及び図9に示した各部の機能をCPU1101に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置1106には、処理対象としての各画像データが保存されていても良い。
外部記憶装置1106に保存されているコンピュータプログラムやデータは、CPU1101による制御に従って適宜、RAM1102にロードされ、CPU1101による処理対象となる。I/F1107には、LANやインターネット等のネットワーク、投影装置や表示装置等の他の機器を接続することができ、本コンピュータはこのI/F1107を介して様々な情報を取得したり、送出したりすることができる。バス1108は上述の各部を繋ぐ。
上述の構成における作動は、前述のフローチャートで説明した作動をCPU1101が中心となってその制御を行う。
<その他の実施形態>
尚、本発明を容易に実現するために、ビットストリームの先頭に近いレベルで独立タイルの有無を明示することは有用である。例えば、vui_parametersを利用する方法について図12を用いて説明する。図12はvui_parametersのシンタックスを表す図である。vui_parametersの中には、ビットストリームに必ず独立タイルが存在することを表すmotion_constrained_tile_sets_flag符号が含まれている。この符号の値が1であれば、MCTS SEIを含み、ビットストリームに独立タイルが存在し、基本レイヤと拡張レイヤの各タイルの相対的な位置が一致することを示す。即ち、必ずtile_boundaries_aligned_flag符号が1で固定なので、tile_boundaries_aligned_flag符号の符号化を行う必要が無い。一方、tile_boundaries_aligned_flag符号が0であれば、MCTS SEIを含まず、ビットストリームに独立タイルが存在しない。そのため、tile_boundaries_aligned_flag符号を符号化する必要がある。このようなビットストリームを復号する画像復号装置は、ビットストリームに独立タイルが含まれるという情報を各タイルの復号処理を行う前に取得することができる。このため、特定の領域を復号する場合に、画像復号装置は独立タイルを用いて高速に復号処理をすることが可能である。さらに、その結果、部分拡大表示のようなアプリケーションが有効かどうかを、各タイルの復号処理を行う前に判断することができるようになる。
尚、画像のサイズ、タイルの分割数、独立タイルの1フレームにおける位置は上記に示した各実施形態に限定されない。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。