(57)【特許請求の範囲】
【請求項１】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理装置において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、
前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、
前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段と
を備える画像処理装置。
【請求項２】
前記演算手段は、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求め、
前記割付手段は、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択する
請求項１に記載の画像処理装置。
【請求項３】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理方法において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求め、
求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付け、
割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する
ステップを含む画像処理方法。
【請求項４】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する処理をコンピュータに実行させるプログラムにおいて、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求め、
求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付け、
割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する
ステップを含むプログラム。
【請求項５】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成することによって、外部から入力される、フレーム周波数が２４Hzのプログレッシブ画像信号を、フレーム周波数が６０Hzのプログレッシブ画像信号に変換して出力する画像処理装置において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求める演算手段と、
前記演算手段により求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、
前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段と
を備える画像処理装置。
【請求項６】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理装置において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、
前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、
前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段と
を備える画像処理装置。
【請求項７】
前記演算手段は、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求め、
前記割付手段は、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択する
請求項６に記載の画像処理装置。
【請求項８】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理方法において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求め、
求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付け、
前記割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する
ステップを含む画像処理方法。
【請求項９】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて生成対象の第２のフレームに動きベクトルの割付処理をする画像処理装置において、
生成対象の前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、
前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と
を備える画像処理装置。
【請求項１０】
前記演算手段は、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求め、
前記割付手段は、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択する
請求項９に記載の画像処理装置。
【請求項１１】
前記アクティビティ情報とは、前記演算対象範囲内の画素データの平均値と画素データとの差分、または前記演算対象範囲内の画素データの最小値と画素データの差分に基づく情報である
請求項９に記載の画像処理装置。
【請求項１２】
第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて生成対象の第２のフレームに動きベクトルの割付処理をする画像処理方法において、
生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求め、
求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける
ステップを含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、より精度の高い動きベクトルを選択することができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
入力された画像（フレーム）のフレーム周波数をアップコンバートして出力する装置においては、入力されたフレームから、それらのフレームの間に挿入する内挿フレームを生成することが行われる。入力されたフレームが出力されるとともに、生成された内挿フレームが、入力されたフレームの間の所定のタイミングで出力されることにより、フレーム周波数のアップコンバートが実現される。
【０００３】
この内挿フレームは、例えば、内挿フレームを構成するそれぞれの画素に動きベクトルを割り付け、割り付けた動きベクトルによって対応付けられる入力された２つのフレーム上の画素から、内挿フレームを構成するそれぞれの画素を補間して生成される。
【０００４】
したがって、内挿フレームを構成するそれぞれの画素に割り付けられる動きベクトルの精度が、出力される画像の質に大きな影響を与えることになる。例えば、画枠の一方から他方に向かって、一定の形状のオブジェクトが等速で移動する内容の動画像が入力され、そのフレーム周波数をアップコンバートして出力する場合、精度の低い動きベクトルに基づいて生成された内層フレームが出力されることにより、オブジェクトの移動が等速に見えなかったり、オブジェクトが変形しながら移動しているように見えたりすることになる。
【０００５】
内挿フレームを構成するそれぞれの画素に割り付ける動きベクトルを検出する方法としては、例えば、特許文献１に記載されているような勾配法やブロックマッチング法などが用いられている。
【特許文献１】特開昭６０−１５８７８６公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、出力される画像の質に影響を与えることから、内挿フレームを構成するそれぞれの画素に割り付けられる動きベクトルは、より精度が高い方が好ましい。
【０００７】
例えば、内挿フレームを構成するそれぞれの画素に割り付ける動きベクトルの候補が複数あり、その中から１つの動きベクトルを割り付けるような場合、その１つの動きベクトルを選択する指標となる動きベクトルの評価値を求め、求めた評価値に基づいて動きベクトルの選択が行われることになるが、最も精度の高い動きベクトルを選択するためには、この評価値が、それぞれの動きベクトルの精度を正しく反映して求められる必要がある。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、より精度の高い動きベクトルを選択することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の第１の側面の画像処理装置は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理装置において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段とを備える。
【００１０】
前記演算手段には、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求めさせることができる。この場合、前記割付手段には、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択させることができる。
【００１１】
本発明の第１の側面の画像処理方法またはプログラムは、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理方法、または生成する処理をコンピュータに実行させるプログラムにおいて、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求め、求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付け、割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成するステップを含む。
【００１２】
本発明の第２の側面の画像処理装置は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成することによって、外部から入力される、フレーム周波数が２４Hzのプログレッシブ画像信号を、フレーム周波数が６０Hzのプログレッシブ画像信号に変換して出力する画像処理装置において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求める演算手段と、前記演算手段により求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段とを備える。
【００１３】
本発明の第３の側面の画像処理装置は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理装置において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段と、前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段とを備える。
【００１４】
前記演算手段には、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求めさせ、前記割付手段には、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択させることができる。
【００１５】
本発明の第３の側面の画像処理方法は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレームを生成する画像処理方法において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求め、求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付け、前記割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成するステップを含む。
【００１６】
本発明の第４の側面の画像処理装置は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて生成対象の第２のフレームに動きベクトルの割付処理をする画像処理装置において、生成対象の前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求める演算手段と、前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段とを備える。
【００１７】
前記演算手段には、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関をさらに求めさせ、前記割付手段には、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択させることができる。
【００１８】
前記アクティビティ情報とは、前記演算対象範囲内の画素データの平均値と画素データとの差分、または前記演算対象範囲内の画素データの最小値と画素データの差分に基づく情報であるようにすることができる。
【００１９】
本発明の第４の側面の画像処理方法は、第１のフレーム上の動きベクトルを検出し、検出した動きベクトルに基づいて生成対象の第２のフレームに動きベクトルの割付処理をする画像処理方法において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関を求め、求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付けるステップを含む。
【００２０】
本発明の第１および第２の側面においては、生成対象となる第２のフレームに含まれるそれぞれの領域に着目され、第１のフレームの第１の演算対象範囲内の各画素の画素データから第１の演算対象範囲内の画素の画素データの平均値を引いて得られる第１の演算対象範囲内の各画素の画素信号データと、第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって第１の演算対象範囲と対応付けられる第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから第２の演算対象範囲内の画素の画素データの平均値を引いて得られる第２の演算対象範囲内の各画素の画素信号データとから、第１と第２の演算対象範囲の第１の相関が求められる。また、求められた相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルが着目した領域に割り付けられ、割り付けられた動きベクトルと、少なくとも第１のフレームとから、第２のフレームが生成される。
【００２１】
本発明の第３および第４の側面においては、生成対象となる第２のフレームに含まれるそれぞれの領域に着目され、第１のフレームの第１の演算対象範囲内の画素データのアクティビティ情報と、第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって第１の演算対象範囲と対応付けられる第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の画素データのアクティビティ情報とから、前記第１と第２の演算対象範囲の第１の相関が求められ、求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルが着目した前記領域に割り付けられる。
【発明の効果】
【００２２】
本発明の側面によれば、より精度の高い動きベクトルを選択することができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００２４】
本発明の第１の側面は、第１のフレーム（例えば、時刻ｔのフレーム）上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレーム（例えば、内挿フレーム）を生成する画像処理装置において、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の第１の相関（例えば、式（１３）で表される偏差DFD）を求める演算手段（例えば、図３６の評価値演算部１４２）と、前記演算手段により求められた前記第１の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付ける割付手段（例えば、図１の割付補償部１７）と、前記割付手段により割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成する生成手段（例えば、図１の画像補間部１８）とを備える。
【００２５】
前記演算手段には、さらに、前記第１の演算対象範囲内の各画素の画素データと、前記第２の演算対象範囲内の各画素の画素データとから、前記第１と第２の演算対象範囲の第２の相関（例えば、式（１）で表される評価値DFD）をさらに求めさせるようにすることができる。この場合、前記割付手段には、前記第１と第２の相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを選択させるようにすることができる。
【００２６】
本発明の第１の側面の画像処理方法またはプログラムは、第１のフレーム（例えば、時刻ｔのフレーム）上の動きベクトルを検出し、検出した動きベクトルに基づいて第２のフレーム（例えば、内挿フレーム）を生成する画像処理方法、または生成する処理をコンピュータに実行させるプログラムにおいて、生成対象となる前記第２のフレームに含まれるそれぞれの領域に着目し、前記第１のフレームの第１の演算対象範囲内の各画素の画素データから前記第１の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第１の演算対象範囲内の各画素の画素信号データと、前記第２のフレームの着目した領域の周辺の領域に割り付けられている動きベクトルによって前記第１の演算対象範囲と対応付けられる前記第１のフレームから時間的に後の第３のフレームの第２の演算対象範囲内の各画素の画素データから前記第２の演算対象範囲内の画素の画素データの平均値を引いて得られる前記第２の演算対象範囲内の各画素の画素信号データとから、前記第１と第２の演算対象範囲の相関を求めるステップ（例えば、図５３のステップＳ５０８）と、求められた前記相関に基づいて、周辺の領域に割り付けられている動きベクトルのうちの１つの動きベクトルを着目した前記領域に割り付けるステップ（例えば、図５３のステップＳ５１３）と、割り付けられた動きベクトルと、少なくとも前記第１のフレームとから、前記第２のフレームを生成するステップ（例えば、図５のステップＳ５）を含む。
【００２７】
なお、アクティビティ情報とは、演算対象範囲内の画素データの平均値と画素データとの差分、または演算対象範囲内の画素データの最小値と画素データの差分に基づく情報であるようにすることができる。
【００２８】
以下、本発明の実施の形態について図を参照して説明する。
【００２９】
図１は、本発明の一実施形態に係る信号処理装置１の構成例を示すブロック図である。図１に示される各構成は、ハードウエア的に実現されるようにしてもよいし、ソフトウエア的に実現されるようにしてもよい。
【００３０】
信号処理装置１においては、例えば、フレーム周波数２４Hzのプログレッシブ画像信号（２４Ｐ信号）が入力され、入力された信号が、フレーム周波数６０Hzのプログレッシブ画像信号（６０Ｐ信号）に変換されて出力される。信号処理装置１に入力された２４Ｐ信号の入力画像は、フレームメモリ１１、ベクトル検出部１２、ベクトル割付部１４、割付補償部１７、および画像補間部１８に供給される。
【００３１】
フレームメモリ１１は、時刻t+1のフレーム（画像）の１つ前の時刻のフレームである時刻ｔのフレームを記憶する。フレームメモリ１１に記憶された時刻ｔのフレームは、ベクトル検出部１２、ベクトル割付部１４、割付補償部１７、および画像補間部１８に出力される。以下、時刻ｔのフレームをフレームｔといい、時刻t+1のフレームをフレームt+1という。
【００３２】
ベクトル検出部１２は、フレームメモリ１１に記憶されているフレームｔの着目ブロックと、フレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを検出ベクトルメモリ１３に記憶させる。この２フレーム間の動きベクトルの検出には勾配法やブロックマッチング法などが用いられる。ベクトル検出部１２の構成の詳細については後述する。
【００３３】
検出ベクトルメモリ１３は、フレームｔを対象としてベクトル検出部１２により検出された動きベクトルを記憶する。
【００３４】
ベクトル割付部１４は、２４Ｐ信号のフレームｔ上において求められた動きベクトルを、割付ベクトルメモリ１５に記憶されている、補間する６０Ｐ信号のフレーム上の画素に割り付ける。以下、適宜、６０Ｐ信号のフレームを内挿フレームともいう。
【００３５】
また、ベクトル割付部１４は、動きベクトルを内挿フレームに割り付けたとき、割付フラグメモリ１６に記憶されている、動きベクトルを割り付けた画素の割付フラグを１（True）に書き換える。割付フラグは、それぞれの画素の動きベクトルの割り付けの有無を示すものである。例えば、True（１）の割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、False（０）の割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。ベクトル割付部１４の構成の詳細については後述する。
【００３６】
割付ベクトルメモリ１５は、ベクトル割付部１４により内挿フレームの画素に割り付けられた動きベクトル（以下、適宜、割付ベクトルという）を記憶する。
【００３７】
割付フラグメモリ１６は、内挿フレームの画素毎に割付フラグを記憶する。
【００３８】
割付補償部１７は、割付フラグメモリ１６に記憶されている割付フラグを参照し、ベクトル割付部１４により動きベクトルが割り付けられなかった画素が内挿フレームにある場合、その画素に、周辺画素の動きベクトルを割り付ける（補う）。動きベクトルを新たに割り付けたとき、割付補償部１７は、割付フラグメモリ１６に記憶されている、そ動きベクトルを割り付けた画素の割付フラグを１（True）に書き換える。割付補償部１７の構成の詳細については後述する。
【００３９】
画像補間部１８は、割付ベクトルメモリ１５に記憶されている、内挿フレームのそれぞれの画素に割り付けられた動きベクトルと、フレームｔ，t+1の画素値（例えば、輝度値）を用いて、内挿フレームの画素値を補間生成する。画像補間部１８は、生成した内挿フレームを出力し、その次に、必要に応じてフレームt+1を出力することにより、６０Ｐ信号を後段に出力する。
【００４０】
図２は、フレームの内挿の例を示す図である。
【００４１】
図２においては、点線が、信号処理装置１に入力される、時刻ｔ，t+1，t+2の２４Ｐ信号のフレームを表し、実線が、信号処理装置１において生成されて出力される、時刻ｔ，t+0.4，t+0.8，t+1.2，t+1.6，t+2の６０Ｐ信号のフレームを表す。
【００４２】
一般に、２４Ｐ信号を６０Ｐ信号に変換するためには、６０／２４（５／２）倍のフレーム、すなわち、入力された２つのフレームから５つのフレームを生成する必要がある。このとき、６０Ｐ信号の内挿フレームは、それぞれのフレーム間隔を等しくするために、２４Ｐ信号上での時間位相が0.0，0.4，0.8，1.2、および1.6となる位置に配置される。この中で、時間位相が0.0である時刻ｔの１フレームを除く４フレーム（t+0.4，t+0.8，t+1.2，およびt+1.6のフレーム）は２４Ｐ信号上には存在しない画像である。
【００４３】
したがって、信号処理装置１においては、２４Ｐ信号の画像が入力されると、２４Ｐ信号の時刻ｔおよび時刻t+1の２つのフレームから４つの内挿フレームが生成され、時刻ｔ，t+0.4，t+0.8，t+1.2，およびt+1.6の５つのフレームからなる６０Ｐ信号が出力される。
【００４４】
これにより、２４Ｐ信号から６０Ｐ信号へのフレーム周波数変換が実現される。
【００４５】
なお、原理的には、２４Ｐ信号の時刻ｔと時刻t+1の２つのフレームから、時刻ｔ，t+0.4，t+0.8，t+1.2、およびt+1.6の５つの６０Ｐ信号のフレームが新しく生成されるが、実際には、図２の例の場合、２４Ｐ信号の時刻ｔと時刻t+1の２つのフレームに基づいて、ｔ，t+0.4，t+0.8の６０Ｐ信号のフレームが生成され、２４Ｐ信号の時刻t+1とt+2の２つのフレームに基づいて、t+1.2，t+1.6、およびt+2の６０Ｐ信号のフレームが生成される。
【００４６】
図３は、信号処理装置１において行われる一連の処理を説明する図である。
【００４７】
図３において、太線矢印は状態の遷移を表し、矢印Ｔはそれぞれの状態における時間の経過方向を表す。また、状態S1乃至S5は、信号処理装置１を構成する各部への入力時、各部からの出力時における、２４Ｐ信号のフレームｔ、フレームt+1、または、フレームｔとフレームt+1の間に生成される６０Ｐ信号の内挿フレームＦの状態を表している。すなわち、実際には、例えば、状態S2に示されるような動きベクトルが検出されたフレームは入力されず、フレームと、検出された動きベクトルは別々に入力される。
【００４８】
状態S1は、ベクトル検出部１２に入力される、２４Ｐ信号のフレームｔ，t+1の状態を表す。フレームｔ上の黒点は画素を表している。
【００４９】
ベクトル検出部１２は、フレームｔ上の画素が、次の時刻のフレームt+1において、どの位置に移動するかを検出し、検出した動きを、各画素に対応する動きベクトルとして出力する。１つの画素に対応するものとして複数の動きベクトルが検出された場合、ベクトル検出部１２は、それぞれの動きベクトルについて評価値を求め、求めた評価値に基づいて１つの動きベクトルを選択する。
【００５０】
状態S2は、ベクトル割付部１４に入力される、フレームｔ，t+1の状態を表す。状態S2において、フレームｔの各画素から延びている矢印は、ベクトル検出部１２により検出された動きベクトルを表している。
【００５１】
ベクトル割付部１４は、フレームｔの各画素において検出された動きベクトルを、次のフレームt+1まで延長させ、予め設定されている時間位相（例えば、図２のt+0.4）にある内挿フレームＦ上のどの位置を通過するかを求める。これは、フレームｔとフレームt+1の間において、ある画素が一定の動きをとるものとすると、動きベクトルが内挿フレームＦを通過した点が、その、ある画素に対応する、内挿フレームＦの画素位置となるためである。
【００５２】
例えば、ベクトル割付部１４は、この通過する動きベクトルを、内挿フレームＦ上の通過点の近傍４画素に割り付ける。このとき、内挿フレームの画素によっては、動きベクトルが存在しない場合、あるいは、複数の動きベクトルが割付候補となる場合があり、後者のような場合には、ベクトル割付部１４は、それぞれの動きベクトルについての評価値を求め、求めた評価値に基づいて、割り付ける１つの動きベクトルを選択する。
【００５３】
状態S3は、割付補償部１７に入力される、フレームｔ，t+1、および、内挿フレームＦの状態を表す。状態S3の内挿フレームＦにおいては、動きベクトルが割り付けられている画素と、割り付けられていない画素が存在する。
【００５４】
割付補償部１７は、動きベクトルが割り付けられていない画素に対して、その画素の周辺画素に割り付けられている動きベクトルを用いて補う。これは、ある着目画素の近傍領域が、その着目画素と同じ動きをとるという仮定が成り立つならば、着目画素の動きベクトルは、周辺画素の動きベクトルと似たものになると考えられるからである。
【００５５】
このように、周辺画素の動きベクトルを割り付けることにより、動きベクトルが割り付けられなかった画素にもある程度正確な動きベクトルが与えられ、内挿フレームＦのすべての画素に動きベクトルが割り付けられる。複数の動きベクトルが着目画素の動きベクトルの候補として存在する場合、割付補償部１７は、それぞれの動きベクトルについての評価値を求め、求めた評価値に基づいて、割り付ける１つの動きベクトルを選択する。
【００５６】
状態S4は、画像補間部１８に入力される、フレームｔ，t+1、および、内挿フレームＦの状態を表す。状態S4の内挿フレームＦにおいては、すべての画素に動きベクトルが割り付けられている。
【００５７】
このように、すべての画素に動きベクトルが割り付けられていることにより、画像補間部１８は、内挿フレームＦ上の画素と、フレームｔおよびフレームt+1の画素の位置関係を決定することができる。
【００５８】
画像補間部１８は、内挿フレームＦ上に割り付けられた動きベクトルと、フレームｔ，t+1の画素値を用いて、内挿フレームＦのそれぞれの画素の画素値を補間生成し、フレームｔ、生成した内挿フレームＦ、およびフレームt+1をそれぞれ所定のタイミングで出力する。これにより、６０Ｐ信号が信号処理装置１から出力される。
【００５９】
ここで、図４を参照して、動きベクトルの選択の際に用いられる評価値について説明する。
【００６０】
上述したように、信号処理装置１の各部（ベクトル検出部１２、ベクトル割付部１４、および割付補償部１７）においては、後段の処理で用いられる動きベクトルを選択するとき、その指標となる動きベクトルの評価値として、例えば、２つのフレームの着目するベクトル量分ずらしたブロック間の相関値を表す差分絶対値和（DFD(Displaced Frame Difference)）が用いられる。
【００６１】
図４の例においては、フレームｔ上の画素位置ｐを中心としたｍ×ｎのブロックと、フレームt+1上の画素位置ｐから、着目する動きベクトルｖ（候補となっている動きベクトル）のベクトル量分ずらした画素位置p+vを中心としたｍ×ｎのブロックが示されており、これらのブロック間において求められる差分絶対値和DFDt（ｐ）は次式（１）で表される。
【００６２】
【数１】
0004655216.tif 000002
【００６３】
ここで、Ｆt（ｐ）は、時刻ｔにおける画素位置ｐの輝度値を表し、ｍ×ｎは、差分絶対値和を求めるためのDFD演算範囲（ブロック）を表す。差分絶対値和は２つのフレームにおけるブロック間の相関値を表しているため、通常、この差分絶対値和が小さいほどフレーム間のブロックの波形が一致し、動きベクトルｖの信頼度が高いといえる。したがって、信号処理装置１の各部においては、このように信頼度が高い動きベクトルｖが、後段の処理に最適な動きベクトルとして選択される。
【００６４】
次に、図５のフローチャートを参照して、信号処理装置１のフレーム周波数変換処理について説明する。
【００６５】
ステップＳ１において、ベクトル検出部１２は、フレームt+1と、フレームメモリ１１に記憶されているフレームｔの画素値を取得する。フレームt+1と、フレームメモリ１１に記憶されているフレームｔの画素値は、ベクトル割付部１４、割付補償部１７、および画像補間部１８にも供給される。
【００６６】
ステップＳ２において、ベクトル検出部１２は動きベクトル検出処理を行う。この処理により、フレームｔの着目ブロックと、フレームt+1の対象ブロックの間で動きベクトルが検出され、検出された動きベクトルが検出ベクトルメモリ１３に記憶される。
【００６７】
ステップＳ３において、ベクトル割付部１４はベクトル割付処理を行う。この処理により、フレームｔ上において求められた動きベクトルが内挿フレームの画素に割り付けられる。割り付けられた動きベクトルは、画素と対応付けて割付ベクトルメモリ１５に記憶される。
【００６８】
ステップＳ４において、割付補償部１７は割付補償処理を行う。この処理により、ベクトル割付部１４により動きベクトルが割り付けられなかった画素に対して、その画素の周辺画素の動きベクトルが割り付けられる。
【００６９】
ステップＳ５において、画像補間部１８は画像補間処理を行う。この処理により、内挿フレームに割り付けられた動きベクトルと、フレームｔ，t+1の画素値を用いて、内挿フレームの画素値が補間生成される。
【００７０】
ステップＳ２乃至Ｓ５において行われる動きベクトル検出処理、ベクトル割付処理、割付補償処理、画像補間処理については後に詳述する。
【００７１】
ステップＳ６において、画像補間部１８は、生成された内挿フレームを出力し、その次に、必要に応じてフレームt+1を出力することにより、６０Ｐ信号の画像を後段に出力する。
【００７２】
ステップＳ７において、ベクトル検出部１２は、すべてのフレームの処理が終了したか否かを判定し、すべてのフレームの処理が終了していないと判定した場合、ステップＳ１に戻り、それ以降の処理を繰り返す。ベクトル検出部１２は、ステップＳ７において、すべてのフレームの処理が終了したと判定した場合、処理を終了させる。
【００７３】
以上のように、信号処理装置１においては、基本的に、動きベクトルを検出する処理、検出した動きベクトルを内挿フレーム上の画素に割り付ける処理、動きベクトルが割り付けられていない内挿フレームの画素に動きベクトルを補償する処理、および、割り付けられた動きベクトルと２つのフレームの画素値から内挿フレームを補間生成する処理の４つの処理が行われる。以下、それぞれの処理、および、それを実現する構成の詳細について順に説明する。
【００７４】
はじめに、動きベクトルの検出について説明する。
【００７５】
図６は、図１のベクトル検出部１２の構成例を示すブロック図である。
【００７６】
上述したように、ベクトル検出部１２においては、入力されるフレームｔとフレームt+1を用いてフレームｔ上の各画素の動きベクトルが検出される。この動きベクトルを検出する処理は、例えば、複数の画素からなるブロック毎に実行される。
【００７７】
初期ベクトル選択部３１は、検出ベクトルメモリ１３に記憶されている、過去に求められた周辺のブロック（周辺領域）の動きベクトルや、シフト初期ベクトルメモリ３７に記憶されているシフト初期ベクトルを初期ベクトルの候補（以下、適宜、初期候補ベクトルともいう）として選択する。
【００７８】
また、初期ベクトル選択部３１は、それぞれの初期候補ベクトルの評価値DFDを求め、評価値DFDに基づいて選択した、最も信頼度が高い初期候補ベクトルを初期ベクトルV0として反復勾配法演算部３３に出力する。
【００７９】
プリフィルタ３２−１および３２−２はローパスフィルタやガウシアンフィルタにより構成され、それぞれ、入力されるフレームｔ，t+1のノイズ成分を除去し、ノイズ成分を除去して得られたフレームｔ，t+1を反復勾配法演算部３３に出力する。
【００８０】
反復勾配法演算部３３は、初期ベクトル選択部３１から供給されてきた初期ベクトルV0と、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、所定のブロック毎に、動きベクトルVnを勾配法により算出し、初期ベクトルV0と、算出した動きベクトルVnをベクトル評価部３４に出力する。
【００８１】
ベクトル評価部３４は、反復勾配法演算部３３により求められた動きベクトルVn-1（または初期ベクトルV0）と動きベクトルVnの評価値DFDを求め、求めた評価値DFDから、信頼度が高いと考えられる動きベクトルVnが求められるまで、勾配法の演算を反復勾配法演算部３３に繰り返し実行させる。
【００８２】
また、ベクトル評価部３４は、信頼度が高いと考えられるベクトルが反復勾配法演算部３３により求められたとき、それを動きベクトルＶとして検出ベクトルメモリ１３に記憶させるとともに、その動きベクトルＶと、動きベクトルＶの評価値DFDをシフト初期ベクトル割付部３５に出力する。
【００８３】
シフト初期ベクトル割付部３５は、動きベクトルＶと評価値DFDがベクトル評価部３４から供給されてきたとき、次のフレーム上の着目ブロックを通過する動きベクトルを、その着目ブロックにシフトさせたシフト初期ベクトルとして設定し、シフト初期ベクトルメモリ３７に記憶させる。例えば、シフト初期ベクトル割付部３５は、動きベクトルＶの終点のブロックと同じ位置の次のフレーム上の着目ブロックを始点とした、動きベクトルＶと同じ大きさで同じ向きの動きベクトルをシフト初期ベクトルとして設定する。
【００８４】
評価値メモリ３６は、シフト初期ベクトルの候補の評価値DFDをブロック毎に記憶する。
【００８５】
シフト初期ベクトルメモリ３７は、最も評価値DFDが小さい動きベクトルを、シフト初期ベクトルとしてそれぞれのブロックに対応させて記憶する。
【００８６】
ここで、ベクトル検出部１２を構成する初期ベクトル選択部３１、反復勾配法演算部３３、およびシフト初期ベクトル割付部３５の詳細について説明する。
【００８７】
図７は、初期ベクトル選択部３１の構成例を示すブロック図である。
【００８８】
候補ベクトル位置演算部５１は、フレームｔ上の処理の対象となる着目ブロックを選択し、着目ブロックの周辺領域から、着目ブロックの初期候補ベクトルを取得する候補ブロックの位置、初期候補ベクトルとなる動きベクトルの種類、および優先順位を求め、求めた優先順位の順に、候補ブロックの位置情報と初期候補ベクトルの種類情報を検出ベクトル取得部５２とシフト初期ベクトル取得部５３に出力する。初期候補ベクトルの数、候補ブロックの位置、初期候補ベクトルの種類、および優先順位はあらかじめ設定されている。
【００８９】
また、候補ベクトル位置演算部５１は、候補ブロックの位置情報をオフセット位置演算部５４にも供給する。
【００９０】
例えば、候補ベクトル位置演算部５１は、あらかじめ設定された初期候補ベクトルの種類が過去ベクトルまたは現在ベクトル（ベクトルの種類については後述する）である場合、候補ブロックの位置情報と初期候補ベクトルの種類情報を検出ベクトル取得部５２に出力し、初期候補ベクトルの種類がシフト初期ベクトルである場合、候補ブロックの位置情報と初期候補ベクトルの種類情報をシフト初期ベクトル取得部５３に出力する。また、そのどちらでもなかった場合（例えば、初期候補ベクトルの種類が０ベクトルである場合）、候補ベクトル位置演算部５１は、０ベクトルとともに、候補ブロックの位置情報をオフセット位置演算部５４に出力する。
【００９１】
図８は、初期ベクトルの候補ブロックとなる周辺領域の例を示す図である。
【００９２】
図８において、矢印Ｔは、図中、左手前の時刻t-1の過去フレームt-1から、右奥の時刻ｔの現在フレームｔへの時間の経過方向を示している。図８の例においては、初期ベクトルの候補となり得る周辺領域は、着目するブロックBtを中心とした７×７ブロックにより構成される。各ブロックは例えば４×４画素により構成される。
【００９３】
動きベクトル検出処理は、例えば、フレームの左上のブロックを開始位置として、処理対象のブロックをラスタ順に切り替えて行われる。したがって、初期ベクトル選択部３１においては、現在フレームｔの着目ブロックBtの動きベクトル検出処理の際には、その直前のブロックまでの動きベクトル検出の結果を、初期ベクトルの候補とすることが可能となる。
【００９４】
すなわち、着目ブロックBtの周辺領域は、着目ブロックBtよりも前に処理されるブロックCVB、および着目ブロックBtよりも後に処理されるブロックPVBにより構成される。したがって、着目ブロックBtの初期ベクトルを求める場合、初期候補ベクトルは、ブロックCVBの現在フレームｔ上で検出された動きベクトル（現在ベクトルCV）、および、ブロックPVBの過去フレームt-1上で検出された動きベクトル（過去ベクトルPV）の中から選択することができる。なお、このとき、同じ周辺領域のブロックに割り付けられるシフト初期ベクトルSVも初期候補ベクトルの候補となりうる。
【００９５】
図９は、候補ベクトル位置演算部５１により設定される初期ベクトルの候補ブロックの例を示す図である。
【００９６】
図９の例においては、着目ブロックBtの周辺領域のうち、「英字／数字」のシンボルがそれぞれ示されている８個のブロックが、初期候補ベクトルが取得される候補ブロックとしてあらかじめ設定されている。これらのブロックに示されている斜線の前後のシンボルは、「初期候補ベクトルの種類」と「優先順位」をそれぞれ表す。なお、初期候補ベクトルの種類のうち、Ｐは過去フレームt-1で検出された過去ベクトルPVを表し、Ｃは現在フレームｔで検出された現在ベクトルを表す。また、Ｓはシフト初期ベクトルSVを表す。
【００９７】
着目ブロックBtの「Ｓ／１」は、着目ブロックBtに割り付けられたシフト初期ベクトルSVが、初期候補ベクトルとして１番目に用いられることを表す。また、着目ブロックBtの左隣のブロックの「Ｃ／２」は、現在フレームｔにおいて検出されたそのブロックの現在ベクトルCVが、初期候補ベクトルとして２番目に用いられることを表す。他のシンボルについても同様に、その英字が動きベクトルの種類を表し、数字が優先順位を表す。
【００９８】
このように、信号処理装置１においては、候補ブロックの数、候補ブロックの位置、初期候補ベクトルの種類、および優先順位があらかじめ設定されており、その設定に基づいて初期候補ベクトルが取得され、初期候補ベクトルの情報が各部に出力される。
【００９９】
図７の説明に戻り、検出ベクトル取得部５２は、候補ベクトル位置演算部５１から供給されてきた候補ブロックの位置情報と初期候補ベクトルの種類情報に応じた動きベクトルを検出ベクトルメモリ１３より取得し、取得した動きベクトルを、初期候補ベクトルとしてオフセット位置演算部５４に出力する。
【０１００】
シフト初期ベクトル取得部５３は、候補ベクトル位置演算部５１から供給されてきた候補ブロックの位置情報と初期候補ベクトルの種類情報に応じて、候補ブロックの位置に対応したシフト初期ベクトルをシフト初期ベクトルメモリ３７から取得し、取得したシフト初期ベクトルを初期候補ベクトルとしてオフセット位置演算部５４に出力する。
【０１０１】
また、シフト初期ベクトル取得部５３は、候補ベクトル位置演算部５１により指示されたブロックにシフト初期ベクトルが割り付けられていない場合、０ベクトルをオフセット位置演算部５４に出力する。
【０１０２】
オフセット位置演算部５４は、検出ベクトル取得部５２またはシフト初期ベクトル取得部５３から初期候補ベクトル（あるいは候補ベクトル位置演算部５１からの０ベクトル）が供給されてきたとき、候補ベクトル位置演算部５１から供給されてきた候補ブロックの位置情報に基づいて、それぞれの初期候補ベクトルに対して、フレームｔの着目ブロックをフレームt+1にオフセット（動き補償）させたオフセット先のブロック位置を求める。
【０１０３】
また、オフセット位置演算部５４は、初期候補ベクトルとともに、候補ブロックの位置とオフセット先のブロック位置の情報を評価値演算部５５に出力する。
【０１０４】
評価値演算部５５は、初期候補ベクトルとともに、候補ブロックの位置とオフセット先のブロック位置の情報がオフセット位置演算部５４から供給されてきたとき、供給されてきた初期候補ベクトルの評価値DFDを求め、求めた評価値DFDを、初期候補ベクトルとともに評価値比較部５６に出力する。
【０１０５】
評価値比較部５６は、評価値演算部５５から供給されてきた評価値DFDと、最適候補格納用レジスタ５７に格納されている最適候補ベクトルの評価値DFDを比較し、評価値演算部５５から供給されてきた初期候補ベクトルの評価値DFDが、最適候補ベクトルの評価値DFDよりも小さい、すなわち、初期候補ベクトルの方が最適候補ベクトルよりも信頼度が高いと判定した場合、最適候補格納用レジスタ５７に記憶されている最適候補ベクトルとその評価値DFDを、信頼度が高いと判定した初期候補ベクトルとその評価値DFDに置き換える。また、評価値比較部５６は、すべての候補ベクトルの中から信頼度が最も高いと判定した最適候補ベクトルを、初期ベクトルV0として、最適候補格納用レジスタ５７から反復勾配法演算部３３に出力させる。
【０１０６】
次に、図６の反復勾配法演算部３３について説明する。
【０１０７】
図１０は、反復勾配法演算部３３の構成例を示すブロック図である。
【０１０８】
モード選択部７１は、有効画素判断部７３による制御に従って、勾配法演算のモードを例えばブロック毎に選択し、初期ベクトル選択部３１から供給されてきた初期ベクトルV0をセレクタ７２とベクトル評価部３４に出力する。勾配法演算のモードには、動きベクトルの検出対象がブロックであるブロック単位処理モードと、動きベクトルの検出対象が画素である画素単位処理モードがある。例えば、初期値としてブロック単位処理モードが選択される。
【０１０９】
セレクタ７２は、ベクトル評価部３４による制御に従って、モード選択部７１から供給されてきた初期ベクトルV0と、勾配法演算部７４から供給されてきた動きベクトルVnのうちのいずれかを、勾配法演算の初期値として用いる動きベクトル（以下、オフセットベクトルという）として有効画素判断部７３と勾配法演算部７４に出力する。
【０１１０】
有効画素判断部７３は、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1のブロックを用いて、セレクタ７２から供給されてきたオフセットベクトルをオフセットとして計算した位置の演算ブロックに含まれる勾配法の演算に有効な画素の数がしきい値より多いか否かを判定し、その結果に応じて、勾配方演算のモードをモード選択部７１に選択させる。
【０１１１】
例えば、有効画素判断部７３は、処理対象としている演算ブロックに含まれる、勾配法の演算に有効な画素の数がしきい値より多いと判定した場合、勾配法演算部７４に勾配法演算処理を実行させる。また、有効画素が少ないと判定した場合、有効画素判断部７３は、いま着目しているブロックの処理モードをブロック単位処理モードから画素単位処理モードに変更させたり、勾配法演算部７４による処理を中止させたりする。
【０１１２】
勾配法演算部７４は、セレクタ７２から供給されてきたオフセットベクトルをオフセットとして計算した位置のブロックを処理対象として、選択されている処理モードに応じた勾配法演算を行い、求めた動きベクトルVnをベクトル評価部３４と遅延部７５に出力する。
【０１１３】
ここで、勾配法演算部７４により行われる勾配法演算について説明する。
【０１１４】
水平軸、垂直軸、時間軸を用いた座標（ｘ，ｙ，ｔ）で表される動画像を構成する画素の輝度値をｇ（ｘ，ｙ，ｔ）とする。この場合、着目画素（ｘ0，ｙ0，ｔ0）が微小時間中に（dx，dy，dt）だけ変位したとき、水平軸、垂直軸、時間軸の勾配（差分差）をそれぞれｇｘ（ｘ0，ｙ0，ｔ0），ｇｙ（ｘ0，ｙ0，ｔ0），ｇｔ（ｘ0，ｙ0，ｔ0）と表すと、変位後の画素の輝度値はTaylor展開近似を用いて次式（２）で表される。
【０１１５】
【数２】
0004655216.tif 000003
【０１１６】
動画像中のある着目画素が１フレーム後に水平vx，垂直vyだけ移動した場合（以降、（vx，vy）と表す）、その画素の輝度値は次式（３）で表される。
【０１１７】
【数３】
0004655216.tif 000004
【０１１８】
式（２）を式（３）に代入すると次式（４）が得られる。
【０１１９】
【数４】
0004655216.tif 000005
【０１２０】
式（４）はvx，vyの２変数の式であるので、１つの着目画素に対する単独の式では、その解を求めることができない。そこで、着目画素の周辺領域であるブロックを１つの処理単位として考え、ブロック（周辺領域）内の全画素が同じ動き（vx，vy）をすると仮定し、各画素について同様の式を立てる。これにより、周辺画素の個数の式が得られ、それらの式を連立させることによって、ブロック内の全ての画素の動き補償フレーム差分の自乗和が最小になるような（vx，vy）を求める。
【０１２１】
画素（ｘ，ｙ，ｔ）が１フレーム間に（vx，vy）だけ移動したとき、その動き補償フレーム間差分ｄは次式（５）で表される。
【０１２２】
【数５】
0004655216.tif 000006
【０１２３】
式（５）において、Δｘ＝ｇｘ（ｘ，ｙ，ｔ）であり、これは水平方向の勾配を表す。また、Δｙ＝ｇｙ（ｘ，ｙ，ｔ）であり、これは垂直方向の勾配を表し、Δｔ＝ｇｔ（ｘ，ｙ，ｔ）であり、これは時間方向の勾配を表す。これらを用いて、動き補償フレーム間差分の自乗和Ｅは式（６）で表される。
【０１２４】
【数６】
0004655216.tif 000007
【０１２５】
ここで、自乗和Ｅが最小となる（vx，vy）は、各変数における偏微分値が０になるとき、すなわち、δＥ／δvx＝δＥ／δvy＝０の条件が成立するときのものなので、式（６）から式（７）、（８）が得られる。
【０１２６】
【数７】
0004655216.tif 000008
【０１２７】
【数８】
0004655216.tif 000009
【０１２８】
これらの式（７）、（８）から、求めたい動きである（vx，vy）は次式（９）により求めることができる。
【０１２９】
【数９】
0004655216.tif 000010
【０１３０】
図１１を参照して具体的に説明する。
【０１３１】
図１１において、矢印Ｘは水平方向を示し、矢印Ｙは垂直方向を示す。また、矢印Ｔは、図中、右奥のフレームｔから、左手前のフレームt+1への時間の経過方向を示す。なお、図１１においては、各フレームとして、勾配法演算に用いられる、着目画素ｐの周辺領域である８×８画素の領域のみが示されている。
【０１３２】
図１１のフレームｔにおいて、左上の画素から下に５番目、右に５番目の画素である着目画素ｐの動きベクトルＶ（vx，vy）を勾配法により求める場合、動きベクトルＶ（vx，vy）は、着目画素ｐのｘ，ｙ方向のそれぞれについて求められる隣接画素pxおよびpyとの輝度の差分差（すなわち、勾配）ΔｘおよびΔｙ、フレームt+1において求められる着目画素ｐの同位相に位置する画素ｑとの時間方向の輝度の差分差Δｔを、着目画素ｐの周辺領域（８×８画素）のすべての画素について求め、それらの差分差を式（９）を用いて演算することにより求めることができる。
【０１３３】
すなわち、勾配法とは、２フレーム間において、勾配Δｘ，Δｙ，およびΔｔを求め、求められたΔｘ，Δｙ，およびΔｔから差分自乗和を用いて、統計的に、動きベクトルＶ（vx，vy）を算出するものである。
【０１３４】
このような勾配法を用いた動きベクトル検出方法においては、微小動きに対して精度の高い結果が得られるが、実際の動画像の中で動きを求める場合、この勾配法の演算は動き量が大きすぎるため実用的とはいえず、大きな動き量に対応するため、勾配法の演算を反復することが考えられる。これにより、各演算で求められる動き量が収束し、徐々に、正しい動きを求めることができる。
【０１３５】
しかしながら、勾配法をただ反復するだけでは演算時間の面から実用的ではない。そこで、ベクトル検出部１２においては、過去フレームと現在フレームの周辺画素の動きに基づいて求められる初期ベクトルを初期値として用いることで、勾配法の繰り返し回数を軽減している。すなわち、動きの起点となる着目画素から、初期ベクトルが指す先へオフセットを予め加えることで大まかな動きを算出し、オフセットが加えられたその位置から勾配法を用いた演算を行うようにすれば、演算時間を増大させることなく、精度のよい動きベクトルを検出することができる。
【０１３６】
図１２は、初期ベクトルを用いて行われる反復勾配法について示す図である。
【０１３７】
図１２においては、矢印Ｔは、図中、左手前のフレームｔから、右奥のフレームt+1への時間の経過を示している。なお、画素ｐ，q0，q1，q2，q3を中心としたブロックは、それぞれの画素の勾配法演算に用いられる周辺領域（ブロック）を表す。
【０１３８】
図１２の例の場合、フレームｔにおける着目画素ｐに対して、フレームt+1においては、着目画素ｐの同位相に位置する画素q0ではなく、初期ベクトルv0をオフセットとして計算した位置（画素）q1を開始点として１回目の勾配法演算が行われ、その結果、動きベクトルv1が得られる。
【０１３９】
次に、画素q0からv0＋v1をオフセットとして計算した位置（画素）q2を開始点として２回目の勾配法演算が行われ、その結果、動きベクトルv2が得られる。これにより、動きベクトルＶは最終的に下式（１０）として求められる。
【０１４０】
【数１０】
0004655216.tif 000011
【０１４１】
以上のように、初期ベクトルを用いて勾配法の演算を行うことにより、演算時間を短縮させつつ、精度の高い動きベクトルを求めることが可能となる。
【０１４２】
図１０の説明に戻り、遅延部７５は、勾配法演算部７４から供給されてきた動きベクトルVnを有効画素判断部７３と勾配法演算部７４の次の処理のサイクルまで保持し、セレクタ７２の制御に応じて、保持する動きベクトルVnを有効画素判断部７３に出力する。
【０１４３】
ここで、図１０の有効画素判断部７３と勾配法演算部７４の詳細について順に説明する。
【０１４４】
図１３は、有効画素判断部７３の構成例を示すブロック図である。
【０１４５】
時間画素差分算出部８１は、ブロック単位の演算ブロックにおいて画素を選択し、セレクタ７２から供給されてきたオフセットベクトルと、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、選択した画素の時間方向の画素差分Δｔを算出し、算出された時間方向の画素差分Δｔを画素差分値判断部８２に出力する。画素差分Δｔは、例えば、フレームｔとフレームt+1間の対応する画素の輝度値の差として表される。
【０１４６】
画素差分値判断部８２は、時間画素差分算出部８１により算出された時間方向の画素差分Δｔが所定のしきい値（以下、画素差分値という）よりも小さいか否かを判定し、画素差分値より小さいと判定した場合、有効画素数カウンタ８３においてカウントされる有効画素の数を１つインクリメントさせる。
【０１４７】
有効画素数カウンタ８３は、画素差分値判断部８２により有効であると判定された画素の数を演算ブロック毎にカウントする。
【０１４８】
勾配法継続判断部８４は、演算ブロックに含まれる勾配法の演算に有効な画素の数がしきい値より多いか否かを判定し、しきい値より多いと判定した場合、勾配法演算を実行することを表すフラグ（flg＝１）を勾配法演算部７４に出力する。
【０１４９】
また、勾配法継続判断部８４は、演算ブロックに含まれる勾配法の演算に有効な画素の数がしきい値より少ないと判定した場合、モード選択部７１に他の処理モードを選択させたり、勾配法演算を打ち切ることを表すフラグ（flg＝０）を勾配法演算部７４に出力する。
【０１５０】
ここで、勾配法の演算に有効な画素について説明する。
【０１５１】
１つのブロックに含まれる画素が同じオブジェクトを表示するものである場合、それぞれの画素の動きはだいたい同じ動きをしていることが多いと考えられることから、動きベクトルの検出は、例えば、図１４に示されるようなブロック単位で行われる。
【０１５２】
図１４において、矢印Ｘは水平方向を示し、矢印Ｙは垂直方向を示す。また、矢印Ｔは、図中、右奥のフレームｔから、左手前のフレームt+1への時間の経過方向を示す。
【０１５３】
図１４の例においては、各フレームの検出対象ブロックＫ（演算ブロック）として、８×８画素のブロックが示されている。この検出対象ブロックＫを用いた勾配法演算により求められる動きベクトルは、検出対象ブロックＫを構成するすべての画素に対応する動きベクトルとされる。
【０１５４】
ところで、勾配法の演算に用いられる画素を演算ブロック単位に扱う処理においては、図１５に示されるように、検出対象ブロックの中に異なる動きを持つオブジェクトの画素が混在する場合に問題となる。
【０１５５】
図１５の検出対象ブロックＫにおいては、左上方の画素（太線丸）は矢印Ａに示されるような斜め左上への動きを有しており、右下方の画素（細線丸）は矢印Ｂに示されるような右横への動きを有している。
【０１５６】
したがって、図１５の検出対象ブロックＫにおいては、１つのブロック内の画素が同じ動きをとるという仮定が崩れてしまい、動きの異なる画素を含んだままの演算ブロックを用いて勾配法の演算を行った場合、動きベクトルの検出精度が著しく低下してしまう。すなわち、これは、異なる動きを持つオブジェクト同士の境界に発生する、オブジェクトの消滅領域（カバードバックグラウンド領域）および発生領域(アンカバードバックグラウンド領域)に関する検出精度低下問題である。
【０１５７】
消滅領域は、前景領域に対して、前景のオブジェクトの進行方向の前端部に対応する位置の混合領域であり、時間の経過に対応して背景成分が前景に覆い隠される領域をいう。また、発生領域は、前景領域に対して、前景のオブジェクトの進行方向の後端部に対応する位置の混合領域であり、時間の経過に対応して背景成分が現れる領域をいう。
【０１５８】
このように、例えば、オブジェクトの消滅、発生、または変形などにより、異なる動きを有するオブジェクトの画素が１つの検出ブロック内に混在する場合、フレームｔとフレームt+1の対応する画素間で輝度値が大きく変化することが多いことなどから動きの乱れが生じてしまう。そこで、輝度変化が小さい画素だけが有効な画素とされることにより、動きベクトル検出の精度を高めることができる。
【０１５９】
また、勾配法演算は統計的な解法である最小自乗法に基づいた演算であるから、少ない数の画素（有効な画素）を対象として演算を行った場合、演算結果の信頼度が低下し、検出される動きベクトルの精度が悪くなるおそれがある。
【０１６０】
そこで、有効画素判断部７３においては、勾配法演算に有効な画素の数が少ない場合、ブロック単位での演算は不安定であるとし、画素単位で演算を行う処理モードに切り替えられる。
【０１６１】
図１６は、画素単位での処理モードにおける演算ブロックの例を示す図である。
【０１６２】
図１６に示されるように、画素ｐに着目しており、その動きベクトルを求める場合に処理モードがブロック単位のモードから画素単位のモードに切り替えられたとき、点線で囲んで示される検出対象ブロックＫではなく、演算ブロックとして、例えば、画素ｐを中心とした９×９画素の演算ブロックＥが用いられる。
【０１６３】
さらに、勾配法演算に有効な画素の数が極端に少なく、画素単位の処理によってもある程度信頼のできる動きベクトルを検出することができない場合には、動きベクトルの演算は打ち切られ、検出結果の動きベクトルとして、例えば、０ベクトル（静止状態）が出力されるように勾配法演算部７４が制御される。
【０１６４】
図１７は、図１０の勾配法演算部７４の構成例を示すブロック図である。
【０１６５】
時間画素差分算出部９１は、有効画素判断部７３から供給されてきたフラグが１を示す場合、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、セレクタ７２からのオフセットベクトルをオフセットとして計算した画素を中心とした演算ブロック内の画素を選択し、選択した画素の時間方向の画素差分Δｔを算出する。時間画素差分算出部９１は、算出した画素差分Δｔをオフセットベクトルとともに画素差分値判断部９２に出力する。
【０１６６】
また、時間画素差分算出部９１は、演算ブロック内の画素の処理が終了した場合、オフセットベクトルをベクトル算出部９５に出力する。
【０１６７】
一方、フラグが０を示す場合、時間画素差分算出部９１は勾配法演算の処理を打ち切る。このとき、時間画素差分算出部９１は、ベクトル算出部９５から出力される動きベクトルＶを０ベクトルに設定させる。
【０１６８】
画素差分値判断部９２は、時間画素差分算出部９１により算出された時間方向の画素差分Δｔが所定のしきい値（以下、画素差分値という）よりも小さいか否かを判定し、画素差分値より小さいと判定した場合、その画素を勾配法の演算対象とし、画素差分Δｔとオフセットベクトルを水平垂直画素差分算出部９３に出力する。
【０１６９】
また、画素差分値判断部９２は、画素差分Δｔが画素差分値以上であると判定した場合、水平垂直画素差分算出部９３および勾配積算部９４に、その画素の処理を禁止させる。
【０１７０】
水平垂直画素差分算出部９３は、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、画素差分値判断部９２から供給されてきたオフセットベクトルをオフセットとして計算した画素を中心とした演算ブロック内において、画素差分値判断部９２により演算対象とされた画素の水平方向の画素差分Δｘと垂直方向の画素差分Δｙを算出する。水平垂直画素差分算出部９３は、算出した画素差分Δｘ，Δｙを、画素差分Δｔとともに勾配積算部９４に出力する。
【０１７１】
勾配積算部９４は、水平垂直画素差分算出部９３から供給されてきた勾配（画素差分Δｘ，Δｙ，Δｔ）を積算し、積算した勾配の値をベクトル算出部９５に出力する。
【０１７２】
ベクトル算出部９５は、時間画素差分算出部９１からオフセットベクトルが供給されてきたとき、勾配積算部９４により積算された勾配の値と、上式（９）の最小自乗和から動きベクトルvnを算出する。
【０１７３】
また、ベクトル算出部９５は、算出した動きベクトルvnに時間画素差分算出部９１からのオフセットベクトルを加算して動きベクトルVnを求め、求めた動きベクトルVnをベクトル評価部３４と遅延部７５に出力する。
【０１７４】
次に、図６のシフト初期ベクトル割付部３５について説明する。
【０１７５】
図１８は、シフト初期ベクトル割付部３５の構成例を示すブロック図である。
【０１７６】
割付対象位置演算部１０１は、ベクトル評価部３４から供給されてきた動きベクトルＶが、次の時刻のフレーム上において通過するブロックの位置（現在のフレーム上において検出された動きベクトルＶの終点のブロックと同じ位置にある次のフレーム上のブロックの位置）を求め、求めたブロックの位置を評価値メモリ３６とシフト初期ベクトル置換部１０３に出力する。
【０１７７】
評価値比較部１０２は、動きベクトルＶと、動きベクトルＶの評価値DFDがベクトル評価部３４から供給されてきたとき、割付対象位置演算部１０１により求められたブロックの位置の評価値DFDを評価値メモリ３６から読み出し、読み出した評価値DFDと、ベクトル評価部３４から供給されてきた動きベクトルＶの評価値DFDとを比較する。評価値比較部１０２は、ベクトル評価部３４から供給されてきた動きベクトルＶの評価値DFDの方が小さい（信頼度が高い）と判定した場合、シフト初期ベクトル置換部１０３を制御し、シフト初期ベクトルメモリ３７に記憶されているシフト初期ベクトルを、信頼度が高いと判定した動きベクトルＶで書き換えさせる。
【０１７８】
また、評価値比較部１０２は、評価値置換部１０４を制御し、評価値メモリ３６に記憶されている、割付対象位置演算部１０１により選択されたブロックの位置の評価値DFDを動きベクトルＶの評価値DFDで書き換えさせる。
【０１７９】
シフト初期ベクトル置換部１０３は、シフト初期ベクトルメモリ３７に記憶されているシフト初期ベクトルを評価値比較部１０２による制御に従って書き換える。
【０１８０】
評価値置換部１０４は、評価値メモリ３６に記憶されている評価値DFDを評価値比較部１０２による制御に従って書き換える。
【０１８１】
図１９は、シフト初期ベクトルを１次元的に示す図である。
【０１８２】
図１９の例においては、上から順に、フレームt-1，ｔ，t+1が示されている。それぞれのフレーム上の仕切りはブロックの境界を表す。
【０１８３】
図１９の例の場合、フレームt-1上のブロックＢにおいて検出される動きベクトルが実線矢印で示される動きベクトルＶとされ、この動きベクトルＶによるフレームｔ上の動き補償先（オフセット先）がブロックBtとされている。また、フレームt-1上の動きベクトルＶをフレームｔ上のブロックBtにシフトした動きベクトルが点線矢印で示されるシフト初期ベクトルSVとされている。
【０１８４】
なお、シフトとは、フレームt-1上において検出された動きベクトルＶと同じ大きさで同じ向きの動きベクトルの始点を、フレームt-1上の動きベクトルＶの終点のブロックと同じ位置にあるフレームｔ上のブロックBtとすることをいう。
【０１８５】
一般的に、連続するフレーム間では、動物体の動き量にある程度の連続性があり、その動き量の変化が小さいので、図１９の例においては、ブロックＢ上の物体が等速か、それに近い動きをする場合、ブロックBtにおける動きベクトルも、動きベクトルＶか、それに近い動きのベクトルになることが多い。
【０１８６】
したがって、シフト初期ベクトルSVがフレームｔ上の着目ブロックBtの動きベクトルを検出する場合に勾配法演算に与える初期ベクトルの候補として用いられることにより、周辺ブロックの動きベクトルだけを初期ベクトルの候補として用いる場合よりもより適切な初期ベクトルを得ることができる。
【０１８７】
ところで、このようにして初期ベクトルをそれぞれのブロックに割り付ける場合、フレームt-1上で検出される動きベクトルの分布によっては、フレームｔ上において、複数のシフト初期ベクトルが割り付けの対象のベクトルとして競合するブロックや、逆に、割り付けが起こらないブロックが発生する。
【０１８８】
図２０は、シフト初期ベクトルの割り付けの例を示す図である。
【０１８９】
図２０においては、フレームt-1上には、左からブロックB1乃至B5が示されており、フレームｔ上には、左から、ブロックB1乃至B5に対応する領域としてのブロックBt1乃至Bt5が示されている。
【０１９０】
また、図２０のブロックB1においては動きベクトルV1が検出され、ブロックB1のオフセット先A1は、フレームｔ上のブロックBt1，Bt２と重なりを持つ。また、ブロックB2においては動きベクトルV2が検出され、ブロックB2のオフセット先A2は、フレームｔ上のブロックBt1，Bt2と重なりを持つ。
【０１９１】
同様に、ブロックB3おいては、動きベクトルV3が検出され、ブロックB3のオフセット先A3は、フレームｔ上のブロックBt4，Bt5と重なりを持つ。ブロックB4においては、動きベクトルV4が検出され、ブロックB4のオフセット先A4は、フレームｔ上のブロックBt4，Bt5と重なりを持つ。ブロックB5においては、動きベクトルV5が検出され、ブロックB5のオフセット先A5は、フレームｔ上のブロックBt5、および、図示せぬ隣接ブロックと重なりを持つ。
【０１９２】
すなわち、図２０の例においては、フレームｔ上のブロックBt1，Bt2には、動きベクトルV1とV2のどちらか一方がシフト初期ベクトルとして割り付けられる。また、フレームｔ上のブロックBt4には、動きベクトルV3とV4のどちらか一方がシフト初期ベクトルとして割り付けられ、フレームｔ上のブロックBt5には、動きベクトルV3，V4、およびV5のうちのいずれかがシフト初期ベクトルとして割り付けられる。
【０１９３】
しかしながら、フレームｔ上のブロックBt3には、シフト初期ベクトルの候補となる動きベクトルが存在せず、シフト初期ベクトルは割り付けられない。
【０１９４】
そこで、シフト初期ベクトル割付部３５は、ブロックBt3のように、シフト初期ベクトルの割り付けが起こらないブロックに対して、０ベクトルをシフト初期ベクトルとして割り付ける。
【０１９５】
一方、シフト初期ベクトル割付部３５は、ブロックBt1，Bt2，Bt4，およびBt5のように、複数の動きクトルが競合するブロックについては、上述した評価値DFDに基づいて信頼度が高い動きベクトルを選択し、選択した動きベクトルをシフト初期ベクトルとしてそれぞれのブロックに割り付ける。
【０１９６】
次に、以上のような構成を有するベクトル検出部１２の各部の処理について説明する。
【０１９７】
はじめに、図２１のフローチャートを参照して、ベクトル検出部１２により行われる動きベクトル検出処理の全体について説明する。この処理は、図５のステップＳ２において行われる処理である。
【０１９８】
ステップＳ２１において、初期ベクトル選択部３１は、フレームｔ上のブロックの中から処理の対象となるブロックを着目ブロックとして選択する。例えば、左上のブロックからラスタ順に着目ブロックが選択される。
【０１９９】
ステップＳ２２において、初期ベクトル選択部３１は初期ベクトル選択処理を実行する。初期ベクトル選択処理により選択された初期ベクトルは反復勾配法演算部３３に出力される。初期ベクトル選択処理の詳細については、図２２のフローチャートを参照して後述する。
【０２００】
ステップＳ２３において、反復勾配法演算部３３とベクトル評価部３４は反復勾配法演算評価処理を実行する。すなわち、ここでは、反復勾配法演算部３３により動きベクトルが求められ、その求められた動きベクトルが、ベクトル評価部３４により評価される。得られた動きベクトルＶは、検出ベクトルメモリ１３に出力され、記憶される。反復勾配法演算評価処理の詳細については、図２３のフローチャートを参照して後述する。
【０２０１】
ステップＳ２４において、シフト初期ベクトル割付部３５はシフト初期ベクトル割付処理を実行する。シフト初期ベクトル割付処理により設定されたシフト初期ベクトルは、着目ブロックに対応させた形でシフト初期ベクトルメモリ３７に割り付けられる。シフト初期ベクトル割付処理の詳細については、図２７のフローチャートを参照して後述する。
【０２０２】
ステップＳ２５において、初期ベクトル選択部３１は、フレームｔのすべてのブロックの処理が終了したか否かを判定し、すべてのブロックの処理が終了していないと判定した場合、ステップＳ２１に戻り、それ以降の処理を繰り返す。
【０２０３】
初期ベクトル選択部３１は、ステップＳ２５において、すべてのブロックの処理が終了したと判定した場合、すなわち、フレームｔ上のすべてのブロックにおいて動きベクトルＶが検出されたと判定した場合、動きベクトル検出処理を終了させる。その後、処理は図５のステップＳ２に戻り、それ以降の処理が行われる。
【０２０４】
次に、図２２のフローチャートを参照して、図２１のステップＳ２２において行われる初期ベクトル選択処理について説明する。
【０２０５】
ステップＳ３１において、候補ベクトル位置演算部５１（図７）は、選択された着目ブロックの周辺領域から、予め設定されている着目ブロックの初期候補ベクトルを取得する候補ブロックの位置と、初期候補ベクトルの種類、優先順位を求める。
【０２０６】
ステップＳ３２において、候補ベクトル位置演算部５１は、ステップＳ３１で求めた優先順位の順に、候補ブロックの初期候補ベクトルの種類が過去ベクトルまたは現在ベクトルであるか否かを判定する。
【０２０７】
ステップＳ３２において、候補ベクトル位置演算部５１は、候補ブロックの初期候補ベクトルの種類が過去ベクトルまたは現在ベクトルであると判定した場合、候補ブロックの位置情報と初期候補ベクトルの種類情報を検出ベクトル取得部５２に出力し、ステップＳ３３に進む。
【０２０８】
ステップＳ３３において、検出ベクトル取得部５２は、候補ブロックの位置と初期候補ベクトルの種類に応じた動きベクトル（過去ベクトルPVまたは現在ベクトルCV）を検出ベクトルメモリ１３から取得し、取得した動きベクトルをオフセット位置演算部５４に出力する。
【０２０９】
一方、ステップＳ３２において、候補ベクトル位置演算部５１は、候補ブロックの初期候補ベクトルの種類が過去ベクトルまたは現在ベクトルでないと判定した場合、ステップＳ３４に進み、次に、候補ブロックの初期候補ベクトルの種類がシフト初期ベクトルであるか否かを判定する。
【０２１０】
候補ベクトル位置演算部５１は、ステップＳ３４において、候補ブロックの初期候補ベクトルの種類がシフト初期ベクトルであると判定した場合、候補ブロックの位置情報と初期候補ベクトルの種類情報をシフト初期ベクトル取得部５３に出力し、ステップＳ３５に進む。
【０２１１】
ステップＳ３５において、シフト初期ベクトル取得部５３は、候補ブロックの位置に対応したシフト初期ベクトルをシフト初期ベクトルメモリ３７から取得し、取得したシフト初期ベクトルをオフセット位置演算部５４に出力する。
【０２１２】
一方、ステップＳ３４において、候補ベクトル位置演算部５１は、候補ブロックの初期候補ベクトルの種類がシフト初期ベクトルではないと判定した場合、すなわち、候補ブロックの初期候補ベクトルの種類が０ベクトルであると判定した場合、ステップＳ３６に進む。
【０２１３】
ステップＳ３６において、候補ベクトル位置演算部５１は、初期候補ベクトルに０ベクトルを設定し、０ベクトルとともに、候補ブロックの位置情報をオフセット位置演算部５４に出力する。なお、ステップＳ３３，Ｓ３５においても、候補ブロックの位置情報がオフセット位置演算部５４に出力されている。
【０２１４】
ステップＳ３７において、オフセット位置演算部５４は、候補ベクトル位置演算部５１から供給されてきた候補ブロックの位置情報に基づいて、それぞれの初期候補ベクトルに対して、フレームｔの着目ブロックをフレームt+1にオフセットさせたオフセット先のブロック位置を求め、求めたオフセット先ブロック位置の情報を、初期候補ベクトル、候補ブロックの位置情報とともに評価値演算部５５に出力する。
【０２１５】
ステップＳ３８において、評価値演算部５５は、オフセット位置演算部５４から供給されてきた情報と、フレームｔ，t+1から初期候補ベクトルの評価値DFDを求め、求めた評価値DFDを、初期候補ベクトルとともに評価値比較部５６に出力する。
【０２１６】
ステップＳ３９において、評価値比較部５６は、評価値演算部５５により求められた評価値DFDが、最適候補格納用レジスタ５７に格納されている最適候補ベクトルの評価値DFDより小さいか否かを判定する。
【０２１７】
評価値比較部５６は、ステップＳ３９において、評価値演算部５５により求められた評価値DFDの方が、最適候補格納用レジスタ５７に格納されている最適候補ベクトルの評価値DFDより小さいと判定した場合、ステップＳ４０に進み、最適候補格納用レジスタ５７に記憶されている最適候補ベクトルとその評価値DFDを、信頼度が高いとされた初期候補ベクトルとその評価値DFDで書き換える。
【０２１８】
ステップＳ３９において、評価値演算部５５により求められた評価値DFDが、最適候補格納用レジスタ５７に格納されている最適候補ベクトルの評価値DFDより小さくないと判定された場合、ステップＳ４０の処理はスキップされる。
【０２１９】
ステップＳ４１において、候補ベクトル位置演算部５１は、すべての初期候補ベクトルの処理が終了したか否かを判定し、すべての初期候補ベクトルの処理が終了していないと判定した場合、ステップＳ３２に戻り、それ以降の処理を繰り返す。
【０２２０】
一方、ステップＳ４１において、すべての初期候補ベクトルの処理が終了したと判定された場合、ステップＳ４２に進み、評価値比較部５６は、最適候補格納用レジスタ５７に記憶されている、信頼度が最も高いとされた最適候補ベクトルを初期ベクトルV0として反復勾配法演算部３３に出力させる。その後、図２１のステップＳ２２に戻り、それ以降の処理が行われる。
【０２２１】
以上のように、複数の初期候補ベクトルの評価値DFDを求め、評価値DFDが最も小さい、すなわち、信頼度が最も高い初期候補ベクトルを初期ベクトルとして選択するようにしたので、後段の動きベクトル検出に最適な初期ベクトルを与えることができる。また、予め定められたブロックの動きベクトルを初期候補ベクトルとして用いるようにしたので、初期候補ベクトルの数が多くなってしまい、演算量が膨大になってしまうことが抑制される。
【０２２２】
次に、図２３のフローチャートを参照して、図２１のステップＳ２３において行われる反復勾配法演算評価処理について説明する。
【０２２３】
ステップＳ５１において、モード選択部７１（図１０）は、ブロック単位処理モードを選択する。これにより、フレームｔ上のブロックが検出対象ブロック（演算ブロック）とされ、検出対象ブロックの初期ベクトルV0がベクトル評価部３４とセレクタ７２に出力される。
【０２２４】
ステップＳ５２において、セレクタ７２は、モード選択部７１から供給されてきた初期ベクトルV0をオフセットベクトルとして有効画素判断部７３（図１３の時間画素差分算出部８１）と勾配法演算部７４（図１７の時間画素差分算出部９１）に出力する。
【０２２５】
ステップＳ５３において、有効画素判断部７３はブロック単位の有効画素判定処理を実行する。この有効画素判定処理により、ブロック単位の演算ブロックに含まれる有効画素の数がカウントされる。有効画素判定処理の詳細については、図２４のフローチャートを参照して後述する。
【０２２６】
ステップＳ５４において、有効画素判断部７３（図１３の勾配法継続判断部８４）は、有効画素数がしきい値αより多いか否かを判定し、有効画素数がしきい値αより多いと判定した場合、勾配法演算をブロック単位で実行させるフラグ（flg＝１）を勾配法演算部７４に出力する。
【０２２７】
ステップＳ５５において、勾配法演算部７４はブロック単位の勾配法演算処理を実行する。この勾配法演算処理により動きベクトルVnが求められ、求められた動きベクトルVnがベクトル評価部３４と遅延部７５に出力される。ブロック単位の勾配法演算処理の詳細については、図２５のフローチャートを参照して後述する。
【０２２８】
ステップＳ５６において、ベクトル評価部３４は、反復勾配法演算部３３により求められた動きベクトルVnの評価値DFD（ｎ）と、オフセットベクトルとして用いられた動きベクトルVn-1の評価値DFD（n-1）を求め、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さいか否かを判定する。例えば、１回目の処理においては、求められた動きベクトルＶ１の評価値DFD（１）と、オフセットベクトルとして用いられた初期ベクトルV0の評価値DFD（０）が比較され、２回目の処理においては、求められた動きベクトルＶ２の評価値DFD（２）と、オフセットベクトルとして用いられた動きベクトルＶ１の評価値DFD（１）が比較される。
【０２２９】
ベクトル評価部３４は、ステップＳ５６において、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さいと判定した場合、すなわち、動きベクトルVn-1よりも動きベクトルVnの信頼度が高いと判定した場合、ステップＳ５７に進み、算出された動きベクトルVnを、検出対象ブロックの動きベクトルＶとして設定する。
【０２３０】
ステップＳ５８において、ベクトル評価部３４は反復回数ｎを１つカウントし、ステップＳ５９に進み、反復回数ｎが、設定された最大反復回数（例えば、２回）に達したか否かを判定する。
【０２３１】
ベクトル評価部３４は、ステップＳ５９において、反復回数ｎが最大反復回数に達していないと判定した場合、ステップＳ５２に戻り、それ以降の処理を繰り返させる。すなわち、遅延部７５に保持されていた動きベクトルV1がオフセットベクトルとして選択され、それ以降の処理が行われる。
【０２３２】
また、ステップＳ５６において、ベクトル評価部３４は、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さくないと判定した場合、すなわち、動きベクトルVn-1の方が、動きベクトルVnよりも信頼度が高いと判定した場合、ステップＳ６０に進み、勾配法演算のオフセットとしたベクトルVn-1を、検出対象ブロックの動きベクトルＶに設定する。
【０２３３】
ステップＳ５９において、反復回数ｎが最大反復回数に達したと判定された場合、または、ステップＳ６０において、ベクトルVn-1が検出対象ブロックの動きベクトルＶとして設定された場合、ステップＳ６１に進み、ベクトル評価部３４は、動きベクトルＶが、動きベクトルを検出する範囲として予め設定されたサーチエリア内であるか否かを判定する。
【０２３４】
ベクトル評価部３４は、ステップＳ６１において、動きベクトルＶがサーチエリア内であると判定した場合、ステップＳ６２に進み、動きベクトルＶを、検出対象ブロックに対応させて検出ベクトルメモリ１３に記憶させる。
【０２３５】
また、ベクトル評価部３４は、ステップＳ６１において、動きベクトルＶがサーチエリア内ではないと判定した場合、ステップＳ６３に進み、０ベクトルを動きベクトルＶとして設定し、それを、ステップＳ６２において検出対象ブロックに対応させて検出ベクトルメモリ１３に記憶させる。
【０２３６】
一方、有効画素判断部７３は、ステップＳ５４において、有効画素数がしきい値α以下であると判定した場合、ステップＳ６４に進み、モード選択部７１を制御し、画素単位処理モードを選択させる。
【０２３７】
ステップＳ６５において、反復勾配法演算部３３は画素単位の勾配法演算処理を実行する。この反復勾配法演算処理により、検出対象ブロック内の全画素の動きベクトルＶが求められる。求められた動きベクトルＶはステップＳ６２において検出ベクトルメモリ１３に記憶される。画素単位の勾配法演算処理の詳細については、図２６のフローチャートを参照して後述する。
【０２３８】
ステップＳ６２において動きベクトルＶが検出ベクトルメモリ１３内に記憶された後、図２１のステップＳ２３に戻り、それ以降の処理が行われる。
【０２３９】
次に、図２４のフローチャートを参照して、図２３のステップＳ５３において行われる有効画素判定処理について説明する。
【０２４０】
ステップＳ７１において、有効画素判断部７３の時間画素差分算出部８１（図１３）は、画素差分値判断部８２を制御して有効画素数カウンタ８３をリセットさせ、ステップＳ７２に進み、演算ブロックを構成する画素のうちの１つの画素を選択する。ここでは、例えば、演算ブロックの左上の画素からラスタ順に選択される。
【０２４１】
時間画素差分算出部８１は、ステップＳ７３において、セレクタ７２から供給されてきたオフセットベクトルと、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、ステップＳ７２で選択した画素の時間方向の画素差分Δｔを算出し、算出した画素差分Δｔを画素差分値判断部８２に出力する。
【０２４２】
ステップＳ７４において、画素差分値判断部８２は、時間方向の画素差分Δｔが所定の画素差分値よりも小さいか否か、すなわち、いま選択されている画素が、後段の勾配法演算に有効な画素であるか否かを判定する。
【０２４３】
画素差分値判断部８２は、ステップＳ７４において、画素差分Δｔが所定の画素差分値よりも小さいと判定した場合、ステップＳ７５に進み、有効画素数カウンタ８３においてカウントされる有効画素の数を１つインクリメントさせる。
【０２４４】
また、画素差分値判断部８２は、ステップＳ７４において、画素差分Δｔが所定の画素差分値以上であると判定した場合、すなわち、いま選択されている画素が勾配法演算に有効な画素ではないと判定した場合、ステップＳ７５の処理をスキップし、ステップＳ７６に進む。
【０２４５】
ステップＳ７６において、時間画素差分算出部８１は、演算ブロック内のすべての画素の処理が終了したか否かを判定し、演算ブロック内のすべての画素の処理が終了していないと判定した場合、ステップＳ７２に戻り、次の画素を選択し、それ以降の処理を繰り返す。
【０２４６】
時間画素差分算出部８１は、ステップＳ７６において、演算ブロック内のすべての画素の処理が終了したと判定した場合、図２３のステップＳ５３に戻り、それ以降の処理を行わせる。
【０２４７】
次に、図２５のフローチャートを参照して、図２３のステップＳ５５において行われるブロック単位の勾配法演算処理について説明する。
【０２４８】
ステップＳ９１において、勾配法演算部７４の時間画素差分算出部９１（図１７）は、演算ブロックを構成する画素のうちの１つの画素を選択する。例えば、演算ブロックの左上の画素からラスタ順に選択される。
【０２４９】
ステップＳ９２において、時間画素差分算出部９１は、セレクタ７２から供給されてきたオフセットベクトルと、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、ステップＳ９１で選択した画素の時間方向の画素差分Δｔを算出し、算出した画素差分Δｔとオフセットベクトルを画素差分値判断部９２に出力する。
【０２５０】
ステップＳ９３において、画素差分値判断部９２は、算出された画素差分Δｔが所定の画素差分値よりも小さいか否か、すなわち、いま選択されている画素が勾配法演算に有効な画素であるか否かを判定する。
【０２５１】
画素差分値判断部９２は、ステップＳ９３において、画素差分Δｔが所定の画素差分値よりも小さいと判定した場合、時間方向の画素差分Δｔとオフセットベクトルを垂直水平画素差分算出部９３に出力する。
【０２５２】
ステップＳ９４において、垂直水平画素差分算出部９３は、画素差分値判断部９２から供給されてきたオフセットベクトルと、プリフィルタ３２−１，３２−２から供給されてきたフレームｔ，t+1を用いて、有効であると判定された画素の水平方向の画素差分Δｘを算出する。
【０２５３】
また、垂直水平画素差分算出部９３は、ステップＳ９５において、有効であると判定された画素の垂直方向の画素差分Δｙを算出し、算出した水平方向の画素差分Δｘと垂直方向の画素差分Δｙを、時間方向の画素差分Δｔとともに勾配積算部９４に出力する。
【０２５４】
ステップＳ９６において、勾配積算部９４は、垂直水平画素差分算出部９３から供給されてきた画素差分Δｔ，Δｘ，Δｙを積算し、積算した結果をベクトル算出部９５に出力する。
【０２５５】
一方、ステップＳ９３において、画素差分値判断部９２は、時間方向の画素差分Δｔが、所定の画素差分値以上であると判定した場合、ステップＳ９４乃至Ｓ９６の処理をスキップし、ステップＳ９７に進む。すなわち、この場合、いま選択されている画素は、勾配法演算に有効な画素ではないので、その画素差分値は演算に用いられない。
【０２５６】
ステップＳ９７において、時間画素差分算出部９１は、演算ブロック内のすべての画素の処理が終了したか否かを判定し、演算ブロック内のすべての画素の処理が終了していないと判定した場合、ステップＳ９１に戻り、次の画素を選択し、それ以降の処理を繰り返す。
【０２５７】
一方、時間画素差分算出部９１は、ステップＳ９７において、演算ブロック内のすべての画素の処理が終了したと判定した場合、ベクトル算出部９５にオフセットベクトルを出力する。
【０２５８】
ステップＳ９８において、ベクトル算出部９５は、勾配積算部９４から供給されてきた勾配の積算結果と、上式（９）の最小自乗和を用いて動きベクトルvnを算出する。
【０２５９】
ステップＳ９９において、ベクトル算出部９５は、ステップＳ９８で算出した動きベクトルvnを、時間画素差分算出部９１からのオフセットベクトルに加算することによって動きベクトルVnを求め、求めた動きベクトルVnをベクトル評価部３４に出力する。その後、図２３のステップＳ５５に戻り、それ以降の処理が行われる。
【０２６０】
以上のように、時間方向の画素差分Δｔが所定の画素差分値以上の値である場合、そのとき選択している画素は、動きの乱れを発生させる恐れがあるものとして、動きベクトルを検出する際の勾配法の演算から除外するようにしたので、より安定した勾配法演算を行うことが可能となる。
【０２６１】
次に、図２６のフローチャートを参照して、図２３のステップＳ６５において行われる画素単位の反復勾配法演算処理について説明する。この処理は、検出対象ブロック内の各画素を対象として行われる。
【０２６２】
ステップＳ１１１において、モード選択部７１は、検出対象ブロックを構成する画素のうちの１つの画素を検出対象画素として選択し、その画素の演算ブロック（例えば、９×９画素のブロック）の初期ベクトルV0を、ベクトル評価部３４とセレクタ７２に出力する。例えば、検出対象ブロックの左上の画素からラスタ順に画素が選択される。
【０２６３】
ステップＳ１１２において、セレクタ７２は、モード選択部７１から供給されてきた初期ベクトルV0をオフセットベクトルとして有効画素判断部７３（図１３の時間画素差分算出部８１）と勾配法演算部７４（図１７の時間画素差分算出部９１）に出力する。
【０２６４】
ステップＳ１１３において、有効画素判断部７３は、選択されたオフセットベクトルを用いて画素単位の有効画素判定処理を実行する。ここでは、対象となる演算ブロックが異なる点を除いて、図２４を参照して説明したブロック単位の有効画素判定処理と基本的に同様の処理が行われる。
【０２６５】
ステップＳ１１４において、有効画素判断部７３（図１３の勾配法継続判断部８４）は、有効画素数がしきい値βより多いか否かを判定し、有効画素数がしきい値βより多いと判定した場合、勾配法演算を実行させるフラグ（flg＝１）を勾配法演算部７４に出力する。
【０２６６】
ステップＳ１１５において、勾配法演算部７４は画素単位の勾配法演算処理を実行する。ここでは、対象となる演算ブロックが異なる点を除いて、図２５のブロック単位の勾配法演算処理と同様の処理が行われる。すなわち、検出対象の画素の動きベクトルVnが求められ、求められた動きベクトルVnがベクトル評価部３４と遅延部７５（図１０）に出力される。
【０２６７】
ステップＳ１１６において、ベクトル評価部３４は、反復勾配法演算部３３により求められた動きベクトルVnの評価値DFD（ｎ）と、オフセットベクトルとして用いられた動きベクトルVn-1の評価値DFD（n-1）を求め、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さいか否かを判定する。
【０２６８】
ベクトル評価部３４は、ステップＳ１１６において、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さいと判定した場合、すなわち、動きベクトルVn-1よりも動きベクトルVnの信頼度が高いと判定した場合、ステップＳ１１７に進み、算出された動きベクトルVnを検出対象画素の動きベクトルＶとして設定する。
【０２６９】
ステップＳ１１８において、ベクトル評価部３４は、反復回数ｎを１つカウントし、ステップＳ１１９に進み、反復回数ｎが、設定された最大反復回数（例えば、２回）に達したか否かを判定する。
【０２７０】
ベクトル評価部３４は、ステップＳ１１９において、反復回数ｎが最大反復回数に達していないと判定した場合、ステップＳ１１２に戻り、それ以降の処理を繰り返させる。すなわち、遅延部７５に保持されていた動きベクトルV1がオフセットベクトルとして選択され、それ以降の処理が行われる。
【０２７１】
ステップＳ１１９において、反復回数ｎが最大反復回数に達したと判定された場合、処理はステップＳ１２１に進む。
【０２７２】
また、ステップＳ１１６において、ベクトル評価部３４は、評価値DFD（n-1）よりも評価値DFD（ｎ）の方が小さくないと判定した場合、すなわち、動きベクトルVn-1の方が、動きベクトルVnよりも信頼度が高いと判定した場合、ステップＳ１２０に進み、勾配法演算のオフセットとしたベクトルVn-1を、検出対象ブロックの動きベクトルＶに設定する。
【０２７３】
ステップＳ１１９において、反復回数ｎが最大反復回数に達したと判定された場合、または、ステップＳ１２０において、ベクトルVn-1が検出対象ブロックの動きベクトルＶとして設定された場合、ステップＳ１２１に進み、ベクトル評価部３４は、動きベクトルＶが、動きベクトルを検出する範囲として予め設定されたサーチエリア内であるか否かを判定する。
【０２７４】
ステップＳ１２１において、ベクトル評価部３４は、動きベクトルＶがサーチエリア内ではないと判定した場合、ステップＳ１２２に進む。
【０２７５】
また、ステップＳ１１４において、有効画素判断部７３は、有効画素数がしきい値βより少ないと判定した場合、勾配法演算を打ち切るフラグ（flg＝０）を勾配法演算部７４に出力し、ステップＳ１２２に進む。ステップＳ１２２において、ベクトル評価部３４は、動きベクトルＶを０ベクトルに設定する。
【０２７６】
ステップＳ１２１において、動きベクトルＶがサーチエリア内であると判定された場合、または、ステップＳ１２２において、動きベクトルＶが０ベクトルに設定された場合、処理はステップＳ１２３に進む。
【０２７７】
ステップＳ１２３において、モード選択部７１は、検出対象ブロック内のすべての画素の処理が終了したか否かを判定し、検出対象ブロック内のすべての画素の処理が終了していないと判定した場合、ステップＳ１１１に戻り、検出対象ブロックの次の画素を検出対象の画素として選択し、それ以降の処理を繰り返す。
【０２７８】
モード選択部７１は、ステップＳ１２３において、検出対象ブロック内のすべての画素の処理が終了したと判定した場合、図２３のステップＳ６５に戻り、それ以降の処理を行わせる。
【０２７９】
すなわち、画素単位の反復勾配法演算処理により、検出対象ブロック内すべての画素について動きベクトルＶが求められ、求められた動きベクトルＶが、検出対象ブロックの各画素に対応させた形で検出ベクトルメモリ１３に記憶される。
【０２８０】
次に、図２７のフローチャートを参照して、図２１のステップＳ２４において行われるシフト初期ベクトル割り付け処理について説明する。
【０２８１】
ステップＳ１３１において、シフト初期ベクトル割付部３５の評価値比較部１０２（図１８）は、動きベクトルＶとともに、動きベクトルＶの評価値DFDをベクトル評価部３４から取得する。このとき、割付対象位置演算部１０１においても、動きベクトルＶが取得される。
【０２８２】
ステップＳ１３２において、割付対象位置演算部１０１は、動きベクトルＶのフレームｔにおけるオフセット（動き補償）先の割付対象ブロックの位置を求める。
【０２８３】
割付対象位置演算部１０１は、ステップＳ１３３において、ステップＳ１３２で求めた割付対象ブロックのうちの１つの割付対象ブロックを選択し、選択した割り付け対象ブロックの位置の情報を評価値メモリ３６とシフト初期ベクトル置換部１０３に出力する。例えば、割付対象ブロックのうち、フレームｔ上において左上のブロックから順に割付対象ブロックが選択される。
【０２８４】
ステップＳ１３４において、評価値比較部１０２は、割付対象位置演算部１０１により選択された割付対象ブロックの評価値DFDを評価値メモリ３６から取得し、ステップＳ１３５に進み、ステップＳ１３１で取得された動きベクトルＶの評価値DFDが、評価値メモリ３６に記憶されている評価値DFDよりも小さいか否かを判定する。
【０２８５】
評価値比較部１０２は、ステップＳ１３５において、動きベクトルＶの評価値DFDの方が、評価値メモリ３６の評価値DFDよりも小さいと判定した場合、ステップＳ１３６に進み、シフト初期ベクトル置換部１０３を制御して、割付対象位置演算部１０１により選択された割付対象ブロックのシフト初期ベクトルメモリ３７に記憶されているシフト初期ベクトルを、動きベクトルＶに書き換えさせる。
【０２８６】
また、評価値比較部１０２は、ステップＳ１３７において、評価値置換部１０４を制御して、割付対象位置演算部１０１により選択された割付対象ブロックの評価値DFDを、動きベクトルＶの評価値DFDで書き換えさせる。
【０２８７】
ステップＳ１３７において評価値が書き換えられたとき、処理はステップＳ１３８に進む。また、ステップＳ１３５において、ステップＳ１３１において取得された動きベクトルＶの評価値DFDが、評価値メモリ３６に記憶されている評価値DFDよりも小さくないと判定された場合、ステップＳ１３６およびＳ１３７の処理はスキップされ、処理はステップＳ１３８に進む。
【０２８８】
ステップＳ１３８において、割付対象位置演算部１０１は、動きベクトルＶの割り付け対象ブロックのすべての処理が終了したか否かを判定し、すべての処理が終了していないと判定した場合、ステップＳ１３３に戻り、それ以降の処理を繰り返す。
【０２８９】
割付対象位置演算部１０１は、ステップＳ１３８において、動きベクトルＶの割り付け対象ブロックのすべての処理が終了したと判定した場合、図２１のステップＳ２４に戻り、それ以降の処理を行わせる。
【０２９０】
以上のように、連続するフレーム間において動物体の動き量にはある程度の連続性があること基づいて、前の時刻のフレームから、次の時刻のフレームの着目ブロックを通過する動きベクトルであるシフト初期ベクトルを、初期ベクトルの候補ベクトルとすることにより、周辺ブロックにおいて過去に求められた動きベクトルのみを初期ベクトルの候補とするときよりも、勾配法演算の初期値として適切な動きベクトルを与えることができる。
【０２９１】
次に、動きベクトルの割り付けについて説明する。
【０２９２】
図２８は、図１のベクトル割付部１４の構成例を示すブロック図である。
【０２９３】
上述したように、ベクトル割付部１４においては、２４Ｐ信号のフレームｔの画素において検出された動きベクトルを、内挿フレームの画素に割り付ける処理が行われる。
【０２９４】
画素情報演算部１１１は、検出ベクトルメモリ１３に記憶されている、フレームｔの画素において検出された動きベクトルを左上の画素のものからラスタ順に取得し、取得した動きベクトルを、次の時刻のフレームt+1方向に延ばして、その動きベクトルと内挿フレームとの交点を算出する。画素情報演算部１１１は、算出した交点から、動きベクトルの割付対象となる内挿フレーム上の画素（以下、割付対象画素という）を設定し、動きベクトルと割付対象画素の位置の情報をベクトル選択部１１５に出力する。
【０２９５】
また、画像情報演算部１１１は、割付対象画素と、動きベクトルで対応付けられるフレームｔの位置Ｐと、フレームt+1の位置Ｑを算出し、算出した位置の情報を評価値演算部１１２と着目画素差分演算部１１３に出力する。
【０２９６】
評価値演算部１１２は、割付対象画素と位置情報が画素情報演算部１１１から供給されてきたとき、位置Ｐと位置Ｑを中心としたDFD演算範囲（ｍ×ｎ）をそれぞれのフレーム上に設定し、それらのDFD演算範囲が画枠内にある場合、設定したDFD演算範囲を用いて、動きベクトルに対する割付対象画素の評価値DFDを求める。求められた評価値DFDはベクトル評価部１１４に出力される。
【０２９７】
着目画素差分演算部１１３は、割付対象画素と位置情報が画素情報演算部１１１から供給されてきたとき、フレームｔの位置Ｐとフレームt+1の位置Ｑから、割付対象画素に対する輝度差分絶対値を求め、求めた輝度差分絶対値をベクトル評価部１１４に出力する。
【０２９８】
ベクトル評価部１１４は画素差分判断部１２１と評価値判断部１２２から構成される。そのうちの画素差分判断部１２１は、着目画素差分演算部１１３から供給されてきた割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいか否かを判定する。
【０２９９】
評価値判断部１２２は、割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいと画素差分判断部１２１により判定された場合、評価値演算部１１２から供給されてきた割付対象画素の評価値DFDが、ベクトル選択部１１５が有するDFDテーブルの最小評価値より小さいか否かを判定する。評価値判断部１２２は、割付対象画素の評価値DFDの方が、DFDテーブルの最小評価値より小さいと判定した場合、割付対象画素に対応する動きベクトルの信頼度が高いと判定し、割付対象画素の評価値DFDをベクトル選択部１１５に出力する。
【０３００】
ベクトル選択部１１５はDFDテーブルを有している。このDFDテーブルには、内挿フレーム上の各画素に対して０ベクトルを割り付けた場合の評価値DFD０が、内挿フレーム上の各画素における最小評価値として保持されている。
【０３０１】
また、ベクトル選択部１１５は、割付対象画素の評価値DFDがベクトル評価部１１４から供給されてきたとき、画素情報演算部１１１により算出された割付対象画素の位置の情報に基づいて割付フラグメモリ１６のフラグを１（true）に書き換え、割付対象画素のDFDテーブルの最小評価値を、その割付対象画素の評価値DFDに書き換える。さらに、ベクトル選択部１１５は、割付ベクトルメモリ１５の割付対象画素に、画素情報演算部１１１からの動きベクトルを割り付ける。
【０３０２】
ここで、ベクトル割付処理の概念について説明する。
【０３０３】
例えば、２４Ｐ信号上でオブジェクトが速度ｖで動いており、任意の２フレーム間でオブジェクトの動きについて等速仮定が成り立つ場合において、２４Ｐ信号のフレーム間にフレームを新しく内挿することを考える。この場合、２４Ｐ信号のオブジェクトから動きベクトルｖを延ばすと、動きベクトルｖと内挿フレームとの交点は、同じオブジェクトの位置であり、同じ速度ｖを有する。
【０３０４】
したがって、ベクトル検出部１２で検出された２４Ｐ信号のフレーム（以下、元フレームともいう）の動きベクトルを、その動きベクトルと、内挿する６０Ｐ信号の内挿フレーム上との交点に割り付けることで、内挿フレーム上の各画素の動きを求めることができる。
【０３０５】
図２９は、２４Ｐ信号の元フレームで検出された動きベクトルと、６０Ｐ信号の内挿フレームの画素の例を１次元で示す図である。各フレーム上の丸は画素を表す。
【０３０６】
図２９の例においては、２つの２４Ｐ信号のフレームｔとフレームt+1の間に、時刻t+0.4の内挿フレームF1と時刻t+0.8の内挿フレームF2が挿入されている。
【０３０７】
また、図２９の例においては、ベクトル検出部１２によりフレームｔにおいて検出された動きベクトルv1，v2、およびv3がフレームt+1方向に延ばされている。これらの動きベクトルを内挿フレームF1とF2の各画素に割り付ける場合、内挿フレーム上の各画素の近傍を通る動きベクトルが、その画素に割り付けられる候補ベクトル（以下、割付候補ベクトルともいう）とされる。
【０３０８】
例えば、フレームｔの左側の画素から、フレームt+1の左から４，５番目の画素近傍に向かう動きベクトルv1は、内挿フレームF1の左から２番目と３番目の画素の間、内挿フレームF2の左から３番目と４番目の画素の間を通ることから、この動きベクトルv1は、動きベクトルv1が内挿フレームF1，F2と交差する点の近傍の領域N1に含まれる画素に割り付けられる割付候補ベクトルとなる。
【０３０９】
また、フレームｔの左から３番目の画素から、フレームt+1の左から２，３番目の画素近傍に向かう動きベクトルv2は、内挿フレームF1の左から２番目と３番目の画素の間、内挿フレームF2の左から２番目と３番目の画素の間を通ることから、この動きベクトルv2は、動きベクトルv2が内挿フレームF1，F2と交差する点の近傍の領域N2に含まれる画素に割り付けられる割付候補ベクトルとなる。
【０３１０】
同様に、フレームｔの左から５番目の画素から、フレームt+1の左から４，５番目の画素近傍への動きベクトルv3は、内挿フレームF1の左から４番目と５番目の画素の間、内挿フレームF2の左から４番目と５番目の画素の間を通ることから、この動きベクトルv3は、動きベクトルv3が内挿フレームF1，F2と交差する点の近傍の領域N3に含まれる画素に割り付けられる割付候補ベクトルとなる。
【０３１１】
以上のように、元フレームにおいて検出された動きベクトルの中から内挿フレームの各画素に割り付けられる割付候補ベクトルが求められ、それぞれの割付候補ベクトルについて求められる評価値DFD等に基づいて、内挿フレームのそれぞれの画素に１つの動きベクトルが割り付けられる。
【０３１２】
なお、図２９の例においては、内挿フレームの左端の画素と右端の画素（図中黒丸）には割付候補ベクトルが存在しないことから、その近傍を通る動きベクトルは示されていない。このような割付候補の動きベクトルが存在しない画素については、後述する割付補償処理により動きベクトルが割り付けられる。
【０３１３】
次に、動きベクトルの評価について説明する。
【０３１４】
図３０は動きベクトルの評価について説明する図である。
【０３１５】
図３０の例においては、下から、フレームｔ，内挿フレームF1，フレームt+1が１次元的に示されている。
【０３１６】
動きベクトルsvaは、フレームｔ上の画素（ｘa，ｙa）において検出された動きベクトルｖaが、近傍の画素G4の割付候補ベクトルとして画素G4上にシフト（平行移動）されたものである。画素G4上にシフトされた動きベクトルsvaと、フレームｔおよびフレームt+1との交点を、それぞれ点Ｐ、点Ｑとする。
【０３１７】
ベクトル割付部１４は、動きベクトルsvaの第１の評価として、点Ｐおよび点Ｑを中心としたDFD演算範囲をそれぞれ設定し、求めたDFD演算範囲が画枠をはみ出してしまうか否かを判定する。ベクトル割付部１４は、点Ｐおよび点Ｑを中心としたDFD演算範囲が画枠をはみ出すと判定した場合、動きベクトルsvaを候補から除外する。
【０３１８】
また、点Ｐおよび点Ｑが、例えば、異なるオブジェクトに属する場合、点Ｐの輝度値Ｆt（Ｐ）と点Ｑの輝度値Ｆt+1（Ｑ）の差は大きくなる。したがって、ベクトル割付部１４は、動きベクトルsvaの第２の評価として、点Ｐと点Ｑを用いて、画素G4における輝度差分絶対値dpを求め、輝度差分絶対値dpが所定の値より大きいか否かを判定する。輝度差分絶対値dpが所定の値より大きいと判定した場合、ベクトル割付部１４は、動きベクトルsvaを候補から除外する。輝度差分絶対値dpは次式（１１）で表される。
【０３１９】
【数１１】
0004655216.tif 000012
【０３２０】
さらに、ベクトル割付部１４は、動きベクトルsvaの第３の評価として、点Ｐおよび点Ｑを中心としたDFD演算範囲の相関値を表す差分絶対値による評価判定を行う。すなわち、ベクトル割付部１４は、点Ｐと点Ｑを中心としたDFD演算範囲を用いて、画素G4における動きベクトルsvaの評価値DFDを求め、求められた評価値DFDがDFDテーブルの最小評価値よりも小さいか否かを判定する。ベクトル割付部１４は、求められた評価値DFDの中で最小の評価値DFDを有する動きベクトルを画素G4に割り付ける。
【０３２１】
以上のように、内挿フレームの画素における割付候補の動きベクトルを、割付対象画素の評価値DFDだけでなく、割付対象画素における輝度差分絶対値などを用いて評価することにより、評価値DFDだけを用いる場合よりも確からしい動きベクトルを割り付けることができる。
【０３２２】
次に、動きベクトルの画素以下精度について説明する。
【０３２３】
フレームｔの画素位置ｐをベクトルｖ量分ずらした先のフレームt+1上の位相p+vが、２４ｐ信号のフレームt+1上の画素位置と一致しない場合があり、その場合の位相p+vにおける輝度値は定義されていない。したがって、画素以下精度を有する動きベクトルｖに対する輝度差分絶対値dpや評価値DFDの演算を行うためには、画素以下の位相における輝度値を生成しなければならず、その輝度値を得るために、例えば、周辺４画素の輝度値による補間処理が用いられる。
【０３２４】
図３１は、４点補間処理の概念を示す図である。
【０３２５】
図３１においては、矢印Ｘはフレームt+1における水平方向を示し、矢印Ｙはフレームt+1における垂直方向を示す。このフレームt+1において、白丸はフレームt+1上の画素位置を表し、黒点は画素以下の（粒度の）位置を表す。
【０３２６】
また、ウインドウＥに示される画素は、フレームt+1上における最左上の黒点p+vとその周辺４画素を拡大したものである。ウインドウＥにおいて、白丸内のアルファベットは周辺４画素の輝度値を示している。
【０３２７】
このフレームt+1における最左上の黒点p+vが、図示しないフレームｔの画素位置ｐをベクトルｖ量分ずらした先の位相p+vとすると、位相p+vの輝度値Ｆt+1（p+v）は、位相p+vの水平方向の画素以下成分α、および垂直方向の画素以下成分β、並びに、位相p+vの周辺４画素の輝度値L0乃至L4を用いて、周辺４画素の距離の逆比の和で求められる。すなわち、輝度値Ｆt+1（p+v）は次式（１２）で表され、その輝度値Ｆt+1（p+v）が、輝度差分絶対値dpや評価値DFDの演算に用いられる。
【０３２８】
【数１２】
0004655216.tif 000013
【０３２９】
なお、上述した初期ベクトル選択処理やベクトル検出処理、または、後述する割付補償処理時の評価値DFDの演算においても、この４点補間が適用される。
【０３３０】
次に、以上のような構成を有するベクトル割付部１４の各部の処理について説明する。
【０３３１】
はじめに、図３２のフローチャートを参照して、ベクトル割付部１４により行われるベクトル割付処理の全体について説明する。この処理は、図５のステップＳ３において行われる処理である。
【０３３２】
ステップＳ２０１において、画素情報演算部１１１は、新しい元フレームが入力されると、ベクトル選択部１１５を制御して割付フラグメモリ１６の割付フラグを０(False)で初期化させる。
【０３３３】
また、画素情報演算部１１１は、ステップＳ２０２において、割付ベクトルメモリ１５を０ベクトルで初期化させる。
【０３３４】
画素情報演算部１１１は、ステップＳ２０３において、評価値演算部１１２を制御し、内挿フレームのすべての画素に対して０ベクトルを用いて評価値DFD０を算出させる。画素情報演算部１１１は、評価値演算部１１２により算出された０ベクトルの評価値DFD０を、内挿フレームの各画素に対する最小評価値としてベクトル選択部１１５に保持させる。
【０３３５】
ステップＳ２０４において、画素情報演算部１１１は、検出ベクトルメモリ１３上の元フレームから画素を選択する。例えば、フレームの左上の画素からラスタ順に画素が選択される。
【０３３６】
ステップＳ２０５において、画素情報演算部１１１は画素位置演算処理を実行する。この処理により、ステップＳ２０４で選択された画素において検出された動きベクトルが割り付けられる内挿フレーム上の割付対象画素が算出され、算出された割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が算出される。画素位置演算処理の詳細については、図３３のフローチャートを参照して後述する。
【０３３７】
ステップＳ２０６において、画素情報演算部１１１は割付対象画素を選択し、選択した割付対象画素の位置情報と、その動きベクトルをベクトル選択部１１５に出力する。また、画素情報演算部１１１は、選択した割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置の情報を評価値演算部１１２と着目画素演算部１１３に出力する。
【０３３８】
ステップＳ２０７において、割付対象画素に関して割付ベクトル評価処理が実行される。この割付ベクトル評価処理により、割付対象画素における動きベクトルの信頼度が判定され、信頼度が高いと判定された動きベクトルによって、割付ベクトルメモリ１５に記憶されている動きベクトルが書き換えられる。割付ベクトル評価処理の詳細については、図３４のフローチャートを参照して後述する。
【０３３９】
ステップＳ２０８において、画素情報演算部１１１は、すべての割付対象画素の処理が終了したか否かを判定し、すべての割付対象画素の処理がまだ終了していないと判定した場合、ステップＳ２０６に戻り、次の割付対象画素を選択して、それ以降の処理を繰り返す。
【０３４０】
一方、ステップＳ２０８において、すべての割付対象画素の処理が終了したと判定した場合、ステップＳ２０９に進み、画素情報演算部１１１は、検出ベクトルメモリ１３上の元フレームのすべての画素の処理を終了したか否かを判定する。
【０３４１】
画素情報演算部１１１は、ステップＳ２０９において、すべての画素の処理を終了していないと判定した場合、ステップＳ２０４に戻り、検出ベクトルメモリ１３上の元フレームの次の画素を選択してそれ以降の処理を繰り返し、すべての画素についての処理を終了したと判定した場合、処理を終了させる。その後、処理は図５のステップＳ３に戻り、それ以降の処理が行われる。
【０３４２】
次に、図３３のフローチャートを参照して、図３２のステップＳ２０５において行われる画素位置演算処理について説明する。
【０３４３】
ステップＳ２２１において、画素情報演算部１１１は、図３２のステップＳ２０４で選択した画素で検出された動きベクトルを検出ベクトルメモリ１３から取得する。なお、選択された画素の動きベクトルが０ベクトルである場合、割付ベクトルメモリ１５には初期値として０ベクトルが予め記憶されているので、以降のステップＳ２２２乃至Ｓ２２４、および、図３２のステップＳ２０６乃至Ｓ２０８の処理はスキップされる。
【０３４４】
ステップＳ２２２において、画素情報演算部１１１は、ステップＳ２２１で取得した動きベクトルと内挿フレームの交点を算出する。
【０３４５】
ステップＳ２２３において、画素情報演算部１１１は、動きベクトルと内挿フレームの交点から割付対象画素を設定する。例えば、交点が内挿フレーム上の画素位置に一致する場合、その交点にある画素が割付対象画素に設定される。また、交点が内挿フレーム上の画素位置に一致しない場合、上述したように、内挿フレーム上の交点の近傍４画素が割付対象画素に設定される。
【０３４６】
ステップＳ２２４において、画素情報演算部１１１は、それぞれの割付対象画素を基準に、取得した動きベクトルで対応付けた元フレーム上の位置を算出する。例えば、割付対象画素にシフトされた動きベクトルと、元フレーム上の交点の位置が算出される。算出された元フレーム上の位置は、評価値演算部１１２が評価値DFDを求めるために、また、着目画素差分演算部１１３が輝度差分絶対値を求めるために用いられる。その後、図３２のステップＳ２０５に戻り、それ以降の処理が行われる。
【０３４７】
次に、図３４のフローチャートを参照して、図３２のステップＳ２０７において行われる割付ベクトル評価処理について説明する。
【０３４８】
ステップＳ２４１において、評価値演算部１１２は、元フレーム上の位置の情報が画素情報演算部１１１から供給されてきたとき、フレームｔ，t+1上の位置を中心としたDFD演算範囲をそれぞれ求め、ステップＳ２４２に進み、その求めたDFD演算範囲が画枠内にあるか否かを判定する。
【０３４９】
評価値演算部１１２は、ステップＳ２４２において、DFD演算範囲が画枠からはみ出していると判定した場合、その動きベクトルは割付対象画素に割り付ける割付候補ベクトルにはならないと判定し、処理を終了させる。
【０３５０】
一方、ステップＳ２４２において、評価値演算部１１２は、DFD演算範囲が画枠内にあると判定した場合、ステップＳ２４３に進み、DFD演算範囲を用いて割付対象画素の評価値DFDを求め、求めた評価値DFDをベクトル評価部１１４の評価値判断部１２２に出力する。
【０３５１】
ステップＳ２４４において、着目画素差分演算部１１３は、元フレーム上の位置の情報が画素情報演算部１１１から供給されてきたとき、割付対象画素における輝度差分絶対値dpを求め、求めた輝度差分絶対値dpをベクトル評価部１１４の画素差分判断部１２１に出力する。
【０３５２】
ステップＳ２４５において、画素差分判断部１２１は、着目画素差分演算部１１３により求められた輝度差分絶対値dpが、所定のしきい値以下であるか否かを判定し、輝度差分絶対値dpが所定のしきい値より大きいと判定した場合、フレームｔ，t+1の交点がそれぞれ異なるオブジェクトに属する可能性が高いことから、その動きベクトルの信頼度が低く、割付対象画素に割り付ける割付候補ベクトルにはならないと判定し、処理を終了させる。
【０３５３】
一方、画素差分判断部１２１は、ステップＳ２４５において、割付対象画素の輝度差分絶対値dpが所定のしきい値以下であると判定した場合、ステップＳ２４６に進む。
【０３５４】
ステップＳ２４６において、評価値判断部１２２は、ベクトル選択部１１５により保持されているDFDテーブルを参照し、評価値演算部１１２により求められた割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値（いまの場合、０ベクトルの評価値DFD０）よりも小さいか否かを判定する。
【０３５５】
評価値判断部１２２は、ステップＳ２４６において、割付対象画素の評価値DFDが最小評価値以上であると判定した場合、その動きベクトルは信頼度が高くないと判定し、処理を終了させる。
【０３５６】
一方、ステップＳ２４６において、割付対象画素の評価値DFDが最小評価値よりも小さいと判定した場合、評価値判断部１２２は、その動きベクトルは、いままで比較した動きベクトルの中で最も信頼度が高いと判定し、信頼度が高いと判定した割付対象画素の評価値DFDをベクトル選択部１１５に出力する。
【０３５７】
ステップＳ２４７において、ベクトル選択部１１５は、割付フラグメモリ１６に記憶されている、評価値判断部１２２から評価値DFDが供給されてきた割付対象画素の割付フラグを１（True）に書き換える。
【０３５８】
また、ベクトル選択部１１５は、ステップＳ２４８において、DFDテーブルに保持されている、割付対象画素に対応する最小評価値を、評価値判断部１２２により信頼度が高いと判定された評価値DFDで書き換える。
【０３５９】
ステップＳ２４９において、ベクトル選択部１１５は、割付ベクトルメモリ１５に記憶されている、割付対象画素に割り付けられている動きベクトルを、信頼度が高いと判定された評価値DFDに対応する動きベクトルで書き換える。ベクトル選択部１１５には、図３２のステップＳ２０６において、割付対象画素とその動きベクトルが画素情報演算部１１１から供給されている。その後、図３３のステップＳ２０７に戻り、それ以降の処理が行われる。
【０３６０】
次に、動きベクトルの補償について説明する。
【０３６１】
図３５は、図１の割付補償部１７の構成例を示すブロック図である。
【０３６２】
上述したように、割付補償部１７においては、ベクトル割付部１４により動きベクトルが割り付けられなかった内挿フレームの画素に、その周辺画素の動きベクトルを補って割り付ける処理が行われる。
【０３６３】
割付ベクトル判定部１３１は、割付フラグメモリ１６に記憶されている割付フラグに基づいて、内挿フレームのそれぞれの画素に動きベクトルが割り付けられているか否かを判定する。また、割付ベクトル判定部１３１は、ベクトル補償部１３２を制御し、動きベクトルが割り付けられていない画素に動きベクトルを割り付けさせる。
【０３６４】
例えば、内挿フレームの右下の画素を基準として逆ラスタ順にそれぞれの画素が着目され、動きベクトルが割り付けられていない画素に動きベクトルが割り付けられる。
【０３６５】
ベクトル補償部１３２は、着目画素の周辺画素に割り付けられた動きベクトルのうち、信頼度が最も高い１つの動きベクトルを評価値DFDに基づいて選択し、選択した動きベクトルを着目画素に割り付ける。ベクトル補償部１３２により画素に割り付けられた動きベクトルは、その画素と対応付けて割付ベクトルメモリ１５に記憶される。
【０３６６】
図３６は、ベクトル補償部１３２の詳細な構成例を示すブロック図である。
【０３６７】
補償処理部１４１は、最小評価値DFDと、最小評価値DFDの動きベクトルを候補ベクトル（以下、補償候補ベクトルともいう）として記憶するメモリ１５１を有している。補償処理部１４１は、処理の開始時、このメモリ１５１に、０ベクトルの評価値DFDを最小評価値として記憶させるとともに、０ベクトルを補償候補ベクトルとして記憶させる。
【０３６８】
また、補償処理部１４１は、割付フラグメモリ１６を参照して、着目画素の周辺画素に割り付けられている動きベクトルを割付ベクトルメモリ１５から取得し、評価値演算部１４２を制御して、その動きベクトルの評価値DFDを演算させる。
【０３６９】
補償処理部１４１は、評価値演算部１４２により求められた評価値DFDが、メモリ１５１に記憶されている最小評価値よりも小さいか否かを判定し、演算された評価値DFDが最小評価値よりも小さいと判定した場合、メモリ１５１の補償候補ベクトルと最小評価値を、演算された評価値DFDとその動きベクトルに書き換え、最終的に、評価値DFDが最も小さい周辺画素の動きベクトル（補償候補ベクトル）を、着目画素の動きベクトルとして着目画素に割り付ける。このとき、補償処理部１４１は、動きベクトルが割り付けられた着目画素の割付フラグメモリ１６の割付フラグを１（True）に書き換える。
【０３７０】
評価値演算部１４２は、入力されたフレームｔ，t+1を用いて、割付ベクトルメモリ１５から取得された、周辺画素のそれぞれの動きベクトルの評価値DFDを演算し、演算した評価値DFDを補償処理部１４１に出力する。
【０３７１】
ここで、補償処理の概念について説明する。
【０３７２】
図３７は、動きベクトルの割付補償について説明する図である。
【０３７３】
図３７において、丸は内挿フレーム上の１つの画素を表し、画素から延びている矢印は、それぞれの画素に割り付けられている動きベクトルを表す。矢印がない画素は、その画素に動きベクトルが割り付けられていないことを表す。
【０３７４】
図３７の例においては、ベクトル割付部１４により動きベクトルが割り付けられなかった中央の画素Ｐが着目画素とされている。また、画素Ｐの周辺画素である、左上、上、右上、左下、右下のそれぞれの画素に割り付けられている動きベクトルV1乃至V5が補償候補ベクトルとして選択され、その中から、評価値DFDに基づいて信頼度が高いと判定された、画素Ｐの上に位置する画素の動きベクトルV2が割り付けられている。
【０３７５】
このように、周辺の画素に割り付けられている動きベクトルを用いて補償が行われるのは、ある画素に着目した場合、その画素の動きは、空間方向、時間方向において、周辺の画素の動きと相関が高いと考えられることに基づくものである。
【０３７６】
次に、動きベクトルの割付補償の順序について説明する。
【０３７７】
図３８は、割り付けられた動きベクトルの例を示す図である。
【０３７８】
図３８の例においては、内挿フレーム上の５×５画素が示されており、そのうちの黒丸はベクトル割付部１４により動きベクトルが割り付けられた画素を示している。すなわち、白抜きの丸が、割付補償処理において、その対象となる画素である。
【０３７９】
例えば、動きベクトルの割付補償は、図３９に示すように、内挿フレームの最も右下にある画素を基準として、逆ラスタ順に、画素が着目されて処理が進められる。
【０３８０】
従って、図３８に示されるようにそれぞれの画素に動きベクトルが割り付けられている場合、割付補償の対象として、はじめに、下から２行目、右から２列目の位置にある画素P1着目され、その周辺の画素の動きベクトルのうち、最も信頼度の高い動きベクトルが、画素P1に割り付けられる。図３８の例においては、画素P1の右下、下、左下、右、上、左上の５つの画素に割り付けられている動きベクトルが補償候補ベクトルとして選択され、そのうちの１つの動きベクトルが画素P1に割り付けられる。
【０３８１】
図４０は、画素P1に動きベクトルが割り付けられた状態を示す図である。
【０３８２】
図４０の例においては、画素P1には、その右隣の画素の動きベクトルが選択され、割り付けられている。このように、着目している画素に動きベクトルが割り付けられたとき、割付補償の対象となる着目画素が切り替えられる。
【０３８３】
すなわち、着目画素は逆ラスタ順に選択されるから、画素P1の次には、図４１に示されるように、動きベクトルが割り付けられていない画素として画素P1の左となりに位置する画素P2が着目画素とされ、その周辺の画素の動きベクトルのうち、最も信頼度の高い動きベクトルが画素P2に割り付けられる。図４１の例においては、画素P2の右下、下、左下、右、左、右上、上の７つの画素に割り付けられている動きベクトルが補償候補ベクトルとして選択され、そのうちの１つの動きベクトルが画素P2に割り付けられる。
【０３８４】
このように、割付補償処理においては、着目画素が切り替わったときには、直前に着目されていた画素に割り付けられた動きベクトルも、いま着目している画素に割り付ける候補の動きベクトルとして選択されることになる。図４１の例においては、画素P2に割り付ける候補の動きベクトルとして、直前に着目されていた画素P1に新たに割り付けられた動きベクトルも選択されている。
【０３８５】
以上のように、割付補償部１７においては、着目画素が逆ラスタ順に選択され、動きベクトルの割付補償が行われる。この、着目画素を逆ラスタ順に選択することは次の理由に基づく。
【０３８６】
図４２は、ベクトル検出部１２において行われる動きベクトルの検出と、それにより検出された動きベクトルの例を示す図である。
【０３８７】
上述したように、ベクトル検出部１２においては、ラスタ順に画素が着目され、勾配法が用いられて動きベクトルの検出が行われる。この勾配法による演算は、図１２等を参照して説明したように、着目画素の周辺画素において先に検出された動きベクトルが、他の画素の動きベクトルを求めるときにオフセットを与えるための候補とされて開始されるものであるから、ラスタ順に着目画素が切り替えられて処理が進むほど、すなわち、フレームの右下の方にある画素ほど、検出される動きベクトルは、実際のオブジェクトの動きを表し、いわば収束していくことになる。
【０３８８】
図４２の例においては、オブジェクトＯが示されており、オブジェクトＯから延びる矢印は、オブジェクトＯに属する画素で検出された動きベクトルを表す。図４２に示されるように、オブジェクトＯに属する画素で検出された動きベクトルは、処理が進んだ右下の方で検出されるものほど、太線矢印Ａで示される、オブジェクトＯの理想的な動き（実際の動き）に近いものとなっている。
【０３８９】
そこで、割付補償においては、そのように、実際の動きを最も正確に表すと考えられる１度収束した動きベクトルも割り付け候補の動きベクトルとして選択され、他の周辺画素に割り付けられている動きベクトルとの評価結果によっては、着目画素に割り付けられるように、逆ラスタ順に、着目画素が選択されて処理が進められる。仮に、割付補償もラスタ順に処理が進められるとした場合、オブジェクトの実際の動きを最も正確に表すと考えられる、右下方の画素に割り付けられている動きベクトルは、他の画素に割り付ける補償候補のベクトルとして選択されることはない。すなわち、最も正確な動きベクトルによって補償されることはない。
【０３９０】
図４３は、補償された動きベクトルの例を示す図である。図４３において、オブジェクトＯに属する画素から延びている点線矢印は、補償された動きベクトルを表す。
【０３９１】
動きベクトルの割り付け補償においては、図４１を参照して説明したように、直前に割り付けられた動きベクトルも次の着目画素の割付候補の動きベクトルとされ、評価結果によっては割り付けられるから、逆ラスタ順に処理が進められることにより、収束した右下方にある動きベクトルが、図４３に示されるように左上方の画素に次々と割り付けられ、いわば伝搬してくことになる。
【０３９２】
図４３の例においては、オブジェクトＯに属する画素に新たに補償された動きベクトルは、右下方のものから順に割り付けられたものであり、それらは、収束した動きベクトル（右下方の画素で検出時に検出された動きベクトル）に近い、もしくは同じものとなっている。
【０３９３】
以上のように、動きベクトルの検出がラスタ順で進められることにより、処理対象がフレームの右下方に移行するほど、動きベクトルは収束し、反対に、割付補償が逆ラスタ順で進められることにより、収束した動きベクトルが左上方に空間的に伝搬していくことになる。図４４は、このことを示す。
【０３９４】
このように、割付候補が逆ラスタ順で進められることにより、実際の動きを最も正確に表すと考えられる動きベクトルを、まだ動きベクトルが割り付けられていない画素に割り付けることが可能となり、ずれた動きを表す動きベクトルが同一オブジェクト内で異なる画素に割り付けられることにより、画質が劣化してしまうことを防止することができる。
【０３９５】
なお、以上においては、割付補償処理が逆ラスタ順に進められるものとしたが、動きベクトルの検出処理が逆ラスタ順で進められる場合、割付補償処理は、検出処理と逆の、ラスタ順で進められる。すなわち、動きベクトルの検出処理と割付補償処理は、互いに逆の処理順で進められる。
【０３９６】
次に、動きベクトルの評価について説明する。
【０３９７】
補償候補の動きベクトルの中から実際に割り付ける動きベクトルを選択する基準となる評価値DFDは、例えば、図４５乃至図４７に示されるようにして求められる。
【０３９８】
図４５は、左側に示される着目画素Ｐの補償候補ベクトルの中から選択された０ベクトルS0の評価値DFDを求める例を示す図である。
【０３９９】
０ベクトルS0に対する評価値DFDは、内挿フレーム上の着目画素Ｐを基準として、０ベクトルS0によって対応付けられるフレームｔとフレームt+1上のそれぞれの交点を中心としたDFD演算範囲D1-1，D1-2を用いて、上式（１）を演算することにより求められる。
【０４００】
図４６は、左側に示される着目画素Ｐの補償候補ベクトルの中から選択された動きベクトルVK1の評価値DFDを求める例を示す図である。
【０４０１】
動きベクトルVK1に対する評価値DFDは、内挿フレーム上の着目画素Ｐを基準として、動きベクトルVK1によって対応付けられるフレームｔとフレームt+1上のそれぞれの交点を中心としたDFD演算範囲D2-1，D2-2を用いて、上式（１）を演算することにより求められる。
【０４０２】
図４７は、左側に示される着目画素Ｐの補償候補ベクトルの中から選択された動きベクトルVK2の評価値DFDを求める例を示す図である。
【０４０３】
動きベクトルVK2に対する評価値DFDは、内挿フレーム上の着目画素Ｐを基準として、動きベクトルVK2によって対応付けられるフレームｔとフレームt+1上のそれぞれの交点を中心としたDFD演算範囲D3-1，D3-2を用いて、上式（１）を演算することにより求められる。
【０４０４】
着目画素Ｐの周辺画素に割り付けられている他の補償候補ベクトルについても同様の処理により評価値DFDが求められ、その中で、評価値DFDが最小となる補償候補ベクトルが、着目画素Ｐに割り付けられる動きベクトルとして選択される。
【０４０５】
次に、以上のような構成を有する割付補償部１７の各部の処理について説明する。
【０４０６】
はじめに、図４８のフローチャートを参照して、割付補償部１７により行われる割付補償処理の全体について説明する。この処理は、図５のステップＳ４において行われる処理である。
【０４０７】
ステップＳ３０１において、割付ベクトル判定部１３１は、内挿フレームの画素のうち、最も右下方にある画素を基準として逆ラスタ順に選択した１つの画素を着目画素とする。
【０４０８】
ステップＳ３０２において、割付ベクトル判定部１３１は、割付フラグメモリ１６に記憶されている着目画素の割付フラグが０（False）であるか否かを判定し、０（False）であると判定した場合、いま選択している着目画素には動きベクトルが割り付けられていないと認識してステップＳ３０３に進む。
【０４０９】
ステップＳ３０３において、ベクトル補償部１３２はベクトル補償処理を実行する。このベクトル補償処理により、周辺画素に割り付けられた動きベクトルの中から、評価値DFDが最小となる動きベクトルが補償候補ベクトルとしてメモリ１５１に記憶される。ベクトル補償処理の詳細については、図４９のフローチャートを参照して後述する。
【０４１０】
ステップＳ３０４において、ベクトル補償部１３２の補償処理部１４１（図３６）は、メモリ１５１に記憶されている補償候補ベクトルを、着目画素の動きベクトルとして割付ベクトルメモリ１５に割り付ける。
【０４１１】
また、補償処理部１４１は、ステップＳ３０５において、割付フラグメモリ１６に記憶されている着目画素の割り付けフラグを１（True）に書き換え、ステップＳ３０６に進む。
【０４１２】
一方、ステップＳ３０２において、割付ベクトル判定部１３１は、着目画素の割付フラグが０（False）ではないと判定した場合、その着目画素にはすでに動きベクトルが割り付けられていると認識し、ステップＳ３０３乃至Ｓ３０５の処理をスキップする。
【０４１３】
ステップＳ３０６において、割付ベクトル判定部１３１は、内挿フレームのすべての画素の処理を終了したか否かを判定し、すべての画素の処理を終了していないと判定した場合、ステップＳ３０１に戻り、それ以降の処理を繰り返し実行する。すなわち、１つの画素が逆ラスタ順に選択され、選択された画素を着目画素とした処理が繰り返される。
【０４１４】
割付ベクトル判定部１３１は、ステップＳ３０６において、内挿フレームのすべての画素の処理を終了したと判定した場合、割付補償処理を終了させる。その後、図５のステップＳ４に戻り、それ以降の処理が行われる。
【０４１５】
次に、図４９のフローチャートを参照して、図４８のステップＳ３０３において行われるベクトル補償処理について説明する。
【０４１６】
ステップＳ３２１において、ベクトル補償部１３２の評価値演算部１４２は、着目画素について、０ベクトルを用いて評価値DFD０を算出する。０ベクトルを用いた評価値DFD０の演算は、例えば、図４５を参照して説明したようにして行われる。求められた評価値DFD０は補償処理部１４１に出力される。
【０４１７】
ステップＳ３２２において、補償処理部１４１は、ステップＳ３２１で求められた評価値DFD０を最小評価値としてメモリ１５１に記憶させる。また、補償処理部１４１は、ステップＳ３２３において、０ベクトルを補償候補ベクトルとしてメモリ１５１に記憶させる。
【０４１８】
ステップＳ３２４において、補償処理部１４１は、着目画素の周辺８画素のうちの１つの画素を選択する。例えば、周辺８画素のうち、右下の画素から逆ラスタ順に周辺画素が選択される。
【０４１９】
補償処理部１４１は、ステップＳ３２５において、割付フラグメモリ１６を参照して、ステップＳ３２４で選択した周辺画素に動きベクトルが存在するか否か、すなわち、その周辺画素の割付フラグが１（True）であるか否かを判定する。
【０４２０】
ステップＳ３２５において、補償処理部１４１は、周辺画素に動きベクトルが存在すると判定した場合、ステップＳ３２６に進み、その周辺画素の動きベクトルを割付ベクトルメモリ１５から取得する。このとき、評価値演算部１４２に対しても、周辺画素の動きベクトルが割付ベクトルメモリ１５から供給される。
【０４２１】
ステップＳ３２７において、評価値演算部１４２は、ステップＳ３２６で取得された周辺画素の動きベクトルの評価値DFDを算出し、求めた評価値DFDを補償処理部１４１に出力する。
【０４２２】
ステップＳ３２８において、補償処理部１４１は、評価値演算部１４２から供給されてきた評価値DFDが、メモリ１５１に記憶されている着目画素の最小評価値よりも小さいか否かを判定する。
【０４２３】
補償処理部１４１は、ステップＳ３２８において、新たに供給されてきた評価値DFDの方が、着目画素の最小評価値よりも小さいと判定した場合、ステップＳ３２９に進み、メモリ１５１に記憶されている最小評価値を、新たに供給されてきた評価値DFDに書き換える。
【０４２４】
また、補償処理部１４１は、ステップＳ３３０において、メモリ１５１に記憶されている補償候補ベクトルを、ステップＳ３２６で取得された周辺画素の動きベクトルに書き換え、ステップＳ３３１に進む。
【０４２５】
一方、ステップＳ３２５において、割付フラグメモリ１６に記憶されている、周辺画素の割付フラグが０（False）であることから、周辺画素に割り付けられている動きベクトルがないと判定した場合、補償処理部１４１は、ステップＳ３２６乃至Ｓ３３０の処理をスキップし、ステップＳ３３１に進む。
【０４２６】
また、ステップＳ３２８において、補償処理部１４１は、新たに求められた評価値DFDが、メモリ１５１に記憶されている着目画素の最小評価値以上であると判定した場合、ステップＳ３２９およびＳ３３０の処理をスキップし、ステップＳ３３１に進む。
【０４２７】
ステップＳ３３１において、補償処理部１４１は、着目画素の周辺画素のすべての処理が終了したか否かを判定し、すべての処理が終了していないと判定した場合、ステップＳ３２４に戻り、次の周辺画素を選択して、それ以降の処理を繰り返す。
【０４２８】
補償処理部１４１は、ステップＳ３３１において、着目画素の周辺画素のすべての処理が終了したと判定した場合、ベクトル補償処理を終了する。その後、図４８のステップＳ３０３に戻り、それ以降の処理が行われる。
【０４２９】
以上においては、それぞれの画素が着目画素として選択され、選択された着目画素に動きベクトルが割り付けられていない場合には、その周辺画素の動きベクトルの評価結果から選択された１つの動きベクトルが着目画素に割り付けられるように、画素毎に割付補償処理が行われる場合について説明したが、この処理は、画素単位ではなく、ブロック単位で行われるようにすることもできる。ブロック単位で割付補償処理が行われる場合、１つのブロックに含まれる全ての画素には、そのブロックに対して割り付けられた同じ動きベクトルが割り付けられる。
【０４３０】
ここで、図５０のフローチャートを参照して、ブロック単位で行われる割付補償処理の全体について説明する。すなわち、この処理は、画素単位で行われる図４８の処理に対応する処理である。
【０４３１】
割付ベクトル判定部１３１は、ステップＳ３４１において、内挿フレームをｍ×ｎ画素毎に分けたブロックのうち、最も右下方にあるブロックを基準として逆ラスタ順に選択した１つのブロックを着目ブロックとする。
【０４３２】
ステップＳ３４２において、割付ベクトル判定部１３１は、着目ブロックを構成する画素の中に、割付フラグメモリ１６に記憶されている割付フラグが０（False）である画素があるか否かを判定し、そのような画素があると判定した場合、着目ブロックを構成する画素の中に動きベクトルが存在しない画素があると認識する。
【０４３３】
ステップＳ３４３において、ベクトル補償部１３２はベクトル補償処理を実行する。このベクトル補償処理により、着目ブロックの周辺のブロック（周辺のブロックの画素）に割り付けられた動きベクトルの中から、評価値DFDが最小となる動きベクトルが補償候補ベクトルとしてメモリ１５１に記憶される。すなわち、ここでは、着目する対象が画素ではなくブロックとなる点を除いて、図４９を参照して説明した処理と同様の処理が行われる。
【０４３４】
ステップＳ３４４において、ベクトル補償部１３２の補償処理部１４１は、着目ブロックを構成する画素の中から１つの画素を着目画素として選択し、割付フラグメモリ１６に記憶されている、その着目画素の割付フラグが０（False）であるか否かを判定する。
【０４３５】
補償処理部１４１は、ステップＳ３４４において、着目画素の割付フラグが０（False）であると判定した場合、ステップＳ３４５に進み、メモリ１５１に記憶されている補償候補ベクトルを、着目画素の動きベクトルとして割付ベクトルメモリ１５に割り付ける。
【０４３６】
また、補償処理部１４１は、ステップＳ３４６において、割付フラグメモリ１６に記憶されている着目画素の割り付けフラグを１（True）に書き換え、ステップＳ３４７に進む。
【０４３７】
一方、ステップＳ３４４において、割付ベクトル判定部１３１は、着目画素の割付フラグが０（False）ではないと判定した場合、その着目画素にはすでに動きベクトルが割り付けられていると認識し、ステップＳ３４５，Ｓ３４６の処理をスキップする。
【０４３８】
補償処理部１４１は、ステップＳ３４７において、着目ブロック内のすべての画素の処理を終了したか否かを判定し、すべての画素の処理を終了していないと判定した場合、ステップＳ３４８に進む。
【０４３９】
ステップＳ３４８において、補償処理部１４１は、着目ブロックを構成する画素のうちの、まだ着目していない画素を着目画素として選択し、ステップＳ３４４以降の処理を繰り返す。
【０４４０】
一方、ステップＳ３４２において、着目ブロックを構成する画素の中に、割付フラグメモリ１６に記憶されている割付フラグが０（False）である画素がないと判定された場合、または、ステップＳ３４７において、着目ブロックのすべての画素の処理を終了したと判定された場合、ステップＳ３４９に進み、補償処理部１４１は、内挿フレームのすべてのブロックの処理を終了したか否かを判定する。
【０４４１】
補償処理部１４１は、ステップＳ３４９において、すべてのブロックの処理を終了していないと判定した場合、ステップＳ３４１に戻り、逆ラスタ順に、次のブロックを着目ブロックとして選択して、それ以降の処理を実行する。
【０４４２】
ステップＳ３４９において、補償処理部１４１は、内挿フレームのすべてのブロックの処理を終了したと判定した場合、処理を終了させる。
【０４４３】
このように、ブロック単位で割付補償処理を行うことも可能である。
【０４４４】
次に、内挿フレームの補間について説明する。
【０４４５】
図５１は、図１の画像補間部１８の構成例を示すブロック図である。
【０４４６】
上述したように、画像補間部１８においては、内挿フレームに割り付けられた動きベクトルと、フレームｔ，t+1の画素値を用いて内挿フレームの画素値を補間生成する処理が行われる。
【０４４７】
補間制御部１６１は、内挿フレームの画素から選択した１つの画素に割り付けられている動きベクトルを割付ベクトルメモリ１５から取得し、内挿フレームの画素を基準として、取得した動きベクトルで対応付けられるフレームｔ上の位置を求める。また、補間制御部１６１は、求めたフレームｔ上の位置と内挿フレームの画素の位置から、それらの空間シフト量を求め、空間シフト量を空間フィルタ１６２−１に出力する。
【０４４８】
同様に、補間制御部１６１は、内挿フレームの画素を基準として、取得した動きベクトルで対応付けられるフレームt+1上の位置を求める。また、補間制御部１６１は、求めたフレームt+1上の画素の位置と内挿フレームの画素の位置から、それらの空間シフト量を求め、空間シフト量を空間フィルタ１６２−２に出力する。
【０４４９】
さらに、補間制御部１６１は、内挿フレームの時間位相（時刻）に基づいてフレームｔとフレームt+1の間における補間重みを求め、求めた補間重みを乗算器１６３−１と１６３−２に設定する。
【０４５０】
例えば、内挿フレームの時刻が、時刻t+1から「ｋ」だけ離れた時刻であり、かつ、時刻ｔから「1-k」だけ離れた時刻である場合（内挿フレームが時刻ｔと時刻t+1を1-k：ｋに内分する時刻に生成される場合）、補間制御部１６１は、乗算器１６３−１に「1-k」の補間重みを設定し、乗算器１６３−２に「ｋ」の補間重みを設定する。
【０４５１】
空間フィルタ１６２−１および１６２−２は、例えば、キュービックフィルタなどにより構成される。空間フィルタ１６２−１は、フレームｔ上の画素の画素値と、補間制御部１６１から供給されてきた空間シフト量に基づいて、内挿フレームの画素に対応するフレームｔ上の画素の画素値を求め、求めた画素値を乗算器１６３−１に出力する。
【０４５２】
空間フィルタ１６２−２は、フレームt+1上の画素の画素値と、補間制御部１６１から供給されてきた空間シフト量に基づいて、内挿フレームの画素に対応するフレームt+1上の画素の画素値を求め、求めた画素値を乗算器１６３−２に出力する。
【０４５３】
なお、内挿フレームの画素の位置が、フレームｔまたはフレームt+1において画素以下の位置である場合、その画素以下位置の画素値は、例えば、周辺の４画素との距離に基づく上述した線形補間により求められる。
【０４５４】
乗算器１６３−１は、空間フィルタ１６２−１から供給されてきたフレームｔ上の画素の画素値に、補間制御部１６１により設定された補間重み「1-k」を乗算し、重み付けされた画素値を加算器１６４に出力する。
【０４５５】
乗算器１６３−２は、空間フィルタ１６２−２から供給されてきたフレームt+1上の画素の画素値に、補間制御部１６１により設定された補間重み「ｋ」を乗算し、重み付けされた画素値を加算器１６４に出力する。
【０４５６】
加算器１６４は、乗算器１６３−１から供給されてきた画素値と、乗算器１６３−２から供給されてきた画素値を加算することによって内挿フレームの画素の画素値を生成し、生成した内挿フレームの画素の画素値をバッファ１６５に出力する。
【０４５７】
バッファ１６５は、加算器１６４から供給されてきた画素値に基づいて内挿フレームを生成し、生成した内挿フレームと、記憶しているフレームt+1を、予め設定されている６０Ｐ信号の時間位相に応じたタイミングで出力する。バッファ１６５には、フレームt+1が外部から供給されており、それが記憶されている。
【０４５８】
次に、図５２のフローチャートを参照して、以上のような構成を有する画像補間部１８の補間処理について説明する。この処理は、図５のステップＳ５において行われる処理である。
【０４５９】
ステップＳ４０１において、補間制御部１６１は、内挿フレームの時間位相に基づいて、フレームｔとフレームt+1の間における内挿フレームの補間重みを求め、求められた補間重みを乗算器１６３−１と１６３−２にそれぞれ設定する。
【０４６０】
補間制御部１６１は、ステップＳ４０２において、内挿フレームの画素を選択する。例えば、内挿フレームの左上の画素を基準としてラスタ順に画素が選択される。
【０４６１】
ステップＳ４０３において、補間制御部１６１は、選択した画素に割り付けられている動きベクトルを割付ベクトルメモリ１５から取得し、内挿フレームの画素を基準として、取得した動きベクトルで対応付けられるフレームｔ上の位置を求める。また、補間制御部１６１は、求めたフレームｔ上の位置と内挿フレームの画素の位置から、それらの空間シフト量を求め、空間シフト量を空間フィルタ１６２−１に出力する。
【０４６２】
同様に、補間制御部１６１は、内挿フレームの画素を基準として、取得した動きベクトルで対応付けられるフレームt+1上の位置を求める。また、補間制御部１６１は、求めたフレームt+1上の画素の位置と内挿フレームの画素の位置から、それらの空間シフト量を求め、空間シフト量を空間フィルタ１６２−２に出力する。
【０４６３】
ステップＳ４０４において、空間フィルタ１６２−１と１６２−２は、フレームｔ，t+1上の画素の画素値と、補間制御部１６１から供給されてきた空間シフト量に基づいて、内挿フレームの画素に対応する各フレームの画素の画素値を求め、求めた画素値を乗算器１６３−１と１６３−２にそれぞれ出力する。
【０４６４】
ステップＳ４０５において、乗算器１６３−１は、空間フィルタ１６２−１から供給されてきたフレームｔ上の画素の画素値に、補間制御部１６１により設定された補間重み「1-k」を乗算し、重み付けされた画素値を加算器１６４に出力する。また、乗算器１６３−２は、空間フィルタ１６２−２から供給されてきたフレームt+1上の画素の画素値に、補間制御部１６１により設定された補間重み「ｋ」を乗算し、重み付けされた画素値を加算器１６４に出力する。
【０４６５】
加算器１６４は、ステップＳ４０６において、乗算器１６３−１から供給されてきた画素値と、乗算器１６３−２から供給されてきた画素値を加算することによって内挿フレームの画素の画素値を生成し、生成した画素値をバッファ１６５に出力する。
【０４６６】
補間制御部１６１は、ステップＳ４０７において、内挿フレームのすべての画素の処理が終了したか否かを判定し、すべての画素の処理が終了していないと判定した場合、ステップＳ４０２に戻り、それ以降の処理を繰り返す。
【０４６７】
また、補間制御部１６１は、ステップＳ４０７において、内挿フレームのすべての画素の処理が終了したと判定した場合、画像補間処理を終了させる。その後、図５のステップＳ５に戻り、それ以降の処理が行われる。
【０４６８】
以上のような、動きベクトルの検出処理、割付処理、割付補償処理、および補間処理からなる一連の処理により、２４Ｐ−６０Ｐのフレーム周波数変換が信号処理装置１において実現される。
【０４６９】
以上においては、検出結果としての動きベクトルを選択する場合、内挿フレームの画素に割り付ける動きベクトルを選択する場合、および、補償する動きベクトルを選択する場合等のそれぞれの場合において、式（１）で求められる評価値DFDが用いられて動きベクトルの評価が行われるものとしたが、この評価値DFDは、式（１）から分かるように異なるフレームのある範囲における輝度値の差分の絶対値和であることから、評価値DFDを算出する対象となる範囲が、例えば、輝度値の変化の少ない平坦部に設定されたとき、その差分の絶対値和を正確に求めることができず、そのように正確さを欠く評価値DFDからは、より適した動きベクトルを選択することができないおそれがある。この、適した動きベクトルを選択することができないということは、結果として、生成される画像（フレーム）に破綻を生じさせることにつながることになる。
【０４７０】
従って、平坦部などの輝度値の変化の少ない範囲を対象とした場合であっても差分を正確に表すことのできる評価値である偏差DFD（ｖDFD）が、動きベクトルの評価の際に用いられるようにしてもよい。この偏差DFDは、例えば２×２画素からなる着目ブロックの平均輝度値をオフセットとして対象範囲内の各画素の輝度値から差し引き、DC成分をカットしたものの差分の絶対値和であり、下式（１３）により求められる。
【０４７１】
【数１３】
0004655216.tif 000014
【０４７２】
ここで、ｍ×ｎは偏差DFDを求める対象範囲である。また、Ｐavet+1，Ｐavetは対象範囲の画素の平均輝度値、Ｐt+1（ｘ，ｙ），Ｐt（ｘ，ｙ）は対象領域内の各画素の輝度値、Ｐmint+1，Ｐmintは対象領域内の最小輝度値である。
【０４７３】
DC成分をカットした場合、輝度値の差を高い精度で検出することができるから、式（１３）で求められるような偏差DFDが用いられることにより、平坦部などに演算範囲が設定されたときであっても動きベクトルの正しい評価を行うことが可能となる。
【０４７４】
また、偏差DFDを用いた動きベクトルの評価が、式（１）で求められる評価値DFDを用いた評価に加えて行われることにより、双方の評価で正しいと判定されてはじめて動きベクトルが選択されることになり、より正確な動きベクトルを選択することができる。
【０４７５】
なお、偏差DFDに替えて、下式（１４）で求められるオフセット付きDFD（ｏDFD）が用いられ、それにより動きベクトルの評価が行われるようにしてもよい。
【０４７６】
【数１４】
0004655216.tif 000015
【０４７７】
ここで、図５３のフローチャートを参照して、以上のような偏差DFDを用いて動きベクトルの評価を行い、動きベクトルを補償する処理について説明する。この処理は、図４９の処理に対応するものである。
【０４７８】
ステップＳ５０１において、ベクトル補償部１３２の評価値演算部１４２は、着目画素について、０ベクトルを用いて式（１）から評価値DFD_zrを算出する。求められた評価値DFD_zrは補償処理部１４１に出力される。
【０４７９】
ステップＳ５０２において、補償処理部１４１は、ステップＳ５０１で求められた評価値DFD_zrを最小評価値minDFDとしてメモリ１５１に記憶させる。
【０４８０】
ステップＳ５０３において、ベクトル補償部１３２の評価値演算部１４２は、着目画素について、０ベクトルを用いて式（１３）から偏差DFD（ｖDFD_zr）を算出する。求められた偏差DFD（ｖDFD_zr）も補償処理部１４１に出力される。
【０４８１】
ステップＳ５０４において、補償処理部１４１は、０ベクトルを補償候補ベクトルとしてメモリ１５１に記憶させる。
【０４８２】
ステップＳ５０５において、補償処理部１４１は、着目画素の周辺８画素のうちの１つの画素を選択する。例えば、周辺８画素のうち、右下の画素から逆ラスタ順に周辺画素が選択される。
【０４８３】
補償処理部１４１は、ステップＳ５０６において、割付フラグメモリ１６を参照して、ステップＳ５０５で選択した周辺画素に動きベクトルが存在するか否か、すなわち、その周辺画素の割付フラグが１（True）であるか否かを判定する。
【０４８４】
ステップＳ５０６において、補償処理部１４１は、周辺画素に動きベクトルが存在すると判定した場合、ステップＳ５０７に進み、割付ベクトルメモリ１５から、その周辺画素の動きベクトルを取得する。このとき、評価値演算部１４２に対しても、周辺画素の動きベクトルが割付ベクトルメモリ１５から供給される。
【０４８５】
ステップＳ５０８において、評価値演算部１４２は、ステップＳ５０７で取得された動きベクトルを用いて式（１３）から偏差DFD（ｖDFD_tmp）を算出する。求められた偏差DFD（ｖDFD_tmp）は補償処理部１４１に出力される。
【０４８６】
補償処理部１４１は、ステップＳ５０９において、評価値演算部１４２から供給されてきた偏差DFD（ｖDFD_tmp）が、メモリ１５１に記憶されている、ステップＳ５０３で求められた偏差DFD（ｖDFD_zr）に所定のパラメータである値TH_cmpを加算したものより小さいか否かを判定する。
【０４８７】
ステップＳ５０９において、補償処理部１４１は、偏差DFD（ｖDFD_tmp）が、偏差DFD（ｖDFD_zr）に値TH_cmpを加算したものより小さいと判定した場合、ステップＳ５１０に進み、ステップＳ５０７で取得された動きベクトルを用いて式（１）から評価値DFD_tmpを算出する。求められた評価値DFD_tmpは補償処理部１４１に出力される。
【０４８８】
ステップＳ５１１において、補償処理部１４１は、ステップＳ５１０で算出された評価値DFD_tmpが、メモリ１５１に記憶されている着目画素の最小評価値minDFDより小さいか否かを判定する。
【０４８９】
補償処理部１４１は、ステップＳ５１１において、評価値DFD_tmpが最小評価値minDFDより小さいと判定した場合、ステップＳ５１２に進み、メモリ１５１に記憶されている最小評価値minDFDを、動きベクトルを用いて求められた評価値DFD_tmpに書き換える。
【０４９０】
また、補償処理部１４１は、ステップＳ５１３において、メモリ１５１に記憶されている補償候補ベクトルを、ステップＳ５０７で取得された動きベクトルに書き換え、ステップＳ５１４に進む。
【０４９１】
一方、ステップＳ５０６において、周辺画素の割付フラグが０（False）であることから、周辺画素に割り付けられている動きベクトルがないと判定した場合、補償処理部１４１は、ステップＳ５０７乃至Ｓ５１３の処理をスキップし、ステップＳ５１４に進む。
【０４９２】
また、ステップＳ５１１において、補償処理部１４１は、評価値DFD_tmpが、メモリ１５１に記憶されている最小評価値minDFD以上であると判定した場合、ステップＳ５１２，Ｓ５１３の処理をスキップし、ステップＳ５１４に進む。
【０４９３】
ステップＳ５１４において、補償処理部１４１は、着目画素の周辺画素のすべての処理が終了したか否かを判定し、すべての処理が終了していないと判定した場合、ステップＳ５０５に戻り、次の周辺画素を選択して、それ以降の処理を繰り返す。
【０４９４】
また、ステップＳ５０９において、補償処理部１４１は、偏差DFD（ｖDFD_tmp）が、偏差DFD（ｖDFD_zr）に値TH_cmpを加算したもの以上であると判定した場合も同様に、ステップＳ５０５に戻り、それ以降の処理を繰り返す。
【０４９５】
補償処理部１４１は、ステップＳ５１４において、着目画素の周辺画素のすべての処理が終了したと判定した場合、ベクトル補償処理を終了する。その後、図４８のステップＳ３０３に戻り、それ以降の処理が行われる。
【０４９６】
以上のように、動きベクトルの評価が、偏差DFDと、式（１）より求められる評価値DFDとの２つの基準によって行われることにより、２つの基準を満たす、より正確な動きベクトルで補償することが可能となる。
【０４９７】
なお、上述したように、偏差DFDを用いた動きベクトルの評価は、動きベクトルの補償のとき以外のときにも用いることができる。
【０４９８】
次に、図５４のフローチャートを参照して、偏差DFDを用いて動きベクトルの評価を行い、初期ベクトルを選択する処理について説明する。この処理は、図２２の処理に対応するものである。なお、ここでは、処理の開始時、初期候補ベクトルとして０ベクトルが設定されるものとする（図２２のステップＳ３６以降の処理に対応する）。
【０４９９】
ステップＳ５２１において、初期ベクトル選択部３１の評価値演算部５５（図７）は、着目ブロックについて、０ベクトルを用いて式（１）から評価値DFD_zrを算出する。求められた評価値DFD_zrは評価値比較部５６に出力される。
【０５００】
ステップＳ５２２において、評価値比較部５６は、ステップＳ５２１で求められた評価値DFD_zrを最小評価値minDFDとして最適候補格納用レジスタ５７に記憶させる。
【０５０１】
ステップＳ５２３において、評価値演算部５５は、着目ブロックについて、０ベクトルを用いて式（１３）から偏差DFD（ｖDFD_zr）を算出する。求められた偏差DFD（ｖDFD_zr）も評価値比較部５６に出力される。
【０５０２】
ステップＳ５２４において、評価値比較部５６は、０ベクトルを初期候補ベクトルとして最適候補格納用レジスタ５７に記憶させる。
【０５０３】
ステップＳ５２５において、評価値演算部５５は、周辺画素のうちの１つの画素を選択する。
【０５０４】
評価値演算部５５は、ステップＳ５２６において、ステップＳ５２５で選択した周辺画素に動きベクトルが存在するか否かを判定する。
【０５０５】
ステップＳ５２６において、評価値演算部５５は、周辺画素に動きベクトルが存在すると判定した場合、ステップＳ５２７に進み、その周辺画素の動きベクトルを取得する。例えば、検出ベクトル取得部５２により検出ベクトルメモリ１３から読み出された周辺画素の動きベクトルは、オフセット位置演算部５４を介して評価値演算部５５に出力される。
【０５０６】
ステップＳ５２８において、評価値演算部５５は、ステップＳ５２７で取得した動きベクトルを用いて式（１３）から偏差DFD（ｖDFD_tmp）を算出する。求められた偏差DFD（ｖDFD_tmp）は評価値比較部５６に出力される。
【０５０７】
評価値比較部５６は、ステップＳ５２９において、評価値演算部５５から供給されてきた偏差DFD（ｖDFD_tmp）が、最適候補格納用レジスタ５７に記憶されている、ステップＳ５２３において求められた偏差DFD（ｖDFD_zr）に所定のパラメータである値TH_cmpを加算したものより小さいか否かを判定する。
【０５０８】
ステップＳ５２９において、評価値演算部５５は、偏差DFD（ｖDFD_tmp）が、着目画素の最小評価値minDFDに値TH_cmpを加算したものより小さいと判定した場合、ステップＳ５３０に進み、ステップＳ５２７で取得された動きベクトルを用いて式（１）から評価値DFD_tmpを算出する。求められた評価値DFD_tmpは評価値比較部５６に出力される。
【０５０９】
ステップＳ５３１において、評価値比較部５６は、ステップＳ５３０で算出された評価値DFD_tmpが、最適候補格納用レジスタ５７に記憶されている最小評価値minDFDより小さいか否かを判定する。
【０５１０】
評価値比較部５６は、ステップＳ５３１において、評価値DFD_tmpが最小評価値minDFDより小さいと判定した場合、ステップＳ５３２に進み、最適候補格納用レジスタ５７に記憶されている最小評価値minDFDを、動きベクトルを用いて求められた評価値DFD_tmpに書き換える。
【０５１１】
また、評価値比較部５６は、ステップＳ５３３において、最適候補格納用レジスタ５７に記憶されている初期候補ベクトルを、ステップＳ５２７で取得された動きベクトルに書き換え、ステップＳ５３４に進む。
【０５１２】
一方、ステップＳ５２６において、周辺画素に動きベクトルがないと判定した場合、評価値演算部５５は、ステップＳ５２７乃至Ｓ５３３の処理をスキップし、ステップＳ５３４に進む。
【０５１３】
また、ステップＳ５３１において、評価値比較部５６は、評価値DFD_tmpが、最適候補格納用レジスタ５７に記憶されている最小評価値minDFD以上であると判定した場合、ステップＳ５３２，Ｓ５３３の処理をスキップし、ステップＳ５３４に進む。
【０５１４】
ステップＳ５３４において、評価値演算部５５は、全ての候補ベクトルの処理を終了したか否かを判定し、すべての処理が終了していないと判定した場合、ステップＳ５２５に戻り、それ以降の処理を繰り返し実行する。
【０５１５】
また、ステップＳ５２９において、評価値演算部５５は、偏差DFD（ｖDFD_tmp）が、偏差DFD（ｖDFD_zr）に値TH_cmpを加算したもの以上であると判定した場合も同様に、ステップＳ５２５に戻り、それ以降の処理を繰り返す。
【０５１６】
評価値演算部５５は、ステップＳ５３４において、すべての候補ベクトルの処理が終了したと判定した場合、ステップＳ５３５に進み、最適候補格納用レジスタ５７に記憶されている初期候補ベクトルを初期ベクトルV0として確定し、出力させる。その後、図２１のステップＳ２２に戻り、それ以降の処理が行われる。
【０５１７】
以上のように、偏差DFDを用いた動きベクトルの評価は、動きベクトルの割付補償のとき以外にも採用することができる。
【０５１８】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０５１９】
図５５は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
【０５２０】
CPU(Central Processing Unit)２０１は、ROM(Read Only Memory)２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。CPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０５２１】
CPU２０１にはまた、バス２０４を介して入出力インターフェース２０５が接続されている。入出力インターフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。CPU２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、CPU２０１は、処理の結果を出力部２０７に出力する。
【０５２２】
入出力インターフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０５２３】
また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶してもよい。
【０５２４】
入出力インターフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０５２５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図５５に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に格納されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０５２６】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０５２７】
【図１】信号処理装置の構成例を示すブロック図である。
【図２】フレームの内挿の例を示す図である。
【図３】信号処理装置において行われる一連の処理を説明する図である。
【図４】動きベクトルの評価値を説明する図である。
【図５】信号処理装置のフレーム周波数変換処理について説明するフローチャートである。
【図６】図１のベクトル検出部の構成例を示すブロック図である。
【図７】図６の初期ベクトル選択部の構成例を示すブロック図である。
【図８】周辺領域の例を示す図である。
【図９】初期ベクトルの候補ブロックの例を示す図である。
【図１０】図６の反復勾配法演算部の構成例を示すブロック図である。
【図１１】勾配について説明する図である。
【図１２】初期ベクトルを用いて行われる反復勾配法演算について説明する図である。
【図１３】図１０の有効画素判断部な構成例を示すブロック図である。
【図１４】動きベクトルの検出ブロックの例を示す図である。
【図１５】検出ブロックに含まれる画素の動きの例を示す図である。
【図１６】演算ブロックの例を示す図である。
【図１７】図１０の勾配法演算部の構成例を示すブロック図である。
【図１８】図６のシフト初期ベクトル割付部の構成例を示すブロック図である。
【図１９】シフト初期ベクトルについて説明する図である。
【図２０】シフト初期ベクトルの割り付けの例を示す図である。
【図２１】ベクトル検出部の動きベクトル検出処理について説明するフローチャートである。
【図２２】図２１のステップＳ２２において行われる初期ベクトル選択処理について説明するフローチャートである。
【図２３】図２１のステップＳ２３において行われる反復勾配法演算評価処理について説明するフローチャートである。
【図２４】図２３のステップＳ５３において行われる有効画素判定処理について説明するフローチャートである。
【図２５】図２３のステップＳ５５において行われるブロック単位の勾配法演算処理について説明するフローチャートである。
【図２６】図２３のステップＳ６５において行われる画素単位の反復勾配法演算処理について説明するフローチャートである。
【図２７】図２１のステップＳ２４において行われるシフト初期ベクトル割り付け処理について説明するフローチャートである。
【図２８】図１のベクトル割付部の構成例を示すブロック図である。
【図２９】内挿フレームの画素の例を示す図である。
【図３０】動きベクトルの評価について説明する図である。
【図３１】４点補間処理の概念を示す図である。
【図３２】ベクトル割付部により行われるベクトル割付処理について説明するフローチャートである。
【図３３】図３２のステップＳ２０５において行われる画素位置演算処理について説明するフローチャートである。
【図３４】図３２のステップＳ２０７において行われる割付ベクトル評価処理について説明するフローチャートである。
【図３５】図１の割付補償部の構成例を示すブロック図である。
【図３６】図３５のベクトル補償部の構成例を示すブロック図である。
【図３７】動きベクトルの割付補償について説明する図である。
【図３８】割り付けられた動きベクトルの例を示す図である。
【図３９】割付補償処理が進められる順序の例を示す図である。
【図４０】動きベクトルの割り付けの例を示す図である。
【図４１】動きベクトルの割り付けの例を示す他の図である。
【図４２】動きベクトルの検出と、それにより検出された動きベクトルの例を示す図である。
【図４３】動きベクトルの補償と、それにより補償された動きベクトルの例を示す図である。
【図４４】動きベクトルの収束と伝搬について示す図である。
【図４５】０ベクトルの評価値DFDを求める例を示す図である。
【図４６】動きベクトルVK1の評価値DFDを求める例を示す図である。
【図４７】動きベクトルVK2の評価値DFDを求める例を示す図である。
【図４８】割付補償部の割付補償処理について説明するフローチャートである。
【図４９】図４８のステップＳ３０３において行われるベクトル補償処理について説明するフローチャートである。
【図５０】ブロック単位の割付補償処理について説明するフローチャートである。
【図５１】図１の画像補間部の構成例を示すブロック図である。
【図５２】画像補間部の補間処理について説明するフローチャートである。
【図５３】偏差DFDを用いて行われる動きベクトルの割付補償処理について説明するフローチャートである。
【図５４】偏差DFDを用いて行われる初期ベクトル選択処理について説明するフローチャートである。
【図５５】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０５２８】
１  信号処理装置，  １１  フレームメモリ，  １２  ベクトル検出部，  １３  検出ベクトルメモリ，  １４  ベクトル割付部，  １５  割付ベクトルメモリ，  １６  割付フラグメモリ，  １７  割付補償部，  １８  画像補間部
【図１】
0004655216.tif 000016
【図２】
0004655216.tif 000017
【図３】
0004655216.tif 000018
【図４】
0004655216.tif 000019
【図５】
0004655216.tif 000020
【図６】
0004655216.tif 000021
【図７】
0004655216.tif 000022
【図８】
0004655216.tif 000023
【図９】
0004655216.tif 000024
【図１０】
0004655216.tif 000025
【図１１】
0004655216.tif 000026
【図１２】
0004655216.tif 000027
【図１３】
0004655216.tif 000028
【図１４】
0004655216.tif 000029
【図１５】
0004655216.tif 000030
【図１６】
0004655216.tif 000031
【図１７】
0004655216.tif 000032
【図１８】
0004655216.tif 000033
【図１９】
0004655216.tif 000034
【図２０】
0004655216.tif 000035
【図２１】
0004655216.tif 000036
【図２２】
0004655216.tif 000037
【図２３】
0004655216.tif 000038
【図２４】
0004655216.tif 000039
【図２５】
0004655216.tif 000040
【図２６】
0004655216.tif 000041
【図２７】
0004655216.tif 000042
【図２８】
0004655216.tif 000043
【図２９】
0004655216.tif 000044
【図３０】
0004655216.tif 000045
【図３１】
0004655216.tif 000046
【図３２】
0004655216.tif 000047
【図３３】
0004655216.tif 000048
【図３４】
0004655216.tif 000049
【図３５】
0004655216.tif 000050
【図３６】
0004655216.tif 000051
【図３７】
0004655216.tif 000052
【図３８】
0004655216.tif 000053
【図３９】
0004655216.tif 000054
【図４０】
0004655216.tif 000055
【図４１】
0004655216.tif 000056
【図４２】
0004655216.tif 000057
【図４３】
0004655216.tif 000058
【図４４】
0004655216.tif 000059
【図４５】
0004655216.tif 000060
【図４６】
0004655216.tif 000061
【図４７】
0004655216.tif 000062
【図４８】
0004655216.tif 000063
【図４９】
0004655216.tif 000064
【図５０】
0004655216.tif 000065
【図５１】
0004655216.tif 000066
【図５２】
0004655216.tif 000067
【図５３】
0004655216.tif 000068
【図５４】
0004655216.tif 000069
【図５５】
0004655216.tif 000070