(57)【特許請求の範囲】
【請求項１】
対象画像を取得する画像取得手段と、
前記画像取得手段によって取得された対象画像を表示する表示手段と、
前記画像取得手段によって取得された対象画像の中から、所定の画像パターンを認識する画像認識手段と、
前記対象画像に対する、前記所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識手段と、
前記画像認識手段により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、前記表示手段に表示されている対象画像の前記位置情報に応じた位置に重畳して前記表示手段に表示させ、さらに、前記画像認識手段により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、前記表示手段に表示されている対象画像の前記位置情報に応じた位置に重畳して前記表示手段に表示させる表示制御手段と、
前記表示制御手段によって前記表示手段に表示されるメニュー画像とカーソルの位置に基づいて、前記メニュー画像に対応する処理を起動する起動手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像認識手段は、前記画像取得手段によって取得された対象画像の中から、対象物に設けられた可視コードを認識し、
前記捕捉位置情報認識手段は、前記可視コードの画像パターンの相対的な位置情報を認識する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示制御手段は、前記所定の画像パターンに基づいて、その所定の画像パターンに対応するメニュー画像をメニュー画像記憶部から検索し、そのメニュー画像を前記対象画像の前記位置情報に応じた位置に重畳して前記表示手段に表示させる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像認識手段は、前記画像取得手段によって取得された対象画像の中から、対象物に設けられた可視コードを認識し、
前記捕捉位置情報認識手段は、前記可視コードの画像パターンの相対的な位置情報を認識し、
前記表示制御手段は、前記対象物に設けられた可視コードに基づいて、その可視コードに対応するメニュー画像をメニュー画像記憶部から検索し、そのメニュー画像を前記対象画像の前記位置情報に応じた位置に重畳して前記表示手段に表示させる
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像認識手段は、前記画像取得手段によって取得された対象画像の中から、対象物に設けられた２次元コードを認識し、
前記捕捉位置情報認識手段は、前記２次元コードの画像パターンの相対的な位置情報を認識する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記起動手段は、前記表示制御手段によって前記表示手段に表示されるメニュー画像の領域内に、所定時間以上、前記カーソルが表示されていた場合、そのメニュー画像に対応する処理を起動する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記表示制御手段は、前記メニュー画像の前記カーソルの位置に対応する領域を強調表示させる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
対象画像を取得する画像取得処理ステップと、
前記画像取得処理ステップの処理によって取得された対象画像を表示させる対象画像表示制御処理ステップと、
前記画像取得処理ステップの処理によって取得された対象画像の中から、所定の画像パターンを認識する画像認識処理ステップと、
前記対象画像に対する、前記所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識処理ステップと、
前記画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、前記対象画像の前記位置情報に応じた位置に重畳して表示させるメニュー画像表示制御処理ステップと、
前記画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、前記対象画像の前記位置情報に応じた位置に重畳して表示させるカーソル表示制御処理ステップと、
前記メニュー画像表示制御処理ステップの処理によって表示されるメニュー画像と、前記カーソル表示制御処理ステップの処理によって表示されるカーソルの位置に基づいて、前記メニュー画像に対応する処理を起動する起動処理ステップと
を含むことを特徴とする画像処理方法。
【請求項９】
対象画像を取得する画像取得処理ステップと、
前記画像取得処理ステップの処理によって取得された対象画像を表示させる対象画像表示制御処理ステップと、
前記画像取得処理ステップの処理によって取得された対象画像の中から、所定の画像パターンを認識する画像認識処理ステップと、
前記対象画像に対する、前記所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識処理ステップと、
前記画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、前記対象画像の前記位置情報に応じた位置に重畳して表示させるメニュー画像表示制御処理ステップと、
前記画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、前記対象画像の前記位置情報に応じた位置に重畳して表示させるカーソル表示制御処理ステップと、
前記メニュー画像表示制御処理ステップの処理によって表示されるメニュー画像と、前記カーソル表示制御処理ステップの処理によって表示されるカーソルの位置に基づいて、前記メニュー画像に対応する処理を起動する起動処理ステップと
を含むことを特徴とする画像処理をコンピュータに実行させる画像処理プログラムが格納されている画像処理プログラム格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および画像処理プログラム格納媒体に関し、特に、メニュー選択操作やアプリケーションプログラムの起動等の各種入力操作を容易とした画像処理装置、画像処理方法、および画像処理プログラム格納媒体に関する。
【背景技術】
【０００２】
近年、米国マイクロソフト社製のWindows95（商標）やWindows98（商標）などのパーソナルコンピュータのオペレーティングシステムにおいては、アクティブ・ウィンドウを有するアプリケーション用に、各種タスクバーが用意されている。これにより、ボタンのような視覚的な手がかりをユーザに提供するようになされている。
【０００３】
このタスクバーの使用に関する技術は、特開平８−２５５０６６号公報により詳細に開示されているので、その内容を引用してタスクバーの使用について簡単に説明する。
【０００４】
例えばタスクバーには、現在アクティブになっているウィンドウについての情報を表示させるためのボタンが設けられている。またタスクバーには、プログラムのランチ、ドキュメントのオープン、およびシステムセッティングのためのメニューに対するユーザのアクセスを可能にするスタートメニューボタンなどが設けられている場合もある。
【０００５】
例えば、マウス、キーボード及びビデオディスプレイ等の周辺装置と、中央処理装置（ＣＰＵ）とを備えるコンピュータシステムにおいて、上記タスクバー上のスタートメニューボタンの操作について説明する。スタートメニューボタンは、プログラム、ドキュメント、システムのセッティング、ヘルプ情報等にアクセスするためのスタートメニューを表示する際に操作される。例えば、マウスのカーソルでスタートメニューボタンをポイントし、左マウスボタンをクリックすることで、スタートメニューが表示される。
【０００６】
このようにして表示されたスタートメニューには、例えば「プログラム」、「検索」、「設定」、「ヘルプ」等のメニューアイテムが備えられている。このうち、例えば、「プログラム」メニューアイテムを選択することより、スタートメニューから階層表示されたプログラムメニューにアクセスすることが可能となる。プログラムメニューにはユーザが選択できる複数のアプリケーションプログラム及びプログラムグループが表示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したスタートメニューボタンを備えたタスクバー上をユーザが操作し、所望のアプリケーションプログラムを選択し、起動するまでには煩雑な操作を繰り返すことになる。
【０００８】
例えば、上述したように、ユーザは、先ずタスクバー上のスタートメニューボタンをマウスのカーソルでポイントし、左マウスボタンをクリックし、スタートメニューを表示させる。その後、ユーザは、表示されたスタートメニューから「プログラム」メニューアイテムをマウスのカーソルでポイントし、左マウスボタンをクリックし、プログラムメニューを表示させる。そして、ユーザは、プログラムメニュー上の所望のアプリケーションプログラムの表示をマウスのカーソルでポイントし、左マウスボタンをクリックする。アプリケーションプログラムグループであったときにはさらにポイントとクリックを行う。このような操作により、ユーザが所望するアプリケーションプログラムが、ＣＰＵにより起動される。
【０００９】
このようにユーザが所望するアプリケーションプログラムを起動させるためには、ユーザは、煩雑な操作を繰り返さなければならない課題があった。また、ユーザの片方の手が他の作業で塞がっているような状況下において、ユーザインターフェースとして使い難い課題があった。なお、スタートメニュープログラムから「ヘルプ」等のメニューアイテムをクリックし、所望の処理を行う場合にも同様の課題があった。
【００１０】
ところで、例えば、物品の識別番号などを示す英数文字をバーコード化して物品に貼付しておき、その添付されたバーコードをバーコードスキャナと呼ばれる光学的認識装置によって読み取って、物品の識別情報を取得するバーコードシステムが、多くの産業分野に普及している。このシステムは、主に、商品販売店舗に設置されているキャッシュレジスタ等において用いられ、例えば、商品に貼付されているバーコードからその商品の識別番号を取得し、予め記憶されている対応する商品の価格をデータベースから読み出し、表示部に表示するようになされている。
【００１１】
しかしながら、このバーコードシステムは、例えば、物品の識別番号をキー入力する際の操作者の手間を省く用途等で利用されており、汎用のパーソナルコンピュータのハードディスクドライブ（HDD）などに予め格納されているアプリケーションプログラムの中から所望のプログラムを指定して起動する際の、メニュー選択操作等の入力操作の手間を省くと言った目的では全く利用されていなかった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、メニュー選択やアプリケーションプログラムの起動等の各種入力操作を容易とし、例えば、ユーザが所定の２次元コードが印刷されたメニュー選択用カードを提示するだけで、その２次元コードの位置が捕捉され、その捕捉位置情報に基づいて、メニュー選択やアプリケーションプログラムの起動等のリモート操作を可能とした画像処理装置、画像処理方法、およびプログラム格納媒体を提供することを目的としている。
【課題を解決するための手段】
【００１３】
請求項１に記載の画像処理装置は、対象画像を取得する画像取得手段と、画像取得手段によって取得された対象画像を表示する表示手段と、画像取得手段によって取得された対象画像の中から、所定の画像パターンを認識する画像認識手段と、対象画像に対する、所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識手段と、画像認識手段により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、表示手段に表示されている対象画像の位置情報に応じた位置に重畳して表示手段に表示させ、さらに、画像認識手段により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、表示手段に表示されている対象画像の位置情報に応じた位置に重畳して表示手段に表示させる表示制御手段と、表示制御手段によって表示手段に表示されるメニュー画像とカーソルの位置に基づいて、メニュー画像に対応する処理を起動する起動手段とを備えることを特徴とする。
【００１４】
請求項８に記載の画像処理方法は、対象画像を取得する画像取得処理ステップと、画像取得処理ステップの処理によって取得された対象画像を表示させる対象画像表示制御処理ステップと、画像取得処理ステップの処理によって取得された対象画像の中から、所定の画像パターンを認識する画像認識処理ステップと、対象画像に対する、所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識処理ステップと、画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、対象画像の位置情報に応じた位置に重畳して表示させるメニュー画像表示制御処理ステップと、画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、対象画像の位置情報に応じた位置に重畳して表示させるカーソル表示制御処理ステップと、メニュー画像表示制御処理ステップの処理によって表示されるメニュー画像と、カーソル表示制御処理ステップの処理によって表示されるカーソルの位置に基づいて、メニュー画像に対応する処理を起動する起動処理ステップとを含むことを特徴とする。
【００１５】
請求項９に記載の画像処理プログラム格納媒体は、対象画像を取得する画像取得処理ステップと、画像取得処理ステップの処理によって取得された対象画像を表示させる対象画像表示制御処理ステップと、画像取得処理ステップの処理によって取得された対象画像の中から、所定の画像パターンを認識する画像認識処理ステップと、対象画像に対する、所定の画像パターンの相対的な位置情報を認識する捕捉位置情報認識処理ステップと、画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのメニュー画像を、対象画像の位置情報に応じた位置に重畳して表示させるメニュー画像表示制御処理ステップと、画像認識処理ステップの処理により認識された所定の画像パターンに応じた処理を選択するためのカーソルを、対象画像の位置情報に応じた位置に重畳して表示させるカーソル表示制御処理ステップと、メニュー画像表示制御処理ステップの処理によって表示されるメニュー画像と、カーソル表示制御処理ステップの処理によって表示されるカーソルの位置に基づいて、メニュー画像に対応する処理を起動する起動処理ステップとを含むことを特徴とする画像処理をコンピュータに実行させる画像処理プログラムが格納されている。
【００１６】
請求項１に記載の画像処理装置、請求項８に記載の画像処理方法、および請求項９に記載のプログラム格納媒体においては、対象画像の中から、所定の画像パターンが認識され、対象画像に対する、所定の画像パターンの相対的な位置情報が認識され、所定の画像パターンに応じた処理を選択するためのメニュー画像が、対象画像の位置情報に応じた位置に重畳して表示され、所定の画像パターンに応じた処理を選択するためのカーソルが、対象画像の位置情報に応じた位置に重畳して表示され、表示されるメニュー画像と、表示されるカーソルの位置に基づいて、メニュー画像に対応する処理が起動される。
【発明の効果】
【００１７】
請求項１に記載の画像処理装置、請求項８に記載の画像処理方法、および請求項９に記載のプログラム格納媒体においては、例えば、ユーザが所定の２次元コードが印刷されたメニュー選択用カードを提示するだけで、その２次元コードの位置が捕捉され、その捕捉位置情報に基づいて、メニュー選択やアプリケーションプログラムの起動等のリモート操作が可能となり、これにより各種入力操作を、従来の煩雑なマウス操作などを行うことなく、極めて容易に行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用したパーソナルコンピュータ１の使用例を表す図である。
【図２】２次元バーコードの仕様を説明する図である。
【図３】本発明を適用した携帯型パーソナルコンピュータの構成例の表示部を本体に対して開いた状態を示す外観斜視図である。
【図４】図３の平面図である。
【図５】図３の表示部を本体に対して閉塞した状態を示す左側側面図である。
【図６】図３の表示部を本体に対して１８０度開いた状態を示す右側側面図である。
【図７】図５の正面図である。
【図８】図６の底面図である。
【図９】図３のパーソナルコンピュータ１の内部構成を示す図である。
【図１０】図９のHDD５６の構成を示す図である。
【図１１】リモートポインティング処理を説明するフローチャートである。
【図１２】図３のLCD２１における表示例を示す図である。
【図１３】図３のLCD２１における他の表示例を示す図である。
【図１４】図３のLCD２１における他の表示例を示す図である。
【発明を実施するための形態】
【００１９】
以下に本発明の実施の形態を説明する。
【００２０】
図１は、本発明を適用したパーソナルコンピュータ１の使用例を表している。
ここで、例えば、メニュー選択カード１００には、所定パターンの２次元コード（以下、２Ｄコードと略称する）１０１が印刷され、もしくはこの２次元コード１０１が印刷されたラベルが貼付されることによって、この２次元コード１０１が設けられている。以下、この２次元コード１０１を、適宜２Dコードと略称する。
【００２１】
２次元コード１０１には、図２に示すように、１ブロックを１単位とし、縦方向が９．５ブロック分の長さで、横方向が７ブロック分の長さの長方形の範囲内に、黒色のセル部Ａとロゴ部Ｂが、１ブロック分離して配置されている。セル部Ａには、縦方向と横方向が共に、７ブロック分の長さの正方形の範囲内に、方形のセルが２次元的にパターン化され配置されている。ロゴ部Ｂには、縦方向が１．５ブロック分の長さで、横方向が７ブロック分の長さの大きな長方形のセルが配置され、そのロゴ部Ｂには、２次元コード１０１のコード体系に付された名称、例えば、ＣｙｂｅｒＣｏｄｅ（商標）などのロゴマークが白抜き文字で印刷されている。
【００２２】
ここで、例えば、本願出願時点において、本出願人が提供している下記のURLでアクセス可能なインターネット上のホームページには、以下のような説明文が掲載されている。http://www.sony.co.jp/sd/ProductsPark/Consumer/PCOM/PCG-C1CAT/cybercode.html「「サイバーコード」は、ソニー独自の2次元バーコードで、約1,677万通り(24ビット)のパターンが存在します。このうち約100万通り(20ビット)を、任意のプログラム起動用として自由に登録することが可能。残りのコード分は、将来のサービス拡張用として予約されています。「サイバーコード」は、それが貼られたものから、対応するコンピューター上の情報を引き出すためのインデックスの役割をし、CyberCode Finderのファインダーを通して、プログラムが起動されることにより、あたかも「サイバーコード」が貼られたものから、対応する情報がコンピューター上に飛び出してくるという新しいインターフェースを提供します。」  パーソナルコンピュータ１は、ノート型コンピュータで、ＣＣＤビデオカメラ２３が表示部３に設けられている。パーソナルコンピュータ１は、例えば、ＣＣＤビデオカメラ２３により撮像され、その結果得られたオブジェクト１００と２次元コード１０１の画像データから、２次元コード１０１のパターンを認識し、そのパターンに対応した所定の処理を実行するようになされている。
【００２３】
図３乃至図８は、本発明を適用した携帯型パーソナルコンピュータの構成例を表している。このパーソナルコンピュータ１は、ミニノート型のパーソナルコンピュータとされ、基本的に、本体２と、本体２に対して開閉自在とされている表示部３により構成されている。図３は、表示部３を本体２に対して開いた状態を示す外観斜視図、図４は、図３の平面図、図５は、表示部３を本体２に対して閉塞した状態を示す左側側面図、図６は、表示部３を本体２に対して１８０度開いた状態を示す右側側面図、図７は、図５の正面図、図８は、図６の底面図である。
【００２４】
本体２には、各種の文字や記号などを入力するとき操作されるキーボード４、マウスカーソルを移動させるときなどに操作されるスティック式ポインティングデバイス５が、その上面に設けられている。また、本体２の上面には、音を出力するスピーカ８と、表示部３に設けられているCCDビデオカメラ２３で撮像するとき操作されるシャッタボタン１０がさらに設けられている。
【００２５】
表示部３の上端部には、ツメ１３が設けられており、図５に示すように、表示部３を本体２に対して閉塞した状態において、ツメ１３に対向する位置における本体２には、ツメ１３が嵌合する孔部６が設けられている。本体２の前面には、スライドレバー７が前面に平行に移動可能に設けられており、スライドレバー７は孔部６に嵌合したツメ１３と係合してロックし、またロック解除することができるようになっている。ロックを解除することにより、表示部３を本体２に対して回動することができる。ツメ１３の隣りには、マイクロホン２４が取り付けられている。このマイクロホン２４は、図８にも示すように、背面からの音も収音できるようになされている。
【００２６】
本体２の正面にはまた、プログラマブルパワーキー（PPK）９が設けられている。本体２の右側面には、図６に示すように、排気孔１１が設けられており、本体２の前面下部には、図７に示すように、吸気孔１４が設けられている。さらに、排気孔１１の右側には、PCMCIA（Personal Computer Memory Card International Association）カード（ＰＣカード）を挿入するためのスロット１２が設けられている。
【００２７】
表示部３の正面には、画像を表示するLCD（Liquid Crystal Display）２１が設けられており、その上端部には、撮像部２２が、表示部３に対して回動自在に設けられている。すなわち、この撮像部２２は、LCD２１と同一の方向と、その逆の方向（背面の方向）との間の１８０度の範囲の任意の位置に回動することができるようになされている。撮像部２２には、CCDビデオカメラ２３が取り付けられている。
【００２８】
表示部３の下側の本体側には、電源ランプPL、電池ランプBL、メッセージランプML、その他のLEDよりなるランプが設けられている。なお、図５に示す符号４０は、本体２の左側面に設けられた電源スイッチであり、図７に示す符号２５は、CCDビデオカメラ２３のフォーカスを調整する調整リングである。さらに、図８に示す符号２６は、本体２内に増設メモリを取り付けるための開口部を被覆する蓋であり、符号４１は、蓋２６のロックツメを外すためのピンを挿入する小孔である。
【００２９】
図９は、パーソナルコンピュータ１の内部の構成例を表している。内部バス５１には、CPU（Central Processing Unit）５２、必要に応じて挿入されるPCカード５３、RAM（Random Access Memory）５４、およびグラフィックチップ８１が接続されている。この内部バス５１は、外部バス５５に接続されており、外部バス５５には、ハードディスクドライブ（HDD）５６、I/O（入出力）コントローラ５７、キーボードコントローラ５８、スティック式ポインティングデバイスコントローラ５９、サウンドチップ６０、LCDコントローラ８３、モデム５０等が接続されている。
【００３０】
CPU５２は、各機能を統括するコントローラであり、PCカード５３は、オプションの機能を付加するとき適宜装着される。
【００３１】
グラフィックチップ８１には、CCDビデオカメラ２３で取り込んだ画像データが、処理部８２で処理された後、入力されるようになされている。グラフィックチップ８１は、処理部８２を介してCCDビデオカメラ２３より入力されたビデオデータを、内蔵するVRAM８１Ａに記憶し、適宜、これを読み出して、LCDコントローラ８３に出力する。LCDコントローラ８３は、グラフィックチップ８１より供給された画像データをLCD２１に出力し、表示させる。バックライト８４は、LCD２１を後方から照明するようになされている。
【００３２】
RAM５４の中には、起動が完了した時点において、電子メールプログラム（アプリケーションプログラム）５４Ａ、オートパイロットプログラム（アプリケーションプログラム）５４Ｂ、そしてOS（基本プログラム）５４ＣがHDD５６から転送され、記憶される。
【００３３】
電子メールプログラム５４Ａは、電話回線のような通信回線等からネットワーク経由で通信文を授受するプログラムである。電子メールプログラム５４Ａは、特定機能としての着信メール取得機能を有している。この着信メール取得機能は、メールサーバ９３に対してそのメールボックス９３Ａ内に自分（利用者）宛のメールが着信しているかどうかを確認して、自分宛のメールがあれば取得する処理を実行する。
【００３４】
オートパイロットプログラム５４Ｂは、予め設定された複数の処理（またはプログラム）等を、予め設定された順序で順次起動して、処理するプログラムである。
【００３５】
OS（基本プログラムソフトウェア）５４Ｃは、Windows95やWindouws98（商標）に代表される、コンピュータの基本的な動作を制御するものである。
【００３６】
一方、外部バス５５側のハードディスクドライブ（HDD）５６には、図１０に示すように、電子メールプログラム５６Ａ、オートパイロットプログラム５６Ｂ、OS（基本プログラムソフトウェア）５６Ｃ、２次元コードデータベース（以下、２Ｄコードデータベースと略称する）５６Ｄ、ファインダアプリケーションプログラム（以下、ＦＡプログラムと略称する）５６Ｅ、Ｎ個の２次元コードアソシエートアプリケーションプログラム（以下、２Ｄコードプログラムと略称する）５６Ｆ−１乃至５６Ｆ−Ｎ（以下、個々に区別する必要がない場合、単に２Ｄコードプログラム５６Ｆと記述する）、および２Ｄコードプログラムメニュー情報データベース（以下、メニュー情報データベースと略称する）５６Gが記憶されている。
【００３７】
２Ｄコードデータベース５６Ｄには、予め登録されたメニュー選択カードに貼付されている２次元バーコードの識別番号（以下、２ＤコードIDと称する）、例えば、２Ｄコード１０１の２ＤコードIDが記憶されている。
【００３８】
ＦＡプログラム５６Ｅは、例えば、グラフィックチップ８１のVRAM８１Ａに記憶されている画像データから２次元バーコードを抽出し、その２ＤコードIDを取得する処理を実行したり、また、リモートポインティング処理（後述）を実行し、その処理に対応して、２Ｄコードプログラム５６Ｆを起動する。このＦＡプログラム５６Ｅは、２Ｄコードプログラム５６Ｆを呼び出したり、各種メッセージを授受するためのAPI(Application Programming Interface)を有している。    ２Ｄコードプログラム５６Ｆ−１乃至５６Ｆ−Ｎは、ＦＡプログラム５６Ｅにより起動されるアプリケーションプログラムである。これら２Ｄコードプログラム５６Ｆは、ＦＡプログラム５６ＥのAPIを介して、ＦＡプログラム５６Ｅとデータの授受を行うことができる。これら２Ｄコードプログラム５６Ｆの内、特に、２Dコードプログラム５６F−１としては、後述するメニュー選択ボタンやポインティングカーソルを表示するためのメニュー選択プログラムが記憶されている。
【００３９】
メニュー情報データベース５６Ｇには、メニュー選択ボタンの表示上の位置（領域）情報が記憶されているとともに、それに対応して起動される２Ｄコードプログラム５６ＦのプログラムIDや、その他、ワードプロセッサ等の一般的なアプリケーションプログラムを特定するためのプログラムIDが記憶されている。
【００４０】
ハードディスクドライブ５６内のOS５６Ｃ、オートパイロットプログラム５６Ｂおよび電子メールプログラム５６Ａは、起動（ブートアップ）処理の過程で、RAM５４内に順次転送され、格納される。
【００４１】
図９に戻り、I/Oコントローラ５７は、マイクロコントローラ６１を有し、このマイクロコントローラ６１にはI/Oインタフェース６２が設けられている。このマイクロコントローラ６１はI/Oインタフェース６２、CPU６３、RAM６４、ROM６９が相互に接続されて構成されている。このRAM６４は、キー入力ステイタスレジスタ６５、LED（発光ダイオード）制御レジスタ６６、設定時刻レジスタ６７、レジスタ６８を有している。設定時刻レジスタ６７は、ユーザが予め設定した時刻（起動条件）になると起動シーケンス制御部７６の動作を開始させる際に利用される。レジスタ６８は、予め設定された操作キーの組み合わせ（起動条件）と、起動すべきアプリケーションプログラムの対応を記憶するもので、その記憶された操作キーの組み合わせがユーザにより入力されると、その記憶されたアプリケーションプログラム（例えば電子メール）が起動されることになる。
【００４２】
キー入力ステイタスレジスタ６５は、ワンタッチ操作用のプログラマブルパワーキー（PPK）９が押されると、操作キーフラグが格納されるようになっている。LED制御レジスタ６６は、レジスタ６８に記憶されたアプリケーションプログラム（電子メール）の立上げ状態を表示するメッセージランプMLの点灯を制御するものである。設定時刻レジスタ６７は、所定の時刻を任意に設定することができるものである。
【００４３】
なお、このマイクロコントローラ６１にはバックアップ用のバッテリ７４が接続されており、各レジスタ６５，６６，６７の値は、本体２の電源がオフとされている状態においても保持されるようになっている。
【００４４】
マイクロコントローラ６１内のROM６９の中には、ウェイクアッププログラム７０、キー入力監視プログラム７１、LED制御プログラム７２が予め格納されている。このROM６９は、例えばEEPROM（electrically erasable and programmable read only memory）で構成されている。このEEPROMはフラッシュメモリとも呼ばれている。さらにマイクロコントローラ６１には、常時現在時刻をカウントするRTC（Real-Time Clock）７５が接続されている。
【００４５】
ROM６９の中のウェイクアッププログラム７０は、RTC７５から供給される現在時刻データに基づいて、設定時刻レジスタ６７に予め設定された時刻になったかどうかをチェックして、設定された時刻になると、所定の処理（またはプログラム）等の起動をするプログラムである。キー入力監視プログラム７１は、PPK９が利用者により押されたかどうかを常時監視するプログラムである。LED制御プログラム７２は、メッセージランプMLの点灯を制御するプログラムである。
【００４６】
ROM６９には、さらにBIOS（Basic Input/Output System）７３が書き込まれている。このBIOSとは、基本入出力システムのことをいい、OSやアプリケーションソフトウェアと周辺機器（ディスプレイ、キーボード、ハードディスクドライブ等）の間でのデータの受け渡し（入出力）を制御するソフトウェアプログラムである。
【００４７】
外部バス５５に接続されているキーボードコントローラ５８は、キーボード４からの入力をコントロールする。スティック式ポインティングデバイスコントローラ５９はトラックポイント５の入力を制御する。
【００４８】
サウンドチップ６０は、マイクロホン２４からの入力を取り込み、あるいは内蔵スピーカ８に対して音声信号を供給する。
【００４９】
モデム５０は、公衆電話回線９０、インターネットサービスプロバイダ９１を介して、インターネット等の通信ネットワーク９２やメールサーバ９３等に接続することができる。
【００５０】
電源スイッチ４０は、電源をオンまたはオフするとき操作される。半押しスイッチ８５は、シャッタボタン１０が半押し状態にされたときオンされ、全押しスイッチ８６は、シャッタボタン１０が全押し状態にされたときオンされる。反転スイッチ８７は、撮像部２２が１８０度回転されたとき（CCDビデオカメラ２３がLCD２１の反対側を撮像する方向に回転されたとき）、オンされるようになされている。
【００５１】
次に、リモートポインティング処理を実行する場合のＦＡプログラム５６Ｅと、２Dコードプログラム５６F−１（メニュー選択プログラム）の連携処理手順を、図１１のフローチャートを参照して説明する。
【００５２】
HDD５６に記憶されているＦＡプログラム５６Ｅが起動されると、ステップＳ１において、ＣＰＵ５２によって実行されるＦＡプログラム５６Ｅは、ＣＣＤビデオカメラ２３によって撮像された画像を取得（キャプチャ）し、次のステップＳ２において、この取得された画像データを、処理部８２で処理させ、グラフィックチップ８１のVRAM８１Ａに描画させるとともに、LCDコントローラ８３を制御し、図１２に示すように、LCD２１のファインダ画面２０１に、そのキャプチャ画像を表示させる。なお、以下において、ＦＡプログラム５６Ｅが、LCDコントローラ８３を制御し、LCD２１のファインダ画面２０１に画像を表示させることを、単に、ＦＡプログラム５６Ｅがファインダ画面２０１に画像を表示させると記述する。
【００５３】
ステップＳ３において、ＦＡプログラム５６Ｅは、ステップＳ１においてＣＣＤビデオカメラ２３で撮像されて取得された対象画像の画像データから、２Ｄコード１０１を抽出し、その２ＤコードIDを認識する処理を実行すると共に、ファインダ画面２０１に表示されている対象画像に対する２Ｄコード１０１の相対的な位置情報（例えば、２Ｄコード１０１の中心点など）を認識する処理を実行する。図１２の例の場合、ＣＣＤビデオカメラ２３によりメニュー選択カード１００の画像が取り込まれ、その２Ｄコード１０１が抽出されると共に、その２ＤコードIDと位置が捕捉され、その捕捉位置情報が取得される。そして、ステップS３において、ＦＡプログラム５６Ｅが２Ｄコード１０１のIDとその捕捉位置情報を認識した後、次のステップＳ４に進む。
【００５４】
ステップS４においては、２Ｄコードデータベース５６Ｄを検索し、ステップS３において認識した２ＤコードＩＤが、予めメニュー選択プログラム（２Dコードプログラム５６F−１）に対応して設定された所定の２Ｄコードに相当する２ＤコードＩＤであるか否かを判定する。そして、このステップＳ４において、予め設定された所定の２Ｄコードに相当する２ＤコードＩＤであると判定された場合、次のステップＳ５に進む。
【００５５】
ステップS５においては、メニュー選択プログラム（２Dコードプログラム５６F−１）が起動中であるか否かを判定し、未だ起動していないと判定された場合は、ステップＳ６へ進む。
【００５６】
ステップＳ６において、メニュー選択プログラム（２Dコードプログラム５６F−１）が起動され、その後CPU５２によって実行されるメニュー選択プログラムは、メニュー情報データベース５６Ｇを検索し、検索された所定の選択ボタンを含むメニュー画像を、ステップＳ２で表示されたキャプチャ画像にオーバーレイ（重畳）させて表示させる。例えば、図１３に示すように、ファインダ画面２０１上に表示される、４個のメニュー選択ボタン３００−１乃至３００−４のそれぞれの領域情報が、メニュー情報データベース５６Ｇから読み出され、その読み出された領域情報に基づいて表示が行われる。
【００５７】
このステップＳ６における処理の後、ステップＳ７に進み、ＦＡプログラム５６Ｅは、起動されたメニュー選択プログラムから、対応する２ＤコードＩＤの通知を受け取り、その後、上述したステップＳ3に戻る。
【００５８】
一方、ステップS５において、メニュー選択プログラムが起動中であると判定された場合は、ステップＳ８に進む。
【００５９】
ステップＳ８において、メニュー選択プログラム（２Dコードプログラム５６F−１）は、ステップＳ３で認識した２Ｄコード１０１の捕捉位置情報に対応して、図１３に示すような、ポインティングカーソル（以下、カーソルと略称する）３０１を表示させる。カーソル３０１は、この例の場合、２Ｄコード１０１の中心に点Ａが位置し、それを中心に２つの円が描かれている。また、点Ａを通るように、ファインダ画面２０１のＸ軸に平行な線とＹ軸に平行な線が描かれている。
【００６０】
次に、ステップＳ９において、メニュー選択プログラム（２Dコードプログラム５６F−１）は、ステップＳ８で表示させたカーソル３０１が指し示す位置、例えば、カーソル３０１の点Ａが、メニュー選択ボタン３００−１乃至３００−４のいずれかの領域内に位置するか否かを判定する。ここで、例えば、図１３に示すように、カーソル３０１の点Ａが、メニュー選択ボタン３００−ｉ（図１３の例では、ｉ＝１）の領域に位置していると判定した場合、ステップＳ１０に進む。なお、以下において、図１３に示したように、カーソル３０１の点Ａが、メニュー選択ボタン３００−ｉの領域に位置する状態を、カーソル３０１でメニュー選択ボタン３００−ｉがポインティングされている記述する。
【００６１】
次に、ステップＳ１０において、メニュー選択プログラム（２Dコードプログラム５６F−１）は、カーソル３０１でポインティングされているメニュー選択ボタン３００−ｉの表示を、例えば、図１４に示すように、ポインティングされているメニュー選択ボタン３００−１のみをハイライト表示（強調表示）し、メニュー選択ボタン３００−１が選択されたことを利用者に通知させる。
【００６２】
次に、ステップＳ１１において、メニュー選択プログラム（２Dコードプログラム５６F−１）は、カーソル３０１でメニュー選択ボタン３００−ｉがポインティングされている時間をカウントし、所定時間以上、ポインティングされていると判定した場合、ステップＳ１２に進む。
【００６３】
このように、カーソル３０１でポインティングされている状態が、所定時間以上経過したか否かが判定されることによって、メニュー選択カード１００の提示位置が一定位置で定まらずに変化している過程で、誤って別のメニュー選択ボタン３００−ｉがポインティングされたものと誤認識してしまい、以降の処理が誤って実行されてしまうという事態を未然に回避することができる。
【００６４】
ステップＳ１１で、所定の時間以上、カーソル３０１でポインティングされていると判定された場合、メニュー選択プログラム（２Dコードプログラム５６F−１）は、ステップＳ１２においてメニュー情報データベース５６Ｇを検索し、カーソル３０１でポインティングされているメニュー選択ボタン３００−ｉの領域情報に対応して記憶されているプログラムIDを読み出し、そのプログラムIDを有する２Ｄコードプログラム５６Ｆや、その他、ワードプロセッサ等の一般的なアプリケーションプログラムを起動させる。その後、処理は終了される。
【００６５】
ところで、前述したステップＳ４において、ＦＡプログラム５６Ｅは、２Ｄコードデータベース５６Ｄを検索し、ステップS３において認識した２ＤコードＩＤが、予め設定された所定の２Ｄコードに相当する２ＤコードＩＤではないものと判定した場合、ステップＳ１３に進み、そのプログラムIDを有するメニュー選択プログラム以外の２Ｄコードプログラム５６Ｆや、その他、ワードプロセッサ等の一般的なアプリケーションプログラムを起動させ、その後、処理を終了させる。
【００６６】
ステップＳ９において、カーソル３０１でメニュー選択ボタン３００−ｉがポインティングされていないと判定した場合、または、ステップＳ１１において、所定時間以上、カーソル３０１でメニュー選択ボタン３００−ｉがポインティングされていないと判定した場合、ステップＳ３に戻り、それ以降の処理が、繰り返し実行される。
【００６７】
以上のようにして、２Ｄコード１０１の表示上に位置に対応して表示されるカーソル３０１により、メニュー選択ボタン３００をポインティングすることができ、キーボードやマウスなどを一切操作せずに、メニュー選択ボタン３００に対応した処理を実行させることができる。
【００６８】
なお、上述した一連の処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられるプログラム格納媒体としては、例えば、フロッピーディスク、CD-ROM、DVDなどのパッケージメディアのみならず、プログラムが一時的もしくは永続的に格納される半導体メモリや磁気ディスクなどで実現してもよい。さらには、上述したプログラムをインストールする手段としては、ローカルエリアネットワークやインターネット、デジタル衛星放送などの有線および無線通信媒体、およびこれらの通信媒体を介して提供されるプログラムを転送もしくは受信するルーターやモデム等の各種通信インターフェイス等を利用することができる。
【符号の説明】
【００６９】
１  パーソナルコンピュータ，  ３  表示部，  ２１    LCD，  ２３  CCDビデオカメラ，  ５２  CPU，  ５６  HDD， ５６Ｅ  ＦＡ（ファインダアプリケーション）プログラム， ５６Ｆ−１  2次元コードアソシエートアプリケーションプログラム（メニュー選択プログラム），  ８１  グラフィックチップ，  ８３  LCDコントローラ，  １００  メニュー選択カード，  １０１  ２次元コード， ２０１ ファインダ画面， ３００−１〜３００−４ メニュー選択ボタン， ３０１ポインティングカーソル
【図１】
0004674644.tif 000002
【図２】
0004674644.tif 000003
【図３】
0004674644.tif 000004
【図４】
0004674644.tif 000005
【図５】
0004674644.tif 000006
【図６】
0004674644.tif 000007
【図７】
0004674644.tif 000008
【図８】
0004674644.tif 000009
【図９】
0004674644.tif 000010
【図１０】
0004674644.tif 000011
【図１１】
0004674644.tif 000012
【図１２】
0004674644.tif 000013
【図１３】
0004674644.tif 000014
【図１４】
0004674644.tif 000015