以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図2は、本発明を適用した操作入力装置の第1の実施の形態の構成例を示すブロック図である。
図2において、操作入力装置21は、入出力ディスプレイ22、受光信号処理部23、画像処理部24、ノイズ除去部25、生成部26、修正部27、および制御部28を備えて構成される。
入出力ディスプレイ22は、画像の表示と、外部からの入力に対応する光の検出とを行う。即ち、入出力ディスプレイ22は、図示しない表示信号処理部から供給される画像データに対応する画像を、その表示画面に表示する。また、入出力ディスプレイ22は、例えば、表示画面全体に分布するように配置された複数の光センサ22Aを内蔵し、外部から入射する光を受光し、その光の受光量に対応する受光信号を生成して、受光信号処理部23に供給する。
受光信号処理部23は、入出力ディスプレイ22からの受光信号に対して、所定の処理を施すことにより、入出力ディスプレイ22の表示画面に対して、ユーザの指などの物体が接触している部分と、何も接触していない部分とで輝度が異なる画像を生成する。なお、ユーザの指などの物体が接触している部分には、ユーザの指などの物体がほぼ接触していると判断できるほど短い距離だけ近接している部分が含まれるものとする。受光信号処理部23は、ユーザの指などの接触に応じて輝度が異なる画像を、入出力ディスプレイ22の表示画面に表示される画像のフレームごとに生成し、画像処理部24に供給する。
画像処理部24は、受光信号処理部23から供給される各フレームの画像に対して、例えば、2値化、ノイズ除去、ラベリング等の画像処理を施す。これにより、画像処理部24は、入出力ディスプレイ22の表示画面にユーザの指などが接触している部分(領域)を、外部からの入力があった入力部分として検出し、その入力部分の点情報を生成してノイズ除去部25に供給する。入力部分の点情報には、入力部分の座標(入力部分を代表する入出力ディスプレイ22の表示画面上の点を示す座標)、入力部分の接触面積、および入力部分の形状(接触領域)が含まれる。
ノイズ除去部25は、画像処理部24から供給される入力部分の点情報に基づいて、ノイズ成分を除去するノイズ除去処理を行う。
上述したように、画像処理部24は、入出力ディスプレイ22が出力する受光信号から生成される画像に基づいて入力部分を検出する。ところが、画像処理部24が検出する入力部分には、ユーザの指などの接触により検出されるものの他、例えば、ユーザの指などが接触していなくても、入出力ディスプレイ22の表面画面への照射光の急激な変化により、入力部分として検出されるものがある。そこで、ノイズ除去部25は、このような物体の非接触部分で検出された入力部分を、その形状などの特徴を抽出することによりノイズ成分として認識して、ノイズ成分と認識された入力部分の点情報を削除するノイズ除去処理を行う。
生成部26は、ターゲット生成部31および記憶部32を備えて構成される。
ターゲット生成部31には、ノイズ除去部25においてノイズ成分が除去された入力部分の点情報が供給される。ターゲット生成部31は、その入力部分の点情報に対し、フレームごとに、記憶部32に記憶されている全フレームのターゲット生成用参照データとの統合処理を施す。この統合処理により、ターゲット生成部31は、入力部分の時間的または空間的な位置関係に基づいて、一連の入力を表すターゲットを識別するためのターゲットIDを割り振ったターゲット情報を生成する。
記憶部32には、後述するように、修正部27から、ターゲット生成部31がターゲット情報を生成する際に参照されるターゲット生成用参照データが供給され、記憶される。
修正部27は、ターゲット生成部31が生成したターゲット情報から、不安定なターゲットを除去することにより、または、一時的に消失したターゲットを補完することにより、誤動作を起こす原因となるターゲットを修正する。そして、修正部27は、修正後のターゲット情報を制御部28に供給する。
即ち、修正部27は、処理選択部41、消失データ補完部42、不安定データ除去部43、および記憶部44を備えて構成される。
処理選択部41は、ターゲット生成部31から供給されるターゲット情報と、記憶部44に記憶されている中間データとに基づいて、各ターゲットに対して施す処理を選択する。そして、処理選択部41は、ターゲットに対して施す処理に従って、消失データ補完部42および不安定データ除去部43のいずれか一方に、ターゲット情報を供給する。
消失データ補完部42は、処理選択部41から供給されたターゲット情報と、記憶部44に記憶されている中間データとに基づいて、一時的に消失したターゲットがあれば、そのターゲットを補完し、一連の操作として再生成する消失データ補完処理を行う。例えば、消失データ補完部42は、ターゲットが消失してから経過した時刻を示す補完期間(Hold Time)に基づいて、補完すべきターゲットであるか否かを判断する。
不安定データ除去部43は、処理選択部41から供給されたターゲット情報と、記憶部44に記憶されている中間データとに基づいて、不安定なターゲットがあれば、そのターゲットを除去する不安定データ除去処理を行う。例えば、不安定データ除去部43は、ターゲットの面積の安定性と、ターゲットが認識されてから経過した時刻を示す生存期間(Life)とに基づいて、不安定なターゲットであるか否かを判断する。
記憶部44には、消失データ補完部42または不安定データ除去部43において処理が施されたターゲット情報が供給され、記憶部44は、そのターゲット情報を、修正部27の内部処理で使用される中間データとして記憶(保持)する。そして、記憶部44に記憶されている中間データ(例えば、1フレーム前のターゲット情報)が、処理選択部41、消失データ補完部42、および不安定データ除去部43が実行する処理において参照される。
制御部28は、例えば、入出力ディスプレイ22の表示画面上に接触されるユーザの指などの動きに応じて、入出力ディスプレイ22の表示画面の表示(動作)を制御する上位のアプリケーションを実行する。そして、制御部28には、修正部27において修正されたターゲット情報が供給され、制御部28は、そのターゲット情報に基づき、必要に応じて、入出力ディスプレイ22に画像データを供給する表示信号処理部(図示せず)を制御する。このような制御部28の制御に従って、例えば、入出力ディスプレイ22の表示状態が変化(例えば、縮小または拡大や、回転、スライドなど)する。
次に、図3のフローチャートを参照して、図2の操作入力装置21において、入出力ディスプレイ22の表示画面上におけるユーザの指などの動きに応じて表示を制御する処理について説明する。
例えば、ユーザが操作入力装置21の電源をオンにすると処理が開始され、入出力ディスプレイ22に表示される画像の1フレームごとに処理が繰り返して行われる。
ステップS1において、入出力ディスプレイ22の光センサ22Aは、例えば、入出力ディスプレイ22の表示画面にフレームが表示されるのに同期したタイミングで光を受光し、その受光量に応じた受光信号を受光信号処理部23に供給する。光センサ22Aは、例えば、入出力ディスプレイ22の表示画面に接触しているユーザの指などにより反射する反射光や、入出力ディスプレイ22の表示画面に照射される外光などを受光する。
ステップS2において、受光信号処理部23は、入出力ディスプレイ22から供給される受光信号に所定の処理を施す。これにより、受光信号処理部23は、例えば、入出力ディスプレイ22の表示画面に対して、ユーザの指などが接触している部分と、何も接触していない部分とで輝度が異なる画像を取得し、その画像を画像処理部24に供給する。
ステップS3において、画像処理部24は、受光信号処理部23から供給される画像に対して、2値化、ノイズ除去、ラベリング等の画像処理を施す。画像処理部24は、これらの画像処理により、ユーザの指などが入出力ディスプレイ22の表示画面に接触している領域を、外部からの入力があった入力部分として検出し、その入力部分の点情報を取得して、ノイズ除去部25に供給する。
ステップS4において、ノイズ除去部25は、画像処理部24から供給される入力部分の点情報に基づいて、ノイズ成分として認識された入力部分の点情報を削除するノイズ除去処理を施す。ノイズ除去処理の詳細については、図4乃至図7を参照して後述する。ノイズ除去部25は、ノイズ成分ではないと認識された入力部分の点情報を生成部26に供給する。
ステップS5において、生成部26のターゲット生成部31は、ノイズ除去部25から供給される入力部分の点情報に対し、記憶部32に記憶されている全フレームのターゲット生成用参照データとの統合処理を施す。ターゲット生成部31は、統合処理によりターゲットと認識した入力部分について、ターゲット情報を生成して修正部27に供給する。
ステップS6において、修正部27は、生成部26により生成されたターゲット情報に基づいて、不安定なターゲットの除去、または一時的に消失したターゲットの補完を行ってターゲット情報を修正するターゲット修正処理を施し、制御部28に供給する。ターゲット修正処理の詳細については、図8乃至図10を参照して後述する。
ステップS7において、制御部28は、修正部27から供給されるターゲット情報に基づいて、必要に応じて、入出力ディスプレイ22に画像データを供給する表示信号処理部(図示せず)に対し、入出力ディスプレイ22の表示状態を変更させる表示制御を行う。
ステップS8において、入出力ディスプレイ22は、制御部28の表示制御に従い、それまでとは異なる表示状態、例えば、それまで表示されていた画像が時計周りに90°回転して表示される表示状態で、画像を表示する。
その後、処理は、ステップS1に戻り、次のフレームに対して同様の処理が繰り返される。
以上のように、操作入力装置21では、ノイズ成分として認識された入力部分の点情報を削除されるとともに、不安定なターゲットが除去され、または一時的に消失したターゲットが補完されるので、ユーザの指などの動きに応じた確実な表示制御が行われる。即ち、例えば、入出力ディスプレイ22の表示画面への照射光の急激な変化に起因する誤作動を防止することができる。
次に、図4は、図3のステップS4におけるノイズ除去処理を説明するフローチャートである。
例えば、画像処理部24が、所定の1フレームにおける入力部分の点情報をノイズ除去部25に供給すると処理が開始される。上述したように、入力部分の点情報には、処理対象となるフレームにおいて検出された全ての入力部分についての座標、接触面積、および形状を示す情報が含まれている。
ステップS11において、ノイズ除去部25は、物体の非接触部分で検出された入力部分についての形状などの特徴を抽出するために、画像処理部24から供給される入力部分の点情報に基づいて、入力部分についての2次的情報を生成する。例えば、ノイズ除去部25は、入力部分の密度値およびアスペクト比を2次的情報として生成する。即ち、ノイズ除去部25は、入力部分の形状に基づいて入力部分に外接する矩形を求め、この外接矩形の面積に対する入力部分の面積を入力部分の密度値として算出する。また、ノイズ除去部25は、この外接矩形の縦方向と横方向の長さの比率をアスペクト比として算出する。
ステップS12において、ノイズ除去部25は、ステップS11で算出した各入力部分の密度値に従って、所定の高密度閾値以上となる密度値が算出された入力部分の点情報を除去する異常高密度フィルタ処理(図5)を行う。
ステップS13において、ノイズ除去部25は、ステップS11で算出した各入力部分の密度値に従って、所定の低密度閾値以下となる密度値が算出された入力部分の点情報を除去する異常低密度フィルタ処理(図6)を行う。
ステップS14において、ノイズ除去部25は、ステップS11で算出した各入力部分のアスペクト比に従って、所定のアスペクト比閾値以上となるアスペクト比が算出された入力部分の点情報を除去する異常アスペクト比フィルタ処理(図7)を行う。ステップS14の処理後、処理は終了する。
次に、図5乃至図7を参照して、異常高密度フィルタ処理、異常低密度フィルタ処理、および異常アスペクト比フィルタ処理について説明する。なお、ノイズ除去部25には、例えば、操作入力装置21の設計時などにおいて、ユーザの指などによる入力操作に対して正常に応答するような閾値が決定されており、それらの閾値が予め記憶されている。
図5は、図4のステップS12における異常高密度フィルタ処理を説明するフローチャートである。
異常高密度フィルタ処理において、ノイズ除去部25は、図4のステップS11で2次的情報が生成された点情報を、順次、対象として評価を行っており、ステップS21において、2次的情報が生成された全ての点情報を評価の対象としたか否かを判定する。
ステップS21において、ノイズ除去部25が、全ての点情報を評価の対象としていないと判定した場合、即ち、評価の対象とされていない点情報がまだある場合、処理はステップS22に進む。
ステップS22において、ノイズ除去部25は、評価の対象とされていない所定の点情報を処理の対象とし、評価対象の点情報の密度値が高密度閾値以上であるか否かを判定する。
ステップS22において、ノイズ除去部25が、評価対象の点情報の密度値が高密度閾値以上であると判定した場合、処理はステップS23に進む。
ステップS23において、ノイズ除去部25は、ステップS22で評価対象とした点情報を除去する。即ち、高密度閾値以上となるような異常に高い密度値が算出された点情報は、ノイズ成分であると認識されて除去される。
ステップS23の処理後、または、ステップS22で評価対象の点情報の密度値が高密度閾値以上でないと(高密度閾値未満であると)判定された場合、処理はステップS21に戻り、以下、同様の処理が繰り返される。
一方、ステップS21において、ノイズ除去部25が、全ての点情報を評価の対象としたと判定した場合、異常に高い密度値が算出された点情報は全て削除されており、処理は終了する。
次に、図6は、図4のステップS13における異常低密度フィルタ処理を説明するフローチャートである。
ステップS31において、ノイズ除去部25は、図5のステップS21と同様に、2次的情報が生成された全ての点情報を評価の対象としたか否かを判定し、全ての点情報を評価の対象としていないと判定した場合、処理はステップS32に進む。
ステップS32において、ノイズ除去部25は、評価の対象とされていない所定の点情報を処理の対象とし、評価対象の点情報の密度値が低密度閾値以下であるか否かを判定する。
ステップS32において、ノイズ除去部25が、評価対象の点情報の密度値が低密度閾値以下であると判定した場合、処理はステップS33に進み、ノイズ除去部25は、その点情報を除去する。即ち、低密度閾値以下となるような異常に低い密度値が算出された点情報は、ノイズ成分であると認識されて除去される。
ステップS33の処理後、または、ステップS32で評価対象の点情報の密度値が低密度閾値以下でないと(低密度閾値より大であると)判定された場合、処理はステップS31に戻り、以下、同様の処理が繰り返される。
一方、ステップS31において、ノイズ除去部25が、全ての点情報を評価の対象としたと判定した場合、異常に低い密度値が算出された点情報は全て削除されており、処理は終了する。
次に、図7は、図4のステップS14における異常アスペクト比フィルタ処理を説明するフローチャートである。
ステップS41において、ノイズ除去部25は、図5のステップS21と同様に、2次的情報が生成された全ての点情報を評価の対象としたか否かを判定し、全ての点情報を評価の対象としていないと判定した場合、処理はステップS42に進む。
ステップS42において、ノイズ除去部25は、評価の対象とされていない所定の点情報を処理の対象とし、評価対象の点情報のアスペクト比がアスペクト比閾値以上であるか否かを判定する。
ステップS42において、ノイズ除去部25が、評価対象の点情報のアスペクト比がアスペクト比閾値以上であると判定した場合、処理はステップS43に進み、ノイズ除去部25は、その点情報を除去する。即ち、アスペクト比閾値以上となるような異常に高いアスペクト比が算出された点情報は、ノイズ成分であると認識されて除去される。
ステップS43の処理後、または、ステップS42で評価対象の点情報のアスペクト比がアスペクト比閾値以上でないと(アスペクト比閾値以上未満であると)判定された場合、処理はステップS41に戻り、以下、同様の処理が繰り返される。
一方、ステップS41において、ノイズ除去部25が、全ての点情報を評価の対象としたと判定した場合、異常に高いアスペクト比が算出された点情報は全て削除されており、処理は終了する。
以上のように、ノイズ除去部25では、密度値およびアスペクト比に基づいて、ノイズ成分と認識された入力部分を除去することができる。
例えば、操作入力装置21は、ユーザの指により入力操作が行われることを想定して設計されており、通常、ユーザの指が接触したときの接触領域は楕円形となる。従って、例えば、想定されている楕円形よりも細長い形状が検出された入力部分は、ユーザの指による入力操作ではない、即ち、ノイズ成分であると判断することができ、ノイズ除去処理において除去される。つまり、ユーザの指による接触領域と判断できる範囲となるように、高密度閾値および低密度閾値が設定され、ユーザの指による接触領域と判断できる最も高いアスペクト比に、アスペクト比閾値が設定される。
従って、ノイズ除去処理により、ユーザの指などによる操作入力以外で検出された入力部分の点情報を削除すること、例えば、入出力ディスプレイ22への照射光の変化によって検出された非接触部分の点情報を削除することができる。これにより、非接触部分の点情報に基づく誤動作を防止することができ、より正確な動作をすることができる。
次に、図8は、図3のステップS6におけるターゲット修正処理を説明するフローチャートである。ここで、上述したように、操作入力装置21では、入出力ディスプレイ22に表示される画像の1フレームごとに処理が繰り返して行われており、現在処理の対象としているフレームを、以下、適宜、時刻tのフレームと称する。
ステップS51において、処理選択部41は、ターゲット生成部31において生成された全てのターゲット情報を対象として処理を行ったか否かを判定する。例えば、入出力ディスプレイ22の表示画面上に複数箇所でユーザの指などが接触しているとき、ターゲット生成部31では、時刻tのフレームにおいて、それらに対応する複数のターゲットを認識し、複数のターゲット情報を生成している。従って、修正部27では、ターゲット生成部31において複数のターゲット情報が生成されているとき、それらのターゲット情報を、順次、対象として処理を行う。
ステップS51において、処理選択部41が、全てのターゲット情報を対象として処理を行っていないと判定した場合、即ち、処理の対象とされていないターゲット情報がまだある場合、処理はステップS52に進む。
ステップS52において、処理選択部41は、まだ処理の対象とされていないターゲット情報を処理の対象として、そのターゲット情報に記載されている処理内容を確認し、処理はステップS53に進む。
例えば、時刻t−1のフレーム(1フレーム前のフレーム)に対する処理においてターゲット生成部31によりターゲットとして認識された入力部分についてのターゲット情報には、時刻t−1におけるターゲット修正処理で処理内容が記載されている。従って、処理選択部41は、記憶部44に記憶されている中間データのうちの、時刻t−1の同一のターゲットIDで識別されるターゲット情報を参照し、その記載内容を確認する。
また、処理選択部41は、ターゲット情報に処理内容が記載されていなければ、そのターゲット情報の処理内容に、除去処理を記載する。即ち、時刻t−1における処理においてターゲットとして認識されてなく、時刻tのフレームに対する処理においてターゲットとして認識された入力部分についてのターゲット情報には、処理内容が記載されていない。このため、処理選択部41は、処理内容の初期設定として除去処理を記載する。
ステップS53において、処理選択部41は、ステップS52で確認(または記述)したターゲット情報の処理内容(Mode)が、除去処理(Delete Mode)および補完処理(Hold Mode)のいずれであるかを判定する。
ステップS53において、処理選択部41が、ターゲット情報の処理内容が除去処理である(Mode=Delete Mode)と判定した場合、処理選択部41はターゲット情報を不安定データ除去部43に供給し、処理はステップS54に進む。ステップS54において、不安定データ除去部43は、ステップS53で処理選択部41から供給されたターゲット情報に不安定データ除去処理(図9)を施す。
一方、ステップS53において、処理選択部41が、処理の対象としたターゲットの処理内容が補完処理である(Mode=Hold Mode)と判定した場合、処理選択部41はターゲット情報を消失データ補完部42に供給し、処理はステップS55に進む。ステップS55において、消失データ補完部42は、ステップS53で処理選択部41から供給されたターゲット情報に消失データ補完処理(図10)を施す。
ステップS54またはS55の処理後、処理はステップS51に戻り、以下、ステップS51において、全てのターゲット情報を対象として処理を行ったと判定されるまで、処理が繰り返される。
ここで、ターゲット修正処理を繰り返す回数(即ち、全てのターゲットの個数)は、時刻t−1のフレームに対する処理において制御部28に出力したターゲット情報の個数と、時刻tのフレームに対する処理において生成部26から供給されたターゲット情報のうちの、時刻t−1のフレームに対する処理において制御部28に出力したターゲット情報に含まれるターゲットIDと重複しないものの個数とを加算したものとなる。
次に、図9は、図8のステップS54における不安定データ除去処理を説明するフローチャートである。
ステップS61において、不安定データ除去部43は、時刻tのフレームに対してターゲット生成部31が生成したターゲット情報を、時刻tの中間データとして記憶部44に記憶させ、処理はステップS62に進む。
ステップS62において、不安定データ除去部43は、時刻tの中間データの面積値Atと、時刻t−1の中間データの面積値At-1とに基づいて、次の式(1)を演算することにより、面積変化率(dA/A)を求める。なお、時刻t−1の中間データとは、時刻t−1(1サンプル前)のフレームに対してターゲット生成部31が生成し、中間データとして記憶部44に既に記憶されているターゲット情報のうちの、処理対象の中間データと同一のターゲットIDのものである。
ステップS62の処理後、処理はステップS63に進み、不安定データ除去部43は、ステップS62で算出した面積変化率が、面積変化率閾値(Ath)より大であるか否かを判定する。
ステップS63において、不安定データ除去部43が、面積変化率が、面積変化率閾値より大である(dA/A>Ath)と判定した場合、処理はステップS64に進む。ステップS64において、不安定データ除去部43は、処理の対象としている中間データに新規のIDを割り当て、中間データに割り当てられた新規IDの生存期間に1をセット(Life=1)する。即ち、この場合、面積変化率が大きいので、一連の操作入力ではなく、新たな操作入力と判断することができ、処理の対象としている中間データに対応するターゲットは新規に創出されたものとして処理が行われる。
一方、ステップS63において、不安定データ除去部43が、面積変化率が、面積変化率閾値より大でない(dA/A≦Ath)と判定した場合、処理はステップS65に進む。ステップS65において、不安定データ除去部43は、処理の対象としているターゲットデータの生存期間をインクリメント(Life++)する。即ち、この場合、面積変化率が小さいので、一連の操作入力として安定したものとして処理が行われる。
ステップS64またはS65の処理後、処理はステップS66に進み、不安定データ除去部43は、処理の対象としている中間データの生存期間が、所定の生存期間閾値(Life th)より大であるか否かを判定する。
ステップS66において、不安定データ除去部43が、中間データの生存期間が、所定の生存期間閾値より大である(Life>Life th)と判定した場合、処理はステップS67に進む。
ステップS67において、不安定データ除去部43は、この中間データを出力ターゲットデータに代入する。即ち、この場合、中間データは、規定期間において面積変化が少ないので、不安定なデータではなく、ユーザの指などによる入力操作によるデータであると判断することができ、その中間データであるターゲット情報が制御部28に出力される。また、以降の処理において、同じIDの中間データの消失を防止するために、中間データの処理内容を補完処理(Mode=Hold Mode)とするとともに、中間データの補完期間に0をセット(Hold Time=0)する。
一方、ステップS66において、不安定データ除去部43が、ターゲット情報の生存期間が、所定の生存期間閾値より大でない(Life≦Life th)と判定した場合、処理はステップS68に進む。
ステップS68において、不安定データ除去部43は、出力ターゲットデータをクリアする。即ち、この場合、中間データは、不安定なデータであると判断することができ、その中間データであるターゲット情報は制御部28に出力されない。また、この中間データの処理内容を除去処理(Mode=Delete Mode)とするとともに、中間データの補完期間に0をセット(Hold Time=0)する。
ステップS67またはS68の処理後、処理はステップS69に進み、不安定データ除去部43は、時刻tの中間データを生成部26の記憶部32に記憶させ、処理は終了する。即ち、時刻tの中間データは、ターゲット生成部31が、次の時刻のフレーム(時刻t+1のフレーム)におけるターゲット情報を生成する処理で参照するためのターゲット生成用参照データとされる。
以上のように、不安定データ除去部43では、面積変化率、および、ターゲットの生存期間に基づいて、不安定なデータを除去することができる。これにより、誤作動を防止することができる。
次に、図10は、図8のステップS55における消失データ補完処理を説明するフローチャートである。
ステップS71において、消失データ補完部42は、時刻tのフレームに対してターゲット生成部31が生成したターゲット情報を、時刻tの中間データとして記憶部44に記憶させ、処理はステップS72に進む。
ステップS72において、消失データ補完部42は、時刻tの中間データと、時刻t−1の出力データ(時刻t−1で出力ターゲットデータに代入した全てのターゲット情報)とを比較し、処理はステップS73に進む。
ステップS73において、消失データ補完部42は、ステップS72で時刻tの中間データと時刻t−1の出力データとを比較した結果、ターゲットが消失したか否かを判定する。
例えば、消失データ補完部42は、ステップS72での比較の結果、時刻t−1の出力データにおいて処理内容が補完処理(Mode=Hold Mode)であるターゲット情報であり、かつ、時刻tの中間データにおいて存在しないターゲットID(消失したターゲットID)を含むターゲット情報が検出されている場合、この条件に合致するターゲット情報のターゲットは消失したものとする。
一方、消失データ補完部42は、時刻tの中間データのターゲット情報に含まれるターゲットIDが、時刻t−1の出力データにおけるターゲット情報に含まれるターゲットIDと一致する場合、ターゲットは消失していないと判定する。
ステップS73において、消失データ補完部42が、ターゲットが消失した判定した場合、処理はステップS74に進む。
ステップS74において、消失データ補完部42は、消失したと判定されたターゲットについての時刻t−1の出力ターゲットデータを参照し、その補完期間(Hold Time)が、所定の補完期間閾値(Hth)より大であるか否かを判定する。
ステップS74において、消失データ補完部42が、消失したと判定されたターゲットについての時刻t−1の出力ターゲットデータの補完期間が、所定の補完期間閾値より大である(Hold Time>Hth)と判定した場合、処理はステップS75に進む。
ステップS75において、消失データ補完部42は、中間データの生存期間に1をセット(Life=1)し、処理はステップS76に進む。
ステップS76において、消失データ補完部42は、出力ターゲットデータをクリアする。即ち、この場合、消失したと判定されたターゲットの中間データは制御部28に出力されない。また、消失データ補完部42は、この中間データの処理内容を除去処理(Mode=Delete Mode)とするとともに、中間データの補完期間に0をセット(Hold Time=0)する。
ステップS76の処理後、処理はステップS77に進み、消失データ補完部42は、時刻tの出力ターゲットデータをターゲット生成用参照データとして、生成部26の記憶部32に記憶させ、処理は終了する。即ち、時刻tの出力ターゲットデータは、ターゲット生成部31が、次のフレーム(時刻t+1のフレーム)に対してターゲット情報を生成する処理で参照するためのターゲット生成用参照データとされる。この場合、時刻tの出力ターゲットデータはクリアされており、ターゲットが消失した(例えば、ユーザの指などが入出力ディスプレイ22の表示画面から離された)ものとして以降の処理が行われる。
一方、ステップS74において、消失データ補完部42が、消失したと判定されたターゲットについての時刻t−1の出力ターゲットデータの補完期間が、所定の補完期間閾値より大でない(Hold Time≦Hth)と判定した場合、処理はステップS78に進む。
ステップS78において、消失データ補完部42は、中間データの生存期間をインクリメント(Life++)し、処理はステップS79に進む。
ステップS79において、消失データ補完部42は、出力ターゲットデータに、時刻t−1の出力データ(即ち、時刻t−1で出力ターゲットデータに代入されたターゲット情報のうちの、消失したと判定されたターゲットのターゲット情報)をコピーする。即ち、この場合、消失したと判定されたターゲットについては、1フレーム前のターゲット情報と同一のターゲット情報が出力される。また、消失データ補完部42は、この中間データの処理内容を補完処理(Mode=Hold Mode)とするとともに、中間データの補完期間をインクリメント(Hold Time++)する。
ステップS79の処理後、処理はステップS77に進み、消失データ補完部42は、時刻tの出力ターゲットデータをターゲット生成用参照データとして記憶部32に記憶させ、処理は終了する。この場合、時刻tの出力ターゲットデータは、時刻t−1の出力データがコピーされたものであり、消失したターゲットが補完されて以降の処理が行われる。
一方、ステップS73において、消失データ補完部42が、ターゲットが消失していないと判定した場合、処理はステップS80に進む。
ステップS80において、消失データ補完部42は、時刻tの中間データの生存期間をインクリメント(Life++)し、処理はステップS81に進む。
ステップS81において、消失データ補完部42は、中間データを出力ターゲットデータに代入する。即ち、この場合、ターゲットは消失していないので、中間データが制御部28に出力される。また、消失データ補完部42は、この中間データの処理内容を補完処理(Mode=Hold Mode)とするとともに、中間データの補完期間に0をセット(Hold Time=0)する。
ステップS81の処理後、処理はステップS77に進み、消失データ補完部42は、時刻tの出力ターゲットデータをターゲット生成用参照データとして記憶部32に記憶させ、処理は終了する。この場合、ターゲットは消失していないので、検出されたターゲットを用いて以降の処理が行われる。
以上のように、消失データ補完部42では、ターゲットが消失したときに、補完期間が所定の閾値以下の短いものであれば、一時的にターゲットが消失したものと判断できるので、そのターゲットを、1フレーム前の出力データで補完する処理が行われる。これにより、ターゲットが一時的に消失することにより、例えば、消失の前後で異なる操作と判断されることによる誤作動を防止することができる。即ち、一時的な消失であれば、一連の入力とみなして処理を行うことができる。
次に、図11乃至図13を参照して、修正部27の動作例を説明する。なお、この動作例においては、生存期間閾値(Life th)が1に設定されているとともに、補完期間閾値(Hth)が1に設定されている。
図11乃至図13では、横方向がサンプリング時間を表し、左側から右側に向かって時刻tの経過が示されている。また、図11乃至図13では、縦方向が処理の流れを表している。即ち、上側から下側に向かって、ターゲット生成部31に入力される入力部分の点情報、ターゲット生成部31において生成されたターゲット情報、記憶部44に記憶される中間データ、制御部28に出力される出力ターゲットデータ、および、記憶部32に記憶されるターゲット生成用参照データを表している。
図11は、修正部27の不安定データ除去部43における不安定データ除去処理による効果が示されている。
例えば、ターゲット生成部31は、時刻t+1においてターゲットを新たに検出し、そのターゲットにターゲットID#1を割り振るとともに、生存期間に1をセット(Life=1)し、補完期間に0をセット(Hold Time=0)する。また、処理選択部41は、処理内容の初期設定として除去処理を記載する(図8のステップS52の処理)。
そして、時刻t+2において、連続的なターゲットが検出され、ターゲット生成部31は、そのターゲットに時刻t+1で検出したターゲットID#1を割り振る。しかしながら、時刻t+2で検出されたターゲットは、時刻t+1で検出されたターゲットID#1のターゲットの面積よりも急激に大きな面積に変化している。例えば、その面積変化率が、面積変化率閾値より大である(dA/A>Ath)場合、不安定データ除去部43は、時刻t+2で検出されたターゲットに新規ID(ターゲットID#2)を割り当てる(図9のステップS64の処理)。さらに、生存期間が1以下である(Life≦Life th)であるので、この場合、出力ターゲットデータはクリアされ、ターゲットID#2のターゲットは出力されない(図9のステップS68の処理)。
その後、時刻t+3において、2つのターゲットが検出され、ターゲット生成部31は、その一方にターゲットID#2を割り当てる。しかしながら、時刻t+3におけるターゲットID#2のターゲットの面積は、時刻t+2におけるターゲットID#2のターゲットの面積よりも急激に小さな面積に変化している。従って、不安定データ除去部43は、そのターゲットに新規ID(ターゲットID#4)を割り当て、出力ターゲットデータをクリアする。
このように、不安定データ除去部43が、面積変化率が大きいターゲットは不安定なターゲットとして、出力されないように不安定データ処理を行うので、ユーザによる入力操作以外の、不安定なターゲットに基づく誤動作を防止することができる。
図12は、修正部27の消失データ補完部42における消失データ補完処理による効果が示されている。
例えば、ターゲット生成部31は、時刻t+1においてターゲットを新たに検出し、そのターゲットにターゲットID#5を割り振るとともに、生存期間に1をセット(Life=1)し、補完期間に0をセット(Hold Time=0)する。また、処理選択部41は、処理内容の初期設定として除去処理(Mode=Delete Mode)を記載する(図8のステップS52の処理)。
そして、時刻t+2において、連続的なターゲットが検出され、ターゲット生成部31は、そのターゲットに時刻t+1で検出したターゲットID#5を割り振る。そして、処理内容が除去処理(Mode=Delete Mode)であるので、不安定データ除去部43にターゲット情報が供給されるが、時刻t+2で検出されたターゲットは、時刻t+1で検出されたターゲットID#5のターゲットの面積と同等であるので、その中間データの生存期間がインクリメントされる(図9のステップS65の処理)。
さらに、不安定データ除去部43は、生存期間が1以上である(Life>Life th)ので、その中間データを出力ターゲットデータに代入するとともに、処理内容を補完処理(Mode=Hold Mode)にして、補完期間に0をセット(Hold Time=0)する。従って、この場合、ターゲットID#5のターゲット情報が出力される。
その後、時刻t+3で、ターゲットが検出されなくても、ターゲットID#5の中間データの処理内容が補完処理であるので、消失データ補完部42において消失データ補完処理が行われ、1フレーム前のターゲット情報と同一のターゲット情報が出力される(図10のステップS79の処理)。
このように、安定的なターゲットが一時的に消失しても、そのターゲットを補完することで、一時的な消失の前後で、異なるターゲットIDが割り振られることなく、即ち、一連の操作入力として同一のIDを割り振ることができる。従って、異なる2回の操作が行われたと判断されることによる誤動作が発生することを回避することができる。
図13は、修正部27の不安定データ除去部43における不安定データ除去処理による効果が示されている。なお、図14では、ユーザの指などによる入力操作に基づいて検出されるターゲットと同時に、不安定なターゲットが発生したときの動作例が示されている。
即ち、時刻t+1から時刻t+3までの間、ターゲットID#6のターゲットは安定している入力部分として検出されているが、時刻t+2で検出されているターゲットID#7のターゲットは、一時的に発生している不安定なターゲットであるため除去されている。
このように、各ターゲットを識別するターゲットIDを利用して、ターゲットごとに独立して不安定データ除去処理と消失データ補完処理とに処理が振り分けられるので、ユーザによる入力操作中に不安定なターゲットが発生しても、操作入力によるターゲットに影響を与えずに、不安定なターゲットのみを除去することができる。
以上のように、不安定データ除去処理と消失データ補完処理とを適切に選択して処理を行うことで、外部から入力があった複数の点の点情報を、入出力ディスプレイ22を備えた操作入力装置21において実行される上位のアプリケーションにおいて容易に取り扱うことができる。また、入出力ディスプレイ22への照射光の時間的または空間的な変動により発生するノイズ成分を除去することで、指などの非完全反射物による操作時のターゲットの消失を防止することができ、上位のアプリケーションで誤動作が発生することを防止することができる。
次に、図14は、本発明を適用した操作入力装置の第2の実施の形態の構成例を示すブロック図である。
図14において、操作入力装置51は、外光センサ52、選択処理部53、入出力ディスプレイ22、受光信号処理部23、画像処理部24、ノイズ除去部25、生成部26、修正部27、および制御部28を備えて構成される。なお、図14では、図2の操作入力装置21と共通する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
即ち、図14の操作入力装置51は、入出力ディスプレイ22、受光信号処理部23、画像処理部24、ノイズ除去部25、生成部26、修正部27、および制御部28を備える点で、図2の操作入力装置21と共通する。但し、図14の操作入力装置51は、外光センサ52および選択処理部53を備える点で、図2の操作入力装置21と相違する。
外光センサ52は、例えば、入出力ディスプレイ22に照射される外光の状態(例えば、外光の照度や、外光のスペクトル、外光の照射方向など)を検出し、外光の状態を示す外光情報を取得して、その外光情報を処理選択部41および53に供給する。
選択処理部53は、外光センサ52から供給される外光情報に基づいて、ノイズ除去部25にノイズ除去処理を行わせか否かを選択する。例えば、選択処理部53は、入出力ディスプレイ22に照射されている外光が、画像処理部24において検出される入力部分の点情報にノイズ成分が発生させるようなものである場合、入力部分の点情報をノイズ除去部25に供給し、ノイズ除去処理を行わせる。一方、選択処理部53は、入出力ディスプレイ22に照射されている外光が、画像処理部24において検出される入力部分の点情報にノイズ成分が発生させるようなものでない場合、入力部分の点情報を生成部26に供給する。この場合、ノイズ除去部25によるノイズ除去処理は行われない。
このように選択処理部53がノイズ除去部25にノイズ除去処理を行わせか否かを選択することで、ノイズ成分が発生するような外光条件でないとき、ノイズ除去処理をスキップすることにより、処理速度を向上させることができる。
また、操作入力装置51では、修正部27の処理選択部41に、外光センサ52から外光情報が供給され、修正部27では、その外光情報に基づいたターゲット修正処理が実行される。
例えば、入出力ディスプレイ22に照射されている外光の状態によっては、ターゲットの消失が発生せずに不安定なターゲットが発生するような外光条件や、不安定なターゲットが発生せずにターゲットの消失が発生するような外光条件がある。また、不安定なターゲットが発生するとともに、ターゲットの消失が発生するような外光条件や、不安定なターゲットが発生せず、ターゲットの消失が発生しないような外光条件がある。従って、処理選択部41は、外光センサ52から供給される外光情報に基づき、入出力ディスプレイ22に照射されている外光の状態に応じて、ターゲット修正処理において実行する処理を決定する。
即ち、図15は、図14の操作入力装置51において実行されるターゲット修正処理を説明するフローチャートである。
ステップS101において、外光センサ52は、入出力ディスプレイ22に照射される外光の状態を検出して外光情報を取得し、修正部27の処理選択部41に供給する。
ステップS102において、処理選択部41は、ステップS101で外光センサ52から供給された外光情報に基づいて、不安定なターゲットが発生するような外光条件であるか否かを判定する。
ステップS102において、処理選択部41が、不安定なターゲットが発生するような外光条件であると判定した場合、処理はステップS103に進み、処理選択部41は、ターゲットの消失が発生するような外光条件であるか否かを判定する。
ステップS103において、処理選択部41が、ターゲットの消失が発生するような外光条件であると判定した場合、処理はステップS104に進む。即ち、この場合、不安定なターゲットが発生するともに、ターゲットの消失が発生するような外光条件であるので、不安定データ除去処理および消失データ補完処理のいずれかの処理が選択的に行われる。
ステップS104乃至S108において、図8のステップS51乃至S55と同様に、全てのターゲットに対して、不安定データ除去処理および消失データ補完処理のうちの一方の処理が施され、処理は終了する。
一方、ステップS103において、処理選択部41が、ターゲットの消失が発生するような外光条件でないと判定した場合、処理はステップS109に進む。即ち、この場合、入出力ディスプレイ22に照射されている外光の状態は、ターゲットの消失は発生せずに、不安定なターゲットが発生する外光条件となっている。
ステップS109において、処理選択部41は、全てのターゲット情報を不安定データ除去部43に供給し、不安定データ除去部43が、全てのターゲットに対して不安定データ除去処理を施し、処理は終了する。
一方、ステップS102において、処理選択部41が、不安定なターゲットが発生するような外光条件でないと判定した場合、処理はステップS110に進み、処理選択部41は、ターゲットの消失が発生するような外光条件であるか否かを判定する。
ステップS110において、処理選択部41が、ターゲットの消失が発生するような外光条件であると判定した場合、処理はステップS111に進む。即ち、この場合、入出力ディスプレイ22に照射されている外光の状態は、不安定なターゲットが発生せずに、ターゲットの消失が発生する外光条件となっている。
ステップS111において、処理選択部41は、全てのターゲット情報を消失データ補完部42に供給し、消失データ補完部42が、全てのターゲットに対して消失データ補完処理を施し、処理は終了する。
一方、ステップS110において、処理選択部41が、ターゲットの消失が発生するような外光条件でないと判定した場合、不安定データ除去処理および消失データ補完処理は行われずに、処理は終了する。即ち、この場合、入出力ディスプレイ22に照射されている外光の状態は、不安定なターゲットが発生せずに、ターゲットの消失も発生しない外光条件となっている。
以上のように、外光条件に従って処理を選択するので、操作入力装置51の使用環境の照度などに合わせて最適な処理を行うことができる。例えば、ターゲットの消失が発生するような外光条件や、不安定なターゲットが発生するような外光条件であれば、処理性能が向上するように(例えば、誤作動が発生せずに正確に動作するように)処理が選択される。また、ターゲットの消失の発生も、不安定なターゲットの発生もないよう外光条件であれば、処理速度が向上するように処理が選択される。これにより、より効果的に誤動作を防止する効果を得ることができる。
また、消失データ補完部42または不安定データ除去部43は、外光条件に応じて、それぞれの処理に用いる閾値を最適化することができる。
例えば、ターゲットの消失が発生しやすい外光条件である場合、消失データ補完部42は、補完期間閾値(Hth)を、通常よりも大きな値に設定することで、ターゲットが消失し難くなるようにすることができる。また、不安定なターゲットが発生しやすい外光条件である場合、不安定データ除去部43は、生存期間閾値(Life th)を、通常よりも大きな値に設定することで、不安定なターゲットを除去し易くすることができる。
次に、図16は、本発明を適用した操作入力装置の第3の実施の形態の構成例を示すブロック図である。
図16において、操作入力装置61は、制御パラメータ調整部62、ターゲット修正部63、外光センサ52、選択処理部53、入出力ディスプレイ22、受光信号処理部23、画像処理部24、ノイズ除去部25、生成部26、修正部27、および制御部28を備えて構成される。なお、図16では、図14の操作入力装置51と共通する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
即ち、図16の操作入力装置61は、外光センサ52、選択処理部53、入出力ディスプレイ22、受光信号処理部23、画像処理部24、ノイズ除去部25、生成部26、修正部27、および制御部28を備える点で、図14の操作入力装置51と共通する。但し、図16の操作入力装置61は、制御パラメータ調整部62およびターゲット修正部63を備える点で、図14の操作入力装置51と相違する。
制御パラメータ調整部62には、入出力ディスプレイ22に照射される外光の状態を示す外光情報が外光センサ52から供給される。制御パラメータ調整部62は、外光の照度に基づいて、入出力ディスプレイ22の表示画面における発光素子の発光強度(Power)や、受光信号処理部23における信号レベル下限閾値(Signal Th)を調整する。また、制御パラメータ調整部62は、外光の照度に基づいて、画像処理部24における面積上限閾値(Amax)および面積下限閾値(Amin)を調整する。
ターゲット修正部63には、修正部27の消失データ補完部42または不安定データ除去部43から修正されたターゲット情報が供給されるとともに、外光センサ52から外光情報が供給される。ターゲット修正部63は、ターゲット情報に含まれるターゲットの面積値を、外光センサ52からの外光情報に基づいて求められるゲインで増幅し、その処理が施されたターゲット情報を制御部28に供給する。
例えば、制御パラメータ調整部62およびターゲット修正部63は、図17に示すような、代表照度ごとに予め設定された各パラメータの設定値を登録したテーブル(のうちのそれぞれ必要な部分)を記憶することができる。そして、制御パラメータ調整部62およびターゲット修正部63は、外光センサ52から供給される外光情報の照度に応じて、図17のテーブルを参照し、各パラメータを決定することができる。
図17のテーブルでは、代表照度として、10,100,1000,10000,100000が登録されており、代表照度10に対応付けて、発光強度Power10、信号レベル下限閾値Signal Th10、面積上限閾値Amax10、面積下限閾値Amin10、およびゲインGain10が登録されている。また、同様に、代表照度100〜100000に対応付けて、発光強度Power100〜Power100000、信号レベル下限閾値Signal Th100〜Signal Th100000、面積上限閾値Amax100〜Amax100000、面積下限閾値Amin100〜Amin100000、およびゲインGain100〜Gain 100000がそれぞれ登録されている。
ここで、制御パラメータ調整部62が、外光センサ52からの外光情報の照度値をLとしたときの発光強度PowerLを算出する例について説明する。例えば、代表照度のうちの、照度値L以下で最大のものをLaとし、照度値L以上で最小のものをLbとする。このとき、制御パラメータ調整部62は、図17のテーブルを参照し、代表照度Laに対応付けられている発光強度をPoweraとし、代表照度Lbに対応付けられている発光強度をPowerbとする。
そして、制御パラメータ調整部62は、次の式(2)を演算することにより、発光強度PowerLを求める。
なお、発光強度PowerL以外のパラメータ、即ち、信号レベル下限閾値Signal ThL、面積上限閾値AmaxL、面積下限閾値AminL、およびゲインGainLについても、式(2)に基づいて、発光強度PowerLと同様に算出することができる。
また、テーブルに登録された代表照度の数が十分に多い場合には、上述の式(2)を簡易化した次の式(3)を用いて、各パラメータを算出することができる。
以上のように、図16の操作入力装置61では、外光センサ52の出力に基づいてパラメータを調整するので、例えば、高照度環境下において検出率の低下を防止することができる。
即ち、従来の入出力パネルでは、野外などの高照度環境下では、指などの非完全反射物下の光センサの信号強度は、透過光の影響を受けて、入力として認識される光センサの個数が、屋内などの低照度環境下よりも少なくなる。例えば、指のような断面が楕円形の形状となる非完全反射物の場合、低照度環境下では接触面と非接触面の境界周辺の光センサの信号強度は急峻に変化するが、高照度環境下では接触面と非接触面の境界周辺の光センサの信号強度は透過光の影響によりなだらかに変化する。このため、受信信号処理および画像処理において一定の閾値を用いて入力認識を行うと、照度によって入力光を受光していると認識される光センサの個数が異なり、高照度ほど点情報の面積が小さくなる。
さらに、ノイズ除去のために一定の面積値以下の点情報を除去する処理が行われると、点情報が除去される可能性がある。その結果、野外などの高照度環境下での指などの非完全反射物による入力操作は、低照度での操作と比較し、入力対象として認識される光センサの個数が減少し、面積値を用いたノイズ除去処理によって検出率が低下し、操作性が低下することがある。
これに対し、操作入力装置61では、たとえば、ターゲット出力時の面積値を、外光条件に応じたゲインで増幅することで、周囲の環境光によらず同一の入力対象であれば、同一の面積値のターゲットを生成することができる。従って、高照度環境下と低照度環境下とで、ターゲットの面積を一定にすることができるので、上述したような検出率が低下することが回避され、その結果、操作性を維持することができる。即ち、外光条件による検出率の低下を防止する効果を得ることができる。
さらに、操作入力装置61では、上位アプリケーションでターゲットの面積を利用した処理、例えば、ユーザが指を強く押し当てることによる接触面積の増加を利用した処理などにおいて、上述したような外光条件によって挙動が変化することが回避されるので、そのような処理を正確に行うことができる。
なお、図14の操作入力装置51において、外光センサ52として、外光の状態を検出するための専用のセンサを設ける他、例えば、入出力ディスプレイ22に配置されている複数の光センサ22Aの一部を利用することができる。このように、光センサ22Aの一部を外光の状態を検出するセンサとして利用する場合、操作入力装置51を構成するシステムとして新たなデバイスを追加することなく外光の状態を用いた制御を行うことができる。また、図16の操作入力装置61においても同様である。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図18は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。