(57)【要約】【課題】  符号化及び復号化の情報圧縮の効率向上を図る。【解決手段】  動画像符号化装置１０は、フレーム画像信号の時間系列で構成される入力動画像信号を複数のブロックに分割するブロック分割器１０１と、対象ブロックに対する第１動きベクトルを検出する第１動きベクトル検出器１０３と、対象ブロックに対する予測信号を生成する予測信号生成器１０７と、対象ブロックの残差信号を生成する減算器１０８と、残差信号及び第１動きベクトルを符号化して圧縮データを生成する符号化手段１０９，１１０，１１６とを備える。また、動画像符号化装置１０は、第１動きベクトルに基づいて、対象ブロックが区分された複数の対象小ブロックに対する第２動きベクトルを生成する第２動きベクトル生成器１０５を備える。予測信号生成器１０７は、対象小ブロックに対する予測信号を生成する。【選択図】  図１
2008311781.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像信号の時間系列で構成される入力動画像信号を複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された領域のうちの処理対象領域に対する動きベクトルである第１動きベクトルを検出する動き検出手段と、
前記処理対象領域に対する予測信号を生成する予測信号生成手段と、
前記予測信号生成手段により生成された予測信号と前記処理対象領域の画素信号との残差信号を生成する残差信号生成手段と、
前記残差信号生成手段により生成された前記残差信号及び前記動き検出手段により検出された第１動きベクトルを符号化して圧縮データを生成する符号化手段と、を備え、
前記予測信号生成手段は、前記動き検出手段により検出された第１動きベクトルに基づいて、前記処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする動画像符号化装置。
【請求項２】
前記予測信号生成手段は、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、前記小領域に対する前記第２動きベクトルを生成することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記予測信号生成手段は、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における前記残差信号と、それぞれの動きベクトルに係る処理対象領域と前記小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する前記第２動きベクトルを生成することを特徴とする請求項１又は２に記載の動画像符号化装置。
【請求項４】
前記予測信号生成手段は、前記第１動きベクトルと前記第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて前記処理対象領域の予測信号を生成することを特徴とした請求項１〜３の何れか一項に記載の動画像符号化装置。
【請求項５】
動画像信号の圧縮データの中から、当該動画像信号を構成する処理対象領域に関する残差信号と第１動きベクトルとを抽出するデータ抽出手段と、
前記データ抽出手段により抽出された前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、
前記データ抽出手段により抽出された第１動きベクトルに基づいて、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、
前記予測信号生成手段により生成された予測信号に前記残差信号復元手段により復元された再生残差信号を加算することによって、前記処理対象領域の画素信号を復元する画像復元手段と、を備え、
前記予測信号生成手段は、前記データ抽出手段により抽出された前記処理対象領域の第１動きベクトルに基づいて、前記処理対象領域が区分された複数の当該小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする動画像復号化装置。
【請求項６】
前記予測信号生成手段は、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、前記小領域に対する前記第２動きベクトルを生成することを特徴とする請求項５に記載の動画像復号化装置。
【請求項７】
前記予測信号生成手段は、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における前記残差信号と、それぞれの動きベクトルに係る処理対象領域と前記小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する前記第２動きベクトルを生成することを特徴とする請求項５又は６に記載の動画像復号化装置。
【請求項８】
前記予測信号生成手段は、前記第１動きベクトルと前記第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて前記処理対象領域の予測信号を生成することを特徴とした請求項５〜７の何れか一項に記載の動画像復号化装置。
【請求項９】
フレーム画像信号の時間系列で構成される入力動画像信号を複数の領域に分割する領域分割ステップと、
前記領域分割ステップにおいて分割された領域のうちの処理対象領域に対する動きベクトルである第１動きベクトルを検出する動き検出ステップと、
前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、
前記予測信号生成ステップにおいて生成された予測信号と前記処理対象領域の画素信号との残差信号を生成する残差信号生成ステップと、
前記残差信号生成ステップにおいて生成された前記残差信号及び前記動き検出ステップにおいて検出された第１動きベクトルを符号化して圧縮データを生成する符号化ステップと、を含み、
前記予測信号生成ステップにおいて、前記動き検出ステップにおいて検出された第１動きベクトルに基づいて、前記処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする動画像符号化方法。
【請求項１０】
前記予測信号生成ステップにおいて、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、前記小領域に対する前記第２動きベクトルを生成することを特徴とする請求項９に記載の動画像符号化方法。
【請求項１１】
前記予測信号生成ステップにおいて、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における前記残差信号と、それぞれの動きベクトルに係る処理対象領域と前記小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する前記第２動きベクトルを生成することを特徴とする請求項９又は１０に記載の動画像符号化方法。
【請求項１２】
前記予測信号生成ステップにおいて、前記第１動きベクトルと前記第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて前記処理対象領域の予測信号を生成することを特徴とした請求項９〜１１の何れか一項に記載の動画像符号化方法。
【請求項１３】
動画像信号の圧縮データの中から、当該動画像信号を構成する処理対象領域に関する残差信号と第１動きベクトルとを抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出された前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、
前記データ抽出ステップにおいて抽出された第１動きベクトルに基づいて、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、
前記予測信号生成ステップにより生成された予測信号に前記残差信号復元ステップにおいて復元された再生残差信号を加算することによって、前記処理対象領域の画素信号を復元する画像復元ステップと、を含み、
前記予測信号生成ステップにおいて、前記データ抽出ステップにおいて抽出された前記処理対象領域の第１動きベクトルに基づいて、前記処理対象領域が区分された複数の当該小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする動画像復号化方法。
【請求項１４】
前記予測信号生成ステップにおいて、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、前記小領域に対する前記第２動きベクトルを生成することを特徴とする請求項１３に記載の動画像復号化方法。
【請求項１５】
前記予測信号生成ステップにおいて、前記処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における前記残差信号と、それぞれの動きベクトルに係る処理対象領域と前記小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する前記第２動きベクトルを生成することを特徴とする請求項１３又は１４に記載の動画像復号化方法。
【請求項１６】
前記予測信号生成ステップにおいて、前記第１動きベクトルと前記第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて前記処理対象領域の予測信号を生成することを特徴とした請求項１３〜１５の何れか一項に記載の動画像復号化方法。
【請求項１７】
コンピュータを請求項１〜４の何れか一項に記載の動画像符号化装置として機能させる動画像符号化プログラム。
【請求項１８】
コンピュータを請求項５〜８の何れか一項に記載の動画像復号化装置として機能させる動画像復号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラムに関する。
【背景技術】
【０００２】
静止画像や動画像データの伝送や蓄積を効率よく行うために、圧縮符号化技術が用いられている。従来の動画像符号化方式の事例として、ＭＰＥＧ１〜４やＩＴＵ（International Telecommunication Union）Ｈ．２６１〜Ｈ．２６４の方式が広く用いられている。
【０００３】
これらの符号化方式では、符号化の対象となる画像を複数のブロックに分割した上で符号化及び復号化処理を行う。ＭＰＥＧ４やＨ．２６４においては、符号化効率をさらに高めるため、画像内の予測符号化については、対象ブロックと同じ画像内にある隣接する既再生の画像信号（圧縮された画像データが復元されたもの）を用いて予測信号を生成した上で、それを対象ブロックの信号から引き算した差分信号を符号化する。画像間の予測符号化については、対象ブロックと異なる画像内にある隣接する既再生の画像信号を参照し、動きの補償を行ない、予測信号を生成し、それを対象ブロックの信号から引き算した差分信号を符号化する（非特許文献１参照）。
【０００４】
非特許文献１では、動き補償の精度を上げるために処理対象ブロックに対する予測信号を対象ブロックよりも小さいブロックごとに生成する方法が開示されており、この方法においては、小さいブロックごとに参照先の画像信号への変位量を示す動きベクトルを符号化及び復号化している。
【非特許文献１】“ITU-T H.264”TELECOMMUNICATION STANDARDIZATIONSECTOR OF ITU SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure ofaudiovisual services - Coding of moving video
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１よる従来技術は、処理対象ブロックに対する予測信号を対象ブロックよりも小さいブロックごとに生成する際に、小さいブロックごとに参照先の画像信号への変位量を示す動きベクトルを符号化しているため、小さいブロックの数の増加に伴って符号量が増えてしまう。
【０００６】
本発明は、上述の課題を解決するために成されたものであり、符号化及び復号化の情報圧縮の効率向上を図ることが可能な動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る動画像符号化装置は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の領域に分割する領域分割手段と、領域分割手段により分割された領域のうちの処理対象領域に対する動きベクトルである第１動きベクトルを検出する動き検出手段と、処理対象領域に対する予測信号を生成する予測信号生成手段と、予測信号生成手段により生成された予測信号と処理対象領域の画素信号との残差信号を生成する残差信号生成手段と、残差信号生成手段により生成された残差信号及び動き検出手段により検出された第１動きベクトルを符号化して圧縮データを生成する符号化手段と、を備え、予測信号生成手段は、動き検出手段により検出された第１動きベクトルに基づいて、処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする。
【０００８】
本発明に係る動画像符号化装置によれば、フレーム画像信号の時間系列で構成される入力動画像信号が複数の領域に分割され、分割された領域のうちの処理対象領域に対する第１動きベクトルが検出される。続いて、第１動きベクトルに基づいて処理対象領域に対する予測信号が生成されて、生成された予測信号と処理対象領域の画素信号との残差信号が生成される。当該残差信号及び第１動きベクトルがされて圧縮が算出される。
【０００９】
また、本発明に係る動画像符号化装置によれば、第１動きベクトルに基づいて、処理対象領域が区分された複数の小領域に対する第２動きベクトルが生成される。第２動きベクトルが用いられて当該小領域に対する予測信号が生成される。このように第２動きベクトルが生成されて、第２動きベクトルが用いられて予測信号が生成されることから、より予測精度が高い予測信号が得られ、符号量を減少させることができる。一方で、第２動きベクトルは、第１動きベクトルに基づいて生成されるため、符号化されないので、第２動きベクトルにより符号量が増加することがない。即ち、本発明に係る動画像符号化装置によれば、符号化及び復号化の情報圧縮の効率向上を図ることができる。
【００１０】
予測信号生成手段は、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、小領域に対する第２動きベクトルを生成することが望ましい。この構成によれば、第２動きベクトルの生成が、過去の処理によって取得済みの動きベクトルにも基づくため、第２動きベクトルが、予測精度がより高い予測信号を得るためのものになりえる。これにより、よりいっそう符号化及び復号化の情報圧縮の効率向上を図ることができる。
【００１１】
予測信号生成手段は、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における残差信号と、それぞれの動きベクトルに係る処理対象領域と小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する第２動きベクトルを生成することが望ましい。この構成によれば、動きベクトルに基づいて生成される予測信号の確からしさに基づいて、処理対象領域に対する適応的な予測信号の生成を行うことができ、予測精度を更に高めることができる。これにより、更に符号化及び復号化の情報圧縮の効率向上を図ることができる。
【００１２】
予測信号生成手段は、第１動きベクトルと第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて処理対象領域の予測信号を生成することが望ましい。この構成によれば、動きベクトルの符号量を増やさずに、情報圧縮の効果が高い動きベクトルを選択して利用することができるため、確実に符号化及び復号化の情報圧縮の効率向上を図ることができる。
【００１３】
また、上記目的を達成するために、本発明に係る動画像復号化装置は、動画像信号の圧縮データの中から、当該動画像信号を構成する処理対象領域に関する残差信号と第１動きベクトルとを抽出するデータ抽出手段と、データ抽出手段により抽出された処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、データ抽出手段により抽出された第１動きベクトルに基づいて、処理対象領域に対する予測信号を生成する予測信号生成手段と、予測信号生成手段により生成された予測信号に残差信号復元手段により復元された再生残差信号を加算することによって、処理対象領域の画素信号を復元する画像復元手段と、を備え、予測信号生成手段は、データ抽出手段により抽出された処理対象領域の第１動きベクトルに基づいて、前記処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする。
【００１４】
本発明に係る動画像復号化装置によれば、圧縮データの中から、処理対象領域に関する残差信号と第１動きベクトルとが抽出される。続いて、抽出された処理対象領域に関する残差信号が再生残差信号に復元される。また、抽出された第１動きベクトルに基づいて、処理対象領域に対する予測信号が生成される。生成された予測信号に復元された再生残差信号が加算されて、処理対象領域の画素信号が復元される。
【００１５】
また、本発明に係る動画像復号化装置によれば、第１動きベクトルに基づいて、処理対象領域が区分された複数の小領域に対する第２動きベクトルが生成される。第２動きベクトルが用いられて当該小領域に対する予測信号が生成される。このように第２動きベクトルが生成されて、第２動きベクトルが用いられて予測信号が生成されることから、第２動きベクトルを外部から受け取らなくても、上記の動画像符号化装置によって第２動きベクトルが用いられて符号化された圧縮データから画素信号を復元することができる。即ち、本発明に係る動画像復号化装置によれば、符号化及び復号化の情報圧縮の効率向上を図ることができる。
【００１６】
予測信号生成手段は、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、小領域に対する第２動きベクトルを生成することが望ましい。この構成によれば、上記の動画像符号化装置等によって第２動きベクトルが用いられて符号化された圧縮データから画素信号を確実に復元することができる。
【００１７】
予測信号生成手段は、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における残差信号と、それぞれの動きベクトルに係る処理対象領域と小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する第２動きベクトルを生成することが望ましい。この構成によれば、上記の動画像符号化装置等によって第２動きベクトルが用いられて符号化された圧縮データから画素信号を確実に復元することができる。
【００１８】
予測信号生成手段は、第１動きベクトルと第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて処理対象領域の予測信号を生成することが望ましい。この構成によれば、上記の動画像符号化装置によって第２動きベクトルが用いられて符号化された圧縮データから、効率的に画素信号を復元することができる。
【００１９】
ところで、本発明は、上記のように動画像符号化装置及び動画像復号化装置の発明として記述できる他に、以下のように動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラムの発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００２０】
即ち、本発明に係る動画像符号化方法は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の領域に分割する領域分割ステップと、領域分割ステップにおいて分割された領域のうちの処理対象領域に対する動きベクトルである第１動きベクトルを検出する動き検出ステップと、処理対象領域に対する予測信号を生成する予測信号生成ステップと、予測信号生成ステップにおいて生成された予測信号と処理対象領域の画素信号との残差信号を生成する残差信号生成ステップと、残差信号生成ステップにおいて生成された残差信号及び動き検出ステップにおいて検出された第１動きベクトルを符号化して圧縮データを生成する符号化ステップと、を含み、予測信号生成ステップにおいて、動き検出ステップにおいて検出された第１動きベクトルに基づいて、前記処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする。
【００２１】
予測信号生成ステップにおいて、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、小領域に対する第２動きベクトルを生成することが望ましい。
【００２２】
予測信号生成ステップにおいて、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における残差信号と、それぞれの動きベクトルに係る処理対象領域と小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する第２動きベクトルを生成することが望ましい。
【００２３】
予測信号生成ステップにおいて、第１動きベクトルと第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて処理対象領域の予測信号を生成することが望ましい。
【００２４】
また、本発明に係る動画像復号化方法は、動画像信号の圧縮データの中から、当該動画像信号を構成する処理対象領域に関する残差信号と第１動きベクトルとを抽出するデータ抽出ステップと、データ抽出ステップにおいて抽出された処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、データ抽出ステップにおいて抽出された第１動きベクトルに基づいて、処理対象領域に対する予測信号を生成する予測信号生成ステップと、予測信号生成ステップにより生成された予測信号に残差信号復元ステップにおいて復元された再生残差信号を加算することによって、処理対象領域の画素信号を復元する画像復元ステップと、を含み、予測信号生成ステップにおいて、データ抽出ステップにおいて抽出された処理対象領域の第１動きベクトルに基づいて、前記処理対象領域が区分された複数の小領域に対する動きベクトルである第２動きベクトルを生成して、生成した第２動きベクトルを用いて当該小領域に対する予測信号を生成することを特徴とする。
【００２５】
予測信号生成ステップにおいて、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとに基づいて、小領域に対する第２動きベクトルを生成することが望ましい。
【００２６】
予測信号生成ステップにおいて、処理対象領域に対する第１動きベクトルと過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルに係る処理対象領域における残差信号と、それぞれの動きベクトルに係る処理対象領域と小領域との距離と、それぞれの動きベクトル間での類似性との少なくとも何れかに基づいて重み付けして、当該重み付けに基づいて当該小領域に対する第２動きベクトルを生成することが望ましい。
【００２７】
予測信号生成ステップにおいて、第１動きベクトルと第２動きベクトルとから何れか一方を選択し、選択された動きベクトルを用いて処理対象領域の予測信号を生成することが望ましい。
【００２８】
また、本発明に係る動画像符号化プログラムは、コンピュータを上記の動画像符号化装置として機能させることを特徴とする。
【００２９】
また、本発明に係る動画像復号化プログラムは、コンピュータを上記の動画像復号化装置として機能させることを特徴とする。
【発明の効果】
【００３０】
本発明では、処理対象領域が区分された小領域に対する第２動きベクトルが生成されて、第２動きベクトルが用いられて予測信号が生成されることから、より予測精度が高い予測信号が得られ、符号量を減少させることができる。一方で、第２動きベクトルは、処理対象領域に対する第１動きベクトルに基づいて生成されるため、符号化されないので、第２動きベクトルにより符号量が増加することがない。即ち、本発明によれば、符号化及び復号化の情報圧縮の効率向上を図ることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面と共に本発明の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００３２】
［動画像符号化装置］
図１に、本発明の実施形態に係る動画像符号化装置１０の機能構成を示す。動画像符号化装置１０は、フレーム単位の画像信号（フレーム画像信号）の時間系列で構成される動画像信号（入力動画像信号、映像信号）を入力して、フレーム画像信号を順次符号化することにより、動画像信号を符号化した圧縮データを生成する装置である。図１に示すように、動画像符号化装置１０は、ブロック分割器１０１と、フレームメモリ１０２と、第１動きベクトル検出器１０３と、動きベクトルメモリ１０４と、第２動きベクトル生成器１０５と、動きベクトル選択器１０６と、予測信号生成器１０７と、減算器１０８と、変換器１０９と、量子化器１１０と、逆量子化器１１１と、逆変換器１１２と、加算器１１３と、重み係数生成器１１４と、重み係数メモリ１１５と、エントロピー符号化器１１６とを備えて構成される。
【００３３】
ブロック分割器１０１は、ラインＬ１０１を経由して動画像符号化装置１０に入力された入力動画像信号のフレーム画像信号を複数の領域（ブロック）に分割する領域分割手段である。ブロック分割器１０１は、分割したブロックの信号を、符号化処理の対象となる処理対象領域（対象ブロック）の画素信号（対象ブロック信号）として、ラインＬ１０２を経由して出力する。本実施形態では８×８の画素からなるブロックに分割するが、それ以外の大きさ又は形に分割してもよい。このブロック単位で以下の符号化処理が行われる。
【００３４】
フレームメモリ１０２は、ラインＬ１０３を経由して入力された再生画像の信号（過去に符号化済みのフレーム画像信号（参照フレーム画像信号））を格納する手段である。フレームメモリ１０２は、格納している参照フレーム画像信号を、必要に応じてラインＬ１０４を経由して出力する。
【００３５】
第１動きベクトル検出器１０３は、対象ブロックに対する動きベクトルである第１動きベクトルを検出する動き検出手段である。具体的には、第１動きベクトル検出器１０３は、ラインＬ１０２を経由して入力される対象ブロック信号のパターンに類似した信号パターンを、ラインＬ１０４を経由して入力される参照フレーム画像信号から所定範囲内で探索し、両信号パターン間の空間的な変位量である動きベクトル（第１動きベクトル）を検出し、ラインＬ１０５を経由して出力する。また、その第１動きベクトルが参照するフレームの番号（参照フレーム番号）を、ラインＬ１０６を経由して出力する。
【００３６】
動きベクトルメモリ１０４は、過去の処理によって取得済みの動きベクトルやそれに対応した参照フレーム番号と併せて、ラインＬ１０５を経由して入力される第１動きベクトル及び参照フレーム番号と、ラインＬ１０６を経由して入力される参照フレーム番号と、ラインＬ１０７を経由して入力される第２動きベクトルとを格納する手段である。動きベクトルメモリ１０４は、格納した各情報を必要に応じてラインＬ１０８を経由して出力する。
【００３７】
第２動きベクトル生成器１０５は、対象ブロックが区分された複数の小領域（対象小ブロック）に対する動きベクトルである第２動きベクトルを生成する、予測信号生成手段の一機能である。具体的には、第２動きベクトル生成器１０５は、ラインＬ１０５を経由して入力される第１動きベクトルと、ラインＬ１０６を経由して入力される参照フレーム番号と、ラインＬ１０８を経由して入力される過去の処理によって取得済みの動きベクトル及びその参照フレーム番号と、ラインＬ１０９を経由して入力される重み係数とから、後述のフローに従って対象小ブロックの第２動きベクトルを生成する。ここで、過去の処理によって取得済みの動きベクトルは、対象ブロック以外のブロックに対する第１動きベクトル及び第２動きベクトルの少なくとも何れかである。
【００３８】
第２動きベクトル生成器１０５は、生成した第２動きベクトルを、ラインＬ１１０を経由して出力する。
【００３９】
動きベクトル選択器１０６は、ラインＬ１０５を経由して入力される第１動きベクトルと、ラインＬ１１０を経由して入力される第２動きベクトルとから、生成される予測信号の精度に基づいて何れか一方を選択する、予測信号生成手段の一機能である。動きベクトル選択器１０６は、選択した動きベクトルを、ラインＬ１１１を経由して出力する。また、第２動きベクトルが選択された場合、ラインＬ１０７を経由して出力する。また、選択した動きベクトルを示すインデックスを、ラインＬ１１２を経由して出力する。
【００４０】
動きベクトルの選択方法について具体例を挙げて説明すると、第１動きベクトルを用いて生成した対象ブロックの予測信号と対象ブロック信号の残差信号と、第２動きベクトルを用いて生成した対象小ブロックの予測信号の集まりによって生成された対象ブロックの予測信号と対象ブロック信号の残差信号を比較し、残差信号が小さくなる動きベクトルを選択する。
【００４１】
動きベクトル選択器１０６によれば、第１動きベクトルを用いて生成した対象ブロックの予測信号と対象ブロック信号の残差信号と、第２動きベクトルを用いて生成した対象小ブロックの予測信号の集まりによって生成された対象ブロックの予測信号と対象ブロック信号の残差信号を比較し、残差信号がより小さくなる動きベクトルを選択して予測信号の生成に用いることができる。
【００４２】
なお、動きベクトル選択器１０６は必ずしも動画像符号化装置１０に備えられている必要はない。動きベクトル選択器１０６が備えられていない場合は、何れかの動きベクトルを選択する代わりに、常に第２動きベクトルを出力する。
【００４３】
予測信号生成器１０７は、動きベクトルに基づいて、対象ブロックに対する予測信号を生成する予測信号生成手段（の一機能）である。予測信号生成器１０７は、ラインＬ１１１を経由して入力される対象ブロックの動きベクトルと、ラインＬ１０６を経由して入力される参照フレーム番号と、ラインＬ１０４を経由して入力される参照フレーム画像信号とから、対象ブロックの予測画像信号を生成し、ラインＬ１１３を経由して出力する。なお、第２動きベクトルが入力される場合は、予測信号生成器１０７は、第２動きベクトルに基づいて、対象小ブロックに対する予測信号を生成することによって、対象ブロックに対する予測信号を生成する。
【００４４】
減算器１０８は、ラインＬ１０２を経由して入力された対象ブロック信号（画素信号）から、ラインＬ１１３を経由して入力された対象ブロックの予測信号を減算して、対象ブロックの予測信号と画素信号との残差信号を生成する残差信号生成手段である。減算器１０８は、生成した残差信号を、ラインＬ１１４を経由して出力する。
【００４５】
変換器１０９は、ラインＬ１１４を経由して入力された残差信号を直交変換する手段である。即ち、変換器１０９は、残差信号及び第１動きベクトルを符号化して圧縮データを生成する符号化手段の一機能である。変換器１０９は、変換係数を、ラインＬ１１５を経由して出力する。
【００４６】
量子化器１１０は、ラインＬ１１５を経由して入力された変換係数を量子化する手段である。即ち、量子化器１１０は、残差信号及び第１動きベクトルを符号化して圧縮データを生成する符号化手段の一機能である。量子化器１１０は、量子化された変換係数を、ラインＬ１１６を経由して出力する。
【００４７】
逆量子化器１１１は、ラインＬ１１６を経由して入力された量子化された変換係数を逆量子化する手段である。逆量子化器１１１は、復元された変換係数を、ラインＬ１１７を経由して出力する。
【００４８】
逆変換器１１２は、ラインＬ１１７を経由して入力された変換係数を逆直交変換する手段である。逆変換器１１２は、復元された残差信号を、ラインＬ１１８を経由して出力する。
【００４９】
加算器１１３は、ラインＬ１１８を経由して入力された残差信号にラインＬ１１３を経由して入力された対象ブロックに対する予測信号を加算し、対象ブロック信号を復元する手段である。ここで復元される対象ブロック信号は、再生画像の信号（符号化済みのフレーム画像信号）である。加算器１１３は、復元した対象ブロック信号を、ラインＬ１０３を経由して出力する。
【００５０】
重み係数生成器１１４は、ラインＬ１１８を経由して入力された残差信号と、ラインＬ１１２を経由して入力された選択した動きベクトルを示すインデックスとから重み係数を生成する手段である。重み係数生成器１１４は、生成した重み係数を、ラインＬ１１９を経由して出力する。重み係数は選択した動きベクトルに該当するブロックに含まれる画素毎の残差信号の合計を、そのブロックに含まれる画素数で割った値の逆数とする。このようにして算出された重み係数は、選択した動きベクトルによって生成された予測信号の確からしさ（選択した動きベクトルによる動き補償の効果の大きさ）を表している。
【００５１】
なお、ブロックごとに量子化のステップＱが異なる場合、量子化ステップの違いによる重み係数のばらつきを回避するため、それぞれの画素の残差信号に量子化ステップの半分の値Ｑ／２を加算することで補正することが望ましい。具体的に例を挙げて説明すると、ある画素の残差が０、量子化ステップが１０であった場合、その画素の残差は５に補正される。残差が０、量子化ステップが２０であった場合、その画素の残差は１０に補正される。
【００５２】
なお、重み係数生成器１１４に入力される残差信号は、ラインＬ１１８を経由して入力されるかわりに、ラインＬ１１６やラインＬ１１７を経由して入力されてもよい。
【００５３】
重み係数メモリ１１５は、ラインＬ１１９を経由して入力された重み係数を格納する手段である。重み係数メモリ１１５は、格納した重み係数を必要に応じてラインＬ１０９を経由して出力する。
【００５４】
エントロピー符号化器１１６は、ラインＬ１１６を経由して入力された量子化された変換係数と、ラインＬ１０５を経由して入力された第１動きベクトルと、ラインＬ１０６を経由して入力された参照フレーム番号と、Ｌ１１２を経由して入力された選択した動きベクトルを示すインデックスとを符号化して、多重化して圧縮データ（圧縮ストリーム）を生成する符号化手段である。エントロピー符号化器１１６は、圧縮ストリームをラインＬ１２０に出力する。
【００５５】
引き続いて、図２のフローチャートを用いて、本実施形態に係る動画像符号化装置１０による符号化処理（動画像符号化方法）を説明する。
【００５６】
まず、動画像符号化装置１０では、符号化対象となる動画像信号（入力動画像信号）が入力される。動画像符号化装置１０に入力された入力動画像信号は、ラインＬ１０１を経由してブロック分割器１０１に入力される（Ｓ０１）。続いて、ブロック分割器１０１によって、入力動画像信号の各フレーム画像信号が複数のブロックに分割される（Ｓ０２、領域分割ステップ）。分割された各ブロックの画素信号は、順次、対象ブロック信号としてラインＬ１０２を経由して出力される。
【００５７】
続いて、当該対象ブロック信号は、第１動きベクトル検出器１０３に入力される。第１動きベクトル検出器１０３によって、対象ブロック信号から、対象ブロックに対する第１動きベクトルが検出される（Ｓ０３、動き検出ステップ）。検出された第１動きベクトルは、ラインＬ１０５を経由して、第１動きベクトル検出器１０３から出力される。また、その第１動きベクトルの参照フレーム番号が、ラインＬ１０６を経由して、第１動きベクトル検出器１０３から出力される。
【００５８】
続いて、第１動きベクトルに基づいて、対象ブロックに対する予測信号が生成される（Ｓ０４、予測信号生成ステップ）。対象ブロックに対する予測信号の生成は、対象ブロックが区分された対象小ブロックに対する第２動きベクトルが第１動きベクトルに基づいて生成されて行われる。第２動きベクトルの生成については、より詳細に後述する。予測信号の生成では、動きベクトル選択器１０６によって、ラインＬ１０５を経由して入力される第１動きベクトルと、ラインＬ１１０を経由して入力される第２動きベクトルとから、予測信号の生成に用いる動きベクトルが選択される。
【００５９】
続いて、選択された動きベクトルが、動きベクトル選択器１０６からラインＬ１１１を経由して、予測信号生成器１０７に入力される。続いて、予測信号生成器１０７によって、ラインＬ１１１を経由して入力される対象ブロックの動きベクトルと、ラインＬ１０６を経由して入力される参照フレーム番号と、ラインＬ１０４を経由して入力される参照フレーム画像信号とから、対象ブロックの予測画像信号が生成される。即ち、動きベクトル選択器１０６によって、第１動きベクトルが選択された場合は、対象ブロックそのものに対する予測信号が生成されて、第２動きブロックが選択された場合は、対象小ブロックに対する予測信号（各対象小ブロックに対する予測信号を集めると、対象ブロックに対する予測信号となる）が生成される。生成された対象ブロックに対する予測信号は、ラインＬ１１３を経由して、予測信号生成器１０７から出力される。また、ここで、動きベクトル選択器１０６に入力された第２動きベクトルは、ラインＬ１０７を経由して動きベクトルメモリ１０４に入力される。
【００６０】
続いて、減算器１０８によって、ラインＬ１０２を経由して入力された対象ブロック信号から、ラインＬ１１３を経由して入力された対象ブロックの予測信号が減算されて、対象ブロックの予測信号と画素信号との残差信号が生成される（Ｓ０５、残差信号生成ステップ）。生成された残差信号は、ラインＬ１１４を経由して、減算器１０８から出力される。
【００６１】
また、このときに、重み係数生成器１１４によって、ラインＬ１１８を経由して入力された残差信号と、ラインＬ１１２を経由して入力された選択した動きベクトルを示すインデックスとから重み係数が算出される。重み係数は、ラインＬ１１９を経由して、重み係数生成器１１４から重み係数メモリ１１５に出力されて、重み係数メモリ１１５に格納される。
【００６２】
続いて、残差信号が、変換器１０９によって直交変換されて変換係数にされ、変換係数が量子化器１１０によって量子化される。量子化された変換係数は、ラインＬ１１６を経由して量子化器１１０から出力される。続いて、エントロピー符号化器１１６によって、ラインＬ１１６を経由して入力された量子化された変換係数が符号化される。また、エントロピー符号化器１１６によって、ラインＬ１０５を経由して入力された第１動きベクトルが符号化される。また、エントロピー符号化器１１６によって、予測信号の生成でラインＬ１０６を経由して入力された参照フレーム番号と、Ｌ１１２を経由して入力された選択した動きベクトルを示すインデックスとが符号化される。符号化された各データは多重化されて圧縮データとして、ラインＬ１２０を経由して、動画像符号化装置１０から出力される（Ｓ０６、符号化ステップ）。
【００６３】
続いて、ラインＬ１１６を経由して入力された量子化された変換係数が、逆量子化器１１１によって逆量子化されて変換係数に復元され、復元された変換係数が、逆変換器１１２によって逆直交変換されて残差信号に復元される。復元された残差信号は、ラインＬ１１８を経由して、逆変換器１１２から出力される。続いて、加算器１１３によって、ラインＬ１１８を経由して入力された残差信号にラインＬ１１３を経由して入力された対象ブロックに対する予測信号が加算されて、対象ブロック信号が復元されて再生画像の信号が生成される（Ｓ０７）。再生画像の信号は、加算器１１３からラインＬ１０３を経由してフレームメモリ１０２に入力され格納されて、参照フレーム画像信号として、第１動きベクトルの検出や予測信号の生成に用いられる。
【００６４】
続いて、動画像符号化装置１０では、全ての画素が符号化済みであるか否かが判断される（Ｓ０８）。全ての画素が符号化済みであると判断された場合は、動画像符号化装置１０による符号化処理は終了する。一方、全ての画素が符号化済みでないと判断された場合は、次の対象ブロック信号に対して、上記のＳ０３〜Ｓ０７の処理が行われる。上記が動画像符号化方法である。
【００６５】
引き続いて、本発明の特徴である第２動きベクトルの生成について、より詳細に説明する。図３に、第２動きベクトル生成器１０５における第２動きベクトルを生成する手順を説明するための模式図を示す。
【００６６】
第２動きベクトルの生成には、過去に符号化済みのブロック（フレームメモリ１０２に参照フレーム画像信号が格納されているブロック）の動きベクトルが用いられる。互いに近傍にある動きベクトルには高い相関があると予想されるため、過去に符号化済みのブロックの動きベクトルの中でも対象ブロックの近傍のブロックを用いることが好ましい。
【００６７】
図３ではその一例として、対象ブロックをＢ１００とし、ブロックＢ１０１をブロックＢ１００の最も左上の画素の真左上の画素を含むブロック、ブロックＢ１０２をブロックＢ１００の最も左上の画素の真上の画素を含むブロック、ブロックＢ１０３をブロックＢ１００の最も右上の画素の真右上の画素を含むブロック、ブロックＢ１０４をブロックＢ１００の最も左上の画素の真左の画素を含むブロックとする。
【００６８】
図３ではブロックＢ１０１〜ブロックＢ１０４は対象ブロックと同じ大きさであるが、過去の処理によって対象ブロックよりも小さいブロック毎に予測信号が生成されている場合は、ブロックＢ１０１〜ブロックＢ１０４はその小さいブロックとする。何れのブロックを第２動きベクトルの生成に用いるかは、上記のように対象小ブロックとの位置関係等により予め設定されている。
【００６９】
なお、過去の処理によって対象ブロックよりも小さいブロックごとに予測信号が生成されている場合であっても、対象ブロックと同じ大きさの各ブロックに含まれる複数の小さいブロックに対する残差信号の合計を、対象ブロックと同じ大きさの各ブロックに対する残差信号とすることで、対象ブロックと同じ大きさのブロックをブロックＢ１０１〜ブロックＢ１０４としてもよい。
【００７０】
図４は、第２動きベクトル生成器１０５における第２動きベクトルを生成する手順を説明するためのフローチャートである。以下の処理は、予測信号生成ステップに含まれる。
【００７１】
第２動きベクトル生成器１０５では、対象小ブロックの形状はあらかじめ決められているものとする。図３では対象ブロックの予測信号を同じ大きさの４つの正方形の小ブロックごとに生成しているが、それ以外の大きさ、形、数の小ブロックごとに生成してもよい。
【００７２】
まず、第２動きベクトル生成器１０５によって、ラインＬ１０５を経由して入力される対象ブロックＢ１００の動きベクトルＭＶ０と、ラインＬ１０６を経由して入力される対象ブロックの動きベクトルＭＶ０の参照フレーム番号とが取得される（Ｓ００１）。
【００７３】
続いて、第２動きベクトル生成器１０５によって、ラインＬ１０８を経由して動きベクトルメモリ１０４から入力される過去に符号化済みのブロックＢ１０１、ブロックＢ１０２、ブロックＢ１０３、ブロックＢ１０４の動きベクトルＭＶｉ（ｉ＝１〜４）と、対応する参照フレーム番号と、ラインＬ１０９を経由して入力されるそれぞれの動きベクトルに対応する重み係数Ｃｉ（ｉ＝１〜４）とが取得される（Ｓ００２）。
【００７４】
なお、Ｓ００２で取得される動きベクトルは、図５のように、対象ブロックＢ１００を含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。
【００７５】
スケーリングによって、対象ブロックを含むフレームの時刻ｔ０から、対象ブロックの動きベクトルが参照するフレームの時刻ｔ１までの時間的距離（ｔ０−ｔ１）を基準にして、取得した処理済みのブロックＢ１０１、Ｂ１０２、Ｂ１０３、Ｂ１０４の動きベクトルの大きさが変更される。具体的に一例を挙げると、ブロックＢ１０４の動きベクトルＭＶ４が参照するフレームの時刻をｔ２とすると、スケーリングされた動きベクトルＭＶ４’は、下記式（１）によって与えられるベクトルである。
【数１】
2008311781.tif 000003
【００７６】
スケーリング処理によって、過去に符号化済みのブロックの動きベクトルが参照するフレームと対象ブロックの動きベクトルが参照するフレームが異なる場合でも、時間的距離に応じて変位量の補正をすることで、対象ブロックの動きベクトルが参照するフレームにおける過去に符号化済みのブロックの参照先を適切に決定することができる。
【００７７】
なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。
【００７８】
また、Ｓ００２において処理済みのブロックそのもの、あるいは処理済みのブロックの動きベクトルが存在しない場合、そのブロックは除いて以下の処理を進める。処理済みのブロックそのもの、あるいは処理済みのブロックの動きベクトルが１つも存在しない場合は対象ブロックの動きベクトルのみから小ブロックの動きベクトルが生成される。
【００７９】
続いて、第２動きベクトル生成器１０５によって、Ｓ００２で取得された動きベクトルの重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉが算出されて、ＭＶ０の重み係数Ｃ０とされる（Ｓ００３）。なお、ＭＶ０の重み係数Ｃ０の値としては、重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉを用いる代わりに、重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉに定数を乗じた値でもよい。重み係数Ｃｉ（ｉ＝１〜４）の平均値aveＣ１−４でもよい。重み係数Ｃｉ（ｉ＝１〜４）の平均値aveＣ１−４に定数を乗じた値でもよい。なお、重み係数Ｃｉが存在しない場合は、Ｃ０の値としては、予め設定された定数とされる。
【００８０】
続いて、第２動きベクトル生成器１０５によって、対象小ブロックの中心位置と対象ブロックを含むそれぞれのブロックの中心位置との距離ｄｉｊ（ｉ＝０〜４，ｊ＝１〜４）が算出される。ここで、添え字ｊはｊ番目の対象小ブロックを表している（Ｓ００４）。
【００８１】
続いて、第２動きベクトル生成器１０５によって、対象ブロックを含めた全てのブロックの動きベクトルの平均値aveＭＶ０−４が算出される（Ｓ００５）。
【００８２】
続いて、対象ブロックを含めた全てのブロックの動きベクトルについて、平均値aveＭＶ０−４との差分Ｅｉ＝｜ＭＶｉ−aveＭＶ０−４｜（ｉ＝１〜４）が算出される（Ｓ００６）。ここでＥｉ＝０となる場合は、後の処理に不都合を生じるため、代わりに十分小さな値を代入することとする。
【００８３】
続いて、第２動きベクトル生成器１０５によって、対象小ブロックＢ１００ｊの第２動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が次式（２）により算出される（Ｓ００７）。
【数２】
2008311781.tif 000004
ここで、ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）により算出される値は、第２動きベクトルを生成する際に足し合わされる動きベクトルに対する重み付けを示す係数である。ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）は、Ｃｉ，ｄｉｊ，Ｅｉの関数である。即ち、予測信号の確からしさに基づく重み、ブロック間の距離に基づく重み及び動きベクトル間の類似性に基づいて、それぞれの動きベクトルを足し合わせる際の重みを決定することができる。一例として、次式（３）のようにｆ（Ｃｉ，ｄｉｊ，Ｅｉ）をおくと予測信号の確からしさが高く、対象ブロックと距離が近く、周辺の動きベクトルとの類似性が高い動きベクトルの重みを上げることができる。
【数３】
2008311781.tif 000005
なお、上記の関数は、予測信号の確からしさを示すＣｉ、対象ブロックとの距離を示すｄｉｊ、及び周辺の動きベクトルとの類似性を示すＥｉの少なくとも何れか一つが用いられていればよい。
【００８４】
最後に、対象小ブロックＢ１００ｊの動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が第２動きベクトル生成器１０５から出力され、第２動きベクトル生成器１０５における処理が終了する（Ｓ００８）。
【００８５】
なお、図４のフローチャートに示される一連の処理のうち、動きベクトルに関するものは、動きベクトルをｘ成分、ｙ成分に分けて成分ごとに処理をすることが好ましい。また、ｘ成分、ｙ成分に分けずに、ベクトルの差分の大きさ（具体的にはベクトルノルム等）を算出することで、動きベクトルのｘ成分、ｙ成分を同時に決定してもよい。
【００８６】
なお、図４のフローチャートに示される一連の処理において、ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）はなくてもよい。その場合、それぞれの動きベクトルに対する重み付けは行われない。
【００８７】
なお、第２動きベクトルの算出は、図６のフローチャートに示される処理により行われてもよい。この処理は、対象小ブロックに対する第２動きベクトルを算出する際に、当該算出に適さない特異な動きベクトルを取り除く処理である。具体的には、図４のフローチャートに示される一連の処理におけるＣｉ,Ｅｉに関する閾値を設け、周囲のベクトルと比較して確からしさの低いベクトルを、対象小ブロックに対する第２動きベクトルを算出する際に取り除き、考慮しないようにするものである。これにより、対象小ブロックの予測信号生成の精度を高める効果がある。
【００８８】
まず、図４のフローチャートのＳ００１〜Ｓ００３と同様に以下の処理が行われる。即ち、第２動きベクトル生成器１０５によって、対象ブロックＢ１００の動きベクトルＭＶ０と対象ブロックの動きベクトルＭＶ０の参照フレーム番号とが取得される（Ｓ１０１）。続いて、過去に符号化済みのブロックＢ１０１〜Ｂ１０４の動きベクトルＭＶｉ（ｉ＝１〜４）と、対応する参照フレーム番号と、それぞれの動きベクトルに対応する重み係数Ｃｉ（ｉ＝１〜４）とが取得される（Ｓ１０２）。続いて、ＭＶ０の重み係数Ｃ０が算出される（Ｓ１０３）。
【００８９】
続いて、第２動きベクトル生成器１０５によって、重み係数の平均値aveＣ１−４が算出される（Ｓ１０４）。
【００９０】
続いて、図４のフローチャートのＳ００４〜Ｓ００６と同様に以下の処理が行われる。即ち、第２動きベクトル生成器１０５によって、対象小ブロックの中心位置と対象ブロックを含むそれぞれのブロックの中心位置との距離ｄｉｊ（ｉ＝０〜４，ｊ＝１〜４）が算出される（Ｓ１０５）。続いて、対象ブロックを含めた全てのブロックの動きベクトルの平均値aveＭＶ０−４が算出される（Ｓ１０６）。続いて、対象ブロックを含めた全てのブロックの動きベクトルについて、平均値aveＭＶ０−４との差分Ｅｉ＝｜ＭＶｉ−aveＭＶ０−４｜（ｉ＝１〜４）が算出される（Ｓ１０７）。
【００９１】
続いて、第２動きベクトル生成器１０５によって、各動きベクトルＥｉの平均値aveＥ０−４が算出される（Ｓ１０８）。
【００９２】
続いて、第２動きベクトル生成器１０５によって、各動きベクトルに対して（各ｉ（ｉ＝０〜４）に対して）、重み係数ＣｉがＳ１０４で算出されたaveＣ１−４より小さい（Ｃｉ＜aveＣ１−４）、あるいは動きベクトルの差分ＥｉがＳ１０８で算出されたaveＥ０−４より大きい（Ｅｉ＞aveＥ０−４）ことを満たすか否かが判断される（Ｓ１０９）。なおここでの各閾値aveＣ１−４，aveＥ０−４は、それぞれ独立に定数を乗じることで補正されてもよい。
【００９３】
Ｃｉ＜aveＣ１−４又はＥｉ＞aveＥ０−４を満たすと判断された場合、そのブロックの動きベクトルを対象小ブロックの動きベクトル生成に用いるか否かを示すインデックスＫｉに０が代入される（Ｓ１１０）。一方、Ｃｉ＜aveＣ１−４又はＥｉ＞aveＥ０−４を満たさないと判断された場合、Ｋｉに１が代入される（Ｓ１１１）。
【００９４】
続いて、第２動きベクトル生成器１０５によって、対象小ブロックＢ１００ｊの動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が次式（４）により算出される（Ｓ１１２）。
【数４】
2008311781.tif 000006
【００９５】
最後に、対象小ブロックＢ１００ｊの動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が第２動きベクトル生成器１０５から出力され、第２動きベクトル生成器１０５における処理が終了する（Ｓ１１３）。
【００９６】
上記の一連の処理では、動きベクトルの信頼度が平均値より低い場合、又は動きベクトルの平均値との差分の絶対値が平均値より大きい場合には、その動きベクトルは第２動きベクトルの生成には用いられないことを示している。上記の条件を満たす動きベクトルは特異な動きベクトルであるので、これらを考慮しないようにすることで、対象小ブロックの予測信号生成の精度を高める効果がある。
【００９７】
同様の効果を得る方法として、複数の組み合わせで過去に符号化済みのブロックを選び、それぞれの組み合わせで過去に符号化済みのブロックの動きベクトルの分散を計算し、そのうちもっとも分散が小さい組み合わせとなる過去に符号化済みのブロックの動きベクトルを用いて、対象ブロックの動きベクトルから対象小ブロックの動きベクトルを生成してもよい。
【００９８】
上記の方法においては、過去に符号化済みのブロックと対象ブロックを含めたブロックから複数の組み合わせで動きベクトルを選び、その分散が最小となる組み合わせの動きベクトルを用いて対象小ブロックの動きベクトルを生成してもよい。
【００９９】
なお、対象小ブロックの第２動きベクトルの生成の際に用いる過去に符号化済みのブロックは図３のように与える代わりに、対象ブロックに隣接する全てのブロックを用いてもよい、具体的には、図７（ａ）に示すように対象ブロックと１辺を共有する過去に符号化済みのブロック全てを用いてもよい。図７（ｂ）に示すように、対象ブロックと頂点を共有する過去に符号化済みの全てのブロックを用いてもよい。また、図７（ｃ）に示すように、対象小ブロックごとに異なる組み合わせで処理済みのブロックを用いてもよい。なお、図７においては、ハッチングされているブロックが対象小ブロックである。
【０１００】
なお、対象小ブロックの第２動きベクトルの生成の際に用いる過去に符号化済みのブロックは図３のように与える代わりに、対象ブロックを含むフレームと異なるフレーム内のブロックを選んでもよい。その場合は、対象ブロックと同じ空間位置のブロックとその近傍にあるブロック、あるいは対象ブロックの動きベクトルが参照するブロックとその近傍にあるブロック、あるいは対象ブロックとその近傍にあるブロックのそれぞれが参照するブロックを用いるのがよい。このように異なるフレームにある過去に符号化済みのブロックを用いる場合、そのブロックに関しては式（２）あるいは式（４）におけるｄｉｊが得られないため、代わりに定数を代入するのがよい。
【０１０１】
本実施形態によれば、対象ブロックの第１動きベクトルと、対象小ブロックの動きベクトルに相関があると考えられる過去の処理によって取得済みの動きベクトルのブロックの動きベクトルとから対象小ブロックの第２動きベクトルを生成し、対象ブロックの予測信号を小ブロック毎に生成することで、より精度の高い予測信号を生成することができる。これにより、符号量を減少させることができる。
【０１０２】
また、第２動きベクトルは第１動きベクトルに基づいて生成されるため、処理対象小ブロックに対する第２動きベクトルを復号化側に送る必要がないため、符号化されない。従って、第２動きベクトルにより符号量が増加することがない。これにより、対象ブロックの予測信号を対象ブロックよりも小さいブロックごとに生成する従来の方法に比べて動きベクトルの符号量を削減できる。
【０１０３】
また、対象ブロックの第１動きベクトルと、過去の処理によって取得済みの動きベクトルとを、それぞれの動きベクトルを用いた動き補償の精度と、対象小ブロックとの距離と、動きベクトル間での類似性との少なくともひとつに基づいて重み付けすることで、当該動きベクトルによって生成される予測信号の確からしさに基づいて、対象ブロックに対する適応的な予測信号の生成を行うことができ、予測精度を高めることができる。これにより、更に符号化及び復号化の情報圧縮の効率向上を図ることができる。
【０１０４】
更に、対象ブロックの第１動きベクトルを用いて生成された予測信号と、小ブロックごとに生成された予測信号から対象ブロックの残差信号がより小さくなる動きベクトルを用いて予測信号を生成することで、効果的に対象小ブロックに対する第２動きベクトルを利用することができる。これにより、確実に符号化及び復号化の情報圧縮の効率向上を図ることができる。
【０１０５】
［動画像復号化装置］
図８に、本発明の実施形態に係る動画像復号化装置２０の機能構成を示す。動画像復号化装置２０は、本実施形態に係る動画像符号化装置１０等により、上記の第２動きベクトルが用いられて符号化された動画像である圧縮データ（符号化データ）を復号化する装置である。図８に示すように、動画像復号化装置２０は、データ解析器２０１と、逆量子化器２０２と、逆変換器２０３と、フレームメモリ２０４と、動きベクトルメモリ２０５と、第２動きベクトル生成器２０６と、動きベクトル切替器２０７と、予測信号生成器２０８と、加算器２０９と、重み係数生成器２１０と、重み係数メモリ２１１とを備えて構成される。
【０１０６】
動画像復号化装置２０に入力される圧縮ストリームには、復号化対象となるブロックの残差信号（量子化された変換係数）と、復号化対象となるブロックの第１動きベクトルと、参照フレーム番号と、選択された動きベクトルに関する情報とが含まれている。
【０１０７】
データ解析器２０１は、ラインＬ２０１を経由して動画像復号化装置２０に入力された圧縮ストリームを解析することにより、当該圧縮ストリームの中から、直行変換および量子化された復号化の対象となるブロック（対象ブロック）の残差信号と、当該対象ブロックに対する第１動きベクトルとを抽出するデータ抽出手段である。データ解析器２０１は、抽出した残差信号を、ラインＬ２０２を経由して出力する。また、データ解析器２０１は、抽出した第１動きベクトルを、ラインＬ２０３を経由して出力する。また、データ解析器２０１は、対象ブロックの参照フレーム番号を抽出し、ラインＬ２０４を経由して出力する。また、データ解析器２０１は、選択された動きベクトルを示すインデックスを抽出し、ラインＬ２０５を経由して出力する。
【０１０８】
逆量子化器２０２は、ラインＬ２０２を経由して入力された量子化された変換係数を逆量子化して、復元された変換係数とする手段である。即ち、逆量子化器２０２は、データ解析器２０１により抽出された対象ブロックに関する残差信号を再生残差信号に復元する残差信号復元手段の一機能である。逆量子化器２０２は、復元された変換係数を、ラインＬ２０６を経由して出力する。
【０１０９】
逆変換器２０３は、ラインＬ２０６を経由して入力された変換係数を逆直交変換し、復元された残差信号（再生残差信号）とする手段である。即ち、逆変換器２０３は、データ解析器２０１により抽出された対象ブロックに関する残差信号を再生残差信号に復元する残差信号復元手段の一機能である。逆変換器２０３は、復元された残差信号を、ラインＬ２０７を経由して出力する。
【０１１０】
フレームメモリ２０４は、ラインＬ２０８を経由して入力される再生画像の信号（過去に復号化済みのフレーム画像信号（参照フレーム画像信号））を格納する手段である。フレームメモリ２０４は、格納している参照フレーム画像信号を、必要に応じてラインＬ２０９を経由して出力する。
【０１１１】
動きベクトルメモリ２０５は、過去に取得済みの動きベクトルとそれに対応した参照フレーム番号と併せて、ラインＬ２０３を経由して入力される対象ブロックの動きベクトルとラインＬ２０４を経由して入力される対象ブロックの参照フレーム番号とを格納する手段である。また、動きベクトルメモリ２０５は、ラインＬ２１６を経由して入力される第２動きベクトルを格納する。動きベクトルメモリ２０５は、格納した各情報を、必要に応じてラインＬ２１０を経由して出力する。
【０１１２】
第２動きベクトル生成器２０６は、対象ブロックが区分された複数の小領域（対象小ブロック）に対する動きベクトルである第２動きベクトルを生成する、予測信号生成手段の一機能である。具体的には、第２動きベクトル生成器２０６は、ラインＬ２０５を経由して入力される選択された動きベクトルを示すインデックスが第２動きベクトルを示している場合、ラインＬ２０３を経由して入力される第１動きベクトルと、Ｌ２０４を経由して入力される参照フレーム番号と、ラインＬ２１０を経由して入力される過去に取得済みの動きベクトルとその参照フレーム番号と、ラインＬ２１１を経由して入力される重み係数から、後述のフローに従って対象ブロックよりも小さいブロック（対象小ブロック）に対する第２動きベクトルを生成する。ここで、過去の処理によって取得済みの動きベクトルは、対象ブロック以外のブロックに対する第１動きベクトル及び第２動きベクトルの少なくとも何れかである。ラインＬ２０５を経由して入力される選択された動きベクトルを示すインデックスが第１動きベクトルを示している場合は何もしない。
【０１１３】
第２動きベクトル生成器２０６は、生成した第２動きベクトルを、ラインＬ２１２及びＬ２１６を経由して出力する。
【０１１４】
動きベクトル切替器２０７はラインＬ２０５を経由して入力される、選択された動きベクトルを示すインデックスにしたがって、ラインＬ２０３を経由して入力される第１動きベクトルとラインＬ２１２を経由して入力される第２動きベクトルとを切り替えてラインＬ２１３を経由して出力する予測信号生成手段の一機能である。上記の選択された動きベクトルを示すインデックスは、第１動きベクトルと第２動きベクトルとの何れを用いるかを示す指示情報である。
【０１１５】
なお、動きベクトル切替器２０７は無くてもよい。その場合は、何れか１つの動きベクトルに切り替えて出力する代わりに、常に第２動きベクトルを出力することが好ましい。
【０１１６】
予測信号生成器２０８は、動きベクトルに基づいて、対象ブロックに対する予測信号を生成する予測信号生成手段（の一機能）である。予測信号生成器２０８は、ラインＬ２１３を経由して入力される対象ブロックの動きベクトルと、ラインＬ２０４を経由して入力される参照フレーム番号と、ラインＬ２０９を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインＬ２１４を経由して出力する。なお、第２動きベクトルが入力される場合は、予測信号生成器２０８は、第２動きベクトルに基づいて、対象小ブロックに対する予測信号を生成することによって、対象ブロックに対する予測信号を生成する。
【０１１７】
加算器２０９は、ラインＬ２１４を経由して入力された対象ブロックの予測信号に、ラインＬ２０７を経由して入力された再生残差信号を加算することによって、対象ブロック信号（画素信号）を復元する画像復元手段である。加算器２０９は、復元した対象ブロック信号を、ラインＬ２０８を経由して出力する。
【０１１８】
重み係数生成器２１０は、ラインＬ２０７を経由して入力された残差信号と、ラインＬ２０５を経由して入力された選択した動きベクトルを示すインデックスから重み係数を生成する手段である。重み係数生成器２１０は、生成した重み係数を、ラインＬ２１５を経由して出力する。重み係数は選択した動きベクトルに該当するブロックに含まれる画素ごとの残差信号の合計を、そのブロックに含まれる画素数で割った値の逆数とする。このようにして算出された重み係数は、選択した動きベクトルによって生成された予測信号の確からしさ（選択した動きベクトルによる動き補償の効果の大きさ）を表している。
【０１１９】
なお、ブロックごとに量子化のステップＱが異なる場合、量子化ステップの違いによる重み係数のばらつきを回避するため、それぞれの画素の残差信号に量子化ステップの半分の値Ｑ／２を加算することで補正することが望ましい。具体的に例を挙げて説明すると、ある画素の残差が０、量子化ステップが１０であった場合、その画素の残差は５に補正される。残差が０、量子化ステップが２０であった場合、その画素の残差は１０に補正される。
【０１２０】
なお、重み係数生成器２１０に入力される残差信号は、ラインＬ２０７を経由して入力される代わりに、ラインＬ２０２やラインＬ２０６を経由して入力されてもよい。
【０１２１】
重み係数メモリ２１１は、ラインＬ２１５を経由して入力された重み係数を格納する手段である。重み係数メモリ２１１は、格納した重み係数を必要に応じてラインＬ２１１を経由して出力する。
【０１２２】
引き続いて、図９のフローチャートを用いて、本実施形態に係る動画像復号化装置２０による復号化処理（動画像復号化方法）を説明する。
【０１２３】
動画像復号化装置２０では、動画像符号化装置１０等により、上記の第２動きベクトルが用いられて符号化された動画像である圧縮データが入力される。動画像復号化装置２０に入力された圧縮データは、ラインＬ２０１を経由してデータ解析器２０１に入力される（Ｓ１１）。続いて、データ解析器２０１により、圧縮データから、復号化の対象となる対象ブロックの残差信号と、当該対象ブロックに対する第１動きベクトルと、対象ブロックの参照フレーム番号と、選択された動きベクトルを示すインデックスとが抽出され、それぞれに応じたラインＬ２０２，Ｌ２０３，Ｌ２０４，Ｌ２０５を経由して出力される（Ｓ１２、データ抽出ステップ）。
【０１２４】
続いて、残差信号が、逆量子化器２０２によって、残差信号（量子化された変換係数）が逆量子化されて復元された変換係数にされ、復元された変換係数が逆変換器２０３によって復元された残差信号（再生残差信号）にされる。再生残差信号は、ラインＬ２０７を経由して、逆変換器２０３から出力される（Ｓ１３、残差信号復元ステップ）。
【０１２５】
また、このときに、重み係数生成器２１０によって、ラインＬ２０７を経由して入力された残差信号と、ラインＬ２０５を経由して入力された選択した動きベクトルを示すインデックスとから重み係数が算出される。重み係数は、ラインＬ１１９を経由して、重み係数生成器２１０から重み係数メモリ２１１に出力されて、重み係数メモリ２１１に格納される。
【０１２６】
続いて、第１動きベクトルに基づいて、対象ブロックに対する予測信号が生成される（Ｓ１４、予測信号生成ステップ）。対象ブロックに対する予測信号の生成は、対象ブロックが区分された対象小ブロックに対する第２動きベクトルが第１動きベクトルに基づいて生成されて行われる。第２動きベクトルの生成については、より詳細に後述する。予測信号の生成では、動きベクトル選択器１０６によって、選択された動きベクトルを示すインデックスにしたがって、ラインＬ２０５を経由して入力される第１動きベクトルと、ラインＬ２１２を経由して入力される第２動きベクトルとから、予測信号の生成に用いる動きベクトルが選択される。
【０１２７】
続いて、選択された動きベクトルが、動きベクトル切替器２０７からラインＬ２１３を経由して、予測信号生成器２０８に入力される。続いて、予測信号生成器２０８によって、ラインＬ２１３を経由して入力される対象ブロックの動きベクトルと、ラインＬ２０４を経由して入力される参照フレーム番号と、ラインＬ２０９を経由して入力される参照フレーム画像信号とから、対象ブロックの予測画像信号が生成される。即ち、動きベクトル切替器２０７によって、第１動きベクトルが選択された場合は、対象ブロックそのものに対する予測信号が生成されて、第２動きブロックが選択された場合は、対象小ブロックに対する予測信号（各対象小ブロックに対する予測信号を集めると、対象ブロックに対する予測信号となる）が生成される。生成された対象ブロックに対する予測信号は、ラインＬ２１４を経由して、予測信号生成器２０８から出力される。また、ここで、動きベクトル切替器２０７に入力された第２動きベクトルは、動きベクトルメモリ２０５に入力される。
【０１２８】
続いて、加算器２０９によって、ラインＬ２０７を経由して入力された残差信号にラインＬ２１４を経由して入力された対象ブロックに対する予測信号が加算されて、対象ブロック信号が復元されて再生画像の信号が生成される（Ｓ１５、画像復元ステップ）。再生画像の信号は、加算器２０９からラインＬ２０８を経由してフレームメモリ２０４に入力され格納されて、参照フレーム画像信号として、予測信号の生成に用いられる。また、再生画像の信号は、加算器２０９からラインＬ２０８を経由して動画像復号化装置２０から出力される。
【０１２９】
続いて、動画像復号化装置２０では、全ての画素が復号化済みであるか否かが判断される（Ｓ１６）。全ての画素が復号化済みであると判断された場合は、動画像復号化装置２０による復号化処理は終了する。一方、全ての画素が復号化済みでないと判断された場合は、次の対象ブロック信号に対して、上記のＳ１２〜Ｓ１５の処理が行われる。上記が動画像復号化方法である。
【０１３０】
引き続いて、本発明の特徴である第２動きベクトルの生成について、より詳細に説明する。図１０に、第２動きベクトル生成器２０６における第２動きベクトルを生成する手順を説明するための模式図を示す。
【０１３１】
第２動きベクトルの生成には、過去に符号化済みのブロック（フレームメモリ２０４に参照フレーム画像信号が格納されているブロック）の動きベクトルが用いられる。互いに近傍にある動きベクトルには高い相関があると予想されるため、過去に符号化済みのブロックの動きベクトルの中でも対象ブロックの近傍のブロックを用いることが好ましい。
【０１３２】
図１０ではその一例として、対象ブロックをＢ２００とし、ブロックＢ２０１をブロックＢ２００の最も左上の画素の真左上の画素を含むブロック、ブロックＢ２０２をブロックＢ２００の最も左上の画素の真上の画素を含むブロック、ブロックＢ２０３をブロックＢ２００の最も右上の画素の真右上の画素を含むブロック、ブロックＢ２０４をブロックＢ１００の最も左上の画素の真左の画素を含むブロックとする。
【０１３３】
図１０ではブロックＢ２０１〜ブロックＢ２０４は対象ブロックと同じ大きさであるが、過去の処理によって対象ブロックよりも小さいブロック毎に予測信号が生成されている場合は、ブロックＢ１０１〜ブロックＢ１０４はその小さいブロックとする。何れのブロックを第２動きベクトルの生成に用いるかは、上記のように対象小ブロックとの位置関係等により予め設定されている。
【０１３４】
なお、過去の処理によって対象ブロックよりも小さいブロックごとに予測信号が生成されている場合であっても、対象ブロックと同じ大きさの各ブロックに含まれる複数の小さいブロックに対する残差信号の合計を、対象ブロックと同じ大きさの各ブロックに対する残差信号とすることで、対象ブロックと同じ大きさのブロックをブロックＢ２０１〜ブロックＢ２０４としてもよい。
【０１３５】
図１１は、第２動きベクトル生成器２０６における第２動きベクトルを生成する手順を説明するためのフローチャートである。以下の処理は、予測信号生成ステップに含まれる。
【０１３６】
第２動きベクトル生成器２０６では、対象小ブロックの形状はあらかじめ決められているものとする。図１０では対象ブロックの予測信号を同じ大きさの４つの正方形の小ブロックごとに生成しているが、それ以外の大きさ、形、数の小ブロックごとに生成してもよい。
【０１３７】
まず、第２動きベクトル生成器２０６によって、ラインＬ２０３を経由して入力される対象ブロックＢ２００の動きベクトルＭＶ０と、ラインＬ２０６を経由して入力される対象ブロックの動きベクトルＭＶ０の参照フレーム番号とが取得される（Ｓ２０１）。
【０１３８】
続いて、第２動きベクトル生成器２０６によって、ラインＬ２１０を経由して動きベクトルメモリ２０５から入力される過去に符号化済みのブロックＢ２０１、ブロックＢ２０２、ブロックＢ２０３、ブロックＢ２０４の動きベクトルＭＶｉ（ｉ＝１〜４）と、対応する参照フレーム番号と、ラインＬ２１１を経由して入力されるそれぞれの動きベクトルに対応する重み係数Ｃｉ（ｉ＝１〜４）とが取得される（Ｓ２０２）。
【０１３９】
なお、Ｓ２０２で取得される動きベクトルは、図１２のように、対象ブロックＢ２００を含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。
【０１４０】
スケーリングによって、対象ブロックを含むフレームの時刻ｔ０から、対象ブロックの動きベクトルが参照するフレームの時刻ｔ１までの時間的距離（ｔ０−ｔ１）を基準にして、取得した処理済みのブロックＢ１０１、Ｂ１０２、Ｂ１０３、Ｂ１０４の動きベクトルの大きさが変更される。具体的に一例を挙げると、ブロックＢ２０４の動きベクトルＭＶ４が参照するフレームの時刻をｔ２とすると、スケーリングされた動きベクトルＭＶ４’は、下記式（５）によって与えられるベクトルである。
【数５】
2008311781.tif 000007
【０１４１】
スケーリング処理によって、過去に符号化済みのブロックの動きベクトルが参照するフレームと対象ブロックの動きベクトルが参照するフレームが異なる場合でも、時間的距離に応じて変位量の補正をすることで、対象ブロックの動きベクトルが参照するフレームにおける過去に符号化済みのブロックの参照先を適切に決定することができる。
【０１４２】
なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。
【０１４３】
また、Ｓ２０２において処理済みのブロックそのもの、あるいは処理済みのブロックの動きベクトルが存在しない場合、そのブロックは除いて以下の処理を進める。処理済みのブロックそのもの、あるいは処理済みのブロックの動きベクトルが１つも存在しない場合は対象ブロックの動きベクトルのみから小ブロックの動きベクトルが生成される。
【０１４４】
続いて、第２動きベクトル生成器２０６によって、Ｓ２０２で取得された動きベクトルの重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉが算出されて、ＭＶ０の重み係数Ｃ０とされる（Ｓ２０３）。なお、ＭＶ０の重み係数Ｃ０の値としては、重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉを用いる代わりに、重み係数Ｃｉ（ｉ＝１〜４）の総和ΣＣｉに定数を乗じた値でもよい。重み係数Ｃｉ（ｉ＝１〜４）の平均値aveＣ１−４でもよい。重み係数Ｃｉ（ｉ＝１〜４）の平均値aveＣ１−４に定数を乗じた値でもよい。なお、重み係数Ｃｉが存在しない場合は、Ｃ０の値としては、予め設定された定数とされる。
【０１４５】
続いて、第２動きベクトル生成器２０６によって、対象小ブロックの中心位置と対象ブロックを含むそれぞれのブロックの中心位置との距離ｄｉｊ（ｉ＝０〜４，ｊ＝１〜４）が算出される。ここで、添え字ｊはｊ番目の対象小ブロックを表している（Ｓ２０４）。
【０１４６】
続いて、第２動きベクトル生成器２０６によって、対象ブロックを含めた全てのブロックの動きベクトルの平均値aveＭＶ０−４が算出される（Ｓ２０５）。
【０１４７】
続いて、対象ブロックを含めた全てのブロックの動きベクトルについて、平均値aveＭＶ０−４との差分Ｅｉ＝｜ＭＶｉ−aveＭＶ０−４｜（ｉ＝１〜４）が算出される（Ｓ２０６）。ここでＥｉ＝０となる場合は、後の処理に不都合を生じるため、代わりに十分小さな値を代入することとする。
【０１４８】
続いて、第２動きベクトル生成器２０６によって、対象小ブロックＢ１００ｊの第２動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が次式（６）により算出される（Ｓ２０７）。
【数６】
2008311781.tif 000008
ここで、ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）により算出される値は、第２動きベクトルを生成する際に足し合わされる動きベクトルに対する重み付けを示す係数である。ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）は、Ｃｉ，ｄｉｊ，Ｅｉの関数である。即ち、予測信号の確からしさに基づく重み、ブロック間の距離に基づく重み及び動きベクトル間の類似性に基づいて、それぞれの動きベクトルを足し合わせる際の重みを決定することができる。一例として、次式（７）のようにｆ（Ｃｉ，ｄｉｊ，Ｅｉ）をおくと予測信号の確からしさが高く、対象ブロックと距離が近く、周辺の動きベクトルとの類似性が高い動きベクトルの重みを上げることができる。
【数７】
2008311781.tif 000009
なお、上記の関数は、予測信号の確からしさを示すＣｉ、対象ブロックとの距離を示すｄｉｊ、及び周辺の動きベクトルとの類似性を示すＥｉの少なくとも何れか一つが用いられていればよい。
【０１４９】
最後に、対象小ブロックＢ２００ｊの動きベクトルＭＶ２００ｊ（ｊ＝１〜４）が第２動きベクトル生成器２０６から出力され、第２動きベクトル生成器２０６における処理が終了する（Ｓ２０８）。
【０１５０】
なお、図１１のフローチャートに示される一連の処理のうち、動きベクトルに関するものは、動きベクトルをｘ成分、ｙ成分に分けて成分ごとに処理をすることが好ましい。また、ｘ成分、ｙ成分に分けずに、ベクトルの差分の大きさ（具体的にはベクトルノルム等）を算出することで、動きベクトルのｘ成分、ｙ成分を同時に決定してもよい。
【０１５１】
なお、図１１のフローチャートに示される一連の処理において、ｆ（Ｃｉ，ｄｉｊ，Ｅｉ）はなくてもよい。その場合、それぞれの動きベクトルに対する重み付けは行われない。
【０１５２】
なお、第２動きベクトルの算出は、図１３のフローチャートに示される処理により行われてもよい。この処理は、対象小ブロックに対する第２動きベクトルを算出する際に、当該算出に適さない特異な動きベクトルを取り除く処理である。具体的には、図１１のフローチャートに示される一連の処理におけるＣｉ,Ｅｉに関する閾値を設け、周囲のベクトルと比較して確からしさの低いベクトルを、対象小ブロックに対する第２動きベクトルを算出する際に取り除き、考慮しないようにするものである。これにより、対象小ブロックの予測信号生成の精度を高める効果がある。
【０１５３】
まず、図１１のフローチャートのＳ２０１〜Ｓ２０３と同様に以下の処理が行われる。即ち、第２動きベクトル生成器２０６によって、対象ブロックＢ２００の動きベクトルＭＶ０と対象ブロックの動きベクトルＭＶ０の参照フレーム番号とが取得される（Ｓ３０１）。続いて、過去に符号化済みのブロックＢ２０１〜Ｂ２０４の動きベクトルＭＶｉ（ｉ＝１〜４）と、対応する参照フレーム番号と、それぞれの動きベクトルに対応する重み係数Ｃｉ（ｉ＝１〜４）とが取得される（Ｓ３０２）。続いて、ＭＶ０の重み係数Ｃ０が算出される（Ｓ３０３）。
【０１５４】
続いて、第２動きベクトル生成器２０６によって、重み係数の平均値aveＣ１−４が算出される（Ｓ３０４）。
【０１５５】
続いて、図４のフローチャートのＳ２０４〜Ｓ２０６と同様に以下の処理が行われる。即ち、第２動きベクトル生成器２０６によって、対象小ブロックの中心位置と対象ブロックを含むそれぞれのブロックの中心位置との距離ｄｉｊ（ｉ＝０〜４，ｊ＝１〜４）が算出される（Ｓ３０５）。続いて、対象ブロックを含めた全てのブロックの動きベクトルの平均値aveＭＶ０−４が算出される（Ｓ３０６）。続いて、対象ブロックを含めた全てのブロックの動きベクトルについて、平均値aveＭＶ０−４との差分Ｅｉ＝｜ＭＶｉ−aveＭＶ０−４｜（ｉ＝１〜４）が算出される（Ｓ３０７）。
【０１５６】
続いて、第２動きベクトル生成器２０６によって、各動きベクトルＥｉの平均値aveＥ０−４が算出される（Ｓ３０８）。
【０１５７】
続いて、第２動きベクトル生成器２０６によって、各動きベクトルに対して（各ｉ（ｉ＝０〜４）に対して）、重み係数ＣｉがＳ３０４で算出されたaveＣ１−４より小さい（Ｃｉ＜aveＣ１−４）、あるいは動きベクトルの差分ＥｉがＳ３０８で算出されたaveＥ０−４より大きい（Ｅｉ＞aveＥ０−４）ことを満たすか否かが判断される（Ｓ３０９）。なおここでの各閾値aveＣ１−４，aveＥ０−４は、それぞれ独立に定数を乗じることで補正されてもよい。
【０１５８】
Ｃｉ＜aveＣ１−４又はＥｉ＞aveＥ０−４を満たすと判断された場合、そのブロックの動きベクトルを対象小ブロックの動きベクトル生成に用いるか否かを示すインデックスＫｉに０が代入される（Ｓ３１０）。一方、Ｃｉ＜aveＣ１−４又はＥｉ＞aveＥ０−４を満たさないと判断された場合、Ｋｉに１が代入される（Ｓ３１１）。
【０１５９】
続いて、第２動きベクトル生成器２０６によって、対象小ブロックＢ２００ｊの動きベクトルＭＶ２００ｊ（ｊ＝１〜４）が次式（８）により算出される（Ｓ３１２）。
【数８】
2008311781.tif 000010
【０１６０】
最後に、対象小ブロックＢ２００ｊの動きベクトルＭＶ１００ｊ（ｊ＝１〜４）が第２動きベクトル生成器２０６から出力され、第２動きベクトル生成器２０６における処理が終了する（Ｓ３１３）。
【０１６１】
上記の一連の処理では、動きベクトルの信頼度が平均値より低い場合、又は動きベクトルの平均値との差分の絶対値が平均値より大きい場合には、その動きベクトルは第２動きベクトルの生成には用いられないことを示している。上記の条件を満たす動きベクトルは特異な動きベクトルであるので、これらを考慮しないようにすることで、対象小ブロックの予測信号生成の精度を高める効果がある。
【０１６２】
同様の効果を得る方法として、複数の組み合わせで過去に符号化済みのブロックを選び、それぞれの組み合わせで過去に符号化済みのブロックの動きベクトルの分散を計算し、そのうちもっとも分散が小さい組み合わせとなる過去に符号化済みのブロックの動きベクトルを用いて、対象ブロックの動きベクトルから対象小ブロックの動きベクトルを生成してもよい。
【０１６３】
上記の方法においては、過去に符号化済みのブロックと対象ブロックを含めたブロックから複数の組み合わせで動きベクトルを選び、その分散が最小となる組み合わせの動きベクトルを用いて対象小ブロックの動きベクトルを生成してもよい。
【０１６４】
なお、対象小ブロックの第２動きベクトルの生成の際に用いる過去に符号化済みのブロックは図３のように与える代わりに、対象ブロックに隣接する全てのブロックを用いてもよい、具体的には、図７（ａ）に示すように対象ブロックと１辺を共有する過去に符号化済みのブロック全てを用いてもよい。図７（ｂ）に示すように、対象ブロックと頂点を共有する過去に符号化済みの全てのブロックを用いてもよい。また、図７（ｃ）に示すように、対象小ブロックごとに異なる組み合わせで処理済みのブロックを用いてもよい。なお、図７においては、ハッチングされているブロックが対象小ブロックである。
【０１６５】
なお、対象小ブロックの第２動きベクトルの生成の際に用いる過去に符号化済みのブロックは図１０のように与える代わりに、対象ブロックを含むフレームと異なるフレーム内のブロックを選んでもよい。その場合は、対象ブロックと同じ空間位置のブロックとその近傍にあるブロック、あるいは対象ブロックの動きベクトルが参照するブロックとその近傍にあるブロック、あるいは対象ブロックとその近傍にあるブロックのそれぞれが参照するブロックを用いるのがよい。このように異なるフレームにある過去に符号化済みのブロックを用いる場合、そのブロックに関しては式（６）あるいは式（８）におけるｄｉｊが得られないため、代わりに定数を代入するのがよい。
【０１６６】
本実施形態によれば、対象ブロックの動きベクトルと、対象小ブロックの動きベクトルに相関があると考えられる過去の処理によって取得済みの動きベクトルのブロックの動きベクトルから対象小ブロックの動きベクトルを生成し、対象ブロックの予測信号を小ブロックごとに生成することで、より精度の高い予測信号を生成することができる。これにより、符号量を減少させることができる。
【０１６７】
また、第２動きベクトルは第１動きベクトルに基づいて生成されるため、処理対象小ブロックに対する第２動きベクトルを符号化側から取得しなくても、画素信号を復元することができる。従って、第２動きベクトルにより符号量が増加することがない。これにより、対象ブロックの予測信号を対象ブロックよりも小さいブロックごとに生成する従来の方法に比べて動きベクトルの符号量を削減できる。
【０１６８】
また、対象ブロックの動きベクトルと、過去の処理によって取得済みの動きベクトルを、それぞれの動きベクトルを用いた動き補償の精度と、対象小ブロックとの距離と、動きベクトル間での類似性の少なくともひとつに基づいて重み付けすることで、当該動きベクトルによって生成される予測信号の確からしさに基づいて、対象ブロックに対する適応的な予測信号の生成を行い、画素信号を復元することができる。即ち、上述した動画像符号化装置１０によって第２動きベクトルが用いられて符号化された圧縮データから画素信号を確実に復元することができる。
【０１６９】
さらに、第２動きベクトルを用いる場合のみに第２動きベクトルを生成するため、効率よく画素信号を復元することができる。
【０１７０】
次に、コンピュータを本発明による動画像符号化装置として動作させるための動画像符号化プログラムについて説明する。図１４に、本発明の実施形態に係る動画像符号化プログラムＰ１０の構成を示す。動画像符号化プログラムＰ１０は、コンピュータが備える、ＲＯＭや半導体メモリ等の記録媒体に形成されたプログラム格納領域内に格納されている。また、動画像符号化プログラムＰ１０は、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等の記録媒体に記憶されており、それらからコンピュータに読込まれてもよい。当該動画像符号化プログラムＰ１０によって、コンピュータが本発明による動画像符号化装置として動作することが可能になる。
【０１７１】
図１４に示すように、動画像符号化プログラムＰ１０は、処理を統括するメインモジュールＰ１０１と、ブロック分割モジュールＰ１０２と、変換モジュールＰ１０３と、量子化モジュールＰ１０４と、逆量子化モジュールＰ１０５と、逆変換モジュールＰ１０６と、記憶モジュールＰ１０７と、予測信号生成モジュールＰ１０８と、第１動きベクトル検出モジュールＰ１０９と、第２動きベクトル生成モジュールＰ１１０と、加算モジュールＰ１１１と、減算モジュールＰ１１２と、動きベクトル選択モジュールＰ１１３と、重み係数生成モジュールＰ１１４と、エントロピー符号化モジュールＰ１１５とを備えて構成されている。
【０１７２】
ブロック分割モジュールＰ１０２を実行させることにより実現される機能は、上述したブロック分割器１０１の機能と同様である。変換モジュールＰ１０３を実行させることにより実現される機能は、上述した変換器１０９の機能と同様である。量子化モジュールＰ１０４を実行させることにより実現される機能は、上述した量子化器１１０の機能と同様である。逆量子化モジュールＰ１０５を実行させることにより実現される機能は、上述した逆量子化器１１１の機能と同様である。逆変換モジュールＰ１０６を実行させることにより実現される機能は、上述した逆変換器１１２の機能と同様である。記憶モジュールＰ１０７を実行させることにより実現される機能は、上述したフレームメモリ１０２、動きベクトルメモリ１０４及び重み係数メモリ１１５の機能と同様である。予測信号生成モジュールＰ１０８を実行させることにより実現される機能は、上述した予測信号生成器１０７の機能と同様である。
【０１７３】
第１動きベクトル検出モジュールＰ１０９を実行させることにより実現される機能は、上述した第１動きベクトル検出器１０３の機能と同様である。第２動きベクトル生成モジュールＰ１１０を実行させることにより実現される機能は、上述した第２動きベクトル生成器１０５の機能と同様である。加算モジュールＰ１１１を実行させることにより実現される機能は、上述した加算器１１３の機能と同様である。減算モジュールＰ１１２を実行させることにより実現される機能は、上述した減算器１０８の機能と同様である。動きベクトル選択モジュールＰ１１３を実行させることにより実現される機能は、上述した動きベクトル選択器１０６の機能と同様である。重み係数生成モジュールＰ１１４を実行させることにより実現される機能は、上述した重み係数生成器１１４の機能と同様である。エントロピー符号化モジュールＰ１１５を実行させることにより実現される機能は、上述したエントロピー符号化器１１６の機能と同様である。
【０１７４】
次に、コンピュータを本発明による動画像復号化装置として動作させるための動画像復号化プログラムについて説明する。図１５に、本発明の実施形態に係る動画像復号化プログラムＰ２０の構成を示す。動画像復号化プログラムＰ２０は、コンピュータが備える、ＲＯＭや半導体メモリ等の記録媒体に形成されたプログラム格納領域内に格納されている。また、動画像復号化プログラムＰ２０は、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等の記録媒体に記憶されており、それらからコンピュータに読込まれてもよい。当該動画像復号化プログラムＰ２０によって、コンピュータが本発明による動画像復号化装置として動作することが可能になる。
【０１７５】
図１５に示すように、動画像復号化プログラムＰ２０は、処理を統括するメインモジュールＰ２０１と、データ解析モジュールＰ２０２と、逆量子化モジュールＰ２０３と、逆変換モジュールＰ２０４と、記憶モジュールＰ２０５と、予測信号生成モジュールＰ２０６と、第２動きベクトル生成モジュールＰ２０７と、加算モジュールＰ２０８と、動きベクトル切替モジュールＰ２０９と、重み係数生成モジュールＰ２１０とを備えて構成されている。
【０１７６】
データ解析モジュールＰ２０２を実行させることにより実現される機能は、上述したデータ解析器２０１の機能と同様である。逆量子化モジュールＰ２０３を実行させることにより実現される機能は、上述した逆量子化器２０２の機能と同様である。逆変換モジュールＰ２０４を実行させることにより実現される機能は、上述した逆変換器２０３の機能と同様である。記憶モジュールＰ２０５を実行させることにより実現される機能は、上述したフレームメモリ２０４、動きベクトルメモリ２０５及び重み係数メモリ２１１の機能と同様である。予測信号生成モジュールＰ２０６を実行させることにより実現される機能は、上述した予測信号生成器２０８の機能と同様である。第２動きベクトル生成モジュールＰ２０７を実行させることにより実現される機能は、上述した第２動きベクトル生成器２０６の機能と同様である。加算モジュールＰ２０８を実行させることにより実現される機能は、上述した加算器２０９の機能と同様である。動きベクトル切替モジュールＰ２０９を実行させることにより実現される機能は、上述した動きベクトル切替器２０７の機能と同様である。重み係数生成モジュールＰ２１０を実行させることにより実現される機能は、上述した重み係数生成器２１０の機能と同様である。
【０１７７】
図１６に、本実施形態に係る動画像符号化装置１０及び動画像復号化装置２０（動画像符号化プログラム及び動画像復号化プログラムが実行されるコンピュータ３０）のハードウェア構成を示す。図１７に、動画像符号化装置１０及び動画像復号化装置２０（動画像符号化プログラム及び動画像復号化プログラムが実行されるコンピュータ３０）の外観構成を示す。上記のコンピュータ３０としては、ＣＰＵを具備しソフトウエアによる処理や制御を行なうＤＶＤプレーヤ、セットトップボックス、携帯電話などを含む。
【０１７８】
図１６に示すように、コンピュータ３０は、フレキシブルディスクドライブ装置、ＣＤ−ＲＯＭドライブ装置、ＤＶＤドライブ装置等の読取装置３１と、オペレーティングシステムを常駐させた作業用メモリ（ＲＡＭ）３２と、記録媒体４０に記憶されたプログラムを記憶するメモリ３３と、ディスプレイといった表示装置３４と、入力装置であるマウス３５及びキーボード３６と、データ等の送受を行うための通信装置３７と、プログラムの実行を制御するＣＰＵ３８とを備えている。コンピュータ３０は、記録媒体４０が読取装置３１に挿入されると、読取装置３１から記録媒体４０に格納された動画像符号化プログラムＰ１０又は動画像復号化プログラムＰ２０にアクセス可能になり、当該動画像符号化プログラムＰ１０又は動画像復号化プログラムＰ２０によって、本発明による動画像符号化装置１０又は動画像復号化装置２０として動作することが可能になる。
【０１７９】
図１７に示すように、動画像符号化プログラムＰ１０又は動画像復号化プログラムＰ２０は、搬送波に重畳されたコンピュータデータ信号５０としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ３０は、通信装置３７によって受信した動画像符号化プログラムＰ１０又は動画像復号化プログラムＰ２０をメモリ３３に格納し、当該動画像符号化プログラムＰ１０又は動画像復号化プログラムＰ２０を実行することができる。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施形態に係る動画像符号化装置の構成を示す図である。
【図２】本発明の実施形態に係る動画像符号化装置により実行される符号化処理（動画像符号化方法）を示すフローチャートである。
【図３】動画像符号化装置において生成される第２動きベクトルを示した図である。
【図４】動画像符号化装置における第２動きベクトルの生成処理を示すフローチャートである。
【図５】動きベクトルのスケーリングを示す図である。
【図６】動画像符号化装置における第２動きベクトルの生成処理の別の例を示すフローチャートである。
【図７】対象小ブロックと、当該対象小ブロックにおける第２動きベクトルの生成に用いられる動きベクトルに係るブロックとの関係を示した図である。
【図８】本発明の実施形態に係る動画像復号化装置の構成を示す図である。
【図９】本発明の実施形態に係る動画像復号化装置により実行される復号化処理（動画像復号化方法）を示すフローチャートである。
【図１０】動画像復号化装置において生成される第２動きベクトルを示した図である。
【図１１】動画像復号化装置における第２動きベクトルの生成処理を示すフローチャートである。
【図１２】動きベクトルのスケーリングを示す図である。
【図１３】動画像復号化装置における第２動きベクトルの生成処理の別の例を示すフローチャートである。
【図１４】本発明の実施形態に係る動画像符号化プログラムの構成を示す図である。
【図１５】本発明の実施形態に係る動画像復号プログラムの構成を示す図である。
【図１６】記録媒体に記録されたプログラムを実行されたプログラムを実行するためのコンピュータのハードウェア構成を示す図である。
【図１７】記録媒体に記録されたプログラムを実行されたプログラムを実行するためのコンピュータの斜視図である。
【符号の説明】
【０１８１】
１０…動画像符号化装置、１０１…ブロック分割器、１０２…フレームメモリ、１０３…第１動きベクトル検出器、１０４…動きベクトルメモリ、１０５…第２動きベクトル生成器、１０６…動きベクトル選択器、１０７…予測信号生成器、１０８…減算器、１０９…変換器、１１０…量子化器、１１１…逆量子化器、１１２…逆変換器、１１３…加算器、１１４…重み係数生成器、１１５…重み係数メモリ、１１６…エントロピー符号化器、２０…動画像復号化装置、２０１…データ解析器、２０２…逆量子化器、２０３…逆変換器、２０４…フレームメモリ、２０５…動きベクトルメモリ、２０６…第２動きベクトル生成器、２０７…動きベクトル切替器、２０８…予測信号生成器、２０９…加算器、２１０…重み係数生成器、２１１…重み係数メモリ、Ｐ１０…動画像符号化プログラム、Ｐ１０１…メインモジュール、Ｐ１０２…ブロック分割モジュール、Ｐ１０３…変換モジュール、Ｐ１０４…量子化モジュール、Ｐ１０５…逆量子化モジュール、Ｐ１０６…逆変換モジュール、Ｐ１０７…記憶モジュール、Ｐ１０９…予測信号生成モジュール、Ｐ１０９…第１動きベクトル検出モジュール、Ｐ１１０…第２動きベクトル生成モジュール、Ｐ１１１…加算モジュール、Ｐ１１２…減算モジュール、Ｐ１１３…動きベクトル選択モジュール、Ｐ１１４…重み係数生成モジュール、Ｐ１１５…エントロピー符号化モジュール、Ｐ２０…動画像復号化プログラム、Ｐ２０１…メインモジュール、Ｐ２０２…データ解析モジュール、Ｐ２０３…逆量子化モジュール、Ｐ２０４…逆変換モジュール、Ｐ２０５…記憶モジュール、Ｐ２０６…予測信号生成モジュール、Ｐ２０７…第２動きベクトル生成モジュール、Ｐ２０８…加算モジュール、Ｐ２０９…動きベクトル切替モジュール、Ｐ２１０…重み係数生成モジュール、３０…コンピュータ、３１…読取装置、３２…作業用メモリ、３３…メモリ、３４…表示装置、３５…マウス、３６…キーボード、３７…通信装置、３８…ＣＰＵ、４０…記録媒体、５０…コンピュータデータ信号。
【図１】
2008311781.tif 000011
【図２】
2008311781.tif 000012
【図３】
2008311781.tif 000013
【図４】
2008311781.tif 000014
【図５】
2008311781.tif 000015
【図６】
2008311781.tif 000016
【図７】
2008311781.tif 000017
【図８】
2008311781.tif 000018
【図９】
2008311781.tif 000019
【図１０】
2008311781.tif 000020
【図１１】
2008311781.tif 000021
【図１２】
2008311781.tif 000022
【図１３】
2008311781.tif 000023
【図１４】
2008311781.tif 000024
【図１５】
2008311781.tif 000025
【図１６】
2008311781.tif 000026
【図１７】
2008311781.tif 000027