(57)【特許請求の範囲】
【請求項１】
移動デバイスの使用法を管理するための方法であって、
移動デバイスが車両の移動と一致する速さで移動していることをユーザの移動デバイスが検出したことに応答して、前記移動デバイスの前向き光学デバイスおよびユーザ対面光学デバイスからの光学データを移動中の車両の内部から検出するステップと、
前記光学データを解析し、車両マーカのセットを識別するステップと、
前記ユーザ対面光学デバイスによって検出されたユーザ対面光学データからの前記識別された車両マーカのセットに対して前記ユーザの車両内位置を決定するステップと、
前記ユーザの前記車両内位置が運転席であると決定されたことに応答して、前記移動デバイスの機能を制限するための制限使用プロトコルを開始するステップと
を含む方法。
【請求項２】
前記移動デバイスの前記速さが車両の移動と一致することを検出することが、
前記移動デバイスのＧＰＳコンポーネントから、速度閾値を超える速度データを受信することをさらに含む、請求項１に記載の方法。
【請求項３】
前記光学データを検出するステップが、
前記前向き光学デバイスで前向き光学データを検出すること、および前記ユーザ対面光学デバイスでユーザ対面光学データを検出することを含み、前記ユーザ対面光学データが、前記前向き光学データと実質的に同時に検出される、請求項１に記載の方法。
【請求項４】
前記ユーザの前記車両内位置を決定するステップが、
前記前向き光学デバイスによって検出される前向き光学データから、前記車両マーカのセット内の１つまたは複数のマーカが前記車両を操縦するためのものであることを識別すること、および
前記ユーザが前記１つまたは複数のマーカのすぐ前に位置すると決定されたことに応答して、前記ユーザの前記車両内位置が前記運転席であると決定すること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記ユーザの前記車両内位置を決定するステップが、
前記移動デバイスによって前記移動デバイスの非光学配向データを検出して、１）前記前向き光学デバイスおよび前記ユーザ対面光学デバイスからの光学データが検出されたときに、前記識別された車両マーカのセットとの関連で前記移動デバイスの前記ユーザの前記車両内位置を決定すること、ならびに、２）検出された非光学配向データの変化を監視して、前記前向き光学デバイスおよび反対のユーザ対面光学デバイスから、変化した非光学配向データに関連付けられる追加の光学データを検出すること、のうちの少なくとも１つを行うこと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記ユーザの前記車両内位置を決定することができないことに応答して、前記制限使用プロトコルを開始するステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
制限使用プロトコルを開始するステップが、ゲームプレイを制限すること、およびテキスティングを制限することのうちの少なくとも１つをさらに含む、請求項１に記載の方法。
【請求項８】
移動デバイスの使用法を管理するためのコンピュータプログラムであって、
ユーザの移動デバイスが車両の移動と一致する速さで移動していることを検出したことに応答して、光学データを移動中の車両の内部から検出するための第１のプログラム命令であって、前記光学データは、前記移動デバイスの前向き光学デバイスおよびユーザ対面光学デバイスによって検出される、第１のプログラム命令と、
前記検出された光学データを解析し、車両マーカのセットを識別するための第２のプログラム命令と、
前記ユーザ対面光学デバイスによって検出されたユーザ対面光学データからの前記車両マーカのセットに対してユーザの車両内位置を決定するための第３のプログラム命令と、
前記ユーザの前記車両内位置が運転席であると決定されたことに応答して、前記移動デバイスの機能を制限するための制限使用プロトコルを開始するための第４のプログラム命令とを備える、コンピュータプログラム。
【請求項９】
前記第１のプログラム命令が、
前記移動デバイスのＧＰＳコンポーネントから、速度閾値を超える速度データを受信するための第５のプログラム命令をさらに備える、請求項８に記載のコンピュータプログラム。
【請求項１０】
前記第１のプログラム命令が、
前記前向き光学デバイスで前向き光学データを検出するための第６のプログラム命令と、
前記ユーザ対面光学デバイスでユーザ対面光学データを取り込むための第７のプログラム命令とをさらに備え、前記ユーザ対面光学データが、前記前向き光学データと実質的に同時に検出される、請求項８に記載のコンピュータプログラム。
【請求項１１】
前記第３のプログラム命令が、
前記前向き光学デバイスによって検出される前向き光学データから、前記識別された車両マーカのセット内の１つまたは複数のマーカが前記車両を操縦するためのものであることを識別するための第８のプログラム命令と、
前記ユーザが前記１つまたは複数のマーカのすぐ前に位置すると決定されたことに応答して、前記ユーザの前記車両内位置が前記運転席であると決定するための第９のプログラム命令とをさらに備える、請求項８に記載のコンピュータプログラム。
【請求項１２】
前記第３のプログラム命令が、
前記移動デバイスの非光学配向データを検出して、１）前記前向き光学デバイスおよび前記ユーザ対面光学デバイスからの光学データが検出されたときに、前記識別された車両マーカのセットとの関連で前記移動デバイスの前記ユーザの前記車両内位置を決定すること、ならびに、２）検出された非光学配向データの変化を監視して、前記前向き光学デバイスおよび反対のユーザ対面光学デバイスから追加の光学データを検出し、前記追加の光学データを変化した非光学配向データに関連付けること、のうちの少なくとも１つを行うための第１０のプログラム命令
をさらに備える、請求項８に記載のコンピュータプログラム。
【請求項１３】
前記ユーザの前記車両内位置を決定することができないことに応答して、前記制限使用プロトコルを開始するための第１１のプログラム命令をさらに備える、請求項８に記載のコンピュータプログラム。
【請求項１４】
前記第４のプログラム命令が、
ゲームプレイおよびテキスティングのうちの少なくとも１つを制限するための第１２のプログラム命令をさらに備える、請求項８に記載のコンピュータプログラム。
【請求項１５】
移動デバイスの使用法を管理するための装置であって、
バスシステムと、
前記バスシステムに接続され、コンピュータ使用可能プログラムコードを含むメモリと、
前記バスシステムに接続された処理ユニットであって、ユーザの移動デバイスが車両の移動と一致する速さで移動していることを検出したことに応答して、前記移動デバイスに設けられた前向き光学デバイスおよびユーザ対面光学デバイスによって検出される光学データを移動中の車両の内部から検出し、前記検出された光学データを解析し、車両マーカのセットを識別し、前記ユーザ対面光学デバイスによって検出されたユーザ対面光学データからの前記識別された車両マーカのセットに対してユーザの車両内位置を決定し、前記ユーザの前記車両内位置が運転席であると決定されたことに応答して、前記移動デバイスの機能を制限するための制限使用プロトコルを開始するために前記コンピュータ使用可能プログラムコードを実行する処理ユニットと
を備える装置。
【請求項１６】
前記処理ユニットが、前記移動デバイスのＧＰＳコンポーネントから、速度閾値を超える速度データを受信するために前記コンピュータ使用可能プログラムコードをさらに実行する、請求項１５に記載の装置。
【請求項１７】
前記処理ユニットが、前記前向き光学デバイスで前向き光学データを検出し、前記ユーザ対面光学デバイスでユーザ対面光学データを検出するために前記コンピュータ使用可能プログラムコードをさらに実行し、前記ユーザ対面光学データが、前記前向き光学データと実質的に同時に検出される、請求項１５に記載の装置。
【請求項１８】
前記処理ユニットが、前記前向き光学デバイスによって検出される前向き光学データから、前記識別された車両マーカのセット内の１つまたは複数のマーカが前記車両を操縦するためのものであることを識別し、前記ユーザが前記１つまたは複数のマーカのすぐ前に位置すると決定されたことに応答して、前記ユーザの前記車両内位置が前記運転席であると決定するために前記コンピュータ使用可能プログラムコードをさらに実行する、請求項１５に記載の装置。
【請求項１９】
前記処理ユニットが、前記移動デバイスの非光学配向データを検出して、１）前記前向き光学デバイスおよび前記ユーザ対面光学デバイスからの光学データが検出されたときに、前記識別された車両マーカのセットとの関連で前記移動デバイスの前記ユーザの前記車両内位置を決定すること、ならびに、２）検出された非光学配向データの変化を監視して、前記前向き光学デバイスおよび反対のユーザ対面光学デバイスから、追加の光学データを検出し、前記追加の光学データを変化した非光学配向データに関連付けること、のうちの少なくとも１つを行うために前記コンピュータ使用可能プログラムコードをさらに実行する、請求項１５に記載の装置。
【請求項２０】
前記処理ユニットが、前記ユーザの前記車両内位置を決定することができないことに応答して、前記制限使用プロトコルを開始するために前記コンピュータ使用可能プログラムコードをさらに実行する、請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
[0001]本願は、２０１３年１１月５日に出願された米国特許出願第１４／０７２，１６７号、および２０１２年１１月１２日に出願された第６１／７２５，２００号の利益を主張し、それらのそれぞれは、その全体が参照により本明細書に組み込まれる。
【０００２】
[0002]本発明は、一般に移動デバイスの操作を管理することに関する。より詳細には、本発明は、車両運行中に移動デバイス使用法を修正することに関する。
【背景技術】
【０００３】
[0003]移動デバイスは、本質的には、情報、娯楽、および通信の手段にユーザが即座にアクセスできるようにするポータブルコンピューティングデバイスである。移動デバイスの例は、それだけには限らないが、スマートフォン、タブレット、およびラップトップを含む。移動デバイスが技術的に進化するにつれて、コスト障壁が下がり、その結果、移動デバイスの普及および使用可能性は、指数関数的に増大した。控えめな推定でも、米国内の移動デバイスの数は、いまや同国の全人口を超える。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]ハイテク好きは、移動デバイスを自分達の日常生活にますますとけ込ませている。しかし、多くのユーザは、危険な状況で自分達の移動デバイスを使用するのを控えるという常識と自制を欠いている。移動デバイスの安全使用を強制するための手段として法律が制定されたが、違反はしばしば気付かれず、したがって強制されることはまずない。
【課題を解決するための手段】
【０００５】
[0005]本明細書に記載の例示的な実施形態は、移動中の車両内での移動デバイス使用法を管理するための、コンピュータによって実施される方法、装置、およびコンピュータプログラム製品を提供する。ユーザが車両の移動と一致する速さで移動していることを検出したことに応答して、画像のセットまたは光学データが移動中の車両の内部から取り込まれる、または検出される。画像のセットまたは光学データを解析し、車両マーカ（ｖｅｈｉｃｕｌａｒ  ｍａｒｋｅｒ）のセットを識別する。ユーザの車両内位置が車両マーカのセットに対して決定される。ユーザの車両内位置が運転席である場合には、制限使用プロトコル（ｒｅｓｔｒｉｃｔｅｄ  ｕｓｅ  ｐｒｏｔｏｃｏｌ）が開始される。
【図面の簡単な説明】
【０００６】
【図１】[0006]例示的な実施形態が実装され得るネットワークデータ処理システムの絵画図である。
【図２】[0007]例示的な実施形態が実装され得るデータ処理システムのブロック図である。
【図３】[0008]例示的な実施形態が実装され得る移動デバイスのブロック図である。
【図４】[0009]例示的な実施形態によるユーザの車両内位置を決定するために使用され得る画像のセットの図である。
【図５】[0010]例示的な実施形態によるユーザの車両内位置を決定するために使用され得る画像の別のセットの図である。
【図６】[0011]例示的な実施形態による移動デバイスの操作を管理するためのプロセスの流れ図である。
【発明を実施するための形態】
【０００７】
[0012]当業者には理解されるように、本発明の態様は、システム、方法、またはコンピュータプログラム製品として実施（ｅｍｂｏｄｙ）され得る。したがって、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または本明細書ではすべて全体的に「回路」「モジュール」もしくは「システム」と呼ばれることがあるソフトウェア態様とハードウェア態様を組み合わせた実施形態の形態をとることができる。さらに、本発明の態様は、コンピュータ可読プログラムコードが含まれる（ｅｍｂｏｄｉｅｄ）１つまたは複数のコンピュータ可読媒体に含まれるコンピュータプログラム製品の形態をとることができる。
【０００８】
[0013]１つまたは複数のコンピュータ可読媒体の任意の組合せが使用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体であってもコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、たとえば、それだけには限らないが、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより特定な例（非網羅的なリスト）は、１つまたは複数の配線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のものの任意の好適な組合せを含むことになる。本書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって、またはそれらと共に使用するためのプログラムを含む、または記憶することができる任意の有形の媒体であってよい。
【０００９】
[0014]コンピュータ可読信号媒体は、コンピュータ可読プログラムコードが含まれている伝搬データ信号を、たとえばベースバンドで、または搬送波の一部として含んでもよい。そのような伝搬信号は、それだけには限らないが、電磁気、光、またはそれらの任意の好適な組合せを含めて、様々な形態のどれをとってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、命令実行システム、装置、またはデバイスによって、またはそれらと共に使用するためのプログラムを伝える、伝搬する、または輸送することができる任意のコンピュータ可読媒体であってよい。
【００１０】
[0015]コンピュータ可読媒体に含まれるプログラムコードは、それだけには限らないが、無線、有線、光ファイバケーブル、ＲＦなど、または前述のものの任意の好適な組合せを含めて、任意の適切な媒体を使用して送信されてよい。
【００１１】
[0016]本発明の態様ための演算を実施するためのコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などオブジェクト指向プログラミング言語、およびＣプログラミング言語または同様のプログラミング言語など従来の手続き型プログラミング言語を含めて、１つまたは複数のプログラミング言語の任意の組合せで書かれてもよい。プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、または全体的にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含めて任意のタイプのネットワークを通じてユーザのコンピュータに接続されても、外部コンピュータに（たとえば、インターネットサービスプロバイダを使用してインターネットを通じて）接続されてもよい。
【００１２】
[0017]以下、本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータプログラム製品の流れ図および／またはブロック図を参照して述べられている。流れ図および／またはブロック図の各ブロック、ならびに流れ図および／またはブロック図内のブロックの組合せは、コンピュータプログラム命令によって実施され得ることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置に提供され、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が流れ図および／またはブロック図の１つまたは複数のブロック内で指定された機能／行為を実施するための手段を生み出すような機械を作り出すことができる。
【００１３】
[0018]これらのコンピュータプログラム命令は、コンピュータ可読媒体内に記憶された命令が、流れ図および／またはブロック図の１つまたは複数のブロック内で指定された機能／行為を実施する命令を含む製造品を作り出すような特定の形で機能するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに指示することができるコンピュータ可読媒体内に記憶されてもよい。
【００１４】
[0019]これらのコンピュータプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータまたは他のプログラム可能な装置上で実行される命令が流れ図および／またはブロック図の１つまたは複数のブロック内で指定された機能／行為を実施するためのプロセスを提供するような、コンピュータによって実施されるプロセスを生成するように、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実施させてもよい。
【００１５】
[0020]次に、これらの図を参照し、特に図１〜図２を参照すると、例示的な実施形態が実装され得るデータ処理環境の例示的な図が提供されている。図１〜図２は例示的なものにすぎず、様々な実施形態が実装され得る環境に関してどのような限定を主張するものでも暗示するものでもないことを理解されたい。図の環境に対して多数の修正が加えられ得る。
【００１６】
[0021]図１は、例示的な実施形態が実装され得るデータ処理システムのネットワークを表したものを示す。ネットワークデータ処理システム１００は、例示的な実施形態が実装され得るコンピュータのネットワークである。ネットワークデータ処理システム１００はネットワーク１０２を含み、ネットワーク１０２は、ネットワークデータ処理システム１００内で共に接続される様々なデバイスとコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、無線通信リンク、または光ファイバケーブルなど、接続を含むことができる。
【００１７】
[0022]図の例では、サーバ１０４およびサーバ１０６が、記憶ユニット１０８と共にネットワーク１０２に接続する。さらに、クライアント１１０、１１２がネットワーク１０２に接続する。クライアント１１０、１１２は、たとえば、パーソナルコンピュータであってもネットワークコンピュータであってもよい。図の例では、サーバ１０４が、ブートファイル、オペレーティングシステムイメージ、およびアプリケーションなどデータをクライアント１１０、１１２に提供する。クライアント１１０、１１２は、この例では、サーバ１０４に対するクライアントである。ネットワークデータ処理システム１００は、図示されていない追加のサーバ、クライアント、および他のデバイスを含んでもよい。
【００１８】
[0023]また、ネットワークデータ処理システム１００は、ＧＰＳ衛星１１４を含む。ＧＰＳ衛星１１４は、移動デバイス１１６など移動デバイスがジオロケーションサービスを提供することを可能にする全世界測位システム内に統合された１つまたは複数の衛星である。図１におけるこの例示的な例では、移動デバイス１１６は、車両１１８で移動するユーザの所有する移動電話である。ＧＰＳ衛星１１４を使用して、移動デバイス１１６は、ユーザが車両の動きと一致する速さで移動していると決定することが可能である。移動デバイス１１６は、ユーザが車両１１８の運転席に位置し、したがって推定運転者であるかどうか判定することができる。ユーザが、現在、車両１１８を操縦している間、移動デバイス１１６を操作しようと試みていると移動デバイス１１６が決定した場合、制限使用プロトコルが開始される。制限使用プロトコルは、移動デバイス１１６の操作性を制限する、または修正する任意の形態をとることができる。たとえば、制限使用プロトコルは、移動デバイス１１６の任意の使用を妨げても、テキスティングおよびゲームプレイなどある種の機能の使用を妨げてもよい。しかし、ユーザが運転席に位置しない場合には、移動デバイス１１６は、ユーザが単に同乗者であり、移動デバイス使用法は無制限であると決定してもよい。
【００１９】
[0024]ネットワークデータ処理システム１００内に位置するプログラムコードは、コンピュータ記録可能記憶媒体上に記憶され、使用するためにデータ処理システムまたは他のデバイスにダウンロードされてもよい。たとえば、プログラムコードは、サーバ１０４上のコンピュータ記録可能記憶媒体上に記憶され、クライアント１１０上で使用するためにネットワーク１０２を介してクライアント１１０にダウンロードされてもよい。
【００２０】
[0025]図の例では、ネットワークデータ処理システム１００は、インターネットを含み、ネットワーク１０２は、プロトコルの伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）スイートを使用し互いに通信するネットワークおよびゲートウェイの世界的な集まりを含む。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府、教育、および他のコンピュータシステムからなる主要ノードまたはホストコンピュータ間の高速データ通信ラインのバックボーンがある。当然ながら、ネットワークデータ処理システム１００は、たとえば、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、またはワイドエリアネットワーク（ＷＡＮ）など、いくつかの異なるタイプのネットワークとして実装されてもよい。図１は、例として意図されており、様々な例示的な実施形態に対するアーキテクチャ上の限定とするものではない。
【００２１】
[0026]次に図２を参照すると、例示的な実施形態が実装され得るデータ処理システムのブロック図が示されている。データ処理システム２００は、例示的な実施形態のために、プロセスを実装するコンピュータ使用可能プログラムコードまたは命令が位置し得る図１におけるサーバ１０４またはクライアント１１０などコンピュータの一例である。この例示的な例では、データ処理システム２００は、通信ファブリック２０２を含み、通信ファブリック２０２は、プロセッサユニット２０４、メモリ２０６、永続ストレージ２０８、通信ユニット２１０、入力／出力（Ｉ／Ｏ）ユニット２１２、およびディスプレイ２１４の間で通信を提供する。
【００２２】
[0027]プロセッサユニット２０４は、メモリ２０６内にロードされ得るソフトウェアのための命令を実行するように働く。プロセッサユニット２０４は、特定の実装に応じて、１つまたは複数のプロセッサのセットであっても、マルチプロセッサコアであってもよい。さらに、プロセッサユニット２０４は、主プロセッサが単一のチップ上で２次プロセッサと共に存在する１つまたは複数の異種プロセッサシステムを使用して実装されてもよい。他の例示的な例として、プロセッサユニット２０４は、複数の同じタイプのプロセッサを含む対称マルチプロセッサシステムであってもよい。
【００２３】
[0028]メモリ２０６および永続ストレージ２０８は、記憶デバイスの例である。記憶デバイスは、一時的および／または永続的に情報を記憶することが可能である任意のハードウェアである。メモリ２０６は、これらの例では、たとえばランダムアクセスメモリ、または任意の他の好適な揮発性もしくは不揮発性記憶デバイスであってよい。永続ストレージ２０８は、特定の実装に応じて様々な形態をとることができる。たとえば、永続ストレージ２０８は、１つまたは複数の構成要素またはデバイスを含んでもよい。たとえば、永続ストレージ２０８は、ハードドライブ、フラッシュメモリ、書換え可能光ディスク、書換え可能磁気テープ、または上記の何らかの組合せであってよい。永続ストレージ２０８によって使用される媒体もまた、取外し式であってよい。たとえば、取外し式ハードドライブが永続ストレージ２０８に使用されてもよい。
【００２４】
[0029]通信ユニット２１０は、これらの例では、他のデータ処理システムまたはデバイスとの通信を可能にする。これらの例では、通信ユニット２１０は、ネットワークインターフェースカードである。通信ユニット２１０は、物理的な通信リンクと無線通信リンクのどちらか、または両方の使用を通じて通信を提供することができる。
【００２５】
[0030]入力／出力ユニット２１２は、データ処理システム２００に接続され得る他のデバイスとのデータの入力および出力を可能にする。たとえば、入力／出力ユニット２１２は、キーボードおよびマウスを通じてユーザ入力のための接続を提供することができる。さらに、入力／出力ユニット２１２は、出力をプリンタに送ることができる。ディスプレイ２１４は、情報をユーザに対して表示するための機構を提供する。
【００２６】
[0031]オペレーティングシステムおよびアプリケーションまたはプログラムのための命令が、永続ストレージ２０８上に位置する。これらの命令は、プロセッサユニット２０４によって実行するためにメモリ２０６内にロードされ得る。様々な実施形態のプロセスが、メモリ２０６などメモリ内に位置し得る、コンピュータによって実施される命令を使用して、プロセッサユニット２０４によって実施され得る。これらの命令は、プログラムコード、コンピュータ使用可能プログラムコード、またはコンピュータ可読プログラムコードと呼ばれ、プロセッサユニット２０４内のプロセッサによって読み取られ、実行され得る。様々な実施形態におけるプログラムコードは、メモリ２０６または永続ストレージ２０８など、異なる物理的または有形のコンピュータ可読媒体に含まれてもよい。
【００２７】
[0032]プログラムコード２１６は、選択可能に取外し式である、またプロセッサユニット２０４によって実行するためにデータ処理システム２００上にロードまたは転送され得るコンピュータ可読媒体２１８上に機能可能な形態で位置する。プログラムコード２１６およびコンピュータ可読媒体２１８は、これらの例においてコンピュータプログラム製品２２０を形成する。一例では、コンピュータ可読媒体２１８は、たとえば、永続ストレージ２０８の一部であるハードドライブなど記憶デバイス上に転送するために永続ストレージ２０８の一部であるドライブまたは他のデバイス内に挿入または配置される光ディスクまたは磁気ディスクなど、有形の形態にあってよい。有形の形態では、コンピュータ可読媒体２１８は、データ処理システム２００に接続されるハードドライブ、サムドライブ（ｔｈｕｍｂ  ｄｒｉｖｅ）、またはフラッシュメモリなど永続ストレージ２０８の形態をとることもできる。コンピュータ可読媒体２１８の有形の形態は、コンピュータ記録可能記憶媒体とも呼ばれる。場合によっては、コンピュータ記録可能記憶媒体２１８は、取外し式でなくてもよい。
【００２８】
[0033]代替として、プログラムコード２１６は、コンピュータ可読媒体２１８から、通信ユニット２１０への通信リンクを通じて、および／または入力／出力ユニット２１２への接続を通じてデータ処理システム２００に転送されてもよい。この通信リンクおよび／または接続は、例示的な例において物理的なものであっても無線でもよい。コンピュータ可読媒体は、プログラムコードを含む通信リンクまたは無線伝送など非有形の媒体の形態をとることもできる。
【００２９】
[0034]いくつかの例示的な実施形態では、プログラムコード２１６は、データ処理システム２００内で使用するために、ネットワークを介して、別のデバイスまたはデータ処理システムから永続ストレージ２０８にダウンロードされてもよい。たとえば、サーバデータ処理システム内のコンピュータ可読記憶媒体内に記憶されたプログラムコードは、ネットワークを介してサーバからデータ処理システム２００にダウンロードされてもよい。プログラムコード２１６を提供するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、またはプログラムコード２１６を記憶および送信することが可能な何らかの他のデバイスであってもよい。
【００３０】
[0035]データ処理システム２００用に示されている様々な構成要素は、様々な実施形態が実装され得る手法に対するアーキテクチャ上の限定を与えようとするものではない。様々な例示的な実施形態は、データ処理システム２００用に示されている構成要素に加えて、またはそれらの代わりに構成要素を含むデータ処理システム内で実装され得る。図２に示されている他の構成要素は、図の例示的な例より様々なものとすることができる。
【００３１】
[0036]一例として、データ処理システム２００内の記憶デバイスは、データを記憶することができる任意のハードウェア装置である。メモリ２０６、永続ストレージ２０８、およびコンピュータ可読媒体２１８が、有形の形態にある記憶デバイスの例である。
【００３２】
[0037]他の例では、バスシステムが、通信ファブリック２０２を実装するために使用され、システムバスまたは入力／出力バスなど１つまたは複数のバスから構成されてもよい。当然ながら、バスシステムは、バスシステムに接続された様々な構成要素またはデバイス間でデータの転送を可能にする任意の好適なタイプのアーキテクチャを使用して実装されてもよい。さらに、通信ユニットは、モデムまたはネットワークアダプタなど、データを送信および受信するために使用される１つまたは複数のデバイスを含んでもよい。さらに、メモリは、たとえば、メモリ２０６、または通信ファブリック２０２内に存在し得るインターフェースおよびメモリコントローラハブ内に見られるものなどキャッシュであってもよい。
【００３３】
[0038]移動デバイスの急増は、一部には急速に進歩する技術、およびコスト障壁の解消によって可能になった。当然ながら、移動デバイス使用法もまた増大した。移動デバイスの無責任な使用を抑制しようと試みて、エチケットの規則と常識を増やし、ときには強制するために、いくつかの制限が課された。たとえば、常識は、移動デバイスの操作を試みることが賢明でないことを示す。なぜなら、注意散漫な運転者は、自分自身、その同乗者、および路上の他者に対して危険をもたらすからである。また、法的な制限も、運転者による移動デバイスの使用を制限するために課された。しかし、法律は、異なる法域にわたって一貫性がなく、様々である。したがって、本発明の目的は、移動デバイスの責任ある操作を確保するための、追加の技術的な防護対策を提供することである。
【００３４】
[0039]本明細書で開示される技術的な防護対策は、一部には、移動デバイスがユーザの移動速度を計算することを可能にする既存のＧＰＳ技術を使用する。そのような機能は、一般に、マッピングおよびナビゲーションアプリケーションで使用される。ユーザの速度を使用し、移動速度が人の二足歩行の動きの閾値速度を超える場合、移動デバイスユーザが移動中の車両内にいるかどうか判定することができる。移動中の車両内での移動デバイス使用法に対する全体に及ぶ一時停止は非現実的であり望ましくないので、制限は、移動中の車両の運転者だけを対象とするべきである。したがって、移動デバイス使用法を制限するための決定要因としてユーザの車両内位置を移動デバイスが決定することを可能にする解決策が必要とされる。移動中の車両の運転席に座っている個人はその車両を運転していると推定される可能性があり、したがって、ユーザの車両内位置に根拠を置く移動デバイス使用法の制限が達成され得る。
【００３５】
[0040]したがって、一実施形態は、移動中の車両内での移動デバイス使用法を管理するための、コンピュータによって実施される方法、装置、およびコンピュータプログラム製品を提供する。ユーザが車両の移動と一致する速さで移動していることを検出したことに応答して、画像のセットまたは光学データが移動中の車両の内部から取り込まれる、または検出される。画像のセットまたは光学データを解析し、車両マーカのセットを識別する。ユーザの車両内位置が車両マーカのセットに対して決定される。ユーザの車両内位置が運転席である場合には、制限使用プロトコルが開始される。
【００３６】
[0041]図３は、例示的な実施形態が実装され得る移動デバイスのブロック図である。具体的には、移動デバイス３００は、図１における移動デバイス１１６などコンピューティングデバイスである。さらに、図３におけるこの例示的な例では、移動デバイス３００はスマートフォンである。他の実施形態では、移動デバイス３００は、ラップトップ、タブレットコンピュータ、または同様の機能を提供することが可能な類似の構成要素を有する任意の他のコンピューティングデバイスであってよい。
【００３７】
[0042]移動デバイス３００の操作は、安全でない状況でのその使用を妨げるように制限され、または他の方法で管理され得る。移動デバイス３００を操作することと、車両を運転することなど悲劇的な結果を引き起こす可能性がある別の行動を行うこととの間でユーザの注意が普通と違って分かれている場合、状況は安全でないと見なされてもよい。移動デバイス３００の操作に対する制限は、制限使用プロトコル３０２に明記され得る。制限使用プロトコル３０２は、移動デバイス３００の操作を律する規則である。これらの規則は、移動デバイス３００の使用が修正される、または他の方法で制限される状況を識別する。制限使用プロトコル３０２は、移動デバイス３００の使用および操作に対する完全な制限を指定しても、ユーザがアプリケーションのある種の機能にアクセスするのを単純に妨げてもよい。たとえば、制限使用プロトコル３０２は、運転者がテキスティングまたはゲームをするのを妨げるが、運転者が緊急電話をかけることを可能にしてもよい。これらの規則は、州または連邦の法律によって確立されても、携帯電話サービスプロバイダによって確立されてもよい。さらに、制限使用プロトコル３０２は、ユーザによって作成されても、親または未成年ユーザの世話人など第三者によって作成されてもよい。
【００３８】
[0043]本発明の一目的は、運転者による移動デバイス３００の使用を管理することである。そのために、制限使用プロトコル３０２は、特定の速さが達成され所定の時間量の間維持された後で移動デバイス３００の使用が制限され得るように、より荒い（more granular）設定を含んでもよい。したがって、制限使用プロトコル３０２は、事故がより悲劇的なものになり得る高速道路の速さで運転者が移動デバイス３００を操作するのを妨げ、ユーザが停止信号で停止しているとき移動デバイス３００の操作を可能にしてもよい。
【００３９】
[0044]他の同様の例では、移動デバイス３００の使用は、ユーザが通学路の通過を示す速さで移動しているとき制限されてもよい。たとえば、都市部および郊外の通学速度地域（ｓｃｈｏｏｌ  ｓｐｅｅｄ  ｚｏｎｅ）は、運転者の速さを時速３２．２ｋｍ（２０マイル）に制限している。この通学路速度制限が制限使用プロトコル３０２内に明記されてもよい。制限使用プロトコル３０２は、指定された通学路速度が所定の期間の間到達された後で、通学速度地域の通過が推定されるのでトリガされてもよい。いくつかの実施形態では、制限使用プロトコル３０２は、移動デバイス３００の位置を相関させるＧＰＳコンポーネントが、ある選択された地理的エリア内に入ったとき実施されてもよい。これは、単独であっても、移動デバイス３００の前述の速さとの組合せであってもよい。選択されるエリアは、通学路であっても、制限された使用が望ましい可能性がある他のエリアであってもよい。地図データを、ローカルメモリに記憶された、または遠隔で記憶されたＧＰＳ座標と相関させ、地図データにネットワーク１０２を通じてアクセスすることができる。
【００４０】
[0045]また、制限使用プロトコル３０２は、ユーザの車両内位置を決定することができない場合とるべきデフォルトアクションを指定することができる。このシナリオでは、制限使用プロトコル３０２は、ユーザが車両を運転していると想定されたかのように制限を課してもよい。別法として、制限使用プロトコル３０２は、ユーザが運転者であるかどうか判定しようと試みて完了すべき単純なタスクを指定してもよい。たとえば、このタスクは、移動デバイス３００上でユーザに提示される単純な雑学質問または算数テストなど、プロンプトに対する単純な応答を要求することであってよい。このプロンプトは、短期間の間、ユーザに提示され、車両の運転をもしているユーザによって容易に見過ごされるが、他のことで注意散漫でない同乗者の目を引くものであってよい。間違っている、または許容される時間枠外で返される応答は、移動デバイス３００の使用に対して制限を課すことになる。
【００４１】
[0046]管理モジュール３０４は、制限使用プロトコル３０２に鑑みて移動デバイス３００の操作を制御する。図３におけるこの例示的な例では、管理モジュール３０４は、移動デバイス３００のソフトウェアコンポーネントである。しかし、代替の実施形態では、管理モジュール３０４は、ソフトウェアとハードウェアの組合せであってもよい。どちらの場合にも、管理モジュール３０４は、ＧＰＳコンポーネント３０６など移動デバイス３００の他の構成要素から受信されたデータを参照して移動デバイス３００の使用を制御する。ＧＰＳコンポーネント３０６は、図１におけるＧＰＳ衛星１１４など全世界測位衛星を参照することによって移動デバイス３００の位置を決定することが可能な受信機である。
【００４２】
[0047]所定の期間にわたる移動デバイス３００の位置の変化を決定することにより、ＧＰＳコンポーネント３０６は、移動デバイス３００の移動速度を計算することができる。管理モジュール３０４は、このデータを受信し、移動デバイス３００が車両の移動と一致する速度で移動しているかどうか判定する。たとえば、移動デバイス３００が通常の二足歩行の動きより速い速さで移動していることを示すデータをＧＰＳコンポーネント３０６が提供する場合には、管理モジュール３０４は、移動デバイス３００が車両に乗っているユーザに所有されていると想定してもよい。管理モジュール３０４によって制限をトリガする閾値移動速度が、制限使用プロトコル３０２に明記される。
【００４３】
[0048]他の実施形態では、ユーザの移動速度は、任意の他の現在既存の、または後で開発される手段によって決定されてもよい。たとえば、セルタワー（ｃｅｌｌ  ｔｏｗｅｒ）のセットから発せられる無線信号のマルチラテレーションが、ユーザが車両で移動していることを立証するのに十分なものとなり得る。さらに、移動デバイス３００は、ユーザが移動している車両から直接速度データを獲得してもよい。この実施形態では、ユーザの速度データは、車両のシステムによって提供され、Ｂｌｕｅｔｏｏｔｈ（登録商標）など好適な通信リンクを介して移動デバイス３００に送信されてもよい。この解決策は、任意選択で、移動デバイス３００とＧＰＳシステムおよび／またはセルタワーのセットとの間の通信が中断された、または他の形で使用不能である場合に実施されてもよい。
【００４４】
[0049]閾値移動速度が達成されたことを管理モジュール３０４が検出した後で、ユーザの車両内位置を決定するための措置が講じられる。ユーザが車両の運転席にいると管理モジュール３０４が決定した場合、ユーザは車両を運転していると推定される。例示的な実施形態では、管理モジュール３０４は、カメラまたは光学デバイスのセット３０８によって取り込まれる、または検出される車両内部の画像のセットまたは光学データを解析することによってユーザの車両内位置を識別する。
【００４５】
[0050]本明細書では、「光学デバイス」という表現は、カメラ、ならびに他の非カメラ光学デバイスを包含することが意図されている。さらに、「カメラ」という表現、または同様の表現が説明で使用される場合、１つまたは複数のカメラを構成する光学デバイスの代わりに、またはそれらと組み合わせて他の非カメラ光学デバイスもまた使用され得ることを理解すべきであるものとする。そのような非カメラ光学デバイスは、必ずしも画像を取り込むためのカメラとして機能するとは限らず、他の方法で光学データを検出または検知することが可能なデバイスである。しかし、説明を容易にするために、カメラが本発明において特に有用であるため、この説明全体を通じて「カメラ」という表現、または同様の表現を使用した。したがって、「カメラ」という表現の使用が詳細な説明に現れた場合、別段明確に述べられていない限り、または別段文脈から明らかでない限り、非カメラ光学デバイスが代わりに、または組合せで使用され得ると読み、理解すべきである。
【００４６】
[0051]同様に、「光学データ」という表現、および同様の表現は、画像ならびに非画像の光学データを包含することが意図されていることを理解されたい。「画像」という表現、または同様の表現が詳細な説明で使用されている場合、別段明確に述べられていない限り、または別段文脈から明らかでない限り、非画像の光学データもまた代わりに、または組合せで使用され得ると読み、理解すべきである。光学データまたは画像は、可視光および非可視光から生成されるものを含む。これは、可視光、紫外光、および赤外光を含む。異なる可視光および非可視光の組合せが光学データとして使用されてもよい。場合によっては、光学デバイスまたはカメラは、熱光学データまたは熱画像を取り込む、または検出することが可能なサーモグラフデバイスであってもよい。
【００４７】
[0052]カメラまたは光学デバイスのセット３０８は、個々の写真またはビデオとして閲覧可能な一連の写真を取り込む、または光学データを検知もしくは検出することが可能な１つまたは複数のカメラまたは光学デバイスである。図３における特定の例では、カメラのセット３０８は、前向きカメラ（ｆｏｒｗａｒｄ−ｆａｃｉｎｇ  ｃａｍｅｒａ）３１０およびユーザ対面カメラ（ｕｓｅｒ−ｆａｃｉｎｇ  ｃａｍｅｒａ）３１２を含む。前向きカメラ３１０は、タッチスクリーンの反対側の移動デバイス３００の表面上にあり、ユーザの直視界内で画像を取り込むことが可能なカメラである。ユーザ対面カメラ３１２は、タッチスクリーンと同じ表面上にあり、ユーザの画像を取り込むために使用可能なカメラである。
【００４８】
[0053]いくつかの実施形態では、カメラまたは光学デバイス３０８は、必ずしも画像を取り込むためのカメラとして機能するとは限らず、非画像の光学データを検出または検知するデバイスまたはセンサであってもよい。これらの光学デバイスは、光の階調度、光のコントラスティングもしくは変動、または光強度を検出する、検知する、または取り込むデバイスまたはセンサの形態であってもよい。これは、可視光、ＵＶ光、赤外光、またはそれらの組合せを含んでもよい。例として、これは、人または人の周囲から発せられる光のコントラストまたは変動を含んでもよい。非カメラ光学デバイスは、単独で使用されても、カメラ（単数または複数）と組み合わせて使用されてもよい。
【００４９】
[0054]例示的な実施形態では、管理モジュール３０４は、前向きカメラ３１０からの少なくとも１つの画像およびユーザ対面カメラ３１２からの少なくとも１つの画像を含む画像のセットを取り込むようにカメラのセット３０８に命令する。管理モジュール３０４は、画像のセットまたは光学データを解析し、ユーザの車両内位置を決定する。具体的には、管理モジュール３０４は、画像のセットまたは光学データを解析し、画像のそのセットが取り込まれた位置を決定するために使用することができる１つまたは複数の車両マーカを識別する。車両マーカは、車両の内部に位置する特徴であり、車両の製造元またはモデルに拘わらず容易に認識可能であり全体的な位置で概して見出される。車両マーカの例は、ステアリングホイール、センタコンソール、シフトレバー、頭上ドームライト、速度計、燃料計などを含む。
【００５０】
[0055]画像のセットまたは光学データは、任意の現在使用可能な、または後で開発される手段を使用して解析されてよい。たとえば、コンピュータビジョンの進歩は、自律運転車両、製造および安全を含めて様々な産業で実装される洗練された物体認識システムの創造を可能にした。カメラのセット３０８によって取り込まれた画像のセットを解析するための画像処理ソフトウェアが管理モジュール３０４内に統合されてもよい。代替の実施形態では、画像処理ソフトウェアは、図１におけるサーバ１０４上でなど、移動デバイス３００から遠隔でホストされてもよい。この代替の実施形態では、画像のセットは、図１におけるネットワーク１０２などネットワークを介して送信され、遠隔で解析される。解析結果は、さらなるアクションのために管理モジュール３０４に返されてもよい。
【００５１】
[0056]画像のセットまたは光学データを解析するための画像処理ソフトウェアは、製造元およびモデルなど、移動デバイスが共に使用されている特定の車両についての画像テンプレートの使用を通じて容易化または強化されてもよい。これらの画像テンプレートは、自動車製造者または他の当事者によって提供されてもよく、それらの画像テンプレートは、特定の車両に合わせて調整される。さらにこれらは、ＶＩＮまたは他の車両識別情報に基づいて、製造情報が入手可能である、または車両マーカ情報が既知である特定の車両に特有のものであってもよい。したがって、移動デバイス３００に提供された特定の車両識別情報に基づいて、画像テンプレートは、識別された車両に基づいてある種の車両マーカ（たとえば、サンルーフの有無、ヘッドレストの形状または構成、コンソール構成、窓枠構成など）と共に、またはそれらなしで提供されてもよい。また、車両のシステムがこの画像テンプレート情報を備えてもよく、この情報をＢｌｕｅｔｏｏｔｈ（登録商標）など好適な通信リンクを介して移動デバイス３００に送信することができ、その結果、移動デバイスユーザが特定の車両を使用しているとき、車両のそれ自体のシステムがその特定の車両のための適切な画像テンプレートを提供し、ユーザの車両内位置の決定を容易にする。
【００５２】
[0057]ユーザの車両内位置の決定を支援するために、管理モジュール３０４は、画像のセット内の各画像と共に配向ディスクリプタ（ｏｒｉｅｎｔａｔｉｏｎ  ｄｅｓｃｒｉｐｔｏｒ）を記憶してもよい。配向ディスクリプタは、画像のセットが取り込まれたときの移動デバイス３００の物理的な向きを説明するデータである。配向ディスクリプタは、移動デバイス３００が傾けられているか、また何度かを示すことになる。このデータは、曖昧な場合にユーザの車両内位置の決定を容易にすることができる。たとえば、センタコンソールを示す前向きカメラで撮られた画像のセットは、同乗者席からも運転席からも撮られた可能性がある。しかし、移動デバイス３００のフロントタッチスクリーンが運転席に向かって傾けられていた場合には、管理モジュール３０４は、その画像が同乗者席ではなく運転席から取り込まれたと決定することができる。
【００５３】
[0058]配向ディスクリプタは、ジャイロスコープ３１４によって提供される。ジャイロスコープ３１４は、移動デバイス３００の向きを測定するためのデバイスである。ジャイロスコープ３１４は、それだけには限らないが移動デバイス内で一般に見られる加速度計を含めて、任意のタイプの向き測定デバイスであってよい。
【００５４】
[0059]図３における例示的な例は、ユーザが車両の運転者である場合、移動デバイス３００の操作を制限することについて論じているが、管理モジュール３０４は、ユーザが別の輸送モードを操縦している場合に移動デバイス３００の操作を制限することもできる。したがって、管理モジュール３０４は、ユーザがやはり船舶、飛行機、列車、または他の輸送形態を運転している場合に移動デバイス３００の使用を制限してもよい。
【００５５】
[0060]図３に示されているように、制限使用プロトコル３０２は、メモリ３１６内に記憶される。メモリ３１６は、それだけには限らないが図２におけるメモリ２０６を含めて、任意の形態をとってよい。さらに、代替の実施形態では、制限使用プロトコル３０２は、移動デバイス３００から遠隔で記憶されてもよい。たとえば、制限使用プロトコル３０２は、図１におけるストレージ１０８など、ネットワークでアクセスされるストレージ内に記憶されてもよい。
【００５６】
[0061]図４は、例示的な実施形態によるユーザの車両内位置を決定するための画像のセットである。画像のセット４００は、管理モジュール３０４の要求でカメラのセット３０８によって取り込まれた１つまたは複数の画像である。一実施形態では、画像のセット４００は、ユーザ４０２が車両の移動と一致する速さで移動していると決定したことに応答して取り込まれる。
【００５７】
[0062]画像のセット４００は、前向き画像４０４およびユーザ対面画像４０６を含む。前向き画像４０４は、前向きカメラ３１０など前向きカメラによって取り込まれた画像である。同様に、ユーザ対面画像４０６は、ユーザ対面カメラ３１２などユーザ対面カメラによって取り込まれた画像である。例示的な実施形態では、画像のセット４００内の画像は、管理モジュール３０４が移動デバイス３００の両側の画像を解析することを可能にするように、実質的に同時に取り込まれる。
【００５８】
[0063]管理モジュール３０４は、画像のセット４００を解析し、ユーザ４０２の車両内位置を決定するために車両マーカのセットを識別する。具体的には、ユーザの位置は、画像のセット４００内の取り込まれた車両マーカのセットを参照して決定され得る。なぜなら、そのセットが、ユーザ４０２の車両内位置を決定するためにユーザ４０２に関連するからである。したがって、前向き画像４００内の取り込まれた車両マーカのセットが、運転者によって車両を操縦するために使用される車両コントロールと一致する場合には、管理モジュール３０４は、前向き画像４０４が撮られたときユーザ４０２が車両の運転席にいたと決定してもよい。この決定をさらに擁護するために、管理モジュール３０４は、ユーザ対面画像４０６を参照し、ユーザ４０２が実際に着席し、車両の運転者によって使用される車両マーカのセットに面していることを確認してもよい。
【００５９】
[0064]車両マーカのセットの解析は、ユーザ４０２が着席し、車両マーカのセットに面しているかどうかさらに判定してもよい。たとえば、ステアリングホイールの弧を描く形状の部分に対する解析を使用し、ユーザがステアリングホイールのすぐ前に着席しているか、それとも同乗者席にいるか判定することができる。運転席からのステアリングホイールの画像は、実質的に円形を示すことになり、一方、同乗者の席からのステアリングホイールの画像は、楕円により一致する形状を示すことになる。
【００６０】
[0065]図４におけるこの例示的な例では、管理モジュール３０４は、前向き画像４０４を解析し、車両マーカの以下のセット、すなわちステアリングホイール４０８、速度計４１０、および燃料計４１２を識別する。同様に、管理モジュール３０４は、ユーザ対面画像４０６を解析し、ユーザ４０２を識別する。画像のセット４００は実質的に同時に撮られたので、管理モジュールは、画像のセット４００が撮られた時点で、ユーザ４００はステアリングホイール４０８、速度計４１０、および燃料計４１２に面していたと決定することができる。ユーザ４０２に対する画像のセット４００内の車両マーカのセットの位置は、管理モジュール３０４がユーザ４０２の車両内位置を識別することを可能にする。具体的には、ユーザ４０２の車両内位置は運転席である。その後、管理モジュール３０４は、制限使用プロトコル３０２を参照し、移動デバイス３００の使用が制限されるべきである手法を決定することになる。
【００６１】
[0066]別法として、前向き画像４０４がグローブコンパートメントまたは座席の背を示した場合には、管理モジュール３０４は、移動デバイスのユーザが移動中の車両の運転席に位置しないことになると決定し、したがってユーザに移動デバイスの機能に対する制限されないアクセスを許すことになる。さらに、画像が低光量の状況で撮られる場合など、管理モジュール３０４がカメラのセット３０８によって取り込まれた画像のセットを解析することが可能でない場合には、管理モジュール３０４は、先に開示されているように制限使用プロトコル３０２内に指定されたデフォルトプロトコルを実施することができる。
【００６２】
[0067]画像のセット４００は２つの画像だけを含むが、他の実施形態では、画像のセット４００は、３つ以上の画像を含んでもよい。たとえば、画像のセット４００は、ビデオを形成する画像のシーケンスであってもよい。また、画像のセット４００は、設定された間隔で取り込まれた一連の画像であってもよい。追加の画像は、ユーザの車両内位置を決定するための追加のデータを管理モジュール３０４に提供することになる。
【００６３】
[0068]図５は、例示的な実施形態によるユーザの車両内位置を決定するための画像の別のセットである。画像のセット５００は、画像のセット５００内に示されている車両マーカのセットとのユーザ５０１の相対位置を比較することによって、ユーザ５０１の車両内位置を識別するために、管理モジュール３０４によって使用され得る。
【００６４】
[0069]画像のセット５００は、図３におけるカメラのセット３０８など、カメラまたは光学デバイスのセットによって取り込まれる。画像のセット５００は、前向き画像５０２およびユーザ対面画像５０４を含む。前向き画像５０２は、前向きカメラによって取り込まれた画像であり、ユーザ対面画像５０４は、ユーザ対面カメラによって取り込まれた画像である。例示的な実施形態では、画像のセット５００内の画像は、管理モジュール３０４が移動デバイス３００の両側の画像を解析することを可能にするように、実質的に同時に取り込まれる。
【００６５】
[0070]管理モジュール３０４は、画像のセット５００を解析し、車両マーカのセットを参照点として使用して、ユーザ５０１の車両内位置を決定することができる。たとえば、前向き画像５０２は、運転者にとってアクセス可能な車両の位置に一般に見られる車両マーカのセットを示すことがある。洗練された物体認識プログラムは、車両マーカのセット内に示されているタイプのコントロールまたは特徴を識別することが可能であり、車両内部の画像のデータベースに対する比較、アイコンおよび／もしくはコントロールに関連付けられたディスクリプタによってコントロールの機能を識別すること、または任意の他の現在既存の、もしくは後で開発される物体認識の方法を使用することによって、前向き画像５０２が取り込まれた有望な位置を決定する。また、管理モジュール３０４は、ユーザ対面画像５０４を解析し、画像内の車両マーカに対するユーザ５０１の位置がユーザの車両内位置を決定するのに十分なものであると決定してもよい。
【００６６】
[0071]例示的な実施形態では、前向き画像５０２は、ダッシュボードの一部分を示す。管理モジュール３０４は、前向き画像５０２が、クルーズコントロール５０６、サンルーフコントロール５０８、およびエアベント５１０を含む車両マーカのセットを示すと決定することができる。さらに、管理モジュール３０４は、前向き画像５０２内の車両マーカのセットが、一般に入手可能な乗用車の運転者側に見られると決定してもよい。単純な実施形態では、管理モジュール３０４は、前向き画像５０２を画像のデータベースと比較し、画像が取り込まれた位置を決定するために、車両マーカのセットと、車両マーカのセットがアクセス可能であるはずの位置とを識別する。
【００６７】
[0072]また、管理モジュール３０４は、ユーザ５０１の位置を識別するために、ユーザ対面画像５０４を解析してもよい。管理モジュール３０４は、ユーザ対面画像５０４内で識別された車両マーカに対してユーザ５０１の位置を比較することによって、移動中の車両内のユーザ５０１の車両内位置を決定する。頭上ライト５１２は、大部分の車両の天井に一般的に見られ、中央に位置する車両マーカである。頭上ライト５１２がユーザ５０１の右肩の上に見られるので、管理モジュール３０４は、ユーザが左ハンドル車の運転者側に位置すると決定することができる。
【００６８】
[0073]本明細書で論じられている例は、米国、および右側通行システムを実施する他国内で一般に見られる左ハンドル車に特に関するが、同じ原理が、左側通行の国々で走行しているところが見られる右ハンドル車にも当てはまることになる。したがって、管理モジュール３０４は、ユーザが英国、すなわち左側通行の国にいると決定した場合、図５における頭上ライト５１２など車両マーカの位置は、ユーザが移動中の車両の乗用車内に位置することを示すことになる。ＧＰＳコンポーネント３０６によって提供されるＧＰＳデータは、移動デバイス３００の位置を識別し、車両構成を右ハンドル車または左ハンドル車として確立するのに十分なものとなるはずである。
【００６９】
[0074]図６は、例示的な実施形態による移動デバイスの操作を管理するためのプロセスの流れ図である。図６に示されているプロセスは、図３における管理モジュール３０４によって実施され得る。
【００７０】
[0075]このプロセスは、移動デバイスの状況を監視することによって始まる（ステップ６０２）。移動デバイスの状況は、移動デバイスの地理的位置と、それだけには限らないが移動デバイスの速さおよび加速度を含む様々な移動メトリックとを含む。
【００７１】
[0076]このプロセスは、速さが速度閾値より大きいかどうかについて判定をする（ステップ６０４）。速さが移動メトリック閾値より大きくないと決定された場合には、プロセスはステップ６０２に戻り、移動デバイス状況の監視が続行される。しかし、速さが速度閾値を超えると決定された場合には、画像のセットが取り込まれ、または光学データが検出される（ステップ６０６）。画像のセットまたは光学データは、１つまたは複数の車載カメラまたは光学デバイスによって取り込まれ、または検出され得る。移動デバイスが前向きカメラおよびユーザ対面カメラを含む場合には、２つのカメラは、画像を実質的に同時に撮ることが好ましいことになる。さらに、各カメラまたは光学デバイスは、一連の画像を撮っても、光学データを所定の間隔で検出してもよい。このようにして、カメラまたは光学デバイスの動きまたは回転が記録され、それにより解析のために追加の画像または光学データを提供することができる。
【００７２】
[0077]好ましい実施形態では必要とされていないが、移動デバイスの向きが、画像のセットまたは光学データ内で取り込まれる、または検出される各画像または光学データについて記憶されてもよい（ステップ６０８）。画像または光学データとの配向データの関連付けは、画像のセットの解析を支援するための追加の状況を提供する。
【００７３】
[0078]十分なデータが取り込まれた、または検出された後で、プロセスは、画像のセットまたは光学データを解析し、車両マーカを識別する（ステップ６１０）。車両マーカは、車両内で一般に見られる構成要素を含む。たとえば、車またはトラックでは、車両マーカは、センタコンソール、頭上ドームライト、ステアリングホイール、シフトレバー、バックミラー、シートベルト、またはサイドウィンドウを含むことができる。画像のセットの解析は、任意の現在既存の、または後で開発される画像認識および／または解析の手段によって実施されてよい。
【００７４】
[0079]画像のセット、および任意選択で画像のセットが取り込まれた時点での移動デバイスの向きからユーザの車両内位置を確立する決定がなされる（ステップ６１２）。たとえば、ユーザの車両内位置は、画像のセット内で識別された車両マーカのセットに対するユーザの相対位置を比較することによって決定されてもよい。ユーザが運転席に、助手席に、または車両の後部座席の１つにいることを立証する決定をすることができる。
【００７５】
[0080]次いで、ユーザが運転席にいるかどうかについて判定がなされる（ステップ６１４）。ユーザが運転席に位置せず、したがって車両の同乗者であると推定される場合には、プロセスが終了する。しかし、ユーザが運転席に位置し、したがって車両を運転していると決定された場合には、プロセスは制限使用プロトコルを開始し（ステップ６１６）、その後、終了する。
【００７６】
[0081]前述によれば、本明細書に記載の例示的な実施形態は、移動中の車両内での移動デバイス使用法を管理するための、コンピュータによって実施される方法、装置、およびコンピュータプログラム製品を提供する。ユーザが車両の移動と一致する速さで移動していることを検出したことに応答して、画像のセットが移動中の車両の内部から取り込まれる。画像のセットを解析し、車両マーカのセットを識別する。ユーザの車両内位置が車両マーカのセットに対して決定される。ユーザの車両内位置が運転席である場合には、制限使用プロトコルが開始される。
【００７７】
[0082]本明細書に提示されている考察から明らかなように、安全でない移動デバイス使用法に対して技術的障壁を実装することの顕著な利益は、ユーザの自由裁量を取り除くことである。ユーザは、いまや移動デバイス使用法が法律に反しているか否かを知ることから解放される。さらに、ユーザは、もはや事前定義された状況で移動デバイスを操作することによって法律および常識の規則を一方的に無視する能力を有していない。
【００７８】
[0083]図内の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関して、流れ図またはブロック図内の各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含むコードのモジュール、セグメント、または一部分を表すことがある。また、いくつかの代替の実施形態では、ブロック内で示される機能が図に示される順番を外れて行われ得ることに留意されたい。たとえば、連続して示されている２つのブロックは、実際には実質的に同時に実行されてもよく、またはこれらのブロックが、逆の順番で実行されることもあり、必要とされる機能によって決まる。また、ブロック図および／または流れ図の各ブロック、ならびにブロック図および／または流れ図のブロックの組合せは、指定された機能もしくは行為を実施する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実装され得る。
【００７９】
[0084]本明細書で使用される用語は、特定の実施形態について述べるためのものにすぎず、発明を限定するものではない。本明細書で使用されるとき、「ａ」「ａｎ」および「ｔｈｅ」という単数形は、別段文脈によって明確に示されない限り、複数形をも含むものとする。さらに、「ｃｏｍｐｒｉｓｅｓ（備える、含む）」および／または「ｃｏｍｐｒｉｓｉｎｇ（備える、含む）」という用語は、本明細書で使用されるとき、述べられている特徴、整数、ステップ、動作、要素、および／または構成要素の存在を指定するが、１つまたは複数の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらの群の存在または追加を排除しないことを理解されたい。
【００８０】
[0085]下記の特許請求の範囲内におけるすべてのミーンズまたはステッププラスファンクション要素の対応する構造、材料、行為、および均等物は、その機能を、具体的に特許請求されているように、他の特許請求されている要素と組み合わせて実施するための任意の構造、材料、または行為を含むものとする。本発明の説明は、例示および説明のために提示されているが、網羅的なものでも、開示されている形態での本発明に限定するものでもない。本発明の範囲および精神から逸脱することなしに、多数の修正および変形が当業者には明らかになろう。実施形態は、本発明の原理および実際的な応用例について最もよく説明するために、また企図される特定の使用に適したものとなるように様々な修正と共に様々な実施形態について本発明を当業者が理解することを可能にするために選択され述べられた。
【００８１】
[0086]本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素を共に含む実施形態の形態をとることができる。好ましい実施形態では、本発明は、それだけには限らないがファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアで実装される。ソフトウェアは、移動デバイス１１６にプリインストールされてもよく、またはネットワーク１０２もしくは他のソースを通じて移動デバイス１１６によってダウンロードされても他の方法で受信されてもよい。
【００８２】
[0087]さらに、本発明は、コンピュータまたは任意の命令実行システムによって、またはそれと共に使用するためのプログラムコードを提供する、コンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれと共に使用するためのプログラムを含む、記憶する、通信する、伝搬する、または輸送することができる任意の有形の装置とすることができる。
【００８３】
[0088]媒体は、電子、磁気、光、電磁気、赤外線、もしくは半導体システム（もしくは装置もしくはデバイス）、または伝搬媒体とすることができる。コンピュータ可読媒体の例は、半導体またはソリッドステートメモリ、磁気テープ、取外し式コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク読出し／書込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００８４】
[0089]プログラムコードを記憶および／または実行するのに適したデータ処理システムは、システムバスを通じてメモリ要素に直接または間接的に結合された少なくとも１つのプロセッサを含むことになる。これらのメモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリと、バルクストレージと、実行中にコードをバルクストレージから取り出さなければならない回数を削減するために少なくとも一部のプログラムコードを一時的に記憶するキャッシュメモリとを含む。
【００８５】
[0090]入力／出力デバイスまたはＩ／Ｏデバイス（それだけには限らないがキーボード、ディスプレイ、ポインティングデバイスなどを含む）が、システムに直接、または間にあるＩ／Ｏコントローラを通じて結合され得る。
【００８６】
[0091]また、データ処理システムが、間にあるプライベートネットワークまたはパブリックネットワークを通じて他のデータ処理システムまたは遠隔のプリンタもしくは記憶デバイスに結合されることを可能にするために、ネットワークアダプタがシステムに結合されてもよい。モデム、ケーブルモデム、およびイーサネット（登録商標）カードは、現在使用可能なタイプのネットワークアダプタのいくつかにすぎない。
【００８７】
[0092]本発明の説明は、例示および説明のために提示されており、網羅的なものでも、開示されている形態での本発明に限定するものでもない。多数の修正および変形が当業者には明らかになろう。実施形態は、本発明の原理、実際的な応用例について最もよく説明するために、また企図される特定の使用に適したものとなるように様々な修正と共に様々な実施形態について本発明を当業者が理解することを可能にするために選択され述べられた。
【図１】
0006491601.tif 000002
【図２】
0006491601.tif 000003
【図３】
0006491601.tif 000004
【図４】
0006491601.tif 000005
【図５】
0006491601.tif 000006
【図６】
0006491601.tif 000007