以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(4種類のデフォルトの割り当てパターンの例)
4.第4の実施の形態(画像符号化装置)
5.第5の実施の形態(画像復号装置)
6.第6の実施の形態(コンピュータ)
7.応用例
<1.第1の実施の形態>
[画像符号化装置の構成例]
図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置100は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式や、HEVC(High Efficiency Video Coding)方式などが用いられる。
図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、デコードピクチャバッファ112、選択部113、イントラ予測部114、動き視差予測・補償部115、選択部116、およびレート制御部117を有する。
画像符号化装置100は、さらに、シンタックス処理部121および参照画像インデックス割り当て部122を有する。
A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。
画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、シンタックス処理部121に供給する。
シンタックス処理部121は、画面並べ替えバッファ102から読み出された画像のデータを順次確認し、画像のデータに、ヘッダ情報を挿入する。ヘッダ情報は、シーケンスパラメータセット(SPS:Sequence Parameter Set)およびピクチャパラメータセット(PPS:Picture Parameter Set)などを含む。また、シンタックス処理部121は、スライスの先頭にスライスヘッダ(SH:Slice Header)を付加する。
シンタックス処理部121は、ヘッダ情報などが挿入された画像を、演算部103、イントラ予測部114および動き視差予測・補償部115に供給する。また、シンタックス処理部121は、各ヘッダ情報およびスライスヘッダなどの情報を、参照画像インデックス割り当て部122に供給する。
演算部103は、シンタックス処理部121から供給される画像から、選択部116を介してイントラ予測部114若しくは動き視差予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部103は、シンタックス処理部121から供給される画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、シンタックス処理部121から供給される画像から、動き視差予測・補償部115から供給される予測画像を減算する。
直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。
量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部106は、イントラ予測モードを示す情報などをイントラ予測部114から取得し、インター予測モードを示す情報や動きベクトル情報などを動き視差予測・補償部115から取得する。
可逆符号化部106は、量子化された変換係数を符号化するとともに、イントラ予測モード情報、インター予測モード情報、動きベクトル情報、および量子化パラメータを、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116を介してイントラ予測部114若しくは動き視差予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き視差予測・補償部115から供給される予測画像を加算する。
その加算結果は、デブロックフィルタ111およびデコードピクチャバッファ112に供給される。
デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ111は、そのフィルタ処理結果をデコードピクチャバッファ112に供給する。
デコードピクチャバッファ112は、所定のタイミングにおいて、蓄積されている参照画像を、選択部113を介してイントラ予測部114または動き視差予測・補償部115に出力する。
例えば、イントラ符号化が行われる画像の場合、デコードピクチャバッファ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、デコードピクチャバッファ112は、参照画像を、選択部113を介して動き視差予測・補償部115に供給する。
選択部113は、デコードピクチャバッファ112から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、デコードピクチャバッファ112から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き視差予測・補償部115に供給する。
イントラ予測部114は、シンタックス処理部121から供給される入力画像の画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
また、上述したように、イントラ予測部114は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部106に供給する。
動き視差予測・補償部115は、インター符号化が行われる画像について、シンタックス処理部121から供給される入力画像と、選択部113を介してデコードピクチャバッファ112から供給される参照画像とを用いて、動き予視差測を行う。その際、動き視差予測・補償部115は、参照画像インデックス割り当て部122により割り当てられた参照画像インデックスの参照画像を用いる。動き視差予測・補償部115は、検出された動きおよび視差ベクトルに応じて動き視差補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き視差予測・補償部115は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き視差予測・補償部115は、生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
また、動き視差予測・補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。
選択部116は、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給し、インター符号化を行う画像の場合、動き視差予測・補償部115の出力を演算部103や演算部110に供給する。
レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
参照画像インデックス割り当て部122は、動き視差予測・補償部115が対象画像を予測する際に参照する参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当てる。割り当てに際し、処理対象画像の情報として、シンタックス処理部121からのシーケンスパラメータセットおよびスライスヘッダなどのヘッダ情報が参照される。さらに、参照画像の情報として、デコードピクチャバッファ112に蓄積されている参照画像のヘッダ情報などから得られる参照画像の時刻情報およびビュー情報も参照される。
参照画像インデックス割り当て部122は、割り当てた参照画像インデックスを、動き視差予測・補償部115に供給する。
[参照画像インデックスの割り当て方法]
H.264/AVC方式およびHEVC方式においては、以下のように、同一ビュー内の参照画像インデックスの割り当て方法が規定されている。
画像を復号するときは、過去に復号された画像へ参照画像インデックスを割り当てることができる。
参照画像のインデックスは、デコードピクチャバッファ112内の参照可能な画像へ割り当てることが可能である。参照画像インデックスの最大値はヘッダ情報として伝送することで変更することができる。
復号画像がPピクチャの場合、リストL0に対して、参照可能な画像のうち、復号順序が近い順に小さい参照画像インデックスが割り当てられる。
復号画像がBピクチャの場合、リストL0に対して、参照可能な画像のうち、前方向へ、ピクチャの出力順序を示す情報であるPOC(Picture Order Count)の降順に、次に、後方向へ、POCの昇順に、小さい参照画像インデックスが割り当てられる。また、リストL1に対して、参照可能な画像のうち、後方向へPOCの昇順に、次に、前方向へPOCの降順に、小さい参照画像インデックスが割り当てられる。
図2は、従来の参照画像インデックスの割り当て方法の例を示す図である。図2の例において、PicNumは、復号順序のインデックスを表し、POCは、時刻(ピクチャの出力順序)のインデックスを表し、四角は、ピクチャを表している。
なお、図2の例は、同一(view_id=0)ビュー内の例である。図2例においては、上から順に、POC順に並ぶピクチャ、復号順に並ぶピクチャ、並びに、復号順に並ぶピクチャの復号時に利用する参照画像インデックスが割り当てられる参照ピクチャが示されている。また、図2の例において、参照画像インデックスは、リストL0に対して、ref_idx_l0=0乃至2が示されており、リストL1に対して、ref_idx_l1=0乃至2が示されている。
以下、左から復号順に説明する。POC(出力順序)が0番目であるI_vi0は、view_id=0のIピクチャを表し、PicNum(復号順序)が0番目である。I_vi0は、Iピクチャであるので、0が付された矢印が示すように、画像は参照されない。
POC(出力順序)が8番目であるP_vi0は、view_id=0のPピクチャを表し、PicNum(復号順序)が1番目である。P_vi0は、Pピクチャであり、まだ、I_vi0しか復号されていない。したがって、1が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、I_vi0に割り当てられる。
POC(出力順序)が4番目であるB4_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が2番目である。B4_vi0は、Bピクチャであり、I_vi0とP_vi0しか復号されていない。したがって、2が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、I_vi0に割り当てられ、ref_idx_l0=1は、P_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、P_vi0に割り当てられ、ref_idx_l1=1は、I_vi0に割り当てられる。
POC(出力順序)が2番目であるB2_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が3番目である。B2_vi0は、Bピクチャであり、I_vi0、P_vi0、およびB4_vi0が復号されている。したがって、3が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、I_vi0に割り当てられ、ref_idx_l0=1は、B4_vi0に割り当てられ、ref_idx_l0=2は、P_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、P_vi0に割り当てられ、ref_idx_l1=1は、B4_vi0に割り当てられ、ref_idx_l1=2は、I_vi0に割り当てられる。
POC(出力順序)が6番目であるB6_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が4番目である。B6_vi0は、Bピクチャであり、I_vi0、P_vi0、B4_vi0、およびB2_vi0が復号されている。したがって、4が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、B2_vi0に割り当てられ、ref_idx_l0=1は、B4_vi0に割り当てられ、ref_idx_l0=2は、I_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、P_vi0に割り当てられ、ref_idx_l1=1は、B4_vi0に割り当てられ、ref_idx_l1=2は、B2_vi0に割り当てられる。
POC(出力順序)が1番目であるB1_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が5番目である。B1_vi0は、Bピクチャであり、I_vi0、P_vi0、B4_vi0、B2_vi0、およびB6_vi0が復号されている。したがって、5が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、I_vi0に割り当てられ、ref_idx_l0=1は、B2_vi0に割り当てられ、ref_idx_l0=2は、B4_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、B2_vi0に割り当てられ、ref_idx_l1=1は、B4_vi0に割り当てられ、ref_idx_l1=2は、B6_vi0に割り当てられる。
POC(出力順序)が3番目であるB3_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が6番目である。B3_vi0は、Bピクチャであり、I_vi0、P_vi0、B4_vi0、B2_vi0、B6_vi0、およびB1_vi0が復号されている。したがって、6が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、B2_vi0に割り当てられ、ref_idx_l0=1は、B1_vi0に割り当てられ、ref_idx_l0=2は、I_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、B4_vi0に割り当てられ、ref_idx_l1=1は、B6_vi0に割り当てられ、ref_idx_l1=2は、P_vi0に割り当てられる。
POC(出力順序)が5番目であるB5_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が7番目である。B5_vi0は、Bピクチャであり、I_vi0、P_vi0、B4_vi0、B2_vi0、B6_vi0、B1_vi0 、およびB3_vi0が復号されている。したがって、7が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、B4_vi0に割り当てられ、ref_idx_l0=1は、B3_vi0に割り当てられ、ref_idx_l0=2は、B2_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、B6_vi0に割り当てられ、ref_idx_l1=1は、P_vi0に割り当てられ、ref_idx_l1=2は、B4_vi0に割り当てられる。
POC(出力順序)が7番目であるB7_vi0は、view_id=0のBピクチャを表し、PicNum(復号順序)が8番目である。B7_vi0は、Bピクチャであり、I_vi0、P_vi0、B4_vi0、B2_vi0、B6_vi0、B1_vi0 、B3_vi0 、およびB5_vi0が復号されている。したがって、8が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、B6_vi0に割り当てられ、ref_idx_l0=1は、B5_vi0に割り当てられ、ref_idx_l0=2は、B4_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、P_vi0に割り当てられ、ref_idx_l1=1は、B6_vi0に割り当てられ、ref_idx_l1=2は、B5_vi0に割り当てられる。
ただし、上述した参照画像インデックスを割り当てる方法は、同一視点内における処理であった。これに対して、多視点符号化の場合、H.264/AVC方式およびHEVC方式において、参照画像インデックスは、時間方向の参照画像に対してすべて割り当てた後に、ビュー方向の参照画像に対して割り当てられていた。そして、割り当てられた参照画像インデックスの符号化効率が低く、変更したいときには、その都度、変更コマンドが送られていたが、その送信自体も符号化効率の低下の原因の1つとなっていた。
その改善を目的として、多視点符号化の場合における参照画像インデックスのデフォルトの割り当て方法について以下に述べる。
図3は、3視点画像の場合のビュー間の参照関係の例を示す図である。図3の例においては、左から、POCの昇順(すなわち、時刻情報の昇順)にIピクチャ、B2ピクチャ、B1ピクチャ、B2ピクチャ、B0ピクチャ、B2ピクチャ、B1ピクチャ、B2ピクチャ、Pピクチャが示されている。POCのインデックスの上には、PicNumのインデックスも示されている。
また、上から順に、同一の時刻情報を有し、異なる視差情報を有するビュー0(View_id_0)、ビュー1(View_id_1)、ビュー2(View_id_2)の各ピクチャが示されている。
図3の例においては、ビュー0、ビュー2、ビュー1の順に復号される場合が示されている。
ビュー0は、ベースビューと呼ばれ、その画像は、時間予測を使って符号化することが可能である。ビュー1とビュー2は、ノンベースビューと呼ばれ、その画像は、時間予測と視差予測を使って符号化することが可能である。
ビュー1の画像は、視差予測の際、矢印に示されるように、符号化済みのビュー0の画像とビュー2の画像を参照することが可能である。このことから、ビュー1のPOCが8番目であるPピクチャは、時間予測ではPピクチャであるが、視差予測ではBピクチャとなる。
ビュー2の画像は、視差予測の際、矢印に示されるように、符号化済みのビュー0の画像を参照することが可能である。
そして、図3の3視点画像においては、まず、ベースビューの画像が復号され、同じ時刻の他のビューの画像がすべて復号された後に、次の時刻(PicNum)のベースビューの画像の復号が開始されるという順序で復号が行われる。
ここで、一般的に、参照割合が高いのは、参照画像のうち、予測対象画像に時間的距離が最も近い参照画像と、予測画像と同じ時刻の異なるビューの画像であることが多い。
このことを踏まえて、画像符号化装置100においては、上述した3視点画像に対して、次のような参照画像インデックスの割り当てがデフォルトで行われる。
参照画像インデックス割り当て部122は、復号画像の時刻情報とビュー情報および参照画像の時刻情報とビュー情報を参照し、参照可能な画像に対して参照画像インデックスの割り当てを行う。ここで、時刻情報は、POCやPicNumなどである。ビュー情報は、ビューIDや後述するシーケンスパラメータのビュー参照情報などである。
参照画像インデックス割り当て部122は、同一ビューから異なるビューへ順番に小さい参照画像インデックスを割り当て、かつ、復号画像の時刻により近い参照画像へ小さい参照画像インデックスを割り付ける。
その1つの方法として、例えば、参照画像インデックス割り当て部122は、参照画像インデックスを、同一ビューの時間が異なる参照画像と、異なるビューの時間が同じ参照画像とに対して交互に割り当てる。なお、時間が同じ複数のビューに対しては、参照画像インデックスが連続で割り当てられるようにしてもよい。
参照画像インデックス割り当て部122は、ビュー1の画像を復号するとき、同時刻のビュー0の画像とビュー2の画像、並びに、過去の時刻のすべてのビューの画像を参照可能な画像とする。
さらに、参照画像インデックス割り当て部122は、ビュー1の画像を復号するとき、リストL0に対して、同時刻のビュー1およびビュー0の画像を参照画像とし、リストL1に対して、同時刻のビュー1およびビュー2の画像を参照画像とする。そして、どちらの場合も、同一ビューの時間が異なる参照画像と異なるビューの時間が同じ参照画像とへ交互に参照画像インデックスが割り当てられる。なお、ビューにおける参照画像の順番は、リストL0に対しては、前方向へPOCの昇順、リストL1に対しては、後ろ方向へPOCの降順となり、Pピクチャの場合は、復号順となる。
例えば、リストL0に対して、参照画像インデックス割り当て部122は、まず、同一ビュー(ビュー1)で、過去の時刻で時間的距離が最も近い参照画像へ、参照画像インデックス=0を割り当てる。次に、参照画像インデックス割り当て部122は、ビュー0の同一時刻の参照画像へ、参照画像インデックス=1を割り当てる。さらに、参照画像インデックス割り当て部122は、同一ビュー(ビュー1)で次に時間的距離が近い参照画像へ、参照画像インデックス=2を割り当てる。次に、参照画像インデックス割り当て部122は、ビュー0で次に時間的距離が近い参照画像へ、参照画像インデックス=3を割り当てる。参照画像インデックス4以降も、必要であれば、この繰り返しが行われる。
また、例えば、リストL1に対して、参照画像インデックス割り当て部122は、まず、同一ビュー(ビュー1)で、過去の時刻で時間的距離が最も近い参照画像へ、参照画像インデックス=0を割り当てる。次に、参照画像インデックス割り当て部122は、ビュー2の同一時刻の参照画像へ、参照画像インデックス=1を割り当てる。さらに、インデックス割り当て部122は、同一ビュー(ビュー1)で次に時間的距離が近い参照画像へ、参照画像インデックス=2を割り当てる。次に、参照画像インデックス割り当て部122は、ビュー2で次に時間的距離が近い参照画像へ、参照画像インデックス=3を割り当てる。以降、参照画像インデックス4以降も、必要であれば、この繰り返しが行われる。
なお、以下、同一ビューの時間が異なる参照画像を、時間方向の参照可能な画像とも称し、異なるビューの時間が同じ参照画像を、ビュー方向の参照可能な画像とも称する。
以上の3視点画像の場合の参照画像インデックス割り当て方法を踏まえて、図4の例を説明する。
図4は、参照画像インデックス割り当て部122による参照画像インデックスの割り当て方法の例を示す図である。図4の例において、PicNumは、復号順序のインデックスを表し、POCは、時刻(ピクチャの出力順序)のインデックスを表し、四角は、ピクチャを表している。
なお、図4の例は、ビュー0(View_id_0)、ビュー1(View_id_1)、ビュー2(View_id_2)の3視点のピクチャの例であり、3視点間の復号は、ビュー0、ビュー2、ビュー1の順になされる。
図4の例においては、上から順に、POC順に並ぶ3視点のピクチャ、復号順に並ぶ3視点のピクチャ、並びに、ビュー1のピクチャ(復号順)の復号時に利用する参照画像インデックスが割り当てられる参照ピクチャが示されている。また、図4の例において、参照画像インデックスは、リストL0に対して、ref_idx_l0=0乃至3が示されており、リストL1に対して、ref_idx_l1=0乃至3が示されている。
以下、黒い四角に白文字で示されるビュー1の画像が復号される例を左から復号順に説明する。POC(出力順序)が0番目であるI_vi1は、view_id=1のIピクチャを表し、PicNum(復号順序)が0番目である。I_vi1は、Iピクチャであるので、0が付された矢印が示すように、画像は参照されない。
POC(出力順序)が8番目であるP_vi1は、view_id=1のPピクチャを表し、PicNum(復号順序)が1番目である。P_vi1は、Pピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2が復号されている。なお、図3を参照して上述したように、P_vi1は、ビュー間においてはBピクチャである。
したがって、1が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=2は、異なるビューであるP_vi0に割り当てられる。また、リストL1に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=2は、異なるビューであるP_vi2に割り当てられる。
POC(出力順序)が4番目であるB4_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が2番目である。B4_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2が復号されている。
したがって、2が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB4_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるI_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB4_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるP_vi2に割り当てられる。
POC(出力順序)が2番目であるB2_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が3番目である。B2_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1,B2_vi0、B2_vi2が復号されている。
したがって、3が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB2_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるI_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB2_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB4_vi2に割り当てられる。
POC(出力順序)が6番目であるB6_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が4番目である。B6_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1、B2_vi0、B2_vi2、B2_vi1,B6_vi0、B6_vi2が復号されている。
したがって、4が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB6_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB2_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB4_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB6_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるP_vi2に割り当てられる。
POC(出力順序)が1番目であるB1_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が5番目である。B1_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1,B2_vi0、B2_vi2、B2_vi1、B6_vi0、B6_vi2、B6_vi1、B1_vi0、B1_vi2が復号されている。
したがって、5が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるI_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB1_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB2_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるI_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるB2_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB1_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB2_vi2に割り当てられる。
POC(出力順序)が3番目であるB3_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が6番目である。B1_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1,B2_vi0、B2_vi2、B2_vi1、B6_vi0、B6_vi2、B6_vi1、B1_vi0、B1_vi2、B1_vi1、B3_vi0、B3_vi2が復号されている。
したがって、6が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるB2_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB3_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB1_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB2_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB3_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB6_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB4_vi2に割り当てられる。
POC(出力順序)が5番目であるB5_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が7番目である。B5_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1,B2_vi0、B2_vi2、B2_vi1、B6_vi0、B6_vi2、B6_vi1、B1_vi0、B1_vi2、B1_vi1、B3_vi0、B3_vi2、B3_vi1、B5_vi0、B5_vi2が復号されている。
したがって、7が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるB4_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB5_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB3_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB4_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるB6_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB5_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB6_vi2に割り当てられる。
POC(出力順序)が7番目であるB7_vi1は、view_id=1のBピクチャを表し、PicNum(復号順序)が8番目である。B7_vi1は、Bピクチャであり、I_vi0、I_vi2、I_vi1、Pvi0、P_vi2、P_vi1、B4_vi0、B4_vi2、B4_vi1,B2_vi0、B2_vi2、B2_vi1、B6_vi0、B6_vi2、B6_vi1、B1_vi0、B1_vi2、B1_vi1、B3_vi0、B3_vi2、B3_vi1、B5_vi0、B5_vi2、B5_vi1、B7_vi0、B7_vi2が復号されている。
したがって、8が付された矢印が示すように、リストL0に対しての参照画像インデックスであるref_idx_l0=0は、同一ビューであるB6_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB7_vi0に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB5_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるB6_vi0に割り当てられる。
また、リストL1に対しての参照画像インデックスであるref_idx_l1=0は、同一ビューであるP_vi1に割り当てられ、ref_idx_l0=1は、異なるビューであるB7_vi2に割り当てられる。次に、ref_idx_l0=2は、同一ビューであるB6_vi1に割り当てられ、ref_idx_l0=3は、異なるビューであるP_vi2に割り当てられる。
以上のように、参照画像インデックスを時間方向に参照可能な画像とビュー方向に参照可能な画像とに対して交互に割り当てるようにした。これにより、参照割合が高い参照画像へ小さい参照画像インデックスを割り当てることになり、その結果、符号化効率を改善することが可能になる。
すなわち、参照画像インデックスは小さい値ほど符号量が少ない。そこで、参照割合の高い参照画像へ小さいインデックスを割り当てるようにしたので、全体の符号量を小さくすることができる。
また、参照画像インデックスは、参照画像インデックスの変更コマンドを伝送することにより、自由に変更することが可能であるが、その際、変更コマンド情報を符号化する必要がある。
これに対して、上述した参照画像インデックスの割り当て方法をデフォルトとすることで、参照画像インデックスが適切に割り当てられることが多くなり、変更コマンド情報を伝送することが少なくなる。これにより、符号化効率をさらに改善することができる。
図5は、シーケンスパラメータセットのシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
図5の例において、第21行目にmax_num_ref_framesが設定されている。このmax_num_ref_framesは、このストリームにおける参照画像の最大値(枚数)である。これにより、参照画像インデックス割り当て部122は、割り当て可能な参照画像の枚数を認識する。
第31行目乃至第38行目には、ビュー参照情報が記述されている。例えば、ビュー参照情報は、ビューの合計数、ビューの識別子、リストL0における視差予測の枚数、リストL0における参照ビューの識別子、リストL1における視差予測の枚数、およびリストL1における参照ビューの識別子などで構成される。
具体的には、第31行目にnum_viewsが設定されている。このnum_views は、このストリーム中に含まれているビューの合計数である。
第33行目にview_id[i]が設定されている。このview_id[i]は、ビューを区別するための識別子である。
第34行目にnum_ref_views_l0[i]が設定されている。このnum_ref_views_l0[i]は、リストL0における視差予測の枚数である。例えば、「num_ref_views_l0[i]」が2を示す場合、リストL0においては、2枚のビューのみ参照可能なことを示している。
第35行目にref_view_id_l0[i][j]が設定されている。このref_view_id_l0[i][j]は、リストL0における視差予測で参照するビューの識別子である。例えば、3つのビューがあったとしても、「num_ref_views_l0[i]」が2を示す場合に、3つのうちの、リストL0が参照する2つのビューはどのビューであるかを識別するために「ref_view_id_l0[i][j]」が設定される。
第36行目にnum_ref_views_l1[i]が設定されている。このnum_ref_views_l1[i]は、リストL1における視差予測の枚数である。例えば、「num_ref_views_l1[i]」が2を示す場合、リストL1においては、2枚のビューのみ参照可能なことを示している。
第37行目にref_view_id_l1[i][j]が設定されている。このref_view_id_l1[i][j]は、リストL1における視差予測で参照するビューの識別子である。例えば、3つのビューがあったとしても、「num_ref_views_l1[i]」が2を示す場合に、3つのうちの、リストL1が参照する2つのビューはどのビューであるかを識別するために「ref_view_id_l1[i][j]」が設定される。
図6は、スライスヘッダのシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
図6の例において、第5行目にslice_typeが設定されている。このslice_typeは、このスライスがIスライス、Pスライス、およびBスライスのうちのどのスライスであるかを示すものである。
第8行目にview_idが設定されている。このview_id は、ビューを識別するためのIDである。これにより、参照画像インデックス割り当て部122は、ビューを識別することができる。
第12行目にpic_order_cnt_lsbが設定されている。このpic_order_cnt_lsbは、時刻情報(すなわち、POC:Picture Order Count)である。
第14行目にnum_ref_idx_active_override_flagが設定されている。このnum_ref_idx_active_override_flagは、参照画像インデックスの有効数をデフォルトから変更するかしないかを示すフラグである。このフラグが1の場合、第16行目および第17行目の設定が有効になる。なお、図示しないが、ピクチャパラメータセットには、参照画像インデックスのデフォルトの有効数が設定されており、このフラグが0の場合、デフォルトの値が有効となる。
第16行目にnum_ref_idx_l0_active_minus1が設定されている。このnum_ref_idx_l0_active_minus1は、第15行目のフラグが1の場合、リストL0における参照画像インデックスの有効数を示す。
第17行目にnum_ref_idx_l1_active_minus1が設定されている。このnum_ref_idx_l1_active_minus1は、第5行目のスライスタイプがBスライスで、15行目のフラグが1の場合、リストL1における参照画像インデックスの有効数を示す。
[符号化処理の流れ]
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図7のフローチャートを参照して、符号化処理の流れの例を説明する。
ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS103において、シンタックス処理部121は、画面並べ替えバッファ102から読み出された画像のデータを順次確認し、画像のデータに、ヘッダ情報を挿入する。シンタックス処理部121は、ヘッダ情報などが挿入された画像を、演算部103、イントラ予測部114および動き視差予測・補償部115に供給する。また、シンタックス処理部121は、シーケンスパラメータセットおよびスライスヘッダなどの情報を、参照画像インデックス割り当て部122に供給する。
ステップS104において、演算部103は、シンタックス処理部121から供給される画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き視差予測・補償部115から、イントラ予測する場合はイントラ予測部114から、選択部116を介して演算部103に供給される。
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS105において、直交変換部104は、ステップS104の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
ステップS106において、量子化部105は、ステップS105の処理により得られた直交変換係数を量子化する。
ステップS106の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS107において、逆量子化部108は、ステップS106の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。
ステップS108において、逆直交変換部109は、ステップS107の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。
ステップS109において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。
ステップS110において、デブロックフィルタ111は、ステップS109の処理により生成された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪みが除去される。
ステップS111において、デコードピクチャバッファ112は、ステップS110の処理によりブロック歪みが除去された画像を記憶する。なお、デコードピクチャバッファ112にはデブロックフィルタ111によりフィルタ処理されていない画像も演算部110から供給され、記憶される。
ステップS112において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行う。
ステップS113において、参照画像インデックス割り当て部122は、参照画像インデックスの割り当て処理を行う。この参照画像インデックスの割り当て処理の詳細は、図8を参照して後述される。参照画像インデックス割り当て部122は、割り当てた参照画像インデックスを、動き視差予測・補償部115に供給する。
ステップS114において、動き視差予測・補償部115は、ステップS113の処理により割り当てられた参照画像インデックスの参照画像を用いて、インター予測モードでの動き視差予測や動き視差補償を行うインター動き視差予測処理を行う。
ステップS115において、選択部116は、イントラ予測部114および動き視差予測・補償部115から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部116は、イントラ予測部114により生成された予測画像と、動き視差予測・補償部115により生成された予測画像のいずれか一方を選択する。
また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部114および動き視差予測・補償部115のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部114は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部106に供給する。
最適インター予測モードの予測画像が選択された場合、動き視差予測・補償部115は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部106に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報、視差ベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
ステップS116において、可逆符号化部106は、ステップS106の処理により量子化された変換係数を符号化する。すなわち、差分画像(インターの場合、2次差分画像)に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
また、可逆符号化部106は、ステップS115の処理により選択された予測画像の予測モードに関する情報を、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部114から供給されるイントラ予測モード情報、または、動き視差予測・補償部115から供給される最適インター予測モードに応じた情報などを、符号化データに付加する。
ステップS117において蓄積バッファ107は、可逆符号化部106から出力される符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
ステップS118においてレート制御部117は、ステップS117の処理により蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
ステップS118の処理が終了すると、符号化処理が終了される。
[参照画像インデックス割り当て処理の流れ]
次に、図8のフローチャートを参照して、図7のステップS113において実行される参照画像インデックスの割り当て処理の流れの例を説明する。なお、この処理は、復号画像(すなわち、予測対象の画像)がPピクチャまたはBピクチャのみに実行される。
上述した図7のステップS103において、シンタックス処理部121より、復号画像のシーケンスパラメータセットおよびスライスヘッダなどの情報が、参照画像インデックス割り当て部122に供給される。
ステップS131において、参照画像インデックス割り当て部122は、復号画像のビュー参照情報を受け取る。ビュー参照情報は、図5を参照して上述したように、シンタクス処理部121からのシーケンスパラメータに記述されている。参照画像インデックス割り当て部122は、ビュー参照情報を取得することで、リストL0およびリストL1で参照すべきビューの数やビューの識別子を認識することができる。
ステップS132において、参照画像インデックス割り当て部122は、参照画像の最大値を受け取る。参照画像の最大値は、図5を参照して上述したシーケンスパラメータのmax_num_ref_framesに設定されている。
ステップS133において、参照画像インデックス割り当て部122は、復号画像のピクチャタイプがPピクチャであるか否かを判定する。復号画像のピクチャタイプは、図6を参照して上述したスライスヘッダのslice_typeに記述されている。ステップS133において、復号画像のピクチャタイプがPピクチャであると判定された場合、処理は、ステップS134に進む。
なお、これ以降の処理においては、デコードピクチャバッファ112からの参照画像の時刻情報およびビュー情報も参照される。
ステップS134において、参照画像インデックス割り当て部122は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL0の参照画像インデックスを1つ割り当てる。
ステップS135において、参照画像インデックス割り当て部122は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL0の参照画像インデックスを1つ割り当てる。
ステップS136において、参照画像インデックス割り当て部122は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS136において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS135に戻り、それ以降の処理が繰り返される。
ステップS136において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS137に進む。ステップS137において、参照画像インデックス割り当て部122は、参照画像のインデックスが、ステップS132で受け取った参照画像の最大値(枚数)よりも小さいか否かを判定する。
ステップS137において、参照画像のインデックスが、参照画像の最大値よりも小さいと判定された場合、処理はステップS134に戻り、それ以降の処理が繰り返される。ステップS137において、参照画像のインデックスが、参照画像の最大値以上であると判定された場合、割り当てる参照画像がもうないので、参照画像インデックス割り当て処理は終了され、処理は、図7のステップS113に戻る。
一方、ステップS133において、復号画像のピクチャタイプがBピクチャであると判定された場合、処理は、ステップS138に進む。
ステップS138において、参照画像インデックス割り当て部122は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL0の参照画像インデックスを1つ割り当てる。
ステップS139において、参照画像インデックス割り当て部122は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL0の参照画像インデックスを1つ割り当てる。
ステップS140において、参照画像インデックス割り当て部122は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS140において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS139に戻り、それ以降の処理が繰り返される。
ステップS140において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS141に進む。ステップS141において、参照画像インデックス割り当て部122は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL1の参照画像インデックスを1つ割り当てる。
ステップS142において、参照画像インデックス割り当て部122は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL1の参照画像インデックスを1つ割り当てる。
ステップS143において、参照画像インデックス割り当て部122は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS143において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS142に戻り、それ以降の処理が繰り返される。
ステップS143において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS144に進む。ステップS144において、参照画像インデックス割り当て部122は、参照画像のインデックスが、ステップS132で受け取った参照画像の最大値(枚数)よりも小さいか否かを判定する。
ステップS144において、参照画像のインデックスが、参照画像の最大値よりも小さいと判定された場合、処理はステップS138に戻り、それ以降の処理が繰り返される。ステップS144において、参照画像のインデックスが、参照画像の最大値以上であると判定された場合、割り当てる参照画像がもうないので、参照画像インデックス割り当て処理は終了され、処理は、図7のステップS113に戻る。
なお、本処理は、ステップS137およびS144において参照画像のインデックスが、参照画像の最大値となる前に、スライスヘッダやピクチャパラメータセットに設定される参照画像インデックスのデフォルトの有効数になってしまった場合にも終了される。
以上のように、時間方向の参照画像とビュー方向の参照画像とに対して、交互に、参照画像インデックスが割り当てられる。これにより、参照割合が高い参照画像に対して、小さい参照画像インデックスが割り当てられるので、符号化効率を改善することができる。
なお、図8の例においては、同一時刻のすべてのビューの参照画像に対してインデックスを割り当ててから、復号順序が次に近い参照画像に対してインデックスを割り当てる例を説明した。すなわち、上記説明においては、同一時刻のすべてのビューの参照画像には連続したインデックスが割り当てられる場合を説明したが、これに限定されない。例えば、時間方向も、ビュー方向も、1つずつ交互にインデックスを割り当てるようにしてもよい。
さらに、例えば、図5のシーケンスパラメータセットのビュー参照情報が示す数のビューにだけ連続したインデックスが割り当てられるようにしてもよい。
すなわち、シーケンスパラメータセットのビュー参照情報のうち、「num_ref_views_l0」および「num_ref_views_l1」で、リストL0およびリストL1における視差予測の枚数が設定されている。また、「ref_view_id_l1」および「num_ref_views_l0」において視差予測で参照されるビューの識別子も設定されている。したがって、ビュー方向の参照画像にインデックスを割り当てる場合、ビュー参照情報に基づいて、ここに設定されているビュー分だけ連続したインデックスを割り当てるようにしてもよい。
また、時間方向も、ビュー方向も、1つずつ交互にインデックスを割り当てる際にも、ビュー参照情報に基づいて決めるようにしてもよい。
このビュー参照情報に示されるビューは、画像間の相関が比較的よいものであると考えられ、逆に、ビュー参照情報に示されないビューは、相関があまりないものと考えられる。したがって、ビュー参照情報に示されないビューは、割り当ての対象としないとか、ビュー参照情報に示されるビューは、優先的に割り当てるなど、インデックス割り当てに、この情報を用いることで、符号化効率をさらに改善させることができる。
また、図8の例においては、時間方向の参照画像に対して、先にインデックスを割り当てるようにしたが、ビュー方向の参照画像に対して先にインデックスを割り当ててから、時間方向の参照画像に対してインデックスを割り当てるようにしてもよい。この場合も、参照画像インデックスを、ビュー方向の参照画像すべてに割り当ててから、時間方向の参照画像に割り当てるようにすることも可能である。そして、このときも、ビュー方向の参照画像は、ビュー参照情報に示されるビューに限定するようにしてもよい。
さらに、図8のように、時間方向の参照画像、ビュー方向の参照画像の順で交互にインデックスを割り付けるパターンは、時間方向優先パターンである。それに対して、ビュー方向の参照画像、時間方向の参照画像の順で交互にインデックスを割り付けるパターンは、ビュー方向優先パターンである。
これらの2つのパターンを設定しておき、そのどちらのパターンを選択したかを示す1ビットのパターンフラグを復号側に送り、復号側で、フラグに応じたパターンでインデックス割り当てを行うように構成することも可能である。このパターンフラグは、例えば、スライス毎に送るようにしてもよい。
例えば、静止画像や動きのある画像など、画像によって、よりよいパターンが異なるので、このようにパターン選択のフラグを送ることで、例えば、変更コマンドを画像によって送る場合に比して、符号化効率を改善することができる。
<2.第2の実施の形態>
[画像復号装置]
図9は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図9に示される画像復号装置200は、図1の画像符号化装置100に対応する復号装置である。
画像符号化装置100より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置100に対応する画像復号装置200に伝送され、復号されるものとする。
図9に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、デコードピクチャバッファ209、選択部210、イントラ予測部211、動き視差予測・補償部212、および選択部213を有する。
さらに、画像復号装置200は、シンタックス処理部221および参照画像インデックス割り当て部222を有する。
蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。シンタックス処理部221は、蓄積バッファ201から所定のタイミングで読み出された符号化データから、シーケンスパラメータセット、ピクチャパラメータセット、およびスライスヘッダなどを取得し、取得した各ヘッダ情報を符号化データとともに、可逆復号部202に供給する。また、シンタックス処理部221は、取得したヘッダ情報などを、参照画像インデックス割り当て部222に供給する。
可逆復号部202は、シンタックス処理部221からの符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部203は、画像符号化装置100から供給された量子化パラメータを用いて、図1の逆量子化部108と同様の方法で量子化係数の逆量子化を行う。
逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き視差予測・補償部212から予測画像が供給される。
演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
デブロックフィルタ206は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ206は、そのフィルタ処理結果を、画面並べ替えバッファ207に供給する。
画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
デブロックフィルタ206の出力は、さらに、デコードピクチャバッファ209に供給される。
デコードピクチャバッファ209、選択部210、イントラ予測部211、動き視差予測・補償部212、および選択部213は、画像符号化装置100のデコードピクチャバッファ112、選択部113、イントラ予測部114、動き視差予測・補償部115、および選択部116にそれぞれ対応する。
選択部210は、インター処理される画像と参照される画像をデコードピクチャバッファ209から読み出し、動き視差予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をデコードピクチャバッファ209から読み出し、イントラ予測部211に供給する。
イントラ予測部211には、ヘッダ情報から得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、デコードピクチャバッファ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
動き視差予測・補償部212には、ヘッダ情報から得られた情報(予測モード情報、動きベクトル情報、視差ベクトル情報、および各種パラメータ等)が可逆復号部202から供給される。また、動き視差予測・補償部212には、参照画像インデックス割り当て部222により割り当てられた参照画像インデックスが供給される。
動き視差予測・補償部212は、可逆復号部202から供給されるそれらの情報と、参照画像インデックス割り当て部222により割り当てられた参照画像インデックスに基づいて、デコードピクチャバッファ209から取得した参照画像から予測画像を生成する。動き視差予測・補償部212は、生成した予測画像を選択部213に供給する。
選択部213は、動き視差予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
参照画像インデックス割り当て部222は、画像符号化装置100の参照画像インデックス割り当て部122と基本的に同様に構成される。参照画像インデックス割り当て部222は、動き視差予測・補償部212が対象画像を予測する際に参照する参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当てる。割り当てに際し、対象画像の情報として、シンタックス処理部221からのシーケンスパラメータセットおよびスライスヘッダなどのヘッダ情報が参照される。さらに、参照画像の情報として、デコードピクチャバッファ209に蓄積されている参照画像のヘッダ情報などから得られる参照画像の時刻情報およびビュー情報も参照される。
参照画像インデックス割り当て部222は、割り当てた参照画像インデックスを、動き視差予測・補償部212に供給する。
[復号処理の流れ]
次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図10のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきた符号化データを蓄積する。ステップS202において、シンタックス処理部221は、蓄積バッファ201から所定のタイミングで読み出された符号化データから、ヘッダ情報を取得する。シンタックス処理部221は、取得した各ヘッダ情報を符号化データとともに、可逆復号部202に供給する。また、シンタックス処理部221は、取得したヘッダ情報などを、参照画像インデックス割り当て部222に供給する。
ステップS203において、可逆復号部202は、シンタックス処理部221から供給される符号化データを復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、各ヘッダ情報から、動きベクトル情報、視差ベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、フラグや量子化パラメータ等の情報が取得される。
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き視差予測・補償部212に供給される。
ステップS204において、逆量子化部203は、可逆復号部202により復号されて得られた、量子化された直交変換係数を逆量子化する。ステップS205において逆直交変換部204は逆量子化部203により逆量子化されて得られた直交変換係数を、図1の直交変換部104に対応する方法で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
ステップS206において、演算部205は、ステップS205の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。
ステップS207において、デブロックフィルタ206は、ステップS206の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。
ステップS208において、デコードピクチャバッファ209は、フィルタリングされた復号画像を記憶する。
ステップS209において、参照画像インデックス割り当て部222は、参照画像インデックスの割り当て処理を行う。この参照画像インデックスの割り当て処理の詳細は、図11を参照して後述される。参照画像インデックス割り当て部222は、割り当てた参照画像インデックスを、動き視差予測・補償部212に供給する。
ステップS210において、イントラ予測部211、または動き視差予測・補償部212は、可逆復号部202から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部202からイントラ予測モード情報が供給された場合、イントラ予測部211は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部202からインター予測モード情報が供給された場合、動き視差予測・補償部212は、ステップS209の処理により割り当てられた参照画像インデックスの参照画像を用いて、インター予測モードの動き視差予測補償処理を行う。
ステップS211において、選択部213は予測画像を選択する。すなわち、選択部213には、イントラ予測部211により生成された予測画像、若しくは、動き視差予測・補償部212により生成された予測画像が供給される。選択部213は、その予測画像が供給された側を選択し、その予測画像を演算部205に供給する。この予測画像は、ステップS206の処理により差分情報に加算される。
ステップS212において、画面並べ替えバッファ207は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置100の画面並べ替えバッファ102(図1)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS213において、D/A変換部208は、画面並べ替えバッファ207においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。このステップS213の処理が終了すると、復号処理が終了される。
[参照画像インデックス割り当て処理の流れ]
次に、図11のフローチャートを参照して、図10のステップS209において実行される参照画像インデックスの割り当て処理の流れの例を説明する。なお、この処理は、復号画像がPピクチャまたはBピクチャのみに実行される。また、図11の参照画像インデックス割り当て処理は、図8の参照画像インデックス割り当て処理と基本的に同様の処理であるので、図8の処理に対する効果やなお書きは、繰り返しになるので記載しないが、図11の処理にも当てはまるものとする。
図10のステップS202において、シンタックス処理部221より、復号画像のシーケンスパラメータセットおよびスライスヘッダなどの情報が、参照画像インデックス割り当て部222に供給される。
ステップS231において、参照画像インデックス割り当て部222は、ビュー参照情報を受け取る。ビュー参照情報は、図5を参照して上述したように、シンタクス処理部221からのシーケンスパラメータに記述されている。参照画像インデックス割り当て部222は、ビュー参照情報を取得することで、リストL0およびリストL1で参照すべきビューの数やビューの識別子を認識することができる。
ステップS232において、参照画像インデックス割り当て部222は、参照画像の最大値を受け取る。参照画像の最大値は、図5を参照して上述したシーケンスパラメータのmax_num_ref_framesに設定されている。
ステップS233において、参照画像インデックス割り当て部222は、復号画像のピクチャタイプがPピクチャであるか否かを判定する。復号画像のピクチャタイプは、図6を参照して上述したスライスヘッダのslice_typeに記述されている。ステップS233において、復号画像のピクチャタイプがPピクチャであると判定された場合、処理は、ステップS234に進む。
なお、これ以降の処理においては、デコードピクチャバッファ209からの参照画像の時刻情報およびビュー情報も参照される。
ステップS234において、参照画像インデックス割り当て部222は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL0の参照画像インデックスを1つ割り当てる。
ステップS235において、参照画像インデックス割り当て部222は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL0の参照画像インデックスを1つ割り当てる。
ステップS236において、参照画像インデックス割り当て部222は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS236において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS235に戻り、それ以降の処理が繰り返される。
ステップS236において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS237に進む。ステップS237において、参照画像インデックス割り当て部222は、参照画像のインデックスが、ステップS232で受け取った参照画像の最大値(枚数)よりも小さいか否かを判定する。
ステップS237において、参照画像のインデックスが、参照画像の最大値よりも小さいと判定された場合、処理はステップS234に戻り、それ以降の処理が繰り返される。ステップS237において、参照画像のインデックスが、参照画像の最大値以上であると判定された場合、割り当てる参照画像がもうないので、参照画像インデックス割り当て処理は終了され、処理は、図10のステップS209に戻る。
一方、ステップS233において、復号画像のピクチャタイプがBピクチャであると判定された場合、処理は、ステップS238に進む。
ステップS238において、参照画像インデックス割り当て部222は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL0の参照画像インデックスを1つ割り当てる。
ステップS239において、参照画像インデックス割り当て部222は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL0の参照画像インデックスを1つ割り当てる。
ステップS240において、参照画像インデックス割り当て部222は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS240において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS239に戻り、それ以降の処理が繰り返される。
ステップS240において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS241に進む。ステップS241において、参照画像インデックス割り当て部222は、同一ビューで、参照画像インデックスを割り当てていない参照画像で、かつ復号順序が最も近い参照画像に対して、リストL1の参照画像インデックスを1つ割り当てる。
ステップS242において、参照画像インデックス割り当て部222は、参照画像インデックスを割り当てていない同一時刻の参照画像で、復号画像のビューよりも小さく最も近いビューIDの参照画像に対してリストL1の参照画像インデックスを1つ割り当てる。
ステップS243において、参照画像インデックス割り当て部222は、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したか否かを判定する。ステップS243において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了していないと判定された場合、処理はステップS242に戻り、それ以降の処理が繰り返される。
ステップS243において、同一時刻のすべてのビューの参照画像に対して参照画像インデックス割り当てが完了したと判定された場合、処理は、ステップS244に進む。ステップS244において、参照画像インデックス割り当て部222は、参照画像のインデックスが、ステップS232で受け取った参照画像の最大値(枚数)よりも小さいか否かを判定する。
ステップS244において、参照画像のインデックスが、参照画像の最大値よりも小さいと判定された場合、処理はステップS238に戻り、それ以降の処理が繰り返される。ステップS244において、参照画像のインデックスが、参照画像の最大値以上であると判定された場合、割り当てる参照画像がもうないので、参照画像インデックス割り当て処理は終了され、処理は、図10のステップS209に戻る。
以上のように、時間方向の参照画像とビュー方向の参照画像とに対して、交互に、参照画像インデックスが割り当てられる。これにより、参照割合が高い参照画像に対して、小さい参照画像インデックスが割り当てられるので、符号化効率を改善することができる。
なお、上記説明においては、時間方向優先パターンと、ビュー方向優先パターンとの2種類のパターンを設定しておき、そのどちらのパターンを選択したかを示す1ビットのパターンフラグを復号側に送る例について説明した。しかしながら、パターンの種類は、2種類に限定されない。例えば、次に説明するように、4種類の割り当てパターン(方法)を用意しておき、符号化側で、その4種類の中から1種類をデフォルトとして指定するようにしてもよい。
<3.第3の実施の形態>
[4種類の割り当てパターン]
次に、図12乃至図15を参照して、デフォルトとして指定可能な4種類の割り当てパターンについて説明する。図12乃至図15の例において、中央に示されるBピクチャは、符号化対象のピクチャを表している。符号化対象のピクチャに対して左右方向に示されるピクチャは、同一ビューの時間が異なる参照ピクチャ(時間方向の参照画像)を表している。POCは、時刻(ピクチャの出力順序)のインデックスを示し、A乃至Eの順に時刻が経過していることを示している。
また、符号化対象のピクチャに対して上下方向に示されるピクチャは、同一時刻の異なるビューの参照ピクチャ(ビュー方向の参照画像)を表している。ViewID=V乃至Zの順に、小さいViewIDが割り当てられていることを示している。
さらに、太い実線矢印は、List0についてのインデックスの割り当て順を示しており、太い点線矢印は、List1についてのインデックスの割り当て順を示している。なお、図12乃至図15の例においては、時間方向の参照画像について、List0に対しては、参照可能な画像のうち、前方向へ、POCの降順に小さい参照画像インデックスが割り当てられている。List1に対しては、参照可能な画像のうち、後方向へ、POCの昇順に小さい参照画像インデックスが割り当てられている。
図12の例においては、time first(時間方向優先) パターンが示されている。time firstパターンは、図12の例に示されるように、同一ビューの時間が異なる参照(時間方向に参照可能な)ピクチャに対してインデックスを割り当てた後に、同一時間の異なるビューの参照(ビュー方向に参照可能な)ピクチャに対してインデックスを割り当てるパターンである。
例えば、太い実線矢印で示されるように、List0については、refPicList0[0]のインデックスが、ViewIDがXで、POCがBであるBピクチャに割り当てられ、refPicList0[1]のインデックスが、ViewIDがXで、POCがAであるBピクチャに割り当てられる。その後、refPicList0[2]のインデックスが、ViewIDがWで、POCがCであるBピクチャに割り当てられ、refPicList0[3]のインデックスが、ViewIDがVで、POCがCであるBピクチャに割り当てられる。
また、太い点線矢印で示されるように、List1については、refPicList1[0]のインデックスが、ViewIDがXで、POCがDであるBピクチャに割り当てられ、refPicList1[1]のインデックスが、ViewIDがXで、POCがEであるBピクチャに割り当てられる。その後、refPicList1[2]のインデックスが、ViewIDがYで、POCがCであるBピクチャに割り当てられ、refPicList1[3]のインデックスが、ViewIDがZで、POCがCであるBピクチャに割り当てられる。
図13の例においては、view fist(ビュー方向優先)パターンが示されている。view fistパターンは、図13の例に示されるように、同一時間の異なるビューの参照(ビュー方向に参照可能な)ピクチャに対してインデックスを割り当てた後に、同一ビューの時間が異なる参照(時間方向に参照可能な)ピクチャに対してインデックスを割り当てるパターンである。
例えば、太い実線矢印で示されるように、List0については、refPicList0[0]のインデックスが、ViewIDがWで、POCがCであるBピクチャに割り当てられ、refPicList0[1]のインデックスが、ViewIDがVで、POCがCであるBピクチャに割り当てられる。その後、refPicList0[2]のインデックスが、ViewIDがXで、POCがBであるBピクチャに割り当てられ、refPicList0[3]のインデックスが、ViewIDがXで、POCがAであるBピクチャに割り当てられる。
また、太い点線矢印で示されるように、List1については、refPicList1[0]のインデックスが、ViewIDがYで、POCがCであるBピクチャに割り当てられ、refPicList1[1]のインデックスが、ViewIDがZで、POCがCであるBピクチャに割り当てられる。その後、refPicList1[2]のインデックスが、ViewIDがXで、POCがDであるBピクチャに割り当てられ、refPicList1[3]のインデックスが、ViewIDがXで、POCがEであるBピクチャに割り当てられる。
図14の例においては、time first zig-zag(時間方向優先の交互)パターンが示されている。time first zig-zagパターンは、図14の例に示されるように、同一ビューの時間が異なる参照(時間方向に参照可能な)ピクチャと、同一時間の異なるビューの参照(ビュー方向に参照可能な)ピクチャとに対してインデックスを交互に割り当てるパターンである。なお、このtime first zig-zagパターンにおいては、時間方向優先と称されるように、同一ビューの時間が異なる参照ピクチャからインデックスの割り当てが開始される。
例えば、太い実線矢印で示されるように、List0については、refPicList0[0]のインデックスが、ViewIDがXで、POCがBであるBピクチャに割り当てられ、その後、refPicList0[1]のインデックスが、ViewIDがWで、POCがCであるBピクチャに割り当てられる。次に、refPicList0[2]のインデックスが、ViewIDがXで、POCがAであるBピクチャに割り当てられ、その後、refPicList0[3]のインデックスが、ViewIDがVで、POCがCであるBピクチャに割り当てられる。
また、太い点線矢印で示されるように、List1については、refPicList1[0]のインデックスが、ViewIDがXで、POCがDであるBピクチャに割り当てられ、その後、refPicList1[1]のインデックスが、ViewIDがYで、POCがCであるBピクチャに割り当てられる。次に、refPicList1[2]のインデックスが、ViewIDがXで、POCがEであるBピクチャに割り当てられ、その後、refPicList1[3]のインデックスが、ViewIDがZで、POCがCであるBピクチャに割り当てられる。
図15の例においては、view first zig-zag(ビュー方向優先の交互)パターンが示されている。view first zig-zagパターンは、図15の例に示されるように、同一時間の異なるビューの参照(ビュー方向に参照可能な)ピクチャと、同一ビューの時間が異なる参照(時間方向に参照可能な)ピクチャとに対してインデックスを交互に割り当てるパターンである。なお、このview first zig-zagパターンにおいては、ビュー方向優先と称されるように、同一時間の異なるビューの参照ピクチャからインデックスの割り当てが開始される。
例えば、太い実線矢印で示されるように、List0については、refPicList0[0]のインデックスが、ViewIDがWで、POCがCであるBピクチャに割り当てられ、その後、refPicList0[1]のインデックスが、ViewIDがXで、POCがBであるBピクチャに割り当てられる。次に、refPicList0[2]のインデックスが、ViewIDがVで、POCがCであるBピクチャに割り当てられ、その後、refPicList0[3]のインデックスが、ViewIDがXで、POCがAであるBピクチャに割り当てられる。
また、太い点線矢印で示されるように、List1については、refPicList1[0]のインデックスが、ViewIDがYで、POCがCであるBピクチャに割り当てられ、その後、refPicList1[1]のインデックスが、ViewIDがXで、POCがDであるBピクチャに割り当てられる。次に、refPicList1[2]のインデックスが、ViewIDがZで、POCがCであるBピクチャに割り当てられ、その後、refPicList1[3]のインデックスが、ViewIDがXで、POCがEであるBピクチャに割り当てられる。
以上の4種類の割り当てパターンは、画像符号化装置100において、次に示されるシンタックス内で指定される。例えば、シンタックス処理部121により指定(付加)される。
[シーケンスパラメータセットのシンタックスの例]
図16は、シーケンスパラメータセット(SPS)のシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
図16の例において、第13行目に、default_reference_picture_index_pattern_idcが設定されている。このdefault_reference_picture_index_pattern_idcは、このシーケンスにおける参照ピクチャインデックスのデフォルトとしてどの割り当てパターンが指定されているかを示すパターンIDである。
default_reference_picture_index_pattern_idcは、参照ピクチャインデックスの初期化プロセスを次のように選択する。
例えば、default_reference_picture_index_pattern_idc=0の場合、デフォルト参照ピクチャインデックスは、異なるビューのピクチャの前に同一ビューのピクチャに割り当てられる。すなわち、default_reference_picture_index_pattern_idc=0の場合、図13を参照して上述したtime firstパターンが、このシーケンスにおけるデフォルトの割り当てパターンとして指定されている。
default_reference_picture_index_pattern_idc=1の場合、デフォルト参照ピクチャインデックスは、同一ビューのピクチャの前に異なるビューのピクチャに割り当てられる。すなわち、default_reference_picture_index_pattern_idc=1の場合、図14を参照して上述したview firstパターンが、このシーケンスにおけるデフォルトの割り当てパターンとして指定されている。
default_reference_picture_index_pattern_idc=2の場合、デフォルト参照ピクチャインデックスは、同一ビューのピクチャと異なるビューのピクチャに交互に割り当てられ、その順番は、同一ビューのピクチャから開始される。すなわち、default_reference_picture_index_pattern_idc=2の場合、図15を参照して上述したtime first zig-zagパターンが、このシーケンスにおけるデフォルトの割り当てパターンとして指定されている。
default_reference_picture_index_pattern_idc=3の場合、デフォルト参照ピクチャインデックスは、同一ビューのピクチャと異なるビューのピクチャに交互に割り当てられ、その順番は、異なるビューのピクチャから開始される。すなわち、default_reference_picture_index_pattern_idc=3の場合、図15を参照して上述したview first zig-zagパターンが、このシーケンスにおけるデフォルトの割り当てパターンとして指定されている。
上記説明においては、デフォルトの割り当てパターンを、シーケンスパラメータセットにおいて、シーケンス毎に決め打ちで指定する例を説明した。これに対して、例えば、既存のNALユニットであるピクチャパラメータセット(PPS)に、上述したパターンIDを設け、次に説明するように、デフォルトの割り当てパターンを、シーンチェンジ毎やフェイドの開始と終了に応じて切り替えるようにしてもよい。
[割り当てパターンと想定されるシーンの例]
図17は、4種類の割り当てパターンと、どのようなシーンが想定される場合に、それぞれがデフォルトとして設定されるかを示す表を示している。
例えば、想定されるシーンが、時間相関がビュー間相関よりもかなり高いシーンである場合、符号化側において、ピクチャパラメータセットのパターンIDには、0が記述されて、デフォルトの割り当てパターンとして、time firstパターンが設定される。
例えば、想定されるシーンが、ビュー間相関が、時間相関よりもかなり高いシーンである場合、符号化側において、ピクチャパラメータセットのパターンIDには、1が記述されて、デフォルトの割り当てパターンとして、view firstパターンが設定される。
例えば、想定されるシーンが、時間相関が、ビュー間相関と同じくらいであるが、どちらかといえば、時間相関が、ビュー間相関よりも比較的高いシーンである場合、符号化側において、次のように設定される。すなわち、ピクチャパラメータセットのパターンIDには、2が記述されて、デフォルトの割り当てパターンとして、time first zig-zagパターンが設定される。
例えば、想定されるシーンが、時間相関が、ビュー間相関と同じくらいであるが、どちらかといえば、時間相関が、ビュー間相関よりも比較的高いシーンである場合、符号化側において、次のように設定される。すなわち、ピクチャパラメータセットのパターンIDには、2が記述されて、デフォルトの割り当てパターンとして、time first zig-zagパターンが設定される。
このようにすることで、画像復号装置200においては、このパターンIDが新たに設定されたピクチャパラメータセットを受け取ったときに、デフォルトの割り当てパターンが切り替えられる。これにより、シーンが一気に変わるシーンチェンジ毎や、明るさが徐々に変わるフェイドの開始と終了に応じてデフォルト割り当てパターンを切り替えることができる。その結果、参照割合が高い参照画像に対して、小さい参照画像インデックスが割り当てられるので、さらに、符号化効率を改善することができる。
なお、上記説明においては、既存のNALユニットであるピクチャパラメータセット(PPS)に、上述したパターンIDを設けるように説明したが、PPSに限定されず、複数ピクチャに適応できれば、他のNALユニットに設けるようにしてもよい。例えば、新しいNALユニットであるAPS(Adaptation Parameter Set:アダプテーションパラメータセット)などに設けるようにしてもよい。
また、このように、ピクチャパラメータセットでパターンIDを、複数ピクチャ毎に送ることで、上述したシーケンスパラメータ毎に送るよりもビット量が増えてしまうことが想定される。したがって、ビット量の増加が負荷にならない場合に、ピクチャパラメータセットでパターンIDを、複数ピクチャ毎に送るようにすることが望ましい。
なお、上記説明においては、4種類のパターンからデフォルトの割り当てパターンを選択する例を説明したが、上述した4種類のうちいずれか数種類(2種類など)のパターンを候補として、デフォルトの割り当てパターンを選ぶようにしてもよい。また、候補のパターンの数は、4種類に限定されず、複数であればよい。
また、上記説明においては、パターンフラグの例と、パターンIDの例を説明したが、パターンフラグもパターンIDも、パターンを識別するものであるパターン識別情報の一例であり、パターン識別情報には、パターンフラグとパターンIDとが含まれる。
なお、本開示は、次に示されるHEVC方式を用いた画像符号化装置および画像復号装置にも適用することができる。
<4.第4の実施の形態>
[画像符号化装置の構成例]
図18は、本開示を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
図18に示される画像符号化装置311は、HEVC方式により、予測処理を用いて画像データを符号化する。
図1の例において、画像符号化装置311は、A/D(Analog / Digital)変換部321、画面並べ替えバッファ322、演算部323、直交変換部324、量子化部325、可逆符号化部326、および蓄積バッファ327を有する。また、画像符号化装置311は、逆量子化部328、逆直交変換部329、演算部330、デブロッキングフィルタ331、フレームメモリ332、選択部333、イントラ予測部334、動き予測・補償部335、予測画像選択部336、およびレート制御部337を有する。
さらに、画像符号化装置311は、デブロッキングフィルタ331とフレームメモリ332との間に、適応オフセットフィルタ341および適応ループフィルタ342を有する。
A/D変換部321は、入力された画像データをA/D変換し、画面並べ替えバッファ322に出力し、記憶させる。
画面並べ替えバッファ322は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ322は、フレームの順番を並び替えた画像を、演算部323に供給する。また、画面並べ替えバッファ322は、フレームの順番を並び替えた画像を、イントラ予測部334および動き予測・補償部335にも供給する。
演算部323は、画面並べ替えバッファ322から読み出された画像から、予測画像選択部336を介してイントラ予測部334若しくは動き予測・補償部335から供給される予測画像を減算し、その差分情報を直交変換部324に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部323は、画面並べ替えバッファ322から読み出された画像から、イントラ予測部334から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部323は、画面並べ替えバッファ322から読み出された画像から、動き予測・補償部335から供給される予測画像を減算する。
直交変換部324は、演算部323から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部325に供給する。
量子化部325は、直交変換部324が出力する変換係数を量子化する。量子化部325は、量子化された変換係数を可逆符号化部326に供給する。
可逆符号化部326は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部326は、イントラ予測モードを示す情報などのパラメータをイントラ予測部334から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部335から取得する。
可逆符号化部326は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタクス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部326は、符号化して得られた符号化データを蓄積バッファ327に供給して蓄積させる。
例えば、可逆符号化部326においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ327は、可逆符号化部326から供給された符号化ストリーム(データ)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ327は、符号化ストリームを伝送する伝送部でもある。
また、量子化部325において量子化された変換係数は、逆量子化部328にも供給される。逆量子化部328は、その量子化された変換係数を、量子化部325による量子化に対応する方法で逆量子化する。逆量子化部328は、得られた変換係数を、逆直交変換部329に供給する。
逆直交変換部329は、供給された変換係数を、直交変換部324による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部330に供給される。
演算部330は、逆直交変換部329より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部336を介してイントラ予測部334若しくは動き予測・補償部335から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部330は、その差分情報にイントラ予測部334から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部330は、その差分情報に動き予測・補償部335から供給される予測画像を加算する。
その加算結果である復号画像は、デブロッキングフィルタ331およびフレームメモリ332に供給される。
デブロッキングフィルタ331は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロッキングフィルタ331は、そのフィルタ処理結果を適応オフセットフィルタ341に供給する。
適応オフセットフィルタ341は、デブロッキングフィルタ331によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ341は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ331によるフィルタ後の画像に対して、フィルタ処理を施す。
なお、画像符号化装置311において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ341により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、可逆符号化部326において符号化され、後述する図19の画像復号装置351に送信される。
適応オフセットフィルタ341は、フィルタ処理後の画像を、適応ループフィルタ342に供給する。
適応ループフィルタ342は、ALF処理単位として、最大の符号化単位であるLCU単位で適応ループフィルタ(ALF:AdaptiveLoop Filter)処理を行う。フィルタ後の画像は、フレームメモリ332に供給される。適応ループフィルタ342においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。
適応ループフィルタ342は、適応オフセットフィルタ341によるフィルタ後の画像に対して、フィルタ係数を用いて、LCU毎にフィルタ処理を行い、フィルタ処理結果をフレームメモリ332に供給する。
なお、画像符号化装置311において、フィルタ係数は、LCU毎に、画面並べ替えバッファ312からの原画像との残差を最小とするよう適応ループフィルタ342により算出されて用いられる。算出されたフィルタ係数は、可逆符号化部326において符号化され、後述する図19の画像復号装置351に送信される。また、本明細書では、LUC毎に処理を行う例を記載するが、適応ループフィルタ342の処理単位は、これに限定されない。
フレームメモリ332は、所定のタイミングにおいて、蓄積されている参照画像を、選択部333を介してイントラ予測部334または動き予測・補償部335に出力する。
例えば、イントラ符号化が行われる画像の場合、フレームメモリ332は、参照画像を、選択部333を介してイントラ予測部334に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ332は、参照画像を、選択部333を介して動き予測・補償部335に供給する。
選択部333は、フレームメモリ332から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部334に供給する。また、選択部333は、フレームメモリ332から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部335に供給する。
イントラ予測部334は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部334は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
イントラ予測部334は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部334は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部336を介して演算部323や演算部330に供給する。
また、上述したように、イントラ予測部334は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部326に供給する。
動き予測・補償部335は、インター符号化が行われる画像について、画面並べ替えバッファ322から供給される入力画像と、選択部333を介してフレームメモリ332から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部335は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き予測・補償部335は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部335は、生成された予測画像を、予測画像選択部336を介して演算部323や演算部330に供給する。
また、動き予測・補償部335は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部326に供給する。
予測画像選択部336は、イントラ符号化を行う画像の場合、イントラ予測部334の出力を演算部323や演算部330に供給し、インター符号化を行う画像の場合、動き予測・補償部335の出力を演算部323や演算部330に供給する。
レート制御部337は、蓄積バッファ327に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部325の量子化動作のレートを制御する。
<5.第5の実施の形態>
[画像復号装置の構成例]
図19は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図19に示される画像復号装置351は、図18の画像符号化装置311に対応する復号装置であり、画像符号化装置311からの符号化データに対して、HEVC方式により復号を行う。
画像符号化装置311より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置311に対応する画像復号装置351に伝送され、復号されるものとする。
図19に示されるように、画像復号装置351は、蓄積バッファ361、可逆復号部362、逆量子化部363、逆直交変換部364、演算部365、デブロッキングフィルタ366、画面並べ替えバッファ367、およびD/A変換部368を有する。また、画像復号装置351は、フレームメモリ369、選択部370、イントラ予測部371、動き予測・補償部372、および選択部373を有する。
さらに、画像復号装置351は、デブロッキングフィルタ366と、画面並べ替えバッファ367およびフレームメモリ369との間に、適応オフセットフィルタ381および適応ループフィルタ382を有する。
蓄積バッファ361は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ361は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置311により符号化されたものである。可逆復号部362は、蓄積バッファ361から所定のタイミングで読み出された符号化データを、図18の可逆符号化部326の符号化方式に対応する方式で復号する。
可逆復号部362は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部371に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部372に供給する。また、可逆復号部362は、復号された適応ループフィルタのパラメータ(フィルタ係数など)を、適応ループフィルタ382に供給する。可逆復号部362は、復号された適応オフセットパラメータ(quad-tree構造と分割領域毎のオフセット値など)を、適応オフセットフィルタ381に供給する。
逆量子化部363は、可逆復号部362により復号されて得られた係数データ(量子化係数)を、図18の量子化部325の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部363は、画像符号化装置311から供給された量子化パラメータを用いて、図18の逆量子化部328と同様の方法で量子化係数の逆量子化を行う。
逆量子化部363は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部364に供給する。逆直交変換部364は、図18の直交変換部324の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置311において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部365に供給される。また、演算部365には、選択部373を介して、イントラ予測部371若しくは動き予測・補償部372から予測画像が供給される。
演算部365は、その復号残差データと予測画像とを加算し、画像符号化装置311の演算部323により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部365は、その復号画像データをデブロッキングフィルタ366に供給する。
デブロッキングフィルタ366は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロッキングフィルタ366は、そのフィルタ処理結果を適応オフセットフィルタ381に供給する。
適応オフセットフィルタ381は、デブロッキングフィルタ366によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO)処理を行う。
適応オフセットフィルタ381は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ366によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ381は、フィルタ処理後の画像を、適応ループフィルタ382に供給する。
なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置311の適応オフセットフィルタ341により算出され、符号化されて送られてきたものである。そして、画像符号化装置311により符号化されたquad-tree構造と分割領域毎のオフセット値は、画像復号装置351において受信されて、可逆復号部362により復号されて、適応オフセットフィルタ381により用いられる。
適応ループフィルタ382は、図18の適応ループフィルタ342と基本的に同様に構成され、ALF処理単位として、最大の符号化単位であるLCU単位で適応ループフィルタ(ALF : Adaptive Loop Filter)処理を行う。適応ループフィルタ382は、適応オフセットフィルタ381によるフィルタ後の画像に対して、フィルタ係数を用いて、LCU毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ369および画面並べ替えバッファ367に供給する。
なお、画像復号装置351において、フィルタ係数は、画像符号化装置311の適応ループフィルタ342によりLUC毎に算出され、符号化されて送られてきたものが可逆復号部62により復号されて用いられる。
画面並べ替えバッファ367は、画像の並べ替えを行う。すなわち、図18の画面並べ替えバッファ322により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部368は、画面並べ替えバッファ367から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
適応ループフィルタ382の出力は、さらに、フレームメモリ369に供給される。
フレームメモリ369、選択部370、イントラ予測部371、動き予測・補償部372、および選択部373は、画像符号化装置311のフレームメモリ332、選択部333、イントラ予測部334、動き予測・補償部335、および予測画像選択部336にそれぞれ対応する。
選択部370は、インター処理される画像と参照される画像をフレームメモリ369から読み出し、動き予測・補償部372に供給する。また、選択部370は、イントラ予測に用いられる画像をフレームメモリ369から読み出し、イントラ予測部371に供給する。
イントラ予測部371には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部362から適宜供給される。イントラ予測部371は、この情報に基づいて、フレームメモリ369から取得した参照画像から予測画像を生成し、生成した予測画像を選択部373に供給する。
動き予測・補償部372には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部362から供給される。
動き予測・補償部372は、可逆復号部362から供給されるそれらの情報に基づいて、フレームメモリ369から取得した参照画像から予測画像を生成し、生成した予測画像を選択部373に供給する。
選択部373は、動き予測・補償部372またはイントラ予測部371により生成された予測画像を選択し、演算部365に供給する。
なお、上記説明においては、符号化方式としてH.264/AVC方式やHEVC方式をベースに用いるようにしたが、本開示はこれに限らず、動き視差予測、補償を行う、その他の符号化方式/復号方式を適用することができる。
なお、本開示は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本開示は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
<6.第6の実施の形態>
[コンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図20において、コンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図20に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<7.応用例>
[第1の応用例:テレビジョン受像機]
図21は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、多視点符号化における符号化効率を改善することができることができる。
[第2の応用例:携帯電話機]
図22は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、多視点符号化における符号化効率を改善することができる。
[第3の応用例:記録再生装置]
図23は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、多視点符号化における符号化効率を改善することができる。
[第4の応用例:撮像装置]
図24は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、多視点符号化における符号化効率を改善することができる。
なお、本明細書では、パターンフラグまたはパターンID等のパターン識別情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) ビットストリームを復号して、画像を生成する復号部と、
前記復号部により生成された前記画像を予測する際に参照される参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当てるインデックス割り当て部と、
前記インデックス割り当て部により割り当てられたインデックスの参照画像を参照して、前記復号部により生成された前記画像を予測する予測部と
を備える画像処理装置。
(2) 前記インデックス割り当て部は、前記参照画像のインデックスを、時間方向に参照可能な画像、ビュー方向に参照可能な画像の順に割り当てる処理を繰り返す
前記(1)に記載の画像処理装置。
(3) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像すべてに対して割り当てた後に、時間方向に参照可能な画像に対して割り当てる
前記(2)に記載の画像処理装置。
(4) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像、時間方向に参照可能な画像の順に割り当てる処理を繰り返す
前記(1)に記載の画像処理装置。
(5) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像すべてに対して割り当てた後に、時間方向に参照可能な画像に対して割り当てる
前記(4)に記載の画像処理装置。
(6) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像に割り当てた後にビュー方向に参照可能な画像に割り当てる時間方向優先パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像に割り当てた後に時間方向に参照可能な画像に割り当てるビュー方向優先パターンとから、一方選択して、前記参照画像のインデックスを割り当てる
前記(1)に記載の画像処理装置。
(7) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像からビュー方向に参照可能な画像の順に割り当てる処理を繰り返す時間方向優先パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像から時間方向に参照可能な画像の順に割り当てる処理を繰り返すビュー方向優先パターンとから、前記参照画像を割り当てるパターンを選択して、前記参照画像のインデックスを割り当てる
前記(6)に記載の画像処理装置。
(8) 前記インデックス割り当て部は、前記時間方向優先パターンを用いるか前記ビュー方向優先パターンを用いるかを識別するパターン識別情報に従って、前記参照画像のインデックスを割り当てる
前記(6)に記載の画像処理装置。
(9) 前記インデックス割り当て部は、ビュー方向に参照可能な画像に対しては、シーケンスパラメータセットのビュー参照情報に基づいて、前記参照画像のインデックスを割り当てる
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記インデックス割り当て部は、時間方向に参照可能な画像に対しては、Pピクチャの場合、復号順序に基づいて、Bピクチャの場合、POC(Picture Order Count)に基づいて、前記参照画像のインデックスを割り当てる
前記(1)乃至(9)のいずれかに記載の画像処理装置。
(11) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像から割り当てを始めて時間方向に参照可能な画像からビュー方向に参照可能な画像の順に割り当てる処理を繰り返す時間方向優先の交互パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像から割り当てを始めてビュー方向に参照可能な画像から時間方向に参照可能な画像の順に割り当てる処理を繰り返すビュー方向優先の交互パターンとから、前記参照画像のインデックスを割り当てるパターンを選択して、前記参照画像のインデックスを割り当てる
前記(1)に記載の画像処理装置。
(12)
前記インデックス割り当て部は、前記時間方向優先の交互パターンを用いるか前記ビュー方向優先の交互パターンを用いるかを識別するパターン識別情報に従って、前記参照画像のインデックスを割り当てる
前記(11)に記載の画像処理装置。
(13) 画像処理装置が、
画像を復号し、
ビットストリームを復号して、画像を生成し、
生成された前記画像を予測する際に参照される参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当て、
割り当てられたインデックスの参照画像を参照して、生成された前記画像を予測する
画像処理方法。
(14) 画像を予測する際に参照される参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当てるインデックス割り当て部と、
前記インデックス割り当て部により割り当てられたインデックスの参照画像を参照して、前記画像を予測する予測部と
前記予測部により予測された前記画像を用いて符号化してビットストリームを生成する符号化部と
を備える画像処理装置。
(15) 前記インデックス割り当て部は、前記参照画像のインデックスを、時間方向に参照可能な画像、ビュー方向に参照可能な画像の順に割り当てる処理を繰り返す
前記(14)に記載の画像処理装置。
(16) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像すべてに対して割り当てた後に、時間方向に参照可能な画像に対して割り当てる
前記(15)に記載の画像処理装置。
(17) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像、時間方向に参照可能な画像の順に割り当てる処理を繰り返す
前記(14)に記載の画像処理装置。
(18) 前記インデックス割り当て部は、前記参照画像のインデックスを、ビュー方向に参照可能な画像すべてに対して割り当てた後に、時間方向に参照可能な画像に対して割り当てる
前記(17)に記載の画像処理装置。
(19) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像に割り当てた後にビュー方向に参照可能な画像に割り当てる時間方向優先パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像に割り当てた後に時間方向に参照可能な画像に割り当てるビュー方向優先パターンとから、一方を選択して、前記参照画像のインデックスを割り当てる
前記(14)に記載の画像処理装置。
(20) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像からビュー方向に参照可能な画像の順に割り当てる処理を繰り返す時間方向優先パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像から時間方向に参照可能な画像の順に割り当てる処理を繰り返すビュー方向優先パターンとから、前記参照画像を割り当てるパターンを選択して、前記参照画像のインデックスを割り当てる
前記(19)に記載の画像処理装置。
(21) 前記ビットストリームは、前記インデックス割り当て部により選択された前記時間方向優先パターンを用いるか前記ビュー方向優先パターンを用いるかを識別するパターン識別情報と、前記符号化部により生成されたビットストリームとを伝送する伝送部を
さらに備える前記(19)に記載の画像処理装置。
(22) 前記インデックス割り当て部は、ビュー方向に参照可能な画像に対しては、シーケンスパラメータセットのビュー参照情報に基づいて、前記参照画像のインデックスを割り当てる
前記(14)乃至(21)のいずれかに記載の画像処理装置。
(23) 前記インデックス割り当て部は、時間方向に参照可能な画像に対しては、Pピクチャの場合、復号順序に基づいて、Bピクチャの場合、POC(Picture Order Count)に基づいて、前記参照画像のインデックスを割り当てる
前記(14)乃至(22)のいずれかに記載の画像処理装置。
(24) 前記インデックス割り当て部は、前記参照画像のインデックスを時間方向に参照可能な画像から割り当てを始めて時間方向に参照可能な画像からビュー方向に参照可能な画像の順に割り当てる処理を繰り返す時間方向優先の交互パターンと、前記参照画像のインデックスをビュー方向に参照可能な画像から割り当てを始めてビュー方向に参照可能な画像から時間方向に参照可能な画像の順に割り当てる処理を繰り返すビュー方向優先の交互パターンとから、前記参照画像のインデックスを割り当てるパターンを選択して、前記参照画像のインデックスを割り当てる
前記(14)に記載の画像処理装置。
(25) 前記時間方向優先の交互パターンを用いるか前記ビュー方向優先の交互パターンを用いるかを識別するパターン識別情報と、前記符号化部により生成されたビットストリームとを伝送する伝送部を
さらに備える前記(24)に記載の画像処理装置。
(26) 画像処理装置が、
画像を予測する際に参照される参照画像のインデックスを、ビュー方向に参照可能な画像と、時間方向に参照可能な画像とに対して交互に割り当て、
割り当てられたインデックスの参照画像を参照して、前記画像を予測し、
前記予測部により予測された前記画像を用いて符号化してビットストリームを生成する
画像処理方法。