本発明の一実施形態について図1〜図11(b)に基づいて説明すれば、以下の通りである。なお、本実施の形態では、画像表示部の例として液晶ディスプレイを採用した場合について説明するが、液晶ディスプレイ以外の画像表示部を採用する場合も本発明の適用範囲に含まれる。
〔1.画像処理装置(電子機器)の構成〕
まず、図1及び図2(a)〜(h)に基づいて、本発明の一実施形態である画像処理装置1(電子機器20)の構成及び撮像画像の例について説明する。以下では、便宜上、画像処理装置1について説明するが、本発明の一実施形態である画像処理装置1の機能を必要とする電子機器(電子機器20)であれば、一般の電子機器に対して適用可能である。
まず、画像処理装置1の構成の概要及び画像処理装置1の撮像原理について説明する。画像処理装置1は、表示機能を有しており、複数の画素から構成される液晶ディスプレイ(ディスプレイ)及び該液晶ディスプレイに光を照射するバックライトを備えている点は、通常の液晶ディスプレイと同様である。
しかし、画像処理装置1における液晶ディスプレイは、各画素内に光センサー(撮像センサー)が内蔵され、該光センサーによって液晶ディスプレイの表示画面に近接してきた外部の物体など(撮像対象)を撮像し、画像データ(撮像センサーによって撮像された画像データ)として取り込むことが可能となっている点が、通常の液晶ディスプレイと異なっている。
なお、液晶ディスプレイは、複数の画素のうち所定数の画素のそれぞれに光センサーが内蔵されているものであっても良いが、光センサーによる撮像画像の解像度の観点から、光センサーは、すべての画素に内蔵されていることが好ましい。
なお、画像処理装置1の液晶ディスプレイは、通常の液晶ディスプレイと同様に、複数の走査線と複数の信号線とが交差するように配線され、この各交差部に画素が配置され、薄膜トランジスタ、及び各種容量を有する画素を備えた表示部と、走査線を駆動する駆動回路と、信号線を駆動する駆動回路とを備えているものである。
また、画像処理装置1の液晶ディスプレイは、例えば各画素内に撮像センサーとしてフォトダイオード(撮像センサー)を内蔵する構成となっている。このフォトダイオードには、キャパシタが接続され、表示画面から入射された光のフォトダイオードでの受光量の変化に応じてキャパシタの電荷量を変化させる構成となっている。そして、このキャパシタの両端の電圧を検出することにより画像データを生成することで、画像の撮像(取り込み)を行うようになっている。これが画像処理装置1の液晶ディスプレイによる撮像原理である。
なお、撮像センサーとしては、フォトダイオードに限られず、光電効果を動作原理とし、液晶ディスプレイなどの各画素に内蔵できるものであれば、何であっても良い。
以上の構成により、画像処理装置1は、液晶ディスプレイ本来の画像を表示する表示機能に加え、表示画面に近接してきた外部の物体の画像(撮像対象)を撮像する撮像機能を備える構成となっている。それゆえ、ディスプレイの表示画面でのタッチ入力が可能な構成とすることができる。
ここで、図2(a)〜(h)に基づき、画像処理装置1の液晶ディスプレイの各画素に内蔵されたフォトダイオードによって撮像される撮像対象の例として、「指の腹」と「ペン先」との例を挙げ、それぞれの撮像画像(又は画像データ)の特徴の概要について説明する。
図2(a)は、周囲が暗い場合における指の腹の撮像画像の撮像の様子を示す概要図であり、図2(b)は、周囲が暗い場合における指の腹の撮像画像の特徴を示す概要図である。図2(a)に示すように、ユーザが、暗い部屋で液晶ディスプレイの表示画面に、人差し指の腹を接触させた場合について考える。
この場合、図2(b)の撮像画像61は、バックライトが撮像対象(指の腹)に反射して得られる画像であり、白い円形状がぼやけたような画像となる。なお、各画素における勾配方向は、おおよそ、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かう傾向を示している。(ここでは、勾配方向は暗い部分から明るい部分に向かう向きを正としている。)
次に、図2(c)は、周囲が明るい場合における指の腹の撮像画像の撮像の様子を示す概要図であり、図2(d)は、周囲が明るい場合における指の腹の撮像画像の特徴を示す概要図である。図2(c)に示すように、ユーザが、明るい部屋で液晶ディスプレイの表示画面に、人差し指の腹を接触させた場合について考える。
この場合、図2(d)の撮像画像62は、外光が液晶ディスプレイの表示画面に入射することによって得られる画像(接触した場合は、バックライトによる反射光も混じる。)であり、人差し指で外光が遮られることによって生じた指の影と、液晶ディスプレイの表示画面に接触した指の腹にバックライトの光が反射してできた白い円形状がぼやけた部分とからなる。これらのうち白い円形状の部分における勾配方向は、上述した暗い部屋で指の腹を接触させた場合と同様の傾向を示すが、その周囲を囲む影は暗く、周囲が外光で明るいので、各画素における勾配方向は、白い円形状の部分における勾配方向と逆向きの傾向を示している。
図2(e)は、周囲が暗い場合におけるペン先の撮像画像の撮像の様子を示す概要図であり、図2(f)は、周囲が暗い場合におけるペン先の撮像画像の特徴を示す概要図である。図2(e)に示すように、ユーザが、暗い部屋で液晶ディスプレイの表示画面に、ペン先を接触させた場合について考える。
この場合、図2(f)の撮像画像63は、バックライトが撮像対象(ペン先)に反射して得られる画像であり、小さな白い円形状がぼやけたような画像となる。なお、各画素における勾配方向は、おおよそ、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かう傾向を示している。
次に、図2(g)は、周囲が明るい場合におけるペン先の撮像画像の撮像の様子を示す概要図であり、図2(h)は、周囲が明るい場合におけるペン先の撮像画像の特徴を示す概要図である。図2(g)に示すように、ユーザが、明るい部屋で液晶ディスプレイの表示画面に、ペン先を接触させた場合について考える。
この場合、図2(h)の撮像画像64は、外光が液晶ディスプレイの表示画面に入射することによって得られる画像(接触した場合は、バックライトによる反射光も混じる。)であり、ペンで外光が遮られることによって生じたペンの影と、液晶ディスプレイの表示画面に接触したペン先にバックライトの光が反射してできた小さな白い円形状がぼやけた部分とからなる。これらのうち小さな白い円形状の部分における勾配方向は、上述した暗い部屋でペン先を接触させた場合と同様の傾向を示すが、その周囲を囲む影は暗く、周囲が外光で明るいので、各画素における勾配方向は、小さな白い円形状の部分における勾配方向と逆向きの傾向を示している。
以上のような、各勾配方向の分布は、例えば、指のように表面が柔らかく、面に接触することにより接触面が円形になる場合、または先が丸いペンのように表面が固くても接触面が円形になるような場合には、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かうか、或いは、該中心付近から放射状にエッジ部分に向かうかのいずれかの傾向を示す。また、接触面がその他の形状であっても、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中に向かうか、或いは、エッジ部分に囲まれた領域の中からその領域の外側に向かうかのいずれかの傾向を示す。さらに、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、勾配方向は、パターンマッチングに適した量である。
次に、図1に基づき、本実施の形態における画像処理装置1の構成の詳細について説明する。
画像処理装置1は、図1に示すように、撮像された撮像画像の画像データを用いて、撮像対象による撮像画像上の指示位置を特定する機能を備えたものであり、低解像度化部2、画素値縦勾配量算出部(勾配算出手段)3a、画素値横勾配量算出部(勾配算出手段)3b、エッジ抽出部(エッジ画素特定手段、接触判定手段)4、勾配方向・無方向特定部(勾配方向特定手段)5、照合効率化部(照合効率化手段)6、一致画素数算出部(合致度算出手段)7、モデルパターン・比較用一致パターン格納部8、パターン合致度算出部(合致度算出手段)9、スコア算出部(合致度算出手段、接触判定手段)10、及び位置特定部(位置特定手段)11を備えるものである。
低解像度化部2は、撮像された撮像画像の画像データを低解像度化するものである。
画素値縦勾配量算出部3a及び画素値横勾配量算出部3bは、画像データ上の画素ごとに、注目画素の画素値と複数の隣接画素の画素値とから注目画素の画素値の縦方向勾配量及び横方向勾配量を算出するものである。具体的には、Sobel(ソベル)オペレータ、Prewitt(プリウイット)オペレータなどのエッジ抽出オペレータを用いれば良い。
例えば、Sobelオペレータについて説明すると、各画素の画素位置x(i,j)における局所的な縦方向勾配Sy及び横方向勾配Sxは、次式(1)のように求められる。
Sx=xi+1j−1−xi―1j−1+2xi+1j−2xi―1j+xi+1j+1−xi―1j+1
Sy=xi−1j+1−xi−1j−1+2xij+1−2xij−1+xi+1j+1−xi+1j−1
・・・(1)
ここで、xijは画素位置x(i,j)における画素値を表し、iは水平方向に沿った画素の位置を、jは垂直方向に沿った画素の位置をそれぞれ表す。ここに、i及びjは正の整数である。
ここで、式(1)は、次式(2)・(3)の3×3のSobelオペレータ(行列演算子Sx及びSy)を、画素位置x(i,j)を注目画素とする3×3画素に適用することと等価である。
なお、縦方向勾配Sy及び横方向勾配Sxに基づけば、画素位置x(i,j)における勾配の大きさABS(S)及び勾配方向ANG(S)は、次のように与えられる。なお、以下では、演算子としての縦方向勾配Sy及び横方向勾配Sxを各画素に適用することによって得られた縦方向勾配量及び横方向勾配量をそれぞれ、便宜上縦方向勾配量Sy及び横方向勾配量Sxと記載する場合がある。
ABS(S)=(Sx2+Sy2)1/2 ・・・(4)
ANG(S)=tan−1(Sy/Sx) ・・・(5)
エッジ抽出部4は、画素値縦勾配量算出部3a及び画素値横勾配量算出部3bが算出した各画素の縦方向勾配量Sy及び横方向勾配量Sxの算出結果から、撮像画像のエッジ部分の画素であるエッジ画素(第1エッジ画素)を抽出(特定)するものである。
ここで、エッジ画素とは、画像データを構成する各画素のうち、明るさが急激に変化する部分(エッジ)における画素である。より、具体的には、エッジ画素とは、縦方向勾配量Sy及び横方向勾配量Sxのそれぞれ、又は勾配の大きさABS(S)が所定の第1閾値以上である画素のことである。
なお、この第1エッジ画素を抽出する目的は、勾配方向・無方向特定部5が、抽出された複数の第1エッジ画素については、勾配方向を特定し、第1エッジ画素以外の画素については一律無方向と看做して特定するようにする点にある。
パターンマッチングにおいて重要な情報は、エッジ部分の第1エッジ画素における勾配方向である。
したがって、あまり重要でない画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。また、以下で説明する撮像対象による撮像画像上の指示位置の検出の際のメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、指示位置の検出処理のコストをさらに削減させることができる。
また、エッジ抽出部4は、上記機能の他、エッジマスクの生成機能も有している。なお、エッジマスクとは、例えば、縦方向勾配量及び横方向勾配量から算出される勾配の大きさABS(S)に、前記第1閾値よりも大きい第2閾値を設定し、該第2閾値を超える(又は以上)の場合には、「1」を与え、該第2閾値以下(又は未満)の場合は「0」を与えることによって生成される前記画像データを2値化データとしたものである。このエッジマスクを参照して、「1」を示す位置の画素が、第2エッジ画素として特定される。
勾配方向・無方向特定部5は、抽出された複数の第2エッジ画素については、勾配方向を特定し、第2エッジ画素以外の画素については一律無方向と看做して特定するように構成する。
なお、第1閾値に基づいて、抽出された第1エッジ画素のうち、上記エッジマスクの「1」を示す位置の第1エッジ画素は有効とし、上記エッジマスクの「0」を示す位置の第1エッジ画素は、無効として、有効な第1エッジ画素を選択してパターンマッチングを行っても良い。
勾配方向・無方向特定部5は、画素値縦勾配量算出部3a及び画素値横勾配量算出部3bが算出した縦方向勾配量Sy及び横方向勾配量Sxから、画素ごとの勾配方向ANG(S)と、縦方向勾配量Sy及び横方向勾配量Sxのそれぞれ、又は勾配の大きさABS(S)が所定の閾値未満である無方向とのいずれかを特定するものである。
ここでは、無方向を所定の閾値未満であると定義しているが、所定の閾値以下と定義しても良い。
あらかじめ無方向を設定しておくことで、ノイズ等により不要な多数の勾配方向が発生することを抑制することができる。また、エッジ近傍の勾配方向に照合対象を絞りこむことが可能となり、照合の効率化を図ることができる。
なお、勾配方向・無方向特定部5は、エッジ抽出部4によって特定された複数のエッジ画素の勾配方向を特定し、エッジ画素以外の画素を無方向と看做して特定することが好ましい。パターンマッチングにおいて重要な情報は、エッジ部分のエッジ画素における勾配方向であると言える。
したがって、パターンマッチングにおいてあまり重要でない画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。
ここで、勾配方向ANG(S)は、0rad〜2πradの範囲で変化する連続量であるから、本実施形態においては、これを例えば8方向に量子化したものを勾配方向としてパターンマッチングに使用する特徴的な量(以下「特徴量」と呼ぶことがある。)とする。なお、より精度の高いパターンマッチングを行なうために、16方位などに量子化しても良い。具体的な方向の量子化の詳細な手順については後述する。なお、方向の量子化とは、勾配方向ANG(S)が所定の範囲内にある方向を一律にある特定の方向の勾配方向であると看做して取り扱うことを言う。
照合効率化部6は、注目画素の周囲で所定の画素数を含む領域である照合領域と、あらかじめ定められたモデルパターンとの照合(以下、「パターンマッチング」と呼ぶことがある。)を行う場合に、照合領域とモデルパターンとの照合の効率化を図るためのものである。
一致画素数算出部7は、例えば、照合領域と、モデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(以下、「一致画素数」と呼ぶ。)を算出するものである。
モデルパターン・比較用一致パターン格納部8は、モデルパターンと、照合領域に含まれる画素ごとの勾配方向とモデルパターンに含まれる画素ごとの勾配方向との一致パターンを分析することによってあらかじめ定めた比較用一致パターンとを格納しておくものである。モデルパターン・比較用一致パターン格納部8は、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやコンパクトディスク−ROM/MO/MD/デジタルビデオデイスク/コンパクトディスク−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
パターン合致度算出部9は、照合領域に含まれる画素ごとの勾配方向とモデルパターンに含まれる画素ごとの勾配方向との一致パターンと、あらかじめ定められた比較用一致パターンとが類似する度合いを示すパターン合致度を算出するものである。
スコア算出部10は、一致画素数算出部7が算出した一致画素数、及びパターン合致度算出部9が算出したパターン合致度から、照合領域とモデルパターンとのマッチングの度合いを示す合致度を算出するものである。なお、スコア算出部10は、一致画素数算出部7が算出した一致画素数、及びパターン合致度算出部9が算出したパターン合致度のいずれか1つを使用するよう構成しても良い。
また、スコア算出部10は、照合領域内において合致する勾配方向の種類数が、あらかじめ定められた規定種類数以上の場合に、合致度を算出するようにしても良い。
上述のように、勾配方向は、おおよその傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。よって、例えば、勾配方向の種類数が8方向の場合、パターンマッチングで一致する勾配方向の種類数は、8に近いものとなるはずである。したがって、前記照合領域内において合致する勾配方向の種類数が、あらかじめ定められた規定種類数以上の場合に、合致度を算出するようにすれば、指示位置の検出処理のメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、前記指示位置の検出処理のコストをさらに削減させることができる。
ところで、液晶ディスプレイに内蔵された撮像センサーに入力される光は、バックライトの反射光と、外部からの外光とが考えられる。
この場合、撮像画像から、バックライトの反射光による影響と、外部からの外光による影響とを分離することは困難である。
バックライト反射ベースにおいては、バックライトが撮像対象に反射して得られる画像は、例えば指の腹であれば、白い円形状がぼやけたような画像となる。そこで、この場合は、緩めの第1閾値により、エッジ抽出部4が、第1エッジ画素を特定するようにする。
一方、影ベースにおいては、撮像対象(例えば指の腹)がパネル面から離れている場合(非接触)には、ぼやけた(コントラストの弱い)撮像画像となり、パネル面に接触している場合には鮮鋭な(コントラストの強い)撮影画像となる。従って、影ベースにおいては、前記第1閾値よりも大きいエッジ判断基準の厳しい第2閾値により、エッジ抽出部4が、第2エッジ画素を特定するようにする。
こうして、複数の第1エッジ画素が特定された画像データと、バックライト反射ベースであらかじめ定められた第1モデルパターン、及び複数の第2エッジ画素が特定された画像データと、影ベースであらかじめ定められた第2モデルパターンのそれぞれについてパターンマッチングを行って第1画素数及び第2画素数が得られる。この場合、スコア算出部10は、例えば、第1画素数及び第2画素数を加算したものを合致度として用いることが可能となる。
以上により、スコア算出部10は、照合領域に含まれる第1エッジ画素の勾配方向と、あらかじめ定められた第1モデルパターンに含まれる勾配方向とが一致する第1画素数と、照合領域に含まれる第2エッジ画素の勾配方向と、あらかじめ定められた第2モデルパターンに含まれる勾配方向とが一致する第2画素数とから、前記合致度を算出する。
それゆえ、バックライト反射ベースと影ベースの各処理を切り替える必要がなく、一つの構成で両方に対応した処理を実施することが可能となり、照明環境が明るくても暗くても撮像対象の指示位置を特定することができる画像処理装置を提供することができる。
位置特定部11は、スコア算出部10が算出した合致度が最大となる画素(以下、「ピーク画素」と呼ぶ。)の位置から、撮像対象による撮像画像上の指示位置を特定するものであり、ピーク探索部(ピーク画素特定手段、位置特定手段)12、座標算出判定部(座標算出判定手段、位置特定手段)13、及び座標算出部(座標算出手段、位置特定手段)14を備えるものである。
ピーク探索部12は、注目画素の周囲で所定の画素数を含む探索領域(以下、「第1領域」と呼ぶ場合がある。)内で、スコア算出部10が算出した合致度が最大値を取る画素であるピーク画素を探索するものである。
座標算出判定部13は、探索領域の画素数よりも少ない所定の画素数を有すると共に、探索領域内に完全に包含される小領域(以下、「第2領域」と呼ぶ場合がある。)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合に、座標算出部14に撮像対象による撮像画像上の指示位置を算出させるものである。
座標算出部14は、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとの合致度を用いて、撮像対象による撮像画像上の指示位置を算出するものである。
以上の構成によれば、画素値縦勾配量算出部3a及び画素値横勾配量算出部3bは、画像データ上の画素ごとに、各画素の画素値と各画素における複数の隣接画素の画素値とから縦方向勾配量Sy及び横方向勾配量Sxを算出する。
また、勾配方向・無方向特定部5は、画素値縦勾配量算出部3a及び画素値横勾配量算出部3bが算出した縦方向勾配量Sy及び横方向勾配量Sxから、画素ごとの勾配方向(ANG(S)の値に応じて方向を量子化されたもの。以下同様の説明は省略する。)と、縦方向勾配量Sy及び横方向勾配量Sxのそれぞれ、又は縦方向勾配量Sy及び横方向勾
配量Sxから算出される勾配の大きさABS(S)が所定の閾値未満である無方向とのいずれかを特定する。
ここに、画素値の縦方向勾配量Sy及び横方向勾配量Sx、勾配方向、及び勾配の大きさABS(S)などは、1フレームの撮像画像から得られる量である。また、これらの量は、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく得ることができる量でもある。
次に、スコア算出部10は、照合領域と、モデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(一致画素数)から、照合領域とモデルパターンとのマッチングの度合いを示す合致度を算出する。
ここで、照合領域と、あらかじめ定められたモデルパターンとの照合(パターンマッチング)に使用される量としては、画素値(濃度値)などのスカラー量も考えられる。しかし、このようなスカラー量は量子化(所定の範囲内の量を一律にある一定の量と看做して扱う)したとしても、撮像対象の状況等に応じて、常に変わり得るため、あらかじめモデルパターンを設定しておくことは困難である。
一方、画素値の勾配はベクトル量であり、大きさ(勾配の大きさABS(S))と向き(勾配方向ANG(S))とを持つものである。ここで、特に、勾配方向(向き)は、例えば8方向に量子化したりすることによって、1つの画素がとり得る状態を8(無方向を含めると9)という極めて少ない状態に離散化することでき、さらにそれぞれの状態には、方向が異なるという識別が容易な特徴を持たせる事ができる。
また、勾配方向は、上述したような傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、勾配方向は、パターンマッチングに適した量である。
以上により、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いてパターンマッチングが可能となる。このため、メモリ容量を少量化し、及び処理時間を短縮化したパターンマッチングが可能となる。
次に、位置特定部11は、スコア算出部10が算出した合致度が、最大となる注目画素(ピーク画素)の位置から、撮像対象による撮像画像上の指示位置を特定する。
上述のように、勾配方向には、おおよその傾向がある。したがって、合致度の最大値近傍は、撮像対象による前記撮像画像上の指示位置の近傍を示すものと考えられる。従って、上記勾配方向の傾向を考慮して、撮像対象ごとに、(例えば、勾配方向が、ドーナツ状に分布した画像データとなる撮像対象の場合には、照明環境(明るいか暗いか)や撮像対象のサイズ(指の腹は大きい、一方ペン先は小さいなど)ごとに)あらかじめモデルパターンを定めておくことにより、パターンマッチングにおけるピーク画素の位置から、撮像対象による撮像画像上の指示位置を特定することが可能となる。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いて撮像対象による撮像画像上の指示位置の検出を可能としてメモリ容量を少量化すること及び処理時間を短縮化することができる画像処理装置1などを提供することができる。
〔2.画像処理装置(電子機器)の動作の概要〕
つぎに、図1及び図3に基づいて、本発明の一実施形態である画像処理装置1(電子機器20)の動作の概要について説明する。
なお、〔2.画像処理装置(電子機器)の動作の概要〕において説明すること以外の構成は、〔1.画像処理装置(電子機器)の構成〕と同じである。また、説明の便宜上、〔1.画像処理装置(電子機器)の構成〕の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。なお、以下適宜項目を設けるが、この場合においては、上記なお書き以下の同様の説明は省略する。
図3は画像処理装置1の全体的な動作の概要を示すフローチャートである。ステップS101(以下「S101」のように記載する。)では、図1の低解像度化部2が画像データを低解像度化し、S102に進む。例えば、320×240画素の画像データであれば、160×120画素(低解像度化率1/2)、又は80×60画素(低解像度化率1/4)などのようにバイリニア縮小させる。ここでバイリニア縮小とは、例えば2×2の各画素の画素値の平均値を取り、2×2画素のデータを該平均値を持った1×1画素のデータに置換することにより、全体として1/4の情報圧縮を行なうことを言う。
なお、高速処理の観点からは、できるだけ低解像度化することが好ましいが、必要なエッジ情報などを得るためには、例えば320×240画素(150dpi)の画像データの場合であれば、80×60画素(低解像度化率1/4)を低解像度化の限度とすることが好ましい。また、高精度処理の観点からは、低解像度化を全く行わないか、低解像度化するとしても、160×120画素(低解像度化率1/2)に留めることが好ましい。
以上の画像データの低解像度化により、パターンマッチングの処理コストやメモリ容量の少量化、及び処理時間の短縮化を図ることがきる。
S102では、画素値縦勾配量算出部3a、及び画素値横勾配量算出部3bが、画像データ上の画素ごとに、縦方向勾配量Sy及び横方向勾配量Sxを算出してから、勾配方向・無方向特定部5が、画素ごとの勾配方向と無方向とのいずれかを特定するまでの過程(勾配方向・無方向特定過程)を経た上で、S103に進む。
S103では、照合効率化部6で、照合領域と、モデルパターンとの照合を行う場合に、照合領域とモデルパターンとの照合の効率化を図る(照合効率化)か否かを選択する。照合効率化を行なう場合(Yes)には、S104に進み、照合効率化部6で照合効率化を行った上でS105に進み、照合効率化を行わない場合(No)にはS107に進み、照合効率化部6は何もせず、そのままの情報(画像データ、但し、低解像度化部2で、低解像度化している場合には、低解像度化後の画像データ)でS105に進む。
S105では、一致画素数算出部7が、照合領域と、モデルパターンとの照合を行って、一致画素数を算出し、パターン合致度算出部9が、パターン合致度を算出してから、スコア算出部10が、一致画素数算出部7が算出した一致画素数、及びパターン合致度算出部9が算出したパターン合致度から、合致度を算出するまでの過程(パターンマッチング過程)を経た上で、S106に進む。
S106では、位置特定部11が、スコア算出部10が算出した合致度が最大となる画素(以下、「ピーク画素」と呼ぶ。)の位置から、撮像対象による撮像画像上の指示位置を特定して「エンド」となる(ポインティング位置特定過程)。
以上が、画像処理装置1の全体の動作の概要である。以下では、勾配方向・無方向特定過程、照合効率化、パターンマッチング過程及びポインティング位置特定過程における画
像処理装置1の各動作について説明する。
〔3.勾配方向・無方向特定過程〕
まず、図1、図4及び図5(a)・図5(b)に基づいて、勾配方向・無方向特定過程における画像処理装置1の動作について説明する。
図4は、画像処理装置1の動作のうち、勾配方向・無方向特定過程の動作を示すフローチャートである。図5(a)は、勾配方向・無方向特定過程において参照されるテーブルの一例であり、図5(b)は、勾配方向・無方向特定過程において参照されるテーブルの他の例である。
図4のフローチャートでは、まず、画素値縦勾配量算出部3a及び画素値横勾配量算出部3bがそれぞれ、縦方向勾配量Sy及び横方向勾配量Sxを算出してからスタートする。
S201では、エッジ抽出部4が、各画素における勾配の大きさABS(S)(図4では、「勾配パワー」と記載している。)が、あらかじめ定められた閾値(第1閾値・第2閾値)以上かを判定し、ABS(S)≧閾値ならば(Yes)ならば、S202に進み、ABS(S)<閾値ならば、S210に進む。なお、本実施の形態では、ABS(S)=Sx*Sx+Sy*Syとして計算しているが、この量は、上式(4)における厳密な意味で勾配の大きさと異なる。しかし、実装上はこのように勾配の大きさを定義しても問題は無い。
なお、S210に進んだ場合には、勾配方向・無方向特定部5は、対象となっている画素(第1エッジ画素以外の画素)を無方向と設定(特定)し、次の画素へ進んで、S201に戻る。
S202では、勾配方向・無方向特定部5が、横方向勾配量Sxが0であるか否かを判定し、Sx≠0ならば、S203(Yes)に進み、Sx=0ならば、S206(No)に進む。
S203では、勾配方向・無方向特定部5は、横方向勾配量Sxが正の値をとるか否かを判定し、Sx>0ならば、S204(Yes)に進み、勾配方向・無方向特定部5は、図5(a)のテーブルにしたがって、該当画素(第1エッジ画素・第2エッジ画素)について、勾配方向ANG(S)に応じて量子化された勾配方向を設定する。一方、Sx<0ならば、S205に進み、勾配方向・無方向特定部5は、図5(b)のテーブルにしたがって、該当画素(第1エッジ画素・第2エッジ画素)について、勾配方向ANG(S)に応じて量子化された勾配方向を設定する。
次に、S206では、勾配方向・無方向特定部5は、縦方向勾配量Syが0か否かを判定し、Sy≠0ならば、S207(Yes)に進み、Sy=0ならば、S210(No)に進み、該当画素(第1エッジ画素・第2エッジ画素以外の画素)を無方向と設定し、次の画素へ進んでS201に戻る。
S207では、勾配方向・無方向特定部5は、縦方向勾配量Syが正の値を取るか否かを判定し、Sy>0ならば、S208(Yes)に進み、該当画素(第1エッジ画素・第2エッジ画素)の勾配方向を上向きに設定して、S201に戻る。一方、Sy<0ならば、S209(No)に進み、該当画素(第1エッジ画素・第2エッジ画素)の勾配方向を下向きに設定して、次の画素へ進んでS201に戻る。以上の工程は、すべての画素の勾配方向・無方向の設定が終わるまで繰り返される。
パターンマッチングにおいて重要な情報は、エッジ部分の画素であるエッジ画素(第1エッジ画素・第2エッジ画素)における勾配方向である。
したがって、上記の動作により、あまり重要でない画素における勾配方向(第1エッジ画素・第2エッジ画素以外の画素)を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。また、撮像対象による撮像画像上の指示位置の検出を可能としてメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、指示位置の検出処理のコストをさらに削減させることができる。
〔4.照合効率化〕
次に、図1及び図6(a)〜図9(b)に基づき、画像処理装置1のおける照合効率化について説明する。
図1に示す照合効率化部6は、照合領域を、複数の同一画素数の分割領域に分割すると共に、分割領域ごとに、分割領域に含まれる画素ごとの勾配方向及び無方向の情報を、分割領域に含まれる勾配方向及び前記無方向の情報に置き換えることで、照合領域とモデルパターンとの照合の効率化を図る。
また、スコア算出部10は、照合効率化部6によって照合の効率化が行なわれた照合領域とモデルパターンとの照合を行なって、照合領域内のそれぞれの分割領域に含まれる勾配方向と、モデルパターンにおける勾配方向との一致数を、前記合致度として算出する。
上述のように、勾配方向は、おおよその傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、分割領域の画素数をあまり大きくしなければ、該分割領域内における勾配方向の画素の位置は、勾配方向を用いたパターンマッチングにおいてあまり重要な情報ではない。
そこで、分割領域ごとに、分割領域に含まれる画素ごとの勾配方向及び無方向の情報を、分割領域に含まれる勾配方向及び無方向の情報に置き換えることにより、パターン・マッチングの照合精度を維持しつつ、照合効率化が可能となる。また、この効率化に伴い、撮像対象による前記撮像画像上の指示位置の検出処理のコストを削減することもできる。
以上より、パターン・マッチングの照合精度を維持しつつ、照合効率化を可能とし、撮像対象による撮像画像上の指示位置の検出処理のコストを削減することができる画像処理装置1などを提供することができる。
ここで、図6(a)〜図6(b)に基づき、画像処理装置1における照合効率化の具体例について説明する。
まず、図6(a)に示すように、周囲が暗い場合における画像データの各画素における勾配方向の分布の特徴は、中央にほぼ円形状の無方向の画素の領域があり、その回りをとり囲むようにして該無方向の領域に向かう向きに勾配方向が向いた画素が多数分布している。
次に、図6(b)は、図6(a)の画像データについて照合効率化を行った後の様子を示す概要図である。
図6(a)に示すように、14×14画素の領域(照合領域)を、複数の2×2画素の領域(分割領域)に分割すると共に、2×2画素の領域ごとに、2×2画素の領域に含ま
れる画素ごとの勾配方向及び無方向の情報を、2×2画素の領域に含まれる勾配方向及び無方向の情報に置き換えることで、14×14画素の領域とモデルパターン(モデルパターンの例については後に詳しく説明する。)との照合の効率化が行われる。
たとえば、図6(a)に示す14×14画素の領域を分割した複数の2×2画素の領域のうち、上から2つめ、左から1つめの2×2画素の領域には、左上の画素が「無方向」、右上の画素が「右下向き(勾配方向)」、左下の画素が「右向き(勾配方向)」、及び右下の画素が「右下向き(勾配方向)」となっている。この2×2画素の領域について各勾配方向の存在位置に関する情報を省略したものが、図6(b)の上から2つめ、左から1つめのブロック(以下、便宜上「画素」と呼ぶ場合がある。)である。他のブロックも同様にして生成することができる。結果として、図6(a)に示す14×14画素の領域は、合計7×7=49個の2×2画素の領域に分割される。
次に、図7(a)〜図9(b)に基づき、照合領域と照合されるモデルパターンの具体例について説明する。
図7(a)は、周囲が暗い場合における照合効率化前のモデルパターンの一例を示す概要図である。また、図7(a)のモデルパターンは、図6(a)に示す14×14画素の領域とパターンマッチングを行なう場合を想定したものである。また、撮像対象としては、指の腹を想定している。
ところで、図7(a)のモデルパターンは、13×13画素のモデルパターンとなっている。この場合、図6(a)に示す14×14画素の領域と全画素数が異なっているが、この例のように照合領域とモデルパターンとの画素数は必ずしも一致しなくても良い。
また、奇数×奇数(13×13)としているのは、中心の画素が1つとなるようにするためである。この中心の画素を画像データ上の着目画素にあわせて1画素づつずらせてパターンマッチングを行なう。
この場合の一致画素数は、1画素ごとに照合されて算出されるので、13×13=169画素の照合が必要となる。
一方、図7(b)は、周囲が明るい場合における照合効率化前のモデルパターンの一例を示す概要図である。図7(a)のモデルパターンと比較すると各画素の勾配方向が逆向きになっている。図7(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図7(b)は、外光を基礎として撮像された画像データを想定したものであり、画像のエッジ部分に向けて明るくなっている様子を示している。
次に、図8(a)は、周囲が暗い場合における照合効率化後のモデルパターンの一例を示す概要図である。図8(a)のモデルパターンは、図6(b)の照合効率化後の照合領域とのパターンマッチングを想定したものである。この例のように、照合領域とモデルパターンとデータ形式は必ずしも同一でなくても良い。この例では、2×2画素の領域を1画素(与えられる勾配方向は1つ)と看做してモデルパターンを簡略化することにより、さらなる照合の効率化を図っている。
図8(b)は、周囲が明るい場合における照合効率化後のモデルパターンの一例を示す概要図である。図8(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図8(b)は、外光を基礎として撮像された画像データを想定したものであり、画像の
エッジ部分に向けて明るくなっている様子を示している。
図9(a)は、周囲が暗い場合における照合効率化後のモデルパターンの他の例を示す概要図である。図8(a)のモデルパターンとの違いは、2×2画素分が1つの領域に纏められているが、該1つの領域ごとに、2つの勾配方向(又は無方向)の自由度が与えられている点である。このようなモデルパターンを工夫することにより、照合の効率化を図りつつ、照合精度を高めることができる。
図9(b)は、周囲が明るい場合における照合効率化後のモデルパターンの他の例を示す概要図である。図9(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図9(b)は、外光を基礎として撮像された画像データを想定したものであり、画像のエッジ部分に向けて明るくなっている様子を示している。
〔5.パターンマッチング過程〕
次に、図1及び図10〜17に基づき、画像処理装置1におけるパターンマッチングの過程について説明する。
まず、図1に基づき、パターンマッチングの各種形態について纏めておく。エッジ抽出部4との関係では、上述したように、第1閾値を設定し、該第1閾値以下(又は未満)を一律に無方向とするか、第1閾値よりも大きな第2閾値を設定してエッジマスクを作成して、エッジマスクによって有効なエッジ画素を選択してパターンマッチングを行なう場合が考えられる。
次に、照合効率化部6との関係では、照合効率化前の画像データでパターンマッチングを行なう場合と、照合効率化後の画像データでパターンマッチングを行なう場合とが考えられる。
次に、スコア算出部10との関係では、一致画素数算出部7が算出した一致画素数からスコア(合致度)を算出する場合と、パターン合致度算出部9が算出したパターン合致度からスコア(合致度)を算出する場合とが考えられる。
以上のように、パターンマッチングには様々な形態が存在するが、これらのパターンマッチングは、各形態を単独で行って(スコアを算出して)も良いし、複数の形態を組合せて行って(スコアを算出して)も良い。
図10は、図1に示す画像処理装置1の動作のうち、パターンマッチング過程の動作を示すフローチャートである。
S301では、一致画素数算出部7が、照合領域とモデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(一致画素数)を算出してS302に進む。
S302では、照合効率化部6を備えていない場合には、勾配方向・無方向特定部5が、照合効率化部6を備えている場合には、照合効率化部6が、勾配方向のパターン合致度も算出するかどうかを決定し、パターン合致度の算出を決定した場合には、パターン合致度算出部9に通知してS303(Yes)に進む。一方、パターン合致度の算出を行わないことを決定した場合には、スコア算出部10に通知してS304に進む。
なお、ここでは、一致画素数が必ず算出される場合について説明しているが、このよう
な場合に限られず、パターン合致度のみを算出する構成を採用しても良い。
また、パターン合致度とは、照合領域に含まれる画素ごとの勾配方向とモデルパターンに含まれる画素ごとの勾配方向との一致パターンと、あらかじめ定められ、モデルパターン・比較用一致パターン格納部8に記録されている比較用一致パターンとが類似する度合いを示す量である。
S303では、パターン合致度算出部9が、勾配方向・無方向特定部5又は照合効率化部6からパターン合致度の算出を決定した旨の通知を受けて、パターン合致度を算出し、S304に進む。
S304では、パターン合致度算出部9が、パターン合致度の算出を行っていない場合には、一致画素数算出部7が算出した一致画素数を、照合領域と前記モデルパターンとのマッチングの度合いを示す合致度として算出する。一方、パターン合致度算出部9が、パターン合致度の算出を行っている場合には、一致画素数算出部7が算出した一致画素数及びパターン合致度算出部9が算出したパターン合致度を、合算した量を照合領域とモデルパターンとのマッチングの度合いを示す合致度として算出する。
ここで、各勾配方向の分布は、例えば、指のように表面が柔らかく、面に接触することにより接触面が円形になる場合、または先が丸いペンのように表面が固くても接触面が円形になるような場合には、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かうか、或いは、該中心付近から放射状にエッジ部分に向かうかのいずれかの傾向を示す。また、接触面がその他の形状であっても、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中に向かうか、或いは、エッジ部分に囲まれた領域の中からその領域の外側に向かうかのいずれかの傾向を示す。
しかし、撮像画像上に撮像対象が接触していない場合、例えば、撮像対象が指の腹の場合などには、接触していない指による大きなぼやけた影に起因したエッジが生じる場合がある。また、例えば、入力デバイス(フォトセンサ)又はセンシング処理回路が欠陥を生じている場合、該欠陥による帯や線状のノイズに起因するエッジが生じる場合もある。
このような、パターンマッチングを阻害するエッジ(以下「不要エッジ」と呼ぶ。)が生じた場合には、モデルパターンの画素数を大きくしても、局所的に(ある1〜2方向のみで)一致画素数を増大させてしまう場合が生じ得る。よって、このような不要エッジが存在する場合には、一致画素数だけでは、誤認識が生じ、適切なパターンマッチングが行えないと考えられる。
そこで、例えば、指やペンが接触した場合には、理想的な全8方向とまではいかずとも、少なくとも6以上の勾配方向種類は出現する、という仮定に基づき、一致画素数及び合致パターン(例えば、勾配方向種類数)を併用すれば、上記のような局所的に(ある1〜2方向のみで)一致画素数が増大することにより合致度が高くなっているような場合を排除することが可能となる。
したがって、パターン・マッチングにおいて、前記一致画素数と前記パターン合致度とを併用するようにすれば、画像入力のノイズや変形に対するロバスト性を向上させることができると考えられる。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いたパターン・マッチングを行なうことで、撮像対象による前記撮像画像上の指示位置の検出を可能としてメモリ容量を少量化し、及び処理時間を短縮化しつ
つ、前記パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる画像処理装置1などを提供することができる。
次に、図11(a)〜図13(a)に基づき、パターンマッチング過程における、スコア算出部10の具体的なスコア(合致度)算出方法について説明する。
図11(a)は、照合効率化前の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図11(b)は、その合致度算出方法の一例を示す図である。
図11(a)は、図6(a)の照合領域と、図7(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の7行7列(以下では、横方向に並ぶ画素を「列」、縦方向に並ぶ画素を「行」と呼ぶ。また、上から行、左から列を数える。)にある1×1画素はスコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している画素を示している。
図11(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図11(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の13行13列の画素までの一致画素数を算出する方法の一例を示すものである。ここでは、勾配方向が与えられている画素で、モデルパターンの勾配方向と一致した画素を「1」とし、無方向及びモデルパターンの勾配方向と一致していない画素は「0」として計算している。なお、無方向と判定された画素は、最初から計算に含めない構成としても良い。ここでは、網掛けで示された一致画素数は「85」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数(合致度)を用いても良い。
次に、図11(b)に示す、正規化一致画素数について説明する。この正規化一致画素数は、例えば、照合精度を高めるためモデルパターンを複数種類用意してパターンマッチングを行なう場合(例えば、21×21、13×13、及び7×7画素の3種類のモデルパターン)に、モデルパターンのサイズに依存しない量として一致画素数を正規化するものである。
ここでは、正規化一致画素数を、次式(6)で定義する。
正規化一致画素数=適当な定数×(一致画素数/モデル中の方向成分が存在する要素数) ・・・・(6)
なお、「適当な定数」は、計算の便宜等を考慮して適宜定めれば良い。ここでは、正規化一致画素数が0〜10の範囲となるように、適当な定数=10と設定している。なお、以下で説明するパターンマッチングの例においても正規化一致画素数を使用しているが、説明は省略する。
(6)式から、図11(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(85/136)=6.25≒6
次に、図12(a)は、照合効率化後の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図11(b)は、その合致度算出方法の一例を示す図である。
図12(a)は、図6(b)の照合効率化後の照合領域と、図8(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の4行4列にある1×1画素(2×2画素に相当するものであるが、便宜上「画素」と言う。)は、スコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している場合がある画素を示している。
図12(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図12(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の7行7列の画素までの一致画素数を算出する方法の一例を示すものである。ここでは、例えば、1行2列では、照合領域では、勾配方向が「右下」の画素が「3つ」存在しており、一方、モデルパターンの勾配方向は、1つであるが、「右下」である。従って、この場合の一致画素数は、「3」と計算する。
他の例では、2行1列では、照合領域では、勾配方向が「右下」の画素が「2つ」と、「右」が「1つ」存在しており、一方、モデルパターンの勾配方向は、1つであるが、「右下」である。勾配方向は、「右下」が「2つ」一致しているが、「右」は一致していない。従って、この場合の一致画素数は、「2」と計算する。なお、ここでは、無方向と判定された画素は、最初から計算に含めない構成としている。
以上の計算をすべての画素について行えば、網掛けで示された部分の一致画素数は「91」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数を用いても良い。
ここでは、正規化一致画素数を、次式(7)で定義する。
正規化一致画素数=適当な定数×(一致画素数/モデル中の方向成分が存在する要素数を4倍した値) ・・・・(7)
適当な定数=10と設定している。
(7)式から、図11(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(91/176)=5.17≒5
次に、図13(a)は、照合効率化後の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図13(b)は、その合致度算出方法の一例を示す図である。
図13(a)は、図6(b)の照合効率化後の照合領域と、図9(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の4行4列にある1×1画素(2×2画素に相当するものであるが、便宜上「画素」と言う。)は、スコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している場合がある画素を示している。
図13(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図13(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の7行7列の画素までの一致画素数を算出方法の一例を示すものである。ここでは、例えば、1行2列では、照合領域では、勾配方向が「右下」の画素が「3つ」存在しており、一方、モデルパターンの勾配方向は、2つであり、「右下」が「1つ」に「下」が「1つ」である。従って、「右下」が一致しているので、この場合の一致画素数は、「3」と計算する。
他の例では、2行1列では、照合領域では、勾配方向が「右下」の画素が「2つ」と、「右」が「1つ」存在しており、一方、モデルパターンの勾配方向は、2つであるが、「右」が「1つ」と「右下」が「1つ」である。勾配方向は、「右」が「1つ」と「右下」が「2つ」一致している。従って、この場合の一致画素数は、「3」と計算する。なお、ここでは、無方向と判定された画素は、最初から計算に含めない構成としている。
ここで、下線を引いた数字と、引いてない数字とが記載されているが、下線を引いた数字は、図12(a)の場合と比較して、一致画素数が増加しているものを示している。
この結果は、図8(a)のモデルパターンよりも図9(a)のモデルパターンを使用した場合の方が、より変形に強い(円形からの歪に対するロバスト性の高い)パターンマッチングが行えることを示している。
以上の計算をすべての画素について行えば、網掛けで示された部分の一致画素数は「119」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数を用いても良い。
(7)式から、図13(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(119/176)=6.76≒7
次に、図14〜図17(b)に基づき、図1のスコア算出部10が、一致画素数と合致パターンとを併用して、スコア(合致度)を算出する場合について説明する。
図14は、画像処理装置1におけるパターンマッチングにおいて一致画素数とパターン合致度とを併用する場合について説明するためのフローチャートである。
図14のS401では、一致画素数算出部7が、一致画素数を初期化して、S402に進む。S402では、パターン合致度算出部9が一致パターンの初期化を行ってS403に進む。ここでは、勾配方向の種類数を初期化している様子を示している。すべての勾配方向が「無」と表示されているのは、このことを示している。
S403では、一致画素数算出部7とパターン合致度算出部9とが1画素ごとに(照合効率化後の画素も含む)勾配方向の照合等を行って、S404に進む。
なお、ここで、S403の直前で、エッジ抽出部4が、エッジマスクによる有効画素判定を行なう場合と併用する構成を採用しても良い。この場合には、バックライト反射ベースと影ベースのパターンマッチングを1の装置で可能とすることができる。
S404では、方向が一致すれば(Yes)S405に進み、一致画素数算出部7が、一致画素数に一致した方向の要素数(効率化処理なしの場合は「1」)を加えてS406に進み、一方、方向が一致する画素が全くなければ、(No)S401に戻る。
S406では、パターン合致度算出部9が一致した勾配方向を「有」と更新して、S4
07に進む。
S407では、一致画素数算出部7及びパターン合致度算出部9がモデルパターンの全要素(画素)について照合が終了した場合には、(Yes)S408に進み、照合が終了していない場合には、(No)S403に戻る。
S408では、パターン合致度算出部9が一致パターンのチェックを行ないS409に進む。この一致パターンのチェックの詳細については、後に説明する。
S409では、パターン合致度算出部9が、モデルパターン・比較用一致パターン格納部8を参照して、「許可パターン」か否かを判定し、許可パターンに該当する場合は、(Yes)S410に進む。一方、許可パターンに該当しない場合は、(No)S404に戻る。なお、この場合は、「許可パターン」に該当する場合は、パターン合致度算出部9は、パターン合致度を「1」とし、「許可パターン」に該当しない場合は、パターン合致度算出部9は、パターン合致度を「0」とし、スコア算出部10は、一致画素数算出部7が算出した一致画素数にこれらの数値を掛ける構成が考えられる。
S410では、スコア算出部10が、一致画素数算出部7が算出した一致画素数から正規化一致画素数を算出してパターンマッチングのスコア(合致度)とする。
次に、図15(a)・図15(b)に基づき、上記パターンマッチングにおける一致パターンのチェックの一例について説明する。
図15(a)は、パターン合致度算出過程の一例を示すフローチャートであり、図15(b)は、パターン合致度算出過程の他の例を示すフローチャートである。
なお、ここでは、勾配方向の種類は8方向あり、勾配方向種類数の閾値(DN)を5に設定した場合について説明する。
図15(a)に示すように、S501では、パターン合致度算出部9が、一致パターンの「有」の数が5以上の場合には、S502に進み一致パターンの許可を行なう。
一方、パターン合致度算出部9は、一致パターンの「有」の数(勾配方向種類数)が5未満の場合には、S503に進み一致パターンの不許可を行なう。
同様に、図15(b)には、パターン合致度算出部9が、一致パターン中の最大連接数(連続一致数)を算出し、一致パターン中の最大連接数(連続一致数)の閾値(DN)を上記と共通の5に設定した場合が異なること以外は、S601〜S603のフローは、図15(a)のS501〜S503のフローと同様であるので、ここでは、説明を省略する。
次に、図16(a)〜図16(c)に基づき、一致パターンのチェックの一例を説明する。
図16(a)は、パターン合致度算出過程の一例を示す概要図であり、図16(b)は、パターン合致度算出過程の他の例を示す概要図であり、図16(c)は、パターン合致度算出過程のさらに他の例を示す概要図である。
図16(a)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「8」方向がすべて存在しているので、閾値の5を超えており、図15(a)の
フローでは、「許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連接して存在する数は、「8」となり、閾値の5を超えており、図15(b)のフローでも、「許可パターン」と判定される。したがって、図16(a)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
図16(b)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の5を超えており、図15(a)のフローでは、「許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連接して存在する数は、「6」となり、閾値の5を超えており、図15(b)のフローでも、「許可パターン」と判定される。したがって、図16(b)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
図16(c)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の5を超えており、図15(a)のフローでは、「許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連接して存在する数は、「6」となり、閾値の5を超えており、図15(b)のフローでも、「許可パターン」と判定される。なお、この例のように、一致パターンのテーブルの左端と右端とは、繋がっている(周期的境界条件)ものとして、一致パターン中の最大連接数を算出する。
以上の結果、図16(c)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
次に、図17(a)〜図17(c)に基づき、一致パターンのチェックの他の例を説明する。
図17(a)は、パターン合致度算出過程のさらに他の例を示す概要図であり、図17(b)は、パターン合致度算出過程のさらに他の例を示す概要図であり、図17(c)は、パターン合致度算出過程のさらに他の例を示す概要図である。
図17(a)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の5を超えており、図15(a)のフローでは、「許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連接して存在する数は、「4」となり、閾値の5以下であり、図15(b)のフローでは、「不許可パターン」と判定される。したがって、図17(a)の場合には、図15(a)のフローを用いた場合、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。また、図15(b)のフローを用いた場合、パターン合致度算出部9は、パターン合致度として「0」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「0」とを掛け算して「0」をスコアとする。
図17(b)では、一致画素数は「22」と算出している。また、勾配方向の一致パターンは、「4」方向が存在しているので、閾値の5以下であり、図15(a)のフローでは、「不許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連
接して存在する数は、「2」となり、閾値の5以下であり、図15(b)のフローでも、「不許可パターン」と判定される。したがって、図17(b)の場合には、パターン合致度算出部9は、パターン合致度として「0」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「22」と「0」とを掛け算して「0」をスコアとする。
図17(c)では、一致画素数は「22」と算出している。また、勾配方向の一致パターンは、「4」方向が存在しているので、閾値の5以下であり、図15(a)のフローでは、「不許可パターン」と判定される。一方、一致パターン中の最大連接数、「有」が連接して存在する数は、「4」となり、閾値の5以下であり、図15(b)のフローでも、「不許可パターン」と判定される。
以上の結果、図17(c)の場合には、パターン合致度算出部9は、パターン合致度として「0」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「22」と「0」とを掛け算して「0」をスコアとする。
以上のように、スコア算出部10は、照合領域と、モデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(一致画素数)、及び照合領域に含まれる画素ごとの勾配方向とモデルパターンに含まれる画素ごとの勾配方向との一致パターンと、あらかじめ定められた比較用一致パターンとが類似する度合いを示すパターン合致度から、スコア(合致度)を算出する。
ここで、照合領域と、あらかじめ定められたモデルパターンとの照合(以下「パターンマッチング」と言う。)に使用される量としては、画素値(濃度値)などのスカラー量も考えられる。しかし、このようなスカラー量は量子化(所定の範囲内の量を一律にある一定の量と看做して扱う)したとしても、撮像対象の状況等に応じて、常に変わり得るため、あらかじめモデルパターンを設定しておくことは困難である。
一方、画素値の勾配はベクトル量であり、大きさ(勾配の大きさ)と向き(勾配方向)とを持つものである。ここで、特に、勾配方向(向き)は、例えば8方向に量子化したりすることによって、1つの画素がとり得る状態を8(無方向を含めると9)という極めて少ない状態に離散化することでき、さらにそれぞれの状態には、方向が異なるという識別が容易な特徴を持たせる事ができる。
また、各勾配方向の分布は、例えば、指のように表面が柔らかく、面に接触することにより接触面が円形になる場合、または先が丸いペンのように表面が固くても接触面が円形になるような場合には、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かうか、或いは、該中心付近から放射状にエッジ部分に向かうかのいずれかの傾向を示す。また、接触面がその他の形状であっても、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中に向かうか、或いは、エッジ部分に囲まれた領域の中からその領域の外側に向かうかのいずれかの傾向を示す。
しかし、撮像画像上に撮像対象が接触していない場合、例えば、撮像対象が指の腹の場合などには、接触していない指による大きなぼやけた影に起因したエッジが生じる場合がある。また、例えば、入力デバイス(フォトセンサ)又はセンシング処理回路が欠陥を生じている場合、該欠陥による帯や線状のノイズに起因するエッジ生じる場合もある。
このような、パターンマッチングを阻害するエッジ(以下「不要エッジ」と呼ぶ。)が生じた場合には、モデルパターンの画素数を大きくしても、局所的に(ある1〜2方向のみで)一致画素数を増大させてしまう場合が生じ得る。よって、このような不要エッジが
存在する場合には、一致画素数だけでは、誤認識が生じ、適切なパターンマッチングが行えないと考えられる。
そこで、例えば、指やペンが接触した場合には、理想的な全8方向とまではいかずとも、少なくとも6以上の勾配方向種類は出現する、という仮定に基づき、一致画素数及び合致パターン(例えば、勾配方向種類数)を併用すれば、上記のような局所的に(ある1〜2方向のみで)一致画素数が増大することにより合致度が高くなっているような場合を排除することが可能となる。
したがって、パターン・マッチングにおいて、前記一致画素数と前記パターン合致度とを併用するようにすれば、画像入力のノイズや変形に対するロバスト性を向上させることができると考えられる。
このとき、撮像環境を考慮して、バックライト反射ベースにおいては、勾配方向種類数を6以上と仮定して閾値を設け、影ベースにおいては、勾配方向種類数を4以上と仮定して閾値を設けることが好ましい。図2を用いて説明したように、バックライト反射ベースでは撮像対象は白いぼやけた円形として撮像されるが、影ベースでは撮像対象は白いぼやけた円形とともに、その周囲に影が撮像され、影の勾配方向は完全な円形ではなく半円状の特徴を有するからである。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いたパターン・マッチングを行なうことで、撮像対象による前記撮像画像上の指示位置の検出を可能としてメモリ容量を少量化し、及び処理時間を短縮化しつつ、前記パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる画像処理装置1などを提供することができる。
したがって、パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる。
上記合致方向の種類数と同様に、少なくとも6以上の連続一致数は実現する、という仮定に基づき、一致画素数及び連続一致数を併用すれば、上記のような局所的に(ある1〜2方向のみで)一致画素数が増大することにより合致度が高くなっているような場合を排除することが可能となる。
したがって、前記パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる。また、勾配方向種類数に代えて連続一致数をパターン合致度の算出に用いることにより、より厳密なパターンマッチングが可能となり、より確実に誤認識を排除することができる。
上述したように、比較一用致パターンは、照合領域に含まれる画素ごとの勾配方向と、モデルパターンに含まれる画素ごとの勾配方向との、合致方向の種類数であることが好ましい。
上述の例のように、少なくとも6以上の勾配方向種類は出現する、という仮定に基づき、一致画素数及び勾配方向種類数を併用すれば、上記のような局所的に(ある1〜2方向のみで)一致画素数が増大することにより合致度が高くなっているような場合を排除することで、誤認識を排除することができる。
したがって、前記パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる。
また、比較用一致パターンは、連続一致数(照合領域に含まれる画素ごとの勾配方向と、前記モデルパターンに含まれる画素ごとの勾配方向との、合致方向の種類の連続一致数)であることが好ましい。
上記合致方向の種類数と同様に、少なくとも6以上の連続一致数は実現する、という仮定に基づき、一致画素数及び連続一致数を併用すれば、上記のような局所的に(ある1〜2方向のみで)一致画素数が増大することにより合致度が高くなっているような場合を排除することが可能となる。
したがって、前記パターン・マッチングにおいて、画像入力のノイズや撮像画像の変形に対するロバスト性を向上させることができる。また、勾配方向種類数に代えて連続一致数をパターン合致度の算出に用いることにより、より厳密なパターン・マッチングを行うことが可能となり、より確実に誤認識を排除することができる。
〔6.ポインティング位置特定過程〕
次に、図1及び図18〜図20(b)に基づき、画像処理装置1におけるポインティング位置特定過程について説明する。
図18は、画像処理装置1の動作のうち、ポインティング位置座標算出過程の動作を示すフローチャートである。
S701では、ピーク探索部12が、注目画素の周囲で所定の画素数を含む第1領域(探索領域)内で、スコア算出部10が算出した合致度が最大値を取る画素であるピーク画素を探索して、ピーク画素を発見したらS702に進む。なお、図示していないが、ピーク探索部12が、ピーク画素を発見できない場合には、注目画素を所定数(例えば、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ))ずらしてS701に戻る。
S702では、座標算出判定部13が、第1領域と共通の注目画素をもち、第1領域の画素数よりも少ない所定の画素数を有すると共に、第1領域に完全に包含される第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合には、S703に進み、座標算出判定部13は、「ピーク画素あり」と判定し、S704に進む。一方、座標算出判定部13が、第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在しなかった場合には、S705に進み、座標算出判定部13は、「ピーク画素なし」と判定し、注目画素を所定数(例えば、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ))ずらしてS701に戻る。
以上の手順は、座標算出部14がポインティング(補間)位置を算出するまで繰り返される。
S704では、座標算出部14が、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとのスコアを用いて、撮像対象による撮像画像上の指示位置を算出して「END」となる。
なお、上述の説明では、座標算出部14がポインティング(補間)位置を算出するまで処理を繰り返す場合について説明したが、複数のポインティング(補間)位置を算出可能な構成としてもよく、この場合、画像全体に対して処理を終了するまで、第1・第2領域を移動して、図18に示すフローチャートの処理を実行すればよい。
次に、図19(a)・図19(b)に基づき、ピーク画素の有無の判定の具体例について説明する。
図19(a)は、画像処理装置1における座標算出判定部13が、ピーク画素が無いと判定する場合を説明するための概要図であり、(b)は、座標算出判定部13が、ピーク画素が有ると判定する場合を説明するための概要図である。
図19(a)に示す実線が第1領域であり、破線が第2領域である。第1領域の画素数は、9×9画素であり、第2領域の画素数は、5×5画素である。それぞれ、奇数×奇数としているのは、中央の注目画素が1画素となるようにするためである。
図19(a)の例では、第1領域内にピーク画素である「9」が存在しているが、該ピーク画素は、第2領域内には存在していない。したがって、この場合は、座標算出判定部13は、「ピーク画素なし」と判定する。
一方、図19(b)の例では、第1領域内にピーク画素である「9」が存在しており、かつ、第2領域内にも存在している。したがって、この場合は、座標算出判定部13は、「ピーク画素あり」と判定する。
なお、上述の例では、第1領域にピーク画素が存在している場合において、第2領域内にピーク画素が無い場合には、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ)である「5画素」だけ、第1領域及び第2領域を動かせば、必ず、ピーク画素が第2領域内に入ってくるように、第1領域と第2領域との画素数との差が設定されている。
次に、図20(a)・図20(b)に基づき、座標算出部14のポインティング(補間)座標(撮像対象による撮像画像上の指示位置)算出方法について説明する。
図20(a)は、画像処理装置1における撮像対象による撮像画像上の指示位置の算出のために使用されるピーク画素領域について説明するための概要図であり、図20(b)は、画像処理装置1におけるポインティング(補間)座標の座標算出方法を説明するための概要図である。
図20(a)は、座標算出判定部13が「ピーク座標あり」と判定した場合であり、図19(b)の場合と同じである。
なお、図20(a)は第1領域・第2領域とも破線の領域で示されている。一方、実線で示した5×5画素の領域が、ピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域である。
図20(a)に示す例では、このピーク画素領域も第2領域と同様に、第1領域に完全に包含されている。この場合は、ピーク画素領域内のスコアをあらためて調べる必要が無い。このように、第2領域の端にピーク画素が存在する場合でも、ピーク画素領域が第1領域内に包含されるように構成することが好ましい。
次に、図20(b)に基づき、座標算出部14のポインティング座標算出方法について説明する。
本例では、画像データの画素数が、320×240画素で有る場合に、図1の低解像度化部2が、バイリニア縮小を2回行い、さらに、照合効率化部6が、2×2画素について
照合効率化を行い、スコア画像(スコアのデータを画素ごとに付与したもの)のサイズが80×60画素になっている場合を想定している。
したがって、スコア画像の全領域を8倍に拡大したものが、画像データの全領域に相当する。したがって、補間量(スケール拡大量)=8となっている。
具体的な計算方法は、以下のとおりである。まず、ピーク画素領域の行ごとのスコアの和を計算する(図20(b)の19、28、33、24、及び11)。次に、ピーク画素領域の列ごとのスコアの和を計算する(図20(b)の16、24、28、26、及び21)。また、ピーク画素領域内(5×5画素)のスコアの総和を求める(図20(b)の115)。
次に、ピーク画素領域内のスコアの値が質量分布に相当するものとして、スコア画像の全領域における重心座標を求め、スケールを8倍に拡大すると、次式(8)・(9)の座標を得る。
次に、画素のサイズを考慮して目盛り位置の調整を行うと、ポインティング座標(X,Y)は、次式(10)となる。
以上によれば、ピーク探索部12は、第1領域(探索領域)内で探索するので、全画素数を含む画像データ領域において、ピーク画素を探索するよりも処理コストを低減、及びメモリ容量を少量化させることができる。
例えば、第1領域の画素数が小さいということは、データ画像(スコア画像)全体(=全画素)のスコアをバッファに保存しておく必要がなく、ピーク探索を実行する第1領域に必要なメモリ容量(例えば9×9画素の第1領域の場合、9ライン分のラインバッファ)があればよい、ということになる。
このように、ラインバッファで実装することにより、メモリ容量を少量化できる効果は、ピーク探索に限らず、縦横の各勾配量の一時保存や、勾配方向の一時保存など、後段処理に受け渡す際にバッファメモリが介在するような実装を行う場合には、全て共通して言えることである。
さらに、座標算出部14は、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとのスコアを用いて、ポインティング位置を算出する。例えば、エッジ画像を用いてその重心位置からポインティング位置
を求める場合、撮像画像が歪な形に変形するほど算出が困難になると考えられる。
しかし、画像処理装置1では、ピーク画素領域内の、画素ごとのパターンマッチングによるスコアを用いて、ポインティング位置を算出する。このパターンマッチングにおけるスコアの最大値近傍は、撮像画像が歪な形に変形したとしても、該最大値近傍を中心として、放射状に合致度が減少していくという、ほぼ変形前と同様の分布傾向を示すものと考えられる。
したがって、撮像画像が歪な形に変形するか否かに関係なく、所定の手順(例えば、ピーク画素領域内でスコアの重心を算出するなど)で、ポインティング位置を算出することができる。それゆえ、座標位置の検出精度の維持との両立を図りつつ、ポインティング位置を算出するための画像処理量の軽減、処理コストの低減、及びメモリ容量の少量化が可能となる。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いたパターン・マッチングを行なうことで、ポインティング位置の検出を可能としてメモリ容量を少量化し、及び処理時間を短縮化しつつ、ポインティング位置の算出において、画像処理量の軽減とポインティング位置の検出精度の維持との両立、及びメモリ容量の少量化を実現することができる画像処理装置1などを提供することができる。
また、座標算出判定部13は、第1領域と共通の注目画素をもち、第1領域の画素数よりも少ない所定の画素数を有すると共に、第1領域内に完全に包含される第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合に、座標算出部14にポインティング位置を算出させることが好ましい。
ピーク画素領域は、第2領域内に存在するピーク画素を注目画素としてその周囲に広がる領域であるので、第1領域と共通する画素が多数存在することになる。また、ピーク画素領域と第1領域との共通の画素のスコアは既に算出されているので、非共通の画素のスコアを調べれば、座標算出部14にポインティング位置を算出させることができる。
また、ピーク画素領域と第1領域とのそれぞれの画素数を調整すれば、ピーク画素領域を第1領域に包含させることも可能である。この場合、ピーク画素領域の各画素のスコアは既に判明しているので、ポインティング位置算出のためにあらためて判明していない各画素のスコアを調べる必要が無い。
以上より、ポインティング位置の算出において、さらに画像処理量の軽減及びメモリ容量の少量化を実現することができる。また、ピーク座標判定時に第1領域の外側に向けてスコアの上昇が連接している場合への対応と、ハードウェア実装などにおいて各処理モジュールをパイプライン処理する際などに、参照すべきスコアの保持バッファ容量を少量化(例えば画像全体ではなく9ラインのみ)できる。
〔7.タッチ・非タッチの検出〕
つぎに、画像処理装置1において、撮像対象が液晶ディスプレイに接触したと判定する形態について説明する。
まず、スコア算出部10は、自身が算出するスコアの最大値が所定の閾値を超えた場合に、撮像対象が液晶ディスプレイに接触したと判定することが好ましい。
なお、ここでは、スコア算出部10が、このような機能を持っているとしたが、別途判
定部を設けて同様の機能を備えるよう構成しても良い。
以上の構成によれば、スコアの最大値が所定の閾値を超えた場合に接触を認めることによって、スコアが算出されさえすれば如何なる場合も接触とみなしてしまうことによる誤検出の抑制効果を得ることができる。
また、スコア算出部10は、自身が、所定の閾値を超える前記合致度を算出した場合に、撮像対象が液晶ディスプレイに接触したと判定することが好ましい。
スコア算出部10は、自身が、所定の閾値を超えるスコア(十分な合致度)を算出した場合(すなわち、モデルパターンと類似する特徴を得られるような画像情報が入力された場合)には、接触していると判断する。
それゆえ、接触または非接触を判定するために専用の装置や処理部を設けることなく、指示位置を特定するための画像処理の中で、接触または非接触について判定することができる。
エッジ抽出部4は、自身が前記第1エッジ画素及び前記第2エッジ画素のいずれか一方を特定した場合に、撮像対象が、液晶ディスプレイに接触したと判定することが好ましい。本実施形態では、エッジ抽出部4に、上記機能を持たせた場合について説明したが、別途、接触判定部を設けて、同様の機能を果すよう構成しても良い。
上述したように、液晶ディスプレイに内蔵された撮像センサーに入力される光は、バックライトの反射光と、外部からの外光とが考えられる。
この場合、撮像画像から、バックライトの反射光による影響と、外部からの外光による影響とを分離することは困難である。
そこで、バックライト反射ベースにおいては、バックライトが撮像対象に反射して得られる画像は、例えば指の腹であれば、白い円形状がぼやけたような画像となる。そこで、この場合は、緩めの第1閾値により、接触判定手段は、エッジ画素特定手段が、前記第1エッジ画素を特定した場合に、前記撮像対象が、液晶ディスプレイに接触したと判定するようにすれば良い。
一方、影ベースにおいては、撮像対象(例えば指の腹)がパネル面から離れている場合(非接触)には、ぼやけた(コントラストの弱い)撮像画像となり、パネル面に接触している場合には鮮鋭な(コントラストの強い)撮影画像となる。従って、影ベースにおいては、厳しめの前記第1閾値よりも大きい第2閾値により、接触判定手段は、エッジ画素特定手段が、前記第2エッジ画素を特定した場合に、前記撮像対象が、液晶ディスプレイに接触したと判定するようにすれば良い。
以上より、緩めの第1閾値と、厳しめの第2閾値とを設定しておくだけで、バックライト反射ベース及び影ベースでのタッチ・非タッチの検出が可能となる。また、タッチ・非タッチを判定するために専用の装置や処理部を設けることなく、ポインティング位置を特定するための画像処理の中で、タッチ・非タッチを判定することができる。
なお、本発明は、上述した画像処理装置(電子機器)の例に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、〔発明を実施するための最良の形態〕の各項目にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、画像処理装置1の各ブロック、特に低解像度化部2、画素値縦勾配量算出部3a、画素値横勾配量算出部3b、エッジ抽出部4、勾配方向・無方向特定部5、照合効率化部6、一致画素数算出部7、パターン合致度算出部9、スコア算出部10、及び位置特定部11は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、画像処理装置1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory
)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像処理装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像処理装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやコンパクトディスク−ROM/MO/MD/デジタルビデオデイスク/コンパクトディスク−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、画像処理装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、
移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
なお、本発明の画像処理装置は、撮像された撮像画像の画像データを用いて、撮像対象による前記撮像画像上の指示位置を算出する機能を備えた画像処理装置であって、前記画像データ上の画素ごとに、該画素の画素値と複数の隣接画素の画素値とから画素値の縦方向勾配量及び横方向勾配量を算出する勾配算出手段と、前記勾配算出手段が算出した前記縦方向勾配量及び横方向勾配量から、画素ごとの勾配方向と、前記縦方向勾配量及び横方向勾配量のそれぞれ、又は前記縦方向勾配量及び横方向勾配量から算出される勾配の大きさが所定の閾値未満である無方向とのいずれかを特定する勾配方向特定手段と、注目画素の周囲で所定の画素数を含む領域である照合領域と、あらかじめ定められたモデルパターンとの照合を行って、前記照合領域に含まれる画素ごとの勾配方向と、前記モデルパターンに含まれる画素ごとの勾配方向とが一致する画素数を、前記照合領域と前記モデルパターンとのマッチングの度合いを示す合致度として算出する合致度算出手段と、注目画素の周囲で所定の画素数を含む探索領域内で、前記合致度算出手段が算出した合致度が最大値を取る画素であるピーク画素を探索するピーク画素探索手段と、該ピーク画素探索手段が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとの前記合致度を用いて、撮像対象による前記撮像画像上の指示位置を算出する座標算出手段とを備えても良い。
また、本発明の画像処理装置の制御方法は、撮像された撮像画像の画像データを用いて、撮像対象による前記撮像画像上の指示位置を算出する機能を備えた画像処理装置の制御方法であって、前記画像データ上の画素ごとに、該画素の画素値と複数の隣接画素の画素値とから画素値の縦方向勾配量及び横方向勾配量を算出する勾配算出ステップと、前記勾配算出ステップで算出した前記縦方向勾配量及び横方向勾配量から、画素ごとの勾配方向と、前記縦方向勾配量及び横方向勾配量のそれぞれ、又は前記縦方向勾配量及び横方向勾配量から算出される勾配の大きさが所定の閾値未満である無方向とのいずれかを特定する勾配方向特定ステップと、注目画素の周囲で所定の画素数を含む領域である照合領域と、あらかじめ定められたモデルパターンとの照合を行って、前記照合領域に含まれる画素ごとの勾配方向と、前記モデルパターンに含まれる画素ごとの勾配方向とが一致する画素数を、前記照合領域と前記モデルパターンとのマッチングの度合いを示す合致度として算出する合致度算出ステップと、注目画素の周囲で所定の画素数を含む探索領域内で、前記合致度算出手段が算出した合致度が最大値を取る画素であるピーク画素を探索するピーク画素探索ステップと、該ピーク画素探索ステップで発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとの前記合致度を用いて、撮像対象による前記撮像画像上の指示位置を算出する座標算出ステップとを備えても良い。
前記構成及び方法によれば、勾配算出手段又は勾配算出ステップでは、前記画像データ上の画素ごとに、該画素の画素値と複数の隣接画素の画素値とから画素値の縦方向勾配量及び横方向勾配量を算出する。
また、勾配方向特定手段又は勾配方向特定ステップでは、前記勾配算出手段が又は勾配算出ステップで算出した前記縦方向勾配量及び横方向勾配量から、画素ごとの勾配方向と、前記縦方向勾配量及び横方向勾配量のそれぞれ、又は前記縦方向勾配量及び横方向勾配量から算出される勾配の大きさが所定の閾値未満である無方向とのいずれかを特定する。
ここでは、無方向を所定の閾値未満であると定義しているが、所定の閾値以下と定義しても良い。
あらかじめ無方向を設定しておくことで、ノイズ等により不要な多数の勾配方向が発生することを抑制することができる。また、エッジ近傍の勾配方向に照合対象を絞りこむことが可能となり、照合の効率化を図ることができる。
ここに、画素値の縦方向勾配量及び横方向勾配量、勾配方向、及び勾配の大きさなどは、1フレームの撮像画像から得られる量である。また、これらの量は、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく得ることができる量でもある。
次に、合致度算出手段又は合致度算出ステップでは、注目画素の周囲で所定の画素数を含む領域である照合領域と、あらかじめ定められたモデルパターンとの照合を行って、前記照合領域に含まれる勾配方向と、前記モデルパターンに含まれる勾配方向とが一致する画素数から、前記照合領域と前記モデルパターンとのマッチングの度合いを示す合致度を算出する。
ここで、照合領域と、あらかじめ定められたモデルパターンとの照合(以下「パターンマッチング」と言う。)に使用される量としては、画素値(濃度値)などのスカラー量も考えられる。しかし、このようなスカラー量は量子化(所定の範囲内の量を一律にある一定の量と看做して扱う)したとしても、撮像対象の状況等に応じて、常に変わり得るため、あらかじめモデルパターンを設定しておくことは困難である。
一方、画素値の勾配はベクトル量であり、大きさ(勾配の大きさ)と向き(勾配方向)とを持つものである。ここで、特に、勾配方向(向き)は、例えば8方向に量子化したりすることによって、1つの画素がとり得る状態を8(無方向を含めると9)という極めて少ない状態に離散化することでき、さらにそれぞれの状態には、方向が異なるという識別が容易な特徴を持たせる事ができる。
また、各勾配方向の分布は、例えば、指のように表面が柔らかく、面に接触することにより接触面が円形になる場合、または先が丸いペンのように表面が固くても接触面が円形になるような場合には、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かうか、或いは、該中心付近から放射状にエッジ部分に向かうかのいずれかの傾向を示す。また、接触面がその他の形状であっても、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中に向かうか、或いは、エッジ部分に囲まれた領域の中からその領域の外側に向かうかのいずれかの傾向を示す。さらに、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、勾配方向は、パターンマッチングに適した量である。
よって、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いてパターンマッチングが可能となる。このため、メモリ容量を少量化し、及び処理時間を短縮化したパターンマッチングが可能となる。
また、ピーク画素探索手段は、注目画素の周囲で所定の画素数を含む探索領域内で、前記合致度算出手段が算出した合致度が最大値を取る画素であるピーク画素を探索する。
前記構成によれば、所定の画素数を含む探索領域内で探索するので、全画素数を含む画像データ領域において、ピーク画素を探索するよりも処理コストを低減、及びメモリ容量を少量化させることができる。
さらに、座標算出手段は、該ピーク画素探索手段が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素ごとの合致度を用いて、撮像対象による撮像画像上の指示位置を算出する。例えば、エッジ画像を用いてその重心位置から前記指示位置を求める場合、撮像画像が歪な形に変形するほど算出が困難になると考えられる。
しかし、本発明の画像処理装置では、ピーク画素領域内の、画素ごとのパターンマッチングによる合致度を用いて、撮像対象による前記撮像画像上の指示位置を算出する。このパターンマッチングにおける合致度の最大値近傍は、撮像画像が歪な形に変形したとしても、該最大値近傍を中心として、放射状に合致度が減少していくという、ほぼ変形前と同様の分布傾向を示すものと考えられる。
したがって、撮像画像が歪な形に変形するか否かに関係なく、所定の手順(例えば、ピーク画素領域内で合致度の重心を算出するなど)で、撮像対象による前記撮像画像上の指示位置を算出することができる。それゆえ、座標位置の検出精度の維持との両立を図りつつ、該指示位置を算出のための画像処理量の軽減、処理コストの低減、及びメモリ容量の少量化が可能となる。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いたパターン・マッチングを行なうことで、撮像対象による前記撮像画像上の指示位置の検出を可能としてメモリ容量を少量化し、及び処理時間を短縮化しつつ、座標位置の算出において、画像処理量の軽減と座標位置の検出精度の維持との両立、及びメモリ容量の少量化を実現することができる画像処理装置などを提供することができる。
また、本発明の画像処理装置は、前記探索領域と共通の注目画素をもち、該探索領域の画素数よりも少ない所定の画素数を有すると共に、前記探索領域内に完全に包含される小領域内に、前記ピーク画素探索手段が発見したピーク画素が存在することを判定した場合に、前記座標算出手段に前記指示位置を算出させる座標算出判定手段を備えても良い。
前記構成によれば、座標算出判定手段は、該探索領域の画素数よりも少ない所定の画素数を有すると共に、前記探索領域内に完全に包含される小領域内に、前記ピーク画素探索手段が発見したピーク画素が存在することを判定した場合に、前記座標算出手段に前記指示位置を算出させる。
前記ピーク画素領域は、前記小領域内に存在するピーク画素を注目画素としてその周囲に広がる領域であるので、前記探索領域と共通する画素が多数存在することになる。また、ピーク画素領域と探索領域との共通の画素の合致度は既に算出されているので、非共通の画素の合致度を調べれば、前記座標算出手段に前記指示位置を算出させることができる。
また、ピーク画素領域と探索領域とのそれぞれの画素数を調整すれば、ピーク画素領域を探索領域に包含させることも可能である。この場合、ピーク画素領域の各画素の合致度は既に判明しているので、座標算出のためにあらためて判明していない各画素の合致度を調べる必要が無い。
以上より、座標位置の算出において、さらに画像処理量の軽減及びメモリ容量の少量化を実現することができる。
また、本発明の画像処理装置は、前記縦方向勾配量及び横方向勾配量のそれぞれ、又は前記勾配の大きさが第1閾値以上である複数の第1エッジ画素を特定するエッジ画素特定手段を備え、前記勾配方向特定手段は、前記エッジ画素特定手段によって特定された複数の第1エッジ画素の勾配方向を特定し、第1エッジ画素以外の画素を前記無方向と看做して特定しても良い。
ここで、第1エッジ画素とは、画像データを構成する各画素のうち、明るさが急激に変化する部分(エッジ)における画素である。より、具体的には、第1エッジ画素とは、縦方向勾配量及び横方向勾配量のそれぞれ、又は勾配の大きさが所定の第1閾値以上である画素のことである。
なお、この第1エッジ画素を抽出する目的は、勾配方向特定手段が、抽出された複数の第1エッジ画素については、勾配方向を特定し、第1エッジ画素以外の画素については一律無方向と看做して特定するようにする点にある。
パターンマッチングにおいて重要な情報は、エッジ部分の第1エッジ画素における勾配方向である。
したがって、あまり重要でない画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。また、撮像対象による撮像画像上の指示位置の検出の際のメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、指示位置の検出処理のコストをさらに削減させることができる。
また、本発明の画像処理装置は、複数の画素から構成されるディスプレイと、前記複数の画素のうち所定数の画素のそれぞれに撮像センサーを内蔵すると共に、前記画像データは、前記撮像センサーで撮像された画像データであっても良い。
前記構成によれば、ディスプレイの表示画面でのタッチ入力が可能となる。
また、本発明の画像処理装置は、前記ディスプレイが液晶ディスプレイであり、該液晶ディスプレイに光を照射するバックライトを備えている場合において、前記エッジ画素特定手段は、前記縦方向勾配量及び横方向勾配量のそれぞれ、又は前記勾配の大きさが、前記第1閾値よりも大きな第2閾値以上である複数の第2エッジ画素を特定し、前記勾配方向特定手段は、前記エッジ画素特定手段によって特定された複数の第2エッジ画素の勾配方向を特定すると共に、第2エッジ画素以外の画素を前記無方向と看做して特定し、前記合致度算出手段は、前記照合領域に含まれる第1エッジ画素の勾配方向と、あらかじめ定められた第1モデルパターンに含まれる勾配方向とが一致する第1画素数と、前記照合領域に含まれる第2エッジ画素の勾配方向と、あらかじめ定められた第2モデルパターンに含まれる勾配方向とが一致する第2画素数とから、前記合致度を算出しても良い。
液晶ディスプレイに内蔵された撮像センサーに入力される光は、バックライトの反射光と、外部からの外光とが考えられる。
この場合、撮像画像から、バックライトの反射光による影響と、外部からの外光による影響とを分離することは困難である。
画像処理装置の周囲が暗い場合(以下「バックライト反射ベース」と呼ぶ場合がある。)においては、バックライトが撮像対象に反射して得られる画像は、例えば指の腹であれば、白い円形状がぼやけたような画像となる。そこで、この場合は、緩めの第1閾値により、エッジ画素特定手段が、第1エッジ画素を特定するようにする。
一方、画像処理装置の周囲が明るい場合(以下「影ベース」と呼ぶ場合がある。)においては、撮像対象(例えば指の腹)がパネル面から離れている場合(非接触)には、ぼやけた(コントラストの弱い)撮像画像となり、パネル面に接触している場合には鮮鋭な(コントラストの強い)撮像画像となる。従って、影ベースにおいては、厳しめの前記第1閾値よりも大きい第2閾値により、エッジ画素特定手段が、第2エッジ画素を特定するようにする。
こうして、複数の第1エッジ画素が特定された画像データと、バックライト反射ベースであらかじめ定められた第1モデルパターン及び複数の第2エッジ画素が特定された画像データと、影ベースであらかじめ定められた第2モデルパターンのそれぞれについてパターンマッチングを行って第1画素数及び第2画素数が得られる。この場合、合致度算出手段は、例えば、第1画素数及び第2画素数を加算したものを合致度として用いることが可能となる。
それゆえ、バックライト反射ベースと影ベースの各処理を切り替える必要がなく、一つの構成で両方に対応した処理を実施することが可能となり、照明環境が明るくても暗くても撮像対象の指示位置を特定することができる画像処理装置を提供することができる。
また、本発明の画像処理装置は、前記合致度算出手段が算出する合致度の最大値が所定の閾値を超えた場合に、前記撮像対象が前記ディスプレイに接触したと判定する接触判定手段を備えても良い。
前記構成によれば、合致度の最大値が所定の閾値を超えた場合に接触を認めることによって、合致度が算出されさえすれば如何なる場合も接触とみなしてしまうことによる誤検出の抑制効果を得ることができる。
また、本発明の画像処理装置は、前記合致度算出手段が、所定の閾値を超える前記合致度を算出した場合に、前記撮像対象が前記ディスプレイに接触したと判定する接触判定手段を備えても良い。
接触判定手段は、合致度算出手段が、所定の閾値を超える前記合致度(十分な合致度)を算出した場合(すなわち、モデルパターンと類似する特徴を得られるような画像情報が入力された場合)には、接触していると判断する。
それゆえ、接触または非接触を判定するために専用の装置や処理部を設けることなく、指示位置を特定するための画像処理の中で、接触または非接触について判定することができる。
また、本発明の画像処理装置は、前記エッジ画素特定手段が、前記第1エッジ画素及び前記第2エッジ画素のいずれか一方を特定した場合に、前記撮像対象が、前記ディスプレイに接触したと判定する接触判定手段を備えても良い。
上述したように、液晶ディスプレイに内蔵された撮像センサーに入力される光は、バックライトの反射光と、外部からの外光とが考えられる。
この場合、撮像画像から、バックライトの反射光による影響と、外部からの外光による影響とを分離することは困難である。
そこで、バックライト反射ベースにおいては、バックライトが撮像対象に反射して得られる画像は、例えば指の腹であれば、白い円形状がぼやけたような画像となる。そこで、この場合は、緩めの第1閾値により、接触判定手段は、エッジ画素特定手段が、前記第1エッジ画素を特定した場合に、前記撮像対象が、前記ディスプレイに接触したと判定するようにすれば良い。
一方、影ベースにおいては、撮像対象(例えば指の腹)がパネル面から離れている場合(非接触)には、ぼやけた(コントラストの弱い)撮像画像となり、パネル面に接触している場合には鮮鋭な(コントラストの強い)撮影画像となる。従って、影ベースにおいては、前記第1閾値よりも大きいエッジ判断基準の厳しい第2閾値により、接触判定手段は、エッジ画素特定手段が、前記第2エッジ画素を特定した場合に、前記撮像対象が、前記ディスプレイに接触したと判定するようにすれば良い。
以上より、緩めの第1閾値と、厳しめの第2閾値とを設定しておくだけで、バックライト反射ベース及び影ベースでのタッチ・非タッチの検出が可能となる。また、タッチ・非タッチを判定するために専用の装置や処理部を設けることなく、指示位置を特定するための画像処理の中で、タッチ・非タッチを判定することができる。
また、本発明の画像処理装置は、前記合致度算出手段は、前記照合領域内において合致する勾配方向の種類数が、あらかじめ定められた規定種類数以上の場合に、前記合致度を算出しても良い。
上述のように、勾配方向は、上述したような傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。よって、例えば、勾配方向の種類数が8方向の場合、パターンマッチングで一致する勾配方向の種類数は、8に近いものとなるはずである。したがって、前記照合領域内において合致する勾配方向の種類数が、あらかじめ定められた規定種類数以上の場合に、前記合致度を算出するようにすれば、前記指示位置の検出処理のメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、前記指示位置の検出処理のコストをさらに削減させることができる。