(57)【特許請求の範囲】
【請求項１】
第１のデータを第２のデータから線形予測するときに、前記第２のデータと乗算される予測係数を学習する学習装置であって、
前記予測係数の学習のための教師となる前記第１のデータである教師データから、生徒となる前記第２のデータである生徒データを生成する生徒データ生成手段と、
所定の教師データを線形予測するのに用いる前記生徒データのうちの任意の２つの乗算値を演算する乗算手段と、
前記乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶手段と、
前記記憶手段に記憶された前記乗算値を積算することにより、前記予測係数を求めるための正規方程式を生成する正規方程式生成手段と、
前記正規方程式を解くことにより、前記予測係数を求める予測係数算出手段と
を含む学習装置。
【請求項２】
注目している注目教師データの位置に対応する位置の周辺にある前記生徒データを抽出する抽出手段と、
前記抽出手段によって抽出された前記生徒データに基づいて、前記注目教師データを、複数のクラスのうちのいずれかに分類し、そのクラスに対応するクラスコードを出力するクラス分類手段と
をさらに含み、
前記正規方程式生成手段は、前記クラスごとに、前記正規方程式を生成し、
前記予測係数算出手段は、前記クラスごとの予測係数を求める
請求項１に記載の学習装置。
【請求項３】
前記記憶手段は、前記正規方程式生成手段が２回以上積算する前記乗算値のみを記憶する
請求項１に記載の学習装置。
【請求項４】
前記第１および第２のデータは、画像データである
請求項１に記載の学習装置。
【請求項５】
前記第２のデータは、前記第１のデータよりもＳ／Ｎ(Signal to Noise Ratio)の劣化した画像データである
請求項４に記載の学習装置。
【請求項６】
前記第２のデータは、前記第１のデータよりも画素数の少ない画像データである
請求項４に記載の学習装置。
【請求項７】
第１のデータを第２のデータから線形予測するときに、前記第２データと乗算される予測係数を学習する学習装置の学習方法であって、
前記学習装置が、
前記予測係数の学習のための教師となる前記第１のデータである教師データから、生徒となる前記第２のデータである生徒データを生成する生徒データ生成ステップと、
所定の教師データを線形予測するのに用いる前記生徒データのうちの任意の２つの乗算値を演算する乗算ステップと、
前記乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶ステップと、
前記記憶ステップで記憶された前記乗算値を積算することにより、前記予測係数を求めるための正規方程式を生成する正規方程式生成ステップと、
前記正規方程式を解くことにより、前記予測係数を求める予測係数算出ステップと
を含む学習方法。
【請求項８】
第１のデータを第２のデータから線形予測するときに、前記第２データと乗算される予測係数を学習する学習処理を、コンピュータに実行させるためのプログラムが記録された記録媒体であって、
前記予測係数の学習のための教師となる前記第１のデータである教師データから、生徒となる前記第２のデータである生徒データを生成する生徒データ生成ステップと、
所定の教師データを線形予測するのに用いる前記生徒データのうちの任意の２つの乗算値を演算する乗算ステップと、
前記乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶ステップと、
前記記憶ステップで記憶された前記乗算値を積算することにより、前記予測係数を求めるための正規方程式を生成する正規方程式生成ステップと、
前記正規方程式を解くことにより、前記予測係数を求める予測係数算出ステップと
を含む前記学習処理を、コンピュータに実行させるためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、学習装置および学習方法、並びに記録媒体に関し、特に、例えば、標準解像度や低解像度の画像であるＳＤ(Standard Density)画像から、高解像度の画像であるＨＤ(High Density)画像を線形予測するときに用いる予測係数を、高速に求めることができるようにする学習装置および学習方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
本件出願人は、例えば、画像の解像度の向上その他の画像の改善を行うための処理として、クラス分類適応処理を、先に提案している。
【０００３】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【０００４】
即ち、適応処理では、例えば、ＳＤ画像を構成する画素（以下、適宜、ＳＤ画素という）と、所定の予測係数との線形結合により、そのＳＤ画像の解像度を向上させたＨＤ画像の画素の予測値を求めることで、そのＳＤ画像の解像度を向上させた画像が得られる。
【０００５】
具体的には、例えば、いま、あるＨＤ画像を教師データとするとともに、そのＨＤ画像の画素数を少なくして解像度を劣化させたＳＤ画像を生徒データとして、ＨＤ画像を構成する画素（以下、適宜、ＨＤ画素という）の画素値ｙの予測値Ｅ［ｙ］を、幾つかのＳＤ画素（ＳＤ画像を構成する画素）の画素値ｘ1，ｘ2，・・・の集合と、所定の予測係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【０００６】
Ｅ［ｙ］＝ｗ1ｘ1＋ｗ2ｘ2＋・・・
・・・（１）
【０００７】
式（１）を一般化するために、予測係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004395677.tif 000002
で定義すると、次のような観測方程式が成立する。
【０００８】
ＸＷ＝Ｙ’
・・・（２）
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算される予測係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（１）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（１）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【０００９】
そして、この観測方程式に最小自乗法を適用して、ＨＤ画素の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなるＨＤ画素の真の画素値ｙの集合でなる行列Ｙ、およびＨＤ画素の画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004395677.tif 000003
で定義すると、式（２）から、次のような残差方程式が成立する。
【００１０】
ＸＷ＝Ｙ＋Ｅ
・・・（３）
【００１１】
この場合、ＨＤ画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるための予測係数ｗjは、自乗誤差
【数３】
0004395677.tif 000004
を最小にすることで求めることができる。
【００１２】
従って、上述の自乗誤差を予測係数ｗjで微分したものが０になる場合、即ち、次式を満たす予測係数ｗjが、ＨＤ画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００１３】
【数４】
0004395677.tif 000005
・・・（４）
【００１４】
そこで、まず、式（３）を、予測係数ｗjで微分することにより、次式が成立する。
【００１５】
【数５】
0004395677.tif 000006
・・・（５）
【００１６】
式（４）および（５）より、式（６）が得られる。
【００１７】
【数６】
0004395677.tif 000007
・・・（６）
【００１８】
さらに、式（３）の残差方程式における生徒データｘij、予測係数ｗj、教師データｙi、および残差ｅiの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【００１９】
【数７】
0004395677.tif 000008
・・・（７）
【００２０】
式（７）の正規方程式を構成する各式は、生徒データｘijおよび教師データｙiのセットを、ある程度の数だけ用意することで、求めるべき予測係数ｗjの数Ｊと同じ数だけたてることができ、従って、式（７）を解くことで（但し、式（７）を解くには、式（７）において、予測係数ｗjにかかる係数で構成される行列が正則である必要がある）、最適な予測係数ｗjを求めることができる。なお、式（７）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを用いることが可能である。
【００２１】
以上のようにして、最適な予測係数ｗjを求めておき、さらに、その予測係数ｗjを用い、式（１）により、ＨＤ画素の画素値ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【００２２】
なお、適応処理は、ＳＤ画像には含まれていないが、ＨＤ画像に含まれる成分が再現される点で、例えば、単なる補間処理とは異なる。即ち、適応処理では、式（１）だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数ｗが、教師データｙを用いての、いわば学習により求められるため、ＨＤ画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造（解像度想像）作用がある処理ということができる。
【００２３】
また、ここでは、適応処理について、解像度を向上させる場合を例にして説明したが、適応処理は、その他、例えば、画像からノイズやぼけを除去した画像の予測値を求めること等に用いることができ、この場合、ノイズの除去や、ぼけの改善等を行うことが可能である。
【００２４】
図１は、上述した予測係数を、クラスごとに求める学習を行う、従来の学習装置の一例の構成を示している。
【００２５】
学習装置には、教師データとしてのＨＤ画像が、フレーム単位で供給されるようになっており、そのＨＤ画像は、フレームメモリ１において順次記憶されていく。なお、フレームメモリ１は、複数フレームのＨＤ画像を、バンク切換等によって記憶することができるようになっており、これにより、そこに入力されるＨＤ画像が動画であっても、その処理をリアルタイムで行うことができるようになっている。
【００２６】
フレームメモリ１に記憶された教師データとしてのＨＤ画像は、垂直間引きフィルタ２または水平間引きフィルタ３それぞれにおいて、垂直方向または水平方向の画素数が間引かれ、ＳＤ画像とされる。即ち、垂直間引きフィルタ２では、ＨＤ画像の垂直方向の画素数が、例えば１／２に間引かれ、水平間引きフィルタ３に出力される。水平間引きフィルタ３では、垂直間引きフィルタ２の出力の水平方向の画素数が、例えば１／２に間引かれ、これにより、ＨＤ画像は、図２に示すように、水平および垂直のいずれの方向の画素数も１／２となったＳＤ画像とされる。このＳＤ画像は、フレームメモリ１と同様に構成されるフレームメモリ４に供給されて記憶される。
【００２７】
フレームメモリ４にＳＤ画像が記憶されると、クラスタップ構成回路５は、クラス分類適応処理により、予測値を求めようとする所定のＨＤ画素を、注目画素とし、さらに、その注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いるＳＤ画素を、フレームメモリ４に記憶されたＳＤ画像から抽出する。即ち、クラスタップ構成回路５は、注目画素の位置に対応するＳＤ画像の位置から空間的または時間的に近い位置にある幾つかのＳＤ画素を、フレームメモリ４から読み出し、クラス分類に用いるタップ（以下、適宜、クラスタップという）として、クラス分類回路６に供給する。
【００２８】
クラス分類回路６は、クラスタップ構成回路５からのクラスタップに基づいて、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを、正規方程式加算回路７に供給する。即ち、クラス分類回路６には、クラスタップ構成回路５からのクラスタップを、例えば、１ビットADRC(Adaptive Dynamic Range Coding)処理し、その結果得られるADRCコードを、クラスコードとして、正規方程式加算回路７に出力する。
【００２９】
ここで、KビットADRC処理においては、例えば、クラスタップを構成するＳＤ画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成するＳＤ画素がKビットに再量子化される。即ち、クラスタップを構成する画素の画素値の中から、最小値MINが減算され、その減算値がDR/2Kで除算（量子化）される。従って、クラスタップが、１ビットADRC処理された場合には、そのクラスタップを構成する各ＳＤ画素の画素値は１ビットとされることになる。そして、この場合、以上のようにして得られる、クラスタップを構成する各画素についての１ビットの画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
【００３０】
なお、クラスタップが、Ｎ個のＳＤ画素で構成され、そのクラスタップのＫビットＡＤＲＣ処理結果がクラスコードとされる場合には、注目画素は、（２N）Kクラスの内のいずれかにクラス分類されることになる。
【００３１】
正規方程式加算回路７は、クラス分類回路６から注目画素のクラスコードを受信すると、注目画素を線形予測するのに、予測係数と乗算する幾つかのＳＤ画素を、予測タップとして、フレームメモリ４から読み出す。即ち、正規方程式加算回路７は、注目画素の位置に対応するＳＤ画像の位置から空間的または時間的に近い位置にある幾つかのＳＤ画素を、予測タップとして、フレームメモリ４から読み出す。
【００３２】
ここで、予測タップは、クラスタップと同一のＳＤ画素で構成することもできるし、異なるＳＤ画素で構成することもできる。
【００３３】
さらに、正規方程式加算回路７は、フレームメモリ１から、注目画素となっているＨＤ画素を読み出し、予測タップ（生徒データ）、注目画素（教師データ）を対象とした足し込みを行う。
【００３４】
即ち、正規方程式加算回路７は、クラス分類回路６から供給されるクラスコードに対応するクラスごとに、予測タップ（ＳＤ画素）を用い、式（７）の正規方程式の左辺における、予測係数の乗数となっている、ＳＤ画素（生徒データ）どうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行う。
【００３５】
さらに、正規方程式加算回路７は、やはり、クラス分類回路６から供給されるクラスコードに対応するクラスごとに、予測タップ（ＳＤ画素）および注目画素（ＨＤ画素）を用い、式（７）の正規方程式の右辺における、ＳＤ画素（生徒データ）とＨＤ画素（教師データ）の乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【００３６】
正規方程式加算回路７では、以上の処理が、フレームメモリ１に記憶されたＨＤ画素すべてを、注目画素として行われ、これにより、クラスごとに、式（７）に示した正規方程式がたてられる。
【００３７】
そして、その後、予測係数決定回路８は、正規方程式加算回路７においてクラスごとに生成された正規方程式を解くことにより、クラスごとの予測係数を求め、メモリ９の、各クラスに対応するアドレスに供給して記憶させる。
【００３８】
なお、以上のような予測係数の学習処理において、予測係数を求めるのに必要な数の正規方程式が得られないクラスが生じる場合があり得るが、そのようなクラスについては、例えば、デフォルトの予測係数を出力するようにすること等が可能である。
【００３９】
次に、図３は、図１の正規方程式加算回路７の構成例を示している。
【００４０】
正規方程式加算回路７は、読み出し回路１１と、ＨＤ画素をクラス分類するのにあらかじめ設定されたクラス数Ｈに等しい数の正規方程式構成部１２1乃至１２Hとから構成されている。
【００４１】
そして、読み出し回路１１には、クラス分類回路６が出力するクラスコードが供給されるようになっており、読み出し回路１１は、注目画素のクラスコードを受信すると、その注目画素であるＨＤ画素を、フレームメモリ１から読み出すとともに、その注目画素についての予測タップとなるＳＤ画素を、フレームメモリ４から読み出し、注目画素のクラスコードｈに対応する正規方程式構成部１２hに供給する（ｈ＝１，２，・・・，Ｈ）。
【００４２】
正規方程式構成部１２hは、予測タップであるＳＤ画素を用い、式（７）の正規方程式の左辺における、予測係数の乗数となっている、ＳＤ画素（生徒データ）どうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行うとともに、予測タップであるＳＤ画素および注目画素（ＨＤ画素）を用い、式（７）の正規方程式の右辺における、ＳＤ画素（生徒データ）とＨＤ画素（教師データ）の乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【００４３】
正規方程式構成部１２hでは、クラス＃ｈに分類されるＨＤ画素すべてについて、上述のような乗算と足し込み（サメーション（Σ）に相当する演算）が行われ、これにより、クラス＃ｈについての式（７）に示した正規方程式がたてられる。
【００４４】
そして、この正規方程式は、予測係数決定回路８に供給され、上述したように、予測係数が求められる。
【００４５】
次に、図２に示したように、教師データとしてのＨＤ画像から、生徒データとしてのＳＤ画像が生成される場合に、ある注目画素ｙiについて、図４に示すように、その位置から空間的に近い順に４つのＳＤ画素が予測タップを構成するものとして選択されるとする。なお、この場合、横×縦が２×２画素の予測タップが構成されるが、このような予測タップを構成するＳＤ画素を、左から右、そして上から下へ数えていって、ｊ番目のものを、ｘijと表すと、予測タップの左上、右上、左下、右下のＳＤ画素は、それぞれ、ｘi1，ｘi2，ｘi3，ｘi4と表されることになる。
【００４６】
以上のような予測タップが構成される場合、図３の正規方程式構成部１２hは、例えば、図５に示すように構成される。
【００４７】
即ち、式（７）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004395677.tif 000009
で定義するとともに、ベクトルＷを、数１で示したように定義すると、式
ＡＷ＝ｖ
・・・（８）
で表すことができる。
【００４８】
このため、正規方程式構成部１２hは、式（８）における左辺の行列Ａの各成分を求めるための要素からなる左辺メモリ２１と、式（８）における右辺のベクトルｖの各成分を求めるための要素からなる右辺メモリ２２とから構成される。
【００４９】
左辺メモリ２１および右辺メモリ２２を構成する要素は、ＳＤ画素やＨＤ画素を対象とした乗算を行う乗算器、乗算器が出力する乗算値を足し込む（積算する）加算器、加算器が出力する積算値を記録するレジスタから構成される。
【００５０】
そして、予測タップを構成するＳＤ画素の数をＪとすれば、左辺メモリ２１は、Ｊ（Ｊ＋１）／２個の要素を有しており、右辺メモリ２２は、ベクトルｖの次元に等しいＪ個の要素を有している。即ち、図４に示したように、予測タップが４個のＳＤ画素で構成される場合は、左辺メモリ２１は、１０個の要素で構成され、右辺メモリ２２は、４個の要素で構成される。
【００５１】
ここで、行列Ａは、Ｊ×Ｊ行列であるから、左辺メモリ２１は、単純には、Ｊ×Ｊ個の要素で構成されることとなる。しかしながら、行列Ａは、数８に示したように、対称行列であり、下三角の成分と、上三角の成分とは、対角成分を挟んで対称になっている。従って、下三角または上三角の成分のうちのいずれか一方と、対角成分を求めれば、行列Ａのすべての成分を求めたことになるから、左辺メモリ２１の要素の数は、Ｊ（Ｊ＋１）／２個で済むことになる。図５では、左辺メモリ２１は、行列Ａの上三角の成分と、対角成分を求めるための１０個の要素で構成されている。
【００５２】
左辺メモリ２１においては、行列Ａの第ｎ行第ｍ列の成分に相当する演算を行う要素に対して、予測タップとしてのＳＤ画素ｘinとｘimの２つが、フレームメモリ４（図１）から読み出されて供給されるようになっており、その要素では、そこに供給されるｘinとｘimが乗算され、その乗算値（ｘinｘim）が、そこに既に記憶されている記憶値と積算されて記憶される。なお、図５において、左辺メモリ２１の要素を表す長方形の中に示したｎ×ｍは、ＳＤ画素ｘinとｘimの乗算が行われることを示している。
【００５３】
また、右辺メモリ２２においては、ベクトルｖの第ｎ行の成分に相当する要素に対して、予測タップとしてのＳＤ画素ｘinと、注目画素であるＨＤ画素ｙiが、フレームメモリ４と１からそれぞれ読み出されて供給されるようになっており、その要素では、そこに供給されるｘinとｙiが乗算され、その乗算値（ｘinｙi）が、そこに既に記憶されている記憶値と積算されて記憶される。
【００５４】
そして、すべての教師データとしてのＨＤ画素を注目画素として、上述の処理が行われることで、クラス＃ｈについての正規方程式を規定する行列Ａおよびｖが求められる。その後、左辺メモリ２１の各要素の記憶値を成分とする行列Ａ、および右辺メモリ２２の各要素の記憶値を成分とするベクトルｖが読み出され、予測係数決定回路８に供給される。予測決定回路８では、この行列Ａおよびベクトルｖに基づいて、クラス＃ｈの予測係数ｗj（ここでは、ｊ＝１，２，３，４）が求められる。
【００５５】
次に、図６のフローチャートを参照して、図５に示したような正規方程式構成部１２hで構成される正規方程式加算回路７において行われる、クラスごとの行列Ａおよびベクトルｖを求める正規方程式構成処理について説明する。
【００５６】
正規方程式構成処理では、まず最初に、ステップＳ１において、クラスごとの行列Ａに相当する配列変数A[c][n][m]と、ベクトルｖに相当する配列変数v[c][n]が初期化される。ここで、インデックスcは、クラスを表し、インデックスnまたはmは、行列Ａの第ｎ行または第ｍ列をそれぞれ表す。従って、配列変数A[c][n][m]は、クラス#cについての行列Ａの第ｎ行第ｍ列の成分を表し、配列変数v[c][n]は、クラス#cについてのベクトルｖの第ｎ行の成分を表す。
【００５７】
その後、ステップＳ２において、注目画素であるＨＤ画素のｙ座標を表す変数yが、例えば０に初期化され、ステップＳ３に進み、注目画素であるＨＤ画素のｘ座標を表す変数xが、例えば０に初期化される。なお、ここでは、説明を簡単にするために、教師データは１フレームとし、また、その１フレームは、横×縦がxmax×ymax個のＨＤ画素で構成されるものとする。さらに、そのような教師データの左からｘ番目の、上からｙ番目のＨＤ画素の座標を(x,y)で表す。
【００５８】
x,yの初期化後は、ステップＳ４に進み、変数yが１だけインクリメントされ、ステップＳ５に進む。ステップＳ５では、変数yが、教師データの縦方向の画素数であるymax以下であるかどうかが判定される。ステップＳ５において、変数yがymax以下であると判定された場合、ステップＳ６に進み、変数xが１だけインクリメントされ、ステップＳ７に進む。ステップＳ７では、変数xが、教師データの横方向の画素数であるxmax以下であるか否かが判定される。ステップＳ７において、変数xがxmax以下でないと判定された場合、ステップＳ３に戻り、以下、同様の処理が繰り返される。
【００５９】
また、ステップＳ７において、変数xがxmax以下であると判定された場合、座標(x,y)にあるＨＤ画素が注目画素とされ、ステップＳ８に進み、その注目画素についてのクラスのクラスコード（クラス分類回路６から供給される。座標（ｘ，ｙ）にあるＨＤ画素のクラス分類結果としてのクラスコード）が、変数cにセットされる。
【００６０】
そして、ステップＳ９に進み、行列Ａの行を表す変数nが、例えば０に初期化され、ステップＳ１０に進む。ステップＳ１０では、変数nが１だけインクリメントされ、ステップＳ１１に進み、変数nが、行列Ａの行数であるN以下であるかどうかが判定される。ステップＳ１１において、変数nがN以下でないと判定された場合、ステップＳ６に戻り、以下、同様の処理が繰り返される。
【００６１】
また、ステップＳ１１において、変数nが、行列Ａの行数であるN以下であると判定された場合、ステップＳ１２に進み、行列Ａの列を表す変数mが、例えば０に初期化され、ステップＳ１３に進む。ステップＳ１３では、変数mが１だけインクリメントされ、ステップＳ１４に進み、変数mが、行列Ａの列数であるＭ以下であるかどうかが判定される。ステップＳ１４において、変数mがＭ以下でないと判定された場合、ステップＳ１０に戻り、以下、同様の処理が繰り返される。
【００６２】
ここで、行列Ａの行数および列数は、いずれも、予測タップを構成するＳＤ画素の数に等しく、従って、上述のMおよびNは、同一の値である。
【００６３】
一方、ステップＳ１４において、変数mがＭ以下であると判定された場合、ステップＳ１５に進み、変数mが、変数n以上であるかどうかが判定される。ステップＳ１５において、変数mが、変数n以上でないと判定された場合、ステップＳ１６をスキップして、ステップＳ１３に戻る。
【００６４】
即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、下三角の成分である場合には、その成分は、上述したように求める必要がないから、特に処理を行わすに、ステップＳ１３に戻る。
【００６５】
また、ステップＳ１５において、変数mが、変数n以上であると判定された場合、即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、対角成分であるか、または上三角の成分である場合、ステップＳ１６に進み、クラス#cについての行列Ａの第ｎ行第ｍ列の成分A[c][n][m]と、クラス#cについてのベクトルｖの第ｎ行の成分v[c][n]が、次式にしたがって演算される。
【００６６】
A[c][n][m] += L[x+Dx[n]][y+Dy[n]]×L[x+Dx[m]][y+Dy[m]]
v[c][n] += L[x+Dx[n]][y+Dy[n]]×L'[x][y]
・・・（９）
【００６７】
そして、ステップＳ１３に戻り、以下、同様の処理が繰り返される。
【００６８】
一方、ステップＳ５において、変数yがymax以下でないと判定された場合、即ち、教師データとして用意されたＨＤ画素すべてを注目画素として処理を行った場合、正規方程式構成処理を終了する。
【００６９】
なお、式（９）において、α += βは、αとβとを加算したものを、αにセットすること、即ち、αへの、βの足し込み演算を意味する。また、L[α][β]は、座標（α，β）に位置するＳＤ画素の画素値を表し、L'[x][y]は、座標(x,y)に位置するＨＤ画素の画素値（ここでは、注目画素の画素値）を意味する。
【００７０】
また、Dx[t]またはDy[t]は、図７に示すように、座標(x,y)の位置にある注目画素P(x,y)から見た、予測タップを構成するt番目のＳＤ画素p#tのｘ座標またはｙ座標を、それぞれ表す。従って、式（９）におけるL[x+Dx[n]][y+Dy[n]]は、注目画素についての予測タップを構成するn番目のＳＤ画素の画素値を表し、L[x+Dx[m]][y+Dy[m]]は、注目画素についての予測タップを構成するm番目のＳＤ画素の画素値を表すから、式（９）の第１行目の右辺は、数８に示した行列Ａの第ｎ行第ｍ列の成分におけるｘinｘimに一致する。
【００７１】
【発明が解決しようとする課題】
以上のように、正規方程式加算回路７では、数８に示した行列Ａの各成分におけるｘinｘim、即ち、ＳＤ画素ｘinとｘimとの乗算が行われるが、ある２つのＳＤ画素どうしの乗算値（本明細書における２つの画素の乗算値には、時空間的に異なる位置にある２つの画素どうしの乗算値の他、同一の位置にある画素どうしの乗算値も含まれるものとする）は、その２つのＳＤ画素が予測タップとなったときに演算されるから、２回以上重複して演算されることがある。この場合、ＳＤ画素どうしの乗算回数は、予測タップを構成するＳＤ画素の画素数をＪとすれば、Ｊ2のオーダに比例する回数となる。
【００７２】
従って、ＳＤ画素どうしの乗算に要する乗算器の数、または乗算時間も、Ｊ2のオーダに比例し、その結果、予測タップを構成するＳＤ画素の画素数が増えると、装置が大規模となり、あるいは処理に多大な時間を要することとなる。
【００７３】
本発明は、このような状況に鑑みてなされたものであり、装置の小型化、あるいは処理の高速化を図ることができるようにするものである。
【００７４】
【課題を解決するための手段】
本発明の学習装置は、所定の教師データを線形予測するのに用いる生徒データのうちの任意の２つの乗算値を演算する乗算手段と、乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶手段と、記憶手段に記憶された乗算値を積算することにより、予測係数を求めるための正規方程式を生成する正規方程式生成手段とを含む学習装置である。
【００７５】
この学習装置には、注目している注目教師データの位置に対応する位置の周辺にある生徒データを抽出する抽出手段と、抽出手段によって抽出された生徒データに基づいて、注目教師データを、複数のクラスのうちのいずれかに分類し、そのクラスに対応するクラスコードを出力するクラス分類手段とをさらに設けることができ、この場合、正規方程式生成手段には、クラスごとに、正規方程式を生成させ、予測係数算出手段には、クラスごとの予測係数を求めさせることができる。
【００７６】
記憶手段には、正規方程式生成手段が２回以上積算する乗算値のみを記憶させることができる。
【００７７】
第１および第２のデータは、画像データとすることができる。さらに、この場合、第２のデータは、第１のデータよりもＳ／Ｎ(Signal to Noise Ratio)の劣化した画像データとすることができる。また、第２のデータは、第１のデータよりも画素数の少ない画像データとすることができる。
【００７８】
本発明の学習方法は、学習装置が、所定の教師データを線形予測するのに用いる生徒データのうちの任意の２つの乗算値を演算する乗算ステップと、乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶ステップと、記憶ステップで記憶された乗算値を積算することにより、予測係数を求めるための正規方程式を生成する正規方程式生成ステップとを含む学習方法である。
【００７９】
本発明の記録媒体は、所定の教師データを線形予測するのに用いる生徒データのうちの任意の２つの乗算値を演算する乗算ステップと、乗算値を、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶する記憶ステップと、記憶ステップで記憶された乗算値を積算することにより、予測係数を求めるための正規方程式を生成する正規方程式生成ステップとを含む学習処理を、コンピュータに実行させるためのプログラムが記録された記録媒体である。
【００８０】
本発明においては、所定の教師データを線形予測するのに用いる生徒データのうちの任意の２つの乗算値が演算され、その乗算値が、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶される。そして、その記憶された乗算値を積算することにより、予測係数を求めるための正規方程式が生成される。
【００８１】
【発明の実施の形態】
図８は、本発明を適用した学習装置の一実施の形態の構成例を示している。なお、図中、図１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図８の学習装置は、乗算回路３１および積メモリ回路３２が新たに設けられているとともに、正規方程式加算回路７に替えて、正規方程式加算回路３３が設けられている他は、図１における場合と同様に構成されている。
【００８２】
乗算回路３１は、フレームメモリ４に記憶された生徒データとしてのＳＤ画像を構成するＳＤ画素を読み出し、その画素値どうしの乗算を行って、積メモリ回路３２に供給するようになっている。積メモリ回路３２は、乗算回路３１が出力するＳＤ画素どうしの乗算値を、それを求めるのに用いた２つのＳＤ画素どうしの相対的な位置関係ごとに記憶するようになっている。正規方程式加算回路３３は、積メモリ回路３２の記憶値を適宜読み出し、クラス分類回路６からのクラスコードに対応するクラスごとの式（７）に示した正規方程式をたてて、即ち、数８に示した行列Ａおよびベクトルｖをクラスごとに求めて、予測係数決定回路８に供給するようになっている。
【００８３】
次に、図９を参照して、図８の乗算回路３１の処理について説明する。
【００８４】
いま、予測タップが、例えば、前述の図４に示したように、２×２のＳＤ画素で構成されるものとし、その予測タップを構成する４つのＳＤ画素を、図９（Ａ）に示すように、ｐ１，ｐ２，ｐ３，ｐ４でそれぞれ表す。
【００８５】
行列Ａの成分は、予測タップを構成するＳＤ画素の所定の２画素（同一のＳＤ画素を含む）どうしの乗算値で構成されるが、この乗算値は、予測タップから、任意の２つのＳＤ画素を選択し、図９に示すように、そのうちの一方を始点とするとともに、他方を終点とするベクトル（以下、適宜、画素間ベクトルという）を考え、その画素間ベクトルの始点と終点のＳＤ画素の乗算を行うことで求めることができる。
【００８６】
即ち、自分自身を画素間ベクトルの始点とすると、図９（Ｂ）は、自分自身を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは０（(０，０)）である。図９（Ｃ）は、自分の右隣のＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、右方向に１の大きさを有するものとなる。なお、ここでは、画素間ベクトルの大きさ（長さ）は、横に隣接するＳＤ画素どうしの距離、および縦に隣接するＳＤ画素どうしの距離が、いずれも１に等しいものとして表す。
【００８７】
図９（Ｄ）は、自分の左隣のＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、左方向に１画素分の大きさを有するものとなる。図９（Ｅ）は、自分の下に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、下方向に１の大きさを有するものとなる。図９（Ｆ）は、自分の上に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、上方向に１の大きさを有するものとなる。図９（Ｇ）は、自分の右下に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、右下方向に√２の大きさを有するものとなる。図９（Ｈ）は、自分の左上に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、左上方向に√２の大きさを有するものとなる。図９（Ｉ）は、自分の左下に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、左下方向に√２の大きさを有するものとなる。図９（Ｊ）は、自分の右上に隣接するＳＤ画素を画素間ベクトルの終点として選択した場合を示しており、この場合、画素間ベクトルは、右上方向に√２の大きさを有するものとなる。
【００８８】
ここで、生徒データとしてのＳＤ画像上に、左から右方向にｘ軸を、上から下方向にｙ軸を考えると、図９（Ｂ）乃至図９（Ｊ）の画素間ベクトルは、(0,0),(1,0),(-1,0),(0,1),(0,-1),(1,1),(-1,-1),(-1,1),(1,-1)で、それぞれ表すことができる。
【００８９】
そして、図９（Ｂ）乃至図９（Ｊ）において、各画素間ベクトルの始点のＳＤ画素と終点のＳＤ画素との乗算値を求めると、その乗算値が、行列Ａの成分を構成するものとなる。
【００９０】
ここで、予測タップを構成するＳＤ画素だけを考えると、画素間ベクトル(0,0)によれば（図９（Ｂ））、ｐ１×ｐ１，ｐ２×ｐ２，ｐ３×ｐ３，ｐ４×ｐ４が計算される。また、画素間ベクトル(1,0)によれば、ｐ１×ｐ３，ｐ２×ｐ４が計算され、画素間ベクトル(-1,0)によれば、ｐ２×ｐ１，ｐ４×ｐ３が計算される。さらに、画素間ベクトル(0,1)によれば、ｐ１×ｐ３，ｐ２×ｐ４が計算され、画素間ベクトル(0,-1)によれば、ｐ３×ｐ１，ｐ４×ｐ２が計算される。また、画素間ベクトル(1,1)によれば、ｐ１×ｐ４が計算され、画素間ベクトル(-1,-1)によれば、ｐ４×ｐ１が計算される。さらに、画素間ベクトル(-1,1)によれば、ｐ２×ｐ３が計算され、画素間ベクトル(1,-1)によれば、ｐ３×ｐ２が計算される。
【００９１】
乗算回路３１は、生徒データとしてのすべてのＳＤ画素を対象として、図９（Ｂ）乃至図９（Ｊ）に示した各画素間ベクトルの始点と終点の位置関係に一致する位置関係のＳＤ画素どうしの乗算値を求め、積メモリ回路３２に供給する。
【００９２】
積メモリ回路３２は、上述したように、乗算回路３１が出力するＳＤ画素の乗算値を、それを求めるのに用いた２つのＳＤ画素どうしの相対的な位置関係ごとに記憶するようになっている。従って、積メモリ回路３２では、図９で説明した９種類の画素間ベクトルそれぞれごとに、その始点と終点のＳＤ画素どうしの乗算値を記憶するようになっている。
【００９３】
即ち、図１０は、予測タップが、図９（Ａ）に示したように、４つのＳＤ画素で構成される場合の積メモリ回路３２の構成例を示している。
【００９４】
積メモリ回路３２は、同図に示すように、図９で説明した９種類の画素間ベクトル(0,0),(1,0),(0,1),(1,1),(-1,1),(-1,0),(0,-1),(-1,-1),(1,-1)それぞれごとに、その始点と終点のＳＤ画素どうしの乗算値を記憶するメモリとしての積メモリ４１1乃至４１9と、その積メモリ４１1乃至４１9に対するデータの読み書きを制御する読み書き制御部４２とから構成されている。
【００９５】
即ち、いま、説明を簡単にするために、予測タップを構成するＳＤ画素ｐ１乃至ｐ４だけを考えると、積メモリ４１1は、画素間ベクトル(0,0)の始点と終点のＳＤ画素の乗算値であるｐ１×ｐ１,ｐ２×ｐ２，ｐ３×ｐ３，ｐ４×ｐ４を、その画素間ベクトル(0,0)の始点のＳＤ画素ｐ１，ｐ２，ｐ３，ｐ４の位置に相当するアドレスにそれぞれ記憶する。また、積メモリ４１2は、画素間ベクトル(1,0)の始点と終点のＳＤ画素の乗算値であるｐ１×ｐ２，ｐ３×ｐ４を、その画素間ベクトル(1,0)の始点のＳＤ画素ｐ１，ｐ３の位置に相当するアドレスにそれぞれ記憶する。さらに、積メモリ４１3は、画素間ベクトル(0,1)の始点と終点のＳＤ画素の乗算値であるｐ１×ｐ３，ｐ２×ｐ４を、その画素間ベクトル(0,1)の始点のＳＤ画素ｐ１，ｐ２の位置に相当するアドレスにそれぞれ記憶する。また、積メモリ４１4は、画素間ベクトル(1,1)の始点と終点のＳＤ画素の乗算値であるｐ１×ｐ４を、その画素間ベクトル(1,1)の始点のＳＤ画素ｐ１の位置に相当するアドレスに記憶する。さらに、積メモリ４１5は、画素間ベクトル(-1,1)の始点と終点のＳＤ画素の乗算値であるｐ２×ｐ３を、その画素間ベクトル(-1,1)の始点のＳＤ画素ｐ２の位置に相当するアドレスに記憶する。また、積メモリ４１6は、画素間ベクトル(-1,0)の始点と終点のＳＤ画素の乗算値であるｐ２×ｐ１，ｐ４×ｐ３を、その画素間ベクトル(-1,0)の始点のＳＤ画素ｐ２，ｐ４の位置に相当するアドレスにそれぞれ記憶する。積メモリ４１7は、画素間ベクトル(0,-1)の始点と終点のＳＤ画素の乗算値であるｐ３×ｐ１，ｐ４×ｐ２を、その画素間ベクトル(0,-1)の始点のＳＤ画素ｐ３，ｐ４の位置に相当するアドレスにそれぞれ記憶する。積メモリ４１8は、画素間ベクトル(-1,-1)の始点と終点のＳＤ画素の乗算値であるｐ４×ｐ１を、その画素間ベクトル(-1,-1)の始点のＳＤ画素ｐ４の位置に相当するアドレスに記憶する。積メモリ４１9は、画素間ベクトル(1,-1)の始点と終点のＳＤ画素の乗算値であるｐ３×ｐ２を、その画素間ベクトル(1,-1)の始点のＳＤ画素ｐ３の位置に相当するアドレスに記憶する。
【００９６】
なお、図１０においては、ＳＤ画素ｐ＃ｔ1とｐ＃ｔ2との乗算値を、ｔ1×ｔ2と示してある。
【００９７】
また、図１０では、説明を簡単にするために、予測タップとなっている４つのＳＤ画素ｐ１乃至ｐ４だけを考慮したが、積メモリ４１1乃至４１9には、他の生徒データとしてのＳＤ画素どうしの乗算値も同様にして記憶される。
【００９８】
ここで、画素間ベクトル(-x,-y)の始点または終点は、それと方向だけが逆方向の画素間ベクトル(x,y)の終点または始点とそれぞれ一致するから、画素間ベクトル(-x,-y)の始点と終点のＳＤ画素どうしの乗算値は、画素間ベクトル(x,y)の始点と終点のＳＤ画素どうしの乗算値に等しい。従って、画素間ベクトル(-x,-y)または画素間ベクトル(x,y)のうちのいずれか一方の始点と終点のＳＤ画素の乗算値を求めることで、他方の乗算値も求めることとなるから、両者の乗算値を求める必要はない。そこで、乗算回路３１は、図９で説明した９種類の画素間ベクトル(0,0),(1,0),(0,1),(1,1),(-1,1),(-1,0),(0,-1),(-1,-1),(1,-1)から、例えば、方向だけが他のベクトルと逆方向になっている(-1,0),(0,-1),(-1,-1),(1,-1)を除いた残りの(0,0),(1,0),(0,1),(1,1),(-1,1)の５つの画素間ベクトルそれぞれの始点と終点のＳＤ画素どうしの乗算値のみを演算するようになっている。
【００９９】
同様の観点から、積メモリ回路３２においても、図９の９種類の画素間ベクトルすべてについて、その始点と終点のＳＤ画素どうしの乗算値を記憶する必要はない。そこで、積メモリ回路３２も、乗算回路３１における場合と同様に、図９の９種類の画素間ベクトル(0,0),(1,0),(0,1),(1,1),(-1,1),(-1,0),(0,-1),(-1,-1),(1,-1)のうちの、(0,0),(1,0),(0,1),(1,1),(-1,1)の５つの画素間ベクトルそれぞれの始点と終点のＳＤ画素どうしの乗算値のみを記憶するようになっている。
【０１００】
従って、この場合、積メモリ回路３２は、図１１に示すように、５つの積メモリ４１1乃至４１5と、読み書き制御部４２とで構成することができる。
【０１０１】
次に、図１２は、図８の正規方程式加算回路３３の構成例を示している。
【０１０２】
正規方程式加算回路３３は、前述の図３に示した読み出し回路１１または正規方程式構成部１２1乃至１２Hにそれぞれ対応する読み出し回路５１または正規方程式構成部５２1乃至５２Hから構成されている。
【０１０３】
読み出し回路５１には、クラス分類回路６が出力するクラスコードが供給されるようになっており、読み出し回路５１は、注目画素のクラスコードを受信すると、その注目画素であるＨＤ画素を、フレームメモリ１から読み出すとともに、その注目画素についての予測タップとなるＳＤ画素を、フレームメモリ４から読み出し、注目画素のクラスコードｈに対応する正規方程式構成部５２hに供給する。
【０１０４】
さらに、読み出し回路５１は、積メモリ回路３１にアクセスし、そこに記憶されているＳＤ画素どうしの乗算値のうちの必要なものを読み出し、注目画素のクラスコードｈに対応する正規方程式構成部５２hに供給する。
【０１０５】
正規方程式構成部５２hは、読み出し回路５１から供給されるＳＤ画素どうしの乗算値を用い、式（７）の正規方程式の左辺における、予測係数の乗数となっているサメーション（Σ）に相当する演算を行うとともに、同じく読み出し回路５１から供給される予測タップであるＳＤ画素および注目画素（ＨＤ画素）を用い、式（７）の正規方程式の右辺における、ＳＤ画素（生徒データ）とＨＤ画素（教師データ）の乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【０１０６】
正規方程式構成部５２hでは、クラス＃ｈに分類されるＨＤ画素すべてについて、上述の演算が行われ、これにより、クラス＃ｈについての式（７）に示した正規方程式、即ち、数８に示した行列Ａおよびベクトルｖが求められる。
【０１０７】
そして、この行列Ａおよびベクトルｖは、予測係数決定回路８に供給され、上述したように、予測係数が求められる。
【０１０８】
次に、図１３は、図１２の正規方程式構成部５２hの構成例を示している。
【０１０９】
正規方程式構成部５２hは、図５の左辺メモリ２１に対応する左辺メモリ６１と、右辺メモリ２２と同一構成の右辺メモリ６２とから構成されている。
【０１１０】
左辺メモリ６１は、図５の左辺メモリ２１と同様に１０個の要素で構成されるが、この要素は、積メモリ回路３１から読み出されたＳＤ画素どうしの乗算値の足し込みを行う（積算する）加算器と、その加算器の出力を記憶するレジスタとから構成されている。
【０１１１】
また、右辺メモリ６２は、図５の右辺メモリ２２と同様に４個の要素で構成され、さらに、この要素は、右辺メモリ２２の要素と同様に、ＳＤ画素とＨＤ画素との乗算を行う乗算器、乗算器が出力する乗算値を足し込む（加算する）加算器、加算器の出力を一時記憶するレジスタから構成されている。
【０１１２】
左辺メモリ６１においては、行列Ａの第ｎ行第ｍ列の成分に相当する要素に対して、予測タップを構成するＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が、積メモリ回路３２から読み出されて供給されるようになっており、その要素では、そこに供給されるｐ＃ｎとｐ＃ｍの乗算値が、そこに既に記憶されている記憶値と積算されて記憶される。なお、図１３において、左辺メモリ６１の要素を表す長方形の中に示したｎ×ｍは、予測タップを構成するＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が供給されることを示している。
【０１１３】
また、右辺メモリ６２においては、図５の右辺メモリ２２と同様に、ベクトルｖの第ｎ行の成分に相当する要素に対して、予測タップとしてのＳＤ画素ｐ＃ｎと、注目画素であるＨＤ画素Ｐが、フレームメモリ４と１からそれぞれ読み出されて供給されるようになっており、その要素では、そこに供給されるＳＤ画素ｐ＃ｎとＨＤ画素Ｐが乗算され、その乗算値が、そこに既に記憶されている記憶値と積算されて記憶される。
【０１１４】
そして、すべての教師データとしてのＨＤ画素を注目画素として、上述の処理が行われることで、クラス＃ｈについての正規方程式を規定する行列Ａおよびｖが求められる。その後、左辺メモリ２１の各要素の記憶値としての行列Ａ、および右辺メモリ２２の各要素の記憶値としてのベクトルｖが読み出され、予測係数決定回路８に供給される。予測決定回路８では、この行列Ａおよびベクトルｖに基づいて、クラス＃ｈの予測係数ｗj（ここでは、ｊ＝１，２，３，４）が求められる。
【０１１５】
次に、積メモリ回路３２から、予測タップを構成するＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値を読み出し、正規方程式構成部５２hに供給する場合のアドレッシングについて説明する。
【０１１６】
図１４（Ａ）に示すように、左辺メモリ６１における、行列Ａの第ｎ行第ｍ列の成分に相当する要素に対しては、予測タップを構成するＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値を、積メモリ回路３２から読み出して供給する必要があるが、この場合、まず、積メモリ回路３２を構成する複数の積メモリ（図１１実施の形態では、積メモリ４１1乃至４１5）の中から、ｐ＃ｎとｐ＃ｍの乗算値が記憶されているものを特定する必要がある。
【０１１７】
ここで、積メモリ回路３２を構成する積メモリのうち、画素間ベクトル(x,y)の始点と終点のＳＤ画素どうしの乗算値を記憶するものを、以下、適宜、積メモリ(x,y)という。この場合、図１０に示した積メモリ４１1乃至４１9は、それぞれ積メモリ(0,0),(1,0),(0,1),(1,1),(-1,1),(-1,0),(0,-1),(-1,-1),(1,-1)と記述することができる。
【０１１８】
積メモリを、以上のように表現することとした場合、ｐ＃ｎとｐ＃ｍの乗算値が記憶されている積メモリは、次のようにして特定することができる。
【０１１９】
即ち、例えば、いま、図１４（Ｂ）に示すように、ＳＤ画素ｐ＃ｎの座標を、（Rx[n],Ry[n])と表すと、ＳＤ画素ｐ＃ｍの座標は、（Rx[m],Ry[m])と表すことができる。この場合、ＳＤ画素ｐ＃ｎを始点とするとともに、ＳＤ画素ｐ＃ｍを終点とする画素間ベクトルは、（Rx[m]-Rx[n],Ry[m]-Ry[n])と表すことができ、この画素間ベクトル（Rx[m]-Rx[n],Ry[m]-Ry[n])の始点と終点のＳＤ画素であるｐ＃ｎとｐ＃ｍとの乗算値は、積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])に記憶されていることになる。ここで、ＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が記憶されている積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])を、以下、適宜、変数Mp_pointer[n][m]で表す。
【０１２０】
次に、ｐ＃ｎとｐ＃ｍとの乗算値が、積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])のどのアドレス（位置）に記憶されているかであるか、これは、次のようにして求めることができる。
【０１２１】
即ち、上述したことから、画素間ベクトル(x,y)の始点と終点のＳＤ画素の乗算値であるｐ＃ｎ×ｐ＃ｍは、その画素間ベクトル(x,y)の始点のＳＤ画素ｐ＃ｎの位置に相当するアドレスに記憶される。従って、ｐ＃ｎとｐ＃ｍとの乗算値は、積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])の、ＳＤ画素ｐ＃ｎの位置に相当するアドレス(Rx[n],Ry[n])に記憶されていることになる。ここで、ＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が記憶されている積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])の、ＳＤ画素ｐ＃ｎの位置に相当するアドレス(Rx[n],Ry[n])を、以下、適宜、変数Offset[n][m]で表す。
【０１２２】
以上から、例えば、図１４（Ａ）に示した左辺メモリ６１で必要となる、行列Ａの第１行第１列の成分となるＳＤ画素の乗算値ｐ１×ｐ１は、積メモリ(0,0)（積メモリ４１1）の、ＳＤ画素ｐ１の位置に相当するアドレスに記憶されている。
【０１２３】
また、行列Ａの第１行第２列の成分となるＳＤ画素の乗算値ｐ１×ｐ２は、積メモリ(1,0)（積メモリ４１2）の、ＳＤ画素ｐ１の位置に相当するアドレスに記憶されており、行列Ａの第１行第３列の成分となるＳＤ画素の乗算値ｐ１×ｐ３は、積メモリ(0,1)（積メモリ４１3）の、ＳＤ画素ｐ１の位置に相当するアドレスに記憶されている。さらに、行列の第１行第４列の成分となるＳＤ画素の乗算値ｐ１×ｐ４は、積メモリ(1,1)（積メモリ４１4）の、ＳＤ画素ｐ１の位置に相当するアドレスに記憶されており、行列Ａの第２行第２列の成分となるＳＤ画素の乗算値ｐ２×ｐ２は、積メモリ(0,0)（積メモリ４１1）の、ＳＤ画素ｐ２の位置に相当するアドレスに記憶されている。また、行列の第２行第３列の成分となるＳＤ画素の乗算値ｐ２×ｐ３は、積メモリ(-1,1)（積メモリ４１5）の、ＳＤ画素ｐ２の位置に相当するアドレスに記憶されており、行列Ａの第２行第４列の成分となるＳＤ画素の乗算値ｐ２×ｐ４は、積メモリ(0,1)（積メモリ４１3）の、ＳＤ画素ｐ２の位置に相当するアドレスに記憶されている。さらに、行列の第２行第４列の成分となるＳＤ画素の乗算値ｐ２×ｐ４は、積メモリ(0,1)（積メモリ４１3）の、ＳＤ画素ｐ２の位置に相当するアドレスに記憶されており、行列Ａの第３行第３列の成分となるＳＤ画素の乗算値ｐ３×ｐ３は、積メモリ(0,0)（積メモリ４１1）の、ＳＤ画素ｐ３の位置に相当するアドレスに記憶されている。また、行列の第３行第４列の成分となるＳＤ画素の乗算値ｐ３×ｐ４は、積メモリ(1,0)（積メモリ４１2）の、ＳＤ画素ｐ３の位置に相当するアドレスに記憶されており、行列Ａの第４行第４列の成分となるＳＤ画素の乗算値ｐ４×ｐ４は、積メモリ(0,0)（積メモリ４１1）の、ＳＤ画素ｐ４の位置に相当するアドレスに記憶されている。
【０１２４】
次に、図１５のフローチャートを参照して、図８の学習装置による、クラスごとの予測係数を求める学習処理について説明する。
【０１２５】
学習装置には、教師データとしてのＨＤ画像が、フレーム単位で供給されるようになっており、そのＨＤ画像は、フレームメモリ１において順次記憶されていく。
【０１２６】
フレームメモリ１に記憶された教師データとしてのＨＤ画像は、垂直間引きフィルタ２または水平間引きフィルタ３それぞれにおいて、垂直方向または水平方向の画素数が間引かれ、例えば、前述したように、水平および垂直のいずれの方向の画素数も１／２となったＳＤ画像とされる。このＳＤ画像は、フレームメモリ４に供給されて記憶される。
【０１２７】
フレームメモリ４にＳＤ画像が記憶されると、クラスタップ構成回路５は、クラス分類適応処理により、予測値を求めようとする所定のＨＤ画素を、注目画素とし、さらに、その注目画素をクラス分類するのに用いるＳＤ画素を、フレームメモリ４に記憶されたＳＤ画像から、クラスタップとして抽出する。このクラスタップは、クラス分類回路６に供給される。
【０１２８】
クラス分類回路６は、クラスタップ構成回路５からのクラスタップを、例えば、１ビットADRC処理し、その結果得られるADRCコードを、注目画素のクラス分類結果であるクラスのクラスコードとして、正規方程式加算回路７に出力する。
【０１２９】
以下、同様にして、教師データとしてのＨＤ画像を構成するＨＤ画素を、順次、注目画素として、その注目画素についてのクラスコードが、クラス分類回路６から正規方程式加算回路３３に供給されていく。
【０１３０】
一方、正規方程式加算回路３３では、フレームメモリ１への教師データの供給が開始されると、ステップＳ２１において、変数Mp_pointer[n][m]およびOffset[n][m]に初期値がセットされる。即ち、ステップＳ２１では、変数Mp_pointer[n][m]に、ＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が記憶される積メモリを表す値（Rx[m]-Rx[n],Ry[m]-Ry[n])がセットされるとともに、変数Offset[n][m]に、その積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])の、ＳＤ画素ｐ＃ｎの位置に相当するアドレス（Rx[n],Ry[n])がセットされる。
【０１３１】
そして、ステップＳ２２に進み、正規方程式加算回路３３において、左辺メモリ６１および右辺メモリ６２の記憶値が、例えば０に初期化される。即ち、行列Ａを表す配列変数A[c][n][m]、およびベクトルｖを表す配列変数v[c][n]が０に初期化される。
【０１３２】
その後、ステップＳ２３において、乗算回路３１において、フレームメモリ４に記憶された生徒データとしてのＳＤ画素どうしの乗算値が計算され、積メモリ回路３２に供給される。積メモリ回路３２では、乗算回路３１からの乗算値が、その乗算値を求めるのに用いた２つのＳＤ画素の相対的な位置関係ごとに記憶される。即ち、積メモリ回路３２では、ＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が、積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])の、ＳＤ画素ｐ＃ｎの位置に相当するアドレス（Rx[n],Ry[n])に記憶される。
【０１３３】
そして、ステップＳ２４に進み、正規方程式加算回路３３では、積メモリ回路３２に記憶された乗算値を用いた足し込み処理が行われることで、クラスごとに、正規方程式が生成される。即ち、正規方程式加算回路３３では、クラスごとの行列Ａおよびベクトルｖが求められる。この行列Ａおよびベクトルｖは、予測係数決定回路８に供給され、予測係数決定回路８では、ステップＳ２５において、行列Ａおよびベクトルｖによって規定される、クラスごとの正規方程式を解くことで、クラスごとの予測係数が求められる。このクラスごとの予測係数は、メモリ９に供給され、各クラスに対応するアドレスに記憶されて、処理を終了する。
【０１３４】
次に、図１６のフローチャートを参照して、図１５のステップＳ２１における、変数Mp_pointer[n][m]および変数Offset[n][m]に初期値をセットするセット処理の詳細について説明する。
【０１３５】
まず最初に、ステップＳ３１において、行列Ａの行を表す変数nが、例えば０に初期化され、ステップＳ３２に進む。ステップＳ３２では、変数nが１だけインクリメントされ、ステップＳ３３に進み、変数nが、行列Ａの行数であるN以下であるかどうかが判定される。
【０１３６】
ステップＳ３３において、変数nが、行列Ａの行数であるN以下であると判定された場合、ステップＳ３４に進み、行列Ａの列を表す変数mが、例えば０に初期化され、ステップＳ３５に進む。ステップＳ３５では、変数mが１だけインクリメントされ、ステップＳ３６に進み、変数mが、行列Ａの列数であるＭ以下であるかどうかが判定される。ステップＳ３６において、変数mがＭ以下でないと判定された場合、ステップＳ３２に戻り、以下、同様の処理が繰り返される。
【０１３７】
ここで、前述したように、行列Ａの行数および列数は、いずれも、予測タップを構成するＳＤ画素の数に等しく、従って、上述のMおよびNは、同一の値である。
【０１３８】
また、ステップＳ３６において、変数mがＭ以下であると判定された場合、ステップＳ３７に進み、変数mが、変数n以上であるかどうかが判定される。ステップＳ３７において、変数mが、変数n以上でないと判定された場合、ステップＳ３８をスキップして、ステップＳ３５に戻る。
【０１３９】
即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、下三角の成分である場合には、その成分は、前述したように求める必要がないから、特に処理を行わすに、ステップＳ３５に戻る。
【０１４０】
また、ステップＳ３７において、変数mが、変数n以上であると判定された場合、即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、対角成分であるか、または上三角の成分である場合、ステップＳ３８に進み、変数Mp_pointer[n][m]に、ＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値が記憶される積メモリを表す値（Rx[m]-Rx[n],Ry[m]-Ry[n])がセットされるとともに、変数Offset[n][m]に、その積メモリ（Rx[m]-Rx[n],Ry[m]-Ry[n])の、ＳＤ画素ｐ＃ｎの位置に相当するアドレス（Rx[n],Ry[n])がセットされ、ステップＳ３５に戻り、以下、同様の処理が繰り返される。
【０１４１】
一方、ステップＳ３３において、変数nがN以下でないと判定された場合、リターンする。
【０１４２】
次に、図１７のフローチャートを参照して、図１５のステップＳ２３における、ＳＤ画素どうしの乗算値を計算し、積メモリ回路３２を構成する各積メモリにセットする積メモリのセット処理について説明する。
【０１４３】
なお、ここでは、説明を簡単にするために、予測タップは、長方形状のＳＤ画素で構成され、また、教師データとしてのＨＤ画像は１フレームだけ用意されているものとする。従って、生徒データとしてのＳＤ画像も１フレームだけである。
【０１４４】
まず最初に、ステップＳ４１において、予測タップを構成するＳＤ画素の相対座標のｙ座標を表す変数ypに、初期値としての−１がセットされる。ここで、予測タップを構成するＳＤ画素の相対座標とは、予測タップを構成するあるＳＤ画素としての、例えば最も左上のＳＤ画素の位置を原点(0,0)とした場合の座標を意味する。従って、予測タップを構成するＳＤ画素のうちの、左からxp+1番目で、上からyp+1番目にあるものの相対座標は、(xp,yp)と表される。なお、この(xp,yp)は、上述の画素間ベクトルに相当する。
【０１４５】
その後、ステップＳ４２において、変数ypが１だけインクリメントされ、ステップＳ４３に進み、変数ypが、予測タップを構成する縦方向のＳＤ画素の画素数Ypより小さいかどうかが判定される。ステップＳ４３において、変数ypがYpより小さいと判定された場合、ステップＳ４４に進み、予測タップを構成するＳＤ画素の相対座標のｘ座標を表す変数xpに、初期値としての−１がセットされ、ステップＳ４５に進む。
【０１４６】
ステップＳ４５では、変数xpが１だけインクリメントされ、ステップＳ４６に進み、変数xpが、予測タップを構成する横方向のＳＤ画素の画素数Xpより小さいかどうかが判定される。ステップＳ４６において、変数xpがXpより小さくないと判定された場合、ステップＳ４２に戻り、以下、同様の処理が繰り返される。
【０１４７】
また、ステップＳ４６において、変数xpがXpより小さいと判定された場合、ステップＳ４７に進み、フレームメモリ４に記憶されている生徒データとしてのＳＤ画像の、上からys番目のＳＤ画素のｙ座標を表す変数ysが、例えば０に初期化され、ステップＳ４８に進む。ステップＳ４８では、変数ysが１だけインクリメントされ、ステップＳ４９に進み、変数ysが、生徒データとしてのＳＤ画像の縦の画素数Ys以下であるかどうかが判定される。ステップＳ４９において、変数ysがYs以下でないと判定された場合、ステップＳ４５に戻り、以下、同様の処理が繰り返される。
【０１４８】
また、ステップＳ４９において、変数ysがYs以下であると判定された場合、ステップＳ５０に進み、フレームメモリ４に記憶されている生徒データとしてのＳＤ画像の、左からxs番目のＳＤ画素のｘ座標を表す変数xsが、例えば０に初期化され、ステップＳ５１に進む。ステップＳ５１では、変数xsが１だけインクリメントされ、ステップＳ５２に進み、変数xsが、生徒データとしてのＳＤ画像の横の画素数Xs以下であるかどうかが判定される。ステップＳ５２において、変数xsがXs以下でないと判定された場合、ステップＳ４８に戻り、以下、同様の処理が繰り返される。
【０１４９】
また、ステップＳ５２において、変数xsがXs以下であると判定された場合、ステップＳ５３に進み、乗算回路３１において、座標(xs,ys)に位置するＳＤ画素の画素値L[xs][ys]と、座標(xs+xp,ys+yp)に位置するＳＤ画素の画素値L[xs+xp][ys+yp]との乗算値が計算される。そして、この乗算値は、積メモリ回路３２に供給され、変数Mp_pointer[yp][xp]で表される積メモリの、変数offset[yp][xp]で表されるアドレスに記憶される。
【０１５０】
ここで、以下、適宜、積メモリ回路３２における、変数Mp_pointer[yp][xp]で表される積メモリの、変数offset[yp][xp]で表されるアドレスの記憶値を、変数Val[Mp_pointer[yp][xp]][offset[yp][xp]]で表す。
【０１５１】
ステップＳ５３の処理後は、ステップＳ５１に戻り、以下、同様の処理が繰り返される。これにより、乗算回路３１では、行列Ａの各成分を求めるのに必要なＳＤ画素どうしの乗算値が求められ、積メモリ回路３２では、その乗算値が、それを求めるのに用いた２つのＳＤ画素の相対的な位置関係（画素間ベクトル(ｘp，ｙp)）ごとに記憶される。
【０１５２】
一方、ステップＳ４３において、変数ypが、予測タップを構成する縦方向のＳＤ画素の画素数Ypより小さくないと判定された場合、リターンする。
【０１５３】
次に、図１８のフローチャートを参照して、図１５のステップＳ２４における、行列Ａおよびベクトルｖを求めるための、生徒データとしてのＳＤ画素、教師データのＨＤ画素を足し込む足し込み処理について説明する。
【０１５４】
まず最初に、ステップＳ６１において、注目画素であるＨＤ画素のｙ座標を表す変数yが、例えば０に初期化され、ステップＳ６２に進み、変数yが１だけインクリメントされ、ステップＳ６３に進む。ステップＳ６３では、変数yが、教師データの縦方向の画素数であるymax以下であるかどうかが判定される。ステップＳ６３において、変数yがymax以下であると判定された場合、ステップＳ６４に進み、注目画素であるＨＤ画素のｘ座標を表す変数xが、例えば０に初期化され、ステップＳ６５に進む。ステップＳ６５では、変数xが１だけインクリメントされ、ステップＳ６６に進み、変数xが、教師データの横方向の画素数であるxmax以下であるか否かが判定される。ステップＳ６５において、変数xがxmax以下でないと判定された場合、ステップＳ６２に戻り、以下、同様の処理が繰り返される。
【０１５５】
また、ステップＳ６６において、変数xがxmax以下であると判定された場合、座標(x,y)にあるＨＤ画素が注目画素とされ、ステップＳ６７に進み、その注目画素についてのクラスのクラスコード（クラス分類回路６から供給される、座標(x,y)にあるＨＤ画素を注目画素とした場合の、その注目画素のクラスコード）が、変数cにセットされる。
【０１５６】
そして、ステップＳ６８に進み、行列Ａの行を表す変数nが、例えば０に初期化され、ステップＳ６９に進む。ステップＳ６９では、変数nが１だけインクリメントされ、ステップＳ７０に進み、変数nが、行列Ａの行数であるN以下であるかどうかが判定される。ステップＳ７０において、変数nがN以下でないと判定された場合、ステップＳ６５に戻り、以下、同様の処理が繰り返される。
【０１５７】
また、ステップＳ７０において、変数nが、行列Ａの行数であるN以下であると判定された場合、ステップＳ７１に進み、行列Ａの列を表す変数mが、例えば０に初期化され、ステップＳ７２に進む。ステップＳ７２では、変数mが１だけインクリメントされ、ステップＳ７３に進み、変数mが、行列Ａの列数であるＭ以下であるかどうかが判定される。ステップＳ７３において、変数mがＭ以下でないと判定された場合、ステップＳ６９に戻り、以下、同様の処理が繰り返される。
【０１５８】
また、ステップＳ７３において、変数mがＭ以下であると判定された場合、ステップＳ７４に進み、変数mが、変数n以上であるかどうかが判定される。ステップＳ７４において、変数mが、変数n以上でないと判定された場合、ステップＳ７５をスキップして、ステップＳ７２に戻る。
【０１５９】
即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、下三角の成分である場合には、その成分は、上述したように求める必要がないから、特に処理を行わすに、ステップＳ７２に戻る。
【０１６０】
また、ステップＳ７４において、変数mが、変数n以上であると判定された場合、即ち、変数mおよびnが表す行列Ａの第ｎ行第ｍ列の成分が、対角成分であるか、または上三角の成分である場合、ステップＳ７５に進み、クラス#cについての行列Ａの第ｎ行第ｍ列の成分A[c][n][m]と、クラス#cについてのベクトルｖの第ｎ行の成分v[c][n]が、次式にしたがって演算される。
【０１６１】
A[c][n][m] += Val[Mp_pointer[n][m]][offset[n][m]]
v[c][n] += L[x+Dx[n]][y+Dy[n]]×L'[x][y]
・・・（１０）
【０１６２】
即ち、正規方程式加算回路３３において、積メモリ回路３２から、変数Mp_pointer[n][m]で表される積メモリの、変数offset[n][m]で表されるアドレスに記憶されているＳＤ画素どうしの乗算値Val[Mp_pointer[n][m]][offset[n][m]]が読み出され、変数A[c][n][m]に足し込まれる（積算される）。さらに、正規方程式加算回路３３では、座標(x+Dx[n],y+Dy[n])（Dx[n]またはDy[n]は、図７を参照して説明したように、注目画素から見た予測タップを構成するn番目のＳＤ画素p#nのｘ座標またはｙ座標を表す）に位置するＳＤ画素の画素値L[x+Dx[n]][y+Dy[n]]が、フレームメモリ４から読み出されるとともに、注目画素となっているＨＤ画素の画素値L'[x][y]が読み出される。そして、L[x+Dx[n]][y+Dy[n]]とL'[x][y]との乗算値が演算され、変数v[c][n]に足し込まれる（積算される）。
【０１６３】
そして、ステップＳ７２に戻り、以下、同様の処理が繰り返される。
【０１６４】
一方、ステップＳ６３において、変数yがymax以下でないと判定された場合、即ち、教師データとして用意されたＨＤ画素すべてを注目画素として処理を行った場合、リターンする。
【０１６５】
以上のように、生徒データとしてのＳＤ画素どうしの乗算値をあらかじめ求め、その乗算値を、それを求めるのに用いた２つのＳＤ画素どうしの相対的な位置関係ごとに記憶しておき、行列Ａの各成分を求めるのに用いるようにしたので、ＳＤ画素どうしの乗算回数を少なくすることができ、その結果、乗算時間を少なくし、あるいは、装置の大規模化を防止することが可能となる。
【０１６６】
即ち、例えば、いま、図１９（Ａ）に示すように、空間方向（水平方向、垂直方向）にある１０個のＳＤ画素で予測タップが構成されるものとすると、行列Ａを求めるのにあたって、あるＳＤ画素について、そのＳＤ画素との乗算値が計算されるＳＤ画素の範囲は、図１９（Ｂ）に示すようになる。
【０１６７】
ここで、図１９（Ａ）に示した予測タップを構成する任意の２つのＳＤ画素（同一のＳＤ画素も含む）を選択し、その一方を始点とするとともに、他方を終点とするベクトル（画素間ベクトル）を求め、その画素間ベクトルによって、あるＳＤ画素を始点として到達することのできるＳＤ画素をプロットすることで、図１９（Ｂ）が得られる。
【０１６８】
図１９（Ｂ）は、斜線を付した○印で示すＳＤ画素ｐに着目して、そのＳＤ画素ｐを始点として、画素間ベクトルにより到達することのできるＳＤ画素の範囲を示しており、この範囲内にあるＳＤ画素の画素数は、積メモリ回路３２において、ＳＤ画素どうしの乗算値を、それを求めるのに用いた２つのＳＤ画素どうしの相対的な位置関係ごとに記憶するのに必要な積メモリの数に一致する。従って、図１９（Ａ）および（Ｂ）から明らかなように、必要な積メモリの数は、予測タップを構成するＳＤ画素の画素数の４倍以下の値となり、予測タップを構成するＳＤ画素の画素数をＪとすれば、Ｊのオーダに比例する値となる。その結果、乗算回路３１による２つのＳＤ画素どうしの乗算回数も、Ｊのオーダに比例する回数となり、従来の場合に比較して、装置を小規模化し、あるいは処理を短時間化することができる。
【０１６９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアとしての学習装置に組み込まれているコンピュータ、または各種のプログラムをインストールすることで各種の処理を行う汎用のコンピュータ等にインストールされる。
【０１７０】
そこで、図２０を参照して、上述した一連の処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられる媒体について説明する。
【０１７１】
プログラムは、図２０（Ａ）に示すように、コンピュータ１０１に内蔵されている記録媒体としてのハードディスク１０２や半導体メモリ１０３に予めインストールした状態でユーザに提供することができる。
【０１７２】
あるいはまた、プログラムは、図２０（Ｂ）に示すように、フロッピーディスク１１１、CD-ROM(Compact Disc Read Only Memory)１１２，MO(Magneto optical)ディスク１１３，DVD(Digital Versatile Disc)１１４、磁気ディスク１１５、半導体メモリ１１６などの記録媒体に、一時的あるいは永続的に格納し、パッケージソフトウエアとして提供することができる。
【０１７３】
さらに、プログラムは、図２０（Ｃ）に示すように、ダウンロードサイト１２１から、ディジタル衛星放送用の人工衛星１２２を介して、コンピュータ１０１に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワーク１３１を介して、コンピュータ１２３に有線で転送し、コンピュータ１０１において、内蔵するハードディスク１０２などに格納させるようにすることができる。
【０１７４】
本明細書における媒体とは、これら全ての媒体を含む広義の概念を意味するものである。
【０１７５】
また、本明細書において、媒体により提供されるプログラムを記述するステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１７６】
次に、図２１は、図２０のコンピュータ１０１の構成例を示している。
【０１７７】
コンピュータ１０１は、図２１に示すように、CPU(Central Processing Unit)１４２を内蔵している。CPU１４２には、バス１４１を介して、入出力インタフェース１４５が接続されており、CPU１４２は、入出力インタフェース１４５を介して、ユーザによって、キーボードやマウス等で構成される入力部１４７が操作されることにより指令が入力されると、それにしたがって、図２０（Ａ）の半導体メモリ１０３に対応するROM(Read Only Memory)１４３に格納されているプログラムを実行する。あるいは、また、CPU１４２は、ハードディスク１０２に格納されているプログラム、衛星１２２若しくはネットワーク１３１から転送され、通信部１４８で受信されてハードディスク１０２にインストールされたプログラム、またはドライブ１４９に装着されたフロッピーディスク１１１、CD-ROM１１２、MOディスク１１３、DVD１１４、若しくは磁気ディスク１１５から読み出されてハードディスク１０２にインストールされたプログラムを、RAM(Random Access Memory)１４４にロードして実行する。そして、CPU１４２は、その処理結果を、例えば、入出力インタフェース１４５を介して、LCD(Liquid CryStal Display)等で構成される表示部１４６に、必要に応じて出力する。
【０１７８】
なお、本実施の形態では、画像の解像度を向上させる予測係数を求めるようにしたが、その他、例えば、前述したように、S/Nやぼけ等を改善する予測係数を求めるようにすることも可能である。即ち、生徒データとして、教師データのＳ／Ｎを劣化させたものや、教師データをぼかしたものを用いて学習することにより、Ｓ／Ｎやぼけを改善する予測係数を求めることができる。
【０１７９】
また、本実施の形態では、画像を処理の対象としたが、本発明は、その他、例えば、音声等を処理の対象とすることも可能である。
【０１８０】
さらに、本実施の形態では、積メモリ回路３２において、乗算回路３１が出力するＳＤ画素どうしの乗算値すべてを記憶させるようにしたが、積メモリ回路３２には、各クラスごとの行列Ａの各成分となっているＳＤ画素どうしの乗算値のうち、足し込みが２回以上行われるもののみを記憶させるようにすることができる。なお、この場合、足し込みが１回しか行われない乗算値は、図８において点線で示すように、乗算回路３１から正規方程式加算回路３３に、直接供給するようにすれば良い。また、足し込みが２回以上行われるＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値の検出は、例えば、図１６で説明した、変数Mp_pointer[n][m]および変数Offset[n][m]に初期値をセットするセット処理のステップＳ３８において、変数Mp_pointer[n][m]に対して、値がセットされる回数をカウントすることで行うことができる。即ち、ステップＳ３８において、値が複数回セットされる変数Mp_pointer[n][m]のインデックスn,mによって特定されるＳＤ画素ｐ＃ｎとｐ＃ｍの乗算値は、足し込みが２回以上行われる。
【０１８１】
また、本実施の形態では、説明を簡単にするために、教師データとして、１フレームのＨＤ画像を用いるようにしたが、教師データとしては、その他、例えば、複数フレームのＨＤ画像を用いることも可能である。複数フレームのＨＤ画像を教師データとして用いる場合には、図１５に示したフローチャートにおいて、ステップＳ２１およびＳ２２の処理を行った後、各フレームのＨＤ画像について、ステップＳ２３およびＳ２４の処理を繰り返し行い、その後、ステップＳ２５の処理を行うようにすれば良い。
【０１８２】
さらに、本実施の形態では、１フレームのＨＤ画像とＳＤ画像を、教師データと生徒データとして、一度に用いて、図１５のステップＳ２３およびＳ２４の処理を行うようにしたが、この場合、ＳＤ画素どうしの乗算値を記憶する積メモリ回路３２としては、１フレームのＳＤ画素の画素数と、予測タップを構成するＳＤ画素の画素数とを乗算した値に比例する容量を有するものが必要となる。即ち、積メモリ回路３２に要求される容量は、図１５のステップＳ２３およびＳ２４の処理を一度に行う対象とする教師データ（生徒データ）のデータ量に比例する。従って、積メモリ回路３２の容量は、図１５のステップＳ２３およびＳ２４の処理を一度に行う対象とする教師データの数を少なくすることで（例えば、教師データとするＨＤ画像のフレームを、幾つかのブロックに分割して、各ブロックについて、図１５のステップＳ２３およびＳ２４の処理を繰り返し行うようにすることで）低減することができる。
【０１８３】
【発明の効果】
以上の如く、本発明によれば、所定の教師データを線形予測するのに用いる生徒データのうちの任意の２つの乗算値が演算され、その乗算値が、それを求めるのに用いた２つの生徒データどうしの相対的な位置関係ごとに記憶される。そして、その記憶された乗算値を積算することにより、予測係数を求めるための正規方程式が生成される。従って、積算の対象となる乗算値を求めるための乗算回数を少なくすることができ、その結果、装置の小型化、あるいは処理の高速化を図ることが可能となる。
【図面の簡単な説明】
【図１】従来の学習装置の一例の構成を示すブロック図である。
【図２】図１の垂直間引きフィルタ２および水平間引きフィルタ３の処理を説明するための図である。
【図３】図１の正規方程式加算回路７の構成例を示すブロック図である。
【図４】予測タップを構成するＳＤ画素を示す図である。
【図５】図３の正規方程式構成部１２hの構成例を示すブロック図である。
【図６】図１の学習装置による正規方程式構成処理を説明するためのフローチャートである。
【図７】図６のステップＳ１６の処理を説明するための図である。
【図８】本発明を適用した学習装置の一実施の形態の構成例を示すブロック図である。
【図９】図８の乗算回路３１の処理を説明するための図である。
【図１０】図８の積メモリ回路３２の構成例を示すブロック図である。
【図１１】図８の積メモリ回路３２の構成例を示すブロック図である。
【図１２】図８の正規方程式加算回路３３の構成例を示すブロック図である。
【図１３】図１２の正規方程式構成部１２hの構成例を示すブロック図である。
【図１４】積メモリ回路３２に対するアドレッシングを説明するための図である。
【図１５】図８の学習装置の処理を説明するためのフローチャートである。
【図１６】図１５のステップＳ２１の処理の詳細を説明するためのフローチャートである。
【図１７】図１５のステップＳ２３の処理の詳細を説明するためのフローチャートである。
【図１８】図１５のステップＳ２４の処理の詳細を説明するためのフローチャートである。
【図１９】積メモリ回路３２に必要な積メモリの数を説明するための図である。
【図２０】本発明を適用した媒体を説明するための図である。
【図２１】図２０のコンピュータ１０１の構成例を示すブロック図である。
【符号の説明】
１  フレームメモリ，  ２  垂直間引きフィルタ，  ３  水平間引きフィルタ，  ４  フレームメモリ，  ５  クラスタップ構成回路，  ６  クラス分類回路，  ８  予測係数決定回路，  ９  メモリ，  ３１  乗算回路，  ３２  積メモリ回路，  ３３  正規方程式加算回路，  ４１1乃至４１9  積メモリ，  ４２  読み書き制御部，  ５１  読み出し回路，  ５２1乃至５２H  正規方程式構成部，  ６１  左辺メモリ，  ６２  右辺メモリ，  １０１  コンピュータ，  １０２  ハードディスク，  １０３  半導体メモリ，  １１１  フロッピーディスク，  １１２  CD-ROM，  １１３  MOディスク，  １１４  DVD，  １１５  磁気ディスク，  １１６  半導体メモリ，  １２１  ダウンロードサイト，  １２２衛星，  １３１  ネットワーク，  １４１  バス，  １４２  CPU，  １４３  ROM，  １４４  RAM，  １４５  入出力インタフェース，  １４６  表示部，１４７  入力部，  １４８  通信部，  １４９  ドライブ
【図１】
0004395677.tif 000010
【図２】
0004395677.tif 000011
【図３】
0004395677.tif 000012
【図４】
0004395677.tif 000013
【図５】
0004395677.tif 000014
【図６】
0004395677.tif 000015
【図７】
0004395677.tif 000016
【図８】
0004395677.tif 000017
【図９】
0004395677.tif 000018
【図１０】
0004395677.tif 000019
【図１１】
0004395677.tif 000020
【図１２】
0004395677.tif 000021
【図１３】
0004395677.tif 000022
【図１４】
0004395677.tif 000023
【図１５】
0004395677.tif 000024
【図１６】
0004395677.tif 000025
【図１７】
0004395677.tif 000026
【図１８】
0004395677.tif 000027
【図１９】
0004395677.tif 000028
【図２０】
0004395677.tif 000029
【図２１】
0004395677.tif 000030