(57)【要約】【課題】画像のカバード・アンカバード問題に起因する劣化部分を精度良く検出できるようにすると共に、動き領域境界で発生する劣化を低減できるようにする。【解決手段】ベクトルメモリ３に保存された動きベクトルの第１評価値と、シフト初期ベクトルを用いて求めた注目画素に係る第２評価値との大小に基づいてカバード領域の判定を行うと共に一方の評価値を選択する。さらに、注目画素に係る動きベクトルの評価値と選択された一方の評価値を比較して最良の評価値を決定してベクトルメモリ３に保存する。ベクトルメモリ３に保存された動きベクトルを内挿フレームの画素に割り付け、動きベクトルが割り付けられなかった画素に割付補償を行う。割付補償された補償ベクトルの評価値と割付動きベクトルの評価値との大小に基づいてアンカバード領域の判定を行う。このように動きベクトルの評価値を更新して最適な値に遷移させる。【選択図】図１
2010087611.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトル及び前記動きベクトルの第１評価値を保存する第１ベクトルメモリと、
前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、該シフト初期ベクトルを用いて注目画素に係る第２評価値を求めて前記第１評価値と前記第２評価値との大小に基づいて、前景により背景が覆い隠されるカバード領域の判定を行って第１判定フラグを生成すると共に一方の評価値を選択し、さらに、第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、該検出した動きベクトルの評価値と前記選択された一方の評価値を比較して最良の評価値を決定すると共に該最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するベクトル検出部と、
前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行い、前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値との大小に基づいて、前景により覆い隠されていた背景が出現するアンカバード領域の判定を行って第２判定フラグを生成するベクトル割付補償部と、
前記ベクトル割付補償部により割り付けた動きベクトル、前記第１及び第２判定フラグを保存する第２ベクトルメモリと、
前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間する補間部とを備える画像処理装置。
【請求項２】
前記ベクトル検出部は、
動きベクトルの両端の画素とその周囲の所定画素からなる領域について求めた差分絶対値和を前記評価値として用い、
前記動きベクトルの第１評価値と前記シフト初期ベクトルの第２評価値を比較し、前記動きベクトルの第１評価値が前記シフト初期ベクトルの第２評価値よりも小さい場合、カバード領域と判定し、
前記動きベクトルの第１評価値が前記シフト初期ベクトルの第２評価値よりも大きい場合、カバード領域でないと判定して前記第１ベクトルメモリに保存された評価値を、今回求めたシフト初期ベクトルの第２評価値に更新する請求項１に記載の画像処理装置。
【請求項３】
前記ベクトル割付補償部は、
前記割り付けられた動きベクトルの評価値と前記割付補償された動きベクトルの評価値を比較し、前記割り付けられた動きベクトルの評価値が前記割付補償された動きベクトルの評価値よりも小さい場合、アンカバード領域と判定し、
前記割り付けられた動きベクトルの評価値が前記割付補償された動きベクトルの評価値よりも大きい場合、アンカバード領域でないと判定する請求項２に記載の画像処理装置。
【請求項４】
前記補間部は、
前記内挿フレームの各画素に割り付けられた動きベクトルと前記第１又は第２判定フラグを前記第２ベクトルメモリから取得し、
前記内挿フレームの画素の判定フラグがカバード領域及びアンカバード領域を示さない場合、過去及び未来の２フレームを用いて補間し、
前記内挿フレームの画素の判定フラグがアンカバード領域を示す場合、未来の１フレームを用いて補間し、
前記内挿フレームの画素の判定フラグがカバード領域を示す場合、過去の１フレームを用いて補間する請求項３に記載の画像処理装置。
【請求項５】
前記ベクトル割付補償部は、
前記第１ベクトルメモリに保存された動きベクトルを、内挿フレーム上の同じ位置の画素に対して時間方向に移動して割り付け、
前記第１ベクトルメモリに保存された動きベクトルの評価値と前記時間方向に移動して割り付けた動きベクトルの評価値を比較し、
前記保存された動きベクトルの評価値が、前記割り付けた動きベクトルの評価値よりも小さい場合、アンカバード領域と判定し、
前記保存された動きベクトルの評価値が、前記割り付けた動きベクトルの評価値よりも大きい場合、アンカバード領域でないと判定する請求項２に記載の画像処理装置。
【請求項６】
動きベクトル及び前記動きベクトルの第１評価値を第１ベクトルメモリに保存するステップと、
前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、前記シフト初期ベクトルを用いて注目画素に係る第２評価値を求めるステップと、
求めた前記シフト初期ベクトルの第２評価値と前記第１ベクトルメモリに保存された動きベクトルの第１評価値とを比較してカバード領域か否かを判定するステップと、
前記カバード領域と判定した場合には第１判定フラグを生成し、前記カバード領域と判定しなかった場合には第１ベクトルメモリに保存された評価値を、今回求めたシフト初期ベクトルの第２評価値に更新するステップと、
第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、検出した前記動きベクトルの評価値と前記第１ベクトルメモリに保存された評価値を比較して最良の評価値を決定するステップと、
決定された前記最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するステップと、
前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行うステップと、
前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値とを比較してアンカバード領域か否かを判定するステップと、
前記アンカバード領域と判定した場合には第２判定フラグを生成するステップと、
前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間するステップとを有する画像処理方法。
【請求項７】
動きベクトル及び前記動きベクトルの第１評価値を第１ベクトルメモリに保存するステップと、
前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、前記シフト初期ベクトルを用いて注目画素に係る第２評価値を求めるステップと、
求めた前記シフト初期ベクトルの第２評価値と前記第１ベクトルメモリに保存された動きベクトルの第１評価値とを比較してカバード領域か否かを判定するステップと、
前記カバード領域と判定した場合には第１判定フラグを生成し、前記カバード領域と判定しなかった場合には第１ベクトルメモリに保存された評価値を、今回求めたシフト初期ベクトルの第２評価値に更新するステップと、
第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、検出した前記動きベクトルの評価値と前記第１ベクトルメモリに保存された評価値を比較して最良の評価値を決定するステップと、
決定された前記最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するステップと、
前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行うステップと、
前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値とを比較してアンカバード領域か否かを判定するステップと、
前記アンカバード領域と判定した場合には第２判定フラグを生成するステップと、
前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間するステップとを有する画像処理方法をコンピュータに実行させるためのプログラム。
【請求項８】
動きベクトル及び前記動きベクトルの第１評価値を第１ベクトルメモリに保存するステップと、
前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、前記シフト初期ベクトルを用いて注目画素に係る第２評価値を求めるステップと、
求めた前記シフト初期ベクトルの第２評価値と前記第１ベクトルメモリに保存された動きベクトルの第１評価値とを比較してカバード領域か否かを判定するステップと、
前記カバード領域と判定した場合には第１判定フラグを生成し、前記カバード領域と判定しなかった場合には第１ベクトルメモリに保存された評価値を、今回求めたシフト初期ベクトルの第２評価値に更新するステップと、
第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、検出した前記動きベクトルの評価値と前記第１ベクトルメモリに保存された評価値を比較して最良の評価値を決定するステップと、
決定された前記最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するステップと、
前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行うステップと、
前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値とを比較してアンカバード領域か否かを判定するステップと、
前記アンカバード領域と判定した場合には第２判定フラグを生成するステップと、
前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間するステップとを有する画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のフレームレート変換処理や動画像圧縮処理を行う際に適用して好適な画像処理装置、画像処理方法、その方法を実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。詳しくは、動きベクトルの評価値を最適な値に遷移させることにより、カバード・アンカバード問題に起因する劣化部分を精度良く検出できるようにすると共に、動き領域境界で発生する劣化を低減できるようにしたものである。
【背景技術】
【０００２】
動画像のフレームレート変換処理や動画像圧縮処理を行う画像処理装置においては、動画像上で動き検出処理を行い、検出された動きベクトルを用いて処理を行うことが多い。この動き検出処理において、一般的に用いられる方法として、ブロックマッチングや勾配法などがある。
【０００３】
フレームレート変換処理における課題の一つに、前景（動き物体）と背景で構成される物体境界部分で発生する処理画像の劣化（または破綻）が挙げられる。この劣化は、背景が前景により隠されるカバード（Covered : C）領域と、背景が前景から出現するアンカバード（Uncovered : UC）領域の２種類の現象に起因する。２フレーム間で対応する画素が存在しないので、どちらの現象においても２フレーム間で動きベクトルを検出することが困難である。
【０００４】
例えば、図１５Ａは、カバード領域の一例を示す概略図である。図１５Ａに示すフレームｔは、前景（動き物体）Ｑ１が矢印Ｍ１の方向に移動し、背景Ｑ２は矢印Ｍ２の方向に移動している。この場合、カバード領域Ｗ１は、背景Ｑ２の一部が前景Ｑ１に覆われて隠れて消失することにより生じる。このため、カバード領域Ｗ１では、フレームｔと次のフレームｔ＋１の同一の位置において構成する画素が、フレームｔでは背景Ｑ２となりフレームｔ＋１では前景Ｑ１となるので正しい動きベクトルを求めることが困難となる現象が生じる。
【０００５】
図１５Ｂは、アンカバード領域の一例を示す概略図である。図１５Ｂに示すフレームｔ＋１は、前景（動き物体）Ｑ１が矢印Ｍ１の方向に移動し、背景Ｑ２は矢印Ｍ２の方向に移動している。この場合、アンカバード領域Ｗ２は、前景Ｑ１に覆われて隠れていた背景Ｑ２の一部が出現することにより生じる。このため、アンカバード領域Ｗ２では、フレームｔ＋１とフレームｔの同一の位置において構成する画素が、フレームｔ＋１では背景Ｑ２となりフレームｔでは前景Ｑ１となるので正しい動きベクトルを求めることが困難となる現象が生じる。
【０００６】
図１６は、カバード領域及びアンカバード領域の一例を示す模式図である。図１６に示すフレームｔは、前景（動き物体）Ｑ１が移動して背景Ｑ２の一部が前景Ｑ１に覆われて隠れて消失し、３つの画素から成るカバード領域Ｗ１が生じている。これに伴い、内挿フレーム上にも２つの画素から成るカバード領域Ｗ１ａが生じている。このため、内挿フレームのカバード領域Ｗ１ａの画素には、誤ったベクトルが割り付けられて処理画像が劣化する可能性がある。
【０００７】
また、図１６に示すフレームｔ＋１は、前景（動き物体）Ｑ１が移動して背景Ｑ２の一部が出現し、３つの画素から成るアンカバード領域Ｗ２が生じている。これに伴い、内挿フレーム上にも２つの画素から成るアンカバード領域Ｗ２ａが生じている。このため、内挿フレームのアンカバード領域Ｗ２ａの画素には、誤ったベクトルが割り付けられて処理画像が劣化する可能性がある。
【０００８】
カバード・アンカバード（C/UC）領域による劣化の問題は、劣化領域の検出方法や劣化改善策について、これまでに様々な対策検討がされている。例えば、閾値を用いる劣化箇所の判定は、例えば特許文献１，２に示されているような、ベクトル由来の特徴量と予め定められた閾値との比較による方法が挙げられる。ここでの劣化箇所の判定は、カバード・アンカバード問題に特化した判定方法ではないが、このような固定閾値による劣化検出方法では、パターンが無数に存在する入力画像の絵柄に対して十分に対応できるものではない。故に、多様な入力画像のパターンにより柔軟に対応するための劣化部分検出方法が必要になる。
【０００９】
【特許文献１】特開２００７−７４５８８号公報
【特許文献２】特開２００７−７４５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、多フレームを用いてカバード・アンカバード領域を検出する方法が考えられる。例えば、フレームｔ，ｔ＋１で求めた全画面動きベクトルをフレームｔ−１，ｔ，ｔ＋１，ｔ＋２の４フレーム間に時間方向に延長することでカバード・アンカバード領域におけるベクトル評価を行う。評価値は差分絶対値和を使用し、評価値が最小となるものを選択する。
【００１１】
この例で、カバード・アンカバード領域か否かを評価する際に、フレームｔ−１とフレームｔの間での過去の評価値Ｅ１と、フレームｔとフレームｔ＋１間での現在の評価値Ｅ２と、フレームｔ＋１とフレームｔ＋２の間での未来の評価値Ｅ３とをそれぞれ求める。これらの評価値Ｅ１〜Ｅ３のうち、評価値Ｅ１の評価が最も良かったときはカバード領域と判定する。また、評価値Ｅ２の評価が最も良かったときは、カバード領域でもアンカバード領域でもない領域（ベクトル両端の画素の対応がとれる領域）と判定する。また、評価値Ｅ３の評価が良かったときはアンカバード領域と判定する。
【００１２】
この方法は、カバード領域とアンカバード領域の効率良い表現が可能な良法といえるが、従来のフレームレート変換処理のフレームメモリが２個であるのに対し、フレームメモリが４個に増える問題がある。また、カバード・アンカバード領域の推定用に全画面動きベクトルを求める必要がある。さらに全画面動きベクトルを用いて過去、現在、未来の評価値Ｅ１〜Ｅ３を求めて３つの評価値を比較する必要がある。このため、メモリ領域の増大や演算負荷の増大を招く問題がある。
【００１３】
そこで、本発明はこのような課題を解決したものであって、カバード・アンカバード領域を検出する負荷を減少できるようにする共にカバード・アンカバード領域を精度良く検出できるようにした画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決するために本発明に係る画像処理装置は、動きベクトル及び前記動きベクトルの第１評価値を保存する第１ベクトルメモリと、前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、該シフト初期ベクトルを用いて注目画素に係る第２評価値を求めて前記第１評価値と前記第２評価値との大小に基づいて、前景により背景が覆い隠されるカバード領域の判定を行って第１判定フラグを生成すると共に一方の評価値を選択し、さらに、第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、該検出した動きベクトルの評価値と前記選択された一方の評価値を比較して最良の評価値を決定すると共に該最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するベクトル検出部と、前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行い、前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値との大小に基づいて、前景により覆い隠されていた背景が出現するアンカバード領域の判定を行って第２判定フラグを生成するベクトル割付補償部と、前記ベクトル割付補償部により割り付けた動きベクトル、前記第１及び第２判定フラグを保存する第２ベクトルメモリと、前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間する補間部とを備えるものである。
【００１５】
また、上述した課題を解決するために本発明に係る画像処理方法は、動きベクトル及び前記動きベクトルの第１評価値を第１ベクトルメモリに保存するステップと、前記第１ベクトルメモリに保存された動きベクトルをシフト初期ベクトルとして入力し、前記シフト初期ベクトルを用いて注目画素に係る第２評価値を求めるステップと、求めた前記シフト初期ベクトルの第２評価値と前記第１ベクトルメモリに保存された動きベクトルの第１評価値とを比較してカバード領域か否かを判定するステップと、前記カバード領域と判定した場合には第１判定フラグを生成し、前記カバード領域と判定しなかった場合には第１ベクトルメモリに保存された評価値を、今回求めたシフト初期ベクトルの第２評価値に更新するステップと、第１フレームと第２フレームを用いて前記注目画素に係る動きベクトルを検出し、検出した前記動きベクトルの評価値と前記第１ベクトルメモリに保存された評価値を比較して最良の評価値を決定するステップと、決定された前記最良の評価値及び該最良の評価値を求めた動きベクトルを前記第１ベクトルメモリに保存するステップと、前記第１フレームと前記第２フレームの間に生成する内挿フレームの画素に、前記第１ベクトルメモリに保存された動きベクトルを割り付け、前記動きベクトルが割り付けられなかった画素に割付補償を行うステップと、前記割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値とを比較してアンカバード領域か否かを判定するステップと、前記アンカバード領域と判定した場合には第２判定フラグを生成するステップと、前記第２ベクトルメモリに保存された動きベクトル、その第１又は第２判定フラグ並びに前記第１及び第２フレームから前記内挿フレームの画素を補間するステップとを有するものである。
【００１６】
また、本発明に係るプログラムは、上述の画像処理方法をコンピュータに実行させるためのものである。また、本発明に係るコンピュータ読み取り可能な記録媒体は、上述のプログラムを記録したものである。
【００１７】
本発明によれば、ベクトル検出部は、第１ベクトルメモリに保存された動きベクトルの第１評価値とシフト初期ベクトルの第２評価値との大小に基づいてカバード領域の判定を行う。この判定結果に基づいて一方の評価値を選択する。さらに、ベクトル検出部は、選択した一方の評価値と、検出した注目画素に係る動きベクトルの評価値とを比較して最良の評価値を決定する。そして、この最良の評価値及び該最良の評価値を求めた動きベクトルを第１ベクトルメモリに保存する。ベクトル割付補償部は、第１フレームと第２フレームの間に生成する内挿フレームの画素に、第１ベクトルメモリに保存された動きベクトルを割り付け、この動きベクトルが割り付けられなかった画素に割付補償を行う。そして、ベクトル割付補償部は、割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値との大小に基づいてアンカバード領域の判定を行う。第２ベクトルメモリには、このベクトル割付補償部により割り付けた動きベクトル、その評価値及び第１及び第２判定フラグが保存されている。
【発明の効果】
【００１８】
本発明によれば、動きベクトルの評価値を更新して最適な値に遷移させるので、カバード・アンカバード問題に起因する劣化部分を精度良く検出できる。これにより、動き領域境界で発生する劣化を精度良く検出することができ、検出部分に適切な劣化対策を施すことで劣化が低減された綺麗な映像を作り出すことができる。
【発明を実施するための最良の形態】
【００１９】
続いて図面を参照しながら、発明を実施するための最良の形態について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（動き割付によるカバード・アンカバード領域の検出処理）
２．第２の実施の形態（動き移動によるアンカバード領域の検出処理）
＜第１の実施の形態＞
[カバード・アンカバード領域の検出処理]
【００２０】
図１は、本発明に係る第１の実施の形態としての画像処理装置１００の構成例を示すブロック図である。図１に示す画像処理装置１００はフレームレート変換において、入力画像信号から求められた動きベクトルに基づいてカバード・アンカバード領域を判定して処理画像の劣化を防止するものである。
【００２１】
動きベクトルを求める際に得られる評価値には、例えば動き補償（ＭＣ：Motion Compensation）差分絶対値和（ＤＦＤ：Displaced Frame Difference）と呼ばれるものがある（以下評価値ＤＦＤという）。通常、このような評価値ＤＦＤは動きベクトル検出処理の演算過程でのみ意味をなすものであることから、わざわざ保存されることは無い値である。
【００２２】
本発明では、この動きベクトルの評価値ＤＦＤの遷移が劣化検出に有効であるということに着目し、動きベクトル各々が求められたときの評価値ＤＦＤを、対応する動きベクトルに付加情報として持たせる。また、フレームレート変換処理の過程で、求めた動きベクトルを再評価する際に、再評価時に得られた評価値ＤＦＤと、過去に求めて付加情報として保持しておいた評価値ＤＦＤとを比較する。比較後、再評価時のベクトルがフレームレート変換の処理画像に対して劣化をもたらす可能性が高いか否かを判定し、また判定結果に応じては評価値ＤＦＤを更新する。
【００２３】
本発明は、動きベクトルを求める一連の過程において動きベクトルの評価値ＤＦＤをベクトルの状態と意味付けて保持（更新）し、動きベクトル自身が過去に評価された値と現在評価された値とを比較し評価し続ける。これにより、動きベクトル自身の現在の確からしさを推し量ることができるので、誤ったベクトル及びカバード・アンカバード領域の劣化の検出が実現されることになる。
【００２４】
なお、ベクトルの付加情報とする評価値の種類は必要に応じて複数であってもよい。さらに、劣化検出及び劣化原因となるベクトルを特定するための精度を向上させる目的で、適宜別の画像特徴量を使用してもよい。
【００２５】
なお、フレーム（プログレッシブ信号）とフィールド（インターレース信号）のいずれについても劣化部分検出方法の基本概念は同様のため、この例ではフレームを用いる。例えばフレーム周波数２４Ｈｚのプログレッシブ画像信号（以下、２４Ｐ信号という）の画像が入力され、入力された画像が、フレーム周波数６０Ｈｚのプログレッシブ画像信号（以下、６０Ｐ信号という）の画像に変換されて出力される。
【００２６】
図１に示す画像処理装置１００は、フレームメモリ１、ベクトル検出部２、ベクトルメモリ３、ベクトル割付補償部４、ベクトルメモリ５、補間部６、入力端子７及び出力端子８を備えている。
【００２７】
入力端子７に入力された２４Ｐ信号の入力画像は、フレームメモリ１、ベクトル検出部２、ベクトル割付補償部４及び補間部６に供給される。フレームメモリ１は、入力画像をフレーム単位で記憶する。例えばフレームメモリ１は、時刻ｔ＋１の入力画像の１つ前の時刻ｔのフレームを記憶する。フレームメモリ１に記憶される時刻ｔのフレームは、ベクトル検出部２、ベクトル割付補償部４及び補間部６に供給される。なお、以下、フレームメモリ１に保存された時刻ｔのフレームをフレームｔと称し、時刻ｔ＋１の入力画像のフレームをフレームｔ＋１と称する。
【００２８】
ベクトル検出部２は、ベクトルメモリ３に保存された過去の動きベクトルをシフト初期ベクトルとして入力する。このシフト初期ベクトルは、過去のフレーム間で求めた過去の動きベクトルを再利用したベクトルである。また、ベクトル検出部２は、この過去の動きベクトルの評価値をベクトルメモリ３から入力する。この過去の動きベクトルの評価値は、動きベクトルを検出して選択する際に用いる画像特徴量の一つである。例えば、この評価値は、ベクトル両端の画素とその周囲の所定画素からなる領域についてのフレーム間差分値により求められる。なお、評価値の算出方法は、目的や用途によっては、また別の画像特徴量が用いられてもよい。
【００２９】
ベクトル検出部２はシフト初期ベクトルの評価値ＤＦＤを求め、このシフト初期ベクトルの評価値ＤＦＤと過去の動きベクトルの評価値ＤＦＤを比較する。比較後、ベクトル検出部２は、過去の動きベクトルの評価値ＤＦＤがシフト初期ベクトルの評価値ＤＦＤよりも小さい場合、カバード領域と判定し、その判定フラグをベクトルメモリ３に出力する。また、ベクトル検出部２は、過去の動きベクトルの評価値ＤＦＤがシフト初期ベクトルの評価値ＤＦＤよりも大きい場合、カバード領域でないと判定し、ベクトルメモリ３に保存された評価値ＤＦＤを、今回求めたシフト初期ベクトルの評価値ＤＦＤに更新する。
【００３０】
一方で、ベクトル検出部２は、フレームメモリ１に保存されたフレームｔの探索範囲における複数の参照ブロックと、入力画像のフレームｔ＋１の注目ブロックの間で動きベクトルを検出する。この２フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などを用いる。
【００３１】
なお、動きベクトルの求め方は、過去側から未来側のフレームに向かって求める方法でも、未来側から過去側のフレームに向かって求める方法でも、その両方を含む方法でも、本発明による劣化部分の検出が適用できるのであればよい。この例では、過去側のフレームｔ＋１から未来側のフレームｔに向かって動きベクトルを求める方法を例に説明する。
【００３２】
ベクトル検出部２は、検出した動きベクトルに基づいて上述した差分絶対値和により該動きベクトルの評価値ＤＦＤを求める。ベクトル検出部２は、検出した動きベクトルの評価値ＤＦＤと、シフト初期ベクトルに基づいて求めた評価値ＤＦＤとを比較する。比較後、ベクトル検出部２は、小さい方の評価値ＤＦＤと該評価値ＤＦＤの動きベクトルをベクトルメモリ３に出力する。ベクトルメモリ３は、ベクトル検出部２から出力された動きベクトル、評価値ＤＦＤ及びカバード判定フラグを保存する。なお、カバード判定フラグは、第１判定フラグの一例である。
【００３３】
ベクトル割付補償部４は、２４Ｐ信号のフレームｔ上において求められた動きベクトルを、補間する６０Ｐ信号の内挿フレーム（生成フレーム又は補間フレーム）上の画素に割付ベクトルとして割り付ける。ベクトル割付補償部４は、この割付ベクトルが割り付けられなかった画素に対して、近傍の割付ベクトルの中から最適なベクトルを補償ベクトルとして割り付ける。ベクトル割付補償部４は、図６で詳述するように、割付ベクトルに基づいて求めた評価値ＤＦＤと補償ベクトルに基づいて求めた評価値ＤＦＤの大小に基づいてアンカバード領域の判定を行い、その判定フラグをベクトルメモリ５に出力する。
【００３４】
例えば、ベクトル割付補償部４は、割付ベクトルの評価値ＤＦＤと補償ベクトルの評価値ＤＦＤを比較し、割付ベクトルの評価値ＤＦＤが補償ベクトルの評価値ＤＦＤよりも小さい場合、アンカバード領域と判定する。また、ベクトル割付補償部４は、割付ベクトルの評価値ＤＦＤが補償ベクトルの評価値ＤＦＤよりも大きい場合、アンカバード領域でないと判定し、ベクトルメモリ５に保存された評価値ＤＦＤを、今回求めた補償ベクトルの評価値ＤＦＤに更新する。
【００３５】
ベクトルメモリ５は、ベクトル割付補償部４から出力された割付ベクトル及びカバード・アンカバード（Ｃ／ＵＣ）判定フラグを保存する。例えば、ベクトルメモリ５は、内挿フレームの各画素に割付ベクトルとカバード・アンカバード判定フラグを対応させて記憶する。
【００３６】
補間部６は、ベクトルメモリ５の内挿フレームに割り付けられた割付ベクトル、その判定フラグ並びにフレームｔ及び次のフレームｔ＋１から、内挿フレームの画素を補間する。そして、補間部６は、生成された内挿フレームを出力端子８に出力して６０Ｐ信号の画像を出力する。なお、補間部６の動作例の詳細は図７を参照して後述する。
【００３７】
続いて、図１に示したベクトル検出部２の動作例について説明する。図２は、ベクトル検出部２の動作例を示す概念図である。図２には、時系列にフレームｔ−１、ｔ、ｔ＋１を示している。この例で、過去のフレームｔ−１の画素Ｐ１には、動きベクトルＶ１が検出されている。この動きベクトルＶ１はベクトルメモリ３に保存されている。ベクトル検出部２は、図２に示すように現在のフレームｔの画素Ｐ２に対して、過去の動きベクトルＶ１を移動してシフト初期ベクトルＶ２とする。このシフト初期ベクトルＶ２の向きと大きさは、過去の動きベクトルＶ１と同一である。
【００３８】
ベクトル検出部２は、このシフト初期ベクトルＶ２の評価値ＤＦＤを求める。例えば、ベクトル検出部２は、シフト初期ベクトルＶ２の両端の画素Ｐ２，Ｐ３と、その周囲のある範囲の画素からなる領域についてのＭＣ差分絶対値和を求めてシフト初期ベクトルＶ２の評価値ＤＦＤとする。
【００３９】
ベクトル検出部２は、このシフト初期ベクトルＶ２の評価値ＤＦＤと、ベクトルメモリ３から入力した過去の動きベクトルＶ１の評価値ＤＦＤを比較する。比較後、ベクトル検出部２は、過去の動きベクトルＶ１の評価値ＤＦＤがシフト初期ベクトルＶ２の評価値ＤＦＤよりも小さい場合、カバード領域と判定し、その判定フラグをベクトルメモリ３に出力する。また、ベクトル検出部２は、過去の動きベクトルＶ１の評価値ＤＦＤがシフト初期ベクトルＶ２の評価値ＤＦＤよりも大きい場合にカバード領域でないと判定する。そして、カバード領域でない場合、ベクトルメモリ３から入力した評価値ＤＦＤを、今回求めたシフト初期ベクトルＶ２の評価値ＤＦＤに更新する。
【００４０】
一方で、ベクトル検出部２は、ブロックマッチング法などを用いて、フレームｔの探索範囲における複数の参照ブロックと、フレームｔ＋１の注目ブロックの間で動きベクトルＶ３を検出する。
【００４１】
ベクトル検出部２は、検出した動きベクトルＶ３に基づいて上述した差分絶対値和により評価値ＤＦＤを求める。ベクトル検出部２は、検出した動きベクトルＶ３の評価値ＤＦＤと、シフト初期ベクトルＶ２に基づいて求めた評価値ＤＦＤとを比較する。比較後、ベクトル検出部２は、小さい方の評価値ＤＦＤと該評価値ＤＦＤの動きベクトルをベクトルメモリ３に保存する。
【００４２】
図３は、評価値ＤＦＤの算出例を示す概念図である。図３には、時刻ｔのフレームｔ上の画素位置ｐを中心としたｍ×ｎのブロックと、時刻ｔ＋１のフレームｔ＋１上の画素位置ｐから注目する動きベクトルｖのベクトル量分ずらした画素位置ｐ＋ｖを中心としたｍ×ｎのブロックの２つのブロックが示されている。これら２つのブロック間において求められる差分絶対値和ＤＦＤｔ（ｐ）は、次の式（１）で表される。
【００４３】
【数１】
2010087611.tif 000003
【００４４】
ここで、Ｆｔ（ｐ）は、時刻ｔにおける画素位置ｐの輝度値を表しており、ｍ×ｎは、差分絶対値和を求めるためのＤＦＤ演算範囲（ブロック）を表している。この差分絶対値和は、２つのフレームにおけるＤＦＤ演算範囲（ブロック）間の相関値を表している。このため、一般的には、この差分絶対値和が小さいほどフレーム間のブロックの波形が一致しており、差分絶対値和が小さいほど、動きベクトルｖの信頼度が高いと判定される。
【００４５】
図４は、カバード領域の検出例を示す模式図である。図４には、時系列にフレームｔ−１、ｔ、ｔ＋１を示している。図４に示すフレームｔは、前景（動き物体）Ｑ１が移動して背景Ｑ２の一部が前景Ｑ１に覆われて隠れて消失し、４つの画素から成るカバード領域Ｗ１が生じている。これに伴い、内挿フレーム上にも２つの画素から成るカバード領域Ｗ１ａが生じている。
【００４６】
この例で、過去のフレームｔ−１の画素Ｐ１には、動きベクトルＶ１が検出されている。この動きベクトルＶ１はベクトルメモリ３に保存されている。ベクトル検出部２は、図４に示すように現在のフレームｔの画素Ｐ２に対して、過去の動きベクトルＶ１を移動したベクトルをシフト初期ベクトルＶ２とする。
【００４７】
ベクトル検出部２は、例えばシフト初期ベクトルＶ２の両端の画素Ｐ２，Ｐ３と、その周囲のある範囲の画素からなる領域についてのＭＣ差分絶対値和を求めてシフト初期ベクトルＶ２の評価値ＤＦＤとする。
【００４８】
ベクトル検出部２は、このシフト初期ベクトルＶ２の評価値ＤＦＤと、ベクトルメモリ３から入力した過去の動きベクトルＶ１の評価値ＤＦＤを比較する。比較後、ベクトル検出部２は、図４に示す過去の動きベクトルＶ１の評価値ＤＦＤがシフト初期ベクトルＶ２の評価値ＤＦＤよりも小さくなるので画素Ｐ２がカバード領域Ｗ１に属すると判定し、その判定フラグをベクトルメモリ３に出力する。
【００４９】
一方で、ベクトル検出部２は、ブロックマッチング法などを用いて、フレームｔの探索範囲における複数の参照ブロックと、フレームｔ＋１の注目ブロックの間で動きベクトルＶ４を検出する。
【００５０】
ベクトル検出部２は、検出した画素Ｐ２の動きベクトルＶ４に基づいて上述した差分絶対値和により評価値ＤＦＤを求める。ベクトル検出部２は、検出した動きベクトルＶ４の評価値ＤＦＤと、シフト初期ベクトルＶ２の評価値ＤＦＤとを比較する。シフト初期ベクトルＶ２の評価値ＤＦＤが、検出した動きベクトルＶ４の評価値ＤＦＤよりも小さくなる場合は、ベクトル検出部２は、シフト初期ベクトルＶ２の評価値ＤＦＤと該シフト初期ベクトルＶ２をベクトルメモリ３に保存する。その逆に、検出した動きベクトルＶ４の評価値ＤＦＤが、シフト初期ベクトルＶ２の評価値ＤＦＤよりも小さくなる場合も同様である。なお、３フレーム分のベクトル情報を用いているが、画像としての情報はフレームｔとフレームｔ＋１の２フレーム分だけである。
【００５１】
続いて、ベクトル検出部２により検出した動きベクトルを内挿フレームに割り付ける処理について説明する。図５Ａは、ベクトル割付補償部４によるベクトル割付例を示す概略図である。ベクトル割付補償部４は、フレームｔ上において求められた動きベクトルＶ５〜Ｖ７に基づいて、内挿フレーム上の画素Ｐ４に動きベクトルを割り付ける。
【００５２】
例えば、ベクトル割付補償部４は、画素Ｐ４の近傍の動きベクトルＶ５〜Ｖ７に対してそれぞれ評価値ＤＦＤを求め、求めた評価値ＤＦＤの中から最小の評価値ＤＦＤの動きベクトルを割り付ける。
【００５３】
図５Ｂは、図５Ａに示した方法で内挿フレームの各画素に動きベクトルを割り付けたものである。図５Ｂに示す内挿フレームには、動きベクトルが割り付けられなかった画素Ｐ６，Ｐ７が存在している。ベクトル割付補償部４は、この動きベクトルが割り付けられなかった画素Ｐ６，Ｐ７に対して、近傍の割付ベクトルの中から最適なベクトルを補償ベクトルとして割り付ける。
【００５４】
図６は、ベクトル割付補償部４による割付補償例及びアンカバード領域の検出例を示す概略図である。ベクトル割付補償部４は、動きベクトルが割り付けられなかった画素Ｐ６に対して、近傍の画素に割り付けられた割付ベクトルの中から例えば割付ベクトルＶ８を補償ベクトルＶ９として割り付ける。これは、ある注目画素の近傍領域が同じ動きであるという仮定が成り立つならば、注目画素の周辺画素の動きベクトルと、その注目画素の動きベクトルは似たものであるからである。これにより、動きベクトルが割り付けられなかった画素Ｐ６にも、ある程度正確な動きベクトルが割り付けられる。
【００５５】
なお、複数の周辺画素の動きベクトルが画素Ｐ６の動きベクトルの候補として存在するため、ベクトル割付補償部４は、それぞれの動きベクトルが画素Ｐ６を通過するように移動させて、該動きベクトルに対してそれぞれ評価値ＤＦＤを求める。そして、求めた評価値ＤＦＤの中から最小の評価値ＤＦＤを示す動きベクトルを割り付けるように補償してもよい。
【００５６】
ベクトル割付補償部４は、割付ベクトルＶ８の評価値ＤＦＤと補償ベクトルＶ９の評価値ＤＦＤを比較する。この例で割付ベクトルＶ８の評価値ＤＦＤは、割付ベクトルＶ８の両端の画素と、その周囲のある範囲の画素からなる領域についてのＭＣ差分絶対値和により求める。同様に、補償ベクトルＶ９の評価値ＤＦＤは、補償ベクトルＶ９の両端の画素と、その周囲のある範囲の画素からなる領域についてのＭＣ差分絶対値和により求める。
【００５７】
ベクトル割付補償部４は、割付ベクトルＶ８の評価値ＤＦＤが補償ベクトルＶ９の評価値ＤＦＤよりも小さい場合、アンカバード領域と判定し、その判定フラグをベクトルメモリ５に出力する。ベクトル割付補償部４は、補償ベクトルＶ９の評価値ＤＦＤが割付ベクトルＶ８の評価値ＤＦＤがよりも小さい場合、アンカバード領域でないと判定する。ベクトル割付補償部４は、ベクトルメモリ５から入力した評価値ＤＦＤを、今回求めた補償ベクトルＶ９の評価値ＤＦＤに更新する。
【００５８】
続いて、補間処理について説明する。図７Ａ〜図７Ｃは、補間部６の動作例を示す概念図である。補間部６は、ベクトルメモリ５の内挿フレームに割り付けられた割付ベクトル（補償ベクトル含む）と、フレームｔ及び次のフレームｔ＋１の画素値を用いて、内挿フレームの画素値を補間生成する。
【００５９】
補間方法には、割付ベクトル両端に係る入力フレーム上の画素を均等に用いる方法や、内挿する時間的な位相に併せてベクトル両端画素に適切な重みを付けて足し合わせる方法や、各種フィルタを用いる方法等、様々な方法が挙げられる。
【００６０】
この例で、補間部６は、ベクトルメモリ５に保存された内挿フレームの画素を選択する。補間部６は、内挿フレームの各画素の割付ベクトルとカバード・アンカバード領域を示す判定フラグをベクトルメモリ５から取得する。
【００６１】
図７Ａは、通常の補間例を示す概念図である。この補間例は過去及び未来の２フレームを用いた補間であり、選択した画素の判定フラグがカバード領域及びアンカバード領域を示さない場合に適用する。補間部６は、選択した画素に割り付けられている割付ベクトルに基づいて、内挿フレーム上の画素と、２枚のフレームｔおよびフレームｔ＋１の画素との位置関係をそれぞれ求める。例えば、図７Ａに示す内挿フレームの注目位置の画素F't+k(p)は、割付ベクトルが示すフレームｔ上の画素Ft(q)、フレームｔ＋１上の画素Ft+1(r)及び生成位相ｋ（０≦ｋ≦１）を用いて以下の式（２）で表される。
【００６２】
【数２】
2010087611.tif 000004
【００６３】
図７Ｂは、アンカバード領域の補間例を示す概念図である。この補間例は未来の１フレームを用いた補間であり、選択した画素の判定フラグがアンカバード領域を示す場合に適用する。補間部６は、選択した画素に割り付けられている割付ベクトルに基づいて、内挿フレーム上の画素と、１枚のフレームｔ＋１の画素との位置関係をそれぞれ求める。例えば、図７Ｂに示す内挿フレームの注目位置の画素F't+k(p)は、割付ベクトルが示すフレームｔ＋１上の画素Ft+1(r)を用いて以下の式（３）で表される。
【００６４】
【数３】
2010087611.tif 000005
【００６５】
図７Ｃは、カバード領域の補間例を示す概念図である。この補間例は過去の１フレームを用いた補間であり、選択した画素の判定フラグがカバード領域を示す場合に適用する。補間部６は、選択した画素に割り付けられている割付ベクトルに基づいて、内挿フレーム上の画素と、１枚のフレームｔの画素との位置関係をそれぞれ求める。例えば、図７Ｃに示す内挿フレームの注目位置の画素F't+k(p)は、割付ベクトルが示すフレームｔ上の画素Ft(q)を用いて以下の式（４）で表される。
【００６６】
【数４】
2010087611.tif 000006
【００６７】
補間部６は、カバード・アンカバード領域の判定フラグに基づいて、内挿フレーム上の画素を生成する。補間部６は、生成した内挿フレームを出力端子８に出力して６０Ｐ信号の画像を出力する。
【００６８】
このように、カバード部分ならば背景が前景に隠されるために過去側のフレームｔの画素のみでの補間する。アンカバード部分ならば背景が前景から現れるために未来側のフレームｔ＋１の画素のみで補間する。以下、この方法を片側補間と呼ぶ。
【００６９】
別の方法としては、以下の式（５）に示すようにアンカバード領域による劣化部分に対する片側補間による生成画素と、さらに通常の補間による生成画素とを平均する。また、以下の式（６）に示すようにカバード領域による劣化部分に対する片側補間による生成画素と、さらに通常の補間による生成画素とを平均する。このようにすると、カバード領域ならばフレームｔの画素に、アンカバード領域ならばフレームｔ＋１の画素に、常により大きな重みが付いて限りなく片側補間に近づけることができる。
【００７０】
【数５】
2010087611.tif 000007
【００７１】
また別の方法としては、カバード・アンカバード領域に対して内挿フレーム上に生成された画素について、その画素周辺の任意の範囲の平均をとることで、カバード・アンカバード劣化をぼかす方法も挙げられる。
【００７２】
本発明による精度の良いカバード・アンカバード領域の検出方法を用いることで、本来劣化していない部分にまで不要な劣化対策処理を施すリスクが十分に低減される。これにより、上述したような一般的なカバード・アンカバード劣化部分への補間方法を用いた場合でも、その性能は向上するといえる。
【００７３】
図８は、図１に示した画像処理装置１００の動作例を示すフローチャートである。図８に示すステップＳＴ１で、画像処理装置１００は画像信号を入力する。例えば、画像処理装置１００は、入力端子７からフレーム周波数２４Ｈｚのプログレッシブ画像信号（２４Ｐ信号）を入力してステップＳＴ２に移行する。
【００７４】
ステップＳＴ２で、ベクトル検出部２は、２４Ｐ信号の動きベクトルを検出する。例えば、図９に示すフローチャートのステップＳＴ２００で、ベクトル検出部２は、過去に検出した動きベクトルＶ１が存在するか否かを判定する。図２に示したように、ベクトル検出部２は、ベクトルメモリ３を参照して過去のフレームｔ−１の画素Ｐ１には、過去の動きベクトルＶ１が存在するか否かを判定する。過去の動きベクトルＶ１が存在する場合ステップＳＴ２０２に移行し、過去の動きベクトルＶ１が存在しない場合ステップＳＴ２０１に移行する。
【００７５】
ステップＳＴ２０１で、ベクトル検出部２は、値ゼロのベクトルを過去に求めた動きベクトルとして設定すると共に、この値ゼロの動きベクトルの評価値ＤＦＤを所定の初期値に設定してステップＳＴ２０３に移行する。
【００７６】
ステップＳＴ２０２で、ベクトル検出部２は、注目画素の時空間近傍で過去に求めた動きベクトルを選択する。例えば、ベクトル検出部２は、図２に示した現在のフレームｔの画素Ｐ２に対して、過去の動きベクトルＶ１を選択してステップＳＴ２０３に移行する。
【００７７】
ステップＳＴ２０３で、ベクトル検出部２は、注目フレーム上で評価値を求める。例えば、ベクトル検出部２は、ステップＳＴ２０２で選択した過去の動きベクトルＶ１を移動させてシフト初期ベクトルＶ２とする。そして、このシフト初期ベクトルＶ２の両端の画素Ｐ２，Ｐ３と、その周囲のある範囲の画素からなる領域についてのＭＣ差分絶対値和を求めてシフト初期ベクトルＶ２の評価値ＤＦＤとする。続いてステップＳＴ２０４に移行する。
【００７８】
ステップＳＴ２０４で、ベクトル検出部２は、評価値ＤＦＤが最小のベクトルを再利用するベクトルに決定する。例えば、ベクトル検出部２は、上述のステップＳＴ２０２で複数の動きベクトルを選択した場合、これらの動きベクトルの中で最小の評価値ＤＦＤを示す動きベクトルを選択してステップＳＴ２０５，ＳＴ２０６に移行する。
【００７９】
ステップＳＴ２０５，ＳＴ２０６で、ベクトル検出部２は、過去に検出した動きベクトルを再利用すると仮定したときの評価値ＤＦＤ１と、過去に検出した動きベクトルの評価値ＤＦＤ２を取得する。例えば、評価値ＤＦＤ１は、図２に示したシフト初期ベクトルＶ２の評価値ＤＦＤに相当し、評価値ＤＦＤ２は、過去の動きベクトルＶ１の評価値ＤＦＤに相当する。続いてステップＳＴ２０７に移行する。
【００８０】
ステップＳＴ２０７で、ベクトル検出部２は、上述のステップＳＴ２０５，ＳＴ２０６で取得した評価値ＤＦＤ１と評価値ＤＦＤ２を比較する。例えば、ベクトル検出部２は、シフト初期ベクトルＶ２の評価値ＤＦＤ１と、ベクトルメモリ３から入力した過去の動きベクトルＶ１の評価値ＤＦＤ２を比較する。
【００８１】
ベクトル検出部２は、過去の動きベクトルＶ１の評価値ＤＦＤ２がシフト初期ベクトルＶ２の評価値ＤＦＤ１よりも小さい場合（ＤＦＤ１＞ＤＦＤ２）、カバード領域と判定してステップＳＴ２０８に移行する。また、ベクトル検出部２は、過去の動きベクトルＶ１の評価値ＤＦＤ２がシフト初期ベクトルＶ２の評価値ＤＦＤ１よりも大きい場合（ＤＦＤ１＜ＤＦＤ２）、カバード領域でないと判定してステップＳＴ２０９に移行する。
【００８２】
ステップＳＴ２０８で、ベクトル検出部２は、カバード劣化部分を示す判定フラグを画素に対応させてベクトルメモリ３に出力してステップＳＴ２１０に移行する。
【００８３】
ステップＳＴ２０９で、ベクトル検出部２は、評価値を更新する。例えば、ベクトル検出部２は、ベクトルメモリ３から入力した評価値ＤＦＤを、今回求めたシフト初期ベクトルＶ２の評価値ＤＦＤに更新してステップＳＴ２１０に移行する。
【００８４】
ステップＳＴ２１０で、ベクトル検出部２は、動きベクトルを検出する。例えば、ベクトル検出部２は、ブロックマッチング法などを用いて、図２に示したフレームｔの探索範囲における複数の参照ブロックと、フレームｔ＋１の注目ブロックの間で動きベクトルＶ３を検出してステップＳＴ２１１に移行する。
【００８５】
ステップＳＴ２１１で、ベクトル検出部２は、ステップＳＴ２１０で検出した動きベクトルの評価値ＤＦＤと、過去に求めた動きベクトルの評価値ＤＦＤとを比較して最終的な動きベクトルを決定すると共にその評価値ＤＦＤを保存する。例えば、ベクトル検出部２は、図２に示したように検出した動きベクトルＶ３の評価値ＤＦＤと、シフト初期ベクトルＶ２に基づいて求めた評価値ＤＦＤとを比較する。比較後、ベクトル検出部２は、小さい方の評価値ＤＦＤと該評価値ＤＦＤの動きベクトルをベクトルメモリ３に保存（更新）してステップＳＴ２１２に移行する。
【００８６】
ステップＳＴ２１２で、ベクトル検出部２は、２４Ｐ信号のフレーム内の全ての画素を処理したか否かを判定し、全ての画素を処理していない場合にはステップＳＴ２００に戻る。また、全ての画素を処理した場合には、図８のフローチャートのステップＳＴ３に移行する。なお、図６に示すフローチャートにおいてステップＳＴ２０４〜ＳＴ２０９はカバード領域の検出処理である。
【００８７】
図８のステップＳＴ３で、ベクトル割付補償部４は、２４Ｐ信号のフレームｔ上において求められた動きベクトルを、６０Ｐ信号の内挿フレーム上の画素に割付ベクトルとして割り付ける。例えば、図１０に示すフローチャートのステップＳＴ３００で、ベクトル割付補償部４は、動きベクトルを割り付ける。例えばベクトル割付補償部４は、図５Ａに示したように動きベクトルＶ５〜Ｖ７に対してそれぞれ評価値ＤＦＤを求め、求めた評価値ＤＦＤの中から最小の評価値ＤＦＤの動きベクトルを画素Ｐ４に割り付ける。続いてステップＳＴ３０１に移行する。
【００８８】
ステップＳＴ３０１で、ベクトル割付補償部４は、割付ベクトルに対してその評価値ＤＦＤとカバード領域判定用の判定フラグを特徴量として付加する。例えば、ベクトル割付補償部４は、割り付けられた動きベクトルが保持していたカバード領域判定用の判定フラグを割付ベクトルに付加する。続いてステップＳＴ３０２に移行する。
【００８９】
ステップＳＴ３０２で、ベクトル割付補償部４は割付補償を行う。例えば、ベクトル割付補償部４は、図６に示したように動きベクトルが割り付けられなかった画素Ｐ６に対して、近傍の画素に割り付けられた割付ベクトルの中から割付ベクトルＶ８を補償ベクトルＶ９として割り付けてステップＳＴ３０３に移行する。
【００９０】
ステップＳＴ３０３で、ベクトル割付補償部４は、補償ベクトルの画素に対してカバード領域判定用の判定フラグが設定されているか否かを判定する。判定フラグが設定されていないと判定した場合、ステップＳＴ３０４，ＳＴ３０５に移行する。
【００９１】
ステップＳＴ３０４，ＳＴ３０５で、ベクトル割付補償部４は、割付ベクトルの評価値ＤＦＤ３と補償ベクトルの評価値ＤＦＤ４を取得する。例えば、評価値ＤＦＤ３は、図６に示した割付ベクトルＶ８の評価値ＤＦＤに相当し、評価値ＤＦＤ４は、補償ベクトルＶ９の評価値ＤＦＤに相当する。続いてステップＳＴ３０６に移行する。
【００９２】
ステップＳＴ３０６で、ベクトル割付補償部４は、上述のステップＳＴ３０４，ＳＴ３０５で取得した評価値ＤＦＤ３と評価値ＤＦＤ４を比較する。例えば、ベクトル割付補償部４は、補償ベクトルＶ９の評価値ＤＦＤ４と割付ベクトルＶ８の評価値ＤＦＤ３を比較する。
【００９３】
ベクトル割付補償部４は、割付ベクトルＶ８の評価値ＤＦＤ３が補償ベクトルＶ９の評価値ＤＦＤ４よりも小さい場合（ＤＦＤ３＜ＤＦＤ４）、アンカバード領域と判定してステップＳＴ３０７に移行する。また、ベクトル割付補償部４は、割付ベクトルＶ８の評価値ＤＦＤ３が補償ベクトルＶ９の評価値ＤＦＤ４よりも大きい場合（ＤＦＤ３＞ＤＦＤ４）、アンカバード領域でないと判定してステップＳＴ３０８に移行する。
【００９４】
ステップＳＴ３０７で、ベクトル割付補償部４は、アンカバード劣化部分を示す判定フラグを画素に対応させてベクトルメモリ５に出力してステップＳＴ３０９に移行する。
【００９５】
ステップＳＴ３０８で、ベクトル割付補償部４は、評価値を更新する。例えば、ベクトル割付補償部４は、今回求めた補償ベクトルＶ９の評価値ＤＦＤ４をベクトルメモリ５に保存してステップＳＴ３０９に移行する。
【００９６】
ステップＳＴ３０９で、ベクトル割付補償部４は、内挿フレーム内において割付補償が必要な全ての画素を処理したか否かを判定し、割付補償が完了していない場合にはステップＳＴ３０２に戻る。また、割付補償が完了した場合には、図８のフローチャートのステップＳＴ４に移行する。なお、図１０に示すフローチャートにおいてステップＳＴ３０４〜ＳＴ３０８はアンカバード領域の検出処理である。
【００９７】
図８のステップＳＴ４で、補間部６は、ベクトルメモリ５の内挿フレームに割り付けられた割付ベクトル、補償ベクトル及びカバード・アンカバード領域判定用の判定フラグに基づいて内挿フレームの画素値を補間生成する。例えば補間部６は、この判定フラグがカバード領域及びアンカバード領域を示さない場合、選択した画素に割り付けられている割付ベクトルが示す２枚のフレームｔ，ｔ＋１上の画素値から補間生成する。また、補間部６は、判定フラグがアンカバード領域を示す場合、選択した画素に割り付けられている割付ベクトルが示す１枚のフレームｔ＋１上の画素値から補間生成する。また、補間部６は、判定フラグがカバード領域を示す場合、選択した画素に割り付けられている割付ベクトルが示す１枚のフレームｔ上の画素値から補間生成する。なお、内挿フレーム上の画素は、フレームの左上の画素からラスタスキャン順に選択される。続いてステップＳＴ６に移行する。
【００９８】
ステップＳＴ６で、画像処理装置１００は、全ての２４Ｐの画像信号を入力したか否かを判定する。全ての２４Ｐの画像信号を入力していない判定した場合、ステップＳＴ１に戻り、全ての２４Ｐの画像信号を入力したと判定した場合、フレームレート変換処理の終了となる。
【００９９】
このように本発明に係る第１の実施の形態としての画像処理装置１００によれば、ベクトルメモリ３に保存された動きベクトルの第１評価値と、シフト初期ベクトルを用いて求めた注目画素に係る第２評価値との大小に基づいてカバード領域の判定を行う。そして第１判定フラグを生成すると共に一方の評価値を選択する。さらに、フレームｔとフレームｔ＋１を用いて注目画素に係る動きベクトルを検出し、該検出した動きベクトルの評価値と選択された一方の評価値を比較して最良の評価値を決定する。この最良の評価値及び最良の評価値を求めた動きベクトルをベクトルメモリ３に保存する。
【０１００】
また、フレームｔとフレームｔ＋１の間に生成する内挿フレームの画素に、ベクトルメモリ３に保存された動きベクトルを割り付け、動きベクトルが割り付けられなかった画素に割付補償を行う。割付補償された動きベクトルに基づいて求めた評価値と割り付けられた動きベクトルに基づいて求めた評価値との大小に基づいてアンカバード領域の判定を行って第２判定フラグを生成する。割り付けた動きベクトル、第１及び第２判定フラグをベクトルメモリ５に保存する。
【０１０１】
この構成によって、動きベクトルの評価値を最適な値に遷移させることができるので、カバード・アンカバード問題に起因する劣化部分を精度良く検出できる。これにより、動き領域境界で発生する劣化を精度良く検出ことができ、検出部分に適切な劣化対策を施すことで劣化が低減された綺麗な映像を作り出すことができる。
【０１０２】
また、フレームレート変換技術だけでなく例えば動画像符号化技術におけるフレーム間予測のような動きベクトルを扱う技術に対しても、映像中の劣化となる動物体境界部分を精度良く検出することができ、劣化対策を施すことが可能となる。
【０１０３】
また、アルゴリズムやアーキテクチャに対して演算コストにおいて負担をかけずに、動きベクトルを取り扱う際に一般的に用いられている評価値（例えばＭＣ差分絶対値和）を用いるだけで簡易に実現できる。
【０１０４】
また、従来行われているような固定された閾値の使用をせずに、動きベクトルの評価値の遷移を利用することで、高精度でロバストな劣化検出を実現できる。
【０１０５】
また、画像処理で一般的に取り扱われるブロック単位の処理は、複雑な形状を有する動き領域を過不足無く検出するのには不向きである。これに対して本発明は、個々のベクトルが保持するベクトル自身の評価値を比較することでブロック単位の処理を行わない。これにより、複雑な形状を有する動き領域の境界部分を精度良く検出することが可能となる。
【０１０６】
また、多くのフレーム（少なくとも３、４フレーム）を、フレームメモリ等に保持する方法をとらずに、極力少ないフレーム数（画像としての情報は２フレームのみ）の保持で済む。
＜第２の実施の形態＞
[アンカバード領域の検出処理]
【０１０７】
続いて、第２の実施の形態としてのアンカバード領域の検出処理について説明する。図１１Ａ〜図１１Ｃは、検出した動きベクトルの割付例を示す概略図である。例えば、図１１Ａに示すフレームｔの画素Ｐ８には動きベクトルＶ１０が検出されている。この場合、図１１Ｂに示すように、フレームｔの画素Ｐ８の動きベクトルＶ１０を、内挿フレーム上の同じ位置の画素Ｐ９に対して時間方向（点線矢印Ｙの方向）に移動して割り付ける。
【０１０８】
これにより、図１１Ｃに示すように、内挿フレーム上の各画素には動きベクトルが割り付けられる。例えば、図１１Ｃに示す内挿フレームの画素Ｐ９には、画素Ｐ８の動きベクトルＶ１０が割付ベクトルＶ１１として割り付けられる。このとき、割付ベクトルが前景Ｑ１と背景Ｑ２を繋ぐ可能性が第１の実施の形態の割付方法（図５Ａ参照）よりも高まる。
【０１０９】
例えば、図１１Ｃに示す画素Ｐ９の割付ベクトルＶ１１は、前景Ｑ１の画素Ｐ１０と背景Ｑ２の画素Ｐ１１を繋いでいる。この場合、図１１Ｃに示す画素Ｐ９の割付ベクトルＶ１１の評価値ＤＦＤは、図１１Ｂに示す動きベクトルＶ１０の評価値ＤＦＤよりも大きくなる。これにより、内挿フレームの画素Ｐ９は、劣化部分を示すアンカバード領域に該当することが判明する。このように、フレームｔの画素の動きベクトルを、内挿フレーム上の同じ位置の画素に対して時間方向に移動することにより劣化部分を検出できる。
【０１１０】
図１２は、第２の実施の形態としてのベクトル割付例を示すフローチャートである。図１２に示すステップＳＴ４００は、図８に示したステップＳＴ２（動きベクトル検出処理）に続いて実行される。ステップＳＴ４００で、ベクトル割付補償部４は、検出した動きベクトルを時間方向にずらして割付処理を行う。例えば、図１１Ｂ及び図１１Ｃに示したように、フレームｔの画素Ｐ８の動きベクトルＶ１０を、内挿フレーム上の同じ位置の画素Ｐ９に対して時間方向（点線矢印Ｙの方向）にずらして割付処理を行う。続いてステップＳＴ４０１に移行する。
【０１１１】
ステップＳＴ４０１で、ベクトル割付補償部４は、割付ベクトルに対してカバード領域判定用の判定フラグが設定されているか否かを判定する。この例で、図１１Ｃに示した割付ベクトルＶ１１には、動きベクトルＶ１０のカバード領域判定用の判定フラグを受け継いでいる。判定フラグが設定されていると判定した場合、ステップＳＴ４０７に移行し、判定フラグが設定されていないと判定した場合、ステップＳＴ４０２，ＳＴ４０３に移行する。
【０１１２】
ステップＳＴ４０２，ＳＴ４０３で、ベクトル割付補償部４は、動きベクトルの評価値ＤＦＤ５と割付ベクトルの評価値ＤＦＤ６を取得する。例えば、評価値ＤＦＤ５は、図１１Ｂに示した動きベクトルＶ１０の評価値ＤＦＤに相当し、評価値ＤＦＤ６は、図１１Ｃの割付ベクトルＶ１１の評価値ＤＦＤに相当する。続いてステップＳＴ４０４に移行する。
【０１１３】
ステップＳＴ４０４で、ベクトル割付補償部４は、上述のステップＳＴ４０２，ＳＴ４０３で取得した評価値ＤＦＤ５と評価値ＤＦＤ６を比較する。例えば、ベクトル割付補償部４は、動きベクトルＶ１０の評価値ＤＦＤ５と割付ベクトルＶ１１の評価値ＤＦＤ６を比較する。
【０１１４】
ベクトル割付補償部４は、動きベクトルＶ１０の評価値ＤＦＤ５が割付ベクトルＶ１１の評価値ＤＦＤ６よりも小さい場合（ＤＦＤ５＜ＤＦＤ６）、アンカバード領域と判定してステップＳＴ４０５に移行する。また、ベクトル割付補償部４は、動きベクトルＶ１０の評価値ＤＦＤ５が割付ベクトルＶ１１の評価値ＤＦＤ６よりも大きい場合（ＤＦＤ５＞ＤＦＤ６）、アンカバード領域でないと判定してステップＳＴ４０６に移行する。
【０１１５】
ステップＳＴ４０５で、ベクトル割付補償部４は、アンカバード劣化部分を示す判定フラグを画素に対応させて設定してステップＳＴ４０７に移行する。
【０１１６】
ステップＳＴ４０６で、ベクトル割付補償部４は、評価値を更新する。例えば、ベクトル割付補償部４は、今回求めた割付ベクトルＶ１１の評価値ＤＦＤ６をベクトルメモリ５に保存してステップＳＴ４０７に移行する。
【０１１７】
ステップＳＴ４０７で、ベクトル割付補償部４は、内挿フレーム内において割付が必要な全ての画素を処理したか否かを判定し、割付が完了していない場合にはステップＳＴ４００に戻る。また、割付が完了した場合にはステップＳＴ４０８に移行する。
【０１１８】
ステップＳＴ４０８で、ベクトル割付補償部４は割付補償を行う。例えば、ベクトル割付補償部４は、図６に示したように動きベクトルが割り付けられなかった画素に対して、近傍の画素に割り付けられた割付ベクトルの中から選択して割付補償を行う。続いてステップＳＴ４０９に移行する。
【０１１９】
ステップＳＴ４０９で、ベクトル割付補償部４は、割付ベクトルに対してカバード・アンカバード領域判定用の判定フラグが設定されているか否かを判定する。判定フラグが設定されていると判定した場合、図１３に示すステップＳＴ４１５に移行し、判定フラグが設定されていないと判定した場合、図１３に示すステップＳＴ４１０，ＳＴ４１１に移行する。
【０１２０】
図１３に示すステップＳＴ４１０〜ＳＴ４１５は、図１０に示したステップＳＴ３０４〜ＳＴ３０９にそれぞれ対応する。すなわち、ステップＳＴ４１０〜ＳＴ４１５で、ベクトル割付補償部４は、補償ベクトルについてアンカバード領域の判定を行う。内挿フレーム内において割付補償が必要な全ての画素を処理した場合には、図８のフローチャートのステップＳＴ４に移行する。
【０１２１】
このように、本発明に係る第２の実施の形態によれば、フレームの画素の動きベクトルを、内挿フレーム上の同じ位置の画素に対して時間方向に移動することにより割付処理を行い、該移動された動きベクトルに基づいてアンカバード領域を検出する。この割付処理により、物体境界部分の動きベクトルが前景と背景を混合する確率が高まるので、割付補償を行う前にアンカバード領域を高精度に検出できるようになる。
【０１２２】
なお、本実施の形態においては、動きベクトルを選択する際の評価値として、ＭＣ差分絶対値和を用いて説明したが、ＭＣ差分絶対値和に限定されず、動きベクトルの信頼度を評価するものであれば、他のものを用いるようにしてもよい。
【０１２３】
また、本実施の形態においては、２４Ｐ信号から６０Ｐ信号への信号変換を例に、説明を行ったが、他のフレームレート変換にも適用することもできる。
【０１２４】
また、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールする。例えば、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１２５】
例えば、図１４は本発明を適用したコンピュータ５０の構成例を示すブロック図である。コンピュータ５０のＣＰＵ（Central Processing Unit）５１は、ＲＯＭ（Read Only Memory）５２、または記憶部５８に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）５３には、ＣＰＵ５１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ５１、ＲＯＭ５２、およびＲＡＭ５３は、バス５４により相互に接続されている。
【０１２６】
ＣＰＵ５１にはまた、バス５４を介して入出力インタフェース５５が接続されている。入出力インタフェース５５には、キーボード、マウスなどよりなる入力部５６、ディスプレイ、スピーカなどよりなる出力部５７が接続されている。ＣＰＵ５１は、入力部５６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ５１は、処理の結果、得られた画像や音声等を出力部５７に出力する。
【０１２７】
入出力インタフェース５５に接続されている記憶部５８は、例えばハードディスクなどで構成され、ＣＰＵ５１が実行するプログラムや各種のデータを記憶する。通信部５９は、インターネット、その他のネットワークを介して外部の装置と通信する。また、通信部５９を介してプログラムを取得し、記憶部５８に記憶してもよい。
【０１２８】
入出力インタフェース５５に接続されているドライブ６０は、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、或いは半導体メモリ６４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部５８に転送されて記憶される。このように、一連の処理をソフトウェアによりコンピュータ５０に実行させてもよい。
【０１２９】
また、クラス分類適応処理を用いてもよい。例えば、カバード及びアンカバード領域の判定結果に基づいてクラスを分類して係数メモリのクラスコードにする。係数メモリには予め学習によって求められた係数データが保存されている。この係数データと予測タップの画素値を演算して画素を生成する。このように、クラス分類適応処理を用いることにより物体境界部分で発生する画像の劣化を高精度に減少できる。
【産業上の利用可能性】
【０１３０】
本発明は、動きベクトルを検出して動画像のフレームレート変換処理や動画像圧縮処理を行う画像処理装置に適用して極めて好適である。
【図面の簡単な説明】
【０１３１】
【図１】本発明に係る第１の実施の形態としての画像処理装置１００の構成例を示すブロック図である。
【図２】ベクトル検出部２の動作例を示す概念図である。
【図３】ＭＣ差分絶対値和としての評価値ＤＦＤの算出例を示す概念図である。
【図４】カバード領域の検出例を示す模式図である。
【図５】Ａ及びＢは、ベクトル割付補償部４によるベクトル割付例を示す概略図である。
【図６】ベクトル割付補償部４による割付補償例及びアンカバード領域の検出例を示す概略図である。
【図７】Ａ〜Ｃは補間部６の動作例を示す概念図である。
【図８】画像処理装置１００の動作例を示すフローチャートである。
【図９】カバード領域の検出例を示すフローチャートである。
【図１０】アンカバード領域の検出例を示すフローチャートである。
【図１１】Ａ〜Ｃは、第２の実施の形態としての動きベクトルの割付例を示す概略図である。
【図１２】第２の実施の形態としてのアンカバード領域の検出例（その１）を示すフローチャートである。
【図１３】アンカバード領域の検出例（その２）を示すフローチャートである。
【図１４】本発明を適用したコンピュータ５０の構成例を示すブロック図である。
【図１５】Ａ及びＢは、カバード領域及びアンカバード領域の一例を示す概略図である。
【図１６】カバード領域及びアンカバード領域の一例を示す模式図である。
【符号の説明】
【０１３２】
１・・・フレームメモリ、２・・・ベクトル検出部、３・・・ベクトルメモリ（第１ベクトルメモリ）、４・・・ベクトル割付補償部、５・・・ベクトルメモリ（第２ベクトルメモリ）、６・・・補間部、１００・・・画像処理装置
【図１】
2010087611.tif 000008
【図２】
2010087611.tif 000009
【図３】
2010087611.tif 000010
【図７】
2010087611.tif 000011
【図８】
2010087611.tif 000012
【図９】
2010087611.tif 000013
【図１０】
2010087611.tif 000014
【図１１】
2010087611.tif 000015
【図１２】
2010087611.tif 000016
【図１３】
2010087611.tif 000017
【図１４】
2010087611.tif 000018
【図１５】
2010087611.tif 000019
【図４】
2010087611.tif 000020
【図５】
2010087611.tif 000021
【図６】
2010087611.tif 000022
【図１６】
2010087611.tif 000023