(57)【特許請求の範囲】
【請求項１】
予測対象ブロックの動きベクトルを、該予測対象ブロックに隣接する１以上の参照ブロックの動きベクトルを用いて予測する動きベクトル予測装置であって、
参照ブロックの動きベクトルの大きさの閾値を、画像解像度が高いほど小さく、且つ該参照ブロックのブロックサイズが小さいほど小さくなるように決定する動きベクトル閾値決定部と、
参照ブロックの動きベクトルの大きさが前記動きベクトル閾値決定部により決定された閾値を越えるか否かを参照ブロックごとに判定する動きベクトル確度判定部と、
１以上の参照ブロックの動きベクトルの中央値又は平均値を前記予測対象ブロックの予測動きベクトルとして生成する予測動きベクトル生成部と、を備え、
前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする動きベクトル予測装置。
【請求項２】
前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトルを修正する動きベクトル修正部を更に備え、
前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された場合には該動きベクトルを用い、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合には前記動きベクトル修正部により修正された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする、請求項１に記載の動きベクトル予測装置。
【請求項３】
前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、前記算出した中央値又は平均値に修正することを特徴とする、請求項２に記載の動きベクトル予測装置。
【請求項４】
前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロック及び該参照ブロックに隣接するブロックを統合した統合ブロックを生成して統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、前記検出した統合ブロックの動きベクトルに修正することを特徴とする、請求項２に記載の動きベクトル予測装置。
【請求項５】
請求項１から４のいずれか一項に記載の動きベクトル予測装置を備え、前記予測動きベクトルを用いて動き補償を行うことを特徴とする符号化装置。
【請求項６】
請求項１から４のいずれか一項に記載の動きベクトル予測装置を備え、前記予測動きベクトルを用いて動き補償を行うことを特徴とする復号装置。
【請求項７】
コンピュータを、請求項１から４のいずれか一項に記載の動きベクトル予測装置として機能させるための動きベクトル検出プログラム。
【請求項８】
コンピュータを、請求項５に記載の符号化装置として機能させるための符号化プログラム。
【請求項９】
コンピュータを、請求項６に記載の復号装置として機能させるための復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測対象ブロックの動きベクトルを予測する動きベクトル予測装置、符号化装置、復号装置、及びこれらのプログラムに関するものである。
【背景技術】
【０００２】
動画像の圧縮符号化方式としてＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式などが用いられており、また、次世代の圧縮符号化方式としてＨＥＶＣ（High Efficiency Video Coding）方式が検討されている。これらの圧縮符号化方式では、符号化対象ブロックの動きベクトルは周囲のブロックの動きベクトルと強い相関があることを利用して、符号化対象ブロックの左側や上側に隣接するブロック群を用いて動きベクトルの予測を行うことが知られている（例えば、非特許文献１及び２参照）。
【０００３】
図９は、動きベクトル予測に用いるブロックを示す図である。図９（ａ）は、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式における動きベクトル予測に用いるブロックの一例を示しており、予測対象ブロックＸの動きベクトルの予測に、予測対象ブロックＸに隣接するブロックＡ，Ｂ，Ｃを用いる。図９（ｂ）は、ＨＥＶＣ方式における隣接ブロックの一例を示しており、予測対象ブロックＸの動きベクトルの予測に、さらに多くのブロックＡ１〜Ａｎを用いる。
【０００４】
ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式やＨＥＶＣ方式では、予測対象ブロックに隣接するブロックの動きベクトルの中央値を予測対象ブロックの動きベクトルの予測値（予測動きベクトル）とする。図１０は、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式における動きベクトルの予測方法を説明する図である。予測対象ブロックＸの左側、上側、右上側に隣接する隣接ブロックＡ，Ｂ，Ｃの動きベクトルをそれぞれｍｖＡ，ｍｖＢ，ｍｖＣとし、予測対象ブロックＸの予測動きベクトルをＰとすると、次式（１）により予測動きベクトルＰの水平方向成分及び垂直方向成分を算出する。
【０００５】
P(x)＝median (mvA(x），mvB(x），mvC(x))
P(y)＝median (mvA(y），mvB(y），mvC(y))                            （１）
ここで、（ｘ）はベクトルの水平方向成分を示し、（ｙ）はベクトルの垂直方向成分を示し、medianは中央値を示す。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】大久保  榮、他３名、「改訂三版  Ｈ．２６４／ＡＶＣ教科書」、インプレスR&D、2008年12月26日、p.118-119
【非特許文献２】TK Tan, Gary J.Sullivan and Jean-Rainer Ohm, “Summary of HEVC working draft 1 and HEVC test model(HM)”, China, JCTVC-C405, Guangzhou, October 2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来技術では、予測に用いるブロックの動きベクトルの確度（動きベクトルの信頼度）を判定していないため、動きベクトルの確度が低いと、動きベクトルの予測確度も低下するという課題があった。例えば、フレーム間の大きな動きを小さなブロックで捉える場合、動きぼやけによりブロック内で画像特徴を捉えられないため、一般的に予測確度は低くなる。動物体の動きが大きいほど、この動きぼやけは大きくなる。また、同じ角速度（角度／秒）の動物体を同じ画角で撮影した場合、フレームレートに対する画像解像度が高いほど、動きぼやけは大きくなる。動きベクトルの確度が低い場合は、例えばブロックマッチングにおいてＳＡＤ（Sum of Absolute Difference）やＳＳＤ（Sum of Squared Difference）が最小となる動きベクトルを検出しても、それは真の動きを捉えていない可能性が高い。このような確度の低い動きベクトルを用いて動き補償を行うと、予測誤りの可能性が高くなる。
【０００８】
本発明の目的は、上記問題を解決するため、動きベクトルの予測確度を向上させることが可能な動きベクトル予測装置、符号化装置、復号装置、及びこれらのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明では、まず画像解像度を基準に、参照ブロックの動きベクトルの大きさの閾値を決定する。そして、予測に用いる各参照ブロックについて、動きベクトルの大きさが閾値を超えているか否かを判定する。動きベクトルの大きさが閾値を超えている場合には動きぼやけにより動きベクトルの確度が低いとみなし、当該動きベクトルを動きベクトルの予測に用いないなどの処理を行う。
【００１０】
すなわち、本発明に係る動きベクトル予測装置は、予測対象ブロックの動きベクトルを、該予測対象ブロックに隣接する１以上の参照ブロックの動きベクトルを用いて予測する動きベクトル予測装置であって、参照ブロックの動きベクトルの大きさの閾値を、画像解像度が高いほど小さく、且つ該参照ブロックのブロックサイズが小さいほど小さくなるように決定する動きベクトル閾値決定部と、参照ブロックの動きベクトルの大きさが前記動きベクトル閾値決定部により決定された閾値を越えるか否かを参照ブロックごとに判定する動きベクトル確度判定部と、１以上の参照ブロックの動きベクトルの中央値又は平均値を前記予測対象ブロックの予測動きベクトルとして生成する予測動きベクトル生成部と、を備え、前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする。
【００１１】
また、本発明に係る動きベクトル予測装置において、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトルを修正する動きベクトル修正部を更に備え、前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された場合には該動きベクトルを用い、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合には動きベクトルの前記動きベクトル修正部により修正された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする。
【００１２】
また、本発明に係る動きベクトル予測装置において、前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、前記算出した中央値又は平均値に修正することを特徴とする。
【００１３】
また、本発明に係る動きベクトル予測装置において、前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロック及び該参照ブロックに隣接するブロックを統合した統合ブロックを生成して統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、前記検出した統合ブロックの動きベクトルに修正することを特徴とする。
【００１４】
また、上記課題を解決するため、本発明に係る符号化装置は、上述した動きベクトル予測装置を備え、上述した予測動きベクトルを用いて動き補償を行うことを特徴とする。
【００１５】
また、上記課題を解決するため、本発明に係る復号装置は、上述した動きベクトル予測装置を備え、上述した予測動きベクトルを用いて動き補償を行うことを特徴とする。
【００１６】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上述した動きベクトル予測装置、符号化装置、又は復号装置として機能させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、動きベクトルの予測確度を向上させることができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明による実施例１の動きベクトル予測装置の構成を示すブロック図である。
【図２】本発明による実施例１の動きベクトル予測装置の動作を示すフローチャートである。
【図３】本発明による実施例２の動きベクトル予測装置の構成を示すブロック図である。
【図４】本発明による実施例２の動きベクトル予測装置の隣接参照ブロックの例を示す図である。
【図５】本発明による実施例２の動きベクトル予測装置の動作を示すフローチャートである。
【図６】本発明による実施例３の動きベクトル予測装置の構成を示すブロック図である。
【図７】本発明による符号化装置の構成を示すブロック図である。
【図８】本発明による復号装置の構成を示すブロック図である。
【図９】従来の動きベクトル予測に用いるブロックを示す図である。
【図１０】従来の動きベクトルの予測方法を説明する図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【実施例１】
【００２０】
本発明による動きベクトル予測装置は、予測対象ブロックの動きベクトルを、１以上の参照ブロックの動きベクトルを用いて予測するものである。ここで、参照ブロックとは、予測対象ブロックに隣接し、動きベクトル検出済みのブロックのことをいう。図１は、本発明による実施例１の動きベクトル予測装置の構成を示すブロック図である。図１に示すように、動きベクトル予測装置１は、ブロック情報取得部１１と、動きベクトル閾値決定部１２と、動きベクトル確度判定部１３と、予測動きベクトル生成部１４とを備える。
【００２１】
ブロック情報取得部１１は、入力画像の解像度情報、参照ブロックのサイズ情報、及び参照ブロックの動きベクトルを含むブロック情報を取得する。そして、ブロック情報取得部１１は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部１２に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部１３及び予測動きベクトル生成部１４に出力する。動きベクトル予測装置１が符号化装置の動きベクトルの予測に用いられる場合には、ブロック情報取得部１１は、入力画像の解像度情報を符号化装置に設定されたパラメータ情報から取得し、参照ブロックのサイズ情報及び参照ブロックの動きベクトルを、参照ブロックの動きベクトル検出処理時のブロックサイズ及び動きベクトル検出処理により検出された動きベクトルとする。
【００２２】
動きベクトル閾値決定部１２は、参照ブロックの動きベクトルの確度を判定するために、参照ブロックごとに、動きベクトルの大きさの閾値（以下、「動きベクトル閾値」という）を、入力画像の画像解像度が高いほど小さく、且つ参照ブロックのサイズが小さいほど小さくなるように決定し、決定した動きベクトル閾値を動きベクトル確度判定部１３に出力する。
【００２３】
動きベクトル閾値決定部１２は、予め定められた閾値対応表を参照して、動きベクトル閾値決定するようにしてもよい。以下の表１に、閾値対応表の一例を示す。動きベクトル閾値決定部１２は、閾値対応表を参照することで、画像解像度及び参照ブロックの水平又は垂直方向のサイズ（いずれか小さいほう）に対応する、動きベクトル閾値を決定することができる。例えば、表１の閾値対応表を参照すると、参照ブロックのブロックサイズが８×８画素で画像解像度が１９２０×１０８０の場合、動きベクトル閾値は１６画素となる。
【００２４】
【表１】
0005651560.tif 000002
【００２５】
なお、閾値対応表は、画像解像度に対して比較的大きなサイズのブロック（例えば、画像解像度が１９２０×１０８０の場合は、３２×３２サイズのブロック）でブロックマッチングによる動き検出を行い、画像の持つ大まかな動き量を把握してから決定するようにしてもよい。
【００２６】
動きベクトル確度判定部１３は、ブロック情報取得部１１から入力される参照ブロックの動きベクトル、及び動きベクトル閾値決定部１２から入力される動きベクトル閾値に基づいて、参照ブロックの動きベクトルの確度を判定する。具体的には、動きベクトル確度判定部１３は、参照ブロックの動きベクトルの大きさが、動きベクトル閾値決定部１２により決定された動きベクトル閾値を越える場合は確度が低いと判定し、動きベクトル閾値決定部１２により決定された動きベクトル閾値以下である場合は確度が高いと判定する。そして、動きベクトル確度判定部１３は、動きベクトル閾値を越えるか否か、すなわち参照ブロックの動きベクトルの確度が低いか高いかを示す確度情報を予測動きベクトル生成部１４に出力する。
【００２７】
予測動きベクトル生成部１４は、動きベクトル確度判定部１３から入力される確度情報に基づき、動きベクトル確度判定部１３により確度が高い（参照ブロックの動きベクトルの大きさが動きベクトル閾値以下である）と判定された動きベクトルのみを用いて、該動きベクトルの中央値又は平均値を予測対象ブロックの予測動きベクトルとして生成する。ただし、動きベクトル確度判定部１３により、予測対象ブロックに対応する全ての参照ブロックの動きベクトルの確度が低いと判定された場合には、動きベクトルの予測を行わないようにするか、後述する実施例２の動きベクトル予測装置のように動きベクトルを修正し、修正された動きベクトルを用いて予測動きベクトルを生成する必要がある。
【００２８】
次に、このように構成される動きベクトル予測装置１の動作を説明する。図２は、本発明による実施例１の動きベクトル予測装置１の動作を示すフローチャートであり、予測対象ブロックごとの予測動きベクトルの生成手順を示す。
【００２９】
まず、動きベクトル予測装置１は、ブロック情報取得部１１により、ブロック情報を参照ブロックごとに取得する（ステップＳ１０１）。例えば、図９（ａ）に示す予測対象ブロックＸについては、参照ブロックＡ，Ｂ又はＣのブロック情報を取得する。次に、動きベクトル予測装置１は、動きベクトル閾値決定部１２により、入力画像の解像度情報及び参照ブロックのサイズ情報に基づいて、参照ブロックごとに動きベクトル閾値を決定する（ステップＳ１０２）。
【００３０】
次に、動きベクトル予測装置１は、動きベクトル確度判定部１３により、参照ブロックの動きベクトルをステップＳ１０２で決定した動きベクトル閾値に基づいて判定する（ステップＳ１０３）。そして、動きベクトル予測装置１は、ステップＳ１０３で参照ブロックの動きベクトルの確度が高い、すなわち、参照ブロックの動きベクトルの大きさが、ステップＳ１０１にて決定した閾値以下であると判定した場合にのみ、予測動きベクトル生成部１４により動きベクトルを取得する（ステップＳ１０４）。
【００３１】
次に、動きベクトル予測装置１は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得したか否かを判定する（ステップＳ１０５）。例えば、図９（ａ）に示す予測対象ブロックＸについては、参照ブロックＡ，Ｂ及びＣのブロック情報を取得したか否かを判定する。そして、動きベクトル予測装置１は、ステップＳ１０５で予測対象ブロックに対応する全ての参照ブロックのブロック情報を取得したと判定されるまで、ステップＳ１０１からステップＳ１０４の処理を繰り返し行う。動きベクトル予測装置１は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得すると、予測動きベクトル生成部１４により、動きベクトルを予測して予測動きベクトルを生成する（ステップＳ１０６）。動きベクトル予測装置１は、このような処理を予測対象ブロックごとに行う。
【００３２】
このように、動きベクトル予測装置１は、動きベクトル確度判定部１３により参照ブロックの動きベクトルの確度を判定し、確度が高いと判定された動きベクトルのみを用いて予測動きベクトル生成部１４により予測動きベクトルを生成する。このため、動きベクトル予測装置１によれば、動きベクトルの予測確度を向上させることができるようになる。
【００３３】
なお、上述した動きベクトル予測装置１として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置１の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのＣＰＵ（中央演算処理装置）によってこのプログラムを読み出して実行させることで実現することができる。
【実施例２】
【００３４】
次に、本発明による実施例２の動きベクトル予測装置について説明する。図３は、実施例２の動きベクトル予測装置の構成を示すブロック図である。図３に示すように、実施例２の動きベクトル予測装置２は、ブロック情報取得部１１と、動きベクトル閾値決定部１２と、動きベクトル確度判定部１３と、予測動きベクトル生成部１４と、動きベクトル修正部１５とを備える。実施例２の動きベクトル予測装置２は、実施例１の動きベクトル予測装置１と比較して、動きベクトル修正部１５を更に備える点で相違する。なお、第１の実施形態と同じ構成要素には同一の参照番号を付して適宜説明を省略する。動きベクトル予測装置２は、参照ブロックに隣接する動きベクトル検出済みのブロック（以下、「隣接参照ブロック」という）も用いて動きベクトルを予測する。
【００３５】
ブロック情報取得部１１は、入力画像の解像度情報、並びに、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を含むブロック情報を取得する。そして、ブロック情報取得部１１は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部１２に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部１３に出力し、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を動きベクトル修正部１５に出力する。
【００３６】
図４は、隣接参照ブロックの例を示す図である。ブロック情報取得部１１は、ＨＥＶＣ方式の場合、例えば図４（ａ）に示すように、参照ブロックＡのブロック情報と、参照ブロックＡに隣接する隣接参照ブロックａ１〜ａ５のブロック情報とを取得する。図４（ａ）は参照ブロックＡが予測対象ブロックＸの左側に隣接する場合を示しており、図４（ｂ）は参照ブロックＡが予測対象ブロックＸの上側に隣接する場合を示している。図４（ｃ）に示すように、参照ブロックＡと頂点のみが隣接するブロックａ３を隣接参照ブロックに含めてもよい。図４（ｄ）（ｅ）は、参照ブロックＡと隣接参照ブロックのバリエーションを示す図である。なお、図４（ｆ）に示すように、参照ブロックＡに隣接する隣接参照ブロックａ１〜ａ５と、参照ブロックＢに隣接する隣接参照ブロックｂ１〜ｂ５の一部が重なってもよい。また、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４の場合における参照ブロック及び隣接参照ブロックの例を図４（ｇ）（ｈ）に示す。図４（ｇ）は参照ブロックＡが予測対象ブロックＸの左側に隣接する場合を示しており、図４（ｈ）は参照ブロックＡが予測対象ブロックＸの上側に隣接する場合を示している。
【００３７】
動きベクトル確度判定部１３は、ブロック情報取得部１１から所得した参照ブロックの動きベクトルが、動きベクトル閾値決定部１２により決定された動きベクトル閾値を越えるか否かを判定し、動きベクトル閾値を越えるか否か（動きベクトルが低いか高いか）を示す確度情報を動きベクトル修正部１５に出力する。
【００３８】
動きベクトル修正部１５は、動きベクトル確度判定部１３から取得した確度情報が、参照ブロックの動きベクトルが動きベクトル閾値を超えること（確度が低いこと）を示している場合には、動きベクトルを修正し、修正された動きベクトル（以下、「修正動きベクトル」という）を予測動きベクトル生成部１４に出力し、動きベクトル確度判定部１３から取得した確度情報が、参照ブロックの動きベクトルが動きベクトル閾値以下であること（確度が高いこと）を示している場合には、動きベクトルを修正することなくそのまま予測動きベクトル生成部１４に出力する。以下に、参照ブロックの動きベクトルの確度が低い場合における動きベクトル修正部１５の動きベクトル修正処理方法について、２つの例を説明する。
【００３９】
動きベクトル修正部１５は、第１の例では、参照ブロックの動きベクトルの確度が低い場合、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、算出した中央値又は平均値に修正する。例えば、図４（ａ）の場合、参照ブロックＡの動きベクトル及び隣接参照ブロックａ１〜ａ５の５つの動きベクトルの中央値又は平均値を、参照ブロックＡの修正動きベクトルとする。ここで、参照ブロックと隣接参照ブロックとの間で、動きベクトル検出時の参照フレームが異なる場合には、その時間方向の距離に合わせて、動きベクトルのスケーリングを行う。例えば、参照ブロックＡの参照フレームが１フレーム後で隣接参照ブロックａ１の参照フレームが２フレーム後であった場合、隣接参照ブロックａ１の動きベクトルを水平方向及び垂直方向に１／２にし、参照ブロックＡの参照フレームが１フレーム後で隣接参照ブロックａ２の参照フレームが１フレーム前であった場合、隣接参照ブロックａ２の動きベクトルの符号を逆にする。
【００４０】
また、動きベクトル修正部１５は、第２の例では、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックの位置情報及びブロックサイズ情報に基づいて、参照ブロック及び隣接参照ブロックを統合した統合ブロックを生成する。そして動きベクトル修正部１５は、統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、統合ブロックの動きベクトルに修正する。ここで、統合ブロックの動きベクトルは、例えばＳＳＤ法やＳＡＤ法を用いたブロックマッチングにより検出する。また、ブロックマッチングは、例えば次式（２）に示すパラボラフィッティング関数を用いた補間処理により、小数画素精度で行う。
【００４１】
【数１】
0005651560.tif 000003
【００４２】
予測動きベクトル生成部１４は、予測対象ブロックごとに、該予測対象ブロックに関する全ての参照ブロックについて、動きベクトル確度判定部１３により動きベクトルの確度が高いと判定された場合には該動きベクトルを、動きベクトル確度判定部１３により動きベクトルの確度が低いと判定された場合には修正動きベクトルを、動きベクトル修正部１５から取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの予測動きベクトルとして生成する。
【００４３】
次に、このように構成される動きベクトル予測装置２の動作を説明する。図５は、本発明による実施例２の動きベクトル予測装置２の動作を示すフローチャートであり、予測対象ブロックごとの予測動きベクトルの生成手順を示す。まず、動きベクトル予測装置２は、ブロック情報取得部１１により、ブロック情報を取得する（ステップＳ１０１）。次に、動きベクトル予測装置２は、動きベクトル閾値決定部１２により、入力画像の解像度情報及び参照ブロックのサイズ情報に基づいて動きベクトル閾値を決定する（ステップＳ１０２）。
【００４４】
次に、動きベクトル予測装置２は、動きベクトル確度判定部１３により、参照ブロックの動きベクトルの確度を、ステップＳ１０２で決定した動きベクトル閾値に基づいて判定する（ステップＳ１０３）。そして、動きベクトル予測装置２は、ステップＳ１０３で参照ブロックの動きベクトルの確度が高いと判定した場合には、予測動きベクトル生成部１４により動きベクトルを取得し（ステップＳ１０４）、ステップＳ１０３で参照ブロックの動きベクトルの確度が低いと判定した場合には、動きベクトル修正部１５により動きベクトルを修正する（ステップＳ１０７）。
【００４５】
次に、動きベクトル予測装置２は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得したか否かを判定する（ステップＳ１０５）。そして、ベクトル予測装置２は、ステップＳ１０５で予測対象ブロックに対応する全ての参照ブロックのブロック情報を取得するまで、ステップＳ１０１からステップＳ１０４、及びステップＳ１０７の処理を繰り返し行う。動きベクトル予測装置２は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得すると、予測動きベクトル生成部１４により、動きベクトルを予測して予測動きベクトルを生成する（ステップＳ１０６）。動きベクトル予測装置２は、このような処理を、予測対象ブロックごとに行う。
【００４６】
なお、動きベクトル予測装置２は、ステップＳ１０７にて動きベクトルを修正した後に、再度動きベクトルの確度を動きベクトル閾値に基づいて判定し、確度が低いと判定した場合には、当該修正動きベクトルをステップＳ１０６における予測動きベクトルの生成に用いないようにしてもよい。
【００４７】
このように、実施例２の動きベクトル予測装置２は、動きベクトル確度判定部１３により参照ブロックの動きベクトルの確度を判定し、確度が低いと判定された動きベクトルについては動きベクトル修正部１５により動きベクトルを修正する。予測動きベクトル生成部１４は、確度が高いと判定された動きベクトル、及び確度が低いと判定された動きベクトルの修正動きベクトルを用いて予測動きベクトルを生成する。このため、動きベクトル予測装置２によれば、さらに動きベクトルの予測確度を向上させることができるようになる。
【００４８】
上述の動きベクトル予測装置２では、参照ブロックの動きベクトルの大きさが動きベクトル閾値を超える場合には、該動きベクトルを動きベクトル修正部１５により修正するものとして説明した。しかし、予測対象ブロックに対応する全ての参照ブロックについて動きベクトルの大きさが動きベクトル閾値を超える場合にのみ動きベクトルを修正し、予測対象ブロックに対応する参照ブロックのうち一部の参照ブロックについて動きベクトルの大きさが動きベクトル閾値以下である場合には、該動きベクトルのみを用いて予測動きベクトル生成部１４により予測動きベクトルを生成するようにしてもよい。
【００４９】
なお、上述した動きベクトル予測装置２として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置２の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。
【実施例３】
【００５０】
次に、本発明による実施例３の動きベクトル予測装置について説明する。図６は、実施例３の動きベクトル予測装置の構成を示すブロック図である。図６に示すように、実施例３の動きベクトル予測装置３は、ブロック情報取得部１１と、動きベクトル閾値決定部１２と、動きベクトル確度判定部１３と、第１予測動きベクトル生成部１４−１と、第２予測動きベクトル生成部１４−２と、第３予測動きベクトル生成部１４−３と、第１動きベクトル修正部１５−１と、第２動きベクトル修正部１５−２とを備える。実施例３の動きベクトル予測装置３は、実施例２の動きベクトル予測装置２と比較して、動きベクトル修正部及び予測動きベクトル生成部を複数備え、予測動きベクトルを複数生成する点で相違する。なお、第２の実施形態と同じ構成要素には同一の参照番号を付して適宜説明を省略する。
【００５１】
ブロック情報取得部１１は、入力画像の解像度情報、並びに、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を含むブロック情報を取得する。そして、ブロック情報取得部１１は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部１２に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部１３及び第３予測動きベクトル生成部１４−３に出力し、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を第１動きベクトル修正部１５−１、及び第２動きベクトル修正部１５−２に出力する。
【００５２】
動きベクトル確度判定部１３は、ブロック情報取得部１１から所得した参照ブロックの動きベクトルが、動きベクトル閾値決定部１２により決定された動きベクトル閾値を越えるか否かを判定し、動きベクトルの確度情報を第１動きベクトル修正部１５−１、第２動きベクトル修正部１５−２、及び第３予測動きベクトル生成部１４−３に出力する。
【００５３】
第１動きベクトル修正部１５−１は、実施例２において動きベクトル修正部１５の第１の例として説明した動きベクトル修正処理を行う。すなわち、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックの動きベクトルの中央値又は平均値を修正動きベクトルとして生成し、参照ブロックの動きベクトルの確度が高い場合、そのまま動きベクトルを出力する。
【００５４】
第２動きベクトル修正部１５−２は、実施例２において動きベクトル修正部１５の第２の例として説明した動きベクトル修正処理を行う。すなわち、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックを統合し、統合ブロックの動きベクトルを修正動きベクトルとして生成し、参照ブロックの動きベクトルの確度が高い場合、そのまま動きベクトルを出力する。
【００５５】
第１予測動きベクトル生成部１４−１は、第１動きベクトル修正部１５−１から予測対象ブロックに関する全ての参照ブロックについて、動きベクトル又は修正動きベクトルを取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの第１予測動きベクトルとして生成する。同様に、第２予測動きベクトル生成部１４−２は、第２動きベクトル修正部１５−２から予測対象ブロックに関する全ての参照ブロックについて、動きベクトル又は修正動きベクトルを取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの第２予測動きベクトルとして生成する。
【００５６】
第３予測動きベクトル生成部１４−３は、動きベクトル確度判定部１３から入力される確度情報に基づき、動きベクトル確度判定部１３により確度が高いと判定された動きベクトルのみを用い、該動きベクトルの中央値又は平均値を予測対象ブロックの第３予測動きベクトルとして生成する。
【００５７】
このように、実施例３の動きベクトル予測装置３は、第１予測動きベクトル生成部１４−１、第２予測動きベクトル生成部１４−２、及び第３予測動きベクトル生成部１４−３から、それぞれ異なる方法で予測した予測動きベクトルを出力する。このため、動きベクトル予測装置３によれば、予測対象ブロックごとや入力画像ごとに最適な予測動きベクトルを選択するといった自由度を持たせることができ、さらに動きベクトルの予測確度を向上させることができるようになる。
【００５８】
なお、上述した動きベクトル予測装置３として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置３の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。
【実施例４】
【００５９】
次に、上述した動きベクトル予測装置１乃至３を備える符号化装置について説明する。図７は、本発明による実施例１の符号化装置の構成を示すブロック図であり、ここではＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式の符号化装置に本発明に係る動きベクトル予測装置１乃至３を適用した例を示している。図７に示すように、符号化装置２０は、減算部２１と、直交変換部２２と、量子化部２３と、逆量子化部２４と、逆直交変換部２５と、加算部２６と、メモリ２７と、イントラ予測部２８と、動きベクトル検出部２９と、動き補償部３０と、切替えスイッチ３１と、動きベクトル予測装置１乃至３と、可変長符号化部３２とを備える。
【００６０】
減算部２１は、入力画像と、切替えスイッチ３１を介してイントラ予測部２８又は動き補償部３０から入力される予測画像との差分画像を生成し、直交変換部２２に出力する。
【００６１】
直交変換部２２は、減算部２１から入力される差分画像に対して小領域の画像ブロック（以下、単に「ブロック」という）ごとに直交変換を施し、直交変換係数を量子化部２３に出力する。
【００６２】
量子化部２３は、直交変換部２２から入力される直交変換係数に対して量子化テーブルを選択して量子化処理を行い、逆量子化部２４及び可変長符号化部３２に出力する。
【００６３】
逆量子化部２４は、量子化部２３から入力される量子化された直交変換係数に対して逆量子化処理を行い、逆直交変換部２５に出力する。
【００６４】
逆直交変換部２５は、逆量子化部２４から入力される直交変換係数に対して逆直交変換（例えば、ＩＤＣＴ；Inverse Discrete Cosine Transform）処理を施し、加算部２６に出力する。
【００６５】
加算部２６は、逆直交変換部２５から入力される逆直交変換した画像と、切替えスイッチ３１を介してイントラ予測部２８又は動き補償部３０から入力される予測画像とを加算して復号画像を生成し、メモリ２７に出力する。
【００６６】
イントラ予測部２８は、メモリ２７に記憶された符号化対象ブロックに隣接する符号化済みのブロックの復号画像を参照し、予測モードを決定してイントラ予測画像を生成し、切替えスイッチ３１を介して減算部２１及び加算部２６に出力するとともに、決定した予測モードを示す予測モード情報を可変長符号化部３２に出力する。
【００６７】
動きベクトル検出部２９は、入力画像に対して、メモリ２７に記憶された過去及び／又は未来のピクチャ（フレーム）を参照し、ＳＳＤ法やＳＡＤ法を用いたブロックマッチングにより動きベクトルを生成し、動きベクトルを動き補償部３０、動きベクトル予測装置１乃至３、及び可変長符号化部３２に出力し、動きベクトル検出処理時のブロックサイズを可変長符号化部３２に出力する。ブロックマッチングは、例えば式（２）に示したようにパラボラフィッティング関数を用いた補間処理により、小数画素精度で行う。
【００６８】
また、動きベクトル検出部２９は、フレーム内のブロックのうち、動きベクトルを予測により求めるブロックを決定する。あるブロックについて動きベクトルを予測するのは、全てのブロックについて動きベクトルを検出して復号側に伝送すると伝送情報量が多くなるので、一部のブロックについては動きベクトルを伝送せずに予測により求めて伝送情報量を削減するためである。動きベクトルを予測により求めるブロックは、例えばＲ−Ｄ最適化（Rate-Distortion Optimization）により決定することができる。動きベクトル検出部２９は、動きベクトルを予測により求めるブロックを示す情報を動きベクトル予測装置１乃至３、及び可変長符号化部３２に出力する。
【００６９】
動きベクトル予測装置１乃至３は、動きベクトル検出部２９から参照ブロックのブロック情報を取得し、動きベクトルを予測により求めるブロック（予測対象ブロック）について予測動きベクトルを生成し、動き補償部３０に出力する。
【００７０】
動き補償部３０は、メモリ２７に記憶された復号画像に対し、動きベクトル検出部２９から入力される動きベクトル、又は動きベクトル予測装置１乃至３から入力される予測動きベクトルを用いて動き補償を行ってインター予測画像を生成し、切替えスイッチ３１を介して減算部２１及び加算部２６に出力する。
【００７１】
動きベクトル予測装置３を適用する場合には、複数の予測動きベクトルのうち１つを選択する。例えば、予測動きベクトルごとにそれぞれ動き補償を行い、入力画像と各動き補償画像とを比較して最も誤差の小さくなる予測動きベクトルを選択する。
【００７２】
切替えスイッチ３１は、イントラ予測部２８から入力されるイントラ予測画像と、動き補償部３０から入力されるインター予測画像とを切替えて、減算部２１及び加算部２６に出力する。
【００７３】
可変長符号化部３２は、量子化部２３から入力される量子化された直交変換係数についてスキャンを行って可変長符号化処理を施しビットストリームを生成するとともに、イントラ予測部２８から入力される予測モード情報、及び動きベクトル検出部２９から入力されるブロック情報（動きベクトルの情報、動きベクトル検出処理時のブロックサイズ、及び動きベクトルを予測により求めるブロックを示す情報）も可変長符号化処理を施し、符号化データを外部に出力する。
【００７４】
このように、符号化装置２０によれば、動きベクトル予測装置１乃至３により予測動きベクトルの予測確度が向上するため、確度の高い予測動きベクトルを用いて原画像を符号化することにより、符号化効率を向上させることができるようになる。
【００７５】
なお、上述した符号化装置２０として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、符号化装置２０の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。
【実施例５】
【００７６】
次に、上述した符号化装置２０によって符号化されたデータを復号する復号装置について説明する。図８は、本発明による実施例５の復号装置の構成を示すブロック図であり、ここではＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４方式の復号装置に本発明に係る動きベクトル予測装置１乃至３を適用した例を示している。図８に示すように、復号装置４０は、可変長復号部４１と、逆量子化部４２と、逆直交変換部４３と、加算部４４と、メモリ４５と、イントラ予測部４６と、動き補償部４７と、切替えスイッチ４８と、動きベクトル予測装置１乃至３とを備える。
【００７７】
可変長復号部４１は、符号化された直交変換係数に対して可変長復号処理を施して逆量子化部４２に出力し、符号化された予測モード情報に対して可変長復号処理を施してイントラ予測装部４６に出力し、符号化されたブロック情報（動きベクトルの情報、動きベクトル検出処理時のブロックサイズ、及び動きベクトルを予測により求めるブロックを示す情報）に対して可変長復号処理を施し、動き補償部４７及び動きベクトル予測装置１乃至３に出力する。
【００７８】
逆量子化部４２は、可変長復号部４１から入力される量子化された直交変換係数に対して逆量子化処理を施して、動き補償した差分画像の直交変換係数を取得し、逆直交変換部４３に出力する。
【００７９】
逆直交変換部４３は、逆量子化部４２から入力される差分画像の直交変換係数に対して、逆直交変換（例えば、ＩＤＣＴ）を施し、得られる差分画像を加算部４４に出力する。
【００８０】
加算部４４は、逆直交変換部４３から得られる差分画像と、切替えスイッチ４８を介してイントラ予測部４６又は動き補償部４７から入力される予測画像とを加算して画像を復元し、メモリ４５及び外部に出力する。
【００８１】
イントラ予測装部４６は、メモリ４５に記憶された復号対象ブロックに隣接する復号済みのブロックの復号画像を参照して、可変長復号部４１から入力される予測モードに基づいてイントラ予測画像を生成し、切替えスイッチ４８を介して加算部４４に出力する。
【００８２】
動きベクトル予測装置１乃至３は、可変長復号部４１からブロック情報を取得し、動きベクトルを予測により求めるブロック（予測対象ブロック）について予測動きベクトルを生成し、動き補償部４７に出力する。
【００８３】
動き補償部４７は、メモリ４５に記憶された復号フレーム画像を参照し、可変長復号部４１から得られる動きベクトルを用いてインター予測画像を生成する。また、動き補償部４７は、動きベクトルを予測により求めるブロックについては、動きベクトル予測装置１乃至３から得られる予測動きベクトルを用いてインター予測画像を生成する。動き補償部４７は、生成したインター予測画像を切替えスイッチ４８を介して加算部４４に出力する。
【００８４】
切替えスイッチ４８は、イントラ予測部４６から入力されるイントラ予測画像と、動き補償部４７から入力されるインター予測画像とを切替えて加算部４４に出力する。
【００８５】
このように、復号装置４０によれば、確度の高い予測動きベクトルを用いて符号化された原画像の符号化データを復号するため、復号画像の画質を向上させることができるようになる。
【００８６】
なお、上述した復号装置４０として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、復号装置４０の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。
【００８７】
上述の各実施例は、代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【産業上の利用可能性】
【００８８】
このように、本発明によれば、動きベクトルの予測確度を向上させることができるので、動きベクトルを予測する任意の用途に有用である。
【符号の説明】
【００８９】
１，２，３  動きベクトル予測装置
１１        ブロック情報取得部
１２        動きベクトル閾値決定部
１３        動きベクトル確度判定部
１４        予測動きベクトル生成部
１４−１    第１予測動きベクトル生成部
１４−２    第２予測動きベクトル生成部
１４−３    第３予測動きベクトル生成部
１５        動きベクトル修正部
１５−１    第１動きベクトル修正部
１５−２    第２動きベクトル修正部
２０        符号化装置
４０        復号装置
２１        減算部
２２        直交変換部
２３        量子化部
２４，４２  逆量子化部
２５，４３  逆直交変換部
２６，４４  加算部
２７，４５  メモリ
２８，４６  イントラ予測部
２９        動きベクトル検出部
３０，４７  動き補償部
３１，４８  切替えスイッチ
３２        可変長符号化部
４１        可変長復号部
【図１】
0005651560.tif 000004
【図２】
0005651560.tif 000005
【図３】
0005651560.tif 000006
【図４】
0005651560.tif 000007
【図５】
0005651560.tif 000008
【図６】
0005651560.tif 000009
【図７】
0005651560.tif 000010
【図８】
0005651560.tif 000011
【図９】
0005651560.tif 000012
【図１０】
0005651560.tif 000013