(本発明の基礎となった知見)
HEVC映像符号化方式における最近の発展の一つは、バッファ記述を用いたDPB管理の導入である。バッファ記述は、DPBから削除される対象のピクチャを定義する代わりに、DPBに保持されているピクチャを定義する。つまり、バッファ記述は、DPBに格納されている全ての参照ピクチャを示すピクチャ識別子のリストである。このリストの各項目は、バッファエレメントと称される。バッファエレメントは、ピクチャオーダカウント(POC)数のような各ピクチャに固有のピクチャ識別子と、temporal_id値のような追加的ピクチャ情報とを有する。
このバッファ記述は、ピクチャの符号化又は復号開始時に有効になる。有効なバッファ記述に含まれないピクチャは、DPBから削除される。このバッファ記述の利点は、送信時のロスに対するロバスト性が改善されること、及び、存在しないピクチャの扱いが簡易化されること等である。
ここで、映像シーケンスに含まれる複数のピクチャにおいて、同一のピクチャ参照構造が用いられることがある。例えば、低遅延符号化構造では、図1に示すように4ピクチャ単位で同じ階層構造が周期的に繰り返される周期的クラスタリング構造が用いられる。なお、この繰り返し単位(ここでは4ピクチャ)をクラスタと呼ぶ。
図1に示す例において、ピクチャナンバー(P0からP12)は、固有の符号化順序と固有のピクチャ表示又は出力順序との両方を示している。ピクチャP0、P4、P8、及びP12は、ピクチャの第1層を構成する。これらのピクチャは、例えば、最も弱い量子化が適用されることによって最も高画質で符号化される。ピクチャP2、P6、及びP10は、第2層を構成する。これらのピクチャは、第1層よりも低画質で符号化される。ピクチャP1、P3、P5、P7、P9、及びP11は、第3層を構成する。これらのピクチャは、最も低画質で符号化される。このような周期的な参照構造において、クラスタ内で相対位置が同じピクチャ(例えば、P1、P5、及びP9)は通常、同じ相対ピクチャ参照構造が用いられる。例えば、ピクチャP5に対して、ピクチャP4及びP2が参照ピクチャとして用いられ、ピクチャP9に対して、ピクチャP8及びP6が参照ピクチャとして用いられる。
上述の構造のような周期的クラスタリング構造を調整するために、バッファ記述に対して周期的に信号を送信する方法が考えられる。このバッファ記述は、符号化又は復号対象ピクチャに対する参照ピクチャの時間的距離又は位置を指定する。これにより、DPBに格納されている参照ピクチャが特定できる。例えば、このバッファ記述は、一旦ピクチャパラメータセット(PPS)に含まれて信号送信される。その後、このバッファ記述は、クラスタ内において同じ相対位置を有する複数のピクチャのスライスヘッダにおいて繰り返し参照される。例えば、{−1,−3}の相対位置を指定するバッファ記述は、{P4,P2}を参照ピクチャとして指定するP5と、{P8,P6}を参照ピクチャとして指定するP9との両方に用いることができる。
図2は、この場合のバッファ記述の信号送信構造の一例を示す図である。図2に示す符号化ビットストリーム500は、SPS(シーケンスパラメータセット)501(SPS0)と、複数のPPS(ピクチャパラメータセット)502(PPS0及びPPS1)と、複数のピクチャデータ503とを含む。各ピクチャデータ503は、複数のスライスデータ535を含む。各スライスデータ535は、スライスヘッダ541と、スライスデータ部542とを含む。スライスデータ部542は、複数のCU(Coding Unit)データ543を含む。
各PPS502は、PPS識別子522(pps_id)と、バッファ記述定義情報512(BD define)とを含む。バッファ記述定義情報512は、複数のバッファ記述515(BD0〜BDn)を示す。各バッファ記述515は、複数のバッファエレメント515A(BE0〜BE2)を含む。
このように、複数のバッファ記述515は、ピクチャパラメータセット502に含まれるバッファ記述定義情報512により定義される。また、各PPS502は、PPSに固有のPPS識別子522によって識別される。
スライスヘッダ541は、PPS選択情報533(pps_select)と、バッファ記述更新情報523(BD update)とを含む。
PPS選択情報533は、スライスの符号化又は復号時に参照されるPPS502を示す。図2の例において、pps_select=0であり、pps_id=0を有するPPS0が選択される。
バッファ記述更新情報523は、複数のバッファ記述515の中から、選択されるバッファ記述を特定する情報を含む。図2の例では、バッファ記述BD1が選択される。さらに、バッファ記述更新情報523は、バッファ記述修正情報を含む。バッファ記述修正情報は、選択されたバッファ記述515に含まれる、選択されたバッファエレメント515Aに、ピクチャ識別子を割り当てる。ここで、ピクチャ識別子は、相対位置、又はピクチャに固有の識別子を用いて特定される。ピクチャに固有の識別子とは、例えば、ピクチャオーダカウント(POC)数である。図2の例において、POC数=214によって識別されるピクチャP214は、バッファ記述BD1に含まれるバッファエレメントBE0に割り当てられる。この修正は、現在の処理対象のスライスにのみ適用され、後続スライスには適用されない。
符号化ビットストリームにおいて、予測単位(N×Nブロック)のインター予測処理に用いられる参照ピクチャは、参照インデックスを用いて識別される。全ての利用可能な参照ピクチャ及びそれらに関連する参照インデックスは、参照リストに記述されている。双方向インター予測が用いられる場合には、2つのグループの参照ピクチャとそれに関連する参照インデックスとの記述に、2つの参照リストが用いられる。より小さな参照インデックスは、より大きな参照インデックスと比べて、符号化ビットストリームにおいてより少ないビットで表される。したがって、頻繁に使われる参照ピクチャにより小さな参照インデックスを割り当てることで、より高い符号化効率が達成される。
スライスの符号化又は復号の開始時に、全ての利用可能な参照ピクチャに、予め定められた順序付け方式に従ってインデックスが割り当てられることで、初期設定の参照リストが作成される。画像符号化装置は、さらに、初期設定の参照リストに含まれる参照インデックスを並び替え、符号化ビットストリームに含まれるスライスヘッダに、参照リスト並び替え情報を書き込んでもよい。並び替えられた参照リストは、現在の処理対象のスライスにのみ適用され、後続スライスには適用されない。
ここで、上記技術では、参照リストの並び替えを記述する情報(パラメータ)が、符号化又は復号対象スライスに一回しか適用できないという問題があることを本発明者は見出した。しかしながら、上述の通り、映像シーケンスに含まれる複数のピクチャで同一の参照構造が用いられることがある。結果として、同じ参照リスト並び替え処理を記述した情報は、符号化ビットストリーム内で繰り返し信号送信される。
このように、符号化ビットストリームに同様の情報が繰り返し含まれることで、符号化効率が低下するという課題があることを本発明者は見出した。
上記課題を解決するため、本発明の一態様に係る画像符号化方法は、バッファに保持されるピクチャを指定するためのバッファ記述と、参照されるピクチャを指定するための参照リスト記述とを用いて画像を符号化することで符号化ビットストリームを生成する画像符号化方法であって、複数のバッファ記述を定義するバッファ記述定義情報をシーケンスパラメータセットに書き込むバッファ記述定義書き込みステップと、前記複数のバッファ記述に対応する複数の参照リスト記述を定義する参照リスト記述定義情報を前記シーケンスパラメータセットに書き込む参照リスト記述定義書き込みステップと、ピクチャ又はスライスである処理単位毎に、前記複数のバッファ記述の中から一つのバッファ記述を選択し、選択されたバッファ記述を特定するバッファ記述選択情報を、前記符号化ビットストリームに含まれる当該処理単位の第1ヘッダに書き込む選択情報書き込みステップと、前記選択されたバッファ記述と、当該選択されたバッファ記述に対応する参照リスト記述とを用いて、前記処理単位を符号化する符号化ステップとを含む。
これにより、本発明の一態様に係る画像符号化方法は、バッファ記述定義情報及び参照リスト記述定義情報を、複数のピクチャで共通に用いられるシーケンスパラメータセット内に書き込むとともに、選択するバッファ記述を示すバッファ記述識別子をピクチャ又はスライス単位のヘッダに書き込む。これにより、当該画像符号化方法は、バッファ記述定義情報及び参照リスト記述定義情報がピクチャパラメータセットに書き込まれる場合に比べて、冗長な情報を削減できるので、符号化効率を改善できる。
例えば、前記画像符号化方法は、さらに、前記複数のバッファ記述の少なくとも一つに修正を行い、当該修正の内容を示すバッファ記述更新情報を、前記処理単位の第2ヘッダに書き込むバッファ記述更新情報書き込みステップと、前記修正された後のバッファ記述に対応する参照リスト記述を定義する参照リスト記述更新情報を、前記第2ヘッダに書き込む参照リスト記述更新情報書き込みステップとを含み、前記符号化ステップでは、前記修正された後のバッファ記述と、当該修正された後のバッファ記述に対応する参照リスト記述とを用いて、前記処理単位を符号化してもよい。
これにより、当該画像符号化方法は、シーケンスパラメータセットにおいて設定されたバッファ記述及び参照リスト記述を、ピクチャ又はスライス単位で更新できる。よって、当該画像符号化方法は、冗長な情報を削減できるとともに、必要に応じて、ピクチャ又はスライス単位でバッファ記述及び参照リスト記述を変更できる。
例えば、前記第2ヘッダはピクチャパラメータセットであり、前記第1ヘッダは、ピクチャヘッダ又はスライスヘッダであり、前記選択情報書き込みステップでは、前記複数のバッファ記述の少なくとも一つが修正された場合、当該修正された後のバッファ記述を含む複数のバッファ記述から一つのバッファ記述を選択してもよい。
例えば、前記第1ヘッダ及び前記第2ヘッダはスライスヘッダであり、前記バッファ記述更新情報書き込みステップでは、前記複数のバッファ記述の少なくとも一つとして、前記選択されたバッファ記述に修正を行ってもよい。
例えば、前記第1ヘッダ及び第2ヘッダは、ピクチャパラメータセットであり、前記バッファ記述更新情報書き込みステップでは、前記複数のバッファ記述の少なくとも一つとして、前記選択されたバッファ記述に修正を行い、前記バッファ記述更新情報を、前記符号化ビットストリームに含まれる複数のピクチャパラメータセットの一つである第1ピクチャパラメータセットに書き込み、前記参照リスト記述更新情報書き込みステップでは、前記参照リスト記述更新情報を、前記第1ピクチャパラメータセットに書き込み、前記選択情報書き込みステップでは、前記バッファ記述選択情報を前記第1ピクチャパラメータセットに書き込むとともに、前記複数のピクチャパラメータセットのうち前記第1ピクチャパラメータセットを特定するピクチャパラメータセット選択情報を前記処理単位のヘッダに書き込んでもよい。
例えば、前記参照リスト記述定義情報は、参照リストの並び替えが実行されるか否かを示す第1並び替えフラグと、当該並び替えの内容を示す第1参照リスト並び替え情報とを含み、前記参照リスト記述定義書き込みステップは、前記第1並び替えフラグを前記シーケンスパラメータセットに書き込むステップと、前記第1並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記第1参照リスト並び替え情報を前記シーケンスパラメータセットに書き込むステップとを含んでもよい。
例えば、前記参照リスト記述更新情報は、参照リストの並び替えが実行されるか否かを示す並び替えフラグと、当該並び替えの内容を示す参照リスト並び替え情報とを含み、前記参照リスト記述更新情報書き込みステップは、前記並び替えフラグを前記第2ヘッダに書き込むステップと、前記並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記参照リスト並び替え情報を前記第2ヘッダに書き込むステップとを含んでもよい。
例えば、前記符号化ステップは、前記選択されたバッファ記述で示される全てのピクチャのピクチャ識別子を含む参照リストを、予め定められた初期設定の参照リスト記述に従い生成するステップと、前記第1並び替えフラグを用いて、生成された前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記第1参照リスト並び替え情報に従って、前記参照リストに含まれるピクチャ識別子を並び替えるステップと、前記並び替えが実行された後の参照リストを用いて処理対象のスライスを符号化するステップとを含んでもよい。
例えば、前記符号化ステップは、前記選択されたバッファ記述で示される全てのピクチャのピクチャ識別子を含む参照リストを、予め定められた初期設定の参照リスト記述に従い生成するステップと、前記選択されたバッファ記述に対応する前記参照リスト記述を更新するか否かを示す更新フラグを処理対象のスライスのスライスヘッダに書き込むステップと、前記更新フラグを用いて、前記参照リスト記述を更新するか否かを判定するステップと、前記参照リスト記述が更新される場合に、参照リストの並び替えが実行されるか否かを示す第2並び替えフラグを前記スライスヘッダに書き込むステップと、前記第2並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合、当該並び替えの内容を示す第2参照リスト並び替え情報を前記スライスヘッダに書き込むステップと、前記第2参照リスト並び替え情報に従って、前記参照リストに含まれるピクチャ識別子を並び替えるステップと、前記参照リスト記述を更新しない場合に、前記第1並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合、前記第1参照リスト並び替え情報に従って、前記参照リストに含まれる前記ピクチャ識別子を並び替えるステップと、前記並び替えが実行された後の参照リストを用いて前記処理対象のスライスを符号化するステップとを含んでもよい。
また、本発明の一態様に係る画像復号方法は、バッファに保持されるピクチャを指定するためのバッファ記述と、参照されるピクチャを指定するための参照リスト記述とを用いて符号化ビットストリームを復号する画像復号方法であって、複数のバッファ記述を定義するバッファ記述定義情報を、前記符号化ビットストリームに対応するシーケンスパラメータセットから取得するバッファ記述定義取得ステップと、前記複数のバッファ記述に対応する複数の参照リスト記述を定義する参照リスト記述定義情報を、前記シーケンスパラメータセットから取得する参照リスト記述定義取得ステップと、前記複数のバッファ記述の中から一つのバッファ記述を特定するバッファ記述選択情報を、前記符号化ビットストリームに含まれる、ピクチャ又はスライスである処理単位の第1ヘッダから取得する選択情報取得ステップと、前記バッファ記述選択情報で特定されるバッファ記述と、当該バッファ記述に対応する参照リスト記述とを用いて、前記処理単位を復号する復号ステップとを含む。
これにより、本発明の一態様に係る画像復号方法は、符号化効率が改善された符号化ビットストリームを復号することができる。
例えば、前記画像復号方法は、さらに、前記複数のバッファ記述の少なくとも一つに対する修正の内容を示すバッファ記述更新情報を、前記符号化ビットストリームに含まれる、前記処理単位の第2ヘッダから取得するバッファ記述更新情報取得ステップと、修正された後のバッファ記述に対応する参照リスト記述を定義する参照リスト記述更新情報を、前記第2ヘッダから取得する参照リスト記述更新情報取得ステップとを含み、前記復号ステップでは、前記バッファ記述更新情報で示される修正の内容に従い、前記複数のバッファ記述の少なくとも一つを修正し、修正された後のバッファ記述と、当該修正された後のバッファ記述に対応する参照リスト記述とを用いて、前記処理単位を復号してもよい。
例えば、前記第2ヘッダはピクチャパラメータセットであり、前記第1ヘッダは、ピクチャヘッダ又はスライスヘッダであってもよい。
例えば、前記第1ヘッダ及び前記第2ヘッダはスライスヘッダであってもよい。
例えば、前記第1ヘッダ及び第2ヘッダは、ピクチャパラメータセットであり、前記選択情報取得ステップでは、前記符号化ビットストリームに含まれる複数のピクチャパラメータセットのうちの一つを特定するピクチャパラメータセット選択情報を前記処理単位のヘッダから取得し、当該ピクチャパラメータセット選択情報で特定されるピクチャパラメータセットから前記バッファ記述選択情報を取得してもよい。
例えば、前記参照リスト記述定義情報は、参照リストの並び替えが実行されるか否かを示す第1並び替えフラグと、当該並び替えの内容を示す第1参照リスト並び替え情報とを含み、前記参照リスト記述定義取得ステップは、前記第1並び替えフラグを取得するステップと、前記第1並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記第1参照リスト並び替え情報を取得するステップとを含んでもよい。
例えば、前記参照リスト記述更新情報は、参照リストの並び替えが実行されるか否かを示す並び替えフラグと、当該並び替えの内容を示す参照リスト並び替え情報とを含み、前記参照リスト記述更新情報取得ステップは、前記並び替えフラグを前記第2ヘッダから取得するステップと、前記並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記参照リスト並び替え情報を前記第2ヘッダから取得するステップとを含んでもよい。
例えば、前記復号ステップは、前記選択されたバッファ記述で示される全てのピクチャのピクチャ識別子を含む参照リストを、予め定められた初期設定の参照リスト記述に従い生成するステップと、前記第1並び替えフラグを用いて、生成された前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記第1参照リスト並び替え情報に従って、前記参照リストに含まれる前記ピクチャ識別子を並び替えるステップと、前記並び替えが実行された後の参照リストを用いて処理対象のスライスを復号するステップとを含んでもよい。
例えば、前記復号ステップは、前記選択されたバッファ記述で示される全てのピクチャのピクチャ識別子を含む参照リストを、予め定められた初期設定の参照リスト記述に従い生成するステップと、前記選択されたバッファ記述に対応する前記参照リスト記述を更新するか否かを示す更新フラグを処理対象のスライスのスライスヘッダから取得するステップと、前記更新フラグを用いて、前記参照リスト記述を更新するか否かを判定するステップと、前記参照リスト記述が更新される場合に、参照リストの並び替えが実行されるか否かを示す第2並び替えフラグを前記スライスヘッダから取得するステップと、前記第2並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、当該並び替えの内容を示す第2参照リスト並び替え情報を、前記スライスヘッダから取得するステップと、前記第2参照リスト並び替え情報に従って、前記参照リストに含まれる前記ピクチャ識別子を並び替えるステップと、前記参照リスト記述が更新されない場合に、前記第1並び替えフラグを用いて、前記参照リストの並び替えが実行されるか否かを判定するステップと、前記参照リストの並び替えが実行される場合に、前記第1参照リスト並び替え情報に従って、前記参照リストに含まれる前記ピクチャ識別子を並び替えるステップと、並び替えが実行された後の参照リストを用いて前記処理対象のスライスを復号するステップとを含んでもよい。
また、本発明の一態様に係る画像符号化装置は、バッファに保持されるピクチャを指定するためのバッファ記述と、参照されるピクチャを指定するための参照リスト記述とを用いて画像を符号化することで符号化ビットストリームを生成する画像符号化装置であって、フレームメモリ制御部を備え、前記フレームメモリ制御部は、複数のバッファ記述を定義するバッファ記述定義情報をシーケンスパラメータセットに書き込むバッファ記述定義書き込み、前記複数のバッファ記述に対応する複数の参照リスト記述を定義する参照リスト記述定義情報を前記シーケンスパラメータセットに書き込む参照リスト記述定義書き込み、ピクチャ又はスライスである処理単位毎に、前記複数のバッファ記述の中から一つのバッファ記述を選択し、選択されたバッファ記述を特定するバッファ記述選択情報を、前記符号化ビットストリームに含まれる当該処理単位の第1ヘッダに書き込む選択情報書き込み、前記画像符号化装置は、前記選択されたバッファ記述と、当該選択されたバッファ記述に対応する参照リスト記述とを用いて、前記処理単位を符号化する。
これにより、本発明の一態様に係る画像符号化装置は、バッファ記述定義情報及び参照リスト記述定義情報を、複数のピクチャで共通に用いられるシーケンスパラメータセット内に書き込むとともに、選択するバッファ記述を示すバッファ記述識別子をピクチャ又はスライス単位のヘッダに書き込む。これにより、当該画像符号化装置は、バッファ記述定義情報及び参照リスト記述定義情報がピクチャパラメータセットに書き込まれる場合に比べて、冗長な情報を削減できるので、符号化効率を改善できる。
また、本発明の一態様に係る画像復号装置は、バッファに保持されるピクチャを指定するためのバッファ記述と、参照されるピクチャを指定するための参照リスト記述とを用いて符号化ビットストリームを復号する画像復号装置であって、フレームメモリ制御部を備え、前記フレームメモリ制御部は、複数のバッファ記述を定義するバッファ記述定義情報を、前記符号化ビットストリームに対応するシーケンスパラメータセットから取得し、前記複数のバッファ記述に対応する複数の参照リスト記述を定義する参照リスト記述定義情報を、前記シーケンスパラメータセットから取得し、前記複数のバッファ記述の中から一つのバッファ記述を特定するバッファ記述選択情報を、前記符号化ビットストリームに含まれる、ピクチャ又はスライスである処理単位の第1ヘッダから取得し、前記画像復号装置は、前記バッファ記述選択情報で特定されるバッファ記述と、当該バッファ記述に対応する参照リスト記述とを用いて、前記処理単位を復号する。
これにより、本発明の一態様に係る画像復号装置は、符号化効率が改善された符号化ビットストリームを復号することができる。
また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、以下では、4つの実施の形態を説明する。周期的な参照リスト記述の有用性及び適用性をさらに向上させるために、これらの実施の形態を組み合わせることが可能であることは、当業者には明らかであろう。
(実施の形態1)
本実施の形態では、SPSにバッファ記述定義情報及び参照リスト記述定義情報が書き込まれる。これにより、バッファ記述定義情報及び参照リスト記述定義情報がピクチャパラメータセットに書き込まれる場合に比べて、冗長な情報が削減されるので、符号化効率が改善される。
[符号化装置]
図3は、本実施の形態に係る画像符号化装置100の構造を示すブロック図である。
画像符号化装置100は、入力画像信号120をブロック単位で符号化することで、符号化ビットストリーム132を生成する。図3に示されているように、画像符号化装置100は、減算器101と、直交変換部102と、量子化部103と、逆量子化部104と、逆直交変換部105と、加算器106と、ブロックメモリ107と、フレームメモリ108と、イントラ予測部109と、インター予測部110と、ピクチャタイプ決定部111と、可変長符号化部112と、フレームメモリ制御部113とを備える。
入力画像信号120は、映像又は画像ビットストリームである。減算器101は、予測画像データ131と、入力画像信号120との差分を算出することで予測誤差データ121を生成する。直交変換部102は、予測誤差データ121を周波数係数122に直交変換する。量子化部103は、周波数係数122を量子化することで量子化値123を生成する。可変長符号化部112は、量子化値123をエントロピー符号化(可変長符号化)することで符号化ビットストリーム132を生成する。
逆量子化部104は、量子化値123を逆量子化することで周波数係数124を生成する。逆直交変換部105は、周波数係数122を逆直交変換することで予測誤差データ125を生成する。加算器106は、予測誤差データ125と予測画像データ131とを加算することで復号画像データ126を生成する。ブロックメモリ107は、復号画像データ126をブロック単位で復号画像データ127として保持する。フレームメモリ108は、復号画像データ126をフレーム単位で復号画像データ128として保持する。
イントラ予測部109は、イントラ予測を行うことで、符号化対象ブロックの予測画像データ129を生成する。具体的には、イントラ予測部109は、ブロックメモリ107に格納された復号画像データ127内を検索し、入力画像信号120に最も類似する画像領域を推定する。
インター予測部110は、フレームメモリ108に保存されているフレーム単位の復号画像データ128を用いてインター予測を行うことで、符号化対象ブロックの予測画像データ130を生成する。
ピクチャタイプ決定部111は、予測画像データ129及び予測画像データ130の一方を選択し、選択したデータを予測画像データ131として出力する。
フレームメモリ制御部113は、フレームメモリ108に格納された復号画像データ128を管理する。具体的には、フレームメモリ制御部113は、復号画像データ128をフレームメモリ208に保持しておくか、フレームメモリ208から削除するかを決定する。また、フレームメモリ制御部113は、インター予測部110によって使用される参照リストを作成する。さらに、フレームメモリ制御部113は、バッファ記述定義情報及び参照リスト記述定義情報を含むフレームメモリ制御情報133生成する。可変長符号化部112により、このフレームメモリ制御情報133を含む符号化ビットストリーム132が生成される。
[符号化処理]
次に、上記の画像符号化装置100による画像符号化方法について説明する。
図4は、本実施の形態に係る画像符号化方法のフローチャートである。また、図4は、複数のピクチャを含む一つの映像シーケンスに対する符号化処理を示す。
まず、画像符号化装置100は、映像シーケンスに含まれる複数のピクチャに対して用いられる、複数のバッファ記述と、複数のバッファ記述に対応する複数の参照リスト記述とを決定する(S101)。バッファ記述は、バッファ(フレームメモリ)に保持されるピクチャを指定するために用いられる。具体的には、各バッファ記述は、複数のバッファエレメントを含む。各バッファエレメントは、フレームメモリに格納される1枚の参照ピクチャに対応する固有のピクチャ識別子を含む。つまり、各バッファ記述は、フレームメモリに格納される複数の参照ピクチャを示す。
参照リスト記述は、参照されるピクチャを指定するために用いられる。具体的には、一つの参照リスト記述は、一つのバッファ記述に排他的に(一対一に)対応する。また、参照リスト記述は、参照ピクチャと参照インデックスとの対応関係を示す参照リストを生成するために用いられる。具体的には、各参照リスト記述は、参照インデックスと、それに関連付けられた参照リストに含まれる参照ピクチャを示す。この参照インデックスは、実際に参照された参照ピクチャを示す情報として、符号化ビットストリームに書き込まれ、画像符号化装置100から画像復号装置へ伝送される。また、片方向予測が用いられる場合には、一つの参照リストが用いられる。双方向予測が用いられる場合には、2つの参照リストが用いられる。
次に、画像符号化装置100は、決定された複数のバッファ記述を定義するバッファ記述定義情報を符号化ビットストリーム132に含まれるSPS(シーケンスパラメータセット)に書き込む(S102)。ここで、SPSは、映像シーケンスごとに設けられているパラメータセット(ヘッダ情報)である。
次に、画像符号化装置100は、複数の参照リスト記述を定義するための参照リスト定義情報をSPSに書き込む(S103)。
次に、画像符号化装置100は、ピクチャ毎に、当該ピクチャの符号化に使用する一つのバッファ記述を、複数のバッファ記述から選択する(S104)。なお、画像符号化装置100は、スライス毎に、一つのバッファ記述を選択してもよい。
次に、画像符号化装置100は、選択したバッファ記述を特定するバッファ記述選択情報を符号化ビットストリーム132に含まれる、処理対象のピクチャに対応するピクチャヘッダ(又は、処理対象のスライスに対応するスライスヘッダ)に書き込む(S105)。また、選択されたバッファ記述に対応する一つの参照リスト記述が選択される。
最後に、画像符号化装置100は、処理対象のピクチャ又はスライスに対して選択されたバッファ記述と、当該バッファ記述に対応する参照リスト記述とを用いて、当該処理対象のピクチャ又はスライスを符号化する(S106)。また、画像符号化装置100は、符号化により得られた符号化データを含む符号化ビットストリーム132を生成する。
以下、図4に示す参照リスト記述定義情報を書き込む処理(S103)について説明する。図5は、参照リスト記述定義情報の書き込み処理(S103)のフローチャートである。
本実施の形態では、この書き込み処理(S103)において、参照リスト記述定義情報が符号化ビットストリーム132のSPSに書き込まれる。
まず、画像符号化装置100は、初期設定の参照リストが用いられるか、又は、並び替えられた参照リスト(並び替え参照リスト)が用いられるかを決定する(S111)。ここで、初期設定の参照リストとは、画像符号化装置及び画像復号装置において、予め定められた初期設定の参照リスト作成方式に従って作成される参照リストである。つまり、同一のピクチャ(又はスライス)に対する初期設定の参照リストとして、画像符号化装置及び画像復号装置において、同一の参照リストが生成される。
次に、画像符号化装置100は、参照リストの並び替えが実行されるか否かを示す第1並び替えフラグをSPSに書き込む(S112)。次に、画像符号化装置100は、書き込まれた第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S113)。
参照リストの並び替えが実行される場合(S113でYes)、画像符号化装置100は、参照リストに含まれるピクチャ識別子を並び替えるための第1参照リスト並び替え情報をSPSに書き込み(S114)、書き込み処理(S103)を終了する。言い換えると、第1参照リスト並び替え情報は、当該ピクチャ識別子の並び替えの内容を示す。
一方、参照リストの並び替えが実行されない場合(S113でNo)、画像符号化装置100は、書き込み処理(S103)を終了する。
このように、参照リスト記述定義情報は、第1並び替えフラグと、第1参照リスト並び替え情報とを含む。
以下、図4に示す符号化処理(S106)について説明する。図6は、符号化処理(S106)の第1の形態を示すフローチャートである。
まず、画像符号化装置100は、選択されたバッファ記述に含まれる全てのピクチャ識別子を含む初期設定の参照リストを、初期設定の参照リスト作成方式に従って作成する(S121)。次に、画像符号化装置100は、参照リスト記述定義情報に含まれる第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S122)。
参照リストの並び替えが実行される場合(S123でYes)、画像符号化装置100は、参照リスト記述定義情報に含まれる参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S124)。そして、画像符号化装置100は、並び替えた後の参照リストを用いて、処理対象のピクチャ又はスライスを符号化する(S125)。
一方、参照リストの並び替えが実行されない場合(S123でNo)、画像符号化装置100は、初期設定の参照リストを用いて、処理対象のピクチャ又はスライスを符号化する(S125)。
図7は、符号化処理(S106)の第2の形態を示すフローチャートである。
まず、画像符号化装置100は、初期設定の参照リスト作成方式に従って、選択されたバッファ記述内の全てのピクチャ識別子を含む初期設定の参照リストを作成する(S131)。次に、画像符号化装置100は、参照リスト記述を更新(override)するか否かを決定する(S132)。ここで、更新とは、上位の階層で定義された参照リスト記述を下位の階層で変更することを意味する。具体的には、更新とは、SPSに含まれる参照リスト記述定義情報で定義されている参照リスト記述を、ピクチャ又はスライス単位において変更することである。
次に、画像符号化装置100は、参照リスト記述を更新するか否かを示す更新フラグを処理対象のスライスのスライスヘッダに書き込む(S133)。次に、画像符号化装置100は、更新フラグを用いて、参照リスト記述を更新するか否かを判定する(S134)。
参照リスト記述を更新する場合(S134でYes)、画像符号化装置100は、参照リストの並び替えが実行されるか否かを示す第2並び替えフラグを処理対象のスライスのスライスヘッダに書き込む(S135)。次に、画像符号化装置100は、第2並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S136)。
参照リストの並び替えが実行される場合(S136でYes)、画像符号化装置100は、参照リストに含まれるピクチャ識別子を並び替えるための第2参照リスト並び替え情報を処理対象のスライスのスライスヘッダに書き込む(S137)。次に、画像符号化装置100は、第2参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S138)。
次に、画像符号化装置100は、並び替えられた参照リストを用いて処理対象のスライスを符号化する(S142)。
一方、参照リスト記述を更新しない場合(S134でNo)、画像符号化装置100は、参照リスト記述定義情報に含まれる第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S139及びS140)。
参照リストの並び替えが実行される場合(S140でYes)、画像符号化装置100は、参照リスト記述定義情報に含まれる第1参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S141)。
次に、画像符号化装置100は、並び替えられた参照リストを用いて処理対象のスライスを符号化する(S142)。
一方、参照リストの並び替えが実行されない場合(S136でNo、又は、S140でNo)、画像符号化装置100は、初期設定の参照リストを用いて処理対象のスライスを符号化する(S142)。
[シンタックスダイアグラム]
図8A及び図8Bは、本実施の形態における、符号化ビットストリーム内でのバッファ記述定義情報及び参照リスト記述定義情報の位置を示すシンタックスダイアグラムである。2つのシンタックス位置の例を以下に説明する。
図8Aに示す符号化ビットストリーム132は、SPS301(SPS0)と、複数のPPS302(PPS0及びPPS1)と、複数のピクチャデータ303とを含む。各ピクチャデータ303は、ピクチャヘッダ331と、ピクチャデータ部332とを含む。ピクチャデータ部332は、複数のスライスデータ335を含む。
SPS301は、バッファ記述定義情報312(BD define)と、参照リスト記述定義情報313(RLD define)と、SPS識別子311(sps_id)とを含む。
バッファ記述定義情報312は、複数のバッファ記述315を定義する。例えば、各バッファ記述315は、上述したバッファ記述515と同様に、複数のバッファエレメントを含む。また、バッファ記述定義情報312は、当該バッファ記述定義情報312に含まれるバッファ記述315の数を示すバッファ記述数314(number_of_bds)を含む。
参照リスト記述定義情報313は、複数の参照リスト記述316を定義する。一つの参照リスト記述316(例えばRLD2)は、一つのバッファ記述315(例えばBD2)に排他的に関連付けられている。また、SPS301は、固有のSPS識別子311(例えばsps_id=0)によって識別される。
各PPS302は、SPS選択情報321(sps_select)と、PPS識別子322(pps_id)とを含む。SPS選択情報321(例えばsps_select=0)は、参照先のSPS301を示す。また、各PPS302は、固有のPPS識別子322(例えばpps_id=0)によって識別される。
ピクチャヘッダ331は、PPS選択情報(pps_select)333と、バッファ記述選択情報334(bd_select)とを含む。
PPS選択情報333(例えばpps_select=0)は、参照先のPPS302を示す。このPPS選択情報333により、ピクチャヘッダ331から一つのPPS302が参照される。さらに、PPS302に含まれるSPS選択情報321により、参照されたPPS302からSPS301が参照される。これにより、符号化対象のピクチャが、SPS301において定義されている利用可能な複数のバッファ記述と複数の参照リスト記述とに関連付けられる。
バッファ記述選択情報334(例えばbd_select=2)は、複数のバッファ記述のうち一つを特定する。これにより、複数のバッファ記述及び複数の参照リスト記述の中から、一つのバッファ記述とそれに対応する一つの参照リスト記述とが選択される。
ピクチャデータ303に含まれるスライスデータ335は、選択されたバッファ記述と選択された参照リスト記述とに従って、順番に並べられた参照ピクチャを用いて符号化及び復号される。
また、図8Bに示すように、各スライスデータ335は、スライスヘッダ341と、スライスデータ部342とを含む。スライスデータ部342は、複数のCU(Coding Unit)データ343を含む。
また、符号化ビットストリーム132Aでは、PPS選択情報333及びバッファ記述選択情報334がピクチャヘッダ331Aに含まれず、スライスヘッダ341に含まれる。この場合も、図8Aに示す場合と同様の効果を実現できる。
なお、上記説明における「スライス」を「サブピクチャユニット」に置き換えてもよい。サブピクチャユニットとは、例えば、タイル、エントロピースライス、及び波面処理のサブピクチャ分割を構成するブロック群(WPP(Wavefront Parallel Processing unit))などである。
上記のバッファ記述定義情報及び参照リスト記述定義情報は、図9に示すテーブルに示す擬似コードに従って、SPSのシンタックス構造において信号送信される。
記述子(Descriptor)は、AVC映像符号化方式と同じビット表現による各シンタックスエレメントの解析処理を定義する。
ue(v)は、左ビットが先頭である無符号整数の指数ゴロム符号化シンタックスエレメントである。
u(n):は、nビットの無符号整数である。シンタックステーブルにおいてnが「v」であるとき、ビット数は、他のシンタックスエレメントの値に依存して変動する。
以下、バッファ記述定義情報と参照リスト記述定義情報とを表すシンタックスエレメントに関連付けられた意味を説明する。また、以下のシンタックスエレメントがSPS301に含まれる。
bits_for_temporal_idは、first_temporal_id及びtemporal_idのビット数を示す。
number_of_bds(バッファ記述数314)は、SPS301に含まれるnumber_of_bes_minus1の数を示す。つまり、number_of_bdsは、SPS301に含まれるバッファ記述315の数を示す。
number_of_bes_minus1[i]は、バッファ記述BD[i]に含まれるバッファエレメントの数を示す。
first_delta_poc_sign_flag[i]は、対象ピクチャと、バッファ記述BD[i]に含まれるバッファエレメントBE[i][0]に関連付けられた参照ピクチャとのPOCの差分の符号(正負)を示す。first_delta_poc_sign_flag[i]がゼロであるとき、POCの差分が正の値であることを意味し、first_delta_poc_sign_flag[i]が「1」であるとき、POCの差分が負の値であることを意味する。
first_delta_poc_minus1[i]は、対象ピクチャと、バッファ記述BD[i]に含まれるバッファエレメントBE[i][0]に関連付けられた参照ピクチャとのPOCの差分絶対値を示す。first_delta_poc_sign_flag[i]及びfirst_delta_poc[i]は、符号付き変数BDDeltaPOC[i][0]の値を以下のように定義する。
BDDeltaPOC[i][0]=
(first_delta_poc_minus1[i]+1)
×(1−2×first_delta_poc_sign_flag[i])
BDDeltaPOC[i][0]を、バッファ記述BD[i]に含まれる複数のバッファエレメントBE[i][j]に関連付けられた全ての参照ピクチャの中で、最大の符号付きPOC差分値とする。
first_temporal_id[i]は、時間識別子を意味し、bits_for_temporal_idビットによって表される。first_temporal_id[i]は、無符号の変数BDTemporalID[i][0]の値を以下のように定義する。
BDTemporalID[i][0]=first_temporal_id[i]
delta_poc_minus1[i][j]は、バッファ記述BD[i]に含まれるバッファエレメントBE[i][j]に関連付けられた参照ピクチャから、バッファエレメントBE[i][j+1]に関連付けられた参照ピクチャまでのPOCの負の距離値を示す。delta_poc_minus1[i][j]は、符号付き変数BDDeltaPOC[i][j+1]の値を以下のように定義する。
BDDeltaPOC[i][j+1]=
BDDeltaPOC[i][j]−(delta_poc_minus1[i][j]+1)
temporal_id[i][j]は、時間識別子を意味し、bits_for_temporal_idビットによって表される。temporal_id[i]は、無符号の変数BDTemporalID[i][j+1]の値を以下のように定義する。
BDTemporalID[i][j+1]=temporal_id[i][j]
ref_pic_list_modification_flag_l0[i]が「1」であるとき、バッファ記述BD[i]に対応する参照ピクチャリストRL0[i]を特定するために、num_ref_idx_l0_active_minus1[i]及びmore_modification_flagが存在することを意味する。ref_pic_list_modification_flag_l0[i]がゼロであるとき、num_ref_idx_l0_active_minus1[i]及びmore_modification_flagが存在しないことを意味する。
ref_pic_list_modification_flag_l0[i]が「1」であるとき、ref_pic_list_modification_flag_l0[i]に続くmore_modification_flagが「1」である回数がnum_ref_idx_l0_active_minus1[i]+1を超えないものとする。
ref_pic_list_modification_flag_l1[i]が「1」であるとき、バッファ記述BD[i]に対応する参照ピクチャリストRL1[i]を特定するために、num_ref_idx_l1_active_minus1[i]及びmore_modification_flagが存在することを意味する。ref_pic_list_modification_flag_l1[i]がゼロであるとき、num_ref_idx_l1_active_minus1[i]及びmore_modification_flagが存在しないことを意味する。
ref_pic_list_modification_flag_l1[i]が「1」であるとき、ref_pic_list_modification_flag_l1[i]に続くmore_modification_flagが「1」である回数が(num_ref_idx_l1_active_minus1[i]+1)を超えないものとする。
num_ref_idx_l0_active_minus1[i]は、バッファ記述BD[i]に対応する参照ピクチャリストRL0[i]に対する最大参照インデックスを示す。
num_ref_idx_l1_active_minus1[i]は、バッファ記述BD[i]に対応する参照ピクチャリストRL1[i]に対する最大参照インデックスを示す。
be_idxを伴うmore_modification_flagは、どの参照ピクチャがリマッピングされるかを意味する。more_modification_flagが「1」であるとき、be_idxがmore_modification_flagの直後に存在することを意味する。more_modification_flagがゼロであるとき、参照ピクチャリストに含まれる参照ピクチャのリマッピングのループの終了を意味する。
be_idx_in_ref_pic_listは、対象バッファ記述BD[i]においてバッファエレメントBE[i][be_idx]に関連付けられた参照ピクチャを示す。be_idxは、バッファ記述BD[i]に関連付けられた対象参照リストRL0[i]又はRL1[i]において、リマッピングされるピクチャを識別する。本実施の形態において、参照リストに含まれる参照ピクチャに対するリマッピング処理は、AVC映像符号化方式と同じ方式に従って実行される。
変数又はリストであるBDDeltaPOC[i]及びBDTemporalID[i]は、複数の周期的バッファ記述BD[i]を表す。この後、この複数のバッファ記述の中から一つが選択され、選択されたバッファ記述が上述のスライス符号化及び復号処理において用いられる。
なお、シンタックスループを記述するバッファ記述定義情報と、参照リスト記述定義情報とを一つに結合してもよい。このような態様では、参照リスト記述を定義するパラメータの位置は、対応するバッファ記述を定義するパラメータの直後である。図8Aの例において、パラメータの順番は、[number_of_bds=3]、[BD0 define]、[RLD0 define]、[BD1 define]、[RLD1 define]、[BD2 define]、[RLD2 define]となる。
[符号化方法の効果]
以上により、本実施の形態に係る画像符号化装置100は、参照リストの作成のための同じパラメータが、符号化ビットストリームにおいて冗長に繰り返されることを防ぐことができる。これにより、当該画像符号化装置100は、参照リストの作成を記述するパラメータの符号化効率の向上できる。さらに、当該画像符号化装置100は、参照リストを記述するデータユニットと、バッファ記述データユニットとの設計上の協調、及び、符号化ビットストリームの階層的に構築された信号ユニットの設計上の協調を実現できる。
[復号装置]
図10は、本実施の形態に係る画像復号装置200の構造を示すブロック図である。
図10に示す画像復号装置200は、符号化ビットストリーム232をブロック単位で復号することで、復号画像データ226を生成する。この画像復号装置200は、可変長復号部212と、逆量子化部204と、逆直交変換部205と、加算器206と、ブロックメモリ207と、フレームメモリ208と、イントラ予測部209と、インター予測部210と、ピクチャタイプ決定部211と、フレームメモリ制御部213とを備える。
符号化ビットストリーム232は、例えば、上記画像符号化装置100により生成された符号化ビットストリーム132である。
可変長復号部212は、符号化ビットストリーム232を可変長復号(エントロピー復号)することで、量子化値223及びフレームメモリ制御情報233を生成する。ここで、フレームメモリ制御情報233は、上述したフレームメモリ制御情報133に対応する。
逆量子化部204は、量子化値223を逆量子化することで周波数係数224を生成する。逆直交変換部205は、周波数係数224を逆周波数変換することで予測誤差データ225を生成する。加算器206は、予測誤差データ225と予測画像データ231とを加算することで復号画像データ226を生成する。この復号画像データ226は、画像復号装置200から出力され、例えば、表示される。
ブロックメモリ207は、復号画像データ226をブロック単位で復号画像データ227として保持する。フレームメモリ208は、復号画像データ226をフレーム単位で復号画像データ228として保持する。
イントラ予測部209は、イントラ予測を行うことで、復号対象ブロックの予測画像データ229を生成する。具体的には、イントラ予測部209は、ブロックメモリ207に格納された復号画像データ227内を検索し、復号画像データ226に最も類似する画像領域を推定する。
インター予測部210は、フレームメモリ208に保存されているフレーム単位の復号画像データ228を用いてインター予測を行うことで、復号対象ブロックの予測画像データ230を生成する。
ピクチャタイプ決定部211は、予測画像データ229及び予測画像データ230の一方を選択し、選択したデータを予測画像データ231として出力する。
フレームメモリ制御部213は、フレームメモリ208に格納された復号画像データ228を管理する。具体的には、フレームメモリ制御部213は、フレームメモリ制御情報233に従ってメモリ管理処理を行う。フレームメモリ制御部213は、復号画像データ128をフレームメモリ208に保持しておくか、フレームメモリ208から削除するかを決定する。また、フレームメモリ制御部213は、インター予測部210によって使用される参照リストを作成する。
[復号処理]
次に、上記の画像復号装置200による画像復号方法について説明する。
図11は、本実施の形態に係る画像復号方法のフローチャートである。また、図11は、複数のピクチャを含む一つの映像シーケンスに対する復号処理を示す。
まず、画像復号装置200は、符号化ビットストリーム232に含まれるSPSから、複数のバッファ記述を定義するバッファ記述定義情報を取得する(S201)。次に、画像復号装置200は、上記SPSから、複数の参照リスト記述を定義する参照リスト記述定義情報を取得する(S202)。ここで、複数の参照リスト記述は、複数のバッファ記述に一対一で対応する。
次に、画像復号装置200は、符号化ビットストリーム232に含まれるピクチャヘッダ(又はスライスヘッダ)からバッファ記述選択情報を取得する(S203)。そして、画像復号装置200は、処理対象のピクチャ(又はスライス)に対して、複数のバッファ記述の中から、バッファ記述選択情報で指定される一つのバッファ記述を選択する(S204)。また、画像復号装置200は、選択されたバッファ記述に対応する一つの参照リスト記述を選択する。
最後に、画像復号装置200は、選択されたバッファ記述と、選択された参照リスト記述とを用いて、処理対象のピクチャ(又はスライス)を復号する(S205)。
以下、図11に示す参照リスト記述定義情報の取得処理(S202)について説明する。図12は、参照リスト記述定義情報の取得処理のフローチャートである。
本実施の形態では、この取得処理において、符号化ビットストリーム232のSPSから参照リスト記述定義情報が取得される。
まず、画像復号装置200は、SPSから、参照リスト記述定義情報に含まれる第1並び替えフラグを取得する(S212)。第1並び替えフラグは、参照リストの並び替えが実行されるか否かを示す。次に、画像復号装置200は、第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S213)。
参照リストの並び替えが実行される場合(S213でYes)、画像復号装置200は、SPSから、参照リスト記述定義情報に含まれる第1参照リスト並び替え情報を取得し(S214)、参照リスト記述定義情報の取得処理(S202)を終了する。第1参照リスト並び替え情報は、参照リストに含まれるピクチャ識別子に対する並び替えの内容を示す。
一方、参照リストの並び替えが実行されない場合(S213でNo)、画像復号装置200は、参照リスト記述定義情報の取得処理(S202)を終了する。
以下、図11に示す復号処理(S205)について説明する。図13は、復号処理(S205)の第1の形態を示すフローチャートである。
まず、画像復号装置200は、初期設定の参照リスト作成方式に従って、バッファ記述に含まれる全てのピクチャ識別子を含む初期設定の参照リストを作成する(S221)。次に、画像復号装置200は、第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S222)。
参照リストの並び替えが実行される場合(S223でYes)、画像復号装置200は、第1参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S224)。そして、画像復号装置200は、並び替えた後の参照リストを用いて、処理対象のピクチャ又はスライスを復号する(S225)。
一方、参照リストの並び替えが実行されない場合、画像復号装置200は、初期設定の参照リストを用いて処理対象のピクチャ又はスライスを復号する(S225)。
図14は、復号処理(S205)の第2の形態を示すフローチャートである。
まず、画像復号装置200は、初期設定の参照リスト作成方式に従って、バッファ記述に含まれる全てのピクチャ識別子を含む初期設定の参照リストを作成する(S231)。次に、画像復号装置200は、処理対象のスライスのスライスヘッダから、参照リスト記述を更新するか否かを示す更新フラグを取得する(S232)。次に、画像復号装置200は、取得された更新フラグを用いて、参照リスト記述を更新するか否かを判定する(S233)。
参照リスト記述を更新する場合(S234でYes)、画像復号装置200は、処理対象のスライスのスライスヘッダから、参照リスト並び替えが実行されるか否かを示す第2並び替えフラグを取得する(S235)。次に、画像復号装置200は、取得された第2並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S236)。
参照リストの並び替えが実行される場合(S236でYes)、画像復号装置200は、参照リストに含まれるピクチャ識別子を並び替えるために、上記スライスヘッダから第2参照リスト並び替え情報を取得する(S237)。次に、画像復号装置200は、取得された第2参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S238)。次に、画像復号装置200は、並び替えられた参照リストを用いて処理対象のスライスを復号する(S242)。
一方、参照リスト記述を更新しない場合(S234でNo)、画像復号装置200は、参照リスト記述定義情報に含まれる第1並び替えフラグを用いて、参照リストの並び替えが実行されるか否かを判定する(S239及びS240)。
参照リストの並び替えが実行される場合(S240でYes)、画像復号装置200は、参照リスト記述定義情報に含まれる参照リスト並び替え情報に従って、参照リストに含まれるピクチャ識別子を並び替える(S241)。次に、画像復号装置200は、並び替えられた参照リストを用いて処理対象のスライスを復号する(S242)。
一方、参照リストの並び替えが実行されない場合(S236でNo、又はS240でNo)、画像復号装置200は、初期設定の参照リストを用いて処理対象のスライスを復号する(S242)。
[復号方法の効果]
以上により、本実施の形態に係る画像復号装置200は、符号化効率が向上され、かつ参照リスト記述データとの設計上の協調がなされた符号化処理によって符号化された、符号化ビットストリームを復号することができる。
(実施の形態2)
本実施の形態では、上記実施の形態1の変形例について説明する。本実施の形態に係る画像符号化装置は、さらに、バッファ記述を修正するためのバッファ記述更新情報と、参照リスト記述を修正するための参照リスト記述更新情報とを、PPSに書き込む。
なお、以下では、実施の形態1との相違点を主に説明し、重複する説明は省略する。
[符号化装置]
本実施の形態に係る画像符号化装置100のブロック図は図3と同様であり、説明は省略する。
[符号化処理]
以下、本実施の形態に係る画像符号化装置100による画像符号化方法について説明する。
図15は、本実施の形態に係る画像符号化方法のフローチャートである。図15に示す処理は、図4に示した実施の形態1に係る画像符号化方法に対して、ステップS301〜S303が追加されている。
ステップS103の後、画像符号化装置100は、複数のバッファ記述及び複数の参照リスト記述を修正する(S301)。具体的には、画像符号化装置100は、複数のバッファ記述のうち1以上バッファ記述、及び当該1以上バッファ記述に対応する参照リスト記述を修正する。なお、画像符号化装置100は、元のバッファ記述を修正するのではなく、新たなバッファ記述とそれに対応する新たな参照リスト記述とを追加してもよい。また、画像符号化装置100は、バッファ記述の一部又は全てを修正してもよい。例えば、画像符号化装置100は、バッファ記述に含まれる複数のバッファエレメントの一部を修正してもよいし、全てを修正してもよい。この場合、画像符号化装置100は、バッファ記述の修正した部分に対応する参照リスト記述の部分を修正する。
次に、画像符号化装置100は、複数のバッファ記述の中から一部のバッファ記述を修正するために、当該修正の内容を示すバッファ記述更新情報を、符号化ビットストリーム132のPPSに書き込む(S302)。次に、画像符号化装置100は、バッファ記述の修正された部分に対応する修正された参照リスト記述を定義する参照リスト記述更新情報を、上記PPSに書き込む(S303)。ここで、一つの修正された参照リスト記述は、一つのバッファ記述に排他的に対応する。
なお、新たなバッファ記述及び参照リスト記述が作成されることがステップS301で決定された場合には、バッファ記述更新情報、及び参照リスト記述更新情報は、新たに追加されたバッファ記述とそれに対応する新たな参照リスト記述とを定義する情報を含む。
また、修正されたバッファ記述が選択された場合に、参照リスト記述更新情報がステップS303において書き込まれる。これにより、参照リスト記述定義情報で定義されている参照リスト記述が、修正された参照リスト記述に置き換えられる(更新される)。
次に、画像符号化装置100は、修正された後の複数のバッファ記述の中から一つのバッファ記述を選択し(S104)、選択したバッファ記述を特定するバッファ記述選択情報を、符号化ビットストリーム132に含まれる処理対象のピクチャのピクチャヘッダに書き込む(S105)。最後に、画像符号化装置100は、選択されたバッファ記述及び参照リスト記述を用いて、処理対象のピクチャ又はスライスを符号化する(S106)。
なお、ステップS103及びS106の詳細は、図5〜図7に示す実施の形態1の処理と同様である。
以下、参照リスト記述更新情報の書き込み処理(S303)について説明する。図16は、参照リスト記述更新情報の書き込み処理(S303)のフローチャートである。本実施の形態では、書き込み処理(S303)において、参照リスト記述更新情報が符号化ビットストリーム132のPPSに書き込まれる。
まず、画像符号化装置100は、初期設定の参照リストを用いるか、並び替えられた参照リストを用いるかを決定する(S311)。次に、画像符号化装置100は、参照リストの並び替えを実行するか否かを示す第3並び替えフラグをPPSに書き込む(S312)。次に、画像符号化装置100は、書き込まれた第3並び替えフラグを用いて、参照リストの並び替えを実行するか否かを判定する(S313)。
参照リストの並び替えが実行される場合(S313でYes)、画像符号化装置100は、参照リストに含まれるピクチャ識別子を並び替えるために、当該並び替えの内容を示す第3参照リスト並び替え情報をPPSに書き込み(S314)、書き込み処理(S303)を終了する。
一方、参照リストの並び替えが実行されない場合(S313でNo)、画像符号化装置100は、書き込み処理(S303)を終了する。
このように、参照リスト記述更新情報は、第3並び替えフラグと、第3参照リスト並び替え情報とを含む。
[シンタックスダイアグラム]
図17A及び図17Bは、本実施の形態における、符号化ビットストリーム内でのバッファ記述更新情報及び参照リスト記述更新情報の位置を示すシンタックスダイアグラムである。2つのシンタックス位置の例を以下に説明する。
図17Aに示す符号化ビットストリーム132Bは、図8Aに示す符号化ビットストリーム132に対して、PPS302BがPPS302と異なる。具体的には、PPS302Bは、さらに、バッファ記述更新情報323(BD update)と、参照リスト記述更新情報324(RLD update)とを含む。
バッファ記述更新情報323は、更新数情報325(number_of_bd_updates)と、1以上の更新情報326とを含む。各更新情報326は、バッファ記述選択情報327(bd_select)と、バッファ記述修正情報328(BD modify)とを含む。
更新数情報325(例えば、number_of_bd_updates=2)は、修正されるバッファ記述の数及びそれに対応する参照リスト記述の数を示す。
バッファ記述選択情報327は、更新するバッファ記述を特定する。バッファ記述修正情報328は、バッファ記述の修正内容を示す。
参照リスト記述更新情報324は、1以上の参照リスト定義情報329(RLD define)を含む。各参照リスト定義情報329は、更新されたバッファ記述に対応する参照リスト記述を定義する。
また、図17Bに示す符号化ビットストリーム132Cでは、PPS選択情報333及びバッファ記述選択情報334がピクチャヘッダ331Aに含まれず、スライスヘッダ341に含まれる。この場合も、図17Aに示す場合と同様の効果を実現できる。
なお、バッファ記述更新情報323及び参照リスト記述更新情報324は、符号化ビットストリームに含まれるPPS以外に、信号ユニット内に配置されてもよい。このような他の信号ユニットは、1以上のピクチャに含まれる複数のスライスによって共通で用いられているパラメータを含むという点において、PPSと同じ特徴を有する。PPSからこれらの他の信号ユニットへの拡張及び適応は、当業者にとって明らかであろう。
上記のバッファ記述更新情報及び参照リスト記述更新情報は、図18に示すテーブルにおける擬似コードに従って、シーケンスパラメータセットのシンタックス構造において信号送信される。
なお、記述子(Descriptor)の意味は、図9と同様である。
バッファ記述更新情報を示すシンタックスエレメントに関連付けられた意味を、以下に示す。
number_of_bd_updatesは、シンタックスエレメントbd_selectがPPS内に存在する回数を意味する。つまり、number_of_bd_updatesは、PPSによって修正されるバッファ記述の数を表す。
bd_selectは、PPSによって修正されるバッファ記述BD[bd_select]を表すBDDeltaPOC及びBDTemporalIDのリストへのインデックスを示す。
bd_modification_operationは、選択されたバッファ記述BD[bd_select]に対して適用される修正工程を示す。bd_modification_operationがゼロであるときには、バッファ記述BD[bd_select]を修正するためのループの終了を意味する。bd_modification_operationは、syntax element bd_selectの直後においては、ゼロではないとする。
本態様において、bd_modification_operationが「1」であるときに、バッファ記述BD[bd_select]においてbe_idx_in_bd_updateによって示されるバッファエレメントに、対象ピクチャに対するPOC差分値が付与される。そして、このPOC差分値は、現在格納されているPOC差分値と置き換えられる。
別の態様において、bd_modification_operationによって示される追加のバッファ記述修正工程を定義してもよい。この一例として、バッファエレメントによって示されるピクチャに対して、ショートターム参照ピクチャ又はロングターム参照ピクチャであることを示すマーキングを付与するための工程が挙げられる。また別の例としては、新たな追加のバッファ記述を定義する工程である。この場合、bd_selectは複数の新たな(存在しない)バッファ記述に対するインデックスを示し、後続のバッファ記述修正工程によって、ピクチャ識別子を新たなバッファ記述内のバッファエレメントに付与する。
be_idx_in_bd_updateは、バッファ記述BD[bd_select]において修正されるバッファエレメントを示す。
delta_poc_sign_flagは、対象ピクチャと、バッファ記述BD[bd_select]内のバッファエレメントBE[bd_select][be_idx_in_bd_update]に関連付けられた参照ピクチャとのPOCの差分の符号(正負)を示す。delta_poc_sign_flagがゼロであるとき、POCの差分は正の値であることを意味し、delta_poc_sign_flagが「1」であるとき、POCの差分は負の値であることを意味する。
delta_poc_minus1は、対象ピクチャとバッファ記述BD[bd_select]内のバッファエレメントBE[bd_select][be_idx_in_bd_update]と関連付けられる参照ピクチャとのPOC絶対差分値を示す。first_delta_poc_sign_flagとfirst_delta_pocとが、符号付き変数BDDeltaPOC[bd_select][be_idx_in_bd_update]の値を以下のように定義する。
BDDeltaPOC[bd_select][be_idx_in_bd_update]
=(delta_poc_minus1+1)
×(1−2×delta_poc_sign_flag)
temporal_idは、時間識別子を意味し、bits_for_temporal_id ビットによって表される。temporal_idは、無符号の変数BDTemporalID[bd_select][be_idx_in_bd_update]の値を以下のように定義する。
BDTemporalID[bd_select][be_idx_in_bd_update]=temporal_id
上記で詳細に説明したように、参照リスト記述更新情報を表すシンタックスエレメントに関連付けられた意味は、参照リスト記述定義情報を表すシンタックスエレメントに関連付けられた意味と同じである。上述したように、バッファ記述がPPSによって修正されるときには、参照リスト記述更新情報が、修正された参照リスト記述を定義するために書き込まれる。参照されたアクティブなSSPによって以前に定義された初期参照リスト記述が、上記修正された参照リスト記述に置き換えられる(更新される)。
なお、シンタックスループを記述するバッファ記述更新情報と、参照リスト記述更新情報とを一つに結合してもよい。このような態様では、修正された参照リスト記述を定義するためのパラメータの位置は、対応するバッファ記述を修正するためのパラメータの直後である。図17Aの例において、パラメータの順番は、[number_of_bd_updates=2]、[bd_select=2]、[BD2 modify]、[RLD2 define]、[bd_select = 3]、[BD3 modify]、[RLD3 define]となる。
[符号化方法の効果]
以上により、本実施の形態に係る画像符号化装置100は、参照リストの作成のための同じパラメータが、符号化ビットストリームにおいて冗長に繰り返されることを防ぐことができる。これにより、当該画像符号化装置100は、参照リストの作成を記述するパラメータの符号化効率の向上できる。さらに、当該画像符号化装置100は、参照リストを記述するデータユニットと、バッファ記述データユニットとの設計上の協調、及び、符号化ビットストリームの階層的に構築された信号ユニットの設計上の協調を実現できる。
[復号装置]
本実施の形態に係る画像復号装置200のブロック図は図10と同様であり、説明は省略する。
[復号処理]
以下、本実施の形態に係る画像復号装置200による画像復号方法について説明する。
図19は、本実施の形態に係る画像復号方法のフローチャートである。図19に示す処理は、図11に示した実施の形態1に係る画像復号方法に対して、ステップS401及びS402が追加されている。
ステップS202の後、画像復号装置200は、複数のバッファ記述を修正するために、バッファ記述更新情報を、符号化ビットストリーム232のPPSから取得する(S401)。次に、画像復号装置200は、修正されたバッファ記述に対応する修正された参照リスト記述を定義するために、参照リスト記述更新情報を、上記PPSから取得する(S402)。ここで、一つの修正された参照リスト記述は、修正されたバッファ記述の一つに排他的に対応する。
次に、画像復号装置200は、修正された複数のバッファ記述の中から一つのバッファ記述を選択するために、バッファ記述選択情報を、符号化ビットストリーム232に含まれる処理対象のピクチャのピクチャヘッダから取得する(S203)。次に、画像復号装置200は、処理対象のピクチャ(又はスライス)に対して、バッファ記述選択情報で指定される一つのバッファ記述と、当該バッファ記述に対応する一つの参照リスト記述を選択する(S204)。最後に、画像復号装置200は、選択されたバッファ記述と対応する参照リスト記述とを用いて、処理対象のピクチャ又はスライスを復号する(S205)。
なお、ステップS202及びS205の詳細は、図12〜図14に示す実施の形態1の処理と同様である。
以下、参照リスト記述更新情報の取得処理(S402)について説明する。図20は、参照リスト記述更新情報の取得処理(S402)のフローチャートである。本実施の形態では、取得処理(S402)において、符号化ビットストリーム232のPPSから参照リスト記述更新情報が取得される。
まず、画像復号装置200は、参照リスト記述更新情報に含まれる、参照リストの並び替えが実行されるか否かを示す第3並び替えフラグを取得する(S412)。次に、画像復号装置200は、取得された第3並び替えフラグを用いて、参照リストの並び替えが行われるか否かを判定する(S413)。
参照リストの並び替えが実行される場合(S413でYes)、画像復号装置200は、参照リストにおけるピクチャ識別子を並び替えるために、当該並び替えの内容を示す参照リスト並び替え情報を取得し(S414)、取得処理(S402)を終了する。
一方、参照リストの並び替えが実行されない場合(S423でNo)、画像復号装置200は、取得処理(S402)を終了する。
[復号方法の効果]
以上により、本実施の形態に係る画像復号装置200は、符号化効率が向上され、かつ参照リスト記述データとの設計上の協調がなされた符号化処理によって符号化された、符号化ビットストリームを復号することができる。
(実施の形態3)
本実施の形態では、上記実施の形態2の変形例について説明する。本実施の形態における符号化ビットストリームでは、バッファ記述更新情報及び参照リスト記述更新情報の構成が、実施の形態2と異なる。なお、以下では、実施の形態1又は2との相違点を主に説明し、重複する説明は省略する。
[符号化装置]
本実施の形態に係る画像符号化装置100のブロック図は図3と同様であり、説明は省略する。
[符号化処理]
以下、本実施の形態に係る画像符号化装置100による画像符号化方法について説明する。
図21は、本実施の形態に係る画像符号化方法のフローチャートである。図21に示す処理は、図4に示した実施の形態1に係る画像符号化方法に対して、ステップS301A〜S303Aが追加されている。また、ステップS105Aの処理がステップS105と異なる。
ステップS104の後、画像符号化装置100は、選択されたバッファ記述と、対応する参照リスト記述とに対する修正を決定する(S301A)。次に、画像符号化装置100は、選択されたバッファ記述を選択して修正するために、当該修正の内容を示すバッファ記述更新情報を、符号化ビットストリーム132のPPSに書き込む(S302A)。次に、画像符号化装置100は、選択されたバッファ記述に対応する修正された参照リスト記述を定義する参照リスト記述更新情報を、上記PPSに書き込む(S303A)。
ここでバッファ記述更新情報は、選択されたバッファ記述が修正されたか否かを示すパラメータを含む。選択されたバッファ記述が修正される場合には、参照リスト更新情報により修正された参照リスト記述が定義される。この修正された参照リスト記述は、上記選択されたバッファ記述に対応する初期参照リスト記述と置き換えられる。上記選択されたバッファ記述が修正されない場合には、上記参照リスト更新情報は、上記PPS内に存在せず、選択されたバッファ記述に対応する上記初期参照リスト記述が適用される。
次に、画像符号化装置100は、上記PPSが上記ピクチャに参照されていることを示すために、PPS選択情報を符号化ビットストリーム132に含まれる処理対象のピクチャのピクチャヘッダ(又は、処理対象のスライスのスライスヘッダ)に書き込む(S105A)。これによって、対応する一つのバッファ記述及びそれに対応する一つの参照リスト記述が参照される。最後に、画像符号化装置100は、選択されたバッファ記述及び参照リスト記述を用いて、処理対象のピクチャ又はスライスを符号化する(S106)。
なお、ステップS103及びS106の詳細は、図5〜図7に示す実施の形態1の処理と同様である。また、ステップS303Aの詳細は、図16に示す実施の形態2の処理と同様である。
[シンタックスダイアグラム]
図22A及び図22Bは、本発明の例示的な実施の形態における、符号化ビットストリーム内でのバッファ記述更新情報及び参照リスト記述更新情報の位置を示すシンタックスダイアグラムである。2つのシンタックス位置の例を以下に説明する。
図22Aに示す符号化ビットストリーム132Dは、図17Aに示す符号化ビットストリーム132Bに対して、PPS302Dに含まれるバッファ記述更新情報323D及び参照リスト記述更新情報324Dが、PPS302Bに含まれるバッファ記述更新情報323及び参照リスト記述更新情報324と異なる。また、ピクチャヘッダ331Dがピクチャヘッダ331と異なる。
バッファ記述更新情報323Dは、選択された一つのバッファ記述を特定するバッファ記述選択情報351(例えば、bd_select=2)と、選択されたバッファ記述及び当該バッファ記述に対応する参照リスト記述が修正されるか否かを示すバッファ記述修正フラグ352(例えば、modify_flag=1)とを含む。バッファ記述修正フラグ352により修正が行われることが示される場合には、バッファ記述更新情報323Dは、さらに、バッファ記述修正情報328(BD modify)を含む。また、バッファ記述修正フラグ352により修正が行われることが示される場合、PPS302Bは、修正された参照リストを定義する参照リスト定義情報329(RLD define)を含む参照リスト記述更新情報324Dを含む。一方、バッファ記述修正フラグ352により、修正が行われないことが示される場合には、PPS302Dは、バッファ記述修正情報328及び参照リスト定義情報329を含まない。
なお、ピクチャヘッダ331Dには、バッファ記述選択情報334が含まれない。
以上により、PPS302Dは、PPS識別子322(例えばpps_id=0)によって識別され、PPS選択情報333(例えばpps_select=0)を用いて、ピクチャヘッダ331Dにおいて参照される。PPS302Dが参照されるときには、選択されたバッファ記述及びそれに関連付けられた参照リスト記述も参照される。処理対象のピクチャに含まれるスライス(又はサブピクチャユニット)は、選択されたバッファ記述と選択された参照リスト記述とに従って、順番に並べられた参照ピクチャを用いて符号化又は復号される。
また、図22Bに示す符号化ビットストリーム132Eでは、PPS選択情報333がピクチャヘッダ331Aに含まれず、スライスヘッダ341Eに含まれる。この場合も、図22Aに示す場合と同様の効果を実現できる。
なお、バッファ記述更新情報323D及び参照リスト記述更新情報324Dは、符号化ビットストリームに含まれるPPS以外に、信号ユニット内に配置されてもよい。
上記のバッファ記述定義情報及び参照リスト記述定義情報は、上記で詳細に説明した擬似コードに従って、シーケンスパラメータセットのシンタックス構造において信号送信される。バッファ記述更新情報及び参照リスト記述更新情報は、図23に示すテーブルにおける擬似コードに従って、シーケンスパラメータセットのシンタックス構造において信号送信される。
なお、記述子(Descriptor)の意味は、図9と同様である。
バッファ記述更新情報を表すシンタックスエレメントに関連付けられた意味を、以下に示す。
bd_selectは、PPSによって参照され、PPSによって任意に修正されるバッファ記述BD[bd_select]を表すBDDeltaPOC及びBDTemporalIDのリストへのインデックスを意味する。
なお、bd_modification_operation、be_idx_in_bd_update、delta_poc_sign_flag、delta_poc_minus1、first_delta_poc_sign_flag、first_delta_poc、temporal_idの意味は、図18と同様である。
上記で詳細に説明したように、参照リスト記述更新情報を表すシンタックスエレメントに関連付けられた意味は、参照リスト記述定義情報を表すシンタックスエレメントに関連付けられた意味と同じである。内部変数IsBDModifiedが「1」でないと示されるときのように、選択されたバッファ記述が修正されないときには、PPS内に参照リスト記述更新情報を表すシンタックスエレメントが存在せず、SPS内に書き込まれた初期参照リスト記述が用いられる。選択されたバッファ記述が修正されるときには、SPS内で以前に定義された初期参照リストと置き換えられる、修正された参照リストを定義するために、PPSに参照リスト記述更新情報が書き込まれる。
[符号化方法の効果]
以上により、本実施の形態に係る画像符号化装置100は、参照リストの作成のための同じパラメータが、符号化ビットストリームにおいて冗長に繰り返されることを防ぐことができる。これにより、当該画像符号化装置100は、参照リストの作成を記述するパラメータの符号化効率の向上できる。さらに、当該画像符号化装置100は、参照リストを記述するデータユニットと、バッファ記述データユニットとの設計上の協調、及び、符号化ビットストリームの階層的に構築された信号ユニットの設計上の協調を実現できる。
[復号装置]
本実施の形態に係る画像復号装置200のブロック図は図10と同様であり、説明は省略する。
[復号処理]
以下、本実施の形態に係る画像復号装置200による画像復号方法について説明する。
図24は、本実施の形態に係る画像復号方法のフローチャートである。図24に示す処理は、図11に示した実施の形態1に係る画像復号方法に対して、ステップS401A及びS402が追加されている。また、ステップS203A及びS204Aの処理がステップS203及びS204と異なる。
ステップS202の後、画像復号装置200は、複数のバッファ記述の中から一つのバッファ記述を選択するとともに修正するために、バッファ記述選択情報及びバッファ記述更新情報を、符号化ビットストリームに含まれるPPSから取得する(S401A)。次に、画像復号装置200は、選択されたバッファ記述に対応する修正された参照リスト記述を定義するために、参照リスト記述更新情報を上記PPSから取得する(S402)。
次に、画像復号装置200は、上記PPSが処理対象のピクチャに参照されていることを示すPPS識別子を、符号化ビットストリームに含まれる処理対象のピクチャのピクチャヘッダから取得する(S203A)。次に、画像復号装置200は、処理対象のピクチャ(又はスライス)に対して、PPS識別子で指定されるPPSに含まれるバッファ記述選択情報で指定される一つのバッファ記述と、当該バッファ記述に対応する一つの参照リスト記述を選択する(S204A)。最後に、画像復号装置200は、選択されたバッファ記述とそれに対応する参照リスト記述とを用いて、処理対象のピクチャ又はスライスを復号する(S205)。
なお、ステップS202及びS205の詳細は、図12〜図14に示す実施の形態1の処理と同様である。また、ステップS402の詳細は、図20に示す実施の形態2の処理と同様である。
[復号方法の効果]
以上より、本実施の形態に係る画像復号装置200は、符号化効率が向上され、かつ、参照リスト記述データとの設計上の協調がなされた符号化処理によって符号化された、符号化ビットストリームを復号できる。
(実施の形態4)
本実施の形態では、上記実施の形態3の変形例について説明する。本実施の形態では、バッファ記述更新情報及び参照リスト記述更新情報が、スライスヘッダに含まれる。なお、以下では、実施の形態1、2又は3との相違点を主に説明し、重複する説明は省略する。
[符号化装置]
本実施の形態に係る画像符号化装置100のブロック図は図3と同様であり、説明は省略する。
[符号化処理]
以下、本実施の形態に係る画像符号化装置100による画像符号化方法について説明する。
図25は、本実施の形態に係る画像符号化方法のフローチャートである。図25に示す処理は、図21に示した実施の形態3に係る画像符号化方法に対して、ステップS302A、S303A及びS105Aの代わりにステップS302B及びS303Bを含む。
ステップS301Aの後、画像符号化装置100は、選択されたバッファ記述を修正するために、選択したバッファ記述を示すバッファ記述選択情報及びバッファ記述更新情報を、符号化ビットストリームに含まれる処理対象のスライスのスライスヘッダに書き込む(S302B)。次に、画像符号化装置100は、選択されたバッファ記述に対応する修正された参照リスト記述を定義する参照リスト記述更新情報を、上記スライスヘッダに書き込む(S303B)。
本態様において、バッファ記述更新情報は、選択されたバッファ記述が修正されたか否かを示すパラメータを含む。選択されたバッファ記述が修正されるときには、参照リスト更新情報が修正された参照リスト記述を定義する。この修正された参照リスト記述は、選択されたバッファ記述に対応する初期参照リスト記述と置き換えられる。選択されたバッファ記述が修正されないときには、参照リスト更新情報はスライスヘッダ内に存在せず、選択されたバッファ記述に対応する初期参照リスト記述が適用される。
最後に、画像符号化装置100は、選択されたバッファ記述と対応する参照リスト記述とを用いて、処理対象のスライスを符号化する(S106)。
なお、ステップS103及びS106の詳細は、図5及び図6に示す実施の形態1の処理と同様である。また、ステップS303Bの詳細は、図16に示す実施の形態2の処理において第3並び変えフラグ及び第3参照リスト並び替え情報の書き込み先をPPSからスライスヘッダに置き換えた場合の処理と同様である。
[シンタックスダイアグラム]
図26は、本実施の形態における、符号化ビットストリーム内でのバッファ記述更新情報及び参照リスト記述更新情報の位置を示すシンタックスダイアグラムである。
図26に示す符号化ビットストリーム132Fは、図22Bに示す符号化ビットストリーム132Eに対して、バッファ記述更新情報323D及び参照リスト記述更新情報324Dが、PPS302Dでなくスライスヘッダ341Eに含まれる点が異なる。
なお、バッファ記述修正フラグ352により修正が行われることが示される場合には、バッファ記述更新情報323Dは、さらに、バッファ記述修正情報328を含む。また、バッファ記述修正フラグ352により修正が行われることが示される場合、スライスヘッダ341Fは、修正された参照リストを定義する参照リスト定義情報329(RLD define)を含む参照リスト記述更新情報324Dを含む。一方、バッファ記述修正フラグ352により、修正が行われないことが示される場合には、スライスヘッダ341Fは、バッファ記述修正情報328及び参照リスト定義情報329を含まない。
以上により処理対象のスライス(又はサブピクチャユニット)は、選択されたバッファ記述と選択された参照リスト記述とに従って、順番に並べられた参照ピクチャを用いて符号化又は復号される。
上記のバッファ記述定義情報及び参照リスト記述定義情報は、上記で詳細に説明した擬似コードに従って、シーケンスパラメータセットのシンタックス構造において信号送信される。バッファ記述更新情報及び参照リスト記述更新情報は、図27に示すテーブルにおける擬似コードに従って、スライスヘッダシンタックス構造において信号送信される。
なお、記述子(Descriptor)の意味は、図9と同様である。
上記で詳細に説明したように、本実施の形態に係るバッファ記述更新情報を表すシンタックスエレメントに関連付けられた意味は、実施の形態3に係る参照リスト記述更新情報を表すシンタックスエレメントに関連付けられた意味と同じである。
また、上記で詳細に説明したように、参照リスト記述更新情報を表すシンタックスエレメントに関連付けられた意味は、参照リスト記述定義情報を表すシンタックスエレメントに関連付けられた意味と同じである。内部変数IsBDModifiedが「1」でないと示されるときのように、選択されたバッファ記述が修正されないときには、参照リスト記述更新情報を表すシンタックスエレメントは、スライスヘッダ内には存在せず、SPSに書き込まれた初期参照リスト記述が用いられる。選択されたバッファ記述が修正されるときには、SPSにおいて以前に定義された初期参照リストと置き換えられる、修正された参照リストを定義するために、スライスヘッダ内の参照リスト更新情報が書き込まれる。
[符号化方法の効果]
以上により、本実施の形態に係る画像符号化装置100は、参照リストの作成のための同じパラメータが、符号化ビットストリームにおいて冗長に繰り返されることを防ぐことができる。これにより、当該画像符号化装置100は、参照リストの作成を記述するパラメータの符号化効率の向上できる。さらに、当該画像符号化装置100は、参照リストを記述するデータユニットと、バッファ記述データユニットとの設計上の協調、及び、符号化ビットストリームの階層的に構築された信号ユニットの設計上の協調を実現できる。
[復号装置]
本実施の形態に係る画像復号装置200のブロック図は図10と同様であり、説明は省略する。
[復号処理]
以下、本実施の形態に係る画像復号装置200による画像復号方法について説明する。
図28は、本実施の形態に係る画像復号方法のフローチャートである。図28に示す処理は、図11に示した実施の形態1に係る画像復号方法に対して、ステップS203の代わりにステップS401B及びS402Bを含む。
ステップS202の後、画像復号装置200は、複数のバッファ記述の中から一つのバッファ記述を選択するとともに修正するために、バッファ記述選択情報及びバッファ記述更新情報を、符号化ビットストリームに含まれる処理対象のスライスのスライスヘッダから取得する(S401B)。次に、画像復号装置200は、選択されたバッファ記述に対応する修正された参照リスト記述を定義するために、参照リスト記述更新情報を、上記スライスヘッダから取得する(S402B)。
次に、画像復号装置200は、バッファ記述選択情報で示されているバッファ記述を選択する(S204)。最後に、画像復号装置200は、選択されたバッファ記述とそれに対応する参照リスト記述とを用いて、処理対象のスライスを復号する(S205)。
なお、ステップS202及びS205の詳細は、図12及び図13に示す実施の形態1の処理と同様である。また、ステップS402の詳細は、図20に示す実施の形態2の処理と同様である。
[復号方法の効果]
以上より、本実施の形態に係る画像復号装置200は、符号化効率が向上され、かつ、参照リスト記述データとの設計上の協調がなされた符号化処理によって符号化された、符号化ビットストリームを復号できる。
以上のように、本実施の形態に係る画像符号化方法は、複数のバッファ記述を定義するバッファ記述定義情報、及び、複数のバッファ記述に対応する複数の参照リスト記述を定義する参照リスト記述定義情報を、符号化ビットストリームに対応するSPSに書き込む。
さらに、当該画像符号化方法は、ピクチャ又はスライスである処理単位毎に、複数のバッファ記述の中から一つのバッファ記述を選択し、選択されたバッファ記述を特定するバッファ記述選択情報を、符号化ビットストリームに含まれる当該処理単位の第1ヘッダに書き込む。ここで、第1ヘッダとは、ピクチャ又はスライスのヘッダであり、具体的には、PPS、ピクチャヘッダ、又はスライスヘッダである。
そして、当該画像符号化方法は、選択されたバッファ記述と、当該選択されたバッファ記述に対応する参照リスト記述とを用いて、上記処理単位を符号化する。
これにより、当該画像符号化方法は、バッファ記述定義情報及び参照リスト記述定義情報を、複数のピクチャで共通に用いられるシーケンスパラメータセット内に書き込むとともに、選択するバッファ記述を示すバッファ記述識別子をピクチャ又はスライス単位のヘッダに書き込む。これにより、当該画像符号化方法は、バッファ記述定義情報及び参照リスト記述定義情報がピクチャパラメータセットに書き込まれる場合に比べて、冗長な情報を削減できるので、符号化効率を改善できる。
また、当該画像符号化方法は、さらに、複数のバッファ記述の少なくとも一つに修正を行い、当該修正の内容を示すバッファ記述更新情報と、当該修正されたバッファ記述に対応する参照リスト記述を定義する参照リスト記述更新情報とを、上記処理単位の第2ヘッダに書き込む。ここで、第2ヘッダとは、ピクチャ又はスライスのヘッダであり、具体的には、PPS、ピクチャヘッダ、又はスライスヘッダである。
この場合、当該画像符号化方法は、修正されたバッファ記述と、当該修正されたバッファ記述に対応する参照リスト記述とを用いて、上記処理単位を符号化する。
これにより、当該画像符号化方法は、SPSにおいて設定されたバッファ記述及び参照リスト記述を、ピクチャ又はスライス単位で更新できる。よって、当該画像符号化方法は、冗長な情報を削減できるとともに、必要に応じて、ピクチャ又はスライス単位でバッファ記述及び参照リスト記述を変更できる。
以上、本発明の実施の形態に係る画像符号化装置に及び画像復号装置ついて説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、上記説明では、SPSがスライスデータ等と同一の符号化ビットストリームに含まれる例を述べたが、SPSは、スライスデータ等が含まれる符号化ビットストリームとは別に画像符号化装置から画像復号装置へ伝送されてもよい。
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図29は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図29のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-CodeDivision Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(PersonalHandyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図30に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図31は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図32に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図33に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図31に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図34Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図34Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図35は、多重化データの構成を示す図である。図35に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図36は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図37は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図37における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図37の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図38は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図38下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図39はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図40に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図40に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図41に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図42に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図43に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態8)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図44は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図43のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図43の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態6で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態6で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図46のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図45は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態9)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図47Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、フレームメモリ制御に特徴を有していることから、例えば、フレームメモリ制御については専用の復号処理部ex901を用い、それ以外の逆量子化、エントロピー復号、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図47Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
以上、複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。