JP2013021613A - 画像復号装置、画像復号方法及び画像復号プログラム - Google Patents

画像復号装置、画像復号方法及び画像復号プログラム Download PDF

Info

Publication number
JP2013021613A
JP2013021613A JP2011155098A JP2011155098A JP2013021613A JP 2013021613 A JP2013021613 A JP 2013021613A JP 2011155098 A JP2011155098 A JP 2011155098A JP 2011155098 A JP2011155098 A JP 2011155098A JP 2013021613 A JP2013021613 A JP 2013021613A
Authority
JP
Japan
Prior art keywords
motion information
candidate
prediction
block
candidates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011155098A
Other languages
English (en)
Inventor
Katsuyoshi Nishitani
勝義 西谷
Hideki Takehara
英樹 竹原
Hiroya Nakamura
博哉 中村
Shigeru Fukushima
茂 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2011155098A priority Critical patent/JP2013021613A/ja
Publication of JP2013021613A publication Critical patent/JP2013021613A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】動きベクトルを含む動き情報の符号化効率をより向上させたい。
【解決手段】動き補償予測を行う画像復号装置において、結合タイプ判定部155は、1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定する。第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである。第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである。
【選択図】図50

Description

本発明は、動き補償予測を用いた動画像符号化技術に関し、特に動き補償予測で利用する動き情報を復号する画像復号装置、画像復号方法および画像復号プログラムに関する。
一般的な動画像圧縮符号化では動き補償予測が利用される。動き補償予測は、対象画像を細かいブロックに分割し、復号済みの画像を参照画像として、動きベクトルで示される動き量に基いて、対象画像の対象ブロックから参照画像の参照ブロックに移動した位置の信号を予測信号として生成する技術である。動き補償予測には1本の動きベクトルを利用して単方向に行うものと、2本の動きベクトルを利用して双方向に行うものがある。
また、動きベクトルについても、処理対象ブロックに隣接する符号化済みのブロックの動きベクトルを予測動きベクトル(単に「予測ベクトル」ともいう)とし、処理対象ブロックの動きベクトルと予測ベクトルとの差分を求め、差分ベクトルを符号化ベクトルとして伝送することで圧縮効率を向上させている。
MPEG−4AVCでは、MPEG−2よりも動き補償予測のブロックサイズを細かく且つ多様にすることで動き補償予測の効率を向上させている。一方、ブロックサイズを細かくしたことで動きベクトル数が増加するため、符号化ベクトルの符号量が問題となる。
そのため、MPEG−2では単純に処理対象ブロックの左に隣接するブロックの動きベクトルを予測ベクトルとしていたが、MPEG−4AVCでは複数の隣接ブロックの動きベクトルの中央値を予測ベクトルとすることで予測ベクトルの精度を向上させ、符号化ベクトルの符号量の増加を抑制している。さらに、MPEG−4AVCにおいてダイレクト動き補償予測が知られている。ダイレクト動き補償予測は、符号化済みの別の画像の処理対象ブロックと同一位置にあるブロックの動きベクトルを、対象画像と2つの参照画像の距離でスケーリングして新たな動きベクトルを生成し、符号化ベクトルを伝送することなく、動き補償予測を実現するものである。
また、処理対象ブロックに隣接するブロックの動き情報を利用して、符号化ベクトルを伝送することなく動き補償予測を実現する動き補償予測が知られている(例えば、特許文献1参照)。
特開平10−276439号公報
上述したように、符号化ベクトルを伝送しないダイレクト動き補償予測は、処理対象ブロックと符号化済みの別の画像の処理対象ブロックと同一位置にあるブロックの動きの連続性に着目している。また、特許文献1は処理対象ブロックと処理対象ブロックに隣接するブロックの動きの連続性に着目している。それにより、他のブロックの動き情報を利用することで差分ベクトルを含む動き情報を符号化ベクトルとして符号化せずに符号化効率を向上させている。
ところが従来の動き補償予測では、処理対象ブロックの動きが、処理対象ブロックと隣接するブロックとの動きや、符号化済みの別の画像の処理対象ブロックと同一位置周辺にあるブロックとの動きにずれがある場合、差分ベクトルを含む動き情報を符号化しなければならず、符号化効率の向上が十分に発揮されないという難しい面がある。
本発明はこうした状況に鑑みてなされたものであり、その目的は、動きベクトルを含む動き情報の符号化効率を、より向上させる技術を提供することにある。
上記課題を解決するために、本発明のある態様の画像復号装置は、動き補償予測を行う画像復号装置であって、1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定する判定部(155)を備える。前記第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードであり、前記第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである。
前記復号対象ブロックに隣接する複数の復号済みのブロックから、動き情報を持つ複数のブロックを選択して候補リストを生成する候補リスト生成部(150)と、前記候補リストに、重複する動き情報を持つブロックが複数存在する場合、1つを残し、残りを削除する削除部(151)と、をさらに備えてもよい。前記判定部(155)は、前記削除部(151)により削除されたブロックの数が、設定数以上の場合、前記第2の画像間予測モードを使用しないと判定してもよい。「前記復号対象ブロックに隣接する複数の復号済みのブロック」には、前記復号対象ブロックを含む画像と時間的に異なる画像のブロックが含まれてもよい。
前記復号対象ブロックに隣接する複数の復号済みのブロックから、動き情報を持つ複数のブロックを選択して候補リストを生成する候補リスト生成部(150)と、前記判定部(155)は、前記候補リストに、双方向の動きベクトルを持ち、双方向の動きベクトルの2つの参照画像が対象画像の時間的に直前の画像及び直後の画像であるブロックが、設定数(例えば、1)以上含まれている場合、前記第2の画像間予測モードを使用しないと判定してもよい。「前記復号対象ブロックに隣接する複数の復号済みのブロック」には、前記復号対象ブロックを含む画像と時間的に異なる画像のブロックが含まれてもよい。
前記復号対象ブロックに隣接する複数の復号済みのブロックから2つのブロックを選択し、その2つのブロックの動き情報から、前記複数の復号済みのブロックが単体で持つ動き情報と異なる、別の双方向の動きベクトルを含む動き情報を新たな選択候補として生成する選択候補生成部(152)と、符号化側において選択された候補を、前記選択候補生成部(152)により生成された新たな選択候補を含む複数の選択候補の中から特定するための識別情報を復号する符号列解析部(201)と、復号された識別情報を用いて、前記複数の選択候補の中から1つの候補を選択する選択部(231)と、をさらに備えてもよい。前記選択候補生成部(152)により生成された新たな選択候補の識別情報は、当該選択候補を組成する第1の予測方向の動き情報候補の識別情報と第2の予測方向の動き情報候補の識別情報の組み合わせにより規定されてもよい。
前記第1の予測方向の動き情報候補及び前記第2の予測方向の動き情報候補のうち、基準方向の動き情報候補のそれぞれに識別情報が割り当てられ、基準方向の動き情報候補ごとに組み合わせ対象となる非基準方向の動き情報候補の数がカウントされ、それぞれのカウント値に基づいて、非基準方向の動き情報候補のそれぞれに識別情報が割り当てられてもよい。当該カウント値が1の場合、非基準方向の動き情報候補の識別情報は省略されてもよい。
本発明の別の態様は、画像復号方法である。この方法は、動き補償予測を行う画像復号方法であって、1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定するステップを備える。前記第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードであり、前記第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動きベクトルを含む動き情報の符号化効率を、より向上させることができる。
画像を最大符号化ブロックに分割する例を説明するための図である。 図2(a)、(b)は、符号化ブロックを説明するための図である。 図3(a)〜(d)は、予測ブロックを説明するための図である。 予測ブロックサイズを説明するための図である。 予測符号化モードを説明するための図である。 図6(a)〜(d)は、動き補償予測の予測方向を説明するための図である。 図7(a)〜(c)は、マージインデックスのTruncated Unary符号列を説明するための図である。 予測ブロックのシンタックスの一例を説明するための図である。 本発明の実施の形態1に係る動画像符号化装置の構成を説明するための図である。 図9の動き情報メモリにおける動き情報の管理方法を説明するための図である。 図9の動き情報生成部の構成を説明するための図である。 図9の差分ベクトル算出部の構成を説明するための図である。 空間候補ブロック群を説明するための図である。 時間候補ブロック群を説明するための図である。 図11の結合動き情報決定部の構成を説明するための図である。 図15の結合動き情報候補生成部の構成を説明するための図である。 図16の双結合動き情報候補組合せリスト生成部の構成を説明するための図である。 候補番号管理テーブルを説明するための図である。 図19(a)、(b)は、マージ候補番号からマージインデックスへの変換を説明するための図である。 本発明の実施の形態1に係る動画像符号化装置の符号化の動作を説明するためのフローチャートである。 図9の動き情報生成部の動作を説明するためのフローチャートである。 図11の差分ベクトル算出部の動作を説明するためのフローチャートである。 図11の結合動き情報決定部の動作を説明するためのフローチャートである。 図16の双結合動き情報候補リスト生成部から双結合動き情報候補組合せリスト生成部の動作を説明するためのフローチャートである。 空間結合動き情報候補リストの生成の動作を説明するためのフローチャートである。 時間結合動き情報候補リストの生成の動作を説明するためのフローチャートである。 時間結合動き情報候補の動きベクトルを算出方法を説明する図である。 図28(a)〜(d)は、双結合動き情報候補リストの生成を説明する為の図である(例1)。 図29(a)〜(d)は、双結合動き情報候補リストの生成を説明する為の図である(例2)。 図30(a)〜(d)は、双結合動き情報候補の組合せの決定を説明するための図である(例1)。 図31(a)〜(d)は、双結合動き情報候補の組合せの決定を説明するための図である(例1)。 図32(a)、(b)は、図31(a)、(b)の双結合動き情報候補リストの変更を説明する為の図である。 本発明の実施の形態1に係る動画像復号装置の構成を説明するための図である。 図33の動き情報再生部の構成を説明するための図である。 図34の動きベクトル再生部の構成を説明するための図である。 図34の結合動き情報再生部の構成を説明するための図である。 本発明の実施の形態1に係る動画像復号装置の復号の動作を説明するためのフローチャートである。 図33の動き情報再生部の動作を説明するためのフローチャートである。 図34の動きベクトル再生部の動作を説明するためのフローチャートである。 図34の結合動き情報再生部の動作を説明するためのフローチャートである。 図41(a)、(b)は、実施の形態1の変形例1に係る単結合動き情報候補リストから双結合動き情報候補の組合せの生成を説明するための図である。 図42(a)〜(c)は、実施の形態1の変形例2に係る単結合動き情報候補リストから双結合動き情報候補の組合せの生成を説明するための図である。 図43(a)、(b)は、実施の形態1の変形例2の優先して選択する結合動き情報候補の個数を符号化ストリーム中に符号化するシンタックスを説明するための図である。 実施の形態1の変形例3に係る単結合動き情報候補リストから双結合動き情報候補の組合せの生成を説明するための図である。 図45(a)、(b)は、実施の形態1の変形例3の予め定められた双結合動き情報候補の組合せの使用可否を示すフラグを符号化するシンタックスを説明するための図である。 図46(a)、(b)は、実施の形態1の効果を説明するための図(その1)である。 図47(a)、(b)は、実施の形態1の効果を説明するための図(その2)である。 図48(a)、(b)は、実施の形態1の効果を説明するための図(その3)である。 実施の形態2の関数MergeType()を追加したシンタックスを説明するための図である。 図15の結合動き情報候補生成部の構成に実施の形態2に係る結合タイプ判定部を追加した構成を説明するための図である。 実施の形態2に係る結合タイプ判定部の動作を説明する為のフローチャートである。 実施の形態2の変形例1において、隣接ブロックが参照する画像と動きベクトルの一例を示す図である。
まず、本発明の実施の形態の前提となる技術を説明する。
現在、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画素の符号化ブロックとなっている。図2(b)の例では、符号化ブロックが1個に分割されている。
(予測ブロック)
本発明の実施の形態では、符号化ブロックはさらに予測ブロックに分割される。予測ブロックの分割のパターンを図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方向の参照画像(RefL0Pic)に置き換えることもできる。以上で説明したように、動き補償予測の予測方向であるL0方向とL1方向はそれぞれ時間的に前方向と後方向のいずれでも示すことができる。
また、L0方向とL1方向はそれぞれに複数の参照画像が存在することが可能性であって、L0方向の参照画像は参照画像リストL0にL1方向の参照画像は参照画像リストL1に登録されて、それぞれの予測方向の参照画像インデックスによって参照画像リスト中の参照画像の位置が指定されて、参照画像が確定する。以降、予測方向がL0方向であるとは参照画像リストL0に登録された参照画像と関連づけられた動き情報を利用する予測方向であり、予測方向がL1方向であるとは参照画像リストL1に登録された参照画像と関連づけられた動き情報を利用する予測方向である。
(動き情報の符号量)
マージモードはマージインデックスで動き情報を伝送できる。従って、マージモード(マージフラグが1)と非マージモード(マージフラグが0)の予測誤差が同程度であれば、マージモードの方が動き情報を効率よく符号化できる。すなわち、マージモードの選択率を高くすることで動き情報の符号化効率を向上させることができる。
(マージインデックスの特性)
マージモードの場合にマージインデックスの復号(符号化)の前段にマージの候補数を算出する処理が、非マージモードの場合に予測ベクトルインデックスの復号(符号化)の前段に予測ベクトルの候補数を算出する処理がそれぞれ設置されている。これらは隣接ブロックの動き情報の有効性によって、マージの候補数や予測ベクトルの候補数が予測ブロック毎に変化するために、その候補数を取得するために必要な処理である。尚、隣接ブロックの動き情報が有効であるとは、その隣接ブロックが領域外のブロックやイントラモードでないことであって、隣接ブロックの動き情報が無効であるとは、その隣接ブロックが領域外のブロックやイントラモードであることである。
尚、マージの候補数が1である場合はマージインデックスを復号(符号化)しない。マージの候補数が1である場合は指定しなくとも一意に決定できるためである。予測ベクトルインデックスの場合も同様である。
また、マージインデックスの符号列について図7(a)〜(c)を用いて説明する。本発明の実施の形態では、マージインデックスの符号列としてTruncated Unary符号列を用いる。図7(a)はマージの候補数が2個の場合のTruncated Unary符号列によるマージインデックスの符号列を、図7(b)はマージの候補数が3個の場合のTruncated Unary符号列によるマージインデックスの符号列を、図7(c)はマージの候補数が4個の場合のTruncated Unary符号列によるマージインデックスの符号列を示す。
図7(a)〜(c)から同じマージインデックスの値を符号化する場合でもマージの候補数が少ないほどマージインデックスに割り当てられる符号ビット数が小さくなることがわかる。例えば、マージインデックスが1である場合、マージの候補数が2個であれば‘1’の1ビットであるが、マージの候補数が3個または4個であれば‘10’の2ビットとなる。
以上のように、マージの候補数は少ないほどマージインデックスの符号化効率は向上する。すなわち、選択率が相対的に高い候補を残し、選択率が相対的に低い候補を削減することでマージインデックスの符号化効率は向上させることができる。また、候補数が同じである場合には、小さいマージインデックスの方が符号量は少なくなるため、選択率が相対的に高い候補に小さなマージインデックスを割り当てることで符号化効率を向上させることができる。
(POC)
本発明の実施の形態では、画像の時間情報(距離情報)としてPOC(Picture Order Count)を用いる。POCはMPEG−4AVCで定義された画像の表示順序を示すカウンタである。画像の表示順序が1増加するとPOCも1増加する。したがって、画像間のPOC差から画像間の時間差(距離)を取得できる。
(隣接ブロックの動き情報の特性)
一般的に処理対象ブロックの動き情報と処理対象ブロックに隣接するブロック(以下、隣接ブロックという)の動き情報の相関度が高いのは、処理対象ブロックと隣接ブロックが同じ動きをしている場合、例えば、処理対象ブロックと隣接ブロックを含めた領域が平行移動している場合である。また、一般的に処理対象ブロックの動き情報と隣接ブロックの動き情報の相関度は、処理対象ブロックと隣接ブロックの接している長さにも依存する。
(別の画像の動き情報の特性)
一方、一般的に時間ダイレクトモードや空間ダイレクトモードで利用されている復号済みの別の画像上で処理対象ブロックと同一位置にあるブロック(以下、同一位置ブロックという)と、当該処理対象ブロックとの相関度が高いのは、当該同一位置ブロック及び当該処理対象ブロックが同じ動き情報、すなわち等速運動にある場合である。
以下、図面とともに本発明の好適な実施の形態に係る動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラムの詳細について説明する。なお、図面の説明において同一要素には同一符号を付与して重複する説明を省略する。
[実施の形態1]
(シンタックス)
本発明の実施の形態1における符号化及び復号で定義される予測ブロックのシンタックスの一例について図8を用いて説明する。予測ブロックがイントラであるかインターであるかは上位の符号化ブロックによって指定されており、図8は予測ブロックがインターの場合のシンタックスを示す。予測ブロックには、マージフラグ(merge_flag)、マージタイプ(merge_type)、マージインデックス(merge_idx、merge_idx_l0、merge_idx_l1)、インター予測モード(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]は垂直成分を示す。
選択されたマージインデックスで示される隣接ブロックの動き情報を利用するマージモードが予測ブロックに適用される場合、merge_flagは“1”に設定される。一方、予測ブロックにマージモードを適用せず、通常の動きベクトル検出にて検出された動きベクトルを利用する非マージモードを適用する場合、merge_flagは“0”に設定される。
merge_flagが“1”の場合、最初にmerge_typeが設定される。merge_typeはマージインデックスを1つ或いは2つ使用するかを切り換えるフラグである。merge_typeが“0”の場合、マージインデックスを1つ使用し、動き情報を利用する隣接ブロックをマージインデックス(merge_idx)で指定する。
merge_typeが“1”の場合、マージインデックスを2つ使用する。マージインデックスはL0方向とL1方向にmerge_idx_l0,merge_idx_l1がそれぞれ設定され、L0方向とL1方向とで動き情報を利用する隣接ブロックをそれぞれ指定する。merge_typeが“1”の場合、L0及びL1方向の2つのマージインデックスを使用するので、予測ブロックを含むスライスタイプがBスライスの場合にのみ適用される。
その為、スライスタイプがBスライスであるかどうかを判定し、スライスタイプがBスライスの場合に、更にマージインデックスを1つ或いは2つ使用するかをmerge_typeで指定する。スライスタイプがPスライスの場合は、予測方向がL0予測の1つしかないので、merge_typeは暗黙的に“0”に設定されることと等価になり、1つのマージインデックスで動き情報を利用する隣接ブロックを指定する。
マージインデックスの前段にマージの候補数を算出する関数NumMergeCand()が設置されている。これは隣接ブロックの動き情報の有効性によって、マージの候補数が予測ブロック毎に変化する為に、その候補数を取得するために必要な関数である。マージの候補数が1より大きい場合にマージの候補を指定する為にマージインデックスが使用され、マージの候補数が1の場合はマージ候補が一意に決定されるのでマージインデックスを使用しない。ここで、関数NumMergeCand()の括弧内に記述がある場合、その記述で示される予測方向のみの動き情報の有効性を判定し、候補数を算出する。予測方向はL0方向或いはL1方向である。関数NumMergeCand()の括弧内に記述が無い場合、L0方向またはL1方向の有効性を判定し、候補数を算出する。
merge_flagが“0”の場合、非マージモードとなり、通常の動きベクトル検出で検出された動きベクトルを効率良く伝送する為に、L0及びL1方向毎に、予測ベクトルインデックスで示される隣接ブロックの動きベクトルを予測ベクトルとして、動きベクトル予測が行われる。予測ベクトルとして利用する隣接ブロックをL0、L1方向ごとに予測ベクトルインデックス(mvp_idx_l0及びmvp_idx_l1)で指定する。尚、図8に示すシンタックスにおいて、merge_idx_l0とmerge_idx_l1とを1つに纏めた形態を用いてもよい。例えば、merge_idx_l0をMSB、merge_idx_l1をLSBとして、(merge_idx_l0<<(merge_idx_l1のビット数))|merge_idx_l1としたものをmerge_idxとする。尚、この場合の条件文はif((NumMergeCand(L0)>1)||(NumMergeCand(L1)>1))となる。
予測ベクトルインデックスの前段に予測ベクトルの候補数を算出する関数NumMvpCand()が設置されており、NumMergeCand()と同様に、隣接ブロックの動き情報の有効性によって、予測ベクトルの候補数が予測ブロック毎に変化する為に、その候補数を取得するために必要な関数である。ここで、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種類がある。
(動画像符号化装置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(図33)にも同様に設置されて、動画像符号化装置100と動画像復号装置200にて矛盾のない予測ベクトル候補リストが生成される。
以下、各部の機能について説明する。予測ベクトル候補リスト生成部130は、端子12より供給される候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを削除する。更に重複している動きベクトルを持つ候補ブロックが複数存在する場合には、1つの候補ブロックを残して、残りの少なくとも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では、時間候補ブロック群として、図14に示すブロック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つ以上の処理済みのブロックであればよく、ブロックの数や位置はこれらに限定されない。例えば、空間候補ブロック群をブロックA1、ブロックB1、ブロックC、ブロックE及びブロックDの5ブロックとしてもよい。
次に、時間候補ブロック群について図14を用いて説明する。実施の形態1では、時間候補ブロック群として、図14に示すブロックHとブロックI6の2ブロックとする。ここでは、時間候補ブロック群を予測ベクトル候補リスト生成部130に供給される時間候補ブロック群と同じとしたが、時間候補ブロック群は、処理対象の予測ブロックとは別の復号済みの画像上の少なくとも0以上のブロックであればよく、ブロックの数や位置はこれらに限定されない。
(結合動き情報候補生成部140の構成)
続いて、結合動き情報候補生成部140の詳細な構成について図16を用いて説明する。図16は結合動き情報候補生成部140の構成を示す。端子18は結合動き情報選択部141に接続されている。結合動き情報候補生成部140は、単結合動き情報候補リスト生成部150、単結合動き情報候補リスト削減部151、双結合動き情報候補リスト生成部152、双結合動き情報候補リスト削減部153及び双結合動き情報候補組合せリスト生成部154を含む。
以下、各部の機能について説明する。単結合動き情報候補リスト生成部150は、端子12より供給される候補ブロック群から単結合動き情報候補リストを生成し、当該単結合動き情報候補リストを単結合動き情報候補リスト削減部151に供給する。
単結合動き情報候補リスト削減部151は、単結合動き情報候補リスト生成部150より供給される単結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残し、残りの結合動き情報候補を削除して単結合動き情報候補リストを更新する。単結合動き情報候補リスト削減部151は、当該単結合動き情報候補リストを双結合動き情報候補リスト生成部152に供給するとともに端子18にも供給する。
双結合動き情報候補リスト生成部152は、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストから双結合動き情報候補リストを生成し、当該双結合動き情報候補リストを双結合動き情報候補リスト削減部153に供給する。
実施の形態1では、双結合動き情報候補リスト生成部152は、L0方向の双結合動き情報候補とL1方向の双結合動き情報候補の候補リストをそれぞれ生成するものとする。
双結合動き情報候補リスト削減部153は、双結合動き情報候補リスト生成部152より供給される双結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残し、残りの結合動き情報候補を削除して双方向結合動き情報候補リストを更新する。双結合動き情報候補リスト削減部153は、当該双結合動き情報候補リストを双結合動き情報候補組合せリスト生成部154に供給する。
双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補リスト削減部153より供給される双結合動き情報候補リストから、L0方向及びL1方向それぞれの結合動き情報候補の動き情報の組合せが、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストの中の結合動き情報候補の動き情報と重複している否かを判定する。重複していない双結合動き情報候補リストの組合せが存在する場合には双結合動き情報候補組合せリストを生成し、当該双結合動き情報候補組合せリストを端子18に供給する。
ここで、単結合動き情報候補は、所謂マージ技術で利用される候補ブロックの動き情報候補のことであって1つの候補ブロックから得られる動き情報である。一方、双結合動き情報は、2つの候補ブロックの2つの動き情報の両方を利用して得られる動き情報である。本実施の形態では2つの候補ブロックの2つの動き情報としてL0方向とL1方向をそれぞれ1つずつ利用する。
(双結合動き情報候補組合せリスト生成部154)
続いて、双結合動き情報候補組合せリスト生成部154の詳細な構成について図17を用いて説明する。図17は双結合動き情報候補組合せリスト生成部154の構成を示す。端子19は双結合動き情報候補リスト削減部153に、端子20は単結合動き情報候補リスト削減部151に、端子21は端子18にそれぞれ接続されている。双結合動き情報候補組合せリスト生成部154は、L0,L1方向動き情報候補組合せ部160及び双結合動き情報候補決定部161を含む。
以下、各部の機能について説明する。L0,L1方向動き情報候補組合せ部160は、端子19より供給される双結合動き情報候補リストから取得される、L0予測及びL1予測の結合動き情報候補の動き情報を組合せて、双結合動き情報候補組合せリストを生成する。L0,L1方向動き情報候補組合せ部160は、当該双結合動き情報候補組合せリストを双結合動き情報候補決定部161に送る。
双結合動き情報候補決定部161は、L0,L1方向動き情報候補組合せ部160より供給される双結合動き情報候補組合せリストの結合動き情報候補と、端子20により供給される単結合動き情報候補リストの結合動き情報候補とを比較する。双結合動き情報候補決定部161は、当該比較の結果、両候補間に重複があった場合、当該双結合動き情報候補組合せリストから重複する結合動き情報候補を外して、当該双方向結合動き情報候補組合せリストを更新し、当該双方向結合動き情報候補組合せリストを端子21に送る。
(候補番号管理テーブル)
ここで、実施の形態1で利用するマージ候補番号と結合動き情報候補の関係を示す候補番号管理テーブルについて図18を用いて説明する。単結合動き情報候補リスト及び双結合動き情報候補リストに登録される結合動き情報候補のどちらにもマージ候補番号との関連付けが適用される。マージ候補番号の0から4は、それぞれ結合動き情報候補リストに含まれるブロックAの結合動き情報候補(A)、ブロックBの結合動き情報候補(B)、時間ブロックの結合動き情報候補(COL)、ブロックCの結合動き情報候補(C)、ブロックEの結合動き情報候補(E)を示す。また、結合動き情報候補リストに含まれる結合動き情報候補の最大数は5(マージインデックスの最大値は4)であるとする。尚、実施の形態1で利用する候補番号管理テーブルを図18としたが、選択率が相対的に高い結合動き情報候補ほど小さいマージ候補番号が割り当てられていればよくこれに限定されない。
ここで、候補番号管理テーブル及び結合動き情報候補リストに含まれる結合動き情報候補の最大数は動画像符号化装置100内で共有していることとし、図示しない。以下、マージ候補番号からマージインデックスへの変換について図19(a)、(b)を用いて説明する。
図19(a)は、ブロックAの結合動き情報候補、ブロックBの結合動き情報候補、時間ブロックの結合動き情報候補、ブロックCの結合動き情報候補及びブロックEの結合動き情報候補が全て有効である場合に、マージ候補番号はそのままマージインデックスとなることを示している。
図19(b)は、結合動き情報候補に無効なブロックが含まれている場合、無効であるマージ候補番号を詰めてからマージ候補番号の小さい順序にマージインデックスが割り当てられる場合を示している。図19(b)のようにマージ候補番号が1のブロックBとマージ候補番号が3のブロックCの結合動き情報候補が無効である場合、マージインデックスの0はマージ候補番号0に、マージインデックスの1はマージ候補番号2に、マージインデックスの2はマージ候補番号4にそれぞれ変換される。
実施の形態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は、空間結合動き情報候補リストと時間結合動き情報候補リストをマージ候補番号の順序で結合して、単結合動き情報候補リストを生成する(S142)。
単結合動き情報候補リスト削減部151は、単結合動き情報候補リスト生成部150より供給される単結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残して、それ以外の重複している動き情報を持つ結合動き情報候補を削除して、単結合動き情報候補リストを更新する(S143)。
双結合動き情報候補リスト生成部152は、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストから双結合動き情報候補リストを生成する(S144)。双結合動き情報候補リストはL0方向とL1方向の2つが作成される。単結合動き情報候補リストの中の各結合動き情報候補のL0方向及びL1方向の動き情報を分割して、それぞれの方向毎に作成される結合動き情報候補のリストを双結合動き情報候補リストとする。尚、スライスタイプがPスライスの場合、或いはマージタイプが“0”の場合は双結合動き情報候補リストを生成する必要はなく、双結合動き情報候補リスト生成部152によるステップS144以降の処理を実施しなくてもよい。
双結合動き情報候補リスト削減部153は、双結合動き情報候補リスト生成部152より供給される双結合動き情報候補リストから重複している動き情報を持つ結合動き情報候補が複数存在する場合には、1つの結合動き情報候補を残して、それ以外の重複している動き情報を持つ結合動き情報候補を削除して双結合動き情報候補リストを更新する(S145)。双結合動き情報候補リストの削減の詳細な動作は後述する。
双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補リスト削減部153より供給される双結合動き情報候補リストのL0方向及びL1方向それぞれの結合動き情報候補の動き情報を組み合わせて、双結合動き情報候補組合せリストを生成する(S146)。双結合動き情報候補組合せリストの生成の詳細な動作は後述する。
双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補組合せリストの結合動き情報候補の動き情報が、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストの結合動き情報候補の動き情報と重複している場合には、双結合動き情報候補組合せリストからその重複している組合せ候補を削除して、双結合動き情報候補組合せリストを更新する(S147)。双結合動き情報候補組合せリストの更新の詳細な動作は後述する。
引き続いて、図25のフローチャートを用いて、空間結合動き情報候補リストの生成の詳細な動作を説明する。実施の形態1では、空間結合動き情報候補リストには4以下の候補ブロックの動き情報が含まれるとする。
空間候補ブロック群に含まれる4つの候補ブロックであるブロックA、ブロックB、ブロックC及びブロックEについて以下の処理を繰り返し行う(S150からS153)。候補ブロックの有効性を検査する(S151)。候補ブロックが領域外でなくイントラモードでもない場合に候補ブロックは有効となる。候補ブロックが有効であれば(S151のY)、候補ブロックの動き情報を空間結合動き情報候補リストに追加する(S152)。候補ブロックが有効でなければ(S151のN)、ステップS152はスキップされる。
実施の形態1では空間結合動き情報候補リストには4以下の候補ブロックの動き情報が含まれるとしたが、候補ブロックの有効性によって空間結合動き情報候補の数が変動すればよく、これに限定されない。
引き続いて、図26のフローチャートを用いて、時間結合動き情報候補リストの生成の詳細な動作を説明する。実施の形態1では、時間結合動き情報候補リストには1以下の候補ブロックの動き情報が含まれるとする。
時間候補ブロック群に含まれる2つの候補ブロックである時間ブロックについて以下の処理を繰り返し行う(S160からS166)。候補ブロックの有効性を検査する(S161)。候補ブロックが領域外でなくイントラモードでもない場合に候補ブロックは有効となる。候補ブロックが有効であれば(S161のY)、時間結合動き情報候補が生成され、時間結合動き情報候補が時間結合動き情報候補リストに追加され(ステップS162からステップS165)、処理を終了する。候補ブロックが有効でなければ(S161のN)、次の候補ブロックを検査する(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方向のいずれかの動きベクトルが処理対象画像と交差する方を基準として選択する等が挙げられる。
双方向動き情報生成の基準とする参照画像と動きベクトルが選択されたら、時間結合動き情報候補の動きベクトルを算出する。
ここで、双方向動き情報生成の基準とする動きベクトルColMvと参照画像ColRefPicからの時間結合動き情報候補の動きベクトルmvL0t、mvL1tの算出手法について図27を用いて説明する。
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)
尚、図27のColPic、ColRefPic、ColL0Pic、ColL1Picは一例であって、これ以外の関係であってもよい。
以上のようにして、算出された時間結合動き情報候補の動きベクトルは、時間結合動き情報候補リストを追加する(S165)。ここでは上記のようにして時間結合動き情報候補を生成したが、符号化済みの別の画像の動き情報を利用して双方向の動き情報が決定できればよく、これに限定されない。例えば、ダイレクト動き補償で行われているように各方向の参照画像と処理対象画像の距離に応じてスケーリングした動きベクトルを双方向の動きベクトルとしてもよい。候補ブロックが無効であれば(S161のN)、次の候補ブロックを検査する(S166)。
ここでは、時間結合動き情報候補リストには1以下の候補ブロックの動き情報が含まれるとしたが、候補ブロックの有効性によって時間結合動き情報候補の数が変動すればよく、これに限定されない。予測方向、参照画像及び動きベクトルの決定方法についても同様に、これらに限定されない。
(双結合動き情報候補リストの削減)
引き続いて、図28(a)〜(e)及び図29(a)〜(e)を用いて、双結合動き情報候補リストの結合動き情報候補の削減の詳細な動作を説明する。図28(a)は単結合動き情報候補リスト削減部151にて重複する動き情報を備える結合動き情報候補は削除されて更新された単結合動き情報候補リストの一例を示す。図28(a)はマージ候補番号と結合動き情報候補の関係を示す候補番号管理テーブルの説明に使用した図18の結合動き情報候補が全て双方向モード(BiPred)の場合であり、各結合動き情報候補のL0方向及びL1方向の動き情報が図28(a)のように設定されていることとする。
各結合動き情報候補に設定される動き情報は、L0方向の動き情報にL0_0,L0_1,L0_2、L1方向の動き情報にL1_0,L1_1,L1_2とし、それぞれ異なるものとする。その為、L0及びL1方向単位では重複する動き情報が存在するものの、L0とL1を合わせて1つの動き情報とみなす場合には、重複する動き情報が存在せず、単結合動き情報候補リスト削減部151において、それらの結合動き情報候補の削除はされずに、図28(a)に示されるように、5つの結合動き情報候補が残される。
双結合動き情報候補リスト生成部152にて生成される双結合動き情報候補リストは、図28(a)で示される単結合動き情報候補リストの各結合動き情報候補の動き情報をL0方向とL1方向に分割して、図28(b)及び図28(c)のように生成される。図28(b)はL0方向、図28(c)はL1方向の双結合動き情報候補リストを示す。生成された双結合動き情報候補リストは、双結合動き情報候補リスト削減部153に供給される。
双結合動き情報候補リスト削減部153は、L0及びL1方向ごとに双結合動き情報候補リストの中で重複している動き情報を備える結合動き情報候補を削除する。まず、図28(b)のL0予測の双結合動き情報候補リストの結合動き情報候補の削除について説明する。
図28(b)では、結合動き情報候補Aが動き情報L0_0を、BとCOLがL0_1を、CとEがL0_2を備えている。マージ候補番号の小さい結合動き情報候補の順番で動き情報を比較する。まず、マージ候補番号が0であるAと他の結合動き情報候補との比較を開始する。L0_0を備えるAはL0方向の双結合動き情報候補リストの中に1つしかないので、Aのマージ候補番号を変更せずに0としてL0方向の双結合動き情報候補リストに残す。
BとCOLは同じ動き情報L0_1を備えているので、L0方向の双結合動き情報候補リストの中で動き情報が重複しており、どちらか一方をL0方向の双結合動き情報候補リストから削除する。ここでは、選択率が相対的に高い結合動き情報候補ほど小さいマージ候補番号を割り当てているので、マージ候補番号の大きい方を削除対象とする。この場合、Bのマージ候補番号が1でCOLが2であるので、COLを削除し、BはL0方向の双結合動き情報候補リストに残す。
COLの削除により、COLに割り当てられてたマージ候補番号2は、COLの直後のマージ候補番号3のCに割り当てる。以降のL0方向の双結合動き情報候補リストに残っている結合動き情報候補(図28(b)の例ではE)に、結合動き情報候補のマージ候補番号を1だけ引いた数を割り当てて、L0方向の双結合動き情報候補リストを更新する。
次に、マージ候補番号2以降の結合動き情報候補の動き情報を比較する。CとEは同じ動き情報L0_2を備えているので、L0方向の双結合動き情報候補リストの中で動き情報が重複しており、L0方向の双結合動き情報候補リストからEを削除する。以上のように、L0方向の双結合動き情報候補リストの中で重複する動き情報を備える結合動き情報候補は削除され、図28(b)は図28(d)のように更新される。
図28(d)中のハッチングが入った行は削除された結合動き情報候補を示す。これらに割り当てられていたマージ候補番号はL0方向の双結合動き情報候補リストに残った結合動き情報候補に小さい順に割り当てられる。L0方向の双結合動き情報候補リストに残った結合動き情報候補は関数NumMergeCand(L0)で表され、ここでは3となる。
同様にして、図28(c)のL1方向の双結合動き情報候補リストの結合動き情報候補の削除を実施すると、図28(e)のように更新される。L1方向の双結合動き情報候補リストに残った結合動き情報候補は関数NumMergeCand(L1)で表され、ここでは3となる。
次に、図28(a)〜(e)で示される結合動き情報候補の動き情報が全て双方向モード(BiPred)でなく、単方向モード(UniPred)を含み、L0とL1方向を合わせて1つの動き情報とみなす場合に重複する動き情報が存在しない単結合動き情報候補リストの一例を図29(a)に示す。図29(a)は単結合動き情報候補リスト削減部151にて重複する動き情報を備える結合動き情報候補は削除されて更新された単結合動き情報候補リストの一例である。図29(a)において結合動き情報候補BはL1方向のみ、CはL0方向のみの動き情報を備え、それ以外の結合動き情報候補はL0及びL1方向の動き情報を備えているものとする。ここで、L0方向或いはL1方向に動き情報が存在しない場合、図29(a)〜(e)中で記号“−”で表すこととする。
双結合動き情報候補リスト生成部152にて生成される双結合動き情報候補リストは、図29(a)で示される単結合動き情報候補リストの各結合動き情報候補の動き情報をL0方向とL1方向に分割して、図29(b)及び図29(c)のように生成される。図29(b)はL0方向、図29(c)はL1方向の双結合動き情報候補リストを示す。生成された双結合動き情報候補リストは、双結合動き情報候補リスト削減部153に供給される。
双結合動き情報候補リスト削減部153は、L0及びL1方向ごとに双結合動き情報候補リストの中で重複している動き情報を備える結合動き情報候補を削除する。まず、図29(b)のL0予測の双結合動き情報候補リストの結合動き情報候補の削除について説明する。
図29(b)では、結合動き情報候補AとEが動き情報L0_0を、COLとCがL0_1を備えており、BはL1方向の単方向モードなのでL0方向の動き情報は無い。図28(a)〜(e)での説明と同様に、マージ候補番号の小さい結合動き情報候補の順番で動き情報を比較し、重複する動き情報を備える結合動き情報候補が複数存在する場合には、選択率が相対的に高い結合動き情報候補ほど小さいマージ候補番号を割り当てているので、マージ候補番号の最も小さい結合動き情報候補を残し、他をリストから削除する。
まず、マージ候補番号が0であるAと他の結合動き情報候補との比較を開始する。AとEは同じ動き情報L0_1を備えており、Aのマージ候補番号が0でEが4であるので、Eを削除し、AはL0方向の双結合動き情報候補リストに残す。削除するEはL0方向の双結合動き情報候補リストの最も大きい番号が割り当てられており、E以降には結合動き情報候補が存在しない。従って、L0方向の双結合動き情報候補リストのマージ候補番号の割り当てを更新する必要はない。
次のBはL0方向の動き情報が無く、L0方向の動き情報を持たない他の結合動き情報候補が存在しないので、Bのマージ候補番号を変更せずに1としてL0方向の双結合動き情報候補リストに残す。続いて、マージ候補番号が2のCOLとマージ候補番号が3のCが同じ動き情報L0_1を備えているので、Cを削除し、COLはL0方向の双結合動き情報候補リストに残す。L0方向の双結合動き情報候補リストは、既にEが削除され、Cより後ろに結合動き情報候補が存在しないので、L0方向の双結合動き情報候補リストのマージ候補番号の割り当てを更新する必要はない。以上のように、L0方向の双結合動き情報候補リストの中で重複する動き情報を備える結合動き情報候補は削除され、図29(b)は図29(d)のように更新される。
図29(d)中のハッチングが入った行は削除された結合動き情報候補を示す。L0方向の双結合動き情報候補リストに残った結合動き情報候補は関数NumMergeCand(L0)で表され、ここでは3となる。
同様にして、図29(c)のL1方向の双結合動き情報候補リストの結合動き情報候補の削除を実施すると、図29(e)のように更新される。L1方向の双結合動き情報候補リストに残った結合動き情報候補は関数NumMergeCand(L1)で表され、ここでは3となる。
図29(a)〜(e)で示される単結合動き情報候補リストの一例では、単結合動き情報候補リストの中で、L0或いはL1方向の一方の動き情報のみ備える結合動き情報候補もL0及びL1方向の双結合動き情報候補リストに登録される結合動き情報候補としたが、双結合動き情報候補リストの結合動き情報候補から外してもよい。例えば、図29(a)の単結合動き情報候補リストの中の結合動き情報候補Bは単方向モードであり、L1方向の動き情報しか備えていない。従って、L0方向の双結合動き情報候補リストに結合動き情報候補として登録しても、L0方向の動き情報が無いので、他の結合動き情報候補のL1方向の動き情報のみを使用して動き補償予測を行うことになる。
その為、動き補償予測の予測精度が低下してしまうことも有り得る。そこで、単結合動き情報候補リストの中で双方向モードの結合動き情報候補のみを対象として、常にL0及びL1方向の2つの動き情報を備える結合動き情報候補の組合せを選出するようにしてもよい。以上のようにして、L0及びL1方向の双結合動き情報候補リストの結合動き情報候補の削減が実施され、L0及びL1方向の双結合動き情報候補リストが更新される。
(双結合動き情報候補組合せリストの生成)
引き続いて、図30(a)〜(d)及び図31(a)〜(d)を用いて、双結合動き情報候補組合せリストの生成の詳細な動作を説明する。図30(a)、(b)及び図31(a)、(b)は、双結合動き情報候補リスト削減部153にて、図28(a)〜(e)及び図29(a)〜(e)で示される双結合動き情報候補リストの一例から、重複する動き情報を備える結合動き情報候補を削除して更新された双結合動き情報候補リストである。図30(a)及び図31(a)がL0方向、図30(b)及び図31(b)がL1方向の双結合動き情報候補リストを示す。
最初に図30(a)、(b)の双結合動き情報候補リストを例として説明する。双結合動き情報候補リスト削減部153にて更新された図30(a)、(b)で示される双結合動き情報候補リストが双結合動き情報候補組合せリスト生成部154に供給される。双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補リストのL0方向及びL1方向の結合動き情報候補を組み合わせて、図30(c)に示される双結合動き情報候補組合せリストを生成する。図30(a)、(b)の例では、L0方向、L1方向ともに3つの結合動き情報候補があるので、9つの双結合動き情報候補が生成される。
次に、生成された双結合動き情報候補組合せリストの中の双結合動き情報候補の動き情報が、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストの結合動き情報候補の動き情報と重複しているか否かを判定する。ここでは、図30(c)中のL0方向及びL1方向で組み合わされた双結合動き情報候補の動き情報が、図28(a)で示される単結合動き情報候補リストの中の結合動き情報候補の動き情報と同一であるかを判定する。
双結合動き情報候補組合せリストの中の双結合動き情報候補の動き情報が、単結合動き情報候補リストの結合動き情報候補の動き情報と重複する場合、単結合動き情報候補の動き情報を参照することを優先し、この時の双結合動き情報候補の組合せは無効と判定し、使用しない。同じ動き情報を参照するのに、双結合動き情報候補ではL0及びL1方向の2つのマージインデックスが必要となり、単結合動き情報候補では1つのマージインデックスで済む為である。一方、重複しない場合、単結合動き情報候補リストに存在しない新たな組合せの動き情報の候補として、有効な双結合動き情報候補とする。
ここで、説明の都合上、図30(c)中の双結合動き情報候補のL0方向及びL1方向の動き情報の組み合わせを(L0,L1)で表し、括弧内にはマージ候補番号を記述することとし、以下に図30(c)中の組合せが備える動き情報を判定する。
(0,0)はL0方向はAの動き情報(L0_0)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストのAと同一であるので、単結合動き情報候補リストのAを優先し、この組合せは使用しない。
(0,1)はL0方向はAの動き情報(L0_0)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(0,2)はL0方向はAの動き情報(L0_0)、L1方向はEの動き情報(L0_2)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(1,0)はL0方向はBの動き情報(L0_1)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストのBと同一であるので、単結合動き情報候補リストのBを優先し、この組合せは使用しない。
(1,1)はL0方向はBの動き情報(L0_1)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストのCOLと同一であるので、単結合動き情報候補リストのCOLを優先し、この組合せは使用しない。
(1,2)はL0方向はBの動き情報(L0_1)、L1方向はEの動き情報(L0_2)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(2,0)はL0方向はCの動き情報(L0_2)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(2,1)はL0方向はCの動き情報(L0_2)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストのCと同一であるので、単結合動き情報候補リストのCを優先し、この組合せは使用しない。
(2,2)はL0方向はCの動き情報(L0_2)、L1方向はEの動き情報(L0_2)となり、単結合動き情報候補リストのEと同一であるので、単結合動き情報候補リストのEを優先し、この組合せは使用しない。
こうして判定された双結合動き情報候補の組合せは図30(d)に示される。図30(a)〜(d)の例では、単結合動き情報候補リストに存在しない有効な組合せとなる双結合動き情報候補は(0,1),(0,2),(1,2)及び(2,0)となり(図30(c)中に“○”で表される)、これらの組合せを表すL0及びL1方向のマージ候補番号を、単結合動き情報候補リストのマージ候補番号とともに結合動き情報選択部141に供給する。
以上のようにして、L0方向とL1方向とで異なる隣接ブロックの動き情報が参照可能となる。しかしながら、図30(c)で示される双結合動き情報候補の組合せは、NumMergaCand(L0)×NumMergeCand(L1)=3×3=9通り存在するが、実際に有効な組合せは4通りしかない。その4通りを表す為のマージ候補番号に図7(b)の符号割当を適用すると、片方向を2ビットで表すので最大4ビットが必要となる。単純に4通りの組合せを表すのであれば、図7(c)の符号割当を適用すると最大3ビットで済むので、符号化効率が低下することなる。このことは、L0方向及びL1方向の双結合動き情報候補をそれぞれ独立して2次元上に配列した為である。
そこで、まず、L0方向の有効な双結合動き情報候補を決定し、その後に決定されたL1方向の有効な双結合動き情報候補と組み合わせて、有効な組合せとなるL1方向の双結合動き情報候補に対してマージ候補番号を割り当てるようにする。図30(d)を用いて説明する。
L0方向の双結合動き情報候補としてAを選択した場合、単結合動き情報候補リストに存在しない組合せの動き情報を備えるL1方向の有効な双結合動き情報候補はCOLとEである。この時のL1方向の有効な双結合動き情報候補の候補数はNumMergeCand(L1)=2となり、COLにマージ候補番号を0、Eに1を割り当てるようにする。この時、L1方向のマージ候補番号の符号割当は、候補数が2となるので、図7(a)の符号割当が適用され、L1方向は1ビットで済むことになり、L0方向に必要な2ビットを加算しても3ビットで済むことになり、符号化効率が改善される。
同様にして、L0方向の双結合動き情報候補としてBを選択した場合、単結合動き情報候補リストに存在しない組合せの動き情報を備えるL1方向の有効な双結合動き情報候補はEのみである。この時のL1方向の有効な双結合動き情報候補の候補数はNumMergeCand(L1)=1となり、一意にL1方向の有効な双結合動き情報候補として選出されるので、マージ候補番号は必要としない。
この場合はL0方向の双結合動き情報候補を表す2ビットのみで済むことになり、符号化効率が改善される。L0方向の双結合動き情報候補としてCを選択した場合は、上述したBを選択した場合と同様なので説明を割愛する。以上のように、L0方向の有効な双結合動き情報候補を選択した後で、有効な組合せとなるL1方向の有効な双結合動き情報候補を選択することで、参照する双結合動き情報候補を示す符号量を削減することが可能となる。L0方向、L1方向の順に処理を進めるので、実施の形態1で定義したシンタックスを変更しなくてもよい。
次に、図31(a)、(b)の双結合動き情報候補リストを例として説明する。双結合動き情報候補リスト削減部153にて更新された図31(a)、(b)で示される双結合動き情報候補リストが双結合動き情報候補組合せリスト生成部154に供給される。双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補リストのL0方向及びL1方向の結合動き情報候補を組み合わせて、図31(c)に示される双結合動き情報候補組合せリストを生成する。図31(a)、(b)の例では、L0方向、L1方向ともに3つの結合動き情報候補があるので、9つの双方向結合動き情報候補が生成される。
次に、生成された双結合動き情報候補組合せリストの中の双結合動き情報候補の動き情報が、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストの結合動き情報候補の動き情報と重複しているか否かを判定する。ここでは、図31(c)中のL0方向及びL1方向で組み合わされた双結合動き情報候補の動き情報が、図28(a)で示される単結合動き情報候補リストの中の結合動き情報候補の動き情報と同一であるかを判定する。
双結合動き情報候補組合せリストの中の双結合動き情報候補の動き情報が、単結合動き情報候補リストの結合動き情報候補の動き情報と重複する場合、単結合動き情報候補の動き情報を参照することを優先し、この時の双結合動き情報候補の組合せは無効と判定し、使用しない。同じ動き情報を参照するのに、双結合動き情報候補ではL0及びL1方向の2つのマージインデックスが必要となり、単結合動き情報候補では1つのマージインデックスで済む為である。一方、重複しない場合、単結合動き情報候補リストに存在しない新たな組合せの動き情報の候補として、有効な双結合動き情報候補とする。
ここで、説明の都合上、図31(c)中の双結合動き情報候補のL0方向及びL1方向の動き情報の組み合わせを(L0,L1)で表し、括弧内にはマージ候補番号を記述することとし、以下に図31(c)中の組合せが備える動き情報を判定する。
(0,0)はL0方向はAの動き情報(L0_0)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストのAと同一であるので、単結合動き情報候補リストのAを優先し、この組合せは使用しない。
(0,1)はL0方向はAの動き情報(L0_0)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストのEと同一であるので、単結合動き情報候補リストのAを優先し、この組合せは使用しない。
(0,2)はL0方向はAの動き情報(L0_0)、L1方向はCの動き情報(−)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(1,0)はL0方向はBの動き情報(−)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストのBと同一であるので、単結合動き情報候補リストのBを優先し、この組合せは使用しない。
(1,1)はL0方向はBの動き情報(−)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(1,2)はL0方向はBの動き情報(−)、L1方向はCの動き情報(−)となり、両結合動き情報候補の動き情報が存在しないので、この組合せは使用しない。
(2,0)はL0方向はCOLの動き情報(L0_1)、L1方向はAの動き情報(L0_0)となり、単結合動き情報候補リストに該当する結合動き情報候補が存在しないので、有効な双結合動き情報候補とする。
(2,1)はL0方向はCOLの動き情報(L0_1)、L1方向はCOLの動き情報(L0_1)となり、単結合動き情報候補リストのCOLと同一であるので、単結合動き情報候補リストのCを優先し、この組合せは使用しない。
(2,2)はL0方向はCの動き情報(L0_2)、L1方向はCの動き情報(−)となり、単結合動き情報候補リストのCと同一であるので、単結合動き情報候補リストのEを優先し、この組合せは使用しない。
こうして判定された双結合動き情報候補の組合せは図31(c)に示される。図31(a)〜(c)の例では、単結合動き情報候補リストに存在しない有効な組合せとなる双結合動き情報候補は(0,2)、(1,1)及び(2,0)となり(図31(c)中に“○”で表される)、これらの組合せを表すL0及びL1方向のマージ候補番号を、単結合動き情報候補リストのマージ候補番号とともに結合動き情報選択部141に供給する。
以上のようにして、L0方向とL1方向とで異なる隣接ブロックの動き情報が参照可能となる。図31(a)〜(c)の例でも、図30(a)〜(d)で説明したのと同様に、L0方向の有効な双結合動き情報候補を決定し、その後に決定されたL1方向の有効な双結合動き情報候補と組み合わせて、有効な組合せとなるL1方向の双結合動き情報候補に対してマージ候補番号を割り当てるようにすると、図31(d)のようになる。L0方向の双結合動き情報候補としてA、B、COLの何れを選択した場合でも、単結合動き情報候補リストに存在しない組合せの動き情報を備えるL1方向の有効な双結合動き情報候補は1つしか存在しない。この時のL1方向の有効な双結合動き情報候補の候補数はNumMergeCand(L1)=1となり、一意にL1方向の有効な双結合動き情報候補として選出されるので、マージ候補番号は必要としない。この場合はL0方向の双結合動き情報候補を表す2ビットのみで済むことになり、符号化効率が改善される。
また、図31の例では、L0方向或いはL1方向の片方向に動き情報が無い結合動き情報候補の場合も、双結合動き情報候補の1つとして、候補の動き情報の同一判定を行い、重複する結合動き情報候補を削除して、動き情報の無い結合動き情報候補を双結合動き情報候補リストに残すようにした。双結合動き情報候補としては、L0方向及びL1方向の2つにそれぞれ動き情報を備える方が、動き補償予測の予測精度を相対的に高めることが出来るので、L0方向或いはL1方向に動き情報を備える結合動き情報の候補を双結合動き情報候補リストの上位に設定する方が望ましい。以上のことから、動き情報が無い結合動き情報候補が存在する場合は、その結合動き情報候補を双結合動き情報候補リストに登録せず、双結合動き情報候補リストの最後に“動き情報を使用しない”ことを意味する状態を指定するマージ候補番号を設定してもよい。図32(a)、(b)は図31(a)、(b)に対して適用した例を示す。この処理を適用することで、L0及びL1の両方向の動き情報を使用することを優先して、動き補償予測の精度を高め、符号化効率を改善させることが出来る。
以上のように、実施の形態1の動画像符号化装置100では、単結合動き情報候補の動き情報には存在しない新たな組合せの双結合動き情報候補の動き情報を提供する。生成される双結合動き情報候補の動き情報が単結合動き情報候補の動き情報と重複しないように、単結合動き情報候補の動き情報と同一と判定された双結合動き情報候補を削除することで、双結合動き情報候補の個数を削減する。これにより、双結合動き情報候補を指定するマージ候補番号の符号量を抑制することで、符号化効率を向上させる。
しかしながら、動き情報の同一判定により符号化処理の負荷が高くなる。符号化処理の負荷を低減する為に、図18で示される単結合の候補番号管理テーブルの結合動き情報候補のL0方向及びL1方向の動き情報を双結合動き情報候補として、それらを単に組み合わせることで得られる20通りの中から双結合動き情報候補の組合せを生成してもよい。結合動き情報候補生成部140で実施される単結合及び双結合の結合動き情報候補の同一判定を実施しないので、符号化処理の負荷が低減される。この場合、符号化において、図18で示される結合動き情報候補の動き情報が無効であったり、双結合動き情報候補の組合せとして、L0方向、L1方向ともに動き情報が存在しないものは除外され、組合せとして有効なもののみ選択される。但し、L0方向及びL1方向ともに候補数が5つあるので、双結合動き情報候補の組合せを指定するマージインデックスは、最長で4ビットとなり、2つのマージインデックスを合わせると8ビットの符号量が必要となり、符号化効率は低下することになる。
(動画像復号装置200の構成)
次に、実施の形態1の動画像復号装置を説明する。図33に実施の形態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の詳細な構成)
続いて、動き情報再生部204の詳細な構成について図34を用いて説明する。図34は動き情報再生部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の詳細な構成)
続いて、動きベクトル再生部211の詳細な構成について図35を用いて説明する。図35は動きベクトル再生部211の構成を示す。動きベクトル再生部211は、予測ベクトル候補リスト生成部220、予測ベクトル決定部221及び加算部222を含む。端子35は符号化モード判定部210に接続されている。
以下、各部の機能について説明する。予測ベクトル候補リスト生成部220は、動画像符号化装置100の予測ベクトル候補リスト生成部130と同一の機能を有する。予測ベクトル決定部221は、予測ベクトル候補リスト生成部220より供給される予測ベクトル候補リスト及び端子35より供給される予測ベクトルインデックスから、予測ベクトルを決定して加算部222に供給する。
加算部222は、端子35より供給される差分ベクトルと、予測ベクトル決定部221より供給される予測ベクトルとを加算して動きベクトルを算出し、当該動きベクトルを端子34に供給する。
(結合動き情報再生部212の詳細な構成)
続いて、結合動き情報再生部212の詳細な構成について図36を用いて説明する。図36は結合動き情報再生部212の構成を示す。結合動き情報再生部212は、結合動き情報候補生成部230及び結合動き情報選択部231を含む。
以下、各部の機能について説明する。結合動き情報候補生成部230は図15に示す結合動き情報候補生成部140と同一の機能を有する。結合動き情報選択部231は、結合動き情報候補生成部230より供給される結合動き情報候補リスト及び端子35より供給されるマージ候補番号に基づいて、結合動き情報候補リストの中から動き情報を選択し、当該動き情報を端子34に供給する。
(動画像復号装置200の動作)
続いて、図37のフローチャートを用いて、実施の形態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)。
引き続いて、図38のフローチャートを用いて、動き情報再生部204の動作を説明する。符号化モード判定部210は、符号列解析部201より供給されるマージフラグが「0」であるか「1」であるか判定する(S220)。マージフラグが「1」であれば、結合動き情報再生部212は、符号化モード判定部210より供給されるマージタイプ、マージ候補番号及び端子33より供給される候補ブロック群から、動き情報を再生する(S221)。
マージフラグが「0」であれば、動きベクトル再生部211は、符号化モード判定部210より供給される動き補償予測の予測方向、参照画像インデックス、差分ベクトル及び予測ベクトルインデックス、並びに端子33より供給される候補ブロック群から、動き情報を再生する(S222)。
引き続いて、図39のフローチャートを用いて、動きベクトル再生部211の動作を説明する。予測ベクトル候補リスト生成部220は、動画像符号化装置100の予測ベクトル候補リスト生成部130と同一の動作によって予測ベクトル候補リストを生成する(S300)。
予測ベクトル決定部221は、予測ベクトル候補リスト生成部220より供給される予測ベクトル候補リストの中から、端子35より供給される予測ベクトルインデックスで示される予測ベクトル候補を選択して、予測ベクトルを決定する(S301)。加算部222は、端子35より供給される差分ベクトルと、予測ベクトル決定部221より供給される予測ベクトルとを加算して動きベクトルを算出する(S302)。
引き続いて、図40のフローチャートを用いて、結合動き情報再生部212の動作を説明する。結合動き情報候補生成部230は、動画像符号化装置100の結合動き情報候補生成部140と同一の動作によって結合動き情報候補リストを生成する(S310)。結合動き情報選択部231は、結合動き情報候補生成部230より供給される結合動き情報候補リストの中から、端子35より供給されるマージ候補番号で示される結合動き情報候補を選択して、結合動き情報を決定する(S311)。
(実施の形態1の変形例)
尚、実施の形態1は以下のように変形できる。
(変形例1:同一方向の利用)
上述の実施の形態1では、参照する隣接ブロック候補でL0方向或いはL1方向に動き情報を備えているブロック候補を、双結合動き情報候補のL0方向或いはL1方向の動き情報となる例を挙げた。双方向予測の場合、動き情報の選択として、図6(d)の一例で示されるように、同一方向から2つの動き情報を参照して動き補償予測の精度を高めることも可能であり、本実施の形態においても適用することが可能である。
これは、図41(a)のように単結合動き情報候補リストに含まれる結合動き情報候補に同一の予測方向の動き情報のみ存在する場合に、双結合動き情報候補の生成確率を高め、結合動き情報候補の選択率を高めることで動き情報の符号化効率を向上させることが出来る。この場合、双結合動き情報候補決定部161では、本来L0方向とL1方向のそれぞれのマージ候補番号を供給するところを、双結合動き情報候補の予測が片方向(L0方向或いはL1方向)のみの場合に、L0方向のみの動き情報を備える結合動き情報候補をL1方向の有効な双結合動き情報候補として選択しても符号化及び復号で処理が破綻しないように、符号化側と復号側で合わせておく必要がある。
図41(a)の単結合動き情報候補リストから生成される双結合動き情報候補の組合せを図41(b)に示す。L0方向及びL1方向ともにBを選択する(0,0)の場合、或いはL0方向及びL1方向ともにCOLを選択する(1,1)の場合は、単結合動き情報候補リストのB或いはCOLと同一であるので、単結合動き情報候補リストのB或いはCOLを優先し、この組合せは使用しない。単結合動き情報候補リストに存在しない有効な組合せとなる双結合動き情報候補は(0,1)或いは(1,0)となる。これらの組合せを表すL0及びL1方向のマージ候補番号を、単結合動き情報候補リストのマージ候補番号とともに結合動き情報選択部141に供給する。以上のようにして、L0方向とL1方向とで異なる隣接ブロックの動き情報の参照可能となる。
(変形例2:マージ候補番号の上位優先)
上述の実施の形態1では、双結合動き情報候補を、L0方向とL1方向において有効である結合動き情報候補ブロックを組み合わせて、L0方向とL1方向の動き情報を利用する新たな動き情報を備える双結合動き情報候補を生成した。L0方向とL1方向とで有効な結合動き情報候補ブロックの動き情報を組み合わせて、単結合動き情報候補の動き情報には存在しない新たな動き情報の組合せとして双結合動き情報候補を生成し、従来よりも動き補償予測の精度を上げ、動き情報の符号化効率を向上させることが出来るが、処理量が増加する。
そこで、本変形例では、双結合動き情報候補の生成される数を制限することで、処理量の増加を抑制する。具体的には、双結合動き情報候補リスト削減部153にて、重複する動き情報を備える結合動き情報候補を削除して更新された双結合動き情報候補リストに対して、マージ候補番号の小さい方の双結合動き情報候補から優先して選択する。
図42(a)、(b)は、図28(b)〜、(e)で示される双結合動き情報候補リストの一例から、重複する動き情報を備える結合動き情報候補を削除して更新された双結合動き情報候補リストであり、それぞれ図42(a)がL0方向、図42(b)がL1方向の双結合動き情報候補リストを示す。ここでは、L0方向、L1方向ともに小さいマージ候補番号から2つ選択することとする。
その為、図42(a)、(b)のハッチングが入った行で示される結合動き情報候補(L0方向ではC、L1方向ではE)が双結合動き情報候補リストから削除される。図42(a)、(b)に基づいて、双結合動き情報候補組合せリスト生成部154は、双結合動き情報候補リストのL0方向及びL1方向の結合動き情報候補を組み合わせて、図42(c)に示される双結合動き情報候補組合せリストを生成する。
図42(a)、(b)の例では、L0方向、L1方向ともに2つの結合動き情報候補に制限したので、4つの双結合動き情報候補が生成される。図42(c)の組み合わせから、(0,1)のみが単結合動き情報候補リストに存在しない双結合動き情報候補となり、この組合せを表すL0及びL1方向のマージ候補番号を、単結合動き情報候補リストのマージ候補番号とともに結合動き情報選択部141に供給する。
以上のようにして、L0方向及びL1方向の双結合動き情報候補リストのマージ候補番号の小さい方から優先的に選択することで、双結合動き情報候補組合せリスト生成部154での組合せ判定処理を削減することが出来る。尚、この変形例ではL0方向、L1方向ともに2つの結合動き情報候補を優先して選択するようにしたが、L0方向、L1方向で異なる値としてもよい。更に、符号化と復号側で処理が矛盾しないように、符号化と復号で優先して選択する結合動き情報候補の個数を合わせるように、暗黙的に定義してもよい。
また、符号化ストリーム単位または符号化ストリームの一部であるスライス毎に、符号化と復号で優先して選択する結合動き情報候補の個数を定義する機能を有するシンタックスを定義しても良い。符号列生成部104は、結合動き情報候補の個数を図43(a)及び(b)のように、符号化ストリーム中に符号化して伝送する。図43(a)及び(b)では、符号化ストリーム単位での制御のためのSPS(Sequence Parameter Set)、及びスライス単位での制御のためのSlice_headerで優先して選択する結合動き情報候補の個数を符号化するシンタックスの例を示している。“limited_merge_index_lX_flag”(Xは0或いは1)でLX方向の双結合動き情報候補リストで選択する結合動き情報候補の数を制限するか否かを指定し、“max_no_of_merge_index_lX_minus1”(Xは0或いは1)で選択する個数を指定する。
本変形例による動画像符号化装置と動画像復号装置でストリーム単位またはスライス単位で双結合動き情報候補リストの結合動き情報候補の個数を制限することで、ストリーム単位やスライス単位で動きの特性が変化するような場合に、マージインデックスの符号化効率を一定にさせることが出来る。
(変形例3:予め定められた組み合わせ)
上述の実施の形態1では、双結合動き情報候補を、L0方向とL1方向において有効である結合動き情報候補ブロックを組み合わせて、L0方向とL1方向の動き情報を利用する新たな動き情報を備える双結合動き情報候補を生成した。L0方向とL1方向に検索することで、単結合動き情報候補の動き情報には存在しない新たな動き情報の組合せとして双結合動き情報候補を生成し、従来よりも動き補償予測の精度を上げ、動き情報の符号化効率を向上させることが出来るが、処理量が増加する。
そこで、図44に示されるように、双結合動き情報候補を予め定められたより信頼度の高い結合動き情報候補ブロックの組み合わせとして定義しておくことで、検索処理を省き、双結合動き情報候補の選択率を向上させて、符号化効率を向上させることが出来る。
図44は、マージ参照候補として、最も信頼度の高い候補ブロックAと2番目に信頼度の高い候補ブロックBのL0及びL1方向の動き情報を組み合わせて、双結合動き情報候補として定義した例である。ここでは、(0,1)と(1,0)の組合せが双結合動き情報候補として定義される。尚、信頼度が相対的に高い候補ブロックの組み合わせであれば、これ以外の組み合わせでもよい。更に、符号化と復号側で処理が矛盾しないように、符号化と復号で優先して選択する結合動き情報候補を合わせるように、暗黙的に定義してもよい。
また、符号化ストリーム単位または符号化ストリームの一部であるスライス毎に、候補番号管理テーブルを変更する機能を有するシンタックスを定義しても良い。符号列生成部104は、候補番号管理テーブルを図44(a)及び(b)のように、符号化ストリーム中に符号化して伝送する。図44(a)及び(b)では、符号化ストリーム単位での制御のためのSPS(Sequence Parameter Set)、及びスライス単位での制御のためのSlice_headerで候補番号管理テーブルを符号化するシンタックスの例を示している。”prior_merge_index_flag”で双結合動き情報候補リストで予め決められた結合動き情報候補を優先するか否かを指定する。
本変形例による動画像符号化装置と動画像復号装置でストリーム単位またはスライス単位で双結合動き情報候補リストの結合動き情報候補を優先することで、ストリーム単位やスライス単位で動きの特性が変化するような場合に、マージインデックスの符号化効率を一定にさせることが出来る。
(実施の形態1の効果)
(双方向予測の双結合動き情報の効果例)
実施の形態1による効果について図46(a)、(b)を用いて説明する。以下の説明では、ブロックNのL0方向の動きベクトルをmvL0N、L1方向の動きベクトルをmvL1N、L0方向の参照画像インデックスをrefIdxL0N、L1方向の参照画像インデックスをrefIdxL1N、L0方向の差分ベクトルをdmvL0N、L1方向の差分ベクトルをdmvL1N、L0方向の参照画像インデックスの差分をdrefIdxL0N、及びL1方向の参照画像インデックスをdrefIdxL1Nと表す。尚、図45中の各結合動き情報候補の動き情報は、上述した記号に合わせて、(mvLXNx,mvLXNy)/refIdxLXNで表される。“/”の前の括弧は、ブロックNのLX方向(Xは0或いは1)の動きベクトルを表し、括弧内のmvLXNxは水平方向の動きベクトル成分、mvLXNyは垂直方向の動きベクトル成分を表す。“/”の後のrefIdxLXNはブロックNのLX方向(Xは0或いは1)の参照画像インデックスを表すものとする。
処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が双方向(BI)で、mvL0Z=(2,8)、mvL1Z=(4,2)、refIdxL0Z=0、refIdxL1N=0であるとする。
この時、単結合動き情報候補が図46(a)で示される単結合動き情報候補リストに記載されたA、B、COL、C、Eであるとする。これら単結合動き情報候補の中には処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同一の動き情報は存在しない。従って、これら単結合動き情報候補の中からレート歪み評価値が最小となる単結合動き情報候補を選択することになる。そして、その候補のレート歪み評価値と、差分ベクトル算出部120で算出されたレート歪み評価値とを比較して、前者が後者より小さくなる場合のみ符号化モードとしてマージモードが利用されることになる。
符号化モードとしてマージモードが選択された場合、それは動き情報の符号化効率と予測誤差のバランスが最適な為であって、予測誤差は最適とはならない。一方、符号化モードとして非マージモードが選択された場合には、動き情報の符号化効率は最適とはならない。
ここで、実施の形態1によって生成された双結合動き情報候補は、図46(b)で示される組合せとなる。図46(a)の単結合動き情報候補リストの中で有効な結合動き情報候補はL0方向、L1方向ともに3つ存在するが、L1方向では結合動き情報候補AとCとが同一の動き情報である。従って、図46(b)で示されるように、L0方向で3つ、L1方向で2つの結合動き情報候補が選出されて、図46(a)の単結合動き情報候補リストから新たに生成される双結合動き情報候補の組合せは、計6つとなる。ここで、動き情報の組合せの中で、(0,0)、(1,1)及び(2,0)は単結合動き情報候補のA、B及びCと同じであるので使用せず、残りの(0,1)、(1,0)及び(2,1)の3つを双結合動き情報候補とする。この時、双結合動き情報候補の(0,1)の組合せは処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことが分かる。つまり、双結合動き情報候補の(0,1)の組合せを選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することが出来る。
(単方向予測の双結合動き情報の効果例)
また、実施の形態1による単方向予測の効果について図47(a)、(b)を用いて説明する。処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が単方向(UNI)で、mvL0Z=(0,8)、refIdxL0Z=2であるとする。
単結合動き情報候補のB、C、COLが無効(×)であるとし、有効な単結合動き情報候補のA、Eは図47(a)の単結合動き情報候補リストで示される動き情報を持つこととする。この場合も単結合動き情報候補の中には、処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は存在しない。
ここでも、実施の形態1によって生成された双方向結合動き情報候補は、図47(b)で示される組合せとなる。図47(a)の単方向結合動き情報候補リストから新たに生成される双結合動き情報候補の組合せは、単結合動き情報候補リストの中で有効な結合動き情報候補はL0方向では2つ、L1方向では実際は1つであるが2つとする。すなわち、EはL0方向の動き情報のみでL1方向の動き情報を持たないが、動き情報が存在しないことも1つの動き情報として捉え、EのL1方向にも動き情報があることとする。従って、L1方向でも2つの結合動き情報候補が選出されて、図47(a)の単結合動き情報候補リストから新たに生成される双結合動き情報候補の組合せは、計4つとなる。
ここで、動き情報の組合せの中で、(0,0)及び(1,1)は単結合動き情報候補のA及びEと同じであるので使用せず、残りの(0,1)及び(1,0)の2つを双結合動き情報候補とする。この時、双結合動き情報候補の(0,1)の組合せは、処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことがわかる。つまり、双結合動き情報候補の(0,1)の組合せを選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することが出来る。
(単方向予測の組み合わせによる双結合動き情報の効果例)
また、実施の形態1による予測方向が単方向の動き情報の組み合わせによる効果について図48(a)、(b)を用いて説明する。処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は、予測方向が単方向(BI)で、mvL0Z=(2,2)、refIdxL0Z=0、mvL1Z=(―2,2)、refIdxL1Z=0であるとする。
単結合動き情報候補のA、COL、Cが無効(×)であるとし、有効な単結合動き情報候補のB、Eは図47(a)の単結合動き情報候補リストで示される動き情報を持つこととする。この場合も単結合動き情報候補の中には処理対象ブロック(Z)にとって予測誤差が最小となる動き情報は存在しない。
ここでも、実施の形態1によって生成された双結合動き情報候補は、図48(b)で示される組合せとなる。図48(a)の単結合動き情報候補リストの中で有効な結合動き情報候補は、一方の予測方向の動き情報が存在しない場合も有効として、L0方向で2つ、L1方向で2つの結合動き情報候補を選出する。従って、図48(a)の単結合動き情報候補リストから新たに生成される双結合動き情報候補の組合せは、計4つとなる。
ここで、動き情報の組合せの中で、(0,0)及び(1,1)は単結合動き情報候補のA及びEと同じであるので使用しない。また、(1,0)はL0方向、L1方向ともに動き情報が存在しない場合であるので、これも使用しない。残りの(0,1)の1つを双結合動き情報候補とする。この時、双結合動き情報候補の(0,1)の組合せは処理対象ブロック(Z)にとって予測誤差が最小となる動き情報と同じ動き情報を持つことが分かる。つまり、双結合動き情報候補の(0,1)の組合せを選択することで、予測誤差を最小化し、動き情報の符号化効率を最適化することが出来る。
(双結合動き情報)
以上のように、単結合動き情報候補のL0方向とL1方向の動き情報を利用して、新たな組合せの双結合動き情報候補を生成することで、処理対象ブロックの動きが、符号化済みの別の画像の同一位置ブロックや当該処理対象ブロックの隣接ブロックの動きとずれがある場合でも、動き情報を符号化することなくインデックスのみで符号化することが出来る。従って、符号化効率と予測効率を最適化出来る動画像符号化装置及び動画像復号装置を実現出来る。
(単結合動き情報)
また、単結合動き情報候補のL0方向とL1方向の動き情報を利用して新たな単方向の結合動き情報候補を生成する場合についても、単結合動き情報候補のL0方向とL1方向の動き情報を利用して双結合動き情報候補を生成する場合と、同様の効果を奏する。
(同一方向の利用による双結合動き情報)
また、単結合動き情報候補の同一の予測方向の動き情報を利用して双結合動き情報候補を生成する場合についても、単結合動き情報候補のL0方向とL1方向の動き情報を利用して双結合動き情報候補を生成する場合と、同様の効果を奏する。
(動画像復号処理の簡易化)
以上のように、単結合動き情報候補の各方向の動き情報を利用して双結合動き情報候補を生成することで、処理対象ブロックの動きが、符号化済みの別の画像の同一位置ブロックや当該処理対象ブロックの隣接ブロックの動きとずれがある場合でも、予測方向、参照インデックス及び差分ベクトルの復号、予測ベクトルと差分ベクトルとの加算処理などが不要となり、動画像復号装置の処理を削減することが出来る。
(選択率順のマージ候補番号割り当て)
以上のように、選択率が相対的に高い結合動き情報候補ほど小さいマージ候補番号を割り当てておくことで、各方向においてより確からしい動き情報の選択率を高め、各方向において精度の高い動き情報を利用して高精度な双結合動き情報候補を生成することが出来る。また、検索の処理を単純化することが出来、候補数を制限して処理数を削減しても符号化効率の低下を抑制出来る。
(メモリリードタイム)
以上のように、単結合動き情報候補の各方向の動き情報を利用して、新たな組合せの双結合動き情報候補を生成することで、単結合動き情報候補の数を増加させることなく結合動き情報候補の数を増加させることが出来る。従って、単結合動き情報候補数の増加によってメモリリード時間が長くなるような一般的なLSIを使用している動画像符号化装置及び動画像復号装置において、単結合動き情報候補数の増加によるメモリリード時間の増大を抑制出来る。
[実施の形態2]
(シンタックス)
本発明の実施の形態2における符号化及び復号で定義される予測ブロックのシンタックスの一例について図49を用いて説明する。予測ブロックがイントラであるかインターであるかは上位の符号化ブロックによって指定されており、図49は予測ブロックがインターの場合のシンタックスを示す。実施の形態1との違いは、merge_flagの機能が異なる。実施の形態1のmerge_typeは単マージか双マージかを指定するフラグとして符号化され、ビットストリームに記録される。一方、実施の形態2のmerge_typeは関数MergeType()の返り値が代入される変数に過ぎず、ビットストリームに記録されない。実施の形態2のmerge_typeに返り値を渡す関数MergeType()が“1”の場合は実施の形態1のmerge_typeが“1”と等価であり、単マージを適用する。関数MergeType()が“0”の場合は実施の形態1のmerge_typeが“0”と等価であり、双マージを適用する。関数MergeType()以外は実施の形態1と同様であるので、ここでは関数MergeType()についてのみ説明する。
(動画像符号化装置100の構成)
実施の形態2の動画像符号化装置の構成は、当該動画像符号化装置の動き情報生成部109の機能を除いて実施の形態1の動画像符号化装置100の構成と同一である。以下、実施の形態2における動画像符号化装置の動き情報生成部109の機能について実施の形態1との相違を説明する。
図50は、実施の形態2における情報候補生成部140の構成を示す。図16の実施の形態1における情報候補生成部140の構成に、新たに結合タイプ判定部155が追加された構成である。結合タイプ判定部155はシンタックスで定義される関数MergeType()の機能を果たしており、図51のフローチャートを用いて説明する。
結合タイプ判定部155には、単結合動き情報候補リスト削減部151にて重複する動き情報を備える結合動き情報候補が削除された総数sとともに、更新された単結合動き情報候補リストが供給され、取得される(S400)。
結合タイプ判定部155は、sと閾値THとの比較を実施する(S401)。sがTH未満の場合(S401のY)、双結合動き情報候補リスト生成部152から双結合動き情報候補組合せリスト生成部154までの双結合動き情報候補の組合せ選出を実施し、双結合動き情報候補の組合せリストとともに単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストを端子18に供給する(S402)。sがTH以上の場合(S401のN)は、双結合動き情報候補の組合せ選出を実施せず、単結合動き情報候補リスト削減部151より供給される単結合動き情報候補リストのみを端子18に供給する(S403)。
ここで、閾値THの設定範囲は1以上で、且つ単結合動き情報候補リスト削減部151にて重複する動き情報を備える結合動き情報候補を削除する前の単結合動き情報候補リストの候補数から1を引いた値とする。単結合動き情報候補リストの候補が全て同一の動き情報を備える場合でも、単結合動き情報候補リストの候補は1つ残ることから、ここでは1以上4(=5−1)の範囲で設定される。sが閾値TH以上となるのは、単結合動き情報候補リスト削減部151にて削除された結合動き情報候補が多い場合である。
この場合、処理対象ブロックに隣接する複数の参照候補ブロックの動き情報の多くが類似していることになるので、それらを組み合わせて新たな双結合動き情報候補を生成しても、単結合動き情報候補と同一或いは類似する候補の発生頻度が高くなり、適切な参照候補が得られない可能性が高くなる。一方、sがTH以上の場合は、処理対象ブロックに隣接する複数の参照候補ブロックの動き情報の中で異なるものが多くなるため、それらから得られる新たな双結合動き情報候補の組合せは、単結合動き情報候補と異なる可能性が高くなる。従って、特性の異なる動き情報から適切な参照候補を選択出来る確率が高くなり、マージによる動き情報の符号量削減の効果が期待出来る。尚、閾値THの設定範囲は上述の範囲に限るものではなく、設計者による実験やシミュレーションを通じて得られた知見にもとづき調整されてもよい。
以上のようにして、双結合動き情報候補の組合せ選出を実施するか否かを判定することで、双結合動き情報候補による組合せがマージモードの場合の参照候補として有効であるか否かを双結合動き情報候補の生成を実施する前に判定出来る。従って、双結合動き情報候補リスト生成部152から双結合動き情報候補組合せリスト生成部154までの処理を適宜省略でき、処理負荷を低減することが可能となる。更に、単マージ或いは双マージかを指定するフラグmerge_typeを符号化する必要がなくなるので、符号化効率を向上させることが出来る。
実施の形態2の動画像復号装置の構成は、動き情報再生部204の機能を除いて実施の形態1の動画像復号装置200の構成と同一である。以下、実施の形態2における動画像復号装置の動き情報再生部204の機能について実施の形態1との相違を説明する。
実施の形態2における結合動き情報候補生成部230の構成が、実施の形態1と異なり、新たに結合タイプ判定部155が設置される。結合タイプ判定部155は、復号時に演算される関数MergeType()の機能を果たしており、実施の形態2における動画像符号化装置の結合動き情報候補生成部140の中の構成と同等の機能を有している。符号列解析部201により復号されたマージフラグが“1”の場合に、復号時に演算される関数MergeType()の返り値によって、単マージ或いは双マージかを選択し、更に符号列解析部201により復号されたマージインデックスにて参照する隣接ブロックの候補の動き情報を選出する。
(実施の形態2の変形例)
尚、実施の形態2は以下のように変形できる。
(変形例1)
上述の実施の形態2では、双マージを実施するか否かを判定する関数MergeType()を実行するか否かを、単結合動き情報候補リストに登録された候補数に基づいて判定するようにした。本変形例では、処理対象ブロックを含む画像と、処理対象ブロックの参照候補となる隣接ブロックが参照する画像との画像間距離が最も小さい参照画像を、当該隣接ブロックがL0方向、L1方向ともに参照しているか否かに基いて判定する。本発明の実施の形態では、動き補償予測の精度向上の為に、動き補償予測において複数の参照画像の中から最適な参照画像を選択する。複数の参照画像の中から選択される参照画像を識別する為に、参照画像に対して参照画像インデックスを割り当てて管理する。参照画像はL0方向、L1方向それぞれにあるので、参照画像インデックスも両方向それぞれに設定される。参照画像インデックスは0以上の整数値であり、動き補償予測で利用した参照画像を復号時に指定出来るように、動きベクトルとともに符号化ストリーム中に符号化される。通常、処理対象ブロックを含む画像と複数の参照画像との相関性は、処理対象ブロックを含む画像と画像間距離が小さい参照画像程高いので、動き補償予測においても画像間距離の小さい参照画像を選択する確率が相対的に高くなる。その為、処理対象ブロックを含む画像と画像間距離が小さい参照画像に対して、小さい値の参照画像インデックスを割り当てるようにする。こうすることで、参照画像インデックスの符号量を抑えることが出来、符号化効率が向上することになる。本変形例では、以上の点を鑑みて、処理対象ブロックを含む画像と処理対象ブロックの参照候補となる隣接ブロックが参照する画像との画像間距離が最も小さい参照画像として、L0方向及びL1方向の参照画像インデックスが“0”となっている参照画像とし、隣接ブロックの中で、L0方向及びL1方向の参照画像インデックスがともに“0”となっている隣接ブロックが存在するか否かに基いて判定することとする。
図52で示される一例を用いて説明する。図52中のCurPicが処理対象ブロックを含む画像を示し、図下部の数字はCurPicが参照する画像の参照リストL0及びL1の参照画像インデックスを示している。CurPicの中心にある黒斜線で示される領域を処理対象ブロックとし、処理対象ブロックの参照候補となる隣接ブロックをBL0及びBL1で表す。
ブロックBL0の動き情報は、予測方向が双方向モードであり、参照リストL0の参照インデックス2で示される画像RefL0Pic(BL0)と参照リストL1の参照インデックス0で示される画像RefL1Pic(BL0)を参照画像とし、L0方向の動きベクトルはmvL0(BL0)、L1方向の動きベクトルはmvL1(BL0)で表される。
同様に、ブロックBL1の動き情報は、予測方向が双方向モードであり、参照リストL0の参照インデックス0で示される画像RefL0Pic(BL1)と参照リストL1の参照インデックス1で示される画像RefL1Pic(BL1)を参照画像とし、L0方向の動きベクトルはmvL0(BL1)、L1方向の動きベクトルはmvL1(BL1)で表される。
処理対象ブロックが参照する単結合動き情報候補はブロックBL0とBL1と、ブロックBL0とBL1の動き情報の組合せで生成される双結合動き情報候補であり、双結合動き情報候補の組合せを(L0,L1)で表すと、(BL0,BL1)及び(BL1,BL0)の2つが生成される。単結合動き情報候補のBL0及びBL1には、L0方向、L1方向ともに参照画像インデックスが“0”となる動き情報はないが、双結合動き情報候補の組合せの(BL1,BL0)はL0方向、L1方向ともに参照画像インデックスが“0”となる動き情報を備えている。
処理対象ブロックを含む画像からの画像間距離が小さい参照画像ほど、処理対象のブロックを含む画像との時間的な相関性が高いので、画像間距離が小さい参照画像を参照して検出される動きベクトルの精度が高くなり、残差信号を小さくすることが出来、符号化効率が向上することが出来る。このことから(BL1,BL0)は、単結合動き情報候補以上に有用な動き情報の候補となり得る。
単結合動き情報候補の動き情報にL0方向及びL1方向の参照画像インデックスがともに“0”となっている隣接ブロックが存在しない場合、双マージを適用し、L0方向及びL1方向の参照画像インデックスが“0”となる新たな組合せの双結合動き情報候補を生成することで、より高い符号化効率の改善が期待出来る。
一方、単結合動き情報候補の動き情報にL0方向及びL1方向の参照画像インデックスがともに“0”となっている隣接ブロックが存在する場合、双マージを適用し、新たな組合せの双結合動き情報候補を生成しても、符号化効率の改善は殆ど期待出来ない。従って、単結合動き情報候補の動き情報の少なくとも1つに、L0方向及びL1方向の参照画像インデックスがともに“0”となっている候補が存在する場合、結合タイプ判定部155は、双結合動き情報候補生成処理を実行しないと判定する。
尚、単結合動き情報候補の動き情報の所定数(例えば、2つ)に、L0方向及びL1方向の参照画像インデックスがともに“0”となっている候補が存在する場合、双結合動き情報候補生成処理を実行しないと判定し、単結合動き情報候補の動き情報の所定数に、L0方向及びL1方向の参照画像インデックスがともに“0”となっている候補が存在しない場合、双結合動き情報候補生成処理を実行すると判定してもよい。
更に、この判定処理の際、単結合動き情報候補から時間ブロック候補の動き情報を外してもよい。時間ブロックの動き情報候補を外すか否かは、時間ブロック候補の参照画像の決定方法に依存する。
尚、本変形例では、参照画像インデックスに基づいて判定を行ったが、処理対象ブロックを含む画像と、処理対象ブロックの参照候補となる隣接ブロックが参照する画像との画像間距離に基づいて判定可能であれば、これに限定されない。例えば、上述で説明したMPEG−4AVCで定義された画像の表示順序を示すカウンタであるPOC(Picture Order Count)を用いて、画像間距離を算出するようにしてもよい。画像の表示順序が1増加するとPOCも1増加するので、画像間のPOC差から画像間距離を取得可能である。
(変形例2)
上述の実施の形態2では、実施の形態1と同様に、L0方向の双結合動き情報とL1方向の双結合動き情報にそれぞれマージインデックスを割り当てるシンタックスを前提に説明した。実施の形態2に係る双結合タイプの動き情報候補生成処理を実行するか否かを判定する処理は、L0方向及びL1方向の双結合動き情報の組み合わせに1つのマージインデックスを割り当てるシンタックスにも適用可能である。
(実施の形態2の効果)
実施の形態2では、双結合動き情報候補の組合せ選出を実施するか否かを判定することで、双結合動き情報候補による組合せがマージモードの場合の参照候補として有効であるか否かを双結合動き情報候補の生成を実施する前に判定出来る。従って、双結合動き情報候補リスト生成部152から双結合動き情報候補組合せリスト生成部154までの処理を適宜省略でき、処理負荷を低減することが可能となる。更に、単マージ或いは双マージかを指定するフラグmerge_typeを符号化する必要がなくなるので、符号化効率を向上させる効果がある。
以上述べた実施の形態1、2の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態1、2で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有している。当該動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
具体的には、双結合動き情報候補を示すマージインデックスや、候補番号管理テーブルを符号化ストリーム中に符号化している。また、双結合動き情報候補を示すマージインデックスのみを符号化ストリーム中に符号化し、候補番号管理テーブルを動画像符号装置と動画像復号装置で共有することで候補番号管理テーブルを符号化ストリーム中に符号化しなくてもよい。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(Read Only Memory)やフラッシュメモリなどに記憶されているファームウェアや、コンピュータなどのソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータなどで読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
100 動画像符号化装置、 101 予測ブロック画像取得部、 102 減算部、 103 予測誤差符号化部、 104 符号列生成部、 105 予測誤差復号部、 106 動き補償部、 107 加算部、 108 動きベクトル検出部、 109 動き情報生成部、 110 フレームメモリ、 111 動き情報メモリ、 120 差分ベクトル算出部、 121 結合動き情報決定部、 122 予測符号化モード決定部、 130 予測ベクトル候補リスト生成部、 131 予測ベクトル決定部、 132 減算部、 140 結合動き情報候補生成部、 141 結合動き情報選択部、 150 単結合動き情報候補リスト生成部、 151 単結合動き情報候補リスト削減部、 152 双結合動き情報候補リスト生成部、 153 双結合動き情報候補リスト削減部、 154 双結合動き情報候補組合せリスト生成部、 155 結合タイプ判定部、 160 L0,L1方向動き情報組合せ部、 161 双結合動き情報候補決定部、 200 動画像復号装置、 201 符号列解析部、 202 予測誤差復号部、 203 加算部、 204 動き情報再生部、 205 動き補償部、 206 フレームメモリ、 207 動き情報メモリ、 210 符号化モード判定部、 211 動きベクトル再生部、 212 結合動き情報再生部、 220 予測ベクトル候補リスト生成部、 221 予測ベクトル決定部、 222 加算部。

