以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の画像処理装置は、入力された第1のフレーム上の動きベクトルを検出し、検出された前記動きベクトルに基づいて、第2のフレーム上の画素を生成する画像処理装置であって、前記第1のフレームとの間に前記第2のフレームが配置される、入力された第3のフレーム上の画素であって、前記第2のフレーム上の注目している生成された画素である注目画素の位置と同じ位置の第3のフレーム上の画素の画素値と、前記注目画素の位置と同じ位置の前記第1のフレーム上の画素の画素値とから、前記第1のフレームの時刻から前記第2のフレームの時刻までの時間と、前記第2のフレームの時刻から前記第3のフレームの時刻までの時間との比率に応じて、画素値を生成する第1の生成手段(例えば、図9の0ベクトル補間画像生成部111)と、予め定めた比率に従って、前記注目画素の画素値に、生成した画素値を混合する混合手段(例えば、図9の画像混合部112)とを備える。
本発明の一側面の画像処理装置は、第2に、前記第1のフレーム上の前記動きベクトルを検出する検出手段(例えば、図2のベクトル検出部52)と、前記第2のフレーム上の画素に、検出された前記動きベクトルを割り付ける割り付け手段(例えば、図2のベクトル割付部54)と、割り付けられた前記動きベクトルに基づいて、前記第1のフレームおよび前記第3のフレームから、画素値を算出することで、前記第2のフレーム上の画素を生成する第2の生成手段(例えば、図2の画像補間部58)とをさらに設けることができる。
本発明の一側面の画像処理方法またはプログラムは、前記第1のフレームとの間に前記第2のフレームが配置される、入力された第3のフレーム上の画素であって、前記第2のフレーム上の注目している生成された画素である注目画素の位置と同じ位置の第3のフレーム上の画素の画素値と、前記注目画素の位置と同じ位置の前記第1のフレーム上の画素の画素値とから、前記第1のフレームの時刻から前記第2のフレームの時刻までの時間と、前記第2のフレームの時刻から前記第3のフレームの時刻までの時間との比率に応じて、画素値を生成し(例えば、図11のステップS101)、予め定めた比率に従って、前記注目画素の画素値に、生成した画素値を混合する(例えば、図11のステップS102)ステップを含む。
以下、図を参照して本発明の実施の形態について説明する。
図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は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア21が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部18に転送され、記憶される。
なお、画像処理装置1は、例えば、テレビジョン受像機、ハードディスクプレーヤ、光ディスクプレーヤ、ポータブルプレーヤ(携帯電話機)など、または、それらの画像処理部とすることもできる。
図2は、画像処理装置1の機能の構成の例を示すブロック図である。画像処理装置1は、フレームメモリ51、ベクトル検出部52、検出ベクトルメモリ53、ベクトル割付部54、割付ベクトルメモリ55、割付フラグメモリ56、割付補償部57、画像補間部58、フレーム全体後処理部59、および破綻箇所後処理部60を備える。
なお、画像処理装置1の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えてもよい。
図2に構成を示す画像処理装置1においては、例えば、フレーム周波数24Hzのプログレッシブ画像信号(以下、24P信号と称する)の画像が入力され、入力された画像(入力画像)が、フレーム周波数60Hzのプログレッシブ画像信号(以下、60P信号と称する)の画像に変換されて、出力される。
画像処理装置1に入力された24P信号の入力画像は、フレームメモリ51、ベクトル検出部52、ベクトル割付部54、割付補償部57、画像補間部58、フレーム全体後処理部59、および破綻箇所後処理部60に供給される。フレームメモリ51は、入力画像をフレーム単位で記憶する。フレームメモリ51は、時刻t+1の入力画像の1つ前の時刻tのフレームを記憶する。フレームメモリ51に記憶される時刻tのフレームは、ベクトル検出部52、ベクトル割付部54、割付補償部57、画像補間部58、フレーム全体後処理部59、および破綻箇所後処理部60に供給される。なお、以下、フレームメモリ51上の時刻tのフレームをフレームtと称し、時刻t+1の入力画像のフレームを、フレームt+1と称する。
ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶する。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。検出ベクトルメモリ53は、フレームtにおいて、ベクトル検出部52により検出された動きベクトルを記憶する。
ベクトル割付部54は、24P信号のフレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する60P信号のフレーム(以下、60P信号のフレームは、24P信号のフレームと区別するため、内挿フレームとも称する)上の画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(True)に書き換える。
割付ベクトルメモリ55は、ベクトル割付部54により割り付けられた動きベクトルを、内挿フレームの各画素に対応させて記憶する。割付フラグメモリ56は、内挿フレームの画素毎に、割り付けられる動きベクトルの有無を示す割付フラグを記憶している。例えば、True(1)である割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、False(0)である割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。
割付補償部57は、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを割り付けた着目画素の割付フラグを1(True)に書き換える。
画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよび次のフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成する。そして、画像補間部58は、生成された内挿フレームをフレーム全体後処理部59に出力し、その次に、必要に応じて、フレームt+1をフレーム全体後処理部59に出力する。なお、以下において、画像補間部58から出力される画像を補間画像とも称する。
フレーム全体後処理部59は、予め定めた混合比と、フレームtおよび次のフレームt+1の画素値とを用いて、破綻が目立たないようにする後処理を、画像補間部58から供給された補間画像の内挿フレームの全体に適用する。フレーム全体後処理部59は、後処理を適用した画像を破綻箇所後処理部60に供給する。
破綻箇所後処理部60は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、予め定めた閾値と、フレームtおよび次のフレーム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信号のフレームが生成される。
また、以下、時刻t+0.4,t+0.8,t+1.2,およびt+1.6などの時刻t+kの内挿フレームを内挿フレームt+kと称する。
図4は、フレームを内挿する処理をより具体的に説明する図である。図4の例においては、太線矢印は、各状態への遷移を表しており、矢印Tは、状態81乃至85における時間の経過方向を表している。また、状態81乃至85は、画像処理装置1を構成する各部への入出力時の、24P信号の時刻tのフレームt、時刻tの次の時刻t+1のフレームt+1、または、フレームtおよびフレームt+1の間に生成される60P信号の内挿フレームFの状態を概念的に表している。すなわち、実際には、例えば、状態82に示されるような動きベクトルが検出されたフレームは入力されず、フレームと動きベクトルは、別々に入力される。
状態81は、ベクトル検出部52に入力される、24P信号のフレームtおよびフレームt+1の状態を表している。状態81のフレームt上の黒点は、フレームt上の画素を表している。ベクトル検出部52は、状態81のフレームt上の画素が、次の時刻のフレームt+1において、どの位置に移動するかを検出し、その動きを、状態82のフレームt上に示されるように、各画素に対応する動きベクトルとして出力する。この2フレーム間の動きベクトルの検出方法には、ブロックマッチング法または勾配法などが用いられる。なお、このとき、例えば、画素に複数の動きベクトルが検出された場合、ベクトル検出部52は、各動きベクトルについて、評価値を求め、その評価値に基づいて動きベクトルを選択する。
状態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と同様に、各動きベクトルについての評価値を求め、その評価値に基づいて割り付ける動きベクトルを選択する。
状態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のフレーム周波数を変換する処理を説明する。
ステップS1において、ベクトル検出部52は、時刻t+1の入力画像のフレームt+1と、フレームメモリ51の入力画像の1つ前の時刻tのフレームtの画素値を入力し、ステップS2に進む。なお、このとき、ベクトル割付部54、割付補償部57、画像補間部58、フレーム全体後処理部59、および破綻箇所後処理部60は、時刻t+1の入力画像のフレームt+1と、フレームメモリ51の入力画像の1つ前の時刻tのフレームtの画素値を入力する。
ステップS2において、ベクトル検出部52は、動きベクトルを検出し、ステップS3に進む。すなわち、ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像である次のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶し、ステップS3に進む。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。
ステップS3において、ベクトル割付部54は、補間する内挿フレーム上の着目画素に動きベクトルを割り付け、ステップS4に進む。すなわち、ベクトル割付部54は、ステップS3において、フレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する内挿フレーム上の着目画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(True)に書き換える。例えば、Trueである割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、Falseである割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。
ステップS4において、割付補償部57は、割り付けを補償し、ステップS5に進む。すなわち、割付補償部57は、ステップS4において、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを補い、割付けた着目画素の割付フラグを1(True)に書き換える。
ステップS5において、画像補間部58は、画像補間処理を実行する。すなわち、画像補間部58は、ステップS5において、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成し、ステップS6に進む。ステップS5における、画像補間処理の詳細は後述する。画像補間部58は、生成された内挿フレームを出力し、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の補間画像を出力する。
ステップS6において、フレーム全体後処理部59は、内挿フレームについて、フレーム全体の後処理を実行して、ステップS7に進む。フレーム全体の後処理の詳細は後述する。
ステップS7において、破綻箇所後処理部60は、内挿フレームについて、破綻箇所の後処理を実行して、ステップS8に進む。破綻箇所の後処理の詳細は後述する。
破綻箇所後処理部60は、ステップS8において、後処理された60P信号の補間画像を出力する。
ステップS9において、ベクトル検出部52は、すべてのフレームの処理が終了したか否かを判断し、すべてのフレームの処理が終了していないと判断した場合、ステップS1に戻り、それ以降の処理を繰り返す。一方、ベクトル検出部52は、ステップS9において、すべてのフレームの処理が終了したと判断した場合、フレーム周波数を変換する処理を終了する。
以上のように、本発明に係る画像処理装置1は、24P信号の入力画像のフレームから動きベクトルを検出し、検出した動きベクトルを、60P信号のフレーム上の画素に割付け、割付けられた動きベクトルに基づいて、60P信号のフレーム上の画素値を生成する。そして、画像処理装置1は、内挿フレームについて、フレーム全体または破綻箇所に後処理を適用して、破綻のより目立ちにくい画像を出力する。
次に、画像補間部58の構成の詳細について説明する。
図6は、画像補間部58の構成を示すブロック図である。図6に構成を示す画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成し、60P信号の補間画像を出力する処理を行う。
図6の例において、時刻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画素との距離を基にした線形補間で値が求められる。
乗算器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信号の補間画像をフレーム全体後処理部59に出力する。
以上のように構成される画像補間部58の画像補間処理の詳細を、図7のフローチャートを参照して説明する。
補間制御部91は、ステップS51において、処理する内挿フレームの時間位相に基づいて、フレームtとフレームt+1の間における内挿フレームの補間重み(例えば、「k」および「1−k」)を求め、求められた補間重みを、乗算器93−1および93−2にそれぞれ設定し、ステップS52に進む。
例えば、図8で示されるように、時刻tのフレームtと時刻t+1のフレームt+1の間の、時刻t+kの内挿フレームを生成する場合、補間制御部91は、kおよび1−kの補間重みを求め、求められた補間重みを、乗算器93−1および93−2にそれぞれ設定する。なお、図8の例においては、点線が、画像処理装置1に入力される、時刻tおよびt+1における24P信号のフレームを表しており、実線が、入力された24P信号から画像処理装置1により、生成される時刻t+kにおける60P信号の内挿フレームを表している。
補間制御部91は、ステップS52において、割付ベクトルメモリ55の内挿フレームの画素を選択し、ステップS53に進む。なお、内挿フレーム上の画素は、フレームの左上の画素からラスタスキャン順に選択される。
補間制御部91は、ステップS53において、選択した画素に割り付けられている動きベクトルに基づいて、内挿フレーム上の画素と、2枚のフレームtおよびフレームt+1の画素との位置関係(空間シフト量)をそれぞれ求め、求められた空間シフト量を、それぞれ空間フィルタ92−1および92−2に供給し、ステップS54に進む。
具体的には、補間制御部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にそれぞれ出力し、ステップS55に進む。
乗算器93−1および93−2は、ステップS55において、空間フィルタ92−1または92−2から入力される各フレーム上の画素値に、補間制御部91により設定された補間重みを重み付けし、重み付けされた画素値を、加算器94に出力し、ステップS56に進む。すなわち、乗算器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に出力し、ステップS57に進む。
例えば、ステップS52乃至ステップS56の処理により、図8で示されるように、内挿フレームにおける選択された画素pに割り付けられている動きベクトルvで対応付けられるフレームt上の画素qの画素値およびフレームt+1上の画素rの画素値から、フレームtとフレームt+1の間の新たな内挿フレームt+k上の画素pの画素値が生成される。
補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したか否かを判断し、内挿フレーム上のすべての画素についての処理が終了していないと判断した場合、ステップS52に戻り、それ以降の処理を繰り返す。補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したと判断した場合、画像補間処理を終了する。
以上のように、内挿フレームに割り付けられた動きベクトルに基づいて、内挿フレームの画素値が生成され、上述した図5のステップS5において、バッファ95により、内挿フレームが出力され、その次に、必要に応じて、フレームt+1が出力されることにより、60P信号の補間画像がフレーム全体後処理部59に出力される。
なお、図7のフローチャートを参照して説明した処理は、内挿フレーム生成の処理とも称する。
次に、フレーム全体後処理部59について説明する。
図9は、フレーム全体後処理部59の構成の例を示すブロック図である。フレーム全体後処理部59は、0ベクトル補間画像生成部111および画像混合部112を備える。
0ベクトル補間画像生成部111は、内挿フレームt+k上の画素に割り当てた0ベクトルで示される、内挿フレームt+kに隣接する入力画像のフレームtの画素の画素値およびフレームt+1の画素の画素値から、フレームtの時刻tから内挿フレームt+kの時刻t+kまでの時間と、内挿フレームt+kの時刻t+kからフレームt+1の時刻t+1までの時間との比率に応じて、画素値を生成する。
ここで、0ベクトルは、空間方向の成分が0である動きベクトルである。
すなわち、0ベクトル補間画像生成部111は、内挿フレームt+k上の画素であって、内挿フレームt+k上の注目している画素である注目画素の位置と同じ位置のフレームt上の画素の画素値と、注目画素の位置と同じ位置のフレームt+1上の画素の画素値とから、時刻tから時刻t+kまでの時間と、時刻t+kから時刻t+1までの時間との比率に応じて、画素値を生成する。
図10は、0ベクトル補間画像生成部111における画素値の生成を説明する図である。なお、図10の例においては、点線が、画像処理装置1に入力される、時刻tおよびt+1における24P信号のフレームを表しており、実線が、入力された24P信号から画像処理装置1により、生成される時刻t+kにおける60P信号の内挿フレームを表している。また、動きベクトルvは、内挿フレームの画素pに割り付けられ、フレームt+1上の画素rおよびフレームt上の画素qが、動きベクトルvによって対応付けられている。
図中の空間方向の成分が0である0ベクトル(0 vector)は、内挿フレーム上の注目画素pの位置と同じ位置のフレームt上の画素pと、注目画素pの位置と同じ位置のフレームt+1上の画素pとを対応付けている。
図10で示されるように、0ベクトル補間画像生成部111は、内挿フレーム上の画素pに注目している場合、画素pの位置と同じ位置のフレームt上の画素pの画素値Ft(p)と、画素pの位置と同じ位置のフレームt+1上の画素pの画素値Ft+1(p)とを取得する。そして、0ベクトル補間画像生成部111は、画素値Ft(p)に、時刻tから時刻t+kまでの時間に応じた重みkを乗算し、画素値Ft+1(p)に、時刻t+kから時刻t+1までの時間に応じた重み1−kを乗算する。さらに、0ベクトル補間画像生成部111は、これらの乗算の結果を加算することで、画素値Gt+k(p)を生成する。
すなわち、0ベクトル補間画像生成部111によって、式(1)で示される画素値Gt+k(p)が求められる。
Gt+k(p)=(1−k)Ft(p)+kFt+1(p) (1)
0ベクトル補間画像生成部111は、内挿フレームの全ての画素について、式(1)で示される演算で求められる画素値を生成する。0ベクトル補間画像生成部111は、生成した画素値の画素からなる0ベクトル補間画像を画像混合部112に供給する。
画像混合部112は、所定の混合比(割合)に従って、注目画素の画素値に、0ベクトル補間画像生成部111において生成された画素値を混合する。例えば、混合比は、予め定められている。
例えば、画像混合部112は、外部から予め定めた混合比γが入力された場合、画素pに注目しているとき、0ベクトル補間画像生成部111から供給された0ベクトル補間画像の画素pの画素値Gt+k(p)に混合比γを乗算し、内挿フレームの画素pの画素値Ft+k(p)に(1−γ)を乗算する。そして、画像混合部112は、これらの乗算の結果を加算した値を内挿フレームの画素pの画素値F’t+k(p)とする。なお、混合比γは、0より大きく1より小さい。
すなわち、画像混合部112によって、混合比γに従って、注目画素pの画素値に、0ベクトル補間画像生成部111において生成された画素値Gt+k(p)が混合されることで、式(2)で示される、内挿フレームの画素pの画素値F’t+k(p)が求められる。
F’t+k(p)=(1−γ)Ft+k(p)+γGt+k(p) (2)
画像混合部112は、内挿フレームの全ての画素について、式(2)で示されるように、混合比に従って、0ベクトル補間画像の画素を混合する。画像混合部112は、混合の結果得られた補間画像を出力する。
なお、0ベクトル補間画像生成部111において生成された画素値Gt+k(p)の割合を大きくすると、画像の動きが不自然になってしまうので、0.0<γ<=0.5の混合比γを利用するとよい。
さらに好ましくは、0.25<=γ<=0.5の混合比γを利用するとよい。本発明者の実験において、0.25<=γ<=0.5の混合比γを用いると、より自然で、かつ画像の破綻がより目立ちにくい画像を得ることができることを確認している。
なお、画像補間部58において、Ft+k(p)を算出する場合に、フレームtおよびフレームt+1を記憶するので、フレーム全体後処理部59は、フレームtおよびフレームt+1を画像補間部58から読み出すようにすれば、新たにメモリを用意する必要がない。
また、内挿フレームの全ての画素に一律に0ベクトル補間画像の画素を混合するので、ハードウェアまたはソフトウェアをより簡単に実現することができる。
図11は、図5のステップS6に対応するフレーム全体の後処理の詳細を説明するフローチャートである。ステップS101において、0ベクトル補間画像生成部111は、0ベクトル補間画像の画素を生成する。すなわち、例えば、ステップS101において、0ベクトル補間画像生成部111は、式(1)に従って、0ベクトル補間画像の画素の画素値Gt+k(p)を算出することで、0ベクトル補間画像の画素を生成する。
ステップS102において、画像混合部112は、予め定めた混合比γに従って、入力された補間画像の画素と、0ベクトル補間画像の画素とを混合する。例えば、ステップS102において、画像混合部112は、式(2)で示されるように、混合比γに従って、内挿フレームの画素に、0ベクトル補間画像の画素を混合する。
ステップS103において、フレーム全体後処理部59は、内挿フレームの全ての画素について、処理を終了したか否かを判定し、処理を終了していないと判定された場合、ステップS101に戻り、内挿フレームの次の画素について、ステップS101およびステップS102の処理が繰り返される。なお、ステップS101およびステップS102の処理の対象となる画素は、例えば、ラスタスキャン順に選択される。
ステップS103において、内挿フレームの全ての画素について処理を終了したと判定された場合、フレーム全体の後処理は終了する。
このように、内挿フレームの全体について、0ベクトル補間画像を混合するようにしたので、簡単な処理で、画像の動きの滑らかさを損なうことなく、画像の破綻を目立たなくすることができる。画像の破綻が目立ちにくくなるので、画像を見ている使用者には、画像の画質が改善されたように感じられる。
なお、0ベクトル補間画像の全体を生成してから、補間画像と0ベクトル補間画像とを混合するようにしてもよい。
次に、破綻箇所後処理部60について説明する。
図12は、破綻箇所後処理部60の構成の例を示すブロック図である。破綻箇所後処理部60は、ベクトル特徴量算出部141、破綻箇所判定部142、画像特徴量算出部143、フィルタ係数ROM144、フィルタ選択部145、およびフィルタ処理部146を備える。
ベクトル特徴量算出部141は、画像補間部58において画素値が生成された内挿フレーム上の画素であって、注目している画素である注目画素に割り付けられている動きベクトルと、注目画素の周辺の予め定めた範囲の内挿フレーム上の画素である周辺画素に割り付けられている動きベクトルとのばらつきを示す値を算出する。
内挿フレームを生成する場合に生じる画像の破綻(劣化)は、経験的に、画素に割り付けられている動きベクトルが暴れている(ばらついている)部分において生じやすい。
ベクトル特徴量算出部141は、画像の破綻(劣化)の生じる可能性を示す評価値として、生成した画像の画素に割り付けられている動きベクトルのばらつきを示す値を算出する。
例えば、ベクトル特徴量算出部141は、内挿フレームt+kにおける注目画素px,yについて、動きベクトルのばらつきを示す値の一例である、不規則性評価値を算出する。ここで、不規則性評価値とは、注目画素px,yに割り当てられた動きベクトルを、周辺の画素に割り当てられた動きベクトルと比較した場合に、どの程度ばらついているかを評価した結果を示すものである。
以下、ベクトル特徴量算出部141が、不規則性評価値として、VDAS(Vector Difference Absolute Summation)を算出する場合を例に説明する。
例えば、図13で示されるように、ベクトル特徴量算出部141は、内挿フレームt+k上の注目している画素を注目画素px,yとした場合、注目画素px,yを中心とした、1点鎖線で示される所定の範囲の画素に割り付けられている動きベクトルを割付ベクトルメモリ55から読み出す。
より詳細には、例えば、ベクトル割付部54において2画素毎に動きベクトルを割り付ける場合、図14で示されるように、ベクトル特徴量算出部141は、内挿フレーム上の注目している画素を注目画素px,yとしたとき、注目画素px,yから、上下に2画素、左右に2画素離れた範囲の画素に割り付けられている動きベクトルを割付ベクトルメモリ55から読み出す。すなわち、ベクトル特徴量算出部141は、注目画素px,yに対して、2画素上側で2画素左側の画素px-2,y-2、注目画素px,yに対して、2画素上側の画素px,y-2、注目画素px,yに対して、2画素上側で2画素右側の画素px+2,y-2、注目画素px,yに対して、2画素左側の画素px-2,y、注目画素px,yに対して、2画素右側の画素px+2,y、注目画素px,yに対して、2画素下側で2画素左側の画素px-2,y+2、注目画素px,yに対して、2画素下側の画素px,y+2、注目画素px,yに対して、2画素下側で2画素右側の画素px+2,y+2、および注目画素px,yのそれぞれに割り付けられている動きベクトルを割付ベクトルメモリ55から読み出す。
ベクトル特徴量算出部141は、式(3)を基に、内挿フレームt+k上の注目画素px,yについてのVDASであるVDASt+k(px,y)を算出する。
VDASt+k(px,y)=max(VDASt+k(px,y)x,VDASt+k(px,y)y)
・・・(3)
式(3)において、max(a,b)は、aとbのうち、大きい方を選ぶ関数である。
VDASt+k(px,y)xは、式(4)で算出され、VDASt+k(px,y)yは、式(5)で算出される。
・・・(5)
式(4)および式(5)において、i=−2,0,2であり、j=−2,0,2である。
このように、例えば、ベクトル特徴量算出部141は、内挿フレーム上のn個の画素毎に動きベクトルが割り付けられている場合、注目画素からn個の画素だけ離れた周辺画素に割り付けられている動きベクトルと、注目画素に割り付けられている動きベクトルとのばらつきを示す値を算出する。
以上のように、ベクトル特徴量算出部141は、不規則性評価値として、VDASを算出する。
ベクトル特徴量算出部141は、不規則性評価値などの、動きベクトルのばらつきを示す値を破綻箇所判定部142に供給する。
なお、いわゆる4:2:2の画像信号のクロマ(色差信号)について、VDASを算出する場合、注目画素px,yから、上下に4画素、左右に4画素離れた範囲の画素に割り付けられている動きベクトルを割付ベクトルメモリ55から読み出して、読み出した動きベクトルに式(3)を適用して、VDASを算出する。この場合、i=−4,0,4であり、j=−4,0,4である。
また、色差信号の場合、輝度信号において対応する画素の位置で算出されたVDASの値を用いるようにしてもよい。
さらに、式(4)および式(5)において、絶対値に代えて、自乗した値を用いるようにしてもよい。
さらにまた、VDASの値の算出には、動きベクトルの間のユークリッド距離の和を用いるようにしてもよい。
なお、VDASの値の算出に際して、入力画像の種類に応じて画素の範囲を変更するようにしてもよい。例えば、注目画素を中心とした、上下に9画素、左右に9画素の範囲の全ての画素のそれぞれに割り付けられている81個の動きベクトルを基にVDASの値を算出するようにしてもよい。
次に、画像特徴量算出部143は、フレームtとの間に内挿フレームt+kが配置される、入力されたフレームt+1上の画素であって、内挿フレームt+k上の注目画素の位置と同じ位置のフレームt+1上の画素の画素値と、注目画素の位置と同じ位置のフレームt上の画素の画素値とから、時間方向の画素値の変化を示す値を算出する。
これは、ばらつきを示す値の算出の対象となる動きベクトルが割り付けられている画素の範囲に、動きの異なるオブジェクトの境界が含まれている場合を考えると、画像が破綻していないときであっても、動きベクトルのばらつきが生じるので、動きベクトルのばらつきだけで画像が破綻しているか否かを判定すると、破綻箇所判定部142において画像が破綻していると誤って判定される(誤検出される)ときがある。
例えば、図15で示されるように、5×5画素の領域の1画素おきの9個の画素(図中の丸)について考えた場合、上側の横の行の3つの画素と下側の横の行の3つの画素が、動いている背景の画像オブジェクトに対応し、上側の横の行の3つの画素と下側の横の行の3つの画素とに挟まれた中の横の行の3つの画素が、静止している前景の画像オブジェクトに対応するとき、上側の画素と下側の画素には、同じ動きベクトルが割り付けられるが、中の画素には、0ベクトルが割り付けられる。
この場合、図16で示されるように、5×5画素の領域の1画素おきの9個の画素のうちの中心の画素を注目画素(図中の黒丸で示す画素)としたとき、動きベクトルのばらつきは、上側の横の行の3つの画素および下側の横の行の3つの画素に割り付けられた動きベクトルの大きさによって決まり、大きなものとなる。図に示される画像は、破綻していないにもかかわらず、動きベクトルのばらつきを示す値だけで画像が破綻しているか否かを判断すると、破綻していると誤って判断してしまうことになる。
そこで、画像の破綻箇所の検出から、このような誤った検出を減らして、破綻箇所の検出の精度を向上させるために、時間方向の画像の情報を用いることを考える。
図17で示されるように、画素pに注目している場合、画素pの位置と同じ位置(同位相)のフレームt上の画素の画素値Ft(p)と、画素pの位置と同じ位置のフレームt+1上の画素の画素値Ft+1(p)との差分絶対値D(p)を、時間方向の安定性を判定するための評価値(時間方向の画素値の変化を示す値)として用いる。差分絶対値D(p)は、式(6)で算出される。
D(p)=|Ft(p)−Ft+1(p)| ・・・(6)
例えば、画像特徴量算出部143は、式(6)で示される演算により、時間方向の画素値の変化を示す値として差分絶対値D(p)を算出する。
画像特徴量算出部143は、算出した時間方向の画素値の変化を示す値を破綻箇所判定部142に供給する。
破綻箇所判定部142は、ベクトル特徴量算出部141から供給された動きベクトルのばらつきを示す値および画像特徴量算出部143から供給された時間方向の画素値の変化を示す値から、注目画素において内挿フレームの画像が破綻しているか否かを判定する。
例えば、破綻箇所判定部142は、注目画素px,yについて、ベクトル特徴量算出部141から供給されたVDASと予め定めた閾値THpf0とを比較し、画像特徴量算出部143から供給された差分絶対値D(p)と予め定めた閾値THpf1とを比較し、VDASが閾値THpf0より大きく、かつ、差分絶対値D(p)が閾値THpf1より大きい場合に、注目画素px,yにおいて内挿フレームの画像が破綻していると判定する。破綻箇所判定部142は、VDASが閾値THpf0以下であるか、または、差分絶対値D(p)が閾値THpf1以下である場合に、注目画素px,yにおいて内挿フレームの画像が破綻していないと判定する。
すなわち、破綻箇所判定部142は、式(7)で示される条件が満たされる場合、内挿フレームの画像が破綻していると判定し、式(7)で示される条件が満たされない場合、内挿フレームの画像が破綻していないと判定する。
VDASt+k(px,y)>THpf0 ∩ D(p)>THpf1 ・・・(7)
このように、動きベクトルのばらつきから、画像の空間方向に対する破綻を検出することができるが、さらに画像の時間方向の情報を用いることにより、破綻箇所の誤検出を減らして、より正確に、より確実に、画像が破綻しているか否かを判定することができるようになる。
破綻箇所判定部142は、動きベクトルとのばらつきを示す値と共に、注目画素において内挿フレームの画像が破綻しているか否かの判定の結果を示すデータをフィルタ選択部145に供給する。
フィルタ係数ROM144は、画像の高域成分を除去するフィルタ(低域通過フィルタ)に用いて、フィルタの特性を決定するためのフィルタ係数を予め複数記憶している。
フィルタ選択部145は、画像の高域成分を除去する複数のフィルタから、動きベクトルのばらつきを示す値を基に、内挿フレームにおける注目画素を含む所定の範囲の画像に適用する1つのフィルタを選択する。
フィルタ処理部146は、注目画素において内挿フレームの画像が破綻していると判定された場合、補間画像のうちの内挿フレームにおける注目画素を含む所定の範囲の画像から、画像の高域成分を除去する。フィルタ処理部146は、高域成分を除去した画像を出力画像として出力する。例えば、フィルタ処理部146は、画像の高域成分を除去するフィルタの処理を、図13の1点鎖線で示される、内挿フレームにおける注目画素を含む所定の範囲の画像に適用することで、画像の高域成分を除去する。
なお、ばらつきを示す値を算出する動きベクトルが割り付けられている画素の範囲と、高域成分を除去する画像の範囲とは、同じであっても、異なるものであってもよい。
より具体的には、例えば、フィルタ係数ROM144は、フィルタ処理部146において、画像の高域成分を除去するフィルタの処理に用い、フィルタの特性を決定するためのフィルタ係数を予め複数記憶している。
フィルタ選択部145は、動きベクトルのばらつきを示す値の一例であるVDASに応じて、フィルタ係数ROM144に記憶されているフィルタ係数のうち、所定のフィルタ係数を読み出す。フィルタ選択部145は、フィルタ係数ROM144から読み出したフィルタ係数をフィルタ処理部146に供給する。フィルタ処理部146は、フィルタ選択部145から供給されたフィルタ係数を用いたフィルタ処理を、内挿フレームにおける注目画素を含む所定の範囲の画像に適用することで、画像の高域成分を除去する。
すなわち、例えば、フィルタ選択部145は、動きベクトルのばらつきを示す値を基に、複数のフィルタ係数のうち、所定のフィルタの特性を実現するための1つのフィルタ係数を選択し、フィルタ処理部146に選択したフィルタ係数を供給することで、内挿フレームにおける注目画素を含む所定の範囲の画像に適用するフィルタを選択する。
より具体的には、フィルタ選択部145は、式(8)で示される条件が満たされる場合、フィルタ1を選択し、式(9)で示される条件が満たされる場合、フィルタ2を選択する。
THpf00<VDASt+k(px,y)<=THpf01 ・・・(8)
THpf01<VDASt+k(px,y)<=THpf02 ・・・(9)
但し、THpf00<THpf01<THpf02である。
この場合、フィルタ2は、フィルタ1に比較して、画像の高域成分をより多く除去するフィルタとするのがよいことがわかっている。
すなわち、フィルタ選択部145は、式(8)で示される条件が満たされる場合、フィルタ1の特性を実現させるためのフィルタ係数を選択して、フィルタ係数ROM144から読み出して、フィルタ処理部146に供給する。一方、フィルタ選択部145は、式(9)で示される条件が満たされる場合、フィルタ2の特性を実現させるためのフィルタ係数を選択して、フィルタ係数ROM144から読み出して、フィルタ処理部146に供給する。
フィルタ処理部146は、フィルタ選択部145から供給されたフィルタ係数に応じて、フィルタ1またはフィルタ2を破綻している画像に適用する。動きベクトルのばらつきがより大きい場合には、画像の高域成分がより多く除去されることになる。
すなわち、動きベクトルのばらつきがより大きい場合には、画像が破綻している度合いも大きいと推定されるので、画像の高域成分がより多く除去されて、破綻が目立たない画像とされる。
破綻箇所後処理部60は、内挿フレームの画像のうち破綻している画像から画像の高域成分を除去するので、画像の動きの滑らかさを損なうことなく、画像の破綻が目立たない画像を出力することができる。画像の破綻が目立ちにくくなるので、画像を見ている使用者には、画像の画質が改善されたように感じられる。
また、動きベクトルおよび入力された画像(画像情報)を用いることで、正確に精度良く画像の破綻箇所を検出することができる。
このように、動きベクトルが暴れている部分に、画像の劣化が起こる可能性があるとみなして、この部分に低域通過フィルタが適用される。低域通過フィルタが適用されることで、補間された画像に生じた劣化を目立たなくすることができる。
次に、図5のステップS7の破綻箇所の後処理の詳細を図18のフローチャートを参照して説明する。
ステップS141において、ベクトル特徴量算出部141は、内挿フレーム上の注目している画素である注目画素の周辺の所定の範囲の画素に割り付けられている動きベクトルの不規則性評価値を算出する。例えば、ステップS141において、ベクトル特徴量算出部141は、式(3)を基に、不規則性評価値としてVDASを算出する。ベクトル特徴量算出部141は、不規則性評価値を破綻箇所判定部142に供給する。
ステップS142において、画像特徴量算出部143は、時間方向の画素値の変化を示す画像特徴量を算出する。例えば、ステップS142において、画像特徴量算出部143は、式(6)を基に、画像特徴量として差分絶対値D(p)を算出する。画像特徴量算出部143は、画像特徴量を破綻箇所判定部142に供給する。
ステップS143において、破綻箇所判定部142は、不規則性評価値および画像特徴量を基に、注目画素において内挿フレームの画像が破綻しているか否かを判定する。ステップS143において、注目画素において内挿フレームの画像が破綻していると判定された場合、ステップS144に進み、フィルタ選択部145は、画像の高域成分を除去する複数のフィルタから、不規則性評価値を基に、内挿フレームにおける注目画素を含む範囲の画像に適用するフィルタを選択する。例えば、ステップS144において、フィルタ選択部145は、フィルタ係数ROM144に記憶されているフィルタ係数のうち、不規則性評価値に応じた所定のフィルタ係数を読み出し、フィルタ係数ROM144から読み出したフィルタ係数をフィルタ処理部146に供給することで、内挿フレームにおける注目画素を含む範囲の画像に適用するフィルタを選択する。
ステップS145において、フィルタ処理部146は、内挿フレームにおける注目画素を含む範囲の画像に選択されたフィルタを適用し、ステップS146に進む。すなわち、ステップS144において、フィルタ処理部146は、内挿フレームにおける注目画素を含む所定の範囲の画像から、画像の高域成分を除去する。例えば、フィルタ処理部146は、フィルタ選択部145から供給されたフィルタ係数で特性の定まるフィルタを、内挿フレームにおける注目画素を含む範囲の画像に適用する。
図19は、フィルタ処理部146において、内挿フレームにおける注目画素を含む範囲の画像に適用されるフィルタを説明する図である。図19の横方向は、画像の周波数を示し、図19の縦方向は、出力のレベルを示す。図19において、点線は、フィルタ処理部146において適用されるフィルタの一例である、画像の高域成分を除去するフィルタ1の特性を示し、実線は、フィルタ処理部146において適用されるフィルタの一例であって、フィルタ1に比較して、画像の高域成分をより多く除去するフィルタ2の特性を示す。
例えば、ステップS144において、式(8)で示される条件が満たされる場合、フィルタ選択部145は、フィルタ1を選択し、フィルタ係数ROM144からフィルタ1のフィルタ係数を読み出して、フィルタ処理部146に供給する。また、式(9)で示される条件が満たされる場合、フィルタ選択部145は、フィルタ2を選択し、フィルタ係数ROM144からフィルタ2のフィルタ係数を読み出して、フィルタ処理部146に供給する。
そして、フィルタ選択部145からフィルタ係数が供給されたフィルタ処理部146は、ステップS145において、内挿フレームにおける注目画素を含む範囲の画像に、そのフィルタ係数に応じて、フィルタ1またはフィルタ2のいずれか一方を適用して、内挿フレームにおける注目画素を含む所定の範囲の画像から、画像の高域成分を除去する。
ステップS143において、注目画素において内挿フレームの画像が破綻していないと判定された場合、ステップS144およびステップS145はスキップされ、手続きは、ステップS146に進む。
ステップS146において、破綻箇所後処理部60は、内挿フレームの全ての画素について、処理を終了したか否かを判定し、処理を終了していないと判定された場合、ステップS141に戻り、内挿フレームの次の画素について、上述した処理が繰り返される。なお、ステップS141乃至ステップS145の処理の対象となる画素は、例えば、ラスタスキャン順に選択される。
ステップS146において、内挿フレームの全ての画素について処理を終了したと判定された場合、破綻箇所の後処理は終了する。
このように、内挿フレームの画像の内の破綻している画像から画像の高域成分を除去するようにしたので、破綻していない画像に影響を与えることなく、また、画像の動きの滑らかさを損なうことなく、画像の破綻を目立たなく(マスキング)することができる。また、画像の破綻の程度に応じて、適応的にフィルタを用いたので、必要以上に画像の高域成分を除去することなく、画像の破綻を目立たなく(マスキング)することができる。
画像の破綻が目立ちにくくなるので、画像を見ている使用者には、画像の画質が改善されたように感じられる。
なお、内挿フレームの全体について、ステップS141乃至ステップS145のそれぞれの処理を実行するようにしてもよい。すなわち、例えば、内挿フレームからラスタスキャン順に選択した画素のそれぞれについて、動きベクトルの不規則性評価値を算出し、内挿フレームの全体について、動きベクトルの不規則性評価値を算出したら、内挿フレームからラスタスキャン順に選択した画素のそれぞれについて、画像特徴量を算出するなどのように、内挿フレームの全体について、それぞれのステップの処理を実行するようにしてもよい。
また、破綻箇所後処理部60において、動きベクトルのばらつきを示す値だけで、時間方向の画素値の変化を示す値を用いないで、画像が破綻しているか否かを判定するようにしてもよい。
図20は、この場合の、破綻箇所後処理部60の構成の他の例を示すブロック図である。図20で構成が示される破綻箇所後処理部60は、ベクトル特徴量算出部141、フィルタ係数ROM144、フィルタ選択部145、フィルタ処理部146、および破綻箇所判定部161を備える。
図12に示す場合と同様の部分には同一の符号を付してありその説明は省略する。
ベクトル特徴量算出部141は、内挿フレーム上の注目画素に割り付けられている動きベクトルと、注目画素の周辺の予め定めた範囲の画素である周辺画素に割り付けられている動きベクトルとのばらつきを示す値を算出し、算出した動きベクトルとのばらつきを示す値を破綻箇所判定部161に供給する。
破綻箇所判定部161は、ベクトル特徴量算出部141から供給された動きベクトルのばらつきを示す値から、注目画素において内挿フレームの画像が破綻しているか否かを判定し、判定の結果を示すデータをフィルタ選択部145に供給する。
図21は、図20で構成が示される破綻箇所後処理部60による、図5のステップS7の破綻箇所の後処理の詳細の他の例を説明するフローチャートである。
ステップS161において、ベクトル特徴量算出部141は、内挿フレーム上の注目している画素である注目画素の周辺の所定の範囲の画素に割り付けられている動きベクトルの不規則性評価値を算出し、不規則性評価値を破綻箇所判定部161に供給する。
ステップS162において、破綻箇所判定部161は、不規則性評価値を基に、注目画素において内挿フレームの画像が破綻しているか否かを判定する。
例えば、破綻箇所判定部161は、式(10)で示される条件が満たされる場合、内挿フレームの画像が破綻していると判定し、式(10)で示される条件が満たされない場合、内挿フレームの画像が破綻していないと判定する。
VDASt+k(px,y)>THpf0 ・・・(10)
ステップS163乃至ステップS165の処理は、それぞれ、図18のステップS144乃至ステップS146と同様なので、その説明は省略する。
このように、動きベクトルのばらつきを示す値だけで、画像が破綻しているか否かを判定することができる。この場合、より簡単な処理で、画像の動きの滑らかさを損なうことなく、画像の破綻が目立たない画像を出力することができる。
なお、画像補間部58から出力された補間画像のうち、破綻した画像に後処理を適用してから、内挿フレームの全体に後処理を適用するようにしてもよい。
図22は、画像処理装置1の機能の構成の他の例を示すブロック図である。画像処理装置1は、フレームメモリ51、ベクトル検出部52、検出ベクトルメモリ53、ベクトル割付部54、割付ベクトルメモリ55、割付フラグメモリ56、割付補償部57、画像補間部58、フレーム全体後処理部59、および破綻箇所後処理部60を備える。図2に示す場合と同様の部分には同一の符号を付してあり、その説明は適宜省略する。
画像補間部58は、補間画像を破綻箇所後処理部60に供給する。破綻箇所後処理部60は、画像補間部58から供給された補間画像の内挿フレームに含まれる画像のうち、破綻した画像に、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、予め定めた閾値と、フレームtおよび次のフレームt+1の画素値とを用いて、後処理を適用する。破綻箇所後処理部60は、破綻した画像に後処理を適用した補間画像をフレーム全体後処理部59に供給する。
フレーム全体後処理部59は、破綻箇所後処理部60から供給された補間画像の内挿フレームの全体に、予め定めた混合比と、フレームtおよび次のフレームt+1の画素値とを用いて、破綻が目立たないようにする後処理を適用する。フレーム全体後処理部59は、内挿フレームの全体に後処理を適用した、60P信号の画像を図示せぬ後段に出力する。
さらに、フレーム全体後処理部59または破綻箇所後処理部60のうち、いずれか一方だけを設けるようにしてもよい。
図23は、画像処理装置1の機能の構成のさらに他の例を示すブロック図である。画像処理装置1は、フレームメモリ51、ベクトル検出部52、検出ベクトルメモリ53、ベクトル割付部54、割付ベクトルメモリ55、割付フラグメモリ56、割付補償部57、画像補間部58、およびフレーム全体後処理部59を備える。図2に示す場合と同様の部分には同一の符号を付してあり、その説明は適宜省略する。
フレーム全体後処理部59は、画像補間部58から供給された補間画像の内挿フレームの全体に、予め定めた混合比と、フレームtおよび次のフレームt+1の画素値とを用いて、破綻が目立たないようにする後処理を適用する。フレーム全体後処理部59は、内挿フレームの全体に後処理を適用した、60P信号の画像を図示せぬ後段に出力する。
図24は、画像処理装置1の機能の構成のさらに他の例を示すブロック図である。画像処理装置1は、フレームメモリ51、ベクトル検出部52、検出ベクトルメモリ53、ベクトル割付部54、割付ベクトルメモリ55、割付フラグメモリ56、割付補償部57、画像補間部58、および破綻箇所後処理部60を備える。図2に示す場合と同様の部分には同一の符号を付してあり、その説明は適宜省略する。
破綻箇所後処理部60は、画像補間部58から供給された補間画像の内挿フレームに含まれる画像のうち、破綻した画像に、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、予め定めた閾値と、フレームtおよび次のフレームt+1の画素値とを用いて、後処理を適用する。破綻箇所後処理部60は、破綻した画像に後処理を適用した、60P信号の画像を図示せぬ後段に出力する。
このように、第1のフレーム上の動きベクトルを検出し、第2のフレーム上の画素に、検出された動きベクトルを割り付け、割り付けられた動きベクトルに基づいて、第1のフレームおよび第3のフレームから、画素値を算出することで、第2のフレーム上の画素を生成するようにした場合には、画像を生成することができる。また、第1のフレームとの間に第2のフレームが配置される、入力された第3のフレーム上の画素であって、第2のフレーム上の注目している生成された画素である注目画素の位置と同じ位置の第3のフレーム上の画素の画素値と、注目画素の位置と同じ位置の第1のフレーム上の画素の画素値とから、第1のフレームの時刻から第2のフレームの時刻までの時間と、第2のフレームの時刻から第3のフレームの時刻までの時間との比率に応じて、画素値を生成し、予め定めた比率に従って、注目画素の画素値に、生成した画素値を混合するようにした場合には、簡単に、生成した画像の破綻を目立たないようにすることができる。
また、本実施の形態においては、各処理を行う領域を、例えば、5画素×5画素などにより構成するようにして説明したが、これらは、一例であり、各処理を行う領域を構成する画素は、この画素数に限定されない。
さらに、本実施の形態においては、24P信号から60P信号への信号変換を例に、説明を行ったが、本発明は、例えば、動画像のフレーム周波数変換として、インターレース信号や、他のフレームレート変換にも適用することができる。
また、入力画像は、アナログ信号またはデジタル信号のどちらの信号を媒体とする画像でもよく、さらに、記録媒体から読み出した画像、放送または通信により送信されてきた画像、ネットワークを介して取得した画像などいずれの画像でもよく、本発明を限定するものではない。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図1に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア21、または、プログラムが一時的もしくは永続的に格納されるROM12や、記憶部18を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部19を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 CPU, 12 ROM, 13 RAM, 18 記憶部, 21 リムーバブルメディア, 51 フレームメモリ, 52 ベクトル検出部, 53 検出ベクトルメモリ, 54 ベクトル割付部, 55 割付ベクトルメモリ, 56 割付フラグメモリ, 57 割付補償部, 58 画像補間部, 59 フレーム全体後処理部, 60 破綻箇所後処理部, 111 0ベクトル補間画像生成部, 112 画像混合部, 141 ベクトル特徴量算出部, 142 破綻箇所判定部, 143 画像特徴量算出部, 144 フィルタ係数ROM, 145 フィルタ選択部, 146 フィルタ処理部, 161 破綻箇所判定部