以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
本実施の形態における情報処理装置は、表示部に表示された複数の目印画像を有する複数のパターン画像を、撮影部により撮影し、この撮影した撮影画像内における目印画像が配置されている位置における目印画像の色の出現パターンを取得することで、撮影画像内の目印画像が表示されている位置と、パターン画像内の目印画像の位置との対応を求めるものである。
図1は、本実施の形態における情報処理装置のブロック図である。情報処理装置1は、画像格納部10、表示部11、撮影部12、撮影画像格納部13、目印画像検出部14、対応管理情報格納部15、対応情報取得部16、出力部17、色情報取得部18、色補正情報取得部19、色補正情報出力部20、位置補正情報取得部21、位置補正情報出力部22を具備する。
画像格納部10には、一以上、好ましくは複数の目印画像が異なる位置に配置された画像であるパターン画像を示す情報である画像情報が、複数格納されている。なお、本実施の形態においては、画像情報も、説明の便宜上、適宜、画像と称す。また、複数のパターン画像間においては、複数の目印画像の配置されている位置が同じとなっている。さらに、複数のパターン画像においては、異なる位置に配置された目印画像の色の出現パターンが互いに異なるものとしている。
目印画像とは、目印となる画像である。ここで述べる目印とは、画像内の位置を識別するための目印である。目印画像は後述するパターン画像の一部を構成する画像である。目印画像は、具体的には、後述する表示部11が表示する画像内の位置と、撮影部12が撮影した画像内において表示部11が表示している画像内の位置との対応を求める際に用いられる画像のことである。目印画像は、背景等から分離して検出可能な、色や形状を有する画像である。目印画像の形状は、目印画像が表示される位置を、目印画像の中心の位置とする場合、目印画像が変形しても、その中心位置が変わりにくいことから、円形が好ましい。ただし、多角形等の他の形状でも良い。目印画像の大きさは問わない。
各目印画像は、複数の色のうちのいずれか一つの色を有する。目印画像の色は、撮影部12が撮影した画像内において、目印画像の背景となる画像である背景画像に対して、識別可能な色とする。各目印画像は、均一な色であることが好ましいが、識別が可能な範囲であれば、多少のばらつきを有していても良い。目印画像およびパターン画像は、ベクトル画像でも、ラスタ画像であっても良い。パターン画像の目印画像が配置されていない領域は、通常、背景画像となっている。パターン画像は、例えば、表示部11が通常表示する画像の画素数に相当する画素数を有する背景画像の所定の位置に、複数の目印画像を配置して構成した画像である。パターン画像における目印画像間の配置間隔や位置関係等は問わない。各パターン画像において、各目印画像の配置される位置は、通常、予め指定されている。目印画像の配置されている位置は、表示部11が通常表示する画像内の位置を示す情報、例えば座標等で指定される。目印画像の配置されている位置は、表示部11の表示領域内の位置を示す情報、例えば座標等で指定されてもよい。目印画像は、表示される位置、あるいは配置される位置を指定する情報と対応付けられて、画像格納部10内に格納されていても良い。
なお、パターン画像は、表示部11により表示される画像における、表示位置を示す情報等と対応付けられた複数の目印画像と考えても良い。この場合、表示部11が表示を行う際に、これらの複数の目印画像を、それぞれの表示位置に配置した表示用のパターン画像を構成して、パターン画像を表示するようにしても良い。なお、ここでは、上述したように、各パターン画像間においては、複数の目印画像が配置される位置が一致しているとともに、同じ位置に表示される目印画像の色が出現するパターン、すなわち、出現パターンが、位置毎に全て異なるように、各パターン画像内に目印画像を配置している。色の出現パターンとは、言い換えれば目印画像の色の変化のパターンである。具体的には、出現パターンは、複数のパターン画像の、各目印画像が配置される位置における複数の目印画像の色の順列または組み合わせである。例えば、出現パターンは、複数のパターン画像を予め設定されている所定の順番で並べた場合における、各目印画像の配置位置における目印画像の色の出現する順列である。また、例えば、出現パターンは、パターン画像の各目印画像の配置されている位置において、複数のパターン画像から複数の目印画像を取り出した場合における、取り出された目印画像の色の組み合わせであってもよい。例えば、本実施の形態においては、複数のパターン画像を、予め設定された順番に表示させる場合に、異なる位置に表示される目印画像の色の出現パターンが互いに異なるような複数の目印画像を、各パターン画像が有しているようにする。このようにすることにより、詳細については後述するが、撮影部12が撮影した画像内における目印画像が配置されている位置毎の目印画像の色の出現パターンを用いて、目印画像が配置されている位置を識別することができる。
なお、色の情報を数値で置き換えるようにし、その数値の出現パターンを取得することも、ここでは、色の出現パターンを取得することと考える。また、ここでは例として、各パターン画像における各目印画像の色は、それぞれ2色のうちのいずれか一方であるとする。また、各パターン画像間における各目印画像の2色の組み合わせは、全て同じとしても良いが、異なるようにしてもよい。特に、全て異なるようにすることで、その色の組み合わせを判断することにより、どのパターン画像であるか、もしくはどのパターン画像を撮影した画像であるかを判断することができる。なお、後述するが、各パターン画像内の目印画像が、2色の色のうちのいずれか一方の色を有する場合において、各目印画像が配置された位置を識別できるようにするためには、各パターン画像内に配置される目印画像数をA(Aは2以上の整数)、パターン画像数をB(Bは2以上の整数)とした場合に、2B≧Aの関係を満たすような複数のパターン画像が、画像格納部10に格納されているようにする。画像格納部10は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
表示部11は、画像格納部10に格納されている複数のパターン画像を、切り替えて表示する。複数のパターン画像は、予め定められた順番で表示することが好ましいが、表示部11に表示したパターン画像、もしくは撮影部12が撮影した画像から、各パターン画像を識別可能な場合には、表示部11が、各パターン画像を表示する順番は問わない。表示部11は、表示デバイスを含むと考えても、含まないと考えても良い。表示部11は、表示デバイスのドライバーソフト、または表示デバイスのドライバーソフトと表示デバイス等で構成される。表示デバイスは、例えば、液晶や、CRT等のディスプレイで実現され得る。
撮影部12は、表示部11がディスプレイ等に表示しているパターン画像を含む画像を撮影する。撮影部12は、表示部11が画像を表示する領域とともに、それ以外の領域を含む領域の画像を撮影しても良い。また、表示部11が、複数のパターン画像を切り替えて表示する場合、切り替えて表示部11に表示される複数のパターン画像を含む各画像を、それぞれ撮影する。また、撮影部12は、表示部11が表示しているパターン画像のうちの、複数の目印画像を含む一部の領域のみを撮影しても良い。撮影部12は、複数のフレーム画像を備えた動画像を撮影してもよいし、静止画像を撮影しても良い。上述したように複数のパターン画像が切り替えられて表示される場合、撮影部12は、パターン画像が切り替える毎に静止画像を撮影しても良いし、切り替えられた全てのパターン画像を含む動画像を撮影しても良い。例えば、撮影部12は、表示部11から、表示しているパターン画像を切り替えを行うことを示す情報を受け付けるようにし、切り替えを行う情報を受け付けた場合に、静止画像を撮影しても良い。また、撮影部12は、切り替えが行われたことを示す情報を、撮影している動画像のフレームやヘッダ等に付与しても良い。この情報を参照することで、パターン画像の切り替えが行われたタイミングを判断することができる。撮影部12が撮影した画像は、撮影画像格納部13に蓄積される。撮影部12は、撮影したパターン画像の表示順番を示す情報を構成して、撮影した画像である撮影画像に対応付けて、撮影画像格納部13等に蓄積しても良い。撮影部12は、例えばCCDやCMOS等を備えたカメラやイメージセンサ等により構成される。通常、撮影部12は、撮影時には固定して利用される。撮影画像格納部13には、撮影部12が撮影した画像が格納され得る。撮影画像格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
目印画像検出部14は、撮影部12が撮影した画像内における目印画像を検出する。撮影部12が、表示部11に切り替えて表示されたパターン画像を撮影した場合、目印画像検出部14は、撮影部12が撮影した、表示部11が表示した各パターン画像を含む静止画像毎に、画像内における各目印画像を検出する。あるいは、目印画像検出部14は、表示部11が表示した各パターン画像を撮影部12が撮影した動画像のうちの、各パターン画像が撮影されている部分から、それぞれ1フレームを取り出して、それぞれ、画像内における各目印画像を検出する。1フレームを取り出す代わりに複数フレームを取り出して、複数フレームを平均した1フレーム分の合成画像を予め構成しても良い。
なお、目印画像検出部14は、結果的に、全てのパターン画像から目印画像を検出できれば良く、例えば、全てのパターン画像について目印画像を検出する代わりに、一つのパターン画像について目印画像を検出し、他のパターン画像については、その検出した位置と同じ位置に、目印画像が検出されたものとしてもよく、このような場合においても、各パターン画像について目印画像を検出したことと考える。目印画像検出部14は、例えば、予めメモリ等に蓄積しておいた目印画像に用いられる複数の色の情報を読み出し、各パターン画像を含む静止画像、もしくは1フレームの画像内において、画素毎に、目印画像に用いられているいずれかの色と同じか、もしくは目印画像の色に近いか否かを判断し、目印画像の色と同じ画素、もしくは近い画素が連続して隣接している領域が検出された場合に、この領域内の画像を、撮影部12が撮影した画像内における目印画像として検出する。
目印画像検出部14は、検出した目印画像を指定する情報を、例えば、図示しないメモリ等の記憶媒体等に蓄積する。検出した目印画像を指定する情報は、目印画像が指定できる情報であれば良く、例えば、目印画像を構成する各画素の座標情報、目印画像を代表する画素、例えば中心の画素等の座標情報や、目印画像の輪郭を指定する座標情報等である。目印画像検出部14は、各目印画像に対して、管理のための識別情報等を対応付けてメモリ等に蓄積しても良い。なお、複数のパターン画像の目印画像として利用される2色の組み合わせが、前記パターン画像毎に互いに異なっている場合、目印画像検出部14は、各パターン画像から検出した目印画像に用いられている色の組み合わせを取得し、当該色の組み合わせを用いて撮影画像内のパターン画像を識別したり、撮影画像内のパターン画像が配列される順番を取得するようにしても良い。例えば、予め各パターン画像と、各パターン画像に用いられる2色の色の組み合わせを示す情報とを対応付けた判断用の情報を用意しておき、この情報の色の組み合わせの中から、撮影画像内の目印画像に用いられている色の組み合わせと一致する色の組み合わせを検索し、一致する組み合わせに対応づけられたパターン画像が、撮影画像内のパターン画像であると判断する、または識別するようにすればよい。目印画像検出部14は、通常、MPUやメモリ等から実現され得る。目印画像検出部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
対応管理情報格納部15は、画像格納部10に格納されている複数のパターン画像における複数の目印画像の配置されている位置と、当該配置されている位置における色の出現パターンとの対応を示す情報である対応管理情報が格納され得る。目印画像の配置された位置は、例えば、各パターン画像内における目印画像が配置されている位置の座標で表すようにしても良い。また、表示部11の表示領域内における、目印画像が表示される座標で表すようにしてもよい。目印画像の配置された位置を示す情報は、目印画像の位置を特定できる情報であればよく、例えば、目印画像の中心の座標情報等である。また、目印画像の輪郭等を指定する情報等であっても良い。目印画像の配置されている位置における色の出現パターンとは、目印画像の色の出現するパターン、言い換えれば変化のパターンである。例えば、出現パターンは、各目印画像が配置されている位置における色の順列または組み合わせである。例えば、出現パターンは、複数のパターン画像を予め設定されている所定の順番で並べた場合における、各目印画像の表示位置において表示される目印画像の色の出現する順列である。また、例えば、出現パターンは、複数のパターン画像の、各目印画像の配置されている位置から、目印画像を取得した場合の、当該取得した目印画像の色の組み合わせであってもよい。なお、色の出現パターンは、色の値や名称等の変化する順番や組み合わせを並べて表した情報であっても良い。例えば、出現パターンは、赤、黄、緑、赤、青等で表される。また、色の情報等を数値に置き換えたりした値の変化する順番を表した情報であっても良いし、1つのパターン内において目印画像として利用される2色の色を、2値の値で表した場合の2値の出現するパターンであっても良い。例えば、第一のパターン画像においては、赤色の目印情報を「0」、青色の目印情報を「1」とし、第二のパターン画像においては、緑色の目印情報を「0」、青色の目印情報を「1」とし、第三のパターン画像においては、黄色の目印情報を「0」、青色の目印情報を「1」とした場合においては、出現パターンは、「011」、「101」や、「0」が3つと「1」が5つの組み合わせ、等で表される。対応する表示位置と出現パターンとは、例えばデータベースの一つのレコードの、二つの属性値として管理される。対応管理情報格納部15は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
対応情報取得部16は、撮影部12が撮影した画像内における目印画像の位置と、目印画像の予め指定されている表示位置との対応を示す情報である対応情報を取得する。例えば、対応情報取得部16は、目印画像検出部14が検出した各目印画像から、同じ位置において検出された目印画像についての色の出現パターンを取得し、当該色の出現パターンが取得された、撮影部12が撮影した画像内の位置と、当該色の出現パターンと一致する色の出現パターンを有する複数のパターン画像における目印画像の表示位置との対応を示す対応情報を取得する。ここでの一致は、完全一致であっても部分一致であっても良い。
対応情報取得部16は、例えば、目印画像検出部14が各パターン画像について撮影した画像において検出した各目印画像の色情報を取得する。そして、表示部11に表示された各パターン画像を撮影した画像を、予め指定された所定の順番に並べた場合における、目印画像検出部14が検出した目印画像のうちの、ほぼ同じ位置に検出された目印画像についての色の出現パターンを取得する。色の出現パターンは、上述したように、色の出現パターンは、色の値や名称等の変化する順番を並べて表した情報であっても良いし、色の情報等を数値に置き換えたりした値の変化する順番を表した情報であっても良いし、1つの画像において目印画像として利用される2色の色を、2値の値で表した場合の2値の出現するパターンであっても良い。そして、対応情報取得部16は、この色の出現パターンと一致する色の出現パターンを有する一以上のパターン画像における目印画像が表示される位置の情報を取得する。具体的には、対応管理情報格納部15に格納されている対応管理情報から、対応情報取得部16が取得した撮影部12が撮影した画像における目印画像の色の出現パターンと一致する、パターン画像内の目印画像の色の出現パターンに対応付けられた目印画像の位置情報を取得する。そしてこの取得した目印画像が表示される位置情報と、色の出現パターンが同じである目印画像検出部14が検出した目印画像の位置情報との対応を示す対応情報を取得する。対応情報は、具体的には、対応する目印画像が表示される位置情報と、目印画像検出部14が検出した撮影された画像における目印画像の位置情報とを対に持つ情報である。ここでの位置情報は、例えば座標情報である。なお、必ずしも、目印画像検出部14が検出した全ての目印画像の位置について、対応情報を取得する必要はない。また、対応情報取得部16は、通常、MPUやメモリ等から実現され得る。対応情報取得部16の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部17は、対応情報取得部16が取得した対応情報を出力する。ここで述べる出力とは、メモリやハードディスク等の記憶媒体への蓄積や、外部の装置への送信等を含む概念である。出力部17は、通信インターフェース等の出力デバイスを含むと考えても含まないと考えても良い。出力部17は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
色情報取得部18は、撮影部12が撮影した画像内の複数の目印画像の色に関する情報である色情報と、出力部17により出力された対応情報が示す撮影部12が撮影した画像内の複数の目印画像に対応したパターン画像内の目印画像の色情報とを取得する。色情報取得部18は一つの目印画像が表示される位置についての色情報を取得しても良いし、複数の目印画像が表示される位置についての色情報を取得しても良い。ただし、色情報取得部18は、一のパターン画像と、当該パターン画像を表示部11が表示したものを撮影部12が撮影した画像とから、それぞれ色情報を取得する。また、色情報は、各目印画像内の一部、例えば一画素等の色情報であっても良いし、目印画像内の画素全体の色情報から最小二乗法等を用いて算出した色情報であっても良い。色情報取得部18は、通常、MPUやメモリ等から実現され得る。色情報取得部18の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
色補正情報取得部19は、色情報取得部18が取得した色情報を用いて、撮影部12が撮影した画像の色の補正に用いられる色補正情報を取得する。色補正情報とは、具体的には、色の補正に用いられる関数の係数等の値である。例えば、色情報取得部18が取得した色情報の値を、色を変換する関数に代入することで、色補正情報を算出することができる。これらの関数は問わない。関数の具体例については後述する。通常、ここで述べる色の補正とは、撮影部12が撮影した画像の色を、撮影部12が撮影したパターン画像のオリジナルに対して色をあわせるための補正である。ただし、この場合の色の補正は、撮影画像とオリジナルのパターン画像との相対的な色の補正であればよく、撮影画像を、オリジナルのパターン画像に色あわせする補正であっても、オリジナルのパターン画像を、撮影画像に色あわせする補正であっても良い。色補正情報取得部19は、通常、MPUやメモリ等から実現され得る。色補正情報取得部19の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア (専用回路)で実現しても良い。
色補正情報出力部20は、色補正情報取得部19が取得した色補正情報を出力する。ここで述べる出力とは、メモリやハードディスク等の記憶媒体への蓄積や、外部の装置への送信等を含む概念である。色補正情報出力部20は、通信インターフェース等の出力デバイスを含むと考えても含まないと考えても良い。色補正情報出力部20は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
位置補正情報取得部21は、対応情報取得部16が取得した位置情報を用いて、撮影部12が撮影した画像の位置の補正に用いられる位置補正情報を取得する。ここで述べる位置の補正とは、撮影部12が撮影した画像を、撮影部12が撮影したパターン画像のオリジナルにあわせるための補正である。ただし、この場合の補正は、撮影画像とオリジナルのパターン画像との相対的な補正であればよく、撮影画像を、オリジナルのパターン画像にあわせる補正であっても、オリジナルのパターン画像を、撮影画像にあわせる補正であっても良い。この位置の補正は、通常は、撮影画像の座標と、オリジナルのパターン画像の座標との間の座標変換である。位置補正情報とは、具体的には、表示部11が表示する画像を構成する各画素を、撮影部12が撮影した画像内の、表示部11が表示している画像内の位置に座標変換するための関数の係数等の値である。例えば、対応情報が示すパターン画像内の目印画像の位置の座標情報と、対応する撮影された画像内の目印画像の位置の座標情報とを、画像を座標変換する関数に代入することで、位置補正情報を算出することができる。座標変換する関数としては、例えば、アフィン変換の関数等がある。この場合、位置補正情報は、アフィン係数である。なお関数は問わない。また、このような座標変換等を行う関数は、いわゆるモーフィング等の技術として公知である。位置補正情報取得部21は、通常、MPUやメモリ等から実現され得る。位置補正情報取得部21の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
位置補正情報出力部22は、位置補正情報取得部21が取得した位置補正情報を出力する。ここで述べる出力とは、メモリやハードディスク等の記憶媒体への蓄積や、外部の装置への送信等を含む概念である。位置補正情報出力部22は、通信インターフェース等の出力デバイスを含むと考えても含まないと考えても良い。位置補正情報出力部22は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置の動作について図2のフローチャートを用いて説明する。なお、ここでは、2色のいずれかの色を有する目印画像を異なる位置に複数有するパターン画像を、p(p≧2、pは整数)枚用意しており、各パターン画像間においては、各目印画像は同じ位置に表示されるとともに、各パターン画像を予め指定された順番で切り替えて配列、あるいは表示した場合に、同じ表示位置に表示される各目印画像の色の出現パターンは、位置毎に互いに異なるよう設定されているものとする。また、各パターン画像において、目印画像が表示される位置、および、目印画像として利用される色、および背景の色は予め指定されているものとする。背景の色としては通常は黒等が用いられる。
(ステップS201)表示部11は、カウンターmに1を代入する。
(ステップS202)表示部11は、m番目のパターン画像を画像格納部10から読み出し、ディスプレイ等に表示する。
(ステップS203)撮影部12は、表示部11が表示するm番目のパターン画像を撮影する。撮影部12は、パターン画像を静止画として撮影しても動画として撮影しても良い。撮影部12が撮影した画像は、撮影画像格納部13に格納される。なお、撮影部12は、撮影した順番を示す情報、あるいは撮影したパターン画像を識別する情報を、撮影した画像に対応付けて、蓄積しても良い。
(ステップS204)表示部11は、カウンターmを1インクリメントする。
(ステップS205)表示部11は、mがpより大きいか否かを判断する。mがpより大きい場合、ステップS206に進み、大きくない場合、ステップS202に戻る。
(ステップS206)情報処理装置1は、撮影部12が撮影した画像から、目印画像を検出する。なお、目印画像を検出する処理の詳細については後述する。
(ステップS207)情報処理装置1は、対応情報、色補正情報、および位置補正情報を取得する。なお、対応情報、色補正情報、および位置補正情報を取得する処理については後述する。そして、処理を終了する。
なお、図2のフローチャートにおいて、情報処理装置1が、上記の処理を開始するトリガーやタイミング等は問わない。例えば、撮影部12により、所望の撮影が行われる直前や、表示部11のディスプレイ等や、撮影部12等が設置された時点で行われるようにしてもよい。なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図3のフローチャートを用いて、ステップS206に示した目印画像を検出する処理の詳細について説明する。
(ステップS301)目印画像検出部14は、カウンターnに1を代入する。
(ステップS302)目印画像検出部14は、n番目の撮影画像を、撮影画像格納部13から読み出して取得する。
(ステップS303)目印画像検出部14は、n番目の撮影画像から複数の目印画像の位置の検出処理を行う。例えば、目印画像の各画素の色を、順次、予め目印画像として指定されている複数の色と比較していき、比較の結果、目印画像のいずれかの色である、と判断された場合、その画素、およびその画素と同様の色と判断される色が隣接している画素の領域を、一つの目印画像の領域であると判断する。隣接していない領域は、異なる目印画像の領域であると判断する。目印画像を検出するための、画素の色の判断等は、例えば、RGB値等の色の成分の情報等に閾値を設けて、画素の色成分がこれらの閾値を超えるか否か等で判断することが好ましい。パターン画像を、ディスプレイ等に表示したものを撮影した撮影画像内の目印画像を構成する画素の色と、オリジナルのパターン画像内の目印画像を構成する画素の色とは、色成分自体が欠落したり、反転したりしてしまうことがないまでも、色成分の値が、大きく変化することが考えられるため、このように閾値等を用いて色の範囲を設定することで、撮影画像内の画素が、目印画像のオリジナルの色と同じ色とみなすか否かを判断することが好適である。また、このような処理において、閾値により、画素の色成分を「0」、「1」等に2値化して、2値化した情報から、目印画像内の画素であるか否かを判断しても良い。なお、目印画像を検出する処理は、上記のような処理に限るものではない。例えば、特定の色域や類似する形状等を有する画像を検出するための、パターンマッチング等の技術を利用して、上記のような目印画像と同じであると考えられる位置を検出するようにしても良い。なお、このような技術は公知技術であるので、説明は省略する。
(ステップS304)目印画像検出部14は、ステップS303で検出した各目印画像の位置の情報と、当該目印画像の色の情報とを取得し、これらを対応付けて出力、例えば、図示しないメモリ等の記憶媒体に蓄積する。また、このとき、各目印画像を識別する識別情報を対応付けて出力することが好ましい。目印画像の位置の情報は、撮影画像内における、目印画像の領域内の中心座標等が用いられる。ただし目印画像の位置の情報は、目印画像の位置を指定可能な情報であれば、目印画像の輪郭を定義する情報や、目印画像の全てや一部の画素の座標等であっても良い。また、目印画像の色の情報は、目印画像内の特定の画素、例えば、目印画像の領域内の中心の画素の色の情報であっても良いし、目印画像内の全てや一部の画素の色の代表値、例えば平均値や中央値等の情報であっても良い。ここでの色の情報は、色のRGB成分の値等である。
(ステップS305)目印画像検出部14は、ステップS304において出力したn番目の撮影画像内の目印画像の色の組み合わせを示す情報、すなわち目印画像として用いられている2つの色の情報を取得する。ここで述べる色の情報は、RGB値等の色の成分の値であっても良いし、上述した2値化した色の成分で表された情報であっても良い。なお、目印画像の色が一つだけであった場合、この色の組み合わせの情報は、ある一つの色のみで、他の色がない、ということを示す情報であっても良い。
(ステップS306)目印画像検出部14は、ステップS305で取得した色の組み合わせを示す情報と、予め用意された、画像格納部10に格納されているパターン画像の配列順番と当該パターン画像内の目印画像に用いられる2つの色との組み合わせを示す情報とを比較して、撮影画像内のパターン画像の配列される順番を示す情報を取得する。なお、目印画像の色が一色のみしかない組み合わせについても、予め配列される順番を設定しておくようにして、目印画像が一色の場合でも配列される順番を示す情報を取得できるようにしても良い。
(ステップS307)目印画像検出部14は、n番目の撮影画像内の各目印画像の色情報を、2値化する。目印画像検出部14は、例えば、予め用意された、目印画像の2つの色の組み合わせと、これらの色を2値化する際にいずれの値を、「1」、「0」等に変換するかを指定する情報とを用いて、各目印画像の色の情報を、「1」、「0」の2値のいずれかに変換する。また、撮影画像内のパターン画像の配列される順番を示す情報と、この配列される順番が示すパターン画像に含まれる2つの色を、それぞれ「1」、「0」等に変換するかを指定する情報とを用いて、各目印画像の色の情報を、「1」、「0」の2値のいずれかに変換してもよい。目印画像検出部14は、2値化した色の情報を、目印画像の位置情報と対応付けてメモリ等の記憶媒体に蓄積する。
(ステップS308)目印画像検出部14は、カウンターnがp以上であるか否かを判断する。p以上であれば、上位関数にリターンする。また、p以上でなければ、ステップS309に進む。
(ステップS309)目印画像検出部14は、カウンターnを1インクリメントする。
(ステップS310)目印画像検出部14は、n番目の撮影画像を、撮影画像格納部13から読み出して取得する。
(ステップS311)目印画像検出部14は、ステップS303においてn=1番目の撮影画像から検出した複数の目印画像の位置を示す情報を、n番目の撮影画像内の複数の目印画像の位置を示す情報として用いて、ステップS304と同様に、n番目の撮影画像内の各目印画像の色の情報を取得して、目印画像の位置の情報と対応付けて、出力、例えば、図示しないメモリ等の記憶媒体に蓄積する。そして、ステップS305に戻る。
なお、図3のフローチャートにおいては、n=1の撮影画像から取得した目印画像の位置の情報を、n=1以外の撮影画像の目印画像の位置の情報として利用しているが、これは、撮影部12と表示部11のディスプレイの位置等が固定されている場合に、限られる。なお、このようにn=1の撮影画像から取得した目印画像の位置の情報を、n=1以外の撮影画像の目印画像の位置の情報として利用する代わりに、各撮影画像毎に、ステップS303と同様の目印画像の検出処理を行うようにし、最終的に、各撮影画像の一致する目印画像同士をパターンマッチング等の技術を用いて検出して、対応付けるようにしても良い。
なお、目印画像を検出しやすくするために、予め他のパターン画像と目印画像の位置が同じであると共に、検出しやすい色の目印画像を有する位置検出用のパターン画像を用意し、この位置検出用のパターン画像を撮影した撮影画像をn=1番目の撮影画像として用いて、目印画像の位置検出だけを、最初に検出するようにしても良い。検出しやすい色の目印画像を有する位置検出用のパターン画像とは、目印画像の位置を検出するためのみに用いられる画像であり、例えば、黒の背景に白色の目印画像を有する画像のように、背景とのコントラストが強い画像等である。なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図4のフローチャートを用いて、ステップS207に示した目印画像を検出する処理の詳細について説明する。
(ステップS401)対応情報取得部16は、カウンターiに1を代入する。
(ステップS402)対応情報取得部16は、撮影画像内のi番目の目印画像が表示された位置について、目印画像の色の出現パターンを取得する。具体的には、図3のステップS306において取得した撮影画像内のパターン画像の配列される順番を示す情報にそって、複数の撮影画像を配列した場合における、撮影画像内のi番目の目印画像が表示された位置について、目印画像の色の出現パターン、ここでは例として、各目印画像の色を2値化した値の現れる順列を取得する。例えば、仮に、1番目のパターン画像を撮影した撮影画像内の、i番目の目印画像が表示された位置の色が「0」、2番目のパターン画像を撮影した撮影画像内の、i番目の目印画像が表示された位置の色が「1」、3番目のパターン画像を撮影した撮影画像内の、i番目の目印画像が表示された位置の色が「0」であったとすると、1番目から3番目までのパターン画像を撮影した撮影画像について、対応情報取得部16が取得するi番目の目印画像が表示された位置における色の出現パターンは、「010」となる。
(ステップS403)対応情報取得部16は、対応管理情報格納部15に格納されているオリジナルの複数のパターン画像における目印画像の位置と、目印画像の色の出現パターンとの対応関係を示す対応管理情報を用いて、撮影画像内のi番目の目印画像が表示された位置における目印画像の色の出現パターンに対応するパターン画像内の目印画像の位置を取得する。具体的には、対応情報取得部16は、撮影画像内のi番目の目印画像が表示された位置における目印画像の色の出現パターンと一致する出現パターンを、対応管理情報内で検索し、この一致する出現パターンに対応するパターン画像における目印画像の位置の情報を、取得する。
(ステップS404)対応情報取得部16は、撮影画像内のi番目の目印画像が表示された位置、具体的には座標情報等の位置の情報と、ステップS403において取得した、画像格納部10内に格納されているパターン画像内の目印画像が表示される位置、具体的には座標情報等の位置の情報とを、対応付けた対応情報を取得する。
(ステップS405)出力部17は、対応情報取得部16がステップS404において取得した対応情報を出力、例えば、メモリ等の記憶媒体に蓄積、する。
(ステップS406)対応情報取得部16は、カウンターiを1インクリメントする。
(ステップS407)対応情報取得部16は、撮影画像に対してi番目の位置情報があるか否かを判断する。ある場合、ステップS402に戻り、ない場合、ステップS408に戻る。
(ステップS408)色情報取得部18は、画像格納部10に格納されているパターン情報の目印情報の色の情報と、当該パターン情報を撮影した撮影情報内の、パターン情報の目印情報に対して対応情報で対応付けられた目印情報の色の情報とをそれぞれ取得する。すなわち配列順番が同じパターン画像と撮影画像から、それぞれ対応する目印画像の色の情報を取得する。ここで取得する色の情報は例えば色の成分の値である。ここでは、一対の目印情報の色の情報のみを取得しても良いし、パターン画像内の複数の目印情報の色の情報と、この複数の目印情報に対応する撮影情報内の複数の目印情報の色の情報とを、それぞれ取得しても良い。
(ステップS409)色補正情報取得部19は、ステップS408において取得した色情報を用いて、撮影画像内のパターン画像の色の情報を、パターン画像のオリジナルの色の情報に補正するための関数である色補正関数の係数等の情報である色補正情報を算出する。なお、ステップS408において、複数の位置の色の情報を取得した場合、最小二乗法等を用いて色補正情報を算出しても良い。
(ステップS410)色補正情報出力部20は、ステップS409において算出した色補正情報を出力、例えばメモリ等の記憶媒体等に蓄積、する。
(ステップS411)位置補正情報取得部21は、ステップS404において取得された対応情報を用いて、撮影画像内のパターン画像の位置の情報と、パターン画像のオリジナルの位置の情報との関係を示す関数である位置補正関数の係数等の情報である位置補正情報を算出する。なお、位置補正関数およびその係数等を算出する方法については、公知であるのでここでは説明を省略する。
(ステップS412)位置補正情報出力部22は、ステップS411において算出した位置補正情報を出力、例えばメモリ等の記憶媒体等に蓄積、する。そして、処理を終了する。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。情報処理装置の概念図は図5である。ここでは、例として、情報処理装置1の表示部11と撮影部12以外は、コンピュータ1aにより実現されている場合について説明する。ただし、表示部11と撮影部12以外の構成が、ハードウェア等で実現されていても良い。ここでは、表示部11はディスプレイ11aを備えているものとする。
ここでは、各パターン画像内の目印画像が、それぞれ2色のいずれか一方の色を有するものとする。目印画像の形状は円形であるとする。また、ここでは例として、パターン画像のサイズは、表示部11に通常表示される他の画像のサイズ、例えばテレビ会議等の画像のサイズと同じサイズであるとする。図6は、パターン画像別の目印画像の色の組み合わせを管理するパターン画像色管理表である。パターン画像色管理表は、「パターンID」、「0:カラー」、「1:カラー」という属性を有している。「パターンID」は、対応するパターン画像の識別情報である。このパターンIDはパターン画像の配列順も示しているものとする。「0:カラー」は、2値化の際に「0」と判断される色を示す。「1:カラー」は2値化の際に「1」と判断される色を示す。「0:カラー」、「1:カラー」がパターン画像の目印画像の2つの色を示す。具体的には、ここでは、例として、目印画像の色はRGB成分の組み合わせにより表されているとともに、RGB成分をそれぞれ2値化した値「0」、または「1」で示している。例えば、目印画像のR,G,Bの色成分が、それぞれ実際には8ビットで表されていたとすると、R,G,Bの色成分の値が256である場合に、それぞれの成分を「1」で表し、256未満である場合、それぞれの成分を「0」で表している。すなわち、「0:カラー」および「1:カラー」は、それぞれ、R成分とG成分とB成分と2値の値の配列で表される。例えば、赤色は、(100)、青色は、(010)、緑色は、(001)で表される。なお、ここでは、各色成分を、「256」を閾値として2値化したが、閾値は、「256」でなくても良い。
図6においては、例えば、「パターンID」が「1」であるパターン画像には、(001)と(010)の2つの色が目印画像として用いられていることを示している。なお、ここでは、パターン画像の目印画像以外の領域、すなわち背景画像の色は、黒色、(000)であるとする。
また、各パターン画像内においては、A(Aは2以上の整数)個の目印画像が互いに重ならないように配置されており、各パターン画像間においては、A個の目印画像が同じ位置に配置されているものとする。また、パターン画像を予め設定された順番に配列した場合に、パターン画像内の目印画像が配置されている各位置に出現する目印画像の色の出現パターンは、位置毎に互いに異なるものであるとする。
すなわち、このような条件を満たすためには、パターン画像数をB(Bは2以上の整数)とした場合、2B≧Aの関係を満たしているようにする。
この具体例においては、A=64個の目印画像が配置されたパターン画像がB=6枚用意されている場合について説明する。また、ここでは、各目印画像が例えば100ピクセル間隔で配置されているものとする。また、各目印画像の直径は例えば10ピクセルであるとする。
ここで利用される6枚のパターン画像を、図7に複式的に示す。ここでは、各パターン画像の目印画像の色をそれぞれ、図6に示したパターン画像色管理表を用いて2値化した色で表している。すなわち、例えば、図7においては、「パターンID」が「2」のパターン画像については、(001)の色を「0」、(010)の色を「1」に置き換えて示している。図7に示したパターン画像においては、パターン画像を「パターンID」の値の昇順に配列した場合、例えば、右上隅の目印画像の配置された位置における色の出現パターンは、「000111」となる。
各パターン画像の各目印画像が配置される位置は、パターン画像内の座標情報で表される。ここで、図7に示したようパターン画像を、「パターンID」の値の昇順に配列した場合における、目印画像の配置される位置の情報と、目印画像の色の出現パターンとの関係を示す情報である対応管理情報を、図8に示す。対応管理情報は、「座標」と「出現パターン」という属性を有している。「座標」は、各パターン画像内の目印画像の表示される位置であり、ここでは、目印画像の中心の座標情報を示す。また、「出現パターン」は、パターン画像毎に2値化した色の出現パターンを示す。
まず、情報処理装置1に電源を投入すると、表示部11は、パターン画像のうちの1番目に表示するパターン画像を、画像格納部10から読み出し、ディスプレイ11aに表示する。
図9は、ディスプレイ11aに表示した1番目のパターン画像の表示例を示す図である。ここでは、1番目のパターン画像として、「パターンID」が「3」であるパターン画像を表示しているものとする。目印画像91は、色が、「0:カラー」属性に相当する色(001)である目印画像とし、目印画像92は、色が、「1:カラー」属性に相当する色(100)である目印画像であるとする。
撮影部12は、表示部11がディスプレイ11aに表示したパターン画像を撮影し、撮影した画像を、撮影画像格納部13に蓄積する。ここでは撮影し、蓄積した画像は、動画像の1フレームであるとする。各パターン画像の表示時間は、撮影部12が撮影を完了できる時間であれば、問わない。
図10は、撮影部12が撮影した、図9に示すようにディスプレイ11aに表示されたパターン画像を撮影した撮影画像を示す図である。
1番目のパターン画像の表示、および撮影が終了すると、さらに、残りのパターン画像も順次表示、および撮影が行われる。なお、ここで、表示部11が表示するパターン画像の表示順番と、上述した「パターンID」の順番とは一致している必要はない。また、ここでは、電源の投入をトリガーとして、パターン画像の表示を開始したが、表示開始のトリガー等は問わない。
次に、目印画像検出部14は、図10に示すような撮影画像の一つ、ここでは、一番目に表示されたパターン画像を撮影した撮影画像、を読み出し、目印画像を検出する処理を行う。ここでは、目印画像に使用される色が、(001)、(011)、(100)、(110)、(101)、(111)のいずれかであることが分かっているため、撮影画像の各画素について、上記のいずれかの色に相当するか否かを順次判断して、上記のいずれか一つの色に相当する色を有する画素が隣接する領域を検出する。なお、ディスプレイ11aの表示領域以外の部分の色に起因する目印画像の誤検出を防ぐためには、予めディスプレイの11aの表示領域を、ディスプレイの枠や背景等を検出することで検出したり、表示領域についての指定を入力デバイス等を介して受け付けることにより、この表示領域内のみについて、目印画像の検出を行うようにしても良い。
ただし、撮影画像は、パターン画像を一旦ディスプレイ11aに表示した画像を撮影部12で撮影したものであるため、撮影画像内のパターン画像の目印画像の色は、オリジナルのパターン画像の色とは、色成分の値が異なっていることが考えられる。このため、ここでは、例として、このような色の変化を考慮した色成分毎の閾値を指定して、この閾値により、撮影画像内の画素の色成分を2値化して、上記の目印画像の色であるか否かを判断するようにする。ここでは、例えば、R,G,B成分のそれぞれの閾値を「180」に設定して、各画素のそれぞれの色成分について、「180」以上のものを「1」、「180」未満のものを「0」に変換し、画素が、上記のいずれかの色と一致するか否かを判断する。例えば、R,G,B成分がそれぞれ13、40、150であった場合、その画素の色は(000)に変換され、上記のいずれの色にも一致しないため、目印画像を構成する画素でないと判断される。また、例えば、R,G,B成分がそれぞれ230、80、192であった場合、その画素の色は(101)に変換され、上記の色の一つに一致するため、目印画像を構成する画素であると判断される。そして、同じ色に判断される画素が隣接する領域を、それぞれ、目印画像の領域と判断して、その領域の中心の画素の座標と、目印画像の色の値とを、図示しないメモリ等の記憶媒体に蓄積する。なお、目印画像の中心の画素の座標は、ここでは、目印画像のx軸方向の長さが最も長い径と、y軸方向の長さが最も長い径との交わる位置の画素の座標に設定される。
さらに、一の撮影画像について目印画像を検出している際に、目印画像が取り得る2つの色が検出された場合、この2つの色を、図6に示したパターン画像色管理表の管理している色の組み合わせ、すなわち「0:カラー」と「1:カラー」との組み合わせと比較して、一致するレコードの「パターンID」の属性値を取得する。すなわち、撮影画像は、取得された「パターンID」の属性値に対応付けられたパターン画像を、撮影した画像であると判断されることとなる。例えば、二つの目印画像の色が、(001)と(100)であった場合、図6のパターン画像色管理表から、「パターンID」の値として「3」が取得される。そして、この取得した「パターンID」の属性値を、同じ撮影画像から検出した全ての目印画像の位置等を示す情報に対応付けて蓄積する。さらに、目印画像検出部14は、図6のパターン画像色管理表を用いて、目印画像の二つの色を、二値化する。具体的には、ここでは、二つの目印画像の色が(001)と(100)であり、この二つの色の組み合わせを含むレコード、すなわち「パターンID」の属性値が「3」であるレコードでは、(001)は「0:カラー」属性であり、(100)は「1:カラー」属性であることから、(001)は、「0」に変換され、(100)は「1」に変換される。そして、この二値化した色の値も、同じ撮影画像から検出した全ての目印画像の位置等を示す情報に対応付けて蓄積する。
次に、他の5つの撮影画像、ここでは、「パターンID」が「3」を除くパターン画像を撮影した撮影画像についても、それぞれ上記と同様の処理を繰り返す。ただし、ここでは、パターン画像の撮影の際において、撮影部12等の撮影方向や撮影領域等が固定されているため、目印画像を検出する処理は省略し、一番目の撮影画像について検出した目印画像の領域を示す情報を、そのまま、他の撮影画像の目印画像の領域を示す情報として利用する。従って、異なる撮影画像の、同じ位置の目印画像の位置を示す座標は、同じ値となる。
図11は、撮影画像から検出された目印画像の位置や色等を管理する目印画像管理表である。目印画像管理表においては、「パターンID」、「座標」、「色」、「二値化色」である。「パターンID」は、一の撮影画像において検出された目印画像に使用されている2つの色の組み合わせを用いて得られた「パターンID」である。「座標」は、目印画像の位置を、目印画像の中心座標で示した値である。ここでは、座標を、画像の左上隅を(0,0)として、ピクセル単位のxy座標値で表している。「色」は、目印画像の色を二値化した色成分で表した値である。「二値化色」は、目印画像の色を図6に示したパターン画像色管理表に基づいて、撮影したパターン画像に応じて二値化した値である。なお、「座標」の値は説明のための値であり、実際の値等とは異なるものとする。
次に、対応情報取得部16は、目印画像検出部14が検出した目印画像が配置されている位置毎に、目印画像の色を二値化した値、すなわち図11の「二値化色」の属性値を、対応する「パターンID」属性の昇順に並べた配列パターンを取得する。この配列パターンが、撮影画像内における各目印画像の配置される位置における色の出現パターンである。対応情報取得部16は取得した出現パターンを、目印画像の位置、ここでは座標、と対応付けてメモリ等に一時記憶する。例えば、座標(120,140)の位置において得られる出現パターンは、「010010」となる。
図12は、メモリ等に一時記憶された撮影画像における目印画像の位置と色の出現パターンとを管理する出現パターン管理表である。出現パターン管理表は、「目印位置ID」、「座標」、「撮影出現パターン」という属性を有している。「目印位置ID」は各目印画像の配置される位置を管理するための識別情報、「座標」は、目印画像の配置される位置の座標、ここでは、目印画像の中心の画素の座標、「撮影出現パターン」は、二値化した色の値を「パターンID」属性の昇順に並べたパターンである。
ここで、対応管理情報格納部15には、図8に示したような対応管理情報が、予め格納されているものとする。この対応管理情報は、ユーザにより設定されたものであっても良いし、パターン画像から、上記のような目印画像14および対応情報取得部16等を用いて、上記と同様の処理により取得した情報であっても良い。
対応情報取得部16は、図12に示したような出現パターン管理表の各レコードについて、「撮影出現パターン」の属性値と、一致する「出現パターン」属性値を有するレコードを、図8に示した対応管理情報において検索する。そして、一致するレコードの「座標」属性値と、出現パターン管理表の「座標」属性値とを対応付けていく。そして、対応付けて得られた対応情報を、出力部17が図示しないメモリ等の記憶媒体に蓄積する。なお、出力部17は、外部の装置に対応情報を送信してもよい。
図13は、出力部17が出力する対応情報を示す図である。対応情報は、「オリジナル座標」と「撮影画像内座標」という属性を有している。「オリジナル座標」は、オリジナル、すなわち画像格納部10に格納されているパターン画像内における目印画像が配置される座標である。「撮影画像内座標」は、撮影画像内において、「オリジナル座標」に配置された目印画像が配置されている位置を示す座標である。同じレコードの「オリジナル座標」と「撮影画像内座標」とが互いに対応している座標である。すなわち、撮影画像の、パターン画像が表示されている部分は、「オリジナル座標」の示す座標を、「撮影画像内座標」が示す座標に、座標変換して得られる画像であると考えることができる。
次に、色情報取得部18は、パターン画像の一つと、当該パターン画像を撮影した撮影画像とから、それぞれ、対応情報が示している対応している目印画像の座標の色情報を取得する。具体的には、パターン画像からは、対応情報の各レコードの「オリジナル座標」が示す座標の画素の色情報を取得し、撮影画像からは、「オリジナル座標」と同一のレコードの「撮影画像内座標」が示す座標の画素の色情報をそれぞれ取得する。ここで取得する色情報は、色の補正のために用いられる情報であるため、R,G,B成分のそれぞれの成分値、色が24ビットカラーで表される場合、例えば8ビットの値、である必要がある。
そして、色情報取得部18がパターン画像と撮影画像とからそれぞれ取得した、対応する座標の色を用いて、色補正情報取得部19が、撮影画像の色をオリジナルのパターン画像の色に補正するための、色を補正する関数である色補正関数のパラメータである色補正情報を算出する。
例えば、このような色補正関数は、撮影画像の画素値を(r,g,b)、オリジナルのパターン画像の対応する画素値を(R,G,B)とすると、
R=a1r+a2g+a3b
G=b1r+b2g+b3b
B=c1r+c2g+c3b
で表される。なお、a1〜a3、b1〜b3、c1〜c3は、色補正関数の係数、すなわち色補正情報である。
この色補正関数に対して、色情報取得部18が取得した、パターン画像と撮影画像の、対応している画素の色情報を代入して係数の値を求めることで、撮影画像の色をオリジナルのパターン画像の色に補正するための色補正関数を得ることができる。色補正情報取得部19が取得した色補正関数の係数を、色補正情報として、色補正情報出力部20がメモリ等に蓄積する。なお、ここでは、4箇所以上の対応する画素の色情報を、色情報取得部18が取得するための、上記の係数を算出する際に、最小二乗法等を用いることが好適である。ただし、ここで示した色補正関数を得るためには、通常は色の異なる3箇所の対応する画素の色情報が必要となる。この色補正関数を用いることで、撮影画像全体の色を、オリジナルのパターン画像と同様の色に補正可能となる。すなわち、表示部11により表示される画像と、撮影部12が撮影した画像内において表示部に表示された画像との色をあわせることが可能となる。
なお、ここでは色補正関数として、撮影画像の色をパターン画像の色に補正する関数を用いた場合について説明したが、用途によっては、パターン画像の色を撮影画像の色に補正する関数を用いるようにしてもよい。
次に、位置補正情報取得部21は、対応情報を用いて、位置を補正する関数である位置補正関数のパラメータである位置補正情報を取得する。
例えば、撮影画像内の画素の位置を(x,y)、オリジナルのパターン画像内の画素の位置を(X,Y)とすると、位置補正関数は、
X=ax+by
Y=cx+dy
で表される。なお、a、b、c、dは、それぞれ位置補正関数の係数、すなわち位置補正情報である。
この位置補正関数に対して、対応情報の示す、パターン画像の座標と、これに対応する撮影画像内の座標の値を代入して係数の値を求めることで、撮影画像を構成する画素の位置を、パターン画像内の画素の位置に座標変換する位置補正関数を得ることができる。位置補正情報取得部21が取得した位置補正関数の係数を、位置補正情報として、位置補正情報出力部22がメモリ等に蓄積する。
なお、ここでは、3箇所以上の対応する画素の座標の情報を、対応情報が有しているため、上記の係数を算出する際に、最小二乗法等を用いることが好適である。ただし、ここで示した位置補正関数を得るためには、通常は異なる2箇所の対応する画素の位置の情報が必要となる。この位置補正関数を用いることで、撮影画像の画素の位置や画像の形状等を、オリジナルのパターン画像と同様の位置や形状等に補正可能となる。
なお、ここでは位置補正関数として、撮影画像の画素の位置をパターン画像内の位置に補正する関数を用いた場合について説明したが、用途によっては、パターン画像の画素の位置を撮影画像内の位置に補正する関数を用いるようにしてもよい。
なお、この具体例において述べた色補正関数や位置補正関数はあくまでも一例であり、他の色補正関数や位置補正関数等を用いるようにし、対応情報等を用いて、これらのパラメータを算出するようにしても良い。
なお、上記具体例においては、目印画像の検出の処理において、目印画像の色と各画素の色とを比較するようにしたが、目印画像は他の方法により検出しても良い。例えば、目印画像の形状が大きく変わらないことが前提となっている場合等には、目印画像とほぼ同じ形状の領域を、一般的なパターンマッチング技術等により検出することで、目印画像を、検出しても良い。また、上記具体例の情報処理装置1が、対応情報の出力を最終的に行い、上記のような色補正関数のパラメータや位置補正関数のパラメータ等を算出する処理は、他の装置で行うようにしても良い。
なお、上記具体例においては、各パターン画像の複数の目印画像が、それぞれ2色の色のうちのいずれか1色を有している場合について説明したが、本実施の形態においては、複数の目印画像は、撮影画像においても識別可能な2以上の色のうちのいずれか一色を有しているようにすればよい。この場合、各パターン画像内の目印画像の色数をC(Cは2以上の整数)、目印画像数Aを、パターン画像数をB(Bは正の整数)とした場合、CB≧Aの関係を満たしているようにすればよい。
以上、本実施の形態によれば、表示部11に表示された画像と、撮影部12により撮影された画像内において表示部11に表示された画像との間の、位置の対応を正確に取ることができる。
また、本実施の形態においては、目印画像の色の出現パターンによって、撮影画像内から目印画像を識別して検出するようにしているため、撮影部12の撮影状況によって、表示部11の一部しか撮影できず、表示部11の表示領域内のどの部分を撮影したか分からない場合や、表示部11の撮影された向き等が判別できない場合においても、撮影画像内から、正確に、目印画像の配置されている位置を識別することができる。
また、本実施の形態においては、撮影画像内における目印画像の色の出現パターンにより、目印画像を識別するため、目印画像の色が多少、表示や撮影等の処理により変色していても、撮影画像内から、正確に、目印画像を識別することができる。
また、目印画像の形から目印画像を識別する場合とは異なり、色の出現パターンにより目印画像を識別するため、撮影画像にゆがみ等が生じたり、撮影位置によって、大きなパース等が入って撮影画像がゆがんで、目印画像が変形してしまっても、撮影画像内から、正確に、目印画像を識別することができる。
また、本実施の形態においては、実際に撮影に利用する撮影部12により、予め用意されたパターン画像を撮影するだけで、簡単に位置や色の補正のための情報を得ることができ、補正のための専用のデバイス等を設置する必要がなく、コストの上昇を抑えることができる。また、補正のための特別な操作を最小限にできるため、操作性が向上する。
なお、上記実施の形態において、目印画像の色の出現パターンにより、目印画像が検出された位置を識別するようにしたが、複数のパターン画像の、少なくとも一つのパターン画像において目印画像が配置された位置における、目印画像の有無のパターンである出現パターンにより、目印画像が配置された位置を識別するようにしても良い。例えば、第一のパターン画像のある座標(x1、y1)において、目印画像が出現し、その同じ座標において、異なる第二、第三のパターンにおいては、目印画像が出現せず、背景画像のみが出現した場合、目印画像を「1」、背景画像を「0」に置き換えて、座標(x1、y1)における目印画像の出現パターンを、「011」と考えても良い。ただし、この場合、複数の撮影画像内に目印画像が検出されるまでは、目印画像の位置が検出できないため、一旦、目印画像の位置を、検出後、他の撮影画像の同じ位置において、背景画像を検出する必要があり、処理に後戻りが発生する可能性がある。
なお、上記実施の形態において、互いに異なる、予め設定された所定の位置に、一つの目印画像がそれぞれ配置された複数のパターン画像を表示するようにし、複数の撮影画像内のパターン画像毎に、これらの目印画像の位置をそれぞれ検出することで、撮影したパターン画像と、撮影画像内の目印画像の検出された位置との組み合わせを用いて、撮影された目印画像の検出された位置を識別するようにしてもよい。すなわちここでは、パターン画像毎に、目印画像の位置が特定されることとなる。このため、各目印画像が、どのパターン画像を撮影した撮影画像から検出されたか判断することで、撮影画像の目印画像が検出された位置を識別することができる。言い換えれば、ここでは、各目印画像が検出されたパターン画像を識別する情報を、各目印画像についての出現パターンと考えて、各撮影画像から検出された各目印画像についての出現パターンを取得し、この出現パターンを用いて、各撮影画像内において検出された目印画像の位置と、当該目印画像の出現パターンと一致する出現パターンを有する、オリジナルの複数のパターン画像における目印画像の配置されている位置と、の対応を示す対応情報を取得するようにする。例えば、第一のパターン画像においては、座標(x2、y2)に一つの目印画像のみが配置されている場合、第一のパターン画像を撮影した撮影画像内で目印画像を検出した位置は、この第一のパターン画像の座標(x2、y2)に対応した位置であると判断することができる。ただし、このような場合、例えば、撮影画像が撮影したパターン画像が、どのパターン画像であるかを、撮影したパターン画像を識別する情報を撮影情報に対応付けたり、パターン画像の表示順番と撮影順番とを対応付けておくこと等により、識別できるようにする必要がある。また、このような場合においては、各パターン画像には、一つの目印画像しか配置することができないため、撮影画像内の複数の位置を識別するためには、パターン画像を、識別したい位置の数と同数だけ用意する必要があるとともに、これらのパターン画像を全て表示して撮影する必要がある。このため、上述したような目印画像の色の出現パターンにより、目印画像が配置されている複数の位置を識別する場合と比べて、処理時間が長くなってしまう。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各プログラムにおいて、表示ステップや撮影ステップや出力ステップなどでは、ハードウェアによって行われる処理、例えば、表示ステップにおける表示デバイス等で行われる処理(ハードウェアでしか行われない処理)は含まれない。また、これらのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、これらのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記実施の形態において、一の装置に存在する2以上の出力手段(出力部、色補正情報出力部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。