(57)【要約】      （修正有）【課題】映像を復号化又は符号化する方法及び装置を提供する。【解決手段】復号化する方法は、調整された予測動きベクトル候補集合及び予測動きベクトルについての情報に基づき、現在ブロックの予測動きベクトルを決定する段階と、該予測動きベクトル及び動きベクトル差についての情報に基づき、現在ブロックの動きベクトルを決定する段階と、を含む。調整された予測動きベクトル候補集合は、隣接ブロックの動きベクトルに基づく１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づく２次予測動きベクトル候補を含み、隣接ブロックは、現在ブロックの左上、右上及び左下のブロックを含む。映像は最大符号化単位サイズ情報によって最大符号化単位に分割され、最大符号化単位は深度を有する符号化単位で階層的に分割され、現在深度の符号化単位は上位深度の符号化単位から分割された正方形単位の一つである。【選択図】図１４
2020182236.tif 000002
【特許請求の範囲】
【請求項１】
映像を復号化する方法において、
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定する段階と、
前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化方法。
【請求項２】
前記予測動きベクトル候補集合を調整する段階は、
前記予測動きベクトル候補集合内の重複する値を有する１次予測動きベクトル候補が存在する場合、前記重複する値を有する１次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項１に記載の復号化方法。
【請求項３】
前記調整された予測動きベクトル候補集合は、全部で２つの予測動きベクトル候補を含み、
前記予測動きベクトル情報は、１ビットの二進数値を通じて前記２つの予測動きベクトル候補のうち一つを示すことを特徴とする請求項１に記載の復号化方法。
【請求項４】
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する復号化部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する動きベクトル復元部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化装置。
【請求項５】
前記候補決定部は、予測動きベクトル候補集合を調整するにあたって、前記予測動きベクトル候補集合内の重複する値を有する１次予測動きベクトル候補が存在する場合、前記重複する値を有する１次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項４に記載の復号化装置。
【請求項６】
前記候補決定部は、全部で２つの予測動きベクトル候補を含むように前記予測動きベクトル候補集合を調整し、
前記候補決定部は、１ビットの二進数値を有する前記予測動きベクトル情報を通じて前記２つの予測動きベクトル候補のうち一つを決定することを特徴とする請求項４に記載の復号化装置。
【請求項７】
映像を符号化する方法において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化方法。
【請求項８】
映像を符号化する装置において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化装置。
【請求項９】
映像を符号化する方法において、
現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含むことを特徴とする符号化方法。
【請求項１０】
映像を符号化する装置において、
現在ブロックに対するインター予測を行って前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた１次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた２次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第１ブロック、及び前記第１ブロックの上部の第２ブロックを含むことを特徴とする符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトルを符号化／復号化する方法及び装置に係り、さらに詳細には、現在ブロックの動きベクトルを予測符号化、予測復号化する方法及び装置に関する。
【背景技術】
【０００２】
ＭＰＥＧ（moving  picture  experts  group）−４Ｈ．２６４／ＭＰＥＧ−４ＡＶＣ（advanced  video  coding）のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに対し、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値（median）を、現在ブロックの予測動きベクトル（motion  vector  predictor）として利用する。現在ブロックの動きベクトルをそのまま符号化するのではなく、現在ブロックの動きベクトルと予測動きベクトルとの動きベクトル差だけ符号化する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の一つ以上の例示的な実施形態は、動きベクトルを予測符号化、予測復号化する方法及び装置を提供し、前記方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するものである。
【課題を解決するための手段】
【０００４】
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する方法は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第１予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する段階と、前記全体候補のうち、第２予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第２予測動きベクトル候補を、前記全体候補から選択的に除外する段階と、前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する段階と、を含む。
【０００５】
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する方法は、現在ブロックの動きベクトルについての情報を復号化する段階と、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する段階と、除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する段階と、を含む。
【０００６】
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する装置は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第１予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する動きベクトル推定部；前記全体候補のうち、第２予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第２予測動きベクトル候補を、前記全体候補から選択的に除外する候補決定部；及び前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する動きベクトル推定部；を含む。
【０００７】
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する装置は、現在ブロックの動きベクトルについての情報を復号化する動きベクトル復号化部；予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する候補決定部；及び除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する動きベクトル復元部；を含む。
【０００８】
前記技術的課題を解決するために本発明は、前記動きベクトルを符号化する方法及び／または復号化する方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【０００９】
本発明によれば、予測動きベクトルの候補を利用し、動きベクトルを予測符号化、予測復号化する場合にも、予測動きベクトルの候補の個数を減らし、動きベクトルを予測符号化、予測復号化することができる。従って、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測に利用された予測動きベクトル候補を特定するのに必要な情報を最小限のビットで符号化することができ、動きベクトル符号化／復号化の圧縮率が向上し、これによって、映像符号化／復号化の圧縮率も向上しうる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による映像符号化装置を図示する図面である。
【図２】本発明の一実施形態による映像復号化装置を図示する図面である。
【図３】本発明の一実施形態による階層的符号化単位を図示する図面である。
【図４】本発明の一実施形態による符号化単位に基づいた映像符号化部を図示する図面である。
【図５】本発明の一実施形態による符号化単位に基づいた映像復号化部を図示する図面である。
【図６】本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示する図面である。
【図７】本発明の一実施形態による、符号化単位及び変換単位を図示する図面である。
【図８Ａ】本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。
【図８Ｂ】本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。
【図８Ｃ】本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。
【図８Ｄ】本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。
【図９】本発明の一実施形態による動きベクトルを符号化する装置を図示する図面である。
【図１０Ａ】本発明の一実施形態による予測動きベクトルの候補を図示する図面である。
【図１０Ｂ】本発明の一実施形態による予測動きベクトルの候補を図示する図面である。
【図１０Ｃ】本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。
【図１０Ｄ】本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。
【図１０Ｅ】本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。
【図１１Ａ】本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。
【図１１Ｂ】本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。
【図１１Ｃ】本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。
【図１２】本発明の一実施形態による予測動きベクトルの候補を縮小する方法を図示する図面である。
【図１３Ａ】本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。
【図１３Ｂ】本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。
【図１３Ｃ】本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。
【図１３Ｄ】本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。
【図１４】本発明の一実施形態による動きベクトルを復号化する装置を図示する図面である。
【図１５】本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。
【図１６】本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、本発明の実施形態について詳細に説明する。「少なくとも１の〜」のような表現は、構成要素のリストに先行する場合、構成要素の全体リストを変更し、リストの個別的な構成要素を変更するものではない。
【００１２】
以下、映像は、ビデオの静止映像、または動画及びビデオ自体を示す。
【００１３】
図１は、本発明の一実施形態による映像符号化装置を図示している。図１を参照すれば、本発明の一実施形態による映像符号化装置１００は、最大符号化単位分割部１１０、符号化深度決定部１２０、映像データ符号化部１３０及び符号化情報符号化部１４０を含む。
【００１４】
最大符号化単位分割部１１０は、最大サイズの符号化単位である最大符号化単位に基づいて、現在フレームまたは現在スライスを分割することができる。現在フレームまたは現在スライスを少なくとも１つの最大符号化単位に分割することができる。
【００１５】
本発明の一実施形態によれば、最大符号化単位及び深度を利用して、符号化単位が表現されもする。前述のように、最大符号化単位は、現在フレームの符号化単位のうち、大きさが最大である符号化単位を示し、深度は、符号化単位が階層的に縮小された程度を示す。深度が大きくなりつつ、符号化単位は、最大符号化単位から最小符号化単位まで縮小され、最大符号化単位の深度は、最小深度として定義され、最小符号化単位の深度は、最大深度として定義されもする。最大符号化単位は、深度が大きくなるにつれて、深度別符号化単位の大きさは小さくなり、ｋ深度のサブ符号化単位は、ｋより大きい深度の複数個のサブ符号化単位を含んでもよい。
【００１６】
符号化されるフレームの大きさが大きくなるにつれ、さらに大きい単位で映像を符号化すれば、さらに高い映像圧縮率で映像を符号化することができる。しかし、符号化単位を大きくし、その大きさを固定させてしまえば、変わり続ける映像の特性を反映して効率的に映像を符号化することができない。
【００１７】
例えば、海または空に係わる平坦な領域を符号化するときには、符号化単位を大きくするほど、圧縮率が向上するが、人またはビルに係わる複雑な領域を符号化するときには、符号化単位を小さくするほど圧縮率が向上する。
【００１８】
このために、本発明の一実施形態は、フレームまたはスライスごとに異なるサイズの最大映像符号化単位を設定し、最大深度を設定する。最大深度は、符号化単位が縮小される最大回数を意味するので、最大深度によって、最大映像符号化単位に含まれた最小符号化単位サイズを可変的に設定することができる。
【００１９】
符号化深度決定部１２０は、最大深度を決定する。最大深度は、Ｒ−Ｄコスト（rate-distortion  cost）計算に基づいて決定される。最大深度は、フレームまたはスライスごとに異なって決定されたり、あるいはそれぞれの最大符号化単位ごとに異なって決定されてもよい。決定された最大深度は、符号化情報符号化部１４０に出力され、最大符号化単位別映像データは、映像データ符号化部１３０に出力される。
【００２０】
最大深度は、最大符号化単位に含まれる最小サイズの符号化単位、すなわち、最小符号化単位を意味する。言い換えれば、最大符号化単位は、異なる深度によって、異なるサイズのサブ符号化単位に分割されもする。図８Ａないし図８Ｄを参照して、詳細に後述する。また、最大符号化単位に含まれた異なるサイズのサブ符号化単位は、異なるサイズの処理単位に基づいて、予測または変換が行われる。変換は、空間ドメインのピクセル値を、周波数ドメインの係数に変換するのであり、離散コサイン変換（discrete  cosine  transform）またはＫＬＴ（Karhunen  Loever  transform）であってもよい。
【００２１】
言い換えれば、映像符号化装置１００は、映像符号化のための複数の処理段階を、多様なサイズ及び多様な形態の処理単位に基づいて遂行することができる。映像データの符号化のためには、予測、変換、エントロピ符号化などの処理段階を経るが、すべての段階にわたって等しい大きさの処理単位が利用されもし、段階別に異なるサイズの処理単位を利用することもできる。
【００２２】
例えば、映像符号化装置１００は、所定の符号化単位を予測するために、符号化単位と異なる処理単位を選択することができる。
【００２３】
符号化単位の大きさが、２Ｎｘ２Ｎ（ただし、Ｎは正の定数）である場合、予測のための処理単位は、２Ｎｘ２Ｎ、２ＮｘＮ、Ｎｘ２Ｎ、ＮｘＮなどである。言い換えれば、符号化単位の高さまたは幅のうち少なくとも一つを半分にする形態の処理単位を基に、動き予測が遂行されてもよい。以下、予測の基になる処理単位を「予測単位」とする。
【００２４】
予測モードは、イントラモード、インターモード及びスキップモードのうち少なくとも一つであり、特定予測モードは、特定のサイズまたは形態の予測単位についてのみ遂行されもする。例えば、イントラモードは、正方形である２Ｎｘ２Ｎ，ＮｘＮサイズの予測単位についてのみ遂行される。また、スキップモードは、２Ｎｘ２Ｎサイズの予測単位についてのみ遂行される。符号化単位内部に、複数の予測単位があれば、それぞれの予測単位に対して予測を行い、符号化誤差が最も小さい予測モードが選択されもする。
【００２５】
また、映像符号化装置１００は、符号化単位と異なる大きさの処理単位に基づいて、映像データを変換することができる。符号化単位の変換のために、符号化単位より小さいか、あるいは同じである大きさのデータ単位を基に、変換が行われもする。以下、変換の基になる処理単位を「変換単位」とする。
【００２６】
符号化深度決定部１２０は、ラグランジュ乗数（Lagrangian  multiplier）基盤の率・歪曲最適化技法（rate-distortion  optimization）を利用し、最大符号化単位に含まれたサブ符号化単位を決定することができる。言い換えれば、最大符号化単位が、いかなる形態の複数のサブ符号化単位に分割されるか決定することができるが、ここで、複数のサブ符号化単位は、深度によって大きさが異なる。その後、映像データ符号化部１３０は、符号化深度決定部１２０で決定された分割形態に基づいて、最大符号化単位を符号化してビットストリームを出力する。
【００２７】
符号化情報符号化部１４０は、符号化深度決定部１２０で決定された最大符号化単位の符号化モードについての情報を符号化する。最大符号化単位の分割形態についての情報、最大深度についての情報、及び深度別サブ符号化単位の符号化モードについての情報を符号化し、ビットストリームを出力する。サブ符号化単位の符号化モードについての情報は、サブ符号化単位の予測単位についての情報、予測単位別予測モード情報、サブ符号化単位の変換単位についての情報などを含んでもよい。
【００２８】
最大符号化単位の分割形態についての情報は、それぞれの符号化単位について、分割いかんを示す情報であってもよい。例えば、最大符号化単位を分割して符号化する場合、最大符号化単位に対して分割いかんを示す情報を符号化し、最大符号化単位を分割して生成されたサブ符号化単位をさらに分割して符号化する場合にも、それぞれのサブ符号化単位に対して分割いかんを示す情報を符号化する。分割いかんを示す情報は、分割いかんを示すフラグ情報であってもよい。
【００２９】
最大符号化単位ごとに異なるサイズのサブ符号化単位が存在し、それぞれのサブ符号化単位ごとに符号化モードについての情報が決定されなければならないので、１つの最大符号化単位については、少なくとも１つの符号化モードについての情報が決定される。
【００３０】
映像符号化装置１００は、深度が大きくなるにつれて、最大符号化単位を高さ及び幅を半分にし、サブ符号化単位を生成することができる。すなわち、ｋ深度の符号化単位の大きさが２Ｎｘ２Ｎであるならば、ｋ＋１深度の符号化単位の大きさは、ＮｘＮである。
【００３１】
従って、一実施形態による映像符号化装置１００は、映像の特性を考慮した最大符号化単位の大きさ及び最大深度を基に、それぞれの最大符号化単位ごとに、最適の分割形態を決定することができる。映像特性を考慮して、可変的に最大符号化単位の大きさを調節し、異なる深度のサブ符号化単位で最大符号化単位を分割して映像を符号化することにより、多様な解像度の映像をさらに効率的に符号化することができる。
【００３２】
図２は、本発明の一実施形態による映像復号化装置を図示している。図２を参照すれば、本発明の一実施形態による映像復号化装置２００は、映像データ獲得部２１０、符号化情報抽出部２２０及び映像データ復号化部２３０を含む。
【００３３】
映像関連データ獲得部２１０は、映像復号化装置２００が受信したビットストリームをパージングし、最大符号化単位別に映像データを獲得し、映像データ復号化部２３０に出力する。映像データ獲得部２１０は、現在フレームまたはスライスに係わるヘッダから、現在フレームまたはスライスの最大符号化単位についての情報を抽出することができる。言い換えれば、ビットストリームを最大符号化単位に分割し、映像データ復号化部２３０に、最大符号化単位ごとに映像データを復号化させる。
【００３４】
符号化情報抽出部２２０は、映像復号化装置２００が受信したビット列をパージングし、現在フレームに係わるヘッダから、最大符号化単位、最大深度、最大符号化単位の分割形態、サブ符号化単位の符号化モードについての情報を抽出する。分割形態及び符号化モードについての情報は、映像データ復号化部２３０に出力される。
【００３５】
最大符号化単位の分割形態についての情報は、最大符号化単位に含まれた深度によって異なるサイズのサブ符号化単位についての情報を含んでもよい。前述のように、分割形態についての情報は、それぞれの符号化単位に対して符号化された分割いかんを示す情報（例えば、フラグ情報）であってもよい。符号化モードについての情報は、サブ符号化単位別予測単位についての情報、予測モードについての情報及び変換単位についての情報などを含んでもよい。
【００３６】
映像データ復号化部２３０は、符号化情報抽出部で抽出された情報に基づいて、それぞれの最大符号化単位の映像データを復号化して現在フレームを復元する。
【００３７】
最大符号化単位の分割形態についての情報に基づいて、映像データ復号化部２３０は、最大符号化単位に含まれたサブ符号化単位を復号化することができる。復号化過程は、イントラ予測及び動き補償を含むインター予測過程及び逆変換過程を含んでもよい。
【００３８】
映像データ復号化部２３０は、サブ符号化単位の予測のために、サブ符号化単位別予測単位についての情報、及び予測モードについての情報に基づいて、イントラ予測またはインター予測を行うことができる。また、映像データ復号化部２３０は、サブ符号化単位の変換単位についての情報に基づいて、サブ符号化単位ごとに逆変換を行うことができる。
【００３９】
図３は、本発明の一実施形態による階層的符号化単位を図示している。図３を参照すれば、本発明による階層的符号化単位は、幅ｘ高さが６４ｘ６４である符号化単位から、３２ｘ３２、１６ｘ１６、８ｘ８及び４ｘ４を含んでもよい。正方形の符号化単位以外にも、幅ｘ高さが６４ｘ３２、３２ｘ６４、３２ｘ１６、１６ｘ３２、１６ｘ８、８ｘ１６、８ｘ４、４ｘ８である符号化単位が存在することができる。
【００４０】
図３を参照すれば、解像度が１９２０ｘ１０８０である映像データ３１０について、最大符号化単位の大きさが６４ｘ６４、最大深度が２に設定されている。
【００４１】
他の解像度が１９２０ｘ１０８０である映像データ３２０について、最大符号化単位の大きさが６４ｘ６４、最大深度が４に設定されている。解像度が３５２ｘ２８８であるビデオデータ３３０について、最大符号化単位の大きさが１６ｘ１６、最大深度が２に設定されている。
【００４２】
解像度が高いか、あるいはデータ量が多い場合、圧縮率向上だけではなく、映像特性を正確に反映するために、符号化サイズの最大サイズが相対的に大きいことが望ましい。従って、映像データ３３０に比較し、解像度が高い映像データ３１０及び３２０は、最大符号化単位の大きさが６４ｘ６４に選択される。
【００４３】
最大深度は、階層的符号化単位での総階層数を示す。映像データ３１０の最大深度が２であるので、映像データ３１０の符号化単位３１５は、長軸サイズが６４である最大符号化単位から、深度が増加するにつれて、長軸サイズが３２、１６であるサブ符号化単位まで含んでもよい。
【００４４】
一方、映像データ３３０の最大深度が２であるので、映像データ３３０の符号化単位３３５は、長軸サイズが１６である最大符号化単位から、深度が増加するにつれて、長軸サイズが８、４である符号化単位まで含んでもよい。
【００４５】
映像データ３２０の最大深度が４であるので、ビデオデータ３２０の符号化単位３２５は、長軸サイズが６４である最大符号化単位から、深度が増加するにつれて、長軸サイズが３２、１６、８、４であるサブ符号化単位まで含んでもよい。深度が増加するほど、さらに小さいサブ符号化単位に基づいて映像を符号化するので、さらに細密な場面を含んでいる映像を符号化するのに適するようになる。
【００４６】
図４は、本発明の一実施形態による符号化単位に基づいた映像符号化部を図示している。
【００４７】
イントラ予測部４１０は、現在フレーム４０５において、イントラモードの予測単位に対してイントラ予測を行い、動き推定部４２０及び動き補償部４２５は、インターモードの予測単位に対して、現在フレーム４０５及び参照フレーム４９５を利用して、インター予測及び動き補償を行う。
【００４８】
イントラ予測部４１０、動き推定部４２０及び動き補償部４２５から出力された予測単位に基づいて、残差（residual）値が生成され、生成された残差値は、変換部４３０及び量子化部４４０を経て、量子化された変換係数として出力される。
【００４９】
量子化された変換係数は、逆量子化部４６０、逆変換部４７０を介して再び残差値に復元され、復元された残差値は、デブロッキング部４８０及びループ・フィルタリング４９０を経て後処理され、参照フレーム４９５に出力される。量子化された変換係数は、エントロピ符号化部４５０を経て、ビットストリーム４５５に出力される。
【００５０】
本発明の一実施形態による映像符号化方法によって符号化するために、映像符号化部４００の構成要素であるイントラ予測部４１０、動き推定部４２０、動き補償部４２５、変換部４３０、量子化部４４０、エントロピ符号化部４５０、逆量子化部４６０、逆変換部４７０、デブロッキング部４８０及びループ・フィルタリング４９０は、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像符号化過程を処理する。
【００５１】
図５は、本発明の一実施形態による符号化単位に基づいた映像復号化部を図示している。
【００５２】
ビットストリーム５０５がパージング部５１０を経て、復号化対象である符号化された映像データ、及び復号化のために必要な符号化情報がパージングされる。符号化された映像データは、エントロピ復号化部５２０及び逆量子化部５３０を経て、逆量子化されたデータとして出力され、逆変換部５４０を経て、残差値に復元される。残差値は、イントラ予測部５５０のイントラ予測の結果または動き補償部５６０の動き補償結果と加算され、符号化単位別に復元される。復元された符号化単位は、デブロッキング部５７０及びループ・フィルタリング５８０を経て、次の符号化単位または次のフレームの予測に利用される。
【００５３】
本発明の一実施形態による映像復号化方法によって復号化するために、映像復号化部４００の構成要素であるパージング部５１０、エントロピ復号化部５２０、逆量子化部５３０、逆変換部５４０、イントラ予測部５５０、動き補償部５６０、デブロッキング部５７０及びループ・フィルタリング５８０が、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像復号化過程を処理する。
【００５４】
特に、イントラ予測部５５０、動き補償部５６０は、最大符号化単位及び深度を考慮し、サブ符号化単位内の予測単位及び予測モードを決定し、逆変換部５４０は、変換単位の大きさを考慮し、逆変換を行う。
【００５５】
図６は、本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示している。
【００５６】
本発明の一実施形態による映像符号化装置１００及び映像復号化装置２００は、映像特性を考慮して、符号化／復号化を行うために、階層的な符号化単位を利用する。最大符号化単位及び最大深度は、映像の特性によって適応的に設定されたり、ユーザの要求によって多様に設定されもする。
【００５７】
本発明の一実施形態による符号化単位の階層構造６００は、最大符号化単位６１０の高さ及び幅が６４であり、最大深度が４である場合を図示している。符号化単位の階層構造６００の縦軸に沿って深度が増加し、深度の増加によって、サブ符号化単位６２０ないし６５０の幅及び高さが縮小される。また、符号化単位の階層構造６００の横軸に沿って、最大符号化単位６１０及びサブ符号化単位６２０ないし６５０の予測単位が図示されている。
【００５８】
最大符号化単位６１０は、深度が０であり、符号化単位の大きさ、すなわち、幅及び高さが６４ｘ６４である。縦軸に沿って深度が増加し、サイズ３２ｘ３２である深度１のサブ符号化単位６２０、サイズ１６ｘ１６である深度２のサブ符号化単位６３０、サイズ８ｘ８である深度３のサブ符号化単位６４０、サイズ４ｘ４である深度４のサブ符号化単位６５０が存在する。サイズ４ｘ４である深度４のサブ符号化単位６５０は、最小符号化単位である。
【００５９】
図６を参照すれば、それぞれの深度別に、横軸に沿って予測単位の例示が図示されている。すなわち、深度０の最大符号化単位６１０の予測単位は、サイズ６４ｘ６４の符号化単位６１０と同一であるか、あるいはそれより小サイズであるサイズ６４ｘ６４の予測単位６１０、サイズ６４ｘ３２の予測単位６１２、サイズ３２ｘ６４の予測単位６１４、サイズ３２ｘ３２の予測単位（６１６であってもよい。
【００６０】
深度１のサイズ３２ｘ３２の符号化単位６２０の予測単位は、サイズ３２ｘ３２の符号化単位６２０と同一であるか、あるいはそれより小サイズであるサイズ３２ｘ３２の予測単位６２０、サイズ３２ｘ１６の予測単位６２２、サイズ１６ｘ３２の予測単位６２４、サイズ１６ｘ１６の予測単位６２６であってもよい。
【００６１】
深度２のサイズ１６ｘ１６の符号化単位６３０の予測単位は、サイズ１６ｘ１６の符号化単位６３０と同一であるか、あるいはそれより小サイズであるサイズ１６ｘ１６の予測単位６３０、サイズ１６ｘ８の予測単位６３２、サイズ８ｘ１６の予測単位６３４、サイズ８ｘ８の予測単位６３６であってもよい。
【００６２】
深度３のサイズ８ｘ８の符号化単位６４０の予測単位は、サイズ８ｘ８の符号化単位６４０と同一であるか、あるいはそれより小サイズであるサイズ８ｘ８の予測単位６４０、サイズ８ｘ４の予測単位６４２、サイズ４ｘ８の予測単位６４４、サイズ４ｘ４の予測単位６４６であってもよい。
【００６３】
最後に、深度４のサイズ４ｘ４の符号化単位６５０は、最大深度の符号化単位であり、予測単位は、サイズ４ｘ４の予測単位６５０である。しかし、最大深度の符号化単位であるとして、必ずしも符号化単位と予測単位との大きさが同一である必要はなく、他の符号化単位６１０ないし６５０と同様に、符号化単位より小さい大きさの予測単位に分割して予測を行うこともできる。
【００６４】
図７は、本発明の一実施形態による、符号化単位及び変換単位を図示している。
【００６５】
本発明の一実施形態による映像符号化装置１００及び映像復号化装置２００は、最大符号化単位そのまま符号化するか、あるいは最大符号化単位より小さいか、同じであるサブ符号化単位に最大符号化単位を分割して符号化する。符号化過程中、変換のための変換単位の大きさも、符号化単位及び予測単位と関係なく、最も高い圧縮率のための大きさに選択されもする。例えば、現在符号化単位７１０が６４ｘ６４サイズであるとき、３２ｘ３２サイズの変換単位７２０を利用して変換が行われもする。
【００６６】
図８Ａないし図８Ｄは、本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示している。
図８Ａ及び図８Ｂは、本発明の一実施形態による符号化単位及び予測単位を図示している。
【００６７】
図８Ａは、最大符号化単位８１０を符号化するために、本発明の一実施形態による映像符号化装置１００が選択した分割形態を図示している。映像符号化装置１００は、多様な形態に最大符号化単位８１０を分割し、符号化した後、多様な分割形態の符号化結果を、Ｒ−Ｄコストに基づいて比較し、最適の分割形態を選択する。最大符号化単位８１０をそのまま符号化することが最適である場合には、図８Ａないし図８Ｄのように、最大符号化単位８１０を分割せずに、最大符号化単位８００を符号化することもできる。
【００６８】
図８Ａを参照すれば、深度０である最大符号化単位８１０を、深度１以上のサブ符号化単位に分割して符号化する。最大符号化単位８１０を４つの深度１のサブ符号化単位に分割した後、全部または一部の深度１のサブ符号化単位を、さらに深度２のサブ符号化単位に分割する。
【００６９】
深度１のサブ符号化単位のうち、右側上部に位置したサブ符号化単位及び左側下部に位置したサブ符号化単位が、深度２以上のサブ符号化単位に分割された。深度２以上のサブ符号化単位のうち一部は、さらに深度３以上のサブ符号化単位に分割されもする。
【００７０】
図８Ｂは、最大符号化単位８１０に係わる予測単位の分割形態を図示している。図８Ｂを参照すれば、最大符号化単位に係わる予測単位８６０は、最大符号化単位８１０と異なって分割される。言い換えれば、サブ符号化単位それぞれに対される予測単位は、サブ符号化単位より小さい。
【００７１】
例えば、深度１のサブ符号化単位のうち、右側下部に位置したサブ符号化単位８５４に係わる予測単位は、サブ符号化単位８５４より小さくともよい。深度２のサブ符号化単位８１４，８１６，８１８，８２８，８５０，８５２のうち一部のサブ符号化単位８１５，８１６，８５０，８５２に係わる予測単位は、サブ符号化単位より小さくともよい。
【００７２】
また、深度３のサブ符号化単位８２２，８３２，８４８に係わる予測単位は、サブ符号化単位より小さくともよい。予測単位は、それぞれのサブ符号化単位を、高さまたは幅方向に半分にした形態でもあり、高さ及び幅方向に四分した形態でもある。
【００７３】
図８Ｃ及び図８Ｄは、本発明の一実施形態による予測単位及び変換単位を図示している。
【００７４】
図８Ｃは図８Ｂに図示された最大符号化単位８１０に係わる予測単位の分割形態を図示し、図８Ｄは、最大符号化単位８１０の変換単位の分割形態を図示している。
【００７５】
図８Ｄを参照すれば、変換単位８７０の分割形態は、予測単位８６０と異なって設定されもする。
【００７６】
例えば、深度１の符号化単位８５４に係わる予測単位が、高さを半分にした形態に選択されても、変換単位は、深度１の符号化単位８５４の大きさと等しい大きさに選択されもする。同様に、深度２の符号化単位８１４，８５０に係わる予測単位が、深度２の符号化単位８１４，８５０の高さを半分にした形態に選択されても、変換単位は、深度２の符号化単位８１４，８５０の本来の大きさと等しい大きさに選択されもする。
【００７７】
予測単位よりさらに小さい大きさに変換単位が選択されてもよい。例えば、深度２の符号化単位８５２に係わる予測単位が、幅を半分にした形態に選択された場合に、変換単位は、予測単位よりさらに小さい大きさである高さ及び幅を半分にした形態に選択されもする。
【００７８】
図９は、本発明の一実施形態による動きベクトルを符号化する装置を図示している。
【００７９】
図１の映像符号化装置１００、または図４の映像符号化部４００に含まれ、動きベクトルを符号化する装置が図９に詳細に図示されている。図９を参照すれば、本発明の一実施形態による動きベクトル符号化装置９００は、動きベクトル推定部９１０、候補決定部９２０及び動きベクトル符号化部９３０を含む。
【００８０】
インター予測、すなわち、時間的予測を利用して符号化されたブロックを復号化するためには、現在ブロックと、参照ピクチャ内の類似したブロックとの相対的な位置差を示す動きベクトルについての情報が必要である。従って、映像符号化時に、動きベクトルについての情報を符号化し、ビットストリームに挿入するが、動きベクトルについての情報をそのまま符号化して挿入すれば、動きベクトルについての情報を符号化するためのオーバーヘッド（overhead）が増加し、映像データの圧縮率が低くなる。
【００８１】
従って、映像符号化では、現在ブロックの動きベクトルを予測し、予測の結果として生成された予測動きベクトル（motion  vector  predictor）と原本動きベクトルとの動きベクトル差（motion  vector  difference）のみを符号化してビットストリームに挿入することにより、動きベクトルについての情報も圧縮する。
【００８２】
動きベクトルの予測符号化には、明示モード（explicit  mode）及び暗示モード（implicit  mode）があってもよい。
【００８３】
ＭＰＥＧ−４  Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（advanced  video  coding）のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値（median）を、現在ブロックの予測動きベクトルとして利用する。インター予測を利用して符号化されたすべてのブロックの動きベクトルが、同一の方法を利用して予測されるから、現在ブロックの予測動きベクトルに係わる情報は、別途に符号化する必要がない。しかし、本発明による映像符号化装置１００、または映像符号化部４００は、動きベクトルをさらに正確に予測するために、前述の予測動きベクトルについての情報を別途に符号化しない暗示（implicit）モード、及び予測動きベクトルについての情報を符号化する明示モードをいずれも利用する。明示モードは、複数の予測動きベクトル候補のうち、現在ブロックの予測動きベクトルに利用された予測動きベクトルについての情報を符号化し、ビットストリームにシーケンスパラメータ、スライスパラメータまたはブロックパラメータとして挿入するモードを意味する。
【００８４】
図９は、このような明示モードによって動きベクトルを符号化するとき、予測符号化を行う装置を図示する。動きベクトル推定部９１０は、現在ブロックの動きベクトルを推定する。現在ブロックと類似または同一のブロックを、少なくとも１つの参照ピクチャで検索し、検索結果に基づいて、現在ブロックと、検索された参照ブロックとの相対的な位置差である動きベクトルを推定する。ＳＡＤ（sum  of  absolute  difference）の計算に基づいて、現在ブロックと類似または同一のブロックを検索し、検索結果に基づいて、現在ブロックの動きベクトルを推定することができる。
【００８５】
また、動きベクトル推定部９１０は、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの候補（candidates）として設定し、予測動きベクトルの候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。
【００８６】
ＭＰＥＧ−４  Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣのようなコーデックでは、現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値を、現在ブロックの予測動きベクトルとして利用する。符号化されるすべてのブロックが、以前に符号化されたブロックの動きベクトルを利用して予測され、１つの予測動きベクトルだけ利用するから、予測動きベクトルに係わる情報は、別途に符号化する必要がない。言い換えれば、インター予測を利用して符号化されたブロックの予測動きベクトルは、一つである。
【００８７】
しかし、現在ブロックの動きベクトルがさらに正確に予測されれば、動きベクトルをさらに高い圧縮率で符号化することができるが、このために、本発明の一実施形態は、複数の予測動きベクトルの候補のうち一つを選択し、現在ブロックの予測動きベクトルとして利用することにより、さらに高い圧縮率で、現在ブロックの動きベクトルを符号化する。以下では、複数の予測動きベクトルの候補を利用して、現在ブロックの動きベクトルを符号化する方法についてさらに詳細に説明する。
【００８８】
図１０Ａ及び図１０Ｂは、本発明の一実施形態による予測動きベクトルの候補を図示している。
【００８９】
図１０Ａを参照すれば、本発明の一実施形態による動きベクトルを予測方法は、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルのうち一つを、現在ブロックの予測動きベクトルとして利用することができる。現在ブロックの上部に隣接したブロックのうち、最も左側のａ０ブロック、左側に隣接した最上部のｂ０ブロック、右側上部に隣接したｃブロック、左側上部に隣接したｄブロック及び左側下部に隣接したｅブロックの動きベクトルを、いずれも現在ブロックの予測動きベクトルの候補として利用することができる。
【００９０】
本発明による映像の符号化方法及び復号化方法は、深度によって区分される多様な大きさの符号化単位を基に、映像符号化及び復号化を行うが、左側下部に隣接したｅブロックの動きベクトルも、予測動きベクトル候補として利用することができる。
【００９１】
図８Ａ及び図８Ｂを参照して説明すれば、現在ブロックが符号化単位８２０であるならば、現在ブロックの上部、左側上部、右側上部、左側及び左側下部の符号化単位８１４，８１６，８１８及び８２２は、現在ブロック以前に符号化される。従って、現在ブロックの左側下部に隣接したブロックの動きベクトルも、予測動きベクトル候補として利用することができる。
【００９２】
図１０Ｂを参照すれば、現在ブロックの接したすべてのブロックの動きベクトルを、予測動きベクトルの候補として利用することができる。言い換えれば、上部に隣接したブロックのうち最も左側のａ０ブロックだけではなく、上部に隣接したすべてのブロック（ａ０ないしａＮ）の動きベクトルを、予測動きベクトル候補として利用することができ、左側に隣接したブロックのうち、最上部のｂ０ブロックだけではなく、左側に隣接したすべてのブロック（ｂ０ないしｂＮ）の動きベクトルを、予測動きベクトル候補として利用することができる。
【００９３】
また、隣接したブロックの動きベクトルの中央値を、予測動きベクトル候補として利用することができる。言い換えれば、median（ｍｖ＿ａ０，ｍｖ＿ｂ０，ｍｖ＿ｃ）を、現在ブロックの予測動きベクトル候補として利用することができる。ここで、ｍｖ＿ａ０は、ａ０ブロックの動きベクトルであり、ｍｖ＿ｂ０は、ｂ０ブロックの動きベクトルであり、ｍｖ＿ｃは、ｃブロックの動きベクトルである。
【００９４】
ただし、現在ブロックの大きさ及び隣接したブロックの大きさによって、現在ブロックの予測動きベクトルの候補を制限することができるが、図１０Ｃないし図１０Ｅを参照して詳細に説明する。
【００９５】
図１０Ｃないし図１０Ｅは、本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示している。
【００９６】
前述のように、本発明による映像の符号化方法及び復号化方法は、深度によって決定される多様な大きさの符号化単位及び予測単位を利用して、映像を符号化する。従って、現在ブロックに隣接したブロックの大きさも多様であるが、現在ブロックの大きさと、一部隣接したブロックとの大きさが大きく異なっていれば、大きさが異なる一部隣接したブロックの動きベクトルは、予測動きベクトル候補として利用しないこともある。
【００９７】
図１０Ｃを参照すれば、現在ブロック１０１０の上部に隣接したブロック１０１４ないし１０１８は、現在ブロック１０１０の大きさより小さいブロックである。現在ブロック１０１０と大きさが同一である隣接したブロック１０１２の動きベクトルが、現在ブロック１０１０の動きベクトルと同一または類似した可能性が高いことがあるので、動きベクトル推定部９１０は、同一大きさの隣接したブロック１０１２の動きベクトルのみを予測動きベクトル候補として利用することができる。
【００９８】
大きさが同じではないとしても、所定サイズ以上の隣接したブロックの動きベクトルだけ予測動きベクトル候補として利用することができる。例えば、現在ブロック１０１０の大きさと比較し、１／４大きさ以上のブロック（１０１２及び１０１８）の動きベクトルのみを、予測動きベクトル候補として利用することができる。
【００９９】
図１０Ｄを参照すれば、現在ブロック１０２０の左側に隣接したブロック１０２２の大きさは、現在ブロックの１６倍であり、著しい大きさの違いが存在する。著しい大きさの違いによって、左側に隣接したブロック１０２２の動きベクトルが、現在ブロック１０２０の動きベクトルと同一または類似した可能性が低いことがある。従って、左側に隣接したブロック１０２２の動きベクトルは、現在ブロック１０２０の予測動きベクトル候補として利用せず、上部に隣接したブロック１０２４及び左側上部に隣接したブロック１０２６の動きベクトルだけ予測動きベクトル候補として利用することができる。
【０１００】
図１０Ｅを参照すれば、現在ブロック（１０３０の大きさが、隣接したすべてのブロック１０３１ないし１０３７の大きさより大きい。このとき、隣接したすべてのブロック１０３１ないし１０３７の動きベクトルを、いずれも現在ブロック１０３０の予測動きベクトル候補として利用すれば、現在ブロック１０３０の予測動きベクトルの候補の個数があまりにも多い。現在ブロック１０３０と、隣接したブロック１０３１ないし１０３７とのサイズ差が大きいほど、予測動きベクトルの候補の個数はさらに多くなる。従って、本発明の一実施形態による動きベクトル推定部９１０は、隣接したブロックのうち一部ブロックの動きベクトルは、現在ブロック１０３０の予測動きベクトル候補として利用しない。
【０１０１】
例えば、図１０Ｅに図示された実施形態で、左側下部に隣接したブロック１０３１及び右側上部に隣接したブロック１０３７の動きベクトルは、現在ブロック１０３０の予測動きベクトル候補として利用しないこともある。
【０１０２】
これをさらに一般化し、現在ブロック１０３０の大きさが、所定サイズ以上であるならば、隣接したブロックのうち、特定方向に隣接したブロックの動きベクトルは、現在ブロック１０３０の予測動きベクトル候補として利用しないこともある。
【０１０３】
図１１Ａないし図１１Ｃは、本発明の他の実施形態による予測動きベクトルの候補を図示している。
【０１０４】
図１１Ａは、本発明の一実施形態によるＢピクチャ（bi-directional  predictive  picture）の予測動きベクトル候補を決定する方法を図示している。現在ブロックを含む現在ピクチャが、双方向予測を行うＢピクチャであるとき、時間的距離（temporal  distance）に基づいて生成された動きベクトルが、予測動きベクトル候補であってもよい。
【０１０５】
現在ピクチャ１１１０の現在ブロック１１００の予測動きベクトル候補（ｍｖ＿temporal）は、時間的に先行するピクチャ１１１２と同一位置（colocated）のブロック１１２０の動きベクトルを利用して決定される。例えば、現在ブロック１１００と同一位置のブロック１１２０の動きベクトルｍｖ＿ｃｏｌＡが、現在ピクチャ１１１０の時間的に後行するピクチャ１１１４の検索されたブロック１１２２に対して生成されれば、現在ブロック１１００の予測動きベクトルの候補であるｍｖ＿Ｌ０Ａ及びｍｖ＿Ｌ１Ａは、次のように決定される。
【０１０６】
ｍｖ＿Ｌ１Ａ＝（ｔ１／ｔ２）＊ｍｖ＿ｃｏｌＡ
ｍｖ＿Ｌ０Ａ＝ｍｖ＿Ｌ１Ａ−ｍｖ＿ｃｏｌＡ
ここで、ｍｖ＿Ｌ０Ａは、時間的に先行するピクチャ１１１２に係わる現在ブロック１１１０の予測動きベクトル候補を意味し、ｍｖ＿Ｌ１Ａは、時間的に後行するピクチャ１１１４に係わる現在ブロック１１１０の予測動きベクトル候補を意味する。
【０１０７】
図１１Ａに図示された実施形態では、Ｂピクチャである現在ピクチャ１１１０が、時間的に先行するピクチャ１１１２と、時間的に後行するピクチャ１１１４との間に存在する。このとき、同一位置のブロック１１２０の動きベクトルｍｖ＿ｃｏｌＡが、現在ピクチャ１１１０の時間的に後行するピクチャ１１１４に対して生成されれば、ｍｖ＿Ｌ１Ａに基づいて、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。言い換えれば、ｍｖ＿ｃｏｌＡが、図１１Ａに図示された方向と反対方向の動きベクトルである場合、すなわち、時間的に先行するピクチャ１１１２以前の他のピクチャに対して生成された場合より、ｍｖ＿ｃｏｌＡが、図１１Ａに図示された方向の動きベクトルである場合、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。
【０１０８】
従って、現在ブロック１１１０から同一位置のブロック１１２０への方向が、Ｌｉｓｔ０方向であるならば、同一位置のブロック１１２０の動きベクトルｍｖ＿ｃｏｌＡは、Ｌｉｓｔ１方向であってこそ、図１１Ａに図示されたように、現在ピクチャ１１１０が、先行するピクチャ１１１２と、後行するピクチャ１１１４との間に存在する可能性が高くなり、ｍｖ＿ｃｏｌＡに基づいて、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。
【０１０９】
また、図１１Ａに図示されたピクチャ１１１０ないし１１１４は、経時的に配列されているので、ＰＯＣ（picture  order  count）に基づいて、現在ブロックの予測動きベクトル候補（ｍｖ＿temporal）を生成することができる。現在ブロックの参照するピクチャが、図１１Ａに図示された隣接したピクチャ１１１２及び１１１４ではない他のピクチャであってもよいので、ＰＯＣに基づいて、現在ブロックの予測動きベクトル候補を生成する。
【０１１０】
例えば、現在ピクチャのＰＯＣがＣｕｒｒＰＯＣであり、現在ピクチャが参照するピクチャのＰＯＣがＣｕｒｒＲｅｆＰＯＣであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。
【０１１１】
Scale＝（ＣｕｒｒＰＯＣ−ＣｕｒｒＲｅｆＰＯＣ）／（ＣｏｌＰＯＣ−ＣｏｌＲｅｆＰＯＣ）
ｍｖ＿temporal＝Scale＊ｍｖ＿ｃｏｌＡ
ここで、ＣｏｌＰＯＣは、同一位置のブロック１１２０が含まれている時間的に先行するピクチャ１１１２のＰＯＣであり、ＣｏｌＲｅｆＰＯＣは、同一位置のブロック１１２０が参照するブロック１１２２が含まれている時間的に後行するピクチャ１１１４のＰＯＣである。
【０１１２】
図１１Ｂは、本発明の他の実施形態によるＢピクチャの予測動きベクトル候補を生成する方法を図示している。図１１Ａに図示された方法と比較すれば、時間的に後行するピクチャ１１１４に、現在ブロック１１００と同一位置のブロックが存在するという点が異なる。
【０１１３】
図１１Ｂを参照すれば、現在ピクチャ１１１０の現在ブロック１１００の予測動きベクトル候補は、時間的に後行するピクチャ１１１４と同一位置のブロック１１３０の動きベクトルを利用して生成されもする。例えば、現在ブロック１１００と同一位置のブロック１１３０の動きベクトルｍｖ＿ｃｏｌＢが、現在ピクチャ１１１０の時間的に先行するピクチャ１１１２の検索されたブロック１１３２に対して生成されれば、現在ブロック１１００の予測動きベクトルの候補であるｍｖ＿Ｌ０Ｂ及びｍｖ＿Ｌ１Ｂは、次のように生成されもする。
【０１１４】
ｍｖ＿Ｌ０Ｂ＝（ｔ３／ｔ４）＊ｍｖ＿ｃｏｌＢ
ｍｖ＿Ｌ１Ｂ＝ｍｖ＿Ｌ０Ｂ−ｍｖ＿ｃｏｌＢ
ここで、ｍｖ＿Ｌ０Ｂは、時間的に先行するピクチャ１１１２に係わる現在ブロック１１１０の予測動きベクトルを意味し、ｍｖ＿Ｌ１Ｂは、時間的に後行するピクチャ１１１４に係わる現在ブロック１１００の予測動きベクトル候補を意味する。
【０１１５】
図１１Ａと同様に、図１１Ｂに図示された実施形態でも、Ｂピクチャである現在ピクチャ１１１０が、時間的に先行するピクチャ１１１２と、時間的に後行するピクチャ１１１４との間に存在する。従って、同一位置のブロック１１３０の動きベクトルｍｖ＿ｃｏｌＢが、時間的に先行するピクチャ１１１２に対して生成されれば、ｍｖ＿Ｌ０Ｂに基づいて、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。言い換えれば、ｍｖ＿ｃｏｌＢが、図１１Ｂに図示された方向と反対方向の動きベクトルである場合、すなわち、時間的に後行するピクチャ１１１４後の他のピクチャに対して生成された場合より、ｍｖ＿ｃｏｌＢが図１１Ｂに図示された方向の動きベクトルである場合、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。
【０１１６】
従って、現在ブロック１１１０から、同一位置のブロック１１３０への方向がＬｉｓｔ１方向であるならば、同一位置のブロック１１３０の動きベクトルｍｖ＿ｃｏｌＢは、Ｌｉｓｔ０方向であってこそ、図１１Ｂに図示されたように、現在ピクチャ１１１０が、先行するピクチャ１１１２と、後行するピクチャ１１１４との間に存在する可能性が高くなり、ｍｖ＿ｃｏｌＢに基づいて、現在ブロック１１００の動きベクトルをさらに正確に予測することができる。
【０１１７】
また、現在ブロックが参照するピクチャが、図１１Ｂに図示された隣接したピクチャ１１１２及び１１１４ではない他のピクチャであってもよいので、ＰＯＣに基づいて、現在ブロックの予測動きベクトル候補を生成する。
【０１１８】
例えば、現在ピクチャのＰＯＣがＣｕｒｒＰＯＣであり、現在ピクチャが参照するピクチャのＰＯＣがＣｕｒｒＲｅｆＰＯＣであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。
【０１１９】
Scale＝（ＣｕｒｒＰＯＣ−ＣｕｒｒＲｅｆＰＯＣ）／（ＣｏｌＰＯＣ−ＣｏｌＲｅｆＰＯＣ）
ｍｖ＿temporal＝Scale＊ｍｖ＿ｃｏｌＢ
ここで、ＣｏｌＰＯＣは、同一位置のブロック１１３０が含まれている時間的に後行するピクチャ１１１４のＰＯＣであり、ＣｏｌＲｅｆＰＯＣは、同一位置のブロック１１３０が参照するブロック１１３２が含まれている時間的に先行するピクチャ１１１２のＰＯＣである。
【０１２０】
図１１Ｃは、本発明の一実施形態によるＰピクチャ（predictive  picture）の予測動きベクトル候補を図示している。図１１Ｃを参照すれば、現在ピクチャ１１１０の現在ブロック１１００の予測動きベクトル候補は、時間的に先行するピクチャ１１１２と同一位置のブロック１１４０の動きベクトルを利用して決定される。例えば、現在ブロック１１００と同一位置のブロック１１４０の動きベクトルｍｖ＿ｃｏｌＣが、他の時間的に先行するピクチャ１１１６の検索されたブロック１１４２に対して生成されれば、現在ブロック１１００の予測動きベクトル候補であるｍｖ＿Ｌ０Ｃは、次のように決定される。
【０１２１】
ｍｖ＿Ｌ０Ｃ＝（ｔ６／ｔ５）＊ｍｖ＿ｃｏｌＣ
図１１Ａ及び図１１Ｂと係わって説明したように、ＰＯＣに基づいて、ｍｖ＿Ｌ０Ｃを決定することもできる。現在ピクチャ１１１０のＰＯＣ、現在ピクチャ１１１０が参照するピクチャのＰＯＣ、時間的に先行するピクチャ１１１２のＰＯＣ及び他の時間的に先行するピクチャ１１１６のＰＯＣに基づいて、ｍｖ＿Ｌ０Ｃを決定することができる。
【０１２２】
現在ピクチャ１１１０がＰピクチャであるので、現在ブロック１１００の予測動きベクトル候補は、図１１Ａ及び図１１Ｂと異なり、一つだけ決定される。
【０１２３】
また、図１１Ａ及び図１１Ｂで、時間的距離に基づいて生成された予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用するためには、同一位置のブロック１１２０及び１１３０のうちいずれのブロックを利用して予測動きベクトル候補を生成するかを示す情報が、共に符号化されなければならないが、この情報は、スライスパラメータまたはシーケンスパラメータとして、スライスヘッダまたはシーケンスヘッダに含まれる。
【０１２４】
まとめれば、図１０Ａ及び図１０Ｂ、図１１Ａないし図１１Ｃによって、予測動きベクトルの候補の集合Ｃは、次の通りある。
【０１２５】
Ｃ＝｛median（ｍｖ＿ａ０，ｍｖ＿ｂ０，ｍｖ＿ｃ），ｍｖ＿ａ０，ｍｖ＿ａ１，…，ｍｖ＿ａＮ，ｍｖ＿ｂ０，ｍｖ＿ｂ１，…，ｍｖ＿ｂＮ，ｍｖ＿ｃ，ｍｖ＿ｄ，ｍｖ＿ｅ，ｍｖ＿temporal｝
または、集合Ｃは、予測動きベクトルの候補の個数を減らした集合であってもよい。
【０１２６】
Ｃ＝｛median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’，ｍｖ＿temporal｝
ここで、ｍｖ＿ｘは、ｘブロックの動きベクトルを意味し、median（）は、中央値を意味し、ｍｖ＿temporalは、図１１Ａないし図１１Ｃと係わって説明した時間的距離を利用して生成された予測動きベクトル候補を意味する。ｍｖ＿ａ’は、ｍｖ＿ａ０、ｍｖ＿ａ１、…、ｍｖ＿ａＮのうち有効な最初の動きベクトルを意味する。例えば、ａ０ブロックが、イントラ予測を利用して符号化されたか、あるいは現在ブロックと異なるピクチャを参照したのであれば、ａ０の動きベクトルであるｍｖ＿ａ０は、有効ではないので、ｍｖ＿ａ’＝ｍｖ＿ａ１になり、ａ１ブロックの動きベクトルも有効ではない場合には、ｍｖ＿ａ’＝ｍｖ＿ａ２である。同様に、ｍｖ＿ｂ’は、ｍｖ＿ｂ０、ｍｖ＿ｂ１、…、ｍｖ＿ｂＮのうち有効な最初の動きベクトルを意味し、ｍｖ＿ｃ’は、ｍｖ＿ｃ、ｍｖ＿ｄ、ｍｖ＿ｅのうち有効な最初の動きベクトルを意味する。
【０１２７】
現在ブロックに隣接したブロックの動きベクトルのうち、現在ブロックと異なるピクチャを参照するブロックの動きベクトルは、現在ブロックの動きベクトルを効率的に予測することができない。従って、予測動きベクトル候補の集合Ｃで、現在ブロックと異なるピクチャを参照するブロックの動きベクトルを除くことができる。
【０１２８】
動きベクトル符号化装置９００が、明示モードによって動きベクトルを符号化するときには、Ｃ集合のうち、いずれの予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用したかを指示する（signalling）情報も共に符号化する。言い換えれば、動きベクトル符号化装置９００が動きベクトルを符号化するとき、Ｃ集合の元素、すなわち、予測動きベクトルの候補それぞれに対応する二進数を割り当て、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補に対応する二進数も共に符号化する。
【０１２９】
Ｃ集合の元素のうち一つを特定するために、それぞれの予測動きベクトル候補に対応する二進数を割り当て、二進数を出力するから、Ｃ集合の元素の個数が少ないほど、さらに少ないビットの二進数で、Ｃ集合の元素を特定することができる。
【０１３０】
従って、Ｃ集合で重複される予測動きベクトル候補があれば、重複される予測動きベクトル候補は、Ｃ集合から除外され、二進数を割り当てすることができる。例えば、Ｃ集合が、前述のように、Ｃ＝｛median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’，ｍｖ＿temporal｝であるとき、ｍｖ＿ａ’，ｍｖ＿ｂ’及びｍｖ＿ｃ’がいずれも同一であるならば、Ｃ集合を、Ｃ＝｛ｍｖ＿ａ’，ｍｖ＿temporal｝のように、２つの元素でもって決定し、二進数を割り当てることができる。重複される予測動きベクトル候補を除外する前に、Ｃ集合の５個の元素を３ビットを利用して特定することができるならば、重複される予測動きベクトル候補を除外した後には、２個の元素を、１ビットを利用して特定することができる。
【０１３１】
重複される予測動きベクトル候補を除外する代わりに、重複される予測動きベクトル候補が、現在ブロックの予測動きベクトルとして決定される確率を高めるために、所定の加重値（weight）を付加することもできる。前述の例で、ｍｖ＿ａ’，ｍｖ＿ｂ’及びｍｖ＿ｃ’がいずれも同一であり、ｍｖ＿ａ’だけＣ集合に含まれているので、ｍｖ＿ａ’に所定の加重値を付け加え、ｍｖ＿ａ’が現在ブロックの動きベクトルを予測するのに利用される確率を高めることができる。
【０１３２】
また、予測動きベクトル候補が一つである場合には、予測動きベクトルの候補のうち一つを特定するための二進数を符号化しないこともある。例えば、Ｃ集合が、Ｃ＝｛median（ｍｖ＿ａ０，ｍｖ＿ｂ０，ｍｖ＿ｃ），ｍｖ＿ａ０，ｍｖ＿ａ１，…，ｍｖ＿ａＮ，ｍｖ＿ｂ０，ｍｖ＿ｂ１，…，ｍｖ＿ｂＮ，ｍｖ＿ｃ，ｍｖ＿ｄ，ｍｖ＿ｅ，ｍｖ＿temporal｝が、ａ０ないしａＮブロック、ｂ０ないしｂＮブロック、ｃブロック、ｄブロック、ｅブロックがいずれもイントラ予測されたブロックであるならば、Ｃ集合は、Ｃ＝｛ｍｖ＿temporal｝であるので、実質的に１つの元素しか含まない。従って、この場合、動きベクトル符号化装置９００は、予測動きベクトル候補のうち一つを特定するための二進数を符号化しないこともある。
【０１３３】
前述のすべての予測動きベクトルの候補以外に、他の動きベクトルが予測動きベクトルの候補として利用されることは、本発明が属する技術分野で当業者であるならば、容易に理解することができるであろう。
【０１３４】
また、本発明の他の実施形態によれば、候補決定部９２０は、予測動きベクトルの候補の個数を減らすことができる。
【０１３５】
前述のように、複数の予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために、別途の情報が符号化されてビットストリームに含まれる。従って、Ｃ集合の元素の個数が少ないほど、Ｃ集合で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために必要な情報が、少ないビットで符号化されもする。このために、候補決定部９２０は、所定の評価関数を利用して、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を選択的に除外することができる。図１２を参照しつつ詳細に説明する。
【０１３６】
図１２は、本発明の一実施形態による予測動きベクトルの候補を減らす方法を図示している。図１２では、Ｃ集合の元素の個数が三つであり、ＭＶＰ１、ＭＶＰ２及びＭＶＰ３が、Ｃ集合の元素であり、現在ブロックの動きベクトルがＭＶである場合を仮定している。現在ブロックの動きベクトルと最も類似した予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、ＭＶと最も類似したＭＶＰ３が、現在ブロックの動きベクトルを予測するのに利用される。
【０１３７】
従って、動きベクトル符号化装置９００で、動きベクトルについての情報として符号化される現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトル（以下、「実際動きベクトル差（motion  vector  difference）」とする）は、（２，０）である。ＭＶが（５，０）であり、ＭＶＰ３が（３，０）であるので、実際動きベクトル差は、（２，０）である。
【０１３８】
候補決定部９２０は、このような実際動きベクトル差及び所定の評価関数を利用して、予測動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトル候補を選択的に除外する。さらに詳細には、実際動きベクトル差と、所定の予測動きベクトル候補とを利用して、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差（以下、「仮想の動きベクトル差」）を全体候補について生成する。実際動きベクトル差と、所定の予測動きベクトル候補とを加算して仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差を計算する。実際動きベクトル差と、全体候補それぞれについて計算された仮想の動きベクトル差とを比較することにより、所定の予測動きベクトル候補を、予測動きベクトルの全体候補から選択的に除外することができる。
【０１３９】
図１２を参照して詳細に説明すれば、まず候補決定部９２０は、予測動きベクトル候補のうち一つであるＭＶＰ１を、全体候補から除外するか否かを判断する。
【０１４０】
ＭＶＰ１に基づいた仮想の動きベクトルと異なる予測動きベクトル候補を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、ＭＶＰ１は、現在ブロックの動きベクトルを予測するのに利用されない。例えば、ＭＶＰ１と、実際動きベクトル差とを加算して生成された仮想の動きベクトルからＭＶＰ３を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、ＭＶＰ３が、ＭＶＰ１よりさらに正確に仮想の動きベクトルを予測したことにより、この場合、ＭＶＰ１は、予測動きベクトルのなることができないということは明白であるからである。
【０１４１】
図１２で、ＭＶＰ１と実際動きベクトル差とを加算すれば、ＭＶＰ１に基づいた仮想の動きベクトルは、（２，０）である。従って、ＭＶＰ１に基づいて、仮想の動きベクトルを生成したとき、ＭＶＰ２に係わる仮想の動きベクトル差は、（２，０）であり、ＭＶＰ３に係わる仮想の動きベクトル差は、（−１，０）である。このとき、ＭＶＰ３に係わる仮想の動きベクトル差である（−１，０）の大きさは、実際動きベクトル差の大きさである（２，０）より小さいので、ＭＶＰ１は、現在ブロックの予測動きベクトルになることができない。従って、ＭＶＰ１を予測動きベクトルの全体候補から除外することができる。言い換えれば、前述のＣ集合で、ＭＶＰ１に対応する予測動きベクトル候補は、除外されてもよい。
【０１４２】
このとき、ＭＶＰ１自体について計算された仮想の動きベクトル差は、（２，０）であり、これは、実際動きベクトル差と常に同一であるので、実際動きベクトルの大きさより小さいなることはない。従って、予測動きベクトルの全体候補それぞれについて仮想の動きベクトル差を計算するとき、ＭＶＰ１自体に係わる仮想の動きベクトル差は計算しない。
【０１４３】
ＭＶＰ１の除外いかん判断が完了すれば、候補決定部９２０は、ＭＶＰ２を予測動きベクトルの全体候補から除外するか否かを判断する。ＭＶＰ２を実際動きベクトル差と加算すれば、ＭＶＰ２に基づいた仮想の動きベクトルは、（２，０）である。従って、ＭＶＰ１に係わる仮想の動きベクトル差は、（２，０）であり、ＭＶＰ３に係わる仮想の動きベクトル差は、（−１，０）である。ＭＶＰ３に係わる仮想の動きベクトル差の大きさが、実際動きベクトル差の大きさより小さいので、ＭＶＰ１と同様に、ＭＶＰ２も、予測動きベクトルの全体候補から除外される。ＭＶＰ２の除外いかんを判断するとき、ＭＶＰ１に係わる仮想の動きベクトル差と、実際動きベクトル差との比較は、選択的である。ＭＶＰ１は、すでに現在ブロックの予測動きベクトルではないということが明白であると判断されたので、ＭＶＰ１を除外した残りの候補それぞれに係わる仮想の動きベクトル差を、実際動きベクトル差と比較することができる。
【０１４４】
また、候補決定部９２０は、ＭＶＰ３についても除外いかんを判断する。ＭＶＰ３に基づいた仮想の動きベクトルは、実際動きベクトルと同一であり、実際動きベクトルから、他の予測動きベクトル候補（すなわち、ＭＶＰ１またはＭＶＰ２）を減算しても、実際動きベクトル差の大きさより小さい仮想の動きベクトル差が発生することがないので、ＭＶＰ３は、予測動きベクトルの全体候補から除外されない。また、本発明の他の実施形態によれば、現在ブロックの動きベクトルを予測するのに利用されると決定されたＭＶＰ３は、予測動きベクトルの全体候補から除外されないことが明白であるので、候補決定部９２０は、現在ブロックの動きベクトルを予測するのに利用されると決定された予測動きベクトル候補については、除外いかんをスキップ（skip）することができる。
【０１４５】
要するに、候補決定部９２０は、予測動きベクトルの全体候補のうち一つである第２予測動きベクトルの除外いかんを決定するが、第２予測動きベクトルと、実際動きベクトル差とを加算して、仮想の動きベクトルを生成し、仮想の動きベクトルと異なる予測動きベクトルの差ベクトルを、全体候補それぞれについて計算し、複数の仮想の動きベクトル差を生成する。複数の仮想の動きベクトル差のうち、実際動きベクトル差より大きさが小さい仮想の動きベクトル差が少なくとも一つ存在するならば、第２予測動きベクトルは、現在ブロックの予測動きベクトルではないことが明白であるので、予測動きベクトルの全体候補から除外する。
【０１４６】
また、候補決定部９２０は、このような除外いかんについての判断を、予測動きベクトルの全体候補それぞれについて反復することにより、予測動きベクトルの候補の全体個数、すなわち、Ｃ集合の元素の個数を減らすことができる。Ｃ集合の全体予測動きベクトルの候補の整列順序によって、順に除外いかんを判断する。例えば、Ｃ＝｛median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’，ｍｖ＿temporal｝であるとき、median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿’）の除外いかんを判断し、判断が終われば、ｍｖ＿ａ’の除外いかんを判断する。その後、ｍｖ＿ｂ’の除外いかんを判断する。Ｃ集合の整列順序によって、ｍｖ＿temporalまで除外いかん判断を反復する。
【０１４７】
反復して判断するとき、以前判断過程で除外された候補については、仮想の動きベクトル差と、実際動きベクトル差との比較を省略することができることは、ＭＶＰ２の除外いかんの判断と係わって説明した通りである。
【０１４８】
また、Ｃ集合は、図１３Ａないし図１３Ｄと係わって後述するとように、所定の基準によって再整列されるが、Ｃ集合が再整列された場合には、再整列された順序によって、除外いかんについての判断を反復する。
【０１４９】
図１２と係わって説明した仮想の動きベクトル差と、実際動きベクトル差との大きさ比較は、一次元動きベクトルはもとより、二次元動きベクトルについても適用される。言い換えれば、ｘ座標及びｙ座標で定義される仮想の動きベクトル差の大きさと、実際動きベクトル差の大きさとを比較し、所定の予測動きベクトルの候補を全体候補から選択的に除外することができる。
【０１５０】
しかし、仮想の動きベクトル差と、実際動きベクトル差との比較の基準（criterion）である大きさは、例示的なものであり、多様な基準が、仮想の動きベクトル差と、実際動きベクトル差との比較に利用されもする。所定基準に基づいて、仮想の動きベクトル差に係わる値と、実際動きベクトル差に係わる値とを生成する評価関数を「Ａ」とするとき、次の数式（１）によって、仮想の動きベクトル差と、実際動きベクトル差とを比較することができる。
【０１５１】
Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）＜Ａ（ＭＶＤ）      （１）
候補決定部９２０は、予測動きベクトルの全体候補のうち一つである「ｍｖｘ」を予測動きベクトルの全体候補から除外するか否かを判断するために、数式（１）を満足する「ｍｖｙ」が全体候補中に少なくとも一つ存在するか否かを判断する。数式（１）で「ＭＶＤ」は、実際動きベクトル差を意味する。「ｍｖｘ」の除外いかんを判断するために、「ｍｖｘ」に基づいた仮想の動きベクトルである「ｍｖｘ＋ＭＶＤ」と異なる予測動きベクトル候補である「ｍｖｙ」間の仮想の動きベクトル差である「ｍｖｘ＋ＭＶＤ−ｍｖｙ」を、所定の評価関数「Ａ」を利用して評価した値である「Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）」を計算し、計算の結果として生成された値を、実際動きベクトル差に係わる値である「Ａ（ＭＶＤ）」と比較する。全体候補のうち、「ｍｖｘ」を除外した他の予測動きベクトル候補を、「ｍｖｙ」に反復して代入し、数式（１）を満足する「ｍｖｙ」が全体候補の中に少なくとも一つ存在するか否かを判断する。
【０１５２】
前述のように、「Ａ」によって評価される仮想の動きベクトル差及び実際動きベクトル差は、ｘ座標及びｙ座標で定義されもする。この場合、評価関数は、次の数式（２）のように、ｘ座標を評価した値及びｙ座標を評価した値の和として定義されもする。
【０１５３】
Ａ（ｐ，ｑ）＝ｆ（ｐ）＋ｆ（ｑ）      （２）
仮想の動きベクトル差または実際動きベクトル差が、ｘ座標「ｐ」及びｙ座標「ｑ」として定義されるとき、それぞれの座標値を所定の関数「ｆ」に代入し、代入した結果の和によって、評価関数「Ａ」が定義されもする。
【０１５４】
本発明の一実施形態によれば、数式（１）及び数式（２）の評価関数「Ａ」は、仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する評価関数である。候補決定部９２０は、仮想の動きベクトル差及び実際動きベクトル差をエントロピ符号化した結果を、評価関数「Ａ」に基づいて推定し、推定結果に基づいて、予測動きベクトルの候補の個数を減らすことができる。数式（３）を参照して詳細に説明する。
【０１５５】
Length＝１；
Ｔｅｍｐ    ＝（ｖａｌ＜＝０（−ｖａｌ＜＜１）＋１：（ｖａｌ＜＜１）；
While（１！＝Ｔｅｍｐ）｛
Ｔｅｍｐ＞＞＝１；
Length＋＝２；
｝
ｆ（ｖａｌ）＝Length                                                （３）
ｘ座標値またはｙ座標値についてエントロピ符号化結果を推定する関数「ｆ」は、数式（３）のように定義されもする。可変長符号化（variable  length  coding）（例えば、ユニバーサル可変長符号化（universal  variable  length  coding）結果を予測する関数「ｆ」に、ｘ座標値またはｙ座標値である「ｖａｌ」が入力されれば、前記数式（３）によって、「Length」が計算される。
【０１５６】
数式（３）は、次のように示すこともできる。
【０１５７】
【数１】
2020182236.tif 000003
ｘ座標値またはｙ座標価格は、仮想の動きベクトル差または実際動きベクトル差のｘ座標値またはｙ座標値であってもよい。
【０１５８】
数式（３）によれば、「ｖａｌ」が負数または「０」であるならは、「ｖａｌ」を正数に変換した後、１ビットほど左側にシフトし、座標値に「２」を乗じ、「１」を加算して「Ｔｅｍｐ」として保存する。「ｖａｌ」が正数であるならば、「ｖａｌ」を１ビットほど左側にシフトし、座標値に「２」を乗じ、「Ｔｅｍｐ」として保存する。その後、「Ｔｅｍｐ」が「１」になるまで「while」ループを反復し、「Length」を計算する。
【０１５９】
例えば、仮想の動きベクトル差または実際動きベクトル差が（２，０）であるならば、Ａ（２，０）＝ｆ（２＋ｆ（０）である。
【０１６０】
ｆ（２）は、次のように計算される。ｆ（２）の「２」が正数であるので、１ビットほど左側にシフトし、「Ｔｅｍｐ」を「４」に設定する。最初のwhileループでは、「Ｔｅｍｐ」が「４」であり、「４」は、「１」ではないので、「４」を右側にシフトし、「１／２」を乗じることにより、「Ｔｅｍｐ」を「２」に設定する。「Length」の初期値は、「１」に設定されているので、最初のwhileループで、「Length」は、「３」になる。
【０１６１】
２番目のwhileループでは、「Ｔｅｍｐ」が「２」であり、「２」は、「１」ではないので、「２」を右側にシフトし、「１／２」を乗じることにより、「Ｔｅｍｐ」を「１」に設定する。現在「Length」は、「３」であるので、２番目のwhileループで「Length」は、「５」になる。３番目のwhileループは、「Ｔｅｍｐ」が「１」であるので遂行されず、ｆ（２）は、「５」になる。
【０１６２】
ｆ（０）は、次のように計算される。ｆ（０）の入力座標値が「０」であるので、「０」を左側に１ビットシフトし、「１」を加算して「Ｔｅｍｐ」は、「１」に設定される。従って、whileループは遂行されない。「Length」の初期値によって、ｆ（０）は、「１」になる。
【０１６３】
数式（３）と係わって説明した所定の評価関数「ｆ」は、可変長符号化を利用したエントロピ符号化の結果を推定するための関数である。従って、候補決定部９２０は、「ｍｖｘ」を予測動きベクトルの全体候補から除外するか否かを判断するために、評価関数「Ａ」を利用して、仮想の動きベクトル差を可変長永遠に符号化した結果を推定する。推定結果、実際動きベクトル差よりさらに短い長さに符号化されると推定された仮想の動きベクトル差が少なくとも一つ存在すれば、「ｍｖｘ」を予測動きベクトルの全体候補から除外する。
【０１６４】
しかし、可変長符号化の結果ではない他の方法によるエントロピ符号化結果を推定することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。例えば、他の評価関数「ｈ」を利用して、仮想の動きベクトル差のエントロピ符号化結果、及び実際動きベクトル差のエントロピ符号化結果を推定し、比較することができるし、このとき、「ｈ」は、コンテクスト適応であるは算術符号化（context  adaptive  binary  arithmetic  coding）の結果を推定する関数であってもよい。
【０１６５】
また、本発明の他の実施形態によれば、所定の評価関数に基づいた評価結果の正確度を高めるために、インデックス情報を評価した結果も共に推定することができる。インデックス情報は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を特定するための情報である。数式（４）を参照して詳細に説明する。
【０１６６】
Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ，ｍｖｙＩｄｘ）＜Ａ（ＭＶＤ，ｍｖｘＩｄｘ）  （４）
候補決定部９２０は、予測動きベクトルの全体候補のうち一つである「ｍｖｘ」を、予測動きベクトルの全体候補から除外するか否かを判断するために数式（４）を満足する「ｍｖｙ」が、全体候補中に少なくとも一つ存在するか否かを判断する。数式（４）で「ＭＶＤ」は、実際動きベクトル差を意味し、ｍｖｘＩｄｘとｍｖｙＩｄｘは、予測動きベクトルの全体候補で、それぞれ「ｍｖｘ」と「ｍｖｙ」とを特定するためのインデックス情報を意味する。「ｍｖｘ」の除外いかんを判断するために、「ｍｖｘ」に基づいた仮想の動きベクトルである「ｍｖｘ＋ＭＶＤ」と異なる予測動きベクトル候補である「ｍｖｙ」間の仮想の動きベクトル差である「ｍｖｘ＋ＭＶＤ−ｍｖｙ」及び「ｍｖｙ」を全体候補で特定するためのインデックス情報を、所定の評価関数「Ａ」を利用して評価し、実際動きベクトル差及び「ｍｖｘ」を全体候補で特定するためのインデックス情報を、所定の評価関数「Ａ」を利用して評価する。評価結果、数式（４）を満足する「ｍｖｙ」が全体候補中に少なくとも一つ存在するか否かを判断する。
【０１６７】
前述のように、「Ａ」によって評価される仮想の動きベクトル差及び実際動きベクトル差は、ｘ座標及びｙ座標で定義され、数式（５）のように定義されもする。
【０１６８】
Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ，ｍｖｙＩｄｘ）＝ｆ（ｐ１）＋ｆ（ｑ１）＋ｇ（ｍｖｙＩｄｘ）
Ａ（ＭＶＤ，ｍｖｘＩｄｘ）＝ｆ（ｐ２＋ｆ（ｑ２＋ｇ（ｍｖｘＩｄｘ）    （５）
数式（２）と比較すれば、数式（２）の左辺のＡ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）は、仮想の動きベクトル差だけ評価したが、数式（５）のＡ（ｍｖｘ＋ＭＶＤ−ｍｖｙ，ｍｖｙＩｄｘ）は、仮想の動きベクトル差、及び予測動きベクトルの全体候補で「ｍｖｙ」を特定するための情報も共に評価する。評価関数「Ａ」は、前述のように、エントロピ符号化した結果を評価するための関数であってもよく、このとき、関数「ｆ」は、数式（２）と係わって説明したように、仮想の動きベクトル差のｘ座標値またはｙ座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「ｇ」は、「ｍｖｘＩｄｘ」のエントロピ符号化結果を推定するための関数であってもよい。「ｍｖｘ＋ＭＶＤ−ｍｖｙ」のｘ座標値が「ｐ１」であり、ｙ座標値が「ｑ１」であるとき、Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ，ｍｖｘＩｄｘ）は、数式（５）に示されたように計算することができる。
【０１６９】
数式（２）の右辺のＡ（ＭＶＤ）も、実際動きベクトル差だけ評価したが、数式（５）のＡ（ＭＶＤ，ｍｖｘＩｄｘ）は、実際動きベクトル差、及び予測動きベクトルの全体候補で「ｍｖｘ」を特定するための情報を共に評価する。関数「ｆ」は、数式（２）と係わって説明したように、実際動きベクトル差のｘ座標値またはｙ座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「ｇ」は、「ｍｖｘＩｄｘ」のエントロピ符号化結果を推定するための関数であってもよい。「ＭＶＤ」のｘ座標値が「ｐ２」であり、ｙ座標値が「ｑ２」であるとき、Ａ（ＭＶＤ，ｍｖｘＩｄｘ）は、数式（５）に図示されたように計算することができる。
【０１７０】
数式（４）及び（５）による除外いかん判断は、数式（２）による除外いかん判断に対して補助的に利用されもする。言い換えれば、数式（２）に基づいて、「ｍｖｘ」を全体予測動きベクトルの候補から除外するか否かをまず判断し、補助的に数式（４）及び（５）によって、さらに一度除外いかんを判断することができる。例えば、数式（２）によって判断した結果、「Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）」が「Ａ（ＭＶＤ）」と同一であるか、あるいはそれより大きい場合だけ存在し、「Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）」が「Ａ（ＭＶＤ）」より小さい場合が存在しないならば、数式（２）によれば、「ｍｖｘ」が、予測動きベクトルの全体候補から除外されない。しかし、「Ａ（ｍｖｘ＋ＭＶＤ−ｍｖｙ）」と「Ａ（ＭＶＤ）」とが等しくても、数式（４）及び（５）による判断結果に基づいて、「ｍｖｘ」を予測動きベクトルの全体候補から除外することができる。
【０１７１】
候補決定部９２０が数式（１）ないし（５）に基づいて、予測動きベクトル候補に対しての除外いかんを判断するとき、Ｃ集合の整列順序によって、すべての予測動きベクトルの候補について反復することについては説明した。本発明の他の実施形態によれば、候補決定部９２０は、Ｃ集合を所定の基準によって再整列し、再整列順序によって、除外いかんの判断を反復することができる。図１３Ａないし図１３Ｄを参照して詳細に説明する。
【０１７２】
図１３Ａないし図１３Ｄは、本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示している。
【０１７３】
全体予測動きベクトルの候補がＣ＝｛median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’，ｍｖ＿temporal｝のようであるとき、Ｃ集合の予測動きベクトル候補それぞれに二進数を割り当てることにより、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトルを特定する可能性があることについて説明した。
【０１７４】
このとき、Ｃ集合に含まれた予測動きベクトルの候補の整列順序によって、二進数が割り当てられ、このような二進数は、ハフマンコードに基づいた可変長符号であってもよい。従って、Ｃ集合の整列順序で、前に位置した予測動きベクトル候補に、さらに少ない個数のビットを割り当てることができる。例えば、Ｃ集合で、「median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’）」に「０」ビットを割り当て、ｍｖ＿ａ’に「００」ビットを割り当て、ｍｖ＿ｂ’に「０１」ビットを割り当てることができる。従って、候補決定部９２０は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補が、Ｃ集合の前方に位置するように、予測動きベクトルの候補を所定順序によって整列する。
【０１７５】
現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトルは、符号化単位で、現在ブロックの位置によって決定される。図１３Ａのように、現在ブロックが符号化単位の下端に位置すれば、現在ブロックの動きベクトルは、符号化単位の左側に隣接したブロックの動きベクトル、または左側下部に隣接したブロックの動きベクトルと同一または類似した可能性が高い。従って、左側に隣接したブロックの動きベクトル、または左側下部に隣接したブロックの動きベクトルに対応する予測動きベクトルの候補が、Ｃ集合の前方に位置するように整列順序を変更する必要がある。前述のＣ集合の予測動きベクトルの候補のうちｍｖ＿ｂ’が、左側に隣接したブロックの動きベクトルに対応する予測動きベクトルの候補であるので、Ｃ集合は、ｍｖ＿ｂ’とmedian（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’）との順序を変え、Ｃ＝｛ｍｖ＿ｂ’，ｍｖ＿ａ’，median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ｃ’，ｍｖ＿temporal｝のように再整列されもする。
【０１７６】
同様に、図１３Ｂのように、現在ブロックが、符号化単位の左側に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のＣ集合の予測動きベクトルの候補のうちｍｖ＿ｂ’が、左側に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、Ｃ集合は、ｍｖ＿ｂ’とmedian（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’）との順序を変え、Ｃ＝｛ｍｖ＿ｂ’，ｍｖ＿ａ’，median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ｃ’，ｍｖ＿temporal｝のように再整列されもする。
【０１７７】
図１３Ｃのように、現在ブロックが符号化単位の上部に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの予測動きベクトルに利用される可能性が高い。前述のＣ集合の予測動きベクトルの候補のうちｍｖ＿ａ’が、上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、Ｃ集合は、ｍｖ＿ａ’とmedian（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’）との順序を変え、Ｃ＝｛ｍｖ＿ａ’，median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿ｂ’，ｍｖ＿ｃ’，ｍｖ＿temporal｝のように再整列されもする。
【０１７８】
図１３Ｄのように、現在ブロックが符号化単位の右側に位置すれば、符号化単位の右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のＣ集合の予測動きベクトルの候補のうちｍｖ＿ｃ’が、右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、Ｃ集合は、ｍｖ＿ｃ’とmedian（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’）との順序を変え、Ｃ＝｛ｍｖ＿ｃ’，ｍｖ＿ａ’，ｍｖ＿ｂ’，median（ｍｖ＿ａ’，ｍｖ＿ｂ’，ｍｖ＿ｃ’），ｍｖ＿temporal｝のように再整列されもする。
【０１７９】
予測動きベクトルの候補を再整列する基準として、符号化単位での現在ブロックの位置は、例示的なのである。言い換えれば、多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を、Ｃ集合の前部に整列させる多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロック以前に符号化された他のブロックと係わる所定の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、Ｃ集合を再整列することができる。
【０１８０】
また、現在ブロックの動きベクトルを符号化する以前に、現在ブロックに対して符号化されたり復号化された他の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、Ｃ集合を再整列することができる。
【０１８１】
また、Ｃ集合の再整列時に重複された予測動きベクトル候補は、除外され、再整列を遂行することができる。予測動きベクトルの全体候補に、重複された予測動きベクトル候補がある場合には、これをまず除外し、前述の数式（１）ないし（５）によって、それぞれの予測動きベクトル候補に対して、除外いかんを判断することができる。
【０１８２】
再び図９を参照すれば、動きベクトル符号化部９３０は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、実際予測動きベクトルとの差ベクトルであり、予測動きベクトルについての情報は、予測動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトルが除外された候補で、現在ブロックの動きベクトル予測に利用された予測動きベクトルを特定するための情報を符号化する。言い換えれば、候補決定部９２０から除外されていない予測動きベクトルの候補で、現在ブロックの予測動きベクトルを特定するための情報が、予測動きベクトルについての情報として符号化される。
【０１８３】
実際動きベクトル差を、動きベクトル推定部９１０から受信し、所定のエントロピ符号化方法によって符号化し、候補決定部９２０で、少なくとも１つの予測動きベクトル候補を選択的に除外して決定された予測動きベクトルの候補で、動きベクトル推定部９１０で決定された現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。
【０１８４】
候補決定部９２０が、予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトルの候補を、前述の数式（１）ないし（５）によって除外して予測動きベクトルの候補を決めれば、決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。動きベクトル符号化部９３０は、候補決定部９２０から除外されていない予測動きベクトルの候補それぞれをインデクシング（indexing）し、予測動きベクトルについての情報として、インデックス情報をエントロピ符号化することができる。インデクシングとは、予測動きベクトルの候補それぞれに、所定の二進数を割り当てることを意味し、予測動きベクトルについての情報は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された情報を意味する。候補決定部９２０が、少なくとも１つの予測動きベクトル候補を選択的に除外した結果、予測動きベクトル候補が一つだけ残れば、動きベクトル符号化部９３０で、予測動きベクトルについての情報を別途に符号化する必要がない。現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補が、暗黙的（implicit）に決定されるからである。
【０１８５】
また、図１３Ａないし図１３Ｄと係わって説明したように、候補決定部９２０が、全体予測動きベクトルの候補を所定の基準によって再整列し、再整列された全体予測動きベクトルの候補から、少なくとも１つの予測動きベクトルを選択的に除外して生成した予測動きベクトルの候補それぞれをインデクシングし、インデックス情報をエントロピ符号化することもできる。
【０１８６】
候補決定部９２０の再整列結果、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補に、最も少ないビット数の二進数が割り当てされるので、予測動きベクトルについての情報を、さらに高い圧縮率で符号化することができる。
【０１８７】
図１４は、本発明の一実施形態による動きベクトルを復号化する装置を図示している。
【０１８８】
図２の映像復号化装置２００、または図５の映像符号化部５００に含まれ、動きベクトルを復号化する装置が、図１４に詳細に図示されている。図１４を参照すれば、本発明の一実施形態による動きベクトル復号化装置１４００は、動きベクトル復号化部１４１０、候補決定部１４２０及び動きベクトル復元部１４３０を含む。
【０１８９】
図１４の動きベクトル復号化装置１４００は、現在ブロックの動きベクトルが、前述の明示モード及び暗示モードのうち、明示モードによって符号化された場合、現在ブロックの動きベクトルを復号化する装置を図示している。
【０１９０】
動きベクトル復号化部１４１０は、現在ブロックの動きベクトルに係わるビットストリームを受信し、受信されたビットストリームを復号化する。ビットストリームに含まれた動きベクトルについての情報を復号化する。現在ブロックの実際動きベクトル差を復号化する。実際動きベクトル差を、所定のエントロピ復号化方法によって復号化することができる。実際動きベクトル差は、現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトルである。
【０１９１】
本発明の動きベクトルを符号化する方法によれば、前述の数式（１）ないし（５）によって、予測動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトル候補を除外し、予測動きベクトルの候補が決定される。予測動きベクトルの候補は、固定されるのではなく、ブロック単位で復号化を進めるにつれて、続けて変更されもする。従って、予測動きベクトルの候補についての情報が同一であったとしても、予測動きベクトルの候補が決定されなければ、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を正確に復元することができない。
【０１９２】
従って、予測動きベクトル候補を決定するに先立ち、候補決定部１４２０は、予測動きベクトルの候補を決定する。動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトル候補を、数式（１）ないし（５）によって選択的に除外し、予測動きベクトルの候補を決定する。現在ブロックに隣接した以前に復号化された領域に含まれたブロックの動きベクトルに基づいて決定された全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないということが明白な予測動きベクトル候補を、所定の評価関数に基づいて除外する。
【０１９３】
予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び動きベクトル復号化部で復号化された動きベクトルについての情報に基づいて、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと異なる予測動きベクトル候補の差である仮想の動きベクトル差を、全体候補それぞれについて計算する。計算された仮想の動きベクトル差を、動きベクトル復号化部１４１０で復号化された動きベクトルについての情報、すなわち、実際動きベクトル差と比較し、予測動きベクトルの候補を除外する。仮想の動きベクトル差のエントロピ符号化結果を、実際動きベクトル差のエントロピ符号化結果と比較し、所定の予測動きベクトルの候補を除外するか否かを判断することができる。また、エントロピ符号化結果の推定正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかん判断に利用することができる。予測動きベクトルの候補を除外する方法は、数式（１）ないし（５）と係わって説明した。
【０１９４】
また、本発明のさらに他の実施形態によれば、候補決定部１４２０は、予測動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補に対して数式（１）ないし（５）による除外判断を反復し、少なくとも１つの予測動きベクトル候補を選択的に除外することができる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式（１）ないし（５）による除外判断を反復することもできる。
【０１９５】
候補決定部１４２０が、予測動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトル候補を除外した結果、予測動きベクトルの全体候補のうち、複数の予測動きベクトル候補が残れば、動きベクトル復号化部１４１０は、予測動きベクトルについての情報を復号化する。予測動きベクトルについての情報を、所定のエントロピ復号化方法によって復号化する。予測動きベクトルについての情報は、少なくとも１つの予測動きベクトル候補が除外された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報である。候補決定部１４２０から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報が復号化される。
【０１９６】
候補決定部１４２０が予測動きベクトルの全体候補のうち、少なくとも１つの予測動きベクトル候補を除外した結果、１つの予測動きベクトル候補のみ残れば、残された１つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、動きベクトル復号化部１４１０は、別途に予測動きベクトルの候補についての情報を復号化する必要がない。
【０１９７】
動きベクトル復元部１４３０は、動きベクトル復号化部１４１０で復号化された動きベクトルについての情報に基づいて、現在ブロックの動きベクトルを復元する。動きベクトル復号化部１４１０で復号化された実際動きベクトル差と、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補とを加算し、現在ブロックの動きベクトルを復元する。候補決定部１４２０で決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補を決定し、決定された予測動きベクトル候補を、実際動きベクトル差と加算する。候補決定部１４２０での除外結果、一つではない複数の予測動きベクトルの候補を残した場合には、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、動きベクトル復号化部１４１０で復号化された予測動きベクトルについての情報に基づいて決定される。
【０１９８】
候補決定部１４２０によって予測動きベクトルの候補が決定されるので、復号化された予測動きベクトルについての情報が同一であったとしても、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、異なる位置に隣接したブロックの動きベクトルであってもよい。
【０１９９】
図１５は、本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。図１５を参照すれば、段階１５１０で、動きベクトル符号化装置は、現在ブロックの動きベクトルを推定し、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を、予測動きベクトルの全体候補のうちから決定する。現在ブロックと同一または類似した動きベクトルを、複数の参照ピクチャで検索し、検索結果によって、現在ブロックと参照ブロックとの相対的な位置差である動きベクトルを推定する。
【０２００】
その後、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの全体候補に設定し、予測動きベクトルの全体候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。現在ブロックの動きベクトルと、決定された予測動きベクトル候補との差ベクトル、すなわち、実際動きベクトル差を生成する。
【０２０１】
段階１５２０で、映像符号化装置は、予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトル候補を選択的に除外する。予測動きベクトルの全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないことが明白な予測動きベクトル候補を除外する。
【０２０２】
映像符号化装置は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補と、段階１５１０で生成された実際動きベクトル差とを利用し、仮想の動きベクトルを生成する。生成された仮想の動きベクトル、及び他の予測動きベクトル候補を利用し、仮想の動きベクトル差を生成する。全体候補それぞれに対して仮想の動きベクトル差を生成し、生成された仮想の動きベクトル差と、実際動きベクトル差とを比較し、所定の予測動きベクトル候補を選択的に除外することができる。
【０２０３】
段階１５２０の仮想動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも１つの予測動きベクトル候補を全体候補から除外することができる。除外する過程を反復して遂行するときには、すでに除外された予測動きベクトル候補を除いた残りの予測動きベクトル候補それぞれに対して、仮想の動きベクトル差を計算し、計算された仮想の動きベクトル差を、実際動きベクトル差と比較することができる。
【０２０４】
所定の評価関数に基づいて、仮想の動きベクトル差及び実際動きベクトル差を評価して比較することができ、所定の評価関数は、エントロピ符号化結果を予測する関数である。仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する関数に基づいて、比較することができる。また、評価の正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかんの判断に利用することができる。予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトル候補を除外する方法は、数式（１）ないし（５）と係わって説明した。
【０２０５】
また、動きベクトル符号化装置は、図１３Ａないし図１３Ｄと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも１つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式（１）ないし（５）による除外判断を反復することもできる。
【０２０６】
段階１５３０で、動きベクトル符号化装置は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。実際動きベクトル差、及び現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。予測動きベクトルについての情報は、段階１５２０及び１５３０を介して除外されていない予測動きベクトルの候補で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報であってもよい。
【０２０７】
予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトル候補を除外した結果、１つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を符号化しないこともある。
【０２０８】
図１６は、本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。図１６を参照すれば、段階１６１０で、動きベクトル復号化装置は、受信されたビットストリームから、現在ブロックの動きベクトルについての情報を復号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、現在ブロックの予測動きベクトルとの実際動きベクトル差であってもよい。
【０２０９】
段階１６２０で、動きベクトル復号化装置は、段階１６１０で復号化された動きベクトルについての情報及び予測動きベクトルの全体候補のうち、１つの予測動きベクトル候補に基づいて、仮想の動きベクトルを生成する。
【０２１０】
仮想の動きベクトルが生成されれば、動きベクトル復号化装置は、予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトル候補を除外する。現在ブロックに隣接した以前に復号化された領域のブロックの動きベクトルに基づいて、予測動きベクトルの全体候補が決定される。動きベクトル復号化装置は、このような予測動きベクトルの全体候補から、少なくとも１つの予測動きベクトル候補を選択的に除外することができる。所定の評価関数に基づいて、仮想の動きベクトル差と、段階１６１０で復号化された実際動きベクトル差とを評価し、所定の予測動きベクトル候補を選択的に除外する。予測動きベクトル候補を全体候補から除外する方法は、段階１５３０と同一であり、数式（１）ないし（５）を参照して説明した。
【０２１１】
段階１６２０の仮想の動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも１つの予測動きベクトル候補を全体候補から除外することができる。
【０２１２】
また、動きベクトル符号化装置は、図１３Ａないし図１３Ｄと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも１つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式（１）ないし（５）による除外判断を反復することもできる。
【０２１３】
除外結果、複数の予測動きベクトルの候補が残れば、予測動きベクトルについての情報を復号化し、１つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を復号化しない。
【０２１４】
段階１６３０で、動きベクトル復号化装置は、段階１６２０から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定する。
【０２１５】
現在ブロックの予測動きベクトルについての情報に基づいて、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定することができる。段階１６２０の除外結果、１つの予測動きベクトル候補だけ残った場合には、残った１つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補として決定される。
【０２１６】
予測動きベクトル候補が決定されれば、決定された予測動きベクトル候補と、段階１６１０で復号化された実際動きベクトル差とを加算し、現在ブロックの動きベクトルを復元する。
【０２１７】
以上のように本発明について、たとえ限定された実施形態及び図面によって説明したにしても、本発明が、前記の実施形態に限定されるものではなく、これは、本発明が属する分野で当業者であるならば、このような記載から、多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によってのみ把握されなければならず、これと均等であったり、あるいは等価的な変形はいずれも、本発明思想の範疇に属するものである。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータが読み取り可能なコードとして具現することが可能である。
【０２１８】
例えば、本発明の例示的な実施形態による映像符号化装置、映像復号化装置、動きベクトル符号化装置及び動きベクトル復号化装置は、図１、図２、図４、図５、図９及び図１４に図示されたような装置のそれぞれのユニットにカップルリングされたバス、前記バスに結合された少なくとも１つのプロセッサを含んでもよい。また、命令、受信されたメッセージまたは生成されたメッセージを保存するために、前記バスに結合され、前述のような命令を遂行するための少なくとも１つのプロセッサにカップルリングされたメモリを含んでもよい。
【０２１９】
また、コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。記録媒体の例としては、ＲＯＭ（read-only  memory）、ＲＡＭ（random-access  memory）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されもする。
【符号の説明】
【０２２０】
１４００  ベクトル復号化装置
１４１０  動きベクトル復号化部
１４２０  候補決定部
１４３０  動きベクトル復元部
【図１】
2020182236.tif 000004
【図２】
2020182236.tif 000005
【図３】
2020182236.tif 000006
【図４】
2020182236.tif 000007
【図５】
2020182236.tif 000008
【図６】
2020182236.tif 000009
【図７】
2020182236.tif 000010
【図８Ａ】
2020182236.tif 000011
【図８Ｂ】
2020182236.tif 000012
【図８Ｃ】
2020182236.tif 000013
【図８Ｄ】
2020182236.tif 000014
【図９】
2020182236.tif 000015
【図１０Ａ】
2020182236.tif 000016
【図１０Ｂ】
2020182236.tif 000017
【図１０Ｃ】
2020182236.tif 000018
【図１０Ｄ】
2020182236.tif 000019
【図１０Ｅ】
2020182236.tif 000020
【図１１Ａ】
2020182236.tif 000021
【図１１Ｂ】
2020182236.tif 000022
【図１１Ｃ】
2020182236.tif 000023
【図１２】
2020182236.tif 000024
【図１３Ａ】
2020182236.tif 000025
【図１３Ｂ】
2020182236.tif 000026
【図１３Ｃ】
2020182236.tif 000027
【図１３Ｄ】
2020182236.tif 000028
【図１４】
2020182236.tif 000029
【図１５】
2020182236.tif 000030
【図１６】
2020182236.tif 000031