(57)【要約】  符号化装置は、複数のＰＭＶ候補からどのＰＭＶを選択したかの情報を用いて、仮ＭＶ候補の中からＭＶの存在可能領域にあるＭＶ候補を抽出するＭＶフラグ決定部（１１１５）と、ＭＶフラグ決定部（１１１５）で抽出されたＭＶ候補を特定するＭＶインデックスが２以上ある場合に各ＭＶインデックスを符号化するＭＶインデックス符号化部（１１５３）と、を備えている。
2011034148.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータの符号化に際し、既に符号化済みのデータから予測データを生成し、前記前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、
データ候補算出部で算出されたデータ候補の数が２以上である場合に、前記データ候補毎に異なるフラグを設定し、各データ候補に対して設定されたフラグを符号化するデータ候補特定フラグ符号化部と、を備えていることを特徴とする符号化装置。
【請求項２】
請求項１に記載の符号化装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ符号化部により各データ候補に対して設定されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする符号化装置。
【請求項３】
請求項１または２に記載の符号化装置であって、
前記差分絶対値符号化部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を符号化するか、または、成分ごとの差分絶対値の和を符号化することを特徴とする符号化装置。
【請求項４】
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データからデータ候補を算出するデータ候補算出部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを符号化する、データ候補特定フラグ符号化部を備えることを特徴とする符号化装置。
【請求項５】
請求項４に記載の符号化装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記差分絶対値符号化部は、前記距離コスト算出部が選択した関数を示すインデックスを符号化することを特徴とする符号化装置。
【請求項６】
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値をシンボル列とするとともに該シンボル列を算術符号化することにより、前記差分絶対値を符号化する差分絶対値符号化部と、を備え、
前記差分絶対値符号化部は、前記シンボル列を算術符号化するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする符号化装置。
【請求項７】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項１から６のいずれか１項に記載の符号化装置。
【請求項８】
入力画像と既に復号済みの参照画像との間の動きベクトルを推定する動き推定部と、前記動きベクトルを符号化する動きベクトル符号化部と、前記動きベクトルを用いて前記参照画像から予測信号を生成するインター予測部と、前記予測信号と前記入力画像の差分を算出する差分算出部と、前記差分を変換する変換部と、前記変換で得られた変換係数を量子化する量子化部を備える動画像符号化装置であって、前記動きベクトル符号化部での動きベクトルの符号化に請求項７に記載の符号化装置を用いることを特徴とする動画像符号化装置。
【請求項９】
所定のデータの復号に際し、符号化されている差分絶対値を復号する差分絶対値復号部と、
既に符号化済みのデータから予測データを生成し、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、
前記データ候補算出部で生成されたデータ候補の数が２以上である場合に、各データ候補に対してデータ候補毎に異なる値が設定されたフラグを復号するデータ候補特定フラグ復号部と、を備えていることを特徴とする復号装置。
【請求項１０】
請求項９に記載の復号装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ復号部により復号されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする復号装置。
【請求項１１】
請求項９または１０に記載の復号装置であって、
前記差分絶対値復号部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を復号するか、または、成分ごとの差分絶対値の和を復号することを特徴とする復号装置。
【請求項１２】
所定のデータの復号に際し、符号化されている差分絶対値を復号し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
前記データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを復号する、データ候補特定フラグ復号部を備えることを特徴とする復号装置。
【請求項１３】
請求項１２に記載の復号装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記差分絶対値復号部は、前記距離コスト算出部が選択した関数を示すインデックスを復号することを特徴とする復号装置。
【請求項１４】
所定のデータの復号に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値であるシンボル列を算術復号することにより、前記差分絶対値を復号する差分絶対値復号部と、を備え、
前記差分絶対値復号部は、前記シンボル列を復号するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする復号装置。
【請求項１５】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項９から１４のいずれか１項に記載の復号装置。
【請求項１６】
動きベクトルを復号する動きベクトル復号部と、既に復号済みの参照画像と、前記動きベクトルから予測信号を生成するインター予測部と、変換係数を逆量子化する逆量子化部と、変換係数を逆変換し差分信号を生成する逆変換部を備え、前記予測信号と前記差分信号を加算し復号信号を再生する動画像復号装置であって、前記動きベクトル復号部での動きベクトルの復号に請求項１５に記載の復号装置を用いることを特徴とする動画像復号装置。
【請求項１７】
請求項１から７のいずれか１項に記載の符号化装置が出力する符号化データであって、前記フラグを含む符号化データ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、動きベクトルを効率的に符号化する動画像符号化装置および動画像復号装置に関する。
【背景技術】
【０００２】
動画像符号化技術の分野では、一般に画像データを複数のブロックに分割し、分割したブロック単位で符号化が行われる。ブロック単位の符号化では、入力信号の予測信号の生成、入力信号と予測信号の差分である残差信号の算出、算出された残差信号の変換、変換で得られた変換係数の量子化、量子化された変換係数の可変長符号化等の符号化処理がなされる。【０００３】
予測信号の生成方法には、対象ブロック周囲の再生画像を用いるイントラ予測と既に符号化／復号されたフレームの再生画像を用いるインター予測がある。【０００４】
イントラ予測には、ＤＣ予測、水平予測、垂直予測など複数のイントラ予測モードがあり、いずれのイントラ予測モードを用いるかを示す情報が符号化される。【０００５】
また、インター予測では、予測に使う参照フレームを特定するためのフレームＩＤ、および、動きベクトル（ＭＶ）が符号化される。【０００６】
ＭＶの符号化は、まずＭＶの予測値である予測動きベクトル（ＰＭＶ）を算出し、次にＰＭＶとＭＶの差分を符号化することで行われる。図１６は、非特許文献１のＭＶの符号化データの構成を示す図である。図１６に示すように、ＭＶはＰＭＶを示すＰＭＶインデックス、ＰＭＶとＭＶの差分の絶対値（ＭＶＤ絶対値）、及び差分が正であるか負であるかを示すＭＶＤ符号に分けて符号化される。なお、ＭＶＤ絶対値とＭＶＤ符号はＸ成分、Ｙ成分の順に符号化され、成分毎のＭＶＤ絶対値が０の場合にはＭＶＤ符号は符号化されない。【０００７】
ここで、ＭＶＤ絶対値は２値化され適応的な確率を用いる算術符号により効率的に符号化される。ＭＶＤ符号についても２値化され算術符号により符号化されるが、非特許文献１においては２値化された符号の０、１の発生確率は常に０．５であり、符号化された結果、符号量が固定長符号化の場合と同等になる。【０００８】
非特許文献２には、ＭＶＤ絶対値とＭＶＤ符号とに分けて符号化することなく、ＭＶをそのまま符号化する方法が開示されている。この方法では、ＭＶの存在確率を、複数のＰＭＶの各々についてＰＭＶとＭＶとの距離を算出するとともにそれらの距離を用いて一般化ガウス関数を用いた分布関数の和を用いたモデルで推定し、推定したモデルから算出される確率を用いた多値算術符号を用いて符号化する。【０００９】
また、非特許文献１には、ＭｏｔｉｏｎＶｅｃｔｏｒＣｏｍｐｅｔｉｔｉｏｎ（ＭＶＣＯＭＰ）と呼ばれる技術が開示されている。ＭＶＣＯＭＰでは、複数の予測動きベクトル候補（ＰＭＶ候補）を用いることにより、符号化効率を向上させている。具体的には、ＰＭＶ候補の中から符号化対象とするＭＶに近いＰＭＶを選択し、ＰＭＶ候補を特定するインデックス（ＰＭＶインデックス）を符号化する。次いでＰＭＶとＭＶとの差分を符号化する。ＭＶＣＯＭＰでは、複数のＰＭＶ候補から好適なＰＭＶを選択することにより、１つのＰＭＶを用いる場合よりもＭＶとＰＭＶの差分を小さくすることができるため、差分の符号量を削減することができる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Ｃｏｍｐｅｔｉｔｉｏｎ―Ｂａｓｅｄ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｓｅｌｅｃｔｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ、ＩＴＵ−Ｔ  Ｑ．６／ＳＧ１６  ＶＣＥＧ、ＶＣＥＧ−ＡＣ０６、２００６
【非特許文献２】竹内他、多峰性の確率モデルを用いた動ベクトルの算術符号化、映像情報メディア学会年次大会、５−３、２００９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
複数の予測動きベクトル候補（ＰＭＶ候補）を算出し、ＰＭＶ候補から１つの予測動きベクトル（ＰＭＶ）を選択した上で、動きベクトル（ＭＶ）とＰＭＶとの差分を符号化する非特許文献１のＭＶ符号化では、ＭＶとＰＭＶの差分の符号化に、選択したＰＭＶの情報を用いていないため、符号量が多くなっていた。【００１２】
より具体的には、選択したＰＭＶとＰＭＶ候補の関係により、符号化対象ＭＶの存在可能領域が限定されるという性質を用いていないため効率が低下していた。【００１３】
さらに、非特許文献１のＭＶ符号化においては、ＰＭＶとＭＶとの差分の絶対値であるＭＶＤ絶対値については適応的な確率を用いる算術符号化により効率的に符号化されるが、ＭＶ符号等、ＭＶＤ絶対値以外の部分の符号化については固定的な確率を用いるために効率的な符号化が行われなかった。【００１４】
一方、非特許文献２のＭＶ符号化においては、ＭＶＤ絶対値を用いないため、ＭＶの存在確率に応じて符号化することができるが、予め分布関数の特性を決定するパラメータ（例えば、一般化ガウス関数の標準偏差および形状パラメータ）を算出しておく必要があるため、非特許文献２のＭＶ符号化を任意の画像に適応することは困難であった。また、累積分布関数の値を繰り返し計算する必要があるため非特許文献２に記載されているテーブル参照を用いても演算量が大きいという課題があった。また、ＭＶＤ絶対値の大きさは空間的な相関が高い傾向にあるが、ＭＶＤ絶対値を分離していないため、このような傾向を利用することが困難であった。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明は次の特徴を備えている。すなわち、
本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから予測データを生成し、前記前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、データ候補算出部で算出されたデータ候補の数が２以上である場合に、前記データ候補毎に異なるフラグを設定し、各データ候補に対して設定されたフラグを符号化するデータ候補特定フラグ符号化部と、を備えていることを特徴とする。【００１６】
本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、前記差分絶対値と前記予測データからデータ候補を算出するデータ候補算出部と、前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを符号化する、データ候補特定フラグ符号化部を備えることを特徴とする。【００１７】
本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値をシンボル列とするとともに該シンボル列を算術符号化することにより、前記差分絶対値を符号化する差分絶対値符号化部と、を備え、差分絶対値符号化部は、前記シンボル列を算術符号化するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする。【００１８】
また、本発明の復号装置は、所定のデータの復号に際し、符号化されている差分絶対値を復号する差分絶対値復号部と、既に符号化済みのデータから予測データを生成し、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、前記データ候補算出部で生成されたデータ候補の数が２以上である場合に、各データ候補に対してデータ候補毎に異なる値が設定されたフラグを復号するデータ候補特定フラグ復号部と、を備えていることを特徴とする。【００１９】
本発明の復号装置は、所定のデータの復号に際し、符号化されている差分絶対値を復号し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、前記データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを復号する、データ候補特定フラグ復号部を備えることを特徴とする。【００２０】
本発明の復号装置は、所定のデータの復号に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値であるシンボル列を算術復号することにより、前記差分絶対値を復号する差分絶対値復号部と、を備え、前記差分絶対値復号部は、前記シンボル列を復号するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする。
【発明の効果】
【００２１】
複数の予測動きベクトル候補からどの予測動きベクトルを選択したかの情報を用いて、動きベクトルの存在可能領域を限定した上で、その限定を利用して動きベクトルを符号化もしくは復号することにより、符号化データ中の動きベクトルの符号量を削減することができる。動きベクトルの符号量を削減することで、動画像符号化における符号化効率が向上する。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態の動画像符号化装置１００のブロック図である。
【図２】本発明の第２の実施形態の動画像復号装置２００のブロック図である。
【図３】本発明の第１の実施形態の動きベクトル符号化部１１１のブロック図である。
【図４】本発明の第２の実施形態の動きベクトル復号部２１１のブロック図である。
【図５】本発明の第１の実施形態によるＭＶフラグ決定部１１１５のブロック図である。
【図６】本発明の第２の実施形態によるＭＶ選択部２１１５のブロック図である。
【図７】本発明の第１、第２の実施形態によるＭＶ候補算出部５００１の動作フローを示す図である。
【図８】本発明の第１、第２の実施形態によるＭＶ候補判定部５００２の動作フローを示す図である。
【図９】本発明の第１の実施形態によるＭＶインデックス決定部５００３の動作フローを示す図である。
【図１０】本発明の予測動きベクトルを説明する図である。
【図１１】本発明のＭＶの存在可能領域の例を説明する図である。
【図１２】本発明のＭＶの存在可能領域の別の例を説明する図である。
【図１３】本発明のＭＶの存在可能領域の別の例を説明する図である。
【図１４】本発明のＭＶの存在可能領域とＭＶ候補の関係を説明する図である。
【図１５】本発明のＭＶの符号化データの構成を示す図である。
【図１６】従来のＭＶの符号化データの構成を示す図である。
【図１７】本発明の第３の実施形態の動画像符号化装置１００’のブロック図である。
【図１８】本発明の第３の実施形態の動きベクトル符号化部１１１’のブロック図である。
【図１９】本発明の第３の実施形態の動画像符号化装置を構成する要部のブロック図である。（ａ）は本発明の第３の実施形態によるＭＶフラグ決定部１１１５’を示しており、（ｂ）はＭＶ候補ソート部５００４を示している。
【図２０】本発明の第４の実施形態の動画像復号装置２００’のブロック図である。
【図２１】本発明の第４の実施形態の動きベクトル復号部２１１’のブロック図である。
【図２２】本発明の第４の実施形態によるＭＶ選択部２１１５’のブロック図である。
【図２３】本発明のＭＶの符号化データの構成を示す別の図である。
【図２４】本発明の第３の実施形態を示すものであり、各ＭＶインデックスに割り当てる２値データの値をどのように決定するかを示す模式図である。（ａ）は、ＰＭＶ候補と選択されやすいＭＶ候補との関係を模式的に示しており、（ｂ）は、算術符号化されるＭＶインデックスの値とする２値データの例を示している。
【図２５】本発明の第５の実施形態の動画像符号化装置１００”のブロック図である。
【図２６】本発明の第５の実施形態の可変長符号化部１１５’のブロック図である。
【図２７】本発明の第５の実施形態によるＭＶＤ絶対値符号化部１１５２’のブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の各実施形態について説明する。
【００２４】
（動画像符号化装置）
図１は本発明の第１の実施形態の動画像符号化装置１００の構成を示すブロック図である。動画像符号化装置１００は、動きベクトル符号化部１１１、変換部１１２、量子化部１１３、可変長符号化部１１５、逆量子化部１１６、逆変換部１１７、フレームメモリ１１８、イントラ予測部１２１、インター予測部１２３、動き推定部１２４、予測モード決定部１２５、減算部１０１、加算部１０２から構成される。また図中の符号１０３は、フレームメモリ１１８から抽出された局所復号信号である。
【００２５】
動画像符号化装置１００では、入力された画像データを複数のブロックに分割し、分割したブロック単位で符号化が行われる。ブロック単位の符号化では、予測モード決定部１２５の出力として得られた予測信号を用いて、減算部１０１で入力信号と予測信号との差分である残差信号が算出される。残差信号は変換部１１２でＤＣＴなどにより変換係数に変換され、変換係数はさらに量子化部１１３で量子化される。量子化変換係数は一方では、可変長符号化部１１５に入力されて符号化される。量子化変換係数は他方では、逆量子化部１１６で逆量子化され、逆変換部１１７で逆ＤＣＴ変換などがなされ、復号残差信号が得られる。復号残差信号は加算部１０２で予測信号と加算され、局所復号信号としてフレームメモリ１１８に格納される。
【００２６】
（予測信号の生成）
予測信号の生成は、以下の手順で行われる。イントラ予測部１２１は入力信号の予測信号であるイントラ予測信号を生成し、イントラ予測信号と入力信号とから予測の良さを評価する符号化コストを算出する。イントラ予測信号と符号化コスト（イントラ予測コスト）は、予測モード決定部１２５に入力する。
【００２７】
符号化コストには入力信号と予測信号との差分絶対値和を用いても良いし、差分二乗和を用いても良い。さらに、予測パラメータの符号量を考慮しても良い。
【００２８】
インター予測部１２３は、動き推定部１２４から入力された、参照フレームを特定するためのフレームＩＤ、参照フレーム上の抽出位置を符号化対象ブロックからの相対位置として示す動きベクトル（ＭＶ）に応じてインター予測信号を生成する。生成されたインター予測信号は、動き推定部１２４及び予測モード決定部１２５に入力される。
【００２９】
動き推定部１２４は、あらかじめ定められたフレームＩＤと、あらかじめ定められたＭＶの範囲内の予測パラメータに対し、インター予測部１２３で生成したインター予測信号を用いて、予測の良さを評価する符号化コストを算出する。
【００３０】
そして、動き推定部１２４は、前述の予測パラメータの中で、算出された符号化コストを最小化する予測パラメータとそのときのコスト（インター予測コスト）を予測モード決定部１２５に入力する。
【００３１】
予測モード決定部１２５では、イントラ予測コストとインター予測コストを比較し、コストの小さい方の予測モードを選択する。選択した予測モードと予測パラメータは可変長符号化部１１５に入力される。また、選択した予測モードに対応する予測信号は減算部１０１及び加算部１０２に入力される。
【００３２】
（可変長符号化部１１５）
可変長符号化部１１５は、量子化変換係数を符号化するだけでなく、予測モード決定部１２５から出力される予測モードと予測パラメータを符号化する。予測モードがインター予測の場合には予測パラメータのうちフレームＩＤが可変長符号化部１１５で符号化される。ＭＶは動きベクトル符号化部１１１で符号化に必要な処理がなされ、可変長符号化部１１５で符号化データとして符号化される。
【００３３】
（動きベクトル符号化部１１１）
図３に示すとおり、動きベクトル符号化部１１１は、ＭＶ格納部１１１１、ＰＭＶ候補算出部１１１２、ＰＭＶ決定部１１１３、ＭＶＤ算出部１１１４、ＭＶフラグ決定部１１１５から構成される。図中の符号３０１はＰＭＶ候補およびＰＭＶ候補数を示し、３０２は、ＰＭＶを示す。
【００３４】
ＭＶ格納部１１１１は、動きベクトル符号化部１１１に入力されたＭＶを格納する。ＰＭＶ候補算出部１１１２は、ＭＶ格納部１１１１に格納されたＭＶを参照して予測動きベクトル候補（ＰＭＶ候補）を算出する。算出されたＰＭＶ候補およびＰＭＶ候補数は、ＰＭＶ決定部１１１３及びＭＶフラグ決定部１１１５に入力される。またＰＭＶ候補数は、可変長符号化部１１５の内部に備えるＰＭＶインデックス符号化部１１５１にも入力される。
【００３５】
ＰＭＶ決定部１１１３では、ＭＶとＰＭＶ候補、ＰＭＶ候補数を入力とし、ＰＭＶ候補のうちで、ＭＶとＰＭＶ候補とから算出されるコスト関数ＰＭＶＣＯＳＴ（ＭＶ，ＰＭＶ）を最小化するＰＭＶ候補をＰＭＶとして選択する。選択されたＰＭＶを特定するためのフラグ（ＰＭＶインデックス）はＰＭＶインデックス符号化部１１５１に入力され、ＰＭＶインデックス符号化部１１５１では、ＰＭＶ候補数をもとにＰＭＶインデックスが符号化される（後述）。選択されたＰＭＶは、ＭＶＤ算出部１１１４及びＭＶフラグ決定部１１１５に入力される。
【００３６】
ＭＶＤ算出部１１１４は、入力されたＭＶとＰＭＶとの差分（ＭＶＤ）の絶対値（ＭＶＤ絶対値）を算出し、可変長符号化部１１５内のＭＶＤ絶対値符号化部１１５２及びＭＶフラグ決定部１１１５に入力する。ＭＶＤ絶対値符号化部１１５２では、ＭＶＤ絶対値が符号化される。
【００３７】
ＭＶフラグ決定部１１１５では、入力されたＭＶ、ＰＭＶ、ＰＭＶ候補、およびＰＭＶ候補数から、ＭＶ候補およびＭＶ候補数を算出し、さらに算出したＭＶ候補の中からＭＶを特定するためのフラグ（ＭＶインデックス）を決定する。ＭＶ候補数とＭＶインデックスは可変長符号化部１１５内のＭＶインデックス符号化部１１５３に入力される。ＭＶインデックス符号化部１１５３では、ＭＶ候補数をもとにＭＶインデックスが符号化される。
【００３８】
（ＰＭＶインデックス及びＭＶインデックスの符号化）
ＰＭＶインデックス及びＭＶインデックスは、各々、候補数に応じて符号化が行われる。
【００３９】
具体的には、候補数が１の場合にはインデックスは符号化しない。候補数が２の場合には、２進数で“０”もしくは“１”を符号化する。候補数が３の場合には、“０”、“１０”、“１１”のいずれかを符号化する。候補数が４の場合には、“００”、“０１”、“１０”、“１１”のいずれかを符号化する。各候補の選択される割合に偏りがある場合には、候補数が４の場合に、“０”、“１０”、“１１０”、“１１１”のいずれかを符号化するようにしても良い。２進数の符号化は、前述の値をそのまま符号化データとする固定長符号を用いても良いが、０と１の発生確率を適応的に変更する算術符号を用いればより好適である。
【００４０】
以下、ＰＭＶ候補の算出方法、関数ＰＭＶＣＯＳＴを説明し、本発明のポイントであるＭＶの存在可能領域について説明する。最後にＭＶフラグ決定部１１１５の詳細を説明する。
【００４１】
（ＰＭＶ候補の算出方法）
図１０は、ＰＭＶ候補の算出方法を説明するための図である。符号化対象ブロックの左、上、右上に隣接するブロックのＭＶを各々ｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃと表現する。また、符号化対象ブロックと参照画像上で空間的に同じ位置のブロックのＭＶをｍｖ＿ｃｏｌと表現する。また、空間的に隣接するブロックのＭＶの中央値をｍｖ＿ｍｅｄと表現する。具体的には、ｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃのＸ成分、Ｙ成分毎に中央値をとることで算出する。
【００４２】
ＰＭＶ候補としては、ｍｖ＿ｍｅｄとｍｖ＿ａとを用いるか、もしくはｍｖ＿ｍｅｄとｍｖ＿ｃｏｌとを用いることが好適であるが、本発明のＰＭＶ候補は上記２通りに限定するものではなく、ＰＭＶ候補数及びＰＭＶ候補として他の値を用いることもできる。例えば、ＰＭＶ候補算出部１１１２はｍｖ＿ｍｅｄ、ｍｖ＿ａ、ｍｖ＿ｃｏｌの３つをＰＭＶ候補としても良い。
【００４３】
（関数ＰＭＶＣＯＳＴ）
関数ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ）は、ＭＶとＰＭＶを入力し、ＭＶとＰＭＶとの距離に相当するコストを算出する関数である。ＰＭＶを用いてＭＶを符号化する場合、ＭＶに距離が近いＰＭＶを選択する方がＭＶの符号量を減らすことができる。関数ＰＭＶＣＯＳＴはこの距離を算出するものである。
【００４４】
ＰＭＶＣＯＳＴは、ＭＶとＰＭＶとの差分絶対値であるＭＶＤ絶対値から算出される関数とする。すなわち、任意の関数Ｆ、Ｇを用いて、
ＰＭＶＣＯＳＴ＝Ｆ（｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜）＋Ｇ（｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜）
で表現できる関数とする。ここで｜｜は絶対値を示す記号である。この様な関数としてコストを定義することにより、ＭＶとＰＭＶが得られない場合でも、ＭＶとＰＭＶとの差分絶対値であるＭＶＤ絶対値が得られればコストを算出することができる。
【００４５】
例えば、市街値距離
ＰＭＶＣＯＳＴ＝｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜＋｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜
あるいは、ユークリッド距離の２乗
ＰＭＶＣＯＳＴ＝｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜＾２＋｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜＾２
を距離として用いることができる。
【００４６】
また、他の距離として、ＭＶの符号量を考慮したコスト関数が考えられる。より具体的には、
ＰＭＶＣＯＳＴ＝Ｒ（｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜）＋Ｒ（｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜）により算出する。ここでＲ（Ｘ）はＸとしてＭＶの差分絶対値を入力し、その符号量もしくは符号量に相当する量を算出する関数である。
【００４７】
ＭＶＤ絶対値（＝Ｘ）の分布は多くの場合Ｘ＝０の周りに集中する。この場合、符号量はＸが大きくなるにつれてその増加度が小さくなるような関数Ｒ（Ｘ）となるような符号を用いることが好適である。そのため、Ｒ（Ｘ）としてＬＯＧ（Ｘ＋１）を用いると良い。また、ＭＶＤ絶対値Ｘが０である場合には正負を示すための符号化が不要であるため、ＭＶＤ絶対値Ｘが０以外の場合よりも１ビット少なくＭＶＤを符号化できる。この性質を考慮して、Ｒ（Ｘ）＝１（Ｘが０の場合）、Ｒ（Ｘ）＝Ｘ＋２（Ｘが０以外の場合）を用いることも好適である。
【００４８】
（ＭＶの存在可能領域）
図１１は、ＰＭＶ候補数が２の場合のＭＶの存在可能領域を説明する図である。ＰＭＶ候補としてＰＭＶ候補算出部１１１２でＰＭＶ１とＰＭＶ２が算出され、ＰＭＶ決定部１１１３でＰＭＶとしてＰＭＶ１が選択された状態を示す。また、ＰＭＶＣＯＳＴには市街値距離を用いる。ＰＭＶ決定部１１１３でＰＭＶ１が選択されたということは、ＰＭＶＣＯＳＴを距離として、ＭＶとＰＭＶ１の距離が、ＭＶとＰＭＶ２の距離と等しいか、より小さいことを意味する。すなわち、
ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ１）  ＜＝  ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ２）
が成り立つ。よってＭＶの存在可能領域は上記領域（図１１中の斜線領域）に限定される。
【００４９】
ＰＭＶＣＯＳＴが市街値距離の場合、ＭＶの存在可能領域とそれ以外の領域とを分割する線は、ＰＭＶ１とＰＭＶ２の垂直２等分線Ｌ１となる。
【００５０】
図１２は、ＰＭＶ候補数が３の場合のＭＶの存在可能領域を説明する図である。この場合もＭＶの存在可能領域（図１２中の斜線領域）は、下記２つの式
ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ１）  ＜＝  ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ２）
ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ１）  ＜＝  ＰＭＶＣＯＳＴ（ＭＶ、ＰＭＶ３）
の双方が成り立つ領域に限定される。このようにＰＭＶ候補の数がｍ個（ｍは１以上の整数）である場合、ｍ−１個の不等式からなる連立方程式の解としてＭＶの存在可能領域は限定される。
【００５１】
図１３は、ＰＭＶＣＯＳＴが市街値距離ではない場合を示す図である。図に示すとおり、ＰＭＶＣＯＳＴが市街値距離ではない場合には、ＭＶの存在可能領域とそれ以外の領域とを分割する線は曲線となる場合もある。また、図示しないが線は滑らかな曲線であるとは限らず、折れ線となることもある。
【００５２】
（ＭＶフラグ決定部１１１５）
図５は、ＭＶフラグ決定部１１１５の構成を示すブロック図である。ＭＶフラグ決定部１１１５は、ＭＶ候補算出部５００１、ＭＶ候補判定部５００２、ＭＶインデックス決定部５００３から構成される。ＭＶフラグ決定部１１１５では、ＰＭＶ、ＰＭＶとＭＶとの差分絶対値（ＭＶＤ絶対値）の情報が既知である。
【００５３】
図１４は、ＰＭＶ候補数が２の場合（ＰＭＶ１とＰＭＶ２）におけるＭＶ候補とＭＶの存在可能領域との関係を示す図である。ＰＭＶとＭＶＤ絶対値のみの情報では、ＭＶ候補としては通常（ＭＶＤ絶対値のＸ成分、Ｙ成分がともに０以外の場合）、ＭＶ１からＭＶ４の４つのＭＶ候補が挙げられる。従ってＰＭＶとＭＶＤ絶対値からＭＶを特定するためには４つのＭＶ候補の中から１つを特定するためのＭＶインデックスが必要である。このとき、４通りのＭＶ候補からＭＶを特定するために必要な符号量は２ビットとなる。
【００５４】
今、符号化されるＰＭＶがＰＭＶ１の場合に、図１１と同様にＭＶの存在可能領域を限定すると、図１４においてはＭＶ４はＭＶの存在可能領域から外れる。ＭＶの存在可能領域外のＭＶ候補を除外すると、有効なＭＶ候補数は３になる。この場合、ＭＶインデックスの符号化に必要な符号量は２ビット以内に減らすことができる。
【００５５】
以下、ＰＭＶとＭＶＤ絶対値とから定まるＭＶ候補と、前述のＭＶ候補の中でＭＶの存在可能領域内にあるＭＶ候補と、を区別するために、前者を仮ＭＶ候補、後者をＭＶ候補と呼ぶこととする。
【００５６】
（ＭＶ候補算出部５００１）
ＭＶ候補算出部５００１は、ＰＭＶとＭＶＤ絶対値を入力とし、仮ＭＶ候補および仮ＭＶ候補の数を算出する。図７はＭＶ候補算出部５００１の動作フローを示すフローチャートである。ＭＶＤ絶対値とＰＭＶのＸ成分、Ｙ成分は各々（ｍｖｄ＿ｘ、ｍｖｄ＿ｙ）、（ｐｍｖ＿ｘ、ｐｍｖ＿ｙ）と表現されるものとする。
【００５７】
Ｓ７０１  ｍｖｄ＿ｘ＝＝０かつｍｖｄ＿ｙ＝＝０の場合にはＳ７０２に進み、そうでない場合にはＳ７０３に移行する。
【００５８】
Ｓ７０２  仮ＭＶ候補数ｎを１とし、仮ＭＶ候補ｔＭＶ１を以下により算出する。
【００５９】
ｔＭＶ１＝（ｐｍｖ＿ｘ、ｐｍｖ＿ｙ）
Ｓ７０３  ｍｖｄ＿ｘ＝＝０の場合にはＳ７０４に進み、そうでない場合にはＳ７０５に移行する。
【００６０】
Ｓ７０４  仮ＭＶ候補数ｎを２とし、仮ＭＶ候補ｔＭＶ１、ｔＭＶ２を以下により算出する。
【００６１】
ｔＭＶ１＝（ｐｍｖ＿ｘ、ｐｍｖ＿ｙ＋ｍｖｄ＿ｘ）
ｔＭＶ２＝（ｐｍｖ＿ｘ、ｐｍｖ＿ｙ―ｍｖｄ＿ｘ）
Ｓ７０５  ｍｖｄ＿ｙ＝＝０の場合にはＳ７０６に進み、そうでない場合にはＳ７０７に移行する。
【００６２】
Ｓ７０６  仮ＭＶ候補数ｎを２とし、仮ＭＶ候補ｔＭＶ１、ｔＭＶ２を以下により算出する。
【００６３】
ｔＭＶ１＝（ｐｍｖ＿ｘ＋ｍｖｄ＿ｘ、ｐｍｖ＿ｙ）
ｔＭＶ２＝（ｐｍｖ＿ｘ―ｍｖｄ＿ｘ、ｐｍｖ＿ｙ）
Ｓ７０７  仮ＭＶ候補数ｎを４とし、仮ＭＶ候補ｔＭＶ１、ｔＭＶ２、ｔＭＶ３、ｔＭＶ４を以下により算出する。
【００６４】
ｔＭＶ１＝（ｐｍｖ＿ｘ＋ｍｖｄ＿ｘ、ｐｍｖ＿ｙ＋ｍｖｄ＿ｙ）
ｔＭＶ２＝（ｐｍｖ＿ｘ＋ｍｖｄ＿ｘ、ｐｍｖ＿ｙ―ｍｖｄ＿ｙ）
ｔＭＶ３＝（ｐｍｖ＿ｘ―ｍｖｄ＿ｘ、ｐｍｖ＿ｙ＋ｍｖｄ＿ｙ）
ｔＭＶ４＝（ｐｍｖ＿ｘ―ｍｖｄ＿ｘ、ｐｍｖ＿ｙ―ｍｖｄ＿ｙ）
（ＭＶ候補判定部５００２）
ＭＶ候補判定部５００２は、ＰＭＶ、仮ＭＶ候補、仮ＭＶ候補数、ＭＶＤ絶対値を入力とし、仮ＭＶ候補がＭＶの存在可能領域にあるか否かの判定を行う。この判定により、ＭＶの存在可能領域外にある仮ＭＶ候補を排除することで得られるＭＶ候補とＭＶ候補数をＭＶインデックス決定部５００３に出力する。
【００６５】
図８は、ＭＶ候補判定部５００２の動作フローを示すフローチャートである。
【００６６】
Ｓ８０１では、ＰＭＶ決定部１１１３において用いたコスト関数ＰＭＶＣＯＳＴを用いてＰＭＶとＭＶとの間の距離ｍｉｎ＿ｄｉｓｔを算出する。ＭＶ候補判定部５００２にはＭＶを入力していないが、既に説明したように関数ＰＭＶＣＯＳＴはＰＭＶとＭＶの差分絶対値であるＭＶＤ絶対値から算出可能である。
【００６７】
仮ＭＶ候補とＰＭＶ候補の距離は、仮ＭＶ候補がＭＶの存在可能領域にある場合、常にｍｉｎ＿ｄｉｓｔ以上になる。逆に、仮ＭＶ候補とＰＭＶ候補の距離がｍｉｎ＿ｄｉｓｔ未満になる場合、その仮ＰＭＶ候補は、ＭＶ候補ではないとして排除することが可能である。
【００６８】
Ｓ８０２  ＭＶ候補インデックスを示す変数ｎｎを１に初期化する。
【００６９】
Ｌ８０１  仮ＭＶ候補インデックスを示す変数ｉをループ変数として、ｉが１から仮ＭＶ候補数ｎと等しくなるまでのｎ回だけＬ８０２からＳ８０６の間をループする。
【００７０】
Ｌ８０２  ＰＭＶ候補インデックスを示す変数ｊをループ変数として、ｊが１からＰＭＶ候補数ｍと等しくなるまでのｍ回だけＳ８０３からＳ８０４の間をループする。
【００７１】
Ｓ８０３  仮ＭＶ候補インデックスｉで示される仮ＭＶ候補ｔＭＶｉと、ＰＭＶ候補インデックスｊで示されるＰＭＶ候補ＰＭＶｊとの間の距離ｄｉｓｔ＿ｉｊを、ＰＭＶ決定部１１１３で用いたコスト関数ＰＭＶＣＯＳＴを用いて算出する。
【００７２】
Ｓ８０４  ｄｉｓｔ＿ｉｊがｍｉｎ＿ｄｉｓｔ未満である場合、ＰＭＶインデックスを示す変数ｊのループ（Ｌ８０２のループ）を抜ける。そうではない場合にはＬ８０２のループを継続する。なお、ｄｉｓｔ＿ｉｊがｍｉｎ＿ｄｉｓｔ未満であるということは、仮ＭＶ候補ｔＭＶｉがＭＶの存在可能領域外にあることを意味する。
【００７３】
Ｓ８０５  仮ＭＶ候補ｔＭＶｉは、ＭＶの存在可能領域にあると判断されたため、ＭＶ候補ｆＭＶに追加する。具体的には、ｆＭＶｎｎにｔＭＶｉを代入する。
【００７４】
Ｓ８０６  ＭＶ候補インデックスを示す変数ｎｎを１だけインクリメントする。
以上の動作フローにより、ＭＶ候補数ｎｎとＭＶ候補ｆＭＶを得る。
【００７５】
なお、ＭＶ候補算出部５００１とＭＶ候補判定部５００２を一体とすることにより、全ての仮ＭＶ候補を算出することなく、ＭＶ候補を算出することも可能である。この場合、仮ＭＶ候補の１つ１つを算出する度にＬ８０２のループによる判定を行う。
【００７６】
（ＭＶインデックス決定部５００３）
ＭＶインデックス決定部５００３は、入力されたＭＶ（符号化対象ブロックのＭＶ）とＭＶ候補、ＭＶ候補数から、ＭＶがＭＶ候補のうちのいずれであるかを判定し、それを示すＭＶインデックスを決定する。
【００７７】
図９はＭＶインデックス決定部５００３の動作フローを示すフローチャートである。
【００７８】
Ｌ９０１  ＭＶ候補のインデックスを示すループ変数ｉについて１からＭＶ候補数ｎｎまで、Ｓ９０１をループする。
【００７９】
Ｓ９０１  ＭＶ候補ｆＭＶｉがＭＶと一致するかを判定する。一致する場合にはＳ９０２に進む。一致しない場合はループの終了条件までループを継続する。
【００８０】
Ｓ９０２  ＭＶインデックスｉｉにｉを代入する。
【００８１】
以上の動作フローにより、ＭＶインデックスｉｉを得る。
【００８２】
図１５は、本発明のＭＶの符号化データの構成を示す図である。図１５に示すように、ＭＶはＰＭＶを示すＰＭＶインデックス、ＰＭＶとＭＶとの差分の絶対値（ＭＶＤ絶対値）、及びＭＶインデックスに分けて符号化される。なお、ＭＶＤ絶対値はＸ成分、Ｙ成分の順に符号化される。なお、ＰＭＶ候補数が１の場合にはＰＭＶインデックスは符号化されず、ＭＶ候補数が１の場合にはＭＶインデックスは符号化されない。
【００８３】
以上、説明した動画像符号化装置１００では、ＭＶの予測値として複数のＰＭＶ候補を算出し、ＭＶの符号化に適したＰＭＶを選択し符号化する動きベクトル符号化方法において、ＰＭＶ候補とＰＭＶを用いてＭＶの存在可能領域を限定することでＭＶを効率的に符号化できる。
【００８４】
より具体的には、ＭＶとＰＭＶの差分絶対値（ＭＶＤ絶対値）を符号化した上で、ＰＭＶとＭＶＤ絶対値から定まる仮ＭＶ候補から、ＭＶの存在可能領域外にあるものを排除することでＭＶ候補を限定し、限定したＭＶ候補からＭＶを一意に特定するＭＶインデックスを符号化する。
【００８５】
ＭＶの存在可能領域を限定することにより、ＭＶ候補からＭＶを特定するためのＭＶインデックスの符号量を削減することができる。
【００８６】
（復号装置）
図２は本発明の第２の実施形態の動画像復号装置２００の構成を示すブロック図である。動画像復号装置２００は、動きベクトル復号部２１１、可変長符号化復号部２０１、逆量子化部１１６、逆変換部１１７、フレームメモリ１１８、イントラ予測部１２１、インター予測部１２３、予測モード選択部２２５、加算部１０２から構成される。なお、図中の符号２０３は、予測パラメータのうちのフレームＩＤを意味する。
【００８７】
動画像復号装置２００も、動画像符号化装置１００同様、入力された画像データを複数のブロックに分割し、分割したブロック単位で復号が行われる。ブロック単位の復号では、可変長符号化復号部２０１で、予測モード、量子化変換係数が復号される。
【００８８】
予測モードは、当該ブロックがイントラ予測であるかインター予測であるかを示すモードである。予測モードがインター予測の場合、予測パラメータであるフレームＩＤ及びＭＶを復号する。フレームＩＤは可変長符号化復号部２０１で復号される。ＭＶは可変長符号化復号部２０１、および動きベクトル復号部２１１で復号処理がなされる。
【００８９】
イントラ予測部１２１およびインター予測部１２３は、フレームメモリ１１８に格納された復号済みの画像（再生画像）から、復号された予測パラメータを用いて、イントラ予測信号およびインター予測信号を生成する。生成された予測信号は予測モード選択部２２５に入力される。予測モード選択部２２５は、予測モードに対応する予測信号を選択し、加算部１０２に出力する。
【００９０】
復号された量子化変換係数は、逆量子化部１１６で逆量子化され、逆変換部１１７で逆ＤＣＴなどの変換がなされて復号残差信号が加算部１０２に出力される。加算部１０２では、予測信号と復号残差信号が加算され局所復号信号が生成される。生成された局所復号信号はフレームメモリ１１８に出力される。フレームメモリ１１８に出力された再生画像は、イントラ予測部１２１およびインター予測部１２３で参照画像として用いられるとともに動画像復号装置２００外に出力される。
【００９１】
図４は、動きベクトル復号部２１１の構成を示すブロック図である。動きベクトル復号部２１１は、ＭＶ格納部１１１１、ＰＭＶ候補算出部１１１２、ＰＭＶ選択部２１１３、ＭＶ選択部２１１５から構成される。
【００９２】
ＭＶ格納部１１１１は、動きベクトル復号部２１１で復号したＭＶを格納する。ＰＭＶ候補算出部１１１２はＰＭＶ候補を算出する。算出されたＰＭＶ候補およびＰＭＶ候補数はＰＭＶ選択部２１１３およびＭＶ選択部２１１５に入力される。ＰＭＶ候補数は可変長符号化復号部２０１内のＰＭＶインデックス復号部２０１１に入力される。ＰＭＶインデックス復号部２０１１は、ＰＭＶ候補数を用いてＰＭＶインデックスを復号し、ＰＭＶ選択部２１１３に入力する。ＰＭＶ選択部２１１３は、ＰＭＶ候補からＰＭＶインデックスで示される候補を選択し、ＰＭＶとしてＭＶ選択部２１１５に入力する。
【００９３】
また、可変長符号化復号部２０１は、ＰＭＶインデックスに続き、内部のＭＶＤ絶対値復号部２０１２により、ＭＶＤ絶対値を復号し、ＭＶ選択部２１１５に入力する。
【００９４】
図６は、ＭＶ選択部２１１５の構成を示すブロック図である。ＭＶ選択部２１１５は、ＭＶ候補算出部５００１、ＭＶ候補判定部５００２、ＭＶ抽出部６００４から構成される。ＭＶ候補算出部５００１、ＭＶ候補判定部５００２は、実施形態１で説明したため説明は省略するが、これら手段により、ＰＭＶとＭＶＤ絶対値から算出される仮ＭＶ候補のうち、ＰＭＶとＰＭＶ候補を用いて判定されるＭＶの存在可能領域にあるもの（＝ＭＶ候補）が算出される。ＭＶ抽出部６００４は、ＭＶ候補からＭＶインデックスで示される候補を選択することでＭＶを復号する。
【００９５】
以上、説明した動画像復号装置２００では、ＭＶの予測値として複数のＰＭＶ候補を算出し、ＭＶの符号化に適したＰＭＶを選択し復号に用いる動きベクトル復号方法において、ＰＭＶ候補とＰＭＶを用いてＭＶの存在可能領域を限定することで効率的に符号化されたＭＶを復号できる。
【００９６】
より具体的には、ＭＶとＰＭＶとの差分絶対値（ＭＶＤ絶対値）を復号した上で、ＰＭＶとＭＶＤ絶対値とから定まる仮ＭＶ候補から、ＭＶの存在可能領域外にあるものを排除することでＭＶ候補を限定し、限定したＭＶ候補からＭＶを特定するＭＶインデックスを復号することでＭＶを復号する。
【００９７】
ＭＶの存在可能領域を限定することにより、ＭＶ候補からＭＶを特定するために必要なＭＶインデックスの符号量を削減した符号化データからＭＶを復号できる。
【００９８】
（動画像符号化装置１００’）
次に、本発明の第３の実施形態の動画像符号化装置１００’について図１７〜図１９、図２３を参照しつつ、以下に説明する。図２３は、ＭＶの符号化データの構成を示す図である。図２３に示すように、ＭＶの符号化データは「ＭＶＤ」の部分と「ＭＶＤ以外」の部分から構成されている。
【００９９】
本実施形態の動画像符号化装置１００’は、ＭＶ候補の出現確率を考慮して算術符号化することにより、ＭＶ候補の存在確率が高いものほどそのＭＶ候補を特定するためのフラグであるＭＶインデックスの符号化後の符号長が短くなるという傾向を強め、出現確率を考慮しない場合よりＭＶインデックスの符号量を削減するものである。
【０１００】
すなわち、本実施形態の動画像符号化装置１００’は、第１の実施形態の動画像符号化装置１００に比べて、図２３の「ＭＶＤ以外」の部分の符号量をさらに削減することにより、ＭＶ符号化の符号量をさらに削減することができる。そのために、本実施形態に係る動画像符号化装置１００’は、ＭＶの存在確率が高いと推定される順序にＭＶ候補を並び替える動作を行う。
【０１０１】
図１７は本発明の第３の実施形態の動画像符号化装置１００’の構成を示すブロック図である。動画像符号化装置１００’は、第１の実施形態の動画像符号化装置１００と同様に、変換部１１２、量子化部１１３、可変長符号化部１１５、逆量子化部１１６、逆変換部１１７、フレームメモリ１１８、イントラ予測部１２１、インター予測部１２３、動き推定部１２４、予測モード決定部１２５、減算部１０１、加算部１０２を備えているが、動きベクトル符号化部１１１’の構成が第１の実施形態の動きベクトル符号化部１１１と異なっている。動きベクトル符号化部１１１’を除く他の部材は、第１の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、動きベクトル符号化部１１１’について図１８、図１９を参照して説明していくことにする。
【０１０２】
図１８に示すとおり、動きベクトル符号化部１１１’は、動きベクトル符号化部１１１同様に、ＭＶ格納部１１１１、ＰＭＶ候補算出部１１１２、ＰＭＶ決定部１１１３、ＭＶＤ算出部１１１４を備えているが、ＭＶフラグ決定部１１１５’が第１の実施形態のＭＶフラグ決定部１１１５と異なっている。
【０１０３】
図１９の（ａ）に示すように、ＭＶフラグ決定部１１１５’には、ＭＶ候補算出部５００１とＭＶ候補判定部５００２との間にＭＶ候補ソート部５００４が設けられている。ＭＶ候補ソート部５００４は、図１９の（ｂ）に示すように、ＭＶ候補コスト算出部５００４ａとソート部５００４ｂと、を備えている。
【０１０４】
なお、ＭＶ候補ソート部５００４は、ＭＶ候補判定部５００２の後に設ける構成としても良い。
【０１０５】
ＭＶ候補ソート部５００４では、ＭＶ候補算出部５００１から、仮ＭＶ候補および仮ＭＶ候補の数を入力値として受け付ける。ＭＶ候補ソート部５００４のＭＶ候補コスト算出部５００４ａは、各仮ＭＶ候補について、その仮ＭＶ候補の座標値を入力としてＭＶＣＯＳＴと呼ぶ関数を適用することにより、その仮ＭＶ候補のコストを算出する。ＭＶＣＯＳＴは、ＭＶ候補の出現確率が高いと推定されるほど、より大きな値（もしくはより小さな値）を与える関数であり様々な関数を適用することが可能である。具体的には、ＭＶ候補の座標値と各ＰＭＶ候補（もしくはＰＭＶ）の座標値を入力として、仮ＭＶ候補とＰＭＶ候補との距離が大きくなるほどコストの値が大きくなるものが適当である。なお、そのような関数の具体例について後述することにする。
【０１０６】
そして、ソート部５００４ｂはコストの小さい順に仮ＭＶ候補を並び変える。あるいは、ソート部５００４ｂはコストの大きい順に仮ＭＶ候補を並び変えてもよい。
【０１０７】
ＭＶ候補判定部５００２は、第１の実施形態と同様の方法で仮ＭＶ候補の中からＭＶ候補を決定し、ＭＶ候補およびＭＶ候補の数をＭＶインデックス決定部５００３に出力する。
【０１０８】
ＭＶインデックス決定部５００３は、ＭＶ候補およびＭＶ候補の数を受け付け、各ＭＶ候補に割り当てるＭＶインデックスの２値データの値を決定する。ここで、各ＭＶインデックスに割り当てる２値データの値をどのように決定するかについて、図２４を参照しつつ以下に説明する。
【０１０９】
図２４の（ａ）は、ＰＭＶ候補と選択されやすいＭＶ候補との関係を示した模式図である。図２４において、ＰＭＶ０は、ＰＭＶ決定部１１１３により選択されたＰＭＶであることを示している。また、ＭＶ１〜ＭＶ４は、ＭＶ候補判定部５００２から出力されたＭＶ候補を示している。
【０１１０】
一般に、ＭＶ候補のうち、選択されたＰＭＶ候補以外のＰＭＶ候補との距離が小さいものほど、ＭＶに決定される傾向がある。ＭＶインデックス決定部５００３は、この傾向を利用して、ＭＶインデックスの２値データの値を決定する。
【０１１１】
すなわち、後述するように、算術符号化の際は、「０」に高い確率が割り当てられ、「１」に低い確率が割り当てられることとなるが、ＭＶインデックス決定部５００３は、ＭＶ候補ソート部５００４でソートされた順（コストの小さい順）に、ＭＶ候補に「００」「０１」「１０」「１１」を割り当てていく。この結果、図２４の（ｂ）に示すように、ＭＶ１に「００」、ＭＶ２に「０１」、ＭＶ３に「１０」、ＭＶ４に「１１」が割り当てられることになる。
【０１１２】
そして、ＭＶインデックス決定部５００３は、決定されたＭＶインデックスをＭＶインデックス符号化部１１５３に出力する。そして、可変長符号化部１１５は、「０」および「１」に割り当てられた確率に基づいて、各ＭＶインデックスを算術符号化する。
【０１１３】
従って、ＭＶインデックスの符号語は、ＭＶ１の符号語の符号長が短くなり、ＭＶ４の符号語の符号長が長くなる傾向が強まる。結果として、実施形態１の場合より、ＭＶインデックスの符号語の平均符号長が短くなり、符号量が少なくなることがわかる。なお、ＭＶインデックス符号化部１１５３は、算術符号化するときに「０」「１」に割り当てる確率を適応的に変更するようにしてもよい。
【０１１４】
また、可変長符号化部１１５は、固定長符号化を用いて、ＭＶ候補ソート部５００４でソートされた順（コストの小さい順）に短い符号を割り当てても良い。例えば、「０」「１０」「１１０」「１１１」を割り当てることで可能である。
【０１１５】
このように、出現確率が高いＭＶ候補に応じてＭＶインデックスを割り当てることにより２値化を行った際に、算術符号化される場合の「０」、「１」の確率に偏りを持たせる方法は、ＭＶ候補判定部５００２を用いない場合にも適用できる。
【０１１６】
なお、ＭＶ候補判定部５００２を用いる場合には、出現確率が高いＭＶ候補に応じて符号化を行うことはさらに効率的になる。例えば、ＭＶ候補判定部５００２によりＭＶ候補の数が３となった場合、「０」、「１０」、「１１」のように、出現確率の高いＭＶ候補に短い符号（もしくは算術符号の場合の２進数列）を割り当てることで符号量を低減することができる。
【０１１７】
また、ＭＶ候補の数が３である場合のような、ＭＶ候補の数が２の整数乗でない場合には一般にＭＶ候補に対応する符号もしくは２進数列は不等長になる。この場合、ＭＶ候補の出現確率に応じてＭＶインデックスを割り当てる当該処理の有効性が大きい。この特性を考慮して、最も効果の高い場合のみこの処理を適用する、すなわち、ＭＶ候補の数が特定の条件に合致した場合（例えば２の整数乗ではない場合）のみ、ＭＶ候補のソートを行うことも可能である。この処理には、有効と判定されたＭＶ候補の数を必要なので、ＭＶ候補ソート部５００４はＭＶ候補判定部５００２の後に設ける。
【０１１８】
なお、出現確率が高いＭＶ候補に応じてＭＶインデックスの値を割り当てる処理は、ＭＶ候補の文字通りのソートを用いる必要はない。高々４個程度のＭＶ候補数であれば、複数の条件分岐を組み合わせることで容易に処理が可能である。
【０１１９】
例えば、ＭＶ候補コストが、コストＡ、コストＢ、コストＣ、コストＤがコストＡ＜＝コストＢ＜＝コストＣ＜＝コストＤの順にあるかは、
ＩＦ（コストＡ＜＝コストＢ  かつ  コストＢ＜＝コストＣ  かつコストＣ＜＝コストＤ）
という条件分岐文で判定できる。この条件分に該当した場合において、対応するＭＶインデックス、すなわち、コストＡ〜コストＤのＭＶ候補に、「００」「０１」「１０」「１１」で割り当てる。他の順序であるかどうかも同様の条件分岐文を並べることで容易に実施できる。
【０１２０】
この場合、ソート部５００４ｂは不要になり、ＭＶインデックス決定部５００３において上記のようなＭＶ候補コストを用いた条件分岐によるＭＶインデックス決定を行うことになる。
【０１２１】
また、ＭＶ候補コストの順に割り振るのではなく、最小の（もしくは最大の）Ｎ個のＭＶ候補コストについてＭＶ候補コストの順に割り振るのであればさらに処理が容易になる。例えば、ＭＶ候補コスト最小（もしくは最大）のＭＶ候補を算出し特定のＭＶインデックスを割り振るような処理は、最小値のＭＶ候補を特定する処理だけで実現できることから極めて簡易な構成で実現できる。
【０１２２】
本発明は、ＭＶ候補の完全な順序付けを行わないような、このような簡略化された構成も含むものとする。
【０１２３】
（ＭＶＣＯＳＴ関数の具体例）
ＭＶＣＯＳＴ関数の具体例としては、以下の関数１〜関数４が考えられる。
関数１：ＭＶ候補コスト＝Σ（｜ｍｖ_ｘ−ｐｍｖi_ｘ｜＋｜ｍｖ_ｙ−ｐｍｖi_ｙ｜）（ｉ：１〜Ｎ、ｐｍｖiは選択されなかったＰＭＶ候補）
関数１´：ＭＶ候補コスト＝Σ（（ｍｖ_ｘ−ｐｍｖi_ｘ）＾２＋（ｍｖ_ｙ−ｐｍｖi_ｙ）＾２）（ｉ：１〜Ｎ、ｐｍｖiは選択されなかったＰＭＶ候補、＾は２乗を示す）
関数２：ＭＶ候補コスト＝｜ｍｖ_ｘ｜＋｜ｍｖ_ｙ｜
関数３：ＭＶ候補コスト＝｜ｍｖ_ｘ−ｐｍｖ0_ｘ｜＋｜ｍｖ_ｙ−ｐｍｖ0_ｙ｜（ｐｍｖ0は選択されたＰＭＶ候補）
関数４：ＭＶ候補コスト＝ＭＩＮ（｜ｍｖ_ｘ−ｐｍｖi_ｘ｜＋｜ｍｖ_ｙ−ｐｍｖi_ｙ｜）（ｉ：１〜Ｎ、ｐｍｖiは選択されなかったＰＭＶ候補）
使用するＭＶＣＯＳＴ関数は、関数１であることが望ましいが、関数１´や関数２〜関数４を用いてもよい。また、フレームタイプに応じて、ＭＶＣＯＳＴ関数として使用する関数を変更してもよい。例えば、ＰフレームではＭＶＣＯＳＴ関数として関数１を用い、ＢフレームではＭＶＣＯＳＴ関数として関数２を用いるようにしてもよい。なお、後述のように、ＭＶインデックス符号化部１１５３は、ＭＶ候補コスト算出部５００４ａが使用したＭＶＣＯＳＴ関数を示す情報を符号化して、符号化データのヘッダに記録しておいても良い。
【０１２４】
なお、ＭＶ候補コスト算出に用いる（ＭＶＣＯＳＴ関数に入力する）ＰＭＶは、ＰＭＶ候補算出部１１１２で算出されたＰＭＶ候補、すなわち、ＰＭＶインデックスで選択対象となるＰＭＶ候補に限る必要はない（そのため「ＭＶ候補コスト算出に用いるＰＭＶ候補」ではなく単に「ＭＶ候補コスト算出に用いるＰＭＶ」と記載している）。例えば、ＰＭＶ候補算出部１１１２において、ｍｖ＿ｍｅｄとｍｖ＿ｃｏｌをＰＭＶ候補として算出する場合において、ＭＶ候補コスト算出に用いるＰＭＶをｍｖ＿ｍｅｄとｍｖ＿ｃｏｌ、ｍｖ＿ａとしても良い。
【０１２５】
これは、ＰＭＶインデックスの符号量を小さくするためには、ＰＭＶ候補の数を小さい数（２個が適当）に制限する必要があるが、ＭＶ候補の出現確率を推定するためにはそのような制限がないためである。
【０１２６】
なお、ＰＭＶインデックスで選択対象となるＰＭＶ候補とは全く異なるＰＭＶ、例えば、ｍｖ＿ａをＭＶ候補コスト算出に用いるＰＭＶ候補としても良い。このようにＰＭＶを考えると、関数２はＰＭＶとして｛０、０｝を用いたのと同一となる。
【０１２７】
なお、ＭＶ候補コスト算出用のＰＭＶは、上述のようにＰＭＶ候補算出部１１１２のＰＭＶ候補をそのまま用いる構成にしても良いし、ＰＭＶ候補算出部１１１２においてＰＭＶ候補とは別にＭＶ候補コスト算出用のＰＭＶを算出する構成としても良い。また、動きベクトル符号化部１１１’内に、ＰＭＶ候補算出部１１１２とは別のＰＭＶを算出する手段を設ける構成にしても良い。
【０１２８】
この場合、複数のＰＭＶ候補を算出しＭＶの符号化に適したＰＭＶを選択し、ＭＶとＰＭＶの差分を符号化／復号する符号化装置／復号装置ではなく、単一のＰＭＶを算出しＭＶとＰＭＶの差分を符号化／復号する符号化装置／復号装置にも適用可能である。この場合、ＰＭＶ候補算出部１１１２、ＰＭＶ決定部１１１３、ＰＭＶインデックス符号化部１１５１、ＭＶ候補判定部５００２を備えない符号化装置の構成でも実現できる。
【０１２９】
（ＰＭＶ決定部１１１３が使用するＰＭＶＣＯＳＴ関数について）
前述したように、ＰＭＶ決定部１１１３では、ＭＶとＰＭＶ候補、ＰＭＶ候補数を入力とし、ＰＭＶ候補のうちでＭＶとＰＭＶとから算出されるコスト関数ＰＭＶＣＯＳＴ（ＭＶ，ＰＭＶ）を最小化する候補をＰＭＶとして選択するが、ＰＭＶ決定部１１１３は、動きベクトル符号化部１１１の負荷の状況に応じて、ＰＭＶＣＯＳＴ関数として使用する関数を動的に変更するようにしてもよい。
【０１３０】
すなわち、前述したようにＰＭＶＣＯＳＴ関数としては様々な関数を適用可能であるが、その中には、ＰＭＶＣＯＳＴ＝０のように符号化効率も演算量も変わらないもの、ＰＭＶＣＯＳＴ＝｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜＋｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜のように符号化効率はあまり改善しないが演算量も少ないもの、ＰＭＶＣＯＳＴ＝Ｒ（｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜）＋Ｒ（｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜）のように、符号化効率が大きく改善するが演算量も大きいもの、など様々なものがある。そこで、ＰＭＶ決定部１１１３は、動きベクトル符号化部１１１の負荷の状況に応じて、負荷が軽い場合には、符号化効率の高い関数を用い、負荷が一定以上である場合には、演算量の小さい関数を用いて、ＰＭＶを選択するようにしてもよい。この場合、ＭＶインデックス符号化部１１５１は、ＰＭＶ決定部１１１３が使用したＰＭＶＣＯＳＴ関数を示す情報(フラグ)を符号化して、符号化データのヘッダに記録しておく。なお、記録するヘッダは、シーケンスヘッダ、ピクチャヘッダ、スライスヘッダ、ＭＢヘッダなどであればよい。また、シーケンスやピクチャ毎にヘッダを符号化することなく、シーケンスパラメータ、ピクチャパラメータというデータを先に符号化し、各シーケンス、ピクチャではそのデータをインデックスで指定、参照する方式もあるが、当該発明では、このようなデータもヘッダとして扱うため、これらデータで関数を示すフラグを符号化すれば良い。
【０１３１】
このように、動きベクトル符号化部１１１の負荷の状況に応じて、ＰＭＶを選択可能にすることにより、符号化効率と演算量とのバランスをとることができる。また、符号化装置の構成を簡略化する場合や符号化の負荷が高い場合には、ＰＭＶＣＯＳＴ＝０を選択することにより、ＰＭＶによる制約を利用しない符号化も可能である、すなわち、動きベクトル符号化部１１１でＰＭＶの制約を考慮することなく自由にＰＭＶを選択することができる。
【０１３２】
ＰＭＶＣＯＳＴ関数を選択する場合には、ＰＭＶ決定部１１１３で用いたＰＭＶＣＯＳＴ関数と同じ関数をＭＶ候補判定部５００２でも用いることが必要である。なお、符号化装置を簡略化するため、符号化装置では常にＰＭＶＣＯＳＴ＝０を選択する場合には、仮ＭＶ候補がそのままＭＶ候補となるため、ＭＶ候補の判定を行うＭＶ候補判定部５００２を備えない構成も可能である。
【０１３３】
（ＭＶ候補ソート部５００４が使用するＭＶＣＯＳＴ関数について）
ＭＶ候補ソート部５００４で用いるＭＶＣＯＳＴ関数についても、ＰＭＶＣＯＳＴ関数と同様、ＭＶＣＯＳＴ関数を示す情報(フラグ)を符号化して、符号化データのヘッダに記録しておくことにより、符号化効率と演算量とのバランスをとることができる。符号化装置の構成の簡略化及び、符号化装置の高速化の要求が強い場合には、ＭＶＣＯＳＴ＝０とすればソート自体が不要になり演算量を削減できる。
【０１３４】
なお、ＰＭＶＣＯＳＴ関数やＭＶＣＯＳＴ関数をフレームタイプによって変更する場合には、フレームタイプ毎のＭＶＣＯＳＴ関数を示すフラグを符号化することが適当である。
【０１３５】
（復号装置２００’）
次に、本発明の第４の実施形態の復号装置２００’について図２０〜図２２を参照しつつ、以下に説明する。
【０１３６】
図２０は本発明の第４の実施形態の復号装置２００’の構成を示すブロック図である。復号装置２００’は、第２の実施形態の復号装置２００と同様に、可変長符号化復号部２０１、逆量子化部１１６、逆変換部１１７、フレームメモリ１１８、イントラ予測部１２１、インター予測部１２３、予測モード選択部２２５、加算部１０２を備えているが、動きベクトル復号部２１１’が第２の実施形態の動きベクトル復号部２１１と異なっている。動きベクトル復号部２１１’を除く他の部材は、第２の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、動きベクトル復号部２１１’について図２１、図２２を参照して説明していくことにする。
【０１３７】
図２１に示すとおり、動きベクトル復号部２１１’は、動きベクトル復号部２１１と同様に、ＭＶ格納部１１１１、ＰＭＶ候補算出部１１１２、ＰＭＶ選択部２１１３を備えているが、ＭＶ選択部２１１５’が第２の実施形態のＭＶ選択部２１１５と異なっている。
【０１３８】
図２２に示すように、ＭＶ選択部２１１５’には、ＭＶ候補算出部５００１とＭＶ候補判定部５００２との間にＭＶ候補ソート部５００４が設けられている。
【０１３９】
ＭＶ候補ソート部５００４では、ＭＶ候補算出部５００１から、仮ＭＶ候補および仮ＭＶ候補の数を入力値として受け付ける。ＭＶ候補ソート部５００４は、ＭＶフラグ決定部１１１５’のＭＶ候補ソート部５００４と同様のソートを行う。なお、ＭＶフラグ決定部１１１５’のＭＶ候補ソート部５００４が動的にＭＶＣＯＳＴ関数を変更した場合には、ＭＶ候補ソート部５００４は、符号化データのヘッダに記録された、ＭＶＣＯＳＴ関数を示す情報を復号して参照することにより、ソートを行う。
【０１４０】
なお、ＰＭＶ決定部１１１３及びＭＶ候補判定部５００２が動的にＰＭＶＣＯＳＴ関数を変更した場合には、符号化データのヘッダに記録された、ＰＭＶＣＯＳＴ関数を示す情報を復号してＭＶ候補判定部５００２における判定を行う。
【０１４１】
そして、ＭＶ候補判定部５００２は、第２の実施形態と同様の方法で仮ＭＶ候補の中からＭＶ候補を決定し、ＭＶ候補およびＭＶ候補の数をＭＶ抽出部６００４に出力する。
【０１４２】
最後に、ＭＶ抽出部６００４は、ＭＶ候補およびＭＶ候補の数を受け付け、ＭＶ候補からＭＶインデックスで示される候補を選択することでＭＶを復号する。
【０１４３】
なお、単一のＰＭＶを算出しＭＶとＰＭＶの差分を復号する復号装置においては、ＰＭＶ候補算出部１１１２、ＰＭＶ選択部２１１３、ＰＭＶインデックス復号部２０１１、ＭＶ候補判定部５００２を備えない復号装置の構成でも実現できる。
【０１４４】
（動画像符号化装置１００”）
最後に、本発明の第５の実施形態の動画像符号化装置１００”について図２５〜図２７を参照しつつ、以下に説明する。
【０１４５】
本実施形態の動画像符号化装置１００”は、ＰＭＶに応じて、ＭＶＤの算術符号化に用いる確率（コンテキスト）を適応的に切り替えることにより、ＭＶＤ絶対値の符号化効率を向上させるものである。
【０１４６】
この切り替えは、ＭＶＤ絶対値の大きさに、ＭＶＤの算出に用いたＰＭＶの種類に応じた傾向があるという観察結果に基づくものである。より具体的には、ＰＭＶ候補がｍｖ＿ｍｅｄとｍｖ＿ｃｏｌである場合において、ｍｖ＿ｃｏｌがＰＭＶの場合には、ｍｖ＿ｍｅｄがＰＭＶの場合よりもＭＶＤ絶対値が小さくなる傾向がある。なお、以下の構成においては、後述する初期値以外は、いずれのＰＭＶがよりＭＶＤ絶対値が小さくなる傾向があるかを明示的な処理として組み込まなくても、算術符号において適応的に「０」、「１」の出現確率として学習されるため効果を実現できる。
【０１４７】
図２５は本発明の第５の実施形態の動画像符号化装置１００”の構成を示すブロック図である。動画像符号化装置１００”は、第１の実施形態の動画像符号化装置１００と同様に、動きベクトル符号化部１１１、変換部１１２、量子化部１１３、逆量子化部１１６、逆変換部１１７、フレームメモリ１１８、イントラ予測部１２１、インター予測部１２３、動き推定部１２４、予測モード決定部１２５、減算部１０１、加算部１０２を備えているが、可変長符号化部１１５’の構成が第１の実施形態の可変長符号化部１１５と異なっている。可変長符号化部１１５’を除く他の部材は、第１の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、可変長符号化部１１５’について図２６、図２７を参照して説明していくことにする。
【０１４８】
図２６に示すとおり、可変長符号化部１１５’は、ＰＭＶインデックス符号化部１１５１、ＭＶＤ絶対値符号化部１１５２’、ＭＶインデックス符号化部１１５３を備えている。ＰＭＶインデックス符号化部１１５１、ＭＶインデックス符号化部１１５３については、第１の実施形態と同様の動作を行うので、ＭＶＤ絶対値符号化部１１５２’について説明する。
【０１４９】
図２７に示すように、ＭＶＤ絶対値符号化部１１５２’は、コンテキスト決定部１１５２ａ、確率保持部１１５２ｂ、確率更新部１１５２ｃ、２進化部１１５２ｄ、算術符号化部１１５２ｅを備えている。
【０１５０】
２進化部１１５２ｄは、ＭＶＤ絶対値を「０」「１」の２進数列にして算術符号化部１１５２ｅに出力する。２進化部１１５２ｄは、ＭＶＤ絶対値「ｎ」を、連続するｎ個の「１」の後ろに１個の「０」が付加された２進数列に変換する。例えば、ｎが０の場合、２進数列は「０」となり、ｎが２の場合、２進数列は「１１０」になる。
【０１５１】
一方、コンテキスト決定部１１５２ａは、ＰＭＶ決定部１１１３から入力されたＰＭＶインデックスの値を用いて定めたコンテキストインデックスを確率保持部１１５２ｂに出力する。
【０１５２】
コンテキストインデックスは、Ｘ成分かＹ成分かを示す値と、既に符号化／復号した隣接するブロックのＭＶＤの大きさを段階的に示す値と、２進数列の何個目付近を処理しているかを段階的に示す値と、ＰＭＶインデックスの値と、の組み合わせによって定めるのが好適である。すなわち、コンポーネントが２個、ＭＶＤの大きさを段階的に示す値が３段階、２進数列の何個目付近を処理しているかを段階的に示す値が３段階、ＰＭＶ候補数が２個で有った場合、２×３×３×２の２４個のコンテキストインデックスの中から出力すべきコンテキストインデックスを定めることになる。この場合、確率保持部１１５２ｂは「１」「０」の確率を２４通り保持するように構成される。なお、ＰＭＶインデックスの値を用いていれば、他の条件を用いてコンテキストインデックスを定めても構わない。
【０１５３】
算術符号化部１１５２ｅは、確率保持部１１５２ｂに入力されたコンテキストインデックスに対応する、確率保持部１１５２ｂに保持されている「１」「０」の確率に基づいて２進数列を符号化する。本実施形態は、２進数列（シンボル列）を適応的に符号化する点、すなわち、２進数列を符号化する際に、各ビットを符号化するたびに、「１」「０」の確率を更新していく点に特徴がある。
【０１５４】
このことについて、算術符号化部１１５２ｅに入力される２進数列が「１１０」である場合を例として２進数列の符号化を説明する。なお、符号化前の「１」の確率はＰ1であるものとする。
【０１５５】
算術符号化部１１５２ｅは、確率Ｐ1を用いて「１１０」の１ビット目「１」を符号化する。そして、算術符号化部１１５２ｅは、符号化ビット「１」を確率更新部１１５２ｃに出力する。確率更新部１１５２ｃは、符号化ビットが入力されると、「１」の確率をＰ2に更新する。
【０１５６】
次に、算術符号化部１１５２ｅは、確率Ｐ2を用いて「１１０」の２ビット目「１」を符号化する。そして、算術符号化部１１５２ｅは、符号化ビット「１」を確率更新部１１５２ｃに出力する。確率更新部１１５２ｃは、符号化ビットが入力されると、「１」の確率をＰ3に更新する。
【０１５７】
最後に、算術符号化部１１５２ｅは、確率１−Ｐ3を用いて「１１０」の３ビット目「０」を符号化する。そして、算術符号化部１１５２ｅは、確率Ｐ1、Ｐ2、１−Ｐ3で「１１０」を符号化して得られた符号化データを出力する。
【０１５８】
ところで、確率保持部１１５２ｂはシーケンス先頭、フレーム先頭、スライス先頭などで、確率を初期化するための初期値を保持する。この初期値は、「０」、「１」を等確率、すなわち０．５としても良いが、多くのシーケンスで実験的に求めた出現確率の平均値のような適当な値を用いることが適当である。この場合、ＰＭＶ候補が、同一フレームの既に符号化／復号したブロックのＭＶから求めた空間的予測ベクトル（例えばｍｖ＿ｍｅｄ）と参照フレームの既に符号化／復号したブロックのＭＶも用いて求めた時間的予測ベクトル（例えばｍｖ＿ｃｏｌ）である場合において、時間的予測ベクトルの方が短いＭＶＤ絶対値を小さな符号量で符号化するように初期値を設定すると適切である。上記の例では、「０」の確率の初期値を時間的予測ベクトルの方が空間的予測ベクトルよりも大きく設定する。
【０１５９】
以上のように、動画像符号化装置１００”は、ＭＶＤ絶対値から変換された２進数列を算術符号化する過程で、「０」「１」の出現確率を切り替えることができるので、ＭＶＤ絶対値の符号化効率を向上させることができる。
【０１６０】
（付記事項）
なお、ＭＶＤ絶対値は、Ｘ成分の絶対値とＹ成分の絶対値とに分けて符号化するのではなく、Ｘ成分の絶対値とＹ成分の絶対値との和を符号化しても構わない。この場合には、ＰＭＶＣＯＳＴ＝Ｆ（｜ＭＶ＿Ｘ−ＰＭＶ＿Ｘ｜＋｜ＭＶ＿Ｙ−ＰＭＶ＿Ｙ｜）となる。また、ＰＭＶ仮候補の数は４とは限らず、ＭＶＤ絶対値の値によって変化する。すなわち、Ｘ成分の絶対値とＹ成分の絶対値との和が１の場合にはＭＶ仮候補の数は８、和が２の場合にはＭＶ仮候補の数は１６となり、一般的には、和がＮの場合にＭＶ仮候補の数は８Ｎとなる。
【０１６１】
また、以上説明したそれぞれの実施形態において、動画像符号化装置および動画像復号装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより動画像符号化装置や動画像復号装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１６２】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１６３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も特許請求の範囲に含まれる。
【０１６４】
本発明の符号化装置は、各データ候補のコストを算出するデータ候補コスト算出部を更に備え、前記データ候補特定フラグ符号化部により各データ候補に対して設定されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことが望ましい。例えば、符号化装置は、前記データ候補特定フラグ符号化部が、前記データ候補を特定するフラグの値を該データ候補と前記予測データとの距離が短いほど出現確率の高いシンボルが多く含まれるようなシンボル列にするとともに前記シンボル列を算術符号化することにより、前記フラグを符号化することが望ましい。
【０１６５】
本発明の符号化装置は、前記差分絶対値符号化部が、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を符号化するか、または、成分ごとの差分絶対値の和を符号化することを特徴とすることが望ましい。
【０１６６】
本発明の符号化装置は、前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、前記差分絶対値符号化部は、前記距離コスト算出部が選択した関数を示すインデックスを符号化することが望ましい。
【０１６７】
また、本発明の符号化装置は、前記所定のデータが、動きベクトルデータであることが望ましい。
【０１６８】
また、本発明は、入力画像と既に復号済みの参照画像との間の動きベクトルを推定する動き推定部と、前記動きベクトルを符号化する動きベクトル符号化部と、前記動きベクトルを用いて前記参照画像から予測信号を生成するインター予測部と、前記予測信号と前記入力画像の差分を算出する差分算出部と、前記差分を変換する変換部と、前記変換で得られた変換係数を量子化する量子化部を備える動画像符号化装置であって、前記動きベクトル符号化部での動きベクトルの符号化に前記特徴の符号化装置を用いることが望ましい。
【０１６９】
また、本発明の復号装置は、各データ候補のコストを算出するデータ候補コスト算出部を更に備え、前記データ候補特定フラグ復号部により復号されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことが望ましい。
【０１７０】
また、本発明の復号装置では、前記差分絶対値復号部が、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を復号するか、または、成分ごとの差分絶対値の和を復号することが望ましい。
【０１７１】
また、本発明の復号装置は、前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、前記差分絶対値復号部は、前記距離コスト算出部が選択した関数を示すインデックスを復号することが望ましい。
【０１７２】
また、本発明の復号装置は、前記所定のデータが、動きベクトルデータであることが望ましい。
【０１７３】
また、本発明は、動きベクトルを復号する動きベクトル復号部と、既に復号済みの参照画像と、前記動きベクトルから予測信号を生成するインター予測部と、変換係数を逆量子化する逆量子化部と、変換係数を逆変換し差分信号を生成する逆変換部を備え、前記予測信号と前記差分信号を加算し復号信号を再生する動画像復号装置であって、前記動きベクトル復号部での動きベクトルの復号に前記特徴の復号装置を用いることが望ましい。
【０１７４】
なお、記載の符号化装置が出力する符号化データであって、データ候補を特定するフラグを含む符号化データも本発明の範疇に含まれる。
【符号の説明】
【０１７５】
１００…動画像符号化装置、１０１…減算部、１０２…加算部、１０３…局所復号信号、１１１…動きベクトル符号化部、１１２…変換部、１１３…量子化部、１１５…可変長符号化部、１１６…逆量子化部、１１７…逆変換部、１１８…フレームメモリ、１２１…イントラ予測部、１２３…インター予測部、１２４…動き推定部、１２５…予測モード決定部、２００…動画像復号装置、２０１…可変長符号化復号部、２０３…予測パラメータ、２１１…動きベクトル復号部、２２５…予測モード選択部、３０１…ＰＭＶ候補およびＰＭＶ候補数、３０２…ＰＭＶ、１１１１…ＭＶ格納部、１１１２…ＰＭＶ候補算出部、１１１３…ＰＭＶ決定部、１１１４…ＭＶＤ算出部、１１１５…ＭＶフラグ決定部、１１５１…ＰＭＶインデックス符号化部、１１５２…ＭＶＤ絶対値符号化部、１１５３…ＭＶインデックス符号化部、２０１１…ＰＭＶインデックス復号部、２０１２…ＭＶＤ絶対値復号部、２０１３…ＭＶインデックス復号部、２１１３…ＰＭＶ選択部、２１１５…ＭＶ選択部、５００１…ＭＶ候補算出部、５００２…ＭＶ候補判定部、５００３…ＭＶインデックス決定部、６００４…ＭＶ抽出部
【図１】
2011034148.tif 000003
【図２】
2011034148.tif 000004
【図３】
2011034148.tif 000005
【図４】
2011034148.tif 000006
【図５】
2011034148.tif 000007
【図６】
2011034148.tif 000008
【図７】
2011034148.tif 000009
【図８】
2011034148.tif 000010
【図９】
2011034148.tif 000011
【図１０】
2011034148.tif 000012
【図１１】
2011034148.tif 000013
【図１２】
2011034148.tif 000014
【図１３】
2011034148.tif 000015
【図１４】
2011034148.tif 000016
【図１５】
2011034148.tif 000017
【図１６】
2011034148.tif 000018
【図１７】
2011034148.tif 000019
【図１８】
2011034148.tif 000020
【図１９】
2011034148.tif 000021
【図２０】
2011034148.tif 000022
【図２１】
2011034148.tif 000023
【図２２】
2011034148.tif 000024
【図２３】
2011034148.tif 000025
【図２４】
2011034148.tif 000026
【図２５】
2011034148.tif 000027
【図２６】
2011034148.tif 000028
【図２７】
2011034148.tif 000029
【手続補正書】
【提出日】平成23年2月7日(2011.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のデータの符号化に際し、既に符号化済みのデータから予測データを生成し、前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、を備えていることを特徴とする符号化装置。
【請求項２】
請求項１に記載の符号化装置であって、
データ候補算出部で算出されたデータ候補の数が２以上である場合に、前記データ候補毎に異なるフラグを設定し、各データ候補に対して設定されたフラグを符号化するデータ候補特定フラグ符号化部と、を更に備えていることを特徴とする符号化装置。
【請求項３】
請求項２に記載の符号化装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ符号化部により各データ候補に対して設定されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする符号化装置。
【請求項４】
請求項２または３に記載の符号化装置であって、
前記差分絶対値符号化部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を符号化するか、または、成分ごとの差分絶対値の和を符号化することを特徴とする符号化装置。
【請求項５】
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データからデータ候補を算出するデータ候補算出部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを符号化する、データ候補特定フラグ符号化部を備えることを特徴とする符号化装置。
【請求項６】
請求項５に記載の符号化装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記差分絶対値符号化部は、前記距離コスト算出部が選択した関数を示すインデックスを符号化することを特徴とする符号化装置。
【請求項７】
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値をシンボル列とするとともに該シンボル列を算術符号化することにより、前記差分絶対値を符号化する差分絶対値符号化部と、を備え、
前記差分絶対値符号化部は、前記シンボル列を算術符号化するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする符号化装置。
【請求項８】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項２から７のいずれか１項に記載の符号化装置。
【請求項９】
入力画像と既に復号済みの参照画像との間の動きベクトルを推定する動き推定部と、前記動きベクトルを符号化する動きベクトル符号化部と、前記動きベクトルを用いて前記参照画像から予測信号を生成するインター予測部と、前記予測信号と前記入力画像の差分を算出する差分算出部と、前記差分を変換する変換部と、前記変換で得られた変換係数を量子化する量子化部を備える動画像符号化装置であって、前記動きベクトル符号化部での動きベクトルの符号化に請求項８に記載の符号化装置を用いることを特徴とする動画像符号化装置。
【請求項１０】
所定のデータの復号に際し、符号化されている差分絶対値を復号する差分絶対値復号部と、
既に符号化済みのデータから予測データを生成し、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、
前記データ候補算出部で生成されたデータ候補の数が２以上である場合に、各データ候補に対してデータ候補毎に異なる値が設定されたフラグを復号するデータ候補特定フラグ復号部と、を備えていることを特徴とする復号装置。
【請求項１１】
請求項１０に記載の復号装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ復号部により復号されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする復号装置。
【請求項１２】
請求項１０または１１に記載の復号装置であって、
前記差分絶対値復号部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を復号するか、または、成分ごとの差分絶対値の和を復号することを特徴とする復号装置。
【請求項１３】
所定のデータの復号に際し、符号化されている差分絶対値を復号し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
前記データ候補判定部で有効とされたデータ候補の数が２以上である場合に、前記データ候補を特定するフラグを復号する、データ候補特定フラグ復号部を備えることを特徴とする復号装置。
【請求項１４】
請求項１３に記載の復号装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記予測データ決定部は、前記距離コスト算出部が選択した関数を示すインデックスを復号することを特徴とする復号装置。
【請求項１５】
所定のデータの復号に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値であるシンボル列を算術復号することにより、前記差分絶対値を復号する差分絶対値復号部と、を備え、
前記差分絶対値復号部は、前記シンボル列を復号するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする復号装置。
【請求項１６】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項１０から１５のいずれか１項に記載の復号装置。
【請求項１７】
動きベクトルを復号する動きベクトル復号部と、既に復号済みの参照画像と、前記動きベクトルから予測信号を生成するインター予測部と、変換係数を逆量子化する逆量子化部と、変換係数を逆変換し差分信号を生成する逆変換部を備え、前記予測信号と前記差分信号を加算し復号信号を再生する動画像復号装置であって、前記動きベクトル復号部での動きベクトルの復号に請求項１６に記載の復号装置を用いることを特徴とする動画像復号装置。
【請求項１８】
請求項２から６のいずれか１項に記載の符号化装置が出力する符号化データであって、前記フラグを含む符号化データ。
【国際調査報告】
2011034148.tif 000030
2011034148.tif 000031
2011034148.tif 000032
2011034148.tif 000033
2011034148.tif 000034
2011034148.tif 000035
2011034148.tif 000036
2011034148.tif 000037