(57)【要約】  複数のブロックに分割された画像の符号化データを復号する動画像復号方法であって、記憶部に記憶される、復号済みブロックの動きベクトル及び動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、予測ベクトルを用いる動きベクトルの復号処理を制御し、制御された復号処理で復号対象ブロックの動きベクトルを復号する。
2012124121.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックに分割された画像の符号化データを復号する動画像復号方法であって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を制御し、
制御された復号処理で前記復号対象ブロックの動きベクトルを復号する動画像復号方法。
【請求項２】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが、ともに視点間の参照画像を示すか否かにより、前記復号処理を変更する請求項１記載の動画像復号方法。
【請求項３】
前記動きベクトルの復号処理を制御する場合、
前記復号処理がコンテキスト適応型２値算術符号化方式に対応する復号方式である場合、前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが視点間の参照画像を示すとき、コンテキストを変更する請求項１又は２記載の動画像復号方法。
【請求項４】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの垂直成分を０にする請求項１又は２記載の動画像復号方法。
【請求項５】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの水平成分を所定値にする請求項１又は２記載の動画像復号方法。
【請求項６】
前記所定値は、前記参照先情報が視点間の参照画像を示す復号済みブロックの動きベクトルにおける水平成分の平均値とする請求項５記載の動画像復号方法。
【請求項７】
前記動きベクトルの復号処理を制御する場合、
前記動きベクトルと前記予測ベクトルの差分を表す差分ベクトルの復号処理を変更し、
前記動きベクトルの復号処理は、前記差分ベクトルを復号し、前記差分ベクトルと前記予測ベクトルとを加算して動きベクトルを生成する請求項１乃至６いずれか一項に記載の動画像復号方法。
【請求項８】
前記動きベクトルの復号処理が、可変長復号された前記予測ベクトルの識別子から予測ベクトルを特定して動きベクトルを復号する場合、各予測ベクトルの候補の参照先情報及び各予測ベクトルの成分によって各予測ベクトルの識別子を並べ替える請求項１記載の動画像復号方法。
【請求項９】
複数のブロックに分割された画像を符号化する動画像符号化方法であって、
記憶部に記憶される、符号化済みブロックの動きベクトル及び動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、符号化対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記符号化対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの符号化処理を制御し、
制御された符号化処理で前記符号化対象ブロックの動きベクトルを符号化する動画像符号化方法。
【請求項１０】
複数のブロックに分割された画像の符号化データを復号する動画像復号装置であって、
復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を記憶する記憶部と、
前記記憶部に記憶された動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定する決定部と、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を制御する制御部と、
制御された復号処理で前記復号対象ブロックの動きベクトルを復号する復号部と、
を備える動画像復号装置。
【請求項１１】
複数のブロックに分割された画像の符号化データを復号する動画像復号プログラムであって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を決定し、
決定された復号処理で前記復号対象ブロックの動きベクトルを復号する、
処理をコンピュータに実行させるための画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多視点映像を処理する動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラムに関する。
【背景技術】
【０００２】
動画像符号化方式において、動き予測を用いて差分情報をより少なくし、かつその差分情報に周波数変換を施し、低周波のより少ない有効係数に減らすことで、高圧縮を実現している。【０００３】
動画像符号化は、ISO/IEC(International Standardization Organization/International Electrotechnical Commission)で策定されたMPEG-2(Moving Picture Experts Group)、MPEG-4、あるいはH.264/AVC(H.264/ MPEG-4 Advanced Video Coding)が広く利用されている。【０００４】
H.264は、通信向けの国際標準規格を定めるITU-T(International Telecommunication Union Telecommunication Standardization Sector)側で策定された名称である。【０００５】
また、次世代符号化として、HEVC(High Efficiency Video Coding)の符号化も推進されている。【０００６】
動画像符号化方式において、周波数変換された差分情報は可変長符号化が施される。一方で、動きベクトルに関しても、動きベクトルの成分そのものを符号化するのではなく、周辺ブロックの動きベクトルとの差分ベクトルを符号化することにより、動きベクトルの符号量削減を実現している。【０００７】
例えば、H.264の符号化では、動きベクトルと差分を算出する予測ベクトルを次のようにして求める。図１は、符号化対象の現在のブロックと周辺ブロックとの例を示す図である。符号化対象の現在のブロックを現ブロックbCurrともいう。図１に示す例では、周辺ブロックは、ブロックbA(左ブロック)、ブロックbB(上ブロック)、ブロックbC(右上ブロック)である。ブロックは、例えばマクロブロックとする。【０００８】
この周辺ブロックのベクトルの中から、現ブロックの動きベクトルとの差分ベクトルを計算するための予測ベクトル（PMV:Predicted Motion Vector）が求められる。予測ベクトルは、具体的には、水平・垂直の成分毎に周辺ベクトルの中間値となる。【０００９】
ここで、ブロックbAの動きベクトルをVbA=(VbAx，VbAy)、ブロックbBの動きベクトルをVbB＝(VbBx，VbBy)、ブロックbCの動きベクトルをVbC＝(VbCx，VbCy)とする。このとき、予測ベクトルは次の式により算出される。
PMVx＝median (VbAx，VbBx，VbCx)  ・・・式（１）
PMVy＝median (VbAy，VbBy，VbCy)  ・・・式（２）
PMV＝（PMVｘ，PMVｙ）：予測ベクトル
median()：要素中の中間値の選択
ブロックbAが分割されている場合は、分割サブブロックの内の一番上のサブブロックのベクトルがVbAとして用いられる。ブロックbBが分割されている場合は、分割サブブロックの内の一番左のサブブロックのベクトルがVbBとして用いられる。【００１０】
また、H.264には、以下の通り、例外処理がいくつかある。
（１）ブロックbA、bB、bCが画面外もしくはスライス外で参照出来ない場合は、そのブロックは無効となる。ただし、画面右端でposCのブロックが画面外になる場合は、ブロックbD(左上ブロック)が参照される。
（２）動きベクトルVbA、VbB、VbCのうち、現ピクチャの現ブロックbCurrの動きベクトルVbCurrと参照ピクチャが同一のものが一つしかない場合には、PMVはVbXとなる。Xは、参照ピクチャが同一のブロックが入る。現ブロックを含むピクチャを現ピクチャともいう。
（３）現ブロックbCurrが垂直分割されている場合には、左側VbCurrのPMVはVbA、右側VbCurrのPMVはVbCとする。また、現ブロックbCurrが水平分割されている場合には、上側VbCurrのPMVはVbB、下側VbCurrのPMVはVbCとする。【００１１】
また、HEVCにおいては、周辺ベクトルの選択方法がよりフレキシブルになるCompetition-based scheme for motion vector selection and coding（以下、MV Competitionともいう）と呼ばれる動きベクトルの符号化方法が提案されている。【００１２】
MV Competitionでは、予測ベクトルに使用可能なブロック等の情報について、復号対象ブロックの位置とともに明示的に通知可能な仕組みが取り込まれている。【００１３】
図２は、HEVCにおける周辺ブロックの定義を説明するための図である。図２に示す例では、予測ベクトルは、現ブロックbCurrが存在する現ピクチャの周辺ブロックbA、bB、bCの動きベクトルのみでなく、既に処理済の別ピクチャcolPicのブロックcolMB、c0〜c7の動きベクトルを用いることも可能である。ブロックcolMBは、ピクチャcolPicのうち、現ブロックbCurrの位置と同位置にあるブロックである。【００１４】
H.264より新しい符号化方式では、各参照方向に対し、複数の参照も可能なためにピクチャ単位にrefPicListを設定する。このrefPicListは、参照に用いるピクチャのListにインデックス番号を付けて、ピクチャ単位に設定されている。【００１５】
予測ベクトルは、指標pmvIdx（予測ベクトルの識別子）により、明示的に送信される。具体的な例を以下に挙げる。図２に示す例では、現ピクチャCurrPicの周辺ブロックのうち、左、上、右上、左上に隣接するブロックbA、bB、bC、bDは、H.264同様に周辺ブロックである。【００１６】
各参照ブロックbA、bB、bC、bDの動きベクトルを、それぞれ、VbA、VbB、VbC、VbDで表す。【００１７】
さらに、直前の非参照処理ピクチャであるcolPicにおいて、現ブロックbCurrと同一位置にあるブロックcolMB及びその周囲の各ブロックc0〜c7を、周辺ブロックとすることができる。【００１８】
ブロックcolMB及びその全周囲周辺ブロックであるci(i=0,1,...,7)の動きベクトルを、それぞれ、Vcol及びVciで表す。【００１９】
全ての参照ブロックが参照可能である場合、指標pmvIdxは、例えば、４ビットで表される値「０」〜「９」で表すことが可能である。指標pmvIdxの値に応じて、予測ベクトルPMVは、以下のように定義される。【００２０】
pmvIdx=0：PMV=median(VbA，VbB，VbC)
pmvIdx=1：PMV=VbA
pmvIdx=2：PMV=VbB
pmvIdx=3：PMV=VbC
pmvIdx=4：PMV=VbD
pmvIdx=5：PMV=VspaEXT
pmvIdx=6：PMV=Vcol
pmvIdx=7：PMV=med(Vcol，Vc0，Vc1，Vc2，Vc3)
pmvIdx=8：PMV=med(Vcol，Vc0，Vc1，Vc2，Vc3，Vc4，Vc5，Vc6，Vc7)
pmvIdx=9：PMV=med(Vcol，Vcol，VbA，VbB，VbC)
関数median（Vj）（Vj∈｛VbA，VbB，VbC，Vcol，Vci｝）は、その関数の引数である動きベクトルVjの水平方向成分の中央値及び垂直方向成分の中央値をそれぞれ独立して出力する関数である。【００２１】
また、関数median（Vj）の引数の何れかが未定義である場合、関数median（Vj）の出力値は定義されない。【００２２】
また、VspaEXTの定義は以下の通りである。
VspaEXT = med(VbA，VbB，VbC)：全ブロックが有効である場合
= VbA：bAが有効で、bBまたはbCが有効でない場合
= VbB：bBが有効で、bAが有効でない
= VbC：上記以外
参照ブロックの有効は、参照ブロックが参照可能であり、かつ、refPicList内に存在し、動きベクトルを用いたインター符号化されているかで判断する。【００２３】
また、ある指標のPMVが有効でない場合の定義は以下の通りである。
有効でない参照ブロックがbA：VbA = (0，0)
有効でない参照ブロックがbB：VbB = VbA
有効でない参照ブロックがbC：VbC = VbA
有効でない参照ブロックがbD：VbD = VbA
有効でない参照ブロックがcolMB：Vcolは未定義
有効でない参照ブロックがci(i=0,1,...,7)：Vci = Vcol
未定義である動きベクトルに対応する指標pmvIdxの値も未定義となる。さらに、予測ベクトルが同一となる複数の指標pmvIdxの値が存在する場合、そのうちの最小値以外は取り除くことが可能である。この場合、指標pmvIdxの値は再割り当てされてもよい。【００２４】
参照ブロックの増加による処理量、帯域幅の増加を避けるために、次のように指標を制限して実装する事も可能である。
pmvIdx=0：PMV= median(VbA，VbB，VbC)
pmvIdx=1：PMV=VbA
pmvIdx=2：PMV=VbB
pmvIdx=3：PMV=VbC
pmvIdx=4：PMV=Vcol
なお、pmvIdxの指標は、数字が小さい方が可変長符号でより短い符号が割り当てられる。【００２５】
また、HEVCで現ブロックが６４×６４サイズなどの大きいブロックの場合で、周辺ブロックが複数になるときは、左隣接ブロックの中で一番上のブロックをbAとし、上隣接ブロックの中で一番左のブロックをbBとして、予測ベクトルが生成される。【００２６】
また、近年、MVC（Multi-view Video Coding）などの複数視点の映像の符号化が実用化されている。MVCでは、他視点の情報を用いずに符号化／復号化処理を行うBase-Viewと、他視点の情報も予測に活用可能なnon-Base-Viewが存在し、従来の符号化と同様の時間方向の動き予測を行う視点内予測と、同一時刻の他視点の映像から動き予測を行う視点間予測が存在する。inter-view予測は、同一時刻の視点間予測を行うものである。ピクチャの識別情報はPOC（Picture Order Count）で表されるため、同一時刻のピクチャは、同一のPOCを有する。【００２７】
例えば、多視点映像を符号化する技術として、高レベル構文を使用して、ブロックの視点間予測を行う技術がある。
【先行技術文献】
【特許文献】
【００２８】
【特許文献１】特表２００９−５２２９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２９】
ここで、視点間予測について考えると、多視点映像は、一般に映像が飛び出す表現をする為に、人間の左右の目の方向のずれと、同じ水平方向に左右の映像をそれぞれずらす。水平にずらした映像が左右それぞれの視点に映される。よって、左右のずれの観点から考えると、視点間予測の動きベクトルは、殆どの場合が、水平方向を指す動きベクトルとなる。【００３０】
ある画像において視点間予測を許容した場合、この画像の各ブロックでは、視点内予測と視点間予測とが混在することになる。図３は、各ブロックの動きベクトルの例を示す図である。【００３１】
図３に示すブロック１１は、視点間予測、ブロック１２は、視点内予測のブロックであるとする。また、動きベクトル１３は、視点間の動きベクトルを表し、動きベクトル１４は、視点内の動きベクトルを表す。動きベクトル１４は、前方向又は後方向のブロックを参照する。【００３２】
この場合、動きベクトルには、次のような傾向が存在すると言える。
視点内予測：動きベクトル１４は動画の動きに応じた方向を指す
視点間予測：動きベクトル１３は水平方向の小さな動き（多視点映像の視差）を指す
動きベクトルの符号化を行う際、例えば、周辺ブロックの代表である予測ベクトルとの差分ベクトルを符号化する。しかし、視点間予測を許容する多視点映像の符号化の場合、図３に示すように、視点内のブロックを参照する動きベクトル１４と視点間のブロックを参照する動きベクトル１３とが存在する。【００３３】
ここで、垂直方向のベクトル成分に注目する。現ブロックの動きベクトルの参照先と予測ベクトルの参照先とが、視点内と視点間とで異なる場合、視点間予測の動きベクトルの垂直成分はほぼ０であるのに対して、視点内予測の動きベクトルの垂直成分は画面の動きにより垂直方向に非０の成分が発生する。【００３４】
この場合、垂直成分の差分ベクトルが大きな値となりやすい。結果的に、垂直成分の動きベクトルの符号量が大きくなってしまう。よって、従来の多視点映像の符号化方式では、動きベクトルの符号化／復号を効率良く行うことができなかった。【００３５】
そこで、開示の技術は、多視点映像に対して、動きベクトルの符号化処理／復号処理を効率良く行うことができる動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３６】
開示の一態様の動画像復号方法は、複数のブロックに分割された画像の符号化データを復号する動画像復号方法であって、記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を制御し、制御された復号処理で前記復号対象ブロックの動きベクトルを復号する。【００３７】
また、開示の他の態様の動画像符号化方法は、複数のブロックに分割された画像を符号化する動画像符号化方法であって、記憶部に記憶される、符号化済みブロックの動きベクトル及び動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、符号化対象ブロックの動きベクトルに対する予測ベクトルを決定し、前記符号化対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの符号化処理を制御し、制御された符号化処理で前記符号化対象ブロックの動きベクトルを符号化する。
【発明の効果】
【００３８】
開示の技術によれば、多視点映像に対して、動きベクトルの符号化処理／復号処理を効率良く行うことができる。
【図面の簡単な説明】
【００３９】
【図１】符号化対象の現在のブロックと周辺ブロックとの例を示す図。
【図２】HEVCにおける周辺ブロックの定義を説明するための図。
【図３】各ブロックの動きベクトルの例を示す図。
【図４】実施例１における動画像符号化装置の構成の一例を示すブロック図。
【図５】視点内予測及び視点間予測における動きベクトルの関係を示す図。
【図６】実施例１における動画像符号化処理の一例を示すフローチャート。
【図７】実施例２における動画像復号装置の構成の一例を示すブロック図。
【図８】実施例２における動画像復号処理の一例を示すフローチャート。
【図９】実施例３における動画像符号化装置の構成の一例を示すブロック。
【図１０】H.264におけるCABACのコンテキストモデルの要素表を示す図。
【図１１】実施例３におけるコンテキストモデルの要素表（その１）の例を示す図。
【図１２】実施例３におけるコンテキストモデルの要素表（その２）の例を示す図。
【図１３】実施例３における動画像符号化処理の一例を示すフローチャート。
【図１４】実施例４における動画像復号装置の構成の一例を示すブロック図。
【図１５】実施例４における動画像復号処理の一例を示すフローチャート。
【図１６】実施例５における動画像符号化装置の構成の一例を示すブロック図。
【図１７】実施例５における動画像符号化処理（その１）の一例を示すフローチャート。
【図１８】実施例５における動画像符号化処理（その２）の一例を示すフローチャート。
【図１９】実施例５におけるAの算出処理の一例を示すフローチャート。
【図２０】実施例６における動画像復号装置６００の構成の一例を示すブロック図。
【図２１】実施例６における動画像復号処理の一例を示すフローチャート。
【図２２】HEVCのMV Competitionにおける問題点を説明するための図。
【図２３】各ブロックのブロック名、参照位置、動きベクトルを示す図。
【図２４】実施例７における動画像符号化処理の一例を示すフローチャート。
【図２５】実施例８における動画像復号処理の一例を示すフローチャート。
【図２６】画像処理装置の構成の一例を示すブロック図。
【符号の説明】
【００４０】
１００、３００、５００  動画像符号化装置
１０１  予測誤差生成部
１０２  直交変換・量子化部
１０３、３０２  可変長符号化部
１０４  逆直交変換・逆量子化部
１０５  復号画像生成部
１０６  フレームメモリ
１０７  動きベクトル検出部
１０８  モード判定部
１０９  イントラ予測部
１１０  動き補償部
１１１  動きベクトルメモリ
１１２  予測ベクトル決定部
１１３  差分ベクトル算出部
１１４  動きベクトル処理制御部
２００、４００、６００  動画像復号装置
２０１、４０１  可変長復号部
２０２  逆直交変換・逆量子化部
２０３  予測モード判定部
２０４  イントラ予測部
２０５  差分ベクトル取得部
２０６  予測ベクトル決定部
２０７  動きベクトル処理制御部
２０８  動きベクトル決定部
２０９  動きベクトルメモリ
２１０  動き補償部
２１１  復号画像生成部
２１２  フレームメモリ
３０１  コンテキスト変更部
４０１  コンテキスト変更部
５０１  予測ベクトル補正部
６０１  予測ベクトル補正部
【発明を実施するための形態】
【００４１】
まず、以下に示す実施例は、符号化対象／復号対象ブロック（現ブロックともいう）の動きベクトルの参照先及びその周辺ブロックの動きベクトルの参照先の関係によって、差分ベクトルの符号化処理／復号処理を制御する。これにより、動きベクトルの符号量をより少なくし、動きベクトルの符号化処理／復号処理を効率良くする。以下、図面に基づいて、各実施例について説明する。
【００４２】
［実施例１］
＜構成＞
図４は、実施例１における動画像符号化装置１００の構成の一例を示すブロック図である。図４に示す動画像符号化装置１００は、予測誤差生成部１０１、直交変換・量子化部１０２、可変長符号化部１０３、逆直交変換・逆量子化部１０４、復号画像生成部１０５、フレームメモリ１０６を備える。また、動画像符号化装置１００は、動きベクトル検出部１０７、モード判定部１０８、イントラ予測部１０９、動き補償部１１０、動きベクトルメモリ１１１、予測ベクトル決定部１１２、差分ベクトル算出部１１３、動きベクトル処理制御部１１４を備える。
【００４３】
図４に示す動画像符号化装置１００は、非Base-Viewの動画像を符号化するための構成を示す。前述した各処理部のうち、動きベクトル処理制御部１１４以外の処理部は、Base-Viewの動画像を符号化する場合も設けられるが、各処理部の重複記載を避けるため、ここでは省略することにする。以降で説明する動画像符号化装置においても同様とする。
【００４４】
非Base-View側の動画像を符号化する処理について説明する。予測誤差生成部１０１は、入力された動画像データの符号化対象画像が１６×１６ピクセル（画素）のブロック（MB）に分割されたマクロブロックデータ（以降、MBデータともいう）を取得する。
【００４５】
予測誤差生成部１０１は、そのMBデータと、イントラ予測部１０９又は動き補償部１１０から出力される予測画像のMBデータとの差分をとり、予測誤差データを生成する。予測誤差生成部１０１は、生成された予測誤差データを直交変換・量子化部１０２に出力する。
【００４６】
直交変換・量子化部１０２は、入力された予測誤差データを８×８単位や４×４単位で直交変換処理する。直交変換処理は、DCT（Discrete Cosine Transform）変換やアダマール（Hadamard）変換などがある。直交変換・量子化部１０２は、直交変換処理によって水平及び垂直方向の周波数成分に分離されたデータを取得する。
【００４７】
これは、画像の空間相関性により、周波数成分に変換する事により低周波成分にデータが集まり情報量圧縮を行う事が可能となるからである。
【００４８】
直交変換・量子化部１０２は、直交変換されたデータを量子化することによって、データの符号量を低減し、この量子化された値を可変長符号化部１０３及び逆直交変換・逆量子化部１０４に出力する。
【００４９】
可変長符号化部１０３は、直交変換・量子化部１０２から出力されたデータを可変長符号化して出力する。可変長符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。
【００５０】
可変長符号化部１０３は、例えば、基本的には出現頻度の高い係数の組合せにはより短い符号を、出現頻度の低い係数組合せにはより長い符号を割当てる。これにより、全体的に符号長を短くしようとする。H.264では、CAVLC（Context-Adaptive Variable Length Coding）やCABAC（Context-Adaptive Binary Arithmetic Coding）と呼ばれる方式の可変長符号を選択することができる。
【００５１】
可変長符号化部１０３は、例えば、動きベクトルを符号化する場合、動きベクトル処理制御部１１４により符号化処理を制御される場合もある。
【００５２】
逆直交変換・逆量子化部１０４は、直交変換・量子化部１０２から出力されたデータを逆量子化してから逆直交変換する。逆直交変換・逆量子化部１０４は、逆直交変換を行って、周波数成分から画素成分へ変換し、変換後のデータを復号画像生成部１０５に出力する。この逆直交変換・逆量子化部１０４によって復号化処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。
【００５３】
復号画像生成部１０５は、イントラ予測部１０９から出力されるデータ又は動き補償部１１０で動き補償された画像のMBデータと、逆直交変換・逆量子化部１０４により復号処理された予測誤差データとを加算する。これにより、復号側と同等の処理画像を符号化側でも生成することができる。
【００５４】
符号化側で生成された画像を局所復号画像と呼び、符号化側に復号側と同一の処理画像を生成することにより、次ピクチャ以降の差分符号化を行うことが可能となる。復号画像生成部１０５は、加算して生成した局所復号画像のMBデータを、フレームメモリ１０６に出力する。なお、局所復号画像のMBデータに対し、デブロックフィルタをかけてもよい。局所復号画像は、参照画像となりうる。
【００５５】
フレームメモリ１０６は、入力したMBデータを新たな参照画像のデータとして記憶する。参照画像は、動き補償部１１０、動きベクトル検出部１０７により読み出される。フレームメモリ１０６は、他視点の参照画像を記憶してもよい。
【００５６】
動きベクトル検出部１０７は、符号化対象画像におけるMBデータと、フレームメモリ１０６から取得する符号化済みの参照画像のMBデータとを用いて動き探索を行い、適切な動きベクトルを求める。
【００５７】
動きベクトルとは、ブロック単位で参照画像から符号化対象画像に最も類似している位置を探索するブロックマッチング技術を用いて求められるブロック単位の空間的なずれを示す値である。
【００５８】
動き探索は、例えば、画素の差分絶対値和の大きさのみでなく、動きベクトルの評価値も付加することが一般的である。動きベクトルの符号化は、成分そのものでなく周辺MBの動きベクトルとの差分ベクトルを符号化する。よって、動きベクトル検出部１０７は、差分ベクトルを求め、その成分の大きさにより、動きベクトル符号長相当の評価値を出力する。
【００５９】
動き探索の評価値をcost、差分絶対値をSAD(Sum Absolute Difference)_cost、動きベクトルの符号量相当の評価値をMV(Motion Vector)_costとすると、動きベクトル検出部１０７は、次の式により、costを最小とする動きベクトルの位置を検出する。
cost = SAD_cost + MV_cost
動きベクトル検出部１０７は、検出した動きベクトルをモード判定部１０８に出力する。
【００６０】
なお、動きベクトル検出部１０７は、他視点の参照画像を用いることができるときは、他視点の局所復号画像が記憶されるフレームメモリから取得した参照画像のブロックに対し、ブロックマッチングを行う。
【００６１】
モード判定部１０８は、以下に示す５つの符号化モードのうち、符号化コストが最も低い符号化モードを選択する。符号化モードは、予測モードともいう。モード判定部１０８は、例えば、ダイレクトベクトルを用いた動き予測を行う場合と、通常の動きベクトルの予測を行う場合（前方向、後方向、双方向、イントラ）とで、最適な予測モードを選択する。
【００６２】
具体的には、モード判定部１０８は、予測モード毎に以下のような評価値を計算する。
cost_direct = SAD(*org, *ref);
cost_forward = SAD(*org, *ref) + MV_COST(*mv, *prevmv);
cost_backward = SAD(*org, *ref) + MV_COST(*mv, *prevmv);
cost_bidirection = SAD(*org, *ref) + MV_COST(*mv, *prevmv);
cost_intra = ACT(*org);
ここで、モード判定部１０８は、SAD（）について、MB内の画素差分絶対値和を求め、この場合、原画MB（*org）と参照画MB（*ref）の１６×１６画素の差分絶対値和を次の式により求める。
SAD() = Σ|*org−*ref|
また、ダイレクトモードに関しては、既に符号化済の、colPicの同位置のMBを符号化する際に用いた動きベクトルを基準ベクトルとして動きベクトルメモリ１１１から読み出す。ダイレクトモードは、読み出された基準ベクトルからダイレクトベクトルの計算を行い、動き予測を行うモードである。よって、ダイレクトモードは、動きベクトルの情報を送らなくてよいというモードである。
【００６３】
H.264符号化などでは、MBは、１MB内に複数のサブブロックに分割することが可能である。そこで、MBが、例えば８×８のサブブロックの４つに分かれている場合は、８×８＝６４画素の差分絶対値和の４つの集まりが、SAD評価値となる。なお、サブブロックには、１６×１６、８×８の他にも、８×１６、１６×８、４×８、８×４、４×４と様々な大きさが存在可能である。
【００６４】
IntraMBの場合は、差分画像でなく原画像そのものを符号化するので、アクティビティという別の評価値を用いる。Intra符号化の場合は、原画MBそのものを直交変換する。よって、ACT（）は、MBの各画素のMB平均値(=AveMB)からの隔たり等により次の式により求められる。
ACT() = Σ|*org−AveMB|
MV_COSTは、動きベクトルの符号量に比例した評価値である。動きベクトル（*mv）は、成分そのものではなくて、周辺MBに基づく予測ベクトル（*prevmv）との差分ベクトルを符号化するので、その絶対値の大きさにより評価値が決定される。
【００６５】
重み定数λが使用され、MV_COSTの全体cost評価値に対する影響度を変更することも一般的に行われている。
MV_COST = λ×(Table[*mv−*prevmv])
ここで、Table[]は、差分ベクトルの大きさを符号量相当に変換するテーブルである。
【００６６】
なお、実際に重み付けを行う方法は、様々な方法がある。例えば、以下に２つの例を挙げる。
cost_direct += W (W:重み定数)
上記式により、固定値を付加して評価値を大きくしてもよい。
cost_direct *= α (α:重み係数)
上記式により、評価値を定数倍してもよい。
【００６７】
モード判定部１０８は、例えば、次の式により最小の評価costを求め、その最小の評価costに対応するMB_Typeを、符号化に使用するMB_Typeと決定する。
min_cost = min(cost_direct, cost_forward, cost_backward, cost_bidirection, cost_intra);
モード判定部１０８は、選択した予測モードで用いた動きベクトルを動きベクトルメモリ１１１に書き込み、動きベクトルや選択した符号化モードを動き補償部１１０に通知する。また、モード判定部１０８は、動きベクトルやその動きベクトルの参照先を示す参照先情報を差分ベクトル算出部１１３、動きベクトル処理制御部１１４に出力する。
【００６８】
イントラ予測部１０９は、符号化対象画像のすでに符号化された周辺画素から予測画像を生成する。
【００６９】
動き補償部１１０は、フレームメモリ１０６から取得した参照画像のデータをモード判定部１０８から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像（予測画像）としてのMBデータが生成される。
【００７０】
動きベクトルメモリ１１１は、符号化に用いられた動きベクトルや動きベクトルの参照先を示す参照先情報を記憶する。動きベクトルメモリ１１１は、例えば、記憶部である。動きベクトルメモリ１１１で記憶する動きベクトルは、予測ベクトル決定部１１２により読み出される。
【００７１】
予測ベクトル決定部１１２は、例えば、符号化対象ブロックの周辺ブロックで、符号化済みのブロックの動きベクトルを用いて式（１）と（２）により、予測ベクトルを決定する。予測ベクトル決定部１１２は、決定した予測ベクトルを差分ベクトル算出部１１３出力し、決定した予測ベクトル及び参照先情報を動きベクトル処理制御部１１４に出力する。
【００７２】
差分ベクトル算出部１１３は、符号化対象ブロックの動きベクトルと、予測ベクトルとの差分をとって差分ベクトルを生成する。差分ベクトル算出部１１３は、生成した差分ベクトルを可変長符号化部１０３に出力する。
【００７３】
動きベクトル処理制御部１１４は、符号化対象ブロックの動きベクトルの参照先情報及び／又は予測ベクトルの参照先情報に基づいて、動きベクトルの符号化処理を変更するよう制御する。
【００７４】
図５は、視点内予測及び視点間予測における動きベクトルの関係を示す図である。図５に示すように、復号対象ブロックの動きベクトルが視点間予測、予測ベクトルが視点間予測である場合、双方の動きベクトルの相関は極大となる。これは、双方の動きベクトルが同じ視差ベクトルを有する可能性が高いからである。
【００７５】
また、復号対象ブロックの動きベクトルが視点内予測、予測ベクトルが視点内予測の場合も、双方の動きベクトルの相関は高い。これは、復号対象ブロックの周辺ブロックも、復号対象ブロックと同様の動きをしている可能性があるからである。
【００７６】
また、復号対象ブロックの動きベクトルと予測ベクトルとの予測が視点間予測、視点内予測で異なる場合、双方の動きベクトルの相関は低い。前述したように、視点間予測の動きベクトル（視差ベクトル）と、視点内予測の動きベクトルとは基本的に異なるからである。
【００７７】
よって、動きベクトル処理制御部１１４は、図５に示すように、動きベクトルの相関がある場合に、その相関に適した動きベクトルの符号化処理が行われるように、可変長符号化部１０３又は差分ベクトル算出部１１３などを制御する。
【００７８】
例えば、動きベクトル処理制御部１１４は、双方の参照先情報が同じ視点間参照の場合と、その他の場合とで異なる符号化処理になるよう制御する。視点間参照とは、動きベクトルの参照先が他視点のブロックを指す場合をいう。視点内参照とは、動きベクトルの参照先が同視点のブロックを指す場合をいう。
【００７９】
＜動作＞
次に、実施例１における動画像符号化装置１００の動作について説明する。図６は、実施例１における動画像符号化処理の一例を示すフローチャートである。
【００８０】
図６に示すステップＳ１０１で、モード判定部１０８は、符号化対象ブロックの予測モードを判定する。例えば、符号化コストが最小となる予測モードが選択される。
【００８１】
ステップＳ１０２で、差分ベクトル算出部１１３は、モード判定部１０８から符号化対象ブロックの動きベクトルVbCurrを、予測ベクトル決定部１１２により決定された予測ベクトルPMVを取得する。
【００８２】
ステップＳ１０３で、差分ベクトル算出部１１３は、動きベクトルVbCurrと予測ベクトルPMVとの差分をとり、差分ベクトルを算出する。
【００８３】
ステップＳ１０４で、動きベクトル処理制御部１１４は、符号化対象ブロックは、MVC符号化されているか否かを判定する。MVC符号化されていれば（ステップＳ１０４−ＹＥＳ）ステップＳ１０５に進み、MVC符号化されていなければ（ステップＳ１０４−ＮＯ）ステップＳ１０８に進む。
【００８４】
ステップＳ１０５で、動きベクトル処理制御部１１４は、動きベクトルVbCurrが視点間予測を示すか否かを判定する。視点間予測を示す否かは、VbCurrの参照先情報が視点内のピクチャを指すか視点間のピクチャを指すかにより判断できる。
【００８５】
動きベクトルVbCurrが視点間予測を示せば（ステップＳ１０５−ＹＥＳ）ステップＳ１０６に進み、動きベクトルVbCurrが視点間予測を示さなければ（ステップＳ１０５−ＮＯ）ステップＳ１０８に進む。
【００８６】
ステップＳ１０６で、動きベクトル処理制御部１１４は、予測ベクトルPMVが視点間予測を示すか否かを判定する。予測ベクトルPMVが視点間予測を示せば（ステップＳ１０６−ＹＥＳ）ステップＳ１０７に進み、予測ベクトルPMVが視点間予測を示さなければ（ステップＳ１０６−ＮＯ）ステップＳ１０８に進む。
【００８７】
ステップＳ１０７で、動きベクトル処理制御部１１４は、動きベクトルの符号化処理を制御する。
【００８８】
ステップＳ１０８で、可変長符号化部１０３は、MBの量子化値を可変長符号化する。可変長符号化部１０３は、差分ベクトルに対し、動きベクトル処理制御部１１４により制御された場合は、その符号化処理で符号化を行う。
【００８９】
ステップＳ１０９で、動画像符号化装置１００は、全てのMBに対して符号化処理を行ったかを判定する。全てのMBの処理が終了していれば（ステップＳ１０９−ＹＥＳ）符号化処理を終了し、全てのMBの処理が終了していなければ（ステップＳ１０９−ＮＯ）ステップＳ１０１に戻る。
【００９０】
以上、実施例１によれば、動きベクトルの符号化処理において、符号化対象ブロックの動きベクトル及び／又は予測ベクトルの参照先情報に基づいて動きベクトルの符号化処理を制御することで、動きベクトルの符号量を削減することができる。
【００９１】
［実施例２］
次に、実施例２における動画像復号装置２００について説明する。実施例２では、実施例１における動画像符号化装置１００で符号化されたデータを復号する。
【００９２】
＜構成＞
図７は、実施例２における動画像復号装置２００の構成の一例を示すブロック図である。図７に示す動画像復号装置２００は、可変長復号部２０１、逆直交変換・逆量子化部２０２、予測モード判定部２０３、イントラ予測部２０４、差分ベクトル取得部２０５を備える。また、動画像復号装置２００は、予測ベクトル決定部２０６、動きベクトル処理制御部２０７、動きベクトル決定部２０８、動きベクトルメモリ２０９、動き補償部２１０、復号画像生成部２１１、フレームメモリ２１２を備える。
【００９３】
図７に示す動画像復号装置２００は、非Base-Viewの入力ビットストリームを復号するための構成を示す。前述した各処理部のうち、動きベクトル処理制御部２０７以外の処理部は、Base-Viewの動画像を復号する場合も設けられるが、各処理部の重複記載を避けるため、ここでは省略することにする。以降で説明する動画像復号装置においても同様とする。
【００９４】
非Base-View側の動画像の復号処理について説明する。可変長復号部２０１は、非Base-View側のビットストリームが入力されると、動画像符号化装置１００の可変長符号化に対応する可変長復号を行う。可変長復号部２０１により復号された予測誤差信号などは逆直行変換・逆量子化部２０２に出力される。復号されるデータは、SPS(Sequence Parameter Set：シーケンスヘッダ)やPPS(Picture Parameter Set：ピクチャヘッダ)等の各種ヘッダー情報と、ピクチャ内のMB毎の、予測モードや動きベクトル、差分係数情報のデータ等である。
【００９５】
逆直交変換・逆量子化部２０２は、可変長復号部２０１からの出力信号に対して逆量子化処理を行う。逆直交変換・逆量子化部２０２は、逆量子化された出力信号に対して逆直交変換処理を行い、残差信号を生成する。残差信号は復号画像生成部２１１に出力される。
【００９６】
予測モード判定部２０３は、MB毎に、フレーム内符号化、前方向予測符号化、後方向予測符号化、双方向予測符号化、ダイレクトモードの何れの予測モードが使われているかを復号されたデータから読込み、判定する。実際には、ブロック分割サイズ等も、この予測モードの中に含まれている。
【００９７】
MBの予測モードが決まると、予測モードに応じた復号処理が行われる。フレーム内符号化の場合、イントラ予測部２０４は、イントラ予測のモードを読込み、イントラ予測を行う。
【００９８】
イントラ予測部２０４は、イントラ予測の方向などを復号し、周辺画素計算を行い、イントラ予測を行ってブロック画像を復号する。復号した画像は、被参照ピクチャ内のブロックであれば、フレームメモリ２１２の復号対象ブロックの位置に記録され、次に復号するブロックで参照されることも可能となる。
【００９９】
インター予測であった場合、差分ベクトル取得部２０５は、復号対象ブロックの差分ベクトルを取得する。
【０１００】
予測ベクトル決定部２０６は、ダイレクトモードの場合、復号済のcolPic（co-located Picture）の復号処理で蓄積された動きベクトルメモリ２０９の中から、動きベクトルmvCol（motion vector of the co-located macroblock）を読み出す。予測ベクトル決定部２０６は、mvColに対してスケーリングを行ってダイレクトベクトルを計算する。
【０１０１】
予測ベクトル決定部２０６は、既に復号済みの周辺ブロックの動きベクトルを動きベクトルメモリ２０９から読み出し、予測ベクトルを決定する。
【０１０２】
動きベクトル処理制御部２０７は、取得した差分ベクトルの参照先情報及び／又は予測ベクトルの参照先情報に基づいて、動きベクトルの復号処理を制御する。
【０１０３】
動きベクトル決定部２０８は、差分ベクトルと予測ベクトルとを加算することで、動きベクトルを決定する。決定された動きベクトルは、動きベクトルメモリ２０９に書き込まれたり、動き補償部２１０に通知されたりする。
【０１０４】
動きベクトルメモリ２０９は、復号済みブロックの動きベクトルや動きベクトルの参照先を示す参照先情報を記憶する。動きベクトルメモリ２０９は、例えば記憶部である。
【０１０５】
動き補償部２１０は、計算されたダイレクトベクトル、又は決定された動きベクトルと、フレームメモリ２１２から取得した参照画像とに基づいて動き補償を行う。
【０１０６】
復号画像生成部２１１は、イントラ予測部２０４又は動き補償部２１０から出力される予測画像と、逆直交変換・逆量子化部２０２から出力される残差信号とを加算し、復号画像を生成する。生成された復号画像は表示部に表示されたり、フレームメモリ２１２に出力されたりする。
【０１０７】
フレームメモリ２１２は、ローカルデコードが画像を記憶する。また、フレームメモリ２１２は、他視点の参照画像を記憶してもよい。
【０１０８】
＜動作＞
次に、実施例２における動画像復号装置２００の動作について説明する。図８は、実施例２における動画像復号処理の一例を示すフローチャートである。
【０１０９】
図８に示すステップＳ２０１で、可変長復号部２０１は、入力ストリームに対して、可変長復号を行う。
【０１１０】
ステップＳ２０２で、予測モード判定部２０３は、復号したデータの中から復号対象ブロックの予測モードを読み出し、判定する。
【０１１１】
ステップＳ２０３で、差分ベクトル取得部２０５は、復号対象ブロックの差分ベクトルを予測モード判定部２０３から取得する。
【０１１２】
ステップＳ２０４で、動きベクトル処理制御部２０７は、復号対象ブロックに対し、MVC復号をするか否かを判定する。MVC復号をすれば（ステップＳ２０４−ＹＥＳ）ステップＳ２０５に進み、MVC復号をしなければ（ステップＳ２０４−ＮＯ）ステップＳ２０８に進む。
【０１１３】
ステップＳ２０５で、動きベクトル処理制御部２０７は、復号対象ブロックの動きベクトルが視点間予測を示す否かを判定する。視点間予測を示す否かは、復号対象ブロックの参照先情報が視点内のピクチャを指すか視点間のピクチャを指すかにより判断できる。
【０１１４】
動きベクトルが視点間予測を示せば（ステップＳ２０５−ＹＥＳ）ステップＳ２０６に進み、動きベクトルが視点間予測を示さなければ（ステップＳ２０５−ＮＯ）ステップＳ２０８に進む。
【０１１５】
ステップＳ２０６で、動きベクトル処理制御部２０７は、予測ベクトル決定部２０６により決定された予測ベクトルPMVが視点間予測を示す否かを判定する。予測ベクトルPMVが視点間予測を示せば（ステップＳ２０６−ＹＥＳ）ステップＳ２０７に進み、予測ベクトルPMVが視点間予測を示さなければ（ステップＳ２０６−ＮＯ）ステップＳ２０８に進む。
【０１１６】
ステップＳ２０７で、動きベクトル処理制御部２０７は、動きベクトルの復号処理を制御する。
【０１１７】
ステップＳ２０８で、イントラ予測部２０４、動き補償部２１０、復号画像生成部２１１などは、MBデータを復号する。
【０１１８】
ステップＳ２０９で、動画像復号装置２００は、全てのMBに対して復号処理を行ったかを判定する。全てのMBの処理が終了していれば（ステップＳ２０９−ＹＥＳ）復号処理を終了し、全てのMBの処理が終了していなければ（ステップＳ２０９−ＮＯ）ステップＳ２０１に戻る。
【０１１９】
以上、実施例２によれば、動きベクトルの復号処理において、実施例１における符号化処理の逆の順序で復号することで、動きベクトルの符号量を削減した符号化データを適切に復号することができる。
【０１２０】
［実施例３］
次に、実施例３における動画像符号化装置について説明する。実施例３では、符号化対象ブロックbCurrの動きベクトルの参照先（ref_idx_Curr）と予測ベクトルの参照先（ref_idx_X）との関係によって、CABACのコンテキストを変更する。
【０１２１】
＜構成＞
図９は、実施例３における動画像符号化装置３００の構成の一例を示すブロック図である。図９に示す構成で、図４に示す構成と同様のものは同じ符号を付し、その説明を省略する。よって、以下では、コンテキスト変更部３０１、可変長符号化部３０２を主に説明する。
【０１２２】
コンテキスト変更部３０１は、動きベクトルの可変長符号化を、符号化対象ブロックbCurrの動きベクトルの参照先（ref_idx_Curr）と予測ベクトルの参照先（ref_idx_X）との値の関係によって、コンテキストを変更する。なお、参照先ref_idx_XのXは、周辺ブロックのbA、bB、bCなどのいずれかである。
【０１２３】
一般に、視点間参照か視点内参照かの参照先の違いによる動きベクトルの傾向は、図５に示したような相関関係になる。よって、コンテキスト変更部３０１は、動きべクトルの可変長符号化に対し、動きベクトルの相関が高い場合は、０ベクトルに短い符号を割り当てる符号化処理に変更する。
【０１２４】
例えば、H.264以降の符号化においては、コンテキスト適応型２値算術符号化（CABAC）という算術符号により、ヘッダー情報以外のMBレイヤの符号化が行われている。
【０１２５】
CABACに関しては、H.264の規格書の9.3章CABAC parsing process for slice dataに記載されている。詳しくは、Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard , IEEE TRANSACTION ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, Vol13, No.7, JULY 2003を参照されたい。
【０１２６】
CABACは、簡単に説明すると、以下の処理により符号化される。
（１）バイナリ化（０と１での表現化）
（２）コンテキストモデリング
（３）バイナリ算術符号
コンテキスト変更部３０１は、（２）の処理を制御する。（２）の処理のコンテキストモデリングは、シンボルの頻度分布表であって、各要素のバイナリ化の傾向的特徴を判断することで異なる頻度分布表を用いる。かつ、この頻度分布表は、コンテキストモデル毎に処理結果に応じて適応的に変化していく。
【０１２７】
例えば、図５に示したように、動きベクトルの相関に偏りがある場合には、その偏りがある要因毎に、コンテキストモデルを作成すれば、より効率的なCABAC符号化が可能となる。
【０１２８】
図１０は、H.264におけるCABACのコンテキストモデルの要素表を示す図である。図１０に示すように、Slice_type（I-Slice、P-Slice、B-Slice）毎に、MBタイプ（mb_type）や動きベクトル成分（mvd）、参照ピクチャ番号(ref_idx)や量子化コード(mb_qp_delta)、イントラ予測モード(intra_pred_mode)、ブロックの有効無効(codec_block_pattern)、直交変換係数(significant_coeff_flag)のなどのシンタックスエレメント毎に、コンテキストモデルが定められている。
【０１２９】
これらに、例えば、ref_idx_Currとref_idx_Xとが同じ参照先を示すか否かなどの判断を加え、その相関の特徴を加える事により、コンテキストモデルを変更する事が可能となる。
【０１３０】
例えば、図１０に示すコンテキストモデルの要素（ctxIdx）を増やす。動きベクトルのコンテキストに関しては、図１０に示す水平成分の差分ベクトルには４０−４６番、垂直成分の差分ベクトルには４７−５３番のコンテキスト番号（ctxIdx）が、H.264においては振られている。 
動きベクトルに関するコンテキスト記載方法に関しては、H.264の規格書の9.3.3.1.1.7に記載されている。本実施例でも、規格書に沿うものとする。H.264では、４０−４６もしくは４７−５３の各７種類のctxIdxが振られていたが、図５の判断により、更に２条件で分割（ref_idx_Curr：視点間、ref_idx_X：視点間であるか、それ以外）、もしくは３条件で分割（ref_idx_Curr：視点間、ref_idx_X：視点間であるか、ref_idx_Curr：視点内、ref_idx_X：視点内であるか、それ以外）して、コンテキストモデルを分けることが考えられる。
【０１３１】
例えば、垂直ベクトルの偏りだけに注目する。この場合、４７−５３番のctxIdxである現状のコンテキストモデルを、符号化対象ブロックbCurrの動きベクトルの参照先（ref_idx_Curr）と予測ベクトルの参照先（ref_idx_X：Xは周辺ブロックのA、B、Cなどのいずれか）の値の関係によって、更に増やすことが考えられる。
【０１３２】
ref_idx_Currとref_idx_Xとが共に視点間参照である場合のみを別管理としてコンテキストモデルを倍に増やす場合は、垂直成分の差分ベクトルに対し、例えば、２倍のctxIdxが与えられる。
【０１３３】
図１１は、実施例３におけるコンテキストモデルの要素表（その１）の例を示す図である。図１１に示すように、垂直成分の差分ベクトルには、４７−５３番、２７７−２８３番のコンテキストモデルが割り当てられる。これにより、２倍のコンテキストモデルを用いることができる。
【０１３４】
さらに、ref_idx_Currとref_idx_Xとが共に視点内参照である場合も別途分けて３倍に増やす場合には、垂直成分の差分ベクトルに対し、３倍のctxIdxが与えられる。
【０１３５】
図１２は、実施例３におけるコンテキストモデルの要素表（その２）の例を示す図である。図１２に示すように、垂直成分の細分ベクトルに対し、４７−５３番、２７７−２９０番のコンテキストモデルが割り当てられる。これにより、３倍のコンテキストモデルを用いることができる。
【０１３６】
上記のように、従来のctxIdxの最大番号以降にインデックスを追加してもよいし、例えば４７−５３を４７−６０の様に、mvd（vertical）のctxIdxを連番にし、mvd（horizontal）のctxIdxの番号を６１番以降に振りなおして要素表を変更してもよい。水平ベクトルのctxIdxを増やす場合も同様である。
【０１３７】
コンテキストモデルは、ctxIdx毎に初期化に必要な変数mとnを持つ。このm，nの値については、例えばH.264の規格書9.3.1.1の初期化の章に詳細は記載されているが、バイナリ化した信号の、０と１の値の偏り具合の初期値を示す変数である。
【０１３８】
変数m，nに関しては、mvdのctdIdxを増加した場合も、例えば元のctxIdxの４７−５３にそれぞれ用いられていたm、nの値を、２７７−２８３や２８４−２９０のそれぞれに用いてもよい。コンテキストモデルの頻度分布は、各ctxIdxのバイナリ変数の発生確率により適応的に変化して行くので、次の条件により区別する。
（１）ref_idx_Curr：視点間参照 かつ ref_idx_X：視点間参照
（２）ref_idx_Curr：視点内参照 かつ ref_idx_X：視点内参照
（３）ref_idx_Curr：視点内参照、ref_idx_X：視点間参照 もしくは、
ref_idx_Curr：視点間参照、ref_idx_X：視点内参照
上記の条件によって、差分ベクトルの偏りが異なってくるので、各々頻度分布が変更していき、各条件に適したCABAC符号化を行うことが可能となる。
【０１３９】
特に、（１）の条件の視点間参照ベクトルである場合は、垂直方向の動きベクトルは殆ど０ベクトルとなり、差分ベクトルもほぼ０ベクトルとなる。よって、視点間参照ベクトルか否かによりベクトルの傾向は大きく異なると考えられるので、このコンテキストの変更（ctxIdxの追加）は、効果がある。
【０１４０】
＜動作＞
次に、実施例３における動画像符号化装置３００の動作について説明する。図１３は、実施例３における動画像符号化処理の一例を示すフローチャートである。図１３に示すステップＳ３０１〜Ｓ３０６、Ｓ３０９の処理は、図６に示すステップＳ１０１〜Ｓ１０６、Ｓ１０９の処理とそれぞれ同様であるため、その説明を省略する。
【０１４１】
ステップＳ３０７で、コンテキスト変更部３０１は、符号化対象ブロックと周辺ブロックのそれぞれの参照先の関係によって、垂直ベクトルのコンテキストを変更する。コンテキスト変更部３０１は、例えば、図５に示すような関係で場合分けを行って、コンテキストを変更する。これにより、それぞれの関係に適した頻度分布が生成されて符号化効率を上げることができる。
【０１４２】
ステップＳ３０８で、可変長符号化部３０２は、MBの量子化値を可変長符号化する。可変長符号化部３０２は、差分ベクトルに対し、コンテキスト変更部３０１により変更されたコンテキストに対応するコンテキストモデルを用いてCABAC符号化を行う。
【０１４３】
以上、実施例３によれば、符号化対象ブロック（bCurr）及び周辺ブロック（bX）それぞれの参照先（ref_idx_bCurr，ref_idx_bX）の関係によって、差分ベクトルの符号化の可変長符号化傾向を変更する。この概念は、例えば、CABACのコンテキストを変更するという概念である。従来では、差分ベクトルの符号化の可変長符号化傾向に応じて、CABACのコンテキストを変更するという概念が存在しなかったので、効率の良い動きベクトルの符号化を実現することができていなかった。
【０１４４】
しかし、実施例３で説明したように、符号化対象ブロック（bCurr）及び周辺ブロック（bX）それぞれの参照先（ref_idx_bCurr，ref_idx_bX）の関係によって、コンテキストモデルを変更し、それぞれの関係に適した頻度分布を用いて符号化効率を上げることができる。
【０１４５】
［実施例４］
次に、実施例４における動画像復号装置について説明する。実施例４では、実施例３の動画像符号化装置３００で符号化されたデータを復号する。
【０１４６】
＜構成＞
図１４は、実施例４における動画像復号装置４００の構成の一例を示すブロック図である。図１４に示す構成で、図７に示す構成と同様のものは同じ符号を付し、その説明を省略する。よって、以下では、可変長復号部４０１、コンテキスト変更部４０２を主に説明する。
【０１４７】
可変長復号部４０１は、入力されたストリームに対し、可変長復号処理を行い、予測誤差信号などを取得する。復号されるデータは、SPS(シーケンスヘッダ)やPPS(ピクチャヘッダ)等の各種ヘッダー情報と、ピクチャ内のMB毎の、予測モードや動きベクトル、差分係数情報のデータ等である。
【０１４８】
例えば、可変長復号部４０１は、CABACに対応する復号処理を行い、コンテキスト変更部４０２によりコンテキストモデルの頻度分布が更新される。
【０１４９】
コンテキスト変更部４０２は、実施例３で説明したコンテキスト変更部３０１と同様の処理を行い、CABACのコンテキストモデルを制御する。コンテキスト変更部４０２は、差分ベクトル取得部２０５から取得した動きベクトルの参照先と予測ベクトル決定部２０６から取得した予測ベクトルの参照先の結果を可変長復号部４０１にフィードバックする。これにより、可変長復号部４０１のコンテキストモデルの頻度分布を適切に更新することができる。
【０１５０】
＜動作＞
次に、実施例４における動画像復号装置４００の動作について説明する。図１５は、実施例４における動画像復号処理の一例を示すフローチャートである。図１５に示すステップＳ４０２〜Ｓ４０６、Ｓ４０８〜Ｓ４０９の処理は、図８に示すステップＳ２０２〜Ｓ２０６、Ｓ２０８〜Ｓ２０９の処理とそれぞれ同様であるため、その説明を省略する。
【０１５１】
ステップＳ４０１で、可変長復号部４０１は、例えば、CABAC符号化に対応する復号方式で、入力されたストリームを復号する。CABACのコンテキストモデルの頻度分布は、コンテキスト変更部４０２により更新される。
【０１５２】
ステップＳ４０７で、コンテキスト変更部４０２は、復号対象ブロックの動きベクトルと予測ベクトルとの参照先に応じて、例えば、垂直ベクトルのコンテキストのコンテキストモデルを更新するよう制御する。
【０１５３】
以上、実施例４によれば、動きベクトルの復号処理において、実施例３における符号化処理の逆の順序で復号することで、動きベクトルの符号量を削減した符号化データを適切に復号することができる。
【０１５４】
［実施例５］
次に、実施例５における動画像符号化装置について説明する。実施例５では、予測ベクトルそのものを変更する実施例である。
【０１５５】
＜構成＞
図１６は、実施例５における動画像符号化装置５００の構成の一例を示すブロック図である。図１６に示す構成で、図４に示す構成と同様のものは同じ符号を付し、その説明を省略する。よって、以下では、予測ベクトル補正部５０１を主に説明する。
【０１５６】
予測ベクトル補正部５０１は、符号化対象ブロック（bCurr）及び／又は周辺ブロック（bX）それぞれの参照先（ref_idx_bCurr，ref_idx_bX）に基づいて、予測ベクトルそのものを補正する。以下、予測ベクトルの補正の例について説明する。
【０１５７】
（補正例１）
予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルVbCurr＝（VbCurrx，VbCurry）や、予測ベクトルPMV＝（PMVx，PMVy）などの条件により、予測ベクトルの補正を判定する。例えば、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先ref_idx_Currが、視点間参照であるか否かによって以下の制御を行う。
・ref_idx_Currが視点間参照の場合
予測ベクトル補正部５０１は、PMVy＝０と補正する。
・ref_idx_Currが視点間参照でない場合
予測ベクトル補正部５０１は、PMVyの補正をしない。
【０１５８】
これにより、簡単な処理で、動きベクトルの差分をより小さくすることが可能である。なお、この補正例１は、実施例３のコンテキストモデルの変更と組み合わせても、動きベクトルの差分をより小さくする効果を奏することができる。
【０１５９】
（補正例２）
符号化対象ブロックの動きベクトルが視点間参照である場合には、動きベクトルの垂直成分がほぼ０になるだけでなく、水平成分にも一定の傾向が存在する場合がある。
【０１６０】
例えば、視点間参照の動きベクトルの水平成分は、ある固定値Aに近いものになるという傾向がある。立体映像に関しては、左右の映像を飛び出させる為に、左右の画像に水平方向の隔たりを持たせる。この隔たりは視差と呼ばれる。補正例２では、この視差が一つの符号化画像内では大きく変動しないという傾向を用いる。
【０１６１】
予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルVbCurr＝（VbCurrx，VbCurry）や、PMV＝（PMVx，PMVy）などの条件により、予測ベクトルの補正を判定する。例えば、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先ref_idx_Currが、視点間参照であるか否かによって以下の制御を行う。
・ref_idx_Currが視点間参照の場合
予測ベクトル補正部５０１は、PMVx＝Aと補正する。
・ref_idx_Currが視点間参照でない場合
予測ベクトル補正部５０１は、PMVxの補正をしない。
【０１６２】
これにより、動きベクトルの差分をより小さくする効果を奏することができる。予測ベクトル補正部５０１は、このAについて、既に復号済のピクチャのうち視点間参照であったブロックの動きベクトルを用いて、以下の式（３）により求めることができる。
【０１６３】
【数１】
2012124121.tif 000003
num_interView：視点間参照のブロックの数
予測ベクトル補正部５０１は、例えば、現ピクチャの内、これまで処理した視点間参照の動きベクトルの平均をAとする事も可能である。また、予測ベクトル補正部５０１は、使用する視点間参照のブロック数を、参照可能なもの全てとするのではなく、ある一定の範囲内のものと制限することも可能である。
【０１６４】
また、予測ベクトル補正部５０１は、１ピクチャ内を所定領域に分割し、所定領域毎にAを算出するようにしてもよい。また、予測ベクトル補正部５０１は、Aを平均値とするのではなく、視点間参照の動きベクトルの代表値としてもよい。このように、Aの求め方のバリエーションは様々考えられる。また、この補正例２は、実施例３や補正例１との組合せも可能である。
【０１６５】
＜動作＞
次に、実施例５における動画像符号化装置５００の動作について説明する。まず、補正例１による予測ベクトルの補正を行う場合の動画像符号化処理について説明する。
【０１６６】
（補正例１）
図１７は、実施例５における動画像符号化処理（その１）の一例を示すフローチャートである。図１７に示すステップＳ５０１〜Ｓ５０６、Ｓ５０８〜Ｓ５０９の処理は、図６に示すステップＳ１０１〜Ｓ１０６、Ｓ１０８〜Ｓ１０９の処理とそれぞれ同様であるため、その説明を省略する。なお、ステップＳ５０６の判定は行われなくてもよい。
【０１６７】
ステップＳ５０７で、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先ref_idx_Currが、視点間予測を示す場合、予測ベクトルPMVの垂直ベクトル成分を０に補正する。これにより、符号化対象ブロックの動きベクトルと補正された予測ベクトルとで差分ベクトルが生成される。
【０１６８】
（補正例２）
図１８は、実施例５における動画像符号化処理（その２）の一例を示すフローチャートである。図１８に示すステップＳ６０１〜Ｓ６０６、Ｓ６０８〜Ｓ６０９の処理は、図６に示すステップＳ１０１〜Ｓ１０６、ＳＳ１０８〜１０９の処理とそれぞれ同様であるため、その説明を省略する。なお、ステップＳ６０６の判定は行われなくてもよい。
【０１６９】
ステップＳ６０７で、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先ref_idx_Currが、視点間予測を示す場合、予測ベクトルPMVの水平ベクトル成分をAに補正する。Aの算出処理は、図１９を用いて後述する。これにより、符号化対象ブロックの動きベクトルと補正された予測ベクトルとで差分ベクトルが生成される。
【０１７０】
（Aの算出処理）
図１９は、実施例５におけるAの算出処理の一例を示すフローチャートである。ステップＳ７０１で、予測ベクトル補正部５０１は、次のパラメータの初期化を行う。
num_interView＝０
ave_interView＝０
ここで、ave_interViewは、視点間予測を行う動きベクトルの成分毎の累積値である。
【０１７１】
ステップＳ７０２で、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルVbCurrを取得する。
【０１７２】
ステップＳ７０３で、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先ref_idx_Currが、視点間予測を示すか否かを判定する。視点間予測であれば（ステップＳ７０３−ＹＥＳ）ステップＳ７０５に進み、視点間予測でなければ（ステップＳ７０３−ＮＯ）ステップＳ７０５に進む。
【０１７３】
ステップＳ７０４で、予測ベクトル補正部５０１は、各パラメータを更新する。
num_interView＋＋
ave_interView＋＝VbCurr
ステップＳ７０５で、予測ベクトル補正部５０１は、１ピクチャの処理が終了したかを判定する。１ピクチャの処理が終了していれば（ステップＳ７０５−ＹＥＳ）ステップＳ７０６に進み、１ピクチャの処理が終了していなければ（ステップＳ７０５−ＮＯ）ステップＳ７０２に戻る。
【０１７４】
ステップＳ７０６で、予測ベクトル補正部５０１は、次の式（４）によりAを算出する。
A＝ave_interView／num_interView  ・・・式（４）
なお、ステップＳ７０６は、ステップＳ７０５の前に行われてもよい。
【０１７５】
以上、実施例５によれば、符号化対象ブロックの動きベクトルの参照先が、視点間予測であるか否かに基づいて予測ベクトルを補正することで、動きベクトルの符号量を削減することができる。
【０１７６】
［実施例６］
次に、実施例６における動画像復号装置について説明する。実施例６では、予測ベクトルそのものを変更して復号処理を行う実施例である。
【０１７７】
＜構成＞
図２０は、実施例６における動画像復号装置６００の構成の一例を示すブロック図である。図２０に示す構成で、図７に示す構成と同様のものは同じ符号を付し、その説明を省略する。よって、以下では、予測ベクトル補正部６０１を主に説明する。
【０１７８】
予測ベクトル補正部６０１は、動画像符号化装置５００の予測ベクトル補正部５０１の補正処理と同様の処理を行う。例えば、予測ベクトル補正部６０１は、復号対象ブロックの動きベクトルの参照先が視点間参照か否かで、予測ベクトルの成分を補正する。
【０１７９】
＜動作＞
次に、実施例６における動画像復号装置６００の動作について説明する。図２１は、実施例６における動画像復号処理の一例を示すフローチャートである。図２１に示すステップＳ８０１〜Ｓ８０６、Ｓ８０８〜Ｓ８０９の処理は、図８に示すステップＳ２０１〜Ｓ２０６、Ｓ２０８〜Ｓ２０９の処理とそれぞれ同様であるため、その説明を省略する。なお、ステップＳ８０６の判定は行われなくてもよい。
【０１８０】
ステップＳ８０７で、予測ベクトル補正部６０１は、復号対象ブロックの動きベクトルの参照先に応じて、予測ベクトルの成分を補正する。この補正処理は、動画像符号化装置５００と同様の補正処理を行う。
【０１８１】
以上、実施例６によれば、動きベクトルの復号処理において、実施例５における符号化処理の逆の順序で復号することで、動きベクトルの符号量を削減した符号化データを適切に復号することができる。
【０１８２】
［実施例７］
次に、実施例７における動画像符号化装置について説明する。実施例７では、HEVCにおける符号化の実施例を示す。HEVCに関しては、従来技術で説明したように、指標pmvIdxにより、予測ベクトル候補は明示的に送信される。指標pmvIdxは、予測ベクトルの識別子である。
【０１８３】
＜構成＞
実施例７における動画像符号化装置の構成は、実施例５における動画像符号化装置の構成と同様であるため、動画像符号化装置５００を用いて説明する。実施例７では、予測ベクトル決定部１１２は、時間的及び空間的に隣接する周辺ブロックの動きベクトルから予測ベクトルの候補を決定する。予測ベクトル補正部５０１は、決定された予測ベクトル候補の指標pmIdxを小さい番号が選択されるように並べ替えて、差分ベクトル算出部１１３に出力する。
【０１８４】
差分ベクトル算出部１１３が、符号化対象ブロックの動きベクトルと予測ベクトルの候補と差分を取り、差分が一番小さい予測ベクトルの候補の指標pmvIdxと差分とを可変長符号化部１０３に出力する。
【０１８５】
ここで、HEVCのMV Competitionには以下に説明するような問題がある。図２２は、HEVCのMV Competitionにおける問題点を説明するための図である。
図２２に示す時間方向の動きベクトルVbCurrの参照先ピクチャと予測ベクトルPMVの参照先ピクチャが異なる場合でも、予測ベクトルPMVのスケーリングを行う処理がある。以下、スケーリング処理をMV Scalingとも呼ぶ。
【０１８６】
スケーリングは、動きベクトルVbCurrの参照元ピクチャ及び参照先ピクチャと、予測ベクトルPMVの参照元ピクチャ及び参照先ピクチャの時間関係を考慮して、予測ベクトルPMVを時間配分する処理である。
【０１８７】
図２２に示す例では、動きベクトルVbCurrの参照元と参照先の距離をtb、Vcolの参照元と参照先の距離をtdとすると、以下の式（５）によりスケーリングされる。
PMV＝Vcol×（tb／td）  ・・・式（５）
上記式（５）により、MV Scalingの計算式を表すことが可能である。
【０１８８】
しかし、例えば、多視点映像符号化（MVC）で、図２２に示す太点線のように視点間参照を行う場合には、視点間参照は、同一時刻のピクチャしか参照できない。よって、この場合に、PMVのMV Scalingは時間差が０（tb＝０）であることと上記Scalingの式により、スケーリング後のPMVは常に０ベクトルとなる。そのため、MV Scalingの計算が適切にできず、視点間参照の場合に指標pmvIdxを適切に利用できない。
【０１８９】
一方、実施例７におけるHEVCの符号化処理では、符号化対象ブロックが視点間参照を行う場合であっても、適切な指標pmvIdxが選択されるようにし、符号化効率を上げることができる。
【０１９０】
HEVCのおおよその処理の流れは、以下の通りである。
（１）ピクチャの符号化開始時に、そのピクチャで参照可能な参照ピクチャリスト（refPicList）が決定される。
（２）符号化対象ブロックの動きベクトルVbCurrが求められる。動きベクトルの持つ参照ピクチャ番号（ref_idx_Curr）により参照ピクチャがわかる。ref_idx_Curr情報は、動きベクトル情報として、符号化対象ブロックの位置や動きベクトルの成分等と一緒に動きベクトルメモリ１１１に蓄積される。
（３）周辺ブロックから予測ベクトルPMVが求められる。この際、PMVの持つref_idxにより参照ピクチャがわかる。
【０１９１】
例えば、TMuC(Test Model under Consideration)と呼ばれる、HEVCのリファレンスソフトでは、以下の様にpmvIdxが定義されている。
pmvIdx=0：PMV= median(VbA, VbB, VbC)
pmvIdx=1：PMV=VbA
pmvIdx=2：PMV=VbB
pmvIdx=3：PMV=VbC
pmvIdx=4：PMV=Vcol
HEVCのMV Competitionでは、VbCurrの参照先ピクチャとPMVの参照先ピクチャとが異なる場合には、スケーリングが行われる。例えば、VbCurrの参照元ピクチャ（符号化対象ピクチャ）及び参照先ピクチャと、PMVの参照元ピクチャ及び参照先ピクチャの時間関係を考慮して、PMVの動きベクトルは、Scalingによる補正が行われる。
【０１９２】
多視点映像符号化（MVC）で、視点間参照を行う場合には、視点間参照は問題点で説明したように、同一時刻のピクチャしか参照できない。この場合、PMVのMV Scalingは、時間差が０であることによりふさわしくない。実施例７では、多視点（二視点以上）の符号化の効率を向上させる為に、MV Scalingの概念に以下の制御を施す。
【０１９３】
予測ベクトル補正部５０１は、各予測ベクトルPMVの候補の参照先及び動きベクトルの成分によってpmvIdxの生成方法を変更する。予測ベクトル決定部１１２や予測ベクトル補正部５０１は、具体的には、以下の処理順で、pmvIdxを生成する。
（１）周辺ブロックの動きベクトルの参照ピクチャ位置は、動きベクトルメモリ１１１に蓄積される時点で判明しているので、動きベクトルメモリ１１１から参照ピクチャ位置の値が読み込まれる。その値は、それぞれref_idx_A，ref_idx_B，ref_idx_C，ref_idx_colMBとする。
【０１９４】
図２３は、各ブロックのブロック名、参照位置、動きベクトルを示す図である。例えば、ブロック２１のブロック名は「bA」、参照位置は「ref_idx_A」、動きベクトルは「VbA」である。
【０１９５】
なお、medianの動きベクトルは、x，yの成分毎に求めるので必ずしも実在するベクトルとはならないが、仮にref_idx_mとする。ref_idx_mの定義は、以下の通りである。
if (VbA，VbB，VbC が同じ参照先) {
pmvIdx_m = ref_idx_A
} else if (VbAが有効) {
pmvIdx_m = ref_idx_A
} else if (VbBが有効) {
pmvIdx_m = ref_idx_B
} else if (VbCが有効) {
pmvIdx_m = ref_idx_C
} else {
pmvIdx_m = refPicListの最大値
}
（２）現ブロックの動きベクトルを処理し、ref_idx_Currが把握される。
（３）従来のpmvIdxの順は、デフォルトの設定順とする。
（４）ref_idx_bCurrの動きベクトルの参照先情報と、予測ベクトルの参照先情報とを比較することで、以下の手順により指標pmvIdxの並び変えが行われる。
（４−１）同じ参照ピクチャ（ref_idx）を持つものにより小さいpmeIdxが割り振られる。
（４−２）ref_idxが等しい場合は、動きベクトルの垂直成分が成分Bに近い順に、pmvIdxが割り振られる。
（４−３）ref_idx及び動きベクトルの垂直成分が等しい場合は、動きベクトルの水平成分がAに近い順にpmvIdxが割り振られる。
（４−４）（４−１）〜（４−３）の動きベクトル情報が全て同じ場合は、median，bA，bB，bC，colMBの順に小さいpmvIdxが割り振られる。
【０１９６】
ここで、予測ベクトル補正部５０１は、Bについて、０を設定してもよいが、特にこれに限定されることなく、ref_idx_Currと同じ参照先を予測する動きベクトルの垂直成分の代表値を求めてもよい。
【０１９７】
また、予測ベクトル補正部５０１は、Aについて、視点間参照の動きベクトルの平均を算出しているが、これに限定されることなく、ref_idx_Currと同じ参照先を予測する動きベクトルの水平成分の代表値を求めてもよい。
【０１９８】
予測ベクトル補正部５０１は、前述した（４−１）〜（４−４）の一連の処理を実施することで、より差分ベクトルを小さくするベクトルを予測ベクトルとして用いる可能性が高くなり、動きベクトルの符号量を削減することができる。
【０１９９】
＜動作＞
次に、実施例７における動画像符号化装置の動作について説明する。図２４は、実施例７における動画像符号化処理の一例を示すフローチャートである。図２４に示すステップＳ９０１、Ｓ９０２、Ｓ９０５、Ｓ９０６は、図６に示すステップＳ１０１、Ｓ１０２、Ｓ１０８、Ｓ１０９とそれぞれ同様の処理を行うので、説明を省略する。
【０２００】
ステップＳ９０３で、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルの参照先と、予測ベクトルの参照先とを比較する。また、予測ベクトル補正部５０１は、符号化対象ブロックの動きベクトルと予測ベクトルとの垂直成分、及び／又は水平成分の比較を行う。予測ベクトル補正部５０１は、比較結果に基づいて、予測ベクトルの候補の指標pmvIdxを更新する。
【０２０１】
ステップＳ９０４で、差分ベクトル算出部１１３は、符号化対象ブロックの動きベクトルと予測ベクトルの候補との差分を算出し、差分が一番小さいpmvIdxを選択する。このpmvIdxが可変長符号化部１０３で符号化される。
【０２０２】
これにより、各予測ベクトルPMVの候補の参照先及び動きベクトルの成分によってpmvIdxの並べ替えを行うことで、値が小さいpmvIdxが選択される可能性が高くなり、符号量を削減することができる。pmvIdxは、値が小さいほど短い符号になる符号化方式で、可変長符号化部１０３により符号化される。
【０２０３】
［実施例８］
次に、実施例８における動画像復号装置について説明する。実施例８では、HFVC復号を行ない、実施例７における動画像符号化装置で符号化されたストリームを復号する。
【０２０４】
＜構成＞
実施例８における動画像復号装置の構成は、実施例６における動画像復号装置の構成と同様であるため、動画像符号化装置６００を用いて説明する。ここでは、差分ベクトル取得部２０５は、復号された予測ベクトルの指標pmvIdxを取得し、予測ベクトル補正部６０１に出力する。
【０２０５】
予測ベクトル補正部６０１は、実施例７で説明した並べ替え規則に従って、予測ベクトル決定部２０６に決定された予測ベクトルの候補の指標を並べ替えておく。予測ベクトル補正部６０１は、差分ベクトル取得部２０５から取得した指標pmvIdxを用いて、並べ替え後の予測ベクトルの候補リストから予測ベクトルを特定し、特定した予測ベクトルを動きベクトル決定部２０８に出力する。
【０２０６】
＜動作＞
次に、実施例８における動画像復号装置の動作について説明する。図２５は、実施例８における動画像復号処理の一例を示すフローチャートである。図２５に示すステップＳ１００１、Ｓ１００２、Ｓ１００６、Ｓ１００７は、図８に示すステップＳ２０１、Ｓ２０２、Ｓ２０８、Ｓ２０９とそれぞれ同様の処理を行うため、その説明を省略する。
【０２０７】
図２５に示すステップＳ１００３で、差分ベクトル取得部２０５は、復号されたデータの中から、予測ベクトルの指標pmvIdxを取得する。
【０２０８】
ステップＳ１００４で、予測ベクトル補正部６０１は、予測ベクトルの候補の指標pmvIdxを、各予測ベクトルPMVの候補の参照先及び動きベクトルの成分などによって並べ替える。予測ベクトル補正部６０１は、並べ替えた後のpmvIdxから予測ベクトルを特定する。
【０２０９】
ステップＳ１００５で、動きベクトル決定部２０８は、特定された予測ベクトルを用いて、復号対象ブロックの動きベクトルを算出する。
【０２１０】
以上、実施例８によれば、動きベクトルの復号処理において、実施例７における符号化処理の逆の順序で復号することで、動きベクトルの符号量を削減した符号化データを適切に復号することができる。
【０２１１】
［変形例］
図２６は、画像処理装置７００の構成の一例を示すブロック図である。画像処理装置７００は、実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図２６に示すように、画像処理装置７００は、制御部７０１、主記憶部７０２、補助記憶部７０３、ドライブ装置７０４、ネットワークI/F部７０６、入力部７０７、表示部７０８を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【０２１２】
制御部７０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部７０１は、主記憶部７０２や補助記憶部７０３に記憶されたプログラムを実行する演算装置であり、入力部７０７や記憶装置からデータを受け取り、演算、加工した上で、表示部７０８や記憶装置などに出力する。
【０２１３】
主記憶部７０２は、ROM（Read Only Memory）やRAM（Random Access Memory）などであり、制御部７０１が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０２１４】
補助記憶部７０３は、HDD（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０２１５】
ドライブ装置７０４は、記録媒体７０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０２１６】
また、記録媒体７０５に、所定のプログラムを格納し、この記録媒体７０５に格納されたプログラムはドライブ装置７０４を介して画像処理装置７００にインストールされる。インストールされた所定のプログラムは、画像処理装置７００により実行可能となる。
【０２１７】
ネットワークI/F部７０６は、有線及び／又は無線回線などのデータ伝送路により構築されたLAN（Local Area Network）、WAN（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置７００とのインターフェースである。
【０２１８】
入力部７０７は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部７０８の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部７０７は、ユーザが制御部７０１に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【０２１９】
表示部７０８は、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）等により構成され、制御部７０１から入力される表示データに応じた表示が行われる。なお、表示部７０８は、外部に設けられてもよく、その場合は、画像処理装置７００は、表示制御部を有する。
【０２２０】
このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した画像符号化処理又は画像復号処理を実現することができる。
【０２２１】
また、このプログラムを記録媒体７０５に記録し、このプログラムが記録された記録媒体７０５をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。なお、記録媒体７０５は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、１つ又は複数の集積回路に実装してもよい。
【０２２２】
なお、前述した各実施例では、特に２視点の立体映像であるステレオ立体視対応の符号化／復号方法に関して説明してきたが、３視点以上の多視点映像の場合であってもよい。よって、基本的に考え方は同じで、処理対象ブロックの参照先ピクチャと予測ベクトルの参照先ピクチャの各々の値を考慮して、より効率の良い動きベクトルの符号化／復号を実施することが可能であるのは、明らかである。
【０２２３】
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【図１】
2012124121.tif 000004
【図２】
2012124121.tif 000005
【図３】
2012124121.tif 000006
【図４】
2012124121.tif 000007
【図５】
2012124121.tif 000008
【図６】
2012124121.tif 000009
【図７】
2012124121.tif 000010
【図８】
2012124121.tif 000011
【図９】
2012124121.tif 000012
【図１０】
2012124121.tif 000013
【図１１】
2012124121.tif 000014
【図１２】
2012124121.tif 000015
【図１３】
2012124121.tif 000016
【図１４】
2012124121.tif 000017
【図１５】
2012124121.tif 000018
【図１６】
2012124121.tif 000019
【図１７】
2012124121.tif 000020
【図１８】
2012124121.tif 000021
【図１９】
2012124121.tif 000022
【図２０】
2012124121.tif 000023
【図２１】
2012124121.tif 000024
【図２２】
2012124121.tif 000025
【図２３】
2012124121.tif 000026
【図２４】
2012124121.tif 000027
【図２５】
2012124121.tif 000028
【図２６】
2012124121.tif 000029
【手続補正書】
【提出日】平成25年8月5日(2013.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロックに分割された画像の符号化データを復号する動画像復号方法であって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を制御し、
制御された復号処理で前記復号対象ブロックの動きベクトルを復号する動画像復号方法。
【請求項２】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが、ともに視点間の参照画像を示すか否かにより、前記復号処理を変更する請求項１記載の動画像復号方法。
【請求項３】
前記動きベクトルの復号処理を制御する場合、
前記復号処理がコンテキスト適応型２値算術符号化方式に対応する復号方式である場合、前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが視点間の参照画像を示すとき、コンテキストを変更する請求項１又は２記載の動画像復号方法。
【請求項４】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの垂直成分を０にする請求項１又は２記載の動画像復号方法。
【請求項５】
前記動きベクトルの復号処理を制御する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの水平成分を所定値にする請求項１又は２記載の動画像復号方法。
【請求項６】
前記動きベクトルの復号処理が、可変長復号された前記予測ベクトルの識別子から予測ベクトルを特定して動きベクトルを復号する場合、各予測ベクトルの候補の参照先情報及び各予測ベクトルの成分によって各予測ベクトルの識別子を並べ替える請求項１記載の動画像復号方法。
【請求項７】
複数のブロックに分割された画像を符号化する動画像符号化方法であって、
記憶部に記憶される、符号化済みブロックの動きベクトル及び動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、符号化対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記符号化対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの符号化処理を制御し、
制御された符号化処理で前記符号化対象ブロックの動きベクトルを符号化する動画像符号化方法。
【請求項８】
複数のブロックに分割された画像の符号化データを復号する動画像復号装置であって、
復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を記憶する記憶部と、
前記記憶部に記憶された動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定する決定部と、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を制御する制御部と、
制御された復号処理で前記復号対象ブロックの動きベクトルを復号する復号部と、
を備える動画像復号装置。
【請求項９】
複数のブロックに分割された画像の符号化データを復号する動画像復号プログラムであって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理を決定し、
決定された復号処理で前記復号対象ブロックの動きベクトルを復号する、
処理をコンピュータに実行させるための画像復号プログラム。
【手続補正書】
【提出日】平成26年5月12日(2014.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロックに分割された画像の符号化データを復号する動画像復号方法であって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理方法を変更し、
選ばれた復号処理方法で前記復号対象ブロックの動きベクトルを復号する動画像復号方法。
【請求項２】
前記動きベクトルの復号処理方法を変更する場合、
前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが、ともに視点間の参照画像を示すか否かにより、前記復号処理方法を変更する請求項１記載の動画像復号方法。
【請求項３】
前記動きベクトルの復号処理方法を変更する場合、
前記復号処理方法がコンテキスト適応型２値算術符号化方式に対応する復号方式である場合、前記復号対象ブロックの動きベクトルの参照先情報と、前記予測ベクトルの参照先情報とが視点間の参照画像を示すとき、コンテキストを変更する請求項１又は２記載の動画像復号方法。
【請求項４】
前記動きベクトルの復号処理方法を変更する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの垂直成分を０にする請求項１又は２記載の動画像復号方法。
【請求項５】
前記動きベクトルの復号処理方法を変更する場合、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すとき、前記予測ベクトルの水平成分を所定値にする請求項１又は２記載の動画像復号方法。
【請求項６】
前記動きベクトルの復号処理方法が、可変長復号された前記予測ベクトルの識別子から予測ベクトルを特定して動きベクトルを復号する場合、各予測ベクトルの候補の参照先情報及び各予測ベクトルの成分によって各予測ベクトルの識別子を並べ替える請求項１記載の動画像復号方法。
【請求項７】
複数のブロックに分割された画像を符号化する動画像符号化方法であって、
記憶部に記憶される、符号化済みブロックの動きベクトル及び動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、符号化対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記符号化対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの符号化処理方法を変更し、
選ばれた符号化処理方法で前記符号化対象ブロックの動きベクトルを符号化する動画像符号化方法。
【請求項８】
複数のブロックに分割された画像の符号化データを復号する動画像復号装置であって、
復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を記憶する記憶部と、
前記記憶部に記憶された動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定する決定部と、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理方法を変更する制御部と、
選ばれた復号処理方法で前記復号対象ブロックの動きベクトルを復号する復号部と、
を備える動画像復号装置。
【請求項９】
複数のブロックに分割された画像の符号化データを復号する動画像復号プログラムであって、
記憶部に記憶される、復号済みブロックの動きベクトル及び該動きベクトルの参照先を示す参照先情報を含む動きベクトル情報を用いて、復号対象ブロックの動きベクトルに対する予測ベクトルを決定し、
前記復号対象ブロックの動きベクトルの参照先情報が視点間の参照画像を示すか否かに応じて、前記予測ベクトルを用いる動きベクトルの復号処理方法を変更し、
選ばれた復号処理方法で前記復号対象ブロックの動きベクトルを復号する、
処理をコンピュータに実行させるための画像復号プログラム。
【国際調査報告】
2012124121.tif 000030
2012124121.tif 000031
2012124121.tif 000032
2012124121.tif 000033