(57)【要約】【課題】演算量の増加を抑えつつ、予測画像の品質を高めて動き補償予測の効率を向上させる技術を提供する【解決手段】動きベクトル復号部は、符号化ストリームより、復号対象ブロックに対する動きベクトルを復号する。複数参照画像合成部は、動きベクトルを用いて第１の参照画像より抽出した第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する。復号部は、合成参照ブロックを予測ブロックとして、予測ブロックと、復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する。【選択図】図２
2011217105.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームより、復号対象ブロックに対する動きベクトルを復号する動きベクトル復号部と、
前記動きベクトルを用いて第１の参照画像より抽出した第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する参照画像合成部と、
前記合成参照ブロックを予測ブロックとして、前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する復号部とを備えることを特徴とする動画像復号装置。
【請求項２】
符号化ストリームより、復号対象ブロックに対する第１の動きベクトルを復号する動きベクトル復号部と、
前記第１の動きベクトルより第２の動きベクトルを生成する動きベクトル分離部と、
前記第２の動きベクトルを用いて第１の参照画像より抽出した、前記復号対象ブロック以上の大きさを持つ特定領域の第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する参照画像合成部と、
前記第１の動きベクトルを用いて、前記復号対象ブロックと同じ大きさのブロックを前記合成参照ブロックより抽出し、その抽出したブロックを予測ブロックとする動き補償予測部と、
前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する復号部とを備えることを特徴とする動画像復号装置。
【請求項３】
前記動きベクトル分離部において、入力された前記第１の動きベクトルの精度がＭ画素精度（Ｍは実数）であり、生成する前記第２の動きベクトルの精度がＮ画素精度（Ｎは実数：Ｎ＞Ｍ）であり、前記第２の動きベクトルが前記第１の動きベクトルをＮ画素精度に変換した値であり、
前記特定領域は、前記第２の動きベクトルで示される前記第１の参照画像の位置を基準に、対象ブロック±Ｎ／２画素以上の領域を有することを特徴とする請求項２に記載の動画像復号装置。
【請求項４】
前記参照画像合成部は、前記第１の参照ブロックと、他の参照画像である第２の参照画像との間の第３の動きベクトルを検出する参照画像間動きベクトル検出部を有し、
前記参照画像合成部は、前記第２の参照画像から前記第３の動きベクトルを用いて抽出した第２の参照ブロックと、前記第１の参照ブロックとの、画素毎の平均値もしくは重み付け平均値を算出することで、前記合成参照ブロックを生成することを特徴とする請求項２または３に記載の動画像復号装置。
【請求項５】
前記参照画像間動きベクトル検出部が、前記第１の参照ブロックよりも小さなブロック単位で、前記第１の参照ブロックと前記第２の参照画像との間の、複数の第３の動きベクトルを検出し、
前記参照画像合成部は、前記第２の参照画像から複数の前記第３の動きベクトルを用いて抽出した小さなブロック単位の複数の第２の参照ブロックを合わせて、前記第１の参照ブロックとの画素毎の平均値もしくは重み付け平均値を算出することにより、前記合成参照ブロックを生成することを特徴とする請求項４に記載の動画像復号装置。
【請求項６】
前記参照画像間動きベクトル検出部が、前記第１の参照画像と復号対象ブロックとの第１の時間差と、前記第２の参照画像と復号対象ブロックとの第２の時間差との２つの時間差に応じて前記第２の動きベクトルを変換した動きベクトル値を中心として、所定範囲内の動きを探索することで、前記第３の動きベクトルを検出することを特徴とする請求項４または５に記載の動画像復号装置。
【請求項７】
符号化ストリームより、復号対象ブロックに対する動きベクトルを復号するステップと、
前記動きベクトルを用いて第１の参照画像より抽出した第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成するステップと、
前記合成参照ブロックを予測ブロックとして、前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成するステップとを含むことを特徴とする動画像復号方法。
【請求項８】
符号化ストリームより、復号対象ブロックに対する第１の動きベクトルを復号するステップと、
前記第１の動きベクトルより第２の動きベクトルを生成するステップと、
前記第２の動きベクトルを用いて第１の参照画像より抽出した、前記復号対象ブロック以上の大きさを持つ特定領域の第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成するステップと、
前記第１の動きベクトルを用いて、前記復号対象ブロックと同じ大きさのブロックを前記合成参照ブロックより抽出し、その抽出したブロックを予測ブロックとするステップと、
前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成するステップとを含むことを特徴とする動画像復号方法。
【請求項９】
符号化ストリームより、復号対象ブロックに対する動きベクトルを復号する機能と、
前記動きベクトルを用いて第１の参照画像より抽出した第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する機能と、
前記合成参照ブロックを予測ブロックとして、前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する機能とをコンピュータに実現させることを特徴とする動画像復号プログラム。
【請求項１０】
符号化ストリームより、復号対象ブロックに対する第１の動きベクトルを復号する機能と、
前記第１の動きベクトルより第２の動きベクトルを生成する機能と、
前記第２の動きベクトルを用いて第１の参照画像より抽出した、前記復号対象ブロック以上の大きさを持つ特定領域の第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する機能と、
前記第１の動きベクトルを用いて、前記復号対象ブロックと同じ大きさのブロックを前記合成参照ブロックより抽出し、その抽出したブロックを予測ブロックとする機能と、
前記予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する機能とをコンピュータに実現させることを特徴とする動画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像信号の復号技術に関する。
【背景技術】
【０００２】
近年、デジタル化された画像及び音のコンテンツを、衛星や地上波等の放送波やネットワークを介して配信するサービスが実用化されており、膨大な情報量を持つコンテンツを効率的に記録及び伝送するための高能率符号化技術が必要となっている。動画像の高能率符号化としては、ＭＰＥＧ４−ＡＶＣに代表される、動画像信号の同一フレーム内で空間的に隣接する画素間の相関、及び時間的に隣接するフレーム間やフィールド間の相関を利用して情報を圧縮する方法が用いられる。
【０００３】
ＭＰＥＧ４−ＡＶＣでは、時間的相関を利用した圧縮として、符号化対象フレームである対象画像に対して、既に符号化済みのフレームの局部復号画像を参照画像として用い、所定の大きさの２次元ブロック（以降、「対象ブロック」と記す）単位で、対象画像と参照画像との間での動き量（以降、「動きベクトル」と記す）を検出し、対象ブロックと動きベクトルに基づいた予測画像を生成する動き補償予測が用いられる。
【０００４】
ＭＰＥＧ４−ＡＶＣでは、符号化処理の単位となる１６×１６画素の２次元ブロック（以降、「マクロブロック」と記す）内での、対象ブロックの大きさを可変にして対象ブロック毎の動きベクトルを用いて予測する手法、複数の参照画像を格納し予測に用いる参照画像を選択する手法、２つの参照画像と対象ブロックの間の動きベクトルを求めて動き予測画像を生成する手法を用いる事で、動き補償予測の予測精度を向上させる事が可能であり、それにより情報量の削減を実現している。
【０００５】
また、動き補償予測においては生成した動きベクトルを符号化伝送する必要があり、動きベクトルによる情報量の増加を防ぐために、対象ブロック周辺の復号済みのブロックに対する動きベクトルから予測される、予測動きベクトル値を用いて符号化する事で、動きベクトルを伝送しないダイレクトモードと呼ばれる動き補償予測を用いる事が可能となっている。
【０００６】
しかしながら、上記動きベクトルの予測は必ずしも精度良く求める事が出来ないため、特許文献１に示されるように、符号化側と復号側が共に、参照画像間で動きベクトルの検出を行い、その動きベクトルが時間的に連続している事を想定して、対象ブロックの予測動きベクトルを生成し、ダイレクトモードを構成する手法も提示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１５４０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＭＰＥＧ４−ＡＶＣに代表される従来の動画像符号化における動き補償予測は、以下のような課題が解決できていないために、符号化効率の向上が妨げられている。
【０００９】
一つ目の課題は、参照画像として用いる復号画像の品質が劣化することによる、動き補償予測画像の品質低下であり、特に高圧縮な符号化を施した場合に動き補償予測画像に混入した劣化成分が予測精度を悪化させると共に、劣化成分を復元するための情報を予測差分として符号化する必要があり、情報量が増加している。
【００１０】
二つ目の課題は、時間的・空間的に動きの連続性が少ない画像信号において、動きベクトルの予測が十分な精度でなく、ダイレクトモードを用いた際の予測画像の品質が悪く有効に機能しない点である。対象となる物体を跨いで隣接するブロックでは異なる動きを有する際にこの劣化が生じ、時間的には動きが大きい場合に予測に用いる動きベクトルが本来の対象ブロックとは動きに相当して移動した位置のブロックを想定しているためにこの劣化が生じる。また時間的に動きが変化する場合にも、同様に予測が当らず劣化が生じる。
【００１１】
三つ目の課題は、２つの参照画像を用いた予測や細かいブロック単位での動き補償予測を用いた際の、動きベクトル伝送に要する符号量の増加である。２つの参照画像を用いる場合に、参照画像を加算する事による予測劣化の平滑化が行われ、劣化成分の影響を少なくする事が出来るが、それに応じた動きベクトルの伝送が必要となり符号量が増加する。また、細かいブロック単位での動き補償においても、物体の境界に応じて適切な動きを求める事が可能となり、予測画像の精度は向上するが、細かい単位での動きベクトルの伝送が必要となって符号量が増大する。
【００１２】
特許文献１は、上記二つ目の課題を解決するために提示された手法であるが、空間的に一様な動きをしている場合には、参照画像間で求めた動きベクトルが対象ブロックの位置を通過する動きとなる為、動きベクトルの予測精度は向上するが、空間的に一様な動きをしていない場合には、対象ブロックの情報を用いずに求めた予測動きベクトルであるために、対象ブロックと異なる動きとなり予測が十分に当らない。また、大きな動きを捉えるためには、参照画像間で広い範囲に渡る動きベクトルの検出処理が符号化装置、復号装置の両方に必要となり、演算量が大きくなる課題が生じる。
【００１３】
本発明はこうした状況に鑑みてなされたものであり、その目的は、符号化装置および復号装置における演算量の増加を抑えつつ、予測画像の品質を高めて動き補償予測の効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明のある態様の動画像復号装置は、符号化ストリームより、復号対象ブロックに対する動きベクトルを復号する動きベクトル復号部と、動きベクトルを用いて第１の参照画像より抽出した第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する参照画像合成部と、合成参照ブロックを予測ブロックとして、予測ブロックと、復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する復号部とを備える。
【００１５】
この態様によると、復号対象ブロックと、符号化ストリームより復号した第１の参照画像との動きベクトルより、動き補償予測した参照画像に対して、他の参照画像を合成することで、予測画像の品質を向上した動き補償予測画像を生成可能である。
【００１６】
本発明の別の態様もまた、動画像復号装置である。この装置は、符号化ストリームより、復号対象ブロックに対する第１の動きベクトルを復号する動きベクトル復号部と、第１の動きベクトルより第２の動きベクトルを生成する動きベクトル分離部と、第２の動きベクトルを用いて第１の参照画像より抽出した、復号対象ブロック以上の大きさを持つ特定領域の第１の参照ブロックと、他の少なくとも１つの参照画像の所定領域とを合成した合成参照ブロックを生成する参照画像合成部と、第１の動きベクトルを用いて、復号対象ブロックと同じ大きさのブロックを合成参照ブロックより抽出し、その抽出したブロックを予測ブロックとする動き補償予測部と、予測ブロックと、復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する復号部とを備える。
【００１７】
この態様によると、復号対象ブロックと、符号化ストリームより復号した第１の参照画像との動きベクトルより、動き補償予測した参照画像に対して、他の参照画像を合成するとともに、合成した予測画像に対して微少範囲の動きベクトル補正を行うことで、予測画像の品質を向上した上で向上後のエッジ部分等の位相変化を補正した動き補償予測画像を生成可能である。
【００１８】
動きベクトル分離部において、入力された第１の動きベクトルの精度がＭ画素精度（Ｍは実数）であり、生成する第２の動きベクトルの精度がＮ画素精度（Ｎは実数：Ｎ＞Ｍ）であり、第２の動きベクトルが第１の動きベクトルをＮ画素精度に変換した値であり、特定領域は、第２の動きベクトルで示される第１の参照画像の位置を基準に、対象ブロック±Ｎ／２画素以上の領域を有してもよい。
【００１９】
この構成によると、復号した動きベクトルの精度をＭ画素精度とすると、Ｍ画素よりも荒いＮ画素精度に動きベクトルを変換し、変換した動きベクトル値を基準に、動き補償予測した参照画像に対して他の参照画像の合成処理を行うことで、符号化装置と同じ合成処理を復号側で施すことを可能とし、変換した動きベクトル値と受信した動きベクトル値の差分値を、合成した動き補償予測画像の位相補正値として用いることで、１つの動きベクトル値で、符号化装置側生成した予測残差の少ない動き補償予測画像を復号装置で取得することが可能である。
【００２０】
参照画像合成部は、第１の参照ブロックと、他の参照画像である第２の参照画像との間の第３の動きベクトルを検出する参照画像間動きベクトル検出部を有してもよい。参照画像合成部は、第２の参照画像から第３の動きベクトルを用いて抽出した第２の参照ブロックと、第１の参照ブロックとの、画素毎の平均値もしくは重み付け平均値を算出することで、合成参照ブロックを生成してもよい。
【００２１】
この構成によると、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像との間の動きベクトル値を求め、他の参照画像から取得した動き補償予測画像と加算平均をとることで、符号化劣化成分の除去と復号対象物の微少な輝度変化に対応した予測画像を生成することができ、符号化効率を向上することができる。
【００２２】
参照画像間動きベクトル検出部が、第１の参照ブロックよりも小さなブロック単位で、第１の参照ブロックと第２の参照画像との間の、複数の第３の動きベクトルを検出してもよい。参照画像合成部は、第２の参照画像から複数の第３の動きベクトルを用いて抽出した小さなブロック単位の複数の第２の参照ブロックを合わせて、第１の参照ブロックとの画素毎の平均値もしくは重み付け平均値を算出することにより、合成参照ブロックを生成してもよい。
【００２３】
この構成によると、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像との間で対象としている動き補償予測画像よりも細かい単位の動きベクトル値を求め、それぞれの動きベクトルに応じて細かい単位で取得した動き補償予測画像と合成処理を行うことで、復号対象物の物体の時間的な微少な変形に対応した予測画像を生成することができ、符号化効率を向上することができる。
【００２４】
参照画像間動きベクトル検出部が、第１の参照画像と復号対象ブロックとの第１の時間差と、第２の参照画像と復号対象ブロックとの第２の時間差との２つの時間差に応じて第２の動きベクトルを変換した動きベクトル値を中心として、所定範囲内の動きを探索することで、第３の動きベクトルを検出してもよい。
【００２５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２６】
本発明によれば、符号化装置および復号装置における演算量の増加を抑えつつ、予測画像の品質を高めて動き補償予測の効率を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１の動画像符号化装置の構成を示すブロック図である。
【図２】本発明の実施の形態１の動画像復号装置の構成を示すブロック図である。
【図３】本発明における、合成画像動き補償予測手法を示す概念図である。
【図４】本発明の実施の形態１の動画像符号化装置における、複数参照画像合成部の構成を示すブロック図である。
【図５】本発明の実施の形態１の動画像復号装置における、複数参照画像合成部の構成を示すブロック図である。
【図６】本発明の実施の形態２の動画像符号化装置の構成を示すブロック図である。
【図７】本発明の実施の形態２の動画像復号装置の構成を示すブロック図である。
【図８】本発明の実施の形態２における、合成画像動き補償予測処理の動作を示す概念図である。
【図９】本発明の実施の形態２の動画像符号化装置における、複数参照画像合成部の構成を示すブロック図である。
【図１０】本発明の実施の形態２の動画像符号化装置における、複数参照画像合成部及び合成画像動き補償予測部の動作を説明するためのフローチャートである。
【図１１】本発明の実施の形態２における符号化処理の処理順と参照画像管理の一例を示す図である。
【図１２】本発明の実施の形態２における参照画像間の動きベクトル検出範囲の一例を示す図である。
【図１３】本発明の実施の形態２におけるスライスヘッダへの追加情報の一例を示す図である。
【図１４】本発明の実施の形態２における動き補償予測モードへの追加情報の一例を示す図である。
【図１５】本発明の実施の形態２の動画像復号装置における、複数参照画像合成部の構成を示すブロック図である。
【図１６】本発明の実施の形態２の動画像復号装置における、動きベクトル分離部、複数参照画像合成部及び合成画像動き補償予測部の動作を説明するためのフローチャートである。
【図１７】本発明の実施の形態３における参照画像の合成処理の動作を示す概念図である。
【図１８】本発明の実施の形態４における合成画像動き補償予測処理の動作を示す概念図である。
【図１９】本発明の実施の形態４の動画像符号化装置及び動画像復号装置における、複数参照画像合成部の構成を示すブロック図である。
【図２０】本発明の実施の形態４の動画像符号化装置及び動画像復号装置における、合成判定部の動作を説明するためのフローチャートである。
【図２１】本発明の実施の形態５における合成画像動き補償予測処理の動作を示す概念図である。
【図２２】本発明の実施の形態５の動画像符号化装置及び動画像復号装置における、複数参照画像合成部の構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について図面を参照して説明する。
【００２９】
（実施の形態１）
まず、実施の形態１の動画像符号化装置を説明する。図１は、実施の形態１の動画像符号化装置の構成を示すブロック図である。
【００３０】
図１に示すように、実施の形態１の動画像符号化装置は、入力端子１００、入力画像バッファ１０１、ブロック分割部１０２、フレーム内予測部１０３、動きベクトル検出部１０４、動き補償予測部１０５、動きベクトル予測部１０６、複数参照画像合成部１０７、予測モード判定部１０９、減算器１１０、直交変換部１１１、量子化部１１２、逆量子化部１１３、逆直交変換部１１４、加算器１１５、フレーム内復号画像メモリ１１６、復号参照画像メモリ１１７、エントロピー符号化部１１８、ストリームバッファ１１９、出力端子１２０、及び符号量制御部１２１を備える。
【００３１】
複数参照画像合成部１０７を設けた点と、この処理ブロック及び動き補償予測部１０５における動作が、本発明の実施の形態１における特徴であり、他の処理ブロックに関してはＭＰＥＧ４−ＡＶＣ等の動画像符号化装置における符号化処理を構成する処理ブロックと同一処理が適用できる。
【００３２】
入力端子１００より入力されたデジタル画像信号は、入力画像バッファ１０１に格納される。入力画像バッファ１０１に格納されたデジタル画像信号は、ブロック分割部１０２に供給され、１６×１６画素で構成されるマクロブロック単位で符号化対象ブロックとして切り出される。ブロック分割部１０２は、切り出した符号化対象ブロックを、フレーム内予測部１０３、動きベクトル検出部１０４、動き補償予測部１０５、及び減算器１１０に供給する。
【００３３】
フレーム内予測部１０３では、ブロック分割部１０２より入力された符号化対象ブロックと、フレーム内復号画像メモリ１１６に格納された、符号化対象ブロックの周辺に対して符号化が完了した領域の復号画像が入力され、フレーム内の相関性を用いた予測が行われる。例えば、符号化対象ブロックに対して、４×４画素単位、８×８画素単位、１６×１６画素単位で、複数の所定の方向に対して画素値を予測し、予測処理の単位と選択した方向を示す情報（イントラ予測モード）と共に予測画像を生成するイントラ予測という手法を用いて、画面内の隣接画素の相関を用いた予測を行う。予測画像及び選択したイントラ予測モードは、フレーム内予測部１０３より予測モード判定部１０９に出力される。
【００３４】
動きベクトル検出部１０４では、ブロック分割部１０２より入力された符号化対象ブロックと、復号参照画像メモリ１１７に格納された、画面全体の符号化が完了したフレームの復号画像が参照画像として入力されて、符号化対象ブロックと参照画像との間での動き推定を行う。一般的な動き推定処理としては、画面内の同一位置より所定の移動量だけ移動させた位置の参照画像を切り出し、その画像を予測ブロックとした際の予測誤差が最も少なくなる移動量を動きベクトル値として、移動量を変化させながら求めるブロックマッチング処理が用いられる。検出された動きベクトル値は、動き補償予測部１０５及び複数参照画像合成部１０７に出力される。
【００３５】
動き補償予測部１０５は、動きベクトル検出部１０４によって求められた動きベクトル値を入力し、１６×１６以下の複数のブロックサイズ及び複数の参照画像に対する、動き補償予測画像を生成し、ブロック分割部１０２より入力された符号化対象ブロックに対して、最も符号化する差分情報が少ない予測信号を選択すると共に、複数参照画像合成部１０７より入力された合成した参照画像信号も同様に予測信号の候補として、最も符号化する差分情報が少ない予測信号を選択する。動き補償予測部１０５は、選択された動き補償予測モードと予測信号を予測モード判定部１０９に出力する。動き補償予測モードには、合成した参照画像を用いた動き補償であるか否かを示すモード情報が含まれる。
【００３６】
動きベクトル予測部１０６は、周辺の符号化済みブロックの動きベクトルを用いて、予測動きベクトル値を算出し、動きベクトル検出部１０４、動き補償予測部１０５に供給する。
【００３７】
予測動きベクトル値を用いる事で、動きベクトル検出部１０４は、動きベクトル予測値と動きベクトル値との差分を符号化する際に必要となる符号量を加味して、最適な動きベクトル値を検出する。同様に、動き補償予測部１０５は、動きベクトル予測値と動きベクトル値との差分を符号化する際に必要となる符号量を加味して、最適な動き補償予測のブロック単位と用いる参照画像及び動きベクトル値を選択する。
【００３８】
複数参照画像合成部１０７は、動きベクトル検出部１０４より出力された１つの参照画像に対する動きベクトル値と、復号参照画像メモリ１１７に格納された複数の参照画像を入力し、複数参照画像を用いた参照画像の合成処理が行なわれる。合成した参照画像信号は、動き補償予測部１０５に出力される。複数参照画像合成部１０７の詳細動作に関しては後述する。
【００３９】
予測モード判定部１０９は、フレーム内予測部１０３、動き補償予測部１０５より入力された各予測手法に対する予測モードと予測画像より、ブロック分割部１０２より入力された符号化対象ブロックに対して、最も符号化する差分情報が少ない予測信号を選択し、選択された予測手法に対する予測画像ブロックを減算器１１０及び加算器１１５に出力すると共に、エントロピー符号化部に１１８に対して、付加情報としての予測モード情報と、予測モードに応じた符号化を要する情報を出力する。
【００４０】
減算器１１０は、ブロック分割部１０２から供給された符号化対象ブロックと、予測モード判定部１０９より供給された予測画像ブロックとの差分を演算し、結果を差分ブロックとして直交変換部１１１に供給する。
【００４１】
直交変換部１１１では、差分ブロックに対して４×４画素もしくは８×８画素単位にＤＣＴ変換を行うことで、直交変換された周波数成分信号に相当するＤＣＴ係数を生成する。また、直交変換部１１１では、生成したＤＣＴ係数をマクロブロック単位に纏めて、量子化部１１２に出力する。
【００４２】
量子化部１１２においては、ＤＣＴ係数を周波数成分毎に異なった値で除算することにより量子化処理を施す。量子化部１１２は、量子化処理されたＤＣＴ係数を、逆量子化部１１３及びエントロピー符号化部１１８に供給する。
【００４３】
逆量子化部１１３は、量子化部１１２より入力した量子化処理されたＤＣＴ係数に対して、量子化時に除算された値を乗算することで逆量子化を行い、逆量子化された結果を復号されたＤＣＴ係数として、逆直交変換部１１４に出力する。
【００４４】
逆直交変換部１１４においては逆ＤＣＴ処理が行われ、復号された差分ブロックを生成する。逆直交変換部１１４は、復号された差分ブロックを加算器１１５に供給する。
【００４５】
加算器１１５は、予測モード判定部１０９より供給された予測画像ブロックと、逆直交変換部１１４より供給される復号された差分ブロックを加算し、局部復号ブロックを生成する。加算器１１５で生成された局部復号ブロックは、フレーム内復号画像メモリ１１６及び復号参照画像メモリ１１７に逆ブロック変換された形で格納される。ＭＰＥＧ−４  ＡＶＣの場合には、局部復号ブロックが復号参照画像メモリ１１７に入力される手前で、ブロック毎での符号化歪が境界となって現れやすいブロック境界に対して、適応的にフィルタリングを行う処理が施される場合もある。
【００４６】
エントロピー符号化部１１８は、量子化部１１２より供給された量子化処理されたＤＣＴ係数と、予測モード判定部１０９より供給された、予測モード情報と、予測モードに応じた符号化を要する情報に対して、それぞれの情報の可変長符号化を行う。具体的には、フレーム内予測の場合にはイントラ予測モードと予測ブロックサイズ情報が、動き補償予測及び合成画像動き補償予測の場合には、予測ブロックサイズ、参照画像の指定情報、及び動きベクトルと予測動きベクトル値との差分値が、符号化を要する情報となる。可変長符号化を施した情報は符号化ビットストリームとして、エントロピー符号化部１１８よりストリームバッファ１１９に出力される。
【００４７】
ストリームバッファ１１９に蓄えられた符号化ビットストリームは、出力端子１２０を介して、記録媒体もしくは伝送路に出力される。符号化ビットストリームの符号量制御に関しては、符号量制御部１２１に、ストリームバッファ１１９に蓄えられている符号化ビットストリームの符号量が供給され、目標とする符号量との間で比較がとられ、目標符号量に近づけるために量子化部１１２の量子化の細かさ（量子化スケール）が制御される。
【００４８】
続いて、実施の形態１の動画像符号化装置により生成された符号化ビットストリームを復号する、動画像復号装置を説明する。図２は、実施の形態１の動画像復号装置の構成図である。
【００４９】
図２に示すように、実施の形態１の動画像復号装置は、入力端子２００、ストリームバッファ２０１、エントロピー復号部２０２、予測モード復号部２０３、予測画像選択部２０４、逆量子化部２０５、逆直交変換部２０６、加算器２０７、フレーム内復号画像メモリ２０８、復号参照画像メモリ２０９、出力端子２１０、フレーム内予測部２１１、動きベクトル予測復号部２１２、動き補償予測部２１３、及び複数参照画像合成部２１５を備える。
【００５０】
複数参照画像合成部２１５を設けた点と、この処理ブロック及び動き補償予測部２１３における動作が、本発明の実施の形態１における特徴であり、他の処理ブロックに関してはＭＰＥＧ４−ＡＶＣ等の動画像復号装置における復号処理を構成する処理ブロックと同一処理が適用できる。
【００５１】
入力端子２００より入力された符号化ビットストリームは、ストリームバッファ２０１に供給され、ストリームバッファ２０１で符号化ビットストリームの符号量変動を吸収して、フレーム等の所定単位でエントロピー復号部２０２に供給される。エントロピー復号部２０２は、ストリームバッファ２０１を介して入力された符号化ビットストリームより、符号化された予測モード情報と予測モードに応じた付加情報、及び量子化されたＤＣＴ係数に関して可変長復号を行い、逆量子化部２０５に量子化されたＤＣＴ係数を、予測モード復号部２０３に予測モード情報と予測モードに応じた付加情報を出力する。
【００５２】
逆量子化部２０５、逆直交変換部２０６、加算器２０７、フレーム内復号画像メモリ２０８、及び復号参照画像メモリ２０９に関しては、本発明の実施の形態１の動画像符号化装置の局部復号処理である逆量子化部１１３、逆直交変換部１１４、加算器１１５、フレーム内復号画像メモリ１１６、復号参照画像メモリ１１７と同様の処理が行われる。フレーム内復号画像メモリ２０８に蓄えられた復号画像は、出力端子２１０を介して、表示装置に復号画像信号として表示される。
【００５３】
予測モード復号部２０３では、エントロピー復号部２０２より入力された予測モード情報と予測モードに応じた付加情報より、予測モードとして動き補償予測もしくは合成動き補償予測が選択された場合に、動きベクトル予測復号部２１２に対して、予測したブロック単位を示す情報である動き補償予測モードもしくは合成画像動き補償予測モードと、復号した差分ベクトル値を出力すると共に、予測画像選択部２０４に対して予測モード情報を出力する。また、予測モード復号部２０３は、復号した予測モード情報に応じて、フレーム内予測部２１１、動き補償予測部２１３に対して、選択されたことを示す情報及び予測モードに応じた付加情報を出力する。
【００５４】
予測画像選択部２０４は、予測モード復号部２０３より入力された予測モード情報に応じて、フレーム内予測部２１１、動き補償予測部２１３の何れかより出力された、復号対象ブロックに対する予測画像を選択し、加算器２０７に出力する。
【００５５】
フレーム内予測部２１１は、復号した予測モードがフレーム内予測を示している場合に、予測モード復号部２０３より予測モードに応じた付加情報として、イントラ予測モードが入力され、イントラ予測モードに応じてフレーム内復号画像メモリ２０８に格納された、復号対象ブロックの周辺に対して復号が完了した領域の復号画像が入力され、符号化装置と同じイントラ予測モードでフレーム内の相関性を用いた予測が行なわれる。フレーム内予測部２１１は、予測により生成したフレーム内予測画像を、予測画像選択部２０４に出力する。
【００５６】
動きベクトル予測復号部２１２は、予測モード復号部２０３より入力された復号した差分ベクトル値に対して、周辺の復号済みブロックの動きベクトルを用いて、符号化装置で行う方式と同じ方法で予測動きベクトル値を算出し、差分ベクトル値と予測動きベクトル値を加算した値を、復号対象ブロックの動きベクトル値として動き補償予測部２１３及び複数参照画像合成部２１５に出力する。動きベクトルは、動き補償予測モードもしくは合成画像動き補償予測モードで示される、予測処理のブロック単位に従って符号化された数だけ復号される。
【００５７】
動き補償予測部２１３は、動きベクトル予測復号部２１２より入力された動きベクトル値と、複数参照画像合成部２１５より入力された合成した参照画像信号と、予測モード復号部２０３より入力された予測モードに応じた付加情報としての動き補償予測モード及び合成画像動き補償予測であるか否かを示す情報により動き補償予測画像を生成し、生成した動き補償予測画像を、予測画像選択部２０４に出力する。
【００５８】
複数参照画像合成部２１５では、動きベクトル予測復号部２１２より出力された合成画像動き補償予測モードで示される１つの参照画像に対する動きベクトル値と、復号参照画像メモリ２０９に格納された複数の参照画像を入力し、複数参照画像を用いた参照画像の合成処理が行なわれる。合成した参照画像信号は、動き補償予測部２１３に出力される。
【００５９】
複数参照画像合成部２１５は、本発明の実施の形態１の動画像符号化装置における、複数参照画像合成部１０７と対をなすものであり、このブロックの詳細動作に関しては後述する。
【００６０】
以下、実施の形態１の動画像符号化装置と動画像復号装置において動作する、合成した参照画像による動き補償予測の予測画像生成方法を、図３を用いて説明を行う。
【００６１】
図３（ｃ）が、本発明における合成画像動き補償予測手法を示す概念図である。図３（ａ）と図３（ｂ）は、ＭＰＥＧ４−ＡＶＣにおいて用いられている複数参照画像を用いた動き補償予測の概念図となる。
【００６２】
図３（ａ）は、双方向予測と呼ばれている２つの参照画像に対して符号化対象ブロックとの間で動きベクトルを検出し、それぞれの参照画像に対する動きベクトルを伝送すると共に、２つの動きベクトルで示される参照ブロックの平均値を予測画像とする手法である。２つの参照画像を合成することで、時間方向の動き適応フィルタとしての符号化劣化成分の除去機能と、符号化対象物の微少な輝度変化を平均化により参照画像で構成する予測画像を生成できる。
【００６３】
図３（ｂ）は、時間ダイレクトモードと呼ばれている動きベクトルの伝送なしに、２つの参照画像を用いた予測を行う手法である。参照画像２の符号化対象ブロックと同位置にあるブロックが参照画像１からの動き補償予測で生成されている場合に、その動きが時間的に連続していることを想定して、符号化対象ブロックと参照画像１と参照画像２の間の動きベクトル値を生成し、その動きベクトルにより双方向予測を行なう構成となる。動きベクトルを伝送することなく、２つの参照画像を合成した予測画像を生成できるが、図３（ｂ）で示されるように、参照画像1と参照画像２の間の動きベクトル値が大きい場合に、その動きベクトル値で表される動きが符号化対象ブロックから空間的に離れた位置の動きを示し、且つ時間的かつ連続している場合の動きに限定して暗黙に生成されており、空間的に時間的に動きベクトル値の連続性が少ない場合には、時間ダイレクトモードは有効に機能しない。
【００６４】
特許文献１に示される方法は、上記時間ダイレクトモードの品質を向上させる目的で、符号化側と復号側が共に参照画像間で符号化対象ブロックを中心に対称位置に存在するブロックでの動きを検出することで、符号化対象ブロックを跨ぐ時間連続性のある動きベクトルを生成する手法であるが、空間的に連続性のない条件に対しては有効に機能できるが、時間的に連続性の少ない場合には、時間ダイレクトモードと同様に有効に機能しない。
【００６５】
本発明の合成動き補償予測の予測構成は、図３（ｃ）で示されるように、参照画像１における動きベクトルは検出し符号化するとともに、参照画像１の動きベクトルで示された参照ブロックに対して、参照画像２に対する参照画像間での動きベクトル検出を符号化側と復号側で共に行い、参照画像１に対する動きベクトル値のみを伝送し、２つの参照画像を用いた合成参照画像を生成する事で、空間的・時間的に連続性が保たれていない画像に対して良好な双方向予測を可能とし、従来の双方向予測よりも少ない動きベクトル情報で動き補償予測処理が実現出来る。
【００６６】
続いて、図４に実施の形態１の動画像符号化装置における複数参照画像合成部の構成図を示し、参照画像の合成処理の動作を説明する。図４に示すように、複数参照画像合成部１０７は、基準参照画像取得部４００、動きベクトル検出範囲設定部４０１、参照画像間動きベクトル検出部４０２、合成参照画像取得部４０３、参照画像合成部４０４、及び合成画像メモリ４０５を備える。
【００６７】
最初に動きベクトル検出部１０４より、基準参照画像取得部４００及び動きベクトル検出範囲設定部４０１に、第１参照画像と符号化対象ブロックとの間の動きベクトル値ＭＶ１が入力される。基準参照画像取得部４００では、入力されたＭＶ１を用いて復号参照画像メモリ１１７から、第１参照画像の参照ブロックを取得する。基準参照画像取得部４００は、取得した第１の参照ブロックを参照画像間動きベクトル検出部４０２及び参照画像合成部４０４に出力する。
【００６８】
続いて動きベクトル検出範囲設定部４０１では、第１の参照ブロックに対して第２参照画像の間での動きベクトルを検出する範囲を設定する。参照画像間の動きベクトルの検出範囲に関しては、符号化装置と復号装置において同じ検出範囲設定を暗黙に行う手法を適用可能であるが、フレーム単位や用いられる参照画像毎の検出範囲設定を符号化情報として伝送する手法を用いることも可能である。実施の形態１においては、検出範囲の設定を暗黙に設定し（例：±３２画素）、動きベクトルの検出範囲の中心を、参照画像における符号化対象ブロックの位置と同じ位置とするものとする。
【００６９】
参照画像間動きベクトル検出部４０２は、基準参照画像取得部４００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部４０１より指定された動きベクトルの検出範囲における第２参照画像の参照ブロックを、合成参照画像取得部４０３を介して復号参照画像メモリ１１７より取得し、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを参照画像間動きベクトルとして算出する。参照画像間動きベクトルの検出精度に関しても同様に、符号化装置と復号装置において同じ検出精度の動きベクトル検出を暗黙に行う手法を適用可能であるが、フレーム単位や用いられる参照画像毎に動きベクトルの検出精度を符号化情報として伝送する手法を用いることも可能である。ここでは、暗黙の設定として１／４画素精度の検出精度とする。参照画像間動きベクトル検出部４０２は、算出した参照画像間動きベクトルを参照画像合成部４０４に出力する。
【００７０】
参照画像合成部４０４では、基準参照画像取得部４００より第１の参照ブロックを入力すると共に、参照画像間動きベクトル検出部４０２より参照画像間動きベクトルを入力し、参照画像間動きベクトルによって示される第２参照画像の参照ブロックを、合成参照画像取得部４０３を介して復号参照画像メモリ１１７より取得することで、第２の参照ブロックを得る。参照画像合成部４０４では、第１の参照ブロックと第２の参照ブロックとの間での合成処理を行う。実施の形態１における合成処理は、例えば第１の参照ブロックと第２の参照ブロックの画素毎の平均を取ることで合成した参照ブロックとして生成する手法をとる。参照画像合成部４０４は、合成した参照ブロックを、合成画像メモリ４０５を介して動き補償予測部１０５に出力する。
【００７１】
次に、実施の形態１の動画像復号装置における複数参照画像合成部２１５の構成を図５に示し動作を説明する。図５に示すように、複数参照画像合成部２１５は、基準参照画像取得部１０００、動きベクトル検出範囲設定部１００１、参照画像間動きベクトル検出部１００２、合成参照画像取得部１００３、参照画像合成部１００４、及び合成画像メモリ１００５から構成され、それぞれの動作は、図４に示した、基準参照画像取得部４００、動きベクトル検出範囲設定部４０１、参照画像間動きベクトル検出部４０２、合成参照画像取得部４０３、参照画像合成部４０４、及び合成画像メモリ４０５と同様の動作を行う。
【００７２】
最初に動きベクトル予測復号部２１２より、基準参照画像取得部１０００及び動きベクトル検出範囲設定部１００１に、復号した動きベクトル値ＭＶ１が入力される。基準参照画像取得部１０００では、入力されたＭＶ１を用いて復号参照画像メモリ２０９から、第１参照画像の参照ブロックを取得する。基準参照画像取得部１０００は、取得した第１の参照ブロックを参照画像間動きベクトル検出部１００２及び参照画像合成部１００４に出力する。
【００７３】
続いて動きベクトル検出範囲設定部１００１では、第１の参照ブロックに対して第２参照画像の間での動きベクトルを検出する範囲を設定する。検出する範囲に関しては、実施の形態１においては暗黙の設定で１／４画素精度の検出精度、動きベクトルの検出範囲の中心が参照画像における符号化対象ブロックの位置と同じ位置で±３２画素の検出範囲としている。動きベクトル検出範囲設定部１００１は、設定した動きベクトル検出範囲の情報を参照画像間動きベクトル検出部１００２に出力する。
【００７４】
参照画像間動きベクトル検出部１００２は、基準参照画像取得部１０００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部１００１より指定された動きベクトルの検出範囲における第２参照画像の参照ブロックを、合成参照画像取得部１００３を介して復号参照画像メモリ２０９より取得し、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを参照画像間動きベクトルとして算出する。参照画像間動きベクトル検出部１００２は、算出した参照画像間動きベクトルを参照画像合成部１００４に出力する。
【００７５】
参照画像合成部１００４では、基準参照画像取得部１０００より第１の参照ブロックを入力すると共に、参照画像間動きベクトル検出部１００２より参照画像間動きベクトルを入力し、参照画像間動きベクトルによって示される第２参照画像の参照ブロックを、合成参照画像取得部１００３を介して復号参照画像メモリ２０９より取得することで、第２の参照ブロックを得る。参照画像合成部１００４では、第１の参照ブロックと第２の参照ブロックとの間での合成処理を行う。参照画像合成部１００４は、合成した参照ブロックを、合成画像メモリ１００５を介して動き補償予測部２１３に出力する。
【００７６】
本発明の実施の形態１の動画像符号化装置及び動画像復号装置により、符号化対象ブロックと第１の参照画像の間で動きベクトルを求めて動き補償予測した参照画像に対して、他の参照画像を合成するとことで、予測残差の少ない動き補償予測画像を１つの動きベクトルを伝送するだけの少ない付加情報で実現できる。
【００７７】
尚、参照画像間動きベクトルの値と動きベクトル値ＭＶ１を用いることで、符号化対象ブロックと第２参照画像の間の動きベクトル値を生成することができ、その値を動きベクトル予測部１０６、動きベクトル予測復号部２１２に格納し、後続する符号化対象ブロックに対する予測動きベクトル値に用いることが可能である。これにより、復号装置が認識できる動きベクトル値が増えて動きベクトルの予測精度が向上することで、より少ない情報で動きベクトルが伝送できるという新たな効果を有する。
【００７８】
（実施の形態２）
続いて、実施の形態２にについて説明を行う。実施の形態２においては、参照画像の合成処理に用いる動きベクトルの精度を荒くして、合成後の参照画像に対して細かい精度の位相合わせを行う構成を取る。図６は、実施の形態２の動画像符号化装置の構成を示すブロック図である。
【００７９】
図６に示すように、実施の形態２の動画像符号化装置は、入力端子１００、入力画像バッファ１０１、ブロック分割部１０２、フレーム内予測部１０３、動きベクトル検出部１０４、動き補償予測部１０５、動きベクトル予測部１０６、複数参照画像合成部１０７、合成画像動き補償予測部１０８、予測モード判定部１０９、減算器１１０、直交変換部１１１、量子化部１１２、逆量子化部１１３、逆直交変換部１１４、加算器１１５、フレーム内復号画像メモリ１１６、復号参照画像メモリ１１７、エントロピー符号化部１１８、ストリームバッファ１１９、出力端子１２０、及び符号量制御部１２１を備える。実施の形態１に対して、合成画像動き補償予測部１０８の機能が加わると共に、複数参照画像合成部１０７の動作が異なる構成となる。追加された合成画像動き補償予測部１０８に関連する機能ブロックの動作のみ説明を加える。
【００８０】
動き補償予測部１０５は、動きベクトル検出部１０４によって求められた動きベクトル値を入力し、実施の形態１と同様に１６×１６以下の複数のブロックサイズ及び複数の参照画像に対する、動き補償予測画像を生成し、ブロック分割部１０２より入力された符号化対象ブロックに対して、最も符号化する差分情報が少ない予測信号を選択し、選択された動き補償予測モードと予測信号を予測モード判定部１０９に出力する。
【００８１】
動きベクトル予測部１０６は、周辺の符号化済みブロックの動きベクトルを用いて、実施の形態１と同様に手法で予測動きベクトル値を算出し、動きベクトル検出部１０４、動き補償予測部１０５及び合成画像動き補償予測部１０８に供給する。
【００８２】
複数参照画像合成部１０７は、動きベクトル検出部１０４より出力された１つの参照画像に対する動きベクトル値と、復号参照画像メモリ１１７に格納された複数の参照画像を入力し、複数参照画像を用いた参照画像の合成処理が行なわれる。合成した参照画像信号は、合成画像動き補償予測部１０８に出力される。
【００８３】
合成画像動き補償予測部１０８は、複数参照画像合成部１０７より入力された合成した参照画像信号と、動きベクトル予測部１０６より入力された予測動きベクトル値を用いて、ブロック分割部１０２より入力された符号化対象ブロックに対して、最も符号化する差分情報が少ない予測信号を選択し、選択された合成画像動き補償予測モードと予測信号を予測モード判定部１０９に出力する。複数参照画像合成部１０７及び合成画像動き補償予測部１０８の詳細動作に関しては後述する。
【００８４】
続いて、実施の形態２の動画像符号化装置により生成された符号化ビットストリームを復号する、動画像復号装置を説明する。図７は、実施の形態２の動画像復号装置の構成図である。
【００８５】
図７に示すように、実施の形態２の動画像復号装置は、入力端子２００、ストリームバッファ２０１、エントロピー復号部２０２、予測モード復号部２０３、予測画像選択部２０４、逆量子化部２０５、逆直交変換部２０６、加算器２０７、フレーム内復号画像メモリ２０８、復号参照画像メモリ２０９、出力端子２１０、フレーム内予測部２１１、動きベクトル予測復号部２１２、動き補償予測部２１３、動きベクトル分離部２１４、複数参照画像合成部２１５、及び合成画像動き補償予測部２１６を備える。実施の形態１に対して、動きベクトル分離部２１４、合成画像動き補償予測部２１６の機能が加わると共に、複数参照画像合成部２１５の動作が異なる構成となる。追加された動きベクトル分離部２１４及び合成画像動き補償予測部２１６に関連する機能ブロックの動作のみ説明を加える。
【００８６】
予測モード復号部２０３では、実施の形態１と同様の処理を行うが、復号した予測モード情報に応じて、フレーム内予測部２１１、動き補償予測部２１３、及び合成動き補償予測部２１６に対して、選択されたことを示す情報及び予測モードに応じた付加情報を出力する部分が動作として異なる。
【００８７】
予測画像選択部２０４は、予測モード復号部２０３より入力された予測モード情報に応じて、選択する予測画像の選択が、フレーム内予測部２１１、動き補償予測部２１３に加えて、合成動き補償予測部２１６を含めた何れかより出力された、復号対象ブロックを入力し選択処理が行われ、加算器２０７に出力する。
【００８８】
動きベクトル予測復号部２１２は、実施の形態１と同様の方法で復号対象ブロックの動きベクトル値を算出し、動きベクトル値を動き補償予測部２１３及び合成画像動き補償予測部２１６に出力する。動きベクトルは、動き補償予測モードもしくは合成画像動き補償予測モードで示される、予測処理のブロック単位に従って符号化された数だけ復号される。
【００８９】
動き補償予測部２１３は、動きベクトル予測復号部２１２より入力された動きベクトル値と、予測モード復号部２０３より入力された予測モードに応じた付加情報としての動き補償予測モードより動き補償予測画像を生成し、生成した動き補償予測画像を、予測画像選択部２０４に出力する。
【００９０】
動きベクトル分離部２１４は、動きベクトル予測復号部２１２より入力された動きベクトル値に対して、所定の画素精度に変換された動きベクトル値（以降、基準動きベクトル値と記す）と、動きベクトル値と基準動きベクトル値との差分ベクトル値（以降、補正ベクトル値と記す）に分離し、基準動きベクトル値を複数参照画像合成部２１５に出力し、補正ベクトル値を合成画像動き補償予測部２１６に出力する。基準動きベクトル値及び補正ベクトル値は、合成画像動き補償予測モードで示される、予測処理のブロック単位に従って符号化された数だけ復号される。
【００９１】
複数参照画像合成部２１５では、動きベクトル分離部２１４より出力された合成画像動き補償予測モードで示される１つの参照画像に対する基準動きベクトル値と、復号参照画像メモリ２０９に格納された複数の参照画像を入力し、複数参照画像を用いた参照画像の合成処理が行なわれる。合成した参照画像信号は、合成画像動き補償予測部２１６に出力される。
【００９２】
合成画像動き補償予測部２１６は、複数参照画像合成部２１５より入力された合成した参照画像信号と、動きベクトル分離部２１４より出力された合成画像動き補償予測モードで示される１つの参照画像に対する補正ベクトル値を用いて、合成した参照画像信号より復号対象ブロックに対する予測ブロックを切り出す。合成画像動き補償予測部２１６は、合成画像動き補償予測モードで示された全てのブロックに対して、切り出された予測ブロックを合わることで生成した合成動き補償予測画像を、予測画像選択部２０４に出力する。
【００９３】
複数参照画像合成部２１５及び合成画像動き補償予測部２１６は、本発明の実施の形態２の動画像符号化装置における、複数参照画像合成部１０７及び合成画像動き補償予測部１０８と対をなすものであり、これらのブロック及び動きベクトル分離部２１４の詳細動作に関しては後述する。
【００９４】
以下、実施の形態２の動画像符号化装置と動画像復号装置において動作する、合成画像動き補償予測の予測画像生成方法の全体としての仕組みを、図８を用いて説明を行い、続いて詳細動作を説明する。
【００９５】
図８は、本発明の実施の形態２における、合成画像動き補償予測処理の動作を示す概念図である。符号化装置側では、最初に符号化対象フレームと、基準にする参照画像を第１参照画像として、符号化対象フレームと第１参照画像間の動きベクトルの検出を行い、第１の動きベクトル値ＭＶ１を生成する。図６の構成においては、ＭＶ１は動きベクトル検出部１０４により求める。ここでは、ＭＶ１の精度をＮ画素とする（例：１画素）。動きベクトル検出部１０４により検出された動きベクトル値が、Ｎ画素精度よりも細かい精度である場合には、検出された動きベクトル値をＮ画素精度に丸めることで、ＭＶ１を生成する。
【００９６】
次にＭＶ１により第１参照画像から切り出された参照ブロックを第１の参照ブロックとして、第１の参照ブロックと第２参照画像との間の参照画像間動きベクトルを検出する。検出した動きを元に、第１の参照ブロックとその周囲に対して、Ｍ＜ＮであるＭ画素（例：１／４画素）精度の予測画像をフィルタリング等の手段で生成し、第２参照画像より参照画像間動きベクトルを用いて切り出した第２の参照ブロックとその周囲に対して、同様の精度の予測画像を生成し、これらを用いて周囲を含む合成した予測画像を生成する。
【００９７】
最後に生成した周囲を含む予測画像に対して、符号化対象ブロックとの間でブロックマッチング等の手段でＭ画素精度の動きベクトル検出を行い、その結果検出された第２の動きベクトル値ＭＶ２を、符号化対象ブロックと第１参照画像との間の動きベクトルとして符号化・伝送すると共に、ＭＶ２で指定された合成した予測画像を、合成動き補償予測ブロックとして、符号化対象ブロックより減算し、差分ブロックを符号化・伝送する。
【００９８】
一方、復号装置側では、最初に受信した第２の動きベクトル値ＭＶ２をＮ画素精度に丸めることで、第１の動きベクトル値ＭＶ１を復元する。次にＭＶ１により第１参照画像から切り出された参照ブロックを第１の参照ブロックとして、第１の参照ブロックと第２参照画像との間の参照画像間動きベクトルを検出する。検出した動きを元に、第１の参照ブロックとその周囲に対して、Ｍ画素精度の予測画像を符号化側で規定したフィルタリング等の手段で生成し、第２参照画像より参照画像間動きベクトルを用いて切り出した第２の参照ブロックとその周囲に対して、同様の精度の予測画像を生成し、これらを用いて周囲を含む合成した予測画像を生成する。
【００９９】
最後に生成した周囲を含む予測画像に対して、第２の動きベクトル値ＭＶ２で指定され位置の合成した予測画像を切り出すことにより、符号化装置側で生成したものと同じ合成動き補償予測ブロックが生成できる。
【０１００】
この仕組みにおいては、第１の参照ブロックを符号化対象ブロックに近い情報を持つブロックとしてテンプレートとして、他の参照画像との間での動き補償を伴う画像合成を行う事で、ＭＰＥＧ−４  ＡＶＣ等の動き補償予測における、２つの参照画像を用いた予測（双方向予測）に近い特性を持つ予測信号を生成できるという実施の形態１と同様の効果が得られる。そしてそれと共に、符号化装置側で１／４精度レベルの細かい精度毎の合成処理による動きベクトル値確定を行う必要がなく、１画素精度レベルの荒い精度の動きベクトル値を基準にして動きベクトル値の細かい精度（Ｍ画素精度）での補正を、合成した参照画像に対して行うことが出来るため、少ない処理で合成処理において微少に移動した位相の補正や、合成処理において参照画像のノイズ成分が除去された結果を加味した、動きベクトル値が得られ、精度の高い予測画像ブロックが生成できる。
【０１０１】
また、復号装置において、１画素精度レベルの参照画像の画素を直接取得することで生成できる画像を合成処理における参照画像間の動きベクトル検出に用いることが可能となり、小数画素精度のフィルタリング処理と、動きベクトル検出処理を並列動作することが可能になるという効果もある。
【０１０２】
次に、図８で示した仕組みを実現する、符号化装置における複数参照画像合成部１０７の構成を図９に、複数参照画像合成部１０７及び合成画像動き補償予測部１０８において動作する、合成画像動き補償予測処理のフローチャートを図１０に示し、その詳細動作を説明する。
【０１０３】
図９に示すように、複数参照画像合成部１０７は、基準参照画像取得部４００、動きベクトル検出範囲設定部４０１、参照画像間動きベクトル検出部４０２、合成参照画像取得部４０３、参照画像合成部４０４、及び合成画像メモリ４０５を備える。
【０１０４】
最初に動きベクトル検出部１０４より、基準参照画像取得部４００及び動きベクトル検出範囲設定部４０１に、第１参照画像と符号化対象ブロックとの間の動きベクトル値ＭＶ１が入力される。基準参照画像取得部４００では、入力されたＭＶ１を用いて復号参照画像メモリ１１７から、第１参照画像の参照ブロックを取得する。参照ブロックの取得領域は、符号化対象ブロックに対して、ＭＶ１の値だけ移動した第１参照画像の位置を基準に、対象ブロック±Ｎ／２画素以上のＭ画素精度（Ｍ＜Ｎ）の参照画像を作成する為に必要な領域をとる。例えば、Ｎが１画素、Ｍが１／４画素で、１／４画素精度画像を生成するために必要な拡大フィルタをＭＰＥＧ−４ ＡＶＣで用いている６タップのフィルタを用いる場合では、符号化対象ブロックサイズに加えて±３画素の領域の参照画像を、第１の参照ブロックとして取得する。基準参照画像取得部４００は、取得した第１の参照ブロックを参照画像間動きベクトル検出部４０２及び参照画像合成部４０４に出力する。
【０１０５】
続いて動きベクトル検出範囲設定部４０１では、第１の参照ブロックに対して第２参照画像の間での動きベクトルを検出する範囲を設定する。参照画像間の動きベクトルの検出範囲に関しては、符号化装置と復号装置において同じ検出範囲設定を暗黙に行う手法を適用可能であるが、フレーム単位や用いられる参照画像毎の検出範囲設定を符号化情報として伝送する手法を用いることも可能である。実施の形態２における、検出範囲の設定アルゴリズムに関しては、図１０を用いて後で説明する。動きベクトル検出範囲設定部４０１は、設定した動きベクトル検出範囲の情報を参照画像間動きベクトル検出部４０２に出力する。
【０１０６】
参照画像間動きベクトル検出部４０２は、基準参照画像取得部４００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部４０１より指定された動きベクトルの検出範囲における第２参照画像の参照ブロックを、合成参照画像取得部４０３を介して復号参照画像メモリ１１７より取得し、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを参照画像間動きベクトルとして算出する。参照画像間動きベクトルの検出精度に関しても同様に、符号化装置と復号装置において同じ検出精度の動きベクトル検出を暗黙に行う手法を適用可能であるが、フレーム単位や用いられる参照画像毎に動きベクトルの検出精度を符号化情報として伝送する手法を用いることも可能である。参照画像間動きベクトル検出部４０２は、算出した参照画像間動きベクトルを参照画像合成部４０４に出力する。
【０１０７】
参照画像合成部４０４では、基準参照画像取得部４００より第１の参照ブロックを入力すると共に、参照画像間動きベクトル検出部４０２より参照画像間動きベクトルを入力し、参照画像間動きベクトルによって示される第２参照画像の参照ブロックを、合成参照画像取得部４０３を介して復号参照画像メモリ１１７より取得することで、第２の参照ブロックを得る。参照画像合成部４０４では、第１の参照ブロックと第２の参照ブロックとの間での合成処理を行う。実施の形態２における合成処理は、例えば第１の参照ブロックと第２の参照ブロックの画素毎の平均を取ることで合成した参照ブロックとして生成する手法をとる。参照画像合成部４０４は、合成した参照ブロックを、合成画像メモリ４０５を介して合成画像動き補償予測部１０８に出力する。
【０１０８】
続いて、これらの構成を用いた合成画像動き補償予測処理の動作を、図１０のフローチャートを用いて説明する。図１０においては、１フレームの符号化処理における合成画像動き補償予測の動作の流れを示している。他の処理部の動作に関しては、ＭＰＥＧ−４ ＡＶＣ等の従来の動画像符号化処理を用いることが可能である。
【０１０９】
１フレームの処理開始時に、最初に参照画像毎の合成対象参照画像を確定する（Ｓ５００）。実施の形態２における動き補償予測の参照画像は複数毎から選択して用いることが可能である。図１１に実施の形態２における符号化処理の処理順と参照画像管理の一例を示し、説明する。
【０１１０】
Ｉスライスと呼ばれる動き補償予測を用いない符号化を行う処理が、最初のフレームや完結的に行われる。Ｉスライスで符号化された復号画像は復号参照画像メモリ１１７に蓄えられ、続いて符号化するフレームの参照画像となる。
【０１１１】
Ｐスライスは、時間的に前のフレームの復号画像を参照画像とし、動き補償予測を用いた時間相関による圧縮を可能とするフレームである。図１１における、実施の形態２の符号化処理順の一例においては、Ｐスライスの復号画像はすべて参照画像として用いられる。追加された参照画像は、復号参照画像メモリ１１７に蓄えられ、予め定義された参照画像の枚数まで格納する。
【０１１２】
Ｂスライスは、２つの参照画像を加算して動き補償予測を行うことが可能なフレームで、時間的に前後の参照画像を用いて予測精度の高い動き補償予測が可能となるが、２つの参照画像を用いる場合には、２つの動きベクトルを符号化する必要がある。図１１における、実施の形態２の符号化処理順の一例においては、Ｂスライスの復号画像は参照画像として用いない。
【０１１３】
図１１に示している例のように、Ｂスライスが１フレーム毎に設定された符号化処理で、参照画像を４枚格納できる場合には、Ｉフレーム、Ｐフレームの符号化後に新たな参照画像を格納し、４枚以上になる場合には１枚の参照画像を廃棄することで新しい復号画像を参照画像として用いる。図１１における、実施の形態２の参照画像管理の一例においては、廃棄する参照画像は時間的に最も古いフレームを選択している。
【０１１４】
このように、符号化対象フレームに対して複数毎の参照画像を選択的に用いることが出来るため、最初に参照画像毎に合成の対象とする参照画像を確定させる処理を行う。暗黙の規定を定めて、符号化装置・復号装置で同様の判断を行うことで、正しい合成処理が可能となる。
【０１１５】
例えば、符号化対象フレームがＢスライスの場合には、基本の参照画像となる第１参照画像に対して、符号化対象フレームを跨いだ時間関係にある、符号化対象フレームに最も近い参照画像を、合成するために用いる参照画像である第２参照画像とする。符号化対象がＰスライスの場合には、第１参照画像が符号化対象フレームに最も近い参照画像である場合には、２番目に近い参照画像を第２参照画像とし、それ以外の場合には第2参照画像を符号化対象フレームに最も近い参照画像とする。
【０１１６】
全ての参照画像に対して合成対象となる参照画像を確定されたら、続いて参照画像間の動きベクトル検出精度を確定する（Ｓ５０１）。ここでは、動きベクトル検出精度は、最終的な合成動き補償予測で伝送する検出精度である１／４画素を設定するが、たとえば１／８画素精度など、より細かい精度での動きを求めることで、伝送する動きベクトルの精度を上げることなく、細かい精度での合成処理を行うことも可能である。
【０１１７】
続いて、参照画像間の動きベクトル検出範囲を確定する（Ｓ５０２）。検出範囲に関しては、全ての第１の参照ブロックに対して、第２参照画像の全領域を動きベクトル検出範囲にとることも可能であり、復号装置と同じ定義で検出処理を行うことで、実施の形態２における符号化装置は機能するが、参照画像間の動きベクトル検出における演算量を減らすために、図１２で示すような検出範囲の設定を行う。
【０１１８】
図１２は、実施の形態２における参照画像間の動きベクトル検出範囲の一例である。符号化対象画像の入力時刻をPoc_Cur、第１参照画像の入力時刻をPoc_Ref1、第２参照画像の入力時刻をPoc_Ref2とすると、符号化対象ブロックに対する第１参照画像からの動きベクトルＭＶ１に対して、第２参照画像の探索範囲を符号化対象ブロックの位置を基準にすると、探索中心位置を
α＝ＭＶ１×（Poc_Cur -Poc_Ref2）／（Poc_Cur -Poc_Ref1）
で表されるように、時間的に動きが連続していることを想定した場合の符号化対象ブロックと第２参照画像の間の動きベクトル予測値に設定する。
【０１１９】
しかしながら、カメラの動きや物体の動き等、時間的に連続な変化ではない状況も多いため、探索位置を中心として特定の領域に関して動きベクトルを探索することで、合成処理に適切な第２参照画像の参照ブロックを取得できるようにする。図１２に示した一例においては、特定の領域として、±４画素の領域を指定している。
【０１２０】
具体的には、Ｓ５０２においては、上記±４画素の定義を確定させる処理を行うのみで、各符号化対象ブロックに対しての合成参照画像を取得するための探索中心位置の算出は、対象ブロック毎に計算される。
【０１２１】
続いて、フレーム単位での処理定義の内で符号化ビットストリームとして伝送することで、復号装置に同様の処理を機能させる情報を、フレーム単位の情報を伝送するスライスヘッダにおいて伝送する。図１３に実施の形態２におけるスライスヘッダへの追加情報の一例を示す。
【０１２２】
図１３のスライスヘッダは、ＭＰＥＧ−４  ＡＶＣにおけるスライスヘッダを基本としているため、記述している部分は追加した情報に関するものだけである。合成動き補償予測はフレーム間の予測方式であるＩスライスでは使用しないため、Ｉスライス以外の場合に追加した情報を伝送する。
【０１２３】
最初に合成動き補償予測を行うか否かをスライス単位で制御する情報であるrefinement_mc_enableを１ビット伝送する。更に、refinement_mc_enableが１である（合成動き補償予測を行う）場合に、以下の３つの情報を伝送する。
【０１２４】
１つは、従来の動き補償予測と適応的に切り替えるか、従来の動き補償予測と合成動き補償予測を置き換えるかを示す情報であり、refinement_mc_adaptiveとして１ビット伝送する。
【０１２５】
２つ目は、参照画像間の動きベクトル検出範囲を示す情報として２ビットのデータをrefinement_mc_matching_range_fullとして伝送する。一例としては、２ビットのデータが、以下の検出範囲が定義されたことを示すようにする。
００    ±１画素
０１    ±２画素
１０    ±４画素
１１    ±８画素
【０１２６】
３つ目は、参照画像間の動きベクトル検出精度を示す情報として２ビットのデータをrefinement_mc_matching_subpelとして伝送する。一例としては、２ビットのデータが、以下の検出精度が定義されたことを示すようにする。
００    １画素精度（小数精度の検出を行わない）
０１    １／２画素精度
１０    １／４画素精度
１１    １／８画素精度
【０１２７】
このようにして、フレーム単位での設定確定後に、符号化対象フレーム内の符号化対象ブロックであるマクロブロックに対する、合成動き補償予測処理が施される。各マクロブロックに対して（Ｓ５０４）、全ての参照画像に対して（Ｓ５０５）、最初に選択した参照画像を第１参照画像とした第１の動きベクトル検出を行う（Ｓ５０６）。
【０１２８】
上記検出処理は、従来の動き補償予測において用いられている動きベクトル検出部１０４により動作できるが、従来の動き補償予測を用いない場合には同様の動きベクトル検出処理を合成動き補償予測に加えるか、もしくは常に第１の動きベクトル値として、動きベクトル予測部１０６から出力する予測動きベクトル値を第１の動きベクトル値とすることも可能である。
【０１２９】
第１の動きベクトル値として、予測動きベクトル値を用いた場合には、差分動きベクトル値が参照画像を合成した後の、微少範囲に対する検索結果としての中心位置からのずれ量となり、伝送する差分動きベクトル情報が少なくなるメリットがある。
【０１３０】
第１の動きベクトルは１画素精度とし、動きベクトル検出部１０４又は動きベクトル予測部１０６から入力される動きベクトル値が１画素未満の精度の動きベクトルであった場合には、１画素精度に丸める動作を施す。例えば、入力された動きベクトル値ＭＶ１orgが１／４画素精度であった場合には、第１の動きベクトル値ＭＶ１を以下のように計算で求める。
ＭＶ１＝（ＭＶ１org ＋２）＞＞２
続いて、第１の動きベクトルより第１の参照ブロックを取得する（Ｓ５０７）。図９の説明において記述したように、第１の参照ブロックは、符号化対象ブロックに対して、ＭＶ１の値だけ移動した第１参照画像の位置を基準に、対象ブロック±１／２画素以上の１／４画素精度の参照画像を作成する為に必要な領域として、符号化対象ブロックサイズに加えて±３画素の領域の参照画像を取得する。
【０１３１】
次に、第１の動きベクトルより第２参照画像の検出範囲を設定する（Ｓ５０８）。第２参照画像にどの参照画像を用いるかを、Ｓ５００によって決めた定義により確定する。検出範囲に関しては、Ｓ５０２において説明した図１２に示される検出範囲が設定される。設定された検出範囲に対して、第１の参照ブロックと第２参照画像との間で参照画像間の動きベクトル検出が施される（Ｓ５０９）。
【０１３２】
続いて、検出された参照画像間動きベクトルを用いて、第２の参照ブロックを取得する（Ｓ５１０）。第２の参照ブロックは、第１の参照ブロックに対して参照画像間の動きベクトル値だけ移動した第２参照画像の位置を基準に、第１の参照ブロックと同様の符号化ブロックサイズ±３画素の領域の参照画像を取得する。
【０１３３】
次に、第１の参照ブロックと第２の参照ブロックを合成し、合成参照画像ブロックを生成する（Ｓ５１１）。合成するアルゴリズムとしては、第１の参照ブロックと第２の参照ブロックの画素毎の平均値を算出することで合成参照画像ブロックを生成する。尚、合成参照画像ブロックにおいて、ＭＰＥＧ−４ ＡＶＣにおいて用いられる重み付け予測（Weighted Prediction）に対応することも可能であり、合成参照画像ブロックに対して重みを付けることや、第１の参照ブロックと第２の参照ブロックの加算比率を、符号化対象画像からの距離に反比例させて重み付け加算平均を取ることも可能であり、これらを切り替える場合には加算方法を指定するための情報をフレーム単位やマクロブロック単位で伝送する。
【０１３４】
続いて、合成参照画像ブロック内と符号化対象ブロックとの間で、微少範囲の動きベクトル検出を行い、第２の動きベクトル値を生成する（Ｓ５１２）。具体的には、第１の動きベクトル値が１画素精度で、１／４画素精度の動きベクトルを検出する場合には、第１の参照ブロックに対して、第１の動きベクトルＭＶ１で示される位置を基準に±１／２画素の範囲内を１／４画素単位で水平・垂直に移動させながら、合成参照画像ブロックの同位置より符号化対象ブロックと同じサイズのブロックを切り出し、符号化対象ブロックとのブロックマッチングを行う。
【０１３５】
ブロックマッチングの結果、符号化対象ブロックとの誤差評価値が最も小さいものを第２動きベクトル値ＭＶ２として算出する。上記移動させた範囲を示す移動量をＭＶdeltaとすると、
ＭＶ２＝（ＭＶ１＜＜２）＋ＭＶdelta
として出力される。
【０１３６】
ここで、ＭＶdeltaは、１／４画素精度で水平・垂直共に−２≦ＭＶdelta＜２で算出されるため、ＭＶ２に対して、復号側でＭＶ１＝（ＭＶ２＋２）＞＞２の処理を行う事で、第１の動きベクトルが復元できる。
【０１３７】
続いて、求められた第２の動きベクトル値ＭＶ２で示される位置を基準に、合成参照画像ブロックより合成動き補償予測ブロックを切り出し、誤差評価値を算出する。誤差評価値は、ブロックマッチング等による誤差の総和だけでなく、動きベクトル等の伝送に必要な符号量や、求められた合成動き補償予測ブロックを用いて、符号化対象ブロックより減算した予測差分ブロックを符号化した際に要する符号量を加味して、符号量と復号後の入力画像との歪量を計算した値として算出することも可能である。
【０１３８】
Ｓ５０６からＳ５１３までの処理は、すべての参照画像に対して施され、参照画像が最後の参照画像でない場合（Ｓ５１４：ＮＯ）には、次の参照画像を第１の参照画像として選択し（Ｓ５１５）、Ｓ５０６に戻る。参照画像が最後の参照画像である場合（Ｓ５１４：ＹＥＳ）には、すべての参照画像に対して求められた第２の動きベクトル値より、誤差評価値の最も小さなものを選択し、選択した第２の動きベクトル値と第２の動きベクトル値を算出する際に用いた第１参照画像を示す情報を、誤差評価値と共に予測モード判定部１０９に出力する（Ｓ５１６）。
【０１３９】
予測モード判定部１０９では、他の予測モードとの間で誤差評価値が比較され、最適な予測モードを決定する（Ｓ５１７）。
【０１４０】
決定した予測モードの予測画像と符号化対象ブロックの差分である、予測差分ブロックと、予測モードに関連する付加情報が符号化される（Ｓ５１８）ことで、１つのマクロブロックに対する符号化処理が終了する。
【０１４１】
動きベクトル値に関しては、従来の動き補償予測が選択された場合と、合成動き補償予測が選択された場合で同様に、続くマクロブロックの動きベクトル予測に用いるために、動きベクトル予測部１０６に格納される。合成動き補償予測において伝送する第２の動きベクトル値は、合成処理を施さない場合の第１参照画像の動きベクトル値としては、従来の動き補償予測と同様の相関性があるため、別々に管理せずに同一に取り扱うことで、周辺ブロックの参照可能な動きベクトル値を増やし、従来と同等の動きベクトルの予測精度を保つことが可能となる。
【０１４２】
また、図１０のフローチャートにおいては、マクロブロック内の符号化対象ブロックサイズを１つとして説明しているが、ＭＰＥＧ−４  ＡＶＣと同様に１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４等のブロックサイズ単位で合成動き補償予測を施すことが可能であり、その場合にはブロックサイズ別の合成動き補償予測の誤差評価値を算出し、最も誤差評価値の小さなブロックサイズが選択され、予測モードを伝送することで選択結果を復号装置が認識できる。
【０１４３】
図１３に示したスライスヘッダ情報として、refinement_mc_adaptive＝１を伝送した場合には、通常の動き補償予測と合成動き補償予測とを適応的に切り替える処理が行われる。
【０１４４】
図１４に実施の形態２における動き補償予測モードへの追加情報の一例を示す。切り替え情報は、動きベクトルを使用しないフレーム内予測（Intra）と予測した動きベクトル値だけを用いるダイレクトモード（Direct）以外の場合に、適用されたモードにしたがって動きベクトルを伝送する参照画像単位で、１ビットのON/OFF情報として伝送する。図１４における、refmc_on_l0[ mbPartIdx ]及びrefmc_on_l1[ mbPartIdx ]が、該当する情報となる。
【０１４５】
Ｂスライスにおける双方向予測（２つの参照画像を用いて加算予測を行う）において、１つずつの参照画像に対して合成参照画像を予測画像として用いるか否かを選択することも可能であり、参照画像の選択と併せると、２つの動きベクトルで最大４つの参照画像から合成動き補償予測を行うことができ、予測画像の品質を更に向上することが可能である。
【０１４６】
マクロブロックの符号化が終了したら、最後のマクロブロックでない場合（Ｓ５１９：ＮＯ）には、次のマクロブロックを指定し（Ｓ５２０）、Ｓ５０４に移動する。最後のマクロブロックである場合には（Ｓ５１９：ＹＥＳ）、１フレームの符号化処理を終了する。
【０１４７】
次に、図８の仕組みを実現する復号装置における複数参照画像合成部２１５の構成を図１５に、動きベクトル分離部２１４、複数参照画像合成部２１５及び合成画像動き補償予測部２１６において動作する、合成画像動き補償予測処理のフローチャートを図１６に示し、その詳細動作を説明する。
【０１４８】
図１５に示すように、複数参照画像合成部２１５は、基準参照画像取得部１０００、動きベクトル検出範囲設定部１００１、参照画像間動きベクトル検出部１００２、合成参照画像取得部１００３、参照画像合成部１００４、及び合成画像メモリ１００５から構成され、それぞれの動作は、図９に示した、基準参照画像取得部４００、動きベクトル検出範囲設定部４０１、参照画像間動きベクトル検出部４０２、合成参照画像取得部４０３、参照画像合成部４０４、及び合成画像メモリ４０５と同様の動作を行う。
【０１４９】
最初に動きベクトル分離部２１４より、基準参照画像取得部１０００及び動きベクトル検出範囲設定部１００１に、復号した動きベクトル値ＭＶ２より動きベクトル分離部２１４で生成された、動きベクトル値ＭＶ１が入力される。
【０１５０】
具体的には、ＭＶ１は、ＭＶ１＝（ＭＶ２＋２）＞＞２の演算で生成され、符号化装置における第１参照画像と符号化対象ブロックとの間の動きベクトル値が取得できる。基準参照画像取得部１０００では、入力されたＭＶ１を用いて復号参照画像メモリ２０９から、第１参照画像の参照ブロックを取得する。基準参照画像取得部１０００は、取得した第１の参照ブロックを参照画像間動きベクトル検出部１００２及び参照画像合成部１００４に出力する。
【０１５１】
続いて動きベクトル検出範囲設定部１００１では、第１の参照ブロックに対して第２参照画像の間での動きベクトルを検出する範囲を設定する。動きベクトル検出範囲設定部１００１は、設定した動きベクトル検出範囲の情報を参照画像間動きベクトル検出部１００２に出力する。
【０１５２】
参照画像間動きベクトル検出部１００２は、基準参照画像取得部１０００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部１００１より指定された動きベクトルの検出範囲における第２参照画像の参照ブロックを、合成参照画像取得部１００３を介して復号参照画像メモリ２０９より取得し、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを参照画像間動きベクトルとして算出する。参照画像間動きベクトル検出部１００２は、算出した参照画像間動きベクトルを参照画像合成部１００４に出力する。
【０１５３】
参照画像合成部１００４では、基準参照画像取得部１０００より第１の参照ブロックを入力すると共に、参照画像間動きベクトル検出部１００２より参照画像間動きベクトルを入力し、参照画像間動きベクトルによって示される第２参照画像の参照ブロックを、合成参照画像取得部１００３を介して復号参照画像メモリ２０９より取得することで、第２の参照ブロックを得る。参照画像合成部１００４では、第１の参照ブロックと第２の参照ブロックとの間での合成処理を行う。参照画像合成部１００４は、合成した参照ブロックを、合成画像メモリ１００５を介して合成画像動き補償予測部２１６に出力する。
【０１５４】
続いて、これらの構成を用いた復号装置側での合成画像動き補償予測処理の動作を、図１６のフローチャートを用いて説明する。図１６においても、図１０と同様に１フレームの復号処理における合成画像動き補償予測の動作の流れを示している。他の処理部の動作に関しては、ＭＰＥＧ−４ ＡＶＣ等の従来の動画像復号処理を用いることが可能である。
【０１５５】
１フレームの復号処理開始時に、最初にスライスヘッダを復号して参照画像に関連する情報を取得する（Ｓ１１００）。図１１において示したような、符号化順を示す情報や、参照画像を特定する情報がスライスヘッダにおいて伝送されていると共に、図１３に示したような合成動き補償予測に関する情報も復号される。
【０１５６】
次に、参照画像毎に合成の対象とする参照画像を確定させる処理を行う（Ｓ１１０１）。実施の形態２においては、符号化装置の動作で示した処理と同様の判断を復号装置において行う。
【０１５７】
全ての参照画像に対して合成対象となる参照画像を確定されたら、続いて参照画像間の動きベクトル検出精度を復号したrefinement_mc_matching_subpelを用いて設定する（Ｓ１１０２）。
【０１５８】
同様に、参照画像間の動きベクトル検出範囲に対して、スライスヘッダより復号したrefinement_mc_matching_range_fullを用いて設定する（Ｓ１１０３）。
【０１５９】
フレーム単位での設定を確定した後に、復号対象フレーム内の復号対象ブロックであるマクロブロックに対して、合成動き補償予測が用いられている場合に、合成動き補償予測ブロックを生成する処理が施される。
【０１６０】
各マクロブロックに対して（Ｓ１１０４）、最初に予測モードが合成動き補償予測モードでない場合（Ｓ１１０５：ＮＯ）には、他の予測モードで予測処理を行い、生成された予測画像を用いて復号処理を施す（Ｓ１１０６）。
【０１６１】
予測モードが合成動き補償予測モードである場合には（Ｓ１１０５：ＹＥＳ）、第１参照画像を示す情報を取得する（Ｓ１１０７）。参照画像を示す情報はＭＰＥＧ−４ ＡＶＣと同様に予測モードと一緒に符号化されており、復号したマクロブロックの予測モード情報と共に取得することが出来る。
【０１６２】
続いて、動きベクトル予測復号部２１２において復号された動きベクトル値ＭＶ２を取得する（Ｓ１１０８）。ＭＶ２は動きベクトル分離部２１４において、分離処理が施されＭＶ１を生成する（Ｓ１１０９）。具体的には、上述したようにＭＶ１＝（ＭＶ２＋２）＞＞２の演算がなされる。
【０１６３】
続いて、ＭＶ１を用いて第１の参照ブロックを取得する（Ｓ１１１０）。図９の説明において記述したように、第１の参照ブロックは、ＭＶ１の値だけ移動した第１参照画像の位置を基準に、対象ブロック±１／２画素以上の１／４画素精度の参照画像を作成する為に必要な領域として、符号化対象ブロックサイズに加えて±３画素の領域の参照画像を取得する。
【０１６４】
次に、第１の動きベクトルより第２参照画像の検出範囲を設定する（Ｓ１１１１）。第２参照画像にどの参照画像を用いるかは、Ｓ１１０１によって決めた定義により符号化装置と同じ選択がなされる。検出範囲に関しては、Ｓ１１０３において設定された検出範囲が用いられる。設定された検出範囲に対して、第１の参照ブロックと第２参照画像との間で参照画像間の動きベクトル検出が施される（Ｓ１１１２）。
【０１６５】
続いて、検出された参照画像間動きベクトルを用いて、第２の参照ブロックを取得する（Ｓ１１１３）。第２の参照ブロックは、第１の参照ブロックに対して参照画像間の動きベクトル値だけ移動した第２参照画像の位置を基準に、第１の参照ブロックと同様の符号化ブロックサイズ±３画素の領域の参照画像を取得する。
【０１６６】
次に、第１の参照ブロックと第２の参照ブロックを合成し、合成参照画像ブロックを生成する（Ｓ１１１４）。
【０１６７】
続いて、合成した参照画像ブロックに対して、ＭＶ１で指定された位置に対してＭＶ２−ＭＶ１移動させた領域、即ちＭＶ２で指定される位置に相当する領域の画像ブロックを抽出する（Ｓ１１１５）。移動する１／４画素成分は、ＭＶ１は１画素精度、ＭＶ２は１／４画素精度となるため、ＭＶ２−（ＭＶ１＜＜２）の演算で生成される。抽出した画像ブロックは、合成動き補償予測ブロックとして、予測画像選択部２０４に出力される（Ｓ１１１６）。
【０１６８】
続いて、上記合成動き補償予測ブロックを用いて、差分情報の復号処理が施される（Ｓ１１１７）ことで、１つのマクロブロックの復号処理が終了する。復号処理を行ったマクロブロックが１フレームの最後のマクロブロックでない場合（Ｓ１１１８：ＮＯ）には、次に復号するマクロブロックを指定して（Ｓ１１１９）、Ｓ１１０５に戻る。
【０１６９】
１フレームの最後のマクロブロックを復号した場合には（Ｓ１１１８：ＹＥＳ）、１フレームの処理を完了する。
【０１７０】
尚、実施の形態２における復号装置における合成画像動き補償予測処理では、最終的なＭＶ２の値が予めわかっているため、第１の参照ブロックに関しては、符号化対象ブロックサイズの１画素単位の参照画像ブロックのみを取得し、参照画像間の動きベクトル検出を行い、合成参照画像生成時に必要になる１／４画素単位の参照画像を生成して、合成処理を行うことも可能であり、復号時のフィルタ処理による演算量増加を減らしつつ、符号化装置と同じ合成参照画像を生成することができる。
【０１７１】
本発明の実施の形態２の動画像符号化装置及び動画像復号装置により、符号化対象ブロックと第１の参照画像の間で動きベクトルを求めて動き補償予測した参照画像に対して、他の参照画像を合成するとともに、合成した予測画像に対して微少範囲の動きベクトル検出（補正）を行うことで、予測画像の品質を向上した上で向上後のエッジ部分等の位相変化を加味して動きを補正した、予測残差の少ない動き補償予測画像を生成できた。
【０１７２】
更に、第１の参照画像に対して求めた動きベクトルの精度をＮ画素精度とすると、合成した予測画像に対して施す動きベクトル検出（補正）の範囲を±Ｎ／２画素とし、Ｎ画素よりも細かい精度で補正を行い、補正結果の動きベクトル値を伝送することで、１つの動きベクトル値で、復号装置側での第１の参照画像からの動き補償予測画像取得と、合成した予測画像の位相変化を補正した動き補償予測画像の取得を可能とし、付加情報を増やすことなく、予測残差の少ない動き補償予測画像を符号化・復号可能とした。
【０１７３】
また、第１の予測画像に対する動きベクトル値を、復号済みの周辺ブロックの動きベクトル値より予測した場合に、復号する動きベクトル値として合成した予測画像に対する補正値のみを受信すればよく、更に動きベクトルの情報量を削減できた。
【０１７４】
本発明の実施の形態２においては、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像との間の動きベクトル値を求め、他の参照画像から取得した動き補償予測画像と加算平均をとることで、符号化劣化成分の除去と復号対象物の微少な輝度変化に対応した予測画像を生成することが出来、符号化効率を向上できた。
【０１７５】
尚、第２の動きベクトルに関しては、符号化装置において１つの確定した結果を用いて合成参照画像を生成し、合成動き補償予測をおこなっているが、複数の第１の動きベクトルを用意して、それぞれの動きベクトルを基準に合成動き補償予測を同じ手法で行い、最適な第２の動きベクトルを符号化した場合においても、復号装置は実施の形態２において説明した処理で、演算量の増加なく復号が可能であり、符号化装置においてもＮ画素単位での判断でＭ画素精度の最適な合成動き補償予測が可能となり、実施の形態１に対して符号化処理の増加を抑えて、適した合成動き補償予測が可能となる。
【０１７６】
（実施の形態３）
次に、実施の形態３の動画像符号化装置及び動画像復号装置を説明する。実施の形態３においては、動画像符号化装置及び動画像復号装置の構成は実施の形態２と同様の構成を取り、複数参照画像合成部における参照画像の合成処理のみが異なる動作を行う。具体的には、実施の形態２の説明における、参照画像合成部４０４、１００４及びフローチャートのＳ５１１、Ｓ１１１４で行う演算処理のみが異なる。
【０１７７】
実施の形態３における、参照画像の合成処理の動作を示す概念図を図１７に示し、演算処理の説明を行う。実施の形態２においては、合成処理においてブロック内の全ての画素値において、一様の加算平均処理を施す平均化が行われていたが、実施の形態３においては、合成処理において、第１の参照ブロックと第２の参照ブロックとの間で、画素毎に誤差値を算出し、誤差の絶対値に応じて画素毎での第２の参照ブロックと前記第１の参照ブロックとの重み付けを変化させて重み付け平均値を算出する。
【０１７８】
具体的には、誤差が少ない場合には均等の重み付けを行い、閾値以上は第２の参照ブロックの画素を加算しない、動き適応フィルタの構成を取る。第１の参照ブロックの画素値をＰ１、第２の参照ブロックの画素値をＰ２とすると、図１７に示したような関数にて、画素誤差絶対値｜Ｐ１−Ｐ２｜より、加算比率値であるαを算出する。算出したαを用いた、画素毎の合成画素値ＰＭは、
ＰＭ＝Ｐ１×（１−α）＋Ｐ２×α
で計算される。
【０１７９】
これらの合成処理は、符号化装置・復号装置で暗黙に同じ動作をさせることも可能であるが、スライスヘッダ等に単純平均化を行うか、画素毎での適応加算を行うかを示す情報を送って選択することも可能である。
【０１８０】
実施の形態２における単純平均化を行った場合は２つの参照画像からの平均値予測に相当する特性の予測画像を１つの動きベクトルで生成することが可能であるのに対して、実施の形態３における適応加算を行った場合には、第１の参照ブロックを基準として、第１の参照ブロックが符号化劣化等で生じた歪を除去しつつ、エッジ成分などの変化が大きい部分に関しては信号特性を保存することで、第１の参照画像ブロックの品質を向上した予測画像を符号化・復号共通の処理において生成する。これにより、実施の形態３における動画像符号化装置・動画像復号装置においては、実施の形態１における効果に加えて、エッジ成分などの特徴部分の信号特性を保ちつつ、符号化劣化成分の除去を行った高品質な予測画像を生成することが出来、符号化効率を向上した。
【０１８１】
尚、参照画像が図１１で示すような符号化構造において、１枚のみの状態である場合においても、第２の参照画像として第１の参照画像を指定し、第１の参照画像内でのテクスチャ成分をブロックマッチングさせて適応的に加算することにより、劣化成分の除去は可能となり、本発明の構成を持って、良好な効果を発揮させることができる。
【０１８２】
（実施の形態４）
次に、実施の形態４の動画像符号化装置及び動画像復号装置を説明する。実施の形態４においては、複数参照画像合成部における第２の参照画像を複数用いる構成をとると共に、第１の参照ブロックに対する第２の参照画像からの動きベクトル検出のブロック単位が符号化対象ブロックよりも小さなブロック単位で構成されることを特徴とする。
【０１８３】
図１８は、本発明の実施の形態４における、合成画像動き補償予測処理の動作を示す概念図である。符号化装置側と復号装置側の関係は、図８に示した実施の形態２と同様の関係であるため、符号化装置側の動作を示す概念図のみ記している。
【０１８４】
符号化装置側では、符号化対象フレームと、基準にする参照画像を第１参照画像として動きベクトルの検出を行い、ＭＶ１を生成する処理を、実施の形態１と同様に行う。
【０１８５】
次にＭＶ１により第１参照画像から切り出された参照ブロックを、符号化対象ブロックよりも小さなブロック単位に分割し、小さなブロック単位で第２参照画像との間の参照画像間動きベクトルを検出する。一例としては、符号化対象ブロックがマクロブロックと同じサイズである１６×１６画素の場合に、参照画像間動きベクトルを求める単位を８×８画素にする。そして、検出された複数（一例の場合は４つ）の第２参照画像との間の参照画像間動きベクトルを用いて、対象となる第１の参照ブロックの領域に対して合成対象となる小さなブロック単位の複数の参照ブロックを生成する。
【０１８６】
第２の参照ブロックを生成する際の対象ブロック周辺の画像に対しては、図１８に示しているように、分割した他のブロックに含まれない領域のみを、各小ブロック単位で取得することも可能であるが、全ての小ブロックにおいて実施の形態１と同様に±３画素の周辺領域を取得し、合成処理に用いることも可能であり、小ブロックの境界を滑らかに接続する合成画像を生成することが可能である。上記小ブロックの複数の参照ブロックを用いて、第１の参照ブロックに対応する第２の参照ブロックが生成される。
【０１８７】
続いて、第２の参照画像とは異なる第３の参照画像に対して、同様に参照画像間の動きベクトルを検出する。第３の参照画像に対しても同様に小さなブロック単位で第１の参照ブロックとの間の参照画像間動きベクトルを検出する。検出した参照画像間動きベクトルにより、複数の参照ブロックを生成し、複数の参照ブロックを用いて、第１の参照ブロックに対応する第３の参照ブロックを生成する。
【０１８８】
合成処理においては、第１の参照ブロックに対して画素毎もしくは小さいブロック毎に第２の参照ブロックを合成させるか、第３の参照ブロックを合成させるか、第２、第３の参照ブロックの両方を用いて合成させるかを、第１の参照ブロックの画素値と第２及び第３の参照ブロックの画素値を用いて判断する。
【０１８９】
このようにして合成された周囲を含む予測画像に対しては、実施の形態１と同様に符号化対象ブロックとの間でブロックマッチング等の手段でＭ画素精度の動きベクトル検出を行い、その結果検出された第２の動きベクトル値ＭＶ２を、符号化対象ブロックと第１参照画像との間の動きベクトルとして符号化・伝送すると共に、ＭＶ２で指定された合成した予測画像を、合成動き補償予測ブロックとして、符号化対象ブロックより減算し、差分ブロックを符号化・伝送する。
【０１９０】
実施の形態４における動画像符号化装置及び動画像復号装置の構成も、実施の形態２と同様の構成を取るが、複数参照画像合成部における構成及び処理が異なる。実施の形態４における複数参照画像合成部の構成を示すブロック図を図１９に、動作を説明するフローチャートを図２０に示し、実施の形態４の説明を行う。符号化装置と復号装置における複数参照画像合成部の構成及び動作は、複数参照画像合成部に繋がる処理ブロックの動作が異なるのみで、同様の動作を行うため、符号化装置における振る舞いを示し説明する。
【０１９１】
図１９に示すように、実施の形態４における複数参照画像合成部は、基準参照画像取得部１４００、動きベクトル検出範囲設定部１４０１、第２参照画像間動きベクトル検出部１４０２、第２参照画像取得部１４０３、参照画像合成部１４０４、及び合成画像メモリ１４０５、第３参照画像取得部１４０６、第３参照画像間動きベクトル検出部１４０７、及び合成判定部１４０８を備える。実施の形態１の複数参照画像合成部に対して、第３参照画像取得部１４０６、第３参照画像間動きベクトル検出部１４０７、及び合成判定部１４０８における動作が、実施の形態４における新たな効果をもたらす構成であるが、第３参照画像取得部１４０６、第３参照画像間動きベクトル検出部１４０７に関しては、第２参照画像間動きベクトル検出部１４０２及び第２参照画像取得部１４０３と統合して、実施の形態２における構成のように、参照画像間動きベクトル検出部４０２、合成参照画像取得部４０３の構成で動作させることも可能である。図１９においては、動作説明を行うために別々のブロックとして記述している。
【０１９２】
最初に動きベクトル検出部１０４より、基準参照画像取得部１４００及び動きベクトル検出範囲設定部１４０１に、第１参照画像と符号化対象ブロックとの間の動きベクトル値ＭＶ１が入力される。基準参照画像取得部１４００では、入力されたＭＶ１を用いて復号参照画像メモリ１１７から、第１参照画像の参照ブロックを取得する。参照ブロックの取得領域は、符号化対象ブロックに対して、ＭＶ１の値だけ移動した第１参照画像の位置を基準に、対象ブロック±Ｎ／２画素以上のＭ画素精度（Ｍ＜Ｎ）の参照画像を作成する為に必要な領域をとる。基準参照画像取得部１４００は、取得した第１の参照ブロックを第２参照画像間動きベクトル検出部１４０２、合成判定部１４０８、及び第３参照画像間動きベクトル検出部１４０７に出力する。
【０１９３】
続いて動きベクトル検出範囲設定部１４０１では、第１の参照ブロックに対して第２参照画像の間での動きベクトルを検出する範囲、及び第３参照画像の間での動きベクトルを検出する範囲を設定する。検出範囲の設定アルゴリズムに関しては、実施の形態１における検出範囲設定と同様の処理が、第２参照画像との参照画像間動きベクトル検出に対してと、第２参照画像との参照画像間動きベクトル検出に対して、個別に行われ範囲を確定させる。動きベクトル検出範囲設定部１４０１は、設定した動きベクトル検出範囲の情報を第２参照画像間動きベクトル検出部１４０２及び第３参照画像間動きベクトル検出部１４０７に出力する。
【０１９４】
第２参照画像間動きベクトル検出部１４０２は、基準参照画像取得部１４００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部１４０１より指定された動きベクトルの検出範囲における第２参照画像の参照ブロックを、第２参照画像取得部１４０３を介して復号参照画像メモリ１１７より取得し、符号化対象ブロックに対して１／４の大きさである８×８ブロックサイズ毎に、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを第２参照画像間動きベクトルとして算出する。第２参照画像間動きベクトル検出部１４０２は、算出した４つの第２参照画像間動きベクトルを合成判定部１４０８に出力する。
【０１９５】
同様に第３参照画像間動きベクトル検出部１４０７は、基準参照画像取得部１４００より入力された第１の参照ブロックに対して、動きベクトル検出範囲設定部１４０１より指定された動きベクトルの検出範囲における第３参照画像の参照ブロックを、第３参照画像取得部１４０６を介して復号参照画像メモリ１１７より取得し、符号化対象ブロックに対して１／４の大きさである８×８ブロックサイズ毎に、ブロックマッチング等の誤差値を算出し、その値が小さな動きベクトルを第３参照画像間動きベクトルとして算出する。第３参照画像間動きベクトル検出部１４０７は、算出した４つの第３参照画像間動きベクトルを合成判定部１４０８に出力する。
【０１９６】
合成判定部１４０８では、基準参照画像取得部１４００より入力された第１の参照ブロックに対して、第２参照画像間動きベクトル検出部１４０２より入力された４つの第２参照画像間動きベクトルによって示される、複数の第２参照画像の参照ブロックを用いて、第２参照画像取得部１４０３を介して復号参照画像メモリ１１７より、第１の参照ブロックに対応する第２の参照ブロックを生成する。
【０１９７】
合成判定部１４０８は、同様に第３参照画像間動きベクトル検出部１４０７より入力された４つの第３参照画像間動きベクトルによって示される、複数の第３参照画像の参照ブロックを用いて、第３参照画像取得部１４０６を介して復号参照画像メモリ１１７より、第１の参照ブロックに対応する第３の参照ブロックを生成する。
【０１９８】
合成判定部１４０８は、続いて生成した第２の参照ブロック、第３の参照ブロックと、第１の参照ブロックの間で誤差値を算出し、誤差値の関係を用いて第１の参照ブロックに対して、合成する第２の参照ブロック及び第３の参照ブロックの選択及び、加算比率を確定する。確定アルゴリズムに関しては、後述する。
【０１９９】
合成判定部１４０８は、確定した加算比率を用いて第１の参照ブロックに対して、第２の参照ブロック及び第３の参照ブロックを合成することで、合成した参照ブロックを生成し、合成した参照ブロックを、合成画像メモリ１４０５を介して合成画像動き補償予測部１０８に出力する。
【０２００】
続いて、図２０に合成判定部１４０８における判定処理の動作を説明するためのフローチャートを示し、詳細動作を説明する。符号化対象ブロック単位で、最初に第１の参照ブロックを入力する（Ｓ１５００）。参照画像ブロックは、符号化対象ブロックの大きさに対して±１／２画素の範囲内での1／４画素単位での動き量移動を、合成動き補償予測部で行うために、フィルタ係数を加味して±３画素の領域を取得する（符号化対象ブロックが１６×１６画素の場合、２２×２２画素の領域を取得）。
【０２０１】
続いて、第２参照画像間動きベクトル検出部１４０２により算出された４つの第２参照画像間動きベクトルを入力する（Ｓ１５０１）。入力されたそれぞれの動きベクトルを用いて、８×８画素単位での小参照画像ブロックを第２参照画像より取得する（Ｓ１５０２）。小参照画像ブロックの取得領域は１４×１４画素となる。
【０２０２】
小参照画像ブロックの隣接部分に関しては、隣接する参照画像ブロックのオーバーラップ部分の画素を反映させるか否かの判断を行う（Ｓ１５０３）。具体的には、隣接する取得した動きベクトルの差分値が±１画素以内の場合には、オーバーラップさせてブロック隣接部分を滑らかに接続する。±１画素より大きい場合には、異なる物体に対して求められた参照ブロックであると判断し、オーバーラップ部分は反映させず、該当する小参照ブロックの画素をそのまま設定する。上記判断に従って、小参照画像ブロックを重ね合わせ、２２×２２画素で構成される第２の参照ブロックを生成する（Ｓ１５０４）。
【０２０３】
続いて、第３参照画像間動きベクトル検出部１４０７により算出された４つの第３参照画像間動きベクトルを入力する（Ｓ１５０５）。第２参照画像の場合と同様に、それぞれの動きベクトルを用いて小参照画像ブロックを第３参照画像より取得し（Ｓ１５０６）、小参照画像ブロックの隣接境界部分の処理を確定させ（Ｓ１５０７）、小参照画像ブロックを重ね合わせて第３の参照ブロックを生成する（Ｓ１５０８）。
【０２０４】
次に、第１の参照ブロック、第２の参照ブロック、第３の参照ブロックを用いて合成処理を画素単位に行う。参照ブロック内の画素単位に（Ｓ１５０９）、第１の参照ブロックの画素値Ｐ１と第２の参照ブロックの画素値Ｐ２との誤差絶対値|Ｐ１−Ｐ２|を算出する（Ｓ１５１０）。同様にＰ１と第３の参照ブロックの画素値Ｐ３との絶対誤差値｜Ｐ１−Ｐ３｜を算出し（Ｓ１５１１）、Ｐ２とＰ３の絶対誤差値｜Ｐ２−Ｐ３｜を算出する（Ｓ１５１２）。
【０２０５】
実施の形態３における合成処理の判断は、|Ｐ１−Ｐ２|、|Ｐ１−Ｐ３|、|Ｐ３−Ｐ２|の３つの値を用いて、Ｐ１、Ｐ２、Ｐ３の加算比率を確定させる（Ｓ１５１３）ことで行われる。
【０２０６】
先ず、｜Ｐ１−Ｐ２｜と｜Ｐ１−Ｐ３｜が共に閾値β（例：８）よりも小さい場合には、Ｐ１、Ｐ２、Ｐ３を同じ重み付けで加算平均する。即ち、Ｐ１、Ｐ２、Ｐ３の比率が１：１：１となる。
【０２０７】
次に、｜Ｐ１―Ｐ２｜が閾値βより小さく、｜Ｐ１−Ｐ３｜が閾値γ（例：１６）よりも大きい場合には、Ｐ２のみをＰ１に加算する。即ち、Ｐ１、Ｐ２、Ｐ３の比率を１：１：０とする。Ｐ２とＰ３の関係が逆の場合、即ち｜Ｐ１―Ｐ３｜が閾値βより小さく、｜Ｐ１−Ｐ２｜が閾値γ（例：１６）よりも大きい場合には、Ｐ１、Ｐ２、Ｐ３の比率が１：０：１になる。
【０２０８】
｜Ｐ１―Ｐ２｜と｜Ｐ１―Ｐ３｜が共に閾値γよりも大きい場合には、｜Ｐ２−Ｐ３｜の値を調査する。｜Ｐ２−Ｐ３｜が閾値δ（例：４）よりも小さい場合には、Ｐ１の画素値が劣化等の要因で誤差を生じていると判断し、Ｐ２、Ｐ３を用いて画素値を更新する方向に加算処理を行う。具体的には、Ｐ１、Ｐ２、Ｐ３の比率を１：２：２にする。
また、｜Ｐ２−Ｐ３｜が閾値γよりも大きい場合には、Ｐ２及びＰ３は合成対象から外し、加算比率がＰ１、Ｐ２、Ｐ３の比率が１：０：０になる。
【０２０９】
上記の条件以外の場合には、Ｐ１に対して、Ｐ２とＰ３の平均値を加算平均する。即ち、Ｐ１、Ｐ２、Ｐ３の比率が２：１：１となる。このようにして確定した比率に応じて、Ｐ１、Ｐ２、Ｐ３の重み付け加算平均を取り、合成した参照ブロックの画素値ＰＭを生成する（Ｓ１５１４）。
【０２１０】
参照ブロック内の全ての画素に対して同様の処理を施す。参照ブロック内の最後の画素でない（Ｓ１５１５：ＮＯ）場合には、次の画素を設定し（Ｓ１５１６）、Ｓ１５１０に戻る。参照ブロック内の最後の画素である（Ｓ１５１５：ＹＥＳ）場合には、符号化対象ブロックに対する参照画像の合成処理を終了する。
【０２１１】
実施の形態４の動画像符号化装置及び動画像復号装置においては、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像との間で対象としている動き補償予測画像よりも細かい単位の動きベクトル値を求め、それぞれの動きベクトルに応じて細かい単位で取得した動き補償予測画像と合成処理を行うことで、伝送する動きベクトルを増加せずに、符号化対象物の物体の時間的な微少な変形に対応した予測画像を生成し、符号化効率を向上させた。また、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像との間の相関性を求め合成に適した参照画像を複数選択し合成処理を行うことで、付加情報を送らずに、複数の参照画像からの適切な合成画像の生成を行うことが出来、更に符号化効率を向上させた。
【０２１２】
（実施の形態５）
次に、実施の形態５の動画像符号化装置及び動画像復号装置を説明する。実施の形態５においては、複数参照画像合成部において、第１の参照画像に対して複数の参照画像を用いて超解像拡大処理を行い、超解像拡大を施した結果の拡大画像を合成参照画像として動き補償予測に用いる構成をとることが特徴である。
【０２１３】
最初に、実施の形態５における合成画像動き補償予測処理の動作を示す概念図を図２１に示し説明する。実施の形態１から４までの構成においては、１画素未満の小数画素精度の画素値を、それぞれの参照画像に対するフィルタリングにより生成し、生成後の参照画像を用いて合成参照画像を生成していたが、実施の形態４においては、第１の参照画像を拡大した１画素未満の小数画素精度の画素値を、他の参照画像からの貼り付けにより生成し、貼り付け後の周波数帯域を整えることで、高精細かつ符号化劣化の影響を低減した参照画像を生成する。
【０２１４】
図２１に示すように、符号化対象ブロックに対して、第１の参照画像との間で検出した第１の動きベクトルを元に取得した第１の参照ブロックに対して、特定範囲の第２の参照画像及び第３の参照画像を設定し、特定範囲内の画素に対して第１の参照ブロックに対する動き検出を行い、画素貼り付けを行う（レジストレーション）事で小数画素精度の拡大参照ブロックを生成し、所定の帯域に整えるためのフィルタを施し、その成分を反映させる。
【０２１５】
上記処理を複数回繰り返すことで、第１の参照ブロックにおける符号化劣化を除去し、小数画素精度の高精細参照画像を生成する。このようにして生成された高精細参照信号を合成画像動き補償予測に用いることで、予測残差の高周波成分が少ない予測画像を生成する。
【０２１６】
図２２に実施の形態５の動画像符号化装置及び動画像復号装置における、複数参照画像合成部の構成を示すブロック図を示し、その動作を説明する。実施の形態４と同様に、実施の形態５においても符号化装置と復号装置における複数参照画像合成部の構成及び動作は、複数参照画像合成部に繋がる処理ブロックの動作が異なるのみで、同様の動作を行うため、符号化装置における振る舞いを示し説明する。
【０２１７】
図２２に示すように、実施の形態５における複数参照画像合成部は、基準参照画像取得部１７００、レジストレーション対象範囲設定部１７０１、レジストレーション部１７０２、合成参照画像取得部１７０３、帯域制限フィルタ部１７０４、合成画像メモリ１７０５、及び再構成終了判定部１７０６を備える。
【０２１８】
最初に動きベクトル検出部１０４より、基準参照画像取得部１７００、レジストレーション対象範囲設定部１７０１に、第１参照画像と符号化対象ブロックとの間の動きベクトル値ＭＶ１が入力される。基準参照画像取得部１７００では、入力されたＭＶ１を用いて復号参照画像メモリ１１７から、第１参照画像の参照ブロックを取得する。基準参照画像取得部１７００は、取得した第１の参照ブロックをレジストレーション部１７０２に出力する。
【０２１９】
続いてレジストレーション対象範囲設定部１７０１では、第１の参照ブロックに対して他の参照画像のからレジストレーションを行う対象となるエリアを設定する。具体的には、
図１２で示した実施の形態１における参照画像間の動きベクトル検出範囲と同様に、符号化対象画像との距離に応じて、ＭＶ１を延長もしくは縮小した動き量で示される位置を中心に、±Ｌ画素の範囲をレジストレーションを行う対象エリアとして設定する。Ｌの値は、実施の形態１における参照画像間の動きベクトル検出範囲よりも広い範囲を必要とし、例えばＬ＝３２と設定される。
【０２２０】
レジストレーション対象範囲設定部１７０１において設定された対象エリアは、レジストレーション部１７０２に送られ、レジストレーション処理が施される。レジストレーション部１７０２では、最初に第１の参照ブロックに対して水平・垂直Ｘ倍の拡大処理を施す。本実施の形態においては、Ｘ＝４とすることで１／４画素単位の動き補償に用いることを可能とする拡大画像を生成する。
【０２２１】
拡大画像において、画素値が存在している１画素単位の画素と、拡大処理により生成された画素は、レジストレーション処理において異なる処理が施される。レジストレーションは図２１に示したように、所定画素単位（例：４×４画素）で第１の拡大された参照ブロックと、合成参照画像取得部１７０３を介して復号参照画像メモリ１１７より取得した他の参照画像の１画素単位で構成された参照ブロックとの間で、１画素間隔でのブロックマッチングを行うことで動きベクトルを算出する。算出された動きベクトルが１画素精度の位置を示していない場合には、他の参照画像からの画素貼り付けが従来存在していなかった画素に対して行われるため、貼り付けた画素値がフィルタにより生成された画素値と置き換わる。１画素精度の位置を示していた場合、及び複数の参照画像より同じ場所に画素が張り付く場合には、レジストレーション終了後にそれぞれの画素位置に張り付いた画素値の分布や頻度を元に、最も該当位置にあるべき値を算出しその値で画素値を置き換える。
【０２２２】
レジストレーションを施された参照ブロックは、レジストレーション部１７０２より帯域制限フィルタ部１７０４に出力される。帯域制限フィルタ部１７０４においては、本来拡大した参照画像が有する周波数特性を想定した帯域制限フィルタを、入力したレジストレーション後の参照ブロックに対して施す。
【０２２３】
レジストレーション時に張り付くことがなかった１画素精度以外の画素位置の値に関しては、最初に拡大した際に生成した値を用いずに、周囲のレジストレーションされた画素値を用いて、帯域制限フィルタによりフィルタリングされる。これにより、張り付かなかった位置の画素値にもレジストレーションの影響が反映される。
【０２２４】
帯域制限フィルタが掛けられた結果の参照ブロックは、帯域制限フィルタ部１７０４より合成画像メモリ１７０５に格納される。合成画像メモリ１７０５は、格納した参照ブロックを再構成終了判定部１７０６に送る。
【０２２５】
再構成終了判定部１７０６においては、帯域制限フィルタ部１７０４より送られた１回前の帯域制限フィルタが掛けられた参照ブロックを内部に確保しておき、入力された参照ブロックとの比較を行う。比較結果として変化が少なくなった場合（１回前の変化よりも変化量が少ない）で且つ、今回の変化が少ない場合に、超解像化を行うための再構成処理が完了したと判断し、再構成終了判定部１７０６は現在の符号化対象ブロックに対する、複数参照画像からの合成処理を終了する。
【０２２６】
終了時には、合成画像メモリ１７０５より合成画像動き補償予測部１０８に対して、格納された参照ブロックが出力される。終了しない場合には、１回前の帯域制限フィルタが掛けられた参照ブロックに対して、格納された参照ブロックと１回前の帯域制限フィルタが掛けられた参照ブロックの差分に対して、帯域制限フィルタの逆特性を持つフィルタを施し高域成分を抽出し、生成された高域成分情報を反映させた参照ブロックの更新画像が再度レジストレーション部１７０２に入力され、再度他の参照画像からのレジストレーション処理が施される。複数回レジストレーション処理が繰り返されることで、段階的に高精細成分が参照ブロック上で再構成され、高品質な参照ブロックが生成される。
【０２２７】
具体的なレジストレーション及びその反映を含む超解像処理に関しては、実施の形態５の構成以外にも方法が存在し、その手法を適用する場合においても超解像処理を施した合成参照画像による動き補償予測を、追加の動きベクトルを伝送せずに実現できる効果がある。
【０２２８】
実施の形態５における動画像符号化装置及び動画像復号装置によれば、第１の参照画像を用いて予測した動き補償予測画像に対して、他の参照画像を用いて超解像化処理を施した画像を予測画像とすることで、参照画像が消失した高周波成分を復元した予測画像を生成すると共に、超解像化した参照画像に対して細かい位相調整を行う動きベクトル検出を施して高周波成分の位相を加味した動きベクトルを伝送できることで、付加情報の増加無しに、高周波成分の予測残差を大幅に削減できる、新たな効果が加わる。
【０２２９】
尚、第１、第２、第３、第４、第５の実施の形態として提示した、動画像符号化装置、及び動画像復号装置は、物理的にはＣＰＵ（中央処理装置）、メモリなどの記録装置、ディスプレイ等の表示装置、及び伝送路への通信手段を具備したコンピュータで実現することが可能であり、提示した各々の機能を具備する手段を、コンピュータ上のプログラムとして実現し、実行することが可能である。また、プログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星デジタル放送のデータ放送として提供することも可能である。
【０２３０】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０２３１】
１０１  入力画像バッファ、  １０２  ブロック分割部、  １０３  フレーム内予測部、  １０４  動きベクトル検出部、  １０５  補償予測部、  １０６  動きベクトル予測部、  １０７  複数参照画像合成部、  １０８  補償予測部、  １０９  予測モード判定部、  １１０  減算器、  １１１  直交変換部、  １１２  量子化部、  １１３  逆量子化部、  １１４  逆直交変換部、  １１５  加算器、  １１６  フレーム内復号画像メモリ、  １１７  復号参照画像メモリ、  １１８  エントロピー符号化部、  １１９  ストリームバッファ、  １２１  符号量制御部、  ２０１  ストリームバッファ、  ２０２  エントロピー復号部、  ２０３  予測モード復号部、  ２０４  予測画像選択部、  ２０５  逆量子化部、  ２０６  逆直交変換部、  ２０７  加算器、  ２０８  フレーム内復号画像メモリ、  ２０９  復号参照画像メモリ、  ２１１  フレーム内予測部、  ２１２  動きベクトル予測復号部、  ２１３  補償予測部、  ２１４  動きベクトル分離部、  ２１５  複数参照画像合成部、  ２１６  補償予測部、  ４００  基準参照画像取得部、  ４０１  動きベクトル検出範囲設定部、  ４０２  参照画像間動きベクトル検出部、  ４０３  合成参照画像取得部、  ４０４  参照画像合成部、  ４０５  合成画像メモリ、  １０００  基準参照画像取得部、  １００１  動きベクトル検出範囲設定部、  １００２  動きベクトル検出部、  １００３  合成参照画像取得部、  １００４  参照画像合成部、  １００５  合成画像メモリ。
【図１】
2011217105.tif 000003
【図２】
2011217105.tif 000004
【図４】
2011217105.tif 000005
【図５】
2011217105.tif 000006
【図６】
2011217105.tif 000007
【図７】
2011217105.tif 000008
【図８】
2011217105.tif 000009
【図９】
2011217105.tif 000010
【図１０】
2011217105.tif 000011
【図１１】
2011217105.tif 000012
【図１２】
2011217105.tif 000013
【図１３】
2011217105.tif 000014
【図１４】
2011217105.tif 000015
【図１５】
2011217105.tif 000016
【図１６】
2011217105.tif 000017
【図１９】
2011217105.tif 000018
【図２０】
2011217105.tif 000019
【図２２】
2011217105.tif 000020
【図３】
2011217105.tif 000021
【図１７】
2011217105.tif 000022
【図１８】
2011217105.tif 000023
【図２１】
2011217105.tif 000024