(57)【特許請求の範囲】
【請求項１】
複数の被写体を含む被写体像を連続的に撮影した複数の撮影画像のそれぞれに対応する複数の撮影画像データを記憶手段に記憶する画像取得手段、
前記画像取得手段によって取得された複数の撮影画像データのそれぞれを順番に読み出す読出手段、
前記読出手段によって読み出された撮影画像データに基づいて、少なくとも前記複数の被写体の各々の視線方向を含む被写体情報を検出する被写体情報検出手段、
少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶するテンプレート記憶手段、
前記テンプレート記憶手段から所望のテンプレートを選択するテンプレート選択手段、
前記被写体情報が示す視線方向と、前記テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、前記テンプレートに基づく理想の画像に対する前記撮影画像データの適合率を算出する適合率算出手段、
前記適合率算出手段によって算出された適合率が最も高い撮影画像データを選択する撮影画像データ選択手段、
前記撮影画像データ選択手段によって選択された撮影画像データの適合率が一定値以上であるかどうかを判断する判断手段、および
前記判断手段によって前記適合率が一定値以上であることが判断されたとき、前記撮影画像データ選択手段によって選択された撮影画像データを所望の撮影画像データとして決定する決定手段を備える、画像処理装置。
【請求項２】
前記撮影画像データ選択手段によって選択された撮影画像データにおいて、前記適合率を低下させている被写体についての部分画像データであって、前記適合率を向上させる部分画像データを、当該撮影画像データ選択手段によって選択されていない撮影画像データから抽出する抽出手段、および
前記抽出手段によって抽出された部分画像データを、前記撮影画像データ選択手段によって選択された撮影画像データの該当する部分に貼り付けて合成した合成画像データを生成する生成手段をさらに備える、請求項１記載の画像処理装置。
【請求項３】
前記適合率を向上させるための指示を出力する指示手段をさらに備える、請求項１または２記載の画像処理装置。
【請求項４】
前記被写体情報は、被写体の顔の向きをさらに含み、
前記テンプレートは、理想の顔の向きをさらに含み、
前記適合率は、前記被写体の顔の向きの前記理想の顔の向きに対する顔方向適合率を含む、請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
前記被写体情報は、被写体の体の向きをさらに含み、
前記テンプレートは、理想の体の向きをさらに含み、
前記適合率は、前記被写体の体の向きの前記理想の体の向きに対する体方向適合率を含む、請求項１ないし４のいずれかに記載の画像処理装置。
【請求項６】
前記被写体情報は、被写体の表情をさらに含み、
前記テンプレートは、理想の表情をさらに含み、
前記適合率は、前記被写体の表情の前記理想の表情に対する表情適合率を含む、請求項１ないし５のいずれかに記載の画像処理装置。
【請求項７】
前記被写体情報は、被写体の姿勢をさらに含み、
前記テンプレートは、理想の姿勢をさらに含み、
前記適合率は、前記被写体の姿勢の前記理想の姿勢に対する姿勢適合率を含む、請求項１ないし６のいずれかに記載の画像処理装置。
【請求項８】
前記被写体情報は、被写体の位置をさらに含み、
前記テンプレートは、理想の位置をさらに含み、
前記適合率は、前記被写体の位置の前記理想の位置に対する姿勢適合率を含む、請求項１ないし７のいずれかに記載の画像処理装置。
【請求項９】
複数の被写体を含む被写体像の撮影画像に対応する撮影画像データを取得する取得手段、
前記取得手段によって取得された撮影画像データに基づいて、少なくとも前記複数の被写体の各々の視線方向を含む被写体情報を検出する被写体情報検出手段、
少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶するテンプレート記憶手段、
前記テンプレート記憶手段から所望のテンプレートを選択するテンプレート選択手段、
前記被写体情報が示す視線方向と、前記テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、前記テンプレートに基づく理想の画像に対する前記撮影画像データの適合率を算出する適合率算出手段、
前記適合率算出手段によって算出された適合率が一定値以上であるかどうかを判断する判断手段、および
前記判断手段によって前記適合率が一定値以上であることが判断されたとき、前記取得手段によって取得された撮影画像データを記憶する撮影画像データ記憶手段を備える、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置に関し、特にたとえば、複数の被写体を含む被写体像についての所望の撮影画像を得るための、画像処理装置に関する。
【背景技術】
【０００２】
従来のこの種の画像処理装置の一例が特許文献１に開示されている。この特許文献１の画像合成装置によれば、たとえば、連続して撮影して３駒の被写体像を得て、３駒の被写体像における同一の被写体についての顔画像のうちから最も表情の良い顔画像を被写体毎に取得する。そして、たとえば、最もぶれの少ない背景画像が３駒の被写体像の中から選択され、各被写体について取得された最も表情の良い顔画像が、選択された背景画像を有する被写体像に合成される。
【特許文献１】特開２００７−２９９２９７号［G06T 1/00, G06T 11/80, H04N 1/387］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この背景技術では、複数駒の被写体像から、最も表情の良い顔画像や所望のポーズの人間像を被写体毎に取得し、別途選択した背景画像を有する被写体像に合成するので、記念撮影のような集合写真を撮影した場合には、たとえば、被写体の多くが笑顔であるような合成画像を得られる。しかし、被写体の視線方向や顔の向きについては何ら考慮されていないため、集合写真にも関わらず、各被写体の視線ないし顔の向きがばらばらであるような合成画像が生成されると、違和感を覚えてしまう可能性がある。また、この背景技術では、被写体毎の視線ないし顔の向きが異なるポスター写真などを生成するのは困難である。
【０００４】
それゆえに、この発明の主たる目的は、新規な、画像処理装置を提供することである。
【０００５】
この発明の他の目的は、所望の画像を簡単に取得することができる、画像処理装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、複数の被写体を含む被写体像を連続的に撮影した複数の撮影画像のそれぞれに対応する複数の撮影画像データを記憶手段に記憶する画像取得手段、画像取得手段によって取得された複数の撮影画像データのそれぞれを順番に読み出す読出手段、読出手段によって読み出された撮影画像データに基づいて、少なくとも複数の被写体の各々の視線方向を含む被写体情報を検出する被写体情報検出手段、少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶するテンプレート記憶手段、テンプレート記憶手段から所望のテンプレートを選択するテンプレート選択手段、被写体情報が示す視線方向と、テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、テンプレートに基づく理想の画像に対する撮影画像データの適合率を算出する適合率算出手段、適合率算出手段によって算出された適合率が最も高い撮影画像データを選択する撮影画像データ選択手段、撮影画像データ選択手段によって選択された撮影画像データの適合率が一定値以上であるかどうかを判断する判断手段、および判断手段によって適合率が一定値以上であることが判断されたとき、撮影画像データ選択手段によって選択された撮影画像データを所望の撮影画像データとして決定する決定手段を備える、画像処理装置である。
【０００８】
第１の発明では、画像処理装置（１０（または１２））の画像取得手段（Ｓ３０６，Ｓ３６２）は、複数の被写体を含む被写体像を連続的に撮影した複数の撮影画像のそれぞれに対応する複数の撮影画像データを記憶手段（７４）に記憶する。読出手段（Ｓ３０８，Ｓ３２６，Ｓ３２８，Ｓ３６４，Ｓ３７８，Ｓ３８０）は、画像取得手段によって取得された複数の撮影画像データのそれぞれを順番に読み出す。視線方向検出手段（Ｓ３１４，Ｓ３７０）は、読出手段によって読み出された撮影画像データに基づいて、少なくとも複数の被写体の各々の視線方向を含む被写体情報を検出（推定）する。また、テンプレート記憶手段（７４（または３８））は、少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶する。たとえば、ユーザの指示に従って、テンプレート選択手段（Ｓ３００）は、テンプレート記憶手段から所望のテンプレートを選択する。適合率算出手段（Ｓ３２２，Ｓ３７４）は、被写体情報が示す視線方向と、テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、テンプレートに基づく理想の画像に対する撮影画像データの適合率を算出する。たとえば、各被写体の視線方向の適合率や複数の被写体を含む撮影画像全体としての視線方向の分散・尖度についての適合率を算出するのである。撮影画像データ選択手段（Ｓ３３０，Ｓ３８２）は、適合率算出手段によって算出された適合率が最も高い撮影画像データを選択する。判断手段（Ｓ３３２，Ｓ３８４）は、撮影画像データ選択手段によって選択された撮影画像データの適合率が一定値以上であるかどうかを判断する。決定手段（１４）は、判断手段によって適合率が一定値以上であることが判断されたとき（Ｓ３３２で“ＹＥＳ”，Ｓ３８４で“ＹＥＳ”）、撮影画像データ選択手段によって選択された撮影画像データを所望の撮影画像データとして決定する。つまり、テンプレートに基づく理想の画像に少なくとも近似する撮影画像データが選択（取得）される。
【０００９】
この実施例によれば、テンプレートに基づく理想の画像に近似する撮影画像データを選択するだけなので、所望の画像を簡単に取得することができる。
【００１０】
第２の発明は第１の発明に従属し、撮影画像データ選択手段によって選択された撮影画像データにおいて、適合率を低下させている被写体についての部分画像データであって、適合率を向上させる部分画像データを、当該撮影画像データ選択手段によって選択されていない撮影画像データから抽出する抽出手段、および抽出手段によって抽出された部分画像データを、撮影画像データ選択手段によって選択された撮影画像データの該当する部分に貼り付けて合成した合成画像データを生成する生成手段をさらに備える。
【００１１】
第２の発明では、抽出手段（Ｓ３４４）は、撮影画像データ選択手段によって選択された撮影画像データにおいて、適合率を低下させている被写体についての部分画像データであって、適合率を向上させる部分画像データを、当該撮影画像データ選択手段によって選択されていない撮影画像データから抽出する。そして、生成手段（Ｓ３４６）は、抽出手段によって抽出された部分画像データを、撮影画像データ選択手段によって選択された撮影画像データの該当する部分に貼り付けて合成した合成画像データを生成する。
【００１２】
第２の発明によれば、適合率を低下させている被写体についての部分画像データについては、他の撮影画像データから抽出した適合率の高い部分画像データを貼り付けるので、より理想的な撮影画像データを取得することができる。
【００１３】
第３の発明は第１または第２の発明に従属し、適合率を向上させるための指示を出力する指示手段をさらに備える。
【００１４】
第３の発明では、指示手段（Ｓ３３４，Ｓ３８６）は、適合率を向上させるための指示を出力する。たとえば、適合率を向上させるためのメッセージを音声で出力したり、画面にテキスト表示したりする。
【００１５】
第３の発明によれば、適合率を向上させる指示を出力するので、次回以降の撮影時にその内容を反映させることができる。
【００１６】
第４の発明は第１ないし第３の発明に従属し、被写体情報は、被写体の顔の向きをさらに含み、テンプレートは、理想の顔の向きをさらに含み、適合率は、被写体の顔の向きの理想の顔の向きに対する顔方向適合率を含む。
【００１７】
第４の発明では、被写体情報は、被写体の顔の向きをさらに含み、同様に、テンプレートは、理想の顔の向きを含む。したがって、被写体の顔の向きの理想の顔の向きに対する顔方向適合率を含む適合率が算出される。
【００１８】
第４の発明によれば、視線方向のみならず、顔方向についても理想の画像に近似する画像を取得することができる。
【００１９】
第５の発明は第１ないし第４の発明に従属し、被写体情報は、被写体の体の向きをさらに含み、テンプレートは、理想の体の向きをさらに含み、適合率は、被写体の体の向きの理想の体の向きに対する体方向適合率を含む。
【００２０】
第５の発明においても、第４の発明と同様に、視線方向のみならず、体方向についても理想の画像に近似する画像を取得することができる。さらには、視線方向、顔方向および体方向のすべてが理想の画像に近似する画像を取得することができる。
【００２１】
第６の発明は第１ないし第５の発明に従属し、被写体情報は、被写体の表情をさらに含み、テンプレートは、理想の表情をさらに含み、記適合率は、被写体の表情の理想の表情に対する表情適合率を含む。
【００２２】
第６の発明においても、第４の発明と同様に、視線方向のみならず、被写体の表情についても理想の画像に近似する画像を取得することができる。また、視線方向、体方向および被写体の表情が理想の画像に近似する画像を取得することができる。さらに、視線方向、顔方向および被写体の表情が理想の画像に近似する画像を取得することもできる。さらにまた、視線方向、顔方向、体方向および被写体の表情が理想の画像に近似する画像を取得することもできる。
【００２３】
第７の発明は第１ないし第６の発明のいずれかに従属し、被写体情報は、被写体の姿勢をさらに含み、テンプレートは、理想の姿勢をさらに含み、適合率は、被写体の姿勢の理想の姿勢に対する姿勢適合率を含む。
【００２４】
第７の発明においても、第４の発明と同様に、視線方向のみならず、被写体の姿勢についても理想の画像に近似する画像を取得することができる。かかる場合、視線方向に加えて、顔方向、体方向、被写体の表情および姿勢の少なくとも１つが理想の画像に近似する画像を取得することもできる。
【００２５】
第８の発明は第１ないし第７の発明のいずれかに従属し、被写体情報は、被写体の位置をさらに含み、テンプレートは、理想の位置をさらに含み、適合率は、被写体の位置の理想の位置に対する姿勢適合率を含む。
【００２６】
第８の発明においても、第４の発明と同様に、視線方向のみならず、被写体の位置についても理想の画像に近似する画像を取得することができる。かかる場合、視線方向に加えて、顔方向、体方向、被写体の表情、姿勢および被写体の位置の少なくとも１つが理想の画像に近似する画像を取得することもできる。
【００２７】
第９の発明は、複数の被写体を含む被写体像の撮影画像に対応する撮影画像データを取得する取得手段、取得手段によって取得された撮影画像データに基づいて、少なくとも複数の被写体の各々の視線方向を含む被写体情報を検出する被写体情報検出手段、少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶するテンプレート記憶手段、テンプレート記憶手段から所望のテンプレートを選択するテンプレート選択手段、被写体情報が示す視線方向と、テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、テンプレートに基づく理想の画像に対する撮影画像データの適合率を算出する適合率算出手段、適合率算出手段によって算出された適合率が一定値以上であるかどうかを判断する判断手段、および判断手段によって適合率が一定値以上であることが判断されたとき、取得手段によって取得された撮影画像データを記憶する撮影画像データ記憶手段を備える、画像処理装置である。
【００２８】
第９の発明では、画像処理装置（１２）の取得手段（Ｓ５０４，Ｓ５４０）は、複数の被写体を含む被写体像の撮影画像に対応する撮影画像データを取得する。視線方向検出手段（Ｓ５０８，Ｓ５４４）は、取得手段によって取得された撮影画像データに基づいて、少なくとも複数の被写体の各々の視線方向を含む被写体情報を検出（推定）する。テンプレート記憶手段（１２，３８）は、少なくとも理想の視線方向の情報を含むテンプレートを複数種類記憶する。たとえば、ユーザの指示に従って、テンプレート選択手段（Ｓ５００）は、テンプレート記憶手段から所望のテンプレートを選択する。適合率算出手段（Ｓ５１６，Ｓ５４８）は、被写体情報が示す視線方向と、テンプレート選択手段によって選択されたテンプレートが示す理想の視線方向とに基づいて、テンプレートに基づく理想の画像に対する撮影画像データの適合率を算出する。判断手段（Ｓ５２０，Ｓ５５０）は、適合率算出手段によって算出された適合率が一定値以上であるかどうかを判断する。そして、撮影画像データ記憶手段（Ｓ５２２，Ｓ５２４，Ｓ５５２，Ｓ５５４）は、判断手段によって適合率が一定値以上であることが判断されたとき、取得手段によって取得された撮影画像データを記憶する。
【００２９】
第９の発明によれば、テンプレートに基づく理想の画像に近似する撮影画像データを取得するので、所望の画像を簡単に取得することができる。
【発明の効果】
【００３０】
この発明によれば、テンプレートに基づく理想の画像に近似する撮影画像データを選択するだけなので、所望の画像を簡単に取得することができる。
【００３１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３２】
図１を参照して、この実施例の画像処理システム１０は、ディジタルカメラ（以下、単に「カメラ」という。）１２およびサーバ１４を含み、カメラ１２とサーバ１４とは互いに通信可能に接続される。また、サーバ１４には、スピーカ１６が接続される。
【００３３】
カメラ１２は、ＣＰＵ２０を含み、ＣＰＵ２０には、バス２２を介してカメラ処理回路２４、ＪＰＥＧコーデック２６、距離センサ２８、メモリ制御回路３０、ＬＣＤドライバ３２、インターフェイス（Ｉ／Ｆ）３４，３６およびＲＡＭ３８が接続される。また、カメラ処理回路２４には、イメージセンサ４０が接続され、このイメージセンサ４０には図示しない光学レンズなどを含む光学系４２が接続される。さらに、ＣＰＵ２０には、モータドライバ５２が接続され、このモータドライバ５２は、ＣＰＵ２０の指示の下、光学系４２に含まれるフォーカスモータ（図示せず）、ズームモータ（図示せず）または絞りモータ（図示せず）などを駆動する。
【００３４】
光学系４２を通して入射された光（光学像）は、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal-Oxide Semiconductor）イメージセンサのようなイメージセンサ４０の受光面に照射され、光電変換によって光学像に対応する電気信号が生成される。この電気信号は、カメラ処理回路２４で、Ａ／Ｄ変換、ＹＵＶ変換、ガンマ補正、色補正などの各種の処理を施され、これによって、ＹＵＶ形式に従ったディジタルの画像データが生成される。たとえば、イメージセンサ４０からの電気信号は所定のフレームレートで読み出され、各フレームの画像データ（この実施例では、静止画像の画像データを意味する。以下、同じ。）が生成されるのである。
【００３５】
撮影モードにおいて、ＬＣＤ４４をビューファインダとして用いてスルー画像（リアルタイム同画像）を表示する場合には、ＣＰＵ２０の指示の下、メモリ制御回路３０の制御によって、フレーム毎の画像データは順次ＳＤＲＡＭ４４に書き込まれ、その後、メモリ制御回路３０によってＳＤＲＡＭ４４から順次読み出される。そして、ＳＤＲＡＭ４４から読み出された画像データは、ＣＰＵ２０の指示の下、ＬＣＤドライバ３２の制御に従ってＬＣＤ４６に出力される。ＬＣＤ４６の撮影画像表示領域４６ａ（図５参照）には、フレーム毎に更新される画像データが出力され、したがって動画像のスルー画像が表示されるのである。
【００３６】
また、撮影モードにおいて、たとえば、オートフォーカス機能がオンにされている場合には、入力装置５０に含まれるレリーズボタン（シャッタボタン）が半押しされると、距離センサ２８によって検出された被写体１８とカメラ１２との距離に応じて、ＣＰＵ２０はモータドライバ５２を制御して、フォーカスモータを駆動し、焦点（距離）を調整する。また、ユーザが、入力装置５０に含まれる図示しないズームボタンないしズームスイッチを操作すると、これに応じて、ＣＰＵ２０はモータドライバ５２を制御して、ズームモータを駆動し、ズームアウトまたはズームインする。
【００３７】
シャッタボタンが半押しされた状態からさらに押し込まれる（全押しされる）と、撮影指示がＣＰＵ２０に与えられ、そのときの画像データが上述のようにして生成され、生成された画像データは、メモリ制御回路３０の制御によって、ＳＤＲＡＭ４４に書き込まれる。次に、ＣＰＵ２０の指示の下、メモリ制御回路３０の指示に従ってＳＤＲＡＭ４４から画像データが読み出され、読み出された画像データはＪＰＥＧコーデック２６に与えられる。ＪＰＥＧコーデック２６では、画像データがＪＰＥＧ方式で圧縮され、圧縮された画像データ（圧縮画像データ）はＣＰＵ２０の指示に従ってＲＡＭ３８に記憶される。
【００３８】
ただし、この実施例では、カメラ１２にＳＤカードやＭＭＣのようなメモリカード（外部記憶媒体）４８が装着されているため、圧縮画像データを、Ｉ／Ｆ回路３４を介してその外部記憶媒体４８に記憶するようにしてもよい。または、ユーザ（撮影者）の操作に従って、ＲＡＭ３８に記憶された圧縮画像データを外部記憶媒体４８に移動またはコピーしたり、逆に、外部記憶媒体４８に記憶された圧縮画像データをＲＡＭ３８に移動またはコピーしたりすることもできる。
【００３９】
なお、図示は省略するが、そのような移動ないしコピーの指示を入力するためのボタンないしスイッチもまた、入力装置５０に含まれている。
【００４０】
さらに、ＲＡＭ３８または外部記憶媒体４８に記憶された圧縮画像データを、Ｉ／Ｆ３６を介してカメラ１０と接続される視線サーバ１４に送信することもできる。図示は省略するが、このような送信の指示を入力するためのボタンないしスイッチも、入力装置５０に含まれている。ただし、ボタンないしスイッチの操作によらず、視線サーバ１４からの要求に応じて、圧縮画像データを送信するようにしてもよい。また、圧縮画像データに対応する画像データを送信することもできるし、スルー画像を表示する際のフレーム毎の画像データを送信することもできる。
【００４１】
また、再生モードでは、ユーザは、入力装置５０に含まれる指示（カーソル）ボタン（図示せず）および再生ボタン（図示せず）を操作することにより、所望の画像（圧縮画像データ）を選択して、再生指示を入力することができる。再生指示が入力されると、ＣＰＵ２０は、選択された圧縮画像データをＲＡＭ３８または外部記憶媒体４８から読み出し、ＪＰＥＧコーデック２６に与える。ＪＰＥＧコーデック２６は、ＣＰＵ２０の指示の下、圧縮画像データを伸張し、その結果得られた画像データは、ＣＰＵ２０の指示の下、メモリ制御回路３０によってＳＤＲＡＭ４４に書き込まれる。その後、画像データは、ＣＰＵ２０の指示の下、メモリ制御回路３０によってＳＤＲＡＭ４４から読み出され、ＬＣＤドライバ３２によってＬＣＤ４６に出力される。
【００４２】
なお、撮影モードまたは再生モードを選択するためのボタンないしスイッチも入力装置５０に含まれており、そのボタンないしスイッチを操作することにより、各モードが設定される。
【００４３】
このような画像処理システム１０は、図２に示すように、複数の被写体１８を含む静止画像（被写体像）１８０についての所望の撮影画像を取得するような場合（動画像から所定フレーム毎に静止画像を取得する場合も含む。）に用いられる。たとえば、図示しない撮影者の口頭による指示に従って、カメラ１２に対する各被写体１８の位置および各被写体１８の視線方向が誘導される。撮影者ないしユーザは、視線サーバ１４に、別途各被写体１８の理想の視線方向として、当該理想の視線方向についてのパラメータが記述されたテンプレートを選択ないし入力する。たとえば、カメラ１２では、撮影モードが設定されると、視線サーバ１４からの要求に応じて、複数枚（この実施例では、１０枚）の写真（撮影画像）を撮影（連写）し、各撮影画像に対応する圧縮画像データ（画像データのままでもよい。）をその視線サーバ１４に送信する。たとえば、１秒間に５枚の撮影画像が得られ、２秒間撮影が継続され、連写（連続的に撮影）することにより、１０枚の撮影画像が得られる。詳細な説明は省略するが、この実施例では、カメラ１２は、オートフォーカス時に距離センサ２８によって計測した距離のデータ（距離データ）が圧縮画像データに付加されて視線サーバ１４に送信される。ただし、距離センサ２８によって計測されるのは、カメラ１２の正面に存在する被写体１８との直線距離である。
【００４４】
視線サーバ１４は、圧縮画像データを伸張し、その結果得られた画像データから各被写体１８の視線方向を検出する。これは、すべての画像データ（撮影画像）について実行される。また、視線サーバ１４は、距離データと画像データとから、撮影時におけるカメラ１２と視線サーバ１４との位置関係を算出する。この位置関係の算出に方法については後述するため、ここではその説明は省略する。
【００４５】
続いて、視線サーバ１４は、選択ないし入力されたテンプレートに基づく画像に、最も近似する撮影画像を選択する。そして、選択された撮影画像の中で、被写体１８の視線方向が、テンプレートが示す理想の視線方向と比較的大きくずれている場合には、他の撮影画像から理想の視線方向とできる限り近似するものを検索し、最も近似する撮影画像の当該被写体１８の顔画像を、選択した撮影画像についての当該被写体１８の顔画像として合成する。これによって、テンプレートに基づく理想の画像に近い撮影画像（合成画像）を取得することができる。
【００４６】
また、視線サーバ１４は、合成前の撮影画像において、被写体１８の視線方向が、テンプレートが示す理想の視線方向と比較的大きくずれている場合には、つまりテンプレートに対する適合率が低い被写体１８については、その視線（注意）を誘導するための指示を出力する。これは視線方向がずれている被写体１８毎に行われる。この実施例では、視線サーバ１４は、そのような誘導を指示するためのメッセージをスピーカ１６から出力することにより、撮影者または被写体１８或いはその両方に伝達（フィードバック）する。
【００４７】
以下、視線方向の検出方法、テンプレートの生成およびテンプレートとのマッチング、およびフィードバックのそれぞれについて具体的に説明することにする。
＜視線方向の検出方法＞
この実施例では、以下に説明するように、被写体１８の視線方向（図３，図４）を推定または検出するために１つのカメラ（単眼カメラ）を用いるユニークな方法を採用している。ただし、視線方向は、図３に示す水平方向（地面と水平な方向）の角度αと、図４に示す垂直方向（地面に対して垂直な方向）の角度βとで規定される。ただし、点線ｈｌｉｎｅは、水平方向の角度αを求めるための基準線であり、カメラ１２の位置とユーザないし被写体１８の頭部の中心とを通る直線である。また、点線ｖｌｉｎｅは、垂直方向の角度βを求めるための基準線であり、点線ｈｌｉｎｅと同様に、カメラ１２の位置とユーザないし被写体１８の頭部の中心とを通る直線である。以下、この実施例において、同じである。
【００４８】
図２に示すように、複数の被写体１８の前方にカメラ１２が設置され、このカメラ１２で撮影された画像（撮影画像）についての圧縮画像データが視線サーバ１４に取り込まれ、視線サーバ１４が画像処理することによって、視線１８Ａの角度αおよびβを推定する。
【００４９】
なお、図５に示すように、カメラ１２により取得されたスルー画像は、それに附属して設けたＬＣＤ４６の撮影画像表示領域４６ａに動画として表示される。特に限定されないが、たとえば、撮影画像表示領域４６ａ上に、視線方向を示す指標として、眉間から視線方向に延びる線分を表示してもよい。
【００５０】
視線サーバ１４は、一般的な汎用のコンピュータであり、特に変わったハードウェア構成ではないので、ハードウェア自体の説明は省略するが、視線方向や視線位置の推定は、以下に説明するソフトウェアにより実現される。
【００５１】
視線サーバ１４では、特徴点の追跡処理の安定性を確保するため、同一特徴点に関して異なるフレーム（この実施例では、異なる画像データ）における複数の観測テクスチャを保持している。初期校正過程では、これらの特徴点と虹彩中心の関係から顔特徴点と眼球中心の相対関係を求める。視線推定過程では、校正過程で得られた関係を元に現フレームで得られている特徴点群から眼球中心位置を推定し、その位置と虹彩中心位置から視線方向を決定する。
【００５２】
視線方向の推定処理の動作の前提として、まず、たとえば６分割矩形フィルタを利用して、顔検出処理が実行される。
【００５３】
視線サーバ１４では、特に限定されないが、たとえば、顔を連続撮影したビデオ画像（ここでは、静止画像）を処理するにあたり、横が顔幅、縦がその半分程度の大きさの矩形フィルタで画面を走査する。矩形は、たとえば、３×２に６分割されていて、各分割領域の平均明るさが計算され、それらの相対的な明暗関係が或る条件を満たすとき、その矩形の中心を眉間候補とする。
【００５４】
連続した画素が眉間候補となるときは、それを取囲む枠の中心候補のみを眉間候補として残す。残った眉間候補を標準パターンと比較してテンプレートマッチング等を行うことで、上述した手続きで得られた眉間候補のうちから、偽の眉間候補を捨て、真の眉間を抽出する。以下、さらに詳しく説明する。
【００５５】
図６は、眉間候補領域を検出するためのフィルタを説明するための概念図であり、図６（ａ）は、上述した３×２に６分割された矩形フィルタ（以下、「６分割矩形フィルタ」と呼ぶ）を示す。６分割矩形フィルタは、（１）鼻筋は両目領域よりも明るい、（２）目領域は頬部よりも暗い、という顔の特徴を抽出し、顔の眉間位置を求めるフィルタである。たとえば、１点（ｘ，ｙ）を中心として、横ｉ画素、縦ｊ画素（ｉ，ｊ：自然数）の矩形の枠を設ける。そして、図６（ａ）のように、この矩形の枠を、横に３等分、縦に２等分して、６個のブロックＳ１〜Ｓ６に分割する。
【００５６】
このような６分割矩形フィルタを顔画像の両目領域および頬部に当てはめてみると、図６（ｂ）のようになる。ただし、図６（ａ），（ｂ）に示す６分割フィルタは各矩形領域が等分されたものであるが、この６分割フィルタは図７に示すように変形されてもよい。つまり、鼻筋の部分が目の領域よりも通常は狭いことを考慮すると、ブロックＳ２およびＳ５の横幅ｗ２は、ブロックＳ１，Ｓ３，Ｓ４およびＳ６の横幅ｗ１よりも狭い方がより望ましい。好ましくは、幅ｗ２は幅ｗ１の半分とすることができる。図７は、このような場合の６分割矩形フィルタの構成を示す。また、ブロックＳ１、Ｓ２およびＳ３の縦幅ｈ１と、ブロックＳ４、Ｓ５およびＳ６の縦幅ｈ２とは、必ずしも同一である必要もない。
【００５７】
図７に示す６分割矩形フィルタにおいて、それぞれのブロックＳｉ（１≦ｉ≦６）について、画素の輝度の平均値「バーＳｉ」（Ｓｉに上付きの“−”をつける）を求める。
【００５８】
ブロックＳ１に１つの目と眉が存在し、ブロックＳ３に他の目と眉が存在するものとすると、以下の関係式（１）および（２）が成り立つ。
【００５９】
【数１】
0005092093.tif 000002
【００６０】
【数２】
0005092093.tif 000003
【００６１】
そこで、これらの関係を満たす点を眉間候補（顔候補）として抽出する。
【００６２】
矩形枠内の画素の総和を求める処理には、公知の文献（P. Viola and M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proc. Of IEEE Conf. CVPR, 1, pp.511-518, 2001）において開示されている、インテグラルイメージ（Integral Image）を利用した計算の高速化手法を取り入れることができる。インテグラルイメージを利用することでフィルタの大きさに依らず高速に実行することができる。多重解像度画像に本手法を適用することにより、画像上の顔の大きさが変化した場合にも顔候補の抽出が可能となる。
【００６３】
このようにして得られた眉間候補（顔候補）に対しては、両目の標準パターンとのテンプレートマッチングにより、真の眉間位置（真の顔領域）を特定することができる。
【００６４】
ただし、得られた顔候補に対して、サポートベクトルマシン（ＳＶＭ）による顔モデルによる検証処理を適用し顔領域を決定することもできる。髪型の違いや髭の有無、表情変化による認識率の低下を避けるため、たとえば、図８に示すように、眉間を中心とした画像領域を利用してＳＶＭによるモデル化を行うことができる。
【００６５】
なお、このようなＳＶＭによる真の顔領域の決定については、文献：S. Kawato, N. Tetsutani and K. Hosaka: “Scale-adaptive face detection and tracking in real time with ssr fi1ters and support vector machine”, IEICE Trans．on Info. and Sys., E88−D, 12, pp．2857−2863（2005）に開示されている。６分割矩形フィルタによる高速候補抽出とＳＶＭによる処理とを組み合わせることで実時間の顔検出が可能である。
【００６６】
続いて、目、鼻や虹彩中心の位置を、公知の文献、たとえば『川戸、内海、安部：「４つの参照点と３枚のキャリブレーション画像に基づく単眼カメラからの視線推定」画像の認識・理解シンポジウム（MIRU2005），pp．1337−1342（2005）』あるいは、『川戸慎二郎、鉄谷信二：鼻位置の検出とリアルタイム追跡：信学技報IE2002−263、pp．25−29（2003）』などの手法を用いて抽出する。
【００６７】
両目の位置については、前節の顔領域検出で眉間のパターンを探索しているため、眉間の両側の暗い領域を再探索することにより、大まかな両目の位置を推定することができる。しかし、視線方向の推定のためには、虹彩中心をより正確に抽出する必要がある。ここでは、上で求まった目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩および虹彩の中心の投影位置を検出する。
【００６８】
鼻の位置は、鼻先が凸曲面であるため周囲に対し明るい点として観測されやすいことと、両目の位置から鼻の存在範囲が限定できることを利用して抽出する。また、両目、鼻の位置を用いて、大体の顔の向きも推定できる。
【００６９】
図９（ａ），（ｂ）は顔検出結果の例を示す図である。検出された顔において、虹彩中心や鼻先や口なども検出されている。たとえば、特徴点としては、鼻先や、左右の目の目尻や目頭、口の両端、鼻腔中心などを用いることができる。
【００７０】
視線の推定においては、視線方向は眼球中心と虹彩中心を結ぶ３次元直線として与えられるものとする。
【００７１】
図１０は視線方向を決定するためのモデルを説明する概念図である。画像上での眼球半径をｒ、画像上での眼球中心と虹彩中心との距離をdとすると、視線方向とカメラ光軸とのなす角θは次式(３)で表される。
【００７２】
【数３】
0005092093.tif 000004
【００７３】
式（３）により、視線方向を推定するためには、画像上での眼球半径と眼球中心・虹彩中心の投影位置が必要となる。ここで、虹彩中心の投影位置については、上述したとおり、ハフ変換を用いた手法により求めることができる。画像上での眼球直径ｒは、解剖学的なモデル（標準的な人の眼球直径）を用いてもよいし、別途キャリブレーションにより求めてもよい。
【００７４】
図１１は、図１０に示した状態からユーザがカメラを注視する状態に移行した後の虹彩中心、眼球中心および投影点の関係を示す概念図である。
【００７５】
眼球中心の投影位置については、一般には、画像から直接観測することはできない。しかし、被写体１８がカメラ１２を注視した場合について考えると、図１１に示すとおり、カメラ１２、虹彩中心、眼球中心の３点が１直線上に並ぶため、画像では虹彩中心と眼球中心は同一点に投影されることが分かる。
【００７６】
そこで、この実施例での視線推定では、ユーザがカメラ１２を注視しながら、顔の姿勢を変化させている画像フレーム列を撮影し、これらの画像列から虹彩位置と顔特徴点を抽出、追跡することにより、眼球中心と顔特徴点間の相対幾何関係を推定する。
【００７７】
後により詳しく説明するように、この実施例の視線方向の推定では、眼球中心と顔特徴点間の相対関係の推定処理と眼球中心の投影位置推定とを行う。
【００７８】
視線方向の推定のための初期設定として、視線サーバ１４は、図１２に示すフローチャートで表現されるキャリブレーションを実行する。
【００７９】
まず、キャリブレーション用の画像列として、ユーザがカメラ１２を注視しながら、顔の姿勢を変化させている画像フレーム列を撮影する（ステップＳ１０２）。図１３は、このようにしてキャリブレーションにおいて撮影された４枚の画像フレームを示す。
【００８０】
ここでは、より一般に、Ｎ（Ｎ≧２）枚の画像列が得られたとする。各画像フレームを、フレームＩ1，…ＩＮとする。
【００８１】
次に、得られた各画像フレーム列に対して、上述したような方法によって顔検出処理を行い（ステップＳ１０４）、続いて、目や鼻の検出処理を行なう（ステップＳ１０６）。
【００８２】
さらに、視線サーバ１４は、特徴点の抽出、追跡を行う（ステップＳ１０８）。なお、特徴点の抽出方法としては、上述したような方法の他に、たとえば、文献：J. Shi and C. Tomasi: “Good features to track”，Proc. CVPR94, pp. 593−600（1994）で提案された手法を用いることもできる。
【００８３】
ここで、各画像フレームＩｉ（ｉ＝１，…，Ｎ）においてＭ（Ｍ≧４）点の特徴点ｐｊ（ｊ＝１，…，Ｍ）が検出・追跡できたとする。画像フレームＩｉにおける特徴点ｐｊの２次元観測位置をｘｊ（ｉ）（太字）＝［ｘｊ（ｉ），ｙｊ（ｉ）］ｔ（ｉ＝１，…，Ｎ，ｊ＝１，…，Ｍ）とし、両目の虹彩中心の２次元観測位置をそれぞれｘｒ（ｉ）（太字）＝［ｘｒ（ｉ），ｙｒ（ｉ）］ｔ，ｘｌ（ｉ）（太字）＝［ｘｌ（ｉ），ｙｌ（ｉ）］ｔ（ｉ＝１，…，Ｎ）とする。ここで、行列Ｗを以下のように定義する。
【００８４】
【数４】
0005092093.tif 000005
【００８５】
因子分解法により、特徴点の各フレームでの２次元観測位置を縦に並べた行列Ｗ（計測行列）は以下のように分解できる。
【００８６】
【数５】
0005092093.tif 000006
【００８７】
ここで、行列Ｍ（「撮影姿勢行列）と呼ぶ）にはカメラ１２の姿勢に関する情報のみが、行列Ｓ（「相対位置関係行列」と呼ぶ）には観測対象物の形状に関する情報のみが含まれており、顔特徴点と眼球中心との３次元的な位置の相対関係は行列Ｓとして求まる（ステップＳ１１０）。すなわち、正射影を仮定すると、行列Ｍの各要素が画像フレームでのカメラ１２の姿勢を表す単位ベクトルであって、それぞれの大きさが１であり相互には直交するとの拘束条件のもとで、行列Ｗは、特異値分解により一義的に行列Ｍと行列Ｓの積に分解できることが知られている。
【００８８】
なお、このような計測行列Ｗを、因子分解により、カメラ１２の運動の情報を表す行列と対象物の形状情報を表す行列へ分解する点については、文献：金出，ポールマン，森田：因子分解法による物体形状とカメラ運動の復元”，電子通信学会論文誌Ｄ−ＩＩ，J76‐D−II,8,pp.1497−1505(1993)に開示がある。
【００８９】
図１４は、リアルタイムの視線方向の推定処理のフローチャートを示す。
【００９０】
次に、以上で得られた結果を用いて、視線方向を推定する手順について説明する。
【００９１】
まず、カメラ１２から画像フレームを取得すると（ステップＳ２００）、キャリブレーション時と同様にして、顔の検出および目鼻の検出が行なわれ（ステップＳ２０２）、取得された画像フレーム中の特徴点が抽出される（ステップＳ２０４）。
【００９２】
画像フレームＩｋが得られたとする。ここで、眼球中心以外の特徴点のうちｍ点ｐｊ（ｊ＝ｊ１，…，ｊｍ）が、それぞれ、ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔに観測されたとする。このとき、観測された特徴点について、上述したように特徴点近傍のテンプレートを用いたテンプレートマッチングを実施することで、キャリブレーション時に特定された特徴点と現画像フレーム中で観測された特徴点との対応付けが行なわれて、現画像フレーム中の特徴点が特定される（ステップＳ２０６）。
【００９３】
なお、上述のとおり、特徴点を特定するためのテンプレートは、キャリブレーションの時のものに限定されず、たとえば、最近の画像フレームの所定枚数について検出された特徴点の近傍の所定の大きさの領域内の画像を所定個数だけ保持しておき、これら所定枚数のテンプレートについてマッチングをした結果、もっとも一致度の高い特徴点に特定することとしてもよい。
【００９４】
顔特徴点ｐｊの２次元観測位置ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔとキャリブレーションより求まった３次元位置ｓｊ（太字）＝［Ｘｊ，Ｙｊ，Ｚｊ］ｔ（ｊ＝１，…，Ｍ）の間には、Ｍ個の特徴点のうち観測されたｍ個の特徴点について注目すると、次式の関係が得られる。
【００９５】
【数６】
0005092093.tif 000007
【００９６】
ただし、行列Ｐ（ｋ）は２×３の行列である。右辺の第２項の行列Ｓ（ｋ）は行列Ｓのうち、観測された特徴点に対応する要素のみからなる部分行列である。上述の通り、カメラ１２と顔とは十分に離れているとし正射影を仮定している。ここで、４点以上の特徴点が観測されれば、行列Ｐ（ｋ）は以下のように計算できる（ステップＳ２０８）。
【００９７】
【数７】
0005092093.tif 000008
【００９８】
画像フレームＩｋにおける眼球中心の投影位置ｘｒ（ｉ）（太字），ｘｌ（ｉ）（太字）は、行列Ｐ（ｋ）を用いて以下のように計算できる（ステップＳ２１０）。
【００９９】
【数８】
0005092093.tif 000009
【０１００】
【数９】
0005092093.tif 000010
【０１０１】
したがって、画像フレームＩｋにおいて特徴点として抽出した虹彩中心の投影位置とこの眼球中心の投影位置を用いると、視線の推定を行なうことができる（ステップＳ２１２）。
【０１０２】
なお、行列ＰをＱＲ分解により分解することで、顔の姿勢Ｒが、以下のように計算できる。
【０１０３】
【数１０】
0005092093.tif 000011
【０１０４】
【数１１】
0005092093.tif 000012
【０１０５】
ただしｒ１、ｒ２はそれぞれ１×３のベクトルである。このような顔の姿勢Ｒの検出については、文献：L．Quan: “Self-calibration of an affine camera from multiple views”，Int’l Journal of Computer Vision, 19, pp. 93−105（1996）に開示がある。
【０１０６】
ユーザ等の指示により追跡が終了していると判断されれば（ステップＳ２１４）、処理は終了し、終了が指示されていなければ、処理はステップＳ２０２に復帰する。
【０１０７】
以上説明した視線方向の推定装置の有効性を確認するため、実画像を用いた実験を行った結果について以下に説明する。
【０１０８】
カメラ１２はElmo社製PTC−400Cを用い、被写体１８から約１５０［cm］の位置に設置した。
【０１０９】
まず、５０フレームの画像列を用いて、眼球中心と顔特徴点のキャリブレーションを行った。キャリブレーション用の画像フレーム列と抽出した特徴点の例は、図１２に示したとおりである。
【０１１０】
キャリブレーション用画像フレーム列の撮影に要した時間は約３秒であった。（＋印は抽出された虹彩中心（眼球中心））、×印は追跡した顔特徴点）。
【０１１１】
次に、キャリブレーションにより求まった顔モデル（行列Ｓ）を用いて、視線推定を行った。ここで、被写体１８はそれぞれ右上、上、左下の方向を注視しながら、顔の位置・向きを変化させた。
【０１１２】
図１５〜図１７は、視線推定結果を示す。図１５は、右上方注視の状態であり、図１６は、上方注視の状態であり、図１７は、左下方向注視の状態である。ここで、視線方向は両目それぞれで計算された視線方向の平均値としている。結果より、顔の位置や向きの変化とは関係なく、視線方向が推定できた。
【０１１３】
以上説明したとおり、この実施例の視線方向の推定方法では、単眼カメラの観測に基づいて顔特徴点を検出し、追跡することにより視線方向を推定する。つまり、まずキャリブレーションとして視線がカメラ方向を向いたまま顔の向きのみが異なる画像列から得られる虹彩位置と顔特徴点を利用することで、眼球中心と顔特徴点の関係をモデル化し（行列Ｓを特定し）、その後、その関係に基づいて推定された入力画像中の眼球中心位置と虹彩位置の関係から視線方向の角度α、βを決定する。
＜テンプレートの生成およびテンプレートとのマッチング＞
この実施例では、テンプレートは、視線方向についてのパラメータ（角度α，β）である。視線方向は、上述したように、カメラ１２（のレンズの中心）と被写体１８の頭部の中心とを通る直線に対して、目線（眼球中心と虹彩中心とを通る線）がなす角度である。ただし、カメラ１２と被写体１８の頭部を通る直線を比較的太い直線と擬制して、被写体１８がカメラ１２を見ている場合には、カメラ１２と眼球中心と虹彩中心とが一直線上に並び、このときの視線方向を示すパラメータは角度α＝β＝０度としてある。
【０１１４】
この実施例では、撮影者が所望の撮影画像を得るためのテンプレートを用意ないし生成する（図２２参照）。たとえば、カメラ１２と被写体１８との位置関係および被写体１８の視線方向を決定し、テンプレートは生成される。ここで、カメラ１２と被写体１８との位置関係とは、カメラ１２に対する被写体の位置および方向であるが、この実施例では、カメラ１２の位置を３次元の現実空間（ワールド座標）における原点Ｏとした場合における被写体１８の位置（３次元座標）を意味する。
【０１１５】
たとえば、旅行や卒業を記念した写真のような集合写真（撮影画像）を取得する場合には、図１８に示すように、各被写体１８がカメラ１２の方向を向くようなテンプレートが生成される。ここでは、簡単のため、４人の被写体１８が一列に並んでいる場合について説明するが、２人以上の被写体１８であれば、一列のみならず、二列以上に並んでいてもよい（図１９，図２０も同じ）。ただし、カメラ１２と被写体１８との距離、ここでは、カメラ１２と被写体１８の列との直線距離は、カメラ１２の望遠距離や被写体１８の人数に応じて適宜設定される。
【０１１６】
この図１８に示すような場合には、各被写体１８の視線方向はカメラ１２と当該各被写体１８の頭部とを通る直線との角度差が無いため、全被写体１８に対してパラメータα＝β＝０であるテンプレートが生成される。また、カメラ１２と被写体１８との位置関係は、カメラ１２の位置をワールド座標の原点とした場合における被写体１８の位置座標で決定される。ただし、図１８に示すように、カメラ１２の位置を中心として、図面の横方向がＸ軸方向（水平方向）であり、図面の縦方向がＺ軸方向（奥行き方向）であり、図面に対して垂直な方向がＹ軸方向（高さ方向）である。また、図面の右方向がＸ軸のプラス方向であり、図面の下方向がＺ軸のプラス方向であり、図面に対して垂直上方向がＹ軸のプラス方向である。
【０１１７】
また、図１８においては、簡単のため、３次元の現実空間を上方から俯瞰的に見た状態を示し、水平方向（Ｘ軸方向）の角度（α）のみを示し、垂直方向（Ｙ軸方向）の角度βについては省略してある。さらに、図１８においては、被写体１８の頭部を円で示し、その視線を実線と矢印とを用いて示してある。さらにまた、図１８においては、カメラ１２と被写体１８の目とを通る線を破線で示してあるが、視線と重なる部分については実線で示される。また、ｘ１，ｘ２，ｘｎ−１,ｘｎは、各被写体１８の位置座標のうちのＸ軸成分であり、その大きさ（絶対値）は水平方向における原点Ｏからの距離を示す。これらは、後述する図１９および図２０においても同様である。
【０１１８】
また、図１９に示すように、すべての被写体１８が或る方向（ここでは、Ｚ軸方向と平行な方向）を見ている画像を取得する場合には、Ｘ座標がｘ１の被写体１８に対しては、α＝θ１で示されるテンプレートが設定され、Ｘ座標がｘ２の被写体１８に対しては、α＝θ２で示されるテンプレートが設定され、Ｘ座標がｘｎ−１の被写体１８に対しては、α＝θｎ−１で示されるテンプレートが設定され、そして、Ｘ座標がｘｎの被写体１８に対しては、α＝θｎで示されるテンプレートが生成（設定）される。
【０１１９】
詳細な説明は省略するが、カメラ１２と被写体１８との位置関係は予め決定されているため、被写体１８が見る方向（対象物）を決めれば、三角関数を用いた簡単な計算により、パラメータすなわち角度α，βを求めることができる。また、図１８の説明においては省略したが、視線方向の角度αは、カメラ１２と被写体１８の頭部中心とを通る点線から右側に開く角度はプラスで表わされ、点線（ｈｌｉｎｅ）から左側に開く角度はマイナスで表わされる（図３参照）。図示は省略してあるが、視線方向の角度βは、カメラ１２と被写体１８の頭部中心とを通る点線（ｖｌｉｎｅ）から上側に開く角度がプラスで表わされ、下側に開く角度がマイナスで表わされる（図４参照）。以下、同じである。
【０１２０】
また、図２０は、各被写体１８が特定の同じ方向や特定の同じ物を見るのではなく、それぞれ異なる方向であってその視線方向が放射状に分布する場合には、各被写体１８の視線１８Ａをカメラ１２とは逆向きに延長し、たとえば、ＸＺ平面におけるＺ軸上（カメラ１２の撮影方向の直線上）の或る点Ｋを通るように、視線方向のパラメータα，βが決定される。ただし、３次元のワールド座標系で見た場合には、各被写体の視線１８Ａをカメラ１２とは逆方向に延長した直線がＺ軸と交わる点ＫのＹ軸方向の座標は必ずしも一致しなくてもよい。
【０１２１】
図２０に示す例では、Ｘ座標がｘ１の被写体１８に対しては、α＝φ１で示されるテンプレートが設定され、Ｘ座標がｘ２の被写体１８に対しては、α＝φ２で示されるテンプレートが設定され、Ｘ座標がｘｎ−１の被写体１８に対しては、α＝φｎ−１で示されるテンプレートが設定され、そして、Ｘ座標がｘｎの被写体１８に対しては、α＝φｎで示されるテンプレートが生成（設定）される。
【０１２２】
このように、カメラ１２と被写体１８との位置関係および被写体１８の視線方向を決定した理想の撮影画像を得るためのテンプレートが生成される。この実施例では、テンプレートには、角度α，βのパラメータが記述され、当該テンプレートに対してカメラ１２に対する被写体１８の位置座標が付加的に記述される。ただし、被写体１８の位置座標は、パラメータとして角度α，βとともに、テンプレートに記述するようにしてもよい。
【０１２３】
図示は省略するが、各被写体１８がそれぞれ別の物（方向）を見るように、視線方向を発散させた撮影画像を得ることも可能である。たとえば、カメラ１２と各被写体１８との位置関係を決定し、各被験者１８が同じ方向や同じ物（カメラ１２を含む。）を見ないように、各被験者１８の視線方向が決定される。
【０１２４】
このように、テンプレートは生成され、予め視線サーバ１４に登録され、全体処理（図２３−図２７参照）、撮影処理（図２８−図３０）および合成処理（図３１，図３２参照）等において選択（設定）される。視線サーバ１４は、カメラ１２からの圧縮画像データを取得すると、取得した圧縮画像データに対応する画像に含まれる各被写体１８について、カメラ１２との位置関係を算出するとともに、各被写体１８の視線方向を上述した方法によって推定（検出）する。
【０１２５】
ただし、カメラ１２と各被写体１８との位置関係は、圧縮画像データに付加された距離データと、この圧縮画像データに対する撮影画像とに基づいて算出される。たとえば、図１８−図２０に示したような例では、カメラ１２と被写体１８の列との距離を距離データから知ることができる。その距離データに基づく距離は、撮影画像の中心或いはその近傍に存在する現実空間の位置（説明の都合上、「第１位置」という。）とカメラ１２の位置との距離である。撮影画像から各被写体の顔の大きさを検出し、顔の大きさ（たとえば、横幅または縦の長さ或いはその両方）と距離データに基づく距離とから、第１位置とのＸ軸方向およびＺ軸方向の距離を推測する。そして、この推測した距離を用いて、ワールド座標系における位置座標が算出される。
【０１２６】
なお、この実施例では、顔の大きさに応じて第１位置からの距離を求めるようにしてあるが、これに限定される必要はない。たとえば、左右の目の間の距離や眉間の距離を用いるなどして、第１位置からの距離を求めることもできる。ただし、顔の大きさ、左右の目の間の距離および眉間の距離のいずれか２つ以上に基づいて、第１位置からの距離を求めるようにしてもよい。
【０１２７】
また、詳細な説明は省略するが、複数の被写体１８を含む被写体像１８０を撮影する場合には、カメラ１２と各被写体１８との位置関係および各被写体１８の視線方向は、撮影者ないしユーザの指示に従って予め決定される。
【０１２８】
撮影画像について、カメラ１２と各被写体１８との位置関係および各被写体１８の視線方向が算出（推測）されると、テンプレートに基づく画像におけるカメラ１２と各被写体１８との位置関係および視線方向と比較される。以下、分かり易く説明するために、撮影画像に基づくカメラ１２に対する被写体１８の位置座標を「推定位置関係」といい、同じく撮影画像に基づく被写体の視線方向を「推定視線方向」という。一方、テンプレートに付加された位置座標を「理想位置関係」といい、同じくテンプレートに基づく視線方向を「理想視線方向」という。
【０１２９】
比較処理（マッチング処理）では、まず、仮想空間に、推定位置関係に従ってカメラ１２と被写体１８とを配置し、被写体１８の推定視線方向に従う視線を描画する。一方、同じく仮想空間に、理想位置関係に従ってカメラ１２と被写体１８とを配置し、被写体の理想視線方向に従う視線を描画する。前者の描画結果と後者の描画結果とから理想視線方向を基準とした場合の推定視線方向のずれを検出する。このずれが小さい程、適合率が高く、逆に、ずれが大きい程、適合率が低いと言える。詳細な説明は省略するが、水平方向および垂直方向の両方とも、角度差は絶対値で０度−９０度の間で表わすことができる。したがって、水平方向と垂直方向と角度差の合計が１８０度の場合の適合率を０％とし、角度差の合計が０度の場合の適合率を１００％として、角度差が１．８度増加するに従って適合率を１％ずつ減少させるように、適合率を算出することができる。このような適合率は、各被写体１８について算出される。
【０１３０】
なお、この実施例では、推定位置関係と理想位置関係とは、一致或いはほぼ一致しているものとしてある。
【０１３１】
このように、比較処理および適合率の算出処理を行うが、上述したように、各被験者の視線方向を発散させた撮影画像の場合には、各被写体１８について適合率を算出するのではなく、撮影画像が全体としてのテンプレートに従う画像に適合しているか否かを判断するようにしてある。このように、視線方向を発散させる場合には、他の被験者１８と異なる方向を見ていればよく、相対的な方向をきっちり合わせる必要性がないためである。
【０１３２】
具体的には、撮影画像における全被写体１８の視線方向の分散および尖度を求め、同様に、テンプレートに基づく画像における全被写体１８の視線方向の分散および尖度を求め、その適合度（画像全体としての適合率）を求める。なお、分散および尖度については、周知の公式によって簡単に求めることができ、適合率は、分散および尖度のそれぞれについて、テンプレートに基づく画像についての分散および尖度を基準として、撮影画像についての分散および尖度の百分率を求めればよい。
【０１３３】
適合率は各撮影画像について算出され、視線方向を発散させた撮影画像以外では、適合率が一定値よりも大きい被写体１８の数が最も多い画像が基礎となる画像（基礎画像）として選択される。基礎画像が選択されると、当該基礎画像の被写体１８の中で、適合率が低い被写体１８については、当該被写体１８についての顔画像を、他の適合率の高い撮影画像から切り取って、当該基礎画像の該当する部分に貼り付ける。つまり、合成画像が生成される。このようにすれば、各被写体１８について適合率の高い画像を生成することができ、画像全体として理想に近づけることができる。
【０１３４】
詳細な説明は省略するが、合成画像を生成する方法を簡単に説明すると、適合率の高い撮影画像を検出すると、当該撮影画像において各被写体の顔領域を判別する。次に、切り取る顔画像を含む領域を方形または楕円等の簡単な平面図形で指定する。一方、切り取った顔画像を貼り付ける領域についても同じ平面図形で指定する。そして、平面図形同士が重なるように、切り取った顔画像を基礎画像の対応する位置に貼り付ける。このとき、貼り付けた顔画像のエッジ（周辺域）については、最多色を選択して、選択した最多色で埋めて、ガウスぼかしを入れる。これによって、より自然な合成画像を得るようにしてある。
【０１３５】
具体的には、貼り付けた顔画像のエッジ上に、たとえば３×３ピクセルを選択し、ポスタリゼーションして、１６色に落とし込む。その中で、最多色を選択し、選択した最多色で他のピクセルを塗りつぶす。この処理をエッジ上でたとえば２ピクセル毎に実行する。その後、ガウスぼかしをかけて、エッジを隠す。
【０１３６】
また、視線方向を発散させた撮影画像では、画像全体としての適合率が最も大きい撮影画像が選択され、上述したような合成処理は行わずに、選択された撮影画像をテンプレートに従う画像に最も近似するものとして取得する。このように、視線方向を発散させた撮影画像では、個々の被写体１８についての適合率を算出していない。これは、視線方向を発散させた撮影画像では、各被写体１８間で異なる方向を見ていれば良いので、撮影画像全体としての適合率を高くするか否かは個々の視線方向の適合率によって左右されるのではなく、他の被写体１８との関係で決まるからである。
＜フィードバック＞
合成画像を生成する前の基礎画像において、推定視線方向を理想視線方向に近づけるための指示が被写体１８または撮影者或いはその両方に与えられる。この実施例では、各被写体１８に対して、推定視線方向を理想視線方向に近づけるように、その視線１８Ａを誘導するためのメッセージをスピーカ１６から出力するようにしてある。ただし、スピーカ１６に代えて、ディスプレイのような他の出力装置を用いて、視線１８Ａを誘導するようにしてもよい。具体的には、次のような内容のメッセージが通知される。ただし、ここでは、メッセージを通知する被写体１８を特定していないが、たとえば、メッセージの先頭に、被写体１８を特定するための内容が追加されるのである。たとえば、８人の被写体１８が前列と後列との２列に分かれて４人ずつ並んでいる場合には、たとえば、「前列の向かって右から２番目の人は」のような内容をメッセージの先頭に追加して、被写体１８を特定可能にするのである。
【０１３７】
たとえば、「少しだけ左を見てください。」や「少しだけ視線を左に向けてください。」のように、方向を示す言葉を含むメッセージが被写体１８や撮影者に通知（フィードバック）される。また、このようなメッセージの内容は時系列に従って記録され、つまり履歴（指示歴）が残され、次回以降のメッセージを通知する際に、前回通知した内容を反映したメッセージが被写体１８に通知される。たとえば、先のメッセージによって、左方向に視線を向け過ぎてしまった場合には、「ちょっと向け過ぎましたので、ほんの少し右を見てください。」や「視線を少し右に戻してください。」というメッセージを通知することができる。また、先のメッセージを通知したが、さらに、左方向に視線を移動させたい場合には、「さらにあと少しだけ左を見てください。」や「あともう少し視線を左に向けてください。」というメッセージを通知することができる。
【０１３８】
ただし、このようなメッセージに対応する合成音声のデータ（後述するメッセージデータ）は予め用意されており、選択的にサーバ１２からスピーカ１８を介して出力されるのである。また、ディスプレイのような表示器にメッセージを表示する場合には、上述したようなメッセージに対応するテキストデータが記憶されるのである。
【０１３９】
図２１は、視線サーバ１４のメモリ（ＲＡＭ）のメモリマップの一例を示す図解図である。図２１に示すように、メモリには、プログラム記憶領域７２およびデータ記憶領域７４が設けられる。プログラム記憶領域７２には、画像処理プログラムが記憶され、この画像処理プログラムは、画像取得プログラム７２０、視線推定プログラム７２２、比較プログラム７２４、適合率算出プログラム７２６、画像選択プログラム７２８、画像合成プログラム７３０および通知プログラム７３２などによって構成される。
【０１４０】
画像取得プログラム７２０は、カメラ１２からの画像データ（この実施例では、圧縮画像データ）を取得するためのプログラムである。視線推定プログラム７２２は、画像取得プログラム７２０に従って取得した画像データに対応する撮影画像のそれぞれについて、各被写体１８の視線方向を推定（検出）するためのプログラムである。比較プログラム７２４は、予め設定（生成）されたテンプレートが示す理想視線方向（パラメータα，β）と、視線推定プログラム７２２に従って推定された推定視線方向とを比較するためのプログラムである。
【０１４１】
適合率算出プログラム７２６は、比較プログラム７２４の比較結果に基づいて、推定視線方向が理想視線方向に適合する割合（適合率）を算出するためのプログラムである。ただし、適合率は、撮影画像がテンプレートに基づく画像に適合する割合ということもできる。画像選択プログラム７２８は、カメラ１２から取得した複数の画像データに対応する複数の撮影画像（静止画像）からテンプレートに基づく画像に最も近似する、１つの撮影画像すなわち基礎画像を選択するためのプログラムである。
【０１４２】
画像合成プログラム７３０は、基礎画像における被写体１８のうち、適合率が一定値よりも低い被写体１８を特定し、特定された被写体１８について、基礎画像以外の撮影画像から適合率が最も高いものを検索し、適合率が最も高い場合被写体１８の画像（この実施例では、顔画像）を切り切り取って、基礎画像の対応する位置に貼り付けて、合成画像を生成するためのプログラムである。通知プログラム７３２は、基礎画像と指示歴とに基づいて、視線方向などを誘導するための指示を通知（フィードバック）するためのプログラムである。
【０１４３】
図示は省略するが、プログラム記憶領域７２には、カメラ１２などの他の電子機器と通信するための通信プログラムなども記憶される。
【０１４４】
また、データ記憶領域７４には、位置関係データ７４０、視線データ７４２、テンプレートデータ７４４、撮影画像データ７４６、合成画像データ７４８、メッセージデータ７５０および履歴データ７５２が記憶される。
【０１４５】
位置関係データ７４０は、カメラ１２の位置を３次元のワールド座標系の原点Ｏとした場合における、各被写体１８の位置座標のデータ（位置座標データ）を、各被写体１８に対応づけて記憶したデータである。これによって、被写体１８の視線方向を決定するための基準となる線（ｈｌｉｎｅ，ｖｌｉｎｅ）を決定することができる。視線データ７４２は、撮影画像における各被写体１８の推定視線方向を、撮影画像毎に各被写体１８に対応づけて記憶したデータ（角度データ）である。この角度データは、上述した視線推定プログラム７２２に従って検出される。
【０１４６】
テンプレートデータ７４４は、複数の理想視線方向についてのパラメータα，βを定義したテンプレートのデータである。たとえば、図２２に示すように、テンプレートデータ７４４は、第１パラメータ７４４ａ、第２パラメータ７４４ｂ、第３パラメータ７４４ｃ、…、および第ｎパラメータ７４４ｎについてのデータを含む。各パラメータ７４４ａ−７４４ｎは、２つの視線角度の組で表わされ、図１８−図２０を用いて説明したように、カメラ１２と被写体１８との位置関係とともに決定（生成）される。ただし、図２２において、パラメータ内における上側の視線角度は、水平方向の角度αであり、下側の視線角度は垂直方向の角度βである。
【０１４７】
図２１に戻って、撮影画像データ７４６は、カメラ１２から取得した撮影画像データである。上述したように、複数枚（この実施例では、１０枚）の撮影画像データがカメラ１２から視線サーバ１４に送信され、したがって複数枚の撮影画像についてのデータが記憶される。合成画像データ７４８は、上述した画像選択合成プログラム７３０に従って生成された合成画像についてのデータである。メッセージデータ７５０は、上述したように、通知プログラム７３２に従ってメッセージを被写体１８等に通知する際に使用する合成音声データである。履歴データ７５２は、通知プログラム７３２に従って通知したメッセージについての履歴（指示歴）を示すデータである。ただし、指示歴は、メッセージの内容（またはメッセージの識別情報）および当該メッセージによって視線方向を指示した被写体１８の情報（カメラ１２側から見た並び順など）を含む。
【０１４８】
具体的には、図１に示した視線サーバ１４が、図２３ないし図２５に示すフロー図に従って全体処理を実行する。図２３に示すように、視線サーバ１４は、全体処理を開始すると、ステップＳ３００で、テンプレートおよびモードが選択されたかどうかを判断する。ここでは、すべての被写体１８に対して、同じテンプレート（７４４ａ−７４４ｎなど）が選択（設定）されたり、一部または全部に異なるテンプレート（７４４ａ−７４４ｎなど）が選択（設定）されたりしたかどうかを判断するとともに、個別に（被写体１８毎に）テンプレートとの適合率を判別するモード（個別モード）または総合して（撮影画像全体として）テンプレートに基づく画像との適合率を判別するモード（総合モード）が選択されたかどうかを判断するのである。
【０１４９】
なお、個別モードにおいて、被写体１８毎にテンプレートとの適合率を判別した場合であっても、それらの適合率の平均値を求めることにより、撮影画像全体としてテンプレートに基づく画像との適合率を求めることができる。
【０１５０】
ステップＳ３００で“ＮＯ”であれば、つまりテンプレート（７４４ａ−７４４ｎ）およびモード（個別モードまたは総合モード）の少なくとも一方が選択されていなければ、テンプレート（７４４ａ−７４４ｎ）やモード（個別モードまたは総合モード）の選択中であると判断して、同じステップＳ３００に戻る。一方、ステップＳ３００で“ＹＥＳ”であれば、つまりテンプレート（７４４ａ−７４４ｎ）およびモード（個別モードまたは総合モード）が選択されれば、ステップＳ３０２で、個別モードが選択されたかどうかを判断する。
【０１５１】
ステップＳ３０２で“ＮＯ”であれば、つまり総合モードが選択されれば、図２６に示すステップＳ３５６に進む。一方、ステップＳ３０２で“ＹＥＳ”であれば、つまり個別モードが選択されれば、ステップＳ３０４で、初期化処理を実行する。ここでは、変数ｐおよび変数ｔに初期値が設定される（ｐ＝ｔ＝０）。ただし、変数ｐは、カメラ１２から取得した撮影画像データに対応する撮影画像の枚数をカウントするための変数である。また、変数ｔは、画像処理システム１０（視線サーバ１４）から被写体１８等に対してメッセージを通知（フィードバック）した回数をカウントするための変数である。以下、同じである。
【０１５２】
続いて、ステップＳ３０６では、撮影画像を取得する。たとえば、視線サーバ１４は、カメラ１２に撮影画像の取得を要求する。すると、カメラ１２では、撮影が開始され、所定の枚数（たとえば、１０枚）の画像を撮影し、複数枚の撮影画像に対応する撮影画像データを視線サーバ１４に送信する。ただし、各撮影画像に対して、または撮影画像データの全体に対して、撮影したときに計測されたカメラ１２と被写体１８（カメラ１２の正面に存在する被写体１８）との距離についての数値データ（距離データ）が付加されている。したがって、視線サーバ１４は、撮影画像データと距離データとを取得し、データ記憶領域７４に記憶する。
【０１５３】
次のステップＳ３０８では、１枚目の撮影画像を読み込み、ステップＳ３１０で、変数ｐをインクリメントする（ｐ＝ｐ＋１）。続くステップＳ３１２では、全員の顔を検出する。なお、顔の検出方法は、上述した方法と同じである。そして、ステップＳ３１４では、全員の視線方向を推定する。ここでは、各被写体１８について、図１４を用いて説明した視線方向推定処理が実行されるのである。これによって、各被写体１８の推定視線方向が得られる。さらに、ステップＳ３１６で、撮影画像におけるカメラ１２と各被写体１８との位置関係を算出する。ここでは、上述したように、撮影画像データと距離データとに基づいて、カメラ１２の位置をワールド座標系の原点Ｏとした場合における各被写体１８の位置座標が算出される。
【０１５４】
次に、ステップＳ３１８では、テンプレートを読み込む。ここでは、全体処理が開始された当初に選択されたテンプレートが読み込まれる。各被写体１８に対応してテンプレートが選択されている場合には、それらのすべてが読み込まれる。そして、ステップＳ３２０では、読み出したテンプレートに基づく画像における視線方向を算出する。
【０１５５】
図２４に示すように、続くステップＳ３２２では、各人の適合率を算出する。ここでは、推定視線方向が、テンプレートに基づく理想視線方向と一致する度合いを、被写体１８毎に算出するのである。上述したように、適合率は、撮影画像における被写体１８の推定視線方向と、テンプレートに基づく画像の対応する被写体１８の理想視線方向との角度差に基づいて算出される。
【０１５６】
続くステップＳ３２４では、撮影画像と各人の適合率とを関連付けて記憶する。つまり、算出した各被写体１８の適合率を撮影画像に関連付けて、メモリのバッファ領域に一時記憶する。そして、ステップＳ３２６で、変数ｐが最大値以上かどうかを判断する。つまり、すべての撮影画像について、各被写体１８の適合率を算出したかどうかを判断する。この実施例では、変数ｐの最大値は「１０」である。
【０１５７】
ステップＳ３２６で“ＮＯ”であれば、つまり変数ｐが最大値未満であれば、各人の適合率を算出していない撮影画像が残っていると判断して、ステップＳ３２８で、次の撮影画像を読み込み、図２３に示したステップＳ３１０に戻る。このようにして、撮影画像が順番に読み込まれ、撮影画像毎に、各被写体１８の適合率が算出されるのである。一方、ステップＳ３２６で“ＹＥＳ”であれば、つまり変数ｐが最大値以上であれば、つまりすべての撮影画像について、各被写体１８の適合率を算出すると、ステップＳ３３０で、適合率の高い被写体１８の人数が最も多い撮影画像を選択する。つまり、基礎画像が選択される。
【０１５８】
次のステップＳ３３２では、全員の適合率が一定値（たとえば、８０％）以上かどうかを判断する。ここで、“ＹＥＳ”なら、基礎画像がテンプレートに基づく理想の画像に少なくとも近似すると決定して、図２５に示すステップＳ３４４にそのまま進む。しかし、“ＮＯ”なら、基礎画像がテンプレートに基づく理想の画像に近似していないと決定して、ステップＳ３３４で、適合率が一定値未満の人に、指示歴に合わせた指示を実行する。このとき、視線サーバ１４は、履歴データ７５２が示す指示歴を参照して、前回の指示が有るか否かを判断し、上述したように、前回の指示が有る場合と無い場合とで、異なる内容のメッセージについての音声合成データを選択して、スピーカ１６を介してメッセージの音声を出力する。つまり、視線方向の変更に関する内容（情報）をフィードバックする。
【０１５９】
続くステップＳ３３６では、変数ｔをインクリメントし（ｔ＝ｔ＋１）、ステップＳ３３８では、今回の指示を指示歴に記憶する。たとえば、視線サーバ１４は、今回の指示の内容（メッセージ）そのもの、または、使用した音声合成データの識別情報（ファイル名など）を、被写体１８の情報に対応付けて記憶する。そして、ステップＳ３４０では、変数ｔが一定回数以上であるかどうかを判断する。これは、何度指示しても、全員の適合率が一定値を超えず、永久的に所望の撮影画像（合成画像）を取得（生成）できないような不都合を回避するためである。
【０１６０】
ステップＳ３４０で“ＮＯ”であれば、つまり変数ｔが一定回数未満であれば、そのままステップＳ３４４に進む。一方、ステップＳ３４０で“ＹＥＳ”であれば、つまり変数ｔが一定回数以上であれば、ステップＳ３４２で、一定値を下げてから、ステップＳ３４４に進む。
【０１６１】
図２５に示すように、ステップＳ３４４では、選択した撮影画像すなわち基礎画像のうち、適合率の低い人（被写体１８）について、適合率の高い撮影画像における当該被写体１８の顔画像を他の撮影画像から抽出する（切り取る）。次に、ステップＳ３４６で、抽出した顔画像を基礎画像の対応する顔画像に貼り付ける。つまり、合成画像（合成画像データ７４８）が生成される。ただし、ステップＳ３４４およびＳ３４６の処理は、複数の被写体１８が該当する場合には、当該複数の被写体１８について実行される。続いて、ステップＳ３４８で、合成画像を出力する。ここでは、図示は省略するが、合成画像をＬＣＤのようなディスプレイに出力してもよいし、視線サーバ１４に接続される他のコンピュータ、ＨＤＤ、データベース、ディスクドライブなどの電子機器に出力するようにしてもよい。つまり、合成画像が表示されたり、保存されたりする。
【０１６２】
そして、ステップＳ３５０では、全体処理の終了であるかどうかを判断する。たとえば、ユーザによって、終了の指示が入力されたかどうかを判断するのである。ステップＳ３５０で“ＮＯ”であれば、つまり全体処理を終了しない場合には、ステップＳ３５２で、位置関係データ７４０、視線データ７４２、撮影画像データ７４６および合成画像データ７４８をメモリのバッファ領域から削除し、ステップＳ３５４で、変数ｐをリセット（ｐ＝０）して、図２３に示したステップＳ３０６に戻る。一方、ステップＳ３５０で“ＹＥＳ”であれば、つまり全体処理を終了する場合には、そのまま終了する。
【０１６３】
また、上述したように、総合モードが選択され、図２３のステップＳ３０２で“ＮＯ”と判断すると、図２６のステップＳ３５６で、テンプレートを読み込む。なお、総合モードにおける処理（Ｓ３５６−Ｓ４００）のうち、上述した個別モードにおける処理（Ｓ３０４−Ｓ３５４）と同様の処理については簡単に説明することにする。
【０１６４】
続くステップＳ３５８では、テンプレートを用いた視線方向の分散・尖度を算出し、ステップＳ３６０では、初期化処理を実行する（ｐ＝０，ｔ＝０）。次のステップＳ３６２では、撮影画像を取得する。つまり、カメラ１２から所定枚数（この実施例では、１０枚）の撮影画像に対応する撮影画像データを取得する。そして、ステップＳ３６４で、１枚目の撮影画像を読み込んで、ステップＳ３６６で、変数ｐをインクリメントする（ｐ＝ｐ＋１）。次に、ステップＳ３６８では、撮影画像における被写体１８全員の顔を検出し、ステップＳ３７０では、全員の視線方向を推定する。つまり、各被写体１８の推定視線方向が求められる。そして、ステップＳ３７２で、撮影画像における視線方向の分散・尖度を算出する。
【０１６５】
次のステップＳ３７４では、ステップＳ３７２で算出した撮影画像における視線方向の分散・尖度が、ステップＳ３５８で算出したテンプレートに基づく画像における視線方向の分散・尖度に適合している度合（適合率）を算出し、ステップＳ３７６で、当該撮影画像と、ステップＳ３７４で算出した分散・尖度の適合率とを関連付けてメモリのバッファ領域に記憶し、図２７に示すステップＳ３７８に進む。
【０１６６】
ステップＳ３７８では、変数ｐが最大値以上であるかどうかを判断する。ステップＳ３７８で“ＮＯ”であれば、つまり変数ｐが最大値未満であれば、ステップＳ３８０で、次の撮影画像を読み込んで、図２６に示したステップＳ３６６に戻る。一方、ステップＳ３７８で“ＹＥＳ”であれば、つまり変数ｐが最大値以上であれば、ステップＳ３８２で、分散・尖度の適合率が最も高い撮影画像を選択する。つまり、カメラ１２からの複数枚の撮影画像から、１枚の撮影画像が選択されるのである。
【０１６７】
１枚の撮影画像が選択されると、ステップＳ３８４で、当該撮影画像における分散・尖度の適合率が一定値（たとえば、８０％）以上であるかどうかを判断する。ステップＳ３８４で“ＹＥＳ”であれば、つまり当該撮影画像における分散・尖度の適合率が一定値以上であれば、所望の撮影画像或いはそれに近い画像が得られたと決定して、そのままステップＳ３９４に進む。一方、ステップＳ３８４で“ＮＯ”であれば、つまり当該撮影画像における分散・尖度の適合率が一定値未満であれば、所望の撮影画像或いはそれに近い画像が得られていないと決定して、ステップＳ３８６で、視線方向をばらばらにする旨の指示を実行する。たとえば、視線サーバ１４は、「もう少しばらばらの方向を見てください。」というメッセージを、スピーカ１６を介して出力する。
【０１６８】
続くステップＳ３８８では、変数ｔをインクリメントし（ｔ＝ｔ＋１）、ステップＳ３９０では、変数ｔが一定回数以上であるかどうかを判断する。ステップＳ３９０で“ＮＯ”であれば、つまり変数ｔが一定回数未満であれば、そのままステップＳ３９４に進む。一方、ステップＳ３９０で“ＹＥＳ”であれば、つまり変数ｔが一定回数以上であれば、ステップＳ３９２で、一定値を下げて（たとえば、５％〜１０％下げて）、ステップＳ３９４に進む。
【０１６９】
ステップＳ３９４では、選択した撮影画像を出力する。そして、ステップエス３９６では、全体処理を終了するかどうかを判断する。ステップＳ３９６で“ＮＯ”であれば、つまり全体処理の終了でなければ、ステップＳ３９８で、視線データおよび撮影画像データを消去し、ステップＳ４００で、変数ｐをリセットして（ｐ＝０）、図２６に示したステップＳ３６２に戻る。一方、ステップＳ３９６で“ＹＥＳ”であれば、つまり全体処理の終了であれば、そのまま終了する。
【０１７０】
このように、テンプレートとモードとを選択すれば、それに従った撮影画像を取得したり、必要に応じて、合成画像を生成したりすることができる。
【０１７１】
上述の実施例では、カメラ１２と視線サーバ１４とを個別に設けて、カメラ１２からの撮影画像を用いて、視線サーバ１４で画像処理（全体処理）を実行するようにしたが、カメラ１２のみによって撮影処理と全体処理との両方を実行することも可能である。かかる場合のカメラ１２のＲＡＭ３８のメモリマップは、図２１に示した視線サーバ１４のメモリのメモリマップと同様であるため、重複した説明は省略する。ただし、画像取得プログラム７２０に代えて、撮影プログラムが記憶される。また、図２３−図２７に示した全体処理がカメラ１２のＣＰＵ２０によって実行されるため、図２３のステップＳ３０６と図２６のステップＳ３６２とにおいて、撮影処理を実行することにより、所定枚数の撮影画像が取得される。つまり、視線サーバ１４を画像処理装置として機能させることができるし、カメラ１２を画像処理装置として機能させることもできるのである。
【０１７２】
また、上述の実施例では、複数枚の撮影画像がテンプレートに従った所望の撮影画像を取得したり、さらに、合成処理を施した画像を取得したりするようにしたが、テンプレートに従った所望の画像を撮影したり、テンプレートに従って撮影処理を実行した複数枚の撮影画像から合成画像を取得（生成）したりすることも可能である。かかる場合、たとえば、図２８ないし図３０に示すフロー図に従う撮影処理がカメラ１２によって実行され、この撮影処理によって得られた複数の撮影画像を用いて、図３１および図３２に示すフロー図に従う合成処理がカメラ１２によって実行される。ただし、合成処理は、視線サーバ１４で実行するようにしてもよい。以下、具体的に説明するが、既に説明した処理と同じ処理については、簡単に説明することにする。
【０１７３】
なお、この実施例では、テンプレートに従って撮影した複数の撮影画像から合成画像を取得するようにしてあるが、テンプレートによらないで撮影した複数枚の撮影画像から所望のテンプレートに合う（たとえば、全体の適合率が８０％を超える）撮影画像を検索（選択）することができ、同じ複数の被写体１８についての撮影画像であれば、上述したように、さらに合成処理を施すこともできる。
【０１７４】
図２８に示すように、カメラ１２（のＣＰＵ２０）が撮影処理を開始すると、ステップＳ５００で、テンプレートおよびモードが選択されたかどうかを判断する。ステップＳ５００で“ＮＯ”であれば、そのままステップＳ５００に戻る。一方、ステップＳ５００で“ＹＥＳ”であれば、ステップＳ５０２で、個別モードが選択されたかどうかを判断する。
【０１７５】
ステップＳ５０２で“ＮＯ”であれば、つまり総合モードが選択されれば、後述するように、図３０のステップＳ５３６に進む。一方、ステップＳ５０２で“ＹＥＳ”であれば、つまり個別モードが選択されれば、ステップＳ５０４で、スルー画像から１フレーム分の静止画像を取得する。
【０１７６】
なお、図示等は省略するが、撮影処理が開始される前に、フォーカスは調整され、このときカメラ１２と被写体１８との距離は検出（計測）されている。
【０１７７】
次のステップＳ５０６では、取得した静止画像における全員の顔を検出し、ステップＳ５０８では、取得した静止画像における全員の視線方向を推定し、そして、ステップＳ５１０では、静止画像における被写体の位置関係を算出する。続いて、ステップＳ５１２で、テンプレートを読み込み、ステップエス５１４で、テンプレートに基づく画像についての視線方向を算出し、ステップＳ５１６で、各人の適合率を算出して、図２９に示すステップＳ５１８に進む。
【０１７８】
図２９に示すように、ステップＳ５１８では、変数ｔを初期化する（ｔ＝０）。次のステップＳ５２０では、全員の適合率が一定値以上であるかどうかを判断する。ステップＳ５２０で“ＹＥＳ”であれば、つまり全員の適合率が一定値以上であれば、所望の撮影画像またはそれに近い撮影画像を得ることができると判断して、ステップＳ５２２で、撮影画像の取得処理を実行し、ステップＳ５２４で、取得した撮影画像を保存して、撮影処理を終了する。詳細な説明は省略するが、ステップＳ５２２では、上述したように、シャッタボタンが全押しされたときと同じ処理が実行され、圧縮静止画像データがＲＡＭ３８や外部記憶媒体４８に記録される。ただし、ステップＳ５２２では、１枚の撮影画像を取得してもよいし、２枚以上の複数枚の撮影画像を取得（連写）するようにしてもよい。
【０１７９】
また、ステップＳ５２０で“ＮＯ”であれば、つまり適合率が一定値未満の被写体１８が存在する場合には、ステップＳ５２６で、指示歴に合わせた指示を実行する。その後、ステップＳ５２８で、変数ｔをインクリメントし（ｔ＝ｔ＋１）、ステップＳ５３０で、今回の指示を指示歴に記録して、ステップＳ５３２で、変数ｔが一定回数以上かどうかを判断する。ステップＳ５３２において、“ＮＯ”であれば、そのまま図２８に示したステップＳ５０４に戻るが、“ＹＥＳ”であれば、ステップＳ５３４で、一定値を下げてから、ステップＳ５０４に戻る。
【０１８０】
また、上述したように、総合モードが選択され、ステップＳ５０２で“ＮＯ”と判断すると、図３０に示すステップＳ５３６で、テンプレートを読み込み、ステップＳ５３８で、テンプレートを用いた視線方向の分散・尖度を算出する。次のステップＳ５４０では、スルー画像から静止画像を取得し、ステップＳ５４２で、静止画像における全員の顔を検出し、ステップＳ５４４で、静止画像における全員の視線方向を推定する。
【０１８１】
そして、ステップＳ５４６で、静止画像における視線方向の分散・尖度を算出し、ステップＳ５４８で、分散・尖度の適合率を算出し、そして、ステップＳ５５０で、分散・尖度の適合率が一定値以上であるかどうかを判断する。ステップＳ５５０で“ＹＥＳ”であれば、つまり分散・尖度の適合率が一定値以上であれば、ステップエス４５０で、撮影画像を取得し、ステップＳ５５４で、取得した撮影画像を保存して、撮影処理を終了する。
【０１８２】
また、ステップＳ５５０で“ＮＯ”であれば、つまり分散・尖度の適合率が一定値未満であれば、ステップＳ５５６で、視線方向をばらばらにする旨の指示を実行し、ステップＳ５５８で、変数ｔをインクリメントして（ｔ＝ｔ＋１）、ステップＳ５６０で、変数ｔが一定回数以上であるかどうかを判断する。ステップＳ５６０において、“ＮＯ”であれば、そのままステップＳ５４０に戻るが、“ＹＥＳ”であれば、ステップＳ５６２で、一定値を下げてから、ステップＳ５４０に戻る。
【０１８３】
このようにすることにより、通常の写真撮影のように、ビューファインダを覗きながら、被写体１８に視線（顔）の向きの指示を出して、所望の撮影画像を取得するのと同様に、テンプレートを用いて、自動的に被写体１８に視線（顔）の向きの指示を出して、所望の撮影画像を取得することができる。
【０１８４】
また、図３１に示すように、カメラ１２（または視線サーバ１４）が合成処理を開始すると、ステップＳ６００で、テンプレートが選択されたかどうかを判断する。なお、上述したように、総合モードにおける撮影画像には合成処理は施されないため、ここでは、上述の撮影処理の個別モードにおいて取得された撮影画像を用いた合成処理が実行される。このため、通常、合成処理では、撮影処理において選択されたテンプレートが選択される。したがって、撮影画像に個別モードまたは総合モードのいずれのモードで撮影されたかの識別情報（ラベル）を付与しておくことにより、そのラベルに従って自動的にテンプレートを選択するようにすることもできる。
【０１８５】
なお、視線サーバ１４で合成処理を実行する場合には、この合成処理に先だって、個別モードで取得された撮影画像が当該視線サーバ１４のメモリに記憶されるのである。
【０１８６】
ステップＳ６００で“ＮＯ”であれば、つまりテンプレートが選択されていなければ、同じステップＳ６００に戻る。一方、ステップＳ６００で“ＹＥＳ”であれば、つまりテンプレートが選択されれば、ステップＳ６０２で、初期化処理を実行する。ここでは、変数ｐに初期値を設定する（ｐ＝０）。続く、ステップＳ６０４では、１枚目の撮影画像を読み込み、ステップＳ６０６では、変数ｐをインクリメントする（ｐ＝ｐ＋１）。
【０１８７】
続いて、ステップＳ６０８では、撮影画像における全員の顔を検出し、ステップＳ６１０では、撮影画像における全員の視線方向を推定し、そして、ステップＳ６１２では、撮影画像における被写体１８の位置関係を算出する。また、次のステップＳ６１４では、テンプレートを読み込み、ステップＳ６１６では、テンプレートに基づく画像における視線方向を検出する。そして、図３２に示すステップＳ６１８で、各人の適合率を算出し、次のステップＳ６２０で、撮影画像と各人の適合率とを関連付けて記憶する。
【０１８８】
続くステップＳ６２２では、変数ｐが最大値以上であるかどうかを判断する。ステップＳ６２２で“ＮＯ”であれば、ステップＳ６２４で、次の撮影画像を読み込み、図３１に示したステップＳ６０６に戻る。一方、ステップＳ６２２で“ＹＥＳ”であれば、ステップＳ６２６で、適合率の高い人数が最も多い撮影画像を基礎画像として選択する。
【０１８９】
そして、ステップＳ６２８では、全員の適合率が一定値以上であるかどうかを判断する。ステップＳ６２８で“ＹＥＳ”であれば、そのままステップＳ６３２に進む。一方、ステップＳ６２８で“ＮＯ”であれば、ステップＳ６３０で、適合率に応じた指示を実行して、ステップＳ６３２に進む。したがって、同じテンプレートを用いて、後で、撮影処理をやり直す場合には、撮影者は、今回の指示に従って被写体１８の視線の向きを修正（誘導）することができる。また、今回取得された撮影画像がテンプレートに基づく画像と異なる点を知ることもできる。
【０１９０】
なお、合成処理においては、指示歴に基づく指示や指示の回数による一定値の変更を行わないのは、撮影処理と合成処理とが連続的に行われないためであり、リアルタイムに被写体１８の視線１８Ａの方向を誘導しないからである。
【０１９１】
ステップＳ６３２では、選択した撮影画像すなわち基礎画像のうち、適合率の低い人についての顔画像を、適合率の高い他の撮影画像から抽出し、ステップＳ６３４では、抽出した顔画像を基礎画像の該当する位置に貼り付けて合成画像を生成し、そして、ステップＳ６３６で、生成した合成画像を出力して、合成処理を終了する。
【０１９２】
この実施例によれば、所望の撮影画像を得るためのテンプレートを設定するだけなので、簡単に所望の撮影画像を取得することができる。また、必要に応じて、適合率の高い顔画像を合成するので、より自然に、理想に近い画像を取得することができる。
【０１９３】
なお、この実施例では、サーバ１４は、オートフォーカス時に距離センサ２８によって計測した距離データと画像データとから、撮影時におけるカメラ１２と視線サーバ１４との位置関係を算出するようにしたが、他の方法により、距離データを取得することもできる。たとえば、コントラスト検出方式により、オートフォーカスする場合には、ＣＰＵ２０は、スルー画像から或るフレーム画像を取得し、このフレーム画像のうち、合焦状態を評価するための予め設定された１つまたは複数の合焦評価領域に基づいてＳＤＲＡＭ４４から合焦領域の画像成分を抽出する。そして、ＣＰＵ２０は、合焦評価領域の画像成分に基づいてフレーム画像のコントラスト値を求め、コントラスト値に基づいて合焦状態を判定し、フォーカスレンズの位置（合焦位置）を特定する。さらに、ＣＰＵ２０は、モータドライバ５２を指示して、フォーカスレンズの位置を制御する。かかる場合には、フォーカスレンズの位置とズームレンズの位置とに対応した距離（カメラ１２と被写体１８との距離）のデータを予め記憶しておくことにより、ズームおよびフォーカスが調整されたときの各レンズの位置に応じて距離データが決定され、これを撮影画像データとともに、サーバ１４に送信するのである。つまり、オートフォーカスの方式は、アクティブ方式とパッシブ方式とのいずれであってもよい。
【０１９４】
他の実施例の画像処理システム１０では、視線方向のみならず、他のパラメータも含むテンプレートを設定し、当該テンプレートに従う撮影画像を取得するようにした以下は、上述の実施例と同じであるため、重複した説明は省略する。
【０１９５】
この他の実施例では、図３３に示すように、テンプレート７４４ａ−７４４ｎでは、パラメータとして、視線方向（視線角度α１，β１）に加えて、顔方向（顔の角度γ１,δ１）、体方向（体の角度ε１，ζ１）および表情（顔表情Ａ１，Ｂ１，Ｃ１）が記憶される。したがって、テンプレートの従うことにより、視線方向のみならず、他の要素も考慮された撮影画像を取得することができる。
【０１９６】
ただし、顔の角度γ１と体の角度ε１とは、視線角度α１と同様に、水平方向の角度であり、顔の角度δ１と体の角度ζ１とは、視線角度β２と同様に、垂直方向の角度である。また、顔方向は、頭部の中心と鼻とを通る線上であり、前方に向かう方向である。さらに、体方向は、腹部（体幹）の中心と臍とを通る直線上であり、前方に向かう方向である。
【０１９７】
ただし、顔方向については、画像処理により、顔の縦幅に対する横幅の長さ、眉間の長さ、黒目領域の縦幅に対する横幅の長さのいずれか１つまたはいずれか２つ以上に基づいて求めることができる。
【０１９８】
また、体方向については、「複数人物によるジェスチャーの単一画像からのスポッティング認識」（http://ci.nii.ac.jp/naid/110003274571/）に紹介されている技術に基づいて求めることができる。
【０１９９】
さらに、表情については、「動的表情認識による感情推定手法に関する研究」（http://hydro.energy.kyoto-u.ac.jp/Lab/mirai/face/face_OHP/index.htm）に紹介されている技術を用いて求めることができる。
【０２００】
顔方向と体方向とについては、視線方向と同様にして、撮影画像から得られた顔方向と体方向と、テンプレートに基づく画像から得られた顔方向と体方向とのそれぞれの角度差に基づいて適合率を算出することができる。顔表情については、撮影画像から得られた顔の表情のそれぞれを、対応するテンプレートについての顔の表情と比較し、一致する度合いが高い程、適合率が高く、一致する度合いが低い程、適合率も低くされる。具体的には、数１２に従って算出される。
【０２０１】
［数１２］
適合率（％）＝[｛（１００−｜理想表情Ａ−推定表情Ａ｜）％
＋（１００−｜理想表情Ｂ−推定表情Ｂ｜）％
＋…
＋（１００−｜理想表情Ｎ−推定表情Ｎ｜）｝／ｎ個]
ただし、｜・｜は絶対値を意味し、変数ｎはテンプレートに設定されている顔の表情についてのパラメータの総数である。また、テンプレートが示すパラメータに基づく顔の表情を「理想表情」と表記し、撮影画像から求められた顔の表情を「推定表情」と表記してある。
【０２０２】
たとえば、テンプレートの顔表情（理想顔表情Ａ）が「笑顔」でその割合が９０％であり、顔表情（理想顔表情Ｂ）が「驚き」でその割合が５０％であると仮定する。この場合に、撮影画像の或る被写体１８について得られた顔表情のうち、「笑顔」の割合が４０％で、「驚き」の割合が８０％であれば、数１２に従うと、適合率は６０％と算出される。また、同様の仮定の下で、他の被写体１８について得られた顔表情のうち、「笑顔」の割合が８０％で「驚き」の割合が３０％であれば、数１２に従うと、適合率は８５％と算出される。
【０２０３】
このように、視線方向のみならず、顔方向、体方向および表情のパラメータを含む場合には、上述した全体処理のステップＳ３１２とステップＳ３１８との間において、撮影画像に基づいて、顔方向、体方向および表情を算出し、ステップＳ３２０において、テンプレートに基づく画像における視線方向。顔方向、体方向および表情を算出し、そして、ステップＳ３２２において、視線方向、顔方向、体方向および表情のすべてを含む適合率を被写体１８毎に算出するのである。
【０２０４】
同様に、撮影処理では、ステップＳ５０６とステップＳ５１２との間において、撮影画像に基づいて、顔方向、体方向および表情を算出し、ステップＳ５１４において、テンプレートに基づく画像における視線方向、顔方向、体方向および表情を算出し、そして、ステップＳ５１６において、視線方向、顔方向、体方向および表情のすべてを含む適合率を被写体１８毎に算出するのである。
【０２０５】
さらに、合成処理では、ステップＳ６０８とステップＳ６１４との間において、撮影画像に基づいて、顔方向、体方向および表情を算出し、ステップＳ６１６において、テンプレートに基づく画像における視線方向、顔方向、体方向および表情を算出し、そして、ステップＳ６１８において、視線方向、顔方向、体方向および表情のすべてを含む適合率を被写体１８毎に算出するのである。
【０２０６】
なお、他の実施例では、視線方向以外のパラメータとして、顔方向、体方向および表情の３つのパラメータを設けるようにしたが、いずれか１つ以上であってもよい。
【０２０７】
また、詳細な説明は省略したが、他の実施例では、各パラメータについて算出した適合率の平均値を、被写体１８についての適合率としてもよいし、各パラメータに重みを付与して、或るパラメータの適合率を重視するようにしてもよい。
【０２０８】
さらに、パラメータが体方向を含む場合には、合成画像を生成するとき、被写体の顔画像のみならず、適合率の高い撮影画像から身体全体についての画像を切り取り、その身体全体についての画像を、基礎画像の対応する位置に貼り付ける必要がある。
【０２０９】
さらにまた、顔方向、体方向、表情のパラメータをさらに含む場合には、フィードバックする内容として、視線方向のみならず、顔方向、体方向、表情についてテンプレートに近づけるようなメッセージを出力することも可能である。
【０２１０】
このように、顔方向、体方向、表情のパラメータを含むようにすることもできるが、体方向に代えて、または、体方向とともに姿勢（ジェスチャー）のパラメータを含むようにすることもできる。かかる場合には、前傾姿勢、仰け反っている姿勢などの姿勢または予め決めた姿勢についても適合率が算出される。ただし、姿勢は、全身で認識するのみならず、上半身および下半身に分けて認識したり、両手、両足および胴体に分けて認識したりすることもできる。このような姿勢（ジェスチャー）もまた、体方向と同様に、「複数人物によるジェスチャーの単一画像からのスポッティング認識」に紹介されている技術に基づいて求めることができる。
【０２１１】
また、上述の実施例では、被写体の位置は、撮影者の指示により、テンプレートを作成した際の位置と同じまたはほぼ同じになることを前提としたが、位置のパラメータもテンプレートに含むようにしてもよい。かかる場合には、距離データと画像データとから、カメラ１２に対する被写体１８の位置（位置座標）が検出され、検出された位置の適合率が、テンプレートに記述された位置のパラメータを用いて算出される。したがって、位置についてもテンプレートに近づけるようなメッセージを出力することができる。
【図面の簡単な説明】
【０２１２】
【図１】図１はこの発明の画像処理システムの構成の一例を示すブロック図である。
【図２】図２は図１に示す画像処理システムを用いて複数の被写体の撮影画像を取得する状況を説明するための図解図である。
【図３】図３は図１に示すカメラと被写体との位置関係およびその被写体の水平方向の視線角度を示す図解図である。
【図４】図４は図１に示すカメラと被写体との位置関係およびその被写体の垂直方向の視線角度を示す図解図である。
【図５】図５は図１に示すカメラのＬＣＤに表示されている被写体の顔の画像の一例を示す図解図である。
【図６】図６は眉間候補領域を検出するためのフィルタを説明するための概念図である。
【図７】図７は６分割矩形フィルタの他の構成を示す概念図である。
【図８】図８は眉間を中心とした画像領域を利用してＳＶＭによるモデル化を説明する図解図である。
【図９】図９は顔検出結果の例を示す図解図である。
【図１０】図１０は視線方向を決定するためのモデルを説明する概念図である。
【図１１】図１１は被写体がカメラを中止する状態に移行した後の虹彩の中心、眼球の中心および投影点の関係を示す概念図である。
【図１２】図１２は視線サーバによる初期設定処理を示すフロー図である。
【図１３】図１３はキャリブレーションにおいて撮影された４枚の画像フレームを示す図解図である。
【図１４】図１４は視線サーバによる視線方向推定処理を示すフロー図である。
【図１５】図１５は右上方注視の状態での視線推定結果を示す図解図である。
【図１６】図１６は上方注視の状態での視線推定結果を示す図解図である。
【図１７】図１７は左下方注視の状態での視線推定結果を示す図解図である。
【図１８】図１８はテンプレートを生成するためのカメラと各被写体との位置関係および各被写体の視線方向の一例を示す図解図である。
【図１９】図１９はテンプレートを生成するためのカメラと各被写体との位置関係および各被写体の視線方向の他の例を示す図解図である。
【図２０】図２０はテンプレートを生成するためのカメラと各被写体との位置関係および各被写体の視線方向のその他の例を示す図解図である。
【図２１】図２１は視線サーバのメモリのメモリマップの一例を示す図解図である。
【図２２】図２２はテンプレートデータに従うテンプレートの例を示す図解図である。
【図２３】図２３は視線サーバの全体処理の第１の部分を示すフロー図である。
【図２４】図２４は視線サーバの全体処理の第２の部分であって、図２３に後続するフロー図である。
【図２５】図２５は視線サーバの全体処理の第３の部分であって、図２３および図２４に後続するフロー図である。
【図２６】図２６は視線サーバの全体処理の第４の部分であって、図２３ないし図２５に後続するフロー図である。
【図２７】図２７は視線サーバの全体処理の第５の部分であって、図２６に後続するフロー図である。
【図２８】図２８はカメラの撮影処理の一部を示すフロー図である。
【図２９】図２９はカメラの撮影処理の他の一部であって、図２９に後続するフロー図である。
【図３０】図３０はカメラの撮影処理のその他の一部であって、図２８および図２９に後続するフロー図である。
【図３１】図３１はカメラの合成処理の一部を示すフロー図である。
【図３２】図３２はカメラの合成処理の他の一部を示すフロー図である。
【図３３】図３３は他の実施例のテンプレートデータに従うテンプレートの例を示す図解図である。
【符号の説明】
【０２１３】
１０  …画像処理システム
１２  …カメラ
１４  …視線サーバ
１６  …スピーカ
２０  …ＣＰＵ
２４  …カメラ処理回路
２６  …ＪＰＥＧコーデック
２８  …距離センサ
３０  …メモリ制御回路
３２  …ＬＣＤドライバ
３８  …ＲＡＭ
４０  …イメージセンサ
４２  …光学系
４４  …ＳＤＲＡＭ
４８  …外部記憶媒体
５０  …入力装置
５２  …モータドライバ
【図１】
0005092093.tif 000013
【図２】
0005092093.tif 000014
【図３】
0005092093.tif 000015
【図４】
0005092093.tif 000016
【図７】
0005092093.tif 000017
【図１０】
0005092093.tif 000018
【図１１】
0005092093.tif 000019
【図１２】
0005092093.tif 000020
【図１４】
0005092093.tif 000021
【図１８】
0005092093.tif 000022
【図１９】
0005092093.tif 000023
【図２０】
0005092093.tif 000024
【図２１】
0005092093.tif 000025
【図２２】
0005092093.tif 000026
【図２３】
0005092093.tif 000027
【図２４】
0005092093.tif 000028
【図２５】
0005092093.tif 000029
【図２６】
0005092093.tif 000030
【図２７】
0005092093.tif 000031
【図２８】
0005092093.tif 000032
【図２９】
0005092093.tif 000033
【図３０】
0005092093.tif 000034
【図３１】
0005092093.tif 000035
【図３２】
0005092093.tif 000036
【図３３】
0005092093.tif 000037
【図５】
0005092093.tif 000038
【図６】
0005092093.tif 000039
【図８】
0005092093.tif 000040
【図９】
0005092093.tif 000041
【図１３】
0005092093.tif 000042
【図１５】
0005092093.tif 000043
【図１６】
0005092093.tif 000044
【図１７】
0005092093.tif 000045