Claims (7)

  1. 動き補償予測を行う画像復号装置であって、
    1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定する判定部を備え、
    前記第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードであり、
    前記第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである、
    ことを特徴とする画像復号装置。
  2. 前記復号対象ブロックに隣接する複数の復号済みのブロックから、動き情報を持つ複数のブロックを選択して候補リストを生成する候補リスト生成部と、
    前記候補リストに、重複する動き情報を持つブロックが複数存在する場合、1つを残し、残りを削除する削除部と、をさらに備え、
    前記判定部は、前記削除部により削除されたブロックの数が、設定数以上の場合、前記第2の画像間予測モードを使用しないと判定する、
    ことを特徴とする請求項1に記載の画像復号装置。
  3. 前記復号対象ブロックに隣接する複数の復号済みのブロックから、動き情報を持つ複数のブロックを選択して候補リストを生成する候補リスト生成部と、
    前記判定部は、前記候補リストに、双方向の動きベクトルを持ち、双方向の動きベクトルの2つの参照画像が対象画像の時間的に直前の画像及び直後の画像であるブロックが、設定数以上含まれている場合、前記第2の画像間予測モードを使用しないと判定する、
    ことを特徴とする請求項1に記載の画像復号装置。
  4. 前記復号対象ブロックに隣接する複数の復号済みのブロックから2つのブロックを選択し、その2つのブロックの動き情報から、前記複数の復号済みのブロックが単体で持つ動き情報と異なる、別の双方向の動きベクトルを含む動き情報を新たな選択候補として生成する選択候補生成部と、
    符号化側において選択された候補を、前記選択候補生成部により生成された新たな選択候補を含む複数の選択候補の中から特定するための識別情報を復号する符号列解析部と、
    復号された識別情報を用いて、前記複数の選択候補の中から1つの候補を選択する選択部と、をさらに備え、
    前記選択候補生成部により生成された新たな選択候補の識別情報は、当該選択候補を組成する第1の予測方向の動き情報候補の識別情報と第2の予測方向の動き情報候補の識別情報の組み合わせにより規定される、
    ことを特徴とする請求項1から3のいずれかに記載の画像復号装置。
  5. 前記第1の予測方向の動き情報候補及び前記第2の予測方向の動き情報候補のうち、基準方向の動き情報候補のそれぞれに識別情報が割り当てられ、基準方向の動き情報候補ごとに組み合わせ対象となる非基準方向の動き情報候補の数がカウントされ、それぞれのカウント値に基づいて、非基準方向の動き情報候補のそれぞれに識別情報が割り当てられる、
    ことを特徴とする請求項4に記載の画像復号装置。
  6. 動き補償予測を行う画像復号方法であって、
    1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定するステップを備え、
    前記第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードであり、
    前記第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである、
    ことを特徴とする画像復号方法。
  7. 動き補償予測を行う画像復号プログラムであって、
    1つの参照ブロック候補が持つ動き情報を使用する第1の画像間予測モードを使用するか、2つの参照ブロック候補が持つ動き情報を使用する第2の画像間予測モードを使用するかを判定する処理をコンピュータに実行させ、
    前記第1の画像間予測モードは、1つの参照ブロック候補の動き情報に含まれる単方向または双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードであり、
    前記第2の画像間予測モードは、2つの参照ブロック候補の動き情報から取得可能な2つの動きベクトルを組み合わせて、新たな双方向の動きベクトルの組み合わせを生成し、当該新たな双方向の動きベクトルを用いて復号対象ブロックの動き補償を行うモードである、
    ことを特徴とする画像復号プログラム。
