IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7617259ユーザ精通度に基づいた画像分類の循環的な実行
<>
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1A
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1B
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1C
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1D
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1E
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1F
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図1G
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図2
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図3
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図4
  • 特許-ユーザ精通度に基づいた画像分類の循環的な実行 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】ユーザ精通度に基づいた画像分類の循環的な実行
(51)【国際特許分類】
   G06F 3/04842 20220101AFI20250109BHJP
   G10L 15/10 20060101ALI20250109BHJP
   G10L 15/22 20060101ALI20250109BHJP
   G06T 7/00 20170101ALI20250109BHJP
   G06V 10/764 20220101ALI20250109BHJP
   G06V 20/62 20220101ALI20250109BHJP
   G06V 10/82 20220101ALI20250109BHJP
【FI】
G06F3/04842
G10L15/10 500Z
G10L15/22 453
G06T7/00 350C
G06V10/764
G06V20/62
G06V10/82
【請求項の数】 24
(21)【出願番号】P 2023522530
(86)(22)【出願日】2020-10-13
(65)【公表番号】
(43)【公表日】2023-10-27
(86)【国際出願番号】 US2020070658
(87)【国際公開番号】W WO2022081191
(87)【国際公開日】2022-04-21
【審査請求日】2023-06-15
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】バロス,ブレット
(72)【発明者】
【氏名】ファツィオ,メガン
【審査官】井上 香緒梨
(56)【参考文献】
【文献】特開2020-021354(JP,A)
【文献】特開2019-181866(JP,A)
【文献】特開2013-082538(JP,A)
【文献】特開2013-161406(JP,A)
【文献】米国特許出願公開第2019/0318405(US,A1)
【文献】国際公開第2019/051293(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/01
G06F3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記第1のオブジェクトに対して機能が実行されたことに応じて、前記第1のオブジェクトに対して機能が実行されていることを示す視覚的インジケータを提示することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することとを含み、
前記第1のオブジェクトの選択は、前記第1のオブジェクトを表示している部分に対するジェスチャを含み、
前記視覚的インジケータは、前記部分において提示される、方法。
【請求項2】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記第1のオブジェクトに対して前記機能を実行することは、前記表示された画像に対してローカル画像認識機能を実行することを含む、方法。
【請求項3】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記第1のオブジェクトに対して前記機能を実行することは、
前記表示された画像をサーバに送信することと、
変換されたオブジェクトを前記サーバから受信することとを含む、方法。
【請求項4】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記オブジェクトクラスはテキストを含む、方法。
【請求項5】
前記機能は、前記第1のオブジェクトに対して光学文字認識を実行することを含む、請求項4に記載の方法。
【請求項6】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記オブジェクトクラスはバーコードを含む、方法。
【請求項7】
前記機能は、前記第1のオブジェクトを復号することを含む、請求項6に記載の方法。
【請求項8】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記オブジェクトクラスは人間を含む、方法。
【請求項9】
前記機能は、前記第1のオブジェクトに関連付けられた名前を決定することを含む、請求項8に記載の方法。
【請求項10】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
さらに、前記コンピューティングシステムが、前記コンピューティングシステムの場所に基づいて前記オブジェクトクラスを決定することを含む、方法。
【請求項11】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、
前記ユーザが以前に見た画像に基づいて前記オブジェクトクラスを決定することと、を含む、方法。
【請求項12】
オブジェクトが、前記コンピューティングシステムが機能を実行できるオブジェクトクラスのオブジェクトであるかどうかを判断することをさらに含む、請求項1~請求項11のいずれか1項に記載の方法。
【請求項13】
前記ユーザが前記機能に精通していると判断することは、精通度値に左右され、
前記精通度値は、オブジェクトの選択の回数、特に、予め定められた時間間隔内でのオブジェクトの選択の回数および/または前記オブジェクトの前記表示と前記選択との間の時間に基づいて生成される、請求項1~請求項12のいずれか1項に記載の方法。
【請求項14】
前記ユーザが前記機能に精通していると判断することは、前記精通度値が予め定められた第1の閾値に達していることを判断することを含み、
前記精通度値が予め定められた第2の閾値に達すると前記画像分類の再開を制御することをさらに含む、請求項13に記載の方法。
【請求項15】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、を含み、
前記ユーザが前記機能に精通していると判断することは、精通度値に左右され、
前記精通度値は、オブジェクトの選択の回数、特に、予め定められた時間間隔内でのオブジェクトの選択の回数および/または前記オブジェクトの前記表示と前記選択との間の時間に基づいて生成され、
前記ユーザが前記機能に精通していると判断することは、さらに、コンテキスト情報に左右され、前記コンテキスト情報は、前記コンピューティングシステムに含まれるバッテリの充電レベル、時刻、前記コンピューティングシステムに含まれるマイクによって受信される音声信号、前記コンピューティングシステムの場所、ならびに/または、前記ユーザが前記オブジェクトクラスの画像を見るおよび/もしくは前記オブジェクトクラスの画像を格納することによる、表示されている特定のオブジェクトクラスの画像へのユーザの関心を含む、方法。
【請求項16】
前記ユーザが前記機能に精通していると判断することは、前記オブジェクトクラスに関して前記ユーザが前記機能に精通していると判断することを含み、
前記表示された画像内での画像分類の実行を終了することは、前記オブジェクトクラスに関して前記表示された画像内での画像分類の実行を終了することを含む、請求項1~請求項15のいずれか1項に記載の方法。
【請求項17】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、
前記ユーザが前記機能に精通していると判断することおよび時刻に基づいて、前記表示された画像内での画像分類の実行を終了させることと、を含む、方法。
【請求項18】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、
前記ユーザが前記機能に精通していると判断することおよび前記コンピューティングシステムに含まれるバッテリの充電レベルに基づいて、前記表示された画像内での画像分類の実行を終了させることと、を含む、方法。
【請求項19】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、
前記ユーザが前記機能に精通していると判断することおよび前記コンピューティングシステムに含まれるマイクによって受信される音声信号に基づいて、前記表示された画像内での画像分類の実行を終了させることと、を含む、方法。
【請求項20】
前記オブジェクトクラスの前記第1のオブジェクトが前記表示された画像内に存在すると判断した後に、前記第1のオブジェクトに対して画像検出を実行することをさらに含み、
前記表示された画像内に前記プロンプトを提示することは、前記表示された画像内の、前記第1のオブジェクトが検出された場所に基づいて、前記表示された画像内の場所にプロンプトを提示することを含む、請求項1~請求項19のいずれか1項に記載の方法。
【請求項21】
コンピューティングシステムによって実施される方法であって、
表示された画像内で画像分類を実行することと、
前記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが前記表示された画像内に存在することを判断することと、
前記表示された画像内にプロンプトを提示することと、
前記プロンプトに応答して、前記第1のオブジェクトの選択をユーザから受信することと、
前記第1のオブジェクトの前記選択を受信したことに応答して、前記第1のオブジェクトに対して機能を実行することと、
前記プロンプトに応答した前記第1のオブジェクトの前記選択に基づいて、前記ユーザが前記機能に精通していると判断することと、
前記ユーザが前記機能に精通していると判断したことに基づいて、前記表示された画像内での画像分類の実行を終了することと、
前記ユーザが前記表示された画像内で前記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、前記第2のオブジェクトに対して前記機能を実行することと、
複数の追加画像を表示することと、
前記ユーザが前記表示された複数の追加画像の部分を選択しなかったことに基づいて、前記ユーザが前記機能にもはや精通していないと判断することと、
前記ユーザが前記機能にもはや精通していないと判断したことに基づいて、
その後表示された画像内で画像分類を実行することと、
前記その後表示された画像内で前記画像分類を実行しながら、前記オブジェクトクラスの後続のオブジェクトが前記その後表示された画像内に存在することを判断することと、
前記その後表示された画像内に後続のプロンプトを提示することと、を含む、方法。
【請求項22】
前記オブジェクトクラスは、第1のオブジェクトクラスを含み、
前記プロンプトは、第1のプロンプトを含み、
前記機能は、第1の機能を含み、
その後表示された画像内で画像分類を実行することと、
前記その後表示された画像内で前記画像分類を実行しながら、前記その後表示された画像内で第2のオブジェクトクラスの第2のオブジェクトを検出することとをさらに含み、前記第2のオブジェクトクラスは、前記第1のオブジェクトクラスとは異なっており、
前記その後表示された画像内に第2のプロンプトを提示することと、
前記第2のオブジェクトの選択を前記ユーザから受信することと、
前記第2のオブジェクトの前記選択を受信したことに応答して、前記第2のオブジェクトに対して第2の機能を実行することとをさらに含み、前記第2の機能は、前記第1の機能とは異なっている、請求項1~請求項21のいずれか1項に記載の方法。
【請求項23】
少なくとも1のプロセッサによって実行されることにより、コンピュータシステムに請求項1~請求項22のいずれか1項に記載の方法を実施させる命令を含む、プログラム。
【請求項24】
コンピューティングシステムであって、
少なくとも1つのプロセッサと、
請求項23に記載のプログラムを格納する非一時的なコンピュータ読取可能記憶媒体とを備える、コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本記載は、画像に対して機能を実行することに関する。
【背景技術】
【0002】
背景
光学文字認識またはスキャニングなどのさまざまな機能を画像ファイルに対して実行することができる。実行できる機能を判断するためにこれらのファイルに対して絶えず画像分類を実行することは、コンピューティングリソースを消費し得る。
【発明の概要】
【0003】
概要
一例に従うと、非一時的なコンピュータ読取可能記憶媒体には命令が格納される。上記命令は、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、表示された画像内で画像分類を実行することと、上記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが上記表示された画像内に存在することを判断することと、プロンプトを生成することと、上記第1のオブジェクトの選択をユーザから受信することと、上記第1のオブジェクトの上記選択を受信したことに応答して、上記第1のオブジェクトに対して機能を実行することと、上記第1のオブジェクトの上記選択に基づいて、上記ユーザが上記機能に精通していると判断することと、上記ユーザが上記機能に精通していると判断したことに基づいて、上記表示された画像内での画像分類の実行を終了することと、上記表示された画像内で上記オブジェクトクラスの第2のオブジェクトの選択を受信したことに応答して、上記第2のオブジェクトに対して上記機能を実行することとを行わせるように構成され得る。
【0004】
一例に従うと、コンピューティングシステムは、少なくとも1つのプロセッサと、命令が格納された非一時的なコンピュータ読取可能記憶媒体とを含み得る。上記命令は、少なくとも1つのプロセッサによって実行されると、上記コンピューティングシステムに、表示された画像内で画像分類を実行することと、上記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが上記表示された画像内に存在することを判断することと、プロンプトを生成することと、上記第1のオブジェクトの選択をユーザから受信することと、上記第1のオブジェクトの上記選択を受信したことに応答して、上記第1のオブジェクトに対して機能を実行することと、上記第1のオブジェクトの上記選択に基づいて、上記ユーザが上記機能に精通していると判断することと、上記ユーザが上記機能に精通していると判断したことに基づいて、上記表示された画像内での画像分類の実行を終了することと、上記表示された画像内で上記オブジェクトクラスの第2のオブジェクトの選択を受信したことに応答して、上記第2のオブジェクトに対して上記機能を実行することとを行わせるように構成され得る。
【0005】
コンピューティングシステムが、表示された画像内で画像分類を実行するステップと、上記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが上記表示された画像内に存在することを判断するステップと、プロンプトを生成するステップと、上記第1のオブジェクトの選択をユーザから受信するステップと、上記第1のオブジェクトの上記選択を受信したことに応答して、上記第1のオブジェクトに対して機能を実行するステップと、上記第1のオブジェクトの上記選択に基づいて、上記ユーザが上記機能に精通していると判断するステップと、上記ユーザが上記機能に精通していると判断したことに基づいて、上記表示された画像内での画像分類の実行を終了するステップと、上記表示された画像内で上記オブジェクトクラスの第2のオブジェクトの選択を受信したことに応答して、上記第2のオブジェクトに対して上記機能を実行するステップとが含まれ得る。
【0006】
添付の図面および以下の説明に1つまたは複数の実現例の詳細が記載されている。他の特徴は、以下の説明および図面ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0007】
図1A】ディスプレイ内に第1のオブジェクトを提示している電子デバイスを示す図である。
図1B】第1のオブジェクトに関連付けられたプロンプトを提示している電子デバイスを示す図である。
図1C】ユーザが第1のオブジェクトを選択した状態の電子デバイスを示す図である。
図1D】第1のオブジェクトに対して機能が実行された後の電子デバイスを示す図である。
図1E】ディスプレイ内に第2のオブジェクトを提示している電子デバイスを示す図である。
図1F】ユーザが第2のオブジェクトを選択した状態の電子デバイスを示す図である。
図1G】第2のオブジェクトに対して機能が実行された後の電子デバイスを示す図である。
図2】電子デバイスのブロック図である。
図3】電子デバイスによって実行される方法のフローチャートである。
図4】電子デバイスによって実行される方法のフローチャートである。
図5】本明細書に記載されている技術を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【0008】
同様の参照番号は、同様の要素を指す。
詳細な説明
スマートフォンなどの電子デバイスは、それ自体がまたはサーバと通信して、電子デバイスによって表示されたオブジェクトおよび/または画像に対して機能を実行することができる。これらの機能は、たとえば、画像に含まれるテキストに対して光学文字認識(OCR:Optical Character Recognition)を実行すること、画像に含まれるドキュメントをスキャンすること、画像に含まれる人、動物もしくはモニュメントを識別すること、画像に含まれる連絡先情報に基づいて通信(電子メールもしくは電話通話など)を開始すること、または画像に含まれるバーコードを復号することを含み得る。これらの機能のうちの1つ以上は、視覚探索アプリケーション内で実行することができる。これらの機能のうちの1つ以上は、拡張現実環境および/またはアプリケーションと接続した状態で実行することができる。
【0009】
ユーザは、最初は、電子デバイスが画像(たとえば、拡張現実対話および/またはセッション中に取り込まれた画像)内のオブジェクトに対してどの機能を実行できるか分からない可能性がある。電子デバイスは、オブジェクトに対して画像分類を実行することによって当該オブジェクトに対して電子デバイスが機能を実行し、当該オブジェクトが属していると電子デバイスが判断したオブジェクトクラスに対して電子デバイスが機能を実行することができる場合には、ユーザが当該オブジェクトを選択するためのプロンプトを電子デバイスが提示することができる、ということをユーザに教示するおよび/またはユーザを訓練し得る。ユーザは、プロンプトおよびオブジェクトのいずれかまたは両方と対話することができ、ならびに/または、プロンプトおよびオブジェクトのいずれかまたは両方を選択することができる。電子デバイスは、ユーザがオブジェクトを選択したことに応答してオブジェクトに対して機能を実行することができる。上記のこれらの特徴のうちの1つ以上は、視覚探索(たとえば、拡張現実視覚探索)と関連付けて実行することができる。
【0010】
画像分類を実行することは、プロセッサリソース、メモリリソースなどのコンピューティングリソースを消費し、および/または、電子デバイスのバッテリを消耗させ得る。コンピューティングリソースの消費量を減らすために、電子デバイスは、ユーザが機能に精通するようになると画像分類の実行を停止および/または終了することができる。電子デバイスは、電子デバイスに機能を実行するように促すための電子デバイスによるオブジェクトの選択の受信の履歴、および/または、電子デバイスによるユーザへのプロンプトの提示の履歴に基づいて、ユーザが機能に精通していると判断することができる。ユーザは、プロンプトなしでも、および/または、電子デバイスが画像分類を実行しなくても、オブジェクトを選択することができ、電子デバイスは、選択されたオブジェクトのオブジェクトクラスに対応する機能を実行することによってオブジェクトの選択の受信に応答することができる。いくつかの例では、電子デバイスは、オブジェクトの選択を受信した後に、選択されたオブジェクトに対して画像分類を実行することができる。
【0011】
図1Aは、ディスプレイ102内に第1のオブジェクト104Aを提示している電子デバイス100を示す図である。電子デバイス100は、たとえば非限定的な例として、スマートフォン、タブレットコンピュータ、ファブレット、ノートブックコンピュータもしくはラップトップコンピュータ、またはデスクトップコンピュータを含み得る。
【0012】
電子デバイス100は、ディスプレイ102を含み得る。ディスプレイ102は、グラフィカル出力および/または1つもしくは複数の画像を提示、表示および/または出力することができる。いくつかの例では、ディスプレイ102は、ユーザからのタッチ入力を受信および/または処理するタッチスクリーンを含み得る。
【0013】
ディスプレイ102によって表示および/または提示される画像は、1つまたは複数のオブジェクト104Aを含み得る。オブジェクト104Aは、たとえば非限定的な例として、テキスト、バーコードおよび/もしくはクイックレスポンス(QR:Quick Response)コード(登録商標)、テキストドキュメントもしくは画像ドキュメントなどのドキュメント、人および動物もしくはモニュメントを含み得る。
【0014】
電子デバイス100は、ディスプレイ102によって提示された画像の部分に対して、および/または、ディスプレイ102に提示された画像に含まれるオブジェクト104Aなどの1つもしくは複数のオブジェクトの部分に対して、画像分類を実行することができる。電子デバイス100は、オブジェクト104Aなどのオブジェクトが、電子デバイス100が機能を実行することができるオブジェクトクラスのオブジェクトであるかどうかを判断することができる。いくつかの例では、電子デバイス100は、複数のオブジェクトクラスのいずれかのオブジェクトが、ディスプレイ102によって表示された画像内に存在するかどうかを判断することができる。いくつかの例では、各オブジェクトクラスは、電子デバイス100がオブジェクトに対して実行することができる単一の機能に対応し得る。いくつかの例では、2つ以上のオブジェクトクラスのオブジェクトに対して1つまたは複数の機能が実行されてもよい。この例では、電子デバイス100は、オブジェクト104Aがオブジェクトクラスのメンバであること、および/または、当該オブジェクトクラスのオブジェクト104が、ディスプレイ102によって表示された画像内に存在することを判断する。
【0015】
図1Bは、第1のオブジェクト104Aに関連付けられたプロンプト106を提示している電子デバイス100を示す図である。ディスプレイ内にプロンプトを提示することは、プロンプトを生成することの一例である。生成されたプロンプトの他の例としては、聴覚的なおよび/もしくは口頭のプロンプト(テキストの代わりにおよび/もしくはテキストに加えて、言葉を話す音声など)、ならびに/または、ディスプレイ102からの触覚フィードバックが挙げられる。プロンプト106は、ユーザが第1のオブジェクト104Aを選択したことに応答して電子デバイス100が第1のオブジェクト104Aに対して実行する機能を示すことができる。当該プロンプトは、情報を提供するものであり得て、電子デバイス100が実行することができる機能を示す。プロンプト106は、たとえば、電子デバイス100がオブジェクト104Aに含まれる電話番号もしくは電子メールアドレスへの電話通話もしくは電子メールを開始すること、電子デバイス100がオブジェクト104Aに含まれるバーコードもしくはQRコード(登録商標)をスキャンおよび/もしくは復号すること、電子デバイス100がオブジェクト104Aに含まれるテキストに対して光学文字認識(OCR)を実行すること、電子デバイス100がオブジェクト104Aに含まれるドキュメントをスキャンすること、電子デバイス100がオブジェクト104Aに含まれる人および/もしくは人間を識別すること、電子デバイス100がオブジェクト104Aに含まれる動物のタイプおよび/もしくは品種を識別すること、ならびに/または、電子デバイス100がオブジェクト104Aに含まれるモニュメントもしくはポイント・オブ・インタレスト(point of interest)を識別することを示すことができる。
【0016】
ユーザは、オブジェクト104Aを選択することによってプロンプト106に応答することができる。ディスプレイ102がタッチスクリーンである例では、ユーザは、予め定められたジェスチャをディスプレイ102に入力することによってオブジェクト104Aを選択することができる。予め定められたジェスチャの例としては、オブジェクト104Aを提示しているディスプレイ102の部分をタップすること、および/または、オブジェクト104Aを提示しているディスプレイ102の部分をタップして長押しすることが挙げられる。コンピュータマウスなどの入力デバイスが利用できる場合におけるオブジェクト104Aを選択することの例としては、オブジェクト104Aを提示しているディスプレイ102の部分上にカーソルが位置しているときにマウスをクリックする、および/または、マウスをダブルクリックすることが挙げられる。
【0017】
図1Cは、ユーザが第1のオブジェクト104Aを選択した状態の電子デバイス100を示す図である。ユーザによるオブジェクト104Aの選択108Aは、ユーザがオブジェクト104Aを提示しているディスプレイ102の部分をタップすること、および/または、タップして長押しすることによって実行することができる。選択108Aは、機能の実行対象のオブジェクトを明確化および/または指定しやすくすることができる。電子デバイス100は、選択108Aを受信および/または処理することができる。選択108Aを受信および/または処理したことに応答して、電子デバイス100は、機能を実行することができる。電子デバイス100によって実行される機能は、電子デバイス100が画像分類を実行したときにオブジェクト104Aが属していると電子デバイス100が判断したオブジェクトクラスに基づき得る。いくつかの例では、電子デバイス100は、機能を実行することによってオブジェクト104Aを変換することができる。
【0018】
図1Dは、第1のオブジェクト104A(図1Dには図示せず)に対して機能が実行された後の電子デバイス100を示す図である。当該機能は、第1のオブジェクト104Aを第1の変換されたオブジェクト110Aに変換することができる。第1のオブジェクト104Aのオブジェクトクラスが電話番号であったいくつかの例では、当該機能は、当該電話番号への通話を開始することを含み得て、変換されたオブジェクト110Aは、電話通話が実行されていることを示す視覚的インジケータを含み得る。第1のオブジェクト104Aのオブジェクトクラスが電子メールアドレスであったいくつかの例では、当該機能は、当該電子メールアドレスへの電子メールをドラフトし始めることを含み得て、変換されたオブジェクト110Aは、第1のオブジェクト104Aからの電子メールアドレスが「to」行に入った状態のブランクメールを含み得る。第1のオブジェクト104AのオブジェクトクラスがバーコードまたはQRコードであったいくつかの例では、当該機能は、当該バーコードまたはQRコードを復号することを含み得て、変換されたオブジェクト110Aは、第1のオブジェクト104Aに含まれるバーコードもしくはQRコードによって識別されるアイテムのテキスト説明、および/または、第1のオブジェクト104Aに含まれるバーコードもしくはQRコードによって識別されるアイテムの画像を含み得る。第1のオブジェクト104Aのオブジェクトクラスがテキストを含むいくつかの例では、当該機能は、当該テキストに対して光学文字認識を実行することを含み得て、変換されたオブジェクト110Aは、異なった、より読みやすいフォーマットの第1のオブジェクト104Aからの認識されたテキストを含み得る。第1のオブジェクト104Aのオブジェクトクラスがドキュメントのインジケータであったいくつかの例では、当該機能は、当該ドキュメントをスキャンすることを含み得て、変換されたオブジェクト110Aは、第1のオブジェクト104Aからのドキュメントがスキャンされたことを示すインジケータを含み得る。第1のオブジェクト104Aのオブジェクトクラスが人、動物、またはモニュメントもしくはランドマークであったいくつかの例では、当該機能は、当該人および/または人間、動物、モニュメントまたはランドマークを識別することを含み得て、変換されたオブジェクト110Aは、第1のオブジェクト104Aに含まれる人、動物、モニュメントまたはランドマークのテキスト説明および/または名前を含み得る。
【0019】
プロンプト106が提示され、第1のオブジェクト104Aの選択108Aを実行し、機能の結果および/または変換されたオブジェクト110Aを見た後では、ユーザは、機能に精通するようになっており、電子デバイス100が機能を実行するオブジェクトを選択するためのプロンプト106をもはや必要としないであろう。電子デバイス100は、機能に関連付けられたオブジェクトクラスに含まれるオブジェクト104Aの選択108Aを受信したことに基づいて、ユーザが機能に精通していると判断することができる。一実施形態では、精通度の判断は、第1のオブジェクト104Aの選択108Aの回数、特に、予め定められた時間間隔内での第1のオブジェクト104Aの選択108Aの回数に左右され得る。電子デバイス100が選択108Aを何度も受信する場合には、電子デバイス100は、ユーザが選択に対して特定の精通度を有していると判断し得て、および/または、ユーザが選択に対して特定の精通度を有していると想定され得る。精通度を判断するための別の基準は、オブジェクト104Aの表示と選択108Aとの間の時間であり得て、それはユーザの精通度を反映するであろう。これらの基準は、組み合わせて使用することができ、これらは、以下でさらに説明する精通度判断部210と関連付けて使用される例である。
【0020】
ユーザが機能に精通していると判断したことに基づいて、電子デバイス100は、画像分類の実行を終了および/もしくは停止することができ、ならびに/または、プロンプト106をユーザに提示しないようにすることができる。
【0021】
図1Eは、ディスプレイ102内に第2のオブジェクト104Bを提示している電子デバイス100を示す図である。第2のオブジェクト104Bを含む、図1Eにおけるディスプレイ102によって提示される画像は、図1Aにおけるディスプレイによって提示される画像とは異なっていてもよい。第2のオブジェクト104Bは、第1のオブジェクト104Aと同一のオブジェクトクラスのオブジェクトであってもよく、および/または、第2のオブジェクト104Bのオブジェクトクラスは、第1のオブジェクト104Aに対して実行された機能と同一の機能に関連付けられてもよい。ユーザがオブジェクトクラスおよび/または第1のオブジェクト104Aに対して実行された機能に精通していると電子デバイス100が判断したことに基づいて、電子デバイス100は、画像分類の実行を終了し、および/または、ユーザが第2のオブジェクト104Bに対して実行される機能を要求するためのプロンプト106を提示しないようにする。ユーザが機能に精通していることに基づいて、ユーザは、プロンプト106なしにオブジェクト104Bを選択することができる。
【0022】
図1Fは、ユーザが第2のオブジェクト104Bを選択した状態の電子デバイス100を示す図である。ユーザは、ユーザが機能に精通していることに基づいて、プロンプト106なしに、選択108Aを入力したのと同様の態様で、選択108Bを入力することができる。電子デバイス100は、オブジェクト104Bの選択を受信することができる。オブジェクト104Bの選択を受信したことに基づいて、電子デバイス100は、オブジェクト104Bに対して画像分類を実行し、および/または、オブジェクト104Bがオブジェクト104Aと同一のオブジェクトクラスのオブジェクトであると判断することができる。オブジェクト104Bが当該オブジェクトクラスのオブジェクトであると判断したことに基づいて、電子デバイス100は、選択108Bを受信して、オブジェクト104Aに関して実行された機能と同様の態様で、オブジェクト104Bのオブジェクトクラスに関連付けられた機能を実行することができる。
【0023】
図1Gは、第2のオブジェクト104Bに対して機能が実行された後の電子デバイス100を示す図である。電子デバイス100は、オブジェクト104Aに対して機能を実行して変換されたオブジェクト110Aを生成する上記の態様と同様の態様で、オブジェクト104Bに対して機能を実行して、図1Gにおけるディスプレイ102によって提示される変換されたオブジェクト110Bを生成することができる。
【0024】
図2は、電子デバイス100のブロック図である。電子デバイス100は、画像提示部202を含み得る。画像提示部202は、ディスプレイ102が提示および/または表示するための画像を生成および/または提示することができる。当該画像は、電子デバイス100上で動作するおよび/または実行されるアプリケーションによって処理されるデータに基づいて生成することができ、当該アプリケーションは、非限定的な例として、ウェブブラウザ、カメラアプリケーション、ビデオプレーヤ、またはソーシャルメディアアプリケーションなどである。画像提示部202によって生成および/または提示される画像は、オブジェクト104A,104Bおよび/または変換されたオブジェクト110A,110Bなどのオブジェクトを含み得る。
【0025】
電子デバイス100は、画像分類部204を含み得る。画像分類部204は、画像内のオブジェクトを分類し、および/または、画像内のオブジェクトがオブジェクトクラスのメンバであるかどうかを判断することができる。いくつかの例では、画像分類部204は、表示された画像のそれぞれのフレームの中のオブジェクトがオブジェクトクラスのメンバであるかどうかを判断することができる。いくつかの例では、コンピューティングリソースの消費量を減らすために、画像分類部204は、表示された画像の4番目のフレームごとなど、n番目のフレームごとの中のオブジェクトがオブジェクトクラスのメンバであるかどうかを判断することができる。画像分類部204は、表示された画像内のオブジェクトの特徴とオブジェクトクラスの特徴とを比較することによって当該オブジェクトがオブジェクトクラスのメンバであるかどうかを判断することができる。画像分類部204は、オンデバイス機械学習技術を実行することによって、表示された画像内のオブジェクトがオブジェクトクラスのメンバであるかどうかを判断することができ、オンデバイス機械学習技術は、非限定的な例として、人工ニューラルネットワーク、畳み込みニューラルネットワーク、K最近傍分類、決定木またはサポートベクタマシン(SVM:Support Vector Machine)などである。いくつかの例では、画像分類部204は、所与の表示された画像内の各オブジェクトが複数のクラスのメンバであるかどうか、および/または、所与の表示された画像の複数の部分が複数のクラスのメンバであるかどうかを判断することができる。いくつかの例では、画像分類部204は、オブジェクトおよび/または画像の一部が複数の異なるオブジェクトクラスのメンバであるかどうかをシーケンシャルに判断することができる。
【0026】
画像分類部204は、クラスライブラリ206を含み得て、および/または、クラスライブラリ206にアクセスすることができる。クラスライブラリ206は、複数のオブジェクトクラスを含み得て、および/または、複数のオブジェクトクラスを格納することができる。画像分類部204は、オブジェクト104A,104Bなどの、ディスプレイ102によって提示されたオブジェクトの特徴と、クラスライブラリ206に格納されたオブジェクトクラスの特徴とを比較して、オブジェクトがクラスライブラリ206に格納されたオブジェクトクラスのメンバであるかどうかを判断することができる。
【0027】
画像分類部204は、画像検出部208を含み得る。画像検出部208は、オブジェクトクラスのメンバであると画像分類部204が判断したオブジェクトの、ディスプレイ102上の場所を検出することができる。画像検出部208によって決定された場所は、プロンプト106などのプロンプトを提示するための場所を決定するためにプロンプト生成部214によって使用され得る。
【0028】
電子デバイス100は、精通度判断部210を含み得る。精通度判断部210は、ユーザがオブジェクトクラスおよび/もしくは当該オブジェクトクラスに関連付けられた機能に精通しているかどうか、ならびに/または、オブジェクトクラスおよび/もしくは当該オブジェクトクラスに対するユーザの精通度レベルを判断することができる。当該精通度は、ユーザに関連付けられることができ、ならびに/または、ログインされたり、アクティブであったり、および/もしくは、電子デバイス100と対話しているアカウントに関連付けられることができる。いくつかの例では、精通度判断部210は、ユーザのためにバイナリ値を生成することができ、当該バイナリ値は、ユーザがオブジェクトクラスおよび/もしくは関連付けられた機能に精通していないため、オブジェクトクラスのオブジェクトに対して実行される機能を要求するよう促されるべきであること、または、ユーザがオブジェクトクラスおよび/もしくは関連付けられた機能に精通しているため、オブジェクトクラスのオブジェクトに対して実行される機能を要求するよう促されるべきでないことのいずれかを示す。いくつかの例では、精通度判断部210は、ユーザのためにある範囲内の複数の精通度値のうちの1つを生成することができ、電子デバイス100は、精通度値とコンテキスト情報との組み合わせに基づいて、ユーザにプロンプトを提示するかどうかを判断することができる。
【0029】
精通度判断部210は、各オブジェクトクラスおよび/または機能に関して、ユーザのために精通度値を決定することができる。当該精通度値は、機能を実行するためのプロンプトおよび/または所与のオブジェクトクラスのオブジェクトに関するプロンプトがユーザに提示された回数および/または頻度に基づき得て、オブジェクトおよび/またはオブジェクトクラスに関するプロンプトの回数および/または頻度が増えるにつれて、精通度値は大きくなる。精通度値は、ユーザが所与のオブジェクトクラスのオブジェクトおよび/または所与の機能に関するオブジェクトを選択した回数に基づき得て、ユーザが実行される機能についてのオブジェクトを選択した回数が増えるにつれて、当該機能および/またはオブジェクトのオブジェクトクラスに関する精通度値は大きくなる。精通度値は、ユーザが所与のオブジェクトクラスのオブジェクトおよび/または所与の機能に関するオブジェクトを選択してからの時間の長さに基づき得る。ユーザが所与のオブジェクトクラスのオブジェクトおよび/または所与の機能に関するオブジェクトを選択してからの時間の長さが長くなるにつれて、精通度値は小さくなる。いくつかの例では、電子デバイス100は、ユーザが機能および/または当該機能に関連付けられたオブジェクトクラスに十分に精通していると判断して、当該オブジェクトクラスに関する画像分類の実行を停止および/または終了し、当該オブジェクトクラスに関連付けられた機能のためのプロンプトの提示を停止し、その後、ユーザがある時間の長さにわたって当該オブジェクトクラスのオブジェクトおよび/または当該オブジェクトクラスに関連付けられた機能を選択しなかった後に、ユーザが当該機能および/または当該機能に関連付けられたオブジェクトクラスにもはや精通していないと判断することができる。ユーザが当該機能および/または当該機能に関連付けられたオブジェクトクラスにもはや精通していないと判断したことに基づいて、電子デバイス100は、画像クラスに関する画像分類の実行、および、ユーザが当該オブジェクトクラスに関連付けられた機能を実行するために当該オブジェクトクラスのオブジェクトを選択するためのプロンプトの提示を再開することができる。精通度判断部210は、精通度値が予め定められた第1の閾値に達すると分類の終了を制御し得て、精通度値が予め定められた第2の閾値に達すると分類の再開を制御し得る。これは、ユーザがしばらく使用すると精通するようになるが、しばらく使用しなければその精通度を失う、ということを考慮に入れる。
【0030】
電子デバイス100は、コンテキストプロセッサ212を含み得る。コンテキストプロセッサ212は、画像分類を実行するかどうかおよび/またはプロンプトを提示するかどうかを判断するために電子デバイス100が精通度値と組み合わせることができるコンテキスト情報を処理することができる。当該コンテキスト情報は、たとえば、電子デバイス100に含まれるバッテリの充電レベルなどのコンピューティングリソースの状態(コンピューティングリソースの他の例としては、メモリの利用可能性、プロセッサリソース、ネットワークとの接続強度、もしくは写真モダリティが挙げられる)、時刻、電子デバイス100に含まれるマイクによって受信される音声信号、電子デバイス100の場所、ならびに/または、ユーザがオブジェクトクラスの画像を見るおよび/もしくはオブジェクトクラスの画像を格納することによる、表示されている特定のオブジェクトクラス(人間もしくは特定のタイプの動物(犬もしくは猫など))の画像へのユーザの関心を含み得る。バッテリの充電レベルが低い場合、電子デバイス100は、バッテリ電力を節約するために、ユーザが機能および/またはオブジェクトクラスに精通していないにもかかわらず、画像分類を実行することができない。時刻が、ユーザが特定の機能を実行することに無関心であり得る時間である場合、電子デバイス100は、精通度値が非常に低い(この場合、電子デバイス100が画像分類を実行することができる)場合を除いて、ユーザがそれらの特定の機能および/またはオブジェクトクラスに精通していないにもかかわらず、それらの特定の機能に関連付けられたオブジェクトクラスに関して画像分類を実行することができない。音声信号がコーヒーショップなどの特定の環境を示す場合、電子デバイス100は、ユーザが当該特定の環境に関連付けられたオブジェクトクラスに対して比較的高い精通度値を有しているにもかかわらず、コーヒーまたはメニューなどの、当該特定の環境に関連付けられたオブジェクトクラスの画像分類を実行することができる。ユーザが飲食店街などの特定の場所にいる場合、電子デバイスは、ユーザが当該特定の場所に関連付けられたオブジェクトクラスに比較的精通しているにもかかわらず、看板および/またはメニューなどの、特定の場所に関連付けられたオブジェクトクラスのオブジェクトの画像分類を実行することができる。ユーザが特定のオブジェクトクラスの画像に高い関心を持っていると電子デバイス100が判断した場合、電子デバイス100は、ユーザが当該オブジェクトクラスおよび/または当該オブジェクトクラスに関連付けられた機能に比較的精通しているにもかかわらず、当該特定のオブジェクトクラスのオブジェクトの画像分類を実行することができる。
【0031】
電子デバイス100は、プロンプト生成部214を含み得る。プロンプト生成部214は、ユーザが実行される機能についてのオブジェクトを選択するための、図1Bに関連して示され、説明されたプロンプト106などのプロンプトを生成することができる。プロンプト生成部214は、オブジェクトが、電子デバイス100が機能を実行することができるオブジェクトクラスのメンバであると画像分類部204が判断したことに基づいておよび/または応答して、プロンプトを生成し、および/または、プロンプトをディスプレイ102上に表示することができる。プロンプト生成部214は、画像検出部208によって決定されたオブジェクトの場所に基づいて、オブジェクトに近位の、ディスプレイ102上の場所においてプロンプトを生成することができる。プロンプトは、オブジェクトに対して実行される機能を(テキストを用いるなどして)識別および/または説明することができる。実行される機能は、機能の実行対象のオブジェクトのオブジェクトクラスに関連付けられることができる。
【0032】
電子デバイス100は、選択プロセッサ216を含み得る。選択プロセッサ216は、機能に関連付けられたオブジェクトクラスのメンバであるオブジェクト104A,104Bのいずれかなどのオブジェクトの、選択108A,108Bのいずれかなどの選択を処理することができる。当該選択は、ディスプレイ102がタッチスクリーンである例における、選択されたオブジェクトを提示および/もしくは表示しているディスプレイ102の部分をタップもしくはタップして長押しするジャスチャ、または、選択されたオブジェクトを提示および/もしくは表示しているディスプレイ102の部分上にカーソルがあるときのマウスクリックもしくはダブルクリックなどのジェスチャを含み得る。選択プロセッサ216は、ディスプレイ102によって提示および/または表示されたオブジェクトに関して入力が予め規定されたジェスチャの基準を満たすかどうかを判断することができる。ディスプレイ102によって提示および/または表示されたオブジェクトに関して入力が予め規定されたジェスチャの基準を満たすと選択プロセッサ216が判断する場合、選択プロセッサ216は、ユーザがオブジェクトを選択したと判断することができる。ユーザがオブジェクトを選択したと判断したことに基づいて、選択プロセッサは、オブジェクトに対しておよび/またはオブジェクトに関して機能を実行するように機能プロセッサ218を促すおよび/または指示することができる。
【0033】
電子デバイス100は、機能プロセッサ218を含み得る。機能プロセッサ218は、ユーザが選択したと選択プロセッサ216が判断したオブジェクトに対して機能を実行することができる。機能プロセッサ218は、オブジェクトがそのメンバであると画像分類部204が判断したオブジェクトクラスに基づいて、機能を実行および/または選択することができる。機能プロセッサ218は、オブジェクトをパラメータとして機能にパスすることができる。パラメータとして機能にパスされるオブジェクトは、ディスプレイ102によって提示される画像の部分を含み得る。機能プロセッサ218がパラメータにパスするための画像の部分は、画像検出部208によって決定されたオブジェクトの場所に基づき得る。機能プロセッサによって実行および/または選択される機能は、たとえば、オブジェクトに含まれる電話番号への電話通話を開始すること、オブジェクトに含まれる電子メールアドレスへの電子メールをドラフトし始めること、オブジェクトに含まれるバーコードもしくはQRコードを復号すること、オブジェクトに含まれるテキストに対して光学文字認識を実行すること、オブジェクトに含まれるおよび/もしくはオブジェクトによって識別されるドキュメントをスキャンすること、または、オブジェクトに含まれる人および/もしくは人間、動物、モニュメントもしくはランドマークを識別することを含み得る。いくつかの例では、機能プロセッサ218は、電子デバイス100上でローカルに機能を実行することができる。いくつかの例では、機能プロセッサ218は、オブジェクトを有するアプリケーションプログラミングインターフェイス(API:Application Programming Interface)をパラメータとして呼び出すことなどによって要求(当該要求はオブジェクトを含む)をサーバに送信し、当該要求を送信したことに応答して、変換されたオブジェクトをサーバから受信することによって、機能を実行することができる。機能を実行した後、機能プロセッサ218は、ディスプレイ102による提示および/または表示のために、変換されたオブジェクト110A,110Bなどの変換されたオブジェクトを生成することができる。
【0034】
電子デバイス100は、少なくとも1つのプロセッサ220を含み得る。少なくとも1つのプロセッサ220は、本明細書に記載されている方法、機能および/または技術の任意の組み合わせを電子デバイス100に実行させるための、少なくとも1つのメモリデバイス222に格納された命令などの命令を実行することができる。
【0035】
電子デバイス100は、少なくとも1つのメモリデバイス222を含み得る。少なくとも1つのメモリデバイス222は、非一時的なコンピュータ読取可能記憶媒体を含み得る。少なくとも1つのメモリデバイス222は、データおよび命令を格納することができ、当該データおよび命令は、プロセッサ220などの少なくとも1つのプロセッサによって実行されると、本明細書に記載されている方法、機能および/または技術の任意の組み合わせを電子デバイス100などのコンピューティングシステムに実行させるように構成されている。したがって、本明細書に記載されている実現例のいずれにおいても(たとえ特定の実現例と関連付けて明示的に言及されていなくても)、電子デバイス100に関連付けられた、または電子デバイス100に含まれるソフトウェア(たとえば、処理モジュール、格納された命令)および/またはハードウェア(たとえば、プロセッサ、メモリデバイスなど)は、単独でまたは電子デバイス100と組み合わせて、本明細書に記載されている方法、機能および/または技術の任意の組み合わせを実行するように構成され得る。
【0036】
電子デバイス100は、少なくとも1つの入力/出力ノード224を含み得る。少なくとも1つの入力/出力ノード224は、データを受信および/もしくは送信することができ、ならびに/または、ユーザから入力を受信してユーザに出力を提供することができる。入力および出力機能は、単一のノードにまとめられてもよく、または別々の入力ノードおよび出力ノードに分割されてもよい。入力/出力ノード224は、たとえば、ディスプレイ(ディスプレイ102などのタッチスクリーンディスプレイであってもよい)、カメラ、スピーカ、マイク、1つもしくは複数のボタン、動き検出器および/もしくは加速度計、温度計、光センサ、ならびに/または、他のコンピューティングデバイスと通信するための1つもしくは複数の有線もしくは無線インターフェイスを含み得る。
【0037】
図3は、電子デバイス100によって実行される方法のフローチャートである。図3は、ユーザが機能および/または当該機能に関連付けられたオブジェクトに精通しているかどうかに応じて、電子デバイス100が画像分類を循環的に実行することを示している。画像提示部202は、画像を提示することができる(302)。画像提示部202は、ディスプレイ102上に画像を提示することができる。画像は、ウェブブラウザ、カメラまたはソーシャルメディアアプリケーションなどの、電子デバイス上で動作するアプリケーションに基づき得る。
【0038】
画像分類部204は、ディスプレイ102によって提示された画像および/または画像の一部を分類することができる(304)。画像分類部204は、特定のオブジェクトクラスについて画像分類を実行するためのサイクルがオンである間に画像を分類することができる。画像の一部は、オブジェクト104A,104Bなどのオブジェクトであると考えることができる。画像分類部204は、画像および/またはオブジェクトがクラスライブラリに格納された1つまたは複数のオブジェクトクラスのメンバであるかどうかを判断することによって、画像および/またはオブジェクトを分類することができる。
【0039】
精通度判断部210は、コンテキストプロセッサ212と組み合わせて、ユーザがオブジェクトのオブジェクトクラスおよび/またはオブジェクトに関連付けられた機能に精通しているかどうか(306)を判断することができる。精通度判断部210は、コンテキストプロセッサ212と組み合わせて、非限定的な例として、オブジェクトクラスのオブジェクトに対して機能を実行するためのプロンプト(プロンプト106など)がユーザに提示された回数、ユーザがオブジェクトクラスのオブジェクトを何回選択したか、ユーザがオブジェクトクラスのオブジェクトを選択してからどれぐらいの時間が経過したか、電子デバイス100に含まれるバッテリの充電レベル、時刻、電子デバイス100に含まれるマイクによって受信される音声信号、電子デバイス100の場所、ならびに/または、ユーザがオブジェクトクラスの画像を見るおよび/もしくはオブジェクトクラスの画像を格納することによる、表示されている特定のオブジェクトクラスの画像へのユーザの関心のうちの1つ以上の組み合わせに基づいて、ユーザがオブジェクトのオブジェクトクラスおよび/またはオブジェクトに関連付けられた機能に精通しているかどうかを判断することができる。
【0040】
精通度判断部210が、コンテキストプロセッサ212と組み合わせて、ユーザがオブジェクトクラスおよび/または機能に精通していると判断する場合、電子デバイス100は、オブジェクトクラスおよび/または機能に関する画像分類をオフにすることができる。ユーザがオブジェクトクラスおよび/もしくは機能に精通していると精通度判断部が判断したこと、ならびに/または、オブジェクトクラスおよび/もしくは機能に関する画像分類をオフにしたことに基づいて、選択プロセッサ216は、以下で説明するように、電子デバイス100がオブジェクトの選択を受信するかどうかを判断することができる(308)。いくつかの例では、精通度判断部210が、コンテキストプロセッサ212と組み合わせて、ユーザがオブジェクトクラスおよび/または機能に精通していると判断する場合、画像分類部204は、電子デバイス100がオブジェクトクラスおよび/または機能に関する画像分類をオフにしたことに基づいて、精通しているオブジェクトクラスのオブジェクトが存在するかどうかの判断を停止することができる。精通度判断部210が、コンテキストプロセッサ212と組み合わせて、ユーザがオブジェクトクラスおよび/もしくは機能に精通していないと判断する場合、ならびに/または、オブジェクトクラスおよび/もしくは機能に関する画像分類がオンにされる場合、プロンプト生成部214は、プロンプトを提示することができる(312)(ならびに/または、電子デバイス100は、オブジェクトクラスおよび/もしくは機能に関する画像分類をオンにすることができる)。プロンプト106などのプロンプトは、オブジェクトに対して実行される機能を示すおよび/または説明することができる。プロンプトの表示は、画像検出部208によって決定されたオブジェクトの場所ならびにオブジェクトのオブジェクトクラスおよび/またはオブジェクトに対して実行される機能に基づき得る。
【0041】
プロンプトを提示し(312)、ならびに/または、ユーザがオブジェクトクラスおよび/もしくは機能に精通していると判断した後、電子デバイス100および/または選択プロセッサ216は、電子デバイス100がオブジェクトの選択を受信したかどうかを判断することができる。選択プロセッサ216は、オブジェクトを提示しているディスプレイ102のエリアをタップもしくはタップして長押しすること、または、オブジェクトを提示しているディスプレイ102のエリア上にカーソルがあるときのマウスクリックもしくはダブルクリックなどの、予め定められたジェスチャを電子デバイス100が受信したかどうかに基づいて、電子デバイス100がオブジェクトの選択を受信したかどうかを判断することができる。
【0042】
電子デバイス100がオブジェクトの選択を受信しなかったと選択プロセッサ216が判断する場合、電子デバイス100は、画像の提示(302)を継続することができる。電子デバイス100がオブジェクトの選択を受信したと選択プロセッサ216が判断する場合、機能プロセッサ218は、オブジェクトに対して機能を実行することができる(310)。機能を実行した(310)後、電子デバイス100は、画像の提示(302)を継続することができる。
【0043】
図4は、電子デバイス100によって実行される方法のフローチャートである。当該方法は、表示された画像内で画像分類を実行するステップ(402)を含み得る。当該方法は、画像分類を実行しながら、オブジェクトクラスの第1のオブジェクト104Aが表示された画像内に存在することを判断するステップ(404)を含み得る。当該方法は、表示された画像内に、プロンプト106を提示するなど、プロンプトを生成するステップ(406)を含み得る。当該方法は、プロンプト106に応答するなどして、第1のオブジェクト104Aの選択108Aをユーザから受信するステップ(408)を含み得る。当該方法は、第1のオブジェクト104Aの選択を受信したことに応答して、第1のオブジェクト104Aに対して機能を実行するステップ(410)を含み得る。当該方法は、プロンプト106に応答してなされ得る第1のオブジェクト104Aの選択に基づいて、ユーザが機能に精通していると判断するステップ(412)を含み得る。当該方法は、ユーザが機能に精通していると判断したことに基づいて、表示された画像内での画像分類の実行を終了するステップ(414)を含み得る。当該方法は、ユーザが表示された画像内でオブジェクトクラスの第2のオブジェクト104Bを選択したことに応答して、第2のオブジェクト104Bに対して機能を実行するステップ(416)を含み得る。
【0044】
いくつかの例では、第1のオブジェクトに対して機能を実行することは、表示された画像に対してローカル画像認識機能を実行することを含み得る。
【0045】
いくつかの例では、第1のオブジェクトに対して機能を実行することは、表示された画像をサーバに送信することと、変換されたオブジェクトをサーバから受信することとを含み得る。
【0046】
いくつかの例では、オブジェクトクラスはテキストを含み得る。いくつかの例では、機能は、第1のオブジェクトに対して光学文字認識を実行することを含み得る。
【0047】
いくつかの例では、オブジェクトクラスはバーコードを含み得る。いくつかの例では、機能は、第1のオブジェクトを復号することを含み得る。
【0048】
いくつかの例では、オブジェクトクラスは人間を含み得る。いくつかの例では、機能は、第1のオブジェクトに関連付けられた名前を決定することを含み得る。
【0049】
いくつかの例では、当該方法は、コンピューティングシステムの場所に基づいてオブジェクトクラスを決定するステップをさらに含み得る。
【0050】
いくつかの例では、当該方法は、ユーザが以前に見た画像に基づいてオブジェクトクラスを決定するステップをさらに含み得る。
【0051】
いくつかの例では、ユーザが機能に精通していると判断するステップは、オブジェクトクラスに関してユーザが機能に精通していると判断するステップを含み得て、表示された画像内での画像分類の実行を終了するステップは、オブジェクトクラスに関して表示された画像内での画像分類の実行を終了するステップを含み得る。
【0052】
いくつかの例では、表示された画像内での画像分類の実行を終了するステップは、ユーザが機能に精通していると判断するステップおよび時刻に基づき得る。
【0053】
いくつかの例では、表示された画像内での画像分類の実行を終了するステップは、ユーザが機能に精通していると判断するステップおよびコンピューティングシステムに含まれるバッテリの充電レベルに基づき得る。
【0054】
いくつかの例では、表示された画像内での画像分類の実行を終了するステップは、ユーザが機能に精通していると判断するステップおよびコンピューティングシステムに含まれるマイクによって受信される音声信号に基づき得る。
【0055】
いくつかの例では、当該方法は、第2のオブジェクトの選択を受信して、第2のオブジェクトがオブジェクトクラスのオブジェクトであると判断したことに応答して、第2のオブジェクトに対して画像分類を実行するステップをさらに含み得て、第2のオブジェクトに対して機能を実行するステップは、第2のオブジェクトがオブジェクトクラスのオブジェクトであると判断したことに基づき得る。
【0056】
いくつかの例では、当該方法は、オブジェクトクラスの第1のオブジェクトが表示された画像内に存在すると判断した後に第1のオブジェクトに対して画像検出を実行するステップをさらに含み得る。表示された画像内にプロンプトを提示するステップは、表示された画像内で第1のオブジェクトが検出された場所に基づいて、表示された画像内の場所にプロンプトを提示するステップを含み得る。
【0057】
いくつかの例では、当該方法は、複数の追加画像を表示するステップと、ユーザが表示された複数の追加画像の部分を選択しなかったことに基づいて、ユーザが機能にもはや精通していないと判断するステップと、ユーザが機能にもはや精通していないと判断したことに基づいて、その後表示された画像内で画像分類を実行するステップと、その後表示された画像内で画像分類を実行しながら、オブジェクトクラスの後続のオブジェクトがその後表示された画像内に存在することを判断するステップと、その後表示された画像内に後続のプロンプトを提示するステップとをさらに含み得る。
【0058】
いくつかの例では、オブジェクトクラスは第1のオブジェクトクラスを含み得て、プロンプトは第1のプロンプトを含み得て、機能は第1の機能を含み得る。当該方法は、その後表示された画像内で画像分類を実行するステップと、その後表示された画像内で画像分類を実行しながら、その後表示された画像内で第2のオブジェクトクラスの第2のオブジェクトを検出するステップとをさらに含み得て、第2のオブジェクトクラスは、第1のオブジェクトクラスとは異なっており、当該方法はさらに、その後表示された画像内に第2のプロンプトを提示するステップと、第2のオブジェクトの選択をユーザから受信するステップと、第2のオブジェクトの選択を受信したことに応答して、第2のオブジェクトに対して第2の機能を実行するステップとを含み得て、第2の機能は、第1の機能とは異なっている。
【0059】
図5は、本明細書に記載されている技術とともに使用され得る汎用コンピュータデバイス500および汎用モバイルコンピュータデバイス550の一例を示す図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、タブレット、ワークステーション、パーソナルデジタルアシスタント、テレビ、サーバ、ブレードサーバ、メインフレーム、および電子デバイス100と通信することができる他の適切なコンピューティングデバイスなどの、さまざまな形態のデジタルコンピュータを表すよう意図されている。コンピューティングデバイス550は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および電子デバイス100の一例であり得る他の同様のコンピューティングデバイスなどの、さまざまな形態のモバイルデバイスを表すよう意図されている。本明細書に示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示的であるよう意図されたものにすぎず、本明細書に記載および/またはクレームされている本発明の実現例を限定するよう意図されたものではない。
【0060】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、ストレージデバイス506と、メモリ504および高速拡張ポート510に接続する高速インターフェイス508と、低速バス514およびストレージデバイス506に接続する低速インターフェイス512とを含む。プロセッサ502は、半導体ベースのプロセッサであり得る。メモリ504は、半導体ベースのメモリであり得る。構成要素502,504,506,508,510および512の各々は、さまざまなバスを使用して相互接続されて、共通のマザーボード上にまたは適宜他の態様で実装され得る。プロセッサ502は、高速インターフェイス508に結合されたディスプレイ516などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示するために、メモリ504内またはストレージデバイス506上に格納された命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実現例では、複数のプロセッサおよび/または複数のバスが複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは、必要な動作の(たとえば、サーババンクとして、ブレードサーバ群として、またはマルチプロセッサシステムとしての)部分を提供する。
【0061】
メモリ504は、コンピューティングデバイス500内に情報を格納する。一実現例では、メモリ504は、1つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ504は、1つまたは複数の不揮発性メモリユニットである。また、メモリ504は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ読取可能媒体であってもよい。
【0062】
ストレージデバイス506は、コンピューティングデバイス500に対してマスストレージを提供することができる。一実現例では、ストレージデバイス506は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイスなど、または、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイなどの、コンピュータ読取可能媒体であり得るか、またはそのようなコンピュータ読取可能媒体を含み得る。コンピュータプログラム製品は、情報担体において有形に具現化することができる。コンピュータプログラム製品は、実行されると上記の方法などの1つまたは複数の方法を実行する命令も含み得る。情報担体は、メモリ504、ストレージデバイス506またはメモリオンプロセッサ502などのコンピュータまたは機械読取可能媒体である。
【0063】
高速コントローラ508は、コンピューティングデバイス500のための帯域幅集約的な動作を管理し、低速コントローラ512は、より低い帯域幅集約的な動作を管理する。このような機能の割り当ては例示に過ぎない。一実現例では、高速コントローラ508は、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)メモリ504、ディスプレイ516に結合されるとともに、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート510に結合される。この実現例では、低速コントローラ512は、ストレージデバイス506および低速拡張ポート514に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに、または、スイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合され得る。
【0064】
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態で実現されてもよい。たとえば、コンピューティングデバイス500は、標準的なサーバ520として、またはそのようなサーバの群内で複数回実現されてもよい。また、コンピューティングデバイス500は、ラックサーバシステム524の一部として実現されてもよい。また、コンピューティングデバイス500は、ラップトップコンピュータ522などのパーソナルコンピュータにおいて実現されてもよい。代替的に、コンピューティングデバイス500からの構成要素は、デバイス550などのモバイルデバイス(図示せず)における他の構成要素と組み合わせられてもよい。そのようなデバイスの各々は、コンピューティングデバイス500,550のうちの1つ以上を含み得て、システム全体は、互いに通信する複数のコンピューティングデバイス500,550で構成され得る。
【0065】
コンピューティングデバイス550は、他の構成要素の中でも特に、プロセッサ552と、メモリ564と、ディスプレイ554などの入力/出力デバイスと、通信インターフェイス566と、トランシーバ568とを含む。デバイス550は、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスを備え得る。構成要素550,552,564,554,566および568の各々は、さまざまなバスを使用して相互接続されており、当該構成要素のうちのいくつかは、共通のマザーボード上にまたは適宜他の態様で実装され得る。
【0066】
プロセッサ552は、メモリ564に格納された命令を含む命令をコンピューティングデバイス550内で実行することができる。プロセッサは、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス550によって実行されるアプリケーション、およびデバイス550による無線通信などの、デバイス550の他の構成要素の連携を提供し得る。
【0067】
プロセッサ552は、ディスプレイ554に結合された制御インターフェイス558およびディスプレイインターフェイス556を介してユーザと通信し得る。ディスプレイ554は、たとえば、薄膜トランジスタ液晶ディスプレイ(TFT LCD:Thin-Film-Transistor Liquid Crystal Display)または有機発光ダイオード(OLED:Organic Light Emitting Diode)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス556は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ554を駆動するための適切な回路を備え得る。制御インターフェイス558は、ユーザからコマンドを受信し、それらを変換してプロセッサ552に送信し得る。また、デバイス550と他のデバイスとの近距離通信を可能にするために、プロセッサ552と通信する外部インターフェイス562が設けられ得る。外部インターフェイス562は、たとえば、いくつかの実現例では有線通信を提供してもよく、または他の実現例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
【0068】
メモリ564は、コンピューティングデバイス550内に情報を格納する。メモリ564は、1つもしくは複数のコンピュータ読取可能媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つ以上として実現され得る。拡張メモリ574も設けられ得て、たとえばシングル・インライン・メモリ・モジュール(SIMM:Single In Line Memory Module)カードインターフェイスを含み得る拡張インターフェイス572を介してデバイス550に接続され得る。そのような拡張メモリ574は、デバイス550に追加の記憶空間を提供し得て、または、デバイス550のためのアプリケーションもしくは他の情報も格納し得る。具体的には、拡張メモリ574は、上記のプロセスを実行または補足するための命令を含み得て、セキュリティ保護された情報も含み得る。したがって、たとえば、拡張メモリ574は、デバイス550のためのセキュリティモジュールとして設けられてもよく、デバイス550の安全な使用を可能にする命令でプログラムされてもよい。また、ハッキングできない態様で識別情報をSIMMカード上に配置するなど、セキュリティ保護されたアプリケーションが追加の情報とともにSIMMカードを介して提供されてもよい。
【0069】
メモリは、以下で説明するように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実現例では、コンピュータプログラム製品は、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上記の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ564、拡張メモリ574またはメモリオンプロセッサ552などのコンピュータまたは機械読取可能媒体であって、たとえばトランシーバ568または外部インターフェイス562を介して受信され得る。
【0070】
デバイス550は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス566を介して無線で通信し得る。通信インターフェイス566は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどのさまざまなモードまたはプロトコル下での通信を提供し得る。このような通信は、たとえば無線周波数トランシーバ568を介して行われてもよい。また、ブルートゥース、WiFi、または他のそのようなトランシーバ(図示せず)を使用するなどして短距離通信が行われてもよい。また、グローバルポジショニングシステム(GPS:Global Positioning System)受信機モジュール570は、デバイス550上で実行されるアプリケーションによって適宜使用され得る追加のナビゲーション関連および位置関連の無線データをデバイス550に提供し得る。
【0071】
また、デバイス550は、音声コーデック560を使用して音声認識可能に通信し得て、音声コーデック560は、口頭の情報をユーザから受信して、それを使用可能なデジタル情報に変換し得る。音声コーデック560は、同様に、たとえばデバイス550のハンドセット内のスピーカなどを介して、ユーザのために可聴音を生成し得る。そのような音は、音声電話通話からの音を含み得て、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含み得て、デバイス550上で動作するアプリケーションによって生成された音も含み得る。
【0072】
コンピューティングデバイス550は、図に示されるように、いくつかの異なる形態で実現されてもよい。たとえば、コンピューティングデバイス550は、携帯電話580として実現されてもよい。また、コンピューティングデバイス550は、スマートフォン582、パーソナルデジタルアシスタントまたは他の同様のモバイルデバイスの一部として実現されてもよい。
【0073】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらのさまざまな実現例は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから/へのデータおよび命令の送受信を行うように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムでの実現例を含み得る。
【0074】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型および/もしくはオブジェクト指向型のプログラミング言語で、ならびに/または、アセンブリ/機械言語で実現することができる。「機械読取可能媒体」「コンピュータ読取可能媒体」という語は、本明細書で用いられる場合、機械読取可能信号として機械命令を受信する機械読取可能媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD:Programmable Logic Device))を指す。「機械読取可能信号」という語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0075】
ユーザとの対話を提供するために、本明細書に記載されているシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス(たとえば、陰極線管(CRT:Cathode Ray Tube)または液晶ディスプレイ(LCD:Liquid Crystal Display)モニタ)と、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現することができる。ユーザとの対話を提供するために、他の種類のデバイスも使用することができる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得て、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受信することができる。
【0076】
本明細書に記載されているシステムおよび技術は、バックエンド構成要素を(たとえば、データサーバとして)含むコンピューティングシステムにおいて実現されてもよく、ミドルウェア構成要素(たとえば、アプリケーションサーバ)を含むコンピューティングシステムにおいて実現されてもよく、フロントエンド構成要素(たとえば、ユーザが本明細書に記載されているシステムおよび技術の実現例と対話することができるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステムにおいて実現されてもよく、またはそのようなバックエンド構成要素、ミドルウェア構成要素またはフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムにおいて実現されてもよい。システムのこれらの構成要素は、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN:Local Area Network」)、ワイドエリアネットワーク(「WAN:Wide Area Network」)、およびインターネットが挙げられる。
【0077】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いに遠隔にあり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作するとともに互いに対してクライアント-サーバ関係を有するコンピュータプログラムによって生じるものである。
【0078】
いくつかの実施形態について説明してきた。しかし、本発明の精神および範囲から逸脱することなくさまざまな修正がなされ得るということが理解されるであろう。
【0079】
以下にいくつかの例を記載する。
例1:命令が格納された非一時的なコンピュータ読取可能記憶媒体であって、上記命令は、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、
表示された画像内で画像分類を実行することと、
上記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが上記表示された画像内に存在することを判断することと、
上記表示された画像内にプロンプトを提示することと、
上記プロンプトに応答して、上記第1のオブジェクトの選択をユーザから受信することと、
上記第1のオブジェクトの上記選択を受信したことに応答して、上記第1のオブジェクトに対して機能を実行することと、
上記プロンプトに応答した上記第1のオブジェクトの上記選択に基づいて、上記ユーザが上記機能に精通していると判断することと、
上記ユーザが上記機能に精通していると判断したことに基づいて、上記表示された画像内での画像分類の実行を終了することと、
上記ユーザが上記表示された画像内で上記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、上記第2のオブジェクトに対して上記機能を実行することとを行わせるように構成されている、非一時的なコンピュータ読取可能記憶媒体。
【0080】
例2:上記第1のオブジェクトに対して上記機能を実行することは、上記表示された画像に対してローカル画像認識機能を実行することを含む、例1に記載の非一時的なコンピュータ読取可能記憶媒体。
【0081】
例3:上記第1のオブジェクトに対して上記機能を実行することは、
上記表示された画像をサーバに送信することと、
変換されたオブジェクトを上記サーバから受信することとを含む、例1または2に記載の非一時的なコンピュータ読取可能記憶媒体。
【0082】
例4:上記オブジェクトクラスはテキストを含む、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0083】
例5:上記機能は、上記第1のオブジェクトに対して光学文字認識を実行することを含む、例4に記載の非一時的なコンピュータ読取可能記憶媒体。
【0084】
例6:上記オブジェクトクラスはバーコードを含む、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0085】
例7:上記機能は、上記第1のオブジェクトを復号することを含む、例6に記載の非一時的なコンピュータ読取可能記憶媒体。
【0086】
例8:上記オブジェクトクラスは人間を含む、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0087】
例9:上記機能は、上記第1のオブジェクトに関連付けられた名前を決定することを含む、例8に記載の非一時的なコンピュータ読取可能記憶媒体。
【0088】
例10:上記命令はさらに、上記コンピューティングシステムに、上記コンピューティングシステムの場所に基づいて上記オブジェクトクラスを決定させるように構成されている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0089】
例11:上記命令はさらに、上記コンピューティングシステムに、上記ユーザが以前に見た画像に基づいて上記オブジェクトクラスを決定させるように構成されている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0090】
例12:オブジェクトが、上記電子デバイスが機能を実行できるオブジェクトクラスのオブジェクトであるかどうかは、上記電子デバイスによって判断可能である、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0091】
例13:精通度判断部による精通度の判断は、オブジェクトの選択の回数、特に、予め定められた時間間隔内でのオブジェクトの選択の回数および/または上記オブジェクトの上記表示と上記選択との間の時間に左右され、特に精通度値が生成される、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0092】
例14:上記精通度判断部は、精通度値が予め定められた第1の閾値に達すると上記分類の上記終了を制御し、上記精通度値が予め定められた第2の閾値に達すると上記分類の再開を制御する、例13に記載の非一時的なコンピュータ読取可能記憶媒体。
【0093】
例15:コンテキストプロセッサは、画像分類を実行するかどうかおよび/またはプロンプトを提示するかどうかを判断するために上記電子デバイスが上記精通度値と組み合わせることができるコンテキスト情報を処理し、上記コンテキスト情報は、特に、上記電子デバイスに含まれるバッテリの充電レベル、時刻、上記電子デバイスに含まれるマイクによって受信される音声信号、上記電子デバイスの場所、ならびに/または、上記ユーザが上記オブジェクトクラスの画像を見るおよび/もしくは上記オブジェクトクラスの画像を格納することによる、表示されている特定のオブジェクトクラスの画像へのユーザの関心である、例13または14に記載の非一時的なコンピュータ読取可能記憶媒体。
【0094】
例16:上記ユーザが上記機能に精通していると判断することは、上記オブジェクトクラスに関して上記ユーザが上記機能に精通していると判断することを含み、
上記表示された画像内での画像分類の実行を終了することは、上記オブジェクトクラスに関して上記表示された画像内での画像分類の実行を終了することを含む、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0095】
例17:上記命令は、上記コンピューティングシステムに、上記ユーザが上記機能に精通していると判断することおよび時刻に基づいて、上記表示された画像内での画像分類の実行を終了させるように構成されている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0096】
例18:上記命令は、上記コンピューティングシステムに、上記ユーザが上記機能に精通していると判断することおよび上記コンピューティングシステムに含まれるバッテリの充電レベルに基づいて、上記表示された画像内での画像分類の実行を終了させるように構成されている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0097】
例19:上記命令は、上記コンピューティングシステムに、上記ユーザが上記機能に精通していると判断することおよび上記コンピューティングシステムに含まれるマイクによって受信される音声信号に基づいて、上記表示された画像内での画像分類の実行を終了させるように構成されている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0098】
例20:上記命令はさらに、上記コンピューティングシステムに、上記オブジェクトクラスの上記第1のオブジェクトが上記表示された画像内に存在すると判断した後に、上記第1のオブジェクトに対して画像検出を実行させるように構成されており、
上記表示された画像内に上記プロンプトを提示することは、上記表示された画像内の、上記第1のオブジェクトが検出された場所に基づいて、上記表示された画像内の場所にプロンプトを提示することを含む、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0099】
例21:上記命令はさらに、上記コンピューティングシステムに、
複数の追加画像を表示することと、
上記ユーザが上記表示された複数の追加画像の部分を選択しなかったことに基づいて、上記ユーザが上記機能にもはや精通していないと判断することと、
上記ユーザが上記機能にもはや精通していないと判断したことに基づいて、
その後表示された画像内で画像分類を実行することと、
上記その後表示された画像内で上記画像分類を実行しながら、上記オブジェクトクラスの後続のオブジェクトが上記その後表示された画像内に存在することを判断することと、
上記その後表示された画像内に後続のプロンプトを提示することとを行わせる、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0100】
例22:上記オブジェクトクラスは、第1のオブジェクトクラスを含み、
上記プロンプトは、第1のプロンプトを含み、
上記機能は、第1の機能を含み、
上記命令はさらに、上記コンピューティングシステムに、
その後表示された画像内で画像分類を実行することと、
上記その後表示された画像内で上記画像分類を実行しながら、上記その後表示された画像内で第2のオブジェクトクラスの第2のオブジェクトを検出することとを行わせ、上記第2のオブジェクトクラスは、上記第1のオブジェクトクラスとは異なっており、上記命令はさらに、上記コンピューティングシステムに、
上記その後表示された画像内に第2のプロンプトを提示することと、
上記第2のオブジェクトの選択を上記ユーザから受信することと、
上記第2のオブジェクトの上記選択を受信したことに応答して、上記第2のオブジェクトに対して第2の機能を実行することとを行わせ、上記第2の機能は、上記第1の機能とは異なっている、先行する例の少なくともいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体。
【0101】
例23:コンピューティングシステムであって、
少なくとも1つのプロセッサと、
例1~22のいずれか1つに記載の非一時的なコンピュータ読取可能記憶媒体とを備える、コンピューティングシステム。
【0102】
例24:方法であって、
コンピューティングシステムが、表示された画像内で画像分類を実行するステップと、
上記画像分類を実行しながら、オブジェクトクラスの第1のオブジェクトが上記表示された画像内に存在することを判断するステップと、
上記表示された画像内にプロンプトを提示するステップと、
上記第1の選択をユーザから受信するステップと、
上記プロンプトの上記選択を受信したことに応答して、上記第1のオブジェクトに対して機能を実行するステップと、
上記プロンプトの上記選択に基づいて、上記ユーザが上記機能に精通していると判断するステップと、
上記ユーザが上記機能に精通していると判断したことに基づいて、上記表示された画像内での画像分類の実行を終了するステップと、
上記ユーザが上記表示された画像内で上記オブジェクトクラスの第2のオブジェクトを選択したことに応答して、上記第2のオブジェクトに対して上記機能を実行するステップとを備える、方法。
【0103】
また、図面に示される論理フローは、望ましい結果を達成するために、示されている特定の順序またはシーケンシャルな順序を必要としない。また、記載されているフローから他のステップが提供されてもよく、またはステップが除去されてもよく、記載されているシステムに他の構成要素が追加されてもよく、または記載されているシステムから他の構成要素が除去されてもよい。したがって、他の実施形態は、以下の特許請求の範囲の範囲内である。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図2
図3
図4
図5