JP4957280B2 - 画像処理装置、画像処理方法、およびプログラム - Google Patents

画像処理装置、画像処理方法、およびプログラム Download PDF

Info

Publication number
JP4957280B2
JP4957280B2 JP2007034386A JP2007034386A JP4957280B2 JP 4957280 B2 JP4957280 B2 JP 4957280B2 JP 2007034386 A JP2007034386 A JP 2007034386A JP 2007034386 A JP2007034386 A JP 2007034386A JP 4957280 B2 JP4957280 B2 JP 4957280B2
Authority
JP
Japan
Prior art keywords
horizontal
unit
vertical
tap
image
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.)
Expired - Fee Related
Application number
JP2007034386A
Other languages
English (en)
Other versions
JP2008199437A (ja
JP2008199437A5 (ja
Inventor
秀樹 大塚
悠太 長木
恵司 堀田
朋範 河瀬
正康 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007034386A priority Critical patent/JP4957280B2/ja
Publication of JP2008199437A publication Critical patent/JP2008199437A/ja
Publication of JP2008199437A5 publication Critical patent/JP2008199437A5/ja
Application granted granted Critical
Publication of JP4957280B2 publication Critical patent/JP4957280B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Picture Signal Circuits (AREA)
  • Television Systems (AREA)

Description

本発明は、画像処理装置画像処理方法、およびプログラムに関し、特に、例えば、より高画質の画像を生成することができるようにした画像処理装置画像処理方法、およびプログラムに関する。
本出願人は、例えば、歪みその他のノイズを含むノイズ画像を、そのノイズ画像に含まれるノイズを除去したノイズ除去画像に変換する方法として、クラス分類適応処理を先に提案している(例えば、特許文献1を参照)。
クラス分類適応処理では、例えば、ノイズ画像の複数の画素を予測タップとして、その予測タップの画素値と、教師画像および生徒画像を用いた学習により、あらかじめ求めておいた係数を用いた所定の予測演算により、ノイズ画像からノイズ除去画像が予測される。
即ち、クラス分類適応処理では、予測タップを、複数のクラスのうちのいずれかのクラスにクラス分類し、そのクラスに応じた係数と、予測タップとを用いて予測演算が行われることにより、ノイズ画像からノイズ除去画像が予測される。
特開2003−324738号公報
ところで、複数の予測タップそれぞれの画素値と、教師画像および生徒画像を用いた学習により、あらかじめ求めておいた係数を用いて、所定の予測演算を行う場合には、ノイズ画像に含まれるノイズを、より効率的に除去することができるように、複数の予測タップのうちの、所定の予測タップに含まれるノイズなどの状態を考慮しつつ、他の予測タップをクラス分類することが望ましい。
本発明はこのような状況に鑑みてなされたものであり、複数の予測タップそれぞれに含まれるノイズなどの状態を考慮することで、より高画質の画像を予測することができるようにするものである。
本発明の側面の画像処理装置は、第1の画像データを第2の画像データに変換する画像処理装置において、前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出手段と、複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類手段と、前記クラス分類手段によりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出手段と、前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力手段と、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算手段とを備え、前記クラス分類手段は、注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成手段と、注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成手段により生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成手段とを有し、前記第1および第3のサブコード生成手段により生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする。
前記第1の画像データは、所定の画像データを、所定のブロックごとに2次元DCT(Discrete Cosine Transform)変換して得られる符号化データを復号することで得られた画像データとすることができる。
前記所定のブロックが、フレーム構造であるか、フィールド構造であるかを判定する判定手段をさらに設けることができ、前記予測タップ抽出手段では、前記判定手段の判定結果に基づいて、前記注目画素との位置関係が異なる複数の画素を、前記予測タップとして抽出することができる。
前記予測タップ抽出手段では、前記注目画素に対応する前記予測タップを、前記注目画素を含むブロックと、そのブロックに隣接するブロックから抽出することができる。
前記予測タップ抽出手段では、前記注目画素に対応する前記予測タップの一部として、前記注目画素を含むブロックに隣接する画素を抽出することができる。
前記所定の演算に用いられる閾値を、前記第1の画像データの画素を用いて算出する閾値算出手段をさらに設けることができ、前記第1および第2のサブコード生成手段では、前記閾値算出手段により算出された前記閾値を用いて、前記所定の演算を行うことができる。
前記閾値算出手段では、前記閾値を、前記注目画素を含むブロックの画素を用いて算出することができる。
前記ブロックにおける各画素の位置を表す情報を画素位置モードとして、前記注目画素の画素位置モードを判定する画素位置モード判定手段をさらに設けることができ、前記係数出力手段では、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数すべてを、複数の前記予測タップそれぞれに対して出力し、前記予測演算手段では、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数のうちの、前記画素位置モードに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求めることができる。
前記ブロックの画素において、線対称または点対称の位置関係にある画素に、画素位置モードとして同一の値を割り当てることができる。
前記ブロックを複数の領域に区分したときに、前記注目画素が、前記複数の領域のうちの、いずれかの領域に位置するかを判定する領域判定手段をさらに設けることができ、前記予測演算では、前記注目画素が位置する領域に対応した前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求めることができる。
本発明の側面の画像処理方法、またはプログラムは、第1の画像データを第2の画像データに変換する画像処理方法、または第1の画像データを第2の画像データに変換する画像処理をコンピュータに実行させるプログラムにおいて、前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出ステップと、複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類ステップと、前記クラス分類ステップによりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出ステップと、前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力ステップと、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算ステップとを含み、前記クラス分類ステップは、注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成ステップと、注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成ステップにより生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成ステップとを有し、前記第1および第3のサブコード生成ステップにより生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする。
本発明の側面においては、前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップが、前記第1の画像データから複数抽出され、複数の前記予測タップそれぞれが、複数のクラスのうちのいずれかのクラスにクラス分けされる。また、クラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップが、前記第1の画像データから抽出され、前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数が、複数の前記予測タップそれぞれに対して出力されるとともに、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素が求められる。さらに、前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けする場合において、注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードが生成され、注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードが生成され、前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードが生成される。そして、生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスが、所定の前記予測タップのクラスとされる。
本発明の側面によれば、複数の予測タップそれぞれに含まれるノイズなどの状態を考慮することで、より高画質の画像を生成することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の側面の画像処理装置は、
第1の画像データを第2の画像データに変換する画像処理装置(例えば、図47の画像変換部31)において、
前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出手段(例えば、図47の水平予測タップ抽出部10061や垂直予測タップ抽出部10065)と、
複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類手段(例えば、図47の水平クラス分類部10063や垂直クラス分類部10067)と、
前記クラス分類手段によりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出手段(例えば、図47の水平差分クラスタップ抽出部10062aや垂直差分クラスタップ抽出部10066b)と、
前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力手段(例えば、図47の水平係数記憶部10064や垂直係数記憶部10068)と、
複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算手段(例えば、図47の予測演算部10069)と
を備え、
前記クラス分類手段は、
注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成手段(例えば、図49の水平差分クラスコード生成部11015や、図54の垂直差分クラスコード生成部11035)と、
注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成手段(例えば、図49の垂直差分クラスコード生成部11016や、図54の水平差分クラスコード生成部11036)により生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成手段(例えば、図49の垂直差分ゼロクラスコード生成部11017や、図54の水平差分ゼロクラスコード生成部11037)と
を有し、
前記第1および第3のサブコード生成手段により生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする。
本発明の側面の画像処理装置において、
前記所定の演算に用いられる閾値を、前記第1の画像データの画素を用いて算出する閾値算出手段(例えば、図49の差分絶対値算出部11011および閾値選択部11014)をさらに備え、
前記第1および第2のサブコード生成手段は、前記閾値算出手段により算出された前記閾値を用いて、前記所定の演算を行う。
本発明の側面の画像処理装置において、
前記ブロックにおける各画素の位置を表す情報を画素位置モードとして、前記注目画素の画素位置モードを判定する画素位置モード判定手段(例えば、図78のモード判定部20031や20032)をさらに備え、
前記係数出力手段は、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数すべてを、複数の前記予測タップそれぞれに対して出力し、
前記予測演算手段は、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数のうちの、前記画素位置モードに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める。
本発明の側面の画像処理装置において、
前記ブロックを複数の領域に区分したときに、前記注目画素が、前記複数の領域のうちの、いずれかの領域に位置するかを判定する領域判定手段(例えば、図78のモード判定部20031や20032)をさらに備え、
前記予測演算は、前記注目画素が位置する領域に対応した前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める。
本発明の側面の画像処理方法、またはプログラムは、
第1の画像データを第2の画像データに変換する画像処理方法、または第1の画像データを第2の画像データに変換する画像処理をコンピュータに実行させるプログラムにおいて、
前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出ステップ(例えば、図58のステップS10061や、図60のステップS10091)と、
複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類ステップ(例えば、図58のステップS10063や、図60のステップS10093)と、
前記クラス分類ステップによりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出ステップ(例えば、図58のステップS10062や、図60のステップS10092)と、
前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力ステップ(例えば、図58のステップS10064や、図60のステップS10094)と、
複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算ステップ(例えば、図58のステップS10065や、図60のステップS10095)と
を含み、
前記クラス分類ステップは、
注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成ステップ(例えば、図59のステップS10073や、図61のステップS10113)と、
注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成ステップにより生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成ステップ(例えば、図59のステップS10074や、図61のステップS10114)と
を有し、
前記第1および第3のサブコード生成ステップにより生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする。
以下、図を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した画像変換部の一実施の形態の構成例を示すブロック図である。
画像変換部31は、第1の画像データを第2の画像データに変換する画像変換処理を行う。
ここで、画像変換部31で行われる画像変換処理によれば、第1および第2の画像データをどのように定義するかによって、様々な処理を実現することができる。
即ち、例えば、第2の画像データを高解像度の画像データとするとともに、第1の画像データを、第2の画像データの解像度を低下させた低解像度の画像データとすれば、画像変換処理は、解像度を向上させる解像度向上処理ということができる。また、例えば、第2の画像データを高S/N(Signal/Noise)の画像データとするとともに、第1の画像データを、第2の画像データのS/Nを低下させた低S/Nの画像データとすれば、画像変換処理は、ノイズを除去するノイズ除去処理ということができる。さらに、例えば、第2の画像データをHD画像データとするとともに、第1の画像データを、第2の画像データの画素数と解像度を小さくしたSD画像データとすれば、画像変換処理は、SD画像をHD画像に変換する処理ということができる。
以下、第2の画像データを高S/Nの画像データ(以下、適宜、ノイズ除去画像という。)とし、第1の画像データを、第2の画像データのS/Nを低下させた低S/Nの画像データ(以下、適宜、ノイズ画像という。)として、図1の画像変換部31における画像変換処理を説明する。
図2は、図1の画像変換部31の第1の構成例を示すブロック図である。
画像変換部31は、水平予測タップ抽出部61、水平クラスタップ抽出部62、水平クラス分類部63、水平係数記憶部64、垂直予測タップ抽出部65、垂直クラスタップ抽出部66、垂直クラス分類部67、垂直係数記憶部68、および予測演算部69により構成される。
画像変換部31には、例えば、チューナで受信された放送番組のノイズ画像や、記録媒体から再生されるノイズ画像が供給される。そして、ノイズ画像は、水平予測タップ抽出部61、水平クラスタップ抽出部62、垂直予測タップ抽出部65、および垂直クラスタップ抽出部66に供給される。
水平予測タップ抽出部61は、そこに供給されたノイズ画像を構成する画素を、例えば、いわゆるラスタスキャン順に、順次、注目画素とする。さらに、水平予測タップ抽出部61は、注目画素に対応する、ノイズ画像を変換して得ようとするノイズ除去画像の画素の画素値を予測する予測演算に用いる複数の画素(の画素値)である水平予測タップを、ノイズ画像から抽出する。
即ち、水平予測タップ抽出部61は、例えば、図2中央に示される水平方向に並ぶ、注目画素を中心とする複数の画素の水平方向のタップ41を、水平予測タップとして抽出する。ここで、図2では、図2中央に白丸で示す注目画素の右に隣接する、黒丸で示す4個の画素、注目画素の左に隣接する、黒丸で示す4個の画素、および注目画素の、水平方向に並ぶ9個の画素が、水平方向のタップ41として示されている。
水平予測タップ抽出部61は、ノイズ画像から抽出した水平予測タップを予測演算部69に供給する。
水平クラスタップ抽出部62は、水平予測タップ抽出部61により抽出された水平予測タップを、複数の水平クラスのうちのいずれかの水平クラスにクラス分けする水平クラス分類に用いる複数の画素である水平クラスタップを、供給されてくるノイズ画像から抽出する。
即ち、水平クラスタップ抽出部62は、例えば、図2中央に示される水平方向に並ぶ、9画素のである水平方向のタップ41を、水平クラスタップとして抽出する。
なお、ここでは、説明を簡単にするために、水平予測タップと水平クラスタップとは、同一のタップ構造(注目画素に対する位置関係)を有する複数の画素とする。但し、水平予測タップと水平クラスタップとは、異なるタップ構造の複数の画素とすることができる。
水平クラスタップ抽出部62において得られる、水平予測タップに対応する水平クラスタップは、水平クラス分類部63に供給される。水平クラス分類部63は、水平クラスタップ抽出部62からの水平クラスタップに基づいて水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部64に出力する。
ここで、水平クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Ra
nge Coding)等を採用することができる。
ADRCを用いる方法では、水平クラスタップを構成する画素の画素値が、ADRC処理され、その結果得られたADRCコードにしたがって、水平予測タップの水平クラスが決定される。
なお、KビットADRCにおいては、例えば、水平クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、水平クラスタップを構成する画素の集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、水平クラスタップを構成する画素(の画素値)がKビットに再量子化される。即ち、水平クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。そして、以上のようにして得られる、水平クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、水平クラスタップが、例えば、1ビットADRC処理された場合には、その水平クラスタップを構成する各画素の画素値は、最小値MINが減算された後に、最大値MAXと最小値MINとの差の1/2で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
なお、水平クラス分類部63には、例えば、水平クラスタップを構成する画素の画素値のレベル分布のパターンを、そのまま水平クラスコードとして出力させることも可能である。しかしながら、この場合、水平クラスタップが、N個の画素の画素値で構成され、各画素の画素値に、Kビットが割り当てられているとすると、水平クラス分類部63が出力する水平クラスコードの場合の数は、(2NK通りとなり、画素の画素値のビット数Kに指数的に比例した膨大な数となる。
従って、水平クラス分類部63においては、水平クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮して、水平クラス分類を行うのが好ましい。
水平係数記憶部64は、後述する学習によってあらかじめ求められた水平クラスごとの水平係数のセットを記憶しており、その記憶している水平係数のセットのうちの、水平クラス分類部63から供給された水平クラスコードに対応するアドレスに記憶されている水平係数(水平クラス分類部63から供給された水平クラスコードが表す水平クラスに対応する水平係数)を、予測演算部69に出力する。
垂直予測タップ抽出部65は、注目画素に対応する、ノイズ画像を変換して得ようとするノイズ除去画像の画素の画素値を予測する予測演算に用いる複数の画素(の画素値)である垂直予測タップを、供給されてくるノイズ画像から抽出する。
即ち、垂直予測タップ抽出部65は、例えば、図2右側に示される垂直方向に並ぶ、注目画素を中心とする複数の画素の垂直方向のタップ42を、垂直予測タップとして抽出する。ここで、図2では、図2右側に白丸で示す注目画素の上に隣接する、黒丸で示す4個の画素、注目画素の下に隣接する、黒丸で示す4個の画素、および注目画素の、垂直方向に並ぶ9個の画素が垂直方向のタップ42として示されている。
垂直予測タップ抽出部65は、ノイズ画像から抽出した垂直予測タップを予測演算部69に供給する。
垂直クラスタップ抽出部66は、垂直予測タップ抽出部65により抽出された垂直予測タップを、複数の垂直クラスのうちのいずれかの垂直クラスにクラス分けする垂直クラス分類に用いる複数の画素(の画素値)である垂直クラスタップを、供給されてくるノイズ画像から抽出する。
即ち、垂直クラスタップ抽出部66は、例えば、図2右側に示される垂直方向に並ぶ9画素である垂直方向のタップ42を、垂直クラスタップとして抽出する。
なお、ここでは、説明を簡単にするために、垂直予測タップと垂直クラスタップとは、同一のタップ構造(注目画素に対する位置関係)を有する複数の画素とする。但し、垂直予測タップと垂直クラスタップとは、異なるタップ構造の複数の画素とすることができる。
垂直クラスタップ抽出部66において得られる、垂直予測タップに対応する垂直クラスタップは、垂直クラス分類部67に供給される。垂直クラス分類部67は、垂直クラスタップ抽出部66からの垂直クラスタップに基づいて垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部68に出力する。
ここで、垂直クラス分類を行う方法としては、例えば、上述した水平クラス分類部63で行われる水平クラス分類と同様の方法を採用することができる。
垂直係数記憶部68は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットを記憶しており、その記憶している垂直係数のセットのうちの、垂直クラス分類部67から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数(垂直クラス分類部67から供給された垂直クラスコードが表す垂直クラスに対応する垂直係数)を、予測演算部69に出力する。
予測演算部69は、水平予測タップ抽出部61から供給された水平予測タップ、垂直予測タップ抽出部65から供給された垂直予測タップ、水平係数記憶部64から供給された水平係数、および垂直係数記憶部68から供給された垂直係数に基づいて、所定の予測演算を行うことにより、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
ここで、予測演算部69で行われる予測演算には、例えば、水平予測タップと水平係数とにより水平処理画像を求める水平予測演算、垂直予測タップと垂直係数とにより垂直処理画像を求める垂直予測演算、水平予測演算により求められた水平処理画像の画素値と垂直予測演算により求められた垂直処理画像の画素値とを加算する加算演算、および加算演算の演算結果のゲインを調整するゲイン調整演算が含まれる。
以下、水平予測演算、垂直予測演算、加算演算、およびゲイン調整演算の順番で説明する。
水平予測タップと水平係数とを用いた水平予測演算として、例えば、線形1次予測演算を採用し、水平処理画像の画素(以下、適宜、水平画素という)の画素値Hを求めることとすると、水平画素の画素値Hは、次の線形1次式によって求められることになる。
Figure 0004957280
・・・(1)
但し、式(1)において、xnは、注目画素に対応する水平画素(ノイズ画像の注目画素と同一の位置にある水平処理画像の画素)についての水平予測タップを構成する複数の、ノイズ画像の画素(以下、適宜、ノイズ画素という)のうちのn番目の画素の画素値を表している。ここで、例えば、水平予測タップが図2に示した水平方向に並ぶ9画素である水平方向のタップ41とすると、n番目のノイズ画素の画素値とは、水平方向のタップ41に付された番号nに対応するノイズ画素の画素値を示している。なお、x1は、注目画素の画素値を表している。
また、wnは、n番目のノイズ画素の画素値と乗算される水平係数を表す。なお、式(1)では、水平予測タップが、N個のノイズ画素x1,・・・,xNで構成されるものとしている。
従って、水平予測演算により求められる水平画素の画素値Hは、w11+w22+・・・+wN-1N-1+wNN={(w1−1)x1+w22+・・・+wN-1N-1+wNN}+x1となり、h={(w1−1)x1+w22+・・・+wN-1N-1+wNN}とすれば、H=h+x1となる。
ここで、hは、水平予測演算により求められた水平画素の画素値Hからノイズ画素の注目画素の画素値x1を差し引くことで得られる差分の画素値H−x1を表す。従って、hを、以下、適宜、水平差分hという。
水平差分hを導入することにより、水平画素の画素値Hは、ノイズ画素の注目画素の画素値x1に水平差分hを加算することで得られる画素値と考えることができる。そして、水平画素は、水平予測演算により、ノイズ画素(の画素値)に含まれるノイズが除去された画素であるから、水平差分hは、いわば、水平係数wnと水平予測タップの画素値xnとを用いた水平予測演算による、ノイズの除去の効果分(以下、適宜、水平処理効果分という)であるということができる。
次に、垂直予測タップと垂直係数とを用いた垂直予測演算として、例えば、線形1次予測演算を採用し、垂直処理画像の画素(以下、適宜、垂直画素という)の画素値Vを求めることとすると、垂直画素の画素値Vは、次の線形1次式によって求められることになる。
Figure 0004957280
・・・(2)
但し、式(2)において、x’nは、注目画素に対応する垂直画素(ノイズ画像の注目画素と同一の位置にある垂直処理画像の画素)についての垂直予測タップを構成する複数のノイズ画素のうちのn番目の画素の画素値を表している。ここで、例えば、垂直予測タップが、図2に示した垂直方向に並ぶ9画素である垂直方向のタップ42とすると、n番目のノイズ画素の画素値とは、垂直方向のタップ42に付された番号nに対応するノイズ画素の画素値を示している。なお、x’1は、注目画素の画素値を表しており、注目画素の画素値であるx1と同一であるため、以下、x1ともいう。
また、w’nは、n番目のノイズ画素の画素値と乗算される垂直係数を表す。なお、式(2)では、垂直予測タップが、N個のノイズ画素x’1,・・・,x’Nで構成されるものとしている。
従って、垂直予測演算により求められる垂直画素の画素値Vは、w’11+w’2x’2+・・・+w’N-1x’N-1+w’Nx’N={(w’1−1)x1+w’2x’2+・・・+w’N-1x’N-1+w’Nx’N}+x1となり、v={(w’1−1)x1+w’2x’2+・・・+w’N-1x’N-1+w’Nx’N}とすれば、V=v+x1となる。
ここで、vは、垂直予測演算により求められた垂直画素の画素値Vからノイズ画素の注目画素の画素値x1を差し引くことで得られる差分の画素値を表す。従って、vを、以下、適宜、垂直差分vという。
垂直差分vを導入することにより、垂直画素の画素値Vは、ノイズ画素の注目画素の画素値x1に垂直差分vを加算することで得られる画素値と考えることができる。そして、垂直画素は、垂直予測演算により、ノイズ画素(の画素値)に含まれるノイズが除去された画素であるから、垂直差分vは、いわば、垂直係数w’nと垂直予測タップの画素値x’nとを用いた垂直予測演算による、ノイズの除去の効果分(以下、適宜、垂直処理効果分という)であるということができる。
次に、加算演算では、水平予測演算により求められた水平画素の画素値H=h+x1と、垂直予測演算により求められた垂直画素の画素値V=v+x1とを加算することで画素値H+V=h+v+2x1を得る。
画素値H+Vは、ノイズ画素の画素値x1に水平差分hと垂直差分vとを加算し、さらに、ノイズ画素の画素値x1を加算した値となっており、ノイズ画素の画素値x1が2重に加算された値となっている。
そこで、ゲイン調整演算では、画素値H+Vから、2重に加算されたノイズ画素の画素値x1を差し引くことにより画素値H+V―x1=h+v+x1を得る。予測演算部69による予測演算では、この画素値H+V―x1=h+v+x1が、注目画素に対応する、ノイズ除去画像の画素の画素値として求められる。
従って、予測演算では、注目画素に対応する、ノイズ除去画像の画素の画素値yが、式(3)にしたがって求められる。
y=w11+w22+・・・+wNN+w’11+w’2x’2+・・・+w’Nx’N−x1
・・・(3)
なお、式(3)から、注目画素に対応する、ノイズ除去画像の画素の画素値yは、式y=H+(V−x1)=h+x1+(v+x1−x1)=h+v+x1によって求めることもできる。
図3は、図2の予測演算部69の構成例を示すブロック図である。
図2の予測演算部69は、水平予測演算部101、垂直予測演算部102、ゲイン調整部103、および加算部104により構成される。
水平予測演算部101には、水平係数記憶部64からの水平係数wnと、水平予測タップ抽出部61からの水平予測タップxnとが供給される。
水平予測演算部101は、水平係数記憶部64からの水平係数wnと、水平予測タップ抽出部61からの水平予測タップxnとを用いた水平予測演算を行い、その結果得られた水平画素の画素値Hを、加算部104に供給する。
垂直予測演算部102には、垂直係数記憶部68からの垂直係数w’nと、垂直予測タップ抽出部65からの垂直予測タップx’nとが供給される。
垂直予測演算部102は、垂直係数記憶部68からの垂直係数w’nと、垂直予測タップ抽出部65からの垂直予測タップx’nとを用いた垂直予測演算を行い、その結果得られた垂直画素の画素値Vを、ゲイン調整部103に供給する。
ゲイン調整部103には、垂直予測タップ抽出部65から、注目画素の画素値x1が供給される。
ゲイン調整部103は、垂直予測演算部102から供給された画素値Vから、垂直予測タップ抽出部65から供給された注目画素の画素値x1を差し引くことで、ゲイン調整演算を行い、その結果得られた画素値である垂直差分vを加算部104に供給する。
加算部104は、水平予測演算部101から供給された水平画素の画素値H=h+x1と、ゲイン調整部103から供給された垂直差分vとを加算し、その結果得られた画素値h+v+x1を、ノイズ除去画像を予測した画素値yとして出力する。
ここで、図3の水平予測タップ抽出部61、水平クラスタップ抽出部62、水平クラス分類部63、水平係数記憶部64、および水平予測演算部101を総称して水平マッピング部71といい、その水平マッピング部71が、水平係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、水平画素の画素値Hに変換する処理を、以下、適宜、水平マッピング処理という。
また、水平画素の画素値Hは、水平処理画像の画素値を示すものであるため、以下、単に、水平処理画像Hともいう。さらに、ノイズ画素の画素値x1は、ノイズ画像の画素値を示すものであるため、以下、単に、ノイズ画像x1ともいう。
さらに、図3の垂直予測タップ抽出部65、垂直クラスタップ抽出部66、垂直クラス分類部67、垂直係数記憶部68、および垂直予測演算部102を総称して垂直マッピング部72といい、その垂直マッピング部72が、垂直係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、垂直画素の画素値Vに変換する処理を、以下、適宜、垂直マッピング処理という。
また、図3の垂直予測タップ抽出部65、垂直クラスタップ抽出部66、垂直クラス分類部67、垂直係数記憶部68、垂直予測演算部102、およびゲイン調整部103を総称して垂直差分マッピング部73といい、その垂直差分マッピング部73が、垂直係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、垂直差分vに変換する処理を、以下、適宜、垂直差分マッピング処理という。
また、垂直画素の画素値Vは、垂直処理画像の画素値を示すものであるため、以下、単に、垂直処理画像Vともいう。
次に、図4のフローチャートを参照して、図2の画像変換部31における画像変換処理を説明する。
この画像変換処理は、例えば、チューナで受信された放送番組のノイズ画像や、記録媒体から再生されるノイズ画像が、画像変換部31に供給されたときに開始される。このとき、水平予測タップ抽出部61、水平クラスタップ抽出部62、垂直予測タップ抽出部65、および垂直クラスタップ抽出部66には、ノイズ画像が供給される。
ステップS31において、水平マッピング部71(図3)の水平予測タップ抽出部61は、そこに供給されたノイズ画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とし、処理は、ステップS32に進む。
ステップS32において、水平マッピング部71は、注目画素について水平マッピング処理を行い、その結果得られた水平処理画像Hを、加算部104に供給して、処理は、ステップS33に進み、垂直差分マッピング部73(図3)は、注目画素について垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部104に供給して、処理は、ステップS34に進む。
ステップS34において、加算部104は、水平マッピング部71からの水平処理画像Hと、垂直差分マッピング部73からの垂直差分vとを加算し、注目画素に対応する、ノイズ除去画像の画素の画素値y=H+vを得て出力する。
その後、処理は、ステップS34からステップS35に進み、水平マッピング部71の水平予測タップ抽出部61は、まだ注目画素とされていないノイズ画像の画素が存在するか否かを判定する。
ステップS35において、まだ注目画素とされていないノイズ画素が存在すると判定された場合、処理は、ステップS31に戻り、水平マッピング部71の水平予測タップ抽出部61は、まだ注目画素とされていないノイズ画素のうちの1つを、新たな注目画素とし、処理は、ステップS32に進み、以下、同様の処理を繰り返す。
一方、ステップS35において、まだ注目画素とされていないノイズ画素が存在しないと判定された場合、画像変換処理は終了される。
次に、図5のフローチャートを参照して、図4のステップS32における水平マッピング処理の詳細を説明する。
ステップS61において、水平マッピング部71の水平予測タップ抽出部61は、水平予測タップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素である水平方向のタップ41を、供給されてくるノイズ画像から抽出し、予測演算部69(図3)の水平予測演算部101に供給する。
処理は、ステップS61からステップS62に進み、水平マッピング部71の水平クラスタップ抽出部62は、水平クラスタップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素である水平方向のタップ41を、供給されてくるノイズ画像から抽出し、水平クラス分類部63に供給する。
処理は、ステップS62からステップS63に進み、水平マッピング部71の水平クラス分類部63は、水平クラスタップ抽出部62からの水平クラスタップに基づき、水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部64に出力する。
処理は、ステップS63からステップS64に進み、水平マッピング部71の水平係数記憶部64は、後述する学習によってあらかじめ求められた水平クラスごとの水平係数のセットのうちの、水平クラス分類部63から供給された水平クラスコードに対応するアドレスに記憶されている水平係数wnを、予測演算部69(図3の水平予測演算部101)に出力する。
処理は、ステップS64からステップS65に進み、水平マッピング部71の水平予測演算部101は、水平係数記憶部64からの水平係数wnと、水平予測タップ抽出部61からの水平予測タップxnとを用いた水平予測演算を行い、その結果得られた水平処理画像Hを、加算部104に供給し、その後、処理は、図4のステップS32にリターンして、その後の処理を行う。
次に、図6のフローチャートを参照して、図4のステップS33における垂直差分マッピング処理の詳細を説明する。
ステップS91において、垂直差分マッピング部73の垂直予測タップ抽出部65は、垂直予測タップ、即ち、例えば、注目画素を中心として垂直方向に並ぶ9画素である垂直方向のタップ42を、供給されてくるノイズ画像から抽出し、予測演算部69(図3の垂直予測演算部102)に供給する。
処理は、ステップS91からステップS92に進み、垂直差分マッピング部73の垂直クラスタップ抽出部66は、垂直クラスタップ、即ち、例えば、注目画素を中心として垂直方向に並ぶ9画素である垂直方向のタップ42を、供給されてくるノイズ画像から抽出し、垂直クラス分類部67に供給する。
処理は、ステップS92からステップS93に進み、垂直差分マッピング部73の垂直クラス分類部67は、垂直クラスタップ抽出部66からの垂直クラスタップに基づき、垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部68に出力する。
処理は、ステップS93からステップS94に進み、垂直差分マッピング部73の垂直係数記憶部68は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットのうちの、垂直クラス分類部67から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数w’nを、予測演算部69(図3の垂直予測演算部102)に出力する。
処理は、ステップS94からステップS95に進み、垂直差分マッピング部73の垂直予測演算部102は、垂直係数記憶部68からの垂直係数w’nと、垂直予測タップ抽出部65からの垂直予測タップx’nとを用いた垂直予測演算を行い、その結果得られた垂直処理画像Vを、ゲイン調整部103に供給する。
処理は、ステップS95からステップS96に進み、ゲイン調整部103は、垂直予測演算部102から供給された垂直処理画像Vから、垂直予測タップ抽出部65から供給された注目画素の画素値x1を差し引くことで、ゲイン調整演算を行い、その結果得られた画素値である垂直差分vを加算部104に供給する。なお、ゲイン調整部103には、垂直予測タップ抽出部65から、ノイズ画像の注目画素の画素値x1が供給される。
その後、処理はステップS96から図4のステップS33にリターンして、その後の処理を行う。
以上のような図2の画像変換部31では、水平予測タップの水平クラスに対応する水平係数と、垂直予測タップの垂直クラスに対応する垂直係数との2つの係数を用いて、所定の予測演算を行うことにより、いわば、実質的なクラスの総数は、水平クラスの総数と垂直クラスの総数との和よりも大にすることができる。
即ち、例えば、水平クラスの総数が10クラスであり、垂直クラスの総数が10クラスであるとき、図2の画像変換部31では、水平予測タップの水平クラスに対応する水平係数と、垂直予測タップの垂直クラスに対応する垂直係数との2セットの係数を用いて、所定の予測演算を行うので、所定の予測演算で用いられる水平係数と垂直係数との係数セットの組み合わせは、水平クラスの総数である10クラスと、垂直クラスの総数である10クラスとの組み合わせである10×10=100セットとなる。
従って、水平クラスと垂直クラスとの総数が20クラスであるのに対して、所定の予測演算に用いられる係数セットは100セットであるので、水平クラスと垂直クラスによってクラス分類し得る実質的なクラスは100クラスとなる。
以上のように、水平係数と垂直係数の総数は、20セットであるのに対して、実質的なクラスの総数は100クラスであるため、水平係数記憶部64と垂直係数記憶部68を構成するメモリの容量を大きくすることなく、画像変換処理による注目画素に対応する、ノイズ除去画像の画素の画素値yの予測の精度を高めることができる。
次に、後の説明を簡単にするために、水平係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、水平差分hに変換する水平差分マッピング処理を行う水平差分マッピング部を説明する。
即ち、図7は、水平差分マッピング処理を行う水平差分マッピング部111の構成例を示すブロック図である。
なお、図中、図3の水平マッピング部71の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図7の水平差分マッピング部111は、新たにゲイン調整部112が設けられているほかは、図3の水平マッピング部71の場合と同様に構成されている。
ゲイン調整部112には、水平予測タップ抽出部61から、ノイズ画像の注目画素の画素値x1が供給されるとともに、水平予測演算部101から、水平処理画像H=h+x1が供給される。
ゲイン調整部112は、水平予測演算部101から供給された水平処理画像H=h+x1から、水平予測タップ抽出部61から供給されたノイズ画像の注目画素の画素値x1を差し引き、その結果得られた水平差分hを出力する。
次に、ノイズ画像から、ノイズ除去画像を予測するのに用いる水平係数wnを学習する(求める)方法を説明する。
第kサンプルのノイズ除去画像の画素(以下、適宜、ノイズ除去画素という)の画素値の真値をykと表すとともに、式(1)による水平予測演算よって得られる、その真値ykの予測値、つまり、水平処理画像の画素の画素値Hをyk'と表すと、その予測誤差ekは、次式で表される。
Figure 0004957280
・・・(4)
いま、式(4)の予測値yk'は、式(1)にしたがって求められるため、式(4)のyk'を、式(1)にしたがって置き換えると、次式が得られる。
Figure 0004957280
・・・(5)
但し、式(5)において、xn,kは、第kサンプルのノイズ除去画素についての水平予測タップを構成するn番目のノイズ画素を表す。
式(5)(または式(4))の予測誤差ekを0とする水平係数wnが、ノイズ除去画素を予測するのに最適なものとなるが、すべてのノイズ除去画素について、そのような水平係数wnを求めることは、一般には困難である。
そこで、水平係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な水平係数wnは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
Figure 0004957280
・・・(6)
但し、式(6)において、Kは、ノイズ除去画素(の画素値)ykと、そのノイズ除去画素ykについての水平予測タップを構成するノイズ画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(6)の自乗誤差の総和Eの最小値(極小値)は、式(7)に示すように、総和Eを水平係数wnで偏微分したものを0とするwnによって与えられる。
Figure 0004957280
・・・(7)
一方、上述の式(5)を水平係数wnで偏微分すると、次式が得られる。
Figure 0004957280
・・・(8)
式(7)と式(8)から、次式が得られる。
Figure 0004957280
・・・(9)
式(9)のekに、式(5)を代入することにより、式(9)は、式(10)に示す正規方程式で表すことができる。
Figure 0004957280
・・・(10)
式(10)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることにより、水平係数wnについて解くことができる。
即ち、画像変換処理の対象となるノイズ画像などに相当する画像である生徒画像と、画像変換処理によって求められるノイズ除去画像などの、ノイズ画像よりも高画質の真値の画像である教師画像との多数のセットを、学習に用いる学習用のサンプルとして用い、式(10)の正規方程式を、クラスごとにたてて解くことにより、水平係数(ここでは、自乗誤差の総和Eを最小にする水平係数)wnを、水平クラスごとに求めることができる。
次に、図8を参照して、式(10)の正規方程式を水平クラスごとにたてて解くことにより水平係数wnを求める学習を行う学習部121を説明する。
図8は、水平係数wnを求める学習を行う学習部121の構成例を示すブロック図である。
図8の学習部121は、原画像記憶部131、ノイズ付加部132、予測タップ抽出部133、クラスタップ抽出部134、クラス分類部135、足し込み部136、および係数算出部137により構成される。
原画像記憶部131には、ノイズ除去画像に相当する高S/Nの画像が多数、記憶されている。
ノイズ付加部132は、原画像記憶部131に記憶されている画像(以下、適宜、原画像という)を読み出し、その原画像にノイズを付加することでノイズ画像に相当する画像を、生徒画像として生成し、予測タップ抽出部133およびクラスタップ抽出部134に供給する。
予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平予測タップ抽出部61が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップ(図2の水平予測タップ抽出部61が注目画素について得る水平予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる水平予測タップ)を得て、足し込み部136に供給する。
クラスタップ抽出部134は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平クラスタップ抽出部62が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップ(図2の水平クラスタップ抽出部62が注目画素について得る水平クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる水平クラスタップ)を得て、クラス分類部135に供給する。
クラス分類部135は、クラスタップ抽出部134から供給された水平クラスタップに基づき、図2の水平クラス分類部63と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部136に供給する。
足し込み部136は、原画像記憶部131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、注目画素に対応する教師画像の画素と、予測タップ抽出部133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部135から供給された水平クラスコードごとに行う。
即ち、足し込み部136には、原画像記憶部131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部133が出力する注目画素についての水平予測タップを構成する生徒画像の画素の画素値xn,k、クラス分類部135が出力する、水平予測タップの水平クラスを表す水平クラスコードが供給される。
そして、足し込み部136は、クラス分類部135から供給された水平クラスコードに対応する水平クラスごとに、水平予測タップ(生徒画像)xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部136は、やはり、クラス分類部135から供給された水平クラスコードに対応する水平クラスごとに、水平予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部136は、前回、注目画素とされた生徒画像について求められた式(10)における左辺の行列のコンポーネント(Σxn,kn',k)と、右辺のベクトルのコンポーネント(Σxn,kk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kn',k)またはベクトルのコンポーネント(Σxn,kk)に対して、新たに注目画素とされた生徒画像について、その生徒画像xn,k+1および教師画像yk+1を用いて計算される、対応するコンポーネントxn,k+1n',k+1またはxn,k+1k+1を足し込む(式(10)のサメーションで表される加算を行う)。
そして、足し込み部136は、ノイズ付加部132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各水平クラスについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部137に供給する。
係数算出部137は、足し込み部136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
次に、図9のフローチャートを参照して、図8の学習部121における学習処理を説明する。
ステップS121において、ノイズ付加部132は、原画像記憶部131から原画像を読み出し、その原画像にノイズを付加することにより、生徒画像を生成し、予測タップ抽出部133およびクラスタップ抽出部134に供給する。
処理は、ステップS121からステップS122に進み、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とし、処理は、ステップS123に進む。
ステップS123において、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平予測タップ抽出部61が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部136に供給する。
処理は、ステップS123からステップS124に進み、クラスタップ抽出部134は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平クラスタップ抽出部62が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、クラス分類部135に供給する。
処理は、ステップS124からステップS125に進み、クラス分類部135は、クラスタップ抽出部134から供給された水平クラスタップに基づき、図2の水平クラス分類部63と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部136に供給する。
処理は、ステップS125からステップS126に進み、足し込み部136は、原画像記憶部131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部135から供給された水平クラスコードごとに行う。
処理は、ステップS126からステップS127に進み、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの、まだ注目画素とされていない画素が存在するか否かを判定する。
ステップS127において、まだ注目画素とされていない画素が存在すると判定された場合、処理は、ステップS122に戻り、予測タップ抽出部133は、まだ注目画素とされていない生徒画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS123に進み、以下、同様の処理を繰り返す。
一方、ステップS127において、まだ注目画素とされていないノイズ画像の画素が存在しないと判定された場合、即ち、足し込み部136においては、ノイズ付加部132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各水平クラスについて、式(10)に示した正規方程式が得られた場合、足し込み部136は、正規方程式を、係数算出部137に供給する。そして、処理は、ステップS127からステップS128に進み、係数算出部137は、足し込み部136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
その後、学習処理は終了される。
ここで、図9のフローチャートで説明した学習処理は、ノイズ除去画像に相当する画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理であるが、この学習処理を、以下、適宜、水平タップにおける学習処理という。
なお、図8の学習部121において、予測タップ抽出部133が垂直予測タップを抽出し、クラスタップ抽出部134が垂直クラスタップを抽出して、クラス分類部135が垂直クラス分類を行うこととすれば、水平係数に代えて、垂直係数を求めることができる。
即ち、垂直係数を求める場合には、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の垂直予測タップ抽出部65が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップ(図2の垂直予測タップ抽出部65が注目画素について得る垂直予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる垂直予測タップ)を得て、足し込み部136に供給する。
クラスタップ抽出部134は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の垂直クラスタップ抽出部66が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップ(図2の垂直クラスタップ抽出部66が注目画素について得る垂直クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる垂直クラスタップ)を得て、クラス分類部135に供給する。
クラス分類部135は、クラスタップ抽出部134から供給された垂直クラスタップに基づき、図2の垂直クラス分類部67と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部136に供給する。
足し込み部136は、原画像記憶部131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部135から供給された垂直クラスコードごとに行う。
即ち、足し込み部136には、原画像記憶部131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部133が出力する注目画素についての垂直予測タップを構成する生徒画像の画素の画素値xn,k、クラス分類部135が出力する、垂直予測タップの垂直クラスを表す垂直クラスコードが供給される。
そして、足し込み部136は、クラス分類部135から供給された垂直クラスコードに対応する垂直クラスごとに、垂直予測タップ(生徒画像)xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部136は、やはり、クラス分類部135から供給された垂直クラスコードに対応する垂直クラスごとに、垂直予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部136は、前回、注目画素とされた生徒画像について求められた式(10)における左辺の行列のコンポーネント(Σxn,kn',k)と、右辺のベクトルのコンポーネント(Σxn,kk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kn',k)またはベクトルのコンポーネント(Σxn,kk)に対して、新たに注目画素とされた生徒画像について、その生徒画像xn,k+1および教師画像yk+1を用いて計算される、対応するコンポーネントxn,k+1n',k+1またはxn,k+1k+1を足し込む(式(10)のサメーションで表される加算を行う)。
そして、足し込み部136は、ノイズ付加部132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各垂直クラスについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部137に供給する。
係数算出部137は、足し込み部136から供給された各垂直クラスについての正規方程式を解くことにより、各垂直クラスについて、垂直係数w’nを求めて出力する。
ここで、以上のようにして、垂直係数w’nを求める学習処理を、以下、適宜、垂直タップにおける学習処理という。
図2の画像変換部31では、上述した水平タップにおける学習処理により求められた水平係数と、垂直タップにおける学習処理により求められた垂直係数とを用いて画像変換処理を行うことができる。
ところで、上述したように、上述の、水平係数を求める水平タップにおける学習処理と、垂直係数を求める垂直タップにおける学習処理とを、独立に行って、水平係数と垂直係数とを求めた場合、その水平係数と垂直係数によれば、いずれも単独で、ノイズ画像をノイズ除去画像(の予測値)に変換することができる。
このため、図8の学習部121により学習された水平係数と垂直係数とを用いた画像変換処理では、ノイズ画像をノイズ除去画像に変換する画像変換処理が、水平係数と垂直係数とで2重に行われる。
その結果、水平係数によりノイズを除去する水平処理効果分、および垂直係数によりノイズを除去する垂直処理効果分とを合わせた全体の効果分が過剰となってしまい、ノイズ画像に生じている歪波形の位相を反転したような逆歪が現れたり、逆に、水平処理効果分と垂直処理効果分とが相殺されてしまい、歪などのノイズを除去する効果が低下することがあり得る。
そこで、水平係数による水平処理効果分と、垂直係数による垂直処理効果分とが過剰となったり、相殺されることがないように、水平係数および垂直係数を学習する学習処理について説明する。
図10は、上述した図2の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部151の構成例を示すブロック図である。なお、図10には、説明の便宜上、図2の画像変換部31に相当する画像変換部152も図示してある。
2段差分学習部151は、水平タップ学習部161、水平マッピング部162、および垂直タップ差分学習部163により構成される。
水平タップ学習部161は、図8の学習部121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部162に供給する。
水平マッピング部162は、水平タップ学習部161で生徒画像として用いられるノイズ画像(に相当する画像)と、水平タップ学習部161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られる水平処理画像Hを、垂直タップ差分学習部163に供給する。なお、水平マッピング部162には、水平タップ学習部161などから、ノイズ画像が供給される。
垂直タップ差分学習部163は、水平タップ学習部161で教師画像として用いられる原画像と、水平マッピング部162から供給される水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
即ち、垂直タップ差分学習部163は、原画像、ノイズ画像、および水平処理画像Hから、後述するようにして、原画像と水平差分hとの差分である原画像−水平差分hを生成し、その原画像−水平差分hを教師画像とするとともに、ノイズ画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部163の、垂直タップにおける水平差分の差分学習処理は、後述する図11を参照して、詳細に説明する。
図2の画像変換部31における画像変換処理では、図10の2段差分学習部151により求められた水平係数および垂直係数を用いることができる。
ここで、図10において、画像変換部152は、図2の画像変換部31と同様に構成される。画像変換部152では、次のようにして、ノイズ画像を原画像(の予測値)に変換する画像変換処理が行われる。
即ち、画像変換部152は、水平マッピング部162、垂直差分マッピング部164、および加算部165により構成される。
水平マッピング部162は、図3の水平予測タップ抽出部61、水平クラスタップ抽出部62、水平クラス分類部63、水平係数記憶部64、および水平予測演算部101で構成される水平マッピング部71と同様に構成される。
水平マッピング部162は、水平タップ学習部161での水平タップにおける学習処理により得られる水平係数を用いて、ノイズ画像を水平処理画像Hに変換する水平マッピング処理を行い、その水平処理画像Hを、加算部165に供給する。
垂直差分マッピング部164は、図3の垂直予測タップ抽出部65、垂直クラスタップ抽出部66、垂直クラス分類部67、垂直係数記憶部68、垂直予測演算部102、およびゲイン調整部103で構成される垂直差分マッピング部73と同様に構成される。
垂直差分マッピング部164は、垂直タップ差分学習部163での垂直タップにおける水平差分の差分学習処理により得られる垂直係数を用いて、ノイズ画像を垂直差分vに変換する垂直差分マッピング処理を行い、その垂直差分vを、加算部165に供給する。
加算部165は、図3の加算部104と同様に構成され、水平マッピング部162から供給された水平処理画像Hと、垂直差分マッピング部164から供給された垂直差分vとを加算し、その結果得られた画素値H+v(=h+v+x1)で構成される、原画像を予測した画像(以下、適宜、水平垂直処理画像という)を出力する。
次に、図11は、垂直タップにおける水平差分の差分学習処理を行う図10の垂直タップ差分学習部163の詳細な構成例を示すブロック図である。
即ち、図11の垂直タップ差分学習部163は、図8の原画像記憶部131乃至係数算出部137とそれぞれ同様に構成される原画像記憶部1131乃至係数算出部1137と、差分画像生成部233とから構成される。
さらに、差分画像生成部233には、ノイズ付加部1132から生徒画像が供給されるとともに、図10の水平マッピング部162から、水平処理画像Hが供給される。
差分画像生成部233は、ノイズ付加部1132から供給された生徒画像(ノイズ画像)x1を、図10の水平マッピング部162から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、差分画像生成部233は、原画像記憶部1131に記憶されている原画像を読み出し、その原画像から、生成した水平差分hを差し引き、その結果得られた原画像―水平差分hを、教師画像として、足し込み部1136に供給する。
従って、図11の垂直タップ差分学習部163では、原画像と水平差分hとの差分である原画像―水平差分hを教師画像とするとともに、ノイズ画像を生徒画像として、垂直係数を学習する。よって、垂直タップ差分学習部163では、原画像から水平マッピング処理による水平処理効果分としての水平差分hを差し引いた画像に、ノイズ画像を変換する垂直係数が求められる。
次に、図12のフローチャートを参照して、図10の2段差分学習部151における2段差分学習処理を説明する。
ステップS171において、水平タップ学習部161は、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部162に供給する。
その後、処理は、ステップS171からステップS172に進み、水平マッピング部162は、水平タップ学習部161で生徒画像として用いられるノイズ画像(に相当する画像)と、水平タップ学習部161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部163に供給する。
そして、処理は、ステップS172からステップS173に進み、垂直タップ差分学習部163は、水平タップ学習部161で教師画像として用いられる原画像と、水平マッピング部162から供給された水平処理画像Hとを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
その後、2段差分学習処理は、終了される。
次に、図13のフローチャートを参照して、図12のステップS173の、垂直タップにおける水平差分の差分学習処理の詳細を説明する。
ステップS201において、垂直タップ差分学習部163(図11)のノイズ付加部1132は、原画像記憶部1131に記憶されている原画像を読み出し、その原画像にノイズを付加することでノイズ画像に相当する画像を、生徒画像として生成し、差分画像生成部233、垂直予測タップ抽出部1133および垂直クラスタップ抽出部1134に供給する。なお、原画像記憶部1131には、図10の水平タップ学習部161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS201からステップS202に進み、差分画像生成部233は、ノイズ付加部1132から供給されたノイズ画像x1を、図11の水平マッピング部162から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、ステップS202において、差分画像生成部233は、原画像記憶部1131に記憶されている原画像を読み出し、その原画像から、生成した水平差分hを差し引き、その結果得られた原画像―水平差分hを、教師画像として、足し込み部1136に供給する。
その後、処理は、ステップS202からステップS203に進み、垂直予測タップ抽出部1133は、ノイズ付加部1132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素として、処理は、ステップS204に進む。
ステップS204において、垂直予測タップ抽出部1133は、ノイズ付加部1132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の垂直予測タップ抽出部65が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップを得て、足し込み部1136に供給する。
そして、処理は、ステップS204からステップS205に進み、垂直クラスタップ抽出部1134は、ノイズ付加部1132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の垂直クラスタップ抽出部66が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップを得て、垂直クラス分類部1135に供給する。
さらに、処理は、ステップS205からステップS206に進み、垂直クラス分類部1135は、垂直クラスタップ抽出部1134から供給された垂直クラスタップに基づき、図2の垂直クラス分類部67と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部1136に供給して、ステップS207に進む。
ステップS207において、足し込み部1136は、図8の学習部121の足し込み部136と同様にして、差分画像生成部233から供給された教師画像の画素のうちの、注目画素に対応する画素と、垂直予測タップ抽出部1133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部1135から供給された垂直クラスコードごとに行う。
処理は、ステップS207からステップS208に進み、垂直予測タップ抽出部1133は、ノイズ付加部1132から供給された生徒画像を構成する画素のうちの、まだ注目画素とされていない画素が存在するか否かを判定する。
ステップS208において、まだ注目画素とされていない画素が存在すると判定された場合、処理は、ステップS203に戻り、垂直予測タップ抽出部1133は、まだ注目画素とされていない生徒画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS204に進み、以下、同様の処理を繰り返す。
一方、ステップS208において、まだ注目画素とされていない生徒画像の画素が存在しないと判定された場合、即ち、足し込み部1136においては、ノイズ付加部1132により生成された生徒画像の画素すべてを注目画素として、図8の学習部121と同様の足し込みを行うことにより、各垂直クラスについての正規方程式が得られた場合、足し込み部1136は、その正規方程式を、垂直タップ差分学習部163の係数算出部1137に供給する。そして、ステップS208からステップS209に進み、係数算出部1137は、足し込み部1136から供給された各垂直クラスについての正規方程式を解くことにより、各垂直クラスについて、垂直係数w’nを求めて出力する。
その後、処理は、図12のステップS173にリターンする。
ところで、図10の2段差分学習部151による2段差分学習処理では、水平タップ学習部161が、原画像を教師画像とするとともに、ノイズ画像を生徒画像として、水平係数を求め、その水平係数を用いた水平予測演算による水平処理効果分としての水平差分hを考慮する形で、垂直タップ差分学習部163において、垂直係数を求めている。
即ち、垂直タップ差分学習部163では、原画像から、水平処理効果分としての水平差分hを差し引くことで得られる画像である原画像―水平差分hを教師画像とするとともに、ノイズ画像を生徒画像として、垂直係数が求められる。このため、2段差分学習部151で求められた水平係数および垂直係数を用いた画像変換処理では、図8の学習部121で求められた水平係数および垂直係数を用いた画像変換処理のような、ノイズ画像に含まれるノイズを除去する効果が、いわば、2重になることを防止することができる。
しかしながら、図10の2段差分学習部151では、垂直タップ差分学習部163において、水平タップ学習部161によりさきに求められた水平係数を用いた水平予測演算による水平処理効果分としての水平差分hを考慮する形で、垂直係数を求めている。
即ち、垂直タップ差分学習部163では、水平タップ学習部161により求められた水平係数を用いた水平予測演算による水平処理効果分の不足分や過剰分を補う垂直処理効果分が得られる垂直係数が求められる。
従って、図10の2段差分学習部151で求められた水平係数および垂直係数を用いた画像変換処理では、ノイズ画像に含まれるノイズを除去する効果のうちの、水平係数を用いた水平予測演算による水平処理効果分としての水平差分hの寄与分が大となり、垂直係数を用いた垂直予測演算による垂直処理効果分としての垂直差分vの寄与分は小となる。
このため、仮に、水平係数を用いた水平予測演算による水平処理効果分としての水平差分hにより、ノイズ画像に含まれるノイズを(十分に)除去することができなかった場合、垂直係数を用いた垂直予測演算による垂直処理効果分としての垂直差分vの寄与分が小であることから、垂直係数によっては、ノイズ画像に含まれるノイズを十分に除去することが困難となることがある。
しかしながら、水平係数を用いた水平予測演算による水平処理効果分としての水平差分hにより、ノイズ画像に含まれるノイズを十分に除去することができなかった場合においても、ノイズ画像に含まれるノイズを除去することができるように、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等に現れることが望ましい。
そこで、図14は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部271の構成例を示すブロック図である。
2段反復学習部271は、図10の2段差分学習部151の水平タップ学習部161乃至垂直タップ差分学習部163それぞれと同様に構成される水平タップ学習部1161乃至垂直タップ差分学習部1163と、垂直マッピング部284、および水平タップ差分学習部285とから構成される。
垂直マッピング部284は、水平タップ学習部1161で生徒画像として用いられるノイズ画像と、垂直タップ差分学習部1163から供給された垂直係数を用いて、ノイズ画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部285に供給する。
水平タップ差分学習部285は、水平タップ学習部1161で教師画像として用いられる原画像と、垂直マッピング部284から供給された垂直処理画像Vとを用いて、水平タップにおける垂直差分の差分学習処理を行い、その結果得られた水平係数を、水平マッピング部1162に供給する。
即ち、水平タップ差分学習部285は、原画像、ノイズ画像、および垂直処理画像Vから、後述するようにして、原画像と垂直差分vとの差分である原画像−垂直差分vを生成し、その原画像−垂直差分vを教師画像とするとともに、ノイズ画像を生徒画像として、水平予測タップ及び水平クラスタップを用いて、水平係数を学習する、水平タップにおける垂直差分の差分学習処理を行う。
なお、水平タップ差分学習部285の、水平タップにおける垂直差分の差分学習処理は、後述する図15を参照して、詳細に説明する。
次に、図15は、水平タップにおける垂直差分の差分学習処理を行う図14の水平タップ差分学習部285の詳細な構成例を示すブロック図である。
水平タップ差分学習部285は、図11の垂直タップ差分学習部163の原画像記憶部1131乃至係数算出部1137とそれぞれ同様に構成される原画像2131乃至係数算出部2137と差分画像生成部293とから構成される。
さらに、差分画像生成部293には、図14の垂直マッピング部284から、垂直処理画像Vが供給される。
差分画像生成部293は、ノイズ付加部2132から供給された生徒画像(ノイズ画像)x1を、図14の垂直マッピング部284から供給された垂直処理画像V=v+x1から差し引くことで、垂直差分vを生成する。
また、差分画像生成部293は、原画像記憶部2131に記憶されている原画像を読み出し、その原画像から、生成した垂直差分vを差し引き、その結果得られた原画像―垂直差分vを、教師画像として、足し込み部2136に供給する。
以上のように構成される水平タップ差分学習部285では、原画像と垂直差分vとの差分である原画像―垂直差分vを教師画像とするとともに、ノイズ画像を生徒画像として、水平係数が学習される。従って、原画像から垂直マッピング処理による垂直処理効果分としての垂直差分vを差し引いた画像に、ノイズ画像を変換する水平係数が求められる。
次に、図16のフローチャートを参照して、図14の2段反復学習部271における2段反復学習処理を説明する。
ステップS241において、水平タップ学習部1161は、原画像を教師画像とするとともに、その原画像にノイズを付加したノイズ画像を生徒画像として、水平タップにおける学習処理を行い、その結果得られた水平係数を、水平マッピング部1162に供給して、処理は、ステップS242に進む。
ステップS242において、水平マッピング部1162および垂直タップ差分学習部1163により、垂直係数が生成される。
即ち、ステップS242では、ステップS251とステップS252の処理が行われる。
ステップS251では、水平マッピング部1162は、水平タップ学習部1161で生徒画像として用いられるノイズ画像と、水平タップ学習部1161から供給される水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部1163に供給して、処理は、ステップS252に進む。
ステップS252において、垂直タップ差分学習部1163は、水平タップ学習部1161で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および水平マッピング部1162から供給された水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を生成する。
また、ステップS252において、垂直タップ差分学習部1163は、生成した垂直係数を、垂直マッピング部284に供給する。
ステップS251およびステップS252の処理、つまり、ステップS242の処理が終了すると、処理は、ステップS242からステップS243に進み、垂直マッピング部284および水平タップ差分学習部285により、水平係数が生成される。
即ち、ステップS243では、ステップS261とステップS262の処理が行われる。
ステップS261において、垂直マッピング部284は、水平タップ学習部1161で生徒画像として用いられるノイズ画像と、垂直タップ差分学習部1163から供給された垂直係数とを用いて垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部285に供給して、処理は、ステップS262に進む。
ステップS262において、水平タップ差分学習部285は、水平タップ学習部1161で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および垂直マッピング部284から供給された垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を生成する。
また、ステップS262において、水平タップ差分学習部285は、生成した水平係数を、水平マッピング部1162に供給する。
ステップS261およびステップS262の処理、つまり、ステップS243の処理が終了すると、処理は、ステップS243からステップS242に戻り、水平マッピング部1162および垂直タップ差分学習部1163により、前回、水平タップ差分学習部285により生成された水平係数に基づいて、垂直係数が生成され、以下、同様の処理が繰り返される。
即ち、ステップS242のステップS251では、水平マッピング部1162は、水平タップ学習部1161で生徒画像として用いられるノイズ画像と、水平タップ差分学習部285から供給された水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部1163に供給して、処理は、ステップS252に進み、以下、同様の処理を繰り返す。
なお、図16の2段反復学習処理では、例えば、水平タップ差分学習部285で求められる水平係数、および垂直タップ差分学習部1163で求められる垂直係数が収束したときに、処理を終了することができる。また、図16の2段反復学習処理は、水平係数や垂直係数を、あらかじめ決められた回数だけ繰り返し求めたとき、即ち、ステップS242およびステップS243を所定回数だけ繰り返し行ったときなどに終了することもできる。さらに、図16の2段反復学習処理は、水平係数と垂直係数との係数セットを用いた、図2の画像変換部31の画像変換処理による結果と、原画像との自乗誤差を最小にする係数セットが求められたときに終了するようにしてもよい。
また、図16の2段反復学習処理では、水平タップ学習部1161、垂直タップ差分学習部1163、および水平タップ差分学習部285それぞれが、同一の生徒画像を用いて係数を学習するため、2段反復学習処理を繰り返し行っても、所定の水平予測タップについて得られる水平クラスは、同じ水平クラスとなり、また、所定の垂直予測タップについて得られる垂直クラスは、同じ垂直クラスとなる。
次に、図17のフローチャートを参照して、図16のステップS262の、水平タップにおける垂直差分の差分学習処理を詳細に説明する。
ステップS271において、水平タップ差分学習部285(図15)のノイズ付加部2132は、原画像記憶部2131に記憶されている原画像を読み出し、その原画像にノイズを付加することでノイズ画像に相当する画像を、生徒画像として生成し、差分画像生成部293、水平予測タップ抽出部2133および水平クラスタップ抽出部2134に供給する。なお、原画像記憶部2131には、図14の水平タップ学習部1161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS271からステップS272に進み、差分画像生成部293は、ノイズ付加部2132から供給されたノイズ画像x1を、図14の垂直マッピング部284から供給された垂直処理画像V=v+x1から差し引くことで、垂直差分vを生成する。
また、ステップS272において、差分画像生成部293は、原画像記憶部2131に記憶されている原画像を読み出し、その原画像から、生成した垂直差分vを差し引き、その結果得られた原画像―垂直差分vを、教師画像として、足し込み部2136に供給する。
処理は、ステップS272からステップS273に進み、水平予測タップ抽出部2133は、ノイズ付加部2132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素として、処理は、ステップS274に進む。
ステップS274において、水平予測タップ抽出部2133は、ノイズ付加部2132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平予測タップ抽出部61が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部2136に供給する。
処理は、ステップS274からステップS275に進み、水平クラスタップ抽出部2134は、ノイズ付加部2132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図2の水平クラスタップ抽出部62が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、水平クラス分類部2135に供給する。
処理は、ステップS275からステップS276に進み、水平クラス分類部2135は、水平クラスタップ抽出部2134から供給された水平クラスタップに基づき、図2の水平クラス分類部63と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部2136に供給する。
処理は、ステップS276からステップS277に進み、足し込み部2136は、図8の学習部121の場合と同様にして、差分画像生成部293から供給された教師画像の画素のうちの、注目画素に対応する画素と、水平予測タップ抽出部2133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、水平クラス分類部2135から供給された水平クラスコードごとに行う。
処理は、ステップS277からステップS278に進み、水平予測タップ抽出部2133は、ノイズ付加部2132から供給された生徒画像を構成する画素のうちの、まだ注目画素とされていない画素が存在するか否かを判定する。
ステップS278において、まだ注目画素とされていない画素が存在すると判定された場合、処理は、ステップS273に戻り、水平予測タップ抽出部2133は、まだ注目画素とされていない生徒画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS274に進み、以下、同様の処理を繰り返す。
一方、ステップS278において、まだ注目画素とされていない生徒画像の画素が存在しないと判定された場合、即ち、足し込み部2136においては、ノイズ付加部2132により生成された生徒画像の画素すべてを注目画素として、図8の学習部121と同様の足し込みを行うことにより、各水平クラスについての正規方程式が得られた場合、足し込み部2136は、その正規方程式を、係数算出部2137に供給する。そして、処理は、ステップS278からステップS279に進み、係数算出部2137は、足し込み部2136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
その後、処理は、図16のステップS262にリターンする。
以上のような図16の2段反復学習処理では、水平タップ学習部1161が行う水平タップにおける学習処理により、水平係数が求められ、その水平係数による水平処理効果分としての水平差分hを考慮する形で、垂直タップ差分学習部1163が行う垂直タップにおける水平差分の差分学習処理により、垂直係数が求められ、さらに、その垂直係数による垂直処理効果分としての垂直差分vを考慮する形で、水平タップ差分学習部285が行う水平タップにおける垂直差分の差分学習処理により、水平係数が求められる。また、その水平係数による水平処理効果分としての水平差分hを考慮する形で、垂直タップ差分学習部1163が行う垂直タップにおける水平差分の差分学習処理により、垂直係数が求められ、以下、同様にして、水平係数と垂直係数とが繰り返し求められる。
従って、水平係数と垂直係数とがとる値が収束するまで、2段反復学習処理を行った場合、例えば、水平係数を用いた水平予測演算による水平処理効果分が大であり、垂直係数を用いた垂直予測演算による垂直処理効果分が小となる水平係数と垂直係数ではなく、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分が等しくなる水平係数と垂直係数を求めることができる。
また、図10の2段差分学習部151では、水平タップ学習部161において先に水平係数が求められ、その水平係数を用いた水平予測演算による水平処理効果分としての水平差分hを考慮する形で、垂直タップ差分学習部163により垂直係数が求められることとしたが、先に垂直係数を求め、その垂直係数を用いた垂直予測演算による垂直処理効果分としての垂直差分vを考慮する形で、水平係数を求めることもできる。
即ち、図18は、そのような2段差分学習部301の構成例を示すブロック図である。なお、図18には、説明の便宜上、図2の画像変換部31に相当する画像変換部302も図示してある。
2段差分学習部301は、垂直タップ学習部311、垂直マッピング部312、および水平タップ差分学習部313により構成される。
垂直タップ学習部311は、図8の学習部121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部312に供給する。
垂直マッピング部312は、垂直タップ学習部311で生徒画像として用いられるノイズ画像(に相当する画像)と、垂直タップ学習部311から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られる垂直処理画像Vを、水平タップ差分学習部313に供給する。なお、垂直マッピング部312には、垂直タップ学習部311などから、ノイズ画像が供給される。
水平タップ差分学習部313は、垂直タップ学習部311で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および垂直マッピング部312から供給される垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を学習する。
2段差分学習部301の垂直タップ学習部311で求められた垂直係数と、水平タップ差分学習部313で求められた水平係数とは、図2の画像変換部31に相当する画像変換部302での画像変換処理に用いられる。
即ち、画像変換部302は、垂直マッピング部312、水平差分マッピング部314、および加算部315により構成される。
図2の画像変換部31では、水平マッピング部71(図3)が水平処理画像H=h+x1を生成し、垂直差分マッピング部73が垂直差分vを生成して、加算部104が、水平マッピング部71により生成された水平処理画像H=h+x1と、垂直差分マッピング部73により生成された垂直差分vとを加算し、その結果得られた画素値H+vで構成される、原画像を予測した水平垂直処理画像を出力するが、図18の画像変換部302では、垂直マッピング部312が垂直処理画像V=v+x1を生成し、水平差分マッピング部314が水平差分hを生成して、加算部315が、垂直マッピング部312により生成された垂直処理画像V=v+x1と、水平差分マッピング部314により生成された水平差分hとを加算し、その結果得られた画素値V+hで構成される、原画像を予測した画像(以下、適宜、垂直水平処理画像という)を出力する。
具体的には、垂直マッピング部312は、図3の垂直予測タップ抽出部65、垂直クラスタップ抽出部66、垂直クラス分類部67、垂直係数記憶部68、および垂直予測演算部102で構成される垂直マッピング部72と同様に構成される。
垂直マッピング部312は、垂直タップ学習部311での垂直タップにおける学習処理により得られる垂直係数を用いて、ノイズ画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その垂直処理画像Vを、加算部315に供給する。
水平差分マッピング部314は、図7の水平予測タップ抽出部61、水平クラスタップ抽出部62、水平クラス分類部63、水平係数記憶部64、水平予測演算部101、およびゲイン調整部112で構成される水平差分マッピング部111と同様に構成される。
水平差分マッピング部314は、水平タップ差分学習部313での水平タップにおける垂直差分の差分学習処理により得られる水平係数を用いて、ノイズ画像を水平差分hに変換する水平差分マッピング処理を行い、その水平差分hを、加算部315に供給する。
加算部315は、図3の加算部104と同様に構成され、垂直マッピング部312から供給された垂直処理画像Vと、水平差分マッピング部314から供給された水平差分hとを加算し、その結果得られた画素値V+hで構成される、原画像を予測した垂直水平処理画像を出力する。
ところで、図18の2段差分学習部301で求められる垂直係数と水平係数によれば、図10の2段差分学習部151で求められる水平係数と垂直係数と同様に、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等とならない。
そこで、図19は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部331の構成例を示すブロック図である。
2段反復学習部331は、垂直タップ学習部1311、垂直マッピング部1312、水平タップ差分学習部1313、水平マッピング部324、および垂直タップ差分学習部325により構成される。
垂直タップ学習部1311は、図8の学習部121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部1312に供給する。
垂直マッピング部1312は、垂直タップ学習部1311で生徒画像として用いられるノイズ画像(に相当する画像)と、垂直タップ学習部1311から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部1313に供給する。なお、垂直マッピング部1312には、垂直タップ学習部1311などから、ノイズ画像が供給される。
水平タップ差分学習部1313は、垂直タップ学習部1311で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および垂直マッピング部1312から供給された垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、その結果得られた水平係数を、水平マッピング部324に供給する。
水平マッピング部324は、垂直タップ学習部1311で生徒画像として用いられるノイズ画像と、水平タップ差分学習部1313から供給された水平係数とを用いて、ノイズ画像を水平処理画像Hに変換する水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部325に供給する。
垂直タップ差分学習部325は、垂直タップ学習部1311で生徒画像として用いられるノイズ画像の画素値x1を、水平マッピング部324から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、垂直タップ差分学習部325は、垂直タップ学習部1311で教師画像として用いられる原画像から、生成した水平差分hを差し引くことで得られる画像である原画像―水平差分hを教師画像とするとともに、垂直タップ学習部1311で生徒画像として用いられるノイズ画像を生徒画像として、垂直タップにおける水平差分の差分学習処理を行い、その結果得られた垂直係数を、垂直マッピング部1312に供給する。
垂直タップ差分学習部325により垂直係数が求められると、以降、垂直マッピング部1312は、垂直タップ学習部1311で生徒画像として用いられるノイズ画像(に相当する画像)と、垂直タップ差分学習部325から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部1313に供給する。
次に、図20は、図14の2段反復学習部271と、図19の2段反復学習部331との両方を用いて、水平係数および垂直係数を反復して求める2段反復学習処理を説明する図である。
図中右側から1番目の上下方向に記載されている垂直タップ学習部1311、垂直マッピング部1312、水平タップ差分学習部1313、水平マッピング部324、および垂直タップ差分学習部325は、上述した図19の2段反復学習部331による2段反復学習処理の流れを示している。
また、図中右側から2番目の上下方向に記載される水平タップ学習部1161、水平マッピング部1162、垂直タップ差分学習部1163、垂直マッピング部284、および水平タップ差分学習部285は、図14の2段反復学習部271による2段反復学習処理の流れを示している。
また、図中下側には、図10で説明した画像変換部152が示されている。
いま、教師画像と生徒画像とを用いたn回目の学習処理を、第n−1世代の学習処理というとともに、第n−1世代の学習によって求められる水平係数および垂直係数のセットを第n−1世代の係数セットということとする。
第0世代の学習処理では、2段反復学習部271の水平タップ学習部1161が水平係数を求める。一方、2段反復学習部331の垂直タップ学習部1311が垂直係数を求める。これにより、第0世代の、水平係数および垂直係数の係数セットが求められる。
第1世代の学習処理では、2段反復学習部271の水平マッピング部1162が、第0世代の水平係数を用いて水平マッピング処理を行うことにより水平処理画像Hを生成し、その水平処理画像Hを用いて、垂直タップ差分学習部1163が、垂直タップにおける水平差分の差分学習処理を行うことにより垂直係数を求める。一方、2段反復学習部331の垂直マッピング部1312が、第0世代の垂直係数を用いて垂直マッピング処理を行うことにより垂直処理画像Vを生成し、その垂直処理画像Vを用いて、水平タップ差分学習部1313が、水平タップにおける垂直差分の差分学習処理を行うことにより水平係数を求める。これにより、第1世代の、水平係数および垂直係数の係数セットが求められる。
第2世代の学習処理では、2段反復学習部271の垂直マッピング部284が、第1世代の垂直係数を用いて垂直マッピング処理を行うことにより垂直処理画像Vを生成し、その垂直処理画像Vを用いて、水平タップ差分学習部285が、水平タップにおける垂直差分の差分学習処理を行うことにより水平係数を求める。一方、2段反復学習部331の水平マッピング部324が、第1世代の水平係数を用いて水平マッピング処理を行うことにより水平処理画像Hを生成し、その水平処理画像Hを用いて、垂直タップ差分学習部325が、垂直タップにおける水平差分の差分学習処理を行うことにより垂直係数を求める。これにより、第2世代の、水平係数および垂直係数の係数セットが求められる。
以下、同様にして、第3世代、第4世代、・・・第N世代と、反復して係数セットが求められる。
なお、2段反復学習部271による2段反復学習処理と、2段反復学習部331による2段反復学習処理とは、例えば、それらの2段反復学習処理により求められる係数セットを用いた、図20下側に示される画像変換部152の画像変換処理による結果H+vと、原画像との自乗誤差を最小にする係数セットが求められたとき、または、あらかじめ決められた世代の水平係数および垂直係数の係数セットが求められたときなどに終了する。
また、2段反復学習部271による2段反復学習処理と、2段反復学習部331による2段反復学習処理とにより求められた係数セットにより画像変換処理を行う場合は、求められた係数セットの、水平係数と垂直係数とのどちらかを先に用いてもかまわない。
即ち、図20に示した画像変換部152による画像変換処理では、水平係数を用いた水平マッピング処理を行って、水平処理画像Hを得るとともに、垂直係数を用いた垂直差分マッピング処理を行って、垂直差分vを得て、水平処理画像Hと垂直差分vとを加算するが、垂直係数を用いた垂直マッピング処理を行って垂直処理画像Vを得るとともに、水平係数を用いた水平差分マッピング処理を行って、水平差分hを得て、垂直処理画像Vと水平差分hとを加算してもよい。
図21は、図1の画像変換部31の第2の構成例を示すブロック図である。
なお、図中、図2の画像変換部31の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図21の画像変換部31は、図2の水平予測タップ抽出部61および垂直予測タップ抽出部65に代えて、予測タップ抽出部368が、図2の予測演算部69に代えて、予測演算部369がそれぞれ設けられており、さらに、係数合成部367が新たに設けられている他は、図2の画像変換部31の場合と同様に構成されている。
係数合成部367には、水平係数記憶部64から水平係数wnが、垂直係数記憶部68から垂直係数w’nが、それぞれ供給される。係数合成部367は、水平係数記憶部64から供給された水平係数wnと、垂直係数記憶部68から供給された垂直係数w’nとを合成することにより、ゲインを調整した合成係数[(w1+w’1−1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]を生成する。なお、係数合成部367が合成係数をどのように生成するかは、後述する図22の説明において詳細に説明する。
また、係数合成部367は、合成係数[(w1+w’1−1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]を、予測演算部369に供給する。
予測タップ抽出部368は、そこに供給されたノイズ画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出部368は、注目画素に対応する、ノイズ画像を変換して得ようとするノイズ除去画像の画素の画素値を予測するのに用いる複数の画素である合成予測タップを、ノイズ画像から抽出する。
即ち、予測タップ抽出部368は、図2の水平予測タップ抽出部61が抽出する水平予測タップと、図2の垂直予測タップ抽出部65が抽出する垂直予測タップとして、その水平予測タップと垂直予測タップとを合成した予測タップ(合成予測タップ)を抽出する。
従って、予測タップ抽出部368では、例えば、図21右側に示される十字形に並ぶ、注目画素を中心とする複数の画素である十字形のタップ351を、合成予測タップとして抽出する。ここで、図21では、図21右側に白丸で示す注目画素の右に隣接する、黒丸で示す4個の画素、注目画素の左に隣接する、黒丸で示す4個の画素、注目画素の上に隣接する、黒丸で示す4個の画素、注目画素の下に隣接する、黒丸で示す4個の画素、および注目画素の、注目画素を含んで水平方向および垂直方向に並ぶ17個の画素が、十字形のタップ351として示されている。
また、予測タップ抽出部368は、ノイズ画像から抽出した合成予測タップを、予測演算部369に供給する。
予測演算部369は、係数合成部367から供給された合成係数と、予測タップ抽出部368から供給された合成予測タップに基づいて、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
即ち、予測演算部369は、係数合成部367から供給された合成係数[(w1+w’1−1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]と、その合成係数それぞれに対応する、予測タップ抽出部368から供給された合成予測タップ[x1,x2,・・・,xN,x’2,x’3,・・・,x’N]との積和(w1+w’1−1)x1+w22+w33+・・・+wNN+w’2x’2+w’3x’3+・・・+w’Nx’Nを求める。
ここで、(w1+w’1−1)x1+w22+w33+・・・+wNN+w’2x’2+w’3x’3+・・・+w’Nx’Nを変形すると、w11+w22+w33+・・・+wNN+w’11+w’2x’2+w’3x’3+・・・+w’Nx’N−x1となり、上述した式(3)の右辺が導かれるため、結局、予測演算部369は、図2の予測演算部69と同じノイズ除去画像の画素値(の予測値)を出力する。
図22は、図21の係数合成部367の詳細な構成例を示すブロック図である。
係数合成部367は、重複係数加算部391およびゲイン調整部392により構成される。
重複係数加算部391は、水平係数記憶部64から供給された水平係数wn(例えば、水平係数w1乃至w9)のうちの、所定の画素と乗算される水平係数と、垂直係数記憶部68から供給された垂直係数w’n(例えば、w’1乃至w’9)のうちの、所定の画素と乗算される垂直係数とを加算する。
具体的には、重複係数加算部391は、水平係数記憶部64から供給された水平係数wnのうちの、注目画素x1と乗算される水平係数w1と、垂直係数記憶部68から供給された垂直係数w’nのうちの、注目画素x’1(=x1)と乗算される垂直係数w’1とを加算し、その結果得られた係数[(w1+w’1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]を、ゲイン調整部392に供給する。
ゲイン調整部392は、重複係数加算部391から供給された係数[(w1+w’1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]のうちの、水平係数w1および垂直係数w’1が加算されることで得られた係数(w1+w’1)を−1することで、係数(w1+w’1)のゲインを調整し、その結果得られた係数[(w1+w’1―1),w2,w3,・・・,wN,w’2,w’3,・・・,w’N]を、合成係数として、図21の予測演算部369に供給する。
図23は、図1の画像変換部31の第3の構成例を示すブロック図である。
なお、図中、図21の画像変換部31の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図23の画像変換部31は、図21の水平クラスタップ抽出部62および垂直クラスタップ抽出部66に代えて、クラスタップ抽出部401およびクラスタップ分配部402が設けられている他は、図21の画像変換部31と同様に構成される。
クラスタップ抽出部401は、そこに供給されたノイズ画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、クラスタップ抽出部401は、注目画素に対して、水平クラスタップ抽出部62(図21)が抽出する水平クラスタップと、垂直クラスタップ抽出分66(図21)が抽出する垂直クラスタップとを合成したクラスタップ(合成クラスタップ)を、供給されてくるノイズ画像から抽出する。
即ち、クラスタップ抽出部401は、例えば、図21右側に示される水平方向と垂直方向に並ぶ、17画素である十字形のタップ351を、合成クラスタップとして抽出する。
また、クラスタップ抽出部401は、ノイズ画像から抽出した合成クラスタップを、クラスタップ分配部402に供給する。
クラスタップ分配部402は、クラスタップ抽出部401から供給された合成クラスタップを、図21の水平クラスタップ抽出部62が出力するのと同一の水平クラスタップと、図21の垂直クラスタップ抽出部66が出力するのと同一の垂直クラスタップとに分割し、水平クラスタップを水平クラス分類部63に、垂直クラスタップを垂直クラス分類部67にそれぞれ供給する。
次に、図24は、図23のクラスタップ分配部402における、合成クラスタップの分割を説明する図である。
図中左側には、クラスタップ抽出部401が、合成クラスタップとして抽出した、水平方向と垂直方向に並ぶ17画素である十字形のタップ351が示されている。また、図中右側には、クラスタップ分配部402が、合成クラスタップとしての十字形のタップ351を分割することで得た、水平クラスタップとしての水平方向に並ぶ、9画素である水平方向のタップ41と、垂直クラスタップとしての垂直方向に並ぶ、9画素である垂直方向のタップ42とが示されている。
クラスタップ分配部402は、水平方向と垂直方向とに並ぶ17画素である十字形のタップ351を、水平方向に並ぶ、9画素である水平方向のタップ41と、垂直方向に並ぶ、9画素である垂直方向のタップ42とに分割する。
その後、クラスタップ分配部402は、上述したように、水平方向のタップ41を水平クラスタップとして水平クラス分類部63に供給するとともに、垂直方向のタップ42を垂直クラスタップとして垂直クラス分類部67に供給する。
次に、図25は、図1の画像変換部31の第4の構成例を示すブロック図である。
なお、図中、図2の画像変換部31の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図25の画像変換部31は、図2の予測演算部69に代えて、予測演算部435が設けられ、さらに、斜め予測タップ抽出部431、斜めクラスタップ抽出部432、斜めクラス分類部433、および斜め係数記憶部434が新たに設けられている他は、図2の画像変換部31と同様に構成される。
また、画像変換部31には、例えば、チューナで受信された放送番組のノイズ画像や、記録媒体から再生されるノイズ画像が供給される。そして、ノイズ画像は、水平予測タップ抽出部61、水平クラスタップ抽出部62、垂直予測タップ抽出部65、垂直クラスタップ抽出部66、斜め予測タップ抽出部431、および斜めクラスタップ抽出部432に供給される。
斜め予測タップ抽出部431は、そこに供給されたノイズ画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、斜め予測タップ抽出部431は、注目画素に対応する、ノイズ画像を変換して得ようとするノイズ除去画像の画素の画素値を予測する予測演算に用いる複数の画素である斜め予測タップを、供給されてくるノイズ画像から抽出する。
即ち、斜め予測タップ抽出部431は、例えば、図25右上に示される、注目画素と、その注目画素の斜め方向に位置する複数の画素である斜め方向のタップ423を、斜め予測タップとして抽出する。ここで、図25では、図25右上に白丸で示す注目画素の左上の、黒丸で示す1個の画素、注目画素の右上の、黒丸で示す1個の画素、注目画素の左下の、黒丸で示す1個の画素、注目画素の右下の、黒丸で示す1個の画素、および注目画素の、合計5個の画素が、斜め方向のタップ423として示されている。
斜め予測タップ抽出部431は、ノイズ画像から抽出した斜め予測タップを予測演算部435に供給する。
斜めクラスタップ抽出部432は、斜め予測タップ抽出部431により抽出された斜め予測タップを、複数の斜めクラスのうちのいずれかの斜めクラスにクラス分けする斜めクラス分類に用いる複数の画素である斜めクラスタップを、供給されてくるノイズ画像から抽出する。
即ち、斜めクラスタップ抽出部432は、例えば、図25右上に示される、注目画素と、その周りに位置する複数の画素である斜め方向のタップ423を、斜めクラスタップとして抽出する。
なお、ここでは、説明を簡単にするために、斜め予測タップと斜めクラスタップとは、同一のタップ構造を有する複数の画素であるとする。但し、斜め予測タップと斜めクラスタップとは、異なるタップ構造の複数の画素とすることができる。
斜めクラスタップ抽出部432において得られる、斜め予測タップに対応する斜めクラスタップは、斜めクラス分類部433に供給される。斜めクラス分類部433は、斜めクラスタップ抽出部432からの斜めクラスタップに基づいて斜め予測タップを斜めクラス分類し、その結果得られた斜めクラスに対応する斜めクラスコードを、斜め係数記憶部434に出力する。
ここで、斜めクラス分類を行う方法としては、例えば、上述した水平クラス分類部63で行われる水平クラス分類と同様の方法を採用することができる。
斜め係数記憶部434は、後述する学習によってあらかじめ求められた斜めクラスごとの斜め係数のセットを記憶しており、その記憶している斜め係数のセットのうちの、斜めクラス分類部433から供給された斜めクラスコードに対応するアドレスに記憶されている斜め係数(斜めクラス分類部433から供給された斜めクラスコードが表す斜めクラスに対応する斜め係数)を、予測演算部435に出力する。
予測演算部435は、水平予測タップ抽出部61から供給された水平予測タップ、垂直予測タップ抽出部65から供給された垂直予測タップ、水平係数記憶部64から供給された水平係数、垂直係数記憶部68から供給された垂直係数、斜め予測タップ抽出部431から供給された斜め予測タップ、および斜め係数記憶部434から供給された斜め係数に基づいて、所定の予測演算を行うことにより、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
次に、図26を参照して、図25の予測演算部435で行われる予測演算を説明する。
図26は、図25の予測演算部435の詳細な構成例を示すブロック図である。
なお、図中、図3の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図26の予測演算部435は、斜め予測演算部461、ゲイン調整部462、および加算部463が新たに設けられているほかは、図3の予測演算部69の場合と同様に構成されている。
なお、図26では、図3の水平クラスタップ抽出部62、水平クラス分類部63、垂直クラスタップ抽出部66、および垂直クラス分類部67の図示は、省略してある。
斜め予測演算部461には、斜め係数記憶部434からの斜め係数w’’nと、斜め予測タップ抽出部431からの斜め予測タップx’’nとが供給される。
斜め予測演算部461は、斜め係数記憶部434からの斜め係数w’’n、および斜め予測タップ抽出部431からの斜め予測タップx’’nとを用いた斜め予測演算を行い、その結果得られた斜め処理画像の画素(以下、適宜、斜め画素という)の画素値Rを、ゲイン調整部462に供給する。
ここで、斜め予測タップと斜め係数とを用いた斜め予測演算として、水平予測演算や垂直予測演算と同様に、線形1次予測演算を採用し、斜め画素の画素値Rを求めることとすると、斜め画素の画素値Rは、次の線形1次式によって求められることになる。
Figure 0004957280
・・・(11)
但し、式(11)において、x’’nは、注目画素に対応する斜め画素(ノイズ画像の注目画素と同一の位置にある斜め処理画像の画素)についての斜め予測タップを構成する複数のノイズ画素のうちのn番目のノイズ画素の画素値を表している。ここで、例えば、斜め予測タップが、図25右上に示した、注目画素と、その周りに位置する複数の画素である斜め方向のタップ423とすると、n番目のノイズ画素の画素値とは、斜め方向のタップ423に付された番号nに対応するノイズ画素の画素値を示している。なお、x’’1は、注目画素の画素値を表しており、注目画素の画素値であるx1と同一であるため、以下、x1ともいう。
また、w’’nは、n番目のノイズ画素の画素値と乗算される斜め係数を表す。なお、式(11)では、斜め予測タップが、N個のノイズ画素x’’1,・・・,x’’Nで構成されるものとしている。
斜め予測演算により求められる斜め画素の画素値Rは、w’’11+w’’2x’’2+・・・+w’’N-1x’’N-1+w’’Nx’’N={(w’’1−1)x1+w’’2x’’2+・・・+w’’N-1x’’N-1+w’’Nx’’N}+x1となり、r={(w’’1−1)x1+w’’2x’’2+・・・+w’’N-1x’’N-1+w’’Nx’’N}とすれば、R=r+x1となる。
ここで、rは、斜め予測演算により求められた斜め画素の画素値Rからノイズ画素の注目画素の画素値x1を差し引くことで得られる差分の画素値を表す。従って、以下、適宜、rを斜め差分rという。
斜め差分rを導入することにより、斜め画素の画素値Rは、ノイズ画素の注目画素の画素値x1に斜め差分rを加算することで得られる画素値と考えることができる。斜め画素は、斜め予測演算により、ノイズ画素(の画素値)に含まれるノイズが除去された画素であるから、斜め差分rは、いわば、斜め係数w’’nと斜め予測タップの画素値x’’nとを用いた斜め予測演算による、ノイズの除去の効果分(以下、適宜、斜め処理効果分という)であるということができる。
斜め予測演算部461は、上述した斜め予測演算により求められた斜め画素の画素値Rを、ゲイン調整部462に供給する。
ゲイン調整部462には、図25の斜め予測タップ抽出部431から、注目画素の画素値x1が供給される。
ゲイン調整部462は、斜め予測演算部461から供給された斜め画素の画素値Rから、斜め予測タップ抽出部431から供給されたノイズ画像の注目画素の画素値x1を差し引くゲイン調整演算を行い、その結果得られた画素値である斜め差分rを加算部463に供給する。
加算部463は、加算部104から供給された画素値H+vと、ゲイン調整部462から供給された斜め差分rとを加算し、その結果得られた画素値H+v+rを、ノイズ除去画像を予測した画素値として出力する。
ここで、図26の斜め予測タップ抽出部431、斜めクラスタップ抽出部432、斜めクラス分類部433、斜め係数記憶部434、および斜め予測演算部461を総称して斜めマッピング部471といい、その斜めマッピング部471が、斜め係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、斜め画素の画素値Rに変換する処理を、以下、適宜、斜めマッピング処理という。
また、斜め画素の画素値Rは、斜め処理画像の画素値を示すものであるため、以下、単に、斜め処理画像Rともいう。
さらに、図26の斜め予測タップ抽出部431、斜めクラスタップ抽出部432、斜めクラス分類部433、斜め係数記憶部434、斜め予測演算部461、およびゲイン調整部462を総称して斜め差分マッピング部472といい、その斜め差分マッピング部472が、斜め係数を用いて、順次、注目画素とされるノイズ画素の画素値x1を、斜め差分rに変換する処理を、以下、適宜、斜め差分マッピング処理という。
次に、図27のフローチャートを参照して、図25の画像変換部31における画像変換処理を説明する。
この画像変換処理は、例えば、チューナで受信された放送番組のノイズ画像や、記録媒体から再生されるノイズ画像が、画像変換部31に供給されたときに開始される。このとき、水平予測タップ抽出部61、水平クラスタップ抽出部62、垂直予測タップ抽出部65、垂直クラスタップ抽出部66、斜め予測タップ抽出部431、および斜めクラスタップ抽出部432には、ノイズ画像が供給される。
即ち、ステップS311乃至ステップS314において、図4のステップS31乃至ステップS34それぞれと同様の処理が行われ、処理は、ステップS315に進み、斜め差分マッピング部472(図26)は、注目画素について斜め差分マッピング処理を行い、その結果得られた斜め差分rを、加算部463に供給して、処理は、ステップS316に進む。
ステップS316において、加算部463は、加算部104からの水平垂直処理画像H+vと、斜め差分マッピング部472からの斜め差分rとを加算し、注目画素に対応する、ノイズ除去画像の画素値y=H+v+rを得て出力する。
その後、ステップS316からステップS317に進み、図4のステップS35と同様の処理が行われる。
即ち、ステップS317では、水平マッピング部71の水平予測タップ抽出部61は、まだ注目画素とされていないノイズ画像の画素が存在するか否かを判定する。
ステップS317において、まだ注目画素とされていないノイズ画像が存在すると判定された場合、処理は、ステップS311に戻り、水平マッピング部71の水平予測タップ抽出部61は、まだ注目画素とされていないノイズ画像のうちの1つを、新たな注目画素とし、処理は、ステップS312に進み、以下、同様の処理を繰り返す。
ステップS317において、まだ注目画素とされていないノイズ画素が存在しないと判定された場合、画像変換処理は終了される。
なお、図25の画像変換部31では、水平タップにおける学習処理で求められる水平係数、垂直タップにおける学習処理で求められる垂直係数、および斜めタップにおける学習処理で求められる斜め係数を用いて、画像変換処理を行うことができる。
ここで、斜めタップにおける学習処理とは、ノイズ除去画像に相当する画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いて、斜め係数を学習する学習処理をいう。
なお、図8の学習部121において、予測タップ抽出部133が斜め予測タップを抽出し、クラスタップ抽出部134が斜め予測タップを抽出して、クラス分類部135が斜めクラス分類を行うようにすれば、斜めタップにおける学習処理を行うことができる。
即ち、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出部133は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜め予測タップ抽出部431が注目画素について得る斜め予測タップと同一のタップ構造の斜め予測タップ(図25の斜め予測タップ抽出部431が注目画素について得る斜め予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる斜め予測タップ)を得て、足し込み部136に供給する。
クラスタップ抽出部134は、ノイズ付加部132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜めクラスタップ抽出部432が注目画素について得る斜めクラスタップと同一のタップ構造の斜めクラスタップ(図25の斜めクラスタップ抽出部432が注目画素について得る斜めクラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる斜めクラスタップ)を得て、クラス分類部135に供給する。
クラス分類部135は、クラスタップ抽出部134から供給された斜めクラスタップに基づき、図25の斜めクラス分類部433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する斜めクラスコードを、足し込み部136に供給する。
足し込み部136は、原画像記憶部131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部133から供給された注目画素についての斜め予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部135から供給された斜めクラスコードごとに行う。
即ち、足し込み部136には、原画像記憶部131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部133が出力する注目画素についての斜め予測タップを構成する生徒画像の画素の画素値xn,k、クラス分類部135が出力する、斜め予測タップの斜めクラスを表す斜めクラスコードが供給される。
そして、足し込み部136は、クラス分類部135から供給された斜めクラスコードに対応する斜めクラスごとに、斜め予測タップ(生徒画像)xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部136は、やはり、クラス分類部135から供給された斜めクラスコードに対応する斜めクラスごとに、斜め予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部136は、前回、注目画素とされた生徒画像について求められた式(10)における左辺の行列のコンポーネント(Σxn,kn',k)と、右辺のベクトルのコンポーネント(Σxn,kk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kn',k)またはベクトルのコンポーネント(Σxn,kk)に対して、新たに注目画素とされた生徒画像について、その生徒画像xn,k+1および教師画像yk+1を用いて計算される、対応するコンポーネントxn,k+1n',k+1またはxn,k+1k+1を足し込む(式(10)のサメーションで表される加算を行う)。
そして、足し込み部136は、ノイズ付加部132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各斜めクラスについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部137に供給する。
係数算出部137は、足し込み部136から供給された各斜めクラスについての正規方程式を解くことにより、各斜めクラスについて、斜め係数w’’nを求めて出力する。
次に、図28は、上述した図25の画像変換部31で用いられる水平係数、垂直係数、および斜め係数を学習する3段差分学習部491の構成例を示すブロック図である。
3段差分学習部491は、図10の2段差分学習部151の水平タップ学習部161乃至垂直タップ差分学習部163それぞれと同様に構成される水平タップ学習部2161乃至垂直タップ学習部2163、図10の画像変換部152の垂直差分マッピング部164または加算部165それぞれと同様に構成される垂直差分マッピング部2164または加算部2165、および斜めタップ差分学習部531から構成されている。
なお、図28には、説明の便宜上、図25の画像変換部31に相当する画像変換部492も図示してある。
画像変換部492は、水平マッピング部2162、垂直差分マッピング部2164、加算部2165、斜め差分マッピング部532、および加算部533から構成される。斜め差分マッピング部532は、図26の斜め差分マッピング部472と同様に構成される。
斜めタップ差分学習部531は、水平タップ学習部2161で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および加算部2165から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
即ち、斜めタップ差分学習部531は、原画像、ノイズ画像、および水平垂直処理画像H+vから、後述するようにして、原画像と[水平差分h+垂直差分v]との差分である原画像−[水平差分h+垂直差分v]を生成し、その原画像−[水平差分h+垂直差分v]を教師画像とするとともに、ノイズ画像を生徒画像として、斜め予測タップ及び斜めクラスタップを用いて斜め係数を学習する、斜めタップにおける水平垂直差分の差分学習処理を行う。
なお、斜めタップ差分学習部531の、斜めタップにおける水平垂直差分の差分学習処理は、後述する図29を参照して、詳細に説明する。
図25の画像変換部31における画像変換処理では、図28の3段差分学習部491により求められた水平係数、垂直係数、および斜め係数を用いることができる。
ここで、図28において、画像変換部492は、図25の画像変換部31と同様に構成される。画像変換部492では、次のようにして、ノイズ画像を原画像(の予測値)に変換する画像変換処理が行われる。
即ち、画像変換部492では、水平マッピング部2162、垂直差分マッピング部2164、加算部2165において、図10の水平マッピング部162、垂直差分マッピング部164、加算部165とそれぞれ同様の処理が行われる。
そして、斜め差分マッピング部532において、斜めタップ差分学習部531での斜めタップにおける水平垂直差分の差分学習処理により得られる斜め係数を用いて、ノイズ画像を斜め差分rに変換する斜め差分マッピング処理を行い、その斜め差分rを、加算部533に供給する。
加算部533には、加算部2165から、水平垂直処理画像H+vが供給される。
加算部533は、図26の加算部463と同様に構成され、加算部2165から供給された水平垂直処理画像H+vと、斜め差分マッピング部532から供給された斜め差分rとを加算し、その結果得られた画素値H+v+rで構成される、原画像を予測した画像(以下、適宜、水平垂直斜め処理画像という)を出力する。
次に、図29は、斜めタップにおける水平垂直差分の差分学習処理を行う図28の斜めタップ差分学習部531の詳細な構成例を示すブロック図である。
斜めタップ差分学習部531は、図15の水平タップ差分学習部285の原画像記憶部2131乃至係数算出部2137それぞれと同様に構成される原画像記憶部3131乃至係数算出部3137と、差分画像生成部543とから構成される。
差分画像生成部543には、ノイズ付加部3132から生徒画像が供給されるとともに、図28の加算部2165から、水平垂直処理画像H+vが供給される。
差分画像生成部543は、ノイズ付加部3132から供給された生徒画像(ノイズ画像)x1を、図28の加算部2165から供給された水平垂直処理画像H+v=h+v+x1から差し引くことで、[水平差分h+垂直差分v]を生成する。
また、差分画像生成部543は、原画像記憶部3131に記憶されている原画像を読み出し、その原画像から、生成した[水平差分h+垂直差分v]を差し引き、その結果得られた原画像―[水平差分h+垂直差分v]を、教師画像として、足し込み部3136に供給する。
斜め予測タップ抽出部3133は、ノイズ付加部3132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、斜め予測タップ抽出部3133は、ノイズ付加部3132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜め予測タップ抽出部431が注目画素について得る斜め予測タップと同一のタップ構造の斜め予測タップを得て、足し込み部3136に供給する。
斜めクラスタップ抽出部3134は、ノイズ付加部3132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜めクラスタップ抽出部432が注目画素について得る斜めクラスタップと同一のタップ構造の斜めクラスタップを得て、斜めクラス分類部3135に供給する。
斜めクラス分類部3135は、斜めクラスタップ抽出部3134から供給された斜めクラスタップに基づき、図25の斜めクラス分類部433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する斜めクラスコードを、足し込み部3136に供給する。
なお、足し込み部3136は、差分画像生成部543から供給された教師画像の画素のうちの、注目画素に対応する画素と、斜め予測タップ抽出部3133から供給された注目画素についての斜め予測タップを構成する生徒画像の画素とを対象とした足し込みを、斜めクラス分類部3135から供給された斜めクラスコードごとに行うことにより、各斜めクラスについて正規方程式をたてると、その正規方程式を、係数算出部3137に供給する。
係数算出部3137は、足し込み部3136から供給された各斜めクラスについての正規方程式を解くことにより、各斜めクラスについて、斜め係数を求めて出力する。
以上のように構成される斜めタップ差分学習部531では、原画像と[水平差分h+垂直差分v]との差分である原画像―[水平差分h+垂直差分v]を教師画像とするとともに、ノイズ画像を生徒画像として、斜め係数を学習することから、ノイズ画像を、原画像から、水平マッピング処理による水平処理効果分としての水平差分hと垂直マッピング処理による垂直処理効果分としての垂直差分vとを差し引いた画像に変換する斜め係数が求められる。
次に、図30のフローチャートを参照して、図28の3段差分学習部491における3段差分学習処理を説明する。
ステップS331において、水平タップ学習部2161は、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部2162に供給する。
その後、処理は、ステップS331からステップS332に進み、水平マッピング部2162は、水平タップ学習部2161で生徒画像として用いられるノイズ画像(に相当する画像)と、水平タップ学習部2161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部2163に供給する。
そして、処理は、ステップS332からステップS333に進み、垂直タップ差分学習部2163は、水平タップ学習部2161で教師画像として用いられる原画像と、水平マッピング部2162から供給された水平処理画像Hとを用いて、垂直タップにおける水平差分の差分学習処理を行い、その結果得られた垂直係数を、垂直差分マッピング部2164に供給して、処理は、ステップS334に進む。
ステップS334において、垂直差分マッピング部2164は、水平タップ学習部2161で生徒画像として用いられるノイズ画像と、垂直タップ差分学習部2163から供給された垂直係数とを用いて、垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部2165に供給して、処理は、ステップS335に進む。
ステップS335において、加算部2165は、水平マッピング部2162から供給された水平処理画像Hと、垂直差分マッピング部2164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+vを、斜めタップ差分学習部531に供給して、処理は、ステップS336に進む。
ステップS336において、斜めタップ差分学習部531は、水平タップ学習部2161で教師画像として用いられる原画像と、加算部2165から供給された水平垂直処理画像H+vとを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
その後、3段差分学習処理は、終了される。
次に、図31のフローチャートを参照して、図30のステップS336の、斜めタップにおける水平垂直差分の差分学習処理の詳細を説明する。
ステップS341において、斜めタップ差分学習部531(図29)のノイズ付加部3132は、原画像記憶部3131に記憶されている原画像を読み出し、その原画像にノイズを付加することでノイズ画像に相当する画像を、生徒画像として生成し、差分画像生成部543、斜め予測タップ抽出部3133および斜めクラスタップ抽出部3134に供給する。なお、原画像記憶部3131には、図28の水平タップ学習部2161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS341からステップS342に進み、差分画像生成部543は、ノイズ付加部3132から供給されたノイズ画像x1を、図28の加算部2165から供給された水平垂直処理画像H+v=h+v+x1から差し引くことで、[水平差分h+垂直差分v]を生成する。
また、ステップS342において、差分画像生成部543は、原画像記憶部3131に記憶されている原画像を読み出し、その原画像から、生成した[水平差分h+垂直差分v]を差し引き、その結果得られた原画像―[水平差分h+垂直差分v]を、教師画像として、足し込み部3136に供給する。
処理は、ステップS342からステップS343に進み、斜め予測タップ抽出部3133は、ノイズ付加部3132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素として、処理は、ステップS344に進む。
ステップS344において、斜め予測タップ抽出部3133は、ノイズ付加部3132から供給された生徒画像を構成する画素のうちの、注目画素についての斜め予測タップとなる複数の画素を抽出し、足し込み部3136に供給する。
処理は、ステップS344からステップS355に進み、斜めクラスタップ抽出部3134は、ノイズ付加部3132から供給された生徒画像を構成する画素のうちの、注目画素についての斜めクラスタップとなる複数の画素を抽出し、斜めクラス分類部3135に供給する。
処理は、ステップS345からステップS346に進み、斜めクラス分類部3135は、斜めクラスタップ抽出部3134から供給された斜めクラスタップに基づき、図25の斜めクラス分類部433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する斜めクラスコードを、足し込み部3136に供給して、処理は、ステップS347に進む。
ステップS347において、足し込み部3136は、差分画像生成部543から供給された教師画像の画素のうちの、注目画素に対応する画素と、斜め予測タップ抽出部3133から供給された注目画素についての斜め予測タップを構成する生徒画像の画素とを対象とした足し込みを、斜めクラス分類部3135から供給された斜めクラスコードごとに行う。
処理は、ステップS347からステップS348に進み、斜め予測タップ抽出部3133は、ノイズ付加部3132から供給された生徒画像を構成する画素のうちの、まだ注目画素とされていない画素が存在するか否かを判定する。
ステップS348において、まだ注目画素とされていない画素が存在すると判定された場合、処理は、ステップS343に戻り、斜め予測タップ抽出部3133は、まだ注目画素とされていない生徒画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS344に進み、以下、同様の処理を繰り返す。
一方、ステップS348において、まだ注目画素とされていない生徒画像の画素が存在しないと判定された場合、即ち、足し込み部3136においては、ノイズ付加部3132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各斜めクラスについて、式(10)に示した正規方程式が得られた場合、足し込み部3136は、その正規方程式を、係数算出部3137に供給する。そして、処理は、ステップS348からステップS349に進み、係数算出部3137は、足し込み部3136から供給された各斜めクラスについての正規方程式を解くことにより、各斜めクラスについて、斜め係数w’’nを求めて出力する。
その後、処理は、図30のステップS336にリターンする。
ところで、図28の3段差分学習部491で求められる水平係数、垂直係数、および斜め係数によれば、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直処理効果分、および斜め係数を用いた斜め処理効果分の寄与分が同等とならない。
そこで、図32は、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直予測演算による垂直処理効果分、および斜め係数を用いた斜め予測演算による斜め処理効果分の寄与分が同等となるように、水平係数、垂直係数、および斜め係数を求める3段反復学習部581の構成例を示すブロック図である。
図32の3段反復学習部581は、水平処理部601、垂直処理部602、および斜め処理部603により構成される。
水平処理部601は、斜め処理部603から供給された画像などに基づいて、水平係数を学習する。さらに、水平処理部601は、学習によって得られる水平係数などに基づいて画像を生成し、垂直処理部602に供給する。
垂直処理部602は、水平処理部601から供給された画像などに基づいて、垂直係数を学習する。さらに、垂直処理部602は、学習によって得られる垂直係数などに基づいて画像を生成し、斜め処理部603に供給する。
斜め処理部603は、垂直処理部602から供給された画像などに基づいて、斜め係数を学習する。さらに、斜め処理部603は、学習によって得られる斜め係数などに基づいて画像を生成し、水平処理部601に供給する。
図33は、図32の水平処理部601の詳細な構成例を示すブロック図である。
水平処理部601は、水平タップ学習部631、水平マッピング部632、水平タップ差分学習部633、および水平差分加算マッピング部634により構成される。また、水平差分加算マッピング部634は、水平差分マッピング部661および加算部662により構成される。
水平タップ学習部631は、図8の学習部121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部632および水平差分加算マッピング部634(水平差分マッピング部661)に供給する。
水平マッピング部632は、水平タップ学習部631で生徒画像として用いられるノイズ画像と、水平タップ学習部631または水平タップ差分学習部633から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部602(図32)に供給する。
水平タップ差分学習部633は、水平タップ学習部631で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および斜め処理部603から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、水平係数を学習する。
即ち、水平タップ差分学習部633は、原画像、ノイズ画像、および垂直斜め処理画像V+rから、後述するようにして、原画像と[垂直差分v+斜め差分r]との差分である原画像−[垂直差分v+斜め差分r]を生成し、その原画像−[垂直差分v+斜め差分r]を教師画像とするとともに、ノイズ画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて水平係数を学習する、水平タップにおける垂直斜め差分の差分学習処理を行う。
なお、水平タップ差分学習部633の、水平タップにおける垂直斜め差分の差分学習処理は、後述する図34を参照して、詳細に説明する。
また、水平タップ差分学習部633は、学習した水平係数を、水平マッピング部632および水平差分加算マッピング部634(水平差分マッピング部661)に供給する。
水平差分加算マッピング部634は、斜め水平処理画像R+hを生成し、垂直処理部602に供給する。
即ち、水平差分加算マッピング部634の水平差分マッピング部661は、水平タップ学習部631で生徒画像として用いられるノイズ画像と、水平タップ学習部631または水平タップ差分学習部633から供給された水平係数を用いて、水平差分マッピング処理を行って、水平差分hを求め、加算部662に供給する。
加算部662は、水平差分マッピング部661から供給された水平差分hと、斜め処理部603から供給された斜め処理画像Rとを加算し、その結果得られた斜め水平処理画像R+hを、垂直処理部602に供給する。
ここで、上述のように、水平差分マッピング部661と加算部662とで構成される水平差分加算マッピング部634は、水平差分hを求め、その水平差分hと、斜め処理部603から供給された斜め処理画像Rとを加算する処理を行うため、かかる処理を、以下、適宜、水平差分加算マッピング処理という。
図34は、水平タップにおける垂直斜め差分の差分学習処理を行う図33の水平タップ差分学習部633の詳細な構成例を示すブロック図である。
水平タップ差分学習部633は、図15の水平タップ差分学習部285の原画像記憶部2131乃至係数算出部2137それぞれと同様に構成される原画像記憶部4131乃至係数算出部4137と、差分画像生成部673とから構成される。
差分画像生成部673には、ノイズ付加部4132から生徒画像が供給されるとともに、図32の斜め処理部603から、垂直斜め処理画像V+rが供給される。
差分画像生成部673は、ノイズ付加部4132から供給された生徒画像(ノイズ画像)x1を、図32の斜め処理部603から供給された垂直斜め処理画像V+r=v+x1+rから差し引くことで、[垂直差分v+斜め差分r]を生成する。
また、差分画像生成部673は、原画像記憶部4131に記憶されている原画像を読み出し、その原画像から、生成した[垂直差分v+斜め差分r]を差し引き、その結果得られた原画像―[垂直差分v+斜め差分r]を、教師画像として、足し込み部4136に供給する。
水平予測タップ抽出部4133は、ノイズ付加部4132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、水平予測タップ抽出部4133は、ノイズ付加部4132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の水平予測タップ抽出部61が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部4136に供給する。
水平クラスタップ抽出部4134は、ノイズ付加部4132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の水平クラスタップ抽出部62が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、水平クラス分類部4135に供給する。
水平クラス分類部4135は、水平クラスタップ抽出部4134から供給された水平クラスタップに基づき、図25の水平クラス分類部63と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部4136に供給する。
なお、足し込み部4136は、差分画像生成部673から供給された教師画像の画素のうちの、注目画素に対応する画素と、水平予測タップ抽出部4133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、水平クラス分類部4135から供給された水平クラスコードごとに行うことにより、各水平クラスについて正規方程式をたてると、その正規方程式を、係数算出部4137に供給する。
係数算出部4137は、足し込み部4136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数を求めて出力する。
図35は、図32の垂直処理部602の詳細な構成例を示すブロック図である。
垂直処理部602は、垂直タップ学習部691、垂直マッピング部692、垂直タップ差分学習部693、および垂直差分加算マッピング部694により構成される。また、垂直差分加算マッピング部694は、垂直差分マッピング部721および加算部722により構成される。
垂直タップ学習部691は、図8の学習部121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部692および垂直差分加算マッピング部694(垂直差分マッピング部721)に供給する。
垂直マッピング部692は、垂直タップ学習部691で生徒画像として用いられるノイズ画像と、垂直タップ学習部691または垂直タップ差分学習部693から供給された垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部603(図32)に供給する。
垂直タップ差分学習部693は、垂直タップ学習部691で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および水平処理部601から供給された斜め水平処理画像R+hを用いて、垂直タップにおける斜め水平差分の差分学習処理を行い、水平係数を学習する。
即ち、垂直タップ差分学習部693は、原画像、ノイズ画像、および斜め水平処理画像R+hから、原画像と[斜め差分r+水平差分h]との差分である原画像−[斜め差分r+水平差分h]を生成し、その原画像−[斜め差分r+水平差分h]を教師画像とするとともに、ノイズ画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける斜め水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部693の、垂直タップにおける斜め水平差分の差分学習処理は、後述する図36を参照して、詳細に説明する。
また、垂直タップ差分学習部693は、学習した垂直係数を、垂直マッピング部692および垂直差分加算マッピング部694(垂直差分マッピング部721)に供給する。
垂直差分加算マッピング部694は、水平垂直処理画像H+vを生成し、斜め処理部603に供給する。
即ち、垂直差分加算マッピング部694の垂直差分マッピング部721は、垂直タップ学習部691で生徒画像として用いられるノイズ画像と、垂直タップ学習部691または垂直タップ差分学習部693から供給された垂直係数を用いて、垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部722に供給する。
加算部722は、垂直差分マッピング部721から供給された垂直差分vと、水平処理部601から供給された水平処理画像Hとを加算し、その結果得られた水平垂直処理画像H+vを、斜め処理部603に供給する。
ここで、上述のように、垂直差分マッピング部721と加算部722とで構成される垂直差分加算マッピング部694は、垂直差分vを求め、その垂直差分vと、水平処理部601から供給された水平処理画像Hとを加算する処理を行うが、かかる処理を、以下、適宜、垂直差分加算マッピング処理という。
図36は、垂直タップにおける斜め水平差分の差分学習処理を行う図35の垂直タップ差分学習部693の詳細な構成例を示すブロック図である。
垂直タップ差分学習部693は、図34の水平タップ差分学習部633の原画像記憶部4131乃至係数算出部4137それぞれと同様に構成される原画像記憶部5131乃至係数算出部5137と、差分画像生成部733とから構成される。
差分画像生成部733には、ノイズ付加部5132から生徒画像が供給されるとともに、図32の水平処理部601から、斜め水平処理画像R+hが供給される。
差分画像生成部733は、ノイズ付加部5132から供給された生徒画像(ノイズ画像)x1を、図32の水平処理部601から供給された斜め水平処理画像R+h=r+x1+hから差し引くことで、[斜め差分r+水平差分h]を生成する。
また、差分画像生成部733は、原画像記憶部5131に記憶されている原画像を読み出し、その原画像から、生成した[斜め差分r+水平差分h]を差し引き、その結果得られた原画像―[斜め差分r+水平差分h]を、教師画像として、足し込み部5136に供給する。
垂直予測タップ抽出部5133は、ノイズ付加部5132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、垂直予測タップ抽出部5133は、ノイズ付加部5132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の垂直予測タップ抽出部65が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップを得て、足し込み部5136に供給する。
垂直クラスタップ抽出部5134は、ノイズ付加部5132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の垂直クラスタップ抽出部66が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップを得て、垂直クラス分類部5135に供給する。
垂直クラス分類部5135は、垂直クラスタップ抽出部5134から供給された垂直クラスタップに基づき、図25の垂直クラス分類部67と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部5136に供給する。
なお、足し込み部5136は、差分画像生成部733から供給された教師画像の画素のうちの、注目画素に対応する画素と、垂直予測タップ抽出部5133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部5135から供給された垂直クラスコードごとに行うことにより、各垂直クラスについて正規方程式をたてると、その正規方程式を、係数算出部5137に供給する。
係数算出部5137は、足し込み部5136から供給された各垂直クラスについての正規方程式を解くことにより、各垂直クラスについて、垂直係数を求めて出力する。
図37は、図32の斜め処理部603の詳細な構成例を示すブロック図である。
斜め処理部603は、斜めタップ学習部751、斜めマッピング部752、斜めタップ差分学習部753、および斜め差分加算マッピング部754により構成される。また、斜め差分加算マッピング部754は、斜め差分マッピング部781および加算部782により構成される。
斜めタップ学習部751は、図8の学習部121と同様に構成され、斜めタップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、ノイズ画像に相当する画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いた斜め係数を学習する学習処理を行い、その結果得られた斜め係数を、斜めマッピング部752および斜め差分加算マッピング部754(斜め差分マッピング部781)に供給する。
斜めマッピング部752は、斜めタップ学習部751で生徒画像として用いられるノイズ画像と、斜めタップ学習部751または斜めタップ差分学習部753から供給された斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部601(図32)に供給する。
斜めタップ差分学習部753は、斜めタップ学習部751で教師画像として用いられる原画像と生徒画像として用いられるノイズ画像、および垂直処理部602から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
即ち、斜めタップ差分学習部753は、原画像、ノイズ画像、および水平垂直処理画像H+vから、原画像と[水平差分h+垂直差分v]との差分である原画像−[水平差分h+垂直差分v]を生成し、その原画像−[水平差分h+垂直差分v]を教師画像とするとともに、ノイズ画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いて斜め係数を学習する、斜めタップにおける水平垂直差分の差分学習処理を行う。
なお、斜めタップ差分学習部753の、斜めタップにおける水平垂直差分の差分学習処理は、後述する図38を参照して、詳細に説明する。
また、斜めタップ差分学習部753は、学習した斜め係数を、斜めマッピング部752および斜め差分加算マッピング部754(斜め差分マッピング部781)に供給する。
斜め差分加算マッピング部754は、垂直斜め処理画像V+rを生成し、水平処理部601に供給する。
即ち、斜め差分加算マッピング部754の斜め差分マッピング部781は、斜めタップ学習部751で生徒画像として用いられるノイズ画像と、斜めタップ学習部751または斜めタップ差分学習部753から供給された斜め係数を用いて、斜め差分マッピング処理を行い、その結果得られた斜め差分rを、加算部782に供給する。
加算部782は、斜め差分マッピング部781から供給された斜め差分rと、垂直処理部602から供給された垂直処理画像Vとを加算し、その結果得られた垂直斜め処理画像V+rを生成し、水平処理部601に供給する。
ここで、上述のように、斜め差分マッピング部781と加算部782とで構成される斜め差分加算マッピング部754は、斜め差分rを求め、その斜め差分rと、垂直処理部602から供給された垂直処理画像Vとを加算する処理を行うが、かかる処理を、以下、適宜、斜め差分加算マッピング処理という。
図38は、斜めタップにおける水平垂直差分の差分学習処理を行う図37の斜めタップ差分学習部753の詳細な構成例を示すブロック図である。
斜めタップ差分学習部753は、図34の水平タップ差分学習部633の原画像記憶部4131乃至係数算出部4137それぞれと同様に構成される原画像記憶部6131乃至係数算出部6137と、差分画像生成部793とから構成される。
差分画像生成部793には、ノイズ付加部6132から生徒画像が供給されるとともに、図32の垂直処理部602から、水平垂直処理画像H+vが供給される。
差分画像生成部793は、ノイズ付加部6132から供給された生徒画像(ノイズ画像)x1を、図32の垂直処理部602から供給された水平垂直処理画像H+v=h+x1+vから差し引くことで、[水平差分h+垂直差分v]を生成する。
また、差分画像生成部793は、原画像記憶部6131に記憶されている原画像を読み出し、その原画像から、生成した[水平差分h+垂直差分v]を差し引き、その結果得られた原画像―[水平差分h+垂直差分v]を、教師画像として、足し込み部6136に供給する。
斜め予測タップ抽出部6133は、ノイズ付加部6132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、斜め予測タップ抽出部6133は、ノイズ付加部6132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜め予測タップ抽出部431が注目画素について得る斜め予測タップと同一のタップ構造の斜め予測タップを得て、足し込み部6136に供給する。
斜めクラスタップ抽出部6134は、ノイズ付加部6132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図25の斜めクラスタップ抽出部432が注目画素について得る斜めクラスタップと同一のタップ構造の斜めクラスタップを得て、斜めクラス分類部6135に供給する。
斜めクラス分類部6135は、斜めクラスタップ抽出部6134から供給された斜めクラスタップに基づき、図25の斜めクラス分類部433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する斜めクラスコードを、足し込み部6136に供給する。
なお、足し込み部6136は、差分画像生成部793から供給された教師画像の画素のうちの、注目画素に対応する画素と、斜め予測タップ抽出部6133から供給された注目画素についての斜め予測タップを構成する生徒画像の画素とを対象とした足し込みを、斜めクラス分類部6135から供給された斜めクラスコードごとに行うことにより、各斜めクラスについて正規方程式をたてると、その正規方程式を、係数算出部6137に供給する。
係数算出部6137は、足し込み部6136から供給された各斜めクラスについての正規方程式を解くことにより、各斜めクラスについて、斜め係数を求めて出力する。
図39は、図32の3段反復学習部581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。
図中左側から1番目の、上下方向に伸びた点線の矩形内には、水平タップ学習部631、水平マッピング部632、水平タップ差分学習部633、および水平差分加算マッピング部634が示されており、図32の水平処理部601による処理の流れを示している。
また、図中左側から2番目の、上下方向に伸びた点線の矩形内には、垂直タップ学習部691、垂直マッピング部692、垂直タップ差分学習部693、および垂直差分加算マッピング部694が示されており、図32の垂直処理部602による処理の流れを示している。
さらに、図中左側から3番目(右側から1番目)の、上下方向に伸びた点線の矩形内には、斜めタップ学習部751、斜めマッピング部752、斜めタップ差分学習部753、および斜め差分加算マッピング部754が示されており、図32の斜め処理部603による処理の流れを示している。
なお、図中、実線で表された矢印は、水平マッピング部632や、水平差分加算マッピング部634、垂直マッピング部692、垂直差分加算マッピング部694、斜めマッピング部752、斜め差分加算マッピング部754で生成された画像の流れを示している。
また、図中、点線で表された矢印は、水平タップ学習部631や、水平タップ差分学習部633、垂直タップ学習部691、垂直タップ差分学習部693、斜めタップ学習部751、斜めタップ差分学習部753で学習された係数の流れを示している。
さらに、図中下側には、図28で説明した画像変換部492が示されている。
いま、教師画像と生徒画像とを用いたn回目の学習処理を、第n−1世代の学習処理というとともに、第n−1世代の学習によって求められる第n−1世代の水平係数、第n−1世代の垂直係数、および第n−1世代の斜め係数のセットを、第n−1世代の係数セットということとする。
第0世代の学習処理では、水平処理部601の水平タップ学習部631は、水平係数を求め、水平マッピング部632と水平差分加算マッピング部634に供給する。垂直処理部602の垂直タップ学習部691は、垂直係数を求め、垂直マッピング部692と垂直差分加算マッピング部694に供給する。さらに、斜め処理部603の斜めタップ学習部751は、斜め係数を求め、斜めマッピング部752と斜め差分加算マッピング部754に供給する。これにより、第0世代の係数セットが求められる。
第1世代の学習処理では、第0世代で求められた係数セットに基づいて、第1世代の係数セットが求められる。
即ち、第1世代の学習処理では、水平処理部601の水平マッピング部632は、水平タップ学習部631からの第0世代の水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部602の垂直差分加算マッピング部694に供給する。
垂直処理部602の垂直差分加算マッピング部694は、垂直タップ学習部691からの第0世代の垂直係数と、水平マッピング部632から供給された水平処理画像Hを用いて、垂直差分加算マッピング処理を行い、その結果得られた水平垂直処理画像H+vを、斜め処理部603の斜めタップ差分学習部753に供給する。
斜め処理部603の斜めタップ差分学習部753は、垂直差分加算マッピング部694から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、第1世代の斜め係数を求め、斜めマッピング部752と斜め差分加算マッピング部754に供給する。
また、第1世代の学習処理では、垂直処理部602の垂直マッピング部692は、垂直タップ学習部691からの第0世代の垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部603の斜め差分加算マッピング部754に供給する。
斜め処理部603の斜め差分加算マッピング部754は、斜めタップ学習部751からの第0世代の斜め係数と、垂直マッピング部692から供給された垂直処理画像Vを用いて、斜め差分加算マッピング処理を行い、その結果得られた垂直斜め処理画像V+rを、水平処理部601の水平タップ差分学習部633に供給する。
水平処理部601の水平タップ差分学習部633は、斜め差分加算マッピング部754から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、第1世代の水平係数を求め、水平マッピング部632と水平差分加算マッピング部634に供給する。
さらに、第1世代の学習処理では、斜め処理部603の斜めマッピング部752は、斜めタップ学習部751からの第0世代の斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部601の水平差分加算マッピング部634に供給する。
水平処理部601の水平差分加算マッピング部634は、水平タップ学習部631の第0世代の水平係数と、斜めマッピング部752から供給された斜め処理画像Rを用いて、水平差分加算マッピング処理を行い、その結果得られた斜め水平処理画像R+hを、垂直処理部602の垂直タップ差分学習部693に供給する。
垂直処理部602の垂直タップ差分学習部693は、水平差分加算マッピング部634から供給された斜め水平処理画像R+hを用いて、垂直タップにおける斜め水平差分の差分学習処理を行い、第1世代の垂直係数を求め、垂直マッピング部692と垂直差分加算マッピング部694に供給する。
これにより、第1世代の係数セットである、水平係数、垂直係数、および斜め係数が求められ、第2世代では、第1世代で求められた係数セットに基づいて、第2世代の係数セットである、水平係数、垂直係数、および斜め係数が求められる。
第3世代、第4世代、・・・、第N世代でも、第2世代と同様の処理が行われ、第3世代の係数セット、第4世代、・・・、第N世代の係数セットが求められる。
なお、3段反復学習処理は、3段反復学習部581により求められる係数セットを用いた、図39下側に示される画像変換部492の画像変換処理による結果H+v+rと、原画像との自乗誤差を最小にする係数セットが求められたとき、または、あらかじめ決められた世代の学習処理が行われたときなどに終了する。
また、3段反復学習部581により求められる係数セットにより画像変換処理を行う場合は、求められた係数セットの、水平係数、垂直係数、または斜め係数を、どの順番で用いてもかまわない。
次に、図40のフローチャートを参照して、図32の3段反復学習部581における3段反復学習処理を説明する。
ステップS361において、水平処理部601の水平タップ学習部631は、水平係数を求め、水平マッピング部632と水平差分加算マッピング部634に供給する。また、ステップS361において、垂直処理部602の垂直タップ学習部691は、垂直係数を求め、垂直マッピング部692と垂直差分加算マッピング部694に供給する。さらに、ステップS361において、斜め処理部603の斜めタップ学習部751は、斜め係数を求め、斜めマッピング部752と斜め差分加算マッピング部754に供給する。
処理は、ステップS361からステップS362に進み、水平処理部601の水平マッピング部632は、水平タップ学習部631からの水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部602の垂直差分加算マッピング部694に供給する。
また、ステップS362において、垂直処理部602の垂直マッピング部692は、垂直タップ学習部691からの垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部603の斜め差分加算マッピング部754に供給する。
さらに、ステップS362において、斜め処理部603の斜めマッピング部752は、斜めタップ学習部751からの斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部601の水平差分加算マッピング部634に供給する。
その後、処理は、ステップS362からステップS363に進み、水平処理部601の水平差分加算マッピング部634は、水平タップ学習部631の水平係数と、斜めマッピング部752から供給された斜め処理画像Rを用いて、水平差分加算マッピング処理を行い、その結果得られた斜め水平処理画像R+hを、垂直処理部602の垂直タップ差分学習部693に供給する。
また、ステップS363において、垂直処理部602の垂直差分加算マッピング部694は、垂直タップ学習部691からの垂直係数と、水平マッピング部632から供給された水平処理画像Hを用いて、垂直差分加算マッピング処理を行い、その結果得られた水平垂直処理画像H+vを、斜め処理部603の斜めタップ差分学習部753に供給する。
さらに、ステップS363において、斜め処理部603の斜め差分加算マッピング部754は、斜めタップ学習部751からの斜め係数と、垂直マッピング部692から供給された垂直処理画像Vを用いて、斜め差分加算マッピング処理を行い、その結果得られた垂直斜め処理画像V+rを、水平処理部601の水平タップ差分学習部633に供給する。
その後、処理は、ステップS363からステップS364に進み、水平処理部601の水平タップ差分学習部633は、斜め差分加算マッピング部754から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、水平係数を求め、水平マッピング部632と水平差分加算マッピング部634に供給する。
また、ステップS364において、垂直処理部602の垂直タップ差分学習部693は、水平差分加算マッピング部634から供給された斜め水平処理画像R+hを用いて、垂直タップにおける斜め水平差分の差分学習処理を行い、垂直係数を求め、垂直マッピング部692と垂直差分加算マッピング部694に供給する。
さらに、ステップS364において、斜め処理部603の斜めタップ差分学習部753は、垂直差分加算マッピング部694から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を求め、斜めマッピング部752と斜め差分加算マッピング部754に供給する。
その後、処理は、ステップS364からステップS362に進み、以下、同様の処理を繰り返す。即ち、ステップS362およびステップS363においては、ステップS364で求められた水平係数、垂直係数、および斜め係数を用いてマッピング処理および差分加算マッピング処理が行われ、ステップS364では、その結果得られた画像に基づいて、差分学習処理が行われる。
以上のような図40の3段反復学習処理では、水平タップ学習部631(図33)が、ノイズ画像に相当する画像を生徒画像とするとともに、原画像を教師画像として、第0世代の水平係数を求め、水平タップ差分学習部633が、ノイズ画像に相当する画像を生徒画像とするとともに、第n−1世代で求められた水平係数、垂直係数、および斜め係数のうちの、水平係数を除いた係数である垂直係数および斜め係数を用いた予測演算による原画像への近似効果分、即ち、垂直係数による垂直処理効果分としての垂直差分vと、斜め係数による斜め処理効果分としての斜め差分rとを、原画像から差し引くことで得られる画像である原画像−[垂直差分v+斜め差分r]を教師画像として、第n世代の水平係数を求める。垂直係数および斜め係数も同様に求められる。従って、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直予測演算による垂直処理効果分、および斜め係数を用いた斜め予測演算による斜め処理効果分による寄与分が、それぞれ、同等な水平係数、垂直係数、および斜め係数を求めることができる。
なお、図40の3段反復学習処理は、例えば、反復して求められる水平係数、垂直係数、および斜め係数がとる値が収束したときに、終了する。
また、図40の3段反復学習処理は、3段反復学習部581(図32)により求められる係数セットを用いた画像変換処理による結果と、原画像との自乗誤差とを最小にする係数セットが求められたとき、または、あらかじめ決められた世代の学習処理が行われたときなどに終了するようにしてもよい。
ところで、3段反復学習処理において、第0世代による学習処理では、図8の学習部121で求めた係数と同様、いずれも単独で、ノイズ画像をノイズ除去画像(の予測値)に変換することができる水平係数、垂直係数、および斜め係数が、第0世代の係数として求められる。
第1世代では、第0世代で求められた係数セットを用いることで得られる過剰な処理効果分を考慮する形で、係数セットを求める。また、第2世代乃至第n世代では、前回の世代で求められた係数セットを用いることで得られる処理効果分を考慮する形で、係数セットを反復して求める。
3段反復学習処理では、多くの場合、世代が進むにつれて、第0世代で求められた係数セットの、いわば、3重のノイズ除去の処理効果分が調整されていき、ノイズ除去の処理効果分が適切な係数セットが求められる。この場合、3段反復学習処理により求められる係数セットは、所定の値に収束する。
しかしながら、求められる係数セットによっては、世代を進めても、第0世代で求められた係数セットの、3重のノイズ除去の処理効果分が適切に調整されないことがある。この場合、3段反復学習処理により求められる係数セットは、所定の値に収束せずに発散または振動してしまう。
そこで、後述するボリューム処理により、前回求めた係数による処理効果分を抑制することで、3段反復学習処理により求められる係数セットがとる値を収束させることができる。なお、2段反復学習処理により求められる係数セットは、収束することが、実験によりわかっているため、2段反復学習処理に対して、後述するボリューム処理は必要ない。
次に、図41は、ボリューム処理を行う図32の3段反復学習部581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。
なお、図中、図39の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図41は、新たにボリューム操作部811乃至813が設けられているほかは、図39の場合と同様に構成されている。
第0世代の学習処理では、水平処理部601の水平タップ学習部631は、水平係数を求め、ボリューム操作部811に供給する。また、垂直処理部602の垂直タップ学習部691は、垂直係数を求め、ボリューム操作部812に供給する。さらに、斜め処理部603の斜めタップ学習部751は、斜め係数を求め、ボリューム操作部813に供給する。これにより、第0世代の係数セットが求められる。
第1世代の学習処理では、第0世代で求められた係数セットに基づいて、第1世代の係数セットが求められる。
第1世代の学習処理では、水平処理部601のボリューム操作部811は、水平タップ学習部631からの第0世代の水平係数にボリューム処理を行い、水平処理部601の水平マッピング部632は、ボリューム処理された第0世代の水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部602の垂直差分加算マッピング部694に供給する。
垂直処理部602のボリューム操作部812は、垂直タップ学習部691からの第0世代の垂直係数にボリューム処理を行い、垂直処理部602の垂直差分加算マッピング部694は、ボリューム処理された第0世代の垂直係数と、水平マッピング部632から供給された水平処理画像Hを用いて、垂直差分加算マッピング処理を行い、その結果得られた水平垂直処理画像H+vを、斜め処理部603の斜めタップ差分学習部753に供給する。
斜め処理部603の斜めタップ差分学習部753は、垂直差分加算マッピング部694から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、第1世代の斜め係数を求め、ボリューム操作部813に供給する。
また、第1世代の学習処理では、垂直処理部602のボリューム操作部812は、垂直タップ学習部691からの第0世代の垂直係数にボリューム処理を行い、垂直処理部602の垂直マッピング部692は、ボリューム処理された第0世代の垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部603の斜め差分加算マッピング部754に供給する。
斜め処理部603のボリューム操作部813は、斜めタップ学習部751からの第0世代の斜め係数にボリューム処理を行い、斜め処理部603の斜め差分加算マッピング部754は、ボリューム処理された第0世代の斜め係数と、垂直マッピング部692から供給された垂直処理画像Vを用いて、斜め差分加算マッピング処理を行い、その結果得られた垂直斜め処理画像V+rを、水平処理部601の水平タップ差分学習部633に供給する。
水平処理部601の水平タップ差分学習部633は、斜め差分加算マッピング部754から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、第1世代の水平係数を求めて、ボリューム操作部811に供給する。
さらに、第1世代の学習処理では、斜め処理部603のボリューム操作部813は、斜めタップ学習部751からの第0世代の斜め係数にボリューム処理を行い、斜め処理部603の斜めマッピング部752は、ボリューム処理された第0世代の斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部601の水平差分加算マッピング部634に供給する。
水平処理部601のボリューム操作部811は、水平タップ学習部631からの第0世代の水平係数にボリューム処理を行い、水平処理部601の水平差分加算マッピング部634は、ボリューム処理された第0世代の水平係数と、斜めマッピング部752から供給された斜め処理画像Rを用いて、水平差分加算マッピング処理を行い、その結果得られた斜め水平処理画像R+hを、垂直処理部602の垂直タップ差分学習部693に供給する。
垂直処理部602の垂直タップ差分学習部693は、水平差分加算マッピング部634から供給された斜め水平処理画像R+hに基づいて、垂直タップにおける斜め水平差分の差分学習処理を行い、第1世代の垂直係数を求める。
これにより、第1世代の係数セットである、水平係数、垂直係数、および斜め係数が求められ、第2世代では、第1世代で求められた係数セットに基づいて、第2世代の係数セットである、水平係数、垂直係数、および斜め係数が求められる。
第3世代、第4世代、・・・、第n世代において、第2世代と同様の処理が行われ、第3世代の係数セット、第4世代、・・・、第N世代の係数セットが求められる。
なお、図41で行われる3段反復学習処理は、例えば、求められる係数セットがとる値が収束した場合に、終了する。
以上のように、ボリューム処理を行うことにより、係数セットの発散および振動を防止し、収束させることができる。
即ち、図42は、係数のボリューム処理を説明する図である。
図中、左右方向に示される数字は、例えば、ノイズ画像の水平予測タップのタップ番号を示している。なお、タップ番号1のタップは、水平予測タップの注目画素x1であり、水平予測タップは、x1,x2,・・・,x5の5つのタップにより構成されているものとしている。
また、図中、上下方向に示される数字は、図中、左右方向に示されるタップ番号に対応する水平予測タップの画素値と乗算される水平係数(タップ番号に対応する水平係数)がとる値を示している。
さらに、図中、中央に示される実線のグラフVolume0.0は、水平マッピング処理の対象であるノイズ画像x1を、同一のノイズ画像x1に変換する水平係数のグラフを示している。即ち、実線のグラフVolume0.0では、タップ番号1の注目画素の水平係数は1.0になっており、それ以外の、タップ番号2乃至5の画素の水平係数は0.0になっている。
従って、実線のグラフVolume0.0が示す水平係数を用いた水平マッピング処理により得られる水平処理画像Hは、水平処理効果分のないノイズ画像x1である。
図中、中央に示される点線のグラフVolume1.0は、上述した3段反復学習処理のある世代で求められた水平係数を示すグラフである。
また、図中、中央に示される1点鎖線のグラフVolume0.5は、ボリューム値0.5によるボリューム処理により得られた水平係数のグラフを示している。
ここで、ボリューム値i(iは、0.0以上1.0以下の実数)によるボリューム処理では、実線のグラフVolume0.0が示す水平係数と値(1−i)との乗算値と、点線のグラフVolume1.0が示すある世代の水平係数と値iとの乗算値とを加算することで新たな水平係数が求められる。
従って、ボリューム値0.5によるボリューム処理によって得られた新たな係数を表す1点鎖線のグラフVolume0.5は、点線のグラフVolume1.0が表す水平係数と比較して、タップ番号1の注目画素の水平係数が大となり、それ以外の、タップ番号2乃至5の画素の水平係数が小となっている。
以上のようなボリューム値iによるボリューム処理においては、ボリューム値iを小に設定するほど、実線のグラフVolume0.0が示す水平係数に近い水平係数が求められ、例えば、図41の水平マッピング部632または水平差分加算マッピング部634により生成される水平差分hに対応する水平処理効果分などが抑制される。
従って、3段反復学習処理により求められる係数セットがとる値が収束することなく発散または振動する場合には、ボリューム値iを小さくしたボリューム処理を行うことで、前回の係数セットにおける処理効果分を抑制し、その処理効果分を考慮する形で、係数セットを反復して学習することで、係数セットがとる値を収束させることができる。
なお、ボリューム処理におけるボリューム値iは、ユーザがボリューム操作部811乃至813の図示せぬ操作つまみ等を操作することで設定することができる。
次に、図43乃至図46は、3段反復学習処理において、収束することなく発散または振動する係数セットに対して、ボリューム値0.5によるボリューム処理を行った場合の、第0世代乃至第4世代ごとの水平係数を示す図である。
図43は、所定の水平クラスに対応する世代ごとの水平係数を示す図である。
図中、左右方向に示される数字は、例えば、水平予測タップとしての水平方向に並ぶ9画素である、水平方向のタップ41に付されたタップ番号を示している。また、図中、上下方向に示される数字は、図中、左右方向に示されるタップ番号に対応する水平予測タップの画素値と乗算される水平係数(タップ番号に対応する水平係数)がとる値を示している。
さらに、図中、中央に示される5つのグラフrec0乃至rec4は、それぞれ、第0世代乃至第4世代の水平係数を示すグラフであり、タップ番号と、そのタップ番号に対応する水平予測タップの画素値と乗算される水平係数との対応を示すグラフである。
次に、図44は、図43により示された第0世代乃至第4世代の、タップ番号に対応する水平予測タップの画素値に乗算される水平係数それぞれが、世代が進むごとに、所定の値に収束することを示す図である。
図中、左右方向に示される数字は、図43で示された水平係数における世代を示している。また、図中、上下方向に示される数字は、図中、左右方向に示される世代で求められた水平係数がとる値を示している。
さらに、図中、中央に示される9つのグラフtap1乃至tap9は、それぞれ、タップ番号1乃至タップ番号9に対応する水平予測タップの画素値と乗算される水平係数を示すグラフであり、世代の変化に応じて、求められる水平係数が変化する様子を示すグラフである。
ここで、例えば、タップ番号1乃至タップ番号9に対応する水平係数のうちの、1番変化の大きいタップ番号1に対応する水平係数に注目すると、世代が進むにつれて、振幅が小さくなっていき、所定の値に収束する様子が示されている。
図45および図46は、3段反復学習により求められた他の水平クラスに対応する水平係数が、所定の値に収束する様子を模式的に示した図である。
図45および図46には、図43および図44で説明した所定の水平クラスに対応する水平係数とは異なる、他の水平クラスに対応する水平係数が、所定の値に収束する様子が示されているだけであるため、図45および図46の説明は、以下、省略する。
図47は、図1の画像変換部31の第5の構成例を示すブロック図である。
図47の画像変換部31は、水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部10064、垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部10068、および予測演算部10069により構成される。
また、図47の画像変換部31には、例えば、MPEG-2などにより、8×8画素のブロック単位でMPEG符号化されたMPEG符号化画像が、チューナで受信された放送番組の画像や、記録媒体から再生される画像として供給される。図47の画像変換部31において、MPEG符号化画像は、図示せぬデコーダに供給され、MPEG復号されて、MPEG復号画像として、水平予測タップ抽出部10061、水平クラスタップ抽出部10062、垂直予測タップ抽出部10065、および垂直クラスタップ抽出部10066に供給される。
さらに、MPEG復号画像における8×8画素のブロック4個で構成される16×16画素のマクロブロックの構造が、フレーム構造であるか、フィールド構造であるを表すフィールド情報は、MPEG符号化画像に含まれて、図47の画像変換部31に供給されるものとする。なお、以下では、説明を簡単にするために、輝度信号のみを考える。従って、MPEG復号画像における16×16画素のマクロブロックは、2×2個(横×縦)の、8×8画素の輝度信号のブロックで構成される。
そして、以下の説明において、特に断らない限り、MPEG復号画像における16×16画素のマクロブロックの構造が、フレーム構造であることを前提とする。
水平予測タップ抽出部10061は、そこに供給されたMPEG復号画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックに含まれる画素を順次、注目画素とする。さらに、水平予測タップ抽出部10061は、注目画素に対応する、MPEG復号画像を変換して得ようとするノイズ除去画像の画素の画素値を予測する予測演算に用いる複数の画素(の画素値)である水平予測タップを、MPEG復号画像から抽出する。
即ち、水平予測タップ抽出部10061は、例えば、注目画素を中心として水平方向に並ぶ9画素を、水平予測タップとして抽出する。
水平予測タップ抽出部10061は、MPEG復号画像から抽出した水平予測タップを予測演算部10069に供給する。
水平クラスタップ抽出部10062は、例えば、水平差分クラスタップ抽出部10062a、垂直差分クラスタップ抽出部10062b、およびブロック抽出部10062cにより構成される。水平クラスタップ抽出部10062は、水平予測タップ抽出部10061により抽出された水平予測タップを、複数の水平クラスのうちのいずれかの水平クラスにクラス分けする水平クラス分類に用いる複数の画素である水平クラスタップを、供給されてくるMPEG復号画像から抽出する。
即ち、例えば、水平差分クラスタップ抽出部10062aは、注目画素を中心として水平方向に並ぶ9画素を、水平予測タップ抽出部10061が抽出する水平予測タップのクラスを表すクラスコードの一部である水平差分クラスコードを生成するのに用いる複数の画素である水平差分クラスタップとして、供給されてくるMPEG復号画像から抽出する。
また、例えば、垂直差分クラスタップ抽出部10062bは、注目画素を中心として垂直方向に並ぶ9画素を、垂直予測タップ抽出部10065が抽出する垂直予測タップのクラスを表すクラスコードの一部である垂直差分クラスコードを生成するのに用いる複数の画素である垂直差分クラスタップとして、供給されてくるMPEG復号画像から抽出する。
さらに、例えば、ブロック抽出部10062cは、注目ブロックを、供給されてくるMPEG復号画像から抽出する。ここで、抽出される注目ブロックは、MPEG符号化画像に含まれて図47の画像変換部31に供給されるフィールド情報も含むものとする。
なお、水平クラスタップ抽出部10062が抽出する水平クラスタップは、MPEG復号画像から抽出した水平差分クラスタップ、垂直差分クラスタップ、および注目ブロックにより構成される。
また、水平予測タップと水平クラスタップとは、これに限定されるものではない。
水平クラスタップ抽出部10062において得られる、水平予測タップに対応する水平クラスタップは、水平クラス分類部10063に供給される。水平クラス分類部10063は、水平クラスタップ抽出部10062からの水平クラスタップに基づいて水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部10064に出力する。
水平係数記憶部10064は、後述する学習によってあらかじめ求められた水平クラスごとの水平係数のセットを記憶しており、その記憶している水平係数のセットのうちの、水平クラス分類部10063から供給された水平クラスコードに対応するアドレスに記憶されている水平係数(水平クラス分類部10063から供給された水平クラスコードが表す水平クラスに対応する水平係数)を、予測演算部10069に出力する。
垂直予測タップ抽出部10065は、注目画素に対応する、MPEG復号画像を変換して得ようとするノイズ除去画像の画素の画素値を予測する予測演算に用いる複数の画素(の画素値)である垂直予測タップを、供給されてくるMPEG復号画像から抽出する。
即ち、垂直予測タップ抽出部10065は、例えば、注目画素を中心として垂直方向に並ぶ9画素を、垂直予測タップとして抽出する。
垂直予測タップ抽出部10065は、MPEG復号画像から抽出した垂直予測タップを予測演算部10069に供給する。
垂直クラスタップ抽出部10066は、例えば、水平差分クラスタップ抽出部10066a,垂直差分クラスタップ抽出部10066b、およびブロック抽出部10066cにより構成される。垂直クラスタップ抽出部10066は、垂直予測タップ抽出部10065により抽出された垂直予測タップを、複数の垂直クラスのうちのいずれかの垂直クラスにクラス分けする垂直クラス分類に用いる複数の画素(の画素値)である垂直クラスタップを、供給されてくるMPEG復号画像から抽出する。
なお、水平差分クラスタップ抽出部10066a、垂直差分クラスタップ抽出部10066b、ブロック抽出部10066cそれぞれは、水平差分クラスタップ抽出部10062a、垂直差分クラスタップ抽出部10062b、ブロック抽出部10062cそれぞれと同様に構成される。
従って、垂直クラスタップ抽出部10066は、水平差分クラスタップ、垂直差分クラスタップ、および注目画素を含む注目ブロックを、垂直クラスタップとして、供給されてくるMPEG復号画像から抽出する。
また、垂直予測タップと垂直クラスタップとは、これに限定されるものではない。
垂直クラスタップ抽出部10066において得られる、垂直予測タップに対応する垂直クラスタップは、垂直クラス分類部10067に供給される。垂直クラス分類部10067は、垂直クラスタップ抽出部10066からの垂直クラスタップに基づいて垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部10068に出力する。
垂直係数記憶部10068は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットを記憶しており、その記憶している垂直係数のセットのうちの、垂直クラス分類部10067から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数(垂直クラス分類部10067から供給された垂直クラスコードが表す垂直クラスに対応する垂直係数)を、予測演算部10069に出力する。
予測演算部10069は、水平予測タップ抽出部10061から供給された水平予測タップ、垂直予測タップ抽出部10065から供給された垂直予測タップ、水平係数記憶部10064から供給された水平係数、および垂直係数記憶部10068から供給された垂直係数に基づいて、所定の予測演算を行うことにより、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
図48は、図47の水平予測タップ抽出部10061が抽出する水平予測タップ、および垂直予測タップ抽出部10065が抽出する垂直予測タップを示す図である。
図中、左側には、MPEG復号画像における16×16画素のマクロブロックの構造が、フレーム構造である場合の、水平予測タップおよび垂直予測タップの抽出方法が示されている。
また、図中、右側には、MPEG復号画像における16×16画素のマクロブロックの構造が、フィールド構造である場合の、水平予測タップおよび垂直予測タップの抽出方法が示されている。なお、図中、右側に示される16×16画素のマクロブロックにおいて、斜線で示される部分は、偶数ライン(ボトムフィールド)を表しており、白色の部分は、奇数ライン(トップフィールド)を表している。
MPEG復号画像における16×16画素のマクロブロックの構造がフレーム構造である場合、水平予測タップ抽出部10061は、図中、左側に白丸で示す注目画素の右に隣接する、黒丸で示す4個の画素、注目画素の左に隣接する、黒丸で示す4個の画素、および注目画素の、水平方向に並ぶ9個の画素を、注目ブロックと、その注目ブロックに隣接するブロックとの境界を横切る(またぐ)ように抽出する。また、垂直予測タップ抽出部10065は、図中、左側に白丸で示す注目画素の上に隣接する、黒丸で示す4個の画素、注目画素の下に隣接する、黒丸で示す4個の画素、および注目画素の、垂直方向に並ぶ9個の画素を、注目ブロックと、その注目ブロックに隣接するブロックとの境界を横切るように抽出する。
一方、MPEG復号画像における16×16画素のマクロブロックの構造がフィールド構造である場合、水平予測タップ抽出部10061は、図中、右側に白丸で示す注目画素の右に隣接する、黒丸で示す4個の画素、注目画素の左に隣接する、黒丸で示す4個の画素、および注目画素の、水平方向に並ぶ9個の画素を、注目ブロックと、その注目ブロックに隣接するブロックとの境界を横切るように抽出する。また、垂直予測タップ抽出部10065は、図中、右側に白色で示す注目画素が位置する偶数ライン(または奇数ライン)において、図中、右側に白丸で示す注目画素の上に隣接する、黒丸で示す4個の画素、注目画素の下に隣接する、黒丸で示す4個の画素、および注目画素の、垂直方向に並ぶ9個の画素を、注目ブロックと、その注目ブロックに隣接するブロックとの境界を横切るように抽出する。
図49は、図47の水平クラス分類部10063の詳細な構成例を示すブロック図である。
水平クラス分類部10063は、差分絶対値算出部11011、フィールドフラグ抽出部11012、ノイズ検出フラグ判定部11013、閾値選択部11014、水平差分クラスコード生成部11015、垂直差分クラスコード生成部11016、垂直差分ゼロクラスコード生成部11017、水平クラスコード出力部11018により構成される。
差分絶対値算出部11011には、ブロック抽出部10062aから、注目ブロックの画素すべてが供給される。
差分絶対値算出部11011は、そこに供給される注目ブロックを構成する水平方向(横方向)に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分を求める。差分絶対値算出部11011は、求めた水平画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコードの生成に用いる閾値Th_hを算出するとともに、注目ブロックにおいて、水平方向にエッジが存在するか否かを示す水平エッジ検出フラグを設定する。
また、差分絶対値算出部11011は、そこに供給される注目ブロックを構成する垂直方向(縦方向)に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。差分絶対値算出部11011は、求めた垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコードの生成に用いる閾値Th_vを算出するとともに、注目ブロックにおいて、垂直方向にエッジが存在するか否かを示す垂直エッジ検出フラグを設定する。
その後、差分絶対値算出部11011は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ11013に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部11014に供給する。
フィールドフラグ抽出部11012には、ブロック抽出部10062cから、フィールド情報を含む注目ブロックが供給される。
フィールドフラグ抽出部11012は、そこに供給される注目ブロックから、フィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定する。
即ち、フィールドフラグ抽出部11012は、注目ブロックを含む16×16画素のマクロブロックの構造が、フレーム構造である場合、フィールドフラグを1に設定し、フィールド構造である場合、フィールドフラグを0に設定する。
その後、フィールドフラグ抽出部11012は、設定したフィールドフラグを、水平クラスコード出力部11018に供給する。
ノイズ検出フラグ判定部11013は、差分絶対値算出部11011から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、注目ブロックはモスキートノイズが生じやすいブロックであるか否かを示すノイズ検出フラグを設定し、水平クラスコード出力部11018に供給する。
閾値選択部11014は、差分絶対値算出部11011から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部11011から供給される閾値Th_h、とTh_vから、水平差分クラスコードの生成に用いる閾値と、垂直差分クラスコードの生成に用いる閾値を選択する。
また、閾値選択部11014は、水平差分クラスコードの生成に用いる閾値として選択した閾値を、水平差分クラスコード生成部11015に供給し、垂直差分クラスコードの生成に用いる閾値として選択した閾値を、垂直差分クラスコード生成部11016に供給する。
水平差分クラスコード生成部11015には、水平差分クラスタップ抽出部10062aから、水平差分クラスタップが供給される。
水平差分クラスコード生成部11015は、そこに供給される水平差分クラスタップと、閾値選択部11014から供給される閾値を用いて、水平差分クラスコードを生成し、水平クラスコード出力部11018に出力する。
垂直差分クラスコード生成部11016には、垂直差分クラスタップ抽出部10062bから、垂直差分クラスタップが供給される。
垂直差分クラスコード生成部11016は、そこに供給される垂直差分クラスタップと、閾値選択部11014から供給される閾値を用いて、垂直差分クラスコードを生成し、垂直差分ゼロクラスコード生成部11017に出力する。
垂直差分ゼロクラスコード生成部11017は、垂直差分クラスコード生成部11016から供給される垂直差分クラスコードの論理和をとり、その結果得られた値を、垂直差分ゼロクラスコードとして設定し、水平クラスコード出力部11018に供給する。
即ち、例えば、垂直差分ゼロクラスコード生成部11017は、0と1とのビット列で表される垂直差分クラスコードが、すべて0で構成されるビット列であると判定した場合、垂直差分ゼロクラスコードを0に設定し、1を含むビット列であると判定した場合、垂直差分ゼロクラスコードを1に設定して、水平クラスコード出力部11018に供給する。
水平クラスコード出力部11018は、フィールドフラグ抽出部11012から供給されるフィールドフラグ、ノイズ検出フラグ判定部11013から供給されるノイズ検出フラグ、垂直差分ゼロクラスコード生成部11017から供給される垂直差分ゼロクラスコード、および水平差分クラスコード生成部11015から供給される水平差分クラスコードの両端の1ビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、水平係数記憶部10064に出力する。
なお、水平クラスコード出力部11018は、水平差分クラスコード生成部11015から供給される水平差分クラスコードの両端の1ビットを削除することで得られるコードではなく、水平差分クラスコードそのものを、水平クラスコードの一部とすることができる。
次に、図50および図51は、図49の差分絶対値算出部11011、ノイズ検出フラグ判定部11013、および閾値選択部11014が行う処理を説明する図である。
図50は、ブロック抽出部10062cから供給される注目ブロックを含む16×16画素のマクロブロックの構造を示す図である。
図中上側には、注目ブロックを含む16×16画素のマクロブロックが示されている。また、図中右下側には、注目ブロックを含む16×16画素のマクロブロックの構造がフレーム構造である場合の、16×16画素のマクロブロックが示されており、その16×16画素のマクロブロックは、8×8画素で構成される2×2個のブロックにより構成される。
図中左下側には、注目ブロックを含む16×16画素のマクロブロックの構造が、フィールド構造である場合の、16×16画素のマクロブロックが示されており、その16×16画素のマクロブロックは、8×8画素で構成される2×2個のブロックにより構成される。
なお、図50右下側、および左下側に示される16×16画素のマクロブロックに示される斜線部分は、偶数ライン(ボトムフィールド)を表しており、白色の部分は、奇数ライン(トップフィールド)を表している。
差分絶対値算出部11011は、16×16画素のマクロブロックを構成する2×2個のブロックのうちの、8×8画素で構成される注目ブロックの画素を用いて、差分絶対値などを算出する。
図51は、図49の差分絶対値算出部11011、ノイズ検出フラグ判定部11013、および閾値選択部11014が行う処理を模式的に示した図である。
差分絶対値算出部11011は、例えば、図中上側に示されるようにして、閾値Th_hやTh_vを算出し、水平エッジ検出フラグ、垂直エッジ検出フラグを設定する。
即ち、差分絶対値算出部11011は、注目ブロックの、横方向(水平方向)に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分を求める。このとき、8×8画素の注目ブロックを構成する画素すべてを対象として、7×8=56個の水平画素間差分が求められる。
差分絶対値11011は、注目ブロックについて56個の水平画素間差分を求めると、その56個の水平画素間差分のうちの、最大値MAXhと最小値MINhとを求め、DRh=MAXh-MINhを、水平画素間差分のダイナミックレンジDRhとして求める。さらに、差分絶対値11011は、そのダイナミックレンジDRhを4で除算した値に最小値MINhを加算した値を、閾値Th_h=(DRh/4)+MINhとして算出する。
また、差分絶対値算出部11011は、ダイナミックレンジDRhが、例えば、16などの所定の閾値より大であるかを判定し、注目ブロックにおける水平エッジ検出フラグを設定する。
即ち、例えば、ダイナミックレンジDRhが、例えば、16などの所定の閾値より大であると判定された場合、差分絶対値算出部11011は、水平エッジ検出フラグを、水平方向にエッジが存在することを示すフラグ1に設定する。一方、ダイナミックレンジDRhが、例えば、16などの所定の閾値以下であると判定された場合、差分絶対値算出部11011は、水平エッジ検出フラグを、水平方向にエッジが存在しないことを示すフラグ0に設定する。
さらに、差分絶対値算出部11011は、注目ブロックの、縦方向(垂直方向)に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。このとき、8×8画素の注目ブロックを構成する画素すべてを対象として、8×7=56個の垂直画素間差分が求められる。
差分絶対値11011は、注目ブロックについて56個の垂直画素間差分を求めると、その56個の垂直画素間差分のうちの、最大値MAXvと最小値MINvとを求め、DRv=MAXv-MINvを、垂直画素間差分のダイナミックレンジDRvとして求める。さらに、差分絶対値11011は、そのダイナミックレンジDRvを4で除算した値に最小値MINvを加算した値を、閾値Th_v=(DRv/4)+MINvとして算出する。
また、差分絶対値算出部11011は、ダイナミックレンジDRVが、例えば、16などの所定の閾値より大であるかを判定し、注目ブロックにおける垂直エッジ検出フラグを設定する。
即ち、例えば、ダイナミックレンジDRVが、例えば、16などの所定の閾値より大であると判定された場合、差分絶対値算出部11011は、垂直エッジ検出フラグを、垂直方向にエッジが存在することを示すフラグ1に設定する。一方、ダイナミックレンジDRVが、例えば、16などの所定の閾値以下であると判定された場合、差分絶対値算出部11011は、垂直エッジ検出フラグを、垂直方向にエッジが存在しないことを示すフラグ0に設定する。
その後、差分絶対値算出部11011は、設定した水平エッジ検出フラグおよび垂直エッジ検出フラグを、ノイズ検出フラグ判定部11013に供給し、算出した閾値Th_h,Th_vとともに、閾値選択部11014に供給する。
ノイズ検出フラグ判定部11013は、差分絶対値算出部11011から供給される水平エッジ検出フラグと垂直エッジ検出フラグの論理和をとり、その結果得られた値を、ノイズ検出フラグとして、水平クラスコード出力部11018に供給する。
閾値選択部11014は、図中下側に示されるように、差分絶対値算出部11011から供給される水平エッジ検出フラグおよび垂直エッジ検出フラグに基づいて、水平差分クラスコード生成部11015で用いられる閾値と、垂直差分クラスコード生成部11016で用いられる閾値を選択する。
即ち、閾値選択部11014は、そこに供給される水平エッジ検出フラグと垂直エッジ検出フラグがともに0であると判定した場合、閾値Th_hとTh_vのうちの、値の小さい閾値を選択し、水平差分クラスコード生成部11015と垂直差分クラスコード生成部11016に供給する。
また、閾値選択部11014は、そこに供給される水平エッジ検出フラグが1であり垂直エッジ検出フラグが0であると判定した場合、供給されてくる閾値Th_hとTh_vから閾値Th_hを選択し、水平差分クラスコード生成部11015と垂直差分クラスコード生成部11016に供給する。
さらに、閾値選択部11014は、そこに供給される水平エッジ検出フラグが0であり垂直エッジ検出フラグが1であると判定した場合、供給されてくる閾値Th_hとTh_vから閾値Th_vを選択し、水平差分クラスコード生成部11015と垂直差分クラスコード生成部11016に供給する。
また、閾値選択部11014は、そこに供給される水平エッジ検出フラグと垂直エッジ検出フラグがともに1であると判定した場合、供給されてくる閾値Th_hとTh_vから閾値Th_hを選択し、水平差分クラスコード生成部11015に供給するとともに、供給されてくる閾値Th_hとTh_vから閾値Th_vを選択し、垂直差分クラスコード生成部11016に供給する。
図52は、図49の水平差分クラスコード生成部11015により行われる水平差分クラスコードの生成方法を説明する図である。
図52上側の横方向に並んだ9個の白丸は、水平差分クラスタップ抽出部10062aから供給された水平差分クラスタップを示しており、横方向に並んだ9個の白丸の下側に示される数値は、白丸で表される、水平差分クラスタップを構成する画素それぞれの画素値を示している。
また、図52中央の数値は、水平方向に並ぶ9画素のタップのうちの、図中、水平方向に隣接する画素同士の差分の絶対値である画素間差分を示している。さらに、図52下側の1と0とで表される数値は、水平差分クラスコード生成部11015が生成する水平差分クラスコードを示している。
水平差分クラスコード生成部11015は、図52上側に示される水平方向に並ぶ9画素であるタップのうちの、隣接する画素同士の8個の画素間差分を求める。
次に、水平差分クラスコード生成部11015は、図52中央に示される8個の画素間差分が、閾値選択部11014から供給された閾値以上であるか否かを判定する。
画素間差分が、閾値以上である場合、水平差分クラスコード生成部11015は、画素間差分に対して、閾値以上であることを表す1をセットした1ビットの大小フラグを割り当てる。また、画素間差分が、閾値以上でない場合、水平差分クラスコード生成部11015は、画素間差分に対して、閾値以上でないことを表す0をセットした大小フラグを割り当てる。そして、水平差分クラスコード生成部11015は、図52下側に示される、1または0がセットされた8個の大小フラグの並びを、水平差分クラスコードとして、水平クラスコード出力部11018に出力する。
なお、垂直差分クラスコード生成部11016は、図52上側に示される水平方向に並ぶ9画素であるタップを、垂直方向に並ぶ9画素であるタップとすることで、水平差分クラスコード生成部11015と同様にして、垂直差分クラスコードを、垂直差分ゼロクラスコード生成部11017に出力することができる。
図53は、図49の水平クラスコード出力部11018が出力する水平クラスコードを示す図である。
水平クラスコード出力部11018は、フィールドフラグ抽出部11012から供給されるフィールドフラグ、ノイズ検出フラグ判定部11013から供給されるノイズ検出フラグ、垂直差分ゼロクラスコード生成部11017から供給される垂直差分ゼロクラスコード、および水平差分クラスコード生成部11015から供給される水平差分クラスコードの両端の1ビットそれぞれを削除したコードを、図に示すように、左から右に並べ、その結果得られるコードを、水平クラスコードとして出力する。
図54は、図47の垂直クラス分類部10067の詳細な構成例を示すブロック図である。
垂直クラス分類部10067は、図49の差分絶対値算出部11011乃至閾値選択部11014それぞれと同様に構成される差分絶対値算出部11031乃至閾値選択部11034それぞれと、図49の垂直差分クラスコード生成部11016、水平差分クラスコード生成部11015それぞれと同様に構成される垂直差分クラスコード生成部11035、水平差分クラスコード生成部11036それぞれと、水平差分ゼロクラスコード生成部110137と、垂直クラスコード出力部11038により構成される。
水平差分ゼロクラスコード生成部11037には、水平差分クラスコード生成部11036から、水平差分クラスコードが供給される。
水平差分ゼロクラスコード生成部11037は、水平差分クラスコード生成部11036から供給される水平差分クラスコードの論理和をとり、その結果得られた値を、水平差分ゼロクラスコードとして、垂直クラスコード出力部11038に供給する。
即ち、水平差分ゼロクラスコード生成部11037は、水平差分クラスコード生成部11036から供給される水平差分クラスコードが、すべて0で構成されるビット列であると判定した場合、水平差分ゼロクラスコードを0に設定し、1を含むビット列であると判定した場合、水平差分ゼロクラスコードを1に設定して、垂直クラスコード出力部11038に供給する。
垂直クラスコード出力部11038は、フィールドフラグ抽出部11032から供給されるフィールドフラグ、ノイズ検出フラグ判定部11033から供給されるノイズ検出フラグ、水平差分ゼロクラスコード生成部11037から供給される水平差分ゼロクラスコード、および垂直差分クラスコード生成部11035から供給される垂直差分クラスコードの両端の1ビットを削除することで得られるコードを、この順番で左から右に並べて、垂直クラスコードとして、垂直係数記憶部10068に出力する。
なお、垂直クラスコード出力部11038は、垂直差分クラスコード生成部11035から供給される垂直差分クラスコードの両端の1ビットを削除することで得られるコードではなく、垂直差分クラスコードそのものを、垂直クラスコードの一部とすることができる。
図55は、図54の垂直クラスコード出力部11038が出力する垂直クラスコードを示す図である。
垂直クラスコード出力部11038は、フィールドフラグ抽出部11032から供給されるフィールドフラグ、ノイズ検出フラグ判定部11033から供給されるノイズ検出フラグ、水平差分ゼロクラスコード生成部11037から供給される水平差分ゼロクラスコード、および垂直差分クラスコード生成部11035から供給される垂直差分クラスコードの両端の1ビットそれぞれを削除したコードを、図に示すように、左から右に並べ、その結果得られるコードを、垂直クラスコードとして出力する。
図56は、図47の予測演算部10069の構成例を示すブロック図である。
図56の水平予測演算部10101乃至加算部10104それぞれは、図3の水平予測演算部101乃至加算部104それぞれと同様に構成される。
なお、図47乃至図77を参照して説明する本実施の形態においては、図1乃至図46を参照して説明してきた本実施の形態の説明において用いてきた用語を、説明の都合上、以下、適宜、定義し直すことをしている。
即ち、図56の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部10064、および水平予測演算部10101を総称して水平マッピング部10071といい、その水平マッピング部10071が、水平係数を用いて、順次、注目画素とされるMPEG復号画像の画素(以下、適宜、MPEG復号画素という)の画素値x1を、水平画素の画素値Hに変換する処理を、以下、適宜、水平マッピング処理という。
さらに、図56の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部10068、および垂直予測演算部10102を総称して垂直マッピング部10072といい、その垂直マッピング部10072が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直画素の画素値Vに変換する処理を、以下、適宜、垂直マッピング処理という。
また、図56の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部10068、垂直予測演算部100102、およびゲイン調整部10103を総称して垂直差分マッピング部10073といい、その垂直差分マッピング部10073が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直差分vに変換する処理を、以下、適宜、垂直差分マッピング処理という。
次に、図57のフローチャートを参照して、図47の画像変換部31における画像変換処理を説明する。
この画像変換処理は、例えば、MPEG-2などにより、8×8画素のブロック単位でMPEG符号化されたMPEG符号化画像が、チューナで受信された放送番組の画像や、記録媒体から再生される画像として、画像変換部31に供給されたときに開始される。このとき、MPEG符号化画像は、図示せぬデコーダに供給され、MPEG復号されて、MPEG復号画像として、水平予測タップ抽出部10061、水平クラスタップ抽出部10062、垂直予測タップ抽出部10065、および垂直クラスタップ抽出部10066に供給される。
ステップS10031において、水平マッピング部10071の水平予測タップ抽出部10061は、そこに供給されたMPEG復号画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックに含まれる画素を、順次、注目画素として、処理は、ステップS10032に進む。
ステップS10032において、水平マッピング部10071は、注目画素について水平マッピング処理を行い、その結果得られた水平処理画像Hを、加算部10104に供給して、処理は、ステップS10033に進み、垂直差分マッピング部10073は、注目画素について垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部10104に供給して、処理は、ステップS10034に進む。
ステップS10034において、加算部10104は、水平マッピング部10071からの水平処理画像Hと、垂直差分マッピング部10073からの垂直差分vとを加算し、注目画素に対応する、ノイズ除去画像の画素の画素値y=H+vを得て出力する。
その後、処理は、ステップS10034からステップS10035に進み、水平マッピング部10071の水平予測タップ抽出部10061は、注目ブロックの画素すべてを、注目画素としたか否かを判定する。
ステップS10035において、注目ブロックの画素すべてを、注目画素としていないと判定された場合、処理は、ステップS10031に戻り、水平マッピング部10071の水平予測タップ抽出部10061は、注目ブロックのうちの、まだ注目画素とされていない画素のうちの1つを、新たな注目画素とし、処理は、ステップS10032に進み、以下、同様の処理を繰り返す。
一方、ステップS10035において、注目ブロックの画素すべてを、注目画素としたと判定された場合、処理は、ステップS10036に進み、水平マッピング部10071の水平予測タップ抽出部10061は、さらに、MPEG復号画像の8×8画素のブロックすべてを注目ブロックとしたかを判定する。
ステップS10036において、MPEG復号画像の8×8画素のブロックすべてが注目ブロックとされていないと判定された場合、処理は、ステップS10031に戻り、水平マッピング部10071の水平予測タップ抽出部10061は、まだ注目ブロックとされていないMPEG復号画像の8×8画素のブロックのうちの1つを、新たな注目ブロックとし、その注目ブロックの画素のうちの1つを、新たな注目画素として、処理は、ステップS10032に進み、以下、同様の処理を繰り返す。
一方、ステップS10036において、MPEG復号画像の8×8画素のブロックすべてが注目ブロックとされたと判定された場合、画像変換処理は終了される。
次に、図58のフローチャートを参照して、図57のステップS10032における水平マッピング処理の詳細を説明する。
ステップS10061において、水平マッピング部10071の水平予測タップ抽出部10061は、図5のステップS61と同様の処理を行い、処理は、ステップS10062に進み、水平マッピング部10071の水平クラスタップ抽出部10062は、水平クラスタップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素、注目画素を中心として垂直方向に並ぶ9画素、および注目ブロックを、供給されてくるMPEG復号画像から抽出し、水平クラス分類部10063に供給する。
処理は、ステップS10062からステップS10063に進み、水平マッピング部10071の水平クラス分類部10063は、水平クラスタップ抽出部10062からの水平クラスタップに基づき、水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部10064に出力する。
処理は、ステップS10063からステップS10064に進み、ステップS10064およびステップS10065において、図5のステップS64およびステップS65と同様の処理を行う。その後、処理は、図57のステップS10032にリターンして、その後の処理を行う。
次に、図59のフローチャートを参照して、図58のステップS10063の水平クラス分類における処理の詳細を説明する。
ステップS10071において、差分絶対値算出部11011は、そこに供給される注目ブロックを構成する水平方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分と、注目ブロックを構成する垂直方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。
ステップS10071の処理後、処理は、ステップS10072に進み、差分絶対値算出部11011は、求めた水平画素間差分と垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコードの生成に用いる閾値Th_hやTh_vを算出するとともに、水平エッジ検出フラグと垂直エッジ検出フラグを設定する。
そして、差分絶対値算出部11011は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ11013に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部11014に供給する。
また、閾値選択部11014は、差分絶対値算出部11011から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部11011から供給される閾値Th_hとTh_vから、水平差分クラスコードの生成に用いる閾値と、垂直差分クラスコードの生成に用いる閾値を選択し、水平差分クラスコードの生成に用いる閾値を、水平差分クラスコード生成部11015に供給し、垂直差分クラスコードの生成に用いる閾値を、垂直差分クラスコード生成部11016に供給する。
その後、処理は、ステップS10072からステップS10073に進み、水平差分クラスコード生成部11015は、水平差分クラスタップ抽出部10062aから供給される水平差分クラスタップと、閾値選択部11014から供給される閾値を用いて、水平差分クラスコードを生成し、水平クラスコード出力部11018に出力する。
処理は、ステップS10073からステップS10074に進み、垂直差分クラスコード生成部11016は、垂直差分クラスタップ抽出部10062bから供給される垂直差分クラスタップと、閾値選択部11014から供給される閾値を用いて、垂直差分クラスコードを生成し、垂直差分ゼロクラスコード生成部11017に出力する。
さらに、ステップS10074において、垂直差分ゼロクラスコード生成部11017は、垂直差分クラスコード生成部11016から供給される垂直差分クラスコードの論理和をとり、その結果得られた値を、垂直差分ゼロクラスコードとして設定し、水平クラスコード出力部11018に供給する。
処理は、ステップS10074からステップS10075に進み、フィールドフラグ抽出部11012は、ブロック抽出部10062cから供給される注目ブロックから、フィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定して、水平クラスコード出力部11018に供給する。
処理は、ステップS10075からステップS10076に進み、ノイズ検出フラグ判定部11013は、差分絶対値算出部11011から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、ノイズ検出フラグを設定し、水平クラスコード出力部11018に供給する。
処理は、ステップS10076からステップS10077に進み、水平クラスコード出力部11018は、フィールドフラグ抽出部11012から供給されるフィールドフラグ、ノイズ検出フラグ判定部11013から供給されるノイズ検出フラグ、垂直差分ゼロクラスコード生成部11017から供給される垂直差分ゼロクラスコード、水平差分クラスコード生成部11015から供給される水平差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、水平係数記憶部10064に出力する。
その後、処理は、図58のステップS10063にリターンする。
次に、図60のフローチャートを参照して、図57のステップS10033における垂直差分マッピング処理の詳細を説明する。
ステップS10091において、垂直差分マッピング部10073の垂直予測タップ抽出部10065は、図6のステップS91と同様の処理を行い、処理は、ステップS10092に進み、垂直差分マッピング部10073の垂直クラスタップ抽出部10066は、垂直クラスタップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素、注目画素を中心として垂直方向に並ぶ9画素、および注目ブロックを、供給されてくるMPEG復号画像から抽出し、垂直クラス分類部10067に供給する。
処理は、ステップS10092からステップS10093に進み、垂直差分マッピング部10073の垂直クラス分類部10067は、垂直クラスタップ抽出部10066からの垂直クラスタップに基づき、垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部10068に出力する。
処理は、ステップS10093からステップS10094に進み、ステップS10094乃至ステップS10096において、図6のステップS94乃至ステップS96と同様の処理を行う。
その後、処理は、ステップS10096から図57のステップS10033にリターンして、その後の処理を行う。
次に、図61のフローチャートを参照して、図60のステップS10093の垂直クラス分類部における処理を詳細に説明する。
ステップS10111において、差分絶対値算出部11031は、そこに供給される注目ブロックを構成する水平方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分と、注目ブロックを構成する垂直方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。
ステップS10111の処理後、処理は、ステップS10112に進み、差分絶対値算出部11031は、求めた水平画素間差分と垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコードの生成に用いる閾値Th_hやTh_vを算出するとともに、水平エッジ検出フラグと垂直エッジ検出フラグを設定する。
そして、差分絶対値算出部11031は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ11033に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部11034に供給する。
また、閾値選択部11034は、差分絶対値算出部11031から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部11031から供給される閾値Th_hとTh_vから、水平差分クラスコードの生成に用いる閾値と、垂直差分クラスコードの生成に用いる閾値を選択し、垂直差分クラスコードの生成に用いる閾値を、垂直差分クラスコード生成部11035に供給し、水平差分クラスコードの生成に用いる閾値を、水平差分クラスコード生成部11035に供給する。
その後、処理は、ステップS10112からステップS10113に進み、垂直差分クラスコード生成部11035は、垂直差分クラスタップ抽出部10066bから供給される垂直差分クラスタップと、閾値選択部11034から供給される閾値を用いて、垂直差分クラスコードを生成し、垂直クラスコード出力部11038に出力する。
処理は、ステップS10113からステップS10114に進み、水平差分クラスコード生成部11036は、水平差分クラスタップ抽出部10066aから供給される水平差分クラスタップと、閾値選択部11034から供給される閾値を用いて、水平差分クラスコードを、水平差分ゼロクラスコード生成部11037に出力する。
さらに、ステップS10114において、水平差分ゼロクラスコード生成部11037は、水平差分クラスコード生成部11036から供給される水平差分クラスコードの論理和をとり、その結果得られた値を、水平差分ゼロクラスコードとして設定し、垂直クラスコード出力部11038に供給する。
処理は、ステップS10114からステップS10115に進み、フィールドフラグ抽出部11032は、ブロック抽出部10062cから供給される注目ブロックから、フィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定して、垂直クラスコード出力部11038に供給する。
処理は、ステップS10115からステップS10116に進み、ノイズ検出フラグ判定部11033は、差分絶対値算出部11031から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、ノイズ検出フラグを設定し、垂直クラスコード出力部11038に供給する。
処理は、ステップS10116からステップS10117に進み、垂直クラスコード出力部11038は、フィールドフラグ抽出部11032から供給されるフィールドフラグ、ノイズ検出フラグ判定部11033から供給されるノイズ検出フラグ、水平差分ゼロクラスコード生成部11037から供給される水平差分ゼロクラスコード、垂直差分クラスコード生成部11035から供給される垂直差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、垂直クラスコードとして、垂直係数記憶部10068に出力する。
その後、処理は、図60のステップS10093にリターンする。
図59の水平クラス分類における処理において、ステップS10074では、垂直予測タップのクラスを表す垂直クラスコードの一部である垂直差分クラスコードを用いて、水平予測タップのクラスを表す水平クラスコードの一部である垂直差分ゼロクラスコードを求めている。即ち、水平予測タップの水平クラス分類をするにあたり、垂直予測タップのクラスを表す垂直クラスコードの一部を用いているため、水平予測タップの水平クラス分類では、垂直予測タップのクラスを考慮した水平クラス分類をすることができる。
また、図58のステップS10061により抽出される水平予測タップや、図60のステップS10091により抽出される垂直予測タップについては、注目ブロックと、注目ブロックに隣接するブロックとの境界を横切るように抽出されているため、注目ブロックのみから抽出される場合と比較して、MPEG復号画像に生じているブロック歪などを効果的に除去することができる。
さらに、図58のステップS10063の水平クラス分類や、図60のステップS10093の垂直クラス分類において、水平差分クラスタップから水平差分クラスコードを生成するのに用いる閾値や、垂直差分クラスタップから垂直差分クラスコードを生成するのに用いる閾値として、最適な閾値を選択し、その最適な閾値を用いて、水平差分クラスコードや垂直差分クラスコードを生成しているため、より適切なクラス分類をすることができる。
次に、図63乃至図77を参照して行う説明を簡単にするために、水平係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、水平差分hに変換する水平差分マッピング処理を行う水平差分マッピング部を説明する。
即ち、図62は、水平差分マッピング処理を行う水平差分マッピング部10111の構成例を示すブロック図である。
なお、図中、図56の水平マッピング部10071の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図62の水平差分マッピング部10111は、図7のゲイン調整部112と同様に構成されるゲイン調整部10112が新たに設けられているほかは、図56の水平マッピング部10071の場合と同様に構成されている。
次に、図63を参照して、上述した式(10)の正規方程式を水平クラスごとにたてて解くことにより水平係数wnを求める学習を行う学習部10121を説明する。
図63は、水平係数wnを求める学習を行う学習部10121の構成例を示すブロック図である。
図63の学習部10121は、原画像記憶部10131、ノイズ付加部10132、予測タップ抽出部10133、クラスタップ抽出部10134、クラス分類部10135、足し込み部10136、および係数算出部10137により構成される。
原画像記憶部10131には、MPEG復号画像からノイズを除去したノイズ除去画像に相当する画像が多数、記憶されている。
ノイズ付加部10132は、原画像記憶部10131に記憶されている画像(以下、適宜、原画像という)を読み出し、その原画像をMPEG-2などで8×8画素のブロック単位でMPEG符号化し、さらに、MPEG復号することで、ブロック歪などが生じたMPEG復号画像に相当する画像を、生徒画像として生成し、予測タップ抽出部10133およびクラスタップ抽出部10134に供給する。
予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックに含まれる画素を順次、注目画素とする。さらに、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平予測タップ抽出部10061が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップ(図47の水平予測タップ抽出部10061が注目画素について得る水平予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる水平予測タップ)を得て、足し込み部10136に供給する。
クラスタップ抽出部10134は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平クラスタップ抽出部10062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップ(図47の水平クラスタップ抽出部10062が注目画素について得る水平クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる水平クラスタップ)を得て、クラス分類部10135に供給する。
即ち、クラスタップ抽出部10134の水平差分クラスタップ抽出部10134a、垂直差分クラスタップ抽出部10134b、ブロック抽出部10134cそれぞれは、図47の水平クラスタップ抽出部10062の水平差分クラスタップ抽出部10062a、垂直差分クラスタップ抽出部10062b、ブロック抽出部10062cそれぞれが注目画素について得るタップと同一のタップ構造のタップを得て、それぞれ、クラス分類部10135に供給する。
クラス分類部10135は、クラスタップ抽出部10134から供給された水平クラスタップに基づき、図47の水平クラス分類部10063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部10136に供給する。
足し込み部10136は、原画像記憶部10131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、注目画素に対応する、教師画像の画素と、予測タップ抽出部10133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部10135から供給された水平クラスコードごとに行う。
即ち、足し込み部10136には、原画像記憶部10131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部10133が出力する注目画素についての水平予測タップを構成する生徒画像の画素の画素値xn,k、クラス分類部10135が出力する、水平予測タップの水平クラスを表す水平クラスコードが供給される。
そして、足し込み部10136は、図8の足し込み部136と同様にして、クラス分類部10135から供給された水平クラスコードに対応する水平クラスごとに、水平予測タップ(生徒画像)xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部10136は、図8の足し込み部136と同様にして、クラス分類部10135から供給された水平クラスコードに対応する水平クラスごとに、水平予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
そして、足し込み部10136は、ノイズ付加部10132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各水平クラスについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部10137に供給する。
係数算出部10137は、図8の係数算出部137と同様にして、足し込み部10136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
図64は、図63のクラス分類部10135の詳細な構成例を示すブロック図である。
クラス分類部10135は、差分絶対値算出部10141、フィールドフラグ抽出部10142、ノイズ検出フラグ判定部10143、閾値選択部10144、サブコード生成部10145乃至10147、およびクラスコード出力部10148により構成される。
差分絶対値算出部10141は、クラスタップ抽出部10134(ブロック抽出部10134c)から供給される注目ブロックに基づいて、図49の差分絶対値算出部11011と同一の処理を行うことで、サブコード生成部10145や10146で用いられる閾値を算出し、水平エッジ検出フラグおよび垂直エッジ検出フラグを設定する。
フィールドフラグ抽出部10142は、クラスタップ抽出部10134(ブロック抽出部10134c)から供給される注目ブロックから、フィールド情報を抽出することにより、図49のフィールドフラグ抽出部11012と同一の処理を行うことで、フィールドフラグを設定し、クラスコード出力部10148に供給する。
ノイズ検出フラグ判定部10143は、差分絶対値算出部10141から供給される水平エッジ検出フラグおよび垂直エッジ検出フラグを用いて、図49のノイズ検出フラグ判定部11013と同様の処理を行い、その結果得られるノイズ検出フラグを、クラスコード出力部10148に供給する。
閾値選択部10144は、差分絶対値算出部10141から供給される水平エッジ検出フラグ、垂直エッジ検出フラグ、および閾値を用いて、図49の閾値選択部11014と同様の処理を行い、水平差分クラスコードの生成に用いる閾値を、サブコード生成部10145に供給し、垂直差分クラスコードの生成に用いる閾値を、サブコード生成部10146に供給する。
サブコード生成部10145は、クラスタップ抽出部10134(水平差分クラスタップ抽出部10134a)から供給される水平差分クラスタップと、閾値選択部10144から供給される閾値を用いて、図49の水平差分クラスコード生成部11015と同様の処理を行い、その結果得られる水平差分クラスコードを、クラスコード出力部10148に供給する。
サブコード生成部10146は、クラスタップ抽出部10134(垂直差分クラスタップ抽出部10134b)から供給される垂直差分クラスタップと、閾値選択部10144から供給される閾値を用いて、図49の垂直差分クラスコード生成部11016と同様の処理を行い、その結果得られる垂直差分クラスコードを、サブコード生成部10147に供給する。
サブコード生成部10147は、サブコード生成部10146から供給される垂直差分クラスコードを用いて、図49の垂直差分ゼロクラスコード生成部11017と同様の処理を行い、その結果得られる垂直差分ゼロクラスコードを、クラスコード出力部10148に供給する。
クラスコード出力部10148は、図49の水平クラスコード出力部11018と同様に、フィールドフラグ抽出部10142から供給されるフィールドフラグ、ノイズ検出フラグ判定部10143から供給されるノイズ検出フラグ、垂直差分ゼロクラスコード生成部10147から供給される垂直差分ゼロクラスコード、水平差分クラスコード生成部10145から供給される水平差分クラスコードの両端のビットを削除することで得られたコードを、この順番で左から右に並べて、水平クラスコードとして、足し込み部10136に出力する。
次に、図65のフローチャートを参照して、図63の学習部10121における学習処理を説明する。
ステップS10121において、ノイズ付加部10132は、原画像記憶部10131から原画像を読み出し、その原画像をMPEG符号化し、さらにMPEG復号することにより、生徒画像を生成し、予測タップ抽出部10133およびクラスタップ抽出部10134に供給する。
処理は、ステップS10121からステップS10122に進み、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックに含まれる画素を順次、注目画素として、処理は、ステップS10123に進む。
ステップS10123において、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平予測タップ抽出部10061が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部10136に供給する。
処理は、ステップS10123からステップS10124に進み、クラスタップ抽出部10134は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平クラスタップ抽出部10062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、クラス分類部10135に供給する。
処理は、ステップS10124からステップS10125に進み、クラス分類部10135は、クラスタップ抽出部10134から供給された水平クラスタップに基づき、図47の水平クラス分類部10063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部10136に供給する。
処理は、ステップS10125からステップS10126に進み、足し込み部10136は、原画像記憶部10131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部10133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部10135から供給された水平クラスコードごとに行う。
処理は、ステップS10126からステップS10127に進み、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する注目ブロックの画素すべてを、注目画素としたか否かを判定する。
ステップS10127において、注目ブロックの画素すべてを、注目画素としていないと判定された場合、処理は、ステップS10122に戻り、予測タップ抽出部10133は、注目ブロックのうちの、まだ注目画素とされていない生徒画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS10123に進み、以下、同様の処理を繰り返す。
一方、ステップS10127において、注目ブロックの画素すべてを、注目画素としたと判定された場合、処理は、ステップS10128に進み、予測タップ抽出部10133は、生徒画像を構成する8×8画素のブロックすべてを注目ブロックとしたか否かを判定する。
ステップS10128において、生徒画像を構成する8×8画素のブロックすべてを注目ブロックとしていないと判定された場合、処理は、ステップS10122に戻り、予測タップ抽出部10133は、生徒画像を構成する8×8画素のブロックのうちの、まだ注目ブロックとされていないブロックを、新たな注目ブロックとし、その注目ブロックを構成する画素を注目画素として、処理は、ステップS10123に進み、以下、同様の処理を繰り返す。
一方、ステップS10128において、生徒画像を構成する8×8画素のブロックすべてを注目ブロックとしたと判定された場合、即ち、足し込み部10136においては、ノイズ付加部10132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各水平クラスについて、式(10)に示した正規方程式が得られた場合、足し込み部10136は、正規方程式を、係数算出部10137に供給する。そして、処理は、ステップS10128からステップS10129に進み、係数算出部10137は、足し込み部10136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
その後、学習処理は終了される。
次に、図66のフローチャートを参照して、図65のステップS10125のクラス分類の処理を説明する。
ステップS10141において、差分絶対値算出部10141は、クラスタップ抽出部10134(ブロック抽出部10134c)から供給される注目ブロックに基づいて、図49の差分絶対値算出部11011と同一の処理を行うことで、水平画素間差分および垂直画素間差分を算出する。
処理は、ステップS10141からステップS10142に進み、差分絶対値算出部10141は、算出した水平画素間差分および垂直画素間差分を用いて、図49の差分絶対値算出部11011と同一の処理を行うことで、サブコード生成部10145や10146で用いられる閾値を算出し、水平エッジ検出フラグおよび垂直エッジ検出フラグを設定する。
また、差分絶対値算出部10141は、設定した水平エッジ検出フラグおよび垂直エッジ検出フラグを、ノイズ検出フラグ判定部10143に供給し、算出した閾値とともに、閾値選択部10144に供給する。
さらに、ステップS10142において、閾値選択部10144は、差分絶対値算出部10141から供給される水平エッジ検出フラグ、垂直エッジ検出フラグ、および閾値を用いて、図49の閾値選択部11014と同様の処理を行い、水平差分クラスコードの生成に用いる閾値を、サブコード生成部10145に供給し、垂直差分クラスコードの生成に用いる閾値を、サブコード生成部10146に供給する。
処理は、ステップS10142からステップS10143に進み、サブコード生成部10145は、クラスタップ抽出部10134(水平差分クラスタップ抽出部10134a)から供給される水平差分クラスタップと、閾値選択部10144から供給される閾値を用いて、図49の水平差分クラスコード生成部11015と同様の処理を行い、その結果得られる水平差分クラスコードを、クラスコード出力部10148に供給する。
その後、処理は、ステップS10143からステップS10144に進み、サブコード生成部10146は、クラスタップ抽出部10134(垂直差分クラスタップ抽出部10134b)から供給される垂直差分クラスタップと、閾値選択部10144から供給される閾値を用いて、図49の垂直差分クラスコード生成部11016と同様の処理を行い、その結果得られる垂直差分クラスコードを、サブコード生成部10147に供給する。
さらに、ステップS10144において、サブコード生成部10147は、サブコード生成部10146から供給される垂直差分クラスコードを用いて、図49の垂直差分ゼロクラスコード生成部11017と同様の処理を行い、その結果得られる垂直差分ゼロクラスコードを、クラスコード出力部10148に供給する。
処理は、ステップS10144からステップS10145に進み、フィールドフラグ抽出部10142は、クラスタップ抽出部10134(ブロック抽出部10134c)から供給される注目ブロックから、フィールド情報を抽出することにより、図49のフィールドフラグ抽出部11012と同一の処理を行うことで、フィールドフラグを設定し、クラスコード出力部10148に供給する。
処理は、ステップS10145からステップS10146に進み、ノイズ検出フラグ判定部10143は、差分絶対値算出部10141から供給される水平エッジ検出フラグおよび垂直エッジ検出フラグを用いて、図49のノイズ検出フラグ判定部11013と同様の処理を行い、その結果得られるノイズ検出フラグを、クラスコード出力部10148に供給する。
処理は、ステップS10146からステップS10147に進み、クラスコード出力部10148は、図49の水平クラスコード出力部11018と同様に、フィールドフラグ抽出部10142から供給されるフィールドフラグ、ノイズ検出フラグ判定部10143から供給されるノイズ検出フラグ、垂直差分ゼロクラスコード生成部10147から供給される垂直差分ゼロクラスコード、水平差分クラスコード生成部10145から供給される水平差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、足し込み部10136に出力する。
その後、処理は、図65のステップS10125にリターンする。
即ち、図65のフローチャートで説明した学習処理は、ノイズ除去画像に相当する画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理であるが、この学習処理を、図67乃至図77を参照して行う説明においては、水平タップにおける学習処理という。
なお、図63の学習部10121において、予測タップ抽出部10133が垂直予測タップを抽出し、クラスタップ抽出部10134が垂直クラスタップを抽出して、クラス分類部10135が垂直クラス分類を行うこととすれば、水平係数に代えて、垂直係数を求めることができる。
即ち、垂直係数を求める場合には、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックを構成する画素を順次、注目画素とする。さらに、予測タップ抽出部10133は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の垂直予測タップ抽出部10065が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップ(図47の垂直予測タップ抽出部10065が注目画素について得る垂直予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる垂直予測タップ)を得て、足し込み部10136に供給する。
クラスタップ抽出部10134は、ノイズ付加部10132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の垂直クラスタップ抽出部10066が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップ(図47の垂直クラスタップ抽出部10066が注目画素について得る垂直クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる垂直クラスタップ)を得て、クラス分類部10135に供給する。
クラス分類部10135は、クラスタップ抽出部10134から供給された垂直クラスタップに基づき、図47の垂直クラス分類部10067と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部10136に供給する。
足し込み部10136は、原画像記憶部10131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部10133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部10135から供給された垂直クラスコードごとに行う。
即ち、足し込み部10136には、原画像記憶部10131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部10133が出力する注目画素についての垂直予測タップを構成する生徒画像の画素の画素値xn,k、クラス分類部10135が出力する、垂直予測タップの垂直クラスを表す垂直クラスコードが供給される。
そして、足し込み部10136は、クラス分類部10135から供給された垂直クラスコードに対応する垂直クラスごとに、垂直予測タップ(生徒画像)xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部10136は、やはり、クラス分類部10135から供給された垂直クラスコードに対応する垂直クラスごとに、垂直予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
そして、足し込み部10136は、ノイズ付加部10132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各垂直クラスについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部10137に供給する。
係数算出部10137は、足し込み部10136から供給された各垂直クラスについての正規方程式を解くことにより、各垂直クラスについて、垂直係数w’nを求めて出力する。
以上のようにして、垂直係数w’nを求める学習処理を、図67乃至図77を参照して行う説明においては、垂直タップにおける学習処理という。
図47の画像変換部31では、上述した水平タップにおける学習処理により求められた水平係数と、垂直タップにおける学習処理により求められた垂直係数とを用いて画像変換処理を行うことができる。
図66のクラス分類における処理において、ステップS10144では、例えば、垂直予測タップのクラスを表す垂直クラスコードの一部である垂直差分クラスコードを用いて、水平予測タップのクラスを表す水平クラスコードの一部である垂直差分ゼロクラスコードを求めている。即ち、水平予測タップの水平クラス分類をするにあたり、垂直予測タップのクラスを表す垂直クラスコードの一部を用いているため、水平予測タップの水平クラス分類では、垂直予測タップのクラスを考慮した水平クラス分類をすることができ、このため、垂直予測タップの垂直予測演算に用いる、垂直クラスに対応する垂直係数による垂直処理効果分を考慮した形で、水平予測タップの水平予測演算に用いる、水平クラスに対応する水平係数を学習することができる。
また、図65のステップS10123により、生徒画像から抽出される予測タップなどについては、注目ブロックと、注目ブロックに隣接するブロックとの境界を横切るように抽出されているため、注目ブロックのみから抽出される場合と比較して、MPEG復号画像に生じているブロック歪などを効果的に除去することができる係数を求めることができる。
さらに、図65のステップS10125のクラス分類では、例えば、水平差分クラスタップから水平差分クラスコードを生成するのに用いる閾値や、垂直差分クラスタップから垂直差分クラスコードを生成するのに用いる閾値、斜め差分クラスタップから斜め差分クラスコードを生成するのに用いる閾値として、最適な閾値を選択し、その最適な閾値を用いて、水平差分クラスコードや垂直差分クラスコード、斜め差分クラスコードを生成しているため、より適切なクラス分類をすることができる。
次に、水平係数による水平処理効果分と、垂直係数による垂直処理効果分とが過剰となったり、相殺されることがないように、水平係数および垂直係数を学習する学習処理について説明する。
図67は、上述した図47の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部10151の構成例を示すブロック図である。なお、図67には、説明の便宜上、図47の画像変換部31に相当する画像変換部10152も図示してある。
2段差分学習部10151は、水平タップ学習部10161、水平マッピング部10162、および垂直タップ差分学習部10163により構成される。
水平タップ学習部10161は、図63の学習部10121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部10162に供給する。
水平マッピング部10162は、水平タップ学習部10161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部10161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られる水平処理画像Hを、垂直タップ差分学習部10163に供給する。なお、水平マッピング部10162には、水平タップ学習部10161などから、MPEG復号画像が供給される。
垂直タップ差分学習部10163は、水平タップ学習部10161で教師画像として用いられる原画像と、水平マッピング部10162から供給される水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
即ち、垂直タップ差分学習部10163は、原画像、MPEG復号画像、および水平処理画像Hから、後述するようにして、原画像と水平差分hとの差分である原画像−水平差分hを生成し、その原画像−水平差分hを教師画像とするとともに、MPEG復号画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部10163の、垂直タップにおける水平差分の差分学習処理は、後述する図68を参照して、詳細に説明する。
図47の画像変換部31における画像変換処理では、図67の2段差分学習部10151により求められた水平係数および垂直係数を用いることができる。
ここで、図67において、画像変換部10152は、図47の画像変換部31と同様に構成される。画像変換部10152では、次のようにして、MPEG復号画像を原画像(の予測値)に変換する画像変換処理が行われる。
即ち、画像変換部10152は、水平マッピング部10162、垂直差分マッピング部10164、および加算部10165により構成される。
水平マッピング部10162は、図56の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部10064、および水平予測演算部10101で構成される水平マッピング部10071と同様に構成される。
水平マッピング部10162は、水平タップ学習部10161での水平タップにおける学習処理により得られる水平係数を用いて、MPEG復号画像を水平処理画像Hに変換する水平マッピング処理を行い、その水平処理画像Hを、加算部10165に供給する。
垂直差分マッピング部10164は、図56の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部10068、垂直予測演算部10102、およびゲイン調整部10103で構成される垂直差分マッピング部10073と同様に構成される。
垂直差分マッピング部10164は、垂直タップ差分学習部10163での垂直タップにおける水平差分の差分学習処理により得られる垂直係数を用いて、MPEG復号画像を垂直差分vに変換する垂直差分マッピング処理を行い、その垂直差分vを、加算部10165に供給する。
加算部10165は、図56の加算部10104と同様に構成され、水平マッピング部10162から供給された水平処理画像Hと、垂直差分マッピング部10164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+v(=h+v+x1)を出力する。
次に、図68は、垂直タップにおける水平差分の差分学習処理を行う図67の垂直タップ差分学習部10163の詳細な構成例を示すブロック図である。
即ち、図68の垂直タップ差分学習部10163は、図63の原画像記憶部10131乃至係数算出部10137とそれぞれ同様に構成される原画像記憶部11131乃至係数算出部11137と、図11の差分画像生成部233と同様に構成される差分画像生成部10233とから構成される。
図68の垂直タップ差分学習部10163では、原画像と水平差分hとの差分である原画像―水平差分hを教師画像とするとともに、MPEG復号画像を生徒画像として、垂直係数を学習することから、原画像から水平マッピング処理による水平処理効果分としての水平差分hを差し引いた画像に、MPEG復号画像を変換する垂直係数が求められる。
次に、図69のフローチャートを参照して、図67の2段差分学習部10151における2段差分学習処理を説明する。
ステップS10171において、水平タップ学習部10161は、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部10162に供給する。
その後、処理は、ステップS10171からステップS10172に進み、水平マッピング部10162は、水平タップ学習部10161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部10161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部10163に供給する。
そして、処理は、ステップS10172からステップS10173に進み、垂直タップ差分学習部10163は、水平タップ学習部10161で教師画像として用いられる原画像と、水平マッピング部10162から供給された水平処理画像Hとを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
その後、2段差分学習処理は、終了される。
次に、図70のフローチャートを参照して、図69のステップS10173の、垂直タップにおける水平差分の差分学習処理の詳細を説明する。
ステップS10201において、垂直タップ差分学習部10163(図68)のノイズ付加部11132は、原画像記憶部11131に記憶されている原画像を読み出し、その原画像を、MPEG-2などで8×8画素のブロック単位でMPEG符号化し、さらに、MPEG復号することでMPEG復号画像に相当する画像を、生徒画像として生成し、差分画像生成部10233、垂直予測タップ抽出部11133および垂直クラスタップ抽出部11134に供給する。なお、原画像記憶部11131には、図67の水平タップ学習部10161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS10201からステップS10202に進み、差分画像生成部10233は、ノイズ付加部11132から供給されたMPEG復号画像x1を、図67の水平マッピング部10162から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、ステップS10202において、差分画像生成部10233は、原画像記憶部11131に記憶されている原画像を読み出し、その原画像から、生成した水平差分hを差し引き、その結果得られた原画像―水平差分hを、教師画像として、足し込み部11136に供給する。
その後、処理は、ステップS10202からステップS10203に進み、垂直予測タップ抽出部11133は、ノイズ付加部11132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックの画素を、注目画素として、処理は、ステップS10204に進む。
ステップS10204において、垂直予測タップ抽出部11133は、ノイズ付加部11132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の垂直予測タップ抽出部10065が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップを得て、足し込み部11136に供給する。
そして、処理は、ステップS10204からステップS10205に進み、垂直クラスタップ抽出部11134は、ノイズ付加部11132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の垂直クラスタップ抽出部10066が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップを得て、垂直クラス分類部11135に供給する。
さらに、処理は、ステップS10205からステップS10206に進み、垂直クラス分類部11135は、垂直クラスタップ抽出部11134から供給された垂直クラスタップに基づき、図47の垂直クラス分類部10067と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部11136に供給して、ステップS10207に進む。
ステップS10207において、足し込み部11136は、図63の学習部10121の足し込み部10136と同様にして、差分画像生成部10233から供給された教師画像の画素のうちの、注目画素に対応する画素と、垂直予測タップ抽出部11133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部11135から供給された垂直クラスコードごとに行う。
処理は、ステップS10207からステップS10208に進み、ステップS10208およびステップS10209において、図65のステップS10127およびステップS10128と同様の処理を行う。
そして、ステップS10208からステップS10209に進み、生徒画像を構成する8×8画素のブロックすべてを注目ブロックとしたと判定された場合、即ち、足し込み部11136においては、ノイズ付加部11132により生成された生徒画像の画素すべてを注目画素として、図63の学習部10121と同様の足し込みを行うことにより、各垂直クラスについての正規方程式が得られた場合、足し込み部11136は、その正規方程式を、垂直タップ差分学習部10163の係数算出部11137に供給する。そして、ステップS10209からステップS10210に進み、係数算出部11137は、足し込み部11136から供給された各垂直クラスについての正規方程式を解くことにより、各垂直クラスについて、垂直係数w’nを求めて出力する。
その後、処理は、図69のステップS10173にリターンする。
次に、図71は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部10271の構成例を示すブロック図である。
2段反復学習部10271は、図67の2段差分学習部10151の水平タップ学習部10161乃至垂直タップ差分学習部10163それぞれと同様に構成される水平タップ学習部11161乃至垂直タップ差分学習部11163と、垂直マッピング部10284、および水平タップ差分学習部10285とから構成される。
垂直マッピング部10284は、水平タップ学習部11161で生徒画像として用いられるMPEG復号画像と、垂直タップ差分学習部11163から供給された垂直係数を用いて、MPEG復号画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部10285に供給する。
水平タップ差分学習部10285は、水平タップ学習部11161で教師画像として用いられる原画像と、垂直マッピング部10284から供給された垂直処理画像Vとを用いて、水平タップにおける垂直差分の差分学習処理を行い、その結果得られた水平係数を、水平マッピング部11162に供給する。
即ち、水平タップ差分学習部10285は、原画像、MPEG復号画像、および垂直処理画像Vから、後述するようにして、原画像と垂直差分vとの差分である原画像−垂直差分vを生成し、その原画像−垂直差分vを教師画像とするとともに、MPEG復号画像を生徒画像として、水平予測タップ及び水平クラスタップを用いて、水平係数を学習する、水平タップにおける垂直差分の差分学習処理を行う。
なお、水平タップ差分学習部10285の、水平タップにおける垂直差分の差分学習処理は、後述する図72を参照して、詳細に説明する。
次に、図72は、水平タップにおける垂直差分の差分学習処理を行う図71の水平タップ差分学習部10285の詳細な構成例を示すブロック図である。
水平タップ差分学習部10285は、図68の垂直タップ差分学習部10163の原画像記憶部11131乃至係数算出部11137とそれぞれ同様に構成される原画像12131乃至係数算出部12137と、図15の差分画像生成部293と同様に構成される差分画像生成部10293とから構成される。
以上のように構成される水平タップ差分学習部10285では、原画像と垂直差分vとの差分である原画像―垂直差分vを教師画像とするとともに、MPEG復号画像を生徒画像として、水平係数を学習することから、原画像から垂直マッピング処理による垂直処理効果分としての垂直差分vを差し引いた画像に、MPEG復号画像を変換する水平係数が求められる。
次に、図73のフローチャートを参照して、図71の2段反復学習部10271における2段反復学習処理を説明する。
ステップS10241において、水平タップ学習部11161は、原画像を教師画像とするとともに、その原画像をMPEG符号化し、さらにMPEG復号したMPEG復号画像を生徒画像として、水平タップにおける学習処理を行い、その結果得られた水平係数を、水平マッピング部11162に供給して、処理は、ステップS10242に進む。
ステップS10242において、水平マッピング部11162および垂直タップ差分学習部11163により、垂直係数が生成される。
即ち、ステップS10242では、ステップS10251とステップS10252の処理が行われる。
ステップS10251では、水平マッピング部11162は、水平タップ学習部11161で生徒画像として用いられるMPEG復号画像と、水平タップ学習部11161から供給される水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部11163に供給して、処理は、ステップS10252に進む。
ステップS10252において、垂直タップ差分学習部11163は、水平タップ学習部11161で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および水平マッピング部11162から供給された水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を生成する。
また、ステップS10252において、垂直タップ差分学習部11163は、生成した垂直係数を、垂直マッピング部10284に供給する。
ステップS10251およびステップS10252の処理、つまり、ステップS10242の処理が終了すると、処理は、ステップS10242からステップS10243に進み、垂直マッピング部10284および水平タップ差分学習部10285により、水平係数が生成される。
即ち、ステップS10243では、ステップS10261とステップS10262の処理が行われる。
ステップS10261において、垂直マッピング部10284は、水平タップ学習部11161で生徒画像として用いられるMPEG復号画像と、垂直タップ差分学習部11163から供給された垂直係数とを用いて垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部10285に供給して、処理は、ステップS10262に進む。
ステップS10262において、水平タップ差分学習部10285は、水平タップ学習部11161で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直マッピング部10284から供給された垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を生成する。
また、ステップS10262において、水平タップ差分学習部10285は、生成した水平係数を、水平マッピング部11162に供給する。
ステップS10261およびステップS10262の処理、つまり、ステップS10243の処理が終了すると、処理は、ステップS10243からステップS10242に戻り、水平マッピング部11162および垂直タップ差分学習部11163により、前回、水平タップ差分学習部10285により生成された水平係数に基づいて、垂直係数が生成され、以下、同様の処理が繰り返される。
即ち、ステップS10242のステップS10251では、水平マッピング部11162は、水平タップ学習部11161で生徒画像として用いられるMPEG復号画像と、水平タップ差分学習部10285から供給された水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部11163に供給して、処理は、ステップS10252に進み、以下、同様の処理を繰り返す。
なお、図73の2段反復学習処理では、図16の2段反復学習処理の場合と同様のタイミングで、処理を終了することができる。
次に、図74のフローチャートを参照して、図73のステップS10262の、水平タップにおける垂直差分の差分学習処理を詳細に説明する。
ステップS10271において、水平タップ差分学習部10285(図72)のノイズ付加部12132は、原画像記憶部12131に記憶されている原画像を読み出し、その原画像を、8×8画素のブロック単位でMPEG符号化しMPEG復号することでMPEG復号画像に相当する画像を、生徒画像として生成し、差分画像生成部10293、水平予測タップ抽出部12133および水平クラスタップ抽出部12134に供給する。なお、原画像記憶部12131には、図71の水平タップ学習部11161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS10271からステップS10272に進み、差分画像生成部10293は、ノイズ付加部12132から供給されたMPEG復号画像x1を、図71の垂直マッピング部10284から供給された垂直処理画像V=v+x1から差し引くことで、垂直差分vを生成する。
また、ステップS10272において、差分画像生成部10293は、原画像記憶部12131に記憶されている原画像を読み出し、その原画像から、生成した垂直差分vを差し引き、その結果得られた原画像―垂直差分vを、教師画像として、足し込み部12136に供給する。
処理は、ステップS10272からステップS10273に進み、水平予測タップ抽出部12133は、ノイズ付加部12132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックの画素を注目画素として、処理は、ステップS10274に進む。
ステップS10274において、水平予測タップ抽出部12133は、ノイズ付加部12132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平予測タップ抽出部10061が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部12136に供給する。
処理は、ステップS10274からステップS10275に進み、水平クラスタップ抽出部12134は、ノイズ付加部12132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図47の水平クラスタップ抽出部10062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、水平クラス分類部12135に供給する。
処理は、ステップS10275からステップS10276に進み、水平クラス分類部12135は、水平クラスタップ抽出部12134から供給された水平クラスタップに基づき、図47の水平クラス分類部10063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部12136に供給する。
処理は、ステップS10276からステップS10277に進み、足し込み部12136は、図63の学習部10121の場合と同様にして、差分画像生成部10293から供給された教師画像の画素のうちの、注目画素に対応する画素と、水平予測タップ抽出部12133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、水平クラス分類部12135から供給された水平クラスコードごとに行う。
処理は、ステップS10277からステップS10278に進み、ステップS10278およびステップS10279において、図65のステップS10127およびステップS10128と同様の処理を行い、ステップS10278からステップS10279に進み、生徒画像を構成する8×8画素のブロックすべてを注目ブロックとしたと判定された場合、即ち、足し込み部12136においては、ノイズ付加部12132により生成された生徒画像の画素すべてを注目画素として、図63の学習部10121と同様の足し込みを行うことにより、各水平クラスについての正規方程式が得られた場合、足し込み部12136は、その正規方程式を、係数算出部12137に供給する。そして、処理は、ステップS10279からステップS10280に進み、係数算出部12137は、足し込み部12136から供給された各水平クラスについての正規方程式を解くことにより、各水平クラスについて、水平係数wnを求めて出力する。
その後、処理は、図73のステップS10262にリターンする。
図75は、2段差分学習部10301の構成例を示すブロック図である。なお、図75には、説明の便宜上、図47の画像変換部31に相当する画像変換部10302も図示してある。
2段差分学習部10301は、垂直タップ学習部10311、垂直マッピング部10312、および水平タップ差分学習部10313により構成される。
垂直タップ学習部10311は、図63の学習部10121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部10312に供給する。
垂直マッピング部10312は、垂直タップ学習部10311で生徒画像として用いられるMPEG復号画像(に相当する画像)と、垂直タップ学習部10311から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られる垂直処理画像Vを、水平タップ差分学習部10313に供給する。なお、垂直マッピング部10312には、垂直タップ学習部10311などから、MPEG復号画像が供給される。
水平タップ差分学習部10313は、垂直タップ学習部10311で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直マッピング部10312から供給される垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を学習する。
2段差分学習部10301の垂直タップ学習部10311で求められた垂直係数と、水平タップ差分学習部10313で求められた水平係数とは、図47の画像変換部31に相当する画像変換部10302での画像変換処理に用いられる。
即ち、画像変換部10302は、垂直マッピング部10312、水平差分マッピング部10314、および加算部10315により構成される。
図75の画像変換部10302では、垂直マッピング部10312が垂直処理画像V=v+x1を生成し、水平差分マッピング部10314が水平差分hを生成して、加算部10315が、垂直マッピング部10312により生成された垂直処理画像V=v+x1と、水平差分マッピング部10314により生成された水平差分hとを加算し、その結果得られた垂直水平処理画像V+hを出力する。
具体的には、垂直マッピング部10312は、図56の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部10068、および垂直予測演算部10102で構成される垂直マッピング部10072と同様に構成される。
垂直マッピング部10312は、垂直タップ学習部10311での垂直タップにおける学習処理により得られる垂直係数を用いて、MPEG復号画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その垂直処理画像Vを、加算部10315に供給する。
水平差分マッピング部10314は、図62の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部10064、水平予測演算部10101、およびゲイン調整部10112で構成される水平差分マッピング部10111と同様に構成される。
水平差分マッピング部10314は、水平タップ差分学習部10313での水平タップにおける垂直差分の差分学習処理により得られる水平係数を用いて、MPEG復号画像を水平差分hに変換する水平差分マッピング処理を行い、その水平差分hを、加算部10315に供給する。
加算部10315は、図56の加算部10104と同様に構成され、垂直マッピング部10312から供給された垂直処理画像Vと、水平差分マッピング部10314から供給された水平差分hとを加算し、その結果得られた画素値V+hで構成される、原画像を予測した垂直水平処理画像を出力する。
ところで、図75の2段差分学習部10301で求められる垂直係数と水平係数によれば、図67の2段差分学習部10151で求められる水平係数と垂直係数と同様に、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等とならない。
そこで、図76は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部10331の構成例を示すブロック図である。
2段反復学習部10331は、垂直タップ学習部11311、垂直マッピング部11312、水平タップ差分学習部11313、水平マッピング部10324、および垂直タップ差分学習部10325により構成される。
垂直タップ学習部11311は、図63の学習部10121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部11312に供給する。
垂直マッピング部11312は、垂直タップ学習部11311で生徒画像として用いられるMPEG復号画像(に相当する画像)と、垂直タップ学習部11311から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部11313に供給する。なお、垂直マッピング部11312には、垂直タップ学習部11311などから、MPEG復号画像が供給される。
水平タップ差分学習部11313は、垂直タップ学習部11311で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直マッピング部11312から供給された垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、その結果得られた水平係数を、水平マッピング部10324に供給する。
水平マッピング部10324は、垂直タップ学習部11311で生徒画像として用いられるMPEG復号画像と、水平タップ差分学習部11313から供給された水平係数とを用いて、MPEG復号画像を水平処理画像Hに変換する水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部10325に供給する。
垂直タップ差分学習部10325は、垂直タップ学習部11311で生徒画像として用いられるMPEG復号画像の画素値x1を、水平マッピング部10324から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、垂直タップ差分学習部10325は、垂直タップ学習部11311で教師画像として用いられる原画像から、生成した水平差分hを差し引くことで得られる画像である原画像―水平差分hを教師画像とするとともに、垂直タップ学習部11311で生徒画像として用いられるMPEG復号画像を生徒画像として、垂直タップにおける水平差分の差分学習処理を行い、その結果得られた垂直係数を、垂直マッピング部11312に供給する。
垂直タップ差分学習部10325により垂直係数が求められると、以降、垂直マッピング部11312は、垂直タップ学習部11311で生徒画像として用いられるMPEG復号画像(に相当する画像)と、垂直タップ差分学習部10325から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部11313に供給する。
図77は、図1の画像変換部31の第6の構成例を示すブロック図である。
なお、図中、図47の画像変換部31の場合に対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
即ち、図77の画像変換部31は、図47の水平クラスタップ抽出部10062、水平クラス分類部10063、垂直クラスタップ抽出部10066、および垂直クラス分類部10067に代えて、水平差分クラスタップ抽出部13062、水平クラス分類部13063、垂直差分クラスタップ抽出部13066、垂直クラス分類部13067、ブロック抽出部13070、およびブロック処理部13071が設けられている他は、図47の場合と同様に構成される。
また、水平差分クラスタップ抽出部13062、垂直差分クラスタップ抽出部13066、ブロック抽出部13070それぞれは、図47の水平差分クラスタップ抽出部10062a、垂直差分クラスタップ抽出部10062b、ブロック抽出部10062cそれぞれと同様に構成される。
さらに、水平クラス分類部13063の水平差分クラスコード生成部13063a、垂直差分ゼロクラスコード生成部13063b、水平クラスコード出力部13063cそれぞれは、図49の水平差分クラスコード生成部11015、垂直差分ゼロクラスコード生成部11017、水平クラスコード出力部11018それぞれと同様に構成される。
また、垂直クラス分類部13067の垂直差分クラスコード生成部13067a、水平差分ゼロクラスコード生成部13067b、垂直クラスコード出力部13067cそれぞれは、図54の垂直差分クラスコード生成部11035、水平差分ゼロクラスコード生成部11037、垂直クラスコード出力部11038それぞれと同様に構成される。
ブロック処理部13071の差分絶対値算出部13071a、フィールドフラグ抽出部13071b、閾値選択部13071c、ノイズ検出フラグ判定部13071dそれぞれは、図49の差分絶対値算出部11011、フィールドフラグ抽出部11012、閾値選択部11014、ノイズ検出フラグ判定部11013それぞれと同様に構成される。
図78は、図1の画像変換部31の第7の構成例を示すブロック図である。
なお、図中、図47の画像変換部31の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図78の画像変換部31は、図47の水平係数記憶部10064、垂直係数記憶部10068、および予測演算部10069に代えて、水平係数記憶部20064、垂直係数記憶部20068、および予測演算部20069が設けられており、さらに、モード判定部20031および20032が新たに設けられている他は、図47の画像変換部31の場合と同様に構成されている。
モード判定部20031には、水平予測タップ抽出部10061から、MPEG復号画像における注目画素の位置を表す位置情報が供給される。
モード判定部20031は、そこに供給される位置情報に基づいて、注目ブロックにおける注目画素の画素位置モードを判定し、予測演算部20069に供給する。ここで、画素位置モードとは、MPEG復号画像の8×8画素の各ブロックにおける各画素の位置を表す情報である。
モード判定部20031は、そこに供給される位置情報に基づいて、注目ブロックにおける注目画素が、注目ブロックの中心を通る、水平方向および垂直方向に延びる線分により区分された左上領域、右上領域、左下領域、または右下領域のうちのいずれかの領域に位置するかを判定し、その結果得られた領域情報を、予測演算部20069に供給する。
また、モード判定部20032には、垂直予測タップ抽出部10065から、MPEG復号画像における注目画素の位置情報が供給される。そして、モード判定部20032は、モード判定部20031と同様の処理を行い、その結果得られる画素位置モードと領域情報を、同じく、予測演算部20069に供給する。
水平係数記憶部20064には、水平クラス分類部10063から、水平クラスコードが供給される。
水平係数記憶部20064は、後述する学習によってあらかじめ求められた水平クラスごとの水平係数のセットを記憶しており、その記憶している水平係数のセットのうちの、水平クラス分類部10063から供給された水平クラスコードに対応するアドレスに記憶されている水平係数(水平クラス分類部10063から供給された水平クラスコードが表す水平クラスに対応する水平係数)すべてを、予測演算部20069に出力する。
垂直係数記憶部20068は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットを記憶しており、その記憶している垂直係数のセットのうちの、垂直クラス分類部10067から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数(垂直クラス分類部10067から供給された垂直クラスコードが表す垂直クラスに対応する垂直係数)を、予測演算部20069に出力する。
なお、予測演算部20069には、水平予測タップ抽出部10061から水平予測タップが、垂直予測タップ抽出部10065から垂直予測タップが、それぞれ、供給される。
予測演算部20069は、水平予測タップ抽出部10061から供給された水平予測タップ、垂直予測タップ抽出部10065から供給された垂直予測タップ、水平係数記憶部10064から供給された水平係数、垂直係数記憶部10068から供給された垂直係数、モード判定部20031,20032から供給された注目画素の画素位置モードおよび領域情報に基づいて、所定の予測演算を行うことにより、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
図79は、図78の予測演算部20069の構成例を示すブロック図である。
図78の予測演算部20069は、図56のゲイン調整部10103、加算部10104それぞれと同様に構成されるゲイン調整部20103、加算部20104それぞれと、水平予測演算部20101、垂直予測演算部20102により構成される。
水平予測演算部20101には、水平係数記憶部20064から複数の水平係数、水平予測タップ抽出部10061から水平予測タップxn、さらには、モード判定部20031から注目画素の画素位置モードおよび領域情報が供給される。
水平予測演算部20101は、水平係数記憶部20064から供給された複数の水平係数の中から、モード判定部20031から供給された、注目画素の画素位置モードに対応する水平係数を取得する。
また、水平予測演算部20101は、取得した水平係数と、水平予測タップ抽出部10061からの水平予測タップxnとを用いて、モード判定部20031からの注目画素の領域情報に対応した水平予測演算を行い、その結果得られた水平画素の画素値Hを、加算部10104に供給する。
垂直予測演算部20102には、垂直係数記憶部20068から複数の垂直係数、垂直予測タップ抽出部10065から垂直予測タップx’n、さらには、モード判定部20032から注目画素の画素位置モードおよび領域情報が供給される。
垂直予測演算部20102は、垂直係数記憶部20068から供給された複数の垂直係数の中から、モード判定部20032から供給された、注目画素の画素位置モードに対応する垂直係数を取得する。
また、垂直予測演算部20102は、取得した垂直係数と、垂直予測タップ抽出部10065からの垂直予測タップx’nとを用いて、モード判定部20032からの注目画素の領域情報に対応した垂直予測演算を行い、その結果得られた垂直画素の画素値Vを、ゲイン調整部20103に供給する。
ここで、図79の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部20064、モード判定部20031、および水平予測演算部20101を総称して水平マッピング部20071といい、その水平マッピング部20071が、水平係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、水平画素の画素値Hに変換する処理を、以下、適宜、水平マッピング処理という。
さらに、図79の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部20068、モード判定部20032、および垂直予測演算部20102を総称して垂直マッピング部20072といい、その垂直マッピング部20072が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直画素の画素値Vに変換する処理を、以下、適宜、垂直マッピング処理という。
また、図79の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部20068、モード判定部20032、垂直予測演算部20102、およびゲイン調整部20103を総称して垂直差分マッピング部20073といい、その垂直差分マッピング部20073が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直差分vに変換する処理を、以下、適宜、垂直差分マッピング処理という。
図80は、図78のモード判定部20031や20032が判定する画素位置モードや領域情報を説明する図である。
図中、左側には、16×16画素のマクロブロックの構造が、フレーム構造である場合の、MPEG復号画像の8×8画素のブロックの画素に割り当てられた画素位置モードを表している。
即ち、画素位置モードにおいては、8×8画素のブロックを、そのブロックの中心を通る、水平方向に延びた水平線および垂直方向に延びた垂直線により、4×4画素の左上のブロックである左上領域、4×4画素の右上のブロックである右上領域、4×4画素の左下のブロックである左下領域、および4×4画素の右下のブロックである右下領域に区分し、左上領域の各画素に、例えば、ラスタスキャン順に、画素位置モード0乃至Fを割り当てる。
そして、左上領域の各画素において、水平線または垂直線を基準として、線対称の位置関係にある画素、および8×8画素のブロックの中心を基準として、点対称の位置関係にある画素に、画素位置モードとして同一の値が割り当てられる。
モード判定部20031は、水平予測タップ抽出部10061から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の位置に対応する画素位置モードと、注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、および右下領域のうちのいずれかの領域に位置するかを示す領域情報を判定する。
そして、水平予測演算部20101は、モード判定部20031から供給される注目画素の領域情報に対応した水平予測演算を行う。
同様にして、モード判定部20032は、垂直予測タップ抽出部10065から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の位置に対応する画素位置モードと、注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、および右下領域のうちのいずれかの領域に位置するかを示す領域情報を判定する。
そして、垂直予測演算部20102は、モード判定部20032から供給される注目画素の領域情報に対応した垂直予測演算を行う。
即ち、注目画素の領域情報が、注目画素が左上領域に位置することを表す情報である場合、水平予測タップや垂直予測タップをそのままの状態で、水平係数や垂直係数と乗算させることで、水平予測演算や垂直予測演算を行う。
具体的には、例えば、注目画素x1を中心として、水平方向に並ぶ9画素である水平方向のタップ41(図2)を水平予測タップx1乃至x9として、水平係数記憶部20064から出力され、注目画素の画素位置モードに対応する水平係数をw1乃至w9とすれば、水平予測演算部20101は、w11+w22+・・・+w88+w99という演算を行う。また、例えば、注目画素x1(=x’1)を中心として、垂直方向に並ぶ9画素である垂直方向のタップ42(図2)を垂直予測タップx’1乃至x’9として、垂直係数記憶部20068から出力され、注目画素の画素位置モードに対応する垂直係数をw’1乃至w’9とすれば、垂直予測演算部20102は、w’1x’1+w’2x’2+・・・+w’8x’8+w’9x’9という演算を行う。
また、注目画素の領域情報が、注目画素が右上領域に位置することを表す情報である場合、水平予測タップや垂直予測タップを、注目画素を中心として左右反転し、水平係数や垂直係数と乗算させることで、水平予測演算や垂直予測演算を行う。
具体的には、例えば、注目画素x1を中心として、水平方向に並ぶ9画素である水平方向のタップ41(図2)を水平予測タップx1乃至x9として、水平係数記憶部20064から出力され、注目画素の画素位置モードに対応する水平係数をw1乃至w9とすれば、水平予測演算部20101は、水平予測タップx1乃至x9を、注目画素を中心として左右反転し、水平係数w1乃至w9と乗算することで、w19+w28+・・・+w82+w91を得る。なお、垂直予測タップが、注目画素を中心として、垂直方向に並ぶ9画素である垂直方向のタップ42である場合には、垂直予測タップを左右反転しても、垂直予測タップの位置関係に変化はないため、結果として、垂直予測演算部20102は、w’1x’1+w’2x’2+・・・+w’8x’8+w’9x’9を得る。
さらに、注目画素の領域情報が、注目画素が左下領域に位置することを表す情報である場合、水平予測タップや垂直予測タップを、注目画素を中心として上下反転し、水平係数や垂直係数と乗算させることで、水平予測演算や垂直予測演算を行う。
具体的には、例えば、注目画素x1を中心として、垂直方向に並ぶ9画素である垂直方向のタップ42(図2)を垂直予測タップx’1乃至x’9として、垂直係数記憶部20068から出力され、注目画素の画素位置モードに対応する垂直係数をw’1乃至w’9とすれば、垂直予測演算部20102は、垂直予測タップx’1乃至x’9を、注目画素を中心として上下反転し、垂直係数w’1乃至w’9と乗算することで、w’1x’9+w’2x’8+・・・+w’8x’2+w’9x’1を得る。なお、水平予測タップが、注目画素を中心として、水平方向に並ぶ9画素である水平方向のタップ41である場合には、水平予測タップを上下反転しても、水平予測タップの位置関係に変化はないため、結果として、水平予測演算部20101は、w11+w22+・・・+w88+w99を得る。
また、注目画素の領域情報が、注目画素が右下領域に位置することを表す情報である場合、水平予測タップや垂直予測タップを、注目画素を中心として左右反転および上下反転し、水平係数や垂直係数と乗算させることで、水平予測演算や垂直予測演算を行う。
具体的には、例えば、注目画素x1を中心として、水平方向に並ぶ9画素である水平方向のタップ41(図2)を水平予測タップx1乃至x9として、水平係数記憶部20064から出力され、注目画素の画素位置モードに対応する水平係数をw1乃至w9とすれば、水平予測演算部20101は、水平予測タップx1乃至x9を、注目画素を中心として左右反転し、水平係数w1乃至w9と乗算することで、w19+w28+・・・+w82+w91を得る。なお、ここでは、水平予測タップを、水平方向に並ぶ水平方向のタップ41としていることから、水平予測タップを上下反転しても、水平予測タップの位置関係に変化はないため、水平予測演算部20101は、注目画素の領域情報が、注目画素が右上領域に位置することを表す情報である場合と同様に、w11+w22+・・・+w88+w99を得る。
また、例えば、注目画素x1を中心として、垂直方向に並ぶ9画素である垂直方向のタップ42(図2)を垂直予測タップx’1乃至x’9として、垂直係数記憶部20068から出力され、注目画素の画素位置モードに対応する垂直係数をw’1乃至w’9とすれば、垂直予測演算部20102は、垂直予測タップx’1乃至x’9を、注目画素を中心として上下反転し、垂直係数w’1乃至w’9と乗算することで、w’1x’9+w’2x’8+・・・+w’8x’2+w’9x’1を得る。なお、ここでは、垂直予測タップを、垂直方向に並ぶ垂直方向のタップ42としていることから、垂直予測タップを左右反転しても、垂直予測タップの位置関係に変化はないため、垂直予測演算部20102は、注目画素の領域情報が、注目画素が左下領域に位置することを表す情報である場合と同様に、w’1x’1+w’2x’2+・・・+w’8x’8+w’9x’9を得る。
なお、図中、右側には、16×16画素のマクロブロックの構造が、フィールド構造である場合の、MPEG復号画像の8×8画素のブロックの画素に割り当てられた画素位置モードを表しており、16×16画素のマクロブロックの構造が、フレーム構造である場合に対応する画素において、同様にして、画素位置モードが割り当てられている。
即ち、図中、右側に示されるように、斜線部分が表す偶数ラインと白色の部分が表す奇数ラインで構成される16×16画素のマクロブロックについて、16×16画素のマクロブロックの右半分において構成される奇数ラインの各画素に画素位置モードを割り当てる。
さらに、16×16画素のマクロブロックの右半分において構成される偶数ラインの各画素、16×16画素のマクロブロックの左半分において構成される奇数ラインの各画素、および偶数ラインの各画素についても、16×16画素のマクロブロックの右半分において構成される奇数ラインの各画素に画素位置モードを割り当てたように、画素位置モードを割り当てる。
また、16×16画素のマクロブロックの左半分において構成される奇数ラインに注目画素が位置する場合には、注目画素の領域情報は、注目画素が左上領域に位置することを表す情報とし、16×16画素のマクロブロックの右半分において構成される奇数ラインに注目画素が位置する場合には、注目画素の領域情報は、注目画素が右上領域に位置することを表す情報となる。
さらに、16×16画素のマクロブロックの左半分において構成される偶数ラインに注目画素が位置する場合には、注目画素の領域情報は、注目画素が左下領域に位置することを表す情報とし、16×16画素のマクロブロックの右半分において構成される偶数ラインに注目画素が位置する場合には、注目画素の領域情報は、注目画素が右下領域に位置することを表す情報となる。
次に、図81のフローチャートを参照して、図78の画像変換部31における画像変換処理を説明する。
この画像変換処理は、例えば、MPEG-2などにより、8×8画素のブロック単位でMPEG符号化されたMPEG符号化画像が、チューナで受信された放送番組の画像や、記録媒体から再生される画像として、画像変換部31に供給されたときに開始される。このとき、MPEG符号化画像は、図示せぬデコーダに供給され、MPEG復号されて、MPEG復号画像として、水平予測タップ抽出部10061、水平クラスタップ抽出部10062、垂直予測タップ抽出部10065、および垂直クラスタップ抽出部10066に供給される。
ステップS20031において、水平マッピング部20071の水平予測タップ抽出部10061は、そこに供給されたMPEG復号画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックの画素を注目画素として、処理は、ステップS20032に進む。
ステップS20032において、水平マッピング部20071は、注目画素について水平マッピング処理を行い、その結果得られた水平処理画像Hを、加算部20104に供給して、処理は、ステップS20033に進み、垂直差分マッピング部20073は、注目画素について垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部20104に供給して、処理は、ステップS20034に進む。
ステップS20034において、加算部20104は、水平マッピング部20071からの水平処理画像Hと、垂直差分マッピング部20073からの垂直差分vとを加算し、注目画素に対応する、ノイズ除去画像の画素の画素値y=H+vを得て出力する。
その後、処理は、ステップS20034からステップS20035に進み、ステップS20035およびステップS20036において、図57のステップS10035およびステップS10036と同様の処理を行う。
ステップS20036において、MPEG復号画像を構成する8×8画素のブロックすべてを注目画素としたと判定された場合、画像変換処理は終了される。
次に、図82のフローチャートを参照して、図81のステップS20032における水平マッピング処理の詳細を説明する。
ステップS20061乃至ステップS20064において、図58のステップS10061乃至ステップS10064と同様の処理を行い、処理は、ステップS20064からステップS20065に進み、水平マッピング部20071のモード判定部20031は、水平予測タップ抽出部10061から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の画素位置モードを判定し、水平予測演算部20101に供給する。なお、モード判定部20031には、水平予測タップ抽出部10061から、注目画素の位置情報が供給される。
処理は、ステップS20065からステップS20066に進み、さらに、水平マッピング部20071のモード判定部20031は、水平予測タップ抽出部10061から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、または右下領域のうちのいずれかの領域に位置するかを表す領域情報を判定し、その結果得られた領域情報を、水平予測演算部20101に供給して、処理は、ステップS20067に進む。
ステップS20067において、水平マッピング部20071の水平予測演算部20101は、水平係数記憶部20064から供給された複数の水平係数の中から、モード判定部20031から供給された画素位置モードに対応する水平係数wnを取得し、その水平係数と、水平予測タップ抽出部10061からの水平予測タップxnとを用いて、モード判定部20031からの領域情報に対応した水平予測演算を行い、その結果得られた水平処理画像Hを、加算部20104に供給し、その後、処理は、図81のステップS20032にリターンして、その後の処理を行う。
次に、図83のフローチャートを参照して、図81のステップS20033における垂直差分マッピング処理の詳細を説明する。
ステップS20091乃至ステップS20094において、図60のステップS10091乃至ステップS10094と同様の処理を行い、処理は、ステップS20094からステップS20095に進み、垂直差分マッピング部20073のモード判定部20032は、垂直予測タップ抽出部10065から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の画素位置モードを判定し、垂直予測演算部20102に供給する。なお、モード判定部20032には、垂直予測タップ抽出部10065から、注目画素の位置情報が供給される。
処理は、ステップS20095からステップS20096に進み、垂直差分マッピング部20073のモード判定部20032は、垂直予測タップ抽出部10065から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、または右下領域のうちのいずれかの領域に位置するかを表す領域情報を判定し、その結果得られた領域情報を、やはり、垂直予測演算部20102に供給して、処理は、ステップS20097に進む。
ステップS20097において、垂直差分マッピング部20073の垂直予測演算部20102は、垂直係数記憶部20068から供給された複数の垂直係数の中から、モード判定部20032から供給された画素位置モードに対応する垂直係数w’nを取得し、その垂直係数w’nと、垂直予測タップ抽出部10065からの垂直予測タップx’nとを用いて、モード判定部20032からの領域情報に対応した垂直予測演算を行い、その結果得られた垂直処理画像Vを、ゲイン調整部20103に供給する。
その後、処理は、ステップS20097からステップS20098に進み、図60のステップS10096と同様の処理を行い、処理はステップS20098から図81のステップS20033にリターンして、その後の処理を行う。
次に、後の説明を簡単にするために、水平係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、水平差分hに変換する水平差分マッピング処理を行う水平差分マッピング部を説明する。
即ち、図84は、水平差分マッピング処理を行う水平差分マッピング部20111の構成例を示すブロック図である。
なお、図中、図79の水平マッピング部20071の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図84の水平差分マッピング部20111は、図62のゲイン調整部10112と同様に構成されるゲイン調整部20112が新たに設けられているほかは、図79の水平マッピング部20071の場合と同様に構成されている。
次に、図85を参照して、式(10)の正規方程式を水平クラスごとにたてて解くことにより水平係数wnを求める学習を行う学習部20121を説明する。
図85は、水平係数wnを求める学習を行う学習部20121の構成例を示すブロック図である。
図85の学習部20121は、原画像記憶部20131、ノイズ付加部20132、予測タップ抽出部20133、クラスタップ抽出部20134、クラス分類部20135、足し込み部20136、係数算出部20137、およびモード判定部20141により構成される。
なお、図85の学習部20121の原画像記憶部20131乃至クラス分類部20135それぞれは、図63の学習部10121の原画像記憶部10131乃至クラス分類部10135それぞれと同様に構成される。
モード判定部20141には、予測タップ抽出部20133から、注目画素の位置情報が供給される。
モード判定部20141は、そこに供給される位置情報に基づいて、図78のモード判定部20031と同様の処理を行い、その結果得られる注目画素の画素位置モードおよび領域情報を、足し込み部20136に供給する。
足し込み部20136は、原画像記憶部20131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、注目画素に対応する、教師画像の画素と、予測タップ抽出部20133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部20135から供給された水平クラスコードと、モード判定部20141から供給された画素位置モードとのセットごとに行う。
即ち、足し込み部20136には、原画像記憶部20131に記憶された教師画像の画素のうちの、注目画素に対応する画素の画素値yk、予測タップ抽出部20133が出力する注目画素についての水平予測タップを構成する生徒画像の画素の画素値、クラス分類部20135が出力する、水平予測タップの水平クラスを表す水平クラスコード、モード判定部20141から供給された画素位置モードおよび領域情報が供給される。
そして、足し込み部20136は、クラス分類部20135から供給された水平クラスコードに対応する水平クラスと、モード判定部20141から供給された画素位置モードのセットごとに、モード判定部20141から供給された領域情報に応じて、予測タップ抽出部20133が出力する注目画素についての水平予測タップを左右反転や上下反転することにより得られる、水平予測タップ(生徒画像)を構成する画素の画素値xn,kを用い、式(10)の左辺の行列における生徒画像どうしの乗算(xn,kn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部20136は、やはり、クラス分類部20135から供給された水平クラスコードに対応する水平クラスと、モード判定部20141から供給された画素位置モードのセットごとに、水平予測タップ(生徒画像)xn,kと教師画像ykを用い、式(10)の右辺のベクトルにおける生徒画像xn,kおよび教師画像ykの乗算(xn,kk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部20136は、前回、注目画素とされた生徒画像について求められた式(10)における左辺の行列のコンポーネント(Σxn,kn',k)と、右辺のベクトルのコンポーネント(Σxn,kk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kn',k)またはベクトルのコンポーネント(Σxn,kk)に対して、新たに注目画素とされた生徒画像について、その生徒画像xn,k+1および教師画像yk+1を用いて計算される、対応するコンポーネントxn,k+1n',k+1またはxn,k+1k+1を足し込む(式(10)のサメーションで表される加算を行う)。
そして、足し込み部20136は、ノイズ付加部20132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、水平クラスおよび画素位置モードのセットそれぞれについて、式(10)に示した正規方程式をたてると、その正規方程式を、係数算出部20137に供給する。
係数算出部20137は、足し込み部20136から供給された各セットについての正規方程式を解くことにより、各セットについて、水平係数wnを求めて出力する。
次に、図86のフローチャートを参照して、図85の学習部20121における学習処理を説明する。
ステップS20121乃至ステップS20125において、図65のステップS10121乃至ステップS10125と同様の処理を行い、処理は、ステップS20126に進む。
ステップS20126において、モード判定部20141は、そこに供給される位置情報に基づいて、図78のモード判定部20031と同様の処理を行い、注目画素の画素位置モードを判定し、足し込み部20136に供給する。なお、モード判定部20141には、予測タップ抽出部20133から、注目画素の位置情報が供給される。
処理は、ステップS20216からステップS20217に進み、モード判定部20141は、そこに供給される位置情報に基づいて、図78のモード判定部20031と同様の処理を行い、注目画素の領域情報を判定し、やはり、足し込み部20136に供給する。
処理は、ステップS20127からステップS20128に進み、足し込み部20136は、原画像記憶部20131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部20133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部20135から供給された水平クラスコードと、モード判定部20141から供給された画素位置モードのセットごとに行う。
処理は、ステップS20128からステップS20129に進み、ステップS20129およびステップS20130において、図65のステップS10127およびステップS10128と同様の処理を行う。
ステップS20130では、生徒画像において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部20136においては、ノイズ付加部20132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、水平クラスおよび画素位置モードのセットそれぞれについて、式(10)に示した正規方程式が得られた場合、足し込み部20136は、正規方程式を、係数算出部20137に供給する。そして、処理は、ステップS20130からステップS20131に進み、係数算出部20137は、足し込み部20136から供給された水平クラスおよび画素位置モードのセットそれぞれについての正規方程式を解くことにより、各セットについて、水平係数wnを求めて出力する。
その後、学習処理は終了される。
ここで、図86のフローチャートで説明した学習処理は、ノイズ除去画像に相当する画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理であるが、この学習処理を、以下、適宜、水平タップにおける学習処理という。
なお、図85の学習部20121において、予測タップ抽出部20133が垂直予測タップを抽出し、クラスタップ抽出部20134が垂直クラスタップを抽出して、クラス分類部20135が垂直クラス分類を行うこととすれば、図63の学習部10121の場合と同様に、水平係数に代えて、垂直係数を求めることができる。
図85の学習部20121において、垂直係数w’nを求める学習処理を、以下、適宜、垂直タップにおける学習処理という。
図78の画像変換部31では、上述した水平タップにおける学習処理により求められた水平係数と、垂直タップにおける学習処理により求められた垂直係数とを用いて画像変換処理を行うことができる。
次に、図85の学習部20121で学習される水平係数と垂直係数のように、水平係数による水平処理効果分と、垂直係数による垂直処理効果分とが過剰となったり、相殺されることがないように、水平係数および垂直係数を学習する学習処理について説明する。
図87は、上述した図78の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部20151の構成例を示すブロック図である。なお、図87には、説明の便宜上、図78の画像変換部31に相当する画像変換部20152も図示してある。
2段差分学習部20151は、水平タップ学習部20161、水平マッピング部20162、および垂直タップ差分学習部20163により構成される。
水平タップ学習部20161は、図85の学習部20121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部20162に供給する。
水平マッピング部20162は、水平タップ学習部20161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部20161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られる水平処理画像Hを、垂直タップ差分学習部20163に供給する。なお、水平マッピング部20162には、水平タップ学習部20161などから、MPEG復号画像が供給される。
垂直タップ差分学習部20163は、水平タップ学習部20161で教師画像として用いられる原画像と、水平マッピング部20162から供給される水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
即ち、垂直タップ差分学習部20163は、原画像、MPEG復号画像、および水平処理画像Hから、後述するようにして、原画像と水平差分hとの差分である原画像−水平差分hを生成し、その原画像−水平差分hを教師画像とするとともに、MPEG復号画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部20163の、垂直タップにおける水平差分の差分学習処理は、後述する図88を参照して、詳細に説明する。
図78の画像変換部31における画像変換処理では、図87の2段差分学習部20151により求められた水平係数および垂直係数を用いることができる。
ここで、図87において、画像変換部20152は、図78の画像変換部31と同様に構成される。画像変換部20152では、次のようにして、MPEG復号画像を原画像(の予測値)に変換する画像変換処理が行われる。
即ち、画像変換部20152は、水平マッピング部20162、垂直差分マッピング部20164、および加算部20165により構成される。
水平マッピング部20162は、図79の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部20064、および水平予測演算部20101で構成される水平マッピング部20071と同様に構成される。
水平マッピング部20162は、水平タップ学習部20161での水平タップにおける学習処理により得られる水平係数を用いて、MPEG復号画像を水平処理画像Hに変換する水平マッピング処理を行い、その水平処理画像Hを、加算部20165に供給する。
垂直差分マッピング部20164は、図79の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部20068、垂直予測演算部20102、およびゲイン調整部20103で構成される垂直差分マッピング部20073と同様に構成される。
垂直差分マッピング部20164は、垂直タップ差分学習部20163での垂直タップにおける水平差分の差分学習処理により得られる垂直係数を用いて、MPEG復号画像を垂直差分vに変換する垂直差分マッピング処理を行い、その垂直差分vを、加算部20165に供給する。
加算部20165は、図79の加算部20104と同様に構成され、水平マッピング部20162から供給された水平処理画像Hと、垂直差分マッピング部20164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+v(=h+v+x1)を出力する。
次に、図88は、垂直タップにおける水平差分の差分学習処理を行う図87の垂直タップ差分学習部20163の詳細な構成例を示すブロック図である。
即ち、図88の垂直タップ差分学習部20163は、図85の原画像記憶部20131乃至係数算出部20137、モード判定部20141とそれぞれ同様に構成される原画像記憶部21131乃至係数算出部21137、モード判定部21141それぞれと、図68の差分画像生成部10233と同様に構成される差分画像生成部20233により構成される。
図88の垂直タップ差分学習部20163では、原画像と水平差分hとの差分である原画像―水平差分hを教師画像とするとともに、MPEG復号画像を生徒画像として、垂直係数を学習することから、原画像から水平マッピング処理による水平処理効果分としての水平差分hを差し引いた画像に、MPEG復号画像を変換する垂直係数が求められる。
次に、図89のフローチャートを参照して、図87の2段差分学習部20151における2段差分学習処理を説明する。
ステップS20171において、水平タップ学習部20161は、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部20162に供給する。
その後、処理は、ステップS20171からステップS20172に進み、水平マッピング部20162は、水平タップ学習部20161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部20161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部20163に供給する。
そして、処理は、ステップS20172からステップS20173に進み、垂直タップ差分学習部20163は、水平タップ学習部20161で教師画像として用いられる原画像と、水平マッピング部20162から供給された水平処理画像Hとを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
その後、2段差分学習処理は、終了される。
次に、図90のフローチャートを参照して、図89のステップS20173の、垂直タップにおける水平差分の差分学習処理の詳細を説明する。
ステップS20201乃至ステップS20206において、図70のステップS10201乃至ステップS10206と同様の処理を行い、処理は、ステップS20207に進み、ステップS20207およびステップS20208において、図86のステップS20216およびステップS20217と同様の処理を行う。
処理は、ステップS20208からステップS20209に進み、足し込み部21136は、図85の学習部20121の足し込み部20136の場合と同様にして、差分画像生成部20233から供給された教師画像の画素のうちの、注目画素に対応する画素と、垂直予測タップ抽出部21133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部21135から供給された垂直クラスコードと、モード判定部21141から供給された画素位置モードのセットごとに行う。
処理は、ステップS20209からステップS20210に進み、ステップS20210およびステップS20211について、図70のステップS10208およびステップS10209と同様の処理を行う。
そして、ステップS20211では、生徒画像において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部21136においては、ノイズ付加部21132により生成された生徒画像の画素すべてを注目画素として、図83の学習部20121と同様の足し込みを行うことにより、各垂直クラスについての正規方程式が得られた場合、足し込み部21136は、その正規方程式を、垂直タップ差分学習部20163の係数算出部21137に供給する。そして、ステップS20211からステップS20212に進み、係数算出部21137は、足し込み部21136から供給された各セットについての正規方程式を解くことにより、各セットについて、垂直係数w’nを求めて出力する。
その後、処理は、図89のステップS20173にリターンする。
次に、図91は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部20271の構成例を示すブロック図である。
2段反復学習部20271は、図87の2段差分学習部20151の水平タップ学習部20161乃至垂直タップ差分学習部20163それぞれと同様に構成される水平タップ学習部21161乃至垂直タップ差分学習部21163と、垂直マッピング部20284、および水平タップ差分学習部20285とから構成される。
垂直マッピング部20284は、水平タップ学習部21161で生徒画像として用いられるMPEG復号画像と、垂直タップ差分学習部21163から供給された垂直係数を用いて、MPEG復号画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部20285に供給する。
水平タップ差分学習部20285は、水平タップ学習部21161で教師画像として用いられる原画像と、垂直マッピング部20284から供給された垂直処理画像Vとを用いて、水平タップにおける垂直差分の差分学習処理を行い、その結果得られた水平係数を、水平マッピング部21162に供給する。
即ち、水平タップ差分学習部20285は、原画像、MPEG復号画像、および垂直処理画像Vから、後述するようにして、原画像と垂直差分vとの差分である原画像−垂直差分vを生成し、その原画像−垂直差分vを教師画像とするとともに、MPEG復号画像を生徒画像として、水平予測タップ及び水平クラスタップを用いて、水平係数を学習する、水平タップにおける垂直差分の差分学習処理を行う。
なお、水平タップ差分学習部20285の、水平タップにおける垂直差分の差分学習処理は、後述する図92を参照して、詳細に説明する。
図92は、水平タップにおける垂直差分の差分学習処理を行う図91の水平タップ差分学習部20285の詳細な構成例を示すブロック図である。
水平タップ差分学習部20285は、図88の垂直タップ差分学習部20163の原画像記憶部21131乃至係数算出部21137とそれぞれ同様に構成される原画像22131乃至係数算出部22137、および図72の差分画像生成部10293と同様に構成される差分画像生成部20293から構成される。
モード判定部22141には、水平予測タップ抽出部22133から、生徒画像における注目画素の位置情報が供給される。
モード判定部22141は、図78のモード判定部20031と同様にして、水平予測タップ抽出部22133からの位置情報に基づいて、注目画素の画素位置モードおよび領域情報を得て、足し込み部22136に供給する。
以上のように構成される水平タップ差分学習部20285では、原画像と垂直差分vとの差分である原画像―垂直差分vを教師画像とするとともに、MPEG復号画像を生徒画像として、水平係数を学習することから、原画像から垂直マッピング処理による垂直処理効果分としての垂直差分vを差し引いた画像に、MPEG復号画像を変換する水平係数が求められる。
次に、図93のフローチャートを参照して、図91の2段反復学習部20271における2段反復学習処理を説明する。
ステップS20241において、水平タップ学習部21161は、原画像を教師画像とするとともに、その原画像をMPEG符号化し、MPEG復号したMPEG復号画像を生徒画像として、水平タップにおける学習処理を行い、その結果得られた水平係数を、水平マッピング部21162に供給して、処理は、ステップS20242に進む。
ステップS20242において、水平マッピング部21162および垂直タップ差分学習部21163により、垂直係数が生成される。
即ち、ステップS20242では、ステップS20251とステップS20252の処理が行われる。
ステップS20251では、水平マッピング部21162は、水平タップ学習部21161で生徒画像として用いられるMPEG復号画像と、水平タップ学習部21161から供給される水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部21163に供給して、処理は、ステップS20252に進む。
ステップS20252において、垂直タップ差分学習部21163は、水平タップ学習部21161で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および水平マッピング部21162から供給された水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を生成する。
また、ステップS20252において、垂直タップ差分学習部21163は、生成した垂直係数を、垂直マッピング部20284に供給する。
ステップS20251およびステップS20252の処理、つまり、ステップS20242の処理が終了すると、処理は、ステップS20242からステップS20243に進み、垂直マッピング部20284および水平タップ差分学習部20285により、水平係数が生成される。
即ち、ステップS20243では、ステップS20261とステップS20262の処理が行われる。
ステップS20261において、垂直マッピング部20284は、水平タップ学習部21161で生徒画像として用いられるMPEG復号画像と、垂直タップ差分学習部21163から供給された垂直係数とを用いて垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部20285に供給して、処理は、ステップS20262に進む。
ステップS20262において、水平タップ差分学習部20285は、水平タップ学習部21161で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直マッピング部20284から供給された垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を生成する。
また、ステップS20262において、水平タップ差分学習部20285は、生成した水平係数を、水平マッピング部21162に供給する。
ステップS20261およびステップS20262の処理、つまり、ステップS20243の処理が終了すると、処理は、ステップS20243からステップS20242に戻り、水平マッピング部21162および垂直タップ差分学習部21163により、前回、水平タップ差分学習部20285により生成された水平係数に基づいて、垂直係数が生成され、以下、同様の処理が繰り返される。
即ち、ステップS20242のステップS20251では、水平マッピング部21162は、水平タップ学習部21161で生徒画像として用いられるMPEG復号画像と、水平タップ差分学習部20285から供給された水平係数とを用いて水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部21163に供給して、処理は、ステップS20252に進み、以下、同様の処理を繰り返す。
なお、図93の2段反復学習処理では、図16の2段反復学習処理の場合と同様のタイミングで終了することができる。
次に、図94のフローチャートを参照して、図93のステップS20262の、水平タップにおける垂直差分の差分学習処理を詳細に説明する。
ステップS20271乃至ステップS20276において、図72のステップS10271乃至ステップS10276と同様の処理を行い、処理は、ステップS20277に進み、ステップS20277およびステップS20278において、図86のステップS20216およびステップS20217と同様の処理を行う。
処理は、ステップS20278からステップS20279に進み、足し込み部22136は、図85の学習部20121の足し込み部20136の場合と同様にして、差分画像生成部20293から供給された教師画像の画素のうちの、注目画素に対応する画素と、水平予測タップ抽出部22133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、水平クラス分類部22135から供給された水平クラスコードと、モード判定部22141から供給された画素位置モードのセットごとに行う。
その後、処理は、ステップS20279からステップS20280に進み、ステップS20280およびステップS20281において、図74のステップS10278およびステップS10279と同様の処理を行う。
なお、ステップS20281では、生徒画像において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部22136においては、ノイズ付加部22132により生成された生徒画像の画素すべてを注目画素として、図85の学習部20121の場合と同様の足し込みを行うことにより、水平クラスと画素位置モードのセットそれぞれについての正規方程式が得られた場合、足し込み部22136は、その正規方程式を、係数算出部22137に供給する。そして、処理は、ステップS20281からステップS20282に進み、係数算出部22137は、足し込み部22136から供給された各セットについての正規方程式を解くことにより、各セットについて、水平係数wnを求めて出力する。
その後、処理は、図93のステップS20262にリターンする。
図95は、2段差分学習部20301の構成例を示すブロック図である。なお、図95には、説明の便宜上、図78の画像変換部31に相当する画像変換部20302も図示してある。
2段差分学習部20301は、垂直タップ学習部20311、垂直マッピング部20312、および水平タップ差分学習部20313により構成される。
垂直タップ学習部20311は、図85の学習部20121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部20312に供給する。
垂直マッピング部20312は、垂直タップ学習部20311で生徒画像として用いられるMPEG復号画像(に相当する画像)と、垂直タップ学習部20311から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られる垂直処理画像Vを、水平タップ差分学習部20313に供給する。なお、垂直マッピング部20312には、垂直タップ学習部20311などから、MPEG復号画像が供給される。
水平タップ差分学習部20313は、垂直タップ学習部20311で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直マッピング部20312から供給される垂直処理画像Vを用いて、水平タップにおける垂直差分の差分学習処理を行い、水平係数を学習する。
2段差分学習部20301の垂直タップ学習部20311で求められた垂直係数と、水平タップ差分学習部20313で求められた水平係数とは、図78の画像変換部31に相当する画像変換部20302での画像変換処理に用いられる。
即ち、画像変換部20302は、垂直マッピング部20312、水平差分マッピング部20314、および加算部20315により構成される。
具体的には、垂直マッピング部20312は、図79の垂直予測タップ抽出部10065、垂直クラスタップ抽出部10066、垂直クラス分類部10067、垂直係数記憶部20068、および垂直予測演算部20102で構成される垂直マッピング部20072と同様に構成される。
垂直マッピング部20312は、垂直タップ学習部20311での垂直タップにおける学習処理により得られる垂直係数を用いて、MPEG復号画像を垂直処理画像Vに変換する垂直マッピング処理を行い、その垂直処理画像Vを、加算部20315に供給する。
水平差分マッピング部20314は、図84の水平予測タップ抽出部10061、水平クラスタップ抽出部10062、水平クラス分類部10063、水平係数記憶部20064、水平予測演算部20101、およびゲイン調整部20112で構成される水平差分マッピング部20111と同様に構成される。
水平差分マッピング部20314は、水平タップ差分学習部20313での水平タップにおける垂直差分の差分学習処理により得られる水平係数を用いて、MPEG復号画像を水平差分hに変換する水平差分マッピング処理を行い、その水平差分hを、加算部20315に供給する。
加算部20315は、図79の加算部20104と同様に構成され、垂直マッピング部20312から供給された垂直処理画像Vと、水平差分マッピング部20314から供給された水平差分hとを加算し、その結果得られた垂直水平処理画像V+hを出力する。
図96は、水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部20331の構成例を示すブロック図である。
2段反復学習部20331は、図95の垂直タップ学習部20311乃至水平タップ差分学習部20313それぞれと同様に構成される垂直タップ学習部21311乃至水平タップ差分学習部21313それぞれと、水平マッピング部20324、および垂直タップ差分学習部20325により構成される。
水平マッピング部20324には、水平タップ差分学習部21313から、水平係数が供給される。
水平マッピング部20324は、垂直タップ学習部21311で生徒画像として用いられるMPEG復号画像と、水平タップ差分学習部21313から供給された水平係数とを用いて、MPEG復号画像を水平処理画像Hに変換する水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部20325に供給する。
垂直タップ差分学習部20325は、垂直タップ学習部21311で生徒画像として用いられるMPEG復号画像の画素値x1を、水平マッピング部20324から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、垂直タップ差分学習部20325は、垂直タップ学習部21311で教師画像として用いられる原画像から、生成した水平差分hを差し引くことで得られる画像である原画像―水平差分hを教師画像とするとともに、垂直タップ学習部21311で生徒画像として用いられるMPEG復号画像を生徒画像として、垂直タップにおける水平差分の差分学習処理を行い、その結果得られた垂直係数を、垂直マッピング部21312に供給する。
垂直タップ差分学習部20325により垂直係数が求められると、以降、垂直マッピング部21312は、垂直タップ学習部21311で生徒画像として用いられるMPEG復号画像(に相当する画像)と、垂直タップ差分学習部20325から供給された垂直係数とを用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、水平タップ差分学習部21313に供給する。
図97は、図1の画像変換部31の第8の構成例を示すブロック図である。
図97の画像変換部31は、モード判定部30031、30032、30033、水平予測タップ抽出部30061、水平クラスタップ抽出部30062、水平クラス分類部30063、水平係数記憶部30064、垂直予測タップ抽出部30065、垂直クラスタップ抽出部30066、垂直クラス分類部30067、垂直係数記憶部30068、斜め予測タップ抽出部30431、斜めクラスタップ抽出部30432、斜めクラス分類部30433、斜め係数記憶部30434、および予測演算部30435により構成される。
なお、水平予測タップ抽出部30061、垂直予測タップ抽出部30065、モード判定部30031,30032それぞれは、図78の水平予測タップ抽出部10061、垂直予測タップ抽出部10065、モード判定部10031,10032それぞれと同様に構成される。
水平クラスタップ抽出部30062は、水平クラスタップを、供給されてくるMPEG復号画像から抽出する。
即ち、水平クラスタップ抽出部30062は、図78の水平差分クラスタップ抽出部10062a、垂直差分クラスタップ抽出部10062b、ブロック抽出部10062cそれぞれと同様に構成される水平差分クラスタップ抽出部30062a、垂直差分クラスタップ抽出部30062b、ブロック抽出部30062dそれぞれと、斜め差分クラスタップ抽出部30062cにより構成される。
水平クラスタップ抽出部30062の斜め差分クラスタップ抽出部30062cは、例えば、注目画素と、その注目画素の斜め方向に位置する複数の画素である5画素の斜め方向のタップ423(図25)を、斜め予測タップ抽出部30431が抽出する斜め予測タップのクラスを表すクラスコードの一部である斜め差分クラスコードを生成するのに用いる複数の画素である斜め差分クラスタップとして、供給されてくるMPEG復号画像から抽出する。
水平クラスタップ抽出部30062において得られる、水平予測タップに対応する水平クラスタップは、水平クラス分類部30063に供給される。水平クラス分類部30063は、水平クラスタップ抽出部30062からの水平クラスタップに基づいて水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部30064に出力する。
水平係数記憶部30064は、後述する学習によってあらかじめ求められた水平クラスごとの水平係数のセットを記憶しており、その記憶している水平係数のセットのうちの、水平クラス分類部30063から供給された水平クラスコードに対応するアドレスに記憶されている水平係数(水平クラス分類部30063から供給された水平クラスコードが表す水平クラスに対応する水平係数)を、予測演算部30435に出力する。
垂直クラスタップ抽出部30066は、垂直クラスタップを、供給されてくるMPEG復号画像から抽出する。なお、垂直クラスタップ抽出部30066は、上述した水平クラスタップ抽出部30062の水平差分クラスタップ抽出部30062a、垂直差分クラスタップ抽出部30062b、斜め差分クラスタップ抽出部30062c、ブロック抽出部30062dそれぞれと同様に構成される水平差分クラスタップ抽出部30066a、垂直差分クラスタップ抽出部30066b、斜め差分クラスタップ抽出部30066c、ブロック抽出部30066dにより構成される。
垂直クラスタップ抽出部30066において得られる、垂直予測タップに対応する垂直クラスタップは、垂直クラス分類部30067に供給される。垂直クラス分類部30067は、垂直クラスタップ抽出部30066からの垂直クラスタップに基づいて垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部30068に出力する。
垂直係数記憶部30068は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットを記憶しており、その記憶している水平係数のセットのうちの、垂直クラス分類部30067から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数(垂直クラス分類部30067から供給された垂直クラスコードが表す垂直クラスに対応する垂直係数)を、予測演算部30435に出力する。
斜めクラスタップ抽出部30432は、斜めクラスタップを、供給されてくるMPEG復号画像から抽出する。なお、斜めクラスタップ抽出部30432は、上述した水平クラスタップ抽出部30062の水平差分クラスタップ抽出部30062a、垂直差分クラスタップ抽出部30062b、斜め差分クラスタップ抽出部30062c、ブロック抽出部30062dそれぞれと同様に構成される水平差分クラスタップ抽出部30432a、垂直差分クラスタップ抽出部30432b、斜め差分クラスタップ抽出部30432c、ブロック抽出部30432dにより構成される。
斜めクラスタップ抽出部30432において得られる、斜め予測タップに対応する斜めクラスタップは、斜めクラス分類部30433に供給される。斜めクラス分類部30433は、斜めクラスタップ抽出部30432からの斜めクラスタップに基づいて斜め予測タップを斜めクラス分類し、その結果得られた斜めクラスに対応する斜めクラスコードを、斜め係数記憶部30434に出力する。
斜め係数記憶部30434は、後述する学習によってあらかじめ求められた斜めクラスごとの斜め係数のセットを記憶しており、その記憶している斜め係数のセットのうちの、斜めクラス分類部30433から供給された斜めクラスコードに対応するアドレスに記憶されている斜め係数(斜めクラス分類部30433から供給された斜めクラスコードが表す斜めクラスに対応する斜め係数)を、予測演算部30435に出力する。
予測演算部30069は、水平予測タップ抽出部30061から供給された水平予測タップ、垂直予測タップ抽出部30065から供給された垂直予測タップ、水平係数記憶部30064から供給された水平係数、垂直係数記憶部30068から供給された垂直係数、斜め予測タップ抽出部30431から供給された斜め予測タップ、斜め係数記憶部30434から供給された斜め係数、およびモード判定部30031乃至30033から供給された注目画素の画素位置モードおよび領域情報に基づいて、所定の予測演算を行うことにより、注目画素に対応する、ノイズ除去画像の画素の画素値(の予測値)を求めて出力する。
図98は、図97の水平クラス分類部30063の詳細な構成例を示すブロック図である。
水平クラス分類部30063は、図49の差分絶対値算出部11011乃至垂直差分クラスコード生成部11016それぞれと同様に構成される差分絶対値算出部31011乃至垂直差分クラスコード生成部31016それぞれと、斜め差分クラスコード生成部31017、垂直斜め差分ゼロクラスコード生成部31018、および水平クラスコード出力部31019により構成される。
斜め差分クラスコード生成部31017には、斜め差分クラスコードの生成に用いる閾値が、閾値選択部31014から供給される。
即ち、図51左下側で示されるように、閾値選択部31014において、そこに供給される水平エッジ検出フラグと垂直エッジ検出フラグがともに0であると判定された場合、閾値Th_hとTh_vのうちの、値の小さいほうの閾値が選択され、水平差分クラスコード生成部31015乃至斜め差分クラスコード生成部31017に供給される。
また、閾値選択部31014において、そこに供給される水平エッジ検出フラグが1であり垂直エッジ検出フラグが0であると判定された場合、供給されてくる閾値Th_hとTh_vから閾値Th_hが選択され、水平差分クラスコード生成部31015乃至斜め差分クラスコード生成部31017に供給される。
さらに、閾値選択部31014において、そこに供給される水平エッジ検出フラグが0であり垂直エッジ検出フラグが1であると判定された場合、供給されてくる閾値Th_hとTh_vから閾値Th_vが選択され、水平差分クラスコード生成部31015乃至斜め差分クラスコード生成部31017に供給される。
また、閾値選択部31014において、そこに供給される水平エッジ検出フラグと垂直エッジ検出フラグがともに1であると判定された場合、供給されてくる閾値Th_hとTh_vから閾値Th_hが選択され、水平差分クラスコード生成部11015に供給されるとともに、供給されてくる閾値Th_hとTh_vから閾値Th_vが選択され、垂直差分クラスコード生成部11016に供給され、さらに、供給されてくる閾値Th_hとTh_vのうちの、値の大きいほうの閾値が選択され、斜め差分クラスコード生成部31017に供給される。
また、斜め差分クラスコード生成部31017には、斜め差分クラスタップ抽出部30062cから、斜め差分クラスタップが供給される。
斜め差分クラスコード生成部31017は、そこに供給される斜め差分クラスタップと、閾値選択部31014から供給される閾値を用いて、斜め予測タップのクラスを表すクラスコードの一部である斜め差分クラスコードを生成し、垂直斜め差分ゼロクラスコード生成部31018に出力する。なお、斜め方向のタップ423としての斜め差分クラスタップにおいては、注目画素と、その注目画素の斜め方向に隣接する画素とで画素間差分をとることで、斜め差分クラスコードを生成することができる。
垂直斜め差分ゼロクラスコード生成部31018には、垂直差分クラスコード生成部31016から、垂直差分クラスコードが供給される。
垂直斜め差分ゼロクラスコード生成部31018は、斜め差分クラスコード生成部31017から供給される斜め差分クラスコードを構成するすべてのビットと、垂直差分クラスコード生成部31016から供給される垂直差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた1ビットを、垂直斜め差分ゼロクラスコードとして設定し、水平クラスコード出力部31019に供給する。
即ち、例えば、垂直斜め差分ゼロクラスコード生成部31018は、0と1とのビット列で表される、垂直差分クラスコードと斜め差分クラスコードが、すべて0で構成されるビット列であると判定した場合、垂直斜め差分ゼロクラスコードを0に設定し、1を含むビット列であると判定した場合、垂直斜め差分ゼロクラスコードを1に設定して、水平クラスコード出力部31019に供給する。
水平クラスコード出力部31019は、フィールドフラグ抽出部31012から供給されるフィールドフラグ、ノイズ検出フラグ判定部31013から供給されるノイズ検出フラグ、垂直斜め差分ゼロクラスコード生成部31018から供給される垂直斜め差分ゼロクラスコード、および水平差分クラスコード生成部31015から供給される水平差分クラスコードの両端の1ビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、水平係数記憶部30064に出力する。
なお、水平クラスコード出力部31019は、水平差分クラスコード生成部31015から供給される水平差分クラスコードの両端の1ビットを削除することで得られるコードではなく、水平差分クラスコードそのものを、水平クラスコードの一部とすることができる。
図99は、図98の水平クラスコード出力部31019が出力する水平クラスコードを示す図である。
水平クラスコード出力部31019は、フィールドフラグ抽出部31012から供給されるフィールドフラグ、ノイズ検出フラグ判定部31013から供給されるノイズ検出フラグ、垂直斜め差分ゼロクラスコード生成部31018から供給される垂直斜め差分ゼロクラスコード、および水平差分クラスコード生成部31015から供給される水平差分クラスコードの両端の1ビットそれぞれを削除したコードを、図に示すように、左から右に並べ、その結果得られるコードを、水平クラスコードとして出力する。
図100は、図97の垂直クラス分類部30067の詳細な構成例を示すブロック図である。
垂直クラス分類部30067は、図98の差分絶対値算出部31011乃至閾値選択部31014それぞれと同様に構成される差分絶対値算出部31031乃至閾値選択部31034それぞれと、図98の垂直差分クラスコード生成部31016、水平差分クラスコード生成部31015、斜め差分クラスコード生成部31017それぞれと同様に構成される垂直差分クラスコード生成部31035、水平差分クラスコード生成部31036、斜め差分クラスコード生成部31037それぞれと、水平斜め差分ゼロクラスコード生成部310138と、垂直クラスコード出力部31039により構成される。
水平斜め差分ゼロクラスコード生成部31038には、水平差分クラスコード生成部31036から水平差分クラスコードが、斜め差分クラスコード生成部31037から斜め差分クラスコードが、それぞれ、供給される。
水平斜め差分ゼロクラスコード生成部31038は、水平差分クラスコード生成部31036から供給される水平差分クラスコードを構成するすべてのビットと、斜め差分クラスコード生成部31037から供給される斜め差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた値を、水平斜め差分ゼロクラスコードとして、垂直クラスコード出力部31039に供給する。
垂直クラスコード出力部31039は、フィールドフラグ抽出部31032から供給されるフィールドフラグ、ノイズ検出フラグ判定部31033から供給されるノイズ検出フラグ、水平斜め差分ゼロクラスコード生成部31038から供給される水平斜め差分ゼロクラスコード、および垂直差分クラスコード生成部31035から供給される垂直差分クラスコードの両端の1ビットを削除することで得られるコードを、この順番で左から右に並べて、垂直クラスコードとして、垂直係数記憶部30068に出力する。
なお、垂直クラスコード出力部31038は、垂直差分クラスコード生成部31035から供給される垂直差分クラスコードの両端の1ビットを削除することで得られるコードではなく、垂直差分クラスコードそのものを、垂直クラスコードの一部とすることができる。
図101は、図100の垂直クラスコード出力部31039が出力する垂直クラスコードを示す図である。
垂直クラスコード出力部31039は、フィールドフラグ抽出部31032から供給されるフィールドフラグ、ノイズ検出フラグ判定部31033から供給されるノイズ検出フラグ、水平斜め差分ゼロクラスコード生成部31038から供給される水平斜め差分ゼロクラスコード、および垂直差分クラスコード生成部31035から供給される垂直差分クラスコードの両端の1ビットそれぞれを削除したコードを、図に示すように、左から右に並べ、その結果得られるコードを、垂直クラスコードとして出力する。
図102は、図97の斜めクラス分類部30433の詳細な構成例を示すブロック図である。
斜めクラス分類部30067は、図98の差分絶対値算出部31011乃至閾値選択部31014それぞれと同様に構成される差分絶対値算出部31041乃至閾値選択部31044それぞれと、図98の斜め差分クラスコード生成部31017、水平差分クラスコード生成部31015、垂直差分クラスコード生成部31016それぞれと同様に構成される斜め差分クラスコード生成部31045、水平差分クラスコード生成部31046、垂直差分クラスコード生成部31047それぞれと、水平垂直差分ゼロクラスコード生成部31048と、斜めクラスコード出力部31049により構成される。
水平垂直差分ゼロクラスコード生成部31048には、水平差分クラスコード生成部31046から水平差分クラスコードが、垂直差分クラスコード生成部31047から垂直差分クラスコードが、それぞれ、供給される。
水平垂直差分ゼロクラスコード生成部31048は、水平差分クラスコード生成部31046から供給される水平差分クラスコードを構成するすべてのビットと、垂直差分クラスコード生成部31047から供給される垂直差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた値を、水平垂直差分ゼロクラスコードとして、斜めクラスコード出力部31049に供給する。
斜めクラスコード出力部31049は、フィールドフラグ抽出部31042から供給されるフィールドフラグ、ノイズ検出フラグ判定部31043から供給されるノイズ検出フラグ、水平垂直差分ゼロクラスコード生成部31048から供給される水平垂直差分ゼロクラスコード、および斜め差分クラスコード生成部31045から供給される斜め差分クラスコードを、この順番で左から右に並べて、斜めクラスコードとして、斜め係数記憶部30434に出力する。
図103は、図102の斜めクラスコード出力部31049が出力する斜めクラスコードを示す図である。
斜めクラスコード出力部31049は、フィールドフラグ抽出部31042から供給されるフィールドフラグ、ノイズ検出フラグ判定部31043から供給されるノイズ検出フラグ、水平垂直差分ゼロクラスコード生成部31048から供給される水平垂直差分ゼロクラスコード、および斜め差分クラスコード生成部31045から供給される斜め差分クラスコードを、図に示すように、左から右に並べ、その結果得られるコードを、斜めクラスコードとして出力する。
図104は、図97の予測演算部30435の詳細な構成例を示すブロック図である。
図104の予測演算部30435は、図79の水平予測演算部20101乃至加算部20104それぞれと同様に構成される水平予測演算部30101乃至加算部30104と、斜め予測演算部30461、ゲイン調整部30462、および加算部30463により構成される。
斜め予測演算部30461には、斜め係数記憶部30434から複数の斜め係数、斜め予測タップ抽出部30431から斜め予測タップ、さらには、モード判定部30033から注目画素の画素位置モードおよび領域情報が供給される。
斜め予測演算部30461は、斜め係数記憶部30434から供給された複数の斜め係数の中から、モード判定部30033から供給された注目画素の画素位置モードに対応する斜め係数を取得する。
また、斜め予測演算部30461は、取得した斜め係数と、斜め予測タップ抽出部30431からの斜め予測タップx’’nとを用いて、モード判定部30033からの注目画素の領域情報に対応した斜め予測演算を行い、その結果得られた斜め画素の画素値Rを、ゲイン調整部30462に供給する。
ゲイン調整部30462には、斜め予測タップ抽出部30431から、注目画素の画素値x1が供給される。
ゲイン調整部30462は、斜め予測演算部30461から供給された画素値Rから、斜め予測タップ抽出部30431から供給された注目画素の画素値x1を差し引くことで、ゲイン調整演算を行い、その結果得られた画素値である斜め差分rを加算部30463に供給する。
なお、加算部30463には、加算部30104から、画素値H+vが供給される。
加算部30463は、加算部30104から供給された画素値H+vと、ゲイン調整部30462から供給された斜め差分rとを加算し、その結果得られた画素値H+v+rを、ノイズ除去画像を予測した画素値yとして出力する。
なお、図105乃至図143を参照して説明する本実施の形態においては、図1乃至図96を参照して説明してきた本実施の形態の説明において用いてきた用語を、説明の都合上、以下、適宜、定義し直すことをしている。
ここで、図104の水平予測タップ抽出部30061、水平クラスタップ抽出部30062、水平クラス分類部30063、水平係数記憶部30064、水平予測演算部30101、およびモード判定部30031を総称して水平マッピング部30071といい、その水平マッピング部30071が、水平係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、水平画素の画素値Hに変換する処理を、以下、適宜、水平マッピング処理という。
さらに、図104の垂直予測タップ抽出部30065、垂直クラスタップ抽出部30066、垂直クラス分類部30067、垂直係数記憶部30068、垂直予測演算部30102、およびモード判定部30032を総称して垂直マッピング部30072といい、その垂直マッピング部30072が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直画素の画素値Vに変換する処理を、以下、適宜、垂直マッピング処理という。
また、図104の垂直予測タップ抽出部30065、垂直クラスタップ抽出部30066、垂直クラス分類部30067、垂直係数記憶部30068、垂直予測演算部30102、ゲイン調整部30103、およびモード判定部30032を総称して垂直差分マッピング部30073といい、その垂直差分マッピング部30073が、垂直係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、垂直差分vに変換する処理を、以下、適宜、垂直差分マッピング処理という。
さらに、図104の斜め予測タップ抽出部30431、斜めクラスタップ抽出部30432、斜めクラス分類部30433、斜め係数記憶部30434、斜め予測演算部30461、およびモード判定部30033を総称して斜めマッピング部30471といい、その斜めマッピング部30471が、斜め係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、斜め画素の画素値Rに変換する処理を、以下、適宜、斜めマッピング処理という。
また、図104の斜め予測タップ抽出部30431、斜めクラスタップ抽出部30432、斜めクラス分類部30433、斜め係数記憶部30434、斜め予測演算部30461、ゲイン調整部30462、およびモード判定部30033を総称して斜め差分マッピング部30472といい、その斜め差分マッピング部30472が、斜め係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、斜め差分rに変換する処理を、以下、適宜、斜め差分マッピング処理という。
次に、図105のフローチャートを参照して、図97の画像変換部31における画像変換処理を説明する。
この画像変換処理は、例えば、MPEG-2などにより、8×8画素のブロック単位でMPEG符号化されたMPEG符号化画像が、チューナで受信される放送番組の画像や、記録媒体から再生される画像として供給されたときに開始される。このとき、MPEG符号化画像は、図示せぬデコーダによりMPEG復号され、MPEG復号画像として、水平予測タップ抽出部30061、水平クラスタップ抽出部30062、垂直予測タップ抽出部30065、垂直クラスタップ抽出部30066、斜め予測タップ抽出部30431、および斜めクラスタップ抽出部30432に供給される。
ステップS30311において、水平マッピング部30071の水平予測タップ抽出部30061は、そこに供給されたMPEG復号画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックに含まれる画素を、順次、注目画素として、処理は、ステップS30312に進む。
ステップS30312において、水平マッピング部30071は、注目画素について水平マッピング処理を行い、その結果得られた水平処理画像Hを、加算部30104に供給して、処理は、ステップS30313に進み、垂直差分マッピング部30073は、注目画素について垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部30104に供給して、処理は、ステップS30314に進む。
ステップS30314において、加算部30104は、水平マッピング部30071からの水平処理画像Hと、垂直差分マッピング部30073からの垂直差分vとを加算し、画素値H+vを得て、加算部30463に供給する。
その後、処理は、ステップS30314からステップS30315に進み、斜め差分マッピング部30472(図104)は、注目画素について斜め差分マッピング処理を行い、その結果得られた斜め差分rを、加算部30463に供給して、処理は、ステップS30316に進む。
ステップS30316において、加算部30463は、加算部30104からの水平垂直処理画像H+vと、斜め差分マッピング部30472からの斜め差分rとを加算し、注目画素に対応する、ノイズ除去画像の画素値y=H+v+rを得て出力する。
その後、ステップS30316からステップS30317に進み、水平マッピング部30071の水平予測タップ抽出部30061は、注目ブロックの画素すべてを、注目画素としたか否かを判定する。
ステップS30317において、注目ブロックの画素すべてを、注目画素としていないと判定された場合、処理は、ステップS30311に戻り、水平マッピング部30071の水平予測タップ抽出部30061は、まだ注目画素とされていない注目ブロックの画素のうちの1つを、新たな注目画素とし、処理は、ステップS30312に進み、以下、同様の処理を繰り返す。
ステップS30317において、注目ブロックの画素すべてを、注目画素としたと判定された場合、処理は、ステップS30318に進み、水平マッピング部30071の水平予測タップ抽出部30061は、MPEG復号画像の8×8画素のブロックすべてを注目ブロックとしたか否かを判定する。
ステップS30318において、MPEG復号画像の8×8画素のブロックすべてを注目ブロックとしていないと判定された場合、処理は、ステップS30311に戻り、水平マッピング部30071の水平予測タップ抽出部30061は、まだ注目ブロックとされていないMPEG復号画像の8×8画素のブロックのうちの1つを、新たな注目ブロックとし、注目ブロックの画素のうちの1つを、新たな注目画素として、処理は、ステップS30312に進み、以下、同様の処理を繰り返す。
一方、ステップS30318において、MPEG復号画像の8×8画素のブロックすべてを注目ブロックとしたと判定された場合、画像変換処理は終了される。
次に、図106のフローチャートを参照して、図105のステップS30312における水平マッピング処理の詳細を説明する。
ステップS30061において、水平マッピング部30071の水平予測タップ抽出部30061は、図82のステップS20061と同様の処理を行い、処理は、ステップS30062に進み、水平マッピング部30071の水平クラスタップ抽出部30062は、水平クラスタップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素のタップ、注目画素を中心として垂直方向に並ぶ9画素のタップ、注目画素と、注目画素の周りに位置する5画素のタップ、および注目ブロックに含まれる画素すべてを、供給されてくるMPEG復号画像から抽出し、水平クラス分類部30063に供給する。
処理は、ステップS30062からステップS30063に進み、水平マッピング部30071の水平クラス分類部30063は、水平クラスタップ抽出部30062からの水平クラスタップに基づき、水平予測タップを水平クラス分類し、その結果得られた水平クラスに対応する水平クラスコードを、水平係数記憶部30064に出力する。
処理は、ステップS30063からステップS30064に進み、ステップS30064乃至ステップS30067において、図82のステップS20064乃至ステップS20067と同様の処理を行う。その後、処理は、図105のステップS30312にリターンして、その後の処理を行う。
次に、図107のフローチャートを参照して、図106のステップS30063の水平クラス分類における処理の詳細を説明する。
ステップS30071において、差分絶対値算出部31011は、そこに供給される注目ブロックを構成する水平方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分と、注目ブロックを構成する垂直方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。
ステップS30071の処理後、処理は、ステップS30072に進み、差分絶対値算出部31011は、求めた水平画素間差分と垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコード、斜め差分クラスコードの生成に用いる閾値Th_hやTh_vを算出するとともに、水平エッジ検出フラグと垂直エッジ検出フラグを設定する。
そして、差分絶対値算出部31011は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ判定部31013に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部31014に供給する。
また、閾値選択部31014は、差分絶対値算出部31011から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部31011から供給される閾値Th_hとTh_vから、水平差分クラスコードの生成に用いる閾値、垂直差分クラスコードの生成に用いる閾値、および斜め差分クラスコードの生成に用いる閾値を選択し、水平差分クラスコードの生成に用いる閾値を、水平差分クラスコード生成部31015に供給し、垂直差分クラスコードの生成に用いる閾値を、垂直差分クラスコード生成部31016に供給するとともに、斜め差分クラスコードの生成に用いる閾値を、斜め差分クラスコード生成部31017に供給する。
その後、処理は、ステップS30072からステップS30073に進み、水平差分クラスコード生成部31015は、水平差分クラスタップ抽出部30062aから供給される水平差分クラスタップと、閾値選択部31014から供給される閾値を用いて、水平予測タップのクラスを表すクラスコードの一部である水平差分クラスコードを生成し、水平クラスコード出力部31019に出力する。
処理は、ステップS30073からステップS30074に進み、垂直差分クラスコード生成部31016は、垂直差分クラスタップ抽出部30062bから供給される垂直差分クラスタップと、閾値選択部31014から供給される閾値を用いて、垂直予測タップのクラスを表すクラスコードの一部である垂直差分クラスコードを生成し、垂直差分ゼロクラスコード生成部31018に出力する。
また、ステップS30074において、斜め差分クラスコード生成部31017は、斜め差分クラスタップ抽出部30062cから供給される斜め差分クラスタップと、閾値選択部31014から供給される閾値を用いて、斜め予測タップのクラスを表すクラスコードの一部である斜め差分クラスコードを生成し、垂直斜め差分ゼロクラスコード生成部31018に出力する。
さらに、ステップS30074において、垂直斜め差分ゼロクラスコード生成部31018は、垂直差分クラスコード生成部31016から供給される垂直差分クラスコードを構成するすべてのビットと、斜め差分クラスコード生成部31017から供給される斜め差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた値を、垂直斜め差分ゼロクラスコードとして設定し、水平クラスコード出力部31019に供給する。
処理は、ステップS30074からステップS30075に進み、フィールドフラグ抽出部31012は、ブロック抽出部30062dから供給される注目ブロックから、フィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定し、水平クラスコード出力部31019に供給する。
処理は、ステップS30075からステップS30076に進み、ノイズ検出フラグ判定部31013は、差分絶対値算出部31011から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、ノイズ検出フラグを設定し、水平クラスコード出力部31019に供給する。
処理は、ステップS30076からステップS30077に進み、水平クラスコード出力部31019は、フィールドフラグ抽出部31012から供給されるフィールドフラグ、ノイズ検出フラグ判定部31013から供給されるノイズ検出フラグ、垂直斜め差分ゼロクラスコード生成部31018から供給される垂直斜め差分ゼロクラスコード、水平差分クラスコード生成部31015から供給される水平差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、水平係数記憶部30064に出力する。
その後、処理は、図106のステップS30063にリターンする。
次に、図108のフローチャートを参照して、図105におけるステップS30313の垂直差分マッピング処理を詳細に説明する。
ステップS30091において、垂直差分マッピング部30073の垂直予測タップ抽出部30065は、垂直予測タップ、即ち、例えば、注目画素を中心として垂直方向に並ぶ9画素である垂直方向のタップ42を、供給されてくるMPEG復号画像から抽出し、予測演算部30435(図104の垂直予測演算部30102)に供給する。
処理は、ステップS30091からステップS30092に進み、垂直差分マッピング部30073の垂直クラスタップ抽出部30066は、垂直クラスタップ、即ち、例えば、注目画素を中心として垂直方向に並ぶ9画素、注目画素を中心として水平方向に並ぶ9画素、注目画素と、その注目画素の周りに位置する画素である5画素、および注目ブロックの画素すべてを、供給されてくるMPEG復号画像から抽出し、垂直クラス分類部30067に供給する。
処理は、ステップS30092からステップS30093に進み、垂直差分マッピング部30073の垂直クラス分類部30067は、垂直クラスタップ抽出部30066からの垂直クラスタップに基づき、垂直予測タップを垂直クラス分類し、その結果得られた垂直クラスに対応する垂直クラスコードを、垂直係数記憶部30068に出力する。
処理は、ステップS30093からステップS30094に進み、垂直差分マッピング部30073の垂直係数記憶部30068は、後述する学習によってあらかじめ求められた垂直クラスごとの垂直係数のセットのうちの、垂直クラス分類部30067から供給された垂直クラスコードに対応するアドレスに記憶されている垂直係数w’nを、予測演算部30435(図104の垂直予測演算部30102)に出力する。
処理は、ステップS30094からステップS30095に進み、垂直差分マッピング部30073のモード判定部30032は、垂直予測タップ抽出部30065から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の画素位置モードを判定し、垂直予測演算部30102に供給する。なお、モード判定部30032には、垂直予測タップ抽出部30065から、注目画素の位置情報が供給される。
処理は、ステップS30095からステップS30096に進み、さらに、垂直差分マッピング部30073のモード判定部30032は、垂直予測タップ抽出部30065から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、または右下領域のうちのいずれかの領域に位置するかを表す領域情報を判定し、その結果得られた領域情報を、垂直予測演算部30102に供給して、処理は、ステップS20097に進む。
ステップS20097において、垂直差分マッピング部30073の垂直予測演算部30102は、垂直係数記憶部30068から供給された複数の垂直係数の中から、モード判定部30032から供給された画素位置モードに対応する垂直係数を取得し、その垂直係数と、垂直予測タップ抽出部30065からの垂直予測タップとを用いて、モード判定部30032からの領域情報に対応した垂直予測演算を行い、その結果得られた垂直処理画像Vを、ゲイン調整部30103に供給する。
処理は、ステップS30097からステップS30098に進み、ゲイン調整部30103は、垂直予測演算部300102から供給された垂直処理画像Vから、垂直予測タップ抽出部30065から供給された注目画素の画素値x1を差し引くことで、ゲイン調整演算を行い、その結果得られた画素値である垂直差分vを加算部300104に供給する。なお、ゲイン調整部30103には、垂直予測タップ抽出部30065から、MPEG復号画像の注目画素の画素値x1が供給される。
その後、処理はステップS30098から図105のステップS30313にリターンして、その後の処理を行う。
次に、図109のフローチャートを参照して、図108のステップS30093における垂直クラス分類の処理を、詳細に説明する。
ステップS30101において、差分絶対値算出部31031は、そこに供給される注目ブロックを構成する水平方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分と、注目ブロックを構成する垂直方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。
ステップS30101の処理後、処理は、ステップS30102に進み、差分絶対値算出部31031は、求めた水平画素間差分と垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコード、斜め差分クラスコードの生成に用いる閾値Th_hやTh_vを算出するとともに、水平エッジ検出フラグと垂直エッジ検出フラグを設定する。
そして、差分絶対値算出部31031は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ判定部31033に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部31034に供給する。
また、閾値選択部31034は、差分絶対値算出部31031から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部31031から供給される閾値Th_hとTh_vから、水平差分クラスコードの生成に用いる閾値、垂直差分クラスコードの生成に用いる閾値、および斜め差分クラスコードの生成に用いる閾値を選択し、垂直差分クラスコードの生成に用いる閾値を、垂直差分クラスコード生成部31035に供給し、水平差分クラスコードの生成に用いる閾値を、水平差分クラスコード生成部31036に供給するとともに、斜め差分クラスコードの生成に用いる閾値を、斜め差分クラスコード生成部31037に供給する。
その後、処理は、ステップS30102からステップS30103に進み、垂直差分クラスコード生成部31035は、垂直差分クラスタップ抽出部30066bから供給される垂直差分クラスタップと、閾値選択部31034から供給される閾値を用いて、垂直予測タップのクラスを表すクラスコードの一部である垂直差分クラスコードを生成し、垂直クラスコード出力部31039に出力する。
処理は、ステップS30103からステップS30104に進み、水平差分クラスコード生成部31036は、水平差分クラスタップ抽出部30066aから供給される水平差分クラスタップと、閾値選択部31034から供給される閾値を用いて、水平予測タップのクラスを表すクラスコードの一部である水平差分クラスコードを生成し、水平斜め差分ゼロクラスコード生成部31038に出力する。
また、ステップS30104において、斜め差分クラスコード生成部31037は、斜め差分クラスタップ抽出部30066cから供給される斜め差分クラスタップと、閾値選択部31034から供給される閾値を用いて、斜め予測タップのクラスを表すクラスコードの一部である斜め差分クラスコードを生成し、水平斜め差分ゼロクラスコード生成部31038に出力する。
さらに、ステップS30104において、水平斜め差分ゼロクラスコード生成部31038は、水平差分クラスコード生成部31036から供給される水平差分クラスコードを構成するすべてのビットと、斜め差分クラスコード生成部31037から供給される斜め差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた値を、水平斜め差分ゼロクラスコードとして設定し、垂直クラスコード出力部31039に供給する。
処理は、ステップS30104からステップS30105に進み、フィールドフラグ抽出部31032は、ブロック抽出部30062dから供給される注目ブロックから、フィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定し、垂直クラスコード出力部31039に供給する。
処理は、ステップS30105からステップS30106に進み、ノイズ検出フラグ判定部31033は、差分絶対値算出部31031から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、ノイズ検出フラグを設定し、垂直クラスコード出力部31039に供給する。
処理は、ステップS30106からステップS30107に進み、垂直クラスコード出力部31039は、フィールドフラグ抽出部31032から供給されるフィールドフラグ、ノイズ検出フラグ判定部31033から供給されるノイズ検出フラグ、水平斜め差分ゼロクラスコード生成部31038から供給される水平斜め差分ゼロクラスコード、垂直差分クラスコード生成部31035から供給される垂直差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、垂直クラスコードとして、垂直係数記憶部30068に出力する。
その後、処理は、図108のステップS30093にリターンする。
次に、図110のフローチャートを参照して、図105のステップS30315における斜め差分マッピング処理を詳細に説明する。
ステップS30191において、斜め差分マッピング部30472の斜め予測タップ抽出部30431は、斜め予測タップ、即ち、例えば、注目画素と、注目画素の斜め方向に位置する画素である5画素の斜め方向のタップ423を、供給されてくるMPEG復号画像から抽出し、予測演算部30435(図104の斜め予測演算部30461)に供給する。
処理は、ステップS30191からステップS30192に進み、斜め差分マッピング部30471の斜めクラスタップ抽出部30432は、斜めクラスタップ、即ち、例えば、注目画素を中心として水平方向に並ぶ9画素のタップ、注目画素を中心として垂直方向に並ぶ9画素のタップ、注目画素と、注目画素の周りに位置する5画素のタップ、および注目ブロックに含まれる画素すべてを、供給されてくるMPEG復号画像から抽出し、斜めクラス分類部30433に供給する。
処理は、ステップS30192からステップS30193に進み、斜め差分マッピング部30471の斜めクラス分類部30433は、斜めクラスタップ抽出部30432からの斜めクラスタップに基づき、斜め予測タップを斜めクラス分類し、その結果得られた斜めクラスに対応する斜めクラスコードを、斜め係数記憶部30434に出力する。
処理は、ステップS30193からステップS30194に進み、斜め差分マッピング部30471の斜め係数記憶部30434は、後述する学習によってあらかじめ求められた斜めクラスごとの斜め係数のセットのうちの、斜めクラス分類部30433から供給された斜めクラスコードに対応するアドレスに記憶されている斜め係数すべてを、予測演算部30435(図104の斜め予測演算部30461)に出力する。
処理は、ステップS30194からステップS30195に進み、斜め差分マッピング部30472のモード判定部30033は、斜め予測タップ抽出部30431から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素の画素位置モードを判定し、斜め予測演算部30461に供給する。なお、モード判定部30033には、斜め予測タップ抽出部30431から、注目画素の位置情報が供給される。
処理は、ステップS30195からステップS30196に進み、さらに、斜め差分マッピング部30472のモード判定部30033は、斜め予測タップ抽出部30431から供給される注目画素の位置情報に基づいて、注目ブロックにおける注目画素が、注目ブロックにおける左上領域、右上領域、左下領域、または右下領域のうちのいずれかの領域に位置するかを表す領域情報を判定し、その結果得られた領域情報を、やはり、斜め予測演算部30431に供給して、処理は、ステップS20197に進む。
ステップS20197において、斜め差分マッピング部30472の斜め予測演算部30461は、斜め係数記憶部30434から供給された複数の斜め係数の中から、モード判定部30033から供給された画素位置モードに対応する斜め係数を取得し、その斜め係数と、斜め予測タップ抽出部30431からの斜め予測タップとを用いて、モード判定部30033からの領域情報に対応した斜め予測演算を行い、その結果得られた斜め処理画像Rを、ゲイン調整部30462に供給する。
処理は、ステップS30197からステップS30198に進み、ゲイン調整部30462は、斜め予測演算部300461から供給された斜め処理画像Rから、斜め予測タップ抽出部30431から供給された注目画素の画素値x1を差し引くことで、ゲイン調整演算を行い、その結果得られた画素値である斜め差分rを加算部300463に供給する。なお、ゲイン調整部30462には、斜め予測タップ抽出部30431から、MPEG復号画像の注目画素の画素値x1が供給される。
その後、処理はステップS30198から図105のステップS30315にリターンして、その後の処理を行う。
次に、図111のフローチャートを参照して、図110のステップS30193における斜めクラス分類の処理を詳細に説明する。
ステップS30201において、差分絶対値算出部31041は、そこに供給される注目ブロックを構成する水平方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である水平画素間差分と、注目ブロックを構成する垂直方向に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である垂直画素間差分を求める。
ステップS30201の処理後、処理は、ステップS30202に進み、差分絶対値算出部31041は、求めた水平画素間差分と垂直画素間差分に基づいて、水平差分クラスコードや垂直差分クラスコード、斜め差分クラスコードの生成に用いる閾値Th_hやTh_vを算出するとともに、水平エッジ検出フラグと垂直エッジ検出フラグを設定する。
そして、差分絶対値算出部31041は、設定した水平エッジ検出フラグ、および垂直エッジ検出フラグを、ノイズ検出フラグ判定部31043に供給し、さらに、算出した閾値Th_h、およびTh_vとともに、閾値選択部31044に供給する。
また、閾値選択部31044は、差分絶対値算出部31041から供給される水平エッジ検出フラグと垂直エッジ検出フラグに基づいて、同じく差分絶対値算出部31041から供給される閾値Th_hとTh_vから、水平差分クラスコードの生成に用いる閾値、垂直差分クラスコードの生成に用いる閾値、および斜め差分クラスコードの生成に用いる閾値を選択する。
そして、閾値選択部31044は、垂直差分クラスコードの生成に用いる閾値を、垂直差分クラスコード生成部31047に供給し、水平差分クラスコードの生成に用いる閾値を、水平差分クラスコード生成部31046に供給するとともに、斜め差分クラスコードの生成に用いる閾値を、斜め差分クラスコード生成部31045に供給する。
その後、処理は、ステップS30202からステップS30203に進み、斜め差分クラスコード生成部31045は、斜め差分クラスタップ抽出部30432cから供給される斜め差分クラスタップと、閾値選択部31044から供給される閾値を用いて、斜め予測タップのクラスを表すクラスコードの一部である斜め差分クラスコードを生成し、斜めクラスコード出力部31049に出力する。
処理は、ステップS30203からステップS30204に進み、水平差分クラスコード生成部31046は、水平差分クラスタップ抽出部30432aから供給される水平差分クラスタップと、閾値選択部31044から供給される閾値を用いて、水平予測タップのクラスを表すクラスコードの一部である水平差分クラスコードを生成し、水平垂直差分ゼロクラスコード生成部31048に出力する。
また、ステップS30204において、垂直差分クラスコード生成部31047は、垂直差分クラスタップ抽出部30432cから供給される垂直差分クラスタップと、閾値選択部31044から供給される閾値を用いて、垂直予測タップのクラスを表すクラスコードの一部である垂直差分クラスコードを生成し、水平垂直差分ゼロクラスコード生成部31048に出力する。
さらに、ステップS30204において、水平垂直差分ゼロクラスコード生成部31048は、水平差分クラスコード生成部31046から供給される水平差分クラスコードを構成するすべてのビットと、垂直差分クラスコード生成部31047から供給される垂直差分クラスコードを構成するすべてのビットの論理和をとり、その結果得られた値を、水平垂直差分ゼロクラスコードとして設定し、斜めクラスコード出力部31049に供給する。
処理は、ステップS30204からステップS30205に進み、フィールドフラグ抽出部31042は、ブロック抽出部30432dから供給される注目ブロックからフィールド情報を抽出し、そのフィールド情報に基づいて、フィールドフラグを設定して、斜めクラスコード出力部31049に供給する。
処理は、ステップS30205からステップS30206に進み、ノイズ検出フラグ判定部31043は、差分絶対値算出部31041から供給される水平エッジ検出フラグ、および垂直エッジ検出フラグに基づいて、ノイズ検出フラグを設定し、斜めクラスコード出力部31049に供給する。
処理は、ステップS30206からステップS30207に進み、斜めクラスコード出力部31049は、フィールドフラグ抽出部31042から供給されるフィールドフラグ、ノイズ検出フラグ判定部31043から供給されるノイズ検出フラグ、水平垂直差分ゼロクラスコード生成部31048から供給される水平垂直差分ゼロクラスコード、斜め差分クラスコード生成部31045から供給される斜め差分クラスコードを、この順番で左から右に並べて、斜めクラスコードとして、斜め係数記憶部30434に出力する。
その後、処理は、図110のステップS30193にリターンする。
図112は、水平クラス、垂直クラス、および斜めクラスの組み合わせの総数を示す図である。
図中上側には、1ビットのフィールドフラグ、1ビットのノイズ検出フラグ、1ビットの垂直斜め差分ゼロクラスコード、および6ビットの水平差分クラスコードで表される9ビットの水平クラスコードが示されている。
また、図中上側には、1ビットのフィールドフラグ、1ビットのノイズ検出フラグ、1ビットの水平斜め差分ゼロクラスコード、および6ビットの垂直差分クラスコードで表される9ビットの垂直クラスコードが示されている。
さらに、図中上側には、1ビットのフィールドフラグ、1ビットのノイズ検出フラグ、1ビットの水平垂直差分ゼロクラスコード、および4ビットの斜め差分クラスコードで表される7ビットの斜めクラスコードが示されている。
図中下側には、図中上側に示されている、9ビットの水平クラスコード、9ビットの垂直クラスコード、および7ビットの斜めクラスコードの組み合わせにより得られる実質的なクラスの総数を説明する図が示されている。
以下、図中下側に示される図を用いて、9ビットの水平クラスコード、9ビットの垂直クラスコード、および7ビットの斜めクラスコードの組み合わせにより得られる実質的なクラスの総数を説明する。
まず、水平クラスコード、垂直クラスコード、および斜めクラスコードそれぞれに共通するフィールドフラグおよびノイズ検出フラグの2ビットを除外して、水平クラスコード、垂直クラスコード、および斜めクラスコードにより得られる実質的なクラスの総数を考える。
さらに、水平クラスコードの一部である垂直斜め差分ゼロクラスコードは、垂直クラスコードの一部である垂直差分クラスコード、および斜めクラスコードの一部である斜め差分クラスコードにより一意に決定すること、垂直クラスコードの一部である水平斜め差分ゼロクラスコードは、水平クラスコードの一部である水平差分クラスコード、および斜めクラスコードの一部である斜め差分クラスコードにより一意に決定すること、さらに、斜めクラスコードの一部である水平垂直差分ゼロクラスコードは、水平クラスコードの一部である水平差分クラスコード、および垂直クラスコードの一部である垂直差分クラスコードにより一意に決定することから、以下、水平クラスコードの一部である6ビットの水平差分クラスコード、垂直クラスコードの一部である6ビットの垂直差分クラスコード、および斜めクラスコードの一部である4ビットの斜め差分クラスコードにより得られる実質的なクラスの総数を考える。
図中下側に示される図の1行目では、6ビットの水平差分クラスコード、6ビットの垂直差分クラスコード、および4ビットの斜め差分クラスコードそれぞれが、すべて0のビット列である場合の組み合わせ数は、1×1×1=1であることを示している。このとき、水平垂直差分ゼロクラスコード、水平斜め差分ゼロクラスコード、および垂直斜め差分ゼロクラスコードは、値0をとる。
図中下側に示される図の2行目では、6ビットの水平差分クラスコード、6ビットの垂直差分クラスコードそれぞれが、すべて0のビット列であり、4ビットの斜め差分クラスコードが、すべて0以外のビット列、即ち、24―1=15個の異なるビット列である場合の組み合わせ数は、1×1×15=15であることを示している。このとき、水平垂直差分ゼロクラスコードは、値0をとり、水平斜め差分ゼロクラスコード、および垂直斜め差分ゼロクラスコードは、値1をとる。
図中下側に示される図の3行目では、6ビットの水平差分クラスコード、4ビットの斜め差分クラスコードそれぞれが、すべて0のビット列であり、6ビットの垂直差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列である場合の組み合わせ数は、1×63×1=63であることを示している。このとき、水平斜め差分ゼロクラスコードは、値0をとり、水平垂直差分ゼロクラスコード、および垂直斜め差分ゼロクラスコードは、値1をとる。
図中下側に示される図の4行目では、6ビットの水平差分クラスコードが、すべて0のビット列であり、6ビットの垂直差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、さらに、4ビットの斜め差分クラスコードが、すべて0以外のビット列、即ち、24−1=15個の異なるビット列である場合の組み合わせ数は、1×63×15=945であることを示している。このとき、水平斜め差分ゼロクラスコードは、値0をとり、水平垂直差分ゼロクラスコード、および垂直斜め差分ゼロクラスコードは、値1をとる。
図中下側に示される図の5行目では、6ビットの水平差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、6ビットの垂直差分クラスコード、および4ビットの斜め差分クラスコードそれぞれが、すべて0のビット列である場合の組み合わせ数は、63×1×1=63であることを示している。このとき、垂直斜め差分ゼロクラスコードは、値0をとり、水平斜め差分ゼロクラスコード、および垂直差分ゼロクラスコードは、値1をとる。
図中下側に示される図の6行目では、6ビットの水平差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、6ビットの垂直差分クラスコードが、すべて0のビット列であり、さらに、4ビットの斜め差分クラスコードが、すべて0以外のビット列、即ち、24−1=15個の異なるビット列である場合の組み合わせ数は、63×1×15=945であることを示している。このとき、垂直斜め差分ゼロクラスコード、水平斜め差分ゼロクラスコード、および垂直差分ゼロクラスコードは、値1をとる。
図中下側に示される図の7行目では、6ビットの水平差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、6ビットの垂直差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、さらに、4ビットの斜め差分クラスコードが、すべて0のビット列である場合の組み合わせ数は、63×63×1=3969であることを示している。このとき、垂直斜め差分ゼロクラスコード、水平斜め差分ゼロクラスコード、および垂直差分ゼロクラスコードは、値1をとる。
図中下側に示される図の8行目では、6ビットの水平差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、6ビットの垂直差分クラスコードが、すべて0以外のビット列、即ち、26―1=63個の異なるビット列であり、さらに、4ビットの斜め差分クラスコードが、すべて0以外のビット列、即ち、24−1=15個の異なるビット列である場合の組み合わせ数は、63×63×15=59535であることを示している。このとき、垂直斜め差分ゼロクラスコード、水平斜め差分ゼロクラスコード、および垂直差分ゼロクラスコードは、値1をとる。
従って、水平クラスコードの一部である6ビットの水平差分クラスコード、垂直クラスコードの一部である6ビットの垂直差分クラスコード、および斜めクラスコードの一部である4ビットの斜め差分クラスコードにより得られる実質的なクラスの総数は、1+15+63+945+63+945+3969+59535=65536となる。
そして、先ほど除外していた2ビット、即ち、水平クラスコード、垂直クラスコード、および斜めクラスコードに共通するフィールドフラグおよびノイズ検出フラグの2ビットの組み合わせである22=4と、画素位置モード0乃至Fの16通りを乗算することで、水平クラスコードが表す水平クラス、垂直クラスコードが表す垂直クラス、および斜めクラスコードが表す斜めクラスの組み合わせにより得られる実質的なクラスの総数は、65536×4×16=4194304クラスとなる。
次に、後の説明を簡単にするために、水平係数を用いて、順次、注目画素とされるMPEG復号画素の画素値x1を、水平差分hに変換する水平差分マッピング処理を行う水平差分マッピング部を説明する。
即ち、図113は、水平差分マッピング処理を行う水平差分マッピング部30111の構成例を示すブロック図である。
なお、図中、図104の水平マッピング部30071の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図113の水平差分マッピング部30111は、図62のゲイン調整部10112と同様に構成されるゲイン調整部30112が新たに設けられているほかは、図104の水平マッピング部30071の場合と同様に構成されている。
次に、図114を参照して、式(10)の正規方程式を水平クラスごとにたてて解くことにより水平係数wnを求める学習を行う学習部30121を説明する。
図114は、水平係数wnを求める学習を行う学習部30121の構成例を示すブロック図である。
図114の学習部30121は、原画像記憶部30131、ノイズ付加部30132、予測タップ抽出部30133、クラスタップ抽出部30134、クラス分類部30135、足し込み部30136、係数算出部30137、およびモード判定部30141により構成される。
なお、図114の学習部30121の原画像記憶部30131乃至予測タップ抽出部30133、足し込み部30136、係数算出部30137、およびモード判定部30141それぞれは、図85の学習部20121の原画像記憶部20131乃至予測タップ20133、足し込み部20136、係数算出部20137、およびモード判定部20141それぞれと同様に構成される。
クラスタップ抽出部30134は、ノイズ付加部30132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の水平クラスタップ抽出部30062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップ(図97の水平クラスタップ抽出部30062が注目画素について得る水平クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる水平クラスタップ)を得て、クラス分類部30135に供給する。
即ち、クラスタップ抽出部30134の水平差分クラスタップ抽出部30134a、垂直差分クラスタップ抽出部30134b、斜め差分クラスタップ抽出部30134c、ブロック抽出部30134dそれぞれは、図97の水平クラスタップ抽出部30062の水平差分クラスタップ抽出部30062a、垂直差分クラスタップ抽出部30062b、斜め差分クラスタップ抽出部30062c、ブロック抽出部30062dそれぞれが注目画素について得るタップと同一のタップ構造のタップを得て、それぞれ、クラス分類部30135に供給する。
クラス分類部30135は、クラスタップ抽出部30134から供給された水平クラスタップに基づき、図97の水平クラス分類部30063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部30136に供給する。
図115は、図114のクラス分類部30315の詳細な構成例を示すブロック図である。
クラス分類部30135は、差分絶対値算出部30141、フィールドフラグ抽出部30142、ノイズ検出フラグ判定部30143、閾値選択部30144、サブコード生成部30145乃至30148、およびクラスコード出力部30149により構成される。
差分絶対値算出部30141は、クラスタップ抽出部30134(ブロック抽出部30134c)から供給される注目ブロックに基づいて、図98の差分絶対値算出部31011と同一の処理を行うことで、サブコード生成部30145乃至30147で用いられる閾値を算出し、水平エッジ検出フラグおよび垂直エッジ検出フラグを設定する。
フィールドフラグ抽出部30142は、クラスタップ抽出部30134(ブロック抽出部30134c)から供給される注目ブロックから、フィールド情報を抽出することにより、図98のフィールドフラグ抽出部31012と同一の処理を行うことで、フィールドフラグを設定し、クラスコード出力部30149に供給する。
ノイズ検出フラグ判定部30143は、差分絶対値算出部30141から供給される水平エッジ検出フラグおよび垂直エッジ検出フラグを用いて、図98のノイズ検出フラグ判定部31013と同様の処理を行い、その結果得られるノイズ検出フラグを、クラスコード出力部30149に供給する。
閾値選択部30144は、差分絶対値算出部30141から供給される水平エッジ検出フラグ、垂直エッジ検出フラグ、および閾値を用いて、図98の閾値選択部31014と同様の処理を行い、水平差分クラスコードの生成に用いる閾値を、サブコード生成部30145に供給し、垂直差分クラスコードの生成に用いる閾値を、サブコード生成部30146に供給するとともに、斜め差分クラスコードの生成に用いる閾値を、サブコード生成部30147に供給する。
サブコード生成部30145は、クラスタップ抽出部30134(水平差分クラスタップ抽出部30134a)から供給される水平差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の水平差分クラスコード生成部31015と同様の処理を行い、その結果得られる水平差分クラスコードを、クラスコード出力部30149に供給する。
サブコード生成部30146は、クラスタップ抽出部30134(垂直差分クラスタップ抽出部30134b)から供給される垂直差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の垂直差分クラスコード生成部31016と同様の処理を行い、その結果得られる垂直差分クラスコードを、サブコード生成部30148に供給する。
サブコード生成部30147は、クラスタップ抽出部30134(斜め差分クラスタップ抽出部30134c)から供給される斜め差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の斜め差分クラスコード生成部31017と同様の処理を行い、その結果得られる斜め差分クラスコードを、サブコード生成部30148に供給する。
サブコード生成部30148は、サブコード生成部30146から供給される垂直差分クラスコードと、サブコード生成部30147から供給される斜め差分クラスコードを用いて、図98の垂直斜め差分ゼロクラスコード生成部31018と同様の処理を行い、その結果得られる垂直斜め差分ゼロクラスコードを、クラスコード出力部30149に供給する。
クラスコード出力部30149は、図98の水平クラスコード出力部31019と同様に、フィールドフラグ抽出部30142から供給されるフィールドフラグ、ノイズ検出フラグ判定部30143から供給されるノイズ検出フラグ、サブコード生成部30148から供給される垂直斜め差分ゼロクラスコード、サブコード生成部30145から供給される水平差分クラスコードの両端のビットを削除することにより得られるコードを、この順番で左から右に並べて、水平クラスコードとして、足し込み部30136に出力する。
次に、図116のフローチャートを参照して、図114の学習部30121における学習処理を説明する。
ステップS30121において、ノイズ付加部30132は、原画像記憶部30131から原画像を読み出し、その原画像をMPEG符号化し、さらにMPEG復号することにより、生徒画像を生成し、予測タップ抽出部30133およびクラスタップ抽出部30134に供給する。
処理は、ステップS30121からステップS30122に進み、予測タップ抽出部30133は、ノイズ付加部30132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、その注目ブロックに含まれる画素を順次、注目画素として、処理は、ステップS30123に進む。
ステップS30123において、予測タップ抽出部30133は、ノイズ付加部30132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の水平予測タップ抽出部30061が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部30136に供給する。
処理は、ステップS30123からステップS30124に進み、クラスタップ抽出部30134は、ノイズ付加部30132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の水平クラスタップ抽出部30062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、クラス分類部30135に供給する。
処理は、ステップS30124からステップS30125に進み、クラス分類部30135は、クラスタップ抽出部30134から供給された水平クラスタップに基づき、図97の水平クラス分類部30063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部30136に供給する。
処理は、ステップS30125からステップS30126に進み、モード判定部30141は、そこに供給される位置情報に基づいて、図97のモード判定部30031と同様の処理を行い、注目画素の画素位置モードを判定し、足し込み部30136に供給する。なお、モード判定部30141には、予測タップ抽出部30133から、注目画素の位置情報が供給される。
処理は、ステップS30216からステップS30217に進み、モード判定部30141は、そこに供給される位置情報に基づいて、図97のモード判定部30031と同様の処理を行い、注目画素の領域情報を判定し、やはり、足し込み部30136に供給する。
処理は、ステップS30127からステップS30128に進み、足し込み部30136は、原画像記憶部30131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、予測タップ抽出部30133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、クラス分類部30135から供給された水平クラスコードと、モード判定部30141から供給された画素位置モードのセットごとに行う。
処理は、ステップS30128からステップS30129に進み、予測タップ抽出部30133は、注目ブロックの画素すべてを注目画素としたか否かを判定する。
ステップS30129において、注目ブロックの画素すべてを注目画素としていないと判定された場合、処理は、ステップS30122に戻り、予測タップ抽出部30133は、注目ブロックの画素のうちの、まだ注目画素としていない画素を、新たな注目画素として、処理は、ステップS30123に進み、以下、同様の処理を繰り返す。
一方、ステップS30129において、注目ブロックの画素すべてを注目画素としたと判定された場合、処理は、ステップS30130に進み、予測タップ抽出部30133は、ノイズ付加部30132から供給された生徒画像を構成するブロックのうちの、まだ注目ブロックとされていないブロックが存在するか否かを判定する。
ステップS30130において、まだ注目ブロックとされていないブロックが存在すると判定された場合、処理は、ステップS30122に戻り、予測タップ抽出部30133は、まだ注目ブロックとされていない生徒画像を構成するブロックのうちの1つを、新たな注目ブロックとし、その注目ブロックを構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS30123に進み、以下、同様の処理を繰り返す。
一方、ステップS30130において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部30136においては、ノイズ付加部30132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、水平クラスおよび画素位置モードのセットそれぞれについて、式(10)に示した正規方程式が得られた場合、足し込み部30136は、正規方程式を、係数算出部30137に供給する。そして、処理は、ステップS30130からステップS30131に進み、係数算出部30137は、足し込み部30136から供給された水平クラスおよび画素位置モードのセットそれぞれについての正規方程式を解くことにより、各セットについて、水平係数wnを求めて出力する。
その後、学習処理は終了される。
次に、図117のフローチャートを参照して、図116のステップS30125におけるクラス分類の処理を詳細に説明する。
ステップS30141において、差分絶対値算出部30141は、クラスタップ抽出部30134(ブロック抽出部30134d)から供給される注目ブロックに基づいて、図98の差分絶対値算出部31011と同一の処理を行うことで、水平画素間差分および垂直画素間差分を算出する。
処理は、ステップS30141からステップS30142に進み、差分絶対値算出部30141は、算出した水平画素間差分および垂直画素間差分を用いて、図98の差分絶対値算出部31011と同一の処理を行うことで、サブコード生成部30145乃至10147で用いられる閾値を算出し、水平エッジ検出フラグおよび垂直エッジ検出フラグを設定する。
また、差分絶対値算出部30141は、設定した水平エッジ検出フラグおよび垂直エッジ検出フラグを、ノイズ検出フラグ判定部30143に供給し、算出した閾値とともに、閾値選択部30144に供給する。
さらに、ステップS30142において、閾値選択部30144は、差分絶対値算出部30141から供給される水平エッジ検出フラグ、垂直エッジ検出フラグ、および閾値を用いて、図98の閾値選択部31014と同様の処理を行い、水平差分クラスコードの生成に用いる閾値を、サブコード生成部30145に供給し、垂直差分クラスコードの生成に用いる閾値を、サブコード生成部30146に供給するとともに、斜め差分クラスコードの生成に用いる閾値を、サブコード生成部30147に供給する。
処理は、ステップS30142からステップS30143に進み、サブコード生成部30145は、クラスタップ抽出部30134(水平差分クラスタップ抽出部30134a)から供給される水平差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の水平差分クラスコード生成部31015と同様の処理を行い、その結果得られる水平差分クラスコードを、クラスコード出力部30149に供給する。
その後、処理は、ステップS30143からステップS30144に進み、サブコード生成部30146は、クラスタップ抽出部30134(垂直差分クラスタップ抽出部30134b)から供給される垂直差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の垂直差分クラスコード生成部31016と同様の処理を行い、その結果得られる垂直差分クラスコードを、サブコード生成部30148に供給する。
また、ステップS30144において、サブコード生成部30147は、クラスタップ抽出部30134(斜め差分クラスタップ抽出部30134c)から供給される斜め差分クラスタップと、閾値選択部30144から供給される閾値を用いて、図98の斜め差分クラスコード生成部31017と同様の処理を行い、その結果得られる斜め差分クラスコードを、サブコード生成部30148に供給する
さらに、ステップS30144において、サブコード生成部30148は、サブコード生成部30146から供給される垂直差分クラスコードと、サブコード生成部30147から供給される斜め差分クラスコードを用いて、図98の垂直斜め差分ゼロクラスコード生成部31018と同様の処理を行い、その結果得られる垂直斜め差分ゼロクラスコードを、クラスコード出力部30149に供給する。
処理は、ステップS30144からステップS30145に進み、フィールドフラグ抽出部30142は、クラスタップ抽出部30134(ブロック抽出部30134d)から供給される注目ブロックから、フィールド情報を抽出することにより、図98のフィールドフラグ抽出部31012と同一の処理を行うことで、フィールドフラグを設定し、クラスコード出力部30149に供給する。
処理は、ステップS30145からステップS30146に進み、ノイズ検出フラグ判定部30143は、差分絶対値算出部30141から供給される水平エッジ検出フラグおよび垂直エッジ検出フラグを用いて、図98のノイズ検出フラグ判定部31013と同様の処理を行い、その結果得られるノイズ検出フラグを、クラスコード出力部30149に供給する。
処理は、ステップS30146からステップS30147に進み、クラスコード出力部30149は、図98の水平クラスコード出力部31018と同様に、フィールドフラグ抽出部30142から供給されるフィールドフラグ、ノイズ検出フラグ判定部30143から供給されるノイズ検出フラグ、サブコード生成部30148から供給される垂直斜め差分クラスコード、サブコード生成部30145から供給される水平差分クラスコードの両端のビットを削除することで得られるコードを、この順番で左から右に並べて、水平クラスコードとして、足し込み部30136に出力する。
その後、処理は、図116のステップS30125にリターンする。
ここで、図116のフローチャートで説明した学習処理は、ノイズ除去画像に相当する画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理であるが、この学習処理を、以下、適宜、水平タップにおける学習処理という。
なお、図114の学習部30121において、予測タップ抽出部30133が垂直予測タップを抽出し、クラスタップ抽出部30134が垂直クラスタップを抽出して、クラス分類部20135が垂直クラス分類を行うこととすれば、図63の学習部10121の場合と同様に、水平係数に代えて、垂直係数を求めることができる。
図114の学習部30121において、垂直係数w’nを求める学習処理を、以下、適宜、垂直タップにおける学習処理という。
さらに、図114の学習部30121において、予測タップ抽出部30133が斜め予測タップを抽出し、クラスタップ抽出部30134が斜めクラスタップを抽出して、クラス分類部20135が斜めクラス分類を行うこととすれば、図63の学習部10121の場合と同様に、水平係数に代えて、斜め係数を求めることができる。
図114の学習部30121において、斜め係数w’’nを求める学習処理を、以下、適宜、斜めタップにおける学習処理という。
図97の画像変換部31では、上述した水平タップにおける学習処理により求められた水平係数、垂直タップにおける学習処理により求められた垂直係数、斜めタップにおける学習処理により求められた斜め係数を用いて画像変換処理を行うことができる。
次に、図114の学習部30121で学習される水平係数、垂直係数、および斜め係数のように、水平係数による水平処理効果分、垂直係数による垂直処理効果分、および斜め係数により斜め処理効果分が過剰となったり、相殺されることがないように、水平係数、垂直係数、および斜め係数を学習する学習処理を、図118を参照して説明する。
即ち、図118は、上述した図97の画像変換部31で用いられる水平係数、垂直係数、および斜め係数を学習する3段差分学習部30491の構成例を示すブロック図である。なお、図118には、説明の便宜上、図97の画像変換部31に相当する画像変換部30492も図示してある。
3段差分学習部30491は、水平タップ学習部32161、水平マッピング部32162、垂直タップ差分学習部32163、垂直差分マッピング部32164、加算部32165、および斜めタップ差分学習部30531により構成される。
水平タップ学習部32161は、図114の学習部30121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部32162に供給する。
水平マッピング部32162は、水平タップ学習部32161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部32161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られる水平処理画像Hを、垂直タップ差分学習部32163および加算部32165に供給する。なお、水平マッピング部32162には、水平タップ学習部32161などから、MPEG復号画像が供給される。
垂直タップ差分学習部32163は、水平タップ学習部32161で教師画像として用いられる原画像と、水平マッピング部32162から供給される水平処理画像Hを用いて、垂直タップにおける水平差分の差分学習処理を行い、垂直係数を学習する。
即ち、垂直タップ差分学習部32163は、原画像、MPEG復号画像、および水平処理画像Hから、後述するようにして、原画像と水平差分hとの差分である原画像−水平差分hを生成し、その原画像−水平差分hを教師画像とするとともに、MPEG復号画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部32163の、垂直タップにおける水平差分の差分学習処理は、後述する図119を参照して、詳細に説明する。
垂直差分マッピング部32164には、垂直タップ差分学習部32163から、垂直係数と、水平タップ学習部32161で生徒画像として用いられるMPEG復号画像とが供給される。
垂直差分マッピング部32164は、そこに供給される、水平タップ学習部32161で生徒画像として用いられるMPEG復号画像と垂直係数を用いて、垂直差分マッピング処理を行い、その結果得られる垂直差分vを、加算部32165に供給する。
加算部32165は、水平マッピング部32162から供給された水平処理画像Hと、垂直差分マッピング部32164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+v(=h+v+x1)を、斜めタップ差分学習部30531に供給する。
斜めタップ差分学習部30531は、水平タップ学習部32161で教師画像として用いられる原画像と、加算部32165から供給される水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
即ち、斜めタップ差分学習部30531は、原画像、MPEG復号画像、および水平垂直処理画像H+vから、後述するようにして、原画像と、水平差分hおよび垂直差分vとの差分である原画像−[水平差分h+垂直差分v]を生成し、その原画像−[水平差分h+垂直差分v]を教師画像とするとともに、MPEG復号画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いて斜め係数を学習する、斜めタップにおける水平垂直差分の差分学習処理を行う。
なお、斜めタップ差分学習部30531の、斜めタップにおける水平垂直差分の差分学習処理は、後述する図120を参照して、詳細に説明する。
図97の画像変換部31における画像変換処理では、図118の3段差分学習部30491により求められた水平係数、垂直係数、および斜め係数を用いることができる。
ここで、図118において、画像変換部30492は、図97の画像変換部31と同様に構成される。画像変換部30492では、次のようにして、MPEG復号画像を原画像(の予測値)に変換する画像変換処理が行われる。
即ち、画像変換部30152は、水平マッピング部32162、垂直差分マッピング部30164、加算部30165、斜め差分マッピング部30532、および加算部30533により構成される。
水平マッピング部32162は、図104の水平予測タップ抽出部30061、水平クラスタップ抽出部30062、水平クラス分類部30063、水平係数記憶部30064、水平予測演算部30101、およびモード判定部30031で構成される水平マッピング部30071と同様に構成される。
水平マッピング部32162は、水平タップ学習部32161での水平タップにおける学習処理により得られる水平係数を用いて、MPEG復号画像を水平処理画像Hに変換する水平マッピング処理を行い、その水平処理画像Hを、加算部32165に供給する。
垂直差分マッピング部32164は、図104の垂直予測タップ抽出部30065、垂直クラスタップ抽出部30066、垂直クラス分類部30067、垂直係数記憶部30068、垂直予測演算部30102、ゲイン調整部30103、およびモード判定部30032で構成される垂直差分マッピング部30073と同様に構成される。
垂直差分マッピング部32164は、垂直タップ差分学習部32163での垂直タップにおける水平差分の差分学習処理により得られる垂直係数を用いて、MPEG復号画像を垂直差分vに変換する垂直差分マッピング処理を行い、その垂直差分vを、加算部32165に供給する。
加算部32165は、図104の加算部30104と同様に構成され、水平マッピング部32162から供給された水平処理画像Hと、垂直差分マッピング部32164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+v(=h+v+x1)で構成される、原画像を予測した画像を、加算部30533に供給する。
斜め差分マッピング部30532は、図104の斜め予測タップ抽出部30431、斜めクラスタップ抽出部30432、斜めクラス分類部30433、斜め係数記憶部30434、斜め予測演算部30461、ゲイン調整部30462、およびモード判定部30033で構成される斜め差分マッピング部30472と同様に構成される。
斜め差分マッピング部30532は、斜めタップ差分学習部30531での斜めタップにおける水平垂直差分の差分学習処理により得られる斜め係数を用いて、MPEG復号画像を斜め差分rに変換する斜め差分マッピング処理を行い、その斜め差分rを、加算部30533に供給する。
加算部30533は、図104の加算部30463と同様に構成され、加算部32165から供給された水平垂直処理画像H+vと、斜め差分マッピング部30532から供給された斜め差分rとを加算し、その結果得られた画素値H+v+rで構成される、原画像を予測した画像を出力する。
次に、図119は、垂直タップにおける水平差分の差分学習処理を行う図118の垂直タップ差分学習部32163の詳細な構成例を示すブロック図である。
即ち、図119の垂直タップ差分学習部32163は、図114の原画像記憶部30131乃至係数算出部30137とそれぞれ同様に構成される原画像記憶部31131乃至係数算出部31137、図11の差分画像生成部233と同様に構成される差分画像生成部30233、および図114のモード判定部30141と同様に構成されるモード判定部31141から構成される。
次に、図120は、斜めタップにおける水平垂直差分の差分学習処理を行う図118の斜めタップ差分学習部30531の詳細な構成例を示すブロック図である。
即ち、図120の斜めタップ差分学習部30531は、図114の原画像記憶部30131乃至係数算出部30137とそれぞれ同様に構成される原画像記憶部33131乃至係数算出部33137、図29の差分画像生成部543と同様に構成される差分画像生成部30543、および図114のモード判定部30141と同様に構成されるモード判定部33141から構成される。
次に、図121のフローチャートを参照して、図118の3段差分学習部30491における3段差分学習処理を説明する。
ステップS30331において、水平タップ学習部32161は、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いた水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部32162に供給する。
その後、処理は、ステップS30331からステップS30332に進み、水平マッピング部32162は、水平タップ学習部32161で生徒画像として用いられるMPEG復号画像(に相当する画像)と、水平タップ学習部32161から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直タップ差分学習部32163に供給する。
そして、処理は、ステップS30332からステップS30333に進み、垂直タップ差分学習部32163は、水平タップ学習部32161で教師画像として用いられる原画像と、水平マッピング部32162から供給された水平処理画像Hとを用いて、垂直タップにおける水平差分の差分学習処理を行い、その結果得られた垂直係数を、垂直差分マッピング部32164に供給して、処理は、ステップS30334に進む。
ステップS30334において、垂直差分マッピング部32164は、水平タップ学習部32161で生徒画像として用いられるMPEG復号画像と、垂直タップ差分学習部32163から供給された垂直係数とを用いて、垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部32165に供給して、処理は、ステップS30335に進む。
ステップS30335において、加算部32165は、水平マッピング部32162から供給された水平処理画像Hと、垂直差分マッピング部32164から供給された垂直差分vとを加算し、その結果得られた水平垂直処理画像H+vを、斜めタップ差分学習部30531に供給して、処理は、ステップS30336に進む。
ステップS30336において、斜めタップ差分学習部30531は、水平タップ学習部32161で教師画像として用いられる原画像と、加算部32165から供給された水平垂直処理画像H+vとを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
その後、3段差分学習処理は、終了される。
次に、図122のフローチャートを参照して、図121のステップS30333の、垂直タップにおける水平差分の差分学習処理を説明する。
ステップS30201において、垂直タップ差分学習部32163(図119)のノイズ付加部31132は、原画像記憶部31131に記憶されている原画像を読み出し、その原画像をMPEG符号化し、さらに、MPEG復号することでMPEG復号画像に相当する画像を、生徒画像として生成し、差分画像生成部30233、垂直予測タップ抽出部31133および垂直クラスタップ抽出部31134に供給する。なお、原画像記憶部31131には、図118の水平タップ学習部32161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS30201からステップS30202に進み、差分画像生成部30233は、ノイズ付加部31132から供給されたMPEG復号画像x1を、図118の水平マッピング部32162から供給された水平処理画像H=h+x1から差し引くことで、水平差分hを生成する。
また、ステップS30202において、差分画像生成部30233は、原画像記憶部31131に記憶されている原画像を読み出し、その原画像から、生成した水平差分hを差し引き、その結果得られた原画像―水平差分hを、教師画像として、足し込み部31136に供給する。
その後、処理は、ステップS30202からステップS30203に進み、垂直予測タップ抽出部31133は、ノイズ付加部31132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックの画素を注目画素として、処理は、ステップS30204に進む。
ステップS30204において、垂直予測タップ抽出部31133は、ノイズ付加部31132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の垂直予測タップ抽出部30065が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップを得て、足し込み部31136に供給する。
そして、処理は、ステップS30204からステップS30205に進み、垂直クラスタップ抽出部31134は、ノイズ付加部31132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の垂直クラスタップ抽出部30066が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップを得て、垂直クラス分類部31135に供給する。
さらに、処理は、ステップS30205からステップS30206に進み、垂直クラス分類部31135は、垂直クラスタップ抽出部31134から供給された垂直クラスタップに基づき、図97の垂直クラス分類部30067と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部31136に供給して、ステップS30207に進む。
ステップS30207において、モード判定部31141は、そこに供給される位置情報に基づいて、図97のモード判定部30032と同様の処理を行い、注目画素の画素位置モードを判定し、足し込み部31136に供給する。なお、モード判定部31141には、垂直予測タップ抽出部31133から、注目画素の位置情報が供給される。
処理は、ステップS30207からステップS30208に進み、モード判定部31141は、そこに供給される位置情報に基づいて、図97のモード判定部30032と同様の処理を行い、注目画素の領域情報を判定し、やはり、足し込み部31136に供給する。
処理は、ステップS30208からステップS30209に進み、足し込み部31136は、原画像記憶部20131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、垂直予測タップ抽出部31133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部31135から供給された垂直クラスと、モード判定部31141から供給された画素位置モードのセットごとに行う。
処理は、ステップS30209からステップS30210に進み、垂直予測タップ抽出部31133は、ノイズ付加部31132から供給された生徒画像を構成する注目ブロックの画素すべてを、注目画素としたか否かを判定する。
ステップS30210において、注目ブロックの画素すべてを、注目画素としていないと判定された場合、処理は、ステップS30203に戻り、垂直予測タップ抽出部31133は、まだ注目画素とされていない生徒画像を構成する注目ブロックの画素のうちの1つを、新たな注目画素として、処理は、ステップS30204に進み、以下、同様の処理を繰り返す。
一方、ステップS30210において、注目ブロックの画素すべてを、注目画素としたと判定された場合、処理は、ステップS30211に進み、垂直予測タップ抽出部31133は、ノイズ付加部31132から供給された生徒画像を構成するブロックのうちの、まだ注目ブロックとされていないブロックが存在するか否かを判定する。
ステップS30211において、まだ注目ブロックとされていないブロックが存在すると判定された場合、処理は、ステップS30203に戻り、垂直予測タップ抽出部31133は、まだ注目ブロックとされていない生徒画像を構成するブロックのうちの1つを、新たな注目ブロックとし、その注目ブロックを構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS30204に進み、以下、同様の処理を繰り返す。
一方、ステップS30211において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部31136においては、ノイズ付加部31132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、垂直クラスおよび画素位置モードのセットそれぞれについて、式(10)に示した正規方程式が得られた場合、足し込み部31136は、正規方程式を、係数算出部31137に供給する。そして、処理は、ステップS30211からステップS30212に進み、係数算出部31137は、足し込み部31136から供給された垂直クラスおよび画素位置モードのセットそれぞれについての正規方程式を解くことにより、各セットについて、垂直係数wnを求めて出力する。
その後、処理は、図121のステップS30333にリターンする。
次に、図123のフローチャートを参照して、図121のステップS30336の、斜めタップにおける水平垂直差分の差分学習処理を説明する。
ステップS30341において、斜めタップ差分学習部30531(図120)のノイズ付加部33132は、原画像記憶部33131に記憶されている原画像を読み出し、その原画像をMPEG符号化し、さらに、MPEG復号することでMPEG復号画像に相当する画像を、生徒画像として生成し、差分画像生成部30543、斜め予測タップ抽出部33133および斜めクラスタップ抽出部33134に供給する。なお、原画像記憶部33131には、図118の水平タップ学習部32161で教師画像として用いられるのと同一の原画像が、記憶されている。
処理は、ステップS30341からステップS30342に進み、差分画像生成部30543は、ノイズ付加部33132から供給されたMPEG復号画像x1を、図118の加算部32165から供給された水平垂直処理画像H=h+v+x1から差し引くことで、[水平差分h+垂直差分v]を生成する。
また、ステップS30342において、差分画像生成部30543は、原画像記憶部33131に記憶されている原画像を読み出し、その原画像から、生成した[水平差分h+垂直差分v]を差し引き、その結果得られた原画像―[水平差分h+垂直差分v]を、教師画像として、足し込み部33136に供給する。
その後、処理は、ステップS30342からステップS30343に進み、斜め予測タップ抽出部33133は、ノイズ付加部33132から供給された生徒画像を構成する8×8画素のブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとし、注目ブロックの画素を注目画素として、処理は、ステップS30344に進む。
ステップS30344において、斜め予測タップ抽出部33133は、ノイズ付加部33132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の斜め予測タップ抽出部30431が注目画素について得る斜め予測タップと同一のタップ構造の斜め予測タップを得て、足し込み部33136に供給する。
そして、処理は、ステップS30344からステップS30345に進み、斜めクラスタップ抽出部33134は、ノイズ付加部33132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の斜めクラスタップ抽出部30432が注目画素について得る斜めクラスタップと同一のタップ構造の斜めクラスタップを得て、斜めクラス分類部33135に供給する。
さらに、処理は、ステップS30345からステップS30346に進み、斜めクラス分類部33135は、斜めクラスタップ抽出部33134から供給された斜めクラスタップに基づき、図97の斜めクラス分類部30433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する垂直クラスコードを、足し込み部33136に供給して、ステップS30347に進む。
ステップS30347において、モード判定部33141は、そこに供給される位置情報に基づいて、図97のモード判定部30033と同様の処理を行い、注目画素の画素位置モードを判定し、足し込み部33136に供給する。なお、モード判定部33141には、斜め予測タップ抽出部33133から、注目画素の位置情報が供給される。
処理は、ステップS30347からステップS30348に進み、モード判定部33141は、そこに供給される位置情報に基づいて、図97のモード判定部30033と同様の処理を行い、注目画素の領域情報を判定し、やはり、足し込み部33136に供給する。
処理は、ステップS30348からステップS30349に進み、足し込み部33136は、原画像記憶部33131に記憶されている原画像を教師画像として、その教師画像のうちの注目画素に対応する画素(の画素値)を読み出し、その注目画素に対応する、教師画像の画素と、斜め予測タップ抽出部33133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、垂直クラス分類部33135から供給された垂直クラスと、モード判定部33141から供給された画素位置モードのセットごとに行う。
処理は、ステップS30349からステップS30350に進み、斜め予測タップ抽出部33133は、ノイズ付加部33132から供給された生徒画像を構成する注目ブロックの画素すべてを、注目画素としたか否かを判定する。
ステップS30351において、注目ブロックの画素すべてを、注目画素としていない判定された場合、処理は、ステップS30343に戻り、斜め予測タップ抽出部33133は、まだ注目画素とされていない生徒画像を構成する注目ブロックの画素のうちの1つを、新たな注目画素として、処理は、ステップS30344に進み、以下、同様の処理を繰り返す。
一方、ステップS30351において、注目ブロックの画素すべてを、注目画素としたと判定された場合、処理は、ステップS30351に進み、斜め予測タップ抽出部33133は、ノイズ付加部33132から供給された生徒画像を構成するブロックのうちの、まだ注目ブロックとされていないブロックが存在するか否かを判定する。
ステップS30350において、まだ注目ブロックとされていないブロックが存在すると判定された場合、処理は、ステップS30343に戻り、斜め予測タップ抽出部33133は、まだ注目ブロックとされていない生徒画像を構成するブロックのうちの1つを、新たな注目ブロックとし、その注目ブロックを構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS30344に進み、以下、同様の処理を繰り返す。
一方、ステップS30350において、すでに注目ブロックとされていないブロックが存在しないと判定された場合、即ち、足し込み部33136においては、ノイズ付加部33132により生成された生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、垂直クラスおよび画素位置モードのセットそれぞれについて、式(10)に示した正規方程式が得られた場合、足し込み部33136は、正規方程式を、係数算出部33137に供給する。そして、処理は、ステップS30351からステップS30352に進み、係数算出部33137は、足し込み部33136から供給された斜めクラスと画素位置モードとのセットそれぞれについての正規方程式を解くことにより、各セットについて、斜め係数を求めて出力する。
その後、処理は、図121のステップS30336にリターンする。
ところで、図118の3段差分学習部30491で求められる水平係数、垂直係数、および斜め係数によれば、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直処理効果分、および斜め係数を用いた斜め処理効果分の寄与分が同等とならない。
そこで、図124は、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直予測演算による垂直処理効果分、および斜め係数を用いた斜め予測演算による斜め処理効果分の寄与分が同等となるように、水平係数、垂直係数、および斜め係数を求める3段反復学習部30581の構成例を示すブロック図である。
図124の3段反復学習部30581は、水平処理部30601、垂直処理部30602、および斜め処理部30603により構成される。
水平処理部30601は、斜め処理部30603から供給された画像などに基づいて、水平係数を学習する。さらに、水平処理部30601は、学習によって得られる水平係数などに基づいて画像を生成し、垂直処理部30602に供給する。
垂直処理部30602は、水平処理部30601から供給された画像などに基づいて、垂直係数を学習する。さらに、垂直処理部30602は、学習によって得られる垂直係数などに基づいて画像を生成し、斜め処理部30603に供給する。
斜め処理部30603は、垂直処理部30602から供給された画像などに基づいて、斜め係数を学習する。さらに、斜め処理部30603は、学習によって得られる斜め係数などに基づいて画像を生成し、水平処理部30601に供給する。
図125は、図124の水平処理部30601の詳細な構成例を示すブロック図である。
水平処理部30601は、水平タップ学習部30631、水平マッピング部30632、水平タップ差分学習部30633、および水平差分加算マッピング部30634により構成される。また、水平差分加算マッピング部30634は、水平差分マッピング部30661および加算部30662により構成される。
水平タップ学習部30631は、図114の学習部30121と同様に構成され、水平タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて、水平係数を学習する学習処理を行い、その結果得られた水平係数を、水平マッピング部30632および水平差分加算マッピング部30634(水平差分マッピング部30661)に供給する。
水平マッピング部30632は、水平タップ学習部30631で生徒画像として用いられるMPEG復号画像と、水平タップ学習部30631または水平タップ差分学習部30633から供給された水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部30602(図124)に供給する。
水平タップ差分学習部30633は、水平タップ学習部30631で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および斜め処理部30603から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、水平係数を学習する。
即ち、水平タップ差分学習部30633は、原画像、MPEG復号画像、および垂直斜め処理画像V+rから、後述するようにして、原画像と[垂直差分v+斜め差分r]との差分である原画像−[垂直差分v+斜め差分r]を生成し、その原画像−[垂直差分v+斜め差分r]を教師画像とするとともに、MPEG復号画像を生徒画像として、水平予測タップおよび水平クラスタップを用いて水平係数を学習する、水平タップにおける垂直斜め差分の差分学習処理を行う。
なお、水平タップ差分学習部30633の、水平タップにおける垂直斜め差分の差分学習処理は、後述する図126を参照して、詳細に説明する。
また、水平タップ差分学習部30633は、学習した水平係数を、水平マッピング部30632および水平差分加算マッピング部30634(水平差分マッピング部30661)に供給する。
水平差分加算マッピング部30634は、斜め水平処理画像R+hを生成し、垂直処理部30602に供給する。
即ち、水平差分加算マッピング部30634の水平差分マッピング部30661は、水平タップ学習部30631で生徒画像として用いられるMPEG復号画像と、水平タップ学習部30631または水平タップ差分学習部30633から供給された水平係数を用いて、水平差分マッピング処理を行い、その結果得られた水平差分hを、加算部30662に供給する。
加算部30662は、水平差分マッピング部30661から供給された水平差分hと、斜め処理部30603から供給された斜め処理画像Rとを加算し、その結果得られた斜め水平処理画像R+hを、垂直処理部30602に供給する。
ここで、上述のように、水平差分マッピング部30661と加算部30662とで構成される水平差分加算マッピング部30634は、水平差分hを求め、その水平差分hと、斜め処理部30603から供給された斜め処理画像Rとを加算する処理を行うため、かかる処理を、以下、適宜、水平差分加算マッピング処理という。
図126は、水平タップにおける垂直斜め差分の差分学習処理を行う図125の水平タップ差分学習部30633の詳細な構成例を示すブロック図である。
水平タップ差分学習部30633は、図114の学習部30121の原画像記憶部30131乃至係数算出部30137それぞれと同様に構成される原画像記憶部34131乃至係数算出部34137と、差分画像生成部30673とから構成される。
差分画像生成部30673には、ノイズ付加部34132から生徒画像が供給されるとともに、図124の斜め処理部30603から、垂直斜め処理画像V+rが供給される。
差分画像生成部30673は、ノイズ付加部34132から供給された生徒画像(MPEG復号画像)x1を、図124の斜め処理部30603から供給された垂直斜め処理画像V+r=v+x1+rから差し引くことで、[垂直差分v+斜め差分r]を生成する。
また、差分画像生成部30673は、原画像記憶部34131に記憶されている原画像を読み出し、その原画像から、生成した[垂直差分v+斜め差分r]を差し引き、その結果得られた原画像―[垂直差分v+斜め差分r]を、教師画像として、足し込み部34136に供給する。
水平予測タップ抽出部34133は、ノイズ付加部34132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、水平予測タップ抽出部34133は、ノイズ付加部34132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の水平予測タップ抽出部61が注目画素について得る水平予測タップと同一のタップ構造の水平予測タップを得て、足し込み部34136に供給する。
水平クラスタップ抽出部34134は、ノイズ付加部34132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の水平クラスタップ抽出部30062が注目画素について得る水平クラスタップと同一のタップ構造の水平クラスタップを得て、水平クラス分類部34135に供給する。
水平クラス分類部34135は、水平クラスタップ抽出部34134から供給された水平クラスタップに基づき、図97の水平クラス分類部30063と同一の水平クラス分類を行い、その結果得られた水平クラスに対応する水平クラスコードを、足し込み部34136に供給する。
なお、足し込み部34136は、差分画像生成部30673から供給された教師画像の画素のうちの、注目画素に対応する画素と、水平予測タップ抽出部34133から供給された注目画素についての水平予測タップを構成する生徒画像の画素とを対象とした足し込みを、モード判定部34141から供給される領域情報に基づいて、水平クラス分類部34135から供給された水平クラスコードと、モード判定部34141から供給された画素位置モードとのセットそれぞれに行うことにより、各セットについて正規方程式をたてると、その正規方程式を、係数算出部34137に供給する。
係数算出部34137は、足し込み部34136から供給された各セットについての正規方程式を解くことにより、各セットについて、水平係数を求めて出力する。
図127は、図124の垂直処理部30602の詳細な構成例を示すブロック図である。
垂直処理部30602は、垂直タップ学習部30691、垂直マッピング部30692、垂直タップ差分学習部30693、および垂直差分加算マッピング部30694により構成される。また、垂直差分加算マッピング部30694は、垂直差分マッピング部30721および加算部30722により構成される。
垂直タップ学習部30691は、図114の学習部30121と同様に構成され、垂直タップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて、垂直係数を学習する学習処理を行い、その結果得られた垂直係数を、垂直マッピング部30692および垂直差分加算マッピング部30694(垂直差分マッピング部30721)に供給する。
垂直マッピング部30692は、垂直タップ学習部30691で生徒画像として用いられるMPEG復号画像と、垂直タップ学習部30691または垂直タップ差分学習部30693から供給された垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部30603(図124)に供給する。
垂直タップ差分学習部30693は、垂直タップ学習部30691で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および水平処理部30601から供給された斜め水平処理画像R+hを用いて、垂直タップにおける斜め水平差分の差分学習処理を行い、水平係数を学習する。
即ち、垂直タップ差分学習部30693は、原画像、MPEG復号画像、および斜め水平処理画像R+hから、原画像と[斜め差分r+水平差分h]との差分である原画像−[斜め差分r+水平差分h]を生成し、その原画像−[斜め差分r+水平差分h]を教師画像とするとともに、MPEG復号画像を生徒画像として、垂直予測タップおよび垂直クラスタップを用いて垂直係数を学習する、垂直タップにおける斜め水平差分の差分学習処理を行う。
なお、垂直タップ差分学習部30693の、垂直タップにおける斜め水平差分の差分学習処理は、後述する図128を参照して、詳細に説明する。
また、垂直タップ差分学習部30693は、学習した垂直係数を、垂直マッピング部30692および垂直差分加算マッピング部30694(垂直差分マッピング部30721)に供給する。
垂直差分加算マッピング部30694は、水平垂直処理画像H+vを生成し、斜め処理部30603に供給する。
即ち、垂直差分加算マッピング部30694の垂直差分マッピング部30721は、垂直タップ学習部30691で生徒画像として用いられるMPEG復号画像と、垂直タップ学習部30691または垂直タップ差分学習部30693から供給された垂直係数を用いて、垂直差分マッピング処理を行い、その結果得られた垂直差分vを、加算部30722に供給する。
加算部30722は、垂直差分マッピング部30721から供給された垂直差分vと、水平処理部30601から供給された水平処理画像Hとを加算し、その結果得られた水平垂直処理画像H+vを、斜め処理部30603に供給する。
ここで、上述のように、垂直差分マッピング部30721と加算部30722とで構成される垂直差分加算マッピング部30694は、垂直差分vを求め、その垂直差分vと、水平処理部30601から供給された水平処理画像Hとを加算する処理を行うが、かかる処理を、以下、適宜、垂直差分加算マッピング処理という。
図128は、垂直タップにおける斜め水平差分の差分学習処理を行う図127の垂直タップ差分学習部30693の詳細な構成例を示すブロック図である。
垂直タップ差分学習部30693は、図126の水平タップ差分学習部30633の原画像記憶部34131乃至係数算出部34137およびモード判定部34141それぞれと同様に構成される原画像記憶部35131乃至係数算出部35137およびモード判定部35141と、差分画像生成部30733とから構成される。
差分画像生成部30733には、ノイズ付加部35132から生徒画像が供給されるとともに、図124の水平処理部30601から、斜め水平処理画像R+hが供給される。
差分画像生成部30733は、ノイズ付加部35132から供給された生徒画像(MPEG復号画像)x1を、図124の水平処理部30601から供給された斜め水平処理画像R+h=r+x1+hから差し引くことで、[斜め差分r+水平差分h]を生成する。
また、差分画像生成部30733は、原画像記憶部35131に記憶されている原画像を読み出し、その原画像から、生成した[斜め差分r+水平差分h]を差し引き、その結果得られた原画像―[斜め差分r+水平差分h]を、教師画像として、足し込み部35136に供給する。
垂直予測タップ抽出部35133は、ノイズ付加部35132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、垂直予測タップ抽出部35133は、ノイズ付加部35132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の垂直予測タップ抽出部30065が注目画素について得る垂直予測タップと同一のタップ構造の垂直予測タップを得て、足し込み部35136に供給する。
垂直クラスタップ抽出部35134は、ノイズ付加部35132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の垂直クラスタップ抽出部30066が注目画素について得る垂直クラスタップと同一のタップ構造の垂直クラスタップを得て、垂直クラス分類部35135に供給する。
垂直クラス分類部35135は、垂直クラスタップ抽出部35134から供給された垂直クラスタップに基づき、図97の垂直クラス分類部30067と同一の垂直クラス分類を行い、その結果得られた垂直クラスに対応する垂直クラスコードを、足し込み部35136に供給する。
なお、足し込み部35136は、差分画像生成部30733から供給された教師画像の画素のうちの、注目画素に対応する画素と、垂直予測タップ抽出部35133から供給された注目画素についての垂直予測タップを構成する生徒画像の画素とを対象とした足し込みを、モード判定部35141から供給された領域情報に基づいて、垂直クラス分類部35135から供給された垂直クラスコードと、モード判定部35141から供給された画素位置モードのセットごとに行うことにより、各セットについて正規方程式をたてると、その正規方程式を、係数算出部35137に供給する。
係数算出部35137は、足し込み部35136から供給された各セットについての正規方程式を解くことにより、各セットについて、垂直係数を求めて出力する。
モード判定部35141には、垂直予測タップ抽出部35133から、注目画素の位置情報が供給される。モード判定部35141は、そこに供給される位置情報に基づいて、注目画素の画素位置モードおよび領域情報を判定し、足し込み部35136に供給する。
図129は、図124の斜め処理部30603の詳細な構成例を示すブロック図である。
斜め処理部30603は、斜めタップ学習部30751、斜めマッピング部30752、斜めタップ差分学習部30753、および斜め差分加算マッピング部30754により構成される。また、斜め差分加算マッピング部30754は、斜め差分マッピング部30781および加算部30782により構成される。
斜めタップ学習部30751は、図114の学習部30121と同様に構成され、斜めタップにおける学習処理、即ち、ノイズ除去画像に相当する画像である原画像を教師画像とするとともに、MPEG復号画像に相当する画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いた斜め係数を学習する学習処理を行い、その結果得られた斜め係数を、斜めマッピング部30752および斜め差分加算マッピング部30754(斜め差分マッピング部30781)に供給する。
斜めマッピング部30752は、斜めタップ学習部30751で生徒画像として用いられるMPEG復号画像と、斜めタップ学習部30751または斜めタップ差分学習部30753から供給された斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部30601(図124)に供給する。
斜めタップ差分学習部30753は、斜めタップ学習部30751で教師画像として用いられる原画像と生徒画像として用いられるMPEG復号画像、および垂直処理部30602から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を学習する。
即ち、斜めタップ差分学習部30753は、原画像、MPEG復号画像、および水平垂直処理画像H+vから、原画像と[水平差分h+垂直差分v]との差分である原画像−[水平差分h+垂直差分v]を生成し、その原画像−[水平差分h+垂直差分v]を教師画像とするとともに、MPEG復号画像を生徒画像として、斜め予測タップおよび斜めクラスタップを用いて斜め係数を学習する、斜めタップにおける水平垂直差分の差分学習処理を行う。
なお、斜めタップ差分学習部30753の、斜めタップにおける水平垂直差分の差分学習処理は、後述する図130を参照して、詳細に説明する。
また、斜めタップ差分学習部30753は、学習した斜め係数を、斜めマッピング部30752および斜め差分加算マッピング部30754(斜め差分マッピング部30781)に供給する。
斜め差分加算マッピング部30754は、垂直斜め処理画像V+rを生成し、水平処理部30601に供給する。
即ち、斜め差分加算マッピング部30754の斜め差分マッピング部30781は、斜めタップ学習部30751で生徒画像として用いられるMPEG復号画像と、斜めタップ学習部30751または斜めタップ差分学習部30753から供給された斜め係数を用いて、斜め差分マッピング処理を行い、その結果得られた斜め差分rを、加算部30782に供給する。
加算部30782は、斜め差分マッピング部30781から供給された斜め差分rと、垂直処理部30602から供給された垂直処理画像Vとを加算し、その結果得られた垂直斜め処理画像V+rを生成し、水平処理部30601に供給する。
ここで、上述のように、斜め差分マッピング部30781と加算部30782とで構成される斜め差分加算マッピング部30754は、斜め差分rを求め、その斜め差分rと、垂直処理部30602から供給された垂直処理画像Vとを加算する処理を行うが、かかる処理を、以下、適宜、斜め差分加算マッピング処理という。
図130は、斜めタップにおける水平垂直差分の差分学習処理を行う図129の斜めタップ差分学習部30753の詳細な構成例を示すブロック図である。
斜めタップ差分学習部30753は、図126の水平タップ差分学習部30633の原画像記憶部34131乃至係数算出部34137およびモード判定部34141それぞれと同様に構成される原画像記憶部36131乃至係数算出部36137およびモード判定部36141と、差分画像生成部30793とから構成される。
差分画像生成部30793には、ノイズ付加部36132から生徒画像が供給されるとともに、図124の垂直処理部30602から、水平垂直処理画像H+vが供給される。
差分画像生成部30793は、ノイズ付加部36132から供給された生徒画像(MPEG復号画像)x1を、図124の垂直処理部30602から供給された水平垂直処理画像H+v=h+x1+vから差し引くことで、[水平差分h+垂直差分v]を生成する。
また、差分画像生成部30793は、原画像記憶部36131に記憶されている原画像を読み出し、その原画像から、生成した[水平差分h+垂直差分v]を差し引き、その結果得られた原画像―[水平差分h+垂直差分v]を、教師画像として、足し込み部36136に供給する。
斜め予測タップ抽出部36133は、ノイズ付加部36132から供給された生徒画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、斜め予測タップ抽出部36133は、ノイズ付加部36132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の斜め予測タップ抽出部30431が注目画素について得る斜め予測タップと同一のタップ構造の斜め予測タップを得て、足し込み部36136に供給する。
斜めクラスタップ抽出部36134は、ノイズ付加部36132から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図97の斜めクラスタップ抽出部30432が注目画素について得る斜めクラスタップと同一のタップ構造の斜めクラスタップを得て、斜めクラス分類部36135に供給する。
斜めクラス分類部36135は、斜めクラスタップ抽出部36134から供給された斜めクラスタップに基づき、図97の斜めクラス分類部30433と同一の斜めクラス分類を行い、その結果得られた斜めクラスに対応する斜めクラスコードを、足し込み部36136に供給する。
なお、足し込み部36136は、差分画像生成部30793から供給された教師画像の画素のうちの、注目画素に対応する画素と、斜め予測タップ抽出部36133から供給された注目画素についての斜め予測タップを構成する生徒画像の画素とを対象とした足し込みを、モード判定部36141から供給された領域情報に応じて、斜めクラス分類部36135から供給された斜めクラスコードと、モード判定部36141から供給された画素位置モードのセットごとに行うことにより、各セットについて正規方程式をたてると、その正規方程式を、係数算出部36137に供給する。
係数算出部36137は、足し込み部36136から供給された各セットについての正規方程式を解くことにより、各セットについて、斜め係数を求めて出力する。
モード判定部36141には、斜め予測タップ抽出部36133から、注目画素の位置情報が供給される。モード判定部36141は、そこに供給される位置情報に基づいて、注目画素の画素位置モードおよび領域情報を判定し、足し込み部36136に供給する。
図131は、図124の3段反復学習部30581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。
図124の3段反復学習部30581は、図39の場合と同様にして、水平係数、垂直係数、および斜め係数を反復して求めることができる。
次に、図132のフローチャートを参照して、図124の3段反復学習部30581における3段反復学習処理を説明する。
ステップS30361において、水平処理部30601の水平タップ学習部30631は、水平係数を求め、水平マッピング部30632と水平差分加算マッピング部30634に供給する。また、ステップS30361において、垂直処理部30602の垂直タップ学習部30691は、垂直係数を求め、垂直マッピング部30692と垂直差分加算マッピング部30694に供給する。さらに、ステップS30361において、斜め処理部30603の斜めタップ学習部30751は、斜め係数を求め、斜めマッピング部30752と斜め差分加算マッピング部30754に供給する。
処理は、ステップS30361からステップS30362に進み、水平処理部30601の水平マッピング部30632は、水平タップ学習部30631からの水平係数を用いて、水平マッピング処理を行い、その結果得られた水平処理画像Hを、垂直処理部30602の垂直差分加算マッピング部30694に供給する。
また、ステップS30362において、垂直処理部30602の垂直マッピング部30692は、垂直タップ学習部30691からの垂直係数を用いて、垂直マッピング処理を行い、その結果得られた垂直処理画像Vを、斜め処理部30603の斜め差分加算マッピング部30754に供給する。
さらに、ステップS30362において、斜め処理部30603の斜めマッピング部30752は、斜めタップ学習部30751からの斜め係数を用いて、斜めマッピング処理を行い、その結果得られた斜め処理画像Rを、水平処理部30601の水平差分加算マッピング部30634に供給する。
その後、処理は、ステップS30362からステップS30363に進み、水平処理部30601の水平差分加算マッピング部30634は、水平タップ学習部30631の水平係数と、斜めマッピング部30752から供給された斜め処理画像Rを用いて、水平差分加算マッピング処理を行い、その結果得られた斜め水平処理画像R+hを、垂直処理部30602の垂直タップ差分学習部30693に供給する。
また、ステップS30363において、垂直処理部30602の垂直差分加算マッピング部30694は、垂直タップ学習部30691からの垂直係数と、水平マッピング部30632から供給された水平処理画像Hを用いて、垂直差分加算マッピング処理を行い、その結果得られた水平垂直処理画像H+vを、斜め処理部30603の斜めタップ差分学習部30753に供給する。
さらに、ステップS30363において、斜め処理部30603の斜め差分加算マッピング部30754は、斜めタップ学習部30751からの斜め係数と、垂直マッピング部30692から供給された垂直処理画像Vを用いて、斜め差分加算マッピング処理を行い、その結果得られた垂直斜め処理画像V+rを、水平処理部30601の水平タップ差分学習部30633に供給する。
その後、処理は、ステップS30363からステップS30364に進み、水平処理部30601の水平タップ差分学習部30633は、斜め差分加算マッピング部30754から供給された垂直斜め処理画像V+rを用いて、水平タップにおける垂直斜め差分の差分学習処理を行い、水平係数を求め、水平マッピング部30632と水平差分加算マッピング部30634に供給する。
また、ステップS30364において、垂直処理部30602の垂直タップ差分学習部30693は、水平差分加算マッピング部30634から供給された斜め水平処理画像R+hを用いて、垂直タップにおける斜め水平差分の差分学習処理を行い、垂直係数を求め、垂直マッピング部30692と垂直差分加算マッピング部30694に供給する。
さらに、ステップS30364において、斜め処理部30603の斜めタップ差分学習部30753は、垂直差分加算マッピング部30694から供給された水平垂直処理画像H+vを用いて、斜めタップにおける水平垂直差分の差分学習処理を行い、斜め係数を求め、斜めマッピング部30752と斜め差分加算マッピング部30754に供給する。
その後、処理は、ステップS30364からステップS30362に進み、以下、同様の処理を繰り返す。即ち、ステップS30362およびステップS30363においては、ステップS30364で求められた水平係数、垂直係数、および斜め係数を用いてマッピング処理および差分加算マッピング処理が行われ、ステップS30364では、その結果得られた画像に基づいて、差分学習処理が行われる。
以上のような図132の3段反復学習処理では、水平タップ学習部30631が、MPEG復号画像に相当する画像を生徒画像とするとともに、原画像を教師画像として、第0世代の水平係数を求め、水平タップ差分学習部30633が、MPEG復号画像に相当する画像を生徒画像とするとともに、前の世代で求められた水平係数、垂直係数、および斜め係数のうちの、水平係数を除いた係数である垂直係数および斜め係数を用いた予測演算による原画像への近似効果分、即ち、垂直係数による垂直処理効果分としての垂直差分vと、斜め係数による斜め処理効果分としての斜め差分rとを、原画像から差し引くことで得られる画像である原画像−[垂直差分v+斜め差分r]を教師画像として、第1乃至n世代の水平係数を求める。垂直係数および斜め係数も同様に求められる。従って、水平係数を用いた水平予測演算による水平処理効果分、垂直係数を用いた垂直予測演算による垂直処理効果分、および斜め係数を用いた斜め予測演算による斜め処理効果分による寄与分が、それぞれ、同等な水平係数、垂直係数、および斜め係数を求めることができる。
なお、図132の3段反復学習処理は、例えば、反復して求められる水平係数、垂直係数、および斜め係数がとる値が収束したときに、終了する。
また、図132の3段反復学習処理は、3段反復学習部30581(図124)により求められる係数セットを用いた画像変換処理による結果と、原画像との自乗誤差とを最小にする係数セットが求められたとき、または、あらかじめ決められた世代の学習処理が行われたときなどに終了するようにしてもよい。
図133は、所定のMPEG復号画像と、そのMPEG復号画像に対して画像変換処理を行うことで得られたノイズ除去画像とのS/N(Signal to Noise)比を示す図である。
図中、点線で示されるグラフは、所定のMPEG復号画像のS/N比を示しており、実践で示されるグラフは、ノイズ除去画像のS/N比を示している。そして、MPEG復号画像およびノイズ除去画像それぞれのフレーム番号が横軸に、そのフレーム番号と対応する形でS/N比が縦軸に示されている。
いずれのフレーム番号の場合にも、ノイズ除去画像のS/N比が向上しており、ノイズ除去がされていることがわかる。
図134は、図133で示されるフレーム番号1乃至12に対応するMPEG復号画像に対して、3段反復学習処理により得られた係数を用いた画像変換処理を行った場合のS/N比を示す図である。
図中、中央には、フレーム番号1乃至12に対応して、フレーム番号1乃至12が付加されたグラフが示されている。
フレーム番号1乃至12が付加されたグラフそれぞれは、フレーム番号1乃至12のMPEG復号画像に画像変換処理を行った場合のS/N比を示している。
なお、図に示される横軸は、3段反復学習により学習された係数の世代を示しており、横軸に示される係数の世代に対応して、その世代の係数を用いて画像変換処理することで得られたノイズ除去画像のS/N比を縦軸は示している。
即ち、横軸に示されるmpegに対応する各グラフは、フレーム番号1乃至12のMPEG復号画像のS/N比を示しており、また、横軸に示されるrec0乃至rec4に対応する各グラフは、第0乃至4世代の係数を用いて、フレーム番号1乃至12のMPEG復号画像に対して画像変換処理を行った場合のS/N比を示している。
図135は、画像変換処理を行う前の所定のMPEG復号画像を示しており、図136は、図135に示されるMPEG復号画像において、図中、右下側に示されるバツ印に対応する部分を拡大したMPEG復号画像である。
そして、図137は、所定のMPEG復号画像に対して画像変換処理を行うことで得られたノイズ除去画像を示しており、図138は、図137に示されるノイズ除去画像において、図中、右下側に示されるバツ印に対応する部分を拡大したノイズ除去画像である。
図135(図136)に示される所定のMPEG復号画像と、図137(図138)に示されるノイズ除去画像とを比較すると、ブロック歪が軽減されていることがわかる。
図139は、画像変換処理を行う前の他の所定のMPEG復号画像を示しており、図140は、図139に示されるMPEG復号画像において、図中、中央上側に示されるバツ印に対応する部分を拡大したMPEG復号画像である。
そして、図141は、他の所定のMPEG復号画像に対して画像変換処理を行うことで得られたノイズ除去画像を示しており、図142は、図141に示されるノイズ除去画像において、図中、中央上側に示されるバツ印に対応する部分を拡大したノイズ除去画像である。
図139(図140)に示される他の所定のMPEG復号画像と、図141(図142)に示されるノイズ除去画像とを比較すると、モスキートノイズが軽減されていることがわかる。
図143は、図1の画像変換部31の第9の構成例を示すブロック図である。
なお、図中、図97の画像変換部31の場合に対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
即ち、図143の画像変換部31は、図97の水平クラスタップ抽出部30062、水平クラス分類部30063、垂直クラスタップ抽出部30066、垂直クラス分類部30067、斜めクラスタップ抽出部30432、および斜めクラス分類部30433に代えて、水平差分クラスタップ抽出部40062、水平クラス分類部40063、垂直差分クラスタップ抽出部40066、垂直クラス分類部40067、斜め差分クラスタップ抽出部40432、斜めクラス分類部40433、ブロック抽出部40436、およびブロック処理部40437が設けられている他は、図97の場合と同様に構成される。
また、水平差分クラスタップ抽出部40062、垂直差分クラスタップ抽出部40066、斜め差分クラスタップ抽出部40432、ブロック抽出部40436それぞれは、図97の水平差分クラスタップ抽出部30062a、垂直差分クラスタップ抽出部30062b、斜め差分クラスタップ抽出部30062c、ブロック抽出部30062dそれぞれと同様に構成される。
水平クラス分類部40063の水平差分クラスコード生成部40063a、垂直斜め差分ゼロクラスコード生成部40063b、水平クラスコード出力部40063cそれぞれは、図98の水平差分クラスコード生成部31015、垂直斜め差分ゼロクラスコード生成部31018、水平クラスコード出力部31019それぞれと同様に構成される。
垂直クラス分類部40067の垂直差分クラスコード生成部40067a、水平斜め差分ゼロクラスコード生成部40067b、垂直クラスコード出力部40067cそれぞれは、図100の垂直差分クラスコード生成部31035、水平斜め差分ゼロクラスコード生成部31038、垂直クラスコード出力部31039それぞれと同様に構成される。
斜めクラス分類部40433の斜め差分クラスコード生成部40433a、水平垂直差分ゼロクラスコード生成部40433b、斜めクラスコード出力部40433cそれぞれは、図102の斜め差分クラスコード生成部31045、水平垂直差分ゼロクラスコード生成部31048、斜めクラスコード出力部31049それぞれと同様に構成される。
ブロック処理部40437の差分絶対値算出部40437a、フィールドフラグ抽出部40437b、閾値選択部40437c、ノイズ検出フラグ判定部40437dそれぞれは、図98のフィールドフラグ抽出部31012、閾値選択部31014、ノイズ検出フラグ判定部31013それぞれと同様に構成される。
次に、上述した図2、図21、図23、図25、図47、図77、図78、図97、および図143の画像変換部31、学習部121,10121,20121,30121、2段差分学習部151,10151,20151、2段反復学習部271,10271,20271,331,10331,20331、2段差分学習部301,10301,20301、3段差分学習部491,30491、3段反復学習部581,30581が行う一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
図144は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
CPU(Central Processing Unit)90981は、ROM(Read Only Memory)90982、または記憶部90988に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)90983には、CPU90981が実行するプログラムやデータなどが適宜記憶される。これらのCPU90981、ROM90982、およびRAM90983は、バス90984により相互に接続されている。
CPU90981にはまた、バス90984を介して入出力インタフェース90985が接続されている。入出力インタフェース90985には、キーボード、マウス、マイクロホンなどよりなる入力部90986、ディスプレイ、スピーカなどよりなる出力部90987が接続されている。CPU90981は、入力部90986から入力される指令に対応して各種の処理を実行する。そして、CPU90981は、処理の結果を出力部90987に出力する。
入出力インタフェース90985に接続されている記憶部90988は、例えばハードディスクからなり、CPU90981が実行するプログラムや各種のデータを記憶する。通信部90989は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部90989を介してプログラムを取得し、記憶部90988に記憶してもよい。
入出力インタフェース90985に接続されているドライブ90990は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア90991が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部90988に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図144に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア90991、または、プログラムが一時的もしくは永続的に格納されるROM90982や、記憶部90988を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部90989を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、図32の3段反復学習部581では、水平処理部601からの画像などに基づいて、垂直処理部602が垂直係数を学習し、垂直処理部602からの画像などに基づいて、斜め処理部603が斜め係数を学習することとし、さらに、斜め処理部603からの画像などに基づいて、水平処理部601が水平係数を学習することとしたが、水平処理部601、垂直処理部602、および斜め処理部603それぞれが行う処理は、それぞれの処理に対称な処理をしているため、画像を供給するブロックと、画像が供給されて係数を学習するブロックの順番を並び替えることができる。
具体的には、例えば、斜め処理部603からの画像などに基づいて、垂直処理部602が垂直係数を学習し、垂直処理部602からの画像などに基づいて、水平処理部601が水平係数を学習することとし、さらに、水平処理部601からの画像などに基づいて、斜め処理部603が斜め係数を学習することとしてもよい。
なお、本発明を適用した画像変換部は、例えば、テレビジョン受像機や、ハードディスクレコーダなどに適用することができる。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した画像変換部31の一実施の形態の構成例を示すブロック図である。 図1の画像変換部31の第1の構成例を示すブロック図である。 図2の予測演算部69の構成例を示すブロック図である。 図2の画像変換部31における画像変換処理を説明するフローチャートである。 図4のステップS32における水平マッピング処理の詳細を説明するフローチャートである。 図4のステップS33における垂直差分マッピング処理の詳細を説明するフローチャートである。 水平差分マッピング処理を行う水平差分マッピング部111の構成例を示すブロック図である。 係数を求める学習を行う学習部121の構成例を示すブロック図である。 図8の学習部121における学習処理を説明するフローチャートである。 図2の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部151の構成例を示すブロック図である。 垂直タップにおける水平差分の差分学習処理を行う図10の垂直タップ差分学習部163の詳細な構成例を示すブロック図である。 図10の2段差分学習部151における2段差分学習処理を説明するフローチャートである。 図12のステップS173の、垂直タップにおける水平差分の差分学習処理の詳細を説明するフローチャートである。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部271の構成例を示すブロック図である。 図14の水平タップ差分学習部285の詳細な構成例を示すブロック図である。 図14の2段反復学習部271における2段反復学習処理を説明するフローチャートである。 図16のステップS262の、水平タップにおける垂直差分の差分学習処理を説明するフローチャートである。 図2の画像変換部31で用いられる水平係数および垂直係数を学習する他の2段差分学習部301の構成例を示すブロック図である。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部331の構成例を示すブロック図である。 図14の2段反復学習部271と、図19の2段反復学習部331とのそれぞれによる、水平係数および垂直係数を反復して求める2段反復学習処理を説明する図である。 図1の画像変換部31の第2の構成例を示すブロック図である。 図21の係数合成部367の詳細な構成例を示すブロック図である。 図1の画像変換部31の第3の構成例を示すブロック図である。 図23のクラスタップ分配部402における、クラスタップの分割を説明する図である。 図1の画像変換部31の第4の構成例を示すブロック図である。 図25の予測演算部435の詳細な構成例を示すブロック図である。 図25の画像変換部31における画像変換処理を説明するフローチャートである。 図25の画像変換部31で用いられる水平係数、垂直係数、および斜め係数を学習する3段差分学習部491の構成例を示すブロック図である。 斜めタップにおける水平垂直差分の差分学習処理を行う図28の斜めタップ差分学習部531の詳細な構成例を示すブロック図である。 図28の3段差分学習部491における3段差分学習処理を説明するフローチャートである。 図30のステップS336の、斜めタップにおける水平垂直差分の差分学習処理を説明するフローチャートである。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分と、斜め係数を用いた斜め予測演算による斜め処理効果分の寄与分が同等となるように、水平係数、垂直係数、および斜め係数を求める3段反復学習部581の構成例を示すブロック図である。 図32の水平処理部601の詳細な構成例を示すブロック図である。 水平タップにおける斜め水平差分の差分学習処理を行う図33の水平タップ差分学習部633の詳細な構成例を示すブロック図である。 図32の垂直処理部602の詳細な構成例を示すブロック図である。 垂直タップにおける斜め水平差分の差分学習処理を行う図35の垂直タップ差分学習部693の詳細な構成例を示すブロック図である。 図32の斜め処理部603の詳細な構成例を示すブロック図である。 斜めタップにおける水平垂直差分の差分学習処理を行う図37の斜めタップ差分学習部753の詳細な構成例を示すブロック図である。 図32の3段反復学習部581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。 図32の3段反復学習部581における3段反復学習処理を説明するフローチャートである。 ボリューム処理を行う図32の3段反復学習部581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。 ボリューム処理により係数を操作する具体的な方法を説明する図である。 所定の水平クラスに対応する世代ごとの水平係数を示す図である。 図43により示された第0世代乃至第4世代の、タップ番号に対応する水平予測タップの画素値に乗算される水平係数それぞれが、世代が進むごとに、所定の値に収束することを示す図である。 他の水平クラスに対応する世代ごとの水平係数を示す図である。 図45により示された第0世代乃至第4世代の、タップ番号に対応する水平予測タップの画素値に乗算される水平係数それぞれが、世代が進むごとに、所定の値に収束することを示す他の図である。 図1の画像変換部31の第5の構成例を示すブロック図である。 図47の水平予測タップ抽出部10061や垂直予測タップ抽出部10065による予測タップの抽出方法を説明する図である。 図47の水平クラス分類部10063の詳細な構成例を示すブロック図である。 MPEG復号画像における所定のブロックのブロック構造を説明する図である。 図49の差分絶対値算出部11011、ノイズ検出フラグ判定部11013、および閾値選択部11014における処理を説明する図である。 図49の水平差分クラスコード生成部11015による水平差分クラスコードの生成方法を説明する図である。 図49の水平クラスコード出力部11018が出力する水平クラスコードを示す図である。 図47の垂直クラス分類部10067の詳細な構成例を示すブロック図である。 図54の垂直クラスコード出力部11038が出力する垂直クラスコードを示す図である。 図47の予測演算部10069の詳細な構成例を示すブロック図である。 図47の画像変換部31における画像変換処理を説明するフローチャートである。 図57のステップS10032における水平マッピング処理の詳細を説明するフローチャートである。 図58のステップS10063の水平クラス分類における処理の詳細を説明するフローチャートである。 図57のステップS10033における垂直差分マッピング処理の詳細を説明するフローチャートである。 図60のステップS10093における垂直クラス分類における処理の詳細を説明するフローチャートである。 水平差分マッピング処理を行う水平差分マッピング部10111の構成例を示すブロック図である。 係数を求める学習を行う学習部10121の構成例を示すブロック図である。 図63のクラス分類部10135の詳細な構成例を示すブロック図である。 図63の学習部10121における学習処理を説明するフローチャートである。 図65のステップS10125のクラス分類における処理を詳細に説明するフローチャートである。 図47の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部10151の構成例を示すブロック図である。 垂直タップにおける水平差分の差分学習処理を行う図67の垂直タップ差分学習部10163の詳細な構成例を示すブロック図である。 図67の2段差分学習部10151における2段差分学習処理を説明するフローチャートである。 図69のステップS10173の、垂直タップにおける水平差分の差分学習処理の詳細を説明するフローチャートである。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部10271の構成例を示すブロック図である。 図71の水平タップ差分学習部10285の詳細な構成例を示すブロック図である。 図71の2段反復学習部10271における2段反復学習処理を説明するフローチャートである。 図73のステップS10262の、水平タップにおける垂直差分の差分学習処理を説明するフローチャートである。 図47の画像変換部31で用いられる水平係数および垂直係数を学習する他の2段差分学習部10301の構成例を示すブロック図である。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部10331の構成例を示すブロック図である。 図1の画像変換部31の第6の構成例を示すブロック図である。 図1の画像変換部31の第7の構成例を示すブロック図である。 図78の予測演算部20069の構成例を示すブロック図である。 図78のモード判定部20031および20032により判定される画素位置モードおよび領域情報を説明する図である。 図78の画像変換部31における画像変換処理を説明するフローチャートである。 図81のステップS20032における水平マッピング処理の詳細を説明するフローチャートである。 図81のステップS20033における垂直差分マッピング処理の詳細を説明するフローチャートである。 水平差分マッピング処理を行う水平差分マッピング部20111の構成例を示すブロック図である。 係数を求める学習を行う学習部20121の構成例を示すブロック図である。 図85の学習部20121における学習処理を説明するフローチャートである。 図78の画像変換部31で用いられる水平係数および垂直係数を学習する2段差分学習部20151の構成例を示すブロック図である。 垂直タップにおける水平差分の差分学習処理を行う図87の垂直タップ差分学習部20163の詳細な構成例を示すブロック図である。 図87の2段差分学習部20151における2段差分学習処理を説明するフローチャートである。 図89のステップS20173の、垂直タップにおける水平差分の差分学習処理の詳細を説明するフローチャートである。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部20271の構成例を示すブロック図である。 図90の水平タップ差分学習部20285の詳細な構成例を示すブロック図である。 図91の2段反復学習部20271における2段反復学習処理を説明するフローチャートである。 図93のステップS20262の、水平タップにおける垂直差分の差分学習処理を説明するフローチャートである。 図78の画像変換部31で用いられる水平係数および垂直係数を学習する他の2段差分学習部20301の構成例を示すブロック図である。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分との寄与分が同等となるように、水平係数および垂直係数を求める2段反復学習部20331の構成例を示すブロック図である。 図1の画像変換部31の第8の構成例を示すブロック図である。 図97の水平クラス分類部30063の詳細な構成例を示すブロック図である。 図98の水平クラスコード出力部31019が出力する水平クラスコードを示す図である。 図97の垂直クラス分類部30067の詳細な構成例を示すブロック図である。 図100の垂直クラスコード出力部31039が出力する垂直クラスコードを示す図である。 図97の斜めクラス分類部30433の詳細な構成例を示すブロック図である。 図102の斜めクラスコード出力部31049が出力する斜めクラスコードを示す図である。 図97の予測演算部30435の詳細な構成例を示すブロック図である。 図97の画像変換部31における画像変換処理を説明するフローチャートである。 図105のステップS30312における水平マッピング処理の詳細を説明するフローチャートである。 図106のステップS30063における水平クラス分類における処理の詳細を説明するフローチャートである。 図105のステップS30313における垂直差分マッピング処理の詳細を説明するフローチャートである。 図108のステップS30093の垂直クラス分類における処理の詳細を説明するフローチャートである。 図105のステップS30315における斜め差分マッピング処理の詳細を説明するフローチャートである。 図110のステップS30193の斜めクラス分類における処理の詳細を説明するフローチャートである。 水平クラス、垂直クラス、および斜めクラスにより得られる実質的なクラス数を説明する図である。 水平差分マッピング処理を行う水平差分マッピング部30111の構成例を示すブロック図である。 係数を求める学習を行う学習部30121の構成例を示すブロック図である。 図114のクラス分類部30135の詳細な構成例を示すブロック図である。 図114の学習部30121における学習処理を説明するフローチャートである。 図116のステップS30125のクラス分類における処理の詳細を説明するフローチャートである。 図97の画像変換部31で用いられる水平係数、垂直係数、および斜め係数を学習する3段差分学習部30491の構成例を示すブロック図である。 垂直タップにおける水平差分の差分学習処理を行う図118の垂直タップ差分学習部32163の詳細な構成例を示すブロック図である。 斜めタップにおける水平垂直差分の差分学習処理を行う図118の斜めタップ差分学習部30531の詳細な構成例を示すブロック図である。 図118の3段差分学習部30491における3段差分学習処理を説明するフローチャートである。 図121のステップS30333の、垂直タップにおける水平差分の差分学習処理を説明するフローチャートである。 図121のステップS30336の、斜めタップにおける水平垂直差分の差分学習処理を説明するフローチャートである。 水平係数を用いた水平予測演算による水平処理効果分と、垂直係数を用いた垂直予測演算による垂直処理効果分と、斜め係数を用いた斜め予測演算による斜め処理効果分の寄与分が同等となるように、水平係数、垂直係数、および斜め係数を求める3段反復学習部30581の構成例を示すブロック図である。 図124の水平処理部30601の詳細な構成例を示すブロック図である。 水平タップにおける斜め水平差分の差分学習処理を行う図125の水平タップ差分学習部30633の詳細な構成例を示すブロック図である。 図124の垂直処理部30602の詳細な構成例を示すブロック図である。 垂直タップにおける斜め水平差分の差分学習処理を行う図127の垂直タップ差分学習部30693の詳細な構成例を示すブロック図である。 図124の斜め処理部30603の詳細な構成例を示すブロック図である。 斜めタップにおける水平垂直差分の差分学習処理を行う図129の斜めタップ差分学習部30753の詳細な構成例を示すブロック図である。 図124の3段反復学習部30581による、水平係数、垂直係数、および斜め係数を反復して求める3段反復学習処理を説明する図である。 図124の3段反復学習部30581における3段反復学習処理を説明するフローチャートである。 所定のMPEG復号画像と、MPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像とのS/N比を比較した第1の図である。 所定のMPEG復号画像と、MPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像とのS/N比を比較した第2の図である。 所定のMPEG復号画像を示す第1の図である。 所定のMPEG復号画像を示す第2の図である。 図135(図136)の所定のMPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像を示す第1の図である。 図135(図136)の所定のMPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像を示す第2の図である。 他の所定のMPEG復号画像を示す第1の図である。 他の所定のMPEG復号画像を示す第2の図である。 図139(図140)の他の所定のMPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像を示す第1の図である。 図139(図140)の所定のMPEG復号画像に画像変換処理を行うことで得られたノイズ除去画像を示す第2の図である。 図1の画像変換部31の第9の構成例を示すブロック図である。 コンピュータの構成例を示すブロック図である。
符号の説明
31 画像変換部, 61 水平予測タップ抽出部, 62 水平クラスタップ抽出部, 63 水平クラス分類部, 64 水平係数記憶部, 65 垂直予測タップ抽出部, 66 垂直クラスタップ抽出部, 67 垂直クラス分類部, 68 垂直係数記憶部, 69 予測演算部, 71 水平マッピング部, 72 垂直マッピング部, 73 垂直差分マッピング部, 101 水平予測演算部, 102 垂直予測演算部, 103 ゲイン調整部, 104 加算部, 111 水平差分マッピング部, 112 ゲイン調整部, 121 学習部, 131 原画像記憶部, 132 ノイズ付加部, 133 予測タップ抽出部, 134 クラスタップ抽出部, 135 クラス分類部, 136 足し込み部, 137 係数算出部, 151 2段差分学習部, 161 水平タップ学習部, 162 水平マッピング部, 163 垂直タップ差分学習部, 164 垂直差分マッピング部, 165 加算部, 271 2段反復学習部, 284 垂直マッピング部, 285 水平タップ差分学習部, 367 係数合成部, 431 斜め予測タップ抽出部, 432 斜めクラスタップ抽出部, 433 斜めクラス分類部, 斜め係数記憶部434, 435 予測演算部, 461 斜め予測演算部, 462 ゲイン調整部, 463 加算部, 471 斜めマッピング部, 472 斜め差分マッピング部, 491 3段差分学習部, 531 斜めタップ差分学習部, 581 3段反復学習部, 601 水平処理部, 602 垂直処理部, 603 斜め処理部, 631 水平タップ学習部, 632 水平マッピング部, 633 水平タップ差分学習部, 634 水平差分加算マッピング部, 661 水平差分マッピング部, 662 加算部, 691 垂直タップ学習部, 692 垂直マッピング部, 693 垂直タップ差分学習部, 694 垂直差分加算マッピング部, 721 垂直差分マッピング部, 722 加算部, 751 斜めタップ学習部, 752 斜めマッピング部, 753 斜めタップ差分学習部, 754 斜め差分加算マッピング部, 781 斜め差分マッピング部, 782 加算部, 10061 水平予測タップ抽出部, 10062 水平クラスタップ抽出部, 10063 水平クラス分類部, 10065 垂直予測タップ抽出部, 10066 垂直クラスタップ抽出部, 10067 垂直クラス分類部, 20031,20032 モード判定部, 20064 水平係数記憶部, 20068 垂直係数記憶部, 20069 予測演算部, 20121 学習部, 20131 原画像記憶部, 20132 ノイズ付加部, 20133 予測タップ抽出部, 20134 クラスタップ抽出部, 20135 クラス分類部, 20136 足し込み部, 20137 係数算出部, 20141 モード判定部, 20151 2段差分学習部, 20161 水平タップ学習部, 20162 水平マッピング部, 20163 垂直タップ差分学習部, 271 2段反復学習部, 21161 水平タップ学習部, 21162 水平マッピング部, 21163 垂直タップ差分学習部, 20284 垂直マッピング部, 20285 水平タップ差分学習部, 30031乃至30033 モード判定部, 30061 水平予測タップ抽出部, 30062 水平クラスタップ抽出部, 30063 水平クラス分類部, 30064 水平係数記憶部, 30065 垂直予測タップ抽出部, 30066 垂直クラスタップ抽出部, 30067 垂直クラス分類部, 30068 垂直係数記憶部, 30431 斜め予測タップ抽出部, 30432 斜めクラスタップ抽出部, 30433 斜めクラス分類部, 30434 斜め係数記憶部, 30435 予測演算部, 30121 学習部, 30131 原画像記憶部, 30132 ノイズ付加部, 30133 予測タップ抽出部, 30134 クラスタップ抽出部, 30135 クラス分類部, 30136 足し込み部, 30137 係数算出部, 30141 モード判定部, 30491 3段差分学習部, 32161 水平タップ学習部, 32162 水平マッピング部, 32163 垂直タップ差分学習部, 32164 垂直差分マッピング部, 32165 加算部, 30531 斜めタップ差分学習部, 30581 3段反復学習部, 30601 水平処理部, 30602 垂直処理部, 30603 斜め処理部

Claims (12)

  1. 第1の画像データを第2の画像データに変換する画像処理装置において、
    前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出手段と、
    複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類手段と、
    前記クラス分類手段によりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出手段と、
    前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力手段と、
    複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算手段と
    を備え、
    前記クラス分類手段は、
    注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成手段と、
    注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成手段により生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成手段と
    を有し、
    前記第1および第3のサブコード生成手段により生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする
    画像処理装置。
  2. 前記第1の画像データは、所定の画像データを、所定のブロックごとに2次元DCT(Discrete Cosine Transform)変換して得られる符号化データを復号することで得られた画像データである
    請求項1に記載の画像処理装置。
  3. 前記所定のブロックが、フレーム構造であるか、フィールド構造であるかを判定する判定手段をさらに備え、
    前記予測タップ抽出手段は、前記判定手段の判定結果に基づいて、前記注目画素との位置関係が異なる複数の画素を、前記予測タップとして抽出する
    請求項2に記載の画像処理装置。
  4. 前記予測タップ抽出手段は、前記注目画素に対応する前記予測タップを、前記注目画素を含むブロックと、そのブロックに隣接するブロックから抽出する
    請求項2に記載の画像処理装置。
  5. 前記予測タップ抽出手段は、前記注目画素に対応する前記予測タップの一部として、前記注目画素を含むブロックに隣接する画素を抽出する
    請求項4に記載の画像処理装置。
  6. 前記所定の演算に用いられる閾値を、前記第1の画像データの画素を用いて算出する閾値算出手段をさらに備え、
    前記第1および第2のサブコード生成手段は、前記閾値算出手段により算出された前記閾値を用いて、前記所定の演算を行う
    請求項1に記載の画像処理装置。
  7. 前記閾値算出手段は、前記閾値を、前記注目画素を含むブロックの画素を用いて算出する
    請求項6に記載の画像処理装置。
  8. 前記ブロックにおける各画素の位置を表す情報を画素位置モードとして、前記注目画素の画素位置モードを判定する画素位置モード判定手段をさらに備え、
    前記係数出力手段は、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数すべてを、複数の前記予測タップそれぞれに対して出力し、
    前記予測演算手段は、複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数のうちの、前記画素位置モードに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める
    請求項1に記載の画像処理装置。
  9. 前記ブロックの画素において、線対称または点対称の位置関係にある画素に、画素位置モードとして同一の値が割り当てられる
    請求項8に記載の画像処理装置。
  10. 前記ブロックを複数の領域に区分したときに、前記注目画素が、前記複数の領域のうちの、いずれかの領域に位置するかを判定する領域判定手段をさらに備え、
    前記予測演算は、前記注目画素が位置する領域に対応した前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める
    請求項9に記載の画像処理装置。
  11. 第1の画像データを第2の画像データに変換する画像処理方法において、
    前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出ステップと、
    複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類ステップと、
    前記クラス分類ステップによりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出ステップと、
    前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力ステップと、
    複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算ステップと
    を含み、
    前記クラス分類ステップは、
    注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成ステップと、
    注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成ステップにより生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成ステップと
    を有し、
    前記第1および第3のサブコード生成ステップにより生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする
    画像処理方法。
  12. 第1の画像データを第2の画像データに変換する画像処理をコンピュータに実行させるプログラムにおいて、
    前記第1の画像データの注目している画素である注目画素に対応する、前記第2の画像データの画素を予測する予測演算に用いる複数の画素である予測タップを、前記第1の画像データから複数抽出する予測タップ抽出ステップと、
    複数の前記予測タップそれぞれを、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類ステップと、
    前記クラス分類ステップによりクラス分けされる前記予測タップのクラスを表すクラスコードの一部である第1のサブコードを生成するのに用いる複数の画素であるサブクラスタップを、前記第1の画像データから抽出するサブクラスタップ抽出ステップと、
    前記第1の画像データに相当する画像データである生徒画像を用いた前記予測演算の結果と、前記第2の画像データに相当する画像データである教師画像との誤差を最小にする学習によりあらかじめ求められた、前記複数のクラスに対応する係数の中から、前記予測タップのクラスに対応する係数を、複数の前記予測タップそれぞれに対して出力する係数出力ステップと、
    複数の前記予測タップそれぞれと、前記予測タップのクラスに対応する係数とを用いた前記予測演算により、前記注目画素に対応する、前記第2の画像データの画素を求める予測演算ステップと
    を含み、
    前記クラス分類ステップは、
    注目画素についての複数の予測タップのうちの所定の前記予測タップに対応する前記サブクラスタップを用いて所定の演算を行うことにより、前記第1のサブコードを生成する第1のサブコード生成ステップと、
    注目画素についての複数の予測タップのうちの他の前記予測タップに対応する前記サブクラスタップを用いて前記所定の演算を行うことにより、他の前記予測タップのクラスを表すクラスコードの一部である第2のサブコードを生成する第2のサブコード生成ステップにより生成される前記第2のサブコードを用いて、他の所定の演算を行うことにより、所定の前記予測タップのクラスを表すクラスコードの他の一部である第3のサブコードを生成する第3のサブコード生成ステップと
    を有し、
    前記第1および第3のサブコード生成ステップにより生成された第1および第3のサブコードを組み合わせることにより得られるクラスコードが表すクラスを、所定の前記予測タップのクラスとする
    画像処理をコンピュータに実行させるプログラム
JP2007034386A 2007-02-15 2007-02-15 画像処理装置、画像処理方法、およびプログラム Expired - Fee Related JP4957280B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007034386A JP4957280B2 (ja) 2007-02-15 2007-02-15 画像処理装置、画像処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007034386A JP4957280B2 (ja) 2007-02-15 2007-02-15 画像処理装置、画像処理方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2008199437A JP2008199437A (ja) 2008-08-28
JP2008199437A5 JP2008199437A5 (ja) 2010-03-25
JP4957280B2 true JP4957280B2 (ja) 2012-06-20

Family

ID=39757972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007034386A Expired - Fee Related JP4957280B2 (ja) 2007-02-15 2007-02-15 画像処理装置、画像処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4957280B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059652A (ja) * 1998-08-07 2000-02-25 Sony Corp ノイズ除去装置及びノイズ除去方法
JP4082079B2 (ja) * 2002-04-30 2008-04-30 ソニー株式会社 画像信号処理装置及びその方法
JP5029869B2 (ja) * 2006-11-09 2012-09-19 ソニー株式会社 画像処理装置および画像処理方法、学習装置および学習方法、並びにプログラム

Also Published As

Publication number Publication date
JP2008199437A (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
US20100202711A1 (en) Image processing apparatus, image processing method, and program
JP2006217340A (ja) 符号化装置および方法、復号装置および方法、画像処理システムおよび画像処理方法、記録媒体、並びにプログラム
US20050111749A1 (en) Data converting apparatus, data converting method, learning apparatus, leaning method, program, and recording medium
JP5029869B2 (ja) 画像処理装置および画像処理方法、学習装置および学習方法、並びにプログラム
JP4957280B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2006238070A (ja) データ変換装置および方法、データ逆変換装置および方法、情報処理システムおよび方法、記録媒体、並びにプログラム
JP2006217403A (ja) 符号化装置および方法、復号化装置および方法、記録媒体、プログラム、画像処理システム、並びに画像処理方法
JP2010118940A (ja) 画像処理装置、画像処理方法、及びプログラム
US20110243462A1 (en) Coefficient learning apparatus and method, image processing apparatus and method, program, and recording medium
JP4770711B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP4507639B2 (ja) 画像信号処理装置
JP4556694B2 (ja) 符号化装置および方法、記録媒体、プログラム、並びに画像処理システム
JP4770704B2 (ja) 画像処理装置、画像処理方法、およびプログラム
CN1822676B (zh) 编码设备和方法、解码设备和方法、图像处理系统和方法
KR100982625B1 (ko) 정보 신호의 처리 장치 및 처리 방법
JP2008118519A (ja) 画像変換装置及び画像変換方法、学習装置及び学習方法、並びにプログラム
JP2009253873A (ja) 画像処理装置及び方法、並びにプログラム
JP2005311588A (ja) 信号処理装置および方法、記録媒体、並びにプログラム
JP2006217424A (ja) 符号化装置および方法、復号化装置および方法、記録媒体、プログラム、画像処理システム、並びに画像処理方法
JP5050944B2 (ja) 画像処理装置、画像処理方法、学習装置、学習方法、及びプログラム
JP4581733B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム、画像処理システム
JP4697519B2 (ja) 符号化装置および方法、復号装置および方法、画像処理システム、記録媒体、並びにプログラム
JP4491701B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2003303330A (ja) データ変換装置およびデータ変換方法、学習装置および学習方法、並びにプログラムおよび記録媒体
JP4696577B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム、画像処理システムおよび方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees