(57)【要約】      （修正有）【課題】電子機器が含むセンサの出力値に基づいて自動入力の可否を決定することができる自動入力探知方法、自動入力探知システム及びコンピュータプログラムを提供する。【解決手段】自動入力探知方法は、コンピュータで実現された電子機器が実行する。自動入力探知方法は、電子機器が含むセンサの出力値の入力を受けるステップ４１０、及びセンサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定するステップ４２０を含む。【選択図】図４
2018113031.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実現された電子機器と結合して自動入力探知方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、
前記自動入力探知方法は、
前記電子機器が備えるセンサの出力値の入力を受けるステップ、および
前記センサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定するステップ
を含む、コンピュータプログラム。
【請求項２】
前記要求される入力は、前記電子機器で提供されるユーザインタフェースに対する前記ユーザの操作をセンシングすることによって生成されるものが要求される第１イベント信号を含む、請求項１に記載のコンピュータプログラム。
【請求項３】
前記自動入力の可否を決定するステップは、
前記第１イベント信号の代わりに、前記電子機器にインストールされた自動入力プログラムの制御にしたがって入力される第２イベント信号が入力されるかを、前記センサの出力値を利用して決定する、請求項２に記載のコンピュータプログラム。
【請求項４】
前記自動入力の可否を決定するステップは、
最近のｎ（前記ｎは２以上の自然数）回の入力に対応するセンサの出力値を格納する第１ステップ、
前記ｎ回の入力の次の入力に対応するセンサの出力値を、前記格納された出力値のうちの最小値と最大値によって決定される範囲と比較する第２ステップ、および
前記比較の結果に基づいて自動入力の発生可否を決定する第３ステップ
を含む、請求項１に記載のコンピュータプログラム。
【請求項５】
前記第３ステップは、
前記次の入力に対応するセンサの出力値が前記範囲内に属さない場合に前記第１ステップおよび前記第２ステップを再実行し、前記次の入力に対応するセンサの出力値が前記範囲内に属する場合に危険度を増加させ、前記危険度が予め設定された閾値を超えた場合に自動入力が発生したと決定する、請求項４に記載のコンピュータプログラム。
【請求項６】
前記センサは、前記電子機器の移動や振動を感知するためのセンサおよび前記電子機器周辺の任意の客体の移動を感知するためのセンサのうちの少なくとも１つを含む、請求項１に記載のコンピュータプログラム。
【請求項７】
コンピュータで実現された電子機器が実行する自動入力探知方法であって、
前記電子機器が含むセンサの出力値の入力を受けるステップ、および
前記センサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定するステップ
を含む、自動入力探知方法。
【請求項８】
前記要求される入力は、前記電子機器で提供されるユーザインタフェースに対する前記ユーザの操作をセンシングすることによって生成されるものが要求される第１イベント信号を含む、請求項７に記載の自動入力探知方法。
【請求項９】
前記自動入力の可否を決定するステップは、
前記第１イベント信号の代わりに、前記電子機器にインストールされた自動入力プログラムの制御にしたがって入力される第２イベント信号が入力されるかを、前記センサの出力値を利用して決定する、請求項８に記載の自動入力探知方法。
【請求項１０】
前記自動入力の可否を決定するステップは、
最近のｎ（前記ｎは２以上の自然数）回の入力に対応するセンサの出力値を格納する第１ステップ、
前記ｎ回の入力の次の入力に対応するセンサの出力値を、前記格納された出力値のうちの最小値と最大値によって決定される範囲と比較する第２ステップ、および
前記比較の結果に基づいて自動入力の発生可否を決定する第３ステップ
を含む、請求項７に記載の自動入力探知方法。
【請求項１１】
前記第３ステップは、
前記次の入力に対応するセンサの出力値が前記範囲内に属さない場合に前記第１ステップおよび前記第２ステップを再実行し、前記次の入力に対応するセンサの出力値が前記範囲内に属する場合に危険度を増加させ、前記危険度が予め設定された閾値を超えた場合に自動入力が発生したと決定する、請求項１０に記載の自動入力探知方法。
【請求項１２】
コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ、および
少なくとも１つのセンサ
を含み、
前記少なくとも１つのプロセッサは、
前記少なくとも１つのセンサの出力値の入力を受け、
前記少なくとも１つのセンサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定する、電子機器。
【請求項１３】
前記要求される入力は、前記電子機器で提供されるユーザインタフェースに対する前記ユーザの操作をセンシングすることによって生成されるものが要求される第１イベント信号を含む、請求項１２に記載の電子機器。
【請求項１４】
前記少なくとも１つのプロセッサは、
前記自動入力の可否を決定するために、前記第１イベント信号の代わりに、前記電子機器にインストールされた自動入力プログラムの制御にしたがって入力される第２イベント信号が入力されるかを、前記少なくとも１つのセンサの出力値を利用して決定する、請求項１３に記載の電子機器。
【請求項１５】
前記少なくとも１つのプロセッサは、前記自動入力の可否を決定するために、
最近のｎ（前記ｎは２以上の自然数）回の入力それぞれに対応するセンサの出力値を格納する第１プロセス、
前記ｎ回の入力の次の入力に対応するセンサの出力値を、前記格納された出力値のうちの最小値と最大値によって決定される範囲と比較する第２プロセス、および
前記比較の結果に基づいて自動入力の発生可否を決定する第３プロセス
を処理する、請求項１２に記載の電子機器。
【請求項１６】
前記第３プロセスは、
前記次の入力に対応するセンサの出力値が前記範囲内に属さない場合に前記第１プロセスおよび前記第２プロセスを再処理し、前記次の入力に対応するセンサの出力値が前記範囲内に属する場合に危険度を増加させ、前記危険度が予め設定された閾値を超えた場合に自動入力が発生したと決定するプロセスを含む、請求項１５に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、自動入力探知方法、自動入力探知システム、およびコンピュータと結合して自動入力探知方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムに関する。
【背景技術】
【０００２】
電子機器にインストールされて駆動するアプリケーションと関連し、マクロやボット（ｂｏｔ）のような自動入力プログラムを使ってアプリケーションに設計されている要素を容易に迂回しながら、アプリケーションで提供されるサービスの本来の目的とは異なるように動作したり、サービスの本来の目的とは異なる利益を自動で簡単に入手したりする行為が存在する。例えば、モバイルゲームにおいて、マクロプログラムを使い、反復的な入力や精巧さが求められる入力を、人間に代わってマクロプログラムに処理させることにより、サービスを利用する他の正常なユーザに比べて不正に利得を得ようとするユーザが存在する。
【０００３】
このような自動入力プログラムの使用により、他の正常なユーザが自動入力プログラムを利用するユーザに比べて相対的に利益を得られなくなるといった被害が発生しており、サービスを提供する主体が本来意図していたサービスを提供することができなくなるという問題が発生するようになる。
【０００４】
このような自動入力の問題を解決するために、自動入力プログラムのインストールの有無や自動入力プログラムの動作方式による特異性を事前に確認し、以後に自動入力プログラムを利用した自動入力の実行を検査する従来技術や、アプリケーションの動作中にユーザに特定の情報を求める従来技術などが存在する。例えば、特許文献１は、オンラインゲーム内のマクロ防止技術およびアルゴリズムに関し、特定の時間間隔ごとにユーザに特定の情報を要求することにより、マクロを利用したプレイによって発生し得る弊害を防ぐための技術を開示している。
【０００５】
しかし、前者の従来技術は、既存の自動入力プログラムに対するすべての特徴を把握し、これを定期的に管理しなければならず、常に新しい自動入力プログラムを調査しなければならない上に、新しい自動入力プログラムに対する事前対応が不可能であるという問題がある。さらに、後者の従来技術は、ユーザに要求される特定情報のパターンを分析したり、ユーザに特定情報を要求するためのメッセージを分析したりすることにより、要求される特定情報を自動入力プログラムが自動で提供することができるという問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国公開特許第１０−２００７−００３９４１５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
電子機器が含むセンサの出力値に基づいて自動入力の可否を決定することができる自動入力探知方法、自動入力探知システム、およびコンピュータと結合して自動入力探知方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
コンピュータで実現された電子機器と結合して自動入力探知方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、前記自動入力探知方法は、前記電子機器が備えるセンサの出力値の入力を受けるステップ、および前記センサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定するステップを含む、コンピュータプログラムを提供する。
【０００９】
コンピュータで実現された電子機器が実行する自動入力探知方法であって、前記電子機器が備えるセンサの出力値の入力を受けるステップ、および前記センサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定するステップを含む、自動入力探知方法を提供する。
【００１０】
コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ、および少なくとも１つのセンサを含み、前記少なくとも１つのプロセッサは、前記少なくとも１つのセンサの出力値の入力を受け、前記少なくとも１つのセンサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定する、電子機器を提供する。
【発明の効果】
【００１１】
電子機器が含むセンサの出力値に基づいて自動入力の可否を決定することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、自動入力探知システムのプロセッサが含むことのできる構成要素の例を示したブロック図である。
【図４】本発明の一実施形態における、自動入力探知システムが実行することのできる自動入力探知方法の例を示したフローチャートである。
【図５】本発明の一実施形態における、タッチスクリーン環境で自動入力の可否を決定する例を示した図である。
【図６】本発明の一実施形態における、複数のセンサを利用して自動入力を探知する電子機器の例を示した図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１４】
本発明の実施形態に係る自動入力探知システムは、以下で説明される電子機器のようなコンピュータ装置で実現されてよく、本発明の実施形態に係る自動入力探知方法は、上述した電子機器によって実行されてよい。例えば、電子機器は、本発明の一実施形態に係るコンピュータプログラム（一例として、オペレーティングシステムおよびアプリケーション）をインストールおよび駆動してよく、電子機器は、駆動するコンピュータプログラムの制御にしたがって本発明の一実施形態に係る自動入力探知方法を実行してよい。上述したコンピュータプログラムは、コンピュータで実現された電子機器と結合して自動入力探知方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。
【００１５】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１６】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータシステムで実現される固定型端末や移動型端末であってよい。電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットＰＣなどがある。一例として、図１では、電子機器１（１１０）の例としてスマートフォンの形状を示しているが、本発明の実施形態において、電子機器１（１１０）は、実質的に、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な物理的な装置のうちの１つを意味してよい。
【００１７】
通信方式が制限されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これに制限されることはない。
【００１８】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置で実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続する複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も同様に、ネットワーク１７０を介して接続する複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１５０は、第１サービスとして、アプリケーションによるサービス（一例として、ゲームサービス）を複数の電子機器１１０、１２０、１３０、１４０に提供するシステムであってよい。また、サーバ１６０は、第２サービスとして、アプリケーションのインストールファイルを配布するサービスを複数の電子機器１１０、１２０、１３０、１４０に提供するシステムであってよい。このように、アプリケーションで提供されるサービスやアプリケーションのインストールファイルを配布するサービスの一般的な処理技術については、当業者であれば周知の従来技術から容易に理解することができるであろう。本実施形態において、アプリケーションは、サーバ１５０を通じて特定のサービスを提供するコンピュータプログラムであると説明されているが、実施形態によっては、サーバ１５０とは通信せず、自らがアプリケーションに含まれるコードに基づいてアプリケーションがインストールされた電子機器（一例として、電子機器１（１１０））に特定の機能を提供するコンピュータプログラムであってもよい。
【００１９】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１（１１０）、そしてサーバ１５０の内部構成について説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１（１１０）またはサーバ１５０と同一あるいは類似の内部構成を有してよい。
【００２０】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭとディスクドライブのような永久大容量記憶装置は、メモリ２１１、２２１とは区分される別の永久格納装置として電子機器１（１１０）やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされて駆動するブラウザや特定のサービスの提供のために電子機器１（１１０）にインストールされたアプリケーションのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システムがネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００２１】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によってプロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００２２】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１（１１０）および／またはサーバ１５０が他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むこのできる格納媒体（上述した永久格納装置）に格納されてよい。
【００２３】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を含んでよく、出力装置は、ディスプレイやスピーカのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１（１１０）と１つの装置で構成されてよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０と連結するかサーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１にロードされたコンピュータプログラムの命令を処理することによって構成されるサービス画面やコンテンツ画面が、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００２４】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりもさらに多くの構成要素を含んでもよい。しかし、大部分の従来技術構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ（ｔｒａｎｓｃｅｉｖｅｒ）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１（１１０）がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が電子機器１（１１０）にさらに含まれるように実現されてよい。
【００２５】
特に、本発明の実施形態に係る電子機器１（１１０）は、電子機器１（１１０）の移動や振動を感知するためのセンサ（加速度センサ、重力センサ、慣性センサ、回転センサ、磁性センサなど）および電子機器周辺の任意の客体の移動を感知するためのセンサ（近接センサ、照度センサ、カメラなど）のような各種センサのうちの少なくとも１つを含んでよい。
【００２６】
図３は、本発明の一実施形態における、自動入力探知システムのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図４は、本発明の一実施形態における、自動入力探知システムが実行することのできる自動入力探知方法の例を示したフローチャートである。本実施形態において、自動入力探知システムは、上述した電子機器１（１１０）で実現されてよい。図３は、電子機器１（１１０）のプロセッサ２１２が含むことのできる構成要素として出力値受信部３１０および自動入力可否決定部３２０を備えてよく、自動入力可否決定部３２０は、出力値格納部３２１、比較部３２２、および決定部３２３を備えてよい。
【００２７】
このようなプロセッサ２１２およびプロセッサ２１２の構成要素は、図４の自動入力探索方法が含むステップ４１０、４２０、４２１、４２２、４２３を実行してよい。このとき、プロセッサ２１２およびプロセッサ２１２の構成要素は、メモリ２１１が含むオペレーティングシステムのコードおよび／または少なくとも１つのコンピュータプログラムのコードによる命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２１２の構成要素は、電子機器１（１１０）でインストールおよび駆動するコンピュータプログラムのコードが提供する制御命令にしたがってプロセッサ２１２によって実行される、プロセッサ２１２の互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、プロセッサ２１２は、電子機器１（１１０）の制御に関する命令がロードされたメモリ２１１から必要な制御命令を読み取ってよく、読み取った制御命令にしたがい、以下で説明されるステップ４１０、４２０、４２１、４２２、４２３を実行するように電子機器１（１１０）を制御してよい。
【００２８】
ステップ４１０で、出力値受信部３１０は、電子機器１（１１０）が含むセンサの出力値の入力を受けてよい。このとき、出力値受信部３１０は、センサのすべての出力値の入力を受けてもよいが、実施形態によっては、以下で説明される、ユーザの操作が要求される入力が発生する時点の出力値を受信してもよい。すべての出力値の入力を受ける場合には、入力された出力値のうちから、ユーザの操作が要求される入力が発生する時点の出力値を抽出して活用してもよい。ここで、センサは、アプリケーションによって予め設定されたセンサを含んでよく、予め設定されたセンサが２つ以上の場合には、センサ別に出力値を区分して管理してよい。例えば、センサＡに入力された出力値とセンサＢに入力された出力値が、各センサの識別子によって区分されて入力されてよい。より具体的な例として、センサＡの識別子Ａと出力値ａが一対として、センサＢの識別子Ｂと出力値ｂが他の一対として出力値受信部３１０に入力されてよい。このようなセンサの出力値の入力を受けるステップ４１０は、入力が発生するたびに一定周期ごとに実行されてもよいし、特定された時点に実行されてもよい。
【００２９】
ステップ４２０で、自動入力可否決定部３２０は、センサの出力値を利用し、ユーザの操作が要求される入力に対する自動入力の可否を決定してよい。例えば、ユーザの操作が要求される入力は、電子機器１（１１０）で提供されるユーザインタフェースに対するユーザの操作をセンシングすることによって生成されるものが要求される第１イベント信号を含んでよい。例えば、第１イベント信号は、タッチスクリーン環境において、タッチスクリーン上に表示された操作ボタンに対してユーザが指でタッチやマルチタッチ、タッチ＆ドラッグ（ｔｏｕｃｈ  ａｎｄ  ｄｒａｇ）、スワイプ（ｓｗｉｐｅ）、フリック（ｆｌｉｃｋｉｎｇ）などのようなタッチジェスチャをセンシングすることによって生成されるものが要求される信号、または電子機器１（１１０）が含む物理的なボタンや物理的な入力装置のような物理的なユーザインタフェースに対する圧力の発生によって生成されるものが要求される信号などを含んでよい。
【００３０】
この場合、自動入力可否決定部３２０は、ステップ４２０で、第１イベント信号の代わりに、電子機器１（１１０）にインストールされた自動入力プログラムの制御にしたがって入力される第２イベント信号が入力されたかを、センサの出力値を利用して決定してよい。言い換えれば、電子機器１（１１０）に対していかなる形態であってもユーザの操作が発生した場合には、センサの出力値に変化が発生するようになり、自動入力可否決定部３２０は、このような変化に基づいて自動入力の可否を決定できるようになる。
【００３１】
例えば、ユーザが電子機器１（１１０）を手にもって操作する場合、電子機器１（１１０）には、入力と関連して電子機器１（１１０）の物理的な移動や振動が発生するようになり、ユーザが電子機器１（１１０）を床や机においた状態でタッチ入力やボタン入力などを処理したとしても、加速度センサなどでは微細な出力値の変化が感知されるようになる。または、ユーザの操作のためにユーザの手が電子機器１（１１０）に接近することによる近接センサや照度センサの出力値の変化や、カメラに入力されるイメージの変化などによっても、このような客体の接近が感知されるようになる。ユーザの操作が音声入力でなされる場合には、電子機器１（１１０）が含むマイクに入力される音声信号が変化するようになり、自動入力可否決定部３２０は、マイクの出力値に基づいて自動入力の可否を決定してよい。
【００３２】
以下では、自動入力可否決定部３２０が出力値格納部３２１、比較部３２２、および決定部３２３を通じて自動入力の発生可否を決定する、さらに具体的な方法について説明する。
【００３３】
ステップ４２１で、出力値格納部３２１は、最近（最新）のｎ（ｎは２以上の自然数）回の入力に対応するセンサの出力値を格納してよい。例えば、出力値格納部３２１は、最近１０回の入力が発生した時点のセンサの出力値をメモリ２１２や別の格納所に格納しておいてよい。
【００３４】
ステップ４２２で、比較部３２２は、ｎ回の入力の次の入力に対応するセンサの出力値を、格納された出力値のうちの最小値と最大値によって決定される範囲と比較してよい。例えば、ｎ＋１回目の入力に対応するセンサの出力値は１０であり、格納された出力値のうちの最小値と最大値はそれぞれ５と８であると仮定する。このとき、比較部３２２は、出力値１０が最小値５と最大値８によって決定された範囲に含まれるかを判断してよい。
【００３５】
ステップ４２３で、決定部３２３は、比較の結果に基づいて自動入力の発生可否を決定してよい。ｎ＋１回目の入力に対応するセンサの出力値が以前のｎ回の入力に対応するセンサの出力値の範囲を逸脱するということは、相対的に大きな変化が発生したことを意味してよく、このような変化は、ユーザの操作によってセンサの出力値に大きな変更が発生したことを意味してよい。したがって、決定部３２３は、この場合には自動入力は発生していないと判断してよい。したがって、決定部３２３は、次の入力（ｎ＋１回目の入力）に対応するセンサの出力値が範囲（最小値と最大値によって設定される範囲）内に属さない場合には、ステップ４２１およびステップ４２２を再実行してよい。この場合、新たなｎ回の入力に対応するセンサの出力値によって新たな最小値と最大値が設定されてよい。
【００３６】
しかし、センサの出力値が継続して一定した出力値の範囲内で発生するようになれば、センサの出力値に大きな変更が発生していないことを意味してよく、これは、ユーザの操作がなされていない自動入力の可能性があるということを意味してよい。この場合（次の入力に対応するセンサの出力値が範囲内に属する場合）に、決定部３２３は、危険度を増加させてよい。このような過程が繰り返され、継続して現在の出力値が予め設定された範囲（最小値と最大値によって設定される範囲）内に属する場合には、危険度を継続して増加させてよい。このとき、決定部３２３は、危険度が予め設定された閾値を超えた場合に、自動入力が発生したと決定してよい。
【００３７】
言い換えれば、危険度が継続して増加するということは、センサの出力値に大きな変更が発生しない状態で入力がなされていることを意味しており、決定部３２３は、危険度が一定値以上となることを、自動入力が発生したものと認識してよい。このとき、危険度は、最初に予め設定された初期値の状態でメモリ２１２や別の格納所で格納および管理されてよく、予め設定された閾値も、メモリ２１２や別の格納所で格納および管理されてよい。また、危険度は、新たなセンサの出力値が予め設定された範囲を逸脱した場合には、ユーザによる直接的な操作が存在するものと判断し、上述した初期値に初期化されてよい。このような危険度は、一度や二度の測定で正常なユーザの操作を自動入力であると誤判断する危険を減らすために利用されてよい。
【００３８】
図５は、本発明の一実施形態における、タッチスクリーン環境で自動入力の可否を決定する例を示した図である。図５は、電子機器１（１１０）で駆動するアプリケーションにしたがって提供されるサービス画面５１０の例を示している。サービス画面５１０は、一例として、モバイルゲームのように多様な操作のためのユーザインタフェースを含んでもよいが、図５では、説明の便宜のために、１つのユーザインタフェースとして仮想のボタンＡ５２０が含まれた例を示している。
【００３９】
このとき、ユーザがボタンＡ５２０の表示された領域を指で順に複数回タッチして複数回の入力を発生させたと仮定する。このようなユーザの操作によって発生する圧力は毎回異なるため、このような圧力によって発生する電子機器１（１１０）の振動は、一例として、加速度センサによってセンシングされて出力値が生成されてよい。このとき、ｎ回の入力による出力値の最小値は１０、最大値は１００、危険度は１、予め設定された閾値は１０であると仮定する。ｎ＋１回目の入力による出力値が５０であれば、最小値１０と最大値１００によって設定された範囲に含まれるため、電子機器１（１１０）は危険度を２に増加させてよい。しかし、危険度が予め設定された閾値１０をまだ超えていないため、電子機器１（１１０）は、継続してセンサの出力値の入力を受けて自動入力の発生可否を確認してよい。このために、電子機器１（１１０）は、再びｎ回の入力による出力値の入力を受けてよい。２回目の試みにおいて、出力値の最小値は５、最大値は４０、ｎ＋１回目の入力による出力値は３０であると仮定する。この場合にも、電子機器１（１１０）は、現在の出力値は３０であって最小値５と最大値４０によって設定された範囲に含まれるため、危険度を３に増加させてよい。しかし、危険度が予め設定された閾値１０をまだ超えていないため、電子機器１（１１０）は、継続してセンサの出力値の入力を受けて自動入力の発生可否を確認してよい。３回目の試みのために、電子機器１（１１０）は、再びｎ回の入力による出力値の入力を受けてよい。このような３回目の試みにおいて、出力値の最小値は７、最大値は８０、ｎ＋１回目の入力による出力値は１００であると仮定する。この場合、電子機器１（１１０）は、現在のセンサの出力値である１００は、最小値７と最大値８０によって設定された範囲から逸脱するため、ユーザの操作による入力が発生していると判断してよい。したがって、電子機器１（１１０）は、危険度３を初期値である１に初期化し、また初めから自動入力の発生可否を決定するための過程を実行してよい。
【００４０】
この反面、自動入力が実行中の場合であれば、センサの出力値はその変化量が相対的に低いはずであり、これにより、現在の出力値は、最小値と最大値によって設定される範囲に含まれる確率が高い。この場合、持続して危険度が増加するようになり、危険度が予め設定された閾値を超えた場合には、電子機器１（１１０）は自動入力が発生していることを確認してよい。
【００４１】
ユーザが自動入力プログラムを動作させた電子機器１（１１０）をポケットやカバンなどに入れたままで移動したり交通を利用して移動したりしたとしても、電子機器１（１１０）のセンサの種類によっては出力値の変化量が限定的なこともある。例えば、ユーザが車の助手席に電子機器１（１１０）をおいた状態で運転をする場合について考えてみる。この場合、加速度センサや慣性センサの出力値の変化量は、相対的に大きい値を有するようになる。しかし、近接センサの出力値の変化量やジャイロセンサの出力値の変化量は、相対的に小さい値を有するようになる。一方、ユーザが電子機器１（１１０）をポケットに入れた状態で歩き回る場合もある。このような場合には、ユーザの歩きにしたがって発生する加速度センサや慣性センサの出力値の変化量は相対的に大きくても、限定的な場合がある。
【００４２】
したがって、本発明の実施形態に係る自動入力探知方法およびシステムは、多数のセンサの出力値を組み合わせて活用するか、現在状況を先に判断した後、自動入力探知のために利用するセンサを選択して利用してよい。現在状況を判断する技術は、当業者であれば、センサ値を利用してユーザの状態を把握するための周知の従来技術から容易に理解することができるであろう。また、把握された状態に適したセンサの選択は、予め経験的な方法によって構築されてよく、該当の情報がコンピュータプログラム（アプリケーション）に予め設定されていてもよい。
【００４３】
多数のセンサの出力値を組み合わせて利用する場合には、センサ別に現在の出力値と予め設定された範囲とを比較し、範囲に属する現在の出力値のセンサ別の個数を利用してよい。例えば、５種類の互いに異なるセンサＡ、Ｂ、Ｃ、Ｄ、Ｅに対する現在の出力値ａ、ｂ、ｃ、ｄ、ｅが存在し、５種類の互いに異なるセンサそれぞれのための範囲が設定されていると仮定する。このとき、一例として、４種類以上の互いに異なるセンサで出力値が範囲内に含まれると確認された場合に、危険度を増加させてよい。
【００４４】
図６は、本発明の一実施形態における、複数のセンサを利用して自動入力を探知する電子機器の例を示した図である。図６の電子機器６００は、上述した電子機器１（１１０）に対応してよく、図６に示すように、複数のセンサ６１０、イベント受信部６２０、および自動入力探知部６３０を備えてよい。
【００４５】
実質的に、イベント受信部６２０は、上述した出力値受信部３１０に対応してよく、自動入力探知部６３０は、自動入力可否決定部３２０に対応してよい。ただし、出力値受信部３１０は、複数のセンサ６１０それぞれから出力値を受信して自動入力探知部６３０に伝達してもよいし、複数のセンサ６１０のうちから選択される少なくとも１つのセンサから出力値を受信して自動入力探知部６３０に伝達してもよい。このとき、自動入力探知部６３０は、センサ別に出力値を格納してよく、センサ別に最小値と最大値の範囲を設定してよい。また、センサ別に現在の出力値と範囲とを比較し、それぞれの比較結果に基づいて自動入力の発生可否を決定してよい。
【００４６】
以上のように、本発明の実施形態によると、電子機器が含むセンサの出力値に基づいて自動入力の可否を決定することができる。
【００４７】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成（ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【００４８】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供するために、いかなる種類の機械、コンポーネント、物理装置、仮想装置（ｖｉｒｔｕａｌ  ｅｑｕｉｐｍｅｎｔ）、コンピュータ格納媒体または装置に具現化（ｅｍｂｏｄｙ）されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【００４９】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【００５０】
以上のように、実施形態を限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、および／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００５１】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００５２】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
2018113031.tif 000003
【図２】
2018113031.tif 000004
【図３】
2018113031.tif 000005
【図４】
2018113031.tif 000006
【図５】
2018113031.tif 000007
【図６】
2018113031.tif 000008