(57)【特許請求の範囲】
【請求項１】
入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出手段と、
前記動き検出手段により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択手段と、
選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出手段と、
前記動き検出手段により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択手段と、
予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出手段により算出されたクラスに対応する予測係数と、前記予測タップ選択手段により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行手段と
備え、
前記クラスタップ選択手段は、総数が一定の前記クラスタップを選択し、
前記予測タップ選択手段は、総数が一定の前記予測タップを選択する
画像処理装置。
【請求項２】
入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出ステップと、
前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択ステップと、
選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出ステップと、
前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択ステップと、
予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出ステップの処理により算出されたクラスに対応する予測係数と、前記予測タップ選択ステップの処理により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行ステップと
含み、
前記クラスタップ選択ステップの処理においては、総数が一定の前記クラスタップが選択され、
前記予測タップ選択ステップの処理においては、総数が一定の前記予測タップが選択される
画像処理方法。
【請求項３】
入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出ステップと、
前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択ステップと、
選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出ステップと、
前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択ステップと、
予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出ステップの処理により算出されたクラスに対応する予測係数と、前記予測タップ選択ステップの処理により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行ステップと
含み、
前記クラスタップ選択ステップの処理においては、総数が一定の前記クラスタップが選択され、
前記予測タップ選択ステップの処理においては、総数が一定の前記予測タップが選択される
処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、データを予測し、または予測に使用するデータを算出する画像処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来より、図１（Ａ）に示すフレームから成る動画像を基に、その動画像のフレームの間に位置するフレームを算出して、図１（Ｂ）に示すフレームから成る動画像を生成する方法について、種々の方法が提案されている。そのうちの１つに、クラス分類適応処理を用いる方法がある。
【０００３】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【０００４】
ここで、クラス分類処理および適応処理について簡単に説明する。
【０００５】
まず、クラス分類処理について説明する。
【０００６】
図２（Ａ）に示すように、ある注目画素と、それに隣接する３つの画素により、２×２画素でなるブロック（クラス分類用ブロック）を構成し、また、各画素は、１ビットで表現される（０または１のうちのいずれかのレベルをとる）ものとする。この場合、注目画素を含む２×２の４画素のブロックは、各画素のレベル分布により、図２（Ｂ）に示すように、１６（＝（２1）4）パターンに分類することができる。従って、いまの場合、注目画素は、１６のパターンに分類することができる。
【０００７】
ここで、通常、各画素には、８ビット程度が割り当てられる。クラス分類用のブロックが、３×３の９画素で構成されると、（２8）9という膨大な数のクラスに分類されることになる。
【０００８】
クラス分類用のブロックを構成する画素のビット数を小さくすることで、クラス数は削減される。
【０００９】
次に、適応処理について説明する。
【００１０】
例えば、いま、元の画像（補間された画像に相当する（以下、適宜、教師データと称する））のフレームの画素値ｙの予測値Ｅ［ｙ］を、そのフレームが間引かれた画像の画素値（以下、適宜、学習データと称する）ｘ1，ｘ2，・・・と、所定の予測係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【００１１】
Ｅ［ｙ］＝ｗ1ｘ1＋ｗ2ｘ2＋・・・
・・・（１）
【００１２】
そこで、一般化するために、予測係数ｗの集合でなる行列Ｗ、学習データの集合でなる行列Ｘ、および予測値Ｅ［ｙ］の集合でなる行列Ｙ’を、
【数１】
0004415229.tif 000002
で定義すると、次のような観測方程式が成立する。
【００１３】
ＸＷ＝Ｙ’
・・・（２）
【００１４】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、元の画像の画素値ｙの集合でなる行列Ｙ、および元の画像の画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004415229.tif 000003
で定義すると、式（２）から、次のような残差方程式が成立する。
【００１５】
ＸＷ＝Ｙ＋Ｅ
・・・（３）
【００１６】
この場合、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるための予測係数ｗiは、自乗誤差
【数３】
0004415229.tif 000004
を最小にすることで求めることができる。
【００１７】
従って、上述の自乗誤差を予測係数ｗiで微分したものが０になる場合、即ち、次式を満たす予測係数ｗiが、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００１８】
【数４】
0004415229.tif 000005
・・・（４）
【００１９】
そこで、まず、式（３）を、予測係数ｗiで微分することにより、次式が成立する。
【００２０】
【数５】
0004415229.tif 000006
・・・（５）
【００２１】
式（４）および（５）より、式（６）が得られる。
【００２２】
【数６】
0004415229.tif 000007
・・・（６）
【００２３】
さらに、式（３）の残差方程式における学習データｘ、予測係数ｗ、教師データｙ、および残差ｅの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【００２４】
【数７】
0004415229.tif 000008
・・・（７）
【００２５】
式（７）の正規方程式は、求めるべき予測係数ｗの数と同じ数だけたてることができ、従って、式（７）を解くことで、最適な予測係数ｗを求めることができる。なお、式（７）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを適用することが可能である。
【００２６】
以上のようにして、クラスごとに最適な予測係数ｗを求め、さらに、その予測係数ｗを用い、式（１）により、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【００２７】
【発明が解決しようとする課題】
しかしながら、動きの大きい画像からフレームを予測する場合、クラス分類用ブロックに含まれる画素（以下、クラスタップとも称する）の数、または適応処理を適用するブロックに含まれる画素（以下、予測タップとも称する）の数を増やさなければ、予測されるフレームの誤差を少なくすることができず、このため、処理に必要な回路の規模が増加するか、または処理に時間がかかるという問題があった。
【００２８】
本発明はこのような状況に鑑みてなされたものであり、動きの大きい画像を、より小さな規模の回路で、迅速に、精度良く、予測できるようにすることを目的とする。
【００２９】
【課題を解決するための手段】
本発明の画像処理装置は、入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出手段と、前記動き検出手段により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択手段と、選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出手段と、前記動き検出手段により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択手段と、予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出手段により算出されたクラスに対応する予測係数と、前記予測タップ選択手段により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行手段と備え、前記クラスタップ選択手段は、総数が一定の前記クラスタップを選択し、前記予測タップ選択手段は、総数が一定の前記予測タップを選択する。
【００３４】
本発明の画像処理方法は、入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出ステップと、前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択ステップと、選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出ステップと、前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択ステップと、予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出ステップの処理により算出されたクラスに対応する予測係数と、前記予測タップ選択ステップの処理により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行ステップと含み、前記クラスタップ選択ステップの処理においては、総数が一定の前記クラスタップが選択され、前記予測タップ選択ステップの処理においては、総数が一定の前記予測タップが選択される。
【００３５】
本発明の記録媒体は、入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさを検出する動き検出ステップと、前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップを選択するクラスタップ選択ステップと、選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスを算出するクラス算出ステップと、前記動き検出ステップの処理により検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップを選択する予測タップ選択ステップと、予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、前記クラス算出ステップの処理により算出されたクラスに対応する予測係数と、前記予測タップ選択ステップの処理により選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値を予測する予測実行ステップと含み、前記クラスタップ選択ステップの処理においては、総数が一定の前記クラスタップが選択され、前記予測タップ選択ステップの処理においては、総数が一定の前記予測タップが選択される処理をコンピュータに実行させるプログラムが記録されている記録媒体である。
【００４７】
本発明においては、入力された画像中の２つのフレームから、その２つのフレームを基に生成され、時間的に当該２つのフレームの中間に位置する新たなフレームと、当該２つのフレームのうちの１のフレームとの間の動きの方向、および動きの大きさが検出され、検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素であるクラスタップが選択される。また、選択された前記クラスタップである複数の画素の画素値のパターンに応じて、クラスが算出され、検出された動きの方向に沿って前記動きの大きさと同じ間隔で抽出された前記画像中の複数の画素である予測タップが選択される。さらに、予め、前記新たなフレームに相当する教師画像データを時間方向に間引くことにより生成された学習画像データから選択された前記クラスタップに応じて算出されたクラス毎に、当該学習画像データから選択された前記予測タップとの線形一次結合により当該教師画像データの各画素を予測するための予測係数が学習され、記憶されており、算出されたクラスに対応する予測係数と、選択された前記予測タップである複数の画素の画素値との線形一次結合により、前記新たなフレーム内の画素の画素値が予測される。前記クラスタップの選択においては、総数が一定の前記クラスタップが選択され、前記予測タップの選択においては、総数が一定の前記予測タップが選択される。
【００５１】
【発明の実施の形態】
図３は、フレームを補間する、本発明に係る画像処理装置の一実施の形態の構成を示す図である。動きベクトル検出部１１、クラスタップ領域切り出し部１２、予測タップ領域切り出し部１３、および予測演算部１７には、画像処理装置に入力された画像データが供給される。
【００５２】
動きベクトル検出部１１は、例えば、入力された画像データの２つのフレームを基に、動きベクトルを生成して、生成した動きベクトルをクラスタップ領域切り出し部１２および予測タップ領域切り出し部１３に供給する。
【００５３】
クラスタップ領域切り出し部１２は、動きベクトル検出部１１から供給された動きベクトルを基に、画像データからクラスタップとしての画素を切り出して、切り出したクラスタップをＡＤＲＣ（Adaptive Dynamic Range Coding）処理部１４に供給する。
【００５４】
予測タップ領域切り出し部１３は、動きベクトル検出部１１から供給された動きベクトルを基に、画像データから予測タップとしての画素を切り出して、切り出した予測タップを予測演算部１７に供給する。
【００５５】
ここで、クラスタップ領域切り出し部１２または予測タップ領域切り出し部１３によるタップの切り出しについて説明する。
【００５６】
タップの切り出しの処理を説明するために、まず、移動する物体を、その物体の移動速度に比較してゆっくりとした速度でパンさせて撮像した画像における画素の動きを図４に示すグラフを参照して説明する。
【００５７】
フレームが間引きされる前の元の画像における、背景に対応する画素は、ゆっくりとした速度でパンされて撮像されているので、図４の○で示すように、フレーム毎の画素の位置の差が少ない。
【００５８】
フレームが間引きされると、図４の△で示すように、背景に対応する画素は、フレームが間引きされる前の元の画像の場合に比較して、フレーム毎の画素の位置の差が増える。
【００５９】
フレームが間引きされる前の元の画像における、移動する物体に対応する画素は、図４の□で示すように、背景の画素に比較して、フレーム毎の画素の位置の差が大きい。
【００６０】
移動する物体の速度が大きくなると、フレーム毎の画素の位置の差は、より大きくなる。
【００６１】
フレームが間引きされると、図４の×で示すように、移動する物体に対応する画素のフレーム毎の位置の差は、更に大きくなる。
【００６２】
図５および図６は、移動する物体に対応する画素の位置と、予測タップの位置の対応を説明する図である。移動する物体に対応する画素を予測しようとする場合、予測タップの間隔が狭いとき、図５に示すように、間引きされた画像において、移動する物体に対応する画素は、予測タップとして利用されない。このような場合、補間されるフレームにおける画素が、移動する物体に対応する画素であるにもかかわらず、移動する物体に対応する画素以外の画素を利用して予測が行われることになるので、予測は、適切に行われない。
【００６３】
これに対して、予測タップの間隔を広くすることにより、図６に示すように、間引きされた画像において、移動する物体に対応する画素を、予測タップとして利用することができる。すなわち、移動する物体に対応する画素を利用して予測が行われることになるので、予測は、適切に行われる。
【００６４】
このように、移動する物体に対応する画像の動きに対応させて、予測タップの間隔を広くすれば、移動する物体に対応する画素を、予測タップとして利用することができるようになり、画像処理装置は、精度の高い予測をすることができるようになる。
【００６５】
予測タップ領域切り出し部１３は、例えば、図７に示すように、予め定められたａである基準タップ間隔を記憶している。予測タップ領域切り出し部１３は、動きベクトル検出部１１から動きベクトルが供給されたとき、動きベクトルから、例えば、水平方向の動き量αおよび垂直方向の動き量βを抽出する。
【００６６】
予測タップ領域切り出し部１３は、水平方向の動き量αが予め記憶している閾値より大きいか否かを判定し、水平方向の動き量αが予め記憶している閾値より大きいと判定された場合、基準タップ間隔ａと水平方向の動き量αとを乗じて、水平方向の予測タップのタップ間隔を求める。
【００６７】
予測タップ領域切り出し部１３は、垂直方向の動き量βが予め記憶している閾値より大きいか否かを判定し、垂直方向の動き量βが予め記憶している閾値より大きいと判定された場合、基準タップ間隔ａと垂直方向の動き量βとを乗じて、垂直方向の予測タップのタップ間隔を求める。
【００６８】
例えば、図８に示すように、基準タップ間隔が１であり、垂直方向の動き量βが２であり、水平方向の動き量αが３であり、予め記憶している閾値が１である場合、予測タップ領域切り出し部１３は、垂直方向の予測タップのタップ間隔を２とし（垂直方向の予測タップの間に１つ画素が存在する）、水平方向の予測タップのタップ間隔を３とする（水平方向の予測タップの間に２つ画素が存在する）。
【００６９】
このように、水平方向の動き量αおよび垂直方向の動き量βが共に閾値より大きい場合、予測タップ領域切り出し部１３は、基準タップ間隔ａと水平方向の動き量αとを乗じて得られた間隔を、水平方向の予測タップのタップ間隔とし、基準タップ間隔ａと垂直方向の動き量βとを乗じて得られた間隔を、垂直方向の予測タップのタップ間隔とする。
【００７０】
これに対して、垂直方向の動き量βが予め記憶している閾値以下であると判定された場合、予測タップ領域切り出し部１３は、基準タップ間隔ａを、垂直方向の予測タップのタップ間隔とする。
【００７１】
すなわち、垂直方向の動き量βが予め記憶している閾値以下であり、水平方向の動き量αが閾値より大きい場合、予測タップ領域切り出し部１３は、基準タップ間隔ａと水平方向の動き量αとを乗じて得られた間隔を、水平方向の予測タップのタップ間隔とし、基準タップ間隔ａを、垂直方向の予測タップのタップ間隔とする。
【００７２】
例えば、図９に示すように、基準タップ間隔が１であり、垂直方向の動き量βが０であり、水平方向の動き量αが２であり、予め記憶している閾値が１である場合、予測タップ領域切り出し部１３は、垂直方向の予測タップのタップ間隔を１とし（垂直方向の予測タップが隣接する）、水平方向の予測タップのタップ間隔を２とする（水平方向の予測タップの間に１つ画素が存在する）。
【００７３】
また、水平方向の動き量αが予め記憶している閾値以下であると判定された場合、予測タップ領域切り出し部１３は、基準タップ間隔ａを、水平方向の予測タップのタップ間隔とする。
【００７４】
すなわち、水平方向の動き量αが予め記憶している閾値以下であり、垂直方向の動き量βが閾値より大きい場合、図１０に示すように、予測タップ領域切り出し部１３は、基準タップ間隔ａを、水平方向の予測タップのタップ間隔とし、基準タップ間隔ａと垂直方向の動き量βとを乗じて得られた間隔を、垂直方向の予測タップのタップ間隔とする。
【００７５】
例えば、図１０に示すように、基準タップ間隔が１であり、垂直方向の動き量βが２であり、水平方向の動き量αが０であり、予め記憶している閾値が１である場合、予測タップ領域切り出し部１３は、垂直方向の予測タップのタップ間隔を２とし、水平方向の予測タップのタップ間隔を１とする（水平方向の予測タップが隣接する）。
【００７６】
このようにすることで、予測タップ領域切り出し部１３は、画像に移動する物体の画素が含まれていても、適切な画素を予測タップとすることができ、その結果、画像処理装置は、補間するフレームとして精度の高い画像を予測することができる。
【００７７】
予測タップ領域切り出し部１３が、例えば、予め記憶している数値に対応させて、その総数が一定である画素を予測タップとするようにしても良い。
【００７８】
なお、動きベクトル検出部１１が、動きベクトルの方向を示すデータを出力し、予測タップ領域切り出し部１３が、動きベクトルの方向を示すデータを基に、予測タップを選択するようにしてもよい。また、例えば、予測タップ領域切り出し部１３が、水平方向の動き量αが１以上であるか否か、または垂直方向の動き量βが１以上であるか否かなどを基に、適切な画素を予測タップとするようにしてもよい。
【００７９】
なお、動きベクトル検出部１１が、動きベクトルの大きさを示すデータを出力し、予測タップ領域切り出し部１３が、動きベクトルの大きさを示すデータを基に、予測タップを選択するようにしてもよい。また、例えば、予測タップ領域切り出し部１３が、動きベクトルの大きさを基に、適切な画素を予測タップとするようにしてもよい。
【００８０】
クラスタップ領域切り出し部１２も、以上で説明した予測タップ領域切り出し部１３と同様の処理で、動きベクトルに対応して、クラスタップの間隔を変更するので、その説明は省略する。
【００８１】
クラスタップ領域切り出し部１２が、例えば、予め記憶している数値に対応させて、その総数が一定である画素をクラスタップとするようにしても良い。
【００８２】
なお、動きベクトル検出部１１が、動きベクトルの方向を示すデータを出力し、クラスタップ領域切り出し部１２が、動きベクトルの方向を示すデータを基に、クラスタップを選択するようにしてもよい。また、例えば、クラスタップ領域切り出し部１２が、水平方向の動き量αが１以上であるか否か、または垂直方向の動き量βが１以上であるか否かなどを基に、適切な画素をクラスタップとするようにしてもよい。
【００８３】
なお、動きベクトル検出部１１が、動きベクトルの大きさを示すデータを出力し、クラスタップ領域切り出し部１２が、動きベクトルの大きさを示すデータを基に、クラスタップを選択するようにしてもよい。また、例えば、クラスタップ領域切り出し部１２が、動きベクトルの大きさを基に、適切な画素をクラスタップとするようにしてもよい。
【００８４】
図３に戻り、ＡＤＲＣ処理部１４は、クラスタップ領域切り出し部１２から供給されるクラスタップに対して、ＡＤＲＣ処理が施し、これにより、クラスタップのビット数を小さくすることで、クラス数を削減する。
【００８５】
即ち、例えば、いま、説明を簡単にするため、図１１（Ａ）に示すように、直線上に並んだ４画素で構成されるクラスタップを考えると、ＡＤＲＣ処理においては、その画素値の最大値ＭＡＸと最小値ＭＩＮが検出される。そして、ＤＲ＝ＭＡＸ−ＭＩＮを、クラスタップの局所的なダイナミックレンジとし、このダイナミックレンジＤＲに基づいて、クラスタップを構成する画素の画素値がＫビットに再量子化される。
【００８６】
即ち、クラスタップ内の各画素値から、最小値ＭＩＮを減算し、その減算値をＤＲ／２Kで除算する。そして、その結果得られる除算値に対応するコード（ＡＤＲＣコード）に変換される。具体的には、例えば、Ｋ＝２とした場合、図１１（Ｂ）に示すように、除算値が、ダイナミックレンジＤＲを４（＝２2）等分して得られるいずれの範囲に属するかが判定され、除算値が、最も下のレベルの範囲、下から２番目のレベルの範囲、下から３番目のレベルの範囲、または最も上のレベルの範囲に属する場合には、それぞれ、例えば、００Ｂ，０１Ｂ，１０Ｂ、または１１Ｂなどの２ビットにコード化される（Ｂは２進数であることを表す）。
【００８７】
ここで、このようなＡＤＲＣ処理はノンエッジマッチングと呼ばれる。
【００８８】
なお、ＡＤＲＣ処理については、本件出願人が先に出願した、例えば、特開平３−５３７７８号公報などに、その詳細が開示されている。
【００８９】
クラスタップを構成する画素に割り当てられているビット数より少ないビット数で再量子化を行うＡＤＲＣ処理を施すことにより、上述したように、クラス数を削減することができ、このようなＡＤＲＣ処理が、ＡＤＲＣ処理部１４において行われる。
【００９０】
ＡＤＲＣ処理部１４は、クラスタップにＡＤＲＣ処理を適応して生成した、ダイナミックレンジＤＲ、およびＡＤＲＣコードをクラスコード発生部１５に供給する。
【００９１】
クラスコード発生部１５は、ＡＤＲＣ処理部１４から供給されたダイナミックレンジＤＲ、およびＡＤＲＣコードを基に、最終的なクラスコードを生成し、クラスコードを予測係数ＲＯＭ１６に供給する。
【００９２】
予測係数ＲＯＭ１６は、予め、クラスコードに対応させて予測係数を記憶している。予測係数ＲＯＭ１６は、クラスコード発生部１５からクラスコードが供給されたとき、供給されたクラスコードが示すクラスに対応する予測係数を予測演算部１７に供給する。
【００９３】
予測演算部１７は、予測タップ領域切り出し部１３から供給された予測タップと、予測係数ＲＯＭ１６から供給された予測係数との線形１次結合により、補間するフレームである予測値を算出する。予測演算部１７は、画像処理装置に入力された画像データのフレームに、算出した補間するフレームを加えて、フレーム補間された画像データとして出力する。
【００９４】
このように、本発明に係る画像処理装置は、入力された画像の動きを基に、クラスタップまたは予測タップの間隔を適切に変更するので、タップの数を増やすことなく、精度の高いフレームが補間された画像データを出力することができる。
【００９５】
次に、画像処理装置における、補間するフレームの予測の処理を図１２のフローチャートを参照して、説明する。
【００９６】
ステップＳ１１において、動きベクトル検出部１１は、入力された画像データから動きベクトルを検出して、動きベクトルをクラスタップ領域切り出し部１２および予測タップ領域切り出し部１３に供給する。ステップＳ１２において、クラスタップ領域切り出し部１２は、動きベクトル検出部１１から供給された動きベクトルを基に、クラスタップの間隔を決定する。予測タップ領域切り出し部１３は、動きベクトル検出部１１から供給された動きベクトルを基に、予測タップの間隔を決定する。
【００９７】
ステップＳ１３において、クラスタップ領域切り出し部１２は、決定された間隔を基にクラスタップを選択して、選択したクラスタップをＡＤＲＣ処理部１４に出力する。ステップＳ１４において、ＡＤＲＣ処理部１４は、クラスタップ領域切り出し部１２から供給されたクラスタップにＡＤＲＣ処理を適用して、ダイナミックレンジＤＲおよびＡＤＲＣコードを生成して、生成したダイナミックレンジＤＲおよびＡＤＲＣコードをクラスコード発生部１５に供給する。クラスコード発生部１５は、ダイナミックレンジＤＲおよびＡＤＲＣコードを基に、クラスコードを生成して、クラスコードを予測係数ＲＯＭ１６に主力する。
【００９８】
ステップＳ１５において、予測係数ＲＯＭ１６は、クラスコード発生部１５から供給されたクラスコードが示すクラスに対応する予測係数を選択して、選択した予測係数を予測演算部１７に出力する。
【００９９】
ステップＳ１６において、予測タップ領域切り出し部１３は、ステップＳ１２の処理で決定された間隔を基に予測タップを選択して、選択した予測タップを予測演算部１７に出力する。
【０１００】
ステップＳ１７において、予測演算部１７は、予測タップ領域切り出し部１３から供給された予測タップと、予測係数ＲＯＭ１６から供給された予測係数との線形１次結合により、補間するフレームである予測値を算出する。予測演算部１７は、画像処理装置に入力された画像データのフレームに、算出した補間するフレームを加えて、フレーム補間された画像データとして出力し、手続きは、ステップＳ１１に戻り、予測の処理を繰り返す。
【０１０１】
このように、クラスタップ領域切り出し部１２は、動きベクトルに対応して、クラスタップの間隔を設定し、予測タップ領域切り出し部１３は、動きベクトルに対応して予測タップの間隔を設定するので、画像処理装置は、迅速に、より精度の高いフレームを予測することができる。
【０１０２】
次に、図１３は、図３の予測係数ＲＯＭ１６に記憶されている予測係数を得るための学習を行う画像処理装置の構成例を示す。
【０１０３】
フレーム間引きフィルタ５１および正規方程式処理部５７には、あらゆる画像に適用可能な予測係数を得るための画像データ（教師データに対応する）が提供される。
【０１０４】
フレーム間引きフィルタ５１は、供給される教師データに含まれるフレームを一枚おきに間引いて、フレームが間引かれた画像データ（学習データに対応する）を動きベクトル検出部５２、クラスタップ領域切り出し部５３、および予測タップ領域切り出し部５４に供給する。
【０１０５】
動きベクトル検出部５２は、学習データを基に、動きベクトルを生成して、生成した動きベクトルをクラスタップ領域切り出し部５３および予測タップ領域切り出し部５４に供給する。
【０１０６】
クラスタップ領域切り出し部５３は、動きベクトル検出部５２から供給された動きベクトルを基に、学習データからクラスタップとしての画素を切り出して、切り出したクラスタップをＡＤＲＣ処理部１４に供給する。クラスタップ領域切り出し部５３は、クラスタップ領域切り出し部１２と同様に、動きベクトルに対応して、クラスタップの間隔を変更する。
【０１０７】
ＡＤＲＣ処理部５５は、クラスタップ領域切り出し部５３から供給されたクラスタップにＡＤＲＣ処理を適用して、ダイナミックレンジＤＲとＡＤＲＣコードを生成して、生成したダイナミックレンジＤＲとＡＤＲＣコードをクラスコード発生部５６に供給する。
【０１０８】
クラスコード発生部５６は、ＡＤＲＣ処理部５５から供給されたダイナミックレンジＤＲ、およびＡＤＲＣコードを基に、最終的なクラスコードを生成し、クラスコードを正規方程式処理部５７に供給する。
【０１０９】
予測タップ領域切り出し部５４は、動きベクトル検出部５２から供給された動きベクトルを基に、学習データから予測タップとしての画素を切り出して、切り出した予測タップを正規方程式処理部５７に供給する。予測タップ領域切り出し部５４は、予測タップ領域切り出し部１３と同様に、動きベクトルに対応して、予測タップの間隔を変更する。
【０１１０】
正規方程式処理部５７は、予測タップ領域切り出し部５４から供給された予測タップ、および教師データを受信すると、それらを用いて、最小自乗法により、誤差を最小する予測係数を算出する。
【０１１１】
即ち、例えば、いま、学習データに含まれる予測タップの画素値を、ｘ1，ｘ2，ｘ3，・・・とし、求めるべき予測係数をｗ1，ｗ2，ｗ3，・・・とするとき、これらの線形１次結合により、教師データの、ある画素の画素値ｙを求めるには、予測係数ｗ1，ｗ2，ｗ3，・・・は、次式を満たす必要がある。
【０１１２】
ｙ＝ｗ1ｘ1＋ｗ2ｘ2＋ｗ3ｘ3＋・・・
【０１１３】
そこで、正規方程式処理部５７では、同一クラスの予測タップと、対応する教師データの画素とから、真値ｙに対する、予測値ｗ1ｘ1＋ｗ2ｘ2＋ｗ3ｘ3＋・・・の自乗誤差を最小とする予測係数ｗ1，ｗ2，ｗ3，・・・が、上述した式（７）に示す正規方程式をたてて解くことにより求められる。従って、この処理をクラスごとに行うことにより、各クラスごとに、予測係数が生成される。
【０１１４】
正規方程式処理部５７において求められた、クラスごとの予測係数は、クラスコードと共に、メモリ５８に供給される。これにより、メモリ５８においては、正規方程式処理部５７からの予測係数が、クラスコードが示すクラスに対応するアドレスに記憶される。
【０１１５】
以上のようにして、メモリ５８には、各クラスに対応するアドレスに、そのクラスの画素を予測するのに最適な予測係数が記憶される。
【０１１６】
図３の予測係数ＲＯＭ１６には、以上のようにしてメモリ５８に記憶されたクラスごとの予測係数が記憶されている。
【０１１７】
次に、図１３に示す画像処理装置の予測係数の記憶の処理について、図１４のフローチャートを参照して説明する。ステップＳ３１において、フレーム間引きフィルタ５１は、入力された画像データから、フレームを間引いて、フレームを間引いた画像データを動きベクトル検出部５２、クラスタップ領域切り出し部５３、および予測タップ領域切り出し部５４に供給する。
【０１１８】
ステップＳ３２において、動きベクトル検出部５２は、フレーム間引きフィルタ５１から供給された画像データの動きベクトルを検出する。ステップＳ３３において、クラスタップ領域切り出し部５３は、動きベクトル検出部５２から供給された動きベクトルを基に、クラスタップの間隔を決定する。予測タップ領域切り出し部５４は、動きベクトル検出部５２から供給された動きベクトルを基に、予測タップの間隔を決定する。
【０１１９】
ステップＳ３４において、クラスタップ領域切り出し部５３は、決定された間隔を基にクラスタップを選択して、選択したクラスタップをＡＤＲＣ処理部５５に出力する。ステップＳ３５において、ＡＤＲＣ処理部５５は、クラスタップ領域切り出し部５３から供給されたクラスタップにＡＤＲＣ処理を適用して、ダイナミックレンジＤＲおよびＡＤＲＣコードを生成して、生成したダイナミックレンジＤＲおよびＡＤＲＣコードをクラスコード発生部５６に供給する。クラスコード発生部５６は、ダイナミックレンジＤＲおよびＡＤＲＣコードを基に、クラスコードを生成して、クラスコードを正規方程式処理部５７に主力する。
【０１２０】
ステップＳ３６において、予測タップ領域切り出し部５４は、決定された間隔を基に予測タップを選択して、選択した予測タップを正規方程式処理部５７に出力する。
【０１２１】
ステップＳ３７において、正規方程式処理部５７は、予測タップと教師データとを基に、クラスコードに対応するクラスの予測係数を算出して、予測係数をクラスコードと共にメモリ５８に供給する。
【０１２２】
ステップＳ３８において、メモリ５８は、正規方程式処理部５７から供給された予測係数を、クラスコードが示すクラスに対応するアドレスに記憶し、手続きは、ステップＳ３１に戻り、以上の処理を繰り返す。
【０１２３】
このように、図１３に示す情報処理装置は、動きベクトルに対応した間隔を有する予測タップおよびクラスタップを選択するクラス分類適応処理に使用する予測係数をクラス毎に生成して、記憶することができる。
【０１２４】
なお、本実施の形態では、クラスコード発生部１５またはクラスコード発生部５６において、ＡＤＲＣ処理部１４またはＡＤＲＣ処理部５５から出力されるダイナミックレンジＤＲおよびＡＤＲＣコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、ＤＰＣＭ（予測符号化）や、ＢＴＣ（Block Truncation Coding）、ＶＱ（ベクトル量子化）、ＤＣＴ（離散コサイン変換）、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【０１２５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１２６】
図１５は、予測の処理または予測係数の記憶の処理を実行するパーソナルコンピュータの構成例を説明する図である。ＣＰＵ（Central Processing Unit）１０１は、各種アプリケーションプログラムや、ＯＳ（Operating System)を実際に実行する。ＲＯＭ（Read-only Memory）１０２は、一般的には、ＣＰＵ１０１が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。ＲＡＭ（Random-Access Memory）１０３は、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはＣＰＵバスなどから構成されるホストバス１０４により相互に接続されている。
【０１２７】
ホストバス１０４は、ブリッジ１０５を介して、ＰＣＩ(Peripheral Component Interconnect/Interface)バスなどの外部バス１０６に接続されている。
【０１２８】
キーボード１０８は、ＣＰＵ１０１に各種の指令を入力するとき、使用者により操作される。ポインティングデバイス１０９は、ディスプレイ１１０の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ１１０は、液晶表示装置またはＣＲＴ（Cathode Ray Tube）などから成り、各種情報をテキストやイメージで表示する。ＨＤＤ（Hard Disk Drive）１１１は、ハードディスクを駆動し、それらにＣＰＵ１０１によって実行するプログラムや情報を記録または再生させる。
【０１２９】
ドライブ１１２は、装着されている磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、または半導体メモリ１２４に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース１０７、外部バス１０６、ブリッジ１０５、およびホストバス１０４を介して接続されているＲＡＭ１０３に供給する。これらのキーボード１０８乃至ドライブ１１２は、インターフェース１０７に接続されており、インターフェース１０７は、外部バス１０６、ブリッジ１０５、およびホストバス１０４を介してＣＰＵ１０１に接続されている。
【０１３０】
通信ボード１１３は、例えば、ネットワーク等が接続され、ＣＰＵ１０１、またはＨＤＤ１１１から供給された画像データを、所定の方式のパケットに格納して、ネットワークを介して、送信するとともに、ネットワークを介して、受信したパケットに格納されている画像データをＣＰＵ１０１、ＲＡＭ１０３、またはＨＤＤ１１１に出力する。
【０１３１】
通信ボード１１３は、外部バス１０６、ブリッジ１０５、およびホストバス１０４を介してＣＰＵ１０１に接続されている。
【０１３２】
上述した一連の処理を実行させるプログラムが記録されている記録媒体は、図１５に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１２１（フロッピディスクを含む）、光ディスク１２２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク１２３（ＭＤ(Mini-Disc)を含む）、若しくは半導体メモリ１２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ１０２や、ＨＤＤ１１１に内蔵されるハードディスクなどで構成される。
【０１３３】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３４】
【発明の効果】
本発明によれば、動きの大きい画像を、より小さな規模の回路で、迅速に、精度良く、予測できるようになる。
【図面の簡単な説明】
【図１】フレームを補間する処理を説明する図である。
【図２】クラス分類処理について説明する図である。
【図３】本発明に係る画像処理装置の一実施の形態の構成を示す図である。
【図４】画素の動きを説明する図である。
【図５】移動する物体に対応する画素の位置と、予測タップの位置の対応を説明する図である。
【図６】移動する物体に対応する画素の位置と、予測タップの位置の対応を説明する図である。
【図７】基準タップ間隔を説明する図である。
【図８】動きに対応する予測タップの間隔を説明する図である。
【図９】動きに対応する予測タップの間隔を説明する図である。
【図１０】動きに対応する予測タップの間隔を説明する図である。
【図１１】ＡＤＲＣ処理を説明する図である。
【図１２】補間するフレームの予測の処理を説明するフローチャートである。
【図１３】予測係数を得るための学習を行う画像処理装置の構成例を示す図である。
【図１４】予測係数の記憶の処理を説明するフローチャートである。
【図１５】予測の処理または予測係数の記憶の処理を実行するパーソナルコンピュータの構成例を説明する図である。
【符号の説明】
１１  動きベクトル検出部，  １２  クラスタップ領域切り出し部，  １３  予測タップ領域切り出し部，  １４  ＡＤＲＣ処理部，  １５  クラスコード発生部，  １６  予測係数ＲＯＭ，  １７  予測演算部，  ５１  フレーム間引きフィルタ，  ５２  動きベクトル検出部，  ５３  クラスタップ領域切り出し部，  ５４  予測タップ領域切り出し部，  ５５  ＡＤＲＣ処理部，  ５６  クラスコード発生部，  ５７  正規方程式処理部，  ５８  メモリ，  １０１  ＣＰＵ，  １０２  ＲＯＭ，  １０３  ＲＡＭ，  １１１  ＨＤＤ，  １２１  磁気ディスク，  １２２  光ディスク，  １２３  光磁気ディスク，  １２４  半導体メモリ
【図１】
0004415229.tif 000009
【図２】
0004415229.tif 000010
【図３】
0004415229.tif 000011
【図４】
0004415229.tif 000012
【図５】
0004415229.tif 000013
【図６】
0004415229.tif 000014
【図７】
0004415229.tif 000015
【図８】
0004415229.tif 000016
【図９】
0004415229.tif 000017
【図１０】
0004415229.tif 000018
【図１１】
0004415229.tif 000019
【図１２】
0004415229.tif 000020
【図１３】
0004415229.tif 000021
【図１４】
0004415229.tif 000022
【図１５】
0004415229.tif 000023