まず、本発明の実施の形態の前提となる技術を説明する。
現在、MPEG(Moving Picture Experts Group)などの符号化方式に準拠した装置およびシステムが普及している。そのような符号化方式では、時間軸上に連続する複数の画像をデジタル信号の情報として取り扱う。その際、効率の高い情報の放送、伝送または蓄積などを目的とし、時間方向の冗長性を利用した動き補償予測、および空間方向の冗長性を利用した離散コサイン変換などの直交変換を用いて圧縮符号化する。
1995年にはMPEG−2ビデオ(ISO/IEC 13818−2)符号化方式が、汎用の映像圧縮符号化方式として制定され、DVDおよびD−VHS(登録商標)規格のデジタルVTRによる磁気テープなどの蓄積メディア、ならびにデジタル放送などのアプリケーションとして広く用いられている。
さらに、2003年に、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)の共同作業によってMPEG−4 AVC/H.264と呼ばれる符号化方式(ISO/IECでは14496−10、ITU−TではH.264の規格番号がつけられている。以下、これをMPEG−4AVCと呼ぶ)が国際標準として制定された。
現在、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)の共同作業によってHEVCと呼ばれる符号化方式の標準化が検討されている。
(符号化ブロック)
本発明の実施の形態では、入力された画像信号を図1のように最大符号化ブロック単位に分割し、分割した符号化ブロックをラスタースキャン順序で処理する。符号化ブロックは階層構造となっており、符号化効率などを考慮して順次均等に4分割することでより小さい符号化ブロックにすることができる。なお、4分割された符号化ブロックはジグザグスキャン順で符号化される。これ以上小さくすることのできない符号化ブロックを最小符号化ブロックと呼ぶ。符号化ブロックは符号化の単位となり、最大符号化ブロックも分割数が0である場合は符号化ブロックとなる。本実施の形態では、最大符号化ブロックを64画素×64画素、最小符号化ブロックを8画素×8画素とする。
図2(a)、(b)に最大符号化ブロックの分割の一例を示す。図2(a)の例では、符号化ブロックが10個に分割されている。CU0、CU1およびCU9は32画素×32画素の符号化ブロック、CU2、CU3およびCU8は16画素×16画素の符号化ブロック、ならびにCU4、CU5、CU6およびCU7は8画素×8画素の符号化ブロックとなっている。
(予測ブロック)
本発明の実施の形態では、符号化ブロックはさらに予測ブロックに分割される。予測ブロックの分割のパターンを図3(a)〜(d)に示す。図3(a)は符号化ブロックを分割しない2N×2N、図3(b)は水平に分割する2N×N、図3(c)は垂直に分割するN×2N、および図3(d)は水平と垂直に分割するN×Nを示す。つまり、予測ブロックサイズには、図4に示すように、CU分割数が0であって最大の予測ブロックサイズである64画素×64画素からCU分割数が3であって最小の予測ブロックサイズである4画素×4画素までの13の予測ブロックサイズが存在することになる。
本発明の実施の形態では、最大符号化ブロックを64画素×64画素、最小符号化ブロックを8画素×8画素とするが、この組み合わせに限定されない。また、予測ブロックの分割のパターンを図3(a)〜(d)としたが、1以上に分割されればよくこれに限定されない。
(予測符号化モード)
本発明の実施の形態では、動き補償予測の予測方向や符号化ベクトル数を予測ブロックのブロックサイズで切り替えることが可能となっている。ここで、動き補償予測の予測方向と符号化ベクトル数を関連付けた予測符号化モードの一例について図5を用いて簡単に説明する。
図5に示す予測符号化モードには、動き補償予測の予測方向が単方向であって符号化ベクトル数が1である単方向モード(UniPred)、動き補償予測の予測方向が双方向であって符号化ベクトル数が2である双方向モード(BiPred)、および動き補償予測の予測方向が単方向または双方向であって符号化ベクトル数が0であるマージモード(MERGE)がある。また、動き補償予測を実施しない予測符号化モードであるイントラモード(Intra)もある。
(参照画像インデックス)
本発明の実施の形態では、動き補償予測の精度向上のために、動き補償予測において複数の参照画像の中から最適な参照画像を選択することを可能とする。そのため、動き補償予測で利用した参照画像を参照画像インデックスとして符号化ベクトルとともに符号化ストリーム中に符号化する。動き補償予測で利用される参照画像インデックスは0以上の数値となる。参照画像インデックスで選択できる複数の参照画像は参照インデックスリストで管理される。動き補償予測の予測方向が単方向であれば、参照画像インデックスは1つ符号化され、動き補償予測の予測方向が双方向であれば、それぞれの予測方向の参照画像を示す参照画像インデックスが符号化される(図5参照)。
(予測ベクトルインデックス)
HEVCでは、予測ベクトルの精度を向上させるために、複数の予測ベクトルの候補の中から最適な予測ベクトルを選択し、選択した予測ベクトルを示すための予測ベクトルインデックスを符号化することが検討されている。本発明の実施の形態では、上記の予測ベクトルインデックスを導入する。動き補償予測の予測方向が単方向であれば、予測ベクトルインデックスは1つ符号化され、動き補償予測の予測方向が双方向であれば、それぞれの予測方向の予測ベクトルを示す予測ベクトルインデックスが符号化される(図5参照)。
(マージインデックス)
HEVCでは、さらに符号化効率を向上させるために、複数の隣接ブロックの候補及び符号化済みの別の画像の処理対象ブロックと同一位置にあるブロックの中から最適なブロックを選択し、選択したブロックを示すマージインデックスを符号化および復号することが検討されている。これは、選択されたマージインデックスの示すブロックの動き補償予測の予測方向、動きベクトル情報、参照画像情報から成る動き情報を処理対象ブロックで利用する動き補償予測技術(マージ技術)である。本発明の実施の形態では、上記のマージインデックス(マージ技術)を導入する。図5に示すように、マージインデックスは予測符号化モードがマージモードの場合に、1つ符号化される。なお、動き情報が双方向であれば、動き情報には各予測方向の動きベクトル情報と参照画像情報が含まれる。
以降、マージインデックスによって示される可能性のあるブロックの持つ動き情報を結合動き情報候補と呼び、結合動き情報候補の集合体を結合動き情報候補リストと呼ぶ。
(予測方向)
本発明の実施の形態では、動き補償予測の予測方向としてL0方向とL1方向の2つを設定する。ここで、動き補償予測の予測方向について図6(a)〜(d)を用いて簡単に説明する。動き補償予測の予測方向が単方向の場合はL0方向またはL1方向のいずれかを利用する。図6(a)は単方向であってL0方向の参照画像(RefL0Pic)が符号化対象画像(CurPic)より前の時刻にある場合を示している。図6(b)は単方向であってL0方向の参照画像が符号化対象画像より後の時刻にある場合を示している。図6(a)および図6(b)のL0方向の参照画像をL1方向の参照画像(RefL1Pic)に置き換えることもできる。
双方向の場合はL0方向とL1方向の2つを利用してBI方向と表現する。図6(c)は双方向であってL0方向の参照画像が符号化対象画像より前の時刻にあって、L1方向の参照画像が符号化対象画像より後の時刻にある場合を示している。図6(d)は双方向であってL0方向の参照画像とL1方向の参照画像が符号化対象画像より前の時刻にある場合を示している。図6(c)および図6(d)のL0方向の参照画像をL1方向の参照画像(RefL1Pic)に、L1方向の参照画像をL0方向の参照画像に置き換えることもできる。以上で説明したように、動き補償予測の予測方向であるL0方向とL1方向はそれぞれ時間的に前方向と後方向のいずれでも示すことができる。また、L0方向とL1方向はそれぞれに複数の参照画像が存在することが可能であって、L0方向の参照画像は参照画像リストL0にL1方向の参照画像は参照画像リストL1に登録されて、それぞれの予測方向の参照画像インデックスによって参照画像リスト中の参照画像の位置が指定されて、参照画像が確定する。以降、予測方向がL0方向であるとは参照画像リストL0に登録された参照画像と関連づけられた動き情報を利用する予測方向であり、予測方向がL1方向であるとは参照画像リストL1に登録された参照画像と関連づけられた動き情報を利用する予測方向である。
(シンタックス)
本発明の実施の形態による予測ブロックのシンタックスの一例について図7を用いて説明する。予測ブロックがイントラであるかインターであるかは上位の符号化ブロックによって指定されており、図7は予測ブロックがインターの場合のシンタックスを示す。予測ブロックには、マージフラグ(merge_flag)、マージインデックス(merge_idx)、動き補償予測の方向(inter_pred_type)、参照インデックス(ref_idx_l0とref_idx_l1)、差分ベクトル(mvd_l0[0]、mvd_l0[1]、mvd_l1[0]、mvd_l1[1])および予測ベクトルインデックス(mvp_idx_l0およびmvp_idx_l1)が設置されている。差分ベクトルの[0]は水平成分、[1]は垂直成分を示す。
ここで、ref_idx_l0とmvd_l0[0]、mvd_l0[1]、mvp_idx_l0はL0方向に関する情報であって、ref_idx_l1とmvd_l1[0]、mvd_l1[1]、mvp_idx_l1はL1方向に関する情報である。inter_pred_typeにはPred_L0(L0方向の単方向)、Pred_L1(L1方向の単方向)およびPred_BI(BIの双方向)の3種類がある。
(動き情報の符号量)
図7のシンタックスからもわかるように、マージモードはマージインデックス1つで動き情報を伝送できる。したがって、マージモード(マージフラグが1)と非マージモード(マージフラグが0)の予測誤差が同程度であれば、マージモードの方が動き情報を効率よく符号化できる。すなわち、マージモードの選択率を高くすることで動き情報の符号化効率を向上させることができる。
なお、本発明の実施の形態による予測ブロックのシンタックスを図7のように設定したが、本発明の実施の形態によればマージモードの方が非マージモードより少ない情報で動き情報を符号化できればよく、これに限定されない。例えば、動き情報が差分ベクトルだけでもよい。
(マージインデックスの特性)
図7ではマージインデックスの復号(符号化)の前段にマージの候補数を算出する関数であるNumMergeCands()が、予測ベクトルインデックスの復号(符号化)の前段に予測ベクトルの候補数を算出する関数であるNumMvpCands()が設置されている。これらは隣接ブロックの動き情報の有効性によって、マージの候補数や予測ベクトルの候補数が予測ブロック毎に変化するために、その候補数を取得するために必要な関数である。なお、隣接ブロックの動き情報が有効であるとは、その隣接ブロックが領域外のブロックやイントラモードでないことであって、隣接ブロックの動き情報が無効であるとは、その隣接ブロックが領域外のブロックやイントラモードであることである。
なお、マージの候補数が1である場合はマージインデックスを復号(符号化)しない。マージの候補数が1である場合は指定しなくとも一意に決定できるためである。予測ベクトルインデックスの場合も同様である。
また、マージインデックスの符号列について図8(a)〜(c)を用いて説明する。本発明の実施の形態では、マージインデックスの符号列としてTruncated Unary符号列を用いる。図8(a)はマージの候補数が2個の場合のTruncated Unary符号列によるマージインデックスの符号列を、図8(b)はマージの候補数が3個の場合のTruncated Unary符号列によるマージインデックスの符号列を、図8(c)はマージの候補数が4個の場合のTruncated Unary符号列によるマージインデックスの符号列を示す。
図8(a)〜(c)から同じマージインデックスの値を符号化する場合でもマージの候補数が少ないほどマージインデックスに割り当てられる符号ビット数が小さくなることがわかる。例えば、マージインデックスが1である場合、マージの候補数が2個であれば‘1’の1ビットであるが、マージの候補数が3個であれば‘10’の2ビットとなる。
以上のように、マージの候補数は少ないほどマージインデックスの符号化効率は向上する。すなわち、選択率の高い候補を残し、選択率の低い候補を削減することでマージインデックスの符号化効率は向上させることができる。また、候補数が同じである場合には、小さいマージインデックスの方が符号量は少なくなるため、選択率の高い候補に小さなマージインデックスを割り当てることで符号化効率を向上させることができる。
(POC)
本発明の実施の形態では、画像の時間情報(距離情報)としてPOC(Picture
Order Count)を用いる。POCはMPEG−4AVCで定義された画像の表示順序を示すカウンタである。画像の表示順序が1増加するとPOCも1増加する。したがって、画像間のPOC差から画像間の時間差(距離)を取得できる。
(隣接ブロックの動き情報の特性)
一般的に処理対象ブロックの動き情報と処理対象ブロックに隣接するブロック(以下、隣接ブロックという)の動き情報の相関度が高いのは、処理対象ブロックと隣接ブロックが同じ動きをしている場合、例えば、処理対象ブロックと隣接ブロックを含めた領域が平行移動している場合である。また、一般的に処理対象ブロックの動き情報と隣接ブロックの動き情報の相関度は、処理対象ブロックと隣接ブロックの接している長さにも依存する。
(別の画像の動き情報の特性)
一方、一般的に時間ダイレクトモードや空間ダイレクトモードで利用されている復号済みの別の画像上で処理対象ブロックと同一位置にあるブロック(以下、同一位置ブロックという)と、当該処理対象ブロックとの相関度が高いのは、当該同一位置ブロックおよび当該処理対象ブロックが静止状態にある場合である。
以下、図面とともに本発明に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラムの好適な実施の形態について詳細に説明する。なお、図面の説明には同一要素には同一符号を付与して重複する説明を省略する。
[実施の形態1]
(動画像符号化装置100の構成)
図9は本発明の実施の形態1に係る動画像符号化装置100の構成を示す。動画像符号化装置100は、動画像信号を動き補償予測を実施する予測ブロック単位で符号化する装置である。符号化ブロックの分割、予測ブロックサイズの決定、予測符号化モードの決定は上位の符号化制御部で決定されているものとする。
動画像符号化装置100は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像符号化装置100は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。なお、処理対象の予測ブロックの位置情報、予測ブロックサイズおよび動き補償予測の予測方向に関しては動画像符号化装置100内で共有していることとし、図示しない。
実施の形態1の動画像符号化装置100は、予測ブロック画像取得部101、減算部102、予測誤差符号化部103、符号列生成部104、予測誤差復号部105、動き補償部106、加算部107、動きベクトル検出部108、動き情報生成部109、フレームメモリ110、および動き情報メモリ111を含む。
(動画像符号化装置100の機能)
以下、各部の機能について説明する。予測ブロック画像取得部101は、予測ブロックの位置情報と予測ブロックサイズに基づいて、端子10より供給される画像信号から処理対象の予測ブロックの画像信号を取得し、予測ブロックの画像信号を減算部102、動きベクトル検出部108および動き情報生成部109に供給する。
減算部102は、予測ブロック画像取得部101より供給される画像信号と動き補償部106より供給される予測信号を減算して予測誤差信号を算出し、当該予測誤差信号を予測誤差符号化部103に供給する。
予測誤差符号化部103は、減算部102より供給される予測誤差信号に対して、量子化や直交変換などの処理を行って予測誤差符号化データを生成し、当該予測誤差符号化データを符号列生成部104および予測誤差復号部105に供給する。
符号列生成部104は、予測誤差符号化部103より供給される予測誤差符号化データ、ならびに動き情報生成部109より供給されるマージフラグ、マージ候補番号、動き補償予測の予測方向、参照画像インデックス、差分ベクトルおよび予測ベクトルインデックスを、動き補償予測の予測方向とともにシンタックスに従ってエントロピー符号化して符号列を生成し、当該符号列を端子11に供給する。
ここで、マージ候補番号はマージインデックスに変換されて符号列を生成する。ここで、マージ候補番号は選択された結合動き情報候補を示す番号である。マージ候補番号からマージインデックスへの変換については後述する。なお、実施の形態1では上記のようにマージインデックスや予測ベクトルインデックスの符号化にTruncated Unary符号列を利用したが、候補数が小さいほど少ないビットで符号化できる符号列であればこれに限定されない。
予測誤差復号部105は、予測誤差符号化部103より供給される予測誤差符号化データに対して、逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、当該予測誤差信号を加算部107に供給する。
動き補償部106は、動き情報生成部109より供給される参照画像インデックスで示されるフレームメモリ110内の参照画像を、動き情報生成部109より供給される動きベクトルに基づき動き補償して予測信号を生成する。予測方向が双方向であれば、L0方向とL1方向の予測信号を平均したものを予測信号とする。
加算部107は、予測誤差復号部105より供給される予測誤差信号と、動き補償部106より供給される予測信号を加算して復号画像信号を生成し、当該復号画像信号をフレームメモリ110に供給する。
動きベクトル検出部108は、予測ブロック画像取得部101より供給される画像信号および複数の参照画像に相当する画像信号から、動きベクトルおよび参照画像を示す参照画像インデックスを検出し、当該動きベクトルおよび当該参照画像インデックスを動き情報生成部109に供給する。なお、予測方向が双方向であれば、L0方向とL1方向の動きベクトルと参照画像インデックスを検出する。
一般的な動きベクトルの検出方法は、対象画像の画像信号と同一位置より所定の移動量だけ移動させた参照画像に相当する画像信号について誤差評価値を算出し、誤差評価値が最小となる移動量を動きベクトルとする。誤差評価値としては、絶対差分和を示すSAD(Sum of Absolute Difference)や二乗誤差平均を示すMSE(Mean Square Error)などを利用することが可能である。
動き情報生成部109は、動きベクトル検出部108より供給される動きベクトルと参照画像インデックス、動き情報メモリ111より供給される候補ブロック群、およびフレームメモリ110内の参照画像インデックスで示される参照画像から、マージ候補番号、または差分ベクトルおよび予測ベクトルインデックスを生成し、マージフラグ、マージ候補番号、参照画像インデックス、差分ベクトルおよび予測ベクトルインデックスを必要に応じて、符号列生成部104、動き補償部106および動き情報メモリ111に供給する。動き情報生成部109の詳細な構成については後述する。
フレームメモリ110は、加算部107より供給される復号画像信号を記憶する。また、画像全体の復号が完了した復号画像については参照画像として、1以上の所定の画像数を記憶する。フレームメモリ110は、記憶した参照画像信号を動き補償部106および動き情報生成部109に供給する。参照画像を記憶する記憶領域はFIFO(First
In First Out)方式で制御される。
動き情報メモリ111は、動き情報生成部109より供給される動き情報を最小の予測ブロックサイズ単位で所定の画像数、記憶する。処理対象の予測ブロックの隣接ブロックの動き情報を空間候補ブロック群とする。
また、動き情報メモリ111は、処理対象の予測ブロックと同一位置にあるColPic上のブロックとその周辺ブロックの動き情報を時間候補ブロック群とする。動き情報メモリ111は、空間候補ブロック群と時間候補ブロック群を候補ブロック群として動き情報生成部109に供給する。動き情報メモリ111は、フレームメモリ110と同期しており、FIFO(First In First Out)方式で制御される。
ここで、ColPicとは、処理対象の予測ブロックとは別の復号済みの画像であって、フレームメモリ110に参照画像として記憶されている画像を指す。実施の形態1では、ColPicは直前に復号した参照画像とする。なお、実施の形態1では、ColPicは直前に復号した参照画像としたが、符号化済みの画像であればよく、例えば、表示順で直前の参照画像や表示順で直後の参照画像でもよく、符号化ストリーム中で指定することも可能である。
ここで、動き情報メモリ111における動き情報の管理方法について図10を用いて説明する。動き情報は最小の予測ブロック単位で各メモリエリアに記憶される。図10は処理対象の予測ブロックサイズが16画素×16画素である場合の様子を示している。この場合、この予測ブロックの動き情報は図10の斜線部の16個のメモリエリアに格納される。
なお、予測符号化モードがイントラモードである場合、L0方向とL1方向の動きベクトルとして(0,0)が記憶され、L0方向とL1方向の参照画像インデックスとして「−1」が記憶される。なお、参照画像インデックスの「−1」は動き補償予測を実施しないモードであることが判定できればどのような値でもよい。これ以降は特に断らない限り単にブロックと表現する場合には、最小の予測ブロック単位のことを示すこととする。また、領域外のブロックである場合もイントラモードと同様に、L0方向とL1方向の動きベクトルとして(0,0)、L0方向とL1方向の参照画像インデックスとして「−1」が記憶されている。LX方向(Xは0または1)が有効であるとはLX方向の参照画像インデックスが0以上であることで、LX方向が無効である(有効でない)とはLX方向の参照画像インデックスが「−1」であることである。
続いて、動き情報生成部109の詳細な構成について図11を用いて説明する。図11は動き情報生成部109の構成を示す。動き情報生成部109は、差分ベクトル算出部120、結合動き情報決定部121および予測符号化モード決定部122を含む。端子12は動き情報メモリ111に、端子13は動きベクトル検出部108に、端子14はフレームメモリ110に、端子15は予測ブロック画像取得部101に、端子16は符号列生成部104に、端子50は動き補償部106に、および端子51は動き情報メモリ111にそれぞれ接続されている。
以下、各部の機能について説明する。差分ベクトル算出部120は、端子12より供給される候補ブロック群、端子13より供給される動きベクトルと参照画像インデックス、端子14より供給される参照画像、および端子15より供給される画像信号から予測ベクトルインデックスを決定して、差分ベクトルおよびレート歪み評価値を算出する。そして、当該参照画像インデックス、当該動きベクトル、当該差分ベクトル、当該予測ベクトルインデックス、および当該レート歪み評価値を予測符号化モード決定部122に供給する。差分ベクトル算出部120の詳細な構成については後述する。
結合動き情報決定部121は、端子12より供給される候補ブロック群、端子14より供給される参照画像、および端子15より供給される画像信号から結合動き情報候補リストを生成する。そして、結合動き情報決定部121は、生成した結合動き情報候補リストの中から結合動き情報候補を選択してマージ候補番号を決定すると共に、レート歪み評価値を算出して、当該結合動き情報候補の動き情報、当該マージ候補番号および当該レート歪み評価値を予測符号化モード決定部122に供給する。結合動き情報決定部121の詳細な構成については後述する。
予測符号化モード決定部122は、差分ベクトル算出部120より供給されるレート歪み評価値と、結合動き情報決定部121より供給されるレート歪み評価値とを比較する。前者の方が後者未満の場合は、マージフラグを「0」に設定する。予測符号化モード決定部122は、マージフラグ、および差分ベクトル算出部120より供給される参照画像インデックスと差分ベクトルと予測ベクトルインデックスを端子16に供給し、差分ベクトル算出部120より供給される動きベクトルと参照画像インデックスを端子50および端子51に供給する。
前者が後者以上の場合は、マージフラグを1に設定する。予測符号化モード決定部122は、マージフラグおよび結合動き情報決定部121より供給されるマージ候補番号を端子16に供給し、結合動き情報決定部121より供給される動き情報の動きベクトルと参照画像インデックスを端子50および端子51に供給する。なお、レート歪み評価値の具体的な算出方法は本発明の主眼ではないため詳細は省略するが、レート歪み評価値が小さいほど符号化効率は高くなる特性を持つ評価値である。
続いて、差分ベクトル算出部120の詳細な構成について図12を用いて説明する。図12は差分ベクトル算出部120の構成を示す。差分ベクトル算出部120は、予測ベクトル候補リスト生成部130、予測ベクトル決定部131および減算部132とを含む。端子17は予測符号化モード決定部122に接続されている。
予測ベクトル候補リスト生成部130は、実施の形態1による動画像符号化装置100により生成された符号列を復号する動画像復号装置200にも同様に設置されて、動画像符号化装置100と動画像復号装置200にて矛盾のない予測ベクトル候補リストが生成される。
以下、各部の機能について説明する。予測ベクトル候補リスト生成部130は、端子12より供給される候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを削除する。さらに重複している動きベクトルを持つ候補ブロックが複数存在する場合には1つの候補ブロックを残して削除する。予測ベクトル候補リスト生成部130は、これら削除後の候補ブロックから予測ベクトル候補リストを生成し、予測ベクトル候補リストを予測ベクトル決定部131に供給する。このようにして生成された予測ベクトル候補リストには重複のない予測ベクトル候補が1つ以上含まれるとする。例えば、動きベクトルを持つ候補ブロックが1つもない場合には、ベクトル(0,0)が予測ベクトル候補リストに追加される。なお、予測方向が双方向であれば、L0方向とL1方向について予測ベクトル候補リストを生成して供給する。
予測ベクトル決定部131は、予測ベクトル候補リスト生成部130より供給される予測ベクトル候補リストの中から、端子13より供給される動きベクトルに最適な予測ベクトルを選択する。予測ベクトル決定部131は、選択した予測ベクトルを減算部132に供給するとともに、参照画像インデックスおよび選択された予測ベクトルを示す情報である予測ベクトルインデックスを端子17に供給する。なお、予測方向が双方向であれば、L0方向とL1方向について最適な予測ベクトルを選択して供給する。
ここで、最適な予測ベクトルとして、予測ベクトル候補が持つ動きベクトルに基づいて、端子14より供給される参照画像と端子15より供給される画像信号から予測誤差量が算出される。そして、参照画像インデックス、差分ベクトルおよび予測ベクトルインデックスの符号量と、上述の予測誤差量とからレート歪み評価値が算出されて、レート歪み評価値が最小となる予測ベクトル候補が選択される。
減算部132は、端子13より供給される動きベクトルから予測ベクトル決定部131より供給される予測ベクトルを減算して差分ベクトルを算出し、当該差分ベクトルを端子17に供給する。なお、予測方向が双方向であれば、L0方向とL1方向について差分ベクトルを算出して供給する。
(予測ベクトル候補リスト生成部130に供給される候補ブロック群)
ここで、予測ベクトル候補リスト生成部130に供給される候補ブロック群について図13と図14を用いて説明する。候補ブロック群には空間候補ブロック群と時間候補ブロック群が含まれる。
図13は処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックの隣接ブロックを示す。実施の形態1では、空間候補ブロック群として、図13に示すブロックA1、ブロックC、ブロックD、ブロックB1およびブロックEの5ブロックとする。ここでは、空間候補ブロック群をブロックA1、ブロックC、ブロックD、ブロックB1およびブロックEの5ブロックとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも1以上の処理済みのブロックであればよく、これらに限定されない。例えば、ブロックA1、ブロックA2、ブロックA3、ブロックA4、ブロックB1、ブロックB2、ブロックB3、ブロックB4、ブロックC、ブロックDおよびブロックEの全てを空間候補ブロックとしてもよい。
次に、時間候補ブロック群について図14を用いて説明する。図14は処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックと同一位置にあるColPic上の予測ブロック内のブロックとその周辺ブロックを示す。実施の形態1では、時間候補ブロック群として、図6に示すブロックHとブロックI6の2ブロックとする。
ここでは、時間候補ブロック群をColPic上のブロックHとブロックI6の2ブロックとしたが、時間候補ブロック群は、処理対象の予測ブロックとは別の復号済みの画像上の少なくとも1以上のブロックであればよく、これらに限定されない。例えば、ColPic上のブロックI1からブロックI16、ブロックA1からブロックA4、ブロックB1からブロックB4、ブロックC、ブロックD、ブロックE、ブロックF1からブロックF4、ブロックG1からブロックG4およびブロックHの全てを時間候補ブロックとしてもよい。以降特に断らない限り、ブロックA4をブロックA、ブロックB4をブロックBと表記する。以降特に断らない限り、ブロックHとブロックI6のブロックを時間ブロックと表記する。
(結合動き情報決定部121の構成)
続いて、結合動き情報決定部121の詳細な構成について図15を用いて説明する。図15は結合動き情報決定部121の構成を示す。結合動き情報決定部121は、結合動き情報候補生成部140および結合動き情報選択部141を含む。結合動き情報候補生成部140は、実施の形態1による動画像符号化装置100により生成された符号列を復号する動画像復号装置200にも同様に設置されて、動画像符号化装置100と動画像復号装置200にて矛盾のない同一の結合動き情報リストが生成される。
以下、各部の機能について説明する。結合動き情報候補生成部140は、端子12より供給される候補ブロック群から結合動き情報候補リストを生成し、当該結合動き情報候補リストを結合動き情報選択部141に供給する。結合動き情報候補生成部140の詳細な構成については後述する。
結合動き情報選択部141は、結合動き情報候補生成部140より供給される結合動き情報候補リストの中から、最適な結合動き情報候補を選択し、選択された結合動き情報候補を示す情報であるマージ候補番号を端子17に供給する。
ここで、最適な結合動き情報候補として、結合動き情報候補の予測方向、動きベクトルと参照画像インデックスに基づいて得られる端子14より供給される参照画像と、端子15より供給される画像信号とから予測誤差量が算出される。マージ候補番号の符号量と、当該予測誤差量とからレート歪み評価値が算出されて、レート歪み評価値が最小となる結合動き情報候補が選択される。
(結合動き情報候補生成部140に供給される候補ブロック群)
ここで、結合動き情報候補生成部140に供給される候補ブロック群について図13と図14を用いて説明する。候補ブロック群には空間候補ブロック群と時間候補ブロック群が含まれる。実施の形態1では、空間候補ブロック群を図13に示すブロックA4、ブロックB4、ブロックCおよびブロックEの4ブロックとする。ここでは、空間候補ブロック群をブロックA4、ブロックB4、ブロックCおよびブロックEの4ブロックとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも1以上の処理済みのブロックであればよく、これらに限定されない。
次に、時間候補ブロック群について図14を用いて説明する。実施の形態1では、時間候補ブロック群として、図14に示すブロックHとブロックI6の2ブロックとする。ここでは、時間候補ブロック群を予測ベクトル候補リスト生成部130に供給される時間候補ブロック群と同じとしたが、時間候補ブロック群は、処理対象の予測ブロックとは別の復号済みの画像上の少なくとも0以上のブロックであればよく、これらに限定されない。
(結合動き情報候補生成部140の構成)
続いて、実施の形態1の特徴をなす結合動き情報候補生成部140の詳細な構成について図16を用いて説明する。図16は結合動き情報候補生成部140の構成を示す。端子18は結合動き情報選択部141に接続されている。結合動き情報候補生成部140は、単方向結合動き情報候補リスト生成部150、第1結合動き情報候補リスト削減部151、双方向結合動き情報候補リスト生成部152および第2結合動き情報候補リスト削減部153を含む。
以下、各部の機能について説明する。単方向結合動き情報候補リスト生成部150は、端子12より供給される候補ブロック群から第1結合動き情報候補リストを生成し、当該第1結合動き情報候補リストを第1結合動き情報候補リスト削減部151に供給する。
第1結合動き情報候補リスト削減部151は、単方向結合動き情報候補リスト生成部150より供給される第1結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残して削除して第2結合動き情報候補リストを生成し、当該第2結合動き情報候補リストを双方向結合動き情報候補リスト生成部152に供給する。
双方向結合動き情報候補リスト生成部152は、第1結合動き情報候補リスト削減部151より供給される第2結合動き情報候補リストから双方向結合動き情報候補リストを生成し、当該双方向結合動き情報候補リストを上述の第2結合動き情報候補リストと結合して第3結合動き情報候補リストを生成し、当該第3結合動き情報候補リストを第2結合動き情報候補リスト削減部153に供給する。双方向結合動き情報候補リスト生成部152の詳細な構成については後述する。
実施の形態1では、双方向結合動き情報候補リスト生成部152は、基準方向がL0の双方向結合動き情報候補(BD0)と基準方向がL1の双方向結合動き情報候補(BD1)を生成するものとする。そのため、上述の双方向結合動き情報候補リストには、BD0とBD1が含まれる可能性がある。
第2結合動き情報候補リスト削減部153は、双方向結合動き情報候補リスト生成部152より供給される第3結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残して削除して結合動き情報候補リストを生成し、当該結合動き情報候補リストを端子18に供給する。
ここで、単方向結合動き情報候補は、所謂マージ技術で利用される候補ブロックの動き情報候補のことであって1つの候補ブロックから得られる動き情報である。一方、双方向結合動き情報は、実施の形態1の特徴となる技術であって2つの候補ブロックから2つの動き情報を利用して得られる動き情報である。本実施の形態では2つの動き情報としてL0方向とL1方向をそれぞれ1つずつ利用する。
(双方向結合動き情報候補リスト生成部152)
続いて、双方向結合動き情報候補リスト生成部152の詳細な構成について図17を用いて説明する。図17は双方向結合動き情報候補リスト生成部152の構成を示す。端子19は第1結合動き情報候補リスト削減部151に、端子20は第2結合動き情報候補リスト削減部153にそれぞれ接続されている。双方向結合動き情報候補リスト生成部152は、基準方向決定部160、基準方向動き情報決定部161、逆方向動き情報決定部162および双方向動き情報決定部163を含む。
以下、各部の機能について説明する。基準方向決定部160は、第2結合動き情報候補リストから双方向結合動き情報候補の基準方向を決定し、当該基準方向および端子19より供給される第2結合動き情報候補リストを基準方向動き情報決定部161に送る。基準方向がL0の双方向結合動き情報候補(BD0)の場合の基準方向はL0方向となり、基準方向がL1の双方向結合動き情報候補(BD1)の場合の基準方向はL1方向となる。
基準方向動き情報決定部161は、基準方向決定部160より供給される基準方向および第2結合動き情報候補リストから、双方向結合動き情報候補の基準方向の動きベクトルと参照画像インデックスを決定し、当該基準方向、当該基準方向の動きベクトルと当該参照画像インデックス、および当該第2結合動き情報候補リストを逆方向動き情報決定部162に送る。
逆方向動き情報決定部162は、基準方向動き情報決定部161より供給される基準方向、基準方向の動きベクトルと参照画像インデックス、および第2結合動き情報候補リストから、双方向結合動き情報候補の逆方向の動きベクトルと参照画像インデックスを決定する。逆方向動き情報決定部162は、当該基準方向の動きベクトルと参照画像インデックス、当該逆方向の動きベクトルと参照画像インデックス、および第2結合動き情報候補リストを双方向動き情報決定部163に送る。なお、実施の形態1では、基準方向がL0方向であれば、逆方向はL1方向とし、基準方向がL1方向であれば、逆方向はL0方向とする。
双方向動き情報決定部163は、逆方向動き情報決定部162より供給される基準方向の動きベクトルと参照画像インデックス、および逆方向の動きベクトルと参照画像インデックスから双方向結合動き情報候補を決定する。また、双方向動き情報決定部163は、第2結合動き情報候補リストから第3結合動き情報候補リストを生成し、当該第3結合動き情報候補リストを端子20に送る。
(候補番号管理テーブル)
ここで、実施の形態1で利用するマージ候補番号と結合動き情報候補の関係を示す候補番号管理テーブルについて図18を用いて説明する。マージ候補番号の0から6は、それぞれ結合動き情報候補リストに含まれるブロックAの結合動き情報候補(A)、ブロックBの結合動き情報候補(B)、時間ブロックの結合動き情報候補(COL)、ブロックCの結合動き情報候補(C)、ブロックEの結合動き情報候補(E)、基準方向がL0の双方向結合動き情報候補(BD0)、および基準方向がL1の双方向結合動き情報候補(BD1)を示す。また、結合動き情報候補リストに含まれる結合動き情報候補の最大数は7(マージインデックスの最大値は6)であるとする。以上のように、ここでは基準方向がL0の双方向結合動き情報候補(BD0)と基準方向がL1の双方向結合動き情報候補(BD1)のマージ候補番号が単方向結合動き情報候補のマージ候補番号よりも大きくなるように割り当てられる。なお、実施の形態1で利用する候補番号管理テーブルを図18としたが、選択率の高い結合動き情報候補ほど小さいマージ候補番号が割り当てられていればよくこれに限定されない。
ここで、候補番号管理テーブル、および結合動き情報候補リストに含まれる結合動き情報候補の最大数は動画像符号化装置100内で共有していることとし、図示しない。以下、マージ候補番号からマージインデックスへの変換について図19(a)、(b)を用いて説明する。
図19(a)は、ブロックAの結合動き情報候補、ブロックBの結合動き情報候補、時間ブロックの結合動き情報候補、ブロックCの結合動き情報候補,ブロックEの結合動き情報候補、基準方向がL0の双方向結合動き情報候補、および基準方向がL1の双方向結合動き情報候補が全て有効である場合に、マージ候補番号はそのままマージインデックスとなることを示している。
図19(b)は、結合動き情報候補に無効なブロックが含まれている場合、無効であるマージ候補番号を詰めてからマージ候補番号の小さい順序にマージインデックスが割り当てられる場合を示している。図19(b)のようにマージ候補番号が1のブロックBとマージ候補番号が4のブロックEの結合動き情報候補が無効である場合、マージインデックスの0はマージ候補番号0に、マージインデックスの1はマージ候補番号2に、マージインデックスの2はマージ候補番号3に、マージインデックスの3はマージ候補番号5に、およびマージインデックスの4はマージ候補番号6にそれぞれ変換される。以上のように、ここでは基準方向がL0の双方向結合動き情報候補(BD0)と基準方向がL1の双方向結合動き情報候補(BD1)のマージインデックスは単方向結合動き情報候補のマージインデックスよりも大きくなるように割り当てられる。
実施の形態1による動画像符号化装置100により生成された符号列を復号する動画像復号装置200ではマージインデックスからマージ候補番号に上記とは逆の変換が行われて、動画像符号化装置100と動画像復号装置200にて矛盾のない同一の候補番号管理テーブルが生成される。
(動画像符号化装置100の動作)
続いて、図20のフローチャートを用いて、実施の形態1の動画像符号化装置100における符号化の動作を説明する。予測ブロック画像取得部101は、予測ブロックの位置情報と予測ブロックサイズに基づいて、端子10より供給される画像信号から処理対象の予測ブロックの画像信号を取得する(S100)。
動きベクトル検出部108は、予測ブロック画像取得部101より供給される画像信号と複数の参照画像に相当する画像信号から、動きベクトルおよび参照画像を示す参照画像インデックスを検出する(S101)。
動き情報生成部109は、動きベクトル検出部108より供給される動きベクトルと参照画像インデックス、および動き情報メモリ111より供給される候補ブロック群から、マージ候補番号、または差分ベクトルと予測ベクトルインデックスを生成する(S102)。
動き補償部106は、フレームメモリ110内の参照画像インデックスで示される参照画像を、動きベクトル検出部108より供給される動きベクトルに基づき動き補償して予測信号を生成する。予測方向が双方向であれば、L0方向とL1方向の予測信号を平均したものを予測信号として生成する(S103)。
減算部102は、予測ブロック画像取得部101より供給される画像信号と、動き補償部106より供給される予測信号との差分を算出して予測誤差信号を算出する(S104)。予測誤差符号化部103は、減算部102より供給される予測誤差信号に対して、量子化や直交変換などの処理を行って予測誤差符号化データを生成する(S105)。
符号列生成部104は、予測誤差符号化部103より供給される予測誤差符号化データ、ならびに動き情報生成部109より供給されるマージフラグ、マージ候補番号、参照画像インデックス、差分ベクトルおよび予測ベクトルインデックスを、予測方向とともにシンタックスに従ってエントロピー符号化して符号列を生成する(S106)。
加算部107は、予測誤差復号部105より供給される予測誤差信号と、動き補償部106より供給される予測信号とを加算して復号画像信号を生成する(S107)。フレームメモリ110は、加算部107より供給される復号画像信号を記憶する(S108)。動き情報メモリ111は、動きベクトル検出部108より供給される動きベクトルを、最小の予測ブロックサイズ単位で1画像分記憶する(S109)。
引き続いて、図21のフローチャートを用いて、動き情報生成部109の動作を説明する。差分ベクトル算出部120は、端子12より供給される候補ブロック群、端子13より供給される動きベクトルと参照画像インデックス、端子14より供給される参照画像、および端子15より供給される画像信号から、予測ベクトルインデックスを決定して差分ベクトルとレート歪み評価値を算出する(S110)。
結合動き情報決定部121は、端子12より供給される候補ブロック群、端子14より供給される参照画像、および端子15より供給される画像信号から、マージ候補番号を決定してレート歪み評価値を算出する(S111)。
予測符号化モード決定部122は、差分ベクトル算出部120より供給されるレート歪み評価値と、結合動き情報決定部121より供給されるレート歪み評価値を比較し、前者が後者より小さい場合はマージフラグを「0」に設定し、そうでない場合は、マージフラグを「1」に設定する(S112)。
引き続いて、図22のフローチャートを用いて、差分ベクトル算出部120の動作を説明する。予測ベクトル候補リスト生成部130は、端子12より供給される候補ブロック群から領域外である候補ブロック、イントラモードである候補ブロック、および重複している動きベクトルを持つ候補ブロックを除いた候補ブロックから、予測ベクトル候補リストを生成する。予測方向が双方向であれば、L0方向とL1方向について予測ベクトル候補リストを生成する(S120)。
予測ベクトル決定部131は、予測ベクトル候補リスト生成部130より供給される予測ベクトル候補リストの中から、端子13より供給される動きベクトルに最適な予測ベクトルを選択する。予測方向が双方向であれば、L0方向とL1方向について最適な予測ベクトルを選択する(S121)。減算部132は、端子13より供給される動きベクトルから、予測ベクトル決定部131より供給される予測ベクトルを減算して差分ベクトルを算出する。予測方向が双方向であれば、L0方向とL1方向について差分ベクトルを算出する(S122)。
(結合動き情報決定部121の動作)
引き続いて、図23のフローチャートを用いて、結合動き情報決定部121の動作を詳細に説明する。結合動き情報候補生成部140は、端子12より供給される候補ブロック群から結合動き情報候補リストを生成する(S130)。結合動き情報選択部141は、結合動き情報候補生成部140より供給される結合動き情報候補リストの中から、端子13より供給される動きベクトルと参照画像インデックス、および予測方向に最適な結合動き情報を決定する(S131)。
(結合動き情報候補生成部140の動作)
引き続いて、図24のフローチャートを用いて、結合動き情報候補生成部140の動作を詳細に説明する。単方向結合動き情報候補リスト生成部150は、端子12より供給される空間候補ブロック群から領域外である候補ブロックおよびイントラモードである候補ブロックを除いた候補ブロックから空間結合動き情報候補リストを生成する(S140)。空間結合動き情報候補リストの生成の詳細な動作は後述する。
単方向結合動き情報候補リスト生成部150は、端子12より供給される時間候補ブロック群から領域外である候補ブロックおよびイントラモードである候補ブロックを除いた候補ブロックから、時間結合動き情報候補リストを生成する(S141)。時間結合動き情報候補リストの生成の詳細な動作は後述する。
単方向結合動き情報候補リスト生成部150は、空間結合動き情報候補リストと時間結合動き情報候補リストをマージ候補番号の順序で結合して第1結合動き情報候補リストを生成する(S142)。
第1結合動き情報候補リスト削減部151は、単方向結合動き情報候補リスト生成部150より供給される第1結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残して削除して第2結合動き情報候補リストを生成する(S143)。
双方向結合動き情報候補リスト生成部152は、第1結合動き情報候補リスト削減部151より供給される第2結合動き情報候補リストから双方向結合動き情報候補リストを生成する(S144)。双方向結合動き情報候補リストの生成の詳細な動作は後述する。
双方向結合動き情報候補リスト生成部152は、第2結合動き情報候補リストと双方向結合動き情報候補リストを、マージ候補番号の順序で結合して第3結合動き情報候補リストを生成する(S145)。
第2結合動き情報候補リスト削減部153は、双方向結合動き情報候補リスト生成部152より供給される第3結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には、1つの結合動き情報候補を残して削除して結合動き情報候補リストを生成する(S146)。
引き続いて、図25のフローチャートを用いて、空間結合動き情報候補リストの生成の詳細な動作を説明する。実施の形態1では、空間結合動き情報候補リストには4以下の候補ブロックの動き情報が含まれるとする。
空間候補ブロック群に含まれる4つの候補ブロックであるブロックA、ブロックB、ブロックCおよびブロックEについて以下の処理を繰り返し行う(S150からS153)。候補ブロックの有効性を検査する(S151)。候補ブロックが領域外でなくイントラモードでもない場合に候補ブロックは有効となる。候補ブロックが有効であれば(S151のYES)、候補ブロックの動き情報を空間結合動き情報候補リストに追加する(S152)。候補ブロックが有効でなければ(S151のNO)、ステップS152はスキップされる。
実施の形態1では空間結合動き情報候補リストには4以下の候補ブロックの動き情報が含まれるとしたが、候補ブロックの有効性によって空間結合動き情報候補リストの数が変動すればよく、これに限定されない。
引き続いて、図26のフローチャートを用いて、時間結合動き情報候補リストの生成の詳細な動作を説明する。実施の形態1では、時間結合動き情報候補リストには1以下の候補ブロックの動き情報が含まれるとする。
時間候補ブロック群に含まれる2つの候補ブロックである時間ブロックについて以下の処理を繰り返し行う(S160からS166)。候補ブロックの有効性を検査する(S161)。候補ブロックが領域外でなくイントラモードでもない場合に候補ブロックは有効となる。候補ブロックが有効であれば(S161のYES)、時間結合動き情報候補が生成され、時間結合動き情報候補が時間結合動き情報候補がリストに追加され(ステップS162からステップS165)、処理を終了する。候補ブロックが有効でなければ(S161のNO)、次の候補ブロックを検査する(S166)。
候補ブロックが有効であれば、時間結合動き情報候補の予測方向の決定を行う(S162)。実施の形態1では結合動き情報候補の予測方向を双方向とする。次に、時間結合動き情報候補のL0方向、L1方向の参照画像の決定を行う(S163)。実施の形態1ではL0方向の参照画像を、L0方向の参照画像のうち処理対象画像に最も近い距離にある参照画像とし、L1方向の参照画像を、L1方向の参照画像のうち処理対象画像に最も近い距離にある参照画像とする。ここでは、L0方向の参照画像を、L0方向の参照画像のうち処理対象画像に最も近い距離にある参照画像とし、L1方向の参照画像を、L1方向の参照画像のうち処理対象画像に最も近い距離にある参照画像としたが、L0方向の参照画像とL1方向の参照画像が決定できればよく、これに限定されない。例えば、符号化ストリーム中にL0方向及びL1方向の参照画像を符号化してもよく、L0方向及びL1方向の参照画像インデックスを0にしてもよく、処理対象ブロックの隣接ブロックが使用しているL0方向の参照画像及びL1方向の参照画像で、最も多く使用されている参照画像をL0方向、L1方向ぞれぞれの参照する参照画像としてもよい。
次に、時間結合動き情報候補の動きベクトルを算出する(S164)。本実施の形態における、時間結合動き情報候補は、候補ブロックの動き情報で有効な予測方向である参照画像ColRefPicと動きベクトルmvColを基準に、双方向の動き情報を算出する。候補ブロックの予測方向がL0方向もしくはL1方向の単方向の場合には、その予測方向の参照画像と動きベクトルを基準として選択する。候補ブロックの予測方向が双方向である場合には、L0方向或いはL1方向のいずれか一方の参照画像と動きベクトルを基準として選択する。例えば、ColPicと同じ時間方向に存在する参照画像と動きベクトルを基準として選択する、候補ブロックのL0方向或いはL1方向の参照画像のいずれかColPicと画像間距離が近い方を基準として選択する、候補ブロックのL0方向或いはL1方向のいずれか動きベクトルが処理対象画像と交差する方を基準として選択する等が挙げられる。双方向動き情報生成の基準とする参照画像と動きベクトルが選択されたら、時間結合動き情報候補の動きベクトルを算出する。
ここでは上記のようにして時間結合動き情報候補を生成したが、符号化済みの別の画像の動き情報を利用して双方向の動き情報が決定できればよく、これに限定されない。例えば、ダイレクト動き補償で行われているように各方向の参照画像と処理対象画像の距離に応じてスケーリングした動きベクトルを双方向の動きベクトルとしてもよい。候補ブロックが無効であれば(S163のNO)、次の候補ブロックを検査する(S165)。
ここでは時間結合動き情報候補リストには1以下の候補ブロックの動き情報が含まれるとしたが、候補ブロックの有効性によって時間結合動き情報候補リストの数が変動すればよく、これに限定されない。予測方向、参照画像および動きベクトルの決定方法についても同様に、これらに限定されない。
(双方向結合動き情報候補リストの生成)
引き続いて、図27のフローチャートを用いて、双方向結合動き情報候補リストの生成の詳細な動作を説明する。双方向結合動き情報候補リストは空であるとする。基準方向決定部160は、第2結合動き情報候補リストから双方向結合動き情報候補の基準方向を決定する(S170)。基準方向がL0の双方向結合動き情報候補(BD0)の場合の基準方向はL0方向となり、基準方向がL1の双方向結合動き情報候補(BD1)の場合の基準方向はL1方向となる。
基準方向動き情報決定部161は、基準方向決定部160より供給される基準方向および第2結合動き情報候補リストから、双方向結合動き情報候補の基準方向の動きベクトルと参照画像インデックスを決定する(S171)。基準方向動き情報決定部161の詳細な動作は後述する。
逆方向動き情報決定部162は、基準方向動き情報決定部161より供給される基準方向、基準方向の動きベクトル、参照画像インデックスおよび第2結合動き情報候補リストから、双方向結合動き情報候補の逆方向の動きベクトルと参照画像インデックスを決定する(S172)。逆方向動き情報決定部162の詳細な動作は後述する。
双方向動き情報決定部163は、逆方向動き情報決定部162より供給される基準方向、基準方向の動きベクトルと参照画像インデックス、および逆方向の動きベクトルと参照画像インデックスから、双方向結合動き情報候補の予測方向を決定する(S173)。双方向結合動き情報候補の予測方向の決定の詳細な動作は後述する。
双方向動き情報決定部163は、双方向結合動き情報候補の予測方向の有効性を検査する(S174)。双方向動き情報決定部163は、双方向結合動き情報候補の予測方向が有効であれば(S174のYES)、双方向結合動き情報候補リストに双方向結合動き情報候補を追加する(S175)。双方向結合動き情報候補の予測方向が無効であれば(S174のNO)、ステップS175はスキップされる。
引き続いて、図28のフローチャートを用いて、基準方向動き情報決定部161の詳細な動作を説明する。双方向結合動き情報候補の基準方向としてLX方向(Xは0または1)が選ばれたとする。基準方向であるLXの有効性を「0」に設定する(S190)。第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)、以下の処理を繰り返す(S191からS194)。結合動き情報候補のLX方向の有効性を検査する(S192)。結合動き情報候補のLX方向が有効であれば(S192のYES)、基準方向であるLXの有効性を「1」に設定し、基準方向の動きベクトルと参照インデックスを結合動き情報候補のLX方向の動きベクトルと参照インデックスとして処理を終了する(S193)。結合動き情報候補のLX方向が無効であれば(S192のNO)、次の候補を検査する(S194)。
ここでは第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)だけ検査するとしたが、双方向結合動き情報候補の基準方向の動き情報が決定できればよく、これに限定されない。例えば、選択率の高い結合動き情報候補だけから双方向結合動き情報候補を生成する場合には検査数を2や3のような所定数に固定して処理量を削減するとともに冗長な双方向結合動き情報候補の生成可能性を低下させてマージインデックスの符号量を削減することもできる。
引き続いて、図29のフローチャートを用いて、逆方向動き情報決定部162の詳細な動作を説明する。双方向結合動き情報候補の逆方向として基準方向の逆方向が設定される。逆方向としてLY方向(Yは0または1)が選ばれたとする。逆方向であるLYの有効性を「0」に設定する(S200)。第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)、以下の処理を繰り返す(S201からS205)。
基準方向で選択された結合動き情報候補でないことを検査する(S202)。基準方向で選択された結合動き情報候補でないならば(S202のYES)、結合動き情報候補のLY方向の有効性を検査する(S203)。結合動き情報候補のLY方向が有効であれば(S203のYES)、逆方向であるLYの有効性を「1」に設定し、逆方向の動きベクトルと参照インデックスを結合動き情報候補のLY方向の動きベクトルと参照インデックスとして処理を終了する(S204)。基準方向で選択された結合動き情報候補であるならば(S202のNO)、または結合動き情報候補のLY方向が無効であれば(S203のNO)、次の候補を検査する(S205)。
ここでは第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)だけ検査するとしたが、双方向結合動き情報候補の逆方向の動き情報が決定できればよく、これに限定されない。例えば、選択率の高い結合動き情報候補だけから双方向結合動き情報候補を生成する場合には検査数を2や3のような所定数に固定して処理量を削減するとともに冗長な双方向結合動き情報候補の生成可能性を低下させてマージインデックスの符号量を削減することもできる。また、検査を開始するブロックを基準方向で選択された結合動き情報候補の次の結合動き情報候補とすることで、BD0とBD1が同一になる可能性をなくし、ステップS202を削減することができる。
引き続いて、図30の表を用いて、双方向結合動き情報候補の予測方向の決定の詳細な動作を説明する。LX方向とLY方向がともに有効であれば予測方向は双方向のBIとなり、LX方向のみが有効であれば予測方向は単方向のLX方向となり、LY方向のみが有効であれば予測方向は単方向のLY方向となり、およびLX方向とLY方向がともに無効であれば予測方向は無効となる。つまり、LX方向とLY方向がともに有効である場合、当該LX方向の動き情報を有する結合動き情報候補と、当該LY方向の動き情報を有する当該LX方向の動き情報を有する結合動き情報候補とは別の結合動き情報候補とが組み合わされて新たな双方向結合動き情報候補が生成される。また、LX方向のみが有効である場合、当該有効であるLX予測を有する結合動き情報候補の予測方向が双予測であれば、当該結合動き情報候補の予測方向が単予測に変換されることになる。同様に、LY方向のみが有効である場合、当該有効であるLY予測を有する結合動き情報候補の予測方向が双予測であれば、当該結合動き情報候補の予測方向が単予測に変換されることになる。
ここでは双方向結合動き情報候補の予測方向の決定を図30としたが、予測方向が決定できればよく、これに限定されない。図31(a)〜(c)に双方向結合動き情報候補の予測方向の決定の拡張例を示す。例えば、図31(a)のようにLX方向とLY方向の少なくとも一方が無効であれば予測方向を無効にすることや、図31(b)や図31(c)のように予測方向を強制的に双方向にしてもよい。
一般的には動きベクトルの精度が比較的高い場合には単方向予測よりも双方向予測の予測効率が高くなる。そのため、図31(a)では、LX方向とLY方向が共に有効でない場合には、双方向結合動き情報候補の予測方向を無効として、結合動き情報候補の数を減らすことでマージインデックスの符号量を削減することができる。ここで、例えば、単方向結合動き情報候補の中に双方向予測の候補がいる場合に双方向結合動き情報候補の予測方向を無効とするような適応処理とすることもできる。
また、図31(b)は無効な予測方向の動きベクトルを(0,0)、参照インデックスを「0」とする。このように、最短距離の参照画像を予測信号として双方向結合動き情報候補を強制的に双方向とすることもできる。これは、参照インデックスの「0」は一般的に処理対象画像と最も距離の近い参照画像となるためであって、最短距離の予測信号の信頼度が最も高いためである。
(動画像復号装置200の構成)
次に、実施の形態1の動画像復号装置を説明する。図32に実施の形態1の動画像復号装置200を示す。動画像復号装置200は、動画像符号化装置100により符号化された符号列を復号して再生画像を生成する装置である。
動画像復号装置200は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像復号装置200は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。なお、復号対象の予測ブロックの位置情報、予測ブロックサイズに関しては動画像復号装置200内で共有していることとし、図示しない。また、候補番号管理テーブル、および結合動き情報候補リストに含まれる結合動き情報候補の最大数は動画像復号装置200内で共有していることとし、図示しない。
実施の形態1の動画像復号装置200は、符号列解析部201、予測誤差復号部202、加算部203、動き情報再生部204、動き補償部205、フレームメモリ206および動き情報メモリ207を備える。
(動画像復号装置200の機能)
以下、各部の機能について説明する。符号列解析部201は、端子30より供給された符号列を復号して予測誤差符号化データ、マージフラグ、マージ候補番号、動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスをシンタックスに従って復号する。そして、当該予測誤差符号化データを予測誤差復号部202に、当該マージフラグ、当該マージ候補番号、当該動き補償予測の予測方向、当該参照画像インデックス、当該差分ベクトル、および当該予測ベクトルインデックスを動き情報再生部204に供給する。なお、マージ候補番号はマージインデックスより変換されて得られる。
予測誤差復号部202は、符号列解析部201より供給される予測誤差符号化データに対して、逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、当該予測誤差信号を加算部203に供給する。
加算部203は、予測誤差復号部202より供給される予測誤差信号と、動き補償部205より供給される予測信号とを加算して復号画像信号を生成し、当該復号画像信号をフレームメモリ206および端子31に供給する。
動き情報再生部204は、符号列解析部201より供給されるマージフラグ、マージ候補番号、動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスと、動き情報メモリ207より供給される候補ブロック群から、動き情報を再生し、当該動き情報を動き補償部205に供給する。動き情報再生部204の詳細な構成については後述する。
動き補償部205は、動き情報再生部204より供給される動き情報に基づいて、フレームメモリ206内の参照画像インデックスが示す参照画像を、動きベクトルに基づき動き補償して予測信号を生成する。予測方向が双方向であれば、L0方向とL1方向の予測信号を平均したものを予測信号として生成し、当該予測信号を加算部203に供給する。
フレームメモリ206および動き情報メモリ207は、動画像符号化装置100のフレームメモリ110および動き情報メモリ111と同一の機能を有する。
(動き情報再生部204の詳細な構成)
続いて、実施の形態1の特徴をなす動き情報再生部204の詳細な構成について図33を用いて説明する。図33は動き情報再生部204の構成を示す。動き情報再生部204は、符号化モード判定部210、動きベクトル再生部211および結合動き情報再生部212を含む。端子32は符号列解析部201に、端子33は動き情報メモリ207に、端子34は動き補償部205にそれぞれ接続されている。
以下、各部の機能について説明する。符号化モード判定部210は、符号列解析部201より供給されるマージフラグが「0」であれば、符号列解析部201より供給される動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスを動きベクトル再生部211に供給する。マージフラグが「1」であれば、符号列解析部201より供給されるマージ候補番号を結合動き情報再生部212に供給する。
動きベクトル再生部211は、符号化モード判定部210より供給される動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスと、端子33より供給される候補ブロック群から、動き情報を再生して端子34に供給する。動きベクトル再生部211の詳細な構成については後述する。
結合動き情報再生部212は、符号化モード判定部210より供給されるマージ候補番号と、端子33より供給される候補ブロック群から、動き情報を再生して端子34に供給する。結合動き情報再生部212の詳細な構成については後述する。
続いて、動きベクトル再生部211の詳細な構成について図34を用いて説明する。図34は動きベクトル再生部211の構成を示す。動きベクトル再生部211は、予測ベクトル候補リスト生成部220、予測ベクトル決定部221および加算部222を含む。端子35は符号化モード判定部210に接続されている。
以下、各部の機能について説明する。予測ベクトル候補リスト生成部220は、動画像符号化装置100の予測ベクトル候補リスト生成部130と同一の機能を有する。予測ベクトル決定部221は、予測ベクトル候補リスト生成部220より供給される予測ベクトル候補リスト、および端子35より供給される予測ベクトルインデックスから、予測ベクトルを決定して加算部222に供給する。
加算部222は、端子35より供給される差分ベクトルと、予測ベクトル決定部221より供給される予測ベクトルとを加算して動きベクトルを算出し、当該動きベクトルを端子34に供給する。
続いて、結合動き情報再生部212の詳細な構成について図35を用いて説明する。図35は結合動き情報再生部212の構成を示す。結合動き情報再生部212は、結合動き情報候補生成部230および結合動き情報選択部231を含む。
以下、各部の機能について説明する。結合動き情報候補生成部230は図15に示す結合動き情報候補生成部140と同一の機能を有する。結合動き情報選択部231は、結合動き情報候補生成部230より供給される結合動き情報候補リスト、および端子35より供給されるマージ候補番号に基づいて、結合動き情報候補リストの中から動き情報を選択し、当該動き情報を端子34に供給する。
(動画像復号装置200の動作)
続いて、図36のフローチャートを用いて、実施の形態1の動画像復号装置200における復号の動作を説明する。符号列解析部201は、端子30より供給される符号列を復号して予測誤差符号化データ、マージフラグ、マージ候補番号、動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスをシンタックスに従って復号する(S210)。
動き情報再生部204は、符号列解析部201より供給されるマージフラグ、マージ候補番号、動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックスと、動き情報メモリ207より供給される候補ブロック群から、動き情報を再生する(S211)。
動き補償部205は、動き情報再生部204より供給される動き情報に基づいて、フレームメモリ206内の参照画像インデックスが示す参照画像を、動きベクトルに基づき動き補償して予測信号を生成する。予測方向が双方向であれば、L0方向とL1方向の予測信号を平均したものを予測信号として生成する(S212)。
予測誤差復号部202は、符号列解析部201より供給される予測誤差符号化データに対して、逆量子化や逆直交変換などの処理を行って予測誤差信号を生成する(S213)。加算部203は、予測誤差復号部202より供給される予測誤差信号と、動き補償部205より供給される予測信号とを加算して復号画像信号を生成する(S214)。
フレームメモリ206は、加算部203より供給される復号画像信号を記憶する(S215)。動き情報メモリ207は、動き情報再生部204より供給される動きベクトルを最小の予測ブロックサイズ単位で1画像分記憶する(S216)。
引き続いて、図37のフローチャートを用いて、動き情報再生部204の動作を説明する。符号化モード判定部210は、符号列解析部201より供給されるマージフラグが「0」であるか「1」であるか判定する(S220)。マージフラグが「1」であれば(S220の1)、結合動き情報再生部212は、符号化モード判定部210より供給されるマージ候補番号、および端子33より供給される候補ブロック群から、動き情報を再生する(S221)。
マージフラグが「0」であれば、(S220の0)、動きベクトル再生部211は、符号化モード判定部210より供給される動き補償予測の予測方向、参照画像インデックス、差分ベクトル、および予測ベクトルインデックス、ならびに端子33より供給される候補ブロック群から、動き情報を再生する(S222)。
引き続いて、図38のフローチャートを用いて、動きベクトル再生部211の動作を説明する。予測ベクトル候補リスト生成部220は、動画像符号化装置100の予測ベクトル候補リスト生成部130と同一の動作によって予測ベクトル候補リストを生成する(S300)。
予測ベクトル決定部221は、予測ベクトル候補リスト生成部220より供給される予測ベクトル候補リストの中から、端子35より供給される予測ベクトルインデックスで示される予測ベクトル候補を選択して、予測ベクトルを決定する(S301)。加算部222は、端子35より供給される差分ベクトルと、予測ベクトル決定部221より供給される予測ベクトルとを加算して動きベクトルを算出する(S302)。
引き続いて、図39のフローチャートを用いて、結合動き情報再生部212の動作を説明する。結合動き情報候補生成部230は、動画像符号化装置100の結合動き情報候補生成部140と同一の動作によって結合動き情報候補リストを生成する(S310)。結合動き情報選択部231は、結合動き情報候補生成部230より供給される結合動き情報候補リストの中から、端子35より供給されるマージ候補番号で示される結合動き情報候補を選択して、結合動き情報を決定する(S311)。
(実施の形態1の変形例)
なお、実施の形態1は以下のように変形できる。
(変形例1:マージ候補番号の順序)
上述の実施の形態1では、候補番号管理テーブルの一例として図18を挙げたが、結合動き情報候補の最大数は1以上であればよく、選択率の高い結合動き情報候補ほど小さいマージ候補番号が割り当てられていればよく、図18に限定されない。また、結合動き情報候補リストに含まれる結合動き情報候補の最大数は7(マージインデックスの最大値は6)としたが、2以上であればよい。例えば、双方向結合動き情報候補の選択率が、ブロックCとブロックEの結合動き情報候補の選択率よりも高い場合には、図40(a)や図40(b)のようにしてもよい。
また、図41のように双方向結合動き情報候補を増加させることもできる。各双方向結合動き情報候補(BD0〜BD3)について説明する。双方向結合動き情報候補(BD0)と双方向結合動き情報候補(BD1)は実施の形態1と同一であるとする。双方向結合動き情報候補(BD2)と双方向結合動き情報候補(BD3)は、基準方向の双方向結合動き情報候補の基準方向の動きベクトルと参照インデックスと、逆方向の双方向結合動き情報候補の基準方向の動きベクトルと参照インデックスの決定方法が、双方向結合動き情報候補(BD0)と双方向結合動き情報候補(BD1)とは異なる。
図42は双方向結合動き情報候補(BD2)の導出を説明するフローチャートである。図42は、図28のフローチャートのステップS193をステップS195からステップS197に置き換えたものである。以下、ステップS195からステップS197について説明する。LXの有効性が「1」であるか検査する(S195)。LXの有効性が「1」でなければ(S195のNO)、LXの有効性を「1」として(S196)、次の候補を検査する(S194)。LXの有効性が「1」であれば(S195のYES)、基準方向の動きベクトルと参照インデックスを、結合動き情報候補のLX方向の動きベクトルと参照インデックスとして(S197)、処理を終了する。
図43は双方向結合動き情報候補(BD3)の導出を説明するフローチャートである。図43は、図29のフローチャートのステップS204をステップS206からステップS208に置き換えたものである。以下、ステップS206からステップS208について説明する。LYの有効性が「1」であるか検査する(S206)。LYの有効性が「1」でなければ(S206のNO)、LYの有効性を「1」として(S207)、次の候補を検査する(S205)。LYの有効性が「1」であれば(S206のYES)、基準方向の動きベクトルと参照インデックスを、結合動き情報候補のLY方向の動きベクトルと参照インデックスとして(S208)、処理を終了する。
つまり、双方向結合動き情報候補(BD2)は、基準方向で2番目に有効となる結合動き情報候補の基準方向の動きベクトルと参照インデックスと、逆方向で基準方向と同じ候補でない最初に有効となる結合動き情報候補の逆方向の動きベクトルと参照インデックスとを利用した双方向結合動き情報候補となる。
また、双方向結合動き情報候補(BD3)は、基準方向で最初に有効となる結合動き情報候補の基準方向の動きベクトルと参照インデックスと、逆方向で基準方向と同じ候補でない2番目に有効となる結合動き情報候補の逆方向の動きベクトルと参照インデックスとを組み合わせた双方向結合動き情報候補となる。
このように双方向結合動き情報候補の組み合わせを増加させて、結合動き情報候補の選択率を高めて動き情報の符号化効率を向上させることができる。
(変形例2:双方向結合動き情報候補の同一判定)
上述の実施の形態1では、逆方向動き情報決定部162の動作例として図29を挙げたが、双方向結合動き情報候補が生成されればよく、これに限定されない。例えば、双方向結合動き情報候補の有効性を高める、つまり第2結合動き情報候補リスト削減部153によって削除されないようにする目的で、図44のようにステップS240を追加してもよい。
基準方向の動きベクトルおよび参照インデックスと、検査対象の結合動き情報候補の逆方向の動きベクトルおよび参照インデックスを利用した双方向結合動き情報候補と同一の動き情報を持つ結合動き情報候補が、第2結合動き情報候補リストの中にないことを検査する(S240)。同一の結合動き情報候補が存在しない場合に(S240のYES)、ステップS205を実施する。同一の結合動き情報候補が存在する場合に(S240のNO)、次の候補を検査する(S206)。この場合、図16の第2結合動き情報候補リスト削減部153および図24のステップS146を省略することも可能である。
これにより、第2結合動き情報候補リスト削減部153によって双方向結合動き情報候補が削減されることはなくなり、結合動き情報候補の選択率を高めて動き情報の符号化効率を向上させることができる。
(変形例3:双方向結合動き情報候補の基準方向との同一判定)
上述の実施の形態1では、逆方向動き情報決定部162の動作例として図29を挙げたが、図45のようにステップS250を追加してもよい。
基準方向で選択された結合動き情報候補の逆方向の動きベクトルおよび参照インデックスと、検査対象の結合動き情報候補の逆方向の動きベクトルおよび参照インデックスとが同一でないことを検査する(S250)。同一でない場合に(S250のYES)、ステップS205を実施する。同一の場合に(S250のNO)、次の候補を検査する(S206)。
これにより、双方向結合動き情報候補が、基準方向で選択された結合動き情報候補と同一になることはなくなり、双方向結合動き情報候補の有効性を高め、結合動き情報候補の選択率を高めることで動き情報の符号化効率を向上させることができる。
(変形例4:削除プロセスの一本化)
上述の実施の形態1では、結合動き情報候補生成部140の構成の一例として図16を挙げたが、より簡易的な構成として、図46のように第1結合動き情報候補リスト削減部151をなくして第2結合動き情報候補リスト削減部153だけとして削除部を1つにまとめることもできる。
ただし、この場合の課題として双方向結合動き情報候補リスト生成部152に冗長な結合動き情報候補が供給されるため、最初の2つの単方向結合動き情報候補が同一であった場合には、基準方向がL0の双方向結合動き情報候補(BD0)と基準方向がL1の双方向結合動き情報候補(BD1)が同じ動き情報となる。そのため、図47(b)のように、基準方向がL0であるかL1であるかによって、図28および図29の検査順序を変化させることで同一の双方向結合動き情報候補を生成する確率を低下させることができる。
(変形例5:同一方向の利用)
上述の実施の形態1では、逆方向動き情報決定部162の逆方向について、基準方向がL0方向であれば逆方向はL1方向となり、基準方向がL1方向であれば逆方向はL0方向となる例を挙げた。この点、基準方向がL0方向であれば逆方向をL0方向とし、基準方向がL1方向であれば逆方向をL1方向としてもよい。これは、図48のように第2結合動き情報候補リストに含まれる結合動き情報候補に同一の予測方向の動き情報のみ存在する場合に、双方向結合動き情報候補の生成確率を高め、結合動き情報候補の選択率を高めることで動き情報の符号化効率を向上させることができる。
(変形例6:予め定められた組み合わせ)
上述の実施の形態1では、双方向結合動き情報候補を、基準方向と逆方向において有効である結合動き情報候補ブロックを検索して、基準方向と逆方向の動き情報を利用することで生成した。基準方向と逆方向に検索することで双方向結合動き情報候補の有効性を向上させることができるが、処理量が増加する。
そこで、図49(a)、(b)のように双方向結合動き情報候補を予め定められたより信頼度の高い結合動き情報候補ブロックの組み合わせとして定義しておくことで、検索処理を省き、双方向結合動き情報候補の選択率を向上させて、符号化効率を向上させることができる。
図49(a)は基準方向がL0の双方向結合動き情報候補(BD0)を最も信頼度の高い候補ブロックAのL0方向の動き情報と2番目に信頼度の高い候補ブロックBのL1方向の動き情報を組み合わせて、基準方向がL1の双方向結合動き情報候補(BD1)を最も信頼度の高い候補ブロックAのL1方向の動き情報と2番目に信頼度の高い候補ブロックBのL0方向の動き情報を組み合わせて、予測方向を双方向予測として定義した例である。
図49(b)は基準方向がL0の双方向結合動き情報候補(BD0)を最も信頼度の高い候補ブロックAのL0方向の動き情報として、基準方向がL1の双方向結合動き情報候補(BD1)を最も信頼度の高い候補ブロックAのL1方向の動き情報として、予測方向を単方向予測として定義した例である。なお、より信頼度の高い候補ブロックの組み合わせであれば、これ以外の組み合わせでもよい。
(変形例7:BD0、BD1適応)
上述の実施の形態1では基準方向がL0の双方向結合動き情報候補(BD0)に小さいマージ候補番号を割り当てるとしたが、これに限定されない。例えば、予測方向が双方向である双方向結合動き情報候補に優先的に小さいマージ候補番号を割り当てることで、予測効率の高い双方向予測の双方向結合動き情報候補に小さいマージ候補番号を割り当てることで符号化効率を改善することもできる。さらに、BD0とBD1がともに双方向予測である場合には、基準方向の動き情報が単方向である双方向結合動き情報候補に優先的に小さいマージ候補番号を割り当てることもできる。これは、一般的には単方向予測よりも双方向予測の方が予測効率が高いにも関わらず単方向予測が選択されている場合、その動き情報の信頼度は高いためである。
(実施の形態1の効果)
(双方向予測の双方向結合動き情報の効果例)
実施の形態1による効果について図50を用いて説明する。以下、ブロックNのL0方向の動きベクトルをmvL0N、L1方向の動きベクトルをmvL1N、L0方向の参照画像インデックスをrefIdxL0N、L1方向の参照画像インデックスをrefIdxL1N、L0方向の差分ベクトルをdmvL0N、L1方向の差分ベクトルをdmvL1N、L0方向の参照画像インデックスの差分をdrefIdxL0N、およびL1方向の参照画像インデックスをdrefIdxL1Nと表す。
処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が双方向(BI)で、mvL0Z=(2,8)、mvL1Z=(4,2)、refIdxL0Z=0、refIdxL1N=0であるとする。
このとき、単方向結合動き情報候補が図50のA、B、COL、C、Eであるとする。これら単方向結合動き情報候補の中には処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同一の動き情報はない。したがって、これら単方向結合動き情報候補の中からレート歪み評価値が最小となる単方向結合動き情報候補を選択することになる。そして、その候補のレート歪み評価値と、差分ベクトル算出部120で算出されたレート歪み評価値とを比較して、前者が後者より小さくなる場合のみ符号化モードとしてマージモードが利用されることになる。
符号化モードとしてマージモードが選択された場合、それは動き情報の符号化効率と予測誤差のバランスが最適なためであって、予測誤差は最適とはならない。一方、符号化モードとして非マージモードが選択された場合には、動き情報の符号化効率は最適とはならない。
ここで、実施の形態1によって生成された双方向結合動き情報候補は、図50のBD0、BD1となる。基準方向がL0の双方向結合動き情報候補(BD0)は、ブロックAのL0方向の動き情報とブロックBのL1方向の動き情報よりなる双方向結合動き情報候補である。基準方向がL1の双方向結合動き情報候補(BD1)は、ブロックAのL1方向の動き情報とブロックBのL0方向の動き情報よりなる双方向結合動き情報候補である。このとき、基準方向がL0の双方向結合動き情報候補(BD0)は処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことがわかる。つまり、基準方向がL0の双方向結合動き情報候補(BD0)を選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することができる。
(単方向予測の双方向結合動き情報の効果例)
また、実施の形態1による単方向予測の効果について図51を用いて説明する。処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が単方向(UNI)で、mvL0Z=(0,8)、refIdxL0Z=2であるとする。
単方向結合動き情報候補のB、C、COLが無効(×)であるとし、有効な単方向結合動き情報候補のA、Eは図51のような動き情報を持つとする。この場合も単方向結合動き情報候補の中には、処理対象ブロック(Z)にとって予測誤差が最小となる動き情報はない。
ここでも、実施の形態1によって生成された双方向結合動き情報候補は図51のBD0、BD1となる。基準方向がL0の双方向結合動き情報候補(BD0)は、ブロックAのL0方向の動き情報よりなる予測方向が単方向の双方向結合動き情報候補である。基準方向がL1の双方向結合動き情報候補(BD1)は、ブロックEのL0方向の動き情報とブロックAのL1方向の動き情報よりなる双方向結合動き情報候補である。基準方向がL0の双方向結合動き情報候補(BD0)は、処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことがわかる。つまり、基準方向がL0の双方向結合動き情報候補(BD0)を選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することができる。
(単方向予測の組み合わせによる双方向結合動き情報の効果例)
また、実施の形態1による予測方向が単方向の動き情報の組み合わせによる効果について図52を用いて説明する。処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が単方向(BI)で、mvL0Z=(2,2)、refIdxL0Z=0、mvL1Z=(―2,2)、refIdxL1Z=0であるとする。
単方向結合動き情報候補のA、COL、Cが無効(×)であるとし、有効な単方向結合動き情報候補のB、Eは図52のような動き情報を持つとする。この場合も単方向結合動き情報候補の中には処理対象ブロック(Z)にとって予測誤差が最小となる動き情報はない。
ここでも、実施の形態1によって生成された双方向結合動き情報候補は図52のBD0、BD1となる。基準方向がL0の双方向結合動き情報候補(BD0)はブロックBのL0方向の動き情報とブロックEのL1方向の動き情報よりなる双方向結合動き情報候補であり、BD1は生成されない。基準方向がL0の双方向結合動き情報候補(BD0)は処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことがわかる。つまり、基準方向がL0の双方向結合動き情報候補(BD0)を選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することができる。
(双方向結合動き情報候補)
以上のように、単方向結合動き情報候補のL0方向とL1方向の動き情報を利用して双方向結合動き情報候補を生成することで、処理対象ブロックの動きが、符号化済みの別の画像の同一位置ブロックや当該処理対象ブロックの隣接ブロックの動きとずれがある場合でも、動き情報を符号化することなくインデックスのみで符号化することができる。したがって、符号化効率と予測効率を最適化できる動画像符号化装置および動画像復号装置を実現できる。
(単方向の結合動き情報候補)
また、単方向結合動き情報候補のL0方向とL1方向の動き情報を利用して新たな単方向の結合動き情報候補を生成する場合についても、単方向結合動き情報候補のL0方向とL1方向の動き情報を利用して双方向結合動き情報候補を生成する場合と、同様の効果を奏する。
(同一方向の利用による双方向結合動き情報)
また、単方向結合動き情報候補の同一の予測方向の動き情報を利用して双方向結合動き情報候補を生成する場合についても、単方向結合動き情報候補のL0方向とL1方向の動き情報を利用して双方向結合動き情報候補を生成する場合と、同様の効果を奏する。
(動画像復号処理の簡易化)
以上のように、単方向結合動き情報候補の各方向の動き情報を利用して双方向結合動き情報候補を生成することで、処理対象ブロックの動きが、符号化済みの別の画像の同一位置ブロックや当該処理対象ブロックの隣接ブロックの動きとずれがある場合でも、予測方向、参照インデックスおよび差分ベクトルの復号、予測ベクトルと差分ベクトルとの加算処理などが不要となり、動画像復号装置の処理を削減することができる。
(削除プロセス)
以上のように、第1結合動き情報候補リスト削減部151を設置することで、双方向結合動き情報候補リスト生成部152において、基準方向がL0の双方向結合動き情報候補(BD0)と、基準方向がL1の双方向結合動き情報候補(BD1)が同一の動き情報を持つことを回避することができ、双方向結合動き情報候補の有効性を高めて符号化効率を向上させることができる。
(選択率順のマージ候補番号割り当て)
以上のように、選択率の高い結合動き情報候補ほど小さいマージ候補番号を割り当てておくことで、各方向においてより確からしい動き情報の選択率を高め、各方向において精度の高い動き情報を利用して高精度な双方向結合動き情報候補を生成することができる。また、検索の処理を単純化することができ、検索の処理数を制限しても符号化効率の低下を抑制できる。
(メモリリードタイム)
以上のように、単方向結合動き情報候補の各方向の動き情報を利用して双方向結合動き情報候補を生成することで、単方向結合動き情報候補の数を増加させることなく結合動き情報候補の数を増加させることができる。したがって、単方向結合動き情報候補数の増加によってメモリリード時間が長くなるような一般的なLSIを使用している動画像符号化装置および動画像復号装置において、単方向結合動き情報候補数の増加によるメモリリード時間の増大を抑制できる。
(適応切り替え)
以上のように、予測方向が双方向である双方向結合動き情報候補に優先的に小さいマージ候補番号を割り当てることで、予測効率の高い、予測方向が双方向である双方向結合動き情報候補の選択率を高め、基準方向の動き情報が単方向である双方向結合動き情報候補に優先的に小さいマージ候補番号を割り当てることで、信頼度の高い動き情報を利用した双方向結合動き情報候補の選択率を高めて符号化効率を向上させることができる。
[実施の形態2]
(シンタックス)
実施の形態2の動画像符号化装置の構成は、当該動画像符号化装置の上位機能と符号列生成部104の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。以下、実施の形態2における動画像符号化装置の上位機能と符号列生成部104の機能について実施の形態1との相違を説明する。
実施の形態2の動画像符号化装置の上位機能は、符号化ストリーム単位または符号化ストリームの一部であるスライス毎に、候補番号管理テーブルを変更する機能を有する。符号列生成部104は、候補番号管理テーブルを図53(a)、(b)のように符号化ストリーム中に符号化して伝送する。図53(a)、(b)では、符号化ストリーム単位での制御のためのSPS(Sequence Parameter Set)、およびスライス単位での制御のためのSlice_headerで候補番号管理テーブルを符号化するシンタックスの例を示している。
"modified_merge_index_flag"でマージ候補番号と結合動き情報候補の標準の関係を変更するかどうかを指定し、"max_no_of_merge_index_minus1"で再定義する個数を指定し、"merge_mode[i]" で結合動き情報候補リストに含まれる候補ブロックの順序を指定する。また、双方向結合動き情報候補の基準方向を指定するための情報である"bd_merge_base_direction"を設置することもできる。
例えば、マージ候補番号と結合動き情報候補の標準の関係が図18であり、再定義したい候補番号管理テーブルが図40(a)であったとすると、"modified_merge_index_flag"を「1」に設定し、"max_no_of_merge_index_minus1"を「6」に設定し、"merge_mode[i] "をそれぞれ「0」、「1」、「2」、「5」、「6」、「3」、「4」とする。
図53(a)、(b)はシンタックスの一例であって、双方向結合動き情報候補に割り当てるマージ候補番号を符号化ストリーム中で指定でき、双方向結合動き情報候補の基準方向を定められればよく、これに限定されない。
実施の形態2の動画像復号装置の構成は、符号列解析部201の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。以下、実施の形態2における動画像復号装置の符号列解析部201の機能について実施の形態1との相違を説明する。符号列解析部201は、候補番号管理テーブルを図53(a)、(b)のシンタックスにしたがって復号する。
(実施の形態2の効果)
マージ候補番号と結合動き情報候補の最適な関係を、実施の形態2による動画像符号化装置と動画像復号装置でストリーム単位またはスライス単位で共有することで、ストリーム単位やスライス単位で動きの特性が変化するような場合にマージインデックスの符号化効率を向上させることができる。
[実施の形態3]
(結合動き情報候補の置換)
実施の形態3の動画像符号化装置の構成は、結合動き情報候補生成部140の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。最初に、実施の形態3における候補番号管理テーブルを図54とし、結合動き情報候補リストに含まれる結合動き情報候補の最大数は5であるとする。結合動き情報候補リストに含まれる結合動き情報候補の最大数が5であること、双方向結合動き情報候補にマージ候補番号が割り当てられていないことが異なる。以下、実施の形態3における結合動き情報候補生成部140について図55を用いて実施の形態1との相違を説明する。
図55の結合動き情報候補生成部140は、図16の結合動き情報候補生成部140に候補番号管理テーブル変更部154が追加された構成である。以下、候補番号管理テーブル変更部154の機能について説明する。候補番号管理テーブル変更部154は、第1結合動き情報候補リスト削減部151より供給される第2結合動き情報候補リストから、双方向結合動き情報候補の有効数を算出する。双方向結合動き情報候補の有効数が1以上であれば、候補番号管理テーブルを変更し、第2結合動き情報候補リストを双方向結合動き情報候補リスト生成部152に供給する。双方向結合動き情報候補の有効数が0であれば、第2結合動き情報候補リストを結合動き情報候補リストとして端子18に供給する。
引き続いて、実施の形態3の結合動き情報候補生成部140の動作について図56を用いて実施の形態1との相違を説明する。図56のフローチャートは、図24のフローチャートに以下の2つのステップが追加されている。候補番号管理テーブル変更部154は、候補番号管理テーブルを変更する(S260)。候補番号管理テーブルが変更されたかを検査する(S261)。候補番号管理テーブルが変更されたならば(S261のYES)、ステップS144を実施する。候補番号管理テーブルが変更されていないならば(S261のNO)、ステップS144はスキップされる。
以下、候補番号管理テーブル変更部154の動作について図57を用いて説明する。最初に、候補番号管理テーブル変更部154は、第2結合動き情報候補リストに含まれない無効な結合動き情報候補の数をカウントし、結合動き情報候補の無効数を算出する(S270)。なお、実施の形態3では、結合動き情報候補の無効数の算出を第2結合動き情報候補リストに含まれない無効な結合動き情報候補の数としたが、無効な結合動き情報候補の数が算出できればよく、これに限定されない。例えば、空間結合動き情報候補の最大数である4と時間結合動き情報候補の最大数である1を合計した5から第2結合動き情報候補リストに含まれる有効な結合動き情報候補の数を減算して無効な結合動き情報候補の数を求めてもよい。また、選択率の高い結合動き情報が無効である場合には双方向結合動き情報候補も選択率が低下することが考えられるため、マージ候補番号が2以上の無効な結合動き情報候補の数をカウントしてもよい。
候補番号管理テーブル変更部154は、結合動き情報候補の無効数が1以上であるか調査する(S271)。結合動き情報候補の無効数が1以上であれば(S271のYES)、候補番号管理テーブルを変更するため以降の処理を行う。結合動き情報候補の無効数が0であれば(S271のNO)、処理を終了する。
候補番号管理テーブル変更部154は、有効な双方向結合動き情報候補の数をカウントし、双方向結合動き情報候補の有効数を算出する(S272)。つまり、BD0とBD1がともに有効であれば双方向結合動き情報候補の有効数は2となり、BD0とBD1のいずれか一方が有効であれば双方向結合動き情報候補の有効数は1となり、BD0とBD1がともに無効であれば双方向結合動き情報候補の有効数は0となる。
候補番号管理テーブル変更部154は、結合動き情報候補の無効数と双方向結合動き情報候補の有効数のいずれか小さい方を双方向結合動き情報候補の追加数とする(S273)。候補番号管理テーブル変更部154は、双方向結合動き情報候補の追加数分の双方向結合動き情報候補に無効なマージ候補番号を割り当てる(S274)。
以下、候補番号管理テーブル変更部154の候補番号管理テーブルの変更例について図58(a)〜(c)を用いて説明する。図58(a)は結合動き情報候補の無効数が1で双方向結合動き情報候補の有効数が1以上の場合の例を示している。最初の無効なマージ候補番号1にBD0が割り当られる。なお、BD1が有効であればBD1を割り当ててもよい。図58(b)は結合動き情報候補の無効数が2で双方向結合動き情報候補の有効数が2の場合の例を示している。最初に無効なマージ候補番号2にBD0が、2番目に無効なマージ候補番号4にBD1が割り当られる。図58(c)は結合動き情報候補の無効数が2で双方向結合動き情報候補の有効数が1(BD1が有効)の場合の例を示している。最初に無効なマージ候補番号2にBD1が割り当られる。
実施の形態3の動画像復号装置の構成は、結合動き情報候補生成部140の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。実施の形態3の動画像復号装置の結合動き情報候補生成部140は実施の形態3の動画像符号化装置の結合動き情報候補生成部140と同一である。
(実施の形態3の変形例)
なお、実施の形態3は以下のように変形できる。
(変形例1:単方向結合動き情報候補優先)
上述の実施の形態3では、候補番号管理テーブル変更部154の動作例として図57を挙げたが、変更された候補番号管理テーブルが選択率の高い結合動き情報候補ほど小さいマージ候補番号が割り当てられていればよく、これに限定されない。
例えば、既存の単向結合動き情報候補の信頼度が十分に高い場合には、候補番号管理テーブル変更部154の動作に図59のように以下のステップS275を追加してもよい。図59のフローチャートは、図57のフローチャートにステップS275を追加したものである。候補番号管理テーブル変更部154は、無効な結合動き情報候補のマージ候補番号を詰める(S274)。
以下、候補番号管理テーブル変更部154の候補番号管理テーブルの変更例について図60(a)、(b)を用いて説明する。図60(a)は結合動き情報候補の無効数が1で双方向結合動き情報候補の有効数が1以上の場合の例を示している。無効なマージ候補番号(マージ候補番号1)が詰められた後、最初に無効なマージ候補番号4にBD0が割り当てられる。なお、BD1が有効であればBD1を割り当ててもよい。図60(b)は結合動き情報候補の無効数が2で双方向結合動き情報候補の有効数が2の場合の例を示している。無効なマージ候補番号(マージ候補番号2)が詰められた後、最初に無効なマージ候補番号3にBD0が、2番目に無効なマージ候補番号4にBD1が割り当てられる。このようにすることで、双方向結合動き情報候補には単方向結合動き情報候補よりも大きなマージ候補番号が割り当てられる。
(変形例2:所定ブロック依存)
候補番号管理テーブル変更部154の動作はさらに変形することもできる。最初に、本変形例では、所定のブロックに所定の双方向結合動き情報候補が関連付けられているとし、ブロックCにBD0が、ブロックDにBD1が関連付けられているものとする。以下、候補番号管理テーブル変更部154の動作の別の変形例について図61を用いて説明する。関連付けられたブロックの個数だけ以下の処理が繰り返される(S280からS284)。i番目の所定のブロックが無効であるか検査する(S281)。i番目の所定のブロックが無効であれば(S281のYES)、候補番号管理テーブルを変更するため以降の処理を行う。i番目の所定のブロックが無効でなければ(S281のNO)、次の所定ブロックを検査する。
変形例2では、所定の結合動き情報候補を、マージ候補番号3のブロックCとマージ候補番号4のブロックEの2つであるとしている。そのため、候補番号管理テーブル変更部154は、第1の所定の無効なマージ候補番号に双方向結合動き情報候補(BD0)を割り当て、候補番号管理テーブル変更部154は、第2の所定の無効なマージ候補番号に双方向結合動き情報候補(BD1)を割り当てる(S282)。
以上のように、変形例2による双方向結合動き情報候補リスト生成部152は、所定の結合動き情報候補が無効である場合に双方向結合動き情報候補が有効となる。ここでは、所定の結合動き情報候補をブロックCとブロックEとしたが、より大きいマージ候補番号を持つ選択率の低い結合動き情報候補が無効である場合に双方向結合動き情報候補が生成されればよく、これに限定されない。
(変形例3:単方向予測の結合動き情報候補の置換)
候補番号管理テーブル変更部154の動作はさらに変形することもできる。以下、候補番号管理テーブル変更部154の動作の変形例について図62を用いて説明する。結合動き情報候補の無効数が0であれば(S271のNO)、候補番号管理テーブル変更部154は、第2結合動き情報候補リストに含まれる予測方向が単方向(L0方向またはL1方向)である結合動き情報候補の数をカウントし、単方向予測数を算出する(S290)。単方向予測数が1以上であるか調査する(S291)。双方向結合動き情報候補の有効数が1以上であれば(S291のYES)、候補番号管理テーブルを変更するため以降の処理を行う。単方向予測数が0であれば(S291のNO)、処理を終了する。候補番号管理テーブル変更部154は、予測方向が双方向である双方向結合動き情報候補の数をカウントし、双方向結合動き情報候補の有効数を算出する(S292)。候補番号管理テーブル変更部154は、双方向結合動き情報候補の追加数分の双方向結合動き情報候補に予測方向が単方向である結合動き情報候補のマージ候補番号を割り当てる(S294)。
具体例として、候補番号管理テーブル変更部154は、双方向結合動き情報候補(BD0)の予測方向が双方向であれば、最後の予測方向が単方向であるマージ候補番号を、双方向結合動き情報候補(BD0)に割り当てる。また、候補番号管理テーブル変更部154は、双方向結合動き情報候補(BD1)の動き補償予測の方向が双方向であれば、最後から2番目の予測方向が単方向であるマージ候補番号を、双方向結合動き情報候補(BD1)に割り当てる。なお、実施の形態3の変形例3では、単方向予測数の算出を第2結合動き情報候補リストに含まれる予測方向が単方向である結合動き情報候補の数としたが、単方向予測数の算出ができればよく、これに限定されない。例えば、選択率の高い結合動き情報は予測方向が単方向であっても信頼度は高いと考えられるため、マージ候補番号が3以上の予測方向が単方向である結合動き情報候補の数をカウントしてもよい。また、結合動き情報候補の無効数が0であれば、予測方向が単方向である結合動き情報候補の数をカウントするとしたが、結合動き情報候補の無効数と単方向予測数の合計数を上限として双方向結合動き情報候補にマージ候補番号を割り当てることができればよく、これに限定されない。
以上のように、変形例3による双方向結合動き情報候補リスト生成部152は、予測方向が単方向である結合動き情報候補を、予測方向が双方向の双方向結合動き情報候補に置換する。
(実施の形態3の効果)
以上のように、無効となるマージインデックスを双方向結合動き情報候補のマージ候補番号として利用することで、マージ候補番号の増加によるマージインデックスの符号量の増加を抑制し、結合動き情報候補の選択率を高めて符号化効率を向上させることができる。
以上のように、時間方向や空間方向の動き情報の信頼度が高い場合には、双方向結合動き情報候補のマージ候補番号が単方向結合動き情報候補のマージ候補番号よりも大きくなるようにマージ候補番号を利用することで、マージインデックスの符号化効率を向上させることができる。
以上のように、大きなマージ候補番号を持つ結合動き情報候補を、双方向結合動き情報候補と関連付けることで、信頼度が高く選択率の高いブロックの結合動き情報候補を残しながら、選択率の低いブロックの結合動き情報候補と双方向結合動き情報候補とを適応的に切り替えることができる。したがって、マージ候補番号の増加によるマージインデックスの符号量の増加を抑制し、結合動き情報候補の選択率を高めて符号化効率を向上させることができる。
以上のように、予測方向が単方向である結合動き情報候補を、予測方向が双方向の双方向結合動き情報候補に置換し、予測効率の高い、予測方向が双方向の双方向結合動き情報候補の数を増加させて、結合動き情報候補の選択率を高めて符号化効率を向上させることができる。
[実施の形態4]
(単方向予測の動き情報を優先)
実施の形態4の動画像符号化装置の構成は、基準方向動き情報決定部161の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。以下、実施の形態4における基準方向動き情報決定部161について実施の形態1との相違を説明する。実施の形態4の基準方向動き情報決定部161の動作について図63を用いて説明する。
図63のフローチャートは、図28のフローチャートにステップS320からステップS323が追加されたものであり、ステップS321に特徴がある。まず、基準方向であるLXの有効性を「0」に設定する(S190)。第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)、以下の処理を繰り返す(S320からS323)。結合動き情報候補のLX方向の有効性および単方向予測であるかを検査する(S321)。結合動き情報候補のLX方向が有効であり、且つ単方向予測であれば(S321のYES)、基準方向であるLXの有効性を「1」に設定し、基準方向の動きベクトルと参照インデックスを結合動き情報候補のLX方向の動きベクトルと参照インデックスとして処理を終了する(S322)。結合動き情報候補のLX方向が有効であり、且つ単方向予測でないならば(S321のNO)、次の候補を検査する(S323)。
結合動き情報候補のLX方向が有効であり、且つ単方向予測の動き情報候補が存在しない場合、第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)、以下の処理を繰り返す(S191からS194)。結合動き情報候補のLX方向の有効性を検査する(S192)。結合動き情報候補のLX方向が有効であれば(S192のYES)、基準方向であるLXの有効性を「1」に設定し、基準方向の動きベクトルと参照インデックスを結合動き情報候補のLX方向の動きベクトルと参照インデックスとして処理を終了する(S193)。結合動き情報候補のLX方向が無効であれば(S192のNO)、次の候補を検査する(S194)。このように、実施の形態4の基準方向動き情報決定部161は、基準方向の動き情報の決定において単方向である動き情報を優先している点が、実施の形態1と異なる。
実施の形態4の動画像復号装置の構成は、基準方向動き情報決定部161の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。実施の形態4の動画像復号装置の結合動き情報候補生成部140は実施の形態4の動画像符号化装置の結合動き情報候補生成部140と同一である。
(実施の形態4の変形例)
なお、実施の形態4は以下のように変形できる。
(変形例1:単方向限定)
上述の実施の形態4では、基準方向動き情報決定部161の動作例として図63を挙げたが、動き情報の決定において単方向である動き情報が優先されればよく、これに限定されない。例えば、図63のステップS191からステップS194を削除して基準方向の動き情報を単方向である動き情報に限定して選択してもよい。
(変形例2:逆方向の単方向の優先)
上述の実施の形態4では、基準方向動き情報決定部161の動作例として図63を挙げたが、動き情報の決定において単方向である動き情報が優先されればよく、これに限定されない。例えば、逆方向動き情報決定部162の逆方向の動き情報の決定においても、実施の形態4の基準方向動き情報決定部161と同様に単方向である動き情報を優先してもよい。また、逆方向動き情報決定部162の逆方向の動き情報の決定において、実施の形態4の変形例1の基準方向動き情報決定部161と同様に単方向である動き情報に限定して選択してもよい。
(実施の形態4の効果)
実施の形態4では、基準方向の動き情報の決定において単方向である動き情報を優先することで、信頼度の高い動き情報を基準方向の動き情報として利用することができ、双方向結合動き情報候補の選択率を高めて符号化効率を向上させることができる。
[実施の形態5]
(各方向削除プロセス)
実施の形態5の動画像符号化装置の構成は、結合動き情報候補生成部140の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。以下、実施の形態5における結合動き情報候補生成部140について実施の形態1との相違を説明する。
実施の形態5の結合動き情報候補生成部140の構成について図64を用いて実施の形態1との相違を説明する。図64では、図16の第1結合動き情報候補リスト削減部151の代わりにL0方向動き情報候補リスト生成部155とL1方向動き情報候補リスト生成部156が設置されている。
実施の形態5の結合動き情報候補生成部140の機能について説明する。L0方向動き情報候補リスト生成部155は、第1結合動き情報候補リストに含まれる動き情報候補について、L0方向の動き情報が重複している動き情報を持つ結合動き情報候補が複数存在する場合には、1つの結合動き情報候補を残して削除してL0方向動き情報候補リストを生成し、当該L0方向動き情報候補リストを双方向結合動き情報候補リスト生成部152に供給する。
L1方向動き情報候補リスト生成部156は、第1結合動き情報候補リストに含まれる動き情報候補について、L1方向の動き情報が重複している動き情報を持つ結合動き情報候補が複数存在する場合には、1つの結合動き情報候補を残して削除してL1方向動き情報候補リストを生成し、当該L1方向動き情報候補リストを双方向結合動き情報候補リスト生成部152に供給する。
双方向結合動き情報候補リスト生成部152は、L0方向動き情報候補リスト生成部155より供給されるL0方向動き情報候補リストと、L1方向動き情報候補リスト生成部156より供給されるL1方向動き情報候補リストから、双方向結合動き情報候補リストを生成する。
実施の形態5の動画像復号装置の構成は、結合動き情報候補生成部140の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。実施の形態5の動画像復号装置の結合動き情報候補生成部140は実施の形態5の動画像符号化装置の結合動き情報候補生成部140と同一である。
(実施の形態5の効果)
実施の形態5では、L0方向とL1方向の動き情報の冗長度を削減しておくことで同一の双方向結合動き情報の生成を抑制し、双方向結合動き情報候補の有効性を高めて符号化効率を向上させることができる。
[実施の形態6]
(双方向結合動き情報候補の選択的利用)
実施の形態6の動画像符号化装置の構成は、基準方向決定部160の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。最初に、実施の形態6における候補番号管理テーブルを図65とし、結合動き情報候補リストに含まれる結合動き情報候補の最大数は6であるとする。結合動き情報候補リストに含まれる結合動き情報候補の最大数が6であること、双方向結合動き情報候補にマージ候補番号が1つしか割り当てられていないことが異なる。以下、実施の形態6における基準方向決定部160について実施の形態1との相違を説明する。実施の形態6の基準方向決定部160の動作について図66を用いて説明する。
基準方向決定部160は、第2結合動き情報候補リストに含まれる結合動き情報候補の数(NCands)、以下の処理を繰り返す(S300からS305)。結合動き情報候補のL0方向の有効性を検査する(S301)。結合動き情報候補のL0方向が有効であれば(S301のYES)、基準方向をL0に設定して処理を終了する(S302)。結合動き情報候補のL0方向が無効であれば(S301のNO)、結合動き情報候補のL1方向の有効性を検査する(S303)。結合動き情報候補のL1方向が有効であれば(S303のYES)、基準方向をL1に設定して処理を終了する(S304)。結合動き情報候補のL1方向が無効であれば(S303のNO)、次の候補を検査する(S305)。なお、基準方向が設定できなければ、双方向結合動き情報候補は生成しない(S306)。
実施の形態6の動画像復号装置の構成は、基準方向決定部160の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。実施の形態6の動画像復号装置の基準方向決定部160は実施の形態6の動画像符号化装置の基準方向決定部160と同一である。
(実施の形態6の効果)
実施の形態6では、結合動き情報候補リストに含まれる結合動き情報候補の予測方向によって基準方向をL0方向とするかL1方向するかを判定することで、双方向結合動き情報候補が1つだけ有効である場合に、双方向結合動き情報候補の有効性を高め、双方向結合動き情報候補の選択性を高めて符号化効率を向上させることができる。
以上述べた実施の形態1から6の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態1から6で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有している。当該動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
具体的には、双方向結合動き情報候補を示すマージインデックスや、候補番号管理テーブルを符号化ストリーム中に符号化している。また、双方向結合動き情報候補を示すマージインデックスのみを符号化ストリーム中に符号化し、候補番号管理テーブルを動画像符号装置と動画像復号装置で共有することで候補番号管理テーブルを符号化ストリーム中に符号化しなくてもよい。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
以上の符号化および復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(Read Only Memory)やフラッシュメモリなどに記憶されているファームウェアや、コンピュータなどのソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータなどで読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上述した実施の形態1において、図26のフローチャートを用いて、時間結合動き情報候補リストの生成の動作を説明した。そのフローチャートでは、時間結合動き情報候補の動きベクトルを算出する処理がある(S164)。時間結合動き情報候補は、候補ブロックの動き情報で有効な予測方向である参照画像ColRefPicと動きベクトルmvColを基準に、双方向の動き情報を算出する。候補ブロックの予測方向がL0方向もしくはL1方向の単方向の場合には、その予測方向の参照画像と動きベクトルを基準として選択する。候補ブロックの予測方向が双方向である場合には、L0方向或いはL1方向のいずれか一方の参照画像と動きベクトルを基準として選択する。双方向動き情報生成の基準とする参照画像と動きベクトルが選択されたら、時間結合動き情報候補の動きベクトルを算出する。
ここで、双方向動き情報生成の基準とする動きベクトルColMvと参照画像ColRefPicからの時間結合動き情報候補の動きベクトルmvL0t、mvL1tの算出手法について図67を用いて説明する。
ColPicとColRefPicの画像間距離をColDistとし、時間結合動き情報候補のL0方向の参照画像ColL0Picと処理対象画像CurPicの画像間距離をCurL0Dist、時間結合動き情報候補のL1方向の参照画像ColL1Picと処理対象画像CurPicの画像間距離をCurL1Distとすると、ColMvをColDistとCurL0Dist、CurL1Distの距離比率でスケーリングした下記式1の動きベクトルを、時間結合動き情報候補の動きベクトルとする。なお、画像間距離の算出はPOCを用いて行われ、正負の符号を有する。
mvL0t=mvCol×CurrL0Dist/ColDist
mvL1t=mvCol×CurrL1Dist/ColDist ・・・(式1)
なお、図67のColPic、ColRefPic、ColL0Pic、ColL1Picは一例であってこれ以外の関係であってもよい。