JP2007110461A - 画像処理装置および方法、プログラム、並びに記録媒体 - Google Patents
画像処理装置および方法、プログラム、並びに記録媒体 Download PDFInfo
- Publication number
- JP2007110461A JP2007110461A JP2005299628A JP2005299628A JP2007110461A JP 2007110461 A JP2007110461 A JP 2007110461A JP 2005299628 A JP2005299628 A JP 2005299628A JP 2005299628 A JP2005299628 A JP 2005299628A JP 2007110461 A JP2007110461 A JP 2007110461A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- motion vector
- frame
- vector
- evaluation value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】前段の処理において動きベクトルが割り付けられなかった画素に、より確かな動きベクトルを割り付けることができるようにする。
【解決手段】評価値演算部802は、補償処理対象ブロック毎に、注目画素または隣接画素に割り付けられている動きベクトルについて、相関を示す評価値DFDを、その動きベクトルのベクトル割付部による割付位置と補償処理対象ブロックの所定の位置との距離に応じた重みを付けて演算する。ベクトル補償部801は、補償処理対象ブロックの、動きベクトルが割り付けられていない注目画素に、相関が最も強いことを示す評価値が演算された動きベクトルを補って割り付けるとともに、その動きベクトルに対応させて、動きベクトルのベクトル割付部による割付位置の情報も記憶させる。本発明は、24P信号から60P信号へのフレーム周波数変換処理を行う信号処理装置に適用できる。
【選択図】図22
【解決手段】評価値演算部802は、補償処理対象ブロック毎に、注目画素または隣接画素に割り付けられている動きベクトルについて、相関を示す評価値DFDを、その動きベクトルのベクトル割付部による割付位置と補償処理対象ブロックの所定の位置との距離に応じた重みを付けて演算する。ベクトル補償部801は、補償処理対象ブロックの、動きベクトルが割り付けられていない注目画素に、相関が最も強いことを示す評価値が演算された動きベクトルを補って割り付けるとともに、その動きベクトルに対応させて、動きベクトルのベクトル割付部による割付位置の情報も記憶させる。本発明は、24P信号から60P信号へのフレーム周波数変換処理を行う信号処理装置に適用できる。
【選択図】図22
Description
本発明は、画像処理装置および方法、プログラム、並びに記録媒体に関し、特に、動きベクトルに基づいて生成される画像の品質を向上することができるようにした画像処理装置および方法、プログラム、並びに記録媒体に関する。
従来、画像のフレーム周波数を変換する画像処理装置においては、勾配法、またはブロックマッチング法などを用いることにより、動きベクトルの検出が行われ、検出された動きベクトルが、生成される内挿フレームに割り付けられる(例えば、特許文献1)。しかしながら、これらの動きベクトル検出方法においては、常に、動きベクトルが求められるわけではなく、注目画素の動きベクトルを求めることができなかったり、もしくは、求められた動きベクトルが不安定であるなど、動きベクトルの信頼度に問題がある場合があった。
また、検出された動きベクトルを、生成される内挿フレームに割り付ける場合においても、内挿フレーム上のすべての画素に、動きベクトルが割り付けられるわけではなく、このような場合、画像処理装置は、動きベクトルを求まらないままにするか、または、動きベクトルを0ベクトル(すなわち、静止状態)にすることにより対応していた。
しかしながら、求まらないままの動きベクトルや0ベクトルにされた動きベクトルは、注目画素が属するオブジェクトに適した動きであるとは、必ずしも言えず、これらの動きベクトルを用いて生成された画像に、例えば、不連続性などの視覚劣化を、少なからずもたらしてしまうことがあった。
したがって、前フレームにおいて検出された動きベクトルが割り付けられていない内挿フレームの画素にも、確からしい動きベクトルを割り付けることが求められている。
本発明は、このような状況に鑑みてなされたものであり、前段の処理において動きベクトルが割り付けられなかった画素に、より確からしい動きベクトルを割り付けることができるようにするものである。
本発明の一側面の画像処理装置は、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理装置において、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付手段と、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算手段と、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償手段とを備える。
前記評価値演算手段は、前記隣接画素に割り付けられている前記動きベクトルを、前記注目ブロック内の所定の位置に移動させ、移動後の前記注目ブロック内の所定の位置における前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算することができる。
前記注目ブロックが複数の前記注目画素で構成される場合、前記評価値演算手段は、前記隣接画素および前記注目画素に割り付けられている前記動きベクトルについて、前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算し、前記割付補償手段は、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素の内の、前記動きベクトルが割り付けられていない前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付けることができる。
前記評価値演算手段は、前記隣接画素および前記注目画素に付されている優先順位の順に、前記隣接画素または前記注目画素に割り付けられている前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算することができる。
前記割付補償手段は、前記注目画素に、前記動きベクトルを補って割り付ける際に、前記動きベクトルに対応させて、前記ベクトル割付手段により前記動きベクトルが割り付けられていた画素の位置の情報である割付位置情報を記憶させることができる。
前記評価値演算手段は、前記割付補償手段により前記隣接画素に補って割り付けられた前記動きベクトルについても、前記動きベクトルに対応させて記憶された前記割付位置情報に基づいて、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて前記評価値を演算することができる。
前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであるか否かを判定する判定手段をさらに備え、前記評価値演算手段は、前記判定手段により前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであると判定された場合、前記動きベクトルについての前記評価値の演算をスキップすることができる。
前記評価値演算手段は、前記第1の領域に属する画素の画素値と前記第2の領域に属する画素の画素値との差分絶対値和である前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算することができる。
本発明の一側面の画像処理方法は、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理装置の画像処理方法において、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップと、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップと、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップとを含む。
本発明の一側面のプログラムは、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理を、コンピュータに行わせるプログラムであって、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップと、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップと、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップとを含む。
本発明の一側面の記録媒体に記録されているプログラムは、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理を、コンピュータに行わせるプログラムであって、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップと、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップと、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップとを含む。
本発明の一側面においては、第1のフレームおよび第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素にその前記動きベクトルが割り付けられる。また、第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値が、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算される。そして、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルが補って割り付けられる。
本発明によれば、前段の処理において動きベクトルが割り付けられなかった画素に、より確かな動きベクトルを割り付けることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない
本発明の一側面の画像処理装置は、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理装置(例えば、図2の信号処理装置1)において、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付手段(例えば、図2のベクトル割付部54)と、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算手段(例えば、図22の評価値演算部802)と、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償手段(例えば、図22のベクトル補償部801)とを備える。
前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであるか否かを判定する判定手段(例えば、図22の同一ベクトル判定部804)をさらに備え、前記評価値演算手段は、前記判定手段により前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであると判定された場合、前記動きベクトルについての前記評価値の演算をスキップすることができる。
本発明の一側面の画像処理方法、プログラム、または記録媒体に記録されているプログラムは、第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する、画像処理装置の画像処理方法、または画像処理をコンピュータに行わせるプログラムであって、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップ(例えば、図6のステップS3)と、前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップ(例えば、図34のステップS836)と、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップ(例えば、図33のステップS808)とを含む。
以下、図を参照して本発明の実施の形態について説明する。
図1は、本発明を適用した信号処理装置1の構成例を表している。信号処理装置1は、例えば、パーソナルコンピュータなどで構成される。図1において、CPU(Central Processing Unit)11は、ROM(Read Only Memory)12、または記憶部18に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)13には、CPU11が実行するプログラムやデータなどが適宜記憶される。これらのCPU11、ROM12、およびRAM13は、バス14により相互に接続されている。
CPU11にはまた、バス14を介して入出力インタフェース15が接続されている。入出力インタフェース15には、キーボード、マウス、マイクロフォンなどよりなる入力部16、ディスプレイ、スピーカなどよりなる出力部17が接続されている。CPU11は、入力部16から入力される指令に対応して各種の処理を実行する。そして、CPU11は、処理の結果、得られた画像や音声等を出力部17に出力する。
入出力インタフェース15に接続されている記憶部18は、例えばハードディスクなどで構成され、CPU11が実行するプログラムや各種のデータを記憶する。通信部19は、インターネット、その他のネットワークを介して外部の装置と通信する。また、通信部19を介してプログラムを取得し、記憶部18に記憶してもよい。
入出力インタフェース15に接続されているドライブ20は、磁気ディスク31、光ディスク32、光磁気ディスク33、或いは半導体メモリ34などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部18に転送され、記憶される。
なお、信号処理装置1は、例えば、テレビジョン受像機、光ディスクプレーヤなど、または、それらの信号処理部とすることもできる。
図2は、信号処理装置1を示すブロック図である。
なお、信号処理装置1の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えてもよい。
図2に構成を示す信号処理装置1においては、例えば、フレーム周波数24Hzのプログレッシブ画像信号(以下、24P信号と称する)の画像が入力され、入力された画像(入力画像)が、フレーム周波数60Hzのプログレッシブ画像信号(以下、60P信号と称する)の画像に変換されて、出力される。すなわち、図2は、画像処理装置である信号処理装置の構成を示す図である。
信号処理装置1に入力された24P信号の入力画像は、フレームメモリ51、ベクトル検出部52、ベクトル割付部54、割付補償部57、および画像補間部58に供給される。フレームメモリ51は、入力画像をフレーム単位で記憶する。フレームメモリ51は、時刻t+1の入力画像の1つ前の時刻tのフレームを記憶する。フレームメモリ51に記憶される時刻tのフレームは、ベクトル検出部52、ベクトル割付部54、割付補償部57、および画像補間部58に供給される。なお、以下、フレームメモリ51上の時刻tのフレームをフレームtと称し、時刻t+1の入力画像のフレームを、フレームt+1と称する。
ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶する。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。ベクトル検出部52の構成の詳細は、図9を参照して後述する。検出ベクトルメモリ53は、フレームtにおいて、ベクトル検出部52により検出された動きベクトルを記憶する。
ベクトル割付部54は、24P信号のフレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する60P信号のフレーム(以下、60P信号のフレームは、24P信号のフレームと区別するため、内挿フレームとも称する)上の画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(True)に書き換える。ベクトル割付部54の構成の詳細は、図13を参照して後述する。
割付ベクトルメモリ55は、ベクトル割付部54により割り付けられた動きベクトルを、内挿フレームの各画素に対応させて記憶する。割付フラグメモリ56は、内挿フレームの画素毎に、割り付けられる動きベクトルの有無を示す割付フラグを記憶している。例えば、True(1)である割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、False(0)である割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。
割付補償部57は、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを割り付けた着目画素の割付フラグを1(True)に書き換える。割付補償部57の構成の詳細は、図22を参照して後述する。
画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよび次のフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成する。画像補間部58の構成の詳細は、図7を参照して後述する。そして、画像補間部58は、生成された内挿フレームを出力し、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、図示せぬ後段に出力する。なお、以下においては、画素値を、適宜、輝度値とも称する。
図3は、本発明に係る信号処理装置1における処理の原理を説明する図である。図3の例においては、点線が、信号処理装置1に入力される、時刻t,t+1,およびt+2における24P信号のフレームを表しており、実線が、入力された24P信号から信号処理装置1により、生成される時刻t,t+0.4,t+0.8,t+1.2,t+1.6,およびt+2における60P信号の内挿フレームを表している。
一般に、24P信号を、60P信号に変換するためには、5/2倍のフレームが必要になる。すなわち、2枚の24P信号の画像から5枚の60P信号の画像が生成されなければならない。このとき、生成される60P信号の内挿フレームは、そのフレーム間隔を等しくするために、24P信号上での時間位相が0.0,0.4,0.8,1.2,および1.6となる位置に配置される。この中で、時間位相が0.0である時刻tの1フレームを除く4フレーム(t+0.4,t+0.8,t+1.2,およびt+1.6のフレーム)は、24P信号上には存在しない画像である。したがって、信号処理装置1は、24P信号の画像が入力されると、24P信号の時刻tおよび時刻t+1の2枚のフレームから、4つの内挿フレームを生成する。したがって、信号処理装置1からは、時刻t,t+0.4,t+0.8,t+1.2,およびt+1.6の5枚のフレームからなる60P信号の画像が出力される。
以上のようにして、信号処理装置1は、24P信号の画像から60P信号の画像に、フレーム周波数を変換する処理を実行する。
なお、原理的には、上述したように、24P信号の時刻tおよび時刻t+1の2枚のフレームから、時刻t,t+0.4,t+0.8,t+1.2,およびt+1.6の5枚の60P信号のフレームが新しく生成されるが、実際には、図3の例の場合、24P信号の時刻tおよび時刻t+1の2枚のフレームに基づいて、t,t+0.4,t+0.8の60P信号のフレームが生成され、24P信号の時刻t+1およびt+2の2枚のフレームに基づいて、t+1.2,t+1.6,およびt+2の60P信号のフレームが生成される。
図4は、本発明の処理をより具体的に説明する図である。図4の例においては、太線矢印は、各状態への遷移を表しており、矢印Tは、状態81乃至85における時間の経過方向を表している。また、状態81乃至85は、信号処理装置1を構成する各部への入出力時の、24P信号の時刻tのフレームt、時刻tの次の時刻t+1のフレームt+1、または、フレームtおよびフレームt+1の間に生成される60P信号の内挿フレームFの状態を概念的に表している。すなわち、実際には、例えば、状態82に示されるような動きベクトルが検出されたフレームがベクトル割付部54に入力される訳ではなく、フレームと動きベクトルは、別々にベクトル割付部54に入力される。
状態81は、ベクトル検出部52に入力される、24P信号のフレームtおよびフレームt+1の状態を表している。状態81のフレームt上の黒点は、フレームt上の画素を表している。ベクトル検出部52は、状態81のフレームt上の画素が、次の時刻のフレームt+1において、どの位置に移動するかを検出し、その動きを、状態82のフレームt上に示されるように、各画素に対応する動きベクトルとして出力する。この2フレーム間の動きベクトルの検出方法には、ブロックマッチング法または勾配法などが用いられる。なお、このとき、画素に複数の動きベクトルが検出された場合、ベクトル検出部52は、各動きベクトルについて、図5を参照して後述する評価値を求め、その評価値に基づいて動きベクトルを選択する。
状態82は、ベクトル割付部54に入力される、フレームtおよびフレームt+1の状態を表している。状態82において、フレームtの各画素の矢印は、ベクトル検出部52により検出された動きベクトルを表している。
ベクトル割付部54は、状態82のフレームtの各画素に対して検出された動きベクトルを、次のフレームt+1まで延長させ、予め設定されている時間位相(例えば、図3のt+0.4)にある内挿フレームF上のどの位置を通過するかを求める。これは、フレームtおよびフレームt+1の間が一定動きであると仮定すると、動きベクトルが内挿フレームFを通過した点が、そのフレームでの画素位置となるためである。したがって、ベクトル割付部54は、この通過する動きベクトルを、状態83の内挿フレームF上の近傍4画素に割り付ける。また、このとき、内挿フレームの画素によっては、動きベクトルが存在しない場合、あるいは、複数の動きベクトルが、割付候補となりうる場合がある。後者のような場合には、ベクトル割付部54は、ベクトル検出部52と同様に、各動きベクトルについての評価値を求め、その評価値に基づいて割り付ける動きベクトルを選択する。
状態83は、割付補償部57に入力される、フレームtおよびフレームt+1、並びに動きベクトルが割り付けられた内挿フレームFの状態を表している。状態83の内挿フレームFにおいては、ベクトル割付部54により動きベクトルが割り付けられている画素と、動きベクトルが割り付けられなかった画素が示されている。
割付補償部57は、状態83の動きベクトルが割り付けられていない画素に対して、その画素の周辺画素に割り付けられている動きベクトルを用いて補う。これは、ある着目画素の近傍領域が同じ動きであるという仮定が成り立つならば、着目画素の周辺画素の動きベクトルと、その着目画素の動きベクトルは似たものであるからである。これにより、動きベクトルが割り付けられなかった画素にも、ある程度正確な動きベクトルが与えられ、状態84の内挿フレームF上のすべての画素に動きベクトルが割り付けられる。
割付補償部57においても、複数の周辺画素の動きベクトルが候補として存在するため、ベクトル割付部54と同様に、各動きベクトルについての評価値を求め、その評価値に基づいて割り付ける動きベクトルが選択される。なお、詳細は図22以降に後述するが、この場合、評価値としては、動きベクトルについての評価値に、さらに、着目画素の位置と、候補となる動きベクトルが割り付けられている画素の位置の距離に応じた重みが付けられたものが用いられる。
状態84は、画像補間部58に入力される、フレームtおよびフレームt+1、並びに、すべての画素に動きベクトルが割り付けられた内挿フレームFの状態を表している。これらのすべての画素に割り付けられた動きベクトルにより、画像補間部58は、内挿フレームF上の画素と、2枚のフレームtおよびフレームt+1の画素の位置関係を決定することができる。したがって、画像補間部58は、内挿フレームF上に割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、状態85の内挿フレームFの黒点に示されるように、内挿フレームF上の画素値を補間生成する。そして、画像補間部58は、生成された内挿フレームを出力し、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、図示せぬ後段に出力する。
次に、図5を参照して、本発明に係る信号処理装置1において用いられる動きベクトルの評価値を説明する。図4を参照して上述したように、信号処理装置1の各部(ベクトル検出部52、ベクトル割付部54、および割付補償部57)において、後段の処理に最適な動きベクトルが選択される。このとき、信号処理装置1の各部においては、動きベクトルに対する評価値として、2つのフレームの注目するベクトル量分ずらしたブロック間の相関値を表す差分絶対値和(DFD(Displaced Frame Difference))が用いられる。
図5の例においては、時刻tのフレームt上の画素位置pを中心としたm×nのブロック、および、時刻t+1のフレームt+1上の画素位置pから注目する動きベクトルvのベクトル量分ずらした画素位置p+vを中心としたm×nのブロックの2つのブロックが示されている。これら2つのブロック間において求められる差分絶対値和DFDt(p)は、次の式(1)で表される。
ここで、Ft(p)は、時刻tにおける画素位置pの輝度値を表しており、m×nは、差分絶対値和を求めるためのDFD演算範囲(ブロック)を表している。この差分絶対値和は、2つのフレームにおけるDFD演算範囲(ブロック)間の相関値を表しているため、一般的には、この差分絶対値和が小さいほどフレーム間のブロックの波形が一致しており、差分絶対値和が小さいほど、動きベクトルvの信頼度が高いと判定される。これにより、この差分絶対値和は、複数の候補の中から、最も確からしい動きベクトルを選ぶ場合などに用いられる。
したがって、以降、信号処理装置1の各部(ベクトル検出部52、ベクトル割付部54、および割付補償部57)においては、動きベクトルが選択される場合の評価値として、特に言及しない場合には、差分絶対値和(以下、評価値DFDと称する)が用いられることとする。
次に、図6のフローチャートを参照して、信号処理装置1のフレーム周波数を変換する処理を説明する。
ステップS1において、ベクトル検出部52は、時刻t+1の入力画像のフレームt+1と、フレームメモリ51の入力画像の1つ前の時刻tのフレームtの画素値を入力する。なお、このとき、ベクトル割付部54、割付補償部57および画像補間部58も、時刻t+1の入力画像のフレームt+1と、フレームメモリ51の入力画像の1つ前の時刻tのフレームtの画素値を入力する。
ステップS2において、ベクトル検出部52は、動きベクトル検出処理を実行する。すなわち、ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像である次のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶し、ステップS3に進む。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。
また、動きベクトルの候補が複数ある場合には、各動きベクトルに対して、評価値DFDが求められ、求められた評価値DFDに基づいた信頼度の高い動きベクトルが検出される。すなわち、この場合、動きベクトルを検出する着目ブロックにおいて、最も確からしい動きベクトルが選択され、検出される。ステップS2における、動きベクトル検出処理の詳細は、図12を参照して後述する。
ステップS3において、ベクトル割付部54は、ベクトル割付処理を実行する。すなわち、ベクトル割付部54は、ステップS3において、フレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する内挿フレーム上の着目画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(True)に書き換える。例えば、Trueである割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、Falseである割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。
なお、各画素において、動きベクトルの候補が複数ある場合には、各動きベクトルに対して、評価値DFDが求められ、求められた評価値DFDに基づいた信頼度の高い動きベクトルが割り付けられる。すなわち、この場合、動きベクトルを割り付ける着目画素において、最も確からしい動きベクトルが選択され、割り付けられる。ステップS3における、ベクトル割付処理の詳細は、図19を参照して後述する。
ステップS4において、割付補償部57は、割付補償処理を実行する。すなわち、割付補償部57は、ステップS4において、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを補い、割付けた着目画素の割付フラグを1(True)に書き換える。
なお、周辺画素の動きベクトルが複数ある場合には、各動きベクトルに対して、評価値が求められ、求められた評価値に基づいた、信頼度の高い動きベクトルが割り付けられる。このとき、評価値としては、各動きベクトルに対して求められた評価値DFDに、着目画素の位置と、候補となる動きベクトルが割り付けられている画素の位置の距離に応じた重みを付けて演算されたものが用いられる。これにより、動きベクトルを割り付ける着目画素において、最も確からしい動きベクトルが選択され、割り付けられる。ステップS4における、割付補償処理の詳細は、図33を参照して後述する。
ステップS5において、画像補間部58は、画像補間処理を実行する。すなわち、画像補間部58は、ステップS5において、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成する。ステップS5における、画像補間処理の詳細は図8を参照して後述する。
画像補間部58は、ステップS6において、60P信号の画像を出力し(生成された内挿フレームを出力し)、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、図示せぬ後段に出力する。
ステップS7において、ベクトル検出部52は、すべてのフレームの処理が終了したか否かを判定し、すべてのフレームの処理がまだ終了していないと判定した場合、処理は、ステップS1に戻り、それ以降の処理が繰り返される。一方、ベクトル検出部52は、ステップS7において、すべてのフレームの処理が終了したと判定した場合、フレーム周波数を変換する処理を終了させる。
以上のように、信号処理装置1においては、基本的に、動きベクトルを検出する処理、検出した動きベクトルを内挿フレーム上の画素に割り付ける処理、動きベクトルが割り付けられていない内挿フレームの画素に動きベクトルを補償する処理、および、割り付けられた動きベクトルと2つのフレームの画素値から内挿フレームを補間生成する処理の4つの処理が行われる。
なお、このとき、信号処理装置1は、各処理において、評価値DFD(差分絶対値和)、または、評価値DFDに所定の重みが付けられた評価値に基づく、より信頼度の高い動きベクトルを選択し、後段に出力する。したがって、信号処理装置1においては、動きが破綻することなどが抑制され、より精度のよい画像を生成することができる。以下、それぞれの処理、および、それを実現する構成の詳細について順に説明する。
まず、画像補間部58の構成の詳細について説明する。
図7は、画像補間部58の構成を示すブロック図である。図7に構成を示す画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成し、60P信号の画像を出力する処理を行う。
図7の例において、時刻tの画像のフレームtは、空間フィルタ92−1に入力され、時刻t+1の画像のフレームt+1は、空間フィルタ92−2およびバッファ95に入力される。
補間制御部91は、割付ベクトルメモリ55の内挿フレームの画素を選択し、選択した画素に割り付けられている動きベクトルに基づいて、内挿フレーム上の画素と、2枚のフレームtおよびフレームt+1の画素との位置関係(空間シフト量)をそれぞれ求める。すなわち、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt上の位置と、内挿フレームの画素に対応するフレームt上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−1に供給する。同様に、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt+1上の位置と、内挿フレームの画素に対応するフレームt+1上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−2に供給する。
また、補間制御部91は、予め設定されている内挿フレームの時間位相(時刻)に基づいて、フレームtとフレームt+1の間における補間重みを求め、求めた補間重みを、乗算器93−1および93−2に設定する。例えば、内挿フレームの時刻が、フレームt+1の時刻t+1から「k」離れた時刻で、かつ、フレームtの時刻tから「1−k」離れた時刻である場合(すなわち、内挿フレームが時刻tと時刻t+1を「1−k」:「k」に内分する時刻に生成される場合)、補間制御部91は、乗算器93−1に「1−k」の補間重みを設定し、乗算器93−2に「k」の補間重みを設定する。
空間フィルタ92−1および92−2は、例えば、キュービックフィルタなどにより構成される。空間フィルタ92−1は、入力されるフレームt上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、フレームt上の画素値を求め、求めた画素値を乗算器93−1に出力する。空間フィルタ92−2は、入力されるフレームt+1上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、フレームt+1上の画素値を求め、求めた画素値を乗算器93−2に出力する。
なお、内挿フレームの画素の位置が、フレームtまたはフレームt+1上の画素の位置と一致しない場合(すなわち、内挿フレームの画素の位置が、フレームtまたはフレームt+1において画素以下成分である場合)、空間フィルタ92−1および92−2は、フレームtまたはフレームt+1における内挿フレームの画素の位置の周辺4画素の画素値を用いて、周辺4画素の距離の逆比の和を求めることにより、内挿フレームの画素に対応するフレーム上の画素値を求める。すなわち、画素以下位置の画素値は、周辺4画素との距離を基にした線形補間で値が求められる(その詳細は図18を参照して後述する)。
乗算器93−1は、空間フィルタ92−1から入力されるフレームt上の画素値に、補間制御部91により設定された補間重み「1−k」を乗算し、重み付けされた画素値を、加算器94に出力する。乗算器93−2は、空間フィルタ92−2から入力されるフレームt+1上の画素値に、補間制御部91により設定された補間重み「k」を乗算し、重み付けされた画素値を、加算器94に出力する。
加算器94は、乗算器93−1から入力される画素値と、乗算器93−2から入力される画素値を加算することにより、内挿フレームの画素の画素値を生成し、生成された内挿フレームの画素値を、バッファ95に出力する。バッファ95は、入力されたフレームt+1をバッファしている。バッファ95は、生成された内挿フレームを出力し、その次に、予め設定されている60Pフレームの時間位相(時刻)に基づいて、必要に応じて、バッファしているフレームt+1を出力することにより、60P信号の画像を、図示せぬ後段に出力する。
以上のように構成される画像補間部58の画像補間処理の詳細を、図8のフローチャートを参照して説明する。
補間制御部91は、ステップS51において、処理する内挿フレームの時間位相に基づいて、フレームtとフレームt+1の間における内挿フレームの補間重み(例えば、「k」および「1−k」)を求め、求められた補間重みを、乗算器93−1および93−2にそれぞれ設定する。補間制御部91は、ステップS52において、割付ベクトルメモリ55の内挿フレームの画素を選択する。なお、内挿フレーム上の画素は、フレームの左上の画素からラスタスキャン順に選択される。
補間制御部91は、ステップS53において、選択した画素に割り付けられている動きベクトルに基づいて、内挿フレーム上の画素と、2枚のフレームtおよびフレームt+1の画素との位置関係(空間シフト量)をそれぞれ求め、求められた空間シフト量を、それぞれ空間フィルタ92−1および92−2に供給する。具体的には、補間制御部91は、ステップS53において、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt上の位置と、内挿フレームの画素に対応するフレームt上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−1に供給する。同様に、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt+1上の位置と、内挿フレームの画素に対応するフレームt+1上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−2に供給する。
時刻tの画像のフレームtの画素値は、空間フィルタ92−1に入力され、時刻t+1の画像のフレームt+1の画素値は、空間フィルタ92−2に入力されている。ステップS54において、空間フィルタ92−1および92−2は、入力されるフレームtおよびt+1上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、各フレーム上の画素値を求め、求めた画素値を乗算器93−1および93−2にそれぞれ出力する。
乗算器93−1および93−2は、ステップS55において、空間フィルタ92−1または92−2から入力される各フレーム上の画素値に、補間制御部91により設定された補間重みを重み付けし、重み付けされた画素値を、加算器94に出力する。すなわち、乗算器93−1は、空間フィルタ92−1から入力されるフレームt上の画素値に、補間制御部91により設定された補間重み「1−k」を乗算し、重み付けされた画素値を、加算器94に出力する。乗算器93−2は、空間フィルタ92−2から入力されるフレームt+1上の画素値に、補間制御部91により設定された補間重み「k」を乗算し、重み付けされた画素値を、加算器94に出力する。
加算器94は、ステップS56において、乗算器93−1により重み付けされた画素値と、乗算器93−2により重み付けされた画素値を加算することにより、内挿フレームの画素の画素値を生成し、生成された画素値を、バッファ95に出力する。補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したか否かを判定し、内挿フレーム上のすべての画素についての処理が終了していないと判定した場合、処理は、ステップS52に戻り、それ以降の処理が繰り返される。補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したと判定した場合、画像補間処理を終了する。
以上のように、内挿フレームに割り付けられた動きベクトルに基づいて、内挿フレームの画素値が生成され、上述した図6のステップS6において、バッファ95により、内挿フレームが出力され、その次に、必要に応じて、フレームt+1が出力されることにより、60P信号の画像が、後段に出力される。したがって、内挿フレームの画素に、最も確からしい動きベクトルが割り付くので、精度のよい内挿フレームを生成することができる。
次に、ベクトル検出部52の構成の詳細について説明する。
図9は、ベクトル検出部52の構成を示すブロック図である。図9に構成を示すベクトル検出部52は、入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、フレームt上の動きベクトルを検出する。この動きベクトルを検出する処理は、複数の画素からなる所定のブロック毎に実行される。
初期ベクトル選択部101は、所定のブロック毎に、過去の動きベクトルの検出結果から求められる信頼度が高い動きベクトルを、勾配法に用いられる初期値となる初期ベクトルV0として、反復勾配法演算部103に出力する。具体的には、初期ベクトル選択部101は、検出ベクトルメモリ53に記憶される過去に求められた周辺のブロックの動きベクトルや、シフト初期ベクトルメモリ107に記憶されるシフト初期ベクトルを、初期ベクトルの候補ベクトルとして選択する。そして、初期ベクトル選択部101は、フレームtとフレームt+1を用いて、候補ベクトルの評価値DFDを求め、候補ベクトルの中から、求められた評価値DFDに基づく、最も信頼度が高いものを選択し、初期ベクトルV0として出力する。
プリフィルタ102−1および102−2は、ローパスフィルタやガウシアンフィルタにより構成され、それぞれ、入力される画像のフレームtおよびフレームt+1のノイズ成分を除去し、反復勾配法演算部103に出力する。
反復勾配法演算部103は、初期ベクトル選択部101から入力された初期ベクトルV0と、プリフィルタ102−1および102−2を介して入力されるフレームtおよびフレームt+1を用いて、所定のブロック毎に、勾配法により、動きベクトルVnを算出する。反復勾配法演算部103は、初期ベクトルV0と、算出された動きベクトルVnをベクトル評価部104に出力する。また、反復勾配法演算部103は、ベクトル評価部104による動きベクトルの評価結果に基づいて、勾配法の演算を繰り返し行い、動きベクトルVnを算出する。
ベクトル評価部104は、反復勾配法演算部103からの動きベクトルVn−1(または初期ベクトルV0)と、動きベクトルVnの評価値DFDを求め、求められた評価値DFDに基づいて、反復勾配法演算部103を制御し、勾配法の演算を繰り返し実行させ、最終的に、評価値DFDに基づく、信頼性の高いものを選択し、動きベクトルVとして、検出ベクトルメモリ53に記憶する。このとき、ベクトル評価部104は、動きベクトルVとともに、その動きベクトルVに対して求められた評価値DFDを、シフト初期ベクトル割付部105に供給する。
シフト初期ベクトル割付部105は、ベクトル評価部104より動きベクトルVおよびその評価値DFDが供給されると、次のフレーム上の着目ブロックを通過する動きベクトルを、その着目ブロックにシフトさせた、シフト初期ベクトルとして設定する。換言すると、シフト初期ベクトル割付部105は、動きベクトルVの終点のブロックと同じ位置の次のフレーム上の着目ブロックを始点とした、動きベクトルVと同じ大きさで同じ向きの動きベクトルを、シフト初期ベクトルとして設定する。そして、シフト初期ベクトル割付部105は、設定したシフト初期ベクトルを、着目ブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。
具体的には、シフト初期ベクトル割付部105は、シフト初期ベクトルとして割り付けられた動きベクトルVの評価値DFDを、着目ブロックに対応させて、評価値メモリ106に記憶させておき、同じ着目ブロックを通過する(すなわち、着目ブロックと同じ位置の過去のフレームのブロックを終点とする)他の動きベクトルVの評価値DFDと比較する。そして、シフト初期ベクトル割付部105は、評価値DFDに基づく、信頼度が高いとされた動きベクトルVを、着目ブロックにシフトさせ、着目ブロックのシフト初期ベクトルとして、シフト初期ベクトルメモリ107に割り付ける。
次に、ベクトル検出部52において用いられる勾配法の原理について説明する。まず、動画像中において、水平、垂直、時間軸を用いた座標(x,y,t)で表される画素の輝度値をg(x,y,t)とする。ここで、着目画素(x0,y0,t0)が、微小時間中に、(dx,dy,dt)だけ変位したとき、水平、垂直、時間軸の勾配(差分差)を、それぞれgx(x0,y0,t0),gy(x0,y0,t0),gt(x0,y0,t0)と表すと、変位後の画素の輝度値は、Taylor展開近似を用いて、次の式(2)で表される。
ここで、動画像中のある着目画素が1フレーム後に水平vx,垂直vyだけ移動した場合(以降、(vx,vy)と表す)、その画素の輝度値は、次の式(3)で表される。
式(2)を式(3)に代入すると、次の式(4)で表される。
式(4)は、vx,vyの2変数の式であるので、着目1画素に対する単独の式では、その解を求めることができない。そこで、次に説明するように、着目画素の周辺領域であるブロックを1つの処理単位として考え、ブロック(周辺領域)内の全画素が同じ動き(vx,vy)をすると仮定し、各画素について同様の式を立てる。仮定が前提となるが、2変数に対して周辺画素の個数の式が得られる。したがって、それらの式を連立させ、ブロック内全画素の動き補償フレーム差分の自乗和が最小になるような(vx,vy)を求める。
画素(x,y,t)が1フレーム間に(vx,vy)だけ移動したとき、その動き補償フレーム間差分dは、次の式(5)で表される。
式(5)において、Δx=gx(x,y,t)であり、水平方向の勾配を表し、Δy=gy(x,y,t)であり、垂直方向の勾配を表し、Δt=gt(x,y,t)であり、時間方向の勾配を表す。これらを用いて、動き補償フレーム間差分の自乗和をEとすると、式(6)で表される。
ここで、Eが最小となる(vx,vy)は、各変数における偏微分値が0になるとき、すなわち、δE/δvx=δE/δvy=0の条件が成立するときなので、式(6)から、次の式(7)および式(8)となる。
これらの式(7)および式(8)から、求めたい動きである(vx,vy)は、次の式(9)を演算することにより求めることができる。
ここで、図10を参照して、具体的に説明する。図10の例において、矢印Xは、水平方向を示しており、矢印Yは、垂直方向を示している。また、矢印Tは、図中、右奥の時刻tのフレームtから、左手前の時刻t+1のフレームt+1への時間の経過方向を示している。なお、図10の例においては、各フレームは、着目画素pの周辺領域(ブロック)として、勾配法演算に用いられる8画素×8画素の領域のみ示されている。
フレームtにおいて、左上の画素から下に5番目、右に5番目の画素である着目画素pの動きベクトルV(vx,vy)を、上述した勾配法を用いて求める場合、動きベクトルV(vx,vy)は、着目画素pのx,y方向のそれぞれについて求められる隣接画素pxおよびpyとの輝度の差分差(すなわち、勾配)ΔxおよびΔy、フレームt+1において求められる着目画素pの同位相に位置する画素qとの時間方向の輝度の差分差(勾配)Δtを、着目画素pの周辺領域(8画素×8画素)のすべての画素について求め、それらの差分差を、式(9)を用いて演算することにより、求めることができる。
すなわち、勾配法とは、2フレーム間において、勾配Δx,Δy,およびΔtを求め、求められたΔx,Δy,およびΔtから、差分自乗和を用いて、統計的に、動きベクトルV(vx,vy)を算出するものである。
一般的に、このような勾配法を用いた動きベクトル検出方法においては、微小動きに対して精度の高い結果が得られる。しかしながら、実際の動画像の中で動きを求めようとするとする場合、この勾配法は、その動き量が大きすぎるため実用的とはいえない。これに対応して、この勾配法を複数回反復する方法が考えられる。勾配法を反復して実行することにより、各演算で求められる動き量が収束するため、徐々に正しい動きが求められる。
しかしながら、ただ、勾配法を反復するだけでは、リアルタイム処理を行おうとした場合、演算時間の面から実用的ではない。そこで、ベクトル検出部52においては、過去フレームと現在フレームでの周辺画素の動きに基づいて求められる初期ベクトルを、初期値として用いることで、勾配法の繰り返し回数を軽減している。すなわち、動きの起点となる着目画素から、初期ベクトルが指す先へオフセットを予め加えることで大まかな動きを算出し、オフセットが加えられたその位置から勾配法を用いた演算を行うようにすれば、画素以下動きを含めた微調整を行うことができる。これにより、演算時間を増大させることなく、精度のよい動きベクトルを検出することができる。
図11は、初期ベクトルを用いて実行される反復勾配法について具体的に説明する図である。図11の例においては、矢印Tは、図中、左手前の時刻tのフレームtから、右奥の時刻t+1のフレームt+1への時間の経過を示している。なお、各画素p,q0,q1,q2,およびq3を中心としたブロックは、その画素の、勾配法演算に用いられる周辺領域(ブロック)を表している。
図11の例の場合、フレームtにおける着目画素pに対して、フレームt+1においては、着目画素pの同位相に位置する画素q0ではなく、予め求めておいた初期ベクトルv0をオフセット(移動)して計算した位置(画素)q1を開始点として1回目の勾配法演算が行われ、その結果、動きベクトルv1が得られる。
次に、画素q0からv0+v1をオフセットして計算した位置(画素)q2を開始点として、2回目の勾配法演算が行われ、その結果、動きベクトルv2が得られる。これにより、最終的に動きベクトルVは、式(10)として求められる。
以上のようにして、初期ベクトルを用いて、反復勾配法の演算を実行することにより、演算時間を短縮させつつ、精度の高い動きベクトルを求めることができる。
次に、図12のフローチャートを参照して、動きベクトル検出処理の詳細について説明する。ベクトル検出部52には、入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1が入力される。
初期ベクトル選択部101は、ステップS101において、フレームt上の処理の対象となるブロックを、着目ブロックとして選択する。なお、フレーム上においては、左上のブロックからラスタスキャン順に処理が実行される。
ステップS102において、初期ベクトル選択部101は、初期ベクトル選択処理を実行する。初期ベクトル選択部101は、ステップS101において、所定のブロック毎に、過去の動きベクトルの検出結果から、信頼度が高い動きベクトルを選択し、選択した動きベクトルを、勾配法に用いられる初期値となる初期ベクトルV0として、反復勾配法演算部103に出力する。
すなわち、初期ベクトル選択部101は、過去の勾配法演算評価処理(後述するステップS103)において求められ、検出ベクトルメモリ53に記憶された周辺ブロックの動きベクトルや、過去のシフト初期ベクトル割付処理(後述するステップS104)においてシフト初期ベクトルメモリ107に記憶されたシフト初期ベクトルを、初期ベクトルの候補ベクトルとして選択する。そして、初期ベクトル選択部101は、フレームtとフレームt+1を用いて、候補ベクトルの評価値DFDを求め、候補ベクトルの中から、求められた評価値DFDに基づいた信頼度が高いものを選択し、選択された候補ベクトルを、初期ベクトルV0として出力する。
ステップS103において、反復勾配法演算部103およびベクトル評価部104は、反復勾配法演算評価処理を実行する。具体的には、ステップS103において、反復勾配法演算部103は、初期ベクトル選択部101から入力された初期ベクトルV0と、プリフィルタ102−1および102−2を介して入力されるフレームtおよびフレームt+1を用いて、ベクトル評価部104による動きベクトルの評価結果に基づいて、勾配法の演算を繰り返し行い、動きベクトルVnを算出する。
また、ベクトル評価部104は、反復勾配法演算部103からの動きベクトルVn−1と、動きベクトルVnの評価値DFDを求め、求められた評価値DFDに基づく、最も信頼性の高いものを選択し、動きベクトルVとして、検出ベクトルメモリ53に記憶する。このとき、ベクトル評価部104は、動きベクトルVとともに、その動きベクトルVに対して求めた評価値DFDを、シフト初期ベクトル割付部105に供給する。
ステップS104において、シフト初期ベクトル割付部105は、シフト初期ベクトル割付処理を実行する。シフト初期ベクトル割付部105は、ベクトル評価部104より動きベクトルVおよびその評価値DFDが供給されると、ステップS104において、次のフレーム上の着目ブロックを通過する動きベクトルを、その着目ブロックにシフトさせた、シフト初期ベクトルとして設定する。
すなわち、換言すると、動きベクトルVの終点のブロックと同じ位置の次のフレーム上の着目ブロックを始点とした、動きベクトルVと同じ大きさで同じ向きの動きベクトルが、シフト初期ベクトルとして設定される。そして、シフト初期ベクトル割付部105は、設定したシフト初期ベクトルを、着目ブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。
なお、具体的には、シフト初期ベクトル割付部105は、シフト初期ベクトルとして割り付けられた動きベクトルVの評価値DFDを、着目ブロックに対応させて、評価値メモリ106に記憶させておき、同じ着目ブロックを通過する(すなわち、着目ブロックと同じ位置の過去のフレームのブロックを終点とする)他の動きベクトルVの評価値DFDと比較し、評価値DFDに基づく、信頼度が高いとされた動きベクトルVを、そのブロックにシフトさせてシフト初期ベクトルと設定し、シフトさせたブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。
ステップS105において、初期ベクトル選択部101は、フレームtにおいて、すべてのブロックの処理が終了したか否かを判定し、すべてのブロックの処理が終了していないと判定した場合、処理は、ステップS101に戻り、それ以降の処理が繰り返される。また、ステップS105において、初期ベクトル選択部101は、フレームtにおいて、すべてのブロックの処理が終了したと判定した場合、すなわち、フレームt上のすべてのブロックにおいて、動きベクトルVが検出されたと判定し、動きベクトル検出処理を終了させる。
以上のように、過去に検出された動きベクトルから初期ベクトルが選択され、選択された初期ベクトルに基づいて、反復勾配法の演算が用いられて、繰り返し動きベクトルが算出され、算出された動きベクトルの中から、評価値DFDに基づく、信頼度が高い(すなわち、最も確からしい)動きベクトルが検出される。この結果、検出ベクトルメモリ53に、フレームt上のすべてのブロックに対応する動きベクトルVが記憶される。
次に、ベクトル割付部54の構成の詳細について説明する。
図13は、ベクトル割付部54の構成を示すブロック図である。図13に構成を示すベクトル割付部54は、24P信号の入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、フレームt上において検出された動きベクトルを、割付ベクトルメモリ55上の、補間する60P信号の内挿フレーム上の画素に割り付ける処理を行う。
図13の例において、時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1は、画素情報演算部701、評価値演算部702、および着目画素差分演算部703に入力される。
画素情報演算部701は、検出ベクトルメモリ53のフレームt上の画素に検出された動きベクトルを、左上の画素からラスタスキャン順に取得し、取得した動きベクトルを、次の時刻のフレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。そして、画素情報演算部701は、算出された動きベクトルと内挿フレームとの交点から、内挿フレーム上において、その動きベクトルの割付対象となる画素(以下、割付対象画素と称する)を設定し、動きベクトルおよび割付対象画素の位置の情報を、ベクトル選択部705に出力する。
また、画像情報演算部701は、割付対象画素と、動きベクトルで対応付けられるフレームtの位置Pおよびフレームt+1上の位置Qを算出し、算出されたフレームtおよびフレームt+1上の位置情報を、評価値演算部702、および着目画素差分演算部703に出力する。
評価値演算部702は、画素情報演算部701から、割付対象画素と、動きベクトルで対応付けられるフレームtおよびフレームt+1上の位置情報を入力すると、フレームtの位置Pおよびフレームt+1の位置Qの評価値DFDを演算するため、位置Pおよび位置Qを中心とした一定範囲のDFD演算範囲(m×n)をそれぞれ設定し、それらのDFD演算範囲が画枠内にあるか否かを判定する。評価値演算部702は、DFD演算範囲が画枠内にあると判定した場合、このDFD演算範囲を用いて演算することにより、動きベクトルに対する割付対象画素の評価値DFDを求め、求めた評価値DFDを、ベクトル評価部704に出力する。
着目画素差分演算部703は、画素情報演算部701から、割付対象画素と、動きベクトルで対応付けられるフレームtおよびフレームt+1上の位置情報を入力すると、フレームtの位置Pおよびフレームt+1の位置Qを用いて、割付対象画素に対する輝度差分絶対値を求め、求めた輝度差分絶対値を、ベクトル評価部704に出力する。
ベクトル評価部704は、画素差分判定部711および評価値判定部712により構成される。画素差分判定部711は、着目画素差分演算部703から入力された割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいか否かを判定する。
評価値判定部712は、画素差分判定部711により着目画素差分演算部703から入力された割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいと判定された場合に、評価値演算部702から入力された割付対象画素の評価値DFDが、ベクトル選択部705が有するDFDテーブルの最小評価値より小さいか否かを判定する。そして、評価値判定部712は、割付対象画素の評価値DFDが、DFDテーブルの最小評価値より小さいと判定した場合に、割付対象画素が対応する動きベクトルの信頼度が高いと判定し、ベクトル選択部705に、割付対象画素の評価値DFDを出力する。
ベクトル選択部705は、内挿フレーム上の各画素における最小評価値を保持するDFDテーブルを有しており、内挿フレーム上の各画素に対して、0ベクトルを割り付けた場合の評価値DFD0を、内挿フレーム上の各画素における最小評価値としてDFDテーブルに予め保持している。ベクトル選択部705は、ベクトル評価部704からの割付対象画素の評価値DFDを入力すると、画素情報演算部701からの割付対象画素の位置の情報に基づいて、割付フラグメモリ56のフラグを1(true)に書き換え、割付対象画素のDFDテーブルの最小評価値を、その割付対象画素の評価値DFDに書き換える。
また、ベクトル選択部705は、画素情報演算部701からの割付対象画素の位置の情報に基づいて、割付ベクトルメモリ55の割付対象画素に、画素情報演算部701からの動きベクトルを割り付ける。
ここで、図14乃至図16を参照して、ベクトル割付処理の概念について説明する。
例えば、24P信号上でオブジェクトが速度Vで動いており、任意の2フレーム間で、このオブジェクトの動きについて等速仮定が成り立つと仮定した場合に、24P信号のフレーム間に、新しくフレームを内挿することを考える。この場合、24P信号のオブジェクトから動きベクトルVを延ばすと、動きベクトルVと内挿フレームとの交点は、同じオブジェクトであり、同じ速度Vを有する。
したがって、ベクトル検出部53で検出された24P信号のフレーム(以下、内挿フレームに対して、元フレームとも称する)の動きベクトルを、その動きベクトルと、内挿する60P信号の内挿フレーム上との交点に割り付けることで、内挿フレーム上の各画素の動きを求めることができる。
図14乃至図16の例においては、2つの24P信号の時刻tのフレームtおよび時刻t+1のフレームt+1の間に挿入された60P信号の内挿フレームFが1次元で示されている。各フレーム上の丸は画素を表している。
また、図14乃至図16の例においては、前段のベクトル検出部52によりフレームtの各画素において検出された動きベクトルV1、V2、V3、およびV4が、フレームt+1方向に延ばされている。
例えば、フレームtの左側の画素から、フレームt+1の左から2番目の画素近傍への動きベクトルV1は、内挿フレームF上の左から1番目と2番目の画素の間を通っている。フレームtの左から2番目の画素から、フレームt+1の左から3番目の画素近傍への動きベクトルV2は、内挿フレームF上の左から2番目と3番目の画素の間を通っている。フレームtの左から4番目の画素から、フレームt+1の左から3,4番目の画素近傍への動きベクトルV3は、内挿フレームF上の左から3番目と4番目の画素の間を通っている。フレームtの左から5番目の画素から、フレームt+1の左から4,5番目の画素近傍への動きベクトルV4は、内挿フレームF上の左から4番目と5番目の画素の間を通っている。
すなわち、図14に示されるように、内挿フレームFと動きベクトルとの交点は、必ずしも、内挿フレームF上の画素と一致するとは限らず、一致しない場合、動きベクトルは、図15に示されるように、内挿フレームF上の交点の近傍4画素(図14の例においては2画素)に対して割り付けられる割付候補ベクトルとして、近傍の4画素上にシフト(平行移動)されて、それぞれの画素に対して割り付けられる。
ここで、内挿フレームF上の左から3番目の画素を、画素Pとして、画素Pを用いて説明する。
図15の例の場合、画素Pには、内挿フレームF上の左から2番目と3番目の画素を通っている動きベクトルV2が、画素P上にシフト(平行移動)されて、割付候補ベクトルSV2として割り付けられており、さらに、内挿フレームF上の左から3番目と4番目の画素を通っている動きベクトルV3が、画素P上にシフト(平行移動)されて、割付候補ベクトルSV3として割り付けられている。
すなわち、図14を参照して上述したように、元フレームで検出された1つの動きベクトルが、内挿フレームにおいて、近傍4画素に対して割り付けられる候補となることもあるため、画素によっては、図15の画素Pに示されるように、複数の動きベクトルが割付候補ベクトル(割付候補ベクトルSV2およびSV3)となる場合がある。
この場合、ベクトル割付部54は、各割付候補ベクトルSV2およびSV3について、内挿フレームF上の画素と、その割付候補ベクトルで対応付けられる元フレームtおよびt+1上の交点を算出し、その交点を用いて、各割付候補ベクトルSV2およびSV3を評価することで、最終的に、図16に示されるように、割付候補ベクトルSV3を、内挿フレームF上の画素Pに割り付ける動きベクトルとして決定する。
次に、図17を参照して、ベクトル割付部54における動きベクトルの評価について説明する。
図17は、下から、時刻tのフレームt、時刻t+postの内挿フレームF1、および、時刻t+1のフレームt+1を、1次元的に示している。
図17の例において、動きベクトルSVaは、フレームt上の画素(xa,ya)において検出された動きベクトルVaが、近傍の画素G4の割付候補ベクトルとして、画素G4上にシフト(平行移動)されたものである。ここで、画素G4上にシフトされた動きベクトルSVaと、フレームtおよびフレームt+1との交点を、それぞれ点Pおよび点Qとする。
ベクトル割付部54は、動きベクトルSVaの第1の評価として、まず、点Pおよび点Qを中心としたDFD演算範囲をそれぞれ求め、求めたDFD演算範囲が画枠をはみ出してしまうか否かを判定する。したがって、点Pおよび点Qを中心としたDFD演算範囲が画枠をはみ出てしまった場合には、動きベクトルSVaは、候補から除外される。
また、この点Pおよび点Qが、例えば、異なるオブジェクトに属する場合、点Pの輝度値Ft(P)と、点Qの輝度値Ft+1(Q)の差は、大きくなってしまう。したがって、ベクトル割付部54は、動きベクトルSVaの第2の評価として、点Pと点Qを用いて、画素G4における輝度差分絶対値dpを求め、輝度差分絶対値dpが所定の値より大きいか否かを判定する。輝度差分絶対値dpが所定の値より大きいと判定された場合には、画素G4における動きベクトルSVaの信頼度が低いとされ、動きベクトルSVaは、候補から除外される。なお、輝度差分絶対値dpは、次の式(11)で表される。
そして、動きベクトルSVaの第3の評価として、ベクトル割付部54は、点Pおよび点Qを中心としたDFD演算範囲の相関値を表す差分絶対値による評価判定を行う。すなわち、ベクトル割付部54は、点Pおよび点Qを中心としたDFD演算範囲を用いて、画素G4における動きベクトルSVaの評価値DFD(差分絶対値)を求め、求められた評価値DFDがDFDテーブルの最小評価値よりも小さいか否かを判定する。以上の評価の結果、ベクトル割付部54は、求められた評価値DFDの中で最小の評価値DFDを有する動きベクトルを、画素G4に割り付ける。
以上のように、内挿フレームの画素における割付候補の動きベクトルを、割付対象画素の評価値DFDだけでなく、割付対象画素における輝度差分絶対値を用いて評価するようにしたので、評価値DFDを用いるだけの場合よりも、確からしい動きベクトルを、割付対象画素に割り付けることができる。この結果、ベクトル割付の精度が向上する。
次に、動きベクトルの画素以下精度を説明する。
フレームtの画素位置pをベクトルv量分ずらした先のフレームt+1上の位相p+vは、実際には、24p信号のフレームt+1上の画素位置と一致しない場合があり、その場合の輝度値は定義されていない。したがって、画素以下精度を有する動きベクトルvに対する評価値DFDの演算を行うためには、画素以下の位相における輝度値を何らかの方法で生成しなければならず、その輝度値を得るために、例えば、周辺4画素の輝度値による補間処理が用いられる。
図18は、本発明の4点補間処理の概念を示す図である。
図18においては、矢印Xが、フレームt+1における水平方向を示しており、矢印Yが、フレームt+1における垂直方向を示している。このフレームt+1において、白丸は、フレームt+1上の画素位置を表しており、黒点は、画素以下の(粒度の)位置を表している。
また、ウインドウEに示される画素は、フレームt+1上における最左上の黒点p+vとその周辺4画素を拡大したものである。ウインドウEにおいて、白丸内のアルファベットは、周辺4画素の輝度値を示している。
このフレームt+1における最左上の黒点p+vが、図示しないフレームtの画素位置pをベクトルv量分ずらした先の位相p+vとすると、位相p+vの輝度値Ft+1(p+v)は、位相p+vの水平方向の画素以下成分αおよび垂直方向の画素以下成分β、並びに、位相p+vの周辺4画素の輝度値L0乃至L4を用いて、周辺4画素の距離の逆比の和で求められる。すなわち、輝度値Ft+1(p+v)は、次の式(12)で表され、その輝度値Ft+1(p+v)が、輝度差分絶対値dpや評価値DFDの演算に用いられる。
なお、上述した画素値生成処理の演算や、初期ベクトル選択処理、ベクトル検出処理、または、後述する割付補償処理時の評価値DFDの演算においても、この4点補間が適用される。
次に、図19のフローチャートを参照して、ベクトル割付部54により行われるベクトル割付処理の全体について説明する。この処理は、図6のステップS3において行われる処理である。
24P信号の元フレームである、時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1は、画素情報演算部701、評価値演算部702、および着目画素差分演算部703に入力される。
画素情報演算部701は、新しい元フレームが入力されると、ベクトル選択部705を制御し、ステップS701において、割付フラグメモリ56の割付フラグを0(False)で初期化させる。また、画素情報演算部701は、割付ベクトルメモリ55を0ベクトルで初期化させる。これにより、結果的に、動きベクトルが割り付けられない画素に、0ベクトルが割り付けられる。
画素情報演算部701は、ステップS703において、評価値演算部702を制御し、内挿フレーム上のすべての画素に対して、0ベクトルを用いて評価値DFD0を算出させる。画素情報演算部701は、ベクトル選択部705を制御し、評価値演算部702により算出された0ベクトルの評価値DFD0を、内挿フレームの各画素に対する最小評価値としてDFDテーブルに記憶させる。
画素情報演算部701は、ステップS704において、検出ベクトルメモリ53上の元フレームから画素を選択する。なお、この場合、フレームの左上からラスタスキャン順に画素が選択される。
画素情報演算部701は、ステップS705において、画素位置演算処理を実行する。この画素位置演算処理により、ステップS704において選択された画素において検出された動きベクトルが割り付けられる対象となる内挿フレーム上の割付対象画素が算出され、算出された割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が算出される。画素位置演算処理の詳細については、図20を参照して後述する。
画素情報演算部701は、ステップS706において、算出された割付対象画素を選択し、選択した割付対象画素と、その動きベクトルを、ベクトル選択部705に出力する。このとき、同時に、画素情報演算部701は、選択した割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置の情報を、評価値演算部702および着目画素演算部703に出力する。なお、ステップS706において、画素情報演算部701は、割付対象画素が複数存在する場合には、左上の画素から選択する。
ステップS707において、画素情報演算部701は、選択された割付対象画素に関して、割付ベクトル評価処理を実行する。この割付ベクトル評価処理により、割付対象画素における動きベクトルの評価値DFDおよび輝度差分絶対値が求められ、割付対象画素における動きベクトルの信頼度が判定され、これらの判定の結果、信頼度が高いとされた動きベクトルで、割付ベクトルメモリ55の動きベクトルが書き換えられる。割付ベクトル評価処理の詳細については、図21を参照して後述する。
画素情報演算部701は、ステップS708において、すべての割付対象画素の処理が終了したか否かを判定し、まだ、すべての割付対象画素の処理が終了していないと判定した場合には、処理は、ステップS706に戻り、次の割付対象画素が選択され、それ以降の処理を繰り返される。
ステップS708において、すべての割付対象画素の処理が終了したと判定された場合、画素情報演算部701は、ステップS709において、検出ベクトルメモリ53上の元フレームのすべての画素の処理を終了したか否かを判定する。画素情報演算部701は、ステップS709において、検出ベクトルメモリ53上の元フレームのすべての画素の処理を終了していないと判定した場合、処理は、ステップS704に戻り、検出ベクトルメモリ53上の元フレームの次の画素が選択され、それ以降の処理が繰り返される。
また、画素情報演算部701は、ステップS709において、検出ベクトルメモリ53のすべての画素についての処理を終了したと判定した場合、処理を終了させる。その後、処理は図6のステップS3に戻り、それ以降の処理が行われる。
次に、図20のフローチャートを参照して、画素位置演算処理の詳細を説明する。なお、図20は、図19のステップS705の画素位置演算処理の例を示している。
ステップS721において、画素情報演算部701は、ステップS704の処理により選択された画素で検出された動きベクトルを、検出メモリベクトル53から取得する。なお、選択された画素の動きベクトルが0ベクトルである場合、割付ベクトルメモリ55には、初期値として0ベクトルが予め記憶されているので、以降のステップS722乃至S724、および、図19のステップS706乃至S708の処理はスキップされる。
画素情報演算部701は、ステップS722において、取得された動きベクトルと内挿フレームの交点を算出する。すなわち、画素情報演算部701は、取得した動きベクトルを、次フレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。
画素情報演算部701は、ステップS723において、動きベクトルと内挿フレームから算出された交点から、割付対象画素を設定する。このとき、画素情報演算部701は、交点が内挿フレーム上の画素位置に一致する場合には、交点を、割付対象画素に設定する。一方、画素情報演算部701は、交点が内挿フレーム上の画素位置に一致しない場合には、上述したように、内挿フレーム上の交点の近傍4画素を、割付対象画素に設定する。
ステップS724において、画素情報演算部701は、それぞれの割付対象画素を基準に、取得した動きベクトルで対応付けた元フレーム上の位置を算出する。例えば、割付対象画素にシフトされた動きベクトルと、元フレーム上の交点の位置が算出される。
算出された元フレーム上の位置は、評価値演算部702が評価値DFDを求めるために、また、着目画素差分演算部703が輝度差分絶対値を求めるために用いられる。その後、図19のステップS705に戻り、それ以降の処理が行われる。
次に、図21のフローチャートを参照して、割付ベクトル評価処理の詳細を説明する。なお、図21は、図19のステップS707の割付ベクトル評価処理の例を示している。
図51のステップS706において、画素情報演算部701により、選択した割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が求められ、求められた元フレーム上の位置の情報が、評価値演算部702および着目画素差分演算部703に入力される。
評価値演算部702は、画素情報演算部701から、元フレーム上の位置の情報が入力されると、ステップS741において、割付対象画素における動きベクトルの評価値DFDを求めるために、フレームtおよびフレームt+1上の位置を中心としたDFD演算範囲(m×n)をそれぞれ求める。
評価値演算部702は、ステップS742において、求められたDFD演算範囲が画枠内にあるか否かを判定する。評価値演算部702は、ステップS742において、DFD演算範囲が画枠からはみ出していると判定した場合、その動きベクトルは、割付対象画素に割り付ける割付候補ベクトルにはならないと判定し、処理を終了させる。
評価値演算部702は、ステップS742において、求められたDFD演算範囲が画枠内にあると判定した場合、ステップS743において、画枠内にあると判定されたDFD演算範囲を用いて、割付対象画素の評価値DFDを演算し、求められた評価値DFDを、評価値判定部712に出力する。なお、このとき、元フレーム上の位置が画素以下であった場合には、上述した4点補間を用いて、元フレーム上の交点の輝度値を求めることにより、割付対象画素の評価値DFDが演算される。
一方、着目画素差分演算部703は、画素情報演算部701から、元フレーム上の位置の情報が入力されると、ステップS744において、割付対象画素における輝度差分絶対値dpを求め、求められた輝度差分絶対値dpを、画素差分判定部711に出力する。なお、このときも、元フレーム上の位置が画素以下であった場合には、着目画素差分演算部703は、上述した4点補間を用いて、元フレーム上の交点の輝度値を求めることにより、割付対象画素における輝度差分絶対値dpを演算する。
画素差分判定部711は、ステップS745において、着目画素差分演算部703からの割付対象画素の輝度差分絶対値dpが、所定のしきい値以下であるか否かを判定し、割付対象画素の輝度差分絶対値dpが、所定のしきい値より大きいと判定した場合、フレームtおよびフレームt+1の交点がそれぞれ異なるオブジェクトに属する可能性が高いと判定し、すなわち、その動きベクトルは、割付対象画素における信頼度が低く、割付対象画素に割り付ける割付候補ベクトルにはならないと判定し、処理を終了させる。
画素差分判定部711は、ステップS745において、割付対象画素の輝度差分絶対値dpが、所定のしきい値以下であると判定した場合、処理は、ステップS746に進む。
評価値判定部712は、ステップS746において、ベクトル選択部705のDFDテーブルを参照し、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値(いまの場合、0ベクトルの評価値DFD0)よりも小さいか否かを判定し、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値以上であると判定した場合、その動きベクトルは、割付対象画素において、信頼度が高くないと判定し、処理を終了させる。
一方、評価値判定部712は、ステップS746において、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値よりも小さいと判定した場合、その動きベクトルは、割付対象画素において、いままで比較した動きベクトルの中で最も、評価値DFDに基づく信頼度が高いと判定し、信頼度が高いと判定された割付対象画素の評価値DFDを、ベクトル選択部705に出力する。
ベクトル選択部705は、評価値判定部712からの割付対象画素の評価値DFDを入力すると、ステップS747において、割付フラグメモリ56の割付対象画素の割付フラグを1(True)に書き換える。
また、ベクトル選択部705は、ステップS748において、DFDテーブルの割付対象画素が対応する最小評価値を、評価値判定部712により信頼度が高いと判定された評価値DFDに書き換える。
ベクトル選択部705には、ステップS706において、画素情報演算部701から選択した割付対象画素とその動きベクトルが入力されている。したがって、ベクトル選択部705は、ステップS749において、割付ベクトルメモリ55の割付対象画素に割り付けられている動きベクトルを、信頼度が高いと判定された評価値DFDに対応する動きベクトルで書き換える。
ベクトル選択部705には、図19のステップS706において、割付対象画素とその動きベクトルが画素情報演算部101から供給されている。その後、ステップS707に戻り、それ以降の処理が行われる。
以上のように、内挿フレームの割付対象画素に割り付けられる動きベクトルを選ぶときに、評価値DFDだけでなく、割付対象画素を基準に動きベクトルで対応付けた元フレーム上の位置に基づいて求められる、割付対象画素の輝度差分絶対値を別扱いにし、評価するようにしたので、評価値DFDを用いるだけの場合よりも、割付候補ベクトルの中から、最も確からしい動きベクトルを選んで、割付対象画素に割り付けることができる。これにより、ベクトル割付の精度が向上し、後段の画像補間処理において生成される画像の不連続性などを抑制することができ、画像の品質を向上させることができる。
さらに、評価値DFDや輝度差分絶対値を求める際などに、画素以下位置の画素値が必要な場合に、その画素以下位置の近傍4画素との距離を基にした線形補間で値を求めるようにしたので、画素以下位置精度の処理が可能になり、さらに、画素以下成分を丸めてしまう方法よりも、輝度差分絶対値dpや評価値DFDを精度よく求めることができ、これにより、割付候補ベクトルの中から、着目画素により確からしい動きベクトルを割り付けることができる。すなわち、ベクトル割付処理の精度が向上する。
また、0ベクトルによる評価値DFDを初期値として、DFDテーブルに予め保持しておき、動きベクトルを順次処理している間に、ある動きベクトルによる評価値DFDがその時点で最小評価値となった場合に、DFDテーブルの最小評価値と、割付ベクトルメモリ55に割り付けられている動きベクトルを、随時更新するようにしたので、時間とリソースを効率的に使用することができる。
次に、割付補償部57の構成の詳細について説明する。
図22は、割付補償部57の構成を示すブロック図である。図22に構成を示す割付補償部57は、ベクトル補償部801、評価値演算部802、補償候補ベクトルメモリ803、および同一ベクトル判定部804により構成され、ベクトル割付部54により動きベクトルが割り付けられなかった60P信号の内挿フレーム上の画素に、その周辺画素の動きベクトルを補って割り付ける処理を行う。
前段のベクトル割付部54により、割付ベクトルメモリ55上の内挿フレームの画素には動きベクトルが割り付けられている。また、ベクトル割付部54により動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグには、1(True)が書き込まれており、動きベクトルが割り付けられなかった画素の割付フラグメモリ56の割付フラグには、0(False)が書き込まれている。
ベクトル補償部801は、フレーム(画面)上の座標(x,y)を基に、処理の対象となるフレーム(内挿フレーム)から、動きベクトルを補って割り付ける処理の単位となる補償処理対象ブロックを選択する。補償処理対象ブロックは、注目ブロックの一例であり、注目画素である、複数の画素を含む。なお、補償処理対象ブロックを1の画素で構成することもできる。ここで、xは、フレーム(画面)上の水平方向の位置を示し、yは、フレーム(画面)上の垂直方向の位置を示す。
ベクトル補償部801は、処理の対象となるフレームから補償処理対象ブロックを順に選択することにより、フレームの画素の内、動きベクトルが割り付けられていない全ての画素について、動きベクトルを補って割り付ける。
例えば、ベクトル補償部801は、処理の対象となるフレームから、ラスタスキャン順に補償処理対象ブロックを選択する。
また、ベクトル補償部801は、割付フラグメモリ56の割付フラグを基に、選択した補償処理対象ブロック内に、動きベクトルが割り付けられていない注目画素があるか否かを判定する。選択した補償処理対象ブロック内に、動きベクトルが割り付けられていない注目画素がないと判定された場合には、補償処理対象ブロックに属する注目画素に動きベクトルを割り付ける必要がないので、ベクトル補償部801は、その補償処理対象ブロックについて、動きベクトルを補って割り付ける割付補償処理を実行しないで(処理をスキップして)、次の補償処理対象ブロックを選択する。
選択した補償処理対象ブロック内に、動きベクトルが割り付けられていない注目画素があると判定された場合には、補償処理対象ブロックに属する注目画素に動きベクトルを割り付ける必要があるので、ベクトル補償部801は、その補償処理対象ブロックに対して動きベクトルを補って割り付ける割付補償処理を実行する。
その補償処理対象ブロックに対して動きベクトルの割付補償処理を実行する場合、ベクトル補償部801は、さらに、補償処理対象ブロックの周辺の画素であって、補償処理対象ブロックに隣接する画素である隣接画素からなる候補ベクトル選択領域を決定する。
ベクトル補償部801は、補償処理対象ブロックに含まれる注目画素、および隣接画素のそれぞれに優先順位を付する。この優先順位は、補償処理対象ブロックにおける注目画素の位置、補償処理対象ブロックに対する隣接画素の位置、および注目画素および隣接画素の相互の位置関係を基に、注目画素および隣接画素のそれぞれに付される。
例えば、ベクトル補償部801は、ラスタスキャン順を基に、注目画素および隣接画素のそれぞれに、優先順位を付する。より具体的には、例えば、ベクトル補償部801は、隣接画素に比較して注目画素が優先する優先順位であって、注目画素のラスタスキャン順に対応する優先順位を注目画素に付して、隣接画素のラスタスキャン順に対応する優先順位を隣接画素に付する。
ベクトル補償部801は、評価値演算部802に、評価値の演算を指示する。この場合、まず、ベクトル補償部801は、評価値演算部802に、0ベクトル(x方向の成分vxが0であって、y方向の成分vyが0であるベクトル(静止ベクトル))について、評価値の演算を指示する。
次に、ベクトル補償部801は、優先順位の順に、評価値演算部802に、動きベクトルが割り付けられている注目画素および隣接画素について、その動きベクトルの信頼性を評価する評価値の演算を指示する。この場合、ベクトル補償部801は、割付フラグメモリ56の割付フラグを基に、注目画素および隣接画素について、動きベクトルが割り付けられているか否かを判定し、動きベクトルが割り付けられていると判定された場合、同一ベクトル判定部804を制御し、割付ベクトルメモリ55から、動きベクトルとともに、前段のベクトル割付部54により動きベクトルが割り付けられていた画素の位置(以下、動きベクトルの割付位置とも称する)の情報(すなわち、内挿フレーム上の座標(x,y)の情報)を、割付位置情報として読み出させる。
そして、ベクトル補償部801は、評価値演算部802に、その注目画素および隣接画素に割り付けられている動きベクトルについて、評価値の演算を指示する。なお、詳細は後述するが、評価値演算部802においては、入力画像のフレームt+1およびフレームtを基に、動きベクトルに対する評価値が、補償処理対象ブロックの位置と、動きベクトルの割付位置との距離に応じた重みを付けて演算される。
評価値演算部802に、所定の動きベクトルについて評価値の演算を指示すると、評価値演算部802から演算の結果である評価値、その動きベクトル、および動きベクトルの割付位置情報が供給されてくるので、ベクトル補償部801は、評価値を基に、動きベクトルが割り付けられていない注目画素に動きベクトルを割り付けるとともに、動きベクトルに対応させて、動きベクトルの割付位置情報も割付ベクトルメモリ55に記憶させる。
すなわち、例えば、ベクトル補償部801は、0ベクトルまたは注目画素若しくは隣接画素に割り付けられている動きベクトルの中で、評価値演算部802から供給された評価値のうち、その動きベクトルが割り付けられていた位置からの距離に応じた重みが加味された上で、最も強い相関を示す評価値に対応する動きベクトルを、補償する動きベクトル(以下、補償ベクトルとも称する)として選択する。そして、ベクトル補償部801は、動きベクトルが割り付けられていない注目画素に、補償ベクトルを割り付ける。
換言すれば、ベクトル補償部801は、注目画素または隣接画素に割り付けられている動きベクトルのうち、前段のベクトル割付部54によりその動きベクトルの割り付けられていた位置からの距離が近く、かつ、入力画像のフレームtにおける始点の画素の画素値と、入力画像のフレームt+1における終点の画素の画素値との相関が最も強い動きベクトルを、動きベクトルが割り付けられていない注目画素に割り付ける。
評価値演算部802は、ベクトル補償部801の演算の指示を受けて、後述するように、対象となる動きベクトルおよび割付位置情報を、同一ベクトル判定部804から取得して、入力画像のフレームt+1およびフレームtを基に、動きベクトルに対する評価値を、補償処理対象ブロックの位置と、動きベクトルの割付位置との距離に応じた重みを付けて演算する。例えば、評価値演算部802は、ベクトル補償部801の制御の基に、入力画像のフレームtにおける動きベクトルの始点を中心とした所定のブロックに属する画素の画素値と、入力画像のフレームt+1におけるその動きベクトルの終点を中心とした所定のブロックに属する画素の画素値との差分絶対値和である評価値を、補償処理対象ブロックの位置と、動きベクトルの割付位置との距離に応じた重みを付けて演算する。
すなわち、割付補償部57においては、図5を参照して上述した評価値DFDに、補償処理対象ブロック内の点(位置)と、動きベクトルの割付位置との距離に応じた重みが加味された評価値が用いられる。換言すると、割付補償部57においては、動きベクトルの割付位置から、補償処理対象ブロック内の位置までの動きベクトルの移動(シフト)量が加味された評価値が用いられる。
より詳細には、評価値演算部802は、動きベクトルの始点をフレームtとし、動きベクトルの終点をフレームt+1とした場合、評価値を演算する注目画素または隣接画素の動きベクトルと処理の対象となるフレーム(内挿フレーム)とが交差する点が補償処理対象ブロック内の点となるように動きベクトルを移動させ、その位置における動きベクトルのフレームtの始点を中心としたブロックに属する画素の画素値と、その位置における動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値を、補償処理対象ブロック内の点(位置)と、動きベクトルの割付位置との距離に応じた重みを付けて演算する。
この場合、移動後の交差する点は、例えば、最も優先順位の高い注目画素の位置、または、補償処理対象ブロックの中心(中央の位置)とすることができる。
なお、他の例として、評価値演算部802は、フレームt上の動きベクトルの始点、すなわち、評価値を演算する注目画素または隣接画素を中心としたブロックに属する画素の画素値と、その動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値を、補償処理対象ブロックの位置と、動きベクトルの割付位置との距離に応じた重みを付けて演算することも可能である。
また、距離に応じた重みを付ける前の評価値は、評価値DFDに限らず、相関を示すものであれば足り、例えば、分散または差分自乗和などであってもよい。
評価値演算部802は、演算した評価値を、その動きベクトルおよび割付位置情報とともにベクトル補償部801に供給する。また、評価値演算部802は、評価値を演算した動きベクトルを、補償候補ベクトルとして、割付位置情報とともに、補償候補ベクトルメモリ803に供給する。
補償候補ベクトルメモリ803は、評価値演算部802から供給された補償候補ベクトルおよび割付位置情報を記憶する。例えば、補償候補ベクトルメモリ803は、補償候補ベクトルが評価値演算部802から供給された順番に対応させて、評価値が演算された動きベクトルである補償候補ベクトルの大きさと向き、並びに割付位置情報を記憶する。補償候補ベクトルメモリ803は、記憶している補償候補ベクトルおよび割付位置情報を同一ベクトル判定部804に供給する。
同一ベクトル判定部804は、ベクトル補償部801の制御に基づいて、次に評価値を演算しようとする、隣接画素または注目画素に割り付けられている動きベクトルの向きおよび大きさ、並びに動きベクトルの割付位置が、補償候補ベクトルメモリ803に記憶されている補償候補ベクトルの向きおよび大きさ、並びに動きベクトルの割付位置と同じであるか否かを判定する。
例えば、同一ベクトル判定部804は、ベクトル補償部801の制御に基づいて、割付ベクトルメモリ55から、隣接画素または注目画素に割り付けられている動きベクトルとその割付位置情報を取得する。
ここで、ベクトル割付部54により割付ベクトルメモリ55に割り付けられた動きベクトルの場合には、例えば、内挿フレーム上の座標位置に基づいて、動きベクトルが割り付けられていた画素の位置の情報が、割付位置情報として読み出される。一方、ベクトル補償部801により補って割り付けられた動きベクトルの場合には、ベクトル補償部801により割り付けられる際に、その動きベクトルに対応させて記憶された割付位置情報(すなわち、その動きベクトルが、ベクトル割付部54により割付ベクトルメモリ55に割り付けられた画素の位置の情報)が読み出される。
なお、ベクトル割付部54が動きベクトルを割付ベクトルメモリ55に割り付ける際にも、割付位置情報が予め記憶されるようにすることもできる。
そして、同一ベクトル判定部804は、ベクトル補償部801の制御に基づいて、割付ベクトルメモリ55から、隣接画素または注目画素に割り付けられている動きベクトルとその割付位置情報を取得し、補償候補ベクトルメモリ803から補償候補ベクトルおよびその割付位置情報を取得し、動きベクトルの向きおよび大きさ、並びに動きベクトルの割付位置が、補償候補ベクトルのいずれの向きおよび大きさ、並びに補償候補ベクトルの割付位置と同じであるか否かを判定する。
より詳細には、同一ベクトル判定部804は、割り付けられている動きベクトルのx方向の成分およびy方向の成分のそれぞれが、補償候補ベクトルのx方向の成分およびy方向の成分のそれぞれと同じであるか否かを判定し、また、割り付けられている動きベクトルの、ベクトル割付部54によりもともと割り付けられていた内挿フレーム上の座標(x,y)が、補償候補ベクトルのベクトル割付部54によりもともと割り付けられていた内挿フレーム上の座標(x,y)と同じであるか否かを判定する。
同一ベクトル判定部804は、動きベクトルの向きおよび大きさ、並びに動きベクトルの割付位置が、補償候補ベクトルのいずれの向きおよび大きさ、並びに補償候補ベクトルの割付位置と同じでないと判定した場合、その動きベクトルについてこれまでと異なる評価値が演算されることが期待されるので、評価値演算部802に評価値を演算させるために、その動きベクトルおよび割付位置情報を、評価値演算部802に供給する。
同一ベクトル判定部804は、動きベクトルの向きおよび大きさ、並びに動きベクトルの割付位置が、いずれかの補償候補ベクトルの向きおよび大きさ、並びに補償候補ベクトルの割付位置と同じであると判定した場合、同じ動きベクトルについて評価値を演算する必要はなく、評価値演算部802における評価値の演算を抑制するために、その動きベクトルおよび割付位置情報を、評価値演算部802に供給しない。
すなわち、評価値を演算しようとする動きベクトルの向きおよび大きさ、並びに動きベクトルの割付位置が、いずれかの補償候補ベクトルの向きおよび大きさ、並びに動きベクトルの割付位置と同じである場合、その動きベクトルについての評価値の演算がスキップされるので、評価値を演算するための演算量をより少なくすることができる。
ここで、図23乃至図25を参照して、割付補償処理の概念について説明する。
図23乃至図25の例においては、2つの24P信号の時刻tのフレームtおよび時刻t+1のフレームt+1の間に挿入された60P信号の内挿フレームFが1次元で示されている。各フレーム上の丸は画素を表している。
まず、図23に示される内挿フレームF上の中央の画素(以下、着目画素Pと称する)以外の画素には、矢印が付されており、これらの矢印は、前段のベクトル割付部54により内挿フレームF上の各画素に割り付けられた動きベクトルV1、V2、V3、およびV4をそれぞれ表している。
すなわち、前段のベクトル割付部54は、内挿フレームFと、ベクトル検出部52によりフレームtにおいて検出された動きベクトルをフレームt+1まで延ばした交点に近接する位置の画素のみを処理対象としており、近接する位置に交点が存在しない内挿フレームF上の画素については、動きベクトルを割り付ける処理を行わない。
したがって、図23の着目画素Pに示されるように、内挿フレームFには、ベクトル割付部54により動きベクトルが割り付けられない画素(未割付画素)も存在する。
そこで、割付補償部57においては、未割付画素に対して、動きベクトルを補償する処理が実行される。このとき、ある同じ時間における空間内(同一フレーム内)における近接位置には、同じオブジェクトが存在し、それらの動きは同じであることが多いことを表す動き相関を利用して、図24に示されるように、未割付画素(着目画素P)に対して、同一内挿フレームF上における空間方向に近接した位置(画素)に割り付けられている動きベクトルV2およびV3を、補償候補とする。
この場合、割付補償部57は、補償候補である動きベクトルV2およびV3について、動きベクトルと内挿フレームとが交差する点が、着目画素Pとなるように動きベクトルを移動させ、その位置(着目画素P)における動きベクトルのフレームtの始点を中心としたブロックと、その位置における動きベクトルのフレームt+1の終点を中心としたブロックを演算ブロックとして評価値をそれぞれ演算し、評価値を用いて、補償候補である動きベクトルV2およびV3を評価することで、最終的に、図25に示されるように、動きベクトルV2を、補償する動きベクトルとして選択し、内挿フレームF上の着目画素Pに割り付ける。なお、例えば、この場合、ベクトル割付部54と同様に、各演算ブロックの画素値の相関を示す評価値である評価値DFDが用いられる。
なお、図23乃至図25の例においては、1次元の例を用いて説明したため、着目画素Pに対する同一内挿フレームF上における空間方向に近接した位置(画素)が、左右の2箇所のみが示されていたが、実際には、図26に示されるように、画素Pの周辺8画素が、同一内挿フレームF上における空間方向に近接した位置(画素)となる。
図26は、上述したフレームtおよびフレームt+1と、その間に挿入される内挿フレームFを2次元で示す図である。
図26の例において、矢印Tは、図中、左前の時刻tのフレームtから、右奥の時刻t+1のフレームt+1への時間の経過方向を示しており、フレームtとフレームt+1の間に、内挿フレームFが挿入されている。内挿フレームF上の丸は画素を表している。
また、図中右に示されるブロックBは、内挿フレームFにおける着目画素Pと着目画素Pの周辺8画素(左上、真上、右上、左横、右横、左下、真下、および右下の画素)からなるブロックを拡大したものであり、矢印Xが、内挿フレームFにおける水平方向を示しており、矢印Yが、内挿フレームFにおける垂直方向を示している。
図26に示されるブロックBの周辺画素に付された矢印は、各周辺画素に割り付けられている動きベクトルを表しており、矢印がない周辺画素は、動きベクトルが割り付けられていない画素を表している。
図26の例の場合、着目画素Pの周辺画素のうち、左上、真上、右上、左横、左下、真下、および右下の画素に動きベクトルが割り付けられており、前段のベクトル割付部54により動きベクトルの割り付けられなかった中央の着目画素Pに対して、着目画素Pの近傍の周辺画素に割り付けられている動きベクトルの中から、例えば、評価値DFDに基づく、信頼度が高いものが選択される。
その結果、着目画素Pには、例えば、図27に示されるように、着目画素Pの左隣の画素の動きベクトル(太線矢印)が補って割り付けられる。
しかしながら、これらの着目画素Pの周辺画素に割り付けられる動きベクトルは、図28を参照して説明するように、フレームtにおいて検出された動きベクトルが、前段のベクトル割付部54により割り付けられたものだけではない。
図28は、着目画素Pの周辺画素に割り付けられる動きベクトルの例を示す図である。図28の例においては、丸は、内挿フレーム上の1つの画素(着目画素および周辺画素も含まれる)を示し、丸に付された矢印は、各画素に割り付けられた動きベクトルを示す。また、図中のaで示される12の動きベクトルは、その大きさおよび向きを共通にしており、図中のbで示される6つの動きベクトルは、その大きさおよび向きを共通にしており、図中のcで示される1つの動きベクトルは、その大きさおよび向きを共通にしている。
さらに、実線の矢印は、その画素に対してベクトル割付部54により割り付けられた動きベクトルを表しており、点線の矢印は、その画素の周辺画素に割り付けられた動きベクトルから、割付補償部57によりその画素に対して補って割り付けられた動きベクトルを表している。なお、割付補償は、通常、ラスタスキャン順に実行される。
すなわち、図28の内挿フレーム上の着目画素Pの周辺8画素(ブロックB内)のうち、着目画素Pの右上に位置する画素には、動きベクトルcが割り付けられており、着目画素Pの左上に位置する画素には、動きベクトルbが割り付けられており、着目画素Pの左横に位置する画素には、動きベクトルaが割り付けられており、着目画素Pに対して、動きベクトルを補償する処理がなされる場合には、これらの動きベクトルa,b,およびcが、着目画素Pに対する補償候補となる。
これらのうち、着目画素Pの右上の画素に割り付けられている動きベクトルcは、その画素に対してベクトル割付部54により割り付けられたものである。
しかしながら、着目画素Pの左上の画素に割り付けられている動きベクトルbは、その画素に対してベクトル割付部54により割り付けられたものではない。すなわち、動きベクトルbは、着目画素Pの左上の画素に対しての割付補償処理において、着目画素Pの左上の画素の周辺画素(例えば、左上、真上、または、右上の画素)に割り付けられた動きベクトルbから補償されたものである。
したがって、着目画素Pの左上の画素に割り付けられている動きベクトルbは、例えば、左上の画素の真上の画素に割り付けられている動きベクトルbから補償されたものであり、その真上の画素に割り付けられている動きベクトルbは、その真上の画素のさらに左上の画素に割り付けられた動きベクトルbから割り付けられたものであるというように、動きベクトルの元をたどっていくと、実は、この着目画素Pの左上の画素に割り付けられている動きベクトルbは、着目画素Pから上に3画素、左に2画素だけ離れた画素に対して割り付けられていたものであるということがあり得る。
すなわち、着目画素Pの左上の画素に割り付けられている動きベクトルbは、着目画素Pから上に3画素、左に2画素だけ離れた画素から伝播してきた可能性がある。
同様に、着目画素Pの左横の画素に割り付けられている動きベクトルaも、その画素に対してベクトル割付部54により割り付けられたものではない。すなわち、動きベクトルaは、着目画素Pの左横の画素に対しての割付補償処理において、着目画素Pの周辺画素(例えば、左上、または左横の画素)に割り付けられた動きベクトルaから補償されたものである。
したがって、着目画素Pの左横の画素に割り付けられている動きベクトルaは、例えば、左上の画素の、さらに左上の画素に割り付けられている動きベクトルaから補償されたものであり、その左上の画素に割り付けられている動きベクトルaは、さらに、その左上の画素に割り付けられた動きベクトルaから割り付けられたものであり、その左上の画素に割り付けられている動きベクトルaは、さらに、…というように、動きベクトルの元をたどっていくと、実は、この着目画素Pの左横の画素に割り付けられている動きベクトルaは、着目画素Pから上に5画素、左に6画素だけ離れた画素に割り付けられていたものであるということがあり得る。
すなわち、着目画素Pの左横の画素に割り付けられている動きベクトルaは、着目画素Pから上に5画素、左に6画素だけ離れた画素から伝播してきた可能性がある。
ここで、図28の例において、着目画素Pに補償する動きベクトルは、ブロックBに含まれる周辺8画素のうち、3画素の動きベクトルa,b,およびcの評価値DFDを比較し、評価値DFDの信頼度の高さに応じて、動きベクトルa,b,およびcのいずれかから選択される。
動きベクトルa,b,およびcの評価値DFDの比較の結果、本来であれば、近接位置では、各画素値が同じオブジェクトを表し、それらは同じ動きをしている可能性が高いという動き相関から、図29に示されるように、注目画素Pの位置との距離が最も近い距離d1である画素に割り付けられた動きベクトルcが、その評価値が最も小さい(信頼度が高い)とされて、着目画素Pに補償する動きベクトルとして選択される。
しかしながら、評価値DFDは、各候補に対して一律に評価する評価値であり、候補内に、ベクトル割付部54により割り付けられた動きベクトルと、割付補償部57により補って割り付けられた動きベクトルが混在していることについて考慮されていないため、比較の結果、偶然、動きベクトルbや動きベクトルaの評価値の評価値が小さい(信頼度が高い)とされてしまうことがある。
例えば、動きベクトルa,b,およびcの評価値DFDの比較の結果、偶然、動きベクトルbの評価値DFDが最も小さいとされた場合、注目画素Pの位置との距離が、距離d1よりも長い距離d2を有する画素に割り付けられた動きベクトルbが、着目画素Pに補償する動きベクトルとして選択されてしまう。
また、例えば、動きベクトルa,b,およびcの評価値DFDの比較の結果、偶然、動きベクトルaの評価値DFDが最も小さいとされた場合、注目画素Pの位置との距離が、距離d2よりもさらに長い距離d3を有する画素に割り付けられた動きベクトルaが、着目画素Pに補償する動きベクトルとして選択されてしまう。
このように、注目画素Pの周辺画素に割り付けられた動きベクトルではなく、実際には、注目画素Pから、距離d2や距離d3離れた位置にある画素に対して元々割り付けられた動きベクトルaまたはbが、着目画素Pの動きベクトルとして補償されてしまうと、選択された動きベクトルが近接位置の動きを表しているとは考えにくくなってしまい、取捨選択の結果が、動き相関でなく、偶然に左右される可能性が高くなる。その結果、動きベクトルの検出精度が低下し、さらに、最終的に、生成される画像に破綻が生じてしまう恐れがある。
以上のように、実際の処理においては、過去の補償処理で割り付けられた補償ベクトルが、以降の補償処理における候補となる処理構造であることから、補償ベクトルは伝播していく可能性がある。そして、その伝播距離が長くなるほど、その補償ベクトルは、補償対象の位置とは別のオブジェクトの動きを表していた可能性が高くなり、近接位置では、各画素値が同じオブジェクトを表し、それらは同じ動きをしている可能性が高いという動き相関を満たすことが困難になってしまう。
そこで、割付補償部57においては、動きベクトルを補って割り付ける際に、その動きベクトルがベクトル割付部54により元々割り付けられていた位置(動きベクトルの割付位置)の情報を、割付位置情報として、割付補償した動きベクトルに対応させて記憶させておき、ある着目画素において、補償候補となった際には、その着目画素の位置と、割付位置情報に基づく画素の位置との距離を、動きベクトルの評価に反映させる。
つまり、上述した動きベクトルを評価する評価値を用いた候補間での相対評価時に、割付位置情報に基づく画素の位置からの距離に応じた重みを付ける(加味する)。
具体的には、割付補償部57において補償候補を比較する際に、ベクトル割付部54などで用いられる評価値(例えば、評価値DFD)をEusualとし、Eusual=0が最高の評価である(すなわち、値が小さいほど評価が高い)場合に、距離に対応した重みを加味した評価値Epropを用いるようにする。評価値Epropは、次の式(13)で表される。
ここで、kは、重み定数、dは、割付位置からの距離を示す。・は、乗算を表す。
なお、値が大きいほど評価が高い評価値の場合には、距離が長いほど値が小さくなるような重み付けがなされる。
この評価値Epropを割付候補の評価時に用いることにより、動き相関に基づいて、距離の近い、すなわち、同じオブジェクトである可能性の高い候補を重視する評価が可能となる。したがって、内挿フレーム上での動きベクトル推定の精度向上が可能となり、近接した動き、すなわち、同じオブジェクトの動きを重視した動きベクトルの推定が可能となる。
なお、上述した図23乃至図29においては、注目画素(すなわち、1画素で構成される補償処理対象ブロック)に割り付ける動きベクトルを補償する例を説明したが、上述した説明は、もちろん、複数画素で構成される補償処理対象ブロックについても適用される。
図30は、注目画素および隣接画素のそれぞれに付される優先順位の例を示す図である。図30で示される例において、補償処理対象ブロック821は、2×2の4つの注目画素を含む。図30で示される例において、隣接画素領域822は、補償処理対象ブロック821の周辺の画素であって、補償処理対象ブロック821に隣接して配置されている画素である、12の隣接画素を含む。すなわち、補償処理対象ブロック821または隣接画素領域822が候補ベクトル選択領域であり、候補ベクトル選択領域に含まれる4つの注目画素および12の隣接画素に割り付けられている動きベクトルについて、評価値が演算される。
候補ベクトル選択領域において、注目画素には、隣接画素に比較して優先する優先順位が付される。すなわち、図30で示される例において、”1”乃至”4”のいずれかの優先順位が注目画素のそれぞれに付され、”5”乃至”16”のいずれかの優先順位が隣接画素のそれぞれに付されている。
この優先順位は、各画素に割り付けられる動きベクトルの評価値を演算する順位であり、さらに、演算された評価値が同じであった場合の動きベクトルを決定する順位でもある。
図30で示される例において、補償処理対象ブロック821の左上の注目画素に”1”である優先順位が付され、補償処理対象ブロック821の右上の注目画素に”2”である優先順位が付され、補償処理対象ブロック821の左下の注目画素に”3”である優先順位が付され、補償処理対象ブロック821の右下の注目画素に”4”である優先順位が付されている。すなわち、補償処理対象ブロック821における注目画素のラスタスキャン順に対応する優先順位が、注目画素に付される。
図30で示される例において、隣接画素領域822の左上の隣接画素に”5”である優先順位が付され、隣接画素領域822の上から1番目の行の左から2番目の隣接画素に”6”である優先順位が付され、隣接画素領域822の上から1番目の行の左から3番目の隣接画素に”7”である優先順位が付され、隣接画素領域822の右上の隣接画素に”8”である優先順位が付されている。
図30で示される例において、隣接画素領域822の上から2番目の行の左側の隣接画素に”9”である優先順位が付され、隣接画素領域822の上から2番目の行の右側の隣接画素に”10”である優先順位が付されている。図30で示される例において、隣接画素領域822の上から3番目の行の左側の隣接画素に”11”である優先順位が付され、隣接画素領域822の上から3番目の行の右側の隣接画素に”12”である優先順位が付されている。
さらに、図30で示される例において、隣接画素領域822の左下の隣接画素に”13”である優先順位が付され、隣接画素領域822の下から1番目の行の左から2番目の隣接画素に”14”である優先順位が付され、隣接画素領域822の下から1番目の行の左から3番目の隣接画素に”15”である優先順位が付され、隣接画素領域822の右下の隣接画素に”16”である優先順位が付されている。
すなわち、隣接画素領域822における隣接画素のラスタスキャン順に対応する優先順位が、隣接画素に付される。
換言すれば、候補ベクトル選択領域である補償処理対象ブロック821および隣接画素領域822毎に、フレーム上の補償処理対象ブロック821が選択される並び(順序)に対応する並び(順序)で、補償処理対象ブロック821における注目画素の優先順位が付され、隣接画素領域822における隣接画素の優先順位が付される。
また、図30の演算領域823は、評価値演算部802が、内挿フレーム上の評価値を演算する注目画素または隣接画素の動きベクトルを移動(シフト)させた補償処理対象ブロック内の所定の位置(いまの場合、中央の位置)に対応する、フレームt上の動きベクトルの始点を中心としたブロックに属する画素の画素値と、動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値を演算する場合に、評価値の演算の対象となる、補償処理対象ブロック内の中央の位置(すなわち、フレームtにおける始点またはフレームt+1における終点)を中心としたブロックに属する画素の範囲(補償処理対象ブロック821を中心とした8×8画素の領域)を、内挿フレーム上で示している。
この補償処理対象ブロック内の所定の位置は、補償処理対象ブロックの中央の位置に限らず、例えば、最も優先順位の高い注目画素の位置とすることができる。また、演算領域823は、8×8画素に限らず、所望の数の画素からなる領域としてもよい。
なお、図30の演算領域823を、フレームt上の動きベクトルの始点、すなわち、評価値を演算する注目画素または隣接画素を中心としたブロックに属する画素の画素値と、その動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値を演算する場合の、評価値の演算の対象となる、注目画素または隣接画素を中心としたブロックに属する画素の範囲を示すものとしてもよい。
この場合、例えば、評価値演算部802は、内挿フレーム上の注目画素または隣接画素に対応するフレームt上の動きベクトルの始点を中心とした、5×5画素のブロックに属する画素の画素値と、その動きベクトルのフレームt+1の終点を中心とした、5×5画素のブロックに属する画素の画素値との相関を示す評価値を演算する。
したがって、隣接画素領域822の左上の隣接画素に対して2行上側であって2列左側の画素が評価値の演算の対象となり、隣接画素領域822の右上の隣接画素に対して2行上側であって2列右側の画素が評価値の演算の対象となり、隣接画素領域822の左下の隣接画素に対して2行下側であって2列左側の画素が評価値の演算の対象となり、隣接画素領域822の右下の隣接画素に対して2行下側であって2列右側の画素が評価値の演算の対象となるので、図30で示されるように、演算領域823は、補償処理対象ブロック821を中心とした8×8画素の領域となる。
また、図30に示される補償処理対象ブロック821がラスタスキャン順に選択される場合、選択されている補償処理対象ブロック821の上側の行の画素または左側の画素には、ベクトル割付部54および割付補償部57のいずれか一方によって動きベクトルが必ず割り付けられている。
すなわち、補償処理対象ブロック821がラスタスキャン順に選択される場合、割付補償部57は、フレーム上の左側から右側に向かう順であって、フレーム上の上側から下側に向かう順に、画素に動きベクトルを割り付けるので、今、選択されている補償処理対象ブロック821の上側の行(いわゆる、画面上のライン)の画素は、それ以前に補償処理対象ブロック821として選択されて、割付補償部57により、動きベクトルが割り付けられる。同様に、今、選択されている補償処理対象ブロック821の左側の画素は、それ以前の補償処理対象ブロック821として選択されて、割付補償部57により、動きベクトルが割り付けられる。
例えば、図31で示されるように、補償処理対象ブロック821が2×2画素のブロックである場合、領域841に属する、選択されている補償処理対象ブロック821の上側の行の4つの画素(隣接画素)、および選択されている補償処理対象ブロック821の左側の2つの画素(隣接画素)について、動きベクトルが必ず割り付けられている。
逆に、図31で示されるように、補償処理対象ブロック821が2×2画素のブロックである場合、領域842に属する、選択されている補償処理対象ブロック821の下側の行の4つの画素について、動きベクトルが割り付けられているとは限らない。同様に、選択されている補償処理対象ブロック821の右側の2つの画素について、動きベクトルが割り付けられているとは限らない。
なお、ベクトル割付部54によって動きベクトルが割り付けられていない注目画素が補償処理対象ブロック821に含まれる場合、画像の空間相関が高いので、その補償処理対象ブロック821の他の注目画素の動きベクトルが、その注目画素に割り付けられることが多い。
また、補償処理対象ブロック821が2×2画素のブロックであるとして説明したが、補償処理対象ブロック821は、2×2画素のブロックとは限らず、所望の数の画素からなるブロックとすることができる。
図32は、評価値の演算のスキップを説明する図である。図32において、丸は、注目画素または隣接画素である1つの画素を示す。
図32中の丸に付された矢印は、その注目画素または隣接画素に割り付けられた動きベクトルを示す。例えば、図中のaで示される2つの動きベクトルは、その大きさ、向き、および、ベクトル割付部54による割付位置(もともとの割付位置)を共通にしている。また、図中のbで示される2つの動きベクトルは、その大きさ、向き、および、ベクトル割付部54による割付位置を共通にしている。さらに、図中のcで示される2つの動きベクトルは、その大きさ、向き、および、ベクトル割付部54による割付位置を共通にしている。
従って、図32で示される例において、注目画素または隣接画素に割り付けられた動きベクトルは、11存在しているが、他の動きベクトルと大きさおよび向きを共通にする動きベクトルが、6つ存在しているので、他の動きベクトルと大きさおよび向きを共通にする6つの動きベクトルのうち、3つの動きベクトルについては、評価値の演算がスキップされる。従って、このような場合、8つの動きベクトルに対して評価値が演算される。
例えば、図32で示される注目画素または隣接画素に、図30で示される優先順位と同じ優先順位が付された場合、右上の隣接画素(優先順位が8である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置が、1番上の行の左側から2番目の隣接画素(優先順位が6である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置と共通するので、右上の隣接画素に割り付けられた動きベクトルについては、評価値の演算がスキップされる。
同様に、図32で示される注目画素または隣接画素に、図30で示される優先順位と同じ優先順位が付された場合、上から2番の行の左側の隣接画素(優先順位が9である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置が、左上の隣接画素(優先順位が5である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置と共通するので、上から2番の行の左側の隣接画素に割り付けられた動きベクトルについては、評価値の演算がスキップされる。
さらに、図32で示される注目画素または隣接画素に、図30で示される優先順位と同じ優先順位が付された場合、右下の隣接画素(優先順位が16である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置が、上から3番の行の右側の隣接画素(優先順位が12である隣接画素)に割り付けられた動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置と共通するので、右下の隣接画素に割り付けられた動きベクトルについては、評価値の演算がスキップされる。
このように、既に評価値が演算された動きベクトルに対し、その大きさ、向き、および、ベクトル割付部54による割付位置が共通する動きベクトルについては、評価値の演算がスキップされるので、演算量をより少なくすることができる。
なお、例えば、評価値の演算数(すなわち、補償候補ベクトル数)の閾値が5に設定されている場合には、優先順位が小さい順に、動きベクトルの大きさ、向き、および、ベクトル割付部54による割付位置が同じでない5つの画素の動きベクトルの評価値が演算される。
すなわち、図32の例において、図30で示される優先順位と同じ優先順位が付された場合、優先順位が1、4、5、6、7までの画素の動きベクトルの評価値が演算されることになる。
また、以下、動きベクトルの大きさ、向き、および割付位置が共通すること、すなわち、動きベクトルの大きさが同じであって、向きが同じであって、ベクトル割付部54によるもともとの割付位置が同じであることを、動きベクトルが同じとも称する。
次に、図33のフローチャートを参照して、図6のステップS4の処理に対応する、割付補償部57における割付補償処理を説明する。
なお、以下、補償処理対象ブロック821が2×2画素からなる場合を例に、割付補償処理を説明する。
ステップS801において、ベクトル補償部801は、補償処理対象ブロック821を選択するための座標(x,y)に、初期値として(0,0)を設定する。ステップS802において、ベクトル補償部801は、設定された座標(x,y)を基に、処理の対象となるフレームの補償処理対象ブロック821を決定する。ステップS803において、ベクトル補償部801は、補償候補ベクトルメモリ803、補償候補ベクトル数、優先度n、および最小評価値に初期値を設定する。
ここで、補償候補ベクトル数は、評価値を算出した動きベクトルの数を示す。優先度nは、注目画素および隣接画素に付されている優先順位から、評価値の演算の対象となる注目画素および隣接画素を特定するための値である。最小評価値は、距離に応じた重みが付けられて演算された評価値のうち、最も強い相関を示す評価値であり、評価値が、例えば、距離に応じた重みが付けられて演算された差分絶対値和である評価値DFDの場合、距離に応じた重みが付けられて演算された評価値のうち、最小の評価値である。
例えば、ステップS803において、ベクトル補償部801は、補償候補ベクトルメモリ803をクリアし、補償候補ベクトル数に0を設定し、優先度nに1を設定し、最小評価値に設定可能な上限値を設定することにより、補償候補ベクトルメモリ803、補償候補ベクトル数、優先度n、最小評価値に初期値を設定する。
ステップS804において、ベクトル補償部801は、割付フラグメモリ56の割付フラグを基に、補償処理対象ブロック821内に、動きベクトルが割り付けられていない注目画素があるか否かを判定し、動きベクトルが割り付けられていない注目画素があると判定された場合、その注目画素に動きベクトルを割り付けるために、ステップS805に進み、評価値演算部802に、0ベクトル(静止ベクトル)を基に、評価値0を演算させる。
例えば、ステップS805において、ベクトル補償部801は、評価値演算部802に、図30で示される”1”である優先順位が付された注目画素と交わる0ベクトル(静止ベクトル)を基に、評価値0を演算させ、最小評価値に、評価値演算部802から供給された評価値0を設定する。
すなわち、この場合、評価値演算部802は、フレームtにおける、”1”である優先順位が付された注目画素の位置に対応する位置の画素を中心とするブロックに属する画素の画素値と、フレームt+1における、”1”である優先順位が付された注目画素の位置に対応する位置の画素を中心とするブロックに属する画素の画素値との差分絶対値和である評価値を、距離に応じた重みを付けて演算する。なお、このとき、距離は、0で演算される。
評価値演算部802は、0ベクトルと共に演算した評価値0をベクトル補償部801に供給する。そして、ベクトル補償部801は、最小評価値に、評価値演算部802から供給された評価値0を設定する。
ステップS806において、ベクトル補償部801は、内部的な変数である補償ベクトルに、0ベクトルを設定する。
ステップS807において、ベクトル補償部801は、補償ベクトル設定処理を実行する。この補償ベクトル設定処理の詳細は、図34を参照して後述する。この補償ベクトル設定処理により、補償処理対象ブロックの注目画素または周辺画素に割り付けられた動きベクトルの評価値が所定の数だけ演算され、最も相関の高い動きベクトルが補償ベクトルとして設定される。
ベクトル補償部801は、ステップS808において、補償処理対象ブロック821内の動きベクトルが割り付けられていない全ての注目画素に、補償ベクトルを割り付けるとともに、補償ベクトルに対応させて、補償ベクトルの割付位置情報も記憶させる。すなわち、ステップS808において、ベクトル補償部801は、割付ベクトルメモリ55に、補償ベクトルである動きベクトルとその割付位置情報を、内挿フレームの動きベクトルが割り付けられていない注目画素に対応させて記憶させる。より正確には、割付ベクトルメモリ55は、補償ベクトルの大きさおよび向きと同じ大きさおよび向きの動きベクトルとその割付位置情報を、内挿フレームの動きベクトルが割り付けられていない注目画素に対応させて記憶させる。
ステップS809において、ベクトル補償部801は、動きベクトルが割り付けられた画素に対応する、割付フラグメモリ56の割付フラグを”True”(例えば、”1”)に書き換える。
一方、ステップS804において、補償処理対象ブロック821内に、動きベクトルが割り付けられていない注目画素がないと判定された場合、その補償処理対象ブロック821について、動きベクトルを割り付ける処理を実行する必要がないので、処理は、ステップS810に進む。すなわち、次の補償処理対象ブロック821について、上述した処理が繰り返される。
ステップS810において、ベクトル補償部801は、補償処理対象ブロック821を選択するための座標(x,y)のxに2を加算する。これにより、次に選択される補償処理対象ブロック821は、フレームの右方向に2画素移動することになる。
ステップS811において、ベクトル補償部801は、xが、フレームのx方向の画枠を超えたか否かを判定し、xが、フレームのx方向の画枠を超えていないと判定された場合、処理は、ステップS802に戻り、フレームにおいてさらに右側の補償処理対象ブロック821について、上述した処理が繰り返される。
ステップS811において、xが、フレームのx方向の画枠を超えたと判定された場合、その位置には画素がないので、フレームの左側であって、さらに下側の画素を補償処理対象ブロック821として次に選択するために、処理は、ステップS812に進み、ベクトル補償部801は、補償処理対象ブロック821を選択するための座標(x,y)のxに0を設定し、yに2を加算する。
ステップS813において、ベクトル補償部801は、yが、フレームのy方向の画枠を超えたか否かを判定し、yが、フレームのy方向の画枠を超えていないと判定された場合、処理は、ステップS802に戻り、フレームの左側であって、さらに下側の補償処理対象ブロック821について、上述した処理が繰り返される。
すなわち、ステップS810乃至ステップS813の処理により、補償処理対象ブロック821は、ラスタスキャン順に選択されることになる。
ステップS813において、yが、フレームのy方向の画枠を超えたと判定された場合、フレームの全ての画素について、割付補償処理が実行されたので、処理は終了される。
次に、図34のフローチャートを参照して、図33のステップS807の補償ベクトル設定処理を説明する。
ステップS831において、ベクトル補償部801は、優先度nで示される優先順位(以下、単に優先度nと称する)の注目画素または隣接画素に対応する、割付フラグメモリ56の割付フラグが”True”であるか否かを判定する。ステップS831において、優先度nの注目画素または隣接画素に対応する、割付フラグメモリ56の割付フラグが”True”であると判定された場合、優先度nの注目画素または隣接画素に動きベクトルが割り付けられているので、その動きベクトルについて評価値を演算するために、処理は、ステップS832に進み、ベクトル補償部801は、変数pに、初期値として0を設定する。変数pは、既に評価値が演算された動きベクトルである補償候補ベクトルの順番を示す変数である。
ステップS833において、ベクトル補償部801は、変数pが補償候補ベクトル数より大きいか否かを判定する。より正確には、ステップS832において、ベクトル補償部801は、補償候補ベクトル数が0でなく、かつ、変数pが補償候補ベクトル数より大きいか否かを判定する。
ステップS833において、変数pが補償候補ベクトル数より大きくないと判定された場合、優先度nの注目画素または隣接画素に割り付けられている動きベクトルと同じであるかが比較されていない補償候補ベクトルがあるので、ステップS834において、ベクトル補償部801は、同一ベクトル判定部804に、割付ベクトルメモリ55から、優先度nの注目画素または隣接画素に割り付けられている動きベクトルとともに、その動きベクトルの割付位置情報を読み出させ、読み出した情報に基づいて、優先度nの注目画素または隣接画素に割り付けられている動きベクトルが、補償候補ベクトルメモリ803に記憶されている補償候補ベクトルのうち、p番目の補償候補ベクトルと大きさ、向き、および割付位置が同じであるか否かを判定させる。
ステップS834において、優先度nの注目画素または隣接画素に割り付けられている動きベクトルが、補償候補ベクトルメモリ803に記憶されている補償候補ベクトルのうち、p番目の補償候補ベクトルと大きさ、向き、および割付位置が同じでないと判定された場合、ステップS835において、ベクトル補償部801は、変数pをインクリメントする。
そして、処理は、ステップS833に戻り、全ての補償候補ベクトルと優先度nの優先順位の注目画素または隣接画素に割り付けられている動きベクトルとが比較されたか否かが判定されて、全ての補償候補ベクトルと優先度nの注目画素または隣接画素に割り付けられている動きベクトルとが比較されていないと判定された場合、次の補償候補ベクトルと優先度nの注目画素または隣接画素に割り付けられている動きベクトルとが比較される。
このように、ステップS832乃至ステップS835において、優先度nの注目画素または隣接画素に割り付けられている動きベクトルが、いずれかの補償候補ベクトルと大きさ、向き、および割付位置が同じであるか否かが判定される。
ステップS833において、変数pが補償候補ベクトル数より大きいと判定された場合、優先度nの注目画素または隣接画素に割り付けられている動きベクトルが、補償候補ベクトルのいずれとも同じでないので、ステップS836に進み、同一ベクトル判定部804は、優先度nの注目画素または隣接画素に割り付けられている動きベクトルおよびその割付位置情報を評価値演算部802に供給して、ベクトル補償部801は、評価値演算部802に、優先度nの注目画素または隣接画素に割り付けられている動きベクトルを基に、動きベクトルの割付位置との距離に応じた重みを付けた評価値を演算させる。
例えば、ステップS836において、注目画素または隣接画素に割り付けられている動きベクトルが補償処理対象ブロック内の所定の位置に移動され、その位置における動きベクトルのフレームtの始点を中心としたブロックに属する画素の画素値と、その位置における動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値(例えば、評価値DFD)が、その位置と、動きベクトルが割り付けられている位置との距離に応じた重みを付けて演算される。
なお、例えば、ステップS836においては、フレームt上の動きベクトルの始点、すなわち、評価値を演算する注目画素または隣接画素を中心としたブロックに属する画素の画素値と、その動きベクトルのフレームt+1の終点を中心としたブロックに属する画素の画素値との相関を示す評価値が、その中心の画素の位置と、動きベクトルが割り付けられている位置との距離に応じた重みを付けて演算されるようにしてもよい。
これらの評価値の演算において、動きベクトルの始点または終点が画素位置と一致しない場合、図18を参照して上述した周辺4画素の輝度値による4点補間処理が用いられる。
ステップS836における評価値の演算後、評価値演算部802は、演算した評価値、動きベクトルとともに、割付位置情報を、ベクトル補償部801に供給する。そして、評価値演算部802は、評価値を演算した動きベクトルである補償候補ベクトルを、その割付位置情報とともに補償候補ベクトルメモリ803に供給する。
ステップS837において、補償候補ベクトルメモリ803は、評価値演算部802から供給された補償候補ベクトルとともに割付位置情報を記憶する。すなわち、ステップS837において、補償候補ベクトルメモリ803は、優先度nの注目画素または隣接画素に割り付けられている動きベクトルを補償候補ベクトルとして割付位置情報とともに記憶する。
ステップS838において、ベクトル補償部801は、補償候補ベクトル数をインクリメントする。
ステップS839において、ベクトル補償部801は、ステップS836の処理で演算された評価値(すなわち、距離に応じた重みを付けて演算された評価値DFD)が最小評価値より小さいか否か、すなわち、ステップS836の処理で距離に応じた重み付けされて演算された評価値で示される相関が最小評価値で示される相関より強いか否かを判定し、演算された評価値が最小評価値より小さいと判定された場合、すなわち、演算された評価値で示される相関が最小評価値で示される相関より強いと判定された場合、ステップS840に進み、最小評価値に、演算された評価値を設定する。
ステップS840において、これまでに演算された評価値(すなわち、距離に応じた重みを付けて演算された評価値DFD)のうち、最も強い相関を示す評価値が最小評価値に設定されることになる。
ステップS841において、ベクトル補償部801は、補償ベクトルに、優先度nの注目画素または隣接画素に割り付けられている動きベクトルを設定する。これにより、補償ベクトルには、これまでの演算された評価値のうち、相関が最も強いことを示す評価値が演算された動きベクトルが設定される。
ステップS831において、優先度nの注目画素または隣接画素に対応する、割付フラグメモリ56の割付フラグが”True”でないと判定された場合、その注目画素または隣接画素には、動きベクトルが割り付けられていないので、処理は、ステップS842に進む。
ステップS834において、優先度nの注目画素または隣接画素に割り付けられている動きベクトルが、補償候補ベクトルメモリ803に記憶されている補償候補ベクトルのうち、p番目の補償候補ベクトルと大きさおよび割付位置が同じであると判定された場合、すでに評価値が演算されている動きベクトルと大きさおよび割付位置が同じ動きベクトルについて評価値を演算する必要はないので、処理は、ステップS842に進む。
ステップS839において、演算された評価値(すなわち、距離に応じた重みを付けて演算された評価値DFD)が最小評価値より小さくないと判定された場合、その動きベクトルより強い相関を示す評価値が演算された他の動きベクトルがあるので、ステップS840およびステップS841の処理はスキップされて、処理は、ステップS842に進む。
ステップS842において、ベクトル補償部801は、優先度nをインクリメントする。ステップS843において、ベクトル補償部801は、優先度nが16を超えたか、または、補償候補ベクトル数が予め定めた閾値を超えたか否かを判定する。
ステップS843において、優先度nが16以下で、かつ、補償候補ベクトル数が予め定めた閾値以下であると判定された場合、処理は、ステップS807に戻り、次の優先順位の注目画素または隣接画素に割り付けられている動きベクトルについて、上述した処理を繰り返す。
ステップS843において、優先度nが16を超えたか、または、補償候補ベクトル数が予め定めた閾値を超えたと判定された場合、全ての注目画素および隣接画素について、ステップS831乃至ステップS841の処理が実行されたか、閾値で定める所定の数の動きベクトルの中から、最も強い相関を示す評価値が得られた動きベクトルが補償ベクトルとして設定されたので、補償ベクトル設定処理は終了され、処理は、図33のステップS807に戻り、それ以降の処理が繰り返される。
なお、補償候補ベクトル数と比較される閾値は、任意の値とすることができ、例えば、5とされる。
以上のように、割付補償部57においては、ベクトル割付部54により動きベクトルが割り付けられなかった画素に対して、その画素とベクトル割付部54により割り付けられた動きベクトルの割付位置との距離に応じた重みを付けて、動きベクトルが示す位置の画素の相関を示す評価値が演算される。
換言すると、割付補償部57により割り付けられた動きベクトルよりも、ベクトル割付部54により割り付けられた動きベクトルの方が高く評価されないように評価値が演算されるので、動き相関に基づいて、距離の近い、すなわち、同じオブジェクトである可能性の高い候補を重視する評価を行うことができる。また、内挿フレーム上での動きベクトル推定の精度向上が可能となり、近接した動き、すなわち、同じオブジェクトの動きを重視した動きベクトルの推定が可能となる。
これにより、割付補償部57は、ベクトル割付部54により動きベクトルが割り付けられなかった画素に対して、最も正確であると予測される動きベクトルを割り付けることができる。すなわち、割付補償部57は、ベクトル割付部54により動きベクトルが割り付けられなかった画素に対して、内挿フレームの画素値を生成する場合に、画素値を生成において、より破綻の少ない動きベクトルを割り付けることができる。そして、その結果、後段において生成される画像のブロックノイズや粉状ノイズなどを抑制し、品質を向上させることができる。
なお、上記説明においては、ベクトル割付部54において割り付けられなかった画素に対してベクトル補償処理を行っているが、ベクトル検出部52において検出されなかった(0ベクトルが検出された)画素など、何らかの処理において動きベクトルが求められなかった画素に対してベクトル補償処理を行うようにしてもよい。また、さらに、検出された動きベクトル、または、割り付けられた動きベクトルが確からしくない(信頼度が低い)とされる画素に対してベクトル補償処理を行うようにしてもよい。
本実施の形態においては、動きベクトルを選択する際の評価値として、差分絶対値和である評価値DFDを用いて説明したが、評価値DFDに限定されず、動きベクトルの信頼度を評価するものであれば、他のものを用いるようにしてもよい。
また、本実施の形態においては、各処理を行うブロックを、例えば、8画素×8画素や9画素×9画素などにより構成するようにして説明したが、これらは、一例であり、各処理を行うブロックを構成する画素は、上記画素数に限定されない。
さらに、本実施の形態においては、24P信号から60P信号への信号変換を例に、説明を行ったが、本発明は、例えば、動画像のフレーム周波数変換として、インターレース信号や、他のフレームレート変換にも適用することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図1に示されるように、磁気ディスク31(フレキシブルディスクを含む)、光ディスク32(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク33(MD(Mini-Disc)(商標)を含む)、もしくは半導体メモリ34などよりなるリムーバブル記録媒体(パッケージメディア)、または、プログラムが一時的もしくは永続的に格納されるROM12などにより構成される。
なお、本明細書において、フローチャートに示されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
1 信号処理装置,11 CPU,12 ROM,13 RAM,31 磁気ディスク,32 光ディスク,33 光磁気ディスク,34 半導体メモリ,51 フレームメモリ,52 ベクトル検出部,53 検出ベクトルメモリ,54 ベクトル割付部,55 割付ベクトルメモリ,56 割付フラグメモリ,57 割付補償部,58 画像補間部,101 初期ベクトル選択部,103 反復勾配法演算部,104 ベクトル評価部,105 シフト初期ベクトル割付部,106 評価値メモリ,107 シフト初期ベクトルメモリ,701 画素情報演算部,702 評価値演算部,703 着目画素差分演算部,704 ベクトル評価部,705 ベクトル選択部,711 画素差分判定部,712 評価値判定部,801 ベクトル補償部,802 評価値演算部,803 補償候補ベクトルメモリ,804 同一ベクトル判定部
Claims (11)
- 第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理装置において、
前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付手段と、
前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算手段と、
所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償手段と
を備える画像処理装置。 - 前記評価値演算手段は、前記隣接画素に割り付けられている前記動きベクトルを、前記注目ブロック内の所定の位置に移動させ、移動後の前記注目ブロック内の所定の位置における前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する
請求項1に記載の画像処理装置。 - 前記注目ブロックが複数の前記注目画素で構成される場合、
前記評価値演算手段は、前記隣接画素および前記注目画素に割り付けられている前記動きベクトルについて、前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算し、
前記割付補償手段は、所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素の内の、前記動きベクトルが割り付けられていない前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける
請求項1に記載の画像処理装置。 - 前記評価値演算手段は、前記隣接画素および前記注目画素に付されている優先順位の順に、前記隣接画素または前記注目画素に割り付けられている前記動きベクトルについて、前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する
請求項3に記載の画像処理装置。 - 前記割付補償手段は、前記注目画素に、前記動きベクトルを補って割り付ける際に、前記動きベクトルに対応させて、前記ベクトル割付手段により前記動きベクトルが割り付けられていた画素の位置の情報である割付位置情報を記憶させる
請求項1に記載の画像処理装置。 - 前記評価値演算手段は、前記割付補償手段により前記隣接画素に補って割り付けられた前記動きベクトルについても、前記動きベクトルに対応させて記憶された前記割付位置情報に基づいて、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて前記評価値を演算する
請求項5に記載の画像処理装置。 - 前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであるか否かを判定する判定手段をさらに備え、
前記評価値演算手段は、前記判定手段により前記評価値を演算しようとする前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置が、前記評価値が既に演算された前記動きベクトルの大きさおよび向き、並びに前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と同じであると判定された場合、前記動きベクトルについての前記評価値の演算をスキップする
請求項1に記載の画像処理装置。 - 前記評価値演算手段は、前記第1の領域に属する画素の画素値と前記第2の領域に属する画素の画素値との差分絶対値和である前記評価値を、前記動きベクトルが前記ベクトル割付手段により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する
請求項1に記載の画像処理装置。 - 第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理装置の画像処理方法において、
前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップと、
前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップと、
所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップと
を含む画像処理方法。 - 第1のフレームおよび第2のフレームを基に検出された動きベクトルを、前記第1のフレームおよび前記第2のフレームの間に配置される第3のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第3のフレームの画素の画素値を生成する画像処理を、コンピュータに行わせるプログラムであって、
前記第1のフレームおよび前記第2のフレームを基に検出された動きベクトルであって、前記第1のフレームを始点とし前記第2のフレームを終点とする動きベクトルと、前記第3のフレームとが交差する点の近傍の、前記第3のフレーム上の画素に前記動きベクトルを割り付けるベクトル割付ステップと、
前記第3のフレーム上の少なくとも1の注目している画素である注目画素からなる注目ブロック毎に、前記注目ブロックに隣接して配置されている画素である隣接画素に割り付けられている前記動きベクトルについて、前記動きベクトルの前記第1のフレームにおける始点を中心とした第1の領域に属する前記第1のフレームの画素の画素値と、前記動きベクトルの前記第2のフレームにおける終点を中心とした第2の領域に属する前記第2のフレームの画素の画素値との相関を示す評価値を、前記動きベクトルが前記ベクトル割付ステップの処理により割り付けられていた画素の位置と前記注目ブロック内の所定の位置との距離に応じた重みを付けて演算する評価値演算ステップと、
所定の数の前記動きベクトルについて前記評価値が演算された場合、前記注目ブロックの前記注目画素に、相関が最も強いことを示す前記評価値が演算された前記動きベクトルを補って割り付ける割付補償ステップと
を含むプログラム。 - 請求項10に記載のプログラムが記録されている記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005299628A JP2007110461A (ja) | 2005-10-14 | 2005-10-14 | 画像処理装置および方法、プログラム、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005299628A JP2007110461A (ja) | 2005-10-14 | 2005-10-14 | 画像処理装置および方法、プログラム、並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007110461A true JP2007110461A (ja) | 2007-04-26 |
Family
ID=38035949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005299628A Withdrawn JP2007110461A (ja) | 2005-10-14 | 2005-10-14 | 画像処理装置および方法、プログラム、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007110461A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010087867A (ja) * | 2008-09-30 | 2010-04-15 | Sony Corp | フレーム周波数変換装置、フレーム周波数変換方法、その方法を実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体並びに動きベクトル検出装置及び予測係数生成装置 |
-
2005
- 2005-10-14 JP JP2005299628A patent/JP2007110461A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010087867A (ja) * | 2008-09-30 | 2010-04-15 | Sony Corp | フレーム周波数変換装置、フレーム周波数変換方法、その方法を実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体並びに動きベクトル検出装置及び予測係数生成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4687994B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4692846B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
KR101118981B1 (ko) | 화상 처리 장치 및 방법, 기록 매체, 및 프로그램 | |
JP4752407B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2007074592A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP4650683B2 (ja) | 画像処理装置および方法、プログラム並びに記録媒体 | |
JP4512983B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP2007110461A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP4655214B2 (ja) | 画像処理装置および方法、プログラム並びに記録媒体 | |
JP4419069B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4432714B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4650682B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP4512982B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4512984B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4655217B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4655216B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP4512985B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4655215B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP4835075B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2007074589A (ja) | 画像処理装置および方法、プログラム並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090106 |