(発明の基礎となった知見)
背景技術で説明したように、高解像度画像と低解像度画像の対応関係の事例を学習した学習データベースを用いる、学習方式の超解像技術が知られている(特許文献1)。
図1は、学習方式である特許文献1に記載の処理と同様の処理を行う画像処理装置600の構成を示すブロック図である。
図1に示されるように、画像処理装置600は、学習データベース610と、画像拡大部620と、探索データ生成部630と、学習データ選択部650と、加算部670とを備える。
次に、図1に示される画像処理装置600の動作について説明する。
図2は、図1に示される画像処理装置600が行う処理の流れを示すフローチャートである。
画像処理装置600は、インデックスデータと該インデックスデータに対応する高周波成分データ651とが対応づけて格納された学習データベース610を用いて、低解像度の入力画像601を高解像度の出力画像602に変換する。インデックスデータは、低周波成分の画像である。
学習データベース610には、複数のインデックスデータと、当該複数のインデックスデータにそれぞれ対応する複数の高周波成分データ651とが格納されている。インデックスデータおよび高周波成分データ651は、ブロック形状の画像である。
まず、画像拡大部620は、入力画像601を拡大して仮拡大画像621を生成する(S4001)。
続いて、仮拡大画像621内の処理対象ブロック毎に以下の処理が行われる。
まず、探索データ生成部630は、仮拡大画像621から抽出した処理対象ブロックの中周波成分データと、処理対象ブロックに隣接するブロックである隣接ブロックの処理済みの高周波成分データとを連結して、探索データ631を生成する(S4002)。すなわち、探索データ631は、中周波成分データ、および隣接ブロックとの重複領域における高周波成分データから構成される。探索データ631は、ブロック形状の画像である。
次に、学習データ選択部650は、学習データベース610に格納されている複数のインデックスデータのうち、探索データ631と最も類似度の高いインデックスデータに対応する高周波成分データ651を1つ選択する(S4003)。
続いて、加算部670は、選択した高周波成分データ651を仮拡大画像621に加算する(S4004)。これにより、入力画像601よりも高解像度の出力画像602が生成される。
しかしながら、このような構成では、学習データベース610に格納される高周波成分データの数が少ないときに処理対象の入力画像に対して類似度が十分高いデータが存在しない場合がある。このような場合、生成される出力画像の画質が十分でないという課題がある。
上記課題を解決するために、本発明の一態様に係る画像処理方法は、学習画像の高周波成分から得られる第1学習データと、前記学習画像の少なくとも低周波成分から得られる第2学習データとの対である学習データ対が複数格納された学習データベースを用いて、入力画像から該入力画像よりも解像度が高い出力画像を生成する画像処理を行う画像処理方法であって、前記学習データベースに格納された複数の前記第2学習データそれぞれについて、異なる複数の処理を行うことによって前記処理ごとに得られる複数の第3学習データを生成する第1生成ステップと、前記第1生成ステップにおいて複数の前記第2学習データから生成された複数の前記第3学習データの中から、前記入力画像の特徴を示す特徴データと最も類似度の高い前記第3学習データである選択データを選択する選択ステップと、前記選択データの生成に用いられた前記第2学習データと、当該第2学習データに対して前記選択データを生成するために行われた前記処理である第1処理とを特定し、特定した前記第2学習データと対になる前記第1学習データに前記第1処理を行うことによって高周波データを生成する第2生成ステップと、前記高周波データが示す画像を前記入力画像に加えることによって前記出力画像を生成する第3生成ステップとを含む。
つまり、一の第2学習データからL(2以上の整数)個の第3学習データが生成される場合、学習データ対がK(2以上の整数)組格納された学習データベースから、K×Lの第3学習データを生成する。このため、入力画像(第1特徴データ)とより類似度の高い高周波データが生成されて入力画像に加算されることから、生成される出力画像の画質を高めることができる。
また、本発明の一態様において、前記入力画像は、所定の画像を拡大した画像を複数の処理対象ブロックに区画した場合の一の前記処理対象ブロックであってもよい。
また、本発明の一態様において、前記第1生成ステップは、前記画像処理が行われるごとに動的に行われてもよい。
また、本発明の一態様において、前記特徴データのデータサイズは、前記第1学習データおよび前記第2学習データのサイズよりも小さくてもよい。
これにより、例えば、特徴データ、第1学習データ、および第2学習データが画像である場合、第2学習データの回転や、平行移動により第3学習データを生成することが容易となる。
また、本発明の一態様において、前記第1生成ステップにおいて前記第2学習データに行われる前記処理には、四則演算を用いない処理が含まれてもよい。
これにより、データの入れ替え等の簡易な処理により第3学習データを生成することができる。
また、本発明の一態様において、前記第1学習データ、および前記第2学習データは、画像であり、前記第1生成ステップにおいて前記第2学習データに行われる処理には、前記第2学習データに含まれる画素の配置を入れ替える処理、または前記第2画像データに含まれる画素の画素値の符号もしくはビットを反転する処理が含まれてもよい。
また、本発明の一態様において、前記第1学習データ、および前記第2学習データは、画像であり、前記データサイズは、画像の画素数であり、前記第1生成ステップにおいて前記第2学習データに行われる処理には、画像のアフィン変換が含まれてもよい。
また、本発明の一態様において、前記第1学習データ、および前記第2学習データは、画像であり、前記入力画像の、水平方向における画素数と垂直方向における画素数とが異なる場合、前記第1生成ステップにおいて前記第2学習データに行われる処理には、画像の回転および画像の転置が含まれなくてもよい。
すなわち、水平方向の画素数と、垂直方向の画素数とが異なる場合は、中周波データ生成部が第2学習データに行う処理を回転や転置を含まない処理に限定してもよい。これにより、画質の向上が望める中周波データが効率的に生成される。
また、本発明の一態様において、前記第1学習データ、および前記第2学習データは、画像であり、前記データサイズは、画像の画素数であり、前記第1生成ステップにおいて前記第2学習データに行われる処理には、画像の平行移動が含まれてもよい。
また、本発明の一態様において、前記画像の平行移動には、サブピクセル単位の移動が含まれてもよい。
また、本発明の一態様において、前記第1生成ステップは、さらに、前記学習データベースに格納された複数の前記第2学習データそれぞれについて異なる複数の第2処理を行うことによって前記第2処理ごとに複数得られるデータであって、なおかつ前記第3学習データよりも情報量が小さいデータである簡易第3学習データを複数生成し、前記複数の簡易第3学習データの中から、前記特徴データの情報量を削減した簡易特徴データと類似度の高い前記簡易第3学習データを所定数選択する絞込みステップを含み、前記第1生成ステップでは、前記学習データベースに格納された複数の前記第2学習データそれぞれについて異なる複数の前記処理を行うことによって前記処理ごとに得られる前記複数の前記第3学習データであって、前記絞込みステップにおいて選択された所定数の前記簡易第3学習データにそれぞれ対応する所定数の前記第3学習データを生成してもよい。
また、本発明の一態様において、前記特徴データ、および前記第2学習データは、画像であり、前記絞込みステップでは、前記簡易特徴データ、および前記簡易第3学習データとして画像変形に対して不変なデータが用いられてもよい。
また、本発明の一態様において、前記特徴データ、および前記第2学習データは、画像であり、前記絞込みステップにおいて、前記特徴データに画像のビット精度を削減する処理、または画像の画素の間引き処理が行われることで前記簡易特徴データが生成され、前記第2処理には、画像のビット精度を削減する処理、または画像の画素の間引き処理が含まれてもよい。
また、本発明の一態様に係る画像処理方法は、学習画像の高周波成分から得られる第1学習データと、前記学習画像の少なくとも低周波成分から得られる第2学習データとの対である学習データ対が複数格納された学習データベースを用いて、入力画像から該入力画像よりも解像度が高い出力画像を生成する画像処理を行う画像処理方法であって、前記入力画像の特徴を示す第1特徴データに異なる複数の処理を行うことで前記処理ごとに得られる複数の第2特徴データを生成する第1生成ステップと、前記第1生成ステップにおいて生成された複数の前記第2特徴データのそれぞれについて、前記学習データベースに格納された複数の前記第2学習データのそれぞれとの類似度を算出し、最も類似度の高い前記第2特徴データと、前記第2学習データとの組み合わせである選択データ対を選択する選択ステップと、前記選択データ対に含まれる前記第2特徴データに処理を行って、前記第1特徴データを生成する場合の前記処理を第1処理とした場合に、前記選択データ対に含まれる前記第2学習データに前記第1処理を行うことによって高周波データを生成する第2生成ステップと、前記高周波データが示す画像を前記入力画像に加えることによって前記出力画像を生成する第3生成ステップとを含んでもよい。
つまり、一の第1特徴データ(特徴データ)からL(2以上の整数)個の第2特徴データが生成され、L個の第2特徴データと学習データベースに格納されたK個の第2学習データそれぞれについて類似度が算出される。これにより、入力画像とより類似度の高い高周波データが生成されて入力画像に加算されることから、生成される出力画像の画質を高めることができる。
また、本発明の一態様に係る画像処理装置は、入力画像から該入力画像よりも解像度が高い出力画像を生成する画像処理を行う画像処理装置であって、学習画像の高周波成分から得られる第1学習データと、前記学習画像の少なくとも低周波成分から得られる第2学習データとの対である学習データ対が複数格納された学習データベースと、前記学習データベースに格納された複数の前記第2学習データそれぞれについて、異なる複数の処理を行うことによって前記処理ごとに得られる複数の第3学習データを生成する中周波データ生成部と、前記中周波データ生成部が複数の前記第2学習データから生成した複数の前記第3学習データの中から、前記入力画像の特徴を示す特徴データと最も類似度の高い前記第3学習データである選択データを選択する学習データ選択部と、前記選択データの生成に用いられた前記第2学習データと、当該第2学習データに対して前記選択データを生成するために行われた前記処理である第1処理とを特定し、特定した前記第2学習データと対になる前記第1学習データに前記第1処理を行うことによって高周波データを生成する高周波データ生成部と、前記高周波データが示す画像を前記入力画像に加えることによって前記出力画像を生成する加算部とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態について説明する。以下の説明では、同一の構成要素には、同一の符合を付してあり、同一の符号が付された構成要素についての詳細な説明は、省略される場合がある。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
図3は、実施の形態1に係る画像処理装置100の構成を示すブロック図である。
画像処理装置100は、装置の外部から取得する入力全体画像101を用いて、該入力全体画像101より解像度が高い出力全体画像102を生成する装置である。なお、入力全体画像101は、動画像であってもよいし、静止画像であってもよい。
図3に示されるように、画像処理装置100は、学習データベース110と、画像拡大部120と、特徴データ抽出部130と、学習データ選択部150と、高周波データ生成部160と、加算部170とを備える。
まず、学習データベース110について説明する。
図4は、学習データベースを説明するための図である。
図4に示されるように、学習データベース110は、学習高周波画像P11[1],P11[2],・・・,P11[K]と、学習中周波画像P12[1],P12[2],・・・,P12[K]とが対応づけられて格納される。なお、Kは、2以上の整数である。
学習高周波画像P11[K](第1学習データ)は、後述する高解像度な出力全体画像を生成するための学習データであり、学習画像P1[K]の高周波成分から得られる画像である。なお、以下においては、学習高周波画像P11[1],P11[2],・・・,P11[K]の各々は、単に、学習高周波画像P11とも記述される。
学習中周波画像P12[K](第2学習データ)は、後述する学習データ選択部150が適切な学習高周波画像P11[K]を選択するための学習データであり、学習画像P1[K]の少なくとも低周波成分から得られる画像である。なお、以下においては、学習中周波画像P12[1],P12[2],・・・,P12[K]の各々は、単に、学習中周波画像P12とも記述される。
なお、学習高周波画像P11とは、言い換えれば、低周波成分が除かれた学習画像P1であり、学習中周波画像P12とは、言い換えれば、学習画像P1の高周波成分を除いた画像(学習低周波画像)に、さらにハイパスフィルタをかけた画像を意味する。
このように、学習高周波画像P11[K]と、学習中周波画像P12[K]とは、同一の学習画像P1[K]から生成される、互いに対応した画像対である。すなわち、学習データベース110には、学習高周波画像P11と、学習中周波画像P12とが対応づけられた学習画像対(学習データ対)が複数組格納される。具体的には、学習データベース110は、学習画像対P10[1],P10[2],・・・,P10[K]を格納する。
なお、以下においては、学習画像対P10[1],P10[2],・・・,P10[K]の各々は、単に、学習画像対P10とも記載される。また、K組の学習画像対P10の各々は、互いに異なるものであるが、同一の画像内の同一のブロックから生成されたものである。
学習高周波画像P11の画像サイズは、学習中周波画像P12の画像サイズと同じである。本実施の形態では、学習高周波画像P11および学習中周波画像P12の各々の画像サイズは、一例として、横(水平方向)7画素×縦(垂直方向)7画素のサイズである。
Kは、本実施の形態では、10万程度であるとする。すなわち、学習データベース110には、約10万組の学習画像対P10が格納されているとする。
画像拡大部120は、入力全体画像101を拡大して仮拡大画像121を生成する。入力全体画像101は、解像度変換の対象となる全体画像である。入力全体画像101のサイズは、一例として、横1920画素×縦1080画素のサイズである。なお、入力全体画像101のサイズは、横1920画素×縦1080画素のサイズに限定されず、例えば、横1440画素×縦1080画素のサイズであってもよい。
特徴データ抽出部130は、仮拡大画像121から第1特徴データ131(特徴データ)を抽出する。第1特徴データ131の抽出は、例えば、仮拡大画像121にハイパスフィルタを適用することで行われる。ハイパスフィルタは、第1特徴データ131と学習中周波画像P12との類似度を効率的に算出するために用いられる。つまり、本実施の形態では、第1特徴データは、学習中周波画像P12と比較の対象となり得る画像である。
なお、特徴データ抽出部130は、仮拡大画像121にバンドパスフィルタを適用することで第1特徴データ131を抽出してもよい。また、特徴データ抽出部130は、例えば、第1の補間拡大方式で入力全体画像101を拡大した仮拡大画像と、第2の補間拡大方式で入力全体画像101を拡大した仮拡大画像との差分を第1特徴データ131として抽出してもよい。補間拡大方式は、例えば、スプライン補間法や、ニアレストネイバー法などである。
中周波データ生成部140は、学習データベース110に格納された複数の学習中周波画像P12それぞれについて、一の学習中周波画像P12に処理を行った画像である中周波データP120(第3学習データ)を処理ごとに複数生成する。
具体的には、中周波データ生成部140は、学習データベース110に格納されたK個の学習中周波画像P12[1],P12[2],・・・,P12[K]の各々から、それぞれL種類の中周波データP120[1][1],P120[1][2],・・・,P120[1][L],P120[2][1],P120[2][2],・・・,P120[2][L],・・・,P120[K][1],P120[K][2],・・・,P120[K][L]を生成する。なお、Lは2以上の整数である。中周波データ生成部140の処理の詳細については後述する。
なお、以下においては、中周波データP120[1][1],・・・,P120[K][L]の各々は、単に、中周波データP120とも記載される。
学習データ選択部150は、特徴データ抽出部130から出力される処理対象ブロックごとの第1特徴データ131と、中周波データ生成部140から出力されるK×L個の中周波データP120の各々との類似度を算出する。
そして、学習データ選択部150は、第1特徴データ131と類似度が最も高い中周波データP120を選択し、類似度が最も高い中周波データP120に対応するパラメータ151を高周波データ生成部160に出力する。パラメータ151は、選択した中周波データP120の元となった学習中周波画像P12を指す第1パラメータI1と、選択した中周波データP120を生成するために学習中周波画像P12に行われた処理を指す第2パラメータI2とから構成される。
高周波データ生成部160は、まず、第1パラメータI1が指す学習中周波画像P12に対応する学習高周波画像P11を学習データベース110から取得する。次に、高周波データ生成部160は、第2パラメータI2が指す処理を第1パラメータI1が指す学習中周波画像P12に対応する学習高周波画像P11に行うことにより高周波データP110を生成する。すなわち、高周波データ生成部160は、中周波データ生成部140が学習中周波画像P12から中周波データP120を生成するのと同様に、学習高周波画像P11から高周波データP110を生成する。
加算部170は、仮拡大画像121に対して、処理対象ブロックごとに高周波データP110を加算することにより、出力全体画像102を生成する。
特許文献1に示される技術では、学習データベースに保持されたK個の学習中周波画像P12の中から最も類似度の高い学習中周波画像P12が選択され、これに対応する学習高周波画像P11が選択される。一方、実施の形態1では、K×L個の中周波データP120の中から最も類似度の高い中周波データP120が選択され、これに対応する高周波データP110が生成されるため、より類似度の高い高周波データが処理対象ブロックに加算される。
次に、画像処理装置100が行う、実施の形態1に係る高解像度画像の生成処理について説明する。
図5は、実施の形態1に係る高解像度画像の生成処理のフローチャートである。ここでは、入力全体画像101は、静止画像であるとして説明する。
まず、画像拡大部120は、図6に示されるように、入力全体画像101を、水平および垂直方向にそれぞれN(1より大きい実数)倍に拡大することにより、仮拡大画像121を生成する(図5のS1001)。
なお、入力全体画像101の拡大の処理は、バイキュービック法が用いられる。本実施の形態では、入力全体画像101は、一例として、水平および垂直方向にそれぞれ2倍に拡大される。
なお、入力全体画像101の拡大の処理は、バイキュービック法に限定されず、例えば、スプライン補間法などの画素補間手法であってもよい。また、入力全体画像101の水平および垂直方向の拡大率は、互いに異なってもよい。例えば、720×480画素のサイズの入力全体画像101を、1920×1080画素のサイズの仮拡大画像121に拡大する場合、入力全体画像101の水平方向における拡大率と、入力全体画像101の垂直方向における拡大率とは異なる。
なお、第1特徴データ131の抽出は、画像の拡大後に限定されるものでない。例えば、画像を縮小して第1特徴データ131の抽出を行い、その後、拡大した画像について以下のステップS1002〜ステップS1006の処理が行われてもよい。第1特徴データの抽出は、学習データベース110内の学習中周波画像P12とマッチング可能なように行われればよい。
続く、以下のステップS1002〜ステップS1006の処理は、仮拡大画像121を構成する複数のブロック単位で行われる。
図7は、ブロック単位に分割された仮拡大画像を示す図である。
図7に示されるように、仮拡大画像121は、複数のブロックNBに分割される。複数のブロックNBは、m行n列の行列を構成する。以下においては、仮拡大画像121内のm行n列に対応するブロックNBは、ブロックNB[mn]とも表記される。例えば、仮拡大画像121内の1行2列に対応するブロックNBは、ブロックNB[12]と表記される。
なお、本実施の形態では、ブロックNBの画像サイズは、学習高周波画像P11の画像サイズと同様に、横7画素×縦7画素の画像サイズである。
なお、ブロックNBの画像サイズは、学習高周波画像P11の画像サイズより小さくてもよい。例えば、学習高周波画像P11が横10画素×縦10画素の画像サイズであり、ブロックNBの画像サイズが横8画素×縦8画素の画像サイズであってもよい。
以下においては、仮拡大画像121内の複数のブロックNBのうち、処理対象となるブロックを、処理対象ブロックといい、処理対象ブロックは、ステップS1002〜ステップS1006の処理が行われる毎に、異なるブロックNBに変更される。
ステップS1001に続いて、特徴データ抽出部130は、処理対象ブロックから第1特徴データを抽出する(図5のS1002)。具体的には、特徴データ抽出部130は、線形フィルタ操作の一例であるハイパスフィルタをかけることで、処理対象ブロックから当該処理対象ブロックにおける画像の中周波成分である第1特徴データ131を抽出する。すなわち、第1特徴データ131は、処理対象ブロックの各周波数成分のうち、ハイパスフィルタを通過した中周波成分の画像である。この場合、第1特徴データ131は、複数の画素の画素値(輝度値)から構成される。
第1特徴データ131の画像サイズは、学習中周波画像P12の画像サイズ以下である。第1特徴データ131のサイズは、一例として、横7画素×縦7画素のサイズである。
なお、第1特徴データ131として抽出される処理対象ブロックの中周波成分の周波数帯域は、学習中周波画像P12に含まれる周波数帯域と重複する。
なお、実施の形態1では、ステップS1002においては仮拡大画像121が処理対象であるが、ステップS1002における処理対象は、入力全体画像101であってもよい。
ステップS1002に続いて、中周波データ生成部140は、学習データベース110に格納されるK個の学習中周波画像P12(第2学習データ)から、K×L個の中周波データP120(第3学習データ)を動的に生成する(図5のS1003)。ここで、動的とは、画像処理装置100が画像処理(図5のフローチャートで示される処理)を行うごとに中周波データ生成部140が、K×L個の中周波データP120を生成することを意味する。
1個の学習中周波画像P12からL個の中周波データP120の生成は、例えば、学習中周波画像P12を構成する画素の画素値のデータを入れ替えることで行われる。
図8は、学習中周波画像P12から生成される中周波データP120の例を示す図である。
図8の例では、学習中周波画像P12を画素の画素値の2次元配列とみなし、横方向または縦方向に上記2次元配列を反転させる処理、上記2次元配列の転置を行う処理、画素値の正負符号もしくはビットを反転させる処理、またはこれらの処理の組み合わせにより、L=16個の中周波データP120を生成している。なお、上記2次元配列の要素である画素値pが例えば0〜255に正規化されている場合、画素値の正負符号の反転は、255−pを意味する。
一般に、中周波データ生成部140が生成する中周波データP120は、学習中周波画像P12に行われる処理を表す関数を用いて、次式のように表される。
P120[k][l]=G(P12[k],l) ・・・(1)
ただし、G(X,l)は、Xからパラメータlを用いて新しいパターンを生成する処理を表す関数(生成関数)であり、k=1,・・・,Kである。パラメータlは、例えば図8の例では、l=1,・・・,L(=16)である。
なお、L個の中周波データを生成する方法は、上記の方法に限定されない。例えば、学習データ選択部150の選択に使用する画像サイズよりも大きなサイズの画像が学習データベース110に格納されている場合は、上記2次元配列を平行移動させたり、アフィン変換などを用いて上記2次元配列の回転等の変形を行ったりしてもよい。このとき、非整数位置の画素値が必要な場合は、例えばバイキュービック法により補間生成してもよい。また、画像の回転角度は、図8に示されるような90度単位に限定されず、例えば、45度単位で回転させてもよい。
図9は、学習中周波画像から生成される中周波データの別の例を示す図である。なお、図9では、学習データ選択部150の選択に使用する画像サイズは、7×7画素であり、学習データベース110に格納されている学習中周波画像P12の画像サイズは9画素×9画素である。また、生成関数Gは、学習中周波画像P12を縦方向および横方向にそれぞれ1画素ずつ平行移動させ、なおかつ中央の7画素×7画素の部分を抽出する関数である。生成関数Gで表される処理は、言い換えれば、9画素×9画素の学習中周波画像P12から、7画素×7画素の画像を抽出する(切り取る)処理である。
したがってこの場合、図9に示されるように、L=9個の中周波データが生成される。
また、図9に示される処理は、式(1)において、生成関数Gが平行移動を表す関数とし、変数lをl=p(1),・・・,p(L)のように関数pに置き換えることで表現される。ここで、p(1),・・・,p(L)は、1つ以上の数値を保持するパラメータ群であり、生成関数Gが平行移動を表す場合、pは、平行移動量を表す実数である。なお、生成関数Gが回転を表す場合、関数pは、回転量を表す実数である。
例えば、関数pは、図9に示されるように、p(1)=(1,1),p(2)=(0,1),p(3)=(−1,1),p(4)=(1,0),・・・,p(9)=(−1,−1)のように表される。
なお、平行移動は、サブピクセル単位で行われてもよい。この場合、サブピクセルの画素値は、サブピクセル推定等の補間技術により求められる。また、一つの画素がRGBで構成されている場合は、RGBそれぞれに対して、サブピクセル単位での平行移動を行う。
なお、画像拡大部120の拡大における水平方向の拡大率と、垂直方向の拡大率とが同一でない場合(処理対象ブロックの、水平方向における画素数と垂直方向における画素数とが異なる場合)、中周波データ生成部140は、学習中周波画像P12の回転や転置を行わないようにしてもよい。
入力全体画像の水平方向の拡大率と垂直方向の拡大率とが異なる場合、水平方向と垂直方向とで、学習高周波画像P11と学習中周波画像P12との関係が変化する。具体的には、例えば、水平方向の拡大率が2倍で垂直方向の拡大率が1倍の場合、水平方向の拡大率の方が高いため、垂直線の周波数帯域は、水平線の周波数帯域よりも低くなる。
このような場合、学習データベース110に含まれる水平線を回転や転置をして垂直線を生成しても、本来垂直線が持つべき周波数特性が満たされないため、画質の向上が望めない。
そこで、水平方向の拡大率と、垂直方向の拡大率とが異なる場合は、中周波データ生成部140が学習中周波画像P12に行う処理を回転や転置を含まない処理に限定してもよい。これにより、画像処理装置100は、画質の向上が望める中周波データを効率的に生成して出力画像を高画質化することができる。
ステップS1003に続いて、学習データ選択部150は、第1特徴データ131と、K×L個の中周波データP120の各々との類似度を算出し、最も類似度が高い中周波データP120を選択する(図5のS1004)。
類似度は、例えば、第1特徴データ131に含まれる複数の画素の画素値と、各中周波データP120に含まれる複数の画素の画素値との差分絶対値和(マンハッタン距離)により算出される。差分絶対値和が小さい程、第1特徴データ131と中周波データP120との類似度は高くなる。なお、類似度は、差分二乗和(ユークリッド距離)を用いて算出されてもよい。
そして、学習データ選択部150は、類似度に基づいて選択された中周波データP120に対応するパラメータ151(第1パラメータI1および第2パラメータI2)を高周波データ生成部160に出力する。第1パラメータI1および第2パラメータI2は、具体的には、式(1)のk、lの数値である。
ステップS1004に続いて、高周波データ生成部160は、学習データベース110から第1パラメータI1が指す学習高周波画像P11を取得し、学習高周波画像P11に第2パラメータI2が指す処理を行って高周波データP110を生成する(図5のS1005)。
例えば、高周波データ生成部160が学習高周波画像P11[k]に行う処理は、中周波データ生成部140が最も類似度が高い中周波データP120を生成するために学習中周波画像P12[k]に行った処理と同一である。
すなわち、高周波データP110の生成は次式で表される。
P110=G(P11[I1],I2) ・・・(2)
図10は、学習中周波画像から生成される最も類似度の高い中周波データの例を示す図である。
図10では、学習中周波画像P12[71]から生成された中周波データP120[71]のうちから、学習データ選択部150が中周波データP120[71][6]を選択した例が示されている。
図11は、学習高周波画像から生成される高周波データの例を示す図である。
図11では、選択された中周波データP120[71][6]の元となる学習中周波画像P12[71]に対応する学習高周波画像P11[71]と、これに第2パラメータI2が指す処理を行って生成された高周波データP110が図示されている。
なお、図11の破線内には、式(2)においてI1=71かつI2=1,・・・,L(=16)とした場合の16個の高周波データについても併せて図示されている。
そして、高周波データ生成部160は、生成した高周波データP110を、加算部170へ送信する。
ステップS1005に続いて、加算部170は、高周波データP110を、仮拡大画像121内のブロックNB(処理対象ブロック)に加算する(図5のS1006)。高周波データP110は、処理対象ブロックよりも高精細な画像である。
以下、高周波データP110の加算処理について詳細に説明する。ここでは、一例として、処理対象ブロックが、図6に示される仮拡大画像121内のブロックNB[11]であるとする。また、上述のように高周波データP110の画像サイズと、ブロックNB[11]の画像サイズとは、横7画素×縦7画素で同一である。
この場合、加算部170は、ブロックNB[11]を構成する各画素の画素値それぞれに対し、これに対応する高周波データP110を構成する各画素の画素値それぞれを加算する。
なお、高周波データP110の画像サイズは、処理対象ブロックの画像サイズよりも大きくてもよい。
この場合、加算部170は、高周波データP110の中心位置が、ブロックNB[11]の中心位置と一致するように配置された場合に、ブロックNB[11]を構成する各画素と、これに重なる高周波データP110各画素の画素値同士を加算する。この場合、高周波データP110の各画素のうち一部の画素(ブロックNB[11]と重ならない画素)の画素値は、当該画素が重なるブロックNB[11]に隣接するブロックNBの画素の画素値とそれぞれ加算され、画素値が平均化される。
ここで、隣接するブロックNBは、例えば、ブロックNB[11],NB[12],NB[21],NB[22]である。また、画素値が平均化されるとは、具体的には、重複して加算された画素の画素値を加算された回数で除算して、周辺の画素とエネルギーを合わせることを意味する。
また、隣接するブロックNBが互いにオーバーラップするような場合は、高周波データP110の画像サイズは、処理対象ブロックの画像サイズよりも小さくてもよい。
以上説明したステップS1002〜ステップS1006の処理は、仮拡大画像121内の全てのブロックNBに対して行われる。これにより、出力全体画像102が生成される。また、処理対象の入力全体画像101が動画像である場合は、動画像を構成する1フレーム毎に、上記ステップS1001〜ステップS1006の処理が繰り返し行われる。
以上説明したように、画像処理装置100によれば、一の学習中周波画像P12から複数の中周波データP120を生成して処理対象ブロックとマッチングさせるパターンを増やすことができる。これにより、処理対象ブロック(入力画像)とより類似度の高い高周波データが得られやすくなり、より高解像度な出力画像を生成することができる。
なお、第1特徴データは、実施の形態1では、ハイパスフィルタを用いて得られた画像であるが、これに限定されない。例えば、第1特徴データは、処理対象ブロックが示す、画素値、色差、RGB値等であってもよい。また、第1特徴データは、例えば、処理対象ブロックから得られる画素値のモーメント等(平均、分散、尖度、歪度)であってもよい。
また、第1特徴データは、例えば、同時生起行列から得られる特徴量(均質性、異質性、コントラスト、平均、標準偏差、角2次モーメント、エントロピー)であってもよい。また、第1特徴データは、例えば、主成分分析(座標変換)における主要成分、独立成分分析における主要成分等であってもよい。
なお、上記の第1特徴データは、典型例を示すものであり、これらに限定されるものではない。
なお、実施の形態1では、学習データベースには、第1学習データである学習高周波画像P11と、第2学習データである学習中周波画像P12とが格納されていたが、第1学習データおよび第2学習データは画像に限定されない。
第1学習データ及び第2学習データは、例えば、学習画像P1の画素値、色差、RGB値等であってもよい。また、第1学習データ及び第2学習データは、例えば、学習画像P1から得られるモーメント(平均、分散、尖度、歪度)であってもよい。
また、第1学習データおよび第2学習データは、例えば、同時生起行列から得られる特徴量(均質性、異質性、コントラスト、平均、標準偏差、角2次モーメント、エントロピー)であってもよい。また、第1学習データ及び第2学習データは、例えば、主成分分析(座標変換)における主要成分、独立成分分析における主要成分等であってもよい。
(実施の形態2)
次に、実施の形態2に係る画像処理装置200の動作について説明する。
図12は、実施の形態2に係る画像処理装置200の構成を示すブロック図である。
図12に示されるように、画像処理装置200は、図3に示される画像処理装置100と比較して、特徴データ生成部240と、学習データ選択部250および高周波データ生成部260の動作とが異なる。
以下、画像処理装置200が備える複数の構成要素のうち、実施の形態1の画像処理装置100と同じ構成要素の説明については省略し、相違点となる特徴データ生成部240、学習データ選択部250および高周波データ生成部260について説明する。
実施の形態2では、学習中周波画像P12から中周波データP120を生成して処理対象ブロックとマッチングさせるパターンを増やす代わりに、仮拡大画像121から抽出した第1特徴データ131から第2特徴データを生成することにより学習中周波画像P12とマッチングさせるパターンを増やす。
すなわち、図12に示される画像処理装置200の特徴データ生成部240は、一の第1特徴データ131に画像処理を行った画像である第2特徴データを画像処理ごとに複数生成する。具体的には、特徴データ生成部240は、一の第1特徴データ131からL個の第2特徴データP020[1],P020[2],・・・,P020[L]を生成する。なお、Lは、2以上の整数である。
なお、以下においては、第2特徴データP020[1],P020[2],・・・,P020[L]の各々は、単に、第2特徴データP020とも記載される。
学習データ選択部250は、特徴データ生成部240から出力されるL個の第2特徴データP020の各々と、学習データベース110から出力されるK個の学習中周波画像P12(第2学習データ)の各々との類似度を算出する。
そして、学習データ選択部250は、算出した類似度が最も高い第2特徴データP020とこれに対応する学習中周波画像P12を選択し、類似度が最も高い第2特徴データP020に対応するパラメータ251を高周波データ生成部260に出力する。パラメータ251は、選択した学習中周波画像P12を指す第1パラメータI1と、選択した第2特徴データP020を生成するために第1特徴データ131に行われた処理を指す第2パラメータI2とから構成される。
高周波データ生成部260は、まず、第1パラメータI1が指す学習中周波画像P12に対応する学習高周波画像P11(第1学習データ)を学習データベース110から取得する。次に、高周波データ生成部260は、第2パラメータI2が指す処理と逆の処理(つまり、第1特徴データ131を生成するために第2特徴データP020に行う処理)を学習中周波画像P12に対応する学習高周波画像P11に行うことにより高周波データP110を生成する。高周波データ生成部260の高周波データ生成方法についての詳細は後述する。
次に、画像処理装置200が行う、実施の形態2に係る高解像度画像の生成処理について説明する。
図13は、実施の形態2に係る高解像度画像の生成処理のフローチャートである。なお、図13において、ステップS1001、ステップS1002およびステップS1006では、実施の形態1の図5を用いて説明したものと同様の処理が行われる。よって、以下では主に、図13のステップS2003、ステップS2004、およびステップS2005について説明する。
まず、画像拡大部120は、入力全体画像101を、拡大して仮拡大画像121を生成する(S1001)。
次に、特徴データ抽出部130は、処理対象ブロックから第1特徴データ131を抽出する(S1002)。
続いて、特徴データ生成部240は、特徴データ抽出部130から出力される第1特徴データ131から、L個の第2特徴データP020を動的に生成する(S2003)。ここで、動的とは、画像処理装置200が画像処理(図13のフローチャートで示される処理)を行うごとに特徴データ生成部240が、L個の第2特徴データP020を生成することを意味する。
第2特徴データP020の生成は、実施の形態1における中周波データの生成と同様の処理により実施される。すなわち、P020の生成は、実施の形態1で説明した関数G(X,l)を用いて次式で表される。
P020[l]=G(P02,l) ・・・(3)
ただし、l=1,・・・,Lである。
なお、L個の中周波データを生成する方法は、上記の方法に限定されない。例えば、第1特徴データ131が、学習データ選択部250の選択に使用する画像サイズよりも大きなサイズの画像である場合は、第1特徴データ131を構成する画素の配列を平行移動させたり、アフィン変換などを用いて画素の配列の回転等の変形を行ったりしてもよい。このとき、非整数位置の画素の画素値が必要な場合は、例えばバイキュービック法により補間生成してもよい。
次に、学習データ選択部250は、L個の第2特徴データP020各々と、K個の学習中周波画像P12の各々との類似度を算出し、最も類似度の高い第2特徴データP020と、学習中周波画像P12との組み合わせ(選択データ対)を選択する(S2004)。
類似度は、例えば、各第2特徴データP020に含まれる複数の画素の画素値と、各学習中周波画像P12に含まれる複数の画素の画素値との差分絶対値和(マンハッタン距離)により算出される。差分絶対値和が小さい程、第2特徴データP020と学習中周波画像P12との類似度は高くなる。なお、類似度は、差分二乗和(ユークリッド距離)を用いて算出されてもよい。
そして、学習データ選択部250は、最も類似度の高い第2特徴データP020と学習中周波画像P12の組み合わせを選択し、当該組み合わせに含まれる第2特徴データP020及び学習中周波画像P12に対応するパラメータ251(第1パラメータI1および第2パラメータI2)を高周波データ生成部260に出力する。第1パラメータI1および第2パラメータI2は、具体的には、式(2)のlを表す。I1は、選択した学習中周波画像P12、及びこれに対応する学習高周波画像P11を指す1〜Kの整数であり、I2は、選択した第2特徴データP020を生成するために第1特徴データ131に行われた処理を指す1〜Lの整数である。
続いて、高周波データ生成部260は、学習データベース110から第1パラメータI1が指す学習高周波画像P11を取得し、第2パラメータI2が指す処理に基づき、高周波データP110を生成する(S2005)。
ここで、高周波データ生成部260の高周波データP110の生成処理は、特徴データ生成部240がP12からP120を生成する処理の逆の処理となる。すなわち、第1特徴データ131を生成するために第2特徴データP020に行う処理を学習中周波画像P12に行うことによって高周波データP110を生成する。
学習高周波画像P11と高周波データP110との関係は次式で表される。
P11[I1]=G(P110,I2) ・・・(4)
高周波データP110は、上式をP110について解くことで得られる。
図14は、高周波データ生成部260の高周波データP110の生成の一例を示す図である。図14の(a)は、第1特徴データ131から第2特徴データP020を生成する方法を示す図であり、図14の(b)は、学習高周波画像P11から高周波データP110を生成する方法を示す図である。
図14の(a)において、O(1)は、画像を右回転する処理であり、O(2)は、画像を垂直上方向に平行移動する処理である。すなわち、図14の(a)では、特徴データ生成部240は、O(1)、O(2)の処理をこの順番で第1特徴データ131に行ってP020を生成する。
一方、図14の(b)において、O’(2)は、画像を垂直下方向に平行移動する処理であり、O(1)と移動方向が逆の処理である。また、O’(1)は、画像を左回転する処理であり、O(1)と回転方向が逆の処理である。すなわち、図14の(b)では、高周波データ生成部260は、学習高周波画像P11にO’(2)、O’(1)の処理をこの順番で学習高周波画像P11に行って高周波データP110を生成する。
高周波データ生成部260の高周波データP110の生成方法は、式(3)を用いた場合、次のように説明される。
式(3)において、第2特徴データP020を生成するために第1特徴データ131に行われるN回の処理を処理順にO(1),O(2),・・・,O(N)とし、これらの処理にそれぞれ対応する逆の処理をそれぞれO’(1),O’(2),・・・,O’(N)とする。この場合、学習高周波画像P11に対してO’(N),O’(N−1),・・・,O’(1)の処理を行うことにより高周波データP110が生成される。
以上説明したように、画像処理装置200によれば、一の第1特徴データ131から複数の第2特徴データP020を生成して、処理対象ブロックにマッチングする学習中周波画像P12を効果的に選択することができる。すなわち、画像処理装置200によれば、実施の形態1で説明した画像処理装置100と同様に、処理対象ブロックとより類似度の高い高周波データP110が得られやすくなり、より高解像度な出力画像を生成することができる。
また、画像処理装置200では、生成するデータの数(第2特徴データP020の数)を、画像処理装置100が生成するデータの数(中周波データP120の数)よりも抑制できる。すなわち、画像処理装置200は、画像処理装置100よりもさらに少ない演算量で、画像処理装置100とほぼ同等の高解像度な出力画像を生成することができる効果を奏する。
(実施の形態3)
次に、本発明の実施の形態3に係る画像処理装置300の動作について説明する。
図15は、実施の形態3に係る画像処理装置300の構成を示すブロック図である。
図15に示されるように、画像処理装置300は、図3に示される画像処理装置100と比較して、中周波データ絞込み部330と、中周波データ生成部340の動作とが異なる。
以下、画像処理装置300が備える複数の構成要素のうち、実施の形態1の画像処理装置100と同じ構成要素の説明については省略し、相違点となる中周波データ絞込み部330および中周波データ生成部340について説明する。
実施の形態3では、中周波データ生成部340で学習中周波画像P12から中周波データP120を生成する前に、中周波データ絞込み部330において、学習中周波画像P12の絞込みを行う。以下では、まず、絞込みについて具体的に説明する。
図16は、中周波データ絞込み部330の具体的な構成の例を示すブロック図である。
図16の中周波データ絞込み330部は、簡易特徴データ抽出部332と、簡易中周波データ生成部334と、簡易中周波データ選択部336とを備える。
簡易特徴データ抽出部332は、仮拡大画像121(の処理対象ブロック)から簡易第1特徴データ333を抽出する。簡易第1特徴データ333の抽出は、仮拡大画像121に、例えばハイパスフィルタと二値化処理とを行うことによって行われる。簡易第1特徴データ333は、特徴データ抽出部130で生成される第1特徴データ131よりも情報量が削減された画像である。なお、簡易第1特徴データ333の抽出方法の詳細については後述する。
簡易中周波データ生成部334は、学習データベース110に格納された複数の学習中周波画像P12それぞれについて、一の学習中周波画像P12[K]に処理を行った画像である簡易中周波データP121を処理ごとに複数生成する。具体的には、簡易中周波データ生成部334は、学習データベース110に格納されたK個の学習中周波画像P12[1],P12[2],・・・,P12[K]の各々から、それぞれL個の簡易中周波データP121[1][1],P121[1][2],・・・,P121[1][L],P121[2][1],P121[2][2],・・・,P121[2][L],・・・,P121[K][1],P121[K][2],・・・,P121[K][L]を生成する。なお、Lは2以上の整数である。簡易中周波データ生成部334の処理の詳細については後述する。
なお、以下においては、簡易中周波データP121[1][1],・・・,P121[K][L]の各々は、単に、簡易中周波データP121とも記載される。簡易中周波データP121は、後段の中周波データ生成部340で生成される中周波データP120と比較して、情報量が少ない画像である。
簡易中周波データ選択部336は、簡易特徴データ抽出部332から出力される簡易第1特徴データ333と、簡易中周波データ生成部334から出力されるK×L個の簡易中周波データP121の各々との類似度を算出する。
そして、簡易中周波データ選択部336は、類似度が高いものから順番にM個の簡易中周波データP121を選択する。
すなわち、簡易中周波データ選択部336は、K×L個の簡易中周波データP121をM個に絞り込む。
簡易中周波データ選択部336は、選択したM個のパラメータ331を中周波データ生成部340に出力する。パラメータ331は、選択した簡易中周波データP121の元となった学習中周波画像P12を指す第3パラメータI3と、簡易中周波データP121を生成するために学習中周波画像P12に行われた処理を指す第4パラメータI4とから構成される。具体的には、I3は、学習中周波画像P12に対応する1〜Kの整数であり、I4は、簡易中周波データP121を生成するために学習中周波画像P12に行われた処理に対応する1〜Lの整数である。
中周波データ生成部340は、まず、第3パラメータI3が指す学習中周波画像P12を学習データベース110から取得する。次に、第4パラメータI4が指す処理を第3パラメータI3が指す学習中周波画像P12に行うことで、絞り込まれたM個の中周波データP120を生成する。
次に、画像処理装置300が行う、実施の形態3に係る高解像度画像の生成処理について説明する。
図17は、実施の形態3に係る高解像度画像の生成処理のフローチャートである。なお、図17において、ステップS1001、ステップS1002、ステップS1004、ステップS1005、およびステップS1006では、実施の形態1の図5を用いて説明した処理と同様の処理が行われる。よって、以下では主に、図17のステップS3002、ステップS3003、ステップS3004、ステップS3005について主に説明する。
まず、実施の形態1と同様に、仮拡大画像121が生成され(S1001)、特徴データ抽出部130は、処理対象ブロックから第1特徴データ131を抽出する(S1002)。
次に、簡易特徴データ抽出部332は、処理対象ブロックから簡易第1特徴データ333を抽出する(S3002)。具体的には、まず、簡易特徴データ抽出部332は、仮拡大画像121の処理対象ブロックに対し、線形フィルタ演算などを用いたハイパスフィルタをかけることにより中周波成分の画像を抽出する。さらに、簡易特徴データ抽出部332は、抽出した中周波成分の画像の画素の画素値のビット精度を削減、あるいは画素の画素値の間引きを実施することにより、情報量を削減した画像を、簡易第1特徴データ333として抽出する。すなわち、簡易第1特徴データ333は、処理対象ブロックの各周波数成分(低周波成分)のうち、ハイパスフィルタを通過した中周波成分の画像の情報量を削減した画像である。
なお、実施の形態3では、ステップS3002においては仮拡大画像121が処理対象であるが、ステップS3002における処理対象は、入力全体画像101であってもよい。
次に、簡易中周波データ生成部334は、学習データベース110に格納されるK個の学習中周波画像P12から、K×L個の簡易中周波データP121を生成する(S3003)。
簡易中周波データP121の生成方法は、実施の形態1における中周波データの生成と、基本的には同様であるが、情報量の削減が行われる点でステップS1003と異なる。具体的には、簡易中周波データP121は、画素の配列の反転や転置、画素の配列の要素である画素値データの正負符号の反転などの画像変形処理がされた後、ステップS3002と同様にビット精度の削減または画素の間引きが実施されることで生成される。
なお、ステップS3002において、簡易第1特徴データとして、画像ではなくモーメント(平均、分散、尖度、歪度)など、画像変形に対する不変量を使用する場合、ステップS3003において画像変形処理を行う必要はない。この場合、学習データベース110に格納されるK個の学習中周波画像P12の各々について、ステップS3002と同じ画像変形に対する不変量を簡易中周波データP121として算出すればよい。なお、画像変形に対する不変量とは、画像変形を行っても値が変わらないデータを意味し、例えば、画像を構成する画素の画素値の平均は、画像を回転させても変化しないため、画像の回転処理に対して不変量である。
続いて、簡易中周波データ選択部336は、簡易第1特徴データ333と、K×L個の簡易中周波データP121の各々との類似度を算出し、類似度が高い順にM個の簡易中周波データP121を選択する(S3004)。
類似度は、例えば、簡易第1特徴データ333に含まれる複数の画素の画素値と、各簡易中周波データP121に含まれる複数の画素の画素値との差分絶対値和(マンハッタン距離)により算出される。差分絶対値和が小さい程、簡易第1特徴データ333と簡易中周波データP121との類似度は高くなる。なお、類似度は、差分二乗和(ユークリッド距離)を用いて算出されてもよい。
そして、簡易中周波データ選択部336は、類似度が高い上位M(<K×L)個の簡易中周波データP121について、P121の各々に対応するパラメータ331(第3パラメータI3と、第4パラメータI4)を中周波データ生成部340に出力する。
なお、K×L個からM個への絞り込み方は、例えば、K個の学習中周波画像P12をM1個に絞り込むことによって、M=M1×Lとしてもよい。すなわち、簡易中周波データ選択部336は、K個の簡易中周波データP121の中から簡易第1特徴データ333と類似度が高い順にM1個の簡易中周波データP121を選択する。そして、中周波データ生成部340は、選択されたM1個の簡易中周波データP121それぞれについてL種類の中周波データP120を生成する。簡易第1特徴データ333および簡易中周波データP121として、画像変形に対する不変量を用いる場合、この方式が有効である。
また、K×L個からM個への絞り込み方は、L種類の簡易中周波データP121をM2種類に絞り込むことによって、M=K×M2としてもよい。すなわち、簡易中周波データ選択部336は、一の簡易中周波データP121について、当該簡易中周波データP121から生成されるL種類の簡易中周波データP121の中から簡易第1特徴データ333と類似度が高い順にM2種類の簡易中周波データP121を選択する。そして、中周波データ生成部340は、K個の簡易中周波データP121それぞれについて、選択されたM2種類の簡易中周波データP121に対応する処理を行うことにより、K×M2種類の中周波データP120を生成する。この方式は、例えば、L個の簡易中周波データP121を生成する処理が画像の回転である場合、回転角度の絞り込みとして有効である。
また、上記を組み合わせて、M=M1×M2個にしてもよい。
次に、中周波データ生成部340は、第3パラメータI3が指す学習中周波画像P12を学習データベース110から取得し、取得した学習中周波画像P12それぞれについて第4パラメータI4が指す処理を行ってM個の中周波データP120を生成する(S3005)。
中周波データ生成部340の中周波データP120の生成方法は、実施の形態1における中周波データ生成部140と同様であるが、第3パラメータI3が指す学習中周波画像P12に対してのみ第4パラメータI4が指す処理をそれぞれ行って、M個の中周波データを生成するという点が異なる。
したがって、続くステップS1004において、学習データ選択部150は、第1特徴データ131と、M(<K×L)個の中周波データP120の各々との類似度を算出し、最も類似度が高い中周波データP120を選択する。このため、学習データ選択部150の類似度の算出の演算量を削減することができる。
以上、説明したように、実施の形態3では、仮拡大画像から抽出される簡易第1特徴データを用いて、簡易中周波データP121の絞込みを行う。簡易第1特徴データは、第1特徴データと比較して、ビット削減や画素間引きなどにより情報が削減されているため、選択の精度は荒いが少ない演算量で簡易中周波データP121を絞り込むことができる。絞り込まれた簡易中周波データP121に対応する中周波データP120が生成され、後段の学習データ選択部150では、高い精度で適切な中周波データP120が選択される。したがって、画像処理装置300は、画像処理装置100よりもさらに少ない演算量で、画像処理装置100とほぼ同等の高解像度な出力画像を生成することができる効果を奏する。
なお、簡易第1特徴データは、実施の形態3では、ハイパスフィルタを用いて得られた画像であるが、これに限定されない。例えば、簡易第1特徴データは、例えば、処理対象ブロックが示す、輝度、色差、RGB値等であってもよい。また、簡易第1特徴データは、例えば、処理対象ブロックから得られる画素値のモーメント等(平均、分散、尖度、歪度)であってもよい。
また、簡易第1特徴データは、例えば、同時生起行列から得られる特徴量(均質性、異質性、コントラスト、平均、標準偏差、角2次モーメント、エントロピー)であってもよい。また、簡易第1特徴データは、例えば、主成分分析(座標変換)における主要成分、独立成分分析における主要成分等であってもよい。
なお、上記の簡易第1特徴データは、典型例を示すものであり、これらに限定されるものではない。また、上記は、簡易中周波データについても同様である。
(その他の変形例)
以上、本発明に係る画像処理装置および画像処理方法について、上記各実施の形態に基づいて説明したが、本発明は、これら実施の形態に限定されるものではない。本発明の主旨を逸脱しない範囲内で、当業者が思いつく変形を本実施の形態に施したものも、本発明に含まれる。
例えば、実施の形態3において、学習データベース110に格納される、学習中周波画像P12に対応する簡易中周波データP121を保持しておいてもよい。簡易中周波データP121として、画像の変形に対する不変量を用いる場合は、学習中周波画像P12の個数と同じK個の簡易中周波データP121を保持すればよく、特に有効である。この場合、画像処理装置300が再度の画像処理を行う場合に、簡易中周波データ生成部334が簡易中周波データP121を算出する必要がない。すなわち、簡易中周波データ生成部334が簡易中周波データP121を算出する分に相当する演算量を削減することができる。
また、実施の形態2と実施の形態3を組み合わせて、入力画像から算出される第1特徴データから第2特徴データを生成する際に、簡易第2特徴データを生成して簡易中周波データP121と類似度の比較を行い、演算量を削減してもよい。
また、本実施の形態では、入力全体画像の拡大処理時に画像処理装置の画像処理が行われるが、拡大処理は行われなくてもよい。すなわち、画像処理装置の画像処理は、拡大の有無にかかわらず、解像度の低い画像に対して適用可能である。
また、以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムで実現され得る。RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ROMからRAMにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールには、上記の超多機能LSIが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有してもよい。
(4)本発明は、上記に示す方法で実現されてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムで実現してもよいし、コンピュータプログラムからなるデジタル信号で実現してもよい。
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したもので実現してもよい。また、これらの記録媒体に記録されているデジタル信号で実現してもよい。
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
以上、一つまたは複数の態様に係る画像処理装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。