(57)【要約】【課題】適切な予測ベクトルを生成し予測情報を付加することなく符号量を低減させる。【解決手段】符号化対象ブロックに隣接するブロックの第１動きベクトルと、符号化対象ブロックが参照する参照ピクチャにおける、符号化対象ブロックと同位置の参照ブロックに隣接するブロックの第２動きベクトルとを取得し、第１動きベクトルと第２動きベクトルの配置に類似性があるか判定する類似性判定部(101)と、類似性があると判定した場合には、第２動きベクトル及び参照ブロックの動きベクトルの配置から水平エッジが存在しているか判定する水平エッジ判定部（102）と、水平エッジが存在していると判定した場合には符号化対象ブロックと水平方向に隣接したブロックの第１動きベクトルを予測ベクトルとし、類似性がないか水平エッジが存在していないと判定した場合には第１動きベクトルの中央値又は平均値を予測ベクトルとする予測ベクトル決定部(103)とを備える。【選択図】図１
2011223071.tif 000002
【特許請求の範囲】
【請求項１】
動き補償予測を用いてブロック単位で動画像を符号化する際に、符号化対象ブロックの動きベクトルを、符号化対象ブロックが参照する参照ピクチャの動きベクトルを用いて予測する予測ベクトル生成器であって、
符号化対象ブロックに隣接する符号化済みのブロックのうち、少なくとも該符号化対象ブロックに水平方向に隣接するブロックを含む複数の第１隣接ブロックの複数の第１動きベクトルを取得するとともに、参照ピクチャにおいて前記符号化対象ブロックと同じ空間位置に位置する参照ブロックに隣接するブロックのうち、少なくとも該参照ブロックに水平方向に隣接するブロックを含む複数の第２隣接ブロックの複数の第２動きベクトルを取得し、前記複数の第１動きベクトルと前記複数の第２動きベクトルの配置に類似性があるか否かを判定する類似性判定部と、
前記類似性判定部によって前記類似性があると判定した場合には、前記複数の第２動きベクトル、及び前記参照ブロックの第３動きベクトルの配置から水平エッジが存在しているか否かを判定する水平エッジ判定部と、
前記水平エッジ判定部によって前記水平エッジが存在していると判定した場合には、前記複数の第１動きベクトルのうち、符号化対象ブロックと水平方向に隣接したブロックの第１動きベクトルを予測ベクトルと決定して出力し、前記類似性判定部によって前記類似性がないと判定した場合、又は前記水平エッジ判定部によって前記水平エッジが存在していないと判定した場合には、前記複数の第１動きベクトルの中央値又は平均値を予測ベクトルと決定して出力する予測ベクトル決定部と、
を備えることを特徴とする予測ベクトル生成器。
【請求項２】
前記類似性判定部は、２つの前記第１動きベクトルで構成されるベクトル組のうち類似度が最大となる第１ベクトル組を求めるとともに、２つの前記第２動きベクトルで構成されるベクトルの組のうち類似度が最大となる第２ベクトル組を求め、前記第１ベクトル組に対応する隣接ブロックと前記第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置する場合には前記類似性があると判定し、前記第１ベクトル組に対応する隣接ブロックと前記第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置しない場合には前記類似性がないと判定することを特徴とする、請求項１に記載の予測ベクトル生成器。
【請求項３】
前記水平エッジ判定部は、前記第２動きベクトルと前記第３動きベクトルで構成されるベクトル組のうち類似度が最大となる第３ベクトル組を求め、該第３ベクトル組の第２動きベクトルが前記参照ブロックと水平方向に隣接したブロックの動きベクトルである場合には水平エッジが存在していると判定し、該第３ベクトル組の第２動きベクトルが前記参照ブロックと水平方向に隣接したブロックの動きベクトルでない場合には水平エッジが存在していないと判定することを特徴とする、請求項１又は２に記載の予測ベクトル生成器。
【請求項４】
前記複数の第１隣接ブロックは、前記符号化対象ブロックに対し、左側に隣接するブロック、上側に隣接するブロック、及び右上側に隣接するブロックの３つの隣接ブロックからなり、
前記複数の第１動きベクトルは、該３つの隣接ブロックの各動きベクトルからなり、
前記複数の第２隣接ブロックは、前記参照ブロックに対し、左側に隣接するブロック、上側に隣接するブロック、及び右上側に隣接するブロックの３つの参照隣接ブロックからなり、
前記複数の第２動きベクトルは、該３つの参照隣接ブロックの各動きベクトルからなることを特徴とする、請求項１から３のいずれか一項に記載の予測ベクトル生成器。
【請求項５】
前記類似度は、２つの動きベクトルの内積、又は２つの動きベクトルの水平方向成分及び垂直方向成分の各二乗誤差の和の逆数により求めることを特徴とする、請求項１から４のいずれか一項に記載の予測ベクトル生成器。
【請求項６】
請求項１から５のいずれか一項に記載の予測ベクトル生成器を備えることを特徴とする符号化装置。
【請求項７】
請求項１から５のいずれか一項に記載の予測ベクトル生成器を備えることを特徴とする復号装置。
【請求項８】
動き補償予測を用いてブロック単位で動画像を符号化する際に、符号化対象ブロックの動きベクトルを、符号化対象ブロックが参照する参照ピクチャの動きベクトルを用いて予測する予測ベクトル生成器として機能するコンピュータに、
符号化対象ブロックに隣接する符号化済みのブロックのうち、少なくとも該符号化対象ブロックに水平方向に隣接するブロックを含む複数の第１隣接ブロックの複数の第１動きベクトルを取得するとともに、参照ピクチャにおいて前記符号化対象ブロックと同じ空間位置に位置する参照ブロックに隣接するブロックのうち、少なくとも該参照ブロックに水平方向に隣接するブロックを含む複数の第２隣接ブロックの複数の第２動きベクトルを取得し、前記複数の第１動きベクトルと前記複数の第２動きベクトルの配置に類似性があるか否かを判定するステップと、
前記類似性判定部によって前記類似性があると判定した場合には、前記複数の第２動きベクトル、及び前記参照ブロックの第３動きベクトルの配置から水平エッジが存在しているか否かを判定するステップと、
前記水平エッジ判定部によって前記水平エッジが存在していると判定した場合には、前記複数の第１動きベクトルのうち、符号化対象ブロックと水平方向に隣接したブロックの第１動きベクトルを予測ベクトルと決定して出力し、前記類似性判定部によって前記類似性がないと判定した場合、又は前記水平エッジ判定部によって前記水平エッジが存在していないと判定した場合には、前記複数の第１動きベクトルの中央値又は平均値を予測ベクトルと決定して出力するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測を用いてブロック単位で動画像を符号化する際に、符号化対象ブロックの動きベクトルを予測する、予測ベクトル生成器、符号化装置、復号装置、及びプログラムに関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式には、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式やＭＰＥＧ−２方式などが広く用いられている。これらの方式による動画像の圧縮符号化処理では、インター予測が用いられている。インター予測とは、既に符号化されたピクチャから現ピクチャへの動きを表す動きベクトルを推定し、この動きベクトルを用いて動き補償を行い、現ピクチャの予測信号を生成する技術である。この予測信号と現ピクチャの差分信号に直交変換（例えば、ＤＣＴ；Discrete Cosine Transform）処理を施し、直交変換係数を量子化することで動画像は圧縮符号化される。
【０００３】
図１１は、従来のＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式（以下、「従来の方式」という。）における符号化装置３の構成を示すブロック図である。符号化装置３は、減算部１１と、直交変換部１２と、量子化部１３と、逆量子化部１４と、逆直交変換部１５と、加算部１６と、メモリ１７と、イントラ予測部１８と、動き補償部１９と、動き予測部２０と、切替えスイッチ２１と、予測ベクトル生成部２２と、差分ベクトル生成部２３と、差分ベクトル量子化部２４と、可変長符号化部２５とを備える。
【０００４】
減算部１１は、入力画像と、切替えスイッチ２１を介してイントラ予測部１８又は動き補償部１９から入力される予測画像との差分画像を生成し、直交変換部１２に出力する。
【０００５】
直交変換部１２は、減算部１１から入力される差分画像に対して小領域の画像ブロック（以下、単に「ブロック」という。）ごとに直交変換を施し、直交変換係数を量子化部１３に出力する。
【０００６】
量子化部１３は、直交変換部１２から入力される直交変換係数に対して量子化テーブルを選択して量子化処理を行い、可変長符号化部２５及び逆量子化部１４に出力する。
【０００７】
逆量子化部１４は、量子化部１３から入力される量子化された直交変換係数に対して逆量子化処理を行い、逆直交変換部１５に出力する。
【０００８】
逆直交変換部１５は、逆量子化部１４から入力される直交変換係数に対して逆直交変換（例えば、ＩＤＣＴ；Inverse Discrete Cosine Transform）処理を施し、加算部１６に出力する。
【０００９】
加算部１６は、逆直交変換部１５から入力される逆直交変換した画像と、切替えスイッチ２１を介してイントラ予測部１８又は動き補償部１９から入力される予測画像とを加算して復号画像を生成し、メモリ１７に出力する。
【００１０】
イントラ予測部１８は、メモリ１７に記憶された符号化対象ブロック（以下、「対象ブロック」という。）に隣接する符号化済みのブロックの復号画像を参照して予測画像を生成し、切替えスイッチ２１を介して減算部１１及び加算部１６に出力する。
【００１１】
動き補償部１９は、メモリ１７に記憶された復号画像に対し、動き予測部２０から入力される動きベクトルを用いて動き補償を行って予測画像を生成し、切替えスイッチ２１を介して減算部１１及び加算部１６に出力する。
【００１２】
動き予測部２０は、入力画像に対して、メモリ１７に記憶された複数の過去及び／又は未来のピクチャを参照して動きベクトルを生成し、動き補償部１９、予測ベクトル生成部２２及び差分ベクトル生成部２３に出力する。
【００１３】
切替えスイッチ２１は、イントラ予測部１８から入力される予測画像と、動き補償部１９から入力される予測画像とを切替えて、減算部１１及び加算部１６に出力する。
【００１４】
予測ベクトル生成部２２は、動き予測部２０から入力される対象ブロックに隣接する符号化済みのブロックの動きベクトルから、対象ブロックの動きベクトルを予測した予測ベクトルを生成し、差分ベクトル生成部２３に出力する。
【００１５】
差分ベクトル生成部２３は、動き予測部２０から入力される対象ブロックの動きベクトルと、予測ベクトル生成部２２から入力される予測ベクトルとの差分ベクトルを算出し、差分ベクトル量子化部２４に出力する。
【００１６】
差分ベクトル量子化部２４は、差分ベクトル生成部２３から入力される差分ベクトルに対して量子化処理を行い、可変長符号化部２５に出力する。
【００１７】
可変長符号化部２５は、量子化部１３から入力される量子化された直交変換係数についてスキャンを行って可変長符号化処理を施しビットストリームを生成するとともに、差分ベクトル量子化部２４から入力される動きベクトルの情報も可変長符号化を施し、符号化データを外部に出力する。
【００１８】
一般にブロック単位での動き補償予測を行う場合、対象ブロックの動きベクトルは対象ブロックの周囲のブロックの動きベクトルと強い相関がある。そのため、従来の方式では、予測ベクトルとして対象ブロックに隣接するブロック（以下、「隣接ブロック」という。）の動きベクトル（以下、「隣接ベクトル」という。）の中央値を求めている。即ち、対象ブロックの左側、上側、右上側に隣接するブロックの隣接ベクトルをそれぞれｍｖＡ，ｍｖＢ，ｍｖＣ、予測ベクトルをＰとすると、次式（１）により予測ベクトルＰの水平方向成分及び垂直方向成分を求めている。
【００１９】
P(x)＝median (mvA(x），mvB(x），mvC(x))
P(y)＝median (mvA(y），mvB(y），mvC(y))    （１）
ここで、（ｘ）はベクトルの水平方向成分を示し、（ｙ）はベクトルの垂直方向成分を示し、medianは中央値を示す。
【００２０】
しかしながら、この技法では、符号量の観点から最適な予測でない場合がある。図１２は、従来の方式における動きベクトルの予測を説明する図である。対象ブロックＸと隣接ブロックＡ，Ｂ，Ｃとの間に絵柄の水平エッジが存在する場合など、ブロックＢ，Ｃと、ブロックＡ，Ｘとで画像の動く方向が異なる場合には、対象ブロックＸの動きベクトルは隣接ベクトルｍｖＡに類似していると推測される。しかし、隣接ベクトルが図に示す配置関係にある場合には、式（１）によりＰ＝ｍｖＢとなり、隣接ベクトルｍｖＢが予測ベクトルとされてしまう。
【００２１】
これを解決するために、それぞれの隣接ベクトルの評価基準として、それぞれが該当するブロックの差分ベクトルの符号量を評価値として用いる技法が提案されている（例えば、特許文献１参照）。この技法では、対象ブロックの上側に隣接するブロックの評価値が閾値より大きい場合にはこの隣接ベクトルは予測ベクトルの生成に適していないと判定し、左側に隣接するブロックのｍｖＡを予測ベクトルとする。
【００２２】
また、それぞれの隣接ベクトルを予測ベクトルとして用いた場合の符号量の大きさを評価基準として隣接ベクトルを評価する技法が提案されている（例えば、非特許文献１参照）。この技法では、符号量が最も小さくなる隣接ベクトルを予測ベクトルとし、選択された隣接ベクトルを示す情報を付加情報として符号化している。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００９−２１２６６７号公報
【非特許文献】
【００２４】
【非特許文献１】Tomoyuki Yamamoto, “A new Scheme for motion vector predictor encoder”, ITU-T SG16, VCEG-AF13, Apr.2007
【発明の概要】
【発明が解決しようとする課題】
【００２５】
しかし、特許文献１、非特許文献１のいずれの技法においても、予測ベクトル生成に関する予測情報を付加したうえで符号化を行っているため、従来の方式に比べて符号量が増大してしまうという問題があった。
【００２６】
本発明の目的は、上記問題を解決するため、適切な予測ベクトルを生成し、予測情報を付加することなく、符号量を低減可能な予測ベクトル生成器、符号化装置、復号装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【００２７】
上記課題を解決するため、本発明に係る予測ベクトル生成器は、動き補償予測を用いてブロック単位で動画像を符号化する際に、符号化対象ブロックの動きベクトルを、符号化対象ブロックが参照する参照ピクチャの動きベクトルを用いて予測する予測ベクトル生成器であって、符号化対象ブロックに隣接する符号化済みのブロックのうち、少なくとも該符号化対象ブロックに水平方向に隣接するブロックを含む複数の第１隣接ブロックの複数の第１動きベクトル（隣接ベクトル）を取得するとともに、参照ピクチャにおいて前記符号化対象ブロックと同じ空間位置に位置する参照ブロック（参照対象ブロック）に隣接するブロックのうち、少なくとも該参照ブロックに水平方向に隣接するブロックを含む複数の第２隣接ブロックの複数の第２動きベクトル（参照隣接ベクトル）を取得し、前記複数の第１動きベクトルと前記複数の第２動きベクトルの配置に類似性があるか否かを判定する類似性判定部と、前記類似性判定部によって前記類似性があると判定した場合には、前記複数の第２動きベクトル、及び前記参照ブロックの第３動きベクトル（参照対象ベクトル）の配置から水平エッジが存在しているか否かを判定する水平エッジ判定部と、前記水平エッジ判定部によって前記水平エッジが存在していると判定した場合には、前記複数の第１動きベクトルのうち、符号化対象ブロックと水平方向に隣接したブロックの第１動きベクトルを予測ベクトルと決定して出力し、前記類似性判定部によって前記類似性がないと判定した場合、又は前記水平エッジ判定部によって前記水平エッジが存在していないと判定した場合には、前記複数の第１動きベクトルの中央値又は平均値を予測ベクトルと決定して出力する予測ベクトル生成部と、備えることを特徴とする。
【００２８】
また、本発明に係る予測ベクトル生成器において、前記類似性判定部は、２つの前記第１動きベクトルで構成されるベクトル組のうち類似度が最大となる第１ベクトル組を求めるとともに、２つの前記第２動きベクトルで構成されるベクトルの組のうち類似度が最大となる第２ベクトル組を求め、前記第１ベクトル組に対応する隣接ブロックと前記第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置する場合には前記類似性があると判定し、前記第１ベクトル組に対応する隣接ブロックと前記第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置しない場合には前記類似性がないと判定することを特徴とする。
【００２９】
また、本発明に係る予測ベクトル生成器において、前記水平エッジ判定部は、前記第２動きベクトルと前記第３動きベクトルで構成されるベクトル組のうち類似度が最大となる第３ベクトル組を求め、該第３ベクトル組の第２動きベクトルが前記参照ブロックと水平方向に隣接したブロックの動きベクトルである場合には水平エッジが存在していると判定し、該第３ベクトル組の第２動きベクトルが前記参照ブロックと水平方向に隣接したブロックの動きベクトルでない場合には水平エッジが存在していないと判定することを特徴とする。
【００３０】
また、本発明に係る予測ベクトル生成器において、前記複数の第１隣接ブロックは、前記符号化対象ブロックに対し、左側に隣接するブロック、上側に隣接するブロック、及び右上側に隣接するブロックの３つの隣接ブロックからなり、前記複数の第１動きベクトルは、該３つの隣接ブロックの各動きベクトルからなり、前記複数の第２隣接ブロックは、前記参照ブロックに対し、左側に隣接するブロック、上側に隣接するブロック、及び右上側に隣接するブロックの３つの参照隣接ブロックからなり、前記複数の第２動きベクトルは、該３つの参照隣接ブロックの各動きベクトルからなることを特徴とする。
【００３１】
また、本発明に係る予測ベクトル生成器において、前記類似度は、２つの動きベクトルの内積、又は２つの動きベクトルの水平方向成分及び垂直方向成分の各二乗誤差の和の逆数により求めることを特徴とする。
【００３２】
さらに、本発明に係る符号化装置は、上述した予測ベクトル生成器を備えることを特徴とする。
【００３３】
さらに、本発明に係る復号装置は、上述した予測ベクトル生成器を備えることを特徴とする。
【００３４】
さらに、上記課題を解決するために、本発明は、動き補償予測を用いてブロック単位で動画像を符号化する際に、符号化対象ブロックの動きベクトルを、符号化対象ブロックが参照する参照ピクチャの動きベクトルを用いて予測する予測ベクトル生成器として機能するコンピュータに、符号化対象ブロックに隣接する符号化済みのブロックのうち、少なくとも該符号化対象ブロックに水平方向に隣接するブロックを含む複数の第１隣接ブロックの複数の第１動きベクトルを取得するとともに、参照ピクチャにおいて前記符号化対象ブロックと同じ空間位置に位置する参照ブロックに隣接するブロックのうち、少なくとも該参照ブロックに水平方向に隣接するブロックを含む複数の第２隣接ブロックの複数の第２動きベクトルを取得し、前記複数の第１動きベクトルと前記複数の第２動きベクトルの配置に類似性があるか否かを判定するステップと、前記類似性判定部によって前記類似性があると判定した場合には、前記複数の第２動きベクトル、及び前記参照ブロックの第３動きベクトルの配置から水平エッジが存在しているか否かを判定するステップと、前記水平エッジ判定部によって前記水平エッジが存在していると判定した場合には、前記複数の第１動きベクトルのうち、符号化対象ブロックと水平方向に隣接したブロックの第１動きベクトルを予測ベクトルと決定して出力し、前記類似性判定部によって前記類似性がないと判定した場合、又は前記水平エッジ判定部によって前記水平エッジが存在していないと判定した場合には、前記複数の第１動きベクトルの中央値又は平均値を予測ベクトルと決定して出力するステップと、を実行させるためのプログラムとしても特徴付けられる。
【発明の効果】
【００３５】
本発明によれば、予測ベクトルを生成する際に、対象ブロックが参照する参照ピクチャの動きベクトルを用いて予測ベクトルを生成するため、従来の方式に対して新たな付加情報を添付することなく、予測ベクトルの生成により適した隣接ベクトルを選択することができ、符号量を低減することができるようになる。
【図面の簡単な説明】
【００３６】
【図１】本発明による一実施例の予測ベクトル生成器の構成を示すブロック図である。
【図２】本発明による一実施例の予測ベクトル生成器に入力される動きベクトルの例を示す図である。
【図３】対象ブロックのサイズと隣接するブロックのサイズが同一でない場合の例を示す図である。
【図４】本発明による一実施例の予測ベクトル生成器の動作を説明する図である。
【図５】本発明による一実施例の予測ベクトル生成器の動作を示すフローチャートである。
【図６】本発明による一実施例の予測ベクトル生成器の予測ベクトル決定部の構成を示すブロック図である。
【図７】本発明による一実施例の予測ベクトル生成器を備える符号化装置の構成を示すブロック図である。
【図８】本発明による一実施例の予測ベクトル生成器を備える復号装置の構成を示すブロック図である。
【図９】対象ブロックの左側に垂直エッジが存在する場合の動作を説明する図である。
【図１０】対象ブロックの右側に垂直エッジが存在する場合の動作を説明する図である。
【図１１】従来のＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式における符号化装置の構成を示すブロック図である。
【図１２】従来のＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式における動きベクトルの予測を説明する図である。
【発明を実施するための形態】
【００３７】
［予測ベクトル生成器］
本発明による一実施例の予測ベクトル生成器１０について、図面を参照して詳細に説明する。図１は、本発明による一実施例の予測ベクトル生成器１０の構成を示すブロックである。本発明による予測ベクトル生成器１０は、類似性判定部１０１と、水平エッジ判定部１０２と、予測ベクトル決定部１０３とを備える。
【００３８】
図２は、予測ベクトル生成器１０に入力される動きベクトルの例を示す図である。図２（ａ）は、現ピクチャ（符号化対象ピクチャ）における、対象ブロックＸと、隣接ブロックＡ，Ｂ，Ｃを示している。また、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣを示している。図２（ｂ）は、対象ブロックが参照するピクチャ（以下、「参照ピクチャ」という。）における、対象ブロックＸと同じ空間位置に位置するブロック（以下、「参照対象ブロック」という。）Ｘｒと、参照対象ブロックＸｒに隣接するブロック（以下、「参照隣接ブロック」という。）Ａｒ，Ｂｒ，Ｃｒを示している。また、参照隣接ブロックの動きベクトル（以下、「参照隣接ベクトル」という。）ｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ、及び参照対象ブロックＸｒの動きベクトル（以下、「参照対象ベクトル」という。）ｍｖＸｒを示している。予測ベクトル生成器１０には、隣接ベクトル、参照隣接ベクトル、及び参照対象ベクトルが入力される。
【００３９】
ここで、対象ブロックのサイズと隣接ブロックのサイズは同一でなくてもよい。ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式では、動き補償予測をする際に、１６画素×１６ライン、１６画素×８ライン、８画素×１６ライン、８画素×８ライン、８画素×４ライン、４画素×８ライン、４画素×４ラインのブロックサイズの中から最適なものを切替えて用いることができる。このような可変ブロックサイズ動き補償を行う場合には、図３に示すように、対象ブロックの上側に複数の隣接ブロックがあるときは、その中の一番左のブロックを隣接ブロックＢとする。また、対象ブロックの左側に複数の隣接ブロックがあるときは、その中の一番上のブロックを隣接ブロックＡとする。これは、参照ピクチャにおいても同様である。
【００４０】
また、隣接ブロックは、対象ブロックに隣接した符号化済みのブロックのうち、少なくとも対象ブロックに水平方向に隣接するブロックを含む複数のブロックであればよい。以下では、一例として、従来の方式と同様に、隣接ブロックとして対象ブロックの左側、上側、右上側に隣接する３つのブロックを用いる場合について説明する。
【００４１】
類似性判定部１０１は、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣ、及び参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒを取得し、隣接ベクトルと参照隣接ベクトルの配置を比較して類似性があるか否かを判定する。そして、ベクトルの配置に類似性があるか否かの情報を類似性フラグflag-simとして水平エッジ判定部１０２に出力する。隣接ベクトルと参照隣接ベクトルの配置に類似性があると判定した場合には類似性フラグflag-simを１とし、類似性がないと判定した場合には類似性フラグflag-simを０とする。
【００４２】
水平エッジ判定部１０２は、参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ、及び参照対象ベクトルｍｖＸｒを取得し、類似性判定部１０１から入力される類似性フラグflag-simが１、即ち隣接ベクトルと参照隣接ベクトルの配置関係が類似していると判定された場合には、参照隣接ベクトル及び参照対象ベクトルの配置を比較し、水平エッジが存在しているか否かを判定する。そして、水平エッジが存在しているか否かの情報をエッジフラグflag-edとして予測ベクトル決定部１０３に出力する。水平エッジが存在していると判定した場合にはエッジフラグflag-edを１とし、水平エッジが存在していないと判定した場合にはエッジフラグflag-edを０とする。flag-simが０、即ち隣接ベクトルと参照隣接ベクトルの配置関係が類似していないと判定された場合には、水平エッジの判定は行わない。
【００４３】
予測ベクトル決定部１０３は、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣを取得し、水平エッジ判定部１０２から入力されるエッジフラグflag-edに基づいて予測ベクトルＰを決定し、外部に出力する。
【００４４】
図５は、本発明による予測ベクトル生成器１０の動作を示すフローチャートである。本発明による予測ベクトル生成器１０は、ステップＳ１０１にて、類似性判定部１０１により、類似性フラグflag-simを生成する。類似性判定部１０１は、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣのうちの２つの隣接ベクトルで構成されるベクトル組の中から類似度が最大となる第１ベクトル組を求めるとともに、参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒのうちの２つの参照隣接ベクトルで構成されるベクトルの組の中から類似度が最大となる第２ベクトル組を求める。そして、第１ベクトル組に対応する隣接ブロックと第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置する場合には、隣接ベクトルと参照隣接ベクトルの配置に類似性があると判定する。一方、前記第１ベクトル組に対応する隣接ブロックと前記第２ベクトル組に対応する参照隣接ブロックとが同じ空間的位置に位置しない場合には、隣接ベクトルと参照隣接ベクトルの配置に類似性はないと判定する。
【００４５】
２つのベクトルの類似度は、ベクトルの差分、ベクトルの水平方向成分及び垂直方向成分の各二乗誤差の和の逆数、ベクトルの内積等により算出することができる。以下では、内積を用いて算出する場合を例に説明する。
【００４６】
図４に示すように、現ピクチャにおいて、隣接ブロックＢ及びＣと、隣接ブロックＡ及び対象ブロックＸとの間に水平エッジが存在する場合には、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣのうちの２つの隣接ベクトルで構成されるベクトル組のうち、ｍｖＢとｍｖＣの類似度を示すｍｖＢ・ｍｖＣ（・は内積を示す）が最大となることが予想される。このときに参照ピクチャ上でも同様の傾向がある場合、即ち参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒのうちの２つの参照隣接ベクトルで構成されるベクトル組のうち、ｍｖＢｒとｍｖＣｒの類似度を示すｍｖＢｒ・ｍｖＣｒが最大となる場合には、現ピクチャの時間的に前後となるピクチャにおいて、対象ブロックと同じ空間位置のブロックに恒常的に水平エッジが存在している可能性がある。よって、条件式（２）により、現ピクチャのベクトル配置と参照ピクチャのベクトル配置に類似性があるか否かを判定し、類似性があると判定した場合には類似性フラグflag-simを１とし、類似性がないと判定した場合には類似性フラグflag-simを０とする。
【００４７】
If((mvB・mvC > mvA・mvB) && (mvB・mvC > mvA・mvC)
&& (mvBr・mvCr > mvAr・mvBr) && (mvBr・mvCr > mvAr・mVCr)){
flag-sim=1;
}                                                            （２）
else{
flag-sim=0;
｝
【００４８】
式（２）では、ｍｖＢ・ｍｖＣ及びｍｖＢｒ・ｍｖＣｒが最大となる場合のみ類似性フラグflag-simを１としているが、ｍｖＡ・ｍｖＢ及びｍｖＡｒ・ｍｖＢｒが最大となる場合、ｍｖＡ・ｍｖＣ及びｍｖＡｒ・ｍｖＣｒが最大となる場合も、現ピクチャと参照ピクチャの動きベクトルの配置には類似性があるため、類似性フラグflag-simを１としてもよい。
【００４９】
また、可変ブロックサイズ動き補償を行う場合には、現ピクチャの対象ブロックＸ及び隣接ブロックＡ，Ｂ，Ｃと、参照ピクチャの参照対象ブロックＸｒ及び参照隣接ブロックＡｒ，Ｂｒ，Ｃｒのブロックサイズをそれぞれ比較し、それぞれのブロックサイズが等しくない場合には、動きベクトルの傾向が異なり、恒常的に同位置に水平エッジが存在している可能性は低いので、類似性フラグflag-simを０としてもよい。
【００５０】
図５に戻り、本発明による予測ベクトル生成器１０は、ステップＳ１０２にて、水平エッジ判定部１０２により、取得した類似性フラグflag-simが１の場合には処理をステップＳ１０３に進め、類似性フラグflag-simが０の場合には処理をステップＳ１０６に進める。
【００５１】
類似性フラグflag-simが１の場合には、ステップＳ１０３にて、水平エッジ判定部１０２により、エッジフラグflag-edを生成する。水平エッジ判定部１０２は、参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒのいずれかと参照対象ベクトルｍｖＸｒとで構成されるベクトル組のうち類似度が最大となるベクトル組を求め、このベクトル組の参照隣接ベクトルが参照対象ブロックＸｒと水平方向に隣接したブロックの動きベクトルである（即ち、ｍｖＡｒである）場合には、水平エッジが存在していると判定する。一方、類似度が最大となるベクトル組の参照隣接ベクトルが参照対象ブロックＸｒと水平方向に隣接したブロックの動きベクトルでない（即ち、ｍｖＢｒ又はｍｖＣｒである）場合には、水平エッジが存在していないと判定する
【００５２】
つまり、条件式（３）に示すように、ｍｖＡｒ・ｍｖＸｒ、ｍｖＢｒ・ｍｖＸｒ、ｍｖＣｒ・ｍｖＸｒのうち、ｍｖＡｒ・ｍｖＸｒが最大となる場合には、水平エッジが恒常的に存在していると判定してエッジフラグflag-edを１とし、ｍｖＡｒ・ｍｖＸｒが最大とならない場合には、水平エッジが恒常的に存在していないと判定してエッジフラグflag-edを０とする。
【００５３】
if((mvAr・mvXr>mvBr・mvXr) && (mvAr・mvXr＞mvCr・mvXr)){
flag-ed=1;
}                                                            （3）
else{
flag-ed=0;
｝
【００５４】
本発明による予測ベクトル生成器１０は、ステップＳ１０４にて、予測ベクトル決定部１０３により、エッジフラグflag-edが１の場合には処理をステップＳ１０５に進め、エッジフラグflag-edが０の場合には処理をステップＳ１０６に進める。
【００５５】
エッジフラグflag-edが１の場合には、ステップＳ１０５にて、予測ベクトル決定部１０３により、予測ベクトルＰを対象ブロックＸと水平方向に隣接したブロックの動きベクトル（即ち、ｍｖＡ）と決定し、予測ベクトルＰを外部に出力する。
【００５６】
類似性フラグflag-simが０、又はエッジフラグflag-edが０の場合には、ステップＳ１０６にて、予測ベクトル決定部１０３により、従来の方式と同様に、予測ベクトルＰを隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣの中央値に決定し、予測ベクトルＰを外部に出力する。
【００５７】
図６は、予測ベクトル決定部１０３の構成を示すブロック図である。予測ベクトル決定部１０３は、評価値決定部１０３１と、予測ベクトル選択部１０３２とを備える。評価値決定部１０３１は、条件式（４）に示すように、水平エッジ判定部１０２から入力されるエッジフラグflag-edに基づいて、取得した隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣのうちのいずれを予測ベクトルＰとするかを示す評価値ａｘ，ｂｘ，ｃｘ，ａｙ，ｂｙ，ｃｙを決定し、予測ベクトル選択部１０３２に出力する。なお、エッジフラグflag-edの初期値を０とし、エッジフラグflag-edが１になっても次の対象ブロックの処理を開始する前に０に戻すこととする。よって、類似性フラグflag-simが０の場合には、水平エッジの判定は行われないためエッジフラグflag-edも０となる。
【００５８】
if(flag-ed==1){
ax=1, bx=0, cx=0;
ay=1, by=0, cy=0;
｝
else｛
if(median(mvA(x），mvB(x），mvC(x)) = mvA(x)){
ax=1, bx=0, cx=0;
}
if(median(mvA(x），mvB(x），mvC(x)) = mvB(x)){
ax=0, bx=1, cx=0;
}
if(median(mvA(x），mvB(x），mvC(x)) = mvC(x)){
ax=0, bx=0, cx=1;                                    （４）
}
if(median(mvA(y），mvB(y），mvC(y)) = mvA(y)){
ay=1, by=0, cy=0;
}
if(median(mvA(y），mvB(y），mvC(y)) = mvB(y)){
ay=0, by=1, cy=0;
}
if(median(mvA(y），mvB(y），mvC(y)) = mvC(y)){
ay=0, by=0, cy=1;
}
}
【００５９】
予測ベクトル選択部１０３２は、式（５）に示すように、評価値決定部１０３１から入力される評価値ａｘ，ｂｘ，ｃｘ，ａｙ，ｂｙ，ｃｙと、取得した隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣとから、予測ベクトルＰを選択（決定）する。
【００６０】
Ｐ(x)＝ax×mvA(x)＋bx×mvB(x)＋cx×mvC(x）
Ｐ(y)＝ay×mvA(y)＋by×mvB(y)＋cy×mvC(y）    （５）
【００６１】
なお、従来の方式と同様に、隣接ブロックとして対象ブロックの左側、上側、右上側に隣接する３つのブロックを用いる場合を例に説明したが、偶数個の隣接ブロックの動きベクトルを用いて上記処理を行う場合には中央値が存在しないので、例えば、中央値の代わりに平均値を求める必要がある。
【００６２】
［符号化装置及び復号装置］
図７は、本発明による予測ベクトル生成器１０を備える符号化装置１の構成を示すブロック図である。符号化装置１は、従来のＭＰＥＧ４ ＡＶＣ／Ｈ．２６４方式の符号化装置３（図１１参照）における予測ベクトル生成部２２に代えて、本発明による予測ベクトル生成器１０を備える。符号化装置３と同じ構成要素には同一の参照番号を付して説明を省略する。予測ベクトル生成器１０は、動き予測部２０から現ピクチャの隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣと、参照ピクチャの参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ及び参照対象ベクトルｍｖＸｒを入力し、上述したように類似性判定部１０１と、水平エッジ判定部１０２と、予測ベクトル決定部１０３により予測ベクトルＰを生成し、差分ベクトル生成部２３に出力する。
【００６３】
図８は、本発明による予測ベクトル生成器１０を備える復号装置２の構成を示すブロック図である。復号装置２は、可変長復号部３１と、逆量子化部３２と、逆直交変換部３３と、加算部３４と、メモリ３５と、イントラ予測部３６と、動き補償部３７と、動きベクトル生成部３８と、切替えスイッチ３９と、予測ベクトル生成器１０とを備える。復号装置２は、従来の方式の復号装置の予測ベクトル生成部に代えて、本発明による予測ベクトル生成器１０を備える。
【００６４】
可変長復号部３１は、符号化されたデータ及び符号化された差分ベクトルの情報に対して可変長復号処理を施し、逆量子化部３２に出力する。
【００６５】
逆量子化部３２は、可変長復号部３１から入力される量子化された直交変換係数に対して逆量子化処理を施して、動き補償した差分画像の直交変換係数を取得し、逆直交変換部３３に出力する。また、可変長復号部３１から入力される量子化された差分ベクトルの情報に対して逆量子化処理を施して、差分ベクトルを動きベクトル生成部３８に出力する。
【００６６】
逆直交変換部３３は、逆量子化部３２から入力される差分画像の直交変換係数に対して、逆直交変換（例えば、ＩＤＣＴ）を施し、得られる差分画像を加算部３４に出力する。
【００６７】
加算部３４は、逆直交変換部３３から得られる差分画像と、切替えスイッチ３９を介してイントラ予測部３６又は動き補償部３７から入力される予測画像とを加算して画像を復元し、メモリ３５及び外部に出力する。
【００６８】
動き補償部３７は、メモリ３５から得られる画像と動きベクトル生成部３８から得られる動きベクトルとを用いて予測画像を生成し、切替えスイッチ３９を介して加算部３４に出力する。
【００６９】
動きベクトル生成部３８は、逆量子化部３２から入力される差分ベクトルと予測ベクトル生成器１０から入力される予測ベクトルとを加算して動きベクトルを生成し、動き補償部３７に出力する。
【００７０】
切替えスイッチ３９は、イントラ予測部３６から入力される予測画像と、動き補償部３７から入力される予測画像とを切替えて加算部３４に出力する。
【００７１】
予測ベクトル生成器１０は、動きベクトル生成部３８から現ピクチャの隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣと、参照ピクチャの参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ及び参照対象ベクトルｍｖＸｒを入力し、上述したように類似性判定部１０１と、水平エッジ判定部１０２と、予測ベクトル決定部１０３により予測ベクトルＰを生成し、動きベクトル生成部３８に出力する。
【００７２】
このように、予測ベクトル生成器１０は、既に符号化済みの隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣと、参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ及び参照対象ベクトルｍｖＸｒとを用いて予測ベクトルを決定するため、復号装置側でも同様の手順を行うことが可能である。これにより、従来の方式に対して新たな付加情報を添付することなく、符号化復号が可能であるため、余分な情報量は一切発生しない。また、既存のＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４デコーダの改修は必要であるが、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４の規格を変更する必要も一切発生しない。したがって、本発明によれば、対象ブロックＸの上部境界に絵柄のエッジが存在する場合に、従来の方式よりも効率の良い予測を行うことが可能となる。
【００７３】
従来の方式では、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣの中央値を予測ベクトルＰとしている。そのため、対象ブロックＸの上部境界に絵柄のエッジが存在する場合、対象ブロックＸの動きベクトルは隣接ベクトルｍｖＡに類似しているにもかかわらず、隣接ベクトルｍｖＢ又はｍｖＣを予測ベクトルとしてしまう。一方、本発明によれば、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣだけでなく、参照隣接ベクトルｍｖＡｒ，ｍｖＢｒ，ｍｖＣｒ及び参照対象ベクトルｍｖＸｒも参照することにより、対象ブロックの動きベクトルに類似する隣接ベクトルｍｖＡを予測ベクトルとすることが可能となる。
【００７４】
本発明によれば、図９に示すように、対象ブロックＸの左側境界に絵柄のエッジが存在する場合には、ブロックＡと、ブロックＢ，Ｃ，Ｘとで異なる動きをするため、エッジフラグflag-edが１となる可能性は低い。よって、従来の方式と同様に、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣの中央値を予測ベクトルＰとするため、従来の方式と比較して予測効率が低下しない。また、図１０に示すように、対象ブロックＸの右側境界に絵柄のエッジが存在する場合には、ブロックＡ，Ｂ，Ｘと、ブロックＣとで異なる動きをするため、エッジフラグflag-edが１となる可能性は低い。よって、従来の方式と同様に、隣接ベクトルｍｖＡ，ｍｖＢ，ｍｖＣの中央値を予測ベクトルＰとするため、従来の方式と比較して予測効率が低下しない。
【００７５】
ここで、予測ベクトル生成器１０として機能させるために、コンピュータを好適に用いることができ、そのようなコンピュータは、類似性判定部１０１と、水平エッジ判定部１０２と、予測ベクトル決定部１０３とを機能させるための制御部を、ＣＰＵ（中央演算処理装置）と、少なくとも１つのメモリで構成される記憶部とで実現できる。また、そのようなコンピュータに、ＣＰＵによって所定のプログラムを実行させることにより、類似性判定部１０１と、水平エッジ判定部１０２と、予測ベクトル決定部１０３の有する機能を実現させることができる。
【００７６】
同様に、符号化装置１として機能させるために、コンピュータを好適に用いることができ、そのようなコンピュータは、予測ベクトル生成器１０と、減算部１１と、直交変換部１２と、量子化部１３と、逆量子化部１４と、逆直交変換部１５と、加算部１６と、メモリ１７と、イントラ予測部１８と、動き補償部１９と、動き予測部２０と、切替えスイッチ２１と、差分ベクトル生成部２３と、差分ベクトル量子化部２４と、可変長符号化部２５とを機能させるための制御部を、ＣＰＵと、少なくとも１つのメモリで構成される記憶部とで実現できる。また、そのようなコンピュータに、ＣＰＵによって所定のプログラムを実行させることにより、予測ベクトル生成器１０と、減算部１１と、直交変換部１２と、量子化部１３と、逆量子化部１４と、逆直交変換部１５と、加算部１６と、メモリ１７と、イントラ予測部１８と、動き補償部１９と、動き予測部２０と、切替えスイッチ２１と、差分ベクトル生成部２３と、差分ベクトル量子化部２４と、可変長符号化部２５の有する機能を実現させることができる。
【００７７】
同様に、復号装置２として機能させるために、コンピュータを好適に用いることができ、そのようなコンピュータは、予測ベクトル生成器１０と、可変長復号部３１と、逆量子化部３２と、逆直交変換部３３と、加算部３４と、メモリ３５と、イントラ予測部３６と、動き補償部３７と、動きベクトル生成部３８と、切替えスイッチ３９とを機能させるための制御部をＣＰＵと、少なくとも１つのメモリで構成される記憶部とで実現できる。また、そのようなコンピュータに、ＣＰＵによって所定のプログラムを実行させることにより、予測ベクトル生成器１０と、可変長復号部３１と、逆量子化部３２と、逆直交変換部３３と、加算部３４と、メモリ３５と、イントラ予測部３６と、動き補償部３７と、動きベクトル生成部３８と、切替えスイッチ３９の有する各機能を実現させることができる。
【００７８】
上述の実施例は、代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。従って、本発明は、上述の実施例によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【産業上の利用可能性】
【００７９】
このように、本発明によれば、従来の方式に対して新たな付加情報を添付することなく、符号量を低減することができることができるので、動き補償予測を用いて動画像を符号化する任意の用途に有用である。
【符号の説明】
【００８０】
１          符号化装置
１０        予測ベクトル生成器
１０１      類似性判定部
１０２      水平エッジ判定部
１０３      予測ベクトル決定部
１０３１    評価値決定部
１０３２    予測ベクトル選択部
１１        減算部
１２        直交変換部
１３        量子化部
１４        逆量子化部
１５        逆直交変換部
１６，３４  加算部
１７，３５  メモリ
１８，３６  イントラ予測部
１９，３７  動き補償部
２０        動き予測部
２１，３９  切替えスイッチ
２２        予測ベクトル生成部
２３        差分ベクトル生成部
２４        差分ベクトル量子化部
２５        可変長符号化部
２          復号装置
３１        可変長復号部
３２        逆量子化部
３３        逆直交変換部
３８        動きベクトル生成部
【図１】
2011223071.tif 000003
【図２】
2011223071.tif 000004
【図３】
2011223071.tif 000005
【図４】
2011223071.tif 000006
【図５】
2011223071.tif 000007
【図６】
2011223071.tif 000008
【図７】
2011223071.tif 000009
【図８】
2011223071.tif 000010
【図９】
2011223071.tif 000011
【図１０】
2011223071.tif 000012
【図１１】
2011223071.tif 000013
【図１２】
2011223071.tif 000014