(57)【要約】  グラフィカルなコンテンツとのユーザのインタラクティブ性を促進するために、コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けすることを対象とする方法および装置。コンピューティングデバイス上に表示されたコンテンツの領域へのセグメント分けは、表示されたグラフィカルなコンテンツの少なくとも一部(たとえば、すべて)をキャプチャする「スクリーンショット画像」のピクセルの分析によって達成される。スクリーンショット画像の個々のピクセルは、スクリーンショット画像の1つまたは複数の領域を決定し、任意で領域の各々に対応するセマンティックタイプを割り当てるために分析される可能性がある。一部の実装は、コンピューティングデバイスを介してユーザに与えるために提供するインタラクティブコンテンツを領域のうちの1つまたは複数に基づいて生成することをさらに対象とする。
2019522838.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのコンピューティングデバイスによって前記ユーザに与えられた表示の少なくとも一部をキャプチャするスクリーンショット画像を1つまたは複数のプロセッサによってキャプチャするステップと、
前記スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップであって、前記スクリーンショット画像の複数のピクセルに基づいて前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域に第1のセマンティックタイプを割り当てるステップであって、前記第1の領域の複数の前記ピクセルに基づいて前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域および前記第1の領域の前記第1のセマンティックタイプに基づいてインタラクティブコンテンツを生成するステップと、
前記ユーザの前記コンピューティングデバイスを介して前記ユーザに提示するために前記インタラクティブコンテンツを与えるステップであって、前記ユーザの前記コンピューティングデバイスのユーザインターフェース入力デバイスを介した前記インタラクティブコンテンツのユーザの選択が、前記ユーザの前記コンピューティングデバイスに前記第1の領域に合わせて仕立てられる1つまたは複数のアクションを実行させる、ステップとを含む方法。
【請求項２】
前記インタラクティブコンテンツが、前記ユーザインターフェース入力デバイスを介して選択されるときに前記コンピューティングデバイスに前記第1の領域の可視コンテンツに関連するウェブページにアクセスさせるか、前記第1の領域の可視コンテンツに関連する検索を行わせるか、またはアプリケーションの状態にアクセスさせるグラフィカルな要素を含み、前記状態が、前記第1の領域の前記可視コンテンツに関連する請求項1に記載の方法。
【請求項３】
前記コンピューティングデバイスの前記ユーザインターフェース入力デバイスまたは別のユーザインターフェース入力デバイスを介して前記ユーザによって与えられた特定のユーザインターフェース入力を特定するステップをさらに含み、
前記ユーザに提示するために前記インタラクティブコンテンツを与えるステップが、前記特定のユーザインターフェース入力を特定することに応じて行われる請求項1または請求項2に記載の方法。
【請求項４】
前記特定のユーザインターフェース入力が、前記第1の領域のサブセットに対応する前記表示の一部分を対象とし、前記ユーザに提示するために前記インタラクティブコンテンツを与えるステップが、前記特定のユーザインターフェース入力が前記第1の領域の前記サブセットに対応する前記表示の前記一部分を対象とすることに基づく請求項3に記載の方法。
【請求項５】
前記インタラクティブコンテンツが、前記ユーザインターフェース入力デバイスを介して選択されるときに前記コンピューティングデバイスに前記第2の領域の前記ピクセルのいずれも保存せずに前記第1の領域の複数の前記ピクセルを1つまたは複数のコンピュータ可読記憶媒体に保存させるグラフィカルな要素を含む請求項4に記載の方法。
【請求項６】
前記インタラクティブコンテンツが、前記ユーザインターフェース入力デバイスを介して選択されるときに前記コンピューティングデバイスに前記第1の領域の複数の前記ピクセルを含み、前記第2の領域の前記ピクセルのいずれも含まない電子的な通信を生成させるグラフィカルな要素を含む請求項4に記載の方法。
【請求項７】
前記インタラクティブコンテンツを生成するステップが、前記第1の領域および前記第1の領域の前記第1のセマンティックタイプに基づき、前記第2の領域に依存せず、
前記ユーザの前記コンピューティングデバイスを介して前記ユーザに提示するために前記インタラクティブコンテンツを与えるステップが、前記第2の領域に基づいて決定されるいかなるインタラクティブコンテンツも与えることなく前記インタラクティブコンテンツを与えるステップを含む請求項4から6のいずれか一項に記載の方法。
【請求項８】
前記プロセッサが、前記コンピューティングデバイスの1つまたは複数のコンピューティングデバイスプロセッサおよび前記コンピューティングデバイスの遠隔にある1つまたは複数のリモートプロセッサを含み、
前記スクリーンショット画像をキャプチャする前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなり、
前記インタラクティブコンテンツを生成する前記1つまたは複数のプロセッサが、前記リモートプロセッサのうちの1つまたは複数を含む請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記スクリーンショット画像を少なくとも前記第1の領域および前記第2の領域にセグメント分けする前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなる請求項8に記載の方法。
【請求項１０】
前記第2の領域の前記ピクセルのいずれも前記リモートプロセッサの第1のグループに送信することなく前記第1の領域の複数の前記ピクセルを前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって前記リモートプロセッサの前記第1のグループに送信するステップをさらに含む請求項9に記載の方法。
【請求項１１】
前記第1の領域に前記第1のセマンティックタイプを割り当てる前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなる請求項10に記載の方法。
【請求項１２】
前記第1の領域の前記第1のセマンティックタイプを前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって前記リモートプロセッサの前記第1のグループに送信するステップと、
前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって、前記第1の領域の前記第1のセマンティックタイプに基づいて前記リモートプロセッサの前記第1のグループを選択するステップとのうちの少なくとも1つをさらに含む請求項11に記載の方法。
【請求項１３】
前記スクリーンショット画像内の前記第1の領域の追加的な特徴を前記プロセッサのうちの1つまたは複数によって決定するステップをさらに含み、
前記インタラクティブコンテンツを生成するステップが、前記追加的な特徴にさらに基づく請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記インタラクティブコンテンツを生成するステップが、閾値を満たす前記追加的な特徴に依存する請求項13に記載の方法。
【請求項１５】
前記追加的な特徴が、前記スクリーンショット画像内の前記第1の領域の絶対的なサイズ、前記スクリーンショット画像内の前記第1の領域の相対的なサイズ、前記スクリーンショット画像内の前記第1の領域の位置、および前記スクリーンショット画像内の前記第1の領域の前記ピクセルの密度のうちの1つを示す請求項14に記載の方法。
【請求項１６】
前記スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップが、
前記スクリーンショット画像の前記ピクセルの一意のグループをそれぞれが含む複数のセルに前記スクリーンショット画像を区分けするステップと、
複数の前記セルの各々に関して、
前記セルによって含まれる前記ピクセルの前記一意のグループのピクセルのサブセットに基づいて前記セルに関して複数の分類のうちの対応する1つを決定するステップと、
前記セルに関して決定された分類に基づいて前記第1の領域を決定するステップとを含む請求項1から15のいずれか一項に記載の方法。
【請求項１７】
前記第1の領域を決定するステップが、
前記分類のうちの第1の分類を有する複数の前記セルをそれぞれが包含する1つまたは複数の最小の境界ボックスに基づいて前記第1の領域を決定するステップを含む請求項16に記載の方法。
【請求項１８】
前記複数のセルのうちの所与のセルに関して前記分類を決定するステップが、
擬似ランダム選択プロセスに基づいて前記セルによって含まれるピクセルの前記サブセットを決定するステップと、
特定の色であるピクセルの前記サブセットのカウントに基づいて前記分類を決定するステップとを含む請求項16または請求項17に記載の方法。
【請求項１９】
コンピューティングデバイスによってユーザに与えられた表示の少なくとも一部をキャプチャするスクリーンショット画像を前記コンピューティングデバイスの1つまたは複数のプロセッサによってキャプチャするステップと、
前記スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップであって、前記スクリーンショット画像の複数のピクセルに基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域の少なくとも1つの第1の特徴を決定するステップであって、前記第1の領域の複数のピクセル、前記第1の領域のサイズ、および前記第1の領域の位置のうちの1つまたは複数に基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第2の領域の少なくとも1つの第2の特徴を決定するステップであって、前記第2の領域の複数のピクセル、前記第2の領域のサイズ、および前記第2の領域の位置のうちの1つまたは複数に基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって前記第1の領域の複数の前記ピクセルに基づいて特定のアクションを実行するステップであって、前記特定の第1のアクションが、前記第1の領域が前記第1の特徴を有することに基づいて前記第1の領域の前記ピクセルに対して実行される、ステップとを含み、
前記特定のアクションが、前記第2の領域が前記第2の特徴を有することに基づいて前記第2の領域に対して実行されない方法。
【請求項２０】
前記第1の特徴が、第1のセマンティックラベルであり、前記第2の特徴が、第2のセマンティックラベルである請求項19に記載の方法。
【請求項２１】
前記第1のアクションが、前記第1の領域の前記ピクセルをコンテンツ認識エンジンに与えることである請求項19または請求項20に記載の方法。
【請求項２２】
前記1つまたは複数のプロセッサが、前記第2の領域が前記第2の特徴を有することに基づいて前記第2の領域の前記ピクセルのうちの1つまたは複数を別個のコンテンツ認識エンジンに与える請求項21に記載の方法。
【請求項２３】
前記第2の領域の前記ピクセルが、前記第2の領域が前記第2の特徴を有することに基づいていかなるコンテンツ認識エンジンにも与えられない請求項21に記載の方法。
【請求項２４】
前記第2の領域の前記ピクセルが、前記第2の領域が前記第2の特徴を有することに基づいていかなるさらなるアクションに関しても与えられない請求項21に記載の方法。
【請求項２５】
請求項1から24のいずれか一項に記載の方法を実行するように構成された装置。
【請求項２６】
コンピューティング装置によって実行されるときに前記コンピューティング装置に請求項1から24のいずれか一項に記載の方法を実行させる機械可読命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツをキャプチャするスクリーンショット画像のピクセルに基づくコンピューティングデバイス上に表示されたコンテンツの領域へのセグメント分けに関する。
【背景技術】
【０００２】
ユーザによってコンピューティングデバイス上で見られる特定のドキュメントからの画像および/またはその他のコンテンツの自動化された抽出は、比較的単純なプロセスである可能性がある。たとえば、画像を含むHTMLウェブページは、その画像に関する位置を明示的に定義する可能性があり、その位置が、その画像を抽出するためにコンピューティングデバイスによって使用される可能性がある。たとえば、HTMLウェブページ上の画像は、HTMLウェブページによって定義された階層構造を使用して1つまたは複数のコンピューティングデバイスによって(たとえば、HTMLウェブページを見るユーザのコンピューティングデバイスによって)抽出される可能性がある。抽出された画像は、コンピューティングデバイスに保存され、(たとえば、電子メールによって) 1つまたは複数のさらなるコンピューティングデバイスに伝達されるなどする可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書の実装は、ユーザによってコンピューティングデバイス上で見られている画像および/またはその他のコンテンツを抽出することが既存の技術によればほとんどの状況で不可能である問題を解決することを対象とする。
【課題を解決するための手段】
【０００４】
たとえば、多くのアプリケーション(たとえば、モバイル電話、タブレットなどのための「アプリ」)は、ユーザに対して表示するための画像および/またはその他のグラフィカルなコンテンツを生成する可能性がある。多くのアプリケーションからのコンテンツの自動化された抽出は、アプリケーションがそのコンテンツのエクスポートを明確にサポートしていない限りこれまでは不可能であり、そのようなサポートは、比較的まれである。これは、表示された画像内にテキストとして符号化されるテキストコンテンツの抽出と対照的であり、テキストの抽出は、今や、モバイルオペレーティングシステムの通常の特徴となっている。
【０００５】
コンピューティングデバイス上に表示されたグラフィカルな要素からコンテンツを抽出することによって、コンテンツとの有用なインタラクションが可能になる。これは、ユーザが他の方法では不可能であったかまたは少なくともデバイスを単独で使用するだけでは不可能であったコンテンツを考慮したアクションを実行することを可能にし得る。
【０００６】
本明細書の実装は、コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けすることを対象とする。それらの実装の一部は、コンピューティングデバイスを介してユーザに提示するために与えるインタラクティブコンテンツを領域のうちの1つまたは複数に基づいて生成することをさらに対象とする。コンピューティングデバイスを介してユーザに提示されるインタラクティブコンテンツは、コンピューティングデバイスのユーザインターフェース入力デバイスを介したインタラクティブコンテンツの選択に応答して、インタラクティブコンテンツを生成するために利用される領域のうちの1つまたは複数に合わせて仕立てられた1つまたは複数のアクションをコンピューティングデバイスに実行させるように構成される可能性がある。
【０００７】
コンピューティングデバイス上に表示されたコンテンツの領域へのセグメント分けは、表示されたコンテンツの少なくとも一部(たとえば、すべて)をキャプチャする「スクリーンショット画像」のピクセルの分析によって達成される。スクリーンショット画像の個々のピクセルは、スクリーンショット画像の1つまたは複数の領域を決定し、領域の各々に対応するセマンティックタイプ(semantic type)を割り当てるために分析される可能性がある。領域は、スクリーンショット画像の連続的なエリアを定義し、領域のセマンティックタイプは、その領域に含まれるコンテンツの分類である。セマンティックタイプは、たとえば、「画像」、「テキスト領域」、「リスト項目」--および/または「写真の画像」、「絵画である画像」などのより粒度の細かいタイプ--を含む可能性がある。スクリーンショット画像からのピクセルの分析は、画像および/またはその他のコンテンツの抽出のための機能を組み込まないモバイル電話「アプリ」によって生成される表示などの、複数のアプリケーションのうちの任意の1つによって生成される表示からの画像および/またはその他のコンテンツの抽出を可能にし得る。一部の実装において、スクリーンショット画像内でキャプチャされた表示されたコンテンツのセグメント分けは、スクリーンショット画像の複数のピクセルのみの分析に基づいて達成される。一部の実装において、スクリーンショット画像内でキャプチャされた表示されたコンテンツのセグメント分けは、コンテンツの表示を生成するために利用される可能性があるいかなるマークアップ言語(たとえば、HTML)の分析もなしに達成される。
【０００８】
一部の実装においては、1つまたは複数のプロセッサによって実行され、ユーザのコンピューティングデバイスによってユーザに与えられる表示の少なくとも一部をキャプチャするスクリーンショット画像をキャプチャするステップと、スクリーンショット画像の複数のピクセルに基づいてスクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップと、第1の領域の複数のピクセルに基づいて第1の領域に第1のセマンティックタイプを割り当てるステップと、第1の領域および第1の領域の第1のセマンティックタイプに基づいてインタラクティブコンテンツを生成するステップと、ユーザのコンピューティングデバイスを介してユーザに提示するためのインタラクティブコンテンツを与えるステップとを含む方法が、提供される。ユーザのコンピューティングデバイスのユーザインターフェース入力デバイスを介したインタラクティブコンテンツのユーザの選択は、ユーザのコンピューティングデバイスに第1の領域に合わせて仕立てられる1つまたは複数のアクションを実行させる。
【０００９】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含む可能性がある。
【００１０】
一部の実装において、インタラクティブコンテンツは、ユーザインターフェース入力デバイスを介して選択されるときにコンピューティングデバイスに第1の領域の可視コンテンツに関連するウェブページにアクセスさせるか、第1の領域の可視コンテンツに関連する検索を行わせるか、またはアプリケーションの状態にアクセスさせるグラフィカルな要素を含み、アプリケーションの状態は、第1の領域の可視コンテンツに関連する。
【００１１】
一部の実装において、方法は、コンピューティングデバイスのユーザインターフェース入力デバイスまたは別のユーザインターフェース入力デバイスを介してユーザによって与えられた特定のユーザインターフェース入力を特定するステップをさらに含み、ユーザに提示するためにインタラクティブコンテンツを与えるステップは、特定のユーザインターフェース入力を特定することに応じて行われる。それらの実装の一部において、特定のユーザインターフェース入力は、第1の領域のサブセットに対応する表示の一部分を対象とし、ユーザに提示するためにインタラクティブコンテンツを与えるステップは、特定のユーザインターフェース入力が第1の領域のサブセットに対応する表示の一部分を対象とすることに基づく。それらの実装の一部のバージョンにおいて、インタラクティブコンテンツは、ユーザインターフェース入力デバイスを介して選択されるときにコンピューティングデバイスに第2の領域のピクセルのいずれも保存せずに第1の領域の複数のピクセルを1つまたは複数の非一時的コンピュータ可読媒体に保存させるグラフィカルな要素を含む。それらの実装の一部のその他のバージョンにおいて、インタラクティブコンテンツは、追加的におよび/または代替的に、ユーザインターフェース入力デバイスを介して選択されるときにコンピューティングデバイスに第1の領域の複数のピクセルを含み、第2の領域のピクセルのいずれも含まない電子的な通信を生成させるグラフィカルな要素を含む。インタラクティブコンテンツを生成するステップは、第1の領域および第1の領域の第1のセマンティックタイプに基づく可能性があり、第2の領域に依存しない可能性がある。それらの実装の一部において、ユーザのコンピューティングデバイスを介してユーザに提示するためにインタラクティブコンテンツを与えるステップは、第2の領域に基づいて決定されるいかなるインタラクティブコンテンツも与えることなくインタラクティブコンテンツを与えることを含む。
【００１２】
一部の実装において、方法を実施する1つまたは複数のプロセッサは、コンピューティングデバイスの1つまたは複数のコンピューティングデバイスプロセッサおよびコンピューティングデバイスの遠隔にある1つまたは複数のリモートプロセッサを含む。それらの実装の一部において、スクリーンショット画像をキャプチャする1つまたは複数のプロセッサは、コンピューティングデバイスプロセッサのうちの1つまたは複数からなり、インタラクティブコンテンツを生成する1つまたは複数のプロセッサは、リモートプロセッサのうちの1つまたは複数を含む。それらの実装の一部において、スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けする1つまたは複数のプロセッサは、コンピューティングデバイスプロセッサのうちの1つまたは複数からなる。それらの実装の一部のバージョンにおいて、方法は、第2の領域のピクセルのいずれもリモートプロセッサの第1のグループに送信することなく第1の領域の複数のピクセルをコンピューティングデバイスプロセッサのうちの1つまたは複数によってリモートプロセッサの第1のグループに送信するステップをさらに含む。それらのバージョンの一部において、第1の領域に第1のセマンティックタイプを割り当てる1つまたは複数のプロセッサは、コンピューティングデバイスプロセッサのうちの1つまたは複数からなる。さらに、それらのバージョンの一部において、方法は、第1の領域の第1のセマンティックタイプをコンピューティングデバイスプロセッサのうちの1つまたは複数によってリモートプロセッサの第1のグループに送信するステップ、および/またはコンピューティングデバイスプロセッサのうちの1つまたは複数によって、第1の領域の第1のセマンティックタイプに基づいてリモートプロセッサの第1のグループを選択するステップをさらに含む可能性がある。
【００１３】
一部の実装において、方法は、スクリーンショット画像内の第1の領域の追加的な特徴を決定するステップと、追加的な特徴にさらに基づいてインタラクティブコンテンツを生成するステップとをさらに含む。それらの実装の一部において、インタラクティブコンテンツを生成するステップは、閾値を満たす追加的な特徴に依存する。追加的な特徴は、スクリーンショット画像内の第1の領域の絶対的なサイズ、スクリーンショット画像内の第1の領域の相対的なサイズ、スクリーンショット画像内の第1の領域の位置、およびスクリーンショット画像内の第1の領域のピクセルの密度のうちの1つを示す可能性がある。
【００１４】
一部の実装において、スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップは、スクリーンショット画像のピクセルの一意のグループをそれぞれが含む複数のセルにスクリーンショット画像を区分けすることと、複数のセルの各々に関して、セルによって含まれるピクセルの一意のグループのピクセルのサブセットに基づいてセルに関して複数の分類のうちの対応する1つを決定することと、セルに関して決定された分類に基づいて第1の領域を決定することとを含む。それらの実装の一部において、第1の領域を決定することは、分類のうちの第1の分類を有する複数のセルをそれぞれが包含する1つまたは複数の最小の境界ボックスに基づいて第1の領域を決定することを含む。それらの実装の一部において、複数のセルのうちの所与のセルに関して分類を決定することは、擬似ランダム選択プロセスに基づいてセルによって含まれるピクセルのサブセットを決定することと、特定の色であるピクセルのサブセットのカウントに基づいて分類を決定することとを含む。
【００１５】
一部の実装においては、1つまたは複数のプロセッサによって実行され、コンピューティングデバイスによってユーザに与えられる表示の少なくとも一部をキャプチャするスクリーンショット画像をキャプチャするステップと、スクリーンショット画像の複数のピクセルに基づいてスクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップと、第1の領域の複数のピクセル、第1の領域のサイズ、および第1の領域の位置のうちの1つまたは複数に基づいて第1の領域の少なくとも1つの第1の特徴を決定するステップと、第2の領域の複数のピクセル、第2の領域のサイズ、および第2の領域の位置のうちの1つまたは複数に基づいて第2の領域の少なくとも1つの第2の特徴を決定するステップと、第1の領域の複数のピクセルに基づいて特定のアクションを実行するステップとを含む方法が、提供される。特定の第1のアクションは、第1の領域が第1の特徴を有することに基づいて第1の領域のピクセルに対して実行され、特定のアクションは、第2の領域が第2の特徴を有することに基づいて第2の領域のピクセルに対して実行されない。
【００１６】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含む可能性がある。
【００１７】
一部の実装において、第1の特徴は、第1のセマンティックラベル(semantic label)であり、第2の特徴は、第2のセマンティックラベルである。
【００１８】
一部の実装において、第1のアクションは、第1の領域のピクセルをコンテンツ認識エンジンに与えることである。それらの実装の一部においては、第2の領域のピクセルのうちの1つまたは複数は、第2の領域が第2の特徴を有することに基づいて別個のコンテンツ認識エンジンに与えられるか、第2の領域のピクセルが、第2の領域が第2の特徴を有することに基づいていかなるコンテンツ認識エンジンにも与えられないか、または第2の領域の前記ピクセルが、第2の領域が第2の特徴を有することに基づいていかなるさらなるアクションに関しても与えられない。
【００１９】
一部の実装においては、1つまたは複数のプロセッサによって実行され、ユーザのコンピューティングデバイスによってユーザに与えられる表示の少なくとも一部をキャプチャするスクリーンショット画像をキャプチャするステップと、スクリーンショット画像の複数のピクセルに基づいてスクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップと、第1の領域の複数のピクセルに基づいて第1の領域に第1のセマンティックタイプを割り当てるステップと、第1の領域および第1の領域の第1のセマンティックタイプに基づいてコンテンツを決定するステップと、ユーザのコンピューティングデバイスを介してユーザに提示するためのコンテンツを与えるステップとを含む方法が、提供される。
【００２０】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含む可能性がある。
【００２１】
一部の実装において、コンテンツは、第1の領域内にあるエンティティ(entity)の特性、エンティティの画像、および/またはエンティティに焦点を絞られたその他のコンテンツを含む情報を伝えるグラフィカルな要素である。
【００２２】
一部の実装において、コンテンツは、インタラクティブコンテンツである。
【００２３】
一部の実装において、コンテンツは、スタティックコンテンツである。それらの実装の一部において、コンテンツは、第1の領域内にあるエンティティの特性、エンティティの画像、および/またはエンティティに焦点を絞られたその他のコンテンツを含む情報を伝えるグラフィカルな要素である。
【００２４】
加えて、一部の実装は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、上述の方法のいずれかの実行を引き起こすように構成される。一部の実装は、上述の方法のいずれかを実行するために1つまたは複数のプロセッサによって実行され得るコンピュータ命令を記憶する非一時的コンピュータ可読ストレージ媒体も含む。
【００２５】
上述の概念および本明細書においてより詳細に説明される追加的な概念のすべての組合せは、本明細書において開示される対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【図面の簡単な説明】
【００２６】
【図１】本明細書において開示される技術が実装され得る例示的な環境のブロック図である。
【図２】コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けし、コンピューティングデバイスを介してユーザに提示するために与えるインタラクティブコンテンツを領域のうちの1つに基づいて生成する例を示す図である。
【図３】コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けし、コンピューティングデバイスを介してユーザに提示するために与えるインタラクティブコンテンツを領域のうちの1つに基づいて生成する別の例を示す図である。
【図４Ａ】例示的なモバイルコンピューティングデバイスおよびモバイルコンピューティングデバイスのディスプレイスクリーン上に表示されているコンテンツを示す図である。
【図４Ｂ】図4Aにおいて表示されているコンテンツのスクリーンショット画像を示し、スクリーンショット画像に基づいて決定される可能性がある例示的な領域を示す図である。
【図４Ｃ】図4Aの例示的なモバイルコンピューティングデバイスおよびモバイルコンピューティングデバイスによって表示される可能性があるインタラクティブコンテンツの一例を示す図である。
【図４Ｄ】図4Aの例示的なモバイルコンピューティングデバイスおよびモバイルコンピューティングデバイスによって表示される可能性があるインタラクティブコンテンツの別の例を示す図である。
【図４Ｅ】図4Aの例示的なモバイルコンピューティングデバイスおよびモバイルコンピューティングデバイスによって表示される可能性があるインタラクティブコンテンツのさらに別の例を示す図である。
【図５】スクリーンショット画像を1つまたは複数の領域にセグメント分けする例示的な方法を示す流れ図である。
【図６Ａ】図5の方法に基づいて決定される可能性があるグリッドセル(grid cell)およびグリッドセルの分類の例の図である。
【図６Ｂ】図6Aのグリッドセルおよびグリッドセルの分類を示し、図5の方法に基づいて決定される可能性がある境界ボックスをさらに示す図である。
【図７】コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けし、領域の1つまたは複数の特徴に基づいて領域に対して1つまたは複数のアクションを実行する例示的な方法を示す流れ図である。
【図８】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２７】
本明細書の実装は、コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けすることを対象とする。一部の実装は、コンピューティングデバイスを介してユーザに提示するために与えるインタラクティブコンテンツを領域のうちの1つまたは複数に基づいて生成することをさらに対象とする。コンピューティングデバイスを介してユーザに提示されるインタラクティブコンテンツは、コンピューティングデバイスのユーザインターフェース入力デバイスを介した選択に応答して、インタラクティブコンテンツを生成するために利用される領域のうちの1つまたは複数に合わせて仕立てられた1つまたは複数のアクションをコンピューティングデバイスに実行させるように構成される可能性がある。
【００２８】
一部の実装において、決定された領域と、任意で、その領域のセマンティックタイプとが、領域の可視コンテンツに関連するインタラクティブコンテンツを生成するために利用される可能性がある。たとえば、コンピューティングデバイスによって与えられる表示のスクリーンショット画像が、「写真」セマンティックタイプを有する表示の特定の領域を決定するためにセグメント分けされる可能性がある。コンピューティングデバイスは、その領域の複数のピクセルを選択する可能性があり、その領域が「写真」セマンティックタイプであることに基づいて、写真を処理するように構成される(コンピューティングデバイス上にあるかまたはコンピューティングデバイスの遠隔にある)認識エンジンにそれらのピクセルを送信する可能性がある。認識エンジンは、領域内にある1つまたは複数のエンティティ、領域内にあるエンティティに関連するエンティティ、領域内にあるエンティティのエンティティクラスなどの領域内のコンテンツをピクセルに基づいて特定する可能性がある。特定されたコンテンツに合わせて仕立てられ、コンピューティングデバイスを介してユーザに提示するために与えられるインタラクティブコンテンツが、生成される可能性がある。たとえば、特定されたコンテンツは、1つまたは複数のエンティティを含む可能性があり、インタラクティブコンテンツは、インタラクティブコンテンツのユーザの選択に応答して、ユーザのコンピューティングデバイスに、特定されたエンティティに合わせて仕立てられたウェブページにアクセスさせ、特定されたエンティティに関連する検索を行わせ、またはアプリケーションの状態にアクセスさせる--その状態が特定されたエンティティに関連する場合--可能性がある。
【００２９】
一部の実装において、特定のセマンティックタイプ(たとえば、「画像」を示すセマンティックタイプ)を有する決定された領域は、ユーザのコンピューティングデバイスが決定された領域の複数のピクセルを(ローカルにもしくは遠隔に)保存し、それらのピクセルを(たとえば、電子メール、テキスト、チャットによって)共有し、ならびに/またはその領域に基づいてさらなるインタラクティブコンテンツの認識のためおよび/もしくは生成のための(遠隔のおよび/もしくはローカルの) 1つもしくは複数のエンジンに送信されるようにそれらのピクセルを指定することを可能にするインタラクティブコンテンツを与えるために利用される可能性がある。たとえば、領域を決定し、領域が「画像」のセマンティックタイプを有すると判定することに応じて、その画像を対象とするインタラクティブコンテンツが、その領域のユーザの選択(たとえば、ロングタップ)に応じて与えられる可能性がある。これは、ユーザのコンピューティングデバイスがユーザの表示の特定の領域に焦点を絞られた1つまたは複数のアクションを実行することを可能にする。アクションは、領域を表示する特定のアプリケーションが画像の抽出を明示的にサポートすることを必要とすることなく、その領域を含むスクリーンショットのピクセルの分析に基づいて生成されたインタラクティブコンテンツを介してユーザに提示される。
【００３０】
一部の実装において、決定された領域に基づいてインタラクティブコンテンツを生成することは、その領域の「ロングタップ」などの、その決定された領域を特に対象とするユーザインターフェース入力に応じて行われる可能性がある。それらの実装の一部において、決定された領域に基づいて生成されたインタラクティブコンテンツは、コンピューティングデバイスのディスプレイスクリーン上にある可能性があるその他の選択されていない領域に基づくいかなるコンテンツよりも目立つように、またはコンピューティングデバイスのディスプレイスクリーン上にある可能性があるその他の選択されていない領域に基づく任意のコンテンツの代わりに与えられる可能性がある。その他の実装において、決定された領域に基づいてインタラクティブコンテンツを生成することは、通常のインターフェース要素の「ロングタップ」、言葉による命令(たとえば、「スクリーンに映っているものについてもっと教えて」)などの、決定された領域を特に対象としないユーザインターフェース入力に応じて行われる可能性がある。
【００３１】
一部の実装において、表示のスクリーンショット画像を1つもしくは複数の領域にセグメント分けすることおよび/または領域のうちの1つまたは複数のセマンティックタイプを決定することは、表示を生成しているコンピューティングデバイスの1つまたは複数のプロセッサによってすべてまたは部分的に実行される可能性がある。それらの実装の一部において、インタラクティブコンテンツを生成することおよび/またはインタラクティブコンテンツを与えることは、コンピューティングデバイスの遠隔にある1つまたは複数のプロセッサによってすべてまたは部分的に実行される可能性がある。これらの実装のいくつかの変更形態においては、コンピューティングデバイスの1つまたは複数のプロセッサが、領域の決定されたセマンティックタイプに基づいて、インタラクティブコンテンツを生成する際にその領域からのピクセルをどの遠隔のプロセッサが処理するのかを命じる可能性がある。たとえば、画像セマンティックラベルを有する領域が、第1の認識エンジンに与えられる可能性があり、テキストセマンティックラベルを有する領域が、第2の認識エンジンに与えられる可能性があるなどである。
【００３２】
また、一部の実装において、コンピューティングデバイスの1つまたは複数のプロセッサは、表示を1つもしくは複数の領域にセグメント分けし、および/または領域のうちの1つもしくは複数のセマンティックタイプを決定する可能性があり--領域および/もしくはセマンティックタイプを利用して、コンピューティングデバイスの1つもしくは複数のプロセッサによっておよび/または1つもしくは複数の遠隔のプロセッサによって実行される1つまたは複数の追加的な計算アクションのために利用されるピクセルの量を制限する可能性がある。たとえば、コンピューティングデバイスの1つまたは複数のプロセッサは、表示を「画像」、「テキスト」、および「なし」のセマンティックタイプを有する複数の領域にセグメント分けする可能性がある。プロセッサは、画像領域からのピクセルを(コンピューティングデバイスの1つもしくは複数のプロセッサによってまたは遠隔のプロセッサによって実装される)画像認識エンジンに与える可能性があり、テキスト領域からのピクセルを(コンピューティングデバイスの1つもしくは複数のプロセッサによってまたは遠隔のプロセッサによって実装される)テキスト認識エンジンに与える可能性があるが、「なし」領域からのいかなるピクセルも与えない可能性がある。これは、(つまり、「なし」領域からのピクセルが遠隔のエンジンに送信されないので)エンジンによって分析されるピクセルの数を減らすことによってエンジンの計算リソースを節約する可能性があり、および/またはエンジンのうちの1つもしくは複数がコンピューティングデバイスの遠隔にある実装におけるインターネットの使用を削減する可能性がある。
【００３３】
別の例として、コンピューティングデバイスの1つまたは複数のプロセッサは、領域の1つまたは複数の追加的な特徴が閾値を満たすときにのみ1つまたは複数の認識エンジンに領域を与える可能性があり、それらの追加的な特徴は、領域のセマンティックタイプ以外である。追加的な特徴は、スクリーンショット画像内の領域の絶対的なサイズ、スクリーンショット画像内の領域の相対的なサイズ、スクリーンショット画像内の領域の位置、およびスクリーンショット画像内の領域のピクセルの密度のうちの1つまたは複数を示す特徴を含む可能性がある。たとえば、非常に小さな画像は送信されない可能性があり、認識エンジンによる認識のために十分な高い解像度でない(つまり、ピクセルの密度が十分に高くない)画像は送信されない可能性があり、スクリーンショット画像の小さな部分しか占めない、および/またはスクリーンショット画像の比較的目立たない部分にある画像は送信されない可能性があり、以下同様である。
【００３４】
ここで図1に目を向けると、本明細書において開示される技術が実装され得る例示的な環境が示される。例示的な環境は、コンピューティングデバイス120、コンテンツルータエンジン128、コンテンツ認識エンジン129A〜C、インタラクティブコンテンツ生成システム130、ならびにエンティティおよびアクションデータベース136を含む。一部の実装において、コンピューティングデバイス120は、セルラ電話、タブレットコンピュータ、ラップトップコンピュータ、腕時計、ヘッドマウントデバイス(たとえば、眼鏡)、仮想または拡張現実デバイス、その他のウェアラブルデバイス、オーディオ/ビデオシステム、ナビゲーションシステム、自動車およびその他の乗り物のシステムなどのモバイルコンピューティングデバイスである。
【００３５】
コンテンツルータエンジン128、コンテンツ認識エンジン129A〜C、およびインタラクティブコンテンツ生成システムは図1においてはコンピューティングデバイス120と別々であるように示されているが、一部の実装において、それらの構成要素のうちの1つまたは複数のすべてまたは態様は、コンピューティングデバイス120によって実装される可能性がある。また、スクリーンショットセグメント分けシステム121が図1においてはコンピューティングデバイス120の一部として示されているが、一部の実装において、システム121のすべてまたは態様は、コンピューティングデバイス120の遠隔にある1つまたは複数のコンピューティングデバイスによって実装される可能性がある。図1の1つまたは複数の構成要素がコンピューティングデバイス120の遠隔にある1つまたは複数のコンピューティングデバイスによって実装される実装において、コンピューティングデバイス120および遠隔のコンピューティングデバイスは、ローカルエリアネットワーク(LAN)および/または広域ネットワーク(WAN) (たとえば、インターネット)などの1つまたは複数のネットワークを介して通信する可能性がある。
【００３６】
コンピューティングデバイス120は、クライアントコンピューティングデバイスであり、様々な筋書きの下でコンピューティングデバイス120のユーザに対して表示するためのコンテンツを生成する。たとえば、コンピューティングデバイス120は、アプリケーション127のうちの1つを実行している可能性があり、コンピューティングデバイス120のスクリーンを介してユーザに対して表示するために生成されるコンテンツは、少なくとも部分的にそのアプリケーションによって指示される可能性がある。アプリケーション127は、たとえば、ウェブブラウザアプリケーション、パーソナルアシスタントアプリケーション、ビジネスレビューアプリケーション、ソーシャルネットワーキングアプリケーション、チャットアプリケーション、SMSアプリケーション、音楽アプリケーション、ビデオアプリケーション、ならびに/または映画、TV番組、およびその他のメディアについての情報を探索するためのインターフェースを提供するアプリケーションなどの、コンピューティングデバイス120にインストールされ得る様々なアプリケーションのうちの1つまたは複数を含む可能性がある。
【００３７】
スクリーンショットセグメント分けシステム121は、少なくとも、スクリーンショット画像がキャプチャされたときにコンピューティングデバイス120によって与えられている表示の少なくとも一部をキャプチャするスクリーンショット画像を選択的にキャプチャし、コンピューティングデバイス120上に表示されたコンテンツをスクリーンショット画像のピクセルに基づいて1つまたは複数のセマンティック領域(semantic region)にセグメント分けする。一部の実装において、スクリーンショットセグメント分けシステム121は、1つまたは複数のセグメント分けされた領域に基づくインタラクティブコンテンツを得るためにコンテンツルータエンジン128および/またはインタラクティブコンテンツ生成システム130とさらにインターフェースを取る。一部の実装において、スクリーンショットセグメント分けシステム121は、スタンドアロンアプリケーションである可能性がある。一部の実装において、スクリーンショットセグメント分けシステム121は、コンピューティングデバイス120のオペレーティングシステムまたはファームウェアの一部として全体をまたは一部を統合される可能性がある。
【００３８】
示された実装のスクリーンショットセグメント分けシステム121は、スクリーンショットキャプチャエンジン122、セグメント分けエンジン123、インターフェースエンジン124、およびレンダエンジン125を含む。スクリーンショットキャプチャエンジン122は、コンピューティングデバイス120によってユーザに現在与えられている表示の少なくとも一部をそれぞれキャプチャするスクリーンショット画像をキャプチャする。
【００３９】
一部の実装において、スクリーンショットキャプチャエンジン122は、ユーザがコンピューティングデバイス120の1つまたは複数のユーザインターフェース入力デバイスとインタラクションすることに応じてユーザインターフェース入力モジュール126によって与えられる特定のユーザインターフェース入力に応答してスクリーンショット画像をキャプチャする。たとえば、一部の実装において、スクリーンショットキャプチャエンジン122は、タッチスクリーンを介した仮想的なユーザインターフェース要素の「タップ」(たとえば、ショートタップ、ロングタップ、少なくとも閾値のレベルの力によるタップ)、コンピューティングデバイス120の機械的なインターフェース要素の駆動、コンピューティングデバイス120のマイクロフォンに与えられた言葉による命令、タッチスクリーンの1つまたは複数のエリアのタップなどに応答してスクリーンショット画像をキャプチャする可能性がある。一部の実装において、スクリーンショットキャプチャエンジン122は、追加的におよび/または代替的に、コンピューティングデバイス120によって新しいアプリケーションを開くこと、コンピューティングデバイス120によって異なる仮想的なスクリーンに切り替えることなどのその他の基準に応答してスクリーンショット画像をキャプチャする可能性がある。一部の実装において、スクリーンショットキャプチャエンジン122は、追加的におよび/または代替的に、連続的に、周期的に、および/または定期的もしくは非定期的間隔でスクリーンショット画像をキャプチャする可能性がある。
【００４０】
セグメント分けエンジン123は、スクリーンショットキャプチャエンジン122によってキャプチャされたスクリーンショット画像を1つまたは複数のセマンティック領域にセグメント分けする。一部の実装において、セグメント分けエンジン123は、スクリーンショット画像の1つまたは複数の領域を決定し、領域の各々に対応するセマンティックタイプを割り当てるためにスクリーンショット画像の複数のピクセルを分析する。領域は、スクリーンショット画像の連続的なエリアを定義し、領域のセマンティックタイプは、その領域に含まれるコンテンツを分類する。セマンティックタイプは、たとえば、「画像」、「テキスト領域」、「リスト項目」など--および/または「写真の画像」、「絵画である画像」などのより粒度の細かいタイプ--を含む可能性がある。
【００４１】
セグメント分けエンジン123は、スクリーンショット画像の領域および/または領域のセマンティックタイプを決定するために様々な技術を利用する可能性がある。一部の実装において、セグメント分けエンジン123は、訓練された機械学習モデル(たとえば、畳み込みニューラルネットワーク(CNN)モデル)を含むかまたは訓練された機械学習モデルと通信し、訓練された機械学習モデルは、領域および/または領域のセマンティックタイプを決定するためにセグメント分けエンジン123によって利用され得る。たとえば、訓練された機械学習モデルは、画像の複数のピクセルをモデルへの入力として適用することを可能にし、入力画像の領域およびそれらの領域のセマンティックラベルを特定する出力をモデル上で生成するように、複数の訓練例に基づいて訓練され得る。それらの実装の一部において、モデルは、ユーザの選択を「付随的入力(side input)」として受け取り、ユーザの選択を包含し、任意で、その領域のセマンティックラベルを特定する出力を生成するように訓練され得る。
【００４２】
一部の実装において、セグメント分けエンジン123は、スクリーンショット画像の領域および/または領域のセマンティックタイプを決定するためのヒューリスティック粒子エクストラクタ(heuristic particle extractor)を実装する。それらの実装の一部において、ヒューリスティック粒子エクストラクタは、スクリーンショット画像に正方形セルのきめの粗いグリッドなどのセルのグリッドを重ね合わせる。グリッドの各セルに関して、ヒューリスティック粒子エクストラクタは、セルによって包含される画像のピクセルの小部分(たとえば、2.6%など、10%未満)を分析し、ピクセルの分析に基づいてセルを分類する。各セルは、そのセルが複数の候補分類のうちのどれに属するかに従って分類される。たとえば、セルは、「写真」かまたは「写真以外」かのどちらかとして2項分類される可能性がある。セルの分類は、対応する分類をそれぞれが割り当てられるセルの行列をもたらす。たとえば、2項分類(たとえば、写真/写真以外)に関して、各セルは、肯定的分類(たとえば、写真)かまたは否定的分類(写真以外)かのどちらを割り当てられる可能性がある。所与の分類を有するセルは、最小限の境界ボックスによって覆われる可能性があり、交差する境界ボックスは、合併される可能性がある。たとえば、2項分類においては、肯定的セルが、境界ボックスによって覆われる可能性があり、交差するボックスが、合併される可能性がある。任意で、サイズの閾値を満たすことができない境界ボックスは、破棄される可能性がある。スクリーンショット画像がヒューリスティック粒子エクストラクタによる分類の前に縮小された場合、境界ボックスは、元のスクリーンショットの解像度に拡大される可能性がある。境界ボックスは、元のスクリーンショット内の領域の位置を特定し、境界ボックスを生成するために利用された分類は、それらの領域のセマンティックラベルを特定する。
【００４３】
一部の実装においては、グリッドセルの一部が、ヒューリスティック粒子エクストラクタによって処理される。たとえば、ユーザの選択(たとえば、表示上のタップ)の位置が「付随的入力」として与えられる場合、グリッドセルの分析は、ユーザの選択の位置に対応するグリッドセルにおいて始まる可能性がある。境界ボックスが大きくなり続ける限り(つまり、少なくとも1つの方向の隣接するセルが同じ分類を有する限り)、分析は隣接するセルに進む。境界ボックスが任意の方向に大きくなるのをやめるとき、その方向のその境界ボックスの可能な拡大の限界を超えて延びるグリッドセルは分析されない。境界ボックスがすべての方向に大きくなるのをやめるとき、グリッドセルの分析は完全に停止され得る。ヒューリスティック粒子エクストラクタの実装のさらなる説明が、図5、図6A、および図6Bにおいて与えられる。
【００４４】
インターフェースエンジン124は、コンテンツルータエンジン128、インタラクティブコンテンツ生成システム130、および/またはその他の構成要素とのインターフェースを提供する。インターフェースエンジン124は、スクリーンショット画像の1つまたは複数の領域に対応するコンテンツをコンテンツルータエンジン128および/またはインタラクティブコンテンツ生成システム130に与える。たとえば、インターフェースエンジン124は、スクリーンショット画像の領域の複数のピクセルと、任意で、領域のセマンティックラベルの指示とを与える可能性がある。一部の実装において、インターフェースエンジン124は、任意で、領域の1つまたは複数の特徴を分析し、それらの基準が1つまたは複数の閾値を満たすときにのみ1つまたは複数の構成要素に領域を与える。領域の特徴は、領域のセマンティックラベル、ならびに/またはスクリーンショット画像内の領域の絶対的なサイズ、スクリーンショット画像内の領域の相対的なサイズ、スクリーンショット画像内の領域の位置、およびスクリーンショット画像内の領域のピクセルの密度のうちの1つもしくは複数を示す特徴を含む可能性がある。たとえば、インターフェースエンジン124は、領域がサイズの閾値を満たさない(たとえば、非常に小さな領域である)、その領域がコンテンツ認識エンジン129A〜Cのうちの1つもしくは複数による認識のために十分な高い解像度でない(つまり、領域のピクセルが十分に高い密度でない)、ならびに/またはその領域がスクリーンショット画像の小さな部分しか占めないおよび/もしくはスクリーンショット画像の目立たない部分にあるとき、その領域に関するコンテンツを与えない可能性がある。
【００４５】
レンダエンジン125は、決定された領域に基づいて生成されたインタラクティブコンテンツの提示を管理する。たとえば、レンダエンジン125は、ユーザに提示するための生成されたインタラクティブコンテンツの視覚的表示および/または聴覚的出力を生成し得る。たとえば、レンダエンジン125は、インタラクティブコンテンツをコンピューティングデバイス120のディスプレイスクリーン上に表示させる可能性がある。たとえば、インタラクティブコンテンツは、1つまたは複数の情報「カード」および/または「ドロップダウンメニュー」に表示される可能性があり、1つまたは複数の情報「カード」および「ドロップダウンメニュー」のどちらかが、任意で、インタラクティブコンテンツを生成するために分析されたスクリーンショット画像によってキャプチャされたコンテンツの少なくとも一部の上に重ね合わされる可能性がある。
【００４６】
エンジン122〜125のさらなる説明が、本明細書において与えられる。一部の実装において、エンジン122〜125のうちの1つまたは複数のすべてまたは態様は、組み合わされるおよび/または別のエンジンに実装される可能性がある。たとえば、一部の実装において、エンジン124の1つまたは複数の態様は、エンジン123に組み込まれる可能性がある。また、エンジン122〜125は図1の例示的な環境においてはコンピューティングデバイス120上に設けられるものとして示されているが、これは、限定的であるように意図されていない。その他の実装において、エンジン122〜125のうちの1つまたは複数のすべてまたは態様は、コンピューティングデバイス120の遠隔にある1つまたは複数のコンピューティングデバイスに実装される可能性がある。
【００４７】
コンテンツルータエンジン128は、エンジン129A〜Cなどの複数のコンテンツ認識エンジンのうちのどれがインターフェースエンジン124によって与えられる所与の領域に関するピクセルを処理するのかを決定する。コンテンツ認識エンジン129A〜Cは、領域の複数のピクセルを入力として受け取り、その領域のコンテンツの少なくとも一部の指示を出力として与えるようにそれぞれ構成される。たとえば、コンテンツ認識エンジン129Aは、写真のセマンティックラベルを有する領域のピクセルを受け取り、1つもしくは複数の特定のエンティティ(たとえば、ラッパズイセンおよびデイジーの花を示すエンティティ)ならびに/またはエンティティクラス(たとえば、花を示すエンティティ)などの、ピクセルによって形成される画像内にある1つもしくは複数のエンティティの指示を与えるように構成される可能性がある。また、たとえば、コンテンツ認識エンジン129Bは、テキストのセマンティックラベルを有する領域のピクセルを受け取り、ピクセルによって形成される画像内にある1つまたは複数の文字および/または語の指示を与えるように構成される可能性がある。一部の実装において、エンジン129A〜Cのうちの1つまたは複数は、画像検索システム、および/またはCNNなどの深層ニューラルネットワークを含む可能性がある。
【００４８】
一部の実装において、コンテンツルータエンジン128は、所与の領域に関するセマンティックラベルに少なくとも部分的に基づいて所与の領域に関するピクセルの処理のためのエンジンを選択する。たとえば、コンテンツ認識エンジン129Aは、写真の画像を示すセマンティックラベルを有する領域内にあるコンテンツを決定するように特に構成される可能性があり、エンジン129Bは、写真以外の画像を示すセマンティックラベルを有する領域内にあるコンテンツを特定するように特に構成される可能性があり、エンジン129Cは、テキストを示すセマンティックラベルを有する領域内にあるコンテンツを特定するように特に構成される可能性がある。そのような例において、コンテンツルータエンジン128は、写真の画像を示すセマンティックラベルを有する領域からのピクセルを、それらのピクセルの処理のためにコンテンツ認識エンジン129Bに与える。
【００４９】
一部の実装において、コンテンツルータエンジン128は、コンテンツ認識エンジンを選択する際の追加的なおよび/または代替的な基準を利用する可能性がある。たとえば、領域のサイズ、領域の解像度、および/または領域のその他の特徴が、どのコンテンツ認識エンジンが領域からのピクセルを与えられるかに影響を与える可能性がある。また、たとえば、コンテンツ認識エンジンの可用性が考慮される可能性がある。コンテンツルータエンジン128およびコンテンツ認識エンジン129A〜Cは図1においてはコンピューティングデバイス120と別々であるように示されているが、一部の実装において、それらの構成要素のうちの1つまたは複数は、コンピューティングデバイス120に実装される可能性がある。
【００５０】
インタラクティブコンテンツ生成システム140は、コンピューティングデバイス120を介してユーザに提示するためにインタラクティブコンテンツを生成し、インタラクティブコンテンツは、コンピューティングデバイス120によってユーザに対して表示されるコンテンツに合わせて仕立てられる。インタラクティブコンテンツ生成システム140は、セグメント分けエンジン123によって決定された1つまたは複数の領域と、任意で、それらの領域のセマンティックタイプとに基づいてコンテンツを生成する可能性がある。インタラクティブコンテンツ生成システム140は、エンティティ決定エンジン132およびアクション決定エンジン134を含む。
【００５１】
一部の実装において、エンティティ決定エンジン132は、コンピューティングデバイス120を介してユーザに対して表示されるコンテンツのスクリーンショット画像の領域内にあるコンテンツの指示をコンテンツ認識エンジン129A〜Cのうちの1つから受け取る。エンティティ決定エンジン132は、与えられた指示に基づいてコンテンツ内で参照される1つまたは複数のエンティティを決定する。エンティティは、たとえば、人、関心のある場所、住所、電話番号などに関連付けられる可能性がある。実装において、指示は、エンティティを明示的に示し、エンティティ決定エンジン132は、そのエンティティおよび/または1つもしくは複数の関連するエンティティを、生成されるインタラクティブコンテンツの1つまたは複数の見地の焦点になるエンティティとして選択する可能性がある。
【００５２】
一部の実装において、コンテンツ認識エンジン129A〜Cのうちの1つによって与えられる指示は、エンティティを明示的に示さない。たとえば、コンテンツ認識エンジン129A〜Cのうちの1つが、テキストの領域内にあるテキストを与える可能性があるが、テキストに関連するいかなるエンティティも明示的に示さない可能性がある。それらの実装の一部において、エンティティ決定エンジン132は、そのような情報に基づいて1つまたは複数のエンティティを決定する可能性がある。たとえば、エンティティ決定エンジン132は、ナレッジグラフなどの1つまたは複数のエンティティデータベース内でテキストまたはその他の情報に強く関連付けられる1つまたは複数のエンティティを決定する可能性がある。たとえば、テキストは、特定のエンティティのエイリアス(alias)にもっとも強く関連付けられる可能性がある。
【００５３】
一部の実装において、アクション決定エンジン134は、エンティティ決定エンジン132によって決定された1つのエンティティ(または複数のエンティティ)に関して実行され得る1つまたは複数のコンピュータに基づくアクションを決定する。それらの実装の一部において、アクション決定エンジン134は、エンティティおよびアクションデータベース136などの1つまたは複数のデータベース内でコンピュータに基づくアクションがエンティティにマッピングされることに基づいてコンピュータに基づくアクションを決定する。エンティティおよびアクションデータベース136は、複数のエンティティの各々に関連する1つまたは複数のコンピュータに基づくアクションへのエンティティのマッピングを含む。アクションは、エンティティに直接マッピングされる可能性があり、および/またはエンティティのクラスとのマッピングを介して間接的にエンティティにマッピングされる可能性がある。たとえば、電話番号をダイヤルするアクションは、複数の特定の電話番号の各々にマッピングされる可能性があり、および/または電話番号のクラス全体に関連付けられる可能性がある。また、たとえば、ムービーを再生するアクションは、複数のムービーの各々、ムービー全般、および/またはコンピューティングデバイス120にインストールされたアプリケーション127のうちの1つを介したオンデマンドの視聴のために利用可能であるムービーのみにマッピングされる可能性がある。
【００５４】
複数のアクションがエンティティに関して特定される実装において、アクション決定エンジン134は、任意で、たとえば、エンティティおよび/またはエンティティのクラスへのアクションの関連付けの強さ、全般的なアクションの履歴的な人気、コンテンツが生じたアプリケーションに関するアクションの履歴的な人気、アクションがコンピューティングデバイス120にインストールされた1つまたは複数のアプリケーション127によって実行可能であるかどうか、コンピューティングデバイス120にインストールされた1つまたは複数のアプリケーション127によるアクションの実行の履歴的な人気などの1つまたは複数の要因に基づいて特定されたアクションをランク付けするおよび/またはフィルタリングする可能性がある。
【００５５】
インタラクティブコンテンツ生成システム130は、エンジン134によって決定されたアクションに基づいて、コンピューティングデバイス120に提示されるインタラクティブコンテンツを生成する。インタラクティブコンテンツは、コンピューティングデバイス120の1つまたは複数のユーザインターフェース出力デバイスを介してユーザに与えられ得る視覚的、聴覚的、および/またはその他の形態である可能性がある。一例として、インタラクティブコンテンツは、コンピューティングデバイス120のユーザインターフェース入力デバイスを介してユーザによって選択されるときにコンピューティングデバイス120に1つまたは複数のアクションを実行させるグラフィカルな要素(テキスト、アイコン、および/または画像)を含む可能性がある。たとえば、グラフィカルな要素は、1つまたは複数のアクションの実行を引き起こすリンクに関連付けられる可能性がある。アクションは、たとえば、特定のウェブページにアクセスすること、特定の検索を行うこと、アプリケーションの特定の状態にアクセスすること、追加的なメディアをレンダリングすることなどを含む可能性がある。任意で、インタラクティブコンテンツの複数のアイテムが、生成される可能性があり、任意で、インタラクティブコンテンツが、1つまたは複数のエンティティのエイリアスまたはその他の特性を含むコンテンツなどの非インタラクティブコンテンツと組み合わせて与えられる可能性がある。
【００５６】
一部の実装において、アクション決定エンジン134は、任意で、エンティティ決定エンジン132および/またはコンテンツ認識エンジン129A〜Cのいずれかからの入力とは独立に1つまたは複数のアクションを決定する可能性がある。たとえば、一部の実装において、インタラクティブコンテンツは、コンピューティングデバイスのユーザが決定された領域の複数のピクセルを保存し、それらのピクセルを共有し、ならびに/またはその領域内のコンテンツの認識のためのおよび/もしくはその領域に基づくさらなるインタラクティブコンテンツの生成のための1つもしくは複数の追加的な構成要素に送信されるようにそれらのピクセルを指定することを可能にし得る。それらの実装の一部において、アクション決定エンジン134は、特定のセマンティックラベルを有しおよび/または1つもしくは複数の追加的な特徴を有する領域に基づいてインタラクティブコンテンツを生成する可能性がある。たとえば、領域が1つまたは複数の特定のセマンティックタイプのうちのセマンティックタイプ(たとえば、「画像」を示すセマンティックタイプまたは「ヌル/なし」ではない任意のセマンティックタイプ)を有すると判定することに応じて、ユーザがその領域に焦点を絞られた1つまたは複数のアクションを実行することを可能にするインタラクティブコンテンツが与えられる可能性がある。たとえば、領域を決定し、領域が「画像」のセマンティックタイプを有すると判定することに応じて、その画像を対象とするインタラクティブコンテンツが生成され、その領域のユーザの選択(たとえば、ロングタップ)に応じて表示されるように構成される可能性がある。インタラクティブコンテンツは、ユーザのコンピューティングデバイスが領域に焦点を絞られた1つまたは複数のアクションを実行することを可能にし得る。
【００５７】
図2は、コンピューティングデバイス120上に表示されたコンテンツを領域にセグメント分けし、コンピューティングデバイス120を介してユーザに提示するために与えるインタラクティブコンテンツ207を領域のうちの1つに基づいて生成する例を示す。図2において、スクリーンショットキャプチャエンジン122は、コンピューティングデバイス120のディスプレイスクリーンを介してユーザに与えられる表示の少なくとも一部をキャプチャするスクリーンショット画像201をキャプチャする。スクリーンショットキャプチャエンジン122は、スクリーンショット画像201をセグメント分けエンジン123に与える。
【００５８】
セグメント分けエンジン123は、スクリーンショット画像の1つまたは複数の領域を決定し、領域の各々に対応するセマンティックタイプを割り当てるためにスクリーンショット画像201の複数のピクセルを分析する。セグメント分けエンジン123は、スクリーンショット画像の領域および/または領域のセマンティックタイプを決定するために様々な技術を利用する可能性がある。一部の実装において、セグメント分けエンジン123は、訓練された機械学習モデル(たとえば、畳み込みニューラルネットワーク(CNN)モデル)を含むかまたは訓練された機械学習モデルと通信し、訓練された機械学習モデルは、領域および/または領域のセマンティックタイプを決定するためにセグメント分けエンジン123によって利用され得る。一部の実装において、セグメント分けエンジン123は、スクリーンショット画像の領域および/または領域のセマンティックタイプを決定するためのヒューリスティック粒子エクストラクタを実装する。
【００５９】
セグメント分けエンジン123は、領域のうちの1つおよび領域のセマンティックタイプ202をインターフェースエンジン124に与える。インターフェースエンジン124は、領域に対応するスクリーンショット画像の複数の(たとえば、すべてまたはサブセットの)ピクセルを抽出し、ピクセルおよび領域のセマンティックタイプの指示203をコンテンツルータエンジン128に与える。一部の実装において、インターフェースエンジン124は、全体的なユーザインターフェース入力または領域を特に対象とするユーザインターフェース入力などのユーザインターフェース入力に応答してピクセルおよび領域のセマンティックタイプの指示203を与える。一部の実装において、インターフェースエンジン124は、領域の1つまたは複数の特徴が1つまたは複数の閾値を満たすと判定することに基づいてピクセルおよび領域のセマンティックタイプの指示203を与える。
【００６０】
コンテンツルータエンジン128は、複数のコンテンツ認識エンジンからコンテンツ認識エンジン129Aを選択し、領域からのピクセル204をエンジン129Aに与える。一部の実装において、コンテンツルータエンジン128は、本明細書において説明されるように領域のセマンティックタイプに基づいてコンテンツ認識エンジン129Aを選択する。一部の実装において、コンテンツルータエンジン128は、領域の特徴などの追加的なおよび/または代替的な基準に基づいてエンジン129Aを選択する。一部の実装において、ルータ128は、エンジン129Aの特性に基づいてエンジン129Aに与えられたピクセルを前処理する可能性がある。たとえば、ルータ128は、エンジン129Aによって処理され得る、エンジン129Aによる処理のためにより適切にフォーマットされる画像を実現するために、与えられたピクセルによって形成される画像のサイズおよび/または解像度を変更する可能性がある。
【００６１】
コンテンツ認識エンジン129Aは、領域からのピクセル204に基づいて、それらのピクセルのコンテンツの少なくとも一部を示す1つまたは複数のコンテンツの指示205を決定する。エンジン129Aは、コンテンツの指示205をエンティティ決定エンジン142に与える。エンティティ決定エンジン142は、与えられたコンテンツの指示205に基づいてコンテンツ内で参照される少なくとも1つのエンティティ206を決定する。
【００６２】
エンティティ決定エンジン142は、エンティティ206をアクション決定エンジン144に与える。アクション決定エンジン144は、エンティティ206に関連する実行され得る1つまたは複数のコンピュータに基づくアクションを決定し、それらのアクションの実行を可能にするインタラクティブコンテンツ207を生成する。
【００６３】
エンジン144は、レンダエンジン125によるインタラクティブコンテンツ207の提示のためにインタラクティブコンテンツ207をレンダエンジン125に与える。一部の実装において、レンダエンジン125は、スクリーンショット画像201によってキャプチャされた表示されたコンテンツに取って代わることか、またはスクリーンショット画像201によってキャプチャされた表示されたコンテンツの一部の「上に」インタラクティブコンテンツを与えることかのどちらかによって、インタラクティブコンテンツ207を表示する。
【００６４】
ここで図4A〜図4Dに目を向けると、図2の例のおよび本明細書において説明されるその他の実装の特定の例の一部の実装が、さらに詳細に説明される。図4Aにおいて、コンピューティングデバイス420は、コンピューティングデバイス420のディスプレイスクリーン440に示されたコンテンツを表示している。ディスプレイスクリーン440に表示されるコンテンツは、メッセージングアプリケーションからの画像、テキスト、および/またはその他のコンテンツの抽出のための機能を組み込まないメッセージングアプリケーションなどのコンピューティングデバイス420上で実行されるメッセージングアプリケーションによって表示される可能性がある。ディスプレイスクリーン440によって表示されるコンテンツは、「スーザン」によってコンピューティングデバイス420のユーザに送信された第1のメッセージに含まれる第1のテキストコンテンツ444を含む。コンテンツは、スーザンによってユーザに送信された第2のメッセージに含まれる第2のテキストコンテンツ445および第1の画像446も含む。コンテンツは、さらに、返答メッセージを生成するためにユーザが選択し得る返答インターフェース要素447を含み、コンピューティングデバイス420に1つまたは複数のアクションを実行させるためにユーザによってインタラクションされ得るシステムインターフェース要素441、442、443を含む。
【００６５】
図4Bは、図4Aのコンピューティングデバイス420によって表示されるコンテンツのスクリーンショット画像460を示す。スクリーンショット画像460は、スクリーンショットキャプチャエンジン122によってキャプチャされる可能性がある。図4Bのスクリーンショット画像460は、システムインターフェース要素441〜443を省略する(たとえば、スクリーンショットはそれらの要素「の上の」エリアのみをキャプチャする可能性がある)が、それらのシステムインターフェース要素441〜443は、その他の実装においてはスクリーンショット画像に含まれる可能性がある。スクリーンショット画像に基づいてセグメント分けエンジン123によって決定された領域の指示も、図4Bに示される。領域461Aは、第1のテキストコンテンツ444を包含し、「テキスト」などの第1のセマンティックタイプを有する可能性がある。領域462Aは、第2のテキストコンテンツ445を包含し、第1のセマンティックタイプを有する可能性もある。領域463は、第1の画像446を包含し、「画像」などの第2のセマンティックタイプを有する可能性がある。領域465は、返答インターフェース要素447を包含し、「UI要素」などの第3のセマンティックタイプを有する可能性がある。領域461A、461B、463、または465によって包含されないスクリーンショット画像460のエリアのすべてを包含する別の領域が、生成される可能性もあり、「なし」などの第4のセマンティックタイプを有する可能性がある。領域は図4Bにグラフィカルに示されるが、セグメント分けエンジン123は、領域を様々な方法で定義する可能性があることが理解される。たとえば、セグメント分けエンジン123は、領域を、領域の中心のピクセルならびにその中心のピクセルの、ピクセルの幅およびピクセルの高さ以内のすべてのピクセルとして定義する可能性がある。
【００６６】
図4Cは、図4Aの例示的なモバイルコンピューティングデバイス420およびモバイルコンピューティングデバイス420によって表示される可能性があるインタラクティブコンテンツの一例を示す。図4Cの一部の実装において、コンピューティングデバイスのユーザは、当該領域の「ロングタップ」もしくは「ロングクリック」または当該領域を対象とする言葉による入力(たとえば、言葉による入力「スクリーン上の画像についてもっと教えて」)などの、花の画像を包含する領域463 (図4B)を特に対象とするユーザインターフェース入力を与えた可能性がある。領域463を対象とするユーザインターフェース入力に基づいて、インターフェースエンジン124は、任意でその領域のセマンティックタイプ(たとえば、「画像」)の指示と一緒に、領域463のピクセルをコンテンツルータエンジン128に与える可能性がある。一部の実装において、インターフェースエンジン124は、領域のうちのいかなるその他の領域からのピクセルも与えずに領域463のピクセルを与える。それらの実装の一部において、領域のうちのいかなるその他の領域からのピクセルも与えないことは、(たとえば、1つもしくは複数の下流の構成要素がさらにそれらのピクセルを分析しなくてよいので)それらの1つまたは複数の下流の構成要素による計算リソースのより少ない消費および/または(たとえば、下流の構成要素がコンピューティングデバイス420の遠隔にあるとき)削減されたネットワークトラフィックをもたらす可能性がある。
【００６７】
コンテンツルータエンジン128は、任意でコンテンツ認識エンジン129A〜Cのうちの1つがセマンティックタイプに関連するピクセルを処理するように構成されることに基づいてそのエンジンにピクセルを与える可能性がある。そのエンジンは、ピクセルを分析し、画像がデイジーの花のものであるという指示などのピクセルのコンテンツの1つまたは複数の指示を決定する可能性がある。
【００６８】
インタラクティブコンテンツ生成システム130は、グラフィカルな要素474A、474B、および474Cなどのインタラクティブコンテンツを生成するためにコンテンツの指示を利用する可能性がある。たとえば、インタラクティブコンテンツ生成システム130は、グラフィカルな要素474Aの選択がコンピューティングデバイス420にデイジーの花に関連する検索(たとえば、「デイジー」または「デイジーの花」の検索)を行わせる1つまたは複数のアクションを実行させるようにグラフィカルな要素474Aを生成する可能性がある。また、たとえば、インタラクティブコンテンツ生成システム130は、グラフィカルな要素474Bの選択がコンピューティングデバイス420にアプリケーション127のうちの「庭(garden)」アプリケーションの特定の状態がアクセスされることを引き起こす1つまたは複数のアクションを実行させるようにグラフィカルな要素474Bを生成する可能性がある。たとえば、グラフィカルな要素474Bの選択は、コンピューティングデバイス420に庭アプリケーションを開かせ、デイジーの花または装飾花全般に焦点を絞られたそのアプリケーションの状態にナビゲートさせる可能性がある。また、たとえば、インタラクティブコンテンツ生成システム130は、グラフィカルな要素474Cの選択がコンピューティングデバイス420にデイジーの花の1つまたは複数の追加的な画像を取り出させるおよび/または表示させるようにグラフィカルな要素474Cを生成する可能性がある。
【００６９】
インタラクティブコンテンツ生成システム130は、画像に示されたエンティティ(「デイジー」)の指示と、そのエンティティのクラス(「花」)の指示とを与える非インタラクティブコンテンツ472をさらに生成する。インタラクティブコンテンツ生成システム130によって生成されたコンテンツは、ディスプレイスクリーン440にその他のコンテンツを重ね合わせるグラフィカルな「カード」470内に表示される。さらに、グラフィカルなカード470のコンテンツが領域463を対象とし、および/またはその領域463のユーザの選択に基づいて与えられることをユーザに知らせるフィードバックをコンピューティングデバイスのユーザに与えるために、領域463に合う指示473が与えられる。指示473および/またはグラフィカルなカード470の生成および/またはフォーマットは、インタラクティブコンテンツ生成システム130および/またはレンダエンジン125によって実行される可能性がある。
【００７０】
図4Dは、図4Aの例示的なモバイルコンピューティングデバイス420およびモバイルコンピューティングデバイス420によって表示される可能性があるインタラクティブコンテンツの別の例を示す。図4Dの一部の実装においては、コンピューティングデバイスのユーザが、システム要素482上の「ロングタップ」もしくは「ロングクリック」または全体的な言葉による入力(たとえば、言葉による入力「スクリーンに映っているものについてもっと教えて」)などの、いかなる特定の領域も対象としないユーザインターフェース入力を与えた可能性がある。ユーザインターフェース入力がより全体的であることに基づいて、インターフェースエンジン124は、複数の領域のピクセルを、任意でそれらの領域のセマンティックタイプの指示と一緒にコンテンツルータエンジン128に与える可能性がある。たとえば、インターフェースエンジン124は、領域461A、461B、および463の各々からのピクセルを与える可能性がある。一部の実装において、インターフェースエンジン124は、領域のうちのいかなるその他の領域(たとえば、「なし」領域および/または「UI要素」領域465)からのピクセルも与えずに領域461A、461B、および463のピクセルを与える。それらの実装の一部において、領域のうちのいかなるその他の領域からのピクセルも与えないことは、(たとえば、1つもしくは複数の下流の構成要素がさらにそれらのピクセルを分析しなくてよいので)それらの1つまたは複数の下流の構成要素による計算リソースのより少ない消費および/または(たとえば、下流の構成要素がコンピューティングデバイス420の遠隔にあるとき)削減されたネットワークトラフィックをもたらす可能性がある。
【００７１】
コンテンツルータエンジン128は、任意で領域のセマンティックタイプに基づいて領域の各々に関するピクセルをコンテンツ認識エンジン129A〜Cのうちの1つまたは複数に与える可能性がある。たとえば、ルータ128は、領域463のピクセルをコンテンツ認識エンジン129Aに与え、領域461Aのピクセルをコンテンツ認識エンジン129Bに与え、領域461Bのピクセルをコンテンツ認識エンジン129Bに与える可能性がある。それらのエンジンは、それらのピクセルを分析し、ピクセルのコンテンツの1つまたは複数の指示を決定する可能性がある。たとえば、エンジン129Aは、領域463がデイジーの花を含むという指示を与える可能性があり、エンジン129Bは、領域461Aが項目のリストを含むという指示を与える可能性があり、それらの項目のテキストを与える可能性がある。
【００７２】
インタラクティブコンテンツ生成システム130は、グラフィカルな要素474A、474B、474C、および477などのインタラクティブコンテンツを生成するためにコンテンツの指示を利用する可能性がある。グラフィカルな要素474A〜Cは、図4Cに示されたグラフィカルな要素474A〜Cと同じである。インタラクティブコンテンツ生成システム130は、グラフィカルな要素477の選択がコンピューティングデバイス420に(領域461A内のコンテンツの指示から導出された)列挙された項目をコンピューティングデバイス420のアプリケーション127のうちの1つまたは複数によって保有されるショッピングリストなどのショッピングリストに追加させるようにグラフィカルな要素477を生成する可能性もある。
【００７３】
インタラクティブコンテンツ生成システム130は、画像に示されたエンティティ(「デイジー」)の指示と、そのエンティティのクラス(「花」)の指示とを与える非インタラクティブコンテンツ472をさらに生成する。領域363のコンテンツに関連するインタラクティブコンテンツ生成システム130によって生成されたコンテンツは、ディスプレイスクリーン440にその他のコンテンツを重ね合わせる第1のグラフィカルな「カード」470内に与えられる。領域461Aのコンテンツに関連するインタラクティブコンテンツ生成システム130によって生成されたコンテンツは、ディスプレイスクリーン440にその他のコンテンツをやはり重ね合わせる視覚的に別個の第2のグラフィカルな「カード」475内に与えられる。カード470および475の生成および/またはフォーマットは、インタラクティブコンテンツ生成システム130および/またはレンダエンジン125によって実行される可能性がある。
【００７４】
ここで図3を参照すると、コンピューティングデバイス上に表示されたコンテンツを領域にセグメント分けし、コンピューティングデバイスを介してユーザに提示するために与えるインタラクティブコンテンツを領域のうちの1つに基づいて生成する別の例が、示される。図3において、スクリーンショットキャプチャエンジン122は、コンピューティングデバイスのディスプレイスクリーンを介してユーザに与えられる表示の少なくとも一部をキャプチャするスクリーンショット画像301をキャプチャする。スクリーンショットキャプチャエンジン122は、スクリーンショット画像301をセグメント分けエンジン123に与える。
【００７５】
セグメント分けエンジン123は、スクリーンショット画像の1つまたは複数の領域を決定し、領域の各々に対応するセマンティックタイプを割り当てるためにスクリーンショット画像301の複数のピクセルを分析する。セグメント分けエンジン123は、スクリーンショット画像の領域および/または領域のセマンティックタイプを決定するために様々な技術を利用する可能性がある。
【００７６】
セグメント分けエンジン123は、領域のうちの1つおよび領域のセマンティックタイプ302をインターフェースエンジン124に与える。インターフェースエンジン124は、領域および領域のセマンティックタイプの指示302をアクション決定エンジン144に与える。一部の実装において、インターフェースエンジン124は、領域を対象とするロングタップまたはその他の選択などの、領域を特に対象とする、ユーザインターフェース入力モジュール126によって与えられたユーザインターフェース入力に応答して領域および領域のセマンティックタイプの指示302を与える。
【００７７】
アクション決定エンジン144は、領域の与えられたセマンティックタイプに基づいて実行され得る1つまたは複数のコンピュータに基づくアクションを決定する。たとえば、「画像」のセマンティックタイプを有する領域に関して、アクション決定エンジン144は、ユーザのコンピューティングデバイスが決定された領域の複数のピクセルを(ローカルにもしくは遠隔に)保存し、それらのピクセルを(たとえば、電子メール、テキスト、チャットによって)共有し、ならびに/またはその領域に基づいてさらなるインタラクティブコンテンツの認識のためおよび/もしくは生成のための遠隔のサーバに送信されるようにそれらのピクセルを指定することを可能にするインタラクティブコンテンツを与える可能性がある。これは、ユーザのコンピューティングデバイスがユーザの表示の特定の領域に焦点を絞られた1つまたは複数のアクションを実行することを可能にする。
【００７８】
アクション決定エンジン144は、インタラクティブコンテンツ304を提示するレンダエンジン125にインタラクティブコンテンツ304を与える。
【００７９】
ここで図4Eに目を向けると、図3の例および本明細書において説明されるその他の実装の特定の実装が、さらに詳細に説明される。図4Eは、コンピューティングデバイス420と、ディスプレイスクリーン440を介してユーザに対して表示するために与えられ得るインタラクティブコンテンツとを示す。インタラクティブコンテンツは、花の画像を包含する領域463 (図4B)を特に対象とするユーザインターフェース入力に応答して与えられる可能性がある。たとえば、ユーザは、図4Aの表示を見ながらユーザインターフェース入力を与える可能性がある。ユーザインターフェース入力は、たとえば、その領域の「ロングタップ」もしくは「ロングクリック」またはその領域を対象とする言葉による入力(たとえば、言葉による入力「スクリーン上の画像を選択して」)である可能性がある。
【００８０】
領域463に対象とするユーザインターフェース入力に基づいて、インターフェースエンジン124は、領域463および領域のセマンティックタイプの指示をアクション決定エンジン144に与える可能性がある。アクション決定エンジン144は、セマンティックタイプを有する領域上で実行され得るコンピュータのアクションを決定し、および/または領域463に対応するピクセルを抽出するための命令を決定する可能性がある。アクション決定エンジン144は、ポップアップウィンドウ476内に示されるグラフィカルな要素「画像を保存」、「画像を共有」、および「この画像を検索」などのインタラクティブコンテンツをさらに生成する。
【００８１】
アクション決定エンジン134は、グラフィカルな要素「画像を保存」の選択がコンピューティングデバイス420にローカルのまたは遠隔のストレージ媒体に保存するために領域463の1つまたは複数の(たとえば、すべての)ピクセルを自動的に抽出させる--および画像を自動的に保存させるかまたはユーザが画像をどこに保存したいかを指定するための1つもしくは複数のさらなるインターフェースをユーザに提示させるかのどちらかを行わせるようにそのグラフィカルな要素「画像を保存」を生成する可能性がある。アクション決定エンジン134は、グラフィカルな要素「画像を共有」の選択がコンピューティングデバイス420に電子メール、チャット、またはその他の通信に投入するための領域463の1つまたは複数の(たとえば、すべての)ピクセルを自動的に抽出させる--および画像を通信に自動的に投入させるかまたはどの種類の通信にその画像が投入されるべきかを指定するための1つもしくは複数のさらなるインターフェースをユーザに提示させるかのどちらかを行わせるようにそのグラフィカルな要素「画像を共有」を生成する可能性がある。アクション決定エンジン134は、グラフィカルな要素「画像を検索」の選択がコンピューティングデバイス420に領域463の1つまたは複数の(たとえば、すべての)ピクセルに基づいて検索を行わせるようにそのグラフィカルな要素「画像を検索」を生成する可能性がある。さらに、インタラクティブコンテンツが領域463を対象とし、その領域463のユーザの選択に基づいて与えられることをユーザに知らせるフィードバックをコンピューティングデバイスのユーザに与えるために、領域463に合う指示473が与えられる。
【００８２】
図5は、ヒューリスティック粒子エクストラクタを利用してスクリーンショット画像を1つまたは複数の領域にセグメント分けする例示的な方法500を示す流れ図である。便宜上、流れ図の動作は、動作を実行するシステムに関連して説明される。このシステムは、セグメント分けエンジン123などの様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法500の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加され得る。
【００８３】
ブロック552において、システムが、スクリーンショット画像を受け取る。スクリーンショット画像は、ユーザのコンピューティングデバイスによってユーザに与えられた表示の少なくとも一部をキャプチャする。実施例として、システムが図4Bのスクリーンショット画像460を受け取ると仮定する。
【００８４】
ブロック554において、システムが、スクリーンショット画像にセルのグリッドを重ね合わせる。一部の実装において、セルのグリッドは、きめの粗いおよび/または正方形のセルである可能性がある。たとえば、セルのグリッドは、それぞれが0.1"×0.1"未満など(たとえば、0.9"×0.9")、0.2"×0.2"未満である正方形セルである可能性がある。実施例について続けると、図6Aは、図4Bのスクリーンショット画像460の一部(つまり、花を包含する部分)を示し、スクリーンショット画像460の上に重ね合わされる可能性があるセルのグリッドを示す。解説を容易にするために、図6Aのグリッドセルは、様々な実装においてそれらが実際にそうであるであろうよりも大きく示される。
【００８５】
ブロック556において、システムが、セルによって包含されるピクセルに基づいてセルの各々を分類する。一部の実装において、グリッドの複数のセルの各々に関して、システムは、セルによって包含される画像のピクセルのサブセット(たとえば、2.6%など、10%未満)を分析し、ピクセルのサブセットの分析に基づいてセルを分類する。一部の実装において、サブセットのピクセルは、Halton列および/またはSobol列を利用する擬似ランダムサブサンプリングに基づいて選択されたピクセルなどのまばらに散った低食い違い擬似ランダムピクセル(sparsely scattered low-discrepancy quasi-random pixels)である可能性がある。
【００８６】
システムは、各セルを、そのセルが複数の候補分類のうちのどれに属するかに従って分類する。たとえば、セルは、「写真」かまたは「写真以外」かのどちらかとして2項分類される可能性がある。実施例について続けると、図6Aは、「写真以外」として分類されたそれらのセルを陰影を付けて示し、「写真」として分類されたそれらのセルを陰影を付けずに示す。たとえば、セル61は、「写真」として分類され、セル62は、「写真以外」として分類される。
【００８７】
システムは、所与のセルを分類するために1つまたは複数の技術を利用する可能性がある。たとえば、一部の実装において、セルは、分析されたピクセルの一意の色の数のカウントおよび/または一意の色のうちの1つもしくは複数の各々に関して存在するピクセルの量に基づいて「写真」または「写真以外」に分類される可能性がある。たとえば、ピクセルの少なくとも閾値の数の一意の色がセル内に存在するおよび/または少なくとも閾値の数のピクセルが一意の色のうちの1つまたは複数に関して存在する場合、セルは、「写真」として分類される可能性がある。別の例として、セルのピクセルは、ピクセルのグループに基づいて分類を予測するように訓練された訓練された分類器に入力として与えられる可能性がある。分類のために利用される技術と無関係に、セルの分類は、対応する分類をそれぞれが割り当てられるセルの行列をもたらす。
【００８８】
ブロック558において、システムが、セルの分類に基づいて境界ボックスを生成する。たとえば、2項分類において、システムは、「肯定的」セルを包み込み、すべての交差する境界ボックスを合併する可能性がある。システムは、任意で、サイズの閾値を満たすことができないすべての境界ボックスを破棄する可能性がある。実施例について続けると、図6Bは図6Aのグリッドセルを示し、境界ボックス63も示される。境界ボックス63は、ブロック558において生成される可能性があり、スクリーンショット画像460の複数の領域のうちの1つを定義する。
【００８９】
ブロック560において、システムが、境界ボックスに基づいてスクリーンショット画像に関するセマンティック領域を定義する。スクリーンショット画像が1つまたは複数のブロックによる分析の前に縮小された場合、システムは、領域を定義する際に境界ボックスを元のスクリーンショットの解像度に拡大する可能性がある。(任意で拡大された)境界ボックスは、元のスクリーンショット内の領域の位置を特定する。システムは、それらの領域のセマンティックラベルを特定するために、境界ボックスを生成するために利用された分類を利用する可能性がある。実施例について続けると、システムは、「写真」として分類されたセルに基づいて生成される境界ボックス63に基づいて、「写真」またはその他の画像を示すセマンティックラベルを有する図6Bの境界ボックス63に基づく領域を定義する可能性がある。一部の実装において、システムは、検出された大雑把なエッジの近隣で正確なエッジを探すことによって領域の大雑把なエッジを微調整する可能性もある。所与の領域のエッジがシステムによって微調整されるかどうかは、システムによる領域の意図される使用に依存する可能性がある。たとえば、エッジを微調整することは、認識エンジンによる領域の分析には不必要である可能性があるが、領域が抽出され、保存され、別のユーザに送信されるべきであるときなどには望ましい可能性がある。
【００９０】
一部の実装において、システムは、ブロック556および558などの1つまたは複数のブロックにおいてグリッドのセルの一部を処理する。たとえば、ユーザの選択(たとえば、表示上のタップ)の位置が「付随的入力」としてシステムに与えられる場合、グリッドセルの分析は、ユーザの選択の位置に対応するグリッドセルにおいて始まる可能性がある。境界ボックスが大きくなり続ける限り(つまり、少なくとも1つの方向の隣接するセルが同じ分類を有する限り)、分析は隣接するセルに進む。境界ボックスが任意の方向に大きくなるのをやめるとき、その方向のその境界ボックスの可能な拡大の限界を超えて延びるグリッドセルは分析されない。境界ボックスがすべての方向に大きくなるのをやめるとき、グリッドセルの分析は完全に停止され得る。これらの実装の一部においては、ユーザインターフェース入力に対応するスクリーンショット画像の特定の領域が、その特定の領域の外にある多くのセル内のピクセルの分析を必要とすることなく決定される可能性がある。
【００９１】
図7は、コンピューティングデバイス上に表示されるコンテンツを領域にセグメント分けし、領域の1つまたは複数の特徴に基づいて領域に対して1つまたは複数のアクションを実行する例示的な方法700を示す流れ図である。このシステムは、スクリーンショットセグメント分けシステム121、コンテンツルータエンジン128、コンテンツ認識エンジン129A〜C、および/またはインタラクティブコンテンツ生成システム130の1つまたは複数の構成要素などの様々なコンピュータシステムの様々な構成要素を含む可能性がある。さらに、方法700の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加され得る。
【００９２】
ブロック752において、システムが、コンピューティングデバイスによって与えられた表示の少なくとも一部のスクリーンショット画像をキャプチャする。
【００９３】
ブロック754において、システムが、スクリーンショット画像のピクセルに基づいて画像を複数の領域にセグメント分けする。システムは、スクリーンショット画像の領域を決定するために様々な技術を利用する。たとえば、一部の実装において、システムは、訓練された機械学習モデルを含むかまたは訓練された機械学習モデルと通信し、訓練された機械学習モデルは、領域を決定するためにシステムによって利用される可能性がある。一部の実装において、システムは、スクリーンショット画像の領域を決定するためのヒューリスティック粒子エクストラクタを実装する。
【００９４】
ブロック756において、システムが、第1の領域の少なくとも1つの第1の特徴を決定し、第2の領域の少なくとも1つの第2の特徴を決定する。一部の実装において、第1の特徴は、第1のセマンティックタイプであり、第2の特徴は、第2のセマンティックタイプである。一部の実装において、第1の領域および/または第2の領域の特徴は、スクリーンショット画像内の対応する領域の絶対的なサイズ、スクリーンショット画像内の対応する領域の相対的なサイズ、スクリーンショット画像内の対応する領域の位置、およびスクリーンショット画像の対応する領域のピクセルの密度を含む。
【００９５】
ブロック758において、システムが、第1の領域が第1の特徴を有することに基づいて第1の領域に対して特定のアクションを実行する。たとえば、システムは、第1の領域が第1の特徴を有することに基づいてコンテンツ認識エンジンによるコンテンツの認識のために第1の領域のピクセルを与え、第1の領域が第1の特徴を有することに基づいて第1の特徴に適合された特定のコンテンツ認識エンジンによるコンテンツの認識のために第1の領域のピクセルを与える可能性があり、第1の領域のピクセルの保存、1つもしくは複数の通信における第1の領域のピクセルの送信、1つもしくは複数のコンテンツ認識エンジンへの第1の領域のピクセルの送信、および/またはその他のアクションを引き起こすためにユーザインターフェース入力によって第1の領域が選択されることを可能にする可能性がある。
【００９６】
一部の実装において、システムは、第2の領域が第2の特徴を有しおよび/または第1の特徴を持たないことに基づいて第2の領域に対して特定のアクションを実行しない。たとえば、第2の特徴が「なし/ヌル」セマンティックラベルである場合、第2の領域のピクセルは、いかなるコンテンツ認識エンジンにも送信されない可能性がある。また、たとえば、第2の特徴が第1の特徴であるセマンティックラベルと異なるセマンティックラベルである場合、第2の領域のピクセルは、--第1のアクションが対象とする可能性がある異なるコンテンツ認識エンジンに第2の領域のいかなるピクセルも送信せずに--コンテンツ認識エンジンに送信される可能性がある。
【００９７】
図8は、本明細書において説明される技術の1つまたは複数の態様を実行するために任意で利用され得る例示的なコンピューティングデバイス810のブロック図である。一部の実装においては、コンピューティングデバイス120、インタラクティブコンテンツ生成システム130、および/またはその他の構成要素が、例示的なコンピューティングデバイス810の1つまたは複数の構成要素を含む可能性がある。
【００９８】
概して、コンピューティングデバイス810は、バスサブシステム812を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ814を含む。これらの周辺デバイスは、たとえば、メモリサブシステム825およびファイルストレージサブシステム826を含むストレージサブシステム824、ユーザインターフェース出力デバイス820、ユーザインターフェース入力デバイス822、ならびにネットワークインターフェースサブシステム816を含む可能性がある。入力および出力デバイスは、コンピューティングデバイス810とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム816は、外部ネットワークへのインターフェースを提供し、その他のコンピューティングデバイスの対応するインターフェースデバイスに結合される。
【００９９】
ユーザインターフェース入力デバイス822は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含み得る。概して、用語「入力デバイス」の使用は、コンピューティングデバイス810または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１００】
ユーザインターフェース出力デバイス820は、ディスプレイサブシステム、プリンタ、ファックスマシン、または音声出力デバイスなどの非視覚的表示を含み得る。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含み得る。ディスプレイサブシステムは、音声出力デバイスなどの非視覚的表示を与える可能性もある。概して、用語「出力デバイス」の使用は、コンピューティングデバイス810からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１０１】
ストレージサブシステム824は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造体を記憶する。たとえば、ストレージサブシステム824は、図5および/または図7の方法の選択された態様を実行するための論理を含み得る。
【０１０２】
これらのソフトウェアモジュールは、概して、プロセッサ814によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム824において使用されるメモリ825は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM) 830と、決まった命令が記憶される読み出し専用メモリ(ROM) 832とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム826は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体を伴うフロッピー(登録商標)ディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含み得る。特定の実装の機能を実装するモジュールは、ストレージサブシステム824内のファイルストレージサブシステム826によって、またはプロセッサ814によりアクセスされ得るその他のマシンに記憶される可能性がある。
【０１０３】
バスサブシステム812は、コンピューティングデバイス810の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム812は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
【０１０４】
コンピューティングデバイス810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類である可能性がある。コンピュータおよびネットワークの変わり続ける性質が原因で、図8に示されたコンピューティングデバイス810の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図8に示されたコンピューティングデバイスよりも多くのまたは図8に示されたコンピューティングデバイスよりも少ない構成要素を有するコンピューティングデバイス810の多くのその他の構成が、可能である。
【０１０５】
本明細書において説明されたシステムがユーザについての個人情報を収集するかまたは個人情報を利用し得る状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルなアクションもしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受け取るべきかどうかおよび/またはどのようにして受け取るべきかを制御する機会を与えられる可能性がある。また、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザの識別情報が、個人を特定できる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される可能性があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理される可能性がある。したがって、ユーザは、情報がユーザについてどのように収集されるかおよび/または使用されるかを制御し得る。
【０１０６】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/または結果および/もしくは利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、特許請求されたのとは異なる方法で実施され得ることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せが、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【符号の説明】
【０１０７】
61  セル
62  セル
63  境界ボックス
120  コンピューティングデバイス
121  スクリーンショットセグメント分けシステム
122  スクリーンショットキャプチャエンジン
123  セグメント分けエンジン
124  インターフェースエンジン
125  レンダエンジン
126  ユーザインターフェース入力モジュール
127  アプリケーション
128  コンテンツルータエンジン
129A〜C  コンテンツ認識エンジン
130  インタラクティブコンテンツ生成システム
132  エンティティ決定エンジン
134  アクション決定エンジン
136  エンティティおよびアクションデータベース
140  インタラクティブコンテンツ生成システム
142  エンティティ決定エンジン
144  アクション決定エンジン
201  スクリーンショット画像
202  領域のうちの1つおよび領域のセマンティックタイプ
203  ピクセルおよび領域のセマンティックタイプの指示
204  領域からのピクセル
205  コンテンツの指示
206  エンティティ
207  インタラクティブコンテンツ
301  スクリーンショット画像
302  領域のうちの1つおよび領域のセマンティックタイプ
304  インタラクティブコンテンツ
420  コンピューティングデバイス
440  ディスプレイスクリーン
441  システムインターフェース要素
442  システムインターフェース要素
443  システムインターフェース要素
444  第1のテキストコンテンツ
445  第2のテキストコンテンツ
446  第1の画像
447  返答インターフェース要素
460  スクリーンショット画像
461A  領域
461B  領域
462A  領域
463  領域
465  領域
470  グラフィカルな要素、グラフィカルなカード
472  非インタラクティブコンテンツ
473  指示
474A  グラフィカルな要素
474B  グラフィカルな要素
474C  グラフィカルな要素
475  グラフィカルなカード
476  ポップアップウィンドウ
477  グラフィカルな要素
500  方法
700  方法
810  コンピューティングデバイス
812  バスサブシステム
814  プロセッサ
816  ネットワークインターフェースサブシステム
820  ユーザインターフェース出力デバイス
822  ユーザインターフェース入力デバイス
824  ストレージサブシステム
825  メモリサブシステム
826  ファイルストレージサブシステム
830  主RAM
832  ROM
【図１】
2019522838.tif 000003
【図２】
2019522838.tif 000004
【図３】
2019522838.tif 000005
【図４Ａ】
2019522838.tif 000006
【図４Ｂ】
2019522838.tif 000007
【図４Ｃ】
2019522838.tif 000008
【図４Ｄ】
2019522838.tif 000009
【図４Ｅ】
2019522838.tif 000010
【図５】
2019522838.tif 000011
【図６Ａ】
2019522838.tif 000012
【図６Ｂ】
2019522838.tif 000013
【図７】
2019522838.tif 000014
【図８】
2019522838.tif 000015
【手続補正書】
【提出日】平成30年12月17日(2018.12.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザのコンピューティングデバイスによって前記ユーザに与えられた表示の少なくとも一部をキャプチャするスクリーンショット画像を1つまたは複数のプロセッサによってキャプチャするステップと、
前記スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップであって、前記スクリーンショット画像の複数のピクセルに基づいて前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域に第1のセマンティックタイプを割り当てるステップであって、前記第1の領域の複数の前記ピクセルに基づいて前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域および前記第1の領域の前記第1のセマンティックタイプに基づいてインタラクティブコンテンツを、前記プロセッサのうちの1つまたは複数によって生成するステップと、
前記コンピューティングデバイスのユーザインターフェース入力デバイスまたは別のユーザインターフェース入力デバイスを介して前記ユーザによって与えられた特定のユーザインターフェース入力を、前記プロセッサのうちの1つまたは複数によって特定するステップであって、前記特定のユーザインターフェース入力が、前記第1の領域のサブセットに対応する前記表示の一部を対象とする、ステップと、
前記特定のユーザインターフェース入力が前記第1の領域の前記サブセットに対応する前記表示の前記一部を対象とすることに基づいて、かつ前記特定のユーザインターフェース入力を特定することに応じて、前記ユーザの前記コンピューティングデバイスを介して前記ユーザに提示するために前記インタラクティブコンテンツを、前記プロセッサのうちの1つまたは複数によって与えるステップとを含み、
前記ユーザの前記コンピューティングデバイスのユーザインターフェース入力デバイスを介した前記インタラクティブコンテンツのユーザの選択が、前記ユーザの前記コンピューティングデバイスに
前記第2の領域のピクセルのいずれも送信せずに前記第1の領域の1つもしくは複数のピクセルを送信させるか、
前記第2の領域の前記ピクセルのいずれも保存せずに前記第1の領域の複数の前記ピクセルを1つもしくは複数のコンピュータ可読記憶媒体に保存させるか、または
前記第1の領域の複数の前記ピクセルを含み、前記第2の領域の前記ピクセルのいずれも含まない電子的な通信を生成させる方法。
【請求項２】
前記インタラクティブコンテンツが、前記ユーザインターフェース入力デバイスを介して選択されるときに前記コンピューティングデバイスに前記第2の領域の前記ピクセルのいずれも保存せずに前記第1の領域の前記複数の前記ピクセルを前記1つまたは複数のコンピュータ可読記憶媒体に保存させるグラフィカルな要素を含む請求項1に記載の方法。
【請求項３】
前記インタラクティブコンテンツが、前記ユーザインターフェース入力デバイスを介して選択されるときに前記コンピューティングデバイスに前記第1の領域の前記複数の前記ピクセルを含み、前記第2の領域の前記ピクセルのいずれも含まない電子的な通信を生成させるグラフィカルな要素を含む請求項1に記載の方法。
【請求項４】
前記インタラクティブコンテンツを生成するステップが、前記第1の領域および前記第1の領域の前記第1のセマンティックタイプに基づき、前記第2の領域に依存せず、
前記ユーザの前記コンピューティングデバイスを介して前記ユーザに提示するために前記インタラクティブコンテンツを与えるステップが、前記第2の領域に基づいて決定されるいかなるインタラクティブコンテンツも与えることなく前記インタラクティブコンテンツを、前記プロセッサのうちの1つまたは複数によって与えるステップを含む請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記プロセッサが、前記コンピューティングデバイスの1つまたは複数のコンピューティングデバイスプロセッサおよび前記コンピューティングデバイスの遠隔にある1つまたは複数のリモートプロセッサを含み、
前記スクリーンショット画像をキャプチャする前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなり、
前記インタラクティブコンテンツを生成する前記1つまたは複数のプロセッサが、前記リモートプロセッサのうちの1つまたは複数を含む請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記スクリーンショット画像を少なくとも前記第1の領域および前記第2の領域にセグメント分けする前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなる請求項5に記載の方法。
【請求項７】
前記第2の領域の前記ピクセルのいずれも前記リモートプロセッサの第1のグループに送信することなく前記第1の領域の前記複数の前記ピクセルを前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって前記リモートプロセッサの前記第1のグループに送信するステップをさらに含む請求項6に記載の方法。
【請求項８】
前記第1の領域に前記第1のセマンティックタイプを割り当てる前記1つまたは複数のプロセッサが、前記コンピューティングデバイスプロセッサのうちの1つまたは複数からなる請求項7に記載の方法。
【請求項９】
前記第1の領域の前記第1のセマンティックタイプを前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって前記リモートプロセッサの前記第1のグループに送信するステップと、
前記コンピューティングデバイスプロセッサのうちの1つまたは複数によって、前記第1の領域の前記第1のセマンティックタイプに基づいて前記リモートプロセッサの前記第1のグループを選択するステップとのうちの少なくとも1つをさらに含む請求項8に記載の方法。
【請求項１０】
前記スクリーンショット画像内の前記第1の領域の追加的な特徴を前記プロセッサのうちの1つまたは複数によって決定するステップをさらに含み、
前記インタラクティブコンテンツを生成するステップが、前記追加的な特徴にさらに基づく請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記インタラクティブコンテンツを生成するステップが、閾値を満たす前記追加的な特徴に依存する請求項10に記載の方法。
【請求項１２】
前記追加的な特徴が、前記スクリーンショット画像内の前記第1の領域の絶対的なサイズ、前記スクリーンショット画像内の前記第1の領域の相対的なサイズ、前記スクリーンショット画像内の前記第1の領域の位置、および前記スクリーンショット画像内の前記第1の領域の前記ピクセルの密度のうちの1つを示す請求項11に記載の方法。
【請求項１３】
前記スクリーンショット画像を少なくとも前記第1の領域および前記第2の領域にセグメント分けするステップが、
前記スクリーンショット画像の前記ピクセルの一意のグループをそれぞれが含む複数のセルに前記スクリーンショット画像を、前記プロセッサのうちの1つまたは複数によって区分けするステップと、
複数の前記セルの各々に関して、
前記セルによって含まれる前記ピクセルの前記一意のグループのピクセルのサブセットに基づいて前記セルに関して複数の分類のうちの対応する1つを、前記プロセッサのうちの1つまたは複数によって決定するステップと、
前記セルに関して決定された分類に基づいて前記第1の領域を、前記プロセッサのうちの1つまたは複数によって決定するステップとを含む請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記第1の領域を決定するステップが、
前記分類のうちの第1の分類を有する複数の前記セルをそれぞれが包含する1つまたは複数の最小の境界ボックスに基づいて前記第1の領域を、前記プロセッサのうちの1つまたは複数によって決定するステップを含む請求項13に記載の方法。
【請求項１５】
前記複数のセルのうちの所与のセルに関して前記分類を決定するステップが、
擬似ランダム選択プロセスに基づいて前記セルによって含まれるピクセルの前記サブセットを、前記プロセッサのうちの1つまたは複数によって決定するステップと、
特定の色であるピクセルの前記サブセットのカウントに基づいて前記分類を、前記プロセッサのうちの1つまたは複数によって決定するステップとを含む請求項13または請求項14に記載の方法。
【請求項１６】
コンピューティングデバイスによってユーザに与えられた表示の少なくとも一部をキャプチャするスクリーンショット画像を前記コンピューティングデバイスの1つまたは複数のプロセッサによってキャプチャするステップと、
前記スクリーンショット画像を少なくとも第1の領域および第2の領域にセグメント分けするステップであって、前記スクリーンショット画像の複数のピクセルに基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第1の領域の少なくとも1つの第1の特徴を決定するステップであって、前記第1の領域の複数のピクセル、前記第1の領域のサイズ、および前記第1の領域の位置のうちの1つまたは複数に基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記第2の領域の少なくとも1つの第2の特徴を決定するステップであって、前記第2の領域の複数のピクセル、前記第2の領域のサイズ、および前記第2の領域の位置のうちの1つまたは複数に基づいて前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって行われる、ステップと、
前記コンピューティングデバイスの前記プロセッサのうちの1つまたは複数によって、前記第1の領域が前記第1の特徴を有することに基づいて前記第1の領域の複数の前記ピクセルをコンテンツ認識エンジンに与えるステップとを含み、
前記第2の領域の前記ピクセルが、前記第2の領域が前記第2の特徴を有することに基づいていかなるコンテンツ認識エンジンにも与えられない方法。
【請求項１７】
前記第1の特徴が、第1のセマンティックラベルであり、前記第2の特徴が、第2のセマンティックラベルである請求項16に記載の方法。
【請求項１８】
前記第2の領域の前記ピクセルが、前記第2の領域が前記第2の特徴を有することに基づいていかなるさらなるアクションに関しても与えられない請求項16に記載の方法。
【請求項１９】
請求項1から18のいずれか一項に記載の方法を実行するように構成された装置。
【請求項２０】
コンピューティング装置によって実行されるときに前記コンピューティング装置に請求項1から18のいずれか一項に記載の方法を実行させる機械可読命令を含むコンピュータプログラム。
【国際調査報告】
2019522838.tif 000016
2019522838.tif 000017
2019522838.tif 000018