以下、画像処理装置等の実施の形態について図面を参照して説明する。なお、図面において同じ符号を付した構成要素は同様の動作を行うものとする。
(実施の形態1)
図1は、本実施の形態における色補正・位置補正機能付きの画像処理装置の具体例を示すブロック図である。
画像処理装置100は、受付部101、表示部102、撮影部103、画像受付部104、遅延バッファ105、補正パラメータ格納部106、比較部107、透過画像構成部108、出力部109を具備する。
受付部101は、第一の画像の入力を受け付ける。なお、説明を簡略化するために、画像を示す情報である画像情報も、適宜、画像と呼ぶこととする。ここでの受け付けは、例えば、有線もしくは無線の通信回線(例えば、インターネットやイントラネット、LAN(Local Area Network)などであってもよく、あるいは、IEEE1394のケーブルや、映像情報を伝送する専用のケーブル等であってもよい)を介して送信された第一の情報の受信でもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)からの第一の画像の情報の読み出しであってもよい。
第一の画像は、通常、動画像であるが、静止画像であってもよい。第一の画像はカラー画像であることが好ましいが、グレースケール画像であってもよい。この第一の画像は、例えば、会議の場面を撮影した画像である。具体例としては、この画像処理装置100を端末として用いたテレビ会議システムにおける、他の会議室で撮影され、リアルタイムに送信された画像である。また、第一の画像は、会議の場面を撮影した画像を、蓄積した画像であってもよい。また、第一の画像は、会議の場面を撮影した画像に限らず、どのような画像であってもよい。例えば、会議に利用される資料の画像やプレゼンテーション用の画像等であってもよい。
また、第一の画像は、アナログの画像であってもデジタルの画像であってもよい。アナログ画像である場合、第一の画像は、例えば、コンポジット信号やコンポーネント信号であってもよい。また、デジタルの画像である場合、第一の画像は、例えば、MPEG(Moving Picture Experts Group)や、ITU−T H.264等、画像の圧縮符号化のアルゴリズム等は問わない。また、非圧縮の画像を出力してもよい。また、画像は、HD画像等、画質や解像度等も問わない。また、第一の画像には、他の画像等との同期を取るための同期情報が含まれていても、付加されていてもよい。
また、受付部101は受け付けた第一の画像を、後述する遅延バッファ105や、図示しないメモリ等に一時記憶するようにしてもよい。受付部101は、第一画像に加えて、第一画像に対応した音声情報を受け付けてもよい。受付部101は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部101は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、受付部101が受け付けた第一の画像がアナログ信号である場合、画像処理装置100内に、第一の画像を、適宜デジタル信号に変換して出力する図示しないAD(アナログデジタル)変換部等を設けることが好適である。このようなAD変換部等を設けることで、適宜、第一の画像に対して行う処理をデジタル化することができる。例えば、受付部101が受け付けたアナログの第一の画像を、このようなAD変換部でデジタル信号に変換して遅延バッファ105に蓄積してもよい。
表示部102は、受付部101が受け付けた第一の画像を表示する。具体的には、表示部102は、受付部101から出力される第一の画像を用いて表示用の情報を構成して、液晶ディスプレイやプラズマディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等の表示デバイスに第一の画像を表示する。なお、表示部102は、第一の画像に対応して付与されている音声を、第一の画像とともに音声出力してもよい。表示部102が第一の画像を表示する解像度等は問わない。また、表示部102は、第一の画像に、マスク情報等の透過情報が含まれる場合、これらの情報を用いて第一の画像の一部の領域を透過させて表示したり、第一画像の一部の領域を、他の画像、例えば背景画像や特定の色の画像で置換して表示するようにしてもよい。表示部102は、表示を行う表示デバイスやスピーカを含んでもよく、あるいは含まなくてもよい。表示部102は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
撮影部103は、表示部102が表示デバイス等を用いて表示する第一の画像を含む領域の画像である第二の画像を撮影する。具体的には、撮影部103は、表示部102が第一の画像を表示する領域上の少なくとも一部を含む領域を撮影の対象となる領域である撮影領域として撮影して、第二の画像を取得する。より具体的には、撮影部103は、第一の画像を表示するディスプレイ等の表示デバイスの表示面を含む領域の画像を第二の画像として撮影する。第二の画像は、例えば、表示部102の表示デバイス等の前に、会議の参加者等が位置している状態のテレビ会議の画像等である。撮影部103が撮影する画像は、通常は動画像であるが、一以上の静止画像であってもよい。なお、一定または不定の所定の時間間隔で撮影された複数の静止画像は、ここでは動画像とする。
第二の画像はアナログ信号であっても、デジタル信号であってもよい。また、第二の画像は、通常はカラー画像であるが、グレースケール画像であってもよい。撮影部103の撮影方向と表示部102が表示する第一の画像の表示面とのなす角等は問わない。撮影部103は、例えば、映像を撮影するカメラであり、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを用いて映像を撮影する。また、撮影部103が音声情報も取得する場合には、撮影部103は、例えば、マイクを含んでいてもよい。撮影部103が画像を出力するためのデータ構造やタイミング等は問わない。例えば、撮影部103は、取得した動画像の情報を、一つの動画像ファイルとして出力してもよい。また、撮影部103は動画像を構成する各フレームの画像情報、もしくは各フレームに相当する画像情報を、取得する毎に順次出力してもよいし、所定数のフレームの画像が取得された時点で、所定数のフレーム単位で画像情報を出力してもよい。
また、撮影部103は、撮影した動画像に対して、動画像内の任意の時間的位置を指定することができるような情報である時間位置情報を付加した動画像を作成してもよい。例えば、時間位置情報として、撮影時点の時刻を示す情報等の時間位置を示す情報を付加した動画像を作成してもよい。例えば、撮影部103は、動画像を構成する各フレームの画像情報に対し、その画像情報を取得した時刻の情報を、時間位置情報、具体例としてはタイムコードや、タイムスタンプとして付加した画像情報を作成してもよい。また、画像情報の各フレームに、フレームを識別するためのフレーム識別情報を付与するようにしてもよい。撮影部103が作成し出力する画像情報は、アナログの画像情報であってもデジタルの画像情報であってもよい。例えば、デジタルの画像情報である場合、MPEGや、ITU−T H.264等、画像情報の圧縮符号化のアルゴリズム等は問わない。また、非圧縮の画像情報を出力してもよい。また、画像情報は、HD画像等、画質や解像度等も問わない。また、撮影部103は、マイク等を含むようにし、音声情報も取得するようにしてもよい。
また、撮影部103は、撮影部103を識別する装置識別情報を出力するようにしてもよい。装置識別情報は、撮影部103が、カメラ等の撮影デバイスである場合、その撮影デバイスの製造番号等であってもよいし、予め撮影部103に設定しておいた識別番号であってもよい。また、撮影部103のIPアドレス等のネットワーク上の物理アドレス情報であってもよい。また、装置識別情報は、結果として撮影部103を識別できる情報であればよく、撮影部103が接続されているポート番号等の入力端子を識別する情報であっても良い。装置識別情報は、例えば撮影部103内部の図示しないメモリ等に予め蓄積しておく。また、撮影部103が、識別情報をどのように送信するかは問わない。具体的には、上述した位置識別情報と同様の方法により識別情報を出力することが可能である。
画像受付部104は、表示部102が表示する第一の画像を含む領域を撮影した画像である第二の画像を受け付ける。ここでは、具体的には、撮影部103が出力する、当該撮影部103が撮影した第二の画像を受け付ける。この受け付けは、例えば、有線もしくは無線の通信回線(例えば、インターネットやイントラネット、LANなどであってもよく、あるいは、IEEE1394のケーブルや、映像情報を伝送する専用のケーブル等であってもよい)を介して送信された情報の受信でもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報の受け付けでもよい。本実施の形態では、画像受付部104は、撮影部103が撮影した第二の画像を示す情報を、専用のケーブル等を介して受け付ける例について説明する。なお、画像受付部104は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、画像受付部104は、は、ハードウェアによって実現されてもよく、あるいは所定のデバイス、を駆動するドライバ等のソフトウェアによって実現されてもよい。
遅延バッファ105は、表示部102が表示する第一の画像を、所定の時間遅延させて、比較部107に入力させるためのものである。遅延バッファ105には、一時的に蓄積され、予め設定された時間遅延後、比較部107により読み出される。例えば、受付部101が受け付けた第一の画像が、表示部102に入力されると同時に遅延バッファ105に蓄積される。遅延バッファ105の所定の遅延時間は、具体的には、表示部102により読み出された第一の画像を撮影した第二の画像が、比較部107に入力されるまでの時間とほぼ同じ時間、好ましくは同じ時間、となるように設定されている。遅延バッファ105としては、例えばリングバッファ等が利用可能である。遅延バッファ105への第一の画像の蓄積は、図示しない制御部等により行われる。
補正パラメータ格納部106は、第一の画像と、第二の画像内に含まれる第一の画像と、の色あわせ、および位置あわせのための補正に用いられる補正パラメータを格納する。色あわせのための補正に用いられる補正パラメータとは、例えば、第一の画像と第二の画像の色をあわせるための、第一の画像と第二の画像との少なくともいずれか一方の画像の色の補正に用いられる情報である色補正情報である。色補正情報とは、具体的には、色の補正に用いられる関数の係数等の値である。色を補正するための関数はどのような関数であってもよい。関数の具体例については後述する。ここで述べる色の補正とは、例えば、撮影部103が撮影して得た第二の画像の色を、撮影部103の撮影対象である第一の画像のオリジナルの色に対してあわせるための補正である。なお、この場合の色の補正は、第二の画像と、第二の画像の撮影対象である第一の画像のオリジナルとの相対的な色の補正であればよく、例えば、第二の画像を、オリジナルの第一の画像に色あわせする補正であってもよい。ここで述べる色あわせとは、完全な一致を目指すものでなくてよく、後述するような、画像同士の一致する領域を判断しやすくするためのものであればよい。
位置あわせのための補正に用いられる補正パラメータとは、例えば、第一の画像と第二の画像の対応する位置同士をあわせるための、第一の画像と第二の画像との少なくともいずれか一方の画像の位置補正に用いられる位置補正情報である。位置補正とは、位置や、形状や、サイズ等の補正、変更を含む。位置補正情報とは、具体的には、第一の画像を、第二の画像に変換するための関数の係数等の値である。あるいは、このような関数の係数等を算出可能な情報であってもよい。例えば、第一の画像内の座標と、この座標に対応する第二の画像内の座標とを対応付けた情報を、位置補正情報としてもよいし、この座標の情報を、第一の画像内の座標を、第二の画像内の座標に座標変換する関数に代入することで得られる座標変換の関数の係数等を位置補正情報としてもよい。
このように画像を変換する関数としては、どのような関数を用いてもよく、例えば、アフィン変換の関数等が利用可能である。この場合、位置補正情報としては例えばアフィン係数を用いることができる。また、このような座標変換等を行う関数は、いわゆるモーフィング等の技術として公知である。関数の具体例については後述する。ここで述べる位置あわせとは、完全な一致を目指すものでなくてよく、後述するような、画像同士の一致する領域を判断しやすくするためのものであればよい。補正パラメータ格納部106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。不揮発性の記録媒体でも、揮発性の記録媒体でもよい。
比較部107は、補正パラメータ格納部106に格納されている補正パラメータを用いて、第一の画像と、第二の画像内の第一の画像が位置する領域内の画像との少なくとも一方を補正し、第一の画像と、第二の画像内の第一の画像が位置する領域内の画像とを比較する。なお、第一の画像および第二の画像が、アナログ信号である場合、第一の画像および第二の画像を、例えば図示しないAD変換部等を用いて適宜デジタル信号に変換して用いるようにしてもよい。また、第一の画像および第二の画像のデジタル信号への変換を比較部107が適宜行うようにしてもよい。
比較部107は、例えば、上記のように特定された第二の画像内における表示部102が第一の画像を表示している領域の画像(以下、第二領域画像と称す)と、遅延バッファ105から読み出した第一の画像とをそれぞれ構成する画素のうちの、対応する画素同士を比較する。同様の比較を、第二領域画像内の画素、通常は全ての画素について順次行う。ここで述べる第一の画像と第二領域画像との対応する画素同士の比較とは、必ずしも対応する画素同士の1対1の比較でなくてもよい。例えば、一つの画素と、複数の画素、例えば隣接する画素ブロック、との比較でもよいし、複数の画素と複数の画素との比較でもよい。第二領域画像と受付部101が受け付けた第一の画像との画素数等が異なる場合、画素同士が1対1で対応しないからである。例えば、一方の画像の1画素と、この画素に対応する他方の画像の複数の画素、例えば画素ブロックとを比較する場合、一方の画像の1画素の画素値と、複数の画素の画素値の平均値や中間値等の代表値とを比較してもよい。また、例えば、一方の画像の複数の画素と、この複数の画素に対応する他方の画像の複数の画素とを比較する場合、一方の画像の複数の画素の画素値の平均値等の代表値と、複数の画素の画素値の平均値等の代表値とを比較してもよい。
比較部107による画素同士の比較は、通常、画素の情報、例えば、RGBの各チャンネルの色強度等の情報や輝度情報等の色情報の値の比較により行われる。具体的には、第二領域画像と、第一の画像とが相似の関係にあり、両者の総画素数が同じである場合、第一の画像および第二領域画像の相対的な座標が一致する画素同士の、所定の画素値、例えば色情報の比較を行うようにしてもよい。そして、このような比較を全ての対応する画素間について行うようにすればよい。また、比較部107は、色情報同士等を比較する代わりに、二つの画像の対応する領域同士について、隣接する画素の色配列パターン等のパターンマッチングを順次行うようにしてもよい。また、これらの方法を組み合わせてもよい。
ここで、本実施の形態においては、比較部107は、補正パラメータと補正パラメータに対応した関数とを用いて、第一の画像と、第二の画像内の第一の画像が位置する領域内の画像との少なくとも一方の色を補正して、第一の画像と、第一の画像内の第一の画像が位置する領域内の画像との比較を行う。例えば、第一の画像の色を補正し、補正した第一の画像と、第二の画像内に撮影されている、言い換えれば配置されている第一の画像、すなわち第二領域画像とを比較してもよい。また、第二の画像内の、少なくとも第一の画像が位置する領域内の画像の色を補正し、第一の画像と、補正した第二の画像とを比較してもよい。また、第一の画像と第二の画像とをともに補正して、補正した第一の画像と補正した第二の画像とを比較してもよい。
ここで行われる補正は、補正パラメータを用いた、第一の画像と第二の画像との少なくとも一方に対する色あわせのための補正であり、具体的には、補正パラメータのうちの色補正情報を用いた第一の画像と第二領域画像との色あわせの補正である。この色補正情報は、予め、第一の画像の色の情報と、当該第一の画像を撮影した第二の画像内の第二領域画像の色の情報とを用いて求めておき、補正パラメータ格納部106に蓄積しておく。なお、場合によっては、色あわせの補正と位置あわせの補正とのいずれか一方のみの補正を行うようにしてもよい。なお、色あわせの補正は、第二の画像全体に対して行うようにしてもよいし、第二領域画像のみに対して行うようにしてもよい。補正に用いられる関数等は、補正パラメータ格納部106に格納されている補正パラメータに対応する関数である。
さらに、本実施の形態においては、比較部107は、補正パラメータと補正パラメータに対応した関数とを用いて、第一の画像と、第二の画像内の第一の画像が位置する領域内の画像との少なくとも一方の位置を補正して、第一の画像と、第一の画像内の第一の画像が位置する領域内の画像との比較を行う。比較部107による第一の画像と第二領域画像との比較は、例えば、以下のように行われる。すなわち、まず、第二の画像に撮影された第一の画像内の座標と、第一の画像内の座標との相関関数を求めておく。この相関関数を示す情報、例えば相関関数の係数等の情報を位置補正情報として補正パラメータ格納部106に予め格納しておく。この相関関数は、言い換えれば位置補正に用いられる位置補正関数である。そして、この相関関数、もしくはその逆関数を用いて、第二領域画像の各画素または各画素ブロック等の複数の画素に対応する第一の画像内の座標を算出し、第一画像情報が示す第一の画像内の算出された座標が示す位置の、一または複数の画素の色情報等の情報と、対応する第二領域画像の画素の色情報等の情報とを比較する。
なお、第一の画像の各画素に、または各画素ブロック等の複数の画素に対応する第二の画像内の座標を算出し、第二画像情報が示す第二の画像の算出された座標が示す位置の、一または複数の画素の色情報等の情報と、対応する第一の画素の色情報等の情報とを比較するようにしてもよい。このように、相関関数を用いて、第一の画像内の座標を、第二の画像内の座標、具体的には、第二領域画像内の座標に座標変換する補正や、第二の画像内の第二領域画像内の座標を、第一の画像内の座標に座標変換する補正を、ここでは、第一の画像と、第二の画像、具体的には、第二領域画像との位置あわせのための補正とする。すなわち、ここでは、第一の画像または第二領域画像を、位置補正しながら、比較していると考えてもよい。なお、第一の画像と第二の画像とをともに補正して、補正した第一の画像と補正した第二の画像とを比較してもよい。
上記のような、第二領域画像と第一の画像とを比較する処理は、第二の画像の全てのフレームの画像に対して行うようにしてもよいが、一定または不定期の所定のタイミング、例えば、数フレーム毎や、数秒毎に行うようにしてもよい。特に、第一の画像が、テレビ会議等の画像である場合、上述したように、急激な動き等がないと考えられるため、一旦決定した第一画像情報が示す第一の画像に一致する画素を含む領域を、連続する複数のフレームの第二の画像から第一の画像に一致する画像を透過領域に指定する処理に適用しても、大きな画質の劣化等がないと考えられるからである。なお、上記のように、相関関数の係数等の情報を位置補正情報として蓄積しておく代わりに、相関関数の係数等の情報を算出可能な情報を位置補正情報として蓄積しておき、この位置補正情報から相関関数を求めるようにしてもよい。
また、ここでは、相関関数により対応づけられた座標同士の一以上の画素同士を比較するようにしたが、予め第一の画像から、相関関数を用いた補正により、形状や画素数等を第二領域画像と同じにあわせた画像を構成しておき、この相関関数により構成した第一の画像と、第二領域画像とを画素単位で比較するようにしてもよい。あるいは、予め第二領域画像から、相関関数を用いた補正により、形状や画素数等を第一の画像と同じにあわせた画像を構成しておき、この相関関数により構成した第二領域画像と、第一の画像とを画素単位で比較するようにしてもよい。
第二の画像内の第一の画像が位置する領域、すなわち第一の画像内の第二領域画像の位置は、例えば、予め第二の画像内における表示部102が第一の画像を表示する領域が、第二の画像内のどの領域に表示されるかを調べておいて、この領域を指定する情報を設定しておくことが好ましい。この領域を指定する情報を、上述した位置指定情報の一つとして、例えば、予め補正パラメータ格納部106に予め蓄積しておくようにしてもよい。特に、第一の画像と、第二領域画像とが相似の関係にある場合等には、この位置指定情報を用いることで、相似の関係を定義する関数を算出することができ、この関数を用いて、第一の画像と第二領域画像との少なくとも一方の画像内の画素の位置等を補正して、第一の画像と、第二領域画像との比較が可能となる。
なお、この第一の画像が位置する領域を画像処理等により検出してもよい。なお、第二の画像内の第一の画像が位置する領域は、第二画像内の、第一の画像が実際に含まれている領域だけではなく、表示部102と重なっている会議の参加者等の物体等を無視した場合の、表示部102が第一の画像を表示している領域である。例えば、表示部102が第一の画像を表示する際に用いるディスプレイの表示領域が四角形である場合、そのディスプレイの一部を覆う物体、例えばユーザ等が、第二の画像に撮影されていたとしても、表示部102が第一の画像を表示する領域は四角形と考える。ただし、撮影部103に対する表示デバイスの表示領域の向きにより形状は完全に一致しない場合がある。
比較部107は、通常、MPUやメモリ等から実現され得る。比較部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
透過画像構成部108は、比較部107の比較結果を用いて、第二の画像内の、第一の画像と一致する領域を、透過領域に設定した透過画像を構成する。具体的には、透過画像構成部108は、比較部107による第一の画像と、第二の画像内の第一の画像が位置する領域内の画像との比較の結果から、透過画像構成部108が一致していると判断した第二の画像内の領域を、透過領域に設定した透過画像を構成する。透過画像構成部108は、具体的には、比較部107の第一の画像と第二領域画像との画素同士の比較結果に応じて、比較した画素同士が一致しているか否かを判断する。ここでの画素同士の比較結果とは、上述したように、1対1の画素同士の比較結果でなくてもよく、例えば、1つの画素と、画素ブロックとの比較結果であってもよい。透過画像構成部108による画素同士の比較は、対応する画素同士について、所定の画素の情報、例えば色情報の比較を行い、その差が予め設定した閾値以内であれば、一致する画素であると判断し、閾値より大きければ、一致しない画素であると判断することにより行われる。
なお、この一致するか否かの判断は、比較部107による比較がパターンマッチングの比較である場合、マッチングの度合い、スコア等に応じて行われてもよい。そして、比較された全ての画素や画素ブロックについての判断を行って、第二の画像の第二領域画像内の、第一の画像に一致すると判断された画素を含む領域を決定する。なお、第二領域画像のうちの、第一の画像に一致する画素に領域に囲まれた微小な画素の領域等については、ノイズと考えて、第一の画像に一致する画素と判断するようにしてもよい。画像同士の比較結果から一致する領域を決定する処理については、上記の方法も含めて様々な処理があるが、公知技術であるので詳細な説明は省略する。
そして、透過画像構成部108は、一致すると判断された領域を透過領域に設定した透過画像を構成する。透過領域とは、第二の画像が表示される際に、透明な領域として表示される、もしくは取り扱われる第二の画像内の領域であり、本来の第二の画像が表示されない領域である。あるいは、画像を表示しない領域や、本来の画像とは異なる背景画像や所定のパターンの画像を表示する領域を透過領域と考えてもよい。具体的には、透過画像構成部108は、透過領域を不可視領域に指定するための、いわゆるアルファチャンネルと呼ばれるチャンネル画像を第二の画像に付加した透過画像を構成してもよい。このアルファチャンネルの画像は、第二の画像と同じ画像ファイルを構成してもよいし、第二の画像と対応付けられた異なる画像ファイルを構成してもよい。
例えば、JPEG(Joint Photographic Experts Group)ファイルである第二の画像に対応したアルファチャンネル画像や画像ファイルを、第二の画像ファイルに添付してもよい。また、アルファチャンネルの代わりに、透過領域に設定する領域の外縁を指定するベクトル情報であるパス、いわゆるクリッピングパス等の情報を第二の画像に付加して透過画像を構成してもよい。なお、画像にアルファチャンネル等を付加して、画像をマスクする技術については公知技術であるので説明は省略する。また、一致すると判断された領域の色情報を削除した透過画像を構成してもよい。また、当該透過画像を表示する表示装置等で、透過領域として認識して透明に表示できるように、一致する領域を特定のキーカラーで塗りつぶした透過画像を構成してもよい。ただし、アルファチャンネルを付加するほうが、オリジナルの第二の画像が損なわれない点で、オリジナル画像を残す必要がある場合等には最適である。
また、透過画像構成部108は、第二の画像内の、透過領域により分離された領域の画像を切り出した複数の透過画像を構成するようにしてもよい。具体的には、第二の画像内の、透過領域により分離された領域の囲む矩形の領域を一以上選択して、当該一以上の矩形の領域をそれぞれ切り抜いて、すなわちクリッピングして、一以上の透過画像を構成する。このように透過領域により分離された領域をクリッピングすることで、表示には不要である透過領域を削減し画像のデータ量を削減することができる。なお、この透過画像のそれぞれについては、元の第二の画像が再現できるように、元の第二の画像内において配置されていた位置を指定する情報、例えば座標を対応付けておく必要がある。透過画像構成部108は、通常、MPUやメモリ等から実現され得る。透過画像構成部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
出力部109は、透過画像構成部108が構成した透過画像を出力する。ここでの出力とは、他の装置への送信や、記録媒体等への蓄積を含む概念である。出力部109は、画像処理装置100がリアルタイムで会議を行うテレビ会議システム等に利用される場合、透過画像をストリーミング出力することが好ましい。出力部109が、透過画像を出力するタイミングや方式等は問わない。例えば、透過画像を取得する毎に、透過画像を出力するようにしてもよいし、所定量の透過画像を取得した場合に透過画像を出力するようにしてもよい。
出力部109は、透過画像構成部108が出力する透過画像を、MPEGや、ITU−T H.264等の、圧縮符号化のアルゴリズム等を用いて、圧縮符号化してもよい。また、透過画像を、図示しないDA(デジタルアナログ)変換部等を用いてアナログ信号に変換して出力するようにしてもよい。また出力部109は、同期情報を透過画像に付加して出力してもよい。また、出力部109は、撮影画像と、当該撮影画像の透過領域を指定する情報とを対応付けて出力してもよい。また、透過画像が上述したように透過画像がクリッピングされたものである場合、出力部109は、クリッピングされた透過画像を表示する位置を指定する情報を、透過画像と対応付けて出力してもよい。
また、出力部109は、撮影部103等の装置識別情報等を付加して透過画像を出力してもよい。出力部109は、通信装置等の出力デバイスを含むと考えても含まないと考えても良い。出力部109は、出力デバイスのドライバーソフト、または出力デバイスのドライバーソフトと出力デバイス等で実現され得る。なお、出力部109が、圧縮符号化の処理等を行う場合、これらの処理を実行するためのMPU(Micro Processing Unit)やメモリ等を具備していても良い。またこれらの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM(Read Only Memory)等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
次に、画像処理装置の動作について図2のフローチャートを用いて説明する。ここでは、第二の画像には、少なくとも第一の画像の一部が撮影されているものとする。なお、ここでは例として、予め第二の画像に含まれる第一の画像を、撮影対象となったオリジナルの第一の画像の対応する領域に配置した場合における、オリジナルの第一の画像の四つの頂点の座標を、第二の画像の座標系を用いて表した座標の情報が、位置補正情報として予め補正パラメータ格納部106に格納されている場合について説明する。また、第一の画像の色を、第二の画像の色、特に第二領域画像の色に色あわせするための関数の係数である色補正情報が、補正パラメータ格納部106に格納されている場合について説明する。
(ステップS201)受付部101は、第一の画像の入力を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)表示部102は、受付部101が受け付けた第一の画像を取得する。
(ステップS203)画像処理装置100は、ステップS202で表示部102が取得した第一の画像を、遅延バッファ105に蓄積する。
(ステップS204)表示部102は、ステップS202で取得した画像情報を、図示しないディスプレイ等に表示する。
(ステップS205)撮影部103は、表示部102によりディスプレイ等に表示されている第一の画像を含む第二の画像を撮影する。画像受付け104は、撮影された第二の画像を示す情報を受け付け、図示しないメモリ等に一時記憶する。
(ステップS206)比較部107は、画像受付部104が受け付けた第二の画像を取得する。また、遅延バッファ105により遅延された第一の画像を取得する。ここで取得される第一の画像は、遅延バッファ105により遅延された、上記で取得した第二の画像に含まれる第一の画像と同じ第一の画像、すなわちオリジナルの第一の画像である。
(ステップS207)比較部107は、ステップS206において取得した第一の画像と第二の画像内の第二領域画像との比較を行う。例えば動画像の場合、1フレーム同士の比較を行う。そして、透過画像構成部108が、この比較結果に応じて一致する領域を判断する。この処理の詳細については後述する。
(ステップS208)透過画像構成部108は、ステップS207において一致すると判断された領域を透過領域に設定したアルファチャンネル付きの透過画像を構成する。なお、透過画像を構成する際に、透過領域と、透過させない領域との境界、または境界付近の画素については、透過させない領域の外周が滑らかに表示されるよう、透過度を0%または100%以外、好ましくは30〜70%程度に設定することが好ましい。
(ステップS209)透過画像構成部108は、ステップS208において構成したアルファチャンネル付きの透過画像を、透過領域で分離されている画像ごとにクリッピングする。このとき、各クリッピングされた画像に含まれる透過領域ができる限り小さくなるようにする。クリッピングした画像には、それぞれ元の撮影画像内の配置を示す位置情報、例えば座標を対応付けるようにする。透過領域で分離されている画像ごとにクリッピングする技術は公知技術であるので説明は省略する。
(ステップS210)出力部109は、ステップS209においてクリッピングされた透過画像を、出力、ここでは例として送信する。そして、ステップS201に戻る。
なお、図2のフローチャートにおいて、ステップS209の切り抜く処理を行った後、ステップS209により、切り技いた各第二の画像に対して透過領域を設定するようにしてもよい。
なお、図2のフローチャートは、電源オフや処理終了の割り込みにより処理を終了する。
次に、図2のステップS207の処理について、図3のフローチャートを用いて説明する。なお、ここでは、例として、第一の画像と第二領域画像とが、R、G、Bのそれぞれのチャンネルを有するカラー画像であるとし、第一の画像と第二領域画像との色情報の値、言い換えれば各チャンネルの色強度の値を用いて、第一の画像の画素と第二領域画像内の画素とを比較する場合を例に挙げて説明する。また、ここでは第一の画像および第二の画像が、それぞれx軸方向がp画素(pは1以上の整数)で、y軸方向がq画素(qは1以上の整数)の矩形の画像である場合について説明する。
(ステップS301)比較部107は、カウンタmに1を代入する。
(ステップS302)比較部107は、カウンタnに1を代入する。
(ステップS303)比較部107は、第二の画像の座標(n、m)に位置する画素が、第二領域画像の画素であるか否かを判断する。例えば、上述した補正パラメータ格納部106に格納されている第二の画像に含まれる第一の画像を、撮影対象となったオリジナルの第一の画像の対応する領域に配置した場合における、オリジナルの第一の画像の四つの頂点の座標を、第二の画像の座標系を用いて表した座標の情報を用いて、この頂点を結んだ領域内に座標(n、m)が位置するか否かを判断する。そして、この頂点を結んだ領域内に座標(n、m)が位置している場合、第一の画像が撮影されている領域の画素、すなわち第二領域画像内の画素であると判断する。第二領域画像の画素である場合、ステップS304に進み、第二領域画像の画素でない場合、ステップS310に進む。なお、座標(n、m)は、画像内の画素を単位とした座標であり、ここでは、例として、左上の座標が(0,0)、右下の座標が(p、q)であるとする。
(ステップS304)比較部107は、第二領域画像の座標(n、m)に位置する画素の色情報を取得する。
(ステップS305)比較部107は、ステップS304で取得した画素の色情報を、補正パラメータ格納部106に格納されている色補正情報を用いて設定される色補正関数を用いて補正する。
(ステップS306)比較部107は、補正パラメータ格納部106に格納されている位置補正情報を用いて設定される位置補正関数を用いて座標(n、m)を補正した座標(N、M)(ただし、Nはp以下、Mはq以下)を取得する。例えば、上述したように、第二の画像に含まれる第一の画像を、撮影対象となったオリジナルの第一の画像の対応する領域に配置した場合における、オリジナルの第一の画像の四つの頂点の座標を、第二の画像の座標系を用いて表す。そして表した座標の情報が、位置補正情報として予め補正パラメータ格納部106に格納されている場合、予め利用することが指定されている係数等が決定されていない位置補正関数に、この四つの頂点を座標を代入することで、位置補正関数の係数等を求めて、位置補正に使用する位置補正関数を得る。次に、この位置補正関数に座標(n、m)を代入して補正した座標(N、M)を取得する。なお、比較部107が位置補正関数の係数等を算出するタイミング等は問わない。また、一度、位置補正関数の係数等を算出した後は、再度の算出処理は省略してよい。
(ステップS307)比較部107は、第一の画像の座標(N、M)の画素の色情報と、ステップS305において色を補正した第二領域画像の座標(n、m)の画素の色情報とを比較する。この比較は、例えば、対応する画素同士の、同じチャンネルの色強度の値の差、もしくは差の絶対値を算出することで行われる。なお、この比較においては、第一の画像の座標(N、M)の画素の色情報の代わりに、座標(N、M)を中心とした複数の画素により構成される画素ブロックの色情報の代表値を用いてもよい。
(ステップS308)透過画像構成部108は、比較部107による比較結果を用いて、第二領域画像の座標(n、m)の画素が、第一の画像内の対応する画素と一致するか否かを判断する。例えば、ステップS307において算出した各チャンネルごとの色強度の差が、全て予め設定された値よりも小さいか否かを判断し、全てのチャンネルの色強度の差が、それぞれ予め設定された値よりも小さい場合、画素同士が一致すると判断し、小さくない場合、一致しないと判断する。なお、画素同士の比較および一致の判断を、R、G、Bの各チャンネルの色強度の差を求めて行う場合について説明したが、これはあくまでも一例であり、画素同士、あるいは画素と画素ブロックや、画素ブロック同士の比較等は、どのような方法により行うようにしてもよい。比較結果に基づいて一致すると判断された場合、ステップS309に進み、一致しないと判断された場合、ステップS310に進む。
(ステップS309)透過画像構成部108は、ステップS308において判断した第二領域画像の(n、m)の画素が第一の画像に一致する画素であるとする判断結果をメモリ等に一時記憶し、ステップS310に進む。
(ステップS310)比較部107は、カウンタnの値を1インクリメントする。
(ステップS311)比較部107は、カウンタnの値がpより大きいか否かを判断する。pより大きい場合、ステップS312に進み、大きくない場合、ステップS303に戻る。
(ステップS312)比較部107は、カウンタmの値を1インクリメントする。
(ステップS313)比較部107は、カウンタmの値がqより大きいか否かを判断する。qより大きい場合、ステップS314に進み、大きくない場合、ステップS302に戻る。
(ステップS314)比較部107は、ステップS309により記憶された判断結果を用いて第二領域画像内の第一の画像と一致する領域を決定する。例えば、ステップS308において一致していると判断された画素のうちの、連続して隣接している領域を判断し、その領域の縁となる複数の画素の座標等を、第二領域画像内の、第一の画像と一致する領域を定義する情報としてメモリ等に蓄積してもよい。また、ステップS308において一致していると判断された全ての画素の座標を、第二領域画像内の第一の画像と一致する領域を定義する情報としてメモリ等に蓄積してもよい。そして、上位関数にリターンする。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、上記図2および図3のフローチャートにおいては、画素間のR、G、Bチャンネルの色情報を比較して、第二領域画像の画素と、第一画像情報が示す第一の画像の画素とが一致するか否かを判断する場合を例に挙げて説明したが、画素間の他の色の情報、例えば輝度値等を用いて、画素同士が一致するか否かを判断してもよい。このような画素間の比較としては公知の技術が利用可能である。
次に、上記実施の形態による画像処理装置を用いたテレビ会議システムの実施の形態を説明する。
図4は、本実施の形態によるテレビ会議システムのブロック図である。テレビ会議システムは、第一テレビ会議端末10と第二テレビ会議端末20とを具備している。第一テレビ会議端末10と第二テレビ会議端末20とは、例えばネットワークや通信回線等を介して通信可能に接続されている。第一テレビ会議端末10と第二テレビ会議端末20とは、例えば、2つの離れた会議室間で双方向の対話ができるように、それぞれの会議室に設置される。ここでは、第一テレビ会議端末10が配置されている会議室を第一会議室、第二テレビ会議端末20が配置されている会議室を第二会議室とする。
第一テレビ会議端末10は、ここでは例として、前記実施の形態1による画像処理装置100を備えているものとする。
また、第二テレビ会議端末20は、撮影部201と、撮影した画像を第一テレビ会議端末10に送信する送信部202と、第一テレビ会議端末10から送信される画像を受信する受信部203と、受信した画像を表示する表示部204とを備えている。なお、撮影部201、送信部202、表示部204の構成は、基本的には第一テレビ会議端末10の撮影部103、出力部109、表示部102と同様の構成を有しているため、ここでは説明を省略する。
受信部203は、第一テレビ会議端末10から送信される透過画像が付与された第二の画像、すなわち透過画像を受信する。受信部203は、通信手段のデバイスドライバや、記録媒体等から情報を読み出す装置の制御ソフトウェア等で実現され得る。
図5は、テレビ会議システムの概念図である。第一テレビ会議端末10は表示デバイスとしてディスプレイ102aを有するとともに、ディスプレイ102aと撮影部103以外は、ここでは、情報処理装置1000により構成されているものとする。また、第二テレビ会議端末20は表示デバイスとしてディスプレイ204aを有するとともに、ディスプレイ204aと撮影部201以外は、ここでは、情報処理装置2000により構成されているものとする。なお、図5に示すように、第一テレビ会議端末10においては、撮影部103の撮影領域内に、表示部102の表示デバイスであるディスプレイ102aが、表示面が撮影部103に対向するように配置されているものとする。
ここで、予め撮影部103が撮影した第二の画像内に含まれる第一の画像と、受付部101が受け付けるオリジナルの第一の画像との位置関係を調べておき、第二の画像に含まれる第一の画像を、撮影対象となったオリジナルの第一の画像の対応する領域に配置した場合における、オリジナルの第一の画像の四つの頂点の座標を、第二の画像の座標系を用いて表した座標の情報を位置指定情報として、補正パラメータ格納部106に蓄積しておく。
図6は、第二の画像62と、第二の画像62の座標系を用いて表した第一の画像61の四つの頂点の座標の情報との位置関係を示す模式図である。例えば、ここでは第二の画像62の座標系を用いて表した第一の画像61の四つの頂点の座標は、(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)であったとする。ここでは、第二の画像62は、ディスプレイ102aに表示された第一の画像61内の一部の画像のみを撮影した画像である場合を示しているため、上記の四つの座標は、全て第二の画像62の外側に位置している。
ただし、第二の画像62は、ディスプレイ102aに表示された第一の画像全体を含む領域を撮影した画像であってもよい。この場合、上記の四つの頂点の座標は、第二の画像内の座標となる。また、第二の画像62は、ディスプレイ102aに表示された第一の画像61の一部と、第一の画像61以外の領域を撮影した画像であってもよい。この場合、上記の四つの頂点の座標の一部が第二の画像62内の座標となり、その他の座標は、第二の画像62外に位置する。なお、座標の単位はピクセルとする。
また、第一の画像61の色と、第二の画像62内の第二領域画像の色との違いを補正するための補正関数の係数である色補正情報を、予め算出し設定しておく。例えば、第一の画像として、所定の色の第一の画像を表示させ、この第一の画像の複数の位置の色と、この第一の画像を撮影した第二の画像内の第二領域画像の、第一の画像の複数の位置に対応すると考えられる位置の色を、色補正に利用する色補正関数に代入することで、色補正関数の係数等の色補正情報を取得することができる。
次に、テレビ会議システムの動作について説明する。
まず、第一会議室においては、テレビ会議の参加者Aが、撮影部103とディスプレイ102aとの間に立っており、第二会議室においては、テレビ会議の出席者Bが、撮影部201の正面に着席していたとする。この状態でテレビ会議を開始したとする。
まず、図7に示すような、第二会議室において、第二テレビ会議端末20の撮影部201で撮影された出席者Bの上半身の画像を含む第一の画像70が、送信部202から、ネットワークを介して第一テレビ会議端末10に送信される。
第一会議室の第一テレビ会議端末10では、受付部101が第一の画像を受け付ける。ここでは、第二テレビ会議端末20から受信する。表示部102は、受付部101が受け付けた図7に示したような第一の画像を取得して、ディスプレイ102aに表示する。次に、撮影部103は、第一会議室の出席者Aの画像を含む第二の画像を撮影する。撮影した第二の画像を画像受付部104が受け付ける。受け付けた第二の画像は、図示しないメモリ等に一時記憶するようにしてもよい。
図8は、第二の画像80の例を示す図である。第一会議室においては、撮影部103の撮影領域が、ディスプレイ102aの表示領域内に位置しているため、第二の画像80においては、出席者Aの背景として、第二会議室の出席者Bの画像を含む第一の画像を表示しているディスプレイ102aが背景として撮影されていることとなる。
ここで、この撮影部103が撮影した第二の画像を、そのまま出力部109から第二テレビ会議端末20に送信して表示部204のディスプレイ204aに表示させた場合、第二会議室の参加者Bは、自分自身が撮影されている第一の画像が背景に表示されている第二の画像を、ディスプレイで見ることとなる。すなわち、第二会議室で撮影された第一の画像が、第二会議室のディスプレイ204aにフィードバックされて表示されることとなる。このため、テレビ会議としては適切な画像が表示されているとはいえない状況となり、会議のスムーズな進行に支障をきたす恐れがある。例えば、第二会議室においては、参加者Bは、ディスプレイ204aにフィードバックされて表示される自分自身の画像が気になり、注意が散漫となり、会議が効率良く行われなくなってしまうことが考えられる。
このため、本実施の形態においては、このようなフィードバックされる画像を不可視とした画像を、他の会議室に送信する処理を行う。
まず、受付部101が第一の画像を受け付け、表示部102に出力すると同時に、同じ第一の画像が遅延バッファ105に蓄積される。比較部107は、画像受付部104が受け付けた第二の画像を取得するとともに、遅延バッファ105により所定の時間遅延された、当該第二の画像内に撮影されている第一の画像と同じ第一の画像を、遅延バッファ105から取得する。
次に、第二の画像の各画素について、第二の画像内の第一の画像が位置する領域内の画像であるか否か、すなわち、第二領域画像の画素であるか否かを判断する。すなわち、図8に示すような、上述した四つの頂点の座標(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)により定義される領域の画素であるか否かを判断する。ここでは、第二の画像の全ての画素が第二領域画像の画素と判断される。
そして、この領域の画素であると判断された画素について、当該画素の色情報、ここでは、R、G、Bの色強度の値を取得する。次に、この色強度の値を、補正パラメータ格納部106に格納されている色補正情報を用いて色補正関数により補正する。
ここで利用する色補正関数として、例えば、
R=a1r+a2g+a3b、
G=b1r+a2g+a3b、
B=c1r+a2g+a3b
という色補正関数を用いるものとする。
ここで、第二の画像の画素値、すなわち各色強度の値を(r,g,b)、補正後の画素値、すなわち各色強度の値を(R,G,B)とする。このa1〜a3、b1〜b3、c1〜c3、は、色補正関数の係数、すなわち補正パラメータ格納部106に格納されている色補正情報である。従って、この色補正関数のr、g、bに、第二領域画像の画素であると判断された画素の色情報を代入することで、補正した色情報(R、G、B)を得ることができる。
次に、比較部107は、補正パラメータ格納部106に格納されている位置補正情報である第二の画像内の第二領域画像の四つの頂点の座標を、予め指定されている位置補正に利用する係数が特定されていない位置補正関数に代入する。そして、第二領域画像に対応する第一の画像の座標を算出するための位置補正関数の係数を算出して、位置補正関数を得る。
ここで利用する位置補正関数が、例えば、
X=ax+by、
Y=cx+dy
で表される関数であったとする。ここで、第二の画像内の第二領域画像を構成する画素の位置を(x、y)、オリジナルの第一の画像内の画素の位置を(X,Y)とし、a、b、c、dは、それぞれ位置補正関数の係数であるとする。
この場合、上述した四つの頂点の座標(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)を、上記関数のxおよびyに代入することで、a、b、c、dを算出することができる。これにより、フィードバックされる画像を不可視とする際に利用する位置補正関数を求めることができる。なお、このa、b、c、dの値を、最初から位置補正情報として与えておくようにしてもよい。また、このa、b、c、dの値を与えた補正関数自身を位置補正情報としてもよい。
そして、この位置補正関数を用いて、第二領域情報の画素と判断された画素に対応する第一の画像内の画素、もしくは画素ブロックを指定する座標を取得する。具体的には、取得した位置補正関数のx、yに、第二領域情報の画素と判断された画素の座標を代入することで、第一の画像内の対応する座標(X,Y)を得ることができる。
次に、第一の画像内のこの座標に位置する画素、もしくは画素ブロックの色情報を取得して、対応する第二領域画像の画素の色情報を色補正した色情報との比較を行う。具体的には、画素の色情報同士、具体的にはR、G、Bのそれぞれのチャンネルの色強度の値を比較し、全ての差が所定の値より小さければ一致すると判断する。
例えば、第二領域画像内の画素と判断された画素の(R、G、B)の各チャンネルの値が、(230、13、56)であり、当該第二領域画像内の画素の座標を位置補正関数により補正して得られた第一の画像内の座標に位置する画素の(R、G、B)の各チャンネルの値が、(231、10、57)であったとし、各チャンネルの値が一致すると判断される値の差の上限値、すなわち各チャンネルの閾値がすべて「5」であったとすると、この場合には、全てのチャンネルの値の差の絶対値が6より小さいため、画素同士が一致すると判断される。このため、第二領域画像内の画素と判断された画素は、第一の画像内の画素であると判断される。そして、この第二領域画像内の画素と判断された画素を、第一の画像内の画素に一致する画素として図示しないメモリ等に一時的に蓄積していく。なお、閾値は、予め設定されていてもよいし、適宜設定できるようにしてもよい。
逆に、例えば、第二領域画像内の画素と判断された画素の(R、G、B)の各チャンネルの値が、(230、13、56)であり、当該第二領域画像内の画素の座標を位置補正関数により補正して得られた第一の画像内の座標に位置する画素の(R、G、B)の各チャンネルの値が、(238、10、50)であったとすると、この場合には、RとBのチャンネルの値の差の絶対値が「6」以上であるため、画素同士が一致しないと判断され、第二領域画像内の画素と判断された画素は、第一の画像内の画素ではない、と判断される。すなわち、この画素は、ディスプレイ102aの前に位置する参加者Aを撮影した画素等と考えられる。このような処理を、第二の画像の全ての画素について行う。
その後、透過画像構成部108は、メモリ等に蓄積された第一の画像内の画素に一致する画素を読み出し、この画素が含まれる領域を、第二の画像内の第一の画像と一致する領域に決定する。例えば、画素が連続している領域を順次検出していく。そして、この領域の縁となる複数の画素の座標等を、第二の画像内の、第一の画像と一致する領域を定義する情報として取得し、図示しないメモリ等に一時的に蓄積する。
図9は、第二の画像80内の第一の画像と一致する領域90を示す図である。次に、透過画像構成部108が、この第二の画像内の第一の画像と一致する領域を定義する情報を読み出し、この領域を透過領域に設定したアルファチャンネルを構成し、第二の画像に付加する。図10は、第二の画像80にアルファチャンネル95を付加した状態を模式的に示す図である。このアルファチャンネルが付加された画像が透過画像である。なお、アルファチャンネル95は第二の画像80と同じファイル等を構成しているものとする。ただし、第二の画像80と対応付けがなされていれば、アルファチャンネルの画像は同じファイルを構成していなくてもよい。
次に、透過画像構成部108が、この透過領域により分離されている領域を、クリッピング、すなわち切り抜く。このクリッピングした第二の画像においても、アルファチャンネルは保持されているようにする。さらに、このクリッピングした第二の画像のそれぞれが、クリッピング前の第二の画像のどの位置に配置されていたかを示す情報を取得し、クリッピングした第二の画像に対応付けて図示しないメモリ等に、保持しておく。ここでは、アルファチャンネルを構成した後、クリッピングするようにしたが、クリッピング後にアルファチャンネルを構成してもよい。このような透過領域等の情報に基づいてクリッピングを行う処理は公知であるので説明は省略する。
図11は、クリッピングにより得られた第二の画像91、92を示す図である。また、図12は、クリッピングにより得られた第二の画像91、92と、それぞれの画像が配置される位置を示す情報、ここでは座標とを管理するためのクリッピング画像管理表である。クリッピング画像管理表において、「座標」は、オリジナルの第二の画像内のクリッピング画像の左上の座標を示す。「画像」は、クリッピングにより得られた画像を示す。
出力部109は、クリッピングにより得られた第二の画像91、92に、これらの画像の配置される位置を示す座標の情報を対応付けて、第二テレビ会議端末20に送信する。
このようにクリッピングした画像を送信することで、第二の画像内の透過領域、すなわち表示する必要のない領域の画像を削除して、送信する第二の画像の情報量を削減することができる。この結果、限られた通信帯域の中で、効率良く画像の送受信を行うことが可能となり、画像の遅れや乱れ、コマ落ち等の発生を低減させることができる。
第二テレビ会議端末20では、クリッピングにより得られた第二の画像91、92とこれらに対応付けられた座標の情報を受信し、図示しないメモリ等に一時記憶する。そして、表示部204が、この第二の画像91、92を、それぞれに対応付けられた座標の情報が示す位置に配置し、アルファチャンネルが示す透過領域に、例えば予め設定された背景画像等を配置した、表示用の画像を構成して、ディスプレイ204aに表示する。図13は、第二テレビ会議端末20のディスプレイ204aによる表示例を示す図である。これにより、双方向でテレビ会議を実現することができる。
なお、この具体例ではクリッピングした第二の画像を、出力部109が出力するようにしたが、通信の帯域が広い場合等には、出力部109は、クリッピングしない第二の画像を出力するようにしてもよい。
以上、本実施の形態によれば、撮影部103が撮影した第二の画像から、表示部102が表示している第一の画像と一致する画像を透過領域とするようにしたことにより、表示部102が表示している画像が、撮影部103が撮影した第二の画像に含まれて出力されることを防ぐことができる。これにより、例えば、撮影部103がテレビ会議等の参加者を撮影した画像から、参加者の背景において、表示部102に表示されている他の会議室における会議の参加者の画像を除去した画像を、他の会議室のテレビ会議端末に送信することができる。この結果、それぞれの会議室で撮影された画像が、フィードバックされて、同じ会議室内のディスプレイ等に表示されることを防ぐことができ、フィードバックされた画像による混乱等を抑えて、会議を効率的に行うことが可能となる。
さらに、位置補正情報および色補正情報等の補正パラメータを用いて、第一の画像と、第二の画像内に含まれる第一の画像と、の色あわせおよび位置あわせのための補正を行って、第一の画像と第二の画像内に含まれる第一の画像とを比較するようにしたことにより、精度良く画像同士の比較を行うことができる。例えば、通常、第一の画像と、第一の画像を一旦ディスプレイ102a等に表示したものを、撮影部103で撮影した画像とでは、使用する機器の特性や、照明等の影響等により色が大きく変わることがあるが、本実施の形態においては、このような色の違いを補正して画像同士を比較することが可能である。
また、撮影部103やディスプレイ102aの配置や、撮影部103のレンズ特性等により、第二の画像内の第一の画像は、オリジナルの第一の画像に比べて、大きさや形等が大きく変形しており、両者の画素同士を対応させて比較することが困難であるが、本実施の形態においては位置補正を行うことで、第一の画像内の位置と、第二の画像に含まれる第一の画像内の位置とを正確に位置あわせし、対応付けて比較することができるため、正確な比較が可能となる。
なお、上記具体例において、第二テレビ会議端末20として、第一テレビ会議端末10と同様の構成を用いるようにしてもよい。
また、上記具体例においては、第一テレビ会議端末10の表示部102と撮影部103とがそれぞれ一つであり、第二テレビ会議端末20においても、撮影部201と表示部204とがそれぞれ一つである場合について説明したが、これらは複数であってもよい。例えば、図14に示すように、第一テレビ会議端末10に、表示部102と同様の、図示しない6つの表示部を設けるようにし、それぞれの表示デバイスである6つのディスプレイ102aを、八角形の領域の6つの辺に並べて配置し、各ディスプレイ102aの上部に6つの撮影部103をそれぞれ配置するようし、その八角形の領域の中央部に、会議用のテーブル等を配置するようにしてもよい。
この場合、第二テレビ会議端末も、同様の構成として、第一テレビ会議端末10の各撮影部103が撮影した第二の画像が、図示しない第二テレビ会議端末の6つの表示部の表示デバイスである6つのディスプレイにそれぞれ表示されるようにし、図示しない第二テレビ会議端末の6つの撮影部が撮影した第一の画像が、第一テレビ会議端末10の6つのディスプレイ102aにそれぞれ表示されるようにすることが好ましい。このように参加者の画像を表示する複数のディスプレイを設けることで、多人数で、臨場感あふれる会議を実現することができる。
なお、上記具体例においては、第二領域画像の画素と、当該画素の座標を位置補正関数で座標変換して得られた座標に対応する第一の画像内の画素等を、適宜比較するようにした場合について説明したが、予め第二領域画像全体を、位置補正関数を用いて位置補正することで、第一の画像と同じ形状の画像を構成して、第一の画像の各画素や画素ブロック等と比較するようにしてもよい。また、予め第一の画像全体を、位置補正関数を用いて位置補正して、第二領域画像と同じ形状の画像を構成して、構成した第一の画像を、第二領域画像の各画素や画素ブロック等と比較するようにしてもよい。
(実施の形態2)
本実施の形態にかかる画像処理装置は、上記実施の形態1にかかる画像処理装置において、上述した補正パラメータを取得するための構成を備えたものである。
図15は、本実施の形態における画像処理装置の具体例を示すブロック図である。
画像処理装置300は、画像格納部301、受付部101、表示部302、撮影部303、画像受付部104,遅延バッファ105、補正パラメータ格納部106、比較部107、透過画像構成部108、出力部109、撮影画像格納部304、目印画像検出部305、対応情報取得部306、対応管理情報格納部307、および、補正パラメータ構成部308を具備する。
補正パラメータ構成部308は、色情報取得手段3081、色補正情報取得手段3082、位置補正情報取得手段3083を有する。受付部101、画像受付部104、遅延バッファ105、補正パラメータ格納部106、比較部107、透過画像構成部108、出力部109については、上記実施の形態1と同様の構成を有するため、説明を省略する。
画像格納部301には、一以上、好ましく複数の目印画像が異なる位置に配置された画像であるパターン画像が数格納される。これらの複数のパターン画像間においては、複数の目印画像の配置されている位置が同じとなっている。さらに、複数のパターン画像においては、異なる位置に配置された目印画像の色の出現パターンが互いに異なるものとしている。目印画像とは、目印となる画像である。ここで述べる目印とは、画像内の位置を識別するための目印である。目印画像は後述するパターン画像の一部を構成する画像である。目印画像は、具体的には、後述する表示部302が表示する画像内の位置と、撮影部303が撮影した画像内において表示部302が表示している画像内の位置との対応を求める際に用いられる画像のことである。目印画像は、背景等から分離して検出可能な、色や形状を有する画像である。目印画像の形状は、目印画像が表示される位置を、目印画像の中心の位置とする場合、目印画像が変形しても、その中心位置が変わりにくいことから、円形が好ましい。ただし、多角形等の他の形状でもよい。なお、目印画像の大きさは問わない。
各目印画像は、通常、複数の色のうちのいずれか一つの色を有する。目印画像の色は、撮影部303が表示部302により表示されたパターン画像の少なくとも一部を含む画像を撮影した画像(以下、撮影画像と称す)内において、目印画像の背景となる画像である背景画像に対して識別可能な色とする。各目印画像は、均一な色であることが好ましいが、識別が可能な範囲であれば、多少のばらつきを有していてもよい。目印画像およびパターン画像は、ベクトル画像でもラスタ画像であってもよい。パターン画像の目印画像が配置されていない領域は、通常、背景画像となっている。
パターン画像は、例えば、表示部302が通常表示する画像の画素数に相当する画素数を有する背景画像の所定の位置に、複数の目印画像を配置して構成した画像である。パターン画像における目印画像間の配置間隔や位置関係等は問わない。各パターン画像において、各目印画像の配置される位置は、通常、予め指定されている。目印画像の配置されている位置は、表示部302が通常表示する画像内の位置を示す情報、例えば座標等で指定される。目印画像の配置されている位置は、表示部302の表示領域内の位置を示す情報、例えば座標等で指定されてもよい。目印画像は、表示される位置、あるいは配置される位置を指定する情報と対応付けられて、画像格納部301内に格納されていてもよい。
なお、パターン画像は、表示部302により表示される画像における、表示位置を示す情報等と対応付けられた複数の目印画像と考えてもよい。この場合、表示部302が表示を行う際に、これらの複数の目印画像を、それぞれの表示位置に配置した表示用のパターン画像を構成して、パターン画像を表示するようにしてもよい。ここでは、上述したように、各パターン画像間においては、複数の目印画像が配置される位置が一致しているとともに、同じ位置に表示される目印画像の色が出現するパターン、すなわち、出現パターンが、位置毎に全て異なるように、各パターン画像内に目印画像を配置している。
色の出現パターンとは、言い換えれば目印画像の色の変化のパターンである。具体的には、出現パターンは、複数のパターン画像の、各目印画像が配置される位置における複数の目印画像の色の順列または組み合わせである。例えば、出現パターンは、複数のパターン画像を予め設定されている所定の順番で並べた場合における、各目印画像の配置位置における目印画像の色の出現する順列である。また、例えば、出現パターンは、パターン画像の各目印画像の配置されている位置において、複数のパターン画像から複数の目印画像を取り出した場合における、取り出された目印画像の色の組み合わせであってもよい。例えば、本実施の形態においては、複数のパターン画像を、予め設定された順番に表示させる場合に、異なる位置に表示される目印画像の色の出現パターンが互いに異なるような複数の目印画像を、各パターン画像が有しているようにする。
このようにすることにより、詳細については後述するが、撮影部303が撮影した画像内における目印画像が配置されている位置毎の目印画像の色の出現パターンを用いて、目印画像が配置されている位置を識別することができる。なお、色の情報を数値で置き換えるようにし、その数値の出現パターンを取得することも、ここでは、色の出現パターンを取得することと考える。また、ここでは例として、各パターン画像における各目印画像の色は、それぞれ2色のうちのいずれか一方であるとする。また、各パターン画像間における各目印画像の2色の組み合わせは、全て同じとしてもよいが、異なるようにしてもよい。特に、全て異なるようにすることで、その色の組み合わせを判断することにより、どのパターン画像であるか、もしくはどのパターン画像を撮影した画像であるかを判断することができる。
後述するが、各パターン画像内の目印画像が、2色の色のうちのいずれか一方の色を有する場合において、各目印画像が配置された位置を識別できるようにするためには、各パターン画像内に配置される目印画像数をA(Aは2以上の整数)、パターン画像数をB(Bは2以上の整数)とした場合に、
2B≧A
の関係を満たすような複数のパターン画像が、画像格納部301に格納されているようにする。画像格納部301は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
表示部302は、上記実施の形態において説明した第一の画像を表示する表示部102において、さらに、画像格納部301に格納されている複数のパターン画像を読み出して、切り替えて表示するようにしたものである。なお、複数のパターン画像は、予め定められた順番で表示することが好ましいが、表示部302に表示したパターン画像、もしくは撮影部303が撮影した画像内に含まれるパターン画像から、各パターン画像を識別可能な場合には、表示部302が各パターン画像を表示する順番は問わない。ここでは、表示部302の表示デバイスの表示面の向き等は、パターン画像の表示時と、第一の画像の表示時とで、変更しないものとする。
撮影部303は、上記実施の形態1において説明した、第二の画像を撮影する撮影部103において、さらに、表示部302がディスプレイ等に表示しているパターン画像を含む画像を撮影するようにしたものである。撮影部303は、表示部302が画像を表示する領域とともに、それ以外の領域を含む領域の画像を撮影してもよい。また、表示部302が、複数のパターン画像を切り替えて表示する場合、切り替えて表示部302に表示される複数のパターン画像を含む各画像を、それぞれ撮影する。また、撮影部303は、表示部302が表示しているパターン画像のうちの、複数の目印画像を含む一部の領域のみを撮影してもよい。撮影部303は、複数のフレーム画像を備えた動画像を撮影してもよいし、静止画像を撮影してもよい。
上述したように複数のパターン画像が切り替えられて表示される場合、撮影部303は、パターン画像が切り替える毎に静止画像を撮影してもよいし、切り替えられた全てのパターン画像を含む動画像を撮影してもよい。例えば、撮影部303は、表示部302から、表示しているパターン画像の切り替えを行うことを示す情報を受け付けるようにし、切り替えを行う情報を受け付けた場合に、静止画像を撮影してもよい。また、撮影部303は、切り替えが行われたことを示す情報を、撮影している動画像のフレームやヘッダ等に付与してもよい。この情報を参照することで、パターン画像の切り替えが行われたタイミングを判断することができる。撮影部303は、撮影した画像を、撮影画像格納部304に蓄積する。撮影部303は、撮影したパターン画像の表示順番を示す情報を構成して、撮影した画像である撮影画像に対応付けて、撮影画像格納部304等に蓄積してもよい。ここでは、撮影部303は、パターン画像の撮影時と、第二の画像の撮影時とで、撮影領域等を固定して利用される。
撮影画像格納部304には、撮影部303が撮影した、表示部302がディスプレイ等に表示しているパターン画像を含む画像が格納される。ここでは、具体的には、撮影画像格納部304には、画像受付部104が受け付けたパターン画像を含む画像が蓄積される。撮影画像格納部304は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
目印画像検出部305は、撮影部303が撮影した画像内における目印画像を検出する。撮影部303が、表示部302に切り替えて表示されたパターン画像を撮影した場合、目印画像検出部305は、撮影部303が撮影した、表示部302が表示した各パターン画像を含む静止画像毎に、画像内における各目印画像を検出する。あるいは、目印画像検出部305は、表示部302が表示した各パターン画像を撮影部303が撮影した動画像のうちの、各パターン画像が撮影されている部分から、それぞれ1フレームを取り出して、それぞれ画像内における各目印画像を検出する。1フレームを取り出す代わりに複数フレームを取り出して、複数フレームを平均した1フレーム分の合成画像を予め構成してもよい。
目印画像検出部305は、結果的に、全てのパターン画像から目印画像を検出できればよく、例えば、全てのパターン画像について目印画像を検出する代わりに、一つのパターン画像について目印画像を検出し、他のパターン画像については、その検出した位置と同じ位置に、目印画像が検出されたものとしてもよく、このような場合においても、各パターン画像について目印画像を検出したことと考える。
目印画像検出部305は、例えば、予めメモリ等に蓄積しておいた目印画像に用いられる複数の色の情報を読み出し、各パターン画像を含む静止画像、もしくは1フレームの画像内において、画素毎に、目印画像に用いられているいずれかの色と同じか、もしくは目印画像の色に近いか否かを判断し、目印画像の色と同じ画素、もしくは近い画素が連続して隣接している領域が検出された場合に、この領域内の画像を、撮影部303が撮影した画像内における目印画像として検出する。
目印画像検出部305は、検出した目印画像を指定する情報を、例えば、図示しないメモリ等の記憶媒体等に蓄積する。検出した目印画像を指定する情報は、目印画像が指定できる情報であればよく、例えば、目印画像を構成する各画素の座標情報、目印画像を代表する画素、例えば中心の画素等の座標情報や、目印画像の輪郭を指定する座標情報等である。目印画像検出部305は、各目印画像に対して、管理のための識別情報等を対応付けてメモリ等に蓄積してもよい。
なお、複数のパターン画像の目印画像として利用される2色の組み合わせが、前記パターン画像毎に互いに異なっている場合、目印画像検出部305は、各パターン画像から検出した目印画像に用いられている色の組み合わせを取得し、当該色の組み合わせを用いて撮影画像内のパターン画像を識別したり、撮影画像内のパターン画像が配列される順番を取得するようにしてもよい。例えば、予め各パターン画像と、各パターン画像に用いられる2色の色の組み合わせを示す情報とを対応付けた判断用の情報を用意しておき、この情報の色の組み合わせの中から、撮影画像内の目印画像に用いられている色の組み合わせと一致する色の組み合わせを検索し、一致する組み合わせに対応づけられたパターン画像が、撮影画像内のパターン画像であると判断する、または識別するようにすればよい。
目印画像検出部305は、通常、MPUやメモリ等から実現され得る。目印画像検出部305の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
対応管理情報格納部307には、画像格納部301に格納されている複数のパターン画像における複数の目印画像の配置されている位置と、当該配置されている位置における色の出現パターンとの対応を示す情報である対応管理情報が格納される。目印画像の配置された位置は、例えば、各パターン画像内における目印画像が配置されている位置の座標で表すようにしてもよい。また、表示部302の表示領域内における、目印画像が表示される座標で表すようにしてもよい。目印画像の配置された位置を示す情報は、目印画像の位置を特定できる情報であればよく、例えば、目印画像の中心の座標情報等である。また、目印画像の輪郭等を指定する情報等であってもよい。
目印画像の配置されている位置における色の出現パターンとは、目印画像の色の出現するパターン、言い換えれば変化のパターンである。例えば、出現パターンは、各目印画像が配置されている位置における色の順列または組み合わせである。例えば、出現パターンは、複数のパターン画像を予め設定されている所定の順番で並べた場合における、各目印画像の表示位置において表示される目印画像の色の出現する順列である。また、例えば、出現パターンは、複数のパターン画像の、各目印画像の配置されている位置から、目印画像を取得した場合の、当該取得した目印画像の色の組み合わせであってもよい。
なお、色の出現パターンは、色の値や名称等の変化する順番や組み合わせを並べて表した情報であってもよい。例えば、出現パターンは、赤、黄、録、赤、青等で表される。また、色の情報等を数値に置き換えたりした値の変化する順番を表した情報であってもよいし、1つのパターン内において目印画像として利用される2色の色を、2値の値で表した場合の2値の出現するパターンであってもよい。
例えば、第一のパターン画像においては、赤色の目印情報を「0」、青色の目印情報を「1」とし、第二のパターン画像においては、緑色の目印情報を「0」、青色の目印情報を「1」とし、第三のパターン画像においては、黄色の目印情報を「0」、青色の目印情報を「1」とした場合においては、出現パターンは、「011」、「101」や、「0」が3つと「1」が5つの組み合わせ等で表される。対応する表示位置と出現パターンとは、例えばデータベースの一つのレコードの、二つの属性値として管理される。対応管理情報格納部307は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
対応情報取得部306は、撮影部303が撮影した画像内における目印画像の位置と、目印画像の予め指定されている表示位置との対応を示す情報である対応情報を取得する。例えば、対応情報取得部306は、目印画像検出部305が検出した各目印画像から、同じ位置において検出された目印画像についての色の出現パターンを取得し、当該色の出現パターンが取得された、撮影部303が撮影した画像内の位置と、当該色の出現パターンと一致する色の出現パターンを有する複数のパターン画像における目印画像の表示位置と、の対応を示す対応情報を取得する。ここでの一致は、完全一致であっても部分一致であってもよい。
対応情報取得部306は、例えば、目印画像検出部305が各パターン画像について撮影した画像において検出した各目印画像の、色情報を取得する。そして、表示部302に表示された各パターン画像を撮影した画像を、予め指定された所定の順番に並べた場合における、目印画像検出部305が検出した目印画像のうちの、ほぼ同じ位置に検出された目印画像についての色の出現パターンを取得する。色の出現パターンは、上述したように、色の値や名称等の変化する順番を並べて表した情報であってもよいし、色の情報等を数値に置き換えたりした値の変化する順番を表した情報であってもよいし、1つの画像において目印画像として利用される2色の色を、2値の値で表した場合の2値の出現するパターンであってもよい。
そして、対応情報取得部306は、この色の出現パターンと一致する色の出現パターンを有する一以上のパターン画像における目印画像が表示される位置の情報を取得する。具体的には、対応管理情報格納部307に格納されている対応管理情報から、対応情報取得部306が取得した撮影部303が撮影した画像における目印画像の色の出現パターンと一致する、パターン画像内の目印画像の色の出現パターンに対応付けられた目印画像の位置情報を取得する。そして、この取得した目印画像が表示される位置情報と、色の出現パターンが同じである目印画像検出部305が検出した目印画像の位置情報との対応を示す対応情報を取得する。
対応情報は、具体的には、対応する目印画像が表示される位置情報と、目印画像検出部305が検出した撮影された画像における目印画像の位置情報とを対に持つ情報である。ここでの位置情報は、例えば座標情報である。なお、必ずしも、目印画像検出部305が検出した全ての目印画像の位置について、対応情報を取得する必要はない。また、対応情報取得部306は、通常、MPUやメモリ等から実現され得る。対応情報取得部306の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
補正パラメータ構成部308は、対応情報取得部306が取得した対応情報を用いて、補正パラメータを構成し、補正パラメータ格納部106に蓄積する。ここで述べる補正パラメータとは、上記実施の形態1において説明した補正パラメータと同様の補正パラメータであり、例えば、位置補正情報や、色補正情報である。この位置補正情報および色補正情報は、位置補正関数の係数や色補正関数の係数等であってもよいし、位置補正関数や色補正関数自身であってもよい。補正パラメータ構成部308は、通常、MPUやメモリ等から実現され得る。補正パラメータ構成部308の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
色情報取得手段3081は、撮影部303が撮影した画像内の複数の目印画像の色に関する情報である色情報と、対応情報取得部306が取得した対応情報が示す撮影部303が撮影した画像内の複数の目印画像に対応したパターン画像内の目印画像の色情報とを取得する。色情報取得手段3081は一つの目印画像が表示される位置についての色情報を取得してもよいし、複数の目印画像が表示される位置についての色情報を取得してもよい。ただし、色情報取得手段3081は、一のパターン画像と、当該パターン画像を表示部302が表示したものを撮影部303が撮影した画像とからそれぞれ色情報を取得する。
また、色情報は、各目印画像内の一部、例えば一画素等の色情報であってもよいし、目印画像内の画素全体の色情報から最小二乗法等を用いて算出した色情報であってもよい。色情報取得手段3081は、通常、MPUやメモリ等から実現され得る。色情報取得手段3081の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
色補正情報取得手段3082は、色情報取得手段3081が取得した色情報を用いて、画像受付部104が受け付けた画像の色の補正に用いられる色補正情報を取得する。色補正情報とは、具体的には、色の補正に用いられる関数の係数等の値である。また、関数自身であってもよい。例えば、色情報取得手段3081が取得した色情報の値を、色を変換する関数に代入することで、色補正情報を算出することができる。これらの関数としては、上記実施の形態1と同様の色補正関数が用いられる。
ここで述べる色の補正とは、最終的には、第一の画像と、第二の画像内の第二領域画像の色とを色あわせする補正である。ただし、ここでは、この補正に用いられる色補正情報として、撮影部303が撮影した画像の色を、撮影部303が撮影したパターン画像のオリジナルに対して色をあわせるための補正に用いられる色補正情報を用いるものとする。この場合の色の補正は、撮影画像とオリジナルのパターン画像との相対的な色の補正であればよく、撮影画像を、オリジナルのパターン画像に色あわせする補正であっても、オリジナルのパターン画像を、撮影画像に色あわせする補正であってもよい。
色補正情報取得手段3082は、取得した色補正情報を、補正パラメータ格納部106に蓄積する。色補正情報取得手段3082は、通常、MPUやメモリ等から実現され得る。色補正情報取得手段3082の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
位置補正情報取得手段3083は、対応情報取得部306が取得した位置情報を用いて、画像受付部104が受け付けた画像の位置の補正に用いられる位置補正情報を取得する。
ここで述べる位置の補正とは、最終的には、第一の画像と、第二の画像内の第二領域画像の位置とを位置あわせする補正である。ただし、ここでは、位置補正情報として、撮影部303が撮影した画像を、撮影部303が撮影したパターン画像のオリジナルにあわせるための補正に用いられる位置補正情報を用いるものとする。ただし、この場合の位置の補正は、撮影画像とオリジナルのパターン画像との相対的な補正であればよく、撮影画像を、オリジナルのパターン画像にあわせる補正であっても、オリジナルのパターン画像を、撮影画像にあわせる補正であってもよい。
この位置の補正は、通常は撮影画像の座標と、オリジナルのパターン画像の座標との間の座標変換である。位置補正情報とは、具体的には、表示部302が表示する画像を構成する各画素を、撮影部303が撮影した画像内の、表示部302が表示している画像内の位置に座標変換するための関数や、撮影部303が撮影した画像内の、表示部302が表示している画像内の画素を、表示部302が表示する画像内の位置に座標変換するための関数の係数等の値である。ただし、位置変換関数自身であってもよい。例えば、対応情報が示すパターン画像内の目印画像の位置の座標情報と、対応する撮影された画像内の目印画像の位置の座標情報とを、画像を座標変換する関数に代入することで、位置補正情報を算出することができる。
座標変換する関数としては、例えば、アフィン変換の関数等がある。この場合、位置補正情報は、アフィン係数である。なお、関数は問わない。また、このような座標変換等を行う関数は、いわゆるモーフィング等の技術として公知である。位置補正情報取得手段3083は、取得した位置補正情報を補正パラメータ格納部106に蓄積する。位置補正情報取得手段3083は、通常、MPUやメモリ等から実現され得る。位置補正情報取得手段3083の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
次に、画像処理装置300の動作について説明する。なお、画像処理装置300の動作のうちの、第一の画像を表示して、当該第一の画像を含む領域を撮影した第二の画像から、第一の画像に一致する領域を削除する動作については、上記実施の形態1と同様であるので、詳細な説明は省略する。
以下、画像処理装置300の補正パラメータを取得する動作について図16のフローチャートを用いて説明する。ここでは、2色のいずれかの色を有する目印画像を異なる位置に複数有するパターン画像を、p(p≧2、pは整数)枚用意しており、各パターン画像間においては、各目印画像は同じ位置に表示されるとともに、各パターン画像を予め指定された順番で切り替えて配列、あるいは表示した場合に、同じ表示位置に表示される各目印画像の色の出現パターンは、位置毎に互いに異なるよう設定されているものとする。また、各パターン画像において、目印画像が表示される位置、および目印画像として利用される色、および背景の色は予め指定されているものとする。背景の色としては通常は黒等が用いられる。
(ステップS1601)表示部302は、カウンタmに1を代入する。
(ステップS1602)表示部302は、m番目のパターン画像を画像格納部301から読み出し、ディスプレイ等に表示する。
(ステップS1603)撮影部303は、表示部302が表示するm番目のパターン画像を撮影する。撮影部303は、パターン画像を静止画として撮影しても動画として撮影してもよい。撮影部303が撮影した画像は、画像受付部104により受け付けられ、撮影画像格納部304に蓄積される。なお、撮影部303は、撮影した順番を示す情報、あるいは撮影したパターン画像を識別する情報を、撮影した画像に対応付けて、蓄積してもよい。
(ステップS1604)表示部302は、カウンタmを1インクリメントする。
(ステップS1605)表示部302は、mがpより大きいか否かを判断する。mがpより大きい場合、ステップS1606に進み、大きくない場合、ステップS1602に戻る。
(ステップS1606)画像処理装置300は、撮影部303が撮影した画像から、すなわち、撮影画像格納部304に格納されている各撮影画像から目印画像を検出する。目印画像を検出する処理の詳細については後述する。
(ステップS1607)画像処理装置300は、補正パラメータを取得する。補正パラメータを取得する処理については後述する。そして、処理を終了する。
なお、図16のフローチャートにおいて、画像処理装置300が、上記の処理を開始するトリガやタイミング等は問わない。例えば、表示部302により、第一の画像の表示が行われる直前や、表示部302のディスプレイ等や、撮影部303等が設置された時点で行われるようにしてもよい。
なお、図16のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図17のフローチャートを用いて、ステップS1606に示した目印画像を検出する処理の詳細について説明する。
(ステップS1701)目印画像検出部305は、カウンタnに1を代入する。
(ステップS1702)目印画像検出部305は、m番目の撮影画像を撮影画像格納部304から読み出して取得する。
(ステップS1703)目印画像検出部305は、m番目の撮影画像から複数の目印画像の位置の検出処理を行う。例えば、目印画像の各画素の色を、順次予め目印画像として指定されている複数の色と比較していき、比較の結果、目印画像のいずれかの色であると判断された場合、その画素、およびその画素と同様の色と判断される色が隣接している画素の領域を、一つの目印画像の領域であると判断する。隣接していない領域は、異なる目印画像の領域であると判断する。目印画像を検出するための、画素の色の判断等は、例えば、RGB値等の色の成分の情報等に閾値を設けて、画素の色成分がこれらの閾値を超えるか否か等で判断することが好ましい。
パターン画像をディスプレイ等に表示し、他ものを撮影した撮影画像向の目印画像を構成する画素の色と、オリジナルのパターン画像内の目印画像を構成する画素の色とは、色成分自体が欠落したり、反転したりしてしまうことがないまでも、色成分の値が大きく変化することが考えられるため、このように閾値等を用いて色の範囲を設定することで、撮影画像内の画素が、目印画像のオリジナルの色と同じ色とみなすか否かを判断することが好適である。また、このような処理において、閾値により画素の色成分を「0」、「1」等に2値化して、2値化した情報から目印画像内の画素であるか否かを判断してもよい。目印画像を検出する処理は、上記のような処理に限るものではない。例えば、特定の色域や類似する形状等を有する画像を検出するための、パターンマッチング等の技術を利用して、上記のような目印画像と同じであると考えられる位置を検出するようにしてもよい。このような技術は公知技術であるので説明は省略する。
(ステップS1704)目印画像検出部305は、ステップS1703で検出した各目印画像の位置の情報と、当該目印画像の色の情報とを取得し、これらを対応付けて出力、例えば、図示しないメモリ等の記憶媒体に蓄積する。また、このとき、各目印画像を識別する識別情報を対応付けて出力することが好ましい。目印画像の位置の情報は、撮影画像内における、目印画像の領域内の中心座標等が用いられる。ただし、目印画像の位置の情報は、目印画像の位置を指定可能な情報であれば、目印画像の輪郭を定義する情報や、目印画像の全てや一部の画素の座標等であってもよい。また、目印画像の色の情報は、目印画像内の特定の画素、例えば、目印画像の領域内の中心の画素の色の情報であってもよいし、目印画像内の全てや一部の画素の色の代表値、例えば平均値や中央値等の情報であってもよい。ここでの色の情報は、色のRGB成分の色強度の値等である。
(ステップS1705)目印画像検出部305は、ステップS1704において出力したn番目の撮影画像内の目印画像の色の組み合わせを示す情報、すなわち目印画像として用いられている2つの色の情報を取得する。ここで述べる色の情報は、RGB値等の色の成分の値であってもよいし、上述した2値化した色の成分で表された情報であっても良い。なお、目印画像の色が一つだけであった場合、この色の組み合わせの情報は、ある一つの色のみで、他の色がないということを示す情報であってもよい。
(ステップS1706)目印画像検出部305は、ステップS1705で取得した色の組み合わせを示す情報と、予めメモリ等に用意された画像格納部301に格納されているパターン画像の配列順番と、当該パターン画像内の目印画像に用いられる2つの色との組み合わせを示す情報とを比較して、撮影画像内のパターン画像の配列される順番を示す情報を取得する。目印画像の色が一色のみしかない組み合わせについても、予め配列される順番を設定しておくようにして、目印画像が一色の場合でも配列される順番を示す情報を取得できるようにしてもよい。
(ステップS1707)目印画像検出部305は、m番目の撮影画像内の各目印画像の色情報を2値化する。目印画像検出部305は、例えば、予め用意された目印画像の2つの色の組み合わせと、これらの色を2値化する際にいずれの値を、「1」、「0」等に変換するかを指定する情報とを用いて、各目印画像の色の情報を「1」、「0」の2値のいずれかに変換する。また、撮影画像内のパターン画像の配列される順番を示す情報と、この配列される順番が示すパターン画像に含まれる2つの色を、それぞれ「1」、「0」等に変換するかを指定する情報とを用いて、各目印画像の色の情報を、「1」、「0」の2値のいずれかに変換してもよい。目印画像検出部305は、2値化した色の情報を目印画像の位置情報と対応付けてメモリ等の記憶媒体に蓄積する。
(ステップS1708)目印画像検出部305は、カウンタmがp以上であるか否かを判断する。p以上であれば、上位の関数、すなわち図16のフローチャートにリターンする。p以上でなければ、ステップS1709に進む。
(ステップS1709)目印画像検出部305は、カウンタmを1インクリメントする。
(ステップS1710)目印画像検出部305は、m番目の撮影画像を撮影画像格納部304から読み出して取得する。
(ステップS1711)目印画像検出部305は、ステップS1703においてm=1番目の撮影画像から検出した複数の目印画像の位置を示す情報を、m番目の撮影画像内の複数の目印画像の位置を示す情報として用いて、ステップS1704と同様に、m番目の撮影画像内の各目印画像の色の情報を取得して、目印画像の位置の情報と対応付けて出力、例えば、図示しないメモリ等の記憶媒体に蓄積する。そして、ステップS1705に戻る。
なお、図17のフローチャートにおいては、m=1の撮影画像から取得した目印画像の位置の情報を、m=1以外の撮影画像の目印画像の位置の情報として利用しているが、これは、撮影部303と表示部302のディスプレイの位置等が固定されている場合に、限られる。このようにm=1の撮影画像から取得した目印画像の位置の情報を、m=1以外の撮影画像の目印画像の位置の情報として利用する代わりに、各撮影画像毎にステップS1703と同様の目印画像の検出処理を行うようにし、最終的に各撮影画像の一致する目印画像同士をパターンマッチング等の技術を用いて検出して対応付けるようにしてもよい。
なお、目印画像を検出しやすくするために、予め他のパターン画像と目印画像の位置が同じであると共に、検出しやすい色の目印画像を有する位置検出用のパターン画像を用意し、この位置検出用のパターン画像を撮影した撮影画像をm=1番目の撮影画像として用いて、目印画像の位置検出だけを最初に検出するようにしてもよい。検出しやすい色の目印画像を有する位置検出用のパターン画像とは、目印画像の位置を検出するためのみに用いられる画像であり、例えば、黒の背景に白色の目印画像を有する画像のように、背景とのコントラストが強い画像等である。
なお、図17のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図18のフローチャートを用いて、ステップS1607に示した補正パラメータを検出する処理の詳細について説明する。
(ステップS1801)対応情報取得部306は、カウンタiに1を代入する。
(ステップS1802)対応情報取得部306は、撮影画像内のi番目の目印画像が表示された位置について、目印画像の色の出現パターンを取得する。具体的には、図17のステップS1706において取得した撮影画像内のパターン画像の配列される順番を示す情報にそって、複数の撮影画像を配列した場合における、撮影画像内のi番目の目印画像が表示された位置について、目印画像の色の出現パターン、ここでは例として、各目印画像の色を2値化した値の現れる順列を取得する。例えば、仮に1番目のパターン画像を撮影した撮影画像内のi番目の目印画像が表示された位置の色が「0」、2番目のパターン画像を撮影した撮影画像内のi番目の目印画像が表示された位置の色が「1」、3番目のパターン画像を撮影した撮影画像内のi番目の目印画像が表示された位置の色が「0」であったとすると、1番目から3番目までのパターン画像を撮影した撮影画像について、対応情報取得部306が取得するi番目の目印画像が表示された位置における色の出現パターンは、「010」となる。
(ステップS1803)対応情報取得部306は、対応管理情報格納部307に格納されているオリジナルの複数のパターン画像における目印画像の位置と、目印画像の色の出現パターンとの対応関係を示す対応管理情報を用いて、撮影画像内のi番目の目印画像が表示された位置における目印画像の色の出現パターンに対応するパターン画像内の目印画像の位置を取得する。具体的には、対応情報取得部306は、撮影画像内のi番目の目印画像が表示された位置における目印画像の色の出現パターンと一致する出現パターンを対応管理情報内で検索し、この一致する出現パターンに対応するパターン画像における目印画像の位置の情報を取得する。
(ステップS1804)対応情報取得部306は、撮影画像内のi番目の目印画像が表示された位置、具体的には座標情報等の位置の情報と、ステップS1803において取得した、画像格納部301内に格納されているパターン画像内の目印画像が表示される位置、具体的には座標情報等の位置の情報とを対応付けた対応情報を取得する。
(ステップS1805)対応情報取得部306は、ステップS1804において取得した対応情報を出力、例えば、メモリ等の記憶媒体に蓄積する。
(ステップS1806)対応情報取得部306は、カウンタiを1インクリメントする。
(ステップS1807)対応情報取得部306は、撮影画像に対してi番目の位置情報があるか否かを判断する。i番目の位置情報がある場合、ステップS1802に戻り、i番目の位置情報がない場合、ステップS1808に戻る。
(ステップS1808)色情報取得手段3081は、画像格納部301に格納されているパターン情報の目印情報の色の情報と、当該パターン情報を撮影した撮影情報内のパターン情報の目印情報に対して対応情報で対応付けられた目印情報の色の情報とをそれぞれ取得する。すなわち、配列順番が同じパターン画像と撮影画像からそれぞれ対応する目印画像の色の情報を取得する。ここで取得する色の情報は例えば色の成分の値である。ここでは一対の目印情報の色の情報のみを取得してもよいし、パターン画像内の複数の目印情報の色の情報と、この複数の目印情報に対応する撮影情報内の複数の目印情報の色の情報とをそれぞれ取得してもよい。
(ステップS1809)色補正情報取得手段3082は、ステップS1808において取得した色情報を用いて、撮影画像内のパターン画像の色の情報を、パターン画像のオリジナルの色の情報に補正するための関数である色補正関数の係数等の情報である色補正情報を算出する。なお、ステップS1808において、複数の位置の色の情報を取得した場合、最小二乗法等を用いて色補正情報を算出してもよい。
(ステップS1810)色補正情報取得手段3082は、ステップS1809において算出した色補正情報を補正パラメータ格納部106に蓄積する。
(ステップS1811)位置補正情報取得手段3083は、ステップS1804において取得された対応情報を用いて、撮影画像内のパターン画像の位置の情報と、パターン画像のオリジナルの位置の情報との関係を示す関数である位置補正関数の係数等の情報である位置補正情報を算出する。位置補正関数としては、公知の位置補正関数が利用可能である。
(ステップS1812)位置補正情報取得手段3083は、ステップS1811において算出した位置補正情報を補正パラメータ格納部106に蓄積する。そして、処理を終了する。
なお、図18のフローチャートは、電源オフや処理終了の割り込みにより処理を終了する。
以下、本実施の形態における画像処理装置の具体的な動作について説明する。画像処理装置300の概念図を図19に示す。ここでは、例として、画像処理装置300が、表示部302の表示デバイスであるディスプレイ302aと撮影部303以外は、コンピュータ300aにより実現されている場合について説明する。ただし、ディスプレイ302aと撮影部303以外もハードウェア等で実現されていてもよい。例えば、この画像処理装置300は、上記実施の形態1の図5と同様にテレビ会議端末を構成しているものとする。
ここでは、各パターン画像内の目印画像が、それぞれ2色のいずれか一方の色を有するものとする。目印画像の形状は円形であるとする。また、ここでは例として、パターン画像のサイズは、表示部302に通常表示される他の画像のサイズ、例えばテレビ会議等の画像のサイズと同じサイズであるとする。
図20は、パターン画像別の目印画像の色の組み合わせを管理するパターン画像色管理表である。パターン画像色管理表は、「パターンID」、「0:カラー」、「1:カラー」という属性を有している。「パターンID」は対応するパターン画像の識別情報である。このパターンIDはパターン画像の配列順も示しているものとする。「0:カラー」は、2値化の際に「0」と判断される色を示す。「1:カラー」は2値化の際に「0」と判断される色を示す。「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」でなくてもよい。
図20においては、例えば、「パターンID」が「1」であるパターン画像には、(001)と(010)の2つの色が目印画像として用いられていることを示している。なお、ここでは、パターン画像の目印画像以外の領域、すなわち背景画像の色は黒色(000)であるとする。
また、各パターン画像内においては、A(Aは2以上の整数)個の目印画像が互いに重ならないように配置されており、各パターン画像間においては、A個の目印画像が同じ位置に配置されているものとする。また、パターン画像を予め設定された順番に配列した場合に、パターン画像内の目印画像が配置されている各位置に出現する目印画像の色の出現パターンは、位置毎に互いに異なるものであるとする。
すなわち、このような条件を満たすためには、パターン画像数をB(Bは2以上の整数)とした場合、
2B≧A
の関係を満たしているようにする。この具体例においては、A=64個の目印画像が配置されたパターン画像がB=6枚用意されている場合について説明する。また、ここでは、各目印画像が例えば100ピクセル間隔で配置されているものとする。また、各目印画像の直径は例えば10ピクセルであるとする。
ここで利用される6枚のパターン画像を図21に模式的に示す。ここでは、各パターン画像の目印画像の色をそれぞれ図20に示したパターン画像色管理表を用いて2値化した色で表している。すなわち、例えば、図21においては、「パターンID」が「2」のパターン画像については、(001)の色を「0」、(010)の色を「1」に置き換えて示している。図21に示したパターン画像においては、パターン画像を「パターンID」の値の昇順に配列した場合、例えば、右上隅の目印画像の配置された位置における色の出現パターンは、「000111」となる。
各パターン画像の各目印画像が配置される位置は、パターン画像内の座標情報で表される。ここで、図21に示したようパターン画像を「パターンID」の値の昇順に配列した場合における、目印画像の配置される位置の情報と、目印画像の色の出現パターンとの関係を示す情報である対応管理情報を図22に示す。対応管理情報は、「座標」と「出現パターン」という属性を有している。「座標」は、各パターン画像内の目印画像の表示される位置であり、ここでは目印画像の中心の座標情報を示す。また、「出現パターン」は、パターン画像毎に2値化した色の出現パターンを示す。
まず、補正パラメータを取得する指示を、画像処理装置300に対して図示しない受付部等を介して与えると、表示部302は、パターン画像のうちの1番目に表示するパターン画像を画像格納部301から読み出し、ディスプレイ302aに表示する。
図23は、ディスプレイ302aに表示した1番目のパターン画像の表示例を示す図である。ここでは1番目のパターン画像として、「パターンID」が「3」であるパターン画像を表示しているものとする。目印画像231は、色が「0:カラー」属性に相当する色(001)である目印画像とし、目印画像232は、色が「1:カラー」属性に相当する色(100)である目印画像であるとする。
撮影部303は、表示部302がディスプレイ302aに表示したパターン画像を撮影し、撮影した画像を撮影する。撮影した画像である撮影画像は、画像受付部104により受け付けられ撮影画像格納部304に蓄積される。ここでは撮影し蓄積した画像は、動画像の1フレームであるとする。各パターン画像の表示時間は、撮影部303が撮影を完了できる時間であれば問わない。
図24は、撮影部303が撮影した図23に示すようにディスプレイ302aに表示されたパターン画像を撮影した撮影画像を示す図である。
1番目のパターン画像の表示、および撮影が終了すると、さらに残りのパターン画像も順次表示、および撮影が行われる。なお、表示部302が表示するパターン画像の表示順番と、上述した「パターンID」の順番とは一致している必要はない。ここでは、電源の投入をトリガとしてパターン画像の表示を開始したが、表示開始のトリガ等は問わない。
次に、目印画像検出部305は、図24に示すような撮影画像の一つ、ここでは一番目に表示されたパターン画像を撮影した撮影画像を読み出し、目印画像を検出する処理を行う。ここでは、目印画像に使用される色が、(001)、(011)、(100)、(110)、(101)、(111)のいずれかであることが分かっているため、撮影画像の各画素について、上記のいずれかの色に相当するか否かを順次判断して、上記のいずれか一つの色に相当する色を有する画素が隣接する領域を検出する。
なお、ディスプレイ302aの表示領域以外の部分の色に起因する目印画像の誤検出を防ぐためには、予めディスプレイ302aの表示領域を、ディスプレイの枠や背景等を検出することで検出したり、表示領域についての指定を入力デバイス等を介して受け付けることにより、この表示領域内のみについて、目印画像の検出を行うようにしてもよい。ただし、撮影画像は、パターン画像を一旦ディスプレイ302aに表示した画像を撮影部303で撮影したものであるため、撮影画像内のパターン画像の目印画像の色は、オリジナルのパターン画像の色とは色成分の値が異なっていることが考えられる。このため、ここでは、このような色の変化を考慮した色成分毎の閾値を指定して、この閾値により、撮影画像内の画素の色成分を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つの色を図20に示したパターン画像色管理表の管理している色の組み合わせ、すなわち「0:カラー」と「1:カラー」との組み合わせと比較して、一致するレコードの「パターンID」の属性値を取得する。すなわち、撮影画像は、取得された「パターンID」の属性値に対応付けられたパターン画像を撮影した画像であると判断されることとなる。例えば、二つの目印画像の色が、(001)と(100)であった場合、図20のパターン画像色管理表から「パターンID」の値として「3」が取得される。そして、この取得した「パターンID」の属性値を、同じ撮影画像から検出した全ての目印画像の位置等を示す情報に対応付けて蓄積する。さらに、目印画像検出部305は、図20のパターン画像色管理表を用いて、目印画像の二つの色を、2値化する。
具体的には、ここでは、二つの目印画像の色が(001)と(100)であり、この二つの色の組み合わせを含むレコード、すなわち「パターンID」の属性値が「3」であるレコードでは、(001)は「0:カラー」属性であり、(100)は「1:カラー」属性であることから、(001)は、「0」に変換され、(100)は「1」に変換される。そして、この2値化した色の値も、同じ撮影画像から検出した全ての目印画像の位置等を示す情報に対応付けて蓄積する。
次に、他の5つの撮影画像、ここでは、「パターンID」が「3」を除くパターン画像を撮影した撮影画像についても、それぞれ上記と同様の処理を繰り返す。ただし、ここでは、パターン画像の撮影の際において、撮影部303等の撮影方向や撮影領域等が固定されているため、目印画像を検出する処理は省略し、一番目の撮影画像について検出した目印画像の領域を示す情報を、そのまま他の撮影画像の目印画像の領域を示す情報として利用する。従って、異なる撮影画像の、同じ位置の目印画像の位置を示す座標は同じ値となる。
図25は、撮影画像から検出された目印画像の位置や色等を管理する目印画像管理表である。目印画像管理表においては、「パターンID」、「座標」、「色」、「2値化色」である。「パターンID」は、一の撮影画像において検出された目印画像に使用されている2つの色の組み合わせを用いて得られた「パターンID」である。「座標」は、目印画像の位置を目印画像の中心座標で示した値である。ここでは、座標を画像の左上隅を(0,0)として、ピクセル単位のxy座標値で表している。「色」は目印画像の色を二値化した色成分で表した値である。「2値化色」は、目印画像の色を図20に示したパターン画像色管理表に基づいて、撮影したパターン画像に応じて2値化した値である。なお、「座標」の値は説明のための値であり、実際の値等とは異なるものとする。
次に、対応情報取得部306は、目印画像検出部305が検出した目印画像が配置されている位置毎に、目印画像の色を二値化した値、すなわち図25の「2値化色」の属性値を、対応する「パターンID」属性の昇順に並べた配列パターンを取得する。この配列パターンが、撮影画像内における各目印画像の配置される位置における色の出現パターンである。対応情報取得部306は取得した出現パターンを、目印画像の位置、ここでは座標と対応付けてメモリ等に一時記憶する。例えば、座標(120,140)の位置において得られる出現パターンは、「010010」となる。
図26は、メモリ等に一時記憶された撮影画像における目印画像の位置と色の出現パターンとを管理する出現パターン管理表である。出現パターン管理表は「目印位置ID」、「座標」、「撮影出現パターン」という属性を有している。「目印位置ID」は、各目印画像の配置される位置を管理するための識別情報、「座標」は、目印画像の配置される位置の座標、ここでは目印画像の中心の画素の座標、「撮影出現パターン」は、2値化した色の値を「パターンID」属性の昇順に並べたパターンである。
ここで、対応管理情報格納部307には、図22に示したような対応管理情報が予め格納されているものとする。この対応管理情報は、ユーザにより設定されたものであってもよいし、パターン画像から、上記のような目印画像検出部305および対応情報取得部306等を用いて、上記と同様の処理により取得した情報であってもよい。
対応情報取得部306は、図26に示したような出現パターン管理表の各レコードについて、「撮影出現パターン」の属性値と、一致する「出現パターン」属性値を有するレコードを、図22に示した対応管理情報において検索する。そして、一致するレコードの「座標」属性値と、出現パターン管理表の「座標」属性値とを対応付けていく。そして、対応付けて得られた対応情報を、対応情報取得部306が図示しないメモリ等の記憶媒体に蓄積する。
図27は、出力部109が出力する対応情報を示す図である。対応情報は、「オリジナル座標」と「撮影画像内座標」という属性を有している。「オリジナル座標」は、オリジナル、すなわち画像格納部301に格納されているパターン画像内における目印画像が配置される座標である。「撮影画像内座標」は、撮影画像内において、「オリジナル座標」に配置された目印画像が配置されている位置を示す座標である。同じレコードの「オリジナル座標」と「撮影画像内座標」とが互いに対応している座標である。すなわち、撮影画像のパターン画像が表示されている部分は、「オリジナル座標」の示す座標を、「撮影画像内座標」が示す座標に座標変換して得られる画像であると考えることができる。
次に、色情報取得手段3081は、パターン画像の一つと、当該パターン画像を撮影した撮影画像とから、それぞれ、対応情報が示している対応している目印画像の座標の色情報を取得する。具体的には、パターン画像からは対応情報の各レコードの「オリジナル座標」が示す座標の画素の色情報を取得し、撮影画像からは「オリジナル座標」と同一のレコードの「撮影画像内座標」が示す座標の画素の色情報をそれぞれ取得する。ここで取得する色情報は、色の補正のために用いられる情報であるため、R,G,B成分のそれぞれの成分値、色が24ビットカラーで表される場合、例えば8ビットの値、である必要がある。そして、色情報取得手段3081がパターン画像と撮影画像とからそれぞれ取得した対応する座標の色を用いて、色補正情報取得手段3082が、撮影画像の色をオリジナルのパターン画像の色に補正するための、色を補正する関数である色補正関数のパラメータである色補正情報を算出する。
例えば、このような色補正関数は、上記実施の形態1において具体例において説明した色補正情報と同じものが用いられるとする。すなわち、撮影画像の画素値を(r,g,b)、オリジナルのパターン画像の対応する画素値を(R,G,B)とすると、
R=a1r+a2g+a3b、
G=b1r+a2g+a3b、
B=c1r+a2g+a3b
で表される。なお、a1〜a3、b1〜b、c1〜c3は、色補正関数の係数、すなわち色補正情報である。
この色補正関数に対して、色情報取得手段3081が取得したパターン画像と撮影画像の、対応している画素の色情報を代入して係数の値を求めることで、撮影画像の色をオリジナルのパターン画像の色に補正するための色補正関数を得ることができる。色補正情報取得手段3082は、取得した色補正関数の係数を、色補正情報として補正パラメータ格納部106に蓄積する。ここでは、4箇所以上の対応する画素の色情報を、色情報取得手段3081が取得するための、上記の係数を算出する際に最小二乗法等を用いることが好適である。
ただし、ここで示した色補正関数を得るためには、通常は色の異なる3箇所の対応する画素の色情報が必要となる。この色補正関数を用いることで、撮影画像全体の色を、オリジナルのパターン画像と同様の色に補正可能となる。すなわち、表示部302により表示される画像と、撮影部303が撮影した画像内において表示部に表示された画像との色をあわせることが可能となる。なお、ここでは色補正関数として、撮影画像の色をパターン画像の色に補正する関数を用いた場合について説明したが、用途によっては、パターン影画像の色を撮影画像の色に補正する関数を用いるようにしてもよい。
次に、位置補正情報取得手段3083は、対応情報を用いて、位置を補正する関数である位置補正関数のパラメータである位置補正情報を取得する。例えば、ここで用いられる位置補正関数は、上記実施の形態1において具体例において説明した位置補正情報と同じものが用いられるとする。すなわち、撮影画像内の画素の位置を(x、y)、オリジナルのパターン画像内の画素の位置を(X,Y)とすると、位置補正関数は、
X=ax+by、
Y=cx+dy
で表される。なお、a、b、c、dは、それぞれ位置補正関数の係数、すなわち位置補正情報である。
この位置補正関数に対して、対応情報の示すパターン画像の座標と、これに対応する撮影画像内の座標の値を代入して係数の値を求めることで、撮影画像を構成する画素の位置を、パターン画像内の画素の位置に座標変換する位置補正関数を得ることができる。位置補正情報取得手段3083は、取得した位置補正関数の係数を、位置補正情報として補正パラメータ格納部で106に蓄積する。
なお、ここでは、3箇所以上の対応する画素の座標の情報を、対応情報が有しているため、上記の係数を算出する際に、最小二乗法等を用いることが好適である。ただし、ここで示した位置補正関数を得るためには、通常は異なる2箇所の対応する画素の位置の情報が必要となる。この位置補正関数を用いることで、撮影画像の画素の位置や画像の形状等を、オリジナルのパターン画像と同様の位置や形状等に補正可能となる。
図28は、補正パラメータ構成部308により構成され、補正パラメータ格納部106に格納されている補正パラメータを管理する補正パラメータ管理表を示す図である。補正パラメータ管理表において、「色補正情報」は、色補正情報取得手段3082により構成された色補正情報を示し、「位置補正情報」は、位置補正情報取得手段3083により構成された位置補正情報を示している。なお、α1〜α3、β1〜β3、γ1〜γ3は、上記に例示した色補正関数の係数a1〜a3、b1〜b、c1〜c3に対応する値であるとする。また、A、B、C、Dは、それぞれ上記に例示した位置補正関数の係数a、b、c、dに対応する値であるとする。
上記のようにして補正パラメータ格納部106に格納された補正パラメータを用いて画像処理装置300は、上記実施の形態1と同様に、撮影部303が撮影した第二の画像から第一の画像に一致する画像の領域を検出して、この領域を透過領域とした第二の画像の出力を行う。この処理については、上記実施の形態1と同様であるので説明は省略する。
なお、ここでは位置補正関数として、撮影画像の画素の位置をパターン画像内の位置に補正する関数を用いた場合について説明したが、必要に応じて、パターン画像の画素の位置を撮影画像内の位置に補正する関数を用いるようにしてもよい。
なお、この具体例において述べた色補正関数や位置補正関数はあくまでも一例であり、他の色補正関数や位置補正関数等を用いるようにしてもよく、このような場合、これらの関数に応じた補正パラメータを、対応情報等を用いて算出するようにしてもよい。また、
上記具体例においては、目印画像の検出の処理において、目印画像の色と各画素の色とを比較するようにしたが、目印画像は他の方法により検出してもよい。例えば、撮影画像が内のパターン画像の画質が良好である場合等、目印画像の形状が大きく変わらないことが前提となっている場合等には、目印画像とほぼ同じ形状の領域を、一般的なパターンマッチング技術等により検出することで、目印画像を検出してもよい。
上記具体例においては、各パターン画像の複数の目印画像が、それぞれ2色の色のうちのいずれか1色を有している場合について説明したが、本実施の形態においては、複数の目印画像は、撮影画像においても識別可能な2以上の色のうちのいずれか一色を有しているようにすればよい。この場合において、各パターン画像内の目印画像の色数をC(Cは2以上の整数)、目印画像数Aを、パターン画像数をB(Bは正の整数)とした場合、
CB≧A
の関係を満たしているようにすればよい。
以上、本実施の形態によれば、パターン画像を表示することで、表示部302に表示された画像と、撮影部303により撮影された画像内において表示部302に表示された画像との間の位置の対応を正確に取ることができる対応情報を算出し、当該対応情報を用いて補正パラメータを得るようにしたことにより、上記実施の形態1において示した第一の画像と、第二の領域の一致する領域を検出する処理において、第一の画像と、第二領域画像との色および位置の補正を適正に行うことが可能となり、第一の画像と、第二の画像の一致する領域を正確に検出することができる。これにより、第二の画像内の第一の画像が写っている領域を正確に透過領域に指定することができる。
また、本実施の形態においては、目印画像の色の出現パターンによって、撮影画像内から目印画像を識別して検出するようにしているため、撮影部303の撮影状況によって表示部302の一部しか撮影できず、表示部302の表示領域内のどの部分を撮影したか分からない場合や、表示部302の撮影された向き等が判別できない場合においても、撮影画像内から、正確に目印画像の配置されている位置を識別することができる。
また、本実施の形態においては、撮影画像内における目印画像の色の出現パターンにより、目印画像を識別するため、目印画像の色が多少表示や撮影等の処理により変色していても、撮影画像内から正確に目印画像を識別することができる。
また、目印画像の形から目印画像を識別する場合とは異なり、色の出現パターンにより目印画像を識別するため、撮影画像にゆがみ等が生じたり、撮影位置によって、大きなパース等が入って撮影画像がゆがんで目印画像が変形してしまっても、撮影画像内から正確に目印画像を識別することができる。
また、本実施の形態においては、実際に撮影に利用する撮影部303により、予め用意されたパターン画像を撮影するだけで、簡単に位置や色の補正のための情報を得ることができ、補正のための専用のデバイス等を設置する必要がなく、コストの上昇を抑えることができる。また、補正のための特別な操作を最小限にできるため、操作性が向上する。
なお、上記実施の形態において、目印画像の色の出現パターンにより目印画像が検出された位置を識別するようにしたが、複数のパターン画像の少なくとも一つのパターン画像において目印画像が配置された位置における、目印画像の有無のパターンである出現パターンにより、目印画像が配置された位置を識別するようにしてもよい。例えば、第一パターン画像のある座標(x1、y1)において、目印画像が出現し、その同じ座標において異なる第二、第三のパターンにおいては、目印画像が出現せず、背景画像のみが出現した場合、目印画像を「1」、背景画像を「0」に置き換えて、座標(x1、y1)における目印画像の出現パターンを、「011」と考えてもよい。ただし、この場合、複数の撮影画像内に目印画像が検出されるまでは、目印画像の位置が検出できないため、一旦、目印画像の位置を検出後、他の撮影画像の同じ位置において背景画像を検出する必要があり、処理に後戻りが発生する可能性がある。
また、上記実施の形態において、互いに異なる予め設定された所定の位置に、一つの目印画像がそれぞれ配置された複数のパターン画像を表示するようにし、複数の撮影画像内のパターン画像毎に、これらの目印画像の位置をそれぞれ検出することで、撮影したパターン画像と、撮影画像内の目印画像の検出された位置との組み合わせを用いて、撮影された目印画像の検出された位置を識別するようにしてもよい。すなわち、ここでは、パターン画像毎に、目印画像の位置が特定されることとなる。このため、各目印画像が、どのパターン画像を撮影した撮影画像から検出されたか判断することで、撮影画像の目印画像が検出された位置を識別することができる。
言い換えれば、ここでは、各目印画像が検出されたパターン画像を識別する情報を各目印画像についての出現パターンと考えて、各撮影画像から検出された各目印画像についての出現パターンを取得し、この出現パターンを用いて、各撮影画像内において検出された目印画像の位置と、当該目印画像の出現パターンと一致する出現パターンを有するオリジナルの複数のパターン画像における目印画像の配置されている位置との対応を示す対応情報を取得するようにする。例えば、第一のパターン画像においては、座標(x2、y2)に一つの目印画像のみが配置されている場合、第一のパターン画像を撮影した撮影画像内で目印画像を検出した位置は、この第一のパターン画像の座標(x2、y2)に対応した位置であると判断することができる。
ただし、このような場合、例えば、撮影画像が撮影したパターン画像が、どのパターン画像であるかを、撮影したパターン画像を識別する情報を撮影情報に対応付けたり、パターン画像の表示順番と撮影順番とを対応付けておくこと等により識別できるようにする必要がある。また、このような場合においては、各パターン画像には、一つの目印画像しか配置することができないため、撮影画像内の複数の位置を識別するためには、パターン画像を、識別したい位置の数と同数だけ用意する必要があるとともに、これらのパターン画像を全て表示して撮影する必要がある。このため、上述したような目印画像の色の出現パターンにより、目印画像が配置されている複数の位置を識別する場合と比べて、処理時間が長くなってしまうことが考えられる。
なお、上記各実施の形態1、2において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態1、2において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態1、2における画像処理装置を実現するソフトウェアのプログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態1、2において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されてもよいことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
また、上記各実施の形態では、画像処理装置がスタンドアロンである場合について説明したが、画像処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。