(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像には人物写真、風景写真、イラストなど様々な種類が含まれる。例えば、イラストはエッジ成分を多く含むため強い高周波成分を含むのに対し、風景画像はすべての周波数成分を満遍なく含むなど、画像の種類によって特性が異なる。
【0006】
しかしながら、これらの画像の特性を無視して、1つのCNNを用いて入力画像を超解像度処理したのでは、満足の行く結果が得られない場合がある。例えば、低周波成分を多く含む画像を多く用いて機械学習したCNNにより、高周波成分を多く含む画像を超解像度処理した場合には、高周波成分の再現性が損なわれることが考えられる。また、高周波成分を多く含む画像を多く用いて機械学習したCNNにより低周波成分を多く含む画像を超解像度処理した場合には、高周波ノイズが発生したりすることが考えられる。
【0007】
そのうえ、複数のCNNのプリセットの中からユーザが最適なものを選択するのは一般的に困難である。このため、従来は、上述のように多くの種類の学習用画像を利用してCNNを作成せざるを得なかった。多くの種類の学習用画像を利用する場合には、学習用画像の枚数が膨大となるため、機械学習に時間を要し、CNNの構成も複雑なものとなる。
【0008】
本発明はこのような事情に鑑みてなされたものであり、高精度な超解像度画像を高速に作成することのできる超解像度処理装置、超解像度処理方法およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のある局面に係る超解像度処理装置は、第2解像度の画像を超解像度処理して、第2解像度よりも高解像度の第3解像度の画像を作成する超解像度処理装置であって、第3解像度の画像を含む学習用セットのサブセットである第1階層の複数の学習用サブセットの各々について、該学習用サブセットを用いて機械学習された、第2解像度の画像を第3解像度の画像に超解像度処理するための第1フィルタ、および第2解像度よりも低解像度の第1解像度の画像を第2解像度の画像に超解像度処理するための第2フィルタを取得する第1階層フィルタ取得部と、第2解像度の入力画像から第1解像度の縮小画像を作成する縮小画像作成部と、前記第1階層フィルタ取得部が取得した各前記第2フィルタを用いて、前記第1解像度の縮小画像を超解像度処理して第2解像度の候補画像を作成する候補画像作成部と、前記候補画像作成部が作成した前記第2解像度の候補画像と前記第2解像度の入力画像との差分が最小となる第2フィルタに対応する第1フィルタを用いて、前記第2解像度の入力画像を超解像度処理することにより、第3解像度の超解像度画像を作成する超解像度処理部とを備える。
【0010】
この構成によると、第2解像度の候補画像と第2解像度の入力画像との差分が最小となる第2フィルタを複数の第2フィルタの中から選択することができる。また、選択した第2フィルタに対応する第1フィルタを用いて、入力画像を超解像度処理することができる。第2フィルタは、第1フィルタと同じ学習用サブセットを用いて機械学習されているため、第1フィルタと同様の性質を有し、かつ、第2フィルタが対象とする入力画像の解像度は第1フィルタが対象とする入力画像の解像度よりも小さい。このため、入力画像に最適な性質を有する第2フィルタを高速に選択することができ、選択した第2フィルタに対応した第1フィルタを用いて入力画像に超解像度処理を実行することで、高精度な超解像度画像を高速に作成することができる。
【0011】
好ましくは、上述の超解像度処理装置は、さらに、前記差分が最小となる前記第2フィルタを機械学習するのに用いた前記第1階層の学習用サブセットのサブセットである第2階層の複数の学習用サブセットの各々について、該学習用サブセットを用いて機械学習された第1フィルタおよび第2フィルタを取得する第2階層フィルタ取得部を備え、前記候補画像作成部は、さらに、前記第2階層フィルタ取得部が取得した前記第2階層の各前記第2フィルタを用いて、前記第1解像度の縮小画像を超解像度処理して第2解像度の候補画像を作成し、前記超解像度処理部は、さらに、前記候補画像作成部が前記第2階層の前記第2フィルタを用いて作成した前記第2解像度の候補画像と前記第2解像度の入力画像との差分が最小となる第2フィルタに対応する第1フィルタを用いて、前記第2解像度の入力画像を超解像度処理することにより、前記第3解像度の超解像度画像を作成する。
【0012】
この構成によると、第1階層において第2フィルタを選択し、選択した第2フィルタに基づいて、さらに、第2階層における第2フィルタを選択することができる。また、選択した第2フィルタに対応する第1フィルタを用いて、入力画像を超解像度処理することができる。このように、第1フィルタおよび第2フィルタを階層構造化することができるため、効率的に第2フィルタおよび該第2フィルタに対応する第1フィルタを選択することができる。これにより、高精度な超解像度画像を高速に作成することができる。
【0013】
本発明の他の局面に係る超解像度処理方法は、第2解像度の画像を超解像度処理して、第2解像度よりも高解像度の第3解像度の画像を作成する
装置を機能させるための超解像度処理方法であって、第3解像度の画像を含む学習用セットのサブセットである第1階層の複数の学習用サブセットの各々について、該学習用サブセットを用いて機械学習された、第2解像度の画像を第3解像度の画像に超解像度処理するための第1フィルタ、および第2解像度よりも低解像度の第1解像度の画像を第2解像度の画像に超解像度処理するための第2フィルタを取得するステップと、第2解像度の入力画像から第1解像度の縮小画像を作成するステップと、取得された各前記第2フィルタを用いて、前記第1解像度の縮小画像を超解像度処理して第2解像度の候補画像を作成するステップと、作成された前記第2解像度の候補画像と前記第2解像度の入力画像との差分が最小となる第2フィルタに対応する第1フィルタを用いて、前記第2解像度の入力画像を超解像度処理することにより、第3解像度の超解像度画像を作成するステップとを含む。
【0014】
この構成は、上述した超解像度処理装置が備える処理部に対応するステップを含む。このため、上述した超解像度処理装置と同様の作用および効果を奏することができる。
【0015】
本発明の他の局面に係るコンピュータプログラムは、第2解像度の画像を超解像度処理して、第2解像度よりも高解像度の第3解像度の画像を作成するためのコンピュータプログラムであって、コンピュータを、第3解像度の画像を含む学習用セットのサブセットである第1階層の複数の学習用サブセットの各々について、該学習用サブセットを用いて機械学習された、第2解像度の画像を第3解像度の画像に超解像度処理するための第1フィルタ、および第2解像度よりも低解像度の第1解像度の画像を第2解像度の画像に超解像度処理するための第2フィルタを取得する第1階層フィルタ取得部と、第2解像度の入力画像から第1解像度の縮小画像を作成する縮小画像作成部と、前記第1階層フィルタ取得部が取得した各前記第2フィルタを用いて、前記第1解像度の縮小画像を超解像度処理して第2解像度の候補画像を作成する候補画像作成部と、前記候補画像作成部が作成した前記第2解像度の候補画像と前記第2解像度の入力画像との差分が最小となる第2フィルタに対応する第1フィルタを用いて、前記第2解像度の入力画像を超解像度処理することにより、第3解像度の超解像度画像を作成する超解像度処理部として機能させる。
【0016】
この構成によると、コンピュータを、上述した超解像度処理装置として機能させることができる。このため、高精度な超解像度画像を高速に作成することができる。
【0017】
なお、本発明に係るコンピュータプログラムを、CD−ROM(Compact Disc-Read Only Memory)等のコンピュータ読取可能な非一時的な記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。また、本発明は、超解像度処理装置の一部又は全部を実現する半導体集積回路として実現したり、超解像度処理装置を含むシステムとして実現したりすることもできる。
【発明の効果】
【0018】
本発明によると、高精度な超解像度画像を高速に作成することができる。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲によって特定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
【0021】
図1は、本発明の実施の形態に係る超解像度処理装置の構成を示すブロック図である。
図2は、本発明の実施の形態で取り扱う画像のサイズおよびフィルタを説明するための図である。
【0022】
図1を参照して、超解像度処理装置1は、入力画像に対して超解像度処理を施し、入力画像よりも解像度の高い画像を作成する装置であり、入力画像取得部10と、縮小画像作成部11と、機械学習部12と、第1階層フィルタ取得部13と、候補画像作成部14と、第2階層フィルタ取得部15と、超解像度処理部16と、記憶装置17とを備える。
【0023】
本実施の形態では、2Kサイズ(1920×1080ピクセル)の入力画像に対して超解像度処理を施し、4Kサイズ(3840×2160ピクセル)の画像を作成する例について説明する。ただし、超解像度処理装置1が対象とする画像のサイズはこれらに限定されるものではない。
【0024】
入力画像取得部10は、超解像度処理の対象となる入力画像を取得する。例えば、入力画像取得部10は、記憶装置17に記憶されている画像の中からユーザがキーボード等を用いて選択した画像を、記憶装置17から読み出すことにより、当該画像を入力画像として取得してもよい。また、入力画像取得部10は、ネットワーク等を介して画像をダウンロードすることにより、当該画像を入力画像として取得してもよい。
【0025】
図2に示すように、本実施の形態では、入力画像のサイズ(解像度)は、2Kサイズ(第2解像度)であるものとする。
【0026】
再度
図1を参照して、縮小画像作成部11は、入力画像取得部10が取得した入力画像を縮小することにより縮小画像を作成する。
【0027】
図2に示すように、本実施の形態では、縮小画像作成部11は、入力画像を縦および横それぞれ1/2に縮小する。縮小画像のサイズ(解像度)は、QHD(Quarter High Definition)サイズ(960×540ピクセル)(第1解像度)であるものとする。
【0028】
なお、縮小画像作成部11は、入力画像以外にも、超解像度処理のためのフィルタを機械学習するために用意された学習用画像も縮小する。
【0029】
つまり、記憶装置17には、予め4Kサイズの複数の学習用画像を含む学習用セットが記憶されているものとする。また、学習用セットには、人物写真、風景写真、イラストなどの様々な種類の学習用画像が含まれるものとする。縮小画像作成部11は、記憶装置17から学習用セットを読み出し、学習用セットに含まれる各学習用画像を、縦および横それぞれ1/2に縮小した2Kサイズの縮小画像と、縦および横それぞれ1/4に縮小したQHDサイズの縮小画像とを作成する。
【0030】
以下では、学習用画像から作成した2Kサイズの縮小画像およびQHDサイズの縮小画像のことも学習用画像と言う。また、学習用セットには、複数の4Kサイズの学習用画像のみならず、これらから作成した2Kサイズの学習用画像およびQHDサイズの学習用画像が含まれるものとする。なお、本実施の形態では、入力画像のサイズは、学習用セットに含まれる2Kサイズの学習用画像と同じものとしているが、必ずしも両者のサイズは同じである必要はなく、学習用画像のサイズが入力画像のサイズと異なっていてもよい。
【0031】
機械学習部12は、学習用セットに含まれる画像を用いて、超解像度処理を行うためのフィルタを機械学習により作成する。なお、機械学習部12は、学習用セットに含まれる画像を階層構造化して、各階層において、フィルタを作成する。
【0032】
図3は、階層構造化された学習用セットおよびフィルタの一例を示す図である。
つまり、機械学習部12は、以下のような手順により、階層構造化された学習用セットおよびフィルタを作成する。
【0033】
まず、機械学習部12は、学習用セットに含まれる2Kサイズの学習用画像と、4Kサイズの学習用画像とを用いて、2Kサイズの画像を4Kサイズの画像に超解像度処理するためのCNN(Convolutional Neural Network)を作成する。
図2に示すように、2Kサイズの画像を4Kサイズの画像に超解像度処理するCNNを、第1CNNまたは第1フィルタと言う。機械学習部12は、2Kサイズの学習用画像をCNNの入力とし、4Kサイズの学習用画像をCNNの出力として、CNNの各層における重みおよびバイアスを機械学習することで、第1CNNを作成する。学習用セットを用いて作成した第1CNNを、
図3に示すように第1CNN0と言う。
【0034】
なお、本実施の形態では、機械学習部12は、超解像度処理するためのフィルタとしてCNNを例に説明するが、フィルタはCNNに限定されるものではなく、複数の学習用画像から機械学習されるその他のフィルタに対しても本発明を適用することができる。
【0035】
次に、機械学習部12は、第1CNN0を用いて、学習用セットを3つのサブセット(学習用サブセット1〜3)に分類する。例えば、機械学習部12は、第1CNN0により超解像度処理された画像と、学習用画像との差分に基づいて、上記分類を行う。
【0036】
具体的には、機械学習部12は、学習用セットに含まれる2Kサイズの各学習用画像を第1CNN0に入力することにより、4Kサイズの画像を作成する。
【0037】
次に、機械学習部12は、第1CNN0が作成した4Kサイズの画像と、上記2Kサイズの学習用画像を作成するのに用いた4Kサイズの学習用画像との差分を算出する。画像間の差分は、例えば、画素値の差分の二乗和または絶対値和により求めることができる。
【0038】
次に、機械学習部12は、算出した差分に基づいて、4Kサイズの学習用画像を3つのサブセットのいずれかに分類する。
【0039】
例えば、機械学習部12は、差分が第1閾値よりも大きい4Kサイズの学習用画像を学習用サブセット1に分類する。また、機械学習部12は、差分が第2閾値(ただし、第2閾値は第1閾値よりも小さい値)よりも大きいく、かつ第1閾値以下の4Kサイズの学習用画像を学習用サブセット2に分類する。また、機械学習部12は、差分が第2閾値以下の4Kサイズの学習用画像を学習用サブセット3に分類する。なお、機械学習部12は、4Kサイズの学習用画像から縮小画像作成部11が作成した2Kサイズの学習用画像およびQHDサイズの学習用画像も、4Kサイズの学習用画像と同じ学習用サブセットに分類する。これにより、
図3に示すように、学習用セットが学習用サブセット1〜3に分類される。
【0040】
上記の差分は、超解像度処理された画像の誤差を示しているため、学習用セットが誤差に基づいて、複数の学習用サブセットに分類されることになる。
【0041】
機械学習部12は、学習用サブセット1〜3のそれぞれを用いて、第1CNNと、QHDサイズの画像を2Kサイズの画像に超解像度処理するCNN(第2CNNまたは第2フィルタと言う)を作成する。
【0042】
例えば、機械学習部12は、学習用サブセット1に含まれる2Kサイズの学習用画像をCNNの入力とし、学習用サブセット1に含まれる4Kサイズの学習用画像をCNNの出力として、CNNの各層における重みおよびバイアスを機械学習することで、第1CNNを作成する。
【0043】
また、機械学習部12は、学習用サブセット1に含まれるQHDサイズの学習用画像をCNNの入力とし、学習用サブセット1に含まれる2Kサイズの学習用画像をCNNの出力として、CNNの各層における重みおよびバイアスを機械学習することで、第2CNNを作成する。
【0044】
機械学習部12は、学習用サブセット2および3についても、同様に、第1CNNおよび第2CNNを作成する。
【0045】
学習用サブセットiから作成された第1CNNをおよび第2CNNを、それぞれ、第1CNNiおよび第2CNNiと記載する(i=1〜3)。
【0046】
機械学習部12は、学習用サブセット1〜3のそれぞれを、さらに、3つのサブセットに分類する。
【0047】
例えば、機械学習部12は、第1CNN1を用いて、学習用サブセット1を3つのサブセット(学習用サブセット1−1〜1−3)に分類する。分類方法は、学習用セットの分類方法と分類の対象が異なる以外同様である。このため、その詳細な説明はここでは繰り返さない。
【0048】
また、機械学習部12は、学習用サブセット1−1〜1−3のそれぞれについて、第1CNNおよび第2CNNを作成する。CNNの作成方法は、学習用サブセット1を用いた第1CNNおよび第2CNNの作成方法と、利用する学習用サブセットが異なる以外同様である。このため、その詳細な説明はここでは繰り返さない。
【0049】
機械学習部12は、学習用サブセット2および3についても、学習用サブセットの分類処理および分類された学習用サブセットを用いたCNNの作成処理を行う。
【0050】
学習用サブセットiを分類することにより得られる学習用サブセットを、学習用サブセットi−jと記載する(i=1〜3,j=1〜3)。また、学習用サブセットi−jから作成された第1CNNおよび第2CNNを、それぞれ、第1CNNi−jおよび第2CNNi−jと記載する。
【0051】
機械学習部12が実行する処理により、
図3に示すような解像構造化された学習用セットおよびCNNの分類木が作成される。学習用セットおよび第1CNN0を第0階層とすると、第1階層には、学習用セットi、第1CNNiおよび第2CNNiが含まれる。また、第2階層には、学習用セットi−j、第1CNNi−jおよび第2CNNi−jが含まれる。
【0052】
以下に説明する第1階層フィルタ取得部13〜超解像度処理部16は、入力画像を超解像度処理するための処理部である。
【0053】
第1階層フィルタ取得部13は、第1階層の学習用サブセット1〜3のそれぞれについて、第1CNNおよび第2CNNを取得する。
【0054】
候補画像作成部14は、第1階層フィルタ取得部13が取得した第2CNNiを用いて、入力画像を縮小したQHDサイズの縮小画像を超解像度処理し、2Kサイズの画像を作成する。作成した2Kサイズの画像を候補画像と呼ぶ。つまり、候補画像作成部14は、QHDサイズの縮小画像を、第2CNNiに入力することにより、3枚の2Kサイズの候補画像を作成する。
【0055】
第2階層フィルタ取得部15は、第2階層の複数の学習用サブセットi−jの各々について、学習用サブセットi−jを用いて機械学習された第1CNNi−jおよび第2CNNi−jを取得する(i=1〜3,j=1〜3)。
【0056】
候補画像作成部14は、さらに、第2階層フィルタ取得部15が取得した第2CNNi−jを用いて、入力画像を縮小したQHDサイズの縮小画像を超解像度処理し、2Kサイズの画像(以下、「候補画像」という)を作成する。つまり、候補画像作成部14は、QHDサイズの縮小画像を、第2CNNi−jに入力することにより、2Kサイズの候補画像を作成する。
【0057】
超解像度処理部16は、候補画像作成部14が第2CNNiから作成した3枚の2Kサイズの候補画像のそれぞれと、2Kサイズの入力画像との差分を算出する。画像間の差分の算出方法については、上述した通りである。
【0058】
超解像度処理部16は、算出した差分が最小となる候補画像を作成するに用いた第2CNNmを特定し、特定した第2CNNmを機械学習するに用いた学習用サブセットmを特定する。
【0059】
超解像度処理部16は、特定した学習用サブセットmのサブセットである学習用サブセットm−j(j=1〜3)を特定する。例えば、m=1の場合には、学習用サブセット1−1〜1−3が特定される。
【0060】
超解像度処理部16は、さらに、学習用サブセットm−j(j=1〜3)の第2CNNm−jを用いて作成された3枚の候補画像の中から、2Kサイズの入力画像との差分が最小となる候補画像を特定する。
【0061】
超解像度処理部16は、特定した候補画像を作成するのに用いた第2CNNm−nに対応する第1CNNm−nを用いて、2Kサイズの入力画像を超解像度処理することにより、4Kサイズの超解像度画像を作成する。
【0062】
記憶装置17は、画像や各種データを記憶するための記憶装置であり、HDD(Hard Disk Drive)、不揮発性メモリまたは揮発性メモリなどにより構成される。
次に、超解像度処理装置1が実行する処理の手順について説明する。
【0063】
図4は、本発明の実施の形態に係る超解像度処理装置1が実行するフィルタ作成処理の処理手順を示すフローチャートである。
【0064】
図4に示すように、縮小画像作成部11は、記憶装置17に記憶されている学習用セットに含まれる4Kサイズの各学習用画像から、当該画像を、縦および横それぞれ1/2に縮小した2Kサイズの学習用画像と、縦および横それぞれ1/4に縮小したQHDサイズの学習用画像とを作成する(S1)。
【0065】
機械学習部12は、学習用セットに含まれる4Kサイズの学習用画像と2Kサイズの縮小画像とに基づいて、機械学習により、2Kサイズの画像を4Kサイズの画像に変換するための第1フィルタ(第1CNN0)を作成する(S2)。
【0066】
機械学習部12は、学習用セットに含まれる2Kサイズの各学習用画像を第1CNN0に入力することにより、4Kサイズの画像を作成する。次に、機械学習部12は、第1CNN0が作成した4Kサイズの画像と、上記2Kサイズの学習用画像を作成するのに用いた4Kサイズの学習用画像との差分を算出する。機械学習部12は、算出した差分に基づいて、4Kサイズの学習用画像を3つの学習用サブセット1〜3のいずれかに分類する(S3)。
【0067】
機械学習部12は、学習用サブセットi(i=1〜3)を用いて、第1CNNiと、第2CNNiを作成する(S4)。機械学習部12は、作成したCNNを、記憶装置17に記憶させる。なお、機械学習部12は、学習用サブセットi(i=1〜3)を適宜交換しながら、機械学習を繰り返し実行することにより、各学習用サブセットとの誤差が小さくなるように第1CNNiおよび第2CNNiを作成してもよい。
【0068】
機械学習部12は、学習用サブセット1〜3のそれぞれについて、学習用サブセットi(i=1〜3)に含まれる2Kサイズの各学習用画像を第1CNNiに入力することにより、4Kサイズの画像を作成する。次に、機械学習部12は、第1CNNiが作成した4Kサイズの画像と、上記2Kサイズの学習用画像を作成するのに用いた4Kサイズの学習用画像との差分を算出する。機械学習部12は、算出した差分に基づいて、4Kサイズの学習用画像を3つの学習用サブセットi−j(j=1〜3)のいずれかに分類する(S5)。これにより、学習用サブセット1〜3の各々が、さらに、3つの学習用サブセットに分類される。
【0069】
機械学習部12は、学習用サブセットi−j(i=1〜3,j=1〜3)を用いて、機械学習により、第1CNNi−jと、第2CNNi−jを作成する(S6)。機械学習部12は、作成したCNNを、記憶装置17に記憶させる。なお、機械学習部12は、学習用サブセットi−j(i=1〜3,j=1〜3)を適宜交換しながら、機械学習を繰り返し実行することにより、各学習用サブセットとの誤差が小さくなるように第1CNNi−jおよび第2CNNi−jを作成してもよい。
【0070】
図4に示したフィルタ作成処理により、
図3に示したような階層構図化されたCNNが作成される。
【0071】
図5は、本発明の実施の形態に係る超解像度処理装置1が実行する入力画像の超解像度処理の処理手順を示すフローチャートである。
【0072】
図5に示すように、入力画像取得部10は、超解像度処理の対象となる2Kサイズの入力画像を取得する(S11)。
【0073】
縮小画像作成部11は、入力画像取得部10が取得した2Kサイズの入力画像を縮小することによりQHDサイズの縮小画像を作成する(S12)。
【0074】
第1階層フィルタ取得部13は、
図3に示した分類木の第1階層のフィルタを取得する(S13)。つまり、第1階層フィルタ取得部13は、第1CNN1〜3と、第2CNN1〜3とを、記憶装置17から取得する。
【0075】
候補画像作成部14は、第2CNN1〜3に、入力画像を縮小したQHDサイズの縮小画像を入力することにより、3枚の2Kサイズの候補画像を作成する(S14)。
【0076】
超解像度処理部16は、ステップS14で作成された3枚の2Kサイズの候補画像のそれぞれと、2Kサイズの入力画像との差分を算出する(S15)。
【0077】
超解像度処理部16は、ステップS15で算出した差分が最小となる候補画像を作成するに用いた第2CNNmを特定する(S16)。例えば、差分が最小となる候補画像を作成するのに用いが第2CNNが第2CNN1であると特定される。
【0078】
なお、第2CNN1〜3への入力は、QHDサイズの縮小画像に限定されるものではない。例えば、入力画像から切り出した一部の画像を第2CNN1〜3に入力してもよい。例えば、入力画像から、等間隔に小領域を切り出すことにより該一部の画像を作成してもよいし、入力画像の画素を等間隔に間引くことで該一部の画像を作成してもよい。また、入力画像と同様の性質を有するであろうと想定される複数の画像の中から、一部の画像の一部分を切り出すことにより、該一部の画像を作成しても良い。例えば、入力画像が動画像の一部である場合には、入力画像と同じシーンの動画像の中から、一部の画像を取り出し、取り出した一部の画像から一部分を切り出しても良い。
【0079】
また、該一部の画像に基づいて第2CNN1〜3が作成する候補画像と、該一部の画像との差分から、第2CNNmを上記と同様に特定してもよい。このような処理により、第2CNNmを特定するために必要な時間を短縮することができる。
【0080】
第2階層フィルタ取得部15は、ステップS16で特定された第1階層の第2CNNmの下位の階層である第2階層のフィルタを取得する(S17)。つまり、第2階層フィルタ取得部15は、
図3に示した分類木における第1CNNm−jと、第2CNNm−jとを、記憶装置17から読み出す(j=1〜3)。例えば、第2階層フィルタ取得部15は、第1CNN1−1〜1−3と、第2CNN1−1〜1−3とを、記憶装置17から読み出す。
【0081】
候補画像作成部14は、第2CNNm−j(j=1〜3)に、入力画像を縮小したQHDサイズの縮小画像を入力することにより、3枚の2Kサイズの候補画像を作成する(S18)。
【0082】
超解像度処理部16は、ステップS18で作成された3枚の2Kサイズの候補画像のそれぞれと、2Kサイズの入力画像との差分を算出する(S19)。
【0083】
超解像度処理部16は、ステップS19で算出した差分が最小となる候補画像を作成するに用いた第2CNNm−nを特定する(S20)。例えば、差分が最小となる候補画像を作成するのに用いた第2CNNが第2CNN1−2であると特定される。
【0084】
なお、第2CNNm−j(j=1〜3)への入力は、QHDサイズの縮小画像に限定されるものではない。例えば、入力画像から切り出した一部の画像を第2CNNm−j(j=1〜3)に入力してもよい。例えば、入力画像から、等間隔に小領域を切り出すことにより該一部の画像を作成してもよいし、入力画像の画素を等間隔に間引くことで該一部の画像を作成してもよい。また、入力画像と同様の性質を有するであろうと想定される複数の画像の中から、一部の画像の一部分を切り出すことにより、該一部の画像を作成しても良い。例えば、入力画像が動画像の一部である場合には、入力画像と同じシーンの動画像の中から、一部の画像を取り出し、取り出した一部の画像から一部分を切り出しても良い。
【0085】
また、該一部の画像に基づいて第2CNNm−j(j=1〜3)が作成する候補画像と、該一部の画像との差分から、第2CNNm−nを上記と同様に特定してもよい。このような処理により、第2CNNm−nを特定するために必要な時間を短縮することができる。
【0086】
超解像度処理部16は、ステップS20で特定された第2階層の第2CNNm−nに対応する第1CNNm−nを用いて、2Kサイズの入力画像を超解像度処理することにより、4Kサイズの超解像度画像を作成する(S21)。上記の例では第1CNN1−2を用いて、超解像度処理が行われる。
【0087】
以上説明したように、本発明の実施の形態によると、2Kサイズの入力画像を縮小したQHDサイズの縮小画像を超解像度処理した時の誤差が最小となる第2CNNを、分類木を用いて探索することができる。第2CNNは、第1CNNと同様の性質を有し、かつ第2CNNが対象とする入力画像の解像度は第1CNNが対象とする入力画像の解像度よりも小さい。このため、第2CNNを効率的に探索することができる。また、探索された第2CNNに対応する第1CNNを用いて、入力画像を超解像度処理することにより、誤差の少ない高精度な超解像度画像を作成することができる。
【0088】
つまり、第1CNNと、該第1CNNとペアをなす第2CNNとは、サイズの異なる同一の学習用画像を用いて機械学習が行われる。このため、第2CNNが精度よく超解像度処理することのできる画像は、該第2CNNとペアをなす第1CNNによっても、精度よく超解像度処理されることが期待できる。これにより、誤差が最小となる第2NNとペアをなす第1CNNを選択し、選択した第1CNNを用いて入力画像を超解像度処理することにより、入力画像を超解像度処理した時の誤差が小さくなると期待できる。
【0089】
また、第2CNNの構成を第1CNNの構成よりも小さくし、第2CNNを選択した後に、選択した第2CNNに対応する第1CNNを選択することとしているため、第1CNNの選択の処理速度を向上させることができる。ただし、第2CNNの構成は必ずしも第1CNNの構成よりも小さくなくてもよい。
【0090】
なお、上述の実施の形態では、学習用セットおよび学習用サブセットを、それぞれ、3つの学習用サブセットに分類したが、分類する学習用サブセットの個数は3つに限定されるものではなく、2つ以上であればよい。
【0091】
また、
図3に示したように、学習用サブセットの階層は2階層としたが、1階層であってもよいし、3階層以上あってもよい。
【0092】
また、上述の実施の形態では、超解像度処理された画像と学習用画像との差分に基づいて、学習用セットおよび学習用サブセットを分類したが、分類の仕方はこれに限定されるものではない。例えば、画像の種類(イラスト、風景写真、人物写真)をさらに考慮して分類を行ってもよい。
【0093】
また、上述の実施の形態では、第1CNNおよび第2CNNは、画像の全体領域を入力として受け、超解像度処理を行うものとして説明したが、各CNNは、画像を分割した複数のブロック領域をそれぞれ入力として受け、各ブロック領域を超解像度処理した後にマージする構成であってもよい。また、各ブロック領域は、隣接するブロック領域とオーバーラップしていてもよいし、ブロック領域間でサイズが異なっていてもよい。このように、CNNを構成することにより、学習用画像の全体領域を入力とせずとも、一部の領域だけを利用してCNNの学習を行うことが可能となる。
【0094】
また、超解像度処理装置1が処理対象とする画像は、イラストや写真等の通常の画像に限定されるものではない。例えば、MRI(Magnetic Resonance Imaging)画像やCT(Computed Tomography)画像などの医療用のスキャンデータのような、測定データの分布図を処理対象としても良い。また、ベクトルの構造体や、ボクセル画像のような3次元構造体など、超解像度処理が提供可能な処理対象であれば、超解像度処理装置1の入力とすることができる。
【0095】
また、上記の超解像度処理装置1は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクドライブ、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムとして構成されてもよい。RAMまたはハードディスクドライブには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、超解像度処理装置1は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0096】
さらに、上記の超解像度処理装置1を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0097】
さらにまた、上記の超解像度処理装置1を構成する構成要素の一部または全部は、超解像度処理装置1に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0098】
また、本発明は、上記に示す方法であるとしてもよい。また、本発明は、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0099】
さらに、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読取可能な非一時的な記録媒体、例えば、フレキシブルディスク、ハードディスクドライブ、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの非一時的な記録媒体に記録されている上記デジタル信号であるとしてもよい。
【0100】
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0101】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。
【0102】
また、上記プログラムまたは上記デジタル信号を上記非一時的な記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
さらに、上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
【0103】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【解決手段】第2解像度よりも高解像度の第3解像度の画像を含む学習用セットのサブセットである第1階層の複数の学習用サブセットの各々について、第2解像度の画像を第3解像度の画像に超解像度処理するための第1フィルタ、および第2解像度よりも低解像度の第1解像度の画像を第2解像度の画像に超解像度処理するための第2フィルタを取得する第1階層フィルタ取得部と、第2解像度の入力画像から第1解像度の縮小画像を作成する縮小画像作成部と、各第2フィルタを用いて、第1解像度の縮小画像を超解像度処理して第2解像度の候補画像を作成する候補画像作成部と、第2解像度の候補画像と第2解像度の入力画像との差分が最小となる第2フィルタに対応する第1フィルタを用いて、第2解像度の入力画像を超解像度処理する超解像度処理部とを備える。