<第1実施の形態>
(符号化装置の第1実施の形態の構成例)
図3は、本技術を適用した符号化装置の第1実施の形態の構成例を示すブロック図である。
図3の符号化装置10は、符号化部11、設定部12、および伝送部13により構成され、画像をHEVC方式で符号化する。
具体的には、符号化装置10の符号化部11には、フレーム単位の画像が入力信号として入力される。符号化部11は、設定部12から供給されるRPSを参照して、入力信号をHEVC方式で符号化し、その結果得られる符号化データを設定部12に供給する。
設定部12は、inter_ref_pic_set_prediction_flagを含まず、参照画像特定情報を含むRPSと、inter_ref_pic_set_prediction_flagと、参照画像特定情報またはdelta_idx_minus1とを含むRPSを設定する。設定部12は、各RPSに、そのRPS(参照画像情報)を特定する参照画像情報特定情報としてのインデックスを付与する。ここでは、inter_ref_pic_set_prediction_flagを含まず、参照画像特定情報を含むRPSのインデックスとして0が付与されるものとする。
設定部12は、インデックスが付与されたRPSを符号化部11に供給する。設定部12は、RPSを含むSPS,PPS(Picture Parameter Set)などを設定する。
設定部12は、設定されたSPSおよびPPSと、符号化部11から供給される符号化データとから、符号化ストリームを生成する。設定部12は、符号化ストリームを伝送部13に供給する。
伝送部13は、設定部12から供給される符号化ストリームを、後述する復号装置に伝送する。
(符号化部の構成例)
図4は、図3の符号化部11の構成例を示すブロック図である。
図4の符号化部11は、A/D変換部31、画面並べ替えバッファ32、演算部33、直交変換部34、量子化部35、可逆符号化部36、蓄積バッファ37、逆量子化部38、逆直交変換部39、加算部40、デブロックフィルタ41、適応オフセットフィルタ42、適応ループフィルタ43、フレームメモリ44、スイッチ45、イントラ予測部46、動き予測・補償部47、予測画像選択部48、参照画像設定部49、およびレート制御部50により構成される。
具体的には、符号化部11のA/D変換部31は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ32に出力して記憶させる。画面並べ替えバッファ32は、記憶した表示の順番のフレーム単位の画像を、GOP構造に応じて、符号化のための順番に並べ替え、演算部33、イントラ予測部46、および動き予測・補償部47に出力する。
演算部33は、符号化部として機能し、予測画像選択部48から供給される予測画像と、画面並べ替えバッファ32から出力された符号化対象の画像の差分を演算することにより符号化を行う。具体的には、演算部33は、画面並べ替えバッファ32から出力された符号化対象の画像から、予測画像選択部48から供給される予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報として直交変換部34に出力する。なお、予測画像選択部48から予測画像が供給されない場合、演算部33は、画面並べ替えバッファ32から読み出された画像をそのまま残差情報として直交変換部34に出力する。
直交変換部34は、演算部33からの残差情報を直交変換し、直交変換係数を生成する。直交変換部34は、生成された直交変換係数を量子化部35に供給する。
量子化部35は、直交変換部34から供給される直交変換係数に対して、レート制御部50から供給される量子化パラメータを用いて量子化を行う。量子化部35は、その結果得られる係数は、可逆符号化部36に入力される。
可逆符号化部36は、最適イントラ予測モードを示す情報(以下、イントラ予測モード情報という)をイントラ予測部46から取得する。また、可逆符号化部36は、最適インター予測モードを示す情報(以下、インター予測モード情報という)、動きベクトルなどを動き予測・補償部47から取得する。また、可逆符号化部36は、参照画像設定部49から、RPSのインデックスまたはRPS等を取得し、レート制御部50から量子化パラメータを取得する。
また、可逆符号化部36は、適応オフセットフィルタ42から格納フラグ、インデックスまたはオフセット、および種類情報をオフセットフィルタ情報として取得し、適応ループフィルタ43からフィルタ係数を取得する。
可逆符号化部36は、量子化部35から供給される量子化された係数に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)などの可逆符号化を行う。
また、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、RPSのインデックスまたはRPSなど、量子化パラメータ、オフセットフィルタ情報、およびフィルタ係数を、符号化に関する符号化情報として可逆符号化する。可逆符号化部36は、可逆符号化された符号化情報と係数を、符号化データとして蓄積バッファ37に供給し、蓄積させる。なお、可逆符号化された符号化情報は、可逆符号化された係数のヘッダ情報(スライスヘッダ)とされてもよい。
蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に記憶する。また、蓄積バッファ37は、記憶している符号化データを、図3の設定部12に供給する。
また、量子化部35より出力された、量子化された係数は、逆量子化部38にも入力される。逆量子化部38は、量子化部35により量子化された係数に対して、レート制御部50から供給される量子化パラメータを用いて逆量子化を行い、その結果得られる直交変換係数を逆直交変換部39に供給される。
逆直交変換部39は、逆量子化部38から供給される直交変換係数に対して逆直交変換を行う。逆直交変換部39は、逆直交変換の結果得られる残差情報を加算部40に供給する。
加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算して、局部的に復号された画像を得る。なお、予測画像選択部48から予測画像が供給されない場合、加算部40は、逆直交変換部39から供給される残差情報を局部的に復号された画像とする。加算部40は、局部的に復号された画像をデブロックフィルタ41に供給するとともに、フレームメモリ44に供給して蓄積させる。
デブロックフィルタ41は、加算部40から供給される局部的に復号された画像に対して、ブロック歪を除去する適応デブロックフィルタ処理を行い、その結果得られる画像を適応オフセットフィルタ42に供給する。
適応オフセットフィルタ42は、デブロックフィルタ41による適応デブロックフィルタ処理後の画像に対して、主にリンギングを除去する適応オフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
具体的には、適応オフセットフィルタ42は、最大の符号化単位であるLCU(Largest Coding Unit)ごとに適応オフセットフィルタ処理の種類を決定し、その適応オフセットフィルタ処理で用いられるオフセットを求める。適応オフセットフィルタ42は、求められたオフセットを用いて、適応デブロックフィルタ処理後の画像に対して、決定された種類の適応オフセットフィルタ処理を行う。そして、適応オフセットフィルタ42は、適応オフセットフィルタ処理後の画像を適応ループフィルタ43に供給する。
また、適応オフセットフィルタ42は、オフセットを格納するバッファを有している。適応オフセットフィルタ42は、LCUごとに、適応デブロックフィルタ処理に用いられたオフセットが既にバッファに格納されているかどうかを判定する。
適応オフセットフィルタ42は、適応デブロックフィルタ処理に用いられたオフセットが既にバッファに格納されていると判定した場合、オフセットがバッファに格納されているかを示す格納フラグを、オフセットがバッファに格納されていることを示す値(ここでは1)に設定する。
そして、適応オフセットフィルタ42は、LCUごとに、1に設定された格納フラグ、バッファにおけるオフセットの格納位置を示すインデックス、および、行われた適応オフセットフィルタ処理の種類を示す種類情報を可逆符号化部36に供給する。
一方、適応オフセットフィルタ42は、適応デブロックフィルタ処理に用いられたオフセットがまだバッファに格納されていない場合、そのオフセットを順にバッファに格納する。また、適応オフセットフィルタ42は、格納フラグを、オフセットがバッファに格納されていないことを示す値(ここでは0)に設定する。そして、適応オフセットフィルタ42は、LCUごとに、0に設定された格納フラグ、オフセット、および種類情報を可逆符号化部36に供給する。
適応ループフィルタ43は、適応オフセットフィルタ42から供給される適応オフセットフィルタ処理後の画像に対して、例えば、LCUごとに、適応ループフィルタ(ALF:Adaptive Loop Filter)処理を行う。適応ループフィルタ処理としては、例えば、2次元のウィナーフィルタ(Wiener Filter)による処理が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。
具体的には、適応ループフィルタ43は、LCUごとに、画面並べ替えバッファ32から出力される画像である原画像と適応ループフィルタ処理後の画像の残差が最小となるように、適応ループフィルタ処理で用いられるフィルタ係数を算出する。そして、適応ループフィルタ43は、適応オフセットフィルタ処理後の画像に対して、算出されたフィルタ係数を用いて、LCUごとに適応ループフィルタ処理を行う。
適応ループフィルタ43は、適応ループフィルタ処理後の画像をフレームメモリ44に供給する。また、適応ループフィルタ43は、フィルタ係数を可逆符号化部36に供給する。
なお、ここでは、適応ループフィルタ処理は、LCUごとに行われるものとするが、適応ループフィルタ処理の処理単位は、LCUに限定されない。但し、適応オフセットフィルタ42と適応ループフィルタ43の処理単位を合わせることにより、処理を効率的に行うことができる。
フレームメモリ44は、適応ループフィルタ43から供給される画像と、加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積された画像は、参照画像としてスイッチ45を介してイントラ予測部46または動き予測・補償部47に出力される。
イントラ予測部46は、フレームメモリ44からスイッチ45を介して読み出された参照画像を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。
また、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値(詳細は後述する)を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。イントラ予測部46は、予測画像選択部48から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部36に供給する。
なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて算出される。
具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全ての予測モードに対して、仮に復号までが行われ、次の式(1)で表わされるコスト関数値が各予測モードに対して算出される。
Dは、原画像と復号画像の差分(歪)、Rは、直交変換の係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全ての予測モードに対して、予測画像の生成、および、符号化情報の符号量の算出が行われ、次の式(2)で表わされるコスト関数が各予測モードに対して算出される。
Dは、原画像と予測画像の差分(歪)、Header_Bitは、符号化情報の符号量、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するだけでよく、復号画像を生成する必要がないため、演算量が少なくて済む。
動き予測・補償部47は、候補となる全てのインター予測モードの動き予測・補償処理を行う。具体的には、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と、フレームメモリ44からスイッチ45を介して読み出される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出する。そして、動き予測・補償部47は、予測画像生成部として機能し、その動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
このとき、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。また、動き予測・補償部47は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトルなどを可逆符号化部36に出力し、参照画像特定情報を参照画像設定部49に出力する。
予測画像選択部48は、イントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの、対応するコスト関数値が小さい方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。また、予測画像選択部48は、最適予測モードの予測画像の選択をイントラ予測部46または動き予測・補償部47に通知する。
参照画像設定部49は、動き予測・補償部47から供給される参照画像特定情報をGOP分だけ保持する。参照画像設定部49は、符号化対象の画像がGOPの先頭の画像である場合、RPSのインデックスとしての0と、符号化対象の画像のRPSがSPSに含まれるRPSであることを示すRPSフラグとを可逆符号化部36に供給する。
一方、符号化対象の画像がGOPの先頭の画像以外の画像である場合、参照画像設定部49は、保持されている前画像の参照画像特定情報と、符号化対象の画像の参照画像特定情報とを比較し、比較結果に基づいてinter_ref_pic_set_prediction_flagとdelta_idx_minus1を決定する。そして、参照画像設定部49は、決定されたinter_ref_pic_set_prediction_flagと、符号化対象の画像の参照画像特定情報またはdelta_idx_minus1とを含むRPSを、符号化対象の画像のRPSとする。
そして、参照画像設定部49は、符号化対象の画像のRPSと同一のRPSが設定部12から供給されている場合、そのRPSのインデックスと、符号化対象の画像のRPSがSPSに含まれるRPSであることを示すRPSフラグとを可逆符号化部36に供給する。一方、符号化対象の画像のRPSと同一のRPSが設定部12から供給されていない場合、参照画像設定部49は、符号化対象の画像のRPSと、符号化対象の画像のRPSがSPSに含まれるRPSではないことを示すRPSフラグとを可逆符号化部36に供給する。
レート制御部50は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35で用いられる量子化パラメータを決定する。レート制御部50は、決定された量子化パラメータを、量子化部35、可逆符号化部36、および逆量子化部38に供給する。
(SPSのシンタックスの例)
図5は、図3の設定部12により設定されるSPSのシンタックスの例を示す図である。
図5の第18行目に示すように、SPSには、各インデックス(i)のRPSが含まれる。
(RPSのシンタックスの例)
図6は、RPSのシンタックスの例を示す図である。
なお、図示は省略するが、図6の第6行目以降の記述は、図1の第3行目以降の記述と同様である。
図6の第2行目と第3行目に示すように、インデックス(idx)が0であるRPSには、inter_ref_pic_set_prediction_flagが含まれず、inter_ref_pic_set_prediction_flagが0である場合に含まれる参照画像特定情報が含まれる。
一方、第4行目および第5行目に示すように、インデックス(idx)が0以外であるRPSには、inter_ref_pic_set_prediction_flagが含まれる。そして、inter_ref_pic_set_prediction_flagが0である場合参照画像特定情報が含まれ、inter_ref_pic_set_prediction_flagが1である場合delta_idx_minus1が含まれる。
(本技術の効果の説明)
図7は、図3の設定部12により設定されるRPSの情報量を説明する図であり、図8は、従来のRPSの情報量を説明する図である。
図7と図8の例では、GOP内の先頭から2番目のピクチャと8番目のピクチャの参照画像特定情報が、符号化順で1つ前のピクチャの参照画像特定情報と同一である。
この場合、図7に示すように、設定部12は、インデックスが0であるRPSとして、GOPの先頭のピクチャの参照画像特定情報を設定する。また、設定部12は、例えばインデックスが1であるRPSとして、inter_ref_pic_set_prediction_flagとしての1と、delta_idx_minus1としての0を設定する。そして、GOPの先頭のピクチャのRPSのインデックスが0とされ、2番目のピクチャと8番目のピクチャのRPSのインデックスが1とされる。
これに対して、図8に示すように、従来の場合、例えばインデックスが0であるRPSとして、inter_ref_pic_set_prediction_flagとしての0とGOPの先頭のピクチャの参照画像特定情報が設定される。また、設定部12の場合と同様に、インデックスが1であるRPSが設定される。そして、GOPの先頭のピクチャのインデックスが0とされ、2番目のピクチャと8番目のピクチャのRPSのインデックスが1とされる。
以上のように、設定部12は、先頭のピクチャのRPSとして用いられるインデックスが0であるRPSとしてinter_ref_pic_set_prediction_flagを設定しない。即ち、GOPの先頭のピクチャは、自分より符号化順で前のピクチャが存在しないため、inter_ref_pic_set_prediction_flagは必ず0となる。従って、設定部12は、先頭のピクチャのRPSとして用いられるインデックスが0であるRPSとしてinter_ref_pic_set_prediction_flagを設定せず、inter_ref_pic_set_prediction_flagが0であるものとして参照画像特定情報のみを設定する。その結果、従来の場合に比べて、先頭のピクチャのinter_ref_pic_set_prediction_flag分だけRPSの情報量を削減することができる。
(スライスヘッダのシンタックスの例)
図9は、スライスヘッダのシンタックスの例を示す図である。
図9の第5行目に示すように、スライスヘッダには、対応する係数のRPSフラグ(short_term_ref_pic_set_sps_flag)が含まれる。また、図9の第6行目と第7行目に示すように、RPSフラグが、符号化対象の画像のRPSがSPSに含まれるRPSではないことを示す0である場合、スライスヘッダには、対応する係数のRPSがshort_term_ref_pic_set(num_short_term_ref_pic_sets)として含まれる。
図9の第8行目および第9行目に示すように、RPSフラグが、符号化対象の画像のRPSがSPSに含まれるRPSであることを示す1である場合、スライスヘッダには、対応する係数のRPSのインデックスがshort_term_ref_pic_set_idxとして含まれる。
(符号化装置の処理の説明)
図10は、図3の符号化装置10の生成処理を説明するフローチャートである。
図10のステップS11において、符号化装置10の設定部12は、RPSを設定するRPS設定処理を行う。このRPS設定処理の詳細は、後述する図11を参照して後述する。ステップS12において、符号化部11は、外部から入力信号として入力されるフレーム単位の画像をHEVC方式で符号化する符号化処理を行う。この符号化処理の詳細は、後述する図12および図13を参照して説明する。
ステップS13において、設定部12は、インデックスが付与されたRPSを含むSPSを設定する。ステップS14において、設定部12は、PPSを設定する。ステップS15において、設定部12は、設定されたSPSおよびPPSと、符号化部11から供給される符号化データとから、符号化ストリームを生成する。設定部12は、符号化ストリームを伝送部13に供給する。
ステップS16において、伝送部13は、設定部12から供給される符号化ストリームを、後述する復号装置に伝送し、処理を終了する。
図11は、図10のステップS11のRPS設定処理の詳細を説明するフローチャートである。
図11のステップS21において、設定部12は、RPSのインデックスiを0に設定する。ステップS22において、RPSのインデックスiが0であるかどうかを判定する。ステップS22でRPSのインデックスiが0であると判定された場合、ステップS23において、設定部12は、inter_ref_pic_set_prediction_flagを0に設定し、処理をステップS25に進める。
ステップS22でRPSのインデックスiが0ではないと判定された場合、設定部12は、ステップS24において、設定部12は、インデックスiのRPSとして、inter_ref_pic_set_prediction_flagを設定し、処理をステップS25に進める。
ステップS25において、設定部12は、inter_ref_pic_set_prediction_flagが1であるかどうかを判定する。ステップS25でinter_ref_pic_set_prediction_flagが1であると判定された場合、ステップS26において、設定部12は、インデックスiのRPSとしてdelta_idx_minus1を設定し、処理をステップS28に進める。
一方、ステップS25でinter_ref_pic_set_prediction_flagが1ではないと判定された場合、即ちinter_ref_pic_set_prediction_flagが0である場合、ステップS27において、設定部12は、参照画像特定情報を設定し、処理をステップS28に進める。
ステップS28において、設定部12は、インデックスiを1だけインクリメントする。ステップS29において、設定部12は、インデックスiが、SPSに含めるRPSの数num_short_term_ref_pic_sets以上であるかどうかを判定する。
ステップS29でインデックスiが数num_short_term_ref_pic_sets以上ではないと判定された場合、処理はステップS22に戻り、インデックスiが数num_short_term_ref_pic_sets以上になるまで、ステップS22乃至S29の処理が繰り返される。
一方、ステップS29でインデックスiが数num_short_term_ref_pic_sets以上であると判定された場合、処理は図10のステップS11に戻り、ステップS12に進む。
図12および図13は、図10のステップS12の符号化処理の詳細を説明するフローチャートである。
図12のステップS31において、符号化部11のA/D変換部31は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ32に出力して記憶させる。
ステップS32において、画面並べ替えバッファ32は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ32は、並べ替え後のフレーム単位の画像を、演算部33、イントラ予測部46、および動き予測・補償部47に供給する。
ステップS33において、イントラ予測部46は、候補となる全てのイントラ予測モードのイントラ予測処理を行う。また、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。
また、動き予測・補償部47は、候補となる全てのインター予測モードの動き予測・補償処理を行う。また、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
ステップS34において、予測画像選択部48は、ステップS33の処理によりイントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。
ステップS35において、予測画像選択部48は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップS35で最適予測モードが最適インター予測モードであると判定された場合、予測画像選択部48は、最適インター予測モードで生成された予測画像の選択を動き予測・補償部47に通知する。
そして、ステップS36において、動き予測・補償部47は、インター予測モード情報と、対応する動きベクトルとを可逆符号化部36に供給する。動き予測・補償部47は、参照画像特定情報を参照画像設定部49に供給する。
ステップS37において、参照画像設定部49は、RPSのインデックスを決定するRPSインデックス決定処理を行う。このRPSインデックス決定処理の詳細は、後述する図14を参照して説明する。
一方、ステップS35で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、予測画像選択部48は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部46に通知する。そして、ステップS38において、イントラ予測部46は、イントラ予測モード情報を可逆符号化部36に供給し、処理をステップS39に進める。
ステップS39において、演算部33は、画面並べ替えバッファ32から供給される画像から、予測画像選択部48から供給される予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報として直交変換部34に出力する。
ステップS40において、直交変換部34は、演算部33からの残差情報に対して直交変換を施し、その結果得られる直交変換係数を量子化部35に供給する。
ステップS41において、量子化部35は、レート制御部50から供給される量子化パラメータを用いて直交変換部34から供給される係数を量子化する。量子化された係数は、可逆符号化部36と逆量子化部38に入力される。
図13のステップS42において、逆量子化部38は、レート制御部50から供給される量子化パラメータを用いて、量子化部35から供給される量子化された係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部39に供給する。
ステップS43において、逆直交変換部39は、逆量子化部38から供給される直交変換係数に対して逆直交変換を施し、その結果得られる残差情報を加算部40に供給する。
ステップS44において、加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算し、局部的に復号された画像を得る。加算部40は、得られた画像をデブロックフィルタ41に供給するとともに、フレームメモリ44に供給する。
ステップS45において、デブロックフィルタ41は、加算部40から供給される局部的に復号された画像に対して、デブロッキングフィルタ処理を行う。デブロックフィルタ41は、その結果得られる画像を適応オフセットフィルタ42に供給する。
ステップS46において、適応オフセットフィルタ42は、デブロックフィルタ41から供給される画像に対して、LCUごとに適応オフセットフィルタ処理を行う。適応オフセットフィルタ42は、その結果得られる画像を適応ループフィルタ43に供給する。また、適応オフセットフィルタ42は、LCUごとに、格納フラグ、インデックスまたはオフセット、および種類情報を、オフセットフィルタ情報として可逆符号化部36に供給する。
ステップS47において、適応ループフィルタ43は、適応オフセットフィルタ42から供給される画像に対して、LCUごとに適応ループフィルタ処理を行う。適応ループフィルタ43は、その結果得られる画像をフレームメモリ44に供給する。また、適応ループフィルタ43は、適応ループフィルタ処理で用いられたフィルタ係数を可逆符号化部36に供給する。
ステップS48において、フレームメモリ44は、適応ループフィルタ43から供給される画像と加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積された画像は、参照画像としてスイッチ45を介してイントラ予測部46または動き予測・補償部47に出力される。
ステップS49において、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、RPSのインデックスまたはRPSなど、レート制御部50からの量子化パラメータ、オフセットフィルタ情報、およびフィルタ係数を、符号化情報として可逆符号化する。
ステップS50において、可逆符号化部36は、量子化部35から供給される量子化された係数を可逆符号化する。そして、可逆符号化部36は、ステップS49の処理で可逆符号化された符号化情報と可逆符号化された係数から、符号化データを生成する。
ステップS51において、蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に蓄積する。
ステップS52において、レート制御部50は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35で用いられる量子化パラメータを決定する。レート制御部50は、決定された量子化パラメータを、量子化部35、可逆符号化部36、および逆量子化部38に供給する。
ステップS53において、蓄積バッファ37は、記憶している符号化データを、図3の設定部12に出力する。
なお、図12および図13の符号化処理では、説明を簡単化するため、常に、イントラ予測処理と動き予測・補償処理が行われるようにしたが、実際には、ピクチャタイプ等によっていずれか一方のみが行われる場合もある。
図14は、図12のステップS37のRPSインデックス決定処理の詳細を説明するフローチャートである。
図14のステップS71において、参照画像設定部49は、動き予測・補償部47から供給される参照画像特定情報をGOP分だけ保持する。ステップS72において、参照画像設定部49は、符号化対象の画像がGOPの先頭の画像であるかどうかを判定する。
ステップS72で符号化対象の画像がGOPの先頭の画像であると判定された場合、ステップS73において、参照画像設定部49は、RPSフラグを1に設定する。ステップS74において、参照画像設定部49は、RPSのインデックスを0に設定し、処理をステップS79に進める。
一方、ステップS72で符号化対象の画像がGOPの先頭の画像以外の画像であると判定された場合、ステップS75において、参照画像設定部49は、符号化対象の画像のRPSを生成する。
具体的には、参照画像設定部49は、保持されている前画像の参照画像特定情報と、符号化対象の画像の参照画像特定情報とが同一であるかどうかを判定する。参照画像設定部49は、保持されている前画像の参照画像特定情報と、符号化対象の画像の参照画像特定情報とが同一であると判定された場合、inter_ref_pic_set_prediction_flagとして1を含み、delta_idx_minus1を含む符号化対象の画像のRPSを生成する。
一方、保持されている前画像の参照画像特定情報と、符号化対象の画像の参照画像特定情報とが同一ではないと判定された場合、参照画像設定部49は、inter_ref_pic_set_prediction_flagとして0を含む符号化対象の画像のRPSを生成する。
ステップS76において、参照画像設定部49は、符号化対象の画像のRPSが設定部12から供給されるSPSに含まれるRPSと同一であるかどうかを判定する。ステップS76で符号化対象の画像のRPSがSPSに含まれるRPSと同一であると判定された場合、ステップS77において、参照画像設定部49は、RPSフラグを1に設定する。
ステップS78において、参照画像設定部49は、符号化対象の画像のRPSと同一のSPSに含まれるRPSのインデックスを認識し、処理をステップS79に進める。ステップS79において、参照画像設定部49は、ステップS73またはステップS77で設定されたRPSフラグと、ステップS74で設定されたRPSのインデックスまたはステップS78で認識されたRPSのインデックスとを可逆符号化部36に供給する。そして、処理は図12のステップS37に戻り、ステップS39に進む。
一方、ステップS76で符号化対象の画像のRPSがSPSに含まれるRPSと同一ではないと判定された場合、参照画像設定部49は、RPSフラグを0に設定する。ステップS81において、参照画像設定部49は、ステップS80で設定されたRPSフラグとステップS75で生成されたRPSとを可逆符号化部36に供給する。そして、処理は図12のステップS37に戻り、ステップS39に進む。
以上のように、符号化装置10は、符号化対象の画像がGOPの先頭の画像以外の画像である場合、inter_ref_pic_set_prediction_flagを伝送する。即ち、符号化装置10は、符号化対象の画像がGOPの先頭の画像である場合、inter_ref_pic_set_prediction_flagを伝送しない。従って、GOPの先頭の画像のinter_ref_pic_set_prediction_flag分だけ、参照画像特定情報に関するRPSの情報量を削減することができる。
(復号装置の第1実施の形態の構成例)
図15は、図3の符号化装置10から伝送される符号化ストリームを復号する、本技術を適用した復号装置の第1実施の形態の構成例を示すブロック図である。
図15の復号装置110は、受け取り部111、抽出部112、および復号部113により構成される。
復号装置110の受け取り部111は、図3の符号化装置10から伝送されてくる符号化ストリームを受け取り、抽出部112に供給する。
抽出部112は、受け取り部111から供給される符号化ストリームから、SPS,PPS、符号化データ等を抽出する。抽出部112は、符号化データを復号部113に供給する。また、抽出部112は、SPSに基づいて、各RPSのinter_ref_pic_set_prediction_flagとdelta_idx_minus1または参照画像特定情報とを取得し、復号部113に供給する。さらに、抽出部112は、SPSに含まれるRPS以外の情報やPPS等も、必要に応じて復号部113に供給する。
復号部113は、抽出部112から供給される各RPSのinter_ref_pic_set_prediction_flagとdelta_idx_minus1または参照画像特定情報とに基づいて、抽出部112から供給される符号化データをHEVC方式で復号する。このとき、復号部113は、必要に応じてSPSに含まれるRPS以外の情報やPPS等も参照する。復号部113は、復号の結果得られる画像を、出力信号として出力する。
(復号部の構成例)
図16は、図15の復号部113の構成例を示すブロック図である。
図16の復号部113は、蓄積バッファ131、可逆復号部132、逆量子化部133、逆直交変換部134、加算部135、デブロックフィルタ136、適応オフセットフィルタ137、適応ループフィルタ138、画面並べ替えバッファ139、D/A変換部140、フレームメモリ141、スイッチ142、イントラ予測部143、参照画像設定部144、動き補償部145、およびスイッチ146により構成される。
復号部113の蓄積バッファ131は、図15の抽出部112から符号化データを受け取り、蓄積する。蓄積バッファ131は、蓄積されている符号化データを可逆復号部132に供給する。
可逆復号部132は、蓄積バッファ131からの符号化データに対して、可変長復号や、算術復号等の可逆復号を施すことで、量子化された係数と符号化情報を得る。可逆復号部132は、量子化された係数を逆量子化部133に供給する。また、可逆復号部132は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、動きベクトル、インター予測モード情報などを動き補償部145に供給する。可逆復号部132は、符号化情報としてのRPSフラグとRPSのインデックスまたはRPSとを参照画像設定部144に供給する。
さらに、可逆復号部132は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ146に供給する。可逆復号部132は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ137に供給し、フィルタ係数を適応ループフィルタ138に供給する。
逆量子化部133、逆直交変換部134、加算部135、デブロックフィルタ136、適応オフセットフィルタ137、適応ループフィルタ138、フレームメモリ141、スイッチ142、イントラ予測部143、および、動き補償部145は、図4の逆量子化部38、逆直交変換部39、加算部40、デブロックフィルタ41、適応オフセットフィルタ42、適応ループフィルタ43、フレームメモリ44、スイッチ45、イントラ予測部46、および、動き予測・補償部47とそれぞれ同様の処理を行い、これにより、画像が復号される。
具体的には、逆量子化部133は、可逆復号部132からの量子化された係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部134に供給する。
逆直交変換部134は、逆量子化部133からの直交変換係数に対して逆直交変換を行う。逆直交変換部134は、逆直交変換の結果得られる残差情報を加算部135に供給する。
加算部135は、復号部として機能し、逆直交変換部134から供給される復号対象の画像としての残差情報と、スイッチ146から供給される予測画像を加算することにより、復号を行う。加算部135は、復号の結果得られる画像をデブロックフィルタ136に供給するとともに、フレームメモリ141に供給する。なお、スイッチ146から予測画像が供給されない場合、加算部135は、逆直交変換部134から供給される残差情報である画像を復号の結果得られる画像として、デブロックフィルタ136に供給するとともに、フレームメモリ141に供給して蓄積させる。
デブロックフィルタ136は、加算部135から供給される画像に対して適応デブロックフィルタ処理を行い、その結果得られる画像を適応オフセットフィルタ137に供給する。
適応オフセットフィルタ137は、可逆復号部132から供給されるオフセットを順に格納するバッファを有する。また、適応オフセットフィルタ137は、LCUごとに、可逆復号部132から供給されるオフセットフィルタ情報に基づいて、デブロックフィルタ136による適応デブロックフィルタ処理後の画像に対して、適応オフセットフィルタ処理を行う。
具体的には、オフセットフィルタ情報に含まれる格納フラグが0である場合、適応オフセットフィルタ137は、LCU単位のデブロックフィルタ処理後の画像に対して、そのオフセットフィルタ情報に含まれるオフセットを用いて、種類情報が示す種類の適応オフセットフィルタ処理を行う。
一方、オフセットフィルタ情報に含まれる格納フラグが1である場合、適応オフセットフィルタ137は、LCU単位のデブロックフィルタ処理後の画像に対して、そのオフセットフィルタ情報に含まれるインデックスが示す位置に格納されるオフセットを読み出す。そして、適応オフセットフィルタ137は、読み出されたオフセットを用いて、種類情報が示す種類の適応オフセットフィルタ処理を行う。適応オフセットフィルタ137は、適応オフセットフィルタ処理後の画像を、適応ループフィルタ138に供給する。
適応ループフィルタ138は、適応オフセットフィルタ137から供給される画像に対して、可逆復号部132から供給されるフィルタ係数を用いて、LCUごとに適応ループフィルタ処理を行う。適応ループフィルタ138は、その結果得られる画像をフレームメモリ141および画面並べ替えバッファ139に供給する。
画面並べ替えバッファ139は、適応ループフィルタ138から供給される画像をフレーム単位で記憶する。画面並べ替えバッファ139は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部140に供給する。
D/A変換部140は、画面並べ替えバッファ139から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。フレームメモリ141は、適応ループフィルタ138から供給される画像と加算部135から供給される画像を蓄積する。フレームメモリ141に蓄積された画像は参照画像として読み出され、スイッチ142を介して動き補償部145またはイントラ予測部143に供給される。
イントラ予測部143は、フレームメモリ141からスイッチ142を介して読み出された参照画像を用いて、可逆復号部132から供給されるイントラ予測モード情報が示すイントラ予測モードのイントラ予測処理を行う。イントラ予測部143は、その結果生成される予測画像をスイッチ146に供給する。
参照画像設定部144は、図15の抽出部112から供給される各RPSのinter_ref_pic_set_prediction_flagとdelta_idx_minus1または参照画像特定情報とをRPS情報として保持する。また、参照画像設定部144は、可逆復号部132から供給されるRPSフラグおよびRPSのインデックスまたはRPS、並びに、各RPSのRPS情報に基づいて、復号対象の画像の参照画像特定情報を生成する。参照画像設定部144は、生成された参照画像特定情報を動き補償部145に供給するとともに、保持する。
動き補償部145は、参照画像設定部144から供給される参照画像特定情報に基づいて、フレームメモリ141からスイッチ142を介して、参照画像特定情報により特定される参照画像を読み出す。動き補償部145は、予測画像生成部として機能し、動きベクトルと参照画像を用いて、インター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部145は、その結果生成される予測画像をスイッチ146に供給する。
スイッチ146は、可逆復号部132からイントラ予測モード情報が供給された場合、イントラ予測部143から供給される予測画像を加算部135に供給する。一方、可逆復号部132からインター予測モード情報が供給された場合、スイッチ146は、動き補償部145から供給される予測画像を加算部135に供給する。
(復号装置の処理の説明)
図17は、図15の復号装置110による受け取り処理を説明するフローチャートである。
図17のステップS111において、復号装置110の受け取り部111は、図3の符号化装置10から伝送されてくる符号化ストリームを受け取り、抽出部112に供給する。
ステップS112において、抽出部112は、受け取り部111から供給される符号化ストリームから、SPS,PPS、符号化データ等を抽出する。抽出部112は、符号化データを復号部113に供給する。また、抽出部112は、SPSに含まれるRPS以外の情報やPPS等も、必要に応じて復号部113に供給する。
ステップS113において、抽出部112は、SPSに基づいて、各RPSのinter_ref_pic_set_prediction_flagとdelta_idx_minus1または参照画像特定情報とをRPS情報として取得し、復号部113に供給する。
ステップS114において、復号部113は、抽出部112から供給される各RPSのRPS情報に基づいて、抽出部112から供給される符号化データをHEVC方式で復号する復号処理を行う。この復号処理の詳細は、後述する図19を参照して説明する。そして、処理は終了する。
図18は、図17のステップS113のRPS設定処理の詳細を説明するフローチャートである。
図18のステップS120において、抽出部112は、SPS(図5)に含まれるnum_short_term_ref_pic_setsを取得する。ステップS121において、抽出部112は、生成するRPS情報に対応するRPSのインデックスiを0に設定する。ステップS122において、RPSのインデックスiが0であるかどうかを判定する。
ステップS122でインデックスiが0であると判定された場合、ステップS123において、抽出部112は、インデックスiのRPSのRPS情報に含まれるinter_ref_pic_set_prediction_flagを0に設定し、処理をステップS125に進める。
一方、ステップS122でインデックスiが0ではないと判定された場合、ステップS124において、抽出部112は、SPSに含まれるインデックスiのRPSに含まれるinter_ref_pic_set_prediction_flagを取得する。そして、抽出部112は、取得されたinter_ref_pic_set_prediction_flagを、インデックスiのRPSのRPS情報に含まれるinter_ref_pic_set_prediction_flagとして設定し、処理をステップS125に進める。
ステップS125において、抽出部112は、inter_ref_pic_set_prediction_flagが1であるかどうかを判定する。ステップS125でinter_ref_pic_set_prediction_flagが1であると判定された場合、ステップS126において、抽出部112は、SPSに含まれるインデックスiのRPSに含まれるdelta_idx_minus1を取得する。そして、抽出部112は、取得されたdelta_idx_minus1をインデックスiのRPSのRPS情報に含まれるdelta_idx_minus1として設定し、処理をステップS128に進める。
一方、ステップS125でinter_ref_pic_set_prediction_flagが1ではないと判定された場合、ステップS127において、抽出部112は、SPSに含まれるインデックスiのRPSに含まれる参照画像特定情報を取得する。そして、抽出部112は、取得された参照画像特定情報をインデックスiのRPSのRPS情報に含まれる参照画像特定情報として設定し、処理をステップS128に進める。
ステップS128において、抽出部112は、インデックスiを1だけインクリメントする。ステップS129において、抽出部112は、インデックスiが、ステップS120で取得されたnum_short_term_ref_pic_sets以上であるかどうかを判定する。
ステップS129でインデックスiがnum_short_term_ref_pic_sets以上ではないと判定された場合、処理はステップS122に戻り、インデックスiがnum_short_term_ref_pic_sets以上になるまで、ステップS122乃至S129の処理が繰り返される。
一方、ステップS129でインデックスiがnum_short_term_ref_pic_sets以上であると判定された場合、ステップS130において、抽出部112は、設定されたnum_short_term_ref_pic_sets個のRPSのRPS情報を供給する。そして、処理は図17のステップS113に戻り、ステップS114に進む。
図19は、図17のステップS114の復号処理の詳細を説明するフローチャートである。
図19のステップS131において、復号部113の蓄積バッファ131は、図15の抽出部112からフレーム単位の符号化データを受け取り、蓄積する。蓄積バッファ131は、蓄積されている符号化データを可逆復号部132に供給する。
ステップS132において、可逆復号部132は、蓄積バッファ131からの符号化データを可逆復号し、量子化された係数と符号化情報を得る。可逆復号部132は、量子化された係数を逆量子化部133に供給する。また、可逆復号部132は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、動きベクトル、インター予測モード情報、RPSフラグとRPSのインデックスまたはRPSなどを動き補償部145に供給する。
さらに、可逆復号部132は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ146に供給する。可逆復号部132は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ137に供給し、フィルタ係数を適応ループフィルタ138に供給する。
ステップS133において、逆量子化部133は、可逆復号部132からの量子化された係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部134に供給する。
ステップS134において、動き補償部145は、可逆復号部132からインター予測モード情報が供給されたかどうかを判定する。ステップS134でインター予測モード情報が供給されたと判定された場合、処理はステップS135に進む。
ステップS135において、参照画像設定部144は、抽出部112から供給される各RPSのRPS情報と、可逆復号部132から供給されるRPSフラグおよびRPSのインデックスまたはRPSとに基づいて、復号対象の画像の参照画像特定情報を生成し、保持する。
具体的には、参照画像設定部144は、抽出部112から供給される各RPSのRPS情報を保持している。参照画像設定部144は、RPSフラグが1である場合、保持しているRPS情報のうちのRPSのインデックスのRPS情報を読み出す。そして、参照画像設定部144は、読み出されたRPS情報に含まれるinter_ref_pic_set_prediction_flagが0である場合、RPS情報に含まれる参照画像特定情報を復号対象の画像の参照画像特定情報として生成し、保持する。
一方、参照画像設定部144は、inter_ref_pic_set_prediction_flagが1である場合、保持している参照画像特定情報のうちの、RPS情報に含まれるdelta_idx_minus1により特定される前画像の参照画像特定情報を読み出す。そして、参照画像設定部144は、読み出された前画像の参照画像特定情報を、復号対象の画像の参照画像特定情報として生成し、保持する。
また、参照画像設定部144は、RPSフラグが0であり、RPSフラグとともに可逆復号部132から供給されるRPSに含まれるinter_ref_pic_set_prediction_flagが0である場合、RPSに含まれる参照画像特定情報を復号対象の画像の参照画像特定情報として生成し、保持する。一方、参照画像設定部144は、inter_ref_pic_set_prediction_flagが1である場合、保持している参照画像特定情報のうちの、RPSに含まれるdelta_idx_minus1により特定される前画像の参照画像特定情報を読み出す。そして、参照画像設定部144は、読み出された前画像の参照画像特定情報を、復号対象の画像の参照画像特定情報として生成し、保持する。
ステップS136において、動き補償部145は、参照画像設定部144から供給される参照画像特定情報に基づいて参照画像を読み出し、動きベクトルと参照画像を用いて、インター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部145は、その結果生成される予測画像を、スイッチ146を介して加算部135に供給し、処理をステップS138に進める。
一方、ステップS134でインター予測モード情報が供給されていないと判定された場合、即ちイントラ予測モード情報がイントラ予測部143に供給された場合、処理はステップS137に進む。
ステップS137において、イントラ予測部143は、フレームメモリ141からスイッチ142を介して読み出された参照画像を用いて、イントラ予測モード情報が示すイントラ予測モードのイントラ予測処理を行う。イントラ予測部143は、イントラ予測処理の結果生成される予測画像を、スイッチ146を介して加算部135に供給し、処理をステップS138に進める。
ステップS138において、逆直交変換部134は、逆量子化部133からの直交変換係数に対して逆直交変換を施し、その結果得られる残差情報を加算部135に供給する。
ステップS139において、加算部135は、逆直交変換部134から供給される残差情報と、スイッチ146から供給される予測画像を加算する。加算部135は、その結果得られる画像をデブロックフィルタ136に供給するとともに、フレームメモリ141に供給する。
ステップS140において、デブロックフィルタ136は、加算部135から供給される画像に対してデブロッキングフィルタ処理を行い、ブロック歪を除去する。デブロックフィルタ136は、その結果得られる画像を適応オフセットフィルタ137に供給する。
ステップS141において、適応オフセットフィルタ137は、可逆復号部132から供給されるオフセットフィルタ情報に基づいて、デブロックフィルタ136によるデブロックフィルタ処理後の画像に対して、LCUごとに適応オフセットフィルタ処理を行う。適応オフセットフィルタ137は、適応オフセットフィルタ処理後の画像を、適応ループフィルタ138に供給する。
ステップS142において、適応ループフィルタ138は、適応オフセットフィルタ137から供給される画像に対して、可逆復号部132から供給されるフィルタ係数を用いて、LCUごとに適応ループフィルタ処理を行う。適応ループフィルタ138は、その結果得られる画像をフレームメモリ141および画面並べ替えバッファ139に供給する。
ステップS143において、フレームメモリ141は、加算部135から供給される画像と、適応ループフィルタ138から供給される画像を蓄積する。フレームメモリ141に蓄積された画像は、参照画像としてスイッチ142を介して動き補償部145またはイントラ予測部143に供給される。
ステップS144において、画面並べ替えバッファ139は、適応ループフィルタ138から供給される画像をフレーム単位で記憶し、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部140に供給する。
ステップS145において、D/A変換部140は、画面並べ替えバッファ139から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。そして、処理は、図17のステップS114に戻り、終了する。
以上のように、復号装置110は、符号化対象の画像がGOPの先頭の画像以外の画像である場合に伝送されてくるinter_ref_pic_set_prediction_flagを受け取り、inter_ref_pic_set_prediction_flagを受け取った場合、そのinter_ref_pic_set_prediction_flagに基づいて、復号対象の画像の参照画像特定情報を生成する。一方、復号装置110は、inter_ref_pic_set_prediction_flagを受け取らない場合、inter_ref_pic_set_prediction_flagとしての0に基づいて復号対象の画像の参照画像特定情報を生成する。
その結果、復号装置110は、GOPの先頭の画像のinter_ref_pic_set_prediction_flag分だけRPSの情報量を削減した符号化ストリームを復号することができる。
<第2実施の形態>
(符号化装置の第2実施の形態の構成例)
図20は、本技術を適用した符号化装置の第2実施の形態の構成例を示すブロック図である。
なお、図20の構成のうち、図3の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図20の符号化装置150の構成は、設定部12の代わりに設定部151が設けられている点が、図3の符号化装置10の構成と異なる。符号化装置150は、inter_ref_pic_set_prediction_flagとdelta_idx_minus1をGOP単位で共有化可能なようにSPSを設定する。
具体的には、設定部151は、必要に応じてinter_ref_pic_set_prediction_flag,delta_idx_minus1、参照画像特定情報などを含むRPSを設定し、各RPSにインデックスを付与する。設定部151は、インデックスが付与されたRPSを符号化部11に供給する。また、設定部151は、RPSとGOP内の全てのピクチャにおいてinter_ref_pic_set_prediction_flagが0であるかを示す参照不可情報とを含み、必要に応じてGOP内の全てのピクチャにおいて共通のdelta_idx_minus1を含むSPSを設定する。設定部151は、PPSなどを設定する。
また、設定部151は、図3の設定部12と同様に、設定されたSPSおよびPPSと、符号化部11から供給される符号化データとから、符号化ストリームを生成する。設定部151は、設定部12と同様に、符号化ストリームを伝送部13に供給する。
(SPSのシンタックスの例)
図21は、図20の設定部151により設定されるSPSのシンタックスの例を示す図である。
図21の第4行目に示すように、SPSには、参照不可情報(disable_rps_prediction_flag)が含まれる。また、第5行目および第6行目に示すように、参照不可情報が、GOP内の全てのピクチャにおいてinter_ref_pic_set_prediction_flagが0であることを示さない0である場合、SPSには、GOP内の全てのピクチャにおいてdelta_idx_minus1が同一であるかを示す同一情報(unified_rps_prediction_control_present_flag)が含まれる。
さらに、第7行目および第8行目に示すように、同一情報が、GOP内の全てのピクチャにおいてdelta_idx_minus1が同一であることを示す1である場合、SPSには、GOP内の全てのピクチャにおいて共通のdelta_idx_minus1であるunified_delta_idx_minus1が含まれる。また、第11行目に示すように、SPSには、各インデックス(i)のRPSが含まれる。
(RPSのシンタックスの例)
図22は、RPSのシンタックスの例を示す図である。
なお、図示は省略するが、図22の第11行目以降の記述は、図1の第5行目以降の記述と同様である。
図22の第2行目と第3行目に示すように、disable_rps_prediction_flagが1である場合、RPSには、inter_ref_pic_set_prediction_flagが含まれず、inter_ref_pic_set_prediction_flagが0である場合に含まれる参照画像特定情報が含まれる。
一方、第4行目および第5行目に示すように、disable_rps_prediction_flagが0である場合、RPSには、inter_ref_pic_set_prediction_flagが含まれる。そして、第6行目乃至第8行目に示すように、inter_ref_pic_set_prediction_flagとunified_rps_prediction_control_present_flagが1である場合、RPSには、delta_idx_minus1は含まれず、delta_idx_minus1はunified_delta_idx_minus1とされる。
また、第9行目および第10行目に示すように、inter_ref_pic_set_prediction_flagが1であり、unified_rps_prediction_control_present_flagが0である場合、RPSには、delta_idx_minus1が含まれる。
(本技術の効果の説明)
図23および図24は、図20の設定部151により設定されるRPSの情報量を説明する図であり、図25は、従来のRPSの情報量を説明する図である。
図23の例では、GOP内の先頭から2番目のピクチャと8番目のピクチャの参照画像特定情報が、符号化順で1つ前のピクチャの参照画像特定情報と同一である。
この場合、図23に示すように、設定部151は、disable_rps_prediction_flagとして0を設定し、unified_rps_prediction_control_present_flagとして1を設定する。また、設定部151は、unified_delta_idx_minus1として0を設定する。
さらに、設定部151は、例えば、インデックスが0であるRPSとして、inter_ref_pic_set_prediction_flagとしての0と、GOPの先頭のピクチャの参照画像特定情報とを設定する。また、設定部151は、インデックスが1であるRPSとして、inter_ref_pic_set_prediction_flagとしての1を設定する。そして、GOPの先頭のピクチャのRPSのインデックスが0とされ、2番目のピクチャと8番目のピクチャのRPSのインデックスが1とされる。
このように、設定部151は、GOP内の全てのピクチャに共通のdelta_idx_minus1をunified_delta_idx_minus1として設定する。従って、設定部151は、delta_idx_minus1をGOP単位で設定することができる。
また、図24と図25の例では、GOP内の全てのピクチャの参照画像特定情報が、符号化順で前のピクチャの参照画像特定情報と同一ではない。
この場合、図24に示すように、設定部151は、disable_rps_prediction_flagとして1を設定し、GOP内の各ピクチャに対応するRPSとして、そのピクチャの参照画像特定情報を設定する。これに対して、従来の場合、図25に示すように、GOP内の各ピクチャに対応するRPSとして、inter_ref_pic_set_prediction_flagとしての0と、そのピクチャの参照画像特定情報が設定される。
このように、設定部151は、GOP内の全てのピクチャに共通のinter_ref_pic_set_prediction_flagとしての0を、disable_rps_prediction_flagとして設定する。従って、disable_rps_prediction_flagが1である場合、従来の場合に比べて、inter_ref_pic_set_prediction_flag分だけRPSの情報量を削減することができる。
(符号化装置の処理の説明)
図20の符号化装置150の生成処理は、RPS設定処理を除いて図10の生成処理と同様であるので、以下では、RPS設定処理についてのみ説明する。
図26は、符号化装置150の設定部151のRPS設定処理の詳細を説明するフローチャートである。
図26のステップS161において、設定部151は、SPSとしてdisable_rps_prediction_flagを設定する。ステップS162において、設定部151は、disable_rps_prediction_flagが1であるかどうかを判定する。ステップS162でdisable_rps_prediction_flagが1ではないと判定された場合、ステップS163において、設定部151は、SPSとしてunified_rps_prediction_control_present_flagを設定する。
ステップS164において、設定部151は、unified_rps_prediction_control_present_flagが1であるかどうかを判定する。ステップS164でunified_rps_prediction_control_present_flagが1であると判定された場合、ステップS165において、設定部151は、SPSとしてunified_delta_idx_minus1を設定し、処理をステップS166に進める。
ステップS162でdisable_rps_prediction_flagが1であると判定された場合、または、ステップS164でunified_rps_prediction_control_present_flagが0であると判定された場合、処理はステップS166に進む。
ステップS166において、設定部151は、RPSのインデックスiを0に設定する。ステップS167において、設定部151は、disable_rps_prediction_flagが1であるかどうかを判定する。ステップS167でdisable_rps_prediction_flagが1であると判定された場合、ステップS168において、設定部151は、inter_ref_pic_set_prediction_flagを0に設定し、処理をステップS170に進める。
一方、ステップS167でdisable_rps_prediction_flagが1ではないと判定された場合、ステップS169において、設定部151は、インデックスiのRPSとしてinter_ref_pic_set_prediction_flagを設定し、処理をステップS170に進める。
ステップS170において、設定部151は、inter_ref_pic_set_prediction_flagが1であるかどうかを判定する。ステップS170でinter_ref_pic_set_prediction_flagが1であると判定された場合、ステップS171において、設定部151は、unified_rps_prediction_control_present_flagが1であるかどうかを判定する。
ステップS171でunified_rps_prediction_control_present_flagが1であると判定された場合、処理はステップS174に進む。一方、ステップS171でunified_rps_prediction_control_present_flagが1ではないと判定された場合、ステップS172において、設定部151は、インデックスiのRPSとしてdelta_idx_minus1を設定し、処理をステップS174に進める。
また、ステップS170でinter_ref_pic_set_prediction_flagが1ではないと判定された場合、ステップS173において、設定部151は、インデックスiのRPSとして参照画像特定情報を設定し、処理をステップS174に進める。
ステップS174において、設定部151は、インデックスiを1だけインクリメントする。ステップS175において、設定部151は、インデックスiが、SPSに含めるRPSの数num_short_term_ref_pic_sets以上であるかどうかを判定する。
ステップS175でインデックスiが数num_short_term_ref_pic_sets以上ではないと判定された場合、処理はステップS167に戻り、インデックスiが数num_short_term_ref_pic_sets以上になるまで、ステップS167乃至S175の処理が繰り返される。
一方、ステップS175でインデックスiが数num_short_term_ref_pic_sets以上であると判定された場合、RPS設定処理は終了する。
以上のように、符号化装置150は、disable_rps_prediction_flagを設定するので、disable_rps_prediction_flagが1である場合、従来の場合に比べて、inter_ref_pic_set_prediction_flag分だけ、参照画像特定情報に関するRPSの情報量を削減することができる。また、inter_ref_pic_set_prediction_flagをGOP単位で設定することができる。
さらに、符号化装置150は、GOP内の全てのピクチャに共通のdelta_idx_minus1をunified_delta_idx_minus1として設定するので、delta_idx_minus1をGOP単位で設定することができる。
(復号装置の第2実施の形態の構成例)
図27は、図20の符号化装置150から伝送される符号化ストリームを復号する、本技術を適用した復号装置の第2実施の形態の構成例を示すブロック図である。
なお、図27の構成のうち、図15の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図27の復号装置170の構成は、抽出部112の代わりに抽出部171が設けられている点が、図15の復号装置110の構成と異なる。復号装置170は、図21のSPSに基づいて各RPSのRPS情報を設定する。
具体的には、復号装置170の抽出部171は、図15の抽出部112と同様に、受け取り部111から供給される符号化ストリームから、SPS,PPS、符号化データ等を抽出する。抽出部171は、抽出部112と同様に、符号化データを復号部113に供給する。また、抽出部171は、図21のSPSに基づいて、各RPSのRPS情報を取得し、復号部113に供給する。さらに、抽出部171は、抽出部112と同様に、SPSに含まれるRPS以外の情報やPPS等も、必要に応じて復号部113に供給する。
(復号装置の処理の説明)
図27の復号装置170の受け取り処理は、RPS設定処理を除いて、図17の受け取り処理と同様であるので、以下では、RPS設定処理についてのみ説明する。
図28は、図27の復号装置170のRPS設定処理の詳細を説明するフローチャートである。
図28のステップS191において、抽出部171は、SPS(図21)に含まれるnum_short_term_ref_pic_setsを取得する。ステップS192において、抽出部171は、SPSに含まれるdisable_rps_prediction_flagを取得する。ステップS193において、抽出部171は、取得されたdisable_rps_prediction_flagが1であるかどうかを判定する。
ステップS193でdisable_rps_prediction_flagが1ではないと判定された場合、ステップS194において、抽出部171は、SPSに含まれるunified_rps_prediction_control_present_flagを取得する。ステップS195において、抽出部171は、取得されたunified_rps_prediction_control_present_flagが1であるかどうかを判定する。
ステップS195でunified_rps_prediction_control_present_flagが1であると判定された場合、抽出部171は、SPSに含まれるunified_delta_idx_minus1を取得し、処理をステップS197に進める。
一方、ステップS195でunified_delta_idx_minus1が1ではないと判定された場合、処理はステップS197に進む。また、ステップS193でdisable_rps_prediction_flagが1であると判定された場合、処理はステップS197に進む。
ステップS197において、抽出部171は、生成するRPS情報に対応するRPSのインデックスiを0に設定する。ステップS198において、抽出部171は、ステップS192で取得されたdisable_rps_prediction_flagが1であるかどうかを判定する。
ステップS198でdisable_rps_prediction_flagが1であると判定された場合、ステップS199において、抽出部171は、インデックスiのRPSのRPS情報に含まれるinter_ref_pic_set_prediction_flagを0に設定し、処理をステップS201に進める。
一方、ステップS198でdisable_rps_prediction_flagが1ではないと判定された場合、ステップS200において、抽出部171は、SPSに含まれるインデックスiのRPSに含まれるinter_ref_pic_set_prediction_flagを取得する。そして、抽出部171は、取得されたinter_ref_pic_set_prediction_flagを、インデックスiのRPSのRPS情報に含まれるinter_ref_pic_set_prediction_flagとして設定し、処理をステップS201に進める。
ステップS201において、抽出部171は、inter_ref_pic_set_prediction_flagが1であるかどうかを判定する。ステップS201でinter_ref_pic_set_prediction_flagが1であると判定された場合、ステップS202において、抽出部171は、ステップS194で取得されたunified_rps_prediction_control_present_flagが1であるかどうかを判定する。
ステップS202でunified_rps_prediction_control_present_flagが1であると判定された場合、処理はステップS203に進む。ステップS203において、抽出部171は、ステップS196で取得されたunified_delta_idx_minus1を、インデックスiのRPSのRPS情報に含まれるunified_delta_idx_minus1として設定し、処理をステップS206に進める。
一方、ステップS202でunified_rps_prediction_control_present_flagが1ではないと判定された場合、ステップS204において、抽出部171は、SPSに含まれるインデックスiのRPSに含まれるdelta_idx_minus1を取得する。そして、抽出部171は、取得されたdelta_idx_minus1をインデックスiのRPSのRPS情報に含まれるdelta_idx_minus1として設定し、処理をステップS206に進める。
一方、ステップS201でinter_ref_pic_set_prediction_flagが1ではないと判定された場合、ステップS205において、抽出部171は、SPSに含まれるインデックスiのRPSに含まれる参照画像特定情報を取得する。そして、抽出部171は、取得された参照画像特定情報をインデックスiのRPSのRPS情報に含まれる参照画像特定情報として設定し、処理をステップS206に進める。
ステップS206乃至S208の処理は、図18のステップS128乃至S130の処理と同様であるので、説明は省略する。
以上のように、復号装置170は、disable_rps_prediction_flagを受け取り、disable_rps_prediction_flagに基づいて復号対象の画像の参照画像特定情報を生成する。その結果、復号装置170は、disable_rps_prediction_flagが1である場合にinter_ref_pic_set_prediction_flag分だけRPSの情報量を削減した符号化ストリームを復号することができる。
また、復号装置170は、GOP内の全てのピクチャに共通のdelta_idx_minus1をunified_delta_idx_minus1として受け取り、unified_delta_idx_minus1に基づいて復号対象の画像の参照画像特定情報を生成する。その結果、復号装置170は、delta_idx_minus1をGOP単位で設定した符号化ストリームを復号することができる。
<第3実施の形態>
(符号化装置の第3実施の形態の構成例)
図29は、本技術を適用した符号化装置の第3実施の形態の構成例を示すブロック図である。
なお、図29の構成のうち、図3の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図29の符号化装置190の構成は、設定部12の代わりに設定部191が設けられている点が、図3の符号化装置10の構成と異なる。符号化装置190は、図3の符号化装置10と図20の符号化装置150を組み合わせたものである。
具体的には、符号化装置190の設定部191は、inter_ref_pic_set_prediction_flagを含まず、参照画像特定情報を含むRPSと、必要に応じてinter_ref_pic_set_prediction_flag,delta_idx_minus1、参照画像特定情報などを含むRPSを含むRPSを設定する。また、設定部191は、各RPSにインデックスを付与する。ここでは、inter_ref_pic_set_prediction_flagを含まず、参照画像特定情報を含むRPSのインデックスとして0が付与されるものとする。
設定部191は、インデックスが付与されたRPSを符号化部11に供給する。また、設定部191は、RPSとdisable_rps_prediction_flagを含み、必要に応じてunified_rps_prediction_control_present_flagやunified_delta_idx_minus1を含むSPSを設定する。設定部191は、PPSなどを設定する。
また、設定部191は、図3の設定部12と同様に、設定されたSPSおよびPPSと、符号化部11から供給される符号化データとから、符号化ストリームを生成する。設定部191は、設定部12と同様に、符号化ストリームを伝送部13に供給する。
(SPSのシンタックスの例)
図30は、図29の設定部191により設定されるSPSのシンタックスの例を示す図である。
図30の構成は、図21の構成と同一であるので、説明は省略する。
(RPSのシンタックスの例)
図31は、RPSのシンタックスの例を示す図である。
なお、図示は省略するが、図31の第11行目以降の記述は、図1の第5行目以降の記述と同様である。
図31の第2行目と第3行目に示すように、インデックス(idx)が0である場合、または、disable_rps_prediction_flagが1である場合、RPSには、inter_ref_pic_set_prediction_flagが含まれず、inter_ref_pic_set_prediction_flagが0である場合に含まれる参照画像特定情報が含まれる。
第4行目乃至第10行目の記述は、図22の第4行目乃至第10行目の記述と同様であるので、説明は省略する。
(本技術の効果の説明)
図32は、図29の設定部191により設定されるRPSの情報量を説明する図である。
図32の例では、GOP内の先頭から2番目のピクチャと8番目のピクチャの参照画像特定情報が、符号化順で1つ前のピクチャの参照画像特定情報と同一である。
この場合、図32に示すように、設定部191は、disable_rps_prediction_flagとして0を設定し、unified_rps_prediction_control_present_flagとして1を設定する。また、設定部191は、unified_delta_idx_minus1として0を設定する。
さらに、設定部191は、例えば、インデックスが0であるRPSとして、GOPの先頭のピクチャの参照画像特定情報を設定する。また、設定部191は、インデックスが1であるRPSとして、inter_ref_pic_set_prediction_flagとしての1を設定する。そして、GOPの先頭のピクチャのRPSのインデックスが0とされ、2番目のピクチャと8番目のピクチャのRPSのインデックスが1とされる。
このように、設定部191は、先頭のピクチャのRPSとして用いられるインデックスが0であるRPSとしてinter_ref_pic_set_prediction_flagを設定しない。従って、図8に示した従来の場合に比べて、先頭のピクチャのinter_ref_pic_set_prediction_flag分だけRPSの情報量を削減することができる。
また、設定部191は、GOP内の全てのピクチャに共通のdelta_idx_minus1をunified_delta_idx_minus1として設定する。従って、delta_idx_minus1をGOP単位で設定することができる。
さらに、図示は省略するが、設定部191は、GOP内の全てのピクチャに共通のinter_ref_pic_set_prediction_flagとしての0を、disable_rps_prediction_flagとして設定する。従って、disable_rps_prediction_flagが1である場合、従来の場合に比べて、先頭のピクチャ以外のピクチャのinter_ref_pic_set_prediction_flag分もRPSの情報量を削減することができる。
(符号化装置の処理の説明)
図29の符号化装置190の生成処理は、RPS設定処理を除いて図10の生成処理と同様であるので、以下では、RPS設定処理についてのみ説明する。
図33は、符号化装置190の設定部191のRPS設定処理の詳細を説明するフローチャートである。
図33のステップS221乃至S226の処理は、図26のステップS161乃至S166の処理と同様であるので、説明は省略する。
ステップS227において、設定部191は、disable_rps_prediction_flagが1であるか、または、インデックスiが0であるかを判定する。ステップS227でdisable_rps_prediction_flagが1であるか、または、インデックスiが0であると判定された場合、処理はステップS228に進む。一方、ステップS227でdisable_rps_prediction_flagが1ではなく、かつ、インデックスiが0ではないと判定された場合、処理はステップS229に進む。
ステップS228乃至S235の処理は、図26のステップS168乃至S175の処理と同様であるので、説明は省略する。
(復号装置の第3実施の形態の構成例)
図34は、図29の符号化装置190から伝送される符号化ストリームを復号する、本技術を適用した復号装置の第3実施の形態の構成例を示すブロック図である。
なお、図34の構成のうち、図15の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図34の復号装置210の構成は、抽出部112の代わりに抽出部211が設けられている点が、図15の復号装置110の構成と異なる。復号装置210は、図31のRPSを含む図30のSPSに基づいて各RPSのRPS情報を設定する。
具体的には、復号装置210の抽出部211は、図15の抽出部112と同様に、受け取り部111から供給される符号化ストリームから、SPS,PPS、符号化データ等を抽出する。抽出部211は、抽出部112と同様に、符号化データを復号部113に供給する。また、抽出部211は、図31のRPSを含む図30のSPSに基づいて各RPSのRPS情報を取得し、復号部113に供給する。さらに、抽出部211は、抽出部112と同様に、SPSに含まれるRPS以外の情報やPPS等も、必要に応じて復号部113に供給する。
(復号装置の処理の説明)
図34の復号装置210の受け取り処理は、RPS設定処理を除いて、図17の受け取り処理と同様であるので、以下では、RPS設定処理についてのみ説明する。
図35は、図34の復号装置210のRPS設定処理の詳細を説明するフローチャートである。
図35のステップS251乃至S257の処理は、図28のステップS191乃至S197の処理と同様であるので、説明は省略する。
ステップS258において、抽出部211は、ステップS252で取得されたdisable_rps_prediction_flagが1であるか、または、インデックスiが0であるかどうかを判定する。
ステップS258でdisable_rps_prediction_flagが1であるか、または、インデックスiが0であると判定された場合、処理はステップS259に進む。一方、ステップS258でdisable_rps_prediction_flagが1ではなく、かつ、インデックスiが0ではないと判定された場合、処理はステップS260に進む。
ステップS259乃至S268の処理は、図28のステップS199乃至S208の処理と同様であるので、説明は省略する。
<第4実施の形態>
(符号化装置の第4実施の形態の構成例)
図36は、本技術を適用した符号化装置の第4実施の形態の構成例を示すブロック図である。
なお、図36の構成のうち、図3の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図36の符号化装置230の構成は、符号化部11の代わりに符号化部231が設けられている点、および、設定部12の代わりに設定部232が設けられている点が、図3の符号化装置10の構成と異なる。符号化装置230は、ピクチャ内のスライスの種類に応じて、そのスライスの種類に不要な参照画像に関する情報を設定しない。
具体的には、符号化装置230の符号化部231には、フレーム単位の画像が入力信号として入力される。符号化部231は、設定部232から供給されるRPS,PPS等を参照して、入力信号をHEVC方式で符号化する。このとき、符号化部231は、必要に応じて、インター予測における参照画像に対して重み付け予測(Weighted Prediction)を行う。
重み付け予測とは、参照画像に対して重み付けを行って予測画像を生成する処理である。具体的には、例えば、符号化対象のフレームXより符号化順で前の2つのフレームY1とフレームY0の復号画像が参照画像として用いられる場合、重み付け予測では、フレームXの予測画像X'が、以下の式(3)により求められる。
なお、式(3)において、w0とw1は重み係数であり、dはオフセット値である。この重み係数とオフセット値は、符号化ストリームに含められて伝送される。
重み付け予測を行うことにより、フェードイン、フェードアウト、クロスフェード等により、参照画像と符号化対象の画像の間で輝度の変化が発生する場合であっても、予測画像と符号化対象の画像の差分を削減することができる。その結果、符号化効率を向上させることができる。
これに対して、重み付け予測が行われない場合、フェードイン、フェードアウト、クロスフェード等により参照画像と符号化対象の画像の間で発生する輝度の変化が、そのまま予測画像と符号化対象の画像の差分となり、符号化効率が悪い。
符号化部231は、符号化の結果得られる符号化データを設定部232に供給する。
設定部232は、図3の設定部12と同様に、inter_ref_pic_set_prediction_flagを含まず、参照画像特定情報を含むRPSと、inter_ref_pic_set_prediction_flagと、参照画像特定情報またはdelta_idx_minus1とを含むRPSを設定する。設定部232は、設定部12と同様に、各RPSにインデックスを付与する。
設定部232は、RPSを含むSPS,PPSなどを設定する。設定部232は、インデックスが付与されたRPSとPPSを符号化部231に供給する。設定部232は、設定されたSPSおよびPPSと、符号化部231から供給される符号化データとから、符号化ストリームを生成する。設定部232は、符号化ストリームを伝送部13に供給する。
(符号化部の構成例)
図37は、図36の符号化部231の構成例を示すブロック図である。
なお、図37の構成のうち、図4の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図37の符号化部231の構成は、動き予測・補償部47の代わりに動き予測・補償部251が設けられ、可逆符号化部36の代わりに可逆符号化部252が設けられている点が、図4の符号化部11の構成と異なる。
動き予測・補償部251は、図36の設定部232から供給されるPPSに基づいて、候補となる全てのインター予測モードの重み付け予測を用いた動き予測・補償処理を行う。
具体的には、動き予測・補償部251は、画面並べ替えバッファ32から供給される画像と、フレームメモリ44からスイッチ45を介して読み出される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出する。そして、動き予測・補償部251は、検出された動きベクトルに基づいて参照画像に補償処理を施す。
そして、動き予測・補償部251は、重み付け予測における重み係数とオフセット値からなる重み付け情報を算出する。動き予測・補償部251は、生成部として機能し、算出された重み付け情報に基づいて補償処理後の参照画像に対して重み付け予測を行い、予測画像を生成する。
このとき、動き予測・補償部251は、図4の動き予測・補償部47と同様に、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出する。そして、動き予測・補償部251は、動き予測・補償部47と同様に、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。
そして、動き予測・補償部251は、動き予測・補償部47と同様に、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。また、動き予測・補償部251は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル、重み付け情報などを可逆符号化部252に出力する。また、動き予測・補償部251は、参照画像特定情報を参照画像設定部49に出力する。
可逆符号化部252は、図36の設定部232から供給されるPPSに基づいて、符号化対象の画像のスライスの種類を表すスライスタイプを生成する。また、可逆符号化部252は、図4の可逆符号化部36と同様に、イントラ予測モード情報をイントラ予測部46から取得する。また、可逆符号化部252は、インター予測モード情報、動きベクトル、重み付け情報などを動き予測・補償部251から取得する。また、可逆符号化部252は、可逆符号化部36と同様に、参照画像設定部49から、RPSのインデックスまたはRPS等を取得し、レート制御部50から量子化パラメータを取得する。
また、可逆符号化部252は、可逆符号化部36と同様に、適応オフセットフィルタ42から格納フラグ、インデックスまたはオフセット、および種類情報をオフセットフィルタ情報として取得し、適応ループフィルタ43からフィルタ係数を取得する。
可逆符号化部252は、可逆符号化部36と同様に、量子化部35から供給される量子化された係数に対して可逆符号化を行う。また、可逆符号化部252は、スライスタイプ、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、重み付け情報、RPSのインデックスまたはRPSなど、量子化パラメータ、オフセットフィルタ情報、およびフィルタ係数を、符号化情報として可逆符号化する。
可逆符号化部252は、可逆符号化された符号化情報をスライスヘッダとして、可逆符号化された係数に付加し、符号化データを生成する。可逆符号化部252は、符号化データを蓄積バッファ37に供給し、蓄積させる。
(PPSのシンタックスの例)
図38と図39は、図36の設定部232により設定されるPPSのシンタックスの例を示す図であり、図40と図41は、従来のHEVC方式におけるPPSのシンタックスの例を示す図である。
図38の第6行目に示すように、設定部232により設定されるPPSには、対応するピクチャ内の全てのスライスの種類が同一であるかどうかを表す統一フラグ(unified_slice_type_flag)が含まれる。また、第7行目と第8行目に示すように、統一フラグが1である場合、PPSには、対応するピクチャ内の全てのスライスの種類がIスライスであるかどうかを表すIフラグ(all_intra_slice_flag)が含まれる。
また、第9行目および第10行目に示すように、Iフラグが1ではない場合、即ちピクチャ内にPスライスまたはBスライスが含まれる場合、PPSには、対応するピクチャ内にBスライスがないかどうかを表すB無しフラグ(no_b_slice_flag)が含まれる。
そして、第11行目と第12行目に示すように、Iフラグが1ではない場合、PPSには、対応するピクチャよりも表示時刻が早い参照画像を用いた前方向の予測(L0予測)におけるRPSの最大数であるRPSL0数(num_ref_idx_l0_default_active_minus1)が、参照画像に関する情報として含まれる。
また、第13行目と第14行目に示すように、B無しフラグが0である場合、即ち、ピクチャ内にBスライスが含まれる場合、PPSには、対応するピクチャよりも表示時刻が遅い参照画像を用いた後ろ方向の予測(L1予測)におけるRPSの最大数であるRPSL1数(num_ref_idx_l1_default_active_minus1)が、参照画像に関する情報として含まれる。
第25行目と第26行目に示すように、Iフラグが1ではない場合、PPSには、Pスライスに対して重み付け予測を行うかどうかを表すP予測フラグ(weighted_pred_flag)が、参照画像に関する情報として含まれる。また、B無しフラグが1ではない場合、PPSには、Bスライスに対して重み付け予測を行うかどうかを表すB予測フラグ(weighted_bipred_flag)が、参照画像に関する情報として含まれる。
以上のように、図38と図39のPPSでは、対応するピクチャがIスライスのみからなる場合、RPSL0数、RPSL1数、P予測フラグ、およびB予測フラグが設定されない。また、対応するピクチャがIスライス以外のスライスを含む場合、RPSL1数とB予測フラグが設定されない。従って、ピクチャ内のスライスの種類によらず、全てのピクチャに対して、RPSL0数、RPSL1数、P予測フラグ、およびB予測フラグが設定される場合に比べて、符号化効率を向上させることができる。
なお、復号装置では、ピクチャがIスライスのみからなる場合、RPSL0数とRPSL1数が0であると認識され、ピクチャがIスライス以外のスライスを含む場合、RPSL1数が0であると認識される。
これに対して、図40と図41に示す従来のHEVC方式のPPSでは、図40の6行目、7行目、17行目、および18行目に示すように、ピクチャ内のスライスの種類によらず、RPSL0数、RPSL1数、P予測フラグ、およびB予測フラグが設定される。
なお、ピクチャがBスライスのみからなる場合、P予測フラグは設定されないようにしてもよい。
(スライスヘッダのシンタックスの例)
図42乃至図44は、図37の可逆符号化部252により付加されるスライスヘッダのシンタックスの例を示す図であり、図45乃至図47は、従来のHEVC方式におけるスライスヘッダのシンタックスの例を示す図である。
図42の第2行目に示すように、可逆符号化部252により付加されるスライスヘッダには、対応するスライスがピクチャ内の先頭のスライスであるかどうかを表す先頭フラグ(first_slice_in_pic_flag)が含まれる。また、第11行目と第12行目に示すように、統一フラグが0である場合、または、統一フラグが1であり、かつ、先頭フラグが0である場合、スライスヘッダには、対応するスライスのスライスタイプ(slice_type)が含まれる。
即ち、図42乃至図44のスライスヘッダには、ピクチャ内のスライスの種類が同一ではない場合、または、ピクチャ内のスライスの種類が同一であり、かつ、対応するスライスがピクチャ内の先頭のスライスである場合、スライスタイプが設定される。
しかしながら、図42乃至図44のスライスヘッダには、ピクチャ内のスライスの種類が同一であり、かつ、対応するスライスがピクチャ内の先頭以外のスライスである場合、スライスタイプは設定されない。この場合、先頭のスライスのスライスヘッダに含まれるスライスタイプが、先頭以外のスライスのスライスタイプとされる。
従って、ピクチャ内の全てのスライスのスライスタイプが同一であるかどうかによらず、全てのスライスのスライスタイプが設定される場合に比べて、符号化効率を向上させることができる。
これに対して、図45乃至図47に示す従来のHEVC方式におけるスライスヘッダには、図45の第11行目に示すように、ピクチャ内の全てのスライスのスライスタイプが同一であるかどうかによらず、全てのスライスのスライスタイプが設定される。
(符号化装置の処理の説明)
図48は、図36の符号化装置230の生成処理を説明するフローチャートである。
図48のステップS281において、符号化装置230の設定部232は、図11のRPS設定処理を行う。ステップS282において、符号化部231は、外部から入力信号として入力されるフレーム単位の画像をHEVC方式で符号化する符号化処理を行う。この符号化処理の詳細は、後述する図49および図50を参照して説明する。
ステップS283において、設定部232は、インデックスが付与されたRPSを含むSPSを設定する。ステップS284において、設定部232は、PPSを設定するPPS設定処理を行う。このPPS設定処理の詳細は、後述する図51を参照して説明する。
ステップS285およびステップS286の処理は、図10のステップS15およびS16の処理と同様であるので、説明は省略する。
図49および図50は、図48のステップS282の符号化処理の詳細を説明するフローチャートである。
図49のステップS301およびS302の処理は、図12のステップS31およびS32の処理と同様であるので、説明は省略する。
ステップS303において、動き予測・補償部251は、図36の設定部232から供給されるPPSに含まれるP予測フラグまたはB予測フラグに基づいて、重み付け予測を行うかどうかを判定する。
具体的には、符号化対象の画像がPスライスである場合、P予測フラグが1であるとき、動き予測・補償部251は、重み付け予測を行うと判定する。また、符号化対象の画像がBスライスである場合、B予測フラグが1であるとき、動き予測・補償部251は、重み付け予測を行うと判定する。さらに、符号化対象の画像がIスライスである場合、ステップS303の処理をスキップして、ステップS304に進む。
ステップS303で重み付け予測を行うと判定された場合、ステップS304において、イントラ予測部46は、候補となる全てのイントラ予測モードのイントラ予測処理を行う。また、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。
また、動き予測・補償部251は、候補となる全てのインター予測モードの重み付け予測を用いた動き予測・補償処理を行う。また、動き予測・補償部251は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測・補償部251は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
但し、符号化対象の画像がIスライスである場合、動き予測・補償処理は行われない。ステップS304の処理後、処理はステップS306に進む。
一方、ステップS303で重み付け予測を行わないと判定された場合、ステップS305において、イントラ予測部46は、ステップS304の処理と同様の処理を行う。
また、動き予測・補償部251は、候補となる全てのインター予測モードの動き予測・補償処理を行う。また、動き予測・補償部251は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測・補償部251は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。そして、処理はステップS306に進む。
ステップS306乃至S308の処理は、図12のステップS34乃至S36の処理と同様であるので、説明は省略する。
ステップS308の処理後、ステップS309において、動き予測・補償部251は、動き予測・補償処理において重み付け予測を行ったかどうかを判定する。ステップS309で重み付け予測を行ったと判定された場合、ステップS310において、動き予測・補償部251は、重み付け予測における重み付け情報を可逆符号化部252に供給する。そして、ステップS311に進む。
ステップS311乃至S322の処理は、図12および図13のステップS37乃至S48の処理と同様であるので、説明は省略する。
図50のステップS323において、可逆符号化部252は、図36の設定部232から供給されるPPSに含まれる統一フラグが0であるか、または、統一フラグと先頭フラグが1であるかどうかを判定する。
ステップS323で統一フラグが0であるか、または、統一フラグと先頭フラグが1であると判定された場合、ステップS324において、可逆符号化部252は、符号化対象の画像のスライスタイプを生成する。そして、処理はステップS325に進む。
一方、ステップS323で統一フラグが0ではなく、かつ、統一フラグと先頭フラグが1ではないと判定された場合、処理はステップS325に進む。
ステップS325において、可逆符号化部252は、スライスタイプ、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、重み付け情報、RPSのインデックスまたはRPSなど、レート制御部50からの量子化パラメータ、オフセットフィルタ情報、およびフィルタ係数を、符号化情報として可逆符号化する。
ステップS326乃至S329の処理は、図13のステップS50乃至S53の処理と同様であるので、説明は省略する。
図51は、図48のステップS284のPPS設定処理の詳細を説明するフローチャートである。このPPS設定処理は、ピクチャ単位で行われる。
図51のステップS331において、設定部232は、ピクチャ内の全てのスライスの種類は同一であるかどうかを判定する。ステップS331でピクチャ内の全てのスライスの種類が同一であると判定された場合、ステップS332において、設定部232は、統一フラグを1に設定し、PPSに含める。
ステップS333において、設定部232は、ピクチャ内の全てのスライスの種類はIスライスであるかどうかを判定する。ステップS333でピクチャ内の全てのスライスの種類がIスライスであると判定された場合、ステップS334において、設定部232は、Iフラグを1に設定してPPSに含め、処理をステップS337に進める。
一方、ステップS333でピクチャ内の全てのスライスの種類がIスライスではないと判定された場合、ステップS335において、設定部232は、Iフラグを0に設定してPPSに含め、処理をステップS337に進める。
一方、ステップS331でピクチャ内の全てのスライスの種類が同一ではないと判定された場合、ステップS336において、設定部232は、統一フラグを0に設定してPPSに含め、処理をステップS337に進める。
ステップS337において、設定部232は、Iフラグが1ではないかどうかを判定する。ステップS337でIフラグが1ではないと判定された場合、ステップS338において、設定部232は、PPSに含まれるRPSL0数とP予測フラグを設定し、PPSに含める。
ステップS339において、設定部232は、ピクチャ内にBスライスが含まれるかどうかを判定する。ステップS339でピクチャ内にBスライスが含まれると判定された場合、ステップS340において、設定部232は、PPSに含まれるB無しフラグを0に設定し、PPSに含める。ステップS341において、設定部232は、PPSに含まれるRPSL1数とB予測フラグを設定し、PPSに含める。そして、処理は、図48のステップS284に戻り、ステップS285に進む。
一方、ステップS339でピクチャ内にBスライスが含まれていないと判定された場合、ステップS342において、設定部232は、B無しフラグを1に設定し、PPSに含める。そして、処理は、図48のステップS284に戻り、ステップS285に進む。
また、ステップS337でIフラグが1であると判定された場合、処理は、図48のステップS284に戻り、ステップS285に進む。
以上のように、符号化装置230は、ピクチャ内のスライスの種類に応じて参照画像に関する情報を設定するので、参照画像に関する情報の情報量を削減し、符号化効率を向上させることができる。また、符号化装置230は、ピクチャ内の全てのスライスの種類が同一であるかどうかによってスライスタイプを設定するので、スライスタイプの情報量を削減し、符号化効率を向上させることができる。
(復号装置の第4実施の形態の構成例)
図52は、図36の符号化装置230から伝送される符号化ストリームを復号する、本技術を適用した復号装置の第4実施の形態の構成例を示すブロック図である。
なお、図52の構成のうち、図15の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図52の復号装置270の構成は、復号部113の代わりに復号部271が設けられる点が、図15の構成と異なる。復号装置270は、必要に応じて、動き補償処理時に重み付け予測を行う。
具体的には、復号装置270の復号部271は、抽出部112から供給される各RPSのinter_ref_pic_set_prediction_flagとdelta_idx_minus1または参照画像特定情報とに基づいて、抽出部112から供給される符号化データをHEVC方式で復号する。このとき、復号部271は、必要に応じてSPSに含まれるRPS以外の情報やPPS等も参照する。また、復号部271は、必要に応じて、動き補償処理時に重み付け予測を行う。復号部271は、復号の結果得られる画像を、出力信号として出力する。
(復号部の構成例)
図53は、図52の復号部271の構成例を示すブロック図である。
なお、図53の構成のうち、図16の構成と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図53の復号部271の構成は、可逆復号部132の代わりに可逆復号部291が設けられる点、および、動き補償部145の代わりに動き補償部292が設けられる点が、図16の構成と異なる。
復号部271の可逆復号部291は、図16の可逆復号部132と同様に、蓄積バッファ131からの符号化データに対して可逆復号を施すことで、量子化された係数と符号化情報を得る。可逆復号部291は、可逆復号部132と同様に、量子化された係数を逆量子化部133に供給する。また、可逆復号部291は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、動きベクトル、インター予測モード情報、重み付け情報などを動き補償部292に供給する。可逆復号部291は、可逆復号部132と同様に、符号化情報としてのRPSフラグとRPSのインデックスまたはRPSとを参照画像設定部144に供給する。
さらに、可逆復号部291は、可逆復号部132と同様に、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ146に供給する。可逆復号部291は、可逆復号部132と同様に、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ137に供給し、フィルタ係数を適応ループフィルタ138に供給する。
動き補償部292は、図16の動き補償部145と同様に、参照画像設定部144から供給される参照画像特定情報に基づいて、フレームメモリ141からスイッチ142を介して、参照画像特定情報により特定される参照画像を読み出す。
また、動き補償部292は、抽出部112から供給されるPPSに含まれるP予測フラグまたはB予測フラグに基づいて、図37の動き予測・補償部251と同様に、重み付け予測を行うかどうかを判定する。
動き補償部292は、生成部として機能し、重み付け予測を行うと判定した場合、動きベクトルと参照画像を用いて、インター予測モード情報が示す最適インター予測モードの重み付け予測を用いた動き補償処理を行う。このとき、動き補償部292は、必要に応じて、符号化対象の画像のスライスがPスライスである場合RPSL0数を参照し、符号化対象の画像のスライスがBスライスである場合RPSL0数とRPSL1数を参照する。
一方、動き補償部292は、重み付け予測を行わないと判定した場合、動き補償部145と同様に、最適インター予測モードの動き補償処理を行う。動き補償部292は、その結果生成される予測画像をスイッチ146に供給する。
(復号装置の処理の説明)
図54は、図52の復号装置270による受け取り処理を説明するフローチャートである。
図54のステップS351乃至S353の処理は、図17のステップS111乃至S113の処理と同様であるので、説明は省略する。
ステップS354において、復号部271は、抽出部112から供給される各RPSのRPS情報とPPSに基づいて復号処理を行う。この復号処理の詳細は、後述する図55を参照して説明する。そして、処理は終了する。
図55は、図54のステップS354の復号処理の詳細を説明するフローチャートである。
図55のステップS361において、復号部271の蓄積バッファ131は、図52の抽出部112からフレーム単位の符号化データを受け取り、蓄積する。蓄積バッファ131は、蓄積されている符号化データを可逆復号部291に供給する。
ステップS362において、可逆復号部291は、蓄積バッファ131からの符号化データを可逆復号し、量子化された係数と符号化情報を得る。可逆復号部291は、量子化された係数を逆量子化部133に供給する。また、可逆復号部291は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、動きベクトル、インター予測モード情報、重み付け情報、RPSフラグとRPSのインデックスまたはRPSなどを動き補償部292に供給する。
さらに、可逆復号部291は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ146に供給する。可逆復号部291は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ137に供給し、フィルタ係数を適応ループフィルタ138に供給する。
ステップS363乃至S365の処理は、図19のステップS133乃至S135の処理と同様であるので、説明は省略する。ステップS366において、動き補償部292は、図52の抽出部112から供給されるPPSに含まれるP予測フラグまたはB予測フラグに基づいて、図37の動き予測・補償部251と同様に、重み付け予測を行うかどうかを判定する。
ステップS366で重み付け予測を行うと判定された場合、ステップS367において、動き補償部292は、参照画像設定部144から供給される参照画像特定情報に基づいて参照画像を読み出し、動きベクトルと参照画像を用いて、インター予測モード情報が示す最適インター予測モードの重み付け予測を用いた動き補償処理を行う。
このとき、必要に応じて、符号化対象の画像のスライスがPスライスである場合RPSL0数を参照し、符号化対象の画像のスライスがBスライスである場合RPSL0数とRPSL1数を参照する。動き補償部292は、その結果生成される予測画像を、スイッチ146を介して加算部135に供給し、処理をステップS370に進める。
一方、ステップS366で重み付け予測を行わないと判定された場合、ステップS368において、動き補償部292は、参照画像設定部144から供給される参照画像特定情報に基づいて参照画像を読み出し、動きベクトルと参照画像を用いて、インター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部292は、その結果生成される予測画像を、スイッチ146を介して加算部135に供給し、処理をステップS370に進める。
ステップS369乃至S377の処理は、図19のステップS137乃至S145の処理と同様であるので、説明は省略する。
以上のように、復号装置270は、ピクチャ内のスライスの種類に応じて参照画像に関する情報を設定することにより符号化効率が向上された符号化ストリームを復号することができる。
なお、第4実施の形態では、参照画像に関する情報は、RPSL0数、RPSL1数、P予測フラグ、およびB予測フラグであるものとしたが、これに限定されない。
<多視画像点符号化・多視点画像復号への適用>
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図56は、多視点画像符号化方式の一例を示す。
図56に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
図56のような多視点画像符号化を行う場合、各ビュー(同一ビュー)において、量子化パラメータの差分をとることもできる:
多視点画像符号化を行う場合、各ビュー(異なるビュー)において、量子化パラメータの差分をとることもできる:
この場合、上記(1)乃至(4)を組み合わせて用いることもできる。たとえば、ノンベースビューでは、ベースビューとノンベースビューとの間においてスライスレベルで量子化パラメータの差分をとる手法(3-1と2-3とを組み合わせる)、ベースビューとノンベースビューとの間においてLCUレベルで量子化パラメータの差分をとる手法(3-2と2-1とを組み合わせる)、が考えられる。このように、差分を繰り返して適用することにより、多視点符号化を行った場合においても、符号化効率を向上させることができる。
上述した手法と同様に、上記の各dQPに対して、値が0でないdQPが存在するか否かを識別するフラグをセットすることもできる。
<多視点画像符号化装置>
図57は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図57に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
この多視点画像符号化装置600の符号化部601および符号化部602に対して、符号化装置10(150,190)を適用することができる。この場合、多視点画像符号化装置600は、符号化部601が設定する量子化パラメータと符号化部602が設定する量子化パラメータとの差分値を設定して、伝送させる。
<多視点画像復号装置>
図58は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図58に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
この多視点画像復号装置610の復号部612および復号部613に対して、復号装置110(170,210)を適用することができる。この場合、多視点画像復号装置610は、符号化部601が設定する量子化パラメータと符号化部602が設定する量子化パラメータとの差分値から量子化パラメータを設定して、逆量子化を行う。
<階層画像点符号化・階層画像復号への適用>
上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図59は、階層画像符号化方式の一例を示す。
図59に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
図59のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、量子化パラメータの差分をとることもできる:
階層符号化を行う場合、各レイヤ(異なるレイヤ)において、量子化パラメータの差分をとることもできる:
この場合、上記(1)乃至(4)を組み合わせて用いることもできる。たとえば、ノンベースレイヤでは、ベースレイヤとノンベースレイヤとの間においてスライスレベルで量子化パラメータの差分をとる手法(3-1と2-3とを組み合わせる)、ベースレイヤとノンベースレイヤとの間においてLCUレベルで量子化パラメータの差分をとる手法(3-2と2-1とを組み合わせる)、が考えられる。このように、差分を繰り返して適用することにより、階層符号化を行った場合においても、符号化効率を向上させることができる。
上述した手法と同様に、上記の各dQPに対して、値が0でないdQPが存在するか否かを識別するフラグをセットすることもできる。
<階層画像符号化装置>
図60は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図60に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
この階層画像符号化装置620の符号化部621および符号化部622に対して、符号化装置10(150,190)を適用することができる。この場合、階層画像符号化装置620は、符号化部621が設定する量子化パラメータと符号化部622が設定する量子化パラメータとの差分値を設定して、伝送させる。
<階層画像復号装置>
図61は、上述した階層画像復号を行う階層画像復号装置を示す図である。図61に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
この階層画像復号装置630の復号部632および復号部633に対して、復号装置110(170,210)を適用することができる。この場合、階層画像復号装置630は、符号化部621が設定する量子化パラメータと符号化部622が設定する量子化パラメータとの差分値から量子化パラメータ設定して、逆量子化を行う。
<本技術を適用したコンピュータの説明>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図62は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
バス804には、さらに、入出力インタフェース805が接続されている。入出力インタフェース805には、入力部806、出力部807、記憶部808、通信部809、及びドライブ810が接続されている。
入力部806は、キーボード、マウス、マイクロホンなどよりなる。出力部807は、ディスプレイ、スピーカなどよりなる。記憶部808は、ハードディスクや不揮発性のメモリなどよりなる。通信部809は、ネットワークインタフェースなどよりなる。ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア811を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部808に記憶されているプログラムを、入出力インタフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア811に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア811をドライブ810に装着することにより、入出力インタフェース805を介して、記憶部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記憶部808にインストールすることができる。その他、プログラムは、ROM802や記憶部808に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<テレビジョン装置の構成例>
図63は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置900の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置900がユーザ操作に応じた動作となるように各部を制御する。
なお、テレビジョン装置900では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
このように構成されたテレビジョン装置では、デコーダ904に本願の復号装置(復号方法)の機能が設けられる。このため、参照画像を特定する情報に関する情報の情報量を削減した符号化ストリームを復号することができる。
<携帯電話機の構成例>
図64は、本技術を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
携帯電話機920は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
なお、携帯電話機920は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、符号化データを生成する。
多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
このように構成された携帯電話装置では、画像処理部927に本願の符号化装置および復号装置(符号化方法および復号方法)の機能が設けられる。このため、参照画像を特定する情報に関する情報の情報量を削減した符号化ストリームを復号することができる。
<記録再生装置の構成例>
図65は、本技術を適用した記録再生装置の概略構成を例示している。記録再生装置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に出力する。
外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)やBlu−ray(登録商標)ディスク等である。
セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置940の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置940がユーザ操作に応じた動作となるように各部を制御する。
このように構成された記録再生装置では、デコーダ947に本願の復号装置(復号方法)の機能が設けられる。このため、参照画像を特定する情報に関する情報の情報量を削減した符号化ストリームを復号することができる。
<撮像装置の構成例>
図66は、本技術を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メディアドライブ968から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触IC(Integrated Circuit)カード等であってもよい。
また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
制御部970は、CPUを用いて構成されている。メモリ部967は、制御部970により実行されるプログラムや制御部970が処理を行う上で必要な各種のデータ等を記憶する。メモリ部967に記憶されているプログラムは、撮像装置960の起動時などの所定タイミングで制御部970により読み出されて実行される。制御部970は、プログラムを実行することで、撮像装置960がユーザ操作に応じた動作となるように各部を制御する。
このように構成された撮像装置では、画像データ処理部964に本願の符号化装置および復号装置(符号化方法および復号方法)の機能が設けられる。このため、参照画像を特定する情報に関する情報の情報量を削減することができる。また、参照画像を特定する情報に関する情報の情報量を削減した符号化ストリームを復号することができる。
<階層符号化の応用例>
(第1のシステム)
次に、階層符号化(スケーラブル符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図67に示される例のように、伝送するデータの選択のために利用される。
図67に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバーフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバーフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
(第2のシステム)
また、スケーラブル符号化は、例えば、図68に示される例のように、複数の通信媒体を介する伝送のために利用される。
図68に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバーフローの発生を抑制することができる。
また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
(第3のシステム)
また、スケーラブル符号化は、例えば、図69に示される例のように、符号化データの記憶に利用される。
図69に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
また、LCUとは、最大のサイズのCU(Coding Unit)であり、CTU(Coding Tree Unit)は、LCUのCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位である。また、CTUを構成するCUは、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位である。
<実施のその他の例>
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
(ビデオセットの構成例)
本技術をセットとして実施する場合の例について、図70を参照して説明する。図70は、本技術を適用したビデオセットの概略的な構成の一例を示している。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図70に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図70に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図70の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図70のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信に関する処理を行うプロセッサ(若しくはモジュール)である。例えば、ブロードバンドモデム1333は、送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。例えば、ブロードバンドモデム1333は、ビデオプロセッサ1332が処理する画像データや画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報をデジタル変調・復調することができる。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図70において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図70に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
(ビデオプロセッサの構成例)
図71は、本技術を適用したビデオプロセッサ1332(図70)の概略的な構成の一例を示している。
図71の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
図71に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
ビデオ入力処理部1401は、例えばコネクティビティ1321(図70)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図70)等に出力する。
フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
オーディオエンコーダ1410は、例えばコネクティビティ1321(図70)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図70)等に供給する。
多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図70)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図70)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図70)等に供給する。
また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図70)等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図70)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
また、ストリームバッファ1414は、例えばコネクティビティ1321(図70)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図70)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
また、コネクティビティ1321(図70)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図70)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図70)等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図70)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図70)等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、符号化装置10や復号装置110の機能を有するようにすればよい。また、例えば、エンコード・デコードエンジン1407が、符号化装置150や復号装置170、符号化装置190や復号装置210、符号化装置230や復号装置270の機能を有するようにしてもよい。さらに、例えば、エンコード・デコードエンジン1407が、多視点画像符号化装置600や多視点画像復号装置610の機能を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
(ビデオプロセッサの他の構成例)
図72は、本技術を適用したビデオプロセッサ1332(図70)の概略的な構成の他の例を示している。図72の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
より具体的には、図72に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図72に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図70)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図70)のモニタ装置等に出力する。
ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
図72に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321(いずれも図70)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図70)等向けのインタフェースである。
次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図70)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図70)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図70)等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ1321(図70)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図70)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図70)等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、符号化装置10や復号装置110を実現する機能ブロックを有するようにすればよい。また、例えば、コーデックエンジン1516が、符号化装置150や復号装置170、符号化装置190や復号装置210、符号化装置230や復号装置270を実現する機能ブロックを有するようにしてもよい。さらに、例えば、コーデックエンジン1516が、多視点画像符号化装置600や多視点画像復号装置610の機能を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
(装置への適用例)
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図63)、携帯電話機920(図64)、記録再生装置940(図65)、撮像装置960(図66)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
また、ビデオセット1300は、例えば、図67のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図68のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図69の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等にも組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図63)、携帯電話機920(図64)、記録再生装置940(図65)、撮像装置960(図66)、図67のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図68のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図69の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図61を参照して上述した効果と同様の効果を得ることができる。
本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
本技術は、MPEG,H.26x等のように、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる装置に適用することができる。
また、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。
また、本技術における符号化方式は、HEVC方式以外の符号化方式であってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
なお、本技術は、以下のような構成もとることができる。
(1)
符号化対象の画像がGOP(Group of Picture)の先頭の画像以外の画像である場合に伝送されてくる、前記符号化対象の画像より符号化順で前の画像である前画像の、予測画像の生成に用いられる参照画像を特定する参照画像特定情報を、前記符号化対象の画像の前記参照画像特定情報として用いるかを示す参照情報を受け取る受け取り部と、
前記受け取り部により前記参照情報が受け取られた場合、その参照情報に基づいて、復号対象の画像の前記参照画像特定情報を生成し、前記受け取り部により前記参照情報が受け取られない場合、前記前画像の前記参照画像特定情報を前記符号化対象の画像の前記参照画像特定情報として用いないことを示す参照情報に基づいて、復号対象の画像の前記参照画像特定情報を生成する参照画像設定部と、
前記参照画像設定部により生成された前記参照画像特定情報により特定される前記参照画像を用いて、予測画像を生成する予測画像生成部と
を備える復号装置。
(2)
前記受け取り部は、前記参照情報が、前記前画像の前記参照画像特定情報を前記符号化対象の画像の前記参照画像特定情報として用いることを示す場合、前記前画像を特定する前画像特定情報を受け取り、
前記参照画像設定部は、前記受け取り部により受け取られた前記前画像特定情報により特定される前記前画像の前記参照画像特定情報を、前記復号対象の画像の前記参照画像特定情報として生成する
前記(1)に記載の復号装置。
(3)
前記受け取り部は、前記参照情報が、前記前画像の前記参照画像特定情報を前記符号化対象の画像の前記参照画像特定情報として用いないことを示す場合、前記符号化対象の画像の前記参照画像特定情報を受け取り、
前記参照画像設定部は、前記受け取り部により受け取られた前記参照画像特定情報を、前記復号対象の画像の前記参照画像特定情報として生成する
前記(2)に記載の復号装置。
(4)
前記受け取り部は、前記参照情報と、前記前画像特定情報または前記参照画像特定情報とを含む、複数の参照画像情報を受け取るとともに、前記符号化対象の画像がGOP(Group of Picture)の先頭の画像以外の画像である場合に伝送されてくる、前記複数の参照画像情報のうちの、前記符号化対象の画像の前記参照画像情報を特定する参照画像情報特定情報を受け取り、
前記参照画像設定部は、前記受け取り部により受け取られた前記参照画像情報特定情報により特定される前記参照画像情報に含まれる前記参照情報に基づいて、前記復号対象の画像の前記参照画像特定情報を生成する
前記(3)に記載の復号装置。
(5)
前記受け取り部は、前記参照画像特定情報を含む先頭用参照画像情報を前記参照画像情報として受け取るとともに、前記符号化対象の画像がGOP(Group of Picture)の先頭の画像である場合に伝送されてくる、前記先頭用参照画像情報を特定する前記参照画像情報特定情報を受け取り、
前記参照画像設定部は、前記受け取り部により受け取られた前記参照画像情報特定情報により特定される前記先頭用参照画像情報に含まれる前記参照画像特定情報に基づいて、前記復号対象の画像の前記参照画像特定情報を生成する
前記(4)に記載の復号装置。
(6)
復号装置が、
符号化対象の画像がGOP(Group of Picture)の先頭の画像以外の画像である場合に伝送されてくる、前記符号化対象の画像より符号化順で前の画像である前画像の、予測画像の生成に用いられる参照画像を特定する参照画像特定情報を、前記符号化対象の画像の前記参照画像特定情報として用いるかを示す参照情報を受け取る受け取りステップと、
前記受け取りステップの処理により前記参照情報が受け取られた場合、その参照情報に基づいて、復号対象の画像の前記参照画像特定情報を生成し、前記受け取りステップの処理により前記参照情報が受け取られない場合、前記前画像の前記参照画像特定情報を前記符号化対象の画像の前記参照画像特定情報として用いないことを示す参照情報に基づいて、復号対象の画像の前記参照画像特定情報を生成する参照画像設定ステップと、
前記参照画像設定ステップの処理により生成された前記参照画像特定情報により特定される前記参照画像を用いて、予測画像を生成する予測画像生成ステップと
を含む復号方法。