画像処理装置および画像処理方法、並びにプログラム
【課題】補間フレームのできるだけ多くの画素に動きベクトルを対応付ける。
【解決手段】初めに、補間フレームを挟む2フレームの組み合わせのうちでフレーム間距離が最も狭いフレームn−1,nにより動きベクトルを検出して補間フレームの画素に対応付ける。動きベクトルを対応付けることができない画素が残っている場合、先程の2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn−2,n+1)により動きベクトルを検出して補間フレームの画素に対応付ける。まだ動きベクトルを対応付けることができない画素が残っている場合、さらに先程の2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn−3,n+2)により動きベクトルを検出して補間フレームの画素に対応付ける。本発明は、フレームレート変換装置に適用することができる。
【解決手段】初めに、補間フレームを挟む2フレームの組み合わせのうちでフレーム間距離が最も狭いフレームn−1,nにより動きベクトルを検出して補間フレームの画素に対応付ける。動きベクトルを対応付けることができない画素が残っている場合、先程の2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn−2,n+1)により動きベクトルを検出して補間フレームの画素に対応付ける。まだ動きベクトルを対応付けることができない画素が残っている場合、さらに先程の2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn−3,n+2)により動きベクトルを検出して補間フレームの画素に対応付ける。本発明は、フレームレート変換装置に適用することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて検出する動きベクトルを用い、前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
動画像のフレームレート変換処理などにおいては、動画像を構成する時間軸方向に前後する2枚のフレームの間に内挿するための補間フレームが生成される。この補間フレームの生成には、当該2枚のフレームに基づいて動きベクトルが検出される。
【0003】
2枚のフレームに基づいて動きベクトルを検出する方法としては、勾配法(例えば、特許文献1参照)やブロックマッチング法(例えば、特許文献2参照)が知られている。
【0004】
【特許文献1】特開昭60−158786号公報
【特許文献2】特開平8−186820号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
例えばブロックマッチング法では、前後する2枚のフレームn−1,nのうち、一方のフレーム(例えば、フレームn−1)を所定サイズのブロックに分割し、ブロック毎に他方のフレーム(例えば、フレームn)に設けた当該ブロックよりも広い探索範囲と比較して、図1に示すようにブロック単位で動きベクトルを検出する。そして、検出された動きベクトルを補間フレームの画素に対応付けることによって補間フレームの画素が決定される。
【0006】
ところで図1から明らかなように、上述した方法では、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生することがある。このような場合、補間フレームの領域aには最適な画素を決定することができないので、領域aは動きベクトルを対応付けることができた画素からなる他の領域に比較して画質が劣化してしまう。
【0007】
本発明はこのような状況に鑑みてなされたものであり、補間フレームのできるだけ多くの画素に動きベクトルを対応付けて、補間フレームの画質劣化を抑止できるようにするものである。
【課題を解決するための手段】
【0008】
本発明の一側面である画像処理装置は、動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置において、前記動画像を構成する一連の複数の画像を保持する保持手段と、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段と、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段と、前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段とを含み、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける。
【0009】
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像の少なくとも1画像を変更し、かつ、前回選択した前記2画像よりもフレーム間距離がより広い第1および第2の画像を選択するようにすることができる。
【0010】
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域の補正用の動きベクトルを検出するようにすることができる。
【0011】
本発明の一側面である画像処理装置は、前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段をさらに含むことができ、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出するようにすることができる。
【0012】
本発明の一側面である画像処理装置は、前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段をさらに含むことができる。
【0013】
前記保持手段は、さらに、前記生成手段によって生成された前記補正画像も保持し、前記選択手段は、保持されている前記補正画像を含む複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択するようにすることができる。
【0014】
本発明の一側面である画像処理方法は、動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の画像処理方法において、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、前記補間画像を構成する画素に、検出された動きベクトルを対応付け、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付けるステップを含む。
【0015】
本発明の一側面であるプログラムは、動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の制御用のプログラムであって、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、前記補間画像を構成する画素に、検出された動きベクトルを対応付け、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付けるステップを含む処理をコンピュータに実行させる。
【0016】
本発明の一側面においては、保持されている前記複数の画像のうち、所定のフレーム間距離を有する第1および第2の画像が選択され、選択された第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルが検出され、補間画像を構成する画素に、検出された動きベクトルが対応付けられる。そして、動きベクトルが対応付けられなかった補間画像の前記画素が存在する場合、保持されている複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像が再び選択され、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルが検出され、動きベクトルが対応付けられなかった補間画像の画素に、検出された補正用の動きベクトルが対応付けられる。
【発明の効果】
【0017】
本発明の一側面によれば、補間フレームのできるだけ多くの画素に動きベクトルを対応付けることができる。また、本発明の一側面によれば、補間フレームの画質劣化を抑止することができる。
【発明を実施するための最良の形態】
【0018】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0019】
請求項1に記載の画像処理装置(例えば、図2のフレームレート変換装置10)は、前記動画像を構成する一連の複数の画像を保持する保持手段(例えば、図2の記憶部12)と、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段(例えば、図2の画像読み出し部14)と、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段(例えば、図2の動きベクトル検出部16)と、前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段(例えば、図2の動きベクトル補正部17)とを含み、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける。
【0020】
請求項4に記載の画像処理装置は、前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段(例えば、図7のエッジ検出部31)をさらに含み、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出する。
【0021】
請求項5に記載の画像処理装置は、前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段(例えば、図2の補間フレーム生成部18)をさらに含む。
【0022】
請求項7に記載の画像処理方法および請求項8に記載のプログラムは、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し(例えば、図4のステップS1)、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し(例えば、図4のステップS1)、前記補間画像を構成する画素に、検出された動きベクトルを対応付け(例えば、図4のステップS2)、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、(例えば、図4のステップS4)、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し(例えば、図4のステップS4)、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける(例えば、図4のステップS2)ステップを含む。
【0023】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0024】
図2は本発明の一実施の形態である、入力動画像データを構成する一連のフレームに補間フレームを内挿してフレームレートを変換するフレームレート変換装置の第1の構成例を示している。
【0025】
このフレームレート変換装置10は、前段からの入力動画像データを1フレームずつ後段に出力する画像データ供給部11、1フレーム分の動画像データを保持する複数のフレームメモリ13からなり時間軸上に連続する複数のフレームを保持する記憶部12、および、記憶部12に保持されている複数のフレームの中から生成すべき補間フレームを挟む2枚のフレーム(以下、第1のフレームおよび第2のフレームと称する)を読み出す画像データ読み出し部14から構成される。
【0026】
さらに、フレームレート変換装置10は、読み出された第1および第2のフレームの間のシーンチェンジを検出するシーンチェンジ検出部15、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する動きベクトル検出部16、検出された動きベクトルを補間フレームの画素に対応付ける動きベクトル補正部17、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成する補間フレーム生成部18、前段からの入力動画像データを補間フレームが生成される時間だけ遅延させる遅延部19、および、遅延された入力動画像データに補間フレームを内挿する補間フレーム挿入部20から構成される。
【0027】
なお、フレーム単位で処理される動画像データには、各画素の座標情報と画素値が含まれているものとする。
【0028】
図2の構成例の場合、記憶部12は6個のフレームメモリ13−1乃至13−6から構成される。各フレームメモリ13は、前段から1フレーム分の動画像データが入力されることに対応し、保持している1フレーム分の動画像データを後段に出力する。したがって、記憶部12は、動画像データを構成する一連のフレームのうち、連続する6フレーム(以下、フレームn+2,n+1,n,n−1,n−2,n−3と称する)を保持することができる。なお、フレームメモリ13の個数は任意であるが、記憶部12に保持する一連のフレームの期間にシーンチェンジが存在しないことが前提となるので、現実的には最大でも20程度とすることが望ましい。
【0029】
画像データ読み出し部14は、記憶部12に保持されている6フレームn+2乃至n−3のうち、生成される補間フレームを挟む2枚のフレームを、フレーム間距離の狭い組み合わせから順に読み出す。
【0030】
例えば図3に示すように、補間フレーム生成部18においてフレームnとフレームn−1の間に内挿すべき補間フレームが生成される場合、まずフレーム間距離が1フレームのフレームn,n−1を読み出す。読み出したフレームn,n−1を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、次に、フレーム間距離がより広いフレームn+1,n−2を読み出す。そして、読み出したフレームn+1,n−2を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、さらに、フレーム間距離がより広いフレームn+2,n−3を読み出すことになる。
【0031】
なお、同時に読み出す第1および第2のフレームの組み合わせは上述した例に限るものではなく、後に読み出される2フレームのうち、少なくとも1フレームが変更されていればよい。また、読み出す2フレームのフレーム間距離については、前回読み出された2フレームのフレーム間距離と同じ以上であればよい。
【0032】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間でシーンチェンジを検出し、検出結果と第1および第2のフレームを後段の動きベクトル検出部16に供給する。また、シーンチェンジ検出部15は、検出結果を保持しておき、次に読み出される2フレーム間のシーンチェンジ検出結果として流用するようにすることができる。例えば、フレームn,n−1の間にシーンチェンジが検出された場合、次に読み出されるフレームn+1,n−2の間にもシーンチェンジが存在するので、この検出を省略するようにしてもよい。
【0033】
動きベクトル検出部16は、第1および第2のフレームの間にシーンチェンジが検出されていない場合のみ、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する。具体的には、供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。なお、入力される2フレームの一方が仮に前回と同じフレームであった場合、動きベクトルの精度を向上させるためには、同一のフレームを連続して基準画像としないことが望ましい。
【0034】
動きベクトル補正部17は、検出された動きベクトルを補間フレームの各画素に対応付ける。このとき、図1に示されたように、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生したならば、その旨を示す信号を、領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に出力する。この信号に対応し、画像データ読み出し部14では前回と異なる第1および第2のフレームが読み出され、動きベクトル検出部16では、新たに読み出された第1および第2のフレームの領域aに対応する部分の動きベクトルが検出される。
【0035】
次に、フレームレート変換装置10の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に、図4のフローチャートを参照して説明する。
【0036】
フレームレート変換装置10に対して前段から動画像データが入力されると、この入力動画像データは画像データ供給部11、および遅延部19に供給される。
【0037】
そして、画像データ供給部11を介して動画像データが1フレームずつ記憶部12に供給される。そして、6フレーム分の動画像データが記憶部12に保持される。
【0038】
ステップS1において、画像データ読み出し部14は、記憶部12に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0039】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0040】
動きベクトル検出部16は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0041】
ステップS2において、動きベクトル補正部17は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0042】
ステップS3において、動きベクトル補正部17は、ステップS2の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に通知され、処理はステップS4に進められ、前回読み出した2フレームとは少なくとも一方が異なる2フレームに基づいて動きベクトルが検出される。
【0043】
具体的には、ステップS4において、画像データ読み出し部14は、動きベクトル補正部17からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば図5に示すように、フレーム間距離がより広いフレームn+1,n−2)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0044】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。
【0045】
動きベクトル検出部16は、動きベクトル補正部17からの領域aを示す情報に対応し、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、参照画像に探索範囲を設けて領域aを含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっているので、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0046】
この後、処理はステップS2に戻り、それ以降の処理が実行される。そして、2回目のステップS3の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS4に進められる。2回目のステップS4の処理では、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば図5に示すように、フレーム間距離がより広いフレームn+2,n−3)が読み出されて動きベクトルが検出される。
【0047】
この後、再びステップS2に戻り、それ以降の処理が実行される。そして、ステップS3において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しないと判定された場合、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給され、処理はステップS5に進められる。
【0048】
なお、ステップS2乃至S4の処理を繰り返したことによって記憶部12から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給されて、処理はステップS5に進められる。
【0049】
ステップS5において、補間フレーム生成部18は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。
【0050】
例えば、補間フレームの画素のうち、フレームn,n−1の動きベクトルが対応付けられているものは、フレームn,n−1の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。また、フレームn+1,n−2の動きベクトルが対応付けられているものは、フレームn+1,n−2の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。さらに、フレームn+2,n−3の動きベクトルが対応付けられているものは、フレームn+2,n−3の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。そしてこの結果得られる補間フレームを補間フレーム挿入部20に出力する。
【0051】
補間フレーム挿入部20は、遅延部19から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0052】
以上で、フレームレート変換装置10の動作の説明を終了する。
【0053】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。例えば図6に示すように、初めにフレームn,n−1を読み出し、次にフレームn+1,n−1を読み出し、その次にフレームn+2,n−1を読み出すようにしてもよい。この場合、2回目および3回目の読み出しでは、それぞれフレームn+1またはフレームn+2だけを読み出すようにすることもできる。
【0054】
以上説明したフレームレート変換装置10による動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0055】
ところで、補間フレームの画素に動きベクトルを対応付けることができないことに起因する画質の劣化は、画像内のエッジ部分において顕著である。換言すれば、補間フレームの画素に動きベクトルを対応付けることができなくても、その画素が画像内のエッジ部分でなければ、画質の劣化はそれほど目立たない。そこで、2回目以降の動きベクトルの検出をエッジ部分に限定することにより演算量を削減するようにしたフレームレート変換装置の第2の構成例を提案する。
【0056】
図7は本発明の一実施の形態であるフレームレート変換装置の第2の構成例を示している。このフレームレート変換装置30は、上述した第1の構成例であるフレームレート変換装置10に対して、エッジ検出部31を追加したものである。
【0057】
エッジ検出部31は、動きベクトル検出部16から供給される第1または第2のフレーム上のエッジを検出し、検出結果を動きベクトル検出部16に戻すようになされている。フレームレート変換装置30のエッジ検出部31以外の構成要素については、フレームレート変換装置10の構成要素と同様であって同一の符号を付しているので、その説明は省略する。
【0058】
次に、フレームレート変換装置30の動作について、図8のフローチャートを参照して説明する。なお、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に説明する。
【0059】
フレームレート変換装置30に対して前段から動画像データが入力されると、この入力動画像データは画像データ供給部11、および遅延部19に供給される。
【0060】
そして、画像データ供給部11を介して動画像データが1フレームずつ記憶部12に供給される。そして、6フレーム分の動画像データが記憶部12に保持される。
【0061】
ステップS11において、画像データ読み出し部14は、記憶部12に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0062】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間でシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0063】
動きベクトル検出部16は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0064】
ステップS12において、動きベクトル補正部17は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0065】
ステップS13において、動きベクトル補正部17は、ステップS12の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に通知され、処理はステップS14に進められる。
【0066】
ステップS14において、画像データ読み出し部14は、動きベクトル補正部17からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1,n−2)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0067】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。
【0068】
動きベクトル検出部16は、前回の動きベクトル検出における参照画像をエッジ検出部31に供給する。エッジ検出部31は、前回の参照画像上のエッジ部分を検出して、この検出結果を動きベクトル検出部16に戻す。なお、エッジ検出に要する演算量を削減する為、エッジ検出の範囲を、動きベクトルを対応付けることができなかった補間フレームの画素の周辺領域に限定してもよい。また、シーンチェンジ検出部15から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、今回の参照画像上にエッジ部分を検出するようにしてもよい。
【0069】
ステップS15において、エッジ部分の検出結果を取得した動きベクトル検出部16は、シーンチェンジ検出部15から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、動きベクトル補正部17から通知された領域aを含み、かつ、エッジ部分を含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0070】
この後、処理はステップS12に戻り、それ以降の処理が実行される。そして、2回目のステップS13の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS14に進められる。2回目のステップS14およびS15の処理でも、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−3)が読み出されて動きベクトルが検出される。
【0071】
この後、再びステップS12に戻り、それ以降の処理が実行される。そして、ステップS13において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、その情報が補間フレーム生成部18に供給されて、処理はステップS16に進められる。
【0072】
なお、ステップS12乃至S15の処理を繰り返したことによって記憶部12から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給されて、処理はステップS16に進められる。
【0073】
ステップS16において、補間フレーム生成部18は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成し、生成した補間フレームを補間フレーム挿入部20に出力する。
【0074】
補間フレーム挿入部20は、遅延部19から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0075】
以上で、フレームレート変換装置30の動作の説明を終了する。
【0076】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0077】
以上説明したフレームレート変換装置30による動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。また、フレームレート変換装置10に比較してエッジ検出の手間は増えるものの、動きベクトル検出に要する演算量を削減することができる。
【0078】
次に、内挿するために生成した補間フレームを、それ以降の補間フレームを生成するために用いる動きベクトルの検出に利用するようにしたフレームレート変換装置の第3の構成例について説明する。
【0079】
図9は本発明の一実施の形態であるフレームレート変換装置の第3の構成例を示している。
【0080】
このフレームレート変換装置40は、前段からの入力動画像データを1フレームずつ後段に出力する画像データ供給部41、1フレーム分の動画像データを保持する複数のフレームメモリ43からなり時間軸上に連続する複数のフレームと生成される補間フレームを保持する記憶部42、および、記憶部42に保持されている複数のフレームの中から生成すべき補間フレームを挟む2枚のフレーム(以下、第1のフレームおよび第2のフレームと称する)を読み出す画像データ読み出し部44から構成される。
【0081】
さらに、フレームレート変換装置40は、読み出された第1および第2のフレームの間のシーンチェンジを検出するシーンチェンジ検出部45、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する動きベクトル検出部46、検出された動きベクトルを補間フレームの画素に対応付ける動きベクトル補正部47、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成する補間フレーム生成部48、前段からの入力動画像データを補間フレームが生成される時間だけ遅延させる遅延部49、および、遅延された入力動画像データに補間フレームを内挿する補間フレーム挿入部50から構成される。
【0082】
なお、フレーム単位で処理される動画像データには、各画素の座標情報と画素値が含まれているものとする。
【0083】
フレームメモリ43の個数は任意であるが、記憶部42に保持する一連のフレームの期間にシーンチェンジが存在しないことが前提となるので、現実的には最大でも20程度とすることが望ましい。
【0084】
図9の構成例の場合、記憶部42は6個のフレームメモリ43−1乃至43−6から構成される。各フレームメモリ43は、前段から1フレーム分の動画像データが入力されることに対応し、保持している1フレーム分の動画像データを後段に出力する。ただし、補間フレーム生成部48によって生成された補間フレームが記憶部42に入力された場合、その補間フレームが内挿されるべき位置に対応するフレームメモリ43−1乃至43−6のいずれかに保持されるようになされている。
【0085】
したがって、例えば、フレームn−1とフレームn−2の間に内挿される補間フレーム(以下、補間フレームn−1.5とも称する)が既に生成されている場合、記憶部42には、動画像データを構成する一連のフレームのうち、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されていることになる。
【0086】
画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、生成される補間フレームを挟む2枚のフレームを、フレーム間距離の狭い組み合わせから順に読み出す。
【0087】
例えば図10に示すように、補間フレーム生成部48においてフレームnとフレームn−1の間に内挿すべき補間フレームが生成される場合、まずフレーム間距離が最短のフレームn,n−1を読み出す。読み出したフレームn,n−1を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、次に、フレーム間距離がより広いフレームn+1と補間フレームn−1.5を読み出す。そして、読み出したフレームn+1と補間フレームn−1.5を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、さらに、フレーム間距離がより広いフレームn+2,n−2を読み出すことになる。
【0088】
なお、同時に読み出す第1および第2のフレームの組み合わせは上述した例に限るものではなく、後に読み出される2フレームのうち、少なくとも1フレームが変更されていればよい。また、読み出す2フレームのフレーム間距離については、前回読み出された2フレームのフレーム間距離と同じ以上であればよい。
【0089】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間でシーンチェンジを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。また、シーンチェンジ検出部45は、検出結果を保持しておき、次に読み出される2フレーム間のシーンチェンジ検出結果として流用するようにすることができる。例えば、フレームn,n−1の間にシーンチェンジが検出された場合、次に読み出されるフレームn+1,n−2の間にもシーンチェンジが存在するので、この検出を省略するようにしてもよい。
【0090】
動きベクトル検出部46は、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する。なお、入力される2フレームの一方が仮に前回と同じフレームであった場合、動きベクトルの精度を向上させるためには、同一のフレームを連続して基準画像としないことが望ましい。
【0091】
動きベクトル補正部47は、検出された動きベクトルを補間フレームの各画素に対応付ける。このとき、図1に示されたように、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生したならば、その旨を示す信号を、領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に出力する。この信号に対応し、画像データ読み出し部44では前回読み出した2フレームとは少なくとも一方が異なる第1および第2のフレームが読み出され、動きベクトル検出部46では、新たに読み出された第1および第2のフレームの領域aに対応する部分の動きベクトルが検出される。
【0092】
補間フレーム生成部48は、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成し、生成した補間フレームを補間フレーム挿入部50に出力する。また補間フレーム生成部48は、生成した補間フレームを記憶部42にも出力する。記憶部42に出力された補間フレームは、これ以降の補間フレームを生成する時に利用される。
【0093】
次に、フレームレート変換装置40の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームn−0.5を生成する場合を例に、図11のフローチャートを参照して説明する。
【0094】
なお、既にフレームn−1とフレームn−2の間に内挿すべき補間フレームn−1.5が生成されており、記憶部42には、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されているものとする。
【0095】
ステップS21において、画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0096】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0097】
動きベクトル検出部46は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0098】
ステップS22において、動きベクトル補正部47は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0099】
ステップS23において、動きベクトル補正部47は、ステップS22の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に通知され、処理はステップS24に進められる。
【0100】
ステップS24において、画像データ読み出し部44は、動きベクトル補正部47からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1と補間フレームn−1.5)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0101】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。
【0102】
動きベクトル検出部46は、動きベクトル補正部47からの領域aを示す情報に対応し、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、参照画像に探索範囲を設けて領域aを含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲を先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0103】
この後、処理はステップS22に戻り、それ以降の処理が実行される。そして、2回目のステップS23の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS24に進められる。2回目のステップS24の処理では、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−2)が読み出されて動きベクトルが検出される。
【0104】
この後、再びステップS22に戻り、それ以降の処理が実行される。そして、ステップS23において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、処理はステップS25に進められる。
【0105】
なお、ステップS22乃至S24の処理を繰り返したことによって記憶部42から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部48に供給されて、処理はステップS25に進められる。
【0106】
ステップS25において、補間フレーム生成部48は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。
【0107】
例えば、補間フレームの画素のうち、フレームn,n−1の動きベクトルが対応付けられているものは、フレームn,n−1の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。また、フレームn+1と補間フレームn−1.5の動きベクトルが対応付けられているものは、フレームn+1と補間フレームn−1.5の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。さらに、フレームn+2,n−2の動きベクトルが対応付けられているものは、フレームn+2,n−2の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。
【0108】
ステップS26において、補間フレーム生成部48は、生成した補間フレームn−0.5を記憶部42と補間フレーム挿入部50に出力する。記憶部42は、入力された補間フレームn−0.5をフレームnとフレームn−1の間に保持することになる。一方、補間フレーム挿入部50は、遅延部49から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0109】
以上で、フレームレート変換装置10の動作の説明を終了する。
【0110】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0111】
以上説明したフレームレート変換装置30の動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0112】
また、既に生成済みの補間フレームを動きベクトルの検出に用いるので、上述した第1および第2の実施の形態に比較して、読み出す2フレームのフレーム間距離を狭くすることができる。したがって、ブロックマッチング法に際して参照画像に設ける探索範囲を上述した第1および第2の実施の形態に比較して狭くすることができるので、動き検出に要する演算量を第1および第2の実施の形態よりも減少させることができる。
【0113】
次に、2回目以降の動きベクトルの検出をエッジ部分に限定することにより演算量を削減するようにしたフレームレート変換装置の第4の構成例を提案する。
【0114】
図12は本発明の一実施の形態であるフレームレート変換装置の第4の構成例を示している。このフレームレート変換装置60は、上述した第3の構成例であるフレームレート変換装置40に対して、エッジ検出部61を追加したものである。
【0115】
エッジ検出部61は、動きベクトル検出部46から供給される第1または第2のフレーム上のエッジを検出し、検出結果を動きベクトル検出部46に戻すようになされている。フレームレート変換装置60のエッジ検出部61以外の構成要素については、フレームレート変換装置40の構成要素と同様であって同一の符号を付しているので、その説明は省略する。
【0116】
次に、フレームレート変換装置60の動作について、図13のフローチャートを参照して説明する。なお、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に説明する。
【0117】
次に、フレームレート変換装置60の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームn−0.5を生成する場合を例に、図13のフローチャートを参照して説明する。
【0118】
なお、既にフレームn−1とフレームn−2の間に内挿すべき補間フレームn−1.5が生成されており、記憶部42には、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されているものとする。
【0119】
ステップS31において、画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0120】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0121】
動きベクトル検出部46は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0122】
ステップS32において、動きベクトル補正部47は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0123】
ステップS33において、動きベクトル補正部47は、ステップS32の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に通知され、処理はステップS34に進められる。
【0124】
ステップS34において、画像データ読み出し部44は、動きベクトル補正部47からの信号に対応し、前回読み出した2フレームと少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1と補間フレームn−1.5)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0125】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。
【0126】
動きベクトル検出部46は、前回の動きベクトル検出における参照画像をエッジ検出部61に供給する。エッジ検出部61は、前回の参照画像上のエッジ部分を検出して、この検出結果を動きベクトル検出部46に戻す。なお、エッジ検出に要する演算量を削減する為、エッジ検出の範囲を、動きベクトルを対応付けることができなかった補間フレームの画素の周辺領域に限定してもよい。また、シーンチェンジ検出部45から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、今回の参照画像上にエッジ部分を検出するようにしてもよい。
【0127】
ステップS35において、エッジ部分の検出結果を取得した動きベクトル検出部46は、シーンチェンジ検出部45から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、動きベクトル補正部47から通知された領域aを含み、かつ、エッジ部分を含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0128】
この後、処理はステップS32に戻り、それ以降の処理が実行される。そして、2回目のステップS33の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS34に進められる。2回目のステップS34の処理でも、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−2)が読み出されて動きベクトルが検出される。
【0129】
この後、再びステップS32に戻り、それ以降の処理が実行される。そして、ステップS33において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、その情報が補間フレーム生成部48に供給されて、処理はステップS36に進められる。
【0130】
なお、ステップS32乃至S35の処理を繰り返したことによって記憶部42から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部48に供給されて、処理はステップS36に進められる。
【0131】
ステップS36において、補間フレーム生成部48は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。ステップS37において、補間フレーム生成部48は、生成した補間フレームn−0.5を記憶部42と補間フレーム挿入部50に出力する。記憶部42は、入力された補間フレームn−0.5をフレームnとフレームn−1の間に保持することになる。一方、補間フレーム挿入部50は、遅延部49から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0132】
以上で、フレームレート変換装置60の動作の説明を終了する。
【0133】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0134】
以上説明したフレームレート変換装置60の動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0135】
また、既に生成済みの補間フレームを動きベクトルの検出に用いるので、上述した第1および第2の実施の形態に比較して、読み出す2フレームのフレーム間距離を狭くすることができる。したがって、ブロックマッチング法に際しての探索範囲を上述した第1および第2の実施の形態に比較して狭くすることができるので、動き検出に要する演算量を第1および第2の実施の形態よりも減少させることができる。
【0136】
さらに、フレームレート変換装置40に比較してエッジ検出の手間は増えるものの、動きベクトル検出に要する演算量を削減することができる。
【0137】
なお、上述したフレームレート変換装置10,30,40および60のいずれにおいても、2回目以降の動きベクトル検出を、前回の動きベクトル検出で検出された動きベクトルを対応付けすることができなかった補間フレームの画素付近に限定しているが、この限定を解除し、2回目以降の動きベクトル検出においても画像全域の動きベクトルを検出するようにしてもよい。
【0138】
また、上述した説明において、動きベクトルの検出にはブロックマッチング法を用いたが、その際、分割したブロックの画素を間引くなどして演算量を削減するようにしてもよい。また、ブロックマッチング法の代わりに、勾配法などの他の手法を用いて動きベクトルを検出してもよい。
【0139】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【0140】
上述した一連の処理を実行させるソフトウェアは、記録媒体に格納された状態でパーソナルコンピュータに供給され、ドライブによって読み出されて内蔵されるハードディスクドライブなどにインストールされており、このインストールされているソフトウェアは、入力されるユーザからのコマンドに対応するCPUの指令によって、ハードディスクドライブからRAMにロードされて実行される。
【0141】
なお、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0142】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0143】
【図1】動きベクトルを対応付ける際の従来の問題点を説明するための図である。
【図2】本発明を適用したフレームレート変換装置の第1の構成例を示すブロック図である。
【図3】動きベクトルの検出に用いる2フレームの組み合わせを示す図である。
【図4】フレームレート変換装置の第1の構成例の動作を説明するフローチャートである。
【図5】フレームレート変換装置の第1の構成例の動作を説明するための図である。
【図6】動きベクトルの検出に用いる2フレームの他の組み合わせを示す図である。
【図7】本発明を適用したフレームレート変換装置の第2の構成例を示すブロック図である。
【図8】フレームレート変換装置の第2の構成例の動作を説明するフローチャートである。
【図9】本発明を適用したフレームレート変換装置の第3の構成例を示すブロック図である。
【図10】動きベクトルの検出に用いる補間フレームを含めた2フレームの組み合わせを示す図である。
【図11】フレームレート変換装置の第3の構成例の動作を説明するフローチャートである。
【図12】本発明を適用したフレームレート変換装置の第4の構成例を示すブロック図である。
【図13】フレームレート変換装置の第4の構成例の動作を説明するフローチャートである。
【符号の説明】
【0144】
10 フレームレート変換装置, 11 画像データ供給部, 12 記憶部, 13 フレームメモリ, 14 画像データ読み出し部, 15 シーンチェンジ検出部, 16 動きベクトル検出部, 17 動きベクトル補正部, 18 補間フレーム生成部, 19 遅延部, 20 補間フレーム挿入部, 31 エッジ検出部, 40 フレームレート変換装置, 41 画像データ供給部, 42 記憶部, 43 フレームメモリ, 44 画像データ読み出し部, 45 シーンチェンジ検出部, 46 動きベクトル検出部, 47 動きベクトル補正部, 48 補間フレーム生成部, 49 遅延部, 50 補間フレーム挿入部, 61 エッジ検出部
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて検出する動きベクトルを用い、前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
動画像のフレームレート変換処理などにおいては、動画像を構成する時間軸方向に前後する2枚のフレームの間に内挿するための補間フレームが生成される。この補間フレームの生成には、当該2枚のフレームに基づいて動きベクトルが検出される。
【0003】
2枚のフレームに基づいて動きベクトルを検出する方法としては、勾配法(例えば、特許文献1参照)やブロックマッチング法(例えば、特許文献2参照)が知られている。
【0004】
【特許文献1】特開昭60−158786号公報
【特許文献2】特開平8−186820号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
例えばブロックマッチング法では、前後する2枚のフレームn−1,nのうち、一方のフレーム(例えば、フレームn−1)を所定サイズのブロックに分割し、ブロック毎に他方のフレーム(例えば、フレームn)に設けた当該ブロックよりも広い探索範囲と比較して、図1に示すようにブロック単位で動きベクトルを検出する。そして、検出された動きベクトルを補間フレームの画素に対応付けることによって補間フレームの画素が決定される。
【0006】
ところで図1から明らかなように、上述した方法では、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生することがある。このような場合、補間フレームの領域aには最適な画素を決定することができないので、領域aは動きベクトルを対応付けることができた画素からなる他の領域に比較して画質が劣化してしまう。
【0007】
本発明はこのような状況に鑑みてなされたものであり、補間フレームのできるだけ多くの画素に動きベクトルを対応付けて、補間フレームの画質劣化を抑止できるようにするものである。
【課題を解決するための手段】
【0008】
本発明の一側面である画像処理装置は、動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置において、前記動画像を構成する一連の複数の画像を保持する保持手段と、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段と、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段と、前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段とを含み、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける。
【0009】
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像の少なくとも1画像を変更し、かつ、前回選択した前記2画像よりもフレーム間距離がより広い第1および第2の画像を選択するようにすることができる。
【0010】
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域の補正用の動きベクトルを検出するようにすることができる。
【0011】
本発明の一側面である画像処理装置は、前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段をさらに含むことができ、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出するようにすることができる。
【0012】
本発明の一側面である画像処理装置は、前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段をさらに含むことができる。
【0013】
前記保持手段は、さらに、前記生成手段によって生成された前記補正画像も保持し、前記選択手段は、保持されている前記補正画像を含む複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択するようにすることができる。
【0014】
本発明の一側面である画像処理方法は、動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の画像処理方法において、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、前記補間画像を構成する画素に、検出された動きベクトルを対応付け、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付けるステップを含む。
【0015】
本発明の一側面であるプログラムは、動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の制御用のプログラムであって、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、前記補間画像を構成する画素に、検出された動きベクトルを対応付け、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付けるステップを含む処理をコンピュータに実行させる。
【0016】
本発明の一側面においては、保持されている前記複数の画像のうち、所定のフレーム間距離を有する第1および第2の画像が選択され、選択された第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルが検出され、補間画像を構成する画素に、検出された動きベクトルが対応付けられる。そして、動きベクトルが対応付けられなかった補間画像の前記画素が存在する場合、保持されている複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像が再び選択され、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルが検出され、動きベクトルが対応付けられなかった補間画像の画素に、検出された補正用の動きベクトルが対応付けられる。
【発明の効果】
【0017】
本発明の一側面によれば、補間フレームのできるだけ多くの画素に動きベクトルを対応付けることができる。また、本発明の一側面によれば、補間フレームの画質劣化を抑止することができる。
【発明を実施するための最良の形態】
【0018】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0019】
請求項1に記載の画像処理装置(例えば、図2のフレームレート変換装置10)は、前記動画像を構成する一連の複数の画像を保持する保持手段(例えば、図2の記憶部12)と、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段(例えば、図2の画像読み出し部14)と、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段(例えば、図2の動きベクトル検出部16)と、前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段(例えば、図2の動きベクトル補正部17)とを含み、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける。
【0020】
請求項4に記載の画像処理装置は、前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段(例えば、図7のエッジ検出部31)をさらに含み、前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出する。
【0021】
請求項5に記載の画像処理装置は、前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段(例えば、図2の補間フレーム生成部18)をさらに含む。
【0022】
請求項7に記載の画像処理方法および請求項8に記載のプログラムは、保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し(例えば、図4のステップS1)、選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し(例えば、図4のステップS1)、前記補間画像を構成する画素に、検出された動きベクトルを対応付け(例えば、図4のステップS2)、前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、(例えば、図4のステップS4)、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し(例えば、図4のステップS4)、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける(例えば、図4のステップS2)ステップを含む。
【0023】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0024】
図2は本発明の一実施の形態である、入力動画像データを構成する一連のフレームに補間フレームを内挿してフレームレートを変換するフレームレート変換装置の第1の構成例を示している。
【0025】
このフレームレート変換装置10は、前段からの入力動画像データを1フレームずつ後段に出力する画像データ供給部11、1フレーム分の動画像データを保持する複数のフレームメモリ13からなり時間軸上に連続する複数のフレームを保持する記憶部12、および、記憶部12に保持されている複数のフレームの中から生成すべき補間フレームを挟む2枚のフレーム(以下、第1のフレームおよび第2のフレームと称する)を読み出す画像データ読み出し部14から構成される。
【0026】
さらに、フレームレート変換装置10は、読み出された第1および第2のフレームの間のシーンチェンジを検出するシーンチェンジ検出部15、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する動きベクトル検出部16、検出された動きベクトルを補間フレームの画素に対応付ける動きベクトル補正部17、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成する補間フレーム生成部18、前段からの入力動画像データを補間フレームが生成される時間だけ遅延させる遅延部19、および、遅延された入力動画像データに補間フレームを内挿する補間フレーム挿入部20から構成される。
【0027】
なお、フレーム単位で処理される動画像データには、各画素の座標情報と画素値が含まれているものとする。
【0028】
図2の構成例の場合、記憶部12は6個のフレームメモリ13−1乃至13−6から構成される。各フレームメモリ13は、前段から1フレーム分の動画像データが入力されることに対応し、保持している1フレーム分の動画像データを後段に出力する。したがって、記憶部12は、動画像データを構成する一連のフレームのうち、連続する6フレーム(以下、フレームn+2,n+1,n,n−1,n−2,n−3と称する)を保持することができる。なお、フレームメモリ13の個数は任意であるが、記憶部12に保持する一連のフレームの期間にシーンチェンジが存在しないことが前提となるので、現実的には最大でも20程度とすることが望ましい。
【0029】
画像データ読み出し部14は、記憶部12に保持されている6フレームn+2乃至n−3のうち、生成される補間フレームを挟む2枚のフレームを、フレーム間距離の狭い組み合わせから順に読み出す。
【0030】
例えば図3に示すように、補間フレーム生成部18においてフレームnとフレームn−1の間に内挿すべき補間フレームが生成される場合、まずフレーム間距離が1フレームのフレームn,n−1を読み出す。読み出したフレームn,n−1を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、次に、フレーム間距離がより広いフレームn+1,n−2を読み出す。そして、読み出したフレームn+1,n−2を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、さらに、フレーム間距離がより広いフレームn+2,n−3を読み出すことになる。
【0031】
なお、同時に読み出す第1および第2のフレームの組み合わせは上述した例に限るものではなく、後に読み出される2フレームのうち、少なくとも1フレームが変更されていればよい。また、読み出す2フレームのフレーム間距離については、前回読み出された2フレームのフレーム間距離と同じ以上であればよい。
【0032】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間でシーンチェンジを検出し、検出結果と第1および第2のフレームを後段の動きベクトル検出部16に供給する。また、シーンチェンジ検出部15は、検出結果を保持しておき、次に読み出される2フレーム間のシーンチェンジ検出結果として流用するようにすることができる。例えば、フレームn,n−1の間にシーンチェンジが検出された場合、次に読み出されるフレームn+1,n−2の間にもシーンチェンジが存在するので、この検出を省略するようにしてもよい。
【0033】
動きベクトル検出部16は、第1および第2のフレームの間にシーンチェンジが検出されていない場合のみ、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する。具体的には、供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。なお、入力される2フレームの一方が仮に前回と同じフレームであった場合、動きベクトルの精度を向上させるためには、同一のフレームを連続して基準画像としないことが望ましい。
【0034】
動きベクトル補正部17は、検出された動きベクトルを補間フレームの各画素に対応付ける。このとき、図1に示されたように、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生したならば、その旨を示す信号を、領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に出力する。この信号に対応し、画像データ読み出し部14では前回と異なる第1および第2のフレームが読み出され、動きベクトル検出部16では、新たに読み出された第1および第2のフレームの領域aに対応する部分の動きベクトルが検出される。
【0035】
次に、フレームレート変換装置10の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に、図4のフローチャートを参照して説明する。
【0036】
フレームレート変換装置10に対して前段から動画像データが入力されると、この入力動画像データは画像データ供給部11、および遅延部19に供給される。
【0037】
そして、画像データ供給部11を介して動画像データが1フレームずつ記憶部12に供給される。そして、6フレーム分の動画像データが記憶部12に保持される。
【0038】
ステップS1において、画像データ読み出し部14は、記憶部12に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0039】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0040】
動きベクトル検出部16は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0041】
ステップS2において、動きベクトル補正部17は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0042】
ステップS3において、動きベクトル補正部17は、ステップS2の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に通知され、処理はステップS4に進められ、前回読み出した2フレームとは少なくとも一方が異なる2フレームに基づいて動きベクトルが検出される。
【0043】
具体的には、ステップS4において、画像データ読み出し部14は、動きベクトル補正部17からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば図5に示すように、フレーム間距離がより広いフレームn+1,n−2)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0044】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。
【0045】
動きベクトル検出部16は、動きベクトル補正部17からの領域aを示す情報に対応し、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、参照画像に探索範囲を設けて領域aを含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっているので、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0046】
この後、処理はステップS2に戻り、それ以降の処理が実行される。そして、2回目のステップS3の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS4に進められる。2回目のステップS4の処理では、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば図5に示すように、フレーム間距離がより広いフレームn+2,n−3)が読み出されて動きベクトルが検出される。
【0047】
この後、再びステップS2に戻り、それ以降の処理が実行される。そして、ステップS3において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しないと判定された場合、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給され、処理はステップS5に進められる。
【0048】
なお、ステップS2乃至S4の処理を繰り返したことによって記憶部12から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給されて、処理はステップS5に進められる。
【0049】
ステップS5において、補間フレーム生成部18は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。
【0050】
例えば、補間フレームの画素のうち、フレームn,n−1の動きベクトルが対応付けられているものは、フレームn,n−1の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。また、フレームn+1,n−2の動きベクトルが対応付けられているものは、フレームn+1,n−2の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。さらに、フレームn+2,n−3の動きベクトルが対応付けられているものは、フレームn+2,n−3の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。そしてこの結果得られる補間フレームを補間フレーム挿入部20に出力する。
【0051】
補間フレーム挿入部20は、遅延部19から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0052】
以上で、フレームレート変換装置10の動作の説明を終了する。
【0053】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。例えば図6に示すように、初めにフレームn,n−1を読み出し、次にフレームn+1,n−1を読み出し、その次にフレームn+2,n−1を読み出すようにしてもよい。この場合、2回目および3回目の読み出しでは、それぞれフレームn+1またはフレームn+2だけを読み出すようにすることもできる。
【0054】
以上説明したフレームレート変換装置10による動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0055】
ところで、補間フレームの画素に動きベクトルを対応付けることができないことに起因する画質の劣化は、画像内のエッジ部分において顕著である。換言すれば、補間フレームの画素に動きベクトルを対応付けることができなくても、その画素が画像内のエッジ部分でなければ、画質の劣化はそれほど目立たない。そこで、2回目以降の動きベクトルの検出をエッジ部分に限定することにより演算量を削減するようにしたフレームレート変換装置の第2の構成例を提案する。
【0056】
図7は本発明の一実施の形態であるフレームレート変換装置の第2の構成例を示している。このフレームレート変換装置30は、上述した第1の構成例であるフレームレート変換装置10に対して、エッジ検出部31を追加したものである。
【0057】
エッジ検出部31は、動きベクトル検出部16から供給される第1または第2のフレーム上のエッジを検出し、検出結果を動きベクトル検出部16に戻すようになされている。フレームレート変換装置30のエッジ検出部31以外の構成要素については、フレームレート変換装置10の構成要素と同様であって同一の符号を付しているので、その説明は省略する。
【0058】
次に、フレームレート変換装置30の動作について、図8のフローチャートを参照して説明する。なお、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に説明する。
【0059】
フレームレート変換装置30に対して前段から動画像データが入力されると、この入力動画像データは画像データ供給部11、および遅延部19に供給される。
【0060】
そして、画像データ供給部11を介して動画像データが1フレームずつ記憶部12に供給される。そして、6フレーム分の動画像データが記憶部12に保持される。
【0061】
ステップS11において、画像データ読み出し部14は、記憶部12に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0062】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間でシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0063】
動きベクトル検出部16は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0064】
ステップS12において、動きベクトル補正部17は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0065】
ステップS13において、動きベクトル補正部17は、ステップS12の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部14および動きベクトル検出部16に通知され、処理はステップS14に進められる。
【0066】
ステップS14において、画像データ読み出し部14は、動きベクトル補正部17からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1,n−2)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部15に出力する。
【0067】
シーンチェンジ検出部15は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部16に供給する。
【0068】
動きベクトル検出部16は、前回の動きベクトル検出における参照画像をエッジ検出部31に供給する。エッジ検出部31は、前回の参照画像上のエッジ部分を検出して、この検出結果を動きベクトル検出部16に戻す。なお、エッジ検出に要する演算量を削減する為、エッジ検出の範囲を、動きベクトルを対応付けることができなかった補間フレームの画素の周辺領域に限定してもよい。また、シーンチェンジ検出部15から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、今回の参照画像上にエッジ部分を検出するようにしてもよい。
【0069】
ステップS15において、エッジ部分の検出結果を取得した動きベクトル検出部16は、シーンチェンジ検出部15から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、動きベクトル補正部17から通知された領域aを含み、かつ、エッジ部分を含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部17に供給される。
【0070】
この後、処理はステップS12に戻り、それ以降の処理が実行される。そして、2回目のステップS13の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS14に進められる。2回目のステップS14およびS15の処理でも、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−3)が読み出されて動きベクトルが検出される。
【0071】
この後、再びステップS12に戻り、それ以降の処理が実行される。そして、ステップS13において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、その情報が補間フレーム生成部18に供給されて、処理はステップS16に進められる。
【0072】
なお、ステップS12乃至S15の処理を繰り返したことによって記憶部12から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部18に供給されて、処理はステップS16に進められる。
【0073】
ステップS16において、補間フレーム生成部18は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成し、生成した補間フレームを補間フレーム挿入部20に出力する。
【0074】
補間フレーム挿入部20は、遅延部19から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0075】
以上で、フレームレート変換装置30の動作の説明を終了する。
【0076】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0077】
以上説明したフレームレート変換装置30による動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。また、フレームレート変換装置10に比較してエッジ検出の手間は増えるものの、動きベクトル検出に要する演算量を削減することができる。
【0078】
次に、内挿するために生成した補間フレームを、それ以降の補間フレームを生成するために用いる動きベクトルの検出に利用するようにしたフレームレート変換装置の第3の構成例について説明する。
【0079】
図9は本発明の一実施の形態であるフレームレート変換装置の第3の構成例を示している。
【0080】
このフレームレート変換装置40は、前段からの入力動画像データを1フレームずつ後段に出力する画像データ供給部41、1フレーム分の動画像データを保持する複数のフレームメモリ43からなり時間軸上に連続する複数のフレームと生成される補間フレームを保持する記憶部42、および、記憶部42に保持されている複数のフレームの中から生成すべき補間フレームを挟む2枚のフレーム(以下、第1のフレームおよび第2のフレームと称する)を読み出す画像データ読み出し部44から構成される。
【0081】
さらに、フレームレート変換装置40は、読み出された第1および第2のフレームの間のシーンチェンジを検出するシーンチェンジ検出部45、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する動きベクトル検出部46、検出された動きベクトルを補間フレームの画素に対応付ける動きベクトル補正部47、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成する補間フレーム生成部48、前段からの入力動画像データを補間フレームが生成される時間だけ遅延させる遅延部49、および、遅延された入力動画像データに補間フレームを内挿する補間フレーム挿入部50から構成される。
【0082】
なお、フレーム単位で処理される動画像データには、各画素の座標情報と画素値が含まれているものとする。
【0083】
フレームメモリ43の個数は任意であるが、記憶部42に保持する一連のフレームの期間にシーンチェンジが存在しないことが前提となるので、現実的には最大でも20程度とすることが望ましい。
【0084】
図9の構成例の場合、記憶部42は6個のフレームメモリ43−1乃至43−6から構成される。各フレームメモリ43は、前段から1フレーム分の動画像データが入力されることに対応し、保持している1フレーム分の動画像データを後段に出力する。ただし、補間フレーム生成部48によって生成された補間フレームが記憶部42に入力された場合、その補間フレームが内挿されるべき位置に対応するフレームメモリ43−1乃至43−6のいずれかに保持されるようになされている。
【0085】
したがって、例えば、フレームn−1とフレームn−2の間に内挿される補間フレーム(以下、補間フレームn−1.5とも称する)が既に生成されている場合、記憶部42には、動画像データを構成する一連のフレームのうち、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されていることになる。
【0086】
画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、生成される補間フレームを挟む2枚のフレームを、フレーム間距離の狭い組み合わせから順に読み出す。
【0087】
例えば図10に示すように、補間フレーム生成部48においてフレームnとフレームn−1の間に内挿すべき補間フレームが生成される場合、まずフレーム間距離が最短のフレームn,n−1を読み出す。読み出したフレームn,n−1を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、次に、フレーム間距離がより広いフレームn+1と補間フレームn−1.5を読み出す。そして、読み出したフレームn+1と補間フレームn−1.5を第1および第2のフレームとして検出される動きベクトルだけでは補間フレームを生成できない場合、さらに、フレーム間距離がより広いフレームn+2,n−2を読み出すことになる。
【0088】
なお、同時に読み出す第1および第2のフレームの組み合わせは上述した例に限るものではなく、後に読み出される2フレームのうち、少なくとも1フレームが変更されていればよい。また、読み出す2フレームのフレーム間距離については、前回読み出された2フレームのフレーム間距離と同じ以上であればよい。
【0089】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間でシーンチェンジを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。また、シーンチェンジ検出部45は、検出結果を保持しておき、次に読み出される2フレーム間のシーンチェンジ検出結果として流用するようにすることができる。例えば、フレームn,n−1の間にシーンチェンジが検出された場合、次に読み出されるフレームn+1,n−2の間にもシーンチェンジが存在するので、この検出を省略するようにしてもよい。
【0090】
動きベクトル検出部46は、第1および第2のフレームにブロックマッチング法を適用して動きベクトルを検出する。なお、入力される2フレームの一方が仮に前回と同じフレームであった場合、動きベクトルの精度を向上させるためには、同一のフレームを連続して基準画像としないことが望ましい。
【0091】
動きベクトル補正部47は、検出された動きベクトルを補間フレームの各画素に対応付ける。このとき、図1に示されたように、動きベクトルを対応付けることができない補間フレームの画素(図1の領域a)が発生したならば、その旨を示す信号を、領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に出力する。この信号に対応し、画像データ読み出し部44では前回読み出した2フレームとは少なくとも一方が異なる第1および第2のフレームが読み出され、動きベクトル検出部46では、新たに読み出された第1および第2のフレームの領域aに対応する部分の動きベクトルが検出される。
【0092】
補間フレーム生成部48は、補間フレームの各画素に対応付けられた動きベクトルに基づいて補間フレームを生成し、生成した補間フレームを補間フレーム挿入部50に出力する。また補間フレーム生成部48は、生成した補間フレームを記憶部42にも出力する。記憶部42に出力された補間フレームは、これ以降の補間フレームを生成する時に利用される。
【0093】
次に、フレームレート変換装置40の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームn−0.5を生成する場合を例に、図11のフローチャートを参照して説明する。
【0094】
なお、既にフレームn−1とフレームn−2の間に内挿すべき補間フレームn−1.5が生成されており、記憶部42には、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されているものとする。
【0095】
ステップS21において、画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0096】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0097】
動きベクトル検出部46は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0098】
ステップS22において、動きベクトル補正部47は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0099】
ステップS23において、動きベクトル補正部47は、ステップS22の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に通知され、処理はステップS24に進められる。
【0100】
ステップS24において、画像データ読み出し部44は、動きベクトル補正部47からの信号に対応し、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1と補間フレームn−1.5)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0101】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。
【0102】
動きベクトル検出部46は、動きベクトル補正部47からの領域aを示す情報に対応し、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、参照画像に探索範囲を設けて領域aを含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲を先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0103】
この後、処理はステップS22に戻り、それ以降の処理が実行される。そして、2回目のステップS23の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS24に進められる。2回目のステップS24の処理では、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−2)が読み出されて動きベクトルが検出される。
【0104】
この後、再びステップS22に戻り、それ以降の処理が実行される。そして、ステップS23において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、処理はステップS25に進められる。
【0105】
なお、ステップS22乃至S24の処理を繰り返したことによって記憶部42から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部48に供給されて、処理はステップS25に進められる。
【0106】
ステップS25において、補間フレーム生成部48は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。
【0107】
例えば、補間フレームの画素のうち、フレームn,n−1の動きベクトルが対応付けられているものは、フレームn,n−1の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。また、フレームn+1と補間フレームn−1.5の動きベクトルが対応付けられているものは、フレームn+1と補間フレームn−1.5の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。さらに、フレームn+2,n−2の動きベクトルが対応付けられているものは、フレームn+2,n−2の基準画像とされた方の対応する画素を動きベクトルに基づいて移動することによって生成する。
【0108】
ステップS26において、補間フレーム生成部48は、生成した補間フレームn−0.5を記憶部42と補間フレーム挿入部50に出力する。記憶部42は、入力された補間フレームn−0.5をフレームnとフレームn−1の間に保持することになる。一方、補間フレーム挿入部50は、遅延部49から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0109】
以上で、フレームレート変換装置10の動作の説明を終了する。
【0110】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0111】
以上説明したフレームレート変換装置30の動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0112】
また、既に生成済みの補間フレームを動きベクトルの検出に用いるので、上述した第1および第2の実施の形態に比較して、読み出す2フレームのフレーム間距離を狭くすることができる。したがって、ブロックマッチング法に際して参照画像に設ける探索範囲を上述した第1および第2の実施の形態に比較して狭くすることができるので、動き検出に要する演算量を第1および第2の実施の形態よりも減少させることができる。
【0113】
次に、2回目以降の動きベクトルの検出をエッジ部分に限定することにより演算量を削減するようにしたフレームレート変換装置の第4の構成例を提案する。
【0114】
図12は本発明の一実施の形態であるフレームレート変換装置の第4の構成例を示している。このフレームレート変換装置60は、上述した第3の構成例であるフレームレート変換装置40に対して、エッジ検出部61を追加したものである。
【0115】
エッジ検出部61は、動きベクトル検出部46から供給される第1または第2のフレーム上のエッジを検出し、検出結果を動きベクトル検出部46に戻すようになされている。フレームレート変換装置60のエッジ検出部61以外の構成要素については、フレームレート変換装置40の構成要素と同様であって同一の符号を付しているので、その説明は省略する。
【0116】
次に、フレームレート変換装置60の動作について、図13のフローチャートを参照して説明する。なお、フレームnとフレームn−1の間に内挿すべき補間フレームを生成する場合を例に説明する。
【0117】
次に、フレームレート変換装置60の動作について、フレームnとフレームn−1の間に内挿すべき補間フレームn−0.5を生成する場合を例に、図13のフローチャートを参照して説明する。
【0118】
なお、既にフレームn−1とフレームn−2の間に内挿すべき補間フレームn−1.5が生成されており、記憶部42には、連続する6フレーム(フレームn+2,n+1,n,n−1、補間フレームn−1.5、フレームn−2)が保持されているものとする。
【0119】
ステップS31において、画像データ読み出し部44は、記憶部42に保持されている6フレームのうち、フレームn,n−1を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0120】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。以下、第1および第2のフレームの間にシーンチェンジが検出されなかったものとして説明を継続する。
【0121】
動きベクトル検出部46は、第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、ブロック毎に当該ブロックよりも広い探索範囲を参照画像に設けて比較し、ブロック毎に動きベクトルを検出する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0122】
ステップS32において、動きベクトル補正部47は、検出された動きベクトルを補間フレームの画素に対応付ける。ただし、この処理で動きベクトルを対応付けることができない補間フレームの画素が存在してもよい。
【0123】
ステップS33において、動きベクトル補正部47は、ステップS32の処理で動きベクトルを対応付けることができなかった補間フレームの画素(例えば、図5における領域aの画素)が存在するか否かを判定する。動きベクトルを対応付けることができなかった補間フレームの画素が存在すると判定された場合、その旨を示す信号が領域aを示す情報とともに画像データ読み出し部44および動きベクトル検出部46に通知され、処理はステップS34に進められる。
【0124】
ステップS34において、画像データ読み出し部44は、動きベクトル補正部47からの信号に対応し、前回読み出した2フレームと少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+1と補間フレームn−1.5)を読み出し、第1および第2のフレームとしてシーンチェンジ検出部45に出力する。
【0125】
シーンチェンジ検出部45は、読み出された第1および第2のフレームの間にシーンチェンジがあるか否かを検出し、検出結果とともに第1および第2のフレームを後段の動きベクトル検出部46に供給する。
【0126】
動きベクトル検出部46は、前回の動きベクトル検出における参照画像をエッジ検出部61に供給する。エッジ検出部61は、前回の参照画像上のエッジ部分を検出して、この検出結果を動きベクトル検出部46に戻す。なお、エッジ検出に要する演算量を削減する為、エッジ検出の範囲を、動きベクトルを対応付けることができなかった補間フレームの画素の周辺領域に限定してもよい。また、シーンチェンジ検出部45から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、今回の参照画像上にエッジ部分を検出するようにしてもよい。
【0127】
ステップS35において、エッジ部分の検出結果を取得した動きベクトル検出部46は、シーンチェンジ検出部45から今回供給された第1および第2のフレームのうち、一方を基準画像、他方を参照画像として、基準画像を所定サイズのブロックに分割し、動きベクトル補正部47から通知された領域aを含み、かつ、エッジ部分を含むブロックの動きベクトルを検出する。なお、第1および第2のフレームのフレーム間距離が先程よりも広くなっている場合、参照画像に設ける探索範囲も先程よりも広く設定する。検出された動きベクトルは動きベクトル補正部47に供給される。
【0128】
この後、処理はステップS32に戻り、それ以降の処理が実行される。そして、2回目のステップS33の処理において、動きベクトルを対応付けることができなかった補間フレームの画素が未だ存在すると判定された場合、処理は再度ステップS34に進められる。2回目のステップS34の処理でも、前回読み出した2フレームとは少なくとも一方が異なる2フレーム(例えば、フレーム間距離がより広いフレームn+2,n−2)が読み出されて動きベクトルが検出される。
【0129】
この後、再びステップS32に戻り、それ以降の処理が実行される。そして、ステップS33において、動きベクトルを対応付けることができなかった補間フレームの画素が存在しない、すなわち、補間フレームの全ての画素に対して動きベクトルが対応付けられたと判定された場合、その情報が補間フレーム生成部48に供給されて、処理はステップS36に進められる。
【0130】
なお、ステップS32乃至S35の処理を繰り返したことによって記憶部42から2フレームの組み合わせを読み出し尽くした場合、あるいはシーンチェンジが検出された場合、動きベクトルを対応付けることができなかった補間フレームの画素が依然として存在することもあるが、当該画素に対しては近傍の画素に対応付けられている動きベクトルを平均するなどして対応付ける動きベクトルを決定し、補間フレームの各画素に対して対応付けられた動きベクトルを示す情報が補間フレーム生成部48に供給されて、処理はステップS36に進められる。
【0131】
ステップS36において、補間フレーム生成部48は、各画素に対応付けられている動きベクトルに基づいて画素値を決定することにより補間フレームを生成する。ステップS37において、補間フレーム生成部48は、生成した補間フレームn−0.5を記憶部42と補間フレーム挿入部50に出力する。記憶部42は、入力された補間フレームn−0.5をフレームnとフレームn−1の間に保持することになる。一方、補間フレーム挿入部50は、遅延部49から供給される動画像データに補間フレームを内挿し、その結果得られるフレームレートが変換された動画像データを後段に出力する。
【0132】
以上で、フレームレート変換装置60の動作の説明を終了する。
【0133】
なお、順次読み出す第1および第2のフレームの組み合わせは上述した説明に限るものではない。
【0134】
以上説明したフレームレート変換装置60の動作によれば、補間フレームのより多くの画素に動きベクトルを精度よく対応付けることができるので、補間フレームの画素値を正確に決定することができる。よって、補間フレームの画質劣化を抑止することができる。
【0135】
また、既に生成済みの補間フレームを動きベクトルの検出に用いるので、上述した第1および第2の実施の形態に比較して、読み出す2フレームのフレーム間距離を狭くすることができる。したがって、ブロックマッチング法に際しての探索範囲を上述した第1および第2の実施の形態に比較して狭くすることができるので、動き検出に要する演算量を第1および第2の実施の形態よりも減少させることができる。
【0136】
さらに、フレームレート変換装置40に比較してエッジ検出の手間は増えるものの、動きベクトル検出に要する演算量を削減することができる。
【0137】
なお、上述したフレームレート変換装置10,30,40および60のいずれにおいても、2回目以降の動きベクトル検出を、前回の動きベクトル検出で検出された動きベクトルを対応付けすることができなかった補間フレームの画素付近に限定しているが、この限定を解除し、2回目以降の動きベクトル検出においても画像全域の動きベクトルを検出するようにしてもよい。
【0138】
また、上述した説明において、動きベクトルの検出にはブロックマッチング法を用いたが、その際、分割したブロックの画素を間引くなどして演算量を削減するようにしてもよい。また、ブロックマッチング法の代わりに、勾配法などの他の手法を用いて動きベクトルを検出してもよい。
【0139】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【0140】
上述した一連の処理を実行させるソフトウェアは、記録媒体に格納された状態でパーソナルコンピュータに供給され、ドライブによって読み出されて内蔵されるハードディスクドライブなどにインストールされており、このインストールされているソフトウェアは、入力されるユーザからのコマンドに対応するCPUの指令によって、ハードディスクドライブからRAMにロードされて実行される。
【0141】
なお、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0142】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0143】
【図1】動きベクトルを対応付ける際の従来の問題点を説明するための図である。
【図2】本発明を適用したフレームレート変換装置の第1の構成例を示すブロック図である。
【図3】動きベクトルの検出に用いる2フレームの組み合わせを示す図である。
【図4】フレームレート変換装置の第1の構成例の動作を説明するフローチャートである。
【図5】フレームレート変換装置の第1の構成例の動作を説明するための図である。
【図6】動きベクトルの検出に用いる2フレームの他の組み合わせを示す図である。
【図7】本発明を適用したフレームレート変換装置の第2の構成例を示すブロック図である。
【図8】フレームレート変換装置の第2の構成例の動作を説明するフローチャートである。
【図9】本発明を適用したフレームレート変換装置の第3の構成例を示すブロック図である。
【図10】動きベクトルの検出に用いる補間フレームを含めた2フレームの組み合わせを示す図である。
【図11】フレームレート変換装置の第3の構成例の動作を説明するフローチャートである。
【図12】本発明を適用したフレームレート変換装置の第4の構成例を示すブロック図である。
【図13】フレームレート変換装置の第4の構成例の動作を説明するフローチャートである。
【符号の説明】
【0144】
10 フレームレート変換装置, 11 画像データ供給部, 12 記憶部, 13 フレームメモリ, 14 画像データ読み出し部, 15 シーンチェンジ検出部, 16 動きベクトル検出部, 17 動きベクトル補正部, 18 補間フレーム生成部, 19 遅延部, 20 補間フレーム挿入部, 31 エッジ検出部, 40 フレームレート変換装置, 41 画像データ供給部, 42 記憶部, 43 フレームメモリ, 44 画像データ読み出し部, 45 シーンチェンジ検出部, 46 動きベクトル検出部, 47 動きベクトル補正部, 48 補間フレーム生成部, 49 遅延部, 50 補間フレーム挿入部, 61 エッジ検出部
【特許請求の範囲】
【請求項1】
動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置において、
前記動画像を構成する一連の複数の画像を保持する保持手段と、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段と、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段と、
前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段とを含み、
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
画像処理装置。
【請求項2】
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像の少なくとも1画像を変更し、かつ、前回選択した前記2画像よりもフレーム間距離がより広い第1および第2の画像を選択する
請求項1に記載の画像処理装置。
【請求項3】
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域の補正用の動きベクトルを検出する
請求項1に記載の画像処理装置。
【請求項4】
前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段をさらに含み、
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出する
請求項1に記載の画像処理装置。
【請求項5】
前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段を
さらに含む請求項1に記載の画像処理装置。
【請求項6】
前記保持手段は、さらに、前記生成手段によって生成された前記補正画像も保持し、
前記選択手段は、保持されている前記補正画像を含む複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する
請求項5に記載の画像処理装置。
【請求項7】
動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の画像処理方法において、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、
前記補間画像を構成する画素に、検出された動きベクトルを対応付け、
前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
ステップを含む画像処理方法。
【請求項8】
動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の制御用のプログラムであって、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、
前記補間画像を構成する画素に、検出された動きベクトルを対応付け、
前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項1】
動画像を構成する一連の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置において、
前記動画像を構成する一連の複数の画像を保持する保持手段と、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する選択手段と、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出する動きベクトル検出手段と、
前記補間画像を構成する画素に、検出された動きベクトルを対応付ける対応付け手段とを含み、
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
前記対応付け手段は、動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
画像処理装置。
【請求項2】
前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
前記選択手段は、保持されている前記複数の画像のうち、前回選択した2画像の少なくとも1画像を変更し、かつ、前回選択した前記2画像よりもフレーム間距離がより広い第1および第2の画像を選択する
請求項1に記載の画像処理装置。
【請求項3】
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域の補正用の動きベクトルを検出する
請求項1に記載の画像処理装置。
【請求項4】
前記第1および第2の画像のうち、少なくとも一方の画像上のエッジ部分を検出するエッジ検出手段をさらに含み、
前記動きベクトル検出手段は、再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として、前記対応付け手段によって動きベクトルが対応付けられなかった前記補間画像の前記画素に対応する領域であって、且つ、検出されたエッジ部分に対応する領域の補正用の動きベクトルを検出する
請求項1に記載の画像処理装置。
【請求項5】
前記対応付け手段によって対応付けられた前記動きベクトルに基づき、前記補間画像を構成する前記画素の画素値を、前記第1の画像を構成する画素または第2の画像を構成する画素の少なくとも一方を用いて決定することにより、前記補間画像を生成する生成手段を
さらに含む請求項1に記載の画像処理装置。
【請求項6】
前記保持手段は、さらに、前記生成手段によって生成された前記補正画像も保持し、
前記選択手段は、保持されている前記補正画像を含む複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択する
請求項5に記載の画像処理装置。
【請求項7】
動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の画像処理方法において、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、
前記補間画像を構成する画素に、検出された動きベクトルを対応付け、
前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
ステップを含む画像処理方法。
【請求項8】
動画像を構成する一連の複数の画像を保持し、前記複数の画像のうち、時間軸方向に前後する第1の画像および第2の画像に基づいて前記第1の画像と前記第2の画像の間に挿入すべき補間画像を生成する画像処理装置の制御用のプログラムであって、
保持されている前記複数の画像のうち、所定のフレーム間距離を有する前記第1および第2の画像を選択し、
選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として動きベクトルを検出し、
前記補間画像を構成する画素に、検出された動きベクトルを対応付け、
前記動きベクトルが対応付けられなかった前記補間画像の前記画素が存在する場合、
保持されている前記複数の画像のうち、前回選択した2画像のうちの少なくとも1画像を変更した第1および第2の画像を再び選択し、
再び選択された前記第1および第2の画像の一方を基準画像、他方を参照画像として補正用の動きベクトルを検出し、
動きベクトルが対応付けられなかった前記補間画像の前記画素に、検出された補正用の動きベクトルを対応付ける
ステップを含む処理をコンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−288681(P2007−288681A)
【公開日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願番号】特願2006−115876(P2006−115876)
【出願日】平成18年4月19日(2006.4.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願日】平成18年4月19日(2006.4.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]