以下に、本願の開示する電子機器および情報表示プログラムの実施例を図面に基づいて詳細に説明する。なお、本発明では、実施例により限定されるものではない。
[情報表示処理の一例]
図1は、実施例1の情報表示処理の一例を示す図である。図1に示すように、情報表示処理は、表示対象画像データに対して、例えば老眼でのぼやけ特性の逆の特性のフィルタ(「逆特性フィルタ」という)を適用する。すなわち、情報表示処理は、老眼の視界のぼやけを空間周波数におけるローパスフィルタとみなし、当該ローパスフィルタの逆関数となるハイパスフィルタである逆特性フィルタを適用する。すると、情報表示処理は、画素値のレンジが広がる。特に、情報表示処理は、逆特性フィルタを、画像データの中でも細かく絵柄が変化するエッジなどの部分、すなわち、高周波数成分の部分に施すと、高周波数を持ち上げ、色変化を増幅させる。これにより、老眼の利用者は、逆特性フィルタによる輪郭の強調により、老眼によるぼやけが解消してはっきりと視ることが可能になる。しかしながら、逆特性フィルタの出力値が最大(小)画素値を超過する場合、情報表示処理は、最大(小)画素値の範囲内に制限する必要がある。最大(小)画素値の範囲とは、例えば、8ビット画像データであれば、[0,255]における整数値で表わせる範囲である。ここで、異なる二つの実数a,bに対して[a,b]はa以上b以下の実数全体がなす閉区間を表す。
ここで、最大(小)画素値より超過する出力値を画素値範囲内に制限する手法として、クリップ処理と正規化処理がある。本発明におけるクリップ処理では、最大の画素値以上となった画素値を当該最大の画素値とし、最小の画素値以下となった画素値を当該最小の画素値とすることをいう。正規化処理とは、画素値の大小関係を保持しつつ、例えば8ビット画像データであれば画素値の範囲を閉区間[0,255]の整数値に狭めることをいう。
情報表示処理は、逆特性フィルタ後の画像データを形成する各画素の出力値に対して異なる複数のクリップ範囲でクリップ処理を適用する。加えて、情報表示処理は、それぞれのクリップ処理後の画像データを形成する各画素の出力値に対して正規化処理を適用して得られた複数の適用画像データの画像劣化度をそれぞれ算出する。そして、情報表示処理は、複数の画像劣化度に基づいて、画像劣化度が最小となる適用画像データを特定し、特定した適用画像データに対応するクリップ範囲[Cmin,Cmax]を特定する。ここでは、クリップ範囲外の画素値をクリップ範囲内の値(例えば最大画素値や最小画素値)に変更する。また、クリップ範囲の最大出力値を最大画素値に対応付け、クリップ範囲の最小出力値を最小画素値に対応付け、この間の出力値は大小関係を保持しつつ、例えば8ビット画像データであれば画素値の範囲を閉区間[0,255]の整数値に狭める。そして、情報表示処理は、特定された適用画像データを表示する。そして、情報表示処理は、表示画像データと異なる他の表示画像データを処理する場合には、特定されたクリップ範囲[Cmin,Cmax]でクリップ処理を適用し、かつ、クリップ処理後の出力値に正規化処理を適用する。
これにより、情報表示処理は、最終的な出力画像データに関し、表示画像データとの誤差を軽減し、逆特性フィルタによる高周波数成分の増幅効果を保持するとともに、画素値の相対的な大小関係を狭まることを抑制することができる。この結果、情報表示処理は、画像全体のコントラストを増大させることができる。
[電子機器の一例]
図2は、実施例1の電子機器の一例を示すブロック図である。図2に示すように、電子機器1は、メモリ2と、GPGPU(General-Purpose computing on Graphics Processing Units)3と、CPU(Central Processing Unit)4と、ディスプレイ5とを有する。メモリ2、GPGPU3、CPU4およびディスプレイ5は、バスで相互に接続されている。
メモリ2は、電子機器1が有する記憶装置であり、GPGPU3やCPU4が実行するプログラムやプログラムが用いる各種データを記憶する。メモリ2は、例えばRAM(Random Access Memory)、FRAM(登録商標)(Ferroelectric Random Access Memory)やフラッシュメモリ(Flash Memory)などの不揮発性の半導体メモリ素子等の記憶装置に対応する。
GPGPU3は、GPUの演算資源を用いて演算を行う。例えば、GPGPU3は、逆特性フィルタ処理、クリップ処理および正規化処理を行う。CPU4は、電子機器1の各種機能を発揮させるためのプログラムや、OS(Operating System)などのプログラムをメモリ2から読み出して実行する。
ディスプレイ5は、画像データ、模様や文章などの各種情報を表示する表示装置であり、例えば、液晶ディスプレイや有機EL(Electro Luminescence)などである。なお、図2に示した機能構成は、あくまで一例であり、通信回路や外部I/Oを有していても良い。
[電子機器の機能構成]
図3は、実施例1の電子機器の機能構成の一例を示すブロック図である。図3に示すように、メモリ2は、表示画像記憶部21、ぼやけ特性フィルタ記憶部22、逆特性フィルタ記憶部23およびクリップ範囲記憶部24を有する。
表示画像記憶部21は、ディスプレイ5に表示された画像の画像データを記憶する。
ぼやけ特性フィルタ記憶部22は、ぼやけ特性フィルタを記憶する。ぼやけ特性フィルタは、利用者の老眼での視界のぼやけを画像データに適用するローパスフィルタである。ぼやけ特性は、視覚特性の一例であり、利用者の視界のぼやけを再現するフィルタとみなせる。ぼやけ特性フィルタは、利用者の老眼度数、瞳孔径、眼と画像との間の距離などのパラメータおよびレンズの回析効果に応じて、ある1点から放射状に出力される光が、網膜上に投影される範囲を示す点像分布関数(PSF:Point Spread Function)で表わされる。
逆特性フィルタ記憶部23は、逆特性フィルタを記憶する。逆特性フィルタは、ぼやけ特性の逆特性のフィルタ(ハイパスフィルタ)である。ぼやけ特性の逆特性は、利用者の視界のぼやけを相殺するフィルタとみなせる。逆特性フィルタは、ぼやけ特性の逆特性を示すPSFで表わされる。
クリップ範囲記憶部24は、クリップ処理で用いられるクリップ範囲を記憶する。
GPGPU3は、逆特性フィルタ処理部31、クリップ処理部32、正規化処理部33およびぼやけ特性フィルタ処理部34を有する。CPU4は、画像劣化度算出部41、クリップ範囲更新部42および表示部43を有する。
逆特性フィルタ処理部31は、表示画像(原画像)データに対して、老眼でのぼやけ特性の逆特性を有する逆特性フィルタを適用する。例えば、逆特性フィルタ処理部31は、逆特性フィルタ記憶部23に記憶された逆特性フィルタを取得すると、表示画像記憶部21に記憶された表示画像データを取得する。逆特性フィルタ処理部31は、取得した表示画像データの各画素の画素値に逆特性フィルタを適用する。そして、逆特性フィルタ処理部31は、逆特性フィルタ処理後の画像データをクリップ処理部32に出力する。
クリップ処理部32は、逆特性フィルタ処理後の画像データを形成する各画素の画素値を、所定のクリップ範囲でクリップ処理する。ここでいう所定のクリップ範囲とは、逆特性フィルタ処理後の画像データの各画素の画素値のうち最大出力の画素値と最小出力の画素値との間で規定される上下限値を意味し、複数の上下限値を含む。所定のクリップ範囲は、例えば、後述するクリップ範囲更新部42によってクリップ範囲記憶部24に記憶される。そして、クリップ処理部32は、クリップ範囲記憶部24に記憶されたクリップ範囲を用いてクリップ処理を行う。また、クリップ処理部32は、後述するクリップ範囲更新部42によってクリップ範囲が決定された場合には、逆特性フィルタ処理後の画像データを形成する各画素の画素値を、決定されたクリップ範囲でクリップ処理する。そして、クリップ処理部32は、クリップ処理後の画像データを正規化処理部33に出力する。
正規化処理部33は、クリップ処理後の画像データを形成する各画素の画素値を正規化処理する。そして、正規化処理部33は、正規化処理後の画像データをぼやけ特性フィルタ処理部34および画像劣化度算出部41に出力する。また、正規化処理部33は、後述するクリップ範囲更新部42によってクリップ範囲が決定された場合には、決定されたクリップ範囲でクリップ処理がされたクリップ処理後の画像データを形成する各画素の画素値を、正規化処理する。そして、正規化処理部33は、正規化処理後の画像データを表示部43に出力する。かかる正規化処理後の画像データは、老眼向け補正画像データとなる。
ぼやけ特性フィルタ処理部34は、正規化処理後の画像データに対して、老眼でのぼやけ特性を有するぼやけ特性フィルタを適用する。そして、ぼやけ特性フィルタ処理部34は、ぼやけ特性フィルタ処理後の画像データを画像劣化度算出部41に出力する。かかるぼやけ特性フィルタ処理後の画像データは、老眼の利用者が老眼向け補正画像データをディスプレイで見たときの画像に対応する推定画像データである。すなわち、ぼやけ特性フィルタ処理後の画像データは、老眼による視界のぼやけが相殺された推定画像データである。
画像劣化度算出部41は、正規化処理後の画像データの画像劣化度を算出する。すなわち、画像劣化度算出部41は、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、さらに正規化処理した後の画像データの画像劣化度を算出する。かかる画像劣化度のことを「コントラスト画像劣化度」というものとする。なお、コントラスト画像劣化度の算出方法は、後述する。
また、画像劣化度算出部41は、ぼやけ特性フィルタ処理後の画像データの画像劣化度を算出する。すなわち、画像劣化度算出部41は、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、正規化処理し、さらにぼやけ特性フィルタ処理した後の画像データの画像劣化度を算出する。かかる画像劣化度のことを「クリップ誤差画像劣化度」というものとする。なお、クリップ誤差画像劣化度の算出方法は、後述する。
また、画像劣化度算出部41は、所定のクリップ範囲におけるコントラスト画像劣化度およびクリップ誤差画像劣化度を加算することで、所定のクリップ範囲における画像劣化度を算出する。そして、画像劣化度算出部41は、算出した、所定のクリップ範囲における画像劣化度をクリップ範囲更新部42に出力する。
クリップ範囲更新部42は、複数のクリップ範囲に対応する画像劣化度を用いて、画像劣化度が最小となるクリップ範囲を決定する。例えば、クリップ範囲更新部42は、複数のクリップ範囲に対応する画像劣化度を用いて、画像劣化度が最小となる正規化処理後の画像データを特定し、特定した画像データに対応するクリップ範囲を決定する。また、クリップ範囲更新部42は、選択されていない所定のクリップ範囲が存在する場合には、選択されていない所定のクリップ範囲をクリップ範囲記憶部24に更新する。
表示部43は、決定されたクリップ範囲に対する正規化処理後の画像データをディスプレイ5に表示させる。例えば、表示部43は、正規化処理部33から正規化処理後の画像データを取得すると、取得した画像データを表示対象画像データとしてディスプレイ5に出力する。この結果、表示部43は、画像劣化度が最小であるクリップ範囲が適用された画像データをディスプレイ5に表示させることができる。
[画像劣化度算出部の機能構成]
ここで、画像劣化度算出部41の構成について、図4を参照して説明する。図4は、実施例1の画像劣化度算出部の機能構成を示すブロック図である。図4に示すように、画像劣化度算出部41は、コントラスト画像劣化度算出部411と、クリップ誤差画像劣化度算出部412とを有する。コントラスト画像劣化度算出部411は、全画素分散値算出部411aと、単調減少関数演算部411bとを有する。クリップ誤差画像劣化度算出部412は、全画素誤差ノルム算出部412aと、単調増加関数演算部412bとを有する。
コントラスト画像劣化度算出部411は、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、さらに正規化処理した後の画像データのコントラストの低下を画像劣化度として算出する。
全画素分散値算出部411aは、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、さらに正規化処理した後の画像データを形成する全ての画素の画素値の分散を算出する。
単調減少関数演算部411bは、単調に減少する関数を用いてコントラスト画像劣化度を演算する。単調減少関数演算部411bで用いる単調減少関数は、一例として、f(x)=1/xが有るが、これに限定されず、単調に減少する関数であれば良い。単調減少関数演算部411bは、全画素分散値算出部411aによって算出された全画素の画素値の分散値を変数xに代入して関数値を算出する。算出された関数値が、所定のクリップ範囲におけるコントラスト画像劣化度となる。つまり、単調減少関数演算部411bは、全画素の画素値分散に対する単調減少関数の値を算出する。全画素の画素値分散の値が小さくなるにつれて、単調減少関数によって得られる値が大きくなるので、コントラスト画像劣化度が大きくなる。つまり、コントラストが低下することはコントラスト画像劣化度が増大することを意味する。なお、以降では、コントラスト画像劣化度をDcという場合もある。
クリップ誤差画像劣化度算出部412は、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、正規化処理し、さらにぼやけ特性フィルタ処理した後の画像データの原画像との誤差を画像劣化度として算出する。クリップ誤差画像劣化度算出部412は、全画素誤差ノルム演算部412aと、単調増加関数演算部412bとを有する。
全画素誤差ノルム算出部412aは、表示画像(原画像)データを逆特性フィルタ処理した後の画像データを所定のクリップ範囲でクリップ処理し、正規化処理し、さらにぼやけ特性フィルタ処理した後の画像データの原画像データとの誤差のノルムを算出する。ここでいうぼやけ特性フィルタ処理した後の画像データは、老眼の利用者が逆特性画像データをディスプレイで見たときの画像に対応する画像データであり、ぼやけ特性を相殺した画像データである。すなわち、全画素誤差ノルム算出部412aは、原画像データと、ぼやけ特性フィルタ処理した後の画像データとの画素ごとの誤差、すなわち差分により形成される画像データの、n次元線形空間上のノルムを算出する。ここで、画像データはその画素数をnとするとき、全画素の画素値を画素順に並べたn次元ベクトルと同一視でき、各ベクトルに対してn次元線形空間上のノルムが定義できる。ノルムとしては、例えば全画素の画素値の絶対和を用いても良く、これをSAD(Sum of Absoluted Difference)という。また、ベクトルの各要素の二乗和の平方根やベクトルの全要素のうち値の絶対値における最大値を用いても良い。また、ノルムの正定数倍もノルムになるため、全画素の絶対値の平均を用いても構わない。
単調増加関数演算部412bは、単調に増加する関数を用いてクリップ誤差画像劣化度を演算する。単調増加関数演算部412bで用いる単調増加関数は、一例として、g(x)=xが有るが、これに限定されず、単調に増加する関数であれば良い。例えば、単調増加関数演算部412bは、全画素誤差ノルム算出部412aによって算出されたノルムを変数xに代入して関数値を算出する。算出された関数値が、所定のクリップ範囲におけるクリップ誤差画像劣化度である。つまり、単調増加関数は、原画像データと老眼の利用者が逆特性画像を見たときの画像データとの画素ごとの誤差のノルムに対する単調増大関数である。そして、ノルムが大きくなるにつれて、単調増加関数演算部412bによって得られる値が大きくなるので、クリップ誤差画像劣化度が大きくなる。なお、以降では、クリップ誤差画像劣化度をDeという場合もある。
ここで、コントラスト画像劣化度Dcおよびクリップ誤差画像劣化度Deは、利用する関数などによってレベルが異なる場合がある。また、コントラスト画像劣化度Dcおよびクリップ誤差画像劣化度Deのうちどちらか一方の重要性を高めたい場合がある。そこで、画像劣化度算出部41は、コントラスト画像劣化度Dcおよびクリップ誤差画像劣化度Deを調整すべく、重み付けを行っても良い。例えば、画像劣化度算出部41は、max(Dc)=αmax(De)(α:Dc、Deの重み付け係数)となる非負値αを定めて、コントラスト画像劣化度Dcおよびクリップ誤差画像劣化度Deを調整する。
[逆特性フィルタ処理の具体例]
次に、逆特性フィルタ処理の具体例を、図5を参照して説明する。図5は、逆特性フィルタ処理の具体例を示す図である。図5では、逆特性フィルタが、2次元の空間座標フィルタとして与えられており、Fであるとする。ここでは、逆特性フィルタは、逆特性フィルタ記憶部23に記憶されている。
このような状況の下、逆特性フィルタ処理部31は、表示画像(原画像)データに対して、以下の式(1)に示すように、逆特性フィルタを適用する。なお、式(1)のIは、表示画像(原画像)データであり、I(x,y)は、画像データI内の画素の座標(x,y)における画素値である。
図5に示すように、逆特性フィルタ処理部31は、Fをメモリ2またはCPU4やGPGPU3のレジスタに格納し、Iをメモリ2に格納する。逆特性フィルタ処理部31は、必要な画素のデータ(画素値)をGPGPU3やCPU4のレジスタに格納して畳み込み演算し、逆特性フィルタ処理後のデータOとしてレジスタに書き出し、レジスタからメモリ2に転送する。ここでは、逆特性フィルタ処理部31は、Iの画素のうちI5の画素について、畳み込み演算し、逆特性フィルタ処理後のデータO5としてメモリ2に格納する。なお、図5では、フィルタのサイズは、3×3であるとしたが、これに限定されず、このサイズより大きい(奇数画素)×(奇数画素)であれば良い。
[クリップ処理の具体例]
次に、クリップ処理の具体例を、図6を参照して説明する。図6は、クリップ処理の具体例を示す図である。図6では、クリップ範囲は、閉区間[a,b]であるとする。aは、下限値であり、bは、上限値である。
クリップ処理部32は、逆特性フィルタ処理後の画像データに対して、所定のクリップ範囲で、以下の式(2)に示すように、クリップ処理を行う。なお、式(2)のBは、クリップ前の画像データであり、Aは、クリップ後の画像データである。(x,y)は、画像データ内画素の座標である。
ここで、式(2)は、以下の内容と同じである。B(x,y)<aの場合には、A(x,y)=aとし、B(x,y)>bの場合には、A(x,y)=bとする。また、a≦B(x,y)≦bの場合には、A(x,y)=B(x,y)とする。
図6に示すように、クリップ処理部32は、クリップ範囲[a,b]の下限値aと上限値bをメモリ2またはCPU4やGPGPU3のレジスタに格納し、クリップ前の画像データBをメモリ2に格納する。クリップ処理部32は、a,bがメモリ2にある場合には、CPU4やGPGPU3のレジスタに転送するとともに、Bをメモリ2からCPU4やGPGPU3のレジスタに転送し、クリップ処理を行う。そして、クリップ処理部32は、クリップ処理後の画像データをAとしてレジスタに書き出し、レジスタからメモリ2に転送する。
[正規化処理の具体例]
次に、正規化処理の具体例を、図7を参照して説明する。図7は、正規化処理の具体例を示す図である。
正規化処理部33は、クリップ処理後の画像データに対して、以下の式(3)により、正規化処理を行う。なお、式(3)のBは、正規化前の画像データであり、Aは、正規化後の画像データである。(x,y)は、画像データ内画素の座標である。Imaxは、画像データとして許容される最大画素値である。例えば8ビット画像データであれば、Imaxは255である。
正規化処理部33は、式(3)により、画素値同士の相対的な大小関係を保持しつつ、画像データとして許容される画素値に正規化する。
図7に示すように、正規化処理部33は、画素データとして許容される最大画素値Imaxをメモリ2またはCPU4やGPGPU3のレジスタに格納し、正規化前の画像データB(x,y)をメモリ2に格納する。正規化処理部33は、Bをメモリ2からCPU4やGPGPU33に転送し、最大値max(x,y)B(x,y)と最小値min(x,y)B(x,y)を探索する。そして、正規化処理部33は、Imaxがメモリ2にある場合には、CPU4やGPGPU33のレジスタに転送する。そして、正規化処理部33は、探索した最大値、最小値、正規化対象画素の正規化前の値、Imaxを用いて、CPU4やGPGPU3で正規化処理を行い、正規化処理後の画像データをメモリ2に転送する。ここでは、正規化処理部33は、最大値B7、最小値B24、Imaxを用いて、正規化対象画素B13の正規化処理を行い、正規化処理後の画素A13をメモリ2に転送する。
[コントラスト画像劣化度算出処理の具体例]
次に、コントラスト画像劣化度算出処理の具体例を、図8を参照して説明する。図8は、コントラスト画像劣化度算出処理の具体例を示す図である。
コントラスト画像劣化度算出部411は、コントラスト画像劣化度Dcを、以下の式(4)により算出する。なお、式(4)のIは、逆特性フィルタ処理、クリップ処理、正規化処理後の画像データである。(x,y)は、画像データ内画素の座標である。fは、単調減少関数である。Vは、画像データの画素数であり、一例として、VGAであれば640×480(=307200)となる。
すなわち、Dcは、全画素の画素値分散に対する単調減少関数fの関数値である。
図8に示すように、コントラスト画像劣化度算出部411は、逆特性フィルタ処理、クリップ処理、正規化処理後の画像データIをメモリ2に格納する。コントラスト画像劣化度算出部411は、Iをメモリ2からCPU4やGPGPU3に転送し、コントラスト画像劣化度Dcを算出する。そして、コントラスト画像劣化度算出部411は、算出したDcをCPU4やGPGPU3のレジスタまたはメモリ2に格納する。算出されたDcは、クリップ処理を行った際に用いられるクリップ範囲に対応するコントラスト画像劣化度である。
[クリップ誤差画像劣化度算出処理の具体例]
次に、クリップ誤差画像劣化度算出処理の具体例を、図9を参照して説明する。図9は、クリップ誤差画像劣化度算出処理の具体例を示す図である。
クリップ誤差画像劣化度算出部412は、クリップ誤差画像劣化度Deを、以下の式(5)により算出する。なお、式(5)のIは、表示画像(原画)データである。I´は、Iに逆特性フィルタ処理、クリップ処理、正規化処理、ぼやけ特性フィルタ処理した後の画像データである。(x,y)は、画像データ内画素の座標である。gは、単調増加関数である。
すなわち、Deは、原画像データと、ぼやけ特性フィルタ処理した後の画像データとの画素ごとの誤差の総和に対する単調増加関数gの関数値である。
図9に示すように、クリップ誤差画像劣化度算出部412は、表示画像(原画像)データIと、Iに逆特性フィルタ処理、クリップ処理、正規化処理、ぼやけ特性フィルタ処理した後の画像データI´とをそれぞれメモリ2に格納する。クリップ誤差画像劣化度算出部412は、IとI´をCPU4やGPGPU3に転送し、クリップ誤差画像劣化度Deを算出する。そして、クリップ誤差画像劣化度算出部412は、算出したDeをCPU4やGPGPU3のレジスタまたはメモリ2に格納する。算出されたDeは、クリップ処理を行った際に用いられるクリップ範囲に対応するクリップ誤差画像劣化度である。
[画像劣化度最小判定処理の具体例]
次に、画像劣化度最小判定処理の具体例を、図10を参照して説明する。図10は、画像劣化度最小判定処理の具体例を示す図である。なお、逆特性フィルタ処理後の画像データは、Iであるとする。(x,y)は、画像データ内画素の座標である。
まず、クリップ処理部32は、逆特性フィルタ処理後の画像データIに対して、次の式(6)を満たす狭義単調増加列(Ii)n i=1を生成する。
例えば、クリップ処理部32は、式(6)を満たす狭義単調増加列を、次の式(7)および式(8)により生成する。
そして、クリップ範囲更新部42は、画像劣化度が最小となるクリップ範囲の判定を、以下の式(9)により行う。なお、式(9)のDは、コントラスト画像劣化度Dcとクリップ誤差画像劣化度Deとを加算して得られた画像劣化度である。argminIi,IjD([Ii,Ij])は、D([Ii,Ij])を最小化するクリップ範囲[Ii,Ij]を意味する。
式(9)の計算は、1≦i<j≦nより、有限回の画像劣化度の算出と結果のソートとによって得られる。なお、式(9)のクリップ範囲[Ii,Ij]は、狭義単調増大列の各要素より定める対からしか選択できない。
図10に示すように、逆特性フィルタ処理部31は、逆特性フィルタ処理後の画像データIをメモリ2に格納する。クリップ処理部32は、CPU4やGPCPU3に転送し、最大値Imax、最小値Iminを探索する。クリップ処理部32は、探索した最大値Imax、最小値Iminを用いて、単調増加列を生成し、単調増加列内の2要素を全て抽出してクリップ上下限値を定める。画像劣化度算出部41は、それぞれのクリップ上下限値に対して画像劣化度を算出する。クリップ範囲更新部42は、画像劣化度が最小となるクリップ範囲を探索する。そして、クリップ範囲更新部42は、探索したクリップ範囲をCPU4やGPGPU3のレジスタまたはメモリ2に格納する。
[情報表示処理のフローチャート]
次に、実施例1の情報表示処理のフローチャートを、図11を参照して説明する。図11は、実施例1の情報表示処理のフローチャートを示す図である。
図11に示すように、電子機器1は、表示画像データの逆特性フィルタ処理を行う(ステップS11)。ここで、フィルタ処理後の画像データをAとする。電子機器1は、クリップ範囲を初期値に設定する(ステップS12)。クリップ範囲の初期値は、例えば、Aの各画素の画素値の最大出力の画素値と、最小出力の画素値とする。
続いて、電子機器1は、設定されたクリップ範囲を用いて、Aのクリップ処理を行う(ステップS13)。ここで、クリップ処理後の画像データをBとする。電子機器1は、Bの正規化処理を行う(ステップS14)。ここで、正規化処理後の画像データをCとする。電子機器1は、Cのぼやけ特性フィルタ処理を行う(ステップS14A)。ここで、ぼやけ特性フィルタ処理後の画像データをEとする。
続いて、電子機器1は、Cのコントラスト画像劣化度Dcを算出する(ステップS15)。電子機器1は、Eのクリップ誤差画像劣化度Deを算出する(ステップS16)。そして、電子機器1は、コントラスト画像劣化度Dcとクリップ誤差画像劣化度Deとを加算し、画像劣化度Dを算出する(ステップS17)。
続いて、電子機器1は、画像劣化度Dが最小であるか否かを判定する(ステップS18)。画像劣化度Dが最小でないと判定した場合には(ステップS18;No)、電子機器1は、クリップ範囲を別のクリップ範囲に更新する(ステップS19)。そして、電子機器1は、更新したクリップ範囲を用いてクリップ処理をすべく、ステップS13に移行する。
一方、画像劣化度Dが最小であると判定した場合には(ステップS18;Yes)、電子機器1は、画像劣化度Dが最小であると判定された画像データCに対応するクリップ範囲を、画像劣化度Dが最小であるクリップ範囲に決定する(ステップS20)。
続いて、電子機器1は、決定されたクリップ範囲を用いて、Aのクリップ処理を行う(ステップS21)。ここで、クリップ処理後の画像データをB´とする。電子機器1は、B´の正規化処理を行う(ステップS22)。ここで、正規化処理後の画像データをC´とする。そして、電子機器1は、正規化処理後の画像データC´を画面に出力する(ステップS23)。そして、電子機器1は、情報表示処理を終了する。
なお、実施例1では、画像劣化度算出部41が、表示画像データに対して1つのクリップ範囲に対応するクリップ処理かつ正規化処理後の画像データについて、画像劣化度を算出する。そして、クリップ範囲更新部42が、算出された画像劣化度と、既に算出されたクリップ範囲に対応する画像劣化度を用いて、画像劣化度が最小となるクリップ範囲を決定する。そして、クリップ範囲更新部42は、画像劣化度が最小でなければ、次のクリップ範囲について、クリップ処理、正規化処理、画像劣化度算出処理を行わせ、画像劣化度が最小になるまで繰り返す。しかしながら、画像劣化度算出部41およびクリップ範囲更新部42は、これに限定されない。画像劣化度算出部41は、表示画像データに対して複数のクリップ範囲に対応するクリップ処理かつ正規化処理後の画像データについて、それぞれ画像劣化度を算出する。そして、クリップ範囲更新部42は、算出された複数の画像劣化度に基づいて、画像劣化度が最小となる画像データに対応するクリップ範囲を決定しても良い。
[実施例1の効果]
このようにして、上記実施例1によれば、電子機器1は、表示画像データに対して、視覚特性の逆特性を示す逆特性フィルタ処理を行う。電子機器1は、逆特性フィルタ処理により得られた画像データを形成する各画素の画素値を、所定のクリップ範囲でクリップ処理する。電子機器1は、クリップ処理により得られた第2の画像データを形成する各画素の画素値を、正規化処理する。電子機器1は、異なる複数のクリップ範囲でクリップ処理され、かつ、正規化処理された複数の第3の画像データに対応する画像劣化度をそれぞれ算出する。電子機器1は、複数の画像劣化度に基づいて、画像劣化度が最小となる第3の画像データを特定する。そして、電子機器1は、特定された第3の画像データを所定の表示部に表示する。かかる構成によれば、電子機器1は、逆特性フィルタ処理により得られた画像データに対してクリップ処理され、かつ、正規化処理された第3の画像データであって画像劣化度が最小となる第3の画像データを表示する。この結果、電子機器1は、画像劣化を抑止した、輪郭が強調された画像を利用者に視認させることができる。これにより、例えば、老眼の利用者は、ぼやけが解消してはっきりと視ることが可能になる。すなわち、電子機器1は、逆特性フィルタによる高周波数成分の増幅をしてから、クリップ処理を適用しないで正規化処理を適用した場合と比較して、逆特性フィルタによる輪郭の強調効果を得ることができ、コントラスの低下を抑制できる。これにより、例えば、老眼の利用者は、ぼやけが解消してはっきりと視ることが可能になる。また、電子機器1は、逆特性フィルタによる高周波数成分の増幅をしてから、通常のクリップ処理を適用した場合と比較して、クリップ処理前後の画像誤差が増大して周波数特性を歪ませることを抑制できる。
また、上記実施例1によれば、電子機器1は、特定された第3の画像データに対応するクリップ範囲を特定する。電子機器1は、表示画像データと異なる他の表示画像データを処理する場合に、特定されたクリップ範囲を用いて、逆特性フィルタ処理により得られた第1の画像データを形成する各画素の画素値をクリップ処理する。かかる構成によれば、電子機器1は、特定されたクリップ範囲を用いることにより、表示画像と異なる他の表示画像を利用者にはっきりと視認させることができる。
また、上記実施例1によれば、電子機器1は、第3の画像データごとに、第3の画像データを形成する全ての画素の画素値の分散値を算出する。電子機器1は、第3の画素データごとに、表示画像データと第3の画像データとの画素ごとの誤差に対するノルムを算出する。電子機器1は、第3の画像データごとに、算出された分散値と、誤差に対するノルムとを用いて、画像劣化度を算出する。かかる構成によれば、電子機器1は、ばらつきが大きく、誤差が小さくなるような画像劣化度を得ることが可能となり、このような画像劣化度に対応するクリップ範囲を用いることで、例えば老眼の利用者が視認しやすい画像処理を施すことができる。この結果、電子機器1は、例えば老眼の利用者の視認性を向上させることができる。
ところで、実施例1の電子機器1は、画像劣化度Dが最小となるクリップ範囲を求める際に、以下の処理を行うと説明した。すなわち、電子機器1は、逆特性フィルタ処理後の画像データを形成する各画素の画素値を用いて複数のクリップ範囲の上下限値を定め、定めた複数のクリップ範囲の上下限値から画像劣化度Dが最小となるクリップ範囲を求める。つまり、電子機器1は、離散化した複数のクリップ範囲から画像劣化度Dが最小となるクリップ範囲を求める。かかる画像劣化度Dは、クリップ範囲の上下限値に対して連続的微分可能関数ではない。したがって、画像劣化度Dに勾配法の様な微分係数を用いる方法を適用しても、画像劣化度Dが最小となるクリップ範囲を求めることが保証されないことがある。
ここで、画像劣化度Dは、クリップ範囲の上下限値に対して連続的微分可能関数でないことを説明する。画像劣化度Dがクリップ範囲の上下限値に対して連続的微分可能関数でないことは、画像劣化度D(=De+Dc)のDe、Dcがクリップ範囲の上下限値に対して連続的微分可能でないことを示せば良い。De、Dcは、それぞれ式(4)、式(5)よりクリップ画像データの各画素の画素値の合成関数として与えられる。これらが連続的微分可能となるのは、クリップ画像データの各画素の画素値がクリップ範囲の上下限値に対して連続的微分可能なときである。つまり、クリップ画像データの各画素の画素値がクリップ範囲の上下限値に対して連続的微分可能でないことを示せば、画像劣化度Dが連続的微分可能でないことを示すことになる。
そこで、クリップ範囲の画素値がクリップ範囲の上下限値に対して連続的微分可能でないことを示す。逆特性画像データの座標(x,y)を任意に1つ決めて固定する。この座標の逆特性画像データの画素値をI(x,y)とおく。クリップ範囲の上下限値をそれぞれM,mとして、I(x,y)をクリップした画像データの各画素の画素値をC(m,M;x,y)とおくと、以下の式(10)が成立する。
C(m,M;x,y)=min(max(I(x,y),m),M)・・・式(10)
式(10)のとおり、座標(x,y)を任意に1つ決めて固定すると、クリップ画像データの(x,y)における画素値は、クリップ範囲の上下限値m,Mの2変数関数とみなせる。ところが、minやmaxを用いた関数は、一般に、連続的微分可能とならない。つまり、座標(x,y)において、逆特性画像データのクリップ画像データの各画素の画素値Cは、クリップ範囲の上下限値による2変数に対して連続的微分可能関数とならない。
したがって、画像劣化度Dは、クリップ範囲の上下限値に対して連続的微分可能関数でない。かかる不連続関数である画像劣化度Dに勾配法の様な微分係数を用いる方法を適用しても、画像劣化度Dを最小化するクリップ範囲を求めることが保証されないことがある。
そこで、実施例2では、画像劣化度Dが最小となるクリップ範囲を求める際に、不連続関数に対しても用いられる局所最適化法であるネルダー・ミード法を適用する場合を説明する。
[クリップ範囲算出処理の一例]
図12は、実施例2のクリップ範囲算出処理を示す図である。図12に示すように、クリップ範囲算出処理は、ネルダー・ミード法を用いて画像劣化度が最小となるクリップ範囲を算出する。すなわち、クリップ範囲算出処理は、ネルダー・ミード法を用いて、以下の式(11)の画像劣化度Dの最小化問題を解くことにより、画像劣化度Dが最小となるクリップ範囲x´を判定する。なお、式(11)では、クリップ範囲[x1,x2]に対して2次元ベクトル(x2,x1)(x1<x2)を対応付ける。x2は、画像劣化度が最小となるクリップ範囲の上限値の候補であり、x1は、画像劣化が最小となるクリップ範囲の下限値の候補である。
ここで、ネルダー・ミード法で所定の最小化問題を解く場合には、以下の式(12)を満たす初期の解候補集合Sが用いられる。なお、式(12)のnは、Sの2次元ベクトルの数であり、次元の数(未知変数の個数)+1以上の数である。
nが大きい程、解は高精度になるが、演算量は増大する。
図12では、n=3の場合である。表示画像データに対する逆特性フィルタ後の画像データを形成する全ての画素の画素値のうち出力最大値がImaxであり、出力中間値がImidであり、出力最小値がIminであるとする。なお、Imidは、上下限値の中間の値に限定されず、上下限値の間の値であれば良い。
かかる場合に、クリップ範囲算出処理は、クリップ範囲の上限値Imax、中間値Imid、下限値Iminを用い、解候補集合Sを生成する。ここでは、解候補集合Sは、{(Imax,Imid),(Imid,Imin),(Imax,Imin)}と生成される。
そして、クリップ範囲算出処理は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合Sとして、画像劣化度Dおよび解候補集合Sに対して、反復的にネルダー・ミード法を用いて、最小化解x´を求める。クリップ範囲算出処理は、局所最小化解x´=(x´2,x´1)に対して、クリップ範囲を[x´1,x´2]と決定する。すなわち、クリップ範囲算出処理は、クリップの上限値をx´の第1成分のx´1と決定し、クリップの下限値をx´の第2成分のx´2と決定する。
なお、ここでいう画像劣化度Dとは、コントラスト画像劣化度Dcを算出するために用いられる関数と、クリップ誤差画像劣化度Deを算出するために用いられる関数との和の関数のことをいう。コントラスト画像劣化度Dcを算出するために用いられる関数は、例えば、式(4)である。クリップ誤差画像劣化度Deを算出するために用いられる関数は、例えば、式(5)である。
このようにして、クリップ範囲算出処理は、不連続関数である画像劣化度Dにネルダー・ミード法を適用することで、画像劣化度Dが最小となるクリップ範囲を精度良く求めることができる。
[実施例2の電子機器の機能構成]
図13は、実施例2の電子機器の機能構成の一例を示すブロック図である。なお、図3に示す電子機器1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、新たにクリップ範囲算出部35を追加した点にある。
クリップ範囲算出部35は、ネルダー・ミード法を用いて、画像劣化度が最小となるクリップ範囲を算出する。また、クリップ範囲算出部35は、算出したクリップ範囲をクリップ範囲記憶部24に格納する。
[クリップ範囲算出処理のフローチャート]
次に、実施例2のクリップ範囲算出処理のフローチャートを、図14を参照して説明する。図14は、実施例2のクリップ範囲算出処理のフローチャートを示す図である。
図14に示すように、電子機器1は、表示画像データの逆特性フィルタ処理を行う(ステップS31)。ここで、フィルタ処理後の画像データをAとする。電子機器1は、ImaxにmaxAを設定し、ImidにmedianAを設定し、IminにminAを設定する(ステップS32)。ここでいうmaxAとは、画像データAを形成する全ての画素の画素値のうち最大出力の画素値を示す。medianAとは、画像データAを形成する全ての画素の画素値のうち最大出力と最小出力との中間の画素値を示す。minAとは、画像データAを形成する全ての画素の画素値のうち最小出力の画素値を示す。
電子機器1は、解候補集合Sとして{(Imax,Imid),(Imid,Imin),(Imax,Imin)}を生成する(ステップS33)。
そして、電子機器1は、初期集合を解候補集合Sとして、局所最小化関数を画像劣化度の関数として、ネルダー・ミード法を適用する(ステップS34)。画像劣化度の関数は、コントラスト画像劣化度Dcを算出するために用いられる関数を示す式(4)と、クリップ誤差画像劣化度Deを算出するために用いられる関数を示す式(5)との合成関数である。
そして、電子機器1は、結果として局所最小化解であるx´=(x´2,x´1)を取得し、取得したx´=(x´2,x´1)に対し、[x´1,x´2]をクリップ範囲として決定する(ステップS35)。この後、電子機器1は、以下の処理を行う。すなわち、電子機器1は、決定されたクリップ範囲を用いて、Aのクリップ処理を行う。ここで、クリップ処理後の画像データをB´とする。電子機器1は、B´の正規化処理を行う。ここで、正規化処理後の画像データをC´とする。そして、電子機器1は、正規化処理後の画像データC´を画面に出力する。そして、電子機器1は、実施例2の情報表示処理を終了する。
なお、実施例2では、電子機器1が、画像劣化度Dが最小となるクリップ範囲を求める際に、不連続関数に対しても用いられる局所最適化法であるネルダー・ミード法を適用する場合を説明した。しかしながら、電子機器1は、これに限定されず、ネルダー・ミード法に代えて、例えば、遺伝的アルゴリズムやPSO法を適用する場合であっても良い。
[実施例2の効果]
このようにして、上記実施例2によれば、電子機器1は、不連続関数である画像劣化度の関数にネルダー・ミード法を適用することで、画像劣化が最小となるクリップ範囲を精度良く求めることができる。
ところで、実施例2のクリップ範囲算出処理は、ネルダー・ミード法を用いて、画像劣化度が最小となるクリップ範囲を算出する。かかるネルダー・ミード法は、未知変数の個数+1個以上の解候補を初期集合とする反復法による局所最小化法である。クリップ範囲算出処理が、ネルダー・ミード法をこのまま適用すると、局所最小化解を誤って算出する可能性がある。そこで、クリップ範囲算出処理は、異なる初期集合でネルダー・ミード法を適用して、局所最小化解を改良するマルチスタート法を適用するようにしても良い。これにより、クリップ範囲算出処理は、局所最小化解を誤って算出する可能性を低減することができる。
そこで、実施例3では、クリップ範囲算出処理が、異なる初期集合でネルダー・ミード法を適用して、局所最小化解を改良するマルチスタート法を適用する場合を説明する。
[クリップ範囲算出処理の一例]
図15は、実施例3のクリップ範囲算出処理を示す図である。図15に示すように、クリップ範囲算出処理は、異なる初期集合でネルダー・ミード法を適用し、局所最小化解を取得する。クリップ範囲算出処理は、取得した局所最小化解を2段階目の初期集合としてネルダー・ミード法を適用し、局所最小化解を取得する。そして、クリップ範囲算出処理は、2段階目の処理を局所最小化解が1個になるまで実施する。段階の数が大きい程、誤った局所最小化解を算出する可能性が低下する。
図15では、クリップ範囲を構成する上下限値が未知変数であるので、式(12)においてn=3とする。すなわち、初期集合の2次元ベクトルの数は、3である。クリップ範囲算出処理は、逆特性フィルタ後の画像データを形成する各画素の出力値(画素値)の最小値Iminから最大値Imaxまでの間を3等分する。クリップ範囲算出処理は、それぞれの範囲をさらに2等分する。すなわち、クリップ範囲算出処理は、3組の解候補集合S1、S2、S3を取得する。ここでは、クリップ範囲算出処理は、下限値Imin、中間値(Imax+5Imin)/6、上限値(Imax+2Imin)/3を用い、解候補集合S1を生成する。クリップ範囲算出処理は、下限値(Imax+2Imin)/3、中間値(Imax+Imin)/2、上限値(2Imax+Imin)/3を用い、解候補集合S2を生成する。クリップ範囲算出処理は、下限値(2Imax+Imin)/3、中間値(Imax+5Imin)/6、上限値Imaxを用い、解候補集合S3を生成する。
クリップ範囲算出処理は、S1、S2、S3に対して、それぞれネルダー・ミード法を適用し、それぞれ局所最小化解x11、x12、x13を取得する。すなわち、クリップ範囲算出処理は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合S1として、画像劣化度Dおよび解候補集合S1に対して、反復的にネルダー・ミード法を用いて、局所最小化解x11を求める。クリップ範囲算出処理は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合S2として、画像劣化度Dおよび解候補集合S2に対して、反復的にネルダー・ミード法を用いて、局所最小化解x12を求める。クリップ範囲算出処理は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合S3として、画像劣化度Dおよび解候補集合S3に対して、反復的にネルダー・ミード法を用いて、局所最小化解x13を求める。
クリップ範囲算出処理は、局所最小化解x11、x12、x13を用い、2段階目の解候補集合を生成する。クリップ範囲算出処理は、生成した解候補集合に対して、ネルダー・ミード法を適用し、局所最小化解x1を取得する。すなわち、クリップ範囲算出処理は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合として、画像劣化度Dおよび解候補集合に対して、反復的にネルダー・ミード法を用いて、局所最小化解x1を求める。ここでは、局所最小化解が1個になったので、2段階目の処理の実施を終了する。
そして、クリップ範囲算出処理は、局所最小化解x1=(x´12,x´11)に対して、クリップ範囲を[x´11,x´12]と決定する。すなわち、クリップ範囲算出処理は、クリップの上限値をx1の第1成分のx´12と決定し、クリップの下限値をx1の第2成分のx´11と決定する。
なお、クリップ範囲算出処理は、m段階マルチスタート法(m:任意の自然数)により、3m−1個の初期集合でネルダー・ミード法を適用後、2段階目の処理を最小化解が1個になるまで実施する。段階の数を示すmが大きい程、誤った局所最小化解を算出する可能性が低下する。
[クリップ範囲算出処理のフローチャート]
次に、実施例3のクリップ範囲算出処理のフローチャートを、図16を参照して説明する。図16は、実施例3のクリップ範囲算出処理のフローチャートを示す図である。なお、図16では、2段階マルチスタート法を適用した場合とする。したがって、互いに疎な初期集合は、3個であるとする。
図16に示すように、電子機器1は、表示画像データの逆特性フィルタ処理を行う(ステップS41)。ここで、フィルタ処理後の画像データをAとする。電子機器1は、変数iに1を設定する(ステップS42)。
電子機器1は、変数iに1を設定する(ステップS42)。なお、変数iは、初期集合を指すために用いられる、電子機器1は、1段階目の変数iで示されるクリップの初期集合Siを生成する(ステップS43)。電子機器1は、クリップの初期集合Siに対して、ネルダー・ミード法による局所最小化を行い、クリップ範囲Ciを算出する(ステップS44)。すなわち、電子機器1は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合S1として、画像劣化度Dおよび解候補集合Siに対して、反復的にネルダー・ミード法を用いて、局所最小化解を算出する。そして、電子機器1は、局所最小化解からクリップ範囲Ciを求める。
電子機器1は、変数iをインクリメントする(ステップS45)。そして、電子機器1は、変数iが初期集合の数を示す3より大きいか否かを判定する(ステップS46)。変数iが3より大きくないと判定した場合には(ステップS46;No)、電子機器1は、次の変数iで示されるクリップの初期集合Siの処理を行うべく、ステップS43に移行する。
一方、変数iが3より大きいと判定した場合には(ステップS46;Yes)、電子機器1は、1段階目で算出されたクリップ範囲Ciを用い、2段階目のクリップの初期集合Sを{C1、C2、C3}とする(ステップS47)。そして、電子機器1は、クリップの初期集合Sに対して、ネルダー・ミード法による局所最小化を行い、クリップ範囲Cを算出する(ステップS48)。すなわち、電子機器1は、局所最小化関数を画像劣化度Dとして、初期集合を解候補集合Sとして、画像劣化度Dおよび解候補集合Sに対して、反復的にネルダー・ミード法を用いて、局所最小化解を算出する。そして、電子機器1は、局所最小化解からクリップ範囲Cを求める。
この後、電子機器1は、以下の処理を行う。すなわち、電子機器1は、クリップ範囲Cを用いて、Aのクリップ処理を行う。ここで、クリップ処理後の画像データをB´とする。電子機器1は、B´の正規化処理を行う。ここで、正規化処理後の画像データをC´とする。そして、電子機器1は、正規化処理後の画像データC´を画面に出力する。そして、電子機器1は、実施例3の情報表示処理を終了する。
[実施例3の効果]
このようにして、上記実施例3によれば、電子機器1は、不連続関数である画像劣化度の関数にネルダー・ミード法およびマルチスタート法を適用することで、誤った局所最小化解を算出する可能性を低減できる。この結果、電子機器1は、画像劣化度を最小化するクリップ範囲を精度良く求めることができる。
ところで、実施例1〜3の電子機器1は、表示画像(原画像)データに対して、画像劣化度が最小となるクリップ範囲を算出し、算出したクリップ範囲を用いて画像補正(クリップ処理、正規化処理)する場合を説明した。しかしながら、電子機器1は、これに限定されず、事前に、網膜に結像する画像の異なる傾向における複数のテスト画像データに対して最適なクリップ範囲を算出し、異なる傾向における複数のテスト画像データに対応する最適なクリップ範囲を設定したクリップ範囲テーブルを生成するようにしても良い。そして、電子機器1は、クリップ範囲テーブルを携帯電子機器に格納させ、携帯電子機器は、表示画像(原画像)データの画像補正時に、クリップ範囲テーブルを参照する。
[情報表示処理の用途]
ここで、情報表示処理の用途を、図17を参照して説明する。図17は、情報表示処理の用途を示す図である。図17に示すように、電子機器1は、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を算出する。網膜に結像する画像の異なる傾向におけるテスト画像データには、一例として、新聞紙面のように細かい文字が多い画像データ、メール画面のように背景が白、文字が黒である輝度変化の大きい画像データ、ウェブページのように背景が白でない輝度変化があまり大きくない画像データが含まれる。電子機器1は、かかる複数のテスト画像データを取得し、テスト画像データごとに、画像劣化度が最小となるクリップ範囲を算出し、クリップ範囲テーブルを生成する。
そして、携帯電子機器8は、電子機器1によって生成されたクリップ範囲テーブルをメモリに格納し、画像(原画像)データに対して画像処理を行う際に、クリップ範囲テーブルを参照し、原画像データと適合度の高いクリップ範囲を使用する。これにより、携帯電子機器8は、表示画像データに適合したクリップ範囲を高速に取得でき、取得したクリップ範囲を用いることで、老眼の利用者が視認しやすい画像補正を施すことができる。この結果、携帯電子機器8は、老眼の利用者の視認性を向上させることができる。
[電子機器の一例]
図18は、実施例4の電子機器の一例を示すブロック図である。なお、図2が示す実施例1の電子機器1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例4とが異なるところは、新たに外部I/O6および通信回路7を追加した点にある。外部I/O6は、外部装置または外部システムとのデータ交換インタフェースである。通信回路7は、ネットワークを介して外部装置と通信するために用いられる通信制御部である。なお、図18では、電子機器1の構成を示したが、携帯電子機器8もかかる構成と同一の構成であっても良い。
[実施例4の情報表示システムの機能構成]
図19は、実施例4の情報表示システムの機能構成の一例を示すブロック図である。図19に示すように、情報表示システム9は、電子機器1および携帯電子機器8を有する。なお、電子機器1に関し、図13に示す電子機器1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例2と実施例4とが異なるところは、携帯電子機器8を追加した点にある。また、実施例2と実施例4とが異なるところは、電子機器1に関し、クリップ範囲テーブル250およびテーブル生成部44を追加した点にある。
テーブル生成部44は、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を決定する。画像劣化度が最小となるクリップ範囲は、例えば、ネルダー・ミード法によって決定される。なお、ネルダー・ミード法によってクリップ範囲を決定する方法は、実施例2および実施例3と同様であるので、その説明を省略する。
また、テーブル生成部44は、複数のテスト画像データに対してそれぞれ決定されたクリップ範囲をクリップ誤差率と対応付けて、クリップ範囲テーブル250を生成する。クリップ誤差率とは、決定されたクリップ範囲でテスト画像データをクリップ処理した後の画像データの情報の、テスト画像データの情報との誤差を表す割合である。言い換えれば、クリップ誤差率は、原画像(テスト画像)データにクリップ処理を施したことにより失われた情報量の大きさを表わす。クリップ誤差率は、以下の式(13)により算出される。なお、式(13)のF、N、C、F−1、Iは、それぞれぼやけ特性フィルタ処理、正規化処理、クリップ処理、逆特性フィルタ処理、原画像データを意味する。M、S(I)は、Iの最大画素値、Iの画素数を意味する。
また、テーブル生成部44は、生成されたクリップ範囲テーブル250をメモリ2に格納する。そして、テーブル生成部44は、生成したクリップ範囲テーブル250を携帯電子機器8に格納させる。一例として、テーブル生成部44は、クリップ範囲テーブル250を携帯電子機器8に送信する。別の例として、テーブル生成部44は、クリップ範囲テーブル250を、携帯電子機器8からの要求に応じて送信する。なお、クリップ範囲テーブル250は、携帯電子機器8の出荷時に、携帯電子機器8にプリセットされても良い。
ここで、クリップ範囲テーブル250のデータ構造の一例を、図20を参照して説明する。図20は、実施例4のクリップ範囲テーブルのデータ構造の一例を示す図である。図20に示すように、クリップ範囲テーブル250は、クリップ範囲250bおよびクリップ誤差率250cを、テスト画像番号250aに対応付けて記憶する。
テスト画像番号250aは、テスト画像データを識別する番号である。各テスト画像データは、網膜に結像する画像の異なる傾向における画像データである。クリップ範囲250bは、テスト画像番号250aで示されるテスト画像データの画像劣化度が最小となるクリップ範囲である。なお、クリップ範囲250bは、テーブル生成部44によって算出される。クリップ誤差率250cは、テスト画像データをクリップ範囲250bでクリップ処理した後の画像データの情報の、テスト画像データにおける原画像データの情報との誤差を表す割合である。なお、クリップ範囲250bおよびクリップ誤差率250cは、テーブル生成部44によって算出される。
図19に戻って、携帯電子機器8は、メモリ200、GPGPU300およびCPU400を有する。メモリ200は、表示画像記憶部210、ぼやけ特性フィルタ記憶部220、逆特性フィルタ記憶部230、クリップ範囲記憶部240およびクリップ範囲テーブル250を有する。表示画像記憶部210は、表示画像記憶部21と同一の内容であるので、その説明を省略する。ぼやけ特性フィルタ記憶部220は、ぼやけ特性フィルタ記憶部22と同一の内容であるので、その説明を省略する。逆特性フィルタ記憶部230は、逆特性フィルタ記憶部23と同一の内容であるので、その説明を省略する。クリップ範囲記憶部240は、クリップ範囲記憶部24と同一の内容であるので、その説明を省略する。クリップ範囲テーブル250は、電子機器1のクリップ範囲テーブル250と同一の内容であるので、その説明を省略する。
GPGPU300は、逆特性フィルタ処理部310、クリップ処理部320、正規化処理部330およびぼやけ特性フィルタ処理部340を有する。CPU400は、クリップ誤差率算出部410、クリップ範囲決定部420および表示部430を有する。表示部430は、表示部43と同一の内容であるので、その説明を省略する。
逆特性フィルタ処理部310は、表示画像(原画像)データに対して、老眼でのぼやけ特性の逆特性を有する逆特性フィルタを適用する。そして、逆特性フィルタ処理部310は、逆特性フィルタ処理後の画像データをクリップ処理部320に出力する。なお、逆特性フィルタ処理部310による逆特性フィルタ処理は、逆特性フィルタ処理部31による逆特性フィルタ処理と同様であるので、その説明を省略する。
クリップ処理部320は、逆特性フィルタ処理後の画像データを形成する各画素の画素値を、クリップ範囲テーブル250に記憶された各テスト画像番号に対応するクリップ範囲でクリップ処理する。そして、クリップ処理部320は、各テスト画像番号に対応するクリップ範囲により得られたクリップ処理後の画像データを正規化処理部330に出力する。
また、クリップ処理部320は、後述するクリップ範囲決定部420によってクリップ範囲が決定された場合には、逆特性フィルタ処理後の画像データを形成する各画素の画素値を、決定されたクリップ範囲でクリップ処理する。そして、クリップ処理部320は、クリップ処理後の画像データを正規化処理部330に出力する。なお、クリップ処理部320によるクリップ処理は、クリップ処理部32によるクリップ処理と同様であるので、その説明を省略する。
正規化処理部330は、各テスト画像番号に対応するクリップ範囲にてクリップ処理後の画像データを形成する各画素の画素値を、正規化処理する。そして、正規化処理部330は、各テスト画像番号に対応するクリップ範囲にて正規化処理後の画像データをぼやけ特性フィルタ処理部340に出力する。
また、正規化処理部330は、後述するクリップ範囲決定部420によってクリップ範囲が決定された場合には、決定されたクリップ範囲でクリップ処理がされたクリップ処理後の画像データを形成する各画素の画素値を、正規化処理する。そして、正規化処理部330は、正規化処理後の画像データを表示部430に出力する。なお、正規化処理部330による正規化処理は、正規化処理部33による正規化処理と同様であるので、その説明を省略する。
ぼやけ特性フィルタ処理部340は、テスト画像番号に対応するクリップ範囲ごとの正規化処理後の画像データに対して、老眼でのぼやけ特性を有するぼやけ特性フィルタを適用する。そして、ぼやけ特性フィルタ処理部340は、テスト画像番号に対応するクリップ範囲ごとのぼやけ特性フィルタ処理後の画像データをクリップ誤差率算出部410に出力する。なお、ぼやけ特性フィルタ処理部340によるぼやけ特性フィルタ処理は、ぼやけ特性フィルタ処理部34によるぼやけ特性フィルタ処理と同様であるので、その説明を省略する。
クリップ誤差率算出部410は、テスト画像番号に対応するクリップ範囲ごとのぼやけ特性フィルタ処理後の画像データのクリップ誤差率を算出する。すなわち、クリップ誤差率算出部410は、テスト画像番号ごとのクリップ範囲にて表示画像データのクリップ誤差率を算出する。そして、クリップ誤差率算出部410は、テスト画像番号に対応するクリップ範囲ごとのクリップ誤差率をクリップ範囲決定部420に出力する。なお、テスト画像番号に対応するクリップ範囲ごとのクリップ誤差率は、式(13)を用いて算出される。
クリップ範囲決定部420は、クリップ範囲テーブル250を参照し、クリップ誤差率の最も近いテスト画像番号に対応するクリップ範囲を使用クリップ範囲として決定する。例えば、クリップ範囲決定部420は、クリップ誤差率算出部410からテスト画像番号に対応するクリップ範囲ごとのクリップ誤差率を取得する。クリップ範囲決定部420は、取得したテスト画像番号に対応するクリップ範囲ごとのクリップ誤差率を、テスト画像番号250aごとに、クリップ範囲テーブル250のクリップ誤差率250cと比較する。クリップ範囲決定部420は、取得したクリップ誤差率がクリップ範囲テーブル250のクリップ誤差率250cに最も近いテスト画像番号250aをみつける。クリップ範囲決定部420は、みつかったテスト画像番号250aに対応するクリップ範囲を使用クリップ範囲として決定する。そして、クリップ範囲決定部420は、決定したクリップ範囲をクリップ範囲記憶部240に格納する。
[クリップ範囲決定処理のフローチャート]
次に、実施例4のクリップ範囲決定処理のフローチャートを、図21を参照して説明する。図21は、実施例4のクリップ範囲決定処理のフローチャートを示す図である。
図21に示すように、携帯電子機器8は、表示画像データの逆特性フィルタ処理を行う(ステップS51)。ここで、フィルタ処理後の画像データをAとする。
携帯電子機器8は、クリップ範囲テーブル250のクリップ範囲250bを用いて、Aのクリップ処理を行う(ステップS52)。例えば、携帯電子機器8は、逆特性フィルタ処理後の画像データAに対して、クリップ範囲テーブル250に記憶された各テスト画像番号250aに対応するクリップ範囲250bでクリップ処理を行う。ここで、クリップ範囲テーブル250が図20の場合には、クリップ処理後の画像データをB1、・・・、Bmとする。
続いて、携帯電子機器8は、クリップ処理後の画像データB1、・・・、Bmの正規化処理を行う(ステップS53)。ここで、正規化処理後の画像データをC1、・・・、Cmとする。携帯電子機器8は、正規化処理後の画像データC1、・・・、Cmのぼやけ特性フィルタ処理を行う(ステップS54)。ここで、ぼやけ特性フィルタ処理後の画像データをD1、・・・、Dmとする。
そして、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dmのクリップ誤差率を算出する(ステップS55)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dmのクリップ誤差率を、式(13)を用いて算出する。
そして、携帯電子機器8は、クリップ範囲テーブル250を参照し、クリップ誤差率の最も近いクリップ範囲を決定する(ステップS56)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dmのクリップ誤差率を取得する。携帯電子機器8は、取得した画像データD1、・・・、Dmのクリップ誤差率を、テスト画像番号250aごとに、クリップ範囲テーブル250のクリップ誤差率250cと比較する。携帯電子機器8は、取得したクリップ誤差率がクリップ範囲テーブル250のクリップ誤差率250cに最も近いテスト画像番号250aをみつけ、みつけたテスト画像番号250aに対応するクリップ範囲250bを使用クリップ範囲として決定する。
この後、携帯電子機器8は、以下の処理を行う。すなわち、携帯電子機器8は、決定されたクリップ範囲を用いて、Aのクリップ処理を行う。ここで、クリップ処理後の画像データをB´とする。携帯電子機器8は、B´の正規化処理を行う。ここで、正規化処理後の画像データをC´とする。そして、携帯電子機器8は、正規化処理後の画像データC´を画面に出力する。
[実施例4の効果]
このようにして、上記実施例4によれば、電子機器1は、網膜に結像する画像の異なる傾向における複数のテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を事前に特定する。そして、電子機器1は、複数のテスト画像データに対してそれぞれ特定されたクリップ範囲を、テスト画像データに対応付けて携帯電子機器8に記憶させる。この結果、携帯電子機器8は、テスト画像データごとのクリップ範囲を利用して、表示画像データと適合度が高いテスト画像データのクリップ範囲をみつけることができるので、表示画像データをリアルタイムに補正することができる。つまり、ネルダー・ミード法を用いた画像劣化度を最小化するクリップ範囲の決定処理は、演算量が大きいので、かかる処理を電子機器1で事前に行うことで、携帯電子機器8での演算量を減らすことができ、表示画像データの補正を高速に行うことができる。さらに、携帯電子機器8は、表示画像データと画像傾向が近いテスト画像データのクリック範囲を使用クリック範囲として決定し、決定したクリック範囲を用いて表示画像データを補正し、ディスプレイで表示することで、表示画像を見る老眼の利用者の視認性を向上させることができる。
ところで、実施例4の電子機器1は、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を決定し、複数のテスト画像データに対応するクリップ範囲をクリップ誤差率と対応付けてクリップ範囲テーブル250を生成する。そして、電子機器1は、生成したクリップ範囲テーブル250を携帯電子機器8に格納させると説明した。しかしながら、電子機器1によって生成されるクリップ範囲テーブル250は、複数のテスト画像データに対応するクリップ範囲をクリップ誤差率および逆特性フィルタ処理後の画素分散値と対応付けたものであっても良い。
そこで、実施例5では、電子機器1によって生成されるクリップ範囲テーブル250が、複数のテスト画像データに対応するクリップ範囲をクリップ誤差率および逆特性フィルタ処理後の画素分散値と対応付けたものである場合を説明する。
[実施例5の情報表示システムの機能構成]
図22は、実施例5の情報表示システムの機能構成の一例を示すブロック図である。なお、図19に示す情報表示システム9と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例4と実施例5とが異なるところは、電子機器1では、クリップ範囲テーブル250、テーブル生成部44をそれぞれクリップ範囲テーブル250A、テーブル生成部44Aに変更した点にある。また、実施例4と実施例5とが異なるところは、携帯電子機器8では、クリップ範囲テーブル250をクリップ範囲テーブル250Aに変更し、クリップ処理部320をクリップ処理部320Aに変更した点にある。また、実施例4と実施例5とが異なるところは、携帯電子機器8では、画素分散値算出部440を追加した点にある。
テーブル生成部44Aは、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を決定する。画像劣化度が最小となるクリップ範囲は、例えば、ネルダー・ミード法によって決定される。なお、ネルダー・ミード法によってクリップ範囲を決定する方法は、実施例2および実施例3と同様であるので、その説明を省略する。
また、テーブル生成部44Aは、複数のテスト画像データに対して決定されたクリップ範囲をクリップ誤差率および逆特性フィルタ処理後の画素分散値と対応付けて、クリップ範囲テーブル250Aを生成する。クリップ誤差率とは、決定されたクリップ範囲でテスト画像データをクリップ処理した後の画像データの情報の、テスト画像データの情報との誤差を表す割合である。言い換えれば、クリップ誤差率は、原画像(テスト画像)データにクリップ処理を施したことにより失われた情報量の大きさを表わす。クリップ誤差率は、式(13)により算出される。また、逆特性フィルタ処理後の画素分散値とは、逆特性フィルタ処理後の画像データにおける全画素の画素分散値である。
また、テーブル生成部44Aは、生成されたクリップ範囲テーブル250Aをメモリ2に格納する。そして、テーブル生成部44Aは、生成したクリップ範囲テーブル250Aを携帯電子機器8に格納させる。
ここで、クリップ範囲テーブル250Aのデータ構造の一例を、図23を参照して説明する。図23は、実施例5のクリップ範囲テーブルのデータ構造の一例を示す図である。図23に示すように、クリップ範囲テーブル250Aは、逆特性フィルタ後画素分散値250d、クリップ範囲250bおよびクリップ誤差率250cを、テスト画像番号250aに対応付けて記憶する。
テスト画像番号250a、クリップ範囲250bおよびクリップ誤差率250cは、図20で示したクリップ範囲テーブル250と同様であるので、その説明を省略する。逆特性フィルタ後画素分散値250dは、逆特性フィルタ処理後の画像データにおける全画素の画素値の画素分散値である。なお、クリップ範囲250b、クリップ誤差率250cおよび逆特性フィルタ後画素分散値250dは、テーブル生成部44Aによって算出される。
図22に戻って、画素分散値算出部440は、逆特性フィルタ処理後の画像データに対して、全画素の画素値の画素分散値を算出する。そして、画素分散値算出部440は、逆特性フィルタ処理後の画素分散値をクリップ処理部320Aに出力する。
クリップ処理部320Aは、クリップ範囲テーブル250Aに記憶された逆特性フィルタ後画素分散値250dを参照して、逆特性フィルタ処理後の画素分散値に近い順に予め定められた上位m´個のテスト画像番号を抽出する。クリップ処理部320Aは、抽出されたテスト画像番号に対応するクリップ範囲でクリップ処理を行う。そして、クリップ処理部320Aは、各テスト画像番号に対応するクリップ範囲にてクリップ処理後の画像データを正規化処理部330に出力する。なお、クリップ処理部320Aによるクリップ処理は、クリップ処理部320によるクリップ処理と同様であるので、その説明を省略する。
[クリップ範囲決定処理のフローチャート]
次に、実施例5のクリップ範囲決定処理のフローチャートを、図24を参照して説明する。図24は、実施例5のクリップ範囲決定処理のフローチャートを示す図である。
図24に示すように、携帯電子機器8は、表示画像データの逆特性フィルタ処理を行う(ステップS61)。ここで、逆特性フィルタ処理後の画像データをAとする。
そして、携帯電子機器8は、逆特性フィルタ処理後の画像データAの全画素の画素値の画素分散値を計算する(ステップS62)。ここで、画像データAの画素分散値をVとする。
そして、携帯電子機器8は、クリップ範囲テーブル250Aを参照し、画像データAの画素分散値Vに近い画素分散値に対応するテスト画像番号250aを上位m´個抽出する(ステップS63)。なお、m´は、クリップ範囲テーブル250Aに記憶されたテスト画像番号250aの数m以下であるものとする。
携帯電子機器8は、抽出されたm´個のテスト画像番号250aに対応するクリップ範囲250bでAのクリップ処理を行う(ステップS64)。ここで、クリップ処理後の画像データをB1、・・・、Bm´とする。
続いて、携帯電子機器8は、クリップ処理後の画像データB1、・・・、Bm´の正規化処理を行う(ステップS65)。ここで、正規化処理後の画像データをC1、・・・、Cm´とする。携帯電子機器8は、正規化処理後の画像データC1、・・・、Cm´のぼやけ特性フィルタ処理を行う(ステップS66)。ここで、ぼやけ特性フィルタ処理後の画像データをD1、・・・、Dm´とする。
そして、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を算出する(ステップS67)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を、式(13)を用いて算出する。
そして、携帯電子機器8は、クリップ範囲テーブル250Aを参照し、クリップ誤差率の最も近いクリップ範囲を決定する(ステップS68)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を取得する。携帯電子機器8は、取得した画像データD1、・・・、Dm´のクリップ誤差率を、テスト画像番号250aごとに、クリップ範囲テーブル250Aのクリップ誤差率250cと比較する。携帯電子機器8は、取得したクリップ誤差率がクリップ範囲テーブル250Aのクリップ誤差率250cに最も近いテスト画像番号250aをみつけ、みつけたテスト画像番号250aに対応するクリップ範囲250bを使用クリップ範囲として決定する。
この後、携帯電子機器8は、以下の処理を行う。すなわち、携帯電子機器8は、決定されたクリップ範囲を用いて、Aのクリップ処理を行う。ここで、クリップ処理後の画像データをB´とする。携帯電子機器8は、B´の正規化処理を行う。ここで、正規化処理後の画像データをC´とする。そして、携帯電子機器8は、正規化処理後の画像データC´を画面に出力する。
[実施例5の効果]
このようにして、上記実施例5によれば、電子機器1は、網膜に結像する画像の異なる傾向における複数のテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を事前に特定する。そして、電子機器1は、複数のテスト画像データに対してそれぞれ特定されたクリップ範囲を、テスト画像データに対応付けて携帯電子機器8に記憶させる。この結果、携帯電子機器8は、テスト画像データごとのクリップ範囲を利用して、表示画像データと適合度の高いテスト画像データのクリップ範囲をみつけることができるので、表示画像データをリアルタイムに補正することができる。つまり、ネルダー・ミード法を用いた画像劣化度を最小化するクリップ範囲の決定処理は、演算量が大きいので、かかる処理を電子機器1で事前に行うことで、携帯電子機器8での演算量を減らすことができ、表示画像データの補正を高速に行うことができる。さらに、携帯電子機器8は、表示画像データと画像傾向が近いテスト画像データのクリック範囲を使用クリック範囲として決定し、決定したクリック範囲を用いて表示画像データを補正してディスプレイで表示することで、表示画像を見る老眼の利用者の視認性を向上させることができる。
ところで、実施例4の電子機器1は、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、画像劣化度が最小となるクリップ範囲を決定し、テスト画像データに対してそれぞれ決定されたクリップ範囲をクリップ誤差率と対応付けてクリップ範囲テーブル250を生成する。そして、電子機器1は、生成したクリップ範囲テーブル250を携帯電子機器3に格納させると説明した。しかしながら、電子機器1によって生成されるクリップ範囲テーブル250は、複数のテスト画像データに対してそれぞれ決定されたクリップ範囲をクリップ誤差率および原画像データとエッジ画像データの誤差率と対応付けたものであっても良い。
そこで、実施例6では、電子機器1によって生成されるクリップ範囲テーブル250が、複数のテスト画像データに対してそれぞれ決定されたクリップ範囲をクリップ誤差率および原画像データとエッジ画像データの誤差率と対応付けたものである場合を説明する。
[実施例6の情報表示システムの機能構成]
図25は、実施例6の情報表示システムの機能構成の一例を示すブロック図である。なお、図19に示す情報表示システム9と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例4と実施例6とが異なるところは、電子機器1では、クリップ範囲テーブル250、テーブル生成部44をそれぞれクリップ範囲テーブル250B、テーブル生成部44Bに変更した点にある。また、実施例4と実施例6とが異なるところは、携帯電子機器8では、クリップ範囲テーブル250をクリップ範囲テーブル250Bに変更し、クリップ処理部320をクリップ処理部320Bに変更した点にある。また、実施例4と実施例6とが異なるところは、携帯電子機器8では、エッジフィルタ処理部350およびエッジ誤差率算出部450を追加した点にある。
テーブル生成部44Bは、網膜に結像する画像の異なる傾向におけるテスト画像データに対して、画像劣化度が最小となるクリップ範囲を決定する。画像劣化度が最小となるクリップ範囲は、例えば、ネルダー・ミード法によって決定される。なお、ネルダー・ミード法によってクリップ範囲を決定する方法は、実施例2および実施例3と同様であるので、その説明を省略する。
また、テーブル生成部44Bは、複数のテスト画像データに対してそれぞれ決定されたクリップ範囲をクリップ誤差率および原画像データとエッジ画像データの誤差率と対応付けて、クリップ範囲テーブル250Bを生成する。クリップ誤差率とは、決定されたクリップ範囲でテスト画像データをクリップ処理した後の画像データの情報の、テスト画像データの情報との誤差を表す割合である。言い換えれば、クリップ誤差率は、原画像(テスト画像)データにクリップ処理を施したことにより失われた情報量の大きさを表わす。クリップ誤差率は、式(13)により算出される。また、原画像データとエッジ画像データの誤差率とは、テスト画像データのエッジの情報の、テスト画像データの情報との誤差を表す割合である。言い換えれば、原画像データとエッジ画像データの誤差率は、原画像データをエッジ画像データとしたことにより失われた情報量の大きさを表わす。エッジ誤差率は、式(14)により算出される。なお、式(14)のE、Iは、エッジ処理、原画像データを意味する。M、S(I)は、Iの最大画素値、Iの画素数を意味する。
また、テーブル生成部44Bは、生成されたクリップ範囲テーブル250Bをメモリ2に格納する。そして、テーブル生成部44Bは、生成したクリップ範囲テーブル250Bを携帯電子機器8に格納させる。
ここで、クリップ範囲テーブル250Bのデータ構造の一例を、図26を参照して説明する。図26は、実施例6のクリップ範囲テーブルのデータ構造の一例を示す図である。図26に示すように、クリップ範囲テーブル250Bは、原画像データとエッジ画像データの誤差率250e、クリップ範囲250bおよびクリップ誤差率250cを、テスト画像番号250aに対応付けて記憶する。
テスト画像番号250a、クリップ範囲250bおよびクリップ誤差率250cは、図20で示したクリップ範囲テーブル250と同様であるので、その説明を省略する。原画像データとエッジ画像データの誤差率250eは、テスト画像データにおける原画像データのエッジ画像データの情報の、テスト画像データにおける原画像データの情報との誤差を表す割合である。なお、クリップ範囲250b、クリップ誤差率250cおよび原画像データとエッジ画像データの誤差率250eは、テーブル生成部44Bによって算出される。
図25に戻って、エッジフィルタ処理部350は、表示画像(原画像)データに対して、エッジフィルタを適用する。例えば、エッジフィルタ処理部350は、エッジフィルタを施すことにより色調の異なる境界部分(エッジ)の画像データを抽出する。そして、エッジフィルタ処理部350は、抽出したエッジ画像データをエッジ誤差率算出部450に出力する。
エッジ誤差率算出部450は、エッジ画像データと表示画像(原画像)データとを用いて、表示画像(原画像)データのエッジ誤差率を算出する。原画像データのエッジ誤差率は、式(14)により算出される。そして、エッジ誤差率算出部450は、算出された原画像データのエッジ誤差率をクリップ処理部320Bに出力する。
クリップ処理部320Bは、クリップ範囲テーブル250Bに記憶された原画像データとエッジ画像データの誤差率250eを参照して、原画像データのエッジ誤差率に近い順に予め定められた上位m´個のテスト画像番号を抽出する。クリップ処理部320Bは、抽出されたテスト画像番号に対応するクリップ範囲でクリップ処理を行う。そして、クリップ処理部320Bは、各テスト画像番号に対応するクリップ範囲にてクリップ処理後の画像データを正規化処理部330に出力する。なお、クリップ処理部320Bによるクリップ処理は、クリップ処理部320によるクリップ処理と同様であるので、その説明を省略する。
[クリップ範囲決定処理のフローチャート]
次に、実施例6のクリップ範囲決定処理のフローチャートを、図27を参照して説明する。図27は、実施例6のクリップ範囲決定処理のフローチャートを示す図である。
図27に示すように、携帯電子機器8は、表示画像データのエッジフィルタ処理を行う(ステップS71)。ここで、エッジフィルタ処理後のエッジ画像データをFとする。そして、携帯電子機器8は、エッジ画像データFのエッジ誤差率を算出する(ステップS72)。ここで、エッジ画像データFのエッジ誤差率をEとする。
そして、携帯電子機器8は、クリップ範囲テーブル250Bを参照し、エッジ画像データFのエッジ誤差率Eに近いエッジ誤差率に対応するテスト画像番号250aを上位m´個抽出する(ステップS73)。なお、m´は、クリップ範囲テーブル250Bに記憶されたテスト画像番号250aの数m以下であるものとする。
携帯電子機器8は、表示画像データの逆特性フィルタ処理を行う(ステップS74)。ここで、逆特性フィルタ処理後の画像データをAとする。
携帯電子機器8は、抽出されたm´個のテスト画像番号250aに対応するクリップ範囲250bでAのクリップ処理を行う(ステップS75)。ここで、クリップ処理後の画像データをB1、・・・、Bm´とする。
続いて、携帯電子機器8は、クリップ処理後の画像データB1、・・・、Bm´の正規化処理を行う(ステップS76)。ここで、正規化処理後の画像データをC1、・・・、Cm´とする。携帯電子機器8は、正規化処理後の画像データC1、・・・、Cm´のぼやけ特性フィルタ処理を行う(ステップS77)。ここで、ぼやけ特性フィルタ処理後の画像データをD1、・・・、Dm´とする。
そして、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を算出する(ステップS78)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を、式(13)を用いて算出する。
そして、携帯電子機器8は、クリップ範囲テーブル250Bを参照し、クリップ誤差率の最も近いクリップ範囲を決定する(ステップS79)。例えば、携帯電子機器8は、ぼやけ特性フィルタ処理後の画像データD1、・・・、Dm´のクリップ誤差率を取得する。携帯電子機器8は、取得した画像データD1、・・・、Dm´のクリップ誤差率を、テスト画像番号250aごとに、クリップ範囲テーブル250Bのクリップ誤差率250cと比較する。携帯電子機器8は、取得したクリップ誤差率がクリップ範囲テーブル250Bのクリップ誤差率250cに最も近いテスト画像番号250aをみつけ、みつけたテスト画像番号250aに対応するクリップ範囲250bを使用クリップ範囲として決定する。
この後、携帯電子機器8は、以下の処理を行う。すなわち、携帯電子機器8は、決定されたクリップ範囲を用いて、Aのクリップ処理を行う。ここで、クリップ処理後の画像データをB´とする。携帯電子機器8は、B´の正規化処理を行う。ここで、正規化処理後の画像データをC´とする。そして、携帯電子機器8は、正規化処理後の画像データC´を画面に出力する。
[実施例6の効果]
このようにして、上記実施例6によれば、電子機器1は、網膜に結像する画像の異なる傾向における複数のテスト画像データに対して、それぞれ画像劣化度が最小となるクリップ範囲を特定する。電子機器1は、複数のテスト画像データに対してそれぞれ特定されたクリップ範囲を、テスト画像データに対応付けて携帯電子機器8に記憶させる。この結果、携帯電子機器8は、テスト画像データごとのクリップ範囲を利用して、表示画像データと適合度の高いテスト画像データのクリップ範囲をみつけることができるので、表示画像データをリアルタイムに補正することができる。つまり、ネルダー・ミード法を用いた画像劣化度を最小化するクリップ範囲の決定処理は、演算量が大きいので、かかる処理を電子機器1で事前に行うことで、携帯電子機器8での演算量を減らすことができ、表示画像データの補正を高速に行うことができる。さらに、携帯電子機器8は、表示画像データと画像傾向が近いテスト画像データのクリック範囲を使用クリック範囲として決定し、決定したクリック範囲を用いて表示画像データを補正して画像をディスプレイで表示することで、表示画像を見る老眼の利用者の視認性を向上させることができる。
[その他]
なお、上記実施例によれば、電子機器1が、老眼に関するぼやけ特性の逆特性を表示画像データに適用する例について説明した。しかしながら、実施例は、これに限定されるものではない。例えば、電子機器1は、近視、乱視、遠視についても、老眼に関するぼやけ特性を、それぞれに関するぼやけ特性に置き換えることで、それぞれのぼやけ特性の逆特性を表示画像データに対して適用しても良い。かかる処理により、電子機器1は、逆特性フィルタによる輪郭の強調により、ぼやけが解消してはっきりと視ることが可能になる。
また、図示した電子機器1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、電子機器1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クリップ範囲更新部42を、画像劣化度が最小化するか否かを判定する判定部と、画像劣化度が最小化する場合には画像劣化度が最小化するクリップ範囲を決定する決定部と、画像劣化度が最小化しない場合には次のクリップ範囲を更新する更新部とに分離しても良い。また、画像劣化度算出部41とクリップ範囲更新部42とを1つの部として統合しても良い。また、メモリ2を電子機器1の外部装置としてネットワーク経由で接続するようにしても良い。
上記の実施例で説明した電子機器1が発揮する機能は、予め用意された情報表示プログラムをコンピュータが実行することで実現してもよい。そこで、以下では、図28を用いて、上記の電子機器1と同様の機能を有する情報表示プログラムを実行するコンピュータの一例について説明する。図28は、情報表示プログラムを実行するコンピュータの一例を示す図である。
図28に例示されたコンピュータ100は、ROM(Read Only Memory)110、RAM(Random Access Memory)120、表示装置130、CPU(Central Processing Unit)140、入力装置150および通信制御部160がバス170で接続される。
ここで、RAM120には、情報表示プログラム121があらかじめ保持される。CPU140が情報表示プログラム121をRAM120から読み出して実行することによって、図28に示す例では、情報表示プログラム121は、情報表示プロセス141として機能するようになる。なお、情報表示プロセス141は、図3に示した逆特性フィルタ31、クリップ処理部32、正規化処理部33、ぼやけ特性フィルタ処理部34、画像劣化度算出部41、クリップ範囲更新部42および表示部43と同等の機能を発揮する。
なお、本実施例で説明した情報表示プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現できる。このプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
また、コンピュータ100は、CPU140ではなく、例えばMPUやFPGA等の演算装置を用いて情報表示プログラム121を実行してもよい。また、上記の情報表示プログラム121については、例えば、ROM110に記憶させてもよいし、他の方法でCPU140に実行させてもよい。例えば、フレキシブルディスク、いわゆるFD(Flexible Disk)、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。
そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしても良い。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介して他のコンピュータまたはサーバ装置などに記憶させた各プログラムを取得して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)入力画像データに対して、視覚特性の逆特性を示す逆特性フィルタ処理を行う逆特性フィルタ処理部と、
前記逆特性フィルタ処理により得られた第1の画像データを形成する各画素の画素値を、所定のクリップ範囲でクリップ処理するクリップ処理部と、
前記クリップ処理により得られた第2の画像データを形成する各画素の画素値を、正規化処理する正規化処理部と、
前記クリップ処理部により異なる複数のクリップ範囲でクリップ処理され、かつ、前記正規化処理部により正規化処理された複数の第3の画像データに対応する画像劣化度をそれぞれ算出する画像劣化度算出部と、
前記画像劣化度算出部により算出された複数の画像劣化度に基づいて、前記画像劣化度が最小となる前記第3の画像データを特定する特定部と、
前記特定部で特定された前記第3の画像データを所定の表示部に表示制御する表示制御部と
を有することを特徴とする電子機器。
(付記2)前記特定部により
特定された前記第3の画像データに対応するクリップ範囲を特定するクリップ範囲特定部をさらに備え、
前記クリップ処理部は、
前記画像データと異なる他の画像データを処理する場合に、前記クリップ範囲特定部により特定されたクリップ範囲を用いて、前記逆特性フィルタ処理により得られた第1の画像データを形成する各画素の画素値をクリップ処理する
ことを特徴とする付記1に記載の電子機器。
(付記3)前記画像劣化度算出部は、
前記第3の画像データごとに、前記第3の画像データを形成する全ての画素の画素値の分散値を算出する分散値算出部と、
前記第3の画像データごとに、前記入力画像データと前記第3の画像データとの画素ごとの誤差に対するn次元線形空間上のノルムを算出する誤差算出部と、
前記第3の画像データごとに、前記分散値算出部によって算出された分散値と、前記誤差算出部によって算出された誤差に対するn次元線形空間上のノルムとを用いて、前記画像劣化度を算出する
ことを特徴とする付記1に記載の電子機器。
(付記4)前記特定部は、前記第1の画像データを形成する全ての画素の画素値のうち最大値、最小値および中間値と、前記画像劣化度算出部により画像劣化度を算出する際に用いられる関数とに対してネルダー・ミード法を適用し、前記画像劣化度が最小となる前記第3の画像データを特定する
ことを特徴とする付記1に記載の電子機器。
(付記5)前記特定部は、前記ネルダー・ミード法とn段階マルチスタート法とを用いて、前記画像劣化度が最小となる前記第3の画像データを特定する
ことを特徴とする付記4に記載の電子機器。
(付記6)前記特定部は、網膜に結像する画像の傾向における複数の入力画像データに対して、それぞれ画像劣化度が最小となる前記第3の画像データを特定し、特定した前記第3の画像データに対応するクリップ範囲を特定し、
前記複数の入力画像データに対してそれぞれ特定されたクリップ範囲を、前記入力画像データに対応付けた情報を外部の電子機器に格納させる格納部
を有することを特徴とする付記1から付記5のいずれか1つに記載の電子機器。
(付記7)コンピュータに、
入力画像データに対して、視覚特性の逆特性を示す逆特性フィルタ処理を行い、
前記逆特性フィルタ処理により得られた第1の画像データを形成する各画素の画素値を、所定のクリップ範囲でクリップ処理し、
前記クリップ処理により得られた第2の画像データを形成する各画素の画素値を、正規化処理し、
前記クリップ処理により異なる複数のクリップ範囲でクリップ処理され、かつ、前記正規化処理された複数の第3の画像データに対応する画像劣化度をそれぞれ算出し、
該算出処理により算出された複数の画像劣化度に基づいて、前記画像劣化度が最小となる前記第3の画像データを特定し、
該特定処理により特定された前記第3の画像データを所定の表示部に表示制御する
処理を実行させることを特徴とする情報表示プログラム。
(付記8)コンピュータは、
入力画像データに対して、視覚特性の逆特性を示す逆特性フィルタ処理を行い、
前記逆特性フィルタ処理により得られた第1の画像データを形成する各画素の画素値を、所定のクリップ範囲でクリップ処理し、
前記クリップ処理により得られた第2の画像データを形成する各画素の画素値を、正規化処理し、
前記クリップ処理により異なる複数のクリップ範囲でクリップ処理され、かつ、前記正規化処理された複数の第3の画像データに対応する画像劣化度をそれぞれ算出し、
該算出処理により算出された複数の画像劣化度に基づいて、前記画像劣化度が最小となる前記第3の画像データを特定し、
該特定処理により特定された前記第3の画像データを所定の表示部に表示制御する
処理を実行することを特徴とする情報表示方法。