JP2010118940A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2010118940A JP2010118940A JP2008291227A JP2008291227A JP2010118940A JP 2010118940 A JP2010118940 A JP 2010118940A JP 2008291227 A JP2008291227 A JP 2008291227A JP 2008291227 A JP2008291227 A JP 2008291227A JP 2010118940 A JP2010118940 A JP 2010118940A
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- pixel
- motion
- class
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】第1の動画像から、より高品質な第2の動画像を生成する。
【解決手段】関数生成部23は、動き検出部21により取得された被写体の動きを表す動き情報に基づいて、被写体の動きによる軌跡を表す回帰関数を生成し、予測位置検出部24は、回帰関数に基づいて、第2の画像データにおける被写体の予測位置を検出し、注目画素設定部30aは、予測位置に基づいて注目画素を設定し、予測タップ抽出部25は、予測タップを抽出し、動きクラス分類部28は、回帰関数に基づいて、予測タップを、複数の動きクラスのうちのいずれかにクラス分類し、係数メモリ29は、動きクラスそれぞれに対応する予測係数の中から、予測タップの動きクラスに対応する予測係数を出力し、予測演算部30は、出力された予測係数と、抽出された予測タップとを用いた予測演算により、注目画素を予測する。本発明は、例えばテレビジョン受像機に適用できる。
【選択図】図1
【解決手段】関数生成部23は、動き検出部21により取得された被写体の動きを表す動き情報に基づいて、被写体の動きによる軌跡を表す回帰関数を生成し、予測位置検出部24は、回帰関数に基づいて、第2の画像データにおける被写体の予測位置を検出し、注目画素設定部30aは、予測位置に基づいて注目画素を設定し、予測タップ抽出部25は、予測タップを抽出し、動きクラス分類部28は、回帰関数に基づいて、予測タップを、複数の動きクラスのうちのいずれかにクラス分類し、係数メモリ29は、動きクラスそれぞれに対応する予測係数の中から、予測タップの動きクラスに対応する予測係数を出力し、予測演算部30は、出力された予測係数と、抽出された予測タップとを用いた予測演算により、注目画素を予測する。本発明は、例えばテレビジョン受像機に適用できる。
【選択図】図1
Description
本発明は、画像処理装置、画像処理方法、及びプログラムに関し、特に、例えば、入力された動画像から、より高品質な動画像を生成することができるようにした画像処理装置、画像処理方法、及びプログラムに関する。
本出願人は、例えば、歪みが生じている入力画像から、その歪みを除去させた出力画像を予測する方法として、クラス分類適応処理を先に提案している(例えば、特許文献1を参照)。
このクラス分類適応処理では、例えば、予測すべき出力画像の画素(以下、注目画素という)が決定され、歪みが生じている入力画像と、すでに予測された出力画像とを用いて検出された動きベクトルに基づいて、注目画素が複数のクラスのうちのいずれかのクラスにクラス分類される。
また、クラス分類適応処理では、注目画素の位置に対応する、入力画像上の位置の周囲に存在する複数の画素が予測タップとして抽出され、予測タップを構成する複数の画素と、注目画素が分類されたクラスに対応する予測係数とを用いた予測演算によって注目画素が予測(生成)される。
なお、予測係数は、学習用の教師画像データ及び生徒画像データを用いた学習により予め求められている。
また、MPEG(moving picture experts group)等による予測符号化により符号化されて、送信されてくる複数のフレームのうち、欠落したフレームを生成(補間)するフレーム補間技術が存在する(例えば、特許文献2を参照)。
このフレーム補間技術では、予測符号化に用いられる動きベクトルを用いて、複数のフレーム内の移動物体の動きを非線形近似し、その非線形近似による結果に基づいて、欠落したフレーム内の移動物体の位置を検出することにより、欠落したフレームを生成する。
特開2000−341609号公報
特開平07−177514号公報
ところで、入力画像上には、被写体の動きや手振れ等により生じる動きボケ等が生じているが、上述した従来のクラス分類適応処理では、注目画素をクラス分類するに際し、それ等は考慮されていない。
また、従来のフレーム補間技術では、移動物体の動きを非線形近似することにより、欠落したフレーム内の移動物体の位置を検出し、欠落したフレームにおいて、検出した位置に、欠落したフレームの前後に存在する2つのフレーム内の移動物体(の画素値)を平均して得られる移動物体を配置しているに過ぎない。
したがって、欠落したフレーム内の移動物体の生成では、欠落したフレーム内の移動物体に生じている動きボケ等が考慮されていない。
本発明はこのような状況に鑑みてなされたものであり、入力された動画像の動きボケによるボケ量等を精度良く取得して、入力された動画像から、より高品質な動画像を予測することができるようにするものである。
本発明の一側面の画像処理装置、又はプログラムは、第1の画像データから、より高品質な第2の画像データを生成する画像処理装置、又は、第1の画像データから、より高品質な第2の画像データを生成する画像処理装置として、コンピュータを機能させるためのプログラムであって、前記第1の画像データ上の被写体の動きを表す動き情報を取得する取得手段と、前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数を生成する生成手段と、前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置を検出する検出手段と、前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかを、生成対象である注目画素に設定する設定手段と、前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップを、前記第1の画像データから抽出する予測タップ抽出手段と、前記回帰関数に基づいて、前記予測タップを、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類する動きクラス分類手段と、学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数を出力する予測係数出力手段と、出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素を予測する予測演算手段とを含む画像処理装置、又は画像処理装置として、コンピュータを機能させるためのプログラムである。
前記設定手段では、前記第2の画像データにおける前記被写体の前記予測位置に基づいて、前記第2の画像データを構成する複数の画素からなるブロックを検出するとともに、前記ブロックを構成する画素を、順次、注目画素に設定し、前記予測演算手段では、出力された前記予測係数のうち、前記ブロックにおける前記注目画素の位置に対応する予測係数と、前記予測タップとを用いた前記予測演算により、前記注目画素を予測することができる。
複数回だけ予測された前記注目画素の画素値それぞれを加算する加算手段と、前記加算手段による加算結果を、前記注目画素が予測された回数で除算して正規化する正規化手段とをさらに設けることができる。
前記動きクラス分類手段では、前記予測タップを、前記第1の画像データにおける前記被写体の位置と、前記中心位置とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類する画素以下クラス分類手段と、前記予測タップを、前記被写体の動きボケによるボケ量の増減の程度を表す複数の動きボケクラスのうちのいずれかにクラス分類する動きボケクラス分類手段と、前記予測タップを、前記被写体の移動方向を表す複数の方向クラスのうちのいずれかにクラス分類する方向クラス分類手段と、前記予測タップを、前記被写体の移動量を表す複数の移動量クラスのうちのいずれかにクラス分類する移動量クラス分類手段と、前記予測タップの前記画素以下クラス、前記予測タップの前記動きボケクラス、前記予測タップの前記方向クラス、及び前記予測タップの前記移動量クラスに基づいて、前記予測タップの前記動きクラスを決定する動きクラス決定手段とを含むことができる。
本発明の一側面の画像処理方法は、第1の画像データから、より高品質な第2の画像データを生成する画像処理装置の画像処理方法であって、前記画像処理装置は、取得手段と、生成手段と、検出手段と、設定手段と、予測タップ抽出手段と、動きクラス分類手段と、予測係数出力手段と、予測演算手段とを含み、前記取得手段が、前記第1の画像データ上の被写体の動きを表す動き情報を取得し、前記生成手段が、前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数を生成し、前記検出手段が、前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置を検出し、前記設定手段が、前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかを、生成対象である注目画素に設定し、前記予測タップ抽出手段が、前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップを、前記第1の画像データから抽出し、前記動きクラス分類手段が、前記回帰関数に基づいて、前記予測タップを、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類し、前記予測係数出力手段が、学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数を出力し、前記予測演算手段が、出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素を予測するステップを含む画像処理方法である。
本発明の一側面によれば、前記第1の画像データ上の被写体の動きを表す動き情報が取得され、前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数が生成され、前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置が検出され、前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかが、生成対象である注目画素に設定され、前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップが、前記第1の画像データから抽出され、前記回帰関数に基づいて、前記予測タップが、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類され、学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数が出力され、出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素が予測される。
本発明によれば、入力された動画像から、より高品質な動画像を予測(生成)することができる。
以下、発明を実施するための最良の形態(以下、実施の形態という)について説明する。なお、説明は、以下の順序で行う。
1.第1の実施の形態(画像処理装置:予測タップ毎に1つの画素を予測する例)
2.第2の実施の形態(画像処理装置:予測タップ毎に複数の画素を予測する例)
3.第1及び第2の実施の形態の変形例
1.第1の実施の形態(画像処理装置:予測タップ毎に1つの画素を予測する例)
2.第2の実施の形態(画像処理装置:予測タップ毎に複数の画素を予測する例)
3.第1及び第2の実施の形態の変形例
<1.第1の実施の形態>
[画像処理装置の構成例]
図1は、本発明の第1の実施の形態である画像処理装置1の構成例を示している。
[画像処理装置の構成例]
図1は、本発明の第1の実施の形態である画像処理装置1の構成例を示している。
この画像処理装置1は、例えば、入力される第1の動画像から、新たにフレームを生成して、第1の動画像を、より高いフレームレートの高品質な第2の動画像に変換する画像変換処理を行う。
すなわち、例えば、画像処理装置1は、入力される第1の動画像を構成する、時間的に前後する2つのフレームの間に、新たなフレームを生成することにより、第1の動画像を構成するフレームと、新たに生成されるフレームとが交互に配列された、より高いフレームレートの第2の動画像を生成する画像変換処理を行う。
この画像処理装置1は、動き検出部21、選別部22、関数生成部23、予測位置検出部24、予測タップ抽出部25、クラスタップ抽出部26、波形クラス分類部27、動きクラス分類部28、係数メモリ29、予測演算部30、注目画素設定部30a、予測フレームメモリ31、予測ゲインメモリ32、及び欠落画素生成部33により構成されている。
以下の説明においては、画像処理装置1が、第1の動画像のフレームn-1、フレームn、及びフレームn+1の3フレームを用いて、フレームnとフレームn+1との間に、新たにフレームmを生成することを説明する。
なお、フレームnとは、第1の動画像のn番目のフレームを示しており、フレームmとは、フレームnとフレームn+1との間に新たに生成されるフレームをいう。
動き検出部21は、フレームn-1を構成する複数の画素を、順次、着目画素とし、着目画素を中心とする3×3画素に表示される被写体の動きを表す動き情報として、例えば、フレームn-1の動きベクトル及びフレームnの動きベクトル(後述する)を検出して、選別部22に供給する。
すなわち、例えば、動き検出部21は、フレームn-1上の着目画素の中心位置を始点とし、対応するフレームn上の位置に最も近くに存在する画素の中心位置(最も近くに存在する画素の中心位置が複数存在する場合には、いずれかひとつ)を終点とする動きベクトルを検出する。また、動き検出部21は、着目画素に隣接する8画素についても同様に、動きベクトルを検出する。そして、検出した9個の動きベクトルを、着目画素に対応するフレームn-1の動きベクトルとして、選別部22に供給する。
さらに、動き検出部21は、フレームn上における、フレームn-1の動きベクトルの終点それぞれを始点とし、対応するフレームn+1上の位置に最も近くに存在する画素の中心位置(最も近くに存在する画素の中心位置が複数存在する場合には、いずれかひとつ)を終点とする動きベクトルを検出する。そして、検出した9個の動きベクトルを、着目画素に対応するフレームnの動きベクトルとして、選別部22に供給する。
なお、動きベクトルを検出する検出方法としては、例えば、反復勾配法やブロックマッチング法が用いられる。また、動きベクトルは、半画素等の1画素以下の単位で検出される。
選別部22は、動き検出部21からのフレームn-1の動きベクトルのうち、他の動きベクトルと大きく異なる動きベクトルを除外し、残りの動きベクトルを、被写体の動きによる軌跡を表す回帰関数を生成するための動きベクトルとして選別し、関数生成部23に供給する。また、選別部22は、動き検出部21からのフレームnの動きベクトルについても同様に、選別を行い、その選別の結果得られた動きベクトルを、関数生成部23に供給する。
これにより、他の動きベクトルと大きく異なる動きベクトルが除外されるため、後述する関数生成部23により生成される回帰関数の、被写体の動きによる軌跡を表す精度が悪化することを防止することができる。
なお、説明の便宜のため、第1の実施の形態では、フレームn-1の動きベクトル、及びフレームnの動きベクトルは、すべて、回帰関数を生成するための動きベクトルとして選別されて、関数生成部23に供給されるものとする。
関数生成部23は、選別部22からの、フレームn-1の動きベクトルの始点と終点、及びフレームnの動きベクトルの始点と終点に基づいて、線形回帰を行い、フレームn-1乃至フレームn+1上の被写体の動きを表す回帰関数を生成する。
すなわち、例えば、関数生成部23は、フレームn-1乃至フレームn+1上の被写体のX軸方向の軌跡を表す回帰関数fX(t)を生成する。また、関数生成部23は、フレームn-1乃至フレームn+1上の被写体のY軸方向の軌跡を表す回帰関数fY(t)を生成する。
そして、関数生成部23は、生成した回帰関数fX(t)及びfY(t)を、予測位置検出部24、予測タップ抽出部25、クラスタップ抽出部26、及び動きクラス分類部28に供給する。
予測位置検出部24は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、新たに生成されるフレームmにおける被写体の位置を予測した予測位置を検出し、予測演算部30に供給する。
次に、図2を参照して、予測位置検出部24が、被写体の予測位置を検出する検出方法を説明する。
図2に示すXT座標は、時刻t(第1の動画像を再生したときからの経過時間)を示すT軸と、フレーム内のX軸方向(図8で後述)の位置を示すX軸とで定義される直交座標を示している。
予測位置検出部24は、図2に示すように、関数生成部23からの関数fX(t)に基づいて、新たに生成されるフレームmにおける被写体のX軸方向の予測位置(X座標)41m(x)(第2の動画像において、フレームmが再生されるときの時刻tにおける関数fX(t)の値)を検出する。
同様にして、予測位置検出部24は、関数生成部23からの関数fY(t)に基づいて、被写体のY軸方向の予測位置(Y座標)(第2の動画像において、フレームmが再生されるときの時刻tにおける関数fY(t)の値)を検出する。
予測位置検出部24は、検出したX座標41m(X)、及びY座標を、フレームmにおける被写体の予測位置41m(x,y)(図15)として、予測演算部30に供給する。
予測タップ抽出部25及びクラスタップ抽出部26には、第1の動画像のフレームnが供給される。
予測タップ抽出部25は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、フレームn上の被写体の位置41n(x,y)を検出する。そして、検出したフレームn上の被写体の位置41n(x,y)に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素(例えば、フレームn上の被写体の位置41n(x,y)に最も近い画素と、その画素に空間的に隣接する画素等)を、予測タップとして抽出し、予測演算部30に供給する。
なお、予測タップ抽出部25は、動き検出部21により検出されたフレームn-1の動きベクトルに基づいて、着目画素を始点とするフレームn-1の動きベクトルの終点を、フレームn上の被写体の位置とし、その被写体の位置に基づいて、予測タップを抽出するようにしてもよい。このことは、後述するクラスタップ抽出部26についても同様のことがいえる。
次に、図3及び図4を参照して、予測タップ抽出部25が行う予測タップの抽出方法を説明する。
図3及び図4は、予測タップを構成する複数の画素の一例を示している。
図3及び図4において、3×3の各矩形は1画素を示している。また、画素の大きさは、横×縦が1×1であるとともに、画素の中心位置を表すX座標及びY座標は、それぞれ、整数により表されるものとする。
図3に示すように、フレームn上の被写体の位置41n(x,y)が、フレームnを構成する所定の画素の中心位置と一致する場合、予測タップ抽出部25は、フレームn上の被写体の位置41n(x,y)を中心とする3×3画素を、予測タップとして抽出する。
図4に示すように、フレームn上の被写体の位置41n(x,y)が、フレームnを構成する所定の画素の中心位置41'n(x,y)と一致しない場合、予測タップ抽出部25は、フレームn上の被写体の位置41n(x,y)に最も近い画素の中心位置41'n(x,y)(被写体の位置41n(x,y)のX座標及びY座標それぞれを四捨五入して得られるX座標及びY座標が表す位置)を中心とする3×3画素を、予測タップとして抽出する。
クラスタップ抽出部26は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、フレームn上の被写体の位置41n(x,y)を検出する。そして、検出したフレームn上の被写体の位置41n(x,y)に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素を、クラスタップとして抽出し、波形クラス分類部27に供給する。
なお、予測タップは、新たに生成されるフレームmにおける被写体の予測位置41m(x,y)に対応する、フレームm上の注目画素(の画素値)を予測する予測演算に用いられる。また、クラスタップは、予測タップを、クラスタップを構成する画素の画素値の変化を表す複数の波形クラスのうちのいずれかにクラス分類するために用いられる。
さらに、ここでは、説明を簡単にするために、予測タップとクラスタップは、同一のタップ構造を有する(同一の画素から構成される)ものとする。但し、予測タップとクラスタップとは、異なるタップ構造とすることが可能である。
波形クラス分類部27は、クラスタップ抽出部26からのクラスタップに基づいて、予測タップを、クラスタップを構成する画素の画素値の変化を表す複数の波形クラスのうちのいずれかにクラス分類する波形クラス分類を行う。そして、その波形クラス分類処理により得られる予測タップの波形コードを係数メモリ29に出力する。
すなわち、例えば、波形クラス分類部27は、クラスタップを構成する複数の画素の画素値に対して、ADRC(adaptive dymamic ramge codimg、適応的ダイナミックレンジ符号化)処理を行い、その結果得られるADRCコードを、予測タップの波形クラスを表す波形コードとして、係数メモリ29に出力する。
動きクラス分類部28は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、予測タップを、フレームn-1上の着目画素を中心とする3×3画素のブロックに表示された被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類する動きクラス分類処理を行う。
そして、動きクラス分類部28は、その動きクラス分類処理により得られる予測タップの動きクラスを表す動きコードを、係数メモリ29に出力する。なお、動きクラス分類部28が行う動きクラス分類処理の詳細は、図6乃至図8を参照して後述する。
係数メモリ29は、後述する学習(図11)によってあらかじめ求められている、波形クラス及び動きクラスの複数の組合せ毎の予測係数(のセット)を記憶している。すなわち、係数メモリ29は、波形クラス分類部27で予測タップがクラス分類され得る複数の波形クラスと、動きクラス分類部28で予測タップがクラス分類され得る複数の動きクラスそれぞれとの組合せについて、予測係数を記憶している。
係数メモリ29は、複数の組合せ毎の予測係数のうち、波形クラス分類部27からの波形コードが表す予測タップの波形クラス、及び動きクラス分類部28からの動きコードが表す予測タップの動きクラスの組合せに対応する予測係数を出力する。
なお、係数メモリ29は、第1の動画像を撮像したときの1フレーム分のシャッタ時間に対応して、波形クラス及び動きクラスの複数の組合せ毎の予測係数を記憶している。しかし、説明を簡単にするために、係数メモリ29では、例えばユーザ等により予め入力される、第1の動画像のシャッタ時間に対応する予測係数の中から、予測タップの波形クラス、及び予測タップの動きクラスに対応する予測係数を出力することとしている。
予測演算部30は、注目画素設定部30aを有している。注目画素設定部30aは、予測位置検出部24からの予測位置41m(x,y)に最も近い、第2の画像データ上の画素の中心位置(予測位置41m(x,y)が第2の画像データ上の画素の中心位置である場合には、予測位置41m(x,y))に存在する画素を、注目画素に設定する。
予測演算部30は、予測タップ抽出部25からの予測タップを構成する複数の画素と、係数メモリ29が出力する予測係数とを用いて、注目画素設定部30aにより設定された注目画素を予測するための所定の予測演算(例えば、線形1次演算)を行う。そして、所定の予測演算により得られた注目画素の画素値を、注目画素の中心位置に対応付けて、予測フレームメモリ31に供給して、記憶させる。
また、予測演算部30は、注目画素の中心位置を、予測ゲインメモリ32に供給し、同一の中心位置として決定された決定回数に対応付けて記憶させる。
予測フレームメモリ31は、注目画素の中心位置毎に、対応する注目画素の画素値を対応づけて記憶している。
予測ゲインメモリ32は、予測演算部30からの注目画素の中心位置を、同一の中心位置として決定された決定回数に対応づけて記憶している。
欠落画素生成部33は、予測ゲインメモリ32から、予測演算部30により予測されたフレームmを構成する画素毎に対応付けられている決定回数を読み出し、その回数が0であるか否か、すなわち、フレームmを構成する画素について、予測されなかった画素(欠落画素)が存在するか否かを判定する。
また、欠落画素生成部33は、フレームmを構成する画素毎に対応付けられている決定回数が、すべて0でないと判定した場合、すなわち、欠落画素が存在しないと判定した場合、フレームmを、予測フレームメモリ31から読み出し、そのまま外部に出力する。
さらに、欠落画素生成部33は、フレームmを構成する画素毎に対応付けられている決定回数の少なくとも1つが0であると判定した場合、すなわち、欠落画素が存在すると判定した場合、フレームmを構成する画素について、回数が0である欠落画素の予測を行わせる。
次に、図5を参照して、欠落画素が存在すると判定した場合に、欠落画素生成部33の制御にしたがって行われる、欠落画素を生成する生成方法を説明する。
図5に示す回帰関数fX(t)は、欠落画素の右側に隣接する画素を予測するときに用いられた回帰関数fX(t)を示している。また、回帰関数fX(t)'は、回帰関数fX(t)が欠落画素の中心位置(のX座標)を通るように、回帰関数fX(t)を移動させた後の回帰関数を示している。
欠落画素生成部33は、欠落画素が存在すると判定した場合、関数生成部23を制御し、欠落画素に隣接する画素を生成するときに用いられた回帰関数fX(t)を、欠落画素の中心位置を通る回帰関数fX(t)'に変換させ、予測位置検出部24乃至クラスタップ抽出部26、及び動きクラス分類部28に供給させる。
同様にして、欠落画素生成部33は、関数生成部23を制御し、欠落画素に隣接する画素を生成するときに用いられた回帰関数fY(t)を、欠落画素の中心位置を通る回帰関数fY(t)'に変換させ、予測位置検出部24乃至クラスタップ抽出部26、及び動きクラス分類部28に供給させる。
そして、欠落画素生成部33は、予測位置検出部24乃至予測演算部30に上述した処理を行わせて、欠落画素の画素値を予測させて、欠落画素生成部33に供給させる。
欠落画素生成部33は、欠落画素すべてを予測させると、フレームmを外部に出力する。
[動きクラス分類部28の詳細な構成例]
次に、図6は、動きクラス分類部28の詳細な構成例を示している。
次に、図6は、動きクラス分類部28の詳細な構成例を示している。
この動きクラス分類部28は、画素以下クラス分類部61、動き量クラス分類部(動きボケクラス分類部)62、角度クラス分類部(方向クラス分類部)63、ノルムクラス分類部(移動量クラス分類部)64、及び動きクラス決定部65により構成される。
なお、画素以下クラス分類部61及び動き量クラス分類部62は、それぞれ、X軸方向及びY軸方向について、各種の処理を行うが、X軸方向についての処理と、Y軸方向についての処理とは、X軸とY軸とが異なるだけで同様の処理を行っている。したがって、以下の説明においては、X軸方向についての処理のみを説明し、Y軸方向についての処理は省略する。
画素以下クラス分類部61は、X軸方向について、予測タップを、被写体の位置41n(x,y)と、中心位置41'n(x,y)とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類する。
すなわち、例えば、画素以下クラス分類部61は、関数生成部23からの回帰関数fX(t)により算出される被写体の位置41n(x,y)のX座標を四捨五入した値(中心位置41'n(x,y)のX座標)から、被写体の位置41n(x,y)のX座標を減算する。そして、その減算結果が正である場合には、中心位置41'n(x,y)のX座標が、被写体の位置41n(x,y)のX座標からプラス方向にずれていることを表す第1の画素以下クラスに、予測タップをクラス分類する。
また、減算結果が負である場合には、中心位置41'n(x,y)のX座標が、被写体の位置41n(x,y)のX座標からマイナス方向にずれていることを表す第2の画素以下クラスに、予測タップをクラス分類する。
さらに、減算結果が0である場合には、中心位置41'n(x,y)のX座標から、被写体の位置41n(x,y)のX座標がずれていない(と一致する)ことを表す第3の画素以下クラスに、予測タップをクラス分類する。
画素以下クラス分類部61は、予測タップの画素以下クラスに対応する画素以下コードを、動きクラス決定部65に供給する。
動き量クラス分類部62は、X軸方向について、フレームn上の被写体の位置41n(x,y)のx成分における被写体の動き量(動きによる生じる動きボケ量)と、フレームn+1上の被写体の位置41n+1(x,y)のx成分における被写体の動き量とを算出する。そして、算出した動き量の変化に基づいて、予測タップを、動き量の変化の程度を表す複数の動き量クラスのうちのいずれかにクラス分類する。
次に、図7を参照して、動き量クラス分類部62が行う詳細な処理を説明する。
図7において、シャッタ時間tn-1は、フレームn-1を撮像したときのシャッタ時間を示している。なお、シャッタ時間tn及びtn+1についても同様であるため、その説明は省略する。
また、動き量Mn-1は、シャッタ時間tn-1において、被写体の位置41n-1(x)(被写体の位置41n-1(x,y)のX座標を示す)に存在する被写体が動いたことにより、被写体に生じたX軸方向の動きによる動きボケ量を示している。なお、動き量Mn及びMn+1についても同様であるため、その説明は省略する。
動き量クラス分類部62は、回帰関数fX(t)を用いて、シャッタ時間tnの開始時刻におけるfx(t)と終了時刻におけるfx(t)との差分絶対値を、フレームnにおける動き量Mnとして算出する。
また、動き量クラス分類部62は、回帰関数fX(t)を用いて、シャッタ時間tn+1の開始時刻におけるfx(t)と終了時刻におけるfx(t)との差分絶対値を、フレームn+1における動き量Mn+1として算出する。
そして、動き量クラス分類部62は、フレームnにおける動き量Mnから、フレームn+1における動き量Mn+1を減算し、その結果得られる減算値が正である場合、ボケ量が減少していることを表す第1の動き量クラスに、予測タップをクラス分類する。
また、動き量クラス分類部62は、フレームnにおける動き量Mnから、フレームn+1における動き量Mn+1を減算した減算値が負である場合、ボケ量が増加していることを表す第2の動き量クラスに、予測タップをクラス分類する。
さらに、動き量クラス分類部62は、フレームnにおける動き量Mnから、フレームn+1における動き量Mn+1を減算した減算値が0である場合、ボケ量が等しいことを表す第3の動き量クラスに、予測タップをクラス分類する。
動き量クラス分類部62は、予測タップの動き量クラスに対応する動き量コードを、動きクラス決定部65に供給する。
なお、動き量クラス分類部62は、さらに、フレームn-1における動き量Mn-1から、フレームnにおける動き量Mnを減算し、その結果得られる減算値から、予測タップを、複数の動き量クラスのうちのいずれかにクラス分類するようにしてもよい。この場合、予測タップは、2つの動き量クラスにクラス分類される。
角度クラス分類部63は、予測タップを、フレームn上の被写体の動きの方向(角度で表される)を表す複数の角度クラスのうちのいずれかにクラス分類し、その結果得られる予測タップの角度クラスに対応する角度コードを、動きクラス決定部65に供給する。
ノルムクラス分類部64は、フレームn上の被写体の位置41n(x,y)から、フレームn+1上の被写体の位置41n+1(x,y)に、被写体が移動したときの移動量(ノルムで表される)を表す複数のノルムクラスのうちのいずれかに、予測タップをクラス分類する。そして、その結果得られる予測タップのノルムクラスに対応するノルムコードを、動き決定部65に供給する。
次に、図8を参照して、角度クラス分類部63及びノルムクラス分類部64が行うクラス分類処理を説明する。
図8は、第1の動画像を構成するフレーム内に定義されるXY座標を示している。このXY座標は、フレームの最も左下の位置を原点(0,0)として、互いに直交するX軸とY軸とで定義される直交座標を示している。
また、図8のXY座標には、回帰関数fX(t)及びfY(t)を、XY座標により表現した回帰関数f(x,y)が示されている。
角度クラス分類部63は、フレームn上の被写体の位置41n(x,y)における回帰関数f(x,y)の接線を算出し、算出した接線と、水平(X軸)方向に延びる水平線とからなる角度θ(角度θは、被写体の動きを表す方向と一意に対応)を、被写体の動きを表す方向(図8では、左下方向)に対応する角度として検出する。
そして、0度以上30度未満、30度以上60度未満、…、330度以上360度未満の30度毎に区切られた12の範囲に対応する角度クラスのうち、算出された角度が含まれる範囲に対応する角度クラスに、予測タップをクラス分類し、その結果得られる予測タップの角度クラスに対応する角度コードを、動きクラス決定部65に供給する。
なお、角度クラス分類部63は、フレームn上の被写体の位置41n(x,y)と、フレームn+1上の被写体の位置41n+1(x,y)とを結ぶ線分と、フレームn上の被写体の位置41n(x,y)から水平(X軸)方向に延びる水平線とからなる角度を、被写体の動きを表す方向に対応する角度として検出してもよい。
ノルムクラス分類部64は、フレームn上の被写体の位置41n(x,y)と、フレームn+1上の被写体の位置41n+1(x,y)とを結ぶ線分の長さ(ノルム)(フレームnからフレームn+1における被写体の移動量が大きくなる程に、ノルムも大きくなる)を、被写体が移動したときの移動量を表すものとして算出する。
そして、0以上5未満、5以上10未満、10以上20未満、20以上に設定された範囲それぞれに対応する4つのノルムクラスのうち、算出されたノルムが含まれる範囲に対応するノルムクラスに、予測タップをクラス分類し、その結果得られる予測タップのノルムクラスに対応するノルムコードを、動きクラス決定部65に供給する。
動きクラス決定部65は、画素以下クラス分類部61からの画素以下コードが表す予測タップの画素以下クラス、動き量クラス分類部62からの動き量コードが表す予測タップの動き量クラス、角度クラス分類部63からの角度コードが表す予測タップの角度クラス、及びノルムクラス分類部64からのノルムコードが表す予測タップのノルムクラスの組合せに基づいて、その組合せに対応する予測タップの動きクラスを決定し、その動きクラスを表す動きコードを、係数メモリ29に出力する。
なお、上述した画素以下クラス、動き量クラス、角度クラス、及びノルムクラスそれぞれの総数は、上述したクラス数に限定されない。
[画像処理装置1の動作説明]
次に、図9のフローチャートを参照して、画像処理装置1が行う画像変換処理の詳細を説明する。
次に、図9のフローチャートを参照して、画像処理装置1が行う画像変換処理の詳細を説明する。
ステップS1において、動き検出部21は、フレームn-1を構成する複数の画素を、順次、着目画素とする。
ステップS2において、動き検出部21は、フレームn-1上の着目画素の中心位置を始点とし、対応するフレームn上の位置に最も近くに存在する画素の中心位置(最も近くに存在する画素の中心位置が複数存在する場合には、いずれかひとつ)を終点とする動きベクトルを検出する。また、動き検出部21は、着目画素に隣接する8画素についても同様に、動きベクトルを検出する。そして、検出した9個の動きベクトルを、着目画素に対応するフレームn-1の動きベクトルとして、選別部22に供給する。
ステップS3において、フレームn上における、フレームn-1の動きベクトルの終点それぞれを始点とし、対応するフレームn+1上の位置に最も近くに存在する画素の中心位置(最も近くに存在する画素の中心位置が複数存在する場合には、いずれかひとつ)を終点とする動きベクトルを検出する。そして、検出した9個の動きベクトルを、着目画素に対応するフレームnの動きベクトルとして、選別部22に供給する。
ステップS4において、選別部22は、動き検出部21からのフレームn-1の動きベクトルのうち、他の動きベクトルと大きく異なる動きベクトルを除外し、残りの動きベクトルを、回帰関数を生成するための動きベクトルとして選別し、関数生成部23に供給する。また、選別部22は、動き検出部21からのフレームnの動きベクトルについても同様に、選別を行い、その選別の結果得られた動きベクトルを、関数生成部23に供給する。
なお、上述したように、説明の便宜のため、第1の実施の形態では、フレームn-1の動きベクトル、及びフレームnの動きベクトルは、すべて、回帰関数を生成するための動きベクトルとして選別されて、関数生成部23に供給されるものとする。
ステップS5において、関数生成部23は、選別部22からの、フレームn-1の動きベクトルの始点と終点、及びフレームnの動きベクトルの始点と終点に基づいて、回帰分析を行い、フレームn-1乃至フレームn+1上の被写体の動きによる軌跡を表す回帰関数を生成する。
すなわち、例えば、関数生成部23は、フレームn-1乃至フレームn+1上の被写体のX軸方向の軌跡を表す回帰関数fX(t)を生成する。また、関数生成部23は、フレームn-1乃至フレームn+1上の被写体のY軸方向の軌跡を表す回帰関数fY(t)を生成する。
そして、関数生成部23は、生成した回帰関数fX(t)及びfY(t)を、予測位置検出部24、予測タップ抽出部25、クラスタップ抽出部26、及び動きクラス分類部28に供給する。
ステップS6において、予測位置検出部24は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、新たに生成されるフレームmにおける被写体の予測位置41m(x,y)を検出し、予測演算部30に供給する。
ステップS7において、予測タップ抽出部25は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、フレームn上の被写体の位置41n(x,y)を検出する。そして、検出したフレームn上の被写体の位置41n(x,y)に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素(例えば、フレームn上の被写体の位置41n(x,y)に最も近い画素と、その画素に空間的に隣接する画素等)を、予測タップとして抽出し、予測演算部30に供給する。
ステップS8において、クラスタップ抽出部26は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、フレームn上の被写体の位置41n(x,y)を検出する。そして、検出したフレームn上の被写体の位置41n(x,y)に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素を、クラスタップとして抽出し、波形クラス分類部27に供給する。
ステップS9において、波形クラス分類部27は、クラスタップ抽出部26からのクラスタップに基づいて、予測タップを、クラスタップを構成する画素の画素値の変化を表す複数の波形クラスのうちのいずれかにクラス分類する波形クラス分類を行う。そして、その波形クラス分類処理により得られる予測タップの波形コードを係数メモリ29に出力する。
ステップS10において、動きクラス分類部28は、関数生成部23からの回帰関数fX(t)及びfY(t)に基づいて、予測タップを、フレームn上の着目画素を中心とする3×3画素のブロックに表示された被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類する動きクラス分類処理を行う。なお、動きクラス分類処理の詳細は、図10のフローチャートを参照して後述する。
動きクラス分類部28は、その動きクラス分類処理により得られる予測タップの動きクラスを表す動きコードを、係数メモリ29に出力する。
ステップS11において、係数メモリ29は、複数の組合せ毎の予測係数のうち、波形クラス分類部27からの波形コードが表す予測タップの波形クラス、及び動きクラス分類部28からの動きコードが表す予測タップの動きクラスの組合せに対応する予測係数を、予測演算部30に出力する。
ステップS12において、注目画素設定部30aは、予測位置検出部24からの予測位置41m(x,y)に最も近い、第2の画像データ上の画素の中心位置(予測位置41m(x,y)が第2の画像データ上の画素の中心位置である場合には、予測位置41m(x,y))に存在する画素を、注目画素に設定する。
ステップS13において、予測演算部30は、予測タップ抽出部25からの予測タップを構成する複数の画素と、係数メモリ29が出力する予測係数とを用いて、注目画素設定部30aにより設定された注目画素を予測するための所定の予測演算(例えば、線形1次演算)を行う。そして、所定の予測演算により得られた注目画素の画素値を、注目画素の中心位置に対応付けて、予測フレームメモリ31に供給して、記憶させる。
また、予測演算部30は、注目画素の中心位置を、予測ゲインメモリ32に供給し、同一の中心位置として決定された決定回数に対応付けて記憶させる。
ステップS14において、動き検出部21は、フレームn-1を構成する複数の画素すべてを、着目画素としたか否かを判定する。そして、フレームn-1を構成する複数の画素すべてを、まだ着目画素としていないと判定した場合には、処理はステップS1に戻り、まだ着目画素としていない画素を、新たな着目画素にした後、処理は、ステップS2に進められ、以下同様の処理が繰り返される。
一方、ステップS14において、動き検出部21は、フレームn-1を構成する複数の画素すべてを、着目画素としたと判定した場合、処理は、ステップS15に進められる。
ステップS15において、欠落画素生成部33は、予測ゲインメモリ32から、予測演算部30により予測されたフレームmを構成する画素毎に対応付けられている決定回数を読み出し、その回数が0であるか否か、すなわち、フレームmを構成する画素について、予測されなかった画素(欠落画素)が存在するか否かを判定する。
欠落画素生成部33は、フレームmを構成する画素毎に対応付けられている決定回数が、すべて0でないと判定した場合、すなわち、欠落画素が存在しないと判定した場合、フレームmを、予測フレームメモリ31から読み出し、そのまま外部に出力する。
一方、ステップS15において、欠落画素生成部33は、フレームmを構成する画素毎に対応付けられている決定回数の少なくとも1つが0であると判定した場合、すなわち、欠落画素が存在すると判定した場合、処理はステップS16に進められる。そして、欠落画素生成部33は、フレームmを構成する画素について、回数が0である欠落画素の予測を行わせる。
欠落画素生成部33は、欠落画素すべてを予測させた後、欠落画素が予測されたフレームmを、外部に出力する。
以上のように、欠落画素が存在しないフレームmが、外部に出力された後、予測フレームメモリ31、及び予測ゲインメモリ32がリセットされて、新たなフレームm+1を生成するための図9の画像変換処理が行われる。そして、新たに生成されるフレームすべてを生成した後、図9の画像変換処理は終了される。
[動きクラス分類部28の動作説明]
次に、図10のフローチャートを参照して、図9のステップS10における動きクラス分類処理の詳細を説明する。
次に、図10のフローチャートを参照して、図9のステップS10における動きクラス分類処理の詳細を説明する。
ステップS21において、画素以下クラス分類部61は、X軸方向について、予測タップを、被写体の位置41n(x,y)と、被写体の位置41n(x,y)により決定される所定の画素の中心位置41'n(x,y)とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類する。また、画素以下クラス分類部61は、Y軸方向についても同様に、画素以下クラスによるクラス分類を行う。
そして、画素以下クラス分類部61は、予測タップの画素以下クラスに対応する画素以下コードを、動きクラス決定部65に供給する。
ステップS22において、動き量クラス分類部62は、X軸方向について、フレームn上の被写体の位置41n(x)における被写体の動き量Mnと、フレームn+1上の被写体の位置41n+1(x)における被写体の動き量Mn+1とを算出する。そして、算出した動き量の変化に基づいて、予測タップを、動き量の変化の程度を表す複数の動き量クラスのうちのいずれかにクラス分類する。また、動き量クラス分類部62は、Y軸方向についても同様に、動き量クラスによるクラス分類を行う。
そして、動き量クラス分類部62は、予測タップの動き量クラスに対応する動き量コードを、動きクラス決定部65に供給する。
ステップS23において、角度クラス分類部63は、予測タップを、被写体の動きの方向を表す複数の角度クラスのうちのいずれかにクラス分類し、その結果得られる予測タップの角度クラスに対応する角度コードを、動きクラス決定部65に供給する。
ステップS24において、ノルムクラス分類部64は、フレームn上の被写体の位置41n(x,y)から、フレームn+1上の被写体の位置41n+1(x,y)に、被写体が移動したときの移動量を表す複数のノルムクラスのうちのいずれかに、予測タップをクラス分類する。そして、その結果得られる予測タップのノルムクラスに対応するノルムコードを、動き決定部65に供給する。
ステップS25において、動きクラス決定部65は、画素以下クラス分類部61からの画素以下コードが表す予測タップの画素以下クラス、動き量クラス分類部62からの動き量コードが表す予測タップの動き量クラス、角度クラス分類部63からの角度コードが表す予測タップの角度クラス、及びノルムクラス分類部64からのノルムコードが表す予測タップのノルムクラスの組合せに基づいて、その組合せに対応する予測タップの動きクラスを決定する。
その後、処理は、図9のステップS10にリターンされ、動きクラス決定部65は、予測タップの動きクラスを表す動きコードを、係数メモリ29に出力して、処理はステップS11に進められる。
以上説明したように、図9の画像変換処理では、回帰関数に基づいて、被写体の動きを表す複数の動きクラスのうちのいずれかに、予測タップをクラス分類し、その結果得られた予測タップの動きクラスに対応する予測係数と、予測タップとを用いた予測演算により、注目画素を予測するようにしたので、第1の動画像から、被写体の動きにより生じる動きボケ等を考慮した第2の動画像を生成できる。
[予測係数の学習について]
次に、図1の予測演算部30における予測演算と、係数メモリ29に記憶された予測係数の学習について説明する。
次に、図1の予測演算部30における予測演算と、係数メモリ29に記憶された予測係数の学習について説明する。
いま、図9の画像変換処理として、例えば、高フレームレートの動画像を第2の動画像とするとともに、その第2の動画像を1フレーム間隔で間引く等して、フレームレートを低下させた低フレームレートの動画像を第1の動画像として、第1の動画像を構成するフレーム(低フレーム)から予測タップを抽出し、その予測タップと予測係数を用いて、第2の動画像を構成するフレームのうち、間引かれたフレームの画素値を、所定の予測演算によって求める(予測する)ことを考える。
所定の予測演算として、例えば、線形1次予測演算を採用することとすると、間引かれたフレームに対応する画素(間引き画素)の画素値yは、次の線形1次式によって求められることになる。
但し、式(1)において、xnは、間引き画素yについての予測タップを構成する、n番目の低フレームの画素(低フレーム画素)の画素値を表し、wnは、n番目の低フレーム画素(の画素値)と乗算されるn番目の予測係数を表す。なお、式(1)では、予測タップが、N個の低フレーム画素x1,x2,・・・,xNで構成されるものとしてある。
ここで、間引き画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの間引き画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
いま、式(2)の予測値yk’は、式(1)にしたがって求められるため、式(2)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(3)において、xn,kは、第kサンプルの間引き画素についての予測タップを構成するn番目の低フレーム画素を表す。
式(3)(または式(2))の予測誤差ekを0とする予測係数wnが、間引き画素(の画素値)を予測するのに最適なものとなるが、すべての間引き画素について、そのような予測係数wnを求めることは、一般には困難である。
そこで、予測係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な予測係数wnは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
但し、式(4)において、Kは、間引き画素ykと、その間引き画素ykについての予測タップを構成する低フレーム画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eを予測係数wnで偏微分したものを0とするwnによって与えられる。
一方、上述の式(3)を予測係数wnで偏微分すると、次式が得られる。
式(5)と式(6)から、次式が得られる。
式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
式(8)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることにより、予測係数wnについて解くことができる。
式(8)の正規方程式を、波形クラス及び動きクラスの組合せ毎にたてて解くことにより、最適な予測係数(ここでは、自乗誤差の総和Eを最小にする予測係数)wnを、波形クラス及び動きクラスの組合せ毎に求めることができる。
図1の画像処理装置1では、以上のような波形クラス及び動きクラスの組合せ毎の予測係数を用いて、式(1)の演算を行うことにより、フレームn(並びに、フレームn-1及びフレームn+1)から、新たなフレームmが生成される。
[学習装置81の構成例]
次に、図11は、式(8)の正規方程式を、波形クラス及び動きクラスの組合せ毎にたてて解くことにより予測係数wnを求める学習を行う学習装置81の構成例を示している。
次に、図11は、式(8)の正規方程式を、波形クラス及び動きクラスの組合せ毎にたてて解くことにより予測係数wnを求める学習を行う学習装置81の構成例を示している。
この学習装置81は、動き検出部101、選別部102、関数生成部103、予測位置検出部104、予測タップ抽出部105、クラスタップ抽出部106、波形クラス分類部107、動きクラス分類部108、足し込み部109、注目画素設定部109a、及び予測係数算出部110により構成される。
なお、動き検出部101、予測タップ抽出部105、及びクラスタップ抽出部106には、第2の動画像に相当する動画像(以下、教師動画像という)のフレームレートを低下させた第1の動画像に相当する動画像であって、教師動画像と1フレーム分のシャッタ時間が同一の動画像(以下、生徒動画像という)が供給される。
動き検出部101は、生徒動画像を構成する複数のフレームのうち、n-1番目のフレームを表す生徒フレームn-1を構成する複数の画素を、順次、着目画素とする。そして、動き検出部21と同様にして、着目画素を中心とする3×3画素に表示される被写体の動きを表す動き情報として、例えば、生徒フレームn-1の動きベクトル及び生徒フレームnの動きベクトルを検出して、選別部102に供給する。
選別部102は、選別部22と同様にして、動き検出部101からの生徒フレームn-1の動きベクトルのうち、他の動きベクトルと大きく異なる動きベクトルを除外し、残りの動きベクトルを、回帰関数を生成するための動きベクトルとして選別し、関数生成部103に供給する。また、選別部102は、動き検出部101からの生徒フレームnの動きベクトルについても同様に、選別を行い、その選別の結果得られた動きベクトルを、関数生成部103に供給する。
なお、説明の便宜のため、第1の実施の形態では、生徒フレームn-1の動きベクトル、及び生徒フレームnの動きベクトルは、すべて、回帰関数を生成するための動きベクトルとして選別されて、関数生成部103に供給されるものとする。
関数生成部103は、関数生成部23と同様にして、選別部102からの、生徒フレームn-1の動きベクトルの始点と終点、及び生徒フレームnの動きベクトルの始点と終点に基づいて、回帰分析を行い、生徒フレームn-1乃至生徒フレームn+1上の被写体の動きによる軌跡を表す回帰関数を生成する。
そして、関数生成部103は、生成した回帰関数を、予測位置検出部104、予測タップ抽出部105、クラスタップ抽出部106、及び動きクラス分類部108に供給する。
予測位置検出部104は、予測位置検出部24と同様にして、関数生成部103からの回帰関数に基づいて、後述する足し込み部109による足し込みの対象とされる教師フレームm上の被写体の予測位置を検出し、足し込み部109に供給する。
ここで、教師フレームmとは、生徒フレームnと生徒フレームn+1との間の、間引かれたフレームに対応する、教師動画像を構成するフレームをいう。
予測タップ抽出部105及びクラスタップ抽出部106には、生徒フレームnが供給される。
予測タップ抽出部105は、関数生成部103からの回帰関数に基づいて、生徒フレームn上の被写体の位置に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素を抽出することにより、予測タップ抽出部25と同一のタップ構造の予測タップを得て、足し込み部109に供給する。
クラスタップ抽出部106は、関数生成部103からの回帰関数に基づいて、生徒フレームn上の被写体の位置に最も近い画素の中心位置に対して、空間的または時間的に近い位置にある複数の画素を抽出することにより、クラスタップ抽出部26と同一のタップ構造のクラスタップを得て、波形クラス分類部107に供給する。
波形クラス分類部107は、クラスタップ抽出部106からのクラスタップに基づいて、波形クラス分類部27と同一の波形クラス分類処理を行い、その結果得られた予測タップの波形コードを、足し込み部109に出力する。
動きクラス分類部108は、関数生成部103からの回帰関数に基づいて、動きクラス分類部28と同一の動きクラス分類処理を行い、その結果得られた予測タップの動きクラスを表す動きコードを、足し込み部109に出力する。
足し込み部109には、教師フレームmが供給される。
足し込み部109は、注目画素設定部109aを有している。注目画素設定部109aは、予測位置検出部104からの予測位置に最も近い、教師フレームm上の画素の中心位置(予測位置が教師フレームm上の画素の中心位置である場合には、予測位置)に存在する画素を、注目画素に設定する。
足し込み部109は、教師フレームm上の注目画素(の画素値)ykと、予測タップ抽出部105から供給される注目画素についての予測タップを構成する画素(の画素値)xn,kとを対象とした足し込みを、波形クラス分類部107から供給される予測タップの波形コード、及び動きクラス分類部108から供給される予測タップの動きコードの組合せ毎に行う。
すなわち、足し込み部109は、予測タップの波形コード、及び予測タップの動きコードの組合せ毎に、予測タップ抽出部105から供給される注目画素についての予測タップを構成する画素(以下、適宜、予測タップ画素ともいう)xn,kを用い、式(8)の左辺の行列における予測タップ画素どうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部109は、やはり、予測タップの波形コード、及び予測タップの動きコードの組合せ毎に、予測タップ画素xn,kと教師フレームm上の注目画素(の画素値)ykを用い、式(8)の右辺のベクトルにおける、予測タップ画素xn,k及び注目画素ykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
すなわち、足し込み部109は、前回、注目画素とされた教師フレームmの画素(以下、適宜、教師フレーム画素ともいう)について求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶している。
そして、足し込み部109は、メモリに記憶している行列のコンポーネント(Σxn,kxn',k)に対して、新たに注目画素とされた教師フレーム画素についての予測タップを構成する予測タップ画素xn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1を足し込む(式(8)における左辺の行列内のサメーションで表される加算を行う)とともに、メモリに記憶しているベクトルのコンポーネント(Σxn,kyk)に対して、新たに注目画素とされた教師フレーム画素について、その教師フレーム画素yk+1及び予測タップ画素xn,k+1を用いて計算される、対応するコンポーネントxn,k+1yk+1を足し込む(式(8)における右辺のベクトル内のサメーションで表される加算を行う)。
足し込み部109は、予測位置検出部104からの予測位置により設定される注目画素それぞれに対して、上述の足し込みを行うことにより、波形クラス及び動きクラス(波形コード及び動きコード)の組合せそれぞれについて、式(8)に示した正規方程式をたてると、その正規方程式を、予測係数算出部110に供給する。
予測係数算出部110は、足し込み部109から供給される、波形クラス及び動きクラスの組合せそれぞれについての正規方程式を解くことにより、波形クラス及び動きクラスの組合せそれぞれについて、最適な予測係数(式(4)の自乗誤差の総和Eを最小にする予測係数)wnを求める。
そして、予測係数算出部110は、波形クラス及び動きクラスの組合せそれぞれについて求めた予測係数wnを、図1の係数メモリ29に供給し、学習に用いた生徒動画像のシャッタ時間に対応させて、記憶させる。
なお、予測係数wnを生成する学習装置81において、1フレーム分のシャッタ時間が同一の生徒動画像と教師動画像とを用いたが、シャッタ時間が異なる生徒動画像と教師動画像とを用いて、予測係数を学習するようにしてもよい。
すなわち、例えば、教師動画像のフレームレートを低下させるとともに、1フレーム分のシャッタ時間を長くさせることにより得られる動画像を、新たな生徒動画像として、教師動画像と新たな生徒動画像を用いた学習処理を行うようにしてもよい。
この場合、学習装置81において、教師フレームmと、新たな生徒動画像の生徒フレームnとを用いた学習により、第2の動画像のフレームmを予測するための予測係数が学習される。
また、新たな生徒動画像の生徒フレームnに対応する教師フレーム(教師フレームmよりも1フレーム分だけ過去のフレーム)と、新たな生徒動画像の生徒フレームnとを用いた学習により、第1の動画像のフレームnに対応する、第2の動画像のフレームn'(フレームmよりも1フレーム分だけ過去のフレーム)を予測するための予測係数が学習される。
そして、画像処理装置1において、第2の動画像のフレームmを生成する場合には、第1の動画像のフレームnから抽出した予測タップと、フレームnから抽出したクラスタップに基づいて出力された、フレームmを予測するための予測係数とを用いた積和演算により、フレームmが予測される。
また、第2の動画像のフレームnに対応する、第1の動画像のフレームn'を生成する場合には、フレームnから抽出した予測タップと、フレームnから抽出したクラスタップに基づいて出力された、フレームn'を予測するための予測係数とを用いた積和演算により、フレームn'が予測される。
これにより、画像処理装置1では、入力された第1の動画像を、図12に示すような第2の動画像に変換することが可能となる。
次に、図12は、教師動画像と比較してシャッタ時間が長い新たな生徒動画像と、教師動画像とを用いた学習処理により得られる予測係数により、入力された第1の動画像を変換して得られた第2の動画像を示している。
図12において、シャッタ時間tmは、新たに生成されたフレームmのシャッタ時間を示している。なお、シャッタ時間tm-1についても同様である。
また、シャッタ時間tn'は、第1の動画像のフレームnに対応して生成されるフレームn'のシャッタ時間を示している。
さらに、図12において、点線で示す矩形は、画像処理装置1に入力される第1の動画像を構成するフレームを示している。
図12に示すように、第2の動画像を構成するフレームm-1、フレームn'、フレームm-1等の複数のフレームは、いずれも、第1の動画像を構成するフレームのシャッタ時間が短縮されたものとなる。
ところで、第1の実施の形態では、1個の着目画素に対して、1個の画素のみを予測することとした。したがって、例えば、新たに生成されるフレームmにおいて、着目画素に対応する画素が存在しない場合には、着目画素に対応する画素を予測することができないため、多くの欠落画素を含むフレームmが生成されてしまう。
また、第1の実施の形態において、図13に示すように、フレームn上の被写体の位置41n(x,y)が、フレームn上の所定の画素の中心位置41'n(x,y)に一致しない場合に、フレームn-1上の着目画素に表示される被写体が、フレームn上においては、点線で示す2×2画素にまたがって表示されることが生じる。この場合、被写体がまたがって表示されるフレームn上の2×2画素に対応する、新たなフレームm上の2×2画素を同時に予測した方が、予測精度が向上する。
したがって、1個の着目画素に対して、複数の画素を予測することが望ましい。
次に、図14乃至図18を参照して、1個の着目画素に対して、新たなフレームm上の複数の画素を予測する画像処理装置について説明する。
<2.第2の実施の形態>
[画像処理装置の構成例]
図14は、第2の実施の形態である画像処理装置121の構成例を示している。
[画像処理装置の構成例]
図14は、第2の実施の形態である画像処理装置121の構成例を示している。
なお、図中、図1に示された第1の実施の形態に対応する部分については同一の符号を付しているため、以下、その説明は適宜省略する。
すなわち、第2の実施の形態である画像処理装置121は、第1の構成例(図1)に対して、係数メモリ29、予測演算部30、及び注目画素設定部30aに代えて、係数メモリ141、予測演算部142、及び注目画素設定部142aが設けられているとともに、新たにゲイン正規化部143が設けられたものである。
係数メモリ141は、後述する学習(図18)によってあらかじめ求められている、波形クラス及び動きクラスによる複数の組合せ毎に、注目画素の位置を表す画素位置モード(図15で後述)それぞれに対応する複数の予測係数(のセット)を記憶している。
また、係数メモリ141は、複数の組合せ毎の予測係数のうち、波形クラス分類部27からの波形コードが表す予測タップの波形クラス、及び動きクラス分類部28からの動きコードが表す予測タップの動きクラスの組合せに対応する、画素位置モードそれぞれに対応する予測係数を出力する。
予測演算部142の注目画素設定部142aは、予測位置検出部24からの予測位置41m(x,y)により決定される所定の画素の中心位置41'm(x,y)を中心とする3×3画素のブロックを構成する画素を、順次、注目画素に設定する。
予測演算部142は、係数メモリ141からの予測係数のうち、ブロックにおける注目画素の位置を表す画素位置モードに対応する予測係数と、予測タップ抽出部25からの予測タップを構成する複数の画素との予測演算を行い、注目画素を予測する。その他、予測演算部142は、予測演算部30と同様の処理を行う。
次に、図15を参照して、予測演算部142及び注目画素設定部142aが行う詳細な処理を説明する。
図15に示す3×3の矩形は、予測位置検出部24から予測演算部142に供給される予測位置41m(x,y)により決定される所定の画素の中心位置41'm(x,y)を中心とするフレームm上の3×3画素を示している。
また、3×3の矩形内には、その矩形が示す画素の位置を表す画素位置モードとして、それぞれ、ブロック内の左上の位置を示すモード0、上の位置を示すモード1、右上の位置を示すモード2、左の位置を示すモード3、中央の位置を示すモード4、右の位置を示すモード5、左下の位置を示すモード6、下の位置を示すモード7、及び右下の位置を示すモード8が示されている。
注目画素設定部142aは、予測位置検出部24からの予測位置41m(x,y)に最も近い、第2の画像データ上の画素の中心位置41'm(x,y)(予測位置41m(x,y)が第2の画像データ上の画素の中心位置である場合には、予測位置41m(x,y))を中心とする3×3画素を、順次、注目画素に設定する。
また、予測演算部142は、係数メモリ141から出力された複数の予測係数から、注目画素の画素位置モード(例えば、モード0)に対応する予測係数を取得し、取得した予測係数と、予測タップ抽出部25からの予測タップを構成する複数の画素との予測演算を行い、注目画素を予測する。
これにより、9個の画素位置モードにそれぞれ対応する9個の画素が、新たに生成されるフレームm上の画素として生成される。そして、図16に示すように、注目画素における同一の中心位置で、複数の画素値が予測されることが生じ得る。
次に、図16を参照して、注目画素における同一の中心位置で、複数の画素値が予測される場合を説明する。
図16の実線で示す3×3の矩形は、中心位置151に基づいて、予測演算部142が予測した9画素を示している。また、図16の点線で示す3×3の矩形は、中心位置152に基づいて、予測演算部142が予測した9画素を示している。
例えば、図16に示すように、新たに生成されるフレームm上の4つの画素153乃至156の画素値は、2回だけ予測される。
ゲイン正規化部143は、例えば、フレームm上の4つの画素153乃至156の画素値に対して、画素値のゲインを調整するために、画素値を正規化する。
すなわち、ゲイン正規化部143は、新たに生成されたフレームm上の各画素の中心位置に順次注目し、注目している中心位置に対応する注目画素の画素値すべてを、予測フレームメモリ31から読み出す。そして、読み出した注目画素の画素値すべてを、それぞれ加算し、その加算結果である加算値を取得する。
また、ゲイン正規化部143は、注目している中心位置に対応する決定回数を、予測ゲインメモリ32から読み出し、読み出した決定回数で、取得した加算値を除算し、その除算結果を、注目している中心位置に対応する注目画素の最終的な画素値として、欠落画素生成部33に供給する。
[画像処理装置121の動作説明]
次に、図17のフローチャートを参照して、画像処理装置121が行う画像変換処理の詳細を説明する。
次に、図17のフローチャートを参照して、画像処理装置121が行う画像変換処理の詳細を説明する。
ステップS31乃至ステップS41において、図9のステップS1乃至11と同様の処理が行われる。
ステップS42において、注目画素設定部142aは、予測位置検出部24からの予測位置41m(x,y)に最も近い、第2の画像データ上の画素の中心位置41'm(x,y)(予測位置41m(x,y)が第2の画像データ上の画素の中心位置である場合には、予測位置41m(x,y))を中心とする3×3画素のブロック(図15に示す)を構成する画素を、順次、注目画素に設定する。
ステップS43において、予測演算部142は、係数メモリ141から出力された複数の予測係数から、注目画素の画素位置モード(例えば、モード0)に対応する予測係数を取得し、取得した予測係数と、予測タップ抽出部25からの予測タップを構成する複数の画素との予測演算を行い、注目画素を予測する。
ステップS44において、注目画素設定部142aは、3×3画素のブロックを構成する画素すべてを、注目画素に設定したか否かを判定する。そして、まだブロックを構成する画素すべてを、注目画素に設定していないと判定した場合、処理はステップS42に戻る。ステップS42において、注目画素設定部142aは、ブロックを構成する画素のうち、まだ注目画素とされていない画素を、新たな注目画素に設定して、処理はステップS43に進められ、以下同様の処理が行われる。
一方、ステップS44において、注目画素設定部142aは、3×3画素のブロックを構成する画素すべてを、注目画素に設定したと判定した場合、処理はステップS45に進められる。
ステップS45において、動き検出部21は、図9のステップS14と同様にして、フレームn-1を構成する複数の画素すべてを、着目画素としたか否かを判定する。そして、フレームn-1を構成する複数の画素すべてを、まだ着目画素としていないと判定した場合には、処理はステップS31に戻り、まだ着目画素としていない画素を、新たな着目画素にした後、処理は、ステップS32に進められ、以下同様の処理が行われる。
一方、ステップS45において、動き検出部21は、フレームn-1を構成する複数の画素すべてを、着目画素としたと判定した場合、処理は、ステップS46に進められる。
ステップS46において、ゲイン正規化部143は、新たに生成されたフレームm上の各画素の中心位置に順次注目し、注目している中心位置に対応する注目画素の画素値すべてを、予測フレームメモリ31から読み出す。そして、読み出した注目画素の画素値すべてを、それぞれ加算し、その加算結果である加算値を取得する。
また、ゲイン正規化部143は、注目している中心位置に対応する決定回数を、予測ゲインメモリ32から読み出し、読み出した決定回数で、取得した加算値を除算して正規化し、その除算結果を、注目している中心位置に対応する注目画素の最終的な画素値として、欠落画素生成部33に供給する。
ステップS46の処理の終了後、処理はステップS47に進められ、ステップS47及びステップS48において、ゲイン正規化部143により正規化された後のフレームmに対して、図9のステップS15及びステップS16と同様の処理が行われる。以上で、図17の画像変換処理は終了される。
以上説明したように、図17の画像変換処理では、回帰関数に基づいて、被写体の動きを表す複数の動きクラスのうちのいずれかに、予測タップをクラス分類し、その結果得られた予測タップの動きクラスに対応する予測係数と、予測タップとを用いた予測演算により、注目画素を予測するようにしたので、第1の動画像から、被写体の動きにより生じる動きボケ等を考慮したより高品質な第2の動画像を生成できる。
また、1つの着目画素から、フレームm上の複数の画素を予測することとしたので、1つの着目画素から、1つの画素を予測した図9の画像変換処理と比較して、欠落画素の個数を少なくでき、より高品質な第2の動画像を生成することが可能となる。
[学習装置161の構成例]
次に、図18は、図14の係数メモリ141に予め記憶される予測係数を学習する学習装置161の構成例を示している。
次に、図18は、図14の係数メモリ141に予め記憶される予測係数を学習する学習装置161の構成例を示している。
なお、図中、第1の実施の形態において、図11の学習装置81に対応する部分については同一の符号を付しているため、以下、その説明は適宜省略する。
すなわち、第2の実施の形態において、学習装置161は、図11の学習装置81に対して、注目画素設定部109aに代えて、注目画素設定部181aが設けられたものである。
注目画素設定部181aは、予測位置検出部104からの予測位置に最も近い、教師フレームm上の画素の中心位置(予測位置が教師フレームm上の画素の中心位置である場合には、予測位置)を中心とする3×3画素のブロックを構成する画素を、順次、注目画素に設定する。
<3、第1及び第2の実施の形態の変形例>
[画素以下クラスを省略する変形例]
上述した第1及び第2の実施の形態において、画素以下クラス分類部61は、X軸方向及びY軸方向それぞれについて、予測タップを、被写体の位置41n(x,y)と、所定の画素の中心位置41'n(x,y)とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類することとした。
[画素以下クラスを省略する変形例]
上述した第1及び第2の実施の形態において、画素以下クラス分類部61は、X軸方向及びY軸方向それぞれについて、予測タップを、被写体の位置41n(x,y)と、所定の画素の中心位置41'n(x,y)とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類することとした。
しかしながら、図19に示すように、予測タップを抽出する前に、被写体の位置41n(x,y)と、所定の画素の中心位置41'n(x,y)とを一致させるアフィン変換を行うようにすれば、予測タップの画素以下クラスは、必ず、被写体の位置41n(x,y)と、所定の画素の中心位置41'n(x,y)とが一致するときにクラス分類される第3の画素以下クラスになる。
したがって、予測タップの画素以下クラスは、第3の画素以下クラスのみに限定されるため、画素以下クラスを省略することが可能となる。
なお、被写体の位置41n(x,y)と、所定の画素の中心位置41'n(x,y)とを一致させるアフィン変換では、例えば位相シフトフィルタ等が用いられる。
また、予測タップ抽出部25は、図4に示したように、フレームn上の被写体の位置41n(x,y)が、フレームnを構成する所定の画素の中心位置41'n(x,y)と一致しない場合、被写体の位置41n(x,y)を中心とする3×3画素を補間して、補間後の3×3画素を予測タップとして取得するようにしてもよい。
この場合、被写体の位置41n(x,y)が、3×3画素の予測タップの中心に存在する画素の中心位置41'n(x,y)となり、予測タップの画素以下クラスは、第3の画素以下クラスのみに限定されるため、画素以下クラスを省略することが可能となる。
[角度クラスを省略する変形例]
また、上述した第1及び第2の実施の形態において、角度クラス分類部63は、予測タップを、被写体の動きの方向を表す複数の角度クラスのうちのいずれかにクラス分類することとした。
また、上述した第1及び第2の実施の形態において、角度クラス分類部63は、予測タップを、被写体の動きの方向を表す複数の角度クラスのうちのいずれかにクラス分類することとした。
しかしながら、図20に示すように、被写体の位置41n(x,y)(中心位置41'n(x,y)と一致する被写体の位置)を中心とする3×3画素からなる予測タップを抽出し、抽出した予測タップ(予測タップ上に表示される被写体)を回転させるアフィン変換を行うことにより、フレーム内の被写体の動きの方向を所定の一方向とすれば、予測タップの角度クラスは、必ず、所定の一方向を表す1つの角度クラスのみにクラス分類される。
したがって、予測タップの角度クラスは、1つの角度クラスのみに限定されるため、角度クラスを省略することが可能となる。
なお、アフィン変換を用いて、被写体の位置41n(x,y)と、注目画素の中心位置41'n(x,y)とを一致させるとともに、被写体の動きの方向を所定の一方向とすることにより、画素以下クラス及び角度クラスを省略するようにしてもよい。
[動きクラスの変形例]
第1及び第2の実施の形態では、動きクラス分類部28により分類される動きクラスは、画素以下クラス、動き量クラス、ノルムクラス、及び角度クラスによる組合せにより決定されることとしたが、その組合せは、これに限定されない。
第1及び第2の実施の形態では、動きクラス分類部28により分類される動きクラスは、画素以下クラス、動き量クラス、ノルムクラス、及び角度クラスによる組合せにより決定されることとしたが、その組合せは、これに限定されない。
すなわち、動きクラスは、画素以下クラス、動き量クラス、ノルムクラス、及び角度クラスの少なくとも1つの組合せにより決定されるようにしてもよいし、その他、他のクラスをも考慮した組合せにより決定されるようにしてもよい。
なお、他のクラスとしては、フレームn上における、フレームn-1の動きベクトルの終点の空間的なばらつきを表す空間分散クラスや、前方予測と後方予測との差を表す類似予測クラス等を採用することが可能である。
ここで、予測タップを空間分散クラスにクラス分類する場合には、X軸方向について、フレームn上の、フレームn-1の動きベクトルの終点のX座標が、フレームn-1の動きベクトルの終点(のX座標)の標準偏差に所定の重みを乗算して得られる閾値よりも大きいか否かに基づいて、例えば2つの空間分散クラスのうちのいずれかに、予測タップがクラス分類される。Y軸方向についても同様に行われる。
なお、フレームn上における、フレームn-1の動きベクトルの終点とともに、フレームn+1上における、フレームnの動きベクトルの終点等をも、空間分散クラスによるクラス分類の対象とすることが可能である。
また、予測タップを類似予測クラスにクラス分類する場合には、フレームn上の、フレームn-1の動きベクトルの終点に最も近い画素の中心位置を始点とし、対応するフレームn-1上の位置を終点とする動きベクトルを検出させ、検出させた動きベクトルの大きさと、動き検出部21により検出されたフレームn-1の動きベクトルの大きさとを比較し、その比較結果に基づいて、複数の類似予測クラスのうちのいずれかに、予測タップがクラス分類される。
[その他の変形例]
第1及び第2の実施の形態では、動き検出部21は、入力されるフレームn-1乃至フレームn+1に基づき、動き情報として、動きベクトルを検出することとしたが、例えば、入力されるフレームに動き情報が含まれている場合には、入力されるフレームから動き情報を取得するようにしてもよい。
また、動き検出部21が、フレームn-1乃至フレームn+1の3フレームに基づいて、動き情報として、例えば動きベクトルを検出したが、動きベクトルを生成するために用いるフレームの数は、3フレームに限定されず、例えば、フレームn-2乃至フレームn+2の5フレームに基づいて、フレームn-2、フレームn-1、フレームn、フレームn+1それぞれについての動きベクトルを検出するようにしてもよい。このとき、関数生成部23では、フレームn-2、フレームn-1、フレームn、フレームn+1それぞれについての動きベクトルの始点及び終点に基づいて、回帰関数が生成される。
さらに、第1及び第2の実施の形態では、フレームnから抽出した予測タップ及びクラスタップ等に基づいて、未来方向に存在するフレームmを生成することとしたが、例えば、フレームn+1から抽出した予測タップ及びクラスタップ等に基づいて、過去方向に存在するフレームmを生成するようにしてもよい。
また、予測タップ抽出部25は、例えば3×3画素等の矩形状に配置された複数の画素を予測タップとして抽出したが、これに限定されず、十字の形状、ひし形状等に配置された複数の画素を予測タップとして抽出するようにしてもよい。このことは、クラスタップ抽出部26が抽出するクラスタップについても同様である。
さらに、選別部22が、動きベクトルの選別結果を、予測タップ抽出部25に供給するように構成すれば、予測タップ抽出部25が、選別部22からの選別結果に基づいて、抽出する予測タップの形状を変化させるようにすることが可能である。
すなわち、例えば、予測タップとして抽出しようとしている所定の画素についての動きベクトルが、他の動きベクトルと大きく異なる動きベクトルであるとの選別結果が、選別部22から予測タップ抽出部25に供給された場合、予測タップ抽出部25は、他の動きベクトルと大きく異なる動きベクトル(の始点又は終点)に対応する所定の画素を、予測タップの一部として抽出しない形状のものを、予測タップとして抽出するようにしてもよい。
この場合、予測タップとして用いることが不適切な画素が除外されるように、予測タップが抽出されるため、より高品質な第2の動画像を生成することが可能となる。
なお、抽出される予測タップの形状が変化することに対応して、抽出されるクラスタップの形状、係数メモリ29から予測演算部30に出力される予測係数等も変化する。
また、第2の実施の形態において、予測演算部142が、所定の画素の中心位置を中心とする3×3画素のブロックを構成する画素(の画素値)それぞれを同時に予測し、予測フレームメモリ31に供給して、そのまま記憶させることとしたが、予測した画素値を、所定の画素の中心位置からの距離に応じた所定の値を乗算した上で、予測フレームメモリ31に記憶させるようにしてもよい。
なお、上述した図9及び図17の画像変換処理では、フレームn等に基づいて、新たなフレームmを生成することにより、第1の動画像を、より高いフレームレートの第2の動画像に変換することとしたが、第1及び第2の動画像をどのように定義するかによって、画像処理装置1は、第1の動画像から、より高品質な第2の動画像を生成する様々な画像変換処理を実現することができる。
すなわち、例えば、第1の動画像を低解像度の動画像とするとともに、第2の動画像を、第1の画像データよりも解像度が高い高解像度の動画像とすれば、図9及び図17の画像変換処理は、解像度を向上させて高品質化(高画質化)させる解像度向上処理ということができる。この場合、第1の動画像を構成するフレームnが、より解像度が向上した新たなフレームに変換される。
また、例えば、第1の動画像を低SNR(signal to noise ratio)の動画像とするとともに、第2の動画像を、第1の動画像よりもSNRが高い高SNRの動画像とすれば、図9及び図17の画像変換処理は、ノイズを除去して高品質化させるノイズ除去処理ということができる。この場合、第1の動画像を構成するフレームnが、より高SNRの新たなフレームに変換される。
なお、解像度向上処理、及びノイズ除去処理では、それぞれ、対応する学習により予め求められた予測係数が用いられる。
また、第1及び第2の実施の形態では、第1の動画像を構成するフレームを対象として処理を行うこととしたが、第1の動画像が、複数のフィールドにより構成されている場合には、フィールドを対象として処理を行うことが可能である。
なお、本発明を適用した画像処理装置としては、例えば、テレビジョン受像機やハードディスクレコーダなどに適用することが可能である。
次に、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
[コンピュータの構成例]
図21は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示している。
図21は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示している。
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図21に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に記録されるROM202や、記憶部208を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 画像処理装置, 21 動き検出部, 22 選別部, 23 関数生成部, 24 予測位置検出部, 25 予測タップ抽出部, 26 クラスタップ抽出部, 27 波形クラス分類部, 28 動きクラス分類部, 29 係数メモリ, 30 予測演算部, 30a 注目画素設定部, 31 予測フレームメモリ, 32 予測ゲインメモリ, 33 欠落画素生成部, 61 画素以下クラス分類部, 62 動き量クラス分類部, 63 角度クラス分類部, 64 ノルムクラス分類部, 65 動きクラス決定部, 121 画像処理装置, 141 係数メモリ, 142 予測演算部, 142a 注目画素設定部, 143 ゲイン正規化部
Claims (6)
- 第1の画像データから、より高品質な第2の画像データを生成する画像処理装置において、
前記第1の画像データ上の被写体の動きを表す動き情報を取得する取得手段と、
前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数を生成する生成手段と、
前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置を検出する検出手段と、
前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかを、生成対象である注目画素に設定する設定手段と、
前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップを、前記第1の画像データから抽出する予測タップ抽出手段と、
前記回帰関数に基づいて、前記予測タップを、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類する動きクラス分類手段と、
学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数を出力する予測係数出力手段と、
出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素を予測する予測演算手段と
を含む画像処理装置。 - 前記設定手段は、前記第2の画像データにおける前記被写体の前記予測位置に基づいて、前記第2の画像データを構成する複数の画素からなるブロックを検出するとともに、前記ブロックを構成する画素を、順次、注目画素に設定し、
前記予測演算手段は、出力された前記予測係数のうち、前記ブロックにおける前記注目画素の位置に対応する予測係数と、前記予測タップとを用いた前記予測演算により、前記注目画素を予測する
請求項1に記載の画像処理装置。 - 複数回だけ予測された前記注目画素の画素値それぞれを加算する加算手段と、
前記加算手段による加算結果を、前記注目画素が予測された回数で除算して正規化する正規化手段と
をさらに含む
請求項2に記載の画像処理装置。 - 前記動きクラス分類手段は、
前記予測タップを、前記第1の画像データにおける前記被写体の位置と、前記中心位置とのずれの程度を表す複数の画素以下クラスのうちのいずれかにクラス分類する画素以下クラス分類手段と、
前記予測タップを、前記被写体の動きボケによるボケ量の増減の程度を表す複数の動きボケクラスのうちのいずれかにクラス分類する動きボケクラス分類手段と、
前記予測タップを、前記被写体の移動方向を表す複数の方向クラスのうちのいずれかにクラス分類する方向クラス分類手段と、
前記予測タップを、前記被写体の移動量を表す複数の移動量クラスのうちのいずれかにクラス分類する移動量クラス分類手段と、
前記予測タップの前記画素以下クラス、前記予測タップの前記動きボケクラス、前記予測タップの前記方向クラス、及び前記予測タップの前記移動量クラスに基づいて、前記予測タップの前記動きクラスを決定する動きクラス決定手段と
を含む
請求項1,2、又は3に記載の画像処理装置。 - 第1の画像データから、より高品質な第2の画像データを生成する画像処理装置の画像処理方法において、
前記画像処理装置は、
取得手段と、
生成手段と、
検出手段と、
設定手段と、
予測タップ抽出手段と、
動きクラス分類手段と、
予測係数出力手段と、
予測演算手段と
を含み、
前記取得手段が、前記第1の画像データ上の被写体の動きを表す動き情報を取得し、
前記生成手段が、前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数を生成し、
前記検出手段が、前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置を検出し、
前記設定手段が、前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかを、生成対象である注目画素に設定し、
前記予測タップ抽出手段が、前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップを、前記第1の画像データから抽出し、
前記動きクラス分類手段が、前記回帰関数に基づいて、前記予測タップを、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類し、
前記予測係数出力手段が、学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数を出力し、
前記予測演算手段が、出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素を予測する
ステップを含む画像処理方法。 - 第1の画像データから、より高品質な第2の画像データを生成する画像処理装置のコンピュータを、
前記第1の画像データ上の被写体の動きを表す動き情報を取得する取得手段と、
前記動き情報に基づいて、前記被写体の動きによる軌跡を表す回帰関数を生成する生成手段と、
前記回帰関数に基づいて、前記第2の画像データにおける前記被写体の位置を予測した予測位置を検出する検出手段と、
前記予測位置に基づいて、前記第2の画像データを構成する複数の画素のうちのいずれかを、生成対象である注目画素に設定する設定手段と、
前記第1の画像データにおける前記被写体の位置に最も近い画素の中心位置の周囲に存在する複数の画素からなる予測タップを、前記第1の画像データから抽出する予測タップ抽出手段と、
前記回帰関数に基づいて、前記予測タップを、前記被写体の動きを表す複数の動きクラスのうちのいずれかにクラス分類する動きクラス分類手段と、
学習用の前記第1の画像データを用いた予測演算の結果と、学習用の前記第1の画像データに対応する学習用の前記第2の画像データとの誤差を最小にする学習によりあらかじめ求められて保持されている、前記動きクラスそれぞれに対応する複数の予測係数の中から、前記予測タップの動きクラスに対応する予測係数を出力する予測係数出力手段と、
出力された前記予測係数と、抽出された前記予測タップを構成する複数の画素とを用いた前記予測演算により、前記注目画素を予測する予測演算手段と
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008291227A JP2010118940A (ja) | 2008-11-13 | 2008-11-13 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008291227A JP2010118940A (ja) | 2008-11-13 | 2008-11-13 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010118940A true JP2010118940A (ja) | 2010-05-27 |
Family
ID=42306294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008291227A Withdrawn JP2010118940A (ja) | 2008-11-13 | 2008-11-13 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010118940A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011148957A1 (en) | 2010-05-25 | 2011-12-01 | Ricoh Company, Ltd. | Surface-emitting laser device, surface-emitting laser array, optical scanner, and image forming apparatus |
KR20160145615A (ko) | 2014-04-23 | 2016-12-20 | 아이큐브드 연구소 주식회사 | 화상 출력 장치, 화상 출력 방법 및 기록 매체 |
KR20160146733A (ko) | 2014-04-23 | 2016-12-21 | 아이큐브드 연구소 주식회사 | 화상 출력 장치, 화상 출력 방법 및 기록 매체 |
CN113141475A (zh) * | 2020-01-17 | 2021-07-20 | 思特威(上海)电子科技股份有限公司 | 成像系统及像素合并方法 |
-
2008
- 2008-11-13 JP JP2008291227A patent/JP2010118940A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011148957A1 (en) | 2010-05-25 | 2011-12-01 | Ricoh Company, Ltd. | Surface-emitting laser device, surface-emitting laser array, optical scanner, and image forming apparatus |
KR20160145615A (ko) | 2014-04-23 | 2016-12-20 | 아이큐브드 연구소 주식회사 | 화상 출력 장치, 화상 출력 방법 및 기록 매체 |
KR20160146733A (ko) | 2014-04-23 | 2016-12-21 | 아이큐브드 연구소 주식회사 | 화상 출력 장치, 화상 출력 방법 및 기록 매체 |
US10638087B2 (en) | 2014-04-23 | 2020-04-28 | I-Cubed Research Center Inc. | Image output apparatus, image output method, and storage medium |
CN113141475A (zh) * | 2020-01-17 | 2021-07-20 | 思特威(上海)电子科技股份有限公司 | 成像系统及像素合并方法 |
CN113141475B (zh) * | 2020-01-17 | 2024-02-02 | 思特威(上海)电子科技股份有限公司 | 成像系统及像素合并方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8913822B2 (en) | Learning apparatus and method, image processing apparatus and method, program, and recording medium | |
US8331710B2 (en) | Image processing apparatus and method, learning apparatus and method, and program | |
US8264600B2 (en) | Image processing apparatus for converting a lower resolution image into a higher resolution image using cyclic coefficients | |
US20080013835A1 (en) | Image processing apparatus and method, program recording medium, and program | |
US20130016920A1 (en) | Image processing device, image processing method, program and recording medium | |
JP4915341B2 (ja) | 学習装置および方法、画像処理装置および方法、並びにプログラム | |
JP2004191856A5 (ja) | ||
JP2013162347A (ja) | 画像処理装置、画像処理方法、プログラム、および装置 | |
JP4277446B2 (ja) | 情報信号処理装置、情報信号処理方法、画像信号処理装置およびそれを使用した画像表示装置、それに使用される係数種データ生成装置および生成方法、並びに記録媒体 | |
JP2010118940A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2006067541A (ja) | 映像変換装置及び映像変換方法並びに記録媒体 | |
JP4470898B2 (ja) | 画像処理装置および方法、並びに、プログラム | |
US7672914B2 (en) | Apparatus and method for generating coefficient data, apparatus and method for generating coefficient-seed data, information-signal processing apparatus, program, and medium having recorded the program thereon | |
KR100816593B1 (ko) | 화상 처리 장치, 화상 처리 방법, 및 기록 매체 | |
JP2007251690A (ja) | 画像処理装置および方法、学習装置および方法、並びにプログラム | |
JP6435560B1 (ja) | 画像処理装置、画像処理方法、プログラム及び撮像装置 | |
JP5400655B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 | |
JP4470282B2 (ja) | 画像処理装置および画像処理方法 | |
JP5029869B2 (ja) | 画像処理装置および画像処理方法、学習装置および学習方法、並びにプログラム | |
JP2009253873A (ja) | 画像処理装置及び方法、並びにプログラム | |
JP5050944B2 (ja) | 画像処理装置、画像処理方法、学習装置、学習方法、及びプログラム | |
JP4182574B2 (ja) | 画像情報変換装置および変換方法 | |
JP4232430B2 (ja) | 画像処理装置および方法、記録媒体、並びに、プログラム | |
JP5131534B2 (ja) | 情報処理装置および方法、並びにプログラム | |
JP2009284207A (ja) | 画像処理装置および方法、プログラム、並びに学習装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120207 |