JP2011155098A 2011-07-13 2011-07-13 画像復号装置、画像復号方法及び画像復号プログラム Withdrawn JP2013021613A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011155098A JP2013021613A (ja) 2011-07-13 2011-07-13 画像復号装置、画像復号方法及び画像復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011155098A JP2013021613A (ja) 2011-07-13 2011-07-13 画像復号装置、画像復号方法及び画像復号プログラム

Publications (1)

Publication Number Publication Date
JP2013021613A true JP2013021613A (ja) 2013-01-31

Family

ID=47692580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011155098A Withdrawn JP2013021613A (ja) 2011-07-13 2011-07-13 画像復号装置、画像復号方法及び画像復号プログラム

Country Status (1)

Country Link
JP (1) JP2013021613A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195608A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 動画像復号装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195608A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 動画像復号装置

Similar Documents

Publication Publication Date Title
US9686564B2 (en) Picture encoding device, picture encoding method, picture encoding program, picture decoding device, picture decoding method, and picture decoding program
WO2013001803A1 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム
JP6079860B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP6135750B2 (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JP5720751B2 (ja) 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
WO2012120870A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP5682582B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法及び受信プログラム
JP2013021613A (ja) 画像復号装置、画像復号方法及び画像復号プログラム
JP2013021612A (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP2013021573A (ja) 画像復号装置、画像復号方法および画像復号プログラム
JP2013021572A (ja) 画像符号化装置、画像符号化方法および画像符号化プログラム
JP2013021505A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013021504A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007