以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の画像処理装置は、入力された第1のフレーム上の動きベクトルを検出し、検出された前記動きベクトルを第2のフレーム上の画素に割り付けて、割り付けられた前記動きベクトルに基づいて、前記第2のフレーム上の画素の画素値を生成する画像処理装置であって、画素値が生成された前記第2のフレーム上の画素であって、注目している画素である注目画素に割り付けられている前記動きベクトルと、前記注目画素の周辺の予め定めた第1の範囲の画素である第1の周辺画素に割り付けられている前記動きベクトルとのばらつきを示す値を算出する第1の算出手段(例えば、図9のベクトル一致数算出部111)と、前記注目画素の画素値と、前記第2のフレーム上の画素であって、前記注目画素の周辺の予め定めた第2の範囲の画素である第2の周辺画素の画素値とから、空間方向の画素値の変化を示す値を算出する第2の算出手段(例えば、図9の最大勾配算出部113)と、前記動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、前記注目画素において前記第2のフレームの画像が破綻しているか否かを判定する判定手段(例えば、図9の判定部112)と、前記第1のフレームとの間に前記第2のフレームが配置される、入力された第3のフレーム上の画素の画素値と、前記第3のフレーム上の画素の位置と同じ位置の前記第1のフレーム上の画素の画素値とから、前記第1のフレームの時刻から前記第2のフレームの時刻までの時間と、前記第2のフレームの時刻から前記第3のフレームの時刻までの時間との比率に応じて、前記第2のフレーム上の画素に対応する補間値を生成する生成手段(例えば、図9の0ベクトル補間画像生成部116)と、前記注目画素において前記第2のフレームの画像が破綻していると判定された場合、所定の比率に従って、前記注目画素の画素値に、前記注目画素に対応する前記補間値を混合すると共に、前記第2のフレーム上の画素であって、前記注目画素の周辺の予め定めた第3の範囲の画素である第3の周辺画素の画素値に、前記第3の周辺画素に対応する前記補間値を混合する混合手段(例えば、図9の画像混合部118)とを備える。
前記判定手段には、前記動きベクトルのばらつきを示す値および予め定めた第1の閾値を基に、前記注目画素における前記第2のフレームの画像が、破綻している画像の候補であるか否かを判定する第1の破綻画像候補判定手段(例えば、図9の破綻箇所候補判定部131)と、空間方向の画素値の変化を示す値と予め定めた第2の閾値を基に、前記注目画素における前記第2のフレームの画像が、破綻している画像の候補であるか否かを判定する第2の破綻画像候補判定手段(例えば、図9の破綻箇所候補判定部132)と、前記第1の破綻画像候補判定手段における判定の結果と、前記第2の破綻画像候補判定手段における判定の結果とから、前記注目画素において前記第2のフレームの画像が破綻しているか否かを判定する破綻箇所判定手段(例えば、図9の破綻箇所判定部133)とを設けることができる。
本発明の一側面の画像処理装置は、前記第2のフレーム上の画素のそれぞれを順に前記注目画素とした場合の、前記注目画素の画素値と前記第2の周辺画素の画素値との差の絶対値のうち、最大の絶対値の分布から、前記第2の閾値を算出する閾値算出手段(例えば、図9の勾配閾値算出部115)をさらに設けることができる。
本発明の一側面の画像処理装置は、前記注目画素の画素値または前記第3の周辺画素の画素値に、前記注目画素または前記第3の周辺画素に対応する前記補間値を混合する前記比率を決定する決定手段(例えば、図9の混合比決定部117)をさらに設けることができる。
本発明の一側面の画像処理方法またはプログラムは、画素値が生成された前記第2のフレーム上の画素であって、注目している画素である注目画素に割り付けられている前記動きベクトルと、前記注目画素の周辺の予め定めた第1の範囲の画素である第1の周辺画素に割り付けられている前記動きベクトルとのばらつきを示す値を算出し(例えば、図20のステップS102)、前記注目画素の画素値と、前記第2のフレーム上の画素であって、前記注目画素の周辺の予め定めた第2の範囲の画素である第2の周辺画素の画素値とから、空間方向の画素値の変化を示す値を算出し(例えば、図20のステップS103)、前記動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、前記注目画素において前記第2のフレームの画像が破綻しているか否かを判定し(例えば、図20のステップS104)、前記第1のフレームとの間に前記第2のフレームが配置される、入力された第3のフレーム上の画素の画素値と、前記第3のフレーム上の画素の位置と同じ位置の前記第1のフレーム上の画素の画素値とから、前記第1のフレームの時刻から前記第2のフレームの時刻までの時間と、前記第2のフレームの時刻から前記第3のフレームの時刻までの時間との比率に応じて、前記第2のフレーム上の画素に対応する補間値を生成し(例えば、図20のステップS101)、前記注目画素において前記第2のフレームの画像が破綻していると判定された場合、所定の比率に従って、前記注目画素の画素値に、前記注目画素に対応する前記補間値を混合すると共に、前記第2のフレーム上の画素であって、前記注目画素の周辺の予め定めた第3の範囲の画素である第3の周辺画素の画素値に、前記第3の周辺画素に対応する前記補間値を混合する(例えば、図20のステップS106)ステップを含む。
以下、図を参照して本発明の実施の形態について説明する。
図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を備える。
なお、画像処理装置1の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えてもよい。
図2に構成を示す画像処理装置1においては、例えば、フレーム周波数24Hzのプログレッシブ画像信号(以下、24P信号と称する)の画像が入力され、入力された画像(入力画像)が、フレーム周波数60Hzのプログレッシブ画像信号(以下、60P信号と称する)の画像に変換されて、出力される。
画像処理装置1に入力された24P信号の入力画像は、フレームメモリ51、ベクトル検出部52、ベクトル割付部54、割付補償部57、画像補間部58、および画質改善処理部59に供給される。フレームメモリ51は、入力画像をフレーム単位で記憶する。フレームメモリ51は、時刻t+1の入力画像の1つ前の時刻tのフレームを記憶する。フレームメモリ51に記憶される時刻tのフレームは、ベクトル検出部52、ベクトル割付部54、割付補償部57、画像補間部58、および画質改善処理部59に供給される。なお、以下、フレームメモリ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は、割付ベクトルメモリ55に記憶されている内挿フレームに割り付けられた動きベクトルと、予め定めた閾値と、フレームtおよび次のフレームt+1の画素値とを用いて、内挿フレームに含まれる画像のうち、破綻した画像に画質を改善する処理を適用して、60P信号の画像を図示せぬ後段に出力する。
内挿フレームの画素値を補間生成する場合に生じる画像の破綻は、経験的に、内挿フレームの画素に割り付けられている動きベクトルが暴れているとき、生成された内挿フレームにおいてアクティビティが高いとき、起こりえる。
画質改善処理部59は、割り付けられている動きベクトルが暴れ、空間方向の画素値の変化が大きい部分に、画像の破綻(劣化)が生じていると見なす。画質改善処理部59は、破綻が生じていると見なされた部分に、0ベクトル補間画像の画素を混合して、破綻した画像の画質を改善する。これにより、画像の破綻が目立たなくなる。
なお、0ベクトル補間画像は、フレームtとフレームt+1とを0ベクトルで補間してなる画像である。ここで、0ベクトルは、空間方向の成分が0である動きベクトルである。
また、閾値は、外部から供給するようにしてもよく、内部に記憶しておくようにしてもよい。予め定めたとは、それぞれの処理の実行の前に予め定めたという意味であり、少なくとも、処理を実行する時点で定まっているという意味である。従って、各ブロックにおける処理が実行される前に、閾値を変更して定めることは、予め定めたに該当する。
図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は、時刻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に進む。画質改善処理の詳細は後述する。
画質改善処理部59は、ステップS7において、画質が改善された60P信号の補間画像を出力する。
ステップS8において、ベクトル検出部52は、すべてのフレームの処理が終了したか否かを判断し、すべてのフレームの処理が終了していないと判断した場合、ステップS1に戻り、それ以降の処理を繰り返す。一方、ベクトル検出部52は、ステップS8において、すべてのフレームの処理が終了したと判断した場合、フレーム周波数を変換する処理を終了する。
以上のように、本発明に係る画像処理装置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は、ベクトル一致数算出部111、判定部112、最大勾配算出部113、勾配ヒストグラム生成部114、勾配閾値算出部115、0ベクトル補間画像生成部116、混合比決定部117、および画像混合部118を備える。
ベクトル一致数算出部111は、動きベクトルのばらつきを求める。すなわち、ベクトル一致数算出部111は、画素値が生成された内挿フレーム上の画素であって、注目している画素である注目画素に割り付けられている動きベクトルと、注目画素の周辺の予め定めた範囲の画素である周辺画素に割り付けられている動きベクトルとのばらつきを示す値を算出する。
経験的に、内挿フレームの画素に割り付けられている動きベクトルが暴れているとき、内挿フレームに破綻が生じている可能性が高いので、ベクトル一致数算出部111において算出される動きベクトルとのばらつきを示す値は、破綻が生じている可能性を示していると言える。
例えば、ベクトル一致数算出部111は、ばらつきを示す値として、注目画素に割り付けられている動きベクトルと一致する動きベクトルであって、周辺画素に割り付けられている動きベクトルの数を算出する。
より具体的には、ベクトル一致数算出部111は、注目画像に割り当てられた動きベクトルおよび注目画素の周辺の画素に割り当てられた動きベクトルを割付ベクトルメモリ55から読み出す。例えば、ベクトル一致数算出部111は、注目画素から、上下に2画素、左右に2画素離れた範囲の画素に割り付けられている動きベクトルまたは注目画素に割り付けられている動きベクトルを割付ベクトルメモリ55から読み出す。
ベクトル一致数算出部111は、注目画像に割り当てられた動きベクトルと、周辺の画素に割り当てられた動きベクトルとが一致するか否かを判定する。
例えば、ベクトル一致数算出部111は、注目画像に割り当てられた動きベクトルVのx成分であるVxおよびy成分であるVyのうち、絶対値の大きい成分から、一致判定に用いる範囲を定める。
注目画像に割り当てられた動きベクトルVのy成分であるVyに比較して、x成分であるVxが大きい場合、ベクトル一致数算出部111は、x成分であるVxを選択する。そして、ベクトル一致数算出部111は、一致判定に用いる範囲の中心位置を、始点が原点に一致するように配置された動きベクトルVの終点で示される位置として、一致判定に用いる範囲の幅および高さを、選択したVxの絶対値に所定の定数を乗じた値とする。
図10の例で示されるように、始点が原点に一致するように配置された動きベクトルVの終点で示される位置(Vx、Vy)を中心として、Vyから上に0.2×|Vx|、Vyから下に0.2×|Vx|、Vxから右に0.2×|Vx|、およびVxから左に0.2×|Vx|の範囲が、動きベクトルの一致判定に用いられる範囲(以下、一致許容範囲と称する。)とされる。この場合、一致許容範囲は、0.4×|Vx|を一辺とする矩形となる。図10において、斜線を付した部分が一致許容範囲を示す。
すなわち、一致許容範囲の幅および高さは、式(1)により求められる。
一致許容範囲=±α×(注目画素の動きベクトルの最大成分の絶対値)
=±α×max(|Vx|,|Vy|)
・・・(1)
定数αは、例えば、0.2とされる。なお、max(a,b)は、aまたはbのうち、大きい方を選ぶ関数である。
すなわち、注目画素の周辺の画素に割り付けられた動きベクトルの始点を原点に一致するように配置した場合、その動きベクトルの終点で、一致許容範囲の中が示されるとき、その動きベクトルは、注目画像に割り当てられた動きベクトルと一致すると判定される。一方、その動きベクトルの終点で、一致許容範囲の外が示されるとき、その動きベクトルは、注目画像に割り当てられた動きベクトルと一致しないと判定される。
なお、図11で示されるように、一致許容範囲を円形とするようにしてもよい。この場合、一致許容範囲の半径は、例えば、式(2)により求められる。
一致許容範囲=±α×(注目画素の動きベクトルの大きさ)
=±α×|V|
・・・(2)
この場合も、定数αは、例えば、0.2とされる。
ベクトル一致数算出部111は、注目画素の周辺の画素に割り付けられた動きベクトルのそれぞれが、注目画像に割り当てられた動きベクトルと一致するか否かを判定して、注目画素の周辺の画素に割り付けられた動きベクトルのうち、注目画像に割り当てられた動きベクトルと一致する動きベクトルの数を求める。
ベクトル一致数算出部111は、動きベクトルのばらつきを示す値を判定部112に供給する。
最大勾配算出部113は、内挿フレームのアクティビティを求める。すなわち、最大勾配算出部113は、注目画素の画素値と、内挿フレーム上の画素であって、注目画素の周辺の予め定めた範囲の画素である周辺画素の画素値とから、空間方向の画素値の変化を示す値を算出する。
経験的に、生成された内挿フレームにおいてアクティビティが高いとき、内挿フレームに破綻が生じている可能性が高いので、最大勾配算出部113において算出される空間方向の画素値の変化を示す値は、破綻が生じている可能性を示していると言える。
例えば、最大勾配算出部113は、空間方向の画素値の変化を示す値として、注目画素の画素値と周辺画素の画素値との差の絶対値のうち、最大の絶対値を算出する。
より詳細には、例えば、最大勾配算出部113は、図12で示されるように、注目画素を中心する3×3画素の範囲の周辺画素について、注目画素の画素値と周辺画素の画素値との差分の絶対値を求める。すなわち、最大勾配算出部113は、注目画素の画素値と、注目画素に対して、上下左右、斜めに隣接している周辺画素の画素値との差分の絶対値を求める。
最大勾配算出部113は、注目画素の画素値と周辺画素の画素値との差分の絶対値のうち、最大の値を注目画素の最大勾配とする。
なお、最大勾配を求めるとき、注目画素に対して斜めの位置の画素についての勾配は考慮しないようにしてもよい。
最大勾配算出部113は、空間方向の画素値の変化を示す値の一例である最大勾配を勾配ヒストグラム生成部114および判定部112に供給する。
勾配ヒストグラム生成部114は、最大勾配算出部113から供給された最大勾配のヒストグラムを生成する。例えば、図13で示されるように、画像の縦方向の画素の数が480である場合、勾配ヒストグラム生成部114は、最大勾配算出部113から供給された最大勾配のうち、画像の上端または下端の100画素の最大勾配を除いた、最大勾配のヒストグラムを生成する。すなわち、勾配ヒストグラム生成部114は、画像の中心の縦方向に280画素、横方向に720画素の領域を対象領域として、対象領域の画素を注目画素とするときの最大勾配のヒストグラムを生成する。
画像の上端または下端を除いたのは、画像の上端または下端にはテロップやバナーが表示されることが多く、テロップやバナーが表示されると、勾配が大きくなってしまうので、この影響を避けるためである。
なお、対象領域を、画像の中心の縦方向に280画素とすると説明したが、280画素に限定されるものではない。また、対象領域の高さ(画素数)は、画像全体(フレーム全体)の縦方向の画素数に応じて、変えるようにしてもよい。
また、対象領域の画素を間引いて最大勾配のヒストグラムを生成するようにしてもよい。例えば、対象領域の画素のうち、1つおきの画素についての最大勾配のヒストグラムを生成するようにしてもよい。
勾配ヒストグラム生成部114は、生成したヒストグラムを示すデータを勾配閾値算出部115に供給する。
勾配閾値算出部115は、内挿フレーム上の画素のそれぞれを順に注目画素とした場合の、注目画素の画素値と注目画素の周辺の画素である周辺画素の画素値との差の絶対値のうち、最大の絶対値の分布から、閾値(勾配閾値)を算出する。例えば、勾配閾値算出部115は、勾配ヒストグラム生成部114から供給されたヒストグラムを示すデータを基に、ヒストグラムにおいて、最大勾配の小さい方からの度数の積算値が全体の数の95%に達した部分の最大勾配を閾値とする。
なお、閾値は、95%に達した部分の最大勾配に限られるものではない。本発明者による実験においては、90%乃至95%に達した部分の最大勾配を閾値とすると好ましい結果が得られた。
図14は、勾配ヒストグラム生成部114から供給されたデータで示されるヒストグラムを表す図である。図14において、横軸は、最大勾配を示し、縦軸は度数を示す。図14で示されるヒストグラムの例において、8刻みの最大勾配の区間に対する度数が示されている。すなわち、図14で示されるヒストグラムの例において、0乃至7の最大勾配の区間、8乃至15の最大勾配の区間、16乃至23の最大勾配の区間、24乃至31の最大勾配の区間、32乃至39の最大勾配の区間、および40乃至47の最大勾配の区間・・・のそれぞれの区間の度数が示されている。
例えば、図13で示されるように、画像の中心の縦方向に280画素で横方向に720画素を対象領域とする場合、対象領域の画素の数は、201600である。201600の95%は、191520なので、度数の積算値が191520を超えた次の区間における最大勾配のうちの最小値が閾値とされる。
例えば、0乃至7の最大勾配の区間から32乃至39の最大勾配の区間までの度数の積算値が191520を超えた場合、勾配閾値算出部115は、39の最大勾配の次の最大勾配である40を閾値とする。
なお、ヒストグラムの1つの区間は、8刻みに限るものではなく、任意の数とすることができる。ヒストグラムの1つの区間を、2以上のn刻み(nは整数)とすることで、処理をより簡単にすることができる。1つの最大勾配を1つの区間とするようにしてもよいことは勿論である。
勾配閾値算出部115は、算出した閾値(勾配閾値)を判定部112に供給する。
判定部112は、動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、注目画素において内挿フレームの画像が破綻しているか否かを判定する。判定部112は、破綻箇所候補判定部131、破綻箇所候補判定部132、および破綻箇所判定部133を備える。
破綻箇所候補判定部131は、動きベクトルのばらつきを示す値および予め定めた閾値を基に、注目画素における内挿フレームの画像が、破綻している画像の候補であるか否かを判定する。
破綻箇所候補判定部132は、空間方向の画素値の変化を示す値と予め定めた閾値(勾配閾値)を基に、注目画素における内挿フレームの画像が、破綻している画像の候補であるか否かを判定する。
破綻箇所判定部133は、破綻箇所候補判定部131における判定の結果と、破綻箇所候補判定部132における判定の結果とから、注目画素において内挿フレームの画像が破綻しているか否かを判定する。
例えば、破綻箇所候補判定部131は、ベクトル一致数算出部111から供給された値で示される、注目画像に割り当てられた動きベクトルと一致する動きベクトルの数が、予め定めた閾値TH1未満である場合、注目画素における内挿フレームの画像が、破綻している画像の候補であると判定し、注目画像に割り当てられた動きベクトルと一致する動きベクトルの数が、予め定めた閾値TH1以上である場合、注目画素における内挿フレームの画像が、破綻している画像の候補でないと判定する。
すなわち、破綻箇所候補判定部131は、式(3)で示される条件が満たされる場合、注目画素における内挿フレームの画像が、破綻している画像の候補であると判定し、式(3)で示される条件が満たされない場合、注目画素における内挿フレームの画像が、破綻している画像の候補でないと判定する。
動きベクトルの一致数<TH1 ・・・(3)
経験的に、閾値TH1は、ベクトル一致数算出部111において一致の判定の対象となる動きベクトルの数の半分とすることが好ましい。ベクトル一致数算出部111において、注目画素から、上下に2画素、左右に2画素離れた範囲の画素に割り付けられている動きベクトルが一致の判定の対象となる場合、一致の判定の対象となる動きベクトルの数が8なので(注目画素の割り付けられた動きベクトルを除く)、閾値TH1は、4とすることが好ましい。従って、この場合、破綻箇所候補判定部131は、注目画素に割り付けられている動きベクトルと一致する動きベクトルの数が4未満であるとき、注目画素における内挿フレームの画像が、破綻している画像の候補であると判定する。
例えば、破綻箇所候補判定部132は、最大勾配算出部113から供給された最大勾配が勾配閾値である閾値TH2以上である場合、注目画素における内挿フレームの画像が、破綻している画像の候補であると判定し、最大勾配算出部113から供給された最大勾配が閾値TH2未満である場合、注目画素における内挿フレームの画像が、破綻している画像の候補でないと判定する。
すなわち、破綻箇所候補判定部132は、式(4)で示される条件が満たされる場合、注目画素における内挿フレームの画像が、破綻している画像の候補であると判定し、式(4)で示される条件が満たされない場合、注目画素における内挿フレームの画像が、破綻している画像の候補でないと判定する。
最大勾配>=TH2 ・・・(4)
例えば、破綻箇所判定部133は、注目画素について、破綻箇所候補判定部131において、破綻している画像の候補であると判定されると共に、破綻箇所候補判定部132において、破綻している画像の候補であると判定された場合、注目画素における内挿フレームの画像が破綻していると判定する。破綻箇所判定部133は、注目画素について、破綻箇所候補判定部131において、破綻している画像の候補でないと判定されるか、または、破綻箇所候補判定部132において、破綻している画像の候補でないと判定された場合、注目画素における内挿フレームの画像が破綻していないと判定する。
すなわち、破綻箇所判定部133は、式(5)で示されるように、動きベクトルの一致数によって破綻している画像の候補であると判定された画像と、最大勾配によって破綻している画像の候補であると判定された画像との積集合を、破綻している画像であると判定する。
破綻箇所=動きベクトルの一致数による破綻箇所候補∩最大勾配による破綻箇所候補
・・・(5)
なお、破綻箇所判定部133は、式(6)で示されるように、動きベクトルの一致数によって破綻している画像の候補であると判定された画像と、最大勾配によって破綻している画像の候補であると判定された画像との和集合を、破綻している画像であると判定するようにしてもよい。
破綻箇所=動きベクトルの一致数による破綻箇所候補∪最大勾配による破綻箇所候補
・・・(6)
破綻箇所判定部133は、破綻していると判定された画像を示すデータ(例えば、位置を示すデータ)を混合比決定部117に供給する。
0ベクトル補間画像生成部116は、フレームtとの間に内挿フレームt+kが配置される、入力されたフレームt+1上の画素の画素値と、フレームt+1上の画素の位置と同じ位置のフレームt上の画素の画素値とから、フレームtの時刻tから内挿フレームt+kの時刻t+kまでの時間kと、内挿フレームt+kの時刻t+kからフレームt+1の時刻t+1までの時間1−kとの比率に応じて、内挿フレームt+k上の画素に対応する補間値を生成する。
図15は、0ベクトル補間画像生成部116における0ベクトル補間画像の補間値の生成を説明する図である。なお、図15の例においては、点線が、画像処理装置1に入力される、時刻tおよびt+1における24P信号のフレームを表しており、実線が、入力された24P信号から画像処理装置1により、生成される時刻t+kにおける60P信号の内挿フレームを表している。また、動きベクトルvは、内挿フレームの画素pに割り付けられ、フレームt+1上の画素rおよびフレームt上の画素qが、動きベクトルvによって対応付けられている。
図中の空間方向の成分が0である0ベクトルは、内挿フレーム上の注目画素pの位置と同じ位置のフレームt上の画素pと、注目画素pの位置と同じ位置のフレームt+1上の画素pとを対応付けている。
図15で示されるように、0ベクトル補間画像生成部116は、内挿フレーム上の画素pに注目している場合、画素pの位置と同じ位置のフレームt上の画素pの画素値Ft(p)と、画素pの位置と同じ位置のフレームt+1上の画素pの画素値Ft+1(p)とを取得する。そして、0ベクトル補間画像生成部116は、画素値Ft+1(p)に、時刻tから時刻t+kまでの時間に応じた重みkを乗算し、画素値Ft(p)に、時刻t+kから時刻t+1までの時間に応じた重み1−kを乗算する。さらに、0ベクトル補間画像生成部116は、これらの乗算の結果を加算することで、補間値Gt+k(p)を生成する。
すなわち、0ベクトル補間画像生成部116によって、式(7)で示される補間値Gt+k(p)が求められる。
Gt+k(p)=(1−k)Ft(p)+kFt+1(p) (7)
0ベクトル補間画像生成部116は、内挿フレームの全ての画素について、式(7)で示される演算で求められる補間値を生成する。0ベクトル補間画像生成部116は、生成した補間値からなる0ベクトル補間画像を画像混合部118に供給する。
混合比決定部117は、注目画素の画素値または周辺画素の画素値に、注目画素または周辺画素に対応する補間値を混合する比率を決定する。例えば、混合比決定部117は、注目画素からの距離に対応して、予め記憶している比率のデータを基に、比率を決定する。
以下、画素値と補間値を混合する比率を混合比とも称する。
混合比決定部117は、決定した混合比を画像混合部118に供給する。
画像混合部118は、注目画素が破綻箇所である場合、注目画素を中心としたある一定の範囲に、0ベクトル補間画像を混合する。すなわち、画像混合部118は、注目画素において内挿フレームの画像が破綻していると判定された場合、混合比決定部117からの比率(混合比)に従って、注目画素の画素値に、注目画素に対応する補間値を混合すると共に、内挿フレーム上の画素であって、注目画素の周辺の予め定めた範囲の画素である周辺画素の画素値に、周辺画素に対応する補間値を混合する。
例えば、画像混合部118は、混合比決定部117から画素pについて混合比γが入力された場合、0ベクトル補間画像生成部116から供給された0ベクトル補間画像に含まれる、画素pに対応する補間値Gt+k(p)に混合比γを乗算し、内挿フレームt+kの画素pの画素値Ft+k(p)に(1−γ)を乗算する。そして、画像混合部118は、これらの乗算の結果を加算した値を内挿フレームt+kの画素pの画素値F’t+k(p)とする。
すなわち、画像混合部118によって、画素pについての混合比γに従って、内挿フレームt+kの画素pの画素値Ft+k(p)に、0ベクトル補間画像生成部116において生成された補間値Gt+k(p)が混合されることで、式(8)で示される、内挿フレームt+kの画素pの画素値F’t+k(p)が求められる。
F’t+k(p)=(1−γ)Ft+k(p)+γGt+k(p) (8)
画像混合部118は、混合の結果得られた画像を出力画像として出力する。
ここで、混合比の具体例について、説明する。
例えば、混合比決定部117は、注目画素について混合比を決め、また、注目画素を中心した所定の範囲の周辺の画素である周辺画素について混合比を決める。例えば、図16で示されるように、混合比決定部117は、注目画素を中心とした15×15画素の範囲の画素に対する混合比を決める。
例えば、注目画素についての混合比は、最大の75%とされ、最小の混合比は、40%とされる。注目画素は破綻箇所なので、注目画素と補間値との混合比が最も大きくされ、注目画素の周辺に向かって徐々に混合比は小さくされる。すなわち、周辺画素の混合比は、周辺画素が注目画素から離れるに従って、小さい値とされる。
例えば、図16で示されるように、混合比は、gaussian関数により決められる。この場合、例えば、混合比決定部117は、図17で示されるルックアップテーブル(LUT:Look Up Table)を予め記憶している。
図17に例示されているルックアップテーブルは、横23行×縦23列の配列からなる。ルックアップテーブルの各要素は、各画素に対応している。すなわち、横23画素×縦23画素の範囲で混合比を設定する場合の例を示している。なお、図17の例は、簡単のため、小数点以下3bitの精度(10進数の0.125に相当する)を保った場合の数値を示す。
例えば、ルックアップテーブルには、gaussian関数により決まる値が、混合比として配列の要素に配置されている。
gaussian関数は、σおよびλを定数として、式(9)で表される。
Gex(x,y)=λ2exp[−(x2+y2)/2σ2] ・・・(9)
式(9)において、(x,y)は、画素位置を示す。
図17に示す例においては、λ2=1/2πσ2とおいて、式(10)によって、注目画素を中心とした場合の係数を混合比として求めた。
Gex(x,y)=(1/2πσ2)exp[−(x2+y2)/2σ2] ・・・(10)
図17に例示されているルックアップテーブルの要素に混合比が配置されている場合、ルックアップテーブルの配列の中心の要素(左から12行目であって上から12列目の要素)は、注目画素の混合比とされる。この場合、注目画素の混合比は、1.000とされる
また、左から11行目乃至13行目であって上から11列目乃至13列目の要素は、1.000なので、注目画素に隣接する周辺画素の混合比も、1.000とされる。
例えば、左から10行目であって上から10列目乃至14列目の要素、左から11行目であって上から10列目の要素、左から12行目であって上から10列目の要素、左から13行目であって上から10列目の要素、左から11行目であって上から14列目の要素、左から12行目であって上から14列目の要素、左から13行目であって上から14列目の要素、および左から14行目であって上から10列目乃至14列目の要素は、0.875なので、注目画素から2画素離れた周辺画素の混合比は、0.875とされる。
同様に、例えば、左から2行目であって上から12列目の要素は、0.125なので、注目画素から左に10画素離れた周辺画素の混合比は、0.125とされる。
また、混合比の最大値に乗算するための係数をルックアップテーブルに配置するようにしてもよい。
混合比の最大値を0.75とし、図17のルックアップテーブルが、混合比の最大値に乗算するための係数を要素として配置しているとした場合を例に説明する。
左から12行目であって上から12列目の要素は、1.0なので、注目画素の混合比は、0.75(1.0×0.75(混合比の最大値))とされる。左から11行目乃至13行目であって上から11列目乃至13列目の要素は、1.0なので、注目画素に隣接する周辺画素の混合比は、0.75とされる。
例えば、左から10行目であって上から10列目乃至14列目の要素、左から11行目であって上から10列目の要素、左から12行目であって上から10列目の要素、左から13行目であって上から10列目の要素、左から11行目であって上から14列目の要素、左から12行目であって上から14列目の要素、左から13行目であって上から14列目の要素、および左から14行目であって上から10列目乃至14列目の要素は、0.875なので、0.875×0.75から、注目画素から2画素離れた周辺画素の混合比は、0.65625とされる。
同様に、例えば、左から2行目であって上から12列目の要素は、0.125なので、0.125×0.75から、注目画素から左に10画素離れた周辺画素の混合比は、0.09375とされる。
このように、混合比決定部117は、予め記憶しているルックアップテーブルを基に、注目画素および周辺画素についての混合比を決めることができる。
なお、混合比を決める関数は、gaussian関数に限らず、中心から離れる程、値が減少するものであれば他の関数であってもよい。例えば、図18で示されるように、1次関数を基に、混合比を決めるようにしてもよい。
また、図19で示されるように、近接している箇所で破綻が生じた場合には(破綻箇所Aと破綻箇所Bとが近接している場合には)、補間値と混合される周辺画素からなる領域に重なりが生じて、1つの画素について複数の混合比が求められるときがある。この場合、混合比決定部117は、1つの画素について求められた複数の混合比のうち、大きいほうをその画素の混合比として採用する。すなわち、混合比決定部117は、注目画素または周辺画素の1つに対して2つ以上の比率が求められた場合、最終的な比率を、求められた比率のうちの大きいものに決定する。
次に、図20のフローチャートを参照して、図5のステップS6の画質改善の処理の詳細を説明する。ステップS101において、0ベクトル補間画像生成部116は、フレームtおよびフレームt+1から、0ベクトル補間画像を生成する。すなわち、ステップS101において、0ベクトル補間画像生成部116は、フレームtとの間に内挿フレームt+kが配置される、入力されたフレームt+1上の画素の画素値と、フレームt+1上の画素の位置と同じ位置のフレームt上の画素の画素値とから、フレームtの時刻tから内挿フレームt+kの時刻t+kまでの時間と、内挿フレームt+kの時刻t+kからフレームt+1の時刻t+1までの時間との比率に応じて、内挿フレームt+k上の画素に対応する補間値を生成する。
ステップS102において、ベクトル一致数算出部111は、注目画像の周辺の画素に割り当てられた動きベクトルから、注目画像に割り当てられた動きベクトルと一致する動きベクトルの数を算出する。すなわち、ステップS102において、ベクトル一致数算出部111は、画素値が生成された内挿フレーム上の画素であって、注目している画素である注目画素に割り付けられている動きベクトルと、注目画素の周辺の予め定めた範囲の画素である周辺画素に割り付けられている動きベクトルとのばらつきを示す値を算出する。
ステップS103において、最大勾配算出部113は、注目画像の画素値と周辺の画素の画素値との最大勾配を算出する。すなわち、ステップS103において、最大勾配算出部113は、注目画素の画素値と、内挿フレーム上の画素であって、注目画素の周辺の予め定めた範囲の画素である周辺画素の画素値とから、空間方向の画素値の変化を示す値を算出する。例えば、ステップS103において、最大勾配算出部113は、空間方向の画素値の変化を示す値として、注目画素の画素値と周辺画素の画素値との差の絶対値のうち、最大の絶対値(最大勾配)を算出する。
ステップS104において、判定部112は、動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、判定箇所を判定する。すなわち、ステップS104において、判定部112は、注目画素についての動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、注目画素において内挿フレームの画像が破綻しているか否かを判定する。
例えば、ステップS104において、判定部112は、動きベクトルのばらつきを示す値が閾値TH1より小さく、空間方向の画素値の変化を示す値が閾値TH2以上である場合、注目画素において内挿フレームの画像が破綻していると判定する。
ステップS105において、混合比決定部117は、注目画素の画素値または周辺画素の画素値に、注目画素または周辺画素に対応する補間値を混合する比率である混合比を決定する。例えば、ステップS105において、混合比決定部117は、予め記憶しているルックアップテーブルを基に、混合比を決定する。
ステップS106において、画像混合部118は、補間画像と0ベクトル補間画像とを混合する。すなわち、ステップS106において、画像混合部118は、注目画素において内挿フレームの画像が破綻していると判定された場合、混合比決定部117からの比率(混合比)に従って、注目画素の画素値に、注目画素に対応する補間値を混合すると共に、内挿フレーム上の画素であって、注目画素の周辺の予め定めた範囲の画素である周辺画素の画素値に、周辺画素に対応する補間値を混合する。
ステップS107において、画質改善処理部59は、内挿フレームの全ての画素について、処理を終了したか否かを判定し、処理を終了していないと判定された場合、ステップS102に戻り、内挿フレームの次の画素について、ステップS102乃至ステップS106の処理が繰り返される。なお、ステップS102乃至ステップS106の処理の対象となる画素(注目画素)は、例えば、ラスタスキャン順に選択される。
ステップS107において、内挿フレームの全ての画素について処理を終了したと判定された場合、ステップS108に進み、勾配閾値算出部115は、勾配判定の閾値を決定して、画質改善処理は終了する。
すなわち、例えば、ステップS108において、勾配ヒストグラム生成部114は、最大勾配算出部113から供給された最大勾配のヒストグラムを生成する。例えば、ステップS108において、勾配ヒストグラム生成部114は、内挿フレーム上の画素のそれぞれを順に注目画素とした場合の、注目画素の画素値と注目画素の周辺の画素である周辺画素の画素値との差の絶対値のうち、最大の絶対値の分布を示すヒストグラムを生成する。そして、勾配閾値算出部115は、最大の絶対値の分布を示すヒストグラムから、閾値を算出する。
なお、ステップS108で算出された閾値は、次に実行されるステップS104の判定の処理に用いられる。すなわち、ステップS104の判定の処理で用いる閾値は、1つ前のフレームで算出された値である。このようにすることで、閾値を算出するまで判定の処理をホールドさせる必要がなく、簡単に、かつ、迅速に処理を実行することができる。
このように、内挿フレームの破綻している部分に、0ベクトル補間画像を混合するようにしたので、画像の動きの滑らかさを損なうことなく、画像の破綻を目立たなくすることができる。画像の破綻が目立ちにくくなるので、画像を見ている使用者には、画像の画質が改善されたように感じられる。
動きベクトルのばらつきおよび画像の空間方向の変化を基に、より正確に、より精度良く破綻した画像を検出することができる。
このように、第1のフレーム上の動きベクトルを検出し、第2のフレーム上の画素に、検出された動きベクトルを割り付け、割り付けられた動きベクトルに基づいて、第1のフレームおよび第3のフレームから、画素値を算出することで、第2のフレーム上の画素を生成するようにした場合には、画像を生成することができる。また、画素値が生成された第2のフレーム上の画素であって、注目している画素である注目画素に割り付けられている動きベクトルと、注目画素の周辺の予め定めた第1の範囲の画素である第1の周辺画素に割り付けられている動きベクトルとのばらつきを示す値を算出し、注目画素の画素値と、第2のフレーム上の画素であって、注目画素の周辺の予め定めた第2の範囲の画素である第2の周辺画素の画素値とから、空間方向の画素値の変化を示す値を算出し、動きベクトルのばらつきを示す値および空間方向の画素値の変化を示す値を基に、注目画素において第2のフレームの画像が破綻しているか否かを判定し、第1のフレームとの間に第2のフレームが配置される、入力された第3のフレーム上の画素の画素値と、第3のフレーム上の画素の位置と同じ位置の第1のフレーム上の画素の画素値とから、第1のフレームの時刻から第2のフレームの時刻までの時間と、第2のフレームの時刻から第3のフレームの時刻までの時間との比率に応じて、第2のフレーム上の画素に対応する補間値を生成し、注目画素において第2のフレームの画像が破綻していると判定された場合、所定の比率に従って、注目画素の画素値に、注目画素に対応する補間値を混合すると共に、第2のフレーム上の画素であって、注目画素の周辺の予め定めた第3の範囲の画素である第3の周辺画素の画素値に、第3の周辺画素に対応する補間値を混合するようにした場合には、生成した画像の破綻を目立たないようにすることができる。
また、本実施の形態においては、各処理を行う領域を、例えば、3画素×3画素などにより構成するようにして説明したが、これらは、一例であり、各処理を行う領域を構成する画素は、この画素数に限定されない。
さらに、本実施の形態においては、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 画質改善処理部, 111 ベクトル一致数算出部, 112 判定部, 113 最大勾配算出部, 114 勾配ヒストグラム生成部, 115 勾配閾値算出部, 116 0ベクトル補間画像生成部, 117 混合比決定部, 118 画像混合部, 131 破綻箇所候補判定部, 132 破綻箇所候補判定部, 133 破綻箇所判定部