(57)【特許請求の範囲】
【請求項１】
表示面に画像を表示する表示手段と、
前記表示面上の第１指示体の位置を検知する検知手段と、
前記第１指示体に対応する線の属性値を記憶する記憶手段と、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記検知手段により検知された前記第１指示体の位置の軌跡に応じて描画された第１の線を前記表示手段に表示させる第１制御手段と、
前記表示手段により前記第１の線が表示されると、前記第１の線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示手段に表示させる第２制御手段と、
前記画像オブジェクトを介して入力された、前記第１の線の属性値を変更する前記指示に応じて、前記表示手段に表示されている前記第１の線の属性値を変更し、前記表示手段に属性値が変更された前記第１の線を表示させる変更手段と
を有する表示装置。
【請求項２】
表示面に画像を表示する表示手段と、
前記表示面上の第１指示体の位置を検知する検知手段と、
前記第１指示体に対応する線の属性値を記憶する記憶手段と、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記検知手段により検知された前記第１指示体の位置の軌跡に応じて描画された第１の線を前記表示手段に表示させる第１制御手段と、
前記表示手段により前記第１の線が表示されると、前記第１の線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示手段に表示させる第２制御手段と、
前記画像オブジェクトを介して入力された、前記第１の線の属性値を変更する前記指示に応じて、前記表示手段に表示されている前記第１の線の属性値を変更する変更手段と
を有し、
前記検知手段は、前記第１指示体と異なる第２指示体の位置を検知し、
前記記憶手段は、前記第２指示体に対応する線の属性値を記憶し、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記第１指示体の位置の軌跡に応じて描かれた前記第１の線が前記第１制御手段により表示された場合、前記第２制御手段は、前記第２指示体に対応する属性値を選択肢に含む前記画像オブジェクトを表示させ、
前記第２制御手段は、前記第１の線の描画に用いられた指示体と、前記第１の線の１つ前に描画された第２の線の描画に用いられた指示体とが異なる場合、前記画像オブジェクトを表示させる
ことを特徴とする表示装置。
【請求項３】
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記第１指示体の位置の軌跡に応じて描かれた前記第１の線が前記第１制御手段により表示された場合、前記第２制御手段は、前記第１指示体に対応する線の属性値および前記第２指示体に対応する線の属性値を選択肢に含む前記画像オブジェクトを表示させ、
前記画像オブジェクトにおいて、前記第１指示体に対応する選択肢の数と前記第２指示体に対応する選択肢の数とが異なる
ことを特徴とする請求項２に記載の表示装置。
【請求項４】
前記第２制御手段は、前記第１の線を基準として定められる位置に前記画像オブジェクトを表示させる
ことを特徴とする請求項１ないし３のいずれか一項に記載の表示装置。
【請求項５】
前記第２制御手段は、前記画像オブジェクトを表示してから所定の時間が経過すると、当該画像オブジェクトを消去する
ことを特徴とする請求項１ないし４のいずれか一項に記載の表示装置。
【請求項６】
前記変更手段により前記第１の線の属性値が変更をされた場合、前記記憶手段に記憶されている前記第１指示体に対応する線の属性値は変更されず、
前記変更手段により前記第１の線の属性値が変更をされた後で前記第１指示体の位置の軌跡に応じて描画された第３の線を表示する場合、前記第１制御手段は、前記変更の前の前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記第３の線を表示する
ことを特徴とする請求項１ないし５のいずれか一項に記載の表示装置。
【請求項７】
表示面に画像を表示するステップと、
前記表示面上の第１指示体の位置を検知するステップと、
前記第１指示体に対応する線の属性値を記憶手段に記憶するステップと、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記検知された前記第１指示体の位置の軌跡に応じて描画された第１の線を前記表示面に表示させるステップと、
前記第１の線が表示されると、前記第１の線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示面に表示させるステップと、
前記画像オブジェクトを介して入力された指示に応じて、前記表示面に表示されている前記第１の線の属性値を変更し、前記表示面に属性が変更された前記第１の線を表示させるステップと
を有する画像表示方法。
【請求項８】
表示面に画像を表示するステップと、
前記表示面上の第１指示体の位置を検知するステップと、
前記表示面上の前記第１指示体と異なる第２指示体の位置を検知するステップと、
前記第１指示体に対応する線の属性値を記憶手段に記憶するステップと、
前記第２指示体に対応する線の属性値を前記記憶手段に記憶するステップと、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記検知された前記第１指示体の位置の軌跡に応じて描画された第１の線を前記表示面に表示させるステップと、
前記第１の線が表示されると、前記第１の線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示面に表示させるステップと、
前記画像オブジェクトを介して入力された指示に応じて、前記表示面に表示されている前記第１の線の属性値を変更するステップと
を有し、
前記記憶手段に記憶されている前記第１指示体に対応する線の属性値で前記第１指示体の位置の軌跡に応じて描かれた前記第１の線が、前記描画された前記第１の線を前記表示面に表示させるステップにより表示された場合、前記画像オブジェクトを前記表示面に表示させるステップでは、前記第２指示体に対応する属性値を選択肢に含む前記画像オブジェクトを表示させ、
前記画像オブジェクトを前記表示面に表示させるステップでは、前記第１の線の描画に用いられた指示体と、前記第１の線の１つ前に描画された第２の線の描画に用いられた指示体とが異なる場合、前記画像オブジェクトを表示させる
ことを特徴とする画像表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示体の軌跡に応じた線を描画する表示装置において、描画される線の属性を指定する技術に関する。
【背景技術】
【０００２】
いわゆるインタラクティブプロジェクターやタッチデバイスにおいては、一般に、一定の時間内に描かれた複数の線または単一のストロークで描かれた線を単一のオブジェクトとして管理している。既に描画されたオブジェクトの色等の属性は、後から変更することが可能である。しかし、オブジェクトの属性を後から変更するには、まず対象となるオブジェクトを選択し、次に、変更したい属性を指定するという手順が必要であった。例えば、特許文献１は、オブジェクトの属性を変更する操作を効率化するため、ユーザーの操作履歴に応じてツールバーの内容を変更することを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４２４５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術においては、描画された線の属性を変更したいとユーザーが考えたときは、属性を変更するためのツールバーを表示させる操作を行う必要があった。
これに対し本発明は、描画した線の属性をより簡単に変更できる技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、表示面に画像を表示する表示手段と、前記表示面上の第１指示体の位置を検知する検知手段と、前記第１指示体に対応する線の属性値を記憶する記憶手段と、前記記憶手段に記憶されている属性値で前記検知手段により検知された位置の軌跡に応じて描画された線を前記表示手段に表示させる第１制御手段と、前記表示手段により前記線が表示されると、前記線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示手段に表示させる第２制御手段と、前記画像オブジェクトを介して入力された、前記線の属性値を変更する前記指示に応じて、前記表示手段に表示されている前記線の属性値を変更する変更手段とを有する表示装置を提供する。これにより、ツールバーを用いて描画された線の属性を変更する場合と比べ、ユーザーは、より簡単に描画した線の属性を変更することができる。
【０００６】
前記検知手段は、前記第１指示体と異なる第２指示体の位置を検知し、前記記憶手段は、前記第２指示体に対応する線の属性値を記憶し、前記第１指示体の位置の軌跡に応じて描かれた線が前記第１制御手段により表示された場合、前記第２制御手段は、前記第２指示体に対応する属性値を選択肢に含む前記画像オブジェクトを表示させてもよい。複数の指示体を用いているときには、誤って別の指示体を用いて描画することで、意図と反する属性値の線が描画されてしまうことがあるが、上記のようにすることで、線を意図していた属性値へより簡単に変更することができる。
【０００７】
前記第１指示体の位置の軌跡に応じて描かれた線が前記第１制御手段により表示された場合、前記第２制御手段は、前記第１指示体に対応する属性値および前記第２指示体に対応する属性値を選択肢に含む前記画像オブジェクトを表示させ、前記画像オブジェクトにおいて、前記第１指示体に対応する選択肢の数と前記第２指示体に対応する選択肢の数とが異なっていてもよい。上記のようにすることで、指示体と属性値との関係が明確になり誤操作を防止することができる。
【０００８】
前記第２制御手段は、第１の線の描画に用いられた指示体と、前記第１の線の１つ前の線の描画に用いられた指示体とが異なる場合、前記画像オブジェクトを表示させてもよい。複数の指示体を用いているときには、誤って別の指示体を用いて描画することで、意図と反する属性値の線が描画されてしまうことがあるが、上記のようにすることで、線を意図していた属性値へより簡単に変更することができる。
【０００９】
前記第２制御手段は、前記線を基準として定められる位置に前記画像オブジェクトを表示させてもよい。これにより、線と画像オブジェクトとの関係が明確になり誤操作を防止することができる。
【００１０】
前記第２制御手段は、前記画像オブジェクトを表示してから所定の時間が経過すると、当該画像オブジェクトを消去してもよい。これにより、不要となった画像オブジェクトを消す手間を省くことができる。
【００１１】
前記変更手段により線の属性値が変更をされた後で前記第１指示体の位置の軌跡に応じて描画された線を表示する場合、前記第１制御手段は、前記変更の前の属性値で当該線を表示してもよい。変更手段により属性値を変更した場合には、ユーザーは、第１指示体の属性値は変更しない意図であることがあるが、上記のようにすることで、第１指示体の属性値は変更しないようにすることができる。
【００１２】
また、本発明は、表示面に画像を表示するステップと、前記表示面上の第１指示体の位置を検知するステップと、前記第１指示体に対応する線の属性値を記憶手段に記憶するステップと、前記記憶手段に記憶されている属性値で前記検知された位置の軌跡に応じて描画された線を前記表示面に表示させるステップと、前記線が表示されると、当該線の属性値を変更する指示を受け付けるための画像オブジェクトを前記表示面に表示させるステップと、前記画像オブジェクトを介して入力された指示に応じて、前記表示面に表示されている前記線の属性値を変更するステップとを有する画像表示方法を提供する。これにより、ツールバーを用いて描画された線の属性を変更する場合と比べ、ユーザーは、より簡単に描画した線の属性を変更することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る表示装置１０の概要を示す図
【図２】表示装置１０の関連技術に係る問題点を例示する図
【図３】表示装置１０の機能構成を例示する図
【図４】表示装置１０のハードウェア構成を例示する図
【図５】表示装置１０の動作を例示するフローチャート
【図６】指示体３０の軌跡に応じて描画される線を例示する図
【図７】表示装置１０におけるペンダウンイベントに係る動作を例示する図
【図８】表示装置１０におけるペンアップイベントに係る動作を例示する図
【図９】画面遷移の例を示す図
【図１０】画面遷移の例を示す図
【図１１】画面遷移の例を示す図
【図１２】ポップアップメニューＰ１の別の例を示す図
【発明を実施するための形態】
【００１４】
１．概要
図１は、一実施形態に係る表示装置１０の概要を示す図である。表示装置１０は、表示面に画像を表示する装置、例えばプロジェクターである。プロジェクターの場合、投写面Ａが表示面である。この例で、表示装置１０は、いわゆるインタラクティブプロジェクターである。すなわち、表示装置１０は、投写面上の指示体の位置を検知し、検知した位置の軌跡（以下単に「指示体の軌跡」という）に応じた線を描画する機能を有する。
【００１５】
この例で、表示装置１０は、２つの指示体（指示体３０および指示体３５）を、それぞれ区別して検知することができる。指示体の軌跡に応じて描画される線の属性、例えば、色、太さ、および線種（実線、破線、鎖線等）は、指示体毎に設定される。例えば、指示体３０では実線が、指示体３５では破線が描かれるように設定される。
【００１６】
図２は、表示装置１０の関連技術に係る問題点を例示する図である。ここでは以下の例を考える。ユーザーは、まず指示体３０を用いて線Ｌ１を描画する（図２上段）。線Ｌ１を描画すると、ユーザーは、一旦、指示体３０を机の上やペンホルダーに置く。その後、ユーザーは、新たな線を描画するため、指示体を手に取る。このとき、ユーザーは、指示体３０を手にしたつもりだが実際は誤って指示体３５を手に取っている。ユーザー本人はそれに気付いていない。ユーザーは指示体３５を用いて線Ｌ２を描画する。指示体３５が用いられているので線Ｌ２は破線である（図２下段）。ユーザーは指示体３０を使っているつもりだったので、結果的に、ユーザーが意図したものと違う属性の線が描かれてしまった。
【００１７】
このようにユーザーの意図に反する属性の線が描かれてしまった場合、ユーザーは、線Ｌ２が描画された後でその属性を変更する必要がある。そのためには、ユーザーは、例えば、属性変更のためのＵＩ（User Interface）オブジェクト（例えばツールバー）を介してまず対象となる線を選択し、次に、変更したい項目を選択（例えば色、太さ、および線種の選択肢の中から線種を選択）し、さらに、属性の値を選択（例えば、実線、破線、および鎖線の選択肢の中から実線を選択）するという手順を踏む必要がある。このような操作はユーザーにとって煩雑であった。これに対し本実施形態では、描画した線の属性をより簡単に変更できる技術を提供する。
【００１８】
２．構成
図３は、表示装置１０の機能構成を例示する図である。表示装置１０は、表示手段１１、検知手段１２、描画手段１３、記憶手段１４、第１制御手段１５、第２制御手段１６、受け付け手段１７、および変更手段１８を有する。
【００１９】
表示手段１１は、表示面に画像を表示する。検知手段１２は、表示面上の指示体の位置を検知する。描画手段１３は、検知手段１２により検知された指示体の軌跡に応じた線を描画する。ここで、描画手段１３が「線を描画する」とは、線を示すデータを生成することをいう。記憶手段１４は、描画手段１３が線を描画する際に用いられる線の属性値を記憶する。記憶手段１４は、指示体３０および指示体３５のそれぞれについて、対応する線の属性値を記憶する。第１制御手段１５は、描画手段１３により描画された線を、表示面に表示するよう表示手段１１を制御する。第２制御手段１６は、表示手段１１に線が表示された後で、その線の属性値を変更する指示を受け付けるための画像オブジェクト（例えば、ポップアップメニュー等のＵＩオブジェクト）を表示するよう表示手段１１を制御する。受け付け手段１７は、その画像オブジェクトを介した指示の入力を受け付ける。変更手段１８は、受け付け手段１７により受け付けられた指示に応じて、表示手段１１に表示されている線の属性値を変更する。
【００２０】
図４は、表示装置１０のハードウェア構成を例示する図である。この例で、表示装置１０はプロジェクターである。表示装置１０は、ＣＰＵ（Central Processing Unit）１００、ＲＯＭ（Read Only Memory）１０１、ＲＡＭ（Random Access Memory）１０２、ＩＦ部１０４、画像処理回路１０５、投写ユニット１０６、操作パネル１０７、およびカメラ１０８を有する。
【００２１】
ＣＰＵ１００は、表示装置１０の各部を制御する制御装置である。ＲＯＭ１０１は、各種プログラムおよびデータを記憶した不揮発性の記憶装置である。ＲＡＭ１０２は、データを記憶する揮発性の記憶装置であり、ＣＰＵ１００が処理を実行する際のワークエリアとして機能する。
【００２２】
ＩＦ部１０４は、外部装置と信号またはデータのやりとりを仲介するインターフェースである。ＩＦ部１０４は、外部装置と信号またはデータのやりとりをするための端子（例えば、ＶＧＡ端子、ＵＳＢ端子、有線ＬＡＮインターフェース、Ｓ端子、ＲＣＡ端子、ＨＤＭＩ（High-Definition Multimedia Interface：登録商標）端子、マイクロフォン端子など）および無線ＬＡＮインターフェースを含む。これらの端子は、映像入力端子に加え、映像出力端子を含んでもよい。ＩＦ部１０４は、異なる複数の映像供給装置から映像信号の入力を受け付けてもよい。
【００２３】
画像処理回路１０５は、入力された映像信号（以下「入力映像信号」という）に所定の画像処理（例えばサイズ変更、台形補正等）を施す。
【００２４】
投写ユニット１０６は、画像処理が施された映像信号に従って、スクリーンまたは壁面等の投写面に画像を投写する。投写ユニット１０６は、光源、光変調器、および光学系（いずれも図示略）を有する。光源は、高圧水銀ランプ、ハロゲンランプ、もしくはメタルハライドランプなどのランプ、またはＬＥＤ（Light Emitting Diode）もしくはレーザーダイオードなどの固体光源、およびこれらの駆動回路を含む。光変調器は、光源から照射された光を映像信号に応じて変調する装置であり、例えば液晶パネルまたはＤＭＤ（Digital Mirror Device）、およびこれらの駆動回路を有する。なお、液晶パネルは、透過型および反射型のいずれの方式であってもよい。光学系は、光変調器により変調された光をスクリーンに投写する素子などで構成されており、例えばミラー、レンズ、およびプリズムを有する。光源および光変調器は色成分毎に設けられていてもよい。
【００２５】
操作パネル１０７は、ユーザーが表示装置１０に対し指示を入力するための入力装置であり、例えば、キーパッド、ボタン、またはタッチパネルを含む。
【００２６】
カメラ１０８は、指示体３０の位置を特定するためのカメラである。この例で、指示体３０は、ペン先に発光体（例えば赤外線発光ダイオード）、圧力センサー、および制御回路（いずれも図示略）を有する。圧力センサーによりペン先が物体（投写面等）に触れたことが検知されると、制御回路は、所定の発光パターンで発光体を発光させる。カメラ１０８は赤外線カメラであり、投写面の画像を撮影する。ＣＰＵ１００は、カメラ１０８が撮影した画像から指示体３０の位置および対応するイベントを特定する。ＣＰＵ１００は、例えば発光パターンの違いまたは発光波長の違いにより、複数の指示体を区別することができる。
【００２７】
指示体３０に関連するイベントには、例えばペンダウンイベントおよびペンアップイベントがある。ペンダウンイベントは、指示体３０が表示面（この例ではスクリーンまたは壁面）に触れていることを示すイベントである。ペンダウンイベントは、指示体３０が触れている位置を示す座標を含んでいる。ペンアップイベントは、それまで表示面に触れていた指示体３０が表示面から離れたことを示すイベントである。ペンアップイベントは、指示体３０が表示面から離れた位置を示す座標を含んでいる。
【００２８】
なお、カメラ１０８は、投写ユニット１０６により投写される画像の有効画素領域よりも広い範囲（すなわち画面の外）を撮影可能である。すなわち、表示装置１０は、指示体３０が画面の外にあっても（一定の範囲内であれば）、指示体３０の位置を検知することが可能である。
【００２９】
この例で、ＣＰＵ１００がＲＯＭ１０１に記憶されているプログラムを実行することにより、図３に示す機能が表示装置１０に実装される。投写ユニット１０６は、表示手段１１の一例である。カメラ１０８は、検知手段１２の一例である。ＣＰＵ１００は、描画手段１３、第１制御手段１５、第２制御手段１６、受け付け手段１７、および変更手段１８の一例である。ＲＯＭ１０１およびＲＡＭ１０２は、記憶手段１４の一例である。
【００３０】
３．動作
以下、表示システム１の動作例をいくつか説明する。以下の例では、表示装置１０において、指示体３０および指示体３５のそれぞれについて、線を描画する際に用いられる属性値が記憶されている。属性値は、ユーザーの指示に応じて変更される。すなわち、ユーザーの指示が入力されると、記憶されている属性値が書き替えられる。以下の例では、線の属性としては、色、太さ、および線種の３つが用いられる。
【００３１】
３−１．線の描画
図５は、表示装置１０の動作を例示するフローチャートである。ここではまず、１つの指示体（指示体３０）を用いた線の描画について説明する。
【００３２】
ステップＳ１００において、ＣＰＵ１００は、ペンダウンイベントが発生したことを検知する。ＣＰＵ１００は、カメラ１０８により撮影された画像を所定の周期でサンプリングしており、この画像からペンダウンのイベントを検知する。
【００３３】
ステップＳ１１０において、ＣＰＵ１００は、検知されたペンダウンイベントが新たな画像オブジェクトを構成するものであるか判断する。空間的または時間的に連続したペンダウンイベントは、一連の画像オブジェクトを構成すると判断される。具体的には、前回（直前のサンプリングにおいて）から引き続きペンダウンイベントが検知された場合、そのペンダウンイベントは、前回のペンダウンイベントと連続していると判断される。前回のサンプリング時にはペンダウンイベントが検知されていないが、前々回以前のサンプリング時にペンアップイベントが検知されてからの経過時間がしきい値以下およびその時の指示体３０の位置と今回検知された指示体３０の位置との距離がしきい値以下の場合にも、そのペンダウンイベントは、前回検知されたペンダウンイベントと連続していると判断される。
【００３４】
検知されたペンダウンイベントが新たな画像オブジェクトを構成すると判断された場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１００は、処理をステップＳ１２０に移行する。検知されたペンダウンイベントが前回検知されたペンダウンイベントと連続していると判断された場合（Ｓ１１０：ＮＯ）、ＣＰＵ１００は、処理をステップＳ１３０に移行する。
【００３５】
ステップＳ１２０において、ＣＰＵ１００は、新たな画像オブジェクト（一連のペンダウンイベント）に識別子を付与する。
【００３６】
ステップＳ１３０において、ＣＰＵ１００は、ペンダウンイベントが発生したときの指示体３０の座標を検知する。ＣＰＵ１００は、サンプリングされた画像から指示体３０の座標を検知する。
【００３７】
ステップＳ１４０において、ＣＰＵ１００は、指示体３０の座標を記憶する。ＣＰＵ１００は、指示体３０の座標およびその座標が検知された時刻を示すデータを、その座標を含む画像オブジェクトの識別子および指示体３０の識別子とともにＲＡＭ１０２に記憶する。以下、指示体３０の座標および時刻を示すデータを「描画情報」という。
【００３８】
ステップＳ１５０において、ＣＰＵ１００は、指示体３０の軌跡を示す線（画像オブジェクト）を描画する。ここでいう「線を描画する」とは、線の画像を表示するためのデータを生成することをいう。ＣＰＵ１００は、ＲＡＭ１０２に記憶されている一連の座標に応じて線を描画する。ＣＰＵ１００は、例えば各座標を通る線を描画する。ＣＰＵ１００は、一連のペンダウンイベントを１本の連続した線として描画する。ＲＡＭ１０２には、描画される線の属性を指定するデータが記憶されている。ＣＰＵ１００は、このデータに従った属性の線を描画する。
【００３９】
ステップＳ１６０において、ＣＰＵ１００は、描画された線を示す画像を投写するように、投写ユニット１０６を制御する。ステップＳ１００〜Ｓ１６０の処理は所定の周期で繰り返し実行される。なお、指示体３０の座標を検知する周期、線を描画する周期、および投写される画像を更新する周期は同じでなく、それぞれ異なっていてもよい。
【００４０】
図６は、指示体３０の軌跡に応じて描画される線を例示する図である。一連の軌跡は１本の線Ｌ１として描かれ、データ上、単一のオブジェクトとして扱われる。
【００４１】
３−２．指示体を区別可能な場合における線の描画
図７は、表示装置１０におけるペンダウンイベントに係る動作を例示するフローチャートである。ここでは、表示装置１０が２つの指示体を区別可能な場合における線の描画について説明する。なお、図５と共通する処理については、共通の参照符号を用いる。
【００４２】
ステップＳ１００において、ＣＰＵ１００は、ペンダウンイベントが発生したことを検知する。
【００４３】
ステップＳ２００において、ＣＰＵ１００は、このペンダウンイベントに係る指示体が、前回（つまり直近に）描かれた線の描画に用いられた指示体と同じものであるか判断する。ＲＡＭ１０２に記憶されている線のデータには、その線の描画に用いられた指示体の識別子が含まれている。ＣＰＵ１００は、この識別子を参照し、先ほど検知されたペンダウンイベントに係る指示体が、前回描かれた線の描画に用いられた指示体と同じものであるか判断する。前回描かれた線の描画に用いられた指示体と同じものであると判断された場合（Ｓ２００：ＹＥＳ）、ＣＰＵ１００は、処理をステップＳ１１０に移行する。前回描かれた線の描画に用いられた指示体と別の指示体が用いられたと判断された場合（Ｓ２００：ＮＯ）、ＣＰＵ１００は、処理をステップＳ２１０に移行する。
【００４４】
ステップＳ２１０において、ＣＰＵ２００は、フラグをオンする。このフラグは、オンであれば、現在描画中の線が、前回描画された線と異なる指示体で描かれていることを示し、オフであれば同じ指示体で描かれていることを示すフラグである。より詳細には、ＲＡＭ２０２にこのフラグのデータを記憶する記憶領域があり、ＣＰＵ２００がこの記憶領域のデータを書き替えることによってフラグのオン／オフが切り替えられる。
【００４５】
ステップＳ１１０移行の処理は、図５で説明したものと同じである。
【００４６】
図８は、表示装置１０におけるペンアップイベントに係る動作を例示するフローチャートである。
【００４７】
ステップＳ３００において、ＣＰＵ１００は、ペンアップイベントが発生したことを検知する。ペンアップイベントを検知する方法は、ペンダウンイベントと同様である。
【００４８】
ステップＳ３１０において、ＣＰＵ１００は、フラグがオンであるか、すなわち、先ほど検知したペンアップイベントまで描画されていた線と、前回描画された線とが違う指示体で描かれたものであるか判断する。フラグがオンである場合（Ｓ３１０：ＹＥＳ）、ＣＰＵ１００は、処理をステップＳ３２０に移行する。フラグがオフである場合（Ｓ３１０：ＮＯ）、ＣＰＵ１００は、処理をステップＳ３７０に移行する。
【００４９】
ステップＳ３２０において、ＣＰＵ１００は、線の属性を変更する指示を受け付けるためのＵＩオブジェクトを表示する。このＵＩオブジェクトは、少なくとも１つの選択肢を含む。各選択肢は、少なくとも１つの属性について、その値（属性値）を特定する。ＣＰＵ１００は、表示面において、線を基準とした位置、具体的には、ペンアップイベントが検知された位置（すなわち線の終点）を基準として定められる位置、例えば終点から所定の方向に所定の距離離れた位置に、このＵＩオブジェクトを表示する。このように線を基準とした位置にＵＩオブジェクトを表示することにより、線とＵＩオブジェクトとの関係が明確になり誤操作を防止することができる。いずれかの選択肢が表示されている位置をユーザーが指示体を用いて指示すると、ＣＰＵ１００は、その選択肢の選択を受け付ける。
【００５０】
ステップＳ３３０において、ＣＰＵ１００は、属性の変更指示が受け付けられたか判断する。変更指示が受け付けられたと判断された場合（Ｓ３３０：ＹＥＳ）、ＣＰＵ１００は、処理をステップＳ３４０に移行する。変更指示が受け付けられていないと判断された場合（Ｓ３３０：ＮＯ）、ＣＰＵ１００は、処理をステップＳ３５０に移行する。
【００５１】
ステップＳ３４０において、ＣＰＵ１００は、線の属性値を、ＵＩオブジェクトを介して変更指示が受け付けられた値に変更する。ＣＰＵ１００は、属性が変更された線を投写するよう投写ユニット１０６を制御する。ここで、属性値の変更の対象となる線は、直近のペンアップイベントまで描画されていた線およびこの線と同じ画像オブジェクトを構成する線である。
【００５２】
なおこの例では、いま描画された線（およびこの線と同じ画像オブジェクトを構成する線）の属性値が変更されるだけであって、ＲＡＭ１０２においてこの指示体と対応付けて記憶されている属性値は変更されない。したがって、この後、ユーザーが同じ再び同じ指示体を用いて線を描画すると、その指示体に対して元々設定されていた属性値の線が描かれる。
【００５３】
別の例で、変更指示に基づいて線の属性が変更された場合、ＣＰＵ１００は、ＲＡＭ１０１においてこの指示体と対応付けられている属性値を、変更指示により変更された属性値に更新してもよい。この場合、ユーザーが同じ再び同じ指示体を用いて線を描画すると、先ほど変更を指示した属性値の線が描かれる。
【００５４】
ステップＳ３５０において、ＣＰＵ１００は、ＵＩオブジェクトが表示されてから所定時間が経過したか判断する。所定時間が経過したと判断された場合（Ｓ３５０：ＹＥＳ）、ＣＰＵ１００は、投写する画像からこのＵＩオブジェクトを消去する。所定時間が経過していないと判断された場合（Ｓ３５０：ＮＯ）、ＣＰＵ１００は、処理をステップＳ３３０に移行する。
【００５５】
ステップＳ３６０において、ＣＰＵ１００は、線の属性を変更するためのＵＩオブジェクトを消去する。具体的には、ＣＰＵ１００は、ＵＩオブジェクトが消去された画像を投写するよう投写ユニット１０６を制御する。
【００５６】
ステップＳ３７０において、ＣＰＵ１００は、フラグをオフにする。
【００５７】
３−３．画面遷移例
図９〜図１１は、画面遷移の例を示す図である。以下、具体的な画面遷移の例を説明する。ユーザーは、指示体３０を用いて線Ｌ１を描画した後、指示体３０を机の上に置いた。その後、ユーザーは、新たな線を描画するため、指示体３５を手に取り、これを用いて線Ｌ２を描画する。線Ｌ２を描画して指示体３５のペン先を投写面から離すと、線Ｌ２の属性を変更するためのポップアップメニューＰ１が、線Ｌ２の終点近傍に表示される（図９）。ポップアップメニューＰ１は、指示体３５に関してペンアップイベントが検知されたことを契機として自動的に表示される。すなわち、ユーザーがポップアップウインドウを表示させるための専用の操作入力を行わなくても、線を描画する操作を行うだけで自動的にポップアップメニューＰ１が表示される。この例で、ポップアップメニューＰ１は、線Ｌ２の属性値の選択肢として、直近に描画された線の属性値に変更する選択肢を含んでいる。
【００５８】
ユーザーがこの選択肢を選択すると（図１０）、線Ｌ２の属性が変更される。この例では、線Ｌ２は破線から実線に変更される（図１１）。
【００５９】
以上で説明したように本実施形態によれば、線を描画した後でその線の属性を変更することが容易になる。
【００６０】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００６１】
４−１．変形例１
表示装置１０は、複数の指示体を区別できなくてもよい。この場合、ＣＰＵ１００は、線が描かれる度にポップアップメニューＰ１を表示する。
【００６２】
４−２．変形例２
表示装置１０は、線の描画に用いられた指示体が直近の線の描画に用いられたものと同じであるか否かによらずポップアップメニューＰ１を表示してもよい。
【００６３】
４−３．変形例３
ポップアップメニューＰ１の表示位置は、線Ｌ２の終点を基準として定められる位置に限定されない。ポップアップメニューＰ１は、線Ｌ２の終点の位置によらず、例えば、画面上の所定の位置（例えば画面右下）に表示されてもよい。
【００６４】
４−４．変形例４
図１２は、ポップアップメニューＰ１の別の例を示す図である。この例で、ポップアップメニューＰ１は、選択肢群Ｏ１および選択肢群Ｏ２を含む。選択肢群Ｏ１は、指示体３０（線の描画に用いられていない指示体）の１つ以上の属性値を指定するための選択肢群である。選択肢群Ｏ２は、指示体３５（線の描画に用いられた指示体）の１つ以上の属性値を指定するための選択肢群である。この例では、選択肢群Ｏ１は３つの選択肢を含み、選択肢群Ｏ２は２つの選択肢を含んでいる。すなわち、線の描画に用いられた指示体よりも用いられていない指示体の方が選択肢の数が多い。このように、線の描画に用いられた指示体と用いられていない指示体とで選択肢の数が異なっていてもよい。なおこの例とは逆に、線の描画に用いられた指示体よりも用いられていない指示体の方が選択肢の数が少なくてもよい。
【００６５】
なお図１２の例では、選択肢群Ｏ１は、線種を実線とする選択肢、破線とする選択肢、および一点鎖線とする選択肢を含んでいる。選択肢群Ｏ２は、線種を破線とする選択肢および二点鎖線とする選択肢を含んでいる。このように１つの指示体の１つの属性につき２つ以上の属性値が選択肢として提示されているが、この選択肢は、例えば、設定された属性値の履歴から生成される。より具体的には、線の描画に用いられていない指示体の属性値の過去３回分、および線の描画に用いられた指示体の属性値の過去２回分が、選択肢として生成される。あるいは、ユーザー毎に記録された使用履歴から選択肢が生成されてもよい。
【００６６】
４−５．変形例５
ポップアップメニューＰ１において、属性値を選択するための選択肢は、１つの属性の属性値を指定するものに限定されない。例えば、ある選択肢が、線種を実線としかつ色を赤とするものであり、別の選択肢が、線種を破線としかつ色を黒とするものであってもよい。
【００６７】
図３に示した機能を実現するための表示装置１０のハードウェア構成は図４で例示したものに限定されない。要求される機能を実現できるものであれば、表示装置１０はどのようなハードウェア構成を有していてもよい。例えば、表示装置１０は、検知手段１２に相当するハードウェア要素として、いわゆるステレオカメラまたはレーザーカーテンを有していてもよい。また、指示体３０の構成は実施形態で説明したものに限定されない。指示体３０は、例えば、特定の波長帯の光を反射する塗料が塗られた構造体であってもよい。あるいは、指示体３０は、ユーザーの指であってもよい。
【００６８】
４−６．変形例６
表示装置１０はプロジェクターに限定されない。表示装置１０は、直視型の表示装置であってもよい。直視型の表示装置においては、指示体の位置を検知する検知手段１２としてタッチセンサーが用いられてもよい。すなわち、表示装置１０は、タッチスクリーンを有する装置であってもよい。
【００６９】
４−７．他の変形例
表示装置１０における具体的な処理のフローは、図５、７、および８に例示したものに限定されない。例えば、フラグをオンするタイミングは実施形態で例示したものに限定されず、ペンアップイベントを検知したときに直近の線と別の指示体で描かれたか判断し、これに応じてフラグをオンしてもよい。
【符号の説明】
【００７０】
１０…表示手段１１…表示手段、１２…検知手段、１３…描画手段、１４…記憶手段、１５…第１制御手段、１６…第２制御手段、１７…受け付け手段、１８…変更手段、３０…指示体、３５…指示体、１００…ＣＰＵ、１０１…ＲＯＭ、１０２…ＲＡＭ、１０４…ＩＦ部、１０５…画像処理回路、１０６…投写ユニット、１０７…操作パネル、１０８…カメラ
【図１】
0006540275.tif 000002
【図２】
0006540275.tif 000003
【図３】
0006540275.tif 000004
【図４】
0006540275.tif 000005
【図５】
0006540275.tif 000006
【図６】
0006540275.tif 000007
【図７】
0006540275.tif 000008
【図８】
0006540275.tif 000009
【図９】
0006540275.tif 000010
【図１０】
0006540275.tif 000011
【図１１】
0006540275.tif 000012
【図１２】
0006540275.tif 000013