(57)【特許請求の範囲】
【請求項１】
符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置であって、
複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択手段と、
前記符号化対象ブロックの画素値と、前記候補選択手段が選択した前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出手段と、
前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出手段と、
前記画素差分算出手段が算出した前記差分のうち最小の差分と、前記平均差分との比率に基づき、重み係数を決定する係数決定手段と、
前記候補選択手段が選択した前記動きベクトルの候補毎に前記画素差分算出手段が算出した差分に対し、該候補のベクトル符号量を前記重み係数を用いて重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を決定する決定手段と
を備え、
前記係数決定手段は、前記比率が１に近づくほど、重みが大きくなるように前記重み係数を決定することを特徴とする動きベクトル生成装置。
【請求項２】
前記係数決定手段は、少なくとも２つの重みの異なる重み係数のうち、
前記比率が、１を含む所定の範囲に含まれる場合に、重みが最大となる１つの係数を選択し、
前記比率が前記所定の範囲に含まれない場合に、前記１つの係数よりも重みが小さな他の１つの係数を選択する
ことにより、重み係数を決定する
ことを特徴とする請求項１に記載の動きベクトル生成装置。
【請求項３】
符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく、動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置であって、
複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択手段と、
前記符号化対象ブロックの画素値と、前記候補選択手段が選択した前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出手段と、
複数のコスト算出手段であって、それぞれのコスト算出手段が、前記候補選択手段が選択した前記動きベクトルの候補毎に前記画素差分算出手段が算出した差分に対し、互いに重みが異なる重み係数を用いて該候補のベクトル符号量を重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を選択する、複数のコスト算出手段と、
前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出手段と、
前記画素差分算出手段が算出した前記差分のうち最小の差分と、前記平均差分との比率に基づき、前記複数のコスト算出手段で選択された複数の動きベクトルの候補の中からいずれか１つを選択し、動きベクトルを決定する決定手段と
を備え、
前記決定手段は、前記比率が１に近づくほど、重みが大きい前記重み係数に基づく前記動きベクトルの候補を選択することを特徴とする動きベクトル生成装置。
【請求項４】
前記互いに重みが異なる重み係数のそれぞれは、前記比率の大きさを判定するための互いに異なる範囲と関連づけられ、
前記決定手段は、前記互いに異なる範囲のうち前記比率が属する範囲と関連づけられた重み係数に基づく前記動きベクトルの候補を選択する
ことを特徴とする請求項３に記載の動きベクトル生成装置。
【請求項５】
前記決定手段は、前記比率が、１を含む所定の範囲に含まれる場合に、前記互いに重みが異なる重み係数のうち、重みが最大の係数に基づく前記動きベクトルの候補を選択する、ことを特徴とする請求項３または４に記載の動きベクトル生成装置。
【請求項６】
符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置における、動きベクトル生成方法であって、
候補選択手段が、複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択工程と、
画素差分算出手段が、前記符号化対象ブロックの画素値と、前記候補選択工程で選択された前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出工程と、
平均差分算出手段が、前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出工程と、
係数決定手段が、前記画素差分算出工程で算出された前記差分のうち最小の差分と、前記平均差分との比率に基づき、重み係数を決定する係数決定工程と、
決定手段が、前記候補選択工程で選択された前記動きベクトルの候補毎に前記画素差分算出工程で算出された差分に対し、該候補のベクトル符号量を前記重み係数を用いて重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を決定する決定工程と
を備え、
前記係数決定工程では、前記比率が１に近づくほど、重みが大きくなるように前記重み係数が決定されることを特徴とする動きベクトル生成方法。
【請求項７】
符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく、動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置における、動きベクトル生成方法であって、
候補選択手段が、複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択工程と、
画素差分算出手段が、前記符号化対象ブロックの画素値と、前記候補選択工程において選択された前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出工程と、
複数のコスト算出手段のそれぞれが、前記候補選択工程において選択された前記動きベクトルの候補毎に前記画素差分算出工程において算出された差分に対し、互いに重みが異なる重み係数を用いて該候補のベクトル符号量を重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を選択する、コスト算出工程と、
平均差分算出手段が、前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出工程と、
決定手段が、前記画素差分算出工程において算出された前記差分のうち最小の差分と、前記平均差分との比率に基づき、前記複数のコスト算出工程において選択された複数の動きベクトルの候補の中からいずれか１つを選択し、動きベクトルを決定する決定工程と
を備え、
前記決定工程では、前記比率が１に近づくほど、重みが大きい前記重み係数に基づく前記動きベクトルの候補が選択されることを特徴とする動きベクトル生成方法。
【請求項８】
コンピュータを請求項１乃至５のいずれか１項に記載の動きベクトル生成装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル生成装置、動きベクトル生成方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、音声信号、映像信号など所謂マルチメディアに関連する情報のデジタル化が急進しており、これに対応して映像信号の圧縮符号化及び復号化技術が注目されている。圧縮符号化及び復号化技術により、映像信号の格納に必要な記憶容量や伝送に必要な帯域を減少させることができるため、マルチメディア産業には極めて重要な技術である。
【０００３】
これらの圧縮符号化復号化技術は、多くの映像信号が有する自己相関性の高さ（すなわち、冗長性）を利用して情報量／データ量を圧縮している。映像信号が有する冗長性には、時間冗長性及び二次元の空間冗長性があり、時間冗長性は、ブロック単位の動き検出及び動き補償を用いて低減することが出来、一方、空間冗長性は、離散コサイン変換（ＤＣＴ）を用いて低減させることが出来る。
【０００４】
圧縮符号化復号化技術として知られるＭＰＥＧ方式などではこれらの手法により映像信号の冗長性を低減させ、経時的に変わるビデオフレーム／フィールドのデータ圧縮効果を向上させる。時間冗長性を低減させるためのブロック単位の動き推定とは、連続して入力する参照フレーム／フィールド（過去のフレーム／フィールド）と現在フレーム／フィールドとの間で最も近似するブロックを探し出す作業である。対応するブロックの移動方向、移動量を表すベクトルを動きベクトルという。従って、動き検出とは動きベクトルの検出と同義である。このような動きベクトルの検出は、ビデオ信号をｍ画素×ｎライン（ｍ、ｎは整数）による動きベクトルの検出単位（すなわちマクロブロックである）にブロック化し、ブロック毎に動きベクトルを検出するようになされている。また、ストリームには動き情報も符号化する必要があるため、動きベクトルを探索するときは、画像の類似度（歪量）だけではなく、動きベクトルなどの符号量も考慮する必要がある。一般的には以下の評価関数（１）を用いて動きベクトルの探索をしている。
【０００５】
Ｃ  ＝  Ｄ  ＋  λＲ  ・・・（１）
ここで、Ｃは動きベクトルを決定するための評価関数であり、Ｄは差分、Ｒは発生符号量、λは係数を示している。差分Ｄは符号化対象画像と予測画像との差分量が用いられ、差分二乗和や差分絶対値和などが使われる。またＲは動きベクトルの符号量、λは量子化ステップが一般的には用いられる。
【０００６】
動きベクトルの符号量Ｒは、上記圧縮方式では周囲の動きベクトルから求められる推定動きベクトルとの差分量を基に算出される。動きベクトルの探索時は必ずしも周囲の動きベクトルが正確に求められず、動きベクトルの符号量Ｒが正しく評価できない場合がある。特許文献１は、それに対処するための方法を記載している。
【０００７】
しかし、上記技術では符号量の評価に対しての改善は見られるものの、特に暗部などカメラゲインが増幅しノイズが大量に発生する映像ではノイズが評価関数Cに強く影響を与え、正しい動きベクトルが検出できない場合がある。例えば、ビルや自動車など物体の特徴がはっきりしている映像（以下、特徴のある映像）はノイズが載っている場合であっても、わずかな座標のずれに対して差分Dが敏感に反応するため動きベクトルの誤検出は少なくなる。一方、夜空などもともと平坦な映像（以下、特徴の無い映像）にノイズが載っている場合には、ノイズの影響を差分Dが強く受けるため、静止している映像であっても動きベクトルが（０，０）にならず動きベクトルの誤検出が発生していた。その結果、細かいフリッカが発生し、画像の劣化を招いていた。そこで、特許文献２に開示されるように符号化対象画像に対してノイズ除去を行い、ノイズを少なくすることで正しい動きベクトルを検出する手法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１５４０７２号公報
【特許文献２】特開平０６−２９６２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、ノイズ除去を行う際には低域通過型、帯域通過型などのフィルタを適用するため、入力映像が本来持っている情報量が失われ映像の解像感が損なわれてしまう問題がある。
【００１０】
本発明の目的は前述した問題点を解決し、ノイズが載った映像であっても解像感を損なわず正しい動きベクトルを検出することを可能とし、もって映像の劣化が少ない動き補償符号化技術を提供することである。
【課題を解決するための手段】
【００１１】
前記課題を解決するための本願発明は、符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置であって、
複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択手段と、
前記符号化対象ブロックの画素値と、前記候補選択手段が選択した前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出手段と、
前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出手段と、
前記画素差分算出手段が算出した前記差分のうち最小の差分と、前記平均差分との比率に基づき、重み係数を決定する係数決定手段と、
前記候補選択手段が選択した前記動きベクトルの候補毎に前記画素差分算出手段が算出した差分に対し、該候補のベクトル符号量を前記重み係数を用いて重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を決定する決定手段と
を備え、
前記係数決定手段は、前記比率が１に近づくほど、重みが大きくなるように前記重み係数を決定することを特徴とする。
【００１２】
前記課題を解決するための本願発明はまた、符号化対象画像における符号化対象ブロックと参照画像における参照ブロックとの比較に基づく、動き補償符号化を行うための動きベクトルを生成する動きベクトル生成装置であって、
複数の動きベクトルの候補から、順次いずれかの候補を選択する候補選択手段と、
前記符号化対象ブロックの画素値と、前記候補選択手段が選択した前記動きベクトルの候補に対応する前記参照ブロックの画素値との差分を、順次選択された候補についてそれぞれ算出する画素差分算出手段と、
複数のコスト算出手段であって、それぞれのコスト算出手段が、前記候補選択手段が選択した前記動きベクトルの候補毎に前記画素差分算出手段が算出した差分に対し、互いに重みが異なる重み係数を用いて該候補のベクトル符号量を重み付け加算して評価値を算出し、前記評価値が最小となる動きベクトルの候補を選択する、複数のコスト算出手段と、
前記符号化対象ブロックの画素値を平均した平均画素値と、前記符号化対象ブロックの各画素値との差分を平均差分として算出する平均差分算出手段と、
前記画素差分算出手段が算出した前記差分のうち最小の差分と、前記平均差分との比率に基づき、前記複数のコスト算出手段で選択された複数の動きベクトルの候補の中からいずれか１つを選択し、動きベクトルを決定する決定手段と
を備え、
前記決定手段は、前記比率が１に近づくほど、重みが大きい前記重み係数に基づく前記動きベクトルの候補を選択することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ノイズが載った映像であっても解像感を損なわず正しい動きベクトルを検出することができ、ひいては映像の劣化が少ない動き補償符号化技術を提供することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る動き補償符号化装置の構成例を示すブロック図。
【図２】本発明の第１の実施形態に係る動き予測部の構成例を示すブロック図。
【図３】本発明の第１の実施形態に係る動き予測部の動作を説明するための図。
【図４】本発明の第１の実施形態に係る動き予測部の動作を説明するための図。
【図５】本発明の第２の実施形態に係る動き補償符号化装置の構成例を示すブロック図。
【図６】本発明の第２の実施形態に係る動き予測部の動作を説明するための図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
【００１６】
［実施形態１］
以下に図１、図２を参照しながら、本発明にかかる動き補償符号化装置の好適な一実施形態について詳細に説明する。
【００１７】
図１は本発明に係る動き補償符号化装置のブロック図である。当該画像符号化装置は、フレームメモリ１０１、フィルタ後参照フレームメモリ１０２、動き予測部１０３、動き補償部１０４、イントラ予測部１０５、直交変換部１０６、量子化部１０７、エントロピー符号化部１０８を有する。さらには、逆量子化部１０９、逆直交変換部１１０、イントラ／インター判定部１１１、減算器１１２、加算器１１３、フィルタ前参照フレームメモリ１１４、ループフィルタ１１５を有する。図１の画像符号化装置において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵ等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。係る構成において、まず入力画像を符号化する方法について述べる。
【００１８】
フレームメモリ１０１には表示順に入力画像（原画像）が保存され、符号化順に符号化対象ブロック（ｍ画素×ｎライン（ｍ、ｎは整数））を動き予測部１０３、イントラ予測部１０５、減算器１１２に順次送信する。フィルタ後参照フレームメモリ１０２はフィルタ処理された符号化済み画像が参照画像として保存され、符号化順に符号化対象ブロックの参照画像を動き予測部１０３、動き補償部１０４に順次送信する。フィルタ前参照フレームメモリ１１４はフィルタ処理される前の符号化済み画像が参照画像として保存され、符号化順に符号化対象ブロックの参照画像をイントラ予測部１０５に順次送信する。
【００１９】
動き予測部１０３は、フレームメモリ１０１から符号化対象ブロックを受信し、また、フィルタ後参照フレームメモリ１０２からフィルタ後参照画像データを受信する。そして、受信データから、符号化対象ブロックのフィルタ後参照画像データでの動き量を表す動きベクトルを検出し、フィルタ後参照フレーム画像データ番号と共に動き補償部１０４に送信する。
【００２０】
動き補償部１０４は、動き予測部１０３からの動きベクトルを用いて、フィルタ後参照フレームメモリ１０２中のフィルタ後参照フレーム画像データ番号で示される参照フレーム画像を参照して、各ブロックの予測画像データを生成する。生成された予測画像データは、イントラ／インター判定部１１１に送信される。
【００２１】
一方、イントラ予測部１０５はフィルタ前参照フレームメモリ１１４から送信される符号化対象ブロック周辺の復号化済みデータを用いて複数のイントラ予測モードごとにイントラ予測画像を生成する。そしてフレームメモリ１０１から送信される符号化対象ブロックと生成した予測画像とを用いてブロックマッチングを行い最も相関の高い適切なイントラ予測モードを選択し、予測画像とともにイントラ／インター判定部１１１に送信する。
【００２２】
イントラ／インター判定部１１１は動き補償部１０４およびイントラ予測部１０５から送信されてくる予測画像データのうち符号化対象ブロックとの相関の高い予測画像データを選択して減算器１１２に送信する。相関の高い予測画像データを選択する方法としては例えば、符号化対象画像との差分値が小さい予測画像を選択するなどが考えられるが特に方式は問わない。減算器１１２はフレームメモリ１０１から送信されてくる符号化対象ブロックとイントラ／インター判定部１１１から送信されてくる予測画像ブロックを減算し、画像残差データを出力する。
【００２３】
直交変換部１０６では減算器１１２から出力された画像残差データを直交変換処理して、変換係数を量子化部１０７に送信する。量子化部１０７は直交変換部１０６からの変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部１０８および逆量子化部１０９に送信する。エントロピー符号化部１０８は量子化部１０７で量子化された変換係数を入力し、CAVLC、CABACなどのエントロピー符号化を施して、符号化データとして出力する。
【００２４】
続いて、量子化部１０７で量子化された変換係数を用いて参照画像データを生成する方法について述べる。逆量子化部１０９は量子化部１０７から送信されてくる量子化された変換係数を逆量子化する。逆直交変換部１１０は逆量子化部１０９で逆量子化された変換係数を逆直交変換し、復号残差データを生成し加算器１１３に送信する。加算器１１３は復号残差データと後述する予測画像データとを加算し参照画像データを生成し、フィルタ前参照フレームメモリ１１４に保存する。また、ループフィルタ１１５に送信される。ループフィルタ１１５は参照画像データをフィルタリングしてノイズを除去しフィルタ後の参照画像データをフィルタ後参照フレームメモリ１０２に保存する。
【００２５】
次に、本発明の動きベクトル生成装置として機能する動き予測部１０３の詳細な動作について述べる。図２は、本実施形態における動き予測部１０３の詳細な構成例を示す機能ブロック図である。なお、図２の機能ブロック図は、動き予測部１０３における処理の流れを示すフロー図として参照することも可能である。その場合、図２の各機能ブロックは、動き予測部１０３において実行される処理のステップをそれぞれ表すものとして解釈される。
【００２６】
図２において、符号化画像取得部２０１は、符号化対象ブロックの画像データをフレームメモリ１０１から取得する。また、動きベクトル候補選択部２０７は、複数の動きベクトル候補の中からいずれか１つの候補を順次選択し、参照画像取得部２０２へ出力する。
【００２７】
参照画像取得部２０２は、動きベクトル候補選択部２０７により設定された動きベクトルに対応する参照ブロックの画像データをフィルタ後参照フレームメモリ１０２から取得する。そして、取得した符号化対象ブロックの画像データ及び参照ブロックの画像データは、画素差分算出部２０３へ入力される。
【００２８】
画素差分算出部２０３は、符号化対象ブロックの画像と参照ブロックの画像との画素値の差分絶対値|Curij-Refij|の総和Σ|Curij-Refij|（以下、画素差分）を算出する。ここで、i,jは、ブロックの各画素のブロック内での位置を表すパラメータであって、ブロックサイズをｍ×ｎとすると、１≦i≦ｍ、１≦j≦ｎとなる。
【００２９】
なお、本実施形態では画素差分算出部２０３は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値であれば特にその内容は問わない。また、ここで求められる画素差分が評価関数（１）の差分Ｄに該当する。複数の動きベクトル候補に対する画素差分量は順次算出されて、重み係数決定部２０５へ送信されるとともに、画素差分保存部２０６に保存されていく。
【００３０】
画素平均差分算出部２０４は符号化対象ブロックの画素値を平均した平均画素値 を算出し、符号化対象ブロックの画素値 との差分絶対値|Curij-Curave|の総和Σ|Curij-Curave|（以下、画素平均差分）を算出する。なお、本実施形態では画素平均差分算出部２０４は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値であれば特にその内容は問わない。
【００３１】
算出した画素平均差分は重み係数決定部２０５へ送信される。重み係数決定部２０５は順次入力される画素差分が、これまでに入力された画素差分の最小値より小さいかどうかを判定し、小さい場合には最小値を更新するように動作する。全ての動きベクトル候補に対する画素差分の算出が終わると、重み係数決定部２０５は画素差分の最小値(以下、最小画素差分)と画素平均差分に基づいた以下の条件を用いて重み係数を決定する。
【００３２】
最小画素差分／画素平均差分≦Ｔｈ０、あるいはＴｈ１≦最小画素差分／画素平均差分の場合（但し、Ｔｈ０＜Ｔｈ１）は符号化対象画像をビルや自動車など物体の特徴がはっきりした特徴のある映像とし、重み係数に予め設定された所定の係数λ１を設定する。ここで設定する係数は評価関数（１）のλに該当し、例えば量子化ステップが設定される。一方、Ｔｈ０ ＜ 最小画素差分／画素平均差分 ＜ Ｔｈ１の場合は符号化対象画像を特徴の無い映像とし、重み係数に予め設定された所定の係数λ２を設定する。なお、λ１＜λ２であり、夜空などもともと平坦な特徴の無い映像では画素差分よりベクトル符号量を重視して無駄な動きベクトルを発生させないことで画質の劣化を防止することができる。
【００３３】
ここで、これらの条件でビルや自動車など物体の特徴がはっきりした特徴のある映像と夜空などもともと平坦な特徴の無い映像を判別できる理由を図３、図４を用いて説明する。
【００３４】
図３（Ａ）及び（Ｂ）は符号化対象画像が特徴の無い映像の一例として、夜空にノイズが載った映像の画素平均差分および画素差分をイメージ化したものである。まず図３（Ａ）は、符号化対象ブロックの画素から符号化対象ブロックの平均画素値を引いてもとめた画素平均差分をイメージ化したものである。夜空はもともと平坦な映像であるので符号化対象ブロックの平均画素値で生成される映像は元の夜空の映像とほとんど変わらない。そのため符号化対象ブロックから符号化対象ブロックの画素の平均画素値を引いてもとめた画素平均差分はほとんどノイズ分の差分のみとなる。
【００３５】
また図３（Ｂ）は、符号化対象ブロックの画素から参照ブロックの画素を引いてもとめた画素差分をイメージ化したものである。こちらの場合も、映像が静止していた場合、符号化対象ブロックと参照ブロックの違いはほとんどノイズ分のみとなる。ここで、画素平均差分のイメージと画素差分のイメージを比較すると、いずれの場合も差分はノイズ分のみとなるため、画素平均差分と画素差分の乖離が小さいことがわかる。
【００３６】
一方、図３(Ｃ)及び（Ｄ）は、符号化対象画像が特徴の在る映像の一例として、夜間に撮った木の枝にノイズが載った映像の画素平均差分および画素差分をイメージ化したものである。まず図３（Ｃ）は、符号化対象ブロックの画素から符号化対象ブロックの平均画素値を引いてもとめた画素平均差分をイメージ化したものである。木の枝はもともと高周波成分を含むため符号化対象ブロックの平均画素値で生成される映像と元の映像に大きな違いがある。そのため符号化対象ブロックから符号化対象ブロックの平均画素値を引いてもとめた画素平均差分は大きな値をとる。
【００３７】
また、図３（Ｄ）は、符号化対象ブロックの画素から参照ブロックの画素を引いてもとめた画素差分をイメージ化したものである。こちらの場合は、映像が静止していた場合、符号化対象ブロックから参照画素を引いてもとめた画素差分はほとんどノイズ分の差分のみとなる。動いている映像であっても符号化対象ブロックの平均画素値で生成される映像と比較すると、その差分は小さなものとなる。ここで、画素平均差分のイメージと画素差分のイメージを比較すると、こちらの場合は画素平均差分と画素差分の乖離が大きいことがわかる。
【００３８】
以上のように、特徴の無い映像の場合、画素平均差分と画素差分の乖離が小さく、特徴のある映像の場合、画素平均差分と画素差分の乖離が大きくなる。即ち、画素平均差分と画素差分との比率が１に近づくほど、特徴のない映像ということが言えるので、差分の比率が１に近づくほど、重みが大きくなるように重み係数を選択する。そこで図４のように所定の閾値Ｔｈ０、Ｔｈ１を設けて、最小画素差分／画素平均差分の比率が、Ｔｈ０より大きく、かつ、Ｔｈ１未満の所定の範囲内にあれば、特徴の無い映像であること、それ以外の場合は特徴のある映像と切り分けることができる。このとき、当該所定の範囲は、Ｔｈ０＜１＜Ｔｈ１の範囲として定義される。
【００３９】
図２の説明に戻り、重み係数決定部２０５が重み係数を決定すると、動きベクトル候補選択部２０７は再度同じ候補ベクトルの設定を順次行い、ベクトル符号量算出部２０８へ入力し、候補ベクトルに対するベクトル符号量を算出する。画素差分保存部２０６からは、設定された候補ベクトルに対応する画素差分量が読み出されてコスト算出・比較部２０９へ送信される。
【００４０】
コスト算出・比較部２０９は、候補毎にベクトル符号量に重み係数を乗算し、画素差分を加算して、各候補ベクトルに対応する評価値としてコストを算出する。また、コスト算出・比較部２０９は順次算出されるコスト値が、これまでに算出されたコスト値の最小値より小さいかどうかを判定し、小さい場合には最小値を更新するとともに、対応する動きベクトル情報もあわせて記憶する。そして、すべての動きベクトル候補に対するコスト値の算出および比較が終わった時点で記憶されている動きベクトルを、符号化対象ブロックに対する動きベクトルとして決定する。
【００４１】
なお、本実施形態では重み係数決定部２０５は最小画素差分と画素平均差分に基づいて、１つの範囲を定めて重み係数を決定しているが、閾値の数を増やし、複数の範囲を設定することによって段階的に求めても良い。
【００４２】
以上の実施形態によれば、ブロック内の画素値の差分に基づいてブロックの特性を判定し当該特性に対応する係数を選択することで、ブロックの特性に対応した最適な動きベクトルを選択することが可能となる。また、ノイズが載っていてもフィルタを用いることがないので、解像度を損なうことなく、適切な動きベクトルを選択することができる。
【００４３】
［実施形態２］
次に図５のブロック図を参照しながら、本発明にかかる画像符号化装置のもう一つの実施形態について詳細に説明する。図５は本実施形態に係る動きベクトル生成装置としての動き予測部５０３の詳細な構成例を示すブロック図である。画像符号化装置の構成は第１の実施形態と同様であり、図１中の動き予測部１０３を、図３に示す動き予測部５０３に置き換えることによって、第２の実施形態に係る画像符号化装置は構成される。なお、図５の機能ブロック図も図２と同様に、動き予測部１０３における処理の流れを示すフロー図として参照することも可能である。その場合、図５の各機能ブロックは、動き予測部１０３において実行される処理ステップをそれぞれ表すものとして解釈される。
【００４４】
図５において、符号化画像取得部２０１は、符号化対象ブロックの画像データをフレームメモリ１０１から取得する。また、動きベクトル候補選択部２０７は、複数の動きベクトル候補の中から、動きベクトルを順次、参照画像取得部２０２へ設定する。同時に動きベクトル候補を動きベクトル符号量算出部２０８にも送信し、候補ベクトルに対する動きベクトル符号量を算出する。
【００４５】
参照画像取得部２０２は、動きベクトル候補選択部２０７により設定された動きベクトルに対応する参照ブロックの画像データをフィルタ後参照フレームメモリ１０２から取得する。そして、取得した符号化対象ブロックの画像データ及び参照ブロックの画像データは、画素差分算出部２０３へ入力される。
【００４６】
画素差分算出部２０３は、符号化対象ブロックの画像と参照ブロック画像との画素値の差分絶対値|Curij-Refij|の総和Σ|Curij-Refij|（以下、画素差分）を算出する。ここで、i,jは、ブロックの各画素のブロック内での位置を表すパラメータであって、ブロックサイズをｍ×ｎとすると、１≦i≦ｍ、１≦j≦ｎとなる。
【００４７】
なお、本実施形態では画素差分算出部２０３は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値であれば特にその内容は問わない。また、ここで求められる画素差分が評価関数（１）の差分Ｄに該当する。
【００４８】
複数の動きベクトル候補に対する画素差分量は順次算出されて、最小画素差分保存部５１０とＮ個のコスト算出・比較部２０９-１から２０９-Ｎへ送信される。最小画素差分保存部５１０は順次入力される画素差分が、これまでに入力された画素差分の最小値より小さいかどうかを判定し、小さい場合には最小値を更新するように動作する。
【００４９】
全ての動きベクトル候補に対する画素差分の算出が終わると、最小画素差分保存部５１０は最小画素差分を動きベクトル決定部５１１に送信する。画素差分算出部２０３で算出された画素差分と動きベクトル符号量算出部２０８で算出された動きベクトル符号量はN個のコスト算出・比較部２０９-１から２０９-Ｎに入力される。Ｎ個のコスト算出・比較部には各々異なる重み係数λ１からλＮが入力される。各々のコスト算出・比較部は動きベクトル符号量に各々に設定された重み係数を乗算し、画素差分を加算して、候補ベクトルに対する評価値としてコストを算出する。
【００５０】
なお、コストが評価関数（１）における動きベクトルを決定するための評価関数Ｃ、画素差分が差分Ｄ、動きベクトル符号量が発生符号量Ｒ、λが係数λに対応する。コスト算出・比較部は算出したコストがこれまでに算出されたコストの最小値より小さいかどうかを判定し、小さい場合には最小値を更新するとともに、対応する候補動きベクトルと画素差分をあわせて保存する。そして、すべての動きベクトル候補に対するコストの算出が終わった時点で記憶されている動きベクトルを、符号化対象ブロックに対する動きベクトルとして決定する。その結果、N個のコスト算出・比較部に対応してN個の動きベクトルが算出される。
【００５１】
画素平均差分算出部２０４は符号化対象ブロックの画素値を平均した平均画素値 を算出し、符号化対象ブロックの画素値 との差分絶対値|Curij-Curave|の総和Σ|Curij-Curave|（以下、画素平均差分）を算出する。なお、本実施形態では画素平均差分算出部２０４は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値であれば特にその内容は問わない。
【００５２】
算出した画素平均差分は動きベクトル決定部５１１へ送信される。動きベクトル決定部５１１は最小画素差分と画素平均差分に基づいて、Ｎ個の動きベクトルから１つの動きベクトルを選択し、符号化対象ブロックに対する動きベクトルとして決定する。
【００５３】
本実施形態でも実施形態１と同様に、差分の比率が１に近づくほど、重みが大きくなるように重み係数を選択する。そこで、図６のようにＴｈ０ ＜ 最小画素差分／画素平均差分 ＜ Ｔｈ１の時は重み係数λ１を用いたコスト算出・比較部２０９-１の動きベクトルを選択する。ここでＴｈ０＜１＜Ｔｈ１であるので、本実施形態でも差分の比率が１を含む所定の範囲に含まれる場合に、最大の重み係数が選択される。Ｔｈ２ ＜最小画素差分／画素平均差分 ≦ Ｔｈ０、又は、Ｔｈ１ ≦ 最小画素差分／画素平均差分 ＜ Ｔｈ３の時（Ｔｈ２＜Ｔｈ０、Ｔｈ３＞Ｔｈ１）は重み係数λ２(λ１＜λ２)を用いたコスト算出・比較部２０９-２の動きベクトルを選択する。このようにして、各々のコスト算出・比較部に対応する閾値をもってＮ個のベクトルから選択する。その際、重み係数は、比率が１から離れる（大きくなる場合と、小さくなる場合とを含む）ほど、小さくなるように設定され、選択された動きベクトルは、符号化対象ブロックに対する動きベクトルに決定される。
【００５４】
本実施形態では、互いに重みが異なる重み係数のそれぞれが、差分の比率の大きさを判定するための互いに異なる範囲と関連づけられ、算出された比率が属する範囲と関連づけられた重み係数に基づく候補が動きベクトルとして選択される。これにより、実施形態１と同様にブロックが有する特性に対応する係数が選択され、ブロックの特性に対応した最適な動きベクトルを選択することが可能となる。また、ノイズが載っていてもフィルタを用いることがないので、解像度を損なうことなく適切な動きベクトルを選択することができる。
【００５５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005639444.tif 000002
【図２】
0005639444.tif 000003
【図４】
0005639444.tif 000004
【図５】
0005639444.tif 000005
【図６】
0005639444.tif 000006
【図３】
0005639444.tif 000007