以下、本発明の実施の形態について図を参照して説明する。
図1は、本発明を適用した画像処理装置1の構成例を示すブロック図である。
画像処理装置1は、高画質化回路11、リプレイ画像生成回路12、合成回路13から構成される。画像処理装置1は、図示せぬアンテナで受信されたテレビジョン放送波より得られるSD(Standard Definition)画像を高画質化回路11においてHD(High Definition)画像に変換し、HD画像を外部に出力する。例えば、画像処理装置1は、水平ライン数が262ラインのプログレッシブ方式(ノンインターレース方式)のSD画像等を、その横および縦の画素数をいずれも2倍にした、水平ライン数が525ラインのプログレッシブ方式のHD画像等に変換し、出力する。
また、画像処理装置1は、そのリプレイ画像生成回路12において、入力されるSD画像に対して所定の処理を施すことで、後から、SD画像を復号するために用いるデータを記憶しておき、ユーザから直前の画像(複数の連続する画像)のリプレイが要求されたとき、記憶しておいたデータから元のSD画像を復号し、それを、高画質化回路11から出力される画像に合成回路13で重ねて表示させる(PinP(Picture in Picture)表示させる)。
図2は、表示装置21が表示する画面の例を示す図である。図1の画像処理装置1から出力された画像は、この表示装置21により表示される。
図2の画像21Aは、図1の高画質化回路11により高画質化処理が施されて得られたスポーツ番組のある時刻の画像である。また、画像21Bは、リプレイ画像生成回路12により生成された、画像21Aの表示時刻より前の時刻のスポーツ番組の画像である。
なお、リプレイ画像生成回路12においては、ユーザからリプレイが要求されたとき、記憶しておいたデータから元のSD画像を単に復号するだけでなく、復号した画像に対して、それを高画質化するための処理も施される。即ち、図2の画像21Bは、記憶していたデータから得られた画像を高画質化した画像である。
以下、適宜、リプレイが要求されるまでに記憶しておいたデータから復号された画像をデコード画像といい、それに高画質化処理を施して得られる、高画質化回路11からの画像にPinP表示させる画像(図2の画像21B)をリプレイ画像という。
後に詳述するように、高画質化回路11においてSD画像に対して施される高画質化処理と、リプレイ画像生成回路12においてデコード画像に対して施される高画質化処理は、その一部の処理内容が異なるようにすることができる。
ここで、高画質化回路11とリプレイ画像生成回路12のそれぞれにおいて行われるクラス分類適応処理の一般的な事項について説明する。
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理とは、以下のような手法の処理である。
即ち、適応処理では、例えば、低画質または標準画質の画像であるSD画像データが、所定のタップ係数(以下、適宜、予測係数とも称する)を用いてマッピング(写像)されることにより、高画質の画像であるHD画像というデータに変換される。
いま、このタップ係数を用いてのマッピング方法として、例えば、線形1次結合モデルを採用することとすると、HD画像データを構成する画素(以下、適宜、HD画素という)の画素値yは、SD画像データを構成する画素(以下、適宜、SD画素という)から、HD画素を予測するための予測タップとして抽出される複数のSD画素と、タップ係数とを用いて、次の線形1次式(線形結合)によって求められる。
但し、式(1)において、xnは、HD画素yについての予測タップを構成する、n番目のSD画像データの画素の画素値を表し、wnは、n番目のSD画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個のSD画素x1,x2,・・・,xNで構成されるものとしてある。
ここで、HD画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルのHD画素の画素値の真値をy
kと表すとともに、式(1)によって得られるその真値y
kの予測値をy
k'と表すと、その予測誤差e
kは、次式で表される。
式(2)の予測値y
k'は、式(1)にしたがって求められるため、式(2)のy
k'を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(3)において、xn,kは、第kサンプルのHD画素についての予測タップを構成するn番目のSD画素を表す。
式(3)の予測誤差ekを0とするタップ係数wnが、HD画素を予測するのに最適なものとなるが、すべてのHD画素について、そのようなタップ係数wnを求めることは、一般には困難である。
そこで、タップ係数w
nが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数w
nは、統計的な誤差としての、例えば、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
但し、式(4)において、Kは、HD画素ykと、そのHD画素ykについての予測タップを構成するSD画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数を表す。
式(4)の自乗誤差の総和Eを最小(極小)にするタップ係数w
nは、その総和Eをタップ係数w
nで偏微分したものを0とするものであり、従って、次式を満たす必要がある。
そこで、上述の式(3)をタップ係数w
nで偏微分すると、次式が得られる。
式(7)のe
kに、式(3)を代入することにより、式(7)は、式(8)で示される正規方程式で表すことができる。
式(8)の正規方程式は、HD画素ykとSD画素xn,kのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wnの数と同じ数だけたてることができ、従って、式(8)を解くことで(但し、式(8)を解くには、式(8)において、タップ係数wnにかかる左辺の行列が正則である必要がある)、最適なタップ係数wnを求めることができる。なお、式(8)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを採用することが可能である。
以上のように、多数のHD画素y1,y2,・・・,yKを、タップ係数の学習の教師となる教師データとするとともに、各HD画素ykについての予測タップを構成するSD画素x1,k,x2,k,・・・,xN,kを、タップ係数の学習の生徒となる生徒データとして、式(8)を解くことにより、最適なタップ係数wnを求める学習を行っておき(学習については後に詳述する)、さらに、そのタップ係数wnを用い、式(1)により、SD画像データを、HD画像データにマッピング(変換)するのが適応処理である。
なお、適応処理は、SD画像には含まれていないが、HD画像に含まれる成分が再現される点で、例えば、単なる補間処理とは異なる。即ち、適応処理では、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一に見えるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての学習により求められたものであるため、HD画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造(解像度創造)作用がある処理ということができる。
また、ここでは、適応処理について、解像度を向上させる場合を例にして説明したが、適応処理によれば、予測係数を求めるのに用いる教師データおよび生徒データを変えることで、例えば、S/N(Signal to Noise Ratio)の向上や、ぼけの改善等の画質の向上を図ることが可能である。
図3は、以上のようなクラス分類適応処理を用いて、SD画像からHD画像の予測値を求める処理を行う図1の高画質化回路11の構成例を示すブロック図である。
フレームメモリ31には、解像度を向上させる対象としてのSD画像が、例えば、1フレーム単位で供給されるようになっており、フレームメモリ31は、そのSD画像を所定の期間記憶する。なお、フレームメモリ31は、複数バンクを有しており、これにより、複数フレームのSD画像を同時に記憶しておくことができるようになっている。
予測タップ抽出回路32は、フレームメモリ31に記憶されたSD画像の解像度を向上させたHD画像(予測タップ抽出回路32では、このHD画像は実際には存在しないが、仮想的に想定される)を構成する画素を、順次、注目画素とし、その注目画素の位置に対応するSD画像の位置から、空間的または時間的に近い位置にある幾つかのSD画素を、フレームメモリ31のSD画像から選択する。予測タップ抽出回路32は、その選択したSD画素を、予測係数との乗算に用いる予測タップとする。
即ち、予測タップ抽出回路32は、図4に示されるように、注目画素の位置に最も近い、SD画像の画素(図4では、P33とP34の2つあるが、ここでは、例えば、P33とする)、およびその上下左右に隣接する4個のSD画素P23,P43,P32,P34、並びに、SD画素P33に対応する、1フレーム前のSD画素および1フレーム後のSD画素の合計7画素を予測タップとして選択する。
予測タップ抽出回路32は、このようにして選択した注目画素についての予測タップとなるSD画素を、フレームメモリ31に記憶されたSD画像から抽出し、抽出したSD画素を注目画素の予測タップとして予測演算回路36に出力する。
なお、予測タップとして選択するSD画素は、上述したものに限定されるものではない。また、上述の場合には、7個のSD画素で予測タップを構成するようにしたが、予測タップを構成するSD画素の数も、適宜変更することが可能である。
クラスタップ抽出回路33は、注目画素の位置に対応するSD画像の位置から、空間的または時間的に近い位置にある幾つかのSD画素を、フレームメモリ31のSD画像から選択し、その選択したSD画素を、注目画素を幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いるクラスタップとする。
例えば、クラスタップ抽出回路33は、図4に示されるように、注目画素の位置に最も近いSD画像の画素P33、およびその上下左右、左上、右上、左下、右下に隣接する8個のSD画素P23,P43,P32,P34,P22,P24,P42,P44、並びにSD画素P33に対応する、1フレーム前のSD画素および1フレーム後のSD画素の合計11画素を、クラスタップとして選択する。
クラスタップ抽出回路33は、このようにして選択した注目画素についてのクラスタップとなるSD画素を、フレームメモリ31に記憶されたSD画像から選択し、そのようなSD画素で構成されるクラスタップをクラス分類処理回路34に出力する。
なお、クラスタップとして選択するSD画素も、上述したものに限定されるものではない。また、上述の場合には11個のSD画素でクラスタップを構成するようにしたが、クラスタップを構成するSD画素の数も適宜変更することが可能である。
クラス分類処理回路34は、クラスタップ抽出回路33からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを、係数メモリ35に対してアドレスとして供給する。
ここで、クラス分類処理回路34においてクラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
ADRCを用いる方法では、クラスタップを構成するSD画素がADRC処理され、その結果得られるADRCコードにしたがって注目画素のクラスが決定される。
例えば、KビットADRCにおいては、クラスタップを構成するSD画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成するSD画素がKビットに再量子化される。即ち、クラスタップを構成するSD画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(再量子化)される。そして、以上のようにして得られる、クラスタップを構成する各SD画素についてのKビットの画素値を所定の順番で並べたビット列がADRCコード(再量子化コード)として出力される。
従って、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各SD画素の画素値は、最小値MINが減算された後にDR/2で除算され、これにより、各画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
ここで、クラス分類処理回路34には、例えば、クラスタップを構成するSD画素のレベル分布のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、N個のSD画素で構成され、各SD画素にKビットが割り当てられているとすると、クラス分類処理回路34が出力するクラスコードの数は(2N)K個となり、画素値のビット数Kに指数的に比例した膨大な数となる。
従って、上述のように、画素値のビット数等を、いわば圧縮するADRC処理等のような圧縮処理を行ってからクラス分類を行うのが好ましい。例えば、クラス分類処理回路34において、1ビットADRC処理によるクラス分類を行うことにより、クラスタップが、上述のように11個のSD画素で構成される場合でも、そのクラスコードの数は(211)1通りとなる。
なお、クラス分類処理回路34における圧縮処理としては、ADRC処理に限定されるものではなく、その他、例えば、ベクトル量子化等を用いることも可能である。
図3の説明に戻り、係数メモリ35は、後述するような学習処理が行われることで得られる予測係数を記憶し、クラス分類処理回路34から供給されるクラスコードに対応するアドレスに記憶されている予測係数を予測演算回路36に供給する。
予測演算回路36は、予測タップ抽出回路32から供給される予測タップと、係数メモリ35から供給される予測係数とを用いて、式(1)に示した線形予測演算(積和演算)を行い、その結果得られる画素値を、SD画像の解像度を向上させたHD画像の予測値とする。予測演算回路36は、注目画素を切り替えて順次得られる予測値から、例えば、1フレームの525p(水平ライン数が525のプログレッシブ方式)のHD画像を構成し、出力する。
次に、図5のフローチャートを参照して、図3の高画質化回路11により行われる高画質化処理について説明する。
処理すべきSD画像は、例えば、フレーム単位でフレームメモリ31に順次供給され、記憶される。
ステップS1において、予測タップ抽出回路32は、フレームメモリ31に記憶されたSD画像の解像度を向上させたHD画像を構成する画素のうちの、まだ、注目画素とされていないものを注目画素とし、フレームメモリ31に記憶されたSD画像の画素を用いて、注目画素についての予測タップを抽出する。また、ステップS1において、クラスタップ抽出回路33は、フレームメモリ31に記憶されたSD画像の画素を用いて、注目画素についてのクラスタップを抽出する。
予測タップ抽出回路32により抽出された予測タップは予測演算回路36に供給され、クラスタップ抽出回路33により抽出されたクラスタップはクラス分類処理回路34に供給される。
ステップS2において、クラス分類処理回路34は、クラスタップ抽出回路33からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを、係数メモリ35に対してアドレスとして供給する。係数メモリ35からは、記憶される各クラスの予測係数のうち、クラス分類処理回路34からのクラスコードで表されるアドレスに記憶されている予測係数が予測演算回路36に出力される。
予測演算回路36は、ステップS3において、予測タップ抽出回路32から供給される予測タップと、係数メモリ35から供給される予測係数とを用いて、式(1)に示した線形予測演算を行い、その結果得られる画素値を注目画素の予測値とする。
予測演算回路36は、ステップS4において、1フレーム分のHD画像を構成する画素の予測値が得られたか否かを判定し、まだ1フレーム分の予測値が得られていないと判定した場合、ステップS1に戻り、それ以降の処理を実行させる。これにより、HD画像のフレームを構成する画素のうち、まだ注目画素とされていないものが新たに注目画素とされ、同様の処理が繰り返される。
一方、ステップS4において、1フレーム分の予測値が得られたと判定した場合、予測演算回路36は、ステップS5に進み、その1フレーム分の予測値でなるHD画像を合成回路13(図1)に出力する。
ステップS6において、予測タップ抽出回路32からの入力などに基づいて、予測演算回路36は、SD画像の入力が終わりか否かを判定し、終わりではないと判定した場合、ステップS1に戻る。その後、次のHD画像のフレームを対象にして、ステップS1以降の処理が繰り返される。ステップS6において、SD画像の入力が終わりであると判定された場合、処理は終了される。
以上のようにして高画質化回路11により生成されたHD画像は、リプレイ画像生成回路12からのリプレイ画像が合成回路13に供給されていない場合には、そのまま表示装置21により表示される。
図6は、図1のリプレイ画像生成回路12の構成例を示すブロック図である。
ADRCエンコーダ/デコーダ51は、入力されるSD画像を、例えば、9×9の画素からなる複数のブロックに分割し、各ブロックの画素に対して上述した1ビットADRC処理を施す。ADRC処理により得られたADRCコード、ダイナミックレンジDR、最小値MINを表わすデータは、バッファ52に供給され、記憶される。
ここでバッファ52に記憶される各ブロックについてのADRCコード、ダイナミックレンジDR、最小値MINを表わすデータの量は、例えば、81画素(9×9画素)がそれぞれ1ビットのADRCコード(1または0)で表されるから、その81ビットに、ダイナミックレンジDRと最小値MINがそれぞれ8ビットで表されるとすると16ビットを加えた合計97ビットである。
なお、ADRCコードのビット数、ダイナミックレンジDR、最小値MINを表すビット数は、バッファ52の容量に応じて、またはADRCエンコーダ/デコーダ51のエンコード、デコード能力等に応じて適宜変更可能である。
ADRCエンコーダ/デコーダ51は、また、例えば、ユーザがリモートコントローラに設けられるリプレイボタンを操作したときに出力されるリプレイ要求を受信したとき、バッファ52に記憶されているADRCコード、ダイナミックレンジDR、最小値MINを表すデータに基づいて各ブロックの画素をデコードし、それを繰り返すことで1フレームのデコード画像を生成する。上述したように、ADRC処理はいわば画像の圧縮であり、この圧縮は不可逆圧縮であるから、ADRCエンコーダ/デコーダ51によりデコードされて得られたデコード画像は、リプレイ画像生成回路12に入力されたSD画像より画質が劣るものである。
なお、ADRCコード、ダイナミックレンジDR、最小値MINを表すデータからは、例えば、ADRCコードQ×(DR/2K)+MINにより各画素の画素値をデコードすることができる。時間履歴クラス分類処理回路54の構成(例えば、後述する図15の構成)によっては、ADRCエンコーダ/デコーダ51によりデコードされた画素の画素値は、図6の点線矢印で示されるように時間履歴クラス分類処理回路54にも供給される。
このように、ADRC処理により得られるADRCコード、ダイナミックレンジDR、最小値MINを表すデータをバッファに記憶させておき、リプレイが要求されたときには、それらのデータに基づいて画像をデコードするようにしたため、入力されるSD画像をそのままバッファに記憶させておく場合に較べて、同じ容量のバッファに対してより長い時間のリプレイ画像を表示させる分のデータを記憶させておくことが可能になる。ADRC処理を行わない場合(SD画像を表すデータをそのままバッファに記憶させる場合)、例えば、9×9の画素からなる1つのブロックのデータの量は、各画素の画素値を8ビットで表したときには648ビット(9×9×8)であるから、ADRC処理を行った場合の上述した97ビットに較べて多い。
予測タップ抽出回路53は、ADRCエンコーダ/デコーダ51によりデコードされることで得られたデコード画像の、例えば、解像度を向上させたリプレイ画像(予測タップ抽出回路53では、このリプレイ画像は実際には存在しないが、仮想的に想定される)を構成する所定の画素を、順次、注目画素とし、その注目画素の位置に対応するデコード画像の位置から空間的または時間的に近い位置にある幾つかのデコード画像の画素(以下、適宜、デコード画素という)を選択する。予測タップ抽出回路53は、その選択したデコード画素を、予測係数との乗算に用いる予測タップとする。
図7は、予測タップ抽出回路53により抽出される予測タップの例を示す図である。
図7において、○はデコード画素を表し、×はリプレイ画像の画素を表す。また、図7において、画像71は、注目画素を含むフレームの画像であり、その表示時刻は時刻Tである。また、画像72は、注目画素を含むフレーム(画像71)の1フレーム前のフレームの画像であり、その表示時刻は時刻T−1である。さらに、画像73は、注目画素を含むフレームの1フレーム後のフレームの画像であり、その表示時刻は時刻T+1である。
即ち、予測タップ抽出回路53は、図7に示されるように、注目画素の位置に最も近いデコード画素(図7では、P22とP23の2つあるが、ここでは、例えば、P22とする)、およびその左上、上、右上、左、右、左下、右下に隣接する8個のデコード画素P11,P12,P13,P21,P23,P31,P32,P33、並びに、注目画素に対応する位置のデコード画素P22に対応する位置にある、1フレーム前のデコード画素P22を中心とした9画素(画素P22を含む)、および1フレーム後のデコード画素P22を中心とした9画素(画素P22を含む)の、合計27画素を予測タップとして選択する。
予測タップ抽出回路53は、このようにして選択した注目画素についての予測タップとなるデコード画素を、ADRCエンコーダ/デコーダ51によりデコードされることで得られたデコード画像から抽出し、抽出したデコード画素で構成される予測タップを予測演算回路56に出力する。
なお、図4を参照して説明した場合と同様に、予測タップとして選択するデコード画素は、上述したものに限定されるものではない。
ADRCエンコーダ/デコーダ51に入力されるリプレイ要求は、時間履歴クラス分類処理回路54にも入力されるようになされており、時間履歴クラス分類処理回路54は、リプレイ要求が入力されたとき、注目画素に対応する位置に最も近いSD画素のADRCコード、ダイナミックレンジDR、最小値MIN(注目画素に対応する位置を含むブロックのダイナミックレンジDR、最小値MIN)を表すデータ、および、そのSD画素に対応する、前後1フレームのSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータをバッファ52から読み出し、クラス分類を行う。後述するように、時間履歴クラス分類処理回路54は、注目画素に対応する位置におけるダイナミックレンジDRの遷移と、ADRCコードの遷移に基づいてクラス分類を行う。
時間履歴クラス分類処理回路54は、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを係数メモリ55に対してアドレスとして供給する。以下、時間履歴クラス分類処理回路54が出力するクラスコードを、適宜、時間履歴クラスコードという。
係数メモリ55は、後述するような学習処理により得られる予測係数を記憶し、時間履歴クラス分類処理回路54から供給される時間履歴クラスコードに対応するアドレスに記憶されている予測係数を予測演算回路56に供給する。
予測演算回路56は、予測タップ抽出回路53から供給される予測タップ(例えば、図7の27画素)と、係数メモリ55から供給される予測係数とを用いて、式(1)に示した線形予測演算(積和演算)を行い、その結果得られる画素値を、デコード画像の解像度を向上させたリプレイ画像の予測値とする。予測演算回路56は、注目画素を切り替えて順次得られる予測値から、例えば、1フレームのリプレイ画像を構成し、合成回路13(図1)に出力する。
図8は、図6の時間履歴クラス分類処理回路54の構成例を示すブロック図である。
時間履歴クラス分類処理回路54は、DR履歴算出回路81、波形履歴算出回路82、クラスコード算出回路83から構成される。
DR履歴算出回路81は、バッファ52から読み出されたADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのダイナミックレンジDRを表すデータに基づいて、注目画素に対応する位置のSD画素のダイナミックレンジDRの時間的な遷移を表す履歴DRhistを算出する。
例えば、DR履歴算出回路81は、図9に示されるように、時刻tのフレームの注目画素に対応する位置のSD画素を含むADRCブロック(ADRC処理の単位となる例えば9×9の画素のブロック)のダイナミックレンジDRtと、時刻t−1のフレームの注目画素に対応する位置のSD画素を含むADRCブロックのダイナミックレンジDRt-1と、時刻t+1のフレームの注目画素に対応する位置のSD画素を含むADRCブロックのダイナミックレンジDRt+1とから履歴DRhistを算出する。
ダイナミックレンジDRt-1,DRt,DRt+1の遷移のパターンは、図10A乃至Dにそれぞれ示される4パターン(22パターン)に分類される。時間履歴クラス分類処理回路54は、例えば、そのパターンを表す2ビットを、注目画素のダイナミックレンジDRの時間的な遷移を表す履歴DRhist(遷移情報)としてクラスコード算出回路83に出力する。
ダイナミックレンジDRtをDRt、ダイナミックレンジDRt-1をDRt-1、ダイナミックレンジDRt+1をDRt+1でそれぞれ表した場合、図10Aは、DRt-1>DRt<DRt+1となるパターンを表し、図10Bは、DRt-1<DRt<DRt+1となるパターンを表す。また、図10Cは、DRt-1>DRt>DRt+1となるパターンを表し、図10Dは、DRt-1<DRt>DRt+1となるパターンを表す。
なお、以上においては、フレーム間で同じダイナミックレンジDRをとる場合については考慮していないが、当然、それも考慮し、図10A乃至Dの4パターンに加えて、DRt-1=DRt=DRt+1,DRt-1=DRt<DRt+1,DRt-1=DRt>DRt+1,DRt-1>DRt=DRt+1,DRt-1<DRt=DRt+1の5パターンも、履歴DRhistとして算出されるようにしてもよい。
波形履歴算出回路82は、バッファ52から読み出されたADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのADRCコードに基づいて、注目画素に対応する位置のSD画素のADRCコード(波形)の時間的な遷移を表す履歴Whistを算出する。
例えば、波形履歴算出回路82は、時刻t−1のフレームの注目画素に対応する位置のSD画素のADRCコード、時刻tのフレームの注目画素のに対応する位置のSD画素のADRCコード、時刻t+1のフレームの注目画素に対応する位置のSD画素のADRCコードの並びを、履歴Whistとしてクラスコード算出回路83に出力する。1ビットADRC処理が行われている場合、それぞれの画素は1ビットのADRCコードで表されるから、合計3ビットの履歴Whistがクラスコード算出回路83に出力される。
クラスコード算出回路83は、DR履歴算出回路81から入力される履歴DRhistと、波形履歴算出回路82から入力される履歴Whistからクラス分類を行い、その結果得られるクラスに対応する時間履歴クラスコードを係数メモリ55に出力する。
このように、時間履歴クラス分類処理回路54においては、注目画素に対応する位置の時間的な遷移を表す情報に基づくクラス分類が行われることから、連続する画像の内容に応じて、注目画素のクラス分けが行われ、好適な予測値を求めることができる。
次に、以上のような構成を有するリプレイ画像生成回路12の動作についてフローチャートを参照して説明する。
始めに、図11のフローチャートを参照して、リプレイ画像生成回路12により行われるSD画像の圧縮処理について説明する。
この処理は、例えば、画像処理装置1の外部にあるアンテナなどからSD画像が入力されたときに開始される。また、この処理は、例えば、後述する図12の処理と時間的に並行して実行される。
ステップS21において、ADRCエンコーダ/デコーダ51は、入力される1フレームのSD画像を、例えば、9×9の画素からなる複数のブロックに分割し、ステップS22に進み、選択した1つのブロックに対して1ビットADRC処理を施すことでSD画像のエンコードを行う。
ADRCエンコーダ/デコーダ51は、ステップS23において、エンコードにより得られたADRCコード、ダイナミックレンジDR、最小値MINを表すデータをバッファ52に記憶させ、ステップS24に進み、1フレームを構成する全てのブロックについてADRC処理を行ったか否かを判定する。ADRCエンコーダ/デコーダ51は、ステップ24において、1フレームを構成する全てのブロックについてADRC処理を行っていないと判定した場合、ステップS22に戻り、処理対象のブロックを切り替えてADRC処理を繰り返す。
一方、ADRCエンコーダ/デコーダ51は、ステップS24において、1フレームを構成する全てのブロックについてADRC処理を行ったと判定した場合、ステップS25に進み、SD画像の入力が終了したか否かを判定する。ADRCエンコーダ/デコーダ51は、ステップS25において、SD画像の入力が終了していないと判定した場合、ステップS21に戻り、それ以降の処理を繰り返し、SD画像の入力が終了したと判定した場合、処理を終了させる。
以上の処理が繰り返されることで、バッファ52には、ある期間連続してリプレイ画像を復号することが可能な量のADRCコード、ダイナミックレンジDR、最小値MINを表すデータが記憶される。なお、バッファ52の容量には限りがあることから、記憶されているデータの量がバッファ52の容量の限界近くになった場合には、リプレイ画像生成回路12に先に入力されたSD画像から得られたADRCコード、ダイナミックレンジDR、最小値MINを表すデータから順に消去され、時間的により新しい画像から得られたADRCコード、ダイナミックレンジDR、最小値MINを表すデータがバッファ52に記憶される。
次に、図12のフローチャートを参照して、リプレイ画像生成回路12により行われるリプレイ画像生成処理について説明する。
ステップS31において、ADRCエンコーダ/デコーダ51は、ユーザからのリプレイ要求があったか否かを判定し、リプレイ要求があったと判定するまで待機する。リプレイ要求があったと判定されるまでの時間においては、図11の処理が繰り返される。
例えば、ユーザがリモートコントローラに設けられるリプレイボタンを操作したため、ステップS31において、リプレイ要求が入力されたと判定した場合、ステップS32に進み、ADRCエンコーダ/デコーダ51は、バッファ52に記憶されているADRCコード、ダイナミックレンジDR、最小値MINを表すデータに基づいて画像のデコード(ADRCデコード)を行う。ADRCエンコーダ/デコーダ51は、デコードにより得られた1フレームのデコード画像を予測タップ抽出回路53に出力する。
ステップS33において、予測タップ抽出回路53は、ADRCエンコーダ/デコーダ51によりデコードされることで得られたデコード画像の解像度を向上させたリプレイ画像を構成する所定の画素を、順次、注目画素とし、その注目画素の位置に対応するデコード画像の位置から空間的または時間的に近い位置にある幾つかのデコード画素を、予測係数との乗算に用いる予測タップとする。
予測タップ抽出回路53は、予測タップとなるデコード画素をデコード画像から抽出し、抽出したデコード画素で構成される予測タップを予測演算回路56に出力する。ここでは、例えば、図7に示される合計27画素の予測タップが予測演算回路56に出力される。
ステップS34において、時間履歴クラス分類処理回路54は、注目画素に対応する位置のSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータ、および、注目画素に対応する、前後1フレームのSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータをバッファ52から読み出す。読み出されたそれらのデータは、時間履歴クラス分類処理回路54のDR履歴算出回路81、波形履歴算出回路82にそれぞれ入力される。
また、時間履歴クラス分類処理回路54は、ステップS35において、時間履歴クラスコードを算出する時間履歴クラス分類処理を行う。時間履歴クラス分類処理の詳細については図13のフローチャートを参照して後述する。
ステップS35で行われる時間履歴クラス分類処理により得られた時間履歴クラスコードに対応する予測係数が係数メモリ55から供給されてきたとき、予測演算回路56は、ステップS36において、その予測係数と、予測タップ抽出回路53から供給される予測タップとを用いて、式(1)に示した線形予測演算(積和演算)を行う。
予測演算回路56は、予測演算の結果得られる画素値を、デコード画像の解像度を向上させたリプレイ画像の予測値とし、ステップS37に進み、1フレーム分の予測値が得られたか否かを判定する。ステップ37において、1フレーム分の予測値が得られていないと判定された場合、ステップS33に戻り、それ以降の処理が繰り返される。
一方、ステップS37において、1フレーム分の予測値が得られたと判定した場合、ステップS38に進み、予測演算回路56は、1フレーム分の予測値からリプレイ画像を構成し、それを合成回路13(図1)に出力する。
ステップS39において、ADRCエンコーダ/デコーダ51は、リプレイ終了か否かを判定し、終了でないと判定した場合、ステップS32に戻り、それ以降の処理を繰り返す。例えば、ユーザにより指定された期間のリプレイ画像を生成して出力した場合、或いは、リプレイが要求されるまでにバッファ52に記憶されていたADRCコード、ダイナミックレンジDR、最小値MINを表すデータの全てを用いてリプレイ画像を生成して出力した場合、ステップS39において、リプレイ終了であることがADRCエンコーダ/デコーダ51により判定され、処理は終了される。
次に、図13のフローチャートを参照して、図12のステップS35において行われる時間履歴クラス分類処理について説明する。
ステップS51において、DR履歴算出回路81と波形履歴算出回路82は、注目画素に対応する位置のSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータ、および、注目画素を含むフレームの前後1フレームの注目画素に対応する位置のSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータを取得する。
ステップS52において、波形履歴算出回路82は、バッファ52から読み出したADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのADRCコードに基づいて、注目画素に対応する位置のSD画素のADRCコード(波形)の時間的遷移を表す履歴Whistを算出し、算出した履歴Whistを表すデータをクラスコード算出回路83に出力する。例えば、時刻t−1のフレームの注目画素に対応する位置のSD画素のADRCコード、時刻tのフレームの注目画素に対応する位置のSD画素のADRCコード、時刻t+1のフレームの注目画素に対応する位置のSD画素のADRCコードを並べた3ビットのビット列が履歴Whistとしてクラスコード算出回路83に出力される。
ステップS53において、DR履歴算出回路81は、バッファ52から読み出したADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのダイナミックレンジDRを表すデータに基づいて、ダイナミックレンジDRの時間的遷移を表す履歴DRhistを算出する。
上述したように、例えば、DR履歴算出回路81は、時刻t−1のフレームの注目画素に対応する位置のSD画素のダイナミックレンジDRt-1、時刻tのフレームの注目画素に対応する位置のSD画素のダイナミックレンジDRt、時刻t+1のフレームの注目画素に対応する位置のSD画素のダイナミックレンジDRt+1の遷移のパターンが、図10A乃至Dのいずれのパターンであるかを確認し、その遷移のパターンを表す2ビットを履歴DRhistとしてクラスコード算出回路83に出力する。
クラスコード算出回路83は、ステップS54において、DR履歴算出回路81から入力される履歴DRhistを表すデータと、波形履歴算出回路82から入力される履歴Whistを表すデータからクラス分類を行い、その結果得られるクラスに対応する時間履歴クラスコードを係数メモリ55に出力する。
その後、図12のステップS36に進み、各フレームの注目画素毎に以上の処理が行われる。
次に、図14のフローチャートを参照して、画像を出力する図1の合成回路13の処理について説明する。
合成回路13には、図5の処理により高画質化されたHD画像と、図12の処理により生成されたリプレイ画像が適宜入力される。
ステップS61において、合成回路13は、高画質化回路11からのHD画像の入力があるか否かを判定し、入力があると判定するまで待機する。合成回路13は、ステップS61において、高画質化回路11からのHD画像の入力があると判定した場合、ステップS62に進み、リプレイ画像生成回路12からのリプレイ画像の入力があるか否かを判定する。
ステップS62において、合成回路13は、リプレイ画像生成回路12からのリプレイ画像の入力がないと判定した場合、ステップS63に進み、高画質化回路11から入力されるHD画像をそのまま外部の表示装置21(図2)に出力する。
一方、合成回路13は、ステップS62において、高画質化回路11からのHD画像の他に、リプレイ画像生成回路12からのリプレイ画像の入力もあると判定した場合、ステップS64に進み、高画質化回路11から入力されるHD画像に対して、リプレイ画像をPinP表示させる。これにより、図2に示されるような画面が表示装置21に表示される。
また、表示されるリプレイ映像は、ADRCコード等の履歴に基づいたクラス分類処理が行われ、高画質化された画像からなるものである。従って、ADRCコード等から生成された画像がそのままリプレイ表示用の画像として表示される場合に較べて、より画質のよいものが表示されることになる。
なお、以上においては、高画質化回路11ではクラスタップに基づいたクラス分類処理が行われ、一方、リプレイ画像生成回路12ではADRCコードやダイナミックレンジDRの履歴に基づいたクラス分類処理が行われるとしたが、リプレイ画像生成回路12と同様に、高画質化回路11においてもADRCコード等の履歴に基づいたクラス分類処理が行われ、入力されるSD画像の高画質化が図られるようにしてもよい。
また、以上においては、リプレイ画像生成回路12において、解像度を創造することでデコード画像の高画質化が図られるとしたが、デコード画像のブロックノイズを除去することやエッジを強調することでデコード画像の高画質化が図られるようにしてもよい。この場合、係数メモリ55に記憶される予測係数を学習する後述する学習処理において、教師となる画像がそれぞれ異なるものとされ、予測係数が求められる。
なお、時間履歴クラス分類処理回路54において、履歴が算出される画素の特徴を表すデータは、ADRCコードやダイナミックレンジDRに限られず、これらの他、例えば、動きベクトルの履歴などの様々なデータに基づいて履歴が算出され、クラス分類が行われるようにしてもよい。また、履歴を算出するためのフレームの数は、図9に示されるように3フレームに限られず、それ以上の数のフレームから履歴が算出され、クラス分類が行われるようにしてもよい。
図15は、時間履歴クラス分類処理回路54の他の構成例を示すブロック図である。
図15の時間履歴クラス分類処理回路54は、図8の時間履歴クラス分類処理回路54と較べて、履歴情報メモリ91と合成回路92が付加されている点が異なる。重複する説明については適宜省略する。
履歴情報メモリ91は、ADRCエンコーダ/デコーダ51から入力されるそれぞれの画素の画素値の平均値を算出し、記憶している。図7を参照すると、例えば、画素P11乃至P33のそれぞれの画素の画素値の平均値が、各画素がADRCエンコーダ/デコーダ51によりデコードされる毎に履歴情報メモリ91により算出(更新)され、記憶される。その平均値は所定のビット数で表され、例えば、注目画素に対応する位置のSD画素の画素値の平均値が合成回路92に出力される。
なお、ADRCエンコーダ/デコーダ51から入力される画素値に基づいて各画素の画素値の平均値が算出されるのではなく、履歴情報メモリ91自身が、バッファ52から入力されるデータに基づいて各画素を復号し、その画素値から平均値を算出するようにしてもよい。
合成回路92は、クラスコード算出回路83により算出された時間履歴クラスコードを表すビット列に、履歴情報メモリ91から供給される平均値を表すビット列を付加し、それを注目画素のクラスコードとして係数メモリ55に出力する。係数メモリ55からは、合成回路92から供給されてきたクラスコードに対応する予測係数が予測演算回路56に出力される。
このように、注目画素の時間履歴クラスコードを表すビット列に、ある期間の注目画素に対応する位置のSD画素の画素値の平均値を表すビット列が付加されたものがクラスコードを表すビット列として算出されるから、画像の内容に応じた予測係数に基づいてより好適な予測値が得られる。例えば、100フレームなどのように、比較的長い期間の画素値の平均値が用いられることで、特に、動きの少ない画像の画質を向上させることができる。
ここで、図16のフローチャートを参照して、図15の時間履歴クラス分類処理回路54により行われる時間履歴クラス分類処理について説明する。この処理も、上述した図13の処理と同様に、図12のステップS35において行われるものである。
ステップS71乃至S74の処理は、図13のステップS51乃至S54とそれぞれ同じである。即ち、バッファ52から、注目画素に対応する位置のSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータ、および、そのSD画素に対応する前後1フレームのSD画素のADRCコード、ダイナミックレンジDR、最小値MINを表すデータが読み出されたとき、ステップS71において、DR履歴算出回路81、波形履歴算出回路82は、それぞれ、読み出されたそれらのデータを取得する。
ステップS72において、波形履歴算出回路82は、バッファ52から読み出したADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのADRCコードに基づいて、注目画素に対応する位置のSD画素のADRCコードの時間的な遷移を表す履歴Whistを算出する。また、ステップS73において、DR履歴算出回路81は、バッファ52から読み出したADRCコード、ダイナミックレンジDR、最小値MINを表すデータのうちのダイナミックレンジDRに基づいて、注目画素に対応する位置のSD画素のダイナミックレンジDRの時間的な遷移を表す履歴DRhistを算出する。
クラスコード算出回路83は、ステップS74において、DR履歴算出回路81から入力される履歴DRhistと、波形履歴算出回路82から入力される履歴Whistに基づいて時間履歴クラスコード算出し、算出した時間履歴クラスコードを合成回路92に出力する。
ステップS75において、履歴情報メモリ91は、ADRCエンコーダ/デコーダ51から入力される、注目画素に対応する位置のSD画素の画素値に基づいて、それまでに記憶している、その画素の画素値の平均値を更新する。
ステップS76において、履歴情報メモリ91は、更新した平均値を表す所定の数のビット列を生成し、合成回路92に出力する。
合成回路92は、ステップS77において、履歴情報メモリ91から供給されるビット列を、波形履歴算出回路82によりステップS74で算出された時間履歴クラスコードを表すビット列に付加し、それを係数メモリ55に出力する。その後、図11のステップS36に進み、各フレームの注目画素毎に上述した処理が行われる。
このように、上述したような3フレームなどの比較的短い期間のダイナミックレンジDRの履歴(遷移)に基づいて予測係数が決定される場合と較べて、長い期間の履歴を考慮して予測係数を決定するようにすることもできる。また、長い期間の履歴を考慮する場合でも、図15の時間履歴クラス分類処理回路54では、画素値の平均値が、その長い期間の履歴を表すものとして用いられていることから、少ないデータ量(平均値を表すだけのビット数)で、それを表すことができる。
図17は、図3の係数メモリ35に記憶させる予測係数を学習する学習装置101の構成例を示すブロック図である。
教師データとしてのHD画像(図17、図18の説明において、以下、教師画像という)は、例えば、フレーム単位でフレームメモリ111に供給され、フレームメモリ111は、供給される教師画像を順次記憶する。
なお、図3の高画質化回路11において求められるHD画像は525pの画像であるとしたため、学習装置101で用いられる教師画像としては、そのような525pの画像とされる。
生徒データ生成回路112は、フレームメモリ111に記憶された教師画像を、例えば、フレーム単位で読み出し、LPF(Low Pass Filter)をかけることによって、画像の周波数帯域を下げ、さらに、画素の水平方向の間引きおよび垂直方向の間引きを行うことによって、画素数を減少させる。これにより、生徒データ生成回路112は、教師画像の解像度を低下させ、生徒データとしてのSD画像(図17、図18の説明において、以下、生徒画像という)を生成し、生徒データメモリ113に記憶させる。生徒データ生成回路112により生成されるSD画像である生徒画像は、図2の高画質化回路11に入力されるSD画像に対応する。
予測タップ抽出回路114は、フレームメモリ111に記憶されている教師画像を構成する画素(以下、適宜、教師画素という)を、順次、注目画素とし、その注目画素の位置に対応する生徒画像の位置から空間的または時間的に近い位置にある幾つかの生徒画像の画素(以下、適宜、生徒画素という)を予測タップとする。
即ち、予測タップ抽出回路114は、図3の予測タップ抽出回路32と同様のパターンで、例えば、注目画素の位置に最も近い、生徒画像(SD画像)の生徒画素、およびその上下左右に隣接する4個の生徒画素、並びに、注目画素の位置に最も近い生徒画素に対応する、前後1フレームの生徒画素の合計7画素を予測タップとして設定する。予測タップ抽出回路114は、そのような生徒画素で構成される予測タップを足し込み回路115に出力する。
クラスタップ抽出回路116は、注目画素の位置に対応する、生徒画像の位置から空間的または時間的に近い位置にある幾つかの生徒画素を生徒データメモリ113から読み出し、クラス分類に用いるクラスタップを設定する。クラスタップ抽出回路116は、そのような生徒画素で構成されるクラスタップをクラス分類処理回路117に出力する。
クラス分類処理回路117は、図3のクラス分類処理回路34と同様に、クラスタップ抽出回路116からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを足し込み回路115に供給する。
足し込み回路115は、注目画素となっている教師画素をフレームメモリ111から読み出し、予測タップ抽出回路114からの予測タップ(を構成する生徒画素)と、注目画素(教師画素)を対象とした足し込みを行う。
即ち、足し込み回路115は、クラス分類処理回路117から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒画素)を用い、式(8)のタップ係数にかかる左辺の行列における各コンポーネントとなっている、生徒画素どうしの乗算(xn,kxn,k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み回路115は、やはり、クラス分類処理回路117から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒画素)および注目画素(教師画素)を用い、式(8)の右辺における各コンポーネントとなっている、生徒画素と注目画素(教師画素)の乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
足し込み回路115は、以上の足し込みを、フレームメモリ111に記憶された教師画素すべてを注目画素として行い、これにより、クラスごとに、式(8)に示した正規方程式がたてられる。
予測係数決定回路118は、足し込み回路115においてクラスごとに生成された正規方程式を解くことによりクラスごとの予測係数を求め、それを出力する。出力された予測係数は、係数メモリ35の、各クラスに対応するアドレスに記憶される。
次に、図18のフローチャートを参照して、図17の学習装置101の学習処理について説明する。
ステップS91において、フレームメモリ111は、予測係数の学習用のものとして入力される教師画像を記憶する。
生徒データ生成回路112は、ステップS92において、フレームメモリ111に記憶された教師画像を処理することにより、生徒画像としての525i(水平ライン数が525のインタレース方式)または262p(水平ライン数が262のプログレッシブ方式)のSD画像を生成する。生徒データ生成回路112により生成された生徒画像は、生徒データメモリ113に供給され、記憶される。
ステップS93において、フレームメモリ111に記憶された教師画素のうちの、まだ、注目画素とされていないものが注目画素とされ、予測タップ抽出回路114は、生徒データメモリ113に記憶された生徒画素を上述したようにして選択することにより、注目画素についての予測タップを抽出する。また、ステップS93において、クラスタップ抽出回路116は、生徒データメモリ113に記憶された生徒画素を上述したようにして選択することにより、注目画素についてのクラスタップを抽出する。
予測タップ抽出回路114により抽出された予測タップは足し込み回路115に供給され、クラスタップ抽出回路116により抽出されたクラスタップはクラス分類処理回路117に供給される。
クラス分類処理回路117は、ステップS94において、クラスタップ抽出回路116からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを足し込み回路115に供給する。
ステップS95において、足し込み回路115は、注目画素となっている教師画素をフレームメモリ111から読み出し、予測タップ(を構成する生徒画素)、注目画素(教師画素)を対象とし、式(8)の各コンポーネントの、上述したような足し込みを、クラス分類処理回路117からのクラスごとに行う。
ステップS96において、フレームメモリ111に記憶された教師画像を構成する教師画素すべてを注目画素として足し込みを行ったかどうかが判定される。ステップS96において、まだ、教師画素のすべてを注目画素として足し込みを行っていないと判定された場合、ステップS93に戻り、それ以降の処理が繰り返される。この場合、まだ、注目画素されていない教師画素のうちの1つが新たに注目画素とされ、ステップS93乃至S95の処理が繰り返される。
一方、ステップS96において、教師画素すべてを注目画素として足し込みを行ったと判定された場合、即ち、足し込み回路115においてクラスごとの正規方程式が得られた場合、ステップS97に進み、予測係数決定回路118は、そのクラスごとに生成された正規方程式を解くことにより、クラスごとの予測係数を決定する。予測係数決定回路118により決定された予測係数は外部に出力され、処理が終了される。
図19は、図6の係数メモリ55に記憶させる予測係数を学習する学習装置131の構成例を示すブロック図である。
なお、学習装置131で用いられる教師データは、図6のリプレイ画像生成回路12において求められるリプレイ画像に相当する画像である(図6のリプレイ画像生成回路12において求められるリプレイ画像が、学習装置131で用いられる教師データに相当する)。
教師データとしての画像(図19、図20の説明においては、以下、教師画像という)は、例えば、フレーム単位でフレームメモリ141に供給され、フレームメモリ141は、供給される教師画像を順次記憶する。
ADRCエンコーダ142は、図6のADRCエンコーダ/デコーダ51と同様に、フレームメモリ141に記憶されている教師画像を、例えば、9×9の画素からなるブロックに分割し、各ブロックを構成する画素に対して1ビットADRC処理を施す。ADRCエンコーダ142は、ADRC処理により得られたADRCコード、ダイナミックレンジDR、最小値MINを表すデータを時間履歴クラス分類処理回路143とADRCデコーダ144に出力する。
時間履歴クラス分類処理回路143は、フレームメモリ141に記憶されている教師画像を構成する画素(図19、図20の説明においては、以下、教師画素という)を、順次、注目画素とし、その注目画素のADRCコード、注目画素を含むブロック(ADRC処理の単位となるブロック)のダイナミックレンジDR、最小値MINを表すデータ、および、注目画素に対応する位置にある、前後1フレームの画素のADRCコード、その画素を含むブロックのダイナミックレンジDR、最小値MINを表すデータをADRCエンコーダ142の出力から取得し、クラス分類を行う。
時間履歴クラス分類処理回路143においては、図8を参照して説明したように、注目画素に対応する位置のダイナミックレンジDRの遷移と、ADRCコードの遷移に基づいてクラス分類が行われ、その結果得られるクラスに対応する時間履歴クラスコードが足し込み回路146に出力される。
ADRCデコーダ144は、図6のADRCエンコーダ/デコーダ51がユーザからのリプレイ要求を受けたときと同様に、ADRCエンコーダ142により生成されたADRCコード、ダイナミックレンジDR、最小値MINを表すデータに基づいて各ブロックを構成する画素をデコードし、それを繰り返すことで1フレームのデコード画像を生成する。ADRCデコーダ144により生成されたデコード画像は、学習装置131に入力されるリプレイ画像と同じ解像度の画像に較べて劣化しているものであり、学習装置131においては生徒画像となる。
予測タップ抽出回路145は、ADRCデコーダ144により生成された生徒画像を構成する画素(図19、図20の説明においては、以下、生徒画素という)のうち、注目画素に対応する位置から空間的または時間的に近い位置にある幾つかの生徒画素を予測タップとする。
予測タップ抽出回路145は、図6の予測タップ抽出回路53と同様に、注目画素に対応する位置に最も近い生徒画素、およびその左上、上、右上、左、右、左下、右下に隣接する8個の生徒画素、並びに、注目画素に対応する位置に最も近い生徒画素に対応する位置にある、1フレーム前の生徒画素を中心とした9画素(その生徒画素を含む)、および1フレーム後の生徒画素を中心とした9画素(その生徒画素を含む)の合計27画素を予測タップとして設定する。予測タップ抽出回路145は、そのような27画素からなる予測タップを足し込み回路146に出力する。
足し込み回路146は、注目画素となっている教師画素をフレームメモリ141から読み出し、予測タップ抽出回路145からの予測タップ(を構成する生徒画素)と、注目画素(教師画素)を対象とした足し込みを行う。
即ち、足し込み回路146は、時間履歴クラス分類処理回路143から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒画素)を用い、式(8)のタップ係数にかかる左辺の行列における各コンポーネントとなっている、生徒画素どうしの乗算(xn,kxn,k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み回路146は、やはり、時間履歴クラス分類処理回路143から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒画素)および注目画素(教師画素)を用い、式(8)の右辺における各コンポーネントとなっている、生徒画素と注目画素(教師画素)の乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
足し込み回路146は、以上の足し込みを、フレームメモリ141に記憶された教師画素すべてを注目画素として行い、これにより、クラスごとに、式(8)に示した正規方程式がたてられる。
予測係数決定回路147は、足し込み回路146においてクラスごとに生成された正規方程式を解くことによりクラスごとの予測係数を求め、それを出力する。出力された予測係数は、係数メモリ55の、各クラスに対応するアドレスに記憶される。
次に、図20のフローチャートを参照して、図19の学習装置131の学習処理について説明する。
ステップS111において、フレームメモリ141は、予測係数の学習用のものとして入力される教師画像となるリプレイ画像と同じ解像度の画像を記憶する。
ADRCエンコーダ142は、ステップS112において、フレームメモリ141に記憶されている教師画像を、所定の画素からなる複数のブロックに分割し、各ブロックに対して1ビットADRC処理(ADRCエンコード)を施す。ADRCエンコーダ142は、ADRC処理により得られたADRCコード、ダイナミックレンジDR、最小値MINを表すデータを時間履歴クラス分類処理回路143とADRCデコーダ144に出力する。
ステップS113において、ADRCデコーダ144は、ADRCエンコーダ142により生成されたADRCコード、ダイナミックレンジDR、最小値MINを表すデータに基づいて各ブロックの画素をデコードし、それを繰り返すことで、生徒画像となる1フレームのデコード画像を生成する。
ステップS114において、ADRCエンコーダ142からADRCコード、ダイナミックレンジDR、最小値MINを表すデータが供給されてきたとき、教師画素のうちの、まだ、注目画素とされていないものが注目画素とされ、時間履歴クラス分類処理回路143は、注目画素に対応する位置のダイナミックレンジDRの遷移と、ADRCコードの遷移に基づいてクラス分類を行う。その結果得られるクラスに対応する時間履歴クラスコードは、足し込み回路146に出力される。
ステップS115において、予測タップ抽出回路145は、ADRCデコーダ144により生成された生徒画像を構成する生徒画素のうち、注目画素の位置に対応する位置から空間的または時間的に近い位置にある幾つかの生徒画素を予測タップとして抽出し、抽出した予測タップを足し込み回路146に出力する。
ステップS116において、足し込み回路146は、注目画素となっている教師画素をフレームメモリ141から読み出し、予測タップ、注目画素である教師画素を対象とし、式(8)の各コンポーネントの上述したような足し込みを、時間履歴クラス分類処理回路143からのクラスごとに行う。
ステップS117において、フレームメモリ141に記憶された教師画像を構成する教師画素すべてを注目画素として足し込みを行ったかどうかが判定される。ステップS117において、まだ、教師画素のすべてを注目画素として、足し込みを行っていないと判定された場合、ステップS114に戻り、それ以降の処理が繰り返される。この場合、まだ、注目画素されていない教師画素のうちの1つが新たに注目画素とされ、ステップS114乃至S116の処理が繰り返される。
一方、ステップS117において、教師画素すべてを注目画素として足し込みを行ったと判定された場合、即ち、足し込み回路146においてクラスごとの正規方程式が得られた場合、ステップS118に進み、予測係数決定回路147は、そのクラスごとに生成された正規方程式を解くことによりクラスごとの予測係数を決定する。予測係数決定回路147により決定された予測係数は外部に出力され、処理が終了される。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアによって行う場合、そのソフトウエアを構成するプログラムが、記録媒体等を介して汎用のコンピュータにインストールされる。
図21は、上述した一連の処理を実行するプログラムがインストールされるパーソナルコンピュータ161の構成例を示すブロック図である。
パーソナルコンピュータ161に装着される記録媒体であるリムーバブルメディア181は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリなどより構成される。
図21において、CPU(Central Processing Unit)171は、ROM(Read Only Memory)172に記憶されているプログラム、または、記憶部178からRAM(Random Access Memory)173にロードされたプログラムに従って各種の処理を実行する。RAM173にはまた、CPU171が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU171、ROM172、およびRAM173は、バス174を介して相互に接続されている。このバス174にはまた、入出力インタフェース175も接続されている。
入出力インタフェース175には、キーボード、マウスなどよりなる入力部176、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部177、ハードディスクなどより構成される記憶部178、ネットワークを介しての通信処理を行う通信部179が接続されている。
入出力インタフェース175にはまた、必要に応じてドライブ180が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア181が適宜装着され、それから読み出されたコンピュータプログラムが記憶部178にインストールされる。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
1 画像処理装置, 11 高画質化回路, 12 リプレイ画像生成回路, 13 合成回路, 51 ADRCエンコーダ/デコーダ, 52 バッファ, 53 予測タップ抽出回路, 54 時間履歴クラス分類処理回路, 55 係数メモリ, 56 予測演算回路, 81 DR履歴算出回路, 82 波形履歴算出回路, 83 クラスコード算出回路, 91 履歴情報メモリ, 92 合成回路