(57)【特許請求の範囲】
【請求項１】
ユーザが指し示した表示画面上の指示位置を検出する指示位置検出方法であって、
（ａ）前記指示位置を含む前記表示画面の全体を撮像して、前記表示画面の撮像画像を取得する工程と、
（ｂ）前記撮像画像よりも低解像度の低解像度画像を作製するために、前記撮像画像の解像度に応じて決定される、前記低解像度画像の適切な解像度、および、前記撮像画像に基づいて、前記低解像度画像を作製する工程と、
（ｃ）作製された低解像度画像に基づいて、前記指示位置に対応する前記低解像度画像内の画素を求める工程と、
（ｄ）求められた前記低解像度画像内の画素に対応する前記撮像画像内の小区画に基づいて、前記指示位置を求める工程と、を備え、
前記低解像度画像の適切な解像度は、前記撮像画像の水平方向の画素数をｘおよび垂直方向の画素数をｙ（ｘ，ｙは１以上の整数）とし、前記低解像度画像の１画素に対応する前記撮像画像の水平方向の画素数をａ（ａはｘの約数）および垂直方向の画素数をｂ（ｂはｙの約数）とした場合に、下式（１）で与えられる値ｆが最小となるような前記画素数ａおよびｂを求めることにより決定される、指示位置検出方法。
【数１】
0003842515.tif 000016
【請求項２】
請求項１記載の指示位置検出方法であって、
前記低解像度画像の解像度は、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（２）を満たす組み合せのなかから、前記値ｆが最小となるような前記画素数ａおよびｂを求めることにより決定される、指示位置検出方法。
【数２】
0003842515.tif 000017
【請求項３】
請求項１記載の指示位置検出方法であって、
前記低解像度画像の解像度は、前記画素数ｘが前記画素数ｙ以上であると仮定した場合に、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（３）を満たす組み合せのなかから、前記値ｆが最小となるような前記画素数ａおよびｂを求めることにより決定される、指示位置検出方法。
【数３】
0003842515.tif 000018
【請求項４】
請求項１ないし請求項４のいずれかに記載の指示位置検出方法であって、
前記低解像度画像の解像度は、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のなかで、ａi＝ｂjとなる組み合せのなかから、前記値ｆが最小となるような前記画素数ａおよびｂを求めることにより決定される、指示位置検出方法。
【請求項５】
ユーザが指し示した表示画面上の指示位置を検出する指示位置検出装置であって、
前記指示位置を含む前記表示画面の全体を撮像して、前記表示画面の撮像画像を取得する撮像画像取得部と、
前記撮像画像よりも低解像度の低解像度画像を作製するために、前記撮像画像の解像度に応じて決定される、前記低解像度画像の適切な解像度、および、前記撮像画像に基づいて、前記低解像度画像を作製する低解像度画像作製部と、
作製された低解像度画像に基づいて、前記指示位置に対応する前記低解像度画像内の画素を求めるとともに、求められた前記低解像度画像内の画素に対応する前記撮像画像内の小区画に基づいて、前記指示位置を求める位置検出部と、
前記撮像画像の水平方向の画素数をｘおよび垂直方向の画素数をｙ（ｘ，ｙは１以上の整数）とし、前記低解像度画像の１画素に対応する前記撮像画像の水平方向の画素数をａ（ａはｘの約数）および垂直方向の画素数をｂ（ｂはｙの約数）とした場合に、下式（４）により求められる値ｆが最小となるような前記画素数ａおよびｂを求めることにより、前記低解像度画像の適切な解像度を決定する解像度決定部と、指示位置検出装置。
【数４】
0003842515.tif 000019
【請求項６】
請求項５記載の指示位置検出装置であって、
前記低解像度画像の解像度は、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（５）を満たす組み合せのなかから、前記値ｆが最小となるように前記画素数ａおよびｂを求めることにより決定される、指示位置検出装置。
【数５】
0003842515.tif 000020
【請求項７】
請求項５記載の指示位置検出装置であって、
前記低解像度画像の解像度は、前記画素数ｘが前記画素数ｙ以上であると仮定した場合に、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（６）を満たす組み合せのなかから、前記値ｆが最小となるようにな前記画素数ａおよびｂを求めることにより決定される、指示位置検出装置。
【数６】
0003842515.tif 000021
【請求項８】
請求項５ないし請求項７のいずれかに記載の指示位置検出装置であって、
前記低解像度画像の解像度は、前記画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および前記画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のなかで、ａi＝ｂjとなる組み合せのなかから、前記値ｆが最小となるような前記画素数ａおよびｂを求めることにより決定される、指示位置検出装置。
【請求項９】
ユーザが指し示した表示画面上の指示位置を検出するためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記指示位置を含む前記表示画面の全体を撮像し、前記表示画面の撮像画像を取得するための機能と、
前記撮像画像よりも低解像度の低解像度画像を作製するために、前記撮像画像の解像度に応じて決定される、前記低解像度画像の適切な解像度、および、前記撮像画像に基づいて、前記低解像度画像を作製するための機能と、
前記低解像度画像に基づいて、前記指示位置に対応する前記低解像度画像内の画素を求めるための機能と、
求められた前記低解像度画像内の画素に対応する前記撮像画像内の小区画に基づいて、前記指示位置を求めるための機能と、
前記撮像画像の水平方向の画素数をｘおよび垂直方向の画素数をｙ（ｘ，ｙは１以上の整数）とし、前記低解像度画像の１画素に対応する前記撮像画像の水平方向の画素数をａ（ａはｘの約数）および垂直方向の画素数をｂ（ｂはｙの約数）とした場合に、下式（７）により求められる値ｆが最小となるような前記画素数ａおよびｂを求めることにより、前記低解像度画像の適切な解像度を決定するための機能と、
をコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【数７】
0003842515.tif 000022
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ユーザが指し示した表示画面上の指示位置の検出に関する。
【０００２】
【従来の技術】
コンピュータから供給される画像を投写型表示装置（プロジェクタ）を利用して表示しながら、プレゼンテーションを行う場合、プレゼンテーションの実行者（以下、「説明者」と呼ぶ。）は、画面上の画像を指示棒や自分の手指を用いて直接指し示しながら説明をする場合が多い。この指示位置に対応する画面上の位置にマウスポインタを表示するなど、表示画面上の位置情報としてコンピュータで利用するために、従来から、カメラによって表示画面を撮像し、撮像された画像を画像処理することにより指示位置の情報を求めることが行われている。
【０００３】
【発明が解決しようとする課題】
撮像画像の解像度が小さい場合には、指示位置の情報を求めるために処理される画素数（以下、「参照画素数」と呼ぶ。）が少ないのであまり問題にはならないが、撮像画像の解像度が大きくなると、参照画素数が増大し画像処理に要する時間が増大するという問題がある。
【０００４】
この発明は、従来技術における上述の課題を解決するためになされたものであり、ユーザが指し示した表示画面上の指示位置を検出する場合において、従来に比べて高速かつ高精度に求めることができる技術を提供することを目的とする。
【０００５】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明では、ユーザが指し示した表示画面上の指示位置を含む表示画面の全体を撮像して、表示画面の撮像画像を取得する。前記撮像画像よりも低解像度の低解像度画像を作製するために、前記撮像画像の解像度に応じて決定される、前記低解像度画像の適切な解像度、および、前記撮像画像に基づいて、前記低解像度画像を作製する。そして、作製された低解像度画像に基づいて、指示位置に対応する低解像度画像内の画素を求め、求められた低解像度画像内の画素に対応する撮像画像内の小区画に基づいて、指示位置を求める。なお、前記低解像度画像の適切な解像度は、撮像画像の水平方向の画素数をｘおよび垂直方向の画素数をｙ（ｘ，ｙは１以上の整数）とし、低解像度画像の１画素に対応する撮像画像の水平方向の画素数をａ（ａはｘの約数）および垂直方向の画素数をｂ（ｂはｙの約数）とした場合に、下式（８）により求められる値ｆが最小となるような画素数ａおよびｂを求めることにより決定される。
【０００６】
低解像度画像に基づいて指示位置に対応する画素を求める際に、最悪の場合には、低解像度画像内のｘ／ａ×ｙ／ｂ個のすべての画素を調べる必要が生じる。同様に、撮像画像内の１つの小区画に基づいて指示位置に対応する画素を求める際に、ａ×ｂ個のすべての画素を調べる必要が生じる。上記（８）式は、このような最悪の場合を想定した際において調べられる画素数の最悪値ｆ（「最悪参照画素数」と呼ぶ）を表している。
【０００７】
上記発明では、最悪参照画素数ｆが最小となるように低解像度画像の解像度を決定しているので、従来のように撮像された撮像画像に基づいてユーザが指し示した表示画面上の指示位置を求める場合に比べて、高速に求めることができる。また、低解像度画像に基づいて、指示位置に対応する低解像度画像の画素を求め、求められた低解像度画像の画素に対応する撮像画像に基づいて、指示位置を求めているので、従来と同様に高精度に求めることができる。
【０００８】
なお、低解像度画像の解像度は、画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（９）を満たす組み合せのなかから、値ｆが最小となるような画素数ａおよびｂを求めることにより決定されるようにしてもよい。
【数９】
0003842515.tif 000002
【０００９】
水平方向の画素数ａと垂直方向の画素数ｂとの画素数の差が大きいと、低解像度画像の画質が劣化する場合がある。従って、水平方向の画素数ａと垂直方向の画素数ｂとの画素数の差はある程度小さい方が好ましい。上記のようにすれば、画素数の差があまり大きくならない範囲で水平方向の画素数ａと垂直方向の画素数ｂとを決定することができる。
【００１０】
また、低解像度画像の解像度は、画素数ｘが画素数ｙ以上であると仮定した場合に、画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のうち下式（１０）を満たす組み合せのなかから、値ｆが最小となるような画素数ａおよびｂを求めることにより決定されるようにしてもよい。
【数１０】
0003842515.tif 000003
【００１１】
上記のようにすれば、撮像画像の水平方向の画素数ｘと垂直方向の画素数ｙとの差以下の範囲で水平方向の画素数ａと垂直方向の画素数ｂとを決定することができる。
【００１２】
ところで、上記発明において、低解像度画像の解像度は、画素数ｘのｍ個の約数ａi（ｉ＝１〜ｍ、ｍは１以上の整数）および画素数ｙのｎ個の約数ｂj（ｊ＝１〜ｎ、ｎは１以上の整数）のなかで、ａi＝ｂjとなる組み合せのなかから、値ｆが最小となるような画素数ａおよびｂを求めることにより決定されるようにしてもよい。
【００１３】
上記のように、水平方向の画素数ａと垂直方向の画素数ｂとが等しい方が画像処理を行う際に都合がよい。
【００１４】
なお、本発明は、以下に示すように種々の態様で実現することが可能である。（１）低解像度画像の解像度決定方法および解像度決定装置
（２）指示位置検出方法および指示位置検出装置
（３）指示位置検出方法を有する表示方法および指示位置検出装置を有する表示システム
（４）これらの方法や装置の機能をコンピュータに実現させるためのコンピュータプログラム
（５）そのプログラムを記録した記録媒体
【００１５】
【発明の実施の形態】
Ａ．装置の構成：
以下、本発明の実施の形態を実施例に基づいて説明する。図１は、本発明の一実施例としての画像表示システムを示す説明図である。この画像表示システムは、プロジェクタＰＪと、コンピュータＰＣと、カメラＣＭとを備えている。コンピュータＰＣは、画像信号供給装置および本発明の指示位置検出装置として機能する。プロジェクタＰＪは、コンピュータＰＣから供給された画像信号に基づいて、スクリーンＳＣ上に画像を投写表示する。説明者は、スクリーンＳＣ上に表示された画面上を指示具（自身の手指を含む）により指し示しながら説明を行う。カメラＣＭは、表示面の全体および説明者の指示像を撮像し、コンピュータＰＣに供給する。コンピュータＰＣは、撮像された指示像の先端位置（指示位置）ＰＰの座標を検出し、コンピュータＰＣから供給される画像に対応する位置（座標）を求める。求められた指示位置ＰＰの座標情報は、コンピュータＰＣ内における種々の処理に利用される。例えば、指示位置ＰＰの座標に対応する表示画面上の位置にマウスポインタが表示される。
【００１６】
図２は、コンピュータＰＣの内部構成を示すブロック図である。コンピュータＰＣは、ＣＰＵ１００と、ハードディスク装置やフロッピィディスク装置などの外部記憶装置１２０と、キーボードやマウスなどの入力部１３０と、ディスプレイアダプタ１４０と、表示部１５０と、ビデオキャプチャ１６０と、低解像度画像作製部１７０と、ＲＯＭおよびＲＡＭを含むメインメモリ２００と、画像メモリ２７０とを備えている。ＣＰＵ１００と各部１２０，１３０，１４０，１６０，１７０，２００，２７０とは、バス１００ｂによって互いに接続されている。なお、図１では各種のインタフェース回路は省略されている。
【００１７】
メインメモリ２００には、アプリケーション２１０と、キャプチャドライバ２２０と、ディスプレイドライバ２３０と、マウスドライバ２４０と、位置検出部２５０および解像度決定部２６０の機能をそれぞれ実現するためのコンピュータプログラムとが格納されている。
【００１８】
ディスプレイドライバ２３０は、アプリケーション２１０によって生成される画像をディスプレイアダプタ１４０を介してコンピュータＰＣの表示部１５０やプロジェクタＰＪに画像信号として供給する。キャプチャドライバ２２０は、カメラＣＭによって撮像される画像をビデオキャプチャ１６０を介してキャプチャし、キャプチャされた撮像画像データ（以下、「高解像度画像データ」とも呼ぶ。）を画像メモリ２７０に格納する。なお、キャプチャドライバ２２０およびビデオキャプチャ１６０が本発明の撮像画像取得部に相当する。
【００１９】
解像度決定部２６０は、撮像された高解像度画像データに基づいて、低解像度画像作製部１７０によって作製される低解像度画像の解像度を決定する機能を有している。
【００２０】
位置検出部２５０は、低解像度画像作製部１７０を制御して高解像度画像データに基づいて低解像度画像データを作製し、作製された低解像度画像データを画像メモリ２７０に格納する。そして、画像メモリ２７０に格納された高解像度画像データおよび低解像度画像データに基づいて指示位置ＰＰを検出する。
【００２１】
マウスドライバ２４０は、指示位置ＰＰの検出データに基づいて指示位置ＰＰに対応する表示画面上の位置にディスプレイドライバ２３０を介してマウスポインタを表示させる。
【００２２】
アプリケーション２１０や、キャプチャドライバ２２０、ディスプレイドライバ２３０、マウスドライバ２４０、位置検出部２５０および解像度決定部２６０の機能を実現するコンピュータプログラムは、フレキシブルディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。コンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをコンピュータが読み取って直接実行するようにしてもよい。
【００２３】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを少なくとも備えている。コンピュータプログラムは、このようなコンピュータに、上述の各部の機能を実現させるプログラムコードを含んでいる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【００２４】
なお、この発明における「記録媒体」としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【００２５】
Ｂ．指示位置の検出処理：
図３は、指示位置を検出するための一連の処理を示すフローチャートである。コンピュータＰＣにおいて指示位置検出処理が実行されると、まず、ステップＳ１００において、位置検出部２５０が指示位置検出のための種々の条件値をキャリブレーションする。例えば、撮像画像と表示画面の位置関係や、撮像画像から指示画像を抽出するためのしきい値情報、低解像度画像作製のためのしきい値情報等をキャリブレーションする。次に、ステップＳ２００において、解像度決定部２６０が、キャプチャドライバ２２０によってビデオキャプチャ１６０（図２）を介してキャプチャされた撮像画像の解像度に応じて、適切な低解像度画像の解像度を決定する。なお、この低解像度画像の解像度決定については後述する。そして、ステップＳ３００において、位置検出部２５０が指示位置の検出を指示位置検出処理の終了が指示されるまで繰り返し行う。
【００２６】
図４は、図３のステップＳ３００における位置検出の処理内容を示すフローチャートである。ステップＳ３１０では、ビデオキャプチャ１６０において、カメラＣＭ（図２）によって撮像される画像がキャプチャされる。キャプチャされた撮像画像の画像データは、画像メモリ２７０（図２）に格納される。なお、説明者が使用する指示具がレーザポインタのような発光型の指示具（ポインタ）ではなく、指示棒や自身の手指のような非発光型の指示具である場合においては、カメラＣＭのレンズに赤外フィルタを装着し、図１に図示しない赤外光投射機からスクリーンＳＣ上（図１）に赤外光を投射することにより、画像を撮像することにより、表示画面上の画像を無効とし、指示画像のみが有効となるようにして撮像する。
【００２７】
次に、ステップＳ３２０では、低解像度作製部１７０（図２）において、図３のステップＳ２００において決定された解像度の低解像度画像が撮像画像に基づいて作製される。作製された低解像度画像の画像データは、画像メモリ２７０に格納される。なお、低解像度作製部１７０は、ハードウエアによって構成されている。ただし、ソフトウエアによって実現することも可能であるが、高速に低解像度画像の作製を行うためにはハードウエアによる方が好ましい。
【００２８】
低解像度画像の作製は、種々の一般的な解像度変換処理によって行うことができる。図５は、図４のステップＳ３２０における低解像度画像作製の処理の一例を示すフローチャートである。ステップＳ３２２では、撮像画像の各画素を低解像度画像の各画素に対応する領域ごとに分割する。次に、ステップＳ３２４では、各分割領域ごとに有効な撮像画像の画素数をカウントする。なお、「有効な画素」とは、輝度が所定のしきい値（輝度しきい値）以上ある画素を示している。ステップＳ３２６では、各分割領域の有効な画素数が所定のしきい値（有効画素数しきい値）以上あるか否か判断される。有効画素数しきい値よりも大きい場合には、ステップＳ３２８Ａにおいて、各分割領域に対応する低解像度画素の画素を有効な画素とする。有効画素数しきい値以下の場合には、ステップＳ３２８Ｂにおいて、各分割領域に対応する低解像度画素の画素を無効な画素とする。以上のようにして撮像像から低解像度画像が作製される。なお、輝度しきい値や有効画素数しきい値は、図１のステップＳ１００におけるキャリブレーションにおいて設定される。
【００２９】
図６は、説明者が指し示したい位置を自身の手で指し示している場合における撮像画像およびその低解像度画像の例を示す説明図である。また、図７は、説明者が指し示したい位置をレーザポインタで指し示している場合における撮像画像およびその低解像度画像の例を示す説明図である。図６（Ａ）および図７（Ａ）は、解像度１０２４×７６８画素の撮像画像の例を示し、図６（Ｂ）および図７（Ｂ）は、解像度３２×２４画素の低解像度画像の例を示している。
【００３０】
図８は、高解像度画像と低解像度画像の一般化した関係を示す説明図である。高解像度画像は、ｘ×ｙ画素（ｘおよびｙはそれぞれ１以上の整数、かつ、ｘ≧ｙ）の解像度を有しており、低解像度画像は、（ｘ／ａ）×（ｙ／ｂ）画素（ａはｘの約数、ｂはｙの約数）の解像度を有している。このとき、高解像度画像のａ×ｂ個の画素ＰＸＨを含む１つの小区画ＤＶが、低解像度画像内の１画素ＰＸＬに対応している。
【００３１】
次に、図４のステップＳ３４０では、指示位置の検出モードが輝点検出であるか差分検出であるかが判断される。検出モードが差分検出の場合には、ステップＳ３６０において先端位置検出の処理が行われる。また、検出モードが輝点検出の場合にはステップＳ３８０において輝点位置検出の処理が行われる。なお、輝点検出は、レーザポインタのような発光型の指示具（ポインタ）が用いられている場合に選択される。また、差分検出は、指示棒や手指などの非発光型の指示具が用いられている場合に選択される。
【００３２】
図９は、図４のステップＳ３６０における先端位置検出の処理内容を示すフローチャートである。ステップＳ３６２では、低解像度画像（図８（Ｂ））において先端位置が存在する画素ＰＸＬを決定する。そして、ステップＳ３６４では、ステップＳ３６２において検出された低解像度画素ＰＸＬに対応する撮像画像（高解像度画像）の小区画ＤＶにおいて先端位置が存在する高解像度画素ＰＸＨを決定する。なお、ステップＳ３６２およびＳ３６４における先端位置検出は、一般的な先端位置検出処理、例えば、差分画像抽出処理によって抽出された指示画像をあらわす差分画像データから、計算処理によってその先端位置を検出することにより行われる。ところで、低解像度画像は、キャプチャ画像に比べて解像度が低いため、実際の先端位置は、ステップＳ３６２において検出された先端位置（先端画素）とは異なる位置（画素）に含まれる可能性もある。このような場合には、ステップＳ３６４では、ステップＳ３６２において検出された先端画素の周辺の画素に対応するキャプチャ画像も含めて検出処理を行うことが好ましい。
【００３３】
図１０は、図４のステップＳ３８０における輝点位置検出の処理内容を示すフローチャートである。ステップＳ３８２では、低解像度画像において輝点位置の検出を行う。そして、ステップＳ３８４では、ステップＳ３８２において検出された輝点位置に対応するキャプチャ画像（高解像度画像）において輝点位置の検出を行う。なお、ステップＳ３８２およびＳ３８４における輝点位置検出は、一般的な種々の輝点位置検出処理、例えば、撮像画像を所定のしきい値で単純に２値化することにより検出する処理により行われる。ところで、輝点の輝度が十分でない場合は、先端位置検出と同様に、差分画像抽出処理によって２値化することにより検出するようにしてもよい。また、輝点の位置が複数画素領域にわたる場合には、輝点領域の重心を求めることにより輝点位置を検出するようにしてもよい。
【００３４】
上記のようにして図４のステップＳ３６０またはＳ３８０で検出された指示位置の座標が、ステップＳ４００において出力される。
【００３５】
なお、以下では、上記のように、低解像度画像内において先端位置または輝点位置を大まかに検出し、検出された先端位置または輝点位置に対応する高解像度画像内の小区画において詳細な先端位置または輝点位置を検出する処理する方法を、「多重解像度解析」とも呼ぶ。
【００３６】
Ｃ．解像度決定処理：
図１１は、図３のステップＳ２００における低解像度画像の解像度決定の処理内容を示すフローチャートである。まず、ステップＳ５１０では、撮像画像（高解像度画像）の水平解像度（水平方向の画素数）ｘおよび垂直解像度（垂直方向の画素数）ｙを取得する。なお、ｘ，ｙの値としてはカメラＣＭの撮像解像度あるいはプロジェクタＰＪや表示部１５０によって表示可能な画像の解像度が設定される。これらの値は、図３のステップＳ１００のキャリブレーション時にあらかじめ入力されている。あるいは、図１１のステップＳ５１０において入力するようにしてもよい。
【００３７】
ステップＳ５２０では、ｘおよびｙが互いに素か否か判断する。ｘおよびｙが互いに素ならば低解像度画像を作製することができないため、ステップＳ５３０において多重解像度解析を行わないこととする。ｘおよびｙが互いに素でないならば、ステップＳ５４０において、最適解像度指数Ｒoptを下式（１１）により求める。
【００３８】
【数１１】
0003842515.tif 000004
【００３９】
この最適解像度指数Ｒoptは、以下のような意味を有する。前述した図８および図９で説明したように、多重解像度解析では、まず、低解像度画像において特定の位置に相当する低解像度画素ＰＸＬを決定する処理を行い、次に、その低解像度画素ＰＸＬに対応する高解像度画像内の小区画ＤＶ内で、その特定の位置に相当する高解像度画素ＰＸＨを決定する処理を行う。低解像度画像内の画素位置の決定処理では、最悪な場合には、低解像度画像内のｘ／ａ×ｙ／ｂ個のすべての画素を調べる必要が生じる。同様に、高解像度画像内の１つの小区画ＤＶ内における画素位置の決定処理では、ａ×ｂ個のすべての画素を調べる必要が生じる。このような最悪の場合を想定すると、多重解像度解析において調べられる画素数の最悪値ｆ（「最悪参照画素数」と呼ぶ）は、以下の式（１２）で表される。
【００４０】
【数１２】
0003842515.tif 000005
【００４１】
ここで、式（１２）内のａ・ｂを変数ｃに置き換えると、次式（１３）が得られる。
【００４２】
【数１３】
0003842515.tif 000006
【００４３】
図１２は、（１３）式で与えられる最悪参照画素数ｆと、変数ｃとの関係を示すグラフである。最悪参照画素数ｆは、上記（１３）式の右辺第１項ｆ１＝ｘ・ｙ／ｃと、右辺第２項ｆ２＝ｃを加算したものなので、図示されるように、下に凸の曲線となる。従って、最悪参照画素数ｆが最小となるのは、最悪参照画素数ｆの微分値が０となる場合である。
【００４４】
【数１４】
0003842515.tif 000007
【００４５】
（１４）式を解くと、（１５）式が得られる。
【００４６】
【数１５】
0003842515.tif 000008
【００４７】
従って、前述した最適解像度指数Ｒoptは、最悪参照画素数ｆが最も少なくなるような条件を意味していることが解る。
【００４８】
ステップＳ５５０では、ｘの約数ａ1…ａm（ｍは２以上の整数）およびｙの約数ｂ1…ｂn（ｎは２以上の整数）をそれぞれ取得し、ステップＳ５６０では、下式（１６）および（１７）を満足するａi（ｉ＝１…ｍ）とｂj（ｊ＝１…ｎ）の組み合せを抽出する。
【００４９】
【数１６】
0003842515.tif 000009
【数１７】
0003842515.tif 000010
【００５０】
（１６）式は、ａiとｂjの積と最適解像度指数Ｒoptとの差が可能な限り小さくなる組み合せを求めるための条件である。本実施例では、ε＝２００とする。なお、撮像画像の解像度ごとにεの値を変更するようにしてもよい。
【００５１】
水平方向の画素数と垂直方向の画素数にあまり大きな差がある組み合せは、低解像度画像の画質の劣化や画像処理において処理のしやすさ等の問題があり好ましくない。そこで、（１７）式は、低解像度画像１画素の横方向と縦方向との画素数の差が高解像度画像の横方向と縦方向の画素数の差よりも大きくならないようにするための条件である。なお、必ずしも（１７）式の条件に限定されるものではなく、例えば、（１７）式を、下式（１８）の条件式に置き換えるようにしてもよい。
【００５２】
【数１８】
0003842515.tif 000011
【００５３】
ステップＳ５７０では、ステップＳ５６０で抽出されたａiとｂjの組み合せが複数存在するか否かを判断する。ａiとｂjの組み合せが複数存在しない場合にはステップＳ５８０において、抽出された組み合わせを低解像度画像１画素あたりの水平方向および直方向の高解像度画像の画素数ａ，ｂと決定する。
【００５４】
ａiとｂjの組み合わせが複数存在する場合にはステップＳ５９０において、抽出された組み合わせのうち、｜Ｒopt−ａi・ｂj｜の値が最小となる組み合わせを、低解像度画像１画素あたりの水平方向および直方向の高解像度画像の画素数ａ，ｂと決定する。
【００５５】
以上のようにして決定された画素数ａ，ｂから低解像度画像の水平方向および垂直方向の解像度（ｘ／ａ），（ｙ／ｂ）が決定される。
【００５６】
決定された低解像度画像の１画素ＰＸＬに含まれる画素数ａ，ｂは、最適解像度指数Ｒoptに最も近い値くなるように決定されている。上述したように最適解像度指数Ｒoptは、最悪参照画素数ｆが最小となる場合の１画素ＰＸＬに含まれる高解像度画素ＰＸＨの画素数を示している。従って、以上説明した解像度決定の処理によれば、最悪参照画素数ｆが最小となるように画素数ａ，ｂを決定し、低解像度画像の解像度を決定することができる。
【００５７】
図１３は、図１１のフローチャートに示す解像度決定の処理に従って決定される低解像度画像の解像度の例を示す説明図である。
【００５８】
以上説明したように、決定された低解像度画像の解像度は、多重画像解析における最悪参照画素数ｆが最小となるように、高解像度の撮像画像に対して最適な値に決定されている。従って、このように決定された解像度の低解像度画像を用いて多重画像解析を行えば、従来のように高解像度の撮像画像のみを用いて指示位置を検出する場合に比べて高速に指示位置の検出を行うことができる。しかも、実際の指示位置の検出は、高解像度の撮像画像を用いて検出しているので、高精度に検出することができる。
【００５９】
また、高解像度の撮像画像の解像度に合わせて最適な低解像度の解像度を決定することができるので、撮像画像の解像度に応じて、最適に高速かつ高精度な検出が可能である。
【００６０】
なお、上記低解像度画像の解像度決定の処理において、低解像度画像の１画素ＰＸＬあたりに含まれる画素数を水平方向をａ、垂直方向をｂとして説明しているが、水平方向および垂直方向をどちらも同じ画素数（ただし、ｘおよびｙの公約数）に限定して、図１１に示した解像度決定の処理を実行するようにしてもよい。このように低解像度画像の１画素を正方形とした方が画像処理において都合がよい。
【００６１】
Ｄ．他の解像度決定処理：
以下では、図８に示した低解像度画素ＰＸＬに含まれる高解像度画素ＰＸＨの画素数がａ×ａ個、すなわち、低解像度画素ＰＸＬが正方形の輪郭形状を有する画素である場合における解像度決定の処理の例について説明する。
【００６２】
図１４は、図３のステップＳ２００における低解像度画像の解像度決定の処理内容を示す他のフローチャートである。ステップＳ６１０〜６３０は、図１１のステップＳ５１０〜Ｓ５３０と同じであるので説明を省略する。
【００６３】
ステップＳ６４０では、図１１のステップＳ５４０と同様に、最適解像度指数Ｒoptを下式（１９）により求める。
【００６４】
【数１９】
0003842515.tif 000012
【００６５】
この最適解像度指数Ｒoptは、以下のような意味を有する。多重解像度解析における最悪参照画素数ｆは、上記（１２）式と同様に、低解像度画像の画素数ｘ／ａ×ｙ／ａと、低解像度画像の１画素ＰＸＬに含まれる高解像度画素ＰＸＨの画素数ａ×ａとの和、すなわち下式（２０）で表される。
【００６６】
【数２０】
0003842515.tif 000013
【００６７】
（２０）式で与えられる参照画素数ｆと、変数ａとの関係を示すグラフは、上記（１２）式と同様に下に凸の曲線となる。従って、最悪参照画素数ｆが最小となるのは、最悪参照画素数ｆの微分値が０となる場合である。
【００６８】
【数２１】
0003842515.tif 000014
【００６９】
（２１）式を解くと、（２２）式が得られる。
【００７０】
【数２２】
0003842515.tif 000015
【００７１】
従って、前述した最適解像度指数Ｒoptは、最悪参照画素数ｆが最も少なくなるような条件を意味していることが解る。
【００７２】
ステップＳ６５０では、ｘ，ｙの公約数を取得する。そしてステップＳ６６０では、ステップＳ６５０で取得された公約数のうち最大公約数の値が最適解像度指数Ｒoptよりも大きいか否かを判断する。最大公約数の値が最適解像度指数Ｒopt以下の場合には、ステップＳ６８０において、最大公約数を低解像度画像１画素あたりの水平方向および垂直方向の高解像度画像の画素数ａと決定する。
【００７３】
最大公約数の値が最適解像度指数Ｒoptよりも大きい場合には、ステップＳ６７０において、最適解像度指数Ｒoptよりも小さい公約数のうち最大のものと、最適解像度指数Ｒoptよりも大きい公約数のうち最小のものとで、（２０）式で表される最悪参照画素数ｆが小さい方を、低解像度画像１画素あたりの水平方向および垂直方向の高解像度画像の画素数ａと決定する。
【００７４】
以上のようにして決定された画素数ａから低解像度画像の水平方向および垂直方向の解像度ｘ／ａ，ｙ／ａが決定される。
【００７５】
図１５は、図１４のフローチャートに示す解像度決定の処理に従って決定される低解像度画像の解像度の例を示す説明図である。
【００７６】
以上のようにして、低解像度画像１画素あたりの高解像度画像の画素数が縦方向および横方向で等しいと限定した場合において決定された低解像度画像の解像度も、多重画像解析における最悪参照画素数ｆが最小となるように、高解像度の撮像画像に対して最適な値に決定されている。従って、このように決定された解像度の低解像度画像を用いて多重画像解析を行えば、従来のように高解像度の撮像画像のみを用いて指示位置を検出する場合に比べて高速に指示位置の検出を行うことができる。しかも、実際の指示位置の検出は、高解像度の撮像画像を用いて検出しているので、高精度に検出することができる。
【００７７】
また、高解像度の撮像画像の解像度に合わせて最適な低解像度の解像度を決定することができるので、撮像画像の解像度に応じて、最適に高速かつ高精度な検出が可能である。
【００７８】
なお、本発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７９】
上記実施例では、プロジェクタで表示された画面を指し示す場合を例に説明しているが、これに限定されるものではなく、種々の表示装置で表示された画面を指し示す場合に適用可能である。
【図面の簡単な説明】
【図１】本発明の一実施例としての画像表示システムを示す説明図である。
【図２】コンピュータＰＣの内部構成を示すブロック図である。
【図３】指示位置を検出するための一連の処理を示すフローチャートである。
【図４】図３のステップＳ３００における位置検出の処理内容を示すフローチャートである。
【図５】図４のステップＳ３２０における低解像度画像作製の処理の一例を示すフローチャートである。
【図６】説明者が指し示したい位置を自身の手で指し示している場合における撮像画像およびその低解像度画像の例を示す説明図である。
【図７】説明者が指し示したい位置をレーザポインタで指し示している場合における撮像画像およびその低解像度画像の例を示す説明図である。
【図８】高解像度画像と低解像度画像の一般化した関係を示す説明図である。
【図９】図４のステップＳ３６０における先端位置検出の処理内容を示すフローチャートである。
【図１０】図４のステップＳ３８０における輝点位置検出の処理内容を示すフローチャートである。
【図１１】図３のステップＳ２００における低解像度画像の解像度決定の処理内容を示すフローチャートである。
【図１２】（１３）式で与えられる最悪参照画素数ｆと、変数ｃとの関係を示すグラフである。
【図１３】図１１のフローチャートに示す解像度決定の処理に従って決定される低解像度画像の解像度の例を示す説明図である。
【図１４】図３のステップＳ２００における低解像度画像の解像度決定の処理内容を示す他のフローチャートである。
【図１５】図１４のフローチャートに示す解像度決定の処理に従って決定される低解像度画像の解像度の例を示す説明図である。
【符号の説明】
１００…ＣＰＵ
１００ｂ…バス
１２０…外部記憶装置
１３０…入力部
１４０…ディスプレイアダプタ
１５０…表示部
１６０…ビデオキャプチャ
１７０…低解像度画像作製部
２００…メインメモリ
２１０…アプリケーション
２２０…キャプチャドライバ
２３０…ディスプレイドライバ
２４０…マウスドライバ
２５０…位置検出部
２６０…解像度決定部
２７０…画像メモリ
ＰＪ…プロジェクタ
ＰＣ…コンピュータ
ＣＭ…カメラ
ＳＣ…スクリーン
ＰＰ…先端位置（指示位置）
【図１】
0003842515.tif 000023
【図２】
0003842515.tif 000024
【図３】
0003842515.tif 000025
【図４】
0003842515.tif 000026
【図５】
0003842515.tif 000027
【図６】
0003842515.tif 000028
【図７】
0003842515.tif 000029
【図８】
0003842515.tif 000030
【図９】
0003842515.tif 000031
【図１０】
0003842515.tif 000032
【図１１】
0003842515.tif 000033
【図１２】
0003842515.tif 000034
【図１３】
0003842515.tif 000035
【図１４】
0003842515.tif 000036
【図１５】
0003842515.tif 000037