(57)【要約】【課題】ユーザの操作性が低下することを防止した電子機器、電子機器の制御方法及びコンピュータプログラムを提供する。【解決手段】端末ケース３内に通信端末１が配置された状態で、ディスプレイ４の前方空間でのユーザの挙動として、操作板６へのユーザのタッチ操作の操作態様を、通信端末１に内蔵されたカメラ５によって撮像し、撮像された撮像画像に基づいて、操作板６に対するユーザのタッチ操作を検出し、検出された操作板６に対するユーザのタッチ操作に基づいて通信端末１の操作を行うように構成する。【選択図】図１
2014071822.tif 000002
【特許請求の範囲】
【請求項１】
表示画面と撮像装置とを備えた電子機器の前記表示画面の前方空間でのユーザの挙動に基づいて前記電子機器を操作するコンピュータプログラムにおいて、
前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出機能と、
前記ユーザ挙動検出機能によって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作機能と、
を前記電子機器に実行させることを特徴とするコンピュータプログラム。
【請求項２】
前記ユーザ挙動検出機能は、前記表示画面から前記所定の距離前方にある平面に対して前記ユーザの一部が位置する操作地点を前記平面上の座標系で特定し、
前記操作機能は、前記平面上の座標系で特定された前記操作地点に基づいて、前記電子機器へのユーザ操作を行うことを特徴とする請求項１に記載のコンピュータプログラム。
【請求項３】
前記ユーザ挙動検出機能は、
前記撮像装置により撮像した前記表示画面前方の撮像画像に基づいて、前記平面に位置する前記ユーザの手の指先部分の色を検出し、
検出された前記ユーザの手の指先部分の色に基づいて、前記操作地点を特定することを特徴とする請求項２に記載のコンピュータプログラム。
【請求項４】
前記ユーザ挙動検出機能は、
前記撮像装置により撮像した前記表示画面前方の撮像画像中において、前記平面に位置する前記ユーザの手の指先部分の輪郭の幅を検出し、
検出された前記ユーザの手の指先部分の輪郭の幅に基づいて、前記操作地点を特定することを特徴とする請求項２に記載のコンピュータプログラム。
【請求項５】
前記電子機器は前記表示画面の前面にタッチパネルが配置され、
前記操作機能は、前記前方空間でのユーザの挙動を、前記タッチパネルに対する操作に置き換えて、該置き換えた操作による前記電子機器へのユーザ操作を行うことを特徴とする請求項１乃至請求項４のいずれかに記載のコンピュータプログラム。
【請求項６】
前記電子機器の筐体表面にはハードウェアの操作部を備え、
前記操作機能は、前記前方空間でのユーザの挙動を、前記操作部に対するハードウェア上の操作に置き換えて、該置き換えた前記操作部の操作による前記電子機器へのユーザ操作を行うことを特徴とする請求項１乃至請求項４のいずれかに記載のコンピュータプログラム。
【請求項７】
表示画面と撮像装置とを備えた電子機器の前記表示画面の前方空間でのユーザの挙動に基づいて前記電子機器を操作する電子機器の制御方法であって、
前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出ステップと、
前記ユーザ挙動検出ステップによって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作ステップと、を有することを特徴とする電子機器の制御方法。
【請求項８】
表示画面と撮像装置とを備え、前記表示画面の前方空間でのユーザの挙動に基づいて操作される電子機器であって、
前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出手段と、
前記ユーザ挙動検出手段によって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作手段と、を有することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種画像を表示する為の表示画面を備えた電子機器、電子機器の制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、スマートフォンや携帯電話機やタブレット型端末等の表示画面を備えた携帯型の電子機器では、各種のアプリケーションプログラムをインストールし、インストールされたアプリケーションプログラムを起動させることによって、表示画面を用いた様々な機能を実行することが可能である。このようなアプリケーションプログラムとしては、例えば、ウェブブラウザやメールソフト以外に、ナビゲーションアプリ等も存在する。ここで、ナビゲーションアプリを起動させることとすれば、電子機器において様々なナビゲーション機能を実行することが可能である。実行されるナビゲーション機能としては、例えば、表示画面に対して現在位置周辺の地図画像を表示したり、任意に設定した出発地から目的地までの案内経路を表示したり、案内経路に沿った目的地までの移動案内を行うこと等が可能となっている。
【０００３】
しかしながら、上記携帯型の電子機器は、ユーザに携帯されることを前提としているので、筐体サイズを大きくすることができず、画像を表示する為の表示画面についてもサイズに上限が生じていた。その結果、例えば表示画面からユーザが離れた状態で表示画面を視認する必要がある状況では、表示画面に表示された表示内容が、ユーザにとって見辛くなる問題があった。そこで、例えば特開２００３−１４３２８２号公報には、携帯電話機に装着することによって、携帯電話機の表示画面を拡大して表示することが可能な表示拡大装置について提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４３２８２号公報（第３−４頁、図１、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上記電子機器において上記アプリケーションプログラムの起動や起動されたアプリケーションプログラム中の操作を行う際には、ユーザはタッチパネルやボタン等の電子機器に設けられた操作手段を操作し、文字や数値を入力したり、選択を行うように構成されている。しかしながら、特許文献１に記載の技術のように、電子機器に対して表示画面を拡大する為の機器を装着することとすると、これらの操作手段の操作が装着された機器によって阻害されてしまう問題が有った。
【０００６】
本発明は前記従来における問題点を解消するためになされたものであり、電子機器の周囲に電子機器に対するユーザの操作を阻害する障害物が置かれた場合であっても、ユーザの操作性が低下することを防止した電子機器、電子機器の制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため本願の請求項１に係るコンピュータプログラムは、表示画面（４）と撮像装置（５）とを備えた電子機器（１）の前記表示画面の前方空間でのユーザの挙動に基づいて前記電子機器を操作するコンピュータプログラムにおいて、前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出機能と、前記ユーザ挙動検出機能によって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作機能と、を前記電子機器に実行させることを特徴とする。
尚、「ユーザの一部の形状」は、ユーザの一部の形状そのものに加えて、該形状を構成する輪郭の形状についても含む。
また、「電子機器へのユーザ操作」は、電子機器にユーザが直接的に接触せずに、前方空間での上記ユーザの挙動に基づいて行われる電子機器の操作（例えば、表示画面に表示されたアイコンの選択操作、電源のオン、オフの切り換え操作、ホーム画面への移行操作等）をいう。
【０００８】
また、請求項２に係るコンピュータプログラムは、請求項１に記載のコンピュータプログラムであって、前記ユーザ挙動検出機能は、前記表示画面（４）から所定の距離前方にある平面に対して前記ユーザの一部が位置する操作地点を前記平面上の座標系で特定し、前記操作機能は、前記平面上の座標系で特定された前記操作地点に基づいて、前記電子機器（１）へのユーザ操作を行うことを特徴とする。
尚、「平面」とは、物体でない仮想的に設定した平面も含む。
【０００９】
また、請求項３に係るコンピュータプログラムは、請求項２に記載のコンピュータプログラムであって、前記ユーザ挙動検出機能は、前記撮像装置（５）により撮像した前記表示画面（４）前方の撮像画像に基づいて、前記平面に位置する前記ユーザの手の指先部分の色を検出し、検出された前記ユーザの手の指先部分の色に基づいて、前記操作地点を特定することを特徴とする。
【００１０】
また、請求項４に係るコンピュータプログラムは、請求項２に記載のコンピュータプログラムであって、前記ユーザ挙動検出機能は、前記撮像装置（５）により撮像した前記表示画面（４）前方の撮像画像中において、前記平面に位置する前記ユーザの手の指先部分の輪郭の幅を検出し、検出された前記ユーザの手の指先部分の輪郭の幅に基づいて、前記操作地点を特定することを特徴とする。
【００１１】
また、請求項５に係るコンピュータプログラムは、請求項１乃至請求項４のいずれかに記載のコンピュータプログラムであって、前記電子機器（１）は前記表示画面（４）の前面にタッチパネル（１８）が配置され、前記操作機能は、前記前方空間でのユーザの挙動を、前記タッチパネルに対する操作に置き換えて、該置き換えた操作による前記電子機器へのユーザ操作を行うことを特徴とする。
【００１２】
また、請求項６に係るコンピュータプログラムは、請求項１乃至請求項４のいずれかに記載のコンピュータプログラムであって、前記電子機器（１）の筐体表面にはハードウェアの操作部（１９）を備え、前記操作機能は、前記前方空間でのユーザの挙動を、前記操作部に対するハードウェア上の操作に置き換えて、該置き換えた前記操作部の操作による前記電子機器へのユーザ操作を行うことを特徴とする。
【００１３】
また、請求項７に係る電子機器の制御方法は、表示画面（４）と撮像装置（５）とを備えた電子機器（１）の前記表示画面の前方空間でのユーザの挙動に基づいて前記電子機器を操作する電子機器の制御方法であって、前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出ステップと、前記ユーザ挙動検出ステップによって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作ステップと、を有することを特徴とする。
【００１４】
更に、請求項８に係る電子機器は、表示画面（４）と撮像装置（５）とを備え、前記表示画面の前方空間でのユーザの挙動に基づいて操作される電子機器（１）であって、前記電子機器の撮像装置によって撮像された前記表示画面前方の撮像画像に基づいて、前記前方空間の前記表示画面から所定の距離における前記ユーザの一部の色又は形状からユーザの挙動を検出するユーザ挙動検出手段と、前記ユーザ挙動検出手段によって検出された前記前方空間でのユーザの挙動に基づいて、前記電子機器へのユーザ操作を行う操作手段と、を有することを特徴とする。
【発明の効果】
【００１５】
前記構成を有する請求項１に記載のコンピュータプログラムによれば、電子機器の周囲に電子機器に対するユーザの操作を阻害する障害物が置かれた場合であっても、表示画面の前方空間でのユーザの挙動に基づいて電子機器へのユーザ操作を行わせるので、表示画面への視認性を確保しつつ、ユーザの操作性が低下することについても防止することが可能となる。
【００１６】
また、請求項２に記載のコンピュータプログラムによれば、表示画面から所定の距離前方にある平面でのユーザの挙動に基づいて電子機器へのユーザ操作を行わせるので、タッチパネルやハードキー等にユーザが直接タッチしなくとも、ユーザの意図に沿った容易な操作が実現可能となる。
【００１７】
また、請求項３に記載のコンピュータプログラムによれば、ユーザの手の指先部分の色に基づいて操作地点を検出させるので、タッチパネルを用いなくとも撮像装置を用いて正確なユーザの操作内容の検出が可能となる。
【００１８】
また、請求項４に記載のコンピュータプログラムによれば、ユーザの手の指先部分の輪郭の幅に基づいて操作地点を検出させるので、タッチパネルを用いなくとも撮像装置を用いて正確なユーザの操作内容の検出が可能となる。また、ユーザの肌の色などの個人差や周囲の明るさ等の外部環境の影響に左右されず、安定して操作地点を検出することが可能となる。
【００１９】
また、請求項５に記載のコンピュータプログラムによれば、表示画面の前方空間でのユーザの挙動を、タッチパネルに対する操作に置き換えて、電子機器へのユーザ操作を行うので、タッチパネルにユーザが直接タッチしなくとも、表示画面の前方空間でのユーザの挙動によってタッチパネルの操作を実現することが可能となる。従って、タッチパネルに直接操作を行う場合と比較しても操作性が低下することが無い。
【００２０】
また、請求項６に記載のコンピュータプログラムによれば、表示画面の前方空間でのユーザの挙動を、ハードウェアの操作部に対する操作に置き換えて、電子機器へのユーザ操作を行うので、ハードウェアの操作部にユーザが直接触れなくとも、表示画面の前方空間でのユーザの挙動によってハードウェアの操作部の操作を実現することが可能となる。
【００２１】
また、請求項７に記載の電子機器の制御方法によれば、電子機器の周囲に電子機器に対するユーザの操作を阻害する障害物が置かれた場合であっても、表示画面の前方空間でのユーザの挙動に基づいて電子機器へのユーザ操作を行うので、表示画面への視認性を確保しつつ、ユーザの操作性が低下することについても防止することが可能となる。
【００２２】
更に、請求項８に記載の電子機器によれば、電子機器の周囲に電子機器に対するユーザの操作を阻害する障害物が置かれた場合であっても、表示画面の前方空間でのユーザの挙動に基づいて電子機器へのユーザ操作を行うので、表示画面への視認性を確保しつつ、ユーザの操作性が低下することについても防止することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態に係る端末操作システムを示した概略構成図である。
【図２】端末ケースを開放した状態を示した図である。
【図３】フレネルレンズによって拡大される通信端末のディスプレイの表示内容を示した図である。
【図４】第１実施形態に係る通信端末の制御系を模式的に示すブロック図である。
【図５】通信端末のディスプレイに表示されるトップ画面を示した図である。
【図６】通信端末のディスプレイに表示されるナビゲーション画面を示した図である。
【図７】第１実施形態に係る端末操作処理プログラムのフローチャートである。
【図８】通信端末に内蔵されたカメラによる周辺の撮像態様を示した図である。
【図９】第１実施形態に係る初期設定処理のサブ処理プログラムのフローチャートである。
【図１０】第１実施形態に係る画像補正処理のサブ処理プログラムのフローチャートである。
【図１１】第１実施形態に係る画像補正処理のサブ処理プログラムのフローチャートである。
【図１２】第１実施形態に係る操作板を示した上面図である。
【図１３】通信端末の設置位置と撮像される撮像画像の関係を示した図である。
【図１４】通信端末の設置位置と撮像される撮像画像の関係を示した図である。
【図１５】通信端末の設置位置と撮像される撮像画像の関係を示した図である。
【図１６】ステップ５２の画像出力の補正処理を行う前と行った後のディスプレイの表示内容を示した図である。
【図１７】ステップ５２の画像出力の補正処理を行う前と行った後の操作板を介してユーザが視認できるディスプレイの表示内容を示した図である。
【図１８】第１実施形態に係る補正値計算処理のサブ処理プログラムのフローチャートである。
【図１９】第１実施形態に係る補正値計算処理のサブ処理プログラムのフローチャートである。
【図２０】補正値計算処理における補正値算出の手順について説明した図である。
【図２１】補正値計算処理における補正値算出の手順について説明した図である。
【図２２】補正値計算処理における補正値算出の手順について説明した図である。
【図２３】補正値計算処理における補正値算出の手順について説明した図である。
【図２４】補正値計算処理における補正値算出の手順について説明した図である。
【図２５】補正値計算処理における補正値算出の手順について説明した図である。
【図２６】第１実施形態に係るタッチ検出処理のサブ処理プログラムのフローチャートである。
【図２７】第１実施形態に係るタッチ検出処理のサブ処理プログラムのフローチャートである。
【図２８】指先端部の色に基づくタッチ座標の検出方法について説明した図である。
【図２９】タッチ座標の変換方法について説明した図である。
【図３０】ハードキーの仮想操作領域について説明した図である。
【図３１】ハードキーの仮想操作領域について説明した図である。
【図３２】第１実施形態に係るカメラ感度調整処理のサブ処理プログラムのフローチャートである。
【図３３】第１実施形態に係る画面輝度調整処理のサブ処理プログラムのフローチャートである。
【図３４】第２実施形態に係るタッチ検出処理のサブ処理プログラムのフローチャートである。
【図３５】第２実施形態に係るタッチ検出処理のサブ処理プログラムのフローチャートである。
【図３６】指先端部の輪郭の幅に基づくタッチ座標の検出方法について説明した図である。
【図３７】第３実施形態に係るハードキー操作処理プログラムのフローチャートである。
【図３８】振動パターンとハードキーの操作内容とを対応付けた対応情報の一例を示した図である。
【発明を実施するための形態】
【００２４】
以下、本発明に係る電子機器について携帯型の通信端末に具体化した第１実施形態乃至第３実施形態について、図面を参照しつつ詳細に説明する。
【００２５】
［第１実施形態］
先ず、第１実施形態に係る通信端末１を含む端末操作システム２の概略構成について図１を用いて説明する。図１は第１実施形態に係る端末操作システム２を示した概略構成図である。
【００２６】
図１に示すように、第１実施形態に係る端末操作システム２は、携帯型の通信端末１と通信端末１が内部に配置される端末ケース３から基本的に構成されている。尚、通信端末１としては例えばスマートフォン、携帯電話機、ＰＤＡ、タブレット型端末等があるが、以下に示す例ではスマートフォンを用いて説明することとする。
【００２７】
ここで、通信端末１は、各種画像を表示する為のディスプレイ４と、周囲を撮像する為のカメラ５が内蔵された携帯型の情報通信端末が用いられる。また、通信端末１にはウェブブラウザ、メールソフト、ナビゲーションアプリ等を含めた複数のアプリケーションプログラムがインストールされている。ここで、インストールされた各種アプリケーションプログラムは、後述するようにトップ画面（図５参照）において起動アイコンが選択された場合に起動され、ユーザ（操作者）の操作に基づいて通信端末１において各種機能を実行させる。例えば、ナビゲーションアプリでは、サーバから取得したりメモリに格納された地図情報や交通情報に基づいて通信端末１の現在位置周辺の地図画像や交通情報を表示したり、表示された地図画像中において通信端末１の現在位置を表示したり、設定された出発地から目的地までの経路の探索及び案内をする機能等がある。また、通信端末１は、後述の送受信回路部（ＲＦ）１３を介して通信ネットワーク網に接続され、通信端末間や外部センタと双方向通信可能に構成されている。尚、通信端末１の詳細については後述する。
【００２８】
一方、端末ケース３は、アクリル板等の透過性の高い無色透明の板状部材によって形成された箱型形状を有し、内部に通信端末１を配置可能に構成されている。但し、端末ケース３を形成する各板状部材の内、内部に配置された通信端末１のディスプレイ４と対向する板状部材（以下、操作板６という）については後述のようにフレネルレンズが形成されている。また、操作板６は一端が回動可能に支持されており、端末ケース３の蓋の役目を有する。そして、図２に示すように操作板６を上側方向に回動することによって、通信端末１の端末ケース３内に対する配置及び取り出しが可能に構成されている。
【００２９】
また、端末ケース３を構成する各板状部材の内、操作板６と対向する板状部材（以下、底板７という）の中心付近には、通信端末１を端末ケース３に対して固定する為の固定部８が設けられている。尚、通信端末１に内蔵されたカメラ５で操作板６を撮像する目的から、特に通信端末１が端末ケース３に固定された場合に、カメラ５のレンズ位置が底板７の中心付近となるように固定部８の位置を調整することが望ましい。そして、第１実施形態に係る端末操作システム２では、後述のように固定部８に対して通信端末１を固定し、操作板６を閉鎖した図１に示す状態であっても、操作板６へのタッチ操作により通信端末１に対する操作を行うことが可能に構成されている。以下の実施例では、操作板６の上面が本願発明の平面に相当することとなる。尚、端末ケース３は、例えば車両内のインストルメントパネル等に設置される。
【００３０】
ここで、前記したように操作板６にはフレネルレンズが形成されているので、端末ケース３内に通信端末１が配置された状態では、図３に示すように端末ケース３の正面から操作板６を介してユーザが通信端末１を視認すると、端末ケース３の内部に配置された通信端末１が拡大されて視認されることとなる。その拡大率は、通信端末１から操作板６までの離間距離Ｌやフレネルレンズの焦点距離を調整することによって適宜変更可能であるが、例えば、通信端末１のディスプレイ４の全体が操作板６の全領域の所定割合（例えば８０％）で視認することが可能に構成する。その結果、ユーザから通信端末１までの距離が離れている場合であっても、通信端末１のディスプレイ４に表示される表示内容をユーザに明確に示すことが可能となる。
【００３１】
尚、図１及び図２に示す端末ケース３は一例であり、端末ケース３の形状は直方体以外の形状をしていても良い。また、端末ケース３については少なくとも操作板６を構成する板状部材が透過性の高い材質で形成されていれば、他の板状部材については不透過な材質により形成されていても良い。また、通信端末１を内部に配置する際には操作板６以外の部分を開閉可能としても良く、通信端末１の端末ケース３に対する固定方法は、ゴム製バンドを用いたり、金具を用いて固定することも可能である。
【００３２】
次に、ユーザの有する通信端末１の概略構成について図４を用いて説明する。図４は第１実施形態に係る通信端末１の制御系を模式的に示すブロック図である。
【００３３】
図４に示すように通信端末１はデータバスＢＵＳに、ＣＰＵ１１と、通信端末１を所持するユーザに関するユーザ情報やアプリケーションプログラム等が記憶されたメモリ１２と、通信ネットワーク網の基地局との間で信号の送受信を行う送受信回路部（ＲＦ）１３と、送受信回路部１３において受信したＲＦ（Radio Frequency）信号をベースバンド信号に変換するとともにベースバンド信号をＲＦ信号に変換するベースバンド処理部１４と、マイクロホン１５及びスピーカ１６等とのインターフェイスである入出力部１７と、ディスプレイ４と、カメラ５と、ユーザの操作を受け付けるタッチパネル１８と、ダイヤルやボタン等のハードウェアの操作部であるハードキー１９と、加速度センサ２０や照度センサ２１等の各種センサとが接続されることにより構成されている。
【００３４】
ここで、通信端末１に内蔵されるＣＰＵ１１は、メモリ１２に格納されている動作プログラムに従って種々の動作を実行する通信端末１の制御手段であり、メモリ１２とともに通信端末ＥＣＵ２２を構成する。また、通信端末ＥＣＵ２２の各種処理内容は必要に応じてディスプレイ４に表示される。尚、通信端末ＥＣＵ２２は、処理アルゴリズムとしての各種手段を構成する。例えば、タッチ操作検出手段は、通信端末１のカメラ５によって撮像されたディスプレイ４前方の撮像画像に基づいて、操作板６に対するタッチ操作を検出する。操作手段は、前記タッチ操作検出手段によって検出された操作板６に対するユーザのタッチ操作に基づいて、通信端末１へのユーザ操作を行う。
【００３５】
また、メモリ１２は通信端末１を所持するユーザに関するユーザ情報やカメラ５で撮像された撮像画像やインストールされたアプリケーションプログラムの他、後述の端末操作処理プログラム（図７参照）等が記憶された記憶媒体である。また、メモリ１２は、ハードディスク、メモリーカード、ＣＤやＤＶＤ等の光ディスク等により構成しても良い。
【００３６】
また、ディスプレイ４は、筐体の一面に配設されており、液晶ディスプレイや有機ＥＬディスプレイ等によって構成される。そして、通信端末１にインストールされている各種アプリケーションを実行する為のトップ画面や、実行されたアプリケーションに係る画面（インターネット画面、メール画面、ナビゲーション画面等）や、画像、動画等の各種情報が表示される。
【００３７】
ここで、図５は特にディスプレイ４に表示されるトップ画面２５の一例について示した図である。トップ画面２５は通信端末１の電源をＯＮした後にディスプレイ４に表示され、通信端末１にインストールされている各種アプリケーションを実行する為の操作を受け付ける基本操作画面であり、ホーム画面やデスクトップ等が相当する。
図５に示すように、トップ画面２５には、複数の起動アイコン２６〜２８が配置されている。起動アイコン２６〜２８は、通信端末１にインストールされているアプリケーションを起動させる為に操作される操作対象物であり、ユーザによって起動アイコン２６〜２８が操作される（例えばタッチパネルによりタッチされる）と、操作された起動アイコン２６〜２８に対応したアプリケーションの起動が開始される。例えば、図５に示す例では、通信端末１に対してナビゲーションアプリとインターネットブラウザアプリとメールアプリがインストールされている場合のトップ画面２５を示す。そして、起動アイコン２６が操作されると、ナビゲーションアプリが起動される。また、起動アイコン２７が操作されると、インターネットブラウザアプリが起動される。また、起動アイコン２８が操作されると、メールアプリが起動される。
【００３８】
また、図６はトップ画面２５において特にナビゲーションアプリを起動させる為の起動アイコン２６が操作された場合に、ディスプレイ４に表示されるナビゲーション画面２９の一例について示した図である。
図６に示すように、ナビゲーション画面２９には、通信端末１周辺の地図画像３０と、通信端末１（即ちユーザ）の地図上に特定された現在位置を示す現在位置マーク３１が表示される。また、地点登録や経路探索を行う際等に操作される操作対象物として各種操作ボタン３２〜３４についても表示される。また、現在位置周辺の渋滞情報や交通規制等の交通情報（例えば、図６に示す例では工事による通行規制を示すマーク３５）についても表示される。更に、通信端末１において目的地までの案内経路が設定された場合には、地図画像上で案内経路に沿って描かれた案内経路線や、目的地の位置を示す目的地マークについても表示される。そして、ユーザはディスプレイ４に表示されたナビゲーション画面２９を参照することによって、ユーザ周辺の道路形状や交通状況、目的地までの経路等を把握することが可能となる。更に、地図画像３０に対してドラッグ操作やフリック操作を行った場合には、地図画像３０のスクロール表示を行うことも可能である。
【００３９】
また、カメラ５は、小型のＣＣＤカメラであり、通信端末１に内蔵される。また、レンズは通信端末１の筐体前面であってディスプレイ４と重複しない位置に配置される。そして、カメラ５の撮像方向がディスプレイ４の向きと同方向（即ち、ディスプレイ４から照射される光の光軸方向が撮像方向）となるように構成される。また、カメラ５は焦点距離や感度を任意に調整可能に構成されている。尚、カメラ５は、基本的にユーザによる通信端末１の操作に基づいて撮像を行うが、特に第１実施形態では、通信端末１が端末ケース３内に配置された場合に、ディスプレイ４の前方に対向して配置される操作板６をケース内側から撮像する。
【００４０】
また、タッチパネル１８は、ディスプレイ４の表示領域の前面に配置され、ディスプレイ４に表示されたアイコンやボタン等の操作対象物を操作する為の操作手段である。そして、通信端末ＥＣＵ２２は、タッチパネル１８の押下等により出力される電気信号に基づき、対応する各種の動作を実行すべく制御を行う。特に第１実施形態に係る通信端末１では、上述したトップ画面２５における起動アイコン２６〜２８の操作や、起動されたアプリケーションでの各種選択及び入力操作等に用いられる。更に、後述のように端末ケース３内に通信端末１が配置された状態においては、操作板６へのタッチ操作をタッチパネル１８の操作に置き換えて通信端末１の操作を行うことも可能である。
【００４１】
一方、ハードキー１９は、ディスプレイ４上ではなく通信端末１の筐体表面に形成されたハードウェアの操作手段である。例えば、ハードキー１９としては、トップ画面２５に戻る際に操作されるホームボタン、各種機能が割り当てられるサイドボタン、音量を調整する為のダイヤルキー、カーソルを動かすカーソルキー、文字や数字を入力する為のテンキー、電源のオン、オフを切り替える電源ボタン等がある。そして、通信端末ＥＣＵ２２は、ハードキー１９の操作により出力される電気信号に基づき、対応する各種の動作を実行すべく制御を行う。特に第１実施形態に係る通信端末１では、後述のように端末ケース３内に通信端末１が配置された状態においては、操作板６へのタッチ操作をハードキー１９の操作に置き換えて通信端末１の操作を行うことも可能である。
【００４２】
また、加速度センサ２０は、通信端末１に内蔵され、通信端末１に対して生じる３軸方向の加速度を検出する為のセンサである。そして、通信端末ＥＣＵ２２は、加速度センサ２０の検出結果に基づいて通信端末１に生じる振動を検出することが可能となる。更に、振動の有無に加えて振動の振幅（振動の大きさ）や振動の周波数についても検出することが可能である。尚、加速度センサ２０の替わりにジャイロセンサを用いても良い。更に加速度センサ２０とジャイロセンサを両方備える構成としても良い。
【００４３】
また、照度センサ２１は、通信端末１に内蔵され、通信端末１の周囲の照度を検出する為のセンサである。
【００４４】
続いて、前記構成を有する通信端末１においてＣＰＵ１１が実行する端末操作処理プログラムについて図７に基づき説明する。図７は第１実施形態に係る端末操作処理プログラムのフローチャートである。ここで、端末操作処理プログラムは、通信端末１においてユーザによる所定の操作を受け付けた場合に実行され、操作板６へのユーザのタッチ操作に基づいて、端末ケース３内に配置された通信端末１へのユーザ操作を行うプログラムである。また、以下の図７、図９〜図１１、図１８、図１９、図２６、図２７、図３２及び図３３にフローチャートで示されるプログラムは、通信端末１が備えるメモリ１２等に記憶されており、ＣＰＵ１１により実行される。
【００４５】
先ず、端末操作処理プログラムではステップ（以下、Ｓと略記する）１において、ＣＰＵ１１は、当該端末操作処理プログラムに対応するアプリケーションプログラム（以下、端末操作アプリという）を起動する。即ち、当該端末操作処理プログラムは、ディスプレイ４にトップ画面２５（図５）が表示されている状態において、端末操作アプリの起動アイコンが選択操作（タッチパネル１８によりタッチ）された場合に、実行されることとなる。尚、端末操作アプリは、事前にインストールプログラムをネットワーク等を介して取得し、通信端末１に対してインストールする必要がある。
【００４６】
次に、Ｓ２においてＣＰＵ１１は、通信端末１の現在の設定をメモリ１２等に保存する。尚、前記Ｓ２で保存される設定内容は、特に後述のステップにおいて設定が変更されるディスプレイ４やカメラ５に関する設定であり、例えばディスプレイ４の輝度、カメラ５の感度や焦点距離等が有る。
【００４７】
続いて、Ｓ３においてＣＰＵ１１は、タッチパネル１８による操作を無効とする。従って、Ｓ３以降では、後述するＳ１９でタッチパネル１８による操作が再び有効となるまで、タッチパネル１８による通信端末１の操作が出来ない状態となる。
【００４８】
その後、Ｓ４においてＣＰＵ１１は、端末ケース３内に通信端末１を配置することを促す案内を行う。例えば、「スマートフォンをケース内部にセットして下さい。」との文章をディスプレイ４に表示する。また、同内容の音声を出力する構成としても良い。
【００４９】
次に、Ｓ５においてＣＰＵ１１は、通信端末１に内蔵されたカメラ５を起動し、カメラ５による周囲の撮像を開始する。ここで、カメラ５は、前記したように撮像方向がディスプレイ４の向きと同方向となるように構成されており、ディスプレイ４の前方を撮像する。従って、端末ケース３に通信端末１が配置された状態では、図８に示すように端末ケース３の操作板６をケース内側から撮像する。そして、特にユーザが操作板６に対するタッチ操作を行っている場合には、ユーザのタッチ操作の操作態様（操作板６のどの位置をどのようにタッチしているのか）を撮像することとなる。尚、カメラ５によって撮像された撮像画像はメモリ１２等に記憶される。
【００５０】
その後、Ｓ６においてＣＰＵ１１は、後述の初期設定処理（図９）を行う。尚、初期設定処理は、操作板６に対するユーザのタッチ操作を適切に検出する為に、ディスプレイ４やカメラ５の設定を行う処理である。
【００５１】
続いて、Ｓ７においてＣＰＵ１１は、後述の画像補正処理（図１０、図１１）を行う。尚、画像補正処理は、端末ケース３に対する通信端末１の位置ズレを検出し、操作板６を介して適切なディスプレイ４の表示画像がユーザから視認できるようにディスプレイ４の画像出力を補正する処理である。
【００５２】
更に、Ｓ８においてＣＰＵ１１は、後述のタッチ検出処理（図２６、図２７）を行う。尚、タッチ検出処理は、カメラ５の撮像画像に基づいてディスプレイ４の前方空間でのユーザの挙動、より具体的には操作板６に対するユーザのタッチ操作を検出し、更に、検出された操作板６に対するユーザのタッチ操作を、タッチパネル１８に対する操作やハードキーの操作に置き換える処理である。尚、前記Ｓ８の処理で操作板６に対するユーザのタッチ操作がタッチパネル１８に対する操作に置き換えられた場合には、ディスプレイ４上の座標系におけるタッチ地点の座標（以下、タッチ座標という）やタッチ操作の操作種別（フリック操作、ドラック操作、ピンチ操作）がユーザのタッチ操作を置き換えた操作として検出される。また、前記Ｓ８の処理で操作板６に対するユーザのタッチ操作がハードキー１９のハードウェア上の操作に置き換えられた場合には、操作対象となるハードキー１９の種類や操作種別（例えばホームボタンの押下）がユーザのタッチ操作を置き換えた操作として検出される。
【００５３】
次に、Ｓ９においてＣＰＵ１１は、ユーザの操作に伴うその他の処理を実行する。
【００５４】
その後、Ｓ１０においてＣＰＵ１１は、通信端末１の筐体に配置されたハードキー１９の一つであるホームボタンがユーザによって直接操作されたか否かを判定する。尚、ユーザがホームボタンを直接操作する為には、端末ケース３から通信端末１を取り出す必要がある。
【００５５】
そして、ホームボタンがユーザによって直接操作されたと判定された場合（Ｓ１０：ＹＥＳ）には、Ｓ１８へと移行する。それに対して、ホームボタンがユーザによって直接操作されていないと判定された場合（Ｓ１０：ＮＯ）には、Ｓ１１へと移行する。
【００５６】
Ｓ１１においてＣＰＵ１１は、前記Ｓ８のタッチ検出処理においてユーザのタッチ操作を最後に検出してから一定時間（例えば３０ｓｅｃ）以上経過したか否かを判定する。尚、前記Ｓ１１において判定基準となる一定時間は、ユーザによって任意に設定することも可能であり、メモリ１２等に記憶される。
【００５７】
そして、ユーザのタッチ操作を最後に検出してから一定時間以上経過したと判定された場合（Ｓ１１：ＹＥＳ）には、Ｓ１２へと移行する。それに対して、ユーザのタッチ操作を最後に検出した時点から一定時間以上経過していないと判定された場合（Ｓ１１：ＮＯ）にはＳ７へと戻り、タッチ操作の検出を継続して行う。
【００５８】
Ｓ１２においてＣＰＵ１１は、ディスプレイ４の電源をオフする。
【００５９】
次に、Ｓ１３においてＣＰＵ１１は、通信端末１を待機モードに移行させる。尚、待機モードでは、操作板６に対するユーザのタッチ操作を検出する機能以外の機能を一時的に休止状態とする。
【００６０】
続いて、Ｓ１４においてＣＰＵ１１は、後述のタッチ検出処理（図２６、図２７）を行う。尚、詳細は前記Ｓ８と同様であるので説明は省略する。
【００６１】
その後、Ｓ１５においてＣＰＵ１１は、前記Ｓ１４のタッチ検出処理において少なくとも操作板６上のいずれかの地点をユーザがタッチするタッチ操作が行われたか否かを判定する。
【００６２】
そして、操作板６上のいずれかの地点をユーザがタッチするタッチ操作が行われたと判定された場合（Ｓ１５：ＹＥＳ）には、Ｓ１６へと移行する。それに対して、操作板６上をユーザがタッチするタッチ操作が行われていないと判定された場合（Ｓ１５：ＮＯ）にはＳ１４へと戻り、タッチ操作の検出を継続して行う。
【００６３】
Ｓ１６においてＣＰＵ１１は、通信端末１を待機モードから復帰させる。
【００６４】
その後、Ｓ１７においてＣＰＵ１１は、ディスプレイ４の電源をオンする。その後、Ｓ７へと戻り、タッチ操作の検出を継続して行う。
【００６５】
一方、前記Ｓ１０でホームボタンがユーザによって直接操作されたと判定された場合に実行されるＳ１８では、ＣＰＵ１１は、通信端末１に内蔵されたカメラ５の起動を停止し、カメラ５による周囲の撮像を終了する。
【００６６】
続いて、Ｓ１９においてＣＰＵ１１は、タッチパネル１８による操作を有効とする。その結果、Ｓ１９以降では、タッチパネル１８による通信端末１の操作が可能となる。
【００６７】
次に、Ｓ２０においてＣＰＵ１１は、前記Ｓ２で保存した通信端末１の設定を読み出し、通信端末１の現在の設定を読み出した設定へと変更する。その結果、後述のように当該端末操作処理プログラム中に通信端末１の各種設定（例えば、ディスプレイ４の輝度、カメラ５の感度や焦点距離等）が変更された場合であっても、端末操作処理プログラムを実行する直前の設定状態に通信端末１を復帰させることが可能となる。
【００６８】
その後、Ｓ２１においてＣＰＵ１１は、前記Ｓ１で起動された端末操作アプリを終了する。
【００６９】
次に、前記Ｓ６において実行される初期設定処理のサブ処理について図９に基づき説明する。図９は初期設定処理のサブ処理プログラムのフローチャートである。
【００７０】
先ず、Ｓ３１においてＣＰＵ１１は、通信端末１に内蔵された加速度センサ２０を用いて通信端末１に対して生じる振動を検出する。
【００７１】
次に、Ｓ３２においてＣＰＵ１１は、通信端末１が振動したことを最後に検出してから一定時間（例えば１０ｓｅｃ）以上経過したか否かを判定する。尚、前記Ｓ３２において判定基準となる一定時間は、ユーザによって任意に設定することも可能であり、メモリ１２等に記憶される。また、ＣＰＵ１１は、加速度センサ２０によって振動を検出した場合であっても、検出した振動の振幅や周波数が所定の閾値未満である場合にはノイズとみなし、前記Ｓ３２の判定対象から除くことが望ましい。
【００７２】
そして、通信端末１が振動したことを検出してから一定時間以上経過したと判定された場合（Ｓ３２：ＹＥＳ）には、通信端末１の設置作業中でないと推定し、Ｓ３３へと移行する。それに対して、通信端末１の振動を最後に検出した時点から一定時間以上経過していないと判定された場合（Ｓ３２：ＮＯ）には、通信端末１の設置作業中であると推定し、Ｓ３１へと戻り、通信端末１の振動を検出する処理を継続して実行する。
【００７３】
Ｓ３３においてＣＰＵ１１は、直近の所定時間（例えば５ｓｅｃ）内においてカメラ５で撮像された撮像画像をメモリ１２から読み出す。
【００７４】
次に、Ｓ３４においてＣＰＵ１１は、前記Ｓ３３で読み出された撮像画像が大きく変化したか否かを判定する。ここで、カメラ５は、前記したように撮像方向がディスプレイ４の向きと同方向となるように構成されており、端末ケース３内に通信端末１が配置された状態では、図８に示すように端末ケース３の操作板６をケース内側から撮像することとなる。そして、操作板６は前記したようにフレネルレンズが形成されており、フレネルレンズを介して周囲を撮像した撮像画像とフレネルレンズを介さずに周囲を撮像した撮像画像とは、仮に同位置から同方向を撮像した場合であってもその画像の内容は全く異なるものとなる。即ち、端末ケース３内に通信端末１が配置されていない図２に示す状態から、端末ケース３内に通信端末１が配置されている図１に示す状態に移行すると、カメラ５によって撮像された撮像画像が、フレネルレンズを含まない画像（即ちフレネルレンズを透過しない画像）からフレネルレンズを含む画像（即ちフレネルレンズを透過した画像）へと大きく変化することとなる。従って、前記Ｓ３４の判定処理を行うことによって、端末ケース３内に通信端末１が配置されたか否か（ディスプレイ４の前方に操作板６が配置されたか否か）について判定することが可能となる。
【００７５】
そして、前記Ｓ３３で読み出された撮像画像が大きく変化した（即ち、操作板６を含まない撮像画像から操作板６を含む撮像画像へと変化した）と判定された場合（Ｓ３３：ＹＥＳ）には、ディスプレイ４の前方に操作板６が配置されている、即ち端末ケース３内に通信端末１が配置されていると認定し、Ｓ３６へと移行する。それに対して、前記Ｓ３３で読み出された撮像画像が大きく変化していない（即ち、操作板６を含まない撮像画像が継続して撮像されている）と判定された場合（Ｓ３３：ＮＯ）には、ディスプレイ４の前方に操作板６が配置されていない、即ち端末ケース３内に通信端末１が配置されていないと認定し、Ｓ３５へと移行する。
【００７６】
Ｓ３５においてＣＰＵ１１は、通信端末１が振動したことを最後に検出してから更に所定時間（例えば２０ｓｅｃ）以上経過したか否かを判定する。尚、前記Ｓ３５において判定基準となる所定時間は、ユーザによって任意に設定することも可能であり、メモリ１２等に記憶される。
【００７７】
そして、通信端末１が振動したことを最後に検出してから更に所定時間以上経過したと判定された場合（Ｓ３５：ＹＥＳ）には、通信端末１が端末ケース３内に既に配置されたにもかかわらず、何らかの原因により撮像画像の変化からは通信端末１が端末ケース３内に配置されたことを検出できなかったと推定し、Ｓ３６へと移行する。一方、通信端末１の振動を最後に検出した時点から所定時間以上経過していないと判定された場合（Ｓ３５：ＮＯ）にはＳ３３へと戻り、通信端末１の振動を検出する処理を継続して実行する。
【００７８】
Ｓ３６においてＣＰＵ１１は、ディスプレイ４の輝度を所定割合（例えば２０％）上昇させる。例えば、ディスプレイ４が液晶ディスプレイである場合には、バックライトの強度を上げることによって輝度を上昇させる。それによって、後述のように焦点距離を短くした場合であっても、ディスプレイ４から放出される光を用いて適切な明るさの撮像画像を撮像することが可能となる。
【００７９】
次に、Ｓ３７においてＣＰＵ１１は、カメラ５の焦点距離をカメラ５から操作板６までの距離Ｌ（図３）に設定する。それによって、後述のタッチ検出処理（Ｓ８）において、操作板６をタッチするユーザの手を鮮明に撮像することが可能となる。尚、カメラ５から操作板６までの距離Ｌは、予めメモリ１２に記憶させる構成としても良いし、カメラ５によって操作板６を撮像した撮像画像に基づいてＣＰＵ１１が算出する構成としても良い。
【００８０】
次に、前記Ｓ７において実行される画像補正処理のサブ処理について図１０及び図１１に基づき説明する。図１０及び図１１は画像補正処理のサブ処理プログラムのフローチャートである。
【００８１】
先ず、Ｓ４１においてＣＰＵ１１は、カメラ５のハード的な要因に基づいて必要となる撮像画像の補正に用いる補正値Ａを取得する。ここで、ハード的な要因に基づいて必要となる補正とは、撮像画像が湾曲して撮像される場合に、湾曲する撮像画像を湾曲しない撮像画像へと修正する補正等が有る。尚、補正値Ａはカメラ固有の値であり、メモリ１２等に予め記憶される。
【００８２】
次に、Ｓ４２においてＣＰＵ１１は、直近にカメラ５で撮像された撮像画像をメモリ１２から読み出す。
【００８３】
続いて、Ｓ４３においてＣＰＵ１１は、前記Ｓ４２で読み出した撮像画像を前記Ｓ４１で取得された補正値Ａに基づいて補正する。その結果、前記Ｓ４２で読み出した撮像画像が湾曲していた場合であっても、その湾曲を修正することが可能となる。
【００８４】
その後、Ｓ４４においてＣＰＵ１１は、前記Ｓ４２で読み出した撮像画像から操作板６に配置された検出マークを検出する処理を行う。ここで、図１２は端末ケース３の操作板６を示した上面図である。
【００８５】
図１２に示すように、第１実施形態に係る操作板６は、面上の計４箇所の角部に対して、それぞれ検出マーク４１〜４４が配置されている。尚、検出マーク４１〜４４は操作板６に対して直接印字されていても良いし、粘着剤等を介して操作板６に貼付する構成としても良い。また、検出マーク４１〜４４の内、左上に位置する検出マーク４１は四角形状を有し、他の検出マーク４２〜４４については三角形状を有する。尚、マークの形状については四角形状や三角形状以外の形状としても良いが、４箇所の内、少なくとも１箇所を他と異なる形状のマークとすることが望ましい。
【００８６】
また、検出マーク４１〜４４は四隅以外の場所に配置しても良いが、少なくとも操作板６の面上の複数箇所に対して配置することが望ましい。また、検出マーク４１〜４４は、端末ケース３に対して通信端末１が正しい位置に配置された場合に、いずれもカメラ５の撮像範囲に含まれる位置に配置する。
【００８７】
次に、Ｓ４５においてＣＰＵ１１は、撮像画像から操作板６に配置された全ての検出マーク（図１２に示す例では検出マーク４１〜４４の４個）が検出できたか否か判定する。
ここで、図１３に示すように端末ケース３に対して通信端末１が正しい位置に配置されていれば、カメラ５で撮像した撮像画像中に操作板６に配置された検出マーク４１〜４４が全て含まれることとなる。尚、カメラ５は操作板６をケース内側から撮像するので、図１２に示す操作板６の上面図と撮像画像中とでは検出マーク４１〜４４の配置は左右反転する。
一方、図１４に示すように端末ケース３に対して通信端末１が正しい位置に配置されていなければ、カメラ５で撮像した撮像画像中に操作板６に配置された検出マーク４１〜４４が全て含まれない場合がある。例えば、図１４に示す例では、通信端末１が正しい配置よりも上側にずれて配置されたことによって、検出マーク４１〜４４の内、検出マーク４１と検出マーク４２のみが撮像画像に含まれることとなる。
【００８８】
そして、前記Ｓ４５の判定の結果、撮像画像から操作板６に配置された全ての検出マークが検出できたと判定された場合（Ｓ４５：ＹＥＳ）には、Ｓ４７へと移行する。それに対して、撮像画像から操作板６に配置された全ての検出マークが検出できなかったと判定された場合（Ｓ４５：ＮＯ）には、Ｓ４６へと移行する。
【００８９】
Ｓ４６においてＣＰＵ１１は、通信端末１が端末ケース３の正しい位置に配置されていないと認定し、通信端末１を端末ケース３の正しい位置に配置することを促す案内を行う。例えば、「スマートフォンをケースの正しい位置にセットして下さい。」との文章をディスプレイ４に表示する。また、同内容の音声を出力する構成としても良い。
【００９０】
一方、Ｓ４７においてＣＰＵ１１は、前記Ｓ４４で検出された全ての検出マークについて、各検出マークが検出された座標を、検出マークの形状に対応付けて算出する。尚、検出マークの座標は、撮像画像の左右方向をｘ軸、上下方向をｙ軸とした座標系で特定することとする。例えば、図１２に示す操作板６を撮像した場合には、四角形状の検出マークが１つと、三角形状の検出マークが３つ検出されるので、四角形状の検出マークが検出された１箇所の地点の座標と、三角形状の検出マークが検出された３箇所の地点の座標とがそれぞれ算出されることとなる。
【００９１】
次に、Ｓ４８においてＣＰＵ１１は、前記Ｓ４７で算出された検出マークの座標に基づいて、前記Ｓ４４で検出された各検出マーク間の配置関係が正しい関係にあるか否か判定する。
ここで、前記Ｓ４８の判定基準である“検出マーク間の配置関係が正しい関係”は、操作板６に対してどのように検出マークが配置されているかによって異なる。例えば、図１２に示すように検出マーク４１〜４４が配置されている場合には、四角形状の検出マークのＸ座標が２以上の三角形状の検出マークのＸ座標よりも大きく、且つ四角形状の検出マークのＹ座標が２以上の三角形状の検出マークのＹ座標よりも大きいことを、“検出マーク間の配置関係が正しい関係”とする。
【００９２】
そして、図１３に示すように端末ケース３に対して通信端末１が正しい方向に配置されていれば、カメラ５で撮像した撮像画像中において、四角形状の検出マーク４１は他の検出マーク４２〜４４と相対的な位置関係で右上に位置することとなる。従って、四角形状の検出マークのＸ座標が２以上の三角形状の検出マークのＸ座標よりも大きく、且つ四角形状の検出マークのＹ座標が２以上の三角形状の検出マークのＹ座標よりも大きい条件を満たすこととなる。その結果、検出マーク間の配置関係が正しい関係にある（即ち、端末ケース３に対して通信端末１が正しい方向で配置されている）と判定される。
一方、図１５に示すように端末ケース３に対して通信端末１が正しい方向に配置されていなければ、カメラ５で撮像した撮像画像中において、四角形状の検出マーク４１は他の検出マーク４２〜４４と相対的な位置関係で右上以外に位置することとなる。例えば、図１５に示す例では通信端末１を上下逆方向に配置したことにより、四角形状の検出マーク４１は他の検出マーク４２〜４４と相対的な位置関係で左下に位置することとなる。従って、四角形状の検出マークのＸ座標が２以上の三角形状の検出マークのＸ座標よりも大きく、四角形状の検出マークのＹ座標が２以上の三角形状の検出マークのＹ座標よりも大きいという条件は満たさない。その結果、検出マーク間の配置関係が正しい関係にない（即ち、端末ケース３に対して通信端末１が誤った方向で配置されている）と判定される。
【００９３】
そして、前記Ｓ４８の判定の結果、前記Ｓ４４で検出された各検出マーク間の配置関係が正しい関係にあると判定された場合（Ｓ４８：ＹＥＳ）には、Ｓ５０へと移行する。それに対して、前記Ｓ４４で検出された各検出マーク間の配置関係が正しい関係にないと判定された場合（Ｓ４８：ＮＯ）には、Ｓ４９へと移行する。
【００９４】
Ｓ４９においてＣＰＵ１１は、通信端末１が端末ケース３に対して正しい方向に配置されていないと認定し、通信端末１を端末ケース３に対して正しい方向に配置することを促す案内を行う。例えば、「スマートフォンをケースに対して正しい方向にセットして下さい。」との文章をディスプレイ４に表示する。また、同内容の音声を出力する構成としても良い。
【００９５】
また、Ｓ５０に対してＣＰＵ１１は、後述の補正値算出処理（図１８、図１９）を実行する。尚、補正値算出処理は、端末ケース３に対して通信端末１を設置する正しい設置位置、設置角度、設置方向等からズレが生じていることを考慮し、適切な画像出力やタッチ操作検出を行う為の補正値を算出する処理である。
【００９６】
次に、Ｓ５１においてＣＰＵ１１は、前記Ｓ５０の補正値算出処理において算出された補正値Ｃが、補正できる範囲の補正値であるか否かを判定する。ここで、補正値Ｃは、後述のように前記Ｓ４４で検出された複数の検出マーク間の位置関係と、予め規定された所定の位置関係（より具体的には仮に通信端末１が端末ケース３に対して正しい設置位置、設置角度及び設置方向に配置されていた場合に撮像される撮像画像中の検出マーク間の位置関係）とを比較することによって算出される。そして、ＣＰＵ１１は、補正値Ｃに基づいて画像出力を補正する（より具体的にはディスプレイ４に対して表示画像を表示する領域を補正する）ことにより、ユーザが操作板６を介して視認できるディスプレイ４の表示画像を、通信端末１が端末ケース３に対して正しい設置位置、設置角度及び設置方向に配置されていた場合に視認できる表示画像と同等の画像とする。しかしながら、画像出力の補正には限界があるので、例えば、通信端末１が大きく傾いて配置されている等の理由で補正値Ｃが限界値よりも大きくなった場合には、補正することができない。従って、前記Ｓ５１では前記Ｓ５０の補正値算出処理において算出された補正値Ｃが、画像出力の補正ができる限界値を超えていないか否かを判定する。
【００９７】
そして、前記Ｓ５０の補正値算出処理において算出された補正値Ｃが、補正できる範囲の補正値であると判定された場合（Ｓ５１：ＹＥＳ）、即ち、画像出力の補正ができる範囲を超えていないと判定された場合には、Ｓ５２へと移行する。一方、前記Ｓ５０の補正値算出処理において算出された補正値Ｃが、補正できる範囲の補正値でないと判定された場合（Ｓ５１：ＮＯ）、即ち、画像出力の補正ができる範囲を超えていると判定された場合には、Ｓ５３へと移行する。
【００９８】
Ｓ５２においてＣＰＵ１１は、前記Ｓ５０の補正値算出処理において算出された補正値Ｃを用いて、ディスプレイ４の画像出力を補正する。具体的には、ディスプレイ４に対して表示画像を表示する領域（以下、表示対象領域という）を補正する。尚、補正値Ｃは後述のように回転量（−θｘ、−θｙ、−θｚ）、拡大縮小率（１／Ｓ）、移動量（−Ｘａ、−Ｘｂ）等からなり、その補正量Ｃに応じて表示対象領域を回転、拡大、縮小、或いは移動させることによって表示対象領域を変更する。
図１６は、前記Ｓ５２における表示対象領域の変更前後の通信端末１に表示されるトップ画面２５を示した図である。図１６に示す例では、補正前のトップ画面２５の表示対象領域５１は、ディスプレイ４の形状と略同形状である。しかし、補正後のトップ画面２５の表示対象領域５２は、補正前の表示対象領域５１を補正値Ｃに応じて移動、拡大、縮小又は回転された形状となる。
【００９９】
そして、前記Ｓ５２においてディスプレイ４の画像出力を補正することによって、通信端末１の端末ケース３に対する配置にズレが生じていた場合であっても、ユーザは通信端末１が端末ケース３に対して正しい設置位置、設置角度及び設置方向に配置されていた場合と同等のディスプレイ４の表示画像を操作板６を介して視認することが可能となる。即ち、ユーザが操作板６を介して視認できるディスプレイ４の表示画像と操作板６との位置関係が、前記Ｓ５３による画像出力補正を行わない状態（即ち、図１６の左図の状態）での通信端末１のディスプレイ４に表示される表示画像とディスプレイ４との位置関係に対応させることが可能となる。
図１７は、前記Ｓ５２における表示対象領域の変更前後のユーザが操作板６を介して視認できるディスプレイ４に表示されたトップ画面２５を示した図である。図１７に示す例では、補正前に操作板６を介して視認できるトップ画面２５は、操作板６に対して歪んだ状態である。しかし、補正後に操作板６を介して視認できるトップ画面２５は、通常時に通信端末１に表示されるトップ画面２５と同等となる。即ち、操作板６にディスプレイが配置されているのと同等の視認性を実現することが可能となる。
【０１００】
一方、Ｓ５３においてＣＰＵ１１は、通信端末１が端末ケース３に対して正しい角度に配置されていないと認定し、通信端末１を端末ケース３に対して正しい角度に配置することを促す案内を行う。例えば、「スマートフォンをケースに対してセットし直して下さい。」との文章をディスプレイ４に表示する。また、同内容の音声を出力する構成としても良い。
【０１０１】
その後、Ｓ５４においてＣＰＵ１１は、通信端末１に内蔵された加速度センサ２０を用いて通信端末１に対して生じる振動を検出する。
【０１０２】
次に、Ｓ５５においてＣＰＵ１１は、通信端末１が振動していることを検出したか否かを判定する。また、ＣＰＵ１１は、加速度センサ２０によって振動を検出した場合であっても、検出した振動の振幅や周波数が所定の閾値未満である場合にはノイズとみなし、前記Ｓ５５の判定対象から除くことが望ましい。
【０１０３】
そして、通信端末１が振動していることを検出したと判定された場合（Ｓ５５：ＹＥＳ）には、ユーザが通信端末１の配置の修正を行っていると認定し、Ｓ６１へと移行する。それに対して、通信端末１が振動していることを検出しないと判定された場合（Ｓ５５：ＮＯ）には、ユーザが通信端末１の配置の修正を行っていないと認定し、Ｓ５６へと移行する。
【０１０４】
Ｓ５６においてＣＰＵ１１は、前記Ｓ５４で振動の検出を開始してから一定時間（例えば２０ｓｅｃ）以上経過しても振動を検出しないか否かを判定する。尚、前記Ｓ５６において判定基準となる一定時間は、ユーザによって任意に設定することも可能であり、メモリ１２等に記憶される。また、ＣＰＵ１１は、加速度センサ２０によって振動を検出した場合であっても、検出した振動の振幅や周波数が所定の閾値未満である場合にはノイズとみなし、前記Ｓ５６の判定対象から除くことが望ましい。
【０１０５】
そして、前記Ｓ５４で振動の検出を開始してから一定時間以上経過しても振動を検出しないと判定された場合（Ｓ５６：ＹＥＳ）には、ユーザが通信端末１の配置を修正する意思がないと認定し、Ｓ５７へと移行する。それに対して、前記Ｓ５４で振動の検出を開始してから一定時間以上経過していないと判定された場合（Ｓ５６：ＮＯ）にはＳ５４へと戻り、通信端末１の振動を検出する処理を継続して実行する。
【０１０６】
Ｓ５７においてＣＰＵ１１は、通信端末１に内蔵されたカメラ５の起動を停止し、カメラ５による周囲の撮像を終了する。
【０１０７】
続いて、Ｓ５８においてＣＰＵ１１は、タッチパネル１８による操作を有効とする。その結果、Ｓ５８以降では、タッチパネル１８による通信端末１の操作が可能となる。
【０１０８】
次に、Ｓ５９においてＣＰＵ１１は、前記Ｓ２で保存した通信端末１の設定を読み出し、通信端末１の現在の設定を読み出した設定へと変更する。その結果、当該端末操作処理プログラム中に通信端末１の各種設定（例えば、ディスプレイ４の輝度、カメラ５の感度や焦点距離等）が変更された場合であっても、端末操作処理プログラムを実行する直前の設定状態に通信端末１を復帰させることが可能となる。
【０１０９】
その後、Ｓ６０においてＣＰＵ１１は、前記Ｓ１で起動された端末操作アプリを終了する。
【０１１０】
一方、Ｓ６１においてＣＰＵ１１は、通信端末１に内蔵された加速度センサ２０を用いて通信端末１に対して生じる振動を検出する。
【０１１１】
その後、Ｓ６２においてＣＰＵ１１は、通信端末１が振動していることを検出したか否かを判定する。また、ＣＰＵ１１は、加速度センサ２０によって振動を検出した場合であっても、検出した振動の振幅や周波数が所定の閾値未満である場合にはノイズとみなし、前記Ｓ６２の判定対象から除くことが望ましい。
【０１１２】
そして、通信端末１が振動していることを検出しないと判定された場合（Ｓ６２：ＹＥＳ）には、ユーザによる通信端末１の配置の修正が完了したと認定し、Ｓ４２へと戻る。そして、ＣＰＵ１１は、修正後の通信端末１の配置に基づいて、Ｓ４２以降の処理を再度実行する。それに対して、通信端末１が振動していることを検出したと判定された場合（Ｓ６２：ＮＯ）には、ユーザが通信端末１の配置の修正を継続して行っていると認定し、Ｓ６１へと戻る。
【０１１３】
次に、前記Ｓ５０において実行される補正値算出処理のサブ処理について図１８及び図１９に基づき説明する。図１８及び図１９は補正値算出処理のサブ処理プログラムのフローチャートである。
【０１１４】
先ず、Ｓ７１においてＣＰＵ１１は、前記Ｓ４２で読み出された撮像画像に対して３Ｄ空間を定義する。例えば、図２０に示す撮像画像５５が撮像された場合には、撮像画像の左右方向をｘ軸、上下方向をｙ軸、撮像画像に対して垂直に交差する方向をｚ軸とした座標系により３Ｄ空間を定義する。
【０１１５】
次に、Ｓ７２においてＣＰＵ１１は、仮に通信端末１が端末ケース３に対して正しい設置位置、設置角度及び設置方向に配置（以下、正配置状態という）されていた場合に撮像される撮像画像中の検出マークの位置（以下、正位置という）の座標を、前記Ｓ７１で定義した３Ｄ空間の座標系で取得する。尚、正位置の検出マークの座標については予めメモリ１２等に記憶される。
【０１１６】
続いて、Ｓ７３においてＣＰＵ１１は、前記Ｓ４４で検出された全ての検出マークについて、各検出マークが検出された座標を、前記Ｓ７１で定義した３Ｄ空間の座標系で算出する。
【０１１７】
その後、Ｓ７４においてＣＰＵ１１は、前記Ｓ４４で検出された全ての検出マークを頂点として形成される多角形領域（以下、検出領域という）を定義する。尚、第１実施形態では、検出マークは操作板６の四隅に対してそれぞれ配置されるので、検出領域は四角形状を有することとなる。例えば、図２１は図２０に示す撮像画像５５が撮像された場合に定義される検出領域６０を示す。
【０１１８】
次に、Ｓ７５においてＣＰＵ１１は、前記Ｓ７４で定義された検出領域の上辺と下辺の平均線を算出する。例えば、図２２は図２０に示す撮像画像５５が撮像された場合に定義される検出領域６０と、検出領域６０を構成する上辺６１と下辺６２の平均線６３を示す。
【０１１９】
続いて、Ｓ７６においてＣＰＵ１１は、前記Ｓ７５で算出された平均線が前記Ｓ７１で定義された３Ｄ空間において右下がり（即ち、ｘ座標が大きくなるほどｙ座標が小さくなる平均線）であるか否か判定する。
【０１２０】
そして、前記Ｓ７５で算出された平均線が右下がりであると判定された場合（Ｓ７６：ＹＥＳ）には、Ｓ７７へと移行する。それに対して、前記Ｓ７５で算出された平均線が右下がりでないと判定された場合（Ｓ７６：ＮＯ）には、Ｓ７８へと移行する。
【０１２１】
Ｓ７７においてＣＰＵ１１は、前記Ｓ７５で算出された平均線が前記Ｓ７１で定義された３Ｄ空間においてｘ軸と平行となるように、検出領域をｚ軸中心に反時計回転させる。一方、Ｓ７８においてＣＰＵ１１は、前記Ｓ７５で算出された平均線が前記Ｓ７１で定義された３Ｄ空間においてｘ軸と平行となるように、検出領域をｚ軸中心に時計回転させる。
例えば、図２３の左図に示す平均線６３が算出された場合には、平均線６３は右下がりとなるので、検出領域６０はｚ軸中心に反時計回転される。その結果、図２３の右図に示すように平均線６３はｘ軸と平行となる。
【０１２２】
その後、Ｓ７９においてＣＰＵ１１は、前記Ｓ７７又はＳ７８において検出領域を回転させた回転角をθｚとして特定し、メモリ１２等に記憶する。尚、前記Ｓ７７及び前記Ｓ７８の回転処理を行う前に既に平均線がｘ軸に対して平行である場合には、Ｓ７７及びＳ７８の処理は実行せず、且つθｚとして「０」を記憶する。
【０１２３】
次に、Ｓ８０においてＣＰＵ１１は、前記Ｓ７７及びＳ７８で回転処理された後の検出領域について、上辺と下辺の長さをそれぞれ算出する。
【０１２４】
続いて、Ｓ８１においてＣＰＵ１１は、前記Ｓ８０で算出された上辺の長さが下辺の長さよりも長いか否か判定する。
【０１２５】
そして、前記Ｓ８０で算出された上辺の長さが下辺の長さよりも長いと判定された場合（Ｓ８１：ＹＥＳ）には、Ｓ８２へと移行する。それに対して、前記Ｓ８０で算出された上辺の長さが下辺の長さよりも短いと判定された場合（Ｓ８１：ＮＯ）には、Ｓ８３へと移行する。
【０１２６】
Ｓ８２においてＣＰＵ１１は、前記Ｓ８０で算出された検出領域の上辺と下辺の長さが同じ長さとなるように、検出領域をｘ軸中心に上辺を奥方向に回転させる。一方、Ｓ８３においてＣＰＵ１１は、前記Ｓ８０で算出された検出領域の上辺と下辺の長さが同じ長さとなるように、検出領域をｘ軸中心に上辺を手前方向に回転させる。
例えば、前記Ｓ７７及びＳ７８で回転処理された後の検出領域が、図２４の左図に示す検出領域６０である場合には、検出領域６０の上辺６１の長さは下辺６２の長さよりも短いので、検出領域６０はｘ軸中心に上辺６１を手前方向に回転される。その結果、図２４の右図に示すように上辺６１の長さと下辺６２の長さは同じ長さとなる。
【０１２７】
その後、Ｓ８４においてＣＰＵ１１は、前記Ｓ８２又はＳ８３において検出領域を回転させた回転角をθｘとして特定し、メモリ１２等に記憶する。尚、前記Ｓ８２及び前記Ｓ８３の回転処理を行う前に既に検出領域の上辺と下辺の長さが同じ長さである場合には、Ｓ８２及びＳ８３の処理は実行せず、且つθｘとして「０」を記憶する。
【０１２８】
次に、Ｓ８５においてＣＰＵ１１は、前記Ｓ７７及びＳ７８で回転処理された後の検出領域について、右辺と左辺の長さをそれぞれ算出する。
【０１２９】
続いて、Ｓ８６においてＣＰＵ１１は、前記Ｓ８５で算出された左辺の長さが右辺の長さよりも長いか否か判定する。
【０１３０】
そして、前記Ｓ８５で算出された左辺の長さが右辺の長さよりも長いと判定された場合（Ｓ８６：ＹＥＳ）には、Ｓ８７へと移行する。それに対して、前記Ｓ８５で算出された左辺の長さが右辺の長さよりも短いと判定された場合（Ｓ８６：ＮＯ）には、Ｓ８８へと移行する。
【０１３１】
Ｓ８７においてＣＰＵ１１は、前記Ｓ８５で算出された検出領域の左辺と右辺の長さが同じ長さとなるように、検出領域をｙ軸中心に左辺を奥方向に回転させる。一方、Ｓ８８においてＣＰＵ１１は、前記Ｓ８５で算出された検出領域の左辺と右辺の長さが同じ長さとなるように、検出領域をｙ軸中心に左辺を手前方向に回転させる。
例えば、前記Ｓ８２及びＳ８３で回転処理された後の検出領域が、図２５の左図に示す検出領域６０である場合には、検出領域６０の左辺６５の長さは右辺６６の長さよりも短いので、検出領域６０はｙ軸中心に左辺６５を手前方向に回転される。その結果、図２５の右図に示すように左辺６５の長さと右辺６６の長さは同じ長さとなる。
【０１３２】
その後、Ｓ８９においてＣＰＵ１１は、前記Ｓ８７又はＳ８８において検出領域を回転させた回転角をθｙとして特定し、メモリ１２等に記憶する。尚、前記Ｓ８７及び前記Ｓ８８の回転処理を行う前に既に検出領域の左辺と右辺の長さが同じ長さである場合には、Ｓ８７及びＳ８８の処理は実行せず、且つθｙとして「０」を記憶する。
【０１３３】
次に、Ｓ９０においてＣＰＵ１１は、前記Ｓ８７及びＳ８８で回転処理された後の検出領域について、上辺と下辺の長さを再度算出する。
【０１３４】
続いて、Ｓ９１においてＣＰＵ１１は、前記Ｓ９０で算出された上辺の長さと下辺の長さが同じか否か判定する。
【０１３５】
そして、前記Ｓ９０で算出された上辺の長さと下辺の長さが同じ長さであると判定された場合（Ｓ９０：ＹＥＳ）には、Ｓ９２へと移行する。それに対して、前記Ｓ９０で算出された上辺の長さと下辺の長さが同じ長さで無いと判定された場合（Ｓ９０：ＮＯ）にはＳ７３へと戻り、再度回転角θｘ、θｙ、θｚの検出を行う。
【０１３６】
Ｓ９２においてＣＰＵ１１は、前記Ｓ８７及びＳ８８で回転処理された後の検出領域の面積と、正位置の検出マークを頂点として形成される多角形領域（以下、正位置検出領域という）の面積とを比較し、検出領域の面積に対する正位置検出領域の面積比率Ｓを算出する。例えば、検出領域の面積が１００であり、正位置検出領域の面積が１２０である場合には、面積比率Ｓは“１．２”と算出される。
【０１３７】
その後、Ｓ９３においてＣＰＵ１１は、前記Ｓ８７及びＳ８８で回転処理された後の検出領域の各頂点に位置する検出マークの位置座標の原点Ｄ０と、正位置の検出マークの位置座標の原点Ｄ１のずれを算出する。尚、原点は例えば最も左下に位置する検出マーク（例えば図２５に示す例では検出マーク４４）の位置とする。そして、原点のずれは、ｘ軸方向のずれはＸａ、ｙ軸方向のずれはＸｂでそれぞれ特定する。
【０１３８】
次に、Ｓ９４においてＣＰＵ１１は、θｘ、θｙ、θｚ、Ｓ、Ｘａ、Ｘｂを補正値Ｂとして特定し、メモリ１２等に記憶する。尚、補正値Ｂは後述するように操作板６へのタッチ位置を検出する際に補正値として用いられる。尚、補正値Ｂは、前記Ｓ４４で検出された検出マーク間の位置関係を、正位置の検出マーク間の位置関係と一致させる為に撮像画像を補正する補正値（即ち、正配置状態にない通信端末１によって撮像される撮像画像を、正配置状態にある通信端末１によって撮像される撮像画像に補正する為の補正値）に相当する。
【０１３９】
更に、Ｓ９５においてＣＰＵ１１は、−θｘ、−θｙ、−θｚ、１／Ｓ、−Ｘａ、−Ｘｂを補正値Ｃとして特定し、メモリ１２等に記憶する。尚、補正値Ｃは前記したように、ディスプレイ４の画像出力を補正する際に補正値として用いられる。尚、補正値Ｃは、正位置の検出マーク間の位置関係を、前記Ｓ４４で検出された検出マーク間の位置関係と一致させる為に撮像画像を補正する補正値（即ち、通信端末１が正配置状態にない場合であっても、正配置状態の通信端末１と同じ態様で操作板６を介してディスプレイ４を視認できるようにディスプレイ４の画像表示領域を変更する為の補正値）に相当する。
【０１４０】
次に、前記Ｓ８及びＳ１４において実行されるタッチ検出処理のサブ処理について図２６及び図２７に基づき説明する。図２６及び図２７はタッチ検出処理のサブ処理プログラムのフローチャートである。
【０１４１】
先ず、Ｓ１０１においてＣＰＵ１１は、前記Ｓ５０の補正値計算処理（図１８、図１９）によって算出された補正値Ｂを読み出す。尚、補正値Ｂは前記したように回転量（θｘ、θｙ、θｚ）、拡大縮小率（Ｓ）、移動量（Ｘａ、Ｘｂ）等からなる。
【０１４２】
次に、Ｓ１０２においてＣＰＵ１１は、後述のＳ１１７で保存されるタッチ履歴をメモリ１２等から読み出す。尚、前記Ｓ１０２で読み出されるタッチ履歴は、直近の所定時間（例えば５ｓｅｃ）内において検出されたタッチ地点の座標（タッチ座標）等からなる。
【０１４３】
続いて、Ｓ１０３においてＣＰＵ１１は、直近にカメラ５で撮像された撮像画像をメモリ１２から読み出す。
【０１４４】
更に、Ｓ１０４においてＣＰＵ１１は、前記Ｓ１０３で読み出した撮像画像を前記Ｓ１０１で取得された補正値Ｂに基づいて補正する。尚、補正値Ｂは前述のように回転量（θｘ、θｙ、θｚ）、拡大縮小率（Ｓ）、移動量（Ｘａ、Ｘｂ）等からなり、その補正量Ｂに応じて撮像画像を回転、拡大縮小、或いは移動させることによって撮像画像を補正する。それによって、前記Ｓ１０３で読み出した撮像画像を、正配置状態にある通信端末１によって撮像される撮像画像へと補正することが可能となる。即ち、通信端末１の配置が正しい位置や方向からずれていたことにより、撮像画像が正しい範囲や角度で撮像されていなかったとしても、撮像画像を補正することによって後述の処理で撮像画像に基づく正確なタッチ地点の検出が可能となる（Ｓ１１２〜Ｓ１１５）。
【０１４５】
次に、Ｓ１０５においてＣＰＵ１１は、前記Ｓ１０４で補正された撮像画像内に含むユーザの手を検出する。尚、前記Ｓ１０５の検出は、例えばパターンマッチングを用いて検出する。
【０１４６】
その後、Ｓ１０６においてＣＰＵ１１は、前記Ｓ１０５の検出結果に基づいて、前記Ｓ１０４で補正された撮像画像内にユーザの手を検出したか否かを判定する。尚、ユーザの手の全体が検出されない場合であっても、手の一部（但し、少なくともユーザの指先部分は含む）が検出されていれば、前記Ｓ１０６でユーザの手を検出したと判定しても良い。
【０１４７】
そして、撮像画像内にユーザの手を検出したと判定された場合（Ｓ１０６：ＹＥＳ）には、Ｓ１０８へと移行する。それに対して、撮像画像内にユーザの手を検出しないと判定された場合（Ｓ１０６：ＮＯ）には、Ｓ１０７へと移行する。
【０１４８】
Ｓ１０７においてＣＰＵ１１は、操作板６に対してユーザがタッチ操作を行っていないと判定する。その後、Ｓ１１７へと移行する。
【０１４９】
一方、Ｓ１０８においてＣＰＵ１１は、後述のカメラ感度調整処理（図３２）を実行する。尚、カメラ感度調整処理は、操作板６をタッチするユーザの指をカメラ５で撮像した撮像画像に基づいて検出する際に、より検出精度を向上させる為に、カメラ５の感度を調整する処理である。
【０１５０】
また、Ｓ１０９においてＣＰＵ１１は、後述の画面輝度調整処理（図３３）を実行する。尚、画面輝度調整処理は、操作板６をタッチするユーザの指をカメラ５で撮像した撮像画像に基づいて検出する際に、より検出精度を向上させる為に、ディスプレイ４の輝度を調整する処理である。
【０１５１】
その後、Ｓ１１０においてＣＰＵ１１は、前記Ｓ１０８やＳ１０９でカメラ５の感度やディスプレイ４の輝度が調整された後に、カメラ５によって新たに撮像された撮像画像をメモリ１２から読み出す。尚、読み出した撮像画像はＳ１０４と同様に補正値Ｂに基づく補正を行う。
【０１５２】
次に、Ｓ１１１においてＣＰＵ１１は、前記Ｓ１０８やＳ１０９で設定を変更したカメラ５の感度やディスプレイ４の輝度等を、変更前の設定へと戻す。
【０１５３】
続いて、Ｓ１１２においてＣＰＵ１１は、前記Ｓ１０５で検出したユーザの手から、ユーザの指先端部を特定し、更に指先端部の色を解析する。尚、指先端部が複数特定された場合には、各指先端部の色をそれぞれ解析する。
【０１５４】
その後、Ｓ１１３においてＣＰＵ１１は、前記Ｓ１１２の解析結果に基づいて、少なくとも一以上の指先端部の色が所定の色の範囲にあるか否かを判定する。ここで、所定の色の範囲は、一般的にユーザの指先端部が操作板６に接触した状態にある場合に該指先端部が示す色の範囲であり、より具体的には白色系の色の範囲とする。また、指先端部の色と所定の色の範囲は、例えばＲＧＢ値によりそれぞれ規定する。従って、前記Ｓ１１３では、指先端部の色を示すＲＧＢ値が白色系と認定される数値範囲（例えばＲ＞２４０、且つＧ＞２４０、且つＢ＞２４０）にあるか否かを判定することとなる。
【０１５５】
そして、少なくとも一以上の指先端部の色が所定の色の範囲にあると判定された場合（Ｓ１１３：ＹＥＳ）には、ユーザの指先端部が操作板６に接触した状態にあると推定し、Ｓ１１４へと移行する。それに対して、指先端部の色が所定の色の範囲にないと判定された場合（Ｓ１１３：ＮＯ）には、ユーザの指先端部が操作板６に接触した状態にないと推定し、操作板６に対してユーザがタッチ操作を行っていないと判定する（Ｓ１０７）。
【０１５６】
また、前記Ｓ１１３では、色の絶対値ではなく相対値によって指先端部が操作板６に接触した状態にあるか否かを判定しても良い。例えば、指先端部以外の手の部分の色を解析してＲＧＢ値を特定し、指先端部と指先端部以外のＲＧＢ値の差分が所定値以上である場合に、ユーザの指先端部が操作板６に接触した状態にあると判定しても良い。
【０１５７】
そして、Ｓ１１４においてＣＰＵ１１は、操作板６に対してユーザがタッチ操作を行っていると判定する。
【０１５８】
次に、Ｓ１１５においてＣＰＵ１１は、操作板６上の座標系によってユーザがタッチしたタッチ地点（操作板６上にユーザの一部が位置する操作地点）の座標を特定する。具体的には、図２８に示すように、先ずＣＰＵ１１は、指先端部７１の内、前記Ｓ１１２の解析によって色が所定の範囲にあると認定された範囲７２を特定する。そして、特定された範囲７２の中心位置をタッチ地点Ｐ１とし、タッチ地点Ｐ１の座標を操作板６上の座標系によって特定する。尚、タッチ地点が２点以上有る場合には、それぞれのタッチ地点について座標を特定する。
【０１５９】
その後、Ｓ１１６においてＣＰＵ１１は、前記Ｓ１１５において操作板上の座標系で特定されたタッチ地点の座標をディスプレイ４上の座標系の座標に変換する。具体的には、図２９に示すように、ユーザが操作板６を介して視認できるディスプレイ４と変換前のタッチ地点Ｐ１との位置関係が、通信端末１のディスプレイ４と変換後のタッチ地点Ｐ２との位置関係に対応するように変換する。その結果、操作板６に対するユーザのタッチ操作を、ディスプレイ４上の座標系に変換されたタッチ地点をタッチパネル１８でタッチする操作に置き換えることが可能となる。
【０１６０】
その後、Ｓ１１７においてＣＰＵ１１は、前記Ｓ１１２〜Ｓ１１６の検出結果に基づいてタッチ履歴を新たに保存する。尚、タッチ履歴としては、操作板６に対してユーザがタッチ操作を行っているか否かの判定結果、及び操作板６に対してユーザがタッチ操作を行っていると判定された場合には、前記Ｓ１１６で変換された（ディスプレイ４上の座標系で特定された）タッチ地点の座標（タッチ座標）が保存される。
【０１６１】
次に、Ｓ１１８においてＣＰＵ１１は、前記Ｓ１０２において読み出された過去のタッチ履歴と、前記Ｓ１１７で新たに保存されたタッチ履歴とに基づいて、タッチ座標の変位を算出する。具体的には、直近の所定時間以内（例えば５ｓｅｃ内）のタッチのオン・オフの変化、タッチ座標が変位しているか否か、変位している場合にはどのような方向にどの程度の速度で変位しているかを算出する。尚、タッチオン及びタッチオフの算出では、ユーザの手の指先部分の色が所定の色の範囲外から範囲内へと変化したタイミングで、操作板６に対してユーザがタッチオンしたと算出し、その後、ユーザの手の指先部分の色が所定の色の範囲内から範囲外へと変化したタイミングで、操作板６に対してユーザがタッチオフしたと算出する。
【０１６２】
続いて、Ｓ１１９においてＣＰＵ１１は、前記Ｓ１１８で算出されたタッチ座標の変位に基づいて、タッチ操作の操作種別を検出する。尚、タッチ操作には、通常の一点をタッチするタッチ操作以外に、タッチした状態でタッチ地点を変位させるドラッグ操作、タッチアウトしつつタッチ地点を変位させるフリック操作、２点のタッチ地点を互いに接近又は遠ざけるように変位させるピンチ操作等が有る。
【０１６３】
次に、Ｓ１２０においてＣＰＵ１１は、前記Ｓ１１９で検出されたタッチ操作の操作種別に基づいて、ドラッグ操作、フリック操作、ピンチ操作等の特殊なタッチ操作が行われたか否かを判定する。
【０１６４】
そして、ドラッグ操作、フリック操作、ピンチ操作等の特殊なタッチ操作が行われたと判定された場合（Ｓ１２０：ＹＥＳ）には、Ｓ１２１へと移行する。それに対して、通常のタッチ操作が行われたと判定された場合（Ｓ１２０：ＮＯ）には、Ｓ１２２へと移行する。
【０１６５】
Ｓ１２１においてＣＰＵ１１は、タッチ履歴に基づいて特定された操作種別（ドラッグ操作、フリック操作、ピンチ操作等）に加えて、前記Ｓ１１６で変換された（ディスプレイ４上の座標系で特定された）タッチ地点の座標を、ユーザの操作板６へのタッチ操作を置き換えた操作として出力する。その後、通信端末１は、出力されたタッチ地点に対して同じく出力された操作種別（フリック操作、ドラック操作、ピンチ操作等）によるタッチパネル１８の操作が行われたとして、通信端末１へのユーザ操作を行う。具体的には、上述したトップ画面２５におけるタッチ地点に対応する起動アイコン２６〜２８の操作や、起動された他のアプリケーションでの各種選択及び入力操作等を行う。例えば、ナビゲーションアプリが起動された状態では、ナビゲーション画面２９（図６）における地図画像のスクロール処理、縮尺変更処理等が行われる。
【０１６６】
一方、Ｓ１２２においてＣＰＵ１１は、前記Ｓ１１８で算出されたタッチ座標の変位に基づいて、現時点でユーザがタッチオンした状態にあるか否かを判定する。
【０１６７】
そして、現時点でユーザがタッチオンした状態にあると判定された場合（Ｓ１２２：ＹＥＳ）には、Ｓ１２３へと移行する。それに対して、現時点でユーザがタッチオンした状態にないと判定された場合（Ｓ１２２：ＮＯ）には、Ｓ９へと移行する。
【０１６８】
また、Ｓ１２３においてＣＰＵ１１は、前記Ｓ１１８で算出されたタッチ座標の変位に基づいて、現時点でユーザがタッチするタッチ地点が、ハードキー１９の仮想操作領域に含まれるか否かを判定する。尚、ハードキー１９の仮想操作領域は、操作板６上に設定され、その範囲は座標等を用いてメモリ１２に記憶される。従って、前記Ｓ１２３では、前記Ｓ１１６の変換後のタッチ地点ではなくＳ１１５で検出された操作板上の座標系におけるタッチ地点に基づいて判定を行う。
【０１６９】
また、操作板６上に設定された仮想操作領域をユーザに把握させる為に、仮想操作領域と他の領域とを識別する情報（以下、領域区分情報という）を、操作板６上で前記ユーザに視認させる。具体的には、領域区分情報を操作板６上に印字又は貼付する構成としても良いし、ディスプレイ４に表示させ、操作板６を介してユーザから視認させる構成としても良い。但し、上記いずれの構成を採用するに際しても、ユーザが操作板６を介して視認できる操作対象物（アイコン、ボタン等）の画像と仮想操作領域とが重複しないように仮想操作領域を設定することが望ましい。また、仮に操作対象物の画像と仮想操作領域とが重複する場合であって、該重複する領域がユーザによってタッチ操作された場合には、タッチパネル１８の操作よりもハードキー１９の操作を優先して行うように設定することが望ましい。更に、実際に筐体上に配置されるハードキー１９と対応する位置（例えばホームボタンであればディスプレイ４の下方）に該ハードキー１９の仮想操作領域を設定することが望ましい。それによって、ユーザに違和感を与えることなく操作板６へのタッチ操作に基づくハードキー１９の操作を行わせることが可能となる。
【０１７０】
ここで、図３０は操作板６上にハードキー１９の仮想操作領域を識別する領域区分情報を印字した例について示す。尚、図３０に示す例では、特にハードキー１９としてホームボタンの仮想操作領域７５を設定する。そして、図３０に示す例では、ホームボタンのボタン形状と該ボタンがホームボタンであることを示す文字がそれぞれ印字される。それによって、ユーザは仮想操作領域７５をタッチすることによって通信端末１のホームボタンを操作できることを把握可能となる。また、仮想操作領域７５をディスプレイ４と重複する可能性の低い位置（例えば操作板６の外縁付近）に設定することによって、アイコン等の操作対象物の画像と仮想操作領域７５とが重複する虞を減少させることが可能となる。
一方、図３１はディスプレイ４にハードキー１９の仮想操作領域を識別する領域区分情報を表示した例について示す。尚、図３１に示す例では、特にハードキー１９としてホームボタンの仮想操作領域７６を設定する。そして、図３１に示す例では、ホームボタンのボタン形状と該ボタンがホームボタンであることを示す文字がそれぞれディスプレイ４に表示され、操作板６を介してユーザが視認可能となる。それによって、ユーザは仮想操作領域７６をタッチすることによって通信端末１のホームボタンを操作できることを把握可能となる。また、仮想操作領域７６は、ディスプレイ４においてアイコン等の操作対象物の画像が表示されていない空白領域に対して表示する。尚、空白領域が無い場合には、既に表示されている操作対象物の配置を変更することによって、空白領域を形成し、形成された空白領域に対して仮想操作領域７６を表示する。
【０１７１】
そして、現時点でユーザがタッチするタッチ地点が、ハードキー１９の仮想操作領域に含まれると判定された場合（Ｓ１２３：ＹＥＳ）には、Ｓ１２５へと移行する。それに対して、現時点でユーザがタッチするタッチ地点が、ハードキー１９の仮想操作領域に含まれないと判定された場合（Ｓ１２３：ＮＯ）には、Ｓ１２４へと移行する。
【０１７２】
Ｓ１２４においてＣＰＵ１１は、通常の一点を選択するタッチ操作が行われたと認定し、前記Ｓ１１６で変換された（ディスプレイ４上の座標系で特定された）タッチ地点の座標を、ユーザの操作板６へのタッチ操作を置き換えた操作として出力する。その後、通信端末１は、出力されたタッチ地点をタッチパネル１８によりタッチする通常のタッチパネルの操作が行われたとして、通信端末１へのユーザ操作を行う。具体的には、上述したトップ画面２５におけるタッチ地点に対応する起動アイコン２６〜２８の操作や、起動された他のアプリケーションでの各種選択及び入力操作等を行う。
【０１７３】
一方、Ｓ１２５においてＣＰＵ１１は、前記Ｓ２で読み出したタッチ履歴に基づいて、一つ前のタッチ履歴におけるタッチ地点も、ハードキー１９の仮想操作領域に含まれるか否かを判定する。
【０１７４】
そして、一つ前のタッチ履歴におけるタッチ地点についても、ハードキー１９の仮想操作領域に含まれると判定された場合（Ｓ１２５：ＹＥＳ）には、既に対応するハードキーの操作を行っていると認定し、Ｓ９へと移行する。それに対して、一つ前のタッチ履歴におけるタッチ地点は、ハードキー１９の仮想操作領域に含まれないと判定された場合（Ｓ１２５：ＮＯ）には、Ｓ１２６へと移行する。
【０１７５】
Ｓ１２６においてＣＰＵ１１は、タッチ地点を含む仮想操作領域と対応するハードキー１９のハードウェア上の操作の為のタッチ操作が行われたと認定し、該対応するハードキー１９の種別を、ユーザの操作板６へのタッチ操作を置き換えた操作として出力する。その後、通信端末１は、出力された種別のハードキー１９の操作が行われたとして、通信端末１へのユーザ操作を行う。具体的には、トップ画面２５（図５）への移行、音量の調整、文字の入力、電源のオン、オフ等が行われる。
尚、タッチ地点がハードキー１９の仮想操作領域に含まれる場合には、Ｓ１２４の処理よりもＳ１２６の処理が優先されることとなるので、例えば操作対象物（起動アイコンやボタン等）の画像と仮想操作領域とが重複する場合であって、該重複する領域がユーザによってタッチ操作された場合には、タッチパネル１８の操作よりもハードキー１９の操作が優先して行われることとなる。
【０１７６】
次に、前記Ｓ１０８において実行されるカメラ感度調整処理のサブ処理について図３２に基づき説明する。図３２はカメラ感度調整処理のサブ処理プログラムのフローチャートである。
【０１７７】
先ず、Ｓ１３１においてＣＰＵ１１は、通信端末１に内蔵された照度センサ２１を用いて通信端末１の周囲の明るさを検出する。尚、照度センサ２１の代わりに前記Ｓ１０３で読み出した撮像画像を解析することによって通信端末１の周囲の明るさを検出しても良い。
【０１７８】
続いて、Ｓ１３２においてＣＰＵ１１は、前記Ｓ１３１で検出した通信端末１の周囲の明るさの内、特に前記Ｓ１０５で検出した操作板６を操作するユーザの手の明るさ（即ち、撮像画像中に含まれるユーザの手の明るさ）を検出する。尚、操作板６に対する操作を行う対象物がユーザの手以外である場合には、該対象物の明るさを検出する。また、ユーザの手自体の明るさではなく、ユーザの手の周辺エリアの明るさを検出することとしても良い。更に、特定エリアに対する照度を検出できない場合には、Ｓ１３１の検出値を前記Ｓ１３２の検出値として用いても良い。
【０１７９】
その後、Ｓ１３３においてＣＰＵ１１は、前記Ｓ１３２で検出されたユーザの手の明るさが下限値未満であるか否かを判定する。尚、下限値は所定の閾値であり、予めメモリ１２等に記憶される。
【０１８０】
そして、ユーザの手の明るさが下限値未満であると判定された場合（Ｓ１３３：ＹＥＳ）には、Ｓ１３４へと移行する。それに対して、ユーザの手の明るさが下限値未満でないと判定された場合（Ｓ１３３：ＮＯ）には、Ｓ１３５へと移行する。
【０１８１】
Ｓ１３４においてＣＰＵ１１は、通信端末１に内蔵されたカメラ５の感度を上昇させる（例えばＩＳＯ感度を１．５倍にする）。それによって、検出対象となるユーザの手が暗い場合であっても、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。
【０１８２】
一方、Ｓ１３５においてＣＰＵ１１は、前記Ｓ１３２で検出されたユーザの手の明るさが上限値以上であるか否かを判定する。尚、上限値は所定の閾値であり、予めメモリ１２等に記憶される。
【０１８３】
そして、ユーザの手の明るさが上限値以上であると判定された場合（Ｓ１３５：ＹＥＳ）には、Ｓ１３６へと移行する。それに対して、ユーザの手の明るさが上限値以上でもないと判定された場合（Ｓ１３５：ＮＯ）には、Ｓ１３７へと移行する。
【０１８４】
Ｓ１３６においてＣＰＵ１１は、通信端末１に内蔵されたカメラ５の感度を下げる（例えばＩＳＯ感度を２／３にする）。それによって、検出対象となるユーザの手が明るすぎる場合であっても、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。
【０１８５】
Ｓ１３７においてＣＰＵ１１は、前記Ｓ１３１で読み出した撮像画像に基づいて操作板６に形成されたフレネルレンズの溝部分の位置を特定する。尚、溝部分の位置は予めメモリ１２に記憶させる構成としても良い。
【０１８６】
次に、Ｓ１３８においてＣＰＵ１１は、前記Ｓ１３７で特定されたフレネルレンズの溝部分が明るくなるように、今後撮像された撮像画像を加工する（特定エリアの明度を上昇させる）ように設定する。それによって、フレネルレンズの溝部分に影が生じてユーザの手が正しく検出できない状況となっても、撮像画像の明度を調整することによって、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。尚、前記Ｓ１３８の設定は、Ｓ１１１において解除されるまで継続する。
【０１８７】
次に、前記Ｓ１０９において実行される画面輝度調整処理のサブ処理について図３３に基づき説明する。図３３は画面輝度調整処理のサブ処理プログラムのフローチャートである。
【０１８８】
先ず、Ｓ１４１においてＣＰＵ１１は、通信端末１に内蔵された照度センサ２１を用いて通信端末１の周囲の明るさを検出する。尚、照度センサ２１の代わりに前記Ｓ１０２で読み出した撮像画像を解析することによって通信端末１の周囲の明るさを検出しても良い。
【０１８９】
続いて、Ｓ１４２においてＣＰＵ１１は、前記Ｓ１４１で検出した通信端末１の周囲の明るさの内、特に前記Ｓ１０５で検出した操作板６を操作するユーザの手の明るさ（即ち、撮像画像中に含まれるユーザの手の明るさ）を検出する。尚、操作板６に対する操作を行う対象物がユーザの手以外である場合には、該対象物の明るさを検出する。また、ユーザの手自体の明るさではなく、ユーザの手の周辺エリアの明るさを検出することとしても良い。
【０１９０】
その後、Ｓ１４３においてＣＰＵ１１は、前記Ｓ１４２で検出されたユーザの手の明るさと、ユーザの手以外のエリアの明るさとを比較し、ユーザの手以外のエリアよりもユーザの手が暗いか否かを判定する。
【０１９１】
そして、ユーザの手以外のエリアよりもユーザの手が暗いと判定された場合（Ｓ１４３：ＹＥＳ）には、Ｓ１４４へと移行する。それに対して、ユーザの手以外のエリアよりもユーザの手が明るいと判定された場合（Ｓ１４３：ＮＯ）には、Ｓ１４５へと移行する。
【０１９２】
Ｓ１４４においてＣＰＵ１１は、通信端末１のディスプレイ４の輝度を上昇させる。例えば、ディスプレイ４が液晶ディスプレイである場合には、バックライトの強度を上げることによって輝度を上昇させる。それによって、検出対象となるユーザの手が周囲に比べて暗い場合であっても、ディスプレイ４から照射される光によってユーザの手を明るく照らし、ユーザの手の明るさを周囲の明るさに合わせて適度な明るさへと調整し、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。
【０１９３】
一方、Ｓ１４５においてＣＰＵ１１は、通信端末１のディスプレイ４の輝度を下げる。例えば、ディスプレイ４が液晶ディスプレイである場合には、バックライトの強度を下げることによって輝度を下降させる。それによって、検出対象となるユーザの手が周囲に比べて明るい場合であっても、ディスプレイ４から照射される光を弱くすることによってユーザの手の明るさを周囲の明るさに合わせて適度な明るさへと調整し、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。
【０１９４】
次に、Ｓ１４６においてＣＰＵ１１は、前記Ｓ１０３で読み出した撮像画像に基づいて、前記Ｓ１０５で検出したユーザの手の色を解析する。尚、前記Ｓ１４６では、ユーザの手の色は、例えばＲＧＢ値により特定される。
【０１９５】
続いて、Ｓ１４７においてＣＰＵ１１は、ユーザの手の適切な色味基準をメモリ１２等から取得する。尚、前記Ｓ１４７で取得されるユーザの手の適切な色味基準は、例えばＲＧＢ値により特定する。
【０１９６】
その後、Ｓ１４８においてＣＰＵ１１は、前記Ｓ１４６の解析結果と前記Ｓ１４７で取得した色味基準に基づいて、ユーザの手の色が適切な色味基準と適合するか否かを判定する。具体的には、前記Ｓ１４６で特定されたユーザの手の色のＲＧＢ値と、前記Ｓ１４７で取得された適切な色味基準のＲＧＢ値との差分が所定値以内（例えばΔＲ＞５０、且つΔＧ＞５０、且つΔＢ＞５０）である場合に、ユーザの手の色が適切な色味基準と適合すると判定する。
【０１９７】
そして、ユーザの手の色が適切な色味基準と適合すると判定された場合（Ｓ１４８：ＹＥＳ）には、Ｓ１１０へと移行する。一方、ユーザの手の色が適切な色味基準と適合しないと判定された場合（Ｓ１４８：ＮＯ）には、Ｓ１４９へと移行する。
【０１９８】
Ｓ１４９においてＣＰＵ１１は、前記Ｓ１４６で特定されたユーザの手の色のＲＧＢ値と、前記Ｓ１４７で取得された適切な色味基準のＲＧＢ値との差分を算出する。
【０１９９】
その後、Ｓ１５０においてＣＰＵ１１は、前記Ｓ１４９で算出されたＲＧＢ値の差分が解消されるように、今後撮像された撮像画像を加工する（前記Ｓ１４９で算出されたＲＧＢ値の差分を加算する）ように設定する。それによって、撮像画像中のユーザの手の色が実際の手の色と大きく異なる状況となっても、撮像画像のＲＧＢ値を調整することによって、その後のＳ１１２において撮像画像から指先端部の色を適切に検出することが可能となる。尚、前記Ｓ１５０の設定は、Ｓ１１１において解除されるまで継続する。
【０２００】
以上詳細に説明した通り、第１実施形態に係る通信端末１、通信端末１の制御方法及び通信端末１において実行されるコンピュータプログラムでは、端末ケース３内に通信端末１が配置された状態で、ディスプレイ４の前方空間でのユーザの挙動として、操作板６へのユーザのタッチ操作の操作態様を、通信端末１に内蔵されたカメラ５によって撮像し（Ｓ５）、撮像された撮像画像に基づいて、操作板６に対するユーザのタッチ操作を検出し（Ｓ８）、検出された操作板６に対するユーザのタッチ操作に基づいて通信端末１へのユーザ操作を行うので、通信端末１の周囲に通信端末１に対するユーザの操作を阻害する端末ケース３のような障害物が置かれた場合であっても、操作板６へのユーザのタッチ操作に基づいて通信端末１の操作を行わせるので、操作板６によってディスプレイ４への視認性を確保しつつ、ユーザの操作性が低下することについても防止することが可能となる。
また、操作板６に対するユーザのタッチ操作を、タッチパネル１８に対する操作に置き換えて、通信端末１へのユーザ操作を行うので、タッチパネル１８にユーザが直接タッチしなくとも、操作板６へのタッチ操作によってタッチパネル１８の操作を実現することが可能となる。従って、タッチパネル１８に直接操作を行う場合と比較しても操作性が低下することが無い。
また、操作板６に対するユーザのタッチ操作を、表示画面上の座標系に変換されたタッチ地点をタッチパネル１８でタッチする操作に置き換えるので、タッチパネル１８にユーザが直接タッチしなくとも、操作板６へのタッチ操作によってタッチパネル１８の任意の地点にタッチするユーザ操作を実現することが可能となる。また、操作板６へのタッチ地点を変更すれば、置き換えられるタッチパネル１８のタッチ地点も変化するので、ユーザの意図に沿った容易なタッチ操作が実現可能となる。
また、操作板６に対するユーザのタッチ操作を、ディスプレイ４上の操作対象物（例えばアイコン等）をタッチパネル１８でタッチする操作に置き換えるので、タッチパネル１８にユーザが直接タッチしなくとも、操作板６へのタッチ操作によってディスプレイ４に表示された操作対象物をタッチするユーザ操作を実現することが可能となる。
また、ユーザが操作板６を介して視認できるディスプレイ４と変換前のタッチ地点との位置関係が、通信端末１のディスプレイ４と変換後のタッチ地点との位置関係に対応するように、操作板上の座標系で特定されたタッチ地点をディスプレイ上の座標系に変換するので、ユーザが操作板６を介して視認できるディスプレイ４にタッチパネルが配置されているのと同等の電子機器に対するユーザ操作を実現することが可能となる。
また、ユーザの操作板６へのタッチ操作の操作種別を検出し、検出された操作種別に基づいて通信端末１へのユーザ操作を行うので、ドラッグ操作やフリック操作やピンチ操作等の特殊なタッチ操作に基づいて通信端末１へのユーザ操作を行わせることが可能となる。従って、タッチパネル１８の操作と同等の操作感覚で操作板による電子機器へのユーザ操作を行わせることが可能となる。
また、操作板６に対するユーザのタッチ操作を、ハードキー１９に対する操作に置き換えて、通信端末１へのユーザ操作を行うので、ハードキー１９にユーザが直接触れなくとも、操作板６へのタッチ操作によってハードキー１９の操作を実現することが可能となる。そして、筐体表面に配置されたハードキー１９に対するユーザの操作性が低下することについて防止することが可能となる。
また、操作板６にフレネルレンズを形成することによって、操作板６を介してディスプレイ４の表示内容を拡大して表示するので、例えばディスプレイ４からユーザが離れた状態でディスプレイ４を視認する必要がある状況であっても、ユーザに表示内容を詳細に示すことが可能となる。
【０２０１】
［第２実施形態］
次に、第２実施形態に係る通信端末を含む端末操作システムについて図３４乃至図３６に基づいて説明する。尚、以下の説明において上記図１乃至図３３の第１実施形態に係る端末操作システム２の構成と同一符号は、前記第１実施形態に係る端末操作システム２等の構成と同一あるいは相当部分を示すものである。
【０２０２】
この第２実施形態に係る端末操作システムの概略構成は、第１実施形態に係る端末操作システム２とほぼ同じ構成である。また、各種制御処理も第１実施形態に係る端末操作システム２とほぼ同じ制御処理である。
ただし、第１実施形態に係る端末操作システム２が、カメラ５で撮像した撮像画像からユーザ（操作者）の指先端部の色を特定し、特定した指先端部の色から操作板６を操作するユーザのタッチ地点を検出するのに対し、第２実施形態に係る端末操作システムは、カメラ５で撮像した撮像画像からユーザの指先端部の輪郭の幅を特定し、特定した輪郭の幅から操作板６を操作するユーザのタッチ地点を検出する点で第１実施形態に係る端末操作システム２と異なっている。
【０２０３】
以下に、第２実施形態に係る通信端末において実行するタッチ検出処理のサブ処理について図３４及び図３５に基づき説明する。図３４及び図３５は第２実施形態に係るタッチ検出処理のサブ処理プログラムのフローチャートである。
【０２０４】
尚、Ｓ２０１〜Ｓ２１１の処理は、第１実施形態に係るタッチ検出処理プログラム（図２６、図２７）のＳ１０１〜Ｓ１１１の処理と同様の処理であるので説明は省略する。
【０２０５】
そして、Ｓ２１２においてＣＰＵ１１は、前記Ｓ２０５で検出したユーザの手から、ユーザの指先端部を特定し、更に指先端部の輪郭の幅を検出する。尚、指先端部が複数特定された場合には、各指先端部の輪郭の幅をそれぞれ検出する。
【０２０６】
次に、Ｓ２１３においてＣＰＵ１１は、前記Ｓ２１２において検出された指先端部の輪郭の幅に基づいて、少なくとも一以上の指先端部の輪郭の幅が閾値（例えば１ｍｍ）以下であるか否かを判定する。ここで、前記したようにカメラ５の焦点距離は、カメラ５から操作板６までの距離に設定されている（Ｓ３７）。従って、操作板６に近ければ近い物体ほど、撮像画像中の輪郭は細くなり、逆に操作板６から遠ざかる物体ほど、撮像画像中の輪郭は太くなる。従って、前記Ｓ２１３において判定基準となる閾値を、指先部分（必ずしも指先部分でなくても良い）が操作板６に接触した状態でカメラ５により撮像された撮像画像中に含まれる該指先部分が示す輪郭の幅（検出誤差を考慮して２０％程度の余裕を持たせても良い）とすることによって、操作板６に対してユーザの指先部分が接しているか否かを判定することが可能となる。
【０２０７】
例えば、撮像画像中に図３６に示すユーザの指先端部８１、８２がそれぞれ含まれる場合について例を上げて説明する。図３６に示す例では、指先端部８１については他の部分と比べて明らかに輪郭が細くなっており、操作板６に対してユーザの指先部分が接している、即ち操作板６に対してユーザがタッチ操作を行っていると判定できる。一方、指先端部８２については輪郭が細くなっておらず、操作板６に対してユーザの指先端部８２が接していない、即ち操作板６に対してユーザがタッチ操作を行っていないと判定できる。
【０２０８】
そして、前記Ｓ２１３の判定の結果、少なくとも一以上の指先端部の輪郭の幅が閾値以下であると判定された場合（Ｓ２１３：ＹＥＳ）には、ユーザの指先端部が操作板６に接触した状態にあると推定し、Ｓ２１４へと移行する。それに対して、指先端部の輪郭の幅が閾値以下でないと判定された場合（Ｓ２１３：ＮＯ）には、ユーザの指先端部が操作板６に接触した状態にないと推定し、操作板６に対してユーザがタッチ操作を行っていないと判定する（Ｓ２０７）。
【０２０９】
また、前記Ｓ２１３では、輪郭の幅の絶対値ではなく相対値によって指先端部が操作板６に接触した状態にあるか否かを判定しても良い。例えば、指先端部以外の手の部分の輪郭の幅を特定し、指先端部と指先端部以外の輪郭の幅の差分が所定値以上である場合に、ユーザの指先端部が操作板６に接触した状態にあると判定しても良い。
【０２１０】
そして、Ｓ２１４においてＣＰＵ１１は、操作板６に対してユーザがタッチ操作を行っていると判定する。
【０２１１】
次に、Ｓ２１５においてＣＰＵ１１は、操作板６上の座標系によってユーザがタッチしたタッチ地点の座標を特定する。具体的には、図３６に示すように、輪郭の細くなった指先端部８１の先端位置をタッチ地点Ｐ１とし、タッチ地点Ｐ１の座標を操作板６上の座標系によって特定する。尚、タッチ地点が２点以上有る場合には、それぞれのタッチ地点について座標を特定する。
【０２１２】
その後、Ｓ２１６においてＣＰＵ１１は、前記Ｓ２１５において操作板上の座標系で特定されたタッチ地点の座標をディスプレイ４上の座標系の座標に変換する。
【０２１３】
その後、Ｓ２１７においてＣＰＵ１１は、前記Ｓ２１２〜Ｓ２１６の検出結果に基づいてタッチ履歴を新たに保存する。
【０２１４】
次に、Ｓ２１８においてＣＰＵ１１は、前記Ｓ２０２において読み出された過去のタッチ履歴と、前記Ｓ２１７で新たに保存されたタッチ履歴とに基づいて、タッチ座標の変位を算出する。具体的には、直近の所定時間以内（例えば５ｓｅｃ内）のタッチのオン・オフの変化、タッチ座標が変位しているか否か、変位している場合にはどのような方向にどの程度の速度で変位しているかを算出する。尚、タッチオン及びタッチオフの算出では、ユーザの手の指先部分の輪郭の幅が閾値より太い状態から閾値以下へと変化したタイミングで、操作板６に対してユーザがタッチオンしたと算出し、その後、ユーザの手の指先部分の輪郭の幅が閾値以下から閾値より太い状態となったタイミングで、操作板６に対してユーザがタッチオフしたと算出する。尚、以降のＳ２１９〜Ｓ２２６の処理は、第１実施形態に係るタッチ検出処理プログラム（図２６、図２７）のＳ１１９〜Ｓ１２６の処理と同様の処理であるので説明は省略する。
【０２１５】
以上詳細に説明した通り、第２実施形態に係る通信端末、通信端末の制御方法及び通信端末において実行されるコンピュータプログラムでは、カメラ５で撮像された撮像画像に含まれるユーザの指先端部の輪郭の幅に基づいてタッチ操作を検出するので、撮像画像に基づいて操作板６に対するユーザのタッチ操作を正確に特定することが可能となる。
また、指先の色に基づいて検出を行う第１実施形態と比較すると、周囲の明るさ等の外部環境の影響を比較的受けることなく、ユーザのタッチ操作を検出することが可能となる。また、肌の色の個人差を考慮する必要も無い。
【０２１６】
［第３実施形態］
次に、第３実施形態に係る通信端末を含む端末操作システムについて図３７及び図３８に基づいて説明する。尚、以下の説明において上記図１乃至図３３の第１実施形態に係る端末操作システム２の構成と同一符号は、前記第１実施形態に係る端末操作システム２等の構成と同一あるいは相当部分を示すものである。
【０２１７】
この第３実施形態に係る端末操作システムの概略構成は、第１実施形態に係る端末操作システム２とほぼ同じ構成である。また、各種制御処理も第１実施形態に係る端末操作システム２とほぼ同じ制御処理である。
ただし、第１実施形態に係る端末操作システム２が、操作板６に仮想操作領域７５を設け、仮想操作領域７５へのタッチ操作をハードキー１９の操作に置き換えてハードキー１９の操作を実行するのに対し、第３実施形態に係る端末操作システムは、操作板６に付与された振動をハードキー１９の操作に置き換えてハードキー１９の操作を実行する点で第１実施形態に係る端末操作システム２と異なっている。
【０２１８】
以下に、第３実施形態に係る通信端末において実行するハードキー操作処理プログラムについて図３７に基づき説明する。図３７は第３実施形態に係るハードキー操作処理プログラムのフローチャートである。
【０２１９】
尚、第３実施形態に係るハードキー操作処理プログラムは、例えば、端末操作処理プログラム（図７）のＳ８の処理の後に実行させることが望ましい。
【０２２０】
先ず、Ｓ３０１においてＣＰＵ１１は、振動パターンとハードキー１９の操作内容を対応付けた対応情報を取得する。ここで、図３８は、前記Ｓ３０１で取得される対応情報の一例を示した図である。図３８に示す対応情報では、所定時間以内（３ｓｅｃ）以内に振動が２回ある振動パターンをホームボタンの操作に対応付けている。また、所定時間以内（３ｓｅｃ）以内に振動が３回ある振動パターンをサイドボタンの操作に対応付けている。更に、所定時間以内（３ｓｅｃ）以内に振動が４回ある振動パターンを電源ボタンの操作に対応付けている。
【０２２１】
次に、Ｓ３０２においてＣＰＵ１１は、メモリ１２に記憶された通信端末１の振動履歴を読み出す。尚、第３実施形態に係る通信端末１では、通信端末１に内蔵された加速度センサ２０を用いて通信端末１に対して生じる振動を検出し、過去所定時間分（例えば３０ｓｅｃ）の振動履歴をメモリ１２に記憶する。尚、通信端末１と端末ケース３は固定されているので、前記Ｓ３０２で読み出される通信端末１の振動履歴は操作板６の振動履歴にも相当する。
【０２２２】
続いて、Ｓ３０３においてＣＰＵ１１は、通信端末１に内蔵された加速度センサ２０を用いて通信端末１に対して生じる振動（操作板６の振動にも相当する）を検出する。
【０２２３】
その後、Ｓ３０４においてＣＰＵ１１は、前記Ｓ３０３で検出した振動の内、振幅と周波数がそれぞれ所定の閾値以上である振動を抽出し、抽出された振動以外の振動（即ち、振幅や周波数が所定の閾値未満である振動）については、ユーザ（操作者）が意図的に与えた振動ではなくノイズとみなして除外する。そして、前記Ｓ３０４で除外された振動については、後述のＳ３０５において振動履歴の記憶対象からも除かれる。また、前記Ｓ３０４では、振動の振幅と周波数を両方考慮する構成としているが、振動の振幅のみを考慮して、振幅が所定の閾値未満である振動のみを除外する構成としても良い。同様に、振動の周波数のみを考慮して、周波数が所定の閾値未満である振動のみを除外する構成としても良い。更に、振幅が所定の閾値未満で且つ周波数が所定の閾値未満である振動のみを除外する構成としても良い。
【０２２４】
その後、Ｓ３０５においてＣＰＵ１１は、前記Ｓ３０３で検出した振動に基づいて、前記Ｓ３０２においてメモリ１２から読み出した振動履歴を更新する。但し、前記したように前記Ｓ３０４において除外された振動については振動履歴に含まないように更新する。
【０２２５】
次に、Ｓ３０６においてＣＰＵ１１は、前記Ｓ３０１で読み出した対応情報（図３８）と、前記Ｓ３０５で更新された振動履歴とに基づいて、振動履歴に記憶された振動パターンが対応情報に含まれるいずれかの振動パターンに該当するか否か判定する。
【０２２６】
そして、振動履歴に記憶された振動パターンが対応情報に含まれるいずれかの振動パターンに該当すると判定された場合（Ｓ３０６：ＹＥＳ）には、Ｓ３０７へと移行する。それに対して、振動履歴に記憶された振動パターンが対応情報に含まれるいずれかの振動パターンにも該当しないと判定された場合又は振動を検出していない場合（Ｓ３０６：ＮＯ）には、Ｓ３０８へと移行する。
【０２２７】
Ｓ３０７においてＣＰＵ１１は、該当すると判定された振動パターンと対応するハードキー１９の操作が行われたと判定し、該対応するハードキー１９の種別を、ユーザのタッチ操作として出力する。その後、通信端末１は、出力された種別のハードキー１９の操作を行ったとして、通信端末１へのユーザ操作を行う。具体的には、トップ画面２５（図５）への移行、音量の調整、文字の入力、電源のオン、オフ等が行われる。
【０２２８】
一方、Ｓ３０８においてＣＰＵ１１は、ハードキー１９の操作が行われないと判定し、当該ハードキー操作処理プログラムを終了する。
【０２２９】
以上詳細に説明した通り、第３実施形態に係る通信端末、通信端末の制御方法及び通信端末において実行されるコンピュータプログラムでは、操作板６に対してユーザが振動を付与する操作を、ハードキー１９に対する操作に置き換えて、通信端末１の操作を行うので、ハードキー１９にユーザが直接触れなくとも、操作板６を振動させることによってハードキー１９の操作を実現することが可能となる。そして、筐体表面に配置されたハードキー１９に対するユーザの操作性が低下することについて防止することが可能となる。また、操作板６を振動させるという容易な操作内容で、ハードキー１９の操作が実現可能となる。
また、操作板６の振動状態を通信端末１の振動状態を介して検出するので、通信端末１が備えるセンサ等によって操作板６の振動状態を容易に検出することが可能となる。
また、操作板６の振動パターンとハードキー１９の操作内容が対応付けられた対応情報があって、操作板６が振動状態にあることを検出した場合に、検出された操作板６の振動パターンに対応するハードキー１９の操作内容で通信端末１を操作するので、操作板６を振動させるという単純な操作によって、様々な種類のハードキー１９の操作が実現可能となる。
振幅や周波数が閾値未満である振動を除去した操作板６の振動状態を、ハードキー１９の操作に置き換えるので、ノイズ等を除去してユーザの操作に基づく操作板６の振動状態を正確に検出することが可能となる。その結果、ユーザの意図に沿ったハードウェア上の操作を正確に行わせることが可能となる。
【０２３０】
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、第１乃至第３実施形態では端末操作処理プログラム（図７参照）の各処理を通信端末１が実行する構成としているが、通信端末１と双方向通信可能に接続されたセンタが一部または全部の処理を実行する構成としても良い。
【０２３１】
また、第１乃至第３実施形態では、操作板６をユーザ（操作者）が手でタッチ操作することを想定してタッチ操作を検出する構成としているが、タッチペン等の道具を介してタッチする場合についても適用することが可能である。特に第３実施形態では、輪郭線の幅に基づいてタッチ操作を検出するので、指以外の様々な物（例えば、タッチした状態で色が変化しない物）によってタッチされる場合であってもタッチ操作を検出することが可能となる。
【０２３２】
また、第１乃至第３実施形態では、操作板６に拡大鏡としてフレネルレンズを形成する構成としているが、フレネルレンズ以外の拡大鏡（例えば凸レンズ等）を形成することとしても良い。また、操作板６の全領域ではなく一部にのみ拡大鏡を形成することとしても良い。
【０２３３】
また、第１実施形態では、指先端部の色に基づいてタッチ操作を検出する構成としているが、時刻に対する指先端部の色の変化に基づいてタッチ操作を検出する構成としても良い。例えば、指先端部の色が異なる色に変化した場合に、異なる色に変化した部分で操作板６をユーザがタッチするタッチ操作を行ったと検出しても良い。
【０２３４】
また、第２実施形態では、指先端部の輪郭線の幅に基づいてタッチ操作を検出する構成としているが、時刻に対する指先端部の輪郭線の幅の変化に基づいてタッチ操作を検出する構成としても良い。例えば、指先端部の輪郭線の幅が閾値以下へと変化した場合に、閾値以下に変化した部分で操作板６をユーザがタッチするタッチ操作を行ったと検出しても良い。
【０２３５】
また、第３実施形態では、対応情報（図３８）においてハードキー１９の操作内容に対応付ける操作板６の振動パターンとして、所定時間内に複数回の振動がある振動パターンを対応付けているが、他の振動パターンを対応付けても良い。例えば、所定値未満の小さい振幅の振動からなる振動パターンをサイドボタンの操作に対応付け、所定値以上の大きい振幅の振動を含む振動パターンをホームボタンの操作に対応付けても良い。
【符号の説明】
【０２３６】
１              通信端末
２              端末操作システム
３              端末ケース
４              ディスプレイ
５              カメラ
６              操作板
１１            ＣＰＵ
１２            メモリ
１８            タッチパネル
１９            ハードキー
２２            通信端末ＥＣＵ
２６〜２８      起動アイコン
４１〜４４      検出マーク
７５、７６      仮想操作領域
【図１】
2014071822.tif 000003
【図２】
2014071822.tif 000004
【図３】
2014071822.tif 000005
【図４】
2014071822.tif 000006
【図５】
2014071822.tif 000007
【図６】
2014071822.tif 000008
【図７】
2014071822.tif 000009
【図８】
2014071822.tif 000010
【図９】
2014071822.tif 000011
【図１０】
2014071822.tif 000012
【図１１】
2014071822.tif 000013
【図１２】
2014071822.tif 000014
【図１３】
2014071822.tif 000015
【図１４】
2014071822.tif 000016
【図１５】
2014071822.tif 000017
【図１６】
2014071822.tif 000018
【図１７】
2014071822.tif 000019
【図１８】
2014071822.tif 000020
【図１９】
2014071822.tif 000021
【図２０】
2014071822.tif 000022
【図２１】
2014071822.tif 000023
【図２２】
2014071822.tif 000024
【図２３】
2014071822.tif 000025
【図２４】
2014071822.tif 000026
【図２５】
2014071822.tif 000027
【図２６】
2014071822.tif 000028
【図２７】
2014071822.tif 000029
【図２８】
2014071822.tif 000030
【図２９】
2014071822.tif 000031
【図３０】
2014071822.tif 000032
【図３１】
2014071822.tif 000033
【図３２】
2014071822.tif 000034
【図３３】
2014071822.tif 000035
【図３４】
2014071822.tif 000036
【図３５】
2014071822.tif 000037
【図３６】
2014071822.tif 000038
【図３７】
2014071822.tif 000039
【図３８】
2014071822.tif 000040