(57)【要約】【課題】予測ベクトル（ＰＭＶ）の選択情報の付与・非付与の判定方法を改善し、より効率的に動きベクトル（ＭＶ）を符号化することができる符号化装置及びその復号装置を提供する。【解決手段】符号化装置１１は、ＰＭＶ候補抽出部１３からのＰＭＶとＭＶとの差分（ＭＶＤ）を求めるＭＶＤ候補計算部１４と、ＰＭＶの選択情報を付与するか否かを所定の方法により判定し、選択情報付与情報を出力するＭＶＤ偏差評価部１５と、所定の方法にて実際の符号化に用いるＰＭＶをＭ個のＰＭＶ候補の中から選択し、使用インデクスを出力するインデクス選択部１６と、使用インデクスによって指し示されるＭＶＤ候補を正式なＭＶＤとして出力するＭＶＤ符号化部１７と、ＰＭＶの選択情報が存在する場合にその選択情報を符号化する選択情報符号化部１８とを有し、ＭＶとＰＭＶとの差分を符号化する。【選択図】図１
2008211697.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータの符号化に際し、既に符号化済みの所定のＭ個（Ｍは２以上の自然数）のデータを予測データ候補とし、前記予測データ候補の中から符号化に用いる予測データを選択し、
前記所定のデータと前記予測データとの差分を符号化する符号化装置において、
前記所定のデータと前記予測データ候補との差分を求める差分計算部と、
前記差分と前記予測データ候補から、予測データの選択情報が存在するか否かを判定する選択情報存在判定部と、
前記判定の結果と前記差分から、符号化に用いる予測データを選択する予測データ選択部と、
前記所定のデータと前記予測データとの差分を求め、前記差分を符号化する差分符号化部と、
前記選択情報が存在する場合には前記選択情報を符号化する選択情報符号化部と、を備えることを特徴とする符号化装置。
【請求項２】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記判定の結果が前記選択情報の不在を示す場合には前記予測データ候補の中から所定の基準選択方法にて予測データを選択することを特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
前記所定の基準選択方法とは、前記予測データ候補のメジアンを予測データとして選択することであることを特徴とする請求項３に記載の符号化装置。
【請求項５】
前記判定とは、予測データを選択することによる差分の符号量削減効果の期待値を計算し、前記期待値が所定の閾値以上であれば、選択情報が存在すると判定し、前記期待値が前記所定の閾値未満であれば、選択情報は存在しないと判定することであることを特徴とする請求項１〜４のいずれかに記載の符号化装置。
【請求項６】
前記期待値とは、前記予測データ候補の偏差の持つ値から、前記偏差と同一オーダーに変換した前記差分の持つ値を減じて得られる値であることを特徴とする請求項５に記載の符号化装置。
【請求項７】
前記偏差とは、前記基準選択方法により選択された予測データの持つ値と前記予測データから最も離れた予測データ候補の持つ値との差分を符号量に換算した値であることを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記期待値とは、前記差分に前記予測データ候補を足し合わせて再生データを生成し、前記再生データから再び前記予測データ候補を減ずることで得られる差分の偏差であることを特徴とする請求項５に記載の符号化装置。
【請求項９】
所定のデータの復号に際し、符号化されている差分を復号し、既に復号済みの所定のＭ個（Ｍは２以上の自然数）のデータを予測データ候補とし、前記予測データ候補の中から符号化に用いる予測データを選択し、前記差分と前記予測データを足し合わせることで前記所定のデータを復号する復号装置において、
前記差分を復号する差分復号部と、
前記差分と前記予測データ候補から、予測データの選択情報が存在するか否かを判定する選択情報存在判定部と、
前記判定の結果が前記選択情報の存在を示す場合には前記選択情報を復号する選択情報復号部と、を備えることを特徴とする復号装置。
【請求項１０】
前記所定のデータが、動きベクトルデータであることを特徴とする請求項９に記載の復号装置。
【請求項１１】
前記判定の結果が前記選択情報の不在を示す場合には前記予測データ候補の中から所定の基準選択方法にて予測データを選択することを特徴とする請求項９又は１０に記載の復号装置。
【請求項１２】
前記所定の基準選択方法とは、前記予測データ候補のメジアンを予測データとして選択することであることを特徴とする請求項１１復号装置。
【請求項１３】
前記判定とは、予測データを選択することによる差分の符号量削減効果の期待値を計算し、前記期待値が所定の閾値以上であれば、選択情報が存在すると判定し、前記期待値が前記所定の閾値未満であれば、選択情報は存在しないと判定することであることを特徴とする請求項９〜１２のいずれかに記載の復号装置。
【請求項１４】
前記期待値とは、前記予測データ候補の偏差の持つ値から、前記偏差と同一オーダーに変換した前記差分の持つ値を減じて得られる値であることを特徴とする請求項１３に記載の復号装置。
【請求項１５】
前記偏差とは、前記基準選択方法により選択された予測データの持つ値と前記予測データから最も離れた予測データ候補の持つ値との差分を符号量に換算した値であることを特徴とする請求項１４に記載の復号装置。
【請求項１６】
前記期待値とは、前記差分に前記予測データ候補を足し合わせて再生データを生成し、前記再生データから再び前記予測データ候補を減ずることで得られる差分の偏差であることを特徴とする請求項１３に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータを予測符号化する符号化装置及び予測符号化された符号化データを復号する復号装置に関するものである。
【背景技術】
【０００２】
近年、映像符号化技術、映像符号化方式の発展はめざましく、なかでも、非特許文献１、２に記載される映像符号化方式は、その符号化効率の高さゆえに、さまざまな用途に幅広く応用されている。
これらの映像符号化方式においては、映像を構成する各静止画像（ピクチャ）を所定サイズ（１６×１６など）のブロックに分割し、前記ブロック単位で画面内予測方式、画面間予測方式と呼ばれる２つの予測方式を適宜切替えて予測符号化を行う。
ここで、予測符号化とは、所定の方法で符号化対象の画像についての予測画像を生成し、前記符号化対象の画像と前記予測画像との差分（差分情報）と、前記予測画像の生成方法についての情報（予測情報）とを符号化することにより、高い符号化効率を実現する符号化方法である。
また、画面内予測方式とは、所定ブロックの符号化の際、前記所定ブロックと同一ピクチャに属するブロックのうち、既に符号化済みのブロックについての再生画像を利用して、前記所定ブロックについての予測画像を生成する予測方式である。
一方、画面間予測方式とは、符号化の際、前記所定ブロックを含むピクチャ以前に符号化されたピクチャの再生画像（参照画像）を利用して、前記所定のブロックについての予測画像を生成する予測方式である。
【０００３】
より具体的には、符号化対象のブロック（ブロック１）の内容が参照画像内の所定位置のブロック（ブロック２）の内容に近い場合、ブロック２からブロック１への平行移動量（動きベクトル）を画面間予測の予測情報とし、ブロック１とブロック２との内容の差分を差分情報として符号化する。
ブロック１の内容に最も近い内容を持つブロック２の位置を参照画像の中から見つけること（動き探索という）が、画面間予測符号化の符号化効率向上の観点で重要になる。
一般に、参照画像と符号化対象の画像の間に大きな変化（シーンチェンジなど）が発生しなければ、画面内予測を用いるより画面間予測を用いた方が高い符号化効率が得られる。
ただ、画面間予測方式における予測情報、すなわち動きベクトル情報は、通常水平方向と垂直方向の２成分を持ち、さらにブロック単位で符号化される。また、映像に動きが少なければ少ないほど、割り当てる符号量が短くなるように符号表が設計されることが多い。そのため、ブロック数が多い場合や動きが激しい場合、その符号量は無視できない。よって、動きベクトル情報についても、所定の方法で予測を行い、得られた予測ベクトル（以下ＰＭＶと呼ぶ）との差分ベクトル（以下ＭＶＤと呼ぶ）のみを符号化することにより、符号量を削減することが一般的である。このような動きベクトルの符号化方法は、非特許文献１、２に記載の映像符号化方式においても採用されている。
【０００４】
図１４は、非特許文献１に記載の映像符号化方式における、ＭＶＤの各成分の可変長符号表の一部である。左の列はＭＶＤの各成分値、中央の列は前記ＭＶＤの各成分値に対応するビット列、右の列は前記ビット列の符号量（ビット数）を表す。本符号表から、ＭＶＤの各成分の絶対値（大きさ）が小さければ小さいほど、ＭＶＤ、ひいては動きベクトルの符号化に掛かるビット数が小さいことが分かる。この関係は、符号表の中身は異なるものの、非特許文献２に記載の映像符号化方式においても成り立っている。また、図１４に示す符号表からは、動きベクトルの大きさが２倍になると、符号量が２ビット増加するという関係性があることも分かる。紙面の都合上示せていないが、この関係性はＭＶＤの大きさが２０より大きいところにおいても常に成り立っている。
また、動きベクトルの予測方法としては、符号化対象のブロックと空間的あるいは時間的に近傍する複数の符号化済みブロックの動きベクトル情報をＰＭＶ候補とし、所定の方法で前記ＰＭＶ候補の中から１つのＰＭＶを選択する、という方法がある。
【０００５】
図１５は、符号化対象ブロックとその空間的近傍のブロックの一例を示すイメージ図である。Ｙ０１を現在の符号化対象ブロックとすると、Ｙ０２は符号化対象ブロックの左（位置Ａと呼ぶ）に位置するブロック、Ｙ０３は符号化対象ブロックの上（位置Ｂ）に位置するブロック、Ｙ０４は符号化対象ブロックの右上（位置Ｃ）に位置するブロックである。ピクチャ内の各ブロックがラスタースキャン順に符号化される場合、ブロックＹ０１の符号化を行う時点で、ブロックＹ０２〜Ｙ０４は、いずれも既に符号化済みである。そのため、これらのブロックについての動きベクトルは、ブロックＹ０１の動きベクトルの符号化におけるＰＭＶ候補として用いることが可能である。
【０００６】
そして、例えば非特許文献１、２に記載の映像符号化方式では、ブロックＹ０２〜Ｙ０４が全て画面間予測符号化されているとき、（例外はあるものの）基本的にこれら３つのブロックの動きベクトルのメジアンが、ブロックＹ０１の動きベクトルの符号化におけるＰＭＶとして選択される。ただし、前記３つのブロックの動きベクトルのうち、１つでも利用できない場合は、そのままではメジアンを求めることはできない。例えば、ブロックＹ０１がピクチャの左端のブロックであった場合、ブロックＹ０１の左に位置するブロックＹ０２は存在しないため、利用できない。このような場合、例えば非特許文献１においては、位置Ａのブロックの動きベクトルをゼロベクトルと仮定することでメジアンを求められるようにしている。一方、前記３つのブロックのうち２つのブロックの動きベクトルが利用できない場合は、残る１つのブロックの動きベクトルをＰＭＶとする。その他にも例外はあるものの、いずれにせよ複数のＰＭＶ候補の中からＰＭＶを特定する方法を示す情報を特に符号化することなく、ＰＭＶ候補の利用可能状況などに応じた固定的な方法によりＰＭＶは選択される。
【０００７】
ここでもし、メジアン固定ではなく、ブロック毎にＭＶＤ最小となるＰＭＶを適切に選択することが出来れば、より効率的に動きベクトル情報を符号化出来ることは言うまでもない。しかし、前記選択のために、画面間予測符号化を行う全てのブロックにＰＭＶの選択情報などを付与して符号化するとなると、それは却って符号化効率を低下させることにもつながりかねない。
【０００８】
このような状況に鑑み、特許文献１においては、動きベクトルの符号化の際、画面間予測符号化を行う全てのブロックに一律でＰＭＶの選択情報を付与するのではなく、ＭＶＤの符号量削減が期待出来るブロックにのみ選択情報を付与する技術が提案されている。
具体的には、ＰＭＶ候補間の分散を求め、その分散値が所定の閾値未満であれば選択情報は付与せず従来どおりメジアンをＰＭＶとして選択し、そうでないときはＭＶＤが最小となるＰＭＶの選択を指示する選択情報を付与して符号化することにより、選択情報による符号量増加を抑えつつ、動きベクトル全体の符号化効率向上を図るという技術である。
なお、前記分散値ＤＩＳは、以下の式によって求められる。
【０００９】
【数１】
2008211697.tif 000003
【００１０】
ここで、Ｎは、ＰＭＶ候補の数で、ＭＶｉ１、ＭＶｉ２は、それぞれＰＭＶ候補の水平成分、垂直成分で、ＭＥＤ１、ＭＥＤ２は、それぞれＰＭＶ候補の水平成分、垂直成分のメジアンである。以下では、Ｎ＝３の場合について考える。
【００１１】
図１６は、３つのＰＭＶ候補から１つのＰＭＶを選択するために付与する選択情報の可変長符号表の例である。選択情報は成分ごとに付与され、３つのＰＭＶ候補のメジアンを選択する場合はビット列「０」、メジアンよりも小さいものを選択する場合はビット列「１０」、メジアンよりも大きいものを選択する場合はビット列「１１」、をＭＶＤとは別に符号化する。
【００１２】
例えば、符号化対象ブロックＹ０１の動きベクトルが（−８、−８）であるとし、近傍ブロックＹ０２、Ｙ０３、Ｙ０４の動きベクトル、すなわちＰＭＶ候補がそれぞれ（−７、−７）、（−４、−４）、（−１、−１）である場合を考える（符号化パターン１）。このとき、ＰＭＶ候補のメジアンは（−４、−４）となり、メジアンをＰＭＶに選択した場合のＭＶＤは（−４、−４）となる。図１４に示す符号表により符号化することを考えると、（−４、−４）というＭＶＤの符号化に掛かるビット数は、各成分ともに７ビットであるため、合計１４ビットとなる。
【００１３】
ここで、仮に前記所定の閾値がＤＩＳ１（４／３＜ＤＩＳ１≦１２）であるとする。符号化パターン１における分散値ＤＩＳは、式（１）より１２と求められるから、ＤＩＳ≧ＤＩＳ１が成り立ち、選択情報の付与によるＰＭＶの選択が可能となる。そこで、ブロックＹ０２の動きベクトル（−７、−７）をＰＭＶとして選択することで、ＭＶＤは（−１、−１）となり、その符号化に掛かるビット数は、図１４に示す符号表から、合計６ビットとなる。しかし、３つのブロックＹ０２〜Ｙ０４のうち、いずれの動きベクトルをＰＭＶとして選択したかを明示するため、成分ごとに選択情報を付与する必要がある。図１６の符号表に従うと、ＰＭＶ（−７、−７）の各成分は、メジアン（−４、−４）と比べていずれも小さいため、２ビットのビット列「１０」を成分ごとに付与することになる。結果、動きベクトルの符号化に掛かるビット数は合計１０ビットとなり、固定的にメジアンをＰＭＶとする場合に掛かる符号量１４ビットと比べて、４ビットの符号を削減できたことになる。
【００１４】
次に、符号化対象ブロックＹ０１の動きベクトルが（−９、−９）であるとし、近傍ブロックＹ０２、Ｙ０３、Ｙ０４の動きベクトル、すなわちＰＭＶ候補がそれぞれ（−５、−５）、（−４、−４）、（−３、−３）である場合を考える（符号化パターン２）。このときもＰＭＶ候補のメジアンは（−４、−４）となり、メジアンをＰＭＶに選択した場合のＭＶＤは（−５、−５）となる。図１４に示す符号表により符号化することを考えると、（−５、−５）というＭＶＤの符号化に掛かるビット数は、各成分ともに７ビットであるため、合計１４ビットとなる。 
符号化パターン２における分散値ＤＩＳは、式（１）より４／３と求められるから、ＤＩＳ＜ＤＩＳ１が成り立ち、選択情報の付与は行われず、固定的にＰＭＶ候補のメジアンがＰＭＶとして選択されることになる。つまり、動きベクトルの符号化に掛かるビット数は依然合計１４ビットのままで、符号量の削減はなされていない。
【００１５】
しかし、仮に符号化パターン２においても選択情報を付与するとすれば、最もＭＶＤの大きさが小さくなる（−５、−５）をＰＭＶとして選択することにより、ＭＶＤは（−４、−４）となる。しかし、その符号化に掛かるビット数は、図１４に示す符号表から、合計１４ビットとなり、固定的にＰＭＶ候補のメジアンをＰＭＶとする場合と比べてなんら符号量の削減はなされていない。それどころか、実際にはＭＶＤの１４ビットに加えてさらに成分ごとに選択情報を付与しなければならないため、動きベクトル全体の符号量は逆に増大してしまう。
つまり、符号化パターン２においては、選択情報を付与せずに、固定的にＰＭＶ候補のメジアンをＰＭＶとして選択する方法が最も動きベクトルの符号化に掛かるビット数を小さくできるのである。
【００１６】
一方、符号化対象ブロックＹ０１の動きベクトルが（−１５、−１５）であるとし、近傍ブロックＹ０２、Ｙ０３、Ｙ０４の動きベクトル、すなわちＰＭＶ候補が符号化パターン１と同様にそれぞれ（−７、−７）、（−４、−４）、（−１、−１）である場合を考える（符号化パターン３）。このときもＰＭＶ候補のメジアンは（−４、−４）となるため、メジアンをＰＭＶに選択した場合のＭＶＤは（−１１、−１１）となる。図１４に示す符号表により符号化することを考えると、（−１１、−１１）というＭＶＤの符号化に掛かるビット数は、各成分ともに９ビットであるため、合計１８ビットとなる。
【００１７】
ＰＭＶ候補の内容は、符号化パターン３においても、符号化パターン１と同じであるから、分散値ＤＩＳの値は１２となる。よって、ＤＩＳ≧ＤＩＳ１が成立し、選択情報を付与してＰＭＶを選択することが可能である。ここで、ＭＶＤの大きさが最小となるＰＭＶの候補は、ブロックＹ０２の動きベクトル（−７、−７）で、このときのＭＶＤは（−８、−８）となり、その符号化に掛かるビット数は、図１４に示す符号表から、合計１８ビットとなる。また、選択されたＰＭＶは符号化パターン１のときと同じなので、成分ごとに２ビットのビット列「１０」が付与される。結果、動きベクトルの符号化に掛かるビット数は合計２２ビットとなり、固定的にメジアンをＰＭＶとする場合に掛かる符号量１８ビットと比べて、逆に４ビット増えたことになる。
【特許文献１】特開平１１−７５１８８
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−１０
【非特許文献２】ＩＳＯ／ＩＥＣ  １４４９６−２
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上の説明から、特許文献１に記載の動きベクトル符号化装置によると、たとえＰＭＶ候補の内容が同一であっても、つまりＰＭＶ候補間の分散が同一であっても、符号化対象の動きベクトルの内容によって、符号量を削減できる場合と、逆に符号量を増大させてしまう場合の両方があることが分かる。
【００１９】
本発明は、このような状況に鑑みてなされたもので、特許文献１に記載される従来技術と比べて、ＰＭＶの選択情報の付与・非付与の判定方法を改善し、符号量が増大するケースを極小化することで、より効率的に動きベクトルを符号化することができる符号化装置を提供すると共にその符号化装置により符号化された動きベクトル符号化データを正しく復号することが出来る復号装置を提供するものである。
【課題を解決するための手段】
【００２０】
上記課題を解決するために、本発明は次の特徴を備えている。すなわち、
本発明は、所定のデータの符号化に際し、既に符号化済みの所定のＭ個（Ｍは２以上の自然数）のデータを予測データ候補とし、前記予測データ候補の中から符号化に用いる予測データを選択し、前記所定のデータと前記予測データとの差分を符号化する符号化装置において、前記所定のデータと前記予測データ候補との差分を求める差分計算部と、前記差分と前記予測データ候補から、予測データの選択情報が存在するか否かを判定する選択情報存在判定部と、前記判定の結果と前記差分から、符号化に用いる予測データを選択する予測データ選択部と、前記所定のデータと前記予測データとの差分を求め、前記差分を符号化する差分符号化部と、前記選択情報が存在する場合には前記選択情報を符号化する選択情報符号化部とを備えることを特徴とする。
【００２１】
本発明は、所定のデータの復号に際し、符号化されている差分を復号し、既に復号済みの所定のＭ個（Ｍは２以上の自然数）のデータを予測データ候補とし、前記予測データ候補の中から符号化に用いる予測データを選択し、前記差分と前記予測データを足し合わせることで前記所定のデータを復号する復号装置において、前記差分を復号する差分復号部と、前記差分と前記予測データ候補から、予測データの選択情報が存在するか否かを判定する選択情報存在判定部と、前記判定の結果が前記選択情報の存在を示す場合には前記選択情報を復号する選択情報復号部とを備えることを特徴とする。
【００２２】
また、本発明は、前記所定のデータが動きベクトルデータであることを特徴とする。
また、本発明は、前記判定の結果が前記選択情報の不在を示す場合には前記予測データ候補の中から所定の基準選択方法にて予測データを選択することを特徴とする。
また、本発明は、前記所定の基準選択方法とは前記予測データ候補のメジアンを予測データとして選択することであることを特徴とする。
また、本発明は、前記判定とは予測データを選択することによる差分の符号量削減効果の期待値を計算し、前記期待値が所定の閾値以上であれば、選択情報が存在すると判定し、前記期待値が前記所定の閾値未満であれば、選択情報は存在しないと判定することであることを特徴とする。
【００２３】
また、本発明は、前記期待値とは前記予測データ候補の偏差の持つ値から、前記偏差と同一オーダーに変換した前記差分の持つ値を減じて得られる値であることを特徴とする。
また、本発明は、前記偏差とは前記基準選択方法により選択された予測データの持つ値と前記予測データから最も離れた予測データ候補の持つ値との差分を符号量に換算した値であることを特徴とする。
また、本発明は、前記期待値とは前記差分に前記予測データ候補を足し合わせて再生データを生成し、前記再生データから再び前記予測データ候補を減ずることで得られる差分の偏差であることを特徴とする。
【発明の効果】
【００２４】
本発明の符号化装置によれば、ＰＭＶの選択情報の付与・非付与の判定において、ＰＭＶ候補だけでなく、さらにＭＶＤ候補の値も利用することで、ＰＭＶを選択することによるＭＶＤの符号量削減効果の期待値をより正確に見積もることが出来るようになり、結果として、動きベクトル全体の符号量を削減出来るようになる。
また、本発明の復号装置によれば、まずＭＶＤを復号し、続いてＰＭＶの選択情報を復号することにより、本発明の符号化装置により効率的に符号化された動きベクトル符号化データを正しく復号することが出来るようになる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明の各実施例での共通部分について、図面を用いて説明する。
図１は、本発明の実施形態における符号化装置の構成の概要を示すブロック図である。
図において、１１は、符号化装置、１２は、動きベクトルを保持するためのメモリ部、１３は、メモリ部１２からＭ個（Ｍ＞１）のＰＭＶ候補を抽出し、各ＰＭＶ候補に所定のインデクスを付与した上で後段に出力する、ＰＭＶ候補抽出部である。ＰＭＶ候補抽出部１３の具体的なインデクスの付与方法の例については後述する。
【００２６】
１４は、動きベクトルとＰＭＶ候補を入力し、差分を計算、ＭＶＤ候補として後段に出力する、ＭＶＤ候補計算部である。動きベクトルの符号化において、ＰＭＶ候補を決定すると、それに対応するＭＶＤ候補も一意に計算される。よって、ＰＭＶ候補を特定することは、すなわち対応するＭＶＤ候補を特定することと等価である。また、その逆も真である。なお、ＭＶＤ候補計算部１４が出力するＭＶＤ候補には、対応するＰＭＶ候補に付与されているインデクスと同一のインデクスが付与されるものとする。
【００２７】
１５は、ＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＭ個のＰＭＶ候補を入力し、ＰＭＶの選択情報を付与するか否かを所定の方法により判定、その判定結果を選択情報付与情報として後段に出力する、ＭＶＤ偏差評価部である。ＭＶＤ偏差評価部１５が出力する選択情報付与情報には、対応するＭＶＤ候補に付与されているインデクスと同一のインデクスが付与されるものとする。つまり、各ＰＭＶ候補と、それに対応するＭＶＤ候補、選択情報付与情報には、それぞれ同一のインデクスが付与されることになる。ＭＶＤ偏差評価部１５は、本発明において中核をなすブロックであるため、後述する各実施例において詳細に説明する。
【００２８】
１６は、Ｍ個のＭＶＤ候補と各ＭＶＤ候補に対応する選択情報付与情報を入力し、所定の方法にて実際の符号化に用いるＰＭＶをＭ個のＰＭＶ候補の中から選択、そのインデクス（使用インデクス）を後段に出力する、インデクス選択部である。前記選択の方法の具体例としては、入力されたＭＶＤ候補と選択情報付与情報から動きベクトルの符号化コストを計算し、前記符号化コストが最小となるＰＭＶ候補をＰＭＶとして選択する方法（ＰＭＶ選択方法１）や、ＰＭＶ候補を抽出したＭ個の符号化済みブロックのうち符号化対象ブロックと画像内容が最も似通っているブロックについての使用インデクスをそのまま符号化対象ブロックについての使用インデクスとする方法（ＰＭＶ選択方法２）などが挙げられるが、動きベクトル情報などの符号化に掛かるビット数を小ならしめることが期待できるその他任意の方法で選択しても構わない。以下では、ＰＭＶ選択方法１によって、ＰＭＶを選択するものとして説明する。ＰＭＶ選択方法１における動きベクトルの符号化コストの具体例としては、動きベクトルの符号化に掛かるビット数や、ＭＶＤの絶対値などが挙げられる。以下では、動きベクトルの符号化コスト＝動きベクトルの符号化に掛かるビット数として説明する。なお、説明を簡単にするため、インデクス選択部１６においては、１つ１つの符号化対象ブロックそれぞれの符号化コストが最小となるようＰＭＶを選択するものとしているが、複数の符号化対象ブロックについての符号化コストの「合計」が最小となるようそれぞれの符号化対象ブロックについてのＰＭＶを選択するようにしてもよい。
【００２９】
１７は、使用インデクスとＭ個のＭＶＤ候補を入力し、その使用インデクスによって指し示されるＭＶＤ候補を正式なＭＶＤとして符号化、その符号化データを後段に出力する、ＭＶＤ符号化部である。１８は、使用インデクスとＭ個の選択情報付与情報を入力し、所定の方法でＰＭＶ選択情報を生成、符号化、その符号化データを後段に出力する、選択情報符号化部である。なお、必要に応じて、選択情報符号化部１８の入力にＭ個のＰＭＶ候補を追加してもよい。
【００３０】
以下、ＭＶＤの符号化データ、または、ＰＭＶの選択情報の符号化データのことを総称して、動きベクトル符号化データと呼ぶ。
また、説明を簡単にするためと、前記従来技術の説明との整合を取るために、Ｍ＝３とし、３つのＰＭＶ候補は、上記非特許文献１、２に記載の映像符号化方式と同様にして選択されるものとする。また、選択情報を付与しない場合に選択されるＰＭＶ（基準ＰＭＶ候補と呼ぶ）は、以下においても、３つのＰＭＶ候補のメジアンであるとするが、固定的に位置Ａについての動きベクトルとするなど、他の方法で基準ＰＭＶ候補を選択しても構わない。
【００３１】
図５は、符号化装置１１が、１つの動きベクトルを符号化する際の動作フローチャートの一例である。
動きベクトルの符号化処理開始後、まず、符号化対象の動きベクトルをメモリ部１２にて保持する（ステップＳ１）。ステップＳ１にて保持される動きベクトルは、後の動きベクトルの符号化においてＰＭＶ候補として参照される。メモリ部１２は、その実現に必要十分な容量を持つものとする。
次に、ＰＭＶ候補抽出部１３にて、メモリ部１２に保持されている既に符号化済みの動きベクトルの中からＰＭＶ候補３つを選択、抽出する（ステップＳ２）。このとき、各ＰＭＶ候補にはインデクスを付与する。例えば、抽出されたＰＭＶ候補のうち、メジアンと等しい値を持つものにはインデクス０、メジアンより小さい値を持つものにはインデクス１、メジアンより大きい値を持つものにはインデクス２、などというように、成分ごとに独立したインデクスの付与を行っておく（インデクス付与方法１）。なお、ＰＭＶの選択が、成分ごとではなく、ベクトルごとに出来れば十分という場合には、必ずしも成分ごとに独立したインデクスを付与する必要はなく、各ＰＭＶ候補について１つのインデクスを付与するようにしてもよい。
【００３２】
図１１は、ベクトルごとにインデクスの付与をする方法の一例を示すイメージ図である。ＰＭＶ候補のうち、水平成分、垂直成分ともに基準ＰＭＶ候補と等しい値を持つものにはインデクス０を付与し、残りの２つのＰＭＶ候補のうち、位置的に左側にあるブロックの動きベクトルにはインデクス１、位置的に右側にあるブロックの動きベクトルにはインデクス２を付与する。図１１に示すインデクスの付与方法を、インデクス付与方法２と命名する。インデクス付与方法２によりインデクスの付与を行うためには、水平成分、垂直成分ともに基準ＰＭＶ候補と等しい値を持つ動きベクトルが、位置Ａ、Ｂ、Ｃのうちのいずれかに存在しなければならない。一方、位置Ａ、Ｂ、Ｃの動きベクトルのうち２つが水平成分、垂直成分がともに基準ＰＭＶ候補と等しい値を持つ場合には、前記２つのＰＭＶ候補にインデクス０を付与し、残る１つのＰＭＶ候補に対し、インデクス１を付与するとよい。
【００３３】
次に、ＭＶＤ候補計算部１４にて、各ＰＭＶ候補に対応したＭＶＤ候補を導出する（ステップＳ３）。
次に、ＭＶＤ偏差評価部１５にて、選択情報の付与がコストに見合うか否かを、各ＭＶＤ候補とＭ個のＰＭＶ候補に対する所定の演算の結果から判定し、選択情報付与情報を生成する（ステップＳ４）。
このように、本発明の符号化装置においては、選択情報の付与・非付与の判定のために、ＰＭＶ候補だけでなく、ＭＶＤを用いる点で前記従来技術と異なっている。選択情報の付与・非付与の判定に、ＭＶＤを用いることの効果については、後述する各実施例において説明する。
なお、選択情報の付与・非付与の判定は、ベクトルごとに行ってもよいし、成分ごとに行ってもよい。前記判定を、ベクトルごとに行う方法を選択情報判定方法１、成分ごとに行う方法を選択情報判定方法２と命名する。以下では、特に記載がない限り、成分ごとに判定する（つまり選択情報判定方法２を採用する）ものとして説明する。
【００３４】
ステップＳ４にて、３つのＭＶＤ候補の各候補についてそれぞれの選択情報付与情報を求めた後、インデクス選択部１６にて、使用インデクスを選択する（ステップＳ５）。使用インデクスの選択についても、ベクトルごと、成分ごとのいずれかで行うことができるが、選択情報の付与・非付与の判定を選択情報判定方法２で行った場合には、使用インデクスの選択をベクトルごとに行うことはできない。なぜなら、一方の成分で選択情報を付与すると判定され、他方の成分で選択情報を付与しないと判定された場合、使用インデクスをベクトルで１つだけ選択することは必ずしもできないためである。前記選択を、ベクトルごとに行う方法をインデクス選択方法１、成分ごとに行う方法をインデクス選択方法２と命名する。以下では、特に記載がない限り、成分ごとに選択する（つまりインデクス選択方法２を採用する）ものとして説明する。なお、インデクス選択部１６の具体的な動作フローの例は、図６を用いて後述する。
【００３５】
次に、ＭＶＤ符号化部１７にて、使用インデクスが指し示すＭＶＤ候補を正式なＭＶＤとして符号化する（ステップＳ６）。
最後に、選択情報符号化部１８にて、使用インデクスが指し示す選択情報付与情報が選択情報を付与することを示している場合のみ、３つのＰＭＶ候補のうちのいずれを正式なＰＭＶとして選んだかを示す選択情報を符号化して（ステップＳ７）、処理を終了する。例えば、インデクス付与方法１に従ってＰＭＶ候補にインデクスが付与されているならば、図１６の符号表を用いて、使用インデクスが０のときはビット列「０」、使用インデクスが１のときはビット列「１０」、使用インデクスが２のときはビット列「１１」、と符号化する（使用インデクス符号化方法１）。
【００３６】
なお、３つのＰＭＶ候補のうち、２つが同値を持つ場合には、必ず前記同値がメジアンとなり、残るＰＭＶ候補は１つしかないため、インデクス１とインデクス２を区別する必要はない。そのため、使用インデクス０のときはビット列「０」、使用インデクス１または２のときはビット列「１」、と符号化することにより、選択情報の符号化に掛かるビット数の期待値をさらに削減することも可能である。
また、３つのＰＭＶ候補全てが一致する場合は、選択情報の符号化そのものが不要となるが、そもそもこの場合、ＭＶＤ偏差評価部１５にて、選択情報そのものを付与する必要がないと判定されるべきであろう。
【００３７】
一方、ＰＭＶ候補が３つ全て存在しない場合を考える。例えば、符号化対象ブロックがピクチャの左端のブロックの場合、位置Ａのブロックは存在せず、ＰＭＶ候補が２つしか利用できない。このような場合、位置Ａのブロックの動きベクトルをゼロベクトルとすることでＰＭＶ候補の数をあくまで３つとして扱うようにしてもよいが、利用できる２つのＰＭＶ候補のうちいずれか一方を基準ＰＭＶ候補とした上で、２つのＰＭＶ候補を区別すべくインデクスを付与し、各インデクスに対応した選択情報を符号化するようにしてもよい。例えば、２つのＰＭＶ候補がそれぞれ属するブロックのうち、左側に位置するブロックについての動きベクトルを基準ＰＭＶ候補とし、前記基準ＰＭＶ候補にはインデクス０、もう一方のＰＭＶ候補にはインデクス１を付与するとした上で（インデクス付与方法３）、使用インデクス０のときはビット列「０」、使用インデクス１のときはビット列「１」、を符号化する方法が考えられる。
【００３８】
図６は、インデクス選択部１６が、３つのＭＶＤ候補と各ＭＶＤ候補に対応する選択情報付与情報を用いて、使用インデクスを選択する際の動作フローチャートの一例である。
処理開始後、まず、最小コスト値をコスト値が取りうる最大値に設定する（ステップＳ１１）。
次に、ループカウンタであるｉを０〜２まで変化させて、ステップＳ１２〜Ｓ１８の処理を繰り返し実行する。
【００３９】
ステップＳ１２では、ｉの値をインデクスに持つ選択情報付与情報が、選択情報の付与・非付与のいずれを示しているかを判定する。
「選択情報を付与」と判定された場合は（ステップＳ１２／ＹＥＳ）、選択情報の符号化に掛かるコスト値を計算し（ステップＳ１３）、後述するステップＳ１６に移行する。
他方、「選択情報を非付与」と判定された場合は（ステップＳ１２／ＮＯ）、ループカウンタｉの値が０か否かを判定する（ステップＳ１４）。
「ｉ＝０」と判定された場合は（ステップＳ１４／ＹＥＳ）、コスト値を０として（ステップＳ１５）、後述するステップＳ１６に移行する。
他方、「ｉ≠０」と判定された場合は（ステップＳ１４／ＮＯ）、１回分のループ処理を完了する。
【００４０】
ステップＳ１６では、ステップＳ１３またはステップＳ１５にて設定されたコスト値に、ＭＶＤの符号化に掛かるコスト値を加算し、最終的に得られたコスト値と最小コスト値とを比較する（ステップＳ１７）。
「コスト値＜最小コスト値」と判定された場合は（ステップＳ１７／ＹＥＳ）、最小コスト値をコスト値にて更新するとともに、最小コスト・インデクスをｉに設定し（ステップＳ１８）、１回分のループ処理を完了する。
他方、「コスト値≧最小コスト値」と判定された場合は（ステップＳ１７／ＮＯ）、１回分のループ処理を完了する。
全てのループ処理が終了すると、その時点での最小コスト・インデクスを使用インデクスとして後段に出力し（ステップＳ１９）、処理を終了する。
以上の流れにより、コスト最小で符号化することが出来るＭＶＤ候補のインデクスを選択できるのである。
【００４１】
ところで、ＭＶＤと対応する選択情報を１本のストリームに多重化して符号化する場合には、ＭＶＤを符号化した後に、対応する選択情報を符号化するようにしなければならない。
なぜなら、このように符号化された動きベクトルの復号時、選択情報が符号化されているか否かを判定するために、ＭＶＤが先に必要となるからである。
【００４２】
図１０には、各ＭＶＤに対応する選択情報を多重化して符号化する際の形式（多重化形式）のいくつかの例を示す。
図１０（Ａ）、（Ｂ）は、選択情報判定方法２、インデクス選択方法２を採用する場合の、ＭＶＤと選択情報の多重化形式の例である。これらの多重化形式においては、ＰＭＶの選択情報が成分ごとに独立して符号化される。また、各成分のＭＶＤを符号化した後に、対応する選択情報が符号化されているのが分かる。
【００４３】
図１０（Ｃ）は、選択情報判定方法２、インデクス選択方法２を採用する場合の、ＭＶＤと選択情報の多重化形式の別の例である。図１０（Ａ）、（Ｂ）に示す多重化形式とは異なり、選択情報の付与に際して、まず、付与しようとする選択情報の水平成分、垂直成分の内容が同一であるか否かを判定し、その旨を同期選択情報として多重化する。前記判定の結果が同一でない場合は、値０の同期選択情報を多重化した上で、図１０（Ａ）と同様に、各成分の選択情報を多重化する（図１０（Ｃ）上）。他方、前記判定の結果が同一である場合は、値１の同期選択情報を多重化した上で、各成分で共通の選択情報を１つだけ多重化する（図１０（Ｃ）下）。
【００４４】
なお、図１０（Ａ）、（Ｃ）については、選択情報判定方法１、インデクス選択方法２を採用する場合の、ＭＶＤと選択情報の多重化形式の例でもある。選択情報判定方法１においては、選択情報の付与・非付与の判定をベクトルごとに行う。そのため、ＭＶＤ偏差評価部１５における選択情報付与・非付与の判定に、ＭＶＤの水平成分、垂直成分の両方を利用可能にするために、ＭＶＤの両成分の後に、ＭＶＤの各成分に対応する選択情報を多重化することが望ましい。
【００４５】
図１０（Ｄ）は、選択情報判定方法１、インデクス選択方法１を採用する場合の、ＭＶＤと選択情報の多重化形式の例である。図１０（Ａ）とは異なり、インデクス選択方法１により、ＰＭＶの選択情報は、ベクトルに１つしか多重化されていない。
なお、選択情報判定方法２、インデクス選択方法１を採用する場合については例示しない。なぜなら、上述のとおり、選択情報の付与・非付与の判定を成分ごとに行うと、使用インデクスの選択をベクトルごとに行うことが必ずしも可能とは限らなくなるため、前記方法の組み合わせが採用されることは実際には起こりえないからである。
【００４６】
実際に使用される、選択情報判定方法、インデクス選択方法、および図１０に示すようなＭＶＤと選択情報の多重化方法を特定するためには、所定時間の映像（シーケンス）やピクチャなどのヘッダに前記各種方法を特定する情報を多重化するとよい。例えば、ピクチャのヘッダに前記情報を多重化する場合は、ピクチャ単位で前記各種方法を切替えることができるようになる。もちろん、逆に使用する前記各種方法を固定化することで、前記情報の多重化を回避しても構わない。
【００４７】
具体的な動きベクトルの復号の流れについては、以下で説明する。
図２は、本発明の実施形態における復号装置の構成の概要を示すブロック図である。
図示の復号装置２１において、符号化装置１１と同一のブロックには、同一符号を付し、その説明は省略する。２２は、動きベクトル符号化データを入力し、ＭＶＤを復号、結果を後段に出力する、ＭＶＤ復号部である。２３は、選択情報付与情報と動きベクトル符号化データを入力として、ＰＭＶを特定するためのインデクスを導出、前記インデクスを後段に出力する、インデクス再生部である。２４は、ＰＭＶ候補とインデクスとＭＶＤを入力とし、動きベクトルを再生し、後段に出力する、動きベクトル再生部である。動きベクトル再生部２４はさらに、再生された動きベクトルをメモリ部１２に保存する。
【００４８】
図７は、復号装置２１が、１つの動きベクトルを復号する際の動作フローチャートの一例である。
動きベクトルの復号処理開始後、まず、ＭＶＤ復号部２２にて、動きベクトル符号化データからＭＶＤを抽出、復号する（ステップＳ２１）。
次に、ＰＭＶ候補抽出部１３にて、メモリ部１２に保持されている既に復号済みの動きベクトルの中からＰＭＶ候補３つを選択、抽出する（ステップＳ２２）。このとき、各ＰＭＶ候補にはインデクスを付与する。前記インデクスの付与の方法は、符号化処理におけるインデクスの付与の方法と同一であるとする。
【００４９】
次に、ＭＶＤ偏差評価部１５にて、ＰＭＶの選択情報が符号化されているか否かを、ステップＳ２１で復号されたＭＶＤとＭ個のＰＭＶ候補に対する所定の演算の結果から判定し、選択情報付与情報を生成する（ステップＳ２３）。なお、前記所定の演算の内容は、符号化時のＭＶＤ偏差評価部１５にて施される演算の内容と同一であるとする。
次に、インデクス再生部２３にて、ＰＭＶ候補を特定するためのインデクスを再生、出力する（ステップＳ２４）。
インデクス再生部２３は、ステップＳ２３にて生成された選択情報付与情報がＰＭＶの選択情報が符号化されていないことを示す場合は、動きベクトル符号化データからは何も読み出さず、無条件でＰＭＶ候補のメジアンを指し示すインデクスを後段に出力する。
【００５０】
一方、前記選択情報付与情報がＰＭＶの選択情報が符号化されていることを示す場合、インデクス再生部２３は、まず動きベクトル符号化データから前記選択情報を読み出す。例えば、前記選択情報が図１６の符号表を用いて符号化されている場合、動きベクトル符号化データからまず１ビット（ビット１）を読み出す。ビット１の内容が「０」の場合、前記選択情報の符号化ビット列を「０」として確定する。他方、ビット１の内容が「１」であった場合には、さらにもう１ビット（ビット２）を読み出し、ビット２の内容に応じて、前記選択情報の符号化ビット列を「１０」または「１１」として確定する。そして、インデクス再生部２３は、読み出された選択情報のビット列に応じて、ＰＭＶ候補を特定するインデクスを再生し、出力する。例えば、符号化装置１１が、インデクス付与方法１に従ってＰＭＶ候補にインデクスを付与していたのであれば、符号化時とは逆に、符号化ビット列「０」はインデクス０、符号化ビット列「１０」はインデクス１、符号化ビット列「１１」はインデクス２、とすることで、符号化時における使用インデクスを再生できることになる。
【００５１】
次に、動きベクトル再生部２４は、インデクス再生部２３が出力するインデクスにより、ＰＭＶ候補抽出部１３が出力するＰＭＶ候補の中から動きベクトルの再生に用いるＰＭＶを特定し、ＭＶＤ復号部２２が出力するＭＶＤに前記ＰＭＶを加算することで、動きベクトルを再生、出力する（ステップＳ２５）。
最後に、ステップＳ２５にて再生された動きベクトルを、以降の動きベクトル再生におけるＰＭＶ候補として再利用するため、メモリ部１２に保持して処理を終了する（ステップＳ２６）。
【００５２】
以下の各実施例においては、ＭＶＤ偏差評価部１５について具体的な動作の例を挙げることにより、符号化装置１１が、如何にして前記従来技術よりも動きベクトルの符号化に掛かるビット数を削減できるかを説明する。また、復号装置２１が、如何にして符号化装置１１が出力する動きベクトル符号化データを正しく復号するのかを説明する。
【００５３】
＜実施例１＞
まず、本発明の実施例１としての符号化装置について説明する。なお、本実施例における符号化装置の構成の概要は図１と同様であり、その動作の概要についても既に説明したとおりなので、ここでは、ＭＶＤ偏差評価部１５の動作の詳細に限って説明を行うこととする。
図３は、上述した符号化装置１１、復号装置２１における、ＭＶＤ偏差評価部１５のより詳細な構成を示すブロック図である。図３において、３１は、Ｍ個のＰＭＶ候補を入力し、所定の方法でＰＭＶ候補の偏差（ＰＭＶ偏差）を計算し、結果を後段に出力する、ＰＭＶ候補偏差計算部である。なお、本発明の記載において「偏差」とは、標準となる数値からのばらつき、のことを指す。ＰＭＶ候補における前記標準とは、例えば、メジアンなどが妥当であろう。３２は、ＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）を入力し、所定の方法でＭＶＤの値をＰＭＶ候補の偏差と同一オーダーの値に変換し、後段に出力する、ＭＶＤ変換部である。以下、変換されたＭＶＤの値を変換ＭＶＤと呼ぶ。３３は、ＰＭＶ偏差と変換ＭＶＤを入力とし、両者の差分を所定の閾値と比較、前記比較結果に基づいて選択情報の付与・非付与を判定し、選択情報付与情報を生成、出力する、比較部である。
【００５４】
図８は、図３に示すＭＶＤ偏差評価部１５が、１つのＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＭ個のＰＭＶ候補から、選択情報の付与・非付与を判定する際の動作フローチャートである。
処理開始後、まず、ＰＭＶ候補偏差計算部３１にて、ＰＭＶ偏差を計算する（ステップＳ３１）。具体的には、ＰＭＶ候補のメジアンと前記メジアンから最も離れたＰＭＶ候補との差分を導出し、前記差分をＭＶＤの符号表で符号化するのに掛かるビット数を以って、ＰＭＶ偏差とする方法などが挙げられる（ＰＭＶ偏差計算方法１）。その他、前記従来技術と同様ＰＭＶ候補の分散、ＰＭＶ候補の標準偏差、ＰＭＶ候補の最大と最小との差分、あるいは前記差分をＭＶＤの符号表で符号化するのに掛かるビット数など、ＰＭＶ候補間のばらつきを表現する値であれば、何をＰＭＶ偏差としても構わない。以下では、ＰＭＶ偏差計算方法１によりＰＭＶ偏差を計算することを前提に説明を行う。
【００５５】
次に、ＭＶＤ変換部３２にて、ＭＶＤをＰＭＶ偏差と同じ単位に変換する（ステップＳ３２）。ＰＭＶ偏差計算方法１によりＰＭＶ偏差を求めるのなら、前記変換とは、すなわち単にＭＶＤの符号化に掛かるビット数を求める、ということと等価である。つまり、ＭＶＤの符号化に掛かるビット数こそが、変換ＭＶＤということになる。
次に、比較部３３にて、ＰＭＶ偏差と変換ＭＶＤの差を求め、所定の閾値ＴＨＲ１以上か否かを判定する（ステップＳ３３）。
前記判定結果が「閾値ＴＨＲ１未満」の場合は（ステップＳ３３／ＮＯ）、選択情報の非付与を示す選択情報付与情報を出力し（ステップＳ３４）、処理を終了する。
他方、前記判定結果が「閾値ＴＨＲ１以上」の場合は（ステップＳ３３／ＹＥＳ）、選択情報の付与を示す選択情報付与情報を出力し（ステップＳ３５）、処理を終了する。
１つの動きベクトルの符号化において、図８に示す動作フローチャートの処理が、３つのＭＶＤ候補それぞれを入力として呼び出される。
【００５６】
ここで、本発明の実施形態として示した符号化装置１１により、実際に動きベクトルを符号化する場合を考える。なお、以下では、閾値ＴＨＲ１の値を「２ビット」として説明する。まず、前記従来技術の説明における符号化パターン１について考える。符号化パターン１においては、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
【００５７】
ＰＭＶ偏差計算方法１によると、ＰＭＶ候補のメジアンは−４、メジアンから最も離れたＰＭＶ候補は−７（あるいは−１）であり、差分は−３（あるいは３）、この差分を図１４に示す符号表で符号化すると５ビット所要するため、ＰＭＶ偏差は「５ビット」となる。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−７、−１である。また、符号化対象の動きベクトルは−８であるから、対応するＭＶＤ候補は、それぞれ−４、−１、−７となる。
【００５８】
インデクス０のＭＶＤ候補「−４」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「７ビット」となる。また、ステップＳ３３の計算結果は−２ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−１」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「３ビット」となる。また、ステップＳ３３の計算結果は２ビット（≧ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−７」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「７ビット」となる。また、ステップＳ３３の計算結果は−２ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
【００５９】
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「１」で、そのときのＭＶＤと選択情報の合計コストは「５ビット」となり、水平、垂直の２成分の合計では「１０ビット」となる。これは、固定的にメジアンをＰＭＶとする場合の「１４ビット」に比べて、前記従来技術と同様「４ビット」の符号量削減効果が得られたことを意味する。
図１２（Ａ）は、符号化パターン１についての動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した場合の動きベクトル符号化データの例である。
【００６０】
次に、前記従来技術の説明における符号化パターン２について考える。
符号化パターン２においては、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
ＰＭＶ偏差計算方法１によると、ＰＭＶ候補のメジアンは−４、メジアンから最も離れたＰＭＶ候補は−５（あるいは−３）であり、差分は−１（あるいは１）、この差分を図１４に示す符号表で符号化すると３ビット所要するため、ＰＭＶ偏差は「３ビット」となる。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−５、−３である。また、符号化対象の動きベクトルは−９であるから、対応するＭＶＤ候補は、それぞれ−５、−４、−６となる。
【００６１】
インデクス０のＭＶＤ候補「−５」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「７ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−４」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「７ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−６」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「７ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
【００６２】
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「０」で、そのときのＭＶＤと選択情報の合計コスト（このケースでは選択情報は０ビット）は「７ビット」となり、水平、垂直の２成分の合計では「１４ビット」となる。これは、固定的にメジアンをＰＭＶとする場合と同じで、前記従来技術とも同じ結果である。
図１２（Ｂ）は、符号化パターン２についての動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した動きベクトルの符号化データの例である。選択情報は付与されないため、ＭＶＤの水平成分、垂直成分のみが多重化されている。
【００６３】
次に、前記従来技術の説明における符号化パターン３について考える。
符号化パターン３においても、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
ＰＭＶ偏差については、ＰＭＶ候補の内容が符号化パターン１と全く同じであるため、「５ビット」となる。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−７、−１である。また、対応するＭＶＤ候補は、それぞれ−１１、−８、−１４となる。
【００６４】
インデクス０のＭＶＤ候補「−１１」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「９ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−８」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「９ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−１４」について、図８に示すフローチャートの処理を呼び出すと、変換ＭＶＤは、図１４に示す符号表より、「９ビット」となる。また、ステップＳ３３の計算結果は−４ビット（＜ＴＨＲ１）となるため、図３のＭＶＤ偏差評価部１５は、選択情報の「非付与」を示す選択情報付与情報を出力する。
【００６５】
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「０」で、そのときのＭＶＤと選択情報の合計コスト（このケースでは選択情報は０ビット）は「９ビット」となり、水平、垂直の２成分の合計では「１８ビット」となる。これは、固定的にメジアンをＰＭＶとする場合と同じ符号量となる。このことは、前記従来技術によると逆に符号量が増大していた問題を解決していることになる。
図１２（Ｃ）は、符号化パターン３についての動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した動きベクトル符号化データの例である。選択情報は付与されないため、ＭＶＤの水平成分、垂直成分のみが多重化されている。
【００６６】
以上、選択情報判定方法２、インデクス選択方法２を採用するケースについて説明してきたが、選択情報の付与・非付与の判定、選択情報の多重化などを、成分単位に行うかベクトル単位に行うか、だけの違いであり、同様の手法を他のパターンに対して適用した場合でも、同様の効果が得られることはいうまでもない。ただし、選択情報の付与・非付与に用いられる閾値ＴＨＲ１の最適な値は、各パターンに応じて異なるため、適切に設定する必要がある。例えば、成分単位で処理する場合と、ベクトル単位で処理する場合では、前者の方が一般的に小さな閾値ＴＨＲ１を設定してやる必要があることはいうまでもない。
【００６７】
なお、いずれの選択情報判定方法、インデクス選択方法を採用する場合であっても、実際に閾値ＴＨＲ１を設定する際には、特定の動きベクトルの符号化パターンでのみ符号化効率向上の効果がある値を設定するのではなく、実際の映像を符号化した際に発生する符号化データをトータルで極小化出来るような値に設定することが望ましい。このような値は、例えば、さまざまな映像について、閾値ＴＨＲ１を変えながら符号化を試行することで特定することが可能である。
【００６８】
以上の説明から、本発明の実施例１に記載の符号化装置によれば、ＰＭＶの選択情報の付与・非付与の判定において、前記従来技術のようにＰＭＶ候補だけを利用するのではなく、さらにＭＶＤ候補の値をも利用することで、ＰＭＶを選択することによるＭＶＤの符号量削減効果の期待値をより正確に見積もることが出来るようになり、結果として、動きベクトル全体の符号量を削減出来るようになる。
【００６９】
＜実施例２＞
次に、本発明の実施例２としての復号装置について説明する。なお、本実施例における復号装置の構成の概要を示すブロック図は、図２に示すとおりであり、また、同復号装置におけるＭＶＤ偏差評価部は図３にそれぞれ示したとおりである。それらの動作の概要についても既述したとおりなので説明は省略し、ここでは、本発明の実施例１に記載の符号化装置によって符号化された図１２に示す動きベクトル符号化データが、本実施例の復号装置によって正しく復号できることを証明する。
【００７０】
まず、図１２（Ａ）で示される動きベクトル符号化データを復号することを考える。復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−１、−１）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−７、−７）、（−１、−１）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
【００７１】
次に、ＭＶＤ偏差評価部１５にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図８に示すフローチャートの処理を呼び出す。ＰＭＶ偏差計算方法１によると得られるＰＭＶ偏差は「５ビット」、図１４に示す符号表によるとＭＶＤ「−１」についての変換ＭＶＤは「３ビット」となり、ＰＭＶ偏差−変換ＭＶＤは、「２ビット」となる。この値を、本発明の実施例１における符号化装置でも用いた閾値ＴＨＲ１＝２ビットと比較すると、ＰＭＶ偏差−変換ＭＶＤ≧閾値ＴＨＲ１、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていると判定される。
【００７２】
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていることが分かったので、図１６に示す符号表から、メジアンより小さいＰＭＶ候補を選択するインデクス、すなわちインデクス１がＰＭＶ候補を特定するインデクスとして得られる。
動きベクトル再生部２４は、インデクス１のＰＭＶ候補「−７」と、ＭＶＤ「−１」とを加算することにより、動きベクトル「−８」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例１に記載の符号化装置が、図１２（Ａ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【００７３】
次に、図１２（Ｂ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−５、−５）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−５、−５）、（−３、−３）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
【００７４】
次に、ＭＶＤ偏差評価部１５にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図８に示すフローチャートの処理を呼び出す。ＰＭＶ偏差計算方法１によると得られるＰＭＶ偏差は「３ビット」、図１４に示す符号表によるとＭＶＤ「−５」についての変換ＭＶＤは「７ビット」となり、ＰＭＶ偏差−変換ＭＶＤは、「−４ビット」となる。この値を、本発明の実施例１における符号化装置でも用いた閾値ＴＨＲ１＝２ビットと比較すると、ＰＭＶ偏差−変換ＭＶＤ＜閾値ＴＨＲ１、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていないと判定される。
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていないことが分かったので、ＰＭＶ候補のメジアンを選択するインデクス０がＰＭＶ候補を特定するインデクスとして得られる。
動きベクトル再生部２４は、インデクス０のＰＭＶ候補「−４」と、ＭＶＤ「−５」とを加算することにより、動きベクトル「−９」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例１に記載の符号化装置が、図１２（Ｂ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【００７５】
次に、図１２（Ｃ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−１１、−１１）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−７、−７）、（−１、−１）となる。
【００７６】
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、ＭＶＤ偏差評価部１５にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図８に示すフローチャートの処理を呼び出す。ＰＭＶ偏差計算方法１によると得られるＰＭＶ偏差は「５ビット」、図１４に示す符号表よるとＭＶＤ「−１１」についての変換ＭＶＤは「９ビット」となり、ＰＭＶ偏差−変換ＭＶＤは、「−４ビット」となる。この値を、本発明の実施例１における符号化装置でも用いた閾値ＴＨＲ１＝２ビットと比較すると、ＰＭＶ偏差−変換ＭＶＤ＜閾値ＴＨＲ１、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていないと判定される。
【００７７】
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていないことが分かったので、ＰＭＶ候補のメジアンを選択するインデクス０がＰＭＶ候補を特定するインデクスとして得られる。
動きベクトル再生部２４は、インデクス０のＰＭＶ候補「−４」と、ＭＶＤ「−１１」とを加算することにより、動きベクトル「−１５」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例１に記載の符号化装置が、図１２（Ｃ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【００７８】
以上の説明から、本発明の実施例２に記載の復号装置によれば、動きベクトルの復号において、最初にＭＶＤの復号を行い、続いてＰＭＶ候補の選択情報を復号することにより、本発明の実施例１に記載の符号化装置により効率的に符号化された動きベクトル符号化データを復号、再生することが出来るようになる。
【００７９】
＜実施例３＞
次に、本発明の実施例３としての符号化装置について説明する。なお、本実施例における符号化装置の構成の概要を示すブロック図は、図１に示すとおりであり、その動作の概要についても既述したとおりなので説明は省略し、ここでは、ＭＶＤ偏差評価部の動作の詳細に限って説明を行うこととする。
図４は、本発明の符号化装置、復号装置における、ＭＶＤ偏差評価部のさらに詳細な別の構成を示すブロック図である。図４において、４１は、ＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＰＭＶ候補を入力し、両者を加算することで再生動きベクトルの候補を生成、後段に出力する、再生ベクトル候補計算部である。再生ベクトル候補計算部４１は、再生動きベクトル候補をメモリ部１２に保存する動作は行わないが、それ以外は復号装置２１における動きベクトル再生部２４と同等の処理を行う。４２は、再生動きベクトル候補とＰＭＶ候補を入力し、両者の差分を再計算ＭＶＤとして計算、後段に出力する、ＭＶＤ再計算部である。４３は、合計Ｍ×Ｍ個の再計算ＭＶＤを入力し、前記再計算ＭＶＤ間の偏差を所定の方法で求め、前記偏差を所定の閾値と比較、前記比較結果に基づいて選択情報の付与・非付与を判定し、選択情報付与情報を生成、出力する、再計算ＭＶＤ偏差評価部である。
【００８０】
図９は、図４に示すＭＶＤ偏差評価部１５′が、１つのＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＭ個のＰＭＶ候補から、選択情報の付与・非付与を判定する際の動作フローチャートである。
処理開始後、ループカウンタであるｉを０〜２まで変化させて、ステップＳ４１〜Ｓ４３を繰り返し実行する（ループ１）。
【００８１】
ステップＳ４１では、再生ベクトル候補計算部４１にて、ｉの値をインデクスに持つＰＭＶ候補であるＰＭＶｉと入力されたＭＶＤとから、再生動きベクトルの候補ＲＭＶｉを求める。次に、ループカウンタであるｊを０〜２まで変化させて、ステップＳ４２の処理を繰り返し実行する（ループ２）。
ステップＳ４２では、ＭＶＤ再計算部４２にて、ステップＳ４１で求めた再生動きベクトルの候補ＲＭＶｉとｊの値をインデクスに持つＰＭＶ候補であるＰＭＶｊとから、再計算ＭＶＤであるＲＭＶＤｉｊを求める。
【００８２】
ループ２の処理が終了すると、次に、再計算ＭＶＤ偏差評価部４３にて、ＲＭＶＤｉ０、ＲＭＶＤｉ１、ＲＭＶＤｉ２の偏差ＤＥＶｉを所定の方法で求める（ステップＳ４３）。前記所定の方法の具体的なものとしては、例えば、ＲＭＶＤｉ０、ＲＭＶＤｉ１、ＲＭＶＤｉ２のメジアンの符号化に掛かるビット数と、ＲＭＶＤｉ０、ＲＭＶＤｉ１、ＲＭＶＤｉ２の符号化に掛かるビット数の最小値との差分を偏差ＤＥＶｉとする方法がある（第１段階偏差計算方法）。その他、ＲＭＶＤｉ０、ＲＭＶＤｉ１、ＲＭＶＤｉ２それぞれの符号化に掛かるビット数の分散、標準偏差、または最大値−最小値などを偏差ＤＥＶｉとしてもよい。以下では、偏差ＤＥＶｉの計算に前記第１段階再計算ＭＶＤ偏差計算方法を用いるものとして説明する。
このようなステップＳ４１〜Ｓ４３で構成されるループ１の処理が終了すると、偏差ＤＥＶ０、ＤＥＶ１、ＤＥＶ２が得られることになる。
【００８３】
次に、同じく再計算ＭＶＤ偏差評価部４３にて、これらＤＥＶ０、ＤＥＶ１、ＤＥＶ２の間の偏差ＤＥＶＡＬＬを所定の方法で求め、前記偏差ＤＥＶＡＬＬが所定の閾値ＴＨＲ３以上か否かを判定する（ステップＳ４４）。ここで、前記所定の方法の具体的なものとしては、ＤＥＶ０、ＤＥＶ１、ＤＥＶ２の最大値を偏差ＤＥＶＡＬＬとする方法がある（第２段階偏差計算方法）。その他、各ＤＥＶｉの分散、標準偏差、最大値−最小値などを偏差ＤＥＶＡＬＬとしてもよい。以下では、偏差ＤＥＶＡＬＬの計算に前記第２段階偏差計算方法を用いるものとして説明する。
【００８４】
前記判定結果が「閾値ＴＨＲ３未満」の場合は（ステップＳ４４／ＮＯ）、選択情報の非付与を示す選択情報付与情報を出力し（ステップＳ４５）、処理を終了する。
他方、前記判定結果が「閾値ＴＨＲ３以上」の場合は（ステップＳ４４／ＹＥＳ）、選択情報の付与を示す選択情報付与情報を出力し（ステップＳ４６）、処理を終了する。
１つの動きベクトルの符号化において、図９に示す動作フローチャートの処理が、３つのＭＶＤ候補それぞれを入力として呼び出される。
【００８５】
ここで、本発明の実施例３に記載の符号化装置により、実際に動きベクトルを符号化する場合を考える。なお、以下では、閾値ＴＨＲ３の値を「４ビット」として説明する。
まず、前記従来技術の説明における符号化パターン１について考える。
符号化パターン１においては、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
【００８６】
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−７、−１である。また、対応するＭＶＤ候補は、それぞれ−４、−１、−７となる。
インデクス０のＭＶＤ候補「−４」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【００８７】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−４）＝−８
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−８）−（−１）＝−７
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ０１の符号量）
＝７ビット−３ビット＝４ビット
【００８８】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−４）＝−１１
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１１）−（−４）＝−７
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１１）−（−７）＝−４
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１１）−（−１）＝−１０
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１の符号量）
＝７ビット−７ビット＝０ビット
【００８９】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−４）＝−５
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−５）−（−４）＝−１
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−５）−（−７）＝２
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−５）−（−１）＝−４
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０の符号量）
＝３ビット−３ビット＝０ビット
【００９０】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、４ビット、０ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
【００９１】
インデクス１のＭＶＤ候補「−１」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【００９２】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１）＝−５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−５）−（−４）＝−１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−５）−（−７）＝２
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−５）−（−１）＝−４
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００の符号量）
＝３ビット−３ビット＝０ビット
【００９３】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１）＝−８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−８）−（−１）＝−７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝７ビット−３ビット＝４ビット
【００９４】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−１）＝−２
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−２）−（−４）＝２
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−２）−（−７）＝５
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−２）−（−１）＝−１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２２の符号量）
＝５ビット−３ビット＝２ビット
【００９５】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、４ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
【００９６】
インデクス２のＭＶＤ候補「−７」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【００９７】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−７）＝−１１
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１１）−（−４）＝−７
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１１）−（−７）＝−４
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１１）−（−１）＝−１０
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１の符号量）
＝７ビット−７ビット＝０ビット
【００９８】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−７）＝−１４
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１４）−（−４）＝−１０
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１４）−（−７）＝−７
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１４）−（−１）＝−１３
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝９ビット−７ビット＝２ビット
【００９９】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−７）＝−８
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−８）−（−１）＝−７
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝７ビット−３ビット＝４ビット
【０１００】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、２ビット、４ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「１」で、そのときのＭＶＤと選択情報の合計コストは「５ビット」となり、水平、垂直の２成分の合計では「１０ビット」となる。これは、固定的にメジアンをＰＭＶとする場合と比べて、前記従来技術と同様「４ビット」の符号量削減効果があることが分かる。
本発明の実施例１に記載の符号化装置同様、図１２（Ａ）が、符号化パターン１についての動きベクトル符号化データである（多重化形式が図１０（Ａ）の場合）。
【０１０１】
次に、前記従来技術の説明における符号化パターン２について考える。符号化パターン２においても、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−５、−３である。また、対応するＭＶＤ候補は、それぞれ−５、−４、−６となる。
インデクス０のＭＶＤ候補「−５」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１０２】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−５）＝−９
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−９）−（−４）＝−５
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−９）−（−５）＝−４
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−９）−（−３）＝−６
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１、０２の符号量）
＝７ビット−７ビット＝０ビット
【０１０３】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−５）＋（−５）＝−１０
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１０）−（−４）＝−６
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１０）−（−５）＝−５
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１０）−（−３）＝−７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１、１２の符号量）
＝７ビット−７ビット＝０ビット
【０１０４】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−３）＋（−５）＝−８
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−８）−（−５）＝−３
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−８）−（−３）＝−５
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝７ビット−５ビット＝２ビット
【０１０５】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−４」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１０６】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−４）＝−８
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−８）−（−５）＝−３
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−８）−（−３）＝−５
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ０１の符号量）
＝７ビット−５ビット＝２ビット
【０１０７】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−５）＋（−４）＝−９
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−９）−（−４）＝−５
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−９）−（−５）＝−４
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−９）−（−３）＝−６
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１、１２の符号量）
＝７ビット−７ビット＝０ビット
【０１０８】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−３）＋（−４）＝−７
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−７）−（−４）＝−３
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−７）−（−５）＝−２
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−７）−（−３）＝−４
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０、２１の符号量）
＝５ビット−５ビット＝０ビット
【０１０９】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、２ビット、０ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−６」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１１０】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−６）＝−１０
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１０）−（−４）＝−６
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１０）−（−５）＝−５
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１０）−（−３）＝−７
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１、０２の符号量）
＝７ビット−７ビット＝０ビット
【０１１１】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−５）＋（−６）＝−１１
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１１）−（−４）＝−７
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１１）−（−５）＝−６
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１１）−（−３）＝−８
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１の符号量）
＝７ビット−７ビット＝０ビット
【０１１２】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−３）＋（−６）＝−９
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−９）−（−４）＝−５
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−９）−（−５）＝−４
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−９）−（−３）＝−６
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０、２１、２２の符号量）
＝７ビット−７ビット＝０ビット
【０１１３】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、０ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「０ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
【０１１４】
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「０」で、そのときのＭＶＤと選択情報の合計コスト（このケースでは選択情報は０ビット）は「７ビット」となり、水平、垂直の２成分の合計では「１４ビット」となる。これは、固定的にメジアンをＰＭＶとする場合と同じで、前記従来技術とも同じ結果である。
本発明の実施例１に記載の符号化装置同様、図１２（Ｂ）が、符号化パターン２についての動きベクトル符号化データである（多重化形式が図１０（Ａ）の場合）。
【０１１５】
次に、前記従来技術の説明における符号化パターン３について考える。符号化パターン３においても、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−７、−１である。また、対応するＭＶＤ候補は、それぞれ−１１、−８、−１４となる。
インデクス０のＭＶＤ候補「−１１」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１１６】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１１）＝−１５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１５）−（−４）＝−１１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１５）−（−７）＝−８
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１５）−（−１）＝−１４
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１、０２の符号量）
＝９ビット−９ビット＝０ビット
【０１１７】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１１）＝−１８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１８）−（−４）＝−１４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１８）−（−７）＝−１１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１８）−（−１）＝−１７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１の符号量）
＝９ビット−９ビット＝０ビット
【０１１８】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−１１）＝−１２
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−１２）−（−４）＝−８
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−１２）−（−７）＝−５
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−１２）−（−１）＝−１１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝９ビット−７ビット＝２ビット
【０１１９】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−８」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１２０】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−８）＝−１２
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１２）−（−４）＝−８
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１２）−（−７）＝−５
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１２）−（−１）＝−１１
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ０１の符号量）
＝９ビット−７ビット＝２ビット
【０１２１】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−８）＝−１５
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１５）−（−４）＝−１１
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１５）−（−７）＝−８
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１５）−（−１）＝−１４
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１、１２の符号量）
＝９ビット−９ビット＝０ビット
【０１２２】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−８）＝−９
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−９）−（−４）＝−５
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−９）−（−７）＝−２
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−９）−（−１）＝−８
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝７ビット−５ビット＝２ビット
【０１２３】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、２ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−１４」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１２４】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１４）＝−１８
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１８）−（−４）＝−１４
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１８）−（−７）＝−１１
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１８）−（−１）＝−１７
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１の符号量）
＝９ビット−９ビット＝０ビット
【０１２５】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１４）＝−２１
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−２１）−（−４）＝−１７
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−２１）−（−７）＝−１４
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−２１）−（−１）＝−２０
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝１１ビット−９ビット＝２ビット
【０１２６】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−１４）＝−１５
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−１５）−（−４）＝−１１
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−１５）−（−７）＝−８
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−１５）−（−１）＝−１４
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０、２１、２２の符号量）
＝９ビット−９ビット＝０ビット
【０１２７】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、２ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「非付与」を示す選択情報付与情報を出力する。
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「０」で、そのときのＭＶＤと選択情報の合計コスト（このケースでは選択情報は０ビット）は「９ビット」となり、水平、垂直の２成分の合計では「１８ビット」となる。これは、固定的にメジアンをＰＭＶとする場合と同じ符号量となる。このことは、前記従来技術によると逆に符号量が増大していた問題を解決していることになる。
本発明の実施例１に記載の符号化装置同様、図１２（Ｃ）が、符号化パターン３についての動きベクトル符号化データである（多重化形式が図１０（Ａ）の場合）。
【０１２８】
最後に、符号化対象ブロックの動きベクトルを（−８、−８）であるとし、３つのＰＭＶ候補がそれぞれ（−７、−７）、（−４、−４）、（−２、−２）である場合を考える（符号化パターン４）。
符号化パターン４においても、符号化対象の動きベクトル、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
インデクス付与方法１に従って、ＰＭＶ候補にインデクスが付与されているとするなら、インデクス０、１、２のＰＭＶ候補は、それぞれ−４、−７、−２である。また、対応するＭＶＤ候補は、それぞれ−４、−１、−６となる。
インデクス０のＭＶＤ候補「−４」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１２９】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−４）＝−８
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−８）−（−２）＝−６
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ０１の符号量）
＝７ビット−３ビット＝４ビット
【０１３０】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−４）＝−１１
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１１）−（−４）＝−７
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１１）−（−７）＝−４
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１１）−（−２）＝−９
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１の符号量）
＝７ビット−７ビット＝０ビット
【０１３１】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−２）＋（−４）＝−６
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−６）−（−４）＝−２
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−６）−（−７）＝１
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−６）−（−２）＝−４
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝５ビット−３ビット＝２ビット
【０１３２】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、４ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
インデクス１のＭＶＤ候補「−１」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１３３】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１）＝−５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−５）−（−４）＝−１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−５）−（−７）＝２
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−５）−（−２）＝−３
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００の符号量）
＝３ビット−３ビット＝０ビット
【０１３４】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１）＝−８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−８）−（−２）＝−６
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝７ビット−３ビット＝４ビット
【０１３５】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−２）＋（−１）＝−３
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−３）−（−４）＝１
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−３）−（−７）＝４
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−３）−（−２）＝−１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０、２２の符号量）
＝３ビット−３ビット＝０ビット
【０１３６】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、４ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
インデクス２のＭＶＤ候補「−６」について、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１３７】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−６）＝−１０
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１０）−（−４）＝−６
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１０）−（−７）＝−３
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１０）−（−２）＝−８
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ０１の符号量）
＝７ビット−５ビット＝２ビット
【０１３８】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−６）＝−１３
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１３）−（−４）＝−９
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１３）−（−７）＝−６
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１３）−（−２）＝−１１
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝９ビット−７ビット＝２ビット
【０１３９】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−２）＋（−６）＝−８
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−８）−（−２）＝−６
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝７ビット−３ビット＝４ビット
【０１４０】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、２ビット、２ビット、４ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３となり、図４のＭＶＤ偏差評価部１５′は、選択情報の「付与」を示す選択情報付与情報を出力する。
上記の結果を受けて、図６に示すフローチャートの処理を、コスト＝符号化に掛かるビット数、として呼び出すと、使用インデクスは「１」で、そのときのＭＶＤと選択情報の合計コストは「５ビット」となり、水平、垂直の２成分の合計では「１０ビット」となる。
図１３（Ａ）は、符号化パターン４についての動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した場合の動きベクトル符号化データの例である。
【０１４１】
ところで、符号化パターン４についての計算過程においては、任意のｉ（＝０〜２）に対して、
（ＲＭＶＤｉ２の符号量）≧（ＲＭＶＤｉ０の符号量）・・・（２）
が常に成立している。
そして、式（２）が成立するということは、符号化パターン４に示す動きベクトルの符号化において、インデクス２が使用インデクスとして選択される可能性はないと判断してよい、ということを意味するのである。その理由を以下に説明する。
【０１４２】
使用インデクスとは、符号化コスト、例えばＭＶＤと選択情報の合計符号量を最小とするようなインデクスであり、インデクス０が使用インデクスであると仮定したときの符号量ＢＩＴＳ０は、
ＢＩＴＳ０＝（ＲＭＶＤｉ０の符号量）＋（０または１ビット）・・・（３）
となる。
一方、インデクス２が使用インデクスであると仮定したときの符号量ＢＩＴＳ２は、
ＢＩＴＳ２＝（ＲＭＶＤｉ２の符号量）＋（２ビット）・・・（４）
となる。ここで、式（２）〜（４）から、
ＢＩＴＳ２＞ＢＩＴＳ０・・・（５）
が常に真となることが分かる。
【０１４３】
式（５）で示される結果は、インデクス０を選択する方が、インデクス２を選択するよりも常に符号化コストが小さくなることを表し、ひいては使用インデクスが２となる可能性がないことを意味するのである。
つまり、符号化パターン４においては、インデクス０とインデクス１のみが区別できればよいため、例えば使用インデクスが０のときのビット列を「０」、使用インデクスが１のときのビット列を「１」、として符号化するならば、使用インデクスが「１」の場合の動きベクトルの符号化に掛かるビット数は成分ごとにさらに１ビットずつ削減することができ、結果、水平、垂直の２成分の合計で「８ビット」とすることができるのである。
図１３（Ｂ）は、このときの動きベクトル符号化データを図１０（Ａ）に示す多重化形式で出力した場合の例である。
【０１４４】
なお、上記のような選択情報の符号量削減方法が使えるか否かは、
・使用インデクスを「１」とするとき、式（２）が任意のｉについて成立する。
・使用インデクスを「２」とするとき、以下の式が任意のｉについて成立する。
（ＲＭＶＤｉ１の符号量）≧（ＲＭＶＤｉ０の符号量）・・・（６）
のいずれかが成り立つか否かで判断できる。これらのいずれも成立しない場合には、依然としてインデクス１とインデクス２を区別して選択情報を符号化しなければならない。
【０１４５】
以上、選択情報判定方法２、インデクス選択方法２を採用するケースについて説明してきたが、選択情報の付与・非付与の判定、選択情報の多重化などを、成分単位に行うか、ベクトル単位に行うか、だけの違いであり、同様の手法を他のパターンに対して適用した場合でも、同様の効果が得られることはいうまでもない。ただし、選択情報の付与・非付与に用いられる閾値ＴＨＲ３の最適な値は、各パターンに応じて異なるため、適切に変更する必要がある。例えば、成分単位で処理する場合と、ベクトル単位で処理する場合では、前者の方が一般的に小さな閾値ＴＨＲ３を設定してやる必要があることはいうまでもない。
【０１４６】
なお、いずれの選択情報判定方法、インデクス選択方法を採用する場合であっても、実際に閾値ＴＨＲ３を設定する際には、特定の動きベクトルの符号化パターンでのみ符号化効率向上の効果がある値を設定するのではなく、実際の映像を符号化した際に発生する符号化データをトータルで極小化出来るような値に設定することが望ましい。このような値は、例えば、さまざまな映像について、閾値ＴＨＲ３を変えながら符号化を試行することで特定することが可能である。
【０１４７】
以上の説明から、本発明の実施例３に記載の符号化装置によれば、ＰＭＶの選択情報の付与・非付与の判定において、前記従来技術のようにＰＭＶ候補だけを利用するのではなく、さらにＭＶＤ候補の値をも利用することで、ＰＭＶを選択することによるＭＶＤの符号量削減効果の期待値をより正確に見積もることが出来るようになり、結果として、動きベクトル全体の符号量を削減出来るようになる。
【０１４８】
＜実施例４＞
次に、本発明の実施例４としての復号装置について説明する。なお、本実施例における復号装置の構成の概要を示すブロック図は図２に示すとおりであり、また、本発明の実施例３に記載の符号化装置及び本実施例の復号装置におけるＭＶＤ偏差評価部１５′の詳細な構成を示すブロック図は、図４に示すとおりである。
図２に示した復号装置２１および図４に示したＭＶＤ偏差評価部１５′の動作については、既述したとおりなので説明は省略し、ここでは、本発明の実施例３に記載の符号化装置によって符号化された図１２に示す動きベクトル符号化データが、本実施例の復号装置によって正しく復号できることを証明する。
【０１４９】
まず、図１２（Ａ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−１、−１）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−７、−７）、（−１、−１）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、ＭＶＤ偏差評価部１５′にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１５０】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１）＝−５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−５）−（−４）＝−１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−５）−（−７）＝２
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−５）−（−１）＝−４
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００の符号量）
＝３ビット−３ビット＝０ビット
【０１５１】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１）＝−８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−８）−（−１）＝−７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝７ビット−３ビット＝４ビット
【０１５２】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−１）＝−２
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−２）−（−４）＝２
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−２）−（−７）＝５
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−２）−（−１）＝−１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２２の符号量）
＝５ビット−３ビット＝２ビット
【０１５３】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、４ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていると判定される。
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていることが分かったので、図１６に示す符号表から、水平成分、垂直成分ともに、メジアンより小さいＰＭＶ候補を選択するインデクス、すなわちインデクス１がＰＭＶ候補を特定するインデクスとして得られる。
動きベクトル再生部２４は、インデクス１のＰＭＶ候補「−７」と、ＭＶＤ「−１」とを加算することにより、動きベクトル「−８」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例３に記載の符号化装置が、図１２（Ａ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【０１５４】
次に、図１２（Ｂ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−５、−５）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−５、−５）、（−３、−３）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、ＭＶＤ偏差評価部１５′にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１５５】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−５）＝−９
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−９）−（−４）＝−５
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−９）−（−５）＝−４
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−９）−（−３）＝−６
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１、０２の符号量）
＝７ビット−７ビット＝０ビット
【０１５６】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−５）＋（−５）＝−１０
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１０）−（−４）＝−６
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１０）−（−５）＝−５
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１０）−（−３）＝−７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１、１２の符号量）
＝７ビット−７ビット＝０ビット
【０１５７】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−３）＋（−５）＝−８
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−８）−（−５）＝−３
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−８）−（−３）＝−５
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝７ビット−５ビット＝２ビット
【０１５８】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていないと判定される。
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていないことが分かったので、ＰＭＶ候補のメジアンを選択するインデクス０がＰＭＶ候補を特定するインデクスとして得られる。
動きベクトル再生部２４は、インデクス０のＰＭＶ候補「−４」と、ＭＶＤ「−５」とを加算することにより、動きベクトル「−９」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例３に記載の符号化装置が、図１２（Ｂ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【０１５９】
次に、図１２（Ｃ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−１１、−１１）が得られる。
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−７、−７）、（−１、−１）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、ＭＶＤ偏差評価部１５′にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１６０】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１１）＝−１５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−１５）−（−４）＝−１１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−１５）−（−７）＝−８
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−１５）−（−１）＝−１４
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００、０１、０２の符号量）
＝９ビット−９ビット＝０ビット
【０１６１】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１１）＝−１８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−１８）−（−４）＝−１４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−１８）−（−７）＝−１１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−１８）−（−１）＝−１７
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１０、１１の符号量）
＝９ビット−９ビット＝０ビット
【０１６２】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−１）＋（−１１）＝−１２
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−１２）−（−４）＝−８
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−１２）−（−７）＝−５
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−１２）−（−１）＝−１１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２１の符号量）
＝９ビット−７ビット＝２ビット
【０１６３】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、０ビット、２ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「２ビット」となる。よって、偏差ＤＥＶＡＬＬ＜閾値ＴＨＲ３、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていないと判定される。
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていないことが分かったので、ＰＭＶ候補のメジアンを選択するインデクス０がＰＭＶ候補を特定するインデクスとして得られる。
【０１６４】
動きベクトル再生部２４は、インデクス０のＰＭＶ候補「−４」と、ＭＶＤ「−１１」とを加算することにより、動きベクトル「−１５」（水平成分、垂直成分とも）を再生する。この再生された動きベクトルは、本発明の実施例３に記載の符号化装置が、図１２（Ｃ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
なお、図１３（Ａ）で示される動きベクトル符号化データについては、図１２（Ａ）で示される動きベクトル符号化データとほぼ同様にして復号できるため、説明を省略する。
最後に、図１３（Ｂ）で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、ＭＶＤ復号部２２にて、ＭＶＤの水平成分、垂直成分を復号する。復号に際しては、図１４に示す符号表を用いる。すると、ＭＶＤ（−１、−１）が得られる。
【０１６５】
次に、ＰＭＶ候補抽出部１３にて、ＰＭＶ候補３つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法１に従ってインデクス０、１、２が付与されるＰＭＶ候補はそれぞれ（−４、−４）、（−７、−７）、（−２、−２）となる。
ここで、ＭＶＤ、各ＰＭＶ候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、ＭＶＤ偏差評価部１５′にて、上記ＰＭＶ候補と上記ＭＶＤを用いて、図９に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
【０１６６】
ＲＭＶ０＝ＰＭＶ０＋ＭＶＤ＝（−４）＋（−１）＝−５
ＲＭＶＤ００＝ＲＭＶ０−ＰＭＶ０＝（−５）−（−４）＝−１
ＲＭＶＤ０１＝ＲＭＶ０−ＰＭＶ１＝（−５）−（−７）＝２
ＲＭＶＤ０２＝ＲＭＶ０−ＰＭＶ２＝（−５）−（−２）＝−３
ＤＥＶ０＝（ＲＭＶＤ０ｊのメジアンの符号量）
−（ＲＭＶＤ０ｊの最小の符号量）
＝（ＲＭＶＤ００の符号量）−（ＲＭＶＤ００の符号量）
＝３ビット−３ビット＝０ビット
【０１６７】
ＲＭＶ１＝ＰＭＶ１＋ＭＶＤ＝（−７）＋（−１）＝−８
ＲＭＶＤ１０＝ＲＭＶ１−ＰＭＶ０＝（−８）−（−４）＝−４
ＲＭＶＤ１１＝ＲＭＶ１−ＰＭＶ１＝（−８）−（−７）＝−１
ＲＭＶＤ１２＝ＲＭＶ１−ＰＭＶ２＝（−８）−（−２）＝−６
ＤＥＶ１＝（ＲＭＶＤ１ｊのメジアンの符号量）
−（ＲＭＶＤ１ｊの最小の符号量）
＝（ＲＭＶＤ１０の符号量）−（ＲＭＶＤ１１の符号量）
＝７ビット−３ビット＝４ビット
【０１６８】
ＲＭＶ２＝ＰＭＶ２＋ＭＶＤ＝（−２）＋（−１）＝−３
ＲＭＶＤ２０＝ＲＭＶ２−ＰＭＶ０＝（−３）−（−４）＝１
ＲＭＶＤ２１＝ＲＭＶ２−ＰＭＶ１＝（−３）−（−７）＝４
ＲＭＶＤ２２＝ＲＭＶ２−ＰＭＶ２＝（−３）−（−２）＝−１
ＤＥＶ２＝（ＲＭＶＤ２ｊのメジアンの符号量）
−（ＲＭＶＤ２ｊの最小の符号量）
＝（ＲＭＶＤ２０の符号量）−（ＲＭＶＤ２０、２２の符号量）
＝３ビット−３ビット＝０ビット
【０１６９】
結果、偏差ＤＥＶ０、１、２の値は、それぞれ、０ビット、４ビット、０ビットとなり、これらの最大値である偏差ＤＥＶＡＬＬは「４ビット」となる。よって、偏差ＤＥＶＡＬＬ≧閾値ＴＨＲ３、が成立し、結果、ＰＭＶ候補を選択する選択情報は符号化されていると判定される。
次に、インデクス再生部２３にて、インデクスを再生する。前記判定において、ＰＭＶ候補を選択する選択情報が符号化されていることが分かったので、まず１ビットだけを復号する。復号されたビット列の内容は「１」であるため、次に前記式（２）あるいは前記式（６）が成立するか否かを判定する。結果、式（２）のみが成立すると判定されるため、インデクス２が選択される可能性はない。よって、これ以上ビット列を読み出す必要はなく、インデクス１がＰＭＶ候補を特定するインデクスとして確定する。全く同じ処理が、水平、垂直の２成分に対して行われる。
動きベクトル再生部２４は、インデクス１のＰＭＶ候補「−７」と、ＭＶＤ「−１」とを加算することにより、動きベクトル「−８」（水平成分、垂直成分とも）を再生する。
この再生された動きベクトルは、本発明の実施例３に記載の符号化装置が、図１３（Ｂ）に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
【０１７０】
以上の説明から、本発明の実施例４に記載の復号装置によれば、動きベクトルの復号において、最初にＭＶＤの復号を行い、続いてＰＭＶ候補の選択情報を復号することにより、本発明の実施例３に記載の符号化装置により効率的に符号化された動きベクトル符号化データを復号、再生することが出来るようになる。
【図面の簡単な説明】
【０１７１】
【図１】本発明の実施形態における符号化装置の構成の概要を示すブロック図である。
【図２】本発明の実施形態における復号装置の構成の概要を示すブロック図である。
【図３】本発明の実施形態において、実施例１として示した符号化装置及び実施例２として示した復号装置におけるＭＶＤ偏差評価部の詳細な構成を示すブロック図である。
【図４】本発明の実施形態において、実施例３として示した符号化装置及び実施例４として示した復号装置におけるＭＶＤ偏差評価部の詳細な別の構成を示すブロック図である。
【図５】本発明の実施形態における符号化装置が、１つの動きベクトルを符号化する際の動作フローチャートの一例を示す図である。
【図６】本発明の実施形態におけるインデクス選択部が、３つのＭＶＤ候補と各ＭＶＤ候補に対応する選択情報付与情報を用いて、使用インデクスを選択する際の動作フローチャートの一例を示す図である。
【図７】本発明の実施形態における復号装置が、１つの動きベクトルを復号する際の動作フローチャートの一例を示す図である。
【図８】図３に示すＭＶＤ偏差評価部が、１つのＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＭ個のＰＭＶ候補から、選択情報の付与・非付与を判定する際の動作フローチャートの一例を示す図である。
【図９】図４に示すＭＶＤ偏差評価部が、１つのＭＶＤ候補（復号時は「候補」ではなく正式なＭＶＤ）とＭ個のＰＭＶ候補から、選択情報の付与・非付与を判定する際の動作フローチャートの一例を示す図である。
【図１０】ＭＶＤと対応する選択情報を多重化して符号化する際の形式（多重化形式）の例を示す図である。
【図１１】ベクトルごとにインデクスの付与をする方法の一例を示すイメージ図である。
【図１２】動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した場合の動きベクトル符号化データの例を示す図である。
【図１３】動きベクトル符号化において、図１０（Ａ）に示す多重化形式で出力した場合の動きベクトル符号化データの別の例を示す図である。
【図１４】非特許文献１に記載の映像符号化方式における、ＭＶＤの各成分の可変長符号表の一部を示す図である。
【図１５】符号化対象ブロックとその空間的近傍のブロックの一例を示すイメージ図である。
【図１６】３つのＰＭＶ候補から１つのＰＭＶを選択するために付与する選択情報の可変長符号表の例を示す図である。
【符号の説明】
【０１７２】
１１…符号化装置、１２…メモリ部、１３…ＰＭＶ候補抽出部、１４…ＭＶＤ候補計算部、１５，１５′…ＭＶＤ偏差評価部、１６…インデクス選択部、１７…ＭＶＤ符号化部、１１８…選択情報符号化部、２１…復号装置、２２…ＭＶＤ復号部、２３…インデクス再生部、２４…動きベクトル再生部、３１…ＰＭＶ候補偏差計算部、３２…ＭＶＤ変換部、３３…比較部、４１…再生ベクトル候補計算部、４２…ＭＶＤ再計算部、４３…再計算ＭＶＤ偏差評価部。
【図１】
2008211697.tif 000004
【図２】
2008211697.tif 000005
【図３】
2008211697.tif 000006
【図４】
2008211697.tif 000007
【図５】
2008211697.tif 000008
【図６】
2008211697.tif 000009
【図７】
2008211697.tif 000010
【図８】
2008211697.tif 000011
【図９】
2008211697.tif 000012
【図１０】
2008211697.tif 000013
【図１１】
2008211697.tif 000014
【図１２】
2008211697.tif 000015
【図１３】
2008211697.tif 000016
【図１４】
2008211697.tif 000017
【図１５】
2008211697.tif 000018
【図１６】
2008211697.tif 000019